From 198ebe67c68a46d9b06d97217e1f2a556dee6e87 Mon Sep 17 00:00:00 2001 From: naji <naji@cines.fr> Date: Wed, 12 Jan 2022 18:06:30 +0100 Subject: [PATCH] changes to be in pr vitam-ui --- .../dev/keystore_archive-search-external.jks | Bin 3874 -> 3873 bytes .../main/resources/dev/truststore_server.jks | Bin 3626 -> 3626 bytes .../dev/keystore_archive-search-internal.jks | Bin 3873 -> 3875 bytes .../main/resources/dev/truststore_server.jks | Bin 3626 -> 3626 bytes .../resources/dev/keystore_iam-external.jks | Bin 3862 -> 3862 bytes .../main/resources/dev/truststore_server.jks | Bin 3297 -> 3626 bytes .../resources/dev/keystore_iam-internal.jks | Bin 3863 -> 3863 bytes .../main/resources/dev/truststore_server.jks | Bin 3297 -> 3626 bytes .../dev/keystore_ingest-external.jks | Bin 3867 -> 3869 bytes .../main/resources/dev/truststore_server.jks | Bin 3626 -> 3626 bytes api/api-pastis/pastis-client/pom.xml | 105 + .../client/PastisRestClientFactory.java | 66 + .../PastisTransformationRestClient.java | 169 + api/api-pastis/pastis-commons/pom.xml | 150 + .../pastis/common/dto/ElementProperties.java | 147 + .../vitamui/pastis/common/dto/ElementRNG.java | 214 + .../pastis/common/dto/JsonFromRng.java | 82 + .../vitamui/pastis/common/dto/PuaData.java | 58 + .../dto/factory/AbstractTagFactory.java | 51 + .../common/dto/factory/AnnotationTag.java | 55 + .../common/dto/factory/AttributeTag.java | 46 + .../common/dto/factory/CardinalityTag.java | 46 + .../dto/factory/CardinalityTagFactory.java | 83 + .../pastis/common/dto/factory/ChoiceTag.java | 45 + .../pastis/common/dto/factory/DataTag.java | 54 + .../common/dto/factory/DataTagFactory.java | 72 + .../common/dto/factory/DocumentationTag.java | 54 + .../pastis/common/dto/factory/ElementTag.java | 46 + .../pastis/common/dto/factory/GrammarTag.java | 60 + .../pastis/common/dto/factory/GroupTag.java | 45 + .../common/dto/factory/OneOrMoreTag.java | 46 + .../common/dto/factory/OptionalTag.java | 45 + .../dto/factory/PastisFactoryTagProvider.java | 59 + .../pastis/common/dto/factory/RngTag.java | 85 + .../common/dto/factory/RngTagFactory.java | 234 + .../pastis/common/dto/factory/StartTag.java | 46 + .../pastis/common/dto/factory/Tag.java | 70 + .../pastis/common/dto/factory/ValueTag.java | 70 + .../common/dto/factory/ValueTagFactory.java | 56 + .../common/dto/factory/ZeroOrMoreTag.java | 45 + .../common/dto/factory/package-info.java | 54 + .../pastis/common/dto/jaxb/AnnotationXML.java | 56 + .../pastis/common/dto/jaxb/AnyNameXML.java | 46 + .../pastis/common/dto/jaxb/AttributeXML.java | 56 + .../pastis/common/dto/jaxb/BaliseXML.java | 342 + .../pastis/common/dto/jaxb/ChoiceXml.java | 46 + .../pastis/common/dto/jaxb/DataXML.java | 55 + .../common/dto/jaxb/DocumentationXML.java | 61 + .../pastis/common/dto/jaxb/ElementXML.java | 58 + .../pastis/common/dto/jaxb/ExceptXML.java | 46 + .../pastis/common/dto/jaxb/GrammarXML.java | 68 + .../pastis/common/dto/jaxb/GroupXML.java | 45 + .../pastis/common/dto/jaxb/NsNameXML.java | 52 + .../pastis/common/dto/jaxb/OneOrMoreXML.java | 45 + .../pastis/common/dto/jaxb/OptionalXML.java | 45 + .../pastis/common/dto/jaxb/StartXML.java | 45 + .../pastis/common/dto/jaxb/ValueXML.java | 71 + .../pastis/common/dto/jaxb/ZeroOrMoreXML.java | 46 + .../pastis/common/dto/jaxb/package-info.java | 54 + .../pastis/common/dto/profiles/Notice.java | 154 + .../common/dto/profiles/PastisProfile.java | 93 + .../common/dto/profiles/ProfileNotice.java | 54 + .../common/dto/profiles/ProfileResponse.java | 51 + .../ProfileTransformationRequest.java | 57 + .../common/dto/profiles/ProfileType.java | 47 + .../pastis/common/dto/pua/PuaMetadata.java | 62 + .../common/dto/pua/PuaMetadataDetails.java | 59 + .../pastis/common/dto/seda/SedaNode.java | 65 + .../vitamui/pastis/common/rest/RestApi.java | 59 + .../pastis/common/service/JsonFromPUA.java | 332 + .../pastis/common/service/PuaDefinitions.java | 76 + .../pastis/common/service/PuaFromJSON.java | 121 + .../common/service/PuaPastisValidator.java | 550 + .../common/util/FileSystemResource.java | 55 + .../pastis/common/util/ManifestValidator.java | 110 + .../pastis/common/util/NoticeUtils.java | 105 + .../common/util/OrderedJSONObjectFactory.java | 75 + .../PastisCustomCharacterEscapeHandler.java | 94 + .../common/util/PastisGetXmlJsonTree.java | 132 + .../pastis/common/util/PastisMarshaller.java | 84 + .../pastis/common/util/PastisSAX2Handler.java | 151 + .../pastis/common/util/PropertiesUtils.java | 118 + .../pastis/common/util/RNGConstants.java | 401 + .../common/util/RNGProfileValidator.java | 97 + .../common/util/XMLInputFactoryUtils.java | 51 + .../pastis-standalone/build-standalone.sh | 6 + api/api-pastis/pastis-standalone/pom.xml | 319 + .../ApiPastisStandaloneApplication.java | 58 + .../config/PastisConfiguration.java | 102 + .../controller/PastisController.java | 181 + .../src/main/resources/application.yml | 57 + .../main/resources/standalone/PASTIS-APP.url | 2 + .../main/resources/standalone/angular.json | 181 + .../standalone/app.configuration.interface.ts | 41 + .../main/resources/standalone/package.json | 173 + .../src/main/resources/standalone/readme.txt | 4 + .../resources/standalone/startup.service.ts | 221 + .../resources/standalone/theme.service.ts | 192 + .../standalone/ProfileControllerTest.java | 97 + .../src/test/resources/application.properties | 16 + api/api-pastis/pastis/pom.xml | 435 + api/api-pastis/pastis/run.sh | 6 + .../server/ApiPastisServerApplication.java | 74 + .../ApiPastisApplicationProperties.java | 63 + .../server/config/ApiPastisServerConfig.java | 139 + .../pastis/server/rest/PastisController.java | 158 + .../server/security/WebSecurityConfig.java | 62 + .../pastis/server/service/PastisService.java | 372 + .../src/main/resources/application-dev.yml | 84 + .../main/resources/application-standalone.yml | 35 + .../src/main/resources/application-test.yml | 71 + .../pastis/src/main/resources/application.yml | 34 + .../dev/keystore_pastis-external.jks | Bin 0 -> 3867 bytes .../main/resources/dev/truststore_server.jks | Bin 0 -> 3626 bytes .../pua_validation/archiveUnitSeda.json | 7391 ++++++++ .../pua_validation/pua_defitions.json | 10 + .../resources/pua_validation/valid_pa.json | 15 + .../resources/pua_validation/valid_pua.json | 16 + .../resources/rng/AUP_default_PASTIS.json | 19 + .../rng/AUP_default_PASTIS_test.json | 19 + .../src/main/resources/rng/AUP_test_long.json | 19 + .../resources/rng/AUP_with_management.json | 19 + .../resources/rng/AUP_without_management.json | 19 + .../src/main/resources/rng/PA_UPPA_versio.rng | 834 + .../src/main/resources/rng/ProfilCouzCouz.rng | 148 + .../resources/rng/Profil_seda_pastis_mvp.rng | 107 + .../rng/Profil_seda_pastis_mvp34.rng | 107 + .../pastis/src/main/resources/xsd/full.xsd | 188 + .../src/main/resources/xsd/full_last.xsd | 187 + .../src/main/resources/xsd/full_test.xsd | 214 + .../src/main/resources/xsd/relaxng2.xsd | 357 + .../src/main/resources/xsd/rng_cines.xsd | 459 + .../pastis/src/main/resources/xsd/vitam.xsd | 1589 ++ .../main/resources/xsd_validation/catalog.xml | 7 + .../main/resources/xsd_validation/xlink.xsd | 277 + .../src/main/resources/xsd_validation/xml.xsd | 331 + .../server/ApiPastisApplicationTest.java | 61 + .../server/SwaggerJsonFileGenerationTest.java | 96 + .../config/ApiPastisServerConfigTest.java | 93 + .../pastis/server/service/ImportPuaTest.java | 167 + .../server/service/ManifestValidatorTest.java | 140 + .../pastis/server/service/PastisTest.java | 116 + .../service/RNGProfileValidatorTest.java | 141 + .../pastis/src/test/resources/application.yml | 36 + .../test/resources/manifests/jsonProfile.json | 4148 +++++ .../test/resources/manifests/manifestNOK.xml | 1139 ++ .../test/resources/manifests/manifestOK.xml | 1140 ++ .../test/resources/manifests/rngProfile.rng | 851 + .../test/resources/profiles/profile_nok.rng | 875 + .../test/resources/profiles/profile_ok.rng | 884 + .../resources/pua/Profil_seda_pastis_mvp.rng | 107 + .../test/resources/pua/fileNodeFromPua.json | 0 .../test/resources/pua/profile_Expected.json | 255 + .../pua/profile_Expected_with_management.json | 347 + .../pua/pua_NOK_both_management_present.json | 19 + .../pua/pua_NOK_missing_definitions.json | 19 + .../pua/pua_NOK_missing_management.json | 19 + .../pua/pua_NOK_missing_properties.json | 19 + .../pastis/src/test/resources/pua/pua_OK.json | 19 + .../resources/pua/pua_OK_with_management.json | 19 + .../resources/rng/Profil_seda_pastis_mvp.rng | 107 + .../src/test/resources/rng/ProfileJson.json | 3125 ++++ .../src/test/resources/rng/profile3.rng | 845 + api/api-pastis/pom.xml | 23 + .../common/dto/ArchivalProfileUnitDto.java | 30 + .../dto/ArchivalProfileUnitResponseDto.java | 7 + .../referential/common/dto/ProfileDto.java | 9 +- .../ArchivalProfileUnit.java | 94 + .../ArchivalProfileUnitCollection.java | 55 + .../ArchivalProfileUnitXMLRootDto.java | 71 + .../InternalSignatureCollection.java | 56 + .../profile/InternalSignatureCollection.java | 56 + .../common/dto/xml/profile/Profile.java | 94 + .../dto/xml/profile/ProfileCollection.java | 55 + .../dto/xml/profile/ProfileXMLRootDto.java | 71 + .../referential/common/rest/RestApi.java | 17 +- .../VitamArchivalProfileUnitService.java | 229 + .../common/service/VitamProfileService.java | 252 + ...ArchivalProfileUnitExternalRestClient.java | 97 + .../ArchivalProfileUnitExternalWebClient.java | 80 + .../client/ProfileExternalRestClient.java | 109 +- .../client/ProfileExternalWebClient.java | 79 + .../ReferentialExternalRestClientFactory.java | 4 + .../ReferentialExternalWebClientFactory.java | 14 +- .../referential-external/run.sh | 2 +- .../config/ApiReferentialServerConfig.java | 15 + ...ArchivalProfileUnitExternalController.java | 192 + .../rest/ProfileExternalController.java | 165 +- .../ArchivalProfileUnitExternalService.java | 142 + .../service/ProfileExternalService.java | 90 +- .../src/main/resources/application-dev.yml | 4 +- .../dev/keystore_referential-external.jks | Bin 3869 -> 3872 bytes .../main/resources/dev/truststore_server.jks | Bin 3297 -> 3626 bytes .../ArchivalProfileInternalWebClient.java | 80 + ...ArchivalProfileUnitInternalRestClient.java | 93 + .../client/ProfileInternalRestClient.java | 80 +- .../client/ProfileInternalWebClient.java | 92 + .../ReferentialInternalRestClientFactory.java | 4 + .../ReferentialInternalWebClientFactory.java | 14 +- .../referential-internal/run.sh | 2 +- .../dev-vitam/access-external-client.conf | 11 + .../dev-vitam/ingest-external-client.conf | 11 + .../dev-vitam/keystore_access-external.p12 | Bin 0 -> 4494 bytes .../dev-vitam/truststore_access-external.jks | Bin 0 -> 16978 bytes .../ArchivalProfileUnitConverter.java | 34 + .../ArchivalProfileUnitInternalService.java | 255 + .../config/ApiReferentialServerConfig.java | 22 +- .../server/config/ConverterConfig.java | 6 + .../server/profile/ProfileConverter.java | 13 +- .../profile/ProfileInternalService.java | 274 +- ...ArchivalProfileUnitInternalController.java | 125 + .../rest/ProfileInternalController.java | 151 +- api/pom.xml | 1 + .../vitamui/commons/api/CommonConstants.java | 2 + .../vitamui/commons/api/domain/IdDto.java | 2 + .../commons/api/domain/ServicesData.java | 35 +- deployment/app_pastis.yml | 29 + .../all/vault-keystores.yml.example | 2 + deployment/pki/scripts/generate_certs.sh | 2 + deployment/pki/scripts/generate_certs_dev.sh | 2 + .../mongod/1.0.0/101_iam_system_demo.js | 3 +- .../1.0.0/220_cas_services_pastis_ref.js.j2 | 28 + .../1.0.0/221_pastis_application_ref.js.j2 | 63 + .../mongod/1.0.0/222_pastis_profile_ref.js.j2 | 32 + .../1.0.0/223_security_pastis_ref.js.j2 | 29 + ...ecurity.populate_certificates_pastis.js.j2 | 28 + .../scripts/mongod/1.0.0/307_iam_ref.js.j2 | 17 + deployment/vitamui_pastis.yml | 24 + .../localhost/archive-search-external.crt | 196 +- .../localhost/archive-search-external.key | 100 +- .../localhost/archive-search-external.pem | 58 +- .../localhost/archive-search-internal.crt | 196 +- .../localhost/archive-search-internal.key | 100 +- .../localhost/archive-search-internal.pem | 58 +- .../server/hosts/localhost/cas-server.crt | 196 +- .../server/hosts/localhost/cas-server.key | 100 +- .../server/hosts/localhost/cas-server.pem | 58 +- .../server/hosts/localhost/iam-external.crt | 196 +- .../server/hosts/localhost/iam-external.key | 100 +- .../server/hosts/localhost/iam-external.pem | 58 +- .../server/hosts/localhost/iam-internal.crt | 196 +- .../server/hosts/localhost/iam-internal.key | 100 +- .../server/hosts/localhost/iam-internal.pem | 58 +- .../hosts/localhost/ingest-external.crt | 192 +- .../hosts/localhost/ingest-external.key | 100 +- .../hosts/localhost/ingest-external.pem | 58 +- .../hosts/localhost/ingest-internal.crt | 192 +- .../hosts/localhost/ingest-internal.key | 100 +- .../hosts/localhost/ingest-internal.pem | 58 +- .../hosts/localhost/pastis-external.crt | 111 + .../hosts/localhost/pastis-external.key | 52 + .../hosts/localhost/pastis-external.pem | 31 + .../hosts/localhost/referential-external.crt | 196 +- .../hosts/localhost/referential-external.key | 100 +- .../hosts/localhost/referential-external.pem | 58 +- .../hosts/localhost/referential-internal.crt | 196 +- .../hosts/localhost/referential-internal.key | 100 +- .../hosts/localhost/referential-internal.pem | 58 +- .../certs/server/hosts/localhost/reverse.crt | 196 +- .../certs/server/hosts/localhost/reverse.key | 100 +- .../certs/server/hosts/localhost/reverse.pem | 58 +- .../hosts/localhost/security-internal.crt | 196 +- .../hosts/localhost/security-internal.key | 100 +- .../hosts/localhost/security-internal.pem | 58 +- .../hosts/localhost/ui-archive-search.crt | 196 +- .../hosts/localhost/ui-archive-search.key | 100 +- .../hosts/localhost/ui-archive-search.pem | 58 +- .../hosts/localhost/ui-identity-admin.crt | 196 +- .../hosts/localhost/ui-identity-admin.key | 100 +- .../hosts/localhost/ui-identity-admin.pem | 58 +- .../server/hosts/localhost/ui-identity.crt | 196 +- .../server/hosts/localhost/ui-identity.key | 100 +- .../server/hosts/localhost/ui-identity.pem | 58 +- .../server/hosts/localhost/ui-ingest.crt | 192 +- .../server/hosts/localhost/ui-ingest.key | 100 +- .../server/hosts/localhost/ui-ingest.pem | 58 +- .../server/hosts/localhost/ui-pastis.crt | 111 + .../server/hosts/localhost/ui-pastis.key | 52 + .../server/hosts/localhost/ui-pastis.pem | 31 + .../server/hosts/localhost/ui-portal.crt | 196 +- .../server/hosts/localhost/ui-portal.key | 100 +- .../server/hosts/localhost/ui-portal.pem | 58 +- .../server/hosts/localhost/ui-referential.crt | 196 +- .../server/hosts/localhost/ui-referential.key | 100 +- .../server/hosts/localhost/ui-referential.pem | 58 +- .../environments/certs/vault-ca.yml | 54 +- .../environments/certs/vault-certs.yml | 167 +- .../certs/vault-certs.yml.example | 22 +- .../group_vars/all/vault-keystores.yml | 112 +- .../all/vault-keystores.yml.example | 2 + dev-deployment/environments/hosts | 4 + .../client-external/keystore_customer_x.p12 | Bin 4498 -> 4498 bytes .../client-external/truststore_external.jks | Bin 7146 -> 7146 bytes .../client-vitam/keystore_vitamui.p12 | Bin 4476 -> 4476 bytes .../client-vitam/truststore_vitam.jks | Bin 7122 -> 7122 bytes .../keystore_archive-search-external.jks | Bin 3874 -> 3873 bytes .../keystore_archive-search-internal.jks | Bin 3873 -> 3875 bytes .../server/localhost/keystore_cas-server.jks | Bin 3862 -> 3860 bytes .../localhost/keystore_iam-external.jks | Bin 3862 -> 3862 bytes .../localhost/keystore_iam-internal.jks | Bin 3863 -> 3863 bytes .../localhost/keystore_ingest-external.jks | Bin 3866 -> 3869 bytes .../localhost/keystore_ingest-internal.jks | Bin 3867 -> 3866 bytes .../localhost/keystore_pastis-external.jks | Bin 0 -> 3867 bytes .../keystore_referential-external.jks | Bin 3869 -> 3872 bytes .../keystore_referential-internal.jks | Bin 3870 -> 3870 bytes .../server/localhost/keystore_reverse.jks | Bin 3858 -> 3858 bytes .../localhost/keystore_security-internal.jks | Bin 3867 -> 3868 bytes .../localhost/keystore_ui-archive-search.jks | Bin 3867 -> 3868 bytes .../localhost/keystore_ui-identity-admin.jks | Bin 3868 -> 3867 bytes .../server/localhost/keystore_ui-identity.jks | Bin 3860 -> 3863 bytes .../server/localhost/keystore_ui-ingest.jks | Bin 3859 -> 3860 bytes .../server/localhost/keystore_ui-pastis.jks | Bin 0 -> 3861 bytes .../server/localhost/keystore_ui-portal.jks | Bin 3861 -> 3859 bytes .../localhost/keystore_ui-referential.jks | Bin 3865 -> 3867 bytes .../keystores/server/truststore_server.jks | Bin 3626 -> 3626 bytes dev-deployment/pki/config/server/index.txt | 119 + dev-deployment/pki/config/server/serial | 2 +- tools/docker/mongo/hosts | 9 + tools/docker/mongo/mongo_vars_dev.yml | 2 + ui/pom.xml | 1 + .../dev/keystore_ui-archive-search.jks | Bin 3867 -> 3868 bytes .../resources/dev/keystore_ui-referential.jks | Bin 3865 -> 3867 bytes .../main/resources/dev/truststore_server.jks | Bin 3626 -> 3626 bytes .../vitamui/ui/commons/property/BaseUrl.java | 2 + .../commons/service/ApplicationService.java | 1 + ui/ui-frontend-common/icomoon-selection.json | 2 +- ui/ui-frontend-common/pom.xml | 72 + .../src/app/modules/application-id.enum.ts | 1 + .../src/sass/icons/fonts/vitamui-icon.eot | Bin 83276 -> 85184 bytes .../src/sass/icons/fonts/vitamui-icon.svg | 12 + .../src/sass/icons/fonts/vitamui-icon.ttf | Bin 83092 -> 85000 bytes .../src/sass/icons/fonts/vitamui-icon.woff | Bin 83168 -> 85076 bytes .../src/sass/icons/vitamui-icons.css | 63 +- ui/ui-frontend/angular.json | 281 + ui/ui-frontend/package.json | 17 +- ui/ui-frontend/pom.xml | 54 + ui/ui-frontend/projects/pastis/browserslist | 12 + .../projects/pastis/e2e/protractor.conf.js | 32 + .../projects/pastis/e2e/src/app.e2e-spec.ts | 23 + .../projects/pastis/e2e/src/app.po.ts | 11 + .../projects/pastis/e2e/tsconfig.json | 13 + .../projects/pastis/karma.conf.ci.js | 14 + .../projects/pastis/ngsw-config.json | 29 + .../pastis/src/app/app-routing.module.ts | 97 + .../pastis/src/app/app.component.html | 10 + .../pastis/src/app/app.component.scss | 17 + .../pastis/src/app/app.component.spec.ts | 91 + .../projects/pastis/src/app/app.component.ts | 77 + .../projects/pastis/src/app/app.module.ts | 129 + .../src/app/core/api/api.pastis.service.ts | 96 + .../src/app/core/api/api.service.spec.ts | 49 + .../pastis/src/app/core/classes/icons.ts | 58 + .../pastis/src/app/core/classes/models.ts | 52 + .../app/core/classes/pastis-configuration.ts | 65 + .../src/app/core/classes/pastis-route-api.ts | 76 + .../pastis/src/app/core/core.module.ts | 101 + .../archival-profile-unit-api.service.ts | 92 + .../services/archive-profile-api.service.ts | 103 + .../app/core/services/file.service.spec.ts | 49 + .../src/app/core/services/file.service.ts | 406 + .../pastis/src/app/core/services/index.ts | 39 + .../app/core/services/notification.service.ts | 85 + .../app/core/services/popup.service.spec.ts | 49 + .../src/app/core/services/popup.service.ts | 70 + .../services/profile-vitam.service.spec.ts | 55 + .../core/services/profile-vitam.service.ts | 113 + .../app/core/services/profile.service.spec.ts | 49 + .../src/app/core/services/profile.service.ts | 304 + .../services/register-icons.service.spec.ts | 49 + .../core/services/register-icons.service.ts | 62 + .../app/core/services/seda.service.spec.ts | 49 + .../src/app/core/services/seda.service.ts | 228 + .../services/toggle-sidenav.service.spec.ts | 49 + .../core/services/toggle-sidenav.service.ts | 61 + .../projects/pastis/src/app/json-typings.d.ts | 4 + .../pastis/src/app/main/main.component.html | 32 + .../pastis/src/app/main/main.component.scss | 48 + .../src/app/main/main.component.spec.ts | 62 + .../pastis/src/app/main/main.component.ts | 145 + .../pastis/src/app/material.module.ts | 94 + .../src/app/models/archival-profile-unit.ts | 17 + .../pastis/src/app/models/breadcrumb.ts | 12 + .../src/app/models/edit-attribute-models.ts | 52 + .../pastis/src/app/models/file-node.ts | 131 + .../src/app/models/metadata-validator.ts | 52 + .../app/models/profile-description.model.ts | 18 + .../pastis/src/app/models/profile-response.ts | 11 + .../projects/pastis/src/app/models/profile.ts | 23 + .../src/app/models/pua-definitions.model.ts | 55 + .../pastis/src/app/models/pua.model.ts | 10 + .../src/app/models/pua.propreties.model.ts | 7 + .../pastis/src/app/models/seda-data.ts | 88 + .../src/app/notice/notice.component.html | 95 + .../src/app/notice/notice.component.scss | 186 + .../src/app/notice/notice.component.spec.ts | 63 + .../pastis/src/app/notice/notice.component.ts | 179 + .../src/app/pastis/pastis-routing.module.ts | 101 + .../src/app/pastis/pastis.component.html | 31 + .../src/app/pastis/pastis.component.scss | 1 + .../pastis/src/app/pastis/pastis.component.ts | 72 + .../pastis/src/app/pastis/pastis.module.ts | 117 + .../create-profile.component.html | 17 + .../create-profile.component.scss | 25 + .../create-profile.component.spec.ts | 62 + .../create-profile.component.ts | 88 + .../edit-profile/edit-profile.component.html | 84 + .../edit-profile/edit-profile.component.scss | 179 + .../edit-profile.component.spec.ts | 62 + .../edit-profile/edit-profile.component.ts | 285 + .../attributes/attributes.component.html | 88 + .../attributes/attributes.component.scss | 179 + .../attributes/attributes.component.spec.ts | 62 + .../attributes/attributes.component.ts | 329 + .../attributes/attributes.service.spec.ts | 49 + .../attributes/attributes.service.ts | 46 + .../center-matmenu.directive.spec.ts | 10 + .../center-matmenu.directive.ts | 111 + .../file-tree-metadata.component.html | 240 + .../file-tree-metadata.component.scss | 571 + .../file-tree-metadata.component.spec.ts | 62 + .../file-tree-metadata.component.ts | 693 + .../file-tree-metadata.service.spec.ts | 49 + .../file-tree-metadata.service.ts | 260 + .../file-tree/file-tree.component.html | 77 + .../file-tree/file-tree.component.scss | 227 + .../file-tree/file-tree.component.spec.ts | 62 + .../file-tree/file-tree.component.ts | 793 + .../file-tree/file-tree.module.ts | 87 + .../file-tree/file-tree.service.ts | 57 + .../pipes/file-tree-filter.pipe.spec.ts | 45 + .../file-tree/pipes/file-tree-filter.pipe.ts | 49 + .../list-profile/list-profile.component.html | 135 + .../list-profile/list-profile.component.scss | 251 + .../list-profile.component.spec.ts | 62 + .../list-profile/list-profile.component.ts | 302 + .../profile-information-tab.component.css | 0 .../profile-information-tab.component.html | 55 + .../profile-information-tab.component.spec.ts | 25 + .../profile-information-tab.component.ts | 136 + .../profile-preview.component.css | 3 + .../profile-preview.component.html | 47 + .../profile-preview.component.spec.ts | 25 + .../profile-preview.component.ts | 174 + .../profile-preview/profile-preview.module.ts | 49 + .../src/app/profile/profile.component.html | 1 + .../src/app/profile/profile.component.scss | 0 .../src/app/profile/profile.component.spec.ts | 62 + .../src/app/profile/profile.component.ts | 52 + .../pastis/src/app/profile/profile.module.ts | 93 + .../pastis/src/app/seda-visualizer.service.ts | 51 + .../seda-visualizer.component.html | 11 + .../seda-visualizer.component.scss | 9 + .../seda-visualizer.component.spec.ts | 62 + .../seda-visualizer.component.ts | 287 + .../data-generique-popup.service.spec.ts | 16 + .../shared/data-generique-popup.service.ts | 19 + .../pastis-breadcrumb.component.html | 33 + .../pastis-breadcrumb.component.scss | 19 + .../pastis-breadcrumb.component.ts | 81 + .../pastis-title-breadcrumb.component.html | 43 + .../pastis-title-breadcrumb.component.scss | 9 + .../pastis-title-breadcrumb.component.ts | 64 + .../classes/pastis-dialog-data.ts | 53 + .../pastis-dialog-confirm.component.html | 31 + .../pastis-dialog-confirm.component.scss | 160 + .../pastis-dialog-confirm.component.spec.ts | 62 + .../pastis-dialog-confirm.component.ts | 115 + .../pastis-generic-popup.component.html | 12 + .../pastis-generic-popup.component.scss | 88 + .../pastis-generic-popup.component.spec.ts | 25 + .../pastis-generic-popup.component.ts | 56 + .../pastis-popup-selection.service.spec.ts | 16 + .../pastis-popup-selection.service.ts | 11 + ...pastis-notice-toggle-button.component.html | 5 + ...pastis-notice-toggle-button.component.scss | 72 + ...tis-notice-toggle-button.component.spec.ts | 25 + .../pastis-notice-toggle-button.component.ts | 34 + ...astis-notice-toggle-button.service.spec.ts | 54 + .../pastis-notice-toggle-button.service.ts | 54 + ...tis-popup-metadata-language.component.html | 19 + ...tis-popup-metadata-language.component.scss | 80 + ...-popup-metadata-language.component.spec.ts | 63 + ...astis-popup-metadata-language.component.ts | 74 + ...is-popup-metadata-language.service.spec.ts | 54 + .../pastis-popup-metadata-language.service.ts | 51 + .../pastis-popup-option.component.html | 33 + .../pastis-popup-option.component.scss | 14 + .../pastis-popup-option.component.spec.ts | 25 + .../pastis-popup-option.component.ts | 66 + .../pastis-spinner-interceptor.ts | 134 + .../pastis-spinner.component.css | 0 .../pastis-spinner.component.html | 10 + .../pastis-spinner.component.scss | 89 + .../pastis-spinner.component.spec.ts | 62 + .../pastis-spinner.component.ts | 64 + .../pastis-toggle-button.component.html | 22 + .../pastis-toggle-button.component.scss | 176 + .../pastis-toggle-button.component.spec.ts | 25 + .../pastis-toggle-button.component.ts | 33 + .../pastis-toogle-button.service.spec.ts | 12 + .../services/pastis-toogle-button.service.ts | 20 + .../pastis-under-construction.component.html | 11 + .../pastis-under-construction.component.scss | 32 + ...astis-under-construction.component.spec.ts | 62 + .../pastis-under-construction.component.ts | 52 + .../pastis/src/app/shared/shared.module.ts | 97 + .../add-metadata/add-metadata.component.html | 62 + .../add-metadata/add-metadata.component.scss | 165 + .../add-metadata.component.spec.ts | 62 + .../add-metadata/add-metadata.component.ts | 202 + .../create-notice.component.html | 79 + .../create-notice.component.scss | 212 + .../create-notice.component.spec.ts | 25 + .../create-notice/create-notice.component.ts | 158 + .../download-doc/download-doc.component.html | 3 + .../download-doc/download-doc.component.scss | 18 + .../download-doc.component.spec.ts | 25 + .../download-doc/download-doc.component.ts | 52 + .../duplicate-metadata.component.css | 0 .../duplicate-metadata.component.html | 0 .../duplicate-metadata.component.spec.ts | 25 + .../duplicate-metadata.component.ts | 22 + .../remove-metadata.component.html | 0 .../remove-metadata.component.scss | 0 .../remove-metadata.component.spec.ts | 62 + .../remove-metadata.component.ts | 58 + .../save-profile-options.component.html | 32 + .../save-profile-options.component.scss | 229 + .../save-profile-options.component.spec.ts | 25 + .../save-profile-options.component.ts | 120 + .../save-profile/save-profile.component.html | 3 + .../save-profile/save-profile.component.scss | 21 + .../save-profile.component.spec.ts | 62 + .../save-profile/save-profile.component.ts | 402 + .../upload-profile.component.html | 9 + .../upload-profile.component.scss | 63 + .../upload-profile.component.spec.ts | 62 + .../upload-profile.component.ts | 81 + .../app/user-actions/user-actions.module.ts | 78 + .../projects/pastis/src/assets/.gitkeep | 0 .../src/assets/config/config-standalone.json | 14 + .../src/assets/config/config-vitam-ui.json | 29 + .../pastis/src/assets/css/_buttons.scss | 189 + .../pastis/src/assets/css/_colors.scss | 50 + .../pastis/src/assets/css/_dropdown.scss | 140 + .../projects/pastis/src/assets/css/_font.scss | 451 + .../pastis/src/assets/css/_input.scss | 33 + .../pastis/src/assets/css/_layout.scss | 390 + .../pastis/src/assets/css/_mixins.scss | 241 + .../pastis/src/assets/css/_toaster.scss | 122 + .../pastis/src/assets/css/_variables.scss | 3 + .../src/assets/css/angular-material.min.css | 6 + ...tandalone - Documentation APP - PASTIS.pdf | Bin 0 -> 941221 bytes .../VITAM UI - Documentation APP - PASTIS.pdf | Bin 0 -> 755598 bytes .../pastis/src/assets/i18n-old/en.json | 124 + .../pastis/src/assets/i18n-old/fr.json | 127 + .../projects/pastis/src/assets/i18n/en.json | 3169 ++++ .../projects/pastis/src/assets/i18n/fr.json | 3194 ++++ .../pastis/src/assets/js/class-diagram.js | 468 + .../projects/pastis/src/assets/js/d3.min.js | 5 + .../pastis/src/assets/js/multiline-text.js | 172 + .../pastis/src/assets/json/AUP_OK_VITAM.json | 180 + .../src/assets/json/MongoPUAcomplet.json | 28 + .../src/assets/lib/angular-route.min.js | 15 + .../src/assets/lib/angular-route.min.js.map | 8 + .../pastis/src/assets/pastis-logo7.png | Bin 0 -> 37754 bytes .../pastis/src/assets/pastis-marseille.jpg | Bin 0 -> 212907 bytes .../src/assets/pastis-marseille_blue_crop.jpg | Bin 0 -> 72118 bytes .../projects/pastis/src/assets/pastis7.png | Bin 0 -> 30400 bytes .../projects/pastis/src/assets/seda.json | 14026 ++++++++++++++++ .../pastis/src/assets/seda_lower.json | 13676 +++++++++++++++ .../src/assets/svg/icons/active-icon.svg | 22 + .../src/assets/svg/icons/arrow-right.svg | 5 + .../src/assets/svg/icons/attribute_icon.png | Bin 0 -> 10753 bytes .../pastis/src/assets/svg/icons/check.svg | 4 + .../src/assets/svg/icons/chevron-down.svg | 3 + .../src/assets/svg/icons/close-popup.svg | 4 + .../src/assets/svg/icons/close-sidenav.svg | 18 + .../svg/icons/complex-element-white.svg | 6 + .../svg/icons/complex-element-white2.svg | 10 + .../src/assets/svg/icons/complex-element.png | Bin 0 -> 338 bytes .../src/assets/svg/icons/complex-element.svg | 6 + .../src/assets/svg/icons/complex_icon.png | Bin 0 -> 15079 bytes .../assets/svg/icons/drop-box-arrow-vitam.svg | 5 + .../src/assets/svg/icons/drop-box-arrow.svg | 5 + .../src/assets/svg/icons/import-icon.svg | 8 + .../src/assets/svg/icons/inactive-icon.svg | 22 + .../src/assets/svg/icons/info-black.svg | 5 + .../src/assets/svg/icons/info-white.svg | 5 + .../assets/svg/icons/pastis-picto-retour.svg | 6 + .../pastis/src/assets/svg/icons/plus-blue.svg | 5 + .../pastis/src/assets/svg/icons/plus-grey.svg | 5 + .../pastis/src/assets/svg/icons/save.svg | 9 + .../pastis/src/assets/svg/icons/setting.svg | 8 + .../src/assets/svg/icons/simple_icon.png | Bin 0 -> 15644 bytes .../pastis/src/environments/IEnvironment.ts | 42 + .../src/environments/environment.dev.ts | 43 + .../src/environments/environment.prod.ts | 56 + .../src/environments/environment.rec.ts | 43 + .../src/environments/environment.rpm.ts | 45 + .../environments/environment.standalone.ts | 57 + .../pastis/src/environments/environment.ts | 56 + .../projects/pastis/src/favicon.ico | Bin 0 -> 2270 bytes ui/ui-frontend/projects/pastis/src/index.html | 25 + ui/ui-frontend/projects/pastis/src/main.ts | 48 + .../projects/pastis/src/polyfills.ts | 64 + .../projects/pastis/src/sass/_buttons.scss | 189 + .../projects/pastis/src/sass/_colors.scss | 50 + .../projects/pastis/src/sass/_dropdown.scss | 140 + .../projects/pastis/src/sass/_font.scss | 451 + .../projects/pastis/src/sass/_input.scss | 33 + .../projects/pastis/src/sass/_layout.scss | 390 + .../projects/pastis/src/sass/_mixins.scss | 241 + .../projects/pastis/src/sass/_toaster.scss | 122 + .../projects/pastis/src/sass/_variables.scss | 3 + .../projects/pastis/src/sass/login.scss | 139 + .../projects/pastis/src/sass/styles.scss | 9 + ui/ui-frontend/projects/pastis/src/test.ts | 20 + .../projects/pastis/src/zone-flags.ts | 37 + .../projects/pastis/tsconfig.app.json | 15 + .../projects/pastis/tsconfig.doc.json | 10 + .../projects/pastis/tsconfig.spec.json | 19 + ui/ui-frontend/projects/pastis/tslint.json | 17 + .../projects/pastis/xliffmerge.json | 27 + .../app/components/icons/icons.component.html | 62 +- ui/ui-frontend/proxy.conf.json | 6 + ui/ui-frontend/tsconfig.json | 2 + .../dev/keystore_ui-identity-admin.jks | Bin 3868 -> 3867 bytes .../resources/dev/keystore_ui-referential.jks | Bin 3865 -> 3867 bytes .../main/resources/dev/truststore_server.jks | Bin 3297 -> 3626 bytes .../main/resources/dev/keystore_ui-ingest.jks | Bin 3859 -> 3860 bytes .../resources/dev/keystore_ui-referential.jks | Bin 3865 -> 3867 bytes .../main/resources/dev/truststore_server.jks | Bin 3626 -> 3626 bytes ui/ui-pastis/pom.xml | 223 + ui/ui-pastis/run.sh | 6 + .../vitamui/pastis/PastisApplication.java | 71 + .../pastis/config/DefaultProfileUtil.java | 88 + .../config/PastisApplicationProperties.java | 59 + .../config/PastisContextConfiguration.java | 125 + .../pastis/rest/ApiErrorController.java | 48 + .../rest/ArchivalProfileUnitController.java | 221 + .../pastis/rest/ForwardController.java | 53 + .../vitamui/pastis/rest/PastisController.java | 126 + .../pastis/rest/ProfileController.java | 251 + .../service/ArchivalProfileUnitService.java | 127 + .../service/PastisTransformationService.java | 133 + .../pastis/service/ProfileService.java | 129 + .../src/main/resources/application-dev.yml | 167 + .../main/resources/application-recette.yml | 13 + .../src/main/resources/application.yml | 52 + .../src/main/resources/assets/logo.png | Bin 0 -> 13689 bytes .../src/main/resources/assets/logo_FOOTER.png | Bin 0 -> 7058 bytes .../src/main/resources/assets/logo_HEADER.png | Bin 0 -> 7058 bytes .../src/main/resources/assets/logo_PORTAL.png | Bin 0 -> 13689 bytes .../src/main/resources/assets/logo_USER.png | Bin 0 -> 9138 bytes .../main/resources/dev/keystore_ui-pastis.jks | Bin 0 -> 3861 bytes .../src/main/resources/dev/logback.xml | 49 + .../main/resources/dev/truststore_server.jks | Bin 0 -> 3626 bytes .../PastisApplicationPropertiesTest.java | 67 + .../src/test/resources/application.yml | 104 + .../main/resources/dev/keystore_ui-portal.jks | Bin 3861 -> 3859 bytes .../resources/dev/keystore_ui-referential.jks | Bin 3865 -> 3867 bytes .../main/resources/dev/truststore_server.jks | Bin 3297 -> 3626 bytes .../resources/dev/keystore_ui-referential.jks | Bin 3865 -> 3867 bytes .../main/resources/dev/truststore_server.jks | Bin 3297 -> 3626 bytes 665 files changed, 103086 insertions(+), 3293 deletions(-) create mode 100644 api/api-pastis/pastis-client/pom.xml create mode 100644 api/api-pastis/pastis-client/src/main/java/fr/gouv/vitamui/pastis/client/PastisRestClientFactory.java create mode 100644 api/api-pastis/pastis-client/src/main/java/fr/gouv/vitamui/pastis/client/PastisTransformationRestClient.java create mode 100644 api/api-pastis/pastis-commons/pom.xml create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/ElementProperties.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/ElementRNG.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/JsonFromRng.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/PuaData.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/AbstractTagFactory.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/AnnotationTag.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/AttributeTag.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/CardinalityTag.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/CardinalityTagFactory.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/ChoiceTag.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/DataTag.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/DataTagFactory.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/DocumentationTag.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/ElementTag.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/GrammarTag.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/GroupTag.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/OneOrMoreTag.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/OptionalTag.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/PastisFactoryTagProvider.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/RngTag.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/RngTagFactory.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/StartTag.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/Tag.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/ValueTag.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/ValueTagFactory.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/ZeroOrMoreTag.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/package-info.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/AnnotationXML.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/AnyNameXML.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/AttributeXML.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/BaliseXML.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/ChoiceXml.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/DataXML.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/DocumentationXML.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/ElementXML.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/ExceptXML.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/GrammarXML.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/GroupXML.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/NsNameXML.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/OneOrMoreXML.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/OptionalXML.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/StartXML.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/ValueXML.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/ZeroOrMoreXML.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/package-info.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/Notice.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/PastisProfile.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/ProfileNotice.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/ProfileResponse.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/ProfileTransformationRequest.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/ProfileType.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/pua/PuaMetadata.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/pua/PuaMetadataDetails.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/seda/SedaNode.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/rest/RestApi.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/service/JsonFromPUA.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/service/PuaDefinitions.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/service/PuaFromJSON.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/service/PuaPastisValidator.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/FileSystemResource.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/ManifestValidator.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/NoticeUtils.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/OrderedJSONObjectFactory.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/PastisCustomCharacterEscapeHandler.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/PastisGetXmlJsonTree.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/PastisMarshaller.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/PastisSAX2Handler.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/PropertiesUtils.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/RNGConstants.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/RNGProfileValidator.java create mode 100644 api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/XMLInputFactoryUtils.java create mode 100644 api/api-pastis/pastis-standalone/build-standalone.sh create mode 100644 api/api-pastis/pastis-standalone/pom.xml create mode 100644 api/api-pastis/pastis-standalone/src/main/java/fr/gouv/vitamui/pastis/standalone/ApiPastisStandaloneApplication.java create mode 100644 api/api-pastis/pastis-standalone/src/main/java/fr/gouv/vitamui/pastis/standalone/config/PastisConfiguration.java create mode 100644 api/api-pastis/pastis-standalone/src/main/java/fr/gouv/vitamui/pastis/standalone/controller/PastisController.java create mode 100644 api/api-pastis/pastis-standalone/src/main/resources/application.yml create mode 100644 api/api-pastis/pastis-standalone/src/main/resources/standalone/PASTIS-APP.url create mode 100644 api/api-pastis/pastis-standalone/src/main/resources/standalone/angular.json create mode 100644 api/api-pastis/pastis-standalone/src/main/resources/standalone/app.configuration.interface.ts create mode 100644 api/api-pastis/pastis-standalone/src/main/resources/standalone/package.json create mode 100644 api/api-pastis/pastis-standalone/src/main/resources/standalone/readme.txt create mode 100644 api/api-pastis/pastis-standalone/src/main/resources/standalone/startup.service.ts create mode 100644 api/api-pastis/pastis-standalone/src/main/resources/standalone/theme.service.ts create mode 100644 api/api-pastis/pastis-standalone/src/test/java/fr/gouv/vitamui/pastis/standalone/ProfileControllerTest.java create mode 100644 api/api-pastis/pastis-standalone/src/test/resources/application.properties create mode 100644 api/api-pastis/pastis/pom.xml create mode 100755 api/api-pastis/pastis/run.sh create mode 100644 api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/ApiPastisServerApplication.java create mode 100644 api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/config/ApiPastisApplicationProperties.java create mode 100644 api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/config/ApiPastisServerConfig.java create mode 100644 api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/rest/PastisController.java create mode 100644 api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/security/WebSecurityConfig.java create mode 100644 api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/service/PastisService.java create mode 100644 api/api-pastis/pastis/src/main/resources/application-dev.yml create mode 100644 api/api-pastis/pastis/src/main/resources/application-standalone.yml create mode 100644 api/api-pastis/pastis/src/main/resources/application-test.yml create mode 100644 api/api-pastis/pastis/src/main/resources/application.yml create mode 100644 api/api-pastis/pastis/src/main/resources/dev/keystore_pastis-external.jks create mode 100644 api/api-pastis/pastis/src/main/resources/dev/truststore_server.jks create mode 100644 api/api-pastis/pastis/src/main/resources/pua_validation/archiveUnitSeda.json create mode 100644 api/api-pastis/pastis/src/main/resources/pua_validation/pua_defitions.json create mode 100644 api/api-pastis/pastis/src/main/resources/pua_validation/valid_pa.json create mode 100644 api/api-pastis/pastis/src/main/resources/pua_validation/valid_pua.json create mode 100644 api/api-pastis/pastis/src/main/resources/rng/AUP_default_PASTIS.json create mode 100644 api/api-pastis/pastis/src/main/resources/rng/AUP_default_PASTIS_test.json create mode 100644 api/api-pastis/pastis/src/main/resources/rng/AUP_test_long.json create mode 100644 api/api-pastis/pastis/src/main/resources/rng/AUP_with_management.json create mode 100644 api/api-pastis/pastis/src/main/resources/rng/AUP_without_management.json create mode 100644 api/api-pastis/pastis/src/main/resources/rng/PA_UPPA_versio.rng create mode 100644 api/api-pastis/pastis/src/main/resources/rng/ProfilCouzCouz.rng create mode 100644 api/api-pastis/pastis/src/main/resources/rng/Profil_seda_pastis_mvp.rng create mode 100644 api/api-pastis/pastis/src/main/resources/rng/Profil_seda_pastis_mvp34.rng create mode 100644 api/api-pastis/pastis/src/main/resources/xsd/full.xsd create mode 100644 api/api-pastis/pastis/src/main/resources/xsd/full_last.xsd create mode 100644 api/api-pastis/pastis/src/main/resources/xsd/full_test.xsd create mode 100644 api/api-pastis/pastis/src/main/resources/xsd/relaxng2.xsd create mode 100644 api/api-pastis/pastis/src/main/resources/xsd/rng_cines.xsd create mode 100644 api/api-pastis/pastis/src/main/resources/xsd/vitam.xsd create mode 100644 api/api-pastis/pastis/src/main/resources/xsd_validation/catalog.xml create mode 100644 api/api-pastis/pastis/src/main/resources/xsd_validation/xlink.xsd create mode 100644 api/api-pastis/pastis/src/main/resources/xsd_validation/xml.xsd create mode 100644 api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/ApiPastisApplicationTest.java create mode 100644 api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/SwaggerJsonFileGenerationTest.java create mode 100644 api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/config/ApiPastisServerConfigTest.java create mode 100644 api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/service/ImportPuaTest.java create mode 100644 api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/service/ManifestValidatorTest.java create mode 100644 api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/service/PastisTest.java create mode 100644 api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/service/RNGProfileValidatorTest.java create mode 100644 api/api-pastis/pastis/src/test/resources/application.yml create mode 100644 api/api-pastis/pastis/src/test/resources/manifests/jsonProfile.json create mode 100644 api/api-pastis/pastis/src/test/resources/manifests/manifestNOK.xml create mode 100644 api/api-pastis/pastis/src/test/resources/manifests/manifestOK.xml create mode 100644 api/api-pastis/pastis/src/test/resources/manifests/rngProfile.rng create mode 100644 api/api-pastis/pastis/src/test/resources/profiles/profile_nok.rng create mode 100644 api/api-pastis/pastis/src/test/resources/profiles/profile_ok.rng create mode 100644 api/api-pastis/pastis/src/test/resources/pua/Profil_seda_pastis_mvp.rng create mode 100644 api/api-pastis/pastis/src/test/resources/pua/fileNodeFromPua.json create mode 100644 api/api-pastis/pastis/src/test/resources/pua/profile_Expected.json create mode 100644 api/api-pastis/pastis/src/test/resources/pua/profile_Expected_with_management.json create mode 100644 api/api-pastis/pastis/src/test/resources/pua/pua_NOK_both_management_present.json create mode 100644 api/api-pastis/pastis/src/test/resources/pua/pua_NOK_missing_definitions.json create mode 100644 api/api-pastis/pastis/src/test/resources/pua/pua_NOK_missing_management.json create mode 100644 api/api-pastis/pastis/src/test/resources/pua/pua_NOK_missing_properties.json create mode 100644 api/api-pastis/pastis/src/test/resources/pua/pua_OK.json create mode 100644 api/api-pastis/pastis/src/test/resources/pua/pua_OK_with_management.json create mode 100644 api/api-pastis/pastis/src/test/resources/rng/Profil_seda_pastis_mvp.rng create mode 100644 api/api-pastis/pastis/src/test/resources/rng/ProfileJson.json create mode 100644 api/api-pastis/pastis/src/test/resources/rng/profile3.rng create mode 100644 api/api-pastis/pom.xml create mode 100644 api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/ArchivalProfileUnitDto.java create mode 100644 api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/ArchivalProfileUnitResponseDto.java create mode 100644 api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/archivalprofileunit/ArchivalProfileUnit.java create mode 100644 api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/archivalprofileunit/ArchivalProfileUnitCollection.java create mode 100644 api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/archivalprofileunit/ArchivalProfileUnitXMLRootDto.java create mode 100644 api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/archivalprofileunit/InternalSignatureCollection.java create mode 100644 api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/profile/InternalSignatureCollection.java create mode 100644 api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/profile/Profile.java create mode 100644 api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/profile/ProfileCollection.java create mode 100644 api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/profile/ProfileXMLRootDto.java create mode 100644 api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/service/VitamArchivalProfileUnitService.java create mode 100644 api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/service/VitamProfileService.java create mode 100644 api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ArchivalProfileUnitExternalRestClient.java create mode 100644 api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ArchivalProfileUnitExternalWebClient.java create mode 100644 api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ProfileExternalWebClient.java create mode 100644 api/api-referential/referential-external/src/main/java/fr/gouv/vitamui/referential/external/server/rest/ArchivalProfileUnitExternalController.java create mode 100644 api/api-referential/referential-external/src/main/java/fr/gouv/vitamui/referential/external/server/service/ArchivalProfileUnitExternalService.java create mode 100644 api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ArchivalProfileInternalWebClient.java create mode 100644 api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ArchivalProfileUnitInternalRestClient.java create mode 100644 api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ProfileInternalWebClient.java create mode 100644 api/api-referential/referential-internal/src/main/config/dev-vitam/access-external-client.conf create mode 100644 api/api-referential/referential-internal/src/main/config/dev-vitam/ingest-external-client.conf create mode 100644 api/api-referential/referential-internal/src/main/config/dev-vitam/keystore_access-external.p12 create mode 100644 api/api-referential/referential-internal/src/main/config/dev-vitam/truststore_access-external.jks create mode 100644 api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/archivalprofileunit/ArchivalProfileUnitConverter.java create mode 100644 api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/archivalprofileunit/ArchivalProfileUnitInternalService.java create mode 100755 api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/rest/ArchivalProfileUnitInternalController.java mode change 100644 => 100755 api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/rest/ProfileInternalController.java create mode 100644 deployment/app_pastis.yml create mode 100644 deployment/scripts/mongod/1.0.0/220_cas_services_pastis_ref.js.j2 create mode 100644 deployment/scripts/mongod/1.0.0/221_pastis_application_ref.js.j2 create mode 100644 deployment/scripts/mongod/1.0.0/222_pastis_profile_ref.js.j2 create mode 100644 deployment/scripts/mongod/1.0.0/223_security_pastis_ref.js.j2 create mode 100644 deployment/scripts/mongod/1.0.0/224_security.populate_certificates_pastis.js.j2 create mode 100644 deployment/vitamui_pastis.yml create mode 100644 dev-deployment/environments/certs/server/hosts/localhost/pastis-external.crt create mode 100644 dev-deployment/environments/certs/server/hosts/localhost/pastis-external.key create mode 100644 dev-deployment/environments/certs/server/hosts/localhost/pastis-external.pem create mode 100644 dev-deployment/environments/certs/server/hosts/localhost/ui-pastis.crt create mode 100644 dev-deployment/environments/certs/server/hosts/localhost/ui-pastis.key create mode 100644 dev-deployment/environments/certs/server/hosts/localhost/ui-pastis.pem create mode 100644 dev-deployment/environments/keystores/server/localhost/keystore_pastis-external.jks create mode 100644 dev-deployment/environments/keystores/server/localhost/keystore_ui-pastis.jks create mode 100644 ui/ui-frontend/projects/pastis/browserslist create mode 100644 ui/ui-frontend/projects/pastis/e2e/protractor.conf.js create mode 100644 ui/ui-frontend/projects/pastis/e2e/src/app.e2e-spec.ts create mode 100644 ui/ui-frontend/projects/pastis/e2e/src/app.po.ts create mode 100644 ui/ui-frontend/projects/pastis/e2e/tsconfig.json create mode 100644 ui/ui-frontend/projects/pastis/karma.conf.ci.js create mode 100644 ui/ui-frontend/projects/pastis/ngsw-config.json create mode 100644 ui/ui-frontend/projects/pastis/src/app/app-routing.module.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/app.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/app.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/app.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/app.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/app.module.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/api/api.pastis.service.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/api/api.service.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/classes/icons.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/classes/models.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/classes/pastis-configuration.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/classes/pastis-route-api.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/core.module.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/services/archival-profile-unit-api.service.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/services/archive-profile-api.service.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/services/file.service.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/services/file.service.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/services/index.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/services/notification.service.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/services/popup.service.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/services/popup.service.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/services/profile-vitam.service.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/services/profile-vitam.service.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/services/profile.service.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/services/profile.service.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/services/register-icons.service.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/services/register-icons.service.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/services/seda.service.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/services/seda.service.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/services/toggle-sidenav.service.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/core/services/toggle-sidenav.service.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/json-typings.d.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/main/main.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/main/main.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/main/main.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/main/main.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/material.module.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/models/archival-profile-unit.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/models/breadcrumb.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/models/edit-attribute-models.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/models/file-node.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/models/metadata-validator.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/models/profile-description.model.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/models/profile-response.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/models/profile.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/models/pua-definitions.model.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/models/pua.model.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/models/pua.propreties.model.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/models/seda-data.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/notice/notice.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/notice/notice.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/notice/notice.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/notice/notice.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/pastis/pastis-routing.module.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/pastis/pastis.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/pastis/pastis.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/pastis/pastis.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/pastis/pastis.module.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.service.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.service.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/center-matmenu.directive.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/center-matmenu.directive.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.service.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.service.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.module.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.service.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/pipes/file-tree-filter.pipe.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/pipes/file-tree-filter.pipe.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-information-tab/profile-information-tab/profile-information-tab.component.css create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-information-tab/profile-information-tab/profile-information-tab.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-information-tab/profile-information-tab/profile-information-tab.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-information-tab/profile-information-tab/profile-information-tab.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-preview.component.css create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-preview.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-preview.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-preview.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-preview.module.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/profile.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/profile.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/profile.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/profile.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/profile/profile.module.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/seda-visualizer.service.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/data-generique-popup.service.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/data-generique-popup.service.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-breadcrumb/pastis-breadcrumb.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-breadcrumb/pastis-breadcrumb.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-breadcrumb/pastis-breadcrumb.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-title-breadcrumb/pastis-title-breadcrumb.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-title-breadcrumb/pastis-title-breadcrumb.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-title-breadcrumb/pastis-title-breadcrumb.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/classes/pastis-dialog-data.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-generic-popup.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-generic-popup.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-generic-popup.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-generic-popup.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-popup-selection.service.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-popup-selection.service.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/pastis-notice-toggle-button.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/pastis-notice-toggle-button.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/pastis-notice-toggle-button.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/pastis-notice-toggle-button.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/services/pastis-notice-toggle-button.service.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/services/pastis-notice-toggle-button.service.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.service.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.service.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-option/pastis-popup-option.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-option/pastis-popup-option.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-option/pastis-popup-option.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-option/pastis-popup-option.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner-interceptor.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.css create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/services/pastis-toogle-button.service.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/services/pastis-toogle-button.service.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/shared/shared.module.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/add-metadata/add-metadata.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/add-metadata/add-metadata.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/add-metadata/add-metadata.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/add-metadata/add-metadata.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/create-notice/create-notice.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/create-notice/create-notice.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/create-notice/create-notice.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/create-notice/create-notice.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/download-doc/download-doc.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/download-doc/download-doc.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/download-doc/download-doc.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/download-doc/download-doc.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/duplicate-metadata/duplicate-metadata.component.css create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/duplicate-metadata/duplicate-metadata.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/duplicate-metadata/duplicate-metadata.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/duplicate-metadata/duplicate-metadata.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/remove-metadata/remove-metadata.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/remove-metadata/remove-metadata.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/remove-metadata/remove-metadata.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/remove-metadata/remove-metadata.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile-options/save-profile-options.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile-options/save-profile-options.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile-options/save-profile-options.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile-options/save-profile-options.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile/save-profile.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile/save-profile.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile/save-profile.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile/save-profile.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/upload-profile/upload-profile.component.html create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/upload-profile/upload-profile.component.scss create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/upload-profile/upload-profile.component.spec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/upload-profile/upload-profile.component.ts create mode 100644 ui/ui-frontend/projects/pastis/src/app/user-actions/user-actions.module.ts create mode 100644 ui/ui-frontend/projects/pastis/src/assets/.gitkeep create mode 100644 ui/ui-frontend/projects/pastis/src/assets/config/config-standalone.json create mode 100644 ui/ui-frontend/projects/pastis/src/assets/config/config-vitam-ui.json create mode 100644 ui/ui-frontend/projects/pastis/src/assets/css/_buttons.scss create mode 100644 ui/ui-frontend/projects/pastis/src/assets/css/_colors.scss create mode 100644 ui/ui-frontend/projects/pastis/src/assets/css/_dropdown.scss create mode 100644 ui/ui-frontend/projects/pastis/src/assets/css/_font.scss create mode 100644 ui/ui-frontend/projects/pastis/src/assets/css/_input.scss create mode 100644 ui/ui-frontend/projects/pastis/src/assets/css/_layout.scss create mode 100644 ui/ui-frontend/projects/pastis/src/assets/css/_mixins.scss create mode 100644 ui/ui-frontend/projects/pastis/src/assets/css/_toaster.scss create mode 100644 ui/ui-frontend/projects/pastis/src/assets/css/_variables.scss create mode 100644 ui/ui-frontend/projects/pastis/src/assets/css/angular-material.min.css create mode 100644 ui/ui-frontend/projects/pastis/src/assets/doc/Standalone - Documentation APP - PASTIS.pdf create mode 100644 ui/ui-frontend/projects/pastis/src/assets/doc/VITAM UI - Documentation APP - PASTIS.pdf create mode 100644 ui/ui-frontend/projects/pastis/src/assets/i18n-old/en.json create mode 100644 ui/ui-frontend/projects/pastis/src/assets/i18n-old/fr.json create mode 100644 ui/ui-frontend/projects/pastis/src/assets/i18n/en.json create mode 100644 ui/ui-frontend/projects/pastis/src/assets/i18n/fr.json create mode 100644 ui/ui-frontend/projects/pastis/src/assets/js/class-diagram.js create mode 100644 ui/ui-frontend/projects/pastis/src/assets/js/d3.min.js create mode 100644 ui/ui-frontend/projects/pastis/src/assets/js/multiline-text.js create mode 100644 ui/ui-frontend/projects/pastis/src/assets/json/AUP_OK_VITAM.json create mode 100644 ui/ui-frontend/projects/pastis/src/assets/json/MongoPUAcomplet.json create mode 100644 ui/ui-frontend/projects/pastis/src/assets/lib/angular-route.min.js create mode 100644 ui/ui-frontend/projects/pastis/src/assets/lib/angular-route.min.js.map create mode 100644 ui/ui-frontend/projects/pastis/src/assets/pastis-logo7.png create mode 100644 ui/ui-frontend/projects/pastis/src/assets/pastis-marseille.jpg create mode 100644 ui/ui-frontend/projects/pastis/src/assets/pastis-marseille_blue_crop.jpg create mode 100644 ui/ui-frontend/projects/pastis/src/assets/pastis7.png create mode 100644 ui/ui-frontend/projects/pastis/src/assets/seda.json create mode 100644 ui/ui-frontend/projects/pastis/src/assets/seda_lower.json create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/active-icon.svg create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/arrow-right.svg create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/attribute_icon.png create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/check.svg create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/chevron-down.svg create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/close-popup.svg create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/close-sidenav.svg create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element-white.svg create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element-white2.svg create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element.png create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element.svg create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex_icon.png create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/drop-box-arrow-vitam.svg create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/drop-box-arrow.svg create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/import-icon.svg create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/inactive-icon.svg create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/info-black.svg create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/info-white.svg create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/pastis-picto-retour.svg create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/plus-blue.svg create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/plus-grey.svg create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/save.svg create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/setting.svg create mode 100644 ui/ui-frontend/projects/pastis/src/assets/svg/icons/simple_icon.png create mode 100644 ui/ui-frontend/projects/pastis/src/environments/IEnvironment.ts create mode 100644 ui/ui-frontend/projects/pastis/src/environments/environment.dev.ts create mode 100644 ui/ui-frontend/projects/pastis/src/environments/environment.prod.ts create mode 100644 ui/ui-frontend/projects/pastis/src/environments/environment.rec.ts create mode 100644 ui/ui-frontend/projects/pastis/src/environments/environment.rpm.ts create mode 100644 ui/ui-frontend/projects/pastis/src/environments/environment.standalone.ts create mode 100644 ui/ui-frontend/projects/pastis/src/environments/environment.ts create mode 100644 ui/ui-frontend/projects/pastis/src/favicon.ico create mode 100644 ui/ui-frontend/projects/pastis/src/index.html create mode 100644 ui/ui-frontend/projects/pastis/src/main.ts create mode 100644 ui/ui-frontend/projects/pastis/src/polyfills.ts create mode 100644 ui/ui-frontend/projects/pastis/src/sass/_buttons.scss create mode 100644 ui/ui-frontend/projects/pastis/src/sass/_colors.scss create mode 100644 ui/ui-frontend/projects/pastis/src/sass/_dropdown.scss create mode 100644 ui/ui-frontend/projects/pastis/src/sass/_font.scss create mode 100644 ui/ui-frontend/projects/pastis/src/sass/_input.scss create mode 100644 ui/ui-frontend/projects/pastis/src/sass/_layout.scss create mode 100644 ui/ui-frontend/projects/pastis/src/sass/_mixins.scss create mode 100644 ui/ui-frontend/projects/pastis/src/sass/_toaster.scss create mode 100644 ui/ui-frontend/projects/pastis/src/sass/_variables.scss create mode 100644 ui/ui-frontend/projects/pastis/src/sass/login.scss create mode 100644 ui/ui-frontend/projects/pastis/src/sass/styles.scss create mode 100644 ui/ui-frontend/projects/pastis/src/test.ts create mode 100644 ui/ui-frontend/projects/pastis/src/zone-flags.ts create mode 100644 ui/ui-frontend/projects/pastis/tsconfig.app.json create mode 100644 ui/ui-frontend/projects/pastis/tsconfig.doc.json create mode 100644 ui/ui-frontend/projects/pastis/tsconfig.spec.json create mode 100644 ui/ui-frontend/projects/pastis/tslint.json create mode 100644 ui/ui-frontend/projects/pastis/xliffmerge.json create mode 100644 ui/ui-pastis/pom.xml create mode 100755 ui/ui-pastis/run.sh create mode 100644 ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/PastisApplication.java create mode 100644 ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/config/DefaultProfileUtil.java create mode 100644 ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/config/PastisApplicationProperties.java create mode 100644 ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/config/PastisContextConfiguration.java create mode 100644 ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/rest/ApiErrorController.java create mode 100644 ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/rest/ArchivalProfileUnitController.java create mode 100644 ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/rest/ForwardController.java create mode 100644 ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/rest/PastisController.java create mode 100644 ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/rest/ProfileController.java create mode 100644 ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/service/ArchivalProfileUnitService.java create mode 100644 ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/service/PastisTransformationService.java create mode 100644 ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/service/ProfileService.java create mode 100644 ui/ui-pastis/src/main/resources/application-dev.yml create mode 100644 ui/ui-pastis/src/main/resources/application-recette.yml create mode 100644 ui/ui-pastis/src/main/resources/application.yml create mode 100644 ui/ui-pastis/src/main/resources/assets/logo.png create mode 100644 ui/ui-pastis/src/main/resources/assets/logo_FOOTER.png create mode 100644 ui/ui-pastis/src/main/resources/assets/logo_HEADER.png create mode 100644 ui/ui-pastis/src/main/resources/assets/logo_PORTAL.png create mode 100644 ui/ui-pastis/src/main/resources/assets/logo_USER.png create mode 100644 ui/ui-pastis/src/main/resources/dev/keystore_ui-pastis.jks create mode 100644 ui/ui-pastis/src/main/resources/dev/logback.xml create mode 100644 ui/ui-pastis/src/main/resources/dev/truststore_server.jks create mode 100644 ui/ui-pastis/src/test/java/fr/gouv/vitamui/pastis/config/PastisApplicationPropertiesTest.java create mode 100644 ui/ui-pastis/src/test/resources/application.yml diff --git a/api/api-archive-search/archive-search-external/src/main/resources/dev/keystore_archive-search-external.jks b/api/api-archive-search/archive-search-external/src/main/resources/dev/keystore_archive-search-external.jks index 9b9871e3456964fd79e1e53fd61e033d711aa62c..a9e681704238a81370a726b527ff94343ab89108 100644 GIT binary patch delta 3612 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 delta 3613 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 diff --git a/api/api-archive-search/archive-search-external/src/main/resources/dev/truststore_server.jks b/api/api-archive-search/archive-search-external/src/main/resources/dev/truststore_server.jks index 614bace31449a03118733978f1716b3326e539c0..3ad9932ba4e9f999eebcacf469be064e2e7ad982 100644 GIT binary patch delta 3567 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 delta 3567 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 diff --git a/api/api-archive-search/archive-search-internal/src/main/resources/dev/keystore_archive-search-internal.jks b/api/api-archive-search/archive-search-internal/src/main/resources/dev/keystore_archive-search-internal.jks index ceda6b68d73fd1e8a14cb83cdd35beb08b8d604f..9b29499d2dd9d437715cfa1bf73b5bb9072fa00e 100644 GIT binary patch delta 3614 zcmV+(4&m{k9-|(REPs8E(d4`U011aMf(e5#4h9M<1_1;CDgqG!0R;dAf(dU$jkCNV z?O&ZEWaU7sdF;-=df6{CXrgAo3D-r*IS^IfY?WG{cDD{wgRAMYN3)dyJ$jRy0t|^% zmdwTYJq=t}B-%tjlOl|hdMctE2lH&;huspGT2n<<Z3T~O4u60>H1;Et817>Ly`fiE zXZFzB4-s4n3j;bs870&R(TtBN-8$McCX^~!S$&kK{vuR>*v1_+?A~xi@4&7y<KW7v zx&`~ZaY<sFC#U^Hy_i#brrCI3^RxE7BC;z5i|8vwFYPASID_%EG9`%uH>(F!XOo#o zx!AVZ(zZyMseh>jau@VwrZNu1cOGW0L_J$rYMq%Pi@VIJUCHS)R%oR%l2oOVueegz zpb?xs`GHkX-}&0bMdhR!lloa$IUqFQC+sBVmhOO36NiszE%$fZ8Qz%<3J{sl{)V}p zQ9%0kEOc_XEXWM|4U!v<H#1&T1wS^6-|Ijfbf6}mP=94t+J_bNy11#kN^W+CHGMg% zip6AfG{!H&$8@f1W$obmTeuA0`8}cD*BJtB>G&!U!(0g!-C9(LzlOTQAa5*gi0!XG z$W_A}=5nFnyO9L$J&oCE5Ls~c3|Is4+rSEVV;}eK+Wxhsf60}e5ZMGJOD2sWtm@dA zt~ObZ6n}$BOvCNRWu>|g>GA4sq5^c#CoGqbri*mrK0k$aDEkvsgo~gYbeXkU+t8=f zV)6rqk1h$8-C$TlabW_ajviH9nU1QLLmEjC>SCueu$t$HjVIGyH~=!CNYd6pq%W=_ zS*kZ@{z^22*vGbl1{Ouu17v8@&muB+pvPu;IDcE%rK|9<BiekCaRbYPEte?-subFT zq)A>!0sZU&q=5o^pQ4mq4N!q4yz;5$7+&+DUyd^Q)l><wGs%%MGh*WIa+b>sWL5ps zW5?PIUO>rNQNQUXQnX1h1H@EPAO0omn?W(KHyEg+pbnMWTFpvYBd|YFH*`vwUnza3 zVt+Jf=(ew{r-;RHz9smdW9aScre{h$phjiEA0htch<da926)p4E%WXlp-<l$gdp&f zv{pnW?U%X{RD6yAI$*r6yxf=_94k`TE^swS?Ea~q?^x409OKhyuImri0^RE*lW0A~ zTh)LpATJjFL%YQ2V8c31XBasv%Z|_o>VMo*r`aoBL-3;qHxW{6=^KQYj1+^RO1CJ( z<1_=<7o<f6!Yx8%F`*PH(H==%WE60-=YUN-%RKpw-!&HKuI^cF8tg<imaSgI5=1>P zOK!QYjinG;A=tInOa^%((v+JrEcE@)Vbe?cy2Oq;hfJ1-s_<3~bli~BA6lAxrhmS8 zFZWXAtut~PuJ#=KfDnjkwupK+BJD*YM}h4u%GQ#SA6GeF2ZEbLNodR#jpaYl@LiP5 z=j-^OR~Rw4DCuU?6I1mT1AQ!^dtEgUKnZe5BLthA=eiHrX4ZvjmcCO=R@e+pr^_t2 z+cvCxr9d%hq858`{4B&3hBpS6(tmPS($E021P9LP*cejD{?-Ssd|7pT8hsJ-rYC_X zRg|GU!IYsSeh$b)(zoXlU<>v)&;u`aHg2W|@%(SO;aap@INTm=dMRZcW)M!;B3w%M z=qhc0x(juhCEN>GGhoVEz$oZvqh`i%fHid~cG%UAeCSn$kt6e;@nw(A%73gL{l6b+ znqFoO5+R;{IU~N7O>ks^+sTVu%459-lD}MHdVwYSa&B!ggmawUD0YfVqSY-0M5<Zq z%9HrT_vS7tg4j!Zcl`iXHT&%g!0KN;Sev=Q5%N0-B(_7`Eg`jBGQB0y%rnt0^qgoY zFF72*caFJO8#;mKJFF*7_kUm#U;a}LVRYi3<%ie?Pe~#i&nC~u)@g(mo{0fOt_YrF z%p^%@K~o9!U;-!NUazb@p4XRte=lP5^!`#7J&8wViHJm<VRkxvm*5lY=)jb`Hw23| zxmvet6oV(zO*Y-s_hA#CAcfm8WPPum2)BntpOKhY^xVdq34gM^1b@0TXgMDXHv~2~ z&e+*`W0bpPd743s#tmnpn(J=Z_T)t$@5K1{*<cE`!4)UO*Zj;({s!#<!>(Wq3U?y6 z;R30D4Zmm>n|GAYizfQs%6ZhOG@?tSy}oqj)|g;9s}=h%<3=MW%|Tc<IY$SX??Yi1 z$+F(TNK*fT`RqEzQ-7ByL}e7Wh`Gb7sleJtOtv<d{}rm-F%w%@^g>d_9YAfz#%rch z87wOM^F_*G%!DlP$Dsi9wf0hrT`<lJC+QFcvEO^`L*<{{YQUR8bhrk*{-PT!mjuQ& zz<p~E1#-ATwPf{PQeVu9(Yn}CTJ1h-rL6IKcn)WVsRh-o0)HSd=tw)PA_bU3R;C-5 zWG6-5-?WwKbCS1M$wInY3Hj$m=D>DD_r!(?Y}DAg)F|_cRekqAAb~hRJAqmZ+q%>k zMnM98%48~)+Y#8qronuAJse>uBg!=kb8?_Mz*Gz2d-+f2ZKbA*>)vYVSH-GgaSH&@ zk03baJP@|0$bWLm+a*xM)c>)MTOCP29NwkxkmfR^wCWgKJ<9ebumLl}ZDa(bm&S3` zOg(bD!NMx~*Jx0?Kt-0PT64d$qUo6{rh_3l$i`o_NaPZ6Z)psf`36?B_kdN?Xl5$| zo?BV@Qwsy1mFb8cmy-^dsQt{O)6Wc(H)((^6-Dv*-+!ND)+rT}bpus2kaP)>A*8p@ z+dfcjh?S9<MWSmkhjEp+wDYJojg7mP#Sx*6fuLbTS8;J`4+?mw=-237_B%Fl2oiES z40~YTn_Y!ml%|pSzRQV1Cc%gV!o_GM$^S(yR6QZ$&0z{XLs`3bzj7B|Ht8@mXlvm} z0|7M0BY#w{8)voDi@koTnAgAP@OF0|8#H;^42L!KqpUv7L%<WFuI3F()#t~eklo`9 zP0Tx5cyR*TOYRDqKH-<1!PZ?p?wX4a>6^$N+nkY}urh!e_6mLjA#0qLjpMy|!RAn6 zu7w1WbC&|_(gQp-d|h82i67Nq3qZ5N3F1Hs|9?<Wr^S|&Dja{9Z4%IT3Szbv;0wAA z9j<>}J5BF-upk?L5(~m;HkBuXHNEDEeIvWT?bw>Pp-zQKh&R;lZH0i?_^4gFeqb{| zSVpl=v0rRPfFT(b-y|-FPD>#AqC!2azXf!`P;R;%;c+Eeh>LQOOoZX<w_eNNjJ8V; zU_SBY#diffQCX4qxZCvI5kCu?UUzF)mWE9WMw}e5{s|X#-v9sr0RRP9E;TSY000F< zFoFd@FoFXp0s;Vtlhp}|8Zj|4Fg7tVH8e6fS{Ds6G%+$TH8C<ZG%`4oc?x@fs&6h| zB4w^iz|%{zLkKBXfYvzfxe8+hzKWQc33baQ)JI`OO*EoX6S$*^*`rP0$NY0X5J|>P z0VsF)w{3`nh1yfdy&=M#UV5~!WW3e;>W9fCs7gRSh(G6JdZg~^M!V<tcg!P>#%Fe> zx^i?~5}~w>W4^MR!okk+6W%j_>Re(RZLriv=zX&Dp}-SAF8{Zl7XS}8Q5IKGyss}H z5~<g)wA#Lc@2}L&ol?d@Yddhl*TN7emQ71JA7<Ln=P?wY+b!{W^55>38!RK*c~d1& zr4fc~TbbhGkM6!qu7d3nWt)2UDUoaZzS0K!G%Nwqu$IqjPa3pc<=wh}ZzeLDiTUPD z&bm5_Q(&3}d5~3DjLPUWVDum$Mm{=6NXZp<Y|jIuxEP5|7ny#QX6b2qz0vhQwyru( z@}hDs$Y%AsTatUrA>J9t+y1MFj8MKAAfDkQ%mYc@I<P7+y$8>POBzd|aqM{dM=>Zy zXzpHX&m&%$e_8l&QWjr-&I8JWZTr2^Zqv33vtSeIXLf$5@;TyLsI6nW432!k*QnBe z&VF_*UZV_a*H#AOROueeZYE5`2?#*-Bb`<c?x<g9D=%gtd;CWkZfc*dzY-FbQ|C&* z?^ue&x+T_aZ&Ubp>CUYi)ifkGHG2&e1P~RR)C)kEn84V0=!^1ylTMAt0s{d60Wb{) z2`Yw2hW8Bt0Sg5H1A+np06VH?!T1#&JmOf3zEGuTN2VZ^kUGiUDtkCoVv&6X!zJQz z^EeA(L?hAY%9xFR-$nT@kyg&2-+v|0piz*AGn9-q#o1=h>s<Xi8Z{=!`LZKy2K1gM zRB44HU3qkvN0Bps_F|<(-m9b8F!LFt#>Tx6JHd_<)V{}eKurKQIp*`iu~_OQQo6(g z&wu6Nj?&*;1G@YYa&lIY<vyfrMYqihpQ8LmjNzHng`Dq^xZQk8G4>_f!q26suYMB3 zRLv>W8X;$$6@hPJ>Ax~^9Dku6XYB&`K>2K=JRcL3fa|Y+Skg-#8Mu4u$`I9q1uL(L zvmjOp!$!T5?x2KXAuA*XV}k>>VtpMgct8_H*^&i~Be=L#_IiGVRmNxL{{BW2zap3F zT4oEDqa-|08o83b6#wNGA7G4)q{hL!ZT#F$XV&=qoT)}<K%9d32DxzO@V2uLlKR~( zEUzxR+ofoKfm>IWs!wL>;88F~Re_S!cGO@}rkY<AxoJ|$oosFvS4&vJvstdRAJ6HO zx2Vq)*2$lOfoj8^8kt~M400Cm(KmZh=%mfxvQ6eZ`yeccQf_`9uOvCaB9^Z1m?1EX zDykAVW`S_z%J1g{0l+@&kZzRT-{!ClwLVsmsKxg+&DCipfWchkskVAUQ!K>aT~HU> kf_7EWymg~9=bMPLcR8IO=)DI8q;s)1^C{+Y`6qLRPC1~|^8f$< delta 3612 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 diff --git a/api/api-archive-search/archive-search-internal/src/main/resources/dev/truststore_server.jks b/api/api-archive-search/archive-search-internal/src/main/resources/dev/truststore_server.jks index 614bace31449a03118733978f1716b3326e539c0..3ad9932ba4e9f999eebcacf469be064e2e7ad982 100644 GIT binary patch delta 3567 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 delta 3567 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 diff --git a/api/api-iam/iam-external/src/main/resources/dev/keystore_iam-external.jks b/api/api-iam/iam-external/src/main/resources/dev/keystore_iam-external.jks index 42e7140afeb89e3aebce728d6c5a6247adb4317e..4cc1f2c5e8485736090aff572e2af738a5ec2ec9 100644 GIT binary patch delta 3611 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 delta 3611 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 diff --git a/api/api-iam/iam-external/src/main/resources/dev/truststore_server.jks b/api/api-iam/iam-external/src/main/resources/dev/truststore_server.jks index c25bb727ec4db42c6b9582f530209b6fc160ffff..3ad9932ba4e9f999eebcacf469be064e2e7ad982 100644 GIT binary patch literal 3626 zcmV+_4%P86f(|AE0Ru3C4c`U{Duzgg_YDCD0ic2n&;)`F%rJrt$S{Hp#0Ci}hDe6@ z4FLxRpn?sxFoF%S0s#Opf(@z$2`Yw2hW8Bt2LUiC1_~;MNQU<f0So~KFdGCEIpj4Z z1ol%%&LUDR4InXzK$ixI0s{cUP=JCBaQ&_!W3+ULG^1OV)x{=?2grWW2xVRj{(haN z^~!KHqo(pyuTi_K!eOo$vfc^10^u;a3HSWnu$=3&d@Qz$+K?k1TvsYlFtoj^(X}?^ zuGH>MO?p_Jx7g$O6j9W~BYP_Z`e~+3bDlln@)TFr$VOGCXs6DbWB5Sp=IgA=hT$ZZ z({JPzWn2VPyq`gTpiYpdE|FI-kQpO2^M7<@cwNrD^m0+9u60^4$*c`{icKJ7+Phw% z2zW`ClAUl|kHfpBIekdh@gJ|@`BG9c{RH2JzNN3|U(<DElQXG=YD<(uCy|JF?H&B9 zZwZV69-p*S=$zW>8&oq@kn0`T2G9~CM?e#Z3IW2yih6!6zCl5<YbJLkme8{g`uP^z zj0TZK%h<w-X(!e5ZRXua!YiiiAWyVnj%@?h)Za)HY1#*%ybPUKazm?Ii-A>ZoKtO% zS$!a}c)r+|V6oR3v5eOX*(-Bq1t<eHEUHl2y@1PZsuXg;JR6Zd8X#LJh(lllH?9Y6 zUBshoib8y+DZzzz8}+ftL>x0qPJ6!NKQg`Sz{>6GGu=U2nEUdlW9fK!m6ghT7?;cm zL3pr$^Q4O&AT6hNQIz6p4YK$by=_oLD@~71bu!iQ@+a6Q3Vb<In``nF5zVgvewh+Q zzh1wRe~xPNi3h2)D$SC$1ke_9{e1J1Fz%qdX5igIklAI!Qkd>tC<VVN95nd8-uBl$ zZ_CuHx7C8n5&byc_1euGJb*T@Z(9cLu(~IhGXlK+qZ;;R#3z32<tJfuKd(i0LmHd! zbi&+0FdfxSMz9!@x54D;eCr#mG{5PuV%z7;6MX3aNK+|Y=@3$5z!g1e$4rkr)67&^ ziK@>>+o2jy^E~7}8}Ty&Gj`u6PsD-SdmK_-r@4sfrrNgd1^hB4lp)vV5QWvFwrwk{ zaGd&2covp19^pE6{gzT3_khp7ho!sP+ISn74A-`gN5D!8C^$VW;2=|GDq_m$BIy^_ zP4?g=*Fm>l9+hx^N8VA9|CVJr!G$Zqs(t9+(;YTyL)OSjMc!vP7aFNYGriDjj*ORH z!3V?+!3?F9XCz04lipWrRYyVEy09fJFD593ll14Q(2!i*E4$uT$ZrUb<T-uKveNKs zSjzzIh)e~mh~RDsK6@tE{_m`k$B(`^1MlQ$ITNam#fIj}b%1D}dLm)-j+tK|4afvo z-z{#Udx;<a_wm!v6}_0J=m_WtN(ky!bH1-7UA%qt!!gmu@6$8hjTiuqjg~+)4VByA z`4FKpzmCfs*K4u#+sn@}6g^wW=-ozXam4-i8p9L2&}R0$&3JGrP;ocE_wUwi6h&4< zzgYELVq?<^`vP1nSwT-$V?XKi2C~=FHu6(XYTC=QfL4Mpf3zazqxIewENX5T;aWMr z(r#qqzf9BuG<qLMU&(QkIuC*vb@H@j=;tYr{s(cBoaVl8gpF**Q={X)mqFI`Pbq}q z)?>}h=SUhm$+8%v-0cWxG+t@0s3*yHc;V|c_p}&er%8-}h8ziXZPj@*$edac?N3ck z&<(bhAtK~FqoZLU570#gy28Ct`UH0jW=)!;gDnrI)8f7+D92R{s4V7OIK;KXZxQ4a znJe!*)-SqI&o<$#(7FHDZk0Wi53tgvB4r-$Y1u&Xe4jLAsA28pqR189MAvI;=6)Ia z*n7rZGa2`h3R2Rq-?oB=r{3_tozB6x7hq$`zYVL<)J1>D5%H1Yg42EH{zhy7*l*_G z2*(j9XRLiXpxns6(QZYcvy7XPXQ09N0h|bQn6oyTs2iq=n+O18bcg6kTc-TYrTQ#~ zh+#Op8eCk5x{dP-QdD?7bcDpQ&`qKrKW<M?_j%mh<v}yXbF+;Y5L6t8B`gZrj<K~e z-98q@zd^dZ0f9yVRY!=D5FbZurBNjcUUHL<A2V;y20j#8?vM(|mhlbIDwedn4Il|n zybu!1mrcyv(bJ+zW_hlaD7RruH(By;DauGJM2Z&G8Tw}yhjQ;wEEE#=QJ&RXi-V^z z3CC5(R|uF|HXviMz1C_Z^DLy87I{B@8qAraC_|7CD6lqf$&voLR6()ou5$3yu@#K+ zv|cBVbG}*In6~6|sLMhmMdPARK$3)4OM_PxdI<bjE(#Aa51d0-{fd+yx(lsHWTXou z+Mrx8#~floa&NnzJbFEyT-dF?5wdpM;_p`h)xE|bVBSMLkUnd$?6Y#1GUANbQ_MUW zN8z)h{T3}rjoLNAqwqCY#j1fD88)!}&Jx?BW)Nb(KDI5l%4f>izb2z~t)S^Q+m1nH z&VD5;>vuWY_;S<42#?%r#cs$DZ3hpCin9k8+uJvo=G4-MhXfQ77&CLKHs=Xm{gFHh z;~%CQBunY$vZF+``;+_+w5DISOZXxr-15|RSy}gqK4u#3$ywjlT24qIp)xo-<0VA6 zc<t^4rO*8ji@d*}M9eq{4sv4Sv^epzRar|$6;l}dq*=klJWa$6Dv43vT$!ZQF7T}r zH`{P#@t4v=*R>zNZ|Q=wdXQc|xZZ|H`4Zb0C{*uYpvm2x%RCL4V0H}*@)X>0ZxA!< z8R-7*i1GSvPjO^9^9xr&FkDQ6y3XZysS|?@EY}H;*ZR9e{x67_09FZ~4#d>loO2CA zEKmv^>GQeIte=G~Gdxvu_PnQG7-j`fvN{4~;lg%xT9Lu04V|4ob7q{R@lZkCm?N#N z;{?q7Luq}34(Dr`2b+_Upj;3=yT|0=^{aKH69#a*9l84dssrV=bnT_lj@Q2T$v}$5 zv~}90i_z>FASr_qb75h#?khfwrI#nup{?qagig@Hq;f3@Zz)Oz%sn+pW>Zy0CKQ(4 z7rt8pDIz8Mf|#oxOi5^Gj7a*isk_U-1Cd|y1_Na$DfH?m--8pMTOMATuLlizqPsn< zAYEg5!$PYIRSvvf3i+k;qi_1n(OP7to8H0<Q$9rPl~~ZKH<Og|69<JP<9T3Qa@n<5 zZGDYTXXY@WU$~$cR<45$p3<0i-%1mL8z!K&?r1BD9jC;ZVGxhXqN0CGS%@bqZQ)m? zs!Q*^oSs#7Rw<@L(NqV$2QT2DBwm5mgCGV;_5Ep>BX@6Db-zc}!pQ_CN17F)3O#9@ zwIwuHV5*7~PJJ-&5Bq3D!Hd~G8e43qhMa6i7l%%IDriCT6>BQ+nLmSMJz-k~uv)}S zny!E5gozLpCF&YR9^?nL4=AQEAP|Ay6I@WeRjjEC<?h7j4JAGgTjz&T^Tau#ucDK6 z|3V}M)LmXtTx0tBG1oCmA<`5<S$CE==J)FiZ0f)+weUJNoV*nG*M26=nh|cToDN6n zI?T-+aW(J8Zi2h3m5EPpp^INUr+O629XKEQ_)3Dzey5W}Y4Z)I_MeERZlMJ`s(XHv zS+zT4&TfpsTBt7otEn#dN=QZssUBvSlXVO&$<#JU>66R=t>XJZflbodve<cDpKim~ z>dl76@PrrG$2E93W*%#Y?Iqe}``2aaly24N?WcOVmj>5FfKsiiqjhbC4Md_j0ZCA1 zZ`0x5I<{AbXIJD62uZj2#Hh4ptTl@W5Y4Hg`MtsBW+LU515IwSe4MV>;4IatC65Y~ z4!iZ5YQU1G6*sFUn~u2=!H*xbp}xRF0Rr<va@^JXYA4|i-|E+4l4@-^1fy`#F(!UH zQ>uQ$-Vk#OA43dZjbPk)eBIe(iYMU+UpkxJcZ`)IIctnt;C)*V>cKXLG~+&XZQkCl zIQ1axa?Xgwg7)O*G8A_qVehAcvN^+|$i&TZ+EvwZ+={o#?*HT?3HN_W;>n+J=cQT; zY`Hz6*gHkoUpFfFh}Yx?|NBkFflhDwZ`L4H4cMWEolGz?tm-o*R4sL^ReqHI($5-I z5@v<)W8u1@wZ%{nWIO<}a{dzZzu-5~zha-T)lnF8qVM;PqljtJ%y|yQBCS0>j2YCk z?#-Rqh}q?Om%KIMJy~JSc%{(C7RrC^Wvn?I60B}1qyu?UL0(j-{_9bW`I5`yB+x6q zyon!tA+O#k>E$po>8heTZd~0vFuUs4S+X8c@t!$gXpp?IV;K~JGkGWe%t`UY;5_kk zkT!g2U;}={(c|w0fMm_ZMUK2UYG90&MZ3IU9n23->2Z&g{2(z`l9!gT*b4T08PKSc ze>2XcoK@SaM87;id@%bO?Gbz&IS3r&`#Y*$FrWC^eVxBOcpjaVh*)ni01jsKLxWl} z${GQ!-z*QgIz1Iw&co9W{8O=Wp3A^x)v}FMuQc?MA$kdS*r`{TQCHTqW_-7?rl!)G zmwIw58CLaGz-Qfc=k26j#>|=M&x(A-M^`PB13C5$Vr*pGJ~+^eAZuZ4sVTIl#uWJ& zK?s!9ks5%_9vQ35A;3nSgq#@(-r5^hxRcIs`QtTnw=0QLx@yoT=KhM97rdgbVv1@Q zc;Z#Ir7`lnDvmBn9RYHY`o>C7K}4?C!uxRW6Ch9qmwnP-w{*ieE~;Y#i)t)w%d7s3 z)%sTkV`a+*TIu&xl%E%irko@|y=@D>=(wIGc8A?&7BD_AAutIB1uG5%0vZJX1QeVN wQ7Obab<tQ4X%PeQH*6`*Xto3t>h=#FSZ!u;V3^966!bvMk3Q}30s{etpjndp1poj5 literal 3297 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 A82|tP diff --git a/api/api-iam/iam-internal/src/main/resources/dev/keystore_iam-internal.jks b/api/api-iam/iam-internal/src/main/resources/dev/keystore_iam-internal.jks index a69c6518beffb7c89aef80a6f29e5bd2f4a5e1e4..3197b9aeca98ed0ceb603aa60489cdfadea9cd24 100644 GIT binary patch delta 3613 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 delta 3613 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 diff --git a/api/api-iam/iam-internal/src/main/resources/dev/truststore_server.jks b/api/api-iam/iam-internal/src/main/resources/dev/truststore_server.jks index c25bb727ec4db42c6b9582f530209b6fc160ffff..3ad9932ba4e9f999eebcacf469be064e2e7ad982 100644 GIT binary patch literal 3626 zcmV+_4%P86f(|AE0Ru3C4c`U{Duzgg_YDCD0ic2n&;)`F%rJrt$S{Hp#0Ci}hDe6@ z4FLxRpn?sxFoF%S0s#Opf(@z$2`Yw2hW8Bt2LUiC1_~;MNQU<f0So~KFdGCEIpj4Z z1ol%%&LUDR4InXzK$ixI0s{cUP=JCBaQ&_!W3+ULG^1OV)x{=?2grWW2xVRj{(haN z^~!KHqo(pyuTi_K!eOo$vfc^10^u;a3HSWnu$=3&d@Qz$+K?k1TvsYlFtoj^(X}?^ zuGH>MO?p_Jx7g$O6j9W~BYP_Z`e~+3bDlln@)TFr$VOGCXs6DbWB5Sp=IgA=hT$ZZ z({JPzWn2VPyq`gTpiYpdE|FI-kQpO2^M7<@cwNrD^m0+9u60^4$*c`{icKJ7+Phw% z2zW`ClAUl|kHfpBIekdh@gJ|@`BG9c{RH2JzNN3|U(<DElQXG=YD<(uCy|JF?H&B9 zZwZV69-p*S=$zW>8&oq@kn0`T2G9~CM?e#Z3IW2yih6!6zCl5<YbJLkme8{g`uP^z zj0TZK%h<w-X(!e5ZRXua!YiiiAWyVnj%@?h)Za)HY1#*%ybPUKazm?Ii-A>ZoKtO% zS$!a}c)r+|V6oR3v5eOX*(-Bq1t<eHEUHl2y@1PZsuXg;JR6Zd8X#LJh(lllH?9Y6 zUBshoib8y+DZzzz8}+ftL>x0qPJ6!NKQg`Sz{>6GGu=U2nEUdlW9fK!m6ghT7?;cm zL3pr$^Q4O&AT6hNQIz6p4YK$by=_oLD@~71bu!iQ@+a6Q3Vb<In``nF5zVgvewh+Q zzh1wRe~xPNi3h2)D$SC$1ke_9{e1J1Fz%qdX5igIklAI!Qkd>tC<VVN95nd8-uBl$ zZ_CuHx7C8n5&byc_1euGJb*T@Z(9cLu(~IhGXlK+qZ;;R#3z32<tJfuKd(i0LmHd! zbi&+0FdfxSMz9!@x54D;eCr#mG{5PuV%z7;6MX3aNK+|Y=@3$5z!g1e$4rkr)67&^ ziK@>>+o2jy^E~7}8}Ty&Gj`u6PsD-SdmK_-r@4sfrrNgd1^hB4lp)vV5QWvFwrwk{ zaGd&2covp19^pE6{gzT3_khp7ho!sP+ISn74A-`gN5D!8C^$VW;2=|GDq_m$BIy^_ zP4?g=*Fm>l9+hx^N8VA9|CVJr!G$Zqs(t9+(;YTyL)OSjMc!vP7aFNYGriDjj*ORH z!3V?+!3?F9XCz04lipWrRYyVEy09fJFD593ll14Q(2!i*E4$uT$ZrUb<T-uKveNKs zSjzzIh)e~mh~RDsK6@tE{_m`k$B(`^1MlQ$ITNam#fIj}b%1D}dLm)-j+tK|4afvo z-z{#Udx;<a_wm!v6}_0J=m_WtN(ky!bH1-7UA%qt!!gmu@6$8hjTiuqjg~+)4VByA z`4FKpzmCfs*K4u#+sn@}6g^wW=-ozXam4-i8p9L2&}R0$&3JGrP;ocE_wUwi6h&4< zzgYELVq?<^`vP1nSwT-$V?XKi2C~=FHu6(XYTC=QfL4Mpf3zazqxIewENX5T;aWMr z(r#qqzf9BuG<qLMU&(QkIuC*vb@H@j=;tYr{s(cBoaVl8gpF**Q={X)mqFI`Pbq}q z)?>}h=SUhm$+8%v-0cWxG+t@0s3*yHc;V|c_p}&er%8-}h8ziXZPj@*$edac?N3ck z&<(bhAtK~FqoZLU570#gy28Ct`UH0jW=)!;gDnrI)8f7+D92R{s4V7OIK;KXZxQ4a znJe!*)-SqI&o<$#(7FHDZk0Wi53tgvB4r-$Y1u&Xe4jLAsA28pqR189MAvI;=6)Ia z*n7rZGa2`h3R2Rq-?oB=r{3_tozB6x7hq$`zYVL<)J1>D5%H1Yg42EH{zhy7*l*_G z2*(j9XRLiXpxns6(QZYcvy7XPXQ09N0h|bQn6oyTs2iq=n+O18bcg6kTc-TYrTQ#~ zh+#Op8eCk5x{dP-QdD?7bcDpQ&`qKrKW<M?_j%mh<v}yXbF+;Y5L6t8B`gZrj<K~e z-98q@zd^dZ0f9yVRY!=D5FbZurBNjcUUHL<A2V;y20j#8?vM(|mhlbIDwedn4Il|n zybu!1mrcyv(bJ+zW_hlaD7RruH(By;DauGJM2Z&G8Tw}yhjQ;wEEE#=QJ&RXi-V^z z3CC5(R|uF|HXviMz1C_Z^DLy87I{B@8qAraC_|7CD6lqf$&voLR6()ou5$3yu@#K+ zv|cBVbG}*In6~6|sLMhmMdPARK$3)4OM_PxdI<bjE(#Aa51d0-{fd+yx(lsHWTXou z+Mrx8#~floa&NnzJbFEyT-dF?5wdpM;_p`h)xE|bVBSMLkUnd$?6Y#1GUANbQ_MUW zN8z)h{T3}rjoLNAqwqCY#j1fD88)!}&Jx?BW)Nb(KDI5l%4f>izb2z~t)S^Q+m1nH z&VD5;>vuWY_;S<42#?%r#cs$DZ3hpCin9k8+uJvo=G4-MhXfQ77&CLKHs=Xm{gFHh z;~%CQBunY$vZF+``;+_+w5DISOZXxr-15|RSy}gqK4u#3$ywjlT24qIp)xo-<0VA6 zc<t^4rO*8ji@d*}M9eq{4sv4Sv^epzRar|$6;l}dq*=klJWa$6Dv43vT$!ZQF7T}r zH`{P#@t4v=*R>zNZ|Q=wdXQc|xZZ|H`4Zb0C{*uYpvm2x%RCL4V0H}*@)X>0ZxA!< z8R-7*i1GSvPjO^9^9xr&FkDQ6y3XZysS|?@EY}H;*ZR9e{x67_09FZ~4#d>loO2CA zEKmv^>GQeIte=G~Gdxvu_PnQG7-j`fvN{4~;lg%xT9Lu04V|4ob7q{R@lZkCm?N#N z;{?q7Luq}34(Dr`2b+_Upj;3=yT|0=^{aKH69#a*9l84dssrV=bnT_lj@Q2T$v}$5 zv~}90i_z>FASr_qb75h#?khfwrI#nup{?qagig@Hq;f3@Zz)Oz%sn+pW>Zy0CKQ(4 z7rt8pDIz8Mf|#oxOi5^Gj7a*isk_U-1Cd|y1_Na$DfH?m--8pMTOMATuLlizqPsn< zAYEg5!$PYIRSvvf3i+k;qi_1n(OP7to8H0<Q$9rPl~~ZKH<Og|69<JP<9T3Qa@n<5 zZGDYTXXY@WU$~$cR<45$p3<0i-%1mL8z!K&?r1BD9jC;ZVGxhXqN0CGS%@bqZQ)m? zs!Q*^oSs#7Rw<@L(NqV$2QT2DBwm5mgCGV;_5Ep>BX@6Db-zc}!pQ_CN17F)3O#9@ zwIwuHV5*7~PJJ-&5Bq3D!Hd~G8e43qhMa6i7l%%IDriCT6>BQ+nLmSMJz-k~uv)}S zny!E5gozLpCF&YR9^?nL4=AQEAP|Ay6I@WeRjjEC<?h7j4JAGgTjz&T^Tau#ucDK6 z|3V}M)LmXtTx0tBG1oCmA<`5<S$CE==J)FiZ0f)+weUJNoV*nG*M26=nh|cToDN6n zI?T-+aW(J8Zi2h3m5EPpp^INUr+O629XKEQ_)3Dzey5W}Y4Z)I_MeERZlMJ`s(XHv zS+zT4&TfpsTBt7otEn#dN=QZssUBvSlXVO&$<#JU>66R=t>XJZflbodve<cDpKim~ z>dl76@PrrG$2E93W*%#Y?Iqe}``2aaly24N?WcOVmj>5FfKsiiqjhbC4Md_j0ZCA1 zZ`0x5I<{AbXIJD62uZj2#Hh4ptTl@W5Y4Hg`MtsBW+LU515IwSe4MV>;4IatC65Y~ z4!iZ5YQU1G6*sFUn~u2=!H*xbp}xRF0Rr<va@^JXYA4|i-|E+4l4@-^1fy`#F(!UH zQ>uQ$-Vk#OA43dZjbPk)eBIe(iYMU+UpkxJcZ`)IIctnt;C)*V>cKXLG~+&XZQkCl zIQ1axa?Xgwg7)O*G8A_qVehAcvN^+|$i&TZ+EvwZ+={o#?*HT?3HN_W;>n+J=cQT; zY`Hz6*gHkoUpFfFh}Yx?|NBkFflhDwZ`L4H4cMWEolGz?tm-o*R4sL^ReqHI($5-I z5@v<)W8u1@wZ%{nWIO<}a{dzZzu-5~zha-T)lnF8qVM;PqljtJ%y|yQBCS0>j2YCk z?#-Rqh}q?Om%KIMJy~JSc%{(C7RrC^Wvn?I60B}1qyu?UL0(j-{_9bW`I5`yB+x6q zyon!tA+O#k>E$po>8heTZd~0vFuUs4S+X8c@t!$gXpp?IV;K~JGkGWe%t`UY;5_kk zkT!g2U;}={(c|w0fMm_ZMUK2UYG90&MZ3IU9n23->2Z&g{2(z`l9!gT*b4T08PKSc ze>2XcoK@SaM87;id@%bO?Gbz&IS3r&`#Y*$FrWC^eVxBOcpjaVh*)ni01jsKLxWl} z${GQ!-z*QgIz1Iw&co9W{8O=Wp3A^x)v}FMuQc?MA$kdS*r`{TQCHTqW_-7?rl!)G zmwIw58CLaGz-Qfc=k26j#>|=M&x(A-M^`PB13C5$Vr*pGJ~+^eAZuZ4sVTIl#uWJ& zK?s!9ks5%_9vQ35A;3nSgq#@(-r5^hxRcIs`QtTnw=0QLx@yoT=KhM97rdgbVv1@Q zc;Z#Ir7`lnDvmBn9RYHY`o>C7K}4?C!uxRW6Ch9qmwnP-w{*ieE~;Y#i)t)w%d7s3 z)%sTkV`a+*TIu&xl%E%irko@|y=@D>=(wIGc8A?&7BD_AAutIB1uG5%0vZJX1QeVN wQ7Obab<tQ4X%PeQH*6`*Xto3t>h=#FSZ!u;V3^966!bvMk3Q}30s{etpjndp1poj5 literal 3297 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 A82|tP diff --git a/api/api-ingest/ingest-external/src/main/resources/dev/keystore_ingest-external.jks b/api/api-ingest/ingest-external/src/main/resources/dev/keystore_ingest-external.jks index a39b67cc37abfde7a4092359d206e3e7433388cf..4398bbede22eab379c3e9eebe2a319c204dddbd1 100644 GIT binary patch delta 3637 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 HUNOsC7|Z$D delta 3613 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 diff --git a/api/api-ingest/ingest-external/src/main/resources/dev/truststore_server.jks b/api/api-ingest/ingest-external/src/main/resources/dev/truststore_server.jks index 614bace31449a03118733978f1716b3326e539c0..3ad9932ba4e9f999eebcacf469be064e2e7ad982 100644 GIT binary patch delta 3567 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 delta 3567 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 diff --git a/api/api-pastis/pastis-client/pom.xml b/api/api-pastis/pastis-client/pom.xml new file mode 100644 index 000000000..d29d0ac33 --- /dev/null +++ b/api/api-pastis/pastis-client/pom.xml @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns="http://maven.apache.org/POM/4.0.0" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <parent> + <artifactId>api-pastis</artifactId> + <groupId>fr.gouv.vitamui</groupId> + <version>5.0-SNAPSHOT</version> + </parent> + <modelVersion>4.0.0</modelVersion> + + <artifactId>pastis-client</artifactId> + <packaging>jar</packaging> + <name>VITAMUI Pastis Client API</name> + + <dependencies> + + <!-- VITAMUI --> + + <dependency> + <groupId>fr.gouv.vitamui.commons</groupId> + <artifactId>commons-api</artifactId> + </dependency> + + <dependency> + <groupId>fr.gouv.vitamui.commons</groupId> + <artifactId>commons-rest</artifactId> + </dependency> + + <dependency> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>pastis-commons</artifactId> + <version>5.0-SNAPSHOT</version> + </dependency> + + <!-- JSON --> + + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-databind</artifactId> + </dependency> + + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-core</artifactId> + </dependency> + + <!-- SPRING --> + + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-web</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-webflux</artifactId> + </dependency> + + <!-- TEST --> + + <dependency> + <groupId>org.junit.jupiter</groupId> + <artifactId>junit-jupiter-engine</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-core</artifactId> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>org.easymock</groupId> + <artifactId>easymock</artifactId> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>org.powermock</groupId> + <artifactId>powermock-api-easymock</artifactId> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>org.powermock</groupId> + <artifactId>powermock-module-junit4</artifactId> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-test</artifactId> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>fr.gouv.vitamui.commons</groupId> + <artifactId>commons-test</artifactId> + <type>test-jar</type> + <scope>test</scope> + </dependency> + + </dependencies> + +</project> diff --git a/api/api-pastis/pastis-client/src/main/java/fr/gouv/vitamui/pastis/client/PastisRestClientFactory.java b/api/api-pastis/pastis-client/src/main/java/fr/gouv/vitamui/pastis/client/PastisRestClientFactory.java new file mode 100644 index 000000000..69e1c1226 --- /dev/null +++ b/api/api-pastis/pastis-client/src/main/java/fr/gouv/vitamui/pastis/client/PastisRestClientFactory.java @@ -0,0 +1,66 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.client; + +import fr.gouv.vitamui.commons.rest.client.BaseRestClientFactory; +import fr.gouv.vitamui.commons.rest.client.configuration.HttpPoolConfiguration; +import fr.gouv.vitamui.commons.rest.client.configuration.RestClientConfiguration; +import org.springframework.boot.web.client.RestTemplateBuilder; + + +public class PastisRestClientFactory extends BaseRestClientFactory { + + public PastisRestClientFactory( + RestClientConfiguration restClientConfiguration, + RestTemplateBuilder restTemplateBuilder) { + super(restClientConfiguration, restTemplateBuilder); + } + + public PastisRestClientFactory( + RestClientConfiguration restClientConfig, + HttpPoolConfiguration httpPoolConfig, + RestTemplateBuilder restTemplateBuilder) { + super(restClientConfig, httpPoolConfig, restTemplateBuilder); + } + + public PastisTransformationRestClient getPastisTransformationRestClient() { + return new PastisTransformationRestClient(getRestTemplate(), getBaseUrl()); + } + +} diff --git a/api/api-pastis/pastis-client/src/main/java/fr/gouv/vitamui/pastis/client/PastisTransformationRestClient.java b/api/api-pastis/pastis-client/src/main/java/fr/gouv/vitamui/pastis/client/PastisTransformationRestClient.java new file mode 100644 index 000000000..9d30c7f06 --- /dev/null +++ b/api/api-pastis/pastis-client/src/main/java/fr/gouv/vitamui/pastis/client/PastisTransformationRestClient.java @@ -0,0 +1,169 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.client; + +import fr.gouv.vitamui.commons.api.domain.PaginatedValuesDto; +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.commons.rest.client.BasePaginatingAndSortingRestClient; +import fr.gouv.vitamui.commons.rest.client.ExternalHttpContext; +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; +import fr.gouv.vitamui.pastis.common.dto.profiles.Notice; +import fr.gouv.vitamui.pastis.common.dto.profiles.ProfileNotice; +import fr.gouv.vitamui.pastis.common.dto.profiles.ProfileResponse; +import fr.gouv.vitamui.pastis.common.rest.RestApi; +import fr.gouv.vitamui.pastis.common.util.FileSystemResource; +import org.springframework.core.ParameterizedTypeReference; +import org.springframework.core.io.Resource; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpMethod; +import org.springframework.http.ResponseEntity; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.client.RestTemplate; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.util.UriComponentsBuilder; + +import java.io.IOException; +import java.util.List; + +public class PastisTransformationRestClient + extends BasePaginatingAndSortingRestClient<ProfileResponse, ExternalHttpContext> { + + private static final VitamUILogger LOGGER = + VitamUILoggerFactory.getInstance(PastisTransformationRestClient.class); + + public PastisTransformationRestClient(RestTemplate restTemplate, + String baseUrl) { + super(restTemplate, baseUrl); + } + + @Override + protected Class<ProfileResponse> getDtoClass() { + return ProfileResponse.class; + } + + @Override + protected ParameterizedTypeReference<List<ProfileResponse>> getDtoListClass() { + return new ParameterizedTypeReference<List<ProfileResponse>>() { + }; + } + + @Override + protected ParameterizedTypeReference<PaginatedValuesDto<ProfileResponse>> getDtoPaginatedClass() { + return new ParameterizedTypeReference<PaginatedValuesDto<ProfileResponse>>() { + }; + } + + @Override + public String getPathUrl() { + return RestApi.PASTIS; + } + + public ResponseEntity<ProfileResponse> loadProfile(Notice notice, ExternalHttpContext context) + throws IOException { + LOGGER.debug("Transform profile"); + MultiValueMap<String, String> headers = buildSearchHeaders(context); + final HttpEntity<Notice> request = new HttpEntity<>(notice, headers); + final ResponseEntity<ProfileResponse> response = + restTemplate.exchange(getUrl() + RestApi.PASTIS_TRANSFORM_PROFILE, HttpMethod.POST, + request, ProfileResponse.class); + return response; + } + + public ResponseEntity<ProfileResponse> loadProfileFromFile(MultipartFile file, ExternalHttpContext context) + throws IOException { + LOGGER.debug("Upload profile"); + final UriComponentsBuilder uriBuilder = + UriComponentsBuilder.fromHttpUrl(getUrl() + RestApi.PASTIS_UPLOAD_PROFILE); + MultiValueMap<String, Object> bodyMap = new LinkedMultiValueMap<>(); + bodyMap.add("file", new FileSystemResource(file.getBytes(), file.getOriginalFilename())); + final HttpEntity<MultiValueMap<String, Object>> request = new HttpEntity<>(bodyMap, buildHeaders(context)); + return restTemplate.exchange(getUrl() + RestApi.PASTIS_UPLOAD_PROFILE, + HttpMethod.POST, + request, + ProfileResponse.class); + } + + public ResponseEntity<String> getArchiveProfile(final ElementProperties json, ExternalHttpContext context) + throws IOException { + LOGGER.debug("Download archive profile"); + MultiValueMap<String, String> headers = buildSearchHeaders(context); + final HttpEntity<ElementProperties> request = new HttpEntity<>(json, headers); + final ResponseEntity<String> response = + restTemplate.exchange(getUrl() + RestApi.PASTIS_DOWNLOAD_PA, HttpMethod.POST, + request, String.class); + return response; + } + + public ResponseEntity<String> getArchiveUnitProfile(final ProfileNotice json, ExternalHttpContext context) + throws IOException { + LOGGER.debug("Download Arichivale unit profile"); + MultiValueMap<String, String> headers = buildSearchHeaders(context); + final HttpEntity<ProfileNotice> request = new HttpEntity<>(json, headers); + final ResponseEntity<String> response = + restTemplate.exchange(getUrl() + RestApi.PASTIS_DOWNLOAD_PUA, HttpMethod.POST, + request, String.class); + return response; + } + + + public ResponseEntity<ElementProperties> loadProfilePA(Resource resource, ExternalHttpContext context) + throws IOException { + LOGGER.debug("Upload profile"); + MultiValueMap<String, Object> bodyMap = new LinkedMultiValueMap<>(); + bodyMap.add("file", new FileSystemResource(resource.getInputStream().readAllBytes(), "test_eeee.rng")); + final HttpEntity<MultiValueMap<String, Object>> request = new HttpEntity<>(bodyMap, buildHeaders(context)); + return restTemplate.exchange(getUrl() + RestApi.PASTIS_TRANSFORM_PROFILE_PA, + HttpMethod.POST, + request, + ElementProperties.class); + } + + public ResponseEntity<ProfileResponse> createProfile(String profileType, ExternalHttpContext context) + throws IOException { + LOGGER.debug("Transform profile"); + MultiValueMap<String, String> headers = buildSearchHeaders(context); + final HttpEntity<Notice> request = new HttpEntity<>(headers); + final ResponseEntity<ProfileResponse> response = + restTemplate.exchange(getUrl() + RestApi.PASTIS_CREATE_PROFILE + "?type=" + profileType, HttpMethod.GET, + request, ProfileResponse.class); + return response; + } +} diff --git a/api/api-pastis/pastis-commons/pom.xml b/api/api-pastis/pastis-commons/pom.xml new file mode 100644 index 000000000..f1b229ebc --- /dev/null +++ b/api/api-pastis/pastis-commons/pom.xml @@ -0,0 +1,150 @@ +<?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"> + <parent> + <artifactId>api-pastis</artifactId> + <groupId>fr.gouv.vitamui</groupId> + <version>5.0-SNAPSHOT</version> + </parent> + <modelVersion>4.0.0</modelVersion> + + <artifactId>pastis-commons</artifactId> + <name>VITAMUI Pastis Commons</name> + + + <dependencies> + <!-- VITAMUI --> + <dependency> + <groupId>fr.gouv.vitamui.commons</groupId> + <artifactId>commons-api</artifactId> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui.commons</groupId> + <artifactId>commons-vitam</artifactId> + </dependency> + + <dependency> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + <scope>compile</scope> + </dependency> +<!-- + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-databind</artifactId> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-core</artifactId> + </dependency> +--> + + + <!--Start of Jaxb API and it's implementation and dependencies- Java11--> + <dependency> + <groupId>javax.xml.bind</groupId> + <artifactId>jaxb-api</artifactId> + <version>2.3.1</version> + </dependency> + + <dependency> + <groupId>com.sun.xml.bind</groupId> + <artifactId>jaxb-impl</artifactId> + <version>2.3.1</version> + </dependency> + + <dependency> + <groupId>com.sun.istack</groupId> + <artifactId>istack-commons-runtime</artifactId> + <version>4.0.0-M2</version> + </dependency> + + <!--End of Jaxb API and it's implementation and dependencies- Java11--> + + <dependency> + <groupId>org.json</groupId> + <artifactId>json</artifactId> + <version>20180813</version> + </dependency> + + <dependency> + <groupId>javax.xml.parsers</groupId> + <artifactId>jaxp-api</artifactId> + <version>1.4.5</version> + </dependency> + + <dependency> + <groupId>com.fasterxml</groupId> + <artifactId>jackson-xml-databind</artifactId> + <version>0.6.2</version> + </dependency> + + <dependency> + <groupId>com.thaiopensource</groupId> + <artifactId>jing</artifactId> + <version>20091111</version> + <exclusions> + <exclusion> + <groupId>xml-apis</groupId> + <artifactId>xml-apis</artifactId> + </exclusion> + <exclusion> + <groupId>net.sf.saxon</groupId> + <artifactId>saxon</artifactId> + </exclusion> + <exclusion> + <groupId>xerces</groupId> + <artifactId>xercesImpl</artifactId> + </exclusion> + </exclusions> + </dependency> + + <dependency> + <groupId>com.thaiopensource</groupId> + <artifactId>trang</artifactId> + <version>20091111</version> + <exclusions> + <exclusion> + <groupId>xml-apis</groupId> + <artifactId>xml-apis</artifactId> + </exclusion> + <exclusion> + <groupId>net.sf.saxon</groupId> + <artifactId>saxon</artifactId> + </exclusion> + <exclusion> + <groupId>xerces</groupId> + <artifactId>xercesImpl</artifactId> + </exclusion> + </exclusions> + </dependency> + + <dependency> + <groupId>org.opengis.cite.xerces</groupId> + <artifactId>xercesImpl-xsd11</artifactId> + <version>2.12-beta-r1667115</version> + </dependency> + + <dependency> + <groupId>xml-resolver</groupId> + <artifactId>xml-resolver</artifactId> + <version>1.2</version> + </dependency> + <dependency> + <groupId>org.skyscreamer</groupId> + <artifactId>jsonassert</artifactId> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>com.google.code.gson</groupId> + <artifactId>gson</artifactId> + </dependency> + + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-tomcat</artifactId> + </dependency> + </dependencies> + +</project> diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/ElementProperties.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/ElementProperties.java new file mode 100644 index 000000000..fd008a7ef --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/ElementProperties.java @@ -0,0 +1,147 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import fr.gouv.vitamui.pastis.common.util.RNGConstants; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Stream; + +@Data +@NoArgsConstructor +public class ElementProperties implements Serializable { + + private static final long serialVersionUID = -5093112183496503253L; + + String name; + String type; + String cardinality; + String groupOrChoice; + String valueOrData; + String dataType; + String value; + String documentation; + + @JsonIgnore + Object sedaData; + + int level; + Long id; + Long parentId; + + @JsonIgnore + ElementProperties parent; + + List<ElementProperties> choices = new ArrayList<ElementProperties>(); + + List<ElementProperties> children = new ArrayList<ElementProperties>(); + + PuaData puaData; + + + public void setCardinality(String cardinality) { + if(null != RNGConstants.CardinalityMap.get(cardinality)) { + this.cardinality = RNGConstants.CardinalityMap.get(cardinality); + }else { + this.cardinality = cardinality; + } + } + + public String getGroupOrChoice() { + return groupOrChoice; + } + + public void setGroupOrChoice(String groupOrChoice) { + if(null != RNGConstants.GroupOrChoiceMap.get(groupOrChoice)) { + this.groupOrChoice = RNGConstants.GroupOrChoiceMap.get(groupOrChoice); + }else { + this.groupOrChoice = groupOrChoice; + } + } + + @JsonIgnore + public Object getSedaData() { + return sedaData; + } + + @JsonIgnore + public void setSedaData(Object sedaData) { + this.sedaData = sedaData; + } + + @JsonIgnore + public ElementProperties getParent() { + return parent; + } + + @JsonIgnore + public void setParent(ElementProperties parent) { + this.parent = parent; + } + + + + public void init() { + this.setName(""); + this.setCardinality(""); + this.setValueOrData(""); + this.setGroupOrChoice(""); + this.setValue(""); + this.setType(""); + this.setDataType(""); + + } + public void initTree(ElementProperties json) { + for(ElementProperties child : json.getChildren()) { + child.setParent(json); + initTree(child); + } + } + + public Stream<ElementProperties> flattened() { + return Stream.concat( + Stream.of(this), + children.stream().flatMap(ElementProperties::flattened)); + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/ElementRNG.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/ElementRNG.java new file mode 100644 index 000000000..9ef637717 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/ElementRNG.java @@ -0,0 +1,214 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.common.dto; + +import fr.gouv.vitamui.pastis.common.util.RNGConstants; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlTransient; +import java.util.ArrayList; +import java.util.List; + +import static fr.gouv.vitamui.pastis.common.util.RNGConstants.TypesMap; + +/** + * @author Paulo Pimenta <pimenta@cines.fr> + */ +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) +@Data +@NoArgsConstructor +public class ElementRNG { + + + String name; + + String type; + + String dataType; + + String value; + + ElementRNG parent; + + private static Logger LOGGER = LoggerFactory.getLogger(ElementRNG.class); + + + public static ElementProperties elementStatic = new ElementProperties(); + + public static ElementProperties elementStaticRoot = new ElementProperties(); + + private static long idCounter = 0; + + List<ElementRNG> children = new ArrayList<ElementRNG>(); + + @XmlAttribute + public String getName() { + return name; + } + + @XmlElement + public String getType() { + return type; + } + + + @XmlAttribute(name = "type") + public String getDataType() { + return dataType; + } + + + @XmlElement(name = "rng:value") + public String getValue() { + return value; + } + + + @XmlTransient + public ElementRNG getParent() { + return parent; + } + + + @XmlAnyElement + public List<ElementRNG> getChildren() { + return children; + } + + public static void setDataForParentElementOrAttribute(ElementProperties parentNode, ElementRNG node) { + if (null != parentNode.getType() && (RNGConstants.MetadaDataType.element.toString().equals(parentNode.getType()) + || RNGConstants.MetadaDataType.attribute.toString().equals(parentNode.getType()))) { + parentNode.setValueOrData(node.getType()); + if (TypesMap.containsKey(parentNode.getName())) { + parentNode.setDataType(TypesMap.get(parentNode.getName()).getLabel()); + } + parentNode.setValue(node.getValue()); + } else { + setDataForParentElementOrAttribute(parentNode.getParent(), node); + } + } + + + public static void setDocumentationForParentElement(ElementProperties parentNode, ElementRNG node) { + if (null != parentNode.getType() && + RNGConstants.MetadaDataType.element.toString().equals(parentNode.getType())) { + parentNode.setDocumentation(node.getValue()); + } else { + setDocumentationForParentElement(parentNode.getParent(), node); + } + } + + public static void setElementsForGroupOrChoice(ElementProperties parentNode, ElementRNG node) { + + if (null != parentNode.getType() && (RNGConstants.GroupOrChoice.group.toString().equals(parentNode.getType()) + || RNGConstants.GroupOrChoice.choice.toString().equals(parentNode.getType()))) { + parentNode.setGroupOrChoice(node.getType()); + } else { + setElementsForGroupOrChoice(parentNode.getParent(), node); + } + } + + // Build the a tree of properties given : + // a node + //the level of the node + //the parent of the node + public static ElementProperties buildElementPropertiesTree(ElementRNG node, int profondeur, + ElementProperties parentNode) { + ElementProperties local = new ElementProperties(); + LOGGER.info("Generating JSON element {}", node.getName()); + if (null != node.getType() && RNGConstants.MetadaDataType.element.toString().equals(node.getType()) + || RNGConstants.MetadaDataType.attribute.toString().equals(node.getType())) { + + local.setCardinality(elementStatic.getCardinality()); + local.setGroupOrChoice(elementStatic.getGroupOrChoice()); + local.setName(node.getName()); + local.setType(node.getType()); + local.setLevel(profondeur); + local.setValue(node.getValue()); + + + elementStatic = new ElementProperties(); + + if (null != parentNode) { + local.setParent(parentNode); + local.setParentId(parentNode.getId()); + local.setId(ElementRNG.idCounter++); + parentNode.getChildren().add(local); + } else { + local.setId(ElementRNG.idCounter++); + local.setParentId(null); + elementStaticRoot = local; + } + } else { + + if (RNGConstants.isValueOrData(node.getType())) { + setDataForParentElementOrAttribute(parentNode, node); + } else if (RNGConstants.isCardinality(node.getType())) { + elementStatic.setCardinality(node.getType()); + } else if (RNGConstants.hasGroupOrChoice(node.getType())) { + elementStatic.setGroupOrChoice(node.getType()); + } else if ("documentation".equals(node.getType())) { + if (null != node.getValue()) { + setDocumentationForParentElement(parentNode, node); + } + } + + local = parentNode; + } + + for (ElementRNG next : node.getChildren()) { + if (null != next.getType() && (RNGConstants.MetadaDataType.element.toString().equals(next.getType()) + || RNGConstants.MetadaDataType.attribute.toString().equals(next.getType()))) { + buildElementPropertiesTree(next, profondeur + 1, local); + } else { + buildElementPropertiesTree(next, profondeur, local); + } + } + return local; + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/JsonFromRng.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/JsonFromRng.java new file mode 100644 index 000000000..061e42389 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/JsonFromRng.java @@ -0,0 +1,82 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.common.dto; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import fr.gouv.vitamui.pastis.common.util.RNGConstants; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class JsonFromRng { + + String name; + + String type; + + String cardinality; + + String valuleOrData; + + String dataType; + + String value; + + String documentation; + + int level; + + Long id; + + Long parentId; + + @JsonIgnore + ElementProperties parent; + + List<ElementProperties> children = new ArrayList<ElementProperties>(); + + public void setCardinality(String cardinality) { + if(null != RNGConstants.CardinalityMap.get(cardinality)) { + this.cardinality = RNGConstants.CardinalityMap.get(cardinality); + }else { + this.cardinality = cardinality; + } + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/PuaData.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/PuaData.java new file mode 100644 index 000000000..b7d70a36d --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/PuaData.java @@ -0,0 +1,58 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class PuaData { + + Boolean AdditionalProperties; + List<String> Enum; + String Pattern; + Integer MinLenght; + Integer MaxLenght; + Integer Minimum; + Integer Maximum; + Boolean ExclusiveMinimum; + Boolean ExclusiveMaximum; + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/AbstractTagFactory.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/AbstractTagFactory.java new file mode 100644 index 000000000..425ba9fc8 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/AbstractTagFactory.java @@ -0,0 +1,51 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.factory; + +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; + +import java.util.Map; + +public interface AbstractTagFactory<T> { + + T createTag(ElementProperties node, Tag tag, int level); + + Map<RngTag, RngTag> createTagWithTag(ElementProperties node, RngTag tag, RngTag currentTag, int level); + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/AnnotationTag.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/AnnotationTag.java new file mode 100644 index 000000000..7d3a7fd0f --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/AnnotationTag.java @@ -0,0 +1,55 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.factory; + +import lombok.Setter; + +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "xsd:annotation") +@Setter +public class AnnotationTag extends RngTag { + DocumentationTag documentationTag; + + @XmlElement(name = "xsd:documentation") + public DocumentationTag getDocumentationTag() { + return documentationTag; + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/AttributeTag.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/AttributeTag.java new file mode 100644 index 000000000..d7e166fe6 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/AttributeTag.java @@ -0,0 +1,46 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.factory; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "rng:attribute") +public class AttributeTag extends RngTag { + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/CardinalityTag.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/CardinalityTag.java new file mode 100644 index 000000000..97c314500 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/CardinalityTag.java @@ -0,0 +1,46 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.factory; + +import javax.xml.bind.annotation.XmlSeeAlso; + +@XmlSeeAlso({OneOrMoreTag.class, ZeroOrMoreTag.class, OptionalTag.class}) +public class CardinalityTag extends RngTag { + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/CardinalityTagFactory.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/CardinalityTagFactory.java new file mode 100644 index 000000000..77ec1dcfb --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/CardinalityTagFactory.java @@ -0,0 +1,83 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.factory; + +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; +import fr.gouv.vitamui.pastis.common.util.RNGConstants; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Map; + +public class CardinalityTagFactory implements AbstractTagFactory<CardinalityTag> { + + private static final Logger LOGGER = LoggerFactory.getLogger(CardinalityTagFactory.class); + + @Override + public CardinalityTag createTag(ElementProperties node, Tag cardinalityTag, int level) { + if (node.getCardinality().equals(RNGConstants.Cardinality.zeroOrMore.getLabel())) { + return new ZeroOrMoreTag(); + } else if (node.getCardinality().equals(RNGConstants.Cardinality.oneOrMore.getLabel())) { + return new OneOrMoreTag(); + } else if (node.getCardinality().equals(RNGConstants.Cardinality.optional.getLabel())) { + return new OptionalTag(); + } + return null; + } + + @Override + public Map<RngTag, RngTag> createTagWithTag(ElementProperties node, RngTag tag, RngTag currentTag, int level) { + return null; + } + + public RNGConstants.Cardinality checkCardinalityType(String cardinalityType) { + if (cardinalityType.equals("ZeroOrMoreTag")) { + return RNGConstants.Cardinality.zeroOrMore; + } + if (cardinalityType.equals("OneOrMoreTag")) { + return RNGConstants.Cardinality.oneOrMore; + } + if (cardinalityType.equals("OptionalTag")) { + return RNGConstants.Cardinality.optional; + } + return null; + } + + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/ChoiceTag.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/ChoiceTag.java new file mode 100644 index 000000000..e90c3aae1 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/ChoiceTag.java @@ -0,0 +1,45 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.factory; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "rng:choice") +public class ChoiceTag extends RngTag { +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/DataTag.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/DataTag.java new file mode 100644 index 000000000..fcdd5a4ea --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/DataTag.java @@ -0,0 +1,54 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.factory; + +import fr.gouv.vitamui.pastis.common.util.RNGConstants; +import lombok.NoArgsConstructor; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "rng:data") +@NoArgsConstructor +public class DataTag extends RngTag { + + public DataTag(RNGConstants.DataType dataType, RngTag parent) { + this.setDataType(dataType.getLabel()); + this.setParent(parent); + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/DataTagFactory.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/DataTagFactory.java new file mode 100644 index 000000000..9fbc96598 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/DataTagFactory.java @@ -0,0 +1,72 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.factory; + +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; + +import java.util.HashMap; +import java.util.Map; + +public class DataTagFactory implements AbstractTagFactory { + + + @Override + public Object createTag(ElementProperties node, Tag tag, int level) { + return null; + } + + @Override + public Map<RngTag, RngTag> createTagWithTag(ElementProperties node, RngTag dataRNG, RngTag currentTag, int level) { + + Map<RngTag, RngTag> rngMapTags = new HashMap<>(); + + if (!currentTag.getChildren().isEmpty() && + (currentTag.getChildren().get(0) instanceof ElementTag + || currentTag.getChildren().get(0) instanceof AttributeTag)) { + RngTag currentTagFirstChild = (RngTag) currentTag.getChildren().get(0); + currentTagFirstChild.getChildren().add(dataRNG); + dataRNG.setParent(currentTag); + } else { + currentTag.getChildren().add(dataRNG); + dataRNG.setParent(currentTag); + } + rngMapTags.put(dataRNG, currentTag); + return rngMapTags; + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/DocumentationTag.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/DocumentationTag.java new file mode 100644 index 000000000..aea5423fc --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/DocumentationTag.java @@ -0,0 +1,54 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.factory; + +import lombok.Setter; + +import javax.xml.bind.annotation.XmlElement; + +@Setter +public class DocumentationTag extends RngTag { + + String documentation; + + @XmlElement(name = "xsd:documentation") + public String getDocumentation() { + return documentation; + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/ElementTag.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/ElementTag.java new file mode 100644 index 000000000..1787417c9 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/ElementTag.java @@ -0,0 +1,46 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.factory; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "rng:element") +public class ElementTag extends RngTag { + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/GrammarTag.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/GrammarTag.java new file mode 100644 index 000000000..597f05f13 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/GrammarTag.java @@ -0,0 +1,60 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.factory; + +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "rng:grammar") +public class GrammarTag extends RngTag { + + @XmlAttribute(name = "datatypeLibrary") + private String datatypeLibrary = "http://www.w3.org/2001/XMLSchema-datatypes"; + + @XmlAttribute(name = "ns") + private String ns = "fr:gouv:culture:archivesdefrance:seda:v2.1"; + + @XmlAttribute(name = "xmlns") + private String xmlns = "fr:gouv:culture:archivesdefrance:seda:v2.1"; + + @XmlAttribute(name = "xmlns:xsd") + private String xd = "http://www.w3.org/2001/XMLSchema"; + + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/GroupTag.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/GroupTag.java new file mode 100644 index 000000000..1520ef2a5 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/GroupTag.java @@ -0,0 +1,45 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.factory; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "rng:group") +public class GroupTag extends RngTag { +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/OneOrMoreTag.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/OneOrMoreTag.java new file mode 100644 index 000000000..5e582bcec --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/OneOrMoreTag.java @@ -0,0 +1,46 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.factory; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "rng:oneOrMore") +public class OneOrMoreTag extends CardinalityTag { + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/OptionalTag.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/OptionalTag.java new file mode 100644 index 000000000..cdce8a36c --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/OptionalTag.java @@ -0,0 +1,45 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.factory; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "rng:optional") +public class OptionalTag extends CardinalityTag { +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/PastisFactoryTagProvider.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/PastisFactoryTagProvider.java new file mode 100644 index 000000000..d6206acde --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/PastisFactoryTagProvider.java @@ -0,0 +1,59 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.factory; + +public class PastisFactoryTagProvider { + + public static AbstractTagFactory getFactory(String factoryType) { + + if ("RngTag".equalsIgnoreCase(factoryType)) { + return new RngTagFactory(); + } + if ("Cardinality".equalsIgnoreCase(factoryType)) { + return new CardinalityTagFactory(); + } + if ("DataTag".equalsIgnoreCase(factoryType)) { + return new DataTagFactory(); + } else if ("Value".equalsIgnoreCase(factoryType)) { + return new ValueTagFactory(); + } + + return null; + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/RngTag.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/RngTag.java new file mode 100644 index 000000000..bbc0c5322 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/RngTag.java @@ -0,0 +1,85 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.factory; + +import lombok.Getter; +import lombok.Setter; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlSeeAlso; + +@XmlRootElement +@XmlSeeAlso({GrammarTag.class, StartTag.class, ElementTag.class, CardinalityTag.class, DataTag.class, + AttributeTag.class, + ValueTag.class, DocumentationTag.class, AnnotationTag.class, GroupTag.class, ChoiceTag.class}) +@Setter +@Getter +public class RngTag extends Tag { + + private static final Logger LOGGER = LoggerFactory.getLogger(RngTag.class); + + String name; + String dataType; + String groupOrChoice; + ValueTag valueTag; + + + @XmlAttribute + public String getName() { + return name; + } + + @XmlAttribute(name = "type") + public String getDataType() { + return dataType; + } + + @XmlElement(name = "rng:value") + public ValueTag getValueTag() { + return valueTag; + } + + +} + + diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/RngTagFactory.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/RngTagFactory.java new file mode 100644 index 000000000..fa2043f66 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/RngTagFactory.java @@ -0,0 +1,234 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.factory; + +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; +import fr.gouv.vitamui.pastis.common.util.RNGConstants; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +public class RngTagFactory implements AbstractTagFactory<RngTag> { + + private static final Logger LOGGER = LoggerFactory.getLogger(RngTagFactory.class); + + static RngTag rngTree; + + + @Override + public RngTag createTag(ElementProperties node, Tag parentNode, int profondeur) { + + ValueTag valueRNG = null; + DataTag dataRNG = null; + CardinalityTag cardinalityRNG = null; + RngTag elementOrAttributeRNG = null; + AnnotationTag annotationRNG = null; + DocumentationTag documentationRNG = null; + GroupTag groupTag = null; + ChoiceTag choiceTag = null; + + // 0 . Create objects according to node data; + // If the node has a value + if (null != node.getValue() && !node.getValue().equals("undefined")) { + valueRNG = new ValueTag(); + valueRNG.setValue(node.getValue()); + } + + if (node.getChildren().stream().filter(c -> !c.getType().equals(RNGConstants.MetadaDataType.element)).count() == + 0) { + if (valueRNG == null && RNGConstants.TypesMap.containsKey(node.getName())) { + dataRNG = new DataTag(); + dataRNG.setDataType(RNGConstants.TypesMap.get(node.getName()).getLabel()); + } + } + + // When a value is declared in a profile element, the <rng:data> tag must be suppressed + // to assure that the generated profile is successfully imported by VITAM + if (null != node.getValueOrData() && !node.getValueOrData().equals("undefined") && node.getValue() == null) { + if (node.getValueOrData().equals("data")) { + dataRNG = new DataTag(); + } + } + // Sets the type of data (if value or data) + if (null != node.getDataType() && !node.getDataType().equals("undefined")) { + if (null != valueRNG) { + valueRNG.setDataType(node.getDataType()); + } else if (null != dataRNG) { + dataRNG.setDataType(node.getDataType()); + } + } + // Set annotation and documentation tags (if exists) + if (null != node.getDocumentation()) { + annotationRNG = new AnnotationTag(); + documentationRNG = new DocumentationTag(); + documentationRNG.setDocumentation(node.getDocumentation()); + annotationRNG.setDocumentationTag(documentationRNG); + } + + if (null != node.getType() && !node.getType().equals("undefined")) { + if (node.getType().equals("element")) { + elementOrAttributeRNG = new ElementTag(); + } else if (node.getType().equals("attribute")) { + elementOrAttributeRNG = new AttributeTag(); + } + if (null != node.getName() && !node.getName().equals("undefined")) { + elementOrAttributeRNG.setName(node.getName()); + } + } + + if (null != documentationRNG) { + elementOrAttributeRNG.getChildren().add(annotationRNG); + annotationRNG.setParent(elementOrAttributeRNG); + } + + // Check node's and its children's cardinality + if (node.getCardinality() != null) { + CardinalityTagFactory cardinalityFactory = new CardinalityTagFactory(); + CardinalityTag cardinalityTag = cardinalityFactory.createTag(node, parentNode, profondeur); + LOGGER.info("Parsing " + cardinalityTag.getTagName()); + cardinalityRNG = cardinalityTag; + } + + RngTag currentTag = null; + // 1. Once the objects are created, arrange them accordingly + // 1. Check if it is an element + if (null != elementOrAttributeRNG) { + + if (parentNode != null) + LOGGER.info("Parsing " + elementOrAttributeRNG.getName()); + // 1.1 Check if the element has cardinality + if (null != cardinalityRNG) { + cardinalityRNG.getChildren().add(elementOrAttributeRNG); + elementOrAttributeRNG.setParent(cardinalityRNG); + currentTag = cardinalityRNG; + + } else { + currentTag = elementOrAttributeRNG; + //1.2. Check if it's the first grammar node (Archive transfer) + if (parentNode == null) { + GrammarTag grammarTag = new GrammarTag(); + StartTag startTag = new StartTag(); + startTag.setParent(grammarTag); + grammarTag.getChildren().add(startTag); + currentTag = grammarTag; + } + } + + // 2. Check data tag + if (null != dataRNG) { + DataTagFactory dataTagFactory = new DataTagFactory(); + HashMap dataAndCurrentTagMap = + new HashMap(dataTagFactory.createTagWithTag(node, dataRNG, currentTag, profondeur)); + + currentTag = (RngTag) new ArrayList(dataAndCurrentTagMap.values()).get(0); + + } + // 3. Check value tag + if (null != valueRNG) { + // If Children is empty + if (currentTag.getChildren().isEmpty()) { + if (currentTag instanceof ElementTag) { + currentTag.setValueTag(valueRNG); + valueRNG.setParent(currentTag); + + } else if (currentTag instanceof AttributeTag) { + currentTag.setValueTag(valueRNG); + valueRNG.setParent(currentTag); + } + // If children is Element or Attribute, set accordingly + } else if (currentTag instanceof ElementTag) { + currentTag.setValueTag(valueRNG); + valueRNG.setParent(currentTag); + + } else if (currentTag instanceof AttributeTag) { + currentTag.setValueTag(valueRNG); + valueRNG.setParent(currentTag); + } else { + // Set the value to an simple element + elementOrAttributeRNG.setValueTag(valueRNG); + valueRNG.setParent(elementOrAttributeRNG); + } + } + } + + if (null != currentTag) { + + if (null != parentNode) { + RngTag optionalWithChildren; + optionalWithChildren = (RngTag) parentNode.getChildren() + .stream().filter(cardinality -> cardinality instanceof CardinalityTag) + .findAny() + .orElse(null); + + Boolean optionalHasAlreadyCurrentTag = optionalWithChildren == null + ? false : optionalWithChildren.children.contains(currentTag); + + if (!optionalHasAlreadyCurrentTag) { + currentTag.setParent(parentNode); + parentNode.getChildren().add(currentTag); + } + + } else { + rngTree = currentTag; + } + } + + if (currentTag instanceof GrammarTag) { + this.createTag(node, (RngTag) currentTag.getChildren().get(0), profondeur + 1); + } else { + for (ElementProperties next : node.getChildren()) { + if (currentTag instanceof CardinalityTag) { + this.createTag(next, (RngTag) currentTag.getChildren().get(0), profondeur + 1); + } else { + this.createTag(next, currentTag, profondeur + 1); + } + } + } + return rngTree; + } + + @Override + public Map<RngTag, RngTag> createTagWithTag(ElementProperties node, RngTag tag, RngTag currentTag, int level) { + return null; + } + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/StartTag.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/StartTag.java new file mode 100644 index 000000000..996e73df4 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/StartTag.java @@ -0,0 +1,46 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.factory; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "rng:start") +public class StartTag extends RngTag { + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/Tag.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/Tag.java new file mode 100644 index 000000000..9c114c341 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/Tag.java @@ -0,0 +1,70 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.factory; + +import lombok.Setter; + +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlTransient; +import java.util.ArrayList; +import java.util.List; + +@Setter +public abstract class Tag { + + Tag parent; + List<Tag> children = new ArrayList<>(); + + //@XmlTransient to avoid circular loop parent <-> child + @XmlTransient + public Tag getParent() { + return parent; + } + + @XmlAnyElement + public List<Tag> getChildren() { + return children; + } + + String getTagName() { + return this.getClass().getSimpleName(); + } + + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/ValueTag.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/ValueTag.java new file mode 100644 index 000000000..a11d85b5c --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/ValueTag.java @@ -0,0 +1,70 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.factory; + +import lombok.Setter; + +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlTransient; +import javax.xml.bind.annotation.XmlValue; + +@Setter +public class ValueTag { + + private String dataType; + private String value; + + private Tag parent; + + @XmlAttribute(name = "type") + public String getDataType() { + return dataType; + } + + @XmlValue + public String getValue() { + return value; + } + + @XmlTransient + public Tag getParent() { + return parent; + } + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/ValueTagFactory.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/ValueTagFactory.java new file mode 100644 index 000000000..99076ac77 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/ValueTagFactory.java @@ -0,0 +1,56 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.factory; + +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; + +import java.util.Map; + +public class ValueTagFactory implements AbstractTagFactory { + + @Override + public Tag createTag(ElementProperties node, Tag tag, int level) { + return null; + } + + @Override + public Map<RngTag, RngTag> createTagWithTag(ElementProperties node, RngTag tag, RngTag currentTag, int level) { + return null; + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/ZeroOrMoreTag.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/ZeroOrMoreTag.java new file mode 100644 index 000000000..ab32390e1 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/ZeroOrMoreTag.java @@ -0,0 +1,45 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.factory; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "rng:zeroOrMore") +public class ZeroOrMoreTag extends CardinalityTag { +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/package-info.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/package-info.java new file mode 100644 index 000000000..9f76ab661 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/factory/package-info.java @@ -0,0 +1,54 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +@XmlSchema( + + xmlns = { + @XmlNs(prefix = "a", namespaceURI = "http://relaxng.org/ns/compatibility/annotations/1.0"), + @XmlNs(prefix = "rng", namespaceURI = "http://relaxng.org/ns/structure/1.0"), + @XmlNs(prefix = "seda", namespaceURI = "fr:gouv:culture:archivesdefrance:seda:v2.1"), + @XmlNs(prefix = "xlink", namespaceURI = "http://www.w3.org/1999/xlink"), + @XmlNs(prefix = "xsd", namespaceURI = "http://www.w3.org/2001/XMLSchema"), + }, + elementFormDefault = XmlNsForm.QUALIFIED) + +package fr.gouv.vitamui.pastis.common.dto.factory; + +import javax.xml.bind.annotation.XmlNs; +import javax.xml.bind.annotation.XmlNsForm; +import javax.xml.bind.annotation.XmlSchema; diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/AnnotationXML.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/AnnotationXML.java new file mode 100644 index 000000000..4ca727118 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/AnnotationXML.java @@ -0,0 +1,56 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.common.dto.jaxb; + +import lombok.Setter; + +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "xsd:annotation") +@Setter +public class AnnotationXML extends BaliseXML { + + DocumentationXML documentationXML; + + @XmlElement(name = "xsd:documentation") + public DocumentationXML getDocumentationXML() { + return documentationXML; + } + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/AnyNameXML.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/AnyNameXML.java new file mode 100644 index 000000000..3b2dc0884 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/AnyNameXML.java @@ -0,0 +1,46 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.jaxb; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "rng:anyName") +public class AnyNameXML extends BaliseXML { + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/AttributeXML.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/AttributeXML.java new file mode 100644 index 000000000..656ec72e3 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/AttributeXML.java @@ -0,0 +1,56 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.common.dto.jaxb; + +import lombok.Setter; + +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "rng:attribute") +@Setter +public class AttributeXML extends BaliseXML { + + ValueXML valueXML; + + @XmlElement(name = "rng:value") + public ValueXML getValueXML() { + return valueXML; + } + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/BaliseXML.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/BaliseXML.java new file mode 100644 index 000000000..fd52b0406 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/BaliseXML.java @@ -0,0 +1,342 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.jaxb; + +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; +import fr.gouv.vitamui.pastis.common.util.RNGConstants; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlTransient; +import java.util.ArrayList; +import java.util.List; + + +@XmlRootElement +@Data +@NoArgsConstructor +public class BaliseXML { + + + private static final Logger LOGGER = LoggerFactory.getLogger(BaliseXML.class); + public static BaliseXML baliseXMLStatic; + String name; + String dataType; + String cardinality; + String groupOrChoice; + BaliseXML parent; + ValueXML valueXML; + List<BaliseXML> children = new ArrayList<>(); + + /** + * @param node node représentant l'arbre ElementProperties correspondant au json reçu du front + * @param profondeur profondeur du noeud utile pour le front angular + * @param parentNode noeud parent utilisé dans la récursivité pour lié parent & children + */ + public static void buildBaliseXMLTree(ElementProperties node, int profondeur, BaliseXML parentNode) { + + if (node.getName() != null) { + ValueXML valueRNG = null; + DataXML dataRNG = null; + BaliseXML cardinalityRNG = null; + BaliseXML elementOrAttributeRNG = null; + AnnotationXML annotationXML = null; + DocumentationXML documentationXML = null; + BaliseXML groupOrChoice = null; + + // If the node has a value + if (null != node.getValue() && !node.getValue().equals("undefined")) { + valueRNG = new ValueXML(); + valueRNG.setValue(node.getValue()); + } + + // When a value is declared in a profile element, the <rng:data> tag must be suppressed + // to assure that the generated profile is successfully imported by VITAM + if (null != node.getValueOrData() && !node.getValueOrData().equals("undefined") && + node.getValue() == null) { + if (node.getValueOrData().equals("data")) { + dataRNG = new DataXML(); + } + } + + if (node.getName() != null && (node.getName().equals("CodeListVersions") || + node.getChildren().stream().filter(c -> c.getType().equals(RNGConstants.MetadaDataType.attribute)) + .count() == 0)) { + if (valueRNG == null && RNGConstants.TypesMap.containsKey(node.getName())) { + dataRNG = new DataXML(); + dataRNG.setDataType(RNGConstants.TypesMap.get(node.getName()).getLabel()); + } + } + + // Sets the type of data (if value or data) + if (null != node.getDataType() && !node.getDataType().equals("undefined")) { + if (null != valueRNG) { + valueRNG.setDataType(node.getDataType()); + } else if (null != dataRNG) { + dataRNG.setDataType(node.getDataType()); + } + } + // Set annotation and documentation tags (if exists) + if (null != node.getDocumentation()) { + annotationXML = new AnnotationXML(); + documentationXML = new DocumentationXML(); + documentationXML.setDocumentation(node.getDocumentation()); + annotationXML.setDocumentationXML(documentationXML); + } + + if (null != node.getType() && !node.getType().equals("undefined")) { + if (node.getType().equals("element")) { + elementOrAttributeRNG = new ElementXML(); + } else if (node.getType().equals("attribute")) { + elementOrAttributeRNG = new AttributeXML(); + } + if (null != node.getName() && !node.getName().equals("undefined")) { + elementOrAttributeRNG.setName(node.getName()); + } + } + + if (null != documentationXML) { + elementOrAttributeRNG.getChildren().add(annotationXML); + annotationXML.setParent(elementOrAttributeRNG); + } + + // Check node's and its children's cardinality + if (node.getCardinality() != null) { + + if (node.getCardinality().equals(RNGConstants.Cardinality.zeroOrMore.getLabel())) { + cardinalityRNG = new ZeroOrMoreXML(); + if (elementOrAttributeRNG != null) { + elementOrAttributeRNG.setCardinality(RNGConstants.Cardinality.zeroOrMore); + } + } else if (node.getCardinality().equals(RNGConstants.Cardinality.oneOrMore.getLabel())) { + cardinalityRNG = new OneOrMoreXML(); + if (elementOrAttributeRNG != null) { + elementOrAttributeRNG.setCardinality(RNGConstants.Cardinality.oneOrMore); + } + } else if (node.getCardinality().equals(RNGConstants.Cardinality.optional.getLabel())) { + cardinalityRNG = new OptionalXML(); + if (elementOrAttributeRNG != null) { + elementOrAttributeRNG.setCardinality(RNGConstants.Cardinality.optional); + } + } + } + + BaliseXML currentXmlTag = null; + + // 1. Check if it is an element + if (null != elementOrAttributeRNG) { + + LOGGER.info("Parsing " + elementOrAttributeRNG.getName()); + // 1.1 Check if the element has cardinality + if (null != cardinalityRNG) { + cardinalityRNG.getChildren().add(elementOrAttributeRNG); + elementOrAttributeRNG.setParent(cardinalityRNG); + currentXmlTag = cardinalityRNG; + + } else { + currentXmlTag = elementOrAttributeRNG; + //1.2. Check if it's the first grammarnode (Archive transfer) + if (parentNode == null) { + GrammarXML grammar = new GrammarXML(); + StartXML start = new StartXML(); + start.setParent(grammar); + grammar.getChildren().add(start); + currentXmlTag = grammar; + } + } + + // 2. Check data tag + if (null != dataRNG) { + if (!currentXmlTag.getChildren().isEmpty() && + (currentXmlTag.getChildren().get(0) instanceof ElementXML + || currentXmlTag.getChildren().get(0) instanceof AttributeXML)) { + currentXmlTag.getChildren().get(0).getChildren().add(dataRNG); + dataRNG.setParent(currentXmlTag); + + } else { + currentXmlTag.getChildren().add(dataRNG); + dataRNG.setParent(currentXmlTag); + } + } + // 3. Check value tag + if (null != valueRNG) { + // If Children is empty + if (currentXmlTag.getChildren().isEmpty()) { + if (currentXmlTag instanceof ElementXML) { + ((ElementXML) currentXmlTag).setValueXML(valueRNG); + valueRNG.setParent(currentXmlTag); + + } else if (currentXmlTag instanceof AttributeXML) { + ((AttributeXML) currentXmlTag).setValueXML(valueRNG); + valueRNG.setParent(currentXmlTag); + } + // If children is Element or Attribute, set accordingly + } else if (currentXmlTag instanceof ElementXML) { + ((ElementXML) currentXmlTag).setValueXML(valueRNG); + valueRNG.setParent(currentXmlTag); + + } else if (currentXmlTag instanceof AttributeXML) { + ((AttributeXML) currentXmlTag).setValueXML(valueRNG); + valueRNG.setParent(currentXmlTag); + } else { + // Set the value to an simple element + elementOrAttributeRNG.setValueXML(valueRNG); + valueRNG.setParent(elementOrAttributeRNG); + } + } + } + + if (null != currentXmlTag) { + + if (null != parentNode) { + BaliseXML optionalWithChildren = parentNode.getChildren() + .stream().filter(cardinality -> cardinality instanceof OptionalXML + || cardinality instanceof ZeroOrMoreXML + || cardinality instanceof OneOrMoreXML) + .findAny() + .orElse(null); + + Boolean optionalHasAlreadyCurrentTag = optionalWithChildren == null + ? false : optionalWithChildren.children.contains(currentXmlTag); + + if (!optionalHasAlreadyCurrentTag) { + currentXmlTag.setParent(parentNode); + parentNode.getChildren().add(currentXmlTag); + } + + + } else { + baliseXMLStatic = currentXmlTag; + } + } + + if (currentXmlTag instanceof GrammarXML) { + buildBaliseXMLTree(node, profondeur + 1, currentXmlTag.getChildren().get(0)); + } else { + for (ElementProperties next : node.getChildren()) { + if (currentXmlTag instanceof OptionalXML || currentXmlTag instanceof OneOrMoreXML + || currentXmlTag instanceof ZeroOrMoreXML) { + buildBaliseXMLTree(next, profondeur + 1, currentXmlTag.getChildren().get(0)); + } else { + buildBaliseXMLTree(next, profondeur + 1, currentXmlTag); + } + } + } + } + + } + + public static void addRecipTags() { + + /* Add this arboresenc to current json tree + <rng:zeroOrMore> + <rng:attribute> + <rng:anyName> + <rng:except> + <rng:nsName/> + <rng:nsName ns=""/> + </rng:except> + </rng:anyName> + </rng:attribute> + </rng:zeroOrMore> + + */ + + ZeroOrMoreXML zeroOrMoreRNG = new ZeroOrMoreXML(); + AttributeXML attributeRNG = new AttributeXML(); + AnyNameXML anyNameRNG = new AnyNameXML(); + ExceptXML exceptRNG = new ExceptXML(); + NsNameXML nsNameRNG = new NsNameXML(); + NsNameXML nsNameRNGNs = new NsNameXML(); + nsNameRNGNs.setNs(""); + attributeRNG.setCardinality(RNGConstants.Cardinality.zeroOrMore); + exceptRNG.getChildren().add(nsNameRNG); + exceptRNG.getChildren().add(nsNameRNGNs); + anyNameRNG.getChildren().add(exceptRNG); + attributeRNG.getChildren().add(anyNameRNG); + zeroOrMoreRNG.getChildren().add(attributeRNG); + baliseXMLStatic.getChildren().get(0).getChildren().get(0).getChildren().add(0, zeroOrMoreRNG); + } + + @XmlAttribute + public String getName() { + return name; + } + + @XmlAttribute(name = "type") + public String getDataType() { + return dataType; + } + + //@XmlTransient to avoid circular loop parent <-> child + @XmlTransient + public BaliseXML getParent() { + return parent; + } + + // XmlAnyElement pour etre le plus generique + @XmlAnyElement + public List<BaliseXML> getChildren() { + return children; + } + + public String setCardinality(RNGConstants.Cardinality cardinality) { + return this.cardinality = cardinality.getLabel(); + } + + @XmlElement(name = "rng:value") + public ValueXML getValueXML() { + return valueXML; + } + + @Override + public String toString() { + // TODO Auto-generated method stub + return this.name; + } + + + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/ChoiceXml.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/ChoiceXml.java new file mode 100644 index 000000000..69653694b --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/ChoiceXml.java @@ -0,0 +1,46 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.common.dto.jaxb; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "rng:choice") +public class ChoiceXml extends BaliseXML { + + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/DataXML.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/DataXML.java new file mode 100644 index 000000000..eef293786 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/DataXML.java @@ -0,0 +1,55 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.common.dto.jaxb; + +import fr.gouv.vitamui.pastis.common.util.RNGConstants; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "rng:data") +@Data +@NoArgsConstructor +public class DataXML extends BaliseXML { + + public DataXML(RNGConstants.DataType dataType, BaliseXML parent) { + this.setDataType(dataType.getLabel()); + this.setParent(parent); + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/DocumentationXML.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/DocumentationXML.java new file mode 100644 index 000000000..3a4ec5ca5 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/DocumentationXML.java @@ -0,0 +1,61 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.jaxb; + +import lombok.Setter; + +import javax.xml.bind.annotation.XmlTransient; +import javax.xml.bind.annotation.XmlValue; + +@Setter +public class DocumentationXML { + + String documentation; + BaliseXML parent; + + @XmlValue + public String getDocumentation() { + return documentation; + } + + @XmlTransient + public BaliseXML getParent() { + return parent; + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/ElementXML.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/ElementXML.java new file mode 100644 index 000000000..0ef53e4ea --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/ElementXML.java @@ -0,0 +1,58 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.jaxb; + +import lombok.Setter; + +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + + +@XmlRootElement(name = "rng:element") +@Setter +public class ElementXML extends BaliseXML { + + ValueXML valueXML; + + + @XmlElement(name = "rng:value") + public ValueXML getValueXML() { + return valueXML; + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/ExceptXML.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/ExceptXML.java new file mode 100644 index 000000000..1dee43742 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/ExceptXML.java @@ -0,0 +1,46 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.jaxb; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "rng:except") +public class ExceptXML extends BaliseXML { + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/GrammarXML.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/GrammarXML.java new file mode 100644 index 000000000..1bf41ab28 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/GrammarXML.java @@ -0,0 +1,68 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.common.dto.jaxb; + +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "rng:grammar") +public class GrammarXML extends BaliseXML { + + StartXML start; + + @XmlAttribute(name = "datatypeLibrary") + private String datatypeLibrary = "http://www.w3.org/2001/XMLSchema-datatypes"; + + @XmlAttribute(name = "ns") + private String ns = "fr:gouv:culture:archivesdefrance:seda:v2.1"; + + @XmlAttribute(name = "xmlns") + private String xmlns = "fr:gouv:culture:archivesdefrance:seda:v2.1"; + + @XmlAttribute(name = "xmlns:xsd") + private String xd = "http://www.w3.org/2001/XMLSchema"; + + public StartXML getStart() { + return start; + } + + public void setStart(StartXML start) { + this.start = start; + } + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/GroupXML.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/GroupXML.java new file mode 100644 index 000000000..29fb8ca02 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/GroupXML.java @@ -0,0 +1,45 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.common.dto.jaxb; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "rng:group") +public class GroupXML extends BaliseXML { + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/NsNameXML.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/NsNameXML.java new file mode 100644 index 000000000..690099b2c --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/NsNameXML.java @@ -0,0 +1,52 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.jaxb; + +import lombok.Setter; + +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "rng:nsName") +@Setter +public class NsNameXML extends BaliseXML { + + @XmlAttribute(name = "ns") + String ns; +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/OneOrMoreXML.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/OneOrMoreXML.java new file mode 100644 index 000000000..71cb6d9a3 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/OneOrMoreXML.java @@ -0,0 +1,45 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.common.dto.jaxb; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "rng:oneOrMore") +public class OneOrMoreXML extends BaliseXML { + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/OptionalXML.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/OptionalXML.java new file mode 100644 index 000000000..7d13cff97 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/OptionalXML.java @@ -0,0 +1,45 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.common.dto.jaxb; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "rng:optional") +public class OptionalXML extends BaliseXML { + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/StartXML.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/StartXML.java new file mode 100644 index 000000000..b205f26ae --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/StartXML.java @@ -0,0 +1,45 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.common.dto.jaxb; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "rng:start") +public class StartXML extends BaliseXML { + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/ValueXML.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/ValueXML.java new file mode 100644 index 000000000..81e053be5 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/ValueXML.java @@ -0,0 +1,71 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.jaxb; + +import lombok.Setter; + +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlTransient; +import javax.xml.bind.annotation.XmlValue; + +@Setter +public class ValueXML { + + String value; + + String dataType; + + BaliseXML parent; + + @XmlValue + public String getValue() { + return value; + } + + @XmlTransient + public BaliseXML getParent() { + return parent; + } + + @XmlAttribute(name = "type") + public String getDataType() { + return dataType; + } + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/ZeroOrMoreXML.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/ZeroOrMoreXML.java new file mode 100644 index 000000000..054d45e09 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/ZeroOrMoreXML.java @@ -0,0 +1,46 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.common.dto.jaxb; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "rng:zeroOrMore") + +public class ZeroOrMoreXML extends BaliseXML { + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/package-info.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/package-info.java new file mode 100644 index 000000000..ee298d6b6 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/jaxb/package-info.java @@ -0,0 +1,54 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +@XmlSchema( + + xmlns = { + @XmlNs(prefix = "a", namespaceURI = "http://relaxng.org/ns/compatibility/annotations/1.0"), + @XmlNs(prefix = "rng", namespaceURI = "http://relaxng.org/ns/structure/1.0"), + @XmlNs(prefix = "seda", namespaceURI = "fr:gouv:culture:archivesdefrance:seda:v2.1"), + @XmlNs(prefix = "xlink", namespaceURI = "http://www.w3.org/1999/xlink"), + @XmlNs(prefix = "xsd", namespaceURI = "http://www.w3.org/2001/XMLSchema"), + }, + elementFormDefault = XmlNsForm.QUALIFIED) + +package fr.gouv.vitamui.pastis.common.dto.jaxb; + +import javax.xml.bind.annotation.XmlNs; +import javax.xml.bind.annotation.XmlNsForm; +import javax.xml.bind.annotation.XmlSchema; diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/Notice.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/Notice.java new file mode 100644 index 000000000..18bcd2d56 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/Notice.java @@ -0,0 +1,154 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.profiles; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.module.afterburner.AfterburnerModule; +import fr.gouv.vitam.common.model.administration.ArchiveUnitProfileStatus; +import fr.gouv.vitam.common.model.administration.ProfileFormat; +import fr.gouv.vitamui.commons.api.domain.IdDto; +import fr.gouv.vitamui.pastis.common.util.NoticeUtils; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.json.JSONArray; +import org.json.JSONObject; +import org.json.JSONTokener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.Resource; + +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Serializable; +import java.sql.Timestamp; +import java.util.List; +import java.util.Random; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@JsonInclude(JsonInclude.Include.NON_NULL) +public class Notice extends IdDto implements Serializable { + + @Autowired NoticeUtils notice; + @JsonProperty("identifier") + String identifier; + @JsonProperty("name") + String name; + @JsonProperty("description") + String description; + @JsonProperty("status") + ArchiveUnitProfileStatus status; + @JsonProperty("creationDate") + String creationDate; + @JsonProperty("lastUpdate") + String lastUpdate; + @JsonProperty("activationDate") + String activationDate; + @JsonProperty("deactivationDate") + String deactivationDate; + @JsonProperty("controlSchema") + String controlSchema; + @JsonProperty("tenant") + Integer tenant; + @JsonProperty("version") + Integer version; + @JsonProperty("fields") + List<String> fields; + @JsonProperty("path") + private String path; + @JsonProperty("format") + private ProfileFormat format; + + public Notice(Resource r) throws IOException { + String fileName = r.getFilename(); + Long lastUpdate = r.lastModified(); + this.setId(String.valueOf(Math.abs(new Random().nextLong()) / 1000)); + this.identifier = getFileBaseName(fileName); + this.status = ArchiveUnitProfileStatus.ACTIVE; + this.lastUpdate = new Timestamp(lastUpdate).toString(); + this.deactivationDate = new Timestamp(lastUpdate).toString(); + this.activationDate = new Timestamp(lastUpdate).toString(); + this.creationDate = new Timestamp(lastUpdate).toString(); + this.tenant = 1; + this.version = 1; + this.name = getFileBaseName(fileName); + if (getFileType(fileName).equals(ProfileType.PUA)) { + InputStream inputStream = getClass().getClassLoader().getResourceAsStream("rng/" + + fileName); + JSONTokener tokener = new JSONTokener(new InputStreamReader(inputStream)); + JSONObject profileJson = new JSONObject(tokener); + this.controlSchema = profileJson.getString("controlSchema"); + this.fields = notice.convert((JSONArray) profileJson.get("fields")); + this.description = profileJson.getString("description"); + } else { + + this.path = fileName; + this.format = ProfileFormat.RNG; + } + } + + private String getFileBaseName(String fileName) { + String[] tokens = fileName.split("\\.(?=[^\\.]+$)"); + return tokens[0]; + } + + public ProfileType getFileType(String fileName) { + String[] tokens = fileName.split("\\.(?=[^\\.]+$)"); + return tokens[1].equals("rng") ? ProfileType.PA : ProfileType.PUA; + } + + + public String serialiseString() throws JsonProcessingException { + ObjectMapper mapper = new ObjectMapper(); + mapper.registerModule(new AfterburnerModule()); + String json = mapper.writeValueAsString(this); + return json; + } + +/* public void deserialize(JSONObject jsonObject) { + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.readValue(jsonObject, Notice.class); + }*/ + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/PastisProfile.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/PastisProfile.java new file mode 100644 index 000000000..0d2a9780e --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/PastisProfile.java @@ -0,0 +1,93 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.profiles; + +import fr.gouv.vitamui.commons.api.domain.IdDto; +import lombok.Data; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.json.JSONObject; + +import java.sql.Timestamp; +import java.util.Random; + +@Data +@NoArgsConstructor +@Setter +@Getter +public class PastisProfile extends IdDto { + + String type; + String fileName; + String baseName; + String status; + String lastModified; + + public PastisProfile(String fileName, String status, Long lastModified) { + this.type = this.getFileType(fileName); + this.setId(String.valueOf(Math.abs(new Random().nextLong()) / 1000)); + this.fileName = fileName; + this.baseName = getFileBaseName(fileName); + this.status = status; + this.lastModified = new Timestamp(lastModified).toString(); + } + + private String getFileType(String fileName) { + String[] tokens = fileName.split("\\.(?=[^\\.]+$)"); + return tokens[1].equals("rng") ? "PA" : "PUA"; + } + + private String getFileBaseName(String fileName) { + String[] tokens = fileName.split("\\.(?=[^\\.]+$)"); + return tokens[0]; + } + + + public void deserialise(JSONObject jsonObject) { + + this.setId((String) jsonObject.get("#id")); + this.setStatus((String) jsonObject.get("status")); + this.setLastModified((String) jsonObject.get("lastModified")); + this.setFileName((String) jsonObject.get("fileName")); + this.setBaseName((String) jsonObject.get("baseName")); + this.setType((String) jsonObject.get("type")); + } +} + diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/ProfileNotice.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/ProfileNotice.java new file mode 100644 index 000000000..4c9a716db --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/ProfileNotice.java @@ -0,0 +1,54 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.profiles; + +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +public class ProfileNotice { + + ElementProperties elementProperties; + Notice notice; + public ProfileNotice() { + super(); + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/ProfileResponse.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/ProfileResponse.java new file mode 100644 index 000000000..daba2b06a --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/ProfileResponse.java @@ -0,0 +1,51 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.profiles; + +import fr.gouv.vitamui.commons.api.domain.IdDto; +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; +import lombok.Data; + +@Data +public class ProfileResponse extends IdDto { + String name; + ElementProperties profile; + Notice notice; + ProfileType type; +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/ProfileTransformationRequest.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/ProfileTransformationRequest.java new file mode 100644 index 000000000..188be2788 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/ProfileTransformationRequest.java @@ -0,0 +1,57 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.profiles; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.core.io.Resource; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@JsonInclude(JsonInclude.Include.NON_NULL) +public class ProfileTransformationRequest { + @JsonProperty("notice") + Notice notice; + @JsonProperty("resource") + Resource resource; +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/ProfileType.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/ProfileType.java new file mode 100644 index 000000000..a30700f67 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/profiles/ProfileType.java @@ -0,0 +1,47 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.profiles; + +public enum ProfileType { + PA, + PUA; + + private ProfileType() { + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/pua/PuaMetadata.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/pua/PuaMetadata.java new file mode 100644 index 000000000..8b22f1a25 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/pua/PuaMetadata.java @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.pua; + +import com.google.gson.JsonElement; + +import java.util.HashMap; +import java.util.Map; + +public class PuaMetadata extends JsonElement { + + public Map<String, PuaMetadataDetails> puaDetails = new HashMap<String, PuaMetadataDetails>(); + + public Map<String, PuaMetadataDetails> getPuaDetails() { + return puaDetails; + } + + public void setPuaDetails(Map<String, PuaMetadataDetails> puaDetails) { + this.puaDetails = puaDetails; + } + + @Override + public JsonElement deepCopy() { + return null; + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/pua/PuaMetadataDetails.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/pua/PuaMetadataDetails.java new file mode 100644 index 000000000..2214356dc --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/pua/PuaMetadataDetails.java @@ -0,0 +1,59 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.pua; + + +import lombok.Data; +import org.json.JSONObject; + +import java.util.List; + +@Data +public class PuaMetadataDetails { + + String type; + String description; + Integer minItems; + Integer maxItems; + Boolean additionalProperties; + JSONObject properties; + List<String> required; + PuaMetadata items; + List<String> enums; +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/seda/SedaNode.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/seda/SedaNode.java new file mode 100644 index 000000000..d51d2a9f0 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/dto/seda/SedaNode.java @@ -0,0 +1,65 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.dto.seda; + +import lombok.Data; + +import java.util.List; +import java.util.stream.Stream; + +@Data +public class SedaNode { + private String Name; + private String Element; + private String Cardinality; + private String Type; + private String Choice; + private String Extensible; + private List<String> Enumeration; + private String Definition; + private String Collection; + private List<SedaNode> Children; + + + public Stream<SedaNode> flattened() { + return Stream.concat( + Stream.of(this), + Children.stream().flatMap(SedaNode::flattened)); + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/rest/RestApi.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/rest/RestApi.java new file mode 100644 index 000000000..f8e30f805 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/rest/RestApi.java @@ -0,0 +1,59 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.rest; + +/** + * The URLs of the REST API. + * + * + */ +public class RestApi { + + // Return + public static final String PASTIS_GET_ALL_PROFILES = "/getprofiles"; + public static final String PASTIS_UPLOAD_PROFILE = "/profile"; + public static final String PASTIS_TRANSFORM_PROFILE = "/edit"; + public static final String PASTIS_GET_PROFILE_FILE = "/getfile"; + public static final String PASTIS_TRANSFORM_PROFILE_PA = "/editpa"; + public static final String PASTIS_DOWNLOAD_PUA = "/getarchiveunitprofile"; + public static final String PASTIS_DOWNLOAD_PA = "/getarchiveprofile"; + public static final String PASTIS_CREATE_PROFILE= "/createprofile"; + public static final String PASTIS = "/pastis"; + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/service/JsonFromPUA.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/service/JsonFromPUA.java new file mode 100644 index 000000000..2e010886f --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/service/JsonFromPUA.java @@ -0,0 +1,332 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.service; + +import com.fasterxml.jackson.databind.MapperFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; +import fr.gouv.vitamui.pastis.common.dto.PuaData; +import fr.gouv.vitamui.pastis.common.dto.seda.SedaNode; +import fr.gouv.vitamui.pastis.common.util.RNGConstants; +import org.json.JSONObject; +import org.springframework.stereotype.Service; + +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +import static fr.gouv.vitamui.pastis.common.util.RNGConstants.typeElement; + +@Service +public class JsonFromPUA { + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(JsonFromPUA.class); + + private Long idCounter = 0L; + + /** + * Generates a Profile from a PUA file + * @param jsonPUA the JSON Object representing the PUA + * @return + */ + public ElementProperties getProfileFromPUA(JSONObject jsonPUA) throws IOException { + String controlSchemaString = (String) jsonPUA.get("controlSchema"); + JSONObject controlSchema = new JSONObject(controlSchemaString); + + idCounter = 0L; + // Adding root element DescriptiveMetadata + ElementProperties root = new ElementProperties(); + root.setName("DescriptiveMetadata"); + root.setId(idCounter++); + root.setLevel(0); + root.setType(String.valueOf(RNGConstants.MetadaDataType.element)); + + // Adding ArchiveUnit Element + ElementProperties archiveUnit = createChildren(root, "ArchiveUnit"); + archiveUnit.setType(String.valueOf(RNGConstants.MetadaDataType.element)); + + // Adding id element + ElementProperties id = createChildren(archiveUnit, "id"); + id.setType(String.valueOf(RNGConstants.MetadaDataType.attribute)); + id.setValueOrData("data"); + id.setDataType(String.valueOf(RNGConstants.DataType.ID)); + + SedaNode sedaNode = getArchiveUnitSedaNode(); + + buildProfile(controlSchema, sedaNode, archiveUnit); + + sortTreeWithSeda(archiveUnit, sedaNode); + + return root; + } + + /** + * Sort the ElementProperties tree based on the Seda + * @param tree + * @param sedaNode + */ + public void sortTreeWithSeda(ElementProperties tree, SedaNode sedaNode){ + tree.getChildren().sort(Comparator.comparing(c->sedaNode.getChildren().stream().map(s->s.getName()).collect(Collectors.toList()).indexOf(c.getName()))); + for (ElementProperties e :tree.getChildren()){ + sortTreeWithSeda(e,sedaNode.getChildren().stream().filter(s->s.getName().equals(e.getName())).findFirst().get()); + } + } + + private List<String> getRequiredFields(JSONObject controlSchema) { + List<String> required = new ArrayList<>(); + if (controlSchema.has("required")){ + required.addAll(controlSchema.getJSONArray("required").toList().stream().map(o->(String) o).collect(Collectors.toList())); + } + return required; + } + + private SedaNode getArchiveUnitSedaNode() throws IOException { + InputStream inputStream = getClass().getClassLoader().getResourceAsStream("pua_validation/archiveUnitSeda.json"); + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true); + return objectMapper.readValue(inputStream,SedaNode.class); + } + + /** + * Get children definition of node by name + * @param sedaNode node to look for children + * @param name name of children to look for + * @return + */ + private SedaNode getChildrenSedaNode(SedaNode sedaNode, String name){ + String realName = sanitizeNodeName(name); + return sedaNode.getChildren().stream().filter(c->c.getName().equals(realName)).findAny().orElse(null); + } + + private String sanitizeNodeName(String name) { + String realName = name.replace("_",""); + if (realName.equals("#management")) { + realName = "Management"; + } + return realName; + } + + /** + * Build the profile based on the PUA JSON file and the definition of an ArchiveUnit + * Recursive + * @param jsonPUA + * @param sedaNode + * @param parent + */ + private void buildProfile(JSONObject jsonPUA, SedaNode sedaNode, ElementProperties parent) { + List<String> requiredFields = getRequiredFields(jsonPUA); + if (jsonPUA.has("properties")) { + JSONObject properties = jsonPUA.getJSONObject("properties"); + if (properties.length() != 0) { + for(String propertyName:properties.keySet()){ + Set<String> childrensNames; + JSONObject propertiesNew; + List<String> requiredFieldsActual; + // If property's name equal 'Rules' + // Then we have to retrieve all the the sub-childrens in the Rules->items property + if (propertyName.equals("Rules")){ + requiredFieldsActual = getRequiredFields(properties.getJSONObject(propertyName).getJSONObject("items")); + propertiesNew = properties.getJSONObject(propertyName).getJSONObject("items").getJSONObject("properties"); + childrensNames = propertiesNew.keySet(); + } else { + requiredFieldsActual = requiredFields; + propertiesNew = properties; + childrensNames = Collections.singleton(propertyName); + } + childrensNames.forEach(childName -> { + JSONObject childPua = propertiesNew.getJSONObject(childName); + SedaNode childrenSedaNode = getChildrenSedaNode(sedaNode, childName); + + ElementProperties childrenParent; + // In a PUA the Content node in ArchiveUnit node is omitted. + // So if we are in the ArchiveUnit Node, then we must check for the children in Content Node as well + if (childrenSedaNode == null && parent.getName().equals("ArchiveUnit")) { + childrenSedaNode = getChildrenSedaNode(getChildrenSedaNode(sedaNode, "Content"), childName); + + ElementProperties content = parent.getChildren().stream().filter(c->c.getName().equals("Content")).findAny().orElse(null); + // Create "Content" ElementProperties if not created yet + if (content == null) { + content = createChildren(parent, "Content"); + content.setType(String.valueOf(RNGConstants.MetadaDataType.element)); + } + childrenParent = content; + } else { + childrenParent = parent; + } + // If the childrenDefinition is found then process the childPua and add it to the childProfile + if (childrenSedaNode != null) { + ElementProperties childProfile = getElementProperties(childrenSedaNode, childrenParent, childName, childPua, requiredFieldsActual.contains(childName)); + + buildProfile(childPua, childrenSedaNode, childProfile); + } + }); + }; + } + } + } + + /** + * Build and retrieve an ElementProperties node + * @param sedaNode + * @param parent + * @param key + * @param childPua + * @return + */ + private ElementProperties getElementProperties(SedaNode sedaNode, ElementProperties parent, String key, JSONObject childPua, Boolean required) { + ElementProperties childProfile = createChildren(parent, key); + childProfile.setType(typeElement.get(sedaNode.getElement())); + childProfile.setDataType(sedaNode.getType()); + + Integer minItems = null; + Integer maxItems = null; + + for (String k : childPua.keySet()){ + switch (k){ + case "$ref": + addPuaDataToElementIfNotPresent(childProfile); + addRefToElement(childProfile, childPua.getString(k)); + break; + case "enum": + addPuaDataToElementIfNotPresent(childProfile); + List<String> enume = childPua.getJSONArray(k).toList().stream().map(o->(String)o).collect(Collectors.toList()); + childProfile.getPuaData().setEnum(enume); + break; + case "pattern": + addPuaDataToElementIfNotPresent(childProfile); + childProfile.getPuaData().setPattern(childPua.getString(k)); + break; + case "minLength": + addPuaDataToElementIfNotPresent(childProfile); + childProfile.getPuaData().setMinLenght(childPua.getInt(k)); + break; + case "maxLength": + addPuaDataToElementIfNotPresent(childProfile); + childProfile.getPuaData().setMaxLenght(childPua.getInt(k)); + break; + case "minimum": + addPuaDataToElementIfNotPresent(childProfile); + childProfile.getPuaData().setMinimum(childPua.getInt(k)); + break; + case "maximum": + addPuaDataToElementIfNotPresent(childProfile); + childProfile.getPuaData().setMaximum(childPua.getInt(k)); + break; + case "additionalProperties": + addPuaDataToElementIfNotPresent(childProfile); + childProfile.getPuaData().setAdditionalProperties(childPua.getBoolean(k)); + break; + case "exclusiveMinimum": + addPuaDataToElementIfNotPresent(childProfile); + childProfile.getPuaData().setExclusiveMinimum(childPua.getBoolean(k)); + break; + case "exclusiveMaximum": + addPuaDataToElementIfNotPresent(childProfile); + childProfile.getPuaData().setExclusiveMaximum(childPua.getBoolean(k)); + break; + case "description": + childProfile.setDocumentation(childPua.getString(k)); + break; + case "minItems": + minItems = childPua.getInt(k); + break; + case "maxItems": + maxItems = childPua.getInt(k); + break; + default:break; + } + } + childProfile.setCardinality(getCardinality(minItems, maxItems, required, sedaNode)); + + return childProfile; + } + + private String getCardinality(Integer minItems, Integer maxItems, Boolean required, SedaNode sedaNode){ + if (required){ + switch (sedaNode.getCardinality()){ + case "1-N": + case "0-N": + return "1-N"; + case "1": + case "0-1": + return "1"; + } + return "1"; + } else if (minItems!=null && maxItems!=null) { + return minItems + "-" + maxItems; + } else { + return sedaNode.getCardinality(); + } + } + + private void addPuaDataToElementIfNotPresent(ElementProperties childProfile) { + if (childProfile.getPuaData() == null) { + childProfile.setPuaData(new PuaData()); + } + } + + private void addRefToElement(ElementProperties el, String ref){ + ref = ref.substring(ref.lastIndexOf('/') + 1); + el.getPuaData().setPattern(ref); + } + + /** + * + * @param parent tree of {@link ElementProperties} + * @param name name of new {@link ElementProperties} + * @return new child of {@link ElementProperties} + */ + private ElementProperties createChildren(ElementProperties parent, String name){ + String realName = sanitizeNodeName(name); + ElementProperties children = new ElementProperties(); + children.setName(realName); + children.setId(idCounter++); + children.setParent(parent); + children.setParentId(parent.getId()); + children.setLevel(parent.getLevel() + 1); + parent.getChildren().add(children); + return children; + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/service/PuaDefinitions.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/service/PuaDefinitions.java new file mode 100644 index 000000000..0b276c3a0 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/service/PuaDefinitions.java @@ -0,0 +1,76 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.service; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.Map; + +@Service +public class PuaDefinitions { + + @Value("${pua.definitions.file}") + private String defintionsFile; + + protected Map<String, Object> definitions; + + @JsonAnyGetter + public Map<String, Object> getDefinitions() { + return definitions; + } + + @JsonAnySetter + public void setDefinitions(String key, Object value) { + if (definitions == null) { + definitions = new HashMap<String, Object>(); + } + if (key != null) { + if (value != null) { + definitions.put(key, value); + } else { + definitions.remove(key); + } + } + + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/service/PuaFromJSON.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/service/PuaFromJSON.java new file mode 100644 index 000000000..923c8a50b --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/service/PuaFromJSON.java @@ -0,0 +1,121 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.service; + +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; +import org.json.JSONArray; +import org.json.JSONObject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.io.IOException; +import java.util.Iterator; +import java.util.List; + +@Service +public class PuaFromJSON { + + @Autowired + private PuaPastisValidator puaPastisValidator; + + private static final Logger LOGGER = LoggerFactory.getLogger(JsonFromPUA.class); + + private static final String schema = "http://json-schema.org/draft-04/schema"; + + private static final String type = "object"; + + private static final Boolean additionalProperties = false; + + + public String getControlSchemaFromElementProperties(ElementProperties elementProperties) throws IOException { + // We use a JSONObject instead of POJO, since Jackson and Gson will add unnecessary + // backslashes during mapping string object values back to string; + JSONObject controlSchema = puaPastisValidator.sortedJSONObject(); + // 1. Add Schema + controlSchema.put("$schema",schema); + // 2. Add type + controlSchema.put("type",type); + // 3. Add additionProperties + controlSchema.put("additionalProperties",additionalProperties); + // 4. Check if tree contains Management metadata + controlSchema = addPatternProperties(elementProperties,controlSchema); + List<ElementProperties> elementsForTree = puaPastisValidator.ignoreMetadata(elementProperties); + + controlSchema.put("required",puaPastisValidator.getHeadRequired(elementsForTree)); + + //controlSchema.put("required",puaPastisValidator.getRequiredProperties(elementProperties)); + // 5. Add definitions; + JSONObject definitionsFromBasePua = puaPastisValidator.getDefinitionsFromExpectedProfile(); + controlSchema.put("definitions",definitionsFromBasePua); + // 6. Add ArchiveUnitProfile and the rest of the tree + + JSONArray allElements = puaPastisValidator.getJSONObjectFromAllTree(elementsForTree); + JSONObject sortedElements = getJSONObjectsFromJSonArray(allElements); + controlSchema.put("properties",sortedElements); + // 7. Remove excessive backslashes from mapping strings to objects and vice-versa; + String cleanedJSON = controlSchema.toString().replaceAll("[\\\\]+",""); + return cleanedJSON; + } + + public String getDefinitions(){ + return puaPastisValidator.getDefinitionsFromExpectedProfile().toString(); + } + + private JSONObject getJSONObjectsFromJSonArray(JSONArray array){ + JSONObject sortedJSONObject = puaPastisValidator.sortedJSONObject(); + Iterator<Object> iterator = array.iterator(); + while(iterator.hasNext()){ + JSONObject jsonObject = (JSONObject) iterator.next(); + for(String key : jsonObject.keySet()){ + sortedJSONObject.put(key,jsonObject.get(key)); + } + } + return sortedJSONObject; + } + + private JSONObject addPatternProperties(ElementProperties elementProperties, JSONObject controlSchema) throws IOException { + if (!puaPastisValidator.containsManagement(elementProperties )){ + controlSchema.put("patternProperties", new JSONObject().put("#management",new JSONObject() )); + } + return controlSchema; + } + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/service/PuaPastisValidator.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/service/PuaPastisValidator.java new file mode 100644 index 000000000..bdae85f2d --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/service/PuaPastisValidator.java @@ -0,0 +1,550 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.service; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.databind.MapperFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; +import fr.gouv.vitamui.pastis.common.dto.pua.PuaMetadataDetails; +import fr.gouv.vitamui.pastis.common.dto.seda.SedaNode; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.json.JSONTokener; +import org.skyscreamer.jsonassert.JSONAssert; +import org.skyscreamer.jsonassert.JSONCompareMode; +import org.springframework.stereotype.Service; + +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; + +import static java.util.stream.Collectors.toList; +import static java.util.stream.Collectors.toSet; + +@Service +public class PuaPastisValidator { + + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(PuaPastisValidator.class); + + private static JSONObject profileJsonExpected; + + private static SedaNode archiveUnitSeda; + + private JSONObject getProfileJsonExpected() { + if (profileJsonExpected == null) { + InputStream inputStream = getClass().getClassLoader().getResourceAsStream("pua_validation/valid_pua.json"); + + assert inputStream != null; + JSONTokener tokener = new JSONTokener(new InputStreamReader(inputStream)); + profileJsonExpected = new JSONObject(tokener); + } + return profileJsonExpected; + } + + private SedaNode getArchiveUnitSeda() throws IOException { + if (archiveUnitSeda == null) { + InputStream inputStream = getClass().getClassLoader().getResourceAsStream("pua_validation/archiveUnitSeda.json"); + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true); + archiveUnitSeda = objectMapper.readValue(inputStream, SedaNode.class); + } + return archiveUnitSeda; + } + + /** + * Validate a PUA JSON file against a template file + * using LENIENT comparison mode + * + * @param pua The string containing the JSON file to be validated + * @throws IOException + * @throws AssertionError + */ + public void validatePUA(JSONObject pua) throws IOException, AssertionError { + JSONObject profileJsonExpected = getProfileJsonExpected(); + + // Compare list of field at the root level + Set<String> actualFieldList = pua.keySet().stream().collect(toSet()); + Set<String> expectedFieldList = profileJsonExpected.keySet().stream().collect(Collectors.toSet()); + if (!actualFieldList.equals(expectedFieldList)) { + throw new AssertionError("PUA field list does not contains the expected values"); + } + + // Next tests are controlling the ControlSchema + String controlSchemaString = pua.getString("controlSchema"); + JSONObject controlSchemaActual = new JSONObject(controlSchemaString); + controlSchemaString = profileJsonExpected.getString("controlSchema"); + JSONObject controlSchemaExpected = new JSONObject(controlSchemaString); + + // Checking that the whole structure is respected. Doesn't care that the pua contains extended fields. + JSONAssert.assertEquals(controlSchemaExpected, controlSchemaActual, JSONCompareMode.LENIENT); + + // Checking that the definitions list is exactly the same as expected + JSONAssert.assertEquals(controlSchemaExpected.getJSONObject("definitions"), controlSchemaActual.getJSONObject("definitions"), JSONCompareMode.STRICT); + + // Checking that #management object is present and at the correct position + if (controlSchemaActual.has("patternProperties")) { + JSONObject patternProperties = controlSchemaActual.getJSONObject("patternProperties"); + if (patternProperties.has("#management")) { + JSONAssert.assertEquals(new JSONObject(), patternProperties.getJSONObject("#management"), JSONCompareMode.STRICT); + + // Check that #management is not in both header and 'properties' object + JSONObject properties = controlSchemaActual.getJSONObject("properties"); + if (properties.has("#management")) { + throw new AssertionError("Can't have both '#management' key in header and in 'properties' object"); + } + } + } else { + JSONObject properties = controlSchemaActual.getJSONObject("properties"); + if (!properties.has("#management")) { + throw new AssertionError("Missing '#management' key in 'properties' object"); + } + // TODO Verify #management rules structure + // #HAVEFUN + } + } + public JSONObject getDefinitionsFromExpectedProfile() { + + JSONObject baseProfile = getProfileJsonExpected(); + String controlSchema = baseProfile.get("controlSchema").toString(); + JSONObject controlSchemaAsJSON = new JSONObject(controlSchema); + + return controlSchemaAsJSON.getJSONObject("definitions"); + } + + /** + * <p>Finds the seda type of a element based on his name</p> + * @param elementName the name of the element to search on the archiveUnitSeda.json file + * @return the seda type of an element + */ + private String getPUAMetadataType(String elementName) throws IOException { + SedaNode sedaElement = getSedaMetadata(elementName); + return sedaElement != null ? + resolvePuaType(sedaElement) : + "undefined"; + } + + /** + * <p>Resolve the Pua element type based on VITAM given rules</p> + * @param sedaElement the seda element type of the metadata + * @return The type of a pua element + */ + private String resolvePuaType(SedaNode sedaElement) { + String sedaType = sedaElement.getType(); + String sedaElementType = sedaElement.getElement(); + String sedaName = sedaElement.getName(); + String sedaCardinality = sedaElement.getCardinality(); + + + if (sedaElementType.equals("Simple") && + (sedaCardinality.equals("0-1") || sedaCardinality.equals("1"))) { + return "string"; + } + if ((sedaElement.getElement().equals("Complex") && + (sedaCardinality.equals("0-1") || sedaCardinality.equals("1"))) || sedaName.equals("Title") || sedaName.equals("Description")) { + return "object"; + } + if (sedaType.equals("boolean") && (sedaCardinality.equals("0-1") || sedaCardinality.equals("1"))) { + return "boolean"; + } + if (sedaCardinality.equals("1-N") || sedaCardinality.equals("0-N")) { + return "array"; + } + return "undefined"; + } + + /** + * <p>Find and create a single JSONObject based on a given ElementProperties tree if it contains a Management metadata</p> + * @param elementProperties an ElementProperties object containing Management as root element + * @return a JSONObject containing a PUA representation of a Management metadata + */ + private JSONObject getJSONObjectFromMetadata(ElementProperties elementProperties) throws IOException { + + JSONObject puaJSONObject = new JSONObject(); + SedaNode sedaElement = getSedaMetadata("Management"); + + ElementProperties elementFound = elementProperties.flattened() + .filter(childName -> childName.getName().equals("Management") + && childName.getType().equals("element")).findAny().orElse(null); + + if (elementFound != null && sedaElement != null) { + PuaMetadataDetails puaMetadataDetails = new PuaMetadataDetails(); + // get pua type; + puaMetadataDetails.setType(resolvePuaType(sedaElement)); + puaMetadataDetails.setDescription((elementFound.getDocumentation())); + // Create a Map<PuaElementName,PuaElementDetails> + Map<String, PuaMetadataDetails> puaMap = new HashMap<>(); + puaMap.put("Management",puaMetadataDetails); + puaJSONObject.put("properties",puaMap); + return puaJSONObject; + } + return puaJSONObject; + + } + + /** + * <p>Recursively generates a tree of JSON objects based on a given ElementProperties object type</p> + * @param elementsFromTree an ElementProperties List + * @return a JSONArray representing all PUA elements of an ArchiveUnitProfile and its siblings + */ + public JSONArray getJSONObjectFromAllTree(List<ElementProperties> elementsFromTree) { + + JSONArray jsonArray = sortedJSONArray(); + List<String> rulesToIgnore = Arrays.asList("StorageRule", "AppraisalRule", "AccessRule", "DisseminationRule", + "ReuseRule", "ClassificationRule"); + + for (ElementProperties el: elementsFromTree){ + try { + if (el.getName().equals("Management")) { + JSONObject management = getJSONFromManagement(el); + jsonArray.put(management); + } if (jsonArray.length() > 0 && + jsonArray.toString().contains(el.getName())) { + ElementProperties element = getElementById(elementsFromTree, el.getParentId()); + if(element != null && element.getName().equals("Content")){ + JSONObject notManagementMapElement = getJSONObjectFromElement(el); + jsonArray.put(notManagementMapElement); + }else{ + continue; + } + } else if (!rulesToIgnore.contains(el.getName()) && !el.getName().equals("Content") && + !el.getName().equals("Management")) { + JSONObject notManagementMapElement = getJSONObjectFromElement(el); + jsonArray.put(notManagementMapElement); + } + + } catch (IOException e) { + LOGGER.info(e.getMessage()); + } + } + return jsonArray; + } + + /** + * <p>Recursively generates a tree of JSON objects starting from the Management metadata</p> + * @param element an ElementProperties object + * @return a JSONArray representing all PUA elements of an Management metadata and its specific rules + */ + public JSONObject getJSONFromManagement(ElementProperties element) throws IOException { + List<String> rulesMetadata = Arrays.asList("StorageRule", "AppraisalRule", "AccessRule", "DisseminationRule", "ReuseRule", "ClassificationRule"); + List<String> childrenToEncapsulate = Arrays.asList("Rule","StartDate"); + List<String> rulesFound = new ArrayList<>(); + + JSONObject pua = sortedJSONObject(); + if (element.getChildren().size() > 0) { + for (ElementProperties childElement : element.getChildren()) { + JSONObject childrenOfRule = sortedJSONObject(); + JSONObject grandChildrenOfRule = sortedJSONObject(); + JSONObject propertiesRules = sortedJSONObject(); + // 1. Check special cases + if (rulesMetadata.contains(childElement.getName())) { + PuaMetadataDetails ruleTypeMetadataDetails = new PuaMetadataDetails(); + PuaMetadataDetails nonSpecialChildOfRuleDetails = new PuaMetadataDetails(); + SedaNode sedaElement = getSedaMetadata(childElement.getName()); + if(childElement.getCardinality().equals("1") && sedaElement.getElement().equals("Complex")) + rulesFound.add(childElement.getName()); + getMetaDataFromSeda(childElement, ruleTypeMetadataDetails, sedaElement); + Map ruleTypeMetadataMap = new HashMap<String, PuaMetadataDetails>(); + Map nonSpecialChildOfRule = new HashMap<String, PuaMetadataDetails>(); + + List <String> requiredNonSpecialChildren = new ArrayList<>(); + List <String> requiredChildren = new ArrayList<>(); + // 2. If special cases have children, encapsulate them into "Rules : { items : {childName : { ..." + if (childElement.getChildren().size() > 0 ) { + for (ElementProperties grandChild : childElement.getChildren()) { + SedaNode node = getSedaMetadata(grandChild.getName()); + if (childrenToEncapsulate.contains(grandChild.getName())) { + PuaMetadataDetails childOfRuleDetails = new PuaMetadataDetails(); + getMetaDataFromSeda(grandChild, childOfRuleDetails, node); + if(grandChild.getCardinality().equals("0-1") || grandChild.getCardinality().equals("1")) + requiredChildren.add(grandChild.getName()); + ObjectMapper mapper = new ObjectMapper(); + mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); + JSONObject childProperties = new JSONObject(mapper.writeValueAsString(childOfRuleDetails)); + grandChildrenOfRule.put(grandChild.getName(), childProperties); + ruleTypeMetadataDetails.setProperties(grandChildrenOfRule); + } else { + getMetaDataFromSeda(grandChild, nonSpecialChildOfRuleDetails, node); + nonSpecialChildOfRule.put(grandChild.getName(),nonSpecialChildOfRuleDetails); + //Required field + requiredNonSpecialChildren.add(grandChild.getName()); + } + ruleTypeMetadataMap.put(childElement.getName(),ruleTypeMetadataDetails); + } + } + // 2. Once the children of special cases are processed, we put them into Rules -> items + if(!grandChildrenOfRule.isEmpty()) { + JSONObject propretyOfItems = new JSONObject().put("properties", grandChildrenOfRule); + propretyOfItems.put("required", requiredChildren); + childrenOfRule.put("items", propretyOfItems); + propertiesRules.put("Rules", childrenOfRule); + } + + // 3. Convert to jsonobject via map and update its property + JSONObject ruleTypeMetadata = new JSONObject(ruleTypeMetadataMap); + ruleTypeMetadata.getJSONObject(childElement.getName()).put("properties",propertiesRules); + if(!requiredNonSpecialChildren.isEmpty()) { + ruleTypeMetadata.getJSONObject(childElement.getName()).put("required", requiredNonSpecialChildren); + } + nonSpecialChildOfRule.keySet().forEach(e-> { + Object details = nonSpecialChildOfRule.get(e); + ruleTypeMetadata.getJSONObject(childElement.getName()).getJSONObject("properties").put(e.toString(),details); + }); + // 5. We retrieve parent properties and add more elements to root element properties + pua.accumulate("properties", ruleTypeMetadata.toMap()); + if(!rulesFound.isEmpty()) pua.put("required", rulesFound); + } + } + } + return retrieveAccumulatedJsonManagementProperties(pua); + } + + /** + * Retrieve the accumulated JSONArray properties from pua + * @param pua is JSONObjet that contains Management section of PUA + * Convert it into a JSONObject and put it into a #mangagement key + */ + public JSONObject retrieveAccumulatedJsonManagementProperties(JSONObject pua){ + + JSONObject managementAsJSONObject = new JSONObject(); + if(pua.keySet().contains("properties")){ + JSONObject properties = pua; + try{ + JSONArray accumulatedProperties = pua.getJSONArray("properties"); + String propertiesAsString = accumulatedProperties.toString() + .substring(1,accumulatedProperties.toString().length() -1) + .replaceAll("(},\\{)",","); + properties = new JSONObject(propertiesAsString); + JSONObject propertiesRequiredJson = new JSONObject(); + propertiesRequiredJson.put("properties",properties); + if(pua.keySet().contains("required")) + propertiesRequiredJson.put("required",pua.getJSONArray("required")); + managementAsJSONObject.put("#management",propertiesRequiredJson); + }catch (JSONException e){ + LOGGER.info(e.getMessage()); + managementAsJSONObject.put("#management",pua); + } + }else{ + managementAsJSONObject.put("#management",new JSONObject()); + } + return managementAsJSONObject; + } + + /** + * <p>Recursively searches for a seda node metadata based on a name</p> + * @param elementName the name of the seda element to be found + * @return a SedaNode object representation of a given seda element + */ + + private SedaNode getSedaMetadata(String elementName) throws IOException { + SedaNode sedaTree = getArchiveUnitSeda(); + + return sedaTree.flattened() + .filter(childName -> childName.getName().equals(elementName)).findAny().orElse(null); + } + + /** + * <p>Order a JSONObject</p> + * @return an ordered JSONObject + */ + public JSONObject sortedJSONObject() { + JSONObject jsonObj = new JSONObject(); + try { + Field changeMap = jsonObj.getClass().getDeclaredField("map"); + changeMap.setAccessible(true); + changeMap.set(jsonObj, new LinkedHashMap<>()); + changeMap.setAccessible(false); + } catch (IllegalAccessException | NoSuchFieldException e) { + } + return jsonObj; + } + + /** + * <p>Order a JSONOArray</p> + * @return an ordered JSONArray + */ + public JSONArray sortedJSONArray() { + JSONArray jsonArray = new JSONArray(); + try { + Field changeMap = jsonArray.getClass().getDeclaredField("map"); + changeMap.setAccessible(true); + changeMap.set(jsonArray, new LinkedHashMap<>()); + changeMap.setAccessible(false); + } catch (IllegalAccessException | NoSuchFieldException e) { + LOGGER.info(e.getMessage()); + } + return jsonArray; + } + + /** + * <p>Checks if an object of type ElementProperties contains, and its children, contains a Management</p> + * @return true if an given ElementProperties object contains a Management metadata + */ + public boolean containsManagement(ElementProperties elementProperties) throws IOException { + return getJSONObjectFromMetadata(elementProperties).length() > 0; + } + + /** + * <p>Recursively converts an ElementProperty tree and its children, into a Map</p> + * @return a HashMap containing a tree of Pua metadata and its children + */ + public JSONObject getJSONObjectFromElement(ElementProperties elementProperties) + throws IOException { + SedaNode sedaElement = getSedaMetadata(elementProperties.getName()); + PuaMetadataDetails puaMetadataDetails = new PuaMetadataDetails(); + getMetaDataFromSeda(elementProperties, puaMetadataDetails, sedaElement); + if(!elementProperties.getChildren().isEmpty() && !getRequiredProperties(elementProperties).isEmpty()) { + puaMetadataDetails.setRequired(getRequiredProperties(elementProperties)); + } + JSONObject json = new JSONObject(); + json.put(elementProperties.getName(),new JSONObject(puaMetadataDetails)); + if(!elementProperties.getChildren().isEmpty()) { + json.getJSONObject(elementProperties.getName()).put("properties", new JSONObject()); + getJSONObjectFromElement(elementProperties, json.getJSONObject(elementProperties.getName()).getJSONObject("properties")); + } + return json; + } + + public void getJSONObjectFromElement(ElementProperties elementProperties, JSONObject json) + throws IOException { + if (elementProperties.getChildren().size() > 0) { + for (ElementProperties el:elementProperties.getChildren()){ + PuaMetadataDetails puaMetadataDetails = new PuaMetadataDetails(); + puaMetadataDetails.setType(getPUAMetadataType(el.getName())); + puaMetadataDetails.setDescription(el.getDocumentation()); + json.put(el.getName(),new JSONObject(puaMetadataDetails)); + if (!el.getChildren().isEmpty()) { + json.getJSONObject(el.getName()).put("properties",new JSONObject()); + getJSONObjectFromElement(el, json.getJSONObject(el.getName()).getJSONObject("properties")); + } + } + } + } + + public List<String> getRequiredProperties(ElementProperties elementProperties){ + List<String> listRequired = new ArrayList<>(); + elementProperties.getChildren().forEach(child -> { + try { + SedaNode sedaElement = getSedaMetadata(child.getName()); + if((child.getCardinality().equals("1-N") && sedaElement.getCardinality().equals("0-N")) + || (child.getCardinality().equals("1") && !sedaElement.getCardinality().equals("1")) + || sedaElement.getCardinality().equals("1")) + listRequired.add(child.getName()); + } catch (IOException e) { + LOGGER.info(e.getMessage()); + } + }); + return listRequired; + } + + public List<ElementProperties> ignoreMetadata(ElementProperties elementProperties){ + List<String> metadataToIgnore = Arrays.asList("DescriptiveMetadata","ArchiveUnit"); + List<ElementProperties> elementsFromTree = + elementProperties.flattened() + .filter(child -> !metadataToIgnore.contains(child.getName()) + && child.getType().equals("element")).collect(toList()); + return elementsFromTree; + } + + public List<String> getHeadRequired(List<ElementProperties> elementsFromTree) { + List<String> list = new ArrayList<>(); + elementsFromTree.forEach((element) -> { + try { + SedaNode sedaElement = getSedaMetadata(element.getName()); + ElementProperties parent = getElementById(elementsFromTree, element.getParentId()); + if ( (parent!= null && + (parent.getName().equals("Content") || element.getName().equals("ArchiveUnitProfile")))) { + if((element.getCardinality().equals("1-N") && sedaElement.getCardinality().equals("0-N")) + || (element.getCardinality().equals("1") && !sedaElement.getCardinality().equals("1")) + || sedaElement.getCardinality().equals("1")) { + list.add(element.getName()); + } + } + } catch (IOException e) { + LOGGER.info(e.getMessage()); + } + }); + return list; + } + + public void getMetaDataFromSeda(ElementProperties el, PuaMetadataDetails puaMetadataDetails, SedaNode sedaElement){ + // get pua type; + puaMetadataDetails.setType(resolvePuaType(sedaElement)); + puaMetadataDetails.setDescription((el.getDocumentation())); + if(sedaElement.getElement().equals("Complex") && el.getPuaData() != null){ + if(el.getPuaData().getAdditionalProperties() != null){ + puaMetadataDetails.setAdditionalProperties(el.getPuaData().getAdditionalProperties()); + } + } + if((el.getCardinality() != null && + el.getCardinality().equals("0-1") && sedaElement.getCardinality().equals("0-N"))) { + puaMetadataDetails.setMinItems(0); + puaMetadataDetails.setMaxItems(1); + } + if(!sedaElement.getEnumeration().isEmpty() && el.getValue() == null){ + puaMetadataDetails.setEnums(sedaElement.getEnumeration()); + } + if(el.getValue() != null){ + ArrayList list = new ArrayList(); + list.add(el.getValue()); + puaMetadataDetails.setEnums(list); + } + + } + + public ElementProperties getElementById(List<ElementProperties> elementProperties, Long id){ + + for (ElementProperties el: elementProperties){ + if(el.getId() == id) return el; + } + return null; + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/FileSystemResource.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/FileSystemResource.java new file mode 100644 index 000000000..9f6d39f11 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/FileSystemResource.java @@ -0,0 +1,55 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.util; + +import org.springframework.core.io.ByteArrayResource; + +public final class FileSystemResource extends ByteArrayResource { + + private String fileName; + + public FileSystemResource(byte[] byteArray , String filename) { + super(byteArray); + this.fileName = filename; + } + + public String getFilename() { return fileName; } + public void setFilename(String fileName) { this.fileName= fileName; } + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/ManifestValidator.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/ManifestValidator.java new file mode 100644 index 000000000..a4499211a --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/ManifestValidator.java @@ -0,0 +1,110 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.common.util; + +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import org.apache.tomcat.util.http.fileupload.IOUtils; +import org.apache.xerces.util.XMLCatalogResolver; +import org.xml.sax.SAXException; + +import javax.xml.XMLConstants; +import javax.xml.transform.stream.StreamSource; +import javax.xml.validation.Schema; +import javax.xml.validation.SchemaFactory; +import javax.xml.validation.Validator; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; + +public class ManifestValidator { + + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(ManifestValidator.class); + + public static final String RNG_FACTORY = "com.thaiopensource.relaxng.jaxp.XMLSyntaxSchemaFactory"; + public static final String RNG_PROPERTY_KEY = "javax.xml.validation.SchemaFactory:" + XMLConstants.RELAXNG_NS_URI; + private static final String RNG_SUFFIX = ".rng"; + public static final String HTTP_WWW_W3_ORG_XML_XML_SCHEMA_V1_1 = "http://www.w3.org/XML/XMLSchema/v1.1"; + /** + * Filename of the catalog file ; should be found in the classpath. + */ + public static final String CATALOG_FILENAME = "xsd_validation/catalog.xml"; + + /** + * @param manifestFile + * @param rngFile + * @return true if validated + * @throws SAXException + * @throws IOException + */ + public boolean checkFileRNG(InputStream manifestFile, File rngFile) { + try { + if (rngFile.length() > 0) { + final Schema schema = getSchema(rngFile); + final Validator validator = schema.newValidator(); + validator.validate(new StreamSource(manifestFile)); + return true; + } + LOGGER.error("Le fichier RNG est vide"); + return false; + } catch (SAXException|IOException e) { + LOGGER.error("Erreur validation du manifest",e); + return false; + } finally { + IOUtils.closeQuietly(manifestFile); + } + } + + private Schema getSchema(File file) throws SAXException { + SchemaFactory factory; + if (file.getName().endsWith(RNG_SUFFIX)) { + System.setProperty(RNG_PROPERTY_KEY, + RNG_FACTORY); + factory = SchemaFactory.newInstance(XMLConstants.RELAXNG_NS_URI); + } else { + factory = SchemaFactory.newInstance(HTTP_WWW_W3_ORG_XML_XML_SCHEMA_V1_1); + } + + // Load catalog to resolve external schemas even offline. + final URL catalogUrl = ManifestValidator.class.getClassLoader().getResource(CATALOG_FILENAME); + factory.setResourceResolver(new XMLCatalogResolver(new String[] {catalogUrl.toString()}, false)); + + return factory.newSchema(file); + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/NoticeUtils.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/NoticeUtils.java new file mode 100644 index 000000000..dad76ad7f --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/NoticeUtils.java @@ -0,0 +1,105 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.util; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.MapperFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.module.afterburner.AfterburnerModule; +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.pastis.common.dto.profiles.Notice; +import fr.gouv.vitamui.pastis.common.dto.profiles.ProfileResponse; +import fr.gouv.vitamui.pastis.common.dto.profiles.ProfileType; +import org.json.JSONArray; +import org.json.JSONObject; +import org.springframework.stereotype.Service; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +public class NoticeUtils { + + private NoticeUtils(){} + + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(NoticeUtils.class); + + public static Notice getNoticeFromPUA(JSONObject jsonPUA) throws IOException { + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true); + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + return objectMapper.readValue(jsonPUA.toString(), Notice.class); + } + + public static ProfileResponse convertToProfileResponse(Notice notice){ + ProfileResponse profileResponse = new ProfileResponse(); + try { + profileResponse.setId(notice.getId()); + profileResponse.setType(getFileType(notice)); + profileResponse.setName(notice.getIdentifier()); + profileResponse.setNotice(getNoticeFromPUA(new JSONObject(notice.serialiseString()))); + } catch (JsonProcessingException e) { + LOGGER.info("Error while convert notice to profileResponse {}", notice); + } catch (IOException e) { + LOGGER.info("Error while convert notice to profileResponse {}", notice); + } + + return profileResponse; + } + + public static ArrayList<String> convert(JSONArray jsonArray) throws JsonProcessingException { + ArrayList<String> list = new ArrayList<String>(); + ObjectMapper objectMapper = new ObjectMapper(); + list = (ArrayList<String>) objectMapper.readValue(jsonArray.toString(), new TypeReference<List<String>>(){}); + return list; + } + + public static ProfileType getFileType(Notice notice){ + return notice.getPath() != null && notice.getControlSchema()==null ? ProfileType.PA : ProfileType.PUA; + } + + public static String serialiseString(Object o) throws JsonProcessingException { + ObjectMapper mapper = new ObjectMapper(); + mapper.registerModule(new AfterburnerModule()); + String json = mapper.writeValueAsString(o); + return json; + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/OrderedJSONObjectFactory.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/OrderedJSONObjectFactory.java new file mode 100644 index 000000000..d0aa797ac --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/OrderedJSONObjectFactory.java @@ -0,0 +1,75 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.util; + +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import org.json.JSONObject; + +import java.lang.reflect.Field; +import java.util.LinkedHashMap; + +public class OrderedJSONObjectFactory { + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(OrderedJSONObjectFactory.class); + private static boolean setupDone = false; + private static Field JSONObjectMapField = null; + + public static void setupFieldAccessor() { + if( !setupDone ) { + setupDone = true; + try { + JSONObjectMapField = JSONObject.class.getDeclaredField("map"); + JSONObjectMapField.setAccessible(true); + } catch (NoSuchFieldException ignored) { + LOGGER.warn("JSONObject implementation has changed, returning unmodified instance"); + } + } + } + + public static JSONObject create() { + setupFieldAccessor(); + JSONObject result = new JSONObject(); + try { + if (JSONObjectMapField != null) { + JSONObjectMapField.set(result, new LinkedHashMap<>()); + } + }catch (IllegalAccessException ignored) {} + return result; + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/PastisCustomCharacterEscapeHandler.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/PastisCustomCharacterEscapeHandler.java new file mode 100644 index 000000000..698fdefbb --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/PastisCustomCharacterEscapeHandler.java @@ -0,0 +1,94 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.common.util; + +import com.sun.xml.bind.marshaller.CharacterEscapeHandler; + +import java.io.IOException; +import java.io.Writer; + +public class PastisCustomCharacterEscapeHandler implements CharacterEscapeHandler{ + + public PastisCustomCharacterEscapeHandler() { + super(); + } + + /** + * @param ch The array of characters. + * @param start The starting position. + * @param length The number of characters to use. + * @param isAttVal true if this is an attribute value literal. + */ + public void escape(char[] ch, int start, int length, boolean isAttVal, Writer out) throws IOException { + int limit = start + length; + for (int i = start; i < limit; i++) { + char c = ch[i]; + if (c == '&' || c == '<' || c == '>' || (c == '\"' && isAttVal) + || (c == '\'' && isAttVal)) { + if (i != start) { + out.write(ch, start, i - start); + } + start = i + 1; + switch (ch[i]) { + case '&': + out.write("&"); + break; + + case '<': + out.write("<"); + break; + + case '>': + out.write(">"); + break; + + case '\"': + out.write("\""); + break; + + case '\'': + out.write("'"); + break; + } + } + } + if (start != limit) { + out.write(ch, start, limit - start); + } + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/PastisGetXmlJsonTree.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/PastisGetXmlJsonTree.java new file mode 100644 index 000000000..0e2d17368 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/PastisGetXmlJsonTree.java @@ -0,0 +1,132 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.common.util; + +import com.fasterxml.jackson.core.JsonGenerationException; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; +import fr.gouv.vitamui.pastis.common.dto.ElementRNG; +import fr.gouv.vitamui.pastis.common.dto.jaxb.*; +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Marshaller; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; + +public class PastisGetXmlJsonTree { + + //ElementRNG elementRNGRoot; + public String jsonParsed = ""; + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(PastisGetXmlJsonTree.class); + + + public ElementProperties getJsonParsedTree(ElementRNG elementRNGRoot) { + ElementRNG.buildElementPropertiesTree(elementRNGRoot,0, null); + return ElementRNG.elementStaticRoot; + } + + // Test an xml to json and a json to xml. + // TODO Move this code in test package + public String getJsonParsedTreeTest(ElementRNG elementRNGRoot) throws JAXBException, FileNotFoundException { + + //vWhen the handler is called, the proprities tree (json) is build + // using its ElementRNG(elementRngRoot) object. + // The elementRngRoot is filled when the xml file is read, by passing + // it to the contentHanler of the Xml reader. + // The methods used are the 5 main methods of a DefaultHandler type + // See methods bellow + ElementRNG.buildElementPropertiesTree(elementRNGRoot,0, null); + ElementProperties eparent = ElementRNG.elementStaticRoot; + + + // The eparentRng is an object of type BalizeXML. It is built using the + // object eparent (of type ElementProperties) that, in fact, represent the json + // prouced during the parser's first call. + BaliseXML.buildBaliseXMLTree(eparent,0, null); + BaliseXML eparentRng = BaliseXML.baliseXMLStatic; + + + // Transforms java objects to Xml file (Marshalling) + JAXBContext contextObj = JAXBContext.newInstance(AttributeXML.class, ElementXML.class, DataXML.class, ValueXML.class, OptionalXML.class, OneOrMoreXML.class, + ZeroOrMoreXML.class, AnnotationXML.class, DocumentationXML.class, ChoiceXml.class); + Marshaller marshallerObj = contextObj.createMarshaller(); + marshallerObj.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); + marshallerObj.setProperty("com.sun.xml.bind.marshaller.CharacterEscapeHandler", + new PastisCustomCharacterEscapeHandler()); + + marshallerObj.marshal(eparentRng, new FileOutputStream("generated_test.xml")); + + + ObjectMapper mapper = new ObjectMapper(); + String jsonString = ""; + try { + jsonString = mapper.writeValueAsString(eparent); + } catch (JsonGenerationException e1) { + e1.printStackTrace(); + } catch (JsonMappingException e1) { + e1.printStackTrace(); + } catch (IOException e1) { + e1.printStackTrace(); + } + return "["+jsonString+"]"; + } + + + public String getXmlParsedTree(String jsonString) throws IOException { + + ObjectMapper objectMapper = new ObjectMapper(); + ObjectMapper xmlMapper = new ObjectMapper(); + JsonNode tree = objectMapper.readTree(jsonString); + String jsonAsXml = xmlMapper.writeValueAsString(tree); + + return jsonAsXml; + } + + + public void setJsonParsed(String jsonParsed) { + this.jsonParsed = jsonParsed; + } + + + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/PastisMarshaller.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/PastisMarshaller.java new file mode 100644 index 000000000..6ca8af3bc --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/PastisMarshaller.java @@ -0,0 +1,84 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.common.util; + +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; +import fr.gouv.vitamui.pastis.common.dto.factory.RngTag; +import fr.gouv.vitamui.pastis.common.dto.factory.RngTagFactory; +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Marshaller; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.io.Writer; + +public class PastisMarshaller { + + public static final String CHAR_ESCAPE_HANDLER = "com.sun.xml.bind.marshaller.CharacterEscapeHandler"; + public static final String MARSHALLER_FORMAT = Marshaller.JAXB_FORMATTED_OUTPUT; + + + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(PastisMarshaller.class); + + public String getMarshalledObject(ElementProperties mappedJson) throws IOException, JAXBException { + + RngTagFactory tagFactory = new RngTagFactory(); + RngTag rngTree = tagFactory.createTag(mappedJson, null, 0); + + JAXBContext contextObj = JAXBContext.newInstance(RngTag.class); + Marshaller marshallerObj = contextObj.createMarshaller(); + marshallerObj.setProperty(MARSHALLER_FORMAT, true); + marshallerObj.setProperty(CHAR_ESCAPE_HANDLER, new PastisCustomCharacterEscapeHandler()); + + ByteArrayOutputStream os = new ByteArrayOutputStream(); + Writer writer = new OutputStreamWriter(os, "UTF-8"); + marshallerObj.marshal(rngTree, writer); + String response = new String (os.toByteArray(), "UTF-8"); + writer.close(); + + String status = !response.isEmpty() ? "Json marshalled successfully" : "Failed to marshall json object"; + LOGGER.info(status); + + return response; + } + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/PastisSAX2Handler.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/PastisSAX2Handler.java new file mode 100644 index 000000000..27e07c21c --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/PastisSAX2Handler.java @@ -0,0 +1,151 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.common.util; + +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.pastis.common.dto.ElementRNG; +import org.xml.sax.Attributes; +import org.xml.sax.SAXException; +import org.xml.sax.helpers.DefaultHandler; + +import java.util.Stack; + +public class PastisSAX2Handler extends DefaultHandler{ + + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(PastisSAX2Handler.class); + + boolean isValue; + + private boolean isInDocumentationTag; + + public ElementRNG elementRNGRoot; + + Stack<ElementRNG> stackRNG = new Stack<ElementRNG>(); + + private StringBuilder documentationContent; + + + /** + BEGIN OF OVERRIDE OF SAX 5 METHODS : startElement, endElement, startDocument, endDocument and characters + * This method is called everytime the parser gets an open tag + * Identifies which tag has being opened at time by assiging a new flag + */ + public void startElement(String nameSpace, String localName, String qName, Attributes attr) throws SAXException { + + //cette variable contient le nom du nœud qui a créé l'événement + // If node not a grammar tag or start tag + if(!("grammar".equals(localName) || "start".equals(localName))){ + + // If node is ArchiveTransfer + if(null !=attr.getValue("name") && attr.getValue("name").equals("ArchiveTransfer")){ + return ; + } + //If node has documentation + if("value".equals(localName) || "documentation".equals(localName)) { + this.isValue = true; + } + // Create a new rng tag element and add it to the stack + ElementRNG elementRNG = new ElementRNG(); + elementRNG.setName(attr.getValue("name")); + elementRNG.setType(localName); + elementRNG.setDataType(attr.getValue("type")); + if(!stackRNG.empty()) { + ElementRNG e = stackRNG.lastElement(); + elementRNG.setParent(e); + e.getChildren().add(elementRNG); + } + stackRNG.push(elementRNG); + + + + } + + documentationContent = new StringBuilder(); + if (qName.equalsIgnoreCase("xsd:documentation")) { + isInDocumentationTag = true; + } + + } + + /** + * Actions à réaliser lors de la détection de la fin d'un élément. + */ + public void endElement(String nameSpace, String localName, String qName) throws SAXException { + + if (qName.equalsIgnoreCase("xsd:documentation")) { + isInDocumentationTag = false; + + } + if(!stackRNG.empty()) { + ElementRNG e = stackRNG.pop(); + } + } + + /** + * Actions à réaliser au début du document. + */ + public void startDocument() { + elementRNGRoot = new ElementRNG(); + elementRNGRoot.setName("ArchiveTransfer"); + elementRNGRoot.setType("element"); + stackRNG.push(elementRNGRoot); + } + + /** + * Actions à réaliser lors de la fin du document XML. + */ + public void endDocument() { + } + + /** + * Actions to perform when tag content is reached (Data between '< />' ) + */ + @Override + public void characters(char[] caracteres, int start, int length) throws SAXException { + if (isInDocumentationTag) { + documentationContent.append(new String(caracteres, start, length)); + stackRNG.lastElement().setValue(documentationContent.toString()); + } + if(isValue) { + String valueContent = new String(caracteres, start, length); + stackRNG.lastElement().setValue(valueContent); + this.isValue = false; + } + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/PropertiesUtils.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/PropertiesUtils.java new file mode 100644 index 000000000..4f5b53ebe --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/PropertiesUtils.java @@ -0,0 +1,118 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.common.util; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.InputStream; +import java.net.URISyntaxException; +import java.net.URL; + +public final class PropertiesUtils { + + private static final String FILE_NOT_FOUND_IN_RESOURCES = "File not found in Resources: "; + + private PropertiesUtils() { + // Empty + } + + /** + * Get the File representation from the local path to the Resources directory + * + * @param resourcesFile properties file from resources directory + * @return the associated File + * @throws FileNotFoundException if the resource file not found + */ + public static File getResourceFile(String resourcesFile) throws FileNotFoundException { + if (resourcesFile == null) { + throw new FileNotFoundException(FILE_NOT_FOUND_IN_RESOURCES + resourcesFile); + } + URL url; + try { + url = PropertiesUtils.class.getClassLoader().getResource(resourcesFile); + } catch (final SecurityException e) { + throw new FileNotFoundException(FILE_NOT_FOUND_IN_RESOURCES + resourcesFile); + } + if (url == null) { + url = Thread.currentThread().getContextClassLoader().getResource(resourcesFile); + } + if (url == null) { + throw new FileNotFoundException(FILE_NOT_FOUND_IN_RESOURCES + resourcesFile); + } + File file; + try { + file = new File(url.toURI()); + } catch (final URISyntaxException e) { + file = new File(url.getFile().replaceAll("%20", " ")); + } + if (file.exists()) { + return file; + } + throw new FileNotFoundException(FILE_NOT_FOUND_IN_RESOURCES + resourcesFile); + } + + /** + * Get the InputStream representation from the Resources directory + * + * @param resourcesFile properties file from resources directory + * @return the associated File + * @throws FileNotFoundException if the resource file not found + */ + public static InputStream getResourceAsStream(String resourcesFile) throws FileNotFoundException { + if (resourcesFile == null) { + throw new FileNotFoundException(FILE_NOT_FOUND_IN_RESOURCES); + } + InputStream stream = null; + try { + stream = Thread.currentThread().getContextClassLoader().getResourceAsStream(resourcesFile); + } catch (final SecurityException e) { + + } + if (stream == null) { + try { + stream = PropertiesUtils.class.getClassLoader().getResourceAsStream(resourcesFile); + } catch (final SecurityException e) { + + } + } + if (stream == null) { + throw new FileNotFoundException(FILE_NOT_FOUND_IN_RESOURCES + resourcesFile); + } + return stream; + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/RNGConstants.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/RNGConstants.java new file mode 100644 index 000000000..bb2d2fad2 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/RNGConstants.java @@ -0,0 +1,401 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.common.util; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author rachid Sala <rachid@cines.fr> + */ +public class RNGConstants { + + public static final Map<String , String> typeElement = new HashMap<>() { + public static final long serialVersionUID = 1L; + { + put("Simple", "element"); + put("Complex", "element"); + put("Attribute", "attribute"); + } + }; + + public static enum DataType + { + string("string"), + dateTime("dateTime"), + date("date"), + ID("ID"), + id("id"), + anyURI("anyURI"), + token("token"), + tokenType("tokenType"), + base64Binary("base64Binary"), + positiveInteger("positiveInteger"), + booleanType("boolean"), + decimal("decimal"), + intType("int"), + language("language"), + NCName("NCName"), + undefined("undefined"); + + private String label; + + private DataType(final String value) { + setLabel(value); + } + public String getLabel() { + return label; + } + public void setLabel(final String label) { + this.label = label; + } + } + + public static enum MetadaDataType + { + element ("element"), + attribute("attribute"), + data("data"), + except("except"), + nsName("nsName"), + value("value"), + text("text"), + ID("ID"); + private String label; + + private MetadaDataType(final String value) { + setLabel(value); + } + public String getLabel() { + return label; + } + public void setLabel(final String label) { + this.label = label; + } + } + + public static final Map<String , String> CardinalityMap = new HashMap<String , String>() { + public static final long serialVersionUID = 1L; + { + put("optional", "0-1"); + put("zeroOrMore", "0-N"); + put("obligatoire", "1"); + put("oneOrMore", "1-N"); + }}; + + public static enum Cardinality + { + optional("0-1"), + zeroOrMore("0-N"), + obligatoire("1"), + oneOrMore("1-N"); + private String label; + + private Cardinality(final String value) { + setLabel(value); + } + public String getLabel() { + return label; + } + public void setLabel(final String label) { + this.label = label; + } + } + + public static final Map<String , String> GroupOrChoiceMap = new HashMap<String , String>() { + public static final long serialVersionUID = 1L; + { + put("group","group"); + put("choice","choice"); + }}; + + public static enum GroupOrChoice + { + group("group"), + choice("choice"); + private String label; + + private GroupOrChoice(final String value) { + setLabel(value); + } + public String getLabel() { + return label; + } + public void setLabel(final String label) { + this.label = label; + } + } + + + public static boolean isElement (String type) { + for(MetadaDataType typeElement : MetadaDataType.values()){ + if (typeElement.toString().equals(type)) { + return true; + } + } + return false; + } + + public static boolean isCardinality (String type) { + for(Cardinality typeElement : Cardinality.values()){ + if (typeElement.toString().equals(type)) { + return true; + } + } + return false; + } + + public static boolean hasGroupOrChoice(String type) { + for(GroupOrChoice typeElement : GroupOrChoice.values()){ + if (typeElement.toString().equals(type)) { + return true; + } + } + return false; + } + + public static boolean isDataType (String type) { + for(DataType typeElement : DataType.values()){ + if (typeElement.toString().equals(type)) { + return true; + } + } + return false; + } + + public static boolean isValueOrData (String type) { + + if (null != type && (MetadaDataType.data.toString().equals(type) + || MetadaDataType.nsName.toString().equals(type) + || MetadaDataType.value.toString().equals(type))){ + return true; + } + return false; + } + + public static final Map<String , DataType> TypesMap = new HashMap<String , DataType>() { + public static final long serialVersionUID = 1L; + { + put("CodeListVersions", DataType.token); + put("Comment", DataType.string); + put("Date", DataType.token); + put("MessageIdentifier", DataType.token); + put("ArchivalAgreement", DataType.token); + put("ReplyCodeListVersion", DataType.token); + put("MessageDigestAlgorithmCodeListVersion", DataType.token); + put("MimeTypeCodeListVersion", DataType.token); + put("EncodingCodeListVersion", DataType.token); + put("FileFormatCodeListVersion", DataType.token); + put("CompressionAlgorithmCodeListVersion", DataType.token); + put("DataObjectVersionCodeListVersion", DataType.token); + put("StorageRuleCodeListVersion", DataType.token); + put("AppraisalRuleCodeListVersion", DataType.token); + put("AccessRuleCodeListVersion", DataType.token); + put("DisseminationRuleCodeListVersion", DataType.token); + put("ReuseRuleCodeListVersion", DataType.token); + put("ClassificationRuleCodeListVersion", DataType.token); + put("AcquisitionInformationCodeListVersion", DataType.token); + put("AuthorizationReasonCodeListVersion", DataType.token); + put("RelationshipCodeListVersion", DataType.token); + put("OtherCodeListAbstract", DataType.token); + put("DataObjectSystemId", DataType.token); + put("DataObjectGroupSystemId", DataType.token); + put("Relationship", DataType.token); + put("DataObjectGroupReferenceId", DataType.token); + put("DataObjectGroupId", DataType.token); + put("DataObjectVersion", DataType.token); + put("Attachment", DataType.base64Binary); + put("Uri", DataType.anyURI); + put("MessageDigest", DataType.base64Binary); + put("Size", DataType.positiveInteger); + put("Compressed", DataType.booleanType); + put("FormatLitteral", DataType.string); + put("MimeType", DataType.token); + put("FormatId", DataType.token); + put("Encoding", DataType.token); + put("Filename", DataType.string); + put("CreatingApplicationName", DataType.string); + put("CreatingApplicationVersion", DataType.string); + put("DateCreatedByApplication", DataType.token); + put("CreatingOs", DataType.string); + put("CreatingOsVersion", DataType.string); + put("LastModified", DataType.token); + put("PhysicalId", DataType.token); + put("Width", DataType.decimal); + put("Height", DataType.decimal); + put("Depth", DataType.decimal); + put("Shape", DataType.string); + put("Diameter", DataType.decimal); + put("Length", DataType.decimal); + put("Thickness", DataType.decimal); + put("Weight", DataType.decimal); + put("NumberOfPage", DataType.intType); + put("EventIdentifier", DataType.token); + put("EventTypeCode", DataType.token); + put("EventType", DataType.token); + put("EventDateTime", DataType.token); + put("EventDetail", DataType.string); + put("Outcome", DataType.token); + put("OutcomeDetail", DataType.token); + put("OutcomeDetailMessage", DataType.token); + put("EventDetailData", DataType.token); + put("DataObjectReferenceId", DataType.token); + put("ArchiveUnitRefId", DataType.token); + put("ArchiveUnitProfile", DataType.token); + put("Rule", DataType.token); + put("StartDate", DataType.token); + put("PreventInheritance", DataType.booleanType); + put("RefNonRuleId", DataType.token); + put("FinalAction", DataType.token); + put("ClassificationAudience", DataType.token); + put("ClassificationLevel", DataType.token); + put("ClassificationOwner", DataType.token); + put("ClassificationReassessingDate", DataType.token); + put("NeedReassessingAuthorization", DataType.booleanType); + put("NeedAuthorization", DataType.booleanType); + put("DescriptionLevel", DataType.token); + put("Title", DataType.string); + put("FilePlanPosition", DataType.token); + put("SystemId", DataType.token); + put("OriginatingSystemId", DataType.token); + put("ArchivalAgencyArchiveUnitIdentifier", DataType.token); + put("OriginatingAgencyArchiveUnitIdentifier", DataType.token); + put("TransferringAgencyArchiveUnitIdentifier", DataType.token); + put("Description", DataType.string); + put("CustodialHistoryItem", DataType.string); + put("Type", DataType.string); + put("DocumentType", DataType.string); + put("language", DataType.language); + put("DescriptionLanguage", DataType.language); + put("Status", DataType.token); + put("Version", DataType.string); + put("Tag", DataType.token); + put("KeywordContent", DataType.string); + put("KeywordReference", DataType.token); + put("KeywordType", DataType.token); + put("Spatial", DataType.string); + put("Temporal", DataType.string); + put("Juridictional", DataType.string); + put("Identifier", DataType.string); + put("FirstName", DataType.string); + put("BirthName", DataType.string); + put("FullName", DataType.string); + put("GivenName", DataType.string); + put("Gender", DataType.string); + put("BirthDate", DataType.string); + put("Geogname", DataType.string); + put("Address", DataType.string); + put("PostalCode", DataType.string); + put("City", DataType.string); + put("Region", DataType.string); + put("Country", DataType.string); + put("DeathDate", DataType.token); + put("Nationality", DataType.string); + put("Corpname", DataType.string); + put("Function", DataType.string); + put("Activity", DataType.string); + put("Position", DataType.string); + put("Role", DataType.string); + put("Mandate", DataType.string); + put("Source", DataType.string); + put("ArchiveUnitRefId", DataType.NCName); + put("DataObjectReferenceId", DataType.token); + put("RepositoryArchiveUnitPID", DataType.token); + put("RepositoryObjectPID", DataType.token); + put("ExternalReference", DataType.token); + put("CreatedDate", DataType.token); + put("TransactedDate", DataType.token); + put("AcquiredDate", DataType.token); + put("SentDate", DataType.token); + put("ReceivedDate", DataType.token); + put("RegisteredDate", DataType.token); + put("EndDate", DataType.token); + put("Masterdata", DataType.token); + put("SigningTime", DataType.token); + put("ValidationTime", DataType.token); + put("SignedObjectId", DataType.token); + put("SignedObjectDigest", DataType.base64Binary); + put("GpsVersionID", DataType.string); + put("GpsAltitude", DataType.string); + put("GpsAltitudeRef", DataType.string); + put("GpsLatitude", DataType.string); + put("GpsLatitudeRef", DataType.string); + put("GpsLongitude", DataType.string); + put("GpsLongitudeRef", DataType.string); + put("GpsDateStamp", DataType.string); + put("ArchivalProfile", DataType.token); + put("ServiceLevel", DataType.token); + put("AcquisitionInformation", DataType.token); + put("LegalStatus", DataType.token); + put("OriginatingAgencyIdentifier", DataType.token); + put("SubmissionAgencyIdentifier", DataType.token); + put("RelatedTransferReference", DataType.token); + put("TransferRequestReplyIdentifier", DataType.token); + put("xml:id", DataType.ID); + put("ID", DataType.ID); + put("id", DataType.ID); + put("algorithm", DataType.token); + put("lang", DataType.language); + put("xml:lang", DataType.language); + put("href", DataType.anyURI); + put("listID", DataType.token); + put("listAgencyID", DataType.token); + put("listAgencyName", DataType.string); + put("listName", DataType.string); + put("listVersionID", DataType.token); + put("Name", DataType.string); + put("languageID", DataType.language); + put("listURI", DataType.anyURI); + put("listSchemeURI", DataType.anyURI); + put("schemeID", DataType.token); + put("schemeName", DataType.string); + put("schemeAgencyID", DataType.token); + put("schemeAgencyName", DataType.string); + put("schemeVersionID", DataType.token); + put("schemeDataURI", DataType.anyURI); + put("schemeURI", DataType.anyURI); + put("target", DataType.NCName); + put("type", DataType.token); + put("filename", DataType.string); + put("anyURI", DataType.anyURI); + put("unCompressedSize", DataType.positiveInteger); + put("unit", DataType.string); + put("when", DataType.token); + }}; + +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/RNGProfileValidator.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/RNGProfileValidator.java new file mode 100644 index 000000000..e7f653034 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/RNGProfileValidator.java @@ -0,0 +1,97 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.common.util; + +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import org.xml.sax.SAXException; +import javax.xml.XMLConstants; +import javax.xml.stream.XMLEventReader; +import javax.xml.stream.XMLInputFactory; +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.events.XMLEvent; +import javax.xml.validation.SchemaFactory; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.util.Objects; + +public class RNGProfileValidator { + + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(RNGProfileValidator.class); + + public static final String RNG_FACTORY = "com.thaiopensource.relaxng.jaxp.XMLSyntaxSchemaFactory"; + public static final String RNG_PROPERTY_KEY = "javax.xml.validation.SchemaFactory:" + XMLConstants.RELAXNG_NS_URI; + + public boolean validateRNG(File file, String error) throws Exception { + try { + System.setProperty(RNG_PROPERTY_KEY, RNG_FACTORY); + SchemaFactory.newInstance(XMLConstants.RELAXNG_NS_URI).newSchema(file); + } catch (SAXException e) { + LOGGER.error("Malformed profile rng file", e); + error = "Malformed profile rng file : " + e.getMessage(); + return false; + } + + return checkTag(file, "rng", "grammar", error); + } + + private boolean checkTag(File file, String prefix, String element, String error) + throws FileNotFoundException, XMLStreamException { + + final XMLInputFactory xmlInputFactory = XMLInputFactoryUtils.newInstance(); + final XMLEventReader eventReader = xmlInputFactory.createXMLEventReader(new FileInputStream(file)); + while (eventReader.hasNext()) { + XMLEvent event = eventReader.nextEvent(); + if (event.isStartDocument()) { + continue; + } + + if (event.isStartElement()) { + String elementName = event.asStartElement().getName().getLocalPart(); + String elementPrefix = event.asStartElement().getName().getPrefix(); + + if (Objects.equals(element, elementName) || Objects.equals(prefix, elementPrefix)) { + error += "Profile file xsd have not the xsd:schema tag name."; + return true; + } + } + } + return false; + } +} diff --git a/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/XMLInputFactoryUtils.java b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/XMLInputFactoryUtils.java new file mode 100644 index 000000000..510389e90 --- /dev/null +++ b/api/api-pastis/pastis-commons/src/main/java/fr/gouv/vitamui/pastis/common/util/XMLInputFactoryUtils.java @@ -0,0 +1,51 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.common.util; + +import javax.xml.stream.XMLInputFactory; + +public class XMLInputFactoryUtils { + + public static XMLInputFactory newInstance() { + XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance(); + xmlInputFactory.setProperty(XMLInputFactory.SUPPORT_DTD, Boolean.FALSE); + xmlInputFactory.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, Boolean.FALSE); + xmlInputFactory.setProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES, Boolean.FALSE); + return xmlInputFactory; + } +} diff --git a/api/api-pastis/pastis-standalone/build-standalone.sh b/api/api-pastis/pastis-standalone/build-standalone.sh new file mode 100644 index 000000000..4de3605cb --- /dev/null +++ b/api/api-pastis/pastis-standalone/build-standalone.sh @@ -0,0 +1,6 @@ +cd ../../../ui/ +mvn clean install -DskipTests --projects ui-frontend,ui-frontend-common -Pstandalone +cd ../commons/ +mvn clean install -DskipTests +cd ../api/ +mvn clean install -DskipTests -Pstandalone diff --git a/api/api-pastis/pastis-standalone/pom.xml b/api/api-pastis/pastis-standalone/pom.xml new file mode 100644 index 000000000..39bc12d24 --- /dev/null +++ b/api/api-pastis/pastis-standalone/pom.xml @@ -0,0 +1,319 @@ +<?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"> + <parent> + <artifactId>api-pastis</artifactId> + <groupId>fr.gouv.vitamui</groupId> + <version>5.0-SNAPSHOT</version> + </parent> + <modelVersion>4.0.0</modelVersion> + + <artifactId>pastis-standalone</artifactId> + <description>Pastis Standalone Version</description> + + <properties> + <maven.compile.target>11</maven.compile.target> + <maven.compile.source>11</maven.compile.source> + <java.version>11</java.version> + <angular.base.href>/</angular.base.href> + <angular.build.project>pastis</angular.build.project> + <rpm.skip>false</rpm.skip> + <sonar.sources>src/main/java</sonar.sources> + <swagger.dir>ui</swagger.dir> + <swagger.skip>false</swagger.skip> + <webpack.skip>false</webpack.skip> + <webpack.test.skip>false</webpack.test.skip> + <skipAllFrontend>false</skipAllFrontend> + <skipAllFrontendTests>false</skipAllFrontendTests> + </properties> + + + <dependencies> + <dependency> + <groupId>fr.gouv.vitam</groupId> + <artifactId>common-public</artifactId> + </dependency> + <dependency> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>pastis</artifactId> + <version>5.0-SNAPSHOT</version> + <exclusions> + <exclusion> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>pastis-client</artifactId> + </exclusion> +<!-- <exclusion> + <groupId>fr.gouv.vitamui.commons</groupId> + <artifactId>commons-api</artifactId> + </exclusion>--> + <exclusion> + <groupId>fr.gouv.vitamui.commons</groupId> + <artifactId>commons-rest</artifactId> + </exclusion> + <exclusion> + <groupId>fr.gouv.vitamui.commons</groupId> + <artifactId>commons-vitam</artifactId> + </exclusion> + <exclusion> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>security-client</artifactId> + </exclusion> + <exclusion> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>iam-internal-client</artifactId> + </exclusion> + <exclusion> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>iam-security</artifactId> + </exclusion> + <exclusion> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-webflux</artifactId> + </exclusion> + <exclusion> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-actuator</artifactId> + </exclusion> + <exclusion> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-configuration-processor</artifactId> + </exclusion> + <exclusion> + <groupId>org.springframework.cloud</groupId> + <artifactId>spring-cloud-starter-consul-discovery</artifactId> + </exclusion> + <exclusion> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpcore</artifactId> + </exclusion> + <exclusion> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-security</artifactId> + </exclusion> + <exclusion> + <groupId>org.springframework.security</groupId> + <artifactId>spring-security-test</artifactId> + </exclusion> + <exclusion> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>iam-commons</artifactId> + </exclusion> + <exclusion> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>iam-external-client</artifactId> + </exclusion> + <exclusion> + <groupId>fr.gouv.vitamui.commons</groupId> + <artifactId>commons-test</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.skyscreamer</groupId> + <artifactId>jsonassert</artifactId> + <version>${jsonassert.version}</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>com.sun.xml.bind</groupId> + <artifactId>jaxb-impl</artifactId> + <version>2.3.1</version> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter</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-actuator</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-devtools</artifactId> + </dependency> + + <!-- Documentation --> + <dependency> + <groupId>io.springfox</groupId> + <artifactId>springfox-swagger2</artifactId> + </dependency> + <dependency> + <groupId>io.springfox</groupId> + <artifactId>springfox-swagger-ui</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-test</artifactId> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>org.junit.vintage</groupId> + <artifactId>junit-vintage-engine</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + + + <build> + <plugins> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <executions> + <execution> + <id>build-info</id> + <goals> + <goal>build-info</goal> + </goals> + </execution> + <execution> + <goals> + <goal>repackage</goal> + </goals> + </execution> + </executions> + <configuration> + <executable>true</executable> + <attach>false</attach> <!-- Need to use the original jar for integration-tests --> + <mainClass>fr.gouv.vitamui.pastis.standalone.ApiPastisStandaloneApplication</mainClass> + </configuration> + </plugin> + </plugins> + </build> + + <profiles> + <profile> + <id>standalone</id> + <dependencies> + <dependency> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>ui-frontend</artifactId> + <scope>provided</scope> + <type>pom</type> + <version>${project.version}</version> + </dependency> + </dependencies> + <build> + <resources> + <resource> + <directory>target/www/</directory> + <targetPath>static/</targetPath> + </resource> + <resource> + <directory>src/main/resources</directory> + </resource> + </resources> + <testResources> + <testResource> + <directory>src/test/resources</directory> + <filtering>true</filtering> + </testResource> + </testResources> + <plugins> + + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <executions> + <execution> + <id>build-info</id> + <goals> + <goal>build-info</goal> + </goals> + </execution> + <execution> + <id>spring-boot-repackage</id> + <goals> + <goal>repackage</goal> + </goals> + </execution> + </executions> + <configuration> + <executable>true</executable> + <attach>true</attach> <!-- Need to use the original jar for integration-tests --> + <mainClass>fr.gouv.vitamui.pastis.standalone.ApiPastisStandaloneApplication</mainClass> + </configuration> + </plugin> + <plugin> + <groupId>com.github.eirslett</groupId> + <artifactId>frontend-maven-plugin</artifactId> + </plugin> + <plugin> + <groupId>com.akathist.maven.plugins.launch4j</groupId> + <artifactId>launch4j-maven-plugin</artifactId> + <version>1.7.21</version> + <executions> + <execution> + <id>build-pastis-standalone-executable-windows</id> + <phase>package</phase> + <goals> + <goal>launch4j</goal> + </goals> + <configuration> + <headerType>console</headerType> + <jar>${project.build.directory}/${project.build.finalName}.${project.packaging}</jar> + <outfile>${project.build.directory}/${project.build.finalName}.exe</outfile> + <jre> + <path>./win32/java</path> + <bundledJre64Bit>true</bundledJre64Bit> + <runtimeBits>64</runtimeBits> + </jre> + </configuration> + </execution> + </executions> + </plugin> + <!-- maven plugin resources--> + <plugin> + <artifactId>maven-resources-plugin</artifactId> + <executions> + <execution> + <id>copy-resources-jre</id> + <!-- here the phase you need --> + <phase>package</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>${basedir}/target/win32/java</outputDirectory> + <resources> + <resource> + <directory>${java.home}</directory> + </resource> + </resources> + </configuration> + </execution> + </executions> + </plugin> + + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <executions> + <execution> + <id>assembly</id> + <phase>package</phase> + <goals><goal>single</goal></goals> + <configuration> + <descriptors> + <descriptor>assembly.xml</descriptor> + </descriptors> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + </profiles> + +</project> diff --git a/api/api-pastis/pastis-standalone/src/main/java/fr/gouv/vitamui/pastis/standalone/ApiPastisStandaloneApplication.java b/api/api-pastis/pastis-standalone/src/main/java/fr/gouv/vitamui/pastis/standalone/ApiPastisStandaloneApplication.java new file mode 100644 index 000000000..111ea7b8a --- /dev/null +++ b/api/api-pastis/pastis-standalone/src/main/java/fr/gouv/vitamui/pastis/standalone/ApiPastisStandaloneApplication.java @@ -0,0 +1,58 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.standalone; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; + +@SpringBootApplication +public class ApiPastisStandaloneApplication extends SpringBootServletInitializer{ + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(ApiPastisStandaloneApplication.class); + } + + public static void main(String[] args) { + SpringApplication.run(ApiPastisStandaloneApplication.class, args); + } + +} diff --git a/api/api-pastis/pastis-standalone/src/main/java/fr/gouv/vitamui/pastis/standalone/config/PastisConfiguration.java b/api/api-pastis/pastis-standalone/src/main/java/fr/gouv/vitamui/pastis/standalone/config/PastisConfiguration.java new file mode 100644 index 000000000..3ed44f6db --- /dev/null +++ b/api/api-pastis/pastis-standalone/src/main/java/fr/gouv/vitamui/pastis/standalone/config/PastisConfiguration.java @@ -0,0 +1,102 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.standalone.config; + +import fr.gouv.vitamui.pastis.common.service.JsonFromPUA; +import fr.gouv.vitamui.pastis.common.service.PuaFromJSON; +import fr.gouv.vitamui.pastis.common.service.PuaPastisValidator; +import fr.gouv.vitamui.pastis.server.service.PastisService; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.web.servlet.error.ErrorViewResolver; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.ResourceLoader; +import org.springframework.http.HttpStatus; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +import java.util.Collections; + +@Configuration +public class PastisConfiguration { + + private ResourceLoader resourceLoader; + + @Value("${cors.allowed-origins}") + private String origins; + + @Bean + public WebMvcConfigurer corsConfigurer() { + return new WebMvcConfigurer () { + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**") + .allowedOrigins(origins.split(",")) + .allowCredentials(true); + } + }; + } + + @Bean + public ErrorViewResolver customErrorViewResolver() { + final ModelAndView redirectToIndexHtml = new ModelAndView("forward:/index.html", Collections.emptyMap(), HttpStatus.OK); + return (request, status, model) -> status == HttpStatus.NOT_FOUND ? redirectToIndexHtml : null; + } + + @Bean + public JsonFromPUA jsonFromPUA() { + return new JsonFromPUA(); + } + + @Bean + public PuaFromJSON puaFromJSON() { + return new PuaFromJSON(); + } + + @Bean + public PastisService pastisService() { + return new PastisService(this.resourceLoader); + } + + @Bean + public PuaPastisValidator puaPastisValidator() { + return new PuaPastisValidator(); + } + +} diff --git a/api/api-pastis/pastis-standalone/src/main/java/fr/gouv/vitamui/pastis/standalone/controller/PastisController.java b/api/api-pastis/pastis-standalone/src/main/java/fr/gouv/vitamui/pastis/standalone/controller/PastisController.java new file mode 100644 index 000000000..c6715615f --- /dev/null +++ b/api/api-pastis/pastis-standalone/src/main/java/fr/gouv/vitamui/pastis/standalone/controller/PastisController.java @@ -0,0 +1,181 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.standalone.controller; + +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; +import fr.gouv.vitamui.pastis.common.dto.profiles.Notice; +import fr.gouv.vitamui.pastis.common.dto.profiles.ProfileNotice; +import fr.gouv.vitamui.pastis.common.dto.profiles.ProfileResponse; +import fr.gouv.vitamui.pastis.common.rest.RestApi; +import fr.gouv.vitamui.pastis.server.service.PastisService; +import io.swagger.v3.oas.annotations.OpenAPIDefinition; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.info.Info; +import io.swagger.v3.oas.annotations.servers.Server; +import io.swagger.v3.oas.annotations.servers.ServerVariable; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.Resource; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; +import java.net.URISyntaxException; +import java.util.List; + + +@OpenAPIDefinition(tags = { @Tag(name = "pastis") }, + info = @Info(title = "Pastis Rest Api", description = ""), + servers = { @Server(url = "localhost" , + variables = { @ServerVariable(name = "scheme", allowableValues ={"https", "http"}, defaultValue = "http"), + @ServerVariable(name = "port", description = "Api port", defaultValue = "8096")}) }) +@RestController +class PastisController { + + private static final Logger LOGGER = LoggerFactory.getLogger(PastisController.class); + + private static final String APPLICATION_JSON_UTF8 = "application/json; charset=utf-8"; + + private final PastisService profileService; + + @Autowired + public PastisController(final PastisService profileService) { + this.profileService = profileService; + } + + @Operation(summary = "Retrieve RNG representation of the JSON structure", + description = "Retrieve RNG representation of the JSON structure of archive profile", + tags = {"pastis"}) + @RequestMapping(value = RestApi.PASTIS_DOWNLOAD_PA, method = RequestMethod.POST, consumes = APPLICATION_JSON_UTF8, produces = MediaType.APPLICATION_XML_VALUE) + ResponseEntity<String> getArchiveProfile(@RequestBody final ElementProperties json) throws IOException { + String pa = profileService.getArchiveProfile(json); + if ( pa != null) { + return ResponseEntity.ok(pa); + } else { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + @Operation(summary = "Retrieve JSON representation of archive unit profile", + description = "Retrieve JSON representation of archive unit profile", + tags = {"pastis"}) + @RequestMapping(value = RestApi.PASTIS_DOWNLOAD_PUA, method = RequestMethod.POST, consumes = APPLICATION_JSON_UTF8, produces = MediaType.APPLICATION_JSON_VALUE) + ResponseEntity<String> getArchiveUnitProfile(@RequestBody final ProfileNotice json) throws IOException { + String pua = profileService.getArchiveUnitProfile(json); + if ( pua != null) { + return ResponseEntity.ok(pua); + } else { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + + } + + @Operation(summary = "Retrieve JSON representation of the RNG structure", + description = "Retrieve JSON representation of the RNG structure", + tags = {"pastis"}) + @RequestMapping (value = RestApi.PASTIS_CREATE_PROFILE, method = RequestMethod.GET) + ResponseEntity<ProfileResponse> createProfile(@RequestParam(name = "type") String profileType) throws URISyntaxException, IOException { + ProfileResponse profileResponse = profileService.createProfile(profileType); + if ( profileResponse != null) { + return ResponseEntity.ok(profileResponse); + } else { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + @RequestMapping (value = RestApi.PASTIS_GET_PROFILE_FILE, method = RequestMethod.GET) + ResponseEntity<Resource> getFile(@RequestParam(name = "name") String filename) { + Resource resource = profileService.getFile(filename); + if (resource != null) { + return ResponseEntity.ok(resource); + } else { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + @Operation(summary = "Transform profile JSON representation from Notice", + description = "Transform profile JSON representation from Notice", + tags = {"pastis"}) + @RequestMapping (value = RestApi.PASTIS_TRANSFORM_PROFILE, method = RequestMethod.POST) + ResponseEntity<ProfileResponse> loadProfile(@RequestBody final Notice notice) + throws IOException { + ProfileResponse profileResponse = profileService.loadProfile(notice); + if ( profileResponse!= null) { + return ResponseEntity.ok(profileResponse); + } else { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + @Operation(summary = "Upload profile PA or PUA", + description = "Upload profile PA or PUA", + tags = {"pastis"}) + @RequestMapping (value = RestApi.PASTIS_UPLOAD_PROFILE, method = RequestMethod.POST, + consumes = "multipart/form-data", produces = "application/json") + ResponseEntity<ProfileResponse> loadProfileFromFile(@RequestParam MultipartFile file) { + ProfileResponse profileResponse = profileService.loadProfileFromFile(file); + if (profileResponse != null) { + return ResponseEntity.ok(profileResponse); + } else { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + @Operation(summary = "Retrieve all profiles PA and PUA", + description = "Retrieve all profiles PA and PUA", + tags = {"pastis"}) + @RequestMapping (value = RestApi.PASTIS_GET_ALL_PROFILES, method = RequestMethod.GET) + ResponseEntity<List<Notice>> getFiles() throws IOException { + List<Notice> notices = profileService.getFiles(); + if (notices != null) { + return ResponseEntity.ok(notices); + } else { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + +} diff --git a/api/api-pastis/pastis-standalone/src/main/resources/application.yml b/api/api-pastis/pastis-standalone/src/main/resources/application.yml new file mode 100644 index 000000000..775d627a6 --- /dev/null +++ b/api/api-pastis/pastis-standalone/src/main/resources/application.yml @@ -0,0 +1,57 @@ +# TECHNICAL PROPERTIES / DON'T put environment properties +# This property can be override by a config file give at run time with spring.config.location + +spring: + application: + name: ${server-identity.identityRole} + api: + name: API Pastis + description: This API is used to manage Vitam's profile + version: v1 + mvc: + favicon: + enabled: false + jackson: + serialization: + write-dates-as-timestamps: false +#Spring +spring.servlet.multipart: + max-file-size: 10MB + max-request-size: 11MB + enabled: true + +#Spring docs swagger +springdoc: + api-docs.path: /api-docs + swagger-ui: + path: /open-api.html + model-and-view-allowed: false + + +# Pastis Rest APi +rng.base.file: rng/Profil_seda_pastis_mvp.rng +rng.base.directory: rng/ +json.base.file: rng/ProfileJson.json +pua.definitions.file: pua_validation/ProfileJson.json +json.template.file: rng/AUP_default_PASTIS.json + +#PORT +server.port: 8096 +server-identity: + identityName: vitamui-dev + identityRole: pastis-standalone + identityServerId: 1 + +management: + endpoints: + jmx: + domain: ${server-identity.identityRole} + unique-names: true + web.exposure.include: info,health,prometheus + endpoint: + health: + show-details: always + prometheus: + enabled: true +cors.allowed-origins: https://dev.vitamui.com:4251,https://localhost + diff --git a/api/api-pastis/pastis-standalone/src/main/resources/standalone/PASTIS-APP.url b/api/api-pastis/pastis-standalone/src/main/resources/standalone/PASTIS-APP.url new file mode 100644 index 000000000..75ff50467 --- /dev/null +++ b/api/api-pastis/pastis-standalone/src/main/resources/standalone/PASTIS-APP.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://localhost:8096/ diff --git a/api/api-pastis/pastis-standalone/src/main/resources/standalone/angular.json b/api/api-pastis/pastis-standalone/src/main/resources/standalone/angular.json new file mode 100644 index 000000000..c932dbdfa --- /dev/null +++ b/api/api-pastis/pastis-standalone/src/main/resources/standalone/angular.json @@ -0,0 +1,181 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "vitamui-library": { + "projectType": "library", + "schematics": { + "@schematics/angular:component": { + "prefix": "vitamui", + "styleext": "scss" + }, + "@schematics/angular:directive": { + "prefix": "vitamui" + } + }, + "root": "projects/vitamui-library", + "sourceRoot": "projects/vitamui-library/src", + "prefix": "vitamui", + "architect": { + "build": { + "builder": "@angular-devkit/build-ng-packagr:build", + "options": { + "tsConfig": "projects/vitamui-library/tsconfig.lib.json", + "project": "projects/vitamui-library/ng-package.json" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "projects/vitamui-library/src/test.ts", + "tsConfig": "projects/vitamui-library/tsconfig.spec.json", + "karmaConfig": "projects/vitamui-library/karma.conf.js" + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "projects/vitamui-library/tsconfig.lib.json", + "projects/vitamui-library/tsconfig.spec.json" + ], + "exclude": [ + "**/node_modules/**" + ] + } + } + } + }, + "pastis": { + "root": "projects/pastis/", + "sourceRoot": "projects/pastis/src", + "projectType": "application", + "architect": { + "build": { + "builder": "@angular-builders/custom-webpack:browser", + "options": { + "customWebpackConfig": { + "path": "./extra-webpack.config.js" + }, + "outputPath": "../ui-pastis/src/main/resources/public", + "index": "projects/pastis/src/index.html", + "main": "projects/pastis/src/main.ts", + "polyfills": "projects/pastis/src/polyfills.ts", + "tsConfig": "projects/pastis/tsconfig.app.json", + "rebaseRootRelativeCssUrls": true, + "assets": [ + "projects/pastis/src/assets", + "projects/pastis/src/favicon.ico", + { + "glob": "**/*", + "input": "node_modules/ui-frontend-common/assets", + "output": "/assets" + } + ], + "styles": [ + "projects/pastis/src/sass/styles.scss", + "projects/pastis/src/assets/css/_colors.scss" + ], + "stylePreprocessorOptions": { + "includePaths": [ + "projects/commons/src/sass" + ] + }, + "scripts": [] + }, + "configurations": { + "standalone": { + "fileReplacements": [ + { + "replace": "projects/pastis/src/environments/environment.ts", + "with": "projects/pastis/src/environments/environment.standalone.ts" + } + ], + "optimization": true, + "outputHashing": "all", + "sourceMap": false, + "extractCss": true, + "namedChunks": false, + "extractLicenses": true, + "vendorChunk": false, + "buildOptimizer": true, + "budgets": [ + { + "type": "initial", + "maximumWarning": "2mb", + "maximumError": "17mb" + } + ] + } + } + }, + "serve": { + "builder": "@angular-builders/custom-webpack:dev-server", + "options": { + "browserTarget": "pastis:build", + "host": "dev.vitamui.com", + "port": 4251 + }, + "configurations": { + "production": { + "browserTarget": "pastis:build:production" + } + } + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "pastis:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "projects/pastis/src/test.ts", + "polyfills": "projects/pastis/src/polyfills.ts", + "tsConfig": "projects/pastis/tsconfig.spec.json", + "karmaConfig": "projects/pastis/karma.conf.js", + "assets": [ + "projects/pastis/src/favicon.ico", + "projects/pastis/src/assets" + ], + "styles": [ + "projects/pastis/src/styles.scss" + ], + "scripts": [] + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "projects/pastis/tsconfig.app.json", + "projects/pastis/tsconfig.spec.json", + "projects/pastis/e2e/tsconfig.json" + ], + "exclude": [ + "**/node_modules/**" + ] + } + }, + "e2e": { + "builder": "@angular-devkit/build-angular:protractor", + "options": { + "protractorConfig": "projects/pastis/e2e/protractor.conf.js", + "devServerTarget": "pastis:serve" + }, + "configurations": { + "production": { + "devServerTarget": "pastis:serve:production" + } + } + } + } + } + }, + "defaultProject": "pastis", + "cli": { + "analytics": false + } +} diff --git a/api/api-pastis/pastis-standalone/src/main/resources/standalone/app.configuration.interface.ts b/api/api-pastis/pastis-standalone/src/main/resources/standalone/app.configuration.interface.ts new file mode 100644 index 000000000..8206b197a --- /dev/null +++ b/api/api-pastis/pastis-standalone/src/main/resources/standalone/app.configuration.interface.ts @@ -0,0 +1,41 @@ +/* + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +export interface AppConfiguration { + + THEME_COLORS: any; + +} diff --git a/api/api-pastis/pastis-standalone/src/main/resources/standalone/package.json b/api/api-pastis/pastis-standalone/src/main/resources/standalone/package.json new file mode 100644 index 000000000..cf2a3eec3 --- /dev/null +++ b/api/api-pastis/pastis-standalone/src/main/resources/standalone/package.json @@ -0,0 +1,173 @@ +{ + "name": "vitamui-ui", + "version": "5.4.0-SNAPSHOT", + "license": "MIT", + "pki": { + "path": "../../dev-deployment/environments/certs/server/hosts/localhost", + "asset": "reverse" + }, + "scripts": { + "ng": "ng", + "ng-high-memory": "node --max_old_space_size=4000 ./node_modules/@angular/cli/bin/ng", + "start": "ng serve --proxy-config proxy.conf.json --disable-host-check --ssl --ssl-key $npm_package_pki_path/$npm_package_pki_asset.key --ssl-cert $npm_package_pki_path/$npm_package_pki_asset.crt", + "start:en": "ng serve --proxy-config proxy.conf.json --configuration=en --disable-host-check --ssl --ssl-key $npm_package_pki_path/$npm_package_pki_asset.key --ssl-cert $npm_package_pki_path/$npm_package_pki_asset.crt", + "start:demo": "ng serve demo --proxy-config proxy.conf.json --disable-host-check --ssl --ssl-key $npm_package_pki_path/$npm_package_pki_asset.key --ssl-cert $npm_package_pki_path/$npm_package_pki_asset.crt", + "start:portal": "ng serve portal --proxy-config proxy.conf.json --disable-host-check --ssl --ssl-key $npm_package_pki_path/$npm_package_pki_asset.key --ssl-cert $npm_package_pki_path/$npm_package_pki_asset.crt", + "start:starter-kit": "ng serve --proxy-config proxy.conf.json starter-kit --disable-host-check --ssl --ssl-key $npm_package_pki_path/$npm_package_pki_asset.key --ssl-cert $npm_package_pki_path/$npm_package_pki_asset.crt", + "start:starter-kit-mocked-server": "ng serve --port 5000 --proxy-config proxy-mock.conf.json starter-kit", + "json-server": "json-server --watch projects/starter-kit/mock-api/_db.js --config projects/starter-kit/mock-api/config.json --routes projects/starter-kit/mock-api/routes.json ", + "mock-starter-kit": "concurrently 'npm run json-server' 'npm run start:starter-kit-mocked-server'", + "start:identity": "ng serve identity --proxy-config proxy.conf.json --disable-host-check --ssl --ssl-key $npm_package_pki_path/$npm_package_pki_asset.key --ssl-cert $npm_package_pki_path/$npm_package_pki_asset.crt", + "start:pastis": "ng serve pastis --proxy-config proxy.conf.json --disable-host-check --ssl --ssl-key $npm_package_pki_path/$npm_package_pki_asset.key --ssl-cert $npm_package_pki_path/$npm_package_pki_asset.crt", + "start:referential": "ng serve referential --proxy-config proxy.conf.json --disable-host-check --ssl --ssl-key $npm_package_pki_path/$npm_package_pki_asset.key --ssl-cert $npm_package_pki_path/$npm_package_pki_asset.crt", + "start:ingest": "ng serve ingest --proxy-config proxy.conf.json --disable-host-check --ssl --ssl-key $npm_package_pki_path/$npm_package_pki_asset.key --ssl-cert $npm_package_pki_path/$npm_package_pki_asset.crt", + "start:archive-search": "ng serve archive-search --proxy-config proxy.conf.json --disable-host-check --ssl --ssl-key $npm_package_pki_path/$npm_package_pki_asset.key --ssl-cert $npm_package_pki_path/$npm_package_pki_asset.crt", + "build": "ng build --configuration=standalone --i18n-locale fr --build-optimizer=false --optimization=false", + "postinstall": "ngcc", + "build:prod": "export NODE_OPTIONS=--max_old_space_size=4096; ng build --prod --output-path ../../../target/www", + "build:dev": "ng build --prod --i18n-locale fr --build-optimizer=false --optimization=false", + "build:fr": "ng build --prod --i18n-locale fr --output-path ../../../target/www/fr", + "build:en": "ng build --prod --i18n-file src/locale/messages.en.xlf --i18n-format xlf --i18n-locale en --output-path ../../../target/www/en", + "build:all": "npm run build:fr && npm run build:en", + "build:demo": "ng build demo --prod --i18n-locale fr", + "build:portal": "export NODE_OPTIONS=--max_old_space_size=4096; ng build portal --prod", + "build:identity": "export NODE_OPTIONS=--max_old_space_size=4096; ng build identity --prod --output-path ../../../target/www/fr", + "build:ingest": "export NODE_OPTIONS=--max_old_space_size=4096; ng build ingest --prod --i18n-locale fr", + "build:archive-search": "export NODE_OPTIONS=--max_old_space_size=4096; ng build archive-search --prod --i18n-locale fr", + "build:referential": "export NODE_OPTIONS=--max_old_space_size=4096; ng build referential --prod --i18n-locale fr", + "build:pastis": "export NODE_OPTIONS=--max_old_space_size=4096; ng build pastis --prod --i18n-locale fr", + "analyze-portal": "ng build portal --stats-json --prod ; webpack-bundle-analyzer dist/portal/stats-es2015.json", + "analyze-identity": "ng build identity --stats-json --prod --i18n-locale fr ; webpack-bundle-analyzer dist/identity/stats-es2015.json", + "analyze-referential": "ng build referential --stats-json --prod --i18n-locale fr ; webpack-bundle-analyzer dist/referential/stats-es2015.json", + "analyze-ingest": "ng build ingest --stats-json --prod --i18n-locale fr ; webpack-bundle-analyzer dist/ingest/stats-es2015.json", + "analyze-archive-search": "ng build archive-search --stats-json --prod --i18n-locale fr ; webpack-bundle-analyzer dist/archive-search/stats-es2015.json", + "test": "ng test --watch=false", + "test:demo": "ng test demo --watch=false", + "test:portal": "ng test portal --watch=false", + "test:identity": "ng test identity --watch=false", + "test:ingest": "ng test ingest --watch=false", + "test:referential": "ng test referential --watch=false", + "test:archive-search": "ng test archive-search --watch=false", + "test:vitamui-library": "ng test vitamui-library --watch=false", + "test:conf-ci": "ng test --watch=false --karma-config=karma.conf.ci.js", + "test:sonar": "ng test --code-coverage --watch=false", + "lint": "ng lint --format=stylish", + "lint:demo": "ng lint demo --format=stylish", + "lint:identity": "ng lint identity --format=stylish", + "lint:ingest": "ng lint ingest --format=stylish", + "lint:portal": "ng lint portal --format=stylish", + "lint:archive-search": "ng lint archive-search --format=stylish", + "lint:referential": "ng lint referential --format=stylish", + "lint:vitamui-library": "ng lint vitamui-library --format=stylish", + "e2e": "ng e2e", + "i18n-extract": "ng xi18n --outputPath=locale --i18n-locale=fr", + "i18n-merge": "xliffmerge --profile xliffmerge.json fr en", + "i18n:identity": "ng xi18n identity --outputPath=src/locale --i18n-locale=fr && xliffmerge --profile projects/identity/xliffmerge.json fr en", + "i18n:ingest": "ng xi18n ingest --outputPath=src/locale --i18n-locale=fr && xliffmerge --profile projects/ingest/xliffmerge.json fr en", + "i18n:archive-search": "ng xi18n archive-search --outputPath=src/locale --i18n-locale=fr && xliffmerge --profile projects/archive-search/xliffmerge.json fr en", + "i18n:referential": "ng xi18n referential --outputPath=src/locale --i18n-locale=fr && xliffmerge --profile projects/referential/xliffmerge.json fr en", + "check:demo": "npm run lint:demo && npm run build:demo", + "check:portal": "npm run lint:portal && npm run test:portal && npm run build:portal", + "check:identity": "npm run lint:identity && npm run test:identity && npm run build:identity", + "extract-translations": "ngx-translate-extract --input ./projects/portal/src --output ./projects/portal/src/assets/i18n/*.json --sort --format namespaced-json --key-as-default-value", + "check:referential": "npm run lint:referential && npm run test:referential && npm run build:referential", + "check:archive-search": "npm run lint:archive-search && npm run test:archive-search && npm run build:archive-search", + "copy-scss:vitamui-library": "cp-cli ./projects/vitamui-library/src/sass ./dist/sass", + "build:vitamui-library": "ng build vitamui-library", + "watch:vitamui-library": "ng build vitamui-library --watch" + }, + "private": true, + "dependencies": { + "@angular/animations": "10.1.3", + "@angular/cdk": "^10.1.3", + "@angular/common": "10.1.3", + "@angular/compiler": "10.1.3", + "@angular/core": "10.1.3", + "@angular/forms": "10.1.3", + "@angular/localize": "^10.1.6", + "@angular/material": "^10.1.3", + "@angular/platform-browser": "10.1.3", + "@angular/platform-browser-dynamic": "10.1.3", + "@angular/pwa": "^0.803.29", + "@angular/router": "10.1.3", + "@angular/service-worker": "10.1.3", + "@babel/compat-data": "^7.8.0", + "@ngx-translate/core": "^12.1.2", + "@ngx-translate/http-loader": "^6.0.0", + "@types/d3": "^3.5.43", + "@types/uuid": "^7.0.0", + "angular-svg-icon": "^11.2.0", + "autoprefixer": "^9.7.5", + "bootstrap": "^4.5.0", + "bufferutil": "^4.0.1", + "classlist.js": "^1.1.20150312", + "core-js": "^2.6.11", + "d3": "^3.5.17", + "d3-svg-legend": "^1.13.0", + "flag-icon-css": "^3.5.0", + "generate-schema": "^2.6.0", + "hammerjs": "^2.0.8", + "jquery": "^3.5.1", + "lodash": "^4.17.15", + "material-design-icons": "^3.0.1", + "ng2-date-picker": "^8.0.0", + "ng2-file-upload": "^1.4.0", + "ng2-nvd3": "^2.0.0", + "ngx-color-picker": "^9.0.0", + "ngx-filesize": "^2.0.2", + "ngx-quicklink": "^0.2.1", + "ngx-toastr": "^11.3.3", + "ngx-translate-multi-http-loader": "^3.0.0", + "ngx-ui-loader": "^10.0.0", + "popper.js": "^1.16.1", + "remove": "^0.1.5", + "rxjs": "^6.5.5", + "serialize-javascript": "^5.0.1", + "tslib": "^2.0.3", + "ui-frontend-common": "file:../ui-frontend-common/ui-frontend-common-2.1.30.tgz", + "underscore": "^1.13.1", + "utf-8-validate": "^5.0.2", + "uuid": "^7.0.2", + "web-animations-js": "^2.3.2", + "zone.js": "~0.10.3" + }, + "devDependencies": { + "@angular-builders/custom-webpack": "^8.4.1", + "@angular-devkit/build-angular": "^0.1001.3", + "@angular-devkit/build-ng-packagr": "^0.1001.3", + "@angular/cli": "^10.1.3", + "@angular/compiler-cli": "10.1.3", + "@angular/language-service": "10.1.3", + "@angular/localize": "^10.2.3", + "@biesbjerg/ngx-translate-extract": "^7.0.2", + "@types/jasmine": "~3.3.0", + "@types/jasminewd2": "^2.0.8", + "@types/lodash": "^4.14.156", + "@types/node": "~8.9.1", + "@types/underscore": "^1.11.2", + "codelyzer": "^5.2.2", + "concurrently": "^5.3.0", + "cp-cli": "^2.0.0", + "jasmine-core": "^3.7.0", + "jasmine-marbles": "^0.4.1", + "jasmine-spec-reporter": "~4.2.1", + "json-server": "^0.16.3", + "karma": "^5.0.9", + "karma-chrome-launcher": "^2.2.0", + "karma-coverage-istanbul-reporter": "~2.1.1", + "karma-jasmine": "^2.0.1", + "karma-jasmine-html-reporter": "^1.5.4", + "moment-locales-webpack-plugin": "^1.2.0", + "ng-packagr": "^10.1.2", + "ngx-i18nsupport": "^0.17.1", + "ngx-markdown": "8.2.2", + "node-sass": "^4.14.1", + "protractor": "^7.0.0", + "puppeteer": "^1.2.0", + "ts-node": "~7.0.1", + "tsickle": "^0.39.1", + "tslint": "~5.11.0", + "typescript": "~4.0.5", + "webpack-bundle-analyzer": "^3.8.0" + } +} diff --git a/api/api-pastis/pastis-standalone/src/main/resources/standalone/readme.txt b/api/api-pastis/pastis-standalone/src/main/resources/standalone/readme.txt new file mode 100644 index 000000000..1106b25f0 --- /dev/null +++ b/api/api-pastis/pastis-standalone/src/main/resources/standalone/readme.txt @@ -0,0 +1,4 @@ +PASTIS - Profil d’Archivage Simple pour le Traitement de l’Information en Seda + +1- Launch pastis.exe +2- Open http://localhost:8096 in your navigator or open "PASTIS APP" diff --git a/api/api-pastis/pastis-standalone/src/main/resources/standalone/startup.service.ts b/api/api-pastis/pastis-standalone/src/main/resources/standalone/startup.service.ts new file mode 100644 index 000000000..34e8bdd01 --- /dev/null +++ b/api/api-pastis/pastis-standalone/src/main/resources/standalone/startup.service.ts @@ -0,0 +1,221 @@ +/* + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +import { Inject, Injectable } from '@angular/core'; +import { Observable, Subject } from 'rxjs'; +import { tap } from 'rxjs/operators'; +import { ApplicationService } from './application.service'; + +import { ApplicationApiService } from './api/application-api.service'; +import { SecurityApiService } from './api/security-api.service'; +import { ApplicationId } from './application-id.enum'; +import { AuthService } from './auth.service'; +import { WINDOW_LOCATION } from './injection-tokens'; +import { Logger } from './logger/logger'; +import { AppConfiguration, AttachmentType, AuthUser, Color } from './models'; +import {ThemeService} from './theme.service'; + +const WARNING_DURATION = 2000; +const CUSTOMER_TECHNICAL_REFERENT_KEY = 'technical-referent-email'; +const CUSTOMER_WEBSITE_URL_KEY = 'website-url'; + +@Injectable({ + providedIn: 'root' +}) +export class StartupService { + + private configurationData: AppConfiguration; + + userRefresh = new Subject<any>(); + + CURRENT_APP_ID: ApplicationId = ApplicationId.PORTAL_APP; + + private CURRENT_TENANT_IDENTIFIER: string; + + + constructor( + private logger: Logger, + private authService: AuthService, + private securityApi: SecurityApiService, + private themeService: ThemeService, + @Inject(WINDOW_LOCATION) private location: any + ) { } + + load(): any { + this.configurationData = null; + + let appConf: AppConfiguration = { + THEME_COLORS: { + "vitamui-background" : "#F5F7FC", + "vitamui-header-footer" : "#ffffff", + "vitamui-primary" : "#702382", + "vitamui-secondary" : "#2563A9", + "vitamui-tertiary" : "#C22A40" + } + }; + this.configurationData = appConf; + this.themeService.init(this.configurationData, this.configurationData.THEME_COLORS); + return appConf; + } + + setTenantIdentifier(tenantIdentifier?: string) { + this.CURRENT_TENANT_IDENTIFIER = tenantIdentifier; + } + + getTenantIdentifier() { + let tenantIdentifier = this.CURRENT_TENANT_IDENTIFIER; + if (!tenantIdentifier && this.authService.user) { + tenantIdentifier = this.authService.user.proofTenantIdentifier; + } + + return tenantIdentifier; + } + + /** + * No catchError should be set here, the security api must be called and verified before anything else. + */ + refreshUser(): Observable<AuthUser> { + return this.securityApi.getAuthenticated().pipe( + tap((data) => { + this.authService.user = data; + this.userRefresh.next(data); + }) + ); + } + + configurationLoaded(): boolean { + return null; + } + + printConfiguration(): void { + if (this.configurationLoaded()) { + this.logger.log(this, 'startup data exists.', this.configurationData); + } else { + this.logger.log(this, 'startup data does not exists'); + } + } + + getLogo(): string { + return null; + } + + getAppLogoURL(): string { + let trustedAppLogoUrl = null; + const base64Logo = this.getLogo(); + + if (base64Logo) { + trustedAppLogoUrl = base64Logo; + } + + return trustedAppLogoUrl; + } + + getCustomerLogoURL(): string { + let trustedInlineLogoUrl = null; + + if (this.authService.user) { + const currentUser = this.authService.user; + if (currentUser.basicCustomer) { + trustedInlineLogoUrl = currentUser.basicCustomer.graphicIdentity.portalDataBase64; + } + } + + return trustedInlineLogoUrl; + } + + getPortalUrl(): string { + return null; + } + + getLoginUrl(): string { + return null; + } + + getLogoutUrl(): string { + + return null; + } + + getCasUrl(): string { + + return null; + } + + getSearchUrl(): string { + return null; + } + + getConfigStringValue(key: string): string { + + return null; + } + + getConfigNumberValue(key: string): number { + return +this.getConfigStringValue(key); + } + + /** + * Navigate to given url or to the portal otherwise. + * @param url URL to be redirected to. + */ + redirect(url?: string) { + setTimeout(() => this.location.href = url ? url : this.getPortalUrl(), WARNING_DURATION); + } + + getPlatformName(): string { + + return null; + } + + public getCustomer(): string { + return null; + } + + public getCustomerTechnicalReferentEmail(): string { + const customer = this.getCustomer(); + if (customer) { + return customer[CUSTOMER_TECHNICAL_REFERENT_KEY]; + } + } + + public getCustomerWebsiteUrl(): string { + const customer = this.getCustomer(); + if (customer) { + return customer[CUSTOMER_WEBSITE_URL_KEY]; + } + } + +} diff --git a/api/api-pastis/pastis-standalone/src/main/resources/standalone/theme.service.ts b/api/api-pastis/pastis-standalone/src/main/resources/standalone/theme.service.ts new file mode 100644 index 000000000..a20638ae4 --- /dev/null +++ b/api/api-pastis/pastis-standalone/src/main/resources/standalone/theme.service.ts @@ -0,0 +1,192 @@ +import { Injectable } from '@angular/core'; +import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser'; +import { AppConfiguration } from '.'; +import { AuthUser, ThemeDataType } from './models'; +import { Color } from './models/customer/theme/color.interface'; +import { convertLighten, getColorFromMaps, hexToRgb, hexToRgbString, ThemeColorType } from './utils'; + +export interface Theme { + colors: {[colorId: string]: string}; +} + +@Injectable({ + providedIn: 'root' +}) +export class ThemeService { + + public get defaultTheme(): Theme { + return this._defaultTheme; + } + + public set defaultTheme(theme: Theme) { this._defaultTheme = theme; } + + constructor( + private domSanitizer: DomSanitizer, + ) { } + + private baseColors: {[colorId in ThemeColorType]?: string} = { + [ThemeColorType.VITAMUI_PRIMARY]: 'Couleur principale', + [ThemeColorType.VITAMUI_SECONDARY]: 'Couleur secondaire', + [ThemeColorType.VITAMUI_TERTIARY]: 'Couleur tertiaire', + [ThemeColorType.VITAMUI_HEADER_FOOTER]: 'Couleur header/footer', + [ThemeColorType.VITAMUI_BACKGROUND]: 'Couleur background' + }; + + + // tslint:disable-next-line: variable-name + private _defaultTheme: Theme = { + colors: {} + }; + + // Default theme + defaultMap: {[colordId in ThemeColorType]: string} = { + [ThemeColorType.VITAMUI_PRIMARY]: '#604379', + [ThemeColorType.VITAMUI_GREY]: '#9E9E9E', + [ThemeColorType.VITAMUI_SECONDARY]: '#65B2E4', + [ThemeColorType.VITAMUI_TERTIARY]: '#E7304D', + [ThemeColorType.VITAMUI_HEADER_FOOTER]: '#604379', + [ThemeColorType.VITAMUI_BACKGROUND]: '#F5F7FC', + /* DEPRECATED colors : Use color chart with declinations var(--vitamui-primary-XXX), + var(--vitamui-secondary-XXX) and var(--vitamui-grey-XXX) */ + [ThemeColorType.VITAMUI_PRIMARY_LIGHT]: '', + [ThemeColorType.VITAMUI_PRIMARY_LIGHT_20]: '', + [ThemeColorType.VITAMUI_PRIMARY_DARK]: '', + [ThemeColorType.VITAMUI_SECONDARY_LIGHT]: '', + [ThemeColorType.VITAMUI_SECONDARY_LIGHT_8]: '', + [ThemeColorType.VITAMUI_SECONDARY_DARK_5]: '', + }; + + // Theme for current app configuration + applicationColorMap: {[colorId: string]: string}; + + // tslint:disable-next-line: variable-name + private _backgroundChoice: Color[] = [ + {class: 'Foncé', value: '#0F0D2D'}, + {class: 'Blanc', value: '#FFFFFF'}, + {class: 'Clair', value: '#F5F5F5'}, + {class: 'Bleu clair', value: '#F5F7FC'}, + ]; + + public get backgroundChoice(): Color[] { return this._backgroundChoice; } + + public getBaseColors(): {[colorId in ThemeColorType]?: string} { + return this.baseColors; + } + + public getVariationColorsNames(baseName: string): string[] { + return Object.keys(this.defaultMap).filter((colorName) => colorName.startsWith(baseName)); + } + + public init(conf: AppConfiguration, customerColorMap: {[colorId: string]: string}): void { + this.applicationColorMap = conf.THEME_COLORS; + + this.overrideTheme(customerColorMap); + if (conf) { + this.defaultTheme = { + colors: conf.THEME_COLORS, + }; + + // init default background + const defaultBackground = this.backgroundChoice + .find((color: Color) => color.value === conf.THEME_COLORS[ThemeColorType.VITAMUI_BACKGROUND]); + if (defaultBackground) { + defaultBackground.isDefault = true; + } + } + } + + public overloadLocalTheme(colors: {[colorId: string]: string}, selectorToOver: string): void { + const selector: HTMLElement = document.querySelector(selectorToOver); + for (const key in colors) { + if (colors.hasOwnProperty(key) && selector != null) { + selector.style.setProperty('--' + key, colors[key]); + } + } + } + + public getData(authUser: AuthUser, type: string): string | SafeResourceUrl { + return null; + } + + private calculateFontColor(color: string): string { + const rgbColor = hexToRgb(color); + if ((rgbColor.r * 0.299 + rgbColor.g * 0.587 + rgbColor.b * 0.114) > 186) { + return '#000000'; + } else { + return '#ffffff'; + } + } + + private add10Declinations(key: string, colors: {}, customerColors: {[colorId: string]: string}): void { + // tslint:disable-next-line: variable-name + const map = {...this.defaultMap, ...this.applicationColorMap, ...customerColors}; + const rgbValue = hexToRgb(map[key]); + // consider hs-L from color key as 500 + + if (key === ThemeColorType.VITAMUI_GREY) { + colors[key + '-900'] = '#212121'; + colors[key + '-800'] = '#424242'; + colors[key + '-700'] = '#616161'; + colors[key + '-600'] = '#757575'; + colors[key + '-400'] = '#BDBDBD'; + colors[key + '-300'] = '#E0E0E0'; + colors[key + '-200'] = '#EEEEEE'; + colors[key + '-100'] = '#F5F5F5'; + colors[key + '-50'] = '#FAFAFA'; + } else { + colors[key + '-900'] = convertLighten(rgbValue, -32); + colors[key + '-800'] = convertLighten(rgbValue, -24); + colors[key + '-700'] = convertLighten(rgbValue, -16); + colors[key + '-600'] = convertLighten(rgbValue, -8); + // The color declination 500 is the base version (we use var(--vitamui-primary) instead of var(--vitamui-primary-500)) + colors[key + '-400'] = convertLighten(rgbValue, 8); + colors[key + '-300'] = convertLighten(rgbValue, 16); + colors[key + '-200'] = convertLighten(rgbValue, 24); + colors[key + '-100'] = convertLighten(rgbValue, 32); + colors[key + '-50'] = convertLighten(rgbValue, 40); + } + + colors[key + '-900-font'] = this.calculateFontColor(colors[key + '-900']); + colors[key + '-800-font'] = this.calculateFontColor(colors[key + '-800']); + colors[key + '-700-font'] = this.calculateFontColor(colors[key + '-700']); + colors[key + '-600-font'] = this.calculateFontColor(colors[key + '-600']); + colors[key + '-font'] = this.calculateFontColor(map[key]); // primary/secondary/tertiary + colors[key + '-400-font'] = this.calculateFontColor(colors[key + '-400']); + colors[key + '-300-font'] = this.calculateFontColor(colors[key + '-300']); + colors[key + '-200-font'] = this.calculateFontColor(colors[key + '-200']); + colors[key + '-100-font'] = this.calculateFontColor(colors[key + '-100']); + colors[key + '-50-font'] = this.calculateFontColor(colors[key + '-50']); + } + + /** + * Gives complete color theme from current app config and any given customization. + * Setting base colors (primary, secondary) will return updated variations (primary-light etc..) + * @param customerColors Entries to override + */ + public getThemeColors(customerColors: {[colorId: string]: string} = null): {[colorId: string]: string} { + const colors = {}; + for (const key in this.defaultMap) { + if (this.defaultMap.hasOwnProperty(key)) { + if (([ThemeColorType.VITAMUI_PRIMARY, ThemeColorType.VITAMUI_SECONDARY, ThemeColorType.VITAMUI_GREY] as string[]).includes(key)) { + this.add10Declinations(key, colors, customerColors); + } else if (key === ThemeColorType.VITAMUI_HEADER_FOOTER) { + const map = {...this.defaultMap, ...this.applicationColorMap, ...customerColors}; + colors[key + '-font'] = this.calculateFontColor(map[key]); + } + colors[key] = getColorFromMaps(key, this.defaultMap, this.applicationColorMap, customerColors); + } + } + return colors; + } + + public overrideTheme(customerThemeMap, selector= 'body'): void { + const element: HTMLElement = document.querySelector(selector); + const themeColors = this.getThemeColors(customerThemeMap); + for (const key in themeColors) { + if (themeColors.hasOwnProperty(key)) { + element.style.setProperty('--' + key, themeColors[key]); + element.style.setProperty('--' + key + '-rgb', hexToRgbString(themeColors[key])); + } + } + } +} diff --git a/api/api-pastis/pastis-standalone/src/test/java/fr/gouv/vitamui/pastis/standalone/ProfileControllerTest.java b/api/api-pastis/pastis-standalone/src/test/java/fr/gouv/vitamui/pastis/standalone/ProfileControllerTest.java new file mode 100644 index 000000000..7441dda2c --- /dev/null +++ b/api/api-pastis/pastis-standalone/src/test/java/fr/gouv/vitamui/pastis/standalone/ProfileControllerTest.java @@ -0,0 +1,97 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.standalone; + +import com.fasterxml.jackson.databind.ObjectMapper; +import fr.gouv.vitamui.pastis.common.dto.profiles.Notice; +import fr.gouv.vitamui.pastis.common.rest.RestApi; +import org.json.JSONArray; +import org.json.JSONObject; +import org.junit.Test; +import org.junit.jupiter.api.Assertions; +import org.junit.runner.RunWith; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +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.mock.web.MockHttpServletResponse; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.RequestBuilder; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RunWith(SpringRunner.class) +@AutoConfigureMockMvc +@SpringBootTest +public class ProfileControllerTest { + + private static final Logger LOGGER = LoggerFactory.getLogger(ProfileControllerTest.class); + + @Autowired + private MockMvc mockMvc; + + private MockHttpServletResponse mockHttpServletResponse; + + @Test + public void getProfiles() throws Exception { + Map<String, String> headers = new HashMap<>(); + headers.put("X-Tenant-Id","1"); + RequestBuilder requestBuilder = MockMvcRequestBuilders.get(RestApi.PASTIS_GET_ALL_PROFILES).header("X-Tenant-Id","1"); + mockHttpServletResponse = mockMvc.perform(requestBuilder).andReturn().getResponse(); + String resBody = mockHttpServletResponse.getContentAsString(); + LOGGER.info("response = {}", resBody); + Assertions.assertEquals(200, mockHttpServletResponse.getStatus()); + } + + @Test + public void getFile() throws Exception { + RequestBuilder requestBuilder = MockMvcRequestBuilders.get(RestApi.PASTIS_GET_PROFILE_FILE).param("name", "PA_UPPA_versio").header("X-Tenant-Id","1"); + mockHttpServletResponse = mockMvc.perform(requestBuilder).andReturn().getResponse(); + String resBody = mockHttpServletResponse.getContentAsString(); + LOGGER.info("response = {}", resBody); + Assertions.assertEquals(200, mockHttpServletResponse.getStatus()); + } + +} diff --git a/api/api-pastis/pastis-standalone/src/test/resources/application.properties b/api/api-pastis/pastis-standalone/src/test/resources/application.properties new file mode 100644 index 000000000..0bfabaa03 --- /dev/null +++ b/api/api-pastis/pastis-standalone/src/test/resources/application.properties @@ -0,0 +1,16 @@ +#Pastis rest api +rng.base.file=rng/Profil_seda_pastis_mvp.rng +rng.base.directory=rng/ +json.base.file=rng/ProfileJson.json +json.template.file=rng/AUP_default_PASTIS.json +pua.definitions.file=pua_validation/ProfileJson.json +server-identity.identityName=vitamui-dev +server-identity.identityRole=pastis-standalone +server-identity.identityServerId=1 +# Jaeger +opentracing.jaeger.enabled=true +opentracing.jaeger.logSpans=true +opentracing.jaeger.expandExceptionLogs=true +opentracing.jaeger.udp-sender.host=localhost +opentracing.jaeger.udp-sender.port=6831 + diff --git a/api/api-pastis/pastis/pom.xml b/api/api-pastis/pastis/pom.xml new file mode 100644 index 000000000..911059f4f --- /dev/null +++ b/api/api-pastis/pastis/pom.xml @@ -0,0 +1,435 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns="http://maven.apache.org/POM/4.0.0" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <parent> + <artifactId>api-pastis</artifactId> + <groupId>fr.gouv.vitamui</groupId> + <version>5.0-SNAPSHOT</version> + </parent> + <modelVersion>4.0.0</modelVersion> + + <artifactId>pastis</artifactId> + <packaging>jar</packaging> + <name>VITAMUI Pastis API Server</name> + + <properties> + <rpm.skip>false</rpm.skip> + <swagger.dir>api-external</swagger.dir> + <swagger.skip>false</swagger.skip> + </properties> + + <dependencies> + <!-- VITAMUI --> + + <dependency> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>pastis-commons</artifactId> + <version>5.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>pastis-client</artifactId> + <version>5.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui.commons</groupId> + <artifactId>commons-api</artifactId> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui.commons</groupId> + <artifactId>commons-rest</artifactId> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui.commons</groupId> + <artifactId>commons-vitam</artifactId> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>security-client</artifactId> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>iam-internal-client</artifactId> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>iam-security</artifactId> + </dependency> + + <!-- SPRING BOOT --> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter</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-webflux</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-actuator</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-configuration-processor</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.cloud</groupId> + <artifactId>spring-cloud-starter-consul-discovery</artifactId> + </dependency> + <dependency> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpcore</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-tomcat</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-devtools</artifactId> + </dependency> + + <!-- Metrics --> + <dependency> + <groupId>io.micrometer</groupId> + <artifactId>micrometer-registry-prometheus</artifactId> + </dependency> + + <!-- UTIL --> + <dependency> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-lang3</artifactId> + </dependency> + <dependency> + <groupId>javax.ws.rs</groupId> + <artifactId>javax.ws.rs-api</artifactId> + </dependency> + <dependency> + <groupId>xml-apis</groupId> + <artifactId>xml-apis</artifactId> + </dependency> + <dependency> + <groupId>commons-fileupload</groupId> + <artifactId>commons-fileupload</artifactId> + </dependency> + <dependency> + <groupId>org.synchronoss.cloud</groupId> + <artifactId>nio-multipart-parser</artifactId> + </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-text</artifactId> + </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-collections4</artifactId> + </dependency> + + <!-- Documentation --> + <dependency> + <groupId>io.springfox</groupId> + <artifactId>springfox-swagger2</artifactId> + </dependency> + <dependency> + <groupId>io.springfox</groupId> + <artifactId>springfox-swagger-ui</artifactId> + </dependency> + + <dependency> + <groupId>io.opentracing.contrib</groupId> + <artifactId>opentracing-spring-jaeger-web-starter</artifactId> + </dependency> + + + <!--TEST --> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-test</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>iam-external-client</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui.commons</groupId> + <artifactId>commons-test</artifactId> + <type>test-jar</type> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.springframework.security</groupId> + <artifactId>spring-security-test</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>iam-commons</artifactId> + <scope>test</scope> + <type>test-jar</type> + </dependency> + <dependency> + <groupId>org.junit.vintage</groupId> + <artifactId>junit-vintage-engine</artifactId> + <scope>test</scope> + </dependency> + + <!--Start of Jaxb API and it's implementation and dependencies- Java11--> + <dependency> + <groupId>javax.xml.bind</groupId> + <artifactId>jaxb-api</artifactId> + <version>2.3.1</version> + </dependency> + + <dependency> + <groupId>com.sun.xml.bind</groupId> + <artifactId>jaxb-impl</artifactId> + <version>2.3.1</version> + </dependency> + + <dependency> + <groupId>com.sun.istack</groupId> + <artifactId>istack-commons-runtime</artifactId> + <version>4.0.0-M2</version> + </dependency> + + <!--End of Jaxb API and it's implementation and dependencies- Java11--> + + <dependency> + <groupId>org.json</groupId> + <artifactId>json</artifactId> + <version>20180813</version> + </dependency> + + <dependency> + <groupId>javax.xml.parsers</groupId> + <artifactId>jaxp-api</artifactId> + <version>1.4.5</version> + </dependency> + + <dependency> + <groupId>com.fasterxml</groupId> + <artifactId>jackson-xml-databind</artifactId> + <version>0.6.2</version> + </dependency> + + <dependency> + <groupId>com.thaiopensource</groupId> + <artifactId>jing</artifactId> + <version>20091111</version> + <exclusions> + <exclusion> + <groupId>xml-apis</groupId> + <artifactId>xml-apis</artifactId> + </exclusion> + <exclusion> + <groupId>net.sf.saxon</groupId> + <artifactId>saxon</artifactId> + </exclusion> + <exclusion> + <groupId>xerces</groupId> + <artifactId>xercesImpl</artifactId> + </exclusion> + </exclusions> + </dependency> + + <dependency> + <groupId>com.thaiopensource</groupId> + <artifactId>trang</artifactId> + <version>20091111</version> + <exclusions> + <exclusion> + <groupId>xml-apis</groupId> + <artifactId>xml-apis</artifactId> + </exclusion> + <exclusion> + <groupId>net.sf.saxon</groupId> + <artifactId>saxon</artifactId> + </exclusion> + <exclusion> + <groupId>xerces</groupId> + <artifactId>xercesImpl</artifactId> + </exclusion> + </exclusions> + </dependency> + + <dependency> + <groupId>org.opengis.cite.xerces</groupId> + <artifactId>xercesImpl-xsd11</artifactId> + <version>2.12-beta-r1667115</version> + </dependency> + + <dependency> + <groupId>xml-resolver</groupId> + <artifactId>xml-resolver</artifactId> + <version>1.2</version> + </dependency> + <dependency> + <groupId>org.skyscreamer</groupId> + <artifactId>jsonassert</artifactId> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>com.google.code.gson</groupId> + <artifactId>gson</artifactId> + </dependency> + + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-tomcat</artifactId> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <executions> + <execution> + <id>build-info</id> + <goals> + <goal>build-info</goal> + </goals> + </execution> + <execution> + <goals> + <goal>repackage</goal> + </goals> + </execution> + </executions> + <configuration> + <executable>true</executable> + <attach>false</attach> <!-- Need to use the original jar for integration-tests --> + <mainClass>fr.gouv.vitamui.pastis.server.ApiPastisServerApplication</mainClass> + <arguments> + <argument>--spring.profiles.active=dev</argument> + </arguments> + </configuration> + </plugin> + </plugins> + </build> + + <profiles> + <!-- Start of standalone profile --> + <profile> + <id>standalone</id> + <build> + <!-- Start of stadalone profile plugins --> + <plugins> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <dependencies> + <dependency> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>pastis-client</artifactId> + <version>5.0-SNAPSHOT</version> + <exclusions> + <exclusion> + <groupId>*</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui.commons</groupId> + <artifactId>commons-api</artifactId> + <version>5.0-SNAPSHOT</version> + <exclusions> + <exclusion> + <groupId>*</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui.commons</groupId> + <artifactId>commons-rest</artifactId> + <version>5.0-SNAPSHOT</version> + <exclusions> + <exclusion> + <groupId>*</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui.commons</groupId> + <artifactId>commons-vitam</artifactId> + <version>5.0-SNAPSHOT</version> + <exclusions> + <exclusion> + <groupId>*</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>security-client</artifactId> + <version>5.0-SNAPSHOT</version> + <exclusions> + <exclusion> + <groupId>*</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>iam-internal-client</artifactId> + <version>5.0-SNAPSHOT</version> + <exclusions> + <exclusion> + <groupId>*</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> + </dependencies> + <executions> + <execution> + <id>build-info</id> + <goals> + <goal>build-info</goal> + </goals> + </execution> + <execution> + <goals> + <goal>repackage</goal> + </goals> + </execution> + </executions> + <configuration> + <executable>true</executable> + <attach>false</attach> <!-- Need to use the original jar for integration-tests --> + <mainClass>fr.gouv.vitamui.pastis.server.ApiPastisServerApplication</mainClass> + <arguments> + <argument>--spring.profiles.active=test</argument> + </arguments> + </configuration> + </plugin> + </plugins> + </build> + </profile> + + </profiles> + +</project> diff --git a/api/api-pastis/pastis/run.sh b/api/api-pastis/pastis/run.sh new file mode 100755 index 000000000..431dbef90 --- /dev/null +++ b/api/api-pastis/pastis/run.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +#retrieve version +version="$(grep -oP '(?<=>).*?(?=</version>)' pom.xml | grep -v 'version' | grep -oP 'SNAPSHOT')" + +java -jar target/pastis-5.0-SNAPSHOT.jar -Xms128m -Xmx512m --spring.profiles.active=dev diff --git a/api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/ApiPastisServerApplication.java b/api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/ApiPastisServerApplication.java new file mode 100644 index 000000000..556891207 --- /dev/null +++ b/api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/ApiPastisServerApplication.java @@ -0,0 +1,74 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.server; + +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.core.env.Environment; + +@SpringBootApplication +@EnableDiscoveryClient +public class ApiPastisServerApplication implements CommandLineRunner { + + private static final VitamUILogger LOGGER = + VitamUILoggerFactory.getInstance(ApiPastisServerApplication.class); + @Autowired + private Environment env; + + public static void main(final String[] args) { + final SpringApplication app = new SpringApplicationBuilder(ApiPastisServerApplication.class) + .build(); + app.run(args); + } + + @Override + public void run(final String... args) throws Exception { + + LOGGER.info("VITAMUI SpringBoot Application started:"); + LOGGER.info("spring.application.name: " + env.getProperty("spring.application.name")); + LOGGER.info("-------------------------------"); + LOGGER.info("\n"); + } +} diff --git a/api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/config/ApiPastisApplicationProperties.java b/api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/config/ApiPastisApplicationProperties.java new file mode 100644 index 000000000..8caefe3e9 --- /dev/null +++ b/api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/config/ApiPastisApplicationProperties.java @@ -0,0 +1,63 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.server.config; + + +import fr.gouv.vitamui.commons.rest.client.configuration.RestClientConfiguration; +import lombok.Getter; +import lombok.Setter; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +/** + * Properties specific to API Archive Application. + * <p> + * Properties are configured in the application.yml file. + */ +@Getter +@Setter +@Component +@ConfigurationProperties(prefix = "pastis-external", ignoreUnknownFields = false) +public class ApiPastisApplicationProperties { + + private RestClientConfiguration iamInternalClient; + + private RestClientConfiguration securityClient; + +} diff --git a/api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/config/ApiPastisServerConfig.java b/api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/config/ApiPastisServerConfig.java new file mode 100644 index 000000000..308be5115 --- /dev/null +++ b/api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/config/ApiPastisServerConfig.java @@ -0,0 +1,139 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.server.config; + +import fr.gouv.vitamui.commons.api.application.AbstractContextConfiguration; +import fr.gouv.vitamui.commons.rest.RestExceptionHandler; +import fr.gouv.vitamui.commons.rest.configuration.SwaggerConfiguration; +import fr.gouv.vitamui.iam.internal.client.IamInternalRestClientFactory; +import fr.gouv.vitamui.iam.internal.client.UserInternalRestClient; +import fr.gouv.vitamui.iam.security.provider.ExternalApiAuthenticationProvider; +import fr.gouv.vitamui.iam.security.service.ExternalAuthentificationService; +import fr.gouv.vitamui.iam.security.service.ExternalSecurityService; +import fr.gouv.vitamui.pastis.common.service.JsonFromPUA; +import fr.gouv.vitamui.pastis.common.service.PuaFromJSON; +import fr.gouv.vitamui.pastis.common.service.PuaPastisValidator; +import fr.gouv.vitamui.security.client.ContextRestClient; +import fr.gouv.vitamui.security.client.SecurityRestClientFactory; +import org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration; +import org.springframework.boot.web.client.RestTemplateBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.http.MediaType; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; + +import java.util.Arrays; + +@Configuration +@Import({RestExceptionHandler.class, SwaggerConfiguration.class, HttpMessageConvertersAutoConfiguration.class}) +public class ApiPastisServerConfig extends AbstractContextConfiguration { + + @Bean + public SecurityRestClientFactory securityRestClientFactory( + final ApiPastisApplicationProperties apiArchiveExternalApplicationProperties, + final RestTemplateBuilder restTemplateBuilder) { + return new SecurityRestClientFactory(apiArchiveExternalApplicationProperties.getSecurityClient(), + restTemplateBuilder); + } + + @Bean + public ContextRestClient contextCrudRestClient(final SecurityRestClientFactory securityRestClientFactory) { + + return securityRestClientFactory.getContextRestClient(); + } + + @Bean + public ExternalApiAuthenticationProvider apiAuthenticationProvider( + final ExternalAuthentificationService externalAuthentificationService) { + return new ExternalApiAuthenticationProvider(externalAuthentificationService); + } + + @Bean + public ExternalSecurityService externalSecurityService() { + return new ExternalSecurityService(); + } + + @Bean + public ExternalAuthentificationService externalAuthentificationService(final ContextRestClient contextRestClient, + final UserInternalRestClient userInternalRestClient) { + return new ExternalAuthentificationService(contextRestClient, userInternalRestClient); + } + + @Bean + public IamInternalRestClientFactory iamInternalRestClientFactory( + final ApiPastisApplicationProperties apiArchiveExternalApplicationProperties, + final RestTemplateBuilder restTemplateBuilder) { + return new IamInternalRestClientFactory(apiArchiveExternalApplicationProperties.getIamInternalClient(), + restTemplateBuilder); + + } + + @Bean + public UserInternalRestClient userInternalRestClient( + final IamInternalRestClientFactory iamInternalRestClientFactory) { + return iamInternalRestClientFactory.getUserInternalRestClient(); + } + + @Bean + public MappingJackson2HttpMessageConverter customizedJacksonMessageConverter() { + MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); + converter.setSupportedMediaTypes( + Arrays.asList( + MediaType.APPLICATION_JSON, + new MediaType("application", "*+json"), + MediaType.APPLICATION_OCTET_STREAM)); + return converter; + } + + @Bean + public JsonFromPUA jsonFromPUA() { + return new JsonFromPUA(); + } + + @Bean + public PuaFromJSON puaFromJSON() { + return new PuaFromJSON(); + } + + @Bean + public PuaPastisValidator puaPastisValidator() { + return new PuaPastisValidator(); + } +} diff --git a/api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/rest/PastisController.java b/api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/rest/PastisController.java new file mode 100644 index 000000000..2b485d1d9 --- /dev/null +++ b/api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/rest/PastisController.java @@ -0,0 +1,158 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.server.rest; + +import fr.gouv.vitamui.commons.api.domain.ServicesData; +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; +import fr.gouv.vitamui.pastis.common.dto.profiles.Notice; +import fr.gouv.vitamui.pastis.common.dto.profiles.ProfileNotice; +import fr.gouv.vitamui.pastis.common.dto.profiles.ProfileResponse; +import fr.gouv.vitamui.pastis.common.rest.RestApi; +import fr.gouv.vitamui.pastis.server.service.PastisService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.security.access.annotation.Secured; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.net.URISyntaxException; + +@Api(tags = "pastis") +@RequestMapping(RestApi.PASTIS) +@RestController +@ResponseBody +class PastisController { + + private static final String APPLICATION_JSON_UTF8 = "application/json; charset=utf-8"; + private static final VitamUILogger LOGGER = + VitamUILoggerFactory.getInstance(PastisController.class); + + @Autowired + private PastisService profileService; + + @ApiOperation(value = "Download Pa Profile rng file") + @Secured(ServicesData.ROLE_GET_PROFILES) + @RequestMapping(value = RestApi.PASTIS_DOWNLOAD_PA, method = RequestMethod.POST, consumes = APPLICATION_JSON_UTF8, produces = MediaType.APPLICATION_XML_VALUE) + ResponseEntity<String> getArchiveProfile(@RequestBody final ElementProperties json) throws IOException { + String archiveProfile = profileService.getArchiveProfile(json); + if (archiveProfile != null) { + return ResponseEntity.ok(archiveProfile); + } else { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + @ApiOperation(value = "Download Pua Profile json file") + @Secured(ServicesData.ROLE_GET_ARCHIVE_PROFILES) + @RequestMapping(value = RestApi.PASTIS_DOWNLOAD_PUA, method = RequestMethod.POST, consumes = APPLICATION_JSON_UTF8, produces = MediaType.APPLICATION_JSON_VALUE) + ResponseEntity<String> getArchiveUnitProfile(@RequestBody final ProfileNotice json) throws IOException { + String archiveUnitProfile = profileService.getArchiveUnitProfile(json); + if (archiveUnitProfile != null) { + return ResponseEntity.ok(archiveUnitProfile); + } else { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + + } + + @ApiOperation(value = "Retrieve json representation from PUA notice") + @Secured({ServicesData.ROLE_UPDATE_ARCHIVE_PROFILES, ServicesData.ROLE_UPDATE_PROFILES}) + @RequestMapping(value = RestApi.PASTIS_TRANSFORM_PROFILE, method = RequestMethod.POST) + ResponseEntity<ProfileResponse> loadProfile(@RequestBody final Notice notice) + throws IOException { + ProfileResponse profileResponse = profileService.loadProfile(notice); + if (profileResponse != null) { + return ResponseEntity.ok(profileResponse); + } else { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + @ApiOperation(value = "Retrieve json representation from input file") + @Secured({ServicesData.ROLE_CREATE_ARCHIVE_PROFILES, ServicesData.ROLE_CREATE_PROFILES}) + @RequestMapping(value = RestApi.PASTIS_UPLOAD_PROFILE, method = RequestMethod.POST, + consumes = "multipart/form-data", produces = "application/json") + ResponseEntity<ProfileResponse> loadProfileFromFile(@RequestParam MultipartFile file) { + ProfileResponse profileResponse = profileService.loadProfileFromFile(file); + if (profileResponse != null) { + return ResponseEntity.ok(profileResponse); + } else { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + @ApiOperation(value = "Retrieve json representation from PA file") + @Secured({ServicesData.ROLE_UPDATE_ARCHIVE_PROFILES, ServicesData.ROLE_UPDATE_PROFILES}) + @RequestMapping(value = RestApi.PASTIS_TRANSFORM_PROFILE_PA, method = RequestMethod.POST, + consumes = "multipart/form-data", produces = "application/json") + ResponseEntity<ElementProperties> loadPA(@RequestParam MultipartFile file) throws IOException { + ElementProperties elementProperties = profileService.loadProfilePA(file); + if (elementProperties != null) { + return ResponseEntity.ok(elementProperties); + } else { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + @ApiOperation(value = "Get template profile by type") + @Secured({ServicesData.ROLE_CREATE_ARCHIVE_PROFILES, ServicesData.ROLE_CREATE_PROFILES}) + @RequestMapping(value = RestApi.PASTIS_CREATE_PROFILE, method = RequestMethod.GET) + ResponseEntity<ProfileResponse> createProfile(@RequestParam(name = "type") String profileType) + throws URISyntaxException, IOException { + ProfileResponse profileResponse = profileService.createProfile(profileType); + if (profileResponse != null) { + return ResponseEntity.ok(profileResponse); + } else { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + +} diff --git a/api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/security/WebSecurityConfig.java b/api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/security/WebSecurityConfig.java new file mode 100644 index 000000000..72f5a8d86 --- /dev/null +++ b/api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/security/WebSecurityConfig.java @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.server.security; + +import fr.gouv.vitamui.commons.rest.RestExceptionHandler; +import fr.gouv.vitamui.iam.security.config.ExternalApiWebSecurityConfig; +import fr.gouv.vitamui.iam.security.provider.ExternalApiAuthenticationProvider; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.env.Environment; +import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; + +/** + * The security configuration. + */ +@EnableWebSecurity +@Configuration +@EnableGlobalMethodSecurity(securedEnabled = true, proxyTargetClass = true) +public class WebSecurityConfig extends ExternalApiWebSecurityConfig { + + public WebSecurityConfig(final ExternalApiAuthenticationProvider apiAuthenticationProvider, + final RestExceptionHandler restExceptionHandler, final Environment env) { + super(apiAuthenticationProvider, restExceptionHandler, env); + } + +} diff --git a/api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/service/PastisService.java b/api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/service/PastisService.java new file mode 100644 index 000000000..c5d4cfe34 --- /dev/null +++ b/api/api-pastis/pastis/src/main/java/fr/gouv/vitamui/pastis/server/service/PastisService.java @@ -0,0 +1,372 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + + +package fr.gouv.vitamui.pastis.server.service; + +import com.fasterxml.jackson.databind.ObjectMapper; +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; +import fr.gouv.vitamui.pastis.common.dto.jaxb.AnnotationXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.AnyNameXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.AttributeXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.BaliseXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.ChoiceXml; +import fr.gouv.vitamui.pastis.common.dto.jaxb.DataXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.DocumentationXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.ElementXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.ExceptXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.GrammarXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.NsNameXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.OneOrMoreXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.OptionalXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.StartXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.ValueXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.ZeroOrMoreXML; +import fr.gouv.vitamui.pastis.common.dto.profiles.Notice; +import fr.gouv.vitamui.pastis.common.dto.profiles.PastisProfile; +import fr.gouv.vitamui.pastis.common.dto.profiles.ProfileNotice; +import fr.gouv.vitamui.pastis.common.dto.profiles.ProfileResponse; +import fr.gouv.vitamui.pastis.common.dto.profiles.ProfileType; +import fr.gouv.vitamui.pastis.common.service.JsonFromPUA; +import fr.gouv.vitamui.pastis.common.service.PuaFromJSON; +import fr.gouv.vitamui.pastis.common.service.PuaPastisValidator; +import fr.gouv.vitamui.pastis.common.util.NoticeUtils; +import fr.gouv.vitamui.pastis.common.util.PastisCustomCharacterEscapeHandler; +import fr.gouv.vitamui.pastis.common.util.PastisGetXmlJsonTree; +import fr.gouv.vitamui.pastis.common.util.PastisSAX2Handler; +import lombok.Getter; +import lombok.Setter; +import org.json.JSONObject; +import org.json.JSONTokener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.Resource; +import org.springframework.core.io.ResourceLoader; +import org.springframework.core.io.support.ResourcePatternUtils; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; +import org.xml.sax.XMLReader; +import org.xml.sax.helpers.XMLReaderFactory; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Marshaller; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.Writer; +import java.net.URISyntaxException; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +@Getter +@Setter +@Service +public class PastisService { + + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(PastisService.class); + + private static final String APPLICATION_JSON_UTF8 = "application/json; charset=utf-8"; + private final ResourceLoader resourceLoader; + @Value("${rng.base.file}") + private String rngFile; + @Value("${json.template.file}") + private String jsonFile; + @Value("${rng.base.directory}") + private String rngLocation; + @Autowired + private PuaPastisValidator puaPastisValidator; + + @Autowired + private JsonFromPUA jsonFromPUA; + + @Autowired + private PuaFromJSON puaFromJSON; + private List<PastisProfile> pastisProfiles = new ArrayList<>(); + private List<Notice> notices = new ArrayList<>(); + @Autowired + public PastisService(ResourceLoader resourceLoader) { + this.resourceLoader = resourceLoader; + } + + public String getArchiveProfile(final ElementProperties json) throws IOException { + + // Recover a statically generated BaliseXML by buildBaliseXMLTree + json.initTree(json); + BaliseXML.buildBaliseXMLTree(json, 0, null); + // Add Recip struct to xml balises tree + BaliseXML.addRecipTags(); + BaliseXML eparentRng = BaliseXML.baliseXMLStatic; + String response = null; + Writer writer = null; + try { + JAXBContext contextObj = JAXBContext.newInstance(AttributeXML.class, ElementXML.class, DataXML.class, + ValueXML.class, OptionalXML.class, OneOrMoreXML.class, + ZeroOrMoreXML.class, AnnotationXML.class, DocumentationXML.class, + StartXML.class, GrammarXML.class, ChoiceXml.class, AnyNameXML.class, ExceptXML.class, NsNameXML.class); + Marshaller marshallerObj = contextObj.createMarshaller(); + marshallerObj.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); + marshallerObj.setProperty("com.sun.xml.bind.marshaller.CharacterEscapeHandler", + new PastisCustomCharacterEscapeHandler()); + + ByteArrayOutputStream os = new ByteArrayOutputStream(); + writer = new OutputStreamWriter(os, "UTF-8"); + + marshallerObj.marshal(eparentRng, writer); + response = new String(os.toByteArray(), "UTF-8"); + + } catch (IOException e1) { + e1.printStackTrace(); + } catch (JAXBException e1) { + e1.printStackTrace(); + } finally { + writer.close(); + } + + LOGGER.info("RNG profile generated successfully"); + return response; + } + + public String getArchiveUnitProfile(final ProfileNotice json) throws IOException { + + Notice notice = new Notice(); + if (json.getNotice() != null) { + notice = json.getNotice(); + + } else { + notice.setId("12133411121213"); + } + + String controlSchema = puaFromJSON.getControlSchemaFromElementProperties(json.getElementProperties()); + notice.setControlSchema(controlSchema); + + ObjectMapper objectMapper = new ObjectMapper(); + String noticeAsString = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(notice); + + return noticeAsString; + + } + + public Resource getFile(String filename) { + return new ClassPathResource(rngLocation + filename + ".rng"); + } + + public ProfileResponse createProfile(String type) throws URISyntaxException, IOException { + Resource resource; + ProfileType profileType; + if (type.equals(ProfileType.PA.toString())) { + profileType = ProfileType.PA; + resource = new ClassPathResource(rngFile); + } else if (type.equals(ProfileType.PUA.toString())) { + profileType = ProfileType.PUA; + resource = new ClassPathResource(jsonFile); + } else { + return null; + } + return createProfileByType(resource, profileType); + } + + public ProfileResponse loadProfile(Notice notice) throws IOException { + PastisSAX2Handler handler = new PastisSAX2Handler(); + PastisGetXmlJsonTree getJson = new PastisGetXmlJsonTree(); + ProfileResponse profileResponse = new ProfileResponse(); + + try { + profileResponse.setId(notice.getId()); + profileResponse.setType(NoticeUtils.getFileType(notice)); + profileResponse.setName(notice.getIdentifier()); + String s = notice.serialiseString(); + JSONObject profileJson = new JSONObject(s); + + if (NoticeUtils.getFileType(notice).equals(ProfileType.PA)) { + InputStream inputStream = getClass().getClassLoader().getResourceAsStream(rngLocation + + notice.getPath()); + InputSource inputSource = new InputSource(inputStream); + XMLReader xmlReader = XMLReaderFactory.createXMLReader(); + xmlReader.setContentHandler(handler); + xmlReader.parse(inputSource); + profileResponse.setProfile(getJson.getJsonParsedTree(handler.elementRNGRoot)); + LOGGER.info("Starting editing Archive Profile with id : {}", notice.getId()); + } else if (NoticeUtils.getFileType(notice).equals(ProfileType.PUA)) { + puaPastisValidator.validatePUA(profileJson); + profileResponse.setProfile(jsonFromPUA.getProfileFromPUA(profileJson)); + } + profileResponse.setNotice(NoticeUtils.getNoticeFromPUA(profileJson)); + } catch (SAXException | IOException e) { + LOGGER.error("Failed to load profile with id : {}", notice.getId()); + return null; + } catch (AssertionError ae) { + LOGGER.error("Failed to load pua with id {} and error message {}", notice.getId(), ae.getMessage()); + return null; + } + + return profileResponse; + } + + public ElementProperties loadProfilePA(MultipartFile file) throws IOException { + PastisSAX2Handler handler = new PastisSAX2Handler(); + PastisGetXmlJsonTree getJson = new PastisGetXmlJsonTree(); + ElementProperties elementProperties; + + try { + InputStream fileInputStream = file.getInputStream(); + InputSource inputSource = new InputSource(file.getInputStream()); + XMLReader xmlReader = XMLReaderFactory.createXMLReader(); + xmlReader.setContentHandler(handler); + xmlReader.parse(inputSource); + elementProperties = getJson.getJsonParsedTree(handler.elementRNGRoot); + } catch (SAXException | IOException e) { + LOGGER.error(e.getMessage()); + return null; + } + return elementProperties; + } + + public ProfileResponse createProfileByType(Resource resource, ProfileType profileType) throws IOException { + PastisSAX2Handler handler = new PastisSAX2Handler(); + PastisGetXmlJsonTree getJson = new PastisGetXmlJsonTree(); + ProfileResponse profileResponse = new ProfileResponse(); + + try { + profileResponse.setType(profileType); + profileResponse.setName(resource.getFilename()); + + InputStream fileInputStream = resource.getInputStream(); + InputSource inputSource = new InputSource(resource.getInputStream()); + + if (profileType.equals(ProfileType.PA)) { + XMLReader xmlReader = XMLReaderFactory.createXMLReader(); + xmlReader.setContentHandler(handler); + xmlReader.parse(inputSource); + profileResponse.setProfile(getJson.getJsonParsedTree(handler.elementRNGRoot)); + LOGGER.info("Starting editing Archive Profile from file : {}", resource.getFilename()); + + } else { + JSONTokener tokener = new JSONTokener(new InputStreamReader(fileInputStream)); + JSONObject profileJson = new JSONObject(tokener); + puaPastisValidator.validatePUA(profileJson); + profileResponse.setProfile(jsonFromPUA.getProfileFromPUA(profileJson)); + profileResponse.setNotice(NoticeUtils.getNoticeFromPUA(profileJson)); + LOGGER.info("Starting editing Archive Unit Profile with name : {}", resource.getFilename()); + } + + } catch (SAXException | IOException e) { + LOGGER.error("Failed to load profile '{}' : " + e.getMessage(), resource.getFilename()); + return null; + } catch (AssertionError ae) { + LOGGER.error("Failed to load pua : {}", ae.getMessage()); + return null; + } + + profileResponse.setId(String.valueOf((Math.abs(new Random().nextLong()) / 1000))); + + return profileResponse; + } + + public ProfileResponse loadProfileFromFile(MultipartFile file) { + + PastisSAX2Handler handler = new PastisSAX2Handler(); + PastisGetXmlJsonTree getJson = new PastisGetXmlJsonTree(); + ProfileResponse profileResponse = new ProfileResponse(); + + try { + String fileExtension = file.getOriginalFilename().split("\\.")[1]; + String profileName = file.getOriginalFilename().split("\\.(?=[^\\.]+$)")[0]; + profileResponse.setType(fileExtension.equals("rng") ? ProfileType.PA : ProfileType.PUA); + profileResponse.setName(profileName); + + InputStream fileInputStream = file.getInputStream(); + InputSource inputSource = new InputSource(file.getInputStream()); + + if (profileResponse.getType().equals(ProfileType.PA)) { + XMLReader xmlReader = XMLReaderFactory.createXMLReader(); + xmlReader.setContentHandler(handler); + xmlReader.parse(inputSource); + profileResponse.setProfile(getJson.getJsonParsedTree(handler.elementRNGRoot)); + LOGGER.info("Starting editing Archive Profile from file : {}", file.getOriginalFilename()); + + } else { + JSONTokener tokener = new JSONTokener(new InputStreamReader(fileInputStream)); + JSONObject profileJson = new JSONObject(tokener); + puaPastisValidator.validatePUA(profileJson); + profileResponse.setProfile(jsonFromPUA.getProfileFromPUA(profileJson)); + profileResponse.setNotice(NoticeUtils.getNoticeFromPUA(profileJson)); + LOGGER.info("Starting editing Archive Unit Profile with name : {}", file.getOriginalFilename()); + } + + } catch (SAXException | IOException e) { + LOGGER.error("Failed to load profile '{}' : " + e.getMessage(), file.getOriginalFilename()); + return null; + } catch (AssertionError ae) { + LOGGER.error("Failed to load pua : {}", ae.getMessage()); + return null; + } + + profileResponse.setId(String.valueOf((Math.abs(new Random().nextLong()) / 1000))); + + return profileResponse; + } + + public List<Notice> getFiles() throws IOException { + Resource[] resources = ResourcePatternUtils + .getResourcePatternResolver(resourceLoader) + .getResources("classpath*:" + rngLocation + "*.*"); + + try { + if (notices.isEmpty()) { + for (Resource r : resources) { + notices.add(new Notice(r)); + } + } + return notices; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + +} + diff --git a/api/api-pastis/pastis/src/main/resources/application-dev.yml b/api/api-pastis/pastis/src/main/resources/application-dev.yml new file mode 100644 index 000000000..3bb08a9dc --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/application-dev.yml @@ -0,0 +1,84 @@ +debug: false +# Pastis Rest APi +rng: + base: + file: rng/Profil_seda_pastis_mvp.rng + directory: rng/ +json: + base: + file: rng/ProfileJson.json + template: + file: rng/AUP_default_PASTIS.json +pua: + definitions: + file: pua_validation/ProfileJson.json + +spring: + config: + use-legacy-processing: true + profiles: + active: dev, swagger + + cloud: + consul: #disabled for dev + enabled: false + discovery: + enabled: false + register: false + +multipart: + enabled: true + +spring.servlet.multipart.max-file-size: -1 +spring.servlet.multipart.max-request-size: -1 + +server-identity: + identityName: vitamui-dev + identityRole: pastis-external + identityServerId: 1 + +server: + host: + port: 8015 + ssl: + key-store: src/main/resources/dev/keystore_pastis-external.jks + key-store-password: e2zS1Za6se9vYky0uoATKDfuXDp0j6r4PBWDn4ZHQvX5cKfX + key-password: e2zS1Za6se9vYky0uoATKDfuXDp0j6r4PBWDn4ZHQvX5cKfX + trust-store: src/main/resources/dev/truststore_server.jks + trust-store-password: changeme + client-auth: need + enabled-protocols: TLSv1.1,TLSv1.2,TLSv1.3 + ciphers: ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384 + +management: + server: + address: localhost + port: 8189 + ssl: + enabled: false +pastis-external: + security-client: + server-host: localhost + server-port: 8084 + secure: false + iam-internal-client: + server-host: localhost + server-port: 7083 + secure: false + +# Jaeger +opentracing: + jaeger: + enabled: true + logSpans: true + expandExceptionLogs: true + udp-sender: + host: localhost + port: 6831 + +logging: + level: + fr.gouv.vitamui: DEBUG + fr.gouv.vitamui.iam.security: DEBUG + #level.org.springframework.web.filter.CommonsRequestLoggingFilter: DEBUG +cors.allowed-origins: https://dev.vitamui.com:4251,https://localhost diff --git a/api/api-pastis/pastis/src/main/resources/application-standalone.yml b/api/api-pastis/pastis/src/main/resources/application-standalone.yml new file mode 100644 index 000000000..37773f707 --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/application-standalone.yml @@ -0,0 +1,35 @@ +debug: false +# Pastis Rest APi +rng: + base: + file: rng/Profil_seda_pastis_mvp.rng +json: + base: + file: rng/ProfileJson.json +pua: + definitions: + file: pua_validation/ProfileJson.json +spring: + config: + use-legacy-processing: true + profiles: + active: dev, swagger + servlet: + multipart: + max-file-size: -1 + max-request-size: -1 + enabled: true + +server: + host: localhost + port: 8080 + scheme: http +management.endpoints.web.exposure.include: "*" +# Uncomment if you want to use you specific logback config. +#logging: +config: src/main/config/logback.xml +cors.allowed-origins: http://localhost:80 + +multipart: + enabled: true + diff --git a/api/api-pastis/pastis/src/main/resources/application-test.yml b/api/api-pastis/pastis/src/main/resources/application-test.yml new file mode 100644 index 000000000..26898d32d --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/application-test.yml @@ -0,0 +1,71 @@ +debug: false +# Pastis Rest APi +rng: + base: + file: rng/Profil_seda_pastis_mvp.rng +json: + base: + file: rng/ProfileJson.json +pua: + definitions: + file: pua_validation/ProfileJson.json + +spring: + config: + use-legacy-processing: true + profiles: + active: dev, swagger + + cloud: + consul: #disabled for dev + enabled: false + discovery: + enabled: false + register: false + +multipart: + enabled: true + +spring.servlet.multipart.max-file-size: -1 +spring.servlet.multipart.max-request-size: -1 + +server-identity: + identityName: vitamui-dev + identityRole: pastis-external + identityServerId: 1 + +server: + host: + port: 8099 +management: + server: + address: localhost + port: 8189 + ssl: + enabled: false +pastis-external: + security-client: + server-host: localhost + server-port: 8084 + secure: false + iam-internal-client: + server-host: localhost + server-port: 7083 + secure: false + +# Jaeger +opentracing: + jaeger: + enabled: true + logSpans: true + expandExceptionLogs: true + udp-sender: + host: localhost + port: 6831 + +logging: + level: + fr.gouv.vitamui: DEBUG + fr.gouv.vitamui.iam.security: DEBUG + #level.org.springframework.web.filter.CommonsRequestLoggingFilter: DEBUG +cors.allowed-origins: https://dev.vitamui.com:4251,https://localhost diff --git a/api/api-pastis/pastis/src/main/resources/application.yml b/api/api-pastis/pastis/src/main/resources/application.yml new file mode 100644 index 000000000..337020ce3 --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/application.yml @@ -0,0 +1,34 @@ +# TECHNICAL PROPERTIES / DON'T put environment properties +# This property can be override by a config file give at run time with spring.config.location + +spring: + application: + name: ${server-identity.identityRole} + api: + name: API Pastis + description: This API is used to manage Vitam's profile + version: v1 + mvc: + favicon: + enabled: false + jackson: + serialization: + write-dates-as-timestamps: false + +management: + endpoints: + jmx: + domain: ${server-identity.identityRole} + unique-names: true + web.exposure.include: info,health,prometheus + endpoint: + health: + show-details: always + prometheus: + enabled: true + +swagger: + layer: api-external + file-path: file:../../../tools/swagger/docs/api-external/pastis-external/swagger.json +cors.allowed-origins: https://dev.vitamui.com:4251,https://localhost + diff --git a/api/api-pastis/pastis/src/main/resources/dev/keystore_pastis-external.jks b/api/api-pastis/pastis/src/main/resources/dev/keystore_pastis-external.jks new file mode 100644 index 0000000000000000000000000000000000000000..57b4d15a75445de578efe7d66603aedb437abd0e GIT binary patch literal 3867 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 ZT92OA6G{{Ns72ELTGzA=rrEhM^e^C72=xE} literal 0 HcmV?d00001 diff --git a/api/api-pastis/pastis/src/main/resources/dev/truststore_server.jks b/api/api-pastis/pastis/src/main/resources/dev/truststore_server.jks new file mode 100644 index 0000000000000000000000000000000000000000..3ad9932ba4e9f999eebcacf469be064e2e7ad982 GIT binary patch literal 3626 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 literal 0 HcmV?d00001 diff --git a/api/api-pastis/pastis/src/main/resources/pua_validation/archiveUnitSeda.json b/api/api-pastis/pastis/src/main/resources/pua_validation/archiveUnitSeda.json new file mode 100644 index 000000000..81e57fb6d --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/pua_validation/archiveUnitSeda.json @@ -0,0 +1,7391 @@ +{ + "Name": "ArchiveUnit", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [ + ], + "Definition": "Correspond à la notion de composant en ISAD(G). ArchiveUnit permet à la fois de gérer la hiérarchie intellectuelle, tout en contenant les métadonnées de description et de gestion propres à chaque niveau de description archivistique.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Identifiant de l'unité d'archives utilisé par exemple dans le cas de multiples héritages, pour savoir quel noeud contient une erreur.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Permet de faire une référence à d'autres ArchiveUnit dans la même transaction.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "ArchiveUnitProfile", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à une partie d'un profil d\u2019archivage applicable à un ArchiveUnit en particulier. Permet par exemple de faire référence à une typologie documentaire dans un profil d'archivage.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Management", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [ + ], + "Definition": "Métadonnées de gestion applicables à l\u2019ArchiveUnit concernée et à ses héritiers.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "StorageRule", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Gestion de la durée d\u2019utilité courante.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Rule", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à la règle de durée d'utilité courante.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de départ de calcul de la règle d'utilité courante.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "FinalAction", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "RestrictAccess", + "Transfer", + "Copy" + ], + "Definition": "Action à mettre en œuvre au terme de la durée de gestion.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "AppraisalRule", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Gestion de la durée d\u2019utilité administrative.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Rule", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à la règle de durée d'utilité administrative.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de départ de calcul de la règle d'utilité administrative.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "FinalAction", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "Keep", + "Destroy" + ], + "Definition": "Action à mettre en œuvre au terme de la durée de gestion.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "AccessRule", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Gestion de la communicabilité.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Rule", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à la règle de communicabilité.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de départ de calcul de la règle de communicabilité.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + } + ] + }, + { + "Name": "DisseminationRule", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Gestion de la diffusion.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Rule", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à la règle de diffusion.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de départ de calcul de la règle de diffusion.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + } + ] + }, + { + "Name": "ReuseRule", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Gestion de la réutilisation.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Rule", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à la règle de réutilisation.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de départ de calcul de la règle de réutilisation.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + } + ] + }, + { + "Name": "ClassificationRule", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Gestion de la classification.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Rule", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à la règle de classification.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de départ de calcul de la règle de classification.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "ClassificationAudience", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Permet de gérer les questions de diffusion restreinte, de spécial France et de Confidentiel Industrie.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "ClassificationLevel", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence au niveau de classification.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "ClassificationOwner", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Propriétaire de la classification. Service émetteur au sens de l\u2019IGI 1300.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "ClassificationReassessingDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de réévaluation de la classification.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "NeedReassessingAuthorization", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "true", + "false" + ], + "Definition": "Indique si une autorisation humaine est nécessaire pour réévaluer la classification.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "LogBook", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Gestion des traces.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Event", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [ + ], + "Definition": "", + "Collection": "Arborescence", + "Children": [ + { + "Name": "EventIdentifier", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Identifiant de l'événement. Références : premis.eventIdentifier", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "EventTypeCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Code du type d'événement.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "EventType", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Type d'événement.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "EventDateTime", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date et heure de l'événement.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "EventDetail", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Détail sur l'événement.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Outcome", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Résultat du traitement.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "OutcomeDetail", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Détail sur le résultat du traitement.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "OutcomeDetailMessage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Message détaillé sur le résultat du traitement.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "EventDetailData", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Message technique détaillant l'erreur.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + } + ] + }, + { + "Name": "NeedAuthorization", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "true", + "false" + ], + "Definition": "Indique si une autorisation humaine est nécessaire pour vérifier ou valider les opérations de gestion des ArchiveUnit.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Content", + "Element": "Complex", + "Cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [ + ], + "Definition": "Métadonnées de description associées à un ArchiveUnit.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "DescriptionLevel", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "Fonds", + "Subfonds", + "Class", + "Collection", + "Series", + "Subseries", + "RecordGrp", + "SubGrp", + "File", + "Item", + "OtherLevel" + ], + "Definition": "Niveau de description au sens de la norme ISAD (G). Indique si l\u2019ArchiveUnit correspond à un fonds, à un sous-fonds, à une classe, à une série organique, à une sous-série organique, à un dossier, à un sous-dossier ou à une pièce. Référence : seda.DescriptionLevel", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Title", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Intitulé de l'ArchiveUnit. Références : DC.Title ead.unittitle", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": null, + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "FilePlanPosition", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Position de l\u2019ArchiveUnit dans le plan de classement du service producteur. Références : seda.FilePlanPosition", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "SystemId", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Identifiant attribué aux objets. Il est attribué par le SAE et correspond à un identifiant interne. Références : ARMS", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "OriginatingSystemId", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Identifiant système attribué à l\u2019ArchiveUnit par l\u2019application du service producteur.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "ArchivalAgencyArchiveUnitIdentifier", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Identifiant métier attribué à l'ArchiveUnit par le service d'archives. Peut être comparé à une cote.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "OriginatingAgencyArchiveUnitIdentifier", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Identifiant métier attribué à l\u2019ArchiveUnit par le service producteur.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "TransferringAgencyArchiveUnitIdentifier", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Identifiant attribué à l'ArchiveUnit par le service versant.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Description", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Description détaillée de l\u2019ArchiveUnit. Correspond à la présentation du contenu au sens de la norme ISAD(G). Références : DC:Documentation", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "CustodialHistory", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Énumère les changements successifs de propriété, de responsabilité et de conservation des ArchiveUnit avant leur entrée dans le lieu de conservation. On peut notamment y indiquer comment s'est effectué le passage de l'application d'origine au fichier archivable. Correspond à l'historique de la conservation en ISAD(G). Références : seda.CustodialHistory", + "Collection": "Arborescence", + "Children": [ + { + "Name": "CustodialHistoryItem", + "Element": "Simple", + "Cardinality": "1-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Description d'une période ou d'un événement précis dans l'historique.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "when", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "CustodialHistoryFile", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un fichier de journalisation externe.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + } + ] + }, + { + "Name": "Type", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Type d\u2019information au sens de l\u2019OAIS (information de représentation, information de pérennisation, etc.). Références : seda.DocumentType", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "DocumentType", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Type de document au sens diplomatique du terme (ex. compte-rendu de réunion, note, correspondance, etc.). Ne pas confondre avec Type.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Language", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Langue du contenu des objets-données. Références : seda.Language", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DescriptionLanguage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Langue utilisée pour les informations de représentation et de pérennisation. Références : seda.DescriptionLanguage", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Status", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Etat de l'objet-données (par rapport avec son cycle de vie). Permet par exemple d'indiquer si la signature du fichier a été vérifiée avant le transfert aux archives. Références : seda.Status", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Version", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Permet d'indiquer quelle est la version du document.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Tag", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Mots-clés ou liste de mots-clés génériques. En ce qui concerne l'indexation, on pourra utiliser Tag ou Keyword en fonction de ce que l'on souhaite décrire.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Keyword", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Mots-clef avec contexte inspiré du SEDA 1.0. En ce qui concerne l'indexation, on pourra utiliser Tag ou Keyword en fonction de ce que l'on souhaite décrire. Références : seda.Keyword", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "KeywordContent", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Valeur du mot-clé. A utiliser avec Keyword.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "KeywordReference", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Identifiant du mot clé dans un référentiel donné. Par exemple, pour un lieu, il pourrait s'agir de son code officiel géographique selon l'INSEE.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "KeywordType", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "corpname", + "famname", + "geogname", + "name", + "occupation", + "persname", + "subject", + "genreform", + "function" + ], + "Definition": "Type de mot clé.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "listVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + } + ] + }, + { + "Name": "Coverage", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Couverture spatiale, temporelle ou juridictionnelle de l\u2019ArchiveUnit. Références : DC.Coverage", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Spatial", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Couverture spatiale ou couverture géographique. Références: AGKRMS.spatialCoverage", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Temporal", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Couverture temporelle. Références: AGKRMS.temporalCoverage", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Juridictional", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Juridiction administrative ou ressort administratif. Références: AGKRMS.juridictionalCoverage", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + } + ] + }, + { + "Name": "OriginatingAgency", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Service producteur. Personne physique ou morale, publique ou privée, qui a produit, reçu et conservé des archives dans l'exercice de son activité, Dictionnaire de terminologie archivistique, direction des archives de France, 2002. Références : seda.OriginatingAgency", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Identifier", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Identifiant de l'organisation.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "OrganizationDescriptiveMetadata", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [ + ], + "Definition": "Métadonnées de description de l'organisation.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xlink:href", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "xml:id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + } + ] + }, + { + "Name": "SubmissionAgency", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Service versant responsable du transfert des données. Références : seda.SubmissionAgency", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Identifier", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Identifiant de l'organisation.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "OrganizationDescriptiveMetadata", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [ + ], + "Definition": "Métadonnées de description de l'organisation.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xlink:href", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "xml:id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + } + ] + }, + { + "Name": "AuthorizedAgent", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Titulaire des droits de propriété intellectuelle.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "FirstName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "FullName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "GivenName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Gender", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Corpname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Identifier", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Function", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + } + ] + }, + { + "Name": "Writer", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Rédacteur de l\u2019ArchiveUnit. Références : interpares.Writer", + "Collection": "Arborescence", + "Children": [ + { + "Name": "FirstName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "FullName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "GivenName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Gender", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Corpname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Identifier", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Function", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + } + ] + }, + { + "Name": "Addressee", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Destinataire pour action. Utilisé pour indiquer le nom du destinatire par exemple dans un courrier électronique. Références : ARMS.Addressee, Interpares.Addressee", + "Collection": "Arborescence", + "Children": [ + { + "Name": "FirstName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "FullName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "GivenName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Gender", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Corpname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Identifier", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Function", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + } + ] + }, + { + "Name": "Recipient", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Destinataire pour information. Utilisé pour indiquer le nom du destinatire en copie, pour information, par exemple dans un courrier électronique. Références : Interpares.Recipient", + "Collection": "Arborescence", + "Children": [ + { + "Name": "FirstName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "FullName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "GivenName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Gender", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Corpname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Identifier", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Function", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + } + ] + }, + { + "Name": "Transmitter", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Emetteur du message.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "FirstName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "FullName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "GivenName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Gender", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Corpname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Identifier", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Function", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + } + ] + }, + { + "Name": "Sender", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Expéditeur du message.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "FirstName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "FullName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "GivenName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Gender", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Corpname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Identifier", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Function", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + } + ] + }, + { + "Name": "Source", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En cas de substitution numérique, permet de faire référence au papier.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "RelatedObjectReference", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un objet faisant ou ne faisant pas partie du présent paquet d'information.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "IsVersionOf", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Est une partie de. Cette relation permet d'indique qu'un objet est une partie d'un autre.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "NCName", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "RepositoryObjectPID", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "ExternalReference", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence externe.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Replaces", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Remplace. Cette relation permet d'indiquer les objets remplacés par le niveau courant de description. DC.Relation.replaces", + "Collection": "Arborescence", + "Children": [ + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "NCName", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "RepositoryObjectPID", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "ExternalReference", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence externe.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Requires", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Requiert. Cette relation permet d'indiquer les objets nécessaire à la compréhension du niveau courant de description. Références : DC.Relation.requires", + "Collection": "Arborescence", + "Children": [ + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "NCName", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "RepositoryObjectPID", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "ExternalReference", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence externe.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "IsPartOf", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Est une partie de. Cette relation permet d'indique qu'un objet est une partie d'un autre. Références : DC.Relation.isPartOf", + "Collection": "Arborescence", + "Children": [ + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "NCName", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "RepositoryObjectPID", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "ExternalReference", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence externe.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "References", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence. Cette relation permet d'indiquer qu'un objet en référence un autre. DC.Relation.references", + "Collection": "Arborescence", + "Children": [ + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "NCName", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "RepositoryObjectPID", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "ExternalReference", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence externe.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + } + ] + }, + { + "Name": "CreatedDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de création. Références : ARKMS.DateCreated", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "TransactedDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de la transaction. Références : ARKMS.DateTransacted", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "AcquiredDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de numérisation. Références : ARKMS.DateAcquired", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "SentDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date d'envoi.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "ReceivedDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de réception.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "RegisteredDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date d'enregistrement. Références : ARMS.DateDeclared", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date d'ouverture / date de début. Références : AGKRMS.StartDate", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "EndDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de fermeture / Date de fin. Références : AGKRMS.EndDate", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Event", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "", + "Collection": "Arborescence", + "Children": [ + { + "Name": "EventIdentifier", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Identifiant de l'événement. Références : premis.eventIdentifier", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "EventTypeCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Code du type d'événement.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "EventType", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Type d'événement.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "EventDateTime", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date et heure de l'événement.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "EventDetail", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Détail sur l'événement.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Outcome", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Résultat du traitement.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "OutcomeDetail", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Détail sur le résultat du traitement.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "OutcomeDetailMessage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Message détaillé sur le résultat du traitement.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "EventDetailData", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Message technique détaillant l'erreur.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Signature", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Contient toutes les informations relatives à la signature.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Signer", + "Element": "Complex", + "Cardinality": "1-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Signataire(s) de la transaction ou de l'objet. Références : premis.signer", + "Collection": "Arborescence", + "Children": [ + { + "Name": "FirstName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "FullName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "GivenName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Gender", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Corpname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Identifier", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "SigningTime", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de signature.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Function", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + } + ] + }, + { + "Name": "Validator", + "Element": "Complex", + "Cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Validateur de la signature.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "FirstName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "FullName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "GivenName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Gender", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Corpname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Identifier", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "ValidationTime", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Date de la validation de la signature.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "Function", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + } + ] + }, + { + "Name": "Masterdata", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référentiel des personnes et des organisations au moment de la vérification de la signature et de sa validation.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "listID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "listName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "name", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "languageID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "listURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + }, + { + "Name": "ReferencedObject", + "Element": "Complex", + "Cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à l'objet signé.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "SignedObjectId", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Identifiant de l'objet-données signé.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "SignedObjectDigest", + "Element": "Simple", + "Cardinality": "1", + "Type": "base64Binary", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Empreinte obligatoire jusqu'au processus de versement pour assurer la portabilité de la valeur probante. Le SAE peut ne pas la conserver si l'on considère que l'identifiant de l'objet correspondant suffit. Ce procédé permet de résister au temps lorsque les informations binaires du paquet seront converties au gré des opérations de préservation de la lisibilité des formats. Au cours de ces opérations, l'identifiant ne changera pas, contrairement au format dufichier et donc à son empreinte.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "algorithm", + "Element": "Attribute", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + } + ] + } + ] + }, + { + "Name": "Gps", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Coordonnées gps complétées ou vérifiées par un utilisateur. Fait référence à des coordonnées traitées par un utilisateur et non à des coordonnées captées.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "GpsVersionID", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Identifiant de la version du GPS.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "GpsAltitude", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Indique l'altitude basée sur la référence dans GPSAltitudeRef. L'altitude est exprimée en mètres.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "GpsAltitudeRef", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Indique l'altitude utilisée comme altitude de référence. Si l'altitude est au dessus du niveau de la mer, la valeur 0 est normalement donnée. Si l'altitude est au-dessous du niveau de la mer, la veleur 1 est normalement donnée.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "GpsLatitude", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "La latitude peut être exprimée de deux manières différentes : 1)degrés, décimaux ou 2)degrés, minutes et secondes. 1)Si la latitude est exprimée en degrés, décimaux, le format type est dd, dd. Par ex: 45.3130339. 2)Si la latitude est exprimée en degrés, minutes et secondes, le format type est dd, mm, ss. Par ex: 45 18 46.922.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "GpsLatitudeRef", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Indique si la latitude est nord ou sud. La valeur 'N' indique la latitude nord, et 'S' indique la latitude sud.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "GpsLongitude", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "La longitude peut être exprimée de deux manières différentes : 1)degrés, décimaux ou 2)degrés, minutes et secondes. 1)Si la longitude est exprimée en degrés, décimaux, le format type est dd, dd. Par ex: 5.392285833333334. 2)Si la longitude est exprimée en degrés, minutes et secondes, le format type est dd, mm, ss. Par ex: 5 23 32.229.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "GpsLongitudeRef", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Indique si la longitude est est ou ouest. La valeur 'E' indique la longitude est, et 'W' indique la longitude Ouest.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "GpsDateStamp", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Heure et Date de la position GPS.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + } + ] + }, + { + "Name": "ArchiveUnit", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [ + ], + "Definition": "Gestion de la récursivité. Une ArchiveUnit peut être contenu dans une autre ArchiveUnit.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "null", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [ + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + ], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [ + ] + } + ] + } + ] +} diff --git a/api/api-pastis/pastis/src/main/resources/pua_validation/pua_defitions.json b/api/api-pastis/pastis/src/main/resources/pua_validation/pua_defitions.json new file mode 100644 index 000000000..82f6a2bb1 --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/pua_validation/pua_defitions.json @@ -0,0 +1,10 @@ +"definitions": { +"pattern-simple-date": { +"type": "string", +"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}" +}, +"pattern-date": { +"type": "string", +"pattern": "^([0-8][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))$" +} +} diff --git a/api/api-pastis/pastis/src/main/resources/pua_validation/valid_pa.json b/api/api-pastis/pastis/src/main/resources/pua_validation/valid_pa.json new file mode 100644 index 000000000..a83102e17 --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/pua_validation/valid_pa.json @@ -0,0 +1,15 @@ +{ + "id": "aegaaaaabafbmai5aa2d2alwatqvahqaaaaq", + "identifier": "AUP-000007", + "name": "AUP default PASTIS", + "description": "Import d'un AUP default pour PASTIS", + "status": "ACTIVE", + "creationDate": "2000-09-01T00:00:00.000", + "lastUpdate": "2020-11-26T14:08:20.987", + "activationDate": "2016-12-10T00:00:00.000", + "deactivationDate": "2016-12-10T00:00:00.000", + "tenant": 8, + "version": 1, + "format": "RNG", + "path": "ProfilCouzCouz.rng" +} diff --git a/api/api-pastis/pastis/src/main/resources/pua_validation/valid_pua.json b/api/api-pastis/pastis/src/main/resources/pua_validation/valid_pua.json new file mode 100644 index 000000000..b90e9b9e1 --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/pua_validation/valid_pua.json @@ -0,0 +1,16 @@ +{ + "id": "aegaaaaabafbmai5aa2d2alwatqvahqaaaaq", + "identifier": "AUP-000007", + "name": "AUP default PASTIS", + "description": "Import d'un AUP default pour PASTIS", + "status": "ACTIVE", + "creationDate": "2000-09-01T00:00:00.000", + "lastUpdate": "2020-11-26T14:08:20.987", + "activationDate": "2016-12-10T00:00:00.000", + "deactivationDate": "2016-12-10T00:00:00.000", + "controlSchema": "{\"$schema\":\"http://json-schema.org/draft-04/schema\",\"type\":\"object\",\"additionalProperties\":false,\"definitions\":{\"pattern-simple-date\":{\"type\":\"string\",\"pattern\":\"[0-9]{4}-[0-9]{2}-[0-9]{2}\"},\"pattern-date\":{\"type\":\"string\",\"pattern\":\"^([0-8][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))$\"}},\"properties\":{}}", + "tenant": 8, + "version": 1, + "fields": [ + ] +} diff --git a/api/api-pastis/pastis/src/main/resources/rng/AUP_default_PASTIS.json b/api/api-pastis/pastis/src/main/resources/rng/AUP_default_PASTIS.json new file mode 100644 index 000000000..564ae4719 --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/rng/AUP_default_PASTIS.json @@ -0,0 +1,19 @@ +{ + "id": "aegaaaaabafbmai5aa2d2alwatqvahqaaaaq", + "identifier": "AUP-000007", + "name": "AUP default PASTIS", + "description": "Import d'un AUP default pour PASTIS", + "status": "ACTIVE", + "creationDate": "2000-09-01T00:00:00.000", + "lastUpdate": "2020-11-26T14:08:20.987", + "activationDate": "2016-12-10T00:00:00.000", + "deactivationDate": "2016-12-10T00:00:00.000", + "controlSchema": "{\"$schema\":\"http://json-schema.org/draft-04/schema\",\"type\":\"object\",\"additionalProperties\":false,\"patternProperties\":{\"#management\":{}},\"required\":[\"ArchiveUnitProfile\",\"DescriptionLevel\",\"Title_\"],\"definitions\":{\"pattern-simple-date\":{\"type\":\"string\",\"pattern\":\"[0-9]{4}-[0-9]{2}-[0-9]{2}\"},\"pattern-date\":{\"type\":\"string\",\"pattern\":\"^([0-8][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))$\"}},\"properties\":{\"ArchiveUnitProfile\":{\"type\":\"string\",\"description\":\"Identifiant du PUA : cardinalité 1\"},\"DescriptionLevel\":{\"type\":\"string\",\"description\":\"Niveau de description : cardinalité 1\"},\"Title_\":{\"type\":\"object\",\"description\":\"Titre de la ressource : cardinalité 1-N\"}}}", + "tenant": 8, + "version": 1, + "fields": [ + "ArchiveUnitProfile", + "DescriptionLevel", + "Title" + ] +} diff --git a/api/api-pastis/pastis/src/main/resources/rng/AUP_default_PASTIS_test.json b/api/api-pastis/pastis/src/main/resources/rng/AUP_default_PASTIS_test.json new file mode 100644 index 000000000..8f3e6366e --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/rng/AUP_default_PASTIS_test.json @@ -0,0 +1,19 @@ +{ + "id": "", + "tenant": 0, + "version": 0, + "activationDate": "2015-12-10T00:00:00.000", + "controlSchema": "{\n \"$schema\": \"http://json-schema.org/draft-04/schema\",\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"patternProperties\": {\n\t \"#management\":{} \n\t },\n \"required\": [\n \"ArchiveUnitProfile\",\"DescriptionLevel\",\"Title_\"\n ],\n \"definitions\": {\n \"pattern-simple-date\": {\n \"type\": \"string\",\n \"pattern\": \"[0-9]{4}-[0-9]{2}-[0-9]{2}\"\n },\n \"pattern-date\": {\n \"type\": \"string\",\n \"pattern\": \"^([0-8][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))$\"\n }\n },\n \"properties\": {\n \"ArchiveUnitProfile\": {\n \"type\": \"string\",\n \"description\": \"Identifiant du PUA : cardinalité 1\"\n },\n \"DescriptionLevel\": {\n \"type\": \"string\",\n \"description\": \"Niveau de description : cardinalité 1\"\n },\n \"Title\": {\n \"type\": \"object\",\n \"description\": \"Titre de la ressource Create : cardinalité 1-N\"\n }\n }\n}", + "creationDate": "2003-10-01T00:00:00.000", + "deactivationDate": "2017-12-10T00:00:00.000", + "description": "Create PUA Test KDE 1", + "fields": [ + "ArchiveUnitProfile", + "DescriptionLevel", + "Title" + ], + "identifier": "AUP_Test_Pastis_KDE_Created_1", + "lastUpdate": "2021-11-08T13:57:18.927", + "name": "Create PUA Test KDE Name 1", + "status": "ACTIVE" +} diff --git a/api/api-pastis/pastis/src/main/resources/rng/AUP_test_long.json b/api/api-pastis/pastis/src/main/resources/rng/AUP_test_long.json new file mode 100644 index 000000000..e27a4804d --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/rng/AUP_test_long.json @@ -0,0 +1,19 @@ +{ + "id": "aegaaaaabafbmai5aa2d2alwatqvahqaaaaq", + "identifier": "AUP-000007", + "name": "AUP default PASTIS", + "description": "Import d'un AUP default pour PASTIS", + "status": "ACTIVE", + "creationDate": "2000-09-01T00:00:00.000", + "lastUpdate": "2020-11-26T14:08:20.987", + "activationDate": "2016-12-10T00:00:00.000", + "deactivationDate": "2016-12-10T00:00:00.000", + "controlSchema": "{\"$schema\":\"http://json-schema.org/draft-04/schema\",\"type\":\"object\",\"additionalProperties\":false,\"required\":[\"ArchiveUnitProfile\",\"DescriptionLevel\",\"Title_\",\"OriginatingAgency\",\"StartDate\",\"EndDate\"],\"definitions\":{\"pattern-simple-date\":{\"type\":\"string\",\"pattern\":\"[0-9]{4}-[0-9]{2}-[0-9]{2}\"},\"pattern-date\":{\"type\":\"string\",\"pattern\":\"^([0-8][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))$\"}},\"properties\":{\"ArchiveUnitProfile\":{\"type\":\"string\",\"description\":\"Identifiant du PUA : cardinalité 1\"},\"#management\":{\"properties\":{\"AppraisalRule\":{\"type\":\"object\",\"description\":\"DUA : cardinalité 1\",\"additionalProperties\":false,\"required\":[\"FinalAction\"],\"properties\":{\"Rules\":{\"items\":{\"properties\":{\"Rule\":{\"type\":\"string\",\"description\":\"Règle issue du référentiel des règles de gestion : cardinalité 1\"},\"StartDate\":{\"type\":\"string\",\"description\":\"Date de début du calcul : cardinalité 1\"}},\"required\":[\"Rule\",\"StartDate\"]}},\"FinalAction\":{\"type\":\"string\",\"description\":\"Sort final : cardinalité 1\"}}},\"AccessRule\":{\"type\":\"object\",\"description\":\"Communicabilité : cardinalité 0-1\",\"additionalProperties\":false,\"properties\":{\"Rules\":{\"items\":{\"properties\":{\"Rule\":{\"type\":\"string\",\"description\":\"Règle issue du référentiel des règles de gestion : cardinalité 1\"},\"StartDate\":{\"type\":\"string\",\"description\":\"Date de début du calcul : cardinalité 1\"}},\"required\":[\"Rule\",\"StartDate\"]}}}}},\"required\":[\"AppraisalRule\"]},\"DescriptionLevel\":{\"type\":\"string\",\"description\":\"Niveau de description : cardinalité 1\",\"enum\":[\"Fonds\",\"Subfonds\",\"Class\",\"Collection\",\"Series\",\"Subseries\",\"RecordGrp\",\"SubGrp\",\"File\",\"Item\",\"OtherLevel\"]},\"Title_\":{\"type\":\"object\",\"description\":\"Titre de la ressource : cardinalité 1-N\"},\"OriginatingSystemId\":{\"type\":\"array\",\"description\":\"Identifiant de la ressource par le SP : cardinalité 0-1\",\"minItems\":0,\"maxItems\":1},\"Description_\":{\"type\":\"object\",\"description\":\"Description : cardinalité 0-n\"},\"Tag\":{\"type\":\"array\",\"description\":\"Tag : cardinalité 0-N\"},\"OriginatingAgency\":{\"type\":\"object\",\"description\":\"Service producteur : cardinalité 1\",\"additionalProperties\":false,\"required\":[\"Identifier\"],\"properties\":{\"Identifier\":{\"type\":\"string\",\"description\":\"Identifiant du SP : cardinalité 1\"}}},\"Writer\":{\"description\":\"Rédacteur de la ressource : cardinalité 0-1\",\"type\":\"array\",\"minItems\":0,\"maxItems\":1,\"additionalProperties\":false,\"required\":[\"FullName\"],\"properties\":{\"FullName\":{\"type\":\"string\",\"description\":\"Nom complet : cardinalité 1\"},\"Function\":{\"type\":\"array\",\"description\":\"Fonction : cardinalité 0-N\"}}},\"CreatedDate\":{\"type\":\"string\",\"description\":\"Date de création : cardinalité 0-1\"},\"StartDate\":{\"type\":\"string\",\"description\":\"Date de début : cardinalité 1\"},\"EndDate\":{\"type\":\"string\",\"description\":\"Date de fin : cardinalité 1\"}}}", + "tenant": 8, + "version": 1, + "fields": [ + "ArchiveUnitProfile", + "DescriptionLevel", + "Title" + ] +} diff --git a/api/api-pastis/pastis/src/main/resources/rng/AUP_with_management.json b/api/api-pastis/pastis/src/main/resources/rng/AUP_with_management.json new file mode 100644 index 000000000..cb989efa5 --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/rng/AUP_with_management.json @@ -0,0 +1,19 @@ +{ + "id": "aegaaaaabafbmai5aa2d2alwatqvahqaaaaq", + "identifier": "AUP-000007", + "name": "AUP default PASTIS", + "description": "Import d'un AUP default pour PASTIS", + "status": "ACTIVE", + "creationDate": "2000-09-01T00:00:00.000", + "lastUpdate": "2020-11-26T14:08:20.987", + "activationDate": "2016-12-10T00:00:00.000", + "deactivationDate": "2016-12-10T00:00:00.000", + "controlSchema": "{\"$schema\":\"http://json-schema.org/draft-04/schema\",\"type\":\"object\",\"additionalProperties\":false,\"definitions\":{\"pattern-simple-date\":{\"type\":\"string\",\"pattern\":\"[0-9]{4}-[0-9]{2}-[0-9]{2}\"},\"pattern-date\":{\"type\":\"string\",\"pattern\":\"^([0-8][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))$\"}},\"properties\":{\"ArchiveUnitProfile\":{\"type\":\"string\",\"description\":\"DescriptionLevel : cardinalité 0-1 / valeur au choix\"},\"#management\":{\"properties\":{\"AppraisalRule\":{\"type\":\"object\",\"description\":\"Appraisal : cardinalité 0-1 / contient obligatoirement Rule et FinalAction\",\"additionalProperties\":false,\"properties\":{\"Rules\":{\"items\":{\"properties\":{\"Rule\":{\"description\":\"Rule : cardinalité 1\",\"type\":\"string\"},\"StartDate\":{\"description\":\"StartDate : cardinalité 0-1 / valeur date libre\",\"type\":\"string\"}},\"required\":[\"StartDate\"]}},\"FinalAction\":{\"description\":\"FinalAction : cardinalité 1-1 / valeur au choix\",\"type\":\"string\"}}}}},\"DescriptionLevel\":{\"type\":\"string\",\"description\":\"DescriptionLevel : cardinalité 0-1\",\"enum\":[\"Fonds\",\"Subfonds\",\"Class\",\"Collection\",\"Series\",\"Subseries\",\"RecordGrp\",\"SubGrp\",\"File\",\"Item\",\"OtherLevel\"]},\"Title_\":{\"type\":\"object\",\"description\":\"Title : cardinalité 0-N / valeur au choix\"},\"FilePlanPosition\":{\"description\":\"FilePlanPosition : cardinalité 0-N / valeur au choix\",\"type\":\"array\"},\"Tag\":{\"description\":\"Tag : cardinalité 0-N / valeur au choix\",\"type\":\"array\"},\"Keyword\":{\"description\":\"Keyword : cardinalité 0-N / valeur au choix\",\"type\":\"array\",\"minItems\":0,\"maxItems\":1,\"additionalProperties\":false,\"properties\":{\"KeywordContent\":{\"type\":\"string\",\"description\":\"Identifier : cardinalité 1 / valeur au choix\"}}},\"OriginatingAgency\":{\"description\":\"OriginatingAgency : cardinalité 0-1 / valeur au choix\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"Identifier\":{\"description\":\"Identifier : cardinalité 1-1 / valeur au choix\",\"type\":\"string\"}}}}}", + "tenant": 8, + "version": 1, + "fields": [ + "ArchiveUnitProfile", + "DescriptionLevel", + "Title" + ] +} diff --git a/api/api-pastis/pastis/src/main/resources/rng/AUP_without_management.json b/api/api-pastis/pastis/src/main/resources/rng/AUP_without_management.json new file mode 100644 index 000000000..01fef2f41 --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/rng/AUP_without_management.json @@ -0,0 +1,19 @@ +{ + "id": "aegaaaaabafbmai5aa2d2alwatqvahqaaaaq", + "identifier": "AUP-000007", + "name": "AUP default PASTIS", + "description": "Import d'un AUP default pour PASTIS", + "status": "ACTIVE", + "creationDate": "2000-09-01T00:00:00.000", + "lastUpdate": "2020-11-26T14:08:20.987", + "activationDate": "2016-12-10T00:00:00.000", + "deactivationDate": "2016-12-10T00:00:00.000", + "controlSchema": "{\"$schema\":\"http://json-schema.org/draft-04/schema\",\"type\":\"object\",\"additionalProperties\":false,\"patternProperties\":{\"#management\":{}},\"definitions\":{\"pattern-simple-date\":{\"type\":\"string\",\"pattern\":\"[0-9]{4}-[0-9]{2}-[0-9]{2}\"},\"pattern-date\":{\"type\":\"string\",\"pattern\":\"^([0-8][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))$\"}},\"properties\":{\"ArchiveUnitProfile\":{\"type\":\"string\",\"description\":\"DescriptionLevel : cardinalité 0-1 / valeur au choix\"},\"DescriptionLevel\":{\"type\":\"string\",\"description\":\"DescriptionLevel : cardinalité 0-1\",\"enum\":[\"Fonds\",\"Subfonds\",\"Class\",\"Collection\",\"Series\",\"Subseries\",\"RecordGrp\",\"SubGrp\",\"File\",\"Item\",\"OtherLevel\"]},\"Title_\":{\"type\":\"object\",\"description\":\"Title : cardinalité 0-N / valeur au choix\"},\"FilePlanPosition\":{\"description\":\"FilePlanPosition : cardinalité 0-N / valeur au choix\",\"type\":\"array\"},\"Tag\":{\"description\":\"Tag : cardinalité 0-N / valeur au choix\",\"type\":\"array\"},\"Keyword\":{\"description\":\"Keyword : cardinalité 0-N / valeur au choix\",\"type\":\"array\",\"minItems\":0,\"maxItems\":1,\"additionalProperties\":false,\"properties\":{\"KeywordContent\":{\"type\":\"string\",\"description\":\"Identifier : cardinalité 1 / valeur au choix\"}}},\"OriginatingAgency\":{\"description\":\"OriginatingAgency : cardinalité 0-1 / valeur au choix\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"Identifier\":{\"description\":\"Identifier : cardinalité 1-1 / valeur au choix\",\"type\":\"string\"}}}}}", + "tenant": 8, + "version": 1, + "fields": [ + "ArchiveUnitProfile", + "DescriptionLevel", + "Title" + ] +} diff --git a/api/api-pastis/pastis/src/main/resources/rng/PA_UPPA_versio.rng b/api/api-pastis/pastis/src/main/resources/rng/PA_UPPA_versio.rng new file mode 100644 index 000000000..e22a40d03 --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/rng/PA_UPPA_versio.rng @@ -0,0 +1,834 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<rng:grammar xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:seda="fr:gouv:culture:archivesdefrance:seda:v2.1" + xmlns:rng="http://relaxng.org/ns/structure/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" + ns="fr:gouv:culture:archivesdefrance:seda:v2.1" + xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1" +> + <rng:start> + <rng:element name="ArchiveTransfer"> + <rng:element name="Date"> + <rng:data type="dateTime"/> + </rng:element> + <rng:element name="MessageIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ArchivalAgreement"> + <rng:value type="token">IN-UPPA-0</rng:value> + </rng:element> + <rng:element name="CodeListVersions"> + <rng:data type="token"/> + </rng:element> + <rng:element name="DataObjectPackage"> + <rng:oneOrMore> + <rng:element name="DataObjectGroup"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:zeroOrMore> + <rng:element name="BinaryDataObject"> + <rng:element name="DataObjectVersion"> + <xsd:annotation> + <xsd:documentation>BinaryMaster par défaut</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Uri"> + <rng:data type="anyURI"/> + </rng:element> + <rng:element name="MessageDigest"> + <rng:data type="base64Binary"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + <rng:element name="Size"> + <rng:data type="token"/> + </rng:element> + <rng:element name="FormatIdentification"> + <rng:optional> + <rng:element name="FormatLitteral"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="FormatId"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="FileInfo"> + <rng:element name="Filename"> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:element> + </rng:zeroOrMore> + </rng:element> + </rng:oneOrMore> + <rng:element name="DescriptiveMetadata"> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Séance du conseil d'administration</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">File</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="string"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Description"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + <rng:optional> + <rng:element name="CustodialHistory"> + <rng:element name="CustodialHistoryItem"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:element name="Language"> + <rng:value type="token">fra</rng:value> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Organe délibérant</rng:value> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Conseil d'administration</rng:value> + </rng:element> + <rng:element name="CreatedDate"> + <xsd:annotation> + <xsd:documentation>Date de tenue du CA</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <xsd:annotation> + <xsd:documentation>Date de tenue du CA</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="EndDate"> + <xsd:annotation> + <xsd:documentation>Date de tenue du CA</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Procurations</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="string"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Procuration</rng:value> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Convocation-OJ</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + <rng:value type="string">Convocation-OJ</rng:value> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Signature"> + <rng:oneOrMore> + <rng:element name="Signer"> + <rng:element name="FullName"> + <rng:data type="string"/> + </rng:element> + <rng:element name="SigningTime"> + <rng:data type="dateTime"/> + </rng:element> + <rng:optional> + <rng:element name="Function"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:oneOrMore> + <rng:element name="Validator"> + <rng:element name="FullName"> + <rng:data type="string"/> + </rng:element> + <rng:element name="ValidationTime"> + <rng:data type="dateTime"/> + </rng:element> + <rng:optional> + <rng:element name="Function"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="ReferencedObject"> + <rng:element name="SignedObjectId"> + <rng:data type="token"/> + </rng:element> + <rng:element name="SignedObjectDigest"> + <rng:data type="token"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Feuille d'émargement-élus</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + <rng:value type="string">Feuille émargement-élus</rng:value> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Feuille d'émargement-membres consultatifs</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + <rng:value type="string">Feuille émargement-consultatifs</rng:value> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + <rng:optional> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Enregistrement audio</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="Management"> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <xsd:annotation> + <xsd:documentation>DUA 15 ans</xsd:documentation> + </xsd:annotation> + <rng:value type="token">APP-00015</rng:value> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="token"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:value type="token">Destroy</rng:value> + </rng:element> + </rng:element> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <rng:value type="token">ACC-00020</rng:value> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:optional> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + <rng:value type="string">Enregistrement audio</rng:value> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:optional> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Relevé de conclusions</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + <rng:value type="string">Relevé de conclusions</rng:value> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Accusé de réception du rectorat</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + <rng:value type="string">Accusé de réception du rectorat</rng:value> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + <rng:oneOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Point OJ</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">File</rng:value> + </rng:element> + <rng:element name="Title"> + <xsd:annotation> + <xsd:documentation>Intitulé du point à l'OJ</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Point OJ</rng:value> + </rng:element> + <rng:element name="Tag"> + <xsd:annotation> + <xsd:documentation>Point n°</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:zeroOrMore> + <rng:element name="Tag"> + <xsd:annotation> + <xsd:documentation>Mot-clés ordre du jour</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>PV CA antérieur</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Status"> + <xsd:annotation> + <xsd:documentation>"Voté" ou "Non voté"</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">PV</rng:value> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Extrait</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">File</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Extrait de délibération</rng:value> + </rng:element> + </rng:element> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Extrait</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Signature"> + <rng:oneOrMore> + <rng:element name="Signer"> + <rng:element name="FullName"> + <rng:data type="string"/> + </rng:element> + <rng:element name="SigningTime"> + <rng:data type="dateTime"/> + </rng:element> + <rng:optional> + <rng:element name="Function"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:oneOrMore> + <rng:element name="Validator"> + <rng:element name="FullName"> + <rng:data type="string"/> + </rng:element> + <rng:element name="ValidationTime"> + <rng:data type="dateTime"/> + </rng:element> + <rng:optional> + <rng:element name="Function"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="ReferencedObject"> + <rng:element name="SignedObjectId"> + <rng:data type="token"/> + </rng:element> + <rng:element name="SignedObjectDigest"> + <rng:data type="token"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Pièces annexes</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Pièce annexe</rng:value> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:zeroOrMore> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Pièces annexes</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Pièce annexe</rng:value> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Convention ou Accord international</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Management"> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <rng:value type="token">APP-00015</rng:value> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="token"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:value type="token">Destroy</rng:value> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">File</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:optional> + <rng:element name="Tag"> + <rng:value type="token">ACI</rng:value> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Tag"> + <rng:value type="token">Convention</rng:value> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Tag"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Convention ou ACI</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Pièces annexes</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Pièce annexe</rng:value> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:zeroOrMore> + </rng:element> + </rng:zeroOrMore> + </rng:element> + </rng:oneOrMore> + </rng:element> + </rng:element> + <rng:element name="ManagementMetadata"> + <rng:element name="ArchivalProfile"> + <rng:data type="token"/> + </rng:element> + <rng:element name="OriginatingAgencyIdentifier"> + <rng:value type="token">19640251500270</rng:value> + </rng:element> + <rng:element name="SubmissionAgencyIdentifier"> + <rng:value type="token">19640251500270</rng:value> + </rng:element> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <xsd:annotation> + <xsd:documentation>DUA 15 ans</xsd:documentation> + </xsd:annotation> + <rng:value type="token">APP-00015</rng:value> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:value type="token">Keep</rng:value> + </rng:element> + </rng:element> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <xsd:annotation> + <xsd:documentation>Librement communicable</xsd:documentation> + </xsd:annotation> + <rng:value type="token">ACC-00001</rng:value> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="ArchivalAgency"> + <rng:element name="Identifier"> + <rng:value type="token">19341594000017</rng:value> + </rng:element> + </rng:element> + <rng:element name="TransferringAgency"> + <rng:element name="Identifier"> + <rng:value type="token">19640251500270</rng:value> + </rng:element> + </rng:element> + </rng:element> + </rng:start> +</rng:grammar> diff --git a/api/api-pastis/pastis/src/main/resources/rng/ProfilCouzCouz.rng b/api/api-pastis/pastis/src/main/resources/rng/ProfilCouzCouz.rng new file mode 100644 index 000000000..c6bd8fc46 --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/rng/ProfilCouzCouz.rng @@ -0,0 +1,148 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<rng:grammar xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:seda="fr:gouv:culture:archivesdefrance:seda:v2.1" xmlns:rng="http://relaxng.org/ns/structure/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" + ns="fr:gouv:culture:archivesdefrance:seda:v2.1" xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1" +> + <rng:start> + <rng:element name="ArchiveTransfer"> + <rng:element name="Date"> + <rng:data type="token"/> + </rng:element> + <rng:element name="MessageIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ArchivalAgreement"> + <rng:value type="token">IN-UPPA-0</rng:value> + </rng:element> + <rng:element name="CodeListVersions"> + <rng:data type="token"/> + </rng:element> + <rng:element name="DataObjectPackage"> + <rng:oneOrMore> + <rng:element name="DataObjectGroup"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:zeroOrMore> + <rng:element name="BinaryDataObject"> + <rng:element name="DataObjectVersion"> + <xsd:annotation> + <xsd:documentation>BinaryMaster par défaut</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Uri"> + <rng:data type="anyURI"/> + </rng:element> + <rng:element name="MessageDigest"> + <rng:data type="base64Binary"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + <rng:element name="Size"> + <rng:data type="positiveInteger"/> + </rng:element> + <rng:element name="FormatIdentification"> + <rng:optional> + <rng:element name="FormatLitteral"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="FormatId"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="FileInfo"> + <rng:element name="Filename"> + <rng:data type="string"/> + </rng:element> + </rng:element> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:element> + </rng:zeroOrMore> + </rng:element> + </rng:oneOrMore> + <rng:element name="DescriptiveMetadata"> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Séance du conseil d'administration</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="ArchiveUnitProfile"> + <rng:data type="token"/> + </rng:element> + <rng:element name="Content"> + <rng:optional> + <rng:element name="DescriptionLevel"> + <rng:value type="token">File</rng:value> + </rng:element> + </rng:optional> + <rng:zeroOrMore> + <rng:element name="Title"> + <rng:data type="string"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + </rng:zeroOrMore> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="ManagementMetadata"> + <rng:element name="ArchivalProfile"> + <rng:data type="token"/> + </rng:element> + <rng:element name="OriginatingAgencyIdentifier"> + <rng:value type="token">19640251500270</rng:value> + </rng:element> + <rng:element name="SubmissionAgencyIdentifier"> + <rng:value type="token">19640251500270</rng:value> + </rng:element> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <xsd:annotation> + <xsd:documentation>DUA 15 ans</xsd:documentation> + </xsd:annotation> + <rng:value type="token">APP-00015</rng:value> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="token"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:value type="token">Keep</rng:value> + </rng:element> + </rng:element> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <xsd:annotation> + <xsd:documentation>Librement communicable</xsd:documentation> + </xsd:annotation> + <rng:value type="token">ACC-00001</rng:value> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="ArchivalAgency"> + <rng:element name="Identifier"> + <rng:value type="string">19341594000017</rng:value> + </rng:element> + </rng:element> + <rng:element name="TransferringAgency"> + <rng:element name="Identifier"> + <rng:value type="string">19640251500270</rng:value> + </rng:element> + </rng:element> + </rng:element> + </rng:start> +</rng:grammar> diff --git a/api/api-pastis/pastis/src/main/resources/rng/Profil_seda_pastis_mvp.rng b/api/api-pastis/pastis/src/main/resources/rng/Profil_seda_pastis_mvp.rng new file mode 100644 index 000000000..aeb8a1ee4 --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/rng/Profil_seda_pastis_mvp.rng @@ -0,0 +1,107 @@ +<?xml version='1.0' encoding='utf-8' standalone='no'?> +<rng:grammar + xmlns:rng="http://relaxng.org/ns/structure/1.0" + xmlns:seda="fr:gouv:culture:archivesdefrance:seda:v2.1" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" + ns="fr:gouv:culture:archivesdefrance:seda:v2.1" seda:warnings=""> + <rng:start> + <rng:element name="ArchiveTransfer"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="Date"> + <rng:data type="dateTime"/> + </rng:element> + <rng:element name="MessageIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="CodeListVersions"> + <rng:data type="token"/> + </rng:element> + <rng:element name="DataObjectPackage"> + <rng:optional> + <rng:attribute name="xml:id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="DataObjectGroup"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:zeroOrMore> + <rng:element name="BinaryDataObject"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="DataObjectVersion"> + <rng:data type="token"/> + <xsd:annotation> + <xsd:documentation>BinaryMaster par défaut</xsd:documentation> + </xsd:annotation> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Uri"> + <rng:data type="anyURI"/> + </rng:element> + </rng:optional> + <rng:element name="MessageDigest"> + <rng:data type="base64Binary"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="DescriptiveMetadata"> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:optional> + <rng:element name="DescriptionLevel"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Title"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="ManagementMetadata"> + <rng:optional> + <rng:element name="OriginatingAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="SubmissionAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:element> + <rng:element name="ArchivalAgency"> + <rng:element name="Identifier"> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="TransferringAgency"> + <rng:element name="Identifier"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:start> +</rng:grammar> diff --git a/api/api-pastis/pastis/src/main/resources/rng/Profil_seda_pastis_mvp34.rng b/api/api-pastis/pastis/src/main/resources/rng/Profil_seda_pastis_mvp34.rng new file mode 100644 index 000000000..aeb8a1ee4 --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/rng/Profil_seda_pastis_mvp34.rng @@ -0,0 +1,107 @@ +<?xml version='1.0' encoding='utf-8' standalone='no'?> +<rng:grammar + xmlns:rng="http://relaxng.org/ns/structure/1.0" + xmlns:seda="fr:gouv:culture:archivesdefrance:seda:v2.1" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" + ns="fr:gouv:culture:archivesdefrance:seda:v2.1" seda:warnings=""> + <rng:start> + <rng:element name="ArchiveTransfer"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="Date"> + <rng:data type="dateTime"/> + </rng:element> + <rng:element name="MessageIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="CodeListVersions"> + <rng:data type="token"/> + </rng:element> + <rng:element name="DataObjectPackage"> + <rng:optional> + <rng:attribute name="xml:id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="DataObjectGroup"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:zeroOrMore> + <rng:element name="BinaryDataObject"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="DataObjectVersion"> + <rng:data type="token"/> + <xsd:annotation> + <xsd:documentation>BinaryMaster par défaut</xsd:documentation> + </xsd:annotation> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Uri"> + <rng:data type="anyURI"/> + </rng:element> + </rng:optional> + <rng:element name="MessageDigest"> + <rng:data type="base64Binary"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="DescriptiveMetadata"> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:optional> + <rng:element name="DescriptionLevel"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Title"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="ManagementMetadata"> + <rng:optional> + <rng:element name="OriginatingAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="SubmissionAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:element> + <rng:element name="ArchivalAgency"> + <rng:element name="Identifier"> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="TransferringAgency"> + <rng:element name="Identifier"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:start> +</rng:grammar> diff --git a/api/api-pastis/pastis/src/main/resources/xsd/full.xsd b/api/api-pastis/pastis/src/main/resources/xsd/full.xsd new file mode 100644 index 000000000..25093a9d1 --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/xsd/full.xsd @@ -0,0 +1,188 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:structure="http://relaxng.org/ns/structure/1.0" + elementFormDefault="qualified" + targetNamespace="http://relaxng.org/ns/structure/1.0"> + <!-- Grammar --> + <xs:element name="grammar"> + <xs:complexType> + <xs:sequence> + <xs:element ref="structure:start"/> + <xs:element maxOccurs="unbounded" ref="structure:define"/> + </xs:sequence> + <xs:attribute name="datatypeLibrary" use="required" type="xs:anyURI"/> + <xs:attribute name="ns" use="required" type="xs:anyURI"/> + </xs:complexType> + </xs:element> + + <!-- Defines the start element --> + <xs:element name="start"> + <xs:complexType> + <xs:sequence> + <xs:element ref="structure:element"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + + <!-- Defines the define element --> + <xs:element name="define"> + <xs:complexType> + <xs:sequence> + <xs:choice minOccurs="0"> + <xs:element ref="structure:choice"/> + <xs:element ref="structure:cardinality"/> + </xs:choice> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="structure:optional"/> + <xs:choice minOccurs="0"> + <xs:element ref="structure:element"/> + <xs:element ref="structure:zeroOrMore"/> + </xs:choice> + </xs:sequence> + <xs:attribute name="name" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + + <!-- Defines an utilitary ref element to refer to other elements --> + <xs:element name="ref"> + <xs:complexType> + <xs:attribute name="name" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + <xs:element name="choice"> + <xs:complexType> + <xs:choice> + <xs:choice maxOccurs="unbounded"> + <xs:element ref="structure:attribute"/> + <xs:element ref="structure:element"/> + <xs:element ref="structure:ref"/> + <xs:element ref="structure:text"/> + </xs:choice> + <xs:element maxOccurs="unbounded" ref="structure:value"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="value" type="xs:NCName"/> + + <!-- Cardinality --> + <xs:element name="cardinality"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="structure:ref"/> + <xs:choice minOccurs="0"> + <xs:element ref="structure:optional"/> + <xs:element ref="structure:zeroOrMore"/> + <xs:element ref="structure:group"/> + <xs:element ref="structure:oneOrMore"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- Group --> + <xs:element name="group"> + <xs:complexType> + <xs:sequence> + <xs:element ref="structure:zeroOrMore"/> + <xs:element ref="structure:optional"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- OneOrMore --> + <xs:element name="oneOrMore"> + <xs:complexType> + <xs:sequence> + <xs:element ref="structure:ref"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="optional"> + <xs:complexType> + <xs:choice> + <xs:element ref="structure:attribute"/> + <xs:element ref="structure:element"/> + <xs:element ref="structure:ref"/> + </xs:choice> + </xs:complexType> + </xs:element> + + + <!-- Element defintion --> + <xs:element name="element"> + <xs:complexType> + <xs:sequence minOccurs="0"> + <xs:element minOccurs="0" ref="structure:anyName"/> + <xs:element minOccurs="0" ref="structure:attribute"/> + <xs:element minOccurs="0" ref="structure:choice"/> + <xs:element minOccurs="0" ref="structure:cardinality"/> + <xs:choice minOccurs="0"> + <xs:element ref="structure:data"/> + <xs:element ref="structure:text"/> + </xs:choice> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="structure:element"/> + </xs:sequence> + <xs:attribute name="name" type="xs:NCName"/> + </xs:complexType> + + <!-- ZeroOrMore --> + </xs:element> + <xs:element name="zeroOrMore"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="structure:attribute"/> + <xs:element minOccurs="0" ref="structure:element"/> + <xs:element minOccurs="0" ref="structure:choice"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- Attribute --> + <xs:element name="attribute"> + <xs:complexType> + <xs:choice minOccurs="0"> + <xs:element ref="structure:anyName"/> + <xs:element ref="structure:choice"/> + <xs:element ref="structure:data"/> + </xs:choice> + <xs:attribute name="name" type="xs:NCName"/> + </xs:complexType> + + </xs:element> + <!-- Text --> + <xs:element name="text"> + <xs:complexType/> + </xs:element> + + <!-- AnyName --> + <xs:element name="anyName"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="structure:except"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- Except --> + <xs:element name="except"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="structure:nsName"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- nsName --> + <xs:element name="nsName"> + <xs:complexType> + <xs:attribute name="ns"/> + </xs:complexType> + </xs:element> + + <!-- Data --> + <xs:element name="data"> + <xs:complexType> + <xs:attribute name="type" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> +</xs:schema> diff --git a/api/api-pastis/pastis/src/main/resources/xsd/full_last.xsd b/api/api-pastis/pastis/src/main/resources/xsd/full_last.xsd new file mode 100644 index 000000000..5f4c2b043 --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/xsd/full_last.xsd @@ -0,0 +1,187 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:structure="http://relaxng.org/ns/structure/1.0" + elementFormDefault="qualified" + targetNamespace="http://relaxng.org/ns/structure/1.0" +> + + <!-- Grammar --> + <xs:element name="grammar"> + <xs:complexType> + <xs:sequence> + <xs:element ref="structure:start"/> + <xs:element maxOccurs="unbounded" ref="structure:define"/> + </xs:sequence> + <xs:attribute name="datatypeLibrary" use="required" type="xs:anyURI"/> + <xs:attribute name="ns" use="required" type="xs:anyURI"/> + </xs:complexType> + </xs:element> + + <xs:element name="define"> + <xs:complexType> + <xs:sequence> + <xs:choice minOccurs="0"> + <xs:element ref="structure:choice"/> + <xs:element ref="structure:interleave"/> + </xs:choice> + <xs:element minOccurs="0" maxOccurs="unbounded" name="optional" type="structure:optional"/> + <xs:choice minOccurs="0"> + <xs:element name="children" type="structure:element"/> + <xs:element name="zeroOrMore" type="structure:zeroOrMore"/> + </xs:choice> + </xs:sequence> + <xs:attribute name="name" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + + + <xs:element name="interleave"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="structure:ref"/> + <xs:choice minOccurs="0"> + <xs:element name="optional" type="structure:optional"/> + <xs:element name="zeroOrMore" type="structure:zeroOrMore"/> + <xs:element name="oneOrMore" type="structure:oneOrMore"/> + <xs:element ref="structure:group"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- Defines the start element --> + <xs:element name="start"> + <xs:complexType> + <xs:sequence> + <xs:element name="element" minOccurs="1" type="structure:element"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- Element defintion --> + <xs:complexType name="element"> + <xs:sequence> + <xs:element minOccurs="0" ref="structure:anyName"/> + <xs:element minOccurs="0" name="attribute" type="structure:attribute"/> + <xs:element minOccurs="0" ref="structure:choice"/> + <xs:element minOccurs="0" name="oneOrMore" type="structure:oneOrMore"/> + <xs:element minOccurs="0" name="zeroOrMore" type="structure:zeroOrMore"/> + <xs:element minOccurs="0" name="optional" type="structure:optional"/> + <xs:element minOccurs="0" maxOccurs="unbounded" name="element" type="structure:element"/> + <xs:choice minOccurs="0"> + <xs:element ref="structure:data"/> + <xs:element ref="structure:text"/> + </xs:choice> + </xs:sequence> + <xs:attribute name="name" type="xs:NCName"/> + </xs:complexType> + + <!-- Defines the define element --> + + + <!-- Defines an utilitary ref element to refer to other elements --> + <xs:element name="ref"> + <xs:complexType> + <xs:attribute name="name" use="required" + type="xs:NCName"/> + </xs:complexType> + </xs:element> + + <!-- Choice --> + <xs:element name="choice"> + <xs:complexType> + <xs:choice> + <xs:choice maxOccurs="unbounded"> + <xs:element name="attribute" type="structure:attribute"/> + <xs:element name="element" type="structure:element"/> + <xs:element ref="structure:ref"/> + <xs:element ref="structure:text"/> + </xs:choice> + <xs:element maxOccurs="unbounded" ref="structure:value"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="value" type="xs:NCName"/> + + + <!-- Group --> + <xs:element name="group"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="structure:element"/> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <!-- One or More --> + <xs:complexType name="oneOrMore"> + <xs:complexContent> + <xs:extension base="structure:element"/> + </xs:complexContent> + </xs:complexType> + + <!-- Zero or More --> + <xs:complexType name="zeroOrMore"> + <xs:complexContent> + <xs:extension base="structure:element"/> + </xs:complexContent> + </xs:complexType> + + <!-- Optional --> + <xs:complexType name="optional"> + <xs:complexContent> + <xs:extension base="structure:element"/> + </xs:complexContent> + </xs:complexType> + + + <!-- Attribute --> + <xs:complexType name="attribute"> + <xs:complexContent> + <xs:extension base="structure:element"> + <!-- <xs:choice minOccurs="0"> <xs:element ref="structure:anyName" /> <xs:element + ref="structure:choice" /> <xs:element ref="structure:data" /> </xs:choice> --> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + + <!-- Text --> + <xs:element name="text"> + <xs:complexType/> + </xs:element> + + <!-- AnyName --> + <xs:element name="anyName"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="structure:except"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- Except --> + <xs:element name="except"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="structure:nsName"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- nsName --> + <xs:element name="nsName"> + <xs:complexType> + <xs:attribute name="ns"/> + </xs:complexType> + </xs:element> + + <!-- Data --> + <xs:element name="data"> + <xs:complexType> + <xs:attribute name="type" use="required" + type="xs:NCName"/> + </xs:complexType> + </xs:element> + +</xs:schema> diff --git a/api/api-pastis/pastis/src/main/resources/xsd/full_test.xsd b/api/api-pastis/pastis/src/main/resources/xsd/full_test.xsd new file mode 100644 index 000000000..1a21bafd0 --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/xsd/full_test.xsd @@ -0,0 +1,214 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:structure="http://relaxng.org/ns/structure/1.0" + elementFormDefault="qualified" + targetNamespace="http://relaxng.org/ns/structure/1.0" +> + + <!-- Grammar --> + <xs:element name="grammar"> + <xs:complexType> + <xs:sequence> + <xs:element ref="structure:start"/> + <xs:element maxOccurs="unbounded" ref="structure:define"/> + </xs:sequence> + <xs:attribute name="datatypeLibrary" use="required" + type="xs:anyURI"/> + <xs:attribute name="ns" use="required" type="xs:anyURI"/> + </xs:complexType> + </xs:element> + + <xs:element name="define"> + <xs:complexType> + <xs:sequence> + <xs:choice minOccurs="0"> + <!--<xs:element name="choice" ref="structure:choice"/> --> + <xs:element ref="structure:interleave"/> + </xs:choice> + <xs:element minOccurs="0" maxOccurs="unbounded" + name="optional" type="structure:optional"/> + <xs:choice minOccurs="0"> + <xs:element name="children" type="structure:element"/> + <xs:element ref="structure:zeroOrMore"/> + </xs:choice> + </xs:sequence> + <xs:attribute name="name" use="required" + type="xs:NCName"/> + </xs:complexType> + </xs:element> + + + <xs:element name="interleave"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="structure:ref"/> + <xs:choice minOccurs="0"> + <xs:element name="optional" type="structure:optional"/> + <xs:element ref="structure:zeroOrMore"/> + <xs:element name="oneOrMore" type="structure:oneOrMore"/> + <xs:element ref="structure:group"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- Defines the start element --> + <xs:element name="start"> + <xs:complexType> + <xs:sequence> + <xs:element name="element" minOccurs="1" + type="structure:element"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- Element defintion --> + <xs:complexType name="element"> + <xs:sequence> + <xs:element minOccurs="0" name="anyName" + type="structure:anyName"/> + <xs:element minOccurs="0" name="nsName" + type="structure:nsName"/> + <xs:element minOccurs="0" name="except" + type="structure:except"/> + <xs:element minOccurs="0" name="attribute" + type="structure:attribute"/> + <xs:element minOccurs="0" ref="structure:choice"/> + <xs:element minOccurs="0" name="data" + type="structure:data"/> + <xs:element minOccurs="0" name="oneOrMore" + type="structure:oneOrMore"/> + <xs:element minOccurs="0" ref="structure:zeroOrMore"/> + <xs:element minOccurs="0" name="optional" + type="structure:optional"/> + <xs:element ref="structure:text"/> + <xs:element minOccurs="0" maxOccurs="unbounded" + name="element" type="structure:element"/> + </xs:sequence> + <xs:attribute name="name" type="xs:NCName"/> + </xs:complexType> + + <!-- Defines the define element --> + + + <!-- Defines an utilitary ref element to refer to other elements --> + <xs:element name="ref"> + <xs:complexType> + <xs:attribute name="name" use="required" + type="xs:NCName"/> + </xs:complexType> + </xs:element> + + <!-- Choice --> + <xs:element name="choice"> + <xs:complexType> + <xs:choice> + <xs:choice maxOccurs="unbounded"> + <xs:element name="attribute" type="structure:attribute"/> + <xs:element name="element" type="structure:element"/> + <xs:element ref="structure:ref"/> + <xs:element ref="structure:text"/> + </xs:choice> + <xs:element maxOccurs="unbounded" ref="structure:value"/> + </xs:choice> + </xs:complexType> + </xs:element> + + <xs:element name="value" type="xs:NCName"/> + + + <!-- Group --> + <xs:element name="group"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="structure:element"/> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <!-- One or More --> + <xs:complexType name="oneOrMore"> + <xs:complexContent> + <xs:extension base="structure:element"/> + </xs:complexContent> + </xs:complexType> + + <!-- Zero or More --> + <xs:element name="zeroOrMore"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="structure:element"/> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <!-- Optional --> + <xs:complexType name="optional"> + <xs:complexContent> + <xs:extension base="structure:element"/> + </xs:complexContent> + </xs:complexType> + + + <!-- Attribute --> + <xs:complexType name="attribute"> + <xs:complexContent> + <xs:extension base="structure:element"> + <xs:choice minOccurs="0"> + <xs:element name="anyName" type="structure:anyName"/> + <xs:element name="data" type="structure:data"/> + </xs:choice> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + + <!-- Text --> + <xs:element name="text"> + <xs:complexType/> + </xs:element> + + <!-- AnyName --> + <xs:complexType name="anyName"> + <xs:complexContent> + <xs:extension base="structure:element"> + <xs:sequence> + <xs:element minOccurs="0" name="except" + type="structure:except"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- Except --> + <xs:complexType name="except"> + <xs:complexContent> + <xs:extension base="structure:element"> + <xs:sequence> + <xs:element minOccurs="0" name="nsName" + type="structure:nsName"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- nsName --> + <xs:complexType name="nsName"> + <xs:complexContent> + <xs:extension base="structure:element"> + <xs:attribute name="ns"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + + <!-- Data --> + <xs:complexType name="data"> + <xs:complexContent> + <xs:extension base="structure:element"> + <xs:attribute name="type" use="required" type="xs:NCName"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + +</xs:schema> diff --git a/api/api-pastis/pastis/src/main/resources/xsd/relaxng2.xsd b/api/api-pastis/pastis/src/main/resources/xsd/relaxng2.xsd new file mode 100644 index 000000000..fd7ccec3f --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/xsd/relaxng2.xsd @@ -0,0 +1,357 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- RELAX NG XML syntax specified in compact syntax. --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:rng="http://relaxng.org/ns/structure/1.0" + elementFormDefault="qualified" targetNamespace="http://relaxng.org/ns/structure/1.0"> + <xs:element name="pattern" abstract="true"/> + <xs:element name="element" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="rng:nameClass"/> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:pattern"/> + </xs:choice> + </xs:sequence> + <xs:attribute name="name" type="xs:QName"/> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="attribute" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="rng:nameClass"/> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:pattern"/> + </xs:choice> + </xs:sequence> + <xs:attribute name="name" type="xs:QName"/> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="interleave" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:pattern"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="optional" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:pattern"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="zeroOrMore" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:pattern"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="oneOrMore" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:pattern"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="list" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:pattern"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="mixed" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:pattern"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="ref" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:group ref="rng:common"/> + <xs:attributeGroup ref="rng:nameNCName"/> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="parentRef" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:group ref="rng:common"/> + <xs:attributeGroup ref="rng:nameNCName"/> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="empty" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:group ref="rng:common"/> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="notAllowed" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:group ref="rng:common"/> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="text" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:group ref="rng:common"/> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="data" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="rng:param"/> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:group ref="rng:exceptPattern"/> + </xs:choice> + </xs:sequence> + <xs:attributeGroup ref="rng:type"/> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="value" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attributeGroup ref="rng:commonAttributes"/> + <xs:attribute name="type" type="xs:NCName"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="externalRef" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:group ref="rng:common"/> + <xs:attributeGroup ref="rng:href"/> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="grammar" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:group ref="rng:grammarContent"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="param"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attributeGroup ref="rng:commonAttributes"/> + <xs:attributeGroup ref="rng:nameNCName"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:group name="exceptPattern"> + <xs:sequence> + <xs:element name="except"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:pattern"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:group> + <xs:group name="grammarContent"> + <xs:choice> + <xs:element ref="rng:definition"/> + <xs:element name="div"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:group ref="rng:grammarContent"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element ref="rng:include"/> + </xs:choice> + </xs:group> + <xs:element name="include"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:group ref="rng:includeContent"/> + </xs:choice> + <xs:attributeGroup ref="rng:href"/> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:group name="includeContent"> + <xs:choice> + <xs:element ref="rng:definition"/> + <xs:element name="div"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:group ref="rng:includeContent"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + </xs:choice> + </xs:group> + <xs:element name="definition" abstract="true"/> + <xs:element name="start" substitutionGroup="rng:definition"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:pattern"/> + </xs:choice> + <xs:attribute name="combine"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="choice"/> + <xs:enumeration value="interleave"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="define" substitutionGroup="rng:definition"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:pattern"/> + </xs:choice> + <xs:attributeGroup ref="rng:nameNCName"/> + <xs:attribute name="combine"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="choice"/> + <xs:enumeration value="interleave"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="combine"> + <xs:attribute name="combine" use="required"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="choice"/> + <xs:enumeration value="interleave"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:attributeGroup> + <xs:element name="nameClass" abstract="true"/> + <xs:element name="name" substitutionGroup="rng:nameClass"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:QName"> + <xs:attributeGroup ref="rng:commonAttributes"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="anyName" substitutionGroup="rng:nameClass"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:group ref="rng:exceptNameClass"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="nsName" substitutionGroup="rng:nameClass"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:group ref="rng:exceptNameClass"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="choice" substitutionGroup="rng:nameClass"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:nameClass"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:group name="exceptNameClass"> + <xs:sequence> + <xs:element name="except"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:nameClass"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:group> + <xs:attributeGroup name="nameQName"> + <xs:attribute name="name" use="required" type="xs:QName"/> + </xs:attributeGroup> + <xs:attributeGroup name="nameNCName"> + <xs:attribute name="name" use="required" type="xs:NCName"/> + </xs:attributeGroup> + <xs:attributeGroup name="href"> + <xs:attribute name="href" use="required" type="xs:anyURI"/> + </xs:attributeGroup> + <xs:attributeGroup name="type"> + <xs:attribute name="type" use="required" type="xs:NCName"/> + </xs:attributeGroup> + <xs:group name="common"> + <xs:sequence> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="rng:foreignElement"/> + </xs:sequence> + </xs:group> + <xs:attributeGroup name="common"> + <xs:attributeGroup ref="rng:commonAttributes"/> + </xs:attributeGroup> + <xs:attributeGroup name="commonAttributes"> + <xs:attribute name="ns" type="xs:string"/> + <xs:attribute name="datatypeLibrary" type="xs:anyURI"/> + <xs:attributeGroup ref="rng:foreignAttribute"/> + </xs:attributeGroup> + <xs:group name="foreignElement"> + <xs:choice> + <xs:any namespace="##other" processContents="skip"/> + <xs:any namespace="##local" processContents="skip"/> + </xs:choice> + </xs:group> + <xs:attributeGroup name="foreignAttribute"> + <xs:anyAttribute namespace="##other" processContents="skip"/> + </xs:attributeGroup> + <xs:group name="anyElement"> + <xs:sequence> + <xs:any processContents="skip"/> + </xs:sequence> + </xs:group> + <xs:attributeGroup name="anyAttribute"> + <xs:anyAttribute processContents="skip"/> + </xs:attributeGroup> +</xs:schema> diff --git a/api/api-pastis/pastis/src/main/resources/xsd/rng_cines.xsd b/api/api-pastis/pastis/src/main/resources/xsd/rng_cines.xsd new file mode 100644 index 000000000..2f84b106d --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/xsd/rng_cines.xsd @@ -0,0 +1,459 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:seda="fr:gouv:culture:archivesdefrance:seda:v2.1" + elementFormDefault="qualified" + targetNamespace="fr:gouv:culture:archivesdefrance:seda:v2.1"> + <xsd:element name="ArchiveTransfer"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:Comment"/> + <xsd:element ref="seda:Date"/> + <xsd:element ref="seda:MessageIdentifier"/> + <xsd:element ref="seda:ArchivalAgreement"/> + <xsd:element ref="seda:CodeListVersions"/> + <xsd:element ref="seda:DataObjectPackage"/> + <xsd:element ref="seda:ArchivalAgency"/> + <xsd:element ref="seda:TransferringAgency"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + <xsd:anyAttribute namespace="##other" processContents="skip"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="Comment" type="xsd:string"/> + <xsd:element name="Date" type="xsd:dateTime"/> + <xsd:element name="MessageIdentifier"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="schemeDataURI" type="xsd:anyURI"/> + <xsd:attribute name="schemeID" type="xsd:token"/> + <xsd:attribute name="schemeAgencyName" type="xsd:string"/> + <xsd:attribute name="schemeAgencyID" type="xsd:token"/> + <xsd:attribute name="schemeName" type="xsd:string"/> + <xsd:attribute name="schemeVersionID" type="xsd:token"/> + <xsd:attribute name="schemeURI" type="xsd:anyURI"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="ArchivalAgreement"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="schemeDataURI" type="xsd:anyURI"/> + <xsd:attribute name="schemeID" type="xsd:token"/> + <xsd:attribute name="schemeAgencyName" type="xsd:string"/> + <xsd:attribute name="schemeAgencyID" type="xsd:token"/> + <xsd:attribute name="schemeName" type="xsd:string"/> + <xsd:attribute name="schemeVersionID" type="xsd:token"/> + <xsd:attribute name="schemeURI" type="xsd:anyURI"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="CodeListVersions"> + <xsd:complexType> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="DataObjectPackage"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:DataObjectGroup"/> + <xsd:element ref="seda:DescriptiveMetadata"/> + <xsd:element ref="seda:ManagementMetadata"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="DataObjectGroup"> + <xsd:complexType> + <xsd:sequence> + <xsd:element minOccurs="0" maxOccurs="unbounded" ref="seda:BinaryDataObject"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="BinaryDataObject"> + <xsd:complexType> + <xsd:sequence> + <xsd:element minOccurs="0" ref="seda:DataObjectGroupId"/> + <xsd:element minOccurs="0" ref="seda:DataObjectVersion"/> + <xsd:element minOccurs="0" ref="seda:Uri"/> + <xsd:element ref="seda:MessageDigest"/> + <xsd:element ref="seda:Size"/> + <xsd:element ref="seda:FormatIdentification"/> + <xsd:element ref="seda:FileInfo"/> + <xsd:element minOccurs="0" ref="seda:Metadata"/> + </xsd:sequence> + <xsd:attribute name="id" use="required" type="xsd:ID"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="DataObjectGroupId" type="xsd:token"/> + <xsd:element name="DataObjectVersion" type="xsd:token"/> + <xsd:element name="Uri" type="xsd:anyURI"/> + <xsd:element name="MessageDigest"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:restriction base="xsd:anyType"> + <xsd:simpleType> + <xsd:union memberTypes="xsd:base64Binary xsd:hexBinary"/> + </xsd:simpleType> + <xsd:attribute name="algorithm" use="required" type="xsd:token"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Size" type="xsd:positiveInteger"/> + <xsd:element name="FormatIdentification"> + <xsd:complexType> + <xsd:sequence> + <xsd:element minOccurs="0" ref="seda:FormatLitteral"/> + <xsd:element minOccurs="0" ref="seda:FormatId"/> + <xsd:element minOccurs="0" ref="seda:Encoding"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="FormatLitteral" type="xsd:string"/> + <xsd:element name="FormatId" type="xsd:token"/> + <xsd:element name="Encoding" type="xsd:token"/> + <xsd:element name="FileInfo"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:Filename"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="Filename" type="xsd:string"/> + <xsd:element name="Metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element minOccurs="0" ref="seda:Video"/> + <xsd:element minOccurs="0" ref="seda:Audio"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="Video"> + <xsd:simpleType> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value=""/> + </xsd:restriction> + </xsd:simpleType> + </xsd:element> + <xsd:element name="Audio"> + <xsd:simpleType> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value=""/> + </xsd:restriction> + </xsd:simpleType> + </xsd:element> + <xsd:element name="DescriptiveMetadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element minOccurs="0" maxOccurs="unbounded" ref="seda:ArchiveUnit"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="ArchiveUnit"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:Management"/> + <xsd:sequence> + <xsd:element ref="seda:Content"/> + <xsd:element minOccurs="0" ref="seda:DataObjectReference"/> + </xsd:sequence> + </xsd:sequence> + <xsd:attribute name="id" use="required" type="xsd:ID"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="Management"> + <xsd:complexType> + <xsd:sequence> + <xsd:element minOccurs="0" ref="seda:UpdateOperation"/> + <xsd:element minOccurs="0" ref="seda:AppraisalRule"/> + <xsd:element minOccurs="0" ref="seda:AccessRule"/> + <xsd:element minOccurs="0" ref="seda:DisseminationRule"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="UpdateOperation"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:ArchiveUnitIdentifierKey"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="ArchiveUnitIdentifierKey"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:MetadataName"/> + <xsd:element ref="seda:MetadataValue"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="MetadataName" type="xsd:token"/> + <xsd:element name="MetadataValue" type="xsd:token"/> + <xsd:element name="AppraisalRule"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:Rule"/> + <xsd:element name="StartDate" type="xsd:date"/> + <xsd:element ref="seda:FinalAction"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="Rule"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="FinalAction" type="xsd:token"/> + <xsd:element name="AccessRule"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:Rule"/> + <xsd:element name="StartDate" type="xsd:date"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="DisseminationRule"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:Rule"/> + <xsd:element name="StartDate" type="xsd:date"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="Content"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:DescriptionLevel"/> + <xsd:element maxOccurs="unbounded" ref="seda:Title"/> + <xsd:element minOccurs="0" ref="seda:FilePlanPosition"/> + <xsd:element minOccurs="0" ref="seda:OriginatingAgencyArchiveUnitIdentifier"/> + <xsd:element minOccurs="0" ref="seda:TransferringAgencyArchiveUnitIdentifier"/> + <xsd:element minOccurs="0" ref="seda:Description"/> + <xsd:element minOccurs="0" ref="seda:CustodialHistory"/> + <xsd:element ref="seda:Type"/> + <xsd:element maxOccurs="unbounded" ref="seda:Language"/> + <xsd:element minOccurs="0" ref="seda:DescriptionLanguage"/> + <xsd:element minOccurs="0" maxOccurs="unbounded" ref="seda:Tag"/> + <xsd:element minOccurs="0" maxOccurs="unbounded" ref="seda:Keyword"/> + <xsd:element minOccurs="0" ref="seda:OriginatingAgency"/> + <xsd:element minOccurs="0" ref="seda:SubmissionAgency"/> + <xsd:element name="StartDate"> + <xsd:simpleType> + <xsd:union memberTypes="xsd:date xsd:dateTime"/> + </xsd:simpleType> + </xsd:element> + <xsd:element ref="seda:EndDate"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="DescriptionLevel" type="xsd:token"/> + <xsd:element name="Title"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute name="lang" type="xsd:language"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="FilePlanPosition" type="xsd:token"/> + <xsd:element name="OriginatingAgencyArchiveUnitIdentifier" type="xsd:token"/> + <xsd:element name="TransferringAgencyArchiveUnitIdentifier" type="xsd:token"/> + <xsd:element name="Description"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute name="lang" type="xsd:language"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="CustodialHistory"> + <xsd:complexType> + <xsd:sequence> + <xsd:element maxOccurs="unbounded" ref="seda:CustodialHistoryItem"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="CustodialHistoryItem" type="xsd:string"/> + <xsd:element name="Type" type="xsd:string"/> + <xsd:element name="Language" type="xsd:language"/> + <xsd:element name="DescriptionLanguage" type="xsd:language"/> + <xsd:element name="Tag" type="xsd:token"/> + <xsd:element name="Keyword"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:KeywordContent"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="KeywordContent" type="xsd:string"/> + <xsd:element name="OriginatingAgency"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Identifier" type="xsd:string"/> + <xsd:element name="OrganizationDescriptiveMetadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Name" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="SubmissionAgency"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Identifier"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute name="schemeName"> + <xsd:simpleType> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="SIRET"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:attribute> + <xsd:attribute name="schemeAgencyName"> + <xsd:simpleType> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="INSEE"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:attribute> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="OrganizationDescriptiveMetadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Name" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="EndDate"> + <xsd:simpleType> + <xsd:union memberTypes="xsd:date xsd:dateTime"/> + </xsd:simpleType> + </xsd:element> + <xsd:element name="DataObjectReference"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:DataObjectReferenceId"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="DataObjectReferenceId" type="xsd:NCName"/> + <xsd:element name="ManagementMetadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:ArchivalProfile"/> + <xsd:element minOccurs="0" ref="seda:AppraisalRule"/> + <xsd:element minOccurs="0" ref="seda:AccessRule"/> + <xsd:element minOccurs="0" ref="seda:DisseminationRule"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="ArchivalProfile" type="xsd:token"/> + <xsd:element name="ArchivalAgency"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Identifier"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:restriction base="xsd:anyType"> + <xsd:simpleType> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="19341594000017"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:attribute name="schemeName" use="required"> + <xsd:simpleType> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="SIRET"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:attribute> + <xsd:attribute name="schemeAgencyName" use="required"> + <xsd:simpleType> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="INSEE"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:attribute> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="OrganizationDescriptiveMetadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Name"> + <xsd:simpleType> + <xsd:restriction base="xsd:token"> + <xsd:enumeration + value="Centre Informatique National de l'Enseignement Supérieur"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="TransferringAgency"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Identifier"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="schemeName" use="required"> + <xsd:simpleType> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="SIRET"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:attribute> + <xsd:attribute name="schemeAgencyName" use="required"> + <xsd:simpleType> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="INSEE"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:attribute> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="OrganizationDescriptiveMetadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Name" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:group name="OpenType"> + <xsd:sequence> + <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/> + </xsd:sequence> + </xsd:group> +</xsd:schema> diff --git a/api/api-pastis/pastis/src/main/resources/xsd/vitam.xsd b/api/api-pastis/pastis/src/main/resources/xsd/vitam.xsd new file mode 100644 index 000000000..dbd0638ca --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/xsd/vitam.xsd @@ -0,0 +1,1589 @@ +<?xml version="1.0" encoding="UTF-8"?> + + +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" + attributeFormDefault="unqualified" version="1.0"> + + <!-- mon profil de matrice V2 --> + <xsd:element name="Identifier" type="xsd:string"/> + + <!-- definition de ArchiveTransfer et de ses enfants directs : + Comment, Date, MessageIdentifier, ArchivalAgreement, CodeListVersions, DataObjectPackage, ArchivalAgency, TransferringAgency --> + <xsd:element name="ArchiveTransfer"> + <xsd:complexType> + <xsd:sequence> + <!-- ArchiveTransfer / Comment --> + <xsd:element name="Comment" minOccurs="1" + fixed="Matrice cadastrale numérique"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / Date --> + <xsd:element name="Date" minOccurs="1"><!-- valeur date obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:dateTime"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / MessageIdentifier --> + <xsd:element name="MessageIdentifier" minOccurs="1"><!-- valeur obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="schemeDataURI" type="xsd:anyURI" use="optional"/> + <xsd:attribute name="schemeID" type="xsd:token" use="optional"/> + <xsd:attribute name="schemeAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="schemeAgencyID" type="xsd:token" use="optional"/> + <xsd:attribute name="schemeName" type="xsd:string" use="optional"/> + <xsd:attribute name="schemeVersionID" type="xsd:token" + use="optional"/> + <xsd:attribute name="schemeURI" type="xsd:anyURI" use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / ArchivalAgreement --> + <xsd:element name="ArchivalAgreement" fixed="ArchivalAgreement0" + minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions --> + <xsd:element name="CodeListVersions" minOccurs="1"> + <xsd:complexType> + <xsd:sequence> + <!-- ArchiveTransfer / CodeListVersions / ReplyCodeListVersion --> + <xsd:element name="ReplyCodeListVersion" fixed="ReplyCodeListVersion0" + minOccurs="1"><!-- valeur textuelle fixe obligatoire - A RAJOUTER : RENDRE UNIQUE --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / MessageDigestAlgorithmCodeListVersion --> + <xsd:element name="MessageDigestAlgorithmCodeListVersion" + fixed="MessageDigestAlgorithmCodeListVersion0" + minOccurs="1"><!-- valeur textuelle fixe obligatoire - A RAJOUTER : RENDRE UNIQUE --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / MimeTypeCodeListVersion --> + <xsd:element name="MimeTypeCodeListVersion" + fixed="MimeTypeCodeListVersion0" + minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / EncodingCodeListVersion --> + <xsd:element name="EncodingCodeListVersion" + fixed="EncodingCodeListVersion0" + minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / FileFormatCodeListVersion --> + <xsd:element name="FileFormatCodeListVersion" + fixed="FileFormatCodeListVersion0" + minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / CompressionAlgorithmCodeListVersion --> + <xsd:element name="CompressionAlgorithmCodeListVersion" + fixed="CompressionAlgorithmCodeListVersion0" + minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / DataObjectVersionCodeListVersion --> + <xsd:element name="DataObjectVersionCodeListVersion" + fixed="DataObjectVersionCodeListVersion0" + minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / StorageRuleCodeListVersion --> + <xsd:element name="StorageRuleCodeListVersion" + fixed="StorageRuleCodeListVersion0" + minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / AppraisalRuleCodeListVersion --> + <xsd:element name="AppraisalRuleCodeListVersion" + fixed="AppraisalRuleCodeListVersion0" + minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / AccessRuleCodeListVersion --> + <xsd:element name="AccessRuleCodeListVersion" + fixed="AccessRuleCodeListVersion0" + minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / DisseminationRuleCodeListVersion --> + <xsd:element name="DisseminationRuleCodeListVersion" + fixed="DisseminationRuleCodeListVersion0" + minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / ReuseRuleCodeListVersion --> + <xsd:element name="ReuseRuleCodeListVersion" + fixed="ReuseRuleCodeListVersion0" + minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / ClassificationRuleCodeListVersion --> + <xsd:element name="ClassificationRuleCodeListVersion" + fixed="ClassificationRuleCodeListVersion0" + minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / AuthorizationReasonCodeListVersion --> + <xsd:element name="AuthorizationReasonCodeListVersion" + fixed="AuthorizationReasonCodeListVersion0" + minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / RelationshipCodeListVersion --> + <xsd:element name="RelationshipCodeListVersion" + fixed="RelationshipCodeListVersion0" + minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID" use="optional"/> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveTransfer / DataObjectPackage --> + <xsd:element name="DataObjectPackage"> + <xsd:complexType> + <xsd:sequence> + <!-- ArchiveTransfer / DataObjectPackage / BinaryDataObject 1 --> + <xsd:element name="BinaryDataObject"> + <xsd:complexType> + <xsd:sequence> + + <!-- DataObjectGroupReferenceId --> + <xsd:element name="DataObjectGroupReferenceId" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/><!-- erreur possible dans la declaration de cet element --> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- DataObjectGroupId --> + <xsd:element name="DataObjectGroupId" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- DataObjectVersion --> + <xsd:element name="DataObjectVersion" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <xsd:choice> + + <!-- Uri --> + <xsd:element name="Uri" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:anyURI"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- Attachement --> + <xsd:element name="Attachement" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="uri" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="filename" type="xsd:string" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + </xsd:element> + + </xsd:choice> + + <!-- message digest --> + <xsd:element name="MessageDigest" minOccurs="1"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:base64Binary"> + <xsd:attribute name="algorithm" type="xsd:token" + use="required"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- size --> + <xsd:element name="Size" minOccurs="1"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:positiveInteger"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- Compressed --> + <xsd:element minOccurs="0" name="Compressed" + fixed="xsd:boolean"> <!-- a revoir, car je ne suis pas sure qu'il faut le declarer ainsi--> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="algorithm" type="xsd:token" + use="optional"/> + <xsd:attribute name="uncompressedSize" + type="xsd:positiveInteger" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- format identification --> + <xsd:element name="FormatIdentification" minOccurs="1"> + <xsd:complexType> + <xsd:sequence> + <!-- format identification / format litteral --> + <xsd:element minOccurs="1" name="FormatLitteral" + fixed="Open Document Texte"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- format identification / mime type --> + <xsd:element name="MimeType"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- format identification / format id --> + <xsd:element minOccurs="1" name="FormatId" + fixed="fmt/135"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <!-- file info --> + <xsd:element name="FileInfo"> + <xsd:complexType> + <xsd:sequence> + <!-- FileInfo / file name --> + <xsd:element name="Filename" minOccurs="1" + fixed="BAT_a_jour.odt"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- FileInfo / creating application name --> + <xsd:element minOccurs="1" + name="CreatingApplicationName" fixed="Majic 3"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- FileInfo / CreatingApplicationVersion --> + <xsd:element minOccurs="0" + name="CreatingApplicationVersion"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- FileInfo / DateCreatedByApplication --> + <xsd:element minOccurs="0" + name="DateCreatedByApplication"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:dateTime"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- FileInfo / creating os --> + <xsd:element minOccurs="0" + name="CreatingOs"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- FileInfo / CreatingOsVersion --> + <xsd:element minOccurs="0" + name="CreatingOsVersion"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- FileInfo / LastModified --> + <xsd:element minOccurs="0" name="LastModified"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:dateTime"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <!-- Metadata --> + <xsd:element minOccurs="0" name="Metadata"> + <xsd:complexType> + <xsd:choice> + <xsd:element minOccurs="0" name="Audio"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element minOccurs="0" name="Document"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element minOccurs="0" name="Image"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element minOccurs="0" name="Text"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element minOccurs="0" name="Video"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + + </xsd:element> + + <!-- OtherMetadata --> + <xsd:element minOccurs="0" name="OtherMetadata"><!-- attributs a ajouter --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- Relationship --> + <xsd:element minOccurs="0" name="Relationship"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="target" type="xsd:string" + use="optional"/> + <xsd:attribute name="type" type="xsd:string" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + </xsd:sequence> + + <xsd:attribute name="id" type="xsd:ID" use="required"/> + </xsd:complexType> + </xsd:element><!-- fin de binary --> + + <!-- ArchiveTransfer / DataObjectPackage / DescriptiveMetadata --> + + <xsd:element name="DescriptiveMetadata"> + <xsd:complexType> + <xsd:sequence> + <!-- ArchiveTransfer / DataObjectPackage / DescriptiveMetadata / ArchiveUnit --> + <xsd:element name="ArchiveUnit"> + <xsd:complexType> + <xsd:sequence> + <!-- 4 sous-elements : + ArchiveUnitRefId, ArchiveUnitProfile, Content, Management + --> + + <!-- ArchiveUnit / ArchiveUnitRefId --> + <!-- ArchiveUnit / ArchiveUnitProfile --> + <!-- ArchiveUnit / Management --> + + <!-- ArchiveUnit / Content --> + <xsd:element maxOccurs="unbounded" name="Content"> + <xsd:complexType> + <xsd:sequence> + + <!-- ArchiveUnit / Content / DescriptionLevel --> + <xsd:element name="DescriptionLevel" + fixed="RecordGrp"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / Title --> + <xsd:element name="Title" + fixed="Versement de la matrice cadastrale numérique"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / FilePlanPosition --> + <xsd:element minOccurs="0" name="FilePlanPosition"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / SystemId --> + <xsd:element minOccurs="0" name="SystemId"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / OriginatingSystemId --> + <xsd:element minOccurs="0" + name="OriginatingSystemId"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / ArchivalAgencyArchiveUnitIdentifier --> + <xsd:element minOccurs="0" + name="ArchivalAgencyArchiveUnitIdentifier"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / Description --> + <xsd:element name="Description" + fixed="Matrice cadastrale des communes du département."> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / CustodialHistory --> + <xsd:element minOccurs="0" name="CustodialHistory"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="CustodialHistoryItem" + fixed="Les données ont été récupérées par le SIAF à la DGFIP en 2010, retravaillées et documentées par le SIAF pour versement aux Archives départementales avec les applications de conversion et de visualisation." + ></xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / Type --> + <xsd:element name="Type" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / DocumentType --> + <xsd:element name="DocumentType" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / Language --> + <xsd:element name="Language" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:language"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / DescriptionLanguage --> + <xsd:element name="DescriptionLanguage" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / Status --> + <xsd:element name="Status" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / Version --> + <xsd:element name="Version" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / Tag --> + <xsd:element name="Tag" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / Keyword --> + <xsd:element name="Keyword"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="KeywordContent" + fixed="matrice cadastrale"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="KeywordReference" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="KeywordType" + fixed="subject"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute + fixed="edition 2009" + name="listVersionID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID" + use="optional"/> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / Coverage et enfants --> + <xsd:element name="Coverage" minOccurs="0"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Spatial" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Temporal" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Juridictional" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID" + use="optional"/> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / OriginatingAgency --> + <xsd:element name="OriginatingAgency"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Identifier" + fixed="FRAN_NP_009734"> + <xsd:simpleType> + <xsd:restriction base="xsd:string"> + </xsd:restriction> + </xsd:simpleType> + </xsd:element> + <xsd:element + name="OrganizationDescriptiveMetadata" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / SubmissionAgency --> + <xsd:element name="SubmissionAgency" minOccurs="0"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Identifier" + minOccurs="0"> + <xsd:simpleType> + <xsd:restriction base="xsd:string"> + </xsd:restriction> + </xsd:simpleType> + </xsd:element> + <xsd:element + name="OrganizationDescriptiveMetadata" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / AuthorizedAgent --> + <xsd:element minOccurs="0" name="AuthorizedAgent"> + <xsd:complexType> + + <xsd:sequence> + <xsd:choice> + <xsd:sequence> + <xsd:element + name="Corpname" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + <xsd:sequence> + <xsd:element name="FirstName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="GivenName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Gender" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthDate" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:date"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthPlace" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="DeathDate" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:date"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="DeathPlace" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Nationality" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:choice> + <xsd:element ref="Identifier" + minOccurs="0"></xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element><!-- fin d'authorized agent --> + + <!-- ArchiveUnit / Content / Writer --> + <xsd:element minOccurs="0" name="Writer"> + <xsd:complexType> + + <xsd:sequence> + <xsd:choice> + <xsd:sequence> + <xsd:element + name="Corpname" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + <xsd:sequence> + <xsd:element name="FirstName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="GivenName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Gender" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthDate" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:date"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthPlace" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="DeathDate" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:date"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="DeathPlace" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Nationality" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:choice> + <xsd:element ref="Identifier" + minOccurs="0"></xsd:element> + <!-- business et ses 4 sous-elements ??????? --> + </xsd:sequence> + </xsd:complexType> + </xsd:element><!-- fin de writer --> + + <!-- ArchiveUnit / Content / Adressee --> + <xsd:element minOccurs="0" name="Adressee"> + <xsd:complexType> + + <xsd:sequence> + <xsd:choice> + <xsd:sequence> + <xsd:element + name="Corpname" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + <xsd:sequence> + <xsd:element name="FirstName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="GivenName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Gender" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthDate" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:date"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthPlace" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="DeathDate" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:date"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="DeathPlace" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Nationality" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:choice> + <xsd:element ref="Identifier" + minOccurs="0"></xsd:element> + + </xsd:sequence> + </xsd:complexType> + </xsd:element><!-- fin de Adressee --> + + <!-- ArchiveUnit / Content / Recipient --> + <xsd:element minOccurs="0" name="Recipient"> + <xsd:complexType> + + <xsd:sequence> + <xsd:choice> + <xsd:sequence> + <xsd:element + name="Corpname" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + <xsd:sequence> + <xsd:element name="FirstName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="GivenName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Gender" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthDate" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:date"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthPlace" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="DeathDate" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:date"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="DeathPlace" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Nationality" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension + base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:choice> + <xsd:element ref="Identifier" + minOccurs="0"></xsd:element> + + </xsd:sequence> + </xsd:complexType> + </xsd:element><!-- fin de Recipient --> + + <!-- ArchiveUnit / Content / Source --> + <xsd:element + name="Source" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / RelatedObjectReference --> + <xsd:element minOccurs="0" + name="RelatedObjectReference"/> + + <!-- ArchiveUnit / Content / CreatedDate --> + <xsd:element minOccurs="0" name="CreatedDate"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:dateTime"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveUnit / Content / TransactedDate --> + <xsd:element minOccurs="0" name="TransactedDate"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:dateTime"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveUnit / Content / AcquiredDate --> + <xsd:element minOccurs="0" name="AcquiredDate"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:dateTime"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveUnit / Content / SentDate --> + <xsd:element minOccurs="0" name="SentDate"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:dateTime"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveUnit / Content / ReceivedDate --> + <xsd:element minOccurs="0" name="ReceivedDate"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:dateTime"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveUnit / Content / RegisteredDate --> + <xsd:element minOccurs="0" name="RegisteredDate"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:dateTime"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveUnit / Content / StartDate --> + <xsd:element minOccurs="0" name="StartDate"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:dateTime"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveUnit / Content / EndDate --> + <xsd:element minOccurs="0" name="EndDate"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:dateTime"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + + </xsd:sequence> + </xsd:complexType> + </xsd:element><!-- fin de content --> + + + </xsd:sequence> + </xsd:complexType> + </xsd:element><!-- fin de archive unit --> + </xsd:sequence> + </xsd:complexType> + </xsd:element><!-- fin de descriptive metadata --> + + + <!-- ArchiveTransfer / DataObjectPackage / ManagementMetadata --> + + + </xsd:sequence> + + <xsd:attribute name="id" type="xsd:ID" use="required"/><!-- DataObjetPackage necessite un ID --> + </xsd:complexType> + + </xsd:element><!-- fin DataObjectPackage --> + + <!-- ArchiveTransfer / ArchivalAgency --> + <xsd:element name="ArchivalAgency"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Identifier" fixed="Identifier4"> + <xsd:simpleType> + <xsd:restriction base="xsd:string"> + <!-- enumeration avec valeur ? --> + </xsd:restriction> + </xsd:simpleType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveTransfer / TransferringAgency --> + <xsd:element name="TransferringAgency"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Identifier" fixed="Identifier5"> + <xsd:simpleType> + <xsd:restriction base="xsd:string"> + <!-- enumeration avec valeur ? --> + </xsd:restriction> + </xsd:simpleType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + + </xsd:sequence> + </xsd:complexType> + + </xsd:element> + + +</xsd:schema> diff --git a/api/api-pastis/pastis/src/main/resources/xsd_validation/catalog.xml b/api/api-pastis/pastis/src/main/resources/xsd_validation/catalog.xml new file mode 100644 index 000000000..e83b22f71 --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/xsd_validation/catalog.xml @@ -0,0 +1,7 @@ +<?xml version="1.0"?> +<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"> + <!-- This will redirect the namespace URI to the local schema file, which + should be found in the same directory as the catalog.xml --> + <uri name="http://www.w3.org/XML/1998/namespace" uri="xml.xsd"/> + <uri name="http://www.w3.org/1999/xlink" uri="xlink.xsd"/> +</catalog> diff --git a/api/api-pastis/pastis/src/main/resources/xsd_validation/xlink.xsd b/api/api-pastis/pastis/src/main/resources/xsd_validation/xlink.xsd new file mode 100644 index 000000000..66c918bab --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/xsd_validation/xlink.xsd @@ -0,0 +1,277 @@ +<?xml version='1.0' encoding='UTF-8'?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xlink="http://www.w3.org/1999/xlink" targetNamespace="http://www.w3.org/1999/xlink"> + + <xs:annotation> + <xs:documentation>This + schema document provides attribute declarations and + attribute group, complex type and simple type definitions which can be used in + the construction of user schemas to define the structure of + particular linking + constructs, e.g. + <![CDATA[ +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xl="http://www.w3.org/1999/xlink"> + + <xs:import namespace="http://www.w3.org/1999/xlink" + location="http://www.w3.org/1999/xlink.xsd"> + + <xs:element name="mySimple"> + <xs:complexType> + ... + <xs:attributeGroup ref="xl:simpleAttrs"/> + ... + </xs:complexType> + </xs:element> + ... +</xs:schema>]]></xs:documentation> + </xs:annotation> + + <xs:import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/xml.xsd"/> + + <xs:attribute name="type" type="xlink:typeType"/> + + <xs:simpleType name="typeType"> + <xs:restriction base="xs:token"> + <xs:enumeration value="simple"/> + <xs:enumeration value="extended"/> + <xs:enumeration value="title"/> + <xs:enumeration value="resource"/> + <xs:enumeration value="locator"/> + <xs:enumeration value="arc"/> + </xs:restriction> + </xs:simpleType> + + <xs:attribute name="href" type="xlink:hrefType"/> + + <xs:simpleType name="hrefType"> + <xs:restriction base="xs:anyURI"/> + </xs:simpleType> + + <xs:attribute name="role" type="xlink:roleType"/> + + <xs:simpleType name="roleType"> + <xs:restriction base="xs:anyURI"> + <xs:minLength value="1"/> + </xs:restriction> + </xs:simpleType> + + <xs:attribute name="arcrole" type="xlink:arcroleType"/> + + <xs:simpleType name="arcroleType"> + <xs:restriction base="xs:anyURI"> + <xs:minLength value="1"/> + </xs:restriction> + </xs:simpleType> + + <xs:attribute name="title" type="xlink:titleAttrType"/> + + <xs:simpleType name="titleAttrType"> + <xs:restriction base="xs:string"/> + </xs:simpleType> + + <xs:attribute name="show" type="xlink:showType"/> + + <xs:simpleType name="showType"> + <xs:restriction base="xs:token"> + <xs:enumeration value="new"/> + <xs:enumeration value="replace"/> + <xs:enumeration value="embed"/> + <xs:enumeration value="other"/> + <xs:enumeration value="none"/> + </xs:restriction> + </xs:simpleType> + + <xs:attribute name="actuate" type="xlink:actuateType"/> + + <xs:simpleType name="actuateType"> + <xs:restriction base="xs:token"> + <xs:enumeration value="onLoad"/> + <xs:enumeration value="onRequest"/> + <xs:enumeration value="other"/> + <xs:enumeration value="none"/> + </xs:restriction> + </xs:simpleType> + + <xs:attribute name="label" type="xlink:labelType"/> + + <xs:simpleType name="labelType"> + <xs:restriction base="xs:NCName"/> + </xs:simpleType> + + <xs:attribute name="from" type="xlink:fromType"/> + + <xs:simpleType name="fromType"> + <xs:restriction base="xs:NCName"/> + </xs:simpleType> + + <xs:attribute name="to" type="xlink:toType"/> + + <xs:simpleType name="toType"> + <xs:restriction base="xs:NCName"/> + </xs:simpleType> + + <xs:attributeGroup name="simpleAttrs"> + <xs:attribute ref="xlink:type" fixed="simple"/> + <xs:attribute ref="xlink:href"/> + <xs:attribute ref="xlink:role"/> + <xs:attribute ref="xlink:arcrole"/> + <xs:attribute ref="xlink:title"/> + <xs:attribute ref="xlink:show"/> + <xs:attribute ref="xlink:actuate"/> + </xs:attributeGroup> + + <xs:group name="simpleModel"> + <xs:sequence> + <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:group> + + <xs:complexType mixed="true" name="simple"> + <xs:annotation> + <xs:documentation> + Intended for use as the type of user-declared elements to make them + simple links. + </xs:documentation> + </xs:annotation> + <xs:group ref="xlink:simpleModel"/> + <xs:attributeGroup ref="xlink:simpleAttrs"/> + </xs:complexType> + + <xs:attributeGroup name="extendedAttrs"> + <xs:attribute ref="xlink:type" fixed="extended" use="required"/> + <xs:attribute ref="xlink:role"/> + <xs:attribute ref="xlink:title"/> + </xs:attributeGroup> + + <xs:group name="extendedModel"> + <xs:choice> + <xs:element ref="xlink:title"/> + <xs:element ref="xlink:resource"/> + <xs:element ref="xlink:locator"/> + <xs:element ref="xlink:arc"/> + </xs:choice> + </xs:group> + + <xs:complexType name="extended"> + <xs:annotation> + <xs:documentation> + Intended for use as the type of user-declared elements to make them + extended links. + Note that the elements referenced in the content model are all abstract. + The intention is that by simply declaring elements with these as + their + substitutionGroup, all the right things will happen. + </xs:documentation> + </xs:annotation> + <xs:group ref="xlink:extendedModel" minOccurs="0" maxOccurs="unbounded"/> + <xs:attributeGroup ref="xlink:extendedAttrs"/> + </xs:complexType> + + <xs:element name="title" type="xlink:titleEltType" abstract="true"/> + + <xs:attributeGroup name="titleAttrs"> + <xs:attribute ref="xlink:type" fixed="title" use="required"/> + <xs:attribute ref="xml:lang"> + <xs:annotation> + <xs:documentation> + xml:lang is not required, but provides much of the + motivation for title elements in addition to attributes, and so + is provided here for convenience. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:attributeGroup> + + <xs:group name="titleModel"> + <xs:sequence> + <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:group> + + <xs:complexType mixed="true" name="titleEltType"> + <xs:group ref="xlink:titleModel"/> + <xs:attributeGroup ref="xlink:titleAttrs"/> + </xs:complexType> + + <xs:element name="resource" type="xlink:resourceType" + abstract="true"/> + + <xs:attributeGroup name="resourceAttrs"> + <xs:attribute ref="xlink:type" fixed="resource" use="required"/> + <xs:attribute ref="xlink:role"/> + <xs:attribute ref="xlink:title"/> + <xs:attribute ref="xlink:label"/> + </xs:attributeGroup> + + <xs:group name="resourceModel"> + <xs:sequence> + <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:group> + + <xs:complexType mixed="true" name="resourceType"> + <xs:group ref="xlink:resourceModel"/> + <xs:attributeGroup ref="xlink:resourceAttrs"/> + </xs:complexType> + + <xs:element name="locator" type="xlink:locatorType" + abstract="true"/> + + <xs:attributeGroup name="locatorAttrs"> + <xs:attribute ref="xlink:type" fixed="locator" use="required"/> + <xs:attribute ref="xlink:href" use="required"/> + <xs:attribute ref="xlink:role"/> + <xs:attribute ref="xlink:title"/> + <xs:attribute ref="xlink:label"> + <xs:annotation> + <xs:documentation> + label is not required, but locators have no particular + XLink function if they are not labeled. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:attributeGroup> + + <xs:group name="locatorModel"> + <xs:sequence> + <xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:group> + + <xs:complexType name="locatorType"> + <xs:group ref="xlink:locatorModel"/> + <xs:attributeGroup ref="xlink:locatorAttrs"/> + </xs:complexType> + + <xs:element name="arc" type="xlink:arcType" abstract="true"/> + + <xs:attributeGroup name="arcAttrs"> + <xs:attribute ref="xlink:type" fixed="arc" use="required"/> + <xs:attribute ref="xlink:arcrole"/> + <xs:attribute ref="xlink:title"/> + <xs:attribute ref="xlink:show"/> + <xs:attribute ref="xlink:actuate"/> + <xs:attribute ref="xlink:from"/> + <xs:attribute ref="xlink:to"> + <xs:annotation> + <xs:documentation> + from and to have default behavior when values are missing + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:attributeGroup> + + <xs:group name="arcModel"> + <xs:sequence> + <xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:group> + + <xs:complexType name="arcType"> + <xs:group ref="xlink:arcModel"/> + <xs:attributeGroup ref="xlink:arcAttrs"/> + </xs:complexType> + +</xs:schema> diff --git a/api/api-pastis/pastis/src/main/resources/xsd_validation/xml.xsd b/api/api-pastis/pastis/src/main/resources/xsd_validation/xml.xsd new file mode 100644 index 000000000..a813a1f7f --- /dev/null +++ b/api/api-pastis/pastis/src/main/resources/xsd_validation/xml.xsd @@ -0,0 +1,331 @@ +<?xml version='1.0'?> +<?xml-stylesheet href="../2008/09/xsd.xsl" type="text/xsl"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns="http://www.w3.org/1999/xhtml" + xml:lang="en"> + + <xs:annotation> + <xs:documentation> + <div> + <h1>About the XML namespace</h1> + + <div class="bodytext"> + <p> + This schema document describes the XML namespace, in a form + suitable for import by other schema documents. + </p> + <p> + See + <a href="http://www.w3.org/XML/1998/namespace.html"> + http://www.w3.org/XML/1998/namespace.html + </a> + and + <a href="http://www.w3.org/TR/REC-xml"> + http://www.w3.org/TR/REC-xml + </a> + for information + about this namespace. + </p> + <p> + Note that local names in this namespace are intended to be + defined only by the World Wide Web Consortium or its subgroups. + The names currently defined in this namespace are listed below. + They should not be used with conflicting semantics by any Working + Group, specification, or document instance. + </p> + <p> + See further below in this document for more information about + <a href="#usage">how to refer to this schema document from your own + XSD schema documents + </a> + and about + <a href="#nsversioning">the + namespace-versioning policy governing this schema document + </a> + . + </p> + </div> + </div> + </xs:documentation> + </xs:annotation> + + <xs:attribute name="lang"> + <xs:annotation> + <xs:documentation> + <div> + + <h3>lang (as an attribute name)</h3> + <p> + denotes an attribute whose value + is a language code for the natural language of the content of + any element; its value is inherited. This name is reserved + by virtue of its definition in the XML specification. + </p> + + </div> + <div> + <h4>Notes</h4> + <p> + Attempting to install the relevant ISO 2- and 3-letter + codes as the enumerated possible values is probably never + going to be a realistic possibility. + </p> + <p> + See BCP 47 at + <a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt"> + http://www.rfc-editor.org/rfc/bcp/bcp47.txt + </a> + and the IANA language subtag registry at + <a href="http://www.iana.org/assignments/language-subtag-registry"> + http://www.iana.org/assignments/language-subtag-registry + </a> + for further information. + </p> + <p> + The union allows for the 'un-declaration' of xml:lang with + the empty string. + </p> + </div> + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:union memberTypes="xs:language"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value=""/> + </xs:restriction> + </xs:simpleType> + </xs:union> + </xs:simpleType> + </xs:attribute> + + <xs:attribute name="space"> + <xs:annotation> + <xs:documentation> + <div> + + <h3>space (as an attribute name)</h3> + <p> + denotes an attribute whose + value is a keyword indicating what whitespace processing + discipline is intended for the content of the element; its + value is inherited. This name is reserved by virtue of its + definition in the XML specification. + </p> + + </div> + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="xs:NCName"> + <xs:enumeration value="default"/> + <xs:enumeration value="preserve"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + + <xs:attribute name="base" type="xs:anyURI"> + <xs:annotation> + <xs:documentation> + <div> + + <h3>base (as an attribute name)</h3> + <p> + denotes an attribute whose value + provides a URI to be used as the base for interpreting any + relative URIs in the scope of the element on which it + appears; its value is inherited. This name is reserved + by virtue of its definition in the XML Base specification. + </p> + + <p> + See + <a href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a> + for information about this attribute. + </p> + </div> + </xs:documentation> + </xs:annotation> + </xs:attribute> + + <xs:attribute name="id" type="xs:ID"> + <xs:annotation> + <xs:documentation> + <div> + + <h3>id (as an attribute name)</h3> + <p> + denotes an attribute whose value + should be interpreted as if declared to be of type ID. + This name is reserved by virtue of its definition in the + xml:id specification. + </p> + + <p> + See + <a href="http://www.w3.org/TR/xml-id/">http://www.w3.org/TR/xml-id/</a> + for information about this attribute. + </p> + </div> + </xs:documentation> + </xs:annotation> + </xs:attribute> + + <xs:attributeGroup name="specialAttrs"> + <xs:attribute ref="xml:base"/> + <xs:attribute ref="xml:lang"/> + <xs:attribute ref="xml:space"/> + <xs:attribute ref="xml:id"/> + </xs:attributeGroup> + + <xs:annotation> + <xs:documentation> + <div> + + <h3>Father (in any context at all)</h3> + + <div class="bodytext"> + <p> + denotes Jon Bosak, the chair of + the original XML Working Group. This name is reserved by + the following decision of the W3C XML Plenary and + XML Coordination groups: + </p> + <blockquote> + <p> + In appreciation for his vision, leadership and + dedication the W3C XML Plenary on this 10th day of + February, 2000, reserves for Jon Bosak in perpetuity + the XML name "xml:Father". + </p> + </blockquote> + </div> + </div> + </xs:documentation> + </xs:annotation> + + <xs:annotation> + <xs:documentation> + <div xml:id="usage" id="usage"> + <h2> + <a name="usage">About this schema document</a> + </h2> + + <div class="bodytext"> + <p> + This schema defines attributes and an attribute group suitable + for use by schemas wishing to allow + <code>xml:base</code> + , + <code>xml:lang</code> + , + <code>xml:space</code> + or + <code>xml:id</code> + attributes on elements they define. + </p> + <p> + To enable this, such a schema must import this schema for + the XML namespace, e.g. as follows: + </p> + <pre> + <schema . . .> + . . . + <import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/xml.xsd"/> + </pre> + <p> + or + </p> + <pre> + <import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2009/01/xml.xsd"/> + </pre> + <p> + Subsequently, qualified reference to any of the attributes or the + group defined below will have the desired effect, e.g. + </p> + <pre> + <type . . .> + . . . + <attributeGroup ref="xml:specialAttrs"/> + </pre> + <p> + will define a type which will schema-validate an instance element + with any of those attributes. + </p> + </div> + </div> + </xs:documentation> + </xs:annotation> + + <xs:annotation> + <xs:documentation> + <div id="nsversioning" xml:id="nsversioning"> + <h2> + <a name="nsversioning">Versioning policy for this schema document</a> + </h2> + <div class="bodytext"> + <p> + In keeping with the XML Schema WG's standard versioning + policy, this schema document will persist at + <a href="http://www.w3.org/2009/01/xml.xsd"> + http://www.w3.org/2009/01/xml.xsd + </a> + . + </p> + <p> + At the date of issue it can also be found at + <a href="http://www.w3.org/2001/xml.xsd"> + http://www.w3.org/2001/xml.xsd + </a> + . + </p> + <p> + The schema document at that URI may however change in the future, + in order to remain compatible with the latest version of XML + Schema itself, or with the XML namespace itself. In other words, + if the XML Schema or XML namespaces change, the version of this + document at + <a href="http://www.w3.org/2001/xml.xsd"> + http://www.w3.org/2001/xml.xsd + </a> + will change accordingly; the version at + <a href="http://www.w3.org/2009/01/xml.xsd"> + http://www.w3.org/2009/01/xml.xsd + </a> + will not change. + </p> + <p> + Previous dated (and unchanging) versions of this schema + document are at: + </p> + <ul> + <li> + <a href="http://www.w3.org/2009/01/xml.xsd"> + http://www.w3.org/2009/01/xml.xsd + </a> + </li> + <li> + <a href="http://www.w3.org/2007/08/xml.xsd"> + http://www.w3.org/2007/08/xml.xsd + </a> + </li> + <li> + <a href="http://www.w3.org/2004/10/xml.xsd"> + http://www.w3.org/2004/10/xml.xsd + </a> + </li> + <li> + <a href="http://www.w3.org/2001/03/xml.xsd"> + http://www.w3.org/2001/03/xml.xsd + </a> + </li> + </ul> + </div> + </div> + </xs:documentation> + </xs:annotation> + +</xs:schema> + diff --git a/api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/ApiPastisApplicationTest.java b/api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/ApiPastisApplicationTest.java new file mode 100644 index 000000000..5064f9b84 --- /dev/null +++ b/api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/ApiPastisApplicationTest.java @@ -0,0 +1,61 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.server; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.env.Environment; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.junit4.SpringRunner; + +import static org.assertj.core.api.Assertions.assertThat; + +@RunWith(SpringRunner.class) +@ActiveProfiles("test") +public class ApiPastisApplicationTest { + + @Autowired + private Environment env; + + @Test + public void testContextLoads() { + assertThat(env).isNotNull(); + } + +} diff --git a/api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/SwaggerJsonFileGenerationTest.java b/api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/SwaggerJsonFileGenerationTest.java new file mode 100644 index 000000000..d96572279 --- /dev/null +++ b/api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/SwaggerJsonFileGenerationTest.java @@ -0,0 +1,96 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.server; + + +import fr.gouv.vitam.access.external.client.AccessExternalClient; +import fr.gouv.vitam.access.external.client.AdminExternalClient; +import fr.gouv.vitamui.commons.api.identity.ServerIdentityConfiguration; +import fr.gouv.vitamui.commons.rest.RestExceptionHandler; +import fr.gouv.vitamui.commons.rest.configuration.SwaggerConfiguration; +import fr.gouv.vitamui.commons.test.rest.AbstractSwaggerJsonFileGenerationTest; +import fr.gouv.vitamui.iam.internal.client.IamInternalRestClientFactory; +import fr.gouv.vitamui.iam.internal.client.UserInternalRestClient; +import fr.gouv.vitamui.iam.security.provider.ExternalApiAuthenticationProvider; +import fr.gouv.vitamui.iam.security.service.ExternalAuthentificationService; +import fr.gouv.vitamui.iam.security.service.ExternalSecurityService; +import fr.gouv.vitamui.iam.security.service.InternalSecurityService; +import fr.gouv.vitamui.security.client.ContextRestClient; +import fr.gouv.vitamui.security.client.SecurityRestClientFactory; +import org.junit.runner.RunWith; +import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.context.annotation.Import; +import org.springframework.security.authentication.AuthenticationProvider; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.junit4.SpringRunner; + +/** + * Swagger JSON Generation. + * With this test class, we can generate the swagger json file without launching a full SpringBoot app. + */ +@RunWith(SpringRunner.class) +@WebMvcTest +@Import(value = {ServerIdentityConfiguration.class, SwaggerConfiguration.class}) +@ActiveProfiles("test, swagger") +public class SwaggerJsonFileGenerationTest extends AbstractSwaggerJsonFileGenerationTest { + @MockBean + public ContextRestClient contextCrudRestClient; + @MockBean + public ExternalApiAuthenticationProvider apiAuthenticationProvider; + @MockBean + public ExternalSecurityService externalSecurityService; + @MockBean + public ExternalAuthentificationService externalAuthentificationService; + @MockBean + public IamInternalRestClientFactory iamInternalRestClientFactory; + @MockBean + public UserInternalRestClient userInternalRestClient; + @MockBean + private RestExceptionHandler restExceptionHandler; + @MockBean + private AdminExternalClient adminExternalClient; + @MockBean(name = "accessExternalClient") + private AccessExternalClient accessExternalClient; + @MockBean + private InternalSecurityService internalSecurityService; + @MockBean + private AuthenticationProvider authenticationProvider; + @MockBean + private SecurityRestClientFactory securityRestClientFactory; +} diff --git a/api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/config/ApiPastisServerConfigTest.java b/api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/config/ApiPastisServerConfigTest.java new file mode 100644 index 000000000..d5818cdf6 --- /dev/null +++ b/api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/config/ApiPastisServerConfigTest.java @@ -0,0 +1,93 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.server.config; + +import fr.gouv.vitam.access.external.client.AccessExternalClient; +import fr.gouv.vitam.access.external.client.AdminExternalClient; +import fr.gouv.vitamui.commons.api.application.AbstractContextConfiguration; +import fr.gouv.vitamui.pastis.common.service.JsonFromPUA; +import fr.gouv.vitamui.pastis.common.service.PuaDefinitions; +import fr.gouv.vitamui.pastis.common.service.PuaFromJSON; +import fr.gouv.vitamui.pastis.common.service.PuaPastisValidator; +import fr.gouv.vitamui.pastis.common.util.NoticeUtils; +import fr.gouv.vitamui.pastis.server.service.PastisService; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.junit4.SpringRunner; + +import static org.assertj.core.api.Assertions.assertThat; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK) +@ActiveProfiles("test") +public class ApiPastisServerConfigTest extends AbstractContextConfiguration { + + @MockBean(name = "adminExternalClient") + private AdminExternalClient adminExternalClient; + + @MockBean(name = "accessExternalClient") + private AccessExternalClient accessExternalClient; + + @MockBean + private PastisService pastisService; + + @MockBean + private JsonFromPUA jsonFromPUA; + + @MockBean + private NoticeUtils noticeFromPUA; + + @MockBean + private PuaDefinitions puaDefinitions; + + @MockBean + private PuaFromJSON puaFromJSON; + + @MockBean + private PuaPastisValidator puaPastisValidator; + + @Test + public void testPuaDefinition() { + assertThat(pastisService).isNotNull(); + } + + +} diff --git a/api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/service/ImportPuaTest.java b/api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/service/ImportPuaTest.java new file mode 100644 index 000000000..e09bb7d4e --- /dev/null +++ b/api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/service/ImportPuaTest.java @@ -0,0 +1,167 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.server.service; + +import com.fasterxml.jackson.databind.ObjectMapper; +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; +import fr.gouv.vitamui.pastis.common.dto.profiles.Notice; +import fr.gouv.vitamui.pastis.common.service.JsonFromPUA; +import fr.gouv.vitamui.pastis.common.service.PuaPastisValidator; +import fr.gouv.vitamui.pastis.common.util.NoticeUtils; +import org.json.JSONObject; +import org.json.JSONTokener; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.skyscreamer.jsonassert.JSONAssert; +import org.skyscreamer.jsonassert.JSONCompareMode; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.junit4.SpringRunner; + +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK) +@ActiveProfiles("test") +public class ImportPuaTest { + + PuaPastisValidator puaPastisValidator = new PuaPastisValidator(); + JsonFromPUA jsonFromPUA = new JsonFromPUA(); + + @Test + public void testImportOK() throws IOException { + InputStream inputStreamPua = getClass().getClassLoader().getResourceAsStream("pua/pua_OK.json"); + JSONTokener tokener = new JSONTokener(new InputStreamReader(inputStreamPua)); + JSONObject profileJson = new JSONObject(tokener); + puaPastisValidator.validatePUA(profileJson); + ElementProperties profileActual = jsonFromPUA.getProfileFromPUA(profileJson); + + ObjectMapper mapper = new ObjectMapper(); + String fileNodeActual = mapper.writeValueAsString(profileActual); + JSONObject fileNodeJSONActual = new JSONObject(fileNodeActual); + + Notice notice = NoticeUtils.getNoticeFromPUA(profileJson); + + InputStream inputStreamExpected = getClass().getClassLoader().getResourceAsStream("pua/profile_Expected.json"); + tokener = new JSONTokener(inputStreamExpected); + JSONObject fileNodeJSONExpected = new JSONObject(tokener); + + JSONAssert.assertEquals(fileNodeJSONActual, fileNodeJSONExpected, JSONCompareMode.STRICT); + } + + @Test + public void testImportOK_with_management() throws IOException { + InputStream inputStreamPua = getClass().getClassLoader().getResourceAsStream("pua/pua_OK_with_management.json"); + + JSONTokener tokener = new JSONTokener(new InputStreamReader(inputStreamPua)); + JSONObject profileJson = new JSONObject(tokener); + puaPastisValidator.validatePUA(profileJson); + ElementProperties profileActual = jsonFromPUA.getProfileFromPUA(profileJson); + + ObjectMapper mapper = new ObjectMapper(); + String fileNodeActual = mapper.writeValueAsString(profileActual); + JSONObject fileNodeJSONActual = new JSONObject(fileNodeActual); + + InputStream inputStreamExpected = + getClass().getClassLoader().getResourceAsStream("pua/profile_Expected_with_management.json"); + tokener = new JSONTokener(inputStreamExpected); + JSONObject fileNodeJSONExpected = new JSONObject(tokener); + + JSONAssert.assertEquals(fileNodeJSONActual, fileNodeJSONExpected, JSONCompareMode.STRICT); + } + + @Test(expected = AssertionError.class) + public void testImportNOK_missing_definitions() throws IOException { + InputStream inputStreamPua = + getClass().getClassLoader().getResourceAsStream("pua/pua_NOK_missing_definitions.json"); + + JSONTokener tokener = new JSONTokener(new InputStreamReader(inputStreamPua)); + JSONObject profileJson = new JSONObject(tokener); + puaPastisValidator.validatePUA(profileJson); + ElementProperties profile = jsonFromPUA.getProfileFromPUA(profileJson); + ObjectMapper mapper = new ObjectMapper(); + String fileNodeActual = mapper.writeValueAsString(profile); + Notice notice = NoticeUtils.getNoticeFromPUA(profileJson); + } + + @Test(expected = AssertionError.class) + public void testImportNOK_missing_management() throws IOException { + InputStream inputStreamPua = + getClass().getClassLoader().getResourceAsStream("pua/pua_NOK_missing_management.json"); + + JSONTokener tokener = new JSONTokener(new InputStreamReader(inputStreamPua)); + JSONObject profileJson = new JSONObject(tokener); + puaPastisValidator.validatePUA(profileJson); + ElementProperties profile = jsonFromPUA.getProfileFromPUA(profileJson); + ObjectMapper mapper = new ObjectMapper(); + String fileNodeActual = mapper.writeValueAsString(profile); + Notice notice = NoticeUtils.getNoticeFromPUA(profileJson); + } + + @Test(expected = AssertionError.class) + public void testImportNOK_missing_properties() throws IOException { + InputStream inputStreamPua = + getClass().getClassLoader().getResourceAsStream("pua/pua_NOK_missing_properties.json"); + + JSONTokener tokener = new JSONTokener(new InputStreamReader(inputStreamPua)); + JSONObject profileJson = new JSONObject(tokener); + puaPastisValidator.validatePUA(profileJson); + ElementProperties profile = jsonFromPUA.getProfileFromPUA(profileJson); + ObjectMapper mapper = new ObjectMapper(); + String fileNodeActual = mapper.writeValueAsString(profile); + Notice notice = NoticeUtils.getNoticeFromPUA(profileJson); + } + + @Test(expected = AssertionError.class) + public void testImportNOK_both_management_present() throws IOException { + InputStream inputStreamPua = + getClass().getClassLoader().getResourceAsStream("pua/pua_NOK_both_management_present.json"); + + JSONTokener tokener = new JSONTokener(new InputStreamReader(inputStreamPua)); + JSONObject profileJson = new JSONObject(tokener); + puaPastisValidator.validatePUA(profileJson); + ElementProperties profile = jsonFromPUA.getProfileFromPUA(profileJson); + ObjectMapper mapper = new ObjectMapper(); + String fileNodeActual = mapper.writeValueAsString(profile); + Notice notice = NoticeUtils.getNoticeFromPUA(profileJson); + } +} diff --git a/api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/service/ManifestValidatorTest.java b/api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/service/ManifestValidatorTest.java new file mode 100644 index 000000000..1aadc6a10 --- /dev/null +++ b/api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/service/ManifestValidatorTest.java @@ -0,0 +1,140 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.server.service; + +import com.fasterxml.jackson.databind.ObjectMapper; +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; +import fr.gouv.vitamui.pastis.common.dto.jaxb.AnnotationXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.AttributeXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.BaliseXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.ChoiceXml; +import fr.gouv.vitamui.pastis.common.dto.jaxb.DataXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.DocumentationXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.ElementXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.GrammarXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.OneOrMoreXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.OptionalXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.StartXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.ValueXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.ZeroOrMoreXML; +import fr.gouv.vitamui.pastis.common.util.ManifestValidator; +import fr.gouv.vitamui.pastis.common.util.PastisCustomCharacterEscapeHandler; +import fr.gouv.vitamui.pastis.common.util.PropertiesUtils; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Marshaller; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStreamWriter; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK) +@ActiveProfiles("test") +public class ManifestValidatorTest { + + @Rule + public TemporaryFolder tempFolder = new TemporaryFolder(); + private ManifestValidator manifestValidator; + + @Before + public void init() { + manifestValidator = new ManifestValidator(); + } + + @Test + public void testManifestOK() + throws Exception { + Assert + .assertTrue(manifestValidator.checkFileRNG(PropertiesUtils.getResourceAsStream("manifests/manifestOK.xml"), + PropertiesUtils.getResourceFile("manifests/rngProfile.rng"))); + } + + @Test + public void testManifestNOK() + throws Exception { + Assert.assertFalse( + manifestValidator.checkFileRNG(PropertiesUtils.getResourceAsStream("manifests/manifestNOK.xml"), + PropertiesUtils.getResourceFile("manifests/rngProfile.rng"))); + } + + /** + * Generate an RNG file from JSON profile + * Test manifest agains this generated RNG file + * + * @throws IOException + * @throws JAXBException + */ + @Test + public void testManifestAgainstGeneratedRNG() throws IOException, JAXBException { + InputStream jsonInputStream = getClass().getClassLoader().getResourceAsStream("manifests/jsonProfile.json"); + ObjectMapper objectMapper = new ObjectMapper(); + ElementProperties jsonMap = objectMapper.readValue(jsonInputStream, ElementProperties.class); + jsonMap.initTree(jsonMap); + + BaliseXML.buildBaliseXMLTree(jsonMap, 0, null); + BaliseXML eparentRng = BaliseXML.baliseXMLStatic; + JAXBContext contextObj = JAXBContext.newInstance(AttributeXML.class, ElementXML.class, DataXML.class, + ValueXML.class, OptionalXML.class, OneOrMoreXML.class, + ZeroOrMoreXML.class, AnnotationXML.class, DocumentationXML.class, + StartXML.class, GrammarXML.class, ChoiceXml.class); + Marshaller marshallerObj = contextObj.createMarshaller(); + marshallerObj.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); + marshallerObj.setProperty("com.sun.xml.bind.marshaller.CharacterEscapeHandler", + new PastisCustomCharacterEscapeHandler()); + + File rngProfile = tempFolder.newFile("generatedProfile.rng"); + OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(rngProfile), "UTF-8"); + marshallerObj.marshal(eparentRng, writer); + writer.close(); + + Assert.assertTrue(manifestValidator + .checkFileRNG(PropertiesUtils.getResourceAsStream("manifests/manifestOK.xml"), rngProfile)); + } +} diff --git a/api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/service/PastisTest.java b/api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/service/PastisTest.java new file mode 100644 index 000000000..eecff14ef --- /dev/null +++ b/api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/service/PastisTest.java @@ -0,0 +1,116 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.server.service; + +import com.fasterxml.jackson.databind.ObjectMapper; +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; +import fr.gouv.vitamui.pastis.common.util.PastisGetXmlJsonTree; +import fr.gouv.vitamui.pastis.common.util.PastisMarshaller; +import fr.gouv.vitamui.pastis.common.util.PastisSAX2Handler; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.junit4.SpringRunner; +import org.xml.sax.SAXException; +import org.xml.sax.XMLReader; +import org.xml.sax.helpers.XMLReaderFactory; + +import javax.xml.bind.JAXBException; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.net.URISyntaxException; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK) +@ActiveProfiles("test") +public class PastisTest { + + private static final Logger LOGGER = LoggerFactory.getLogger(PastisTest.class); + + public PastisMarshaller pastisMarshaller = new PastisMarshaller(); + + @Value("${rng.base.file}") + private String rngFileName; + + @Value("${json.base.file}") + private String jsonFileName; + + @Test + public void testIfRngIsPresent() throws FileNotFoundException { + InputStream os = getClass().getClassLoader().getResourceAsStream(this.rngFileName); + } + + @Test + public void testIfRngCanBeGenerated() throws IOException, JAXBException { + // Map a json from file to ElementProperties object + InputStream jsonInputStream = getClass().getClassLoader().getResourceAsStream(jsonFileName); + ObjectMapper objectMapper = new ObjectMapper(); + ElementProperties mappedJson = objectMapper.readValue(jsonInputStream, ElementProperties.class); + mappedJson.initTree(mappedJson); + + String responseFromMarshaller = pastisMarshaller.getMarshalledObject(mappedJson); + Assert.assertFalse("RNG profile generated successfully", responseFromMarshaller.isEmpty()); + } + + @Test + public void testIfJSONCanBeGenerated() throws IOException, JAXBException, URISyntaxException, SAXException { + + PastisSAX2Handler handler = new PastisSAX2Handler(); + PastisGetXmlJsonTree getJson = new PastisGetXmlJsonTree(); + + XMLReader xmlReader = XMLReaderFactory.createXMLReader(); + xmlReader.setContentHandler(handler); + + ClassLoader loader = ClassLoader.getSystemClassLoader(); + + xmlReader.parse(loader.getResource(this.rngFileName).toURI().toString()); + String jsonTree = getJson.getJsonParsedTreeTest(handler.elementRNGRoot); + + Assert.assertNotNull("JSON profile generated successfully", jsonTree); + + } + + + +} diff --git a/api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/service/RNGProfileValidatorTest.java b/api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/service/RNGProfileValidatorTest.java new file mode 100644 index 000000000..efe0bd7c5 --- /dev/null +++ b/api/api-pastis/pastis/src/test/java/fr/gouv/vitamui/pastis/server/service/RNGProfileValidatorTest.java @@ -0,0 +1,141 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.server.service; + +import com.fasterxml.jackson.databind.ObjectMapper; +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; +import fr.gouv.vitamui.pastis.common.dto.jaxb.AnnotationXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.AttributeXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.BaliseXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.ChoiceXml; +import fr.gouv.vitamui.pastis.common.dto.jaxb.DataXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.DocumentationXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.ElementXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.GrammarXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.OneOrMoreXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.OptionalXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.StartXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.ValueXML; +import fr.gouv.vitamui.pastis.common.dto.jaxb.ZeroOrMoreXML; +import fr.gouv.vitamui.pastis.common.util.PastisCustomCharacterEscapeHandler; +import fr.gouv.vitamui.pastis.common.util.PropertiesUtils; +import fr.gouv.vitamui.pastis.common.util.RNGProfileValidator; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.Marshaller; +import java.io.File; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.OutputStreamWriter; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK) +@ActiveProfiles("test") +public class RNGProfileValidatorTest { + + @Rule + public TemporaryFolder tempFolder = new TemporaryFolder(); + private RNGProfileValidator rngProfileValidator; + @Value("${json.base.file}") + private String jsonFileName; + + @Before + public void init() { + rngProfileValidator = new RNGProfileValidator(); + } + + @Test + /** + * Test s'assurant que la librairie de validation de fichier RNG est opérationnelle + */ + public void validateRNGProfileOK() throws Exception { + File fileProfileXsd = PropertiesUtils.getResourceFile("profiles/profile_ok.rng"); + + Assert.assertTrue(rngProfileValidator.validateRNG(fileProfileXsd, "")); + } + + @Test + /** + * Test s'assurant que la librairie de validation de fichier RNG est opérationnelle + */ + public void validateRNGProfileNOK() throws Exception { + File fileProfileXsd = PropertiesUtils.getResourceFile("profiles/profile_nok.rng"); + + Assert.assertFalse(rngProfileValidator.validateRNG(fileProfileXsd, "")); + } + + @Test + /** + * Génère un profil RNG depuis un fichier JSON et valide ce profil + */ + public void validateGeneratedRNGProfileFromJSON() throws Exception { + + InputStream jsonInputStream = getClass().getClassLoader().getResourceAsStream(jsonFileName); + ObjectMapper objectMapper = new ObjectMapper(); + ElementProperties jsonMap = objectMapper.readValue(jsonInputStream, ElementProperties.class); + jsonMap.initTree(jsonMap); + + BaliseXML.buildBaliseXMLTree(jsonMap, 0, null); + BaliseXML eparentRng = BaliseXML.baliseXMLStatic; + JAXBContext contextObj = JAXBContext.newInstance(AttributeXML.class, ElementXML.class, DataXML.class, + ValueXML.class, OptionalXML.class, OneOrMoreXML.class, + ZeroOrMoreXML.class, AnnotationXML.class, DocumentationXML.class, + StartXML.class, GrammarXML.class, ChoiceXml.class); + Marshaller marshallerObj = contextObj.createMarshaller(); + marshallerObj.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); + marshallerObj.setProperty("com.sun.xml.bind.marshaller.CharacterEscapeHandler", + new PastisCustomCharacterEscapeHandler()); + + File rngProfile = tempFolder.newFile(); + OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(rngProfile), "UTF-8"); + marshallerObj.marshal(eparentRng, writer); + writer.close(); + + Assert.assertTrue(rngProfileValidator.validateRNG(rngProfile, "")); + } +} diff --git a/api/api-pastis/pastis/src/test/resources/application.yml b/api/api-pastis/pastis/src/test/resources/application.yml new file mode 100644 index 000000000..6f219d9d4 --- /dev/null +++ b/api/api-pastis/pastis/src/test/resources/application.yml @@ -0,0 +1,36 @@ +#logging.level.org.springframework: DEBUG + +spring: + cloud: + bus: + enabled: false + discovery: + enabled: false + consul: + enabled: false + config: + enabled: false + api: + name: API Pastis + description: This API is used to manage pastis + version: v1 + +login.url: http://cas/login + +security: + host: xxx + port: 8080 + +server-identity: + identityName: vitamui-test + identityRole: pastis-external + identityServerId: 1 +json.template.file: rng/AUP_default_PASTIS.json +rng.base.directory: rng/ +rng.base.file: rng/Profil_seda_pastis_mvp.rng +json.base.file: rng/ProfileJson.json +pua.definitions.file: pua_validation/ProfileJson.json + + + +logbook.scheduling.sendEventToVitamTasks.enabled: false diff --git a/api/api-pastis/pastis/src/test/resources/manifests/jsonProfile.json b/api/api-pastis/pastis/src/test/resources/manifests/jsonProfile.json new file mode 100644 index 000000000..3089ba29b --- /dev/null +++ b/api/api-pastis/pastis/src/test/resources/manifests/jsonProfile.json @@ -0,0 +1,4148 @@ +{ + "name": "ArchiveTransfer", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 0, + "id": 544, + "parentId": null, + "choices": [ + ], + "children": [ + { + "name": "Date", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "dateTime", + "value": null, + "documentation": null, + "level": 1, + "id": 545, + "parentId": 544, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "MessageIdentifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 1, + "id": 546, + "parentId": 544, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "ArchivalAgreement", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "IN-UPPA-0", + "documentation": null, + "level": 1, + "id": 547, + "parentId": 544, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "CodeListVersions", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 1, + "id": 548, + "parentId": 544, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "DataObjectPackage", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 1, + "id": 549, + "parentId": 544, + "choices": [ + ], + "children": [ + { + "name": "DataObjectGroup", + "type": "element", + "cardinality": "1-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 2, + "id": 550, + "parentId": 549, + "choices": [ + ], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 3, + "id": 551, + "parentId": 550, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "BinaryDataObject", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 3, + "id": 552, + "parentId": 550, + "choices": [ + ], + "children": [ + { + "name": "DataObjectVersion", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "BinaryMaster par défaut", + "level": 4, + "id": 553, + "parentId": 552, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Uri", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "anyURI", + "value": null, + "documentation": null, + "level": 4, + "id": 554, + "parentId": 552, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "MessageDigest", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "base64Binary", + "value": null, + "documentation": null, + "level": 4, + "id": 555, + "parentId": 552, + "choices": [ + ], + "children": [ + { + "name": "algorithm", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 556, + "parentId": 555, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "Size", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 4, + "id": 557, + "parentId": 552, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "FormatIdentification", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 4, + "id": 558, + "parentId": 552, + "choices": [ + ], + "children": [ + { + "name": "FormatLitteral", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 559, + "parentId": 558, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "FormatId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 560, + "parentId": 558, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "FileInfo", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 4, + "id": 561, + "parentId": 552, + "choices": [ + ], + "children": [ + { + "name": "Filename", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 562, + "parentId": 561, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 4, + "id": 563, + "parentId": 552, + "choices": [ + ], + "children": [ + ] + } + ] + } + ] + }, + { + "name": "DescriptiveMetadata", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 2, + "id": 564, + "parentId": 549, + "choices": [ + ], + "children": [ + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Séance du conseil d'administration", + "level": 3, + "id": 565, + "parentId": 564, + "choices": [ + ], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 4, + "id": 566, + "parentId": 565, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 4, + "id": 567, + "parentId": 565, + "choices": [ + ], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "File", + "documentation": null, + "level": 5, + "id": 568, + "parentId": 567, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Title", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 5, + "id": 569, + "parentId": 567, + "choices": [ + ], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "language", + "value": "fra", + "documentation": null, + "level": 6, + "id": 570, + "parentId": 569, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "OriginatingSystemId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "ID-SI-prod", + "level": 5, + "id": 571, + "parentId": 567, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Description", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Ces documents sont archivés dans le but d'une conservation des décisions du conseil d'administration.", + "documentation": null, + "level": 5, + "id": 572, + "parentId": 567, + "choices": [ + ], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "language", + "value": null, + "documentation": null, + "level": 6, + "id": 573, + "parentId": 572, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "CustodialHistory", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 574, + "parentId": 567, + "choices": [ + ], + "children": [ + { + "name": "CustodialHistoryItem", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Ces archives sont transférées à l'initiative de la Direction des affaires juridiques directement vers le SAE externalisé pour conservation et après validation de l'archiviste de l'UPPA", + "documentation": null, + "level": 6, + "id": 575, + "parentId": 574, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "Language", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "fra", + "documentation": null, + "level": 5, + "id": 576, + "parentId": 567, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Tag", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Organe délibérant", + "documentation": null, + "level": 5, + "id": 577, + "parentId": 567, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Tag", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Conseil d'administration", + "documentation": null, + "level": 5, + "id": 578, + "parentId": 567, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "CreatedDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "Date de tenue du CA", + "level": 5, + "id": 579, + "parentId": 567, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "Date de tenue du CA", + "level": 5, + "id": 580, + "parentId": 567, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "EndDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "Date de tenue du CA", + "level": 5, + "id": 581, + "parentId": 567, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Procurations", + "level": 4, + "id": 582, + "parentId": 565, + "choices": [ + ], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 5, + "id": 583, + "parentId": 582, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 584, + "parentId": 582, + "choices": [ + ], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Item", + "documentation": null, + "level": 6, + "id": 585, + "parentId": 584, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Title", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 6, + "id": 586, + "parentId": 584, + "choices": [ + ], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "language", + "value": "fra", + "documentation": null, + "level": 7, + "id": 587, + "parentId": 586, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "OriginatingSystemId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "ID-SI-prod", + "level": 6, + "id": 588, + "parentId": 584, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Tag", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Procuration", + "documentation": null, + "level": 6, + "id": 589, + "parentId": 584, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 590, + "parentId": 582, + "choices": [ + ], + "children": [ + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 591, + "parentId": 590, + "choices": [ + ], + "children": [ + ] + } + ] + } + ] + }, + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Convocation-OJ", + "level": 4, + "id": 592, + "parentId": 565, + "choices": [ + ], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 5, + "id": 593, + "parentId": 592, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 594, + "parentId": 592, + "choices": [ + ], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Item", + "documentation": null, + "level": 6, + "id": 595, + "parentId": 594, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Title", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "string", + "value": "Convocation-OJ", + "documentation": null, + "level": 6, + "id": 596, + "parentId": 594, + "choices": [ + ], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "language", + "value": "fra", + "documentation": null, + "level": 7, + "id": 597, + "parentId": 596, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "OriginatingSystemId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "ID-SI-prod", + "level": 6, + "id": 598, + "parentId": 594, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Signature", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 599, + "parentId": 594, + "choices": [ + ], + "children": [ + { + "name": "Signer", + "type": "element", + "cardinality": "1-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 600, + "parentId": 599, + "choices": [ + ], + "children": [ + { + "name": "FullName", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 8, + "id": 601, + "parentId": 600, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "SigningTime", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "dateTime", + "value": null, + "documentation": null, + "level": 8, + "id": 602, + "parentId": 600, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Function", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 8, + "id": 603, + "parentId": 600, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "Validator", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 604, + "parentId": 599, + "choices": [ + ], + "children": [ + { + "name": "FullName", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 8, + "id": 605, + "parentId": 604, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "ValidationTime", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "dateTime", + "value": null, + "documentation": null, + "level": 8, + "id": 606, + "parentId": 604, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Function", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 8, + "id": 607, + "parentId": 604, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "ReferencedObject", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 608, + "parentId": 599, + "choices": [ + ], + "children": [ + { + "name": "SignedObjectId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 609, + "parentId": 608, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "SignedObjectDigest", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 610, + "parentId": 608, + "choices": [ + ], + "children": [ + { + "name": "algorithm", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 9, + "id": 611, + "parentId": 610, + "choices": [ + ], + "children": [ + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 612, + "parentId": 592, + "choices": [ + ], + "children": [ + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 613, + "parentId": 612, + "choices": [ + ], + "children": [ + ] + } + ] + } + ] + }, + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Feuille d'émargement-élus", + "level": 4, + "id": 614, + "parentId": 565, + "choices": [ + ], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 5, + "id": 615, + "parentId": 614, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 616, + "parentId": 614, + "choices": [ + ], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Item", + "documentation": null, + "level": 6, + "id": 617, + "parentId": 616, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Title", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "string", + "value": "Feuille d'émargement-élus", + "documentation": null, + "level": 6, + "id": 618, + "parentId": 616, + "choices": [ + ], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "language", + "value": "fra", + "documentation": null, + "level": 7, + "id": 619, + "parentId": 618, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "OriginatingSystemId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "ID-SI-prod", + "level": 6, + "id": 620, + "parentId": 616, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 621, + "parentId": 614, + "choices": [ + ], + "children": [ + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 622, + "parentId": 621, + "choices": [ + ], + "children": [ + ] + } + ] + } + ] + }, + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Feuille d'émargement-membres consultatifs", + "level": 4, + "id": 623, + "parentId": 565, + "choices": [ + ], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 5, + "id": 624, + "parentId": 623, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 625, + "parentId": 623, + "choices": [ + ], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Item", + "documentation": null, + "level": 6, + "id": 626, + "parentId": 625, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Title", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "string", + "value": "Feuille d'émargement-membres consultatifs", + "documentation": null, + "level": 6, + "id": 627, + "parentId": 625, + "choices": [ + ], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "language", + "value": "fra", + "documentation": null, + "level": 7, + "id": 628, + "parentId": 627, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "OriginatingSystemId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "ID-SI-prod", + "level": 6, + "id": 629, + "parentId": 625, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 630, + "parentId": 623, + "choices": [ + ], + "children": [ + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 631, + "parentId": 630, + "choices": [ + ], + "children": [ + ] + } + ] + } + ] + }, + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Enregistrement audio", + "level": 4, + "id": 632, + "parentId": 565, + "choices": [ + ], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 5, + "id": 633, + "parentId": 632, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Management", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 634, + "parentId": 632, + "choices": [ + ], + "children": [ + { + "name": "AppraisalRule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 635, + "parentId": 634, + "choices": [ + ], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "APP-00015", + "documentation": "DUA 15 ans", + "level": 7, + "id": 636, + "parentId": 635, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 637, + "parentId": 635, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "FinalAction", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Destroy", + "documentation": null, + "level": 7, + "id": 638, + "parentId": 635, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "AccessRule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 639, + "parentId": 634, + "choices": [ + ], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "ACC-00020", + "documentation": null, + "level": 7, + "id": 640, + "parentId": 639, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 641, + "parentId": 639, + "choices": [ + ], + "children": [ + ] + } + ] + } + ] + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 642, + "parentId": 632, + "choices": [ + ], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Item", + "documentation": null, + "level": 6, + "id": 643, + "parentId": 642, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Title", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "string", + "value": "Enregistrement audio", + "documentation": null, + "level": 6, + "id": 644, + "parentId": 642, + "choices": [ + ], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "language", + "value": "fra", + "documentation": null, + "level": 7, + "id": 645, + "parentId": 644, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "OriginatingSystemId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "ID-SI-prod", + "level": 6, + "id": 646, + "parentId": 642, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 647, + "parentId": 632, + "choices": [ + ], + "children": [ + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 648, + "parentId": 647, + "choices": [ + ], + "children": [ + ] + } + ] + } + ] + }, + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Relevé de conclusions", + "level": 4, + "id": 649, + "parentId": 565, + "choices": [ + ], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 5, + "id": 650, + "parentId": 649, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 651, + "parentId": 649, + "choices": [ + ], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Item", + "documentation": null, + "level": 6, + "id": 652, + "parentId": 651, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Title", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "string", + "value": "Relevé de conclusions", + "documentation": null, + "level": 6, + "id": 653, + "parentId": 651, + "choices": [ + ], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "language", + "value": "fra", + "documentation": null, + "level": 7, + "id": 654, + "parentId": 653, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "OriginatingSystemId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "ID-SI-prod", + "level": 6, + "id": 655, + "parentId": 651, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 656, + "parentId": 649, + "choices": [ + ], + "children": [ + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 657, + "parentId": 656, + "choices": [ + ], + "children": [ + ] + } + ] + } + ] + }, + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Accusé de réception du rectorat", + "level": 4, + "id": 658, + "parentId": 565, + "choices": [ + ], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 5, + "id": 659, + "parentId": 658, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 660, + "parentId": 658, + "choices": [ + ], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Item", + "documentation": null, + "level": 6, + "id": 661, + "parentId": 660, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Title", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "string", + "value": "Accusé de réception du rectorat", + "documentation": null, + "level": 6, + "id": 662, + "parentId": 660, + "choices": [ + ], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "language", + "value": "fra", + "documentation": null, + "level": 7, + "id": 663, + "parentId": 662, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "OriginatingSystemId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "ID-SI-prod", + "level": 6, + "id": 664, + "parentId": 660, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 665, + "parentId": 658, + "choices": [ + ], + "children": [ + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 666, + "parentId": 665, + "choices": [ + ], + "children": [ + ] + } + ] + } + ] + }, + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": "1-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Point OJ", + "level": 4, + "id": 667, + "parentId": 565, + "choices": [ + ], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 5, + "id": 668, + "parentId": 667, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 669, + "parentId": 667, + "choices": [ + ], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "File", + "documentation": null, + "level": 6, + "id": 670, + "parentId": 669, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Title", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "Intitulé du point à l'OJ", + "level": 6, + "id": 671, + "parentId": 669, + "choices": [ + ], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "language", + "value": "fra", + "documentation": null, + "level": 7, + "id": 672, + "parentId": 671, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "Tag", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Point OJ", + "documentation": null, + "level": 6, + "id": 673, + "parentId": 669, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Tag", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "Point n°", + "level": 6, + "id": 674, + "parentId": 669, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Tag", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "Mot-clés ordre du jour", + "level": 6, + "id": 675, + "parentId": 669, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "PV CA antérieur", + "level": 5, + "id": 676, + "parentId": 667, + "choices": [ + ], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 6, + "id": 677, + "parentId": 676, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 678, + "parentId": 676, + "choices": [ + ], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Item", + "documentation": null, + "level": 7, + "id": 679, + "parentId": 678, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Title", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 680, + "parentId": 678, + "choices": [ + ], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "language", + "value": "fra", + "documentation": null, + "level": 8, + "id": 681, + "parentId": 680, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "OriginatingSystemId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "ID-SI-prod", + "level": 7, + "id": 682, + "parentId": 678, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Status", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "\"Voté\" ou \"Non voté\"", + "level": 7, + "id": 683, + "parentId": 678, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Tag", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "PV", + "documentation": null, + "level": 7, + "id": 684, + "parentId": 678, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 685, + "parentId": 676, + "choices": [ + ], + "children": [ + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 686, + "parentId": 685, + "choices": [ + ], + "children": [ + ] + } + ] + } + ] + }, + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Extrait", + "level": 5, + "id": 687, + "parentId": 667, + "choices": [ + ], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 6, + "id": 688, + "parentId": 687, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 689, + "parentId": 687, + "choices": [ + ], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "File", + "documentation": null, + "level": 7, + "id": 690, + "parentId": 689, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Title", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 691, + "parentId": 689, + "choices": [ + ], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "language", + "value": "fra", + "documentation": null, + "level": 8, + "id": 692, + "parentId": 691, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "Tag", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Extrait de délibération", + "documentation": null, + "level": 7, + "id": 693, + "parentId": 689, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Extrait", + "level": 6, + "id": 694, + "parentId": 687, + "choices": [ + ], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 7, + "id": 695, + "parentId": 694, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 696, + "parentId": 694, + "choices": [ + ], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Item", + "documentation": null, + "level": 8, + "id": 697, + "parentId": 696, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Title", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 698, + "parentId": 696, + "choices": [ + ], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "language", + "value": "fra", + "documentation": null, + "level": 9, + "id": 699, + "parentId": 698, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "OriginatingSystemId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "ID-SI-prod", + "level": 8, + "id": 700, + "parentId": 696, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Signature", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 8, + "id": 701, + "parentId": 696, + "choices": [ + ], + "children": [ + { + "name": "Signer", + "type": "element", + "cardinality": "1-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 9, + "id": 702, + "parentId": 701, + "choices": [ + ], + "children": [ + { + "name": "FullName", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 10, + "id": 703, + "parentId": 702, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "SigningTime", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "dateTime", + "value": null, + "documentation": null, + "level": 10, + "id": 704, + "parentId": 702, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Function", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 10, + "id": 705, + "parentId": 702, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "Validator", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 9, + "id": 706, + "parentId": 701, + "choices": [ + ], + "children": [ + { + "name": "FullName", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 10, + "id": 707, + "parentId": 706, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "ValidationTime", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "dateTime", + "value": null, + "documentation": null, + "level": 10, + "id": 708, + "parentId": 706, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Function", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 10, + "id": 709, + "parentId": 706, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "ReferencedObject", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 9, + "id": 710, + "parentId": 701, + "choices": [ + ], + "children": [ + { + "name": "SignedObjectId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 10, + "id": 711, + "parentId": 710, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "SignedObjectDigest", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 10, + "id": 712, + "parentId": 710, + "choices": [ + ], + "children": [ + { + "name": "algorithm", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 11, + "id": 713, + "parentId": 712, + "choices": [ + ], + "children": [ + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 714, + "parentId": 694, + "choices": [ + ], + "children": [ + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 715, + "parentId": 714, + "choices": [ + ], + "children": [ + ] + } + ] + } + ] + }, + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Pièces annexes", + "level": 6, + "id": 716, + "parentId": 687, + "choices": [ + ], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 7, + "id": 717, + "parentId": 716, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 718, + "parentId": 716, + "choices": [ + ], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Item", + "documentation": null, + "level": 8, + "id": 719, + "parentId": 718, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Title", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 720, + "parentId": 718, + "choices": [ + ], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "language", + "value": "fra", + "documentation": null, + "level": 9, + "id": 721, + "parentId": 720, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "OriginatingSystemId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "ID-SI-prod", + "level": 8, + "id": 722, + "parentId": 718, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Tag", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Pièce annexe", + "documentation": null, + "level": 8, + "id": 723, + "parentId": 718, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 724, + "parentId": 716, + "choices": [ + ], + "children": [ + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 725, + "parentId": 724, + "choices": [ + ], + "children": [ + ] + } + ] + } + ] + } + ] + }, + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Pièces annexes", + "level": 5, + "id": 726, + "parentId": 667, + "choices": [ + ], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 6, + "id": 727, + "parentId": 726, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 728, + "parentId": 726, + "choices": [ + ], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Item", + "documentation": null, + "level": 7, + "id": 729, + "parentId": 728, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Title", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 730, + "parentId": 728, + "choices": [ + ], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "language", + "value": "fra", + "documentation": null, + "level": 8, + "id": 731, + "parentId": 730, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "OriginatingSystemId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "ID-SI-prod", + "level": 7, + "id": 732, + "parentId": 728, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Tag", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Pièce annexe", + "documentation": null, + "level": 7, + "id": 733, + "parentId": 728, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 734, + "parentId": 726, + "choices": [ + ], + "children": [ + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 735, + "parentId": 734, + "choices": [ + ], + "children": [ + ] + } + ] + } + ] + }, + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Convention ou Accord international", + "level": 5, + "id": 736, + "parentId": 667, + "choices": [ + ], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 6, + "id": 737, + "parentId": 736, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Management", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 738, + "parentId": 736, + "choices": [ + ], + "children": [ + { + "name": "AppraisalRule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 739, + "parentId": 738, + "choices": [ + ], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "APP-00015", + "documentation": null, + "level": 8, + "id": 740, + "parentId": 739, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 741, + "parentId": 739, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "FinalAction", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Destroy", + "documentation": null, + "level": 8, + "id": 742, + "parentId": 739, + "choices": [ + ], + "children": [ + ] + } + ] + } + ] + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 743, + "parentId": 736, + "choices": [ + ], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "File", + "documentation": null, + "level": 7, + "id": 744, + "parentId": 743, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Title", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 745, + "parentId": 743, + "choices": [ + ], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "language", + "value": "fra", + "documentation": null, + "level": 8, + "id": 746, + "parentId": 745, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "Tag", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "ACI", + "documentation": null, + "level": 7, + "id": 747, + "parentId": 743, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Tag", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Convention", + "documentation": null, + "level": 7, + "id": 748, + "parentId": 743, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Tag", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 749, + "parentId": 743, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Convention ou ACI", + "level": 6, + "id": 750, + "parentId": 736, + "choices": [ + ], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 7, + "id": 751, + "parentId": 750, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 752, + "parentId": 750, + "choices": [ + ], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Item", + "documentation": null, + "level": 8, + "id": 753, + "parentId": 752, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Title", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 754, + "parentId": 752, + "choices": [ + ], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "language", + "value": "fra", + "documentation": null, + "level": 9, + "id": 755, + "parentId": 754, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "OriginatingSystemId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "ID-SI-prod", + "level": 8, + "id": 756, + "parentId": 752, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 757, + "parentId": 750, + "choices": [ + ], + "children": [ + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 758, + "parentId": 757, + "choices": [ + ], + "children": [ + ] + } + ] + } + ] + }, + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Pièces annexes", + "level": 6, + "id": 759, + "parentId": 736, + "choices": [ + ], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 7, + "id": 760, + "parentId": 759, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 761, + "parentId": 759, + "choices": [ + ], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Item", + "documentation": null, + "level": 8, + "id": 762, + "parentId": 761, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Title", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 763, + "parentId": 761, + "choices": [ + ], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "language", + "value": "fra", + "documentation": null, + "level": 9, + "id": 764, + "parentId": 763, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "OriginatingSystemId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "ID-SI-prod", + "level": 8, + "id": 765, + "parentId": 761, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "Tag", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Pièce annexe", + "documentation": null, + "level": 8, + "id": 766, + "parentId": 761, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 767, + "parentId": 759, + "choices": [ + ], + "children": [ + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 768, + "parentId": 767, + "choices": [ + ], + "children": [ + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "ManagementMetadata", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 2, + "id": 769, + "parentId": 549, + "choices": [ + ], + "children": [ + { + "name": "ArchivalProfile", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 3, + "id": 770, + "parentId": 769, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "OriginatingAgencyIdentifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "19640251500270", + "documentation": null, + "level": 3, + "id": 771, + "parentId": 769, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "SubmissionAgencyIdentifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "19640251500270", + "documentation": null, + "level": 3, + "id": 772, + "parentId": 769, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "AppraisalRule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 3, + "id": 773, + "parentId": 769, + "choices": [ + ], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "APP-00015", + "documentation": "DUA 15 ans", + "level": 4, + "id": 774, + "parentId": 773, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": null, + "level": 4, + "id": 775, + "parentId": 773, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "FinalAction", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "Keep", + "documentation": null, + "level": 4, + "id": 776, + "parentId": 773, + "choices": [ + ], + "children": [ + ] + } + ] + }, + { + "name": "AccessRule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 3, + "id": 777, + "parentId": 769, + "choices": [ + ], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "ACC-00001", + "documentation": "Librement communicable", + "level": 4, + "id": 778, + "parentId": 777, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": null, + "level": 4, + "id": 779, + "parentId": 777, + "choices": [ + ], + "children": [ + ] + } + ] + } + ] + } + ] + }, + { + "name": "ArchivalAgency", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 1, + "id": 780, + "parentId": 544, + "choices": [ + ], + "children": [ + { + "name": "Identifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "19341594000017", + "documentation": null, + "level": 2, + "id": 781, + "parentId": 780, + "choices": [ + ], + "children": [ + { + "name": "schemeName", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "SIRET", + "documentation": null, + "level": 3, + "id": 782, + "parentId": 781, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "schemeAgencyName", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "INSEE", + "documentation": null, + "level": 3, + "id": 783, + "parentId": 781, + "choices": [ + ], + "children": [ + ] + } + ] + } + ] + }, + { + "name": "TransferringAgency", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 1, + "id": 784, + "parentId": 544, + "choices": [ + ], + "children": [ + { + "name": "Identifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "19640251500270", + "documentation": null, + "level": 2, + "id": 785, + "parentId": 784, + "choices": [ + ], + "children": [ + { + "name": "schemeName", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "SIRET", + "documentation": null, + "level": 3, + "id": 786, + "parentId": 785, + "choices": [ + ], + "children": [ + ] + }, + { + "name": "schemeAgencyName", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": "token", + "value": "INSEE", + "documentation": null, + "level": 3, + "id": 787, + "parentId": 785, + "choices": [ + ], + "children": [ + ] + } + ] + } + ] + } + ] +} diff --git a/api/api-pastis/pastis/src/test/resources/manifests/manifestNOK.xml b/api/api-pastis/pastis/src/test/resources/manifests/manifestNOK.xml new file mode 100644 index 000000000..741a6c0df --- /dev/null +++ b/api/api-pastis/pastis/src/test/resources/manifests/manifestNOK.xml @@ -0,0 +1,1139 @@ +<?xml version='1.0' encoding='UTF-8'?> +<ArchiveTransfer + xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1" +> + <Date>2020-06-16T16:04:33.425</Date> + <MessageIdentifier>SIP SEDA UPPA de test</MessageIdentifier> + <ArchivalAgreement>IN-UPPA-0</ArchivalAgreement> + <CodeListVersions></CodeListVersions> + <DataObjectPackage> + <DataObjectGroup id="ID100"> + <BinaryDataObject id="ID101"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID101.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + e188a8b598dea9064eae4dfe8d3f98ca002feb259ea21ff8b80c7f49d37a2433eb754f0c0d901f29b05b94463fe0553a8d946be90adcebd7008a550157f56f50 + </MessageDigest> + <Size>210110</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Relevé de conclusions.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID11"> + <BinaryDataObject id="ID12"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID12.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 7d316982a4cb7416a2ed3d48735f9a0593b33b6f95d04d6f12682e0a5d12085effb2df035862dd70d03b1840edbb8e4bddeeedc68013fdf3068db0489563eed1 + </MessageDigest> + <Size>205838</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Accusé de réception du rectorat.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID14"> + <BinaryDataObject id="ID15"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID15.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Convocation-OJ.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID17"> + <BinaryDataObject id="ID18"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID18.mp3</Uri> + <MessageDigest algorithm="SHA-512"> + 71ff1326d14b7581584e92f7f8b2e195201a214af67fec16854e17f4301a12dbbbc6dc1984bd9bf0dd65736a3b32e59b4d795c331fe766468394f3061950da0e + </MessageDigest> + <Size>418442</Size> + <FormatIdentification> + <FormatLitteral>MPEG 1/2 Audio Layer 3</FormatLitteral> + <FormatId>fmt/134</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Enregistrement audio.mp3</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID20"> + <BinaryDataObject id="ID21"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID21.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 41fcbf12eaec21ba65eeec5214e4376da9890a90e275e6b9dac7d8a9606892cd74ed026d0351ad4e8a2b7d32ce28ea1fd6c1066128e8ac4d86a9709378ffcf08 + </MessageDigest> + <Size>209935</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Feuille d'émargt- consultatifs.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID23"> + <BinaryDataObject id="ID24"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID24.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 0718b77db6ac2b1d21729d6d3317aab0c7f70e4f8af3acfbabe1696032b5d89c70ced454369a5156c7094bfd74f83986fa1a0a27fd0538e4d9546a7e8df76442 + </MessageDigest> + <Size>206456</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Feuille d'émargt-élus.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID26"> + <BinaryDataObject id="ID27"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID27.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 6cffd624d2d9dba4b66eb8c50d43c5791b8cccdd92675255ba507602323e1cee22d6e467140b2af42ff7d3499413e54547a8b6ad0498d7b2e8e67bda15fc3037 + </MessageDigest> + <Size>205683</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>PV CA antérieur01-10-2019.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID29"> + <BinaryDataObject id="ID30"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID30.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + c5e1508e873734406f706a60cf5aec612c50845324655d650b4c16a3de1a2299b2a689028e0967a946369c02076cb82518368abfad628ee1d1217e4cad0fdc7b + </MessageDigest> + <Size>203506</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>PV CA antérieur01-11-2019.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID33"> + <BinaryDataObject id="ID34"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID34.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 1c326663ada662ad1a8ade439e6dde0ff02933e2640373aaec1817c5a6e378d4c57e7ab83e6c99469f0101842e78cfa63082eceaa558eafd1c8e85fd343defce + </MessageDigest> + <Size>200492</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe PtOJ1 Infos.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID38"> + <BinaryDataObject id="ID39"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID39.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + da4139be6e1fd9ac2649fc55a05dea421cba951f5404bb691c2af32085862bfdf0182a1121e77b80e8cf136fd19ed5bed394970fca22de2791e8da27dab25bfb + </MessageDigest> + <Size>852122</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ConventionFictif.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID41"> + <BinaryDataObject id="ID42"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID42.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + f3904a6484e1bbf392b68533b53e74464c6da839b76f7bd074dcee857a53e9724053e093102073450ff2de2b875bf2c8c1bc0478b7585f4f4344ba08c90e7507 + </MessageDigest> + <Size>1325131</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.7 - Portable Document Format</FormatLitteral> + <FormatId>fmt/276</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>PAPtOJ2PRJ3-PlanClasst SAE.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID44"> + <BinaryDataObject id="ID45"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID45.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélibPtOJ2SignPlanActions.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID49"> + <BinaryDataObject id="ID50"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID50.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 3744809ee7b304f78ed3595473ec4fefc666b3bed2e3512d347c18a7afc83573b97ed3c40a2080d832496b386d61e8a2d3be6c1f9eefbd8ccb43f3029dd48307 + </MessageDigest> + <Size>198204</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ACI.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID52"> + <BinaryDataObject id="ID53"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID53.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + c58cf5388cae5dd4bb55ac76a541f5f13683524e1c337836b5c75217d186f70fd351680499f344b82ef5b0c739da398ee8094f387c4bc3a425571a6e597349bf + </MessageDigest> + <Size>306906</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 1 ACI.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID55"> + <BinaryDataObject id="ID56"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID56.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + dc9cefa1e03764eccad4b7b3ba5ef6b4f977d373df9febdafd309793c91b6a71f74ed1e2567f6be0821f34dd8b2e0a266d0377e740ba11ebe6977d21381a9e00 + </MessageDigest> + <Size>307037</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 2 ACI.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID58"> + <BinaryDataObject id="ID59"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID59.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélibSignPtOJ3.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID62"> + <BinaryDataObject id="ID63"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID63.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélibSignPtOJ4.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID65"> + <BinaryDataObject id="ID66"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID66.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 919b5cea234c11df0aaf6cc00eed4eca204a29900250c9474af7118b03d96f29133bdd761bb29ddc3e56ef81fc4e662b5fb72a408693daef2e595adfa42df2ba + </MessageDigest> + <Size>210276</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 1.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID68"> + <BinaryDataObject id="ID69"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID69.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 5358f033013102ac7272240a780cc77f9efba5eda6d943c036aae053ac46b443363bf5c5aae62bdee287bde9980b3fd74197726546fe098e29b0a008457106fa + </MessageDigest> + <Size>210437</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 2.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID72"> + <BinaryDataObject id="ID73"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID73.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélib1SignPtOJ5.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID76"> + <BinaryDataObject id="ID77"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID77.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélib1SignPtOJ6College1.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID79"> + <BinaryDataObject id="ID80"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID80.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélib2SignPtOJ6College2.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID82"> + <BinaryDataObject id="ID83"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID83.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélib3SignPtOJ6College3.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID85"> + <BinaryDataObject id="ID86"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID86.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 5f6d6348235a7b736dd2430a7369bae7c9371508e9c5c276cc9fb719ac2de46110dc84cf5f5fc3ee295fc7c0babfc3174e8303ad4c1ce4e7184682e51d6a67f5 + </MessageDigest> + <Size>207968</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 1 Collège 1.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID88"> + <BinaryDataObject id="ID89"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID89.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + fcf3976b6ee893a1e5bc5215fe3a1873639e2df7adee675258713181403eccf7763becd0ecb668e29ba72988abf12ab86bb1761ecf22003511559eef5eb33376 + </MessageDigest> + <Size>207968</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 2 Collège 2.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID91"> + <BinaryDataObject id="ID92"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID92.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 98308790accb1e0285f4e9e13fb10af8f5075962e99dd482a911ccb398daea72068a81549c044404480e15bb9aa59cda42178867870f6c20a9308cfc048cf738 + </MessageDigest> + <Size>210121</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 3 Collège 3.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID94"> + <BinaryDataObject id="ID95"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID95.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + f71e44691d70ae7e3961920374cf62fea43e9bcf7976acf580fe8dedc60e3f8cc4471fbbbcc689307dbc451ec142d902a180dc420e1a6ed2583590626a8cd547 + </MessageDigest> + <Size>205939</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.7 - Portable Document Format</FormatLitteral> + <FormatId>fmt/276</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Procuration1.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID97"> + <BinaryDataObject id="ID98"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID98.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 56f84353b4b66caed44da4ef5264a337c4d267426b928257b9f3f2a67e1ec714782cddfdda73b0f87fc048ccd4f883c90711534085fd95767f181090010c6800 + </MessageDigest> + <Size>198621</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Procuration2.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + + <DescriptiveMetadata> + + <ArchiveUnit id="ID10"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Séance CA du 02-12-2019</Title> + <OriginatingSystemId>ID-SI-Prod</OriginatingSystemId> + <Description xml:lang="fra">Ces documents sont archivés dans le but d'une conservation des décisions + du conseil d'administration. + </Description> + <CustodialHistory> + <CustodialHistoryItem>Ces archives sont transférées à l'initiative de la Direction des affaires + juridiques directement vers le SAE externalisé pour conservation et après validation de + l'archiviste de l'UPPA + </CustodialHistoryItem> + </CustodialHistory> + <Language>fra</Language> + <Tag>Organe délibérant</Tag> + <Tag>Conseil d'administration</Tag> + <CreatedDate>2019-12-02</CreatedDate> + <!--Date de tenue du CA--> + <StartDate>2019-12-02</StartDate> <!--Date de tenue du CA--> + <EndDate>2019-12-02</EndDate> <!--Date de tenue du CA--> + </Content> + + <ArchiveUnit id="ID96"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Procuration1</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Procuration</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID94</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID99"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Procuration2</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Procuration</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID97</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID16"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Convocation-OJ</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom + </FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID15</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID14</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID25"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Feuille d'émargement-élus</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID23</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID22"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Feuille d'émargement-membres consultatifs</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID20</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID19"> + <Management> + <AppraisalRule> + <Rule>APP-00015</Rule> + <StartDate>2019-12-31</StartDate> + <FinalAction>Destroy</FinalAction> + </AppraisalRule> + <AccessRule> + <Rule>ACC-00020</Rule> + <StartDate>2019-12-31</StartDate> + </AccessRule> + </Management> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Enregistrement audio</Title> + <OriginatingSystemId>ID-SI-Prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID17</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID102"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Relevé de conclusions</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID100</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID13"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Accusé de réception du rectorat</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID11</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID32"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé1Infos</Title> + <Tag>Point OJ</Tag> + <Tag>Information;E2S</Tag> + <Tag>Point n°1</Tag> + </Content> + + <ArchiveUnit id="ID31"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">PV CA antérieur01-11-2019</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Status>Voté</Status> + <Tag>PV</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID29</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID28"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">PV CA antérieur01-10-2019</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Status>Voté</Status> + <Tag>PV</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID26</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID35"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe PtOJ1 Infos</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID33</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + </ArchiveUnit> + <ArchiveUnit id="ID36"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé2CVTato</Title> + <Tag>Point OJ</Tag> + <Tag>Convention;Tato + </Tag> <!-- A quoi correspond cette valeur ? Doit-elle apparaître ainsi ? --> + <Tag>Point n° 2</Tag> + </Content> + <ArchiveUnit id="ID103"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID46"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélibPtOJ2SignPlanActions</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom + </FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID45</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID44</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + <ArchiveUnit id="ID37"> + <Management> + <AppraisalRule> + <Rule>APP-00015</Rule> + <StartDate>2019-12-31</StartDate> + <FinalAction>Destroy</FinalAction> + </AppraisalRule> + </Management> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Convention</Title> + <Tag>Convention</Tag> + <Tag>Tato</Tag> + </Content> + <ArchiveUnit id="ID40"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ConventionFictif</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID38</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID43"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">PAPtOJ2PRJ3-PlanClasst SAE</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID41</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + + <ArchiveUnit id="ID47"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé3ACITet</Title> + <Tag>Point OJ</Tag> + <Tag>ACI;Tet</Tag> + <Tag>Point n°3</Tag> + </Content> + <ArchiveUnit id="ID106"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID60"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélibSignPtOJ3</Title> + <OriginatingSystemId>ID-Si-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom + </FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID59</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID58</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + <ArchiveUnit id="ID48"> + <Management> + <AppraisalRule> + <Rule>APP-00015</Rule> + <StartDate>2019-12-31</StartDate> + <FinalAction>Destroy</FinalAction> + </AppraisalRule> + </Management> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Accord international</Title> + <Tag>ACI</Tag> + <Tag>Tet</Tag> + </Content> + <ArchiveUnit id="ID51"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ACI</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID49</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID54"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 1 ACI</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID52</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID57"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 2 ACI</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID55</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + + <ArchiveUnit id="ID61"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé4SsCVScACI</Title> + <Tag>Point OJ</Tag> + <Tag>Point n°4</Tag> + </Content> + <ArchiveUnit id="ID104"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID64"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélibSignPtOJ4</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom + </FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID63</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID62</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID67"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 1</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID65</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID70"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 2</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID68</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + + <ArchiveUnit id="ID71"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé5PVanterieur</Title> + <Tag>Point OJ</Tag> + <Tag>Point n°5</Tag> + <Tag>PV</Tag> + </Content> + <ArchiveUnit id="ID105"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID74"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélib1SignPtOJ5</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom + </FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID73</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID72</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + + <ArchiveUnit id="ID75"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé6StatutsColleges</Title> + <Tag>Point OJ</Tag> + <Tag>Point n°6</Tag> + <Tag>Statut;Collège</Tag> + </Content> + <ArchiveUnit id="ID107"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait Collège 1</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID78"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélib1SignPtOJ6College1</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom + </FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID77</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID76</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID87"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 1 Collège 1.pdf</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID85</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + <ArchiveUnit id="ID108"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait Collège 2</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID81"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélib2SignPtOJ6College2</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom + </FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID80</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID79</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID90"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 2 Collège 2.pdf</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID88</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + <ArchiveUnit id="ID109"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait Collège 3</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID84"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélib3SignPtOJ6College3.pdf</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom + </FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID83</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID82</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID93"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 3 Collège 3.pdf</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID91</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + + </DescriptiveMetadata> + <ManagementMetadata> + <OriginatingAgencyIdentifier>19640251500270</OriginatingAgencyIdentifier> + <SubmissionAgencyIdentifier>19640251500270</SubmissionAgencyIdentifier> + <AppraisalRule> + <Rule>APP-00015</Rule> <!-- DUA 15 ans --> + <StartDate>2019-12-31</StartDate> + <FinalAction>Keep</FinalAction> + </AppraisalRule> + <AccessRule> + <Rule>ACC-00001</Rule> <!-- Librement communicable --> + <StartDate>2019-12-31</StartDate> + </AccessRule> + </ManagementMetadata> + </DataObjectPackage> + <ArchivalAgency> + <Identifier schemeName="SIRET" schemeAgencyName="INSEE">19341594000017</Identifier> + </ArchivalAgency> + <TransferringAgency> + <Identifier schemeName="SIRET" schemeAgencyName="INSEE">19640251500270</Identifier> + </TransferringAgency> +</ArchiveTransfer> diff --git a/api/api-pastis/pastis/src/test/resources/manifests/manifestOK.xml b/api/api-pastis/pastis/src/test/resources/manifests/manifestOK.xml new file mode 100644 index 000000000..655de63f1 --- /dev/null +++ b/api/api-pastis/pastis/src/test/resources/manifests/manifestOK.xml @@ -0,0 +1,1140 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ArchiveTransfer + xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1" +> + <Date>2020-06-16T16:04:33.425</Date> + <MessageIdentifier>SIP SEDA UPPA de test</MessageIdentifier> + <ArchivalAgreement>IN-UPPA-0</ArchivalAgreement> + <CodeListVersions></CodeListVersions> + <DataObjectPackage> + <DataObjectGroup id="ID100"> + <BinaryDataObject id="ID101"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID101.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + e188a8b598dea9064eae4dfe8d3f98ca002feb259ea21ff8b80c7f49d37a2433eb754f0c0d901f29b05b94463fe0553a8d946be90adcebd7008a550157f56f50 + </MessageDigest> + <Size>210110</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Relevé de conclusions.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID11"> + <BinaryDataObject id="ID12"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID12.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 7d316982a4cb7416a2ed3d48735f9a0593b33b6f95d04d6f12682e0a5d12085effb2df035862dd70d03b1840edbb8e4bddeeedc68013fdf3068db0489563eed1 + </MessageDigest> + <Size>205838</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Accusé de réception du rectorat.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID14"> + <BinaryDataObject id="ID15"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID15.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Convocation-OJ.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID17"> + <BinaryDataObject id="ID18"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID18.mp3</Uri> + <MessageDigest algorithm="SHA-512"> + 71ff1326d14b7581584e92f7f8b2e195201a214af67fec16854e17f4301a12dbbbc6dc1984bd9bf0dd65736a3b32e59b4d795c331fe766468394f3061950da0e + </MessageDigest> + <Size>418442</Size> + <FormatIdentification> + <FormatLitteral>MPEG 1/2 Audio Layer 3</FormatLitteral> + <FormatId>fmt/134</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Enregistrement audio.mp3</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID20"> + <BinaryDataObject id="ID21"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID21.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 41fcbf12eaec21ba65eeec5214e4376da9890a90e275e6b9dac7d8a9606892cd74ed026d0351ad4e8a2b7d32ce28ea1fd6c1066128e8ac4d86a9709378ffcf08 + </MessageDigest> + <Size>209935</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Feuille d'émargt- consultatifs.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID23"> + <BinaryDataObject id="ID24"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID24.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 0718b77db6ac2b1d21729d6d3317aab0c7f70e4f8af3acfbabe1696032b5d89c70ced454369a5156c7094bfd74f83986fa1a0a27fd0538e4d9546a7e8df76442 + </MessageDigest> + <Size>206456</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Feuille d'émargt-élus.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID26"> + <BinaryDataObject id="ID27"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID27.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 6cffd624d2d9dba4b66eb8c50d43c5791b8cccdd92675255ba507602323e1cee22d6e467140b2af42ff7d3499413e54547a8b6ad0498d7b2e8e67bda15fc3037 + </MessageDigest> + <Size>205683</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>PV CA antérieur01-10-2019.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID29"> + <BinaryDataObject id="ID30"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID30.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + c5e1508e873734406f706a60cf5aec612c50845324655d650b4c16a3de1a2299b2a689028e0967a946369c02076cb82518368abfad628ee1d1217e4cad0fdc7b + </MessageDigest> + <Size>203506</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>PV CA antérieur01-11-2019.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID33"> + <BinaryDataObject id="ID34"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID34.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 1c326663ada662ad1a8ade439e6dde0ff02933e2640373aaec1817c5a6e378d4c57e7ab83e6c99469f0101842e78cfa63082eceaa558eafd1c8e85fd343defce + </MessageDigest> + <Size>200492</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe PtOJ1 Infos.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID38"> + <BinaryDataObject id="ID39"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID39.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + da4139be6e1fd9ac2649fc55a05dea421cba951f5404bb691c2af32085862bfdf0182a1121e77b80e8cf136fd19ed5bed394970fca22de2791e8da27dab25bfb + </MessageDigest> + <Size>852122</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ConventionFictif.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID41"> + <BinaryDataObject id="ID42"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID42.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + f3904a6484e1bbf392b68533b53e74464c6da839b76f7bd074dcee857a53e9724053e093102073450ff2de2b875bf2c8c1bc0478b7585f4f4344ba08c90e7507 + </MessageDigest> + <Size>1325131</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.7 - Portable Document Format</FormatLitteral> + <FormatId>fmt/276</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>PAPtOJ2PRJ3-PlanClasst SAE.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID44"> + <BinaryDataObject id="ID45"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID45.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélibPtOJ2SignPlanActions.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID49"> + <BinaryDataObject id="ID50"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID50.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 3744809ee7b304f78ed3595473ec4fefc666b3bed2e3512d347c18a7afc83573b97ed3c40a2080d832496b386d61e8a2d3be6c1f9eefbd8ccb43f3029dd48307 + </MessageDigest> + <Size>198204</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ACI.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID52"> + <BinaryDataObject id="ID53"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID53.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + c58cf5388cae5dd4bb55ac76a541f5f13683524e1c337836b5c75217d186f70fd351680499f344b82ef5b0c739da398ee8094f387c4bc3a425571a6e597349bf + </MessageDigest> + <Size>306906</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 1 ACI.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID55"> + <BinaryDataObject id="ID56"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID56.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + dc9cefa1e03764eccad4b7b3ba5ef6b4f977d373df9febdafd309793c91b6a71f74ed1e2567f6be0821f34dd8b2e0a266d0377e740ba11ebe6977d21381a9e00 + </MessageDigest> + <Size>307037</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 2 ACI.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID58"> + <BinaryDataObject id="ID59"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID59.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélibSignPtOJ3.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID62"> + <BinaryDataObject id="ID63"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID63.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélibSignPtOJ4.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID65"> + <BinaryDataObject id="ID66"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID66.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 919b5cea234c11df0aaf6cc00eed4eca204a29900250c9474af7118b03d96f29133bdd761bb29ddc3e56ef81fc4e662b5fb72a408693daef2e595adfa42df2ba + </MessageDigest> + <Size>210276</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 1.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID68"> + <BinaryDataObject id="ID69"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID69.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 5358f033013102ac7272240a780cc77f9efba5eda6d943c036aae053ac46b443363bf5c5aae62bdee287bde9980b3fd74197726546fe098e29b0a008457106fa + </MessageDigest> + <Size>210437</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 2.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID72"> + <BinaryDataObject id="ID73"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID73.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélib1SignPtOJ5.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID76"> + <BinaryDataObject id="ID77"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID77.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélib1SignPtOJ6College1.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID79"> + <BinaryDataObject id="ID80"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID80.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélib2SignPtOJ6College2.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID82"> + <BinaryDataObject id="ID83"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID83.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélib3SignPtOJ6College3.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID85"> + <BinaryDataObject id="ID86"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID86.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 5f6d6348235a7b736dd2430a7369bae7c9371508e9c5c276cc9fb719ac2de46110dc84cf5f5fc3ee295fc7c0babfc3174e8303ad4c1ce4e7184682e51d6a67f5 + </MessageDigest> + <Size>207968</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 1 Collège 1.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID88"> + <BinaryDataObject id="ID89"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID89.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + fcf3976b6ee893a1e5bc5215fe3a1873639e2df7adee675258713181403eccf7763becd0ecb668e29ba72988abf12ab86bb1761ecf22003511559eef5eb33376 + </MessageDigest> + <Size>207968</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 2 Collège 2.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID91"> + <BinaryDataObject id="ID92"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID92.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 98308790accb1e0285f4e9e13fb10af8f5075962e99dd482a911ccb398daea72068a81549c044404480e15bb9aa59cda42178867870f6c20a9308cfc048cf738 + </MessageDigest> + <Size>210121</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 3 Collège 3.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID94"> + <BinaryDataObject id="ID95"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID95.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + f71e44691d70ae7e3961920374cf62fea43e9bcf7976acf580fe8dedc60e3f8cc4471fbbbcc689307dbc451ec142d902a180dc420e1a6ed2583590626a8cd547 + </MessageDigest> + <Size>205939</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.7 - Portable Document Format</FormatLitteral> + <FormatId>fmt/276</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Procuration1.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID97"> + <BinaryDataObject id="ID98"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID98.pdf</Uri> + <MessageDigest algorithm="SHA-512"> + 56f84353b4b66caed44da4ef5264a337c4d267426b928257b9f3f2a67e1ec714782cddfdda73b0f87fc048ccd4f883c90711534085fd95767f181090010c6800 + </MessageDigest> + <Size>198621</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Procuration2.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + + <DescriptiveMetadata> + + <ArchiveUnit id="ID10"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Séance CA du 02-12-2019</Title> + <OriginatingSystemId>ID-SI-Prod</OriginatingSystemId> + <Description xml:lang="fra">Ces documents sont archivés dans le but d'une conservation des décisions + du conseil d'administration. + </Description> + <CustodialHistory> + <CustodialHistoryItem>Ces archives sont transférées à l'initiative de la Direction des affaires + juridiques directement vers le SAE externalisé pour conservation et après validation de + l'archiviste de l'UPPA + </CustodialHistoryItem> + </CustodialHistory> + <Language>fra</Language> + <Tag>Organe délibérant</Tag> + <Tag>Conseil d'administration</Tag> + <CreatedDate>2019-12-02</CreatedDate> + <!--Date de tenue du CA--> + <StartDate>2019-12-02</StartDate> <!--Date de tenue du CA--> + <EndDate>2019-12-02</EndDate> <!--Date de tenue du CA--> + </Content> + + <ArchiveUnit id="ID96"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Procuration1</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Procuration</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID94</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID99"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Procuration2</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Procuration</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID97</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID16"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Convocation-OJ</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom + </FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID15</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID14</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID25"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Feuille d'émargement-élus</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID23</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID22"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Feuille d'émargement-membres consultatifs</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID20</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID19"> + <Management> + <AppraisalRule> + <Rule>APP-00015</Rule> + <StartDate>2019-12-31</StartDate> + <FinalAction>Destroy</FinalAction> + </AppraisalRule> + <AccessRule> + <Rule>ACC-00020</Rule> + <StartDate>2019-12-31</StartDate> + </AccessRule> + </Management> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Enregistrement audio</Title> + <OriginatingSystemId>ID-SI-Prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID17</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID102"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Relevé de conclusions</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID100</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID13"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Accusé de réception du rectorat</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID11</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID32"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé1Infos</Title> + <Tag>Point OJ</Tag> + <Tag>Information;E2S</Tag> + <Tag>Point n°1</Tag> + </Content> + + <ArchiveUnit id="ID31"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">PV CA antérieur01-11-2019</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Status>Voté</Status> + <Tag>PV</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID29</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID28"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">PV CA antérieur01-10-2019</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Status>Voté</Status> + <Tag>PV</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID26</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID35"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe PtOJ1 Infos</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID33</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + </ArchiveUnit> + <ArchiveUnit id="ID36"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé2CVTato</Title> + <Tag>Point OJ</Tag> + <Tag>Convention;Tato + </Tag> <!-- A quoi correspond cette valeur ? Doit-elle apparaître ainsi ? --> + <Tag>Point n° 2</Tag> + </Content> + <ArchiveUnit id="ID103"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID46"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélibPtOJ2SignPlanActions</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom + </FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID45</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID44</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + <ArchiveUnit id="ID37"> + <Management> + <AppraisalRule> + <Rule>APP-00015</Rule> + <StartDate>2019-12-31</StartDate> + <FinalAction>Destroy</FinalAction> + </AppraisalRule> + </Management> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Convention</Title> + <Tag>Convention</Tag> + <Tag>Tato</Tag> + </Content> + <ArchiveUnit id="ID40"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ConventionFictif</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID38</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID43"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">PAPtOJ2PRJ3-PlanClasst SAE</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID41</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + + <ArchiveUnit id="ID47"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé3ACITet</Title> + <Tag>Point OJ</Tag> + <Tag>ACI;Tet</Tag> + <Tag>Point n°3</Tag> + </Content> + <ArchiveUnit id="ID106"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID60"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélibSignPtOJ3</Title> + <OriginatingSystemId>ID-Si-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom + </FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID59</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID58</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + <ArchiveUnit id="ID48"> + <Management> + <AppraisalRule> + <Rule>APP-00015</Rule> + <StartDate>2019-12-31</StartDate> + <FinalAction>Destroy</FinalAction> + </AppraisalRule> + </Management> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Accord international</Title> + <Tag>ACI</Tag> + <Tag>Tet</Tag> + </Content> + <ArchiveUnit id="ID51"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ACI</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID49</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID54"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 1 ACI</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID52</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID57"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 2 ACI</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID55</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + + <ArchiveUnit id="ID61"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé4SsCVScACI</Title> + <Tag>Point OJ</Tag> + <Tag>Point n°4</Tag> + </Content> + <ArchiveUnit id="ID104"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID64"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélibSignPtOJ4</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom + </FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID63</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID62</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID67"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 1</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID65</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID70"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 2</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID68</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + + <ArchiveUnit id="ID71"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé5PVanterieur</Title> + <Tag>Point OJ</Tag> + <Tag>Point n°5</Tag> + <Tag>PV</Tag> + </Content> + <ArchiveUnit id="ID105"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID74"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélib1SignPtOJ5</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom + </FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID73</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID72</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + + <ArchiveUnit id="ID75"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé6StatutsColleges</Title> + <Tag>Point OJ</Tag> + <Tag>Point n°6</Tag> + <Tag>Statut;Collège</Tag> + </Content> + <ArchiveUnit id="ID107"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait Collège 1</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID78"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélib1SignPtOJ6College1</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom + </FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID77</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID76</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID87"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 1 Collège 1.pdf</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID85</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + <ArchiveUnit id="ID108"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait Collège 2</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID81"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélib2SignPtOJ6College2</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom + </FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID80</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID79</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID90"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 2 Collège 2.pdf</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID88</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + <ArchiveUnit id="ID109"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait Collège 3</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID84"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélib3SignPtOJ6College3.pdf</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom + </FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID83</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512"> + 6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7 + </SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID82</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID93"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 3 Collège 3.pdf</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID91</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + + </DescriptiveMetadata> + <ManagementMetadata> + <ArchivalProfile>PR-000001</ArchivalProfile> + <OriginatingAgencyIdentifier>19640251500270</OriginatingAgencyIdentifier> + <SubmissionAgencyIdentifier>19640251500270</SubmissionAgencyIdentifier> + <AppraisalRule> + <Rule>APP-00015</Rule> <!-- DUA 15 ans --> + <StartDate>2019-12-31</StartDate> + <FinalAction>Keep</FinalAction> + </AppraisalRule> + <AccessRule> + <Rule>ACC-00001</Rule> <!-- Librement communicable --> + <StartDate>2019-12-31</StartDate> + </AccessRule> + </ManagementMetadata> + </DataObjectPackage> + <ArchivalAgency> + <Identifier schemeName="SIRET" schemeAgencyName="INSEE">19341594000017</Identifier> + </ArchivalAgency> + <TransferringAgency> + <Identifier schemeName="SIRET" schemeAgencyName="INSEE">19640251500270</Identifier> + </TransferringAgency> +</ArchiveTransfer> diff --git a/api/api-pastis/pastis/src/test/resources/manifests/rngProfile.rng b/api/api-pastis/pastis/src/test/resources/manifests/rngProfile.rng new file mode 100644 index 000000000..dd585b22c --- /dev/null +++ b/api/api-pastis/pastis/src/test/resources/manifests/rngProfile.rng @@ -0,0 +1,851 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<rng:grammar xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:seda="fr:gouv:culture:archivesdefrance:seda:v2.1" + xmlns:rng="http://relaxng.org/ns/structure/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" + ns="fr:gouv:culture:archivesdefrance:seda:v2.1" + xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1" +> + <rng:start> + <rng:element name="ArchiveTransfer"> + <rng:element name="Date"> + <rng:data type="dateTime"/> + </rng:element> + <rng:element name="MessageIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ArchivalAgreement"> + <rng:value type="token">IN-UPPA-0</rng:value> + </rng:element> + <rng:element name="CodeListVersions"> + <rng:data type="token"/> + </rng:element> + <rng:element name="DataObjectPackage"> + <rng:oneOrMore> + <rng:element name="DataObjectGroup"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:zeroOrMore> + <rng:element name="BinaryDataObject"> + <rng:element name="DataObjectVersion"> + <xsd:annotation> + <xsd:documentation>BinaryMaster par défaut</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Uri"> + <rng:data type="anyURI"/> + </rng:element> + <rng:element name="MessageDigest"> + <rng:data type="base64Binary"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + <rng:element name="Size"> + <rng:data type="token"/> + </rng:element> + <rng:element name="FormatIdentification"> + <rng:optional> + <rng:element name="FormatLitteral"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="FormatId"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="FileInfo"> + <rng:element name="Filename"> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:element> + </rng:zeroOrMore> + </rng:element> + </rng:oneOrMore> + <rng:element name="DescriptiveMetadata"> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Séance du conseil d'administration</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">File</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="string"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Description"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:value type="token">Ces documents sont archivés dans le but d'une conservation des + décisions du conseil d'administration. + </rng:value> + </rng:element> + <rng:optional> + <rng:element name="CustodialHistory"> + <rng:element name="CustodialHistoryItem"> + <rng:value type="token">Ces archives sont transférées à l'initiative de la + Direction des affaires juridiques directement vers le SAE externalisé pour + conservation et après validation de l'archiviste de l'UPPA + </rng:value> + </rng:element> + </rng:element> + </rng:optional> + <rng:element name="Language"> + <rng:value type="token">fra</rng:value> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Organe délibérant</rng:value> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Conseil d'administration</rng:value> + </rng:element> + <rng:element name="CreatedDate"> + <xsd:annotation> + <xsd:documentation>Date de tenue du CA</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <xsd:annotation> + <xsd:documentation>Date de tenue du CA</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="EndDate"> + <xsd:annotation> + <xsd:documentation>Date de tenue du CA</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Procurations</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="string"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Procuration</rng:value> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Convocation-OJ</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + <rng:value type="string">Convocation-OJ</rng:value> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Signature"> + <rng:oneOrMore> + <rng:element name="Signer"> + <rng:element name="FullName"> + <rng:data type="string"/> + </rng:element> + <rng:element name="SigningTime"> + <rng:data type="dateTime"/> + </rng:element> + <rng:optional> + <rng:element name="Function"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:oneOrMore> + <rng:element name="Validator"> + <rng:element name="FullName"> + <rng:data type="string"/> + </rng:element> + <rng:element name="ValidationTime"> + <rng:data type="dateTime"/> + </rng:element> + <rng:optional> + <rng:element name="Function"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="ReferencedObject"> + <rng:element name="SignedObjectId"> + <rng:data type="token"/> + </rng:element> + <rng:element name="SignedObjectDigest"> + <rng:data type="token"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Feuille d'émargement-élus</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + <rng:value type="string">Feuille d'émargement-élus</rng:value> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Feuille d'émargement-membres consultatifs</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + <rng:value type="string">Feuille d'émargement-membres consultatifs</rng:value> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + <rng:optional> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Enregistrement audio</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="Management"> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <xsd:annotation> + <xsd:documentation>DUA 15 ans</xsd:documentation> + </xsd:annotation> + <rng:value type="token">APP-00015</rng:value> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="token"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:value type="token">Destroy</rng:value> + </rng:element> + </rng:element> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <rng:value type="token">ACC-00020</rng:value> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:optional> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + <rng:value type="string">Enregistrement audio</rng:value> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:optional> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Relevé de conclusions</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + <rng:value type="string">Relevé de conclusions</rng:value> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Accusé de réception du rectorat</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + <rng:value type="string">Accusé de réception du rectorat</rng:value> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + <rng:oneOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Point OJ</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">File</rng:value> + </rng:element> + <rng:element name="Title"> + <xsd:annotation> + <xsd:documentation>Intitulé du point à l'OJ</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Point OJ</rng:value> + </rng:element> + <rng:element name="Tag"> + <xsd:annotation> + <xsd:documentation>Point n°</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:zeroOrMore> + <rng:element name="Tag"> + <xsd:annotation> + <xsd:documentation>Mot-clés ordre du jour</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>PV CA antérieur</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Status"> + <xsd:annotation> + <xsd:documentation>"Voté" ou "Non voté"</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">PV</rng:value> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Extrait</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">File</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Extrait de délibération</rng:value> + </rng:element> + </rng:element> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Extrait</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Signature"> + <rng:oneOrMore> + <rng:element name="Signer"> + <rng:element name="FullName"> + <rng:data type="string"/> + </rng:element> + <rng:element name="SigningTime"> + <rng:data type="dateTime"/> + </rng:element> + <rng:optional> + <rng:element name="Function"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:oneOrMore> + <rng:element name="Validator"> + <rng:element name="FullName"> + <rng:data type="string"/> + </rng:element> + <rng:element name="ValidationTime"> + <rng:data type="dateTime"/> + </rng:element> + <rng:optional> + <rng:element name="Function"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="ReferencedObject"> + <rng:element name="SignedObjectId"> + <rng:data type="token"/> + </rng:element> + <rng:element name="SignedObjectDigest"> + <rng:data type="token"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Pièces annexes</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Pièce annexe</rng:value> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:zeroOrMore> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Pièces annexes</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Pièce annexe</rng:value> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Convention ou Accord international</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Management"> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <rng:value type="token">APP-00015</rng:value> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="token"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:value type="token">Destroy</rng:value> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">File</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:optional> + <rng:element name="Tag"> + <rng:value type="token">ACI</rng:value> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Tag"> + <rng:value type="token">Convention</rng:value> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Tag"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Convention ou ACI</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Pièces annexes</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Pièce annexe</rng:value> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:zeroOrMore> + </rng:element> + </rng:zeroOrMore> + </rng:element> + </rng:oneOrMore> + </rng:element> + </rng:element> + <rng:element name="ManagementMetadata"> + <rng:element name="ArchivalProfile"> + <rng:data type="token"/> + </rng:element> + <rng:element name="OriginatingAgencyIdentifier"> + <rng:value type="token">19640251500270</rng:value> + </rng:element> + <rng:element name="SubmissionAgencyIdentifier"> + <rng:value type="token">19640251500270</rng:value> + </rng:element> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <xsd:annotation> + <xsd:documentation>DUA 15 ans</xsd:documentation> + </xsd:annotation> + <rng:value type="token">APP-00015</rng:value> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:value type="token">Keep</rng:value> + </rng:element> + </rng:element> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <xsd:annotation> + <xsd:documentation>Librement communicable</xsd:documentation> + </xsd:annotation> + <rng:value type="token">ACC-00001</rng:value> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="ArchivalAgency"> + <rng:element name="Identifier"> + <rng:attribute name="schemeName"> + <rng:value type="token">SIRET</rng:value> + </rng:attribute> + <rng:attribute name="schemeAgencyName"> + <rng:value type="token">INSEE</rng:value> + </rng:attribute> + <rng:value type="token">19341594000017</rng:value> + </rng:element> + </rng:element> + <rng:element name="TransferringAgency"> + <rng:element name="Identifier"> + <rng:attribute name="schemeName"> + <rng:value type="token">SIRET</rng:value> + </rng:attribute> + <rng:attribute name="schemeAgencyName"> + <rng:value type="token">INSEE</rng:value> + </rng:attribute> + <rng:value type="token">19640251500270</rng:value> + </rng:element> + </rng:element> + </rng:element> + </rng:start> +</rng:grammar> diff --git a/api/api-pastis/pastis/src/test/resources/profiles/profile_nok.rng b/api/api-pastis/pastis/src/test/resources/profiles/profile_nok.rng new file mode 100644 index 000000000..3f5e0ba8c --- /dev/null +++ b/api/api-pastis/pastis/src/test/resources/profiles/profile_nok.rng @@ -0,0 +1,875 @@ +<?xml version='1.0' encoding='utf-8' standalone='no'?> +<rng:grammar xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:seda="fr:gouv:culture:archivesdefrance:seda:v2.1" + xmlns:rng="http://relaxng.org/ns/structure/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" + ns="fr:gouv:culture:archivesdefrance:seda:v2.1" + xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1" +> + <!-- Profil RNG avec 1 objet numérique déclaré (en O-N), et 1 AU racine (en O-n) qui déclare un AU fille (en O-N)--> + <rng:start> + <rng:element name="ArchiveTransfer"> + <rng:optional> + <rng:element name="Comment"> + </rng:element> + </rng:optional> + <rng:element name="Date"> + <rng:data type="dateTime"/> + </rng:element> + <rng:element name="MessageIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ArchivalAgreement"> + <xsd:annotation> + <xsd:documentation>Déclaration du contrat d'entrée</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="CodeListVersions"> + <rng:data type="token"/> + </rng:element> + <rng:element name="DataObjectPackage"> + <rng:attribute name="xml:id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="DataObjectGroup"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:zeroOrMore> + <rng:element name="BinaryDataObject"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="DataObjectGroupId"> + <xsd:annotation> + <xsd:documentation>Sert à lier un fichier à l'ArchiveUnit auquel il correspond. + Exemple: ID7 + </xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:element name="DataObjectVersion"> + <rng:data type="token"/> + <xsd:annotation> + <xsd:documentation>BinaryMaster par défaut</xsd:documentation> + </xsd:annotation> + </rng:element> + <rng:element name="Uri"> + <rng:data type="anyURI"/> + </rng:element> + <rng:element name="MessageDigest"> + <rng:data type="base64Binary"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + <rng:element name="Size"> + <rng:data type="positiveInteger"/> + </rng:element> + <rng:element name="FormatIdentification"> + <rng:element name="FormatLitteral"> + <rng:data type="string"/> + </rng:element> + <rng:optional> + <rng:element name="MimeType"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="FormatId"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Encoding"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="FileInfo"> + <rng:element name="Filename"> + <xsd:annotation> + <xsd:documentation>Nom du fichier. Exemple: + 22100005200011_20091118_144251_1.pdf + </xsd:documentation> + </xsd:annotation> + <rng:data type="string"/> + </rng:element> + </rng:element> + <rng:optional> + <rng:element name="Metadata"> + <rng:optional> + <rng:element name="Video"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Audio"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="DescriptiveMetadata"> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="ArchiveUnitProfile"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Management"> + <rng:optional> + <rng:element name="UpdateOperation"> + <rng:element name="ArchiveUnitIdentifierKey"> + <rng:element name="MetadataName"> + <rng:data type="token"/> + </rng:element> + <rng:element name="MetadataValue"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:data type="token"/> + </rng:element> + <rng:oneOrMore> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="FilePlanPosition"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="OriginatingAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="TransferringAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Description"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="CustodialHistory"> + <rng:oneOrMore> + <rng:element name="CustodialHistoryItem"> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Type"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:oneOrMore> + <rng:element name="Language"> + <xsd:annotation> + <xsd:documentation>Langue du contenu du sous-ensemble de l'archive + exprimée au format ISO 639-3 + </xsd:documentation> + </xsd:annotation> + <rng:data type="language"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="DescriptionLanguage"> + <rng:data type="language"/> + </rng:element> + </rng:optional> + <rng:zeroOrMore> + <rng:element name="Tag"> + <rng:data type="token"/> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="Keyword"> + <rng:element name="KeywordContent"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="OriginatingAgency"> + <xsd:annotation> + <xsd:documentation>Service producteur</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="SubmissionAgency"> + <xsd:annotation> + <xsd:documentation>Service versant</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RelatedObjectReference"> + <rng:zeroOrMore> + <rng:element name="IsVersionOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="Replaces"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="IsPartOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="References"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="StartDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus ancien dans + l'ArchiveUnit + </xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + <rng:element name="EndDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus récent dans + l'ArchiveUnit. + </xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + </rng:element> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="ArchiveUnitProfile"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Management"> + <rng:optional> + <rng:element name="UpdateOperation"> + <rng:element name="ArchiveUnitIdentifierKey"> + <rng:element name="MetadataName"> + <rng:data type="token"/> + </rng:element> + <rng:element name="MetadataValue"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:data type="token"/> + </rng:element> + <rng:oneOrMore> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="FilePlanPosition"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="OriginatingAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="TransferringAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Description"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="CustodialHistory"> + <rng:oneOrMore> + <rng:element name="CustodialHistoryItem"> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Type"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:oneOrMore> + <rng:element name="Language"> + <xsd:annotation> + <xsd:documentation>Langue du contenu du sous-ensemble de l'archive + exprimée au format ISO 639-3 + </xsd:documentation> + </xsd:annotation> + <rng:data type="language"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="DescriptionLanguage"> + <rng:data type="language"/> + </rng:element> + </rng:optional> + <rng:zeroOrMore> + <rng:element name="Tag"> + <rng:data type="token"/> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="Keyword"> + <rng:element name="KeywordContent"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="OriginatingAgency"> + <xsd:annotation> + <xsd:documentation>Service producteur</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="SubmissionAgency"> + <xsd:annotation> + <xsd:documentation>Service versant</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RelatedObjectReference"> + <rng:zeroOrMore> + <rng:element name="IsVersionOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="Replaces"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="IsPartOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="References"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="StartDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus ancien dans + l'ArchiveUnit + </xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + <rng:element name="EndDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus récent dans + l'ArchiveUnit. + </xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + </rng:element> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="ManagementMetadata"> + <rng:element name="ArchivalProfile"> + <rng:data type="token"/> + </rng:element> + <rng:element name="OriginatingAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="SubmissionAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:element> + <rng:element name="ArchivalAgency"> + <rng:element name="Identifier"> + <rng:value>19341594000017</rng:value> + <rng:attribute name="schemeName"> + <rng:value>SIRET</rng:value> + </rng:attribute> + <rng:attribute name="schemeAgencyName"> + <rng:value>INSEE</rng:value> + </rng:attribute> + </rng:element> + </rng:element> + <rng:element name="TransferringAgency"> + <xsd:annotation> + <xsd:documentation>Doit permettre d'identifier l'opérateur technique réalisant le + versement de manière unique et non équivoque + </xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="token"/> + <rng:attribute name="schemeName"> + <rng:value>SIRET</rng:value> + </rng:attribute> + <rng:attribute name="schemeAgencyName"> + <rng:value>INSEE</rng:value> + </rng:attribute> + </rng:element> + </rng:element> + </rng:element> + </rng:start> +</rng:grammar> diff --git a/api/api-pastis/pastis/src/test/resources/profiles/profile_ok.rng b/api/api-pastis/pastis/src/test/resources/profiles/profile_ok.rng new file mode 100644 index 000000000..c36988a11 --- /dev/null +++ b/api/api-pastis/pastis/src/test/resources/profiles/profile_ok.rng @@ -0,0 +1,884 @@ +<?xml version='1.0' encoding='utf-8' standalone='no'?> +<rng:grammar xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:seda="fr:gouv:culture:archivesdefrance:seda:v2.1" + xmlns:rng="http://relaxng.org/ns/structure/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" + ns="fr:gouv:culture:archivesdefrance:seda:v2.1" + xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1" +> + <!-- Profil RNG avec 1 objet numérique déclaré (en O-N), et 1 AU racine (en O-n) qui déclare un AU fille (en O-N)--> + <rng:start> + <rng:element name="ArchiveTransfer"> + <rng:optional> + <rng:attribute name="xml:id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:element name="Comment"> + <xsd:annotation> + <xsd:documentation>Commentaire sur le versement</xsd:documentation> + </xsd:annotation> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:element name="Date"> + <rng:data type="dateTime"/> + </rng:element> + <rng:element name="MessageIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ArchivalAgreement"> + <xsd:annotation> + <xsd:documentation>Déclaration du contrat d'entrée</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="CodeListVersions"> + <rng:data type="token"/> + </rng:element> + <rng:element name="DataObjectPackage"> + <rng:attribute name="xml:id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="DataObjectGroup"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:zeroOrMore> + <rng:element name="BinaryDataObject"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="DataObjectGroupId"> + <xsd:annotation> + <xsd:documentation>Sert à lier un fichier à l'ArchiveUnit auquel il correspond. + Exemple: ID7 + </xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:element name="DataObjectVersion"> + <rng:data type="token"/> + <xsd:annotation> + <xsd:documentation>BinaryMaster par défaut</xsd:documentation> + </xsd:annotation> + </rng:element> + <rng:element name="Uri"> + <rng:data type="anyURI"/> + </rng:element> + <rng:element name="MessageDigest"> + <rng:data type="base64Binary"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + <rng:element name="Size"> + <rng:data type="positiveInteger"/> + </rng:element> + <rng:element name="FormatIdentification"> + <rng:element name="FormatLitteral"> + <rng:data type="string"/> + </rng:element> + <rng:optional> + <rng:element name="MimeType"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="FormatId"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Encoding"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="FileInfo"> + <rng:element name="Filename"> + <xsd:annotation> + <xsd:documentation>Nom du fichier. Exemple: + 22100005200011_20091118_144251_1.pdf + </xsd:documentation> + </xsd:annotation> + <rng:data type="string"/> + </rng:element> + </rng:element> + <rng:optional> + <rng:element name="Metadata"> + <rng:optional> + <rng:element name="Video"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Audio"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="DescriptiveMetadata"> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="ArchiveUnitProfile"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Management"> + <rng:optional> + <rng:element name="UpdateOperation"> + <rng:element name="ArchiveUnitIdentifierKey"> + <rng:element name="MetadataName"> + <rng:data type="token"/> + </rng:element> + <rng:element name="MetadataValue"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:data type="token"/> + </rng:element> + <rng:oneOrMore> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="FilePlanPosition"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="OriginatingAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="TransferringAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Description"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="CustodialHistory"> + <rng:oneOrMore> + <rng:element name="CustodialHistoryItem"> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Type"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:oneOrMore> + <rng:element name="Language"> + <xsd:annotation> + <xsd:documentation>Langue du contenu du sous-ensemble de l'archive + exprimée au format ISO 639-3 + </xsd:documentation> + </xsd:annotation> + <rng:data type="language"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="DescriptionLanguage"> + <rng:data type="language"/> + </rng:element> + </rng:optional> + <rng:zeroOrMore> + <rng:element name="Tag"> + <rng:data type="token"/> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="Keyword"> + <rng:element name="KeywordContent"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="OriginatingAgency"> + <xsd:annotation> + <xsd:documentation>Service producteur</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="SubmissionAgency"> + <xsd:annotation> + <xsd:documentation>Service versant</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RelatedObjectReference"> + <rng:zeroOrMore> + <rng:element name="IsVersionOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="Replaces"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="IsPartOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="References"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="StartDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus ancien dans + l'ArchiveUnit + </xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + <rng:element name="EndDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus récent dans + l'ArchiveUnit. + </xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + </rng:element> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="ArchiveUnitProfile"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Management"> + <rng:optional> + <rng:element name="UpdateOperation"> + <rng:element name="ArchiveUnitIdentifierKey"> + <rng:element name="MetadataName"> + <rng:data type="token"/> + </rng:element> + <rng:element name="MetadataValue"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:data type="token"/> + </rng:element> + <rng:oneOrMore> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="FilePlanPosition"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="OriginatingAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="TransferringAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Description"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="CustodialHistory"> + <rng:oneOrMore> + <rng:element name="CustodialHistoryItem"> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Type"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:oneOrMore> + <rng:element name="Language"> + <xsd:annotation> + <xsd:documentation>Langue du contenu du sous-ensemble de l'archive + exprimée au format ISO 639-3 + </xsd:documentation> + </xsd:annotation> + <rng:data type="language"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="DescriptionLanguage"> + <rng:data type="language"/> + </rng:element> + </rng:optional> + <rng:zeroOrMore> + <rng:element name="Tag"> + <rng:data type="token"/> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="Keyword"> + <rng:element name="KeywordContent"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="OriginatingAgency"> + <xsd:annotation> + <xsd:documentation>Service producteur</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="SubmissionAgency"> + <xsd:annotation> + <xsd:documentation>Service versant</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RelatedObjectReference"> + <rng:zeroOrMore> + <rng:element name="IsVersionOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="Replaces"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="IsPartOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="References"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="StartDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus ancien dans + l'ArchiveUnit + </xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + <rng:element name="EndDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus récent dans + l'ArchiveUnit. + </xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + </rng:element> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="ManagementMetadata"> + <rng:element name="ArchivalProfile"> + <rng:data type="token"/> + </rng:element> + <rng:element name="OriginatingAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="SubmissionAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:element> + <rng:element name="ArchivalAgency"> + <rng:element name="Identifier"> + <rng:value>19341594000017</rng:value> + <rng:attribute name="schemeName"> + <rng:value>SIRET</rng:value> + </rng:attribute> + <rng:attribute name="schemeAgencyName"> + <rng:value>INSEE</rng:value> + </rng:attribute> + </rng:element> + </rng:element> + <rng:element name="TransferringAgency"> + <xsd:annotation> + <xsd:documentation>Doit permettre d'identifier l'opérateur technique réalisant le + versement de manière unique et non équivoque + </xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="token"/> + <rng:attribute name="schemeName"> + <rng:value>SIRET</rng:value> + </rng:attribute> + <rng:attribute name="schemeAgencyName"> + <rng:value>INSEE</rng:value> + </rng:attribute> + </rng:element> + </rng:element> + </rng:element> + </rng:start> +</rng:grammar> diff --git a/api/api-pastis/pastis/src/test/resources/pua/Profil_seda_pastis_mvp.rng b/api/api-pastis/pastis/src/test/resources/pua/Profil_seda_pastis_mvp.rng new file mode 100644 index 000000000..aeb8a1ee4 --- /dev/null +++ b/api/api-pastis/pastis/src/test/resources/pua/Profil_seda_pastis_mvp.rng @@ -0,0 +1,107 @@ +<?xml version='1.0' encoding='utf-8' standalone='no'?> +<rng:grammar + xmlns:rng="http://relaxng.org/ns/structure/1.0" + xmlns:seda="fr:gouv:culture:archivesdefrance:seda:v2.1" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" + ns="fr:gouv:culture:archivesdefrance:seda:v2.1" seda:warnings=""> + <rng:start> + <rng:element name="ArchiveTransfer"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="Date"> + <rng:data type="dateTime"/> + </rng:element> + <rng:element name="MessageIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="CodeListVersions"> + <rng:data type="token"/> + </rng:element> + <rng:element name="DataObjectPackage"> + <rng:optional> + <rng:attribute name="xml:id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="DataObjectGroup"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:zeroOrMore> + <rng:element name="BinaryDataObject"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="DataObjectVersion"> + <rng:data type="token"/> + <xsd:annotation> + <xsd:documentation>BinaryMaster par défaut</xsd:documentation> + </xsd:annotation> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Uri"> + <rng:data type="anyURI"/> + </rng:element> + </rng:optional> + <rng:element name="MessageDigest"> + <rng:data type="base64Binary"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="DescriptiveMetadata"> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:optional> + <rng:element name="DescriptionLevel"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Title"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="ManagementMetadata"> + <rng:optional> + <rng:element name="OriginatingAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="SubmissionAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:element> + <rng:element name="ArchivalAgency"> + <rng:element name="Identifier"> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="TransferringAgency"> + <rng:element name="Identifier"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:start> +</rng:grammar> diff --git a/api/api-pastis/pastis/src/test/resources/pua/fileNodeFromPua.json b/api/api-pastis/pastis/src/test/resources/pua/fileNodeFromPua.json new file mode 100644 index 000000000..e69de29bb diff --git a/api/api-pastis/pastis/src/test/resources/pua/profile_Expected.json b/api/api-pastis/pastis/src/test/resources/pua/profile_Expected.json new file mode 100644 index 000000000..adc3180e3 --- /dev/null +++ b/api/api-pastis/pastis/src/test/resources/pua/profile_Expected.json @@ -0,0 +1,255 @@ +{ + "name": "DescriptiveMetadata", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 0, + "id": 0, + "parentId": null, + "choices": [], + "children": [ + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 1, + "id": 1, + "parentId": 0, + "choices": [], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 2, + "id": 2, + "parentId": 1, + "choices": [], + "children": [], + "puaData": null + }, + { + "name": "ArchiveUnitProfile", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "token", + "value": null, + "documentation": "DescriptionLevel : cardinalité 0-1 / valeur au choix", + "level": 2, + "id": 12, + "parentId": 1, + "choices": [], + "children": [], + "puaData": null + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 2, + "id": 3, + "parentId": 1, + "choices": [], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "token", + "value": null, + "documentation": "DescriptionLevel : cardinalité 0-1", + "level": 3, + "id": 5, + "parentId": 3, + "choices": [], + "children": [], + "puaData": { + "enum": [ + "Fonds", + "Subfonds", + "Class", + "Collection", + "Series", + "Subseries", + "RecordGrp", + "SubGrp", + "File", + "Item", + "OtherLevel" + ], + "pattern": null, + "minimum": null, + "minLenght": null, + "maxLenght": null, + "maximum": null, + "additionalProperties": null, + "exclusiveMaximum": null, + "exclusiveMinimum": null + } + }, + { + "name": "Title", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "string", + "value": null, + "documentation": "Title : cardinalité 0-N / valeur au choix", + "level": 3, + "id": 4, + "parentId": 3, + "choices": [], + "children": [], + "puaData": null + }, + { + "name": "FilePlanPosition", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "token", + "value": null, + "documentation": "FilePlanPosition : cardinalité 0-N / valeur au choix", + "level": 3, + "id": 8, + "parentId": 3, + "choices": [], + "children": [], + "puaData": null + }, + { + "name": "Tag", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "token", + "value": null, + "documentation": "Tag : cardinalité 0-N / valeur au choix", + "level": 3, + "id": 11, + "parentId": 3, + "choices": [], + "children": [], + "puaData": null + }, + { + "name": "Keyword", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "null", + "value": null, + "documentation": "Keyword : cardinalité 0-N / valeur au choix", + "level": 3, + "id": 6, + "parentId": 3, + "choices": [], + "children": [ + { + "name": "KeywordContent", + "type": "element", + "cardinality": "1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "string", + "value": null, + "documentation": "Identifier : cardinalité 1 / valeur au choix", + "level": 4, + "id": 7, + "parentId": 6, + "choices": [], + "children": [], + "puaData": null + } + ], + "puaData": { + "enum": null, + "pattern": null, + "minimum": null, + "minLenght": null, + "maxLenght": null, + "maximum": null, + "additionalProperties": false, + "exclusiveMaximum": null, + "exclusiveMinimum": null + } + }, + { + "name": "OriginatingAgency", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "null", + "value": null, + "documentation": "OriginatingAgency : cardinalité 0-1 / valeur au choix", + "level": 3, + "id": 9, + "parentId": 3, + "choices": [], + "children": [ + { + "name": "Identifier", + "type": "element", + "cardinality": "1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "string", + "value": null, + "documentation": "Identifier : cardinalité 1-1 / valeur au choix", + "level": 4, + "id": 10, + "parentId": 9, + "choices": [], + "children": [], + "puaData": null + } + ], + "puaData": { + "enum": null, + "pattern": null, + "minimum": null, + "minLenght": null, + "maxLenght": null, + "maximum": null, + "additionalProperties": false, + "exclusiveMaximum": null, + "exclusiveMinimum": null + } + } + ], + "puaData": null + } + ], + "puaData": null + } + ], + "puaData": null +} diff --git a/api/api-pastis/pastis/src/test/resources/pua/profile_Expected_with_management.json b/api/api-pastis/pastis/src/test/resources/pua/profile_Expected_with_management.json new file mode 100644 index 000000000..095740c54 --- /dev/null +++ b/api/api-pastis/pastis/src/test/resources/pua/profile_Expected_with_management.json @@ -0,0 +1,347 @@ +{ + "name": "DescriptiveMetadata", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 0, + "id": 0, + "parentId": null, + "choices": [], + "children": [ + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 1, + "id": 1, + "parentId": 0, + "choices": [], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 2, + "id": 2, + "parentId": 1, + "choices": [], + "children": [], + "puaData": null + }, + { + "name": "ArchiveUnitProfile", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "token", + "value": null, + "documentation": "DescriptionLevel : cardinalité 0-1 / valeur au choix", + "level": 2, + "id": 17, + "parentId": 1, + "choices": [], + "children": [], + "puaData": null + }, + { + "name": "Management", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "null", + "value": null, + "documentation": null, + "level": 2, + "id": 12, + "parentId": 1, + "choices": [], + "children": [ + { + "name": "AppraisalRule", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "null", + "value": null, + "documentation": "Appraisal : cardinalité 0-1 / contient obligatoirement Rule et FinalAction", + "level": 3, + "id": 13, + "parentId": 12, + "choices": [], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": "1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "token", + "value": null, + "documentation": "Rule : cardinalité 1", + "level": 4, + "id": 16, + "parentId": 13, + "choices": [], + "children": [], + "puaData": null + }, + { + "name": "StartDate", + "type": "element", + "cardinality": "1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "token", + "value": null, + "documentation": "StartDate : cardinalité 0-1 / valeur date libre", + "level": 4, + "id": 15, + "parentId": 13, + "choices": [], + "children": [], + "puaData": null + }, + { + "name": "FinalAction", + "type": "element", + "cardinality": "1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "token", + "value": null, + "documentation": "FinalAction : cardinalité 1-1 / valeur au choix", + "level": 4, + "id": 14, + "parentId": 13, + "choices": [], + "children": [], + "puaData": null + } + ], + "puaData": { + "maximum": null, + "minimum": null, + "additionalProperties": false, + "exclusiveMaximum": null, + "exclusiveMinimum": null, + "pattern": null, + "enum": null, + "minLenght": null, + "maxLenght": null + } + } + ], + "puaData": null + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 2, + "id": 3, + "parentId": 1, + "choices": [], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "token", + "value": null, + "documentation": "DescriptionLevel : cardinalité 0-1", + "level": 3, + "id": 5, + "parentId": 3, + "choices": [], + "children": [], + "puaData": { + "maximum": null, + "minimum": null, + "additionalProperties": null, + "exclusiveMaximum": null, + "exclusiveMinimum": null, + "pattern": null, + "enum": [ + "Fonds", + "Subfonds", + "Class", + "Collection", + "Series", + "Subseries", + "RecordGrp", + "SubGrp", + "File", + "Item", + "OtherLevel" + ], + "minLenght": null, + "maxLenght": null + } + }, + { + "name": "Title", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "string", + "value": null, + "documentation": "Title : cardinalité 0-N / valeur au choix", + "level": 3, + "id": 4, + "parentId": 3, + "choices": [], + "children": [], + "puaData": null + }, + { + "name": "FilePlanPosition", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "token", + "value": null, + "documentation": "FilePlanPosition : cardinalité 0-N / valeur au choix", + "level": 3, + "id": 8, + "parentId": 3, + "choices": [], + "children": [], + "puaData": null + }, + { + "name": "Tag", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "token", + "value": null, + "documentation": "Tag : cardinalité 0-N / valeur au choix", + "level": 3, + "id": 11, + "parentId": 3, + "choices": [], + "children": [], + "puaData": null + }, + { + "name": "Keyword", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "null", + "value": null, + "documentation": "Keyword : cardinalité 0-N / valeur au choix", + "level": 3, + "id": 6, + "parentId": 3, + "choices": [], + "children": [ + { + "name": "KeywordContent", + "type": "element", + "cardinality": "1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "string", + "value": null, + "documentation": "Identifier : cardinalité 1 / valeur au choix", + "level": 4, + "id": 7, + "parentId": 6, + "choices": [], + "children": [], + "puaData": null + } + ], + "puaData": { + "maximum": null, + "minimum": null, + "additionalProperties": false, + "exclusiveMaximum": null, + "exclusiveMinimum": null, + "pattern": null, + "enum": null, + "minLenght": null, + "maxLenght": null + } + }, + { + "name": "OriginatingAgency", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "null", + "value": null, + "documentation": "OriginatingAgency : cardinalité 0-1 / valeur au choix", + "level": 3, + "id": 9, + "parentId": 3, + "choices": [], + "children": [ + { + "name": "Identifier", + "type": "element", + "cardinality": "1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": "string", + "value": null, + "documentation": "Identifier : cardinalité 1-1 / valeur au choix", + "level": 4, + "id": 10, + "parentId": 9, + "choices": [], + "children": [], + "puaData": null + } + ], + "puaData": { + "maximum": null, + "minimum": null, + "additionalProperties": false, + "exclusiveMaximum": null, + "exclusiveMinimum": null, + "pattern": null, + "enum": null, + "minLenght": null, + "maxLenght": null + } + } + ], + "puaData": null + } + ], + "puaData": null + } + ], + "puaData": null +} diff --git a/api/api-pastis/pastis/src/test/resources/pua/pua_NOK_both_management_present.json b/api/api-pastis/pastis/src/test/resources/pua/pua_NOK_both_management_present.json new file mode 100644 index 000000000..5deffa956 --- /dev/null +++ b/api/api-pastis/pastis/src/test/resources/pua/pua_NOK_both_management_present.json @@ -0,0 +1,19 @@ +{ + "id": "aegaaaaabafbmai5aa2d2alwatqvahqaaaaq", + "identifier": "AUP-000007", + "name": "AUP default PASTIS", + "description": "Import d'un AUP default pour PASTIS", + "status": "ACTIVE", + "creationDate": "2000-09-01T00:00:00.000", + "lastUpdate": "2020-11-26T14:08:20.987", + "activationDate": "2016-12-10T00:00:00.000", + "deactivationDate": "2016-12-10T00:00:00.000", + "controlSchema": "{\"$schema\":\"http://json-schema.org/draft-04/schema\",\"type\":\"object\",\"additionalProperties\":false,\"patternProperties\":{\"#management\":{}},\"definitions\":{\"pattern-simple-date\":{\"type\":\"string\",\"pattern\":\"[0-9]{4}-[0-9]{2}-[0-9]{2}\"},\"pattern-date\":{\"type\":\"string\",\"pattern\":\"^([0-8][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))$\"}},\"properties\":{\"ArchiveUnitProfile\":{\"type\":\"string\",\"description\":\"DescriptionLevel : cardinalité 0-1 / valeur au choix\"},\"#management\":{\"properties\":{\"AppraisalRule\":{\"type\":\"object\",\"description\":\"Appraisal : cardinalité 0-1 / contient obligatoirement Rule et FinalAction\",\"additionalProperties\":false,\"properties\":{\"Rules\":{\"items\":{\"properties\":{\"Rule\":{\"description\":\"Rule : cardinalité 1\",\"type\":\"string\"},\"StartDate\":{\"description\":\"StartDate : cardinalité 0-1 / valeur date libre\",\"type\":\"string\"}},\"required\":[\"StartDate\"]}},\"FinalAction\":{\"description\":\"FinalAction : cardinalité 1-1 / valeur au choix\",\"type\":\"string\"}}}}},\"DescriptionLevel\":{\"type\":\"string\",\"description\":\"DescriptionLevel : cardinalité 0-1\",\"enum\":[\"Fonds\",\"Subfonds\",\"Class\",\"Collection\",\"Series\",\"Subseries\",\"RecordGrp\",\"SubGrp\",\"File\",\"Item\",\"OtherLevel\"]},\"Title_\":{\"type\":\"object\",\"description\":\"Title : cardinalité 0-N / valeur au choix\"},\"FilePlanPosition\":{\"description\":\"FilePlanPosition : cardinalité 0-N / valeur au choix\",\"type\":\"array\"},\"Tag\":{\"description\":\"Tag : cardinalité 0-N / valeur au choix\",\"type\":\"array\"},\"Keyword\":{\"description\":\"Keyword : cardinalité 0-N / valeur au choix\",\"type\":\"array\",\"minItems\":0,\"maxItems\":1,\"additionalProperties\":false,\"properties\":{\"KeywordContent\":{\"type\":\"string\",\"description\":\"Identifier : cardinalité 1 / valeur au choix\"}}},\"OriginatingAgency\":{\"description\":\"OriginatingAgency : cardinalité 0-1 / valeur au choix\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"Identifier\":{\"description\":\"Identifier : cardinalité 1-1 / valeur au choix\",\"type\":\"string\"}}}}}", + "tenant": 8, + "version": 1, + "fields": [ + "ArchiveUnitProfile", + "DescriptionLevel", + "Title" + ] +} diff --git a/api/api-pastis/pastis/src/test/resources/pua/pua_NOK_missing_definitions.json b/api/api-pastis/pastis/src/test/resources/pua/pua_NOK_missing_definitions.json new file mode 100644 index 000000000..874ed47d8 --- /dev/null +++ b/api/api-pastis/pastis/src/test/resources/pua/pua_NOK_missing_definitions.json @@ -0,0 +1,19 @@ +{ + "id": "aegaaaaabafbmai5aa2d2alwatqvahqaaaaq", + "identifier": "AUP-000007", + "name": "AUP default PASTIS", + "description": "Import d'un AUP default pour PASTIS", + "status": "ACTIVE", + "creationDate": "2000-09-01T00:00:00.000", + "lastUpdate": "2020-11-26T14:08:20.987", + "activationDate": "2016-12-10T00:00:00.000", + "deactivationDate": "2016-12-10T00:00:00.000", + "controlSchema": "{\"$schema\":\"http://json-schema.org/draft-04/schema\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"ArchiveUnitProfile\":{\"type\":\"string\",\"description\":\"DescriptionLevel : cardinalité 0-1 / valeur au choix\"},\"#management\":{\"properties\":{\"AppraisalRule\":{\"type\":\"object\",\"description\":\"Appraisal : cardinalité 0-1 / contient obligatoirement Rule et FinalAction\",\"additionalProperties\":false,\"properties\":{\"Rules\":{\"items\":{\"properties\":{\"Rule\":{\"description\":\"Rule : cardinalité 1\",\"type\":\"string\"},\"StartDate\":{\"description\":\"StartDate : cardinalité 0-1 / valeur date libre\",\"type\":\"string\"}},\"required\":[\"StartDate\"]}},\"FinalAction\":{\"description\":\"FinalAction : cardinalité 1-1 / valeur au choix\",\"type\":\"string\"}}}}},\"DescriptionLevel\":{\"type\":\"string\",\"description\":\"DescriptionLevel : cardinalité 0-1\",\"enum\":[\"Fonds\",\"Subfonds\",\"Class\",\"Collection\",\"Series\",\"Subseries\",\"RecordGrp\",\"SubGrp\",\"File\",\"Item\",\"OtherLevel\"]},\"Title_\":{\"type\":\"object\",\"description\":\"Title : cardinalité 0-N / valeur au choix\"},\"FilePlanPosition\":{\"description\":\"FilePlanPosition : cardinalité 0-N / valeur au choix\",\"type\":\"array\"},\"Tag\":{\"description\":\"Tag : cardinalité 0-N / valeur au choix\",\"type\":\"array\"},\"Keyword\":{\"description\":\"Keyword : cardinalité 0-N / valeur au choix\",\"type\":\"array\",\"minItems\":0,\"maxItems\":1,\"additionalProperties\":false,\"properties\":{\"KeywordContent\":{\"type\":\"string\",\"description\":\"Identifier : cardinalité 1 / valeur au choix\"}}},\"OriginatingAgency\":{\"description\":\"OriginatingAgency : cardinalité 0-1 / valeur au choix\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"Identifier\":{\"description\":\"Identifier : cardinalité 1-1 / valeur au choix\",\"type\":\"string\"}}}}}", + "tenant": 8, + "version": 1, + "fields": [ + "ArchiveUnitProfile", + "DescriptionLevel", + "Title" + ] +} diff --git a/api/api-pastis/pastis/src/test/resources/pua/pua_NOK_missing_management.json b/api/api-pastis/pastis/src/test/resources/pua/pua_NOK_missing_management.json new file mode 100644 index 000000000..8ec5355fc --- /dev/null +++ b/api/api-pastis/pastis/src/test/resources/pua/pua_NOK_missing_management.json @@ -0,0 +1,19 @@ +{ + "id": "aegaaaaabafbmai5aa2d2alwatqvahqaaaaq", + "identifier": "AUP-000007", + "name": "AUP default PASTIS", + "description": "Import d'un AUP default pour PASTIS", + "status": "ACTIVE", + "creationDate": "2000-09-01T00:00:00.000", + "lastUpdate": "2020-11-26T14:08:20.987", + "activationDate": "2016-12-10T00:00:00.000", + "deactivationDate": "2016-12-10T00:00:00.000", + "controlSchema": "{\"$schema\":\"http://json-schema.org/draft-04/schema\",\"type\":\"object\",\"additionalProperties\":false,\"definitions\":{\"pattern-simple-date\":{\"type\":\"string\",\"pattern\":\"[0-9]{4}-[0-9]{2}-[0-9]{2}\"},\"pattern-date\":{\"type\":\"string\",\"pattern\":\"^([0-8][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))$\"}},\"properties\":{\"ArchiveUnitProfile\":{\"type\":\"string\",\"description\":\"DescriptionLevel : cardinalité 0-1 / valeur au choix\"},\"DescriptionLevel\":{\"type\":\"string\",\"description\":\"DescriptionLevel : cardinalité 0-1\",\"enum\":[\"Fonds\",\"Subfonds\",\"Class\",\"Collection\",\"Series\",\"Subseries\",\"RecordGrp\",\"SubGrp\",\"File\",\"Item\",\"OtherLevel\"]},\"Title_\":{\"type\":\"object\",\"description\":\"Title : cardinalité 0-N / valeur au choix\"},\"FilePlanPosition\":{\"description\":\"FilePlanPosition : cardinalité 0-N / valeur au choix\",\"type\":\"array\"},\"Tag\":{\"description\":\"Tag : cardinalité 0-N / valeur au choix\",\"type\":\"array\"},\"Keyword\":{\"description\":\"Keyword : cardinalité 0-N / valeur au choix\",\"type\":\"array\",\"minItems\":0,\"maxItems\":1,\"additionalProperties\":false,\"properties\":{\"KeywordContent\":{\"type\":\"string\",\"description\":\"Identifier : cardinalité 1 / valeur au choix\"}}},\"OriginatingAgency\":{\"description\":\"OriginatingAgency : cardinalité 0-1 / valeur au choix\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"Identifier\":{\"description\":\"Identifier : cardinalité 1-1 / valeur au choix\",\"type\":\"string\"}}}}}", + "tenant": 8, + "version": 1, + "fields": [ + "ArchiveUnitProfile", + "DescriptionLevel", + "Title" + ] +} diff --git a/api/api-pastis/pastis/src/test/resources/pua/pua_NOK_missing_properties.json b/api/api-pastis/pastis/src/test/resources/pua/pua_NOK_missing_properties.json new file mode 100644 index 000000000..228bc22e2 --- /dev/null +++ b/api/api-pastis/pastis/src/test/resources/pua/pua_NOK_missing_properties.json @@ -0,0 +1,19 @@ +{ + "id": "aegaaaaabafbmai5aa2d2alwatqvahqaaaaq", + "identifier": "AUP-000007", + "name": "AUP default PASTIS", + "description": "Import d'un AUP default pour PASTIS", + "status": "ACTIVE", + "creationDate": "2000-09-01T00:00:00.000", + "lastUpdate": "2020-11-26T14:08:20.987", + "activationDate": "2016-12-10T00:00:00.000", + "deactivationDate": "2016-12-10T00:00:00.000", + "controlSchema": "{\"$schema\":\"http://json-schema.org/draft-04/schema\",\"type\":\"object\",\"additionalProperties\":false,\"definitions\":{\"pattern-simple-date\":{\"type\":\"string\",\"pattern\":\"[0-9]{4}-[0-9]{2}-[0-9]{2}\"},\"pattern-date\":{\"type\":\"string\",\"pattern\":\"^([0-8][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))$\"}}}", + "tenant": 8, + "version": 1, + "fields": [ + "ArchiveUnitProfile", + "DescriptionLevel", + "Title" + ] +} diff --git a/api/api-pastis/pastis/src/test/resources/pua/pua_OK.json b/api/api-pastis/pastis/src/test/resources/pua/pua_OK.json new file mode 100644 index 000000000..01fef2f41 --- /dev/null +++ b/api/api-pastis/pastis/src/test/resources/pua/pua_OK.json @@ -0,0 +1,19 @@ +{ + "id": "aegaaaaabafbmai5aa2d2alwatqvahqaaaaq", + "identifier": "AUP-000007", + "name": "AUP default PASTIS", + "description": "Import d'un AUP default pour PASTIS", + "status": "ACTIVE", + "creationDate": "2000-09-01T00:00:00.000", + "lastUpdate": "2020-11-26T14:08:20.987", + "activationDate": "2016-12-10T00:00:00.000", + "deactivationDate": "2016-12-10T00:00:00.000", + "controlSchema": "{\"$schema\":\"http://json-schema.org/draft-04/schema\",\"type\":\"object\",\"additionalProperties\":false,\"patternProperties\":{\"#management\":{}},\"definitions\":{\"pattern-simple-date\":{\"type\":\"string\",\"pattern\":\"[0-9]{4}-[0-9]{2}-[0-9]{2}\"},\"pattern-date\":{\"type\":\"string\",\"pattern\":\"^([0-8][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))$\"}},\"properties\":{\"ArchiveUnitProfile\":{\"type\":\"string\",\"description\":\"DescriptionLevel : cardinalité 0-1 / valeur au choix\"},\"DescriptionLevel\":{\"type\":\"string\",\"description\":\"DescriptionLevel : cardinalité 0-1\",\"enum\":[\"Fonds\",\"Subfonds\",\"Class\",\"Collection\",\"Series\",\"Subseries\",\"RecordGrp\",\"SubGrp\",\"File\",\"Item\",\"OtherLevel\"]},\"Title_\":{\"type\":\"object\",\"description\":\"Title : cardinalité 0-N / valeur au choix\"},\"FilePlanPosition\":{\"description\":\"FilePlanPosition : cardinalité 0-N / valeur au choix\",\"type\":\"array\"},\"Tag\":{\"description\":\"Tag : cardinalité 0-N / valeur au choix\",\"type\":\"array\"},\"Keyword\":{\"description\":\"Keyword : cardinalité 0-N / valeur au choix\",\"type\":\"array\",\"minItems\":0,\"maxItems\":1,\"additionalProperties\":false,\"properties\":{\"KeywordContent\":{\"type\":\"string\",\"description\":\"Identifier : cardinalité 1 / valeur au choix\"}}},\"OriginatingAgency\":{\"description\":\"OriginatingAgency : cardinalité 0-1 / valeur au choix\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"Identifier\":{\"description\":\"Identifier : cardinalité 1-1 / valeur au choix\",\"type\":\"string\"}}}}}", + "tenant": 8, + "version": 1, + "fields": [ + "ArchiveUnitProfile", + "DescriptionLevel", + "Title" + ] +} diff --git a/api/api-pastis/pastis/src/test/resources/pua/pua_OK_with_management.json b/api/api-pastis/pastis/src/test/resources/pua/pua_OK_with_management.json new file mode 100644 index 000000000..cb989efa5 --- /dev/null +++ b/api/api-pastis/pastis/src/test/resources/pua/pua_OK_with_management.json @@ -0,0 +1,19 @@ +{ + "id": "aegaaaaabafbmai5aa2d2alwatqvahqaaaaq", + "identifier": "AUP-000007", + "name": "AUP default PASTIS", + "description": "Import d'un AUP default pour PASTIS", + "status": "ACTIVE", + "creationDate": "2000-09-01T00:00:00.000", + "lastUpdate": "2020-11-26T14:08:20.987", + "activationDate": "2016-12-10T00:00:00.000", + "deactivationDate": "2016-12-10T00:00:00.000", + "controlSchema": "{\"$schema\":\"http://json-schema.org/draft-04/schema\",\"type\":\"object\",\"additionalProperties\":false,\"definitions\":{\"pattern-simple-date\":{\"type\":\"string\",\"pattern\":\"[0-9]{4}-[0-9]{2}-[0-9]{2}\"},\"pattern-date\":{\"type\":\"string\",\"pattern\":\"^([0-8][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))$\"}},\"properties\":{\"ArchiveUnitProfile\":{\"type\":\"string\",\"description\":\"DescriptionLevel : cardinalité 0-1 / valeur au choix\"},\"#management\":{\"properties\":{\"AppraisalRule\":{\"type\":\"object\",\"description\":\"Appraisal : cardinalité 0-1 / contient obligatoirement Rule et FinalAction\",\"additionalProperties\":false,\"properties\":{\"Rules\":{\"items\":{\"properties\":{\"Rule\":{\"description\":\"Rule : cardinalité 1\",\"type\":\"string\"},\"StartDate\":{\"description\":\"StartDate : cardinalité 0-1 / valeur date libre\",\"type\":\"string\"}},\"required\":[\"StartDate\"]}},\"FinalAction\":{\"description\":\"FinalAction : cardinalité 1-1 / valeur au choix\",\"type\":\"string\"}}}}},\"DescriptionLevel\":{\"type\":\"string\",\"description\":\"DescriptionLevel : cardinalité 0-1\",\"enum\":[\"Fonds\",\"Subfonds\",\"Class\",\"Collection\",\"Series\",\"Subseries\",\"RecordGrp\",\"SubGrp\",\"File\",\"Item\",\"OtherLevel\"]},\"Title_\":{\"type\":\"object\",\"description\":\"Title : cardinalité 0-N / valeur au choix\"},\"FilePlanPosition\":{\"description\":\"FilePlanPosition : cardinalité 0-N / valeur au choix\",\"type\":\"array\"},\"Tag\":{\"description\":\"Tag : cardinalité 0-N / valeur au choix\",\"type\":\"array\"},\"Keyword\":{\"description\":\"Keyword : cardinalité 0-N / valeur au choix\",\"type\":\"array\",\"minItems\":0,\"maxItems\":1,\"additionalProperties\":false,\"properties\":{\"KeywordContent\":{\"type\":\"string\",\"description\":\"Identifier : cardinalité 1 / valeur au choix\"}}},\"OriginatingAgency\":{\"description\":\"OriginatingAgency : cardinalité 0-1 / valeur au choix\",\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"Identifier\":{\"description\":\"Identifier : cardinalité 1-1 / valeur au choix\",\"type\":\"string\"}}}}}", + "tenant": 8, + "version": 1, + "fields": [ + "ArchiveUnitProfile", + "DescriptionLevel", + "Title" + ] +} diff --git a/api/api-pastis/pastis/src/test/resources/rng/Profil_seda_pastis_mvp.rng b/api/api-pastis/pastis/src/test/resources/rng/Profil_seda_pastis_mvp.rng new file mode 100644 index 000000000..aeb8a1ee4 --- /dev/null +++ b/api/api-pastis/pastis/src/test/resources/rng/Profil_seda_pastis_mvp.rng @@ -0,0 +1,107 @@ +<?xml version='1.0' encoding='utf-8' standalone='no'?> +<rng:grammar + xmlns:rng="http://relaxng.org/ns/structure/1.0" + xmlns:seda="fr:gouv:culture:archivesdefrance:seda:v2.1" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" + ns="fr:gouv:culture:archivesdefrance:seda:v2.1" seda:warnings=""> + <rng:start> + <rng:element name="ArchiveTransfer"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="Date"> + <rng:data type="dateTime"/> + </rng:element> + <rng:element name="MessageIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="CodeListVersions"> + <rng:data type="token"/> + </rng:element> + <rng:element name="DataObjectPackage"> + <rng:optional> + <rng:attribute name="xml:id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="DataObjectGroup"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:zeroOrMore> + <rng:element name="BinaryDataObject"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="DataObjectVersion"> + <rng:data type="token"/> + <xsd:annotation> + <xsd:documentation>BinaryMaster par défaut</xsd:documentation> + </xsd:annotation> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Uri"> + <rng:data type="anyURI"/> + </rng:element> + </rng:optional> + <rng:element name="MessageDigest"> + <rng:data type="base64Binary"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="DescriptiveMetadata"> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:optional> + <rng:element name="DescriptionLevel"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Title"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="ManagementMetadata"> + <rng:optional> + <rng:element name="OriginatingAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="SubmissionAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:element> + <rng:element name="ArchivalAgency"> + <rng:element name="Identifier"> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="TransferringAgency"> + <rng:element name="Identifier"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:start> +</rng:grammar> diff --git a/api/api-pastis/pastis/src/test/resources/rng/ProfileJson.json b/api/api-pastis/pastis/src/test/resources/rng/ProfileJson.json new file mode 100644 index 000000000..815c5d943 --- /dev/null +++ b/api/api-pastis/pastis/src/test/resources/rng/ProfileJson.json @@ -0,0 +1,3125 @@ +{ + "name": "ArchiveTransfer", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 0, + "id": 7368, + "parentId": null, + "choices": [], + "children": [ + { + "name": "xml:id", + "type": "attribute", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 1, + "id": 7369, + "parentId": 7368, + "choices": [], + "children": [] + }, + { + "name": "Comment", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": "Commentaire sur le versement", + "level": 1, + "id": 7370, + "parentId": 7368, + "choices": [], + "children": [] + }, + { + "name": "Date", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "dateTime", + "value": null, + "documentation": null, + "level": 1, + "id": 7371, + "parentId": 7368, + "choices": [], + "children": [] + }, + { + "name": "MessageIdentifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 1, + "id": 7372, + "parentId": 7368, + "choices": [], + "children": [] + }, + { + "name": "ArchivalAgreement", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "Déclaration du contrat d'entrée", + "level": 1, + "id": 7373, + "parentId": 7368, + "choices": [], + "children": [] + }, + { + "name": "CodeListVersions", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 1, + "id": 7374, + "parentId": 7368, + "choices": [], + "children": [] + }, + { + "name": "DataObjectPackage", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 1, + "id": 7375, + "parentId": 7368, + "choices": [], + "children": [ + { + "name": "xml:id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 2, + "id": 7376, + "parentId": 7375, + "choices": [], + "children": [] + }, + { + "name": "DataObjectGroup", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 2, + "id": 7377, + "parentId": 7375, + "choices": [], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 3, + "id": 7378, + "parentId": 7377, + "choices": [], + "children": [] + }, + { + "name": "BinaryDataObject", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 3, + "id": 7379, + "parentId": 7377, + "choices": [], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 4, + "id": 7380, + "parentId": 7379, + "choices": [], + "children": [] + }, + { + "name": "DataObjectGroupId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "Sert à lier un fichier à l'ArchiveUnit auquel il correspond.\n Exemple: ID7", + "level": 4, + "id": 7381, + "parentId": 7379, + "choices": [], + "children": [] + }, + { + "name": "DataObjectVersion", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "BinaryMaster par défaut", + "level": 4, + "id": 7382, + "parentId": 7379, + "choices": [], + "children": [] + }, + { + "name": "Uri", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "anyURI", + "value": null, + "documentation": null, + "level": 4, + "id": 7383, + "parentId": 7379, + "choices": [], + "children": [] + }, + { + "name": "MessageDigest", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "base64Binary", + "value": null, + "documentation": null, + "level": 4, + "id": 7384, + "parentId": 7379, + "choices": [], + "children": [ + { + "name": "algorithm", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7385, + "parentId": 7384, + "choices": [], + "children": [] + } + ] + }, + { + "name": "Size", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "positiveInteger", + "value": null, + "documentation": null, + "level": 4, + "id": 7386, + "parentId": 7379, + "choices": [], + "children": [] + }, + { + "name": "FormatIdentification", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 4, + "id": 7387, + "parentId": 7379, + "choices": [], + "children": [ + { + "name": "FormatLitteral", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 5, + "id": 7388, + "parentId": 7387, + "choices": [], + "children": [] + }, + { + "name": "MimeType", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7389, + "parentId": 7387, + "choices": [], + "children": [] + }, + { + "name": "FormatId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7390, + "parentId": 7387, + "choices": [], + "children": [] + }, + { + "name": "Encoding", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7391, + "parentId": 7387, + "choices": [], + "children": [] + } + ] + }, + { + "name": "FileInfo", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 4, + "id": 7392, + "parentId": 7379, + "choices": [], + "children": [ + { + "name": "Filename", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": "Nom du fichier. Exemple:\n 22100005200011_20091118_144251_1.pdf", + "level": 5, + "id": 7393, + "parentId": 7392, + "choices": [], + "children": [] + } + ] + }, + { + "name": "Metadata", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 4, + "id": 7394, + "parentId": 7379, + "choices": [], + "children": [ + { + "name": "Video", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7395, + "parentId": 7394, + "choices": [], + "children": [] + }, + { + "name": "Audio", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7396, + "parentId": 7394, + "choices": [], + "children": [] + } + ] + } + ] + } + ] + }, + { + "name": "DescriptiveMetadata", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 2, + "id": 7397, + "parentId": 7375, + "choices": [], + "children": [ + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 3, + "id": 7398, + "parentId": 7397, + "choices": [], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 4, + "id": 7399, + "parentId": 7398, + "choices": [], + "children": [] + }, + { + "name": "ArchiveUnitProfile", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 4, + "id": 7400, + "parentId": 7398, + "choices": [], + "children": [] + }, + { + "name": "Management", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 4, + "id": 7401, + "parentId": 7398, + "choices": [], + "children": [ + { + "name": "UpdateOperation", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 7402, + "parentId": 7401, + "choices": [], + "children": [ + { + "name": "ArchiveUnitIdentifierKey", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7403, + "parentId": 7402, + "choices": [], + "children": [ + { + "name": "MetadataName", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7404, + "parentId": 7403, + "choices": [], + "children": [] + }, + { + "name": "MetadataValue", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7405, + "parentId": 7403, + "choices": [], + "children": [] + } + ] + } + ] + }, + { + "name": "AppraisalRule", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 7406, + "parentId": 7401, + "choices": [], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 7407, + "parentId": 7406, + "choices": [], + "children": [] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": null, + "level": 6, + "id": 7408, + "parentId": 7406, + "choices": [], + "children": [] + }, + { + "name": "FinalAction", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 7409, + "parentId": 7406, + "choices": [], + "children": [] + } + ] + }, + { + "name": "AccessRule", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 7410, + "parentId": 7401, + "choices": [], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 7411, + "parentId": 7410, + "choices": [], + "children": [] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": null, + "level": 6, + "id": 7412, + "parentId": 7410, + "choices": [], + "children": [] + } + ] + }, + { + "name": "DisseminationRule", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 7413, + "parentId": 7401, + "choices": [], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 7414, + "parentId": 7413, + "choices": [], + "children": [] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": null, + "level": 6, + "id": 7415, + "parentId": 7413, + "choices": [], + "children": [] + } + ] + } + ] + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 4, + "id": 7416, + "parentId": 7398, + "choices": [], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7417, + "parentId": 7416, + "choices": [], + "children": [] + }, + { + "name": "Title", + "type": "element", + "cardinality": "1-N", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 5, + "id": 7418, + "parentId": 7416, + "choices": [], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "language", + "value": null, + "documentation": null, + "level": 6, + "id": 7419, + "parentId": 7418, + "choices": [], + "children": [] + } + ] + }, + { + "name": "FilePlanPosition", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7420, + "parentId": 7416, + "choices": [], + "children": [] + }, + { + "name": "OriginatingAgencyArchiveUnitIdentifier", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7421, + "parentId": 7416, + "choices": [], + "children": [] + }, + { + "name": "TransferringAgencyArchiveUnitIdentifier", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7422, + "parentId": 7416, + "choices": [], + "children": [] + }, + { + "name": "Description", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 5, + "id": 7423, + "parentId": 7416, + "choices": [], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "language", + "value": null, + "documentation": null, + "level": 6, + "id": 7424, + "parentId": 7423, + "choices": [], + "children": [] + } + ] + }, + { + "name": "CustodialHistory", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 7425, + "parentId": 7416, + "choices": [], + "children": [ + { + "name": "CustodialHistoryItem", + "type": "element", + "cardinality": "1-N", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 6, + "id": 7426, + "parentId": 7425, + "choices": [], + "children": [] + } + ] + }, + { + "name": "Type", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 5, + "id": 7427, + "parentId": 7416, + "choices": [], + "children": [] + }, + { + "name": "Language", + "type": "element", + "cardinality": "1-N", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "language", + "value": null, + "documentation": "Langue du contenu du sous-ensemble de l'archive\n exprimée au format ISO 639-3", + "level": 5, + "id": 7428, + "parentId": 7416, + "choices": [], + "children": [] + }, + { + "name": "DescriptionLanguage", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "language", + "value": null, + "documentation": null, + "level": 5, + "id": 7429, + "parentId": 7416, + "choices": [], + "children": [] + }, + { + "name": "Tag", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7430, + "parentId": 7416, + "choices": [], + "children": [] + }, + { + "name": "Keyword", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 7431, + "parentId": 7416, + "choices": [], + "children": [ + { + "name": "KeywordContent", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 6, + "id": 7432, + "parentId": 7431, + "choices": [], + "children": [] + } + ] + }, + { + "name": "OriginatingAgency", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Service producteur", + "level": 5, + "id": 7433, + "parentId": 7416, + "choices": [], + "children": [ + { + "name": "Identifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 6, + "id": 7434, + "parentId": 7433, + "choices": [], + "children": [] + } + ] + }, + { + "name": "SubmissionAgency", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Service versant", + "level": 5, + "id": 7435, + "parentId": 7416, + "choices": [], + "children": [ + { + "name": "Identifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 6, + "id": 7436, + "parentId": 7435, + "choices": [], + "children": [] + } + ] + }, + { + "name": "RelatedObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 7437, + "parentId": 7416, + "choices": [], + "children": [ + { + "name": "IsVersionOf", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7438, + "parentId": 7437, + "choices": [], + "children": [ + { + "name": "ArchiveUnitRefId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 7, + "id": 7439, + "parentId": 7438, + "choices": [], + "children": [] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 7440, + "parentId": 7438, + "choices": [], + "children": [ + { + "name": "DataObjectReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7441, + "parentId": 7440, + "choices": [], + "children": [] + }, + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7442, + "parentId": 7440, + "choices": [], + "children": [] + } + ] + }, + { + "name": "RepositoryArchiveUnitPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7443, + "parentId": 7438, + "choices": [], + "children": [] + }, + { + "name": "RepositoryObjectPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7444, + "parentId": 7438, + "choices": [], + "children": [] + }, + { + "name": "ExternalReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7445, + "parentId": 7438, + "choices": [], + "children": [] + } + ] + }, + { + "name": "Replaces", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7446, + "parentId": 7437, + "choices": [], + "children": [ + { + "name": "ArchiveUnitRefId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 7, + "id": 7447, + "parentId": 7446, + "choices": [], + "children": [] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 7448, + "parentId": 7446, + "choices": [], + "children": [ + { + "name": "DataObjectReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7449, + "parentId": 7448, + "choices": [], + "children": [] + }, + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7450, + "parentId": 7448, + "choices": [], + "children": [] + } + ] + }, + { + "name": "RepositoryArchiveUnitPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7451, + "parentId": 7446, + "choices": [], + "children": [] + }, + { + "name": "RepositoryObjectPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7452, + "parentId": 7446, + "choices": [], + "children": [] + }, + { + "name": "ExternalReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7453, + "parentId": 7446, + "choices": [], + "children": [] + } + ] + }, + { + "name": "IsPartOf", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7454, + "parentId": 7437, + "choices": [], + "children": [ + { + "name": "ArchiveUnitRefId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 7, + "id": 7455, + "parentId": 7454, + "choices": [], + "children": [] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 7456, + "parentId": 7454, + "choices": [], + "children": [ + { + "name": "DataObjectReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7457, + "parentId": 7456, + "choices": [], + "children": [] + }, + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7458, + "parentId": 7456, + "choices": [], + "children": [] + } + ] + }, + { + "name": "RepositoryArchiveUnitPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7459, + "parentId": 7454, + "choices": [], + "children": [] + }, + { + "name": "RepositoryObjectPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7460, + "parentId": 7454, + "choices": [], + "children": [] + }, + { + "name": "ExternalReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7461, + "parentId": 7454, + "choices": [], + "children": [] + } + ] + }, + { + "name": "References", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7462, + "parentId": 7437, + "choices": [], + "children": [ + { + "name": "ArchiveUnitRefId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 7, + "id": 7463, + "parentId": 7462, + "choices": [], + "children": [] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 7464, + "parentId": 7462, + "choices": [], + "children": [ + { + "name": "DataObjectReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7465, + "parentId": 7464, + "choices": [], + "children": [] + }, + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7466, + "parentId": 7464, + "choices": [], + "children": [] + } + ] + }, + { + "name": "RepositoryArchiveUnitPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7467, + "parentId": 7462, + "choices": [], + "children": [] + }, + { + "name": "RepositoryObjectPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7468, + "parentId": 7462, + "choices": [], + "children": [] + }, + { + "name": "ExternalReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7469, + "parentId": 7462, + "choices": [], + "children": [] + } + ] + } + ] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": "Date du document le plus ancien dans\n l'ArchiveUnit", + "level": 5, + "id": 7470, + "parentId": 7416, + "choices": [], + "children": [] + }, + { + "name": "EndDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": "Date du document le plus récent dans\n l'ArchiveUnit.", + "level": 5, + "id": 7471, + "parentId": 7416, + "choices": [], + "children": [] + } + ] + }, + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 4, + "id": 7472, + "parentId": 7398, + "choices": [], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 5, + "id": 7473, + "parentId": 7472, + "choices": [], + "children": [] + }, + { + "name": "ArchiveUnitProfile", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7474, + "parentId": 7472, + "choices": [], + "children": [] + }, + { + "name": "Management", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 7475, + "parentId": 7472, + "choices": [], + "children": [ + { + "name": "UpdateOperation", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7476, + "parentId": 7475, + "choices": [], + "children": [ + { + "name": "ArchiveUnitIdentifierKey", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 7477, + "parentId": 7476, + "choices": [], + "children": [ + { + "name": "MetadataName", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7478, + "parentId": 7477, + "choices": [], + "children": [] + }, + { + "name": "MetadataValue", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7479, + "parentId": 7477, + "choices": [], + "children": [] + } + ] + } + ] + }, + { + "name": "AppraisalRule", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7480, + "parentId": 7475, + "choices": [], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7481, + "parentId": 7480, + "choices": [], + "children": [] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": null, + "level": 7, + "id": 7482, + "parentId": 7480, + "choices": [], + "children": [] + }, + { + "name": "FinalAction", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7483, + "parentId": 7480, + "choices": [], + "children": [] + } + ] + }, + { + "name": "AccessRule", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7484, + "parentId": 7475, + "choices": [], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7485, + "parentId": 7484, + "choices": [], + "children": [] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": null, + "level": 7, + "id": 7486, + "parentId": 7484, + "choices": [], + "children": [] + } + ] + }, + { + "name": "DisseminationRule", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7487, + "parentId": 7475, + "choices": [], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7488, + "parentId": 7487, + "choices": [], + "children": [] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": null, + "level": 7, + "id": 7489, + "parentId": 7487, + "choices": [], + "children": [] + } + ] + } + ] + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 7490, + "parentId": 7472, + "choices": [], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 7491, + "parentId": 7490, + "choices": [], + "children": [] + }, + { + "name": "Title", + "type": "element", + "cardinality": "1-N", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 6, + "id": 7492, + "parentId": 7490, + "choices": [], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "language", + "value": null, + "documentation": null, + "level": 7, + "id": 7493, + "parentId": 7492, + "choices": [], + "children": [] + } + ] + }, + { + "name": "FilePlanPosition", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 7494, + "parentId": 7490, + "choices": [], + "children": [] + }, + { + "name": "OriginatingAgencyArchiveUnitIdentifier", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 7495, + "parentId": 7490, + "choices": [], + "children": [] + }, + { + "name": "TransferringAgencyArchiveUnitIdentifier", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 7496, + "parentId": 7490, + "choices": [], + "children": [] + }, + { + "name": "Description", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 6, + "id": 7497, + "parentId": 7490, + "choices": [], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "language", + "value": null, + "documentation": null, + "level": 7, + "id": 7498, + "parentId": 7497, + "choices": [], + "children": [] + } + ] + }, + { + "name": "CustodialHistory", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7499, + "parentId": 7490, + "choices": [], + "children": [ + { + "name": "CustodialHistoryItem", + "type": "element", + "cardinality": "1-N", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 7, + "id": 7500, + "parentId": 7499, + "choices": [], + "children": [] + } + ] + }, + { + "name": "Type", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 6, + "id": 7501, + "parentId": 7490, + "choices": [], + "children": [] + }, + { + "name": "Language", + "type": "element", + "cardinality": "1-N", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "language", + "value": null, + "documentation": "Langue du contenu du sous-ensemble de l'archive\n exprimée au format ISO 639-3", + "level": 6, + "id": 7502, + "parentId": 7490, + "choices": [], + "children": [] + }, + { + "name": "DescriptionLanguage", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "language", + "value": null, + "documentation": null, + "level": 6, + "id": 7503, + "parentId": 7490, + "choices": [], + "children": [] + }, + { + "name": "Tag", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 7504, + "parentId": 7490, + "choices": [], + "children": [] + }, + { + "name": "Keyword", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7505, + "parentId": 7490, + "choices": [], + "children": [ + { + "name": "KeywordContent", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 7, + "id": 7506, + "parentId": 7505, + "choices": [], + "children": [] + } + ] + }, + { + "name": "OriginatingAgency", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Service producteur", + "level": 6, + "id": 7507, + "parentId": 7490, + "choices": [], + "children": [ + { + "name": "Identifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 7, + "id": 7508, + "parentId": 7507, + "choices": [], + "children": [] + } + ] + }, + { + "name": "SubmissionAgency", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Service versant", + "level": 6, + "id": 7509, + "parentId": 7490, + "choices": [], + "children": [ + { + "name": "Identifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 7, + "id": 7510, + "parentId": 7509, + "choices": [], + "children": [] + } + ] + }, + { + "name": "RelatedObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7511, + "parentId": 7490, + "choices": [], + "children": [ + { + "name": "IsVersionOf", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 7512, + "parentId": 7511, + "choices": [], + "children": [ + { + "name": "ArchiveUnitRefId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7513, + "parentId": 7512, + "choices": [], + "children": [] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 8, + "id": 7514, + "parentId": 7512, + "choices": [], + "children": [ + { + "name": "DataObjectReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 9, + "id": 7515, + "parentId": 7514, + "choices": [], + "children": [] + }, + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 9, + "id": 7516, + "parentId": 7514, + "choices": [], + "children": [] + } + ] + }, + { + "name": "RepositoryArchiveUnitPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7517, + "parentId": 7512, + "choices": [], + "children": [] + }, + { + "name": "RepositoryObjectPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7518, + "parentId": 7512, + "choices": [], + "children": [] + }, + { + "name": "ExternalReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7519, + "parentId": 7512, + "choices": [], + "children": [] + } + ] + }, + { + "name": "Replaces", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 7520, + "parentId": 7511, + "choices": [], + "children": [ + { + "name": "ArchiveUnitRefId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7521, + "parentId": 7520, + "choices": [], + "children": [] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 8, + "id": 7522, + "parentId": 7520, + "choices": [], + "children": [ + { + "name": "DataObjectReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 9, + "id": 7523, + "parentId": 7522, + "choices": [], + "children": [] + }, + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 9, + "id": 7524, + "parentId": 7522, + "choices": [], + "children": [] + } + ] + }, + { + "name": "RepositoryArchiveUnitPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7525, + "parentId": 7520, + "choices": [], + "children": [] + }, + { + "name": "RepositoryObjectPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7526, + "parentId": 7520, + "choices": [], + "children": [] + }, + { + "name": "ExternalReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7527, + "parentId": 7520, + "choices": [], + "children": [] + } + ] + }, + { + "name": "IsPartOf", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 7528, + "parentId": 7511, + "choices": [], + "children": [ + { + "name": "ArchiveUnitRefId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7529, + "parentId": 7528, + "choices": [], + "children": [] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 8, + "id": 7530, + "parentId": 7528, + "choices": [], + "children": [ + { + "name": "DataObjectReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 9, + "id": 7531, + "parentId": 7530, + "choices": [], + "children": [] + }, + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 9, + "id": 7532, + "parentId": 7530, + "choices": [], + "children": [] + } + ] + }, + { + "name": "RepositoryArchiveUnitPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7533, + "parentId": 7528, + "choices": [], + "children": [] + }, + { + "name": "RepositoryObjectPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7534, + "parentId": 7528, + "choices": [], + "children": [] + }, + { + "name": "ExternalReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7535, + "parentId": 7528, + "choices": [], + "children": [] + } + ] + }, + { + "name": "References", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 7536, + "parentId": 7511, + "choices": [], + "children": [ + { + "name": "ArchiveUnitRefId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7537, + "parentId": 7536, + "choices": [], + "children": [] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 8, + "id": 7538, + "parentId": 7536, + "choices": [], + "children": [ + { + "name": "DataObjectReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 9, + "id": 7539, + "parentId": 7538, + "choices": [], + "children": [] + }, + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 9, + "id": 7540, + "parentId": 7538, + "choices": [], + "children": [] + } + ] + }, + { + "name": "RepositoryArchiveUnitPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7541, + "parentId": 7536, + "choices": [], + "children": [] + }, + { + "name": "RepositoryObjectPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7542, + "parentId": 7536, + "choices": [], + "children": [] + }, + { + "name": "ExternalReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7543, + "parentId": 7536, + "choices": [], + "children": [] + } + ] + } + ] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": "Date du document le plus ancien dans\n l'ArchiveUnit", + "level": 6, + "id": 7544, + "parentId": 7490, + "choices": [], + "children": [] + }, + { + "name": "EndDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": "Date du document le plus récent dans\n l'ArchiveUnit.", + "level": 6, + "id": 7545, + "parentId": 7490, + "choices": [], + "children": [] + } + ] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 7546, + "parentId": 7472, + "choices": [], + "children": [ + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 6, + "id": 7547, + "parentId": 7546, + "choices": [], + "children": [] + } + ] + } + ] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 4, + "id": 7548, + "parentId": 7398, + "choices": [], + "children": [ + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 5, + "id": 7549, + "parentId": 7548, + "choices": [], + "children": [] + } + ] + } + ] + } + ] + }, + { + "name": "ManagementMetadata", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 2, + "id": 7550, + "parentId": 7375, + "choices": [], + "children": [ + { + "name": "ArchivalProfile", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 3, + "id": 7551, + "parentId": 7550, + "choices": [], + "children": [] + }, + { + "name": "OriginatingAgencyIdentifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 3, + "id": 7552, + "parentId": 7550, + "choices": [], + "children": [] + }, + { + "name": "SubmissionAgencyIdentifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 3, + "id": 7553, + "parentId": 7550, + "choices": [], + "children": [] + }, + { + "name": "AppraisalRule", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 3, + "id": 7554, + "parentId": 7550, + "choices": [], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 4, + "id": 7555, + "parentId": 7554, + "choices": [], + "children": [] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": null, + "level": 4, + "id": 7556, + "parentId": 7554, + "choices": [], + "children": [] + }, + { + "name": "FinalAction", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 4, + "id": 7557, + "parentId": 7554, + "choices": [], + "children": [] + } + ] + }, + { + "name": "AccessRule", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 3, + "id": 7558, + "parentId": 7550, + "choices": [], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 4, + "id": 7559, + "parentId": 7558, + "choices": [], + "children": [] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": null, + "level": 4, + "id": 7560, + "parentId": 7558, + "choices": [], + "children": [] + } + ] + }, + { + "name": "DisseminationRule", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 3, + "id": 7561, + "parentId": 7550, + "choices": [], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 4, + "id": 7562, + "parentId": 7561, + "choices": [], + "children": [] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": null, + "level": 4, + "id": 7563, + "parentId": 7561, + "choices": [], + "children": [] + } + ] + } + ] + } + ] + }, + { + "name": "ArchivalAgency", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 1, + "id": 7564, + "parentId": 7368, + "choices": [], + "children": [ + { + "name": "Identifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": null, + "value": "19341594000017", + "documentation": null, + "level": 2, + "id": 7565, + "parentId": 7564, + "choices": [], + "children": [ + { + "name": "schemeName", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": null, + "value": "SIRET", + "documentation": null, + "level": 3, + "id": 7566, + "parentId": 7565, + "choices": [], + "children": [] + }, + { + "name": "schemeAgencyName", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": null, + "value": "INSEE", + "documentation": null, + "level": 3, + "id": 7567, + "parentId": 7565, + "choices": [], + "children": [] + } + ] + } + ] + }, + { + "name": "TransferringAgency", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": " Doit permettre d'identifier l'opérateur technique réalisant le\n versement de manière unique et non équivoque", + "level": 1, + "id": 7568, + "parentId": 7368, + "choices": [], + "children": [ + { + "name": "Identifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 2, + "id": 7569, + "parentId": 7568, + "choices": [], + "children": [ + { + "name": "schemeName", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": null, + "value": "SIRET", + "documentation": null, + "level": 3, + "id": 7570, + "parentId": 7569, + "choices": [], + "children": [] + }, + { + "name": "schemeAgencyName", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": null, + "value": "INSEE", + "documentation": null, + "level": 3, + "id": 7571, + "parentId": 7569, + "choices": [], + "children": [] + } + ] + } + ] + } + ] +} diff --git a/api/api-pastis/pastis/src/test/resources/rng/profile3.rng b/api/api-pastis/pastis/src/test/resources/rng/profile3.rng new file mode 100644 index 000000000..67c5aa35b --- /dev/null +++ b/api/api-pastis/pastis/src/test/resources/rng/profile3.rng @@ -0,0 +1,845 @@ +<?xml version='1.0' encoding='utf-8' standalone='no'?> +<rng:grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" + xmlns:rng="http://relaxng.org/ns/structure/1.0" + xmlns:seda="fr:gouv:culture:archivesdefrance:seda:v2.1" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" + ns="fr:gouv:culture:archivesdefrance:seda:v2.1" seda:warnings=""> + <rng:start> + <rng:element name="ArchiveTransfer"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:element name="Comment"> + <xsd:annotation> + <xsd:documentation>Commentaire sur le versement</xsd:documentation> + </xsd:annotation> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:element name="Date"> + <rng:data type="dateTime"/> + </rng:element> + <rng:element name="MessageIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ArchivalAgreement"> + <xsd:annotation> + <xsd:documentation>Déclaration du contrat d'entrée</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="CodeListVersions"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + </rng:element> + <rng:element name="DataObjectPackage"> + <rng:element name="DataObjectGroup"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:zeroOrMore> + <rng:element name="BinaryDataObject"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="DataObjectGroupId"> + <xsd:annotation> + <xsd:documentation>Sert à lier un fichier à l'ArchiveUnit auquel il correspond. + Exemple: ID7 + </xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectVersion"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:element name="Uri"> + <rng:data type="anyURI"/> + </rng:element> + <rng:element name="MessageDigest"> + <rng:data type="base64Binary"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + <rng:element name="Size"> + <rng:data type="positiveInteger"/> + </rng:element> + <rng:element name="FormatIdentification"> + <rng:element name="FormatLitteral"> + <rng:data type="string"/> + </rng:element> + <rng:optional> + <rng:element name="MimeType"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="FormatId"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Encoding"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="FileInfo"> + <rng:element name="Filename"> + <xsd:annotation> + <xsd:documentation>Nom du fichier. Exemple: + 22100005200011_20091118_144251_1.pdf + </xsd:documentation> + </xsd:annotation> + <rng:data type="string"/> + </rng:element> + </rng:element> + <rng:optional> + <rng:element name="Metadata"> + <rng:optional> + <rng:element name="Video"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Audio"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="DescriptiveMetadata"> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="ArchiveUnitProfile"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:group> + <rng:element name="Management"> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:group> + <rng:element name="Rule"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:group> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:group> + <rng:element name="Rule"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:group> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:group> + <rng:element name="Rule"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:group> + </rng:element> + </rng:optional> + </rng:element> + </rng:group> + <rng:group> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:data type="token"/> + </rng:element> + <rng:oneOrMore> + <rng:element name="Title"> + <rng:optional> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + </rng:optional> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="FilePlanPosition"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="OriginatingAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="TransferringAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Description"> + <rng:optional> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + </rng:optional> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="CustodialHistory"> + <rng:zeroOrMore> + <rng:element name="CustodialHistoryItem"> + <rng:data type="string"/> + </rng:element> + </rng:zeroOrMore> + </rng:element> + </rng:optional> + <rng:element name="Type"> + <rng:data type="string"/> + </rng:element> + <rng:oneOrMore> + <rng:element name="Language"> + <xsd:annotation> + <xsd:documentation>Langue du contenu du sous-ensemble de l'archive + exprimée au format ISO 639-3 + </xsd:documentation> + </xsd:annotation> + <rng:data type="language"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="DescriptionLanguage"> + <rng:data type="language"/> + </rng:element> + </rng:optional> + <rng:zeroOrMore> + <rng:element name="Tag"> + <rng:data type="token"/> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="Keyword"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="KeywordContent"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="OriginatingAgency"> + <xsd:annotation> + <xsd:documentation>Service producteur</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:element name="SubmissionAgency"> + <xsd:annotation> + <xsd:documentation>Service versant</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + <rng:optional> + <rng:element name="RelatedObjectReference"> + <rng:zeroOrMore> + <rng:element name="IsVersionOf"> + <rng:choice> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:choice> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="Replaces"> + <rng:choice> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:choice> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="IsPartOf"> + <rng:choice> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:choice> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="References"> + <rng:choice> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:choice> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="StartDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus ancien dans + l'ArchiveUnit + </xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + <rng:element name="EndDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus récent dans + l'ArchiveUnit. + </xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + </rng:element> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:group> + <rng:element name="Management"> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:group> + <rng:element name="Rule"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:group> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:group> + <rng:element name="Rule"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:group> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:group> + <rng:element name="Rule"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:group> + </rng:element> + </rng:optional> + </rng:element> + </rng:group> + </rng:optional> + <rng:group> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:data type="token"/> + </rng:element> + <rng:optional> + <rng:element name="Title"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="FilePlanPosition"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="OriginatingAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="TransferringAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Description"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Type"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Language"> + <rng:data type="language"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DescriptionLanguage"> + <rng:data type="language"/> + </rng:element> + </rng:optional> + <rng:zeroOrMore> + <rng:element name="Tag"> + <rng:data type="token"/> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="OriginatingAgency"> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="SubmissionAgency"> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RelatedObjectReference"> + <rng:optional> + <rng:element name="IsVersionOf"> + <rng:choice> + <rng:element name="ArchiveUnitRefId" + a:defaultValue="id76759"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:choice> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Replaces"> + <rng:choice> + <rng:element name="ArchiveUnitRefId" + a:defaultValue="id76759"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:choice> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="IsPartOf"> + <rng:choice> + <rng:element name="ArchiveUnitRefId" + a:defaultValue="id76759"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:choice> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="References"> + <rng:choice> + <rng:element name="ArchiveUnitRefId" + a:defaultValue="id76759"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:choice> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="EndDate"> + <rng:data type="date"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:group> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + </rng:group> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="ManagementMetadata"> + <rng:element name="ArchivalProfile"> + <rng:data type="token"/> + </rng:element> + <rng:element name="OriginatingAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="SubmissionAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:group> + <rng:element name="Rule"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:group> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:group> + <rng:element name="Rule"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:group> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:group> + <rng:element name="Rule"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:group> + </rng:element> + </rng:optional> + </rng:element> + </rng:element> + <rng:element name="ArchivalAgency"> + <rng:element name="Identifier"> + <rng:value>19341594000017</rng:value> + <rng:attribute name="schemeName"> + <rng:value>SIRET</rng:value> + </rng:attribute> + <rng:attribute name="schemeAgencyName"> + <rng:value>INSEE</rng:value> + </rng:attribute> + </rng:element> + </rng:element> + <rng:element name="TransferringAgency"> + <xsd:annotation> + <xsd:documentation>Doit permettre d'identifier l'opérateur technique réalisant le + versement de manière unique et non équivoque + </xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="token"/> + <rng:attribute name="schemeName"> + <rng:value>SIRET</rng:value> + </rng:attribute> + <rng:attribute name="schemeAgencyName"> + <rng:value>INSEE</rng:value> + </rng:attribute> + </rng:element> + </rng:element> + </rng:element> + </rng:start> +</rng:grammar> diff --git a/api/api-pastis/pom.xml b/api/api-pastis/pom.xml new file mode 100644 index 000000000..23f99d0f2 --- /dev/null +++ b/api/api-pastis/pom.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns="http://maven.apache.org/POM/4.0.0" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <parent> + <artifactId>api-parent</artifactId> + <groupId>fr.gouv.vitamui</groupId> + <version>5.0-SNAPSHOT</version> + </parent> + <modelVersion>4.0.0</modelVersion> + + <artifactId>api-pastis</artifactId> + <packaging>pom</packaging> + <description>VITAMUI Pastis API</description> + + <modules> + <module>pastis-commons</module> + <module>pastis-client</module> + <module>pastis</module> + <module>pastis-standalone</module> + </modules> + +</project> diff --git a/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/ArchivalProfileUnitDto.java b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/ArchivalProfileUnitDto.java new file mode 100644 index 000000000..f61f7837a --- /dev/null +++ b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/ArchivalProfileUnitDto.java @@ -0,0 +1,30 @@ +package fr.gouv.vitamui.referential.common.dto; + +import com.fasterxml.jackson.annotation.JsonInclude; +import fr.gouv.vitam.common.model.administration.ArchiveUnitProfileStatus; +import fr.gouv.vitamui.commons.api.domain.IdDto; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + +import java.io.Serializable; +import java.util.List; + +@ToString +@JsonInclude(JsonInclude.Include.NON_NULL) +@Getter +@Setter +public class ArchivalProfileUnitDto extends IdDto implements Serializable { + private Integer tenant; + private Integer version; + private String identifier; + private String name; + private String description; + private ArchiveUnitProfileStatus status; + private String creationDate; + private String lastUpdate; + private String activationDate; + private String deactivationDate; + private String controlSchema; + private List<String> fields; +} diff --git a/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/ArchivalProfileUnitResponseDto.java b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/ArchivalProfileUnitResponseDto.java new file mode 100644 index 000000000..c858ce55d --- /dev/null +++ b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/ArchivalProfileUnitResponseDto.java @@ -0,0 +1,7 @@ +package fr.gouv.vitamui.referential.common.dto; + +import fr.gouv.vitam.common.model.administration.ArchiveUnitProfileModel; +import fr.gouv.vitamui.commons.vitam.api.dto.AbstractVitamUIResponseDto; + +public class ArchivalProfileUnitResponseDto extends AbstractVitamUIResponseDto<ArchiveUnitProfileModel> { +} diff --git a/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/ProfileDto.java b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/ProfileDto.java index de5117d6a..a7c9963ea 100644 --- a/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/ProfileDto.java +++ b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/ProfileDto.java @@ -37,7 +37,6 @@ package fr.gouv.vitamui.referential.common.dto; import com.fasterxml.jackson.annotation.JsonInclude; - import fr.gouv.vitam.common.model.administration.ProfileFormat; import fr.gouv.vitam.common.model.administration.ProfileStatus; import fr.gouv.vitamui.commons.api.domain.IdDto; @@ -58,8 +57,8 @@ public class ProfileDto extends IdDto { private ProfileStatus status; private ProfileFormat format; private String path; - private String creationdate; - private String lastupdate; - private String activationdate; - private String deactivationdate; + private String creationDate; + private String lastUpdate; + private String activationDate; + private String deactivationDate; } diff --git a/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/archivalprofileunit/ArchivalProfileUnit.java b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/archivalprofileunit/ArchivalProfileUnit.java new file mode 100644 index 000000000..0ccc2635e --- /dev/null +++ b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/archivalprofileunit/ArchivalProfileUnit.java @@ -0,0 +1,94 @@ +/** + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * <p> + * contact@programmevitam.fr + * <p> + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * <p> + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * <p> + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * <p> + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * <p> + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +package fr.gouv.vitamui.referential.common.dto.xml.archivalprofileunit; + +import fr.gouv.vitam.common.model.administration.ArchiveUnitProfileStatus; +import lombok.Getter; +import lombok.Setter; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import java.io.Serializable; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@Setter +@Getter +public class ArchivalProfileUnit implements Serializable { + + @XmlAttribute(name = "ID") + private Integer id; + + @XmlAttribute(name = "Identifier") + private String identifier; + + @XmlAttribute(name = "Name") + private String name; + + @XmlAttribute(name = "Description") + private String description; + + @XmlAttribute(name = "Version") + private Integer version; + + @XmlElement(name = "Status") + private ArchiveUnitProfileStatus status; + + @XmlElement(name = "Tenant") + private Integer tenant; + + @XmlElement(name = "CreationDate") + private String creationdate; + + @XmlElement(name = "LastUpdate") + private String lastupdate; + + @XmlElement(name = "ActivationDate") + private String activationdate; + + @XmlElement(name = "DeactivationDate") + private String deactivationdate; + + @XmlElement(name = "ControlSchema") + private String controlSchema; + + @XmlElement(name = "Fields") + private List<String> fields; + +} diff --git a/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/archivalprofileunit/ArchivalProfileUnitCollection.java b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/archivalprofileunit/ArchivalProfileUnitCollection.java new file mode 100644 index 000000000..a118d1041 --- /dev/null +++ b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/archivalprofileunit/ArchivalProfileUnitCollection.java @@ -0,0 +1,55 @@ +/** + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * <p> + * contact@programmevitam.fr + * <p> + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * <p> + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * <p> + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * <p> + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * <p> + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +package fr.gouv.vitamui.referential.common.dto.xml.archivalprofileunit; + +import lombok.Getter; +import lombok.Setter; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@Setter +@Getter +public class ArchivalProfileUnitCollection { + + @XmlElement(name = "ArchivalProfiles") + private List<ArchivalProfileUnit> archivalProfileUnits; + +} diff --git a/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/archivalprofileunit/ArchivalProfileUnitXMLRootDto.java b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/archivalprofileunit/ArchivalProfileUnitXMLRootDto.java new file mode 100644 index 000000000..66c967c21 --- /dev/null +++ b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/archivalprofileunit/ArchivalProfileUnitXMLRootDto.java @@ -0,0 +1,71 @@ +/** + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * <p> + * contact@programmevitam.fr + * <p> + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * <p> + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * <p> + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * <p> + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * <p> + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +package fr.gouv.vitamui.referential.common.dto.xml.archivalprofileunit; + +import lombok.Getter; +import lombok.Setter; + +import javax.xml.bind.annotation.*; +import java.util.Date; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlRootElement(name = "FFSignatureFile") +@Setter +@Getter +public class ArchivalProfileUnitXMLRootDto { + + // Archival Profile Version field + @XmlAttribute(name = "Version") + private Integer version; + + @XmlAttribute(name = "DateCreated") + private Date createdDate; + + @XmlAttribute(name = "xmlns") + private final String namespace = "http://www.nationalarchives.gov.uk/pronom/SignatureFile"; + + @XmlElement(name = "InternalSignatureCollection") + private InternalSignatureCollection internalSignatureCollection = new InternalSignatureCollection(); + + @XmlElement(name = "ArchivalProfileCollection") + private ArchivalProfileUnitCollection archivalProfileUnitCollection; + + @Override + public String toString() { + return "" + createdDate + version + "[" + archivalProfileUnitCollection.getArchivalProfileUnits().size() + " archival Profiles]"; + } +} diff --git a/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/archivalprofileunit/InternalSignatureCollection.java b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/archivalprofileunit/InternalSignatureCollection.java new file mode 100644 index 000000000..8471a8ac8 --- /dev/null +++ b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/archivalprofileunit/InternalSignatureCollection.java @@ -0,0 +1,56 @@ +/** + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +package fr.gouv.vitamui.referential.common.dto.xml.archivalprofileunit; + +import lombok.Getter; +import lombok.Setter; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import java.util.ArrayList; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@Setter +@Getter +public class InternalSignatureCollection { + + @XmlElement(name="InternalSignature") + private List<Object> internalSignature = new ArrayList<>(); + +} diff --git a/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/profile/InternalSignatureCollection.java b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/profile/InternalSignatureCollection.java new file mode 100644 index 000000000..6d5644bd5 --- /dev/null +++ b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/profile/InternalSignatureCollection.java @@ -0,0 +1,56 @@ +/** + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +package fr.gouv.vitamui.referential.common.dto.xml.profile; + +import lombok.Getter; +import lombok.Setter; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import java.util.ArrayList; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@Setter +@Getter +public class InternalSignatureCollection { + + @XmlElement(name="InternalSignature") + private List<Object> internalSignature = new ArrayList<>(); + +} diff --git a/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/profile/Profile.java b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/profile/Profile.java new file mode 100644 index 000000000..7edfaf068 --- /dev/null +++ b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/profile/Profile.java @@ -0,0 +1,94 @@ +/** + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * <p> + * contact@programmevitam.fr + * <p> + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * <p> + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * <p> + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * <p> + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * <p> + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +package fr.gouv.vitamui.referential.common.dto.xml.profile; + +import fr.gouv.vitam.common.model.administration.ProfileFormat; +import fr.gouv.vitam.common.model.administration.ProfileStatus; +import lombok.Getter; +import lombok.Setter; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import java.io.Serializable; + +@XmlAccessorType(XmlAccessType.FIELD) +@Setter +@Getter +public class Profile implements Serializable { + + @XmlAttribute(name = "ID") + private Integer id; + + @XmlAttribute(name = "Identifier") + private String identifier; + + @XmlAttribute(name = "Name") + private String name; + + @XmlAttribute(name = "Description") + private String description; + + @XmlAttribute(name = "Version") + private Integer version; + + @XmlElement(name = "Format") + private ProfileFormat format; + + @XmlElement(name = "Status") + private ProfileStatus status; + + @XmlElement(name = "Path") + private String path; + + @XmlElement(name = "Tenant") + private Integer tenant; + + @XmlElement(name = "CreationDate") + private String creationdate; + + @XmlElement(name = "LastUpdate") + private String lastupdate; + + @XmlElement(name = "ActivationDate") + private String activationdate; + + @XmlElement(name = "DeactivationDate") + private String deactivationdate; + +} diff --git a/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/profile/ProfileCollection.java b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/profile/ProfileCollection.java new file mode 100644 index 000000000..928acef8d --- /dev/null +++ b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/profile/ProfileCollection.java @@ -0,0 +1,55 @@ +/** + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * <p> + * contact@programmevitam.fr + * <p> + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * <p> + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * <p> + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * <p> + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * <p> + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +package fr.gouv.vitamui.referential.common.dto.xml.profile; + +import lombok.Getter; +import lombok.Setter; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +@Setter +@Getter +public class ProfileCollection { + + @XmlElement(name = "Profiles") + private List<Profile> profiles; + +} diff --git a/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/profile/ProfileXMLRootDto.java b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/profile/ProfileXMLRootDto.java new file mode 100644 index 000000000..c18e2540f --- /dev/null +++ b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dto/xml/profile/ProfileXMLRootDto.java @@ -0,0 +1,71 @@ +/** + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * <p> + * contact@programmevitam.fr + * <p> + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * <p> + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * <p> + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * <p> + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * <p> + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +package fr.gouv.vitamui.referential.common.dto.xml.profile; + +import lombok.Getter; +import lombok.Setter; + +import javax.xml.bind.annotation.*; +import java.util.Date; + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlRootElement(name = "FFSignatureFile") +@Setter +@Getter +public class ProfileXMLRootDto { + + // Archival Profile Version field + @XmlAttribute(name = "Version") + private Integer version; + + @XmlAttribute(name = "DateCreated") + private Date createdDate; + + @XmlAttribute(name = "xmlns") + private final String namespace = "http://www.nationalarchives.gov.uk/pronom/SignatureFile"; + + @XmlElement(name = "InternalSignatureCollection") + private InternalSignatureCollection internalSignatureCollection = new InternalSignatureCollection(); + + @XmlElement(name = "ProfileCollection") + private ProfileCollection profileCollection; + + @Override + public String toString() { + return "" + createdDate + version + "[" + profileCollection.getProfiles().size() + " profiles]"; + } +} diff --git a/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/rest/RestApi.java b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/rest/RestApi.java index 2ab69fea4..1a4210ecf 100644 --- a/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/rest/RestApi.java +++ b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/rest/RestApi.java @@ -45,6 +45,10 @@ public abstract class RestApi { private static final String PREFIX = "/referential/v1"; + public static final String ARCHIVAL_PROFILE = "/archival-profile"; + + public static final String PROFILE = "/profile"; + public static final String STATUS_URL = "/status"; public static final String AUTOTEST_URL = "/autotest"; @@ -73,7 +77,7 @@ public abstract class RestApi { public static final String ACCESSION_REGISTER_URL = PREFIX + "/accession-register"; - public static final String PROFILES_URL = PREFIX + "/profile"; + public static final String PROFILES_URL = PREFIX + PROFILE; public static final String SEARCH_PATH = "/search"; @@ -91,6 +95,8 @@ public abstract class RestApi { public static final String OPERATIONS_PATH = "/operations"; + public static final String ARCHIVAL_PROFILE_URL = PREFIX + ARCHIVAL_PROFILE; + /** * Constants of Logbook Management Oerations Actions */ @@ -99,6 +105,15 @@ public abstract class RestApi { public static final String CANCEL_OPERATION_PATH = "/operations/cancel"; + /** + * Constants of Archival Profiles Operations Actions + */ + + public static final String DOWNLOAD_PROFILE = "/download"; + + public static final String UPDATE_PROFILE_FILE = "/updateProfileFile"; + + private RestApi() { // do nothing } diff --git a/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/service/VitamArchivalProfileUnitService.java b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/service/VitamArchivalProfileUnitService.java new file mode 100644 index 000000000..44f2e47ac --- /dev/null +++ b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/service/VitamArchivalProfileUnitService.java @@ -0,0 +1,229 @@ +package fr.gouv.vitamui.referential.common.service; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import fr.gouv.vitam.access.external.client.AccessExternalClient; +import fr.gouv.vitam.access.external.client.AdminExternalClient; +import fr.gouv.vitam.access.external.common.exception.AccessExternalClientException; +import fr.gouv.vitam.common.client.VitamContext; +import fr.gouv.vitam.common.database.builder.request.single.Select; +import fr.gouv.vitam.common.exception.InvalidParseOperationException; +import fr.gouv.vitam.common.exception.VitamClientException; +import fr.gouv.vitam.common.model.RequestResponse; +import fr.gouv.vitam.common.model.administration.ArchiveUnitProfileModel; +import fr.gouv.vitamui.commons.api.exception.*; +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.commons.vitam.api.util.VitamRestUtils; +import fr.gouv.vitamui.referential.common.dto.ArchivalProfileUnitResponseDto; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.web.multipart.MultipartFile; + +import javax.xml.bind.JAXBException; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +public class VitamArchivalProfileUnitService { + + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(VitamArchivalProfileUnitService.class); + + private final AdminExternalClient adminExternalClient; + + private final AccessExternalClient accessExternalClient; + + private ObjectMapper objectMapper; + + @Autowired + public VitamArchivalProfileUnitService(AdminExternalClient adminExternalClient, ObjectMapper objectMapper, AccessExternalClient accessExternalClient) { + this.adminExternalClient = adminExternalClient; + this.objectMapper = objectMapper; + this.accessExternalClient = accessExternalClient; + } + + /** + * Lister le contenu du référentiel des profils d'unité archivistique + * + * @param vitamContext + * @param select + * @return + * @throws VitamClientException + */ + public RequestResponse<ArchiveUnitProfileModel> findArchivalProfiles(final VitamContext vitamContext, final JsonNode select) throws VitamClientException { + LOGGER.info("Archival Unit Profile EvIdAppSession : {} ", vitamContext.getApplicationSessionId()); + vitamContext.setTenantId(0); + System.out.println(vitamContext.getTenantId()); + final RequestResponse<ArchiveUnitProfileModel> response = adminExternalClient.findArchiveUnitProfiles(vitamContext, select); + VitamRestUtils.checkResponse(response); + System.out.println(response); + return response; + } + + /** + * Lire un profil d'unité archivistique donné + * + * @param vitamContext + * @param contractId + * @return + * @throws VitamClientException + */ + public RequestResponse<ArchiveUnitProfileModel> findArchivalProfileById(final VitamContext vitamContext, final String contractId) throws VitamClientException { + LOGGER.info("Archival Unit Profile EvIdAppSession : {} ", vitamContext.getApplicationSessionId()); + vitamContext.setTenantId(0); + final RequestResponse<ArchiveUnitProfileModel> response = adminExternalClient.findArchiveUnitProfileById(vitamContext, contractId); + VitamRestUtils.checkResponse(response); + return response; + } + + /** + * Effectuer une mise à jour sur un profil d'unité archivistique + * + * @param vitamContext + * @param id + * @param jsonNode + * @return + * @throws VitamClientException + * @throws InvalidParseOperationException + * @throws AccessExternalClientException + */ + public RequestResponse<?> updateArchiveUnitProfile(final VitamContext vitamContext, final String id, JsonNode jsonNode) throws VitamClientException, InvalidParseOperationException, AccessExternalClientException { + LOGGER.debug("patch: {}, {}", id, jsonNode); + LOGGER.info("Update Archival Unit Profile EvIdAppSession : {} ", vitamContext.getApplicationSessionId()); + vitamContext.setTenantId(0); + return adminExternalClient.updateArchiveUnitProfile(vitamContext, id, jsonNode); + } + + /** + * Écrire un ou plusieurs profils d'unité archivistique dans le référentiel format json + * + * @param vitamContext + * @param newArchivalProfile + * @return + * @throws InvalidParseOperationException + * @throws AccessExternalClientException + * @throws VitamClientException + * @throws IOException + * @throws JAXBException + */ + public RequestResponse<?> create(final VitamContext vitamContext, ArchiveUnitProfileModel newArchivalProfile) + throws InvalidParseOperationException, AccessExternalClientException, VitamClientException, IOException, JAXBException { + + LOGGER.info("Create Archival Unit Profile EvIdAppSession : {} ", vitamContext.getApplicationSessionId()); + vitamContext.setTenantId(0); + final List<ArchiveUnitProfileModel> archiveUnitProfileModelsList = new ArrayList<>(); + archiveUnitProfileModelsList.add(newArchivalProfile); + return importArchivalProfiles(vitamContext, archiveUnitProfileModelsList); + } + + private RequestResponse<?> importArchivalProfiles(final VitamContext vitamContext, final List<ArchiveUnitProfileModel> archivalProfileModels) + throws InvalidParseOperationException, AccessExternalClientException, IOException, JAXBException { + try (ByteArrayInputStream byteArrayInputStream = serializeArchivalProfiles(archivalProfileModels)) { + vitamContext.setTenantId(0); + return adminExternalClient.createArchiveUnitProfile(vitamContext, byteArrayInputStream); + } + } + + + private ByteArrayInputStream serializeArchivalProfiles(final List<ArchiveUnitProfileModel> archiveUnitProfileModels) throws IOException { + final ObjectMapper mapper = new ObjectMapper(); + final JsonNode node = mapper.convertValue(archiveUnitProfileModels, JsonNode.class); + LOGGER.debug("The json for creation profile, sent to Vitam {}", node); + + try (ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream()) { + mapper.writeValue(byteArrayOutputStream, node); + return new ByteArrayInputStream(byteArrayOutputStream.toByteArray()); + } + } + + + /** + * Importer un ou plusieurs profils d'unité archivistique dans le référentiel + * + * @param vitamContext + * @param fileName + * @param file + * @return + * @throws InvalidParseOperationException + * @throws AccessExternalClientException + * @throws VitamClientException + * @throws IOException + */ + public RequestResponse<?> importArchivalUnitProfileByFile(VitamContext vitamContext, String fileName, MultipartFile file) throws InvalidParseOperationException, AccessExternalClientException, VitamClientException, IOException { + { + LOGGER.debug("Import archival unit profile by file {}", fileName); + vitamContext.setTenantId(0); + return adminExternalClient.createArchiveUnitProfile(vitamContext, file.getInputStream()); + } + } + + + /** + * Ignore vitam internal fields (#id, #version, #tenant) and ArchivalProfile non mutable fields (Identifier, Name) + */ + private void patchFields(ArchiveUnitProfileModel archivalProfileToPatch, ArchiveUnitProfileModel fieldsToApply) { + if (fieldsToApply.getVersion() != null) { + archivalProfileToPatch.setVersion(fieldsToApply.getVersion()); + } + } + + + /** + * check if all conditions are Ok to create an archival Profile Unit in the tenant + * + * @param archivalProfiles + * @return true if the archival Profile Unit can be created, false if the ile archival Profile Unit already exists + */ + public boolean checkAbilityToCreateArchivalProfileInVitam(final List<ArchiveUnitProfileModel> archivalProfiles, VitamContext vitamContext) { + + if (archivalProfiles != null && !archivalProfiles.isEmpty()) { + try { + // check if tenant exist in Vitam + final JsonNode select = new Select().getFinalSelect(); + final RequestResponse<ArchiveUnitProfileModel> response = findArchivalProfiles(vitamContext, select); + if (response.getStatus() == HttpStatus.UNAUTHORIZED.value()) { + throw new PreconditionFailedException("Can't create archival profile for the tenant : UNAUTHORIZED"); + } else if (response.getStatus() != HttpStatus.OK.value()) { + throw new UnavailableServiceException("Can't create archival profile for this tenant, Vitam response code : " + response.getStatus()); + } + + verifyArchivalProfileExistence(archivalProfiles, response); + } catch (final VitamClientException e) { + throw new UnavailableServiceException("Can't create access contracts for this tenant, error while calling Vitam : " + e.getMessage()); + } + return true; + } + throw new BadRequestException("The body is not found"); + } + + /** + * Check if access contract is not already created in Vitam. + * + * @param checkArchivalProfiles + * @param vitamArchivalProfiles + */ + private void verifyArchivalProfileExistence(final List<ArchiveUnitProfileModel> checkArchivalProfiles, final RequestResponse<ArchiveUnitProfileModel> vitamArchivalProfiles) { + try { + final ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + final ArchivalProfileUnitResponseDto accessContractResponseDto = objectMapper.treeToValue(vitamArchivalProfiles.toJsonNode(), ArchivalProfileUnitResponseDto.class); + final List<String> formatsNames = checkArchivalProfiles.stream().map(ac -> ac.getName()).collect(Collectors.toList()); + if (accessContractResponseDto.getResults().stream().anyMatch(ac -> formatsNames.contains(ac.getName()))) { + throw new ConflictException("Can't create archival profile, a format with the same name already exist in Vitam"); + } + final List<String> formatsPuids = checkArchivalProfiles.stream().map(ac -> ac.getIdentifier()).collect(Collectors.toList()); + if (accessContractResponseDto.getResults().stream().anyMatch(ac -> formatsPuids.contains(ac.getIdentifier()))) { + throw new ConflictException("Can't create archival profile, a format with the same puid already exist in Vitam"); + } + } catch (final JsonProcessingException e) { + throw new UnexpectedDataException("Can't create access contracts, Error while parsing Vitam response : " + e.getMessage()); + } + } + + +} diff --git a/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/service/VitamProfileService.java b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/service/VitamProfileService.java new file mode 100644 index 000000000..b8f6fb163 --- /dev/null +++ b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/service/VitamProfileService.java @@ -0,0 +1,252 @@ +package fr.gouv.vitamui.referential.common.service; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import fr.gouv.vitam.access.external.client.AdminExternalClient; +import fr.gouv.vitam.access.external.common.exception.AccessExternalClientException; +import fr.gouv.vitam.access.external.common.exception.AccessExternalNotFoundException; +import fr.gouv.vitam.common.client.VitamContext; +import fr.gouv.vitam.common.exception.InvalidParseOperationException; +import fr.gouv.vitam.common.exception.VitamClientException; +import fr.gouv.vitam.common.model.RequestResponse; +import fr.gouv.vitam.common.model.administration.ProfileModel; +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.commons.vitam.api.util.VitamRestUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.multipart.MultipartFile; + +import javax.ws.rs.core.Response; +import javax.xml.bind.JAXBException; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +public class VitamProfileService { + + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(VitamProfileService.class); + + private final AdminExternalClient adminExternalClient; + + private ObjectMapper objectMapper; + + @Autowired + public VitamProfileService(AdminExternalClient adminExternalClient, ObjectMapper objectMapper) { + this.adminExternalClient = adminExternalClient; + this.objectMapper = objectMapper; + } + + /** + * Liste le contenu du référentiel des profils + * + * @param vitamContext + * @param select + * @return + * @throws VitamClientException + */ + public RequestResponse<ProfileModel> findArchivalProfiles(final VitamContext vitamContext, final JsonNode select) throws VitamClientException { + LOGGER.info("Archival Profile EvIdAppSession : {} ", vitamContext.getApplicationSessionId()); + vitamContext.setTenantId(0); + final RequestResponse<ProfileModel> response = adminExternalClient.findProfiles(vitamContext, select); + VitamRestUtils.checkResponse(response); + return response; + } + + /** + * Lire un profil donné + * + * @param vitamContext + * @param contractId + * @return + * @throws VitamClientException + */ + public RequestResponse<ProfileModel> findArchivalProfileById(final VitamContext vitamContext, final String contractId) throws VitamClientException { + LOGGER.info("Archival Profile EvIdAppSession : {} ", vitamContext.getApplicationSessionId()); + vitamContext.setTenantId(0); + final RequestResponse<ProfileModel> response = adminExternalClient.findProfileById(vitamContext, contractId); + VitamRestUtils.checkResponse(response); + return response; + } + + /** + * Télécharger le fichier xsd ou rng dans un profil + * + * @param context + * @param id + * @return + * @throws VitamClientException + * @throws AccessExternalClientException + * @throws AccessExternalNotFoundException + */ + public Response downloadProfile(VitamContext context, String id) throws VitamClientException, AccessExternalClientException, AccessExternalNotFoundException { + LOGGER.info("Download profile file EvIdAppSession : {} ", context.getApplicationSessionId()); + context.setTenantId(0); + return adminExternalClient.downloadProfileFile(context, id); + } + + /** + * Importer un fichier xsd ou rng dans un profil + * + * @param context + * @param id + * @param file + * @return + * @throws AccessExternalClientException + * @throws InvalidParseOperationException + */ + public RequestResponse updateProfileFile(VitamContext context, String id, MultipartFile file) throws AccessExternalClientException, InvalidParseOperationException, IOException { + LOGGER.info("Upload Profile xsd or rng EvIdAppSession : {} ", context.getApplicationSessionId()); + context.setTenantId(0); + return adminExternalClient.createProfileFile(context, id, file.getInputStream()); + } + + /** + * Update Profile + * + * @param vitamContext + * @param id + * @param jsonNode + * @return + * @throws AccessExternalClientException + */ + public RequestResponse<?> updateProfile(VitamContext vitamContext, String id, JsonNode jsonNode) throws AccessExternalClientException { + LOGGER.debug("patch: {}, {}", id, jsonNode); + LOGGER.info("Update Archival Unit Profile EvIdAppSession : {} ", vitamContext.getApplicationSessionId()); + vitamContext.setTenantId(0); + return adminExternalClient.updateProfile(vitamContext, id, jsonNode); + } + + /** + * Create Profile Json in Referential + * + * @param vitamContext + * @param newArchivalProfile + * @return + * @throws InvalidParseOperationException + * @throws AccessExternalClientException + * @throws VitamClientException + * @throws IOException + * @throws JAXBException + */ + public RequestResponse<?> create(final VitamContext vitamContext, ProfileModel newArchivalProfile) + throws InvalidParseOperationException, AccessExternalClientException, VitamClientException, IOException, JAXBException { + LOGGER.info("Create Archival Profile EvIdAppSession : {} ", vitamContext.getApplicationSessionId()); + vitamContext.setTenantId(0); + final List<ProfileModel> profileModelNewList = new ArrayList<>(); + profileModelNewList.add(newArchivalProfile); + return importArchivalProfiles(vitamContext, profileModelNewList); + } + + + public RequestResponse<?> importArchivalProfiles(final VitamContext vitamContext, final List<ProfileModel> archivalProfileModels) + throws InvalidParseOperationException, AccessExternalClientException, IOException, JAXBException { + try (ByteArrayInputStream byteArrayInputStream = serializeArchivalProfiles(archivalProfileModels)) { + vitamContext.setTenantId(0); + return adminExternalClient.createProfiles(vitamContext, byteArrayInputStream); + } + } + + private ByteArrayInputStream serializeArchivalProfiles(final List<ProfileModel> profileModels) throws IOException { + final ObjectMapper mapper = new ObjectMapper(); + final JsonNode node = mapper.convertValue(profileModels, JsonNode.class); + LOGGER.debug("The json for creation profile, sent to Vitam {}", node); + + try (ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream()) { + mapper.writeValue(byteArrayOutputStream, node); + return new ByteArrayInputStream(byteArrayOutputStream.toByteArray()); + } + } + + /** + * Importer des profils dans le référentiel via un fichier + * + * @param vitamContext + * @param fileName + * @param file + * @return + * @throws InvalidParseOperationException + * @throws AccessExternalClientException + * @throws VitamClientException + * @throws IOException + */ + public RequestResponse<?> importProfileByFile(VitamContext vitamContext, String fileName, MultipartFile file) + throws InvalidParseOperationException, AccessExternalClientException, VitamClientException, IOException { + LOGGER.debug("Import profile by file {}", fileName); + vitamContext.setTenantId(0); + return adminExternalClient.createProfiles(vitamContext, file.getInputStream()); + } + + + + + + + + + + + /* + + *//** + * Ignore vitam internal fields (#id, #version, #tenant) and Profile non mutable fields (Identifier, Name) + *//* + private void patchFields(ProfileModel archivalProfileToPatch, ProfileModel fieldsToApply) { + if (fieldsToApply.getVersion() != null) { + archivalProfileToPatch.setVersion(fieldsToApply.getVersion()); + } + } + + *//** + * check if all conditions are Ok to create an access contract in the tenant + * + * @param profiles + * @return true if the format can be created, false if the ile format already exists + *//* + public boolean checkAbilityToCreateArchivalProfileInVitam(final List<ProfileModel> profiles, VitamContext vitamContext) { + + if (profiles != null && !profiles.isEmpty()) { + try { + // check if tenant exist in Vitam + final JsonNode select = new Select().getFinalSelect(); + final RequestResponse<ProfileModel> response = findArchivalProfiles(vitamContext, select); + if (response.getStatus() == HttpStatus.UNAUTHORIZED.value()) { + throw new PreconditionFailedException("Can't create archival profile for the tenant : UNAUTHORIZED"); + } else if (response.getStatus() != HttpStatus.OK.value()) { + throw new UnavailableServiceException("Can't create archival profile for this tenant, Vitam response code : " + response.getStatus()); + } + + verifyArchivalProfileExistence(profiles, response); + } catch (final VitamClientException e) { + throw new UnavailableServiceException("Can't create access contracts for this tenant, error while calling Vitam : " + e.getMessage()); + } + return true; + } + throw new BadRequestException("The body is not found"); + } + + *//** + * Check if access contract is not already created in Vitam. + * + * @param checkArchivalProfiles + * @param vitamArchivalProfiles + *//* + private void verifyArchivalProfileExistence(final List<ProfileModel> checkArchivalProfiles, final RequestResponse<ProfileModel> vitamArchivalProfiles) { + try { + final ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + final ProfileResponseDto accessContractResponseDto = objectMapper.treeToValue(vitamArchivalProfiles.toJsonNode(), ProfileResponseDto.class); + final List<String> formatsNames = checkArchivalProfiles.stream().map(ac -> ac.getName()).collect(Collectors.toList()); + if (accessContractResponseDto.getResults().stream().anyMatch(ac -> formatsNames.contains(ac.getName()))) { + throw new ConflictException("Can't create archival profile, a format with the same name already exist in Vitam"); + } + final List<String> formatsPuids = checkArchivalProfiles.stream().map(ac -> ac.getIdentifier()).collect(Collectors.toList()); + if (accessContractResponseDto.getResults().stream().anyMatch(ac -> formatsPuids.contains(ac.getIdentifier()))) { + throw new ConflictException("Can't create archival profile, a format with the same puid already exist in Vitam"); + } + } catch (final JsonProcessingException e) { + throw new UnexpectedDataException("Can't create access contracts, Error while parsing Vitam response : " + e.getMessage()); + } + }*/ +} diff --git a/api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ArchivalProfileUnitExternalRestClient.java b/api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ArchivalProfileUnitExternalRestClient.java new file mode 100644 index 000000000..ce528f44b --- /dev/null +++ b/api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ArchivalProfileUnitExternalRestClient.java @@ -0,0 +1,97 @@ +/** + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +package fr.gouv.vitamui.referential.external.client; + +import fr.gouv.vitamui.commons.api.CommonConstants; +import fr.gouv.vitamui.commons.api.domain.PaginatedValuesDto; +import fr.gouv.vitamui.commons.rest.client.BasePaginatingAndSortingRestClient; +import fr.gouv.vitamui.commons.rest.client.ExternalHttpContext; +import fr.gouv.vitamui.referential.common.dto.ArchivalProfileUnitDto; +import fr.gouv.vitamui.referential.common.rest.RestApi; +import org.springframework.core.ParameterizedTypeReference; +import org.springframework.core.io.Resource; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpMethod; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.client.RestTemplate; +import org.springframework.web.util.UriComponentsBuilder; + +import java.util.List; + +public class ArchivalProfileUnitExternalRestClient extends BasePaginatingAndSortingRestClient<ArchivalProfileUnitDto, ExternalHttpContext> { + + public ArchivalProfileUnitExternalRestClient(final RestTemplate restTemplate, final String baseUrl) { + super(restTemplate, baseUrl); + } + + @Override + protected ParameterizedTypeReference<PaginatedValuesDto<ArchivalProfileUnitDto>> getDtoPaginatedClass() { + return new ParameterizedTypeReference<PaginatedValuesDto<ArchivalProfileUnitDto>>() { + }; + } + + @Override + public String getPathUrl() { + return RestApi.ARCHIVAL_PROFILE_URL; + } + + @Override + protected Class<ArchivalProfileUnitDto> getDtoClass() { + return ArchivalProfileUnitDto.class; + } + + protected ParameterizedTypeReference<List<ArchivalProfileUnitDto>> getDtoListClass() { + return new ParameterizedTypeReference<List<ArchivalProfileUnitDto>>() { + }; + } + + public boolean check(ExternalHttpContext context, ArchivalProfileUnitDto ArchivalProfileUnitDto) { + final UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromHttpUrl(getUrl() + CommonConstants.PATH_CHECK); + final HttpEntity<ArchivalProfileUnitDto> request = new HttpEntity<>(ArchivalProfileUnitDto, buildHeaders(context)); + final ResponseEntity<Boolean> response = restTemplate.exchange(uriBuilder.toUriString(), HttpMethod.POST, + request, Boolean.class); + return response.getStatusCode() == HttpStatus.OK; + } + + public ResponseEntity<Resource> export(ExternalHttpContext context) { + final UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromHttpUrl(getUrl() + "/export"); + final HttpEntity<ArchivalProfileUnitDto> request = new HttpEntity<>(null, buildHeaders(context)); + return restTemplate.exchange(uriBuilder.toUriString(), HttpMethod.GET, request, Resource.class); + } +} diff --git a/api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ArchivalProfileUnitExternalWebClient.java b/api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ArchivalProfileUnitExternalWebClient.java new file mode 100644 index 000000000..bb31230ef --- /dev/null +++ b/api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ArchivalProfileUnitExternalWebClient.java @@ -0,0 +1,80 @@ +/** + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +package fr.gouv.vitamui.referential.external.client; + +import com.fasterxml.jackson.databind.JsonNode; +import fr.gouv.vitamui.commons.api.CommonConstants; +import fr.gouv.vitamui.commons.api.exception.BadRequestException; +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.commons.rest.client.BaseWebClient; +import fr.gouv.vitamui.commons.rest.client.ExternalHttpContext; +import fr.gouv.vitamui.referential.common.rest.RestApi; +import org.springframework.http.HttpMethod; +import org.springframework.http.ResponseEntity; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.reactive.function.client.WebClient; + +import java.util.AbstractMap; +import java.util.Collections; +import java.util.Optional; + +public class ArchivalProfileUnitExternalWebClient extends BaseWebClient<ExternalHttpContext> { + + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(ArchivalProfileUnitExternalWebClient.class); + + public ArchivalProfileUnitExternalWebClient(final WebClient webClient, final String baseUrl) { + super(webClient, baseUrl); + } + + public ResponseEntity<JsonNode> importArchivalUnitProfiles(ExternalHttpContext context, MultipartFile file) { + LOGGER.debug("Import Archival Unit Profile {}", file != null ? file.getOriginalFilename() : null); + if (file == null) { + throw new BadRequestException("No file to check ."); + } + + return ResponseEntity.ok(multipartData(getUrl() + CommonConstants.PATH_IMPORT, HttpMethod.POST, context, + Collections.singletonMap("fileName", file.getOriginalFilename()), + Optional.of(new AbstractMap.SimpleEntry<>("file", file)), JsonNode.class)); + } + + @Override + public String getPathUrl() { + return RestApi.ARCHIVAL_PROFILE_URL; + } +} diff --git a/api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ProfileExternalRestClient.java b/api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ProfileExternalRestClient.java index 38dbe2671..4bf249aa5 100644 --- a/api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ProfileExternalRestClient.java +++ b/api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ProfileExternalRestClient.java @@ -1,25 +1,25 @@ /** * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) * and the signatories of the "VITAM - Accord du Contributeur" agreement. - * + * <p> * contact@programmevitam.fr - * + * <p> * This software is a computer program whose purpose is to implement * implement a digital archiving front-office system for the secure and * efficient high volumetry VITAM solution. - * + * <p> * This software is governed by the CeCILL-C license under French law and * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL-C * license as circulated by CEA, CNRS and INRIA at the following URL * "http://www.cecill.info". - * + * <p> * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited * liability. - * + * <p> * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -30,22 +30,37 @@ * requirements in conditions enabling the security of their systems and/or * data to be ensured and, more generally, to use and operate it in the * same conditions as regards security. - * + * <p> * The fact that you are presently reading this means that you have had * knowledge of the CeCILL-C license and that you accept its terms. */ package fr.gouv.vitamui.referential.external.client; -import java.util.List; - -import org.springframework.core.ParameterizedTypeReference; -import org.springframework.web.client.RestTemplate; - +import com.fasterxml.jackson.databind.JsonNode; +import fr.gouv.vitamui.commons.api.CommonConstants; import fr.gouv.vitamui.commons.api.domain.PaginatedValuesDto; +import fr.gouv.vitamui.commons.api.utils.ApiUtils; import fr.gouv.vitamui.commons.rest.client.BasePaginatingAndSortingRestClient; import fr.gouv.vitamui.commons.rest.client.ExternalHttpContext; import fr.gouv.vitamui.referential.common.dto.ProfileDto; import fr.gouv.vitamui.referential.common.rest.RestApi; +import org.apache.commons.lang3.StringUtils; +import org.springframework.core.ParameterizedTypeReference; +import org.springframework.core.io.ByteArrayResource; +import org.springframework.core.io.Resource; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpMethod; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.util.Assert; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.client.RestTemplate; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.util.UriComponentsBuilder; + +import java.io.IOException; +import java.util.List; public class ProfileExternalRestClient extends BasePaginatingAndSortingRestClient<ProfileDto, ExternalHttpContext> { @@ -53,8 +68,10 @@ public class ProfileExternalRestClient extends BasePaginatingAndSortingRestClien super(restTemplate, baseUrl); } - @Override protected ParameterizedTypeReference<PaginatedValuesDto<ProfileDto>> getDtoPaginatedClass() { - return new ParameterizedTypeReference<PaginatedValuesDto<ProfileDto>>() { }; + @Override + protected ParameterizedTypeReference<PaginatedValuesDto<ProfileDto>> getDtoPaginatedClass() { + return new ParameterizedTypeReference<PaginatedValuesDto<ProfileDto>>() { + }; } @Override @@ -62,7 +79,8 @@ public class ProfileExternalRestClient extends BasePaginatingAndSortingRestClien return RestApi.PROFILES_URL; } - @Override protected Class<ProfileDto> getDtoClass() { + @Override + protected Class<ProfileDto> getDtoClass() { return ProfileDto.class; } @@ -70,4 +88,67 @@ public class ProfileExternalRestClient extends BasePaginatingAndSortingRestClien return new ParameterizedTypeReference<List<ProfileDto>>() { }; } + + public boolean check(ExternalHttpContext context, ProfileDto ProfileDto) { + final UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromHttpUrl(getUrl() + CommonConstants.PATH_CHECK); + final HttpEntity<ProfileDto> request = new HttpEntity<>(ProfileDto, buildHeaders(context)); + final ResponseEntity<Boolean> response = restTemplate.exchange(uriBuilder.toUriString(), HttpMethod.POST, + request, Boolean.class); + return response.getStatusCode() == HttpStatus.OK; + } + + public ResponseEntity<Resource> download(ExternalHttpContext context, String id) { + final UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromHttpUrl(getUrl() + RestApi.DOWNLOAD_PROFILE + CommonConstants.PATH_ID); + final HttpEntity<ProfileDto> request = new HttpEntity<>(null, buildHeaders(context)); + return restTemplate.exchange(uriBuilder.build(id), HttpMethod.GET, request, Resource.class); + } + + + public ResponseEntity<JsonNode> updateProfileFile(ExternalHttpContext context, String id, MultipartFile profileFile) throws IOException { + final UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromHttpUrl(getUrl() + RestApi.UPDATE_PROFILE_FILE + CommonConstants.PATH_ID); + + MultiValueMap<String, Object> bodyMap = new LinkedMultiValueMap<>(); + bodyMap.add("file", new FileSystemResource(profileFile.getBytes(), profileFile.getOriginalFilename())); + final HttpEntity<MultiValueMap<String, Object>> request = new HttpEntity<>(bodyMap, buildHeaders(context)); + return restTemplate.exchange(uriBuilder.build(id), + HttpMethod.PUT, + request, + JsonNode.class); + } + + public ResponseEntity<JsonNode> updateProfile(ExternalHttpContext c, ProfileDto dto) { + beforeUpdate(dto); + ApiUtils.checkValidity(dto); + final String dtoId = dto.getId(); + final HttpEntity<ProfileDto> request = new HttpEntity<>(dto, buildHeaders(c)); + final ResponseEntity<JsonNode> response = restTemplate.exchange(getUrl() + CommonConstants.PATH_ID, HttpMethod.PUT, + request, JsonNode.class, dtoId); + checkResponse(response); + return response; + } + + protected void beforeUpdate(final ProfileDto dto) { + Assert.isTrue(StringUtils.isNotBlank(dto.getId()), "The DTO identifier must be not null for update."); + ApiUtils.checkValidity(dto); + } + + public static class FileSystemResource extends ByteArrayResource { + + private String fileName; + + public FileSystemResource(byte[] byteArray, String filename) { + super(byteArray); + this.fileName = filename; + } + + public String getFilename() { + return fileName; + } + + public void setFilename(String fileName) { + this.fileName = fileName; + } + + } + } diff --git a/api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ProfileExternalWebClient.java b/api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ProfileExternalWebClient.java new file mode 100644 index 000000000..7b5e9fce4 --- /dev/null +++ b/api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ProfileExternalWebClient.java @@ -0,0 +1,79 @@ +/** + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +package fr.gouv.vitamui.referential.external.client; + +import com.fasterxml.jackson.databind.JsonNode; +import fr.gouv.vitamui.commons.api.CommonConstants; +import fr.gouv.vitamui.commons.api.exception.BadRequestException; +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.commons.rest.client.BaseWebClient; +import fr.gouv.vitamui.commons.rest.client.ExternalHttpContext; +import fr.gouv.vitamui.referential.common.rest.RestApi; +import org.springframework.http.HttpMethod; +import org.springframework.http.ResponseEntity; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.reactive.function.client.WebClient; + +import java.util.AbstractMap; +import java.util.Collections; +import java.util.Optional; + +public class ProfileExternalWebClient extends BaseWebClient<ExternalHttpContext> { + + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(ProfileExternalWebClient.class); + + public ProfileExternalWebClient(final WebClient webClient, final String baseUrl) { + super(webClient, baseUrl); + } + + public ResponseEntity<JsonNode> importProfiles(ExternalHttpContext context, MultipartFile file) { + LOGGER.debug("Import Profile {}", file != null ? file.getOriginalFilename() : null); + if (file == null) { + throw new BadRequestException("No file to check ."); + } + return ResponseEntity.ok(multipartData(getUrl() + CommonConstants.PATH_IMPORT, HttpMethod.POST, context, + Collections.singletonMap("fileName", file.getOriginalFilename()), + Optional.of(new AbstractMap.SimpleEntry<>("file", file)), JsonNode.class)); + } + + @Override + public String getPathUrl() { + return RestApi.PROFILES_URL; + } +} diff --git a/api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ReferentialExternalRestClientFactory.java b/api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ReferentialExternalRestClientFactory.java index 1564ff609..58e554669 100644 --- a/api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ReferentialExternalRestClientFactory.java +++ b/api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ReferentialExternalRestClientFactory.java @@ -76,6 +76,10 @@ public class ReferentialExternalRestClientFactory extends BaseRestClientFactory return new FileFormatExternalRestClient(getRestTemplate(), getBaseUrl()); } + public ArchivalProfileUnitExternalRestClient getArchivalProfileExternalRestClient(){ + return new ArchivalProfileUnitExternalRestClient(getRestTemplate(), getBaseUrl()); + } + public ContextExternalRestClient getContextExternalRestClient() { return new ContextExternalRestClient(getRestTemplate(), getBaseUrl()); } diff --git a/api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ReferentialExternalWebClientFactory.java b/api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ReferentialExternalWebClientFactory.java index f3224fed2..d47b4d34f 100644 --- a/api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ReferentialExternalWebClientFactory.java +++ b/api/api-referential/referential-external-client/src/main/java/fr/gouv/vitamui/referential/external/client/ReferentialExternalWebClientFactory.java @@ -52,15 +52,23 @@ public class ReferentialExternalWebClientFactory extends BaseWebClientFactory { public AgencyExternalWebClient getAgencyExternalWebClient() { return new AgencyExternalWebClient(getWebClient(), getBaseUrl()); } - + public FileFormatExternalWebClient getFileFormatExternalWebClient() { return new FileFormatExternalWebClient(getWebClient(), getBaseUrl()); } - + + public ArchivalProfileUnitExternalWebClient getArchivalProfileExternalWebClient() { + return new ArchivalProfileUnitExternalWebClient(getWebClient(), getBaseUrl()); + } + + public ProfileExternalWebClient getProfileExternalWebClient() { + return new ProfileExternalWebClient(getWebClient(), getBaseUrl()); + } + public OntologyExternalWebClient getOntologyExternalWebClient() { return new OntologyExternalWebClient(getWebClient(), getBaseUrl()); } - + public RuleExternalWebClient getRuleExternalWebClient() { return new RuleExternalWebClient(getWebClient(), getBaseUrl()); } diff --git a/api/api-referential/referential-external/run.sh b/api/api-referential/referential-external/run.sh index 94de4c079..cf06b8989 100644 --- a/api/api-referential/referential-external/run.sh +++ b/api/api-referential/referential-external/run.sh @@ -7,4 +7,4 @@ cp -r src/main/config target/src/main/config #retrieve version version="$(grep -oP '(?<=>).*?(?=</version>)' pom.xml | grep -v 'version')" -./target/referential-external-$(echo $version).jar -Xms128m -Xmx512m --spring.profiles.active=dev +java -jar target/referential-external-$(echo $version).jar -Xms128m -Xmx512m --spring.profiles.active=dev diff --git a/api/api-referential/referential-external/src/main/java/fr/gouv/vitamui/referential/external/server/config/ApiReferentialServerConfig.java b/api/api-referential/referential-external/src/main/java/fr/gouv/vitamui/referential/external/server/config/ApiReferentialServerConfig.java index 1c9912fcf..952ed4fca 100644 --- a/api/api-referential/referential-external/src/main/java/fr/gouv/vitamui/referential/external/server/config/ApiReferentialServerConfig.java +++ b/api/api-referential/referential-external/src/main/java/fr/gouv/vitamui/referential/external/server/config/ApiReferentialServerConfig.java @@ -153,6 +153,11 @@ public class ApiReferentialServerConfig extends AbstractContextConfiguration { return referentialInternalRestClientFactory.getFileFormatInternalRestClient(); } + @Bean + public ArchivalProfileUnitInternalRestClient archivalProfileInternalRestClient(final ReferentialInternalRestClientFactory referentialInternalRestClientFactory) { + return referentialInternalRestClientFactory.getArchivalProfileInternalRestClient(); + } + @Bean public ContextInternalRestClient contextInternalRestClient(final ReferentialInternalRestClientFactory referentialInternalRestClientFactory) { return referentialInternalRestClientFactory.getContextInternalRestClient(); @@ -208,6 +213,16 @@ public class ApiReferentialServerConfig extends AbstractContextConfiguration { return referentialInternalWebClientFactory.getFileFormatInternalWebClient(); } + @Bean + public ArchivalProfileInternalWebClient archivalProfileInternalWebClient(final ReferentialInternalWebClientFactory referentialInternalWebClientFactory) { + return referentialInternalWebClientFactory.getArchivalProfileInternalWebClient(); + } + + @Bean + public ProfileInternalWebClient profileInternalWebClient(final ReferentialInternalWebClientFactory referentialInternalWebClientFactory) { + return referentialInternalWebClientFactory.getProfileInternalWebClient(); + } + @Bean public OntologyInternalWebClient ontologyInternalWebClient(final ReferentialInternalWebClientFactory referentialInternalWebClientFactory) { return referentialInternalWebClientFactory.getOntologyInternalWebClient(); diff --git a/api/api-referential/referential-external/src/main/java/fr/gouv/vitamui/referential/external/server/rest/ArchivalProfileUnitExternalController.java b/api/api-referential/referential-external/src/main/java/fr/gouv/vitamui/referential/external/server/rest/ArchivalProfileUnitExternalController.java new file mode 100644 index 000000000..7fa07a314 --- /dev/null +++ b/api/api-referential/referential-external/src/main/java/fr/gouv/vitamui/referential/external/server/rest/ArchivalProfileUnitExternalController.java @@ -0,0 +1,192 @@ +/** + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +package fr.gouv.vitamui.referential.external.server.rest; + +import com.fasterxml.jackson.databind.JsonNode; +import fr.gouv.vitamui.common.security.SafeFileChecker; +import fr.gouv.vitamui.common.security.SanityChecker; +import fr.gouv.vitamui.commons.api.CommonConstants; +import fr.gouv.vitamui.commons.api.ParameterChecker; +import fr.gouv.vitamui.commons.api.domain.DirectionDto; +import fr.gouv.vitamui.commons.api.domain.PaginatedValuesDto; +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.commons.api.utils.ApiUtils; +import fr.gouv.vitamui.commons.rest.util.RestUtils; +import fr.gouv.vitamui.referential.common.dto.ArchivalProfileUnitDto; +import fr.gouv.vitamui.referential.common.rest.RestApi; +import fr.gouv.vitamui.referential.external.server.service.ArchivalProfileUnitExternalService; +import lombok.Getter; +import lombok.Setter; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.util.Assert; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.Valid; +import java.util.Collection; +import java.util.Map; +import java.util.Optional; + +@RestController +@RequestMapping(RestApi.ARCHIVAL_PROFILE_URL) +@Getter +@Setter +public class ArchivalProfileUnitExternalController { + + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(ArchivalProfileUnitExternalController.class); + + @Autowired + private ArchivalProfileUnitExternalService archivalProfileUnitExternalService; + + @GetMapping() + //@Secured(ServicesData.ROLE_GET_ARCHIVE_PROFILES_UNIT) + public Collection<ArchivalProfileUnitDto> getAll(final Optional<String> criteria) { + LOGGER.debug("get all archival unit profiles criteria={}", criteria); + RestUtils.checkCriteria(criteria); + return archivalProfileUnitExternalService.getAll(criteria); + } + + // @Secured(ServicesData.ROLE_GET_ARCHIVE_PROFILES_UNIT) + @GetMapping(params = { "page", "size" }) + public PaginatedValuesDto<ArchivalProfileUnitDto> getAllPaginated(@RequestParam final Integer page, @RequestParam final Integer size, + @RequestParam(required = false) final Optional<String> criteria, @RequestParam(required = false) final Optional<String> orderBy, + @RequestParam(required = false) final Optional<DirectionDto> direction) { + LOGGER.debug("getPaginateEntities page={}, size={}, criteria={}, orderBy={}, ascendant={}", page, size, orderBy, direction); + return archivalProfileUnitExternalService.getAllPaginated(page, size, criteria, orderBy, direction); + } + + // @Secured(ServicesData.ROLE_GET_ARCHIVE_PROFILES_UNIT) + @GetMapping(path = RestApi.PATH_REFERENTIAL_ID) + public ArchivalProfileUnitDto getOne(final @PathVariable("identifier") String identifier) { + LOGGER.debug("get archival unit profile identifier={}"); + ParameterChecker.checkParameter("Identifier is mandatory : " , identifier); + return archivalProfileUnitExternalService.getOne(identifier); + } + + // @Secured(ServicesData.ROLE_UPDATE_ARCHIVE_PROFILES_UNIT) + @PutMapping(CommonConstants.PATH_ID) + public ArchivalProfileUnitDto update(final @PathVariable("id") String id, final @Valid @RequestBody ArchivalProfileUnitDto dto) { + LOGGER.debug("Update archival unit profile with identifier metadata {} to {}", id, dto); + SanityChecker.check(id); + Assert.isTrue(StringUtils.equals(id, dto.getId()), "Unable to update archival unit profile : the DTO id must match the path id"); + return archivalProfileUnitExternalService.update(dto); + } + + /** + * Create an Archival Profile Unit + * @param archivalProfileUnitDto Entity to create + * @return entity created + */ + //@Secured(ServicesData.ROLE_CREATE_ARCHIVE_PROFILES_UNIT) + @ResponseStatus(HttpStatus.CREATED) + @PostMapping + public ArchivalProfileUnitDto create(final @Valid @RequestBody ArchivalProfileUnitDto archivalProfileUnitDto) { + LOGGER.debug("Create {}", archivalProfileUnitDto); + ApiUtils.checkValidity(archivalProfileUnitDto); + return archivalProfileUnitExternalService.create(archivalProfileUnitDto); + } + + /*** + * Import Archival Unit Profile + * @param fileName the file name + * @param file the agency csv file to import + * @return the vitam response + */ + //@Secured(ServicesData.ROLE_IMPORT_ARCHIVE_PROFILES_UNIT) + @PostMapping(CommonConstants.PATH_IMPORT) + public ResponseEntity<JsonNode> importArchivalUnitProfiles(@RequestParam("fileName") String fileName, @RequestParam("file") MultipartFile file) { + LOGGER.debug("Import Archival Unit Profile file {}", fileName); + ParameterChecker.checkParameter("The fileName is mandatory parameter :", fileName); + SafeFileChecker.checkSafeFilePath(file.getOriginalFilename()); + return archivalProfileUnitExternalService.importArchivalUnitProfiles(fileName, file); + } + + + + + + + + + + + + + + + + + + + + + //@Secured({ ServicesData.ROLE_GET_PASTIS }) + @PostMapping(CommonConstants.PATH_CHECK) + public ResponseEntity<Void> check(@RequestBody ArchivalProfileUnitDto archivalProfileUnitDto, @RequestHeader(value = CommonConstants.X_TENANT_ID_HEADER) Integer tenant) { + LOGGER.debug("check exist accessContract={}", archivalProfileUnitDto); + ApiUtils.checkValidity(archivalProfileUnitDto); + final boolean exist = archivalProfileUnitExternalService.check(archivalProfileUnitDto); + return RestUtils.buildBooleanResponse(exist); + } + + + + @PatchMapping(CommonConstants.PATH_ID) + // @Secured(ServicesData.ROLE_UPDATE_PASTIS) + public ArchivalProfileUnitDto patch(final @PathVariable("id") String id, @RequestBody final Map<String, Object> partialDto) { + LOGGER.debug("Patch {} with {}", id, partialDto); + ParameterChecker.checkParameter("The Identifier is a mandatory parameter: ", id); + Assert.isTrue(StringUtils.equals(id, (String) partialDto.get("id")), "The DTO identifier must match the path identifier for update."); + return archivalProfileUnitExternalService.patch(partialDto); + } + + // @Secured(ServicesData.ROLE_GET_PASTIS) + @GetMapping("/{id}/history") + public JsonNode findHistoryById(final @PathVariable("id") String id) { + LOGGER.debug("get logbook for accessContract with id :{}", id); + ParameterChecker.checkParameter("Identifier is mandatory : " , id); + return archivalProfileUnitExternalService.findHistoryById(id); + } + + + +} diff --git a/api/api-referential/referential-external/src/main/java/fr/gouv/vitamui/referential/external/server/rest/ProfileExternalController.java b/api/api-referential/referential-external/src/main/java/fr/gouv/vitamui/referential/external/server/rest/ProfileExternalController.java index 7372c4040..a29ffd8c8 100644 --- a/api/api-referential/referential-external/src/main/java/fr/gouv/vitamui/referential/external/server/rest/ProfileExternalController.java +++ b/api/api-referential/referential-external/src/main/java/fr/gouv/vitamui/referential/external/server/rest/ProfileExternalController.java @@ -36,24 +36,36 @@ */ package fr.gouv.vitamui.referential.external.server.rest; -import java.util.Collection; -import java.util.Optional; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.annotation.Secured; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import fr.gouv.vitamui.commons.api.domain.ServicesData; +import com.fasterxml.jackson.databind.JsonNode; +import fr.gouv.vitamui.common.security.SafeFileChecker; +import fr.gouv.vitamui.common.security.SanityChecker; +import fr.gouv.vitamui.commons.api.CommonConstants; +import fr.gouv.vitamui.commons.api.ParameterChecker; +import fr.gouv.vitamui.commons.api.domain.DirectionDto; +import fr.gouv.vitamui.commons.api.domain.PaginatedValuesDto; import fr.gouv.vitamui.commons.api.logger.VitamUILogger; import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.commons.api.utils.ApiUtils; import fr.gouv.vitamui.commons.rest.util.RestUtils; import fr.gouv.vitamui.referential.common.dto.ProfileDto; import fr.gouv.vitamui.referential.common.rest.RestApi; import fr.gouv.vitamui.referential.external.server.service.ProfileExternalService; import lombok.Getter; import lombok.Setter; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.Resource; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.util.Assert; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.Map; +import java.util.Optional; @RestController @RequestMapping(RestApi.PROFILES_URL) @@ -67,11 +79,142 @@ public class ProfileExternalController { private ProfileExternalService profileExternalService; @GetMapping() - @Secured(ServicesData.ROLE_GET_ARCHIVE_PROFILES) + //@Secured(ServicesData.ROLE_GET_ARCHIVE_PROFILES) public Collection<ProfileDto> getAll(final Optional<String> criteria) { LOGGER.debug("get all profile criteria={}", criteria); RestUtils.checkCriteria(criteria); return profileExternalService.getAll(criteria); } + //@Secured(ServicesData.ROLE_GET_ARCHIVE_PROFILES) + @GetMapping(params = {"page", "size"}) + public PaginatedValuesDto<ProfileDto> getAllPaginated(@RequestParam final Integer page, @RequestParam final Integer size, + @RequestParam(required = false) final Optional<String> criteria, @RequestParam(required = false) final Optional<String> orderBy, + @RequestParam(required = false) final Optional<DirectionDto> direction) { + LOGGER.debug("getPaginateEntities page={}, size={}, criteria={}, orderBy={}, ascendant={}", page, size, orderBy, direction); + return profileExternalService.getAllPaginated(page, size, criteria, orderBy, direction); + } + + //@Secured(ServicesData.ROLE_GET_ARCHIVE_PROFILES) + @GetMapping(path = RestApi.PATH_REFERENTIAL_ID) + public ProfileDto getOne(final @PathVariable("identifier") String identifier) { + LOGGER.debug("get profile identifier={}"); + ParameterChecker.checkParameter("Identifier is mandatory : ", identifier); + return profileExternalService.getOne(identifier); + } + + @GetMapping(RestApi.DOWNLOAD_PROFILE + CommonConstants.PATH_ID) + public ResponseEntity<Resource> download(final @PathVariable("id") String id) { + LOGGER.debug("download profile with id :{}", id); + ParameterChecker.checkParameter("Event Identifier is mandatory : ", id); + return profileExternalService.download(id); + } + + + /** + * Import a Profile file document (xsd or rng, ...) + * + * @param id id of the archival profile + * @param file MultipartFile representing the data to import + * @return The jaxRs Response + */ + //@Secured(ServicesData.ROLE_UPDATE_ARCHIVE_PROFILES) + @PutMapping(value = RestApi.UPDATE_PROFILE_FILE + CommonConstants.PATH_ID) + public ResponseEntity<JsonNode> importProfileFile(final @PathVariable("id") String id, + @RequestParam("file") MultipartFile file) throws IOException { + LOGGER.debug("Update {} profile file with id :{}", id); + LOGGER.debug("Import profile file {}", file); + ParameterChecker.checkParameter("profileFile stream is a mandatory parameter: ", file); + ParameterChecker.checkParameter("The Identifier is a mandatory parameter: ", id); + SafeFileChecker.checkSafeFilePath(file.getOriginalFilename()); + return profileExternalService.updateProfileFile(id, file); + } + + + /** + * Update an Archival Profile + * @param id id of the archival Profile + * @param dto Entity to update + * @return entity updated + */ + //@Secured(ServicesData.ROLE_UPDATE_ARCHIVE_PROFILES) + @PutMapping(CommonConstants.PATH_ID) + public ResponseEntity<JsonNode> update(final @PathVariable("id") String id, final @Valid @RequestBody ProfileDto dto) { + LOGGER.debug("Update {} with {}", id, dto); + SanityChecker.check(id); + Assert.isTrue(StringUtils.equals(id, dto.getId()), "Unable to update profile : the DTO id must match the path id"); + return profileExternalService.updateProfile(dto); + } + + /** + * Create an Archival Profile + * @param ProfileDto Entity to create + * @return entity created + */ + ////@Secured(ServicesData.ROLE_CREATE_ARCHIVE_PROFILES) + @ResponseStatus(HttpStatus.CREATED) + @PostMapping + public ProfileDto create(final @Valid @RequestBody ProfileDto ProfileDto) { + LOGGER.debug("Create {}", ProfileDto); + ApiUtils.checkValidity(ProfileDto); + return profileExternalService.create(ProfileDto); + } + + + /*** + * Import profile + * @param fileName the file name + * @param file the agency csv file to import + * @return the vitam response + */ + // //@Secured(ServicesData.ROLE_IMPORT_ARCHIVE_PROFILES) + @PostMapping(CommonConstants.PATH_IMPORT) + public ResponseEntity<JsonNode> importArchivalProfiles(@RequestParam("fileName") String fileName, @RequestParam("file") MultipartFile file) { + LOGGER.debug("Import file archivalProfile {}", fileName); + ParameterChecker.checkParameter("The fileName is mandatory parameter :", fileName); + SafeFileChecker.checkSafeFilePath(file.getOriginalFilename()); + return profileExternalService.importProfiles(fileName, file); + } + + + + + + + + + + + + ////@Secured({ ServicesData.ROLE_GET_ARCHIVE_PROFILES }) + @PostMapping(CommonConstants.PATH_CHECK) + public ResponseEntity<Void> check(@RequestBody ProfileDto ProfileDto, @RequestHeader(value = CommonConstants.X_TENANT_ID_HEADER) Integer tenant) { + LOGGER.debug("check exist accessContract={}", ProfileDto); + ApiUtils.checkValidity(ProfileDto); + final boolean exist = profileExternalService.check(ProfileDto); + return RestUtils.buildBooleanResponse(exist); + } + + + + @PatchMapping(CommonConstants.PATH_ID) + //@Secured(ServicesData.ROLE_UPDATE_ARCHIVE_PROFILES) + public ProfileDto patch(final @PathVariable("id") String id, @RequestBody final Map<String, Object> partialDto) { + LOGGER.debug("Patch {} with {}", id, partialDto); + ParameterChecker.checkParameter("The Identifier is a mandatory parameter: ", id); + Assert.isTrue(StringUtils.equals(id, (String) partialDto.get("id")), "The DTO identifier must match the path identifier for update."); + return profileExternalService.patch(partialDto); + } + + // //@Secured(ServicesData.ROLE_GET_ARCHIVE_PROFILES) + @GetMapping("/{id}/history") + public JsonNode findHistoryById(final @PathVariable("id") String id) { + LOGGER.debug("get logbook for accessContract with id :{}", id); + ParameterChecker.checkParameter("Identifier is mandatory : ", id); + return profileExternalService.findHistoryById(id); + } + + + + } diff --git a/api/api-referential/referential-external/src/main/java/fr/gouv/vitamui/referential/external/server/service/ArchivalProfileUnitExternalService.java b/api/api-referential/referential-external/src/main/java/fr/gouv/vitamui/referential/external/server/service/ArchivalProfileUnitExternalService.java new file mode 100644 index 000000000..fc3646a4f --- /dev/null +++ b/api/api-referential/referential-external/src/main/java/fr/gouv/vitamui/referential/external/server/service/ArchivalProfileUnitExternalService.java @@ -0,0 +1,142 @@ +/** + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +package fr.gouv.vitamui.referential.external.server.service; + +import com.fasterxml.jackson.databind.JsonNode; +import fr.gouv.vitamui.commons.api.ParameterChecker; +import fr.gouv.vitamui.commons.api.domain.DirectionDto; +import fr.gouv.vitamui.commons.api.domain.PaginatedValuesDto; +import fr.gouv.vitamui.commons.rest.client.BasePaginatingAndSortingRestClient; +import fr.gouv.vitamui.commons.rest.client.InternalHttpContext; +import fr.gouv.vitamui.iam.security.client.AbstractResourceClientService; +import fr.gouv.vitamui.iam.security.service.ExternalSecurityService; +import fr.gouv.vitamui.referential.common.dto.ArchivalProfileUnitDto; +import fr.gouv.vitamui.referential.internal.client.ArchivalProfileInternalWebClient; +import fr.gouv.vitamui.referential.internal.client.ArchivalProfileUnitInternalRestClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.Resource; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class ArchivalProfileUnitExternalService extends AbstractResourceClientService<ArchivalProfileUnitDto, ArchivalProfileUnitDto> { + private ArchivalProfileUnitInternalRestClient archivalProfileUnitInternalRestClient; + + private ArchivalProfileInternalWebClient archivalProfileInternalWebClient; + + @Autowired + public ArchivalProfileUnitExternalService( + ExternalSecurityService externalSecurityService, + ArchivalProfileUnitInternalRestClient archivalProfileUnitInternalRestClient, + ArchivalProfileInternalWebClient archivalProfileInternalWebClient) { + super(externalSecurityService); + this.archivalProfileUnitInternalRestClient = archivalProfileUnitInternalRestClient; + this.archivalProfileInternalWebClient = archivalProfileInternalWebClient; + } + + public List<ArchivalProfileUnitDto> getAll(final Optional<String> criteria) { + return archivalProfileUnitInternalRestClient.getAll(getInternalHttpContext(),criteria); + } + + @Override protected BasePaginatingAndSortingRestClient<ArchivalProfileUnitDto, InternalHttpContext> getClient() { + return archivalProfileUnitInternalRestClient; + } + + public PaginatedValuesDto<ArchivalProfileUnitDto> getAllPaginated(final Integer page, final Integer size, final Optional<String> criteria, + final Optional<String> orderBy, final Optional<DirectionDto> direction) { + + ParameterChecker.checkPagination(size, page); + final PaginatedValuesDto<ArchivalProfileUnitDto> result = getClient().getAllPaginated(getInternalHttpContext(), page, size, criteria, orderBy, direction); + return new PaginatedValuesDto<>( + result.getValues().stream().map(element -> converterToExternalDto(element)).collect(Collectors.toList()), + result.getPageNum(), + result.getPageSize(), + result.isHasMore()); + } + + public ArchivalProfileUnitDto getOne(String id) { + return getClient().getOne(getInternalHttpContext(), id); + } + + @Override + public ArchivalProfileUnitDto patch(final Map<String, Object> partialDto) { + return super.patch(partialDto); + } + + public ArchivalProfileUnitDto create(final ArchivalProfileUnitDto archivalProfileUnitDto) { + return archivalProfileUnitInternalRestClient.create(getInternalHttpContext(), archivalProfileUnitDto); + } + + public boolean checkExists(final String criteria) { + return super.checkExists(criteria); + } + + @Override + protected Collection<String> getAllowedKeys() { + return Arrays.asList("name", "identifier"); + } + + public ArchivalProfileUnitDto update(final ArchivalProfileUnitDto dto) { + return archivalProfileUnitInternalRestClient.update(getInternalHttpContext(), dto); + } + + @Override + public JsonNode findHistoryById(final String id) { + return getClient().findHistoryById(getInternalHttpContext(), id); + } + + public boolean check(ArchivalProfileUnitDto accessContractDto) { + return archivalProfileUnitInternalRestClient.check(getInternalHttpContext(), accessContractDto); + } + + public void delete(final String id) { + archivalProfileUnitInternalRestClient.delete(getInternalHttpContext(), id); + } + + public ResponseEntity<Resource> export() { + return archivalProfileUnitInternalRestClient.export(getInternalHttpContext()); + } + + public ResponseEntity<JsonNode> importArchivalUnitProfiles(String fileName, MultipartFile file) { + return archivalProfileInternalWebClient.importArchivalUnitProfiles(getInternalHttpContext(), fileName, file); + } +} diff --git a/api/api-referential/referential-external/src/main/java/fr/gouv/vitamui/referential/external/server/service/ProfileExternalService.java b/api/api-referential/referential-external/src/main/java/fr/gouv/vitamui/referential/external/server/service/ProfileExternalService.java index 845188a5a..4efe0e7ea 100644 --- a/api/api-referential/referential-external/src/main/java/fr/gouv/vitamui/referential/external/server/service/ProfileExternalService.java +++ b/api/api-referential/referential-external/src/main/java/fr/gouv/vitamui/referential/external/server/service/ProfileExternalService.java @@ -36,22 +36,28 @@ */ package fr.gouv.vitamui.referential.external.server.service; -import java.util.Arrays; -import java.util.Collection; -import java.util.List; -import java.util.Optional; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - +import com.fasterxml.jackson.databind.JsonNode; +import fr.gouv.vitamui.commons.api.ParameterChecker; +import fr.gouv.vitamui.commons.api.domain.DirectionDto; +import fr.gouv.vitamui.commons.api.domain.PaginatedValuesDto; import fr.gouv.vitamui.commons.rest.client.BasePaginatingAndSortingRestClient; import fr.gouv.vitamui.commons.rest.client.InternalHttpContext; import fr.gouv.vitamui.iam.security.client.AbstractResourceClientService; import fr.gouv.vitamui.iam.security.service.ExternalSecurityService; import fr.gouv.vitamui.referential.common.dto.ProfileDto; import fr.gouv.vitamui.referential.internal.client.ProfileInternalRestClient; +import fr.gouv.vitamui.referential.internal.client.ProfileInternalWebClient; import lombok.Getter; import lombok.Setter; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.Resource; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.util.*; +import java.util.stream.Collectors; @Getter @Setter @@ -61,8 +67,15 @@ public class ProfileExternalService extends AbstractResourceClientService<Profil @Autowired private ProfileInternalRestClient profileInternalRestClient; - public ProfileExternalService(@Autowired ExternalSecurityService externalSecurityService) { + private ProfileInternalWebClient profileInternalWebClient; + + @Autowired + public ProfileExternalService(@Autowired ExternalSecurityService externalSecurityService, + ProfileInternalRestClient profileInternalRestClient, + ProfileInternalWebClient profileInternalWebClient) { super(externalSecurityService); + this.profileInternalRestClient = profileInternalRestClient; + this.profileInternalWebClient = profileInternalWebClient; } public List<ProfileDto> getAll(final Optional<String> criteria) { @@ -77,4 +90,63 @@ public class ProfileExternalService extends AbstractResourceClientService<Profil protected Collection<String> getAllowedKeys() { return Arrays.asList("name", "identifier"); } + + public PaginatedValuesDto<ProfileDto> getAllPaginated(final Integer page, final Integer size, final Optional<String> criteria, + final Optional<String> orderBy, final Optional<DirectionDto> direction) { + + ParameterChecker.checkPagination(size, page); + final PaginatedValuesDto<ProfileDto> result = getClient().getAllPaginated(getInternalHttpContext(), page, size, criteria, orderBy, direction); + return new PaginatedValuesDto<>( + result.getValues().stream().map(this::converterToExternalDto).collect(Collectors.toList()), + result.getPageNum(), + result.getPageSize(), + result.isHasMore()); + } + + public ProfileDto getOne(String id) { + return getClient().getOne(getInternalHttpContext(), id); + } + + @Override + public ProfileDto patch(final Map<String, Object> partialDto) { + return super.patch(partialDto); + } + + public ProfileDto create(final ProfileDto accessContractDto) { + return profileInternalRestClient.create(getInternalHttpContext(), accessContractDto); + } + + public boolean checkExists(final String criteria) { + return super.checkExists(criteria); + } + + public ResponseEntity<JsonNode> updateProfile(final ProfileDto dto) { + return profileInternalRestClient.updateProfile(getInternalHttpContext(), dto); + } + + @Override + public JsonNode findHistoryById(final String id) { + return getClient().findHistoryById(getInternalHttpContext(), id); + } + + public boolean check(ProfileDto accessContractDto) { + return profileInternalRestClient.check(getInternalHttpContext(), accessContractDto); + } + + public void delete(final String id) { + profileInternalRestClient.delete(getInternalHttpContext(), id); + } + + public ResponseEntity<Resource> download(String id) { + return profileInternalRestClient.download(getInternalHttpContext(), id); + } + + public ResponseEntity<JsonNode> importProfiles(String fileName, MultipartFile file) { + return profileInternalWebClient.importProfiles(getInternalHttpContext(), fileName, file); + } + + + public ResponseEntity<JsonNode> updateProfileFile(String id, MultipartFile profileFile) throws IOException { + return profileInternalRestClient.updateProfileFile(getInternalHttpContext(),id,profileFile); + } } diff --git a/api/api-referential/referential-external/src/main/resources/application-dev.yml b/api/api-referential/referential-external/src/main/resources/application-dev.yml index 03fee998a..dcfa04413 100644 --- a/api/api-referential/referential-external/src/main/resources/application-dev.yml +++ b/api/api-referential/referential-external/src/main/resources/application-dev.yml @@ -26,10 +26,10 @@ server: port: 8087 tomcat.connection-timeout: 60000 ssl: - key-store: src/main/resources/dev/keystore_referential-external.jks + key-store: ../../../dev-deployment/environments/keystores/server/localhost/keystore_referential-external.jks key-store-password: changeme key-password: changeme - trust-store: src/main/resources/dev/truststore_server.jks + trust-store: ../../../dev-deployment/environments/keystores/server/truststore_server.jks trust-store-password: changeme client-auth: need enabled-protocols: TLSv1.1,TLSv1.2,TLSv1.3 diff --git a/api/api-referential/referential-external/src/main/resources/dev/keystore_referential-external.jks b/api/api-referential/referential-external/src/main/resources/dev/keystore_referential-external.jks index f357db61421c89d1a4c5fde31993d78f4e83c3c2..0e16d3e78d17f41e9c9084a23abbe99c6956f309 100644 GIT binary patch delta 3594 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 QpAc(nTC>;OzURU6;-VJbF#rGn delta 3611 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 diff --git a/api/api-referential/referential-external/src/main/resources/dev/truststore_server.jks b/api/api-referential/referential-external/src/main/resources/dev/truststore_server.jks index c25bb727ec4db42c6b9582f530209b6fc160ffff..3ad9932ba4e9f999eebcacf469be064e2e7ad982 100644 GIT binary patch literal 3626 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 literal 3297 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 A82|tP diff --git a/api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ArchivalProfileInternalWebClient.java b/api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ArchivalProfileInternalWebClient.java new file mode 100644 index 000000000..956d5edf6 --- /dev/null +++ b/api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ArchivalProfileInternalWebClient.java @@ -0,0 +1,80 @@ +/** + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +package fr.gouv.vitamui.referential.internal.client; + +import com.fasterxml.jackson.databind.JsonNode; +import fr.gouv.vitamui.commons.api.CommonConstants; +import fr.gouv.vitamui.commons.api.exception.BadRequestException; +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.commons.rest.client.BaseWebClient; +import fr.gouv.vitamui.commons.rest.client.InternalHttpContext; +import fr.gouv.vitamui.referential.common.rest.RestApi; +import org.springframework.http.HttpMethod; +import org.springframework.http.ResponseEntity; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.reactive.function.client.WebClient; + +import java.util.AbstractMap; +import java.util.Collections; +import java.util.Optional; + +public class ArchivalProfileInternalWebClient extends BaseWebClient<InternalHttpContext> { + + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(ArchivalProfileInternalWebClient.class); + + public ArchivalProfileInternalWebClient(final WebClient webClient, final String baseUrl) { + super(webClient, baseUrl); + } + + public ResponseEntity<JsonNode> importArchivalUnitProfiles(InternalHttpContext context, String fileName, MultipartFile file) { + LOGGER.debug("Import Profile {}", file != null ? file.getOriginalFilename() : null); + if (file == null) { + throw new BadRequestException("No file to check ."); + } + return ResponseEntity.ok(multipartData(getUrl() + CommonConstants.PATH_IMPORT, HttpMethod.POST, context, + Collections.singletonMap("fileName", fileName), + Optional.of(new AbstractMap.SimpleEntry<>("file", file)), JsonNode.class)); + + } + + @Override + public String getPathUrl() { + return RestApi.ARCHIVAL_PROFILE_URL; + } +} diff --git a/api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ArchivalProfileUnitInternalRestClient.java b/api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ArchivalProfileUnitInternalRestClient.java new file mode 100644 index 000000000..0f7a9273c --- /dev/null +++ b/api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ArchivalProfileUnitInternalRestClient.java @@ -0,0 +1,93 @@ +/** + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +package fr.gouv.vitamui.referential.internal.client; + +import fr.gouv.vitamui.commons.api.CommonConstants; +import fr.gouv.vitamui.commons.api.domain.PaginatedValuesDto; +import fr.gouv.vitamui.commons.rest.client.BasePaginatingAndSortingRestClient; +import fr.gouv.vitamui.commons.rest.client.InternalHttpContext; +import fr.gouv.vitamui.referential.common.dto.ArchivalProfileUnitDto; +import fr.gouv.vitamui.referential.common.rest.RestApi; +import org.springframework.core.ParameterizedTypeReference; +import org.springframework.core.io.Resource; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpMethod; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.client.RestTemplate; +import org.springframework.web.util.UriComponentsBuilder; + +import java.util.List; + +public class ArchivalProfileUnitInternalRestClient extends BasePaginatingAndSortingRestClient<ArchivalProfileUnitDto, InternalHttpContext> { + + public ArchivalProfileUnitInternalRestClient(final RestTemplate restTemplate, final String baseUrl) { + super(restTemplate, baseUrl); + } + + @Override protected ParameterizedTypeReference<PaginatedValuesDto<ArchivalProfileUnitDto>> getDtoPaginatedClass() { + return new ParameterizedTypeReference<PaginatedValuesDto<ArchivalProfileUnitDto>>() { }; + } + + @Override + public String getPathUrl() { + return RestApi.ARCHIVAL_PROFILE_URL; + } + + @Override protected Class<ArchivalProfileUnitDto> getDtoClass() { + return ArchivalProfileUnitDto.class; + } + + protected ParameterizedTypeReference<List<ArchivalProfileUnitDto>> getDtoListClass() { + return new ParameterizedTypeReference<List<ArchivalProfileUnitDto>>() { }; + } + + public boolean check(InternalHttpContext context, ArchivalProfileUnitDto accessContractDto) { + final UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromHttpUrl(getUrl() + CommonConstants.PATH_CHECK); + final HttpEntity<ArchivalProfileUnitDto> request = new HttpEntity<>(accessContractDto, buildHeaders(context)); + final ResponseEntity<Boolean> response = restTemplate.exchange(uriBuilder.toUriString(), HttpMethod.POST, + request, Boolean.class); + return response.getStatusCode() == HttpStatus.OK; + } + + public ResponseEntity<Resource> export(InternalHttpContext context) { + final UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromHttpUrl(getUrl() + "/export"); + final HttpEntity<ArchivalProfileUnitDto> request = new HttpEntity<>(null, buildHeaders(context)); + return restTemplate.exchange(uriBuilder.toUriString(), HttpMethod.GET, request, Resource.class); + } +} diff --git a/api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ProfileInternalRestClient.java b/api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ProfileInternalRestClient.java index f38308e1c..69395d69e 100644 --- a/api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ProfileInternalRestClient.java +++ b/api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ProfileInternalRestClient.java @@ -36,19 +36,37 @@ */ package fr.gouv.vitamui.referential.internal.client; -import java.util.List; - -import org.springframework.core.ParameterizedTypeReference; -import org.springframework.web.client.RestTemplate; - +import com.fasterxml.jackson.databind.JsonNode; +import fr.gouv.vitamui.commons.api.CommonConstants; import fr.gouv.vitamui.commons.api.domain.PaginatedValuesDto; +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.commons.api.utils.ApiUtils; import fr.gouv.vitamui.commons.rest.client.BasePaginatingAndSortingRestClient; import fr.gouv.vitamui.commons.rest.client.InternalHttpContext; import fr.gouv.vitamui.referential.common.dto.ProfileDto; import fr.gouv.vitamui.referential.common.rest.RestApi; +import io.swagger.v3.core.util.Json; +import org.springframework.core.ParameterizedTypeReference; +import org.springframework.core.io.ByteArrayResource; +import org.springframework.core.io.Resource; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpMethod; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.client.RestTemplate; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.util.UriComponentsBuilder; + +import java.io.IOException; +import java.util.List; public class ProfileInternalRestClient extends BasePaginatingAndSortingRestClient<ProfileDto, InternalHttpContext> { - + + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(ProfileInternalRestClient.class); + public ProfileInternalRestClient(final RestTemplate restTemplate, final String baseUrl) { super(restTemplate, baseUrl); } @@ -70,4 +88,54 @@ public class ProfileInternalRestClient extends BasePaginatingAndSortingRestClien return new ParameterizedTypeReference<List<ProfileDto>>() { }; } + public boolean check(InternalHttpContext context, ProfileDto accessContractDto) { + final UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromHttpUrl(getUrl() + CommonConstants.PATH_CHECK); + final HttpEntity<ProfileDto> request = new HttpEntity<>(accessContractDto, buildHeaders(context)); + final ResponseEntity<Boolean> response = restTemplate.exchange(uriBuilder.toUriString(), HttpMethod.POST, + request, Boolean.class); + return response.getStatusCode() == HttpStatus.OK; + } + + public ResponseEntity<Resource> download(InternalHttpContext context, String id) { + final UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromHttpUrl(getUrl() + RestApi.DOWNLOAD_PROFILE + CommonConstants.PATH_ID); + final HttpEntity<ProfileDto> request = new HttpEntity<>(null, buildHeaders(context)); + return restTemplate.exchange(uriBuilder.build(id), HttpMethod.GET, request, Resource.class); + } + + public ResponseEntity<JsonNode> updateProfile(InternalHttpContext context, final ProfileDto dto) { + LOGGER.debug("Update {}", dto); + ApiUtils.checkValidity(dto); + final String dtoId = dto.getId(); + final HttpEntity<ProfileDto> request = new HttpEntity<>(dto, buildHeaders(context)); + final ResponseEntity<JsonNode> response = restTemplate.exchange(getUrl() + CommonConstants.PATH_ID, HttpMethod.PUT, + request, JsonNode.class, dtoId); + checkResponse(response); + return response; + } + + public ResponseEntity<JsonNode> updateProfileFile(InternalHttpContext context, String id, MultipartFile profileFile) throws IOException { + final UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromHttpUrl(getUrl() + RestApi.UPDATE_PROFILE_FILE + CommonConstants.PATH_ID); + MultiValueMap<String, Object> bodyMap = new LinkedMultiValueMap<>(); + bodyMap.add("file", new FileSystemResource(profileFile.getBytes(), profileFile.getOriginalFilename())); + + final HttpEntity<MultiValueMap<String, Object>> request = new HttpEntity<>(bodyMap, buildHeaders(context)); + return restTemplate.exchange(uriBuilder.build(id), + HttpMethod.PUT, + request, + JsonNode.class); + } + + public static class FileSystemResource extends ByteArrayResource { + + private String fileName; + + public FileSystemResource(byte[] byteArray , String filename) { + super(byteArray); + this.fileName = filename; + } + + public String getFilename() { return fileName; } + public void setFilename(String fileName) { this.fileName= fileName; } + + } } diff --git a/api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ProfileInternalWebClient.java b/api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ProfileInternalWebClient.java new file mode 100644 index 000000000..7886ee36d --- /dev/null +++ b/api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ProfileInternalWebClient.java @@ -0,0 +1,92 @@ +/** + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +package fr.gouv.vitamui.referential.internal.client; + +import com.fasterxml.jackson.databind.JsonNode; +import fr.gouv.vitamui.commons.api.CommonConstants; +import fr.gouv.vitamui.commons.api.exception.BadRequestException; +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.commons.rest.client.BaseWebClient; +import fr.gouv.vitamui.commons.rest.client.InternalHttpContext; +import org.springframework.http.HttpMethod; +import org.springframework.http.ResponseEntity; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.reactive.function.client.WebClient; +import org.springframework.web.util.UriComponentsBuilder; + +import java.util.AbstractMap; +import java.util.Collections; +import java.util.Optional; + +public class ProfileInternalWebClient extends BaseWebClient<InternalHttpContext> { + + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(ProfileInternalWebClient.class); + + public ProfileInternalWebClient(WebClient webClient, String baseUrl) { + super(webClient, baseUrl); + } + + public ResponseEntity<JsonNode> importProfiles(InternalHttpContext context, String fileName, MultipartFile file) { + LOGGER.debug("Import Profile {}", file != null ? file.getOriginalFilename() : null); + if (file == null) { + throw new BadRequestException("No file to check ."); + } + return ResponseEntity.ok(multipartData("http://localhost:7087/referential/v1/profile" + "/import", HttpMethod.POST, context, + Collections.singletonMap("fileName", fileName), + Optional.of(new AbstractMap.SimpleEntry<>("file", file)), JsonNode.class)); + } + + public JsonNode updateProfileFile(InternalHttpContext context, String id, MultipartFile profileFile) { + final UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromHttpUrl(getUrl() + "/updateProfileFile" + CommonConstants.PATH_ID); + + return multipartData(getUrl() + "/updateProfileFile" + CommonConstants.PATH_ID, HttpMethod.PUT, context, + Collections.singletonMap("fileName", profileFile.getOriginalFilename()), + Optional.of(new AbstractMap.SimpleEntry<>("file", profileFile)), JsonNode.class); + } + + @Override + public String getPathUrl() { + return null; + } + + @Override + public void close() { + + } +} diff --git a/api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ReferentialInternalRestClientFactory.java b/api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ReferentialInternalRestClientFactory.java index be30a5241..25d641c2c 100644 --- a/api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ReferentialInternalRestClientFactory.java +++ b/api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ReferentialInternalRestClientFactory.java @@ -74,6 +74,10 @@ public class ReferentialInternalRestClientFactory extends BaseRestClientFactory return new FileFormatInternalRestClient(getRestTemplate(), getBaseUrl()); } + public ArchivalProfileUnitInternalRestClient getArchivalProfileInternalRestClient() { + return new ArchivalProfileUnitInternalRestClient(getRestTemplate(), getBaseUrl()); + } + public ContextInternalRestClient getContextInternalRestClient() { return new ContextInternalRestClient(getRestTemplate(), getBaseUrl()); } diff --git a/api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ReferentialInternalWebClientFactory.java b/api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ReferentialInternalWebClientFactory.java index 294e26ba5..ecab10d88 100644 --- a/api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ReferentialInternalWebClientFactory.java +++ b/api/api-referential/referential-internal-client/src/main/java/fr/gouv/vitamui/referential/internal/client/ReferentialInternalWebClientFactory.java @@ -52,15 +52,23 @@ public class ReferentialInternalWebClientFactory extends BaseWebClientFactory { public AgencyInternalWebClient getAgencyInternalWebClient() { return new AgencyInternalWebClient(getWebClient(), getBaseUrl()); } - + public FileFormatInternalWebClient getFileFormatInternalWebClient() { return new FileFormatInternalWebClient(getWebClient(), getBaseUrl()); } - + + public ArchivalProfileInternalWebClient getArchivalProfileInternalWebClient() { + return new ArchivalProfileInternalWebClient(getWebClient(), getBaseUrl()); + } + + public ProfileInternalWebClient getProfileInternalWebClient() { + return new ProfileInternalWebClient(getWebClient(), getBaseUrl()); + } + public OntologyInternalWebClient getOntologyInternalWebClient() { return new OntologyInternalWebClient(getWebClient(), getBaseUrl()); } - + public RuleInternalWebClient getRuleInternalWebClient() { return new RuleInternalWebClient(getWebClient(), getBaseUrl()); } diff --git a/api/api-referential/referential-internal/run.sh b/api/api-referential/referential-internal/run.sh index a8f282c55..cb2e80758 100644 --- a/api/api-referential/referential-internal/run.sh +++ b/api/api-referential/referential-internal/run.sh @@ -7,4 +7,4 @@ cp -r src/main/config target/src/main/config #retrieve version version="$(grep -oP '(?<=>).*?(?=</version>)' pom.xml | grep -v 'version')" -java -Dvitam.config.folder=src/main/resources/dev/vitam -jar target/referential-internal-$(echo $version).jar -Xms128m -Xmx512m --spring.profiles.active=dev +java -Dvitam.config.folder=src/main/config/dev-vitam -jar target/referential-internal-$(echo $version).jar -Xms128m -Xmx512m --spring.profiles.active=dev diff --git a/api/api-referential/referential-internal/src/main/config/dev-vitam/access-external-client.conf b/api/api-referential/referential-internal/src/main/config/dev-vitam/access-external-client.conf new file mode 100644 index 000000000..c76a21bbf --- /dev/null +++ b/api/api-referential/referential-internal/src/main/config/dev-vitam/access-external-client.conf @@ -0,0 +1,11 @@ +serverHost: 10.6.10.65 +serverPort: 8444 +secure: true +sslConfiguration : + keystore : + - keyPath: keystore_access-external.p12 + keyPassword: azerty4 + truststore : + - keyPath: truststore_access-external.jks + keyPassword: azerty10 +hostnameVerification: true diff --git a/api/api-referential/referential-internal/src/main/config/dev-vitam/ingest-external-client.conf b/api/api-referential/referential-internal/src/main/config/dev-vitam/ingest-external-client.conf new file mode 100644 index 000000000..8c5071e7d --- /dev/null +++ b/api/api-referential/referential-internal/src/main/config/dev-vitam/ingest-external-client.conf @@ -0,0 +1,11 @@ +serverHost: 10.6.10.65 +serverPort: 8443 +secure: true +sslConfiguration: + keystore : + - keyPath: keystore_access-external.p12 + keyPassword: azerty4 + truststore : + - keyPath: truststore_access-external.jks + keyPassword: azerty10 +hostnameVerification: true diff --git a/api/api-referential/referential-internal/src/main/config/dev-vitam/keystore_access-external.p12 b/api/api-referential/referential-internal/src/main/config/dev-vitam/keystore_access-external.p12 new file mode 100644 index 0000000000000000000000000000000000000000..5fd263182b6203b61759063663c661ec5909a121 GIT binary patch literal 4494 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 TIN12z;1_vCr>4>W*17)zq)KsD literal 0 HcmV?d00001 diff --git a/api/api-referential/referential-internal/src/main/config/dev-vitam/truststore_access-external.jks b/api/api-referential/referential-internal/src/main/config/dev-vitam/truststore_access-external.jks new file mode 100644 index 0000000000000000000000000000000000000000..fa8b31eab210560f9d16a02eb23d476ae5d5e55f GIT binary patch literal 16978 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 literal 0 HcmV?d00001 diff --git a/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/archivalprofileunit/ArchivalProfileUnitConverter.java b/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/archivalprofileunit/ArchivalProfileUnitConverter.java new file mode 100644 index 000000000..63339ef1c --- /dev/null +++ b/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/archivalprofileunit/ArchivalProfileUnitConverter.java @@ -0,0 +1,34 @@ +package fr.gouv.vitamui.referential.internal.server.archivalprofileunit; + +import fr.gouv.vitam.common.model.administration.ArchiveUnitProfileModel; +import fr.gouv.vitamui.commons.utils.VitamUIUtils; +import fr.gouv.vitamui.referential.common.dto.ArchivalProfileUnitDto; + +import java.util.List; +import java.util.stream.Collectors; + +public class ArchivalProfileUnitConverter { + + + public ArchiveUnitProfileModel convertDtoToVitam(final ArchivalProfileUnitDto dto) { + return VitamUIUtils.copyProperties(dto, new ArchiveUnitProfileModel()); + } + + public ArchivalProfileUnitDto convertVitamToDto(final ArchiveUnitProfileModel archivalUnitProfile) { + ArchivalProfileUnitDto archivalProfileUnitDto = VitamUIUtils.copyProperties(archivalUnitProfile, new ArchivalProfileUnitDto()); + archivalProfileUnitDto.setActivationDate(archivalUnitProfile.getActivationdate()); + archivalProfileUnitDto.setCreationDate(archivalUnitProfile.getCreationdate()); + archivalProfileUnitDto.setDeactivationDate(archivalUnitProfile.getDeactivationdate()); + archivalProfileUnitDto.setLastUpdate(archivalUnitProfile.getLastupdate()); + return archivalProfileUnitDto; + } + + public List<ArchiveUnitProfileModel> convertDtosToVitams(final List<ArchivalProfileUnitDto> dtos) { + return dtos.stream().map(this::convertDtoToVitam).collect(Collectors.toList()); + } + + public List<ArchivalProfileUnitDto> convertVitamsToDtos(final List<ArchiveUnitProfileModel> archiveUnitProfileModels) { + return archiveUnitProfileModels.stream().map(this::convertVitamToDto).collect(Collectors.toList()); + } + +} diff --git a/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/archivalprofileunit/ArchivalProfileUnitInternalService.java b/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/archivalprofileunit/ArchivalProfileUnitInternalService.java new file mode 100644 index 000000000..24c83d757 --- /dev/null +++ b/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/archivalprofileunit/ArchivalProfileUnitInternalService.java @@ -0,0 +1,255 @@ +package fr.gouv.vitamui.referential.internal.server.archivalprofileunit; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.ObjectNode; +import fr.gouv.vitam.access.external.common.exception.AccessExternalClientException; +import fr.gouv.vitam.common.client.VitamContext; +import fr.gouv.vitam.common.database.builder.request.exception.InvalidCreateOperationException; +import fr.gouv.vitam.common.database.builder.request.single.Select; +import fr.gouv.vitam.common.exception.InvalidParseOperationException; +import fr.gouv.vitam.common.exception.VitamClientException; +import fr.gouv.vitam.common.json.JsonHandler; +import fr.gouv.vitam.common.model.RequestResponse; +import fr.gouv.vitam.common.model.administration.ArchiveUnitProfileModel; +import fr.gouv.vitamui.commons.api.domain.DirectionDto; +import fr.gouv.vitamui.commons.api.domain.PaginatedValuesDto; +import fr.gouv.vitamui.commons.api.exception.BadRequestException; +import fr.gouv.vitamui.commons.api.exception.ConflictException; +import fr.gouv.vitamui.commons.api.exception.InternalServerException; +import fr.gouv.vitamui.commons.api.exception.VitamUIException; +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.commons.vitam.api.access.LogbookService; +import fr.gouv.vitamui.iam.security.service.InternalSecurityService; +import fr.gouv.vitamui.referential.common.dsl.VitamQueryHelper; +import fr.gouv.vitamui.referential.common.dto.ArchivalProfileUnitDto; +import fr.gouv.vitamui.referential.common.dto.ArchivalProfileUnitResponseDto; +import fr.gouv.vitamui.referential.common.service.VitamArchivalProfileUnitService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.xml.bind.JAXBException; +import java.io.IOException; +import java.util.*; + +@Service +public class ArchivalProfileUnitInternalService { + + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(ArchivalProfileUnitInternalService.class); + + private ObjectMapper objectMapper; + + private ArchivalProfileUnitConverter converter; + + private LogbookService logbookService; + + private VitamArchivalProfileUnitService vitamArchivalProfileUnitService; + + private InternalSecurityService internalSecurityService; + + @Autowired + public ArchivalProfileUnitInternalService(ObjectMapper objectMapper, ArchivalProfileUnitConverter converter, + LogbookService logbookService, VitamArchivalProfileUnitService vitamArchivalProfileUnitService) { + this.objectMapper = objectMapper; + this.converter = converter; + this.logbookService = logbookService; + this.vitamArchivalProfileUnitService = vitamArchivalProfileUnitService; + } + + public ArchivalProfileUnitDto getOne(VitamContext vitamContext, String identifier) { + try { + LOGGER.info("Archival Unit Profile EvIdAppSession : {} ", vitamContext.getApplicationSessionId()); + RequestResponse<ArchiveUnitProfileModel> requestResponse = vitamArchivalProfileUnitService.findArchivalProfileById(vitamContext, identifier); + final ArchivalProfileUnitResponseDto archivalProfileUnitResponseDto = objectMapper + .treeToValue(requestResponse.toJsonNode(), ArchivalProfileUnitResponseDto.class); + if (archivalProfileUnitResponseDto.getResults().size() == 0) { + return null; + } else { + return converter.convertVitamToDto(archivalProfileUnitResponseDto.getResults().get(0)); + } + } catch (VitamClientException | JsonProcessingException e) { + throw new InternalServerException("Unable to get Archival Unit Profile", e); + } + } + + public List<ArchivalProfileUnitDto> getAll(VitamContext vitamContext) { + final RequestResponse<ArchiveUnitProfileModel> requestResponse; + LOGGER.debug("Get ALL Archival Unit Profiles !"); + try { + LOGGER.info("All Archival Profiles EvIdAppSession : {} ", vitamContext.getApplicationSessionId()); + requestResponse = vitamArchivalProfileUnitService + .findArchivalProfiles(vitamContext, new Select().getFinalSelect()); + LOGGER.debug("Response: {}", requestResponse); + final ArchivalProfileUnitResponseDto archivalProfileUnitResponseDto = objectMapper + .treeToValue(requestResponse.toJsonNode(), ArchivalProfileUnitResponseDto.class); + return converter.convertVitamsToDtos(archivalProfileUnitResponseDto.getResults()); + } catch (VitamClientException | JsonProcessingException e) { + throw new InternalServerException("Unable to find archival unit Profiles", e); + } + } + + public PaginatedValuesDto<ArchivalProfileUnitDto> getAllPaginated(final Integer pageNumber, final Integer size, + final Optional<String> orderBy, final Optional<DirectionDto> direction, VitamContext vitamContext, + Optional<String> criteria) { + LOGGER.info("All Archival Unit Profiles EvIdAppSession : {} ", vitamContext.getApplicationSessionId()); + Map<String, Object> vitamCriteria = new HashMap<>(); + JsonNode query; + try { + if (criteria.isPresent()) { + TypeReference<HashMap<String, Object>> typRef = new TypeReference<>() { + }; + vitamCriteria = objectMapper.readValue(criteria.get(), typRef); + } + + query = VitamQueryHelper.createQueryDSL(vitamCriteria, pageNumber, size, orderBy, direction); + } catch (InvalidParseOperationException | InvalidCreateOperationException ioe) { + throw new InternalServerException("Unable to find archival unit Profiles with pagination", ioe); + } catch (IOException e) { + throw new InternalServerException("Can't parse criteria as Vitam query", e); + } + + ArchivalProfileUnitResponseDto results = this.findAll(vitamContext, query); + boolean hasMore = pageNumber * size + results.getHits().getSize() < results.getHits().getTotal(); + + final List<ArchivalProfileUnitDto> valuesDto = converter.convertVitamsToDtos(results.getResults()); + LOGGER.debug("Archival Unit Profiles in page: {}", valuesDto); + return new PaginatedValuesDto<>(valuesDto, pageNumber, results.getHits().getSize(), hasMore); + } + + private ArchivalProfileUnitResponseDto findAll(VitamContext vitamContext, JsonNode query) { + final RequestResponse<ArchiveUnitProfileModel> requestResponse; + try { + LOGGER.info("All Archival Unit Profiles EvIdAppSession : {} ", vitamContext.getApplicationSessionId()); + requestResponse = vitamArchivalProfileUnitService.findArchivalProfiles(vitamContext, query); + + final ArchivalProfileUnitResponseDto archivalProfileUnitResponseDto = objectMapper + .treeToValue(requestResponse.toJsonNode(), ArchivalProfileUnitResponseDto.class); + + LOGGER.debug("Archival Unit Profiles: {}", archivalProfileUnitResponseDto); + + return archivalProfileUnitResponseDto; + } catch (VitamClientException | JsonProcessingException e) { + throw new InternalServerException("Unable to find archival unit Profiles", e); + } + } + + public Boolean check(VitamContext vitamContext, ArchivalProfileUnitDto archivalProfileUnitDto) { + List<ArchivalProfileUnitDto> archivalProfileUnitDtoList = new ArrayList<>(); + archivalProfileUnitDtoList.add(archivalProfileUnitDto); + LOGGER.info("Archival Unit Profile Check EvIdAppSession : {} ", vitamContext.getApplicationSessionId()); + try { + return !vitamArchivalProfileUnitService.checkAbilityToCreateArchivalProfileInVitam(converter.convertDtosToVitams(archivalProfileUnitDtoList), vitamContext); + } catch (ConflictException e) { + return true; + } catch (VitamUIException e) { + throw new InternalServerException("Unable to check archival unit Profile", e); + } + } + + + /** + * PUA Update. + */ + public ArchivalProfileUnitDto update(ArchivalProfileUnitDto dto, VitamContext vitamContext) throws InvalidParseOperationException, AccessExternalClientException { + String id = dto.getIdentifier(); + if (id == null) { + throw new BadRequestException("id must be one the update criteria"); + } + LOGGER.info("Update Archival Unit Profile EvIdAppSession : {} ", vitamContext.getApplicationSessionId()); + JsonNode fieldsUpdated = convertMapDtoToUpperCaseVitamFields(dto); + + ObjectNode action = JsonHandler.createObjectNode(); + action.set("$set", fieldsUpdated); + + ArrayNode actions = JsonHandler.createArrayNode(); + actions.add(action); + + ObjectNode query = JsonHandler.createObjectNode(); + query.set("$action", actions); + + try { + RequestResponse<?> requestResponse = vitamArchivalProfileUnitService.updateArchiveUnitProfile(vitamContext, id, query); + LOGGER.info("Request RESPONSE ! {} ", requestResponse); + final ArchiveUnitProfileModel archivalUnitProfileVitamDto = objectMapper + .treeToValue(requestResponse.toJsonNode(), ArchiveUnitProfileModel.class); + return converter.convertVitamToDto(archivalUnitProfileVitamDto); + } catch (JsonProcessingException | VitamClientException e) { + throw new InternalServerException("Can't update Archival Unit profile", e); + } + } + + private JsonNode convertMapDtoToUpperCaseVitamFields(ArchivalProfileUnitDto dto) { + ObjectNode propertiesToUpdate = JsonHandler.createObjectNode(); + + if (dto.getName() != null) { + propertiesToUpdate.put("Name", dto.getName()); + } + if (dto.getDescription() != null) { + propertiesToUpdate.put("Description", dto.getDescription()); + } + if (dto.getStatus() != null) { + propertiesToUpdate.put("Status", dto.getStatus().toString()); + } + if (dto.getCreationDate() != null) { + propertiesToUpdate.put("CreationDate", dto.getCreationDate()); + } + + if (dto.getLastUpdate() != null) { + propertiesToUpdate.put("LastUpdate", dto.getLastUpdate()); + } + + if (dto.getActivationDate() != null) { + propertiesToUpdate.put("ActivationDate", dto.getActivationDate()); + } + + if (dto.getDeactivationDate() != null) { + propertiesToUpdate.put("DeactivationDate", dto.getDeactivationDate()); + } + + if (dto.getControlSchema() != null) { + propertiesToUpdate.put("ControlSchema", dto.getControlSchema()); + } + return propertiesToUpdate; + } + + + public ArchivalProfileUnitDto create(VitamContext context, ArchivalProfileUnitDto archivalProfileUnitDto) { + LOGGER.debug("Try to create archival unit profile {} {}", archivalProfileUnitDto, context); + try { + LOGGER.info("Create Archival Unit Profile EvIdAppSession : {} ", context.getApplicationSessionId()); + RequestResponse<?> requestResponse = vitamArchivalProfileUnitService.create(context, converter.convertDtoToVitam(archivalProfileUnitDto)); + if ( requestResponse.isOk() ) { + final ArchiveUnitProfileModel archivalProfileVitamDto = objectMapper + .treeToValue(requestResponse.toJsonNode().get("$results").get(0), ArchiveUnitProfileModel.class); + return converter.convertVitamToDto(archivalProfileVitamDto); + }else{ + return null; + } + } catch (InvalidParseOperationException | AccessExternalClientException | VitamClientException | IOException | JAXBException e) { + e.printStackTrace(); + } + return archivalProfileUnitDto; + } + + + public ResponseEntity<JsonNode> importProfile(VitamContext vitamContext, String fileName, MultipartFile file) { + try { + RequestResponse<?> response = vitamArchivalProfileUnitService.importArchivalUnitProfileByFile(vitamContext, fileName, file); + if ( response.isOk() ) { + return ResponseEntity.ok(response.toJsonNode()); + } else { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } catch (InvalidParseOperationException |AccessExternalClientException |VitamClientException | IOException e) { + LOGGER.error("Unable to import archival unit profile by file {}: {}", fileName, e.getMessage()); + throw new InternalServerException("Unable to import archival unit profile by file " + fileName + " : ", e); + } + } +} diff --git a/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/config/ApiReferentialServerConfig.java b/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/config/ApiReferentialServerConfig.java index 52ab87ba7..a78d96437 100644 --- a/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/config/ApiReferentialServerConfig.java +++ b/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/config/ApiReferentialServerConfig.java @@ -37,6 +37,7 @@ package fr.gouv.vitamui.referential.internal.server.config; import fr.gouv.vitamui.commons.vitam.api.administration.VitamOperationService; +import fr.gouv.vitamui.referential.common.service.*; import fr.gouv.vitamui.referential.internal.server.logbookmanagement.LogbookManagementOperationInternalService; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.web.client.RestTemplateBuilder; @@ -61,17 +62,6 @@ import fr.gouv.vitamui.iam.internal.client.UserInternalRestClient; import fr.gouv.vitamui.iam.security.provider.InternalApiAuthenticationProvider; import fr.gouv.vitamui.iam.security.service.InternalAuthentificationService; import fr.gouv.vitamui.iam.security.service.InternalSecurityService; -import fr.gouv.vitamui.referential.common.service.AccessionRegisterService; -import fr.gouv.vitamui.referential.common.service.IngestContractService; -import fr.gouv.vitamui.referential.common.service.OntologyService; -import fr.gouv.vitamui.referential.common.service.OperationService; -import fr.gouv.vitamui.referential.common.service.VitamAgencyService; -import fr.gouv.vitamui.referential.common.service.VitamContextService; -import fr.gouv.vitamui.referential.common.service.VitamFileFormatService; -import fr.gouv.vitamui.referential.common.service.VitamRuleService; -import fr.gouv.vitamui.referential.common.service.VitamBatchReportService; -import fr.gouv.vitamui.referential.common.service.VitamSecurityProfileService; -import fr.gouv.vitamui.referential.common.service.VitamUIAccessContractService; import fr.gouv.vitamui.referential.internal.server.security.WebSecurityConfig; @Configuration @@ -133,6 +123,16 @@ public class ApiReferentialServerConfig extends AbstractContextConfiguration { return new VitamFileFormatService(adminClient, objectMapper, accessClient); } + @Bean + public VitamArchivalProfileUnitService vitamArchivalProfileService(final AdminExternalClient adminClient, ObjectMapper objectMapper, final AccessExternalClient accessClient) { + return new VitamArchivalProfileUnitService(adminClient, objectMapper, accessClient); + } + + @Bean + public VitamProfileService vitamProfileService(final AdminExternalClient adminClient, ObjectMapper objectMapper) { + return new VitamProfileService(adminClient, objectMapper); + } + @Bean public VitamRuleService vitamRuleService(final AdminExternalClient adminClient, ObjectMapper objectMapper, final AccessExternalClient accessClient) { return new VitamRuleService(adminClient, objectMapper, accessClient); diff --git a/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/config/ConverterConfig.java b/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/config/ConverterConfig.java index 3258e1bf4..489467114 100644 --- a/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/config/ConverterConfig.java +++ b/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/config/ConverterConfig.java @@ -38,6 +38,7 @@ package fr.gouv.vitamui.referential.internal.server.config; import fr.gouv.vitamui.referential.internal.server.accesscontract.AccessContractConverter; import fr.gouv.vitamui.referential.internal.server.agency.AgencyConverter; +import fr.gouv.vitamui.referential.internal.server.archivalprofileunit.ArchivalProfileUnitConverter; import fr.gouv.vitamui.referential.internal.server.context.ContextConverter; import fr.gouv.vitamui.referential.internal.server.fileformat.FileFormatConverter; import fr.gouv.vitamui.referential.internal.server.ingestcontract.IngestContractConverter; @@ -71,6 +72,11 @@ public class ConverterConfig { return new FileFormatConverter(); } + @Bean + public ArchivalProfileUnitConverter archivalProfileConverter() { + return new ArchivalProfileUnitConverter(); + } + @Bean public ContextConverter contextConverter() { return new ContextConverter(); diff --git a/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/profile/ProfileConverter.java b/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/profile/ProfileConverter.java index a6ff314a4..09f765b97 100644 --- a/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/profile/ProfileConverter.java +++ b/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/profile/ProfileConverter.java @@ -36,16 +36,14 @@ */ package fr.gouv.vitamui.referential.internal.server.profile; -import java.util.List; -import java.util.stream.Collectors; - import fr.gouv.vitam.common.model.administration.ProfileModel; import fr.gouv.vitamui.commons.utils.VitamUIUtils; import fr.gouv.vitamui.referential.common.dto.ProfileDto; -public class ProfileConverter { +import java.util.List; +import java.util.stream.Collectors; - // TODO : Make a model DTO able to be converted as XML Droid format ? +public class ProfileConverter { public ProfileModel convertDtoToVitam(final ProfileDto dto) { final ProfileModel Profile = VitamUIUtils.copyProperties(dto, new ProfileModel()); @@ -55,7 +53,10 @@ public class ProfileConverter { public ProfileDto convertVitamToDto(final ProfileModel profile) { final ProfileDto dto = VitamUIUtils.copyProperties(profile, new ProfileDto()); - + dto.setActivationDate(profile.getActivationdate()); + dto.setCreationDate(profile.getCreationdate()); + dto.setDeactivationDate(profile.getDeactivationdate()); + dto.setLastUpdate(profile.getLastupdate()); return dto; } diff --git a/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/profile/ProfileInternalService.java b/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/profile/ProfileInternalService.java index fa54c3427..9a90d429f 100644 --- a/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/profile/ProfileInternalService.java +++ b/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/profile/ProfileInternalService.java @@ -1,25 +1,25 @@ /** * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) * and the signatories of the "VITAM - Accord du Contributeur" agreement. - * + * <p> * contact@programmevitam.fr - * + * <p> * This software is a computer program whose purpose is to implement * implement a digital archiving front-office system for the secure and * efficient high volumetry VITAM solution. - * + * <p> * This software is governed by the CeCILL-C license under French law and * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL-C * license as circulated by CEA, CNRS and INRIA at the following URL * "http://www.cecill.info". - * + * <p> * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited * liability. - * + * <p> * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -30,31 +30,54 @@ * requirements in conditions enabling the security of their systems and/or * data to be ensured and, more generally, to use and operate it in the * same conditions as regards security. - * + * <p> * The fact that you are presently reading this means that you have had * knowledge of the CeCILL-C license and that you accept its terms. */ package fr.gouv.vitamui.referential.internal.server.profile; -import java.util.List; - -import fr.gouv.vitamui.commons.api.logger.VitamUILogger; -import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; - -import fr.gouv.vitam.access.external.client.AdminExternalClient; +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.ObjectNode; +import fr.gouv.vitam.access.external.common.exception.AccessExternalClientException; +import fr.gouv.vitam.access.external.common.exception.AccessExternalClientServerException; +import fr.gouv.vitam.access.external.common.exception.AccessExternalNotFoundException; import fr.gouv.vitam.common.client.VitamContext; +import fr.gouv.vitam.common.database.builder.request.exception.InvalidCreateOperationException; import fr.gouv.vitam.common.database.builder.request.single.Select; +import fr.gouv.vitam.common.exception.InvalidParseOperationException; import fr.gouv.vitam.common.exception.VitamClientException; +import fr.gouv.vitam.common.json.JsonHandler; import fr.gouv.vitam.common.model.RequestResponse; +import fr.gouv.vitam.common.model.RequestResponseOK; import fr.gouv.vitam.common.model.administration.ProfileModel; +import fr.gouv.vitamui.commons.api.domain.DirectionDto; +import fr.gouv.vitamui.commons.api.domain.PaginatedValuesDto; +import fr.gouv.vitamui.commons.api.exception.BadRequestException; import fr.gouv.vitamui.commons.api.exception.InternalServerException; +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.iam.security.service.InternalSecurityService; +import fr.gouv.vitamui.referential.common.dsl.VitamQueryHelper; import fr.gouv.vitamui.referential.common.dto.ProfileDto; import fr.gouv.vitamui.referential.common.dto.ProfileResponseDto; +import fr.gouv.vitamui.referential.common.service.VitamProfileService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.ws.rs.core.Response; +import javax.xml.bind.JAXBException; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; @Service public class ProfileInternalService { @@ -65,27 +88,232 @@ public class ProfileInternalService { private ProfileConverter converter; - private final AdminExternalClient adminExternalClient; + private VitamProfileService vitamProfileService; + + private InternalSecurityService internalSecurityService; + @Autowired - public ProfileInternalService(ObjectMapper objectMapper, ProfileConverter converter, AdminExternalClient adminExternalClient) { + public ProfileInternalService(ObjectMapper objectMapper, ProfileConverter converter, VitamProfileService vitamProfileService) { this.objectMapper = objectMapper; - this.adminExternalClient = adminExternalClient; this.converter = converter; + this.vitamProfileService = vitamProfileService; } public List<ProfileDto> getAll(VitamContext vitamContext) { final RequestResponse<ProfileModel> requestResponse; try { - LOGGER.info("All Profiles EvIdAppSession : {} " , vitamContext.getApplicationSessionId()); - requestResponse = adminExternalClient.findProfiles(vitamContext, new Select().getFinalSelect()); - final ProfileResponseDto managementContractResponseDto = objectMapper - .treeToValue(requestResponse.toJsonNode(), ProfileResponseDto.class); + LOGGER.info("All Profiles EvIdAppSession : {} ", vitamContext.getApplicationSessionId()); + requestResponse = vitamProfileService.findArchivalProfiles(vitamContext, new Select().getFinalSelect()); + final ProfileResponseDto profileResponseDto = objectMapper + .treeToValue(requestResponse.toJsonNode(), ProfileResponseDto.class); - return converter.convertVitamsToDtos(managementContractResponseDto.getResults()); + return converter.convertVitamsToDtos(profileResponseDto.getResults()); } catch (VitamClientException | JsonProcessingException e) { throw new InternalServerException("Unable to find Profiles", e); } } + public ProfileDto getOne(VitamContext vitamContext, String identifier) { + try { + LOGGER.info("Archival Profile EvIdAppSession : {} ", vitamContext.getApplicationSessionId()); + RequestResponse<ProfileModel> requestResponse = vitamProfileService.findArchivalProfileById(vitamContext, identifier); + final ProfileResponseDto profileResponseDto = objectMapper + .treeToValue(requestResponse.toJsonNode(), ProfileResponseDto.class); + if (profileResponseDto.getResults().size() == 0) { + return null; + } else { + return converter.convertVitamToDto(profileResponseDto.getResults().get(0)); + } + } catch (VitamClientException | JsonProcessingException e) { + throw new InternalServerException("Unable to get ArchivalProfile", e); + } + } + + public PaginatedValuesDto<ProfileDto> getAllPaginated(final Integer pageNumber, final Integer size, + final Optional<String> orderBy, final Optional<DirectionDto> direction, VitamContext vitamContext, + Optional<String> criteria) { + LOGGER.info("All Archival Profiles EvIdAppSession : {} ", vitamContext.getApplicationSessionId()); + Map<String, Object> vitamCriteria = new HashMap<>(); + JsonNode query; + try { + if (criteria.isPresent()) { + TypeReference<HashMap<String, Object>> typRef = new TypeReference<HashMap<String, Object>>() { + }; + vitamCriteria = objectMapper.readValue(criteria.get(), typRef); + } + + query = VitamQueryHelper.createQueryDSL(vitamCriteria, pageNumber, size, orderBy, direction); + } catch (InvalidParseOperationException | InvalidCreateOperationException ioe) { + throw new InternalServerException("Unable to find archivalProfiles with pagination", ioe); + } catch (IOException e) { + throw new InternalServerException("Can't parse criteria as Vitam query", e); + } + + ProfileResponseDto results = this.findAll(vitamContext, query); + boolean hasMore = pageNumber * size + results.getHits().getSize() < results.getHits().getTotal(); + + final List<ProfileDto> valuesDto = converter.convertVitamsToDtos(results.getResults()); + LOGGER.debug("Profiles in page: {}", valuesDto); + return new PaginatedValuesDto<>(valuesDto, pageNumber, results.getHits().getSize(), hasMore); + } + + public Response download(VitamContext context, String id) throws AccessExternalNotFoundException, AccessExternalClientException { + try { + LOGGER.info("Download EvIdAppSession : {} ", context.getApplicationSessionId()); + + return vitamProfileService.downloadProfile(context, id); + + } catch (VitamClientException | AccessExternalClientServerException e) { + throw new InternalServerException("Unable to download Profile operation report", e); + } + } + + public JsonNode updateProfileFile(VitamContext context, String id, MultipartFile file) throws AccessExternalClientException { + try { + LOGGER.info("Upload Profile File EvIdAppSession : {} ", context.getApplicationSessionId()); + return vitamProfileService.updateProfileFile(context, id, file).toJsonNode(); + + } catch (AccessExternalClientServerException | InvalidParseOperationException | IOException e) { + throw new InternalServerException("Unable to Upload profile file", e); + } + } + + public JsonNode updateProfile(ProfileDto dto, VitamContext vitamContext) { + String id = dto.getIdentifier(); + if (id == null) { + throw new BadRequestException("id must be one the update criteria"); + } + LOGGER.info("Update Archival Profile EvIdAppSession : {} ", vitamContext.getApplicationSessionId()); + JsonNode fieldsUpdated = convertMapDtoToUpperCaseVitamFields(dto); + ObjectNode action = JsonHandler.createObjectNode(); + action.set("$set", fieldsUpdated); + ArrayNode actions = JsonHandler.createArrayNode(); + actions.add(action); + ObjectNode query = JsonHandler.createObjectNode(); + query.set("$action", actions); + try { + RequestResponse<?> requestResponse = vitamProfileService.updateProfile(vitamContext, id, query); + + return ((JsonNode) (((RequestResponseOK) requestResponse).getResults().get(0))).get("diffs"); + } catch (AccessExternalClientException e) { + throw new InternalServerException("Can't update Archival Profile", e); + } + } + + + private JsonNode convertMapDtoToUpperCaseVitamFields(ProfileDto dto) { + ObjectNode propertiesToUpdate = JsonHandler.createObjectNode(); + + if (dto.getName() != null) { + propertiesToUpdate.put("Name", dto.getName()); + } + if (dto.getDescription() != null) { + propertiesToUpdate.put("Description", dto.getDescription()); + } + if (dto.getStatus() != null) { + propertiesToUpdate.put("Status", dto.getStatus().toString()); + } + if (dto.getFormat() != null) { + propertiesToUpdate.put("Format", dto.getFormat().toString()); + } + if (dto.getPath() != null) { + propertiesToUpdate.put("Path", dto.getPath()); + } + if (dto.getCreationDate() != null) { + propertiesToUpdate.put("CreationDate", dto.getCreationDate()); + } + if (dto.getLastUpdate() != null) { + propertiesToUpdate.put("LastUpdate", dto.getLastUpdate()); + } + if (dto.getActivationDate() != null) { + propertiesToUpdate.put("ActivationDate", dto.getActivationDate()); + } + if (dto.getDeactivationDate() != null) { + propertiesToUpdate.put("DeactivationDate", dto.getDeactivationDate()); + } + return propertiesToUpdate; + } + + + public ProfileDto create(VitamContext context, ProfileDto archivalProfileDto) { + LOGGER.debug("Try to create profile {} {}", archivalProfileDto, context); + try { + LOGGER.info("Create Profile EvIdAppSession : {} ", context.getApplicationSessionId()); + + RequestResponse<?> requestResponse = vitamProfileService.create(context, converter.convertDtoToVitam(archivalProfileDto)); + if ( requestResponse.isOk() ) { + final ProfileModel archivalProfileVitamDto = objectMapper + .treeToValue(requestResponse.toJsonNode().get("$results").get(0), ProfileModel.class); + return converter.convertVitamToDto(archivalProfileVitamDto); + } else { + return null; + } + + } catch (InvalidParseOperationException | AccessExternalClientException | VitamClientException | IOException | JAXBException e) { + e.printStackTrace(); + } + return null; + } + + + public ResponseEntity<JsonNode> importProfile(VitamContext vitamContext, String fileName, MultipartFile file) { + try { + RequestResponse<?> response = vitamProfileService.importProfileByFile(vitamContext, fileName, file); + if ( response.isOk() ) { + return ResponseEntity.ok(response.toJsonNode()); + } else { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } catch (InvalidParseOperationException |AccessExternalClientException |VitamClientException | IOException e) { + LOGGER.error("Unable to import archival profile by file {}: {}", fileName, e.getMessage()); + throw new InternalServerException("Unable to import archival profile by file " + fileName + " : ", e); + } + } + + + + + + + + + + + + + + + private ProfileResponseDto findAll(VitamContext vitamContext, JsonNode query) { + final RequestResponse<ProfileModel> requestResponse; + try { + LOGGER.info("All Archival Profiles EvIdAppSession : {} ", vitamContext.getApplicationSessionId()); + requestResponse = vitamProfileService.findArchivalProfiles(vitamContext, query); + + final ProfileResponseDto archivalProfileResponseDto = objectMapper + .treeToValue(requestResponse.toJsonNode(), ProfileResponseDto.class); + + LOGGER.debug("Profiles: {}", archivalProfileResponseDto); + + return archivalProfileResponseDto; + } catch (VitamClientException | JsonProcessingException e) { + throw new InternalServerException("Unable to find archivalProfiles", e); + } + } + +/* public Boolean check(VitamContext vitamContext, ProfileDto archivalProfileDto) { + List<ProfileDto> profileDtoList = new ArrayList<>(); + profileDtoList.add(archivalProfileDto); + LOGGER.info("Archival Profile Check EvIdAppSession : {} ", vitamContext.getApplicationSessionId()); + try { + return !vitamProfileService.checkAbilityToCreateArchivalProfileInVitam(converter.convertDtosToVitams(profileDtoList), vitamContext); + } catch (ConflictException e) { + return true; + } catch (VitamUIException e) { + throw new InternalServerException("Unable to check archivalProfile", e); + } + }*/ + + + } diff --git a/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/rest/ArchivalProfileUnitInternalController.java b/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/rest/ArchivalProfileUnitInternalController.java new file mode 100755 index 000000000..47eab1b1d --- /dev/null +++ b/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/rest/ArchivalProfileUnitInternalController.java @@ -0,0 +1,125 @@ +package fr.gouv.vitamui.referential.internal.server.rest; + +import com.fasterxml.jackson.databind.JsonNode; +import fr.gouv.vitam.access.external.common.exception.AccessExternalClientException; +import fr.gouv.vitam.common.client.VitamContext; +import fr.gouv.vitam.common.exception.InvalidParseOperationException; +import fr.gouv.vitamui.common.security.SafeFileChecker; +import fr.gouv.vitamui.commons.api.CommonConstants; +import fr.gouv.vitamui.commons.api.ParameterChecker; +import fr.gouv.vitamui.commons.api.domain.DirectionDto; +import fr.gouv.vitamui.commons.api.domain.PaginatedValuesDto; +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.commons.rest.util.RestUtils; +import fr.gouv.vitamui.iam.security.service.InternalSecurityService; +import fr.gouv.vitamui.referential.common.dto.ArchivalProfileUnitDto; +import fr.gouv.vitamui.referential.common.rest.RestApi; +import fr.gouv.vitamui.referential.internal.server.archivalprofileunit.ArchivalProfileUnitInternalService; +import lombok.Getter; +import lombok.Setter; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.util.Assert; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.Valid; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; +import java.util.Collection; +import java.util.Optional; + +@RestController +@RequestMapping(RestApi.ARCHIVAL_PROFILE_URL) +@Getter +@Setter +public class ArchivalProfileUnitInternalController { + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(ArchivalProfileUnitInternalController.class); + + @Autowired + private ArchivalProfileUnitInternalService archivalProfileUnitInternalService; + + @Autowired + private InternalSecurityService securityService; + + @GetMapping() + public Collection<ArchivalProfileUnitDto> getAll(@RequestParam final Optional<String> criteria) { + LOGGER.debug("get all archival unit profiles criteria={}", criteria); + RestUtils.checkCriteria(criteria); + final VitamContext vitamContext = securityService.buildVitamContext(securityService.getTenantIdentifier()); + LOGGER.debug("context={}", vitamContext); + return archivalProfileUnitInternalService.getAll(vitamContext); + } + + @GetMapping(params = {"page", "size"}) + public PaginatedValuesDto<ArchivalProfileUnitDto> getAllPaginated(@RequestParam final Integer page, @RequestParam final Integer size, + @RequestParam(required = false) final Optional<String> criteria, @RequestParam(required = false) final Optional<String> orderBy, + @RequestParam(required = false) final Optional<DirectionDto> direction) { + LOGGER.debug("getPaginateEntities page={}, size={}, criteria={}, orderBy={}, ascendant={}", page, size, criteria, orderBy, direction); + final VitamContext vitamContext = securityService.buildVitamContext(securityService.getTenantIdentifier()); + return archivalProfileUnitInternalService.getAllPaginated(page, size, orderBy, direction, vitamContext, criteria); + } + + @GetMapping(path = RestApi.PATH_REFERENTIAL_ID) + public ArchivalProfileUnitDto getOne(final @PathVariable("identifier") String identifier) throws UnsupportedEncodingException { + LOGGER.debug("get archival unit profile identifier={} / {}", identifier, URLDecoder.decode(identifier, StandardCharsets.UTF_8.toString())); + final VitamContext vitamContext = securityService.buildVitamContext(securityService.getTenantIdentifier()); + return archivalProfileUnitInternalService.getOne(vitamContext, URLDecoder.decode(identifier, StandardCharsets.UTF_8.toString())); + } + + + @PutMapping(CommonConstants.PATH_ID) + public ArchivalProfileUnitDto update(final @PathVariable("id") String id, final @RequestBody ArchivalProfileUnitDto dto) throws AccessExternalClientException, InvalidParseOperationException { + LOGGER.debug("Update {} with {}", id, dto); + ParameterChecker.checkParameter("Identifier is mandatory : ", id); + Assert.isTrue(StringUtils.equals(id, dto.getId()), "The DTO identifier must match the path identifier for update."); + final VitamContext vitamContext = securityService.buildVitamContext(securityService.getTenantIdentifier()); + LOGGER.debug("context={}", vitamContext); + return archivalProfileUnitInternalService.update(dto, vitamContext); + } + + @PostMapping + public ArchivalProfileUnitDto create(@Valid @RequestBody ArchivalProfileUnitDto archivalUnitProfile, @RequestHeader(value = CommonConstants.X_TENANT_ID_HEADER) Integer tenant) { + LOGGER.debug("create archival unit profile={}", archivalUnitProfile); + final VitamContext vitamContext = securityService.buildVitamContext(securityService.getTenantIdentifier()); + archivalUnitProfile.setTenant(0); + vitamContext.setTenantId(0); + return archivalProfileUnitInternalService.create(vitamContext, archivalUnitProfile); + } + + @PostMapping(CommonConstants.PATH_IMPORT) + public ResponseEntity<JsonNode> importArchivalUnitProfile(@RequestParam("fileName") String fileName, @RequestParam("file") MultipartFile file) { + LOGGER.debug("import Archival Unit Profile by a file {}", fileName); + SafeFileChecker.checkSafeFilePath(file.getOriginalFilename()); + final VitamContext vitamContext = securityService.buildVitamContext(securityService.getTenantIdentifier()); + return archivalProfileUnitInternalService.importProfile(vitamContext, fileName, file); + } + + + + + + + + + + + //TODO : Patch Check + + @PostMapping(CommonConstants.PATH_CHECK) + public ResponseEntity<Void> checkExist(@RequestBody ArchivalProfileUnitDto archivalProfile, @RequestHeader(value = CommonConstants.X_TENANT_ID_HEADER) Integer tenant) { + LOGGER.debug("check exist file format={}", archivalProfile); + final VitamContext vitamContext = securityService.buildVitamContext(securityService.getTenantIdentifier()); + final boolean exist = archivalProfileUnitInternalService.check(vitamContext, archivalProfile); + return RestUtils.buildBooleanResponse(exist); + } + + + + + + +} diff --git a/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/rest/ProfileInternalController.java b/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/rest/ProfileInternalController.java old mode 100644 new mode 100755 index 556e3ac08..551e35465 --- a/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/rest/ProfileInternalController.java +++ b/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/rest/ProfileInternalController.java @@ -1,25 +1,25 @@ /** * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) * and the signatories of the "VITAM - Accord du Contributeur" agreement. - * + * <p> * contact@programmevitam.fr - * + * <p> * This software is a computer program whose purpose is to implement * implement a digital archiving front-office system for the secure and * efficient high volumetry VITAM solution. - * + * <p> * This software is governed by the CeCILL-C license under French law and * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL-C * license as circulated by CEA, CNRS and INRIA at the following URL * "http://www.cecill.info". - * + * <p> * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited * liability. - * + * <p> * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -30,22 +30,22 @@ * requirements in conditions enabling the security of their systems and/or * data to be ensured and, more generally, to use and operate it in the * same conditions as regards security. - * + * <p> * The fact that you are presently reading this means that you have had * knowledge of the CeCILL-C license and that you accept its terms. */ package fr.gouv.vitamui.referential.internal.server.rest; -import java.util.Collection; -import java.util.Optional; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - +import com.fasterxml.jackson.databind.JsonNode; +import fr.gouv.vitam.access.external.common.exception.AccessExternalClientException; +import fr.gouv.vitam.access.external.common.exception.AccessExternalNotFoundException; import fr.gouv.vitam.common.client.VitamContext; +import fr.gouv.vitam.common.exception.InvalidParseOperationException; +import fr.gouv.vitamui.common.security.SafeFileChecker; +import fr.gouv.vitamui.commons.api.CommonConstants; +import fr.gouv.vitamui.commons.api.ParameterChecker; +import fr.gouv.vitamui.commons.api.domain.DirectionDto; +import fr.gouv.vitamui.commons.api.domain.PaginatedValuesDto; import fr.gouv.vitamui.commons.api.logger.VitamUILogger; import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; import fr.gouv.vitamui.commons.rest.util.RestUtils; @@ -55,6 +55,24 @@ import fr.gouv.vitamui.referential.common.rest.RestApi; import fr.gouv.vitamui.referential.internal.server.profile.ProfileInternalService; import lombok.Getter; import lombok.Setter; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.InputStreamResource; +import org.springframework.core.io.Resource; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.util.Assert; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.Valid; +import javax.ws.rs.core.Response; +import java.io.InputStream; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; +import java.util.Collection; +import java.util.Optional; @RestController @RequestMapping(RestApi.PROFILES_URL) @@ -77,4 +95,107 @@ public class ProfileInternalController { final VitamContext vitamContext = securityService.buildVitamContext(securityService.getTenantIdentifier()); return profileInternalService.getAll(vitamContext); } + + @GetMapping(params = {"page", "size"}) + public PaginatedValuesDto<ProfileDto> getAllPaginated(@RequestParam final Integer page, @RequestParam final Integer size, + @RequestParam(required = false) final Optional<String> criteria, @RequestParam(required = false) final Optional<String> orderBy, + @RequestParam(required = false) final Optional<DirectionDto> direction) { + LOGGER.debug("getPaginateEntities page={}, size={}, criteria={}, orderBy={}, ascendant={}", page, size, criteria, orderBy, direction); + final VitamContext vitamContext = securityService.buildVitamContext(securityService.getTenantIdentifier()); + return profileInternalService.getAllPaginated(page, size, orderBy, direction, vitamContext, criteria); + } + + @GetMapping(path = RestApi.PATH_REFERENTIAL_ID) + public ProfileDto getOne(final @PathVariable("identifier") String identifier) throws UnsupportedEncodingException { + LOGGER.debug("get profile identifier={} / {}", identifier, URLDecoder.decode(identifier, StandardCharsets.UTF_8.toString())); + final VitamContext vitamContext = securityService.buildVitamContext(securityService.getTenantIdentifier()); + return profileInternalService.getOne(vitamContext, URLDecoder.decode(identifier, StandardCharsets.UTF_8.toString())); + } + + @GetMapping(RestApi.DOWNLOAD_PROFILE + CommonConstants.PATH_ID) + public ResponseEntity<Resource> downloadByMetadataIdentifier( + final @PathVariable("id") String id) throws AccessExternalNotFoundException, AccessExternalClientException { + ParameterChecker.checkParameter("The Identifier is a mandatory parameter: ", id); + final VitamContext vitamContext = securityService.buildVitamContext(securityService.getTenantIdentifier()); + LOGGER.debug("download profile with id :{}", id); + Response response = profileInternalService.download(vitamContext, id); + Object entity = response.getEntity(); + if (entity instanceof InputStream) { + Resource resource = new InputStreamResource((InputStream) entity); + return new ResponseEntity<>(resource, HttpStatus.OK); + } + return null; + } + + /** + * Import a Profile file document (xsd or rng, ...) + * + * @param file MultipartFile representing the data to import + * @param id id of the archival profile + * @return The jaxRs Response + */ + @PutMapping(value = RestApi.UPDATE_PROFILE_FILE + CommonConstants.PATH_ID) + public JsonNode updateProfileFile(final @PathVariable("id") String id, + @RequestParam("file") MultipartFile file) throws AccessExternalClientException { + LOGGER.debug("Update {} profile file with id :{}", id); + ParameterChecker.checkParameter("profileFile stream is a mandatory parameter: ", file); + ParameterChecker.checkParameter("The Identifier is a mandatory parameter: ", id); + final VitamContext vitamContext = securityService.buildVitamContext(securityService.getTenantIdentifier()); + return profileInternalService.updateProfileFile(vitamContext, id, file); + } + + + @PutMapping(CommonConstants.PATH_ID) + public JsonNode updateProfile(final @PathVariable("id") String id, final @RequestBody ProfileDto dto) throws AccessExternalClientException, InvalidParseOperationException { + LOGGER.debug("Update {} with {}", id, dto); + ParameterChecker.checkParameter("Identifier is mandatory : ", id); + Assert.isTrue(StringUtils.equals(id, dto.getId()), "The DTO identifier must match the path identifier for update."); + final VitamContext vitamContext = securityService.buildVitamContext(securityService.getTenantIdentifier()); + LOGGER.debug("context={}", vitamContext); + return profileInternalService.updateProfile(dto, vitamContext); + } + + @PostMapping + public ProfileDto create(@Valid @RequestBody ProfileDto archivalProfile, @RequestHeader(value = CommonConstants.X_TENANT_ID_HEADER) Integer tenant) { + LOGGER.debug("create profile={}", archivalProfile); + final VitamContext vitamContext = securityService.buildVitamContext(securityService.getTenantIdentifier()); + archivalProfile.setTenant(0); + vitamContext.setTenantId(0); + return profileInternalService.create(vitamContext, archivalProfile); + } + + @PostMapping(CommonConstants.PATH_IMPORT) + public ResponseEntity<JsonNode> importProfile(@RequestParam("fileName") String fileName, @RequestParam("file") MultipartFile file) { + LOGGER.debug("import profile by a file {}", fileName); + SafeFileChecker.checkSafeFilePath(file.getOriginalFilename()); + final VitamContext vitamContext = securityService.buildVitamContext(securityService.getTenantIdentifier()); + return profileInternalService.importProfile(vitamContext, fileName, file); + } + + + + + + + + + + + + + + + + + + + + +/* @PostMapping(CommonConstants.PATH_CHECK) + public ResponseEntity<Void> checkExist(@RequestBody ProfileDto archivalProfile, @RequestHeader(value = CommonConstants.X_TENANT_ID_HEADER) Integer tenant) { + LOGGER.debug("check exist file format={}", archivalProfile); + final VitamContext vitamContext = securityService.buildVitamContext(securityService.getTenantIdentifier()); + final boolean exist = profileInternalService.check(vitamContext, archivalProfile); + return RestUtils.buildBooleanResponse(exist); + }*/ } diff --git a/api/pom.xml b/api/pom.xml index 8ff6dffbc..ea88e91a7 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -19,6 +19,7 @@ <module>api-referential</module> <module>api-ingest</module> <module>api-archive-search</module> + <module>api-pastis</module> </modules> </project> diff --git a/commons/commons-api/src/main/java/fr/gouv/vitamui/commons/api/CommonConstants.java b/commons/commons-api/src/main/java/fr/gouv/vitamui/commons/api/CommonConstants.java index 2873e8eed..52843acaf 100644 --- a/commons/commons-api/src/main/java/fr/gouv/vitamui/commons/api/CommonConstants.java +++ b/commons/commons-api/src/main/java/fr/gouv/vitamui/commons/api/CommonConstants.java @@ -197,6 +197,8 @@ public class CommonConstants { public static final String ARCHIVES_SEARCH_URL = "ARCHIVES_SEARCH_URL"; + public static final String PASTIS_URL = "PASTIS_URL"; + public static final String INGEST_URL = "INGEST_URL"; public static final String REFERENTIAL_URL = "REFERENTIAL_URL"; diff --git a/commons/commons-api/src/main/java/fr/gouv/vitamui/commons/api/domain/IdDto.java b/commons/commons-api/src/main/java/fr/gouv/vitamui/commons/api/domain/IdDto.java index a2388a87c..1feb4fb83 100644 --- a/commons/commons-api/src/main/java/fr/gouv/vitamui/commons/api/domain/IdDto.java +++ b/commons/commons-api/src/main/java/fr/gouv/vitamui/commons/api/domain/IdDto.java @@ -38,6 +38,7 @@ package fr.gouv.vitamui.commons.api.domain; import java.io.Serializable; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.Setter; @@ -54,6 +55,7 @@ import lombok.ToString; @ToString public abstract class IdDto implements Serializable { + @JsonProperty("id") private String id; } diff --git a/commons/commons-api/src/main/java/fr/gouv/vitamui/commons/api/domain/ServicesData.java b/commons/commons-api/src/main/java/fr/gouv/vitamui/commons/api/domain/ServicesData.java index c6fc8f618..5c96435fb 100644 --- a/commons/commons-api/src/main/java/fr/gouv/vitamui/commons/api/domain/ServicesData.java +++ b/commons/commons-api/src/main/java/fr/gouv/vitamui/commons/api/domain/ServicesData.java @@ -232,6 +232,18 @@ public class ServicesData { public static final String ROLE_UPDATE_ACCESS_CONTRACTS = UPDATE_ROLE_PREFIX + SERVICE_ACCESS_CONTRACT; + //------------------------------------ PASTIS ----------------------------------------- + + public static final String SERVICE_PASTIS = "PASTIS"; + + public static final String ROLE_GET_PASTIS = GET_ROLE_PREFIX + SERVICE_PASTIS; + + public static final String ROLE_CREATE_PASTIS = CREATE_ROLE_PREFIX + SERVICE_PASTIS; + + public static final String ROLE_UPDATE_PASTIS = UPDATE_ROLE_PREFIX + SERVICE_PASTIS; + + public static final String ROLE_DELETE_PASTIS = DELETE_ROLE_PREFIX + SERVICE_PASTIS; + //------------------------------------ INGEST CONTRACT ----------------------------------------- public static final String SERVICE_INGEST_CONTRACT = "INGEST_CONTRACTS"; @@ -356,7 +368,28 @@ public class ServicesData { //------------------------------ PROFILES (ARCHIVE PROFILES) -------------------------------------- - public static final String ROLE_GET_ARCHIVE_PROFILES = ROLE_PREFIX + "GET_ARCHIVE_PROFILES"; + public static final String SERVICE_ARCHIVE_PROFILES = "ARCHIVE_PROFILES"; + + public static final String ROLE_GET_ARCHIVE_PROFILES = GET_ROLE_PREFIX + SERVICE_ARCHIVE_PROFILES; + + public static final String ROLE_UPDATE_ARCHIVE_PROFILES = CREATE_ROLE_PREFIX + SERVICE_ARCHIVE_PROFILES; + + public static final String ROLE_CREATE_ARCHIVE_PROFILES = UPDATE_ROLE_PREFIX + SERVICE_ARCHIVE_PROFILES; + + public static final String ROLE_IMPORT_ARCHIVE_PROFILES = DELETE_ROLE_PREFIX + SERVICE_ARCHIVE_PROFILES; + + //------------------------------------ ARCHIVE PROFILES UNIT ----------------------------------- + + public static final String SERVICE_ARCHIVE_PROFILES_UNIT = "ARCHIVE_PROFILES_UNIT"; + + public static final String ROLE_GET_ARCHIVE_PROFILES_UNIT = GET_ROLE_PREFIX + SERVICE_ARCHIVE_PROFILES_UNIT; + + public static final String ROLE_UPDATE_ARCHIVE_PROFILES_UNIT = CREATE_ROLE_PREFIX + SERVICE_ARCHIVE_PROFILES_UNIT; + + public static final String ROLE_CREATE_ARCHIVE_PROFILES_UNIT = UPDATE_ROLE_PREFIX + SERVICE_ARCHIVE_PROFILES_UNIT; + + public static final String ROLE_IMPORT_ARCHIVE_PROFILES_UNIT = DELETE_ROLE_PREFIX + SERVICE_ARCHIVE_PROFILES_UNIT; + //------------------------------------ INGESTS ----------------------------------------- diff --git a/deployment/app_pastis.yml b/deployment/app_pastis.yml new file mode 100644 index 000000000..3a352550b --- /dev/null +++ b/deployment/app_pastis.yml @@ -0,0 +1,29 @@ +# Archive Search external calls archive internal +- hosts: hosts_vitamui_pastis_external + gather_facts: no + any_errors_fatal: true + roles: + - vitamui + vars: + app_default_root_path: "/vitamui" + vitamui_struct: "{{ vitamui.pastis_external }}" + vitamui_certificate_type: "external" + password_keystore: "{{ keystores_server_pastis_external }}" + password_truststore: "{{ truststores_client_external }}" + consul_tags: "pastis-external, api, external" + +# UI archive search calls archive external + +- hosts: hosts_ui_pastis + gather_facts: no + any_errors_fatal: true + roles: + - vitamui + vars: + app_default_root_path: "/vitamui" + vitamui_struct: "{{ vitamui.pastis }}" + vitamui_certificate_type: "server" + password_keystore: "{{ keystores_server_ui_pastis }}" + password_truststore: "{{ truststores_server }}" + consul_tags: "ui-pastis, ui" + diff --git a/deployment/environments/group_vars/all/vault-keystores.yml.example b/deployment/environments/group_vars/all/vault-keystores.yml.example index f23725079..8cc579598 100644 --- a/deployment/environments/group_vars/all/vault-keystores.yml.example +++ b/deployment/environments/group_vars/all/vault-keystores.yml.example @@ -4,6 +4,7 @@ keystores_server_iam_external: changeme keystores_server_referential_external: changeme keystores_server_ingest_external: changeme keystores_server_archive_search_external: changeme +keystores_server_pastis_external: changeme keystores_server_iam_internal: changeme keystores_server_referential_internal: changeme keystores_server_ingest_internal: changeme @@ -14,6 +15,7 @@ keystores_server_ui_identity: changeme keystores_server_ui_identity_admin: changeme keystores_server_ui_portal: changeme keystores_server_ui_referential: changeme +keystores_server_ui_pastis: changeme keystores_server_ui_ingest: changeme keystores_server_ui_archive_search: changeme keystores_client_external_customer_x: changeme diff --git a/deployment/pki/scripts/generate_certs.sh b/deployment/pki/scripts/generate_certs.sh index 980534ce5..7d651d54e 100755 --- a/deployment/pki/scripts/generate_certs.sh +++ b/deployment/pki/scripts/generate_certs.sh @@ -33,6 +33,7 @@ function generateCerts { generateHostCertAndStorePassphrase cas-server hosts_cas_server generateHostCertAndStorePassphrase ingest-external hosts_vitamui_ingest_external generateHostCertAndStorePassphrase archive-search-external hosts_vitamui_archive_search_external + generateHostCertAndStorePassphrase pastis-external hosts_vitamui_pastis_external #Zone UI generateHostCertAndStorePassphrase ui-portal hosts_ui_portal generateHostCertAndStorePassphrase ui-identity hosts_ui_identity @@ -40,6 +41,7 @@ function generateCerts { generateHostCertAndStorePassphrase ui-referential hosts_ui_referential generateHostCertAndStorePassphrase ui-ingest hosts_ui_ingest generateHostCertAndStorePassphrase ui-archive-search hosts_ui_archive_search + generateHostCertAndStorePassphrase ui-pastis hosts_ui_pastis #Reverse generateHostCertAndStorePassphrase reverse hosts_vitamui_reverseproxy diff --git a/deployment/pki/scripts/generate_certs_dev.sh b/deployment/pki/scripts/generate_certs_dev.sh index f931cbeac..be08f0e41 100755 --- a/deployment/pki/scripts/generate_certs_dev.sh +++ b/deployment/pki/scripts/generate_certs_dev.sh @@ -39,6 +39,7 @@ function generateCerts { generateHostCertAndStorePassphrase referential-external hosts_vitamui_referential_external generateHostCertAndStorePassphrase ingest-external hosts_vitamui_ingest_external generateHostCertAndStorePassphrase archive-search-external hosts_vitamui_archive_search_external + generateHostCertAndStorePassphrase pastis-external hosts_vitamui_pastis_external #Zone UI generateHostCertAndStorePassphrase ui-portal hosts_ui_portal generateHostCertAndStorePassphrase ui-identity hosts_ui_identity @@ -46,6 +47,7 @@ function generateCerts { generateHostCertAndStorePassphrase ui-referential hosts_ui_referential generateHostCertAndStorePassphrase ui-ingest hosts_ui_ingest generateHostCertAndStorePassphrase ui-archive-search hosts_ui_archive_search + generateHostCertAndStorePassphrase ui-pastis hosts_ui_pastis #Reverse generateHostCertAndStorePassphrase reverse hosts_vitamui_reverseproxy diff --git a/deployment/scripts/mongod/1.0.0/101_iam_system_demo.js b/deployment/scripts/mongod/1.0.0/101_iam_system_demo.js index 1b3df4a30..70c8f2fad 100644 --- a/deployment/scripts/mongod/1.0.0/101_iam_system_demo.js +++ b/deployment/scripts/mongod/1.0.0/101_iam_system_demo.js @@ -197,7 +197,8 @@ db.groups.insert({ "system_dsl", "system_probative_value", "system_logbook_operation", - "system_holding_filling_scheme_profile" + "system_holding_filling_scheme_profile", + "system_pastis" ], "readonly": false, "level": "", diff --git a/deployment/scripts/mongod/1.0.0/220_cas_services_pastis_ref.js.j2 b/deployment/scripts/mongod/1.0.0/220_cas_services_pastis_ref.js.j2 new file mode 100644 index 000000000..37fe91fc7 --- /dev/null +++ b/deployment/scripts/mongod/1.0.0/220_cas_services_pastis_ref.js.j2 @@ -0,0 +1,28 @@ +db = db.getSiblingDB('cas') + + +print("START 218_cas_services_pastis_ref.js"); + +var nbInsert = db.services.insert({ + "_id" : NumberInt(7), + "_class": "org.apereo.cas.services.RegexRegisteredService", +{% if vitamui.pastis.base_url is defined %} + "serviceId": "^{{ vitamui.pastis.base_url }}/.*", +{% else %} + "serviceId": "^{{ url_prefix }}/pastis/.*", +{% endif %} + "name": "Pastis Application", + "logoutType" : "FRONT_CHANNEL", +{% if vitamui.pastis.base_url is defined %} + "logoutUrl": "{{ vitamui.pastis.base_url }}/logout", +{% else %} + "logoutUrl": "{{ url_prefix }}/pastis/logout", +{% endif %} + "attributeReleasePolicy": { + "_class": "org.apereo.cas.services.ReturnAllAttributeReleasePolicy" + } +}); + +print("inserted: " + nbInsert); + +print("END 220_cas_services_pastis_ref.js"); diff --git a/deployment/scripts/mongod/1.0.0/221_pastis_application_ref.js.j2 b/deployment/scripts/mongod/1.0.0/221_pastis_application_ref.js.j2 new file mode 100644 index 000000000..53414fd10 --- /dev/null +++ b/deployment/scripts/mongod/1.0.0/221_pastis_application_ref.js.j2 @@ -0,0 +1,63 @@ +db = db.getSiblingDB('iam') + +print("START 221_pastis_application_ref.js"); + +// -------- VITAM ADMINISTRATION ----- + +db.applications.insert({ + "identifier" : "PASTIS_APP", +{% if vitamui.pastis.base_url is defined %} + "url": "{{ vitamui.pastis.base_url }}/pastis", +{% endif %} + "icon" : "vitamui-icon vitamui-icon-ontologie", + "name" : "Profils Documentaires", + "category" : "referential", + "position" : 1, + "hasCustomerList" : false, + "hasTenantList" : false, + "hasHighlight" : false, + "tooltip" : "Accéder, Créer, Modifier ou Supprimer les profils d'archivage et les profils d'unité archivistique", + "target" : "_self" +}); + +db.applications.update( + { "identifier" : "PASTIS_APP" }, + { + "$set" : { +{% if vitamui.pastis.base_url is defined %} + "url": "{{ vitamui.pastis.base_url }}/pastis", +{% else %} + "url" : "{{ url_prefix }}", +{% endif %} + "icon": "vitamui-icon vitamui-icon-ontologie", + "name": "Profils Documentaires", + "category": "referential", + "position": NumberInt(1), + "hasCustomerList": false, + "hasTenantList": true, + "hasHighlight": false, + "tooltip": "Accéder, Créer, Modifier ou Supprimer les profils d'archivage et les profils d'unité archivistique", + "target": "_self" + }, + "$setOnInsert": { + "identifier" : "PASTIS_APP" + } + }, + { "upsert":true } +); + +db.applications.update({ + "identifier" : "PASTIS_APP", +}, { + $set: { +{% if vitamui.pastis.base_url is defined %} + "serviceId": "^{{ vitamui.pastis.base_url }}/.*", +{% else %} + "serviceId": "^{{ url_prefix }}/pastis/.*", +{% endif %} + }, + } +); + + +print("END 221_pastis_application_ref.js"); diff --git a/deployment/scripts/mongod/1.0.0/222_pastis_profile_ref.js.j2 b/deployment/scripts/mongod/1.0.0/222_pastis_profile_ref.js.j2 new file mode 100644 index 000000000..810721cce --- /dev/null +++ b/deployment/scripts/mongod/1.0.0/222_pastis_profile_ref.js.j2 @@ -0,0 +1,32 @@ +db = db.getSiblingDB('iam') + +print("START 222_pastis_profile_ref.js"); + +db.profiles.insert({ + "_id" : "system_pastis", + "identifier" : NumberInt(maxIdProfile++), + "name" : "Pastis Profile", + "description" : "Pastis Profile", + "tenantIdentifier": NumberInt({{ vitamui_platform_informations.proof_tenant }}), + "applicationName" : "PASTIS_APP", + "enabled" : true, + "readonly" : true, + "level" : "", + "customerId" : "system_customer", + "roles" : [ + { + "name": "ROLE_GET_PASTIS" + }, + { + "name": "ROLE_CREATE_PASTIS" + }, + { + "name": "ROLE_UPDATE_PASTIS" + }, + { + "name": "ROLE_DELETE_PASTIS" + } + ] +}); + +print("END 222_pastis_profile_ref.js"); diff --git a/deployment/scripts/mongod/1.0.0/223_security_pastis_ref.js.j2 b/deployment/scripts/mongod/1.0.0/223_security_pastis_ref.js.j2 new file mode 100644 index 000000000..9f9b180d3 --- /dev/null +++ b/deployment/scripts/mongod/1.0.0/223_security_pastis_ref.js.j2 @@ -0,0 +1,29 @@ +db = db.getSiblingDB('security') + +print("START 223_security_pastis_ref.js"); + +db.contexts.insert({ + "_id" : "ui_pastis_context", + "name": "Contexte UI Pastis", + "fullAccess" : true, + "tenants" : [NumberInt({{ vitamui_platform_informations.proof_tenant }}), NumberInt({{ vitamui_platform_informations.cas_tenant }})], + "roleNames" : [ + "ROLE_CREATE_USERS","ROLE_UPDATE_USERS","ROLE_UPDATE_STANDARD_USERS","ROLE_GENERIC_USERS","ROLE_MFA_USERS", "ROLE_ANONYMIZATION_USERS", "ROLE_CREATE_TENANTS", + "ROLE_CREATE_TENANTS_ALL_CUSTOMERS","ROLE_UPDATE_TENANTS", "ROLE_UPDATE_TENANTS_ALL_CUSTOMERS", "ROLE_GET_CUSTOMERS", "ROLE_GET_USERS", + "ROLE_GET_PROFILES", "ROLE_GET_GROUPS", "ROLE_GET_PROFILES_ALL_TENANTS", "ROLE_GET_TENANTS", "ROLE_GET_ALL_TENANTS", "ROLE_GET_ACCESS_CONTRACTS", + "ROLE_CREATE_ACCESS_CONTRACTS", "ROLE_UPDATE_ACCESS_CONTRACTS", "ROLE_GET_INGEST_CONTRACTS", "ROLE_CREATE_INGEST_CONTRACTS", "ROLE_UPDATE_INGEST_CONTRACTS", + "ROLE_GET_MANAGEMENT_CONTRACTS", "ROLE_GET_ARCHIVE_PROFILES", "ROLE_GET_ONTOLOGIES", "ROLE_CREATE_ONTOLOGIES", "ROLE_DELETE_ONTOLOGIES", "ROLE_GET_AGENCIES", + "ROLE_UPDATE_AGENCIES", "ROLE_CREATE_AGENCIES", "ROLE_DELETE_AGENCIES", "ROLE_EXPORT_AGENCIES", "ROLE_GET_FILE_FORMATS", "ROLE_UPDATE_FILE_FORMATS", + "ROLE_CREATE_FILE_FORMATS", "ROLE_DELETE_FILE_FORMATS", "ROLE_GET_CONTEXTS", "ROLE_UPDATE_CONTEXTS", "ROLE_CREATE_CONTEXTS", "ROLE_GET_SECURITY_PROFILES", + "ROLE_UPDATE_SECURITY_PROFILES", "ROLE_CREATE_SECURITY_PROFILES", "ROLE_DELETE_SECURITY_PROFILES", "ROLE_GET_OPERATIONS", "ROLE_RUN_AUDITS", + "ROLE_RUN_PROBATIVE_VALUE", "ROLE_LOGBOOKS", "ROLE_GET_PASTIS", "ROLE_CREATE_PASTIS", "ROLE_UPDATE_PASTIS", "ROLE_DELETE_PASTIS", "ROLE_GET_RULES", + "ROLE_CREATE_RULES", "ROLE_UPDATE_RULES", "ROLE_DELETE_RULES", "ROLE_IMPORT_AGENCIES", "ROLE_IMPORT_FILE_FORMATS", "ROLE_IMPORT_ONTOLOGIES", + "ROLE_GET_UNITS", "ROLE_GET_EXTERNAL_PARAMS", "ROLE_GET_ACCESSION_REGISTER_DETAIL", "ROLE_UPDATE_LOGBOOK_OPERATION", "ROLE_GET_ALL_LOGBOOK_OPERATION", + "ROLE_GET_LOGBOOK_OPERATION", "ROLE_UPDATE_ME_USERS", "ROLE_IMPORT_RULES", "ROLE_GET_FILLING_PLAN_ACCESS", "ROLE_GET_PROFILES", "ROLE_CREATE_PROFILES", + "ROLE_UPDATE_PROFILES", "ROLE_DELETE_PROFILES", "ROLE_GET_ARCHIVE_PROFILES", "ROLE_UPDATE_ARCHIVE_PROFILES", "ROLE_CREATE_ARCHIVE_PROFILES", + "ROLE_IMPORT_ARCHIVE_PROFILES", "ROLE_GET_ARCHIVE_PROFILES_UNIT", "ROLE_UPDATE_ARCHIVE_PROFILES_UNIT", "ROLE_CREATE_ARCHIVE_PROFILES_UNIT", + "ROLE_IMPORT_ARCHIVE_PROFILES_UNIT" + ] +}); + +print("END 223_security_pastis_ref.js"); diff --git a/deployment/scripts/mongod/1.0.0/224_security.populate_certificates_pastis.js.j2 b/deployment/scripts/mongod/1.0.0/224_security.populate_certificates_pastis.js.j2 new file mode 100644 index 000000000..dfdcc0afe --- /dev/null +++ b/deployment/scripts/mongod/1.0.0/224_security.populate_certificates_pastis.js.j2 @@ -0,0 +1,28 @@ +db = db.getSiblingDB('{{ mongodb.security.db }}') + +print("START 224_security.populate_certificates_pastis.js.j2"); + +{% macro insertCertificate(pemFile, contextId) -%} +db.certificates.remove( + {"_id" : "{{ pemFile | basename | replace('.pem','_cert')}}"}, + { justOne: true } +) +db.certificates.insert({ + "_id": "{{ pemFile | basename | replace('.pem','_cert')}}", + "contextId": "{{ contextId }}", + "subjectDN": "subjectDN", + "issuerDN": "issuerDN", + "serialNumber": "serialNumberAdmin", + "data": "{{ lookup('file', pemFile) | cert_to_str() }}" +}) +{%- endmacro %} + +{% macro process(keyPath, contextId, groupName) -%} + {% for host in groups[groupName] %} + {{ insertCertificate(keyPath | replace('%host%', host), contextId) }} + {% endfor %} +{%- endmacro %} + +{{ process('{{ pki_dir }}/server/hosts/%host%/ui-pastis.pem', 'ui_pastis_context', 'hosts_ui_pastis') }} + +print("END 224_security.populate_certificates_pastis.js.j2"); diff --git a/deployment/scripts/mongod/1.0.0/307_iam_ref.js.j2 b/deployment/scripts/mongod/1.0.0/307_iam_ref.js.j2 index 9e4d98250..678382cdf 100644 --- a/deployment/scripts/mongod/1.0.0/307_iam_ref.js.j2 +++ b/deployment/scripts/mongod/1.0.0/307_iam_ref.js.j2 @@ -58,4 +58,21 @@ db.groups.updateOne( { } }); +// ========================================= GROUPS ========================================= + +// ----------------------------------------- LEVEL "0" ----------------------------------------- +db.groups.updateOne( { + "_id": "admin_group" +}, { + $addToSet: { + "profileIds": { + $each: [ + "system_pastis" + ] + } + } +}); + print("END 307_iam_ref.js"); + + diff --git a/deployment/vitamui_pastis.yml b/deployment/vitamui_pastis.yml new file mode 100644 index 000000000..7263c0ac9 --- /dev/null +++ b/deployment/vitamui_pastis.yml @@ -0,0 +1,24 @@ +--- + +- hosts: localhost + connection: local + become: false + roles: + - bootstrap_ansible + +- hosts: hosts_vitamui + roles: + - checks + - normalize + - users +# TODO VITAM : decide if pastis should be always installed, if not adapt mongo database script verisonning for additional modules +# +#- import_playbook: stop_vitamui.yml +# +#- import_playbook: mongo_update_scripts.yml +# +#- import_playbook: start_vitamui.yml + +- import_playbook: app_pastis.yml + +- import_playbook: reverse_proxy.yml diff --git a/dev-deployment/environments/certs/server/hosts/localhost/archive-search-external.crt b/dev-deployment/environments/certs/server/hosts/localhost/archive-search-external.crt index a053d0b2c..52263cbdf 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/archive-search-external.crt +++ b/dev-deployment/environments/certs/server/hosts/localhost/archive-search-external.crt @@ -1,111 +1,111 @@ Certificate: Data: Version: 1 (0x0) - Serial Number: 30 (0x1e) - Signature Algorithm: sha256WithRSAEncryption + Serial Number: 141 (0x8d) + Signature Algorithm: sha256WithRSAEncryption Issuer: C=fr, ST=idf, L=paris, O=vitamui, OU=authorities, CN=ca_intermediate_server Validity - Not Before: Dec 9 09:40:45 2020 GMT - Not After : Dec 9 09:40:45 2023 GMT + Not Before: Dec 6 12:54:56 2021 GMT + Not After : Dec 5 12:54:56 2024 GMT Subject: C=fr, ST=idf, L=paris, O=vitamui, CN=dev.vitamui.com Subject Public Key Info: Public Key Algorithm: rsaEncryption - RSA Public-Key: (4096 bit) + Public-Key: (4096 bit) Modulus: - 00:d5:b4:e2:b6:89:26:93:16:21:e3:7e:e2:17:b2: - 28:d8:30:74:2b:51:c2:44:04:35:ea:ea:f5:3d:66: - d1:aa:c2:50:7c:bb:16:a4:f8:3b:a9:d9:83:dc:85: - 2e:2e:c5:49:92:8d:13:f9:a2:6c:69:ba:16:33:78: - 42:fd:2e:89:59:98:59:48:15:a2:9d:29:bf:d7:ce: - ba:4e:75:9e:b2:c0:f1:b3:e8:07:8f:77:19:62:85: - a0:a4:5d:c5:e1:28:cb:80:31:a5:f6:49:ef:33:70: - 55:cc:71:32:6f:14:42:7a:f3:47:c8:97:1c:56:89: - d4:7b:c5:24:10:94:d4:a0:2a:f1:ce:96:9d:49:ad: - da:43:d9:ff:59:fd:e2:19:9a:c9:63:bc:30:30:59: - 92:a9:d9:9b:22:3a:30:49:8b:ae:52:db:f3:f5:42: - b7:66:91:f0:e4:8b:d2:5d:e6:a3:7c:09:a1:49:c5: - 68:72:e7:70:51:cd:62:14:2f:3d:7d:71:4a:15:43: - 35:3a:44:76:95:ad:95:6f:5d:24:d2:98:19:fd:e6: - 33:00:c6:4a:05:24:70:72:52:e6:86:9a:7a:85:58: - 09:1f:ec:05:50:11:25:da:c5:f4:54:55:0f:c7:d8: - f6:46:f5:23:0f:26:1d:be:92:de:5d:2d:f4:29:cc: - 98:51:dd:c3:67:e3:a5:ba:df:db:f1:12:6c:f4:ac: - 36:e4:7a:bc:1f:95:6d:bb:72:e2:60:2f:da:31:53: - a7:05:ba:b4:0d:9b:e5:89:e8:c1:33:e4:08:61:64: - d3:68:ab:75:d1:c8:05:a2:3b:5e:df:c4:29:94:4f: - d1:26:41:f6:2f:20:ba:21:2f:53:14:5f:f5:7b:dc: - 8c:e9:9e:30:b3:f4:cc:7e:c7:75:56:8f:20:6e:4a: - 53:56:18:26:27:16:79:b6:3b:6c:c0:68:3d:0f:c0: - 47:39:54:57:7f:7e:01:c4:60:37:36:cb:38:61:6f: - 2c:69:5c:15:3e:7a:7c:d6:f6:e4:61:29:c0:c1:d7: - 57:af:7b:46:ad:45:82:b5:b2:50:f7:91:9e:b9:6d: - 44:86:22:5f:b0:51:60:3b:c5:0d:03:ad:24:91:33: - 41:c4:3d:0b:77:c1:5a:12:ca:b5:d7:1a:b3:f8:0b: - 8c:0a:ae:86:8f:7b:2f:29:4e:0e:9d:3e:cc:d8:1e: - b8:a4:2f:fd:a1:0a:4d:51:4d:95:d3:de:2d:12:6a: - b9:b2:22:34:f1:d3:bd:6c:bc:37:7c:fb:e8:df:46: - 5a:d7:b1:15:c6:8c:c7:d2:cb:a3:54:19:b4:ec:98: - b0:cb:f8:30:71:f2:54:06:17:95:2a:f2:e4:a2:a4: - c0:7f:9d + 00:d0:cc:9f:f6:ed:9f:75:6e:0f:54:94:ad:54:b6: + 8a:f2:d1:ea:b7:8e:29:b7:84:81:78:22:5e:44:6b: + dc:71:05:1c:27:45:1b:f4:8b:6f:8e:d6:20:57:95: + 99:67:ac:e8:41:5b:4a:40:07:60:82:e5:22:39:d2: + f3:fe:36:3d:66:a7:3c:6d:c4:91:a2:7e:fa:5b:28: + 4a:d6:79:b8:e8:76:12:c4:a6:8c:1f:43:a7:75:6c: + ef:dd:a6:27:0f:ce:4a:8c:0e:a4:b7:48:ea:80:39: + 45:64:b9:4f:eb:9f:94:1f:02:cb:f8:84:9b:38:c6: + f2:ed:19:d9:d0:e2:e2:13:6f:2c:10:29:c9:a3:8e: + 28:ec:ac:b5:51:27:97:02:12:bd:ea:e6:95:48:2a: + ac:82:7f:f7:af:01:a9:e8:c9:91:26:a5:02:10:f3: + a7:6f:b8:0f:e8:64:78:94:6b:fd:a3:34:ba:d8:4d: + d0:37:f7:c6:30:e4:64:cd:f4:5a:e8:31:1c:58:51: + 25:e9:f1:50:6f:82:a7:61:b2:26:1f:73:76:8f:87: + 91:ea:a6:23:be:dd:23:a6:71:2e:d2:b0:32:50:f4: + da:cc:e1:bc:3f:5e:7a:19:17:a3:0d:75:61:49:22: + 20:b6:c7:fc:49:0c:70:90:3d:bc:75:e9:c9:c3:ef: + fc:22:b2:c7:3c:b2:e3:64:14:97:93:da:20:8d:e9: + b5:be:bd:7c:a0:98:26:6a:28:e5:3c:34:30:65:8c: + f7:b1:ac:ae:36:10:78:86:c3:03:67:46:5c:19:c6: + e3:f4:76:0b:7c:eb:d1:c1:c9:9d:e6:c0:1d:a8:6e: + 06:fa:84:7a:8c:07:34:f7:e5:6c:29:cf:b1:e5:d1: + 7e:b8:bb:0e:32:7f:07:e3:4d:96:20:f0:60:57:d1: + 56:f6:98:ce:0a:84:9d:4f:c3:a9:a9:50:90:bd:1b: + d5:91:2a:b2:73:c9:52:5f:4f:eb:46:ce:7e:b8:e3: + 10:44:4a:57:f0:c8:f1:9c:34:6e:22:a3:eb:c8:e8: + 0e:75:0e:8b:0d:75:01:a4:d6:94:c8:4c:b8:c5:d5: + 43:12:90:70:3d:ee:90:d8:4e:dc:c7:3d:44:73:5f: + 38:80:92:37:30:14:f5:e5:dd:16:68:84:c3:d1:24: + 0d:dd:49:07:d6:0c:8c:6b:8a:b0:17:94:72:c3:10: + 2b:b5:17:5c:29:3c:b8:58:1c:9d:1b:7f:e5:1d:4e: + f5:3a:81:f7:eb:cc:b1:58:6d:b9:77:0c:97:f5:72: + 1d:bd:76:d4:21:6f:94:c4:17:f6:65:0a:69:3e:05: + 19:33:83:05:fd:ec:a4:16:1d:bf:31:7d:30:59:4e: + 24:e1:29 Exponent: 65537 (0x10001) Signature Algorithm: sha256WithRSAEncryption - 67:ea:8f:09:0a:5c:15:42:cf:18:c1:b6:37:7d:c7:25:42:17: - 6c:62:e7:a1:52:1c:93:0f:a8:d7:31:2f:2e:1b:37:60:df:82: - 19:bb:2c:b9:65:be:4d:60:82:a7:c8:4f:2d:d2:e2:0e:8d:9f: - b0:cd:d4:96:4b:08:2e:c4:47:6a:04:9a:df:5e:b1:4f:66:d7: - 65:4f:87:37:19:a2:44:15:a9:6d:a2:a2:2a:80:69:6b:35:d7: - 54:0e:c1:ab:08:43:c2:df:77:c3:cf:b5:9e:83:a8:3a:2b:1c: - 6f:df:92:c5:1b:2d:1f:3a:f2:5a:48:f2:9e:fa:15:6f:bc:09: - 6b:e6:7b:74:c9:57:b6:d7:4a:3e:01:d9:29:92:7a:89:7e:6e: - eb:85:a6:e5:c5:e3:bb:66:8b:64:e8:3a:6d:0e:a2:e9:68:8a: - 4f:a2:b4:10:cf:45:8c:1f:49:4b:ae:41:99:89:5b:56:a8:bc: - 40:b8:97:d9:5c:c8:15:04:93:61:c2:60:5b:6a:2c:10:e3:41: - da:a2:0d:f4:35:34:9b:59:3a:f7:0d:9a:2f:03:a7:56:e9:75: - 9b:ce:94:07:97:9a:c7:28:85:35:27:da:64:63:c8:3c:72:f7: - 72:28:9d:1e:58:65:18:bf:d4:33:2c:e2:c7:19:7d:40:eb:91: - 6b:8b:84:f4:e4:05:44:c5:e9:ea:3d:5e:86:21:0a:8e:c3:89: - a3:61:10:94:c2:fa:45:4d:5d:5e:2f:83:75:81:79:bb:c8:db: - e4:ad:a9:d4:4b:df:8f:5e:a8:82:68:15:28:13:c1:3e:a3:d7: - 2b:d4:55:1d:d0:67:43:3a:4d:cc:b7:e3:24:8d:27:eb:79:62: - cb:fa:dd:e3:ae:21:90:8a:0f:9b:3e:62:b3:95:5c:24:16:07: - 90:c1:a4:74:06:cf:d4:45:92:9f:bf:fe:05:c6:c2:8d:86:db: - f9:1f:05:d4:56:fc:9b:ca:65:03:0b:24:da:f0:94:f6:1f:7d: - 6e:3a:32:bb:c0:34:65:74:f6:72:f4:b2:00:3c:76:40:37:64: - c3:ec:c1:e4:e3:93:34:b8:58:0c:2c:7f:de:4e:38:77:58:8e: - d0:67:e4:c1:00:16:08:b2:b5:d0:95:ed:22:fb:c1:31:9f:1b: - 81:19:c2:76:12:ad:c6:0d:1b:39:12:65:ff:25:60:e8:7b:64: - f2:41:a8:60:8b:41:26:2b:1b:50:88:68:b6:9d:bb:57:26:c9: - 07:85:c8:7f:6e:97:42:f7:26:de:e7:51:7a:a7:e3:58:49:23: - 10:21:0c:78:d6:d1:49:3a:f6:e4:19:2e:7a:29:17:47:6b:57: - c0:f9:c7:28:ef:7f:04:50 + 67:99:61:de:a3:1e:1b:2e:09:1f:33:1d:cd:34:65:4d:d3:a1: + d1:4a:72:5c:d4:ef:40:46:9f:09:1b:61:ec:2b:d8:91:f3:49: + 64:a5:f1:90:3d:d5:4f:45:ed:0f:cf:9a:5f:df:8a:9f:81:a9: + d5:e5:a0:26:8a:02:d5:f7:1f:6a:ee:d3:88:32:b2:0c:fb:5f: + 45:da:a5:97:d2:b3:65:23:75:87:a6:ad:f7:1b:1a:f4:8e:b7: + 05:01:45:0e:50:4e:8a:8d:35:95:13:f3:a7:a8:1e:a7:d8:7b: + 45:99:a8:23:06:a5:59:da:70:ee:d3:99:a3:39:7d:06:f4:84: + 4c:42:9c:f8:02:2d:21:9b:b5:ad:44:a5:a0:f3:86:d4:0d:ea: + b0:a1:00:53:25:d0:98:96:a4:d9:34:49:6b:4e:de:5e:11:a2: + 3c:6a:76:4d:a0:d2:8c:22:67:2d:d4:8c:c0:ee:d1:fe:e9:9d: + 25:e4:11:69:8f:9d:e3:48:5e:df:de:a8:45:5b:1e:e1:7b:f1: + 4b:35:6a:a6:26:39:f9:cc:94:60:3c:51:25:b0:1c:ea:d9:d6: + 1b:79:dd:2e:b3:e1:7d:4d:f1:78:4a:fd:30:6f:3d:7f:24:fc: + 33:0e:b6:61:76:5f:4b:0f:21:aa:79:a2:ba:0f:62:76:8d:87: + 5d:bc:c2:03:fc:f1:b0:ce:31:d2:d3:4f:52:a9:bc:d2:37:ee: + 9b:ed:e5:6d:69:23:4e:13:b6:ea:4c:78:25:4b:15:d0:a6:81: + be:0a:73:3a:49:61:f9:31:81:86:f1:a6:77:7a:a9:83:ef:af: + 87:61:0e:a6:a1:e8:48:e1:ba:39:cd:b0:a9:bf:8b:7b:ae:fe: + 03:96:91:73:35:61:86:20:51:b3:41:d2:cd:d8:9e:b7:b9:8d: + 15:e4:08:68:32:b9:a3:97:f7:7e:f9:2c:06:83:dd:08:26:55: + d5:8c:c0:cc:a5:65:bf:2e:bc:7c:cd:dd:11:10:60:58:92:ea: + f7:14:4b:0f:df:32:bf:3d:71:10:5d:67:39:8a:73:3a:c1:ba: + 4a:67:b8:85:be:29:0c:0d:fd:c9:06:9f:5e:4b:58:99:4d:41: + 27:3a:cb:9c:13:11:7d:52:13:ed:90:5a:05:b2:83:b3:3f:a6: + 6c:88:7e:94:ac:61:ea:80:a3:ee:14:1b:23:a4:f6:aa:95:aa: + d6:de:ea:47:d6:97:4a:30:b1:cb:38:f2:84:b3:fd:05:48:8c: + 6d:f3:c2:47:c2:45:25:71:26:ab:db:2f:80:5d:50:e4:10:0b: + 8a:66:57:cb:8c:5c:cb:c4:f1:e9:83:92:d0:4d:84:0e:c6:ec: + c5:7e:17:a0:d0:bd:93:73 -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAR4wDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMTIwOTA5NDA0NVoXDTIzMTIwOTA5NDA0NVowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBANW04raJJpMWIeN+4heyKNgwdCtRwkQENerq9T1m0arCUHy7FqT4 -O6nZg9yFLi7FSZKNE/mibGm6FjN4Qv0uiVmYWUgVop0pv9fOuk51nrLA8bPoB493 -GWKFoKRdxeEoy4AxpfZJ7zNwVcxxMm8UQnrzR8iXHFaJ1HvFJBCU1KAq8c6WnUmt -2kPZ/1n94hmayWO8MDBZkqnZmyI6MEmLrlLb8/VCt2aR8OSL0l3mo3wJoUnFaHLn -cFHNYhQvPX1xShVDNTpEdpWtlW9dJNKYGf3mMwDGSgUkcHJS5oaaeoVYCR/sBVAR -JdrF9FRVD8fY9kb1Iw8mHb6S3l0t9CnMmFHdw2fjpbrf2/ESbPSsNuR6vB+Vbbty -4mAv2jFTpwW6tA2b5YnowTPkCGFk02irddHIBaI7Xt/EKZRP0SZB9i8guiEvUxRf -9XvcjOmeMLP0zH7HdVaPIG5KU1YYJicWebY7bMBoPQ/ARzlUV39+AcRgNzbLOGFv -LGlcFT56fNb25GEpwMHXV697Rq1FgrWyUPeRnrltRIYiX7BRYDvFDQOtJJEzQcQ9 -C3fBWhLKtdcas/gLjAquho97LylODp0+zNgeuKQv/aEKTVFNldPeLRJqubIiNPHT -vWy8N3z76N9GWtexFcaMx9LLo1QZtOyYsMv4MHHyVAYXlSry5KKkwH+dAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAGfqjwkKXBVCzxjBtjd9xyVCF2xi56FSHJMPqNcx -Ly4bN2Dfghm7LLllvk1ggqfITy3S4g6Nn7DN1JZLCC7ER2oEmt9esU9m12VPhzcZ -okQVqW2ioiqAaWs111QOwasIQ8Lfd8PPtZ6DqDorHG/fksUbLR868lpI8p76FW+8 -CWvme3TJV7bXSj4B2SmSeol+buuFpuXF47tmi2ToOm0Oouloik+itBDPRYwfSUuu -QZmJW1aovEC4l9lcyBUEk2HCYFtqLBDjQdqiDfQ1NJtZOvcNmi8Dp1bpdZvOlAeX -mscohTUn2mRjyDxy93IonR5YZRi/1DMs4scZfUDrkWuLhPTkBUTF6eo9XoYhCo7D -iaNhEJTC+kVNXV4vg3WBebvI2+StqdRL349eqIJoFSgTwT6j1yvUVR3QZ0M6Tcy3 -4ySNJ+t5Ysv63eOuIZCKD5s+YrOVXCQWB5DBpHQGz9RFkp+//gXGwo2G2/kfBdRW -/JvKZQMLJNrwlPYffW46MrvANGV09nL0sgA8dkA3ZMPsweTjkzS4WAwsf95OOHdY -jtBn5MEAFgiytdCV7SL7wTGfG4EZwnYSrcYNGzkSZf8lYOh7ZPJBqGCLQSYrG1CI -aLadu1cmyQeFyH9ul0L3Jt7nUXqn41hJIxAhDHjW0Uk69uQZLnopF0drV8D5xyjv -fwRQ +MIIFQDCCAygCAgCNMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU0NTZaFw0yNDEyMDUxMjU0NTZaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDQzJ/27Z91bg9UlK1Utory0eq3jim3hIF4Il5Ea9xxBRwnRRv0 +i2+O1iBXlZlnrOhBW0pAB2CC5SI50vP+Nj1mpzxtxJGifvpbKErWebjodhLEpowf +Q6d1bO/dpicPzkqMDqS3SOqAOUVkuU/rn5QfAsv4hJs4xvLtGdnQ4uITbywQKcmj +jijsrLVRJ5cCEr3q5pVIKqyCf/evAanoyZEmpQIQ86dvuA/oZHiUa/2jNLrYTdA3 +98Yw5GTN9FroMRxYUSXp8VBvgqdhsiYfc3aPh5HqpiO+3SOmcS7SsDJQ9NrM4bw/ +XnoZF6MNdWFJIiC2x/xJDHCQPbx16cnD7/wissc8suNkFJeT2iCN6bW+vXygmCZq +KOU8NDBljPexrK42EHiGwwNnRlwZxuP0dgt869HByZ3mwB2obgb6hHqMBzT35Wwp +z7Hl0X64uw4yfwfjTZYg8GBX0Vb2mM4KhJ1Pw6mpUJC9G9WRKrJzyVJfT+tGzn64 +4xBESlfwyPGcNG4io+vI6A51DosNdQGk1pTITLjF1UMSkHA97pDYTtzHPURzXziA +kjcwFPXl3RZohMPRJA3dSQfWDIxrirAXlHLDECu1F1wpPLhYHJ0bf+UdTvU6gffr +zLFYbbl3DJf1ch29dtQhb5TEF/ZlCmk+BRkzgwX97KQWHb8xfTBZTiThKQIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQBnmWHeox4bLgkfMx3NNGVN06HRSnJc1O9ARp8J +G2HsK9iR80lkpfGQPdVPRe0Pz5pf34qfganV5aAmigLV9x9q7tOIMrIM+19F2qWX +0rNlI3WHpq33Gxr0jrcFAUUOUE6KjTWVE/OnqB6n2HtFmagjBqVZ2nDu05mjOX0G +9IRMQpz4Ai0hm7WtRKWg84bUDeqwoQBTJdCYlqTZNElrTt5eEaI8anZNoNKMImct +1IzA7tH+6Z0l5BFpj53jSF7f3qhFWx7he/FLNWqmJjn5zJRgPFElsBzq2dYbed0u +s+F9TfF4Sv0wbz1/JPwzDrZhdl9LDyGqeaK6D2J2jYddvMID/PGwzjHS009SqbzS +N+6b7eVtaSNOE7bqTHglSxXQpoG+CnM6SWH5MYGG8aZ3eqmD76+HYQ6moehI4bo5 +zbCpv4t7rv4DlpFzNWGGIFGzQdLN2J63uY0V5AhoMrmjl/d++SwGg90IJlXVjMDM +pWW/Lrx8zd0REGBYkur3FEsP3zK/PXEQXWc5inM6wbpKZ7iFvikMDf3JBp9eS1iZ +TUEnOsucExF9UhPtkFoFsoOzP6ZsiH6UrGHqgKPuFBsjpPaqlarW3upH1pdKMLHL +OPKEs/0FSIxt88JHwkUlcSar2y+AXVDkEAuKZlfLjFzLxPHpg5LQTYQOxuzFfheg +0L2Tcw== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/archive-search-external.key b/dev-deployment/environments/certs/server/hosts/localhost/archive-search-external.key index 9830de0a1..178bd4b19 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/archive-search-external.key +++ b/dev-deployment/environments/certs/server/hosts/localhost/archive-search-external.key @@ -1,52 +1,52 @@ -----BEGIN PRIVATE KEY----- -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 -A/akOyBkHrKpWUw15u4xzD6CvEqC46A= +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 +z/k779TGM1+V24MuoSFGwNrJZanQ -----END PRIVATE KEY----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/archive-search-external.pem b/dev-deployment/environments/certs/server/hosts/localhost/archive-search-external.pem index 98fb9598f..1ffcc8a00 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/archive-search-external.pem +++ b/dev-deployment/environments/certs/server/hosts/localhost/archive-search-external.pem @@ -1,31 +1,31 @@ -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAR4wDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMTIwOTA5NDA0NVoXDTIzMTIwOTA5NDA0NVowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBANW04raJJpMWIeN+4heyKNgwdCtRwkQENerq9T1m0arCUHy7FqT4 -O6nZg9yFLi7FSZKNE/mibGm6FjN4Qv0uiVmYWUgVop0pv9fOuk51nrLA8bPoB493 -GWKFoKRdxeEoy4AxpfZJ7zNwVcxxMm8UQnrzR8iXHFaJ1HvFJBCU1KAq8c6WnUmt -2kPZ/1n94hmayWO8MDBZkqnZmyI6MEmLrlLb8/VCt2aR8OSL0l3mo3wJoUnFaHLn -cFHNYhQvPX1xShVDNTpEdpWtlW9dJNKYGf3mMwDGSgUkcHJS5oaaeoVYCR/sBVAR -JdrF9FRVD8fY9kb1Iw8mHb6S3l0t9CnMmFHdw2fjpbrf2/ESbPSsNuR6vB+Vbbty -4mAv2jFTpwW6tA2b5YnowTPkCGFk02irddHIBaI7Xt/EKZRP0SZB9i8guiEvUxRf -9XvcjOmeMLP0zH7HdVaPIG5KU1YYJicWebY7bMBoPQ/ARzlUV39+AcRgNzbLOGFv -LGlcFT56fNb25GEpwMHXV697Rq1FgrWyUPeRnrltRIYiX7BRYDvFDQOtJJEzQcQ9 -C3fBWhLKtdcas/gLjAquho97LylODp0+zNgeuKQv/aEKTVFNldPeLRJqubIiNPHT -vWy8N3z76N9GWtexFcaMx9LLo1QZtOyYsMv4MHHyVAYXlSry5KKkwH+dAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAGfqjwkKXBVCzxjBtjd9xyVCF2xi56FSHJMPqNcx -Ly4bN2Dfghm7LLllvk1ggqfITy3S4g6Nn7DN1JZLCC7ER2oEmt9esU9m12VPhzcZ -okQVqW2ioiqAaWs111QOwasIQ8Lfd8PPtZ6DqDorHG/fksUbLR868lpI8p76FW+8 -CWvme3TJV7bXSj4B2SmSeol+buuFpuXF47tmi2ToOm0Oouloik+itBDPRYwfSUuu -QZmJW1aovEC4l9lcyBUEk2HCYFtqLBDjQdqiDfQ1NJtZOvcNmi8Dp1bpdZvOlAeX -mscohTUn2mRjyDxy93IonR5YZRi/1DMs4scZfUDrkWuLhPTkBUTF6eo9XoYhCo7D -iaNhEJTC+kVNXV4vg3WBebvI2+StqdRL349eqIJoFSgTwT6j1yvUVR3QZ0M6Tcy3 -4ySNJ+t5Ysv63eOuIZCKD5s+YrOVXCQWB5DBpHQGz9RFkp+//gXGwo2G2/kfBdRW -/JvKZQMLJNrwlPYffW46MrvANGV09nL0sgA8dkA3ZMPsweTjkzS4WAwsf95OOHdY -jtBn5MEAFgiytdCV7SL7wTGfG4EZwnYSrcYNGzkSZf8lYOh7ZPJBqGCLQSYrG1CI -aLadu1cmyQeFyH9ul0L3Jt7nUXqn41hJIxAhDHjW0Uk69uQZLnopF0drV8D5xyjv -fwRQ +MIIFQDCCAygCAgCNMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU0NTZaFw0yNDEyMDUxMjU0NTZaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDQzJ/27Z91bg9UlK1Utory0eq3jim3hIF4Il5Ea9xxBRwnRRv0 +i2+O1iBXlZlnrOhBW0pAB2CC5SI50vP+Nj1mpzxtxJGifvpbKErWebjodhLEpowf +Q6d1bO/dpicPzkqMDqS3SOqAOUVkuU/rn5QfAsv4hJs4xvLtGdnQ4uITbywQKcmj +jijsrLVRJ5cCEr3q5pVIKqyCf/evAanoyZEmpQIQ86dvuA/oZHiUa/2jNLrYTdA3 +98Yw5GTN9FroMRxYUSXp8VBvgqdhsiYfc3aPh5HqpiO+3SOmcS7SsDJQ9NrM4bw/ +XnoZF6MNdWFJIiC2x/xJDHCQPbx16cnD7/wissc8suNkFJeT2iCN6bW+vXygmCZq +KOU8NDBljPexrK42EHiGwwNnRlwZxuP0dgt869HByZ3mwB2obgb6hHqMBzT35Wwp +z7Hl0X64uw4yfwfjTZYg8GBX0Vb2mM4KhJ1Pw6mpUJC9G9WRKrJzyVJfT+tGzn64 +4xBESlfwyPGcNG4io+vI6A51DosNdQGk1pTITLjF1UMSkHA97pDYTtzHPURzXziA +kjcwFPXl3RZohMPRJA3dSQfWDIxrirAXlHLDECu1F1wpPLhYHJ0bf+UdTvU6gffr +zLFYbbl3DJf1ch29dtQhb5TEF/ZlCmk+BRkzgwX97KQWHb8xfTBZTiThKQIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQBnmWHeox4bLgkfMx3NNGVN06HRSnJc1O9ARp8J +G2HsK9iR80lkpfGQPdVPRe0Pz5pf34qfganV5aAmigLV9x9q7tOIMrIM+19F2qWX +0rNlI3WHpq33Gxr0jrcFAUUOUE6KjTWVE/OnqB6n2HtFmagjBqVZ2nDu05mjOX0G +9IRMQpz4Ai0hm7WtRKWg84bUDeqwoQBTJdCYlqTZNElrTt5eEaI8anZNoNKMImct +1IzA7tH+6Z0l5BFpj53jSF7f3qhFWx7he/FLNWqmJjn5zJRgPFElsBzq2dYbed0u +s+F9TfF4Sv0wbz1/JPwzDrZhdl9LDyGqeaK6D2J2jYddvMID/PGwzjHS009SqbzS +N+6b7eVtaSNOE7bqTHglSxXQpoG+CnM6SWH5MYGG8aZ3eqmD76+HYQ6moehI4bo5 +zbCpv4t7rv4DlpFzNWGGIFGzQdLN2J63uY0V5AhoMrmjl/d++SwGg90IJlXVjMDM +pWW/Lrx8zd0REGBYkur3FEsP3zK/PXEQXWc5inM6wbpKZ7iFvikMDf3JBp9eS1iZ +TUEnOsucExF9UhPtkFoFsoOzP6ZsiH6UrGHqgKPuFBsjpPaqlarW3upH1pdKMLHL +OPKEs/0FSIxt88JHwkUlcSar2y+AXVDkEAuKZlfLjFzLxPHpg5LQTYQOxuzFfheg +0L2Tcw== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/archive-search-internal.crt b/dev-deployment/environments/certs/server/hosts/localhost/archive-search-internal.crt index 16247b7d8..a171dde8d 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/archive-search-internal.crt +++ b/dev-deployment/environments/certs/server/hosts/localhost/archive-search-internal.crt @@ -1,111 +1,111 @@ Certificate: Data: Version: 1 (0x0) - Serial Number: 29 (0x1d) - Signature Algorithm: sha256WithRSAEncryption + Serial Number: 136 (0x88) + Signature Algorithm: sha256WithRSAEncryption Issuer: C=fr, ST=idf, L=paris, O=vitamui, OU=authorities, CN=ca_intermediate_server Validity - Not Before: Dec 9 09:40:32 2020 GMT - Not After : Dec 9 09:40:32 2023 GMT + Not Before: Dec 6 12:54:28 2021 GMT + Not After : Dec 5 12:54:28 2024 GMT Subject: C=fr, ST=idf, L=paris, O=vitamui, CN=dev.vitamui.com Subject Public Key Info: Public Key Algorithm: rsaEncryption - RSA Public-Key: (4096 bit) + Public-Key: (4096 bit) Modulus: - 00:ba:04:d1:66:78:a4:73:14:74:29:e4:db:3c:03: - bb:a1:68:0c:b5:e8:10:a9:ca:82:57:e7:3b:a9:13: - da:d6:ae:75:f4:54:97:5f:ad:02:2e:03:0e:06:36: - 71:34:47:fb:ec:15:40:4b:75:03:2c:bc:e4:8e:78: - b7:64:d0:91:81:a2:18:4a:6f:0a:81:7c:d1:3d:f8: - a9:94:eb:69:63:61:d3:0f:83:40:45:f6:c6:2b:0b: - de:c3:54:7e:87:fc:08:ac:6d:49:0c:21:18:63:9d: - cd:ec:09:c0:5b:bb:1e:7a:c2:62:24:b0:eb:6f:c9: - c2:21:1f:cf:ba:f7:79:1e:82:54:1a:de:08:10:e1: - 76:df:7f:2e:05:9f:31:1d:7c:ea:b0:28:cb:70:c8: - 96:0c:cb:4f:ff:17:0a:9e:ba:74:09:ba:1b:22:35: - 35:8e:88:4c:b9:3c:61:54:e5:5e:72:c3:ba:63:ae: - 65:2c:db:7d:f4:ca:f8:16:3b:ad:23:d9:c4:99:de: - e3:2a:d7:f3:46:41:9e:1d:6d:ca:f3:d2:98:e7:1a: - 1f:78:bd:2c:06:c5:07:5d:c1:b8:29:6b:49:41:eb: - 87:cc:73:63:5d:4a:e6:02:42:d9:14:f0:6f:63:ab: - e9:ef:ba:67:c9:15:75:eb:69:cd:be:78:74:be:47: - ff:f2:57:3f:0a:e5:40:06:98:22:aa:62:d7:bc:a0: - b1:8b:1c:77:96:59:9d:7c:0b:4e:d1:99:1e:55:d5: - dc:a4:3c:02:63:87:09:7a:ce:34:78:5b:1e:8d:f3: - cb:9f:64:26:8a:42:ff:bf:08:8a:56:50:0f:2c:9e: - d0:54:23:68:3a:46:14:b5:b0:84:53:f2:4c:66:7a: - 7d:11:76:f2:bb:d8:68:34:93:2a:03:02:96:56:81: - 2b:32:cb:81:b1:c4:08:bb:65:c5:86:b8:56:b7:98: - ee:43:4e:a9:e3:fb:14:3f:91:82:f2:26:61:68:22: - 93:68:5c:bd:ef:dd:66:70:3b:f2:98:ab:21:ed:6b: - 06:3f:40:44:84:fc:cb:eb:8d:0f:79:ec:0b:5e:d1: - 58:56:eb:22:25:e1:a7:37:02:ba:d2:38:05:f4:8c: - 1b:8d:56:0c:9c:f2:c2:f9:85:a5:87:d7:c0:8b:54: - 00:55:aa:4a:26:55:66:78:c1:e3:42:78:a4:34:61: - d4:e6:37:20:ba:cc:32:72:75:9f:67:39:c6:6d:19: - 6d:1d:70:ef:6d:41:9d:c1:06:2c:29:f3:7a:11:9a: - 1c:80:38:c2:97:a8:39:1a:0f:f1:40:77:b2:fd:93: - 15:82:33:c2:ca:93:38:3c:b9:5b:03:33:60:f4:eb: - 1f:d1:d5 + 00:aa:6f:2e:5f:22:65:ae:4b:c0:d3:4b:b2:43:08: + 29:57:80:d6:38:ee:b9:0a:63:04:be:8a:98:99:09: + 75:cb:25:d4:47:61:45:4d:34:a2:52:13:b8:a3:89: + d9:a3:4d:df:c7:fc:73:3e:10:49:c6:4e:01:28:77: + f8:b7:6d:88:83:85:da:53:c8:bd:21:c2:9d:5e:7a: + b4:b0:64:bc:d5:fb:ea:87:c9:25:a8:4a:40:3e:88: + 3f:e7:63:7a:a4:ee:ea:46:bb:e7:f7:77:cc:23:8e: + c6:67:76:a6:ba:72:74:5d:12:a1:b4:8d:63:be:b2: + 9b:c2:c1:ce:f2:13:de:33:ea:5c:62:1c:6d:b0:d4: + 46:e8:7d:b2:f3:a1:c0:13:3f:2e:ff:b7:9e:17:00: + 0f:37:51:16:57:51:bc:af:2f:20:12:a9:d7:b0:b4: + da:be:82:ef:af:d4:cd:9d:52:c6:41:6b:3b:70:c2: + d7:c2:10:28:96:4d:4b:39:1f:66:da:d0:e7:31:14: + 9f:db:2d:f1:7a:f2:df:ee:96:1b:2c:23:da:79:53: + 25:50:a5:11:86:6c:5b:99:e2:e2:8f:ee:be:4c:ae: + 82:ed:12:65:9b:7a:f7:29:91:6b:fc:be:d2:06:fb: + 34:2c:01:d2:b0:96:cf:6b:4f:1a:b4:5d:e5:dd:ba: + 6f:26:32:9a:89:f9:e6:4d:ce:ba:3a:8b:53:60:9a: + 05:79:90:55:58:8c:ca:e8:35:60:f4:20:20:46:3e: + 3a:47:48:c9:15:77:6c:cf:03:a3:b8:18:89:4d:17: + 99:7e:95:66:e9:69:7a:bd:d1:f5:3f:b6:ae:3a:4e: + f2:a2:72:2e:c8:66:f5:bb:5b:92:7b:cb:21:de:19: + c8:db:fe:ab:88:8c:50:be:19:20:9e:e1:24:cc:03: + 49:de:3a:b0:2a:31:bd:07:cf:84:4b:1a:4b:a1:71: + ec:78:fa:47:31:28:46:68:ee:5e:6b:cf:23:5e:99: + 7f:59:f8:70:52:16:5f:ce:03:ca:83:6d:fb:bd:d1: + 6e:d3:b6:0a:b3:60:13:ea:67:76:7e:a8:f2:39:e2: + 5b:a8:ad:63:bb:0c:8e:7c:c1:d7:a8:d2:7f:ce:7e: + 76:2c:5e:a3:0c:6b:d7:56:06:e3:54:e9:1e:cb:6e: + 26:4c:c4:09:08:40:f5:23:9d:56:0f:ee:a8:5f:67: + 2b:2f:66:21:7b:fc:47:19:6e:6a:9f:ae:bf:12:12: + 96:53:e7:4a:bf:ef:58:8a:c4:ba:25:d6:6d:6f:53: + f8:77:e9:ce:ad:1b:d5:34:24:37:35:7b:0d:15:04: + 10:15:9c:d4:0b:40:98:98:c0:d8:78:e8:8b:f2:93: + 4e:8d:c7 Exponent: 65537 (0x10001) Signature Algorithm: sha256WithRSAEncryption - 51:11:9a:49:e9:cd:cc:63:b3:39:c2:4f:0a:20:b7:25:c7:ed: - b6:f3:15:bb:fc:e7:58:e2:9d:b9:69:00:fe:36:f0:ac:a7:c2: - cb:fd:24:33:4c:9a:82:dd:98:fc:1a:59:e6:9d:c7:6c:e7:6b: - 76:20:9b:cf:f9:e7:23:88:a1:3a:8b:27:bc:13:0d:29:c1:18: - ae:79:f2:55:d4:64:0a:71:ca:cf:62:30:83:79:cf:cc:36:65: - ad:da:53:26:62:34:7d:dd:57:01:19:c1:ef:0a:c2:21:8e:ab: - 71:6c:1e:60:12:0a:6f:b5:d6:95:4b:8a:5c:2e:ab:19:62:25: - 33:64:a5:03:f2:27:49:91:8b:2c:de:7d:d4:ba:f7:bc:88:58: - 9e:08:27:2b:6c:e9:46:0c:47:28:49:1f:66:f6:84:ad:d1:24: - 26:41:87:10:22:5a:05:e8:7d:e6:84:31:e9:36:55:26:0c:1d: - 6f:dd:12:8a:f9:6a:6f:82:24:e7:b0:dd:6d:97:aa:1c:e1:67: - 23:9c:9f:24:09:8e:29:1f:56:3f:a4:69:64:a5:84:10:cd:9e: - 6b:00:e9:04:71:72:72:08:46:9a:fa:e2:9a:cc:bb:9c:b3:68: - 4d:a0:6f:95:91:74:3c:85:4a:61:ac:fa:cd:de:f7:f5:a3:34: - d3:32:97:23:19:c1:ba:3d:a6:d5:26:46:91:7f:11:ae:30:9a: - 7a:4d:4a:21:4a:14:8e:16:51:4c:7b:dd:42:58:06:32:db:5d: - b4:e1:d7:98:ac:d1:7b:10:2e:36:0f:2f:91:c6:2b:67:d9:c5: - e3:1b:3b:99:f1:d1:f4:43:a4:96:27:57:b9:6f:87:d1:96:27: - be:6f:5e:12:0f:b6:dd:fe:89:c6:25:9f:15:0c:97:f8:54:af: - 9f:4f:9e:d3:c0:c4:f1:e9:20:61:d0:4e:54:f7:14:77:46:56: - 23:db:61:aa:e9:26:3a:a0:0b:06:f8:51:e2:65:ed:81:78:ef: - 93:4c:44:09:5f:e8:12:a5:47:46:05:07:4b:6d:cf:88:69:3c: - 0d:a2:27:95:50:fd:58:f9:58:e0:37:f3:71:33:ff:98:6b:23: - ee:49:3e:75:02:08:6a:91:5b:e8:50:22:48:e3:d4:36:50:f4: - 1d:fa:54:ee:b7:d3:9d:95:9d:c2:d2:09:28:08:b3:0b:8a:25: - 52:0f:41:d3:4e:f1:08:21:ef:3b:27:e5:98:07:12:e0:6d:47: - e0:23:1a:6e:2c:85:eb:a4:be:bc:1d:15:ca:14:86:0f:e0:e2: - 23:04:07:81:fc:b8:54:9d:07:2d:c1:e5:41:ef:1a:f0:f4:f8: - 18:ed:dc:05:08:d3:8b:18 + 3b:aa:66:c1:f8:15:1d:3c:e2:58:8b:be:50:a5:68:47:a6:20: + 95:90:3a:c9:de:2a:7b:38:54:62:91:7d:05:c3:25:e2:71:f3: + 38:0b:61:44:23:d1:e8:ca:98:8d:7f:df:45:f9:2e:91:56:ce: + a0:df:7f:25:d0:a0:51:90:87:33:94:8c:35:c5:d9:66:cf:eb: + 5c:fd:3b:1a:35:26:c8:f9:b2:23:6c:06:f4:9e:27:54:69:85: + 23:5d:79:74:98:47:91:33:f6:62:a5:44:de:ab:a3:d9:30:f3: + 19:a4:c6:c6:bd:10:3b:c1:8e:13:d4:be:c7:77:40:4d:00:37: + 39:e6:f3:c2:b1:58:ea:25:52:ba:c4:03:cf:7f:e5:e1:8e:d2: + df:5c:03:ba:fc:12:72:72:56:91:e5:3e:a4:6c:45:b7:cd:0b: + 9f:a2:fc:46:8c:e1:99:d3:85:9c:ef:91:b8:dd:7c:4a:31:f6: + 25:db:c2:cf:a5:a8:af:7e:12:c2:54:cd:29:d4:1a:21:67:9d: + 15:81:6f:62:e9:bf:32:72:1c:7f:a1:1e:67:ed:02:f8:40:f9: + 6c:a3:3c:1f:13:94:80:eb:af:58:d2:4b:1e:19:b8:7b:ea:ca: + 10:d5:83:05:2b:af:8a:b3:20:56:09:c3:46:bd:92:ee:a0:84: + 62:21:2b:24:06:63:83:03:b6:62:7d:1d:2d:78:40:13:45:d9: + 92:05:8d:23:b8:b8:55:f6:7a:7e:84:55:c6:67:e6:fe:fe:46: + 13:bf:22:97:ea:5a:66:0b:96:a3:24:3c:51:1a:b9:92:be:14: + ff:e5:16:1f:60:8c:8d:a4:c6:c1:bb:6d:fc:dc:4e:67:d6:f8: + fc:9c:a9:46:67:40:9c:82:f8:06:b9:70:e7:f0:b6:b3:0f:92: + fa:dd:2d:2c:af:2e:bb:db:a5:68:81:5b:57:96:aa:4f:66:ea: + e0:51:30:47:55:81:92:d4:76:d4:60:52:a6:9a:5f:14:b9:69: + 52:ca:9d:6c:6e:16:57:4b:58:c2:b3:59:ae:b4:1f:cf:e9:94: + b7:a8:cf:14:d6:c9:9f:82:81:6a:c3:9e:1a:99:60:57:0c:72: + 16:f0:d1:37:7b:51:e8:a4:cd:df:b2:4d:e6:3c:fb:20:2c:88: + 52:6e:7e:1f:af:24:39:c1:22:96:ae:ee:98:21:30:8c:2a:aa: + 12:38:66:81:70:e4:ca:ef:e7:04:01:c0:3e:ec:90:6e:94:de: + df:e6:b0:0d:b5:3e:56:90:a8:c5:f7:cd:d5:69:26:80:c1:5c: + e4:a9:b6:7a:43:53:2c:c4:df:5d:50:17:db:82:76:55:d1:bc: + 75:a3:33:e7:9b:88:b3:77 -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAR0wDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMTIwOTA5NDAzMloXDTIzMTIwOTA5NDAzMlowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBALoE0WZ4pHMUdCnk2zwDu6FoDLXoEKnKglfnO6kT2taudfRUl1+t -Ai4DDgY2cTRH++wVQEt1Ayy85I54t2TQkYGiGEpvCoF80T34qZTraWNh0w+DQEX2 -xisL3sNUfof8CKxtSQwhGGOdzewJwFu7HnrCYiSw62/JwiEfz7r3eR6CVBreCBDh -dt9/LgWfMR186rAoy3DIlgzLT/8XCp66dAm6GyI1NY6ITLk8YVTlXnLDumOuZSzb -ffTK+BY7rSPZxJne4yrX80ZBnh1tyvPSmOcaH3i9LAbFB13BuClrSUHrh8xzY11K -5gJC2RTwb2Or6e+6Z8kVdetpzb54dL5H//JXPwrlQAaYIqpi17ygsYscd5ZZnXwL -TtGZHlXV3KQ8AmOHCXrONHhbHo3zy59kJopC/78IilZQDyye0FQjaDpGFLWwhFPy -TGZ6fRF28rvYaDSTKgMCllaBKzLLgbHECLtlxYa4VreY7kNOqeP7FD+RgvImYWgi -k2hcve/dZnA78pirIe1rBj9ARIT8y+uND3nsC17RWFbrIiXhpzcCutI4BfSMG41W -DJzywvmFpYfXwItUAFWqSiZVZnjB40J4pDRh1OY3ILrMMnJ1n2c5xm0ZbR1w721B -ncEGLCnzehGaHIA4wpeoORoP8UB3sv2TFYIzwsqTODy5WwMzYPTrH9HVAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAFERmknpzcxjsznCTwogtyXH7bbzFbv851jinblp -AP428Kynwsv9JDNMmoLdmPwaWeadx2zna3Ygm8/55yOIoTqLJ7wTDSnBGK558lXU -ZApxys9iMIN5z8w2Za3aUyZiNH3dVwEZwe8KwiGOq3FsHmASCm+11pVLilwuqxli -JTNkpQPyJ0mRiyzefdS697yIWJ4IJyts6UYMRyhJH2b2hK3RJCZBhxAiWgXofeaE -Mek2VSYMHW/dEor5am+CJOew3W2XqhzhZyOcnyQJjikfVj+kaWSlhBDNnmsA6QRx -cnIIRpr64prMu5yzaE2gb5WRdDyFSmGs+s3e9/WjNNMylyMZwbo9ptUmRpF/Ea4w -mnpNSiFKFI4WUUx73UJYBjLbXbTh15is0XsQLjYPL5HGK2fZxeMbO5nx0fRDpJYn -V7lvh9GWJ75vXhIPtt3+icYlnxUMl/hUr59PntPAxPHpIGHQTlT3FHdGViPbYarp -JjqgCwb4UeJl7YF475NMRAlf6BKlR0YFB0ttz4hpPA2iJ5VQ/Vj5WOA383Ez/5hr -I+5JPnUCCGqRW+hQIkjj1DZQ9B36VO63052VncLSCSgIswuKJVIPQdNO8Qgh7zsn -5ZgHEuBtR+AjGm4sheukvrwdFcoUhg/g4iMEB4H8uFSdBy3B5UHvGvD0+Bjt3AUI -04sY +MIIFQDCCAygCAgCIMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU0MjhaFw0yNDEyMDUxMjU0MjhaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQCqby5fImWuS8DTS7JDCClXgNY47rkKYwS+ipiZCXXLJdRHYUVN +NKJSE7ijidmjTd/H/HM+EEnGTgEod/i3bYiDhdpTyL0hwp1eerSwZLzV++qHySWo +SkA+iD/nY3qk7upGu+f3d8wjjsZndqa6cnRdEqG0jWO+spvCwc7yE94z6lxiHG2w +1EbofbLzocATPy7/t54XAA83URZXUbyvLyASqdewtNq+gu+v1M2dUsZBaztwwtfC +ECiWTUs5H2ba0OcxFJ/bLfF68t/ulhssI9p5UyVQpRGGbFuZ4uKP7r5MroLtEmWb +evcpkWv8vtIG+zQsAdKwls9rTxq0XeXdum8mMpqJ+eZNzro6i1NgmgV5kFVYjMro +NWD0ICBGPjpHSMkVd2zPA6O4GIlNF5l+lWbpaXq90fU/tq46TvKici7IZvW7W5J7 +yyHeGcjb/quIjFC+GSCe4STMA0neOrAqMb0Hz4RLGkuhcex4+kcxKEZo7l5rzyNe +mX9Z+HBSFl/OA8qDbfu90W7TtgqzYBPqZ3Z+qPI54luorWO7DI58wdeo0n/OfnYs +XqMMa9dWBuNU6R7LbiZMxAkIQPUjnVYP7qhfZysvZiF7/EcZbmqfrr8SEpZT50q/ +71iKxLol1m1vU/h36c6tG9U0JDc1ew0VBBAVnNQLQJiYwNh46Ivyk06NxwIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQA7qmbB+BUdPOJYi75QpWhHpiCVkDrJ3ip7OFRi +kX0FwyXicfM4C2FEI9HoypiNf99F+S6RVs6g338l0KBRkIczlIw1xdlmz+tc/Tsa +NSbI+bIjbAb0nidUaYUjXXl0mEeRM/ZipUTeq6PZMPMZpMbGvRA7wY4T1L7Hd0BN +ADc55vPCsVjqJVK6xAPPf+XhjtLfXAO6/BJyclaR5T6kbEW3zQufovxGjOGZ04Wc +75G43XxKMfYl28LPpaivfhLCVM0p1BohZ50VgW9i6b8ychx/oR5n7QL4QPlsozwf +E5SA669Y0kseGbh76soQ1YMFK6+KsyBWCcNGvZLuoIRiISskBmODA7ZifR0teEAT +RdmSBY0juLhV9np+hFXGZ+b+/kYTvyKX6lpmC5ajJDxRGrmSvhT/5RYfYIyNpMbB +u2383E5n1vj8nKlGZ0CcgvgGuXDn8LazD5L63S0sry6726VogVtXlqpPZurgUTBH +VYGS1HbUYFKmml8UuWlSyp1sbhZXS1jCs1mutB/P6ZS3qM8U1smfgoFqw54amWBX +DHIW8NE3e1HopM3fsk3mPPsgLIhSbn4fryQ5wSKWru6YITCMKqoSOGaBcOTK7+cE +AcA+7JBulN7f5rANtT5WkKjF983VaSaAwVzkqbZ6Q1MsxN9dUBfbgnZV0bx1ozPn +m4izdw== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/archive-search-internal.key b/dev-deployment/environments/certs/server/hosts/localhost/archive-search-internal.key index 73e2a0537..35815f28d 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/archive-search-internal.key +++ b/dev-deployment/environments/certs/server/hosts/localhost/archive-search-internal.key @@ -1,52 +1,52 @@ -----BEGIN PRIVATE KEY----- -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 -p9yvln0+arV1ZciyzfxnMKAH6SDzWA== +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 +RY88RZ48j1FTu4yUOfeKQ9/zwy8iJMg= -----END PRIVATE KEY----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/archive-search-internal.pem b/dev-deployment/environments/certs/server/hosts/localhost/archive-search-internal.pem index c12dcc06f..772ae6f31 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/archive-search-internal.pem +++ b/dev-deployment/environments/certs/server/hosts/localhost/archive-search-internal.pem @@ -1,31 +1,31 @@ -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAR0wDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMTIwOTA5NDAzMloXDTIzMTIwOTA5NDAzMlowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBALoE0WZ4pHMUdCnk2zwDu6FoDLXoEKnKglfnO6kT2taudfRUl1+t -Ai4DDgY2cTRH++wVQEt1Ayy85I54t2TQkYGiGEpvCoF80T34qZTraWNh0w+DQEX2 -xisL3sNUfof8CKxtSQwhGGOdzewJwFu7HnrCYiSw62/JwiEfz7r3eR6CVBreCBDh -dt9/LgWfMR186rAoy3DIlgzLT/8XCp66dAm6GyI1NY6ITLk8YVTlXnLDumOuZSzb -ffTK+BY7rSPZxJne4yrX80ZBnh1tyvPSmOcaH3i9LAbFB13BuClrSUHrh8xzY11K -5gJC2RTwb2Or6e+6Z8kVdetpzb54dL5H//JXPwrlQAaYIqpi17ygsYscd5ZZnXwL -TtGZHlXV3KQ8AmOHCXrONHhbHo3zy59kJopC/78IilZQDyye0FQjaDpGFLWwhFPy -TGZ6fRF28rvYaDSTKgMCllaBKzLLgbHECLtlxYa4VreY7kNOqeP7FD+RgvImYWgi -k2hcve/dZnA78pirIe1rBj9ARIT8y+uND3nsC17RWFbrIiXhpzcCutI4BfSMG41W -DJzywvmFpYfXwItUAFWqSiZVZnjB40J4pDRh1OY3ILrMMnJ1n2c5xm0ZbR1w721B -ncEGLCnzehGaHIA4wpeoORoP8UB3sv2TFYIzwsqTODy5WwMzYPTrH9HVAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAFERmknpzcxjsznCTwogtyXH7bbzFbv851jinblp -AP428Kynwsv9JDNMmoLdmPwaWeadx2zna3Ygm8/55yOIoTqLJ7wTDSnBGK558lXU -ZApxys9iMIN5z8w2Za3aUyZiNH3dVwEZwe8KwiGOq3FsHmASCm+11pVLilwuqxli -JTNkpQPyJ0mRiyzefdS697yIWJ4IJyts6UYMRyhJH2b2hK3RJCZBhxAiWgXofeaE -Mek2VSYMHW/dEor5am+CJOew3W2XqhzhZyOcnyQJjikfVj+kaWSlhBDNnmsA6QRx -cnIIRpr64prMu5yzaE2gb5WRdDyFSmGs+s3e9/WjNNMylyMZwbo9ptUmRpF/Ea4w -mnpNSiFKFI4WUUx73UJYBjLbXbTh15is0XsQLjYPL5HGK2fZxeMbO5nx0fRDpJYn -V7lvh9GWJ75vXhIPtt3+icYlnxUMl/hUr59PntPAxPHpIGHQTlT3FHdGViPbYarp -JjqgCwb4UeJl7YF475NMRAlf6BKlR0YFB0ttz4hpPA2iJ5VQ/Vj5WOA383Ez/5hr -I+5JPnUCCGqRW+hQIkjj1DZQ9B36VO63052VncLSCSgIswuKJVIPQdNO8Qgh7zsn -5ZgHEuBtR+AjGm4sheukvrwdFcoUhg/g4iMEB4H8uFSdBy3B5UHvGvD0+Bjt3AUI -04sY +MIIFQDCCAygCAgCIMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU0MjhaFw0yNDEyMDUxMjU0MjhaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQCqby5fImWuS8DTS7JDCClXgNY47rkKYwS+ipiZCXXLJdRHYUVN +NKJSE7ijidmjTd/H/HM+EEnGTgEod/i3bYiDhdpTyL0hwp1eerSwZLzV++qHySWo +SkA+iD/nY3qk7upGu+f3d8wjjsZndqa6cnRdEqG0jWO+spvCwc7yE94z6lxiHG2w +1EbofbLzocATPy7/t54XAA83URZXUbyvLyASqdewtNq+gu+v1M2dUsZBaztwwtfC +ECiWTUs5H2ba0OcxFJ/bLfF68t/ulhssI9p5UyVQpRGGbFuZ4uKP7r5MroLtEmWb +evcpkWv8vtIG+zQsAdKwls9rTxq0XeXdum8mMpqJ+eZNzro6i1NgmgV5kFVYjMro +NWD0ICBGPjpHSMkVd2zPA6O4GIlNF5l+lWbpaXq90fU/tq46TvKici7IZvW7W5J7 +yyHeGcjb/quIjFC+GSCe4STMA0neOrAqMb0Hz4RLGkuhcex4+kcxKEZo7l5rzyNe +mX9Z+HBSFl/OA8qDbfu90W7TtgqzYBPqZ3Z+qPI54luorWO7DI58wdeo0n/OfnYs +XqMMa9dWBuNU6R7LbiZMxAkIQPUjnVYP7qhfZysvZiF7/EcZbmqfrr8SEpZT50q/ +71iKxLol1m1vU/h36c6tG9U0JDc1ew0VBBAVnNQLQJiYwNh46Ivyk06NxwIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQA7qmbB+BUdPOJYi75QpWhHpiCVkDrJ3ip7OFRi +kX0FwyXicfM4C2FEI9HoypiNf99F+S6RVs6g338l0KBRkIczlIw1xdlmz+tc/Tsa +NSbI+bIjbAb0nidUaYUjXXl0mEeRM/ZipUTeq6PZMPMZpMbGvRA7wY4T1L7Hd0BN +ADc55vPCsVjqJVK6xAPPf+XhjtLfXAO6/BJyclaR5T6kbEW3zQufovxGjOGZ04Wc +75G43XxKMfYl28LPpaivfhLCVM0p1BohZ50VgW9i6b8ychx/oR5n7QL4QPlsozwf +E5SA669Y0kseGbh76soQ1YMFK6+KsyBWCcNGvZLuoIRiISskBmODA7ZifR0teEAT +RdmSBY0juLhV9np+hFXGZ+b+/kYTvyKX6lpmC5ajJDxRGrmSvhT/5RYfYIyNpMbB +u2383E5n1vj8nKlGZ0CcgvgGuXDn8LazD5L63S0sry6726VogVtXlqpPZurgUTBH +VYGS1HbUYFKmml8UuWlSyp1sbhZXS1jCs1mutB/P6ZS3qM8U1smfgoFqw54amWBX +DHIW8NE3e1HopM3fsk3mPPsgLIhSbn4fryQ5wSKWru6YITCMKqoSOGaBcOTK7+cE +AcA+7JBulN7f5rANtT5WkKjF983VaSaAwVzkqbZ6Q1MsxN9dUBfbgnZV0bx1ozPn +m4izdw== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/cas-server.crt b/dev-deployment/environments/certs/server/hosts/localhost/cas-server.crt index 18305bc2e..580bbd3b5 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/cas-server.crt +++ b/dev-deployment/environments/certs/server/hosts/localhost/cas-server.crt @@ -1,111 +1,111 @@ Certificate: Data: Version: 1 (0x0) - Serial Number: 6 (0x6) - Signature Algorithm: sha256WithRSAEncryption + Serial Number: 138 (0x8a) + Signature Algorithm: sha256WithRSAEncryption Issuer: C=fr, ST=idf, L=paris, O=vitamui, OU=authorities, CN=ca_intermediate_server Validity - Not Before: May 5 12:34:55 2020 GMT - Not After : May 5 12:34:55 2023 GMT + Not Before: Dec 6 12:54:36 2021 GMT + Not After : Dec 5 12:54:36 2024 GMT Subject: C=fr, ST=idf, L=paris, O=vitamui, CN=dev.vitamui.com Subject Public Key Info: Public Key Algorithm: rsaEncryption - RSA Public-Key: (4096 bit) + Public-Key: (4096 bit) Modulus: - 00:c9:df:af:71:28:12:27:c0:09:96:c3:5e:50:96: - a6:f0:50:0b:df:5c:11:14:d8:f9:07:4f:5a:75:81: - b2:af:03:f4:58:e5:fc:2d:70:c5:b8:c9:a1:11:01: - b6:ae:b9:51:14:b8:1a:1f:17:11:eb:71:d8:b8:ad: - 59:d6:c6:22:8c:f4:35:7e:1a:ab:d8:54:45:a2:c0: - 40:93:4b:f2:f9:c8:b7:fb:ed:78:d1:c0:66:12:32: - 13:4d:ad:ea:5b:32:69:cc:e3:a6:72:45:34:05:4b: - c8:a2:b1:15:64:22:a4:87:91:71:55:09:c7:e3:20: - 6e:66:c1:3c:91:6e:2f:d0:31:87:42:68:fd:eb:49: - 28:5f:dc:89:4e:65:79:0b:76:82:8d:35:49:46:a1: - 69:38:e5:5f:bf:2c:40:ec:06:48:94:81:f8:e5:6c: - 37:f1:35:37:37:b6:5a:e1:8a:31:11:23:c6:e0:3c: - 85:47:86:91:80:24:84:2b:7c:b9:57:7d:ed:b9:c1: - b8:9c:82:3d:65:b2:5c:6f:3d:a4:75:47:51:cf:24: - c4:53:d7:68:f0:07:c6:b7:09:5b:69:5e:e3:c6:49: - 9d:d8:0a:9b:8b:f5:91:aa:82:bb:cf:0f:8b:77:20: - c3:b0:10:20:39:b0:d8:64:28:54:e6:68:57:b1:32: - 75:49:94:90:91:75:7a:4b:90:19:4a:3d:fc:fb:19: - c1:9c:c6:87:9f:53:95:8b:0b:5a:95:6e:fa:03:f8: - a3:92:0d:d7:a1:39:fa:6f:92:91:f6:58:98:32:d7: - 6c:26:5d:4f:da:67:1b:36:5c:7a:0a:4e:64:dc:d5: - 7b:99:d7:87:24:cd:f0:f2:06:14:1f:1d:f0:ea:aa: - 18:86:4a:e9:d4:67:2e:59:d0:e4:93:f0:b3:ec:90: - a7:94:78:79:ae:00:e2:7c:7e:af:53:7b:50:2e:94: - 3a:29:5d:4d:81:9d:69:0c:91:34:17:49:92:a7:03: - 69:e1:88:25:c0:28:43:01:56:a9:b0:d8:c7:d0:32: - 52:d4:f1:78:a7:5c:f4:57:f5:ad:e6:0e:72:e9:79: - ff:5a:25:0a:eb:e4:0f:ea:ac:84:7f:fa:78:f6:00: - 31:39:74:4c:31:98:e1:56:29:30:ff:bc:83:24:90: - e9:a9:7f:0a:f2:f5:48:26:50:27:26:68:87:08:00: - 7b:49:bf:7b:e4:cc:a8:e7:4d:72:ea:87:e8:47:3d: - 3c:45:9e:0d:01:e6:61:77:c9:83:ce:08:03:51:c8: - a6:d5:88:2b:c5:30:56:5b:8a:9e:5f:4c:b1:2a:6d: - 19:aa:ca:56:f9:f1:c4:c5:ca:df:3b:db:1d:1f:d4: - d8:b3:7f + 00:fb:87:58:e7:53:f3:78:7c:44:d3:16:7f:44:65: + 02:41:54:4d:d9:1f:14:9d:ca:98:35:67:da:01:dd: + 0a:22:89:61:c2:38:8c:e1:51:13:e1:d5:ae:58:f6: + 91:d5:16:44:dd:fd:79:4c:02:6a:5d:a9:2f:78:75: + 59:f0:67:cd:55:6f:69:99:a7:6f:81:d9:91:9f:e8: + 1a:45:9a:62:98:83:4a:19:33:70:e5:a0:d2:0a:12: + 15:2c:56:5e:87:1c:e4:ea:a9:e3:44:37:bb:39:a6: + dd:ed:54:ee:af:07:f2:2b:61:71:19:63:da:cd:9a: + 60:33:91:2c:44:25:f5:7f:56:75:36:34:40:37:82: + f6:42:7c:04:76:5d:ff:e1:4b:63:7f:f0:18:d0:56: + 59:0c:b6:c8:cd:51:68:ec:db:85:6b:df:cc:42:de: + 96:e2:00:f8:4a:36:ea:d6:21:18:f0:1e:ca:f7:b2: + fe:b1:a9:3f:53:41:5e:3a:42:21:ec:34:a8:18:3c: + b1:a2:b1:49:af:40:ab:29:73:42:b9:54:96:f5:0a: + d2:a6:5c:1c:79:70:e5:d1:67:27:bd:f9:8f:fe:e1: + 99:88:3a:a3:f1:90:e2:36:fa:6e:fb:59:23:41:88: + e2:47:a1:2b:c5:56:b1:5b:f2:76:bb:33:bc:13:cf: + 92:90:78:ae:6f:5d:2a:8a:49:71:4a:0c:1f:a2:a6: + a6:63:7e:88:b5:31:b9:ba:b7:d8:e5:d8:31:c2:5b: + c6:3f:03:80:b8:71:0c:d7:20:a9:77:eb:28:27:c6: + 12:1d:b0:90:90:8a:96:3f:38:0d:e7:22:49:63:da: + 5e:48:dc:9a:7e:33:44:83:54:15:f3:4d:b1:31:2f: + 4e:93:89:35:60:0b:a6:55:3a:c9:c6:51:30:00:96: + 94:d2:9b:f5:12:75:78:03:56:e7:d8:2c:55:58:61: + e7:dc:2f:8d:fd:b5:5d:01:b6:84:4e:6a:90:b7:92: + e6:52:92:71:d4:b5:e5:7e:8c:ff:4e:15:d8:d6:8f: + 77:96:97:0e:c1:4c:6c:41:27:2c:48:16:12:41:f1: + 41:31:a5:c4:25:14:96:22:11:64:50:d2:4a:ba:fd: + 3f:5c:c8:e3:25:c6:e6:ab:9d:99:c1:48:0a:63:45: + 90:79:f5:dd:aa:0f:0e:f4:d5:2f:6a:77:aa:a5:5f: + cb:46:59:e5:a0:6f:ce:3f:bc:a1:98:94:96:79:18: + 2d:20:8b:d7:44:e0:9a:10:11:7d:af:73:f5:5e:85: + bc:f0:35:ef:c3:7c:9c:6e:cb:0e:5c:d8:13:df:2c: + d2:8f:95:8a:92:8e:ca:8d:0d:63:b0:69:6a:eb:45: + 7f:7f:15 Exponent: 65537 (0x10001) Signature Algorithm: sha256WithRSAEncryption - 6c:68:21:7d:a4:28:a8:1e:1a:ed:d9:e3:76:82:e6:cb:5c:5a: - 9f:b3:19:35:12:1e:03:24:c7:9d:5b:83:05:fd:ba:74:98:28: - 77:ba:3a:bb:d4:94:59:32:39:aa:fd:c5:53:c2:2c:f2:c5:57: - 9a:8f:42:96:d3:3f:ad:b9:a3:ea:fe:21:cd:b1:8e:22:a2:d8: - 34:68:49:c3:7b:4a:57:4f:cc:be:56:a1:a8:26:02:1d:de:1d: - c7:d3:d0:ae:3b:c8:d2:e1:08:3a:43:cb:36:30:44:14:a4:08: - d1:5e:92:c6:b9:ee:e7:cd:95:0b:55:40:f9:58:4b:f0:8c:1c: - 45:29:2b:83:2b:7e:50:fa:5f:19:6b:87:20:b4:e7:c1:ec:7e: - 35:d2:b6:2c:9f:ec:da:cd:fc:32:f2:30:97:63:f4:63:60:d6: - a9:6b:e8:bd:fd:b8:7e:b6:4f:db:08:19:e8:51:3d:1e:5b:64: - c7:87:db:d5:78:ad:f7:9a:7f:1f:92:d8:5e:1d:97:cf:03:07: - 99:3a:da:c2:4e:b6:45:06:eb:d7:b6:89:bb:24:94:30:dd:53: - 9c:f5:d0:1f:04:85:55:f5:38:78:6a:36:76:f8:3e:d1:90:ce: - 7c:d7:72:79:c5:42:e6:59:dd:6d:92:50:59:52:04:d4:db:29: - af:74:b3:79:4c:ac:1b:35:08:7f:d0:b9:db:3b:08:e0:68:d5: - 6d:6e:a1:5a:7d:94:3b:6f:19:70:2b:6c:3c:14:07:a0:05:6b: - 2e:1e:3a:ea:05:88:5d:d0:8d:58:58:ff:f9:b0:b8:78:74:63: - 91:52:5c:ce:35:fa:29:73:88:0f:2b:3c:64:78:30:8c:9d:22: - 50:06:67:8e:40:c4:c6:84:98:01:30:65:bd:32:57:5a:d2:a5: - ec:83:f6:ef:c8:29:46:0e:43:f0:5f:02:6f:9c:c1:4d:b5:b3: - 59:bf:c4:99:cf:8d:d5:6a:e5:79:cc:5e:28:ab:90:e3:7d:2b: - ee:1b:0c:62:88:ee:e9:c4:3c:88:92:9e:cb:c3:48:0d:d1:bf: - 46:7f:42:46:9d:da:7a:d8:59:7e:88:86:06:30:85:50:0a:cb: - 66:69:be:1d:c2:51:6e:57:92:f5:a0:83:08:1c:ae:ea:af:e4: - ad:8d:e5:00:13:28:fe:04:5a:09:e9:53:4a:1a:45:2f:43:9d: - d7:96:f5:14:6e:65:fc:7c:63:6c:7d:49:90:94:08:b4:b2:46: - 0a:9a:7f:2e:90:55:01:41:e3:ca:fd:79:ba:57:4c:9e:41:f7: - d1:23:f4:3c:19:a8:75:52:59:a7:1a:43:77:c5:46:cb:63:37: - 54:47:26:c2:03:4a:84:4f + 89:7d:a4:0a:24:e3:78:f0:37:38:bd:13:4c:ef:93:3e:2e:f6: + fc:3f:76:ce:a9:24:b1:40:48:e7:57:49:e9:a8:13:1d:4f:4c: + 2b:65:fb:91:50:7c:2f:80:ed:84:90:f0:4d:e7:a0:fa:82:33: + 74:c3:c9:c0:37:25:93:33:14:1e:2f:b9:fe:74:ae:7e:1a:ae: + 52:7f:58:99:fe:9a:99:1e:e2:43:99:df:2f:50:84:3b:5f:75: + 26:b7:48:9c:66:27:1d:2b:69:5d:df:f7:e3:4c:78:a6:cb:21: + be:f3:af:3c:9a:e6:2f:b9:a2:b2:f5:d5:db:94:68:84:7c:08: + 89:4c:4f:b3:6f:f8:30:7c:3b:e6:75:d6:91:62:f6:1d:1f:c6: + a7:da:de:c0:50:15:84:82:51:69:83:25:79:ad:34:56:3a:6c: + d1:0e:98:b1:66:48:45:e5:40:8e:4b:fc:c2:64:f8:c0:f8:6b: + ed:18:2c:98:65:8e:59:34:45:14:73:51:87:6a:ff:8a:5e:31: + 50:f4:23:52:92:e9:de:e7:97:78:4d:c9:05:72:95:78:d9:32: + f1:8f:f6:d4:83:1c:ef:c5:69:8a:96:04:09:52:b6:26:c3:b7: + a0:52:c6:eb:ac:37:86:92:e6:2a:2a:bc:d4:cd:4e:6d:47:5e: + 73:4f:69:14:e1:8f:5c:86:e5:84:96:bd:38:53:1b:4e:3a:89: + 69:c8:9d:2f:61:12:fd:04:28:c2:c6:f1:f1:0f:b7:4c:56:98: + 18:79:31:68:fd:da:a7:16:42:07:8d:cf:9b:a4:03:a0:3f:93: + 90:c1:9e:00:22:b4:7f:46:26:f8:8f:b8:d1:9e:91:14:52:5f: + 9f:9a:fd:42:78:0d:da:90:93:03:d0:e1:52:e2:d4:a3:9f:c9: + d2:2b:ec:f8:3a:84:0d:25:e6:9f:e4:15:bb:b2:ea:47:91:1b: + 35:bb:58:0b:37:2a:7a:87:e0:7f:43:b4:4e:79:1c:a4:6c:e6: + cb:af:0c:4c:df:e9:62:f4:92:17:38:96:d6:47:eb:93:d7:27: + ed:af:de:d7:be:7d:da:ba:4c:4a:f2:ff:6b:e7:41:5f:53:f7: + 4d:8e:56:11:c3:10:a4:2f:14:ed:6e:de:1f:60:57:6b:fe:44: + de:59:ae:be:78:bf:a0:e8:10:3d:5d:8a:7b:89:fa:04:7b:df: + 04:ad:4a:a7:bb:9b:4e:73:fa:03:df:31:f4:f3:7d:81:50:cd: + 47:95:a7:f3:48:78:28:53:31:d5:b1:7b:98:f7:09:c2:c2:a0: + 5d:08:f0:55:df:ee:9f:c3:2a:e9:0c:37:40:cd:df:ca:0e:30: + 19:be:15:02:a1:5c:1c:8d -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQYwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDUwNTEyMzQ1NVoXDTIzMDUwNTEyMzQ1NVowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAMnfr3EoEifACZbDXlCWpvBQC99cERTY+QdPWnWBsq8D9Fjl/C1w -xbjJoREBtq65URS4Gh8XEetx2LitWdbGIoz0NX4aq9hURaLAQJNL8vnIt/vteNHA -ZhIyE02t6lsyaczjpnJFNAVLyKKxFWQipIeRcVUJx+MgbmbBPJFuL9Axh0Jo/etJ -KF/ciU5leQt2go01SUahaTjlX78sQOwGSJSB+OVsN/E1Nze2WuGKMREjxuA8hUeG -kYAkhCt8uVd97bnBuJyCPWWyXG89pHVHUc8kxFPXaPAHxrcJW2le48ZJndgKm4v1 -kaqCu88Pi3cgw7AQIDmw2GQoVOZoV7EydUmUkJF1ekuQGUo9/PsZwZzGh59TlYsL -WpVu+gP4o5IN16E5+m+SkfZYmDLXbCZdT9pnGzZcegpOZNzVe5nXhyTN8PIGFB8d -8OqqGIZK6dRnLlnQ5JPws+yQp5R4ea4A4nx+r1N7UC6UOildTYGdaQyRNBdJkqcD -aeGIJcAoQwFWqbDYx9AyUtTxeKdc9Ff1reYOcul5/1olCuvkD+qshH/6ePYAMTl0 -TDGY4VYpMP+8gySQ6al/CvL1SCZQJyZohwgAe0m/e+TMqOdNcuqH6Ec9PEWeDQHm -YXfJg84IA1HIptWIK8UwVluKnl9MsSptGarKVvnxxMXK3zvbHR/U2LN/AgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAGxoIX2kKKgeGu3Z43aC5stcWp+zGTUSHgMkx51b -gwX9unSYKHe6OrvUlFkyOar9xVPCLPLFV5qPQpbTP625o+r+Ic2xjiKi2DRoScN7 -SldPzL5WoagmAh3eHcfT0K47yNLhCDpDyzYwRBSkCNFeksa57ufNlQtVQPlYS/CM -HEUpK4MrflD6XxlrhyC058HsfjXStiyf7NrN/DLyMJdj9GNg1qlr6L39uH62T9sI -GehRPR5bZMeH29V4rfeafx+S2F4dl88DB5k62sJOtkUG69e2ibsklDDdU5z10B8E -hVX1OHhqNnb4PtGQznzXcnnFQuZZ3W2SUFlSBNTbKa90s3lMrBs1CH/Quds7COBo -1W1uoVp9lDtvGXArbDwUB6AFay4eOuoFiF3QjVhY//mwuHh0Y5FSXM41+ilziA8r -PGR4MIydIlAGZ45AxMaEmAEwZb0yV1rSpeyD9u/IKUYOQ/BfAm+cwU21s1m/xJnP -jdVq5XnMXiirkON9K+4bDGKI7unEPIiSnsvDSA3Rv0Z/Qkad2nrYWX6IhgYwhVAK -y2Zpvh3CUW5XkvWggwgcruqv5K2N5QATKP4EWgnpU0oaRS9DndeW9RRuZfx8Y2x9 -SZCUCLSyRgqafy6QVQFB48r9ebpXTJ5B99Ej9DwZqHVSWacaQ3fFRstjN1RHJsID -SoRP +MIIFQDCCAygCAgCKMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU0MzZaFw0yNDEyMDUxMjU0MzZaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQD7h1jnU/N4fETTFn9EZQJBVE3ZHxSdypg1Z9oB3QoiiWHCOIzh +URPh1a5Y9pHVFkTd/XlMAmpdqS94dVnwZ81Vb2mZp2+B2ZGf6BpFmmKYg0oZM3Dl +oNIKEhUsVl6HHOTqqeNEN7s5pt3tVO6vB/IrYXEZY9rNmmAzkSxEJfV/VnU2NEA3 +gvZCfAR2Xf/hS2N/8BjQVlkMtsjNUWjs24Vr38xC3pbiAPhKNurWIRjwHsr3sv6x +qT9TQV46QiHsNKgYPLGisUmvQKspc0K5VJb1CtKmXBx5cOXRZye9+Y/+4ZmIOqPx +kOI2+m77WSNBiOJHoSvFVrFb8na7M7wTz5KQeK5vXSqKSXFKDB+ipqZjfoi1Mbm6 +t9jl2DHCW8Y/A4C4cQzXIKl36ygnxhIdsJCQipY/OA3nIklj2l5I3Jp+M0SDVBXz +TbExL06TiTVgC6ZVOsnGUTAAlpTSm/USdXgDVufYLFVYYefcL439tV0BtoROapC3 +kuZSknHUteV+jP9OFdjWj3eWlw7BTGxBJyxIFhJB8UExpcQlFJYiEWRQ0kq6/T9c +yOMlxuarnZnBSApjRZB59d2qDw701S9qd6qlX8tGWeWgb84/vKGYlJZ5GC0gi9dE +4JoQEX2vc/VehbzwNe/DfJxuyw5c2BPfLNKPlYqSjsqNDWOwaWrrRX9/FQIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQCJfaQKJON48Dc4vRNM75M+Lvb8P3bOqSSxQEjn +V0npqBMdT0wrZfuRUHwvgO2EkPBN56D6gjN0w8nANyWTMxQeL7n+dK5+Gq5Sf1iZ +/pqZHuJDmd8vUIQ7X3Umt0icZicdK2ld3/fjTHimyyG+8688muYvuaKy9dXblGiE +fAiJTE+zb/gwfDvmddaRYvYdH8an2t7AUBWEglFpgyV5rTRWOmzRDpixZkhF5UCO +S/zCZPjA+GvtGCyYZY5ZNEUUc1GHav+KXjFQ9CNSkune55d4TckFcpV42TLxj/bU +gxzvxWmKlgQJUrYmw7egUsbrrDeGkuYqKrzUzU5tR15zT2kU4Y9chuWElr04UxtO +OolpyJ0vYRL9BCjCxvHxD7dMVpgYeTFo/dqnFkIHjc+bpAOgP5OQwZ4AIrR/Rib4 +j7jRnpEUUl+fmv1CeA3akJMD0OFS4tSjn8nSK+z4OoQNJeaf5BW7supHkRs1u1gL +Nyp6h+B/Q7ROeRykbObLrwxM3+li9JIXOJbWR+uT1yftr97Xvn3aukxK8v9r50Ff +U/dNjlYRwxCkLxTtbt4fYFdr/kTeWa6+eL+g6BA9XYp7ifoEe98ErUqnu5tOc/oD +3zH0832BUM1HlafzSHgoUzHVsXuY9wnCwqBdCPBV3+6fwyrpDDdAzd/KDjAZvhUC +oVwcjQ== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/cas-server.key b/dev-deployment/environments/certs/server/hosts/localhost/cas-server.key index 47c4e9c15..cd5e84d86 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/cas-server.key +++ b/dev-deployment/environments/certs/server/hosts/localhost/cas-server.key @@ -1,52 +1,52 @@ -----BEGIN PRIVATE KEY----- -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 -AObxNblgxgBtSVnB6d7a1HEMwvNpqjiN +MIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQD7h1jnU/N4fETT +Fn9EZQJBVE3ZHxSdypg1Z9oB3QoiiWHCOIzhURPh1a5Y9pHVFkTd/XlMAmpdqS94 +dVnwZ81Vb2mZp2+B2ZGf6BpFmmKYg0oZM3DloNIKEhUsVl6HHOTqqeNEN7s5pt3t +VO6vB/IrYXEZY9rNmmAzkSxEJfV/VnU2NEA3gvZCfAR2Xf/hS2N/8BjQVlkMtsjN +UWjs24Vr38xC3pbiAPhKNurWIRjwHsr3sv6xqT9TQV46QiHsNKgYPLGisUmvQKsp +c0K5VJb1CtKmXBx5cOXRZye9+Y/+4ZmIOqPxkOI2+m77WSNBiOJHoSvFVrFb8na7 +M7wTz5KQeK5vXSqKSXFKDB+ipqZjfoi1Mbm6t9jl2DHCW8Y/A4C4cQzXIKl36ygn +xhIdsJCQipY/OA3nIklj2l5I3Jp+M0SDVBXzTbExL06TiTVgC6ZVOsnGUTAAlpTS +m/USdXgDVufYLFVYYefcL439tV0BtoROapC3kuZSknHUteV+jP9OFdjWj3eWlw7B +TGxBJyxIFhJB8UExpcQlFJYiEWRQ0kq6/T9cyOMlxuarnZnBSApjRZB59d2qDw70 +1S9qd6qlX8tGWeWgb84/vKGYlJZ5GC0gi9dE4JoQEX2vc/VehbzwNe/DfJxuyw5c +2BPfLNKPlYqSjsqNDWOwaWrrRX9/FQIDAQABAoICAGV31k+LuF5Uk1csbi7jKKO+ +JKGAPkrhXcG9oV67EsmX7k3xjjOfB4xFLU5KOc5ia2m6RWJ6Xvpls/a+MIgg996N +UWZg+0TAxlRhx6dofnnUDOJZtCOOWu0hGlWGih+rclWQL1RnvymkvUZuytLlO7Zw +WrXJaI0kx8ZFvDvJrF2wPRyeu4EpXbq4WPx/MyhpxzvnWbtB+i581kitnMxgSlSY +NciMDwYhKgiWWuoC9BJ5+ZsvJDv7cMZfSmnqH9Ev9NfCNE7TgkwmpGXWT4aAL12u +/geKhRoghzWQjaG/uW0zCULBlT1wGzHemULgVK6tT8tho0y6ilXzXB5s4mSDijXd +HJDyjmzQV1cxKWXx/vhP1XwmK0Nh8XTgMlxPsBsEi4J6IkU3l5m96aeaRrdNpHPm +/whR0WPbQieNZvhsgQPkhcojPyVJkHiYqRRw1Be3h2eqSrDtgcPgrsvrY/TTnfcx +MbjHm1EkJgxHEYDLSRILp7DKNTAvTpPt2ci7p32OxB0WBxtsevhZh6Hvm/UoVtDB +MXFs/zvPETX8YT+5U9jLc4uJb18chUOhQRuf9d+7NdKoaFx8pyOhDHtLoCJfAWbC +rZNEVPxgdiK70apfUhZBp60G6wgfAr81VRwTmOXL8Mmd9JDlw0MVJQmiqw77yqoF +6QhqJms7YL+HJcf01ORJAoIBAQD+7BG3C7mEa6Zqf+Pgum7sRDpB3mSAEJDXY5D5 +Zr/UyWy9IhXiylN7zNs6a11kKU1SdbDHrYGerxr/zxmC+cRY089Gjqz5dR4H31lj +yAueUcO5U6qETlfvDskSsUKdmjQasiLsnNl+Ic5iTwt7BC63w7N8re/1TKXsVxtc +qpx+5JmCCiBSss0cLqtcVEO12h7t/gEMls6Xxr6WNoOU7XxatncJ3qdoYG9dNZr9 +5CGWCQ97IDu7yR2dcTo+qlAbD6liLfp2FHTqsKXb2jTbg55i3guj/Hr7x3IvI6pz +sCFMkLVlh5qoe+3KvacEuPfM+hxQ2S1PtQ64HkQ7weAULoxnAoIBAQD8l5rfn9Gn +LWvt/3/qsGHij6jRiQQYF286aFKO0GnaqYQ8XPGFyg8jFF2le4yvNh2sfSIACW08 +H1dJJ2JxYEWacEBjgFYk7Pt1WOghvgrSAO8kwKf4UBcOVNxpVNoXjcMBBKxiwMH6 +nTTuA/BrUzbqv/FDnqBz4N8X4f7DEDorD0zZ8xE5H8LBT1RcriWky9PAi9U7psvh +V1h1C+YJyFI3vs2YXiqP5U3A7br1GWuNJ+fhflougMNxDa5FJjWUUuMB9/MT+l/G +ZMd3WJ0iPw1Bk/XMS9F8JAeQZDFD2T2QVXHsNvsVMgWird9yNUxcNUYLArXgEOPt +7x5d1JZZ6ysjAoIBAGvyu22v4VdZ3paqoWzAhcg2/BR4gEZavXr4BqQWBpWs1gch +L/NhigiarxsF6/5GHyAUBlAIASOZMu2wXTVBXwveZZ+TO1xHY/ghdFD0nTblmOQZ +sdNk+YeZ0zu/JF5otje3x2I66T6oQiUPI+Vr1/ypOpBJd5uAYaK7IDMVbD+vvfF7 +KETcwk501Mu8Qw/21bIiJX+XPNS4rGwfmYivKEGhkrbzOiDQ9VebI47v0+kc3Rle +hOz4NTo+gFOY+2L6NtgEcFMgRoI7W4DF3iw2iBOFw5glik6kHo4npD5pDzDE9ouP +6MX/9KottVQin4yFPQhfbviZyyncZziG2MSzEXECggEAcPxTj4IKorAjnhLyogUB +0/kUt52FUk1xOHwfqbg6EVBQUTv14TWP7c4XUYVhWaJoRZa3lbKhxQnz3koas8Iv +gDSD6L4oSl4i4MvDEgzTBDrcveDbgaw5k/SLnyYQZAbKWnM/tPCqFDMr0Oe8LBXN +89Wl0uxqs0q8IA+8CH8Cte4jHz6lzpqRYCze/JH9TqjJ8E/cMtGaUxLiA4EuBeQw +OrVDe8trWHBmhk0QmsAjJsHZ7Di7mB+KzNAkytObldw5pNDHT4FoQ/MichUWPJJd +mJ7ZjOfBLblkFMdsbgAHlL9TtSimyUVV1f3WfFyw6nH+AcDVoAOOIQkb2TbVhiU2 +ZwKCAQAZHUzcRdua4HlvZw3hOPbO2a6HDsLP4n3I/JLzl5Morp0blPXGIazZ/Eon +9Om+TQ9iUKUi/8co5SEi4oN/5iA5i7PzyWkrHTUxN9iBbLLXPegMg/RmwWRVyc73 +6hMr+ET8i3yMz+uFhEAtow6m8NBCtJV3cBlLic+SQC8bJ6PmmSJ3UwmuL/2L2mBD +Rm+vIOqRKRh37/JKsB75cLovSnt9pmtADdBD6PLFZhGe0qn+iIV3/jPfFgEzl++l +stZajFjwVQLM+vFY8QIpHtfcYIVVx4pEc2SJMEpM7t+2sKnVTn6EvBHLffSdwJqv +hcN5t0SgWgmIxG33NQ3fIpeESgG3 -----END PRIVATE KEY----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/cas-server.pem b/dev-deployment/environments/certs/server/hosts/localhost/cas-server.pem index 265625d80..1085ebb8f 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/cas-server.pem +++ b/dev-deployment/environments/certs/server/hosts/localhost/cas-server.pem @@ -1,31 +1,31 @@ -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQYwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDUwNTEyMzQ1NVoXDTIzMDUwNTEyMzQ1NVowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAMnfr3EoEifACZbDXlCWpvBQC99cERTY+QdPWnWBsq8D9Fjl/C1w -xbjJoREBtq65URS4Gh8XEetx2LitWdbGIoz0NX4aq9hURaLAQJNL8vnIt/vteNHA -ZhIyE02t6lsyaczjpnJFNAVLyKKxFWQipIeRcVUJx+MgbmbBPJFuL9Axh0Jo/etJ -KF/ciU5leQt2go01SUahaTjlX78sQOwGSJSB+OVsN/E1Nze2WuGKMREjxuA8hUeG -kYAkhCt8uVd97bnBuJyCPWWyXG89pHVHUc8kxFPXaPAHxrcJW2le48ZJndgKm4v1 -kaqCu88Pi3cgw7AQIDmw2GQoVOZoV7EydUmUkJF1ekuQGUo9/PsZwZzGh59TlYsL -WpVu+gP4o5IN16E5+m+SkfZYmDLXbCZdT9pnGzZcegpOZNzVe5nXhyTN8PIGFB8d -8OqqGIZK6dRnLlnQ5JPws+yQp5R4ea4A4nx+r1N7UC6UOildTYGdaQyRNBdJkqcD -aeGIJcAoQwFWqbDYx9AyUtTxeKdc9Ff1reYOcul5/1olCuvkD+qshH/6ePYAMTl0 -TDGY4VYpMP+8gySQ6al/CvL1SCZQJyZohwgAe0m/e+TMqOdNcuqH6Ec9PEWeDQHm -YXfJg84IA1HIptWIK8UwVluKnl9MsSptGarKVvnxxMXK3zvbHR/U2LN/AgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAGxoIX2kKKgeGu3Z43aC5stcWp+zGTUSHgMkx51b -gwX9unSYKHe6OrvUlFkyOar9xVPCLPLFV5qPQpbTP625o+r+Ic2xjiKi2DRoScN7 -SldPzL5WoagmAh3eHcfT0K47yNLhCDpDyzYwRBSkCNFeksa57ufNlQtVQPlYS/CM -HEUpK4MrflD6XxlrhyC058HsfjXStiyf7NrN/DLyMJdj9GNg1qlr6L39uH62T9sI -GehRPR5bZMeH29V4rfeafx+S2F4dl88DB5k62sJOtkUG69e2ibsklDDdU5z10B8E -hVX1OHhqNnb4PtGQznzXcnnFQuZZ3W2SUFlSBNTbKa90s3lMrBs1CH/Quds7COBo -1W1uoVp9lDtvGXArbDwUB6AFay4eOuoFiF3QjVhY//mwuHh0Y5FSXM41+ilziA8r -PGR4MIydIlAGZ45AxMaEmAEwZb0yV1rSpeyD9u/IKUYOQ/BfAm+cwU21s1m/xJnP -jdVq5XnMXiirkON9K+4bDGKI7unEPIiSnsvDSA3Rv0Z/Qkad2nrYWX6IhgYwhVAK -y2Zpvh3CUW5XkvWggwgcruqv5K2N5QATKP4EWgnpU0oaRS9DndeW9RRuZfx8Y2x9 -SZCUCLSyRgqafy6QVQFB48r9ebpXTJ5B99Ej9DwZqHVSWacaQ3fFRstjN1RHJsID -SoRP +MIIFQDCCAygCAgCKMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU0MzZaFw0yNDEyMDUxMjU0MzZaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQD7h1jnU/N4fETTFn9EZQJBVE3ZHxSdypg1Z9oB3QoiiWHCOIzh +URPh1a5Y9pHVFkTd/XlMAmpdqS94dVnwZ81Vb2mZp2+B2ZGf6BpFmmKYg0oZM3Dl +oNIKEhUsVl6HHOTqqeNEN7s5pt3tVO6vB/IrYXEZY9rNmmAzkSxEJfV/VnU2NEA3 +gvZCfAR2Xf/hS2N/8BjQVlkMtsjNUWjs24Vr38xC3pbiAPhKNurWIRjwHsr3sv6x +qT9TQV46QiHsNKgYPLGisUmvQKspc0K5VJb1CtKmXBx5cOXRZye9+Y/+4ZmIOqPx +kOI2+m77WSNBiOJHoSvFVrFb8na7M7wTz5KQeK5vXSqKSXFKDB+ipqZjfoi1Mbm6 +t9jl2DHCW8Y/A4C4cQzXIKl36ygnxhIdsJCQipY/OA3nIklj2l5I3Jp+M0SDVBXz +TbExL06TiTVgC6ZVOsnGUTAAlpTSm/USdXgDVufYLFVYYefcL439tV0BtoROapC3 +kuZSknHUteV+jP9OFdjWj3eWlw7BTGxBJyxIFhJB8UExpcQlFJYiEWRQ0kq6/T9c +yOMlxuarnZnBSApjRZB59d2qDw701S9qd6qlX8tGWeWgb84/vKGYlJZ5GC0gi9dE +4JoQEX2vc/VehbzwNe/DfJxuyw5c2BPfLNKPlYqSjsqNDWOwaWrrRX9/FQIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQCJfaQKJON48Dc4vRNM75M+Lvb8P3bOqSSxQEjn +V0npqBMdT0wrZfuRUHwvgO2EkPBN56D6gjN0w8nANyWTMxQeL7n+dK5+Gq5Sf1iZ +/pqZHuJDmd8vUIQ7X3Umt0icZicdK2ld3/fjTHimyyG+8688muYvuaKy9dXblGiE +fAiJTE+zb/gwfDvmddaRYvYdH8an2t7AUBWEglFpgyV5rTRWOmzRDpixZkhF5UCO +S/zCZPjA+GvtGCyYZY5ZNEUUc1GHav+KXjFQ9CNSkune55d4TckFcpV42TLxj/bU +gxzvxWmKlgQJUrYmw7egUsbrrDeGkuYqKrzUzU5tR15zT2kU4Y9chuWElr04UxtO +OolpyJ0vYRL9BCjCxvHxD7dMVpgYeTFo/dqnFkIHjc+bpAOgP5OQwZ4AIrR/Rib4 +j7jRnpEUUl+fmv1CeA3akJMD0OFS4tSjn8nSK+z4OoQNJeaf5BW7supHkRs1u1gL +Nyp6h+B/Q7ROeRykbObLrwxM3+li9JIXOJbWR+uT1yftr97Xvn3aukxK8v9r50Ff +U/dNjlYRwxCkLxTtbt4fYFdr/kTeWa6+eL+g6BA9XYp7ifoEe98ErUqnu5tOc/oD +3zH0832BUM1HlafzSHgoUzHVsXuY9wnCwqBdCPBV3+6fwyrpDDdAzd/KDjAZvhUC +oVwcjQ== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/iam-external.crt b/dev-deployment/environments/certs/server/hosts/localhost/iam-external.crt index 16b79c873..b87d1d50f 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/iam-external.crt +++ b/dev-deployment/environments/certs/server/hosts/localhost/iam-external.crt @@ -1,111 +1,111 @@ Certificate: Data: Version: 1 (0x0) - Serial Number: 5 (0x5) - Signature Algorithm: sha256WithRSAEncryption + Serial Number: 137 (0x89) + Signature Algorithm: sha256WithRSAEncryption Issuer: C=fr, ST=idf, L=paris, O=vitamui, OU=authorities, CN=ca_intermediate_server Validity - Not Before: May 5 12:34:52 2020 GMT - Not After : May 5 12:34:52 2023 GMT + Not Before: Dec 6 12:54:32 2021 GMT + Not After : Dec 5 12:54:32 2024 GMT Subject: C=fr, ST=idf, L=paris, O=vitamui, CN=dev.vitamui.com Subject Public Key Info: Public Key Algorithm: rsaEncryption - RSA Public-Key: (4096 bit) + Public-Key: (4096 bit) Modulus: - 00:a8:c4:32:db:d9:cf:cf:3e:23:61:0f:36:9b:ab: - 2c:4e:40:b0:36:9d:af:9c:94:6b:b4:56:f6:c0:26: - 9a:cd:53:82:6b:61:39:5a:69:02:5d:32:4b:b1:0f: - ba:7a:b5:43:6b:88:90:8a:c7:13:c1:9c:35:8e:30: - b9:7d:5a:04:80:87:6c:2b:8f:f1:4e:6d:9e:46:4a: - 94:cc:04:2e:3b:3f:f0:f0:6a:06:f7:83:2d:4f:72: - e6:38:f1:5f:3a:bc:ab:26:0b:04:34:6f:11:b3:cb: - e9:72:0e:8b:6e:e5:0f:29:1a:3d:08:57:71:b4:b9: - 8b:79:84:20:82:c5:4e:77:b8:ba:0d:8d:0d:89:75: - 28:23:d9:83:c8:79:85:fb:3e:b8:bf:c8:6f:12:2a: - 1e:3d:48:b7:f2:cd:0a:04:f5:23:b2:ff:95:20:55: - cf:cb:bb:fd:81:fa:e4:57:5a:38:ef:a3:c3:b0:97: - ae:17:e0:c9:28:31:4a:72:3c:9c:95:a0:5f:58:14: - a0:95:fd:06:3d:6c:b9:f4:b8:70:9e:2e:53:a3:10: - 23:6d:fa:12:3b:30:ca:5b:91:72:13:84:ee:98:24: - eb:4e:ea:2d:93:f9:d5:8f:6c:96:00:f5:ae:11:2d: - 33:48:64:42:73:fd:9a:09:21:f1:60:48:fa:fe:74: - 0a:d6:d7:46:12:cb:1d:83:49:df:17:c3:80:cf:8f: - 2f:9e:43:b3:d2:e7:03:24:e6:05:a6:c0:a8:7d:ff: - d8:ab:27:9d:ca:0f:cd:88:75:3d:4a:77:24:5c:d4: - 2a:11:f6:bf:24:d2:6a:77:05:51:0f:56:0c:39:af: - 3a:fc:80:57:b6:65:d7:8a:d7:a8:96:af:78:46:20: - 87:70:a5:23:2f:8a:9f:1c:3a:de:b8:63:b5:e9:c4: - 77:4d:a8:12:14:85:e1:26:94:0c:73:b4:e5:c0:70: - 33:56:fd:21:c2:3e:5c:ec:af:39:9d:e3:8c:e7:67: - 84:d5:03:f9:bc:0f:7d:c6:de:5a:54:2d:3e:96:d3: - 43:20:ed:7b:51:b8:95:8f:b3:5e:ed:1b:f8:fb:2a: - a1:09:33:bb:06:e9:a0:96:47:78:eb:aa:f1:56:82: - 09:60:40:5f:cd:04:58:c3:a4:ec:b7:21:d6:b1:b9: - e5:18:f3:9f:1a:9b:6c:25:25:33:1b:35:f5:42:c8: - 42:84:67:68:ca:3f:63:22:55:4a:fd:1f:e4:f0:c2: - 24:e4:56:43:29:c3:8b:43:ff:4d:e2:84:76:dc:63: - 2f:e2:6d:0b:d8:ae:ca:e0:bc:65:59:f3:dd:79:8d: - 13:26:55:14:b9:9d:f6:57:04:2d:77:db:92:17:f5: - 8c:46:b3 + 00:97:61:53:02:b0:66:c6:61:12:bd:91:91:6b:d3: + 75:78:ea:a1:d5:67:fb:f0:a9:c9:e6:29:73:61:28: + ee:4e:49:68:eb:01:86:93:b5:a1:70:71:97:2f:5d: + 8e:28:f5:11:e6:70:6a:9f:92:88:a4:da:d4:6a:40: + 3f:94:c0:28:73:9d:8e:17:a4:51:b4:76:f5:12:94: + ef:bc:79:7f:bb:d8:74:23:55:c1:30:64:f5:b6:d4: + cb:ff:41:6f:59:da:e8:68:2e:87:8d:40:07:b3:ca: + 12:4f:45:19:35:34:bf:86:0f:0b:5a:3c:e8:37:9e: + 51:c0:40:f5:64:90:d5:2b:9c:a5:23:af:96:9f:d7: + 22:cd:75:8d:e4:4c:c4:9f:aa:5e:71:18:c6:ca:ed: + 41:bb:fc:cc:58:84:28:fe:dc:27:b5:db:1d:f1:40: + 03:6d:80:1a:66:96:bd:9e:fa:f4:3b:74:6d:bb:25: + ea:a2:de:35:92:4d:2b:37:6b:f2:78:63:19:0d:71: + 21:74:82:b2:5f:75:c3:22:40:ec:ab:82:bf:54:01: + 26:65:21:30:62:be:b0:57:91:ac:6f:3b:d8:68:6b: + 9e:80:81:f1:31:34:4c:c7:50:1b:5c:9c:c1:39:be: + 9b:73:72:a2:9a:ca:7a:2b:87:06:33:d7:52:5f:50: + 96:76:39:3e:89:fc:b3:e1:a4:35:86:e1:c6:40:d1: + c0:e1:49:5b:af:5f:df:be:64:27:c9:1b:ad:42:44: + f3:3b:94:35:6e:80:0c:af:c2:00:ac:ee:e0:23:fe: + 0a:e1:b8:07:27:ff:c4:b7:f5:81:3c:c0:26:9d:66: + 2e:a6:2c:c5:8c:39:05:0f:3c:ed:3f:12:c0:66:8c: + ae:86:a0:80:74:1f:0c:6d:58:2d:3c:5c:5f:f1:b3: + fc:6d:e9:5c:10:78:4a:4c:00:9b:e1:e9:ee:1e:db: + ff:7c:65:81:cb:34:7e:ce:c0:cb:42:c2:2d:e3:56: + f2:d0:ef:22:4b:cb:15:46:7b:ec:84:71:4b:9d:e4: + 22:46:cd:91:49:a7:bc:9f:01:53:96:c5:f1:11:14: + b6:ca:f8:5d:f0:a3:ec:d9:94:54:4e:ac:9d:43:10: + 05:36:04:4b:b3:0e:74:a9:59:58:eb:a7:c5:01:2a: + 3d:f4:9d:10:45:58:61:b7:0c:d1:7a:37:d8:4c:54: + c9:1b:57:92:c9:19:9a:4c:d2:ca:77:60:f3:76:d7: + 66:08:34:bd:f7:cb:d2:b9:28:0b:20:75:77:c3:6b: + 71:fe:91:48:c6:be:ad:c4:3b:cd:de:0c:ab:f2:69: + d2:b0:86:1e:44:19:ec:6a:9f:2c:ec:f3:19:98:fe: + 3d:88:5b Exponent: 65537 (0x10001) Signature Algorithm: sha256WithRSAEncryption - 27:2c:78:98:8a:fa:0d:d8:11:90:75:5e:9f:c4:38:c7:e9:90: - 4d:32:14:e5:96:b1:f9:df:b0:fb:d2:9b:ed:13:d2:50:de:53: - 09:ae:a9:47:d9:1b:6c:1d:05:ca:8a:c6:fc:4c:9a:b2:fe:13: - 75:d7:19:0b:3a:e9:a3:bc:a7:05:79:67:8d:42:18:76:9b:89: - 40:20:0c:7f:57:92:cf:c4:2f:5e:46:a9:d6:36:ba:81:2e:5e: - 12:74:12:c9:f3:3c:bc:34:28:90:34:36:c6:8e:33:04:de:45: - 29:f2:21:a0:15:58:12:fb:7e:c8:1e:be:6c:b4:ba:e2:29:d6: - 03:34:6a:01:da:68:88:4a:7b:da:d9:a8:be:4d:5c:d8:53:d6: - 5f:8a:80:fe:78:d5:71:41:e9:5e:77:87:e5:f7:af:7c:06:85: - ae:0d:85:d3:40:13:3e:01:e3:6a:ea:aa:39:63:03:4f:80:39: - 29:39:9c:e6:a4:bb:7c:c7:df:30:e7:22:bd:c2:cc:7d:e2:22: - d7:e5:61:24:4a:8f:df:72:c9:15:8f:3d:28:61:0d:ba:b4:26: - 84:20:89:c3:12:a6:88:52:26:c9:ec:f9:4b:61:7d:ab:81:c0: - 41:1a:da:c0:5f:95:de:82:64:44:7f:6f:5f:33:0f:6c:45:ea: - 18:f7:2f:ef:a9:30:cb:7c:7b:74:c7:35:b9:45:b6:ee:3e:8b: - e6:83:3b:00:22:15:02:f1:0e:40:ea:b3:ac:a4:f0:96:01:01: - 01:29:ab:83:9f:23:0a:3b:df:fb:1a:33:8b:54:d1:c3:2c:93: - e0:a1:79:1d:38:62:2c:41:10:db:2b:d3:28:23:29:36:00:62: - 82:6c:8a:39:e9:d2:86:27:b8:9c:f5:67:14:b4:aa:81:f9:8f: - 1f:3a:6b:c4:c2:a9:a3:1a:66:04:36:6f:e7:9d:06:e0:0c:47: - f6:10:44:43:f3:94:ae:96:f2:cd:a1:b6:5f:a2:7a:f4:11:47: - 15:63:eb:a2:e2:8c:6d:25:0e:f8:ee:b0:16:09:3e:fc:64:6d: - 79:35:d9:a9:4f:9b:46:e0:cd:31:bd:51:5f:55:25:5f:4f:18: - 60:0e:20:c1:78:ec:c3:a8:f1:40:84:06:49:11:20:73:b6:c6: - cc:02:dd:bd:ee:e6:4f:d4:ff:5f:20:e9:40:eb:1d:ec:94:69: - 30:10:76:f7:a3:80:7f:1c:4e:f1:46:e8:d4:f9:98:80:ed:be: - 43:31:11:f9:b7:b5:15:ba:9e:3a:a4:4b:f9:c3:45:c3:f5:1f: - 49:48:3f:31:b5:5d:db:02:a9:4a:ec:83:00:c2:29:37:14:d1: - ce:8e:ce:f7:ac:c3:59:d5 + 22:be:5d:e1:69:d3:82:50:ee:b0:37:d8:b0:a0:0f:0e:42:bb: + aa:55:b5:52:e8:ea:80:10:64:0d:5a:73:90:9c:ba:7c:32:c8: + 18:48:6e:64:06:05:13:a0:47:56:81:d2:e8:ef:62:d1:63:df: + 3c:a2:a2:eb:61:6f:3c:af:11:9c:b0:dc:a4:f8:cd:62:7b:4a: + 86:8c:80:c9:19:62:12:81:e7:b1:59:e9:65:c0:b5:2a:c7:89: + e7:fd:5b:76:b0:23:5f:34:c8:3d:f1:c2:0c:de:5c:0d:99:f4: + 95:cf:c3:47:50:5e:d3:08:36:1c:ef:16:24:a1:9c:69:ec:c8: + cf:ca:28:5a:ed:8b:7b:da:5d:c3:e4:5c:61:80:12:e6:5c:fb: + 17:7c:88:5a:e1:c6:a1:30:47:dc:fe:48:a2:43:2e:de:5d:ee: + 7f:d7:19:dd:08:f7:83:01:37:d4:92:99:29:d9:b2:a4:f4:3e: + fa:ad:da:c3:ab:c3:cc:2d:ba:ce:9d:8a:05:10:13:97:2f:57: + af:c3:0c:eb:d4:5c:39:92:6c:2b:5b:a5:43:6c:e7:10:3f:8a: + 0d:fc:56:cb:2f:d0:70:29:c7:2f:75:a4:03:bd:83:28:95:e2: + a4:78:84:9c:7f:4c:59:d8:af:9d:8b:ac:da:7a:d9:95:da:19: + 38:19:83:00:1a:d7:d6:3d:14:84:44:3e:57:30:8c:e8:a7:d2: + 1b:c7:43:74:82:0e:32:30:87:a5:73:2a:90:05:8f:fe:35:25: + 68:2b:56:b6:8d:8e:d1:bf:57:67:96:10:f3:4d:b5:33:78:d0: + 2e:e1:42:22:d0:9b:46:2e:db:ad:d0:ef:14:5d:83:7d:72:6a: + f4:74:bf:d9:57:51:5d:38:6b:41:e3:dc:71:35:35:5f:fd:bc: + 76:cb:c3:c5:3d:78:a7:7a:2b:a7:51:3e:88:b2:23:49:35:38: + 6c:d3:6f:6a:ec:d9:0a:cd:10:d5:71:96:4a:14:28:33:e4:76: + e0:f3:93:41:bc:22:7a:a8:5d:ba:ee:14:aa:73:fc:03:9f:f9: + 2b:0a:d5:46:7e:06:19:de:9a:80:49:3f:65:12:fb:e9:55:3d: + 08:7b:34:42:e4:ec:fa:ad:dc:73:c2:3a:7a:96:51:8d:81:71: + 5a:32:be:70:06:38:c5:40:41:81:49:12:5a:7a:f7:5e:e5:5a: + e2:e9:26:0e:a9:eb:b4:2f:7e:05:75:97:9d:79:bf:bb:2c:a6: + 48:e7:57:58:83:0c:3d:81:a8:7d:b9:f1:71:d9:d0:b3:2a:88: + e9:2d:c5:1d:40:09:2b:eb:9c:56:79:69:e1:89:82:2c:48:74: + 73:73:46:ab:52:39:31:06 -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQUwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDUwNTEyMzQ1MloXDTIzMDUwNTEyMzQ1MlowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAKjEMtvZz88+I2EPNpurLE5AsDadr5yUa7RW9sAmms1TgmthOVpp -Al0yS7EPunq1Q2uIkIrHE8GcNY4wuX1aBICHbCuP8U5tnkZKlMwELjs/8PBqBveD -LU9y5jjxXzq8qyYLBDRvEbPL6XIOi27lDykaPQhXcbS5i3mEIILFTne4ug2NDYl1 -KCPZg8h5hfs+uL/IbxIqHj1It/LNCgT1I7L/lSBVz8u7/YH65FdaOO+jw7CXrhfg -ySgxSnI8nJWgX1gUoJX9Bj1sufS4cJ4uU6MQI236EjswyluRchOE7pgk607qLZP5 -1Y9slgD1rhEtM0hkQnP9mgkh8WBI+v50CtbXRhLLHYNJ3xfDgM+PL55Ds9LnAyTm -BabAqH3/2KsnncoPzYh1PUp3JFzUKhH2vyTSancFUQ9WDDmvOvyAV7Zl14rXqJav -eEYgh3ClIy+Knxw63rhjtenEd02oEhSF4SaUDHO05cBwM1b9IcI+XOyvOZ3jjOdn -hNUD+bwPfcbeWlQtPpbTQyDte1G4lY+zXu0b+PsqoQkzuwbpoJZHeOuq8VaCCWBA -X80EWMOk7Lch1rG55RjznxqbbCUlMxs19ULIQoRnaMo/YyJVSv0f5PDCJORWQynD -i0P/TeKEdtxjL+JtC9iuyuC8ZVnz3XmNEyZVFLmd9lcELXfbkhf1jEazAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBACcseJiK+g3YEZB1Xp/EOMfpkE0yFOWWsfnfsPvS -m+0T0lDeUwmuqUfZG2wdBcqKxvxMmrL+E3XXGQs66aO8pwV5Z41CGHabiUAgDH9X -ks/EL15GqdY2uoEuXhJ0EsnzPLw0KJA0NsaOMwTeRSnyIaAVWBL7fsgevmy0uuIp -1gM0agHaaIhKe9rZqL5NXNhT1l+KgP541XFB6V53h+X3r3wGha4NhdNAEz4B42rq -qjljA0+AOSk5nOaku3zH3zDnIr3CzH3iItflYSRKj99yyRWPPShhDbq0JoQgicMS -pohSJsns+UthfauBwEEa2sBfld6CZER/b18zD2xF6hj3L++pMMt8e3THNblFtu4+ -i+aDOwAiFQLxDkDqs6yk8JYBAQEpq4OfIwo73/saM4tU0cMsk+CheR04YixBENsr -0ygjKTYAYoJsijnp0oYnuJz1ZxS0qoH5jx86a8TCqaMaZgQ2b+edBuAMR/YQREPz -lK6W8s2htl+ievQRRxVj66LijG0lDvjusBYJPvxkbXk12alPm0bgzTG9UV9VJV9P -GGAOIMF47MOo8UCEBkkRIHO2xswC3b3u5k/U/18g6UDrHeyUaTAQdvejgH8cTvFG -6NT5mIDtvkMxEfm3tRW6njqkS/nDRcP1H0lIPzG1XdsCqUrsgwDCKTcU0c6Ozves -w1nV +MIIFQDCCAygCAgCJMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU0MzJaFw0yNDEyMDUxMjU0MzJaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQCXYVMCsGbGYRK9kZFr03V46qHVZ/vwqcnmKXNhKO5OSWjrAYaT +taFwcZcvXY4o9RHmcGqfkoik2tRqQD+UwChznY4XpFG0dvUSlO+8eX+72HQjVcEw +ZPW21Mv/QW9Z2uhoLoeNQAezyhJPRRk1NL+GDwtaPOg3nlHAQPVkkNUrnKUjr5af +1yLNdY3kTMSfql5xGMbK7UG7/MxYhCj+3Ce12x3xQANtgBpmlr2e+vQ7dG27Jeqi +3jWSTSs3a/J4YxkNcSF0grJfdcMiQOyrgr9UASZlITBivrBXkaxvO9hoa56AgfEx +NEzHUBtcnME5vptzcqKaynorhwYz11JfUJZ2OT6J/LPhpDWG4cZA0cDhSVuvX9++ +ZCfJG61CRPM7lDVugAyvwgCs7uAj/grhuAcn/8S39YE8wCadZi6mLMWMOQUPPO0/ +EsBmjK6GoIB0HwxtWC08XF/xs/xt6VwQeEpMAJvh6e4e2/98ZYHLNH7OwMtCwi3j +VvLQ7yJLyxVGe+yEcUud5CJGzZFJp7yfAVOWxfERFLbK+F3wo+zZlFROrJ1DEAU2 +BEuzDnSpWVjrp8UBKj30nRBFWGG3DNF6N9hMVMkbV5LJGZpM0sp3YPN212YINL33 +y9K5KAsgdXfDa3H+kUjGvq3EO83eDKvyadKwhh5EGexqnyzs8xmY/j2IWwIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQAivl3hadOCUO6wN9iwoA8OQruqVbVS6OqAEGQN +WnOQnLp8MsgYSG5kBgUToEdWgdLo72LRY988oqLrYW88rxGcsNyk+M1ie0qGjIDJ +GWISgeexWellwLUqx4nn/Vt2sCNfNMg98cIM3lwNmfSVz8NHUF7TCDYc7xYkoZxp +7MjPyiha7Yt72l3D5FxhgBLmXPsXfIha4cahMEfc/kiiQy7eXe5/1xndCPeDATfU +kpkp2bKk9D76rdrDq8PMLbrOnYoFEBOXL1evwwzr1Fw5kmwrW6VDbOcQP4oN/FbL +L9BwKccvdaQDvYMoleKkeIScf0xZ2K+di6zaetmV2hk4GYMAGtfWPRSERD5XMIzo +p9Ibx0N0gg4yMIelcyqQBY/+NSVoK1a2jY7Rv1dnlhDzTbUzeNAu4UIi0JtGLtut +0O8UXYN9cmr0dL/ZV1FdOGtB49xxNTVf/bx2y8PFPXineiunUT6IsiNJNThs029q +7NkKzRDVcZZKFCgz5Hbg85NBvCJ6qF267hSqc/wDn/krCtVGfgYZ3pqAST9lEvvp +VT0IezRC5Oz6rdxzwjp6llGNgXFaMr5wBjjFQEGBSRJaevde5Vri6SYOqeu0L34F +dZedeb+7LKZI51dYgww9gah9ufFx2dCzKojpLcUdQAkr65xWeWnhiYIsSHRzc0ar +UjkxBg== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/iam-external.key b/dev-deployment/environments/certs/server/hosts/localhost/iam-external.key index fc047a954..136c74e30 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/iam-external.key +++ b/dev-deployment/environments/certs/server/hosts/localhost/iam-external.key @@ -1,52 +1,52 @@ -----BEGIN PRIVATE KEY----- -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 -cD+m7yYPKa7FcKYeB131uYMdgCXEoQ== +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 +rn7V2zcofRo6ku7Xc1XxIwE8LJGE -----END PRIVATE KEY----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/iam-external.pem b/dev-deployment/environments/certs/server/hosts/localhost/iam-external.pem index d8d604af8..8d1358be0 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/iam-external.pem +++ b/dev-deployment/environments/certs/server/hosts/localhost/iam-external.pem @@ -1,31 +1,31 @@ -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQUwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDUwNTEyMzQ1MloXDTIzMDUwNTEyMzQ1MlowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAKjEMtvZz88+I2EPNpurLE5AsDadr5yUa7RW9sAmms1TgmthOVpp -Al0yS7EPunq1Q2uIkIrHE8GcNY4wuX1aBICHbCuP8U5tnkZKlMwELjs/8PBqBveD -LU9y5jjxXzq8qyYLBDRvEbPL6XIOi27lDykaPQhXcbS5i3mEIILFTne4ug2NDYl1 -KCPZg8h5hfs+uL/IbxIqHj1It/LNCgT1I7L/lSBVz8u7/YH65FdaOO+jw7CXrhfg -ySgxSnI8nJWgX1gUoJX9Bj1sufS4cJ4uU6MQI236EjswyluRchOE7pgk607qLZP5 -1Y9slgD1rhEtM0hkQnP9mgkh8WBI+v50CtbXRhLLHYNJ3xfDgM+PL55Ds9LnAyTm -BabAqH3/2KsnncoPzYh1PUp3JFzUKhH2vyTSancFUQ9WDDmvOvyAV7Zl14rXqJav -eEYgh3ClIy+Knxw63rhjtenEd02oEhSF4SaUDHO05cBwM1b9IcI+XOyvOZ3jjOdn -hNUD+bwPfcbeWlQtPpbTQyDte1G4lY+zXu0b+PsqoQkzuwbpoJZHeOuq8VaCCWBA -X80EWMOk7Lch1rG55RjznxqbbCUlMxs19ULIQoRnaMo/YyJVSv0f5PDCJORWQynD -i0P/TeKEdtxjL+JtC9iuyuC8ZVnz3XmNEyZVFLmd9lcELXfbkhf1jEazAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBACcseJiK+g3YEZB1Xp/EOMfpkE0yFOWWsfnfsPvS -m+0T0lDeUwmuqUfZG2wdBcqKxvxMmrL+E3XXGQs66aO8pwV5Z41CGHabiUAgDH9X -ks/EL15GqdY2uoEuXhJ0EsnzPLw0KJA0NsaOMwTeRSnyIaAVWBL7fsgevmy0uuIp -1gM0agHaaIhKe9rZqL5NXNhT1l+KgP541XFB6V53h+X3r3wGha4NhdNAEz4B42rq -qjljA0+AOSk5nOaku3zH3zDnIr3CzH3iItflYSRKj99yyRWPPShhDbq0JoQgicMS -pohSJsns+UthfauBwEEa2sBfld6CZER/b18zD2xF6hj3L++pMMt8e3THNblFtu4+ -i+aDOwAiFQLxDkDqs6yk8JYBAQEpq4OfIwo73/saM4tU0cMsk+CheR04YixBENsr -0ygjKTYAYoJsijnp0oYnuJz1ZxS0qoH5jx86a8TCqaMaZgQ2b+edBuAMR/YQREPz -lK6W8s2htl+ievQRRxVj66LijG0lDvjusBYJPvxkbXk12alPm0bgzTG9UV9VJV9P -GGAOIMF47MOo8UCEBkkRIHO2xswC3b3u5k/U/18g6UDrHeyUaTAQdvejgH8cTvFG -6NT5mIDtvkMxEfm3tRW6njqkS/nDRcP1H0lIPzG1XdsCqUrsgwDCKTcU0c6Ozves -w1nV +MIIFQDCCAygCAgCJMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU0MzJaFw0yNDEyMDUxMjU0MzJaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQCXYVMCsGbGYRK9kZFr03V46qHVZ/vwqcnmKXNhKO5OSWjrAYaT +taFwcZcvXY4o9RHmcGqfkoik2tRqQD+UwChznY4XpFG0dvUSlO+8eX+72HQjVcEw +ZPW21Mv/QW9Z2uhoLoeNQAezyhJPRRk1NL+GDwtaPOg3nlHAQPVkkNUrnKUjr5af +1yLNdY3kTMSfql5xGMbK7UG7/MxYhCj+3Ce12x3xQANtgBpmlr2e+vQ7dG27Jeqi +3jWSTSs3a/J4YxkNcSF0grJfdcMiQOyrgr9UASZlITBivrBXkaxvO9hoa56AgfEx +NEzHUBtcnME5vptzcqKaynorhwYz11JfUJZ2OT6J/LPhpDWG4cZA0cDhSVuvX9++ +ZCfJG61CRPM7lDVugAyvwgCs7uAj/grhuAcn/8S39YE8wCadZi6mLMWMOQUPPO0/ +EsBmjK6GoIB0HwxtWC08XF/xs/xt6VwQeEpMAJvh6e4e2/98ZYHLNH7OwMtCwi3j +VvLQ7yJLyxVGe+yEcUud5CJGzZFJp7yfAVOWxfERFLbK+F3wo+zZlFROrJ1DEAU2 +BEuzDnSpWVjrp8UBKj30nRBFWGG3DNF6N9hMVMkbV5LJGZpM0sp3YPN212YINL33 +y9K5KAsgdXfDa3H+kUjGvq3EO83eDKvyadKwhh5EGexqnyzs8xmY/j2IWwIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQAivl3hadOCUO6wN9iwoA8OQruqVbVS6OqAEGQN +WnOQnLp8MsgYSG5kBgUToEdWgdLo72LRY988oqLrYW88rxGcsNyk+M1ie0qGjIDJ +GWISgeexWellwLUqx4nn/Vt2sCNfNMg98cIM3lwNmfSVz8NHUF7TCDYc7xYkoZxp +7MjPyiha7Yt72l3D5FxhgBLmXPsXfIha4cahMEfc/kiiQy7eXe5/1xndCPeDATfU +kpkp2bKk9D76rdrDq8PMLbrOnYoFEBOXL1evwwzr1Fw5kmwrW6VDbOcQP4oN/FbL +L9BwKccvdaQDvYMoleKkeIScf0xZ2K+di6zaetmV2hk4GYMAGtfWPRSERD5XMIzo +p9Ibx0N0gg4yMIelcyqQBY/+NSVoK1a2jY7Rv1dnlhDzTbUzeNAu4UIi0JtGLtut +0O8UXYN9cmr0dL/ZV1FdOGtB49xxNTVf/bx2y8PFPXineiunUT6IsiNJNThs029q +7NkKzRDVcZZKFCgz5Hbg85NBvCJ6qF267hSqc/wDn/krCtVGfgYZ3pqAST9lEvvp +VT0IezRC5Oz6rdxzwjp6llGNgXFaMr5wBjjFQEGBSRJaevde5Vri6SYOqeu0L34F +dZedeb+7LKZI51dYgww9gah9ufFx2dCzKojpLcUdQAkr65xWeWnhiYIsSHRzc0ar +UjkxBg== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/iam-internal.crt b/dev-deployment/environments/certs/server/hosts/localhost/iam-internal.crt index 7e58e5142..6e5618742 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/iam-internal.crt +++ b/dev-deployment/environments/certs/server/hosts/localhost/iam-internal.crt @@ -1,111 +1,111 @@ Certificate: Data: Version: 1 (0x0) - Serial Number: 4 (0x4) - Signature Algorithm: sha256WithRSAEncryption + Serial Number: 133 (0x85) + Signature Algorithm: sha256WithRSAEncryption Issuer: C=fr, ST=idf, L=paris, O=vitamui, OU=authorities, CN=ca_intermediate_server Validity - Not Before: May 5 12:34:48 2020 GMT - Not After : May 5 12:34:48 2023 GMT + Not Before: Dec 6 12:54:12 2021 GMT + Not After : Dec 5 12:54:12 2024 GMT Subject: C=fr, ST=idf, L=paris, O=vitamui, CN=dev.vitamui.com Subject Public Key Info: Public Key Algorithm: rsaEncryption - RSA Public-Key: (4096 bit) + Public-Key: (4096 bit) Modulus: - 00:cc:f8:ed:6e:49:8e:4d:cb:19:b4:cb:8c:9a:38: - 2a:b2:d3:55:fc:6c:5e:bd:3c:02:ca:37:18:60:d3: - 00:0f:a9:71:7c:62:a7:a7:b5:05:a6:99:de:d6:60: - 8f:56:f7:0e:6f:fa:ed:22:13:aa:31:c1:c8:da:bb: - 38:b2:f4:ad:8a:02:6f:ac:c6:a2:89:b6:2b:14:cc: - d9:2e:54:bb:4b:83:ef:f5:39:ea:87:33:6c:55:e5: - ed:15:62:fb:0a:9b:00:c9:c0:99:d4:5e:c6:b4:62: - 78:77:34:bd:a8:cf:57:2b:1b:53:b7:01:48:95:ea: - 04:51:47:ad:8b:d9:0f:bc:93:2f:ab:d1:8d:96:92: - 1b:c5:04:8c:55:22:03:e4:2d:f6:31:0a:93:fb:ec: - 0a:12:a9:31:e5:8a:73:a4:07:80:10:07:88:88:21: - 9f:97:b0:73:b1:13:5a:4e:b7:19:f8:9f:84:0e:43: - 1c:a1:ad:17:7a:a3:bb:a3:4d:ec:dd:2c:45:26:44: - 08:ed:b7:68:6a:8b:b0:48:a5:19:bf:76:90:0b:a8: - ed:3b:57:38:e1:28:74:7a:56:22:65:d8:15:4c:90: - 39:de:7a:87:30:6f:27:70:8c:7b:3c:72:87:95:d4: - 44:7a:26:ef:e2:d1:56:c7:e8:aa:4b:e0:fe:a7:ac: - 41:df:0d:05:72:05:57:49:20:08:b0:be:79:7f:d3: - cf:0d:99:a3:75:ac:ad:9c:e4:45:90:29:e6:46:13: - d7:a8:83:8d:87:ee:0c:f8:cf:b9:3f:21:c5:3a:26: - 32:e3:bd:12:8f:9b:98:61:84:a2:a1:e2:5a:a3:0d: - 78:d3:cc:06:9f:a1:3a:77:fc:de:39:44:30:eb:45: - 8d:ef:a5:4e:41:27:98:5c:e2:b4:e8:a4:9b:be:40: - 69:31:ed:03:d0:cb:db:5c:2f:45:7f:64:df:f9:7a: - c0:66:81:88:c8:51:aa:d0:5c:9c:12:41:10:f7:cd: - 04:cb:91:59:23:4e:66:34:f6:2d:18:ee:b9:3c:d6: - 5d:44:8c:c3:a0:c4:22:0e:22:6b:f7:84:3a:65:c8: - 7d:22:dc:cf:42:46:a7:f8:08:9d:ce:75:86:77:56: - 14:1d:e6:03:dd:ab:91:b2:54:b4:4f:8e:63:a4:18: - 35:b4:ee:2c:b7:b0:24:3f:5d:f7:9b:ec:24:9a:29: - 45:2a:48:96:72:40:9c:2f:16:5e:c2:45:a0:4c:e2: - d6:ee:e6:53:de:80:f2:17:47:0b:1a:be:bc:9d:d6: - cc:96:87:54:91:6f:26:fa:f0:51:01:46:55:ba:f0: - 82:6d:38:a7:87:a2:84:33:4c:81:62:4a:a0:ae:2e: - c4:46:89 + 00:a9:cf:fe:e8:71:ae:03:23:63:51:2b:f4:51:fb: + d4:98:46:a5:08:e5:c3:dd:f1:5b:b3:08:30:a6:10: + 73:20:15:5b:13:02:17:5b:00:5e:53:5b:b4:bf:bc: + d4:4b:7f:37:03:a9:77:27:aa:7d:03:87:86:8b:25: + c8:5a:93:5a:52:eb:ac:05:2f:a7:1f:e2:d0:e1:ee: + 3d:5f:98:c5:12:50:96:1e:ff:2e:08:0f:82:75:7c: + c8:2a:3f:73:e4:b5:f4:46:27:e9:bf:57:00:fd:10: + 50:6d:58:24:0a:5d:86:32:09:78:5e:8f:f2:38:80: + 5d:cd:8b:89:2c:ab:43:64:f3:b3:be:7a:7e:af:62: + 01:9c:e8:99:80:28:fd:ce:c4:75:6c:fa:43:fa:fa: + 92:0e:bf:51:0c:04:2c:eb:ae:e2:d0:f5:c8:35:6d: + 3a:46:df:7f:40:fd:f3:d8:45:0c:15:52:60:c0:18: + e1:7e:30:a1:18:f0:e6:6e:ef:72:0b:3f:60:82:53: + f2:e8:87:5a:93:4d:64:95:ad:36:14:70:a3:b5:a8: + d7:1a:e6:4c:57:7c:10:62:4a:94:f5:e8:30:38:af: + ce:c8:e8:2c:ba:83:22:b1:ca:68:d7:52:6c:bc:8f: + 8b:bc:8e:13:27:1e:b3:31:09:f5:46:4e:21:b5:c9: + 05:c6:ad:44:47:fe:68:5f:03:1e:fe:da:86:9c:c6: + 58:7d:80:a6:5f:0f:db:12:21:8c:ac:62:c8:c0:43: + 84:a9:5b:01:23:5a:68:42:72:9f:8b:0c:f4:09:f0: + de:15:2d:2d:c1:6a:13:89:a4:44:e3:0b:8e:b1:52: + 2d:18:10:5f:bb:fe:83:1f:af:52:a0:00:2d:a3:5a: + da:89:80:19:98:96:71:bd:b3:c6:55:fc:80:fa:77: + 60:e1:77:e4:85:b4:7c:c1:cf:04:07:c7:e1:6f:55: + 9a:69:3d:64:27:f2:b2:39:de:d8:e4:e1:48:2d:d9: + 51:92:9a:92:89:55:84:7a:58:a1:84:12:ac:06:6f: + 36:f3:01:c1:3c:63:be:c3:4c:91:5d:53:c7:f8:5d: + f8:0a:13:a7:0f:73:20:55:e6:a2:c8:6f:c5:72:32: + ab:d1:b5:11:28:4b:30:d0:91:b0:64:cb:c8:35:cf: + b1:f6:12:15:4b:15:00:4b:9d:9b:e8:ca:97:f2:41: + e9:11:5a:d7:0d:7e:94:d4:e9:2f:76:a6:87:4d:1a: + 4c:cf:f4:5d:bd:43:55:1d:8d:c2:c7:cd:50:3f:bd: + 5d:ac:68:d3:40:3d:15:27:57:91:75:a8:ed:31:2e: + e3:d0:e5:64:84:c0:48:0f:0a:5c:5c:cd:0b:2e:fb: + 43:2f:ad Exponent: 65537 (0x10001) Signature Algorithm: sha256WithRSAEncryption - 56:86:a8:ad:38:0c:fa:6d:6c:b2:21:69:0e:55:f0:8f:65:b0: - 17:5f:cf:19:b4:0b:91:bf:6d:9b:79:da:23:44:4d:cd:2c:6b: - f5:a4:77:cd:11:99:db:6e:5a:08:71:c8:05:38:95:a4:ae:53: - 32:43:5a:53:3c:75:9c:da:0b:a4:72:72:a9:4b:c4:c5:8a:b7: - 04:5c:ea:f5:4e:99:7f:f4:5a:0c:21:f0:70:f3:48:b1:ec:32: - f1:47:fe:ae:42:36:17:7b:73:56:8e:d7:27:98:b5:2d:a0:9b: - 54:21:73:d4:32:0d:cb:68:bd:92:b7:3a:61:91:7e:5d:8d:57: - c0:6b:77:66:fb:8b:38:3d:a9:af:02:3f:4f:2c:e3:29:a4:a6: - 6b:eb:f1:8e:d1:d2:2c:c6:9e:79:1a:65:6f:38:cf:82:b3:ca: - 21:c7:1e:84:dd:a4:a1:a9:71:10:4b:a3:e9:82:28:4a:66:19: - d8:00:ec:4f:0d:9b:f2:0c:ac:7c:ef:28:2e:3d:37:be:ff:b5: - 1d:0f:96:c4:d9:a1:6d:9d:ba:8a:4e:0c:6e:83:96:c9:97:ed: - 94:42:4c:52:c5:39:81:fa:62:19:a3:c8:5a:d9:80:1e:2f:ef: - 76:22:94:5e:d1:4c:fb:70:b4:4e:31:e5:d3:d9:b2:2f:12:9e: - 67:8a:e6:27:2f:dd:d0:50:b1:c7:2e:c5:c3:42:2c:70:99:2d: - 6c:76:be:07:ef:c0:05:e0:43:ae:dc:b9:48:49:0c:36:a9:83: - 94:b2:11:96:6f:dc:15:f7:70:4a:05:1e:84:d7:60:d5:04:14: - 0b:10:72:d5:b6:c9:ed:54:77:e3:9d:2b:80:41:a9:7a:a3:42: - ef:e9:84:8b:32:9d:4f:56:00:e3:b3:5c:ac:dd:bd:29:9e:fa: - fd:67:0b:ce:8b:d0:e1:7a:e2:d8:3a:1f:65:a3:7d:dc:33:f9: - 81:f1:c0:7b:8d:13:17:37:ed:3f:fd:fc:f3:d3:bc:9a:70:7c: - 83:ad:4a:19:85:49:7b:87:d6:7b:3b:6d:03:7b:e1:9c:95:d6: - 80:e9:14:76:d4:23:46:6d:e6:b8:98:7f:3c:f8:c3:f8:1c:cf: - 08:ee:c4:f6:17:a5:b8:82:32:69:18:e6:7b:71:d2:f0:a7:25: - 92:84:1c:66:7c:67:b7:23:6e:ba:9a:11:f5:42:51:53:4d:2f: - c3:70:91:5e:4b:fd:c0:a7:3d:d3:df:0d:d8:3c:79:f7:c9:2d: - 68:52:be:59:d5:55:1e:fc:f7:9c:10:7d:7d:36:27:aa:93:6c: - d0:4e:1f:7d:a1:65:8a:bf:9d:01:d5:bf:b0:9c:cb:32:f3:a1: - c9:37:ef:34:b8:29:f4:33 + 2a:8e:c5:36:61:5d:c3:bc:2c:1f:12:c4:cc:d8:ed:80:67:c7: + 60:b7:73:77:cc:a9:77:70:36:f9:36:33:bb:8f:64:1e:82:4f: + eb:e8:6a:03:46:6b:b0:62:e9:f1:dc:dd:4e:f3:22:4d:41:a7: + f6:75:82:f3:f2:e9:41:0c:5a:61:88:64:d2:e4:ff:05:8b:04: + ed:6a:3a:24:08:5c:70:86:a9:37:70:8a:25:43:61:d4:29:73: + 50:c1:f9:3e:7a:73:b7:25:6c:36:15:0a:21:b9:9a:dc:d8:d4: + 3e:1c:2b:d8:d1:49:71:7f:f9:b2:68:59:9e:60:7d:a2:50:8c: + 7c:36:54:4a:92:e7:8d:c6:73:90:76:99:9f:4f:92:05:1c:8f: + 10:f9:15:e0:b7:d0:68:ea:b3:d4:4d:2e:52:8d:8b:86:31:8d: + b0:30:b9:28:8b:4c:bc:d8:e2:b5:dc:4d:2c:13:83:c9:37:51: + bd:22:6f:e4:fc:9a:50:c3:8b:a5:70:40:2d:44:f1:b1:8e:1c: + b6:8b:75:87:fe:6f:1f:85:73:5c:80:cd:0e:3a:c4:e9:ed:40: + 16:07:60:76:9a:a0:29:65:6b:32:7e:cf:db:0f:05:23:dd:ad: + 5b:75:56:bb:bc:00:91:92:f8:49:44:48:32:f5:ed:68:1c:82: + b5:32:54:ab:7f:2d:a3:56:40:0d:3f:ce:72:a4:9c:81:97:0c: + 42:b3:09:85:27:8a:20:65:0e:11:7f:99:4a:c6:c9:8c:39:7f: + ce:6a:12:8a:ee:61:9b:bd:a6:7b:3c:db:45:a0:05:b4:83:20: + 7f:c2:32:42:22:e1:98:51:f8:0c:c1:af:fb:bd:57:28:4e:67: + 82:71:81:31:24:c5:74:89:60:d7:b7:c7:7d:e4:b0:61:58:7c: + 9d:ff:73:8a:7e:e5:d1:76:b2:2c:5d:49:89:6e:af:06:5f:67: + 3e:3e:48:ab:6c:96:15:e9:c9:77:68:62:5c:59:4d:9d:f0:33: + f0:95:d6:12:22:7f:54:26:f2:04:fe:6c:25:1d:94:ad:88:a5: + 4a:4b:6f:45:fb:86:7c:2f:0f:e3:21:9a:63:bf:94:6b:a5:80: + 6f:bb:bf:20:21:dc:85:85:a3:94:83:53:45:93:e8:b3:11:00: + 56:2a:e2:74:50:95:82:ac:5a:96:97:fa:42:3c:17:9c:e2:55: + 83:2f:12:65:c7:28:26:f9:d3:0e:6f:64:70:f9:b1:65:fc:d9: + 42:5c:6b:bc:62:9a:ec:8e:08:3d:79:fc:c7:74:d3:80:fc:22: + 27:e2:fc:5c:92:58:fc:59:f4:8c:2f:79:45:fb:11:57:65:63: + 8f:c5:4b:4b:eb:6b:16:75 -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQQwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDUwNTEyMzQ0OFoXDTIzMDUwNTEyMzQ0OFowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAMz47W5Jjk3LGbTLjJo4KrLTVfxsXr08Aso3GGDTAA+pcXxip6e1 -BaaZ3tZgj1b3Dm/67SITqjHByNq7OLL0rYoCb6zGoom2KxTM2S5Uu0uD7/U56ocz -bFXl7RVi+wqbAMnAmdRexrRieHc0vajPVysbU7cBSJXqBFFHrYvZD7yTL6vRjZaS -G8UEjFUiA+Qt9jEKk/vsChKpMeWKc6QHgBAHiIghn5ewc7ETWk63GfifhA5DHKGt -F3qju6NN7N0sRSZECO23aGqLsEilGb92kAuo7TtXOOEodHpWImXYFUyQOd56hzBv -J3CMezxyh5XURHom7+LRVsfoqkvg/qesQd8NBXIFV0kgCLC+eX/Tzw2Zo3WsrZzk -RZAp5kYT16iDjYfuDPjPuT8hxTomMuO9Eo+bmGGEoqHiWqMNeNPMBp+hOnf83jlE -MOtFje+lTkEnmFzitOikm75AaTHtA9DL21wvRX9k3/l6wGaBiMhRqtBcnBJBEPfN -BMuRWSNOZjT2LRjuuTzWXUSMw6DEIg4ia/eEOmXIfSLcz0JGp/gInc51hndWFB3m -A92rkbJUtE+OY6QYNbTuLLewJD9d95vsJJopRSpIlnJAnC8WXsJFoEzi1u7mU96A -8hdHCxq+vJ3WzJaHVJFvJvrwUQFGVbrwgm04p4eihDNMgWJKoK4uxEaJAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAFaGqK04DPptbLIhaQ5V8I9lsBdfzxm0C5G/bZt5 -2iNETc0sa/Wkd80RmdtuWghxyAU4laSuUzJDWlM8dZzaC6RycqlLxMWKtwRc6vVO -mX/0Wgwh8HDzSLHsMvFH/q5CNhd7c1aO1yeYtS2gm1Qhc9QyDctovZK3OmGRfl2N -V8Brd2b7izg9qa8CP08s4ymkpmvr8Y7R0izGnnkaZW84z4KzyiHHHoTdpKGpcRBL -o+mCKEpmGdgA7E8Nm/IMrHzvKC49N77/tR0PlsTZoW2duopODG6DlsmX7ZRCTFLF -OYH6YhmjyFrZgB4v73YilF7RTPtwtE4x5dPZsi8SnmeK5icv3dBQsccuxcNCLHCZ -LWx2vgfvwAXgQ67cuUhJDDapg5SyEZZv3BX3cEoFHoTXYNUEFAsQctW2ye1Ud+Od -K4BBqXqjQu/phIsynU9WAOOzXKzdvSme+v1nC86L0OF64tg6H2Wjfdwz+YHxwHuN -Exc37T/9/PPTvJpwfIOtShmFSXuH1ns7bQN74ZyV1oDpFHbUI0Zt5riYfzz4w/gc -zwjuxPYXpbiCMmkY5ntx0vCnJZKEHGZ8Z7cjbrqaEfVCUVNNL8NwkV5L/cCnPdPf -Ddg8effJLWhSvlnVVR7895wQfX02J6qTbNBOH32hZYq/nQHVv7CcyzLzock37zS4 -KfQz +MIIFQDCCAygCAgCFMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU0MTJaFw0yNDEyMDUxMjU0MTJaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQCpz/7oca4DI2NRK/RR+9SYRqUI5cPd8VuzCDCmEHMgFVsTAhdb +AF5TW7S/vNRLfzcDqXcnqn0Dh4aLJchak1pS66wFL6cf4tDh7j1fmMUSUJYe/y4I +D4J1fMgqP3PktfRGJ+m/VwD9EFBtWCQKXYYyCXhej/I4gF3Ni4ksq0Nk87O+en6v +YgGc6JmAKP3OxHVs+kP6+pIOv1EMBCzrruLQ9cg1bTpG339A/fPYRQwVUmDAGOF+ +MKEY8OZu73ILP2CCU/Loh1qTTWSVrTYUcKO1qNca5kxXfBBiSpT16DA4r87I6Cy6 +gyKxymjXUmy8j4u8jhMnHrMxCfVGTiG1yQXGrURH/mhfAx7+2oacxlh9gKZfD9sS +IYysYsjAQ4SpWwEjWmhCcp+LDPQJ8N4VLS3BahOJpETjC46xUi0YEF+7/oMfr1Kg +AC2jWtqJgBmYlnG9s8ZV/ID6d2Dhd+SFtHzBzwQHx+FvVZppPWQn8rI53tjk4Ugt +2VGSmpKJVYR6WKGEEqwGbzbzAcE8Y77DTJFdU8f4XfgKE6cPcyBV5qLIb8VyMqvR +tREoSzDQkbBky8g1z7H2EhVLFQBLnZvoypfyQekRWtcNfpTU6S92podNGkzP9F29 +Q1UdjcLHzVA/vV2saNNAPRUnV5F1qO0xLuPQ5WSEwEgPClxczQsu+0MvrQIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQAqjsU2YV3DvCwfEsTM2O2AZ8dgt3N3zKl3cDb5 +NjO7j2Qegk/r6GoDRmuwYunx3N1O8yJNQaf2dYLz8ulBDFphiGTS5P8FiwTtajok +CFxwhqk3cIolQ2HUKXNQwfk+enO3JWw2FQohuZrc2NQ+HCvY0Ulxf/myaFmeYH2i +UIx8NlRKkueNxnOQdpmfT5IFHI8Q+RXgt9Bo6rPUTS5SjYuGMY2wMLkoi0y82OK1 +3E0sE4PJN1G9Im/k/JpQw4ulcEAtRPGxjhy2i3WH/m8fhXNcgM0OOsTp7UAWB2B2 +mqApZWsyfs/bDwUj3a1bdVa7vACRkvhJREgy9e1oHIK1MlSrfy2jVkANP85ypJyB +lwxCswmFJ4ogZQ4Rf5lKxsmMOX/OahKK7mGbvaZ7PNtFoAW0gyB/wjJCIuGYUfgM +wa/7vVcoTmeCcYExJMV0iWDXt8d95LBhWHyd/3OKfuXRdrIsXUmJbq8GX2c+Pkir +bJYV6cl3aGJcWU2d8DPwldYSIn9UJvIE/mwlHZStiKVKS29F+4Z8Lw/jIZpjv5Rr +pYBvu78gIdyFhaOUg1NFk+izEQBWKuJ0UJWCrFqWl/pCPBec4lWDLxJlxygm+dMO +b2Rw+bFl/NlCXGu8Yprsjgg9efzHdNOA/CIn4vxcklj8WfSML3lF+xFXZWOPxUtL +62sWdQ== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/iam-internal.key b/dev-deployment/environments/certs/server/hosts/localhost/iam-internal.key index fb6f20c64..9431dcdc7 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/iam-internal.key +++ b/dev-deployment/environments/certs/server/hosts/localhost/iam-internal.key @@ -1,52 +1,52 @@ -----BEGIN PRIVATE KEY----- -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 -W1Fso2Y80vrlLYXy6Qrh1zWIOZe3L2s= +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 +JUWbri+N4Y7OuIc13LWlSCEWNzGyUQ== -----END PRIVATE KEY----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/iam-internal.pem b/dev-deployment/environments/certs/server/hosts/localhost/iam-internal.pem index 9ff0bb830..0116b705e 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/iam-internal.pem +++ b/dev-deployment/environments/certs/server/hosts/localhost/iam-internal.pem @@ -1,31 +1,31 @@ -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQQwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDUwNTEyMzQ0OFoXDTIzMDUwNTEyMzQ0OFowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAMz47W5Jjk3LGbTLjJo4KrLTVfxsXr08Aso3GGDTAA+pcXxip6e1 -BaaZ3tZgj1b3Dm/67SITqjHByNq7OLL0rYoCb6zGoom2KxTM2S5Uu0uD7/U56ocz -bFXl7RVi+wqbAMnAmdRexrRieHc0vajPVysbU7cBSJXqBFFHrYvZD7yTL6vRjZaS -G8UEjFUiA+Qt9jEKk/vsChKpMeWKc6QHgBAHiIghn5ewc7ETWk63GfifhA5DHKGt -F3qju6NN7N0sRSZECO23aGqLsEilGb92kAuo7TtXOOEodHpWImXYFUyQOd56hzBv -J3CMezxyh5XURHom7+LRVsfoqkvg/qesQd8NBXIFV0kgCLC+eX/Tzw2Zo3WsrZzk -RZAp5kYT16iDjYfuDPjPuT8hxTomMuO9Eo+bmGGEoqHiWqMNeNPMBp+hOnf83jlE -MOtFje+lTkEnmFzitOikm75AaTHtA9DL21wvRX9k3/l6wGaBiMhRqtBcnBJBEPfN -BMuRWSNOZjT2LRjuuTzWXUSMw6DEIg4ia/eEOmXIfSLcz0JGp/gInc51hndWFB3m -A92rkbJUtE+OY6QYNbTuLLewJD9d95vsJJopRSpIlnJAnC8WXsJFoEzi1u7mU96A -8hdHCxq+vJ3WzJaHVJFvJvrwUQFGVbrwgm04p4eihDNMgWJKoK4uxEaJAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAFaGqK04DPptbLIhaQ5V8I9lsBdfzxm0C5G/bZt5 -2iNETc0sa/Wkd80RmdtuWghxyAU4laSuUzJDWlM8dZzaC6RycqlLxMWKtwRc6vVO -mX/0Wgwh8HDzSLHsMvFH/q5CNhd7c1aO1yeYtS2gm1Qhc9QyDctovZK3OmGRfl2N -V8Brd2b7izg9qa8CP08s4ymkpmvr8Y7R0izGnnkaZW84z4KzyiHHHoTdpKGpcRBL -o+mCKEpmGdgA7E8Nm/IMrHzvKC49N77/tR0PlsTZoW2duopODG6DlsmX7ZRCTFLF -OYH6YhmjyFrZgB4v73YilF7RTPtwtE4x5dPZsi8SnmeK5icv3dBQsccuxcNCLHCZ -LWx2vgfvwAXgQ67cuUhJDDapg5SyEZZv3BX3cEoFHoTXYNUEFAsQctW2ye1Ud+Od -K4BBqXqjQu/phIsynU9WAOOzXKzdvSme+v1nC86L0OF64tg6H2Wjfdwz+YHxwHuN -Exc37T/9/PPTvJpwfIOtShmFSXuH1ns7bQN74ZyV1oDpFHbUI0Zt5riYfzz4w/gc -zwjuxPYXpbiCMmkY5ntx0vCnJZKEHGZ8Z7cjbrqaEfVCUVNNL8NwkV5L/cCnPdPf -Ddg8effJLWhSvlnVVR7895wQfX02J6qTbNBOH32hZYq/nQHVv7CcyzLzock37zS4 -KfQz +MIIFQDCCAygCAgCFMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU0MTJaFw0yNDEyMDUxMjU0MTJaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQCpz/7oca4DI2NRK/RR+9SYRqUI5cPd8VuzCDCmEHMgFVsTAhdb +AF5TW7S/vNRLfzcDqXcnqn0Dh4aLJchak1pS66wFL6cf4tDh7j1fmMUSUJYe/y4I +D4J1fMgqP3PktfRGJ+m/VwD9EFBtWCQKXYYyCXhej/I4gF3Ni4ksq0Nk87O+en6v +YgGc6JmAKP3OxHVs+kP6+pIOv1EMBCzrruLQ9cg1bTpG339A/fPYRQwVUmDAGOF+ +MKEY8OZu73ILP2CCU/Loh1qTTWSVrTYUcKO1qNca5kxXfBBiSpT16DA4r87I6Cy6 +gyKxymjXUmy8j4u8jhMnHrMxCfVGTiG1yQXGrURH/mhfAx7+2oacxlh9gKZfD9sS +IYysYsjAQ4SpWwEjWmhCcp+LDPQJ8N4VLS3BahOJpETjC46xUi0YEF+7/oMfr1Kg +AC2jWtqJgBmYlnG9s8ZV/ID6d2Dhd+SFtHzBzwQHx+FvVZppPWQn8rI53tjk4Ugt +2VGSmpKJVYR6WKGEEqwGbzbzAcE8Y77DTJFdU8f4XfgKE6cPcyBV5qLIb8VyMqvR +tREoSzDQkbBky8g1z7H2EhVLFQBLnZvoypfyQekRWtcNfpTU6S92podNGkzP9F29 +Q1UdjcLHzVA/vV2saNNAPRUnV5F1qO0xLuPQ5WSEwEgPClxczQsu+0MvrQIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQAqjsU2YV3DvCwfEsTM2O2AZ8dgt3N3zKl3cDb5 +NjO7j2Qegk/r6GoDRmuwYunx3N1O8yJNQaf2dYLz8ulBDFphiGTS5P8FiwTtajok +CFxwhqk3cIolQ2HUKXNQwfk+enO3JWw2FQohuZrc2NQ+HCvY0Ulxf/myaFmeYH2i +UIx8NlRKkueNxnOQdpmfT5IFHI8Q+RXgt9Bo6rPUTS5SjYuGMY2wMLkoi0y82OK1 +3E0sE4PJN1G9Im/k/JpQw4ulcEAtRPGxjhy2i3WH/m8fhXNcgM0OOsTp7UAWB2B2 +mqApZWsyfs/bDwUj3a1bdVa7vACRkvhJREgy9e1oHIK1MlSrfy2jVkANP85ypJyB +lwxCswmFJ4ogZQ4Rf5lKxsmMOX/OahKK7mGbvaZ7PNtFoAW0gyB/wjJCIuGYUfgM +wa/7vVcoTmeCcYExJMV0iWDXt8d95LBhWHyd/3OKfuXRdrIsXUmJbq8GX2c+Pkir +bJYV6cl3aGJcWU2d8DPwldYSIn9UJvIE/mwlHZStiKVKS29F+4Z8Lw/jIZpjv5Rr +pYBvu78gIdyFhaOUg1NFk+izEQBWKuJ0UJWCrFqWl/pCPBec4lWDLxJlxygm+dMO +b2Rw+bFl/NlCXGu8Yprsjgg9efzHdNOA/CIn4vxcklj8WfSML3lF+xFXZWOPxUtL +62sWdQ== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ingest-external.crt b/dev-deployment/environments/certs/server/hosts/localhost/ingest-external.crt index ca9c349aa..1fc29d4cd 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ingest-external.crt +++ b/dev-deployment/environments/certs/server/hosts/localhost/ingest-external.crt @@ -1,111 +1,111 @@ Certificate: Data: Version: 1 (0x0) - Serial Number: 15 (0xf) + Serial Number: 140 (0x8c) Signature Algorithm: sha256WithRSAEncryption Issuer: C=fr, ST=idf, L=paris, O=vitamui, OU=authorities, CN=ca_intermediate_server Validity - Not Before: Sep 25 23:36:32 2020 GMT - Not After : Sep 25 23:36:32 2023 GMT + Not Before: Dec 6 12:54:51 2021 GMT + Not After : Dec 5 12:54:51 2024 GMT Subject: C=fr, ST=idf, L=paris, O=vitamui, CN=dev.vitamui.com Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (4096 bit) Modulus: - 00:b2:6c:2f:ff:50:dd:9a:54:2d:75:ab:a3:8b:50: - 37:e4:7e:67:7d:0a:6b:12:a5:0f:78:e5:c1:21:84: - b3:2a:94:6d:99:61:2e:2d:73:3f:1c:ed:11:70:cc: - 2c:1c:ef:ce:2f:f7:18:c0:0e:cb:4d:5b:28:5b:aa: - 40:dd:f1:24:47:8a:ed:18:1d:f9:2f:9a:d0:73:2d: - 1e:d1:c5:8f:d7:5b:15:70:df:85:ad:26:a2:43:a0: - 6b:9d:84:97:f7:e1:36:5c:32:cb:6f:47:7b:41:76: - e8:61:cb:72:8f:3b:f7:2e:12:22:83:91:d6:9c:a5: - 8f:f5:53:21:c0:0f:01:d0:7a:fa:fa:e0:5c:23:2a: - c4:12:a6:6b:48:61:67:f8:13:36:67:c2:89:88:c9: - 1f:3f:9e:ed:70:68:25:af:fd:7f:5a:af:46:9b:ce: - 95:d8:d0:28:98:2f:41:8e:d5:32:54:c5:0c:64:30: - 0b:40:e6:59:f2:6a:60:5d:c3:8b:e3:28:78:a0:88: - 00:40:ea:eb:a0:da:72:9b:ad:22:7b:72:2d:65:da: - 09:0a:87:d8:c1:f2:82:0b:d2:b6:b6:a0:c1:88:23: - 15:70:e9:3d:c1:c0:c4:16:5c:ff:d0:01:0a:33:92: - 79:74:ba:68:b1:fb:31:a0:f2:1b:19:13:b3:6a:cf: - f7:d0:1e:c4:75:ce:9c:7d:2b:19:5d:0a:c7:61:88: - 88:f0:46:fc:4a:21:fe:9d:70:e3:a9:c2:3b:9c:51: - f1:84:05:4e:64:6a:8c:a0:79:dc:a1:f6:26:39:6a: - 3a:b3:b0:52:54:2c:71:60:b1:3f:67:4c:bb:5b:fa: - f0:fb:bd:3e:13:dc:3e:42:dc:ef:df:45:26:83:a4: - 57:56:d9:3c:34:91:7a:82:15:ed:4d:25:6a:09:85: - b5:8d:37:7b:a2:bb:6a:11:7f:7f:38:f3:08:c7:16: - 3b:e7:59:2b:f7:43:b8:cb:1a:cb:15:1f:19:2b:7b: - b6:ad:f4:a7:49:9e:e5:58:4a:4b:1a:4b:3c:45:73: - 6d:12:fd:2e:e6:b5:34:35:9a:d2:8e:9b:7f:87:d1: - fd:cb:d5:e9:dd:39:0b:1a:36:d6:2f:90:fb:f4:3d: - 0b:76:24:a2:11:34:fa:6c:62:00:be:b0:67:6f:22: - 6b:87:a7:4e:7f:58:3c:59:02:b6:d6:9c:af:33:aa: - 65:2a:c7:c4:01:36:b2:ed:a5:c7:94:15:b0:50:b2: - d8:7f:20:01:60:01:95:a2:f3:d5:5b:5b:e9:b2:7b: - 15:11:ea:e0:d6:2c:53:90:dd:92:98:8e:d4:f0:da: - d2:c4:2b:a6:55:54:af:9f:e2:93:97:35:70:09:a8: - aa:dc:6b + 00:d2:90:0b:e7:03:bc:56:a4:a3:70:e7:a8:e2:25: + 56:69:e4:10:6d:26:d8:2a:15:97:ed:dd:8b:08:af: + e4:89:03:4a:22:48:b8:9c:5d:ce:2d:a0:5c:d4:a0: + 16:bc:a5:8d:eb:fa:79:8f:b6:c1:83:49:d6:88:40: + 38:fd:86:fe:26:1b:47:15:ad:6b:8d:37:ed:ac:98: + 2c:45:25:10:db:d3:1f:7d:62:e0:20:3c:1a:e8:86: + c3:4c:70:5e:c4:a8:21:a0:bd:c7:77:db:8d:81:6d: + ef:0a:fe:92:a8:1c:c1:51:88:bc:c5:d6:c7:e9:4c: + eb:cb:92:b0:ec:27:14:b1:4f:29:53:8a:b3:8a:84: + 93:0f:dd:7c:d1:a5:7e:a0:d8:c2:a1:ac:f5:57:8d: + f6:ff:fc:42:9e:37:ba:b5:c1:d7:68:9f:56:37:5a: + 1d:15:4d:2d:cf:f1:a6:22:44:31:a6:38:35:db:10: + c6:9f:bd:86:b4:4e:65:d8:b4:ce:8b:b7:8d:be:18: + 7c:e2:b4:38:80:a1:fc:d7:34:9c:1d:7c:e5:c8:84: + 53:52:5b:18:99:ba:04:58:c3:d9:e8:92:f3:ac:81: + 57:fa:fa:5b:3c:ee:82:af:53:7d:39:b4:fc:e8:54: + a2:a6:20:79:4f:2d:97:b6:0c:30:18:83:55:06:3c: + 9a:d7:e0:5a:c8:64:ec:fd:69:f1:9d:1d:5d:0b:48: + f8:54:31:db:12:23:cb:20:a4:21:ff:a4:51:67:8b: + a3:92:7e:c7:8b:34:29:b5:0c:0b:b8:3f:ce:17:04: + 07:49:d9:7f:58:c9:40:9f:38:8a:3b:45:80:69:68: + 22:be:85:ce:73:18:95:0f:fa:96:82:71:6b:91:4d: + a7:2e:08:41:9d:22:a0:cf:a0:b0:14:5a:6c:7c:89: + 54:31:11:46:00:85:4a:4b:ec:10:f2:d5:76:21:2d: + 07:48:a3:e8:bc:17:f0:df:e4:1e:0e:26:47:8a:36: + 24:7c:55:0c:66:f5:07:92:e3:80:51:88:ba:66:b2: + 94:de:2d:e6:0b:50:fa:44:46:3f:0a:3e:ee:28:cc: + 8a:8d:b7:20:f4:32:be:ac:af:f6:6b:dc:cb:02:89: + c5:27:36:ad:88:f0:11:c7:a7:72:4d:b1:69:c8:98: + 01:fe:73:d2:75:b4:85:b2:64:8d:66:82:a5:24:88: + 5c:55:4e:af:74:d9:2b:da:62:7a:73:8e:4a:34:df: + c0:17:e8:c2:72:b9:8e:f0:5b:0e:fd:6d:dd:28:78: + 46:ea:26:f1:24:b3:aa:45:d9:f1:b9:9d:4d:be:33: + 91:d3:80:0c:d0:a1:21:b9:30:2a:f1:7d:ab:42:74: + 65:21:b3 Exponent: 65537 (0x10001) Signature Algorithm: sha256WithRSAEncryption - 29:aa:88:02:0b:5a:cc:e8:0c:82:af:e0:e4:96:48:6a:3b:5f: - 82:42:08:aa:15:c4:df:cd:91:b1:22:67:92:61:70:ea:3b:c7: - 7a:9e:36:89:18:79:37:9a:fe:0a:82:d0:db:9f:ec:9f:3b:b5: - da:dd:55:3d:c4:c7:78:26:78:b8:15:79:7b:dc:19:b2:25:e1: - 83:37:bc:17:6c:7d:db:67:92:61:91:f5:dc:f0:0c:e3:66:f5: - 82:a4:e5:45:09:84:ab:0b:1a:42:39:44:cc:e2:ef:1b:0d:29: - 5e:68:a1:86:55:17:11:70:4d:af:58:e8:46:d0:e3:4f:51:27: - 08:c4:1b:e7:8a:2a:9c:2d:b4:bb:7f:c4:ed:9e:40:f4:1d:8c: - e4:6e:e2:0f:ee:aa:19:29:c8:ea:d9:5f:f4:79:b3:ff:c6:7e: - 2f:1f:47:5e:bb:11:db:24:8e:ae:82:50:75:89:79:11:29:54: - d1:c5:f3:a9:68:32:65:3d:4d:47:e5:f6:9d:b9:83:86:b7:93: - 6b:fe:74:7e:0f:f3:4b:bf:bb:15:89:d1:ed:80:5b:f6:55:0d: - fa:41:aa:37:20:ce:7d:b3:77:87:ef:8d:d4:1b:26:ab:d4:1a: - bb:62:0b:74:b7:4c:a5:dc:c0:d3:3f:b4:56:a7:48:07:f0:03: - 26:2e:d5:0e:81:6b:38:1c:e2:e6:2f:91:57:cb:9d:ed:61:d0: - 08:39:ef:f1:7e:1b:30:2e:fc:60:39:27:20:40:cb:aa:de:ed: - 1b:83:c6:5f:82:dc:c3:66:9f:3d:c7:ef:97:cc:3f:be:c2:7f: - e1:7e:96:e2:ae:b3:84:6d:ff:4e:01:99:d8:46:91:47:5a:49: - 6c:70:97:34:66:0e:3a:88:25:95:91:42:9f:fb:8c:44:3d:d7: - 8e:fe:21:48:d4:cf:c7:90:33:cf:e6:8f:a7:f5:90:95:c9:85: - 4b:30:b6:0f:75:09:31:16:90:fa:60:42:18:2b:fe:d1:43:17: - a2:36:e2:68:e4:69:06:2b:c5:ea:37:e7:b6:a9:e6:b3:2d:5e: - a2:fb:ad:b3:00:0d:5c:60:be:86:7f:47:af:72:4f:a1:66:62: - 65:25:c3:75:35:3c:b8:d7:d6:15:c0:fb:d9:e8:9c:06:e0:6b: - 2f:c2:64:12:18:6f:02:dc:c5:ed:9e:da:7d:99:8d:ac:0a:66: - ef:b7:43:80:02:48:82:61:07:0e:ae:a1:19:5e:06:85:40:04: - 94:bd:6d:93:58:44:0e:93:97:ac:a8:e1:97:49:22:95:dd:bf: - 17:fb:78:cb:58:54:d9:09:c7:a2:af:42:2f:47:b6:b4:f2:cc: - 4a:a0:61:d3:62:10:18:8c + 46:af:c4:4d:7f:9a:cf:2b:55:a0:a6:b7:fb:4d:88:67:21:6f: + c8:58:55:4d:b6:03:6e:64:6e:8a:b5:ad:36:8e:4a:38:bf:0c: + 71:42:bb:9e:cd:ee:69:4a:4d:27:6a:bf:15:f7:be:cf:8a:a8: + 8a:6e:57:10:d2:cd:98:e3:0f:70:f4:c6:52:f6:8d:5b:6a:65: + cf:d5:5e:7d:8a:92:b2:0b:93:5f:84:eb:ab:ee:49:5e:e6:c4: + f6:a1:9b:26:c5:8d:9a:c1:66:de:4b:da:ee:64:27:1b:f2:4b: + 47:2f:89:40:7f:e2:2b:0b:84:8c:8f:a4:6f:27:e5:b2:c4:50: + 53:56:04:29:a9:a4:f0:64:8c:90:b9:f6:bc:d7:ef:77:18:7a: + 2c:4e:08:d0:8a:a0:0c:00:fd:0b:ee:63:16:30:9c:50:e7:87: + 4c:bc:02:36:94:3e:25:64:88:8e:88:c8:86:9f:72:6e:ab:f9: + e6:9a:2c:1e:5c:82:26:62:69:66:42:69:ce:c7:1b:6a:2c:a1: + a6:08:06:2e:be:ec:ef:7c:06:23:59:c0:c2:d1:42:d7:3e:d9: + 88:8b:b9:5d:d3:d9:ba:ca:d4:d5:65:c6:ed:9c:0d:45:ab:82: + 0a:31:af:f1:80:20:d6:b0:00:a8:6f:84:7d:33:e6:38:10:7b: + ab:97:df:77:99:cd:2f:99:38:b4:d7:c9:1f:bd:00:ac:0d:bb: + 76:f9:22:d9:d2:ee:c2:de:05:8c:28:21:08:53:cc:21:28:23: + 7e:88:38:fe:28:3d:f7:85:ab:84:8c:bc:2c:5b:89:16:af:d4: + 16:d4:22:9d:51:6d:88:3a:95:57:44:2b:ad:a2:6d:2f:e1:74: + 9b:60:ef:43:a5:8f:1e:d9:73:e9:d0:64:4c:a0:98:3b:bf:2d: + 87:71:20:eb:11:7f:f4:61:37:d3:c3:63:d1:f8:c5:cc:ce:f4: + b6:70:52:81:81:b7:60:7c:a1:42:4b:8f:83:a9:fd:b6:af:fe: + e9:50:18:b8:15:f1:17:f5:4b:d6:4b:e6:2c:ad:99:a2:73:6f: + 79:a5:63:77:09:4d:d6:4b:df:ef:73:7b:0a:5b:72:3b:45:8c: + ca:48:70:a1:39:c3:5f:58:54:45:ce:29:13:78:9d:78:74:f3: + 65:03:e4:8d:29:69:ac:64:7e:06:61:4a:b0:0d:b8:21:5a:3b: + bd:89:bd:e0:74:80:f9:a5:4d:a7:66:a3:48:74:7a:08:5e:3f: + 06:eb:57:2f:5c:8a:11:3d:0d:23:1f:26:4f:a9:02:7c:fd:9d: + 10:c9:13:ad:a6:d0:d0:91:13:47:da:41:f9:6c:d5:d0:76:47: + ef:7f:47:65:16:d0:71:d8 -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQ8wDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDkyNTIzMzYzMloXDTIzMDkyNTIzMzYzMlowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBALJsL/9Q3ZpULXWro4tQN+R+Z30KaxKlD3jlwSGEsyqUbZlhLi1z -PxztEXDMLBzvzi/3GMAOy01bKFuqQN3xJEeK7Rgd+S+a0HMtHtHFj9dbFXDfha0m -okOga52El/fhNlwyy29He0F26GHLco879y4SIoOR1pylj/VTIcAPAdB6+vrgXCMq -xBKma0hhZ/gTNmfCiYjJHz+e7XBoJa/9f1qvRpvOldjQKJgvQY7VMlTFDGQwC0Dm -WfJqYF3Di+MoeKCIAEDq66DacputIntyLWXaCQqH2MHyggvStragwYgjFXDpPcHA -xBZc/9ABCjOSeXS6aLH7MaDyGxkTs2rP99AexHXOnH0rGV0Kx2GIiPBG/Eoh/p1w -46nCO5xR8YQFTmRqjKB53KH2JjlqOrOwUlQscWCxP2dMu1v68Pu9PhPcPkLc799F -JoOkV1bZPDSReoIV7U0lagmFtY03e6K7ahF/fzjzCMcWO+dZK/dDuMsayxUfGSt7 -tq30p0me5VhKSxpLPEVzbRL9Lua1NDWa0o6bf4fR/cvV6d05Cxo21i+Q+/Q9C3Yk -ohE0+mxiAL6wZ28ia4enTn9YPFkCttacrzOqZSrHxAE2su2lx5QVsFCy2H8gAWAB -laLz1Vtb6bJ7FRHq4NYsU5DdkpiO1PDa0sQrplVUr5/ik5c1cAmoqtxrAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBACmqiAILWszoDIKv4OSWSGo7X4JCCKoVxN/NkbEi -Z5JhcOo7x3qeNokYeTea/gqC0Nuf7J87tdrdVT3Ex3gmeLgVeXvcGbIl4YM3vBds -fdtnkmGR9dzwDONm9YKk5UUJhKsLGkI5RMzi7xsNKV5ooYZVFxFwTa9Y6EbQ409R -JwjEG+eKKpwttLt/xO2eQPQdjORu4g/uqhkpyOrZX/R5s//Gfi8fR167Edskjq6C -UHWJeREpVNHF86loMmU9TUfl9p25g4a3k2v+dH4P80u/uxWJ0e2AW/ZVDfpBqjcg -zn2zd4fvjdQbJqvUGrtiC3S3TKXcwNM/tFanSAfwAyYu1Q6Bazgc4uYvkVfLne1h -0Ag57/F+GzAu/GA5JyBAy6re7RuDxl+C3MNmnz3H75fMP77Cf+F+luKus4Rt/04B -mdhGkUdaSWxwlzRmDjqIJZWRQp/7jEQ9147+IUjUz8eQM8/mj6f1kJXJhUswtg91 -CTEWkPpgQhgr/tFDF6I24mjkaQYrxeo357ap5rMtXqL7rbMADVxgvoZ/R69yT6Fm -YmUlw3U1PLjX1hXA+9nonAbgay/CZBIYbwLcxe2e2n2ZjawKZu+3Q4ACSIJhBw6u -oRleBoVABJS9bZNYRA6Tl6yo4ZdJIpXdvxf7eMtYVNkJx6KvQi9HtrTyzEqgYdNi -EBiM +MIIFQDCCAygCAgCMMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU0NTFaFw0yNDEyMDUxMjU0NTFaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDSkAvnA7xWpKNw56jiJVZp5BBtJtgqFZft3YsIr+SJA0oiSLic +Xc4toFzUoBa8pY3r+nmPtsGDSdaIQDj9hv4mG0cVrWuNN+2smCxFJRDb0x99YuAg +PBrohsNMcF7EqCGgvcd3242Bbe8K/pKoHMFRiLzF1sfpTOvLkrDsJxSxTylTirOK +hJMP3XzRpX6g2MKhrPVXjfb//EKeN7q1wddon1Y3Wh0VTS3P8aYiRDGmODXbEMaf +vYa0TmXYtM6Lt42+GHzitDiAofzXNJwdfOXIhFNSWxiZugRYw9nokvOsgVf6+ls8 +7oKvU305tPzoVKKmIHlPLZe2DDAYg1UGPJrX4FrIZOz9afGdHV0LSPhUMdsSI8sg +pCH/pFFni6OSfseLNCm1DAu4P84XBAdJ2X9YyUCfOIo7RYBpaCK+hc5zGJUP+paC +cWuRTacuCEGdIqDPoLAUWmx8iVQxEUYAhUpL7BDy1XYhLQdIo+i8F/Df5B4OJkeK +NiR8VQxm9QeS44BRiLpmspTeLeYLUPpERj8KPu4ozIqNtyD0Mr6sr/Zr3MsCicUn +Nq2I8BHHp3JNsWnImAH+c9J1tIWyZI1mgqUkiFxVTq902SvaYnpzjko038AX6MJy +uY7wWw79bd0oeEbqJvEks6pF2fG5nU2+M5HTgAzQoSG5MCrxfatCdGUhswIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQBGr8RNf5rPK1Wgprf7TYhnIW/IWFVNtgNuZG6K +ta02jko4vwxxQrueze5pSk0nar8V977PiqiKblcQ0s2Y4w9w9MZS9o1bamXP1V59 +ipKyC5NfhOur7kle5sT2oZsmxY2awWbeS9ruZCcb8ktHL4lAf+IrC4SMj6RvJ+Wy +xFBTVgQpqaTwZIyQufa81+93GHosTgjQiqAMAP0L7mMWMJxQ54dMvAI2lD4lZIiO +iMiGn3Juq/nmmiweXIImYmlmQmnOxxtqLKGmCAYuvuzvfAYjWcDC0ULXPtmIi7ld +09m6ytTVZcbtnA1Fq4IKMa/xgCDWsACob4R9M+Y4EHurl993mc0vmTi018kfvQCs +Dbt2+SLZ0u7C3gWMKCEIU8whKCN+iDj+KD33hauEjLwsW4kWr9QW1CKdUW2IOpVX +RCutom0v4XSbYO9DpY8e2XPp0GRMoJg7vy2HcSDrEX/0YTfTw2PR+MXMzvS2cFKB +gbdgfKFCS4+Dqf22r/7pUBi4FfEX9UvWS+YsrZmic295pWN3CU3WS9/vc3sKW3I7 +RYzKSHChOcNfWFRFzikTeJ14dPNlA+SNKWmsZH4GYUqwDbghWju9ib3gdID5pU2n +ZqNIdHoIXj8G61cvXIoRPQ0jHyZPqQJ8/Z0QyROtptDQkRNH2kH5bNXQdkfvf0dl +FtBx2A== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ingest-external.key b/dev-deployment/environments/certs/server/hosts/localhost/ingest-external.key index ef259d0d0..128979763 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ingest-external.key +++ b/dev-deployment/environments/certs/server/hosts/localhost/ingest-external.key @@ -1,52 +1,52 @@ -----BEGIN PRIVATE KEY----- -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 -9dtCZ6vMA8IzcBWssRiOOFkzset5B7k= +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 +xgzXU9aYQbnr4TxS7sYSfAicb8E/SIYtMw== -----END PRIVATE KEY----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ingest-external.pem b/dev-deployment/environments/certs/server/hosts/localhost/ingest-external.pem index 80ef5a51b..5127d3eaa 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ingest-external.pem +++ b/dev-deployment/environments/certs/server/hosts/localhost/ingest-external.pem @@ -1,31 +1,31 @@ -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQ8wDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDkyNTIzMzYzMloXDTIzMDkyNTIzMzYzMlowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBALJsL/9Q3ZpULXWro4tQN+R+Z30KaxKlD3jlwSGEsyqUbZlhLi1z -PxztEXDMLBzvzi/3GMAOy01bKFuqQN3xJEeK7Rgd+S+a0HMtHtHFj9dbFXDfha0m -okOga52El/fhNlwyy29He0F26GHLco879y4SIoOR1pylj/VTIcAPAdB6+vrgXCMq -xBKma0hhZ/gTNmfCiYjJHz+e7XBoJa/9f1qvRpvOldjQKJgvQY7VMlTFDGQwC0Dm -WfJqYF3Di+MoeKCIAEDq66DacputIntyLWXaCQqH2MHyggvStragwYgjFXDpPcHA -xBZc/9ABCjOSeXS6aLH7MaDyGxkTs2rP99AexHXOnH0rGV0Kx2GIiPBG/Eoh/p1w -46nCO5xR8YQFTmRqjKB53KH2JjlqOrOwUlQscWCxP2dMu1v68Pu9PhPcPkLc799F -JoOkV1bZPDSReoIV7U0lagmFtY03e6K7ahF/fzjzCMcWO+dZK/dDuMsayxUfGSt7 -tq30p0me5VhKSxpLPEVzbRL9Lua1NDWa0o6bf4fR/cvV6d05Cxo21i+Q+/Q9C3Yk -ohE0+mxiAL6wZ28ia4enTn9YPFkCttacrzOqZSrHxAE2su2lx5QVsFCy2H8gAWAB -laLz1Vtb6bJ7FRHq4NYsU5DdkpiO1PDa0sQrplVUr5/ik5c1cAmoqtxrAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBACmqiAILWszoDIKv4OSWSGo7X4JCCKoVxN/NkbEi -Z5JhcOo7x3qeNokYeTea/gqC0Nuf7J87tdrdVT3Ex3gmeLgVeXvcGbIl4YM3vBds -fdtnkmGR9dzwDONm9YKk5UUJhKsLGkI5RMzi7xsNKV5ooYZVFxFwTa9Y6EbQ409R -JwjEG+eKKpwttLt/xO2eQPQdjORu4g/uqhkpyOrZX/R5s//Gfi8fR167Edskjq6C -UHWJeREpVNHF86loMmU9TUfl9p25g4a3k2v+dH4P80u/uxWJ0e2AW/ZVDfpBqjcg -zn2zd4fvjdQbJqvUGrtiC3S3TKXcwNM/tFanSAfwAyYu1Q6Bazgc4uYvkVfLne1h -0Ag57/F+GzAu/GA5JyBAy6re7RuDxl+C3MNmnz3H75fMP77Cf+F+luKus4Rt/04B -mdhGkUdaSWxwlzRmDjqIJZWRQp/7jEQ9147+IUjUz8eQM8/mj6f1kJXJhUswtg91 -CTEWkPpgQhgr/tFDF6I24mjkaQYrxeo357ap5rMtXqL7rbMADVxgvoZ/R69yT6Fm -YmUlw3U1PLjX1hXA+9nonAbgay/CZBIYbwLcxe2e2n2ZjawKZu+3Q4ACSIJhBw6u -oRleBoVABJS9bZNYRA6Tl6yo4ZdJIpXdvxf7eMtYVNkJx6KvQi9HtrTyzEqgYdNi -EBiM +MIIFQDCCAygCAgCMMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU0NTFaFw0yNDEyMDUxMjU0NTFaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDSkAvnA7xWpKNw56jiJVZp5BBtJtgqFZft3YsIr+SJA0oiSLic +Xc4toFzUoBa8pY3r+nmPtsGDSdaIQDj9hv4mG0cVrWuNN+2smCxFJRDb0x99YuAg +PBrohsNMcF7EqCGgvcd3242Bbe8K/pKoHMFRiLzF1sfpTOvLkrDsJxSxTylTirOK +hJMP3XzRpX6g2MKhrPVXjfb//EKeN7q1wddon1Y3Wh0VTS3P8aYiRDGmODXbEMaf +vYa0TmXYtM6Lt42+GHzitDiAofzXNJwdfOXIhFNSWxiZugRYw9nokvOsgVf6+ls8 +7oKvU305tPzoVKKmIHlPLZe2DDAYg1UGPJrX4FrIZOz9afGdHV0LSPhUMdsSI8sg +pCH/pFFni6OSfseLNCm1DAu4P84XBAdJ2X9YyUCfOIo7RYBpaCK+hc5zGJUP+paC +cWuRTacuCEGdIqDPoLAUWmx8iVQxEUYAhUpL7BDy1XYhLQdIo+i8F/Df5B4OJkeK +NiR8VQxm9QeS44BRiLpmspTeLeYLUPpERj8KPu4ozIqNtyD0Mr6sr/Zr3MsCicUn +Nq2I8BHHp3JNsWnImAH+c9J1tIWyZI1mgqUkiFxVTq902SvaYnpzjko038AX6MJy +uY7wWw79bd0oeEbqJvEks6pF2fG5nU2+M5HTgAzQoSG5MCrxfatCdGUhswIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQBGr8RNf5rPK1Wgprf7TYhnIW/IWFVNtgNuZG6K +ta02jko4vwxxQrueze5pSk0nar8V977PiqiKblcQ0s2Y4w9w9MZS9o1bamXP1V59 +ipKyC5NfhOur7kle5sT2oZsmxY2awWbeS9ruZCcb8ktHL4lAf+IrC4SMj6RvJ+Wy +xFBTVgQpqaTwZIyQufa81+93GHosTgjQiqAMAP0L7mMWMJxQ54dMvAI2lD4lZIiO +iMiGn3Juq/nmmiweXIImYmlmQmnOxxtqLKGmCAYuvuzvfAYjWcDC0ULXPtmIi7ld +09m6ytTVZcbtnA1Fq4IKMa/xgCDWsACob4R9M+Y4EHurl993mc0vmTi018kfvQCs +Dbt2+SLZ0u7C3gWMKCEIU8whKCN+iDj+KD33hauEjLwsW4kWr9QW1CKdUW2IOpVX +RCutom0v4XSbYO9DpY8e2XPp0GRMoJg7vy2HcSDrEX/0YTfTw2PR+MXMzvS2cFKB +gbdgfKFCS4+Dqf22r/7pUBi4FfEX9UvWS+YsrZmic295pWN3CU3WS9/vc3sKW3I7 +RYzKSHChOcNfWFRFzikTeJ14dPNlA+SNKWmsZH4GYUqwDbghWju9ib3gdID5pU2n +ZqNIdHoIXj8G61cvXIoRPQ0jHyZPqQJ8/Z0QyROtptDQkRNH2kH5bNXQdkfvf0dl +FtBx2A== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ingest-internal.crt b/dev-deployment/environments/certs/server/hosts/localhost/ingest-internal.crt index 0e765dbc5..7ecaaf05a 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ingest-internal.crt +++ b/dev-deployment/environments/certs/server/hosts/localhost/ingest-internal.crt @@ -1,111 +1,111 @@ Certificate: Data: Version: 1 (0x0) - Serial Number: 14 (0xe) + Serial Number: 135 (0x87) Signature Algorithm: sha256WithRSAEncryption Issuer: C=fr, ST=idf, L=paris, O=vitamui, OU=authorities, CN=ca_intermediate_server Validity - Not Before: Sep 25 23:36:26 2020 GMT - Not After : Sep 25 23:36:26 2023 GMT + Not Before: Dec 6 12:54:23 2021 GMT + Not After : Dec 5 12:54:23 2024 GMT Subject: C=fr, ST=idf, L=paris, O=vitamui, CN=dev.vitamui.com Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (4096 bit) Modulus: - 00:ab:18:57:59:40:3c:93:93:24:e6:10:bc:35:78: - ee:df:04:09:1e:16:76:87:29:30:84:8f:05:a6:5e: - 65:76:aa:90:41:b4:d5:99:7c:90:66:ce:6c:49:87: - 10:4b:30:e5:7a:3c:19:bf:a1:a3:7e:ac:c1:85:57: - d7:1b:0f:a6:c0:61:65:a6:30:6e:3b:84:68:4a:e8: - c7:ca:c9:71:df:d6:3b:d7:1f:60:4f:e8:af:17:75: - 5a:9b:a9:09:d3:90:0f:c5:4e:0e:e0:28:8c:40:90: - f0:7f:1b:9e:29:cc:ef:10:ef:28:87:ec:a4:fd:d7: - a2:f6:2b:f2:0a:dd:6b:55:e9:c1:d9:ec:18:55:42: - ee:e6:ee:92:e5:a9:f5:7d:8b:92:dc:91:ea:45:43: - 8b:1f:3a:50:c6:05:fb:ba:79:4d:a5:92:67:34:eb: - 41:3e:ba:7a:a3:fe:d3:84:17:57:c7:32:da:78:a4: - 88:8f:79:63:ce:28:0f:b8:82:da:57:6e:a2:7d:13: - ea:28:55:5b:77:43:92:86:29:c3:24:6e:82:f1:75: - 07:66:57:93:53:26:85:7c:7b:cf:1a:f1:64:98:76: - 5b:bf:15:bb:9b:65:fa:d0:01:f9:36:e3:e0:49:9d: - 05:63:c8:7f:19:2b:fe:3b:09:99:fc:0e:52:08:95: - 8d:b9:fa:3c:b3:11:fd:23:79:09:c9:4d:af:ee:f7: - 90:93:16:7c:e9:e9:05:19:16:2b:0d:6d:df:86:cc: - b5:45:61:4d:10:9b:3c:65:3a:39:35:40:ec:73:f2: - 68:14:ac:51:b4:b8:77:e7:89:15:2a:14:b7:40:9a: - b8:3b:6e:6a:d6:1f:29:f1:06:f4:6d:27:7c:e0:a4: - 0a:34:9b:d0:21:88:f1:6e:5d:1a:4f:8b:44:0c:67: - ff:5d:f0:a6:81:0c:e0:b0:0a:a0:c8:b1:f4:f8:be: - 1c:cc:6e:a8:c4:71:76:d2:78:93:b4:c0:99:c2:76: - 47:a6:de:f0:04:8a:4f:7f:92:20:d2:75:56:28:66: - 76:49:1b:2a:f7:2b:3f:12:80:f4:7a:94:3e:65:cd: - 92:8b:e2:9e:3f:6a:88:36:d5:23:de:43:da:91:e7: - e8:d3:36:2e:b9:cf:80:6d:9c:c0:13:a3:f6:97:20: - e3:74:b2:79:ba:31:8e:15:3d:c1:f2:ac:63:ed:2e: - 06:5a:b8:33:cc:45:60:5c:e8:ce:73:1b:be:3b:2b: - 1f:cb:71:59:ff:61:cf:36:b2:8b:09:00:d9:d9:8d: - 47:5d:f1:66:75:5b:f8:0a:73:fc:ef:fb:50:6f:75: - a5:4b:e0:bb:9d:b5:29:9f:79:3e:e2:29:16:12:0a: - 7a:6f:ef + 00:b6:a0:d2:b6:1d:ce:a4:44:4a:f3:90:1c:98:79: + 75:5b:01:6c:a4:c7:e6:d9:e9:f0:34:c2:fa:21:b0: + ee:2c:fa:70:d0:b8:8b:cd:7c:34:a7:a5:2a:c8:d6: + 32:fa:e0:f2:09:7a:6c:74:f0:c1:65:89:69:aa:58: + c3:5b:43:06:5d:2a:21:55:33:85:3f:4f:db:29:ed: + 23:1b:6a:ec:16:bf:ab:24:25:a4:70:8c:93:58:20: + de:e4:c8:80:b9:a1:f3:f0:2e:17:b2:6d:9d:b8:70: + f1:73:c3:6d:bc:3e:05:5e:b1:26:cf:0f:a4:8e:c1: + 10:f2:db:d5:3c:34:4c:79:2c:ea:d1:50:43:f7:72: + 0b:66:f8:4d:26:1b:03:6b:8a:1b:8d:c2:22:bd:7d: + e0:17:dd:1f:38:32:10:dd:85:0a:ad:72:45:0c:2b: + e9:fe:15:60:71:74:01:1e:bf:e2:d7:24:84:90:fc: + 2f:28:6c:16:16:ce:23:80:75:9d:f6:a9:d3:32:59: + 45:58:c8:e2:3d:f9:fe:e7:ba:87:ae:39:16:af:42: + e4:82:1e:ce:b2:e0:94:d2:7f:64:cd:e7:7c:e1:2c: + ad:27:3d:90:5a:e6:57:49:14:7f:d6:cf:3b:08:c3: + 47:36:d1:ab:af:ec:63:ab:00:75:9a:1e:b4:45:39: + 85:39:07:ab:1c:3c:6e:91:b4:a9:7a:5d:40:62:10: + 0d:fd:b2:d8:69:1d:40:5d:80:25:45:6a:c8:76:24: + 31:d4:a9:66:cd:d9:02:0c:27:f0:15:42:87:d2:43: + 12:54:36:17:0f:c8:40:26:b0:07:6c:36:18:83:ad: + b4:1a:03:63:5f:27:54:12:8e:60:21:67:fd:4e:cd: + 95:18:a0:f2:6f:dc:c6:1b:60:1e:ef:76:89:b0:07: + 5e:ff:75:82:f7:71:89:3d:e7:35:7d:a0:f0:76:ab: + 48:ff:7c:6e:fb:de:9e:eb:f3:52:6d:ad:57:1a:6b: + 7f:d9:ee:71:30:5b:f3:47:fc:93:3a:35:a7:2e:23: + 28:d0:18:b7:8a:ea:8e:22:ef:d4:fc:7a:ec:38:33: + f8:5e:46:5c:ab:3e:84:c5:28:b6:ab:34:5f:9b:93: + 94:87:6b:93:8b:48:e8:57:1a:42:f8:cb:bb:dd:74: + ba:56:e1:0b:1b:6d:92:41:04:37:46:7a:74:1d:92: + 47:05:f1:d5:57:43:07:63:c7:22:ef:8f:9c:3f:41: + 28:c8:cb:9f:34:19:37:88:b6:13:96:ae:15:ad:1f: + cb:62:e6:4c:c0:15:05:c1:23:83:54:06:ef:fc:98: + c7:95:37:7f:92:cd:db:64:17:f9:04:bb:28:d5:67: + fb:cf:a7 Exponent: 65537 (0x10001) Signature Algorithm: sha256WithRSAEncryption - 7e:18:ad:a3:28:8f:86:ad:7a:33:46:d6:73:28:f5:e4:22:a8: - 62:f7:14:20:0c:29:d4:f1:64:91:42:23:c3:ea:38:09:08:23: - 8c:12:fb:7f:cb:e4:5f:0e:4d:0a:04:fe:a3:3f:17:34:89:10: - a2:3a:08:65:72:cc:51:cf:0b:da:8e:aa:cc:1b:98:69:f5:31: - 39:65:ff:cc:4b:69:00:5e:04:52:8b:65:00:25:99:53:49:52: - 1c:ce:69:33:c9:24:5e:12:da:96:b6:74:13:68:57:50:a7:ce: - c8:ef:87:61:f7:27:9d:47:4c:8c:83:1a:80:77:f1:42:89:4e: - 56:fe:72:0e:19:46:26:36:bb:55:c2:ad:f1:b3:84:a2:70:42: - 80:0f:9d:93:8b:ac:44:f2:19:cd:89:df:98:77:7c:7c:8f:12: - 68:ca:dc:e6:30:4a:8b:66:65:c1:0b:05:e8:8f:a8:87:2e:dd: - d5:3b:be:18:a5:05:0c:1a:7f:da:3c:cd:03:de:55:3a:ed:61: - 61:35:c0:f7:48:0c:2d:17:aa:14:2f:b9:47:cf:35:68:a4:0f: - 26:f6:1e:73:05:f2:26:e2:75:cd:92:19:90:b6:d2:e6:6c:4b: - d2:1f:8d:e6:76:51:43:64:c0:17:d5:ad:ff:d2:1d:59:72:56: - c2:d5:36:a4:e7:ae:c4:a7:20:7e:44:92:5e:09:dc:ad:c0:7f: - 73:05:f3:ae:f0:6f:7e:88:26:da:a4:19:71:b8:7d:7d:04:01: - 61:fb:69:42:5d:84:04:3d:95:3a:12:35:e0:41:9c:bc:8f:73: - 0f:1d:73:83:bf:6d:4f:bf:df:69:79:f4:ce:4e:4c:4e:68:ed: - 5b:ed:56:a3:29:5b:94:3c:54:c2:50:5a:2e:9c:89:eb:92:e8: - 3f:84:f4:3e:e0:0f:b5:6b:41:ca:f7:09:e2:6f:cb:b0:05:5f: - 66:10:d3:83:5c:f6:02:37:9f:38:62:ee:88:be:12:ff:8f:f6: - 12:0f:30:29:9a:15:00:05:b7:ad:f3:01:2b:5c:aa:0c:30:b1: - 7a:68:29:4c:42:b3:2a:1b:2f:28:d3:be:51:6b:80:53:67:58: - e6:e8:3c:40:8c:b8:8c:50:b2:63:ec:97:6c:ab:f0:b8:e4:cf: - 4c:20:25:2b:27:fc:0f:f3:01:79:bf:27:e1:65:fd:da:02:39: - aa:87:aa:c0:b1:a5:3f:6a:d4:9b:48:15:44:63:9c:be:50:f0: - 16:28:e2:fb:70:e2:a5:8f:77:d4:86:44:f2:05:12:76:94:94: - f3:96:b2:92:07:4b:93:54:05:f6:d2:4e:2d:4f:88:dc:da:bf: - 94:88:b7:c1:6b:73:a3:82 + 3d:98:e5:fb:66:6d:1a:8c:06:ef:4e:4f:a0:66:42:72:a9:9a: + 85:d4:ee:cb:cd:30:4b:a1:a5:5d:d0:65:27:30:8b:8c:21:81: + 87:92:8d:30:12:63:da:37:95:d6:0d:ef:6a:9b:64:4e:f2:04: + 36:fc:a4:81:49:6b:41:f7:e5:38:20:2d:55:ad:37:a6:c0:f1: + 2f:43:d6:e1:8f:f0:dc:de:3f:57:b3:d3:50:84:f7:5e:82:a1: + 97:cf:29:aa:2f:bf:e9:f3:be:55:58:86:a9:be:76:1e:32:68: + be:f3:c8:19:8d:87:eb:2b:13:7a:1f:ff:04:03:8c:96:26:bf: + 54:38:9c:89:b3:5c:53:ad:02:15:96:61:48:18:c5:d8:58:7f: + 53:d8:60:8f:b4:96:1a:ec:8d:98:b6:f9:46:00:b2:c0:98:7b: + 09:26:5b:68:4f:57:5b:56:ef:17:38:a9:f5:40:1b:d5:a8:28: + c4:94:12:d8:e2:f2:6c:9d:ca:ef:ac:e3:e8:62:03:3d:e6:ca: + cc:21:bc:37:29:a0:f8:79:4c:d4:8f:eb:54:54:99:50:19:30: + 00:0e:fc:96:e6:67:99:6d:c6:fa:67:f9:88:73:90:41:72:b4: + 6b:3c:47:c9:34:e7:bc:12:00:30:96:d8:24:8f:c2:a1:8d:d5: + 17:2e:78:10:90:31:08:2a:a1:66:a2:45:3c:02:37:cf:4c:66: + 4a:c1:8a:b4:92:fd:e6:6f:a7:73:9f:11:fd:45:98:ae:f3:f0: + 4b:8d:f9:e7:92:97:ab:33:df:12:c3:73:8b:f0:b2:1b:d8:22: + d1:99:46:f8:3a:d2:25:85:55:70:e7:39:05:c8:36:44:dc:89: + e8:f1:6e:3b:c3:b8:0a:39:99:71:b1:62:ce:a1:68:42:b4:7c: + ff:d9:ff:a4:9d:db:fb:b2:17:dd:3e:53:af:11:08:da:63:cc: + 9b:04:f5:78:c6:c4:28:b7:67:09:23:2b:15:41:fc:6e:9f:c7: + be:14:3c:61:bb:f5:a1:33:bd:9b:f3:e3:24:22:f1:5e:a8:83: + b1:f2:6b:1c:c2:d1:20:fd:0e:7d:96:24:27:c0:c4:27:90:a8: + e4:54:af:f9:a7:fc:52:5b:25:9e:bf:c4:6d:fb:17:d4:74:27: + 3d:81:32:46:ee:b4:53:30:70:ec:24:88:ac:ab:6d:74:18:a0: + b7:9a:e8:93:bf:e6:9f:ad:32:82:5e:59:e1:71:27:22:3c:0d: + b6:3b:17:fa:f5:37:31:9b:44:ba:c1:53:0b:2b:98:98:69:5f: + 5c:c5:a2:28:d8:7e:76:e6:cd:81:73:02:39:a8:dc:95:4e:69: + 77:07:22:db:37:3a:b1:e3 -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQ4wDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDkyNTIzMzYyNloXDTIzMDkyNTIzMzYyNlowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAKsYV1lAPJOTJOYQvDV47t8ECR4WdocpMISPBaZeZXaqkEG01Zl8 -kGbObEmHEEsw5Xo8Gb+ho36swYVX1xsPpsBhZaYwbjuEaErox8rJcd/WO9cfYE/o -rxd1WpupCdOQD8VODuAojECQ8H8bninM7xDvKIfspP3XovYr8grda1XpwdnsGFVC -7ubukuWp9X2LktyR6kVDix86UMYF+7p5TaWSZzTrQT66eqP+04QXV8cy2nikiI95 -Y84oD7iC2lduon0T6ihVW3dDkoYpwyRugvF1B2ZXk1MmhXx7zxrxZJh2W78Vu5tl -+tAB+Tbj4EmdBWPIfxkr/jsJmfwOUgiVjbn6PLMR/SN5CclNr+73kJMWfOnpBRkW -Kw1t34bMtUVhTRCbPGU6OTVA7HPyaBSsUbS4d+eJFSoUt0CauDtuatYfKfEG9G0n -fOCkCjSb0CGI8W5dGk+LRAxn/13wpoEM4LAKoMix9Pi+HMxuqMRxdtJ4k7TAmcJ2 -R6be8ASKT3+SINJ1VihmdkkbKvcrPxKA9HqUPmXNkovinj9qiDbVI95D2pHn6NM2 -LrnPgG2cwBOj9pcg43SyeboxjhU9wfKsY+0uBlq4M8xFYFzoznMbvjsrH8txWf9h -zzayiwkA2dmNR13xZnVb+Apz/O/7UG91pUvgu521KZ95PuIpFhIKem/vAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAH4YraMoj4atejNG1nMo9eQiqGL3FCAMKdTxZJFC -I8PqOAkII4wS+3/L5F8OTQoE/qM/FzSJEKI6CGVyzFHPC9qOqswbmGn1MTll/8xL -aQBeBFKLZQAlmVNJUhzOaTPJJF4S2pa2dBNoV1Cnzsjvh2H3J51HTIyDGoB38UKJ -Tlb+cg4ZRiY2u1XCrfGzhKJwQoAPnZOLrETyGc2J35h3fHyPEmjK3OYwSotmZcEL -BeiPqIcu3dU7vhilBQwaf9o8zQPeVTrtYWE1wPdIDC0XqhQvuUfPNWikDyb2HnMF -8ibidc2SGZC20uZsS9IfjeZ2UUNkwBfVrf/SHVlyVsLVNqTnrsSnIH5Ekl4J3K3A -f3MF867wb36IJtqkGXG4fX0EAWH7aUJdhAQ9lToSNeBBnLyPcw8dc4O/bU+/32l5 -9M5OTE5o7VvtVqMpW5Q8VMJQWi6cieuS6D+E9D7gD7VrQcr3CeJvy7AFX2YQ04Nc -9gI3nzhi7oi+Ev+P9hIPMCmaFQAFt63zAStcqgwwsXpoKUxCsyobLyjTvlFrgFNn -WOboPECMuIxQsmPsl2yr8Ljkz0wgJSsn/A/zAXm/J+Fl/doCOaqHqsCxpT9q1JtI -FURjnL5Q8BYo4vtw4qWPd9SGRPIFEnaUlPOWspIHS5NUBfbSTi1PiNzav5SIt8Fr -c6OC +MIIFQDCCAygCAgCHMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU0MjNaFw0yNDEyMDUxMjU0MjNaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQC2oNK2Hc6kRErzkByYeXVbAWykx+bZ6fA0wvohsO4s+nDQuIvN +fDSnpSrI1jL64PIJemx08MFliWmqWMNbQwZdKiFVM4U/T9sp7SMbauwWv6skJaRw +jJNYIN7kyIC5ofPwLheybZ24cPFzw228PgVesSbPD6SOwRDy29U8NEx5LOrRUEP3 +cgtm+E0mGwNrihuNwiK9feAX3R84MhDdhQqtckUMK+n+FWBxdAEev+LXJISQ/C8o +bBYWziOAdZ32qdMyWUVYyOI9+f7nuoeuORavQuSCHs6y4JTSf2TN53zhLK0nPZBa +5ldJFH/WzzsIw0c20auv7GOrAHWaHrRFOYU5B6scPG6RtKl6XUBiEA39sthpHUBd +gCVFash2JDHUqWbN2QIMJ/AVQofSQxJUNhcPyEAmsAdsNhiDrbQaA2NfJ1QSjmAh +Z/1OzZUYoPJv3MYbYB7vdomwB17/dYL3cYk95zV9oPB2q0j/fG773p7r81JtrVca +a3/Z7nEwW/NH/JM6NacuIyjQGLeK6o4i79T8euw4M/heRlyrPoTFKLarNF+bk5SH +a5OLSOhXGkL4y7vddLpW4QsbbZJBBDdGenQdkkcF8dVXQwdjxyLvj5w/QSjIy580 +GTeIthOWrhWtH8ti5kzAFQXBI4NUBu/8mMeVN3+SzdtkF/kEuyjVZ/vPpwIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQA9mOX7Zm0ajAbvTk+gZkJyqZqF1O7LzTBLoaVd +0GUnMIuMIYGHko0wEmPaN5XWDe9qm2RO8gQ2/KSBSWtB9+U4IC1VrTemwPEvQ9bh +j/Dc3j9Xs9NQhPdegqGXzymqL7/p875VWIapvnYeMmi+88gZjYfrKxN6H/8EA4yW +Jr9UOJyJs1xTrQIVlmFIGMXYWH9T2GCPtJYa7I2YtvlGALLAmHsJJltoT1dbVu8X +OKn1QBvVqCjElBLY4vJsncrvrOPoYgM95srMIbw3KaD4eUzUj+tUVJlQGTAADvyW +5meZbcb6Z/mIc5BBcrRrPEfJNOe8EgAwltgkj8KhjdUXLngQkDEIKqFmokU8AjfP +TGZKwYq0kv3mb6dznxH9RZiu8/BLjfnnkperM98Sw3OL8LIb2CLRmUb4OtIlhVVw +5zkFyDZE3Ino8W47w7gKOZlxsWLOoWhCtHz/2f+kndv7shfdPlOvEQjaY8ybBPV4 +xsQot2cJIysVQfxun8e+FDxhu/WhM72b8+MkIvFeqIOx8mscwtEg/Q59liQnwMQn +kKjkVK/5p/xSWyWev8Rt+xfUdCc9gTJG7rRTMHDsJIisq210GKC3muiTv+afrTKC +XlnhcSciPA22Oxf69Tcxm0S6wVMLK5iYaV9cxaIo2H525s2BcwI5qNyVTml3ByLb +Nzqx4w== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ingest-internal.key b/dev-deployment/environments/certs/server/hosts/localhost/ingest-internal.key index 024b83360..882553a72 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ingest-internal.key +++ b/dev-deployment/environments/certs/server/hosts/localhost/ingest-internal.key @@ -1,52 +1,52 @@ -----BEGIN PRIVATE KEY----- -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 -XPW9A7IEhtwyQlztwKSmYgIZU+ffRVKm +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 +1CPWVmd0oWKfsGKjFKPBFIHmd7oFUg== -----END PRIVATE KEY----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ingest-internal.pem b/dev-deployment/environments/certs/server/hosts/localhost/ingest-internal.pem index 428467c32..eaf73b584 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ingest-internal.pem +++ b/dev-deployment/environments/certs/server/hosts/localhost/ingest-internal.pem @@ -1,31 +1,31 @@ -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQ4wDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDkyNTIzMzYyNloXDTIzMDkyNTIzMzYyNlowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAKsYV1lAPJOTJOYQvDV47t8ECR4WdocpMISPBaZeZXaqkEG01Zl8 -kGbObEmHEEsw5Xo8Gb+ho36swYVX1xsPpsBhZaYwbjuEaErox8rJcd/WO9cfYE/o -rxd1WpupCdOQD8VODuAojECQ8H8bninM7xDvKIfspP3XovYr8grda1XpwdnsGFVC -7ubukuWp9X2LktyR6kVDix86UMYF+7p5TaWSZzTrQT66eqP+04QXV8cy2nikiI95 -Y84oD7iC2lduon0T6ihVW3dDkoYpwyRugvF1B2ZXk1MmhXx7zxrxZJh2W78Vu5tl -+tAB+Tbj4EmdBWPIfxkr/jsJmfwOUgiVjbn6PLMR/SN5CclNr+73kJMWfOnpBRkW -Kw1t34bMtUVhTRCbPGU6OTVA7HPyaBSsUbS4d+eJFSoUt0CauDtuatYfKfEG9G0n -fOCkCjSb0CGI8W5dGk+LRAxn/13wpoEM4LAKoMix9Pi+HMxuqMRxdtJ4k7TAmcJ2 -R6be8ASKT3+SINJ1VihmdkkbKvcrPxKA9HqUPmXNkovinj9qiDbVI95D2pHn6NM2 -LrnPgG2cwBOj9pcg43SyeboxjhU9wfKsY+0uBlq4M8xFYFzoznMbvjsrH8txWf9h -zzayiwkA2dmNR13xZnVb+Apz/O/7UG91pUvgu521KZ95PuIpFhIKem/vAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAH4YraMoj4atejNG1nMo9eQiqGL3FCAMKdTxZJFC -I8PqOAkII4wS+3/L5F8OTQoE/qM/FzSJEKI6CGVyzFHPC9qOqswbmGn1MTll/8xL -aQBeBFKLZQAlmVNJUhzOaTPJJF4S2pa2dBNoV1Cnzsjvh2H3J51HTIyDGoB38UKJ -Tlb+cg4ZRiY2u1XCrfGzhKJwQoAPnZOLrETyGc2J35h3fHyPEmjK3OYwSotmZcEL -BeiPqIcu3dU7vhilBQwaf9o8zQPeVTrtYWE1wPdIDC0XqhQvuUfPNWikDyb2HnMF -8ibidc2SGZC20uZsS9IfjeZ2UUNkwBfVrf/SHVlyVsLVNqTnrsSnIH5Ekl4J3K3A -f3MF867wb36IJtqkGXG4fX0EAWH7aUJdhAQ9lToSNeBBnLyPcw8dc4O/bU+/32l5 -9M5OTE5o7VvtVqMpW5Q8VMJQWi6cieuS6D+E9D7gD7VrQcr3CeJvy7AFX2YQ04Nc -9gI3nzhi7oi+Ev+P9hIPMCmaFQAFt63zAStcqgwwsXpoKUxCsyobLyjTvlFrgFNn -WOboPECMuIxQsmPsl2yr8Ljkz0wgJSsn/A/zAXm/J+Fl/doCOaqHqsCxpT9q1JtI -FURjnL5Q8BYo4vtw4qWPd9SGRPIFEnaUlPOWspIHS5NUBfbSTi1PiNzav5SIt8Fr -c6OC +MIIFQDCCAygCAgCHMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU0MjNaFw0yNDEyMDUxMjU0MjNaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQC2oNK2Hc6kRErzkByYeXVbAWykx+bZ6fA0wvohsO4s+nDQuIvN +fDSnpSrI1jL64PIJemx08MFliWmqWMNbQwZdKiFVM4U/T9sp7SMbauwWv6skJaRw +jJNYIN7kyIC5ofPwLheybZ24cPFzw228PgVesSbPD6SOwRDy29U8NEx5LOrRUEP3 +cgtm+E0mGwNrihuNwiK9feAX3R84MhDdhQqtckUMK+n+FWBxdAEev+LXJISQ/C8o +bBYWziOAdZ32qdMyWUVYyOI9+f7nuoeuORavQuSCHs6y4JTSf2TN53zhLK0nPZBa +5ldJFH/WzzsIw0c20auv7GOrAHWaHrRFOYU5B6scPG6RtKl6XUBiEA39sthpHUBd +gCVFash2JDHUqWbN2QIMJ/AVQofSQxJUNhcPyEAmsAdsNhiDrbQaA2NfJ1QSjmAh +Z/1OzZUYoPJv3MYbYB7vdomwB17/dYL3cYk95zV9oPB2q0j/fG773p7r81JtrVca +a3/Z7nEwW/NH/JM6NacuIyjQGLeK6o4i79T8euw4M/heRlyrPoTFKLarNF+bk5SH +a5OLSOhXGkL4y7vddLpW4QsbbZJBBDdGenQdkkcF8dVXQwdjxyLvj5w/QSjIy580 +GTeIthOWrhWtH8ti5kzAFQXBI4NUBu/8mMeVN3+SzdtkF/kEuyjVZ/vPpwIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQA9mOX7Zm0ajAbvTk+gZkJyqZqF1O7LzTBLoaVd +0GUnMIuMIYGHko0wEmPaN5XWDe9qm2RO8gQ2/KSBSWtB9+U4IC1VrTemwPEvQ9bh +j/Dc3j9Xs9NQhPdegqGXzymqL7/p875VWIapvnYeMmi+88gZjYfrKxN6H/8EA4yW +Jr9UOJyJs1xTrQIVlmFIGMXYWH9T2GCPtJYa7I2YtvlGALLAmHsJJltoT1dbVu8X +OKn1QBvVqCjElBLY4vJsncrvrOPoYgM95srMIbw3KaD4eUzUj+tUVJlQGTAADvyW +5meZbcb6Z/mIc5BBcrRrPEfJNOe8EgAwltgkj8KhjdUXLngQkDEIKqFmokU8AjfP +TGZKwYq0kv3mb6dznxH9RZiu8/BLjfnnkperM98Sw3OL8LIb2CLRmUb4OtIlhVVw +5zkFyDZE3Ino8W47w7gKOZlxsWLOoWhCtHz/2f+kndv7shfdPlOvEQjaY8ybBPV4 +xsQot2cJIysVQfxun8e+FDxhu/WhM72b8+MkIvFeqIOx8mscwtEg/Q59liQnwMQn +kKjkVK/5p/xSWyWev8Rt+xfUdCc9gTJG7rRTMHDsJIisq210GKC3muiTv+afrTKC +XlnhcSciPA22Oxf69Tcxm0S6wVMLK5iYaV9cxaIo2H525s2BcwI5qNyVTml3ByLb +Nzqx4w== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/pastis-external.crt b/dev-deployment/environments/certs/server/hosts/localhost/pastis-external.crt new file mode 100644 index 000000000..6fb6de2c6 --- /dev/null +++ b/dev-deployment/environments/certs/server/hosts/localhost/pastis-external.crt @@ -0,0 +1,111 @@ +Certificate: + Data: + Version: 1 (0x0) + Serial Number: 142 (0x8e) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=fr, ST=idf, L=paris, O=vitamui, OU=authorities, CN=ca_intermediate_server + Validity + Not Before: Dec 6 12:55:04 2021 GMT + Not After : Dec 5 12:55:04 2024 GMT + Subject: C=fr, ST=idf, L=paris, O=vitamui, CN=dev.vitamui.com + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (4096 bit) + Modulus: + 00:cb:ef:f4:bf:9c:f3:ee:60:df:0b:18:b8:9a:38: + 62:b1:a6:5d:ea:4d:4a:28:c3:97:93:70:ed:a6:dc: + a4:1b:51:6b:47:99:cf:41:c6:13:e6:33:70:30:1f: + 82:ec:7c:41:7e:ef:3a:96:34:bd:bb:b1:8f:23:33: + a9:c8:8f:59:c1:73:95:0f:ef:44:82:02:63:74:16: + ca:e7:09:6c:fb:84:60:bb:d3:2d:4e:d1:f6:98:29: + b9:0d:00:95:c0:c0:8f:a8:3e:cb:e6:15:e4:47:69: + aa:db:00:37:49:73:32:c4:d2:4d:b1:fc:46:c4:98: + 58:d2:e8:05:55:02:77:c5:e8:a8:71:0c:10:5e:5f: + 6d:8d:76:0b:c7:33:61:77:9e:1e:0a:f9:1b:e5:02: + da:b6:d2:bc:47:04:27:fb:d4:b8:67:f6:d6:db:63: + ed:29:79:38:f3:ce:5d:75:01:6e:19:72:f4:14:11: + e8:ec:92:41:f7:ea:1e:d2:76:0e:b0:51:74:92:b9: + bb:87:18:2c:46:71:b7:23:6d:c6:93:e7:fb:b0:cf: + dd:47:6b:01:d8:12:4a:5f:2c:6c:29:cc:f2:e1:6e: + c2:ac:ba:ca:6f:b4:c9:0b:74:73:22:88:c4:af:64: + d1:6b:26:e5:0c:f8:21:cd:d2:43:46:13:bd:30:e6: + ce:61:75:38:4e:19:05:fe:52:ee:82:4a:71:28:12: + e9:ef:04:19:ce:1e:38:db:92:e8:5c:8e:85:ee:1f: + d0:68:9c:d3:3b:8a:eb:82:79:75:d7:73:4e:e8:e6: + bd:de:f7:41:0b:8a:61:40:3e:ec:9d:71:1f:e0:11: + e6:de:1c:31:39:31:4d:d4:41:23:7f:3a:aa:b2:e5: + d3:6c:63:6a:13:2d:29:d3:2b:65:b6:15:bc:3b:5c: + 8b:23:2b:42:90:40:d0:4b:40:3c:b7:c3:84:49:c5: + e5:d9:72:9e:6e:80:c2:09:db:4b:6d:25:5d:94:27: + 6a:e1:dd:56:2c:34:10:0f:31:7c:a1:e7:81:57:08: + 4d:e1:73:2d:27:8f:63:86:20:ec:d4:20:4a:32:87: + 53:b6:79:28:bc:bf:93:3b:8f:fc:1a:c7:c3:0e:a4: + fa:16:09:b2:2b:18:0c:53:42:5c:6e:17:e9:99:20: + 2f:1b:8a:aa:0d:17:f8:f3:59:e2:99:3a:31:37:3f: + 7a:6f:c2:0b:ed:0f:34:0a:2a:53:d2:89:ca:5d:18: + ef:83:1d:eb:f5:eb:0c:9a:b2:b3:84:38:d3:40:01: + 29:9e:c0:33:cd:c3:e0:a9:a7:57:73:c8:05:5b:06: + 2e:45:8c:61:cb:a6:6c:9b:eb:07:46:a1:d4:b3:21: + 94:79:9f + Exponent: 65537 (0x10001) + Signature Algorithm: sha256WithRSAEncryption + 84:6c:b1:ac:80:41:ac:a2:85:e3:ba:7f:d3:3a:3e:95:6f:ab: + c6:4c:59:8c:ed:e6:ba:e1:af:6a:be:2a:b4:ca:ec:db:d2:da: + 91:3c:e2:49:86:6e:77:08:0e:fe:47:36:10:9d:5d:95:b4:3a: + 6e:d9:d8:0a:98:71:e5:98:96:ae:9f:88:5c:2a:32:0e:15:a7: + 0e:93:d9:8f:37:06:1a:be:22:11:92:d6:53:06:42:a2:a4:02: + c7:f5:6c:95:62:ec:12:42:5b:ed:00:91:dd:34:4e:94:48:99: + b3:57:51:b4:f4:54:d0:7c:65:ee:de:ed:20:58:3b:dc:ac:c9: + 28:69:9f:21:9a:49:76:bd:8f:be:7e:6a:e8:5b:06:eb:1a:ff: + 14:d1:41:02:9e:56:aa:04:de:75:58:8f:7d:b6:86:da:87:e4: + 41:84:c3:cf:fc:5b:83:2e:4b:97:17:39:1a:bf:b6:8d:f4:67: + 2a:e4:7c:eb:90:10:fd:21:aa:18:0e:e0:42:7b:90:1c:67:f0: + e9:4e:60:b7:d1:bd:94:bd:3f:1c:71:c9:22:50:04:a9:0e:98: + 51:2d:74:df:fe:3e:de:5b:f7:86:13:f4:51:a4:d7:40:f0:19: + 2d:7a:6c:74:77:bc:f9:94:a5:ce:49:85:fd:2d:6a:d6:0d:f7: + fd:cc:7e:a3:bc:2e:42:6b:a1:f9:a9:04:38:fe:5b:f0:75:fb: + 81:cc:cf:a6:73:64:50:13:e2:f6:dc:ae:8e:38:6d:3f:8d:7c: + 54:25:65:3b:16:ff:24:df:9c:22:c1:02:08:56:e2:e1:a5:54: + 7a:1c:a7:e5:5d:a4:93:18:ea:6e:f2:76:0f:c6:12:52:bc:2b: + b3:57:30:95:b2:09:f9:68:02:ea:b6:96:41:15:96:27:cf:f9: + d5:9d:0f:7c:1e:3e:89:8c:b4:c3:07:f1:fa:cc:87:0e:f4:8a: + 46:17:46:05:a5:e5:bc:e9:bd:89:10:d6:99:b9:d1:57:f4:62: + 44:66:46:e6:0d:59:f8:2e:01:59:bb:55:8a:40:36:df:f1:46: + 21:88:5a:4b:da:15:cb:5b:fe:1e:b1:86:c5:97:5f:4d:8c:91: + 6c:5f:03:56:1e:8b:33:83:1a:f5:70:12:a1:cf:33:36:ff:67: + 30:f8:46:51:2b:23:3e:ca:61:e4:79:ba:35:cd:b7:87:9f:9c: + 7e:aa:4f:5a:97:bd:bc:d3:d0:4f:f8:1d:16:90:e7:7f:1b:02: + 89:b1:6c:59:8c:77:51:9a:3e:13:29:0e:91:85:b1:ee:6e:27: + da:4b:5a:f2:44:b2:ac:91:0d:f3:2d:04:67:9b:02:7d:f8:22: + 38:fb:0a:9c:1c:0b:89:c5 +-----BEGIN CERTIFICATE----- +MIIFQDCCAygCAgCOMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU1MDRaFw0yNDEyMDUxMjU1MDRaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDL7/S/nPPuYN8LGLiaOGKxpl3qTUoow5eTcO2m3KQbUWtHmc9B +xhPmM3AwH4LsfEF+7zqWNL27sY8jM6nIj1nBc5UP70SCAmN0FsrnCWz7hGC70y1O +0faYKbkNAJXAwI+oPsvmFeRHaarbADdJczLE0k2x/EbEmFjS6AVVAnfF6KhxDBBe +X22NdgvHM2F3nh4K+RvlAtq20rxHBCf71Lhn9tbbY+0peTjzzl11AW4ZcvQUEejs +kkH36h7Sdg6wUXSSubuHGCxGcbcjbcaT5/uwz91HawHYEkpfLGwpzPLhbsKsuspv +tMkLdHMiiMSvZNFrJuUM+CHN0kNGE70w5s5hdThOGQX+Uu6CSnEoEunvBBnOHjjb +kuhcjoXuH9BonNM7iuuCeXXXc07o5r3e90ELimFAPuydcR/gEebeHDE5MU3UQSN/ +Oqqy5dNsY2oTLSnTK2W2Fbw7XIsjK0KQQNBLQDy3w4RJxeXZcp5ugMIJ20ttJV2U +J2rh3VYsNBAPMXyh54FXCE3hcy0nj2OGIOzUIEoyh1O2eSi8v5M7j/wax8MOpPoW +CbIrGAxTQlxuF+mZIC8biqoNF/jzWeKZOjE3P3pvwgvtDzQKKlPSicpdGO+DHev1 +6wyasrOEONNAASmewDPNw+Cpp1dzyAVbBi5FjGHLpmyb6wdGodSzIZR5nwIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQCEbLGsgEGsooXjun/TOj6Vb6vGTFmM7ea64a9q +viq0yuzb0tqRPOJJhm53CA7+RzYQnV2VtDpu2dgKmHHlmJaun4hcKjIOFacOk9mP +NwYaviIRktZTBkKipALH9WyVYuwSQlvtAJHdNE6USJmzV1G09FTQfGXu3u0gWDvc +rMkoaZ8hmkl2vY++fmroWwbrGv8U0UECnlaqBN51WI99tobah+RBhMPP/FuDLkuX +Fzkav7aN9Gcq5HzrkBD9IaoYDuBCe5AcZ/DpTmC30b2UvT8ccckiUASpDphRLXTf +/j7eW/eGE/RRpNdA8Bktemx0d7z5lKXOSYX9LWrWDff9zH6jvC5Ca6H5qQQ4/lvw +dfuBzM+mc2RQE+L23K6OOG0/jXxUJWU7Fv8k35wiwQIIVuLhpVR6HKflXaSTGOpu +8nYPxhJSvCuzVzCVsgn5aALqtpZBFZYnz/nVnQ98Hj6JjLTDB/H6zIcO9IpGF0YF +peW86b2JENaZudFX9GJEZkbmDVn4LgFZu1WKQDbf8UYhiFpL2hXLW/4esYbFl19N +jJFsXwNWHoszgxr1cBKhzzM2/2cw+EZRKyM+ymHkebo1zbeHn5x+qk9al72809BP ++B0WkOd/GwKJsWxZjHdRmj4TKQ6RhbHubifaS1ryRLKskQ3zLQRnmwJ9+CI4+wqc +HAuJxQ== +-----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/pastis-external.key b/dev-deployment/environments/certs/server/hosts/localhost/pastis-external.key new file mode 100644 index 000000000..190e327ca --- /dev/null +++ b/dev-deployment/environments/certs/server/hosts/localhost/pastis-external.key @@ -0,0 +1,52 @@ +-----BEGIN PRIVATE KEY----- +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 +PUAodKPuTB6tUFrjkxEDdWEovCWPVeE= +-----END PRIVATE KEY----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/pastis-external.pem b/dev-deployment/environments/certs/server/hosts/localhost/pastis-external.pem new file mode 100644 index 000000000..3aed8506c --- /dev/null +++ b/dev-deployment/environments/certs/server/hosts/localhost/pastis-external.pem @@ -0,0 +1,31 @@ +-----BEGIN CERTIFICATE----- +MIIFQDCCAygCAgCOMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU1MDRaFw0yNDEyMDUxMjU1MDRaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDL7/S/nPPuYN8LGLiaOGKxpl3qTUoow5eTcO2m3KQbUWtHmc9B +xhPmM3AwH4LsfEF+7zqWNL27sY8jM6nIj1nBc5UP70SCAmN0FsrnCWz7hGC70y1O +0faYKbkNAJXAwI+oPsvmFeRHaarbADdJczLE0k2x/EbEmFjS6AVVAnfF6KhxDBBe +X22NdgvHM2F3nh4K+RvlAtq20rxHBCf71Lhn9tbbY+0peTjzzl11AW4ZcvQUEejs +kkH36h7Sdg6wUXSSubuHGCxGcbcjbcaT5/uwz91HawHYEkpfLGwpzPLhbsKsuspv +tMkLdHMiiMSvZNFrJuUM+CHN0kNGE70w5s5hdThOGQX+Uu6CSnEoEunvBBnOHjjb +kuhcjoXuH9BonNM7iuuCeXXXc07o5r3e90ELimFAPuydcR/gEebeHDE5MU3UQSN/ +Oqqy5dNsY2oTLSnTK2W2Fbw7XIsjK0KQQNBLQDy3w4RJxeXZcp5ugMIJ20ttJV2U +J2rh3VYsNBAPMXyh54FXCE3hcy0nj2OGIOzUIEoyh1O2eSi8v5M7j/wax8MOpPoW +CbIrGAxTQlxuF+mZIC8biqoNF/jzWeKZOjE3P3pvwgvtDzQKKlPSicpdGO+DHev1 +6wyasrOEONNAASmewDPNw+Cpp1dzyAVbBi5FjGHLpmyb6wdGodSzIZR5nwIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQCEbLGsgEGsooXjun/TOj6Vb6vGTFmM7ea64a9q +viq0yuzb0tqRPOJJhm53CA7+RzYQnV2VtDpu2dgKmHHlmJaun4hcKjIOFacOk9mP +NwYaviIRktZTBkKipALH9WyVYuwSQlvtAJHdNE6USJmzV1G09FTQfGXu3u0gWDvc +rMkoaZ8hmkl2vY++fmroWwbrGv8U0UECnlaqBN51WI99tobah+RBhMPP/FuDLkuX +Fzkav7aN9Gcq5HzrkBD9IaoYDuBCe5AcZ/DpTmC30b2UvT8ccckiUASpDphRLXTf +/j7eW/eGE/RRpNdA8Bktemx0d7z5lKXOSYX9LWrWDff9zH6jvC5Ca6H5qQQ4/lvw +dfuBzM+mc2RQE+L23K6OOG0/jXxUJWU7Fv8k35wiwQIIVuLhpVR6HKflXaSTGOpu +8nYPxhJSvCuzVzCVsgn5aALqtpZBFZYnz/nVnQ98Hj6JjLTDB/H6zIcO9IpGF0YF +peW86b2JENaZudFX9GJEZkbmDVn4LgFZu1WKQDbf8UYhiFpL2hXLW/4esYbFl19N +jJFsXwNWHoszgxr1cBKhzzM2/2cw+EZRKyM+ymHkebo1zbeHn5x+qk9al72809BP ++B0WkOd/GwKJsWxZjHdRmj4TKQ6RhbHubifaS1ryRLKskQ3zLQRnmwJ9+CI4+wqc +HAuJxQ== +-----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/referential-external.crt b/dev-deployment/environments/certs/server/hosts/localhost/referential-external.crt index 703a9eea4..47b6793ab 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/referential-external.crt +++ b/dev-deployment/environments/certs/server/hosts/localhost/referential-external.crt @@ -1,111 +1,111 @@ Certificate: Data: Version: 1 (0x0) - Serial Number: 12 (0xc) - Signature Algorithm: sha256WithRSAEncryption + Serial Number: 139 (0x8b) + Signature Algorithm: sha256WithRSAEncryption Issuer: C=fr, ST=idf, L=paris, O=vitamui, OU=authorities, CN=ca_intermediate_server Validity - Not Before: Jul 17 13:48:43 2020 GMT - Not After : Jul 17 13:48:43 2023 GMT + Not Before: Dec 6 12:54:44 2021 GMT + Not After : Dec 5 12:54:44 2024 GMT Subject: C=fr, ST=idf, L=paris, O=vitamui, CN=dev.vitamui.com Subject Public Key Info: Public Key Algorithm: rsaEncryption - RSA Public-Key: (4096 bit) + Public-Key: (4096 bit) Modulus: - 00:c7:1a:47:54:c9:a7:55:86:58:d4:b7:3f:1c:08: - 6a:ef:1c:25:db:49:05:ca:5b:71:1e:cd:af:e5:90: - 8c:52:f5:72:e5:97:35:ee:a2:36:53:65:1d:43:f2: - a1:bf:05:db:b6:c0:48:fd:75:77:af:c0:b2:d3:78: - 9a:46:e4:17:7f:1f:69:b7:0c:30:26:11:27:ad:a8: - 5a:a0:a4:23:1f:9e:af:60:1e:92:6f:cc:15:79:94: - e1:ac:0b:4f:6f:0f:12:71:f1:bf:97:74:49:85:d1: - 0d:41:c3:6f:e7:f2:72:8f:e6:f3:79:b0:4a:bb:7d: - 3a:12:32:78:67:97:a1:2c:2b:10:9c:4b:b4:ba:c9: - f5:75:3a:be:8c:74:66:af:d6:aa:0b:fb:ab:26:9a: - 51:b6:4d:63:ee:f5:c5:e7:75:f9:4a:e1:6c:64:e9: - 06:6c:3b:f6:87:34:d6:b1:4c:21:d0:e9:5e:ed:cf: - 12:f2:7a:38:45:fd:72:c5:de:19:19:14:b8:42:97: - 7e:41:d7:fb:75:0f:50:9d:8e:37:5d:9d:c9:92:d9: - c1:24:6c:e7:ea:d8:26:65:82:6e:5a:d2:c7:37:89: - a9:92:4a:8a:13:85:4c:3b:85:3b:87:3a:db:ae:08: - e2:8e:1c:af:37:3c:45:8f:37:aa:9f:05:83:32:44: - 27:47:2c:3a:9f:98:3c:06:ab:95:a5:06:20:42:77: - 4c:d3:23:95:42:21:40:0a:0e:0c:c4:75:de:bc:b5: - 75:47:51:0a:54:a5:f9:54:e6:1d:ab:30:0c:8f:37: - a3:d3:10:84:2a:9c:cf:b1:93:0b:52:6b:f1:2c:cd: - 35:f6:cd:54:0c:b6:a1:c9:30:18:86:24:61:f8:b8: - 08:4f:c2:8f:be:d1:07:38:51:c2:81:ac:da:66:ff: - 58:e3:75:70:8a:df:58:58:95:7f:9a:15:9f:67:1e: - 24:01:32:bc:01:5f:91:87:ea:7e:33:8f:a2:e0:5a: - ea:3d:5b:a4:a1:c8:e2:52:c6:ec:b9:d7:df:1b:6a: - c1:c3:7c:cf:8c:fc:85:cc:71:35:a5:60:16:4b:7d: - 05:2b:77:33:35:52:6d:fc:4b:71:ea:b7:54:ad:8a: - 64:1c:80:33:61:4c:99:9f:15:5f:23:d3:66:fe:05: - ee:f2:c8:93:59:4c:4d:15:2a:34:6b:75:7f:07:9b: - 70:c2:1c:39:ef:14:bb:e8:93:1d:84:d0:19:5e:12: - 27:73:d8:eb:01:92:6e:2b:b3:74:3f:21:73:ef:f8: - a2:73:98:ee:b6:75:e2:9c:15:35:ea:ff:36:22:14: - 47:d4:7a:c7:ff:b1:28:80:cb:86:64:de:a5:01:64: - 9d:36:93 + 00:d8:61:7d:02:23:e3:fb:1d:4e:b2:91:5e:f1:19: + 9f:64:ee:f9:41:d5:2d:df:25:62:13:ac:49:02:79: + b0:be:30:db:93:a9:9d:f8:05:6f:d5:94:ea:81:e9: + 38:9b:6d:53:dd:5c:ee:3b:48:01:a3:e7:19:41:bd: + f1:33:fd:15:ad:0b:56:f4:c9:4c:77:18:7a:55:c3: + 82:7a:fd:28:15:cb:c9:b2:b3:b6:9e:a5:04:bf:d9: + 26:52:09:b5:43:1e:c3:f2:12:8f:74:a3:9c:50:53: + 27:a3:70:28:a3:22:c8:b7:da:ef:12:8a:ba:04:bb: + e6:17:d4:f9:e6:c7:19:53:30:2d:59:e0:78:22:fc: + 2e:8d:4b:fc:92:19:8d:19:6a:5c:6a:47:59:3d:88: + 43:37:2b:6f:97:b4:a1:3c:52:95:45:13:6e:28:d6: + ce:91:1f:63:cd:92:22:41:41:62:f0:7f:71:ac:4a: + fb:ec:4b:72:81:e9:df:78:6d:20:9f:3e:1d:89:e6: + 8b:10:b9:89:f0:19:99:d1:75:a6:6c:ca:03:4f:db: + d9:c3:42:83:e5:39:e9:ab:dc:7e:a0:6e:db:39:71: + 85:90:b2:5b:a0:b5:f5:32:a5:7c:78:e9:f2:93:88: + e8:aa:42:a1:e8:22:55:d9:70:06:cd:cb:be:cb:39: + 46:7d:1c:00:e1:92:56:74:3e:ac:27:e0:69:4f:5e: + 47:8c:dc:d4:70:c2:a4:e6:d8:37:a9:c9:00:15:48: + 29:f8:0c:20:22:9c:ef:1a:a1:3a:b3:1c:76:96:6f: + 3c:6a:19:7b:e7:e9:2c:a5:8b:f3:44:2d:5e:12:94: + e9:6f:86:29:a2:8f:ec:aa:a9:bd:97:a2:da:d1:31: + 5b:88:c1:0d:a5:8b:e6:8d:c4:d3:74:24:26:30:5e: + ad:e6:65:1a:14:d8:f9:0a:7b:84:1f:b1:10:e9:23: + bf:d1:31:6c:f4:aa:f5:00:8f:71:40:e7:c6:fc:6e: + 83:eb:23:d3:98:df:81:c7:3d:e6:f3:12:a2:2f:6c: + 5e:3c:22:07:e4:06:5c:bd:98:5e:12:c9:01:9a:74: + 52:91:96:64:7b:64:7e:0e:cd:b0:8e:27:1d:db:40: + 9f:03:fb:ad:49:cd:fb:f5:03:d4:f9:ad:b9:4c:56: + fe:22:8d:3c:7a:0d:ab:9c:59:1e:31:ba:f1:9c:e9: + 17:bd:a6:be:34:52:fe:e1:c1:25:fb:e4:66:5c:70: + ba:40:72:70:c0:62:90:62:4c:e6:57:01:9d:97:4d: + 24:bb:20:7f:ab:80:a6:e5:94:17:2f:54:6b:ed:0e: + b2:a2:b3:02:a3:17:b8:34:c7:b6:b0:c4:cf:c7:37: + 25:7d:07 Exponent: 65537 (0x10001) Signature Algorithm: sha256WithRSAEncryption - 02:41:79:16:ea:16:8a:a5:d0:16:3c:7d:76:66:88:bb:29:0e: - 86:ab:b8:70:55:b5:bb:8b:a1:b5:ea:f1:ff:20:e4:19:9f:ad: - 56:13:2e:b0:86:e6:f3:ac:09:53:82:b8:3e:eb:d2:16:85:21: - 81:3a:27:1c:17:a3:6b:aa:f5:85:bc:f6:6a:98:5c:b4:7d:b8: - 87:2b:8d:b5:0a:0e:7f:30:6e:ff:f3:5b:5f:37:13:be:78:b5: - 62:a8:ff:d1:02:61:56:15:84:aa:f8:36:a2:15:b6:ae:7e:dc: - f2:77:0e:c5:b5:2e:f5:6d:26:1c:8e:3f:2f:18:1b:e5:87:ee: - 86:75:18:cb:11:50:25:78:e0:25:5b:cc:c6:1d:32:85:ed:21: - 84:3f:fe:23:17:b8:35:64:e2:86:9e:38:0e:3a:98:79:6f:95: - 4c:de:ec:96:c9:04:35:f4:39:a2:48:5d:0e:f3:0b:4e:3d:fa: - ca:cd:3e:1e:c3:ba:e0:d7:80:e6:98:4f:54:cf:fa:98:c8:45: - 83:af:b6:43:11:4d:b4:20:7e:3b:30:94:a1:f7:13:8c:46:28: - dd:a8:2e:33:ca:c1:08:fd:15:fa:36:86:a5:65:66:a5:82:1c: - 1e:ed:9d:a8:9e:ec:28:3b:52:bf:de:ee:bd:a7:07:ad:b3:29: - fb:24:44:60:52:29:7f:51:69:cf:28:35:c3:c9:67:60:3c:50: - bc:f2:49:10:c0:59:26:5f:4c:30:97:cc:0d:0f:02:f5:29:f8: - 6a:4d:09:3d:06:ba:b6:51:cc:07:b0:65:0e:ae:d7:19:10:0e: - a9:4e:e8:03:69:73:0e:f2:0c:a2:68:8a:7f:f9:7b:47:82:f1: - 16:3f:06:55:ee:4c:7f:23:d3:40:28:d1:fd:97:88:e3:be:dd: - 71:26:b9:ca:4c:17:b2:ec:e6:06:65:fa:41:b1:57:27:83:80: - e7:79:2e:bc:ae:d7:f6:07:5b:bc:0f:a8:1a:ab:46:a1:57:0b: - ad:99:bd:6e:2a:e1:17:a4:dd:01:0f:5e:33:b9:4d:43:35:f9: - 44:24:3c:c2:6e:d4:c1:b0:51:2c:df:b9:0c:09:22:ba:fb:4c: - bd:46:b4:87:d2:4f:29:ff:f0:75:a5:aa:77:c0:51:31:b0:22: - 58:f5:30:a3:4e:67:2a:36:47:b3:1d:9d:37:7b:12:c5:6f:a9: - d5:ee:eb:29:97:37:a4:f8:98:92:56:1f:5a:3b:f9:85:b0:cf: - fd:16:bb:b0:3e:db:92:56:9b:ea:60:bb:df:d9:fd:7f:24:f0: - c2:6d:3a:36:66:ba:7b:63:1a:1f:b9:19:62:a4:06:88:d1:15: - 6b:a5:99:24:e0:ae:15:9e + 8f:22:03:1a:e0:e5:f3:91:4f:b6:d5:4c:27:37:e7:5c:33:17: + 16:6f:42:56:0e:39:3c:ad:db:51:02:13:4c:e9:65:4f:78:a8: + 8e:ed:5e:e1:8d:05:56:67:7e:50:17:bf:20:97:1f:0b:d4:d8: + 3c:b6:62:f8:13:bb:6a:46:70:b8:b0:34:4b:47:a3:d8:f4:4c: + a0:00:73:37:48:3c:ce:20:84:12:7f:45:cf:37:53:3f:6a:5d: + 31:96:37:43:08:98:35:94:e5:96:9d:ec:dc:7a:64:1e:60:51: + 49:dd:f4:23:a3:30:63:9d:d3:bf:f2:a3:e1:ec:19:8c:ad:d7: + 32:36:a3:e3:66:ca:c5:86:4e:b4:78:f8:7e:1d:55:40:48:06: + e8:ae:0d:bb:58:15:c1:06:13:3f:b5:64:8e:ff:ca:39:10:d6: + 69:6c:f7:88:8c:7c:47:0e:87:bd:72:9f:d0:cd:9a:f0:c7:9e: + 2d:d5:ee:6e:83:6f:bd:64:5c:2d:56:98:f2:cb:7a:b9:d2:c9: + 40:5e:52:55:05:d9:ae:bd:98:20:51:af:f8:b6:fe:ca:75:c7: + a3:43:79:a6:7e:f4:69:6f:30:25:81:42:15:17:1f:bd:19:a4: + dc:c8:fe:33:a1:21:dd:35:e6:35:31:da:34:8a:17:09:66:bc: + 5e:56:5e:9d:a9:08:2d:91:90:88:7a:3f:ef:92:e5:87:bf:93: + 05:d5:62:77:a5:2b:f9:72:92:dd:fd:70:b6:1b:0a:6f:84:be: + 86:1c:5b:d0:a9:30:07:65:44:95:ed:20:11:11:be:4f:06:a8: + 18:97:9b:d2:7b:ec:b3:fc:c0:4c:77:ff:e5:ea:31:6c:60:18: + 7f:62:54:1a:74:0b:f3:d7:f9:d3:5f:de:0f:ee:06:10:9a:86: + 02:2d:ab:d4:cb:95:80:01:4c:7e:18:d5:50:85:c7:0b:28:97: + 17:2c:11:44:08:05:75:aa:dd:99:44:0c:b1:6d:a6:5e:2f:20: + af:ec:5b:27:a8:16:5e:db:0b:93:db:f3:5e:75:77:29:a3:36: + 3c:22:85:0c:51:1c:5f:63:04:5c:cf:ce:11:d5:7d:2a:f2:df: + 5f:72:a3:f6:97:a1:a1:60:b5:d6:6c:dd:eb:10:38:39:44:86: + 20:d9:dc:35:0a:23:dd:45:1a:5e:f1:16:0d:15:1e:b4:01:b4: + d2:1b:05:8f:d3:a2:fc:73:52:81:df:23:8f:50:67:f3:4f:27: + 53:46:67:72:07:ab:f9:d2:34:38:b5:12:c3:bd:3f:aa:a9:1d: + 8f:22:b4:33:c7:5a:d4:6d:8a:c9:67:05:34:cc:2a:80:21:df: + 4b:6b:49:ef:49:a4:ba:46 -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQwwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDcxNzEzNDg0M1oXDTIzMDcxNzEzNDg0M1owVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAMcaR1TJp1WGWNS3PxwIau8cJdtJBcpbcR7Nr+WQjFL1cuWXNe6i -NlNlHUPyob8F27bASP11d6/AstN4mkbkF38fabcMMCYRJ62oWqCkIx+er2Aekm/M -FXmU4awLT28PEnHxv5d0SYXRDUHDb+fyco/m83mwSrt9OhIyeGeXoSwrEJxLtLrJ -9XU6vox0Zq/Wqgv7qyaaUbZNY+71xed1+UrhbGTpBmw79oc01rFMIdDpXu3PEvJ6 -OEX9csXeGRkUuEKXfkHX+3UPUJ2ON12dyZLZwSRs5+rYJmWCblrSxzeJqZJKihOF -TDuFO4c6264I4o4crzc8RY83qp8FgzJEJ0csOp+YPAarlaUGIEJ3TNMjlUIhQAoO -DMR13ry1dUdRClSl+VTmHaswDI83o9MQhCqcz7GTC1Jr8SzNNfbNVAy2ockwGIYk -Yfi4CE/Cj77RBzhRwoGs2mb/WON1cIrfWFiVf5oVn2ceJAEyvAFfkYfqfjOPouBa -6j1bpKHI4lLG7LnX3xtqwcN8z4z8hcxxNaVgFkt9BSt3MzVSbfxLceq3VK2KZByA -M2FMmZ8VXyPTZv4F7vLIk1lMTRUqNGt1fwebcMIcOe8Uu+iTHYTQGV4SJ3PY6wGS -biuzdD8hc+/4onOY7rZ14pwVNer/NiIUR9R6x/+xKIDLhmTepQFknTaTAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAAJBeRbqFoql0BY8fXZmiLspDoaruHBVtbuLobXq -8f8g5BmfrVYTLrCG5vOsCVOCuD7r0haFIYE6JxwXo2uq9YW89mqYXLR9uIcrjbUK -Dn8wbv/zW183E754tWKo/9ECYVYVhKr4NqIVtq5+3PJ3DsW1LvVtJhyOPy8YG+WH -7oZ1GMsRUCV44CVbzMYdMoXtIYQ//iMXuDVk4oaeOA46mHlvlUze7JbJBDX0OaJI -XQ7zC049+srNPh7DuuDXgOaYT1TP+pjIRYOvtkMRTbQgfjswlKH3E4xGKN2oLjPK -wQj9Ffo2hqVlZqWCHB7tnaie7Cg7Ur/e7r2nB62zKfskRGBSKX9Rac8oNcPJZ2A8 -ULzySRDAWSZfTDCXzA0PAvUp+GpNCT0GurZRzAewZQ6u1xkQDqlO6ANpcw7yDKJo -in/5e0eC8RY/BlXuTH8j00Ao0f2XiOO+3XEmucpMF7Ls5gZl+kGxVyeDgOd5Lryu -1/YHW7wPqBqrRqFXC62ZvW4q4Rek3QEPXjO5TUM1+UQkPMJu1MGwUSzfuQwJIrr7 -TL1GtIfSTyn/8HWlqnfAUTGwIlj1MKNOZyo2R7MdnTd7EsVvqdXu6ymXN6T4mJJW -H1o7+YWwz/0Wu7A+25JWm+pgu9/Z/X8k8MJtOjZmuntjGh+5GWKkBojRFWulmSTg -rhWe +MIIFQDCCAygCAgCLMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU0NDRaFw0yNDEyMDUxMjU0NDRaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDYYX0CI+P7HU6ykV7xGZ9k7vlB1S3fJWITrEkCebC+MNuTqZ34 +BW/VlOqB6TibbVPdXO47SAGj5xlBvfEz/RWtC1b0yUx3GHpVw4J6/SgVy8mys7ae +pQS/2SZSCbVDHsPyEo90o5xQUyejcCijIsi32u8SiroEu+YX1PnmxxlTMC1Z4Hgi +/C6NS/ySGY0ZalxqR1k9iEM3K2+XtKE8UpVFE24o1s6RH2PNkiJBQWLwf3GsSvvs +S3KB6d94bSCfPh2J5osQuYnwGZnRdaZsygNP29nDQoPlOemr3H6gbts5cYWQslug +tfUypXx46fKTiOiqQqHoIlXZcAbNy77LOUZ9HADhklZ0Pqwn4GlPXkeM3NRwwqTm +2DepyQAVSCn4DCAinO8aoTqzHHaWbzxqGXvn6Syli/NELV4SlOlvhimij+yqqb2X +otrRMVuIwQ2li+aNxNN0JCYwXq3mZRoU2PkKe4QfsRDpI7/RMWz0qvUAj3FA58b8 +boPrI9OY34HHPebzEqIvbF48IgfkBly9mF4SyQGadFKRlmR7ZH4OzbCOJx3bQJ8D ++61Jzfv1A9T5rblMVv4ijTx6DaucWR4xuvGc6Re9pr40Uv7hwSX75GZccLpAcnDA +YpBiTOZXAZ2XTSS7IH+rgKbllBcvVGvtDrKiswKjF7g0x7awxM/HNyV9BwIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQCPIgMa4OXzkU+21UwnN+dcMxcWb0JWDjk8rdtR +AhNM6WVPeKiO7V7hjQVWZ35QF78glx8L1Ng8tmL4E7tqRnC4sDRLR6PY9EygAHM3 +SDzOIIQSf0XPN1M/al0xljdDCJg1lOWWnezcemQeYFFJ3fQjozBjndO/8qPh7BmM +rdcyNqPjZsrFhk60ePh+HVVASAborg27WBXBBhM/tWSO/8o5ENZpbPeIjHxHDoe9 +cp/QzZrwx54t1e5ug2+9ZFwtVpjyy3q50slAXlJVBdmuvZggUa/4tv7KdcejQ3mm +fvRpbzAlgUIVFx+9GaTcyP4zoSHdNeY1Mdo0ihcJZrxeVl6dqQgtkZCIej/vkuWH +v5MF1WJ3pSv5cpLd/XC2GwpvhL6GHFvQqTAHZUSV7SAREb5PBqgYl5vSe+yz/MBM +d//l6jFsYBh/YlQadAvz1/nTX94P7gYQmoYCLavUy5WAAUx+GNVQhccLKJcXLBFE +CAV1qt2ZRAyxbaZeLyCv7FsnqBZe2wuT2/NedXcpozY8IoUMURxfYwRcz84R1X0q +8t9fcqP2l6GhYLXWbN3rEDg5RIYg2dw1CiPdRRpe8RYNFR60AbTSGwWP06L8c1KB +3yOPUGfzTydTRmdyB6v50jQ4tRLDvT+qqR2PIrQzx1rUbYrJZwU0zCqAId9La0nv +SaS6Rg== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/referential-external.key b/dev-deployment/environments/certs/server/hosts/localhost/referential-external.key index 20b3fb20a..5e6e0254e 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/referential-external.key +++ b/dev-deployment/environments/certs/server/hosts/localhost/referential-external.key @@ -1,52 +1,52 @@ -----BEGIN PRIVATE KEY----- -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 -2tbldVEtzenYqilqPBrypjnma/f6 +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 +jTDBAfwk1scKY+ktALLs7toU+ousjc8= -----END PRIVATE KEY----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/referential-external.pem b/dev-deployment/environments/certs/server/hosts/localhost/referential-external.pem index 3a63bd439..31bfd4a68 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/referential-external.pem +++ b/dev-deployment/environments/certs/server/hosts/localhost/referential-external.pem @@ -1,31 +1,31 @@ -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQwwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDcxNzEzNDg0M1oXDTIzMDcxNzEzNDg0M1owVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAMcaR1TJp1WGWNS3PxwIau8cJdtJBcpbcR7Nr+WQjFL1cuWXNe6i -NlNlHUPyob8F27bASP11d6/AstN4mkbkF38fabcMMCYRJ62oWqCkIx+er2Aekm/M -FXmU4awLT28PEnHxv5d0SYXRDUHDb+fyco/m83mwSrt9OhIyeGeXoSwrEJxLtLrJ -9XU6vox0Zq/Wqgv7qyaaUbZNY+71xed1+UrhbGTpBmw79oc01rFMIdDpXu3PEvJ6 -OEX9csXeGRkUuEKXfkHX+3UPUJ2ON12dyZLZwSRs5+rYJmWCblrSxzeJqZJKihOF -TDuFO4c6264I4o4crzc8RY83qp8FgzJEJ0csOp+YPAarlaUGIEJ3TNMjlUIhQAoO -DMR13ry1dUdRClSl+VTmHaswDI83o9MQhCqcz7GTC1Jr8SzNNfbNVAy2ockwGIYk -Yfi4CE/Cj77RBzhRwoGs2mb/WON1cIrfWFiVf5oVn2ceJAEyvAFfkYfqfjOPouBa -6j1bpKHI4lLG7LnX3xtqwcN8z4z8hcxxNaVgFkt9BSt3MzVSbfxLceq3VK2KZByA -M2FMmZ8VXyPTZv4F7vLIk1lMTRUqNGt1fwebcMIcOe8Uu+iTHYTQGV4SJ3PY6wGS -biuzdD8hc+/4onOY7rZ14pwVNer/NiIUR9R6x/+xKIDLhmTepQFknTaTAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAAJBeRbqFoql0BY8fXZmiLspDoaruHBVtbuLobXq -8f8g5BmfrVYTLrCG5vOsCVOCuD7r0haFIYE6JxwXo2uq9YW89mqYXLR9uIcrjbUK -Dn8wbv/zW183E754tWKo/9ECYVYVhKr4NqIVtq5+3PJ3DsW1LvVtJhyOPy8YG+WH -7oZ1GMsRUCV44CVbzMYdMoXtIYQ//iMXuDVk4oaeOA46mHlvlUze7JbJBDX0OaJI -XQ7zC049+srNPh7DuuDXgOaYT1TP+pjIRYOvtkMRTbQgfjswlKH3E4xGKN2oLjPK -wQj9Ffo2hqVlZqWCHB7tnaie7Cg7Ur/e7r2nB62zKfskRGBSKX9Rac8oNcPJZ2A8 -ULzySRDAWSZfTDCXzA0PAvUp+GpNCT0GurZRzAewZQ6u1xkQDqlO6ANpcw7yDKJo -in/5e0eC8RY/BlXuTH8j00Ao0f2XiOO+3XEmucpMF7Ls5gZl+kGxVyeDgOd5Lryu -1/YHW7wPqBqrRqFXC62ZvW4q4Rek3QEPXjO5TUM1+UQkPMJu1MGwUSzfuQwJIrr7 -TL1GtIfSTyn/8HWlqnfAUTGwIlj1MKNOZyo2R7MdnTd7EsVvqdXu6ymXN6T4mJJW -H1o7+YWwz/0Wu7A+25JWm+pgu9/Z/X8k8MJtOjZmuntjGh+5GWKkBojRFWulmSTg -rhWe +MIIFQDCCAygCAgCLMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU0NDRaFw0yNDEyMDUxMjU0NDRaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDYYX0CI+P7HU6ykV7xGZ9k7vlB1S3fJWITrEkCebC+MNuTqZ34 +BW/VlOqB6TibbVPdXO47SAGj5xlBvfEz/RWtC1b0yUx3GHpVw4J6/SgVy8mys7ae +pQS/2SZSCbVDHsPyEo90o5xQUyejcCijIsi32u8SiroEu+YX1PnmxxlTMC1Z4Hgi +/C6NS/ySGY0ZalxqR1k9iEM3K2+XtKE8UpVFE24o1s6RH2PNkiJBQWLwf3GsSvvs +S3KB6d94bSCfPh2J5osQuYnwGZnRdaZsygNP29nDQoPlOemr3H6gbts5cYWQslug +tfUypXx46fKTiOiqQqHoIlXZcAbNy77LOUZ9HADhklZ0Pqwn4GlPXkeM3NRwwqTm +2DepyQAVSCn4DCAinO8aoTqzHHaWbzxqGXvn6Syli/NELV4SlOlvhimij+yqqb2X +otrRMVuIwQ2li+aNxNN0JCYwXq3mZRoU2PkKe4QfsRDpI7/RMWz0qvUAj3FA58b8 +boPrI9OY34HHPebzEqIvbF48IgfkBly9mF4SyQGadFKRlmR7ZH4OzbCOJx3bQJ8D ++61Jzfv1A9T5rblMVv4ijTx6DaucWR4xuvGc6Re9pr40Uv7hwSX75GZccLpAcnDA +YpBiTOZXAZ2XTSS7IH+rgKbllBcvVGvtDrKiswKjF7g0x7awxM/HNyV9BwIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQCPIgMa4OXzkU+21UwnN+dcMxcWb0JWDjk8rdtR +AhNM6WVPeKiO7V7hjQVWZ35QF78glx8L1Ng8tmL4E7tqRnC4sDRLR6PY9EygAHM3 +SDzOIIQSf0XPN1M/al0xljdDCJg1lOWWnezcemQeYFFJ3fQjozBjndO/8qPh7BmM +rdcyNqPjZsrFhk60ePh+HVVASAborg27WBXBBhM/tWSO/8o5ENZpbPeIjHxHDoe9 +cp/QzZrwx54t1e5ug2+9ZFwtVpjyy3q50slAXlJVBdmuvZggUa/4tv7KdcejQ3mm +fvRpbzAlgUIVFx+9GaTcyP4zoSHdNeY1Mdo0ihcJZrxeVl6dqQgtkZCIej/vkuWH +v5MF1WJ3pSv5cpLd/XC2GwpvhL6GHFvQqTAHZUSV7SAREb5PBqgYl5vSe+yz/MBM +d//l6jFsYBh/YlQadAvz1/nTX94P7gYQmoYCLavUy5WAAUx+GNVQhccLKJcXLBFE +CAV1qt2ZRAyxbaZeLyCv7FsnqBZe2wuT2/NedXcpozY8IoUMURxfYwRcz84R1X0q +8t9fcqP2l6GhYLXWbN3rEDg5RIYg2dw1CiPdRRpe8RYNFR60AbTSGwWP06L8c1KB +3yOPUGfzTydTRmdyB6v50jQ4tRLDvT+qqR2PIrQzx1rUbYrJZwU0zCqAId9La0nv +SaS6Rg== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/referential-internal.crt b/dev-deployment/environments/certs/server/hosts/localhost/referential-internal.crt index c37b84414..6a117e710 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/referential-internal.crt +++ b/dev-deployment/environments/certs/server/hosts/localhost/referential-internal.crt @@ -1,111 +1,111 @@ Certificate: Data: Version: 1 (0x0) - Serial Number: 11 (0xb) - Signature Algorithm: sha256WithRSAEncryption + Serial Number: 134 (0x86) + Signature Algorithm: sha256WithRSAEncryption Issuer: C=fr, ST=idf, L=paris, O=vitamui, OU=authorities, CN=ca_intermediate_server Validity - Not Before: Jul 17 13:48:31 2020 GMT - Not After : Jul 17 13:48:31 2023 GMT + Not Before: Dec 6 12:54:16 2021 GMT + Not After : Dec 5 12:54:16 2024 GMT Subject: C=fr, ST=idf, L=paris, O=vitamui, CN=dev.vitamui.com Subject Public Key Info: Public Key Algorithm: rsaEncryption - RSA Public-Key: (4096 bit) + Public-Key: (4096 bit) Modulus: - 00:b7:57:26:82:33:0c:0d:45:a7:0b:b6:0a:ae:15: - 81:96:6d:3b:1c:94:67:d3:6d:37:f5:aa:b0:54:83: - cf:7e:13:30:1f:f2:28:7f:50:ed:32:d0:15:02:fc: - 99:3b:2a:5f:55:5f:72:00:ee:65:c4:c7:23:96:b4: - 38:5a:1a:85:8f:b9:9d:a9:0f:99:ff:e4:a3:44:16: - e0:5a:7f:a1:50:a4:a0:16:62:cd:d3:92:23:f7:2a: - f2:de:e4:c2:fc:01:39:57:b9:7c:3b:67:6a:c1:77: - f7:48:49:fd:69:11:ce:02:dd:f9:54:c7:18:18:78: - 67:d2:21:ce:84:4d:ff:30:d4:66:38:63:e6:ca:84: - a0:c9:5b:a0:96:7f:53:91:68:95:8d:e4:6c:dc:d9: - 51:28:78:61:c5:82:7b:ed:2c:45:13:5c:5f:1b:0d: - b4:86:0f:37:92:af:9a:45:71:b3:e3:d5:db:b4:a6: - d6:58:94:b6:80:8e:e3:90:5b:aa:e0:52:ce:fd:ae: - db:f8:2c:d8:15:d5:fd:37:79:2b:2f:27:0a:05:7c: - 82:86:0f:bd:1f:56:b5:09:78:e9:8a:15:03:f5:03: - 8c:b4:17:88:91:6c:31:a0:56:a6:c7:4a:54:8e:d9: - bb:44:98:31:e6:61:5a:97:a1:af:26:be:49:99:97: - db:5f:c7:2e:7b:c8:79:c9:e9:7b:90:86:a6:3a:8b: - c4:9b:94:ca:3f:55:46:de:8e:a3:76:26:d9:11:48: - 4d:b5:3a:0b:8a:a5:5b:0f:3a:4e:4a:11:dc:2c:97: - 60:ef:9f:e4:ab:93:51:05:4c:a1:17:4e:86:8c:de: - 02:13:1f:a9:0e:f1:a6:9d:f4:fd:e1:2a:c0:f8:90: - bf:de:7f:5f:86:1a:02:8a:78:4d:2c:b1:3d:85:66: - a5:af:18:93:dc:6e:5c:e1:ad:c4:f8:71:d2:a0:c2: - 9c:fc:ba:d6:89:21:a9:b0:58:cb:11:fe:e6:5d:72: - 89:72:ed:f7:98:74:45:35:1f:71:7a:77:d9:86:95: - 56:5e:df:c1:c6:2b:5f:2d:08:68:df:34:bb:8d:44: - 0a:7c:9c:b9:73:1c:4a:ca:b6:0c:55:e8:5a:6a:7c: - 23:d3:d7:82:79:f2:95:a2:ef:97:6e:bb:68:f0:17: - 6c:7a:1f:07:5e:2c:71:99:6a:48:bb:dc:95:95:af: - 88:3e:d5:8a:3b:a9:d8:a4:06:31:d3:aa:7b:e5:cf: - 5c:64:0b:2e:57:7d:2e:15:87:59:85:74:bd:ac:49: - 4f:bf:ac:f1:82:3f:81:31:52:52:84:64:bf:26:95: - 15:24:4f:d9:ec:3e:86:8b:e7:a0:1d:56:93:ad:90: - 97:77:cd + 00:be:cf:42:3c:24:6c:f1:77:70:43:8e:61:92:20: + 9d:c8:c6:45:6d:17:41:a7:26:d4:ee:e8:e1:76:fe: + 6f:a5:5f:68:f9:75:71:19:d1:c9:5c:fb:06:9c:dd: + d5:30:61:0e:f3:49:8a:7d:4a:46:88:3e:cd:28:3b: + 22:45:2b:ab:eb:3b:de:11:cd:80:f6:09:ed:a6:74: + 9d:89:3d:cb:cc:2e:11:f8:b6:d6:43:28:1c:96:56: + 2e:91:6f:3f:d5:52:ac:7d:31:c0:a4:18:96:a3:84: + 7e:e9:7d:01:44:03:08:c7:46:15:22:68:41:35:67: + 49:54:43:f3:f2:80:57:fe:5c:90:f6:ab:8b:87:2f: + e7:47:fc:04:b2:83:cd:3b:af:0e:30:7c:74:db:c2: + f1:81:1b:2e:30:d9:54:ed:d0:8e:45:bf:5f:19:17: + f2:72:63:69:e8:f4:ed:85:df:78:bc:d2:c8:2d:1d: + b1:4e:5b:da:92:f3:0c:45:e5:cb:7d:83:e4:33:51: + f5:0b:c9:df:38:ea:c6:b8:73:7d:8a:14:78:76:01: + 39:a7:08:62:cf:ef:c0:3e:58:1e:bf:42:c3:ca:92: + 5b:f1:62:74:79:08:e1:8a:8f:a3:aa:c1:a7:6a:eb: + d5:77:3f:f4:cf:6a:30:3b:4f:59:62:5c:62:17:69: + 60:c0:81:4e:ed:79:45:4f:3b:2e:21:b6:ac:14:c1: + 7d:3c:aa:7f:48:7e:94:c1:54:52:b2:bb:0f:64:89: + 4d:d1:74:01:1a:b9:9f:f1:f2:6d:e0:0a:cd:3f:48: + ea:f6:4f:30:1e:6b:5d:36:d9:0f:04:4e:2f:a1:8c: + 62:22:06:74:ce:28:a1:a8:af:ef:b8:8d:a9:a4:d0: + 58:cd:99:b2:42:7f:6d:eb:5c:87:f1:31:73:da:84: + 91:1d:d8:50:70:e2:fe:57:b0:ab:ee:98:6c:73:2b: + bb:5a:4a:f0:34:57:c6:bf:3a:b8:60:41:62:82:19: + 9a:ff:cb:68:0d:e6:f0:7b:15:1b:ca:a5:f1:bc:a1: + df:d1:8b:0d:a3:5c:a2:f0:c8:7e:2f:e3:cf:98:8d: + 1c:1f:1e:3c:3f:21:de:18:99:2d:b6:59:03:a4:5a: + 05:92:7e:7e:78:aa:f0:72:bb:05:cd:47:a5:bb:01: + 83:17:c3:22:3a:14:40:30:7e:2f:82:8c:d4:ce:f6: + 2b:b1:76:d3:d8:5c:cd:35:fa:3d:7f:72:30:df:42: + 4d:be:01:ff:db:ab:ec:ce:c0:0c:8a:02:7a:e9:53: + 3a:5f:e6:33:5f:81:de:69:2d:aa:c8:6b:ed:59:f9: + bc:b5:7a:bd:3f:ac:a9:0f:06:9f:5e:c2:5f:3d:3e: + 63:af:8f Exponent: 65537 (0x10001) Signature Algorithm: sha256WithRSAEncryption - 5b:d7:fd:ca:ca:99:1c:d9:2a:5a:78:98:27:f1:c9:8c:68:a2: - 00:8d:6f:97:1d:a6:5d:bc:28:b8:ec:b8:a1:a2:58:ea:30:3f: - 10:23:8b:d4:bf:eb:8c:22:c3:63:33:ef:5e:52:87:61:ab:15: - 54:0a:87:3c:79:1a:0d:e0:f0:f7:bd:b0:75:ab:21:45:36:ff: - 1d:1b:7e:ea:92:cf:f6:f6:d5:15:de:80:b3:da:53:0d:4b:17: - a8:dd:4d:91:33:77:8f:d9:86:93:c8:70:9a:6d:ee:ff:73:44: - 47:cf:1c:6d:8c:a3:91:19:3c:aa:6b:c1:85:e1:3f:cf:c8:bf: - d1:f3:d7:da:fd:8e:b4:24:95:45:8d:2a:e7:00:f4:97:2e:9f: - f5:74:a5:ab:8b:24:d6:4e:7d:7d:08:fb:af:d6:1c:6b:22:7f: - be:11:3f:d2:76:f6:9e:bb:94:3e:e0:71:21:e1:58:bd:94:a6: - a0:5d:7e:ad:36:46:34:1d:3e:93:42:4f:87:19:37:04:4b:8c: - 1e:2c:2f:a4:9b:f8:35:5d:64:f4:27:77:5e:7b:9d:ee:e0:dc: - c4:a4:72:47:95:9a:92:6d:18:99:be:70:67:88:e3:3f:78:60: - 23:c9:e2:de:1f:4e:a3:0b:33:43:3d:02:da:2f:47:77:e0:b8: - 5e:8c:3b:ff:fc:a5:58:5d:90:85:c8:c9:19:f9:5a:5a:7f:7d: - 83:15:08:22:e5:39:df:cc:a5:cb:05:1c:7c:bc:de:b0:11:dc: - 2e:b0:10:7e:ae:c3:41:29:05:02:40:67:62:10:d5:13:08:61: - 6c:b9:05:a4:59:08:c5:c0:5c:45:bc:b9:55:87:67:61:a9:2d: - 02:4a:bd:02:aa:1e:2a:93:fb:ba:ad:90:6c:8d:6b:cf:50:3b: - 48:1b:7b:ed:59:ab:17:db:20:fd:e6:1d:81:37:33:de:91:d2: - d9:a6:e7:0a:a1:cd:ba:28:07:dd:1b:f9:79:b7:53:a7:94:f5: - 21:f1:99:03:81:5e:16:50:97:89:96:d5:88:94:7a:b8:56:d6: - 37:06:ab:60:45:97:18:2f:46:46:01:97:6f:c4:07:4e:38:d9: - 72:fd:05:56:e1:34:e9:2d:b8:03:a8:aa:3d:40:64:75:85:a3: - 67:5b:6b:af:27:2a:31:c7:94:24:38:b0:c4:ad:a6:f1:ff:e0: - 56:15:8b:53:da:57:c3:54:b6:0c:b5:76:a9:c8:64:55:a4:b2: - a5:c6:db:97:ca:1f:f1:de:14:0d:46:5c:49:ac:85:1f:55:c8: - b7:65:61:0f:39:9d:2b:3d:c1:43:be:45:5b:fa:9a:da:af:0e: - 11:2e:b4:1b:10:84:37:39 + 99:43:04:ef:17:8b:27:b9:1f:0c:99:0a:e0:9a:7c:8e:7d:ca: + ef:dc:13:37:47:66:44:29:4f:73:2f:04:5b:e8:bc:57:0d:60: + 46:26:cb:e5:0c:8c:ce:be:a1:57:93:79:9b:4b:2c:82:84:4f: + 7a:14:b2:1b:d7:a5:a4:d4:bd:86:cd:a8:94:20:34:36:83:7a: + f0:de:05:4e:e9:79:10:22:de:af:a0:f9:45:66:41:0c:7c:65: + f2:e4:bd:cd:2f:d4:6d:99:f8:88:a4:21:6c:e5:54:d0:62:09: + 3a:cf:b6:ba:b4:90:04:65:9d:a5:95:02:63:84:37:50:58:bd: + 64:23:8c:57:45:ac:34:0c:43:86:08:be:a6:ac:a8:44:b1:84: + ce:42:25:c8:6f:d2:f4:64:a2:09:e8:dc:8f:a0:3c:18:f6:39: + 93:61:6c:18:30:80:44:ce:22:7a:41:c6:70:49:2f:27:06:4c: + 3e:dd:ea:5d:b0:36:f4:ce:35:4d:0d:b5:88:c0:b4:db:57:48: + 0b:5c:ce:61:c5:db:34:46:a4:71:ad:7f:5d:9d:b9:a1:97:bf: + 8e:4a:1b:55:fe:66:2a:a1:a1:f3:a4:f7:42:6a:a9:25:03:1d: + cd:34:e9:d5:fd:25:b0:45:50:b4:8a:27:d2:a2:50:c3:58:75: + 8a:2d:0a:d1:ae:fe:fa:a4:81:eb:60:c7:9b:de:de:7e:b7:c4: + d8:bb:e1:ec:e6:d4:d0:66:51:50:3f:bb:fb:4c:79:fa:83:d5: + 26:99:40:a0:b8:8a:10:60:f8:9c:55:db:22:c7:f1:7b:c0:73: + 43:0a:74:6a:ce:2e:4a:1f:69:77:fd:b0:f5:3b:4c:50:e3:6f: + ae:89:fe:7a:82:81:34:fd:64:e0:65:b4:ae:09:75:57:dc:6e: + 55:23:69:4b:b6:54:cc:21:7b:a3:8d:78:af:e1:bb:cf:e6:ad: + 80:7b:32:61:84:93:4d:a5:e3:73:c3:d5:f3:08:2e:af:2a:ac: + ce:10:81:23:50:bb:b5:ac:f0:8e:4d:e6:4e:6f:d9:80:ca:98: + 66:06:54:6e:a2:5c:2d:5f:9d:e6:bb:03:e8:ca:ed:f5:5e:73: + cb:43:98:57:19:85:bc:8d:27:97:54:2a:11:65:b8:be:5a:1b: + e0:f8:da:86:2d:52:87:89:e8:65:ec:c2:00:9c:d0:fc:a1:38: + 7c:c2:ba:96:01:e0:52:5d:88:1e:7c:f7:60:74:a4:49:75:f1: + 09:fb:95:04:9e:7e:b7:bb:36:32:3d:aa:c7:2a:c6:75:71:7b: + 62:74:4d:d4:a2:06:a7:6a:b9:34:dc:4f:11:ce:81:01:95:77: + 4a:cf:6a:18:29:7b:6b:e1 -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQswDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDcxNzEzNDgzMVoXDTIzMDcxNzEzNDgzMVowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBALdXJoIzDA1Fpwu2Cq4VgZZtOxyUZ9NtN/WqsFSDz34TMB/yKH9Q -7TLQFQL8mTsqX1VfcgDuZcTHI5a0OFoahY+5nakPmf/ko0QW4Fp/oVCkoBZizdOS -I/cq8t7kwvwBOVe5fDtnasF390hJ/WkRzgLd+VTHGBh4Z9IhzoRN/zDUZjhj5sqE -oMlboJZ/U5FolY3kbNzZUSh4YcWCe+0sRRNcXxsNtIYPN5KvmkVxs+PV27Sm1liU -toCO45BbquBSzv2u2/gs2BXV/Td5Ky8nCgV8goYPvR9WtQl46YoVA/UDjLQXiJFs -MaBWpsdKVI7Zu0SYMeZhWpehrya+SZmX21/HLnvIecnpe5CGpjqLxJuUyj9VRt6O -o3Ym2RFITbU6C4qlWw86TkoR3CyXYO+f5KuTUQVMoRdOhozeAhMfqQ7xpp30/eEq -wPiQv95/X4YaAop4TSyxPYVmpa8Yk9xuXOGtxPhx0qDCnPy61okhqbBYyxH+5l1y -iXLt95h0RTUfcXp32YaVVl7fwcYrXy0IaN80u41ECnycuXMcSsq2DFXoWmp8I9PX -gnnylaLvl267aPAXbHofB14scZlqSLvclZWviD7Vijup2KQGMdOqe+XPXGQLLld9 -LhWHWYV0vaxJT7+s8YI/gTFSUoRkvyaVFSRP2ew+hovnoB1Wk62Ql3fNAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAFvX/crKmRzZKlp4mCfxyYxoogCNb5cdpl28KLjs -uKGiWOowPxAji9S/64wiw2Mz715Sh2GrFVQKhzx5Gg3g8Pe9sHWrIUU2/x0bfuqS -z/b21RXegLPaUw1LF6jdTZEzd4/ZhpPIcJpt7v9zREfPHG2Mo5EZPKprwYXhP8/I -v9Hz19r9jrQklUWNKucA9Jcun/V0pauLJNZOfX0I+6/WHGsif74RP9J29p67lD7g -cSHhWL2UpqBdfq02RjQdPpNCT4cZNwRLjB4sL6Sb+DVdZPQnd157ne7g3MSkckeV -mpJtGJm+cGeI4z94YCPJ4t4fTqMLM0M9AtovR3fguF6MO//8pVhdkIXIyRn5Wlp/ -fYMVCCLlOd/MpcsFHHy83rAR3C6wEH6uw0EpBQJAZ2IQ1RMIYWy5BaRZCMXAXEW8 -uVWHZ2GpLQJKvQKqHiqT+7qtkGyNa89QO0gbe+1ZqxfbIP3mHYE3M96R0tmm5wqh -zbooB90b+Xm3U6eU9SHxmQOBXhZQl4mW1YiUerhW1jcGq2BFlxgvRkYBl2/EB044 -2XL9BVbhNOktuAOoqj1AZHWFo2dba68nKjHHlCQ4sMStpvH/4FYVi1PaV8NUtgy1 -dqnIZFWksqXG25fKH/HeFA1GXEmshR9VyLdlYQ85nSs9wUO+RVv6mtqvDhEutBsQ -hDc5 +MIIFQDCCAygCAgCGMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU0MTZaFw0yNDEyMDUxMjU0MTZaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQC+z0I8JGzxd3BDjmGSIJ3IxkVtF0GnJtTu6OF2/m+lX2j5dXEZ +0clc+wac3dUwYQ7zSYp9SkaIPs0oOyJFK6vrO94RzYD2Ce2mdJ2JPcvMLhH4ttZD +KByWVi6Rbz/VUqx9McCkGJajhH7pfQFEAwjHRhUiaEE1Z0lUQ/PygFf+XJD2q4uH +L+dH/ASyg807rw4wfHTbwvGBGy4w2VTt0I5Fv18ZF/JyY2no9O2F33i80sgtHbFO +W9qS8wxF5ct9g+QzUfULyd846sa4c32KFHh2ATmnCGLP78A+WB6/QsPKklvxYnR5 +COGKj6Oqwadq69V3P/TPajA7T1liXGIXaWDAgU7teUVPOy4htqwUwX08qn9IfpTB +VFKyuw9kiU3RdAEauZ/x8m3gCs0/SOr2TzAea1022Q8ETi+hjGIiBnTOKKGor++4 +jamk0FjNmbJCf23rXIfxMXPahJEd2FBw4v5XsKvumGxzK7taSvA0V8a/OrhgQWKC +GZr/y2gN5vB7FRvKpfG8od/Riw2jXKLwyH4v48+YjRwfHjw/Id4YmS22WQOkWgWS +fn54qvByuwXNR6W7AYMXwyI6FEAwfi+CjNTO9iuxdtPYXM01+j1/cjDfQk2+Af/b +q+zOwAyKAnrpUzpf5jNfgd5pLarIa+1Z+by1er0/rKkPBp9ewl89PmOvjwIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQCZQwTvF4snuR8MmQrgmnyOfcrv3BM3R2ZEKU9z +LwRb6LxXDWBGJsvlDIzOvqFXk3mbSyyChE96FLIb16Wk1L2GzaiUIDQ2g3rw3gVO +6XkQIt6voPlFZkEMfGXy5L3NL9RtmfiIpCFs5VTQYgk6z7a6tJAEZZ2llQJjhDdQ +WL1kI4xXRaw0DEOGCL6mrKhEsYTOQiXIb9L0ZKIJ6NyPoDwY9jmTYWwYMIBEziJ6 +QcZwSS8nBkw+3epdsDb0zjVNDbWIwLTbV0gLXM5hxds0RqRxrX9dnbmhl7+OShtV +/mYqoaHzpPdCaqklAx3NNOnV/SWwRVC0iifSolDDWHWKLQrRrv76pIHrYMeb3t5+ +t8TYu+Hs5tTQZlFQP7v7THn6g9UmmUCguIoQYPicVdsix/F7wHNDCnRqzi5KH2l3 +/bD1O0xQ42+uif56goE0/WTgZbSuCXVX3G5VI2lLtlTMIXujjXiv4bvP5q2AezJh +hJNNpeNzw9XzCC6vKqzOEIEjULu1rPCOTeZOb9mAyphmBlRuolwtX53muwPoyu31 +XnPLQ5hXGYW8jSeXVCoRZbi+Whvg+NqGLVKHiehl7MIAnND8oTh8wrqWAeBSXYge +fPdgdKRJdfEJ+5UEnn63uzYyParHKsZ1cXtidE3Uoganark03E8RzoEBlXdKz2oY +KXtr4Q== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/referential-internal.key b/dev-deployment/environments/certs/server/hosts/localhost/referential-internal.key index 97e6ee5eb..9b585ad41 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/referential-internal.key +++ b/dev-deployment/environments/certs/server/hosts/localhost/referential-internal.key @@ -1,52 +1,52 @@ -----BEGIN PRIVATE KEY----- -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 -+hx4CtWEJZ1k0vlkcuC7M18etelvCw== +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 +CUZN5KNELL1vr9+WDvm5QGiI4Ypl -----END PRIVATE KEY----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/referential-internal.pem b/dev-deployment/environments/certs/server/hosts/localhost/referential-internal.pem index f710508aa..6a2d30bfc 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/referential-internal.pem +++ b/dev-deployment/environments/certs/server/hosts/localhost/referential-internal.pem @@ -1,31 +1,31 @@ -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQswDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDcxNzEzNDgzMVoXDTIzMDcxNzEzNDgzMVowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBALdXJoIzDA1Fpwu2Cq4VgZZtOxyUZ9NtN/WqsFSDz34TMB/yKH9Q -7TLQFQL8mTsqX1VfcgDuZcTHI5a0OFoahY+5nakPmf/ko0QW4Fp/oVCkoBZizdOS -I/cq8t7kwvwBOVe5fDtnasF390hJ/WkRzgLd+VTHGBh4Z9IhzoRN/zDUZjhj5sqE -oMlboJZ/U5FolY3kbNzZUSh4YcWCe+0sRRNcXxsNtIYPN5KvmkVxs+PV27Sm1liU -toCO45BbquBSzv2u2/gs2BXV/Td5Ky8nCgV8goYPvR9WtQl46YoVA/UDjLQXiJFs -MaBWpsdKVI7Zu0SYMeZhWpehrya+SZmX21/HLnvIecnpe5CGpjqLxJuUyj9VRt6O -o3Ym2RFITbU6C4qlWw86TkoR3CyXYO+f5KuTUQVMoRdOhozeAhMfqQ7xpp30/eEq -wPiQv95/X4YaAop4TSyxPYVmpa8Yk9xuXOGtxPhx0qDCnPy61okhqbBYyxH+5l1y -iXLt95h0RTUfcXp32YaVVl7fwcYrXy0IaN80u41ECnycuXMcSsq2DFXoWmp8I9PX -gnnylaLvl267aPAXbHofB14scZlqSLvclZWviD7Vijup2KQGMdOqe+XPXGQLLld9 -LhWHWYV0vaxJT7+s8YI/gTFSUoRkvyaVFSRP2ew+hovnoB1Wk62Ql3fNAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAFvX/crKmRzZKlp4mCfxyYxoogCNb5cdpl28KLjs -uKGiWOowPxAji9S/64wiw2Mz715Sh2GrFVQKhzx5Gg3g8Pe9sHWrIUU2/x0bfuqS -z/b21RXegLPaUw1LF6jdTZEzd4/ZhpPIcJpt7v9zREfPHG2Mo5EZPKprwYXhP8/I -v9Hz19r9jrQklUWNKucA9Jcun/V0pauLJNZOfX0I+6/WHGsif74RP9J29p67lD7g -cSHhWL2UpqBdfq02RjQdPpNCT4cZNwRLjB4sL6Sb+DVdZPQnd157ne7g3MSkckeV -mpJtGJm+cGeI4z94YCPJ4t4fTqMLM0M9AtovR3fguF6MO//8pVhdkIXIyRn5Wlp/ -fYMVCCLlOd/MpcsFHHy83rAR3C6wEH6uw0EpBQJAZ2IQ1RMIYWy5BaRZCMXAXEW8 -uVWHZ2GpLQJKvQKqHiqT+7qtkGyNa89QO0gbe+1ZqxfbIP3mHYE3M96R0tmm5wqh -zbooB90b+Xm3U6eU9SHxmQOBXhZQl4mW1YiUerhW1jcGq2BFlxgvRkYBl2/EB044 -2XL9BVbhNOktuAOoqj1AZHWFo2dba68nKjHHlCQ4sMStpvH/4FYVi1PaV8NUtgy1 -dqnIZFWksqXG25fKH/HeFA1GXEmshR9VyLdlYQ85nSs9wUO+RVv6mtqvDhEutBsQ -hDc5 +MIIFQDCCAygCAgCGMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU0MTZaFw0yNDEyMDUxMjU0MTZaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQC+z0I8JGzxd3BDjmGSIJ3IxkVtF0GnJtTu6OF2/m+lX2j5dXEZ +0clc+wac3dUwYQ7zSYp9SkaIPs0oOyJFK6vrO94RzYD2Ce2mdJ2JPcvMLhH4ttZD +KByWVi6Rbz/VUqx9McCkGJajhH7pfQFEAwjHRhUiaEE1Z0lUQ/PygFf+XJD2q4uH +L+dH/ASyg807rw4wfHTbwvGBGy4w2VTt0I5Fv18ZF/JyY2no9O2F33i80sgtHbFO +W9qS8wxF5ct9g+QzUfULyd846sa4c32KFHh2ATmnCGLP78A+WB6/QsPKklvxYnR5 +COGKj6Oqwadq69V3P/TPajA7T1liXGIXaWDAgU7teUVPOy4htqwUwX08qn9IfpTB +VFKyuw9kiU3RdAEauZ/x8m3gCs0/SOr2TzAea1022Q8ETi+hjGIiBnTOKKGor++4 +jamk0FjNmbJCf23rXIfxMXPahJEd2FBw4v5XsKvumGxzK7taSvA0V8a/OrhgQWKC +GZr/y2gN5vB7FRvKpfG8od/Riw2jXKLwyH4v48+YjRwfHjw/Id4YmS22WQOkWgWS +fn54qvByuwXNR6W7AYMXwyI6FEAwfi+CjNTO9iuxdtPYXM01+j1/cjDfQk2+Af/b +q+zOwAyKAnrpUzpf5jNfgd5pLarIa+1Z+by1er0/rKkPBp9ewl89PmOvjwIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQCZQwTvF4snuR8MmQrgmnyOfcrv3BM3R2ZEKU9z +LwRb6LxXDWBGJsvlDIzOvqFXk3mbSyyChE96FLIb16Wk1L2GzaiUIDQ2g3rw3gVO +6XkQIt6voPlFZkEMfGXy5L3NL9RtmfiIpCFs5VTQYgk6z7a6tJAEZZ2llQJjhDdQ +WL1kI4xXRaw0DEOGCL6mrKhEsYTOQiXIb9L0ZKIJ6NyPoDwY9jmTYWwYMIBEziJ6 +QcZwSS8nBkw+3epdsDb0zjVNDbWIwLTbV0gLXM5hxds0RqRxrX9dnbmhl7+OShtV +/mYqoaHzpPdCaqklAx3NNOnV/SWwRVC0iifSolDDWHWKLQrRrv76pIHrYMeb3t5+ +t8TYu+Hs5tTQZlFQP7v7THn6g9UmmUCguIoQYPicVdsix/F7wHNDCnRqzi5KH2l3 +/bD1O0xQ42+uif56goE0/WTgZbSuCXVX3G5VI2lLtlTMIXujjXiv4bvP5q2AezJh +hJNNpeNzw9XzCC6vKqzOEIEjULu1rPCOTeZOb9mAyphmBlRuolwtX53muwPoyu31 +XnPLQ5hXGYW8jSeXVCoRZbi+Whvg+NqGLVKHiehl7MIAnND8oTh8wrqWAeBSXYge +fPdgdKRJdfEJ+5UEnn63uzYyParHKsZ1cXtidE3Uoganark03E8RzoEBlXdKz2oY +KXtr4Q== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/reverse.crt b/dev-deployment/environments/certs/server/hosts/localhost/reverse.crt index f8df3933b..f845c97be 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/reverse.crt +++ b/dev-deployment/environments/certs/server/hosts/localhost/reverse.crt @@ -1,111 +1,111 @@ Certificate: Data: Version: 1 (0x0) - Serial Number: 9 (0x9) - Signature Algorithm: sha256WithRSAEncryption + Serial Number: 150 (0x96) + Signature Algorithm: sha256WithRSAEncryption Issuer: C=fr, ST=idf, L=paris, O=vitamui, OU=authorities, CN=ca_intermediate_server Validity - Not Before: May 20 09:10:51 2020 GMT - Not After : May 20 09:10:51 2023 GMT + Not Before: Dec 6 12:55:55 2021 GMT + Not After : Dec 5 12:55:55 2024 GMT Subject: C=fr, ST=idf, L=paris, O=vitamui, CN=dev.vitamui.com Subject Public Key Info: Public Key Algorithm: rsaEncryption - RSA Public-Key: (4096 bit) + Public-Key: (4096 bit) Modulus: - 00:b6:f0:a4:e4:9d:04:18:8c:61:11:0c:52:8e:bf: - 34:ec:d7:8b:d8:95:cf:84:df:e9:c7:f7:2f:05:0e: - 37:d3:07:53:88:3c:ff:0e:4e:7f:75:f8:2b:33:0a: - bb:fc:6c:2a:67:32:ac:85:74:fa:04:37:75:7e:27: - 9f:1e:75:de:32:be:57:79:3b:d9:ec:31:ce:44:2a: - 2d:dd:94:c5:99:9c:bc:82:41:ce:50:a1:cc:14:0e: - bf:e6:76:27:9a:b8:fa:81:11:94:9a:50:37:bb:fd: - d1:8c:7d:04:41:cf:b7:20:72:9b:73:13:57:2f:98: - b9:99:a6:f5:4e:4b:d9:c2:2c:dd:e3:93:99:82:6e: - 0e:4c:33:31:43:65:58:d8:6c:6e:c9:d6:05:c0:89: - 91:8f:f3:f0:13:c9:cb:9f:42:24:03:91:17:5b:68: - 3d:a2:22:08:fb:b6:f5:f6:73:83:bf:d7:5c:4c:fb: - 05:f5:0f:f7:92:2e:87:b3:c4:13:5d:6e:ee:65:7e: - b8:5b:b4:26:87:80:47:b7:89:89:06:81:4d:d6:b4: - 43:18:dc:fb:ce:1a:a2:14:45:c4:4a:97:7a:aa:71: - 4d:2c:24:b9:06:11:3a:08:a4:5a:cf:20:39:70:88: - a6:c0:ef:59:ac:08:58:1b:27:d0:de:ca:26:0a:96: - c1:b1:f2:df:7c:e0:fb:3a:d1:79:3c:77:f0:66:02: - cb:3f:4a:a0:13:5c:38:da:a2:32:97:8d:36:4c:84: - 43:69:99:12:76:3c:61:6b:c0:73:97:e4:29:46:7c: - cc:ec:77:82:1e:37:8e:7b:7a:5a:ff:c6:3b:34:2c: - bb:39:41:7c:ce:d6:e0:c4:9e:3b:70:92:d5:a7:cc: - c8:15:3d:83:9b:1b:a1:7e:bd:9f:0a:c9:9a:5f:51: - be:aa:9f:c4:de:55:3c:81:95:56:94:0b:37:78:e5: - ab:5c:69:f2:5b:ce:0c:7b:27:37:06:a7:95:93:02: - 98:5d:15:9d:24:ff:41:88:4c:29:cd:c0:c6:bf:62: - 18:03:78:91:d9:c3:77:3e:98:33:cf:0f:ec:14:51: - a4:19:bc:b4:fd:1e:52:66:bc:27:96:d6:8f:a4:5b: - b1:2f:9d:7b:a2:45:28:5e:8c:a9:db:4e:b9:b2:af: - 0a:1c:67:ea:96:ce:9f:3b:53:36:00:9d:2a:eb:11: - 23:73:77:0d:b3:9c:0d:76:9a:72:6d:99:9f:94:37: - 2b:5b:b9:af:86:82:f5:c6:0b:61:11:e2:83:a2:7a: - 03:b7:5b:c5:57:c9:d4:33:3a:3a:7c:32:27:86:ca: - 2b:c9:4b:27:fb:75:6c:cc:17:c0:31:f8:08:28:af: - 91:13:85 + 00:c1:9d:8b:39:51:d3:46:5b:23:0a:6c:2b:39:e1: + 8c:7c:15:e1:08:08:70:45:d2:31:da:32:01:e1:00: + d6:ec:cb:cf:4e:a1:7b:aa:ee:0a:f9:55:2e:a4:a2: + ef:c7:a1:ce:7c:56:0a:b3:c2:bd:85:59:46:d1:9e: + f5:fe:68:5e:2a:4b:33:d7:7c:70:61:46:86:41:4e: + ab:0b:2a:6e:8b:a9:3d:21:24:4a:19:9c:3a:69:93: + 82:6a:c5:b5:f3:6d:83:99:89:76:7a:28:3a:25:5a: + 63:ca:57:80:f4:6b:2c:94:13:93:4b:c5:4d:6d:70: + ff:a3:67:b8:be:44:50:f0:ad:0c:8d:a2:98:a1:ab: + b2:97:0b:46:07:86:bd:77:15:3e:e4:47:d9:07:2c: + fd:55:e8:91:37:e8:f3:c4:c6:81:2b:58:fe:a2:13: + 95:10:c5:7d:0c:26:20:51:93:91:d7:4e:5e:8d:66: + e1:7b:82:03:9e:f7:34:cb:46:38:3c:69:7f:03:53: + 7c:b5:3f:fa:bc:9b:8c:7f:f5:50:07:14:12:78:5b: + 3d:80:07:d0:bc:4d:d8:6e:08:8c:c0:bb:57:f4:21: + 05:2a:b0:c5:b3:8d:39:1b:4f:07:c0:7a:76:2f:b9: + 1f:b8:01:ac:eb:5a:70:a2:9d:f6:bb:d0:8b:11:ff: + d7:71:f8:a7:a7:f8:9b:27:d8:4c:bf:af:c1:ed:3c: + 65:5e:18:44:b8:04:37:bb:2b:8a:f1:b3:49:48:f0: + f9:18:b4:31:16:09:c1:8d:46:69:24:08:5d:4d:a9: + 83:fa:79:27:9b:e8:ed:31:63:6e:26:6b:cd:89:8f: + 61:85:dc:e1:ca:97:96:fa:48:64:c9:23:1f:64:89: + 5e:84:5d:7a:d8:75:6c:e8:2c:e0:d7:15:61:10:3c: + 6c:11:e4:32:d7:2f:9a:68:8f:be:32:2e:ae:e6:65: + 03:47:47:fa:d9:68:37:96:87:57:b2:c3:17:7e:a9: + 76:fc:0b:8b:ab:a0:b4:e2:6c:8f:64:16:30:6b:68: + 69:f8:cc:3c:47:c2:88:a3:60:86:55:0a:ef:b9:d4: + e8:0c:f8:f7:be:e4:03:cd:66:b0:de:1b:04:0c:10: + de:fd:40:93:23:4c:2f:ed:9b:93:25:d3:49:e9:1b: + bc:6e:31:10:7b:2b:82:50:58:c8:ea:f8:e0:25:1c: + c1:43:3c:3e:3e:7e:65:6a:2a:c7:d9:7b:b5:00:32: + 12:a7:d8:45:dc:8d:90:96:e7:0a:29:bf:8a:b6:fe: + bf:50:e2:ef:81:ab:f6:8c:36:65:33:18:c1:b9:33: + f2:03:5e:5c:79:29:a7:4a:c8:15:11:25:b4:e3:98: + f4:b7:7d Exponent: 65537 (0x10001) Signature Algorithm: sha256WithRSAEncryption - 8b:a2:ec:ff:75:dc:c6:6b:ac:97:20:95:37:f5:7f:82:c2:b3: - 44:3e:4f:05:76:3b:59:1b:4e:3e:6a:4b:02:ee:a1:2b:b6:76: - 8a:e4:7a:e3:46:57:1b:4b:08:b0:ea:df:ef:78:e6:03:30:ac: - 35:8c:09:f4:c7:6e:20:64:fe:eb:34:f3:b3:ec:02:e5:0b:8f: - fc:cb:50:74:7a:df:86:eb:f7:92:18:d1:6e:19:e1:38:23:21: - 3f:b3:8f:e3:62:35:92:ea:36:93:ac:d4:35:99:fd:84:d6:6b: - 3a:21:19:04:7e:16:6a:ad:4d:b8:0a:ab:af:10:3b:43:c4:c7: - 3a:24:a7:47:f3:ad:d3:1b:b1:62:97:99:f8:d0:6e:38:96:92: - 25:50:d8:51:78:b3:81:e6:62:3f:f0:1f:28:1a:44:43:58:2a: - 0e:21:c6:24:81:db:ca:be:8a:22:67:d6:ef:78:f4:ac:cd:76: - bc:a4:db:7d:76:76:07:a9:72:ed:0b:83:94:fd:52:53:a0:6d: - d1:a3:f3:46:52:52:48:83:0a:6c:44:47:f1:b4:d6:49:d8:04: - 67:62:63:7e:e8:15:05:c4:8c:22:82:03:63:38:d0:df:2b:91: - c8:bb:c8:1e:f7:ea:72:5d:cd:4d:1b:4c:2c:41:d6:cb:81:1c: - b3:a2:96:ab:4f:48:79:e4:32:67:9c:f4:d1:ba:ad:86:8b:ea: - 94:f5:14:26:0c:81:29:90:f6:09:07:31:53:20:b8:ab:78:02: - 10:bf:9d:02:77:03:aa:63:27:19:f9:ca:10:df:3b:91:1f:e3: - bd:04:d2:a1:8d:b1:4a:8c:b5:60:2d:c5:6c:7a:5a:3d:e5:7f: - b2:bc:e9:5d:d3:ca:65:89:eb:41:c5:82:04:32:25:1d:e7:ba: - fe:e8:2a:b9:c7:e2:89:8b:1d:f3:9b:4e:b0:17:2b:24:b4:88: - 4c:20:8e:81:4b:73:af:83:b4:ef:e2:12:b7:24:af:42:ed:78: - d2:1e:02:1a:00:44:69:40:83:d3:ce:5b:75:56:37:70:01:24: - 66:86:f5:a1:22:1a:81:01:a1:bb:aa:b6:0d:87:4b:30:6b:d2: - 9f:d9:42:ac:07:dd:19:d3:0a:3e:ca:19:e5:40:b5:53:26:25: - 60:34:db:9e:8b:2a:ed:91:2d:0f:da:9f:aa:4e:cc:61:a9:0f: - 7c:da:7a:c0:74:65:2f:be:0f:85:ca:07:d9:e6:d6:37:24:05: - 86:d1:ca:7c:83:31:9d:3f:9a:92:3e:f0:ae:01:69:61:5b:ee: - 8f:3f:e6:fd:7c:ea:8a:2b:dd:5f:f6:67:af:f9:2f:21:6f:57: - 7f:30:76:c5:7d:fe:91:c3 + 8d:1c:4d:58:cf:cc:fd:56:01:05:73:41:e2:2f:97:17:4d:e4: + 99:f3:70:81:43:25:d4:ad:c2:41:57:2c:ee:15:36:01:ae:0f: + c3:00:69:83:38:70:56:69:78:35:a0:40:12:30:57:9a:fa:8f: + a7:1a:3b:91:d7:11:99:ee:16:7e:b7:25:bb:21:ec:23:9f:ab: + 03:47:29:78:a1:7b:34:7d:41:83:a7:fa:6f:05:22:ec:85:da: + 25:5c:66:3c:f2:d9:79:bd:a6:5c:4d:f4:90:78:7c:77:95:7b: + 31:fe:b6:44:73:9b:0d:ea:76:2d:65:cb:f4:7d:74:88:48:97: + 6d:c7:05:62:46:39:33:78:8f:e3:2b:f1:52:6f:e5:10:32:5c: + 70:95:f3:5f:f1:1a:83:c8:98:0b:ec:d0:46:1a:ed:76:60:e3: + 60:03:c6:6f:be:a4:07:a4:cc:93:f5:9d:7a:3c:a1:97:77:68: + c2:a7:73:b4:64:88:d8:fd:24:87:82:9a:01:ff:75:b7:50:bd: + b6:ad:d3:b0:5e:4b:62:85:21:36:70:9d:50:71:1d:ef:24:d3: + 60:f9:f9:16:de:cb:36:43:0b:11:9e:0d:22:0c:5b:d8:4b:51: + 1d:75:94:d9:17:c2:a7:e5:90:ff:d0:5c:af:a5:52:48:a8:54: + 13:2a:73:9b:dd:9b:72:46:01:cb:1c:d4:41:41:53:ff:ca:4d: + c2:1e:10:dd:3f:0f:5b:c0:58:fb:df:87:e9:56:c7:cc:80:01: + 83:06:81:dc:a0:e7:1f:9f:21:d0:7e:64:31:ec:51:43:6a:42: + ea:b2:45:62:da:85:a9:64:96:49:a7:47:69:2a:9f:32:1a:64: + f5:29:86:e2:49:46:f7:51:f7:96:94:4c:c0:7f:d7:3d:2a:b6: + 95:c2:bb:57:b1:b7:21:c5:38:7d:75:4c:38:f1:ad:41:90:d3: + 16:85:af:c6:55:21:bc:d8:df:49:98:f5:42:91:cb:db:80:dc: + ab:29:20:9a:ef:f6:f4:66:43:c0:ab:5f:92:3c:fb:6e:f1:41: + 46:e0:e3:9b:48:34:a3:c3:6d:b6:a6:93:1f:a2:b2:f9:a6:3a: + 26:9f:96:37:6e:a4:ad:54:29:7b:ac:53:e4:59:e2:08:66:bb: + 75:fa:d0:97:da:a6:0c:e4:2c:1a:38:34:23:71:78:00:90:9e: + 21:4e:f6:16:a1:e5:b8:31:14:f6:ae:9f:70:75:1d:97:12:cd: + ed:86:40:f1:87:e9:8b:33:24:1c:77:53:5d:29:63:6a:f8:c8: + 76:7a:57:be:9e:3e:e3:a1:25:d7:1f:97:05:29:37:e6:c7:55: + 2a:f3:05:e0:40:50:01:df -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQkwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDUyMDA5MTA1MVoXDTIzMDUyMDA5MTA1MVowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBALbwpOSdBBiMYREMUo6/NOzXi9iVz4Tf6cf3LwUON9MHU4g8/w5O -f3X4KzMKu/xsKmcyrIV0+gQ3dX4nnx513jK+V3k72ewxzkQqLd2UxZmcvIJBzlCh -zBQOv+Z2J5q4+oERlJpQN7v90Yx9BEHPtyBym3MTVy+YuZmm9U5L2cIs3eOTmYJu -DkwzMUNlWNhsbsnWBcCJkY/z8BPJy59CJAORF1toPaIiCPu29fZzg7/XXEz7BfUP -95Iuh7PEE11u7mV+uFu0JoeAR7eJiQaBTda0Qxjc+84aohRFxEqXeqpxTSwkuQYR -OgikWs8gOXCIpsDvWawIWBsn0N7KJgqWwbHy33zg+zrReTx38GYCyz9KoBNcONqi -MpeNNkyEQ2mZEnY8YWvAc5fkKUZ8zOx3gh43jnt6Wv/GOzQsuzlBfM7W4MSeO3CS -1afMyBU9g5sboX69nwrJml9RvqqfxN5VPIGVVpQLN3jlq1xp8lvODHsnNwanlZMC -mF0VnST/QYhMKc3Axr9iGAN4kdnDdz6YM88P7BRRpBm8tP0eUma8J5bWj6RbsS+d -e6JFKF6MqdtOubKvChxn6pbOnztTNgCdKusRI3N3DbOcDXaacm2Zn5Q3K1u5r4aC -9cYLYRHig6J6A7dbxVfJ1DM6OnwyJ4bKK8lLJ/t1bMwXwDH4CCivkROFAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAIui7P913MZrrJcglTf1f4LCs0Q+TwV2O1kbTj5q -SwLuoSu2dorkeuNGVxtLCLDq3+945gMwrDWMCfTHbiBk/us087PsAuULj/zLUHR6 -34br95IY0W4Z4TgjIT+zj+NiNZLqNpOs1DWZ/YTWazohGQR+FmqtTbgKq68QO0PE -xzokp0fzrdMbsWKXmfjQbjiWkiVQ2FF4s4HmYj/wHygaRENYKg4hxiSB28q+iiJn -1u949KzNdryk2312dgepcu0Lg5T9UlOgbdGj80ZSUkiDCmxER/G01knYBGdiY37o -FQXEjCKCA2M40N8rkci7yB736nJdzU0bTCxB1suBHLOilqtPSHnkMmec9NG6rYaL -6pT1FCYMgSmQ9gkHMVMguKt4AhC/nQJ3A6pjJxn5yhDfO5Ef470E0qGNsUqMtWAt -xWx6Wj3lf7K86V3TymWJ60HFggQyJR3nuv7oKrnH4omLHfObTrAXKyS0iEwgjoFL -c6+DtO/iErckr0LteNIeAhoARGlAg9POW3VWN3ABJGaG9aEiGoEBobuqtg2HSzBr -0p/ZQqwH3RnTCj7KGeVAtVMmJWA0256LKu2RLQ/an6pOzGGpD3zaesB0ZS++D4XK -B9nm1jckBYbRynyDMZ0/mpI+8K4BaWFb7o8/5v186oor3V/2Z6/5LyFvV38wdsV9 -/pHD +MIIFQDCCAygCAgCWMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU1NTVaFw0yNDEyMDUxMjU1NTVaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDBnYs5UdNGWyMKbCs54Yx8FeEICHBF0jHaMgHhANbsy89OoXuq +7gr5VS6kou/Hoc58Vgqzwr2FWUbRnvX+aF4qSzPXfHBhRoZBTqsLKm6LqT0hJEoZ +nDppk4JqxbXzbYOZiXZ6KDolWmPKV4D0ayyUE5NLxU1tcP+jZ7i+RFDwrQyNopih +q7KXC0YHhr13FT7kR9kHLP1V6JE36PPExoErWP6iE5UQxX0MJiBRk5HXTl6NZuF7 +ggOe9zTLRjg8aX8DU3y1P/q8m4x/9VAHFBJ4Wz2AB9C8TdhuCIzAu1f0IQUqsMWz +jTkbTwfAenYvuR+4AazrWnCinfa70IsR/9dx+Ken+Jsn2Ey/r8HtPGVeGES4BDe7 +K4rxs0lI8PkYtDEWCcGNRmkkCF1NqYP6eSeb6O0xY24ma82Jj2GF3OHKl5b6SGTJ +Ix9kiV6EXXrYdWzoLODXFWEQPGwR5DLXL5poj74yLq7mZQNHR/rZaDeWh1eywxd+ +qXb8C4uroLTibI9kFjBraGn4zDxHwoijYIZVCu+51OgM+Pe+5APNZrDeGwQMEN79 +QJMjTC/tm5Ml00npG7xuMRB7K4JQWMjq+OAlHMFDPD4+fmVqKsfZe7UAMhKn2EXc +jZCW5wopv4q2/r9Q4u+Bq/aMNmUzGMG5M/IDXlx5KadKyBURJbTjmPS3fQIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQCNHE1Yz8z9VgEFc0HiL5cXTeSZ83CBQyXUrcJB +VyzuFTYBrg/DAGmDOHBWaXg1oEASMFea+o+nGjuR1xGZ7hZ+tyW7Iewjn6sDRyl4 +oXs0fUGDp/pvBSLshdolXGY88tl5vaZcTfSQeHx3lXsx/rZEc5sN6nYtZcv0fXSI +SJdtxwViRjkzeI/jK/FSb+UQMlxwlfNf8RqDyJgL7NBGGu12YONgA8ZvvqQHpMyT +9Z16PKGXd2jCp3O0ZIjY/SSHgpoB/3W3UL22rdOwXktihSE2cJ1QcR3vJNNg+fkW +3ss2QwsRng0iDFvYS1EddZTZF8Kn5ZD/0FyvpVJIqFQTKnOb3ZtyRgHLHNRBQVP/ +yk3CHhDdPw9bwFj734fpVsfMgAGDBoHcoOcfnyHQfmQx7FFDakLqskVi2oWpZJZJ +p0dpKp8yGmT1KYbiSUb3UfeWlEzAf9c9KraVwrtXsbchxTh9dUw48a1BkNMWha/G +VSG82N9JmPVCkcvbgNyrKSCa7/b0ZkPAq1+SPPtu8UFG4OObSDSjw222ppMforL5 +pjomn5Y3bqStVCl7rFPkWeIIZrt1+tCX2qYM5CwaODQjcXgAkJ4hTvYWoeW4MRT2 +rp9wdR2XEs3thkDxh+mLMyQcd1NdKWNq+Mh2ele+nj7joSXXH5cFKTfmx1Uq8wXg +QFAB3w== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/reverse.key b/dev-deployment/environments/certs/server/hosts/localhost/reverse.key index 0f1cb65a7..64363af05 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/reverse.key +++ b/dev-deployment/environments/certs/server/hosts/localhost/reverse.key @@ -1,52 +1,52 @@ -----BEGIN PRIVATE KEY----- -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 -9QT96d1S6aJiPg9I7rB0Qg7pxEdQwU8= +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 +1tAaUSvxU45p1UtyyTof/zfyvZoPRw== -----END PRIVATE KEY----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/reverse.pem b/dev-deployment/environments/certs/server/hosts/localhost/reverse.pem index 30cb658f8..7a17f3a55 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/reverse.pem +++ b/dev-deployment/environments/certs/server/hosts/localhost/reverse.pem @@ -1,31 +1,31 @@ -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQkwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDUyMDA5MTA1MVoXDTIzMDUyMDA5MTA1MVowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBALbwpOSdBBiMYREMUo6/NOzXi9iVz4Tf6cf3LwUON9MHU4g8/w5O -f3X4KzMKu/xsKmcyrIV0+gQ3dX4nnx513jK+V3k72ewxzkQqLd2UxZmcvIJBzlCh -zBQOv+Z2J5q4+oERlJpQN7v90Yx9BEHPtyBym3MTVy+YuZmm9U5L2cIs3eOTmYJu -DkwzMUNlWNhsbsnWBcCJkY/z8BPJy59CJAORF1toPaIiCPu29fZzg7/XXEz7BfUP -95Iuh7PEE11u7mV+uFu0JoeAR7eJiQaBTda0Qxjc+84aohRFxEqXeqpxTSwkuQYR -OgikWs8gOXCIpsDvWawIWBsn0N7KJgqWwbHy33zg+zrReTx38GYCyz9KoBNcONqi -MpeNNkyEQ2mZEnY8YWvAc5fkKUZ8zOx3gh43jnt6Wv/GOzQsuzlBfM7W4MSeO3CS -1afMyBU9g5sboX69nwrJml9RvqqfxN5VPIGVVpQLN3jlq1xp8lvODHsnNwanlZMC -mF0VnST/QYhMKc3Axr9iGAN4kdnDdz6YM88P7BRRpBm8tP0eUma8J5bWj6RbsS+d -e6JFKF6MqdtOubKvChxn6pbOnztTNgCdKusRI3N3DbOcDXaacm2Zn5Q3K1u5r4aC -9cYLYRHig6J6A7dbxVfJ1DM6OnwyJ4bKK8lLJ/t1bMwXwDH4CCivkROFAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAIui7P913MZrrJcglTf1f4LCs0Q+TwV2O1kbTj5q -SwLuoSu2dorkeuNGVxtLCLDq3+945gMwrDWMCfTHbiBk/us087PsAuULj/zLUHR6 -34br95IY0W4Z4TgjIT+zj+NiNZLqNpOs1DWZ/YTWazohGQR+FmqtTbgKq68QO0PE -xzokp0fzrdMbsWKXmfjQbjiWkiVQ2FF4s4HmYj/wHygaRENYKg4hxiSB28q+iiJn -1u949KzNdryk2312dgepcu0Lg5T9UlOgbdGj80ZSUkiDCmxER/G01knYBGdiY37o -FQXEjCKCA2M40N8rkci7yB736nJdzU0bTCxB1suBHLOilqtPSHnkMmec9NG6rYaL -6pT1FCYMgSmQ9gkHMVMguKt4AhC/nQJ3A6pjJxn5yhDfO5Ef470E0qGNsUqMtWAt -xWx6Wj3lf7K86V3TymWJ60HFggQyJR3nuv7oKrnH4omLHfObTrAXKyS0iEwgjoFL -c6+DtO/iErckr0LteNIeAhoARGlAg9POW3VWN3ABJGaG9aEiGoEBobuqtg2HSzBr -0p/ZQqwH3RnTCj7KGeVAtVMmJWA0256LKu2RLQ/an6pOzGGpD3zaesB0ZS++D4XK -B9nm1jckBYbRynyDMZ0/mpI+8K4BaWFb7o8/5v186oor3V/2Z6/5LyFvV38wdsV9 -/pHD +MIIFQDCCAygCAgCWMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU1NTVaFw0yNDEyMDUxMjU1NTVaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDBnYs5UdNGWyMKbCs54Yx8FeEICHBF0jHaMgHhANbsy89OoXuq +7gr5VS6kou/Hoc58Vgqzwr2FWUbRnvX+aF4qSzPXfHBhRoZBTqsLKm6LqT0hJEoZ +nDppk4JqxbXzbYOZiXZ6KDolWmPKV4D0ayyUE5NLxU1tcP+jZ7i+RFDwrQyNopih +q7KXC0YHhr13FT7kR9kHLP1V6JE36PPExoErWP6iE5UQxX0MJiBRk5HXTl6NZuF7 +ggOe9zTLRjg8aX8DU3y1P/q8m4x/9VAHFBJ4Wz2AB9C8TdhuCIzAu1f0IQUqsMWz +jTkbTwfAenYvuR+4AazrWnCinfa70IsR/9dx+Ken+Jsn2Ey/r8HtPGVeGES4BDe7 +K4rxs0lI8PkYtDEWCcGNRmkkCF1NqYP6eSeb6O0xY24ma82Jj2GF3OHKl5b6SGTJ +Ix9kiV6EXXrYdWzoLODXFWEQPGwR5DLXL5poj74yLq7mZQNHR/rZaDeWh1eywxd+ +qXb8C4uroLTibI9kFjBraGn4zDxHwoijYIZVCu+51OgM+Pe+5APNZrDeGwQMEN79 +QJMjTC/tm5Ml00npG7xuMRB7K4JQWMjq+OAlHMFDPD4+fmVqKsfZe7UAMhKn2EXc +jZCW5wopv4q2/r9Q4u+Bq/aMNmUzGMG5M/IDXlx5KadKyBURJbTjmPS3fQIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQCNHE1Yz8z9VgEFc0HiL5cXTeSZ83CBQyXUrcJB +VyzuFTYBrg/DAGmDOHBWaXg1oEASMFea+o+nGjuR1xGZ7hZ+tyW7Iewjn6sDRyl4 +oXs0fUGDp/pvBSLshdolXGY88tl5vaZcTfSQeHx3lXsx/rZEc5sN6nYtZcv0fXSI +SJdtxwViRjkzeI/jK/FSb+UQMlxwlfNf8RqDyJgL7NBGGu12YONgA8ZvvqQHpMyT +9Z16PKGXd2jCp3O0ZIjY/SSHgpoB/3W3UL22rdOwXktihSE2cJ1QcR3vJNNg+fkW +3ss2QwsRng0iDFvYS1EddZTZF8Kn5ZD/0FyvpVJIqFQTKnOb3ZtyRgHLHNRBQVP/ +yk3CHhDdPw9bwFj734fpVsfMgAGDBoHcoOcfnyHQfmQx7FFDakLqskVi2oWpZJZJ +p0dpKp8yGmT1KYbiSUb3UfeWlEzAf9c9KraVwrtXsbchxTh9dUw48a1BkNMWha/G +VSG82N9JmPVCkcvbgNyrKSCa7/b0ZkPAq1+SPPtu8UFG4OObSDSjw222ppMforL5 +pjomn5Y3bqStVCl7rFPkWeIIZrt1+tCX2qYM5CwaODQjcXgAkJ4hTvYWoeW4MRT2 +rp9wdR2XEs3thkDxh+mLMyQcd1NdKWNq+Mh2ele+nj7joSXXH5cFKTfmx1Uq8wXg +QFAB3w== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/security-internal.crt b/dev-deployment/environments/certs/server/hosts/localhost/security-internal.crt index 9fcfc02c8..1ea75ff97 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/security-internal.crt +++ b/dev-deployment/environments/certs/server/hosts/localhost/security-internal.crt @@ -1,111 +1,111 @@ Certificate: Data: Version: 1 (0x0) - Serial Number: 3 (0x3) - Signature Algorithm: sha256WithRSAEncryption + Serial Number: 132 (0x84) + Signature Algorithm: sha256WithRSAEncryption Issuer: C=fr, ST=idf, L=paris, O=vitamui, OU=authorities, CN=ca_intermediate_server Validity - Not Before: May 5 12:34:44 2020 GMT - Not After : May 5 12:34:44 2023 GMT + Not Before: Dec 6 12:54:07 2021 GMT + Not After : Dec 5 12:54:07 2024 GMT Subject: C=fr, ST=idf, L=paris, O=vitamui, CN=dev.vitamui.com Subject Public Key Info: Public Key Algorithm: rsaEncryption - RSA Public-Key: (4096 bit) + Public-Key: (4096 bit) Modulus: - 00:cd:27:29:78:29:a0:91:d5:7f:a8:e2:16:cc:96: - 86:0a:90:6a:12:50:5f:fd:79:ae:59:71:3b:95:68: - 87:34:1f:e9:7e:3c:4b:07:a2:9b:4e:eb:12:41:cd: - ef:00:0a:50:ee:11:92:be:2a:78:88:70:12:00:de: - 0f:b3:79:55:83:53:53:c2:d3:a6:ab:52:99:da:79: - 70:c6:f5:2a:5d:9f:64:22:17:cd:31:23:6e:36:10: - eb:94:2f:f6:e5:ec:0a:39:6a:2c:69:c4:4c:bb:cb: - d0:4a:88:6b:5b:ff:d9:55:1c:9b:e9:a1:22:e5:72: - 13:7c:c9:ce:13:d5:95:b1:6b:46:87:c5:e9:be:b4: - 62:c1:9c:bc:1e:b2:e6:6f:6c:7a:29:b9:51:81:75: - b2:50:fb:f7:5d:b5:a7:41:ec:f7:3d:8a:a6:d5:a3: - 2f:a3:c7:ce:b8:63:c1:0f:80:73:51:e6:d5:04:86: - 73:d1:8f:2a:a8:d7:f3:95:8e:e2:94:a0:52:d6:29: - f7:d4:55:7f:6f:19:66:5a:d7:12:36:a2:83:ed:88: - 01:56:b6:c1:dd:e3:e1:3e:75:79:c0:14:36:27:5e: - aa:ae:d0:33:7a:62:0a:16:93:36:4c:bd:3a:b9:96: - c5:61:1f:99:54:6c:45:1b:0b:de:92:e0:34:2f:47: - 83:9a:99:ea:13:4e:af:e9:66:d8:2f:8b:67:0f:fe: - b3:fb:9e:6c:e0:59:d8:ac:8c:1f:7a:e4:dd:c8:bd: - 68:b3:c4:1e:20:fe:14:84:f3:8e:28:a0:00:89:41: - 61:fe:dd:f1:7d:eb:20:2d:27:52:f8:ff:ca:24:14: - ac:1a:3b:21:f0:dc:0d:0d:7f:19:72:74:79:58:2a: - 80:20:eb:af:28:86:2a:95:16:e2:a4:c2:92:11:0d: - da:42:ed:14:db:95:52:9f:e2:aa:85:0a:5f:99:10: - 31:b2:cc:f2:8d:99:de:76:20:1d:fb:0d:bb:7f:92: - cc:93:f7:d8:ac:b7:bd:43:3c:2c:87:29:f8:54:fc: - c2:58:68:4c:01:57:66:4b:4e:f8:ba:7b:85:1d:af: - 22:9b:34:5a:23:a9:29:f2:5d:ec:3c:16:d2:67:4f: - be:22:72:15:24:e3:97:99:05:37:4c:e4:e2:42:b8: - 62:f1:b5:f7:77:39:21:ad:0a:3c:d0:30:d8:63:ff: - e0:8a:49:ea:05:96:0a:c7:cc:a7:2c:83:d6:1d:d0: - 62:ae:b2:c2:be:12:39:ec:84:a8:8f:8e:a6:90:e5: - 02:09:a2:67:87:20:92:4e:46:64:d5:9a:22:bf:fd: - 6f:6e:b1:f0:76:04:2d:a3:e0:e3:dd:68:b6:8b:cd: - b4:8d:55 + 00:c6:6f:9c:35:3e:d8:7f:83:98:4a:58:20:07:23: + 9d:55:64:f3:a1:89:ea:d4:b8:a4:df:7e:d2:95:fe: + a1:f0:d8:9d:56:79:c7:d6:b0:d0:3b:ad:3b:71:e5: + 82:4f:a8:51:8c:f9:50:55:ce:f2:8e:10:ce:a8:91: + e1:f1:54:f5:25:eb:b3:71:45:e1:81:6d:8c:dc:8d: + 8b:79:98:e6:6d:4d:3e:02:20:7d:12:57:f6:7b:14: + 4b:e6:d0:75:72:17:38:15:80:50:53:cb:40:e8:72: + 31:1c:84:2d:fd:b4:98:4d:34:92:2b:53:a8:3f:a2: + 35:23:b8:39:35:26:84:bb:a5:f4:49:6c:4b:9e:02: + 1b:ac:cd:87:fb:02:ba:68:35:55:ee:76:6a:11:46: + ef:d2:fe:7f:dd:ec:83:db:f4:e0:5f:77:bc:ba:88: + 89:52:f6:4f:9f:93:02:c9:24:76:97:0d:91:68:4a: + b3:f1:01:81:82:bc:55:2a:d6:b0:a8:5c:f0:26:2a: + ad:50:13:e8:57:c7:1d:fb:83:52:5d:db:be:7b:ed: + af:ff:38:ff:9f:31:72:e4:8d:9f:62:17:8d:4f:30: + 23:d9:3d:85:9f:bb:ca:bf:c8:55:ec:66:1c:e4:22: + 29:8a:7d:be:bb:6d:f0:b9:dd:e2:8d:0f:c3:c4:9d: + a1:ef:18:c0:ba:3f:ca:06:61:ae:c4:c6:e3:47:da: + da:75:35:0c:74:80:28:3e:29:db:3d:da:1c:32:52: + b3:78:da:03:9b:d8:c0:2b:fa:08:b3:16:1a:30:cd: + 0f:83:7d:e1:34:1b:78:af:ed:09:fb:af:12:9a:af: + ea:3b:d3:0c:bf:f0:5b:c4:a5:15:4f:cf:23:b2:0c: + 13:ba:55:47:8b:44:d5:91:22:91:51:9a:c8:de:8a: + 2f:0f:29:23:51:c4:a5:64:f6:8b:56:6e:c0:09:39: + 79:08:8a:26:33:20:7b:f8:a5:c0:fe:c0:73:9d:c7: + a7:0c:22:ef:9f:8e:dd:cb:15:71:b5:50:38:94:df: + a1:d8:df:18:80:b3:48:c4:b8:19:14:a9:c1:99:f5: + ce:40:1a:eb:99:0e:33:f2:9f:e5:bc:cf:18:53:5e: + 94:fb:1b:17:e4:23:0a:5e:cc:72:1c:17:d3:7e:db: + 82:51:e1:e8:f7:47:4b:71:31:dd:b1:c6:a6:12:9d: + 9f:e7:56:85:a8:0f:a6:db:d4:8a:f9:4f:92:ef:5c: + 20:38:46:b5:d5:12:7c:62:4b:1c:98:b5:e9:ca:69: + c7:d1:3f:e4:08:43:68:f4:98:d8:4c:e9:4f:8b:08: + 47:f3:55:5f:87:04:2b:d0:06:cc:c1:a7:b7:ef:42: + 07:ba:bd Exponent: 65537 (0x10001) Signature Algorithm: sha256WithRSAEncryption - 99:ec:b9:c9:d8:42:e1:4e:de:62:9a:28:84:9d:2c:c4:35:c2: - 1d:b4:08:25:50:84:b8:c1:1d:2b:2f:fd:f5:29:d0:9a:bb:73: - 7f:ea:2c:d3:87:f2:8f:b5:05:33:b5:ed:e4:78:fd:50:f7:8a: - c9:89:f9:c9:41:cf:45:40:34:6e:79:60:90:7c:6f:8c:f0:59: - 38:d2:a6:84:3c:f6:9a:68:e3:c9:c4:fb:c8:09:36:5e:e4:f9: - cd:85:cb:2e:d4:f1:70:9c:70:5c:e8:71:00:7c:b1:4d:8f:67: - 09:d1:e9:4b:bf:06:5a:a7:81:80:60:96:93:c6:ef:be:a4:33: - 1f:65:2a:2c:43:6a:dc:d0:a1:ff:19:e2:c4:7d:be:46:46:95: - 2f:bb:58:a3:aa:99:83:e8:98:79:9e:7e:24:ef:ba:6c:db:75: - 47:c6:13:f4:32:c0:c5:91:9c:80:28:da:ed:fb:6c:e2:e8:7b: - a2:ea:16:16:79:f3:6c:58:3a:09:fa:51:45:bc:72:25:aa:a6: - 3b:ca:23:5e:5c:7d:0c:c2:35:38:58:4f:2d:fb:c1:64:01:6a: - 68:b0:91:9b:e7:79:7e:ae:e4:b9:3e:f3:47:8c:fd:de:4c:d3: - be:d2:e8:74:3f:94:ce:5f:4e:63:8e:ff:33:85:a2:bf:0a:e7: - 52:ef:7e:ed:72:4a:66:51:20:18:a3:41:1d:a6:d6:af:47:fd: - e3:0c:f4:03:fd:c4:a0:7d:e1:15:a5:ae:7c:85:66:ee:a3:13: - 19:8d:c9:5a:75:77:6c:4f:2b:90:4a:b0:ef:3d:ee:58:b7:c1: - 5d:31:8f:27:02:05:fb:5f:f5:16:c5:14:40:e0:aa:55:81:08: - ab:bb:6b:5b:37:1f:f2:8c:15:39:7c:ac:1c:78:73:bc:ee:21: - 10:8d:ae:f6:0d:9c:6d:32:7d:39:d4:19:43:e3:cc:b0:bf:08: - 67:0d:29:0b:6d:96:17:42:56:ed:7e:d5:cd:a5:8f:55:12:cb: - 29:80:02:9c:00:25:b5:a8:49:c2:48:4d:d9:68:6e:ec:60:76: - 81:a0:6b:72:ff:26:97:7c:5b:f4:bc:af:1e:07:f2:92:d6:dd: - 34:a5:02:65:28:fa:7d:6e:63:60:dd:f5:b8:c3:1b:2a:29:d0: - 98:bf:3f:89:3c:7e:14:94:bf:c9:e7:06:a2:b0:db:1e:c7:4c: - f2:2a:84:04:8d:54:29:c3:fd:bd:82:d4:08:0d:66:c8:f4:27: - e8:b2:e6:a2:cf:69:80:28:d1:36:86:14:39:41:95:45:6c:cd: - 8e:72:e2:ac:a9:1a:cb:c8:79:b3:23:b7:1b:54:a4:72:fb:cd: - 9c:8e:bf:3d:a2:66:b5:c3 + 4d:41:e8:b5:d1:e6:a5:f9:ca:53:24:94:27:c8:50:c3:24:79: + b9:f0:88:9f:9b:43:c8:82:2a:4e:2e:e9:cb:72:29:1b:57:e4: + 38:2b:5c:00:e7:3e:97:7e:a1:d9:8f:dc:73:4f:a0:71:96:cc: + 8b:d3:d3:ee:9d:f5:18:c7:42:e5:0b:2d:63:c7:87:d1:db:ec: + c4:b4:b7:e4:4f:ca:ee:cc:a0:2d:b8:2f:1d:04:c7:cd:38:05: + 3c:e4:8c:1a:d8:b9:7f:d9:98:e6:bc:4b:dd:aa:9e:11:5e:be: + fa:5f:f2:ee:94:c8:2b:48:12:3d:77:23:ca:ed:79:5e:0f:59: + b4:f2:0e:98:95:00:00:2c:bc:58:eb:a5:f5:ba:b3:e3:6c:09: + 83:cc:6c:03:6b:ce:50:2c:68:1b:7e:11:6d:06:0f:2a:ee:07: + 81:fe:40:43:51:85:cc:e0:9d:ef:6c:32:f1:5d:da:e0:4a:c6: + b0:84:6f:b5:d3:85:7a:56:08:11:49:e3:ff:4e:bd:d9:cb:20: + 29:80:82:70:22:2a:25:1f:f4:18:fb:16:21:6e:ce:c1:2f:fd: + f0:76:fe:b7:15:d2:c8:3d:01:02:d3:1b:83:81:16:09:66:9c: + ea:5a:f7:58:df:10:6f:c9:d3:b0:b8:e8:f7:51:64:52:a0:c1: + a9:39:b9:49:9d:b5:df:6f:95:fc:f4:4a:3f:27:86:a1:25:09: + 80:3b:cd:e6:87:61:2d:7a:59:f9:20:2f:e1:45:66:6b:01:ad: + 21:1d:9c:52:d7:88:aa:80:d7:2e:8b:ba:46:de:1e:f8:bf:a9: + 0a:9f:6f:dd:82:dd:64:68:31:0e:57:62:df:21:eb:de:42:a1: + d6:38:5f:2e:8b:3f:12:13:a6:5f:29:8f:db:fb:fe:b1:c4:37: + 94:90:10:c9:df:e4:0d:e0:62:fc:07:8b:da:8a:3c:e6:58:8d: + 7d:d7:08:bc:3f:83:a4:5f:75:ed:d3:75:f2:ce:14:f6:b4:3a: + 01:a2:8c:b2:b3:84:02:a6:d8:8a:50:c4:5f:cd:97:7b:c5:ec: + 5a:41:34:09:a3:b2:03:ba:ff:f3:85:c6:36:d0:0a:14:96:73: + 79:b2:a0:8e:91:8b:23:f5:d8:3d:ab:8b:7e:13:ec:17:2e:81: + 99:a3:34:b8:f5:62:a1:94:20:6f:e1:a4:a9:89:17:2a:06:fe: + b3:68:ce:6e:11:f6:8b:24:be:d7:97:bd:52:15:8c:d4:a6:c6: + 55:2d:33:aa:7a:d0:4b:dc:84:d6:ac:2a:23:7a:7c:37:8f:e6: + 39:da:c8:0f:db:70:09:a6:72:e2:cc:0d:db:ab:69:33:23:c1: + f1:93:84:7d:ae:70:c3:65 -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQMwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDUwNTEyMzQ0NFoXDTIzMDUwNTEyMzQ0NFowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAM0nKXgpoJHVf6jiFsyWhgqQahJQX/15rllxO5VohzQf6X48Swei -m07rEkHN7wAKUO4Rkr4qeIhwEgDeD7N5VYNTU8LTpqtSmdp5cMb1Kl2fZCIXzTEj -bjYQ65Qv9uXsCjlqLGnETLvL0EqIa1v/2VUcm+mhIuVyE3zJzhPVlbFrRofF6b60 -YsGcvB6y5m9seim5UYF1slD79121p0Hs9z2KptWjL6PHzrhjwQ+Ac1Hm1QSGc9GP -KqjX85WO4pSgUtYp99RVf28ZZlrXEjaig+2IAVa2wd3j4T51ecAUNideqq7QM3pi -ChaTNky9OrmWxWEfmVRsRRsL3pLgNC9Hg5qZ6hNOr+lm2C+LZw/+s/uebOBZ2KyM -H3rk3ci9aLPEHiD+FITzjiigAIlBYf7d8X3rIC0nUvj/yiQUrBo7IfDcDQ1/GXJ0 -eVgqgCDrryiGKpUW4qTCkhEN2kLtFNuVUp/iqoUKX5kQMbLM8o2Z3nYgHfsNu3+S -zJP32Ky3vUM8LIcp+FT8wlhoTAFXZktO+Lp7hR2vIps0WiOpKfJd7DwW0mdPviJy -FSTjl5kFN0zk4kK4YvG193c5Ia0KPNAw2GP/4IpJ6gWWCsfMpyyD1h3QYq6ywr4S -OeyEqI+OppDlAgmiZ4cgkk5GZNWaIr/9b26x8HYELaPg491otovNtI1VAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAJnsucnYQuFO3mKaKISdLMQ1wh20CCVQhLjBHSsv -/fUp0Jq7c3/qLNOH8o+1BTO17eR4/VD3ismJ+clBz0VANG55YJB8b4zwWTjSpoQ8 -9ppo48nE+8gJNl7k+c2Fyy7U8XCccFzocQB8sU2PZwnR6Uu/BlqngYBglpPG776k -Mx9lKixDatzQof8Z4sR9vkZGlS+7WKOqmYPomHmefiTvumzbdUfGE/QywMWRnIAo -2u37bOLoe6LqFhZ582xYOgn6UUW8ciWqpjvKI15cfQzCNThYTy37wWQBamiwkZvn -eX6u5Lk+80eM/d5M077S6HQ/lM5fTmOO/zOFor8K51Lvfu1ySmZRIBijQR2m1q9H -/eMM9AP9xKB94RWlrnyFZu6jExmNyVp1d2xPK5BKsO897li3wV0xjycCBftf9RbF -FEDgqlWBCKu7a1s3H/KMFTl8rBx4c7zuIRCNrvYNnG0yfTnUGUPjzLC/CGcNKQtt -lhdCVu1+1c2lj1USyymAApwAJbWoScJITdlobuxgdoGga3L/Jpd8W/S8rx4H8pLW -3TSlAmUo+n1uY2Dd9bjDGyop0Ji/P4k8fhSUv8nnBqKw2x7HTPIqhASNVCnD/b2C -1AgNZsj0J+iy5qLPaYAo0TaGFDlBlUVszY5y4qypGsvIebMjtxtUpHL7zZyOvz2i -ZrXD +MIIFQDCCAygCAgCEMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU0MDdaFw0yNDEyMDUxMjU0MDdaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDGb5w1Pth/g5hKWCAHI51VZPOhierUuKTfftKV/qHw2J1WecfW +sNA7rTtx5YJPqFGM+VBVzvKOEM6okeHxVPUl67NxReGBbYzcjYt5mOZtTT4CIH0S +V/Z7FEvm0HVyFzgVgFBTy0DocjEchC39tJhNNJIrU6g/ojUjuDk1JoS7pfRJbEue +AhuszYf7ArpoNVXudmoRRu/S/n/d7IPb9OBfd7y6iIlS9k+fkwLJJHaXDZFoSrPx +AYGCvFUq1rCoXPAmKq1QE+hXxx37g1Jd27577a//OP+fMXLkjZ9iF41PMCPZPYWf +u8q/yFXsZhzkIimKfb67bfC53eKND8PEnaHvGMC6P8oGYa7ExuNH2tp1NQx0gCg+ +Kds92hwyUrN42gOb2MAr+gizFhowzQ+DfeE0G3iv7Qn7rxKar+o70wy/8FvEpRVP +zyOyDBO6VUeLRNWRIpFRmsjeii8PKSNRxKVk9otWbsAJOXkIiiYzIHv4pcD+wHOd +x6cMIu+fjt3LFXG1UDiU36HY3xiAs0jEuBkUqcGZ9c5AGuuZDjPyn+W8zxhTXpT7 +GxfkIwpezHIcF9N+24JR4ej3R0txMd2xxqYSnZ/nVoWoD6bb1Ir5T5LvXCA4RrXV +EnxiSxyYtenKacfRP+QIQ2j0mNhM6U+LCEfzVV+HBCvQBszBp7fvQge6vQIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQBNQei10eal+cpTJJQnyFDDJHm58Iifm0PIgipO +LunLcikbV+Q4K1wA5z6XfqHZj9xzT6BxlsyL09PunfUYx0LlCy1jx4fR2+zEtLfk +T8ruzKAtuC8dBMfNOAU85Iwa2Ll/2ZjmvEvdqp4RXr76X/LulMgrSBI9dyPK7Xle +D1m08g6YlQAALLxY66X1urPjbAmDzGwDa85QLGgbfhFtBg8q7geB/kBDUYXM4J3v +bDLxXdrgSsawhG+104V6VggRSeP/Tr3ZyyApgIJwIiolH/QY+xYhbs7BL/3wdv63 +FdLIPQEC0xuDgRYJZpzqWvdY3xBvydOwuOj3UWRSoMGpOblJnbXfb5X89Eo/J4ah +JQmAO83mh2Eteln5IC/hRWZrAa0hHZxS14iqgNcui7pG3h74v6kKn2/dgt1kaDEO +V2LfIeveQqHWOF8uiz8SE6ZfKY/b+/6xxDeUkBDJ3+QN4GL8B4vaijzmWI191wi8 +P4OkX3Xt03XyzhT2tDoBooyys4QCptiKUMRfzZd7xexaQTQJo7IDuv/zhcY20AoU +lnN5sqCOkYsj9dg9q4t+E+wXLoGZozS49WKhlCBv4aSpiRcqBv6zaM5uEfaLJL7X +l71SFYzUpsZVLTOqetBL3ITWrCojenw3j+Y52sgP23AJpnLizA3bq2kzI8Hxk4R9 +rnDDZQ== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/security-internal.key b/dev-deployment/environments/certs/server/hosts/localhost/security-internal.key index e2b9d118d..c6ed499e1 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/security-internal.key +++ b/dev-deployment/environments/certs/server/hosts/localhost/security-internal.key @@ -1,52 +1,52 @@ -----BEGIN PRIVATE KEY----- -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 -IRsWkveXfSmx6SqA6e8BWL3J4/xfQw== +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 +3GzAL2nKRwwMngBFU+uTi+DRG+88Eg== -----END PRIVATE KEY----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/security-internal.pem b/dev-deployment/environments/certs/server/hosts/localhost/security-internal.pem index 51c3038eb..2cf870545 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/security-internal.pem +++ b/dev-deployment/environments/certs/server/hosts/localhost/security-internal.pem @@ -1,31 +1,31 @@ -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQMwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDUwNTEyMzQ0NFoXDTIzMDUwNTEyMzQ0NFowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAM0nKXgpoJHVf6jiFsyWhgqQahJQX/15rllxO5VohzQf6X48Swei -m07rEkHN7wAKUO4Rkr4qeIhwEgDeD7N5VYNTU8LTpqtSmdp5cMb1Kl2fZCIXzTEj -bjYQ65Qv9uXsCjlqLGnETLvL0EqIa1v/2VUcm+mhIuVyE3zJzhPVlbFrRofF6b60 -YsGcvB6y5m9seim5UYF1slD79121p0Hs9z2KptWjL6PHzrhjwQ+Ac1Hm1QSGc9GP -KqjX85WO4pSgUtYp99RVf28ZZlrXEjaig+2IAVa2wd3j4T51ecAUNideqq7QM3pi -ChaTNky9OrmWxWEfmVRsRRsL3pLgNC9Hg5qZ6hNOr+lm2C+LZw/+s/uebOBZ2KyM -H3rk3ci9aLPEHiD+FITzjiigAIlBYf7d8X3rIC0nUvj/yiQUrBo7IfDcDQ1/GXJ0 -eVgqgCDrryiGKpUW4qTCkhEN2kLtFNuVUp/iqoUKX5kQMbLM8o2Z3nYgHfsNu3+S -zJP32Ky3vUM8LIcp+FT8wlhoTAFXZktO+Lp7hR2vIps0WiOpKfJd7DwW0mdPviJy -FSTjl5kFN0zk4kK4YvG193c5Ia0KPNAw2GP/4IpJ6gWWCsfMpyyD1h3QYq6ywr4S -OeyEqI+OppDlAgmiZ4cgkk5GZNWaIr/9b26x8HYELaPg491otovNtI1VAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAJnsucnYQuFO3mKaKISdLMQ1wh20CCVQhLjBHSsv -/fUp0Jq7c3/qLNOH8o+1BTO17eR4/VD3ismJ+clBz0VANG55YJB8b4zwWTjSpoQ8 -9ppo48nE+8gJNl7k+c2Fyy7U8XCccFzocQB8sU2PZwnR6Uu/BlqngYBglpPG776k -Mx9lKixDatzQof8Z4sR9vkZGlS+7WKOqmYPomHmefiTvumzbdUfGE/QywMWRnIAo -2u37bOLoe6LqFhZ582xYOgn6UUW8ciWqpjvKI15cfQzCNThYTy37wWQBamiwkZvn -eX6u5Lk+80eM/d5M077S6HQ/lM5fTmOO/zOFor8K51Lvfu1ySmZRIBijQR2m1q9H -/eMM9AP9xKB94RWlrnyFZu6jExmNyVp1d2xPK5BKsO897li3wV0xjycCBftf9RbF -FEDgqlWBCKu7a1s3H/KMFTl8rBx4c7zuIRCNrvYNnG0yfTnUGUPjzLC/CGcNKQtt -lhdCVu1+1c2lj1USyymAApwAJbWoScJITdlobuxgdoGga3L/Jpd8W/S8rx4H8pLW -3TSlAmUo+n1uY2Dd9bjDGyop0Ji/P4k8fhSUv8nnBqKw2x7HTPIqhASNVCnD/b2C -1AgNZsj0J+iy5qLPaYAo0TaGFDlBlUVszY5y4qypGsvIebMjtxtUpHL7zZyOvz2i -ZrXD +MIIFQDCCAygCAgCEMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU0MDdaFw0yNDEyMDUxMjU0MDdaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDGb5w1Pth/g5hKWCAHI51VZPOhierUuKTfftKV/qHw2J1WecfW +sNA7rTtx5YJPqFGM+VBVzvKOEM6okeHxVPUl67NxReGBbYzcjYt5mOZtTT4CIH0S +V/Z7FEvm0HVyFzgVgFBTy0DocjEchC39tJhNNJIrU6g/ojUjuDk1JoS7pfRJbEue +AhuszYf7ArpoNVXudmoRRu/S/n/d7IPb9OBfd7y6iIlS9k+fkwLJJHaXDZFoSrPx +AYGCvFUq1rCoXPAmKq1QE+hXxx37g1Jd27577a//OP+fMXLkjZ9iF41PMCPZPYWf +u8q/yFXsZhzkIimKfb67bfC53eKND8PEnaHvGMC6P8oGYa7ExuNH2tp1NQx0gCg+ +Kds92hwyUrN42gOb2MAr+gizFhowzQ+DfeE0G3iv7Qn7rxKar+o70wy/8FvEpRVP +zyOyDBO6VUeLRNWRIpFRmsjeii8PKSNRxKVk9otWbsAJOXkIiiYzIHv4pcD+wHOd +x6cMIu+fjt3LFXG1UDiU36HY3xiAs0jEuBkUqcGZ9c5AGuuZDjPyn+W8zxhTXpT7 +GxfkIwpezHIcF9N+24JR4ej3R0txMd2xxqYSnZ/nVoWoD6bb1Ir5T5LvXCA4RrXV +EnxiSxyYtenKacfRP+QIQ2j0mNhM6U+LCEfzVV+HBCvQBszBp7fvQge6vQIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQBNQei10eal+cpTJJQnyFDDJHm58Iifm0PIgipO +LunLcikbV+Q4K1wA5z6XfqHZj9xzT6BxlsyL09PunfUYx0LlCy1jx4fR2+zEtLfk +T8ruzKAtuC8dBMfNOAU85Iwa2Ll/2ZjmvEvdqp4RXr76X/LulMgrSBI9dyPK7Xle +D1m08g6YlQAALLxY66X1urPjbAmDzGwDa85QLGgbfhFtBg8q7geB/kBDUYXM4J3v +bDLxXdrgSsawhG+104V6VggRSeP/Tr3ZyyApgIJwIiolH/QY+xYhbs7BL/3wdv63 +FdLIPQEC0xuDgRYJZpzqWvdY3xBvydOwuOj3UWRSoMGpOblJnbXfb5X89Eo/J4ah +JQmAO83mh2Eteln5IC/hRWZrAa0hHZxS14iqgNcui7pG3h74v6kKn2/dgt1kaDEO +V2LfIeveQqHWOF8uiz8SE6ZfKY/b+/6xxDeUkBDJ3+QN4GL8B4vaijzmWI191wi8 +P4OkX3Xt03XyzhT2tDoBooyys4QCptiKUMRfzZd7xexaQTQJo7IDuv/zhcY20AoU +lnN5sqCOkYsj9dg9q4t+E+wXLoGZozS49WKhlCBv4aSpiRcqBv6zaM5uEfaLJL7X +l71SFYzUpsZVLTOqetBL3ITWrCojenw3j+Y52sgP23AJpnLizA3bq2kzI8Hxk4R9 +rnDDZQ== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ui-archive-search.crt b/dev-deployment/environments/certs/server/hosts/localhost/ui-archive-search.crt index a13a005ae..3d068464e 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ui-archive-search.crt +++ b/dev-deployment/environments/certs/server/hosts/localhost/ui-archive-search.crt @@ -1,111 +1,111 @@ Certificate: Data: Version: 1 (0x0) - Serial Number: 31 (0x1f) - Signature Algorithm: sha256WithRSAEncryption + Serial Number: 148 (0x94) + Signature Algorithm: sha256WithRSAEncryption Issuer: C=fr, ST=idf, L=paris, O=vitamui, OU=authorities, CN=ca_intermediate_server Validity - Not Before: Dec 9 09:41:02 2020 GMT - Not After : Dec 9 09:41:02 2023 GMT + Not Before: Dec 6 12:55:39 2021 GMT + Not After : Dec 5 12:55:39 2024 GMT Subject: C=fr, ST=idf, L=paris, O=vitamui, CN=dev.vitamui.com Subject Public Key Info: Public Key Algorithm: rsaEncryption - RSA Public-Key: (4096 bit) + Public-Key: (4096 bit) Modulus: - 00:a4:23:7d:14:58:a6:b4:de:69:0a:b5:a4:d2:ca: - b7:c4:c7:a2:bc:c6:65:b5:30:37:e2:8f:50:52:8b: - 14:c7:1e:4e:20:ec:bf:2e:fb:c4:3a:e8:8a:08:e9: - e1:ae:31:37:09:5d:1e:ec:f9:3d:ff:d1:fa:1d:dd: - 3d:ee:de:79:d4:a6:87:c3:1a:0b:97:f9:f2:0e:cd: - 75:04:1e:b1:b2:94:c4:1d:e0:3f:c4:d7:1b:f4:e9: - 7d:36:ec:5c:d8:d1:f4:e9:de:23:e6:fa:99:09:e4: - 85:3d:49:3c:69:e4:bc:c5:08:ab:a7:7b:30:09:81: - 1f:f7:60:d6:6d:8a:c2:92:b6:ea:d6:ad:f7:d5:fc: - 0b:c3:b1:7e:2c:75:94:07:12:6c:f5:68:89:97:a1: - 32:92:a1:ea:e8:f3:c5:20:f7:0c:3d:b0:06:cf:a3: - d9:d4:36:1f:be:90:1d:ec:21:9e:a6:44:e9:5e:dd: - b9:8e:b4:41:c5:70:39:16:a2:81:8a:95:3b:3a:c4: - 35:bb:cd:de:32:e5:0b:f2:30:33:82:70:a5:ca:5d: - 66:c3:3d:e1:35:c2:49:7e:13:4d:df:ba:8f:2e:d3: - 9c:30:83:de:f7:13:bc:f0:06:41:3b:b0:d2:2a:76: - d0:f9:94:a4:11:d7:f5:c3:32:c6:7f:8a:1d:06:cc: - 01:8f:dd:f7:23:73:c9:09:d6:5b:ff:ac:6e:b8:24: - a9:a2:93:13:85:47:bb:7f:8a:99:4b:dd:8c:5e:b0: - 36:7c:cc:4f:5e:08:df:62:80:9b:4c:91:e4:aa:60: - 0b:84:9e:24:78:49:f0:08:8f:92:aa:44:22:75:e2: - 8a:b6:86:00:70:ca:1d:fb:ec:26:46:b8:e8:a3:dd: - 12:a7:fa:5e:de:c4:69:f6:65:52:c9:ea:40:b7:8a: - 5c:15:0c:3b:33:64:2d:3d:0c:8b:0b:48:48:be:1e: - 03:49:3f:b6:2a:6c:14:fb:42:a1:42:3a:7d:c2:a2: - e3:6b:f0:7b:c6:b2:64:90:e2:1b:5e:0e:6b:f7:0c: - ad:2a:83:5c:c2:ab:bf:65:82:0f:04:dc:30:aa:bd: - bc:99:43:3e:ff:79:01:90:43:cd:7c:64:7e:d8:cc: - 7d:6c:df:08:ce:42:e3:c2:ab:59:0c:2b:dd:c1:51: - 77:64:1c:2a:9f:9b:63:51:eb:95:34:1f:6b:ef:e3: - bf:b1:5a:27:f6:0d:e4:16:7e:f8:f1:58:3d:22:8f: - 27:b2:07:93:6e:cf:d2:e0:c0:fa:61:71:17:7f:79: - 07:07:eb:35:71:68:dc:54:aa:e1:64:be:80:61:68: - a0:be:88:41:3e:dc:57:22:9f:1c:66:19:2f:f0:31: - a5:99:f3 + 00:c3:5f:83:34:d0:45:8f:5a:b5:81:70:4f:46:b5: + f8:97:81:c9:e9:e5:01:5b:87:82:1a:d1:4d:16:bf: + 60:bf:23:53:fc:2b:21:73:07:f8:1e:b0:e9:a0:c2: + 08:22:8a:06:ef:8c:00:e0:73:a7:0c:83:16:58:aa: + 18:20:71:94:0a:61:76:9b:72:74:40:41:e9:79:f6: + f4:94:ad:7c:d2:7a:f1:46:95:af:e9:57:95:2d:44: + e9:fa:ac:07:d8:af:6b:8d:ba:0a:3a:25:0e:65:65: + 71:56:e2:2f:d2:dd:99:74:c5:23:3b:37:fc:5a:95: + db:ed:50:64:9c:ad:f3:c1:f8:13:f7:ff:6d:56:37: + 5b:36:c1:17:18:c4:1c:21:de:06:33:14:71:a0:7d: + d0:e8:61:66:c1:dc:7a:3e:7d:d3:3b:1c:77:30:41: + df:e7:40:93:f9:51:94:c4:cc:22:38:85:6b:44:84: + 47:18:a0:ad:f5:2a:95:ab:80:10:c5:07:25:0c:56: + 93:cc:11:2c:df:39:03:fd:f1:dd:fb:ac:1d:ff:8d: + dd:26:b4:19:e2:12:e0:1c:7d:21:b4:5f:05:fe:10: + f4:02:ba:4a:6c:05:cd:54:35:a6:90:1b:d9:f5:fb: + 9e:6d:7b:e9:77:31:ae:40:b4:48:74:4b:ab:77:45: + c8:ce:5d:58:d8:84:c1:0a:3d:11:e3:1e:a5:36:0e: + 2b:55:aa:1f:01:34:90:3f:5b:67:23:56:44:66:7a: + 5f:af:7c:be:be:82:25:1d:41:60:d6:5b:cf:ae:82: + 4a:58:0f:4b:08:46:f9:32:44:67:72:07:f0:6c:39: + bd:5c:30:79:22:72:83:3f:9b:c0:c3:3e:b4:b8:25: + 80:93:42:91:01:7b:3c:4b:e9:a6:0d:16:86:20:a3: + 0b:15:98:1e:d6:8c:8a:a0:05:e1:48:47:79:ec:f3: + 3f:f6:a2:9a:1f:af:4c:98:af:66:f8:80:df:38:24: + 7a:17:7d:dd:56:79:9e:32:2b:d2:26:a9:e9:c5:31: + ac:c6:7e:43:ab:58:a0:38:1c:c2:0b:38:f6:af:30: + a6:55:f0:8d:1d:b2:44:cb:b4:0b:90:55:41:98:39: + 6f:73:35:94:b7:1f:b2:c4:d0:0c:47:6c:e4:bb:c9: + e2:7b:92:fd:87:a5:2c:51:b1:ee:71:4d:7c:2d:ce: + f0:2c:9a:5a:6f:c0:64:aa:40:57:7e:df:86:a0:41: + 3d:29:e4:24:31:56:7a:22:fe:89:ab:b8:36:a2:b4: + 0c:8f:45:3f:f2:e6:30:50:09:a3:18:dd:a4:f7:b7: + fa:e7:07:80:4a:4e:68:68:ae:56:8c:39:65:e6:4a: + 99:cd:d9 Exponent: 65537 (0x10001) Signature Algorithm: sha256WithRSAEncryption - 29:e4:4e:6e:3c:98:f2:cb:0f:e1:50:8f:ad:d8:dd:b3:f7:50: - 5c:5c:9d:4c:43:d9:f4:44:f2:f4:1e:c7:55:6a:25:cf:47:df: - d1:6d:7a:3c:f4:cd:c4:66:de:39:9b:0a:c7:b2:b7:b6:a6:00: - d1:3c:9c:e3:a7:a8:29:7d:ec:83:fd:49:ef:93:64:b9:5d:41: - bb:bd:56:b5:92:1c:a4:a5:a4:51:95:21:6b:d7:d9:98:e4:87: - 2b:ba:da:ec:ad:42:4d:ac:a9:37:71:e6:17:1a:81:d5:cf:11: - 40:7a:a1:ab:f4:25:62:ce:46:62:a1:36:18:21:3c:56:03:f0: - 25:45:19:ee:d4:e4:43:55:75:a9:ef:04:e7:38:14:97:51:f3: - 4d:67:21:f1:3c:57:61:9f:08:0e:2c:71:ff:80:44:d2:a2:30: - 29:56:d4:6c:dc:3e:97:9d:6f:81:d5:de:49:71:22:7a:25:7e: - 5d:c8:37:49:d0:27:2f:67:64:78:aa:d0:2b:d9:22:72:bd:fe: - 48:7d:57:7b:5c:a9:d2:1e:a2:55:a9:63:bb:08:82:d3:aa:db: - 0d:18:1e:19:36:c0:b5:33:db:be:33:6d:11:12:88:c5:94:e4: - 2d:fe:7b:77:6e:b3:07:32:ef:e6:1a:5a:81:16:fa:d0:c1:6d: - ce:de:1b:97:f0:9f:4a:3e:7b:48:a6:7c:67:89:5c:53:97:52: - e5:be:30:56:e9:be:11:4a:df:1d:52:0c:40:cd:88:2a:7a:46: - 77:79:e2:9e:49:9b:41:b5:93:8d:b0:fb:db:b4:ba:47:4f:86: - fe:1c:70:87:50:73:54:0c:a5:c4:55:95:8d:26:35:2e:1c:49: - a9:6e:a0:cf:0c:ba:65:34:a9:21:7c:72:6f:7a:4f:7f:71:3f: - 23:9b:6c:ba:36:6b:91:26:6e:61:c4:f1:b5:06:a2:51:87:07: - 90:a5:9a:19:98:81:59:f2:49:6e:4e:da:3d:61:be:f0:b2:04: - cd:16:04:2e:18:49:c2:af:d9:68:bd:4a:71:ed:10:75:d1:3f: - a2:18:05:aa:2d:ec:9e:9a:7c:e3:b5:dd:72:78:f8:6b:d3:7d: - 76:89:05:6d:00:12:23:ff:b0:e7:47:67:b2:12:39:93:09:2e: - 97:00:12:f4:6d:1b:0c:6f:16:a1:5c:5f:28:b9:bb:b9:72:e7: - 53:0b:6f:d7:c8:47:a4:f8:10:e3:ac:bc:1b:92:de:bc:7b:89: - 48:58:5a:c0:83:06:55:c1:f1:73:23:c0:c8:69:11:50:b9:12: - ee:5d:f2:0e:78:74:76:56:31:a6:14:b9:d8:0f:4a:31:4c:d3: - f1:28:75:c2:3c:ca:0f:78 + 62:d9:d3:db:5e:64:93:f4:77:43:4f:c5:46:c8:87:d9:f1:d0: + c5:a9:07:ff:1c:da:aa:73:58:05:52:e3:2e:02:84:c4:e2:da: + 69:e2:75:88:29:63:9b:6e:43:b2:c4:b9:a8:d7:1c:90:c6:f2: + 7b:0c:38:1d:67:c7:f4:28:e1:0a:ee:d1:79:49:4a:bc:b1:98: + 59:c0:57:3d:63:40:81:7c:76:a0:53:2f:66:28:4c:7d:b0:b0: + 99:1e:76:c7:1a:f5:91:19:5d:a8:37:93:fb:59:ba:68:e7:2b: + f0:97:7a:ae:94:12:9d:cf:5e:8c:a2:ab:eb:08:26:51:e2:90: + b2:c1:e8:8a:06:1e:67:e4:4a:cc:74:c0:70:c2:8e:c4:77:4f: + e3:9f:d2:3f:84:cf:89:69:38:f3:81:ae:99:e1:c1:bc:18:d0: + fb:00:e0:e9:52:5c:61:45:f7:99:93:de:0d:8e:15:b5:34:9a: + 44:d9:57:bf:73:7e:d0:17:4d:89:68:bc:6e:44:75:20:3c:b2: + 31:b9:f9:08:a9:de:62:de:70:4c:3a:6d:b6:20:25:e1:94:dc: + 3a:b2:22:53:d2:1f:44:75:2e:17:a9:4c:c7:ba:2b:19:3c:89: + b1:e0:45:5a:56:0b:45:1c:bc:be:e4:ed:32:77:b6:4f:53:51: + 01:fe:42:4f:4e:5a:6e:0f:fc:9b:50:84:66:98:9d:c8:56:73: + 1c:c5:45:fe:0e:58:e4:51:fe:7b:00:cd:e8:58:03:52:45:ab: + 52:c7:fd:e5:e7:67:97:04:b8:b3:ff:92:37:24:bf:b2:af:af: + 3c:8d:18:41:6f:25:e3:45:2d:b7:ce:3b:84:1b:fa:f5:90:40: + 57:f1:8b:b0:a9:74:24:cc:ad:53:8f:8f:35:95:0d:fb:f9:bd: + f5:60:bd:1e:89:eb:8a:2c:cc:bd:12:bb:f2:f6:91:79:96:3c: + 09:3d:73:66:ee:5a:b6:9a:ba:8a:57:32:e4:79:1f:00:61:8d: + 9d:60:4a:cb:73:b7:61:0f:f3:40:7f:5b:3f:bd:b0:ab:70:09: + 99:0d:41:1c:39:df:ce:31:e8:c7:a4:3a:31:f4:f0:98:26:3b: + eb:0f:c9:ba:82:2d:e1:73:e7:ea:1f:60:d6:93:71:5f:ee:dc: + a9:ce:ed:f5:c4:89:b8:63:bb:00:e5:12:82:7a:72:c5:5a:fb: + e8:f9:14:10:e9:bf:3d:31:f3:18:b1:d0:1c:02:1f:5c:96:af: + 06:63:40:a7:3c:68:d0:d3:e8:0e:c1:69:31:bb:52:7e:dd:ca: + 9e:1d:e5:c8:f0:18:82:ff:18:f4:fb:6e:65:f0:6d:03:3a:a6: + 83:79:70:7c:39:18:8a:01 -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAR8wDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMTIwOTA5NDEwMloXDTIzMTIwOTA5NDEwMlowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAKQjfRRYprTeaQq1pNLKt8THorzGZbUwN+KPUFKLFMceTiDsvy77 -xDroigjp4a4xNwldHuz5Pf/R+h3dPe7eedSmh8MaC5f58g7NdQQesbKUxB3gP8TX -G/TpfTbsXNjR9OneI+b6mQnkhT1JPGnkvMUIq6d7MAmBH/dg1m2KwpK26tat99X8 -C8Oxfix1lAcSbPVoiZehMpKh6ujzxSD3DD2wBs+j2dQ2H76QHewhnqZE6V7duY60 -QcVwORaigYqVOzrENbvN3jLlC/IwM4JwpcpdZsM94TXCSX4TTd+6jy7TnDCD3vcT -vPAGQTuw0ip20PmUpBHX9cMyxn+KHQbMAY/d9yNzyQnWW/+sbrgkqaKTE4VHu3+K -mUvdjF6wNnzMT14I32KAm0yR5KpgC4SeJHhJ8AiPkqpEInXiiraGAHDKHfvsJka4 -6KPdEqf6Xt7EafZlUsnqQLeKXBUMOzNkLT0MiwtISL4eA0k/tipsFPtCoUI6fcKi -42vwe8ayZJDiG14Oa/cMrSqDXMKrv2WCDwTcMKq9vJlDPv95AZBDzXxkftjMfWzf -CM5C48KrWQwr3cFRd2QcKp+bY1HrlTQfa+/jv7FaJ/YN5BZ++PFYPSKPJ7IHk27P -0uDA+mFxF395BwfrNXFo3FSq4WS+gGFooL6IQT7cVyKfHGYZL/AxpZnzAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBACnkTm48mPLLD+FQj63Y3bP3UFxcnUxD2fRE8vQe -x1VqJc9H39Ftejz0zcRm3jmbCseyt7amANE8nOOnqCl97IP9Se+TZLldQbu9VrWS -HKSlpFGVIWvX2Zjkhyu62uytQk2sqTdx5hcagdXPEUB6oav0JWLORmKhNhghPFYD -8CVFGe7U5ENVdanvBOc4FJdR801nIfE8V2GfCA4scf+ARNKiMClW1GzcPpedb4HV -3klxInolfl3IN0nQJy9nZHiq0CvZInK9/kh9V3tcqdIeolWpY7sIgtOq2w0YHhk2 -wLUz274zbRESiMWU5C3+e3duswcy7+YaWoEW+tDBbc7eG5fwn0o+e0imfGeJXFOX -UuW+MFbpvhFK3x1SDEDNiCp6Rnd54p5Jm0G1k42w+9u0ukdPhv4ccIdQc1QMpcRV -lY0mNS4cSaluoM8MumU0qSF8cm96T39xPyObbLo2a5EmbmHE8bUGolGHB5ClmhmY -gVnySW5O2j1hvvCyBM0WBC4YScKv2Wi9SnHtEHXRP6IYBaot7J6afOO13XJ4+GvT -fXaJBW0AEiP/sOdHZ7ISOZMJLpcAEvRtGwxvFqFcXyi5u7ly51MLb9fIR6T4EOOs -vBuS3rx7iUhYWsCDBlXB8XMjwMhpEVC5Eu5d8g54dHZWMaYUudgPSjFM0/EodcI8 -yg94 +MIIFQDCCAygCAgCUMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU1MzlaFw0yNDEyMDUxMjU1MzlaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDDX4M00EWPWrWBcE9GtfiXgcnp5QFbh4Ia0U0Wv2C/I1P8KyFz +B/gesOmgwggiigbvjADgc6cMgxZYqhggcZQKYXabcnRAQel59vSUrXzSevFGla/p +V5UtROn6rAfYr2uNugo6JQ5lZXFW4i/S3Zl0xSM7N/xaldvtUGScrfPB+BP3/21W +N1s2wRcYxBwh3gYzFHGgfdDoYWbB3Ho+fdM7HHcwQd/nQJP5UZTEzCI4hWtEhEcY +oK31KpWrgBDFByUMVpPMESzfOQP98d37rB3/jd0mtBniEuAcfSG0XwX+EPQCukps +Bc1UNaaQG9n1+55te+l3Ma5AtEh0S6t3RcjOXVjYhMEKPRHjHqU2DitVqh8BNJA/ +W2cjVkRmel+vfL6+giUdQWDWW8+ugkpYD0sIRvkyRGdyB/BsOb1cMHkicoM/m8DD +PrS4JYCTQpEBezxL6aYNFoYgowsVmB7WjIqgBeFIR3ns8z/2opofr0yYr2b4gN84 +JHoXfd1WeZ4yK9ImqenFMazGfkOrWKA4HMILOPavMKZV8I0dskTLtAuQVUGYOW9z +NZS3H7LE0AxHbOS7yeJ7kv2HpSxRse5xTXwtzvAsmlpvwGSqQFd+34agQT0p5CQx +Vnoi/omruDaitAyPRT/y5jBQCaMY3aT3t/rnB4BKTmhorlaMOWXmSpnN2QIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQBi2dPbXmST9HdDT8VGyIfZ8dDFqQf/HNqqc1gF +UuMuAoTE4tpp4nWIKWObbkOyxLmo1xyQxvJ7DDgdZ8f0KOEK7tF5SUq8sZhZwFc9 +Y0CBfHagUy9mKEx9sLCZHnbHGvWRGV2oN5P7Wbpo5yvwl3qulBKdz16MoqvrCCZR +4pCyweiKBh5n5ErMdMBwwo7Ed0/jn9I/hM+JaTjzga6Z4cG8GND7AODpUlxhRfeZ +k94NjhW1NJpE2Ve/c37QF02JaLxuRHUgPLIxufkIqd5i3nBMOm22ICXhlNw6siJT +0h9EdS4XqUzHuisZPImx4EVaVgtFHLy+5O0yd7ZPU1EB/kJPTlpuD/ybUIRmmJ3I +VnMcxUX+DljkUf57AM3oWANSRatSx/3l52eXBLiz/5I3JL+yr688jRhBbyXjRS23 +zjuEG/r1kEBX8YuwqXQkzK1Tj481lQ37+b31YL0eieuKLMy9Ervy9pF5ljwJPXNm +7lq2mrqKVzLkeR8AYY2dYErLc7dhD/NAf1s/vbCrcAmZDUEcOd/OMejHpDox9PCY +JjvrD8m6gi3hc+fqH2DWk3Ff7typzu31xIm4Y7sA5RKCenLFWvvo+RQQ6b89MfMY +sdAcAh9clq8GY0CnPGjQ0+gOwWkxu1J+3cqeHeXI8BiC/xj0+25l8G0DOqaDeXB8 +ORiKAQ== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ui-archive-search.key b/dev-deployment/environments/certs/server/hosts/localhost/ui-archive-search.key index 44ce338c2..45ee903dd 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ui-archive-search.key +++ b/dev-deployment/environments/certs/server/hosts/localhost/ui-archive-search.key @@ -1,52 +1,52 @@ -----BEGIN PRIVATE KEY----- -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 -gF6qJbHTIliLV12CxsDnghDdpf+0kQ== +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 +wTVEX/wltcXP5DDuEYx28LKhSN11Yg== -----END PRIVATE KEY----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ui-archive-search.pem b/dev-deployment/environments/certs/server/hosts/localhost/ui-archive-search.pem index f03d5ac7e..0a9009261 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ui-archive-search.pem +++ b/dev-deployment/environments/certs/server/hosts/localhost/ui-archive-search.pem @@ -1,31 +1,31 @@ -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAR8wDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMTIwOTA5NDEwMloXDTIzMTIwOTA5NDEwMlowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAKQjfRRYprTeaQq1pNLKt8THorzGZbUwN+KPUFKLFMceTiDsvy77 -xDroigjp4a4xNwldHuz5Pf/R+h3dPe7eedSmh8MaC5f58g7NdQQesbKUxB3gP8TX -G/TpfTbsXNjR9OneI+b6mQnkhT1JPGnkvMUIq6d7MAmBH/dg1m2KwpK26tat99X8 -C8Oxfix1lAcSbPVoiZehMpKh6ujzxSD3DD2wBs+j2dQ2H76QHewhnqZE6V7duY60 -QcVwORaigYqVOzrENbvN3jLlC/IwM4JwpcpdZsM94TXCSX4TTd+6jy7TnDCD3vcT -vPAGQTuw0ip20PmUpBHX9cMyxn+KHQbMAY/d9yNzyQnWW/+sbrgkqaKTE4VHu3+K -mUvdjF6wNnzMT14I32KAm0yR5KpgC4SeJHhJ8AiPkqpEInXiiraGAHDKHfvsJka4 -6KPdEqf6Xt7EafZlUsnqQLeKXBUMOzNkLT0MiwtISL4eA0k/tipsFPtCoUI6fcKi -42vwe8ayZJDiG14Oa/cMrSqDXMKrv2WCDwTcMKq9vJlDPv95AZBDzXxkftjMfWzf -CM5C48KrWQwr3cFRd2QcKp+bY1HrlTQfa+/jv7FaJ/YN5BZ++PFYPSKPJ7IHk27P -0uDA+mFxF395BwfrNXFo3FSq4WS+gGFooL6IQT7cVyKfHGYZL/AxpZnzAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBACnkTm48mPLLD+FQj63Y3bP3UFxcnUxD2fRE8vQe -x1VqJc9H39Ftejz0zcRm3jmbCseyt7amANE8nOOnqCl97IP9Se+TZLldQbu9VrWS -HKSlpFGVIWvX2Zjkhyu62uytQk2sqTdx5hcagdXPEUB6oav0JWLORmKhNhghPFYD -8CVFGe7U5ENVdanvBOc4FJdR801nIfE8V2GfCA4scf+ARNKiMClW1GzcPpedb4HV -3klxInolfl3IN0nQJy9nZHiq0CvZInK9/kh9V3tcqdIeolWpY7sIgtOq2w0YHhk2 -wLUz274zbRESiMWU5C3+e3duswcy7+YaWoEW+tDBbc7eG5fwn0o+e0imfGeJXFOX -UuW+MFbpvhFK3x1SDEDNiCp6Rnd54p5Jm0G1k42w+9u0ukdPhv4ccIdQc1QMpcRV -lY0mNS4cSaluoM8MumU0qSF8cm96T39xPyObbLo2a5EmbmHE8bUGolGHB5ClmhmY -gVnySW5O2j1hvvCyBM0WBC4YScKv2Wi9SnHtEHXRP6IYBaot7J6afOO13XJ4+GvT -fXaJBW0AEiP/sOdHZ7ISOZMJLpcAEvRtGwxvFqFcXyi5u7ly51MLb9fIR6T4EOOs -vBuS3rx7iUhYWsCDBlXB8XMjwMhpEVC5Eu5d8g54dHZWMaYUudgPSjFM0/EodcI8 -yg94 +MIIFQDCCAygCAgCUMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU1MzlaFw0yNDEyMDUxMjU1MzlaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDDX4M00EWPWrWBcE9GtfiXgcnp5QFbh4Ia0U0Wv2C/I1P8KyFz +B/gesOmgwggiigbvjADgc6cMgxZYqhggcZQKYXabcnRAQel59vSUrXzSevFGla/p +V5UtROn6rAfYr2uNugo6JQ5lZXFW4i/S3Zl0xSM7N/xaldvtUGScrfPB+BP3/21W +N1s2wRcYxBwh3gYzFHGgfdDoYWbB3Ho+fdM7HHcwQd/nQJP5UZTEzCI4hWtEhEcY +oK31KpWrgBDFByUMVpPMESzfOQP98d37rB3/jd0mtBniEuAcfSG0XwX+EPQCukps +Bc1UNaaQG9n1+55te+l3Ma5AtEh0S6t3RcjOXVjYhMEKPRHjHqU2DitVqh8BNJA/ +W2cjVkRmel+vfL6+giUdQWDWW8+ugkpYD0sIRvkyRGdyB/BsOb1cMHkicoM/m8DD +PrS4JYCTQpEBezxL6aYNFoYgowsVmB7WjIqgBeFIR3ns8z/2opofr0yYr2b4gN84 +JHoXfd1WeZ4yK9ImqenFMazGfkOrWKA4HMILOPavMKZV8I0dskTLtAuQVUGYOW9z +NZS3H7LE0AxHbOS7yeJ7kv2HpSxRse5xTXwtzvAsmlpvwGSqQFd+34agQT0p5CQx +Vnoi/omruDaitAyPRT/y5jBQCaMY3aT3t/rnB4BKTmhorlaMOWXmSpnN2QIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQBi2dPbXmST9HdDT8VGyIfZ8dDFqQf/HNqqc1gF +UuMuAoTE4tpp4nWIKWObbkOyxLmo1xyQxvJ7DDgdZ8f0KOEK7tF5SUq8sZhZwFc9 +Y0CBfHagUy9mKEx9sLCZHnbHGvWRGV2oN5P7Wbpo5yvwl3qulBKdz16MoqvrCCZR +4pCyweiKBh5n5ErMdMBwwo7Ed0/jn9I/hM+JaTjzga6Z4cG8GND7AODpUlxhRfeZ +k94NjhW1NJpE2Ve/c37QF02JaLxuRHUgPLIxufkIqd5i3nBMOm22ICXhlNw6siJT +0h9EdS4XqUzHuisZPImx4EVaVgtFHLy+5O0yd7ZPU1EB/kJPTlpuD/ybUIRmmJ3I +VnMcxUX+DljkUf57AM3oWANSRatSx/3l52eXBLiz/5I3JL+yr688jRhBbyXjRS23 +zjuEG/r1kEBX8YuwqXQkzK1Tj481lQ37+b31YL0eieuKLMy9Ervy9pF5ljwJPXNm +7lq2mrqKVzLkeR8AYY2dYErLc7dhD/NAf1s/vbCrcAmZDUEcOd/OMejHpDox9PCY +JjvrD8m6gi3hc+fqH2DWk3Ff7typzu31xIm4Y7sA5RKCenLFWvvo+RQQ6b89MfMY +sdAcAh9clq8GY0CnPGjQ0+gOwWkxu1J+3cqeHeXI8BiC/xj0+25l8G0DOqaDeXB8 +ORiKAQ== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ui-identity-admin.crt b/dev-deployment/environments/certs/server/hosts/localhost/ui-identity-admin.crt index 48b684259..1748a14df 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ui-identity-admin.crt +++ b/dev-deployment/environments/certs/server/hosts/localhost/ui-identity-admin.crt @@ -1,111 +1,111 @@ Certificate: Data: Version: 1 (0x0) - Serial Number: 8 (0x8) - Signature Algorithm: sha256WithRSAEncryption + Serial Number: 145 (0x91) + Signature Algorithm: sha256WithRSAEncryption Issuer: C=fr, ST=idf, L=paris, O=vitamui, OU=authorities, CN=ca_intermediate_server Validity - Not Before: May 5 12:35:04 2020 GMT - Not After : May 5 12:35:04 2023 GMT + Not Before: Dec 6 12:55:21 2021 GMT + Not After : Dec 5 12:55:21 2024 GMT Subject: C=fr, ST=idf, L=paris, O=vitamui, CN=dev.vitamui.com Subject Public Key Info: Public Key Algorithm: rsaEncryption - RSA Public-Key: (4096 bit) + Public-Key: (4096 bit) Modulus: - 00:bf:68:69:8b:ad:9f:6b:15:44:55:8a:22:6c:bc: - 20:e1:8f:b8:41:6f:a6:97:6d:3a:ed:52:5b:6a:0b: - 7a:82:6c:78:bc:7d:2b:85:a3:18:2d:38:c1:ea:cf: - 3f:6b:7a:25:d4:d0:b5:ed:67:78:06:6f:b6:35:8f: - dc:18:c3:23:cb:54:ab:2c:41:f7:f5:98:b3:74:55: - 51:21:6a:45:71:70:1e:60:6f:87:a6:59:ee:ca:4c: - 9c:19:fc:ff:32:c1:ce:63:de:fa:f7:f5:fe:10:bd: - 59:08:87:d1:62:f8:b9:c8:58:fb:3a:f7:78:0a:07: - e4:4a:85:df:c2:88:13:74:91:f2:66:56:8d:ec:c7: - f2:5f:22:3d:16:da:22:64:f5:ab:39:a7:0d:13:44: - 38:63:eb:21:00:5f:c6:c0:ff:96:f7:41:29:e8:40: - 9c:14:69:d0:b6:d8:78:fc:b6:21:a3:70:74:47:19: - ac:18:b9:46:77:d5:d2:47:64:d8:8c:4e:7c:01:5d: - 2b:55:ad:b6:25:dc:2b:9c:b5:bf:14:92:d5:bf:07: - 51:d9:45:61:f6:5c:30:19:f8:70:f4:dd:a4:b3:10: - 4d:f4:91:30:2c:cd:d2:84:d7:4c:79:88:d3:40:25: - 9c:3b:d8:a9:66:12:0e:e4:7e:63:54:ff:12:91:4e: - ba:9c:4c:09:99:57:23:cf:fb:22:08:b0:2c:10:fc: - 64:8f:fb:95:c3:6a:c2:8b:8a:c7:48:83:c7:7a:bd: - f2:ee:cf:34:80:2c:64:ca:23:fd:00:20:20:2d:8f: - df:f6:d3:94:62:bf:6a:b1:cd:a4:7f:89:97:3b:75: - af:b9:88:31:52:20:f3:38:8a:93:b1:67:09:72:09: - 60:73:b7:2a:3b:cc:81:af:2d:92:68:48:d4:1d:79: - 48:c8:99:41:c0:c0:5b:09:e3:26:93:a2:63:49:db: - 92:82:6a:e3:66:95:13:98:e2:1e:1d:f5:85:a0:ce: - 5b:9d:39:de:8f:c2:8e:da:98:2b:71:60:af:c7:f9: - e5:a7:a1:00:a4:50:f9:ed:34:02:f5:84:0f:2b:d0: - 0c:fa:b1:65:56:b2:31:e9:04:f0:ba:0d:3e:0b:c6: - 17:12:2f:cd:7b:df:e0:50:f1:34:d3:9c:df:9f:9c: - f3:30:d3:60:3f:f9:7e:b0:7b:cd:9e:a7:a8:86:65: - 5d:5e:3e:28:40:bb:ea:ec:2c:4b:fa:eb:cc:80:5c: - 8e:0d:e2:fe:de:84:20:8e:d8:37:0c:12:8e:f2:b4: - e5:0d:5f:78:fd:d8:d4:c8:7d:80:d6:8a:be:2e:84: - 2d:c0:89:2d:c3:d0:fd:05:9e:b2:ad:f9:37:ca:6d: - 9e:80:43 + 00:9e:82:79:a0:be:ad:0e:a7:db:c2:bb:67:ad:34: + 2d:be:8d:82:50:54:54:b2:2d:86:df:6b:1b:fc:76: + 1a:df:9f:f9:5a:e2:13:b2:c6:20:30:0a:fb:6b:96: + e6:3a:bd:33:02:5c:21:b5:e7:36:8d:ba:dc:30:ea: + 82:0a:e7:4c:fe:42:b4:b9:c8:b3:f8:1f:8e:9a:8f: + 2f:a6:46:b3:d8:43:7b:04:39:42:19:17:e0:b3:83: + 72:a8:28:a6:c7:98:fa:67:1f:48:11:0c:9b:cd:18: + 78:02:cf:50:af:09:92:9a:9a:4e:a2:91:03:bc:c1: + 64:86:2f:21:57:ad:cb:20:0f:ae:91:38:81:57:b7: + 95:f9:65:c5:a4:55:c2:2b:a9:81:2f:c0:5a:10:c4: + 87:d5:ae:1a:e5:81:ce:71:4a:1e:af:79:84:1b:d3: + 74:7a:67:a3:55:60:3f:4f:5c:fe:60:5d:96:1d:70: + 80:1f:97:9e:5c:55:f2:6d:8a:2b:d5:3c:ea:ca:2e: + cc:b5:ae:6e:ad:e3:84:e6:b0:ad:00:d8:80:91:bf: + 65:58:98:fc:f6:7f:db:b2:3b:1a:a1:d2:87:dd:ba: + 1d:de:6a:c9:67:98:17:7a:2e:dc:22:16:23:48:4a: + 5b:f9:f5:81:a0:c8:95:86:95:fa:04:3c:31:96:07: + 31:17:c7:6c:a8:ca:16:3d:63:fa:5b:49:5e:d4:d2: + 68:dd:39:72:6c:fb:ce:f0:b1:39:2f:b7:a6:44:38: + 15:c7:cb:af:16:37:c4:17:18:99:0d:9d:c5:ce:cd: + 3e:da:e2:90:e7:e7:73:a0:39:33:a7:c6:2e:91:d8: + 64:47:5c:ba:f0:59:f1:1a:25:f3:b4:2e:18:1f:dc: + 3d:eb:39:1c:7a:39:c4:7f:71:d3:af:5c:fa:61:12: + da:2f:91:bd:56:05:35:b7:b8:98:3c:fc:c1:06:f1: + c9:43:db:0d:7d:e0:c5:eb:28:35:88:5e:5b:d0:c2: + ab:cc:15:00:ee:de:8a:37:97:36:4e:b4:82:0f:b7: + ab:ef:17:e1:ec:67:5e:fe:96:9b:1b:be:28:b9:e0: + 00:fe:87:ac:47:c6:07:9a:8e:41:6c:1c:9e:37:12: + 20:32:64:5b:2c:72:e8:95:5a:27:20:ad:b9:90:75: + b7:d6:8b:86:4a:6a:8d:db:46:d5:a9:fc:b9:0c:3d: + 6f:ac:ce:34:5e:cb:f7:b3:08:c7:84:cc:f5:c7:8a: + c5:c4:ed:57:20:d0:ee:51:9c:2d:19:91:42:92:45: + e7:d3:a0:9c:18:4e:c8:d8:35:ff:9b:13:21:dc:d4: + 87:89:81:e6:0b:ef:c6:8f:20:9a:11:13:20:36:71: + ce:72:1d Exponent: 65537 (0x10001) Signature Algorithm: sha256WithRSAEncryption - 45:91:9a:b2:7d:49:90:77:6f:33:5f:68:f6:ce:8a:d8:01:2c: - fc:a6:94:a5:fe:f1:73:51:38:13:0c:80:d8:19:9b:7c:15:f4: - 9a:0e:5e:a3:5d:a6:c5:ba:7c:18:bd:7b:dc:8b:fc:52:96:03: - 8c:a5:6f:27:5a:11:3b:00:58:32:7f:d2:99:a7:04:af:62:c2: - 4d:6f:9f:64:aa:9e:dc:9b:bc:76:c4:90:72:5b:0b:8a:7d:74: - b8:c1:eb:83:87:54:60:70:e6:4e:14:f3:97:f0:54:17:9a:e8: - 20:0a:d9:2f:29:e7:3d:26:5b:51:e9:2c:fa:e6:8e:e9:23:79: - 78:b0:20:30:22:ee:11:65:b7:40:dc:bf:09:e9:d5:71:cb:b9: - 87:46:fc:ff:56:f1:55:22:e6:06:05:93:5c:b4:f9:f2:d1:1b: - ac:d5:60:b2:72:dd:4d:c6:16:e0:f9:94:79:d3:1c:04:46:34: - c9:a2:0c:56:96:73:5d:37:71:5e:59:9d:2e:a0:7d:f5:ff:c5: - 38:8f:fb:36:4a:de:9f:68:94:76:e0:7b:5c:0b:96:4a:8a:ef: - 08:32:e1:65:0a:28:47:20:f4:81:4c:5b:b1:ea:9c:81:1c:a9: - 86:db:e2:d1:d5:dd:81:e0:45:02:fe:f1:60:ef:5e:25:15:b6: - a0:8c:51:20:b3:ae:8b:29:25:ce:08:f6:e6:1a:d8:1c:d4:29: - 50:c9:44:43:6b:7f:e2:8d:a4:61:8f:d2:7e:c2:ed:ce:51:cd: - 15:9f:f4:99:89:43:14:86:70:c0:e6:b6:b5:50:5d:d8:26:8f: - 38:ae:75:18:1b:24:7d:dd:88:cd:65:0e:8e:11:b3:60:3f:2d: - 57:ac:1b:87:c5:6b:91:4c:9c:cf:84:cc:69:a9:a8:23:c7:12: - 6a:f2:a9:a9:55:9c:51:a0:1d:70:2d:c8:1e:13:2b:fc:31:72: - 80:7d:64:5a:b5:10:14:82:af:80:83:bf:9a:c8:4f:64:10:76: - 25:55:3c:91:1d:36:86:dd:ac:bb:f1:86:89:e0:7f:0e:e9:bd: - 44:56:f2:b5:ad:ef:77:a6:c9:3a:a7:35:4c:d0:61:43:83:5a: - 32:39:7d:61:32:f9:64:a6:db:ac:89:28:47:a0:9c:d0:e8:11: - fa:80:ec:c2:05:db:00:ff:65:54:a8:f0:5f:60:83:45:12:43: - d1:d1:5f:93:c9:7a:72:63:c4:ec:1a:0c:68:8a:aa:f5:5b:1e: - 5b:8c:81:f5:33:1a:8f:7b:66:26:5f:cc:d4:bb:f0:9d:83:9d: - 3e:d1:04:1a:97:ce:03:f8:2d:eb:f5:9a:c3:1e:5a:3c:46:0c: - 46:c4:f7:e3:fe:d8:89:21 + 2e:d1:e9:50:6f:b6:52:f8:63:9a:38:bb:a3:cb:80:e0:4b:d4: + 19:a1:3e:47:b5:e7:d0:b0:c3:e2:99:86:48:3a:23:2d:79:0c: + b7:23:27:25:b4:a2:7b:ff:e6:a2:b3:0d:20:39:60:b9:4d:c1: + 67:d8:59:7f:ac:10:4c:c0:b9:87:9d:69:e6:fe:8f:cc:e6:07: + 1a:4e:59:82:20:c4:b2:ea:2f:3b:5f:dc:d5:50:7a:91:c7:64: + ea:f4:41:fd:28:5d:22:e9:08:bd:d5:d9:de:90:f6:bb:39:59: + d2:6a:fb:c8:c0:cd:d3:20:5a:37:87:55:73:9f:58:28:58:e6: + 80:d7:53:cc:6b:65:18:0e:aa:c7:c5:98:75:45:70:0e:9d:88: + fe:87:f9:18:68:f5:cb:79:30:57:b8:47:a4:ad:e7:ad:22:04: + 8b:87:aa:fa:46:ea:1f:4f:66:f0:01:d9:16:8a:0a:ef:99:39: + 5c:43:67:3a:05:7e:2f:9c:ab:32:a5:44:cf:33:5f:f1:d1:cb: + bb:b1:d1:86:ce:2d:d4:1a:a8:fc:f3:b5:1c:da:3c:b1:22:5b: + 74:4d:cd:38:90:c5:82:44:da:47:99:6a:db:f9:c9:d6:25:9a: + 6c:25:ef:67:46:1b:d8:06:73:64:52:d9:ad:70:9c:57:1d:7e: + ae:4b:6c:a1:e0:95:b2:61:af:33:4a:f3:24:7b:48:f5:42:21: + 56:98:92:1b:06:43:16:d8:61:94:7c:d9:a4:b1:97:2a:b1:f4: + c5:4e:e7:9a:f3:c1:a4:e2:44:9e:4d:7e:48:4c:ae:41:b8:32: + 0b:fd:2c:f5:5f:00:ee:6e:a3:03:1d:8f:94:6b:1d:10:15:2b: + 02:80:b6:e6:f3:22:06:e9:f8:b2:ea:a8:b8:40:7e:0c:2a:60: + df:03:fc:44:d4:70:41:3f:64:04:bc:a6:3f:2e:a6:f8:a1:fe: + f4:ca:f1:c0:23:06:62:35:e1:6f:16:b1:89:c8:b1:10:2f:a7: + d7:6a:8b:f2:f3:9f:27:07:d5:d1:93:9a:26:86:72:6e:e3:c5: + 10:fd:a0:20:07:23:56:5c:51:9c:59:c4:6e:88:87:cd:6d:b7: + 9e:fc:1f:40:55:15:70:10:8e:7e:ef:76:ad:fa:bf:bd:4f:0a: + 56:aa:ea:18:3f:a1:a4:59:7d:c7:7a:6e:3b:69:34:e9:a2:84: + d3:a1:cf:52:45:17:e4:3a:c4:07:78:5f:d6:c7:c7:15:7c:84: + a0:00:15:c8:fa:34:eb:6d:cf:d8:80:ba:9a:6b:1d:5d:6f:3a: + 0b:99:ae:80:7e:69:b8:c5:8d:54:32:77:cd:84:c7:6a:27:e5: + e6:fa:2f:ba:e6:d5:4a:4f -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQgwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDUwNTEyMzUwNFoXDTIzMDUwNTEyMzUwNFowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAL9oaYutn2sVRFWKImy8IOGPuEFvppdtOu1SW2oLeoJseLx9K4Wj -GC04werPP2t6JdTQte1neAZvtjWP3BjDI8tUqyxB9/WYs3RVUSFqRXFwHmBvh6ZZ -7spMnBn8/zLBzmPe+vf1/hC9WQiH0WL4uchY+zr3eAoH5EqF38KIE3SR8mZWjezH -8l8iPRbaImT1qzmnDRNEOGPrIQBfxsD/lvdBKehAnBRp0LbYePy2IaNwdEcZrBi5 -RnfV0kdk2IxOfAFdK1WttiXcK5y1vxSS1b8HUdlFYfZcMBn4cPTdpLMQTfSRMCzN -0oTXTHmI00AlnDvYqWYSDuR+Y1T/EpFOupxMCZlXI8/7IgiwLBD8ZI/7lcNqwouK -x0iDx3q98u7PNIAsZMoj/QAgIC2P3/bTlGK/arHNpH+Jlzt1r7mIMVIg8ziKk7Fn -CXIJYHO3KjvMga8tkmhI1B15SMiZQcDAWwnjJpOiY0nbkoJq42aVE5jiHh31haDO -W5053o/CjtqYK3Fgr8f55aehAKRQ+e00AvWEDyvQDPqxZVayMekE8LoNPgvGFxIv -zXvf4FDxNNOc35+c8zDTYD/5frB7zZ6nqIZlXV4+KEC76uwsS/rrzIBcjg3i/t6E -II7YNwwSjvK05Q1feP3Y1Mh9gNaKvi6ELcCJLcPQ/QWesq35N8ptnoBDAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAEWRmrJ9SZB3bzNfaPbOitgBLPymlKX+8XNROBMM -gNgZm3wV9JoOXqNdpsW6fBi9e9yL/FKWA4ylbydaETsAWDJ/0pmnBK9iwk1vn2Sq -ntybvHbEkHJbC4p9dLjB64OHVGBw5k4U85fwVBea6CAK2S8p5z0mW1HpLPrmjukj -eXiwIDAi7hFlt0Dcvwnp1XHLuYdG/P9W8VUi5gYFk1y0+fLRG6zVYLJy3U3GFuD5 -lHnTHARGNMmiDFaWc103cV5ZnS6gffX/xTiP+zZK3p9olHbge1wLlkqK7wgy4WUK -KEcg9IFMW7HqnIEcqYbb4tHV3YHgRQL+8WDvXiUVtqCMUSCzrospJc4I9uYa2BzU -KVDJRENrf+KNpGGP0n7C7c5RzRWf9JmJQxSGcMDmtrVQXdgmjziudRgbJH3diM1l -Do4Rs2A/LVesG4fFa5FMnM+EzGmpqCPHEmryqalVnFGgHXAtyB4TK/wxcoB9ZFq1 -EBSCr4CDv5rIT2QQdiVVPJEdNobdrLvxhongfw7pvURW8rWt73emyTqnNUzQYUOD -WjI5fWEy+WSm26yJKEegnNDoEfqA7MIF2wD/ZVSo8F9gg0USQ9HRX5PJenJjxOwa -DGiKqvVbHluMgfUzGo97ZiZfzNS78J2DnT7RBBqXzgP4Lev1msMeWjxGDEbE9+P+ -2Ikh +MIIFQDCCAygCAgCRMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU1MjFaFw0yNDEyMDUxMjU1MjFaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQCegnmgvq0Op9vCu2etNC2+jYJQVFSyLYbfaxv8dhrfn/la4hOy +xiAwCvtrluY6vTMCXCG15zaNutww6oIK50z+QrS5yLP4H46ajy+mRrPYQ3sEOUIZ +F+Czg3KoKKbHmPpnH0gRDJvNGHgCz1CvCZKamk6ikQO8wWSGLyFXrcsgD66ROIFX +t5X5ZcWkVcIrqYEvwFoQxIfVrhrlgc5xSh6veYQb03R6Z6NVYD9PXP5gXZYdcIAf +l55cVfJtiivVPOrKLsy1rm6t44TmsK0A2ICRv2VYmPz2f9uyOxqh0ofduh3easln +mBd6LtwiFiNISlv59YGgyJWGlfoEPDGWBzEXx2yoyhY9Y/pbSV7U0mjdOXJs+87w +sTkvt6ZEOBXHy68WN8QXGJkNncXOzT7a4pDn53OgOTOnxi6R2GRHXLrwWfEaJfO0 +Lhgf3D3rORx6OcR/cdOvXPphEtovkb1WBTW3uJg8/MEG8clD2w194MXrKDWIXlvQ +wqvMFQDu3oo3lzZOtIIPt6vvF+HsZ17+lpsbvii54AD+h6xHxgeajkFsHJ43EiAy +ZFsscuiVWicgrbmQdbfWi4ZKao3bRtWp/LkMPW+szjRey/ezCMeEzPXHisXE7Vcg +0O5RnC0ZkUKSRefToJwYTsjYNf+bEyHc1IeJgeYL78aPIJoREyA2cc5yHQIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQAu0elQb7ZS+GOaOLujy4DgS9QZoT5HtefQsMPi +mYZIOiMteQy3IycltKJ7/+aisw0gOWC5TcFn2Fl/rBBMwLmHnWnm/o/M5gcaTlmC +IMSy6i87X9zVUHqRx2Tq9EH9KF0i6Qi91dnekPa7OVnSavvIwM3TIFo3h1Vzn1go +WOaA11PMa2UYDqrHxZh1RXAOnYj+h/kYaPXLeTBXuEekreetIgSLh6r6RuofT2bw +AdkWigrvmTlcQ2c6BX4vnKsypUTPM1/x0cu7sdGGzi3UGqj887Uc2jyxIlt0Tc04 +kMWCRNpHmWrb+cnWJZpsJe9nRhvYBnNkUtmtcJxXHX6uS2yh4JWyYa8zSvMke0j1 +QiFWmJIbBkMW2GGUfNmksZcqsfTFTuea88Gk4kSeTX5ITK5BuDIL/Sz1XwDubqMD +HY+Uax0QFSsCgLbm8yIG6fiy6qi4QH4MKmDfA/xE1HBBP2QEvKY/Lqb4of70yvHA +IwZiNeFvFrGJyLEQL6fXaovy858nB9XRk5omhnJu48UQ/aAgByNWXFGcWcRuiIfN +bbee/B9AVRVwEI5+73at+r+9TwpWquoYP6GkWX3Hem47aTTpooTToc9SRRfkOsQH +eF/Wx8cVfISgABXI+jTrbc/YgLqaax1dbzoLma6Afmm4xY1UMnfNhMdqJ+Xm+i+6 +5tVKTw== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ui-identity-admin.key b/dev-deployment/environments/certs/server/hosts/localhost/ui-identity-admin.key index 8ad3bc8f2..bc2af357b 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ui-identity-admin.key +++ b/dev-deployment/environments/certs/server/hosts/localhost/ui-identity-admin.key @@ -1,52 +1,52 @@ -----BEGIN PRIVATE KEY----- -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 -lvPxX/UuQ8neMlDS9k8ZsRCT72l25iE= +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 +/Tnj4AE05+at1nUDEZAzgaFIj1/Q -----END PRIVATE KEY----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ui-identity-admin.pem b/dev-deployment/environments/certs/server/hosts/localhost/ui-identity-admin.pem index 3e14f1195..d0488b1ed 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ui-identity-admin.pem +++ b/dev-deployment/environments/certs/server/hosts/localhost/ui-identity-admin.pem @@ -1,31 +1,31 @@ -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQgwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDUwNTEyMzUwNFoXDTIzMDUwNTEyMzUwNFowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAL9oaYutn2sVRFWKImy8IOGPuEFvppdtOu1SW2oLeoJseLx9K4Wj -GC04werPP2t6JdTQte1neAZvtjWP3BjDI8tUqyxB9/WYs3RVUSFqRXFwHmBvh6ZZ -7spMnBn8/zLBzmPe+vf1/hC9WQiH0WL4uchY+zr3eAoH5EqF38KIE3SR8mZWjezH -8l8iPRbaImT1qzmnDRNEOGPrIQBfxsD/lvdBKehAnBRp0LbYePy2IaNwdEcZrBi5 -RnfV0kdk2IxOfAFdK1WttiXcK5y1vxSS1b8HUdlFYfZcMBn4cPTdpLMQTfSRMCzN -0oTXTHmI00AlnDvYqWYSDuR+Y1T/EpFOupxMCZlXI8/7IgiwLBD8ZI/7lcNqwouK -x0iDx3q98u7PNIAsZMoj/QAgIC2P3/bTlGK/arHNpH+Jlzt1r7mIMVIg8ziKk7Fn -CXIJYHO3KjvMga8tkmhI1B15SMiZQcDAWwnjJpOiY0nbkoJq42aVE5jiHh31haDO -W5053o/CjtqYK3Fgr8f55aehAKRQ+e00AvWEDyvQDPqxZVayMekE8LoNPgvGFxIv -zXvf4FDxNNOc35+c8zDTYD/5frB7zZ6nqIZlXV4+KEC76uwsS/rrzIBcjg3i/t6E -II7YNwwSjvK05Q1feP3Y1Mh9gNaKvi6ELcCJLcPQ/QWesq35N8ptnoBDAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAEWRmrJ9SZB3bzNfaPbOitgBLPymlKX+8XNROBMM -gNgZm3wV9JoOXqNdpsW6fBi9e9yL/FKWA4ylbydaETsAWDJ/0pmnBK9iwk1vn2Sq -ntybvHbEkHJbC4p9dLjB64OHVGBw5k4U85fwVBea6CAK2S8p5z0mW1HpLPrmjukj -eXiwIDAi7hFlt0Dcvwnp1XHLuYdG/P9W8VUi5gYFk1y0+fLRG6zVYLJy3U3GFuD5 -lHnTHARGNMmiDFaWc103cV5ZnS6gffX/xTiP+zZK3p9olHbge1wLlkqK7wgy4WUK -KEcg9IFMW7HqnIEcqYbb4tHV3YHgRQL+8WDvXiUVtqCMUSCzrospJc4I9uYa2BzU -KVDJRENrf+KNpGGP0n7C7c5RzRWf9JmJQxSGcMDmtrVQXdgmjziudRgbJH3diM1l -Do4Rs2A/LVesG4fFa5FMnM+EzGmpqCPHEmryqalVnFGgHXAtyB4TK/wxcoB9ZFq1 -EBSCr4CDv5rIT2QQdiVVPJEdNobdrLvxhongfw7pvURW8rWt73emyTqnNUzQYUOD -WjI5fWEy+WSm26yJKEegnNDoEfqA7MIF2wD/ZVSo8F9gg0USQ9HRX5PJenJjxOwa -DGiKqvVbHluMgfUzGo97ZiZfzNS78J2DnT7RBBqXzgP4Lev1msMeWjxGDEbE9+P+ -2Ikh +MIIFQDCCAygCAgCRMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU1MjFaFw0yNDEyMDUxMjU1MjFaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQCegnmgvq0Op9vCu2etNC2+jYJQVFSyLYbfaxv8dhrfn/la4hOy +xiAwCvtrluY6vTMCXCG15zaNutww6oIK50z+QrS5yLP4H46ajy+mRrPYQ3sEOUIZ +F+Czg3KoKKbHmPpnH0gRDJvNGHgCz1CvCZKamk6ikQO8wWSGLyFXrcsgD66ROIFX +t5X5ZcWkVcIrqYEvwFoQxIfVrhrlgc5xSh6veYQb03R6Z6NVYD9PXP5gXZYdcIAf +l55cVfJtiivVPOrKLsy1rm6t44TmsK0A2ICRv2VYmPz2f9uyOxqh0ofduh3easln +mBd6LtwiFiNISlv59YGgyJWGlfoEPDGWBzEXx2yoyhY9Y/pbSV7U0mjdOXJs+87w +sTkvt6ZEOBXHy68WN8QXGJkNncXOzT7a4pDn53OgOTOnxi6R2GRHXLrwWfEaJfO0 +Lhgf3D3rORx6OcR/cdOvXPphEtovkb1WBTW3uJg8/MEG8clD2w194MXrKDWIXlvQ +wqvMFQDu3oo3lzZOtIIPt6vvF+HsZ17+lpsbvii54AD+h6xHxgeajkFsHJ43EiAy +ZFsscuiVWicgrbmQdbfWi4ZKao3bRtWp/LkMPW+szjRey/ezCMeEzPXHisXE7Vcg +0O5RnC0ZkUKSRefToJwYTsjYNf+bEyHc1IeJgeYL78aPIJoREyA2cc5yHQIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQAu0elQb7ZS+GOaOLujy4DgS9QZoT5HtefQsMPi +mYZIOiMteQy3IycltKJ7/+aisw0gOWC5TcFn2Fl/rBBMwLmHnWnm/o/M5gcaTlmC +IMSy6i87X9zVUHqRx2Tq9EH9KF0i6Qi91dnekPa7OVnSavvIwM3TIFo3h1Vzn1go +WOaA11PMa2UYDqrHxZh1RXAOnYj+h/kYaPXLeTBXuEekreetIgSLh6r6RuofT2bw +AdkWigrvmTlcQ2c6BX4vnKsypUTPM1/x0cu7sdGGzi3UGqj887Uc2jyxIlt0Tc04 +kMWCRNpHmWrb+cnWJZpsJe9nRhvYBnNkUtmtcJxXHX6uS2yh4JWyYa8zSvMke0j1 +QiFWmJIbBkMW2GGUfNmksZcqsfTFTuea88Gk4kSeTX5ITK5BuDIL/Sz1XwDubqMD +HY+Uax0QFSsCgLbm8yIG6fiy6qi4QH4MKmDfA/xE1HBBP2QEvKY/Lqb4of70yvHA +IwZiNeFvFrGJyLEQL6fXaovy858nB9XRk5omhnJu48UQ/aAgByNWXFGcWcRuiIfN +bbee/B9AVRVwEI5+73at+r+9TwpWquoYP6GkWX3Hem47aTTpooTToc9SRRfkOsQH +eF/Wx8cVfISgABXI+jTrbc/YgLqaax1dbzoLma6Afmm4xY1UMnfNhMdqJ+Xm+i+6 +5tVKTw== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ui-identity.crt b/dev-deployment/environments/certs/server/hosts/localhost/ui-identity.crt index 778e04102..885d2ffa3 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ui-identity.crt +++ b/dev-deployment/environments/certs/server/hosts/localhost/ui-identity.crt @@ -1,111 +1,111 @@ Certificate: Data: Version: 1 (0x0) - Serial Number: 10 (0xa) - Signature Algorithm: sha256WithRSAEncryption + Serial Number: 144 (0x90) + Signature Algorithm: sha256WithRSAEncryption Issuer: C=fr, ST=idf, L=paris, O=vitamui, OU=authorities, CN=ca_intermediate_server Validity - Not Before: Jul 17 13:47:11 2020 GMT - Not After : Jul 17 13:47:11 2023 GMT + Not Before: Dec 6 12:55:16 2021 GMT + Not After : Dec 5 12:55:16 2024 GMT Subject: C=fr, ST=idf, L=paris, O=vitamui, CN=dev.vitamui.com Subject Public Key Info: Public Key Algorithm: rsaEncryption - RSA Public-Key: (4096 bit) + Public-Key: (4096 bit) Modulus: - 00:a5:40:f1:eb:2a:42:ab:c2:4c:70:f4:6d:c5:3a: - e3:7c:7b:a3:b8:1e:69:79:32:ff:54:56:9f:7b:40: - 7c:7c:b9:39:78:08:b6:e3:39:62:82:d3:66:3d:2c: - 62:6e:cf:19:35:85:09:c1:86:46:0d:38:25:7e:75: - 5f:c3:e5:c2:11:93:c7:3e:1b:b1:af:c4:2f:aa:4a: - 7b:53:92:1b:23:1d:b7:69:5b:0d:f0:d5:81:f2:62: - d2:a2:95:4c:27:f8:bc:0d:dc:4a:38:13:df:8c:c4: - 7b:97:f5:ae:19:3d:a3:cd:31:11:e6:0a:9d:f3:a2: - 32:62:7b:0c:14:b6:fe:94:01:ab:15:57:53:49:4d: - d2:05:81:b4:20:53:4e:c7:e8:71:98:8f:f4:36:49: - 8a:5a:21:f2:a2:e6:7e:ae:64:e2:8d:4d:44:c5:df: - 6f:24:c7:ee:b5:52:91:83:a6:03:6f:41:80:7b:30: - 69:c4:d8:a2:68:77:a4:4a:50:6f:c5:09:03:0a:bf: - 8e:84:0d:f9:23:39:99:5a:d5:f9:c9:be:26:4f:27: - 6f:fa:81:f8:88:68:29:7b:1a:f0:76:99:33:81:dd: - ee:2a:f7:2f:11:70:58:f3:09:47:ae:0d:45:3a:09: - a4:6c:13:1c:52:31:a6:f8:0e:d5:4d:06:44:e9:2d: - 27:ca:37:e9:a5:8a:f9:01:0f:26:71:cf:de:8f:b8: - 14:db:d5:d1:f9:44:f3:4d:81:b6:da:30:74:a3:80: - ef:3c:26:c0:52:07:b8:fb:8a:7f:a4:4f:6b:9e:89: - 4a:b1:85:66:dc:2e:aa:6c:85:82:2c:a8:61:e7:90: - e8:a6:64:fd:d2:69:7e:8a:ee:2e:56:d6:6e:02:ec: - c2:de:73:3f:5b:c5:00:09:00:e2:9a:e0:1e:d8:85: - 7a:18:bc:91:b9:72:73:fb:21:10:fc:91:06:ce:18: - 84:c3:9c:ef:92:76:db:6d:0a:dc:7f:42:eb:85:15: - 59:7b:08:14:10:dc:3d:42:2a:4c:ce:a9:8a:21:48: - 63:2e:6a:f1:47:d4:9e:04:52:b1:38:cd:d0:fd:26: - e0:84:89:fa:f2:b8:ae:cc:f3:f5:a3:9d:d4:47:14: - 71:07:43:ec:e4:3b:a8:ec:a6:a8:06:89:98:cf:93: - c1:ba:98:74:13:00:13:f8:69:0d:fa:a8:5b:a3:a3: - c6:cf:16:47:24:79:c1:b9:ed:00:48:da:1d:c2:91: - 51:9b:99:db:93:ad:0d:2c:2e:64:fd:4e:9e:a4:58: - 9c:66:27:80:46:5b:fe:cd:9e:b1:d9:e3:5b:98:bd: - fd:c0:27:06:4e:71:47:d9:bd:dc:3a:c3:1c:d8:eb: - c5:c7:ff + 00:e7:57:c6:f4:09:63:94:49:6b:d1:ba:a2:25:59: + ad:76:d3:93:c6:3e:16:a0:63:a6:9e:0f:06:c2:23: + 19:26:5d:25:11:ff:8a:09:62:d5:6f:9d:4d:ee:94: + 81:95:5a:7a:66:d9:e9:9c:e4:91:1f:14:02:42:ea: + ee:5c:be:f9:8d:09:b9:37:fe:e4:76:5c:25:8e:63: + ac:bc:73:5c:b9:e0:b8:6c:ba:06:77:e9:34:31:31: + c1:4c:71:9a:e0:d8:b0:50:30:c8:a9:eb:0b:c2:cd: + 89:1a:0d:ac:cc:5a:ac:63:7d:5e:ca:e6:b1:8b:d4: + f9:7f:ef:db:a3:e4:c5:37:9f:88:ed:c3:32:cb:48: + d6:7c:e3:dc:8c:82:6b:a0:6c:cd:b0:c8:c3:11:cc: + d1:66:e9:61:61:b1:1a:8a:3d:8d:26:90:f4:97:81: + 44:3f:f2:68:3b:79:be:77:27:6a:91:35:03:09:34: + b4:22:01:d1:0c:e1:9d:69:35:9c:bb:d4:4a:ec:e9: + ec:a2:ee:b2:a4:b4:cc:cd:7e:7f:c5:e7:81:fa:52: + e6:74:ff:d0:1f:ab:76:06:3c:1e:61:cf:2b:a0:ce: + 66:05:0d:06:13:22:78:70:ea:99:4d:ea:8e:cc:45: + d3:17:31:aa:81:93:ca:75:06:92:c2:3e:79:dc:f6: + 72:94:01:62:68:ef:68:c3:fa:29:62:13:db:d8:25: + 72:15:3d:66:32:3b:e2:71:8f:84:8e:34:c7:e5:9f: + d9:e2:cf:ec:3e:6b:1c:6a:37:a1:66:37:a4:ca:95: + 47:f2:84:dd:30:63:41:d6:b5:89:02:0a:58:3e:02: + 01:f8:04:40:98:22:08:3d:a0:f0:7d:df:56:ec:b3: + 47:95:e5:71:1d:00:d9:8a:7e:d6:11:a9:d0:3a:64: + 36:4b:95:c0:8d:52:dd:ac:d7:73:d8:48:45:7f:47: + 91:cf:e5:c5:ca:11:ba:d2:cf:59:e9:25:54:17:c8: + 09:56:91:24:9c:12:9a:46:d8:8d:2c:b2:ec:85:b5: + 78:9b:7c:34:e5:10:dc:a2:56:93:75:20:9f:5c:b1: + f0:96:f9:87:db:1e:ce:46:2e:e5:2b:d8:2d:d7:81: + f6:13:73:a5:e6:82:ef:46:f6:d8:26:38:90:a8:17: + a5:36:6e:ce:af:85:5e:e0:51:6c:de:d2:2e:e9:5c: + 4b:41:09:43:2e:88:84:0e:fe:ed:0c:02:6d:00:6f: + 1e:8c:f8:a9:59:72:b0:c1:ff:21:27:50:8e:3b:fb: + 5e:29:9b:3d:be:c2:a2:76:cc:99:ec:af:1e:15:19: + 31:63:54:a2:63:ad:3b:ce:13:0e:93:03:c8:99:53: + 6f:af:af Exponent: 65537 (0x10001) Signature Algorithm: sha256WithRSAEncryption - 6a:8f:fb:5c:1f:41:d0:1f:4b:a0:4b:7b:e8:79:a9:04:6f:f2: - 68:39:6c:61:1d:f7:c4:0e:3a:90:99:af:47:a1:2b:78:29:40: - bb:75:d7:13:e3:02:5f:4a:af:18:f9:9f:0c:20:0d:a5:60:c6: - 33:62:e7:99:e5:2a:3e:98:b2:e9:69:04:04:9c:09:02:46:a0: - 00:39:bc:03:0f:ac:50:c7:05:4f:9d:91:0e:b9:a4:d3:36:0b: - 71:0f:89:32:58:05:51:93:88:28:50:db:78:3f:b7:71:cb:43: - 87:81:48:6f:d1:78:70:a2:90:f3:96:bd:85:a1:e6:3d:95:cb: - 4f:be:88:41:22:3d:d6:85:40:d7:23:9b:04:cb:4f:7f:0f:ff: - 82:6c:d0:d9:e6:79:e7:cf:3b:0a:fc:d0:ec:91:4c:db:34:a5: - 17:0b:2b:fb:5a:8f:92:78:cb:15:4c:9a:ba:77:21:e7:19:d5: - be:8f:f4:6d:18:7d:b8:3d:15:f2:07:48:87:d6:76:07:c0:a8: - e5:24:39:a6:8c:a9:da:58:cd:a9:c3:d1:6d:8d:dc:2e:81:8d: - 48:d0:b0:9c:03:04:ee:f4:17:23:1e:2f:0c:96:4e:99:f4:be: - 35:5f:4d:d5:f1:5a:b2:33:c2:fb:01:42:40:45:1e:74:da:0b: - d9:f7:31:49:8f:b0:86:af:44:d6:f6:55:62:49:ee:66:5d:7f: - 64:f9:88:65:0a:8f:05:19:57:65:7d:75:98:64:7f:86:63:c4: - 38:8c:73:c2:11:bd:ee:71:dd:39:c4:fb:05:84:10:12:34:b6: - bb:18:5d:71:fa:ab:d2:6d:d1:85:eb:ca:0a:83:be:d1:3a:6f: - c7:ba:b7:47:06:b7:1e:e5:22:a0:b6:4e:91:3d:45:2e:22:2b: - fe:c4:27:f7:e1:1b:be:0c:c4:f8:54:c3:cd:ca:0c:c8:2c:80: - af:95:29:a5:63:29:42:3e:b9:2a:e5:dc:b1:60:97:f4:c6:8a: - 56:bd:2a:67:d1:d2:66:e4:87:40:3c:50:73:29:11:5d:c6:f3: - 90:f3:78:6e:1d:54:21:ba:4f:0c:32:78:9f:ea:96:0b:39:59: - fe:f4:e4:a5:02:45:31:66:a5:23:6e:ea:51:bc:ca:25:5f:a4: - 5b:8e:23:7f:e9:e7:76:ca:44:09:7c:67:a7:96:62:7f:8f:dc: - bf:d7:af:56:02:66:0e:47:a2:e3:85:89:a8:ec:0b:b8:d1:54: - f6:7f:d1:87:f2:f9:57:f4:49:16:05:c3:81:33:fa:a2:55:50: - 12:da:8d:be:4f:b8:ac:13:2f:b3:f7:0a:b5:bf:b1:a6:83:7e: - 72:77:b9:23:57:60:a7:4f + 34:e2:dc:68:7d:ec:c3:bc:9e:aa:01:c6:ab:22:55:1d:e9:23: + a6:54:2a:9f:62:e9:bd:58:ce:f9:f1:d9:86:86:60:04:26:87: + d2:ec:07:b0:a8:ce:6d:7e:90:0a:d3:ed:42:8e:86:a5:f6:7c: + 52:6e:1b:c4:8b:45:d8:31:f9:1b:b2:20:9f:4e:b3:e6:17:8e: + 7a:bb:3f:b4:5c:07:d4:7c:da:54:7b:90:c3:d2:e5:af:08:d4: + e4:da:03:55:b0:9b:8a:ed:c9:89:0e:a8:ba:ae:31:02:b0:93: + 6f:ce:a6:5f:9c:15:dd:a8:f8:6b:d5:39:f8:c9:a8:35:61:f3: + 6f:ea:62:7f:6b:80:11:f1:58:9c:13:37:0b:02:48:33:b2:af: + c0:f9:86:0d:3e:46:d0:d4:62:c1:35:08:b0:4f:98:c2:f5:52: + 18:15:e2:6e:00:69:7b:01:ed:86:42:13:db:4a:71:58:2b:93: + 73:30:cd:e8:99:99:18:d3:e7:d8:e9:15:9f:8a:4f:d5:70:c6: + 75:19:79:f5:19:4a:14:03:48:18:f0:0a:3e:ca:d8:6c:2c:48: + 85:db:50:41:30:5e:61:e4:d3:53:2b:c0:c7:62:be:06:6d:1e: + 30:e6:a2:df:59:62:94:aa:d1:1f:1f:f0:d6:a5:d7:51:ec:c0: + 0d:cc:f8:f7:23:32:cc:e2:80:d1:68:8b:b6:64:37:2a:60:92: + 04:5b:ca:b2:90:7a:af:d4:27:8a:24:3a:a0:e2:4c:ac:7b:f8: + c8:a6:73:88:e3:f2:37:d4:aa:4a:53:a2:c3:5a:af:ce:3f:54: + 1a:1a:e1:8f:d3:2c:0c:0a:4f:ee:43:ed:80:64:96:6a:5f:04: + e6:0b:23:21:b3:d9:86:89:21:ba:79:97:8c:04:0b:62:bf:02: + e0:b9:94:bf:53:88:c8:1b:7a:15:ce:1d:82:91:58:27:98:c2: + 29:15:ba:48:7b:a2:70:d6:29:12:30:8c:50:a4:0c:60:ec:26: + 9e:4b:4b:99:06:b6:98:9c:fb:b5:1c:46:c5:db:24:70:95:d3: + 95:74:ab:91:b7:c8:33:6e:56:76:64:cc:4e:fd:7f:1d:a3:8d: + 8f:0f:25:c6:67:c7:32:bf:26:dc:6c:bf:f1:da:c3:70:05:55: + 03:47:75:cd:26:46:53:4a:e3:4b:fe:8e:3d:87:73:c1:ca:36: + 81:96:30:59:97:8e:16:4e:55:fc:64:f7:f8:9f:a2:25:73:8c: + 9b:90:7d:9a:ae:ec:06:54:0b:40:ff:4f:02:67:5d:d4:2d:fd: + 54:c3:29:9d:ed:99:35:18:be:ff:b1:b7:b0:e4:97:41:06:86: + 02:33:c3:32:f1:48:36:a7 -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQowDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDcxNzEzNDcxMVoXDTIzMDcxNzEzNDcxMVowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAKVA8esqQqvCTHD0bcU643x7o7geaXky/1RWn3tAfHy5OXgItuM5 -YoLTZj0sYm7PGTWFCcGGRg04JX51X8PlwhGTxz4bsa/EL6pKe1OSGyMdt2lbDfDV -gfJi0qKVTCf4vA3cSjgT34zEe5f1rhk9o80xEeYKnfOiMmJ7DBS2/pQBqxVXU0lN -0gWBtCBTTsfocZiP9DZJiloh8qLmfq5k4o1NRMXfbyTH7rVSkYOmA29BgHswacTY -omh3pEpQb8UJAwq/joQN+SM5mVrV+cm+Jk8nb/qB+IhoKXsa8HaZM4Hd7ir3LxFw -WPMJR64NRToJpGwTHFIxpvgO1U0GROktJ8o36aWK+QEPJnHP3o+4FNvV0flE802B -ttowdKOA7zwmwFIHuPuKf6RPa56JSrGFZtwuqmyFgiyoYeeQ6KZk/dJpforuLlbW -bgLswt5zP1vFAAkA4prgHtiFehi8kblyc/shEPyRBs4YhMOc75J2220K3H9C64UV -WXsIFBDcPUIqTM6piiFIYy5q8UfUngRSsTjN0P0m4ISJ+vK4rszz9aOd1EcUcQdD -7OQ7qOymqAaJmM+TwbqYdBMAE/hpDfqoW6Ojxs8WRyR5wbntAEjaHcKRUZuZ25Ot -DSwuZP1OnqRYnGYngEZb/s2esdnjW5i9/cAnBk5xR9m93DrDHNjrxcf/AgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAGqP+1wfQdAfS6BLe+h5qQRv8mg5bGEd98QOOpCZ -r0ehK3gpQLt11xPjAl9Krxj5nwwgDaVgxjNi55nlKj6YsulpBAScCQJGoAA5vAMP -rFDHBU+dkQ65pNM2C3EPiTJYBVGTiChQ23g/t3HLQ4eBSG/ReHCikPOWvYWh5j2V -y0++iEEiPdaFQNcjmwTLT38P/4Js0NnmeefPOwr80OyRTNs0pRcLK/taj5J4yxVM -mrp3IecZ1b6P9G0Yfbg9FfIHSIfWdgfAqOUkOaaMqdpYzanD0W2N3C6BjUjQsJwD -BO70FyMeLwyWTpn0vjVfTdXxWrIzwvsBQkBFHnTaC9n3MUmPsIavRNb2VWJJ7mZd -f2T5iGUKjwUZV2V9dZhkf4ZjxDiMc8IRve5x3TnE+wWEEBI0trsYXXH6q9Jt0YXr -ygqDvtE6b8e6t0cGtx7lIqC2TpE9RS4iK/7EJ/fhG74MxPhUw83KDMgsgK+VKaVj -KUI+uSrl3LFgl/TGila9KmfR0mbkh0A8UHMpEV3G85DzeG4dVCG6TwwyeJ/qlgs5 -Wf705KUCRTFmpSNu6lG8yiVfpFuOI3/p53bKRAl8Z6eWYn+P3L/Xr1YCZg5HouOF -iajsC7jRVPZ/0Yfy+Vf0SRYFw4Ez+qJVUBLajb5PuKwTL7P3CrW/saaDfnJ3uSNX -YKdP +MIIFQDCCAygCAgCQMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU1MTZaFw0yNDEyMDUxMjU1MTZaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDnV8b0CWOUSWvRuqIlWa1205PGPhagY6aeDwbCIxkmXSUR/4oJ +YtVvnU3ulIGVWnpm2emc5JEfFAJC6u5cvvmNCbk3/uR2XCWOY6y8c1y54LhsugZ3 +6TQxMcFMcZrg2LBQMMip6wvCzYkaDazMWqxjfV7K5rGL1Pl/79uj5MU3n4jtwzLL +SNZ849yMgmugbM2wyMMRzNFm6WFhsRqKPY0mkPSXgUQ/8mg7eb53J2qRNQMJNLQi +AdEM4Z1pNZy71Ers6eyi7rKktMzNfn/F54H6UuZ0/9Afq3YGPB5hzyugzmYFDQYT +Inhw6plN6o7MRdMXMaqBk8p1BpLCPnnc9nKUAWJo72jD+iliE9vYJXIVPWYyO+Jx +j4SONMfln9niz+w+axxqN6FmN6TKlUfyhN0wY0HWtYkCClg+AgH4BECYIgg9oPB9 +31bss0eV5XEdANmKftYRqdA6ZDZLlcCNUt2s13PYSEV/R5HP5cXKEbrSz1npJVQX +yAlWkSScEppG2I0ssuyFtXibfDTlENyiVpN1IJ9csfCW+YfbHs5GLuUr2C3XgfYT +c6Xmgu9G9tgmOJCoF6U2bs6vhV7gUWze0i7pXEtBCUMuiIQO/u0MAm0Abx6M+KlZ +crDB/yEnUI47+14pmz2+wqJ2zJnsrx4VGTFjVKJjrTvOEw6TA8iZU2+vrwIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQA04txofezDvJ6qAcarIlUd6SOmVCqfYum9WM75 +8dmGhmAEJofS7AewqM5tfpAK0+1Cjoal9nxSbhvEi0XYMfkbsiCfTrPmF456uz+0 +XAfUfNpUe5DD0uWvCNTk2gNVsJuK7cmJDqi6rjECsJNvzqZfnBXdqPhr1Tn4yag1 +YfNv6mJ/a4AR8VicEzcLAkgzsq/A+YYNPkbQ1GLBNQiwT5jC9VIYFeJuAGl7Ae2G +QhPbSnFYK5NzMM3omZkY0+fY6RWfik/VcMZ1GXn1GUoUA0gY8Ao+ythsLEiF21BB +MF5h5NNTK8DHYr4GbR4w5qLfWWKUqtEfH/DWpddR7MANzPj3IzLM4oDRaIu2ZDcq +YJIEW8qykHqv1CeKJDqg4kyse/jIpnOI4/I31KpKU6LDWq/OP1QaGuGP0ywMCk/u +Q+2AZJZqXwTmCyMhs9mGiSG6eZeMBAtivwLguZS/U4jIG3oVzh2CkVgnmMIpFbpI +e6Jw1ikSMIxQpAxg7CaeS0uZBraYnPu1HEbF2yRwldOVdKuRt8gzblZ2ZMxO/X8d +o42PDyXGZ8cyvybcbL/x2sNwBVUDR3XNJkZTSuNL/o49h3PByjaBljBZl44WTlX8 +ZPf4n6Ilc4ybkH2aruwGVAtA/08CZ13ULf1Uwymd7Zk1GL7/sbew5JdBBoYCM8My +8Ug2pw== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ui-identity.key b/dev-deployment/environments/certs/server/hosts/localhost/ui-identity.key index 5fe2ec9ae..1310d3fe4 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ui-identity.key +++ b/dev-deployment/environments/certs/server/hosts/localhost/ui-identity.key @@ -1,52 +1,52 @@ -----BEGIN PRIVATE KEY----- -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 -9WmSSNgMKn2AFeZ55y7EUebPNRcW +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 +4d9pDP3u0TfkQ1toXJBm0rofl68zbMI= -----END PRIVATE KEY----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ui-identity.pem b/dev-deployment/environments/certs/server/hosts/localhost/ui-identity.pem index ed2367e0f..1ca2a0285 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ui-identity.pem +++ b/dev-deployment/environments/certs/server/hosts/localhost/ui-identity.pem @@ -1,31 +1,31 @@ -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQowDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDcxNzEzNDcxMVoXDTIzMDcxNzEzNDcxMVowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAKVA8esqQqvCTHD0bcU643x7o7geaXky/1RWn3tAfHy5OXgItuM5 -YoLTZj0sYm7PGTWFCcGGRg04JX51X8PlwhGTxz4bsa/EL6pKe1OSGyMdt2lbDfDV -gfJi0qKVTCf4vA3cSjgT34zEe5f1rhk9o80xEeYKnfOiMmJ7DBS2/pQBqxVXU0lN -0gWBtCBTTsfocZiP9DZJiloh8qLmfq5k4o1NRMXfbyTH7rVSkYOmA29BgHswacTY -omh3pEpQb8UJAwq/joQN+SM5mVrV+cm+Jk8nb/qB+IhoKXsa8HaZM4Hd7ir3LxFw -WPMJR64NRToJpGwTHFIxpvgO1U0GROktJ8o36aWK+QEPJnHP3o+4FNvV0flE802B -ttowdKOA7zwmwFIHuPuKf6RPa56JSrGFZtwuqmyFgiyoYeeQ6KZk/dJpforuLlbW -bgLswt5zP1vFAAkA4prgHtiFehi8kblyc/shEPyRBs4YhMOc75J2220K3H9C64UV -WXsIFBDcPUIqTM6piiFIYy5q8UfUngRSsTjN0P0m4ISJ+vK4rszz9aOd1EcUcQdD -7OQ7qOymqAaJmM+TwbqYdBMAE/hpDfqoW6Ojxs8WRyR5wbntAEjaHcKRUZuZ25Ot -DSwuZP1OnqRYnGYngEZb/s2esdnjW5i9/cAnBk5xR9m93DrDHNjrxcf/AgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAGqP+1wfQdAfS6BLe+h5qQRv8mg5bGEd98QOOpCZ -r0ehK3gpQLt11xPjAl9Krxj5nwwgDaVgxjNi55nlKj6YsulpBAScCQJGoAA5vAMP -rFDHBU+dkQ65pNM2C3EPiTJYBVGTiChQ23g/t3HLQ4eBSG/ReHCikPOWvYWh5j2V -y0++iEEiPdaFQNcjmwTLT38P/4Js0NnmeefPOwr80OyRTNs0pRcLK/taj5J4yxVM -mrp3IecZ1b6P9G0Yfbg9FfIHSIfWdgfAqOUkOaaMqdpYzanD0W2N3C6BjUjQsJwD -BO70FyMeLwyWTpn0vjVfTdXxWrIzwvsBQkBFHnTaC9n3MUmPsIavRNb2VWJJ7mZd -f2T5iGUKjwUZV2V9dZhkf4ZjxDiMc8IRve5x3TnE+wWEEBI0trsYXXH6q9Jt0YXr -ygqDvtE6b8e6t0cGtx7lIqC2TpE9RS4iK/7EJ/fhG74MxPhUw83KDMgsgK+VKaVj -KUI+uSrl3LFgl/TGila9KmfR0mbkh0A8UHMpEV3G85DzeG4dVCG6TwwyeJ/qlgs5 -Wf705KUCRTFmpSNu6lG8yiVfpFuOI3/p53bKRAl8Z6eWYn+P3L/Xr1YCZg5HouOF -iajsC7jRVPZ/0Yfy+Vf0SRYFw4Ez+qJVUBLajb5PuKwTL7P3CrW/saaDfnJ3uSNX -YKdP +MIIFQDCCAygCAgCQMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU1MTZaFw0yNDEyMDUxMjU1MTZaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDnV8b0CWOUSWvRuqIlWa1205PGPhagY6aeDwbCIxkmXSUR/4oJ +YtVvnU3ulIGVWnpm2emc5JEfFAJC6u5cvvmNCbk3/uR2XCWOY6y8c1y54LhsugZ3 +6TQxMcFMcZrg2LBQMMip6wvCzYkaDazMWqxjfV7K5rGL1Pl/79uj5MU3n4jtwzLL +SNZ849yMgmugbM2wyMMRzNFm6WFhsRqKPY0mkPSXgUQ/8mg7eb53J2qRNQMJNLQi +AdEM4Z1pNZy71Ers6eyi7rKktMzNfn/F54H6UuZ0/9Afq3YGPB5hzyugzmYFDQYT +Inhw6plN6o7MRdMXMaqBk8p1BpLCPnnc9nKUAWJo72jD+iliE9vYJXIVPWYyO+Jx +j4SONMfln9niz+w+axxqN6FmN6TKlUfyhN0wY0HWtYkCClg+AgH4BECYIgg9oPB9 +31bss0eV5XEdANmKftYRqdA6ZDZLlcCNUt2s13PYSEV/R5HP5cXKEbrSz1npJVQX +yAlWkSScEppG2I0ssuyFtXibfDTlENyiVpN1IJ9csfCW+YfbHs5GLuUr2C3XgfYT +c6Xmgu9G9tgmOJCoF6U2bs6vhV7gUWze0i7pXEtBCUMuiIQO/u0MAm0Abx6M+KlZ +crDB/yEnUI47+14pmz2+wqJ2zJnsrx4VGTFjVKJjrTvOEw6TA8iZU2+vrwIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQA04txofezDvJ6qAcarIlUd6SOmVCqfYum9WM75 +8dmGhmAEJofS7AewqM5tfpAK0+1Cjoal9nxSbhvEi0XYMfkbsiCfTrPmF456uz+0 +XAfUfNpUe5DD0uWvCNTk2gNVsJuK7cmJDqi6rjECsJNvzqZfnBXdqPhr1Tn4yag1 +YfNv6mJ/a4AR8VicEzcLAkgzsq/A+YYNPkbQ1GLBNQiwT5jC9VIYFeJuAGl7Ae2G +QhPbSnFYK5NzMM3omZkY0+fY6RWfik/VcMZ1GXn1GUoUA0gY8Ao+ythsLEiF21BB +MF5h5NNTK8DHYr4GbR4w5qLfWWKUqtEfH/DWpddR7MANzPj3IzLM4oDRaIu2ZDcq +YJIEW8qykHqv1CeKJDqg4kyse/jIpnOI4/I31KpKU6LDWq/OP1QaGuGP0ywMCk/u +Q+2AZJZqXwTmCyMhs9mGiSG6eZeMBAtivwLguZS/U4jIG3oVzh2CkVgnmMIpFbpI +e6Jw1ikSMIxQpAxg7CaeS0uZBraYnPu1HEbF2yRwldOVdKuRt8gzblZ2ZMxO/X8d +o42PDyXGZ8cyvybcbL/x2sNwBVUDR3XNJkZTSuNL/o49h3PByjaBljBZl44WTlX8 +ZPf4n6Ilc4ybkH2aruwGVAtA/08CZ13ULf1Uwymd7Zk1GL7/sbew5JdBBoYCM8My +8Ug2pw== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ui-ingest.crt b/dev-deployment/environments/certs/server/hosts/localhost/ui-ingest.crt index 0fcb8a794..e87c44a03 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ui-ingest.crt +++ b/dev-deployment/environments/certs/server/hosts/localhost/ui-ingest.crt @@ -1,111 +1,111 @@ Certificate: Data: Version: 1 (0x0) - Serial Number: 16 (0x10) + Serial Number: 147 (0x93) Signature Algorithm: sha256WithRSAEncryption Issuer: C=fr, ST=idf, L=paris, O=vitamui, OU=authorities, CN=ca_intermediate_server Validity - Not Before: Sep 25 23:36:37 2020 GMT - Not After : Sep 25 23:36:37 2023 GMT + Not Before: Dec 6 12:55:32 2021 GMT + Not After : Dec 5 12:55:32 2024 GMT Subject: C=fr, ST=idf, L=paris, O=vitamui, CN=dev.vitamui.com Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (4096 bit) Modulus: - 00:bf:70:14:ad:47:7f:8c:56:d8:7b:49:98:b8:34: - a7:35:fd:cb:9a:c0:c7:e9:7a:d4:bd:9f:09:22:e2: - bd:52:c9:68:d0:e2:a6:cc:6e:06:2c:d1:41:df:4f: - 5d:d9:e4:47:8f:38:67:4d:09:6f:86:66:fe:b3:ab: - 4a:d1:5e:20:70:44:44:a6:70:d7:ba:73:a2:44:1c: - 8a:3d:40:d9:94:87:b5:d1:b2:1a:06:69:f9:bc:74: - a4:c9:e7:f2:5d:85:81:ac:9a:12:76:55:74:4d:97: - 5d:f0:08:2e:21:f3:fe:3c:c9:47:3d:0e:30:4f:c2: - 8f:04:85:43:e0:87:e7:20:75:78:c1:d9:c3:a3:f3: - 75:b3:ef:46:e1:4d:c5:c0:7d:c6:87:b7:06:a1:dc: - cf:0f:5b:8a:a5:e4:24:62:d2:4b:9a:a5:cb:2c:f1: - 77:02:2a:6c:5c:3e:00:5c:c4:6a:e7:7b:34:33:34: - 61:f7:af:3c:1e:81:bd:bd:ff:42:77:3e:b2:55:fd: - cf:e5:65:58:8e:29:18:2b:d7:45:26:82:18:a6:a2: - a2:4d:97:58:49:ef:b8:57:1a:d8:01:92:d5:75:e1: - 16:02:06:5a:f4:3d:c0:ff:f4:5f:47:4e:98:8b:41: - 97:f3:f6:b0:7f:f6:53:a7:6d:56:4c:0f:a4:47:50: - ad:d5:5f:c3:94:3f:20:ed:cb:fc:c1:04:61:53:a9: - 3a:e1:9e:7e:48:6e:f2:6f:cd:81:fd:2a:94:c2:07: - 24:cb:5f:d6:47:ea:52:ae:04:88:1c:18:63:a8:23: - 44:ff:51:8a:4f:2f:44:00:91:5d:b4:5d:24:be:35: - 22:6c:5d:68:af:64:1d:0c:9f:a2:97:82:36:5a:ed: - 66:5d:07:93:1c:7c:c8:32:4e:c5:53:f7:90:ac:f4: - f7:53:c0:1b:d9:e1:ba:55:9a:78:77:c8:ce:97:02: - 19:29:9d:0f:ac:2a:1b:8c:c7:bc:a6:56:06:18:0e: - 9f:6a:4f:fa:34:3d:c4:e6:9d:a9:60:52:ef:3d:71: - 32:8b:13:07:fd:73:05:ec:b1:23:f7:6e:6d:34:bb: - 20:a3:6b:2c:c4:65:c2:88:ee:2c:c1:81:07:ae:43: - 73:70:65:60:ad:7b:e5:fb:0b:39:35:bb:e6:cf:61: - 21:cc:8f:66:14:74:18:28:ce:03:fc:c6:1d:10:9e: - 9c:ab:e1:d8:9d:d8:a2:f3:13:82:5a:68:50:b9:4c: - ec:2c:0c:71:7c:05:31:85:eb:94:22:b6:39:84:5f: - cb:ef:dd:16:9f:76:4f:c9:62:d5:ec:af:ff:18:e2: - c9:76:45:3c:74:f0:8d:ad:fc:29:cc:8d:7a:6c:53: - 09:26:b3 + 00:cf:66:f4:6c:ea:f1:c2:9f:6f:c7:a1:45:26:fe: + a7:b7:a2:be:79:b1:8b:d5:ca:35:b8:03:8e:2b:71: + 06:4b:8f:47:ed:8f:4e:aa:ba:02:e9:5d:de:21:01: + 63:41:c1:9a:3b:46:75:bd:42:32:49:cf:f5:13:aa: + f4:20:4b:23:98:90:82:6b:4c:fa:7e:2a:76:58:3c: + 0d:3b:a0:e4:ee:e7:9e:c4:81:4f:84:83:00:4e:06: + 4a:0a:7d:32:c5:13:80:4b:b8:3d:a5:00:75:57:41: + fc:31:89:bb:cf:8b:1e:c1:35:41:f8:65:70:27:02: + 34:a9:6d:b8:a0:3c:bf:fd:9d:a4:a2:0f:02:ce:0d: + b2:de:22:25:ab:e2:23:c8:04:c2:90:4b:09:01:93: + 8b:e5:f7:83:13:2f:50:5f:80:55:ca:d4:61:6a:56: + e5:5e:fa:ea:f0:b1:15:6b:57:d0:3e:0d:b1:e2:d8: + 9b:3d:00:70:44:3c:75:dd:76:2e:60:c5:a3:45:26: + f0:e2:65:8f:d1:2a:19:e1:24:83:6b:06:d2:54:9a: + 83:54:c4:c4:3d:7d:9d:7e:c3:a5:b4:02:a8:59:53: + b0:29:7d:c1:ae:16:93:6c:f4:da:95:2a:ff:e0:11: + 2b:ba:61:48:49:a9:39:73:4b:47:8c:f4:88:e1:28: + d4:3c:a7:24:bf:13:e7:61:9f:b9:fa:db:f2:e1:ff: + d6:da:36:5f:37:1e:4b:c0:5d:af:fe:8b:9b:8c:5d: + f1:87:8c:e5:5f:8a:05:cb:2c:7c:9a:d6:ed:81:f7: + e7:17:1f:5e:c8:65:74:74:7d:6e:35:dc:c2:44:d5: + ce:8e:75:5e:a3:75:fe:f1:e7:65:cc:d4:00:62:f5: + 62:4e:f9:6e:00:ac:ee:1e:de:b4:aa:35:6f:6b:e4: + c1:44:d2:c8:5b:e0:82:a6:03:21:35:ee:cd:c4:89: + fa:bb:0f:71:9c:6a:ee:07:87:5d:4c:1e:9f:f0:d4: + a6:df:24:10:36:70:54:be:86:78:28:2c:0e:cb:d4: + 41:55:c6:91:73:66:e9:10:73:a5:6d:32:c7:6d:59: + b0:b7:e7:e0:e2:5f:03:e8:f9:3a:a4:fd:ef:a1:d2: + 45:e9:fc:5d:64:dc:bc:5e:2c:38:59:ce:83:2a:05: + 56:72:75:55:08:a0:2d:88:32:4c:27:79:3d:88:25: + 05:0b:dc:f1:79:76:a6:41:71:05:35:2e:f0:ec:c5: + 2e:cf:cc:87:4f:27:9b:dc:e0:52:5e:bd:9a:0a:a3: + c8:e3:c2:f8:8b:6e:35:80:af:c7:21:c5:f1:8b:89: + 86:fc:5c:c4:9d:ff:42:24:8d:9d:4e:1c:ec:6b:4d: + d2:15:63 Exponent: 65537 (0x10001) Signature Algorithm: sha256WithRSAEncryption - 38:7e:91:4b:64:0d:68:33:c9:fb:32:a7:ab:50:18:82:a6:7c: - b6:b2:12:d1:5d:da:ce:ff:52:7b:a8:42:aa:39:56:07:3f:54: - 18:5a:71:c5:0c:55:52:49:86:3c:8a:9c:72:2c:ed:d2:52:a5: - c0:97:3d:f5:b5:e3:0b:19:21:01:5e:d3:a1:d7:32:d1:4c:99: - 9b:13:7e:e3:76:68:1f:cd:2d:16:cb:43:4c:fd:7b:d3:55:c3: - 77:0d:84:df:f7:b3:ae:b5:1a:10:66:1e:f9:00:b9:cd:0c:5e: - 30:40:62:c1:ca:f6:70:1d:56:d2:25:77:c2:8f:c5:d6:34:42: - 4d:5b:db:68:d1:ab:b5:fc:fd:d5:d9:16:20:cc:46:9a:79:e2: - 88:80:49:85:d4:09:90:7d:08:d7:e4:77:33:00:7d:b3:2a:d5: - 53:d6:00:24:b9:29:41:61:eb:63:cd:d9:53:fd:d9:61:0a:f5: - 29:8b:ba:59:bb:a9:f3:3a:f8:67:42:ef:c3:39:7d:e6:87:63: - ff:fb:8d:7f:ae:05:f2:31:4d:5c:d1:65:7f:20:c2:7a:a8:3e: - bf:8a:f8:dd:0a:00:9c:14:06:69:b3:db:1a:f0:05:64:dd:46: - b0:0f:6a:2e:42:c1:6d:04:3d:18:4a:46:e8:95:67:3b:b5:27: - e4:12:e1:ab:59:97:61:46:99:d2:3d:65:07:5e:de:06:23:86: - 0d:a1:8f:df:94:69:9a:b5:c2:6d:56:7e:39:1f:55:99:7a:30: - 74:06:86:13:ad:a7:61:3f:90:6d:46:05:e7:51:3b:36:55:75: - 06:da:01:31:68:ba:50:dc:3d:e0:60:51:cb:0b:89:4d:ef:14: - a3:7a:1c:63:57:af:e2:8f:77:ea:20:e5:af:c2:da:73:a4:54: - 93:d9:5e:d8:aa:9c:d4:fb:7a:39:e9:96:04:12:3d:88:fa:99: - c1:9c:f2:f6:19:61:87:04:30:e6:e2:3c:3b:d9:2f:6a:58:f1: - 30:69:73:05:2d:25:78:94:45:f3:45:93:a8:c4:1c:99:58:26: - 70:4a:fe:11:7c:fc:11:59:34:a2:f8:82:56:23:d2:f8:d8:99: - 7f:66:c5:1a:91:a9:91:4d:d5:80:93:1c:05:53:27:79:e2:ce: - db:59:a1:5b:93:06:dd:0d:02:80:f9:6c:ee:9c:59:dd:d0:55: - 6f:39:73:e9:47:b4:8d:c9:6b:4c:b5:e4:21:43:56:df:cf:b6: - 4f:20:9e:12:a4:0a:48:1e:75:2c:e1:28:d3:56:60:bc:55:b0: - 25:86:0d:a7:fd:9a:33:36:38:dc:83:77:51:f7:ad:5f:fa:62: - 6f:09:29:27:62:ad:4d:82 + 89:81:2b:bc:c0:1f:c8:31:b9:eb:a9:f9:7c:9f:93:88:af:76: + e4:f9:1b:21:32:29:ed:70:6b:c3:b1:20:3b:4e:bf:3f:80:8d: + fe:02:59:d9:44:69:9b:70:0d:34:c7:de:63:ee:e4:83:fa:da: + d3:7f:db:cf:17:a2:a3:cb:53:7a:64:c7:33:ca:5b:c5:df:a3: + d9:fc:fb:ca:42:7a:93:1a:bf:22:50:d7:03:28:99:77:0c:7c: + 0c:1b:df:25:27:58:a7:77:f1:85:73:3d:19:31:ff:2f:5c:b4: + 6e:6b:d0:a9:7c:5f:1f:91:79:35:a8:33:06:d0:50:6b:c8:de: + 6e:a9:b5:a6:81:dc:75:d3:1a:fb:80:72:66:08:a9:1a:11:cd: + 28:f2:64:bb:99:e1:13:c4:b4:e2:70:71:5a:97:87:e5:4d:a7: + d1:4c:83:ef:20:6e:d9:ca:18:d8:a6:a7:1b:55:03:f4:79:e7: + 2c:98:60:c1:20:6c:ec:f8:54:c9:d4:e8:bc:90:e9:ad:e7:17: + 60:1f:42:78:99:a6:63:8e:89:23:78:09:b7:97:ff:a4:c7:59: + 0c:57:d7:f6:3a:69:7c:b1:27:10:aa:51:97:f2:26:49:1b:4a: + 0a:eb:59:cd:17:c8:17:d5:31:bb:dd:57:e0:7f:1b:95:24:44: + ec:c5:be:b9:af:68:79:b2:bc:b6:aa:ee:34:65:dd:be:3a:a0: + 76:29:90:c2:58:79:53:b5:c2:f6:9e:61:bd:99:fd:54:cb:8f: + d7:2a:28:26:dc:78:c3:04:8c:a3:5d:35:1a:e8:8e:3b:40:fd: + 38:cd:1c:31:02:d9:93:53:10:7b:47:b2:06:e3:aa:05:5b:38: + 58:74:3d:8d:21:48:64:0f:bd:b4:d7:f4:23:09:6e:6e:d2:72: + 0f:2b:89:f7:0f:1a:60:f0:66:fa:9a:0c:5b:b1:e2:82:3b:26: + 0d:5c:32:f4:6f:9f:df:e1:0d:36:94:54:62:8a:e2:25:c7:1c: + 9f:31:e8:cd:26:13:c4:e5:d6:c2:ec:7d:c9:5c:a9:95:f2:1f: + 90:0d:bd:78:f4:9f:60:c4:09:9e:a2:53:b6:42:fc:ef:20:eb: + 50:74:ce:45:89:70:f0:a1:f7:8a:9e:6b:c1:50:d8:e6:3b:f3: + c4:b9:92:fd:33:e8:1f:d6:4e:4a:54:67:29:e0:ca:f7:12:67: + 54:49:7e:ff:b8:ce:9a:04:4b:3e:63:f0:1f:e8:95:a8:36:30: + 45:02:6f:54:d7:1f:5d:f1:32:65:f9:37:7c:f9:ac:e1:e6:ba: + 2d:c5:84:a2:6e:21:f3:07:68:75:79:e7:a8:85:81:14:6e:ea: + 1f:71:87:4c:cd:fa:b8:54 -----BEGIN CERTIFICATE----- -MIIFPzCCAycCARAwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDkyNTIzMzYzN1oXDTIzMDkyNTIzMzYzN1owVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAL9wFK1Hf4xW2HtJmLg0pzX9y5rAx+l61L2fCSLivVLJaNDipsxu -BizRQd9PXdnkR484Z00Jb4Zm/rOrStFeIHBERKZw17pzokQcij1A2ZSHtdGyGgZp -+bx0pMnn8l2FgayaEnZVdE2XXfAILiHz/jzJRz0OME/CjwSFQ+CH5yB1eMHZw6Pz -dbPvRuFNxcB9xoe3BqHczw9biqXkJGLSS5qlyyzxdwIqbFw+AFzEaud7NDM0Yfev -PB6Bvb3/Qnc+slX9z+VlWI4pGCvXRSaCGKaiok2XWEnvuFca2AGS1XXhFgIGWvQ9 -wP/0X0dOmItBl/P2sH/2U6dtVkwPpEdQrdVfw5Q/IO3L/MEEYVOpOuGefkhu8m/N -gf0qlMIHJMtf1kfqUq4EiBwYY6gjRP9Rik8vRACRXbRdJL41ImxdaK9kHQyfopeC -NlrtZl0Hkxx8yDJOxVP3kKz091PAG9nhulWaeHfIzpcCGSmdD6wqG4zHvKZWBhgO -n2pP+jQ9xOadqWBS7z1xMosTB/1zBeyxI/dubTS7IKNrLMRlwojuLMGBB65Dc3Bl -YK175fsLOTW75s9hIcyPZhR0GCjOA/zGHRCenKvh2J3YovMTglpoULlM7CwMcXwF -MYXrlCK2OYRfy+/dFp92T8li1eyv/xjiyXZFPHTwja38KcyNemxTCSazAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBADh+kUtkDWgzyfsyp6tQGIKmfLayEtFd2s7/Unuo -Qqo5Vgc/VBhaccUMVVJJhjyKnHIs7dJSpcCXPfW14wsZIQFe06HXMtFMmZsTfuN2 -aB/NLRbLQ0z9e9NVw3cNhN/3s661GhBmHvkAuc0MXjBAYsHK9nAdVtIld8KPxdY0 -Qk1b22jRq7X8/dXZFiDMRpp54oiASYXUCZB9CNfkdzMAfbMq1VPWACS5KUFh62PN -2VP92WEK9SmLulm7qfM6+GdC78M5feaHY//7jX+uBfIxTVzRZX8gwnqoPr+K+N0K -AJwUBmmz2xrwBWTdRrAPai5CwW0EPRhKRuiVZzu1J+QS4atZl2FGmdI9ZQde3gYj -hg2hj9+UaZq1wm1WfjkfVZl6MHQGhhOtp2E/kG1GBedROzZVdQbaATFoulDcPeBg -UcsLiU3vFKN6HGNXr+KPd+og5a/C2nOkVJPZXtiqnNT7ejnplgQSPYj6mcGc8vYZ -YYcEMObiPDvZL2pY8TBpcwUtJXiURfNFk6jEHJlYJnBK/hF8/BFZNKL4glYj0vjY -mX9mxRqRqZFN1YCTHAVTJ3nizttZoVuTBt0NAoD5bO6cWd3QVW85c+lHtI3Ja0y1 -5CFDVt/Ptk8gnhKkCkgedSzhKNNWYLxVsCWGDaf9mjM2ONyDd1H3rV/6Ym8JKSdi -rU2C +MIIFQDCCAygCAgCTMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU1MzJaFw0yNDEyMDUxMjU1MzJaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDPZvRs6vHCn2/HoUUm/qe3or55sYvVyjW4A44rcQZLj0ftj06q +ugLpXd4hAWNBwZo7RnW9QjJJz/UTqvQgSyOYkIJrTPp+KnZYPA07oOTu557EgU+E +gwBOBkoKfTLFE4BLuD2lAHVXQfwxibvPix7BNUH4ZXAnAjSpbbigPL/9naSiDwLO +DbLeIiWr4iPIBMKQSwkBk4vl94MTL1BfgFXK1GFqVuVe+urwsRVrV9A+DbHi2Js9 +AHBEPHXddi5gxaNFJvDiZY/RKhnhJINrBtJUmoNUxMQ9fZ1+w6W0AqhZU7ApfcGu +FpNs9NqVKv/gESu6YUhJqTlzS0eM9IjhKNQ8pyS/E+dhn7n62/Lh/9baNl83HkvA +Xa/+i5uMXfGHjOVfigXLLHya1u2B9+cXH17IZXR0fW413MJE1c6OdV6jdf7x52XM +1ABi9WJO+W4ArO4e3rSqNW9r5MFE0shb4IKmAyE17s3Eifq7D3Gcau4Hh11MHp/w +1KbfJBA2cFS+hngoLA7L1EFVxpFzZukQc6VtMsdtWbC35+DiXwPo+Tqk/e+h0kXp +/F1k3LxeLDhZzoMqBVZydVUIoC2IMkwneT2IJQUL3PF5dqZBcQU1LvDsxS7PzIdP +J5vc4FJevZoKo8jjwviLbjWAr8chxfGLiYb8XMSd/0IkjZ1OHOxrTdIVYwIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQCJgSu8wB/IMbnrqfl8n5OIr3bk+RshMintcGvD +sSA7Tr8/gI3+AlnZRGmbcA00x95j7uSD+trTf9vPF6Kjy1N6ZMczylvF36PZ/PvK +QnqTGr8iUNcDKJl3DHwMG98lJ1ind/GFcz0ZMf8vXLRua9CpfF8fkXk1qDMG0FBr +yN5uqbWmgdx10xr7gHJmCKkaEc0o8mS7meETxLTicHFal4flTafRTIPvIG7ZyhjY +pqcbVQP0eecsmGDBIGzs+FTJ1Oi8kOmt5xdgH0J4maZjjokjeAm3l/+kx1kMV9f2 +Oml8sScQqlGX8iZJG0oK61nNF8gX1TG73VfgfxuVJETsxb65r2h5sry2qu40Zd2+ +OqB2KZDCWHlTtcL2nmG9mf1Uy4/XKigm3HjDBIyjXTUa6I47QP04zRwxAtmTUxB7 +R7IG46oFWzhYdD2NIUhkD7201/QjCW5u0nIPK4n3Dxpg8Gb6mgxbseKCOyYNXDL0 +b5/f4Q02lFRiiuIlxxyfMejNJhPE5dbC7H3JXKmV8h+QDb149J9gxAmeolO2Qvzv +IOtQdM5FiXDwofeKnmvBUNjmO/PEuZL9M+gf1k5KVGcp4Mr3EmdUSX7/uM6aBEs+ +Y/Af6JWoNjBFAm9U1x9d8TJl+Td8+azh5rotxYSibiHzB2h1eeeohYEUbuofcYdM +zfq4VA== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ui-ingest.key b/dev-deployment/environments/certs/server/hosts/localhost/ui-ingest.key index 984d979b4..cdf07a160 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ui-ingest.key +++ b/dev-deployment/environments/certs/server/hosts/localhost/ui-ingest.key @@ -1,52 +1,52 @@ -----BEGIN PRIVATE KEY----- -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 -SIt67+vvRrgurUc9ZPpFw1ieLwPL+Q== +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 +r/t8//nTTaTfpqnJv1LuQX5c4l9GCw== -----END PRIVATE KEY----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ui-ingest.pem b/dev-deployment/environments/certs/server/hosts/localhost/ui-ingest.pem index 06fe942bb..86dc7a993 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ui-ingest.pem +++ b/dev-deployment/environments/certs/server/hosts/localhost/ui-ingest.pem @@ -1,31 +1,31 @@ -----BEGIN CERTIFICATE----- -MIIFPzCCAycCARAwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDkyNTIzMzYzN1oXDTIzMDkyNTIzMzYzN1owVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAL9wFK1Hf4xW2HtJmLg0pzX9y5rAx+l61L2fCSLivVLJaNDipsxu -BizRQd9PXdnkR484Z00Jb4Zm/rOrStFeIHBERKZw17pzokQcij1A2ZSHtdGyGgZp -+bx0pMnn8l2FgayaEnZVdE2XXfAILiHz/jzJRz0OME/CjwSFQ+CH5yB1eMHZw6Pz -dbPvRuFNxcB9xoe3BqHczw9biqXkJGLSS5qlyyzxdwIqbFw+AFzEaud7NDM0Yfev -PB6Bvb3/Qnc+slX9z+VlWI4pGCvXRSaCGKaiok2XWEnvuFca2AGS1XXhFgIGWvQ9 -wP/0X0dOmItBl/P2sH/2U6dtVkwPpEdQrdVfw5Q/IO3L/MEEYVOpOuGefkhu8m/N -gf0qlMIHJMtf1kfqUq4EiBwYY6gjRP9Rik8vRACRXbRdJL41ImxdaK9kHQyfopeC -NlrtZl0Hkxx8yDJOxVP3kKz091PAG9nhulWaeHfIzpcCGSmdD6wqG4zHvKZWBhgO -n2pP+jQ9xOadqWBS7z1xMosTB/1zBeyxI/dubTS7IKNrLMRlwojuLMGBB65Dc3Bl -YK175fsLOTW75s9hIcyPZhR0GCjOA/zGHRCenKvh2J3YovMTglpoULlM7CwMcXwF -MYXrlCK2OYRfy+/dFp92T8li1eyv/xjiyXZFPHTwja38KcyNemxTCSazAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBADh+kUtkDWgzyfsyp6tQGIKmfLayEtFd2s7/Unuo -Qqo5Vgc/VBhaccUMVVJJhjyKnHIs7dJSpcCXPfW14wsZIQFe06HXMtFMmZsTfuN2 -aB/NLRbLQ0z9e9NVw3cNhN/3s661GhBmHvkAuc0MXjBAYsHK9nAdVtIld8KPxdY0 -Qk1b22jRq7X8/dXZFiDMRpp54oiASYXUCZB9CNfkdzMAfbMq1VPWACS5KUFh62PN -2VP92WEK9SmLulm7qfM6+GdC78M5feaHY//7jX+uBfIxTVzRZX8gwnqoPr+K+N0K -AJwUBmmz2xrwBWTdRrAPai5CwW0EPRhKRuiVZzu1J+QS4atZl2FGmdI9ZQde3gYj -hg2hj9+UaZq1wm1WfjkfVZl6MHQGhhOtp2E/kG1GBedROzZVdQbaATFoulDcPeBg -UcsLiU3vFKN6HGNXr+KPd+og5a/C2nOkVJPZXtiqnNT7ejnplgQSPYj6mcGc8vYZ -YYcEMObiPDvZL2pY8TBpcwUtJXiURfNFk6jEHJlYJnBK/hF8/BFZNKL4glYj0vjY -mX9mxRqRqZFN1YCTHAVTJ3nizttZoVuTBt0NAoD5bO6cWd3QVW85c+lHtI3Ja0y1 -5CFDVt/Ptk8gnhKkCkgedSzhKNNWYLxVsCWGDaf9mjM2ONyDd1H3rV/6Ym8JKSdi -rU2C +MIIFQDCCAygCAgCTMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU1MzJaFw0yNDEyMDUxMjU1MzJaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDPZvRs6vHCn2/HoUUm/qe3or55sYvVyjW4A44rcQZLj0ftj06q +ugLpXd4hAWNBwZo7RnW9QjJJz/UTqvQgSyOYkIJrTPp+KnZYPA07oOTu557EgU+E +gwBOBkoKfTLFE4BLuD2lAHVXQfwxibvPix7BNUH4ZXAnAjSpbbigPL/9naSiDwLO +DbLeIiWr4iPIBMKQSwkBk4vl94MTL1BfgFXK1GFqVuVe+urwsRVrV9A+DbHi2Js9 +AHBEPHXddi5gxaNFJvDiZY/RKhnhJINrBtJUmoNUxMQ9fZ1+w6W0AqhZU7ApfcGu +FpNs9NqVKv/gESu6YUhJqTlzS0eM9IjhKNQ8pyS/E+dhn7n62/Lh/9baNl83HkvA +Xa/+i5uMXfGHjOVfigXLLHya1u2B9+cXH17IZXR0fW413MJE1c6OdV6jdf7x52XM +1ABi9WJO+W4ArO4e3rSqNW9r5MFE0shb4IKmAyE17s3Eifq7D3Gcau4Hh11MHp/w +1KbfJBA2cFS+hngoLA7L1EFVxpFzZukQc6VtMsdtWbC35+DiXwPo+Tqk/e+h0kXp +/F1k3LxeLDhZzoMqBVZydVUIoC2IMkwneT2IJQUL3PF5dqZBcQU1LvDsxS7PzIdP +J5vc4FJevZoKo8jjwviLbjWAr8chxfGLiYb8XMSd/0IkjZ1OHOxrTdIVYwIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQCJgSu8wB/IMbnrqfl8n5OIr3bk+RshMintcGvD +sSA7Tr8/gI3+AlnZRGmbcA00x95j7uSD+trTf9vPF6Kjy1N6ZMczylvF36PZ/PvK +QnqTGr8iUNcDKJl3DHwMG98lJ1ind/GFcz0ZMf8vXLRua9CpfF8fkXk1qDMG0FBr +yN5uqbWmgdx10xr7gHJmCKkaEc0o8mS7meETxLTicHFal4flTafRTIPvIG7ZyhjY +pqcbVQP0eecsmGDBIGzs+FTJ1Oi8kOmt5xdgH0J4maZjjokjeAm3l/+kx1kMV9f2 +Oml8sScQqlGX8iZJG0oK61nNF8gX1TG73VfgfxuVJETsxb65r2h5sry2qu40Zd2+ +OqB2KZDCWHlTtcL2nmG9mf1Uy4/XKigm3HjDBIyjXTUa6I47QP04zRwxAtmTUxB7 +R7IG46oFWzhYdD2NIUhkD7201/QjCW5u0nIPK4n3Dxpg8Gb6mgxbseKCOyYNXDL0 +b5/f4Q02lFRiiuIlxxyfMejNJhPE5dbC7H3JXKmV8h+QDb149J9gxAmeolO2Qvzv +IOtQdM5FiXDwofeKnmvBUNjmO/PEuZL9M+gf1k5KVGcp4Mr3EmdUSX7/uM6aBEs+ +Y/Af6JWoNjBFAm9U1x9d8TJl+Td8+azh5rotxYSibiHzB2h1eeeohYEUbuofcYdM +zfq4VA== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ui-pastis.crt b/dev-deployment/environments/certs/server/hosts/localhost/ui-pastis.crt new file mode 100644 index 000000000..44f3fd464 --- /dev/null +++ b/dev-deployment/environments/certs/server/hosts/localhost/ui-pastis.crt @@ -0,0 +1,111 @@ +Certificate: + Data: + Version: 1 (0x0) + Serial Number: 149 (0x95) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=fr, ST=idf, L=paris, O=vitamui, OU=authorities, CN=ca_intermediate_server + Validity + Not Before: Dec 6 12:55:46 2021 GMT + Not After : Dec 5 12:55:46 2024 GMT + Subject: C=fr, ST=idf, L=paris, O=vitamui, CN=dev.vitamui.com + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (4096 bit) + Modulus: + 00:ba:ed:94:13:31:aa:a1:45:fa:d8:b9:6f:15:5d: + 12:7a:71:9a:94:63:c6:49:81:a6:5e:b6:24:82:c5: + 66:f8:c4:7b:25:e7:21:41:f2:0d:ad:df:83:24:bb: + c7:ac:9c:00:b6:f5:e5:29:89:c0:ee:fb:f4:53:a6: + f7:71:ba:5e:83:8c:01:74:fc:78:80:ee:55:ca:8b: + 19:17:f3:6a:59:d3:52:cf:ca:aa:37:08:f9:ac:12: + b2:22:dc:f5:e3:11:ee:df:1d:83:97:48:0f:2a:02: + 76:57:38:e7:f6:30:42:7b:a6:e4:dd:37:9d:b1:0b: + 58:dc:6b:b2:57:75:04:f9:51:14:cb:5b:ea:d2:bb: + 02:6d:e3:d7:84:c1:42:26:9f:4f:b7:08:d6:fb:03: + 67:82:bf:15:d0:07:f5:ac:53:a8:c4:f7:91:01:25: + 0d:82:89:50:87:c5:bc:60:45:ca:34:e9:3d:77:d7: + 7f:0d:9c:93:18:6d:70:06:a5:49:91:ff:68:72:06: + 7e:b3:b7:4b:db:41:81:2d:2e:d8:5b:09:7b:9c:79: + 92:73:3a:5f:a2:d2:d9:ab:24:69:09:ed:b5:e0:36: + 65:14:58:30:48:7b:f9:ef:f9:21:8a:ac:aa:65:0e: + 4c:d2:84:68:df:4b:a9:69:5c:0c:e0:34:ca:39:24: + a0:2f:94:09:1e:d1:59:49:57:dd:98:f9:01:2e:6c: + d0:47:7d:c1:95:53:ad:fb:e8:ae:f1:7b:1d:83:26: + 01:17:b3:1a:c8:1c:b2:af:ff:d0:3c:8f:79:b9:10: + ca:1d:8c:66:1d:d6:d6:9a:8c:f5:f7:2d:7a:98:26: + 57:67:14:17:a8:b9:4b:57:0c:30:87:90:ed:20:24: + 3b:2a:a0:db:b0:92:0b:52:6f:fb:f0:f6:3c:f7:cc: + 3d:ea:e1:19:d5:25:e4:54:a7:8b:fa:aa:77:d2:90: + 70:3c:a8:38:56:d2:b3:08:e2:99:a1:2f:04:de:38: + 43:26:dc:27:21:75:36:a8:61:e3:9f:63:7c:51:cd: + 35:d6:0c:e5:45:92:6a:8e:d2:50:cb:8b:12:85:fb: + fc:98:fb:6f:6b:46:6c:91:e0:1b:38:3d:3e:be:71: + f1:dd:b3:56:83:e2:00:dc:d6:fc:11:e6:7d:de:0e: + 72:74:36:da:61:8c:d6:16:38:aa:de:50:52:ca:01: + 30:5b:2f:c5:7a:32:90:54:06:0d:18:17:9e:85:fe: + 37:63:c3:4a:92:34:b0:88:f1:d4:9d:25:ae:d6:f8: + 81:f1:a9:da:66:b9:35:d0:c8:04:a3:a4:df:42:ed: + a4:79:58:61:69:52:34:de:cc:d1:93:a1:50:5b:85: + 1a:9e:13 + Exponent: 65537 (0x10001) + Signature Algorithm: sha256WithRSAEncryption + 8d:af:ce:15:6e:bd:8e:3d:33:30:e1:c9:10:7c:f7:b4:fa:ee: + 24:cb:fc:99:1f:4f:93:9a:e4:b7:9b:38:bb:df:21:11:da:42: + 73:7c:38:9c:b5:d5:12:4c:9d:16:95:5e:7c:56:a7:0a:d8:31: + 27:d1:31:06:a5:37:cc:72:3f:f0:49:68:4c:8d:79:18:d8:c2: + 5b:4f:38:5c:cb:a3:7a:f9:76:8d:a4:c6:de:9c:8c:c9:18:c7: + 5b:e3:db:c0:21:55:9e:f1:63:00:6d:7a:a3:00:d3:92:e6:d5: + ec:ec:5c:0f:fc:74:cc:41:53:2c:b2:d7:2a:86:05:2a:ad:7e: + 63:73:09:c5:c6:0e:bf:d1:57:7e:e4:1a:6b:fd:89:38:89:d1: + 19:15:33:c7:5d:8a:65:ae:ea:d0:c5:cc:9f:f6:0d:77:3c:5c: + ac:11:0f:90:7c:55:90:fb:35:5d:1a:94:74:40:07:9b:e5:8b: + b5:9f:de:b4:1e:fb:dd:72:3b:16:c9:10:e7:87:ee:c9:90:d9: + ca:93:f4:df:04:f5:66:bc:74:70:5a:71:ac:ae:13:c2:cd:52: + d4:8b:5a:8c:67:cf:e7:9c:28:d5:e2:df:0a:55:75:c3:a5:13: + fa:ed:15:e5:11:32:6e:f9:37:de:fc:10:75:cd:19:00:ff:0f: + af:19:c5:21:07:11:a6:ef:e8:65:cd:6f:3d:8a:29:4d:b3:a6: + 75:a0:7b:38:a3:9c:51:58:64:a3:bd:87:40:15:05:70:81:32: + 76:b8:c5:2b:b9:98:1a:f7:3c:1e:93:40:7b:8c:2f:3c:a6:ca: + 75:0b:58:c6:36:6b:5e:d3:b7:a0:da:8b:14:24:01:b1:76:93: + 8c:47:da:20:ef:9f:2e:d5:55:c5:e4:bd:31:b8:66:a3:91:02: + 45:6f:f5:ea:0c:50:c7:4a:65:13:21:94:72:f4:87:b2:ed:c1: + 62:ee:ac:e9:49:d5:e1:48:db:da:77:d4:7e:46:45:98:7d:dd: + 6c:7f:df:bb:ac:69:a9:9d:31:40:47:d3:28:0a:52:ed:1d:7d: + ad:68:40:0c:9d:6d:07:75:b1:b1:6a:8c:23:bd:a7:34:11:57: + 6f:e1:31:c1:17:98:d3:0e:b2:54:c2:f1:fe:17:ed:88:5b:71: + e0:49:12:95:9c:8b:22:49:1c:a0:05:13:0a:89:ee:13:d9:0f: + 7b:56:f6:4b:8a:81:aa:46:ab:3d:de:02:cc:b3:5f:68:11:d5: + c8:76:fe:21:5d:9b:18:07:c7:eb:83:4d:91:0a:6e:2c:22:f3: + ae:b0:10:63:e6:7e:6b:a4:76:1d:69:7e:ca:ac:5e:7e:43:4d: + bf:fe:12:e9:f7:08:96:64 +-----BEGIN CERTIFICATE----- +MIIFQDCCAygCAgCVMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU1NDZaFw0yNDEyMDUxMjU1NDZaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQC67ZQTMaqhRfrYuW8VXRJ6cZqUY8ZJgaZetiSCxWb4xHsl5yFB +8g2t34Mku8esnAC29eUpicDu+/RTpvdxul6DjAF0/HiA7lXKixkX82pZ01LPyqo3 +CPmsErIi3PXjEe7fHYOXSA8qAnZXOOf2MEJ7puTdN52xC1jca7JXdQT5URTLW+rS +uwJt49eEwUImn0+3CNb7A2eCvxXQB/WsU6jE95EBJQ2CiVCHxbxgRco06T13138N +nJMYbXAGpUmR/2hyBn6zt0vbQYEtLthbCXuceZJzOl+i0tmrJGkJ7bXgNmUUWDBI +e/nv+SGKrKplDkzShGjfS6lpXAzgNMo5JKAvlAke0VlJV92Y+QEubNBHfcGVU637 +6K7xex2DJgEXsxrIHLKv/9A8j3m5EModjGYd1taajPX3LXqYJldnFBeouUtXDDCH +kO0gJDsqoNuwkgtSb/vw9jz3zD3q4RnVJeRUp4v6qnfSkHA8qDhW0rMI4pmhLwTe +OEMm3CchdTaoYeOfY3xRzTXWDOVFkmqO0lDLixKF+/yY+29rRmyR4Bs4PT6+cfHd +s1aD4gDc1vwR5n3eDnJ0NtphjNYWOKreUFLKATBbL8V6MpBUBg0YF56F/jdjw0qS +NLCI8dSdJa7W+IHxqdpmuTXQyASjpN9C7aR5WGFpUjTezNGToVBbhRqeEwIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQCNr84Vbr2OPTMw4ckQfPe0+u4ky/yZH0+TmuS3 +mzi73yER2kJzfDictdUSTJ0WlV58VqcK2DEn0TEGpTfMcj/wSWhMjXkY2MJbTzhc +y6N6+XaNpMbenIzJGMdb49vAIVWe8WMAbXqjANOS5tXs7FwP/HTMQVMsstcqhgUq +rX5jcwnFxg6/0Vd+5Bpr/Yk4idEZFTPHXYplrurQxcyf9g13PFysEQ+QfFWQ+zVd +GpR0QAeb5Yu1n960HvvdcjsWyRDnh+7JkNnKk/TfBPVmvHRwWnGsrhPCzVLUi1qM +Z8/nnCjV4t8KVXXDpRP67RXlETJu+Tfe/BB1zRkA/w+vGcUhBxGm7+hlzW89iilN +s6Z1oHs4o5xRWGSjvYdAFQVwgTJ2uMUruZga9zwek0B7jC88psp1C1jGNmte07eg +2osUJAGxdpOMR9og758u1VXF5L0xuGajkQJFb/XqDFDHSmUTIZRy9Iey7cFi7qzp +SdXhSNvad9R+RkWYfd1sf9+7rGmpnTFAR9MoClLtHX2taEAMnW0HdbGxaowjvac0 +EVdv4THBF5jTDrJUwvH+F+2IW3HgSRKVnIsiSRygBRMKie4T2Q97VvZLioGqRqs9 +3gLMs19oEdXIdv4hXZsYB8frg02RCm4sIvOusBBj5n5rpHYdaX7KrF5+Q02//hLp +9wiWZA== +-----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ui-pastis.key b/dev-deployment/environments/certs/server/hosts/localhost/ui-pastis.key new file mode 100644 index 000000000..d84cd496b --- /dev/null +++ b/dev-deployment/environments/certs/server/hosts/localhost/ui-pastis.key @@ -0,0 +1,52 @@ +-----BEGIN PRIVATE KEY----- +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 +M2wy5yjIx/o6rqoaQxnKlKmrrbczL/g= +-----END PRIVATE KEY----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ui-pastis.pem b/dev-deployment/environments/certs/server/hosts/localhost/ui-pastis.pem new file mode 100644 index 000000000..7d0095436 --- /dev/null +++ b/dev-deployment/environments/certs/server/hosts/localhost/ui-pastis.pem @@ -0,0 +1,31 @@ +-----BEGIN CERTIFICATE----- +MIIFQDCCAygCAgCVMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU1NDZaFw0yNDEyMDUxMjU1NDZaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQC67ZQTMaqhRfrYuW8VXRJ6cZqUY8ZJgaZetiSCxWb4xHsl5yFB +8g2t34Mku8esnAC29eUpicDu+/RTpvdxul6DjAF0/HiA7lXKixkX82pZ01LPyqo3 +CPmsErIi3PXjEe7fHYOXSA8qAnZXOOf2MEJ7puTdN52xC1jca7JXdQT5URTLW+rS +uwJt49eEwUImn0+3CNb7A2eCvxXQB/WsU6jE95EBJQ2CiVCHxbxgRco06T13138N +nJMYbXAGpUmR/2hyBn6zt0vbQYEtLthbCXuceZJzOl+i0tmrJGkJ7bXgNmUUWDBI +e/nv+SGKrKplDkzShGjfS6lpXAzgNMo5JKAvlAke0VlJV92Y+QEubNBHfcGVU637 +6K7xex2DJgEXsxrIHLKv/9A8j3m5EModjGYd1taajPX3LXqYJldnFBeouUtXDDCH +kO0gJDsqoNuwkgtSb/vw9jz3zD3q4RnVJeRUp4v6qnfSkHA8qDhW0rMI4pmhLwTe +OEMm3CchdTaoYeOfY3xRzTXWDOVFkmqO0lDLixKF+/yY+29rRmyR4Bs4PT6+cfHd +s1aD4gDc1vwR5n3eDnJ0NtphjNYWOKreUFLKATBbL8V6MpBUBg0YF56F/jdjw0qS +NLCI8dSdJa7W+IHxqdpmuTXQyASjpN9C7aR5WGFpUjTezNGToVBbhRqeEwIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQCNr84Vbr2OPTMw4ckQfPe0+u4ky/yZH0+TmuS3 +mzi73yER2kJzfDictdUSTJ0WlV58VqcK2DEn0TEGpTfMcj/wSWhMjXkY2MJbTzhc +y6N6+XaNpMbenIzJGMdb49vAIVWe8WMAbXqjANOS5tXs7FwP/HTMQVMsstcqhgUq +rX5jcwnFxg6/0Vd+5Bpr/Yk4idEZFTPHXYplrurQxcyf9g13PFysEQ+QfFWQ+zVd +GpR0QAeb5Yu1n960HvvdcjsWyRDnh+7JkNnKk/TfBPVmvHRwWnGsrhPCzVLUi1qM +Z8/nnCjV4t8KVXXDpRP67RXlETJu+Tfe/BB1zRkA/w+vGcUhBxGm7+hlzW89iilN +s6Z1oHs4o5xRWGSjvYdAFQVwgTJ2uMUruZga9zwek0B7jC88psp1C1jGNmte07eg +2osUJAGxdpOMR9og758u1VXF5L0xuGajkQJFb/XqDFDHSmUTIZRy9Iey7cFi7qzp +SdXhSNvad9R+RkWYfd1sf9+7rGmpnTFAR9MoClLtHX2taEAMnW0HdbGxaowjvac0 +EVdv4THBF5jTDrJUwvH+F+2IW3HgSRKVnIsiSRygBRMKie4T2Q97VvZLioGqRqs9 +3gLMs19oEdXIdv4hXZsYB8frg02RCm4sIvOusBBj5n5rpHYdaX7KrF5+Q02//hLp +9wiWZA== +-----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ui-portal.crt b/dev-deployment/environments/certs/server/hosts/localhost/ui-portal.crt index f493852f7..95a68f57d 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ui-portal.crt +++ b/dev-deployment/environments/certs/server/hosts/localhost/ui-portal.crt @@ -1,111 +1,111 @@ Certificate: Data: Version: 1 (0x0) - Serial Number: 7 (0x7) - Signature Algorithm: sha256WithRSAEncryption + Serial Number: 143 (0x8f) + Signature Algorithm: sha256WithRSAEncryption Issuer: C=fr, ST=idf, L=paris, O=vitamui, OU=authorities, CN=ca_intermediate_server Validity - Not Before: May 5 12:34:59 2020 GMT - Not After : May 5 12:34:59 2023 GMT + Not Before: Dec 6 12:55:12 2021 GMT + Not After : Dec 5 12:55:12 2024 GMT Subject: C=fr, ST=idf, L=paris, O=vitamui, CN=dev.vitamui.com Subject Public Key Info: Public Key Algorithm: rsaEncryption - RSA Public-Key: (4096 bit) + Public-Key: (4096 bit) Modulus: - 00:e4:b2:cf:9c:d8:7b:17:03:fc:b6:7a:84:47:65: - 7b:2b:0c:15:97:45:4b:ca:ca:44:3e:0d:dd:8e:b5: - e0:90:46:33:0a:65:19:e0:f2:60:31:78:2b:ba:43: - 4a:00:a3:d5:24:86:32:2a:31:40:12:04:33:22:ab: - 95:82:28:af:d8:a7:13:f6:75:d4:fb:9c:92:56:e5: - 75:ba:a5:17:dd:3e:99:fb:56:5d:7c:12:3e:48:89: - 35:27:fb:ed:0d:13:0b:ee:85:28:9e:43:96:e7:48: - 18:07:49:34:0b:38:fc:33:3e:c9:a5:bf:4d:6c:90: - 91:ea:f7:3d:0d:51:e0:66:86:7d:b6:d6:69:e6:86: - 7a:71:33:4b:01:88:90:de:c0:d6:4a:3b:eb:76:c9: - 40:91:9c:b1:1d:ed:04:1d:9e:32:00:f0:c7:e4:17: - 73:22:e1:97:ee:03:63:b3:9c:09:26:d8:46:e6:ba: - 99:95:43:c8:63:c9:95:de:65:ff:25:c1:c4:e1:9f: - 45:46:38:28:ec:dd:b5:0f:c2:82:1b:4c:a8:92:02: - bf:92:2f:9e:da:65:9f:ad:9f:6c:92:44:d7:16:03: - 4d:29:7e:45:c6:0e:18:2d:92:df:6c:f8:60:45:cc: - 19:cc:88:ab:d6:b3:94:89:54:a6:65:1b:da:a5:23: - e0:e7:76:8e:cf:20:7e:52:c0:e3:ca:20:81:4a:d2: - a4:f1:6f:bc:a7:99:28:1a:c4:07:1c:09:70:69:14: - d9:3b:9d:d3:7f:92:37:22:4d:db:60:c5:86:c3:d5: - 11:a7:9a:b1:4d:c4:d8:b3:0f:7e:6a:d9:58:88:97: - 12:ab:3a:df:fd:5d:37:f1:56:08:72:31:ce:b6:71: - 5b:27:f8:b0:d1:a6:3f:2c:26:ce:95:7c:76:93:c3: - 73:32:ad:39:40:74:f3:80:9a:35:0a:c9:d8:3d:a0: - 71:64:95:23:33:eb:56:ba:68:3c:17:17:b5:91:18: - 5c:e5:02:d7:a5:fa:2e:c9:a0:e4:97:c8:71:f9:e0: - 4e:d8:2b:a4:fa:73:cb:a4:f7:04:f6:f6:88:d2:aa: - fc:dc:81:bf:89:27:90:36:17:5e:ab:f1:0f:de:db: - 14:14:6c:4d:4f:3a:5f:12:a0:31:e4:a3:e4:57:03: - d2:ec:3e:28:c2:0b:a8:73:a4:02:51:c6:b5:56:e2: - 73:c6:89:1c:60:09:a9:bd:71:6a:0d:0c:b2:57:08: - e2:f3:e7:22:c8:a3:0b:4e:99:68:e7:69:72:58:8a: - ae:be:95:17:d7:62:44:ee:b3:12:6f:76:db:f9:81: - 44:75:2a:6b:71:03:3d:47:fc:b3:bc:50:48:69:7b: - 22:e8:0f + 00:bc:0d:0e:c2:2e:e5:65:d5:96:8c:1d:63:fd:7b: + 87:01:1f:0b:46:ed:8a:c9:31:1c:e8:3d:cf:d7:04: + 30:20:92:45:96:e6:24:5c:3b:67:33:42:46:cb:dd: + 88:77:36:41:63:e7:a4:a8:b5:e0:e3:2a:c9:93:21: + 54:f3:f0:a1:61:ce:05:f2:f7:e5:7b:3a:fd:68:21: + d3:7c:d5:1c:f1:a2:0d:83:ea:02:7c:6e:fa:53:9b: + 61:c7:07:3e:4b:21:49:90:55:3d:5b:9d:52:ed:40: + 47:82:af:82:89:eb:cc:03:56:63:8e:66:45:4c:8c: + 4f:b3:3f:57:cb:5f:73:a1:df:d6:4b:51:1d:2f:05: + 8e:5b:b2:c9:87:25:06:9a:d2:a9:92:d6:14:54:a7: + 2c:6d:07:06:b6:ec:ee:81:b4:30:b4:d2:b3:86:d1: + ae:13:92:61:e9:79:f2:50:62:e0:68:1a:c6:e1:9a: + dc:42:2c:a7:30:16:a3:73:ad:ad:6b:65:3f:14:79: + f9:1a:29:30:cc:41:6c:a0:6f:04:18:ce:ef:36:9c: + 72:65:43:13:c1:fb:5e:5c:8c:1f:ab:62:e3:b3:77: + e8:5c:4b:c1:70:c1:9a:01:53:53:80:ef:14:9d:ab: + 8a:cb:05:1c:c5:90:71:14:2c:17:36:77:f9:d2:87: + cf:6b:54:21:a6:96:24:5b:f8:eb:bf:53:0e:9f:b7: + be:06:b2:4f:b0:69:c9:5a:1f:cc:65:7d:fb:bb:60: + e2:0e:63:36:7d:67:67:73:e3:8b:4e:71:06:21:da: + c8:62:2a:86:46:cb:38:4b:ab:25:32:0b:64:57:7f: + a7:41:e4:95:dc:30:13:01:e8:0a:c3:1d:6d:71:3b: + 4f:61:58:79:1e:58:bd:2a:45:70:07:d6:39:45:5e: + ff:3d:ab:b4:16:f6:6c:ab:a8:91:69:b0:f7:69:f5: + 9b:0e:b1:4c:a7:66:b2:8f:65:e3:82:19:6b:33:8c: + 7e:13:7b:02:04:ad:71:cd:ed:18:4c:89:f3:ee:0d: + b1:7b:f0:96:5d:a6:52:33:9a:e7:be:92:8e:84:2c: + ad:a6:79:38:48:59:21:be:ee:c9:1f:d6:42:5d:ad: + 0e:aa:ad:18:ec:80:30:de:fd:6d:52:d3:6b:d4:0b: + b5:07:ba:68:25:d9:2d:02:93:dc:65:8f:42:1b:f0: + a5:4b:13:7a:16:2a:e6:50:24:f1:2b:1a:56:47:c5: + 61:47:57:53:d1:86:30:81:b2:26:f5:92:44:5b:29: + fb:7d:e3:e4:bb:6b:41:b1:0c:33:3e:34:8e:16:16: + b8:d6:14:1e:34:d2:02:e0:63:63:93:cf:6b:b4:74: + 40:f7:0f Exponent: 65537 (0x10001) Signature Algorithm: sha256WithRSAEncryption - 62:1b:6a:34:e2:00:a9:fa:ad:6c:0b:88:a2:b6:db:9e:f8:e8: - f1:0e:d9:52:0f:ba:69:5d:66:3d:a5:f6:00:db:0b:6f:62:f4: - 5b:1a:19:aa:98:2e:73:e5:15:8a:b9:ca:57:fb:6a:41:70:71: - e6:e9:3d:8d:e9:91:f7:37:78:02:04:a2:51:56:ad:f4:48:80: - 1f:70:a8:fc:65:f4:4b:b4:70:55:9a:70:eb:27:5a:0f:0e:28: - 56:86:eb:ae:fd:a5:a4:52:43:05:11:81:5d:41:00:90:77:e2: - c4:38:da:0d:8a:f9:37:b3:fe:df:47:37:3e:ae:f9:12:2a:1e: - fa:ca:73:8e:2d:e6:f6:30:56:c7:b1:13:6d:8e:26:bf:2d:2f: - 5b:60:f6:8b:30:32:73:c1:d1:af:a0:46:bc:c8:20:ca:73:6a: - 4c:47:55:ee:fb:64:34:20:c3:9d:d7:7c:8d:42:1f:d9:f2:68: - cf:be:0b:ea:4c:e6:9f:2e:e7:d1:60:4c:58:cb:f4:04:bb:66: - 79:63:c7:4b:03:fb:12:29:88:17:0c:a3:39:9f:e8:b1:19:ee: - 3b:bf:77:3e:f4:e1:73:3c:e4:18:5a:f5:b1:7e:39:f1:88:a5: - 02:09:8c:8a:f4:53:bd:9e:f1:90:03:c1:fc:aa:21:be:1a:fa: - 07:12:ec:a5:45:2f:45:e7:73:c6:9f:ee:cd:8d:1f:ad:24:0d: - fc:50:d4:14:60:41:24:53:41:9e:43:11:a1:92:ce:43:db:d0: - b1:a7:fa:8a:85:a1:45:af:00:6c:14:38:30:32:86:31:ce:67: - 52:45:58:bc:71:5d:89:ef:ee:f9:6b:64:a9:68:ff:5b:8a:ce: - ac:cf:e8:95:bd:95:1e:a5:0e:58:64:14:57:17:54:06:13:19: - 7d:e8:30:2c:17:91:9c:e3:90:70:03:e6:fc:5d:df:93:a5:97: - 76:b8:eb:5f:26:70:a9:ff:81:55:39:63:ee:11:91:2e:24:18: - fb:cb:03:05:e6:bd:c9:2c:9d:f4:85:69:af:0c:29:98:8e:00: - 5a:45:41:69:35:87:5d:3e:89:80:8e:6d:87:6b:0e:3c:03:8f: - 8c:83:31:2e:8f:ae:18:98:9d:24:57:fc:e7:7b:d3:83:a7:13: - e6:8b:8c:66:41:eb:2e:a8:18:ec:ce:cd:14:9d:bb:fd:c5:86: - 46:12:fb:9f:a9:8f:6d:5a:57:a3:70:5e:63:24:2f:99:36:33: - 8d:a7:be:2b:0c:a9:c1:24:e2:29:6b:24:c2:51:1a:f3:7f:30: - 95:b1:89:1e:de:cd:50:12:4a:4c:fb:ed:88:8e:0a:45:37:18: - 49:a3:49:77:b1:37:eb:94 + 1e:66:71:c5:03:88:3a:a1:90:5a:69:39:69:d8:96:71:08:ea: + cb:38:21:6a:32:ee:3b:57:06:97:fa:ad:34:57:79:fa:15:6e: + d4:eb:27:38:cd:a6:11:2e:78:7d:8a:ad:ed:7d:ba:74:88:c5: + df:40:bb:96:29:b3:83:33:f7:5b:8b:5d:09:e8:59:a6:43:3b: + 12:05:d3:f4:99:e0:06:1c:50:d6:c3:17:05:61:17:99:1e:b0: + bc:26:ee:05:b0:ed:83:bb:88:8a:c5:a8:49:f0:90:c7:32:54: + 2e:83:67:2f:4b:13:8f:dd:de:02:74:af:ad:c4:13:cc:cc:ea: + 07:0c:f0:fb:41:19:58:b5:ee:c5:8a:93:a3:ba:ad:dc:ec:48: + ac:25:01:5a:5c:5c:bd:17:57:47:d1:d6:c9:a3:63:3c:21:41: + 42:d3:88:e1:76:ac:52:42:84:95:f0:18:6b:cd:52:50:16:d6: + e2:08:ba:af:e1:55:4c:a2:9d:13:c4:a1:36:18:7e:44:1b:e1: + 9c:a3:92:95:dd:e2:44:42:ba:db:d5:e4:04:f9:ae:07:dd:24: + 5f:ab:f3:36:d1:82:d2:6e:24:9c:da:84:8f:03:df:74:1f:d1: + 79:fc:f0:3f:34:17:26:9f:05:9b:e8:44:5a:53:09:fe:3b:19: + d3:6f:ae:e4:39:77:11:5b:8b:2c:86:98:5b:34:96:79:8e:97: + 6e:38:7c:df:0f:d1:b7:1f:cf:30:48:88:03:38:80:20:33:67: + e7:8f:20:22:17:15:22:3a:59:2d:51:59:b6:bb:4f:c7:b6:25: + 92:8a:ce:9f:9b:84:43:b3:65:fd:a9:73:4b:99:f1:40:ee:a9: + e2:43:3c:0e:b2:b6:37:17:34:68:f1:3b:47:01:7b:9c:79:c0: + 81:28:56:20:b5:0d:a9:44:cb:cb:73:de:7d:f4:30:c7:57:fc: + 0b:68:d0:bf:45:20:2f:f9:ea:c4:6b:db:82:70:53:87:33:8e: + 83:4e:21:0f:00:6b:5d:9f:f8:ce:51:9c:48:23:ed:6e:2f:79: + be:b4:93:e1:e0:9e:de:57:81:60:58:f3:08:bd:0f:00:29:ab: + 9a:ac:85:05:e3:33:4e:f8:17:2c:45:f5:2b:3a:80:2c:f1:49: + e4:2e:d9:6b:9b:c0:26:f0:48:06:c0:2d:e8:75:c0:e2:6b:25: + b7:17:98:0c:b8:5e:34:bf:69:d7:a8:74:ed:6a:72:7d:b5:48: + 59:6c:07:db:9b:7b:42:a1:c6:c5:a6:76:9b:75:ea:28:1e:f8: + 16:7c:92:8a:1f:4a:7f:0d:71:d4:a8:84:cc:41:e4:4e:d3:c6: + 1b:53:65:de:09:c9:2a:e6 -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQcwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDUwNTEyMzQ1OVoXDTIzMDUwNTEyMzQ1OVowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAOSyz5zYexcD/LZ6hEdleysMFZdFS8rKRD4N3Y614JBGMwplGeDy -YDF4K7pDSgCj1SSGMioxQBIEMyKrlYIor9inE/Z11PucklbldbqlF90+mftWXXwS -PkiJNSf77Q0TC+6FKJ5DludIGAdJNAs4/DM+yaW/TWyQker3PQ1R4GaGfbbWaeaG -enEzSwGIkN7A1ko763bJQJGcsR3tBB2eMgDwx+QXcyLhl+4DY7OcCSbYRua6mZVD -yGPJld5l/yXBxOGfRUY4KOzdtQ/CghtMqJICv5Ivntpln62fbJJE1xYDTSl+RcYO -GC2S32z4YEXMGcyIq9azlIlUpmUb2qUj4Od2js8gflLA48oggUrSpPFvvKeZKBrE -BxwJcGkU2Tud03+SNyJN22DFhsPVEaeasU3E2LMPfmrZWIiXEqs63/1dN/FWCHIx -zrZxWyf4sNGmPywmzpV8dpPDczKtOUB084CaNQrJ2D2gcWSVIzPrVrpoPBcXtZEY -XOUC16X6Lsmg5JfIcfngTtgrpPpzy6T3BPb2iNKq/NyBv4knkDYXXqvxD97bFBRs -TU86XxKgMeSj5FcD0uw+KMILqHOkAlHGtVbic8aJHGAJqb1xag0MslcI4vPnIsij -C06ZaOdpcliKrr6VF9diRO6zEm922/mBRHUqa3EDPUf8s7xQSGl7IugPAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAGIbajTiAKn6rWwLiKK225746PEO2VIPumldZj2l -9gDbC29i9FsaGaqYLnPlFYq5ylf7akFwcebpPY3pkfc3eAIEolFWrfRIgB9wqPxl -9Eu0cFWacOsnWg8OKFaG6679paRSQwURgV1BAJB34sQ42g2K+Tez/t9HNz6u+RIq -HvrKc44t5vYwVsexE22OJr8tL1tg9oswMnPB0a+gRrzIIMpzakxHVe77ZDQgw53X -fI1CH9nyaM++C+pM5p8u59FgTFjL9AS7Znljx0sD+xIpiBcMozmf6LEZ7ju/dz70 -4XM85Bha9bF+OfGIpQIJjIr0U72e8ZADwfyqIb4a+gcS7KVFL0Xnc8af7s2NH60k -DfxQ1BRgQSRTQZ5DEaGSzkPb0LGn+oqFoUWvAGwUODAyhjHOZ1JFWLxxXYnv7vlr -ZKlo/1uKzqzP6JW9lR6lDlhkFFcXVAYTGX3oMCwXkZzjkHAD5vxd35Oll3a4618m -cKn/gVU5Y+4RkS4kGPvLAwXmvcksnfSFaa8MKZiOAFpFQWk1h10+iYCObYdrDjwD -j4yDMS6PrhiYnSRX/Od704OnE+aLjGZB6y6oGOzOzRSdu/3FhkYS+5+pj21aV6Nw -XmMkL5k2M42nvisMqcEk4ilrJMJRGvN/MJWxiR7ezVASSkz77YiOCkU3GEmjSXex -N+uU +MIIFQDCCAygCAgCPMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU1MTJaFw0yNDEyMDUxMjU1MTJaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQC8DQ7CLuVl1ZaMHWP9e4cBHwtG7YrJMRzoPc/XBDAgkkWW5iRc +O2czQkbL3Yh3NkFj56SoteDjKsmTIVTz8KFhzgXy9+V7Ov1oIdN81Rzxog2D6gJ8 +bvpTm2HHBz5LIUmQVT1bnVLtQEeCr4KJ68wDVmOOZkVMjE+zP1fLX3Oh39ZLUR0v +BY5bssmHJQaa0qmS1hRUpyxtBwa27O6BtDC00rOG0a4TkmHpefJQYuBoGsbhmtxC +LKcwFqNzra1rZT8UefkaKTDMQWygbwQYzu82nHJlQxPB+15cjB+rYuOzd+hcS8Fw +wZoBU1OA7xSdq4rLBRzFkHEULBc2d/nSh89rVCGmliRb+Ou/Uw6ft74Gsk+wacla +H8xlffu7YOIOYzZ9Z2dz44tOcQYh2shiKoZGyzhLqyUyC2RXf6dB5JXcMBMB6ArD +HW1xO09hWHkeWL0qRXAH1jlFXv89q7QW9myrqJFpsPdp9ZsOsUynZrKPZeOCGWsz +jH4TewIErXHN7RhMifPuDbF78JZdplIzmue+ko6ELK2meThIWSG+7skf1kJdrQ6q +rRjsgDDe/W1S02vUC7UHumgl2S0Ck9xlj0Ib8KVLE3oWKuZQJPErGlZHxWFHV1PR +hjCBsib1kkRbKft94+S7a0GxDDM+NI4WFrjWFB400gLgY2OTz2u0dED3DwIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQAeZnHFA4g6oZBaaTlp2JZxCOrLOCFqMu47VwaX ++q00V3n6FW7U6yc4zaYRLnh9iq3tfbp0iMXfQLuWKbODM/dbi10J6FmmQzsSBdP0 +meAGHFDWwxcFYReZHrC8Ju4FsO2Du4iKxahJ8JDHMlQug2cvSxOP3d4CdK+txBPM +zOoHDPD7QRlYte7FipOjuq3c7EisJQFaXFy9F1dH0dbJo2M8IUFC04jhdqxSQoSV +8BhrzVJQFtbiCLqv4VVMop0TxKE2GH5EG+Gco5KV3eJEQrrb1eQE+a4H3SRfq/M2 +0YLSbiSc2oSPA990H9F5/PA/NBcmnwWb6ERaUwn+OxnTb67kOXcRW4sshphbNJZ5 +jpduOHzfD9G3H88wSIgDOIAgM2fnjyAiFxUiOlktUVm2u0/HtiWSis6fm4RDs2X9 +qXNLmfFA7qniQzwOsrY3FzRo8TtHAXucecCBKFYgtQ2pRMvLc9599DDHV/wLaNC/ +RSAv+erEa9uCcFOHM46DTiEPAGtdn/jOUZxII+1uL3m+tJPh4J7eV4FgWPMIvQ8A +KauarIUF4zNO+BcsRfUrOoAs8UnkLtlrm8Am8EgGwC3odcDiayW3F5gMuF40v2nX +qHTtanJ9tUhZbAfbm3tCocbFpnabdeooHvgWfJKKH0p/DXHUqITMQeRO08YbU2Xe +Cckq5g== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ui-portal.key b/dev-deployment/environments/certs/server/hosts/localhost/ui-portal.key index 18bedafd0..498d51df6 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ui-portal.key +++ b/dev-deployment/environments/certs/server/hosts/localhost/ui-portal.key @@ -1,52 +1,52 @@ -----BEGIN PRIVATE KEY----- -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 -JAyGN1o8DsszMsG9AS9V5kTWop88zdFO +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 +Cw1lOd2eTVyiR3aaN1u0IvNEDQre -----END PRIVATE KEY----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ui-portal.pem b/dev-deployment/environments/certs/server/hosts/localhost/ui-portal.pem index 1f5642d0d..14cd175ab 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ui-portal.pem +++ b/dev-deployment/environments/certs/server/hosts/localhost/ui-portal.pem @@ -1,31 +1,31 @@ -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQcwDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDUwNTEyMzQ1OVoXDTIzMDUwNTEyMzQ1OVowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAOSyz5zYexcD/LZ6hEdleysMFZdFS8rKRD4N3Y614JBGMwplGeDy -YDF4K7pDSgCj1SSGMioxQBIEMyKrlYIor9inE/Z11PucklbldbqlF90+mftWXXwS -PkiJNSf77Q0TC+6FKJ5DludIGAdJNAs4/DM+yaW/TWyQker3PQ1R4GaGfbbWaeaG -enEzSwGIkN7A1ko763bJQJGcsR3tBB2eMgDwx+QXcyLhl+4DY7OcCSbYRua6mZVD -yGPJld5l/yXBxOGfRUY4KOzdtQ/CghtMqJICv5Ivntpln62fbJJE1xYDTSl+RcYO -GC2S32z4YEXMGcyIq9azlIlUpmUb2qUj4Od2js8gflLA48oggUrSpPFvvKeZKBrE -BxwJcGkU2Tud03+SNyJN22DFhsPVEaeasU3E2LMPfmrZWIiXEqs63/1dN/FWCHIx -zrZxWyf4sNGmPywmzpV8dpPDczKtOUB084CaNQrJ2D2gcWSVIzPrVrpoPBcXtZEY -XOUC16X6Lsmg5JfIcfngTtgrpPpzy6T3BPb2iNKq/NyBv4knkDYXXqvxD97bFBRs -TU86XxKgMeSj5FcD0uw+KMILqHOkAlHGtVbic8aJHGAJqb1xag0MslcI4vPnIsij -C06ZaOdpcliKrr6VF9diRO6zEm922/mBRHUqa3EDPUf8s7xQSGl7IugPAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAGIbajTiAKn6rWwLiKK225746PEO2VIPumldZj2l -9gDbC29i9FsaGaqYLnPlFYq5ylf7akFwcebpPY3pkfc3eAIEolFWrfRIgB9wqPxl -9Eu0cFWacOsnWg8OKFaG6679paRSQwURgV1BAJB34sQ42g2K+Tez/t9HNz6u+RIq -HvrKc44t5vYwVsexE22OJr8tL1tg9oswMnPB0a+gRrzIIMpzakxHVe77ZDQgw53X -fI1CH9nyaM++C+pM5p8u59FgTFjL9AS7Znljx0sD+xIpiBcMozmf6LEZ7ju/dz70 -4XM85Bha9bF+OfGIpQIJjIr0U72e8ZADwfyqIb4a+gcS7KVFL0Xnc8af7s2NH60k -DfxQ1BRgQSRTQZ5DEaGSzkPb0LGn+oqFoUWvAGwUODAyhjHOZ1JFWLxxXYnv7vlr -ZKlo/1uKzqzP6JW9lR6lDlhkFFcXVAYTGX3oMCwXkZzjkHAD5vxd35Oll3a4618m -cKn/gVU5Y+4RkS4kGPvLAwXmvcksnfSFaa8MKZiOAFpFQWk1h10+iYCObYdrDjwD -j4yDMS6PrhiYnSRX/Od704OnE+aLjGZB6y6oGOzOzRSdu/3FhkYS+5+pj21aV6Nw -XmMkL5k2M42nvisMqcEk4ilrJMJRGvN/MJWxiR7ezVASSkz77YiOCkU3GEmjSXex -N+uU +MIIFQDCCAygCAgCPMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU1MTJaFw0yNDEyMDUxMjU1MTJaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQC8DQ7CLuVl1ZaMHWP9e4cBHwtG7YrJMRzoPc/XBDAgkkWW5iRc +O2czQkbL3Yh3NkFj56SoteDjKsmTIVTz8KFhzgXy9+V7Ov1oIdN81Rzxog2D6gJ8 +bvpTm2HHBz5LIUmQVT1bnVLtQEeCr4KJ68wDVmOOZkVMjE+zP1fLX3Oh39ZLUR0v +BY5bssmHJQaa0qmS1hRUpyxtBwa27O6BtDC00rOG0a4TkmHpefJQYuBoGsbhmtxC +LKcwFqNzra1rZT8UefkaKTDMQWygbwQYzu82nHJlQxPB+15cjB+rYuOzd+hcS8Fw +wZoBU1OA7xSdq4rLBRzFkHEULBc2d/nSh89rVCGmliRb+Ou/Uw6ft74Gsk+wacla +H8xlffu7YOIOYzZ9Z2dz44tOcQYh2shiKoZGyzhLqyUyC2RXf6dB5JXcMBMB6ArD +HW1xO09hWHkeWL0qRXAH1jlFXv89q7QW9myrqJFpsPdp9ZsOsUynZrKPZeOCGWsz +jH4TewIErXHN7RhMifPuDbF78JZdplIzmue+ko6ELK2meThIWSG+7skf1kJdrQ6q +rRjsgDDe/W1S02vUC7UHumgl2S0Ck9xlj0Ib8KVLE3oWKuZQJPErGlZHxWFHV1PR +hjCBsib1kkRbKft94+S7a0GxDDM+NI4WFrjWFB400gLgY2OTz2u0dED3DwIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQAeZnHFA4g6oZBaaTlp2JZxCOrLOCFqMu47VwaX ++q00V3n6FW7U6yc4zaYRLnh9iq3tfbp0iMXfQLuWKbODM/dbi10J6FmmQzsSBdP0 +meAGHFDWwxcFYReZHrC8Ju4FsO2Du4iKxahJ8JDHMlQug2cvSxOP3d4CdK+txBPM +zOoHDPD7QRlYte7FipOjuq3c7EisJQFaXFy9F1dH0dbJo2M8IUFC04jhdqxSQoSV +8BhrzVJQFtbiCLqv4VVMop0TxKE2GH5EG+Gco5KV3eJEQrrb1eQE+a4H3SRfq/M2 +0YLSbiSc2oSPA990H9F5/PA/NBcmnwWb6ERaUwn+OxnTb67kOXcRW4sshphbNJZ5 +jpduOHzfD9G3H88wSIgDOIAgM2fnjyAiFxUiOlktUVm2u0/HtiWSis6fm4RDs2X9 +qXNLmfFA7qniQzwOsrY3FzRo8TtHAXucecCBKFYgtQ2pRMvLc9599DDHV/wLaNC/ +RSAv+erEa9uCcFOHM46DTiEPAGtdn/jOUZxII+1uL3m+tJPh4J7eV4FgWPMIvQ8A +KauarIUF4zNO+BcsRfUrOoAs8UnkLtlrm8Am8EgGwC3odcDiayW3F5gMuF40v2nX +qHTtanJ9tUhZbAfbm3tCocbFpnabdeooHvgWfJKKH0p/DXHUqITMQeRO08YbU2Xe +Cckq5g== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ui-referential.crt b/dev-deployment/environments/certs/server/hosts/localhost/ui-referential.crt index 370c49a9b..3e74f8270 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ui-referential.crt +++ b/dev-deployment/environments/certs/server/hosts/localhost/ui-referential.crt @@ -1,111 +1,111 @@ Certificate: Data: Version: 1 (0x0) - Serial Number: 13 (0xd) - Signature Algorithm: sha256WithRSAEncryption + Serial Number: 146 (0x92) + Signature Algorithm: sha256WithRSAEncryption Issuer: C=fr, ST=idf, L=paris, O=vitamui, OU=authorities, CN=ca_intermediate_server Validity - Not Before: Jul 17 13:48:56 2020 GMT - Not After : Jul 17 13:48:56 2023 GMT + Not Before: Dec 6 12:55:25 2021 GMT + Not After : Dec 5 12:55:25 2024 GMT Subject: C=fr, ST=idf, L=paris, O=vitamui, CN=dev.vitamui.com Subject Public Key Info: Public Key Algorithm: rsaEncryption - RSA Public-Key: (4096 bit) + Public-Key: (4096 bit) Modulus: - 00:ae:10:b6:27:fa:5c:5e:6f:4b:bc:1c:40:9e:7c: - 46:9d:d5:1d:dc:7a:f3:0d:f1:1b:b9:f0:df:89:8f: - 49:e7:29:c5:06:fb:82:c0:19:b7:2c:a0:3c:c6:90: - 61:87:f0:4d:d7:d8:0c:9e:4a:46:d8:92:c1:9f:02: - 54:12:dc:71:e1:87:92:9d:6c:df:4d:b6:69:e8:d9: - 0f:e9:b2:4d:0b:ed:f4:5a:24:d2:06:a8:19:2a:ec: - 87:e5:a8:d9:5a:4a:07:a4:bd:62:6c:4f:13:a7:8a: - 1e:fe:7d:99:5a:64:03:67:d2:15:b4:f4:39:fd:29: - 8d:b5:06:91:e4:e8:42:23:9e:fc:56:c0:1b:13:f6: - c8:c6:34:94:a8:cf:30:21:64:d2:d2:3f:e8:03:98: - 46:89:71:34:d7:c0:3b:3e:89:34:13:a1:c4:f7:8f: - 48:8b:3f:6d:5a:83:12:f5:d6:c8:82:40:a1:4d:dd: - 2c:f2:70:21:0f:c5:c1:de:9f:d4:3a:8a:ed:56:64: - 0c:1b:3b:a1:00:63:fc:15:6b:eb:bd:40:d3:1c:34: - 51:cb:77:01:5d:6e:3c:2c:d1:13:d9:4c:f9:10:3d: - 19:39:1d:36:42:dc:c8:74:ac:f4:dd:d7:75:e7:fb: - 83:58:23:bb:79:8d:ad:64:d2:f8:ce:a4:da:2f:8d: - 33:ed:13:33:75:af:bf:25:a4:7e:6f:a1:bc:1e:c8: - 10:c3:a8:67:a2:a5:a4:2e:74:e6:4c:ae:bf:09:09: - a6:84:5f:d3:49:ab:81:a4:6f:cb:bb:14:7f:60:36: - 8f:be:a1:c2:9a:c9:ce:46:8a:e9:59:a4:4e:b1:16: - 49:c0:a5:42:47:59:77:6b:c6:3b:be:17:2e:78:5e: - 6d:64:9b:65:24:6e:3d:6a:96:28:44:c7:98:42:34: - 93:4a:c5:76:64:c9:a4:4d:86:6b:32:c0:bb:dc:3e: - c8:2e:ee:81:08:a3:e2:74:2d:f7:88:a7:e8:79:44: - a5:fc:51:c4:db:30:2b:2a:47:25:85:33:77:15:d1: - b7:ba:77:f2:50:d0:55:97:d0:a2:c6:4e:38:0c:3b: - 3a:8a:03:92:2c:6d:b2:97:e8:22:c5:e4:05:94:11: - 90:39:6c:51:0f:a9:90:d3:62:dc:28:c8:05:49:8c: - 99:00:45:20:64:c4:bf:c8:10:e7:7d:3c:0e:fa:b8: - 0a:11:fc:db:e5:40:fa:5e:04:26:76:6c:93:a5:1b: - ec:ac:26:8f:c4:32:b4:7b:87:b2:2d:14:79:02:09: - 99:15:5d:9b:6f:d5:07:25:4a:1c:24:42:08:a3:95: - d6:90:a5:d8:1d:4b:88:a1:16:c5:21:a8:3b:b8:7b: - 66:b8:55 + 00:bd:ef:3d:6c:08:08:79:35:ea:48:20:9d:16:9c: + 08:b4:b1:b6:e8:fd:96:95:31:44:c8:56:d8:af:3b: + 92:55:85:dd:39:f9:d5:d2:11:99:78:39:3e:8a:d4: + 97:5a:ac:41:0b:f7:30:c0:96:1a:3a:9e:1a:c7:5c: + db:8e:2f:0e:de:37:79:d7:c8:2a:41:c9:94:60:a1: + 1e:4d:94:7c:d0:d7:29:ed:26:e7:a2:7a:3a:0b:43: + 2a:a2:8f:c3:ce:9c:e6:84:98:5a:5d:d2:98:1b:31: + b3:7a:4f:7a:76:af:a3:54:1a:2d:3d:30:c9:48:0c: + d3:7c:40:0a:ee:97:80:ac:4a:93:91:09:90:83:48: + 0e:86:c1:eb:7a:e0:f0:49:89:21:9b:2e:e2:4d:4e: + c7:33:fc:17:75:7d:1a:f3:4a:c3:a0:09:dc:a3:5a: + 14:5c:82:cc:a2:05:ef:69:28:ef:87:10:54:98:c2: + 64:d4:23:6a:aa:b0:fa:4a:58:74:0b:39:dc:dd:fb: + ce:e8:7d:4e:ff:80:49:75:03:ac:35:87:fd:46:64: + 71:93:9a:b9:e6:b5:c6:ee:57:ed:71:52:5c:b2:a1: + 64:1d:7a:0e:b2:66:80:ed:47:ac:61:a0:f4:41:0d: + 78:65:0a:b9:4d:25:80:a4:3b:dd:98:c7:65:c6:44: + 3d:45:f6:eb:f7:14:e2:5b:4a:89:8b:18:c6:55:38: + 39:1f:ca:5c:dd:43:7f:ac:7d:78:99:05:35:13:f3: + a3:aa:46:c1:60:2c:b9:63:44:53:88:88:4e:52:36: + 6f:bb:28:f6:a7:e3:07:d2:30:92:19:92:e4:74:c1: + f6:aa:14:44:ad:28:7b:d8:6b:18:cf:71:8e:52:46: + 4a:b1:76:6b:d4:ca:7e:10:06:02:3a:50:c3:f7:3d: + 27:89:6a:8c:0d:8c:57:91:41:da:66:fe:da:63:fe: + 08:81:a6:96:25:7e:6e:b0:90:40:95:c7:00:22:eb: + 04:95:f9:da:87:90:4b:3f:d5:f2:3b:e7:28:b2:82: + 48:c5:43:99:e2:9b:b4:d6:51:82:ae:72:c8:d6:2d: + 4e:56:15:a0:b5:48:12:67:78:bb:5a:3a:99:48:33: + 9a:7f:21:94:43:8a:23:46:7a:00:d7:bd:ad:bd:38: + e6:fc:89:69:ce:2e:d5:b1:ad:94:d4:06:cb:ea:5e: + 22:61:ce:37:35:fb:31:74:19:36:df:d3:e9:7f:d4: + 3b:07:56:d5:05:70:16:76:ee:70:1e:2c:f5:8f:e5: + c5:01:39:a3:b5:cf:e4:12:d0:54:ea:6e:e3:ca:ca: + c3:8c:0b:a5:35:33:27:fc:21:1c:4e:ef:f4:47:8c: + 47:02:c9 Exponent: 65537 (0x10001) Signature Algorithm: sha256WithRSAEncryption - 1e:2f:93:a6:3f:f8:f8:cf:c4:49:d2:76:b6:4d:c0:a4:a2:50: - f7:3c:8d:9c:9c:64:f8:dd:29:47:ea:f4:fd:7d:c7:ab:f7:86: - 8a:b7:78:84:5b:23:83:97:8f:3b:56:80:cb:51:9c:53:70:8b: - de:5b:d8:95:5f:aa:60:d1:9b:e5:73:0f:b4:b2:25:c8:c6:63: - 3a:b0:e5:20:c7:d7:44:0a:f1:f0:5f:a2:35:13:b8:75:01:f7: - b4:1f:86:03:57:88:3c:6a:46:1e:7a:cf:8d:58:c8:cf:8f:7f: - 16:e1:55:de:15:10:7d:75:af:97:59:05:ed:3e:95:0d:5a:59: - 68:aa:3f:d9:f7:41:b0:98:d3:83:04:ad:9c:26:93:ee:40:b7: - 3b:d6:e8:28:d7:72:53:2a:5f:8c:9a:ed:58:52:c6:67:5d:09: - d0:35:15:4a:6b:61:2a:78:08:9c:1b:bc:11:49:db:ad:95:3a: - fe:1e:14:13:d7:8d:03:a0:47:98:31:b9:3c:2f:50:76:2c:f2: - 58:8a:08:52:e2:a6:c7:68:c3:20:49:94:88:0d:74:67:cf:69: - fc:99:7e:4f:bf:98:bc:a4:59:b7:dd:37:f7:65:0e:da:6b:66: - 3a:8d:d8:ff:f0:13:fe:f8:b2:31:4c:60:10:9e:3c:31:7b:6e: - 87:95:29:97:58:c5:e8:63:d9:40:ad:a5:b7:a2:9a:49:2a:6c: - 29:e1:19:ee:0d:66:b7:d0:59:5f:b8:a5:84:e5:f8:cd:fb:65: - 6f:af:c7:c4:d8:61:e8:8b:ed:64:8f:40:45:0d:f5:b8:c5:23: - d4:c1:03:6e:5c:c5:1a:b5:1b:0e:7f:70:d5:4c:b8:c7:ea:27: - 31:39:9b:05:fc:29:2c:72:81:f7:51:aa:bb:a7:47:5a:b6:df: - ce:cd:aa:ba:f9:03:5f:b7:f9:bb:c7:a1:39:ad:b3:de:5b:51: - 5c:a5:fd:33:10:1a:22:e0:65:ec:ad:ee:ce:97:56:79:a0:a7: - b9:06:9d:20:6b:b4:e4:81:99:0e:e2:97:06:0d:90:37:0d:ae: - c0:26:43:dd:20:eb:8f:20:61:c4:97:94:af:ae:49:09:ea:db: - 71:f3:c4:02:9b:e2:cd:dc:d1:76:e1:dc:6c:5b:3a:c4:49:f2: - 9f:b6:8f:4d:e4:53:2a:fb:64:1c:31:41:d1:f6:bf:2f:49:a2: - 9e:37:66:11:27:13:02:ce:1e:cc:06:01:97:d0:99:e5:40:8b: - 03:0d:40:a9:bb:a4:b7:4a:fc:86:8e:b1:93:8e:eb:b9:fa:b6: - 65:54:04:db:53:67:5c:3a:9b:18:45:fa:a8:40:9d:ce:a0:e1: - a7:46:18:af:7f:05:43:c9 + 3b:b3:f7:5f:a1:a0:f4:5d:4f:9d:31:62:72:1f:0c:f5:79:fc: + af:03:19:9d:c8:b9:df:09:d8:09:cd:34:be:2f:e1:6d:f3:91: + b1:66:23:ff:63:16:98:3f:6a:8e:cf:23:06:af:56:73:b8:3f: + 98:20:81:39:de:cc:26:fd:a6:91:06:5e:19:d9:77:0b:5b:6b: + fb:bf:6d:d9:d3:15:32:39:31:22:ae:8f:51:8c:26:fb:c9:65: + 8b:b8:0a:12:34:7c:15:9c:7f:8a:60:04:35:e7:8f:d5:cf:7b: + cf:7b:8f:19:6f:1f:c0:5b:bb:a7:a4:51:e0:14:f6:e0:87:fe: + 43:f0:f3:db:8d:51:10:5a:2a:38:17:4d:bd:8f:2e:ed:98:33: + ac:82:08:6f:ea:d6:9a:a9:52:01:1c:cb:4e:c1:ca:5f:e8:aa: + 5b:99:4e:9e:83:dd:ee:c2:88:36:aa:5a:28:c8:98:d8:99:a0: + 29:16:77:7d:d1:61:75:a9:5f:b8:37:40:ea:32:ed:8e:c9:7e: + 1d:b4:bb:7f:1d:0c:bd:65:a1:d9:ee:14:ba:d1:68:78:09:23: + 39:e8:c4:e9:84:c3:0c:fc:9e:59:28:7c:7d:cc:a4:76:b7:ff: + e0:77:75:57:39:04:f1:f8:de:0b:d9:95:28:e9:82:db:96:46: + 84:d6:60:97:0c:7e:2e:59:98:c6:71:0e:8e:70:ca:e0:6f:16: + be:37:50:08:a1:3d:28:4b:39:4b:d2:69:7d:85:b2:bd:d0:cd: + a0:e7:08:43:57:c2:be:af:1c:8e:75:7e:cb:e1:a0:94:14:01: + 4a:d0:eb:91:28:80:cf:6b:be:a0:07:c6:52:c3:69:49:72:f6: + e2:7b:be:7e:d8:f0:99:a5:83:f5:d3:75:2e:83:41:b0:80:ed: + 2a:05:1d:45:06:2a:30:43:0b:00:f4:ae:4d:ba:a4:3a:8f:0b: + e8:fe:7c:00:9e:c9:57:cd:b0:49:a4:49:64:b5:4d:9b:b3:47: + d2:50:13:1b:ed:57:0b:98:ed:9e:73:e7:89:df:44:38:49:99: + 36:28:39:2f:bc:76:c9:89:c1:d3:78:d6:62:7f:0c:36:9d:2e: + 7a:4e:b1:c5:75:ee:24:f3:9f:f9:72:43:6d:77:3c:e9:8b:95: + 68:eb:e6:e8:99:f5:1b:e9:09:f8:cd:5a:9f:04:e8:ea:c9:c3: + 1d:92:c5:b2:f0:56:e3:5c:7b:1a:95:dd:bc:a6:f8:de:2e:e1: + ac:e1:12:10:f6:77:60:ff:26:43:d8:32:8f:3f:5f:05:fa:dc: + ff:9b:af:d4:76:a3:48:8e:de:f3:d9:91:56:97:c2:ce:c6:20: + 39:14:0e:83:39:22:57:d5 -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQ0wDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDcxNzEzNDg1NloXDTIzMDcxNzEzNDg1NlowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAK4Qtif6XF5vS7wcQJ58Rp3VHdx68w3xG7nw34mPSecpxQb7gsAZ -tyygPMaQYYfwTdfYDJ5KRtiSwZ8CVBLcceGHkp1s3022aejZD+myTQvt9Fok0gao -GSrsh+Wo2VpKB6S9YmxPE6eKHv59mVpkA2fSFbT0Of0pjbUGkeToQiOe/FbAGxP2 -yMY0lKjPMCFk0tI/6AOYRolxNNfAOz6JNBOhxPePSIs/bVqDEvXWyIJAoU3dLPJw -IQ/Fwd6f1DqK7VZkDBs7oQBj/BVr671A0xw0Uct3AV1uPCzRE9lM+RA9GTkdNkLc -yHSs9N3Xdef7g1gju3mNrWTS+M6k2i+NM+0TM3WvvyWkfm+hvB7IEMOoZ6KlpC50 -5kyuvwkJpoRf00mrgaRvy7sUf2A2j76hwprJzkaK6VmkTrEWScClQkdZd2vGO74X -LnhebWSbZSRuPWqWKETHmEI0k0rFdmTJpE2GazLAu9w+yC7ugQij4nQt94in6HlE -pfxRxNswKypHJYUzdxXRt7p38lDQVZfQosZOOAw7OooDkixtspfoIsXkBZQRkDls -UQ+pkNNi3CjIBUmMmQBFIGTEv8gQ5308Dvq4ChH82+VA+l4EJnZsk6Ub7Kwmj8Qy -tHuHsi0UeQIJmRVdm2/VByVKHCRCCKOV1pCl2B1LiKEWxSGoO7h7ZrhVAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAB4vk6Y/+PjPxEnSdrZNwKSiUPc8jZycZPjdKUfq -9P19x6v3hoq3eIRbI4OXjztWgMtRnFNwi95b2JVfqmDRm+VzD7SyJcjGYzqw5SDH -10QK8fBfojUTuHUB97QfhgNXiDxqRh56z41YyM+PfxbhVd4VEH11r5dZBe0+lQ1a -WWiqP9n3QbCY04MErZwmk+5AtzvW6CjXclMqX4ya7VhSxmddCdA1FUprYSp4CJwb -vBFJ262VOv4eFBPXjQOgR5gxuTwvUHYs8liKCFLipsdowyBJlIgNdGfPafyZfk+/ -mLykWbfdN/dlDtprZjqN2P/wE/74sjFMYBCePDF7boeVKZdYxehj2UCtpbeimkkq -bCnhGe4NZrfQWV+4pYTl+M37ZW+vx8TYYeiL7WSPQEUN9bjFI9TBA25cxRq1Gw5/ -cNVMuMfqJzE5mwX8KSxygfdRqrunR1q2387Nqrr5A1+3+bvHoTmts95bUVyl/TMQ -GiLgZeyt7s6XVnmgp7kGnSBrtOSBmQ7ilwYNkDcNrsAmQ90g648gYcSXlK+uSQnq -23HzxAKb4s3c0Xbh3GxbOsRJ8p+2j03kUyr7ZBwxQdH2vy9Jop43ZhEnEwLOHswG -AZfQmeVAiwMNQKm7pLdK/IaOsZOO67n6tmVUBNtTZ1w6mxhF+qhAnc6g4adGGK9/ -BUPJ +MIIFQDCCAygCAgCSMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU1MjVaFw0yNDEyMDUxMjU1MjVaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQC97z1sCAh5NepIIJ0WnAi0sbbo/ZaVMUTIVtivO5JVhd05+dXS +EZl4OT6K1JdarEEL9zDAlho6nhrHXNuOLw7eN3nXyCpByZRgoR5NlHzQ1yntJuei +ejoLQyqij8POnOaEmFpd0pgbMbN6T3p2r6NUGi09MMlIDNN8QArul4CsSpORCZCD +SA6Gwet64PBJiSGbLuJNTscz/Bd1fRrzSsOgCdyjWhRcgsyiBe9pKO+HEFSYwmTU +I2qqsPpKWHQLOdzd+87ofU7/gEl1A6w1h/1GZHGTmrnmtcbuV+1xUlyyoWQdeg6y +ZoDtR6xhoPRBDXhlCrlNJYCkO92Yx2XGRD1F9uv3FOJbSomLGMZVODkfylzdQ3+s +fXiZBTUT86OqRsFgLLljRFOIiE5SNm+7KPan4wfSMJIZkuR0wfaqFEStKHvYaxjP +cY5SRkqxdmvUyn4QBgI6UMP3PSeJaowNjFeRQdpm/tpj/giBppYlfm6wkECVxwAi +6wSV+dqHkEs/1fI75yiygkjFQ5nim7TWUYKucsjWLU5WFaC1SBJneLtaOplIM5p/ +IZRDiiNGegDXva29OOb8iWnOLtWxrZTUBsvqXiJhzjc1+zF0GTbf0+l/1DsHVtUF +cBZ27nAeLPWP5cUBOaO1z+QS0FTqbuPKysOMC6U1Myf8IRxO7/RHjEcCyQIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQA7s/dfoaD0XU+dMWJyHwz1efyvAxmdyLnfCdgJ +zTS+L+Ft85GxZiP/YxaYP2qOzyMGr1ZzuD+YIIE53swm/aaRBl4Z2XcLW2v7v23Z +0xUyOTEiro9RjCb7yWWLuAoSNHwVnH+KYAQ154/Vz3vPe48Zbx/AW7unpFHgFPbg +h/5D8PPbjVEQWio4F029jy7tmDOsgghv6taaqVIBHMtOwcpf6KpbmU6eg93uwog2 +qlooyJjYmaApFnd90WF1qV+4N0DqMu2OyX4dtLt/HQy9ZaHZ7hS60Wh4CSM56MTp +hMMM/J5ZKHx9zKR2t//gd3VXOQTx+N4L2ZUo6YLblkaE1mCXDH4uWZjGcQ6OcMrg +bxa+N1AIoT0oSzlL0ml9hbK90M2g5whDV8K+rxyOdX7L4aCUFAFK0OuRKIDPa76g +B8ZSw2lJcvbie75+2PCZpYP103Uug0GwgO0qBR1FBiowQwsA9K5NuqQ6jwvo/nwA +nslXzbBJpElktU2bs0fSUBMb7VcLmO2ec+eJ30Q4SZk2KDkvvHbJicHTeNZifww2 +nS56TrHFde4k85/5ckNtdzzpi5Vo6+bomfUb6Qn4zVqfBOjqycMdksWy8FbjXHsa +ld28pvjeLuGs4RIQ9ndg/yZD2DKPP18F+tz/m6/UdqNIjt7z2ZFWl8LOxiA5FA6D +OSJX1Q== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ui-referential.key b/dev-deployment/environments/certs/server/hosts/localhost/ui-referential.key index b6b327982..a6329f376 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ui-referential.key +++ b/dev-deployment/environments/certs/server/hosts/localhost/ui-referential.key @@ -1,52 +1,52 @@ -----BEGIN PRIVATE KEY----- -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 -YwyHEOoLMAFVI8WeuHIEsAhlXfMp7zE= +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 +Plg9KOvY6WJewDeqCxbXr7h7EB90g1Bf -----END PRIVATE KEY----- diff --git a/dev-deployment/environments/certs/server/hosts/localhost/ui-referential.pem b/dev-deployment/environments/certs/server/hosts/localhost/ui-referential.pem index bef621858..9be342aec 100644 --- a/dev-deployment/environments/certs/server/hosts/localhost/ui-referential.pem +++ b/dev-deployment/environments/certs/server/hosts/localhost/ui-referential.pem @@ -1,31 +1,31 @@ -----BEGIN CERTIFICATE----- -MIIFPzCCAycCAQ0wDQYJKoZIhvcNAQELBQAwdDELMAkGA1UEBhMCZnIxDDAKBgNV -BAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkxFDASBgNV -BAsMC2F1dGhvcml0aWVzMR8wHQYDVQQDDBZjYV9pbnRlcm1lZGlhdGVfc2VydmVy -MB4XDTIwMDcxNzEzNDg1NloXDTIzMDcxNzEzNDg1NlowVzELMAkGA1UEBhMCZnIx -DDAKBgNVBAgMA2lkZjEOMAwGA1UEBwwFcGFyaXMxEDAOBgNVBAoMB3ZpdGFtdWkx -GDAWBgNVBAMMD2Rldi52aXRhbXVpLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAK4Qtif6XF5vS7wcQJ58Rp3VHdx68w3xG7nw34mPSecpxQb7gsAZ -tyygPMaQYYfwTdfYDJ5KRtiSwZ8CVBLcceGHkp1s3022aejZD+myTQvt9Fok0gao -GSrsh+Wo2VpKB6S9YmxPE6eKHv59mVpkA2fSFbT0Of0pjbUGkeToQiOe/FbAGxP2 -yMY0lKjPMCFk0tI/6AOYRolxNNfAOz6JNBOhxPePSIs/bVqDEvXWyIJAoU3dLPJw -IQ/Fwd6f1DqK7VZkDBs7oQBj/BVr671A0xw0Uct3AV1uPCzRE9lM+RA9GTkdNkLc -yHSs9N3Xdef7g1gju3mNrWTS+M6k2i+NM+0TM3WvvyWkfm+hvB7IEMOoZ6KlpC50 -5kyuvwkJpoRf00mrgaRvy7sUf2A2j76hwprJzkaK6VmkTrEWScClQkdZd2vGO74X -LnhebWSbZSRuPWqWKETHmEI0k0rFdmTJpE2GazLAu9w+yC7ugQij4nQt94in6HlE -pfxRxNswKypHJYUzdxXRt7p38lDQVZfQosZOOAw7OooDkixtspfoIsXkBZQRkDls -UQ+pkNNi3CjIBUmMmQBFIGTEv8gQ5308Dvq4ChH82+VA+l4EJnZsk6Ub7Kwmj8Qy -tHuHsi0UeQIJmRVdm2/VByVKHCRCCKOV1pCl2B1LiKEWxSGoO7h7ZrhVAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAB4vk6Y/+PjPxEnSdrZNwKSiUPc8jZycZPjdKUfq -9P19x6v3hoq3eIRbI4OXjztWgMtRnFNwi95b2JVfqmDRm+VzD7SyJcjGYzqw5SDH -10QK8fBfojUTuHUB97QfhgNXiDxqRh56z41YyM+PfxbhVd4VEH11r5dZBe0+lQ1a -WWiqP9n3QbCY04MErZwmk+5AtzvW6CjXclMqX4ya7VhSxmddCdA1FUprYSp4CJwb -vBFJ262VOv4eFBPXjQOgR5gxuTwvUHYs8liKCFLipsdowyBJlIgNdGfPafyZfk+/ -mLykWbfdN/dlDtprZjqN2P/wE/74sjFMYBCePDF7boeVKZdYxehj2UCtpbeimkkq -bCnhGe4NZrfQWV+4pYTl+M37ZW+vx8TYYeiL7WSPQEUN9bjFI9TBA25cxRq1Gw5/ -cNVMuMfqJzE5mwX8KSxygfdRqrunR1q2387Nqrr5A1+3+bvHoTmts95bUVyl/TMQ -GiLgZeyt7s6XVnmgp7kGnSBrtOSBmQ7ilwYNkDcNrsAmQ90g648gYcSXlK+uSQnq -23HzxAKb4s3c0Xbh3GxbOsRJ8p+2j03kUyr7ZBwxQdH2vy9Jop43ZhEnEwLOHswG -AZfQmeVAiwMNQKm7pLdK/IaOsZOO67n6tmVUBNtTZ1w6mxhF+qhAnc6g4adGGK9/ -BUPJ +MIIFQDCCAygCAgCSMA0GCSqGSIb3DQEBCwUAMHQxCzAJBgNVBAYTAmZyMQwwCgYD +VQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVpMRQwEgYD +VQQLDAthdXRob3JpdGllczEfMB0GA1UEAwwWY2FfaW50ZXJtZWRpYXRlX3NlcnZl +cjAeFw0yMTEyMDYxMjU1MjVaFw0yNDEyMDUxMjU1MjVaMFcxCzAJBgNVBAYTAmZy +MQwwCgYDVQQIDANpZGYxDjAMBgNVBAcMBXBhcmlzMRAwDgYDVQQKDAd2aXRhbXVp +MRgwFgYDVQQDDA9kZXYudml0YW11aS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQC97z1sCAh5NepIIJ0WnAi0sbbo/ZaVMUTIVtivO5JVhd05+dXS +EZl4OT6K1JdarEEL9zDAlho6nhrHXNuOLw7eN3nXyCpByZRgoR5NlHzQ1yntJuei +ejoLQyqij8POnOaEmFpd0pgbMbN6T3p2r6NUGi09MMlIDNN8QArul4CsSpORCZCD +SA6Gwet64PBJiSGbLuJNTscz/Bd1fRrzSsOgCdyjWhRcgsyiBe9pKO+HEFSYwmTU +I2qqsPpKWHQLOdzd+87ofU7/gEl1A6w1h/1GZHGTmrnmtcbuV+1xUlyyoWQdeg6y +ZoDtR6xhoPRBDXhlCrlNJYCkO92Yx2XGRD1F9uv3FOJbSomLGMZVODkfylzdQ3+s +fXiZBTUT86OqRsFgLLljRFOIiE5SNm+7KPan4wfSMJIZkuR0wfaqFEStKHvYaxjP +cY5SRkqxdmvUyn4QBgI6UMP3PSeJaowNjFeRQdpm/tpj/giBppYlfm6wkECVxwAi +6wSV+dqHkEs/1fI75yiygkjFQ5nim7TWUYKucsjWLU5WFaC1SBJneLtaOplIM5p/ +IZRDiiNGegDXva29OOb8iWnOLtWxrZTUBsvqXiJhzjc1+zF0GTbf0+l/1DsHVtUF +cBZ27nAeLPWP5cUBOaO1z+QS0FTqbuPKysOMC6U1Myf8IRxO7/RHjEcCyQIDAQAB +MA0GCSqGSIb3DQEBCwUAA4ICAQA7s/dfoaD0XU+dMWJyHwz1efyvAxmdyLnfCdgJ +zTS+L+Ft85GxZiP/YxaYP2qOzyMGr1ZzuD+YIIE53swm/aaRBl4Z2XcLW2v7v23Z +0xUyOTEiro9RjCb7yWWLuAoSNHwVnH+KYAQ154/Vz3vPe48Zbx/AW7unpFHgFPbg +h/5D8PPbjVEQWio4F029jy7tmDOsgghv6taaqVIBHMtOwcpf6KpbmU6eg93uwog2 +qlooyJjYmaApFnd90WF1qV+4N0DqMu2OyX4dtLt/HQy9ZaHZ7hS60Wh4CSM56MTp +hMMM/J5ZKHx9zKR2t//gd3VXOQTx+N4L2ZUo6YLblkaE1mCXDH4uWZjGcQ6OcMrg +bxa+N1AIoT0oSzlL0ml9hbK90M2g5whDV8K+rxyOdX7L4aCUFAFK0OuRKIDPa76g +B8ZSw2lJcvbie75+2PCZpYP103Uug0GwgO0qBR1FBiowQwsA9K5NuqQ6jwvo/nwA +nslXzbBJpElktU2bs0fSUBMb7VcLmO2ec+eJ30Q4SZk2KDkvvHbJicHTeNZifww2 +nS56TrHFde4k85/5ckNtdzzpi5Vo6+bomfUb6Qn4zVqfBOjqycMdksWy8FbjXHsa +ld28pvjeLuGs4RIQ9ndg/yZD2DKPP18F+tz/m6/UdqNIjt7z2ZFWl8LOxiA5FA6D +OSJX1Q== -----END CERTIFICATE----- diff --git a/dev-deployment/environments/certs/vault-ca.yml b/dev-deployment/environments/certs/vault-ca.yml index ad8af4573..9b59813cc 100644 --- a/dev-deployment/environments/certs/vault-ca.yml +++ b/dev-deployment/environments/certs/vault-ca.yml @@ -1,28 +1,28 @@ $ANSIBLE_VAULT;1.1;AES256 -61616135316636356431316563363636666236623532363461316265626236623236376662663739 -6633323637643333356636373234653731323934393264620a623634613132623061336265313135 -37323163373963393635373934663462623631346162643439303339313738313637316234636364 -6363303932313833320a336434333435373431366433376135343263353863353866396138326461 -62653832386237333637343161316634316661316137336235363431316163313237666439346161 -64653765353562303763373435353338326631363664633438303238323233363563313066323463 -63346238303566336362346430316635636437376431393934366162646431383133376264633165 -36373264353339373864386433663364633961643431623066336136336461646236663832356336 -34333366363234656334313463373764373232613864633264323332313963636338663239626662 -33633131653332646330663539343834373466663965326139383939656333386334393930343033 -33323265333063353034653035383036613835343538666535303631396462393964383638333030 -31313238303563376337326538373965303334663131376665656230306530663337346532613338 -36333033393962343738626235636433646531663339666364613661343738393333646266366263 -66383563303933376162656666383230356432373632353434666632666538653761346333656334 -31323063396636613636626564316663646436663766326138306464326139356562343766363961 -38326530626239663035396365316234633666303830383937373133633037343261646639336263 -31643236323961366330376362623836643865663739663836316633633863356239383762356433 -66373131623139333662303462303331616535313630373262656539346263356334613036633535 -65636633306632373262646262663038376436376431336362393061386464663739656438623066 -32373662626331613632646632393837663136366338376132303236623939643235333632343131 -32613864356534383430383261383636386333393165303135326163363864313361636536663661 -39393431386531636330343362373931623638366633373639636165643166333563363335346363 -64653264306531393832336265356337376535656433316362623539633961393931376363353338 -33643631343333393463373861643966316261363361616636666433316366396539633232343562 -63613962376663363230373733373737306337313339336339383534613732666666613232313036 -62386363346236633039616135336330346561663762643039333431313530333065366430356666 -363266333338383537633461323366346636 +38366630373136613731333339373239646132656463396237313530323739666239383837386635 +3764636134303237356266346234306663306433323130360a633166666662623763376663303865 +38313037633432653262323862366330343730613365333637386663396135653939316239353833 +3365646536666635630a653335396538343532653165373965663961613838306336353438653338 +62613130313835373637363463363736623636313435396633653561633539623434366233333538 +32306333336664643232373061333064653764336362643536333635626539616566383964363235 +62333265333262306464616464646335333635386630653339336365643336646535363138383836 +36633937393563396663326266623731356330383963306463653634323862303065656365383739 +36326539376133626461343535653864626566356261666263303466383131623130613232626362 +64323930323266346463613363386163613963316330633261633239663632626432333338373163 +34393439336538636638353734613735313864376137376466336636383035623932383038666231 +33383837323935653534356139303234373066303963633330366330396331376633323939656231 +37653535646461383264623433346633353039643262336332643430333538393362663931383030 +35326437396161303063313134376630393762306564636365396666316230646534386537393332 +35633735333566613564353936323935656638373065383764356463343538306630616631373038 +34313832666134333836646434366332336338626533323136326436646363613237623035313231 +65613962336230653939636536326336386363336264663861393231643966353836326461623334 +65313032363039643933313962323065663163366566393562376137303964396461373031646131 +36663438303938613438363534346261356163323030616438653638323232326364366635636639 +37336337636138643063626332316239353562653161323330373865353664316431353830656138 +64363733356365313834643634313234633234333764363833663462366464646563653630623237 +39306334323731633065386231343430336132666634653865316233336563396235363934386532 +33623436643238643362646236383231636264633362333866613638353833356465383365343631 +39373265366331633063323432326636313866316436353238346634336636356663396362363537 +64353131666130323833393764323961303165656565616437626166653535613166383039316138 +62356532633730383630623264366464616331356535313830656433663465356235333931306436 +313238323033663365356239306262383463 diff --git a/dev-deployment/environments/certs/vault-certs.yml b/dev-deployment/environments/certs/vault-certs.yml index 3ae536172..2309d52be 100644 --- a/dev-deployment/environments/certs/vault-certs.yml +++ b/dev-deployment/environments/certs/vault-certs.yml @@ -1,79 +1,90 @@ $ANSIBLE_VAULT;1.1;AES256 -39353930623063343261373863623465373430343732663835316431316535383334393230373338 -3264373662623736363265623032613331653262343635380a623265653862663532343730363563 -37386435323830666538346232373565353036333239663936363435666336343031623638393036 -6666613432346161620a373634313637323137633134646531316137343339383334376566636436 -36363565626363633765343532616438323137653332343561326137376239663335303961643838 -36396232633430356535616439373161306362313330646336626463393733643230313437643861 -37653166333764383634613435316239343361643763666264353437373064346435346338613561 -35616462303466373736366562656536393534613866366337653037363439313934333561383234 -65623936623262373532373735343132373535306232323535313932643466656261396162393433 -61333032333139616564633032313363663238393934373462336432326430653139646365383064 -33303434333530303361336437646636313236376536306639373030363663663564323162373762 -63636265356365636536366166613337326331326532616239373030383966616136666364356139 -34353861386537623665346263356433303766636665376639656231366335366339646539616661 -63663664623665303631306535346438636664666330333630613334353239643932323032623865 -36313137636633373735633638383033626364333730343137613836333565343831386666633431 -37303366353739323462373238323135653734346634353436353736386130643365346632326565 -35316239633034643134643761333730386135633363646239633933383631303539386530326363 -62373061343361393932353632396364646465363863333332393262386662643436303936623131 -63373063303132383438303261363835316638306631336539316234353161346435623863663866 -62323237386566613763666636343837326466356636643735643934663864623866303433623838 -39643864663333623736303134316333303431373862643232393539613061383730336638663334 -38336232333830346139383534663439363264643466623633633831363832316334333435366364 -31633334653266643664386138383263383139303264613935343638373961363034636439383561 -65623035663833333866333561366532643334303332366631326634643339393430373934646264 -61373064353766613564633964353864623364393633306231366131393532313765623934613234 -62393738653339663463633635336238626531323830303165306333363931396666366534363864 -37393463333563613665363131663235646535343964333861366634653932326137326238313936 -32626132306236316637323931333331656331666335313064616366303838663731306238653963 -62393765336465623732336162646664646230326139356466613734353836356231343965613731 -66393433393138636531613430376266386633303866663134633833666538336663313235376665 -32326664383665356633623830616661616531663535383330656663616437326234393966373766 -64383833653934313833343433373263623265306139343561336135623633303633636332326363 -32626535353764356232346330386235336231333164623238383266663139333734623739386361 -61316164313032386262333839366364636235653930656666323630636638666565356631353237 -61316638376130393235333639306439656336383530336331396261363465633061306265613338 -38333634376662663237313130346234663963336535333731313631306437336431613130616662 -34303136323139333032613431323263643230366164303334363138373466303034663032323139 -38303931613466303164323361313930363530623463303839313966383233343362663636633764 -32343237363139636536653961643730623463333962393864383439316465333863373036386435 -37313464303136363533306366366662303338643666303835313130373562316634613136326139 -63373833656664643931636362656336623361616236653161396332616231386163373434313535 -31306334353235326166386161323163666364316534646163326335306464393062613730333938 -39323032643938383863623634323162353134353630376563323739303230393465316536373265 -61393963646136623132636534633239333066363238623231646636613761656338663239646262 -37386633303538326232326565626466313930643762623463636238653332346130653461393436 -64633939626464353930346530626535663532626632363132303739303964316632323934393032 -61393934373130643130343961623931613064643132613461333064623331383762666338626433 -37346362313931353039653037666366306632326565316237616663376338636330343237623464 -66393335666639336237396363383235396234313034663433326664313531646363383562643738 -64393965353935303866383737376639396237633866366537633663613934393762396639666338 -39373533323530363039393434323961313637626162343761343632393731333630346531363734 -64626363393761613161653637333865323434646239333231646431643434373838396438626661 -61653235376131393664333733316539333361326131323934653661386638316366626632646331 -37386639313833626564326131663530633233333330356136613063356334383131396433336265 -30643931643165313265373737376434343638303034316334616536366564303633666662636434 -63393762326431373830613137336136396235386138333964393763366138396533616638666364 -62613931323063373637623133643162333763666262346432393264613039363331346166653566 -64303434376638373961643739626339363565663964333237616433663630353032363130393937 -61363761303337313734366437343466353135346366643062323033393338306537346234303166 -61663933663366313962653862366533353331633336653134643331396133313130613935656539 -37616464333866343035653965313665333035346134376635306461393834313261663862636432 -37353138303562376135653132653536373866646534336237656464613933396634353366613565 -30383539313736316565343963313930323133303839383830383564343434316166663236316663 -31636330303432383132646630353432366366353363326131323630356633376634653564663637 -36323035343331366161373437363137383335313832383561326330653264626334326536616265 -66626232626631616161313631363766656534373338643566313366353961623232376136356439 -37383262373936393139383936633332326366653466396133663938393261663164616139326365 -62356632373538366662346533383035623835336536303836396134346666353361633430356265 -30363635366263646131626638326637363366613734303065656533646534646164633730343964 -66306232663866363332616231336365396336326562383663386463306166363434313034356466 -38636631333161656261623338396133323433663362636461323663303765353834363137383430 -32386165646538636666656432333563363734613237386562363761623137636566373264303761 -61616166366664626639393861343336336166313461646336343233363166646563383562646537 -65636334613763653330353336376635303239363965386232623435643933306139633138313538 -32373835363466386434363734306334323236636138373638663038656165643137616564666535 -34653266643161323463653731623832386163393664386639633537623236613737313131393033 -31326437623164616637633538336163373736373736383330623366353339613738653863636661 -3962383937343862343139303537663962376466663635613839 +32663436356165386336376332363135643635633037366138333538343335333166613334303663 +6662323930663866323966663237396537633533303962630a363434373237383639376337363131 +34313236633266613238346561636364333437383237306130386637316338656662303639343364 +6634613561346439310a393938303961613466333838363934396630643461646262636563303332 +37626633393434656335376162383538663430383139646136336136336139616530663261326631 +65386430373431363661353739363230666534323863306434333839366637626539643139636137 +37363565373830316434393032323032313166326165326664383832343734303162633933636130 +61376430373536343137626465623439313866366261633263373038326135393438636635393635 +31643566623830646239623962353666386466663463386230633462393939353264623630343365 +65623665616437393863616265653366306561366635653165343432383461383335333936363165 +30646364663436313330396339316164393634313139303661336335393664633665643138396635 +39633264643263393737396138353861616263643564303962346461656164376436326638633536 +65613431306532353937326164616139373263393661356666663335326363613364343230316161 +33626339663163373632383233626432646138663032333864383264313666333464326366383461 +39633530396632353835393731383064356332373438343662613438343733653962666133643066 +38613763353732353961363163393332643339623233333962303762316635303461343265306564 +32313563313238326232343430383432376562326561366235613635356232653166333163383261 +33306438363732393432353465616131353266646364626264336133353038336539323266643138 +61663163306465343738313431623838663531313239333362376437376562386365323137356661 +66353361613436613937376131633032386537363533613934363361373061616366316531656338 +33343264306333626262343234653639636462386539393365343466363666616266303834313537 +62616365666662386433656431356135383139613564343933353761623362333232646263613032 +38613261323839373232323430313533343261316564363734353635376437343363313331353530 +33313839663435616135633635336235393332326464393964386331333133666634663231633034 +63636534643663323636313235613838346436323762303532396234303663363130653662323462 +30393031313230323063313262326635663337393465626237363932373537633666333237666537 +36383461666534356532653066663632343434353063623833336536343862353531386664643065 +63343031666631346430303231373531363932373338643264663537383334646565333938303233 +30323363666534613431313830313037333061363365393931313735626535376563646538643639 +61653962643634386135306137366131313135646630356431323537393664633832333037653432 +33313632626465346362343566316537323338386433313530363863643764363637613962353265 +37333930346230313135363131373933633832343831616536643430323761633162653038333965 +61666366303936306634333563326163626338373561323361393065666336353264393565663061 +37373132376338623733303164643636373630366630373136616662386539613539663936313435 +36666132623139353565386165386262393433653763663933393535626334393363316537646538 +61363966343838613033353534623566366636333837653163633330343966326535393161343332 +39316665363864356135323933613237313835366339393531366661613961346561656533376162 +38373130313437393762656364353966316138616565373863623865643365646233373338353738 +38346166383638303261316237623163326634643434353261326332633539633034613165626534 +31313635613830613639393731396261366465353737636262323531623961376432383632333933 +31666665663561633066306534643535323363333064663732313739316366336362646663373134 +35343339336638373537643037643261666262643863316530313031383936326166313535383333 +65653730376634393239626135386536613838343361353639366630643839303666633265633533 +33643130383736643636396231313361646538616138393338383432363933616438316263356164 +63306262306336323839333065316132346337663632636266303835303437326663303834396136 +38343539623535343131303265303463386532613038333063356633643564376163313635373837 +35616366303233346533313039323039343161343437633130653061666430663633643031323362 +66343736663338346261393562353334353939306466626435393838326332643163313432613339 +64633139363935623535346332313739626531363265313836356363326161373734336663613937 +37373632616132373738353564663331376433383665376564316539363735626263643537383463 +64326338313234313137333437373430373232613434666362343865353565623837313265313765 +64613132373439633034343437396132336238636538343430343730393764326235383766363665 +64313364646632323562313431353731343564343066643034333235366336336531653335373564 +33343332366431346335623861623565306562363536356238616438313631386665393735376536 +35663938383731366566326637363632613533356561346533366162643566646666626138366462 +33313331326362656238313230303435663033326163626364313339313130356331613335313630 +66363432646163316461386334376333333737663762393337333566643837636232623064383430 +39643062663065663166643762363565646536366436346331323833326138613037356235306166 +64333337333335356330376531316361393962366132663138666538326165306466623236363136 +31613565653165323337653531356662653662353835363031353465666333393431393565373937 +39353739316563383832336565336437653830643438326231616539323937663666333836623135 +62303033386466396664303035643466313733653338326262303838376265356464613861306131 +38336633313661646138303437356365383933323632356362643264366337373639613835323031 +39323439393264303462626430376136646436363562626264346666623835363163333839306363 +38343033313366666163386635666566633966386332636464616336316564376539383335333063 +63623838663862643533373034353639653633366538383835336632393537613938653535636465 +31316238333938333932623263666565316133396266306630626361633131383133383631613965 +38616338663961663863363362393136373530326638336662306165633634663134663661663361 +63643765653230666161346463326335373230353666346131366366666432633330663463383136 +66343565356465396261366430633934663632396364333637353631626136613337326162356339 +64333639346436363935626663353837316532306330623666333832383033303661356635623132 +35633139343336333064643435393665346565303039383465663233326334313538623731356335 +62353465633662643361653864376562653134613637373931363736373934663366306364653163 +63343962663837643438393862373939623637336262323830346562356634353665323737633838 +35613931643661623135666463383434303065613061306465363232653535393438373132653064 +65393465656363653239383661373264636330653761646666386331666465376537386538616131 +65376462313263303638626533383462306263316335663135313430373263313761333131656533 +37303337303835616236383464303139313333393139313566373161656335633937356231313339 +34326533303234646135623066613936373230353839393262623232373761623334313362393133 +38306533306464336264663530643562373033633138636132643534386134633937363439393266 +37306439383035323362306632363138643835343366616133376465303063376432313639326631 +32383132636362313730383932643131343938616564336437653437626632353435343765356166 +34393239666637336661363361663736626531653031666534623262393933313564633863313739 +38316664366639616361653336333533313966336139343263646132353163633431323337363038 +33363030343033356661646339363638373363623136343136656437316366336665616562366132 +31386637616463663365353263386236613066626431613432386532343030633464663037613434 +38313633396365376436333336366631323133366365343464663639623765656336333562333931 +33613232313137353666303236306664336562393462646430656434633230323939303031356265 +63346262623465346230326632353135313632653939633438393637646539636336 diff --git a/dev-deployment/environments/certs/vault-certs.yml.example b/dev-deployment/environments/certs/vault-certs.yml.example index b0eb1c8e8..cbdbc7413 100644 --- a/dev-deployment/environments/certs/vault-certs.yml.example +++ b/dev-deployment/environments/certs/vault-certs.yml.example @@ -1,20 +1,22 @@ --- +client_client_external_customer_x_key: changeme +client_client_vitam_vitamui_key: changeme server_security_internal_key: changeme server_iam_internal_key: changeme +server_referential_internal_key: changeme +server_ingest_internal_key: changeme +server_archive_search_internal_key: changeme server_iam_external_key: changeme server_cas_server_key: changeme +server_referential_external_key: changeme +server_ingest_external_key: changeme +server_archive_search_external_key: changeme +server_pastis_external_key: changeme server_ui_portal_key: changeme -server_ui_identity_admin_key: changeme -client_client_external_customer_x_key: changeme -client_client_vitam_vitamui_key: changeme -server_reverse_key: changeme server_ui_identity_key: changeme -server_referential_internal_key: changeme -server_referential_external_key: changeme +server_ui_identity_admin_key: changeme server_ui_referential_key: changeme -server_ingest_internal_key: changeme -server_ingest_external_key: changeme server_ui_ingest_key: changeme -server_archive_search_internal_key: changeme -server_archive_search_external_key: changeme server_ui_archive_search_key: changeme +server_ui_pastis_key: changeme +server_reverse_key: changeme diff --git a/dev-deployment/environments/group_vars/all/vault-keystores.yml b/dev-deployment/environments/group_vars/all/vault-keystores.yml index 0e85e3dae..594d6d9a9 100644 --- a/dev-deployment/environments/group_vars/all/vault-keystores.yml +++ b/dev-deployment/environments/group_vars/all/vault-keystores.yml @@ -1,51 +1,63 @@ $ANSIBLE_VAULT;1.1;AES256 -65626262313534346665633631323931656363663162626162336362653965303364646639353239 -3134326331323861333638333762343738323838343366300a303835326466343137626361343232 -35666565363830333637613434663461653431663039653231323766643530353733313934623635 -6132396130336636610a613236653163333139363363643737323066373432626665386436393038 -35613865313437353035623766626261326166356436333265303837636237373037373566326430 -39663639373438653335313865636264313735663863363830646635303339623862623932373236 -33323762636534653835353137393335313663653238653437333235626532326333653734303937 -32306665633135343634383732383737643637306138363535393334633165396466666532653461 -37376139396638383965313632646235336235623365323030383935383138653162636438663137 -36333133653638663262623265363731616465613131633739316134613966353031646232323039 -65356530303636303835623937326235353164383562346434386235613032366361376665633164 -66376664396364656664376130383535666365306230643237643863653733646532653563623464 -32353564373936376465333738313361333364336630393463616462653239346161333839363938 -35643865653635353236363265663363353464646433383834616636623464636136653831666236 -64376266363961383236366562653639663764333235383965363664346636333231316139316338 -30636334663361623961616335393661383265303134366538633366373133383136373535373566 -37323135333261373936373637383461303630363066623462396665363134383265396165336239 -66616162386639623163383962383966663666636333373039626261613565363537393634383933 -39356330323161643736396230656234396538373438303964613337623735343338633766653062 -34333432663138303734646637366231636631663263646537353562363864643039626462386262 -30663430343439376136636561303034653864613761326564376432336462613437363462353766 -33366561633461663566343432656433393239316261386537326637303564633765623666366561 -63636632343865326135373666373630353930306238333133326239376537306138626134393862 -63313637333564643530383565366265393764363162346565613863336633333863356462323138 -35343862636636343164646265326439393732326337363331643939646636393964656366656238 -34616135383236613530613935393431343237346632363334303138626232333433306134346632 -64663030386166356530363736336435363264383638366263633761633636633263613834636332 -36363135613861386662306166663535343966633037653263313534373466333530326637326662 -35623837373963383436326637323439306538316565346632303263626462353537616365336138 -64613434373333333734363663396465613436373163633935656361373834666232373830366566 -35336361376130333438663137383934613139313731643864316130343432363739343037306638 -38623031626637626461653765663833343833663533303830646536313939306439393536663733 -37306162613938346635373563373431626265663266316262393533373035653031663936316666 -37386166353935353035663663353233323135366433653830373164386631633363643362363638 -30653835373961626436613966643964383932663861306136653930653537653064393436663331 -62363061363032623730633139316164653538643432396366326137356236383231346530393066 -36346262353536393732656166326664366532376263666634653730346561353861613031393630 -64373662663063323539356461343464333061313061663536643233323239363738643036326437 -61343432393434646639633130303866373630666433383336366139616436333430633736316463 -33303439623539626165346232386464303039373462366439386237353861613037623139626262 -37383566663731656365626164653934386164303239356131643362353430373836313034643336 -31303362613330336539316534333465386232363164633665643263363830643037393838656339 -66366637616232663839313931663964613365336630333632343764626139633362623430383633 -32373561656365393930353135323830323234363437623565646664313136613164636637336437 -31313464383061366461363066613531656630643339656663323665616630613739663766373561 -38386134356330666432653938653036366130613863353234373634623333343763343535663031 -39663837383532396336643434623263316437393135633934333631373064346663363830623163 -38383665396534333639353537643762643635333565313732363730396162613133326636396534 -33363332313363636630336166626539396335643232656633326637626330663163653564373932 -3633356364646138336336623361646562323561383564613634 +35623636346434346530656531356437656332336336383630626631376533363135333637633262 +3834383262656332383634323030323237393266393334340a373832326333336633623934346461 +66643637663065376637373833376462336334636532363563616633653331343333386633323036 +3664626431313038310a333365373466633566633033336339323032393131623765353265623634 +39633739343161306634383039366162646239393063373533356661343136383562303738393934 +64366162343965303237633532343232373032376538333230306363383339323333396562303436 +36363765323461616131643266323166616635323566396165656363613165363739373164626138 +65626462646462393064306638303334646262373533343366326632333232306530393633363163 +34663437303261313136303037646166323235343165363831386133316465373836313534343639 +39366230623763326237663361313830376439393635303561356435363361646137356535373262 +35316631623134643634633238333734643162366465643965386662663064633162303133343166 +64383639333861383164623761386134623230366231343835366365326661326566333564633537 +61323830646435356263623130643035326439613230323862363833623666386235353361313234 +61363336633730623631323830303262643139373536616337313865646237333865373239393637 +62643033396462666531616634343633653637346534356564643266323330663962666236636534 +35336266353338373562363764363636323864636162323539643231633831663836333635313334 +31643036656562646534623331663930316164396438323064323033636535326230636535356433 +37323231613637316339613465613836303865656661633932626436333863653166343337346535 +32346334393665373765666263393138303035376631663037323530313237666462323634616231 +31666265326265313562666164333665366638646138336337366139646335616337616431636261 +34643934343964663837353335623262646263356336303962623036353566643963373562316436 +34323563393262623433666666616631316330613536613962623362623665366339636131323661 +39303964646235346633346261363237646333663133656561616233613431366263393032333435 +65303236316466323332626435363736323031633737653138306233316234306661633639353933 +34356438646236313831646366333130643065366639666332383637613338613635396435323661 +66646666623264613434313033666630353764656465663637323866653731346261383338323966 +32636239333163313363303837323463363434323563303433633361623966656561386437656264 +63343661393064316633313161316238336131623665303034333961653931326130373230343833 +65306431393664333562323836633838366163316138323236656631343064383864613834616236 +64393537626363346165303838363864343731373435386231303865323837303737323764346663 +39656136393161363663306362643939376239613936613062366264623339393163626265623931 +62323636336233633063643437376665383433336330373832313238323235306338363439383061 +38316239633337636534643338666266386133623930333461323739666662316130306238613364 +37666536363036663466333931306436396635346439323738636235646330356639363237313738 +64303734346364396134363666373435393363336161386337643065643766626637363933396265 +30623866633334393365623034633662646235656333376631383662326161333236343962666139 +34336232393236636262623537343730393862363136636339323966633033393366363561303238 +66363236613033393633396330616561666335633263316162373066643737646162633833653033 +35333563373137633437333830626164363539663136346635323436653062366136346666613537 +32653062646633383966643030396533306261353366346237333465643937656465653264366362 +39356163656432323432623237326236386165333830623439343530613635363765623033323838 +34393632316332666434666130313162396661393230663933626134613331356435653936373366 +32336437616331633064306434303863633036373466313861333539303137633434666139616533 +31636162316432356665303230396231656565636535626539393763383638656363386635643366 +62396132303662313431316333643565323631346435306262356464323430396237633161373037 +39656336663533616161393662343963616165303837643135303562333731623764306435343739 +65386337396561653861643766386365333963313435636334643533393434643937383333613030 +34626532326136323439306437613630386532313561656337626232306265613630653864343036 +31336631356539646666373630353161343065376664346162343865383662636230306535313066 +36373631333837623533376661346336396136663466303262653439303431656263633436363433 +36663633623433313539656466363339656338353438346339343933306561396437653134656366 +61346336633939366136613661373463386232643466643262393263313066323032633738323564 +66643938376561326663376564663736316635663937373531396538373266313962306632383630 +64316661656365636265363038323834343938653465646664333265306436326238666534383535 +34613531356637343139316138383732646563303336633262353038313034376333393536623835 +38373130623434373337326462353764353231653337666637393535666232353462393261383432 +38303866333365353833336165333365313239303431616233393339626235643363366663613964 +64613736663830616332373437623836393861643933353034346432653139613666366330313662 +37383062323634373964306363633133613539326532366533366162613262396261336165376638 +35333661653330393063316663643837323539303734663836366536636538333039613337383436 +34323838316537363562383432376333333265363238633030346232316230343938663065333432 +6130636539363830333361323236366139373965366336653933 diff --git a/dev-deployment/environments/group_vars/all/vault-keystores.yml.example b/dev-deployment/environments/group_vars/all/vault-keystores.yml.example index 3d9867268..2f361e344 100644 --- a/dev-deployment/environments/group_vars/all/vault-keystores.yml.example +++ b/dev-deployment/environments/group_vars/all/vault-keystores.yml.example @@ -21,3 +21,5 @@ keystores_server_ui_ingest: changeme keystores_server_ingest_search_external: changeme keystores_server_ingest_search_internal: changeme keystores_server_ui_ingest_search: changeme +keystores_server_pastis_external: changeme +keystores_server_ui_pastis: changeme diff --git a/dev-deployment/environments/hosts b/dev-deployment/environments/hosts index 621977c33..efe3736b4 100644 --- a/dev-deployment/environments/hosts +++ b/dev-deployment/environments/hosts @@ -32,6 +32,7 @@ hosts_ui_portal hosts_ui_referential hosts_ui_ingest hosts_ui_archive_search +hosts_ui_pastis [hosts_ui_identity] # We deploy only ui_identity_admin on dev - same certificat is used for these apps. @@ -48,6 +49,9 @@ localhost [hosts_ui_archive_search] localhost +[hosts_ui_pastis] +localhost + ######################################################## # ZONE ADMIN ######################################################## diff --git a/dev-deployment/environments/keystores/client-external/keystore_customer_x.p12 b/dev-deployment/environments/keystores/client-external/keystore_customer_x.p12 index 1fdc57b3e566e81b3b185d80fdf1922bb3837b79..f4edd801daded7dc4034182bfd8a7bc199769c6c 100644 GIT binary patch delta 4312 zcmV;}5GU`FBa$PKU4PC-i~w5?V&DP-2mpYB2MB6Q{Ej%~f`tnOnm*#4l}9yJX|q!t zW3RFFcL(y9=%Fxx9=AF2KizLfw6*;Xb^Yb;dKbTIDQPRGjjm&NsI*vy^>LVlHnqi@ zoC&U2G?<inN4Fm#&-jz%gVFp-(+Yn5Eg=ogFLm^VJZ;4wet+@Yc-x+bM%E^3&O%G( zgnJ73zj{u|iOXI3fN_z$1h*rconzBOfObDHRyik6?qVFnQLOJt@FH&O^dTA@E8aXa zJX^B=&KU1)u$~MHt8-o3584Vu@U?ojcvfY-+r~x>r?=jHVPu!L#Tvn6{gSsQnSxJq z4iC2EIA|LXC4b$;a%0oV)4bsQe3h<wV_?i8;GW09O9pwk2+OX7(ahm|F%Nw?Ik#V! zabaUE((s$jo`fvaeVhB0YR6^$pLO7)2RfRu;X;w<T3%VBk>fhm?ijr+?@ZPSgU4w_ zU*y!3)!(o|fF2c(_wdI|0%Ph)-eiheHv@ORp6HuiZGZ9BsCOMtol9{SR2x!?<rW^n zLzcq{XAIppThOhghY&()IK~D1FlC!NMeX+h3GTu2j*u_j)U9NW&P?;dBW7s1dV^xF zSuzkzD$~U5&pY!2x46DFjVTd2^k(S0X;@=tHGyTuCL5(`JuujU2YlHIMY7HmZ8fWf z8E1_Bqkmg;NczMh6)<yLTKDNqdUV{LwB#?HEJD)7&51E^Mx6;pK@ylnuYfBs<M_6a zI&8+xEDwdsQEguaG`%ZNDK*QLAYKHmF)^ox-95mKDRjuZWM!Dzn0L4pgc}-ou_>PD zNB^FB<Tjn?6CMDhEjvb~MmBUoAR08<=^t$cJAaf)2N?^yHdUWzq7j?aWoV*SBxbA5 z=s2=?c|P&JTxRrxXPWb-{*p1{VGly^O>aB*9myj3Z%L64@nV)WCp5@XPMu0iHK=x` znnLPsBGdSTOFs7({PEu#1=SoyB91Cxo1pnREZP3PsQcQ77OK94|BR^AsG$B1K0QLQ zihreY@E6mKljWhwswVKL7C$D9?DwAr6C8qsO<(4b%sH-JJiii6H?S{Ls}f5mqsI=2 zb)61<CRPzA(_K7R$tBpnRM8Nnp*9Z|Ej7f#?Zf{+uM%hdi)3ST(Xbz&QOhCO4!jK= zZ~c$Ug#Tn}eHkjZrt*?2H8l{NAGQOruz%Jp{4QwKVqD8mUao6Bp8n5i!R|i*2qYkQ zqG*~D8`JS8$Te{f!ekJ(bkAoc+tMDdyZI*%tDT8lMvcN)*@pxL2wrPf?L`N6@u~dg z*o>OwsNxDNA;G$9MzZ-+uC4T}x(kh+`w}?Z|98wHs)-$$^_HYWB8kUQ0SV>;e}6!p zykx{w1p8m@po031H|;$mbe`HL!^~pa8T%Y9+%V^9jkaDbc4?<A8n)mB2Yp#$=4L^i zE+w~*Q&BI=?uD&xc8#M^_ey?9VKSQ)^4sLG{LTagVTEwoGOZq40TQ{$yvkt`M_o0G zxO*?Wf4AH5uhBOpEzmo1yn2mm+JDO4{UJ>AwR7NPdq@8c7YuL{_W+zsQMpDo!nZsf zRJ(R<g0%bCyVXR}=@7Z0ah!J9_O!&}DF_3V`1F2XhUP)GJ<HVvj(>*h)EH|C<#^cY zlq7p;l-<U9#PR0>^3~dW*pk&2wO}=Cl0<|TR>ve^Jua?(sS(ZFDBFAzRDXM@2)mcs zx}HT4!zkO5ys@ZIx}Rp;MGVp5?mb0&Qzdbc6wu#5v%_PYiA5Aumu*U5x(#GrVVTU8 zs))Y>doTNN)1%P)L1>X@mE&D?W0z7#C+~58(X>{>IXkY`dy8m$Ybuz6nC6#}t-hO| zr|U$_R~g#*f;nmua>Ne<aerHe7K^A>MnQ}jpC9!zBAd2h7FfA(j8Jny1YSs>ZQ3!* zNn+TUl&^an;TY!5!LlE#&clP^-rDg2-e|8miU~w=D29vUL_*K>JA!duQS<PYr4;ii z!CHu*?1??#;%U2uSkqlmhYV5Zx|ti<vjy9^-=AV&x;OFrP*Cy&0Doa~>li1<oQ<UK zQgxjfrYj3Nb~SLiT+ivF)=ea3b*=>wzoFqRPa49O-0HvbZS-&*bu*j-DeT-LUHZ%} zG%32Cj-*m0?@s{eH|yqW&W}jE6!&vqL#wt#LD9n_P_y}s0lXPS7V8d`fMVg4yG%eo ziLoexL(s!gZ1Nozjeo6hrU=Q8e=lh~`psW1{u_~{apM2rfpvRXpeq5|#4$4H-aVR; zSm46)1v>|NsCsZ&8S|B2@QAyn+%h&RxWaMeL@<0a#GIJrGZ5`JBo-+~f5}VoDM8Y7 zl>E1u95*J~`;+hToKN1^@@KU16eZ1+g}VvGJo=2zVBMas3MSdtx!zvDh6C0ZXplF5 zR7ZGIAiE+DV(bMlQNHDgu+M&r_4>AKlXVA1e=impK&T%pT>=6K00e>wNU7%jd8F?N zk}s&hokfD9wVfv!%aS4tS>Ka)X>&tlaobLe<Y#4Zh*LFwR$uCBDX%1~D_T95LG2QC zl#&-ji1U>AkiWg!&7_l$r$cf(N$p$ok@@FoF-gW3WGempLje+8P^#N+)H2}ZSsUiE zf2x_NHXeR<+TIB$cmN*+#_V}*%ijSMK^Eb3<)qmoV^vqT9$|JVb;>s^=Ap;z_g_SK zy{%*El~1>!V)Z{#S@RRK6Y_kRIfw$A`1GJk%0S4_5IvX+vwF;1W)a5Tp5Ox)Ac~@^ zRnBG~KL8I74VmdX44jbRt?U)&$tkaWf3}Fjl9$6LugG`@Q|$BVCq7k0c$W!Z{z=gJ zxvc?qt_>`|-ndPiD-B^qz-Pp?aZ3CnOmH@;TDJT?UcpZhT}HybS=IUwoK{&YR#H~3 zU^yKEoQS?2-y%&eEuZKxLj{T8^3+ZnGMs&LR`Y+Z$246@|G5K<a$-PZz#}gKf0l@l z1zT)vCdKeXhAh<(nMAMk(g@RR)QMJjy4@Z^XQufD!|z;{w*JPXa~gdMFjUai<G<O# z-*Ps0+XmXU`(9{BMw_Z69Gb1BrOUnRajl=x*#y_}K0ePY6u*Z8qtEDV1^bL8nKoM5 zOAXU^I55@|S&g(R4#9}9aI)V|e?dex!p&eeUWgBIhVhVfsoB^u(a+Y;w^wca;Gebr zQONv@;XSbk-=ol$^seZm(=U1My6?ww)wp=H*~oLixJtrtJ=+SPu`n{WlK<6c%FJP6 zjx^>5`DMULt4uYl;Kv*KzIM3JP{1>%9jq(nS2(2LmABzR9Wz(bGv)8cf3p&{WFcf% zaYIgVxCa|3XljM@5gJck!#bAP&?MqI30DQgEFL?3>xx4>Y8s03CUY7B&=-C^1hxEe z?X|k`bbWlRIg#b3?#thHTh<+}C?5R2$Gk^3CA@r#fonR3WQ^a0b1sG>cDj6DAg!q3 zh9R%Ab#>8u0S&6Ck7~3Qe_1nn^%JMdQ{Yhm(={pD`ItL)V%!_BLC+2L`)ZOK+*K_q zjV7LOJI-jERaS2A1u#jWY#99eca7zgj>-GI*sHb$K46<>z1D?~m^KSW#mdXm{y?sY z$Je+AqnVLQEq;iE*J;gp@0WVWILvT^E1BbBm-gjur1$CeH$y8$e}coxjkD=X$FNxU z^G#%z7D9XOomz(UCda2wp9$exCw}#)(C^U9giBcJ!^&#CoV=kgS}`IMYJPZA%Y$wc z`4)+Oxpwu~QarlFqz*^UT10!&!!<+`(vMRa6@YGE%w)z}%sKu(O!jNcE@G7TbCb)j zLj=UjeKQA7T?m64f9%ZUdVcd`>t>o{qI4*b_*=6;ZyOfF*XiZCF2Ew8?H{+rx(`HN zcP`B#3%ZR>v_Q*PnAnXi`0eoD;5dKxycYgtL3CLHJE%ncHZ!ppzy#8bvBvdR<548{ zzukyJGDwG*Dx*;pT`^~!0oEm}qE|TQ=^uzL>Ab7;XVJVZf0*bttrEpE)TNRX&(wT8 zv9kr^;f+@^`rT}10d9IU{ORqP`o?+w_;w`0B`)6q(tWE5MJ#0oew)57pd9jgS;weO zA3rxM1W>{wL&;!sXA9st<WG64-ML?nqfKrC6zoIohACXB42=QL*Vsu6et!*?niWWI zXFuOHb(5bJf0WEdB;-iNn?v#;y_VTL|L{W#=lN2CczlUWZkn9eKBhQ4HYijT0`jem z=Ol9q>>y7DH{~%H87kYhpwP$c!&_^&VeEqxi*+4z$&;|b+k8}->K)nd^Z0?RRUPk$ z!G{GefVxR<Wi5ck#O7m+rfcM*AK(xZ3N+MPZcbu!e|-<n1hO_TJh|hbS1P7>g8@D* zf~)6_*d4{`Qi5VOfF6pn$(yNhTR|(9EPYs+K(7^0pxlljjUJ!wF_Xo^W~%m`>zH6a z3MghJf64K5-Us4WOzvVUQNF8?8#eFU=bINHKdXHPFWBkljvYI8@fyzvF}tg2wS)+_ z)_O8^f6AGVfz}at5yp-B{w@efX*MiB4c_>o^`@y~W9TyQx@BO9y|Y#1eMho?tt29| zW~9#5pZTI6rs0`wX^87J`SG+xQ}~RHH83WiPI&VddR)?gw6uIFhZZBnUP<@s$OS+5 z9a^k#&fT7;lG^d&;}LatbL#y{=lc>>A#?3if2^Qm2uxVo*{WGQVUcO|3GSzU)rI-K z|NfS@7O#5`s8XY|77xw(YM%XT_UR}e6)5{B6#bJ{FDWBm<|aZg^i;UGWC?5<)<OF_ z3^v_dz>g@4yy{sO6csyE_#g})C?OKy?<34MYdc9f63&m(ziRM9V97qv<OuG}-0S`2 zf4q&O?n)2(IGnW^J=E)dozv1=-AzB#3;32II;DPH?vV$roug~`B&I-s}N9K<eK zDiynob9k70c0OgooM|+EtUSvR`G=SPTyiZZwLL@Kq6TdoA+OMf4ieDUY<u;vH3uQ~ zI6<3OSc8>hjq&r{ghj;Y92BKdA0y^-e`OVACW5M~CH%ZW8zn+=_BS<vXKHokx)$79 zz){2xxlK#tVu~dut4{y_b_|;|334L(gRd4;;Sz-<H^QLkVaFhZ2-(G_7cw)vm5>VL z$tP4PiOOFT`LVHSIwE4S7U}htGhhWklbp{I^JQ`8B=H$4V;Og=w!rNedzPm^f8`sL z`JOkMB`!J>ObiYR)K=mI|2JjQ`Fv6W;Dw%X%^=pXJ`Lb3Fm2`gK+hBprr=PC!`BPM zJ0&=@x!}4*Q|1EVYYN}0(#J`1PfdMeEmi=*jDXAOuX&%dQw7#SQc04%MvlcYM*uLL z4hD$WQ|72*fu-dA5_i`P<g=|pf9y0<@omK5p3aK)sU&Xb4x0q(=XdqtM!`BuzzJ+d zutUqFVj1(-;tDa;a-blk$lzk<e1MvOOc`3i>+DyU8qY*@PME}ZMdr0@mI47s$4SeW zH~aNR(%rfzCDwc*U61tRMfPF$Hw#dYRS6cFwI7tTI%qlqtuB@F>|2o3f4G&!6<y@V zPq*R-75(`yrFT<XG{m<X5*TLlIH8y0uChL_4MUawe#XBu!zH5(#Ko>E>7j4H8-Gaw zse#l19_+>ZXg+ylDT0hGO`<7Gya+8iDD9m~N5>w>WLyPVN@`nG&R!4?4Owt8N-!e^ z2`Yw2hW8Bt2^29F9uxp$lPD2LA`2IEhZ`QUGq<tH5aHse>bZVDB?JgCMZ<G_KYMQi G0tf)ry<pD( delta 4312 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 G0tf)ll~L;e diff --git a/dev-deployment/environments/keystores/client-external/truststore_external.jks b/dev-deployment/environments/keystores/client-external/truststore_external.jks index 6575a6995a556b8af92d6c9c8de4d697a2fbd105..d422969d9a4820dddc5b8f8e33d17db6f0f50afc 100644 GIT binary patch delta 7115 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 B${7Fv delta 7115 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 B(Ifx> diff --git a/dev-deployment/environments/keystores/client-vitam/keystore_vitamui.p12 b/dev-deployment/environments/keystores/client-vitam/keystore_vitamui.p12 index 9c4f745372df38dd801cc3ccefd0f24492641c0d..46ab81a7cbc364d7b33234598db657985ecfb65c 100644 GIT binary patch delta 4296 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 delta 4296 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 diff --git a/dev-deployment/environments/keystores/client-vitam/truststore_vitam.jks b/dev-deployment/environments/keystores/client-vitam/truststore_vitam.jks index bd70c2626b5bdeee7fd3716260643dbd9f7e08d9..5d01212b6e8dcb46c0a0f043a5a32a5e6a3ec1c6 100644 GIT binary patch delta 7091 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 delta 7091 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 diff --git a/dev-deployment/environments/keystores/server/localhost/keystore_archive-search-external.jks b/dev-deployment/environments/keystores/server/localhost/keystore_archive-search-external.jks index 9b9871e3456964fd79e1e53fd61e033d711aa62c..a9e681704238a81370a726b527ff94343ab89108 100644 GIT binary patch delta 3612 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 delta 3613 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 diff --git a/dev-deployment/environments/keystores/server/localhost/keystore_archive-search-internal.jks b/dev-deployment/environments/keystores/server/localhost/keystore_archive-search-internal.jks index ceda6b68d73fd1e8a14cb83cdd35beb08b8d604f..9b29499d2dd9d437715cfa1bf73b5bb9072fa00e 100644 GIT binary patch delta 3614 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 delta 3612 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 diff --git a/dev-deployment/environments/keystores/server/localhost/keystore_cas-server.jks b/dev-deployment/environments/keystores/server/localhost/keystore_cas-server.jks index 29d5f60af325dcee4d5debc16c87a7dc19ddb480..01dd207253bcc126dbe215575897a1830020d7d8 100644 GIT binary patch delta 3612 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 delta 3614 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 diff --git a/dev-deployment/environments/keystores/server/localhost/keystore_iam-external.jks b/dev-deployment/environments/keystores/server/localhost/keystore_iam-external.jks index 3102c5f06d93a13318cbfa3921a2400da578d18e..4cc1f2c5e8485736090aff572e2af738a5ec2ec9 100644 GIT binary patch delta 3611 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 delta 3611 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 diff --git a/dev-deployment/environments/keystores/server/localhost/keystore_iam-internal.jks b/dev-deployment/environments/keystores/server/localhost/keystore_iam-internal.jks index 9f99acc9f6a70fd6d0b8a47e68e7cadd1d7e296a..3197b9aeca98ed0ceb603aa60489cdfadea9cd24 100644 GIT binary patch delta 3613 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 delta 3613 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 diff --git a/dev-deployment/environments/keystores/server/localhost/keystore_ingest-external.jks b/dev-deployment/environments/keystores/server/localhost/keystore_ingest-external.jks index 04afb37dabeb7e5a0ea4510eceb390c800a331da..4398bbede22eab379c3e9eebe2a319c204dddbd1 100644 GIT binary patch delta 3588 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 K5}X@eG0R&LP4CJ8 delta 3578 zcmV<W4F&R@9-1DIBn@^(<3`W`011aMf(e6>F%y4pTHd1E<j8Zx^IX(f(d91*c2B^( z8y7(d7wOaklyatG>RyL*h_x~T)+5WbFiAC~1y^D@8VGWlx_Sm;&d5ws;e;O>44Bgl zLp12nnHctlB#XmW!-`?Mn)XtdbmV;LM>6(NUspao9#dB~8y!R~LOk5KM;SC82cl^v z*?)hf<Qi(j{_LHSzYc*6-e^9<y_b9Oku?07#4s3Xi+2ZRzFD)Z2Gb=6Ivq@R4L8qn z7$$_~vLzk3>p^ZjR-OO*<jyU|^*aRyQ$_>^1#XCx{wf|7v7zM!mKEuf^jrG+<s*UA z+}lgVGZi#%+1qnk@wx_ExR2CLQS)0PL70Dv6m-yID>8S0xUeyadHAxSVRO142E#I$ zsQ=6n5gcNLNrLNivE(N#OkuG$rR+&>mM$&b<^Nivdy}iqb=0$2?x#RDog_<~SA<16 z>D?30Ny@yXreXM*0XYyzTsc6Vr=s<(7zXQR2Cf|3=)<wma*A&O7I##o<{uz~q%wb1 z&^aVzK%lLZUUgR1^J*?NPlPh1WYkjA+kf}M!!2(Rt_}^WJ2dFiSjwJeL`Y{|#%j0& z5wI{Hpc{dnY0)ex0MMGHYA8^nd88395=O6DN+30^TST|<dxQd<-oaZ7010+sIm^c2 zC<&g6=V<4yz12~w#SBU85zBs<OY(o>c_orGOa8r$f_%6M_|MXvc=vJ4LFAfM2qFvr zoIt0K``+H3VJe0O>ox-GOC{bmGuPT5%{WOhD~5llKtM<^!U0JrFL@Bwf&N)*?GLHW zN>e`t;SWUWNeNj84g)(vT5v1sbY7Vem-eh%Gulg2?EfoL)R>L?S@6@lOId%h>$<;z zvekM46e5>;w|MBssz71cO0q;FPKI~`ai@=u-@X4&{(YnPJjDw&oA^eUT?&Z^L>8lO z{<?aUU}O4#F(-#wa=)KYUk*jo#aDrr+C%of=-k|ep3>_H&(KDk+XN}{j6<U{#W(Xn z(^IZDO2dZBbLHg0okyJ4xEy~E+fLo4ap$`0qA3u~Mp5K12oA~{`R?Ix_7Hlp7|;Pb zSGS%fe-P8p^*2)J#sd=xt?w>~H4l%hJu*bZ$xEWDqGNo4i;v=)_vpqD$G}%3bNb_G z@8Tsc>(*E#M-`b?!`qPM(l#%=Ryu6rzDU&>I`>1nNJO$zt8ac1&DeifvBclmKWJgu z{Mu(>^LKTv<zW<Htw~~V+&E4DvJ%<6xW}(Lwo-KK`f^JY_E@13B?U7?)NKl9;{V8A z>*##zxup`G3EhcK`f3}5!^b5?I#h!}zA2N7nhLjp7d3P!6w%WiW;a|O5!)7m3y@0u zbDTvYlFl5nYq0dxy%m2)i1=OV%Een*u*PZDgl*X5)D?@P1s<4Bm6HpRocl&^hFaW) zqUSE$;B`sE_TAb<r)l{!`kR<>n71f^pI|TbeNM%NChmo{C1FE2roD|k<pj`=jCcI* z<|WStasW(;o$OwHdIN5L&H#~hPWv?cu132x>#Io$#?n1Oiv)j28o7oUk9hhkc7DHF zkAJNpugZ{^UWi`QfdTnVan+O1v<J=m0J(jezpozUJS@F#HzkzYDS2Q{u+nL1DScZ& zYgHU=T&t5=dd8v%5LCUT6e9okk`X!HK?Qt3(?hlQ+N1x)Fa8tGC^{P#wF!2zL<YC0 z#gYrwiL>93VdH-t-V@P-9d@!@WP1ZoGy+Er>`DMs{v6>rZ2hi-|JJh;2~+fJMMdX2 zwRsLW%h-za!^j>qmU_nmn!?cZr03w5RdGau7{=WIx2<;gaZRrd&?hUARe2UNcaCe( z&%$vZ+@Je&lg?HXLWZNE#Z37r!lX&H+iYd97?OaI8|Z(mo$CC}N0u=Rm#xuUp<%QZ zI;}L~Uul#CsmGhF^+VIl1o=Hk5uZDX`y}l2{7~}oUGePI|7czr+ZlKuWZOS4eF1jE z%mv9@+ibED9=oqJP^nz0;iZY5;^vjKI0A~!;acA(BEsNf(rD?+yA5#lyLT94kipLa z3>`9&o-}`<gDMO@b!@;u!8X5jbJXSQTp4U#*wyA1aQ0;2%TI*c)vkjUO+{MbIQ$pH z0I>A5+?WV<@;qGrc8!W8-9(UgJK$0-D;|^qyF8f8c15a$Q_`q9Vr*wPb6NE#Bkmkb z>r}p=CZR&vhpHyeQryb!PBsrJz4vVxTS`}H3%Y;Z3quSLPDKt)5jR5A3Un^hxhfqd zyz4Q-Cfv=Md6dwE3{F(HC{@5K)sUn?hk9Zlgo`x_IqC{3u+n3)JG5S^gvB9f`|tMv z<68*%nmEK1y>80edDbLAvs$WerSgIBPmo=0_mDEh!4sSC>PZ`|4}GF(AP05Tl?{;C z*)D(B^ebt6ip~}J2@TQR>gXx40co3b6z1@uv-fIl%O623I9=kQ4ouV{aalM7$jkTK z{-mHo;&dqh18QJ}-h)o8MfIv-!b9w>=+V;Tj)|n$us<H2u+b-C@=Ha#C88%F2vgi= z-?h2(<r?XYe#mR~kWS9as{MP|HED&$MLK`Uc#I-__P6@te$y_86MeG+sdB#HIc0on z6H7!azF?5O=a4OGh3B9hWZgufnh57wmnw13emP_OR#0;G@;IIh<O#TWY34XiV_bqC z*0<?LK_pu`Ok^z06i;ux@bDU7^5<kG(je({a!u-TbA$-SP6_<JZKG@f7lyUE@dAId zD*xpy?IMZ>wo=Lfp(qa9b3Zd1@we6898ow!w0B2yxb(vI%5hSvJ^){BX6?5;cUSu_ z-5_=@!$1wX>knFJxFEzqw>>@HTL`Iz7+%AI#iFP1aQi;%1dS%F7<vWLl#F!=c1gGl zUY|@Qk99D!MI|HQ!&o?RdI@GFPj7!1GnZbn#c#dy_fKh(GaKro;9U=#LGw#+um-gz z1sa1$OLk>MN5Oc^J!Wh|8KT%jzj23FoCyiT^VzI18#o!1ZKGk-4VGNqc)p_8j{+QY zUnZQZAaqxBlYf!$x8@Qv@QB=`Qwlq9D_%>m*y@H@bwf=w+5E_d54Gs5ueX1W_lkPH z8n%Ej0^#^!t$2_kgOmY}rfB$YI@DVt)*s~7a<{zv6e5(F)7VaVbM0DDO%gV9ceWyR zI`VCKnl7c2(satmb%g8;x!Kq#-eKG3XPXjDCuOD7@wcQ7XAXpHSrP^<&brWj-KOnu zZOsh6$GN(j$=KLBR>sY?6<Qq)2>bv500966SS~d%IRF3!Lok8`KQMv=CjtQvlhFx^ z8Za<9GBq+YGd43aS{Ds6GcY+aH8L|ZHZwAlbqafbvTQH^P~DnTEp@A-i%>V@erJ6O zYZ9doc;&$%gtID?ZJA*%EptB{?GbRyEFAC7FZUS04$DnjC|jyP-SH$xitQL3`7fH# zb1fdx#gErp6>#5$ttO&Fplh9km-pc|Tr$gVM|(kb=wZupk307+5+Z|<)|{n}^;03h z4*}4Bdiwg{Tq7#P5~gcNVQ2UgHfO?#h{+#6p6zgGC9nN|TCYZ%&Xw5ED3~unj@2?$ z#SCOH3qa;s@@imR!;9l6c%X;?K<ewD+H#w%B71TzW!eb}huFdLf(z2NwxGd?BNcGz zJ;A`l7F_?(0SYscd33sHvHLNg@*5cwvue+O_s|~1b<Ui9D;Zr1$6<(w@J9SfA^x3k z<Eg?soKf+F1x{pYjG%ekq4p*@YC5y9QdBH)V6i`EOuJk9@cX?!6Wl&R-0$B-CWE9` zR@po>k$Qp^?M)?W35B(dH+!PHY7u{bIP(a{7CYxzEB8aV%NolS9~moqwypH1NuK3@ zSV~J8OFTt$Z4&)1=Cw36n$nJ&e}~ci%hl=KISU##)-RCz^gRo9B%%>C`fOqVzOZL+ zB5Q}IPJdWDSpv4!oUb#gWh%$S0XDMjrN@*Nuu!tte;@&10hOZj)mvNXvU?Q~>fqKa zQ;^+~n2yx&+S0@;rd3q0pW>63HE;<8sH)s+lkf}~e<`Yn0t;Hq=nR6d;N+G_YCB(o zLI|oA#NW-4u_9-ZVQ}g@$9kSNi5Ph|n*Iuc(A%HvpF6eM-Bmrr$9N`qxD|PO+!?YZ z;e$847i@joXOdx&_1y3b<7V}Oq~%2kgsTf0LODdt;_n*`DPCxyhE*34a80jR=tj`v zPf;fbf5aQ-iYlBfw7Y-A?VdpN9gO5|;t%es87au>*<bW|v;W3^FCRx<yAj(Yj;?}G zb%}WqDOAzL^QmYuWj#$t<@TMqgNC=0YyNb85A#dEyA_Gi?SNbMRSo(<sy86ceY1Cm z?~T+OCacsMyJ8D;w@jtnz|%jpR;Ne@@B=0;f7K3wYd9R@<}Z;~%bo3E&<Hv2@qQaH zF8p9QCm=w}s^0AzgT`Ni+{0#{J;(2t%s;-uf8l<X;;yrVZU0UInb<~=M_Ng2aF;Y@ z4myY>m61Z9`;0_A*N*-nNYu~AkTcKbkEivJmC1!mFt!hM2{9Is`d~sBEB?_#7os-e ze`w@s1}nwtH|Msg=CdtcqWi7001aGVzJ`BCuX0bJW@2R}!*w-0xYyPd!28+goCe@) zFT!LJ7;ggH#qFNjeVL7{3TE%OLx2KEf?)>^uAv!T28BQbl)Y_}SVRt!m#nDamq{X( z-M<(6c*|H+*$Ky@uR<?JwzTrhN}yrW7-A3@j5-!^SK+h#1k&LdNU*CAtB${E;1uQE A5dZ)H diff --git a/dev-deployment/environments/keystores/server/localhost/keystore_ingest-internal.jks b/dev-deployment/environments/keystores/server/localhost/keystore_ingest-internal.jks index 1ba4a07b62266bef50223f6c4f02eaac5da7c664..5e1f625afca4011d0fd08cda004d20fc4680f95e 100644 GIT binary patch delta 3585 zcmV+c4*v0*9-1DIBn^F!(ms;_011XLf(e3=F%y4oG*Pk|J`sR2!EJQs>_)rW+s6;y z@7WJ2cniQW0ZI~Bns?e5nYmP>-K)#J3rJ3c{`@<KC*F}0%d_pnJT0#-i+X*9E>Q0# z-}=@#HdsJmqzrEQ6%hn6rpq1f&xV<~4bUu4d-3nQ(!IE5(@TIj-2+NR&|i5MC`-c& zh75nTKE?A#G%s?9Ejp6&74*aRxK18fTD!iY^+oJYwzcFcWD+p<IM`%aeC8xmbx-uF zMeQc|MA8LlLedifENPDO+o&)k%H(ev$5BBQbZaRY#!l*+yLZ7h*O=6mOYT9RWDZjs zz8|%(DL@A&NAcn!BYA|deo}O41Nat=8iaox;3n5h%mrze2onEW@KTc=vmckC>P?0% zaChe}<dJ}U9U0&TVNMq09d~NF?Mf$qWr&ju3UR^*e0^FC>R)a2-rN`iYK$ox5bjlg zwN07jvyi7HI+=`$gGyP^7a;S2zI*4A>z0jmEd4vRB0sKtrD_SSNycQ`uQUm=R9$~P zY%FHq1=e2yn2Wlu*wWEmTA-`h?e>}a6lv9+I)gYs2j1kwT9v<NO+|^}&U6{dk*}Ya zXGqmKq!?MxQ_9T>Bu?0&#*glaOoJrZoXT)8n#n^W9o+-4kr!{=SHeHWnQlO7DHi(6 z8QJxVPuLPwU(Xlbi$9W=LT{9bQT>01qg;JmsXso{U2Ge|EM(yj<n%&t(QE@<@3pbJ zsW~cqe946Y(#}<VFG8<LoaR&29>aaG-X!hoVZ6+A=(Y3L8muX|LX1PDSdgqZ5`V5e zc%$J36j9SIAn)4yl_Xcd2<l&Oj3><0avXFGX>M7CgBO{w6IM*q%tK%@BIti;R8{T1 zE?t;1peo)r1ax~FAc1P*5~xeI4x|{EJ~84e=tMBOJmf(dpr=mnpc2<rHl5ki&LqiW za`n_GBUNEosj~Z)cry4`=&WCyE^a@LFe4?ZE3|``6X2C#AuM%c$GB}ON@Ewu8>?oJ z2-1^OtC>Z#c7Ny%85H9^w1R)5A@giFA^YODO7%1{JvU5YD^-9he?={4{c;lQW&FqW zL84MGA@l0=P@2|K1J^Z+k6+lk=k*k{#867!(%?l#SzS#Q1R`6DOd@yX&(~Fm2+X0G zX%CfL;u7!MLzQf^kVfBcX=<8t%kbn45Q4>B`i3+<F?YygEhjF-87Y67Ed-sN3T6E5 z6RvWIpbZf{uM+$UEvxd)m?-uG2!n$$fbaWip1J?;m^&^$7RwzBYyb-Yo%zEE=~K~h zj%X{m`jI_zj07s?%37=>!fgO}nQRi(?xEAc-Ok3M(i7>&pz<pG4`g|@*Jk?s9OER{ zzVKKYO#GBgMI|&kP_BP;<hzVJXd}7=*7k5o?wd?D$(|jWzs^zeMMtAwu_L$}CZ7{~ z`fzvL5op(%{}>cNONk0#G%^M<t!pVr09Sb^D`XI~f${YrPH*rI1kEXGKu2eC8-_<d zQ}d`A8RVZ_uoelE2+RP%1kqgVY{lj9tfAJ@$)JN*?d`mOLh*n2MfQvWc&x|v*@)Zy zM|)FHlp1XlP6{%89vyP#sm9G$Ig{c)+2AVBkx8!<#0Wgzj&au#nmXZduVxur-FJq6 zkv&Mi0eyKJDm-=U<j|Jfx%7*A@JDwXT-x8t`;vYbkiapuGJy2R(xq@rp{=Dcl2|6a zO`2>9=Iv_!eD{AcIZ1`+1k*YfABsfl;=2A$6fB>+;x)A9-1)}msYt4fS+qlM7-M?l z_d8Dr1RqquAYH4plLw%Vw0<?L@_V6~a4vt`NtrB$Bdh=ss|JdYa~?6ehtyx+kV<|y zQP_hxocFZUvc!6Cg)6TQVF|G9Z+6%0A%CzMYMIm3y^nwSnb@5<*y=h5^A6!pMPJE1 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 Hs?5*B07>7? delta 3586 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 I<>dIZBv|v%UjP6A diff --git a/dev-deployment/environments/keystores/server/localhost/keystore_pastis-external.jks b/dev-deployment/environments/keystores/server/localhost/keystore_pastis-external.jks new file mode 100644 index 0000000000000000000000000000000000000000..57b4d15a75445de578efe7d66603aedb437abd0e GIT binary patch literal 3867 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 ZT92OA6G{{Ns72ELTGzA=rrEhM^e^C72=xE} literal 0 HcmV?d00001 diff --git a/dev-deployment/environments/keystores/server/localhost/keystore_referential-external.jks b/dev-deployment/environments/keystores/server/localhost/keystore_referential-external.jks index ac0d02a9d108d90c2bd5eea685b9e3b8b8d3cd38..0e16d3e78d17f41e9c9084a23abbe99c6956f309 100644 GIT binary patch delta 3594 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 QpAc(nTC>;OzURU6;-VJbF#rGn delta 3611 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 diff --git a/dev-deployment/environments/keystores/server/localhost/keystore_referential-internal.jks b/dev-deployment/environments/keystores/server/localhost/keystore_referential-internal.jks index c99d9b823e3a41c33465b05dda10a045e51fcc8d..6f71b6aad91603ee7a7305f3cb5312a2df6f44f4 100644 GIT binary patch delta 3592 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 Odjps;ScA!`8GGv~8t=IP delta 3592 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 Ow5-z^$#_n;5<v*3q1K`R diff --git a/dev-deployment/environments/keystores/server/localhost/keystore_reverse.jks b/dev-deployment/environments/keystores/server/localhost/keystore_reverse.jks index c5b5d3795f824ca14b3bf7db9ea549fda8301e51..82bcb6371e59f578b140ded20875f5971a6bbd24 100644 GIT binary patch delta 3613 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 delta 3613 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 diff --git a/dev-deployment/environments/keystores/server/localhost/keystore_security-internal.jks b/dev-deployment/environments/keystores/server/localhost/keystore_security-internal.jks index 27cdea05a339d700270df3ce4b1f2859d5d72bb2..983d7232de342ac01e8c77f29e71a8b13f7c7d6b 100644 GIT binary patch delta 3576 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 delta 3575 zcmV<T4G8j_9-AJJCIxmz<E{6RD;$3ZKMCLEM3-LNNRkD0|I?`I{<wJz+gX6&ftLlT z2nBC%w+w9;o`g$@1qjjeE;OkR<&Qafv%Z%uxD4)LNbuaaWT~7M?I*fiL#Z~Aor5-9 z7If_5?~&J*w$o0E`OlJ-HGdJx0S3CZ&Cvx+(%rf9>%H7IA>tZxN3Bgt^H_g~?$Yh) zcf{V8RGLRz&PI^GFiS7joOGjcECmL#)4WuNEh{!k#5%m8bjkDH9->?rrV4VHRA~z` zkE#j5v=eLdR>PX=wiAr-0u80~kUE>*<m$tpVw`Cn+a%flU!#Eq&`6+Gn;8*^dW#7@ za@C0tKJSiG74+R<F;vD1H!XkgR;J>a>MZ0hVv-d>3=qWhh?OVRZj~|{&A^j6jfKrd zEt0IQ&1|_(KXbAmTWN|~P9h$kF=4VHt@E(X`Cl@%xHyX_-|i~?YJwQ%LPQE_40QNw zg>V^@5!$9nP82M0qcF}9aLU(j)>~uKO)MtMKICFcG;-IAGD-HP_r!m4#6$Rw*3_aw z-oTN#ecFm<5mD{4!^W;7Qs;zZ&%HKanFZ8??gsMuDL7sLv?BWg%-Jo1Ojb+zF|UXe zZKrijFpM`ux<hwq`2-{ieShOMdatX+jy<7aqR*+b&gP;lToN-Xhjjf*4i>|Jfi`E_ zg2pzr9H}15HeFZa9HD<`WD7T|6H$&<&1a3+8r+pixVxUm<-icq5f3#y*X*pciV?Za zjeTIYAvPlpal70ro(1<m-^^_W)Rqm+zo3^H>zzuz+(8$yip;Kk&lTP*zL;peF~2aL zGmMtl)x<c%?cYv%{R##D%e{!2*x&zvm#w8C7W99@owmpd1GRs8@A9j_o<lkgj0&4< zLABGjZ5n&xLEZDjG7PlYfHf(O5JQiZYhPC3Xn+#DqlcVURg}hMEgwnA_FZr;F!eL_ z@=}@8bfwwAatW(GO81ANBolA=;`lU{xNWqyK<VOBA~IboKFoYFLxr)Rh*W~mD-|p7 zBm-a)ZK@B_o$`MWSb*T>6Bq{6zx%s7UaZp|2tN|}!Z@#GaPIASU4uIjEKGdXL@H_e z&KaNQOa-YyuOX7c`UoW2lhvM_l94BdM2RF|m72upDMEH(g2YV!aE~z+@2-WoT+?Py ziQWcdo+|_O^`Mn*Gx|_F-eNjMxSQcpf}X&uw<}*7%@cq4ig6@CfM2*{mI1r?x!Ar6 zr+j)iwMS|h!2Mkf>PER(L-6JLGbnD7nj6N3N3<hb$BFgGed-uD`%m};hft?&T;7G( zYE@T-a<Q!lVK^aL|M?30JL+n#ZJvNOz2e>?w4>=S_qY8xm0nW>Tj{_QH4M@qtPlI6 z_9<GxlHq^vaab8sKuf&1Ln<$Bi54<!F|K!#8V8%5$j?We`hQej=~6D2;%(!wv$qth z1%3nH+I%w=(jGmK$b?)4_Z(8d1jD(2!5*=G`aVotq>KFT^@bXu!1tBVPf@AQ42`w( zbF?p>jZt!?{|0NSoZQl_B$r)c<#j7qlhJZUqKJQoM5*>at_^3$A3tpXiHStmi1z37 zFgVg`7)4BeOUiFpc65$Ogrk}@Y>WnEU$%>pej+P!vnU9TGHzmWC=b)bF5vVsPT+GU z!0#6QYP%NJZP8p`la+sWl21~(o@k`&Ski7twzY3<t{)Bn+!h&aOdkV^InaVx>!@RB zaM*vM9j@!*h)9!W9t(~IgVzO6vZBgnI+QOu8t2pkg|ea}J#zbU|HkRP%tYVET$@)m zG#*ia{r|~EVH|xWV^;xdoWs5#;XFt4yR<mx7~EfV`sJk~sjwI@kxrHaqa>`OF}U5X zVA(HxIxgk*YOdTtU%GtIV>qMg!nucf)HHwJPGf?FH(EljudDgvGSPR`2Z|dq1*=IK zGY99LW|;{_CbwIJA?JK@5(Un``dn}rYR@i{YRtp%2Lvc6V`q!6heXE9LM{gRDOhAh zjo`v>3p`a$)LZ!EL<!Y4Y!QDg8x|3HThoXILle{~GayWq;CoZZ;a99|O5#d@>`H&I zrAAsIi=W9bD&aCl9bJF7pch<Iw_9FPCM_>;56#gRc|jMhwu{!kMCr9N4aE(3%OlKf zrMgWZgn|Z0KWy?<e2R>myep2Tlf6IY`|yE$SBst7_Hx~B2xI#0{McJyfT8pnD+Avl z->oW)S!QpcZwWRk3o=AY`@>^T9Xx*^H%8ASNIU)>?Tq%Xc`RupL^K~`qBh%vEWnM) zZ4=jJe?w_sIkFqn&zLzKOa3-LC-u<;zsf{(#_z}Z3jfNQqSaLp)Ok7XYSi7G=(~vL zK|Qr}WQbh-=Yd*qZ1H9R$6TdJMUNG}^4%4iZnf&^A%lJOe?$B(rShujlC6JvowRng zcLCW2m$?pdmuO8rmqhJbf-YbZ<tjW)R`7fkVB2s2Vo-|oK<~*2xNtUv8Q;#GW$KeA zhvO4f2hHOI>ay@bY{!<r4SlKqfKU^4>o#xkL?}(a{gT-zTXaI4cGqH^qQInS36!=b zYL-)BFCv*MfuHcWyF@Lo5{rMH`v%abXScj_5W)(l0v4a?%WTDTM0ko*l8Ryix7#9t zJ?RIQ&#?tEol<f6pl)c!B+MG4EeDJ}Er(6oFI<g9mA;^Le?6Lt@kBz0IbPk?C`Eao zk0v!xc==@a@ET!upKF(AAdUMqC^j7iV<VE0N-g))Hxm#~PZapAdE|dd9QX!e?dxaX z+Dp>BV{mrZ0Ia&jG?h=cDsK@$<41~G<Ro!L1RzAm!3$Y#=u&yNq<`TfEK`AYVOru- zQ>x}gIli}&kLNv`Gqhc8k88DE5e3a!p2&v>osNXwvRyBA=oW=DNnI=6#5?w82IX1b zn7h+wnoCEH8S_@6nmT`*)XM}<t@gUN6gbli#)bdO;?0*go_e9JF6guyr)y5jy3v@* zO;((tZ9-23LoKtNnOobMpY~<!uO^np`%2joU$AQeeU5n{O8&>knH^J;{;ndsgXTc* z2cAuPK4)};scah9tbjaymY)x|?A;jdQORskOJo34axa%+{33tVEb)GdXU)v&NA30D zaJ;LZE(PDue*}dBrEi+kCI2xala^$kU+HIQ6-TrzI(HThGjW8y+IAF~AKwUWauC@b zSY!0>Kw0cC;YWp7NJdE8#?E8FSbhax?zVbbh|T}<j<%1tZ)fR)s*7>3k9(Q+FD^FJ zGU&R)Dogq4&O9590000100mesH842<00l!Zf(1V?f&(W40RxlJ35p#sFf}kWF)}kW zG&EWl4Kgz@H83?XGBY$ZG+HoMli>+IleG#uf6XT;cqyQf)qkks7R;803Xp0NP+$Fd zu32$Am1u`FAL)KPO9!HxPU{ju&F=sTQ0@_uzAAW#a1sFC53_kygHuz&)26FZnc8`9 z#`P*)pJXBz%`qcxHW2HSFZSi^3OQ;lX~ays%g{=QYg_->RUDh?p(5pS6MV_e6V;Wm ze``jE#p%AZV!@oe9<t_dY<elVQGs=`Q2X~?wWmSs_dSZH)uS(?$IiH8!4H6QQRdYI zhI7%6DyY}<m5$<+pi<T;_taH?Zy9D<*Ah0OgYAd`R<^<2<KaGadB7AlCtj+q&@*~s z3Ko+#Ouag}mc?NonN(~=8w=i&;508se}kHt>Jv_{>1Nn3i)Ro1v-_TG;91zLj30XB z-N?OYv&0@C{uG4sjwql2i9uoh-SK_vAT1|S`2Wfz6s#IMA@JM{4SyMOba_}RfFSFy zD26JP7UHDBk`WEsLhTgWl~SMLs)Y()nGi9u%<_$y-gY1z`whE)lFXC$*sQm`e?vSh zhbj0}{K8mhOaWJBOHTN@dxagZBAYZ?BdIC!UF<v-(q~V;B61ZZ<CmEQH%#Q>Lbzh_ zwfA>9A*~8L&@k9z|KN&A>IIex$IPcJgVr6;Vy?2nz7jd?gs6{>rjX?V38H6*Ad*f- zWYwA?zx{7+vG8^TEu-M$-DtLp1kJRKRg>=w8Go7Vxyjf<;ZELSnka;wEW|a!9kd7~ zP=vU_9V;*W^(oMryK{f)EYpYbkF^Cewe941{ZRLc$%*;NLC-}%G;VodkbG~9@L4$0 zri489nrP$6#QVqzHeTfU&4tS@)bVhfa9rqd0DQ4ck7o(d=}W%`TBm`4V3w1{@4lon zAAe;kEJJGC(4qes;>3NvMn;t{yI7;DnS<z<d7geG@49T;bw|b%^fJK3k(_`i+U@&n z;^=##>J}Dx^K4i;3Hnh*ymBR~raQ_bUR-?)!ZkQpPc8ewWC3buu#ubRd48_sxjyqp zjQ!qB)4tN^bU&2NUru9=|1*W6zY6D4?|**na!O`VAQ+=T9j4Z=NB!dr^aK6Gpnc&L zrLKI1X6~aC8I8$Wb$4t}E09XC?>+8Vx4~U8k0$~J`(O1I#S}o`s#SpqtGjDkHy`qh z6*+vY9C&lQ?jaD3uJ#R_Z8Cj1)EPtL%&@-*XALO}ZI%~8R_%V(&83f363Z!o0)LzU zCAFwY!bnZoXm0Fac7dR4a{nfmd|ULquO0{TlGfccr2=Ir`h9L=VBPh&!y76o(3rnJ zi9CK3l)uU62BNUr9>+}bDue`$R4K##y@J#T4Q9ynC+M=~qR(l7DA6{C6gfeaMQqKE xa^kG18q3Ievm>_~RHSnI&76+EJs6^9wZj`^jG<kgPTON36Rlgqv;nl&I)dVU=JNmm diff --git a/dev-deployment/environments/keystores/server/localhost/keystore_ui-archive-search.jks b/dev-deployment/environments/keystores/server/localhost/keystore_ui-archive-search.jks index a39b67cc37abfde7a4092359d206e3e7433388cf..aff40353297443cbac591fffabb71d29f7d72aba 100644 GIT binary patch delta 3576 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 delta 3575 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 diff --git a/dev-deployment/environments/keystores/server/localhost/keystore_ui-identity-admin.jks b/dev-deployment/environments/keystores/server/localhost/keystore_ui-identity-admin.jks index 09825c325145bb1b3ceebe8fcfa3634201cd24fd..65eb73057f270d4d00c47082f1e9f370e01ebfc5 100644 GIT binary patch delta 3599 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 V%Zbsau%GL>P&lyoOiBed`eRHE>w^FQ delta 3600 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 WH6Jr?L)WpXZdF@wX2<?uognn7(Dlgx diff --git a/dev-deployment/environments/keystores/server/localhost/keystore_ui-identity.jks b/dev-deployment/environments/keystores/server/localhost/keystore_ui-identity.jks index 55dd173abeb934656f9a6693593d14235c810964..a54be39c65bd5da15212aeeb0cb0bce0ccd6457e 100644 GIT binary patch delta 3614 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 delta 3611 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 diff --git a/dev-deployment/environments/keystores/server/localhost/keystore_ui-ingest.jks b/dev-deployment/environments/keystores/server/localhost/keystore_ui-ingest.jks index d7b83d0dbaa34f2188f7923558864a27ef507b3c..4c50a3bdd089d592a8c2cbf1dbd1b0fd2e29d2ac 100644 GIT binary patch delta 3613 zcmV+&4&w2X9+V!C9)Eq0($yLO011XLf(e2!4h9M<1_1;CDgqG!0R;dAf(dS~hw<bE zryZ<JSM)8}L3Mc-M`&Zw|0{>M+{-fAl08f+<d){yW@`DN>wz~ukGrwd2ID}$8lH6; zxRwnAGx8{cb(nkZ%8h^}O3RjpMA+vm1XYxD$?utFXMdndBY%nSB2T9K0EU`0>2gSC zX;dr=p`#ndNYzM*O>25PN?(<Egpw<<4}gs$#8&nJEm2%e<d{2Zm&7%<Tr0$%@#5r_ zg!r3S)d*L+>+)k*QN8o9nz-(O?|ao7bKBr#GIhLU!_TK|go5j%!;i1@+kADkxE51* z`AowsTD69`bbo3T|C+=!hZh5~KT5(_C`HG=8TI(om04(u3X|Q6-WZXj12nPnq!jK4 z9)91Wo1Fsnhl%4Q%ZR5#H>H`bkQafNKl-^%0aqKN8Xxr(G}Y2KU1#HtDiTvX(6^+D zr_^Hed0z|LW=Ht!j%?Be!>Z36yQfmjaehsEFLZ%t+J6p6v(NZn3#G#pH8ahgKF8{? zCWvH#+tK7NuTq8hlvRHc$sqz6b&6`JmB7%*IQ&*}`u?jk7pr{*xqB@)KK?y3zW}g{ zi!&-h>9}c9*s*Vhg$PG0Lr25SKKM$L))oJftdN>#!<P&oxaVj^3}u@=FFZ(nc%!du zVDr!ylz(CKYEHlJeqXr*m5ifIuNt9oeJn4&U;NcWP2aW+0CuYtez*osr4|^%@cMv1 zprqq&yM6;0E1S&WvV;$<dU8+BiaeLkmNu{=pXdpI6LcfnpW>A1jrldqIjf#pA8C~9 zRHq3U{N~2CBTn?<5))Y)8;Dv=X^B3=8LS>yk$=4=t&jZUivC(%eAz4U6L&<p^*PB1 z<{9)nXtH|Ri71pfbz-+v`c01b+)S0xWSPjR*Wj-$jQrDi74FFUQOmn^E7<5W$m7Vx zGO@$xbznvpCe%4t{e72+<NOYCPgdtW!PI9p6|c0+J&-JB3|X6AVb1`tty3qH5A0fS zH-8$#Dw~<Vnaxm%CFRw6@JsetJNZ>$l7~U#@j>Y9nFX2P@e@3o@Fh}PWj8_&gciWq z0V_9Ol>%eYqpZrDKcC|@FSvz9yI(y=XX%*(QUtLt-FVTcm%T9GQKUM=pQ#f1q_Ay3 z>Q-#V!zU7iG^zw`Xy<l%@Ji+0`Gt_(dw=U>M5+?}F3(p^w6sn8vK|&=Ee)GZc*0L> zu*ZJDzU$UOet1EC1i9eJF3c{etjaq}%~S+av?O7feZdm?m-<Y7Hd|Q_KKKD)-N`g< z`$03q3s!qohQHhs3WzxI2)W0Enmg4MZAD&n@ftT{$s7uBidt{+(t3|0r6nMzVt*cK z1;Z%UGG>`9u`4p<ho8~iZo_BpHp?JNcPwzM@2-z%pV6V9rLS`GX?o+!0ZPJ2#Gi)S zFc=H4<X5W0)R@Lf&cq7mp<$2s<o|AhPObdn6l-yETmfaRNpZi<ohpwTcSZ;R?zz_? zK{uKe8xDl-1fvKW?^XW+VpHH06n{LFHJnJtr}?rqJ*Ogk-_^d(Y(oHKDz!Ii-ey=S z8VbUEN}MYw_+nHRA$k-0U&}oh38G=?y=vf;xaXAx_%2G@@9ToL0Ur?)jYlX$Ve{|b zy3}a>nb+f*3ncO}Oq|=g=v1)fftOfS3v7#->eBHeH=blm5D}fk)Aim<ZhsNwnql$w zL@`>f63n?r1VkwUz8{{=k828yovRf#G75Dr?j$kJSo*uZOlt3?#0UW~NJFlGi#D{D z!@s>SVNPczWItDiz7q{>ZP%)ck<z+#k!<ZS#{s3N%OVqhgt)&#``($9tJ5D>`GgOL zt*4WM7QuHs<`COLDv!@XBY!hmU4dJ41?e!SrT7{oU2-)@ia2MD!7h)|6Hwi}7LhMZ zsI$uc&ZMxbDY3!%F{un{@lKqmMvr`|oYYWAR5@0!NMS-K>@@F4w|8vF+(j=ccM2pM z!G(W%oaCe1?N|}g@joT7R@hp!UNW4FB%eA8JiPCFPT^}j*+1<XAb(y~Cz6QU6w`+E zgo-qzXh(z<2jX@MYKul~3A(jr&ifIO&!47pzHSb-hwaWCI`DLoq>4(c(msQ3Wk=4A zya-mycgMfCfF#s|t>w1c5}UMej`-(_7Uiom%qPQqDG=<1K|61SqKNn_#|0H$OHq*{ z8Y6X*znu_f-?gg4K7XmD@aeJn9s@I*1FHVf>ElNZT9(>APHX8!a|-agON8Jn4>~Pt zUZVO*S?8oO>VKmmn6FBE^-iZ^u2+Qlb(D?2vHRT?c%Q8m3y_3dTahu<91ysi)0Dev zHdnLu6R!9kT^!d8VM|))tO~}%UI4>JUxU*R#Rg21?3p`foPUgkjP`lB&0P;O=^}B9 z4d2VzdY}8PA&CWom2p6TNlyQ#&>lbVm&cRHzZyr4DM_8?rATb4x^al9xOVJBKgMl0 zvAxx{^~V*=MMh~iId<MlZ0Csh)DWmc^^=e~fmhEhO@kb8Ae>>Sr@csGydXH0FK6QY z*YO`%WUrjJ4u1rNlC*Bh@#QP=Dn0932z!J|0WE#tJ2+Qj<Wlx0_ke`icQxe4=^rF8 zw^-|W1@sG3kq_r1g~1j=hF}-@(6hXSkrO6XV5P*^8eJmjlrO_UJPt(9PA~zLOBfWu zO(zZP9s=9KA3H4lknh3A6e`2ab7AbKPCFvlnr^8V=YRH%qI{KxdU^o$mdK|!)Q&4H zmd{>>0H0AjoZ;IwwQ;#UJVfO`_2F4FGgy?Okxjs_;Sm;KZN14&AA5_2<r9gx4N9*? zGAxIduJ&UTv1OT?MjJdG1eenMB=zEpk5S$yiN`~m>}m6NR*H?kUQKzJlpiK`-*H6n z3%2NUPk-YZG_cJ~h)jA1Fw6!$4rBHJu3vtSu)I-cDeXll=iMY096RJT-BnLKddA-2 zSNr+iNYwyJK0L#GB7CO2$(}<ZHQhaK=-rhQcnfEo1!qEgU)KttLXuWVUyBukEh8AI z&S1?3XsNSN$UyCM=-ab%+`&5Bn_yK1#2bq}fq!7A4@uIB;Z*4jJpQDjI8#gFZrdC@ zzaSiMXG11cf~4`9dkb}00Tq9D!bK0-^xKS($v>j9iUX*i9Cw*BE^;Kvd6Lb!>5k>I z3~kUM$`$CtLRd*-!U`u4(U)tl{M`kXl!=v%G0;RI2CmV{u{hwZWQ8a#&w1*e1WNei zggt)99WQG6bBi8-m{dofcV@J!irh%v(iv%vxOtO}`&`}r0000100mesH842<00l%a zf(1Y@f&(Z50sxbf#|erWF)=bQHZd|aH8V0=7Y#BrF)}bUF)}qZGcuEF3VVOgX7p_8 z@xq^P$Du_g{-?L1zIm~W)yg%v1CA?k21}1e?T=2Xx&rB4-XQ^FLBX0kMs>YHGD*+% z6RPweOCy+&f@@6rekyiYJPkXb<nHI5#DPzQg8)tjN(y~4#S?%_xILu+byq?BF^Rj+ ziypx>LHK2GCjvC7ZMdL3zx{umq@oW3&JD8OA|<QhBgh28kV^>xlZ)l|gA*@MUw~E0 z)M08?<zD*g@UazZSI|BUvEta9Jpgb-Jayf6E?~u@MJDj#WslJ+8Q~;@YX;I(nuAot z#65kTe#51-0;pM2uql1Pt`?JQ^xBmw|KJfTx?xC3sX22?M~w7{;V6I9Jf|eT6X#){ zx%%7k;s4g!HeWX$OTb;P{)?N8UGayE<zI>g%Pf4F*6o4!=NBJd$YpeNeQq_}!bH{1 zj&)w6b^h_^Wz5t7V)bH9`ECHL?jGK>sx@zG<iSMJ$XnoorUM~0?#;xB`nwNtoNDd| zhh0n_pYYVC-y{$=a8!T3hIl9}4$IU*RmPEXX6X=frEN0DZCS9l=iuUB1L*lWr2X%q z(naa~U1Z$6UMx6S&VwoiR&sS!2%s&9GE66VJ%}X*3*7N}cBVmb1vM`4?8Pq6%!f}W zo7~`1UcH(MqsZgJ_=|2efUn0P#qo=YhWuQ_o&Q24jh#*$>}!8b(iLL@0|5X5FbxI? zDuzgg_YDC73k3iJf&u{miGeG;z#qslx$CL<e4mquuXg158zC|&?Qm<uu^>B6zdwMD z{sLLqL}{CF4K&BzWA5aG`r6Zf+s_xGqsvozWXChgTgBg_+5G#;LVA-LzamiA11Ony z415e5-z6tlr+0txg>yX_G5;@Iv~FwAseE4_k$E+!GX~I5YslViskNqo+;!6$`+#z0 z2&ozo%_#C@yP4q=#I)jYaaxy$<xQv2OoQ(rZrREh*rul&RRi>S=Pa0D!60nx_*BW% z=)92Wt>+hDA3}JUreltYBX|k7m;a>4SqxX#_Bv^Nu_u2Js!^BnCP^Dg3hP<T7swaY zF}vMY;C~yHBt-1RzPYbxd9u8=s_ryp-M%`Yb}5j;Sb0;m!uFnFy_x+~%a7M8C??!^ z!vu_@T{Rl$jypj8IL#a}0@;&O5PL_m2IHy)TR2#BJ&hqqWDmWx*YqO^Zf??Y4=aiH z4;o<bX8M1c3|q0{f;%P+Tr%`;pWopPHk4FiisB{59G@}h%_bAX<<`RNeaT#@mGU2u z4ZV2upJ2oZo}yE>Lj3O_>riygMTv0mq4$cOYr#<1<~#Gmxsv@e=pWWjN>pbl;L7(B zXH-dk|G3VY1WP_+@E_=vs5US~0&i5;A6@Y>W%)HXeEF>5=DID#graUC^9N{kdFQBw jffR1)A906F&HA`hB`ulF6|m8}Mb3I@_H0T%hHWGbhbQgw delta 3612 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 diff --git a/dev-deployment/environments/keystores/server/localhost/keystore_ui-pastis.jks b/dev-deployment/environments/keystores/server/localhost/keystore_ui-pastis.jks new file mode 100644 index 0000000000000000000000000000000000000000..b4d2ca50f98241fcc50725547ba584163424802d GIT binary patch literal 3861 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 Yvs5U@c0ikRSH8YzpRmLxuT|B*0IFCAjsO4v literal 0 HcmV?d00001 diff --git a/dev-deployment/environments/keystores/server/localhost/keystore_ui-portal.jks b/dev-deployment/environments/keystores/server/localhost/keystore_ui-portal.jks index 47ea577cce876afd8d93c7b591b622cce4bce7d2..c8fd0e8988a4521bb097ae37f38991f13666eca1 100644 GIT binary patch delta 3612 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 delta 3614 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 diff --git a/dev-deployment/environments/keystores/server/localhost/keystore_ui-referential.jks b/dev-deployment/environments/keystores/server/localhost/keystore_ui-referential.jks index d18bfbc5819d9204f38748d0d5ab54eeedc15cd3..e902481e5c3b1854ed1a3e058b9e3b79942b065e 100644 GIT binary patch delta 3595 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 RZFFK|?qj6l3A8IuF{xnd<%j?P delta 3600 zcmV+r4)5`s9+@7HBY$>A<Rj<+011aMf(e5#4h9M<1_1;CDgqG!0R;dAf(dVr(DtG~ z5DsKOmW%O}J<Dm*`R*GcV0d8Y)iX>w1)X5X+a*xUa37a{MH5TpoLl18!Ds8x{L5)2 z`{DISZg*2lCZ8Z%gL~M5ZBmS<#b^w_&QTSpaq;`0ynIt^RDVA_kJ)XKJ4TwSddZP| zSWeh^xJmki-fCeVgv?Ji*JqR$pFc@|7KHx{;*CaOc&!}}C5g_}(Jm2^QhdX1L7biz z#<CgAf-Jz^2T^5G)<Jo<vmK4mf1jCA&Mi-|`F+3n1noeM_Tsu0@k?f%3bAWtDzTU7 zT=h_s>xCi1Wq*0>Tf8BFPCOCR{zlKv1s$q~3jNGlGvF{4mRn!d=@kxTmd(>!!<tDr zmKI(rlaRTC+=1o022Du&>e|!&1*S2u+?1ppSpU(srj87W%-$lQA&<3?XhK@*h%Sg4 zWJWH7vK(JcUk!x@H|&C1hh;)A*%0`p>=apOgR<-GYk%y}O6d0~qn7c5d0FQCKp?sb z>3*q}HwYvGzyYPjIB&!zp12HCwgIwhr>j1JK^BNqo30QL2z9_Aoj)*i*bnjVC%LuB z_{0LnKbHmxJQ866`u(~+uEmDf-w9-f!fu6U{!<gfSXm5eGStsi_~#B+!*yCU56!NJ z5RZ!K8Gnn;<H!%_7Bk|rYyPbyK;odw$>MZUv-96Hc2cA05NfA~DohSJzKXF~q_3_& zezf`o->1V5?ic|5DaA1>K_(ilBOIf3P5H9&71Fn@1xJeSrspvBKF3~8l~oHD96Z9? zP>uu^S=&>&jlBC^d!!rR;<QO*XB2_hN=c@-$A3+6_n-H}!G=n~VnJBVLHSyRcCMMX zF;?~FqwGfq1#t2a2}?_V9bT<ragks32N^^v$HVwViB@{#Di$?zj%@I|&5QBj{s^#6 z=SUM|<V-?vEsI+D^323#M;sLW{aYE?O@jZlaA&2yu4S{?@Pd7R!i9noPFqaRVFP^> z^nXXT-(Nj*o!ri@7E@27yw}Y>70=~E$W6R=Af;M(XfOa*nQBYM#`)oia&U&n;krB{ z_GduwAx6HKQyBdB)phq+Mb3~JUParO9gU(D3bFh-Ct~rnYGO8qpwbBR>YJ+HQ0)e@ z$xRTubf8iL&U$puVS%(c>IpZ%2!RM`d4Dq%z$KMG@JkdO*58?|%mcjT9uXXg-`)g7 zCt7lZd7!B*(1u|LPm{Uy)OTK>-pq#I@%Td9uqel594S(v)=8_Iw8~^_ZWYxhi1`MJ z&$~;SJ1r23bd7ek-$hDQ@Agq|1CB?Tpouu1l6rSBa4kf^@U#9xN^73SJdA|!J%3_L z-j;T8R+!5Q%)i!sy4t&i2$g%nOZBHzXt~z3?@5nr05@QL;>$C0psKyRMp5@tS7m{C zB4c_;!Q1}83~&+s8WAU0Gj3&`ObPDB*;CmNO?;g1|2(L{eK;PS_1v7trmQO|sB^v) z+pim#<~<-v{esT1Fkt@IF{Pd{et%05ehCKU19(<Abk)Rhmmr}K619(-+y_;d3(v`2 z-nHn@;IOa4<_+oF3n5ZibMnNQdL;4<KPS@tONLf+mv1%sW>JFUGR_SQ)9++4;^`=! zu89yV*nosR_MG^^tKt}i?*_4!aG*bN;fssd#S6E3a!-MdyhwPjKnYSv{eNAiP+BAF zM;?$bTNfd$W|ZX8{n+Hugdg3?CaWG;2%+phMm#j)*kGeRH^!mEZ^O)i{xgbmyU9VA z1`KI_My4(JYP3qDV&~{o!>11zrNQI`uQ&rFJ>_WTCSdcW(*JQ{X&>vKj+ma2(&PK` z`S^pVFCHO8NAWxT&_^)(9Dh$=16LjvgCCZ?YPT9<Zl;rY%g%iiyEsd^K~8@^e^ zj#qpuFGV@4Ubz<=FU|YSFrl$&&iF#P#bVNS_6QriU4+~U`((!-$|l6x>^5Lv(2OG+ zUo!cFe_DQvpWXY&57Yxpe)yk(ea<upY5aKSn<H6meRn17qHyfr+<#HDZ=2;=3|Vo_ z8{#&FDuLl{o}wd#u#ol0zO@Gv4$&5e121S1YMmZj_UuYHBIPv07eR}|VXUv3*ic7r zuF^xKANYF(*fp@ZLt0m~@3YU$1=)P->aAvY$oxT7>(@!0l+JRpr}GE2?WERP`SZ%$ z*HRV^jkE;g_S?LStAGDr-6G=Tnf3XfmD7ar=OV9k+xn1!)p5MIxX-fhso(C@!sA$C zLC1Z@<Rl^c@^k06lR@+d_8)o7cv9BZS>KF;xMt1;EzuhOAQnOoBH3fNhNioZU<GB~ zaw>j6D|g9acitM@<pX<r7QJ%s@&pyAE`1CKABBd+p%!IbWq-Mybq!!tSX*J<1g;+N zsa<{s-O;tF=_zF|ZL_pSRJ1j4;a?s<D0!n~;<b<7gjl1p3r05WFQrV3;<F#FAmNd% zAOb<LA-tPCWh?q0S>sc~k8MA(RYd$ga`ks~X#=(R63U_*PJRbZ#Fp=_$xs84@#fxQ z8gx?F;%7Tms((BJ*Mr#u`%F9%V4Bn07Qt~%Mi3tu!D2+adnzv~LaaWp3X;;Hb-sEQ z6pdDBXe_O2D_5e=5I(-@hpBBjA|x|ZRN1qAjTpS@a98oms&jd!xf@B{`5I~P`O%^S z^T4An`O`+pOpaeu^<U0KP;AeH;wZp~!alfm9RZ3NkAF*w{3@05>h)6fYgc8Fc6G4^ zKze^RA7=j*2&<&Eq2s~mT<P_k(=mghb<5oYwLLr1VqUI|Y(6@1-xh(H8f2OTKMoIj zBd?0}NCDb@7NRi&duv+qT+_4l1Moce4)~EJ;+fYV*U3UI9TipE)uE&`9)7`8cnz{W zDXr%W#eXS8S0qpg>6P-@RgjFt^!dpHI(ufXo_LkwC9)U!2}PT&uP4rqgYSRUor`uZ zMciO@t&~Nwe0~&Zfa@nmB}_6I<7nn6(1#KT4~)5S(_q(7p=+m^6vkvgUtgsFAxSE- z=aPkLDp!PBj2`{<3%SH|(DtwE!~~O}@x{wqzJINMU}s4*msavu^b5h%{HUf;)8M@~ z7M`0{@}}n85P02NhuX>3(K|gVpNLUoC0rGe$+2{Ti89Cmcl|>NyIdWckj#=<z4!D; zIUBB9KwfpE`|vn+9_t(6(WsLt?T|jZ9ysayqloq6$palDvCN9f8(E=`@$kWB5rR>+ zJUt5Z_*tzpd0Xtpfy7)9N0|Zhu)A1Sp7Et*ejQaN8?baumjD0&0RRP9E;TSY000F; zFoFd?FoFXo0s#$^&k2ehFfcbUH!(9bI5jp}7Y#BqFgGzbF*7tcH8xr>SCilgK9jTx zI)APZwkP^rUT;gh96+9YMxE6i+<Nm3@f*4D--(Y&=PAVo`+~q3w=AGM#*kr$@J-j) z44z6x*pk7Y0#p**ap8xOoowGtwrS|u59zW^3+?n;B+>?`87l0D<*3<ON(ZF9Vr)+n zr-~l_eVJNh1833|wDdXsDUG!Tk>uz?BY&R!R=^t*_Q=LGl&H@zA!O3hKj;IPMu~AW z*T6eIi8K?T#P^R#i$85zgA(=D$bvwjP2DW=a3K%H!QP+LI*RR9WDFZSp#Wq26>ICg zK+_yFQOkD$U2Z%q(G%HB`4BxBIUP1a+{kpS^xfBW=lg?LBfEKxtz^>p&ZOEejej%k z6Ek(Mza^x8Z=t*%$PmM*XQHK~E_CKhuD=Nhri5S9NvnaRZ_B$Be_%F`zM;aJ$<9WK z=~<*su@*_dr9wwpcWcHwz85ZdUTtKXWh8DrYL+NO$CyGilS;*QWXYsWhHEmwyWBp= zF7AN{qvCWe_lT$Hc|@iBQN-IYD}O3SC51D0716i4ck)osRhQ7B#!fg4J35L3k}Peq zm*^tJ<OP%wkU4Bo52=vTV%#Xm1xbvV07W2V#J|W8=Y2d5`nU=a{M+R~`d$Pkc5IWS z8|<tmkHj*xdxx?u6nO#(nH61|Z`B7SN*p9Y2&0wOkfqoiONgNs#UZFWxCDD<xK)$x z3>kkOFO#M}`1sGnNz!(<O~9n0Q1?8IoSbC%-6==v^!<IutM`VAw|InGBZHTZJ63?p zQJhn7i{4w<m0zl0(VOLS545r+$i`zju;n1f*F*~O@L!@e6S#E&_p~2|16PPVYDOM< z&y85f&yRl=;Z@!h5Pfy8msthvK9vnxS!jQ%KiT&|u$a?>1g)GVlkPybJJ#qZ*K$)T zUyPdVSW?DkT?x=N6-sMiDtHK-8@v%o+pU#4{vH$)*Np?9N0>3WJTFjoEb>^22vXvv z$7sVKNtB2UbZ5_L{F#1FznHwFS-0Ic_hk;+Yi2r)*#Gbo{`j&nOkfb6JTZH2hn0UR zmsrK<W7$BhrMIG*Nh)k9;Ti4?X1CB;U$~`&<@n9}WpA&?#Moizi|u5OKt&DpxWyyX z!2@nw#TvC64u5dfOt{DDCowsj1^g*2a)I|zs=KF0TDITL&8oWj17ElKyT_q9t+U=+ zQCy|{GY}dg;AQNs?#`E1d7!7c2AzK(YqaEnnGWKY1`Uum4X(f@L){?jk04>hmz1xr zNeSxPar49io8ryf(RSh7Y+E|SN%Ehzk4@xLD*I#{F+tJxzb{Fmo;PL@CldnB9?S*- zm(ZEzK#KznK&iW=w@Unmj<J)D>$&>2WmE*)Q)gT{n;1p<s6d_0py8)R7_S(A1w+Yo Wl_G9PdSb*q4g(?z9xeC+4G!D)HvD7& diff --git a/dev-deployment/environments/keystores/server/truststore_server.jks b/dev-deployment/environments/keystores/server/truststore_server.jks index 614bace31449a03118733978f1716b3326e539c0..3ad9932ba4e9f999eebcacf469be064e2e7ad982 100644 GIT binary patch delta 3567 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 delta 3567 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 diff --git a/dev-deployment/pki/config/server/index.txt b/dev-deployment/pki/config/server/index.txt index cd6d92a5e..500a8b85d 100644 --- a/dev-deployment/pki/config/server/index.txt +++ b/dev-deployment/pki/config/server/index.txt @@ -29,3 +29,122 @@ V 231209054233Z 1C unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com V 231209094032Z 1D unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com V 231209094045Z 1E unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com V 231209094102Z 1F unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241018125847Z 20 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241018125856Z 21 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241018125903Z 22 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241018125911Z 23 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241018125915Z 24 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241018125923Z 25 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241018125929Z 26 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241018125940Z 27 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241018125946Z 28 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241018125951Z 29 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241018125957Z 2A unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241018130005Z 2B unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241018130009Z 2C unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241018130016Z 2D unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241018130024Z 2E unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241018130029Z 2F unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241018130037Z 30 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241018130044Z 31 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241018130054Z 32 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241018130100Z 33 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241103104727Z 34 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241103104732Z 35 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241103104735Z 36 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241103104740Z 37 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241103104747Z 38 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241103104753Z 39 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241103104804Z 3A unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241103104808Z 3B unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241103104816Z 3C unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241103104822Z 3D unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241103104830Z 3E unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241103104841Z 3F unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241103104848Z 40 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241103104854Z 41 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241103104902Z 42 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241103104907Z 43 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241103104910Z 44 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241103104916Z 45 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241103104923Z 46 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241103104929Z 47 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241115080032Z 48 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241115080038Z 49 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241115080044Z 4A unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241115080052Z 4B unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241115080059Z 4C unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241115080104Z 4D unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241115080110Z 4E unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241115080116Z 4F unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241115080120Z 50 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241115080125Z 51 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241115080129Z 52 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241115080136Z 53 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241115080139Z 54 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241115080142Z 55 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241115080147Z 56 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241115080154Z 57 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241115080159Z 58 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241115080205Z 59 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241115080213Z 5A unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241115080218Z 5B unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241203111601Z 5C unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=sandbox78-adm.cines.fr +V 241203111609Z 5D unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=sandbox78-adm.cines.fr +V 241203111613Z 5E unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=sandbox78-adm.cines.fr +V 241203111621Z 5F unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=sandbox78-adm.cines.fr +V 241203111626Z 60 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=sandbox78-adm.cines.fr +V 241203111632Z 61 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=sandbox78-adm.cines.fr +V 241203111641Z 62 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=sandbox78-adm.cines.fr +V 241203111646Z 63 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=sandbox78-adm.cines.fr +V 241203111653Z 64 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=sandbox78-adm.cines.fr +V 241203111703Z 65 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=sandbox78-adm.cines.fr +V 241203111709Z 66 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=sandbox78-adm.cines.fr +V 241203111714Z 67 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=sandbox78-adm.cines.fr +V 241203111719Z 68 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=sandbox78-adm.cines.fr +V 241203111723Z 69 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=sandbox78-adm.cines.fr +V 241203111727Z 6A unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=sandbox78-adm.cines.fr +V 241203111736Z 6B unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=sandbox78-adm.cines.fr +V 241203111741Z 6C unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=sandbox78-adm.cines.fr +V 241203111748Z 6D unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=sandbox78-adm.cines.fr +V 241203111752Z 6E unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=sandbox78-adm.cines.fr +V 241203111757Z 6F unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=sandbox78-adm.cines.fr +V 241205095054Z 70 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205095100Z 71 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205095111Z 72 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205095116Z 73 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205095121Z 74 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205095125Z 75 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205095129Z 76 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205095135Z 77 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205095139Z 78 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205095146Z 79 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205095153Z 7A unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205095202Z 7B unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205095209Z 7C unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205095215Z 7D unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205095219Z 7E unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205095225Z 7F unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205095230Z 80 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205095235Z 81 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205095240Z 82 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205095244Z 83 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205125407Z 84 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205125412Z 85 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205125416Z 86 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205125423Z 87 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205125428Z 88 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205125432Z 89 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205125436Z 8A unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205125444Z 8B unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205125451Z 8C unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205125456Z 8D unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205125504Z 8E unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205125512Z 8F unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205125516Z 90 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205125521Z 91 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205125525Z 92 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205125532Z 93 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205125539Z 94 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205125546Z 95 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com +V 241205125555Z 96 unknown /C=fr/ST=idf/L=paris/O=vitamui/CN=dev.vitamui.com diff --git a/dev-deployment/pki/config/server/serial b/dev-deployment/pki/config/server/serial index 209e3ef4b..c17e934b5 100644 --- a/dev-deployment/pki/config/server/serial +++ b/dev-deployment/pki/config/server/serial @@ -1 +1 @@ -20 +97 diff --git a/tools/docker/mongo/hosts b/tools/docker/mongo/hosts index adfaf9695..2a002443f 100644 --- a/tools/docker/mongo/hosts +++ b/tools/docker/mongo/hosts @@ -14,6 +14,7 @@ hosts_vitamui_iam_external hosts_vitamui_security_internal hosts_vitamui_referential_internal hosts_vitamui_referential_external +hosts_vitamui_pastis_external [hosts_vitamui_iam_internal] localhost @@ -30,6 +31,10 @@ localhost [hosts_vitamui_referential_external] localhost + +[hosts_vitamui_pastis_external] +localhost + ######################################################## # ZONE UI ######################################################## @@ -41,6 +46,7 @@ hosts_ui_portal hosts_ui_referential hosts_ui_ingest hosts_ui_archive_search +hosts_ui_pastis [hosts_ui_identity] # We deploy only ui_identity_admin on dev - same certificat is used for these apps. @@ -57,6 +63,9 @@ localhost [hosts_ui_archive_search] localhost +[hosts_ui_pastis] +localhost + ######################################################## # ZONE ADMIN ######################################################## diff --git a/tools/docker/mongo/mongo_vars_dev.yml b/tools/docker/mongo/mongo_vars_dev.yml index a61444623..0280e9f4c 100644 --- a/tools/docker/mongo/mongo_vars_dev.yml +++ b/tools/docker/mongo/mongo_vars_dev.yml @@ -97,3 +97,5 @@ vitamui: base_url: "https://dev.vitamui.com:4208" archive_search: base_url: "https://dev.vitamui.com:4209" + pastis: + base_url: "https://dev.vitamui.com:4251" diff --git a/ui/pom.xml b/ui/pom.xml index 50bc8ca46..a92bbc64e 100644 --- a/ui/pom.xml +++ b/ui/pom.xml @@ -22,6 +22,7 @@ <module>ui-referential</module> <module>ui-ingest</module> <module>ui-archive-search</module> + <module>ui-pastis</module> </modules> </project> diff --git a/ui/ui-archive-search/src/main/resources/dev/keystore_ui-archive-search.jks b/ui/ui-archive-search/src/main/resources/dev/keystore_ui-archive-search.jks index a39b67cc37abfde7a4092359d206e3e7433388cf..aff40353297443cbac591fffabb71d29f7d72aba 100644 GIT binary patch delta 3576 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 delta 3575 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 diff --git a/ui/ui-archive-search/src/main/resources/dev/keystore_ui-referential.jks b/ui/ui-archive-search/src/main/resources/dev/keystore_ui-referential.jks index 6a435ca4cb27e75cf6ad522732f18d6f2afe3797..e902481e5c3b1854ed1a3e058b9e3b79942b065e 100644 GIT binary patch delta 3595 zcmV+m4)pPv9-AJJBY%C5(+2ba011dNf(e8$4h9M<1_1;CDgqG!0R;dAf(dZmu0pcy z45qKWxT9s26&O^Ye(&lfxw0BmQ0sT31ae>5i48JzMpR}*IT6)kyb^4MyQm4cewuS9 zQp^K>ZNDPaW~Kk$J4#0I3nZT`VTj9z!m4Rmli*Y>e6e*vzkiSN<!%RAgBNSqU)EaX zl{D>R`@p&XLN42r><xSrvv7ebsgCresV6I>+&I&F?C;g0m1ZqRRqN(Apr+gY3CN#$ zAIoeemgH2I>nQo(7y2napHdZ^@|&3pQaMW>64{)LxVWA`T8NiUW7OSA3Qw%nX^S5; zp#?C$-6GG+w0~ruNCGmVhYN_j`DzKrWjU=!T@~DUrr)8CY7jPG;C<DD9`en=o<fCR z4}V@vshVcCYGoXIq3d3Kg`G>3oX{LZEMt7G#bl`Ja8E0y&oO%W=}!99km(MMLI83) zEIMkNgVh4;@UyYhZC_}>O5`}W$Zjh|VK}Ms>gJtQ34b8qy?%?CP|HpDITxuixObHn zH0R9Dcj-(BKA<5A`#^234CU)}`S$kNH@Uvu9f!G+C<0i8+wEo8psQutpW<ftSp>qC z_zC9eMZ|D@NeV-76H2^P(h{t&6$L?8348?$&Kz#wfrkA$4Z862PpNx;^H{$m*dI*+ zI`xt$C4XpXiqsG^Vmw2EX)vtO+*$P#MoK1SG5f|FnFM@SqDcQRUdY#%wh*=O&ePn{ z2Q)7{RrZ;euY}5hg`klE9+MEN{}1MeanOwa*1BtfYYyBmLmgv$NX^HDA|VpDs?RIj z>N@=EcjZef6b${j^E0UkSAl%VAQq?lMKZkKhJQ?dS9mdGRsAmCN&A*UG$ANH(a=WM z{}~=k`){Lp+NE`$Y<Ra4ZugYQ9vbn)pDAD@U`DB^#UeW{=v~3riG6T);ziEUt6Bz> zKtyX-&4<j8N$3bIeLmZ21j@A}Hu=wOmHWZzi)v_z1*G0Ph3vQkjkhpg&$4jyA-j)7 zQGXkm9zD0k_Kv(5L0o^RMecl-Ug}_OAUVG^ul9D*CZ)jIB1Bwk(4GwDr7V0Kk<=AJ zs?}T>i5$|XuC)!3NWqBG!H*KCZ<$f|DUzC=^FEDdIB3-Z|2_alTnf>3_F?kuVY%40 zClj88xppa0<?WEHIPvZ(f1|ZO-&j_pCVxRo8nrZkH$G&b@k{gj%-g&*BsZnYyHc$- zUDI%I5#&7!I2>4N-i>%W>&_4q_eR1(91Vi9>sC46u;L$SK<IGq+Ad@efrv`_s3D(@ zhaPk*;1P>*q~&2MVlNo;Zz|5GwMqts??w_K*8=UX*k~@~DW?TrocA)rxyzQ!KYtx+ zs@8L>rc!n+ctpbdxwYw}ke%vbV%*rvUB~2@k)^~kq~7H!!p!FF!t4VFAT`8_Pjd*0 zBXZovAi|1FX1Z9bmr&tg@be>eFW0ABGY@;cI*V4_qx+rkw&OQ**VYgE4Cr4Qs)sXk ziUit82x__P?y1se4Vls3u(Rh5v45A{H;l)wfPaEo&Cn0=1$*bS3T8x{mdxj!i&_qt zh$rDd@Iq*L;o}cbKC5^K0dQd?k{>a-mpA=EX;mPQ&y(M>TkemS@zc;N>h#@?5?$Wx z-(0kmjg;n9M$PBQmRYf9ko`DDS8ZDF2PJa~BzP-y*v~!G=`o7ERAe6{n15WXboAhY zW>6B&mfAV-Cf$4cpZ)3ea8pTIuFElbIA#>XC;LEh@@7V>Qt>XfH>diCEGwKzB-rd} zEfMsjVNiLLQJi!2@pU%DHj&E5iJGG*>zE0r#XHErvpCxlOQl&0PBNOAt~XQM5~$@n zO!WN}_dMz1fy91S(Um9dB!Bf`?8xyPUelFIj|h1#;e=`!8<ocvPtR4|R3&mHfJpO4 z7Po*)G~)H(^wcJ-pW89m!j}1PF&oL>!i#lNj9lNN-A5*+<;<-jGvEZ_RJX1=N~=0# zU-C>_a?EtKLZ{-reojdkGeSgGJ2FgQjsE{{1!V5AB(sGLS-PUI?0+g4L-_#q%s9uK zyW_q6hw(C55Ekdp^imF30sE-JjHry|Ns+V~Me=$FHElz59louCOaf(>h%I|vHgmG! zO$jxMd=Y;LK2I)Z)Wn$^CbD&&Lm$hg@(~rrm0|}3m2_mpL|cGbmNhEXxtik@&DHel zmL&ysYaN>^Z9z!<e1FBgbsNel8C@cgRkjPBKLEkY2J^}8&k+Nr(^;{>?D}HJ`2=5u zsqOTn-)}oZP{5Swt!KX^UTS=YGu)Ac;~%@`_?5##uZ(Aw*AxMJ;B>D650dRiI;H_H zZpQDP6GJdwcBF&_>$VxFt<u&UJL-7_Cn;!*!aRzB2cK6&GJm@dZy8OWsS4-SZ~0l= zQZP^4G7>5q=7yv!3AXG(7z4*N!xkKB-x5VWNFHM>oUpXfUMxHC5BFHLPoviIhY^1h z??%wO3Z<@`)b+K}fJq5~5de0sdHc+X6DU*@L~0__m^ZaMFNZpagC+h28<JF=z6>Cl zAV$GX>QWRenSX#9Xfki=#z{Z}<OC4FOTu#OCEI~`!{2RNuhb`|T(21Co85;HpkIJ5 zm{JrC7OA2I&(<!2gl=wPAM|eeha*e}`M}_xsL&Z_b?7`R^D=5~1IhHtp&6ry1oTot zr<=M%P0Aw(0KFE?!I*0{K1E;HXEJY3==c6*<#@zT*?%(-poQj)N-rJRj>XHbi{o4? zlx^lI1erb5B8AT21q4AQMB>x*NVTrA?6<rPcd_6rrw`SyOo;Xs8FSq~RZ3Cz=o+3* zhW`5gf)tv6W}_UHwmv==I$?Ouf4tZLEgt%hS15Jr#ePEiVB!BSj^jEE7db-dY{}&~ zqvO-(D1Q&6kRa1GkVgO82$k5TKcrN|<b7xt%Kx>saW>yUI;NcfSJ|R4KhpWlSq2-V zU`j>h;~$DyKX=?#A7@4L2Tl(UaO#S#29gIFv~Hfk)y=$S;06cOTuR#$GDu|u-)kX} zU`G^HL;t)t9@dZ%f#FQ~PDPD?dL)x&I0G~{Kz~@+qY_UNNp6c=^x+FJ@9&P8_Yqnb zsnFG6lzTbwC*7~x)SM7xrw!_jX3P}oDvG@+Pl22_${U+KAM~wNokf4iyvq($knPGz zu%!H^HDZ4GFg1;Jbx(;|jM_(KsUcHF)PG=23Ng178yINnfgFtvhE*ZAj*2=o%$}%= zzdwaa=u)`|5gL<UhGPw1NYdVBq)Hou4DOA<a#fuTgx2o69k&1g00966SS~d%IRF3! zL@<H{Krn&>C;|cil9SB|iW)I7GB7qVGBq_aHCh)9GBhzVFf}nUH8nCdlW_`rf4%QL zYzPQ>HR?zpofe!3w6V76{g#z6M95ayuRD@eh21&%)zT4}csV|b)R$VUK@0aVz?K?1 zo*Kto+m0^|-Zy#I$SOg}lwhGAO_Y4l*D38L=c0N#3qvZRkHgNK=7gA9UDB8vF|&G4 zdUmg)R2nTkFv&;^(|kY*?w5e9e@c^)36O(G4u-+&df@O$i6NUV;!RG+GyE5IeH!yh z!=MS=qgoVPg3O`??`bIShY(bl!erDVYO1jMN?3FYIo#d*&ggwk|A0w#1FSWN{YGSQ zlbX5awZ`sO?Qv3EvY})hdJeK?fbB=DVW9Lu4R~b=xlJX2q&wZ1$7RMue?3L^>-QAm zTS|$G7{*mNIUmYg-9vw@eR!D#H52orsz$+JEV*MuQ;3L8QZ{e9DE6o02huQ-8It65 z!S<>YM6D=$*lQTiagI_(O0jlp)XIJk1_C-z!}mQWiE4}uj8~CC+GhURWBv$%rj{js zZm^I*mB#=g>jahg+J}%!e?QgoJLf2}f=I<fnc|zY)=`44a>&*#PF5A5wMY_Yc)MCU znMgC5e<74ZiX%pP0N1^(y*TFliD}L*)v>LV)CSAyULs-6H#Pe)bQw0^)9HWII|o+P z1#lL2?r<I~^^fJn0Xd_!&*T!&RO)Wy%F4rx3#BzPC;TBCPVe+b1dK-l$&>618Gk#o z_g|r)^j%M#F=BEb4E1^ZuLBvK$hqGM*a^)vzAxcz^O3P;BmZL-m_KTc&m#t}R&%&N zm>_{U-pnTbrjZ6-8QFIWTWkBjZQ0WmGC46Ku8&cSCi}@{i?|9BG<+4De~MrPHRq4j z&wI~%j~Q<tz+1bgq*34$_TY#9Lx1q|+l^5WS}HgfO}&pU?U*yHf(UQw)|#nO0UXOt z!OCCgs#}>(o`c=)!iYAiS}4ev*qNXy7I%HoVRflrxHmxRGVPAZejT*Ce;o|HWue*b z6uQx9cnKpp=)~!S!wmeMStxvc%%pa=|KN9ZS2+an_}&ZIl_=?g+m=Rz)_-7^41O+I zn8tAqj&RE0Zx+5cPza$tC`&m@(rJB#vc1sFpyvofSHixp9FBE<%i*Au6ah-m>yapc z&uhM*2gXvvX-RVS;(NY+*zlR9gZ0yOE`vd^fbA*;9YqEzFhdIf^sY_1q&kla=>B{F zp2=6uut}szWVKD3vq#cU6Mq}+R|}Z!o^$7k-$Xb`nKmdnFT8fiiNVu&)?$AQHk~ed zPO-&x?j-Y{`Eo;TcRcBfm1yhc=$Z8!=?VDFTAu{y>dC_$lEt#{R^wcI8kOC=rug12 z;jG~j5cYRq|0YA&GLJuB1^V3oo3GS%qezb4^VyMBm%`4*AUPBcgBUp?SJlo->vEr^ RZFFK|?qj6l3A8IuF{xnd<%j?P delta 3600 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 W7W6y`j0RyXHY>4760^WLj*-*Pc+ma; diff --git a/ui/ui-archive-search/src/main/resources/dev/truststore_server.jks b/ui/ui-archive-search/src/main/resources/dev/truststore_server.jks index 614bace31449a03118733978f1716b3326e539c0..3ad9932ba4e9f999eebcacf469be064e2e7ad982 100644 GIT binary patch delta 3567 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 delta 3567 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 diff --git a/ui/ui-commons/src/main/java/fr/gouv/vitamui/ui/commons/property/BaseUrl.java b/ui/ui-commons/src/main/java/fr/gouv/vitamui/ui/commons/property/BaseUrl.java index e31b54354..c9a51b3e6 100644 --- a/ui/ui-commons/src/main/java/fr/gouv/vitamui/ui/commons/property/BaseUrl.java +++ b/ui/ui-commons/src/main/java/fr/gouv/vitamui/ui/commons/property/BaseUrl.java @@ -55,4 +55,6 @@ public class BaseUrl { private String identity; + private String pastis; + } diff --git a/ui/ui-commons/src/main/java/fr/gouv/vitamui/ui/commons/service/ApplicationService.java b/ui/ui-commons/src/main/java/fr/gouv/vitamui/ui/commons/service/ApplicationService.java index 0f8c7cdb4..fb87a1ffa 100644 --- a/ui/ui-commons/src/main/java/fr/gouv/vitamui/ui/commons/service/ApplicationService.java +++ b/ui/ui-commons/src/main/java/fr/gouv/vitamui/ui/commons/service/ApplicationService.java @@ -187,6 +187,7 @@ public class ApplicationService extends AbstractCrudService<ApplicationDto> { configurationData.put(CommonConstants.PORTAL_URL, properties.getBaseUrl().getPortal()); configurationData.put(CommonConstants.ARCHIVES_SEARCH_URL, properties.getBaseUrl().getArchivesSearch()); configurationData.put(CommonConstants.INGEST_URL, properties.getBaseUrl().getIngest()); + configurationData.put(CommonConstants.PASTIS_URL, properties.getBaseUrl().getPastis()); configurationData.put(CommonConstants.REFERENTIAL_URL, properties.getBaseUrl().getReferential()); configurationData.put(CommonConstants.CAS_LOGIN_URL, getCasLoginUrl()); configurationData.put(CommonConstants.CAS_LOGOUT_URL, casLogoutUrl.getValue()); diff --git a/ui/ui-frontend-common/icomoon-selection.json b/ui/ui-frontend-common/icomoon-selection.json index d2e7ba28b..c55e59eb2 100644 --- a/ui/ui-frontend-common/icomoon-selection.json +++ b/ui/ui-frontend-common/icomoon-selection.json @@ -1 +1 @@ -{"IcoMoonType":"selection","icons":[{"icon":{"paths":["M772.437 85.434c4.143-0.003 8.107 1.672 10.995 4.64l171.473 171.473v604.799c-0.055 39.915-32.401 72.265-72.32 72.32h-511.597c-39.918-0.055-72.266-32.405-72.322-72.32v-90.074c0-8.499 6.887-15.386 15.382-15.386s15.382 6.886 15.382 15.386v90.074c0.111 22.903 18.653 41.446 41.557 41.557h516.44c22.903-0.111 41.446-18.654 41.557-41.557v-578.674h-109.039c-34.739-0.055-62.886-28.203-62.942-62.941v-108.634h-386.016c-22.904 0.111-41.446 18.653-41.557 41.557v90.074c0 8.495-6.887 15.382-15.382 15.382s-15.382-6.887-15.382-15.382v-90.074c0.055-39.918 32.404-72.266 72.322-72.322v0.101h401.449zM907.298 257.412l-119.526-119.527v87.351c0.111 17.725 14.451 32.066 32.175 32.177h87.351z","M512 491.874c-0.162-4.228-1.92-9.126-4.809-12.203l-94.653-100.57c-6.424-5.754-18.718-8.134-25.882-1.479-7.072 6.563-6.84 19.296 0.185 25.882l66.552 70.624-393.964 0.043c-9.798 0-16.762 7.91-16.762 17.711 0 9.796 6.964 15.812 16.762 15.812l393.964 1.929-66.552 70.626c-6.054 6.080-7.187 19.251-0.185 25.882 6.979 6.635 19.735 4.506 25.882-1.476l94.653-100.574c3.238-3.443 4.809-7.492 4.809-12.207z"],"attrs":[{"fill":"rgb(117, 117, 117)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":21.333333333333332},{"fill":"rgb(117, 117, 117)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":21.333333333333332}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["ic24-user-transfer"],"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[{"f":4,"s":4},{"f":4,"s":4}]}},"attrs":[{"fill":"rgb(117, 117, 117)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":21.333333333333332},{"fill":"rgb(117, 117, 117)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":21.333333333333332}],"properties":{"order":9,"id":168,"name":"ic24-user-transfer","prevSize":32,"code":59742},"setIdx":1,"setId":2,"iconIdx":0},{"icon":{"paths":["M133.267 85.333c-26.2 0-48 21.8-48 48v85.333c-0.134 1.067-0.134 2.133 0 3.2v546.133c0 9.399 7.667 17.067 17.067 17.067h443.732c6.135 0.068 11.87-3.132 15.002-8.465 3.068-5.333 3.068-11.87 0-17.203-3.132-5.333-8.866-8.533-15.002-8.465h-426.665v-512h682.665v307.2c-0.064 6.135 3.136 11.866 8.469 15.002 5.333 3.063 11.866 3.063 17.199 0 5.333-3.136 8.533-8.866 8.465-15.002v-324.267c0.137-1.067 0.137-2.133 0-3.2v-85.333c0-26.2-21.798-48-48-48h-654.932zM133.267 119.467h654.932c7.936 0 13.867 5.933 13.867 13.867v71.467h-682.665v-71.467c0-7.933 5.933-13.867 13.867-13.867zM204.733 341.333v34.133h68.267v-34.133h-68.267zM324.2 341.333v34.133h392.532v-34.133h-392.532zM204.733 426.667v34.133h68.267v-34.133h-68.267zM324.2 426.667v34.133h392.532v-34.133h-392.532zM204.733 512v34.133h68.267v-34.133h-68.267zM324.2 512v34.133h392.532v-34.133h-392.532zM204.733 597.333v34.133h68.267v-34.133h-68.267zM324.2 597.333v34.133h273.065v-34.133h-273.065zM767.932 597.333c-94.067 0-170.667 76.599-170.667 170.667s76.599 170.667 170.667 170.667c94.067 0 170.667-76.599 170.667-170.667s-76.599-170.667-170.667-170.667zM767.932 631.467c75.601 0 136.533 60.932 136.533 136.533s-60.932 136.533-136.533 136.533c-75.597 0-136.533-60.932-136.533-136.533s60.937-136.533 136.533-136.533zM706.598 690.667c-0.734 0.132-1.463 0.333-2.133 0.533-6.4 1.135-11.533 5.798-13.333 11.998-1.801 6.268 0.068 12.937 4.8 17.335l47.467 47.467-47.467 47.467c-6.797 6.801-6.797 17.732 0 24.533 6.801 6.801 17.737 6.801 24.533 0l47.467-47.467 47.467 47.467c6.801 6.801 17.737 6.801 24.533 0 6.801-6.801 6.801-17.732 0-24.533l-47.467-47.467 47.467-47.467c5.534-5.133 7.002-13.265 3.669-20.002-3.268-6.797-10.667-10.53-18.069-9.331-3.797 0.401-7.398 2.133-10.133 4.8l-47.467 47.467-47.467-47.467c-3.533-3.802-8.666-5.734-13.867-5.333z"],"attrs":[{"fill":"rgb(117, 117, 117)"}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["ic24-élimination"],"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[{"f":4}]}},"attrs":[{"fill":"rgb(117, 117, 117)"}],"properties":{"order":10,"id":167,"name":"ic24-limination","prevSize":32,"code":59743},"setIdx":1,"setId":2,"iconIdx":1},{"icon":{"paths":["M238.954 128c-11.782 0-21.333 9.551-21.333 21.333v42.667c0 11.782 9.551 21.333 21.333 21.333s21.333 9.551 21.333 21.333v9.796c0 28.815 3.479 56.498-16.903 76.88-37.266 37.266-72.718 87.863-72.718 140.567l0.001 341.645c0 74.086 22.646 92.446 96.73 92.446h450.37c74.086 0 97.19-18.359 97.19-92.446l-0.004-341.645c0-52.704-35.904-103.301-73.173-140.567-20.382-20.381-12.156-65.343-12.16-76.88v-9.796c0-11.782 9.549-21.333 21.333-21.333 11.78 0 21.333-9.551 21.333-21.333v-42.667c0-11.782-9.553-21.333-21.333-21.333h-512.001zM302.954 192c0-11.782 9.551-21.333 21.333-21.333h341.334c11.78 0 21.333 9.551 21.333 21.333v52.463c0 14.409 0 51.654 0 75.538 0 11.782-9.553 21.332-21.333 21.332h-341.329c-11.782 0-21.334-9.538-21.334-21.32-0.001-30.342-0.004-75.54-0.004-75.55 0-0 0 0 0-0v-52.463zM237.427 407.322c3.464-5.891 10.003-9.1 16.837-9.1h476.637c6.835 0 13.376 3.208 16.836 9.1 9.673 16.445 15.070 35.2 15.070 54.588v341.645c0 25.451-19.593 45.039-45.039 45.039h-450.37c-25.447 0-45.037-19.588-45.037-45.039v-341.645c0-19.388 5.397-38.143 15.066-54.588z"],"attrs":[{"fill":"rgb(117, 117, 117)"}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["ic24-préservation"],"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[{"f":4}]}},"attrs":[{"fill":"rgb(117, 117, 117)"}],"properties":{"order":11,"id":166,"name":"ic24-prservation","prevSize":32,"code":59744},"setIdx":1,"setId":2,"iconIdx":2},{"icon":{"paths":["M128 554.667h85.333v-85.333h-85.333v85.333z","M128 725.333h85.333v-85.333h-85.333v85.333z","M128 384h85.333v-85.333h-85.333v85.333z","M298.667 554.667h597.333v-85.333h-597.333v85.333z","M298.667 725.333h597.333v-85.333h-597.333v85.333z","M298.667 298.667v85.333h597.333v-85.333h-597.333z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["list_24px_outlined"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":12,"id":0,"name":"filing-plan","prevSize":32,"code":60023},"setIdx":1,"setId":2,"iconIdx":3},{"icon":{"paths":["M601.456 395.636h-93.091v-139.636h-139.637v-93.091h139.637v-139.636h93.091v139.636h139.636v93.091h-139.636v139.636zM229.557 907.636c0-51.2 41.425-93.091 92.625-93.091s93.091 41.891 93.091 93.091c0 51.2-41.891 93.091-93.091 93.091s-92.625-41.891-92.625-93.091zM787.638 814.545c-51.2 0-92.625 41.891-92.625 93.091s41.425 93.091 92.625 93.091c51.2 0 93.091-41.891 93.091-93.091s-41.891-93.091-93.091-93.091zM720.147 581.818h-346.765l-51.2 93.091h558.546v93.091h-558.546c-70.749 0-115.433-75.869-81.455-138.24l62.836-113.571-167.563-353.28h-93.091v-93.091h152.203l198.284 418.909h326.75l180.131-325.818 80.989 44.684-179.665 326.284c-15.825 28.858-46.545 47.942-81.455 47.942z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["add basket"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":13,"id":1,"name":"add-basket","prevSize":32,"code":60020},"setIdx":1,"setId":2,"iconIdx":4},{"icon":{"paths":["M844.8 76.8l-76.8-76.8-76.8 76.8-76.8-76.8-76.8 76.8-76.8-76.8-76.8 76.8-76.8-76.8-76.8 76.8-76.8-76.8-76.8 76.8-76.8-76.8v1024l76.8-76.8 76.8 76.8 76.8-76.8 76.8 76.8 76.8-76.8 76.8 76.8 76.8-76.8 76.8 76.8 76.8-76.8 76.8 76.8 76.8-76.8 76.8 76.8v-1024l-76.8 76.8zM102.4 875.008v-726.016h716.8v726.016h-716.8zM768 768v-102.4h-614.4v102.4h614.4zM768 460.8v102.4h-614.4v-102.4h614.4zM768 358.4v-102.4h-614.4v102.4h614.4z"],"width":922,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["export result"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":14,"id":2,"name":"export-result","prevSize":32,"code":60021},"setIdx":1,"setId":2,"iconIdx":5},{"icon":{"paths":["M568.889 28.444h-341.333v341.333h-227.556l398.222 398.222 398.222-398.222h-227.556v-341.333zM455.111 142.222v341.333h66.56l-123.449 123.449-123.449-123.449h66.56v-341.333h113.778zM0 995.556v-113.778h796.444v113.778h-796.444z"],"width":796,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["download"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":15,"id":3,"name":"download-basic","prevSize":32,"code":60022},"setIdx":1,"setId":2,"iconIdx":6},{"icon":{"paths":["M512 1024h-426.667c-47.128 0-85.333-38.205-85.333-85.333h0v-853.333c-0-47.128 38.205-85.333 85.333-85.333v0h426.667c47.128-0 85.333 38.205 85.333 85.333v0 853.333c0 47.128-38.205 85.333-85.333 85.333v0zM85.333 64c-11.782 0-21.333 9.551-21.333 21.333v0 853.333c0 11.782 9.551 21.333 21.333 21.333v0h426.667c11.782 0 21.333-9.551 21.333-21.333v0-853.333c0-11.782-9.551-21.333-21.333-21.333v0z","M328.533 877.333h-59.733c-14.728 0-26.667-11.939-26.667-26.667v0c0.293-14.608 12.058-26.374 26.639-26.666l0.028-0h59.733c14.608 0.293 26.374 12.058 26.666 26.639l0 0.028c0 14.728-11.939 26.667-26.667 26.667v0z"],"width":597,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["mobile"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":16,"id":4,"name":"mobile","prevSize":32,"code":60018},"setIdx":1,"setId":2,"iconIdx":7},{"icon":{"paths":["M1188.571 1024h-1170.286c-10.099 0-18.286-8.187-18.286-18.286v0-790.309c0-10.099 8.187-18.286 18.286-18.286v0h469.577l-15.36-126.537c-0.27-2.188-0.424-4.721-0.424-7.289 0-16.208 6.13-30.985 16.199-42.137l-0.049 0.055c11.753-13.034 28.693-21.196 47.54-21.211l135.683-0c18.85 0.015 35.79 8.177 47.492 21.155l0.050 0.057c10.037 11.002 16.184 25.702 16.184 41.838 0 2.655-0.166 5.272-0.489 7.839l0.031-0.306-15.36 126.537h469.211c10.099 0 18.286 8.187 18.286 18.286v0 790.309c0 10.099-8.187 18.286-18.286 18.286v0zM36.571 987.429h1133.714v-753.737h-455.314l-7.314 61.44c-4.131 31.512-30.816 55.589-63.124 55.589-0.051 0-0.102-0-0.153-0l0.008 0h-81.554c-0.043 0-0.094 0-0.145 0-32.308 0-58.992-24.077-63.089-55.267l-0.035-0.322-5.851-61.44h-457.143zM526.629 213.943l9.143 76.8c2.026 13.296 13.363 23.37 27.059 23.406l0.004 0h81.554c13.7-0.036 25.036-10.11 27.044-23.253l0.019-0.152 9.143-76.8 17.92-146.286c0.066-0.718 0.104-1.553 0.104-2.397 0-6.922-2.531-13.254-6.717-18.119l0.031 0.037c-5.102-5.559-12.374-9.057-20.465-9.143l-0.015-0h-135.68c-8.009 0-15.195 3.527-20.088 9.112l-0.026 0.031c-4.219 4.447-6.813 10.471-6.813 17.101 0 1.192 0.084 2.364 0.246 3.51l-0.015-0.132 17.554 146.286zM608.914 863.086h-410.331c-0.109 0.001-0.237 0.002-0.366 0.002-18.582 0-33.646-15.064-33.646-33.646 0-0.001 0-0.001 0-0.002l-0 0v-54.857c0.041-14.342 9.050-26.57 21.712-31.374l0.231-0.077c113.006-43.154 138.971-62.171 146.286-68.754v-9.874c-13.337-15.754-23.833-34.398-30.4-54.805l-0.32-1.149c-8.993-8.353-15.202-19.593-17.149-32.238l-0.039-0.31c-0.344-2.309-0.541-4.975-0.541-7.686 0-10.696 3.061-20.677 8.355-29.115l-0.134 0.229v-41.691c0-64.731 42.423-103.497 112.64-103.497s112.64 38.766 112.64 103.497v42.789c5.257 7.912 8.389 17.632 8.389 28.083 0 2.999-0.258 5.937-0.752 8.794l0.044-0.305c-1.821 12.886-8.072 24.055-17.136 32.137l-0.052 0.046c-6.721 21.593-17.24 40.264-30.895 56.163l0.175-0.208v11.337c5.12 5.486 29.623 24.869 146.286 68.389 12.893 4.882 21.902 17.109 21.943 31.446l0 0.005v54.857c-1.119 17.875-15.891 31.949-33.949 31.949-1.052 0-2.093-0.048-3.121-0.141l0.132 0.010zM201.143 829.074v0zM201.143 826.514h405.211v-49.737c-143.36-54.491-160.914-76.069-166.034-92.16-0.085-0.822-0.134-1.777-0.134-2.743s0.049-1.92 0.144-2.861l-0.010 0.118v-21.943c-0.001-0.062-0.001-0.136-0.001-0.21 0-4.968 2.107-9.443 5.477-12.581l0.010-0.010c13.308-14.030 23.221-31.412 28.341-50.744l0.185-0.822c1.233-4.258 3.819-7.793 7.254-10.2l0.060-0.040c3.688-2.627 6.25-6.63 6.937-11.245l0.011-0.092c0.116-0.742 0.182-1.597 0.182-2.468 0-4.076-1.45-7.814-3.862-10.725l0.023 0.028c-2.724-3.029-4.39-7.057-4.39-11.474 0-0.081 0.001-0.161 0.002-0.241l-0 0.012v-48.64c0-44.983-24.869-66.926-76.069-66.926s-76.069 23.040-76.069 66.926v48.64c0 0.002 0 0.004 0 0.006 0 4.43-1.514 8.506-4.054 11.738l0.031-0.041c-2.571 2.987-4.137 6.903-4.137 11.185 0 0.698 0.042 1.386 0.122 2.062l-0.008-0.082c0.695 4.792 3.416 8.837 7.25 11.299l0.064 0.038c3.286 2.64 5.807 6.103 7.263 10.080l0.051 0.16c5.305 20.153 15.218 37.535 28.575 51.618l-0.049-0.052c3.168 3.283 5.12 7.759 5.12 12.69 0 0.039-0 0.077-0 0.116l0-0.006v21.943c0.169 0.825 0.266 1.772 0.266 2.743s-0.097 1.918-0.282 2.834l0.015-0.091c-5.12 16.091-22.674 36.571-167.497 92.526zM1027.657 668.526h-282.331c-10.099 0-18.286-8.187-18.286-18.286v0c0-10.099 8.187-18.286 18.286-18.286v0h282.331c10.099 0 18.286 8.187 18.286 18.286v0c0 10.099-8.187 18.286-18.286 18.286v0zM1027.657 549.669h-282.331c-10.099 0-18.286-8.187-18.286-18.286v0c0-10.099 8.187-18.286 18.286-18.286v0h282.331c10.099 0 18.286 8.187 18.286 18.286v0c0 10.099-8.187 18.286-18.286 18.286v-0z"],"width":1207,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["gestion de profil"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":17,"id":5,"name":"gestion-de-profil","prevSize":32,"code":60019},"setIdx":1,"setId":2,"iconIdx":8},{"icon":{"paths":["M-197.3-120.764h1787.048v1235.422h-1787.048v-1235.422z","M65.438 681.882v-202.524l233.794-134.99v202.498l-233.794 135.016z","M65.438 479.358l-233.77-134.99v202.498l233.77 135.016v-202.524z","M65.438 209.352l-233.77 135.016 233.77 134.99 233.794-134.99-233.794-135.016z","M-80.674 394.986l233.794-135.016 58.43 33.754-233.77 135.016-58.454-33.754z","M-45.652 415.214l233.77-135.016-11.588-6.7-233.77 135.016 11.588 6.7z","M170.14 562.49l24.39-14.096v24.418l-24.39 14.096v-24.418z","M182.324 457.812c-20.692 11.976-36.598 37.012-36.598 57.756l24.418-14.096c0.514-8.296 5.248-15.382 12.062-19.182l0.12-0.060c7.32-4.242 12.208-2.174 12.208 5.174-0.118 4.844-1.95 9.238-4.908 12.618l0.020-0.024c-13.424 17.51-19.502 34.452-19.502 50.308l24.39-14.096c0-8.534 2.586-16.036 9.776-25.142 8.534-12.26 14.64-26.77 14.64-37.762 0-20.666-15.854-27.468-36.626-15.492z","M1389.836 899.33l-339.17-195.85v214.344l339.168 195.876v-214.37z","M1389.836 507.604l-339.17 195.878 339.168 195.85 339.168-195.85-339.168-195.878z","M1177.872 776.91l339.144-195.85 84.812 48.962-339.17 195.876-84.786-48.99z","M1228.672 806.268l339.144-195.876-16.812-9.698-339.144 195.85 16.812 9.726z","M1182.088 934.3l26.33 15.106v26.332l-26.33-15.078v-26.356z","M1195.252 836.504c-22.4-12.932-39.496-5.51-39.496 16.89l26.278 15.078c0-7.76 5.174-10.14 13.164-5.614 7.5 4.12 12.624 11.752 13.162 20.622l0.002 0.072c0 3.956-1.318 7.164-5.174 7.528-14.484 2.224-21.054 12.932-21.054 30.054l26.382 15.182c0-9.234 2.586-14.302 10.528-15.028 9.234-2.586 15.804-10.708 15.804-22.554-0.104-22.476-17.226-49.402-39.598-62.23z","M436.81 568.36l268.194-154.88v232.32l-66.5 39.030-201.696-116.472z","M638.636 684.778l114.788 65.982 193.73-116.134-315.166-181.626 6.648 231.778z","M705.006 645.8l67.042 38.72-67.042 38.72-66.5-38.41 66.5-39.030z","M762.504 167.632l-204.464-118.1-7.192 3.854 4.37 7.14 2.818 0.104v459.468l266.23 153.742-1.19 1.060 2.612 7.784 7.192-3.854v-389.296l-70.38-121.902z","M550.85 53.386v470.564l274.842 158.734v-389.296l-70.352-121.928-204.49-118.074z","M788.86 537.554l-201.154-116.16v7.682l201.154 116.134v-7.656z","M825.692 293.388l-70.352-121.928v81.294l70.352 40.634z","M665.924 397.262l36.366 20.872v36.34l-36.366-20.822v-36.392z","M785.782 555.014l-201.154-116.16v7.682l201.154 116.134v-7.656z","M684.106 262.246c-31.038-17.872-54.524-7.604-54.524 23.278l36.212 20.692c0-10.708 7.14-13.992 18.106-7.76 10.288 5.692 17.322 16.17 18.1 28.35l0.004 0.102c0 5.484-1.836 9.906-7.14 10.346-20.020 3.078-29.072 17.846-29.072 41.384l36.34 20.872c0-12.752 3.568-19.762 14.536-20.692 12.752-3.57 21.83-14.796 21.83-31.038 0.13-30.65-23.51-67.818-54.394-85.536z","M824.476 525.244l-122.188-70.664-0.026-2.716 123.428 71.284-1.216 2.096z","M664.734 432.646l-113.808-65.026-0.052-4.138 115.022 67.404-1.164 1.76z","M-399.072-257.848v1539.7h2177.558v-1539.7zM1381.042 1023.146h-1382.672v-1022.346h1382.672z"],"width":1383,"attrs":[{"fill":"rgb(226, 226, 225)"},{"fill":"rgb(154, 154, 154)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(239, 239, 239)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(154, 154, 154)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(239, 239, 239)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(154, 154, 154)"},{"fill":"rgb(133, 133, 133)"},{"fill":"rgb(133, 133, 133)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(0, 0, 0)"},{"fill":"rgb(51, 176, 153)"},{"fill":"rgb(156, 210, 206)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(51, 176, 153)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(240, 240, 240)"},{"fill":"rgb(240, 240, 240)"},{"fill":"rgb(255, 255, 255)"}],"isMulticolor":true,"isMulticolor2":false,"tags":["app_unknow"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[{"f":10},{"f":7},{"f":9},{"f":12},{"f":9},{"f":7},{"f":9},{"f":9},{"f":9},{"f":12},{"f":9},{"f":7},{"f":6},{"f":6},{"f":1},{"f":1},{"f":1},{"f":1},{"f":0},{"f":3},{"f":8},{"f":1},{"f":3},{"f":1},{"f":13},{"f":13},{"f":14}]}},"attrs":[{"fill":"rgb(226, 226, 225)"},{"fill":"rgb(154, 154, 154)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(239, 239, 239)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(154, 154, 154)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(239, 239, 239)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(154, 154, 154)"},{"fill":"rgb(133, 133, 133)"},{"fill":"rgb(133, 133, 133)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(0, 0, 0)"},{"fill":"rgb(51, 176, 153)"},{"fill":"rgb(156, 210, 206)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(51, 176, 153)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(240, 240, 240)"},{"fill":"rgb(240, 240, 240)"},{"fill":"rgb(255, 255, 255)"}],"properties":{"order":18,"id":6,"name":"app_unknown","prevSize":32,"code":59981,"codes":[59981,59990,59991,59992,59994,59995,59996,59997,59998,59999,60000,60001,60002,60003,60004,60005,60006,60007,60008,60009,60010,60011,60012,60013,60015,60016,60017,60018,60019,60020]},"setIdx":1,"setId":2,"iconIdx":9},{"icon":{"paths":["M810.667 554.667h-256v256h-85.333v-256h-256v-85.333h256v-256h85.333v256h256v85.333z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["add"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":19,"id":7,"name":"add","prevSize":32,"code":59979},"setIdx":1,"setId":2,"iconIdx":10},{"icon":{"paths":["M621.092 91.739c-47.79-88.111-170.35-88.261-218.194 0.008l-386.705 712.603c-46.346 85.373 11.979 194.030 109.095 194.030h773.382c97.157 0 155.438-108.698 109.13-194.030l-386.708-712.611zM436.657 110.045c33.295-61.426 117.399-61.363 150.682 0.004l0.003 0.004 386.708 712.612v0c33.807 62.295-10.186 137.313-75.379 137.313h-773.382c-65.162 0-109.182-74.985-75.346-137.311l0.002-0.003 386.713-712.621zM531.218 320.504c0-10.604-8.596-19.2-19.2-19.2s-19.2 8.596-19.2 19.2v322.716c0 10.604 8.596 19.2 19.2 19.2s19.2-8.596 19.2-19.2v-322.716zM531.218 784.084c0-10.604-8.596-19.2-19.2-19.2s-19.2 8.596-19.2 19.2v11.208c0 10.604 8.596 19.2 19.2 19.2s19.2-8.596 19.2-19.2v-11.208z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["anomalie"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":20,"id":8,"name":"anomalie","prevSize":32,"code":59980},"setIdx":1,"setId":2,"iconIdx":11},{"icon":{"paths":["M531.363 33.523c21.881 20.955 22.632 55.68 1.677 77.561l-331.691 346.354h749.508c30.303 0 54.857 24.561 54.857 54.857s-24.554 54.857-54.857 54.857h-748.94l331.124 345.765c20.955 21.877 20.204 56.605-1.677 77.561s-56.607 20.202-77.562-1.682l-418.26-436.747c-2.818-2.681-5.351-5.658-7.55-8.881-14.578-21.071-12.734-50.037 5.532-69.11l420.278-438.857c20.955-21.881 55.681-22.632 77.562-1.677z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["arrow-back"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":21,"id":9,"name":"arrow-back","prevSize":32,"code":59982},"setIdx":1,"setId":2,"iconIdx":12},{"icon":{"paths":["M419.615 867.571c-8.781-0.699-17.559-1.541-26.371-2.035-52.467-2.911-104.699-7.798-155.87-19.725-21.348-4.974-42.095-12.244-63.141-18.383-5.893-1.718-9.020-5.151-10.404-11.141-11.095-46.546-13.53-93.32-5.502-140.503 4.33-25.367 12.508-49.454 26.76-71.27l0.030-0.031c15.726-24.609 39.81-43.169 68.133-52.536 36.741-12.508 72.584-26.877 104.937-48.317 6.433-4.247 12.567-8.96 19.635-13.993 57.126 54.282 115.19 54.456 172.649-0.261 19.274 15.68 40.742 28.713 63.741 38.661 18.703 8.202 37.706 15.997 57.129 22.515 42.936 14.543 71.201 42.995 86.894 83.72 18.043 46.717 19.305 94.948 12.989 143.703-1.623 12.393-4.749 24.612-6.674 37.005-1.142 7.27-5.473 10.616-12.268 13.089l0.028 0.028c-32.141 11.84-65.516 20.247-99.525 25.047-31.119 4.421-62.479 7.506-93.752 10.706-14.702 1.454-29.586 1.802-44.349 2.706-2.045 0.233-4.060 0.553-6.013 1.016h-89.057z","M474.57 76.8c10.734 1.366 21.294 3.807 31.534 7.266 23.713 8.255 45.271 21.712 63.035 39.412 9.275 9.243 16.568 16.683 21.993 29.21 6.564 15.201 6.418 28.978 6.272 36.447-0.233 12.876-4.375 47.492-5.309 56.967-0.438 4.098-0.379 7.266 3.384 9.824 6.738 4.593 7.117 11.741 6.446 18.776h-0.059c-1.4 17.091-6.415 33.656-14.671 48.684-4.726 8.486-6.126 18.778-9.393 28.134-9.859 27.96-26.368 72.169-66.127 92.518-14.525 7.15-30.482 10.898-46.671 10.957-8.983 0-26.952 0-45.737-10.317-8.753-4.767-13.944-9.882-21.176-16.655h-0.031c-16.975-16.044-30.451-35.372-39.611-56.794-5.747-13.079-9.336-26.972-14.264-40.399-1.751-4.826-4.552-9.244-6.828-13.865l0.031 0.031c-7.526-14.794-11.377-31.13-11.259-47.698 0.056-5.23 1.457-9.823 5.949-13.079 3.909-2.79 4.288-6.307 3.5-10.87h-0.028c-3.968-21.741-5.514-43.83-4.667-65.862 1.167-25.839 16.044-45.051 24.356-55.689 12.718-15.637 28.995-28.018 47.519-36.070v0.029c10.734-4.709 22.080-7.906 33.718-9.504l38.095-1.455z","M601.6 612.575c0-7.068 5.732-12.8 12.8-12.8h161.111l82.089 81.797v262.436c0 7.071-5.732 12.8-12.8 12.8h-230.4c-7.068 0-12.8-5.729-12.8-12.8v-331.433z","M588.8 612.575v334.623c0 14.139 11.461 25.6 25.6 25.6h230.4c14.139 0 25.6-11.461 25.6-25.6v-270.674c0-6.804-2.708-13.33-7.532-18.135l-64.177-63.949c-4.797-4.78-11.295-7.465-18.068-7.465h-166.223c-14.139 0-25.6 11.461-25.6 25.6zM606.4 617.313c0-7.071 5.732-12.8 12.8-12.8h132.8c7.068 0 12.8 5.729 12.8 12.8v53.317c0 7.068 5.732 12.8 12.8 12.8h62.4c7.068 0 12.8 5.732 12.8 12.8v246.228c0 7.071-5.732 12.8-12.8 12.8h-220.8c-7.068 0-12.8-5.729-12.8-12.8v-325.146zM782.4 604.513l61.601 61.379h-61.601v-61.379z","M641.6 744.812h176v17.539h-176v-17.539z","M641.6 797.425h176v17.539h-176v-17.539z","M641.6 850.038h176v17.536h-176v-17.536z"],"attrs":[{"fill":"none","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"none","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"rgb(255, 255, 255)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(117, 117, 117)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8},{"fill":"rgb(117, 117, 117)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8},{"fill":"rgb(117, 117, 117)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8}],"isMulticolor":true,"isMulticolor2":true,"tags":["attribution liste"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[{"s":4},{"s":4},{"f":14,"s":4},{"f":4},{"f":4,"s":4},{"f":4,"s":4},{"f":4,"s":4}]}},"attrs":[{"fill":"none","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"none","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"rgb(255, 255, 255)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(117, 117, 117)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8},{"fill":"rgb(117, 117, 117)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8},{"fill":"rgb(117, 117, 117)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8}],"properties":{"order":22,"id":10,"name":"attribution-liste","prevSize":32,"code":59983,"codes":[59983,59984,59985,59986,59987,59988,59989,59990]},"setIdx":1,"setId":2,"iconIdx":13},{"icon":{"paths":["M762.168 618.319h-37v368.876h-688.126v-950.39h478.823v190.77c0 10.335 8.1 18.383 18.501 18.383h191.987v26.429h35.809v-52.86l-220.931-219.527-541.233 0.041v1023.918l762.163 0.041 0.005-405.681z","M255.635 288.492h385.133v36.764h-385.133v-36.764z","M255.635 363.203h286.834v36.764h-286.834v-36.764z","M201.244 271.247l-46.25 58.619-12.703-11.479-25.448 26.429 26.599 25.288c3.453 3.433 8.099 4.616 12.703 4.616h1.151c4.646 0 9.25-2.286 12.703-6.902l58.995-73.531-27.75-23.040z","M201.244 463.165l-46.25 58.621-12.703-11.479-25.448 26.429 26.599 25.288c3.453 3.43 8.099 4.616 12.703 4.616h1.151c4.646 0 9.25-2.286 12.703-6.904l58.995-73.531-27.75-23.040z","M142.298 696.468l-25.448 26.429 26.599 25.288c3.453 3.43 8.099 4.616 12.703 4.616h1.151c4.646 0 9.25-2.289 12.703-6.904l58.995-73.531-28.901-22.999-46.25 58.621-11.551-11.52z","M939.146 120.718c-12.703-9.191-28.902-8.048-38.152 2.288l-26.598 33.334c-2.301-1.144-5.796-1.144-8.1-1.144-4.644 1.144-9.249 3.431-12.703 6.904l-48.594 62.052c-4.644 5.76-4.644 13.807-1.149 19.527l-181.632 234.443h-366.591v36.764h337.732l-30.052 37.908-307.675 0.041v36.767h279.888l-61.297 78.147h-218.594v36.767h189.684l-25.449 32.189c-1.152 1.144-2.301 3.43-2.301 4.616v1.144h-161.899v36.764h151.501l-6.948 21.855-32.397 108.009 150.382-89.667c1.152-1.144 3.453-2.289 4.646-3.433l382.83-489.549c2.301 1.144 4.644 1.144 6.948 1.144 5.796 0 10.401-2.286 15.045-6.904l38.152-48.284 15.048 11.479-117.949 149.389 28.902 22.999 128.274-164.301c3.453-3.433 4.644-9.193 3.453-13.809-1.152-4.616-3.453-9.19-6.948-12.623l-39.304-31.046 25.449-33.334c4.644-5.76 5.796-13.807 3.453-21.854-1.152-5.76-5.798-11.48-10.401-14.952l-56.655-43.63zM436.022 824.044l-1.152-1.144c-1.149-1.144-2.301-1.144-2.301-2.289l15.048-49.428c5.796 3.43 12.703 6.904 17.349 11.479 5.796 4.616 11.551 9.19 16.197 13.809l-45.14 27.574zM909.046 282.77l-63.598-49.429 25.446-32.19 63.601 49.43-25.449 32.189z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["bordereau"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":23,"id":11,"name":"bordereau","prevSize":32,"code":59993},"setIdx":1,"setId":2,"iconIdx":14},{"icon":{"paths":["M853.333 128h-42.667v-85.333h-85.333v85.333h-426.667v-85.333h-85.333v85.333h-42.667c-46.933 0-85.333 38.4-85.333 85.333v682.667c0 46.933 38.4 85.333 85.333 85.333h682.667c46.933 0 85.333-38.4 85.333-85.333v-682.667c0-46.933-38.4-85.333-85.333-85.333zM853.333 896h-682.667v-554.667h682.667v554.667z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["calendar"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":24,"id":12,"name":"calendar","prevSize":32,"code":60014},"setIdx":1,"setId":2,"iconIdx":15},{"icon":{"paths":["M316.16 366.508l195.84 195.412 195.84-195.412 60.16 60.159-256 256-256-256 60.16-60.159z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["chevron-down"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":25,"id":13,"name":"chevron-down","prevSize":32,"code":60027},"setIdx":1,"setId":2,"iconIdx":16},{"icon":{"paths":["M21.333 512c0-270.988 219.679-490.667 490.667-490.667s490.667 219.679 490.667 490.667c0 270.988-219.679 490.667-490.667 490.667s-490.667-219.679-490.667-490.667z","M316.16 366.5l195.84 195.412 195.84-195.411 60.16 60.16-256 255.998-256-255.998 60.16-60.16z"],"attrs":[{"fill":"none","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":42.666666666666664},{"fill":"rgb(117, 117, 117)"}],"isMulticolor":false,"isMulticolor2":true,"tags":["chevron-down-1"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[{"s":4},{"f":4}]}},"attrs":[{"fill":"none","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":42.666666666666664},{"fill":"rgb(117, 117, 117)"}],"properties":{"order":26,"id":14,"name":"chevron-down-1","prevSize":32,"code":60028},"setIdx":1,"setId":2,"iconIdx":17},{"icon":{"paths":["M657.493 707.84l-195.413-195.84 195.413-195.84-60.16-60.16-256 256 256 256 60.16-60.16z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["chevron-left"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":27,"id":15,"name":"chevron-left","prevSize":32,"code":60029},"setIdx":1,"setId":2,"iconIdx":18},{"icon":{"paths":["M316.16 657.493l195.84-195.413 195.84 195.413 60.16-60.16-256-256-256 256 60.16 60.16z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["chevron-up"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":28,"id":16,"name":"chevron-up","prevSize":32,"code":60030},"setIdx":1,"setId":2,"iconIdx":19},{"icon":{"paths":["M21.333 512c0-270.988 219.679-490.667 490.667-490.667s490.667 219.679 490.667 490.667c0 270.988-219.679 490.667-490.667 490.667s-490.667-219.679-490.667-490.667z","M707.84 682.662l-195.84-195.413-195.84 195.413-60.16-60.16 256-256.001 256 256.001-60.16 60.16z"],"attrs":[{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":42.666666666666664},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["chevron-up-1"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[{},{}]}},"attrs":[{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":42.666666666666664},{}],"properties":{"order":29,"id":17,"name":"chevron-up-1","prevSize":32,"code":60031},"setIdx":1,"setId":2,"iconIdx":20},{"icon":{"paths":["M345.6 76.8c-1.656 0.122-2.755 0.513-3.359 0.977l-250.881 175.033c-2.193 1.465-3.173 4.445-2.427 7.033s3.197 4.564 5.787 4.493h41.813v237.545h-41.813c-3.127 0-5.973 2.977-5.973 6.249v43.758h-5.974c-3.127 0-5.973 2.98-5.973 6.252v50.010c0 3.272 2.847 6.252 5.973 6.252h525.654c3.126 0 5.972-2.98 5.972-6.252v-50.010c0-3.272-2.847-6.252-5.972-6.252h-5.975v-43.758c0-3.272-2.847-6.249-5.972-6.249h-41.812v-237.545h41.812c2.591 0.072 5.041-1.905 5.786-4.493 0.748-2.588-0.233-5.568-2.427-7.033l-250.88-175.033c-1.329-0.977-2.286-0.952-3.359-0.977zM345.6 90.473l231.281 161.356h-462.563l231.282-161.356zM345.605 151.816c-16.428 0-29.868 14.065-29.868 31.256s13.44 31.256 29.868 31.256c16.425 0 29.865-14.065 29.865-31.256s-13.44-31.256-29.865-31.256zM345.6 164.313c9.964 0 17.92 8.327 17.92 18.754s-7.956 18.754-17.92 18.754c-9.964 0-17.92-8.327-17.92-18.754s7.956-18.754 17.92-18.754zM148.484 264.338h35.839v237.542h-35.839v-237.542zM196.265 264.338h59.733v237.542h-59.733v-237.542zM267.942 264.338h35.84v237.542h-35.84v-237.542zM315.738 264.338h59.732v237.542h-59.732v-237.542zM387.41 264.338h35.837v237.542h-35.837v-237.542zM435.203 264.338h59.732v237.542h-59.732v-237.542zM506.888 264.338h35.84v237.542h-35.84v-237.542zM100.697 514.386h489.813v37.509h-489.813v-37.509zM88.742 564.396h513.705v37.507h-513.705v-37.507z","M345.6 76.8l0.146-6.398-0.31-0.007-0.307 0.023 0.471 6.383zM342.241 77.777l3.663 5.254 0.223-0.17-3.886-5.084zM91.36 252.809l3.556 5.323 0.106-0.074-3.662-5.249zM94.72 264.335v-6.403l-0.181 0.005 0.181 6.397zM136.533 264.335h6.4v-6.4h-6.4v6.4zM136.533 501.88v6.4h6.4v-6.4h-6.4zM88.747 551.887v6.4h6.4v-6.4h-6.4zM602.452 551.887h-6.4v6.4h6.4v-6.4zM554.668 501.88h-6.4v6.4h6.4v-6.4zM554.668 264.335v-6.4h-6.4v6.4h6.4zM596.48 264.335l0.182-6.4h-0.182v6.4zM599.839 252.809l-3.661 5.249 0.108 0.072 3.553-5.321zM348.959 77.777l-3.789 5.16 0.128 0.089 3.661-5.249zM345.6 90.473l3.661-5.249-3.661-2.555-3.663 2.555 3.663 5.249zM576.881 251.829v6.401h20.36l-16.699-11.65-3.661 5.249zM114.318 251.829l-3.662-5.249-16.697 11.65h20.359v-6.401zM148.484 264.338v-6.4h-6.4v6.4h6.4zM184.324 264.338h6.4v-6.4h-6.4v6.4zM184.324 501.88v6.4h6.4v-6.4h-6.4zM148.484 501.88h-6.4v6.4h6.4v-6.4zM196.265 264.338v-6.4h-6.4v6.4h6.4zM255.999 264.338h6.401v-6.4h-6.401v6.4zM255.999 501.88v6.4h6.401v-6.4h-6.401zM196.265 501.88h-6.4v6.4h6.4v-6.4zM267.942 264.338v-6.4h-6.4v6.4h6.4zM303.782 264.338h6.4v-6.4h-6.4v6.4zM303.782 501.88v6.4h6.4v-6.4h-6.4zM267.942 501.88h-6.4v6.4h6.4v-6.4zM315.738 264.338v-6.4h-6.4v6.4h6.4zM375.47 264.338h6.4v-6.4h-6.4v6.4zM375.47 501.88v6.4h6.4v-6.4h-6.4zM315.738 501.88h-6.4v6.4h6.4v-6.4zM387.41 264.338v-6.4h-6.4v6.4h6.4zM423.247 264.338h6.4v-6.4h-6.4v6.4zM423.247 501.88v6.4h6.4v-6.4h-6.4zM387.41 501.88h-6.4v6.4h6.4v-6.4zM435.203 264.338v-6.4h-6.4v6.4h6.4zM494.935 264.338h6.4v-6.4h-6.4v6.4zM494.935 501.88v6.4h6.4v-6.4h-6.4zM435.203 501.88h-6.4v6.4h6.4v-6.4zM506.888 264.338v-6.4h-6.4v6.4h6.4zM542.728 264.338h6.4v-6.4h-6.4v6.4zM542.728 501.88v6.4h6.4v-6.4h-6.4zM506.888 501.88h-6.4v6.4h6.4v-6.4zM100.697 514.386v-6.4h-6.4v6.4h6.4zM590.51 514.386h6.4v-6.4h-6.4v6.4zM590.51 551.895v6.4h6.4v-6.4h-6.4zM100.697 551.895h-6.4v6.4h6.4v-6.4zM88.742 564.396v-6.4h-6.4v6.4h6.4zM602.447 564.396h6.4v-6.4h-6.4v6.4zM602.447 601.902v6.4h6.4v-6.4h-6.4zM88.742 601.902h-6.4v6.4h6.4v-6.4zM345.129 70.417c-2.253 0.166-4.769 0.74-6.776 2.276l7.775 10.168c-0.238 0.182-0.433 0.288-0.548 0.344-0.115 0.057-0.179 0.076-0.177 0.074 0.018-0.005 0.22-0.063 0.668-0.096l-0.942-12.765zM338.578 72.528l-250.88 175.033 7.324 10.498 250.88-175.033-7.324-10.498zM87.805 247.487c-4.706 3.143-6.473 9.094-5.021 14.129l12.298-3.548c0.007 0.023 0.002 0.020 0.003-0.008 0.001-0.031 0.007-0.067 0.017-0.095 0.027-0.079 0.020 0.026-0.188 0.164l-7.11-10.642zM82.784 261.617c1.448 5.020 6.24 9.283 12.117 9.116l-0.362-12.795c0.2-0.005 0.349 0.031 0.435 0.061 0.043 0.015 0.072 0.028 0.089 0.038s0.025 0.015 0.026 0.015c0.001 0.003-0.002 0-0.007-0.005s-0.009-0.013-0.012-0.015c-0.007-0.013 0.001-0.003 0.012 0.036l-12.298 3.548zM94.72 270.735h41.813v-12.8h-41.813v12.8zM130.133 264.335v237.545h12.8v-237.545h-12.8zM136.533 495.48h-41.813v12.8h41.813v-12.8zM94.72 495.48c-6.932 0-12.373 6.121-12.373 12.649h12.8c0 0.113-0.024 0.166-0.020 0.156 0.005-0.013 0.026-0.049 0.062-0.087s0.045-0.031-0.009-0.005c-0.060 0.028-0.217 0.087-0.459 0.087v-12.8zM82.347 508.129v43.758h12.8v-43.758h-12.8zM88.747 545.487h-5.974v12.8h5.974v-12.8zM82.773 545.487c-6.932 0-12.373 6.124-12.373 12.652h12.8c0 0.113-0.024 0.166-0.020 0.156 0.005-0.013 0.026-0.049 0.062-0.087 0.037-0.038 0.045-0.031-0.009-0.005-0.060 0.028-0.216 0.084-0.459 0.084v-12.8zM70.4 558.139v50.010h12.8v-50.010h-12.8zM70.4 608.148c0 6.531 5.441 12.652 12.373 12.652v-12.8c0.242 0 0.399 0.059 0.459 0.087 0.054 0.026 0.046 0.031 0.009-0.008-0.036-0.036-0.056-0.074-0.062-0.087-0.004-0.008 0.020 0.044 0.020 0.156h-12.8zM82.773 620.8h525.654v-12.8h-525.654v12.8zM608.428 620.8c6.932 0 12.372-6.121 12.372-12.652h-12.8c0-0.113 0.023-0.164 0.020-0.156-0.005 0.013-0.026 0.051-0.061 0.087-0.036 0.038-0.046 0.033 0.008 0.008 0.061-0.028 0.218-0.087 0.461-0.087v12.8zM620.8 608.148v-50.010h-12.8v50.010h12.8zM620.8 558.139c0-6.528-5.44-12.652-12.372-12.652v12.8c-0.243 0-0.399-0.056-0.461-0.084-0.054-0.026-0.044-0.033-0.008 0.005s0.056 0.074 0.061 0.087c0.003 0.010-0.020-0.044-0.020-0.156h12.8zM608.428 545.487h-5.975v12.8h5.975v-12.8zM608.852 551.887v-43.758h-12.8v43.758h12.8zM608.852 508.129c0-6.528-5.44-12.649-12.372-12.649v12.8c-0.243 0-0.399-0.059-0.458-0.087-0.054-0.026-0.046-0.033-0.010 0.005s0.056 0.074 0.061 0.087c0.005 0.010-0.020-0.044-0.020-0.156h12.8zM596.48 495.48h-41.812v12.8h41.812v-12.8zM561.068 501.88v-237.545h-12.8v237.545h12.8zM554.668 270.735h41.812v-12.8h-41.812v12.8zM596.298 270.733c5.878 0.166 10.67-4.096 12.116-9.116l-12.298-3.548c0.013-0.038 0.020-0.049 0.013-0.036-0.003 0.003-0.008 0.010-0.013 0.015-0.003 0.005-0.008 0.008-0.005 0.005 0 0 0.008-0.005 0.026-0.015 0.015-0.010 0.046-0.023 0.090-0.038 0.087-0.031 0.236-0.067 0.435-0.061l-0.364 12.795zM608.415 261.617c1.454-5.036-0.315-10.986-5.020-14.129l-7.109 10.642c-0.207-0.138-0.215-0.243-0.189-0.164 0.010 0.028 0.018 0.064 0.018 0.095 0 0.028-0.003 0.031 0.003 0.008l12.298 3.548zM603.502 247.56l-250.88-175.033-7.324 10.498 250.88 175.033 7.324-10.498zM352.748 72.618c-1.331-0.979-2.716-1.613-4.186-1.937-1.283-0.283-2.499-0.273-2.816-0.28l-0.292 12.797c0.074 0.002 0.154 0.003 0.21 0.004 0.064 0.001 0.115 0.003 0.159 0.004 0.095 0.002 0.141 0.005 0.166 0.006 0.046 0.003-0.038 0-0.184-0.032-0.156-0.035-0.317-0.088-0.461-0.155-0.138-0.063-0.197-0.109-0.172-0.091l7.575-10.317zM341.937 95.722l231.283 161.356 7.322-10.498-231.281-161.356-7.324 10.498zM576.881 245.429h-462.563v12.801h462.563v-12.801zM117.98 257.078l231.281-161.356-7.324-10.498-231.281 161.356 7.324 10.498zM345.605 145.416c-20.234 0-36.268 17.208-36.268 37.656h12.8c0-13.934 10.847-24.856 23.468-24.856v-12.8zM309.338 183.072c0 20.448 16.033 37.656 36.268 37.656v-12.8c-12.621 0-23.468-10.922-23.468-24.856h-12.8zM345.605 220.728c20.232 0 36.265-17.208 36.265-37.656h-12.8c0 13.933-10.844 24.856-23.465 24.856v12.8zM381.87 183.072c0-20.448-16.033-37.656-36.265-37.656v12.8c12.621 0 23.465 10.922 23.465 24.856h12.8zM345.6 170.713c6.157 0 11.52 5.184 11.52 12.354h12.8c0-13.684-10.552-25.154-24.32-25.154v12.8zM357.12 183.067c0 7.17-5.363 12.354-11.52 12.354v12.8c13.768 0 24.32-11.469 24.32-25.154h-12.8zM345.6 195.42c-6.159 0-11.52-5.184-11.52-12.354h-12.8c0 13.684 10.55 25.154 24.32 25.154v-12.8zM334.080 183.067c0-7.17 5.361-12.354 11.52-12.354v-12.8c-13.77 0-24.32 11.469-24.32 25.154h12.8zM148.484 270.738h35.839v-12.8h-35.839v12.8zM177.924 264.338v237.542h12.8v-237.542h-12.8zM184.324 495.48h-35.839v12.8h35.839v-12.8zM154.884 501.88v-237.542h-12.8v237.542h12.8zM196.265 270.738h59.733v-12.8h-59.733v12.8zM249.599 264.338v237.542h12.801v-237.542h-12.801zM255.999 495.48h-59.733v12.8h59.733v-12.8zM202.665 501.88v-237.542h-12.8v237.542h12.8zM267.942 270.738h35.84v-12.8h-35.84v12.8zM297.382 264.338v237.542h12.8v-237.542h-12.8zM303.782 495.48h-35.84v12.8h35.84v-12.8zM274.342 501.88v-237.542h-12.8v237.542h12.8zM315.738 270.738h59.732v-12.8h-59.732v12.8zM369.070 264.338v237.542h12.8v-237.542h-12.8zM375.47 495.48h-59.732v12.8h59.732v-12.8zM322.138 501.88v-237.542h-12.8v237.542h12.8zM387.41 270.738h35.837v-12.8h-35.837v12.8zM416.847 264.338v237.542h12.8v-237.542h-12.8zM423.247 495.48h-35.837v12.8h35.837v-12.8zM393.81 501.88v-237.542h-12.8v237.542h12.8zM435.203 270.738h59.732v-12.8h-59.732v12.8zM488.535 264.338v237.542h12.8v-237.542h-12.8zM494.935 495.48h-59.732v12.8h59.732v-12.8zM441.603 501.88v-237.542h-12.8v237.542h12.8zM506.888 270.738h35.84v-12.8h-35.84v12.8zM536.328 264.338v237.542h12.8v-237.542h-12.8zM542.728 495.48h-35.84v12.8h35.84v-12.8zM513.288 501.88v-237.542h-12.8v237.542h12.8zM100.697 520.786h489.813v-12.8h-489.813v12.8zM584.11 514.386v37.509h12.8v-37.509h-12.8zM590.51 545.495h-489.813v12.8h489.813v-12.8zM107.097 551.895v-37.509h-12.8v37.509h12.8zM88.742 570.796h513.705v-12.8h-513.705v12.8zM596.047 564.396v37.507h12.8v-37.507h-12.8zM602.447 595.502h-513.705v12.8h513.705v-12.8zM95.142 601.902v-37.507h-12.8v37.507h12.8z","M711.393 565.292c-24.829 25.26-32.061 61.161-22.915 93.261l-117.448 119.483c-1.298 1.318-2.12 3.059-2.324 4.91l-5.46 52.723c-0.269 2.575 0.648 5.117 2.501 6.889 1.851 1.772 4.398 2.56 6.899 2.125l68.485-11.93c3.625-0.609 6.377-3.653 6.71-7.373l2.232-25.226 24.796-2.268c3.909-0.356 6.994-3.51 7.342-7.47l2.232-25.226 24.812-2.271c1.884-0.177 3.656-1.014 5-2.368l37.235-37.878c31.524 9.257 66.86 1.93 91.671-23.311 36.319-36.946 36.319-97.103 0-134.052-36.316-36.946-95.45-36.946-131.768 0v-0.018zM722.849 576.947c30.131-30.651 78.728-30.651 108.856 0 30.126 30.651 30.129 80.092 0 110.743-21.742 22.118-53.089 28.012-80.215 18.207h0.015c-2.959-1.029-6.234-0.259-8.417 2.012l-38.139 38.797-28.736 2.642c-3.894 0.353-6.979 3.492-7.342 7.47l-2.232 25.226-24.796 2.268c-3.894 0.356-6.994 3.494-7.342 7.47l-2.232 25.774-51.825 9.016 3.94-38.799 118.602-120.655c2.217-2.271 2.959-5.652 1.869-8.663-9.623-27.592-3.75-59.387 17.992-81.505l0.003-0.003zM774.408 588.603c-12.598 12.815-12.598 33.823 0 46.62 12.595 12.813 33.247 12.813 45.824 0 12.598-12.815 12.598-33.825 0-46.62-12.595-12.815-33.247-12.815-45.824 0zM785.864 600.259c6.392-6.505 16.522-6.505 22.915 0 6.392 6.502 6.392 16.806 0 23.309-6.392 6.505-16.522 6.505-22.915 0-6.392-6.502-6.392-16.806 0-23.309z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["client-proprietaire"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":30,"id":18,"name":"client-proprietaire","prevSize":32,"code":60034},"setIdx":1,"setId":2,"iconIdx":21},{"icon":{"paths":["M102.4 1024c-0.176 0.001-0.384 0.002-0.592 0.002-28.13 0-53.611-11.343-72.119-29.704l0.007 0.007c-18.708-18.56-30.29-44.279-30.29-72.704s11.581-54.144 30.283-72.697l0.007-0.007 819.2-819.2c18.607-18.607 44.311-30.115 72.704-30.115 56.785 0 102.819 46.034 102.819 102.819 0 28.393-11.508 54.097-30.115 72.704l-819.2 819.2c-18.501 18.355-43.982 29.698-72.112 29.698-0.208 0-0.416-0.001-0.624-0.002l0.032 0z","M921.6 1024c-0.176 0.001-0.384 0.002-0.592 0.002-28.13 0-53.611-11.343-72.119-29.704l0.007 0.007-819.2-819.2c-18.607-18.607-30.115-44.311-30.115-72.704 0-56.785 46.034-102.819 102.819-102.819 28.393 0 54.097 11.508 72.704 30.115v0l819.2 819.2c18.708 18.56 30.29 44.279 30.29 72.704s-11.581 54.144-30.283 72.697l-0.007 0.007c-18.501 18.355-43.982 29.698-72.112 29.698-0.208 0-0.416-0.001-0.624-0.002l0.032 0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["close"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":31,"id":19,"name":"close","prevSize":32,"code":60035},"setIdx":1,"setId":2,"iconIdx":22},{"icon":{"paths":["M853.333 85.333h-682.667c-46.933 0-84.907 38.4-84.907 85.333l-0.427 768 170.667-170.667h597.333c46.933 0 85.333-38.4 85.333-85.333v-512c0-46.933-38.4-85.333-85.333-85.333zM768 597.333h-512v-85.333h512v85.333zM768 469.333h-512v-85.333h512v85.333zM768 341.333h-512v-85.333h512v85.333z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["comment"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":32,"id":20,"name":"comment","prevSize":32,"code":60038},"setIdx":1,"setId":2,"iconIdx":23},{"icon":{"paths":["M879.739 586.706h12.718l80.343 80.504-23.99 23.99-80.504-80.343v-12.718l-4.347-4.508c-18.355 15.777-42.184 25.277-68.104 25.277-57.802 0-104.655-46.853-104.655-104.653 0-57.802 46.853-104.655 104.655-104.655 57.8 0 104.653 46.853 104.653 104.655 0 25.92-9.5 49.748-25.277 68.104l4.508 4.347zM716.8 512c0 42.496 34.304 76.8 76.8 76.8s76.8-34.304 76.8-76.8c0-42.496-34.304-76.8-76.8-76.8s-76.8 34.304-76.8 76.8z","M568.522 550.464c6.085 0 11.323-5.179 11.323-11.197s-5.238-10.322-11.323-10.322c-6.085 0-11.323 5.179-11.323 11.197 0 5.143 5.238 10.322 11.323 10.322zM558.1 492.797c0-6.019 5.235-11.197 11.323-11.197 6.118 0 10.47 4.303 11.32 10.322v11.2c0 6.019-5.235 11.197-11.32 11.197-6.088 0-11.323-5.179-11.323-11.197v-10.324zM558.1 435.128c0-6.019 5.235-11.197 11.323-11.197 6.118 0 10.47 4.306 11.32 11.197v19.807c0 6.019-5.235 11.197-11.32 11.197-6.088 0-11.323-5.179-11.323-11.197v-19.807zM749.624 272.113v-7.437c0-1.748-0.005-2.588-0.855-3.395v-0.873c0-0.417-0.215-0.627-0.435-0.84-0.223-0.215-0.448-0.435-0.448-0.876l-0.883-0.876c0-0.84 0-1.715-0.883-1.715l-0.886-0.873c-0.484-0.498-0.691-0.712-0.945-0.805-0.192-0.070-0.407-0.070-0.788-0.070h-0.883l-325.514-125.699c-2.583-0.874-5.202-0.874-7.818 0l-326.331 125.63h-0.884c-0.421 0-0.633 0.214-0.848 0.431-0.219 0.221-0.44 0.444-0.886 0.444l-0.884 0.873c0 0.417-0.217 0.627-0.435 0.84-0.223 0.218-0.449 0.435-0.449 0.876-0.884 0-0.884 0.876-0.884 0.876 0 0.415-0.217 0.627-0.435 0.837-0.223 0.218-0.449 0.435-0.449 0.878v496.691c0 4.306 2.618 7.77 6.97 9.485l325.512 139.479h0.883c0.85 0.876 2.586 0.876 3.469 0.876 0.85 0 2.583 0 3.469-0.876h0.883l324.667-139.446c4.352-1.748 6.971-5.179 6.971-9.482v-17.713l-22.572 9.789v0.159l-303.752 130.839v-468.278l134.024-57.669v43.884c0 6.019 5.235 11.197 11.32 11.197 6.088 0 11.323-5.179 11.323-11.197v-53.363l99.651-42.893-0.018-0.284 28.557-11.999 18.895-8.133v0.192l22.572-9.485zM727.053 281.405l0.883-0.381-0.883 0.003v0.379zM567.693 321.51l-281.992-121.395 127.931-49.928 296.788 115.369-138.376 59.384c-0.863-1.672-2.532-2.514-4.221-3.364l-0.131-0.067zM99.4 281.019l303.787 130.002-0.036 469.112-303.751-130.836v-468.278zM546.816 335.258l-7.821 3.43-125.327 54.244-126.208-54.241-171.46-74.045 140.996-54.239c0.42 0 0.635 0.215 0.847 0.431 0.22 0.221 0.44 0.443 0.886 0.443l288.087 123.977z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["consultation produit"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":33,"id":21,"name":"consultation-produit","prevSize":32,"code":60039},"setIdx":1,"setId":2,"iconIdx":24},{"icon":{"paths":["M615.629 397.982h-347.444c-30.476 0-54.851 24.24-54.851 54.549v346.257c0 29.538 24.375 54.549 54.851 54.549h348.183c29.705 0 54.852-24.243 54.852-54.549l0.030-346.257c-0.777-30.309-25.152-54.549-55.625-54.549h0.004zM624.768 798.054c0 4.557-3.81 8.346-8.397 8.346l-348.181-0.030c-4.583 0-8.393-3.789-8.393-8.346l0.030-345.493c0-4.561 3.809-8.35 8.393-8.35h348.181c4.587 0 8.397 3.789 8.397 8.35l-0.030 345.523z","M798.485 170.671h-347.443c-30.477 0-54.852 24.24-54.852 54.548v127.3h45.713v-127.3c0-4.558 3.81-8.346 8.393-8.346h348.186c4.582 0 8.393 3.788 8.393 8.346v346.258c0 4.557-3.81 8.346-8.393 8.346h-82.295v45.461h82.295c29.7 0 54.852-24.239 54.852-54.545v-345.524c0-30.308-24.375-54.548-54.852-54.548l0.004 0.005z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["content-copy"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":34,"id":22,"name":"content-copy","prevSize":32,"code":60040},"setIdx":1,"setId":2,"iconIdx":25},{"icon":{"paths":["M256 810.667c0 46.933 38.4 85.333 85.333 85.333h341.333c46.933 0 85.333-38.4 85.333-85.333v-512h-512v512zM810.667 170.667h-149.333l-42.667-42.667h-213.333l-42.667 42.667h-149.333v85.333h597.333v-85.333z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["delete"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":35,"id":23,"name":"delete","prevSize":32,"code":60042},"setIdx":1,"setId":2,"iconIdx":26},{"icon":{"paths":["M657.682 794.309c-22.925-48.678-44.969-70.008-92.375-70.008h-106.598c-46.356 0-68.388 20.992-91.994 68.941-0.814 1.649-1.772 3.61-3.494 7.135-1.869 3.814-3.187 6.464-4.506 9.029-1.193 2.319-1.815 4.887-1.815 7.493 0 15.319 13.563 27.901 29.23 27.901h251.758c15.491 0 29.23-11.277 29.23-26.898 0-2.514-0.581-4.995-1.695-7.25-1.318-2.673-2.621-5.407-4.521-9.462-1.59-3.402-2.455-5.258-3.22-6.881zM565.281 757.074c31.411 0 44.611 12.769 62.702 51.19l1.764 3.761h-235.75l2.115-4.314c18.668-37.921 32.013-50.637 62.572-50.637h106.598z","M844.8 241.427c0-34.061-26.644-62.227-60.58-62.227h-544.507c-33.914 0-60.513 28.166-60.513 62.227v348.323c0 33.738 26.232 57.969 60.513 57.969h544.507c34.304 0 60.58-24.23 60.58-57.969v-348.323zM239.713 211.975h544.507c15.401 0 27.786 13.094 27.786 29.453v348.325c0 15.020-11.028 25.19-27.786 25.19h-544.507c-16.722 0-27.72-10.158-27.72-25.19v-348.325c0-16.37 12.355-29.453 27.72-29.453z","M528.443 724.477c0 0-7.342 0-16.397 0s-16.397 0-16.397 0v-42.028c0-9.050 7.342-16.387 16.397-16.387s16.397 7.337 16.397 16.387v42.028z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["desktop"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":36,"id":24,"name":"desktop","prevSize":32,"code":60044},"setIdx":1,"setId":2,"iconIdx":27},{"icon":{"paths":["M793.6 312.32h-271.77c-6.751 0-13.225 2.665-18.020 7.414l-105.421 104.461c-4.851 4.808-7.58 11.356-7.58 18.186v428.017c0 14.139 11.461 25.603 25.6 25.603h377.19c14.139 0 25.6-11.464 25.6-25.6v-532.48c0-14.139-11.461-25.6-25.6-25.6zM779.622 338.847c7.071 0 12.8 5.732 12.8 12.8v505.019c0 7.068-5.729 12.8-12.8 12.8h-349.24c-7.071 0-12.8-5.732-12.8-12.8v-385.628c0-7.071 5.729-12.8 12.8-12.8h108.273c7.068 0 12.8-5.732 12.8-12.8v-93.791c0-7.068 5.729-12.8 12.8-12.8h215.368zM524.68 431.706h-93.711l93.711-92.859v92.859z","M731.832 558.080h-248.013v26.532h248.013v-26.532z","M731.832 637.668h-248.013v26.532h248.013v-26.532z","M731.832 717.268h-248.013v26.532h248.013v-26.532z","M607.59 128c14.139 0 25.6 11.462 25.6 25.6v82.577l-22.546 2.628v-67.286c0-7.069-5.732-12.8-12.8-12.8h-215.37c-7.071 0-12.8 5.731-12.8 12.8v93.788c0 7.071-5.732 12.8-12.8 12.8h-108.272c-7.069 0-12.8 5.732-12.8 12.8v385.631c0 7.068 5.731 12.8 12.8 12.8h53.092l-3.886 22.341h-67.407c-14.138 0-25.6-11.461-25.6-25.6v-428.019c0-6.829 2.729-13.376 7.581-18.184l105.42-104.462c4.795-4.75 11.269-7.416 18.020-7.416h271.77zM338.67 154.527v92.858h-93.711l93.711-92.858z","M726.198 245.763c0-14.139-11.464-25.6-25.6-25.6h-271.772c-6.748 0-13.225 2.665-18.017 7.416l-105.421 104.462c-4.851 4.808-7.58 11.354-7.58 18.184v428.019c0 14.139 11.461 25.6 25.6 25.6h67.407l5.020-26.537h-58.458c-7.068 0-12.8-5.732-12.8-12.8v-385.628c0-7.071 5.732-12.8 12.8-12.8h108.273c7.068 0 12.8-5.732 12.8-12.8v-93.791c0-7.068 5.729-12.799 12.8-12.799h215.37c7.068 0 12.8 5.731 12.8 12.799v52.836h26.778v-66.56zM431.675 246.687v92.858h-93.711l93.711-92.858z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["document-seriel"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":37,"id":25,"name":"document-seriel","prevSize":32,"code":60045,"codes":[60045,60046,60047,60048,60049,60050,60051,60052]},"setIdx":1,"setId":2,"iconIdx":28},{"icon":{"paths":["M807.646 264.628l-404.288 432.694-187.982-182.801c-5.401-5.252-12.45-7.915-19.604-7.369-7.119 0.55-13.783 4.233-18.482 10.27s-7.049 13.952-6.558 21.909c0.526 7.996 3.858 15.441 9.294 20.655l206.495 200.67c10.486 10.15 26.128 9.719 36.192-0.939l421.969-451.51c8.521-8.779 11.046-22.693 6.242-34.49-4.77-11.797-15.748-18.891-27.285-17.559-6.029 0.748-11.678 3.726-15.991 8.468z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["done"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":38,"id":26,"name":"done","prevSize":32,"code":60053},"setIdx":1,"setId":2,"iconIdx":29},{"icon":{"paths":["M97.874 917.074l742.399-742.399","M631.468 597.335v341.332c0 9.426 7.639 17.068 17.065 17.068h238.935c9.426 0 17.065-7.642 17.065-17.068v-274.529c0-4.526-1.797-8.868-4.997-12.068l-66.803-66.803c-3.2-3.2-7.542-5-12.068-5h-172.132c-9.426 0-17.065 7.642-17.065 17.068zM648.532 605.868c0-4.71 3.822-8.532 8.535-8.532h136.532c4.713 0 8.532 3.822 8.532 8.532v59.735c0 4.713 3.822 8.532 8.535 8.532h68.265c4.713 0 8.535 3.822 8.535 8.532v247.468c0 4.713-3.822 8.532-8.535 8.532h-221.865c-4.713 0-8.535-3.82-8.535-8.532v-324.268zM819.2 597.335l59.732 59.732h-59.732v-59.732z","M85.35 102.398v290.135c0 9.423 7.641 17.065 17.067 17.065h307.201c9.423 0 17.065-7.642 17.065-17.065v-256.001c0-9.426-7.642-17.066-17.065-17.066h-211.32c-6.465 0-12.374-3.652-15.265-9.434l-7.632-15.265c-2.891-5.782-8.801-9.434-15.265-9.434h-57.719c-9.426 0-17.067 7.641-17.067 17.067zM102.417 189.438c0-0.943 0.764-1.707 1.707-1.707h303.787c0.942 0 1.708 0.764 1.708 1.707v201.387c0 0.942-0.765 1.708-1.708 1.708h-303.787c-0.943 0-1.707-0.765-1.707-1.708v-201.387zM104.123 170.665c-0.943 0-1.707-0.764-1.707-1.707v-64.853c0-0.943 0.764-1.707 1.707-1.707h56.32c0.943 0 1.916 0.714 2.307 1.572 3.097 6.793 17.417 32.561 25 32.561h220.161c0.942 0 1.708 0.764 1.708 1.707v30.72c0 0.943-0.765 1.707-1.708 1.707h-303.787z"],"attrs":[{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["dossier-fichier"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[{},{},{}]}},"attrs":[{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8},{},{}],"properties":{"order":39,"id":27,"name":"dossier-fichier","prevSize":32,"code":60056},"setIdx":1,"setId":2,"iconIdx":30},{"icon":{"paths":["M453.821 128h267.645c0 0 65.149 66.615 97.733 91.608v386.682c0 14.139-11.461 25.6-25.6 25.6h-339.779c-14.139 0-25.6-11.461-25.6-25.6v-452.69c0-14.138 11.461-25.6 25.6-25.6zM745.884 332.237h-244.362v22.904h244.362v-22.904zM501.522 400.95v22.904h244.362v-22.904h-244.362zM745.884 469.655h-244.362v22.904h244.362v-22.904zM705.175 227.295l81.454-0.057-81.513-76.29 0.059 76.347z","M204.8 312.732v557.668c0 14.139 11.462 25.6 25.6 25.6h562.353c14.139 0 25.6-11.461 25.6-25.6v-493.578c0-14.136-11.461-25.6-25.6-25.6h-387.758c-9.856 0-18.836-5.658-23.091-14.546l-16.753-34.998c-4.255-8.888-13.235-14.546-23.091-14.546h-111.66c-14.138 0-25.6 11.461-25.6 25.6zM235.473 481.966c0-1.413 1.146-2.56 2.56-2.56h547.076c1.416 0 2.56 1.147 2.56 2.56v379.428c0 1.416-1.144 2.56-2.56 2.56h-547.076c-1.414 0-2.56-1.144-2.56-2.56v-379.428zM238.033 447.365c-1.414 0-2.56-1.147-2.56-2.56v-123.064c0-1.413 1.146-2.56 2.56-2.56h102.253c1.413 0 2.844 1.093 3.397 2.394 5.020 11.83 31.34 61.699 45.179 61.699h396.247c1.416 0 2.56 1.147 2.56 2.56v58.972c0 1.413-1.144 2.56-2.56 2.56h-547.076z","M227.531 466.688h568.066v402.78h-568.066v-402.78z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["dossier-solidaire"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":40,"id":28,"name":"dossier-solidaire","prevSize":32,"code":60062},"setIdx":1,"setId":2,"iconIdx":31},{"icon":{"paths":["M753.493 128c-10.667 0-21.76 4.267-29.867 12.373l-78.080 78.080 160 160 78.080-78.080c16.64-16.64 16.64-43.52 0-60.16l-99.84-99.84c-8.533-8.533-19.2-12.373-30.293-12.373zM599.893 384.853l39.253 39.253-386.56 386.56h-39.253v-39.253l386.56-386.56zM128 736l471.893-471.893 160 160-471.893 471.893h-160v-160z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["edit"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":41,"id":29,"name":"edit","prevSize":32,"code":60063},"setIdx":1,"setId":2,"iconIdx":32},{"icon":{"paths":["M717.286 432.768v-235.1c0-108.975-92.105-197.668-205.286-197.668-113.218 0-205.286 88.688-205.286 197.668v235.1c-82.615 59.985-136.047 155.268-136.047 262.566 0 181.474 152.809 328.666 341.333 328.666 188.471 0 341.333-147.136 341.333-328.666 0-107.285-53.431-202.534-136.047-262.566zM552.811 696.538v102.942c0 21.696-18.27 39.287-40.806 39.287-22.532 0-40.806-17.591-40.806-39.287v-102.942c-17.182-12.156-28.429-31.561-28.429-53.623 0-36.796 31.023-66.667 69.278-66.667s69.239 29.871 69.239 66.667c-0.043 22.101-11.332 41.506-28.476 53.623zM643.076 391.833c-40.346-16.183-84.621-25.161-131.068-25.161-46.451 0-90.728 8.977-131.072 25.161v-194.164c0-69.606 58.825-126.207 131.072-126.207 72.286 0 131.11 56.602 131.11 126.207l-0.043 194.164z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["Edition"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":42,"id":30,"name":"Edition","prevSize":32,"code":60064},"setIdx":1,"setId":2,"iconIdx":33},{"icon":{"paths":["M128 128.104l768 767.998","M753.493 128c-10.667 0-21.76 4.267-29.867 12.373l-78.080 78.080 160 160 78.080-78.080c16.64-16.64 16.64-43.52 0-60.16l-99.84-99.84c-8.533-8.533-19.2-12.373-30.293-12.373zM599.893 384.853l39.253 39.253-386.56 386.56h-39.253v-39.253l386.56-386.56zM128 736l471.893-471.893 160 160-471.893 471.893h-160v-160z"],"attrs":[{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":42.666666666666664},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["edit-off"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[{},{}]}},"attrs":[{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":42.666666666666664},{}],"properties":{"order":43,"id":31,"name":"edit-off","prevSize":32,"code":60065},"setIdx":1,"setId":2,"iconIdx":34},{"icon":{"paths":["M853.333 298.667v170.667h-561.92l152.747-153.173-60.16-60.16-256 256 256 256 60.16-60.16-152.747-153.173h647.253v-256h-85.333z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["entree"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":44,"id":32,"name":"entree","prevSize":32,"code":60066},"setIdx":1,"setId":2,"iconIdx":35},{"icon":{"paths":["M426.667 768h170.667v-85.333h-170.667v85.333zM128 256v85.333h768v-85.333h-768zM256 554.667h512v-85.333h-512v85.333z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["filter-list"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":45,"id":33,"name":"filter-list","prevSize":32,"code":60070},"setIdx":1,"setId":2,"iconIdx":36},{"icon":{"paths":["M640 511.995c0.143 3.661 1.71 7.9 4.283 10.557l84.329 87.017c5.722 4.979 16.676 7.037 23.058 1.28 6.3-5.678 6.095-16.696-0.164-22.395l-59.295-61.105h290.378c8.727 0 15.811-6.879 15.811-15.357 0-8.476-7.084-15.355-15.811-15.355h-290.378l59.295-61.107c5.394-5.258 6.403-16.655 0.164-22.392-6.218-5.74-17.582-3.899-23.058 1.28l-84.329 87.014c-2.883 2.98-4.283 6.479-4.283 10.557v0.005z","M870.4 391.34v-178.417l-0.005 0.002c0-2.069 0-3.064-1.034-4.019v-1.034c0-0.493-0.264-0.741-0.53-0.992-0.271-0.256-0.545-0.515-0.545-1.037l-1.078-1.034c0-0.995 0-2.029-1.075-2.029l-1.078-1.034c-0.586-0.586-0.84-0.84-1.147-0.95-0.233-0.084-0.497-0.084-0.963-0.084h-1.078l-396.329-148.734c-3.146-1.034-6.333-1.034-9.521 0l-397.325 148.652h-1.076c-0.512 0-0.771 0.254-1.032 0.51-0.266 0.261-0.535 0.525-1.079 0.525l-1.076 1.034c0 0.493-0.264 0.741-0.53 0.992-0.272 0.256-0.546 0.515-0.546 1.037-1.076 0-1.076 1.034-1.076 1.034 0 0.493-0.264 0.741-0.53 0.992-0.272 0.256-0.546 0.515-0.546 1.037v587.712c0 5.094 3.187 9.193 8.486 11.223l396.329 165.041h1.075c1.037 1.034 3.146 1.034 4.224 1.034 1.034 0 3.146 0 4.221-1.034h1.078l395.3-165.002c5.299-2.068 8.486-6.126 8.486-11.22v-150.346l-27.566 5.166v135.985l-369.833 154.813v-554.089l163.182-68.237v51.924c0 7.122 6.374 13.248 13.783 13.248 7.411 0 13.786-6.126 13.786-13.248v-63.145l179.082-74.909v163.638l27.566-5.005zM842.834 232.706l1.078-0.45-1.078 0.001v0.449zM648.878 280.166l-343.34-143.642 155.763-59.078 361.357 136.511-168.481 70.266c-1.050-1.979-3.082-2.972-5.14-3.981l-0.159-0.077zM78.725 232.256l369.876 153.828-0.041 555.077-369.836-154.813v-554.092zM623.432 296.451l-9.521 4.060-152.594 64.182-153.664-64.179-208.762-87.614 171.671-64.179c0.512 0 0.771 0.254 1.032 0.51 0.266 0.261 0.535 0.525 1.080 0.525l350.758 146.696z","M870.4 691.2c70.692 0 128 57.308 128 128s-57.308 128-128 128c-70.692 0-128-57.308-128-128s57.308-128 128-128z","M838.835 787.617l66.757 66.755","M905.382 787.63l-66.757 66.757"],"attrs":[{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(97, 97, 97)"},{"fill":"none","stroke":"rgb(255, 255, 255)","strokeLinejoin":"miter","strokeLinecap":"square","strokeMiterlimit":"4","strokeWidth":51.2},{"fill":"none","stroke":"rgb(255, 255, 255)","strokeLinejoin":"miter","strokeLinecap":"square","strokeMiterlimit":"4","strokeWidth":51.2}],"isMulticolor":true,"isMulticolor2":true,"tags":["flux-industriel-refusé"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[{"f":4},{"f":4},{"f":2},{"s":14},{"s":14}]}},"attrs":[{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(97, 97, 97)"},{"fill":"none","stroke":"rgb(255, 255, 255)","strokeLinejoin":"miter","strokeLinecap":"square","strokeMiterlimit":"4","strokeWidth":51.2},{"fill":"none","stroke":"rgb(255, 255, 255)","strokeLinejoin":"miter","strokeLinecap":"square","strokeMiterlimit":"4","strokeWidth":51.2}],"properties":{"order":46,"id":34,"name":"flux-industriel-refus","prevSize":32,"code":60080,"codes":[60080,60081,60082,60083,60084]},"setIdx":1,"setId":2,"iconIdx":37},{"icon":{"paths":["M649.923 551.043c7.411 0 13.786-6.129 13.786-13.251s-6.374-12.214-13.786-12.214c-7.411 0-13.786 6.126-13.786 13.251 0 6.085 6.374 12.214 13.786 12.214zM637.202 482.829c0-7.122 6.374-13.251 13.786-13.251 7.452 0 12.749 5.094 13.786 12.216v13.248c0 7.124-6.377 13.251-13.786 13.251-7.411 0-13.786-6.129-13.786-13.251v-12.214zM637.202 414.577c0-7.124 6.374-13.251 13.786-13.251 7.452 0 12.749 5.092 13.786 13.251v23.434c0 7.122-6.377 13.251-13.786 13.251-7.411 0-13.786-6.129-13.786-13.251v-23.434zM870.4 221.712v-8.789l-0.005 0.002c0-2.069 0-3.064-1.034-4.019v-1.034c0-0.493-0.264-0.741-0.53-0.992-0.271-0.256-0.545-0.515-0.545-1.037l-1.078-1.034c0-0.995 0-2.029-1.075-2.029l-1.078-1.034c-0.586-0.586-0.84-0.84-1.147-0.95-0.233-0.084-0.497-0.084-0.963-0.084h-1.078l-396.329-148.734c-3.146-1.034-6.333-1.034-9.521 0l-397.325 148.652h-1.076c-0.512 0-0.771 0.254-1.032 0.51-0.266 0.261-0.535 0.525-1.079 0.525l-1.076 1.034c0 0.493-0.264 0.741-0.53 0.992-0.272 0.256-0.546 0.515-0.546 1.037-1.076 0-1.076 1.034-1.076 1.034 0 0.493-0.264 0.741-0.53 0.992-0.272 0.256-0.546 0.515-0.546 1.037v587.712c0 5.094 3.187 9.193 8.486 11.223l396.329 165.041h1.075c1.037 1.034 3.146 1.034 4.224 1.034 1.034 0 3.146 0 4.221-1.034h1.078l395.3-165.002c5.299-2.068 8.486-6.126 8.486-11.22v-20.969l-27.574 11.622v0.133l-369.833 154.816v-554.092l163.18-68.237v51.924c0 7.122 6.377 13.251 13.786 13.251 7.411 0 13.786-6.129 13.786-13.251v-63.145l121.349-50.757-0.020-0.282 29.192-11.921 28.562-11.948v0.283l27.574-11.26zM842.826 232.689l1.078-0.45-1.078 0.001v0.45zM648.86 280.174l-343.342-143.641 155.763-59.077 361.357 136.511-168.479 70.265c-1.050-1.976-3.082-2.972-5.14-3.978l-0.159-0.079zM78.713 232.239l369.876 153.827-0.041 555.077-369.835-154.813v-554.091zM623.421 296.381l-9.521 4.060-152.591 64.182-153.667-64.179-208.762-87.614 171.67-64.179c0.512 0 0.771 0.253 1.034 0.51 0.266 0.261 0.535 0.525 1.078 0.525l350.758 146.696z","M989.455 391.923c-14.633-7.058-22.131 8.566-22.131 8.566l-36.613 61.394-7.363-4.349 26.294-99.494c0 0 3.469-16.53-11.72-19.743-16.888-3.781-21.891 10.071-21.891 10.071l-24.701 96.975-8.233-2.322 12.019-116.196c0 0 1.021-18.112-15.956-19.54-16.991-1.446-19.095 16.343-19.095 16.343l-11.538 116.206h-7.363l-8.579-107.704c0 0-3.891-17.544-18.737-17.544s-15.58 20.603-15.58 20.603l3.771 132.493-3.771 4.242-28.142-22.664c0 0-13.22-10.778-23.798 0.246-9.556 9.948 1.321 25.139 1.321 25.139l55.534 87.854 122.842 7.503 71.171-157.381c0 0 5.591-13.978-7.736-20.695z","M776.543 620.198v19.799h153.577v-43.791l-140.49-8.768-13.087 32.76z","M870.4 691.2c70.692 0 128 57.308 128 128s-57.308 128-128 128c-70.692 0-128-57.308-128-128s57.308-128 128-128z","M838.835 787.617l66.757 66.755","M905.382 787.63l-66.757 66.757"],"attrs":[{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(97, 97, 97)"},{"fill":"none","stroke":"rgb(255, 255, 255)","strokeLinejoin":"miter","strokeLinecap":"square","strokeMiterlimit":"4","strokeWidth":51.2},{"fill":"none","stroke":"rgb(255, 255, 255)","strokeLinejoin":"miter","strokeLinecap":"square","strokeMiterlimit":"4","strokeWidth":51.2}],"isMulticolor":true,"isMulticolor2":true,"tags":["flux-manuel-refusé"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[{"f":4},{"f":4},{"f":4},{"f":2},{"s":14},{"s":14}]}},"attrs":[{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(97, 97, 97)"},{"fill":"none","stroke":"rgb(255, 255, 255)","strokeLinejoin":"miter","strokeLinecap":"square","strokeMiterlimit":"4","strokeWidth":51.2},{"fill":"none","stroke":"rgb(255, 255, 255)","strokeLinejoin":"miter","strokeLinecap":"square","strokeMiterlimit":"4","strokeWidth":51.2}],"properties":{"order":47,"id":35,"name":"flux-manuel-refus","prevSize":32,"code":60090,"codes":[60090,60091,60092,60093,60094,60095]},"setIdx":1,"setId":2,"iconIdx":38},{"icon":{"paths":["M784.065 563.13l153.207 153.203-44.093 44.405-232.567-232.571h-132.444v132.444l232.571 232.567-44.405 44.093-188.166-188.166v244.716h-62.517v-244.716l-188.165 188.166-44.404-44.093 232.568-232.567v-132.444h-132.44l-232.569 232.571-44.091-44.405 188.165-188.166h-244.715v-62.517h244.715l-188.165-188.165 44.091-44.404 232.569 232.568h132.44v-132.44l-232.568-232.569 44.404-44.091 188.165 188.165v-244.715h62.517v244.715l188.166-188.165 44.405 44.091-232.571 232.569v132.44h132.444l232.567-232.568 44.093 44.404-188.166 188.165h244.716v62.517h-244.716l34.959 34.963z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["gele"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":48,"id":36,"name":"gele","prevSize":32,"code":60097},"setIdx":1,"setId":2,"iconIdx":39},{"icon":{"paths":["M527.549 240.364h342.851v553.236h-819.2v-553.236h343.132M560.036 461.66h197.74M560.036 544.648h197.74M468.564 621.714c-49.746-18.839-104.973-42.214-109.632-56.763v-15.299c10.337-10.317 18.473-24.73 23.276-41.631 11.497-7.882 14.52-24.287 4.887-35.904v-34.189c0-35.325-20.083-59.502-65.987-59.502-44.718 0-66.018 24.177-66.018 59.502v34.217c-9.604 11.561-6.61 27.965 4.859 35.876 4.831 16.901 12.966 31.314 23.304 41.631v15.299c-4.631 14.548-59.886 37.924-109.631 56.763-4.237 1.603-7.034 5.642-7.034 10.15v38.228c0 6.003 4.887 10.872 10.932 10.872h287.144c6.044 0 10.931-4.869 10.931-10.872v-38.228c0-4.508-2.796-8.548-7.032-10.15zM532.119 112.939c-6.047-6.694-14.717-10.539-23.813-10.539h-94.746c-9.096 0-17.769 3.845-23.785 10.539-6.044 6.694-8.899 15.629-7.826 24.508l18.898 157.175c1.894 15.767 15.48 27.661 31.611 27.661h56.95c16.128 0 29.716-11.894 31.608-27.661l18.926-157.175c1.044-8.879-1.779-17.814-7.823-24.508z"],"attrs":[{"fill":"none","strokeLinejoin":"round","strokeLinecap":"round","strokeMiterlimit":"4","strokeWidth":25.6}],"isMulticolor":false,"isMulticolor2":false,"tags":["gestion-profil"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[{}]}},"attrs":[{"fill":"none","strokeLinejoin":"round","strokeLinecap":"round","strokeMiterlimit":"4","strokeWidth":25.6}],"properties":{"order":49,"id":37,"name":"gestion-profil","prevSize":32,"code":60098},"setIdx":1,"setId":2,"iconIdx":40},{"icon":{"paths":["M979.162 367.168l-111.061-264.848c-4.309-10.265-14.293-16.987-25.429-16.987h-661.332c-11.063 0-21.12 6.65-25.43 16.987l-111.060 264.848c-3.592 8.529-2.73 18.361 2.442 26.168 5.1 7.735 13.721 12.433 22.988 12.433h76.003v505.138c0 15.326 12.356 27.759 27.585 27.759h676.266c15.228 0 27.584-12.433 27.584-27.759v-505.138h76.002c9.267 0 17.89-4.626 22.989-12.433 5.171-7.807 6.033-17.638 2.445-26.168h0.009zM411.931 875.989v-314.517h200.288v314.517h-200.288zM822.63 883.072h-155.243l-0.068-349.359c0-15.326-12.356-27.759-27.588-27.759h-255.384c-15.229 0-27.586 12.433-27.586 27.759v349.359h-155.239v-477.379h621.096l0.013 477.379zM850.21 350.176h-738.33l87.784-209.332h624.771l87.787 209.332h-62.012z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["home"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":50,"id":38,"name":"home","prevSize":32,"code":60100},"setIdx":1,"setId":2,"iconIdx":41},{"icon":{"paths":["M510.916 226.251l-55.531-132.424c-2.155-5.132-7.151-8.494-12.715-8.494h-330.668c-5.531 0-10.56 3.325-12.715 8.494l-55.53 132.424c-1.796 4.265-1.365 9.181 1.221 13.084 2.55 3.867 6.86 6.217 11.494 6.217h38.001v252.569c0 7.663 6.178 13.879 13.793 13.879h338.133c7.616 0 13.794-6.217 13.794-13.879v-252.569h37.999c4.634 0 8.943-2.313 11.494-6.217 2.586-3.904 3.017-8.819 1.22-13.084h0.009zM227.296 480.661v-157.259h100.144v157.259h-100.144zM432.644 484.203h-77.62l-0.036-174.681c0-7.663-6.178-13.879-13.792-13.879h-127.693c-7.615 0-13.793 6.217-13.793 13.879v174.681h-77.62v-238.691h310.545l0.009 238.691zM446.438 217.755h-369.167l43.892-104.666h312.386l43.891 104.666h-31.002z","M725.431 576c0 0-20.267 0-21.073 16.593s0 248.887 0 265.481c0 16.593 21.073 16.593 21.073 16.593s21.077 0 21.077-16.593c0-16.593 0.354-248.892 0-265.481-0.354-16.593-21.077-16.593-21.077-16.593z","M874.62 725.76c0 0 0.047-20.267-16.542-21.111-16.585-0.841-248.811-0.546-265.395-0.585-16.589-0.038-16.636 21.039-16.636 21.039s-0.047 21.073 16.542 21.111c16.585 0.038 248.811 0.905 265.395 0.585 16.589-0.316 16.636-21.039 16.636-21.039z","M725.333 981.333c-141.385 0-256-114.615-256-256s114.615-256 256-256c141.385 0 256 114.615 256 256s-114.615 256-256 256zM725.333 938.667c117.82 0 213.333-95.514 213.333-213.333s-95.514-213.333-213.333-213.333c-117.82 0-213.333 95.514-213.333 213.333s95.514 213.333 213.333 213.333z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["home-add"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":51,"id":39,"name":"home-add","prevSize":32,"code":60101},"setIdx":1,"setId":2,"iconIdx":42},{"icon":{"paths":["M409.6 153.6l-153.6 153.216h115.2v269.184h76.8v-269.184h115.2l-153.6-153.216zM678.4 691.584v-269.184h-76.8v269.184h-115.2l153.6 153.216 153.6-153.216h-115.2z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["import-export"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":52,"id":40,"name":"import-export","prevSize":32,"code":60106},"setIdx":1,"setId":2,"iconIdx":43},{"icon":{"paths":["M510.050 0.014c-135.276 0-265.001 53.721-360.66 149.39-95.612 95.667-149.39 225.393-149.39 360.663 0 135.266 53.777 265.003 149.39 360.661 95.667 95.667 225.394 149.389 360.66 149.389 135.27 0 265.003-53.722 360.661-149.389 95.667-95.667 149.393-225.395 149.393-360.661-0.166-135.223-53.948-264.89-149.564-360.506s-225.28-149.39-360.503-149.561l0.013 0.014zM510.054 966.797c-121.112 0-237.285-48.111-322.946-133.777-85.611-85.666-133.777-201.826-133.777-322.944 0-121.116 48.166-237.283 133.777-322.944 85.666-85.666 201.827-133.777 322.946-133.777 121.114 0 237.282 48.111 322.944 133.777 85.666 85.666 133.777 201.828 133.777 322.944-0.166 121.109-48.277 237.171-133.948 322.773-85.611 85.611-201.668 133.777-322.773 133.943v0.004z","M536.218 417.065h-97.446v48.39h42.999v180.608h-42.999v48.333h140.446v-48.333h-42.999v-228.998z","M507.051 355.727c8.725 0.167 17.169-3.334 23.279-9.556 6.391-6.056 9.89-14.499 9.779-23.333 0.166-8.778-3.388-17.222-9.779-23.277-6.165-6.167-14.554-9.556-23.279-9.389-8.943-0.278-17.553 3.278-23.667 9.778-12.497 12.778-12.497 33.222 0 46 6.17 6.5 14.724 10.056 23.667 9.778v-0.001z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["info"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":53,"id":41,"name":"info","prevSize":32,"code":60107},"setIdx":1,"setId":2,"iconIdx":44},{"icon":{"paths":["M768 362.667c46.933 0 85.333 38.4 85.333 85.333v426.667c0 46.933-38.4 85.333-85.333 85.333h-512c-46.933 0-85.333-38.4-85.333-85.333v-426.667c0-46.933 38.4-85.333 85.333-85.333h384v-85.333c0-70.4-57.6-128-128-128-58.453 0-109.227 39.68-123.733 96-5.973 23.040-29.44 36.693-52.053 30.72-23.040-5.973-36.693-29.013-30.72-52.053 24.32-94.293 109.227-160 206.507-160 117.76 0 213.333 95.573 213.333 213.333v85.333h42.667zM512 576c46.933 0 85.333 38.4 85.333 85.333s-38.4 85.333-85.333 85.333c-46.933 0-85.333-38.4-85.333-85.333s38.4-85.333 85.333-85.333zM725.333 874.667c23.467 0 42.667-19.2 42.667-42.667v-341.333c0-23.467-19.2-42.667-42.667-42.667h-426.667c-23.467 0-42.667 19.2-42.667 42.667v341.333c0 23.467 19.2 42.667 42.667 42.667h426.667z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["lock open"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":54,"id":42,"name":"lock-open","prevSize":32,"code":60108},"setIdx":1,"setId":2,"iconIdx":45},{"icon":{"paths":["M128 384c-70.4 0-128 57.6-128 128s57.6 128 128 128c70.4 0 128-57.6 128-128s-57.6-128-128-128zM896 384c-70.4 0-128 57.6-128 128s57.6 128 128 128c70.4 0 128-57.6 128-128s-57.6-128-128-128zM512 384c-70.4 0-128 57.6-128 128s57.6 128 128 128c70.4 0 128-57.6 128-128s-57.6-128-128-128z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["more-horiz"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":55,"id":43,"name":"more-horiz","prevSize":32,"code":60109},"setIdx":1,"setId":2,"iconIdx":46},{"icon":{"paths":["M422.698 805.427c25.797-25.95 55.566-38.925 89.302-38.925s63.505 12.975 89.301 38.925c25.801 25.95 38.699 55.889 38.699 89.826 0 33.933-12.898 63.872-38.699 89.822-25.796 25.95-55.565 38.925-89.301 38.925s-63.505-12.975-89.302-38.925c-25.798-25.95-38.698-55.889-38.698-89.822 0-33.937 12.899-63.876 38.698-89.826zM422.698 422.176c25.797-25.949 55.566-38.924 89.302-38.924s63.505 12.975 89.301 38.924c25.801 25.948 38.699 55.892 38.699 89.824s-12.898 63.876-38.699 89.826c-25.796 25.95-55.565 38.921-89.301 38.921s-63.505-12.971-89.302-38.921c-25.798-25.95-38.698-55.893-38.698-89.826s12.899-63.876 38.698-89.824zM601.301 218.573c-25.796 25.949-55.565 38.924-89.301 38.924s-63.505-12.975-89.302-38.924c-25.798-25.949-38.698-55.891-38.698-89.825s12.899-63.875 38.698-89.824c25.797-25.949 55.566-38.924 89.302-38.924s63.505 12.975 89.301 38.924c25.801 25.949 38.699 55.891 38.699 89.824s-12.898 63.875-38.699 89.825z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["more-vert"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":56,"id":44,"name":"more-vert","prevSize":32,"code":60110},"setIdx":1,"setId":2,"iconIdx":47},{"icon":{"paths":["M512 938.667c46.933 0 85.333-38.4 85.333-85.333h-170.667c0 46.933 38.4 85.333 85.333 85.333zM768 682.667v-213.333c0-130.987-69.547-240.64-192-269.653v-29.013c0-35.413-28.587-64-64-64s-64 28.587-64 64v29.013c-122.027 29.013-192 138.24-192 269.653v213.333l-85.333 85.333v42.667h682.667v-42.667l-85.333-85.333zM682.667 725.333h-341.333v-256c0-105.813 64.427-192 170.667-192s170.667 86.187 170.667 192v256z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["notifications"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":57,"id":45,"name":"notifications","prevSize":32,"code":60111},"setIdx":1,"setId":2,"iconIdx":48},{"icon":{"paths":["M298.667 771.034v-518.066c0-21.883 20.709-39.634 37.507-39.634h89.288c20.708 0 37.506 17.751 37.506 39.634v518.066c0 21.884-20.706 39.633-37.506 39.633h-89.288c-20.709 0-37.507-17.749-37.507-39.633z","M561.033 771.034v-518.066c0-21.883 20.71-39.634 37.508-39.634h89.289c20.706 0 37.504 17.751 37.504 39.634v518.066c0 21.884-20.706 39.633-37.504 39.633h-89.289c-20.71 0-37.508-17.749-37.508-39.633z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["pause"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":58,"id":46,"name":"pause","prevSize":32,"code":60113},"setIdx":1,"setId":2,"iconIdx":49},{"icon":{"paths":["M298.662 853.332v-682.666c0-23.564 19.103-42.667 42.668-42.667h341.332c23.565 0 42.668 19.102 42.668 42.667v682.666c0 23.565-19.103 42.668-42.668 42.668h-341.332c-23.565 0-42.668-19.103-42.668-42.668z","M488.287 783.063h47.409"],"attrs":[{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"round","strokeMiterlimit":"4","strokeWidth":25.6}],"isMulticolor":false,"isMulticolor2":false,"tags":["phone"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[{},{}]}},"attrs":[{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"round","strokeMiterlimit":"4","strokeWidth":25.6}],"properties":{"order":59,"id":47,"name":"phone","prevSize":32,"code":60120},"setIdx":1,"setId":2,"iconIdx":50},{"icon":{"paths":["M731.29 498.486l-0.031 0.056c-8.635 15.752-25.449 26.258-44.728 26.258h-285.983c-9.339 0-17.935 5.084-22.433 13.266l-42.225 76.8c-4.362 7.931-4.211 17.574 0.397 25.364 4.605 7.79 12.984 12.57 22.034 12.57h435.044v25.6h-435.044c-38.643 0-63.516-41.531-44.731-76.14l0.036-0.064 51.743-93.55c3.991-7.214 4.262-15.908 0.73-23.357l-138.192-291.457c-4.237-8.936-13.242-14.632-23.132-14.632h-51.174v-25.6h83.668l29.171 62.086c4.219 8.98 13.248 14.714 23.171 14.714h568.125c9.654 0 15.683 10.474 11.064 18.717v-0l-0.084 0.154-137.426 249.215zM326.077 256c-8.776 0-16.942 4.495-21.635 11.912s-5.258 16.719-1.5 24.65l90.977 192c4.234 8.94 13.243 14.638 23.135 14.638h269.476c9.324 0 17.91-5.069 22.413-13.233l105.948-192c4.378-7.928 4.237-17.582-0.369-25.382-4.605-7.798-12.987-12.585-22.044-12.585h-466.401zM307.533 819.2c0-28.278 22.876-51.2 50.788-51.2 28.081 0 51.174 23.091 51.174 51.2s-23.094 51.2-51.174 51.2c-27.912 0-50.788-22.922-50.788-51.2zM691.402 819.2c0-28.278 22.876-51.2 50.788-51.2 28.081 0 51.174 23.091 51.174 51.2s-23.094 51.2-51.174 51.2c-27.912 0-50.788-22.922-50.788-51.2z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["picking"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":60,"id":48,"name":"picking","prevSize":32,"code":60121},"setIdx":1,"setId":2,"iconIdx":51},{"icon":{"paths":["M266.237 304.763l491.52-227.963 122.88 290.135h-40.95l-102.4-227.961-409.6 186.515 20.48 41.446h-55.598l-26.332-62.172z","M332.291 274.135c-17.661-18.267-38.395-56.523-44.060-69.050-0.973-2.147-3.405-3.938-5.763-3.938h-134.826c-2.356 0-4.266 1.91-4.266 4.267v157.258c0 2.355 1.91 4.265 4.266 4.265l732.996 0.003-0.765-1.805c0.494-0.696 0.783-1.546 0.783-2.463v-74.363c0-2.358-1.91-4.268-4.268-4.268h-30.861l-17.556-41.453h50.962c23.565 0 42.668 19.102 42.668 42.666v619.277c0 23.565-19.103 42.668-42.668 42.668h-733.866c-23.564 0-42.667-19.103-42.667-42.668v-702.172c0-23.564 19.102-42.666 42.667-42.666h135.624c16.233 0 31.060 9.212 38.252 23.766l17.475 35.364c7.191 14.554 22.019 23.766 38.252 23.766h25.636l-68.014 31.546zM147.642 408.387c-2.356 0-4.266 1.91-4.266 4.268v488.84c0 2.355 1.91 4.265 4.266 4.265h728.746c2.358 0 4.268-1.91 4.268-4.265v-488.84c0-2.358-1.91-4.268-4.268-4.268h-728.746z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["plan-classement"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":61,"id":49,"name":"plan-classement","prevSize":32,"code":60122},"setIdx":1,"setId":2,"iconIdx":52},{"icon":{"paths":["M454.4 376.435l0.128-0.115h-0.128v-69.12h153.6v69.12h-0.128l0.128 0.115-51.2 45.965 51.2 46.080-0.128 0.115h0.128v69.005h-153.6v-69.005h0.128l-0.128-0.115 51.2-46.080-51.2-45.965zM480 370.56l51.2 46.080 51.2-46.080v-40.32h-102.4v40.32zM531.2 428.16l-51.2 46.080v40.32h102.4v-40.32l-51.2-46.080z","M454.528 376.32l2.568 2.854c1.183-1.065 1.587-2.747 1.016-4.229-0.568-1.485-1.994-2.465-3.584-2.465v3.84zM454.4 376.435l-2.568-2.854c-0.812 0.73-1.272 1.766-1.272 2.857 0 1.088 0.463 2.127 1.275 2.854l2.565-2.857zM454.4 376.32h-3.84c0 2.12 1.72 3.84 3.84 3.84v-3.84zM454.4 307.2v-3.84c-2.12 0-3.84 1.72-3.84 3.84h3.84zM608 307.2h3.84c0-2.12-1.72-3.84-3.84-3.84v3.84zM608 376.32v3.84c2.12 0 3.84-1.72 3.84-3.84h-3.84zM607.872 376.32v-3.84c-1.59 0-3.016 0.98-3.584 2.465-0.571 1.482-0.166 3.164 1.016 4.229l2.568-2.854zM608 376.435l2.565 2.857c0.812-0.727 1.275-1.766 1.275-2.854 0-1.091-0.461-2.127-1.272-2.857l-2.568 2.854zM556.8 422.4l-2.565-2.857c-0.812 0.727-1.275 1.766-1.275 2.854 0 1.091 0.461 2.127 1.272 2.857l2.568-2.854zM608 468.48l2.568 2.854c0.812-0.73 1.272-1.766 1.272-2.854s-0.461-2.125-1.272-2.854l-2.568 2.854zM607.872 468.595l-2.568-2.854c-1.183 1.065-1.587 2.747-1.016 4.229 0.568 1.485 1.994 2.465 3.584 2.465v-3.84zM608 468.595h3.84c0-2.12-1.72-3.84-3.84-3.84v3.84zM608 537.6v3.84c2.12 0 3.84-1.72 3.84-3.84h-3.84zM454.4 537.6h-3.84c0 2.12 1.72 3.84 3.84 3.84v-3.84zM454.4 468.595v-3.84c-2.12 0-3.84 1.72-3.84 3.84h3.84zM454.528 468.595v3.84c1.59 0 3.016-0.98 3.584-2.465 0.571-1.482 0.166-3.164-1.016-4.229l-2.568 2.854zM454.4 468.48l-2.568-2.854c-0.812 0.73-1.272 1.766-1.272 2.854s0.461 2.125 1.272 2.854l2.568-2.854zM505.6 422.4l2.568 2.854c0.812-0.73 1.272-1.766 1.272-2.857 0-1.088-0.463-2.127-1.275-2.854l-2.565 2.857zM531.2 416.64l-2.568 2.854c1.459 1.313 3.676 1.313 5.135 0l-2.568-2.854zM480 370.56h-3.84c0 1.088 0.461 2.125 1.272 2.854l2.568-2.854zM582.4 370.56l2.568 2.854c0.812-0.73 1.272-1.766 1.272-2.854h-3.84zM582.4 330.24h3.84c0-2.12-1.72-3.84-3.84-3.84v3.84zM480 330.24v-3.84c-2.12 0-3.84 1.72-3.84 3.84h3.84zM480 474.24l-2.568-2.854c-0.812 0.73-1.272 1.766-1.272 2.854h3.84zM531.2 428.16l2.568-2.854c-1.459-1.313-3.676-1.313-5.135 0l2.568 2.854zM480 514.56h-3.84c0 2.12 1.72 3.84 3.84 3.84v-3.84zM582.4 514.56v3.84c2.12 0 3.84-1.72 3.84-3.84h-3.84zM582.4 474.24h3.84c0-1.088-0.461-2.125-1.272-2.854l-2.568 2.854zM451.96 373.466l-0.128 0.115 5.135 5.709 0.128-0.115-5.135-5.709zM454.4 380.16h0.128v-7.68h-0.128v7.68zM450.56 307.2v69.12h7.68v-69.12h-7.68zM608 303.36h-153.6v7.68h153.6v-7.68zM611.84 376.32v-69.12h-7.68v69.12h7.68zM607.872 380.16h0.128v-7.68h-0.128v7.68zM610.568 373.581l-0.128-0.115-5.135 5.709 0.128 0.115 5.135-5.709zM559.365 425.257l51.2-45.965-5.13-5.714-51.2 45.965 5.13 5.714zM610.568 465.626l-51.2-46.080-5.135 5.709 51.2 46.080 5.135-5.709zM610.44 471.45l0.128-0.115-5.135-5.709-0.128 0.115 5.135 5.709zM608 464.755h-0.128v7.68h0.128v-7.68zM611.84 537.6v-69.005h-7.68v69.005h7.68zM454.4 541.44h153.6v-7.68h-153.6v7.68zM450.56 468.595v69.005h7.68v-69.005h-7.68zM454.528 464.755h-0.128v7.68h0.128v-7.68zM451.832 471.334l0.128 0.115 5.135-5.709-0.128-0.115-5.135 5.709zM503.032 419.546l-51.2 46.080 5.135 5.709 51.2-46.080-5.135-5.709zM451.835 379.292l51.2 45.965 5.13-5.714-51.2-45.965-5.13 5.714zM533.768 413.786l-51.2-46.080-5.135 5.709 51.2 46.080 5.135-5.709zM579.832 367.706l-51.2 46.080 5.135 5.709 51.2-46.080-5.135-5.709zM578.56 330.24v40.32h7.68v-40.32h-7.68zM480 334.080h102.4v-7.68h-102.4v7.68zM483.84 370.56v-40.32h-7.68v40.32h7.68zM482.568 477.094l51.2-46.080-5.135-5.709-51.2 46.080 5.135 5.709zM483.84 514.56v-40.32h-7.68v40.32h7.68zM582.4 510.72h-102.4v7.68h102.4v-7.68zM578.56 474.24v40.32h7.68v-40.32h-7.68zM528.632 431.014l51.2 46.080 5.135-5.709-51.2-46.080-5.135 5.709z","M504.604 791.926l20.078 25.772 20.224-25.659c41.216-52.298 90.094-120.671 128.801-190.377 38.159-68.718 68.692-142.628 68.692-204.861 0-120.123-97.477-217.6-217.6-217.6s-217.6 97.477-217.6 217.6c0 61.729 30.986 135.89 69.276 204.731 38.876 69.901 87.721 138.527 128.128 190.395zM546.924 830.218c-8.451 10.409-15.933 19.392-22.124 26.703-6.19-7.311-13.673-16.294-22.124-26.703-24.87-30.643-57.987-73.526-91.054-122.537-33.119-49.083-65.866-103.849-90.26-158.298-24.543-54.784-39.762-107.364-39.762-152.584 0-134.469 108.731-243.2 243.2-243.2s243.2 108.731 243.2 243.2c0 45.22-15.219 97.8-39.762 152.584-24.394 54.449-57.142 109.215-90.26 158.298-33.068 49.011-66.184 91.894-91.054 122.537z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["position"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":62,"id":50,"name":"position","prevSize":32,"code":60124,"codes":[60124,60125,60126]},"setIdx":1,"setId":2,"iconIdx":53},{"icon":{"paths":["M816.64 341.332h-609.28c-72.243 0-130.56 57.175-130.56 128v256h174.080v170.668h522.24v-170.668h174.080v-256c0-70.825-58.317-128-130.56-128zM686.080 810.668h-348.16v-213.335h348.16v213.335zM816.64 512c-23.936 0-43.52-19.2-43.52-42.668 0-23.465 19.584-42.665 43.52-42.665s43.52 19.2 43.52 42.665c0 23.468-19.584 42.668-43.52 42.668zM773.12 128h-522.24v170.668h522.24v-170.668z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["print"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":63,"id":51,"name":"print","prevSize":32,"code":60127},"setIdx":1,"setId":2,"iconIdx":54},{"icon":{"paths":["M270.813 526.893c2.243 0 4.173-1.908 4.173-4.127s-1.93-3.805-4.173-3.805c-2.244 0-4.173 1.908-4.173 4.127 0 1.897 1.929 3.805 4.173 3.805zM266.972 505.638c0-2.218 1.929-4.127 4.173-4.127 2.255 0 3.859 1.586 4.172 3.804v4.127c0 2.218-1.929 4.127-4.172 4.127-2.244 0-4.173-1.908-4.173-4.127v-3.804zM266.972 484.383c0-2.218 1.929-4.127 4.173-4.127 2.255 0 3.859 1.587 4.172 4.127v7.3c0 2.218-1.929 4.127-4.172 4.127-2.244 0-4.173-1.908-4.173-4.127v-7.3zM337.554 424.31v-2.74h-0.001c0-0.644 0-0.954-0.314-1.252v-0.321c0-0.154-0.079-0.232-0.16-0.31-0.082-0.079-0.165-0.16-0.165-0.323l-0.326-0.323c0-0.31 0-0.631-0.325-0.631l-0.326-0.323c-0.178-0.184-0.255-0.262-0.348-0.297-0.070-0.026-0.15-0.026-0.291-0.026h-0.325l-119.96-46.323c-0.952-0.322-1.917-0.322-2.883 0l-120.261 46.298h-0.326c-0.155 0-0.233 0.079-0.312 0.159-0.081 0.082-0.162 0.164-0.327 0.164l-0.326 0.323c0 0.154-0.080 0.23-0.161 0.308-0.082 0.079-0.165 0.16-0.165 0.323-0.326 0-0.326 0.323-0.326 0.323 0 0.154-0.080 0.23-0.161 0.31-0.082 0.079-0.165 0.16-0.165 0.323v183.045c0 1.586 0.965 2.862 2.569 3.494l119.961 51.402h0.325c0.314 0.323 0.952 0.323 1.279 0.323 0.312 0 0.952 0 1.277-0.323h0.326l119.648-51.389c1.604-0.645 2.569-1.908 2.569-3.494v-6.528l-8.319 3.608v0.059l-111.941 48.218v-172.573l49.391-21.253v16.173c0 2.218 1.929 4.127 4.173 4.127 2.243 0 4.172-1.908 4.172-4.127v-19.667l36.724-15.807-0.006-0.104 10.508-4.416 6.98-3.004v0.072l8.319-3.496zM329.235 427.734l0.325-0.14h-0.325v0.14zM270.506 442.514l-103.922-44.737 47.146-18.4 109.375 42.516-50.995 21.885c-0.317-0.617-0.933-0.927-1.555-1.24l-0.049-0.024zM97.928 427.594l111.954 47.909-0.013 172.881-111.941-48.218v-172.572zM262.812 447.578l-2.881 1.265-46.186 19.99-46.511-19.988-63.188-27.288 51.961-19.988c0.155 0 0.233 0.079 0.312 0.159 0.081 0.081 0.163 0.164 0.326 0.164l106.167 45.688z","M640 363.2c2.651 0 4.8-2.149 4.8-4.8s-2.149-4.8-4.8-4.8v9.6zM780.8 353.6c-2.651 0-4.8 2.149-4.8 4.8s2.149 4.8 4.8 4.8v-9.6zM843.2 358.4c0-2.651-2.149-4.8-4.8-4.8s-4.8 2.149-4.8 4.8h9.6zM833.6 652.8c0 2.651 2.149 4.8 4.8 4.8s4.8-2.149 4.8-4.8h-9.6zM593.6 358.4c0-2.651-2.149-4.8-4.8-4.8s-4.8 2.149-4.8 4.8h9.6zM584 652.8c0 2.651 2.149 4.8 4.8 4.8s4.8-2.149 4.8-4.8h-9.6zM505.6 411.2c-2.651 0-4.8 2.149-4.8 4.8s2.149 4.8 4.8 4.8v-9.6zM544 420.8c2.651 0 4.8-2.149 4.8-4.8s-2.149-4.8-4.8-4.8v9.6zM518.4 436.8c-2.651 0-4.8 2.149-4.8 4.8s2.149 4.8 4.8 4.8v-9.6zM531.2 446.4c2.651 0 4.8-2.149 4.8-4.8s-2.149-4.8-4.8-4.8v9.6zM876.8 411.2c-2.651 0-4.8 2.149-4.8 4.8s2.149 4.8 4.8 4.8v-9.6zM915.2 420.8c2.651 0 4.8-2.149 4.8-4.8s-2.149-4.8-4.8-4.8v9.6zM889.6 436.8c-2.651 0-4.8 2.149-4.8 4.8s2.149 4.8 4.8 4.8v-9.6zM902.4 446.4c2.651 0 4.8-2.149 4.8-4.8s-2.149-4.8-4.8-4.8v9.6zM640 353.6h-153.6v9.6h153.6v-9.6zM468.8 371.2v268.8h9.6v-268.8h-9.6zM486.4 657.6h448v-9.6h-448v9.6zM952 640v-268.8h-9.6v268.8h9.6zM934.4 353.6h-153.6v9.6h153.6v-9.6zM833.6 358.4v294.4h9.6v-294.4h-9.6zM584 358.4v294.4h9.6v-294.4h-9.6zM505.6 420.8h38.4v-9.6h-38.4v9.6zM518.4 446.4h12.8v-9.6h-12.8v9.6zM876.8 420.8h38.4v-9.6h-38.4v9.6zM889.6 446.4h12.8v-9.6h-12.8v9.6zM952 371.2c0-9.72-7.88-17.6-17.6-17.6v9.6c4.419 0 8 3.582 8 8h9.6zM934.4 657.6c9.72 0 17.6-7.88 17.6-17.6h-9.6c0 4.419-3.581 8-8 8v9.6zM468.8 640c0 9.72 7.88 17.6 17.6 17.6v-9.6c-4.419 0-8-3.581-8-8h-9.6zM486.4 353.6c-9.72 0-17.6 7.88-17.6 17.6h9.6c0-4.418 3.581-8 8-8v-9.6z","M320 511.878c0 5.999 4.854 10.853 10.852 10.853h395.878l-60.512 59.919c-4.261 4.219-4.282 11.086-0.064 15.346 4.197 4.26 11.064 4.303 15.324 0.084l79.333-78.573c0.106-0.106 0.191-0.255 0.297-0.361 0.36-0.381 0.699-0.805 0.996-1.229l0.042-0.064c0.17-0.275 0.297-0.572 0.445-0.847l0.022-0.022c0.191-0.296 0.36-0.614 0.508-0.954l0.042-0.084v0.022l0.317-1.082c0.086-0.297 0.191-0.572 0.255-0.869l0.022-0.064c0.253-1.377 0.253-2.776 0-4.154l-0.022-0.064c-0.064-0.297-0.169-0.572-0.255-0.869-0.084-0.36-0.211-0.721-0.317-1.080l-0.042-0.084v0.020c-0.148-0.339-0.317-0.657-0.508-0.954-0.148-0.297-0.276-0.594-0.467-0.869l-0.042-0.064c-0.297-0.424-0.636-0.847-0.996-1.229-0.106-0.127-0.191-0.255-0.297-0.361l-0.084-0.084-79.249-78.488c-2.034-2.013-4.812-3.158-7.672-3.137-2.883 0-5.638 1.166-7.674 3.222-2.013 2.035-3.158 4.812-3.137 7.674 0.022 2.883 1.166 5.638 3.222 7.674l60.512 59.919h-395.877c-5.998 0-10.852 4.855-10.852 10.853z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["Rangement Déplacement"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":64,"id":52,"name":"Rangement-Dplacement","prevSize":32,"code":60131},"setIdx":1,"setId":2,"iconIdx":55},{"icon":{"paths":["M102.4 407.037h640v437.757h-640v-437.757z","M103.138 407.050l312.353-40.264v-187.587l-205.155 25.606-107.198 202.244z","M426.012 405.315v-201.883h205.583l110.449 203.527-316.032-1.644z","M358.4 652.349c0 7.706 6.157 13.939 13.768 13.939h502.216l-76.767 76.964c-5.404 5.417-5.43 14.239-0.079 19.709 5.325 5.471 14.036 5.527 19.441 0.108l100.641-100.92c0.136-0.136 0.243-0.328 0.379-0.463 0.456-0.489 0.886-1.034 1.262-1.58l0.054-0.082c0.215-0.353 0.376-0.735 0.566-1.088l0.026-0.028c0.243-0.379 0.458-0.788 0.645-1.224l0.054-0.11v0.028l0.404-1.388c0.108-0.381 0.241-0.737 0.323-1.116l0.026-0.082c0.325-1.772 0.325-3.566 0-5.338l-0.026-0.082c-0.082-0.379-0.215-0.735-0.323-1.116-0.108-0.461-0.269-0.924-0.404-1.388l-0.054-0.11v0.028c-0.187-0.435-0.402-0.845-0.645-1.224-0.187-0.381-0.348-0.763-0.591-1.116l-0.054-0.082c-0.376-0.545-0.806-1.091-1.262-1.58-0.136-0.164-0.243-0.328-0.379-0.463l-0.105-0.108-100.536-100.813c-2.58-2.588-6.103-4.058-9.733-4.029-3.658 0-7.155 1.498-9.736 4.137-2.555 2.614-4.006 6.18-3.978 9.856 0.026 3.702 1.477 7.242 4.086 9.856l76.767 76.961h-502.216c-7.611 0-13.768 6.236-13.768 13.942z"],"attrs":[{"fill":"none","strokeLinejoin":"round","strokeLinecap":"round","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"none","strokeLinejoin":"round","strokeLinecap":"round","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"none","strokeLinejoin":"round","strokeLinecap":"round","strokeMiterlimit":"4","strokeWidth":25.6},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["recherche postee"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[{},{},{},{}]}},"attrs":[{"fill":"none","strokeLinejoin":"round","strokeLinecap":"round","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"none","strokeLinejoin":"round","strokeLinecap":"round","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"none","strokeLinejoin":"round","strokeLinecap":"round","strokeMiterlimit":"4","strokeWidth":25.6},{}],"properties":{"order":65,"id":53,"name":"recherche-postee","prevSize":32,"code":60132},"setIdx":1,"setId":2,"iconIdx":56},{"icon":{"paths":["M585.6 549.455c2.858 0 5.317-2.432 5.317-5.258s-2.459-4.847-5.317-4.847c-2.857 0-5.316 2.432-5.316 5.258 0 2.415 2.459 4.847 5.316 4.847zM580.741 522.372c0-2.826 2.459-5.257 5.316-5.257 2.874 0 4.918 2.020 5.317 4.846v5.258c0 2.826-2.459 5.258-5.317 5.258-2.857 0-5.316-2.432-5.316-5.258v-4.847zM580.741 495.293c0-2.826 2.459-5.258 5.316-5.258 2.874 0 4.918 2.021 5.317 5.258v9.3c0 2.826-2.459 5.257-5.317 5.257-2.857 0-5.316-2.431-5.316-5.257v-9.3zM670.671 418.752v-3.489l-0.001 0.001c0-0.82 0-1.216-0.399-1.595v-0.411c0-0.195-0.102-0.293-0.205-0.393-0.105-0.102-0.211-0.205-0.211-0.412l-0.415-0.41c0-0.396 0-0.805-0.415-0.805l-0.415-0.411c-0.228-0.234-0.325-0.334-0.444-0.378-0.090-0.033-0.192-0.033-0.37-0.033h-0.416l-152.842-59.021c-1.213-0.41-2.442-0.41-3.672 0l-153.226 58.989h-0.415c-0.198 0-0.298 0.1-0.398 0.202-0.104 0.104-0.207 0.209-0.416 0.209l-0.416 0.41c0 0.196-0.101 0.294-0.205 0.394-0.104 0.101-0.21 0.204-0.21 0.411-0.415 0-0.415 0.411-0.415 0.411 0 0.196-0.102 0.294-0.205 0.394-0.105 0.101-0.211 0.204-0.211 0.411v233.22c0 2.021 1.23 3.647 3.273 4.453l152.844 65.492h0.415c0.399 0.41 1.213 0.41 1.628 0.41 0.399 0 1.213 0 1.628-0.41h0.415l152.447-65.477c2.044-0.82 3.273-2.432 3.273-4.452v-8.32l-10.619 4.605v0.065l-142.625 61.435v-219.877l62.93-27.078v20.604c0 2.826 2.459 5.258 5.316 5.258 2.858 0 5.317-2.432 5.317-5.258v-25.057l46.797-20.142-0.009-0.124 12.506-5.254 9.769-4.205v0.1l10.619-4.462zM660.052 423.114l0.415-0.178h-0.415v0.178zM585.263 441.951l-132.408-57 60.070-23.444 139.355 54.172-64.973 27.882c-0.406-0.785-1.189-1.179-1.983-1.58l-0.061-0.031zM365.37 422.936l142.642 61.042-0.017 220.269-142.625-61.434v-219.877zM575.428 448.402l-3.671 1.61-58.847 25.469-59.26-25.467-80.508-34.769 66.203-25.467c0.198 0 0.298 0.1 0.399 0.202 0.102 0.102 0.206 0.207 0.416 0.207l135.268 58.213z","M272.27 475.133c2.419 0 4.5-2.060 4.5-4.452s-2.081-4.104-4.5-4.104c-2.419 0-4.5 2.060-4.5 4.452 0 2.044 2.081 4.104 4.5 4.104zM268.113 452.209c0-2.394 2.081-4.452 4.5-4.452 2.433 0 4.163 1.711 4.5 4.104v4.451c0 2.394-2.081 4.452-4.5 4.452s-4.5-2.058-4.5-4.452v-4.102zM268.113 429.28c0-2.394 2.081-4.452 4.5-4.452 2.433 0 4.163 1.711 4.5 4.452v7.872c0 2.392-2.081 4.452-4.5 4.452s-4.5-2.060-4.5-4.452v-7.872zM344.242 364.483v-2.955l-0.001 0.001c0-0.695 0-1.029-0.338-1.35v-0.348c0-0.165-0.086-0.249-0.173-0.333-0.088-0.086-0.178-0.173-0.178-0.348l-0.352-0.348c0-0.334 0-0.682-0.351-0.682l-0.352-0.348c-0.192-0.198-0.275-0.283-0.375-0.32-0.077-0.028-0.163-0.028-0.314-0.028h-0.352l-129.389-49.964c-1.027-0.348-2.067-0.348-3.108 0l-129.714 49.937h-0.351c-0.167 0-0.252 0.085-0.337 0.171-0.087 0.088-0.175 0.176-0.352 0.176l-0.351 0.348c0 0.166-0.086 0.249-0.173 0.333-0.089 0.086-0.178 0.173-0.178 0.348-0.351 0-0.351 0.348-0.351 0.348 0 0.165-0.086 0.249-0.173 0.333-0.089 0.086-0.178 0.173-0.178 0.348v197.432c0 1.71 1.041 3.087 2.771 3.77l129.388 55.442h0.352c0.338 0.348 1.027 0.348 1.379 0.348 0.338 0 1.027 0 1.379-0.348h0.351l129.053-55.429c1.729-0.695 2.77-2.058 2.77-3.77v-7.041l-8.991 3.9v0.059l-120.739 52.006v-186.136l53.274-22.922v17.443c0 2.392 2.081 4.451 4.5 4.451s4.5-2.058 4.5-4.451v-21.212l39.62-17.053-0.008-0.108 10.916-4.587 7.936-3.416v0.081l8.991-3.778zM335.251 368.18l0.352-0.151-0.352 0v0.151zM271.917 384.122l-112.090-48.254 50.852-19.846 117.971 45.858-55.004 23.605c-0.342-0.666-1.006-1-1.678-1.338l-0.051-0.026zM85.77 368.029l120.753 51.676-0.014 186.468-120.739-52.008v-186.136zM263.644 389.585l-3.109 1.363-49.816 21.562-50.166-21.56-68.155-29.432 56.045-21.56c0.168 0 0.252 0.085 0.338 0.171 0.087 0.088 0.174 0.176 0.352 0.176l114.511 49.28z","M872.072 475.133c2.419 0 4.5-2.060 4.5-4.452s-2.081-4.104-4.5-4.104c-2.419 0-4.5 2.060-4.5 4.452 0 2.044 2.081 4.104 4.5 4.104zM867.914 452.209c0-2.394 2.081-4.452 4.5-4.452 2.433 0 4.163 1.711 4.5 4.104v4.451c0 2.394-2.081 4.452-4.5 4.452s-4.5-2.058-4.5-4.452v-4.102zM867.914 429.28c0-2.394 2.081-4.452 4.5-4.452 2.433 0 4.163 1.711 4.5 4.452v7.872c0 2.392-2.081 4.452-4.5 4.452s-4.5-2.060-4.5-4.452v-7.872zM944.042 364.466v-2.938l-0.001 0.001c0-0.695 0-1.029-0.338-1.35v-0.348c0-0.165-0.086-0.249-0.173-0.333-0.090-0.086-0.179-0.173-0.179-0.348l-0.351-0.348c0-0.334 0-0.682-0.352-0.682l-0.351-0.348c-0.192-0.198-0.275-0.283-0.376-0.32-0.076-0.028-0.161-0.028-0.314-0.028h-0.351l-129.389-49.964c-1.027-0.348-2.067-0.348-3.108 0l-129.714 49.937h-0.352c-0.166 0-0.251 0.085-0.337 0.171-0.087 0.088-0.175 0.176-0.352 0.176l-0.352 0.348c0 0.166-0.086 0.249-0.173 0.333-0.088 0.086-0.178 0.173-0.178 0.348-0.352 0-0.352 0.348-0.352 0.348 0 0.165-0.086 0.249-0.173 0.333-0.088 0.086-0.178 0.173-0.178 0.348v197.432c0 1.71 1.041 3.087 2.77 3.77l129.389 55.442h0.352c0.337 0.348 1.027 0.348 1.377 0.348 0.338 0 1.028 0 1.379-0.348h0.352l129.053-55.429c1.729-0.695 2.77-2.058 2.77-3.77v-7.058l-8.989 3.899v0.077l-120.739 52.006v-186.136l53.274-22.922v17.443c0 2.392 2.081 4.451 4.5 4.451s4.5-2.058 4.5-4.451v-21.212l39.58-17.036-0.009-0.126 12.649-5.315 6.244-2.688v0.064l8.989-3.777zM935.053 368.18l0.352-0.151-0.352 0v0.151zM871.718 384.122l-112.090-48.254 50.852-19.846 117.971 45.858-55.004 23.605c-0.342-0.666-1.006-1-1.678-1.338l-0.051-0.026zM685.572 368.029l120.753 51.676-0.014 186.468-120.739-52.008v-186.136zM863.446 389.585l-3.109 1.363-49.816 21.562-50.166-21.56-68.155-29.432 56.045-21.56c0.168 0 0.252 0.085 0.338 0.171 0.087 0.088 0.174 0.176 0.352 0.176l114.511 49.28z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["Regroupement"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":66,"id":54,"name":"Regroupement","prevSize":32,"code":60133},"setIdx":1,"setId":2,"iconIdx":57},{"icon":{"paths":["M810.667 554.667h-597.333v-85.333h597.333v85.333z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["remove"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":67,"id":55,"name":"remove","prevSize":32,"code":60134},"setIdx":1,"setId":2,"iconIdx":58},{"icon":{"paths":["M754.643 348.16c-6.182-0.033-11.807-2.394-16.047-6.251l0.020 0.017c-4.067-4.035-6.585-9.626-6.585-15.805s2.518-11.77 6.583-15.804l0.001-0.001 136.682-136.237-136.237-136.237c-5.431-4.104-8.904-10.551-8.904-17.809 0-12.294 9.967-22.261 22.261-22.261 7.258 0 13.704 3.473 17.768 8.848l0.041 0.056 153.155 151.819c3.857 3.997 6.233 9.446 6.233 15.449 0 0.047-0 0.094-0 0.141l0-0.007c-0.033 6.182-2.394 11.807-6.251 16.047l0.017-0.020-153.155 151.819c-4.073 3.813-9.547 6.173-15.571 6.233l-0.012 0z","M22.261 593.475c-12.294 0-22.261-9.967-22.261-22.261v0-174.525c-0-0.132-0-0.289-0-0.445 0-135.238 109.632-244.87 244.87-244.87 0 0 0 0 0 0l662.483-0c12.294 0 22.261 9.967 22.261 22.261v0c0 12.294-9.967 22.261-22.261 22.261v0h-662.483c-0-0-0-0-0-0-110.649 0-200.348 89.699-200.348 200.348 0 0.157 0 0.313 0.001 0.47l-0-0.025v174.525c0 12.294-9.967 22.261-22.261 22.261v0z","M268.466 1024c-0.076 0.001-0.165 0.002-0.255 0.002-6.047 0-11.496-2.565-15.316-6.667l-0.012-0.013-153.155-151.819c-3.857-3.997-6.233-9.446-6.233-15.449 0-0.047 0-0.094 0-0.141l-0 0.007c0.033-6.182 2.394-11.807 6.251-16.047l-0.017 0.020 153.155-151.819c3.963-4.042 9.48-6.548 15.583-6.548s11.62 2.506 15.579 6.544l0.003 0.004c4.157 3.908 6.746 9.443 6.746 15.583s-2.589 11.674-6.735 15.572l-0.011 0.010-136.682 136.682 136.682 136.237c4.157 3.908 6.746 9.443 6.746 15.583s-2.589 11.674-6.735 15.572l-0.011 0.010c-3.832 4.114-9.28 6.68-15.328 6.68-0.090 0-0.179-0.001-0.269-0.002l0.014 0z","M779.13 872.181h-663.374c-12.294 0-22.261-9.967-22.261-22.261v0c0-12.294 9.967-22.261 22.261-22.261v0h663.374c110.637-0.252 200.288-89.746 200.793-200.3l0-0.048v-174.525c0-12.294 9.967-22.261 22.261-22.261s22.261 9.967 22.261 22.261v0 174.525c-0.253 135.292-109.987 244.87-245.314 244.87-0 0-0-0-0-0l0 0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["repeat"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":68,"id":56,"name":"repeat","prevSize":32,"code":60135},"setIdx":1,"setId":2,"iconIdx":59},{"icon":{"paths":["M512 341.333c-94.293 0-170.667 76.373-170.667 170.667s76.373 170.667 170.667 170.667c94.293 0 170.667-76.373 170.667-170.667s-76.373-170.667-170.667-170.667zM213.333 640h-85.333v170.667c0 46.933 38.4 85.333 85.333 85.333h170.667v-85.333h-170.667v-170.667zM213.333 213.333h170.667v-85.333h-170.667c-46.933 0-85.333 38.4-85.333 85.333v170.667h85.333v-170.667zM810.667 128h-170.667v85.333h170.667v170.667h85.333v-170.667c0-46.933-38.4-85.333-85.333-85.333zM810.667 810.667h-170.667v85.333h170.667c46.933 0 85.333-38.4 85.333-85.333v-170.667h-85.333v170.667z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["salle"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":69,"id":57,"name":"salle","prevSize":32,"code":60136},"setIdx":1,"setId":2,"iconIdx":60},{"icon":{"paths":["M947.249 921.6h-870.477c-42.334 0-76.772-37.824-76.772-84.321v-650.557c0-46.498 34.459-84.322 76.772-84.322h870.477c42.335 0 76.751 37.825 76.751 84.322v650.557c0 46.497-34.417 84.321-76.751 84.321zM76.772 152.348c-17.26 0-31.296 15.416-31.296 34.374v650.557c0 18.957 14.036 34.396 31.296 34.396h870.477c17.239 0 31.296-15.439 31.296-34.396v-650.557c0-18.935-14.057-34.374-31.296-34.374h-870.477z","M179.197 257.92h-45.476v508.134h45.476v-508.134z","M276.867 257.92h-45.475v508.134h45.475v-508.134z","M372.925 257.92h-45.476v508.134h45.476v-508.134z","M442.401 257.92h-45.476v508.134h45.476v-508.134z","M546.284 257.92h-45.455v508.134h45.455v-508.134z","M626.537 257.92h-45.455v508.134h45.455v-508.134z","M716.229 257.92h-45.455v508.134h45.455v-508.134z","M822.354 257.92h-45.455v508.134h45.455v-508.134z","M905.142 257.92h-45.455v508.134h45.455v-508.134z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["scanner"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":70,"id":58,"name":"scanner","prevSize":32,"code":60140},"setIdx":1,"setId":2,"iconIdx":61},{"icon":{"paths":["M658.564 600.017h-30.835l-10.927-10.539c38.251-44.497 61.278-102.263 61.278-165.105 0-140.125-113.583-253.707-253.706-253.707-140.125 0-253.707 113.583-253.707 253.707 0 140.123 113.583 253.706 253.707 253.706 62.841 0 120.608-23.027 165.105-61.278l10.539 10.927v30.835l195.157 194.769 58.159-58.159-194.769-195.157zM424.374 600.021c-97.189 0-175.643-78.455-175.643-175.645s78.454-175.643 175.643-175.643c97.188 0 175.643 78.454 175.643 175.643s-78.455 175.645-175.643 175.645z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["search"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":71,"id":59,"name":"search","prevSize":32,"code":60141},"setIdx":1,"setId":2,"iconIdx":62},{"icon":{"paths":["M499.2 739.556l294.4-228.979-294.4-228.977-294.4 228.977 53.32 41.544 241.080 187.436z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["serie"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":72,"id":60,"name":"serie","prevSize":32,"code":60142},"setIdx":1,"setId":2,"iconIdx":63},{"icon":{"paths":["M786.168 546.944c1.382-11.2 2.304-22.848 2.304-34.944s-0.922-23.744-2.765-34.944l77.875-59.136c6.912-5.376 8.755-15.232 4.608-22.848l-73.728-124.096c-4.608-8.064-14.285-10.752-22.579-8.064l-91.699 35.84c-19.354-14.336-39.629-25.984-62.208-34.944l-13.824-94.976c-1.382-8.96-9.216-15.232-18.432-15.232h-147.456c-9.216 0-16.589 6.272-17.971 15.232l-13.824 94.976c-22.579 8.96-43.315 21.056-62.208 34.944l-91.7-35.84c-8.294-3.136-17.971 0-22.579 8.064l-73.728 124.096c-4.608 8.064-2.765 17.472 4.608 22.848l77.875 59.136c-1.843 11.2-3.226 23.296-3.226 34.944s0.922 23.744 2.765 34.944l-77.875 59.136c-6.912 5.376-8.755 15.232-4.608 22.848l73.728 124.096c4.608 8.064 14.285 10.752 22.579 8.064l91.7-35.84c19.354 14.336 39.629 25.984 62.208 34.944l13.824 94.976c1.843 8.96 9.216 15.232 18.432 15.232h147.456c9.216 0 17.050-6.272 17.971-15.232l13.824-94.976c22.579-8.96 43.315-21.056 62.208-34.944l91.699 35.84c8.294 3.136 17.971 0 22.579-8.064l73.728-124.096c4.608-8.064 2.765-17.472-4.608-22.848l-76.954-59.136zM511.992 646.4c-76.032 0-138.24-60.48-138.24-134.4s62.208-134.4 138.24-134.4c76.032 0 138.24 60.48 138.24 134.4s-62.208 134.4-138.24 134.4z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["settings"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":73,"id":61,"name":"settings","prevSize":32,"code":60146},"setIdx":1,"setId":2,"iconIdx":64},{"icon":{"paths":["M741.022 42.667c-85.175 0-154.982 70.465-154.982 156.442 0 16.64 2.607 33.046 7.454 48.136l-255.945 143.663c-26.684-21.859-60.446-35.35-97.235-35.35-85.173 0-154.98 70.465-154.98 156.443s69.807 156.442 154.98 156.442c36.789 0 70.552-13.116 97.235-34.974l256.312 143.663c-4.89 15.138-7.821 31.070-7.821 47.761 0 85.978 69.803 156.442 154.978 156.442s154.978-70.464 154.978-156.442c0-85.978-69.803-156.442-154.978-156.442-42.795 0-81.775 18.048-109.901 46.63l-249.233-139.895c8.522-19.319 13.412-40.802 13.412-63.177 0-22.519-4.797-43.767-13.412-63.181l248.862-139.895c28.173 28.815 67.29 46.632 110.276 46.632 85.171 0 154.978-70.465 154.978-156.442s-69.807-156.442-154.978-156.442v-0.013zM741.018 114.87c46.524 0 83.452 37.278 83.452 84.238s-36.928 84.238-83.452 84.238c-46.519 0-83.452-37.278-83.452-84.238s36.932-84.238 83.452-84.238zM240.315 427.755c46.522 0 83.451 37.278 83.451 84.241 0 46.959-36.929 84.237-83.451 84.237s-83.451-37.278-83.451-84.237c0-46.963 36.93-84.241 83.451-84.241zM741.018 740.642c46.524 0 83.452 37.278 83.452 84.237s-36.928 84.237-83.452 84.237c-46.519 0-83.452-37.278-83.452-84.237s36.932-84.237 83.452-84.237z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["share"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":74,"id":62,"name":"share","prevSize":32,"code":60147},"setIdx":1,"setId":2,"iconIdx":65},{"icon":{"paths":["M614.4 493.138v-226.358l-115.2-113.18-115.2 113.18v75.451h-230.4v528.169h691.2v-377.262h-230.4zM307.2 794.947h-76.8v-75.451h76.8v75.451zM307.2 644.042h-76.8v-75.453h76.8v75.453zM307.2 493.138h-76.8v-75.453h76.8v75.453zM537.6 794.947h-76.8v-75.451h76.8v75.451zM537.6 644.042h-76.8v-75.453h76.8v75.453zM537.6 493.138h-76.8v-75.453h76.8v75.453zM537.6 342.231h-76.8v-75.451h76.8v75.451zM768 794.947h-76.8v-75.451h76.8v75.451zM768 644.042h-76.8v-75.453h76.8v75.453z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["site"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":75,"id":63,"name":"site","prevSize":32,"code":60148},"setIdx":1,"setId":2,"iconIdx":66},{"icon":{"paths":["M619.081 542.719l-0.013 0.024c-4.385 7.899-12.968 13.234-22.874 13.234h-137.869c-3.949 0-7.587 2.139-9.507 5.588l-20.357 36.571c-1.875 3.37-1.828 7.48 0.127 10.806 1.955 3.324 5.523 5.366 9.38 5.366h211.192v14.812h-211.192c-19.956 0-32.297-21.004-22.874-38.147l0.015-0.029 24.948-44.554c1.731-3.091 1.848-6.831 0.316-10.024l-66.621-138.789c-1.811-3.772-5.624-6.172-9.809-6.172h-26.132v-14.811h42.762l14.444 30.364c1.802 3.791 5.627 6.207 9.824 6.207h273.889c5.976 0 9.247 6.216 6.638 10.815l-0.037 0.065-66.252 118.674zM422.423 427.977c-3.739 0-7.215 1.92-9.207 5.084s-2.22 7.13-0.602 10.501l43.859 91.429c1.81 3.773 5.624 6.173 9.809 6.173h129.912c3.942 0 7.576-2.132 9.499-5.573l51.077-91.429c1.882-3.369 1.838-7.484-0.115-10.812-1.953-3.329-5.524-5.373-9.384-5.373h-224.849zM412.022 694.857c0-14.054 11.547-25.692 25.947-25.692 14.47 0 26.132 11.709 26.132 25.692s-11.662 25.691-26.132 25.691c-14.4 0-25.947-11.638-25.947-25.691zM597.082 694.857c0-14.054 11.548-25.692 25.947-25.692 14.472 0 26.132 11.709 26.132 25.692s-11.661 25.691-26.132 25.691c-14.399 0-25.947-11.638-25.947-25.691z","M905.405 445.882l-0.012 0.022c-3.909 7.044-11.562 11.799-20.393 11.799h-122.551c-3.484 0-6.694 1.888-8.388 4.932l-18.095 32.508c-1.655 2.973-1.612 6.6 0.113 9.533s4.873 4.735 8.275 4.735h187.798v13.308h-187.798c-17.792 0-28.797-18.728-20.394-34.013l22.191-39.63c1.527-2.728 1.631-6.028 0.278-8.845l-59.219-123.367c-1.597-3.328-4.963-5.446-8.654-5.446h-23.3v-13.308h38.126l12.859 27.032c1.591 3.345 4.964 5.476 8.668 5.476h243.457c5.364 0 8.308 5.582 5.962 9.718l-0.033 0.058-58.89 105.488zM730.537 343.925c-3.299 0-6.367 1.694-8.124 4.486s-1.958 6.291-0.531 9.266l38.986 81.27c1.597 3.329 4.963 5.448 8.655 5.448h115.478c3.478 0 6.684-1.882 8.38-4.919l45.402-81.269c1.661-2.973 1.623-6.604-0.101-9.541-1.723-2.937-4.874-4.741-8.279-4.741h-199.866zM721.22 581.080c0-12.531 10.296-22.907 23.135-22.907 12.902 0 23.3 10.438 23.3 22.907 0 12.47-10.397 22.908-23.3 22.908-12.838 0-23.135-10.376-23.135-22.908zM885.718 581.080c0-12.531 10.296-22.907 23.135-22.907 12.902 0 23.3 10.438 23.3 22.907 0 12.47-10.397 22.908-23.3 22.908-12.838 0-23.135-10.376-23.135-22.908z","M276.2 445.882l-0.012 0.022c-3.91 7.044-11.562 11.799-20.393 11.799h-122.551c-3.484 0-6.694 1.888-8.389 4.932l-18.095 32.508c-1.655 2.973-1.612 6.6 0.112 9.533s4.873 4.735 8.276 4.735h187.798v13.308h-187.798c-17.793 0-28.798-18.728-20.394-34.013l22.191-39.63c1.527-2.728 1.631-6.028 0.278-8.845l-59.219-123.367c-1.598-3.328-4.963-5.446-8.654-5.446h-23.3v-13.308h38.126l12.858 27.032c1.591 3.345 4.965 5.476 8.669 5.476h243.457c5.364 0 8.308 5.582 5.961 9.718l-0.032 0.058-58.89 105.488zM101.331 343.925c-3.299 0-6.367 1.694-8.125 4.486s-1.958 6.291-0.531 9.266l38.985 81.27c1.597 3.329 4.964 5.448 8.657 5.448h115.478c3.478 0 6.684-1.882 8.38-4.919l45.402-81.269c1.661-2.973 1.622-6.604-0.101-9.541-1.724-2.937-4.874-4.741-8.28-4.741h-199.865zM92.014 581.080c0-12.531 10.296-22.907 23.135-22.907 12.901 0 23.3 10.438 23.3 22.907 0 12.47-10.399 22.908-23.3 22.908-12.839 0-23.135-10.376-23.135-22.908zM256.512 581.080c0-12.531 10.296-22.907 23.135-22.907 12.901 0 23.3 10.438 23.3 22.907 0 12.47-10.399 22.908-23.3 22.908-12.838 0-23.135-10.376-23.135-22.908z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["Sortie massive"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":76,"id":64,"name":"Sortie-massive","prevSize":32,"code":60149},"setIdx":1,"setId":2,"iconIdx":67},{"icon":{"paths":["M246.044 403.197h175.289c0 0 18.135 0 18.135-18.132 0-18.135-18.135-18.132-18.135-18.132h-199.465l-145.067 181.332-0 322.135c0 42.414 34.384 76.8 76.8 76.8h716.803c42.414 0 76.8-34.386 76.8-76.8v-322.135l-145.068-181.332h-199.468c0 0-18.135 0-18.135 18.132s18.135 18.132 18.135 18.132h175.288l132.979 145.068h-246.403c-14.136 0-25.6 11.461-25.6 25.6v93.868c0 14.139-11.461 25.6-25.6 25.6h-202.665c-14.139 0-25.6-11.461-25.6-25.6v-93.868c0-14.139-11.464-25.6-25.6-25.6h-246.402l132.978-145.068zM113.066 584.532h235.734v93.868c0 28.275 22.922 51.2 51.2 51.2h224c28.278 0 51.2-22.925 51.2-51.2v-93.868h235.735v275.2c0 28.278-22.925 51.2-51.2 51.2h-695.469c-28.277 0-51.2-22.922-51.2-51.2v-275.2z","M511.962 76.8c-4.575 0.176-9.874 2.093-13.199 5.244l-108.808 103.26c-6.226 7.008-8.801 20.42-1.6 28.235 7.099 7.714 20.877 7.462 28.001-0.202l76.408-72.605 0.044 429.782c0 10.688 8.561 18.286 19.162 18.286s17.108-7.598 17.108-18.286l2.089-429.782 76.408 72.605c6.577 6.605 20.828 7.84 28.004 0.202 7.176-7.614 4.874-21.529-1.6-28.235l-108.808-103.26c-3.727-3.529-8.108-5.244-13.21-5.244z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["telecharger"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":77,"id":65,"name":"telecharger","prevSize":32,"code":60153},"setIdx":1,"setId":2,"iconIdx":68},{"icon":{"paths":["M806.49 602.665c0 0-17.229 0-17.915 14.103-0.684 14.106 0 211.556 0 225.661 0 14.103 17.915 14.103 17.915 14.103s17.912 0 17.915-14.103c0-14.106 0.3-211.558 0-225.661-0.302-14.1-17.915-14.103-17.915-14.103z","M933.294 729.964c0 0 0.038-17.229-14.062-17.946-14.098-0.717-211.487-0.466-225.587-0.497-14.098-0.033-14.139 17.882-14.139 17.882s-0.038 17.915 14.060 17.946c14.1 0.031 211.489 0.768 225.59 0.497 14.098-0.269 14.139-17.882 14.139-17.882z","M806.4 947.2c-120.177 0-217.6-97.423-217.6-217.6s97.423-217.6 217.6-217.6c120.177 0 217.6 97.423 217.6 217.6s-97.423 217.6-217.6 217.6zM806.405 910.932c100.147 0 181.332-81.185 181.332-181.335 0-100.147-81.185-181.332-181.332-181.332-100.15 0-181.335 81.185-181.335 181.332 0 100.15 81.185 181.335 181.335 181.335z","M290.419 217.671c-59.842 0-107.44 47.795-107.44 107.953 0 60.124 47.57 107.95 107.44 107.95 59.84 0 107.441-47.795 107.441-107.95 0-9.257-6.149-15.434-15.36-15.434s-15.36 6.177-15.36 15.434c0 43.167-33.754 77.11-76.746 77.11-42.964 0-76.745-33.915-76.745-77.11 0-43.169 33.753-77.112 76.745-77.112 9.211 0 15.36-6.179 15.36-15.433 0.028-9.254-6.124-15.408-15.334-15.408z","M279.667 336.397c3.062 3.077 7.665 4.628 10.755 4.628 3.062 0 7.665-1.551 10.755-4.628l64.445-64.753c6.149-6.18 6.149-15.434 0-21.585-6.149-6.179-15.36-6.179-21.481 0l-64.448 64.754c-6.149 6.152-6.147 15.406-0.026 21.583z","M534.945 495.665v-0.62c0 18.291-14.090 33.8-32.379 33.8h-442.079c-18.29 0-32.381-15.483-32.381-33.8l0.025-23.956h53.504c8.45 0 14.091-5.642 14.091-14.093s-5.641-14.090-14.091-14.090h-53.504v-112.635h53.504c8.45 0 14.091-5.64 14.091-14.090s-5.641-14.093-14.091-14.093h-53.504v-112.632h53.504c8.45 0 14.091-5.642 14.091-14.092s-5.641-14.092-14.091-14.092h-53.504v-22.516c0-18.291 14.091-33.8 32.381-33.8h442.077c18.291 0 32.381 15.483 32.381 33.8 0 8.45 5.642 14.092 14.093 14.092 8.448 0 14.090-5.642 14.090-14.092 0-33.8-26.739-61.957-60.539-61.957h-442.077c-33.798 0-60.538 28.158-60.538 61.957v354.788c0 33.8 26.74 61.957 60.538 61.957h14.091v42.25c0 22.515 18.29 42.248 42.247 42.248h52.088c22.515 0 42.247-18.291 42.247-42.248v-42.25h140.78v42.25c0 22.515 18.291 42.248 42.248 42.248h52.088c22.515 0 42.245-18.291 42.245-42.248v-42.25h14.093c33.797 0 60.536-28.157 60.536-61.957v0.62c-0.102-6.981-5.716-12.598-14.167-12.598-8.445 0.008-14.088 5.647-14.088 14.098zM182.978 597.809c0 7.032-5.641 14.093-14.091 14.093h-52.088c-7.033 0-14.091-5.642-14.091-14.093v-42.248h80.247l0.023 42.248zM460.344 597.809c0 7.032-5.64 14.093-14.090 14.093h-52.088c-7.032 0-14.090-5.642-14.090-14.093v-42.248h80.246l0.023 42.248z","M534.815 136.794h28.344v359.956h-28.344v-359.956z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["tenant-add"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":78,"id":66,"name":"tenant-add","prevSize":32,"code":60155},"setIdx":1,"setId":2,"iconIdx":69},{"icon":{"paths":["M290.419 217.671c-59.842 0-107.44 47.795-107.44 107.953 0 60.124 47.57 107.95 107.44 107.95 59.84 0 107.441-47.795 107.441-107.95 0-9.257-6.149-15.434-15.36-15.434s-15.36 6.177-15.36 15.434c0 43.167-33.754 77.11-76.746 77.11-42.964 0-76.745-33.915-76.745-77.11 0-43.169 33.753-77.112 76.745-77.112 9.211 0 15.36-6.179 15.36-15.433 0.028-9.254-6.124-15.408-15.334-15.408z","M279.667 336.397c3.062 3.077 7.665 4.628 10.755 4.628 3.062 0 7.665-1.551 10.755-4.628l64.445-64.753c6.149-6.18 6.149-15.434 0-21.585-6.149-6.179-15.36-6.179-21.481 0l-64.448 64.754c-6.149 6.152-6.147 15.406-0.026 21.583z","M534.945 495.665v-0.62c0 18.291-14.090 33.8-32.379 33.8h-442.079c-18.29 0-32.381-15.483-32.381-33.8l0.025-23.956h53.504c8.45 0 14.091-5.642 14.091-14.093s-5.641-14.090-14.091-14.090h-53.504v-112.635h53.504c8.45 0 14.091-5.64 14.091-14.090s-5.641-14.093-14.091-14.093h-53.504v-112.632h53.504c8.45 0 14.091-5.642 14.091-14.092s-5.641-14.092-14.091-14.092h-53.504v-22.516c0-18.291 14.091-33.8 32.381-33.8h442.077c18.291 0 32.381 15.483 32.381 33.8 0 8.45 5.642 14.092 14.093 14.092 8.448 0 14.090-5.642 14.090-14.092 0-33.8-26.739-61.957-60.539-61.957h-442.077c-33.798 0-60.538 28.158-60.538 61.957v354.788c0 33.8 26.74 61.957 60.538 61.957h14.091v42.25c0 22.515 18.29 42.248 42.247 42.248h52.088c22.515 0 42.247-18.291 42.247-42.248v-42.25h140.78v42.25c0 22.515 18.291 42.248 42.248 42.248h52.088c22.515 0 42.245-18.291 42.245-42.248v-42.25h14.093c33.797 0 60.536-28.157 60.536-61.957v0.62c-0.102-6.981-5.716-12.598-14.167-12.598-8.445 0.008-14.088 5.647-14.088 14.098zM182.978 597.809c0 7.032-5.641 14.093-14.091 14.093h-52.088c-7.033 0-14.091-5.642-14.091-14.093v-42.248h80.247l0.023 42.248zM460.344 597.809c0 7.032-5.64 14.093-14.090 14.093h-52.088c-7.032 0-14.090-5.642-14.090-14.093v-42.248h80.246l0.023 42.248z","M534.815 136.794h28.344v359.956h-28.344v-359.956z","M711.393 565.292c-24.829 25.26-32.061 61.161-22.915 93.261l-117.448 119.483c-1.298 1.318-2.12 3.059-2.324 4.91l-5.46 52.723c-0.269 2.575 0.648 5.117 2.501 6.889 1.851 1.772 4.398 2.56 6.899 2.125l68.485-11.93c3.625-0.609 6.377-3.653 6.71-7.373l2.232-25.226 24.796-2.268c3.909-0.356 6.994-3.51 7.342-7.47l2.232-25.226 24.812-2.271c1.884-0.177 3.656-1.014 5-2.368l37.235-37.878c31.524 9.257 66.86 1.93 91.671-23.311 36.319-36.946 36.319-97.103 0-134.052-36.316-36.946-95.45-36.946-131.768 0v-0.018zM722.849 576.947c30.131-30.651 78.728-30.651 108.856 0 30.126 30.651 30.129 80.092 0 110.743-21.742 22.118-53.089 28.012-80.215 18.207h0.015c-2.959-1.029-6.234-0.259-8.417 2.012l-38.139 38.797-28.736 2.642c-3.894 0.353-6.979 3.492-7.342 7.47l-2.232 25.226-24.796 2.268c-3.894 0.356-6.994 3.494-7.342 7.47l-2.232 25.774-51.825 9.016 3.94-38.799 118.602-120.655c2.217-2.271 2.959-5.652 1.869-8.663-9.623-27.592-3.75-59.387 17.992-81.505l0.003-0.003zM774.408 588.603c-12.598 12.815-12.598 33.823 0 46.62 12.595 12.813 33.247 12.813 45.824 0 12.598-12.815 12.598-33.825 0-46.62-12.595-12.815-33.247-12.815-45.824 0zM785.864 600.259c6.392-6.505 16.522-6.505 22.915 0 6.392 6.502 6.392 16.806 0 23.309-6.392 6.505-16.522 6.505-22.915 0-6.392-6.502-6.392-16.806 0-23.309z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["tenant-proprietaire"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":79,"id":67,"name":"tenant-proprietaire","prevSize":32,"code":60162},"setIdx":1,"setId":2,"iconIdx":70},{"icon":{"paths":["M819.2 358.397c0-10.312-8.179-18.657-18.286-18.657h-559.001l101.961-103.018c7.178-7.252 7.214-19.059 0.108-26.383-7.073-7.325-18.644-7.398-25.823-0.146l-133.673 135.087c-0.178 0.184-0.322 0.438-0.5 0.62-0.607 0.658-1.179 1.385-1.679 2.115l-0.071 0.11c-0.286 0.474-0.5 0.983-0.75 1.457l-0.036 0.036c-0.322 0.512-0.607 1.057-0.857 1.641l-0.071 0.146v-0.036l-0.536 1.859c-0.143 0.509-0.321 0.983-0.429 1.492l-0.036 0.11c-0.429 2.368-0.429 4.774 0 7.142l0.036 0.11c0.107 0.509 0.286 0.983 0.429 1.492 0.143 0.62 0.357 1.239 0.536 1.859l0.071 0.146v-0.036c0.25 0.584 0.536 1.129 0.857 1.641 0.25 0.509 0.464 1.019 0.786 1.492l0.071 0.11c0.5 0.73 1.072 1.457 1.679 2.112 0.178 0.22 0.322 0.438 0.5 0.62l0.143 0.146 133.53 134.943c3.43 3.461 8.108 5.43 12.931 5.394 4.856 0 9.5-2.004 12.928-5.54 3.392-3.497 5.322-8.271 5.286-13.192-0.036-4.956-1.966-9.695-5.43-13.192l-101.96-103.020h559c10.109 0 18.286-8.346 18.286-18.66z","M230.401 665.603c0 10.312 8.179 18.657 18.286 18.657h559.001l-101.96 103.017c-7.181 7.252-7.217 19.059-0.108 26.383 7.071 7.324 18.642 7.398 25.82 0.146l133.673-135.086c0.179-0.184 0.323-0.438 0.502-0.62 0.607-0.658 1.178-1.385 1.677-2.115l0.072-0.11c0.287-0.474 0.502-0.983 0.75-1.457l0.036-0.036c0.323-0.512 0.607-1.057 0.858-1.641l0.072-0.146v0.036l0.535-1.859c0.143-0.509 0.323-0.983 0.43-1.492l0.033-0.11c0.43-2.368 0.43-4.774 0-7.142l-0.033-0.11c-0.108-0.509-0.287-0.983-0.43-1.492-0.143-0.62-0.356-1.239-0.535-1.859l-0.072-0.146v0.036c-0.251-0.584-0.535-1.129-0.858-1.641-0.251-0.509-0.463-1.019-0.786-1.492l-0.072-0.11c-0.499-0.73-1.070-1.457-1.677-2.112-0.179-0.22-0.323-0.438-0.502-0.62l-0.141-0.146-133.532-134.943c-3.428-3.461-8.108-5.43-12.928-5.394-4.859 0-9.5 2.004-12.931 5.54-3.392 3.497-5.32 8.271-5.284 13.192 0.036 4.956 1.964 9.695 5.427 13.192l101.962 103.020h-559.002c-10.107 0-18.285 8.346-18.285 18.66z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["transfert"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":80,"id":68,"name":"transfert","prevSize":32,"code":60163},"setIdx":1,"setId":2,"iconIdx":71},{"icon":{"paths":["M787.2 363.2c2.651 0 4.8-2.149 4.8-4.8s-2.149-4.8-4.8-4.8v9.6zM230.4 353.6c-2.651 0-4.8 2.149-4.8 4.8s2.149 4.8 4.8 4.8v-9.6zM280 358.4c0-2.651-2.149-4.8-4.8-4.8s-4.8 2.149-4.8 4.8h9.6zM270.4 652.8c0 2.651 2.149 4.8 4.8 4.8s4.8-2.149 4.8-4.8h-9.6zM740.8 358.4c0-2.651-2.149-4.8-4.8-4.8s-4.8 2.149-4.8 4.8h9.6zM731.2 652.8c0 2.651 2.149 4.8 4.8 4.8s4.8-2.149 4.8-4.8h-9.6zM652.8 411.2c-2.651 0-4.8 2.149-4.8 4.8s2.149 4.8 4.8 4.8v-9.6zM691.2 420.8c2.651 0 4.8-2.149 4.8-4.8s-2.149-4.8-4.8-4.8v9.6zM665.6 436.8c-2.651 0-4.8 2.149-4.8 4.8s2.149 4.8 4.8 4.8v-9.6zM678.4 446.4c2.651 0 4.8-2.149 4.8-4.8s-2.149-4.8-4.8-4.8v9.6zM313.6 411.2c-2.651 0-4.8 2.149-4.8 4.8s2.149 4.8 4.8 4.8v-9.6zM352 420.8c2.651 0 4.8-2.149 4.8-4.8s-2.149-4.8-4.8-4.8v9.6zM326.4 436.8c-2.651 0-4.8 2.149-4.8 4.8s2.149 4.8 4.8 4.8v-9.6zM339.2 446.4c2.651 0 4.8-2.149 4.8-4.8s-2.149-4.8-4.8-4.8v9.6zM230.4 648c-2.651 0-4.8 2.149-4.8 4.8s2.149 4.8 4.8 4.8v-9.6zM787.2 657.6c2.651 0 4.8-2.149 4.8-4.8s-2.149-4.8-4.8-4.8v9.6zM787.2 353.6h-153.6v9.6h153.6v-9.6zM616 371.2v268.8h9.6v-268.8h-9.6zM388.8 640v-268.8h-9.6v268.8h9.6zM371.2 353.6h-140.8v9.6h140.8v-9.6zM270.4 358.4v294.4h9.6v-294.4h-9.6zM731.2 358.4v294.4h9.6v-294.4h-9.6zM652.8 420.8h38.4v-9.6h-38.4v9.6zM665.6 446.4h12.8v-9.6h-12.8v9.6zM313.6 420.8h38.4v-9.6h-38.4v9.6zM326.4 446.4h12.8v-9.6h-12.8v9.6zM230.4 657.6h140.8v-9.6h-140.8v9.6zM633.6 657.6h153.6v-9.6h-153.6v9.6zM388.8 371.2c0-9.72-7.88-17.6-17.6-17.6v9.6c4.419 0 8 3.582 8 8h9.6zM379.2 640c0 4.419-3.581 8-8 8v9.6c9.72 0 17.6-7.88 17.6-17.6h-9.6zM616 640c0 9.72 7.88 17.6 17.6 17.6v-9.6c-4.419 0-8-3.581-8-8h-9.6zM633.6 353.6c-9.72 0-17.6 7.88-17.6 17.6h9.6c0-4.418 3.581-8 8-8v-9.6z","M559.169 467.2c0-2.149-1.667-3.887-3.725-3.887h-113.871l20.771-21.462c1.462-1.512 1.469-3.971 0.022-5.496-1.441-1.527-3.798-1.541-5.261-0.031l-27.229 28.143c-0.036 0.037-0.065 0.091-0.102 0.129-0.123 0.136-0.239 0.288-0.342 0.44l-0.014 0.022c-0.059 0.1-0.102 0.206-0.152 0.305l-0.008 0.008c-0.065 0.106-0.124 0.22-0.174 0.34l-0.015 0.031v-0.008l-0.109 0.388c-0.029 0.106-0.065 0.205-0.087 0.311l-0.008 0.023c-0.087 0.493-0.087 0.995 0 1.487l0.008 0.023c0.022 0.106 0.058 0.205 0.087 0.311 0.029 0.129 0.073 0.259 0.109 0.388l0.015 0.029v-0.008c0.050 0.122 0.109 0.236 0.174 0.342 0.051 0.106 0.095 0.212 0.16 0.312l0.014 0.022c0.102 0.152 0.219 0.305 0.342 0.44 0.037 0.046 0.067 0.092 0.102 0.129l0.029 0.031 27.2 28.113c0.699 0.722 1.652 1.132 2.634 1.124 0.989 0 1.935-0.417 2.633-1.155 0.691-0.728 1.084-1.723 1.078-2.748-0.008-1.032-0.401-2.019-1.106-2.748l-20.771-21.462h113.871c2.058 0 3.725-1.74 3.725-3.887z","M439.232 531.2c0 2.149 1.665 3.887 3.725 3.887h113.87l-20.769 21.462c-1.463 1.512-1.471 3.971-0.022 5.496 1.44 1.527 3.796 1.541 5.26 0.031l27.229-28.143c0.037-0.037 0.065-0.091 0.102-0.129 0.123-0.136 0.239-0.288 0.342-0.44l0.014-0.022c0.059-0.1 0.102-0.206 0.154-0.305l0.006-0.008c0.065-0.106 0.124-0.22 0.175-0.34l0.014-0.031v0.008l0.109-0.388c0.029-0.106 0.065-0.205 0.087-0.311l0.008-0.023c0.087-0.493 0.087-0.995 0-1.487l-0.008-0.023c-0.022-0.106-0.058-0.205-0.087-0.311-0.028-0.129-0.073-0.259-0.109-0.388l-0.014-0.029v0.008c-0.051-0.122-0.11-0.236-0.175-0.342-0.051-0.106-0.095-0.212-0.16-0.312l-0.014-0.022c-0.102-0.152-0.219-0.305-0.342-0.44-0.037-0.046-0.065-0.092-0.102-0.129l-0.029-0.031-27.2-28.113c-0.699-0.722-1.651-1.132-2.634-1.124-0.989 0-1.935 0.417-2.633 1.155-0.691 0.728-1.084 1.723-1.076 2.748 0.006 1.032 0.399 2.019 1.105 2.748l20.771 21.462h-113.871c-2.058 0-3.724 1.74-3.724 3.887z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["Transfert intersite"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":81,"id":69,"name":"Transfert-intersite","prevSize":32,"code":60164},"setIdx":1,"setId":2,"iconIdx":72},{"icon":{"paths":["M179.2 665.6h384v38.4h-384v-38.4z","M128 115.2h486.4c7.068 0 12.8 5.731 12.8 12.8v51.2h38.4v-51.2c0-28.277-22.922-51.2-51.2-51.2h-486.4c-28.277 0-51.2 22.923-51.2 51.2v742.4c0 28.278 22.923 51.2 51.2 51.2h486.4c28.278 0 51.2-22.922 51.2-51.2v-204.8h-38.4v204.8c0 7.068-5.732 12.8-12.8 12.8h-486.4c-7.069 0-12.8-5.732-12.8-12.8v-742.4c0-7.069 5.731-12.8 12.8-12.8z","M486.4 409.6h-307.2v38.4h307.2v-38.4z","M179.2 537.6h332.8v38.4h-332.8v-38.4z","M735.273 531.241c-56.878 0-103.14-46.259-103.14-103.14 0-56.878 46.305-103.14 103.14-103.14 56.881 0 103.14 46.262 103.14 103.14 0.046 56.881-46.259 103.14-103.14 103.14zM735.273 359.524c-37.798 0-68.58 30.781-68.58 68.58 0 37.847 30.781 68.58 68.58 68.58 37.801 0 68.58-30.779 68.58-68.58 0.046-37.844-30.735-68.58-68.58-68.58z","M735.503 651.443c-9.81 0-19.753-0.676-29.563-1.981-6.615-0.899-12.152-5.535-14.177-11.878-4.723-14.851-15.66-26.775-29.97-32.76-14.221-5.942-30.646-5.22-44.37 1.8-5.939 3.059-13.14 2.383-18.45-1.667-15.57-11.971-29.43-25.874-41.175-41.308-4.050-5.309-4.68-12.465-1.62-18.406 7.201-13.949 7.964-30.060 2.161-44.188-5.806-14.131-17.731-24.975-32.671-29.791-6.344-2.068-10.934-7.56-11.789-14.175-2.519-19.261-2.519-38.881 0.090-58.319 0.901-6.615 5.535-12.152 11.878-14.177 14.851-4.723 26.775-15.66 32.763-30.013 5.983-14.31 5.309-30.51-1.802-44.372-3.059-5.939-2.383-13.138 1.71-18.45 11.971-15.57 25.876-29.384 41.311-41.174 5.309-4.050 12.465-4.68 18.406-1.62 13.814 7.154 30.060 8.009 44.188 2.16 14.131-5.805 24.975-17.731 29.834-32.67 2.071-6.345 7.56-10.935 14.177-11.79 19.169-2.52 38.925-2.475 58.319 0.090 6.615 0.9 12.15 5.535 14.175 11.879 4.726 14.85 15.66 26.775 29.97 32.761 14.267 5.939 30.692 5.22 44.37-1.8 5.942-3.060 13.14-2.385 18.452 1.665 15.57 11.97 29.43 25.876 41.175 41.31 4.050 5.309 4.68 12.465 1.618 18.406-7.199 13.949-7.964 30.060-2.158 44.188 5.804 14.131 17.731 24.975 32.668 29.791 6.346 2.068 10.936 7.56 11.789 14.175 2.522 19.259 2.522 38.879-0.090 58.319-0.899 6.615-5.535 12.15-11.878 14.175-14.851 4.726-26.775 15.662-32.76 30.016-5.985 14.31-5.309 30.51 1.8 44.37 3.059 5.942 2.386 13.14-1.71 18.452-11.971 15.57-25.876 29.384-41.311 41.172-5.309 4.050-12.465 4.682-18.404 1.62-13.816-7.109-30.062-7.964-44.191-2.161-14.085 5.806-24.975 17.731-29.834 32.671-2.071 6.346-7.56 10.936-14.175 11.789-9.495 1.216-19.172 1.892-28.756 1.892v0zM720.43 616.251c9.81 0.765 19.62 0.812 29.43 0.046 9.27-19.53 25.29-34.964 45.225-43.2 19.845-8.189 42.209-8.55 62.551-1.216 7.424-6.344 14.4-13.274 20.833-20.79-7.245-20.293-6.748-42.614 1.667-62.73 8.369-20.114 23.849-36.224 43.379-45.404 0.765-9.81 0.809-19.663 0.044-29.43-19.528-9.27-34.964-25.29-43.2-45.271-8.233-19.935-8.548-42.209-1.213-62.548-6.346-7.427-13.274-14.4-20.79-20.836-20.25 7.201-42.796 6.661-62.73-1.664-20.116-8.371-36.224-23.852-45.404-43.336-9.81-0.81-19.62-0.81-29.432-0.045-9.27 19.529-25.288 34.966-45.225 43.199-19.845 8.192-42.209 8.55-62.548 1.216-7.427 6.346-14.4 13.274-20.836 20.79 7.245 20.296 6.751 42.616-1.664 62.73-8.371 20.114-23.852 36.224-43.382 45.404-0.763 9.81-0.809 19.666-0.044 29.43 19.53 9.272 34.964 25.29 43.2 45.271 8.236 19.935 8.55 42.212 1.213 62.551 6.346 7.424 13.276 14.4 20.792 20.833 20.293-7.199 42.793-6.615 62.728 1.667 20.16 8.369 36.18 23.849 45.407 43.333z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["type-archives"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":82,"id":70,"name":"type-archives","prevSize":32,"code":60169,"codes":[60169,60170,60171,60172,60173,60174,60175]},"setIdx":1,"setId":2,"iconIdx":73},{"icon":{"paths":["M637.547 407.792l-146.88-146.56-146.88 146.56-45.12-45.12 192-192 192 192-45.12 45.12z","M343.787 597.333l146.88 146.56 146.88-146.56 45.12 45.12-192 192-192-192 45.12-45.12z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["unfold-more"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":83,"id":71,"name":"unfold-more","prevSize":32,"code":60185},"setIdx":1,"setId":2,"iconIdx":74},{"icon":{"paths":["M307.2 409.6c42.24 0 76.8-34.56 76.8-76.8s-34.56-76.8-76.8-76.8c-42.24 0-76.8 34.56-76.8 76.8s34.56 76.8 76.8 76.8z","M307.2 435.2c-47.52 0-140.8 27.734-140.8 85.334v42.666h281.6v-42.666c0-57.6-93.28-85.334-140.8-85.334z","M670.607 588.799c-4.39-0.351-8.78-0.774-13.185-1.021-26.234-1.46-52.349-3.913-77.935-9.897-10.674-2.496-21.047-6.145-31.57-9.225-2.947-0.861-4.511-2.584-5.202-5.591-5.548-23.355-6.766-46.826-2.752-70.502 2.166-12.728 6.254-24.814 13.381-35.762l0.014-0.015c7.863-12.348 19.905-21.661 34.067-26.362 18.371-6.277 36.292-13.487 52.468-24.246 3.217-2.131 6.284-4.495 9.818-7.021 28.563 27.238 57.595 27.325 86.324-0.132 9.637 7.868 20.371 14.408 31.871 19.4 9.352 4.116 18.853 8.028 28.564 11.297 21.468 7.299 35.601 21.574 43.447 42.010 9.021 23.442 9.652 47.644 6.495 72.109-0.812 6.218-2.374 12.349-3.337 18.568-0.571 3.649-2.737 5.327-6.134 6.569l0.014 0.014c-16.070 5.94-32.758 10.159-49.763 12.568-15.56 2.218-31.24 3.766-46.876 5.371-7.351 0.731-14.793 0.906-22.175 1.358-1.023 0.116-2.030 0.278-3.007 0.511h-44.529z","M698.085 192c5.367 0.686 10.647 1.911 15.767 3.647 11.857 4.142 22.636 10.894 31.517 19.776 4.637 4.637 8.284 8.371 10.996 14.657 3.282 7.628 3.209 14.541 3.136 18.289-0.116 6.461-2.188 23.831-2.655 28.585-0.219 2.057-0.189 3.647 1.692 4.931 3.369 2.304 3.558 5.892 3.223 9.421h-0.029c-0.7 8.576-3.208 16.888-7.336 24.429-2.363 4.259-3.063 9.422-4.696 14.118-4.929 14.030-13.184 36.212-33.064 46.423-7.263 3.588-15.241 5.469-23.336 5.499-4.492 0-13.476 0-22.868-5.178-4.376-2.392-6.972-4.959-10.588-8.357h-0.015c-8.488-8.050-15.226-17.748-19.805-28.498-2.874-6.563-4.668-13.535-7.132-20.273-0.876-2.42-2.276-4.637-3.414-6.957l0.015 0.015c-3.763-7.424-5.688-15.62-5.629-23.933 0.028-2.625 0.728-4.929 2.975-6.563 1.955-1.4 2.144-3.165 1.75-5.455h-0.014c-1.984-10.909-2.757-21.993-2.333-33.048 0.584-12.965 8.022-22.606 12.178-27.944 6.359-7.846 14.497-14.060 23.759-18.099v0.014c5.367-2.363 11.040-3.967 16.859-4.769l19.048-0.73z","M703.708 701.281c-1.501-6.908-8.32-11.291-15.227-9.789l-112.571 24.472c-6.908 1.501-11.291 8.319-9.789 15.227 1.503 6.908 8.32 11.291 15.227 9.788l100.064-21.752 21.752 100.063c1.501 6.908 8.319 11.291 15.227 9.789 6.908-1.503 11.291-8.32 9.788-15.227l-24.471-112.571zM297.135 711.908c36.131 45.985 99.88 102.24 173.824 118.822 37.341 8.374 77.336 6.616 117.188-11.79 39.729-18.349 78.305-52.774 113.82-108.018l-21.535-13.844c-33.605 52.276-68.788 82.811-103.020 98.621-34.109 15.754-68.274 17.357-100.852 10.051-65.896-14.778-125.027-66.043-159.296-109.658l-20.129 15.816z"],"attrs":[{},{},{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8},{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["Utilisateur attribuer"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[{},{},{},{},{}]}},"attrs":[{},{},{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8},{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8},{}],"properties":{"order":84,"id":72,"name":"Utilisateur-attribuer","prevSize":32,"code":60186,"codes":[60186,60187,60188,60189,60190]},"setIdx":1,"setId":2,"iconIdx":75},{"icon":{"paths":["M847.905 477.437c2.268 0 4.219-1.93 4.219-4.173 0-2.244-1.951-3.848-4.219-3.848s-4.22 1.93-4.22 4.173c0 1.917 1.952 3.848 4.22 3.848zM844.008 455.945c0-2.243 1.951-4.173 4.219-4.173 2.281 0 3.903 1.604 4.219 3.848v4.173c0 2.243-1.951 4.173-4.219 4.173s-4.219-1.93-4.219-4.173v-3.848zM844.008 434.45c0-2.244 1.951-4.173 4.219-4.173 2.281 0 3.903 1.604 4.219 4.173v7.38c0 2.243-1.951 4.173-4.219 4.173s-4.219-1.93-4.219-4.173v-7.38zM915.377 373.715v-2.782l-0.001 0.001c0-0.652 0-0.965-0.316-1.266v-0.326c0-0.155-0.081-0.233-0.163-0.313-0.083-0.081-0.168-0.162-0.168-0.327l-0.329-0.326c0-0.313 0-0.639-0.329-0.639l-0.33-0.326c-0.179-0.186-0.257-0.265-0.352-0.3-0.070-0.026-0.152-0.026-0.293-0.026h-0.33l-121.302-46.842c-0.963-0.326-1.938-0.326-2.913 0l-121.608 46.816h-0.329c-0.156 0-0.236 0.080-0.316 0.161-0.082 0.082-0.164 0.165-0.33 0.165l-0.329 0.326c0 0.155-0.081 0.233-0.163 0.313-0.083 0.081-0.166 0.162-0.166 0.327-0.33 0-0.33 0.326-0.33 0.326 0 0.155-0.081 0.233-0.163 0.313-0.083 0.081-0.166 0.162-0.166 0.327v185.092c0 1.604 0.975 2.895 2.597 3.534l121.302 51.977h0.329c0.317 0.326 0.964 0.326 1.293 0.326 0.316 0 0.963 0 1.293-0.326h0.329l120.987-51.964c1.622-0.652 2.597-1.93 2.597-3.534v-6.588l-8.426 3.654v0.044l-113.193 48.756v-174.502l49.943-21.491v16.353c0 2.243 1.952 4.173 4.22 4.173s4.219-1.93 4.219-4.173v-19.886l37.17-15.999-0.005-0.091 9.084-3.817 8.562-3.685v0.087l8.426-3.541zM906.95 377.169l0.329-0.142-0.329 0v0.142zM847.574 392.114l-105.084-45.238 47.674-18.606 110.597 42.992-51.565 22.129c-0.321-0.623-0.943-0.936-1.573-1.253l-0.049-0.024zM673.061 377.027l113.206 48.445-0.013 174.815-113.193-48.756v-174.503zM839.818 397.235l-2.915 1.279-46.703 20.214-47.031-20.212-63.894-27.593 52.541-20.212c0.157 0 0.236 0.080 0.316 0.161 0.082 0.082 0.164 0.165 0.33 0.165l107.355 46.2z","M579.48 547.109c2.679 0 4.984-2.28 4.984-4.929s-2.305-4.544-4.984-4.544c-2.679 0-4.984 2.278-4.984 4.929 0 2.264 2.305 4.544 4.984 4.544zM574.925 521.719c0-2.65 2.305-4.929 4.984-4.929 2.694 0 4.609 1.894 4.984 4.544v4.929c0 2.65-2.305 4.929-4.984 4.929s-4.984-2.28-4.984-4.929v-4.544zM574.925 496.333c0-2.65 2.305-4.929 4.984-4.929 2.694 0 4.609 1.894 4.984 4.929v8.718c0 2.65-2.305 4.929-4.984 4.929s-4.984-2.28-4.984-4.929v-8.718zM659.226 424.557v-3.255l-0.001 0.001c0-0.769 0-1.139-0.374-1.495v-0.385c0-0.183-0.096-0.275-0.192-0.369-0.099-0.096-0.197-0.192-0.197-0.385l-0.389-0.385c0-0.37 0-0.755-0.389-0.755l-0.389-0.385c-0.214-0.219-0.305-0.314-0.416-0.353-0.084-0.031-0.18-0.031-0.348-0.031h-0.389l-143.29-55.333c-1.137-0.385-2.29-0.385-3.442 0l-143.651 55.302h-0.389c-0.186 0-0.279 0.095-0.372 0.189-0.097 0.097-0.195 0.196-0.39 0.196l-0.389 0.384c0 0.184-0.096 0.276-0.192 0.37-0.099 0.095-0.197 0.191-0.197 0.385-0.389 0-0.389 0.385-0.389 0.385 0 0.183-0.096 0.275-0.192 0.369-0.099 0.096-0.197 0.192-0.197 0.387v218.643c0 1.894 1.152 3.419 3.068 4.174l143.29 61.399h0.389c0.374 0.385 1.138 0.385 1.527 0.385 0.374 0 1.137 0 1.526-0.385h0.389l142.918-61.384c1.916-0.771 3.068-2.28 3.068-4.175v-7.816l-9.947 4.314v0.083l-133.711 57.595v-206.135l58.998-25.385v19.316c0 2.65 2.305 4.929 4.984 4.929s4.983-2.28 4.983-4.929v-23.491l43.823-18.862-0.009-0.138 13.864-5.825 7.068-3.043v0.072l9.947-4.179zM649.279 428.664l0.389-0.168h-0.389v0.168zM579.164 446.323l-124.132-53.437 56.315-21.978 130.646 50.786-60.913 26.14c-0.379-0.736-1.114-1.106-1.859-1.481l-0.058-0.029zM373.014 428.497l133.727 57.228-0.015 206.502-133.711-57.595v-206.135zM569.944 452.371l-3.442 1.51-55.169 23.877-55.557-23.876-75.476-32.595 62.067-23.876c0.184 0 0.278 0.095 0.372 0.189 0.096 0.097 0.193 0.196 0.39 0.196l126.815 54.574z","M285.655 477.437c2.268 0 4.219-1.93 4.219-4.173 0-2.244-1.951-3.848-4.219-3.848s-4.219 1.93-4.219 4.173c0 1.917 1.951 3.848 4.219 3.848zM281.757 455.945c0-2.243 1.951-4.173 4.219-4.173 2.281 0 3.903 1.604 4.219 3.848v4.173c0 2.243-1.951 4.173-4.219 4.173s-4.219-1.93-4.219-4.173v-3.848zM281.757 434.45c0-2.244 1.951-4.173 4.219-4.173 2.281 0 3.903 1.604 4.219 4.173v7.38c0 2.243-1.951 4.173-4.219 4.173s-4.219-1.93-4.219-4.173v-7.38zM353.128 373.703v-2.77l-0.003 0.001c0-0.652 0-0.965-0.316-1.266v-0.326c0-0.155-0.081-0.233-0.163-0.313-0.083-0.081-0.166-0.162-0.166-0.327l-0.33-0.326c0-0.313 0-0.639-0.329-0.639l-0.329-0.326c-0.18-0.186-0.259-0.265-0.353-0.3-0.070-0.026-0.151-0.026-0.293-0.026h-0.33l-121.302-46.842c-0.963-0.326-1.938-0.326-2.913 0l-121.607 46.816h-0.329c-0.157 0-0.236 0.080-0.316 0.161-0.082 0.082-0.164 0.165-0.33 0.165l-0.329 0.326c0 0.155-0.081 0.233-0.162 0.313-0.083 0.081-0.167 0.162-0.167 0.327-0.329 0-0.329 0.326-0.329 0.326 0 0.155-0.081 0.233-0.162 0.313-0.083 0.081-0.167 0.162-0.167 0.327v185.092c0 1.604 0.976 2.895 2.597 3.534l121.302 51.977h0.33c0.316 0.326 0.963 0.326 1.292 0.326 0.317 0 0.963 0 1.293-0.326h0.329l120.987-51.964c1.622-0.652 2.598-1.93 2.598-3.534v-6.601l-8.428 3.654v0.056l-113.193 48.756v-174.502l49.944-21.491v16.353c0 2.243 1.951 4.173 4.219 4.173s4.219-1.93 4.219-4.173v-19.886l37.142-15.987-0.006-0.102 10.296-4.326 7.379-3.176v0.075l8.428-3.541zM344.7 377.169l0.329-0.142-0.329 0v0.142zM285.324 392.114l-105.084-45.238 47.674-18.606 110.598 42.992-51.566 22.129c-0.321-0.623-0.943-0.936-1.573-1.253l-0.049-0.024zM110.811 377.027l113.206 48.445-0.013 174.815-113.193-48.756v-174.503zM277.568 397.235l-2.915 1.279-46.703 20.214-47.031-20.212-63.894-27.593 52.542-20.212c0.157 0 0.237 0.080 0.316 0.161 0.082 0.082 0.164 0.165 0.33 0.165l107.355 46.2z","M582.4 611.119l18.093-23.638 48.337 40.55 79.436-88.6 21.998 20.056-98.349 110.504-69.514-58.872z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["Vérification de contenu"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":85,"id":73,"name":"Vrification-de-contenu","prevSize":32,"code":60191},"setIdx":1,"setId":2,"iconIdx":76},{"icon":{"paths":["M930.399 902.362h-129.402c-11.911 0-21.567-9.656-21.567-21.567s9.656-21.567 21.567-21.567v0h129.402c9.71-0.654 17.338-8.69 17.338-18.508 0-0.621-0.031-1.236-0.090-1.842l0.006 0.077v-683.242c-0.694-8.956-8.131-15.96-17.205-15.96-0.017 0-0.034 0-0.051 0l0.003-0h-663.4c-0.096 0.002-0.209 0.002-0.323 0.002-8.956 0-16.637-5.459-19.897-13.232l-0.053-0.142c-11.134-31.771-25.73-59.313-43.781-84.184l0.647 0.936h-143.205c-0.014-0-0.032-0-0.049-0-9.074 0-16.511 7.004-17.201 15.9l-0.004 0.059v782.019c-0.054 0.529-0.084 1.143-0.084 1.765 0 9.818 7.628 17.854 17.281 18.505l0.057 0.003h150.537c11.911 0 21.567 9.656 21.567 21.567s-9.656 21.567-21.567 21.567v0h-150.537c-33.471-0.465-60.426-27.707-60.426-61.245 0-0.76 0.014-1.518 0.041-2.271l-0.003 0.109v-782.019c0.725-32.79 27.478-59.094 60.374-59.094 0.005 0 0.010 0 0.015 0l147.517-0c9.489 0 33.644 0 72.465 96.62h647.009c0.004-0 0.009-0 0.014-0 32.896 0 59.649 26.304 60.372 59.026l0.001 0.067v685.398c0.001 0.157 0.002 0.343 0.002 0.529 0 32.376-25.298 58.844-57.205 60.713l-0.165 0.008z","M970.514 310.133h-948.947c-11.911 0-21.567-9.656-21.567-21.567v0c0-11.911 9.656-21.567 21.567-21.567v0h948.947c11.911 0 21.567 9.656 21.567 21.567v0c0 11.911-9.656 21.567-21.567 21.567v0z","M512.431 1024c-11.911 0-21.567-9.656-21.567-21.567v0-543.488c0-11.911 9.656-21.567 21.567-21.567s21.567 9.656 21.567 21.567v0 543.488c0 11.911-9.656 21.567-21.567 21.567v-0z","M512.431 1024c-6.068-0.015-11.557-2.486-15.528-6.469l-0.001-0.001-144.499-145.793c-3.94-3.909-6.379-9.326-6.379-15.313s2.439-11.404 6.378-15.311l0.001-0.001c3.839-3.916 9.185-6.344 15.097-6.344s11.258 2.428 15.094 6.34l0.003 0.003 129.402 129.402 129.402-129.402c3.909-3.94 9.326-6.379 15.313-6.379s11.404 2.439 15.311 6.378l0.001 0.001c3.94 3.909 6.379 9.326 6.379 15.313s-2.439 11.404-6.378 15.311l-0.001 0.001-144.499 145.793c-3.712 3.986-8.991 6.472-14.85 6.472-0.087 0-0.174-0.001-0.26-0.002l0.013 0z"],"width":991,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["versement"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":86,"id":74,"name":"versement","prevSize":32,"code":60192},"setIdx":1,"setId":2,"iconIdx":77},{"icon":{"paths":["M904.741 520.042c-73.454 150.016-223.587 244.912-392.744 244.912s-319.292-94.896-392.743-244.912l-3.937-8.042 3.937-8.042c73.455-150.026 224.022-244.91 392.743-244.91 168.719 0 319.287 94.885 392.744 244.91l3.935 8.042-3.935 8.042zM511.996 813.714c202.99 0 376.792-124.679 449.62-301.714-72.828-177.034-246.63-301.714-449.62-301.714s-376.791 124.68-449.621 301.714c72.831 177.035 246.631 301.714 449.621 301.714zM636.95 512c0-68.977-55.976-124.954-124.954-124.954-68.981 0-124.954 55.976-124.954 124.954s55.973 124.954 124.954 124.954c68.977 0 124.954-55.976 124.954-124.954zM338.282 512c0-95.715 78-173.714 173.715-173.714s173.714 78 173.714 173.714c0 95.715-78 173.714-173.714 173.714s-173.715-78-173.715-173.714z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["visibility"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":87,"id":75,"name":"visibility","prevSize":32,"code":60196},"setIdx":1,"setId":2,"iconIdx":78},{"icon":{"paths":["M721.993 707.132l6.246 6.251h167.62v182.477h-182.477v-124.535l-201.451-211.524-201.452 211.524v124.535h-182.48v-182.477h167.621l192.614-192.614v-166.995l-14.071-5.094c-44.292-16.037-75.987-57.892-75.987-106.924 0-62.967 50.788-113.754 113.756-113.754s113.754 50.788 113.754 113.754c0 49.032-31.697 90.887-75.989 106.924l-14.071 5.094v166.995l186.368 186.364z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["workflow"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":88,"id":76,"name":"workflow","prevSize":32,"code":60197},"setIdx":1,"setId":2,"iconIdx":79},{"icon":{"paths":["M201.5 310c-21.459 0-42.436-6.364-60.279-18.286s-31.749-28.868-39.962-48.693c-8.212-19.826-10.361-41.642-6.174-62.688s14.52-40.38 29.694-55.554c15.174-15.174 34.507-25.508 55.554-29.694s42.862-2.038 62.688 6.174c19.826 8.212 36.771 22.119 48.693 39.962s18.286 38.82 18.286 60.279c-0.031 28.767-11.472 56.346-31.813 76.687s-47.92 31.782-76.687 31.813z","M496 310c-21.459 0-42.435-6.364-60.278-18.286s-31.75-28.868-39.962-48.693c-8.214-19.826-10.362-41.642-6.176-62.688 4.189-21.047 14.522-40.38 29.696-55.554s34.506-25.508 55.552-29.694c21.046-4.187 42.864-2.038 62.688 6.174 19.827 8.212 36.771 22.119 48.694 39.962s18.285 38.82 18.285 60.279c-0.029 28.767-11.472 56.346-31.811 76.687-20.342 20.341-47.92 31.782-76.688 31.813z","M790.499 310c-21.459 0-42.435-6.364-60.278-18.286s-31.75-28.868-39.962-48.693c-8.211-19.826-10.362-41.642-6.173-62.688 4.186-21.047 14.518-40.38 29.693-55.554s34.506-25.508 55.552-29.694c21.050-4.187 42.864-2.038 62.691 6.174 19.824 8.212 36.771 22.119 48.691 39.962 11.923 17.843 18.285 38.82 18.285 60.279-0.029 28.767-11.469 56.346-31.811 76.687s-47.92 31.782-76.688 31.813z","M201.5 604.499c-21.459 0-42.436-6.362-60.279-18.285s-31.749-28.867-39.962-48.694c-8.212-19.824-10.361-41.642-6.174-62.688s14.52-40.378 29.694-55.552c15.174-15.174 34.507-25.507 55.554-29.696 21.047-4.186 42.862-2.038 62.688 6.176 19.826 8.211 36.771 22.118 48.693 39.962s18.286 38.819 18.286 60.278c-0.031 28.768-11.472 56.346-31.813 76.688-20.341 20.339-47.92 31.782-76.687 31.811z","M496 604.499c-21.459 0-42.435-6.362-60.278-18.285s-31.75-28.867-39.962-48.694c-8.214-19.824-10.362-41.642-6.176-62.688 4.189-21.046 14.522-40.378 29.696-55.552s34.506-25.507 55.552-29.696c21.046-4.186 42.864-2.038 62.688 6.176 19.827 8.211 36.771 22.118 48.694 39.962s18.285 38.819 18.285 60.278c-0.029 28.768-11.472 56.346-31.811 76.688-20.342 20.339-47.92 31.782-76.688 31.811z","M790.499 604.499c-21.459 0-42.435-6.362-60.278-18.285s-31.75-28.867-39.962-48.694c-8.211-19.824-10.362-41.642-6.173-62.688 4.186-21.046 14.518-40.378 29.693-55.552s34.506-25.507 55.552-29.696c21.050-4.186 42.864-2.038 62.691 6.176 19.824 8.211 36.771 22.118 48.691 39.962 11.923 17.843 18.285 38.819 18.285 60.278-0.029 28.768-11.469 56.346-31.811 76.688-20.342 20.339-47.92 31.782-76.688 31.811z","M201.5 898.998c-21.459 0-42.436-6.362-60.279-18.285-17.843-11.92-31.749-28.867-39.962-48.691-8.212-19.827-10.361-41.642-6.174-62.691 4.187-21.046 14.52-40.378 29.694-55.552s34.507-25.507 55.554-29.693c21.047-4.189 42.862-2.038 62.688 6.173s36.771 22.118 48.693 39.962c11.922 17.843 18.286 38.819 18.286 60.278-0.031 28.768-11.472 56.346-31.813 76.688s-47.92 31.782-76.687 31.811z","M496 898.998c-21.459 0-42.435-6.362-60.278-18.285-17.843-11.92-31.75-28.867-39.962-48.691-8.214-19.827-10.362-41.642-6.176-62.691 4.189-21.046 14.522-40.378 29.696-55.552s34.506-25.507 55.552-29.693c21.046-4.189 42.864-2.038 62.688 6.173 19.827 8.211 36.771 22.118 48.694 39.962s18.285 38.819 18.285 60.278c-0.029 28.768-11.472 56.346-31.811 76.688-20.342 20.342-47.92 31.782-76.688 31.811z","M790.499 898.998c-21.459 0-42.435-6.362-60.278-18.285-17.843-11.92-31.75-28.867-39.962-48.691-8.211-19.827-10.362-41.642-6.173-62.691 4.186-21.046 14.518-40.378 29.693-55.552s34.506-25.507 55.552-29.693c21.050-4.189 42.864-2.038 62.691 6.173 19.824 8.211 36.771 22.118 48.691 39.962 11.923 17.843 18.285 38.819 18.285 60.278-0.029 28.768-11.469 56.346-31.811 76.688s-47.92 31.782-76.688 31.811z"],"attrs":[{"fill":"rgb(0, 0, 0)"},{"fill":"rgb(0, 0, 0)"},{"fill":"rgb(0, 0, 0)"},{"fill":"rgb(255, 0, 0)"},{"fill":"rgb(255, 0, 0)"},{"fill":"rgb(255, 0, 0)"},{"fill":"rgb(255, 192, 203)"},{"fill":"rgb(255, 192, 203)"},{"fill":"rgb(255, 192, 203)"}],"isMulticolor":true,"isMulticolor2":false,"tags":["apps-colored"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[{"f":0},{"f":0},{"f":0},{"f":5},{"f":5},{"f":5},{"f":11},{"f":11},{"f":11}]}},"attrs":[{"fill":"rgb(0, 0, 0)"},{"fill":"rgb(0, 0, 0)"},{"fill":"rgb(0, 0, 0)"},{"fill":"rgb(255, 0, 0)"},{"fill":"rgb(255, 0, 0)"},{"fill":"rgb(255, 0, 0)"},{"fill":"rgb(255, 192, 203)"},{"fill":"rgb(255, 192, 203)"},{"fill":"rgb(255, 192, 203)"}],"properties":{"order":89,"id":77,"name":"apps-colored","prevSize":32,"code":59733,"codes":[59733,59734,59735,59736,59737,59738,59739,59740,59741]},"setIdx":1,"setId":2,"iconIdx":80},{"icon":{"paths":["M913.493 494.080l-384-384c-15.36-15.36-36.693-24.747-60.16-24.747h-298.667c-46.933 0-85.333 38.4-85.333 85.333v298.667c0 23.467 9.387 44.8 25.173 60.587l384 384c15.36 15.36 36.693 24.747 60.16 24.747s44.8-9.387 60.16-25.173l298.667-298.667c15.787-15.36 25.173-36.693 25.173-60.16s-9.813-45.227-25.173-60.587zM554.667 853.76l-384-384.427v-298.667h298.667v-0.427l384 384-298.667 299.52zM213.333 277.333c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64z","M593.502 443.23l30.716 29.614-148.068 153.581-30.716-29.614 148.068-153.581z","M532.075 384l30.716 29.614-148.068 153.581-30.716-29.614 148.068-153.581z","M654.938 502.46l30.716 29.614-148.068 153.581-30.716-29.614 148.068-153.581z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["barcode"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":90,"id":78,"name":"barcode","prevSize":32,"code":59732,"codes":[59732,59733,59734,59735]},"setIdx":1,"setId":2,"iconIdx":81},{"icon":{"paths":["M36.571 292.571h292.571v-292.571h-292.571v292.571zM36.571 658.286h292.571v-292.571h-292.571v292.571zM402.286 658.286h292.571v-292.571h-292.571v292.571zM768 658.286h292.571v-292.571h-292.571v292.571zM402.286 292.571h292.571v-292.571h-292.571v292.571zM768 0v292.571h292.571v-292.571h-292.571zM1133.714 658.286h292.571v-292.571h-292.571v292.571zM36.571 1024h292.571v-292.571h-292.571v292.571zM402.286 1024h292.571v-292.571h-292.571v292.571zM768 1024h292.571v-292.571h-292.571v292.571zM1133.714 1024h292.571v-292.571h-292.571v292.571zM1133.714 0v292.571h292.571v-292.571h-292.571z"],"width":1463,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["rack"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":91,"id":79,"name":"rack","prevSize":32,"code":59730},"setIdx":1,"setId":2,"iconIdx":82},{"icon":{"paths":["M512 284.444c-125.724 0-227.556 101.831-227.556 227.556s101.831 227.556 227.556 227.556c125.724 0 227.556-101.831 227.556-227.556s-101.831-227.556-227.556-227.556zM113.778 682.667h-113.778v227.556c0 62.578 51.2 113.778 113.778 113.778h227.556v-113.778h-227.556v-227.556zM113.778 113.778h227.556v-113.778h-227.556c-62.578 0-113.778 51.2-113.778 113.778v227.556h113.778v-227.556zM910.222 0h-227.556v113.778h227.556v227.556h113.778v-227.556c0-62.578-51.2-113.778-113.778-113.778zM910.222 910.222h-227.556v113.778h227.556c62.578 0 113.778-51.2 113.778-113.778v-227.556h-113.778v227.556z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["room"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":92,"id":80,"name":"room","prevSize":32,"code":59731},"setIdx":1,"setId":2,"iconIdx":83},{"icon":{"paths":["M53.895 0c-29.765 0-53.895 24.13-53.895 53.895v904.262c0 29.766 24.129 53.895 53.895 53.895h860.683c29.766 0 53.895-24.129 53.895-53.895v-797.73c0-29.766-24.129-53.895-53.895-53.895h-589.332c-21.134 0-40.318-12.353-49.064-31.593l-19.703-43.346c-8.745-19.24-27.929-31.593-49.064-31.593h-153.52zM914.658 266.332h-860.844c-2.976 0-5.389-2.413-5.389-5.389v-202.285c0-2.977 2.413-5.389 5.389-5.389h158.704c2.977 0 5.998 2.275 7.141 5.024 8.887 21.379 49.409 101.509 70.884 101.509h624.116c2.98 0 5.389 2.413 5.389 5.389v95.753c0 2.977-2.409 5.389-5.389 5.389z"],"width":970,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["folder-full"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":93,"id":81,"name":"folder-full","prevSize":32,"code":59727},"setIdx":1,"setId":2,"iconIdx":84},{"icon":{"paths":["M317.38 0h321.854c0.676 0.728 80.765 86.919 120.91 119.344v496.182c0 22.618-18.338 40.96-40.96 40.96h-401.804c-22.622 0-40.96-18.342-40.96-40.96v-574.566c0-22.622 18.338-40.96 40.96-40.96zM669.438 266.082h-302.328v29.84h302.328v-29.84zM367.11 355.607v29.84h302.328v-29.84h-302.328zM669.438 445.121h-302.328v29.843h302.328v-29.843zM619.074 129.368l100.774-0.075-100.852-99.393 0.078 99.467z","M0 248.281v711.333c0 22.618 18.338 40.96 40.96 40.96h677.171c22.622 0 40.96-18.342 40.96-40.96v-627.833c0-22.622-18.338-40.96-40.96-40.96h-464.029c-16.062 0-30.642-9.388-37.288-24.011l-16.127-35.479c-6.647-14.622-21.227-24.010-37.289-24.010h-122.438c-22.622 0-40.96 18.338-40.96 40.96zM37.95 461.914c0-2.265 1.834-4.096 4.096-4.096h674.992c2.261 0 4.096 1.831 4.096 4.096v492.806c0 2.265-1.835 4.096-4.096 4.096h-674.992c-2.262 0-4.096-1.831-4.096-4.096v-492.806zM42.046 416.072c-2.262 0-4.096-1.835-4.096-4.096v-158.81c0-2.262 1.834-4.096 4.096-4.096h124.649c2.262 0 4.553 1.727 5.419 3.817 6.862 16.574 38.737 79.683 55.609 79.683h489.314c2.261 0 4.096 1.834 4.096 4.096v75.31c0 2.261-1.835 4.096-4.096 4.096h-674.992z","M28.12 441.254h702.815v524.755h-702.815v-524.755z"],"width":778,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["folder-with-file"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":94,"id":82,"name":"folder-with-file","prevSize":32,"code":59728},"setIdx":1,"setId":2,"iconIdx":85},{"icon":{"paths":["M525.033 0c22.622 0 40.96 18.338 40.96 40.96v81.92h81.92c22.622 0 40.96 18.338 40.96 40.96v81.92h81.92c22.622 0 40.96 18.338 40.96 40.96v696.32c0 22.622-18.338 40.96-40.96 40.96h-484.071c-22.621 0-40.96-18.338-40.96-40.96l0-81.92h-81.923c-22.621 0-40.96-18.338-40.96-40.96v-81.92h-81.92c-22.622 0-40.96-18.338-40.96-40.96v-561.128c0-10.863 4.315-21.282 11.997-28.963l135.192-135.192c7.682-7.681 18.1-11.997 28.963-11.997h348.882zM122.88 748.45v-449.418c0-10.863 4.316-21.282 11.997-28.963l72.588-72.588c-2.983 1.696-6.433 2.665-10.11 2.665h-135.913c-11.311 0-20.48 9.169-20.48 20.48v507.344c0 11.313 9.169 20.48 20.48 20.48h61.437zM215.17 189.775l54.898-54.898c7.682-7.681 18.1-11.997 28.963-11.997h237.176v-61.44c0-11.311-9.171-20.48-20.48-20.48h-277.412c-11.311 0-20.48 9.169-20.48 20.48v118.225c0 3.677-0.969 7.127-2.665 10.11zM245.762 865.747v-443.834c0-10.863 4.316-21.282 11.997-28.964l135.192-135.192c7.682-7.681 18.099-11.997 28.962-11.997h231.584v-67.025c0-11.311-9.171-20.48-20.48-20.48h-277.413c-11.311 0-20.48 9.169-20.48 20.48v118.225c0 11.311-9.169 20.48-20.48 20.48h-135.913c-11.311 0-20.48 9.169-20.48 20.48v507.347c0 11.309 9.169 20.48 20.48 20.48h67.031zM176.869 35.375l-123.811 123.811h123.811v-123.811zM422.633 404.945v-123.811l-123.813 123.811h123.813zM368.645 573.44v35.373h327.675v-35.373h-327.675zM696.32 679.559h-327.675v35.377h327.675v-35.377zM368.645 785.691v35.373h327.675v-35.373h-327.675zM299.749 282.065v-123.811l-123.811 123.811h123.811z"],"width":819,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["document-layers"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":95,"id":83,"name":"document-layers","prevSize":32,"code":59724},"setIdx":1,"setId":2,"iconIdx":86},{"icon":{"paths":["M0 62.061c0-34.275 27.785-62.061 62.061-62.061h589.576c34.276 0 62.061 27.785 62.061 62.061v93.091h-44.615v-93.091c0-8.569-6.948-15.515-15.515-15.515h-593.454c-8.569 0-15.515 6.946-15.515 15.515v899.879c0 8.567 6.946 15.515 15.515 15.515h593.454c8.567 0 15.515-6.948 15.515-15.515v-279.273h44.615v279.273c0 34.276-27.785 62.061-62.061 62.061h-589.576c-34.275 0-62.061-27.785-62.061-62.061v-899.879zM133.788 403.394h327.112v46.545h-327.112v-46.545zM520.378 558.545h-386.587v46.545h386.587v-46.545zM133.788 713.697h465.454v43.442h-465.454v-43.442zM806.083 696.537c-11.894 0-23.946-0.819-35.84-2.402-8.018-1.089-14.727-6.709-17.181-14.398-5.728-18.001-18.984-32.455-36.33-39.709-17.24-7.202-37.149-6.327-53.788 2.181-7.199 3.708-15.928 2.889-22.364-2.020-18.876-14.51-35.676-31.362-49.912-50.070-4.909-6.436-5.672-15.109-1.964-22.311 8.729-16.908 9.657-36.436 2.619-53.561-7.038-17.129-21.495-30.273-39.601-36.11-7.692-2.507-13.256-9.163-14.293-17.181-3.053-23.347-3.053-47.129 0.109-70.69 1.092-8.018 6.709-14.73 14.401-17.185 18.001-5.725 32.455-18.981 39.713-36.38 7.255-17.346 6.436-36.983-2.185-53.784-3.708-7.2-2.889-15.927 2.073-22.364 14.513-18.873 31.369-35.618 50.077-49.909 6.436-4.909 15.109-5.673 22.311-1.964 16.747 8.673 36.439 9.709 53.568 2.618 17.129-7.036 30.273-21.492 36.166-39.6 2.507-7.691 9.163-13.255 17.181-14.29 23.239-3.055 47.185-3 70.696 0.109 8.018 1.091 14.727 6.709 17.181 14.399 5.728 18 18.984 32.454 36.33 39.71 17.293 7.2 37.202 6.327 53.788-2.182 7.199-3.709 15.928-2.891 22.364 2.018 18.876 14.51 35.676 31.364 49.912 50.072 4.909 6.436 5.672 15.109 1.964 22.31-8.729 16.909-9.657 36.437-2.619 53.563 7.038 17.129 21.492 30.273 39.601 36.11 7.692 2.507 13.256 9.163 14.293 17.181 3.053 23.344 3.053 47.126-0.109 70.69-1.092 8.018-6.709 14.727-14.401 17.181-18.001 5.728-32.455 18.984-39.713 36.383-7.255 17.346-6.436 36.982 2.181 53.782 3.711 7.202 2.892 15.928-2.073 22.367-14.51 18.873-31.365 35.617-50.074 49.906-6.436 4.909-15.109 5.675-22.311 1.964-16.747-8.617-36.439-9.654-53.568-2.619-17.073 7.038-30.273 21.492-36.166 39.601-2.507 7.692-9.163 13.256-17.181 14.289-11.509 1.474-23.239 2.293-34.856 2.293zM787.813 653.88c11.891 0.925 23.782 0.981 35.676 0.053 11.236-23.673 30.655-42.381 54.821-52.364 24.058-9.927 51.166-10.364 75.823-1.471 9.002-7.692 17.458-16.092 25.256-25.203-8.782-24.598-8.183-51.653 2.020-76.034 10.144-24.384 28.911-43.911 52.584-55.038 0.928-11.891 0.981-23.834 0.056-35.672-23.676-11.236-42.387-30.655-52.367-54.874-9.982-24.163-10.364-51.163-1.474-75.817-7.692-9-16.092-17.455-25.203-25.255-24.545 8.727-51.873 8.073-76.040-2.018-24.384-10.146-43.911-28.909-55.038-52.527-11.894-0.982-23.785-0.982-35.676-0.055-11.239 23.673-30.658 42.382-54.821 52.364-24.058 9.927-51.169 10.364-75.826 1.473-8.999 7.691-17.455 16.090-25.256 25.2 8.785 24.6 8.183 51.656-2.017 76.036-10.147 24.381-28.911 43.908-52.584 55.035-0.928 11.891-0.984 23.837-0.056 35.672 23.673 11.239 42.384 30.655 52.367 54.874 9.982 24.163 10.364 51.166 1.474 75.819 7.689 8.999 16.089 17.455 25.2 25.252 24.601-8.726 51.876-8.018 76.043 2.020 24.436 10.144 43.855 28.908 55.038 52.528zM805.798 550.838c-68.949 0-125.024-56.072-125.024-125.018 0-68.943 56.131-125.016 125.024-125.016 68.949 0 125.027 56.073 125.027 125.016 0.053 68.946-56.078 125.018-125.027 125.018zM805.807 342.696c-45.819 0-83.133 37.311-83.133 83.127 0 45.875 37.314 83.127 83.133 83.127s83.133-37.308 83.133-83.127c0.053-45.872-37.258-83.127-83.133-83.127z"],"width":1086,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["file-cog-middle"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":96,"id":84,"name":"file-cog-middle","prevSize":32,"code":59725},"setIdx":1,"setId":2,"iconIdx":87},{"icon":{"paths":["M561.951 433.449v540.6c0 6.896-5.592 12.488-12.488 12.488h-499.512c-6.897 0-12.488-5.592-12.488-12.488v-724.293c0-6.897 5.591-12.488 12.488-12.488h324.683v-37.463h-349.659c-13.794 0-24.976 11.182-24.976 24.976v774.244c0 13.794 11.182 24.976 24.976 24.976h549.463c13.794 0 24.976-11.182 24.976-24.976v-563.387c7.133-0.235 14.281-0.832 21.327-1.733 6.454-0.832 11.808-5.31 13.829-11.501 4.74-14.576 15.365-26.209 29.107-31.874 13.784-5.662 29.634-4.828 43.113 2.108 5.794 2.987 12.775 2.37 17.955-1.581 15.058-11.501 28.625-24.978 40.303-40.168 3.996-5.182 4.653-12.206 1.668-18.002-6.936-13.522-7.595-29.326-1.756-43.288 5.839-14.004 17.473-24.673 31.961-29.284 6.189-1.976 10.712-7.375 11.589-13.829 2.548-18.966 2.548-38.107 0.087-56.897-0.832-6.454-5.31-11.81-11.501-13.83-14.573-4.697-26.209-15.277-31.871-29.063-5.664-13.785-4.918-29.502 2.105-43.112 2.987-5.796 2.373-12.776-1.578-17.956-11.459-15.058-24.981-28.624-40.171-40.302-5.182-3.951-12.206-4.609-18.002-1.624-13.344 6.849-29.369 7.551-43.288 1.756-13.961-5.84-24.628-17.473-29.239-31.962-1.976-6.19-7.375-10.712-13.829-11.59-18.922-2.502-38.195-2.546-56.897-0.088-6.456 0.834-11.811 5.312-13.831 11.502-4.74 14.575-15.32 26.209-29.107 31.873-13.784 5.707-29.634 4.873-43.11-2.107-5.797-2.985-12.778-2.371-17.957 1.58-15.058 11.502-28.625 24.98-40.303 40.171-3.994 5.181-4.653 12.205-1.668 18 6.938 13.523 7.595 29.327 1.758 43.288-5.842 14.005-17.475 24.673-31.964 29.283-6.189 1.976-10.71 7.376-11.589 13.829-2.545 18.966-2.545 38.107-0.087 56.898 0.834 6.454 5.312 11.811 11.501 13.829 14.576 4.698 26.209 15.278 31.874 29.064 5.662 13.784 4.918 29.501-2.108 43.11-2.985 5.797-2.37 12.778 1.581 17.957 11.459 15.058 24.981 28.622 40.171 40.301 5.18 3.951 12.206 4.61 18 1.626 13.389-6.848 29.414-7.553 43.288-1.756 13.961 5.839 24.631 17.473 29.239 31.961 1.781 5.575 6.336 9.795 11.938 11.222zM606.693 401.46c-9.571 0.747-19.141 0.702-28.712-0.045-9.001-19.009-24.631-34.112-44.299-42.276-19.449-8.080-41.4-8.649-61.198-1.626-7.333-6.276-14.094-13.082-20.285-20.325 7.158-19.843 6.851-41.577-1.184-61.025-8.035-19.493-23.092-35.122-42.146-44.166-0.747-9.527-0.702-19.142 0.042-28.712 19.054-8.957 34.157-24.673 42.324-44.297 8.209-19.625 8.692-41.4 1.623-61.2 6.279-7.332 13.082-14.093 20.328-20.283 19.843 7.156 41.662 6.805 61.023-1.185 19.451-8.034 35.078-23.093 44.122-42.146 9.573-0.746 19.144-0.746 28.714 0.044 8.956 19.010 24.671 34.112 44.297 42.278 19.449 8.122 41.445 8.649 61.2 1.624 7.333 6.278 14.091 13.083 20.283 20.327-7.156 19.844-6.848 41.575 1.184 61.025 8.035 19.493 23.095 35.122 42.146 44.166 0.747 9.527 0.704 19.142-0.042 28.712-19.054 8.956-34.157 24.673-42.321 44.296-8.209 19.626-8.694 41.402-1.626 61.2-6.276 7.333-13.082 14.094-20.325 20.283-19.846-7.156-41.664-6.803-61.025 1.186-19.449 8.035-35.078 23.092-44.122 42.146zM592.461 318.481c-55.491 0-100.624-45.133-100.624-100.625 0-55.493 45.176-100.624 100.624-100.624 55.493 0 100.624 45.131 100.624 100.624 0.045 55.492-45.131 100.625-100.624 100.625zM592.461 150.952c-36.876 0-66.907 30.030-66.907 66.907 0 36.922 30.031 66.908 66.907 66.908 36.879 0 66.907-30.031 66.907-66.908 0.045-36.922-29.986-66.907-66.907-66.907zM487.024 536.976v37.463h-374.634v-37.463h374.634zM112.39 649.366v37.463h374.634v-37.463h-374.634zM487.024 761.756v37.463h-374.634v-37.463h374.634z"],"width":824,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["file-cog-up"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":97,"id":85,"name":"file-cog-up","prevSize":32,"code":59726},"setIdx":1,"setId":2,"iconIdx":88},{"icon":{"paths":["M333.299 1023.174c3.317 0.28 6.629 0.561 9.944 0.826h114.915c2.522-0.603 5.12-1.017 7.76-1.318 6.36-0.39 12.738-0.701 19.118-1.011 12.729-0.619 25.469-1.238 38.106-2.493 3.404-0.349 6.807-0.697 10.211-1.046 36.964-3.784 73.993-7.573 110.761-12.816 43.883-6.215 86.947-17.103 128.381-32.472 8.769-3.201 14.356-7.533 15.83-16.952 1.106-7.155 2.522-14.263 3.938-21.368 1.756-8.831 3.515-17.655 4.675-26.546 8.147-63.136 6.518-125.591-16.76-186.090-20.251-52.734-56.721-89.576-112.121-108.41-25.064-8.437-49.582-18.532-73.715-29.155-29.678-12.882-57.38-29.758-82.249-50.062-21.355 20.409-42.774 34.921-64.211 43.56l30.729 245.831-66.783 66.783-77.913-66.783 30.239-241.907c-25.032-7.738-50-23.465-74.834-47.146-3.143 2.246-6.142 4.443-9.065 6.585-5.554 4.067-10.828 7.932-16.27 11.536-41.746 27.762-87.992 46.369-135.402 62.569-36.547 12.13-67.623 36.163-87.953 68.069-18.39 28.251-28.943 59.441-34.529 92.289-10.359 61.099-7.216 121.669 7.1 181.94 1.785 7.76 5.82 12.206 13.424 14.427 8.977 2.629 17.911 5.416 26.845 8.203 18.094 5.648 36.187 11.293 54.628 15.605 66.028 15.445 133.421 21.773 201.123 25.54 8.041 0.454 16.063 1.133 24.080 1.812z","M414.152 0c13.851 1.769 27.477 4.93 40.686 9.409 30.6 10.689 58.415 28.115 81.337 51.036 11.97 11.969 21.379 21.604 28.378 37.826 8.468 19.685 8.281 37.524 8.092 47.197-0.301 16.674-5.645 61.499-6.85 73.769-0.563 5.307-0.49 9.409 4.365 12.722 8.695 5.946 9.185 15.204 8.319 24.313h-0.076c-1.805 22.13-8.279 43.582-18.931 63.043-6.097 10.99-7.905 24.313-12.119 36.432-12.722 36.207-34.026 93.453-85.326 119.804-18.744 9.258-39.333 14.113-60.222 14.189-11.591 0-34.778 0-59.016-13.361-11.293-6.173-17.991-12.796-27.325-21.566h-0.038c-21.905-20.776-39.293-45.804-51.113-73.543-7.413-16.936-12.043-34.927-18.405-52.315-2.257-6.249-5.87-11.97-8.806-17.953l0.038 0.038c-9.71-19.158-14.679-40.31-14.53-61.763 0.076-6.776 1.883-12.722 7.68-16.938 5.042-3.613 5.532-8.168 4.517-14.075h-0.038c-5.12-28.153-7.115-56.757-6.024-85.286 1.507-33.46 20.703-58.338 31.428-72.113 16.411-20.249 37.414-36.282 61.313-46.708v0.038c13.851-6.097 28.492-10.237 43.509-12.307l49.156-1.884z","M868.174 133.565c122.88 0 222.609 99.729 222.609 222.609v31.833c0 43.854-34.059 79.471-77.913 79.471-26.49 0-51.423-12.911-65.892-32.723-20.035 20.257-48.083 32.723-78.803 32.723-61.44 0-111.304-49.864-111.304-111.304s49.864-111.304 111.304-111.304c25.050 0 48.177 8.29 66.783 22.272v-0.011c0-12.295 9.966-22.261 22.261-22.261s22.261 9.966 22.261 22.261v120.877c0 17.586 15.805 34.95 33.391 34.95s33.391-17.363 33.391-34.95v-31.833c0-96.612-81.475-178.087-178.087-178.087s-178.087 81.475-178.087 178.087c0 96.612 81.475 178.087 178.087 178.087h111.304v44.522h-111.304c-122.88 0-222.609-99.729-222.609-222.609s99.729-222.609 222.609-222.609zM934.957 356.174c0-36.953-29.83-66.783-66.783-66.783s-66.783 29.83-66.783 66.783c0 36.953 29.83 66.783 66.783 66.783s66.783-29.83 66.783-66.783z"],"width":1135,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["api-supervision"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":98,"id":86,"name":"api-supervision","prevSize":32,"code":59723},"setIdx":1,"setId":2,"iconIdx":89},{"icon":{"paths":["M1216 256h-192v-256h-896c-70.4 0-128 57.6-128 128v704h128c0 106.24 85.76 192 192 192s192-85.76 192-192h384c0 106.24 85.76 192 192 192s192-85.76 192-192h128v-320l-192-256zM320 928c-53.12 0-96-42.88-96-96s42.88-96 96-96c53.12 0 96 42.88 96 96s-42.88 96-96 96zM1184 352l125.44 160h-285.44v-160h160zM1088 928c-53.12 0-96-42.88-96-96s42.88-96 96-96c53.12 0 96 42.88 96 96s-42.88 96-96 96z"],"width":1408,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["truck"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":99,"id":87,"name":"truck","prevSize":32,"code":59722},"setIdx":1,"setId":2,"iconIdx":90},{"icon":{"paths":["M534.197 24.688c4.191 3.736 6.585 9.083 6.585 14.696v14.553h312.785c6.963 0 13.41 3.679 16.955 9.676l168.153 284.655c3.119 3.484 5.018 8.086 5.018 13.13v618.671c0 10.874-8.818 19.692-19.692 19.692h-984.615c-10.876 0-19.692-8.818-19.692-19.692v-618.671c0-5.857 2.557-11.117 6.616-14.725l162.103-280.943c3.118-5.405 8.614-9.012 14.814-9.722l315.624-36.188c5.577-0.639 11.162 1.132 15.348 4.868zM517.593 341.707v-16.966l-143.284 16.966h143.284zM217.567 94.007l-140.336 243.219 424.166-50.227v-225.534l-283.83 32.543zM59.077 381.091v579.287h945.231v-579.287h-945.231zM556.977 339.348l431.904 2.064-146.554-248.090h-285.349v246.026z"],"width":1063,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["physical-big-box"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":100,"id":88,"name":"physical-big-box","prevSize":32,"code":59720},"setIdx":1,"setId":2,"iconIdx":91},{"icon":{"paths":["M540.782 39.385c0-5.613-2.395-10.96-6.585-14.696s-9.775-5.507-15.352-4.868l-315.621 36.188c-6.2 0.711-11.695 4.318-14.814 9.722l-162.104 280.945c-4.058 3.607-6.614 8.866-6.614 14.723v618.672c0 10.874 8.817 19.692 19.692 19.692h984.615c10.874 0 19.692-8.818 19.692-19.692v-618.672c0-5.044-1.894-9.644-5.014-13.128l-168.157-284.657c-3.545-5.997-9.992-9.676-16.955-9.676h-312.785v-14.553zM517.593 324.74v16.966h-143.281l143.281-16.966zM77.23 337.225l140.336-243.219 283.832-32.543v225.534l-424.168 50.227zM59.077 960.378v-579.287h945.231v579.287h-945.231zM556.977 93.322h285.349l146.558 248.090-431.907-2.064v-246.026zM537.486 775.723c57.403 0 103.936-46.537 103.936-103.94s-46.533-103.936-103.936-103.936c-57.407 0-103.94 46.533-103.94 103.936s46.533 103.94 103.94 103.94z"],"width":1063,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["physical-big-box-content"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":101,"id":89,"name":"physical-big-box-content","prevSize":32,"code":59719},"setIdx":1,"setId":2,"iconIdx":92},{"icon":{"paths":["M0.089 164.934c0-0.393-0.045-0.785 0-1.178 0.090-1.091 0.269-2.138 0.538-3.186v-0.043c0.359-1.396 0.942-2.749 1.615-4.015 0.135-0.305 0.314-0.567 0.448-0.873 0.718-1.222 1.57-2.4 2.512-3.491l0.404-0.393c0.942-0.96 1.973-1.833 3.094-2.575 0.135-0.087 0.269-0.262 0.404-0.349 0.090-0.044 0.179-0.087 0.269-0.131 1.211-0.785 2.556-1.44 3.947-1.92 0.314-0.131 0.628-0.174 0.942-0.305 0.538-0.175 1.077-0.349 1.615-0.48l650.801-145.479c4.17-0.96 8.567-0.567 12.511 1.047l239.982 97.876c0.18 0.087 0.357 0.218 0.583 0.306 0.313 0.131 0.627 0.305 0.897 0.436 0.987 0.523 1.974 1.091 2.824 1.745 0.18 0.131 0.36 0.174 0.54 0.305 0.090 0.087 0.133 0.175 0.223 0.218 1.077 0.829 2.017 1.789 2.914 2.836 0.18 0.175 0.27 0.393 0.45 0.611 0.673 0.873 1.3 1.833 1.794 2.793 0.18 0.305 0.313 0.611 0.45 0.916 0.583 1.222 1.030 2.444 1.344 3.753 0.047 0.087 0.047 0.174 0.047 0.262 0.267 1.222 0.403 2.444 0.447 3.752 0 0.175 0.047 0.349 0.047 0.524v722.054c0 9.294-6.594 17.368-15.922 19.462l-650.755 145.479c-0.179 0.043-0.359 0.043-0.538 0.043-0.359 0.087-0.717 0.174-1.121 0.217-0.897 0.13-1.884 0.217-2.87 0.217-1.256 0-2.512-0.13-3.722-0.348-0.404-0.087-0.762-0.22-1.166-0.307-0.852-0.217-1.66-0.434-2.512-0.742-0.179-0.087-0.359-0.087-0.538-0.174l-239.98-97.876c-7.624-3.097-12.603-10.386-12.603-18.413v-722.055c0-0.175 0.045-0.349 0.090-0.524l-0.001-0zM559.442 216.993c6.951 6.415 16.325 10.211 26.46 10.211 16.415 0 30.497-10.036 36.060-24.175l-62.52 13.964zM665.287 193.342c-1.974 41.018-36.777 73.833-79.385 73.833-29.78 0-56.239-15.927-69.871-40.451l-234.964 52.538v519.927l609.677-136.319v-519.926l-225.457 50.399zM239.987 824.242v-547.633l-198.946-81.163v561.203l198.946 81.166v-13.573zM669.407 40.836l-582.132 130.163 175.088 71.432 582.135-130.167-175.092-71.429zM890.731 703.851l-609.71 136.319v120.177l609.71-136.319v-120.177zM41.029 874.254l198.946 81.163v-74.268l-198.946-81.163v74.268z"],"width":962,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["physical-small-box"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":102,"id":90,"name":"physical-small-box","prevSize":32,"code":59721},"setIdx":1,"setId":2,"iconIdx":93},{"icon":{"paths":["M30.301 164.934c0-0.393-0.045-0.785 0-1.178 0.090-1.091 0.269-2.138 0.538-3.186v-0.043c0.359-1.396 0.942-2.749 1.615-4.015 0.134-0.305 0.314-0.567 0.448-0.873 0.717-1.222 1.57-2.4 2.512-3.491l0.403-0.393c0.942-0.96 1.974-1.833 3.095-2.575 0.134-0.087 0.269-0.262 0.404-0.349 0.090-0.044 0.179-0.087 0.269-0.131 1.211-0.785 2.556-1.44 3.947-1.92 0.314-0.131 0.628-0.174 0.942-0.305 0.538-0.175 1.076-0.349 1.615-0.48l650.799-145.479c4.174-0.96 8.567-0.567 12.515 1.047l239.979 97.876c0.18 0.087 0.36 0.218 0.583 0.306 0.313 0.131 0.627 0.305 0.897 0.436 0.987 0.523 1.974 1.091 2.827 1.745 0.177 0.131 0.357 0.174 0.537 0.305 0.090 0.087 0.133 0.175 0.223 0.218 1.077 0.829 2.020 1.789 2.917 2.836 0.18 0.175 0.267 0.393 0.447 0.611 0.673 0.873 1.3 1.833 1.794 2.793 0.18 0.305 0.317 0.611 0.45 0.916 0.583 1.222 1.030 2.444 1.347 3.753 0.043 0.087 0.043 0.174 0.043 0.262 0.27 1.222 0.403 2.444 0.45 3.752 0 0.175 0.043 0.349 0.043 0.524v722.054c0 9.294-6.594 17.368-15.922 19.462l-650.754 145.479c-0.179 0.043-0.359 0.043-0.538 0.043-0.359 0.087-0.717 0.174-1.121 0.217-0.897 0.13-1.884 0.217-2.87 0.217-1.256 0-2.511-0.13-3.722-0.348-0.404-0.087-0.762-0.22-1.166-0.307-0.852-0.217-1.659-0.434-2.511-0.742-0.18-0.087-0.359-0.087-0.538-0.174l-239.98-97.876c-7.624-3.097-12.603-10.386-12.603-18.413v-722.055c0-0.175 0.044-0.35 0.089-0.524zM589.653 216.993c6.954 6.415 16.325 10.211 26.463 10.211 16.415 0 30.497-10.036 36.057-24.175l-62.52 13.964zM695.498 193.342c-1.974 41.018-36.774 73.833-79.382 73.833-29.78 0-56.239-15.927-69.874-40.451l-234.965 52.538v519.927l609.677-136.319v-519.926l-225.457 50.399zM270.199 824.242v-547.633l-198.946-81.163v561.203l198.946 81.166v-13.573zM699.619 40.836l-582.131 130.163 175.088 71.432 582.134-130.167-175.092-71.429zM920.942 703.851l-609.708 136.319v120.177l609.708-136.319v-120.177zM71.241 874.254l198.947 81.163v-74.268l-198.947-81.163v74.268z","M552.335 508.497c0 37.488 27.351 67.879 61.091 67.879s61.091-30.39 61.091-67.879c0-37.488-27.351-67.879-61.091-67.879s-61.091 30.39-61.091 67.879z"],"width":962,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["physical-small-box-content"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":103,"id":91,"name":"physical-small-box-content","prevSize":32,"code":59712},"setIdx":1,"setId":2,"iconIdx":94},{"icon":{"paths":["M0 53.895v916.211c0 29.766 24.129 53.895 53.895 53.895h970.105c29.766 0 53.895-24.129 53.895-53.895v-808.421c0-29.765-24.129-53.895-53.895-53.895h-667.323c-20.414 0-39.075-11.533-48.205-29.792l-24.103-48.205c-9.129-18.259-27.791-29.792-48.205-29.792h-182.27c-29.765 0-53.895 24.129-53.895 53.895zM53.895 328.758c0-2.977 2.413-5.389 5.389-5.389h959.326c2.975 0 5.389 2.413 5.389 5.389v635.958c0 2.975-2.414 5.389-5.389 5.389h-959.326c-2.977 0-5.389-2.414-5.389-5.389v-635.958zM59.284 269.474c-2.977 0-5.389-2.413-5.389-5.389v-204.8c0-2.977 2.413-5.389 5.389-5.389h177.853c2.977 0 6.050 2.256 7.285 4.965 9.78 21.451 55.002 102.825 78.947 102.825h695.242c2.975 0 5.389 2.413 5.389 5.389v97.011c0 2.977-2.414 5.389-5.389 5.389h-959.326z"],"width":1078,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["folder"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":104,"id":92,"name":"folder","prevSize":32,"code":59685},"setIdx":1,"setId":2,"iconIdx":95},{"icon":{"paths":["M237.19 53.895c2.977 0 6.050 2.256 7.284 4.965 3.545 7.775 11.745 23.422 21.901 40.212 9.781 16.172 21.377 33.405 32.373 45.689 9.087 10.152 17.765 16.923 24.672 16.923h695.243c2.975 0 5.389 2.413 5.389 5.389v97.011c0 2.977-2.414 5.389-5.389 5.389h-959.327c-2.977 0-5.389-2.413-5.389-5.389v-204.8c0-2.977 2.413-5.389 5.389-5.389h177.853zM0.053 59.284v910.821c0 29.766 24.13 53.895 53.895 53.895h970.106c29.766 0 53.895-24.129 53.895-53.895v-808.421c0-29.765-24.129-53.895-53.895-53.895h-667.324c-8.090 0-15.904-1.811-22.959-5.134-10.749-5.063-19.735-13.635-25.246-24.658l-24.102-48.205c-8.984-17.968-27.2-29.424-47.233-29.784l-0.972-0.009h-182.27c-29.765 0-53.895 24.129-53.895 53.895v5.389zM59.337 323.368h959.327c2.975 0 5.389 2.413 5.389 5.389v635.958c0 2.975-2.414 5.389-5.389 5.389h-959.327c-2.977 0-5.389-2.414-5.389-5.389v-635.958c0-2.977 2.413-5.389 5.389-5.389zM565.895 700.632c44.646 0 80.842-36.196 80.842-80.842s-36.196-80.842-80.842-80.842c-44.648 0-80.842 36.196-80.842 80.842s36.194 80.842 80.842 80.842z"],"width":1078,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["folder-content"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":105,"id":93,"name":"folder-content","prevSize":32,"code":59718},"setIdx":1,"setId":2,"iconIdx":96},{"icon":{"paths":["M512 0c-12.304 0-22.26 9.957-22.26 22.261v680.526l-122.914-124.127c-8.651-8.738-22.738-8.783-31.479-0.129-8.738 8.607-8.825 22.696-0.173 31.434l161.175 162.732c0.218 0.218 0.523 0.391 0.74 0.609 0.782 0.74 1.652 1.436 2.521 2.045l0.131 0.087c0.565 0.347 1.174 0.607 1.738 0.911l0.045 0.045c0.609 0.391 1.26 0.738 1.956 1.042l0.173 0.087h-0.042l2.216 0.654c0.609 0.173 1.174 0.391 1.783 0.523l0.131 0.042c2.825 0.523 5.695 0.523 8.52 0l0.131-0.042c0.609-0.131 1.174-0.349 1.783-0.523 0.74-0.173 1.478-0.436 2.219-0.654l0.173-0.087h-0.045c0.696-0.305 1.35-0.651 1.956-1.042 0.609-0.305 1.218-0.565 1.783-0.956l0.131-0.087c0.869-0.609 1.738-1.305 2.521-2.045 0.263-0.218 0.523-0.391 0.74-0.609l0.173-0.173 161.002-162.559c4.13-4.175 6.48-9.87 6.435-15.741 0-5.913-2.392-11.566-6.609-15.738-4.175-4.133-9.87-6.48-15.741-6.435-5.913 0.042-11.563 2.392-15.738 6.609l-122.914 124.127v-680.527c0-12.305-9.959-22.26-22.263-22.26z","M1001.74 367.304h-342.83c-12.304 0-22.26 9.956-22.26 22.263 0 12.304 9.956 22.26 22.26 22.26h320.567v567.653h-934.955v-567.653c0 0 76.882 0 126.145 0 20.508 0 52.513 0 52.513 0h141.911c12.304 0 22.26-9.956 22.26-22.26 0-12.306-9.956-22.263-22.26-22.263h-342.829c-12.305 0-22.261 9.956-22.261 22.263v612.173c0 12.304 9.957 22.26 22.261 22.26h979.479c12.304 0 22.26-9.956 22.26-22.26v-612.173c0-12.306-9.956-22.263-22.26-22.263z","M78.769 498.872h105.026v26.256h-105.026v-26.256z","M105.026 551.385h52.513v26.256h-52.513v-26.256z","M945.231 498.872h-105.026v26.256h105.026v-26.256z","M918.974 551.385h-52.513v26.256h52.513v-26.256z","M236.308 393.846h39.385v630.154h-39.385v-630.154z","M761.436 393.846h39.385v630.154h-39.385v-630.154z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["archive-ingest"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":106,"id":94,"name":"archive-ingest","prevSize":32,"code":59717},"setIdx":1,"setId":2,"iconIdx":97},{"icon":{"paths":["M46.545 837.818h-23.273v23.273h23.273v-23.273zM621.549 854.277c9.086-9.090 9.086-23.827 0-32.917l-148.108-148.103c-9.090-9.090-23.825-9.090-32.914 0-9.089 9.086-9.089 23.822 0 32.912l131.651 131.649-131.651 131.649c-9.089 9.090-9.089 23.827 0 32.912 9.088 9.090 23.824 9.090 32.914 0l148.108-148.103zM46.545 861.091h558.545v-46.545h-558.545v46.545zM69.818 837.818v-837.818h-46.545v837.818h46.545z"],"width":652,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["tree-arrow"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":107,"id":95,"name":"tree-arrow","prevSize":32,"code":59716},"setIdx":1,"setId":2,"iconIdx":98},{"icon":{"paths":["M535.273 279.273c0 128.532-104.196 232.727-232.727 232.727s-232.727-104.196-232.727-232.727c0-128.532 104.196-232.727 232.727-232.727s232.727 104.196 232.727 232.727zM325.818 557.591c143.351-11.827 256-131.918 256-278.319 0-154.238-125.035-279.273-279.273-279.273s-279.273 125.035-279.273 279.273c0 146.401 112.651 266.491 256 278.319v303.5h572.179l-108.376 108.376c-9.090 9.090-9.090 23.827 0 32.912 9.086 9.090 23.822 9.090 32.912 0l148.108-148.103c9.086-9.090 9.086-23.827 0-32.917l-148.108-148.103c-9.090-9.090-23.827-9.090-32.912 0-9.090 9.086-9.090 23.822 0 32.912l108.376 108.376h-525.633v-256.954z","M326.818 252.455h110.727v47.727h-110.727v125.454h-50.727v-125.454h-110.727v-47.727h110.727v-115.909h50.727v115.909z"],"width":931,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["tree-plus"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":108,"id":96,"name":"tree-plus","prevSize":32,"code":59714},"setIdx":1,"setId":2,"iconIdx":99},{"icon":{"paths":["M390.545 314.545h-177.455v-54.909l177.455 0v54.909z","M325.818 557.591c143.351-11.827 256-131.918 256-278.319 0-154.238-125.035-279.273-279.273-279.273s-279.273 125.035-279.273 279.273c0 146.401 112.651 266.491 256 278.319v303.5h572.179l-108.376 108.376c-9.090 9.090-9.090 23.827 0 32.912 9.086 9.090 23.822 9.090 32.912 0l148.108-148.103c9.086-9.090 9.086-23.827 0-32.917l-148.108-148.103c-9.090-9.090-23.827-9.090-32.912 0-9.090 9.086-9.090 23.822 0 32.912l108.376 108.376h-525.633v-256.954zM535.273 279.273c0 128.532-104.196 232.727-232.727 232.727s-232.727-104.196-232.727-232.727c0-128.532 104.196-232.727 232.727-232.727s232.727 104.196 232.727 232.727z"],"width":931,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["tree-minus"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":109,"id":97,"name":"tree-minus","prevSize":32,"code":59715},"setIdx":1,"setId":2,"iconIdx":100},{"icon":{"paths":["M896 128v768h-768v-768h768zM956.343 18.286h-888.686c-27.429 0-49.371 21.943-49.371 49.371v888.686c0 21.943 21.943 49.371 49.371 49.371h888.686c21.943 0 49.371-27.429 49.371-49.371v-888.686c0-27.429-27.429-49.371-49.371-49.371v0zM457.143 237.714h329.143v109.714h-329.143v-109.714zM457.143 457.143h329.143v109.714h-329.143v-109.714zM457.143 676.571h329.143v109.714h-329.143v-109.714zM237.714 237.714h109.714v109.714h-109.714v-109.714zM237.714 457.143h109.714v109.714h-109.714v-109.714zM237.714 676.571h109.714v109.714h-109.714v-109.714z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["item"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":110,"id":98,"name":"item","prevSize":32,"code":59713},"setIdx":1,"setId":2,"iconIdx":101},{"icon":{"paths":["M512 1024c-282.77 0-512-229.23-512-512s229.23-512 512-512c282.77 0 512 229.23 512 512s-229.23 512-512 512zM512 972.8c254.492 0 460.8-206.308 460.8-460.8s-206.308-460.8-460.8-460.8c-254.492 0-460.8 206.308-460.8 460.8s206.308 460.8 460.8 460.8z","M395.325 683.057l175.872-173.542-175.872-173.545 54.144-53.312 230.4 226.857-230.4 226.854-54.144-53.312z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["circle-chevron"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":111,"id":99,"name":"circle-chevron","prevSize":32,"code":59711},"setIdx":1,"setId":2,"iconIdx":102},{"icon":{"paths":["M732.401 613.415h-35.444v355.63h-659.207v-916.264h458.702v183.92c0 9.964 7.757 17.723 17.721 17.723h183.921v25.48h34.304v-50.962l-211.644-211.644-518.49 0.039v987.152l730.134 0.039 0.003-391.113z","M247.155 295.432h368.949v35.444h-368.949v-35.444z","M247.155 367.458h274.78v35.447h-274.78v-35.447z","M195.050 278.805l-44.306 56.516-12.169-11.068-24.379 25.481 25.481 24.377c3.308 3.31 7.759 4.45 12.169 4.45h1.103c4.451 0 8.861-2.206 12.169-6.656l56.516-70.888-26.584-22.212z","M195.050 463.83l-44.306 56.516-12.169-11.068-24.379 25.481 25.481 24.38c3.308 3.307 7.759 4.45 12.169 4.45h1.103c4.451 0 8.861-2.206 12.169-6.656l56.516-70.891-26.584-22.212z","M138.582 688.759l-24.379 25.481 25.481 24.38c3.308 3.31 7.759 4.45 12.169 4.45h1.103c4.45 0 8.861-2.206 12.169-6.656l56.516-70.888-27.687-22.174-44.306 56.516-11.066-11.109z","M901.945 133.68c-12.172-8.861-27.687-7.759-36.548 2.205l-25.481 32.137c-2.206-1.103-5.555-1.103-7.76-1.103-4.45 1.103-8.859 3.308-12.169 6.656l-46.55 59.824c-4.45 5.553-4.45 13.312-1.104 18.826l-173.997 226.024h-351.186v35.444h323.54l-28.791 36.548-294.744 0.039v35.447h268.126l-58.719 75.341h-209.409v35.444h181.714l-24.38 31.033c-1.104 1.104-2.206 3.31-2.206 4.45v1.104h-155.095v35.444h145.135l-6.656 21.069-31.036 104.13 144.063-86.448c1.101-1.101 3.307-2.206 4.45-3.307l366.741-471.97c2.206 1.104 4.45 1.104 6.656 1.104 5.552 0 9.963-2.206 14.413-6.656l36.548-46.553 14.413 11.068-112.991 144.024 27.687 22.174 122.883-158.402c3.31-3.307 4.45-8.862 3.31-13.312-1.104-4.45-3.31-8.861-6.656-12.169l-37.653-29.932 24.38-32.137c4.45-5.553 5.555-13.312 3.307-21.070-1.101-5.553-5.552-11.068-9.963-14.415l-54.272-42.063zM419.962 811.75l-1.101-1.101c-1.104-1.104-2.206-1.104-2.206-2.206l14.413-47.655c5.555 3.307 12.169 6.656 16.619 11.068 5.555 4.45 11.068 8.862 15.518 13.312l-43.243 26.582zM873.109 289.914l-60.928-47.654 24.38-31.034 60.925 47.654-24.377 31.034z"],"width":996,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["checklist-pen"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":112,"id":100,"name":"checklist-pen","prevSize":32,"code":59710},"setIdx":1,"setId":2,"iconIdx":103},{"icon":{"paths":["M499.046 728.65c-126.4 0-229.199-102.798-229.199-229.201 0-126.4 102.899-229.199 229.199-229.199 126.401 0 229.2 102.799 229.2 229.199 0.102 126.403-102.798 229.201-229.2 229.201zM499.046 347.055c-83.999 0-152.399 68.4-152.399 152.399 0 84.101 68.4 152.401 152.399 152.401 83.996 0 152.4-68.403 152.4-152.401 0.102-84.101-68.301-152.399-152.4-152.399z","M499.558 995.76c-21.8 0-43.899-1.502-65.7-4.403-14.7-1.997-27.001-12.299-31.501-26.396-10.5-33.001-34.801-59.5-66.601-72.801-31.601-13.198-68.101-11.6-98.601 3.999-13.2 6.798-29.199 5.302-41.001-3.698-34.601-26.601-65.4-57.503-91.5-91.802-9-11.799-10.4-27.699-3.6-40.903 16-30.999 17.7-66.799 4.8-98.196-12.9-31.403-39.401-55.501-72.599-66.202-14.1-4.597-24.3-16.799-26.199-31.499-5.6-42.8-5.6-86.4 0.2-129.6 2-14.7 12.3-27 26.399-31.501 33.001-10.5 59.5-34.801 72.801-66.701 13.3-31.8 11.8-67.799-4-98.601-6.8-13.2-5.3-29.2 3.8-41.001 26.601-34.601 57.5-65.301 91.799-91.5 11.8-9 27.699-10.4 40.901-3.6 30.7 15.9 66.801 17.8 98.199 4.8 31.401-12.9 55.501-39.401 66.299-72.599 4.6-14.1 16.8-24.3 31.501-26.199 42.601-5.6 86.5-5.5 129.6 0.2 14.698 2 27.003 12.3 31.503 26.399 10.496 33.001 34.799 59.499 66.6 72.801 31.698 13.2 68.198 11.6 98.6-4 13.198-6.8 29.201-5.3 41 3.7 34.6 26.601 65.399 57.5 91.5 91.799 9 11.8 10.399 27.699 3.601 40.901-16.003 30.999-17.698 66.801-4.801 98.199 12.902 31.401 39.401 55.501 72.602 66.199 14.097 4.6 24.297 16.8 26.197 31.501 5.598 42.801 5.598 86.4-0.199 129.6-2.002 14.698-12.299 26.998-26.402 31.503-32.996 10.496-59.494 34.799-72.801 66.697-13.301 31.801-11.799 67.8 4.005 98.6 6.798 13.204 5.296 29.201-3.8 41.006-26.601 34.6-57.503 65.297-91.802 91.5-11.799 9-27.699 10.399-40.903 3.595-30.697-15.798-66.799-17.698-98.196-4.796-31.3 12.897-55.501 39.401-66.298 72.596-4.602 14.103-16.799 24.303-31.503 26.197-21.1 2.702-42.601 4.204-63.9 4.204v0zM466.058 917.561c21.8 1.695 43.599 1.798 65.4 0.097 20.6-43.401 56.198-77.699 100.503-96 44.1-18.199 93.798-19.001 138.997-2.697 16.503-14.103 32-29.503 46.302-46.205-16.1-45.096-15.002-94.697 3.698-139.395 18.603-44.703 53.003-80.501 96.398-100.902 1.701-21.8 1.803-43.699 0.102-65.4-43.401-20.601-77.699-56.2-96-100.601-18.301-44.301-19.001-93.801-2.702-139-14.097-16.5-29.497-32-46.199-46.3-44.999 16-95.095 14.8-139.401-3.7-44.698-18.6-80.497-53-100.898-96.3-21.8-1.8-43.599-1.8-65.4-0.1-20.6 43.4-56.2 77.701-100.5 96-44.101 18.2-93.801 19-139.001 2.7-16.499 14.1-32 29.499-46.3 46.201 16.1 45.099 15 94.7-3.699 139.399-18.6 44.7-53 80.499-96.399 100.9-1.7 21.8-1.801 43.699-0.1 65.401 43.399 20.6 77.701 56.197 96 100.599 18.299 44.299 19 93.804 2.7 139.002 14.1 16.498 29.499 32 46.2 46.302 45.1-16.003 95.099-14.7 139.4 3.698 44.8 18.597 80.399 52.998 100.9 96.302z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["gear"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":113,"id":101,"name":"gear","prevSize":32,"code":59709},"setIdx":1,"setId":2,"iconIdx":104},{"icon":{"paths":["M44.522 0c-24.589 0-44.522 19.933-44.522 44.522v933.1c0 24.589 19.933 44.522 44.522 44.522h986.9c24.589 0 44.522-19.932 44.522-44.522v-825.506c0-24.589-19.932-44.522-44.522-44.522h-681.123c-16.863 0-32.28-9.528-39.821-24.611l-29.186-58.372c-7.542-15.083-22.958-24.611-39.822-24.611h-196.948zM1017.691 268.986h-959.442c-2.459 0-4.452-1.994-4.452-4.452v-206.284c0-2.459 1.993-4.452 4.452-4.452h179.386c2.459 0 4.973 1.885 5.973 4.132 8.927 20.057 54.955 103.463 79.175 103.463h694.909c2.462 0 4.452 1.993 4.452 4.452v98.69c0 2.458-1.99 4.452-4.452 4.452zM638.148 632.235c0 45.911-37.22 83.127-83.131 83.127s-83.131-37.216-83.131-83.127c0-45.915 37.22-83.131 83.131-83.131s83.131 37.216 83.131 83.131z"],"width":1113,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["electronic-folder"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":114,"id":102,"name":"electronic-folder","prevSize":32,"code":59708},"setIdx":1,"setId":2,"iconIdx":105},{"icon":{"paths":["M31.030 0h527.515c0 0 124.121 135.405 186.182 186.182v806.788c0 17.138-13.892 31.030-31.030 31.030h-682.667c-17.138 0-31.030-13.892-31.030-31.030v-961.939c0-17.138 13.893-31.030 31.030-31.030zM605.091 415.030h-465.455v46.545h465.455v-46.545zM139.636 554.667v46.545h465.455v-46.545h-465.455zM605.091 694.303h-465.455v46.545h465.455v-46.545zM527.515 201.813l155.152-0.116-155.266-155.035 0.115 155.151z"],"width":745,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["electronic-file"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":115,"id":103,"name":"electronic-file","prevSize":32,"code":59707},"setIdx":1,"setId":2,"iconIdx":106},{"icon":{"paths":["M969.779 988.585c-48.67-158.195-176.331-276.393-341.852-317.165-28.969-32.341-38.916-53.513-42.214-63.708 15.477-24.245 65.214-104.489 95.979-179.226h9.365c49.25 0 85.109-28.587 85.109-78.048 0-15.317-4.561-28.292-11.791-39.317-4.028-154.586-107.43-311.121-278.426-311.121-171.821 0-264.885 148.006-272.548 300.582-12.326 12.73-20.090 29.414-20.090 49.854 0 37.95 21.203 63.462 53.231 73.316 27.511 48.196 85.449 103.804 205.011 111.61 6.065 9.611 16.207 16.292 28.337 16.292 18.923 0 34.257-15.462 34.257-34.438 0-19.023-15.381-34.438-34.257-34.438-11.014 0-20.38 5.609-26.688 13.756-44.107-2.976-77.926-13.171-104.275-26.829-21.933-48.975-40.469-99.268-42.605-132.096 56.966-23.17 222.963-93.463 281.431-148.005 0 0 24.555 87.512 79.386 121.562 0.533 6.682 0.873 13.365 0.873 20.049 0 65.414-86.129 211.369-119.319 262.044-2.571 3.951-3.639 8.732-3.008 13.414 2.231 15.853 13.683 49.903 65.022 103.364-4.998 27.025-28.241 108.049-126.257 108.489-98.308-0.489-127.661-81.122-134.891-109.122 1.263-0.292 2.428-0.83 3.785-1.073l-0.58-2.438c58.323-61.903 62.255-94.148 61.818-102.88-0.096-3.121-0.971-6.146-2.522-8.877-4.755-8.292-10.773-19.221-17.468-31.708-18.586-4.587-35.908-10.244-52.407-16.538 14.364 28.439 26.737 51.025 32.706 61.562-2.622 8.489-12.326 30.684-46.679 67.855-164.877 44.877-289.929 163.565-327.629 314.093-1.456 5.805-0.146 12 3.542 16.781 3.639 4.877 9.316 7.659 15.285 7.659h931.795c6.163 0 11.985-2.927 15.625-7.902 3.686-5.026 4.755-11.465 2.959-17.367l-0.009 0.015zM485.956 38.975c146.927 0 221.943 129.661 236.986 240.539-7.036-2.583-14.46-4.341-22.176-5.559-20.572-99.317-94.231-188.779-214.763-188.779-119.172 0-192.154 89.073-212.725 188.192-6.453 0.732-12.762 1.854-18.827 3.561 14.071-108.391 80.646-237.955 231.507-237.955l-0.002 0.002zM45.226 974.822c38.528-117.562 137.511-210.831 267.121-254.052 13.683 53.903 62.11 136.979 171.087 136.979h1.892c0.098 0 0.145-0.049 0.243-0.049 110.731-0.535 153.673-85.122 163.324-139.413 128.591 41.073 228.887 133.807 275.17 256.486l-878.838 0.049z","M1213.57 643.277h-15.418v154.679h-286.718v-398.524h199.509v79.996c0 4.335 3.375 7.708 7.708 7.708h79.996v11.083h14.921v-22.165l-92.053-92.053-225.515 0.017v429.357l317.568 0.017 0.002-170.114z","M1002.515 504.973h160.471v15.415h-160.471v-15.415z","M1002.515 536.301h119.514v15.415h-119.514v-15.415z","M979.851 497.741l-19.27 24.582-5.293-4.815-10.603 11.083 11.083 10.605c1.438 1.438 3.375 1.935 5.293 1.935h0.48c1.935 0 3.853-0.96 5.293-2.895l24.58-30.833-11.563-9.662z","M979.851 578.219l-19.27 24.58-5.293-4.813-10.603 11.083 11.083 10.603c1.438 1.44 3.375 1.937 5.293 1.937h0.48c1.935 0 3.853-0.96 5.293-2.895l24.58-30.833-11.563-9.662z","M955.292 676.049l-10.605 11.083 11.083 10.603c1.44 1.438 3.375 1.935 5.293 1.935h0.48c1.937 0 3.855-0.958 5.293-2.895l24.582-30.833-12.043-9.643-19.27 24.58-4.813-4.83z","M1287.311 434.62c-5.293-3.853-12.043-3.375-15.895 0.96l-11.083 13.978c-0.96-0.48-2.415-0.48-3.375-0.48-1.935 0.48-3.855 1.44-5.293 2.895l-20.247 26.020c-1.937 2.415-1.937 5.79-0.48 8.188l-75.68 98.308h-152.747v15.418h140.723l-12.523 15.895-128.198 0.017v15.418h116.621l-25.54 32.768h-91.081v15.418h79.036l-10.605 13.498c-0.48 0.48-0.96 1.44-0.96 1.937v0.478h-67.456v15.418h63.125l-2.895 9.165-13.5 45.291 62.66-37.6c0.48-0.48 1.438-0.96 1.935-1.44l159.511-205.28c0.96 0.48 1.937 0.48 2.895 0.48 2.417 0 4.335-0.96 6.27-2.895l15.898-20.247 6.27 4.813-49.146 62.643 12.043 9.645 53.446-68.896c1.438-1.44 1.935-3.855 1.438-5.79-0.478-1.937-1.438-3.855-2.895-5.295l-16.375-13.018 10.603-13.978c1.937-2.415 2.417-5.79 1.44-9.165-0.48-2.415-2.415-4.813-4.335-6.27l-23.605-18.295zM1077.677 729.545l-0.48-0.48c-0.48-0.48-0.96-0.48-0.96-0.96l6.27-20.727c2.415 1.44 5.293 2.895 7.228 4.815 2.417 1.935 4.815 3.853 6.75 5.79l-18.807 11.563zM1274.769 502.573l-26.5-20.725 10.605-13.5 26.5 20.727-10.605 13.498z"],"width":1323,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["support-check-list"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":116,"id":104,"name":"support-check-list","prevSize":32,"code":59704},"setIdx":1,"setId":2,"iconIdx":107},{"icon":{"paths":["M1132.769 426.376h-16.088v161.405h-299.184v-415.85h208.184v83.473c0 4.523 3.522 8.043 8.043 8.043h83.474v11.565h15.569v-23.129l-96.056-96.056-235.32 0.018v448.024l331.375 0.018 0.002-177.51z","M912.538 282.059h167.448v16.086h-167.448v-16.086z","M912.538 314.749h124.71v16.086h-124.71v-16.086z","M888.89 274.512l-20.11 25.651-5.523-5.024-11.064 11.565 11.565 11.066c1.503 1.5 3.522 2.019 5.523 2.019h0.501c2.019 0 4.023-1.002 5.523-3.021l25.651-32.174-12.065-10.082z","M888.89 358.489l-20.11 25.649-5.523-5.022-11.064 11.565 11.565 11.064c1.503 1.503 3.522 2.021 5.523 2.021h0.501c2.019 0 4.023-1.002 5.523-3.021l25.651-32.174-12.065-10.082z","M863.261 460.573l-11.066 11.565 11.565 11.064c1.503 1.5 3.522 2.019 5.523 2.019h0.501c2.021 0 4.023-1 5.523-3.021l25.651-32.174-12.566-10.062-20.108 25.649-5.022-5.040z","M1209.716 208.647c-5.523-4.022-12.566-3.521-16.587 1.001l-11.565 14.585c-1.002-0.501-2.52-0.501-3.522-0.501-2.019 0.501-4.023 1.503-5.523 3.021l-21.128 27.152c-2.021 2.52-2.021 6.042-0.501 8.544l-78.97 102.583h-159.388v16.088h146.842l-13.067 16.587-133.772 0.018v16.088h121.691l-26.651 34.193h-95.041v16.088h82.472l-11.066 14.084c-0.501 0.501-1.002 1.503-1.002 2.021v0.499h-70.389v16.088h65.87l-3.021 9.563-14.087 47.26 65.385-39.235c0.501-0.501 1.5-1.002 2.019-1.503l166.447-214.205c1.002 0.501 2.021 0.501 3.021 0.501 2.522 0 4.523-1.002 6.542-3.021l16.589-21.128 6.542 5.022-51.282 65.367 12.566 10.064 55.77-71.891c1.5-1.503 2.019-4.023 1.5-6.042-0.499-2.021-1.5-4.023-3.021-5.525l-17.087-13.584 11.064-14.585c2.021-2.52 2.522-6.042 1.503-9.563-0.501-2.52-2.52-5.022-4.523-6.542l-24.632-19.090zM990.967 516.394l-0.501-0.501c-0.501-0.501-1.002-0.501-1.002-1.002l6.542-21.629c2.52 1.503 5.523 3.021 7.542 5.024 2.522 2.019 5.024 4.020 7.043 6.042l-19.625 12.065zM1196.629 279.554l-27.652-21.626 11.066-14.087 27.652 21.629-11.066 14.084z","M334.826 1023.174c3.317 0.28 6.632 0.561 9.944 0.826h114.915c2.522-0.603 5.12-1.017 7.76-1.318 6.36-0.39 12.738-0.701 19.118-1.011 12.729-0.619 25.469-1.238 38.106-2.493 3.404-0.349 6.807-0.697 10.211-1.046 36.964-3.784 73.993-7.573 110.761-12.816 43.883-6.215 86.947-17.103 128.381-32.472 8.769-3.201 14.356-7.533 15.83-16.952 1.106-7.155 2.522-14.263 3.938-21.368 1.759-8.831 3.515-17.655 4.675-26.546 8.147-63.136 6.518-125.591-16.76-186.090-20.251-52.734-56.721-89.576-112.121-108.41-25.064-8.437-49.582-18.532-73.715-29.155-29.678-12.882-57.38-29.758-82.247-50.062-21.357 20.409-42.776 34.921-64.214 43.56l30.729 245.831-66.783 66.783-77.913-66.783 30.239-241.907c-25.032-7.738-50-23.465-74.834-47.146-3.143 2.246-6.142 4.443-9.065 6.585-5.554 4.067-10.828 7.932-16.268 11.536-41.748 27.762-87.994 46.369-135.404 62.569-36.547 12.13-67.623 36.163-87.952 68.069-18.39 28.251-28.943 59.441-34.53 92.289-10.359 61.099-7.216 121.669 7.1 181.94 1.785 7.76 5.82 12.206 13.424 14.427 8.977 2.629 17.911 5.416 26.845 8.203 18.094 5.648 36.187 11.293 54.628 15.605 66.028 15.445 133.421 21.773 201.123 25.54 8.041 0.454 16.063 1.133 24.080 1.812z","M415.679 0c13.851 1.769 27.477 4.93 40.686 9.409 30.6 10.689 58.415 28.115 81.337 51.036 11.97 11.969 21.379 21.604 28.378 37.826 8.47 19.685 8.281 37.524 8.092 47.197-0.301 16.674-5.645 61.499-6.85 73.769-0.563 5.307-0.49 9.409 4.365 12.722 8.695 5.946 9.185 15.204 8.319 24.313h-0.076c-1.805 22.13-8.279 43.582-18.931 63.043-6.097 10.99-7.905 24.313-12.119 36.432-12.722 36.207-34.026 93.453-85.326 119.804-18.744 9.258-39.333 14.113-60.222 14.189-11.591 0-34.778 0-59.016-13.361-11.291-6.173-17.991-12.796-27.325-21.566h-0.038c-21.905-20.776-39.293-45.804-51.113-73.543-7.413-16.936-12.043-34.927-18.405-52.315-2.257-6.249-5.87-11.97-8.806-17.953l0.038 0.038c-9.71-19.158-14.679-40.31-14.527-61.763 0.073-6.776 1.881-12.722 7.678-16.938 5.042-3.613 5.532-8.168 4.517-14.075h-0.038c-5.12-28.153-7.115-56.757-6.024-85.286 1.507-33.46 20.703-58.338 31.428-72.113 16.411-20.249 37.414-36.282 61.313-46.708v0.038c13.851-6.097 28.492-10.237 43.509-12.307l49.156-1.884z"],"width":1247,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["admin-check-list"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":117,"id":105,"name":"admin-check-list","prevSize":32,"code":59705,"codes":[59705]},"setIdx":1,"setId":2,"iconIdx":108},{"icon":{"paths":["M715.651 76.603h534.437c6.106 0 11.041 4.936 11.041 11.042v359.166c0 6.104-4.935 11.041-11.041 11.041h-534.437c-6.106 0-11.044-4.937-11.044-11.041v-359.166c0-6.106 4.937-11.042 11.044-11.042zM1239.073 98.658h-512.378v337.107h512.378v-337.107z","M847.126 615.175c-3.566 4.937-2.482 11.814 2.453 15.38 4.937 3.566 11.812 2.482 15.38-2.453l117.927-162.549 117.927 162.549c3.566 4.935 10.472 6.019 15.38 2.453 4.935-3.566 6.019-10.472 2.453-15.38l-126.482-174.329c-0.712-1.142-1.654-2.141-2.823-2.967-4.937-3.566-11.843-2.482-15.409 2.453v0l-126.807 174.844z","M801.135 168.527c-6.106 0-11.044 4.936-11.044 11.042s4.937 11.042 11.044 11.042h293.082c6.106 0 11.041-4.936 11.041-11.042s-4.935-11.042-11.041-11.042h-293.082z","M801.135 227.45c-6.106 0-11.044 4.937-11.044 11.041 0 6.106 4.937 11.044 11.044 11.044h311.775c6.106 0 11.041-4.937 11.041-11.044 0-6.104-4.935-11.041-11.041-11.041h-311.775z","M801.135 286.339c-6.106 0-11.044 4.935-11.044 11.041s4.937 11.041 11.044 11.041h363.473c6.106 0 11.041-4.935 11.041-11.041s-4.935-11.041-11.041-11.041h-363.473z","M343.243 1024c-11.329-0.906-22.657-1.997-34.024-2.638-67.702-3.767-135.095-10.095-201.123-25.54-27.545-6.44-54.316-15.859-81.473-23.808-7.604-2.222-11.639-6.667-13.424-14.427-14.316-60.271-17.458-120.841-7.1-181.94 5.587-32.848 16.139-64.038 34.529-92.289l0.039-0.038c20.291-31.869 51.367-55.901 87.914-68.031 47.409-16.199 93.655-34.807 135.402-62.569 8.303-5.501 16.217-11.602 25.335-18.12 73.715 70.291 148.631 70.518 222.773-0.338 24.87 20.304 52.571 37.18 82.249 50.062 24.133 10.623 48.651 20.718 73.715 29.155 55.401 18.835 91.871 55.677 112.121 108.41 23.278 60.498 24.908 122.953 16.76 186.090-2.095 16.046-6.128 31.869-8.613 47.914-1.474 9.419-7.061 13.751-15.83 16.952l0.040 0.038c-41.474 15.331-84.538 26.219-128.421 32.434-40.156 5.725-80.62 9.719-120.972 13.862-18.973 1.883-38.177 2.335-57.224 3.504-2.64 0.301-5.238 0.715-7.76 1.318h-114.915z","M414.152 0c13.851 1.769 27.477 4.93 40.686 9.409 30.6 10.689 58.415 28.115 81.337 51.036 11.97 11.969 21.379 21.604 28.378 37.826 8.468 19.685 8.281 37.524 8.092 47.197-0.301 16.674-5.645 61.499-6.85 73.769-0.563 5.307-0.49 9.409 4.365 12.722 8.695 5.946 9.185 15.204 8.319 24.313h-0.076c-1.805 22.13-8.279 43.582-18.931 63.043-6.097 10.99-7.905 24.313-12.119 36.432-12.722 36.207-34.026 93.453-85.326 119.804-18.744 9.258-39.333 14.113-60.222 14.189-11.591 0-34.778 0-59.016-13.361-11.293-6.173-17.991-12.796-27.325-21.566h-0.038c-21.905-20.776-39.293-45.804-51.113-73.543-7.413-16.936-12.043-34.927-18.405-52.315-2.257-6.249-5.87-11.97-8.806-17.953l0.038 0.038c-9.71-19.158-14.679-40.31-14.53-61.763 0.076-6.776 1.883-12.722 7.68-16.938 5.042-3.613 5.532-8.168 4.517-14.075h-0.038c-5.12-28.153-7.115-56.757-6.024-85.286 1.507-33.46 20.703-58.338 31.428-72.113 16.411-20.249 37.414-36.282 61.313-46.708v0.038c13.851-6.097 28.492-10.237 43.509-12.307l49.156-1.884z"],"width":1269,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["user-board"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":118,"id":106,"name":"user-board","prevSize":32,"code":59706},"setIdx":1,"setId":2,"iconIdx":109},{"icon":{"paths":["M654.222 1017.68l654.222-508.84-654.222-508.839-654.222 508.839 118.487 92.317 535.735 416.523z"],"width":1308,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["layer"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":119,"id":107,"name":"layer","prevSize":32,"code":59701},"setIdx":1,"setId":2,"iconIdx":110},{"icon":{"paths":["M470.516 865.665l-385.729-299.893-84.787 65.946 471.040 366.363 471.040-366.363-85.311-66.47-386.253 300.417zM471.040 732.729l471.040-366.365-471.040-366.364-471.040 366.364 85.311 66.468 385.729 299.897z"],"width":942,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["layers"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":120,"id":108,"name":"layers","prevSize":32,"code":59702},"setIdx":1,"setId":2,"iconIdx":111},{"icon":{"paths":["M513.054 1.931c-135.279 0-265.004 53.722-360.662 149.39-95.612 95.667-149.39 225.393-149.39 360.662 0 135.266 53.777 265.003 149.39 360.661 95.667 95.667 225.393 149.389 360.662 149.389 135.266 0 265.003-53.722 360.661-149.389 95.667-95.667 149.389-225.395 149.389-360.661-0.166-135.223-53.943-264.89-149.559-360.506s-225.28-149.39-360.508-149.561l0.017 0.014zM513.054 968.717c-121.112 0-237.285-48.111-322.945-133.777-85.611-85.666-133.777-201.83-133.777-322.944 0-121.118 48.167-237.286 133.777-322.946 85.666-85.666 201.827-133.777 322.945-133.777 121.114 0 237.282 48.111 322.944 133.777 85.666 85.666 133.777 201.827 133.777 322.946-0.166 121.109-48.277 237.167-133.948 322.773-85.611 85.611-201.668 133.777-322.773 133.943v0.004z","M539.221 419h-97.442v48.388h42.999v180.608h-42.999v48.333h140.442v-48.333h-42.999v-228.996z","M510.050 357.653c8.725 0.167 17.169-3.333 23.279-9.556 6.387-6.055 9.89-14.499 9.779-23.333 0.166-8.778-3.392-17.222-9.779-23.278-6.165-6.167-14.554-9.556-23.279-9.389-8.943-0.278-17.553 3.278-23.667 9.777-12.497 12.778-12.497 33.222 0 46.001 6.17 6.5 14.724 10.055 23.667 9.777v-0.001z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["info-circle"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":121,"id":109,"name":"info-circle","prevSize":32,"code":59703},"setIdx":1,"setId":2,"iconIdx":112},{"icon":{"paths":["M432.006 88.615l-409.299 708.923c-53.057 91.896 13.265 206.769 119.378 206.769h818.596c106.11 0 172.434-114.873 119.375-206.769l-409.297-708.923c-53.055-91.898-185.698-91.897-238.753 0zM483.167 118.154c30.318-52.513 106.114-52.513 136.432 0l409.297 708.923c30.318 52.512-7.578 118.154-68.214 118.154h-818.596c-60.637 0-98.534-65.642-68.216-118.154l409.297-708.923zM521.846 305.231c0-16.314 13.225-29.538 29.538-29.538s29.538 13.225 29.538 29.538v334.769c0 16.313-13.225 29.538-29.538 29.538s-29.538-13.225-29.538-29.538v-334.769zM521.846 777.846c0-16.313 13.225-29.538 29.538-29.538s29.538 13.225 29.538 29.538v19.692c0 16.313-13.225 29.538-29.538 29.538s-29.538-13.225-29.538-29.538v-19.692z"],"width":1103,"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":[""],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[{}]}},"attrs":[{}],"properties":{"order":122,"id":110,"name":"danger","prevSize":32,"code":59698},"setIdx":1,"setId":2,"iconIdx":113},{"icon":{"paths":["M768 362.667h-42.667v-85.333c0-117.76-95.573-213.333-213.333-213.333s-213.333 95.573-213.333 213.333v85.333h-42.667c-46.933 0-85.333 38.4-85.333 85.333v426.667c0 46.933 38.4 85.333 85.333 85.333h512c46.933 0 85.333-38.4 85.333-85.333v-426.667c0-46.933-38.4-85.333-85.333-85.333zM512 746.667c-46.933 0-85.333-38.4-85.333-85.333s38.4-85.333 85.333-85.333c46.933 0 85.333 38.4 85.333 85.333s-38.4 85.333-85.333 85.333zM384 277.333c0-70.827 57.173-128 128-128s128 57.173 128 128v85.333h-256v-85.333z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":[""],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":123,"id":111,"name":"lock","prevSize":32,"code":59699},"setIdx":1,"setId":2,"iconIdx":114},{"icon":{"paths":["M297.551 375.321l-1.934 3.35-35.729-20.628c-10.502-6.028-23.48-5.671-33.38 0.999-9.926 6.655-14.979 18.426-13.053 30.25l25.026 154.777c1.505 9.348 7.232 17.609 15.53 22.4s18.316 5.619 27.163 2.249l146.627-55.671c11.217-4.271 18.876-14.575 19.674-26.496 0.777-11.938-5.431-23.373-15.987-29.431l-35.648-20.582 1.934-3.349c24.085-41.78 63.846-72.377 110.831-85.236 46.976-12.899 97.481-7.081 140.804 16.224 43.345 23.279 76.087 62.209 91.358 108.531 15.245 46.31 11.767 96.393-9.673 139.631-21.427 43.209-59.179 76.186-105.233 91.925-46.025 15.753-96.742 13.018-141.393-7.633-14.831-6.852-32.333-1.429-40.26 12.484l-25.804 44.693c-4.332 7.445-5.308 16.405-2.662 24.704 2.631 8.32 8.649 15.215 16.57 19.055 71.616 34.577 153.583 40.311 228.407 15.966 74.829-24.35 136.593-76.86 172.113-146.33 35.503-69.444 41.95-150.37 17.997-225.463-23.966-75.14-76.489-138.473-146.325-176.561s-151.484-47.894-227.511-27.316c-76.031 20.581-140.418 69.932-179.439 137.454l-0.003 0.007z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":[""],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":124,"id":112,"name":"refresh","prevSize":32,"code":59700},"setIdx":1,"setId":2,"iconIdx":115},{"icon":{"paths":["M58.081 677.369c9.831-2.396 15.826-12.372 13.428-22.203-8.008-32.465-12.229-66.417-12.229-101.424 0-116.627 47.139-222.081 123.44-298.564 76.152-76.295 181.175-123.439 297.324-123.623l-41.77 65.746c-5.418 8.536-2.924 19.901 5.612 25.368 8.536 5.418 19.854 2.925 25.32-5.659l56.78-89.484c2.062-2.014 3.643-4.46 4.603-7.289l5.275-8.296-6.617-6.666c-1.584-2.734-3.884-4.987-6.617-6.618l-74.427-75.002c-7.145-7.193-18.751-7.193-25.896-0.048-7.193 7.145-7.193 18.75-0.048 25.944h-0.048l45.268 45.557c-246.866 7.049-444.873 209.558-444.873 458.586 0 37.981 4.652 74.859 13.331 110.201 2.398 9.88 12.324 15.874 22.155 13.476l-0.011-0.002z","M761.767 868.368c-74.618 66.945-173.024 107.609-281.070 107.609-160.022 0.048-299.188-89.338-370.6-220.975l77.782 5.084c10.070 0.671 18.798-7.002 19.469-17.121 0.671-10.117-7.001-18.846-17.072-19.515l-124.017-8.106-35.103 119.455c-2.829 9.735 2.686 19.95 12.42 22.781 9.687 2.876 19.901-2.687 22.779-12.42l18.127-61.622c79.125 136.907 226.869 229.128 396.198 229.176 117.346 0 224.525-44.262 305.573-116.961 7.53-6.761 8.153-18.366 1.39-25.896-6.761-7.625-18.318-8.249-25.896-1.486l0.018-0.002z","M935.601 794.61l-69.389 7.002c45.891-71.5 72.556-156.624 72.556-247.874-0.048-213.452-145.403-392.847-342.453-444.212-9.83-2.542-19.804 3.309-22.346 13.14s3.356 19.854 13.139 22.395c181.175 47.236 315.014 212.297 314.964 408.623 0 84.833-24.936 163.717-67.855 229.852l-23.163-69.68c-3.213-9.591-13.571-14.816-23.161-11.605-9.591 3.213-14.818 13.571-11.605 23.211l33.376 100.418c0.241 2.733 1.151 5.418 2.59 7.817l3.311 9.926 11.077-1.151c1.868 0.146 3.739-0.096 5.514-0.576l107.083-10.788c10.072-1.008 17.408-10.024 16.402-20.093-0.96-10.022-9.928-17.408-20.045-16.4l0.005-0.002z","M494.287 654.261c-50.558 0-91.68-41.122-91.68-91.68 0-50.561 41.16-91.68 91.68-91.68 50.561 0 91.68 41.119 91.68 91.68 0.041 50.558-41.119 91.68-91.68 91.68zM494.287 501.623c-33.599 0-60.96 27.359-60.96 60.96 0 33.64 27.361 60.96 60.96 60.96 33.601 0 60.96-27.361 60.96-60.96 0.041-33.642-27.32-60.96-60.96-60.96z","M494.492 761.105c-8.72 0-17.558-0.601-26.278-1.761-5.88-0.799-10.802-4.92-12.602-10.559-4.198-13.2-13.92-23.8-26.64-29.12-12.641-5.282-27.241-4.64-39.44 1.6-5.279 2.719-11.68 2.119-16.4-1.481-13.84-10.64-26.16-22.999-36.6-36.718-3.6-4.72-4.16-11.080-1.44-16.361 6.401-12.4 7.079-26.72 1.921-39.278-5.161-12.561-15.76-22.2-29.041-26.481-5.639-1.839-9.719-6.72-10.479-12.6-2.239-17.121-2.239-34.561 0.080-51.839 0.801-5.88 4.92-10.802 10.559-12.602 13.2-4.198 23.8-13.92 29.123-26.679 5.318-12.72 4.72-27.12-1.602-39.442-2.719-5.279-2.119-11.678 1.52-16.4 10.64-13.84 23.001-26.119 36.721-36.6 4.72-3.6 11.080-4.16 16.361-1.438 12.279 6.358 26.72 7.118 39.278 1.918 12.561-5.159 22.2-15.76 26.519-29.038 1.841-5.641 6.72-9.721 12.602-10.481 17.039-2.239 34.6-2.198 51.839 0.082 5.88 0.799 10.8 4.92 12.6 10.559 4.201 13.2 13.92 23.8 26.64 29.12 12.682 5.279 27.282 4.64 39.44-1.6 5.282-2.719 11.68-2.121 16.402 1.479 13.84 10.64 26.16 23.001 36.6 36.721 3.6 4.72 4.16 11.080 1.438 16.361-6.399 12.4-7.079 26.72-1.918 39.278 5.159 12.561 15.76 22.2 29.038 26.481 5.641 1.839 9.721 6.72 10.479 12.6 2.241 17.119 2.241 34.559-0.080 51.839-0.799 5.88-4.92 10.8-10.559 12.6-13.2 4.201-23.8 13.922-29.12 26.681-5.32 12.72-4.72 27.12 1.6 39.44 2.719 5.282 2.121 11.68-1.52 16.402-10.64 13.84-23.001 26.119-36.721 36.598-4.72 3.6-11.080 4.162-16.359 1.44-12.281-6.319-26.722-7.079-39.281-1.921-12.52 5.161-22.2 15.76-26.519 29.041-1.841 5.641-6.72 9.721-12.6 10.479-8.44 1.081-17.042 1.682-25.561 1.682v0zM481.093 729.823c8.72 0.68 17.44 0.721 26.16 0.041 8.24-17.36 22.48-31.080 40.2-38.4 17.64-7.28 37.519-7.6 55.601-1.081 6.599-5.639 12.8-11.799 18.518-18.48-6.44-18.038-5.998-37.879 1.481-55.76 7.439-17.879 21.199-32.199 38.559-40.359 0.68-8.72 0.719-17.479 0.039-26.16-17.358-8.24-31.080-22.48-38.4-40.241-7.318-17.72-7.598-37.519-1.079-55.599-5.641-6.601-11.799-12.8-18.48-18.521-18 6.401-38.040 5.921-55.76-1.479-17.881-7.441-32.199-21.201-40.359-38.521-8.72-0.719-17.44-0.719-26.162-0.041-8.24 17.36-22.478 31.082-40.2 38.4-17.64 7.282-37.519 7.6-55.599 1.081-6.601 5.641-12.8 11.799-18.521 18.48 6.44 18.041 6.001 37.881-1.479 55.76-7.441 17.879-21.201 32.199-38.562 40.359-0.678 8.72-0.719 17.481-0.039 26.16 17.36 8.242 31.080 22.48 38.4 40.241 7.32 17.72 7.6 37.522 1.079 55.601 5.641 6.599 11.801 12.8 18.482 18.518 18.038-6.399 38.038-5.88 55.758 1.481 17.92 7.439 32.16 21.199 40.362 38.518z"],"width":956,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":[""],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":125,"id":113,"name":"cycle-gear","prevSize":32,"code":59697},"setIdx":1,"setId":2,"iconIdx":116},{"icon":{"paths":["M447.488 1.434c-18.022 2.253-62.669 11.674-80.691 16.998-43.008 12.902-100.762 39.526-137.421 63.488-57.549 37.683-111.002 90.726-149.709 148.48-17.613 26.214-45.056 79.872-56.115 110.387-9.216 25.19-21.094 71.27-22.528 86.835l-0.819 11.674 1.843-10.24c9.83-49.357 20.89-84.992 38.707-124.109 77.824-171.213 241.664-287.13 429.261-303.514 4.915-0.41 3.277-0.819-4.096-0.819-6.758 0-14.95 0.41-18.432 0.819z","M549.888 1.229c3.482 0.41 14.95 1.843 25.6 3.072 37.888 4.301 84.787 16.179 121.651 30.925 44.851 17.818 102.4 50.586 133.12 75.776 20.685 17.203 38.093 32.973 37.069 33.997-0.41 0.614-6.963-4.506-14.131-11.469-59.187-55.296-147.661-100.557-232.653-118.989-52.019-11.059-124.314-14.131-175.104-7.373-117.555 15.565-220.16 67.379-303.104 152.781-71.475 73.523-115.712 159.13-135.578 261.939-4.506 23.757-5.325 34.816-6.349 78.438-1.024 55.091 0.41 73.318 9.216 116.122 15.155 75.776 56.525 161.382 106.086 219.75 7.578 8.806 13.107 16.589 12.698 16.998-1.638 1.638-33.792-39.526-47.718-60.621-38.912-59.392-64.307-122.061-77.619-191.693-2.662-14.541-2.867-14.95-2.048-4.506 2.458 27.034 16.589 75.366 34.202 116.326 47.104 109.978 134.144 202.957 240.435 257.024 57.754 29.286 126.362 50.586 172.851 53.248 14.746 0.819 14.541 0.819-5.12-2.048-93.389-13.517-183.501-52.634-256.614-111.411-11.674-9.421-20.685-17.408-20.070-18.022 0.41-0.614 8.192 5.12 16.998 12.698 36.045 31.13 104.243 70.451 150.118 86.835 64.102 22.733 122.675 32.154 190.464 30.31 46.285-1.229 72.909-4.915 115.712-15.77 171.827-43.827 310.886-176.947 362.496-347.546 35.021-115.507 25.6-248.627-25.395-357.786-20.48-43.827-54.067-94.822-81.92-124.723-7.168-7.578-12.698-14.336-12.083-14.746 1.024-1.024 16.794 16.384 33.997 37.069 17.408 21.299 39.936 57.754 56.73 91.955 24.166 48.947 37.683 89.907 46.080 140.288 2.048 11.878 3.891 18.637 3.891 14.95 0.205-9.421-6.963-45.875-14.131-70.656-14.336-50.176-45.056-114.688-73.318-154.214-25.395-35.43-69.427-81.92-103.424-109.363-37.274-30.106-89.907-60.006-138.445-79.053-42.394-16.384-96.461-29.082-132.301-30.72-10.035-0.41-15.565-0.41-12.288 0.205zM540.058 194.355c128.41 24.986 230.195 124.518 256.614 250.88 21.094 100.557-5.939 203.981-72.909 280.576-57.344 65.741-134.349 103.219-227.533 110.797l-16.998 1.434v-130.458l11.878-0.614c81.101-3.891 154.624-63.898 176.947-144.794 3.686-13.926 4.506-21.504 4.506-50.176 0-30.72-0.614-35.43-5.53-51.814-11.059-36.25-27.443-62.464-56.115-89.498-30.515-29.082-68.403-46.49-110.797-51.61l-20.89-2.458v-128.819l20.070 1.229c10.854 0.614 29.286 3.072 40.755 5.325zM475.136 384v62.464h-125.952v-124.928h125.952v62.464zM346.112 513.024v62.464h-126.976v-124.928h126.976v62.464zM475.136 642.048v62.464h-125.952v-124.928h125.952v62.464z","M481.28 252.723v62.669h8.806c4.71 0 16.998 1.843 27.238 3.891 84.378 17.408 148.275 87.245 158.515 172.851 7.578 64.717-20.89 131.686-74.342 174.49-29.082 23.347-63.488 37.683-100.352 42.189l-19.866 2.458v123.29l22.733-1.434c82.534-5.734 160.358-44.237 217.498-107.93 34.202-38.093 58.982-87.245 72.499-143.565 6.144-26.624 8.602-80.691 4.915-109.568-9.421-70.861-41.779-136.806-91.341-186.368-56.32-55.91-126.157-87.654-208.282-94.208l-18.022-1.434v62.669zM531.456 197.837c51.405 8.192 99.942 29.082 143.974 62.054 20.48 15.565 53.862 50.176 66.97 69.837 23.552 35.021 43.213 82.33 51.61 123.904 5.734 28.262 5.12 94.822-1.024 123.29-13.722 63.078-42.598 116.736-86.426 160.358-56.115 56.32-125.133 87.859-203.776 93.389l-19.456 1.434v-118.784l20.48-2.662c50.381-6.349 94.003-30.72 128.41-71.68 49.562-59.187 61.030-138.65 29.491-205.824-31.13-66.56-95.027-113.459-161.997-118.989l-16.384-1.434v-119.808l13.926 1.024c7.578 0.41 22.938 2.253 34.202 3.891z","M352.256 384v60.416h120.832v-120.832h-120.832v60.416zM471.040 384v58.368h-116.736v-116.736h116.736v58.368z","M221.184 513.024v60.416h121.856v-120.832h-121.856v60.416zM339.968 513.024v58.368l-57.754-0.41-57.958-0.614-0.614-55.296c-0.205-30.31 0-56.32 0.614-57.754 0.614-2.048 13.926-2.662 58.368-2.662h57.344v58.368z","M352.256 642.048v60.416h120.832v-120.832h-120.832v60.416zM471.040 641.434v57.958l-116.736-1.229v-114.483h116.736v57.754z","M1019.29 597.402c-12.902 80.896-52.429 168.141-106.906 235.52-29.491 36.659-78.848 81.715-116.736 106.291-66.56 43.213-140.902 71.27-216.064 81.51-12.493 1.638-18.022 2.867-12.902 3.072 22.733 0.614 88.064-14.95 128.614-30.72 69.427-26.829 129.229-65.946 182.272-119.398 51.61-52.019 87.040-105.267 114.483-172.237 16.384-40.55 33.382-105.472 31.539-121.037-0.41-3.072-2.253 4.506-4.301 16.998z"],"attrs":[{},{},{},{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["docuware-logo"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[{},{},{},{},{},{},{}]}},"attrs":[{},{},{},{},{},{},{}],"properties":{"order":126,"id":114,"name":"docuware-logo","prevSize":32,"code":59695},"setIdx":1,"setId":2,"iconIdx":117},{"icon":{"paths":["M490.701 30.925c-13.312 2.253-52.838 15.36-65.536 21.709s-29.286 18.637-39.322 28.672c-12.902 13.312-23.347 27.443-23.347 31.744 0 3.891-0.819 4.096-9.626 2.867-37.069-5.12-62.054-2.662-103.219 10.035-17.818 5.53-27.034 9.83-38.707 17.818-23.142 15.974-36.25 27.648-49.357 44.032-11.059 14.131-27.648 41.574-29.491 49.152-0.614 2.048-3.277 11.469-6.144 21.094-7.578 25.19-10.24 53.043-7.373 75.162l2.253 18.022-6.554 5.734c-24.576 20.685-34.816 30.515-42.189 40.346-10.854 14.95-24.371 40.346-26.010 48.742-0.614 3.686-3.482 13.722-6.554 22.528-4.915 14.541-5.53 18.432-5.53 49.562-0.205 31.334 0.205 35.021 5.53 52.634 3.072 10.24 6.144 21.299 6.758 24.371 1.638 8.602 16.179 35.43 24.986 45.875 16.589 20.070 37.069 38.912 43.418 40.141l6.349 1.434-1.638 11.469c-0.819 6.349-1.434 22.528-1.229 36.045 0.41 23.757 1.843 31.744 12.698 69.632 3.277 11.469 21.709 41.779 34.816 57.549 12.493 14.746 37.069 35.635 42.189 35.635 1.229 0 4.301 1.843 6.963 4.301 6.554 6.144 28.058 15.36 49.971 21.709 16.794 4.71 22.938 5.325 55.706 5.734l36.864 0.614 7.782 9.83c4.301 5.53 13.926 16.384 21.504 23.962 11.878 12.083 17.203 15.77 42.394 27.853 38.093 18.637 57.139 23.347 95.027 23.142 43.213 0 65.946-6.349 112.845-31.334 4.915-2.662 18.022-13.722 28.877-24.371 15.155-14.746 20.070-20.89 20.685-25.6 0.614-5.939 1.024-6.144 8.806-5.12 4.506 0.614 21.504 1.024 37.888 0.819 25.395 0 32.563-0.819 49.357-5.53 22.323-5.939 56.73-22.528 73.728-35.635 12.698-9.626 33.997-31.949 36.659-38.502 1.843-4.506 15.155-27.443 18.022-30.925 3.686-4.096 11.059-26.829 14.95-45.466 4.096-19.251 5.53-58.368 2.867-72.909-1.229-6.349-0.819-7.373 7.578-13.107 9.421-6.554 41.37-39.117 39.731-40.755-0.41-0.41 1.229-3.072 3.891-5.939 13.926-14.95 30.515-60.621 34.202-94.208 4.301-40.346-4.506-85.197-23.962-121.242-4.301-7.578-9.011-16.179-10.445-19.251-6.349-11.674-39.936-42.598-46.49-42.598h-4.915l0.819-32.358c0.819-27.443 0.41-35.226-3.482-53.658-5.734-27.853-13.312-47.309-25.19-63.898-5.325-7.373-9.011-13.926-8.397-14.541s-6.144-8.602-14.95-18.022c-36.864-38.707-89.293-61.44-142.95-62.054-12.288-0.205-26.624 0.41-31.744 1.229l-9.216 1.638-12.698-15.155c-20.48-24.576-64.102-57.958-69.018-53.043-0.614 0.819-1.229 0.205-1.229-1.024 0-1.434-0.614-2.253-1.434-2.048-1.024 0.205-9.011-2.048-18.022-5.12s-22.938-6.963-30.72-8.602c-15.36-3.277-52.634-3.686-69.427-0.819zM552.346 47.309c11.059 2.458 24.371 5.939 29.696 8.192 9.626 3.686 37.274 19.661 45.261 26.214 8.397 6.758 25.19 23.962 30.106 30.925 2.662 3.891 5.53 7.578 6.144 8.192s2.662 3.482 4.506 6.349l3.482 5.53-18.842 9.011c-52.224 25.395-86.63 66.56-101.99 122.061-4.096 14.541-4.506 21.914-5.325 92.57-0.41 42.189-1.229 79.462-1.638 82.944-1.024 5.939-1.434 6.144-11.878 6.144-5.734 0-11.264 0.819-12.083 2.048-0.819 1.024-1.638-34.406-1.638-79.053 0-90.726-1.229-103.834-13.107-135.168-12.902-34.611-36.25-66.355-65.536-89.702-14.541-11.674-43.622-27.648-53.862-29.901-3.686-0.819-6.758-2.048-6.758-2.867 0-2.253 22.118-24.576 31.744-32.154 18.637-14.541 45.466-26.214 71.68-31.539 24.986-5.12 46.080-4.915 70.042 0.205zM348.57 131.277c9.83 2.048 11.878 3.072 10.65 5.734-12.288 28.467-17.203 52.429-17.203 83.558 0 37.478 10.65 72.704 30.925 102.4 3.686 5.325 30.925 34.406 60.621 64.512s53.862 56.115 53.862 57.549c0 1.638-2.867 4.096-6.144 5.53-3.482 1.434-7.168 4.096-8.192 5.939-2.048 3.891-0.614 5.12-70.656-63.488-47.718-46.49-63.078-58.573-91.136-70.656-30.31-13.107-44.237-15.77-81.92-15.974-30.925-0.205-35.43 0.205-54.067 5.53-11.059 3.072-24.371 7.373-29.491 9.626l-9.216 4.096 1.229-24.986c0.614-13.926 2.662-30.72 4.506-37.478 2.048-6.758 3.686-13.312 3.891-14.336 0.205-1.229 0.819-3.072 1.434-4.096 0.819-1.229 1.843-4.915 2.662-8.192 2.048-8.806 19.866-37.888 22.323-36.454 1.229 0.614 1.434 0.205 0.614-1.024-1.638-2.867 22.528-27.648 37.683-38.912 37.478-27.238 89.702-38.298 137.626-28.877zM762.675 132.096c36.045 9.011 60.006 22.528 85.197 48.128 34.611 34.816 51.2 75.571 51.2 124.928 0 52.019-15.36 90.931-49.971 125.747-25.805 26.214-58.778 43.418-96.461 50.381-8.192 1.434-45.056 2.048-109.363 1.638l-96.87-0.614 66.355-67.584c36.454-37.274 70.042-73.114 74.752-79.872 27.238-40.55 39.322-90.112 33.382-137.626-2.458-20.685-9.83-47.104-16.589-60.416-2.253-4.301-3.891-8.192-3.891-8.806s9.626-1.024 21.299-1.024c15.77 0 26.214 1.229 40.96 5.12zM146.227 367.002c8.397 24.166 32.358 56.525 55.706 75.162 18.227 14.746 46.285 29.082 69.427 35.226 15.155 4.301 22.528 4.71 98.918 5.734 76.39 1.229 82.944 1.434 85.402 4.915 2.048 2.867 2.048 5.12 0.205 10.24-4.301 12.083-0.614 11.674-86.221 11.674-87.45 0-95.437 0.819-128.41 13.107-39.526 14.95-76.595 44.851-100.762 81.306-6.349 9.83-12.698 18.842-14.131 19.866-3.072 2.662-19.251-0.205-27.853-4.506-3.277-1.843-8.397-5.939-11.264-9.626-9.011-10.854-28.672-53.658-29.901-65.741-0.205-0.819-1.434-5.939-3.072-11.264-1.638-5.53-3.072-15.565-3.072-22.323 0-16.589 5.325-46.49 10.24-57.754 2.253-5.12 4.506-11.059 4.915-13.517 1.229-6.349 5.734-15.565 7.782-15.565 0.819 0 1.638-1.229 1.638-2.867 0-10.65 53.862-64.717 64.512-64.717 1.229 0 3.891 4.915 5.939 10.65zM933.069 383.59c32.358 33.997 48.947 71.475 51.405 115.507 2.253 40.96-8.397 78.234-32.154 113.254-14.336 20.89-51.61 53.043-58.573 50.381-3.072-1.229-15.36 5.734-16.794 9.421-0.41 1.024-1.638 1.229-2.662 0.41-1.024-0.614-1.843-0.205-1.843 1.024 0 2.867-22.938 9.626-43.008 12.698-41.574 5.939-92.365-6.963-126.362-32.358-5.734-4.506-41.574-38.707-79.462-75.981l-68.813-67.994h88.678c108.749 0 125.133-2.048 164.659-19.456 26.624-11.674 58.778-37.888 78.029-63.283 9.011-11.878 29.286-50.586 29.286-56.115 0-4.915 3.686-2.253 17.613 12.493zM489.882 535.552c0.614 0.614-28.262 30.31-63.693 66.15-67.584 67.789-79.872 82.33-93.389 111.616-15.155 32.768-21.504 71.475-17.408 106.086 2.458 21.094 9.83 50.586 15.36 61.235 5.53 10.854 5.325 10.854-23.962 9.626-31.539-1.229-44.646-4.506-70.451-16.794-53.658-25.805-89.088-73.933-99.328-134.963-3.686-21.709 0.614-72.909 6.144-72.909 0.614 0 1.434-2.867 1.638-6.144 0.819-10.035 15.974-38.707 30.106-56.525 16.384-20.685 37.683-37.683 61.645-49.152 34.202-16.179 30.515-15.77 146.432-17.203 56.934-0.614 104.038-1.434 104.653-1.638s1.638 0 2.253 0.614zM613.376 603.75c37.888 37.683 72.704 70.656 79.258 74.752 34.816 22.733 65.126 32.154 107.315 33.587 32.768 1.229 50.586-1.434 79.258-11.878 9.216-3.277 17.818-6.144 18.842-6.554 3.072-0.614 3.686 21.709 1.024 41.165-8.192 61.235-43.622 111.411-97.28 137.626-28.262 13.722-39.936 16.589-73.728 17.613-32.358 1.024-53.658-2.048-52.838-7.578 0.41-2.253-1.638-3.277-8.192-3.482-35.635-2.048-86.63-45.67-107.11-91.75-12.083-27.238-13.722-37.274-14.336-88.883-1.434-93.389-1.843-161.792-0.819-161.792 0.41 0 31.334 30.31 68.608 67.174zM519.168 645.734l0.205 98.714 5.325 19.456c16.589 60.826 55.296 107.52 112.23 134.963 9.216 4.506 17.818 8.602 19.046 9.011 3.277 1.229-19.251 24.371-34.611 35.43-67.994 48.947-163.226 42.598-224.461-15.155-15.565-14.746-32.358-36.659-32.358-42.189 0-2.048-2.253-6.554-4.915-10.035-18.227-24.371-24.781-83.968-13.517-123.904 11.878-42.598 20.89-54.477 102.195-136.192 37.683-37.888 69.222-69.018 69.837-69.018s1.024 44.442 1.024 98.918z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["alfresco-logo"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[{}]}},"attrs":[{}],"properties":{"order":127,"id":115,"name":"alfresco-logo","prevSize":32,"code":59696},"setIdx":1,"setId":2,"iconIdx":118},{"icon":{"paths":["M498.112 0c0 0-67.565-0.002-70.251 55.309s0.002 829.632 0 884.935c-0.002 55.31 70.251 55.31 70.251 55.31s70.249 0 70.25-55.31c0.002-55.303 1.183-829.63 0-884.935s-70.25-55.309-70.25-55.309z","M995.403 499.228c0 0 0.15-67.564-55.139-70.373s-829.368-1.826-884.659-1.95c-55.291-0.124-55.446 70.129-55.446 70.129s-0.155 70.248 55.136 70.373c55.291 0.124 829.373 3.012 884.662 1.95s55.446-70.129 55.446-70.129z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["plus"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":128,"id":116,"name":"plus","prevSize":32,"code":59694},"setIdx":1,"setId":2,"iconIdx":119},{"icon":{"paths":["M366.5 707.84l195.412-195.84-195.412-195.84 60.16-60.16 255.998 256-255.998 256-60.16-60.16z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["chevron-right"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":129,"id":117,"name":"chevron-right","prevSize":32,"code":59692},"setIdx":1,"setId":2,"iconIdx":120},{"icon":{"paths":["M18.266 655.763l283.665-279.909-283.665-279.91 87.329-85.985 371.612 365.896-371.612 365.895-87.329-85.986z","M528.592 710.194c0 0-15.69 0-16.315 12.846s0 192.687 0 205.533c0 12.846 16.315 12.846 16.315 12.846s16.318 0 16.318-12.846c0-12.846 0.274-192.69 0-205.533-0.274-12.846-16.318-12.846-16.318-12.846z","M644.093 826.143c0 0 0.036-15.694-12.807-16.344-12.84-0.654-192.628-0.426-205.467-0.456-12.843-0.026-12.879 16.288-12.879 16.288s-0.036 16.318 12.807 16.344c12.84 0.030 192.628 0.7 205.467 0.456 12.843-0.248 12.879-16.288 12.879-16.288z","M528.516 1024c-109.459 0-198.194-88.735-198.194-198.194s88.735-198.194 198.194-198.194c109.459 0 198.194 88.735 198.194 198.194s-88.735 198.194-198.194 198.194zM528.516 990.968c91.215 0 165.161-73.946 165.161-165.161s-73.946-165.161-165.161-165.161c-91.215 0-165.161 73.946-165.161 165.161s73.946 165.161 165.161 165.161z"],"width":727,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["chevron-right-plus"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":130,"id":118,"name":"chevron-right-plus","prevSize":32,"code":59693},"setIdx":1,"setId":2,"iconIdx":121},{"icon":{"paths":["M872.384 663.704c0 0-18.015 0-18.732 14.749s0 221.233 0 235.983c0 14.749 18.732 14.749 18.732 14.749s18.735 0 18.735-14.749c0-14.749 0.315-221.237 0-235.983-0.315-14.749-18.735-14.749-18.735-14.749z","M1004.995 796.831c0 0 0.042-18.019-14.704-18.766-14.742-0.751-221.165-0.489-235.907-0.523-14.746-0.030-14.787 18.701-14.787 18.701s-0.042 18.735 14.704 18.766c14.742 0.034 221.165 0.804 235.907 0.523 14.746-0.284 14.787-18.701 14.787-18.701z","M872.296 1024c-125.675 0-227.556-101.88-227.556-227.556s101.88-227.556 227.556-227.556c125.675 0 227.556 101.88 227.556 227.556s-101.88 227.556-227.556 227.556zM872.296 986.074c104.729 0 189.63-84.901 189.63-189.63s-84.901-189.63-189.63-189.63c-104.729 0-189.63 84.901-189.63 189.63s84.901 189.63 189.63 189.63z","M219.608 655.159c-7.248-0.576-14.496-1.274-21.769-1.688-43.315-2.408-86.434-6.459-128.678-16.338-17.624-4.123-34.752-10.145-52.127-15.231-4.865-1.422-7.447-4.267-8.589-9.231-9.159-38.563-11.17-77.316-4.542-116.406 3.574-21.019 10.326-40.971 22.092-59.047 13.007-20.416 32.89-35.791 56.272-43.554 30.333-10.361 59.921-22.268 86.631-40.030 5.312-3.519 10.375-7.423 16.209-11.592 47.162 44.974 95.095 45.118 142.531-0.217 15.911 12.991 33.635 23.788 52.622 32.030 15.44 6.797 31.13 13.255 47.165 18.652 35.446 12.053 58.778 35.624 71.733 69.363 14.894 38.707 15.936 78.666 10.725 119.061-1.343 10.267-3.922 20.389-5.511 30.656-0.944 6.026-4.517 8.799-10.13 10.847-26.51 9.83-54.060 16.797-82.136 20.776-25.691 3.66-51.582 6.216-77.399 8.867-12.138 1.206-24.425 1.494-36.613 2.241-1.688 0.193-3.351 0.459-4.965 0.842h-73.522z","M264.976 0c8.862 1.132 17.579 3.155 26.032 6.020 19.578 6.839 37.374 17.988 52.039 32.653 7.658 7.658 13.678 13.822 18.157 24.201 5.418 12.594 5.298 24.008 5.178 30.197-0.193 10.668-3.612 39.347-4.383 47.197-0.361 3.396-0.313 6.020 2.793 8.139 5.563 3.805 5.876 9.728 5.322 15.556h-0.048c-1.156 14.159-5.297 27.885-12.112 40.335-3.901 7.031-5.057 15.556-7.754 23.309-8.139 23.166-21.769 59.792-54.592 76.651-11.992 5.924-25.165 9.030-38.53 9.079-7.417 0-22.251 0-37.759-8.549-7.225-3.949-11.511-8.187-17.483-13.798h-0.024c-14.015-13.292-25.14-29.306-32.702-47.053-4.744-10.836-7.706-22.347-11.776-33.472-1.445-3.997-3.757-7.658-5.635-11.486l0.024 0.024c-6.213-12.257-9.391-25.79-9.295-39.516 0.048-4.335 1.204-8.139 4.913-10.836 3.227-2.312 3.54-5.225 2.89-9.006h-0.024c-3.275-18.012-4.551-36.313-3.853-54.566 0.963-21.408 13.244-37.325 20.108-46.138 10.499-12.955 23.937-23.213 39.228-29.884v0.024c8.862-3.901 18.229-6.55 27.838-7.874l31.45-1.206z","M557.34 107.28c-19.566 19.908-25.266 48.203-18.057 73.503l-92.57 94.172c-1.024 1.040-1.673 2.411-1.832 3.87l-4.305 41.554c-0.212 2.030 0.512 4.035 1.972 5.431 1.456 1.396 3.466 2.018 5.435 1.675l53.98-9.402c2.856-0.482 5.025-2.88 5.287-5.811l1.76-19.883 19.543-1.789c3.083-0.279 5.514-2.766 5.787-5.887l1.76-19.883 19.555-1.789c1.487-0.14 2.882-0.799 3.944-1.865l29.347-29.856c24.841 7.296 52.694 1.523 72.249-18.372 28.626-29.12 28.626-76.534 0-105.654-28.623-29.12-75.23-29.12-103.853 0l-0.004-0.014zM566.371 116.461c23.749-24.158 62.051-24.158 85.796 0s23.749 63.125 0 87.282c-17.135 17.434-41.84 22.078-63.223 14.351h0.015c-2.332-0.812-4.915-0.203-6.637 1.586l-30.056 30.579-22.649 2.081c-3.068 0.279-5.503 2.753-5.787 5.888l-1.76 19.882-19.543 1.789c-3.068 0.279-5.514 2.753-5.787 5.887l-1.76 20.314-40.846 7.105 3.106-30.579 93.48-95.098c1.745-1.789 2.332-4.454 1.472-6.826-7.585-21.748-2.958-46.807 14.181-64.24v-0.002zM607.012 125.65c-9.929 10.1-9.929 26.658 0 36.743 9.925 10.1 26.203 10.1 36.117 0 9.929-10.1 9.929-26.658 0-36.743-9.929-10.1-26.203-10.1-36.117 0zM616.042 134.844c5.037-5.126 13.020-5.126 18.060 0 5.037 5.126 5.037 13.246 0 18.372-5.040 5.126-13.024 5.126-18.060 0-5.040-5.126-5.040-13.246 0-18.372z"],"width":1100,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["user-key-plus"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":131,"id":119,"name":"user-key-plus","prevSize":32,"code":59690},"setIdx":1,"setId":2,"iconIdx":122},{"icon":{"paths":["M336.898 1005.072c-11.117-0.887-22.237-1.96-33.396-2.588-66.448-3.698-132.597-9.91-197.404-25.067-27.036-6.323-53.312-15.565-79.967-23.368-7.464-2.181-11.424-6.544-13.176-14.161-14.051-59.157-17.136-118.607-6.969-178.579 5.483-32.24 15.841-62.853 33.891-90.582 19.954-31.318 50.456-54.905 86.327-66.811 46.533-15.898 91.924-34.164 132.9-61.412 8.15-5.399 15.916-11.387 24.867-17.785 72.35 68.992 145.883 69.213 218.657-0.333 24.408 19.928 51.598 36.494 80.728 49.138 23.685 10.426 47.751 20.336 72.35 28.616 54.377 18.488 90.173 54.647 110.050 106.408 22.849 59.378 24.448 120.681 16.451 182.649-2.057 15.751-6.018 31.279-8.455 47.030-1.448 9.244-6.931 13.496-15.537 16.638-40.669 15.085-82.937 25.77-126.008 31.872-39.412 5.618-79.13 9.537-118.735 13.605-18.623 1.848-37.471 2.292-56.169 3.437-2.588 0.298-5.141 0.703-7.615 1.294h-112.791z","M406.498 0c13.594 1.736 26.968 4.839 39.934 9.235 30.036 10.492 57.335 27.596 79.832 50.093 11.748 11.747 20.985 21.204 27.855 37.126 8.313 19.321 8.127 36.83 7.943 46.325-0.296 16.365-5.541 60.362-6.723 72.405-0.554 5.209-0.479 9.235 4.285 12.486 8.534 5.837 9.014 14.925 8.164 23.864h-0.072c-1.773 21.723-8.129 42.778-18.583 61.878-5.983 10.787-7.757 23.864-11.895 35.759-12.486 35.537-33.396 91.727-83.749 117.59-18.397 9.088-38.605 13.852-59.108 13.926-11.378 0-34.134 0-57.926-13.114-11.082-6.058-17.657-12.56-26.819-21.167h-0.037c-21.499-20.392-38.568-44.958-50.167-72.185-7.277-16.624-11.823-34.281-18.067-51.349-2.216-6.132-5.762-11.746-8.643-17.62l0.037 0.037c-9.531-18.804-14.407-39.566-14.26-60.623 0.074-6.649 1.847-12.486 7.536-16.623 4.95-3.547 5.431-8.017 4.433-13.816h-0.037c-5.024-27.633-6.982-55.708-5.911-83.71 1.478-32.842 20.317-57.26 30.848-70.78 16.105-19.875 36.72-35.611 60.179-45.845v0.037c13.594-5.985 27.965-10.048 42.705-12.079l48.247-1.85z","M855.014 164.58c-30.019 30.541-38.763 73.949-27.704 112.761l-142.008 144.468c-1.569 1.597-2.565 3.698-2.814 5.937l-6.6 63.749c-0.326 3.114 0.784 6.191 3.023 8.332s5.318 3.095 8.341 2.569l82.809-14.424c4.38-0.74 7.71-4.417 8.113-8.913l2.697-30.504 29.982-2.744c4.724-0.428 8.457-4.243 8.876-9.032l2.7-30.501 30.001-2.744c2.276-0.214 4.419-1.226 6.046-2.863l45.021-45.801c38.114 11.192 80.84 2.337 110.841-28.186 43.911-44.672 43.911-117.41 0-162.083s-115.412-44.672-159.323 0l-0.002-0.021zM868.866 178.671c36.431-37.061 95.192-37.061 131.619 0 36.429 37.061 36.431 96.841 0 133.898-26.289 26.745-64.191 33.871-96.989 22.016h0.021c-3.579-1.245-7.54-0.312-10.179 2.432l-46.113 46.911-34.746 3.193c-4.706 0.428-8.439 4.224-8.879 9.032l-2.697 30.501-29.982 2.744c-4.706 0.428-8.457 4.224-8.879 9.032l-2.697 31.165-62.662 10.901 4.764-46.911 143.404-145.89c2.679-2.744 3.577-6.833 2.257-10.473-11.634-33.361-4.534-71.805 21.755-98.549l0.002-0.003zM931.207 192.766c-15.232 15.494-15.232 40.895 0 56.369 15.23 15.493 40.199 15.493 55.408 0 15.23-15.495 15.23-40.896 0-56.369-15.23-15.494-40.199-15.494-55.408 0zM945.059 206.858c7.731-7.864 19.975-7.864 27.706 0 7.729 7.864 7.729 20.321 0 28.185-7.731 7.864-19.975 7.864-27.706 0-7.729-7.863-7.729-20.321 0-28.185z"],"width":1047,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["user-key"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":132,"id":120,"name":"user-key","prevSize":32,"code":59691},"setIdx":1,"setId":2,"iconIdx":123},{"icon":{"paths":["M1024 512c0 282.768-229.232 512-512 512-282.77 0-512-229.232-512-512 0-282.77 229.23-512 512-512 282.768 0 512 229.23 512 512zM558.545 186.182h-93.091v465.455h93.091v-465.455zM558.545 837.818v-93.091h-93.091v93.091h93.091z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["exclamation-point"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":133,"id":121,"name":"exclamation-point","prevSize":32,"code":59682},"setIdx":1,"setId":2,"iconIdx":124},{"icon":{"paths":["M0 46.545v930.909c0 25.707 20.839 46.545 46.545 46.545h651.636c25.707 0 46.545-20.838 46.545-46.545v-748.72c0-12.344-4.906-24.184-13.633-32.912l-182.188-182.189c-8.727-8.729-20.568-13.633-32.912-13.633h-469.448c-25.706 0-46.545 20.839-46.545 46.545zM46.545 69.818c0-12.853 10.42-23.273 23.273-23.273h372.364c12.853 0 23.273 10.42 23.273 23.273v162.909c0 12.853 10.422 23.273 23.273 23.273h186.182c12.851 0 23.273 10.42 23.273 23.273v674.909c0 12.851-10.422 23.273-23.273 23.273h-605.091c-12.853 0-23.273-10.422-23.273-23.273v-884.364zM512 46.545l162.909 162.909h-162.909v-162.909z","M139.636 418.909h465.455v46.545h-465.455v-46.545z","M139.636 558.545h465.455v46.545h-465.455v-46.545z","M139.636 698.182h465.455v46.545h-465.455v-46.545z"],"width":745,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["file"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":134,"id":122,"name":"file","prevSize":32,"code":59686},"setIdx":1,"setId":2,"iconIdx":125},{"icon":{"paths":["M0 554.667v341.333c0 70.694 57.307 128 128 128h768c70.694 0 128-57.306 128-128v-341.333l-170.667-213.333h-234.667c0 0-21.333 0-21.333 21.333s21.333 21.333 21.333 21.333h206.221l156.446 170.667h-277.333c-23.565 0-42.667 19.102-42.667 42.667v85.333c0 23.565-19.102 42.667-42.667 42.667h-213.333c-23.565 0-42.667-19.102-42.667-42.667v-85.333c0-23.565-19.101-42.667-42.667-42.667h-277.333l156.445-170.667h206.221c0 0 21.333 0.001 21.333-21.333s-21.333-21.333-21.333-21.333h-234.667l-170.667 213.333zM42.667 597.333h277.333v85.333c0 47.13 38.206 85.333 85.333 85.333h213.333c47.13 0 85.333-38.204 85.333-85.333v-85.333h277.333v298.667c0 47.13-38.204 85.333-85.333 85.333h-768c-47.127 0-85.333-38.204-85.333-85.333v-298.667z","M510.801 597.333c5.38-0.205 11.618-2.441 15.531-6.118l127.996-120.469c7.326-8.175 10.355-23.825 1.886-32.943-8.354-8.998-24.559-8.704-32.943 0.239l-89.886 84.702-0.051-501.41c0-12.47-10.069-21.333-22.541-21.333s-20.126 8.863-20.126 21.333l-2.458 501.41-89.886-84.702c-7.735-7.706-24.5-9.148-32.941-0.239-8.441 8.883-5.736 25.118 1.882 32.943l127.998 120.469c4.386 4.117 9.54 6.118 15.539 6.118z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["download"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":135,"id":123,"name":"download","prevSize":32,"code":59689},"setIdx":1,"setId":2,"iconIdx":126},{"icon":{"paths":["M574.538 449.843v-0.664c0 19.644-15.135 36.299-34.775 36.299h-474.799c-19.644 0-34.778-16.626-34.778-36.299l0.027-25.731h57.464c9.075 0 15.134-6.058 15.134-15.132s-6.059-15.134-15.134-15.134h-57.464v-120.963h57.464c9.075 0 15.134-6.059 15.134-15.134s-6.059-15.134-15.134-15.134h-57.464v-120.963h57.464c9.075 0 15.134-6.059 15.134-15.134s-6.059-15.134-15.134-15.134h-57.464v-24.182c0-19.644 15.134-36.299 34.777-36.299h474.796c19.644 0 34.779 16.628 34.779 36.299 0 9.075 6.058 15.134 15.135 15.134 9.073 0 15.131-6.059 15.131-15.134 0-36.299-28.717-66.539-65.016-66.539h-474.798c-36.3 0-65.018 30.24-65.018 66.539v381.031c0 36.299 28.719 66.54 65.018 66.54h15.133v45.371c0 24.183 19.644 45.375 45.374 45.375h55.943c24.182 0 45.373-19.644 45.373-45.375v-45.371h151.199v45.371c0 24.183 19.644 45.375 45.375 45.375h55.943c24.179 0 45.371-19.644 45.371-45.375v-45.371h15.135c36.299 0 65.020-30.241 65.020-66.54v0.664c-0.111-7.5-6.144-13.529-15.217-13.529-9.073 0.008-15.131 6.066-15.131 15.139zM196.526 559.542c0 7.553-6.059 15.135-15.134 15.135h-55.943c-7.553 0-15.134-6.058-15.134-15.135v-45.371h86.186l0.025 45.371zM494.416 559.542c0 7.553-6.058 15.135-15.135 15.135h-55.943c-7.553 0-15.132-6.058-15.132-15.135v-45.371h86.186l0.025 45.371z","M302.375 151.29c-58.959 0-105.856 46.868-105.856 105.856 0 58.959 46.868 105.856 105.856 105.856 58.959 0 105.856-46.868 105.856-105.856 0-9.075-6.059-15.134-15.134-15.134s-15.134 6.059-15.134 15.134c0 42.331-33.255 75.613-75.613 75.613-42.331 0-75.613-33.256-75.613-75.613 0-42.331 33.256-75.613 75.613-75.613 9.075 0 15.134-6.059 15.134-15.134 0.027-9.075-6.032-15.107-15.106-15.107l-0.002-0.002z","M595.546 166.094c-22.131 22.514-28.578 54.515-20.423 83.128l-104.69 106.503c-1.155 1.177-1.892 2.727-2.073 4.377l-4.866 46.995c-0.242 2.296 0.578 4.563 2.228 6.14 1.651 1.581 3.92 2.281 6.148 1.896l61.047-10.634c3.232-0.545 5.685-3.258 5.98-6.572l1.991-22.486 22.102-2.023c3.486-0.316 6.234-3.128 6.545-6.658l1.987-22.486 22.118-2.023c1.679-0.158 3.26-0.904 4.456-2.109l33.19-33.765c28.099 8.251 59.597 1.722 81.715-20.778 32.371-32.933 32.371-86.556 0-119.489-32.375-32.933-85.082-32.932-117.457 0v-0.016zM605.757 176.486c26.857-27.322 70.177-27.322 97.030 0 26.857 27.322 26.857 71.391 0 98.712-19.378 19.717-47.321 24.968-71.5 16.23h0.016c-2.638-0.918-5.558-0.23-7.504 1.794l-33.997 34.583-25.612 2.353c-3.473 0.316-6.222 3.114-6.545 6.658l-1.991 22.486-22.102 2.023c-3.469 0.316-6.234 3.114-6.545 6.658l-1.991 22.974-46.195 8.036 3.514-34.583 105.718-107.55c1.974-2.023 2.638-5.037 1.663-7.72-8.573-24.596-3.342-52.935 16.040-72.652v-0.002zM651.715 186.874c-11.227 11.422-11.227 30.149 0 41.555 11.227 11.423 29.635 11.423 40.849 0 11.227-11.423 11.227-30.149 0-41.555-11.227-11.423-29.635-11.423-40.849 0zM661.926 197.264c5.702-5.797 14.729-5.797 20.427 0s5.698 14.981 0 20.778c-5.698 5.797-14.725 5.797-20.427 0-5.698-5.797-5.698-14.981 0-20.778z","M291.782 267.716c3.016 3.016 7.553 4.538 10.596 4.538 3.015 0 7.553-1.522 10.596-4.538l63.496-63.496c6.059-6.059 6.059-15.133 0-21.165-6.059-6.059-15.134-6.059-21.166 0l-63.496 63.496c-6.059 6.031-6.059 15.106-0.027 21.165h0.001z","M942.174 634.88c0 0-19.456 0-20.23 15.929s0 238.932 0 254.861c0 15.929 20.23 15.929 20.23 15.929s20.234 0 20.234-15.929c0-15.929 0.34-238.936 0-254.861-0.34-15.929-20.234-15.929-20.234-15.929z","M1085.395 778.658c0 0 0.045-19.46-15.88-20.267-15.921-0.811-238.858-0.528-254.779-0.565-15.925-0.033-15.97 20.197-15.97 20.197s-0.045 20.234 15.88 20.267c15.921 0.037 238.858 0.868 254.779 0.565 15.925-0.307 15.97-20.197 15.97-20.197z","M942.080 1024c-135.729 0-245.76-110.031-245.76-245.76s110.031-245.76 245.76-245.76c135.729 0 245.76 110.031 245.76 245.76s-110.031 245.76-245.76 245.76zM942.080 983.040c113.107 0 204.8-91.693 204.8-204.8s-91.693-204.8-204.8-204.8c-113.107 0-204.8 91.693-204.8 204.8s91.693 204.8 204.8 204.8z"],"width":1188,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["safe-key-plus"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":136,"id":124,"name":"safe-key-plus","prevSize":32,"code":59653},"setIdx":1,"setId":2,"iconIdx":127},{"icon":{"paths":["M226.574 695.548c2.254 0.188 4.507 0.38 6.76 0.559h78.118c1.714-0.41 3.481-0.691 5.275-0.896 4.324-0.265 8.66-0.474 12.997-0.687 8.653-0.418 17.313-0.841 25.904-1.694 2.313-0.239 4.627-0.474 6.941-0.713 25.127-2.569 50.299-5.146 75.294-8.713 29.833-4.224 59.106-11.622 87.275-22.071 5.961-2.176 9.758-5.12 10.761-11.524 0.751-4.864 1.711-9.698 2.675-14.528 1.195-5.999 2.389-11.998 3.179-18.044 5.538-42.918 4.429-85.376-11.392-126.502-13.769-35.849-38.562-60.894-76.22-73.696-17.041-5.736-33.708-12.598-50.112-19.82-20.175-8.757-39.006-20.23-55.912-34.032-14.517 13.874-29.078 23.739-43.651 29.611l20.889 167.112-45.398 45.397-52.965-45.397 20.556-164.443c-17.015-5.26-33.989-15.952-50.871-32.049-2.136 1.527-4.175 3.020-6.162 4.475-3.776 2.766-7.362 5.392-11.060 7.842-28.379 18.872-59.817 31.523-92.046 42.534-24.844 8.245-45.969 24.581-59.789 46.273-12.501 19.204-19.675 40.41-23.473 62.737-7.042 41.536-4.905 82.709 4.826 123.682 1.213 5.274 3.956 8.299 9.126 9.809 6.102 1.783 12.176 3.682 18.249 5.577 12.3 3.836 24.6 7.676 37.135 10.607 44.885 10.496 90.699 14.801 136.721 17.361 5.467 0.307 10.92 0.768 16.37 1.233z","M281.538 0c9.415 1.202 18.678 3.352 27.659 6.396 20.801 7.266 39.709 19.113 55.291 34.694 8.137 8.136 14.533 14.686 19.292 25.714 5.757 13.381 5.629 25.508 5.501 32.084-0.205 11.335-3.838 41.807-4.657 50.147-0.384 3.607-0.333 6.396 2.968 8.648 5.91 4.043 6.243 10.336 5.655 16.528h-0.051c-1.228 15.044-5.629 29.628-12.87 42.856-4.145 7.471-5.373 16.528-8.239 24.766-8.648 24.613-23.13 63.529-58.004 81.441-12.742 6.294-26.737 9.594-40.938 9.646-7.881 0-23.642 0-40.119-9.083-7.676-4.196-12.23-8.699-18.575-14.66h-0.026c-14.891-14.123-26.711-31.138-34.746-49.994-5.041-11.513-8.188-23.743-12.512-35.564-1.535-4.247-3.991-8.136-5.987-12.204l0.026 0.026c-6.601-13.023-9.978-27.402-9.876-41.986 0.051-4.605 1.279-8.648 5.219-11.514 3.429-2.456 3.761-5.552 3.070-9.569h-0.026c-3.48-19.138-4.836-38.583-4.094-57.977 1.024-22.746 14.072-39.657 21.364-49.022 11.155-13.765 25.432-24.664 41.68-31.752v0.026c9.416-4.145 19.368-6.959 29.577-8.366l33.416-1.281z","M592.179 113.982c-20.791 21.152-26.85 51.216-19.187 78.097l-98.355 100.058c-1.088 1.105-1.775 2.561-1.95 4.112l-4.57 44.151c-0.226 2.157 0.542 4.287 2.095 5.77 1.549 1.483 3.682 2.144 5.777 1.78l57.353-9.99c3.034-0.512 5.338-3.060 5.619-6.175l1.865-21.125 20.766-1.901c3.273-0.297 5.858-2.939 6.148-6.255l1.869-21.125 20.779-1.901c1.579-0.148 3.063-0.849 4.19-1.982l31.181-31.722c26.398 7.752 55.987 1.618 76.766-19.52 30.413-30.94 30.413-81.318 0-112.258s-79.932-30.939-110.345 0v-0.015zM601.771 123.747c25.233-25.668 65.929-25.668 91.162 0 25.229 25.669 25.229 67.071 0 92.738-18.21 18.523-44.459 23.458-67.174 15.247h0.013c-2.479-0.863-5.222-0.215-7.049 1.685l-31.94 32.49-24.064 2.211c-3.26 0.297-5.845 2.925-6.148 6.255l-1.869 21.126-20.766 1.901c-3.26 0.297-5.858 2.926-6.148 6.255l-1.869 21.583-43.401 7.55 3.302-32.49 99.319-101.041c1.856-1.901 2.479-4.732 1.562-7.253-8.055-23.107-3.14-49.732 15.070-68.255v-0.002zM644.949 133.507c-10.551 10.731-10.551 28.324 0 39.040 10.547 10.731 27.84 10.731 38.374 0 10.547-10.731 10.547-28.324 0-39.040-10.551-10.732-27.844-10.732-38.374 0zM654.541 143.268c5.355-5.446 13.837-5.446 19.191 0 5.35 5.446 5.35 14.074 0 19.521-5.355 5.446-13.837 5.446-19.191 0-5.35-5.446-5.35-14.074 0-19.521z","M810.765 618.667c0 0-20.267 0-21.073 16.593s0 248.887 0 265.481c0 16.593 21.073 16.593 21.073 16.593s21.077 0 21.077-16.593c0-16.593 0.354-248.892 0-265.481-0.354-16.593-21.077-16.593-21.077-16.593z","M959.953 768.435c0 0 0.047-20.271-16.542-21.111-16.585-0.845-248.811-0.55-265.395-0.589-16.589-0.034-16.636 21.039-16.636 21.039s-0.047 21.077 16.542 21.111c16.585 0.038 248.811 0.905 265.395 0.589 16.589-0.32 16.636-21.039 16.636-21.039z","M810.667 1024c-141.385 0-256-114.615-256-256s114.615-256 256-256c141.385 0 256 114.615 256 256s-114.615 256-256 256zM810.667 981.333c117.82 0 213.333-95.514 213.333-213.333s-95.514-213.333-213.333-213.333c-117.82 0-213.333 95.514-213.333 213.333s95.514 213.333 213.333 213.333z"],"width":1067,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["admin-key-plus"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":137,"id":125,"name":"admin-key-plus","prevSize":32,"code":59675},"setIdx":1,"setId":2,"iconIdx":128},{"icon":{"paths":["M16.425 395.063l-15.886 76.848c-2.886 14.015 6.092 27.708 20.083 30.629l81.030 16.818c4.839 1.024 9.881 0.029 14.020-2.687l26.117-16.964c3.877-2.775 6.558-6.949 7.462-11.649l8.278-38.337 22.386 4.555c18.976 3.942 37.543-8.234 41.507-27.213l4.635-22.425 38.33 7.475c4.78 0.905 9.735-0.087 13.817-2.774l25.447-16.818c13.087 7.767 27.108 13.928 41.711 18.307 8.861 2.57 18.014 4.205 27.224 4.876 2.099 4.701 4.314 9.344 6.879 13.899l-126.854 180.74c-4.518 6.368-6.296 14.277-4.926 21.957l13.496 77.522c2.099 12.381 12.767 21.489 25.301 21.606 1.487 0 3.002-0.117 4.46-0.38l81.5-14.57c4.868-0.785 9.211-3.472 12.097-7.475l17.839-25.4c2.798-4.033 3.935-8.992 3.119-13.844l-6.413-38.717 22.386-3.881c19.034-3.36 31.801-21.519 28.507-40.585l-3.877-22.426 38.359-7.475c4.751-0.848 9.008-3.53 11.865-7.475l17.457-25.054c43.491 6.924 88.030-1.692 125.83-24.322 37.776-22.626 66.428-57.869 80.92-99.532 17.866-49.404 13.609-104.124-11.63-150.169-4.925-9.11-16.296-12.526-25.42-7.592-9.094 4.935-12.473 16.351-7.578 25.461 20.202 36.644 23.669 80.234 9.504 119.596-12.069 35.213-36.698 64.733-69.169 82.806-32.471 18.101-70.51 23.504-106.715 15.183-7.402-1.722-15.126 1.256-19.471 7.473l-19.938 29.082-44.102 8.294c-12.738 2.248-21.249 14.395-19.034 27.126l5.83 33.636-33.725 5.695c-12.708 2.219-21.22 14.248-19.121 26.975l7.462 44.851-9.24 12.498-62.669 10.918-10.901-62.776 132.219-187.953c4.372-6.219 4.547-14.453 0.466-20.848-24.164-37.491-30.372-83.8-16.964-126.369 13.379-42.542 45.005-76.908 86.253-93.756 41.244-16.818 87.827-14.395 127.085 6.657l-29.004 36.907c-15.945-4.905-33.197-2.628-47.338 6.248-14.107 8.905-23.64 23.505-26.117 40.002-2.477 16.526 2.336 33.286 13.205 45.929 10.874 12.672 26.702 19.943 43.374 19.943 3.326 0 6.646-0.292 9.938-0.876 19.446-3.212 35.913-16.264 43.491-34.483 7.578-18.249 5.247-39.126-6.178-55.214l54.828-69.902c24.834-32.673 31.568-75.682 17.896-114.401-13.668-38.747-45.88-67.945-85.694-77.723-39.814-9.782-81.881 1.168-111.87 29.169l-24.775 23.768c-61.416-23.359-130.555-12.759-182.176 27.972-51.593 40.732-78.060 105.581-69.752 170.866l-184.393 121.174c-6.529 4.234-11.106 10.949-12.679 18.6l-0.002 0.003zM584.26 310.385c-5.481 7.767-15.682 10.57-24.366 6.715-8.689-3.883-13.439-13.344-11.337-22.628 2.068-9.285 10.406-15.796 19.905-15.562 9.504 0.234 17.52 7.124 19.154 16.526 0.931 5.226-0.293 10.599-3.355 14.949v0zM515.945 59.784c32.037-30.308 81.964-30.775 114.556-1.11 32.617 29.666 36.932 79.51 9.908 114.342l-3.291 4.175v0.029c-20.841-12.205-43.837-20.205-67.74-23.563-15.014-32.352-38.795-59.827-68.647-79.3l15.214-14.574zM52.262 405.866l191.765-126.018c6.413-4.175 9.648-11.854 8.132-19.358-9.095-46.338 4.11-94.28 35.677-129.381 31.568-35.096 77.768-53.258 124.757-49.024 46.958 4.263 89.191 30.425 113.943 70.602-5.159 0.438-10.289 1.109-15.448 2.015v0.029c-49.668 8.642-93.737 37.052-122.249 78.747-28.478 41.666-38.971 93.114-29.061 142.634-1.195 0-2.536-0.525-3.731-0.905v0.029c-14.982-4.497-29.148-11.3-42.032-20.205-6.267-4.234-14.515-4.234-20.812 0l-29.236 19.066-44.043-8.584c-12.65-2.628-25.068 5.548-27.662 18.22l-6.966 33.724-33.346-7.475c-12.621-2.628-24.98 5.46-27.69 18.103l-9.56 44.324-13.058 8.584-62.202-12.702 12.823-62.425z","M1024.112 560.762c0 0-23.162 0-24.084 18.964s0 284.443 0 303.406c0 18.964 24.084 18.964 24.084 18.964s24.088 0 24.088-18.964c0-18.964 0.405-284.448 0-303.406-0.405-18.964-24.088-18.964-24.088-18.964z","M1194.613 731.926c0 0 0.054-23.167-18.905-24.127-18.954-0.965-284.355-0.629-303.309-0.673-18.959-0.039-19.012 24.044-19.012 24.044s-0.054 24.088 18.905 24.127c18.954 0.044 284.355 1.034 303.309 0.673 18.959-0.366 19.012-24.044 19.012-24.044z","M1024 1024c-161.582 0-292.571-130.989-292.571-292.571s130.989-292.571 292.571-292.571c161.582 0 292.571 130.989 292.571 292.571s-130.989 292.571-292.571 292.571zM1024 975.238c134.651 0 243.81-109.158 243.81-243.81s-109.158-243.81-243.81-243.81c-134.651 0-243.81 109.158-243.81 243.81s109.158 243.81 243.81 243.81z"],"width":1317,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["keys-plus"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":138,"id":126,"name":"keys-plus","prevSize":32,"code":59681},"setIdx":1,"setId":2,"iconIdx":129},{"icon":{"paths":["M195.048 268.19l585.143-268.19 146.286 341.333h-48.762l-121.905-268.19-487.619 219.429 24.381 48.762h-66.177l-31.347-73.143z","M273.666 232.157c-21.094-21.556-45.87-66.788-52.522-81.379-1.117-2.451-3.898-4.492-6.591-4.492h-160.914c-2.693 0-4.876 2.183-4.876 4.876v185.295c0 2.693 2.183 4.876 4.876 4.876h872.838l-0.887-2.070c0.561-0.794 0.887-1.761 0.887-2.806v-87.771c0-2.693-2.185-4.876-4.876-4.876h-36.918l-20.899-48.762h62.693c26.931 0 48.762 21.832 48.762 48.762v731.429c0 26.931-21.831 48.762-48.762 48.762h-877.714c-26.93 0-48.762-21.831-48.762-48.762v-828.952c0-26.931 21.831-48.762 48.762-48.762h164.911c18.47 0 35.354 10.435 43.614 26.955l21.807 43.614c8.26 16.52 25.144 26.955 43.614 26.955h31.924l-80.966 37.109zM53.638 390.095c-2.693 0-4.876 2.183-4.876 4.876v575.39c0 2.692 2.183 4.876 4.876 4.876h867.962c2.692 0 4.876-2.185 4.876-4.876v-575.39c0-2.693-2.185-4.876-4.876-4.876h-867.962z"],"width":975,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["filing"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":139,"id":127,"name":"filing","prevSize":32,"code":59683},"setIdx":1,"setId":2,"iconIdx":130},{"icon":{"paths":["M718.277 923.971c-34.414-73.125-67.509-105.165-138.677-105.165h-160.032c-69.599 0-102.675 31.535-138.114 103.562-1.219 2.477-2.657 5.419-5.244 10.717-2.805 5.73-4.786 9.708-6.766 13.564-1.79 3.482-2.723 7.337-2.723 11.252 0 23.012 20.361 41.913 43.881 41.913h377.963c23.253 0 43.878-16.939 43.878-40.405 0-3.777-0.87-7.503-2.54-10.89-1.981-4.013-3.935-8.121-6.786-14.214-2.387-5.108-3.69-7.897-4.84-10.335zM579.6 868.037c47.159 0 66.974 19.184 94.133 76.898l2.647 5.648h-353.926l3.174-6.483c28.028-56.962 48.062-76.064 93.937-76.064h160.035z","M999.255 93.473c0-51.163-40.003-93.473-90.947-93.473h-817.46c-50.914 0-90.847 42.31-90.847 93.473v523.223c0 50.676 39.381 87.075 90.847 87.075h817.46c51.499 0 90.947-36.395 90.947-87.075v-523.223zM90.847 49.231h817.46c23.119 0 41.716 19.669 41.716 44.242v523.223c0 22.567-16.561 37.845-41.716 37.845h-817.46c-25.105 0-41.617-15.262-41.617-37.845v-523.223c0-24.59 18.548-44.242 41.617-44.242z","M524.256 819.078c0 0-11.024 0-24.615 0-13.596 0-24.615 0-24.615 0v-63.13c0-13.596 11.020-24.615 24.615-24.615 13.592 0 24.615 11.020 24.615 24.615v63.13z","M138.548 319.369c0 9.063 7.347 16.41 16.41 16.41h164.103c9.063 0 16.41-7.347 16.41-16.41v-164.103c0-9.063-7.347-16.41-16.41-16.41h-164.103c-9.063 0-16.41 7.347-16.41 16.41v164.103zM302.651 171.676v131.282h-131.282v-131.282h131.282z","M138.548 549.112c0 9.066 7.347 16.412 16.41 16.412h164.103c9.063 0 16.41-7.345 16.41-16.412v-164.101c0-9.063-7.347-16.41-16.41-16.41h-164.103c-9.063 0-16.41 7.347-16.41 16.41v164.101zM302.651 532.704h-131.282v-131.285h131.282v131.285z","M401.109 319.369c0 9.063 7.349 16.41 16.412 16.41h164.104c9.062 0 16.408-7.347 16.408-16.41v-164.103c0-9.063-7.345-16.41-16.408-16.41h-164.104c-9.062 0-16.412 7.347-16.412 16.41v164.103zM565.213 302.958h-131.281v-131.282h131.281v131.282z","M401.109 549.112c0 9.066 7.349 16.412 16.412 16.412h164.104c9.062 0 16.408-7.345 16.408-16.412v-164.101c0-9.063-7.345-16.41-16.408-16.41h-164.104c-9.062 0-16.412 7.347-16.412 16.41v164.101zM564.512 402.022v131.285h-131.281v-131.285h131.281z","M663.674 319.369c0 9.063 7.345 16.41 16.408 16.41h164.104c9.062 0 16.412-7.347 16.412-16.41v-164.103c0-9.063-7.349-16.41-16.412-16.41h-164.104c-9.062 0-16.408 7.347-16.408 16.41v164.103zM827.774 302.958h-131.281v-131.282h131.281v131.282z","M663.674 549.112c0 9.066 7.345 16.412 16.408 16.412h164.104c9.062 0 16.412-7.345 16.412-16.412v-164.101c0-9.063-7.349-16.41-16.412-16.41h-164.104c-9.062 0-16.408 7.347-16.408 16.41v164.101zM827.774 401.42v131.285h-131.281v-131.285h131.281z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["basket"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":140,"id":128,"name":"basket","prevSize":32,"code":59684},"setIdx":1,"setId":2,"iconIdx":131},{"icon":{"paths":["M1177.749 589.097c0 3.627-3.153 6.746-6.82 6.746s-6.82-3.119-6.82-6.219c0-3.627 3.153-6.746 6.82-6.746s6.82 2.592 6.82 6.219zM1171.443 554.355c-3.667 0-6.822 3.119-6.822 6.746v6.219c0 3.627 3.155 6.746 6.822 6.746 3.665 0 6.82-3.119 6.82-6.746v-6.746c-0.512-3.627-3.134-6.219-6.82-6.219zM1171.443 519.612c-3.667 0-6.822 3.121-6.822 6.748v11.932c0 3.625 3.155 6.746 6.822 6.746 3.665 0 6.82-3.119 6.82-6.746v-11.932c-0.512-4.154-3.134-6.748-6.82-6.748zM1280 423.671v296.634c0 2.592-1.577 4.659-4.198 5.713l-195.593 84.009h-0.531c-0.533 0.525-1.579 0.525-2.091 0.525-0.531 0-1.577 0-2.089-0.525h-0.533l-196.1-84.030c-2.622-1.033-4.198-3.119-4.198-5.713v-299.226c0-0.527 0.533-0.527 0.533-1.033 0 0 0-0.527 0.531-0.527 0-0.527 0.533-0.527 0.533-1.033l0.533-0.527c0.531 0 0.531-0.527 1.043-0.527h0.533l196.593-75.684c1.577-0.527 3.153-0.527 4.71 0l196.1 75.727h0.533c0.531 0 0.531 0 1.043 0.525l0.533 0.527c0.533 0 0.533 0.527 0.533 1.035l0.531 0.527c0 0.525 0.533 0.525 0.533 1.033v0.527c0.512 0.486 0.512 0.992 0.512 2.046l0.002-0.002zM1000.51 384.777l169.884 73.133c1.043 0.527 2.089 1.035 2.622 2.067l83.362-35.776-178.797-69.502-77.071 30.078zM1071.3 511.834l-183.012-78.319v282.108l182.991 78.822 0.021-282.611zM1153.088 468.26l4.713-2.067-173.553-74.688c-0.533 0-0.533-0.527-1.045-0.527l-84.941 32.676 179.326 77.282 75.501-32.676zM1266.891 433.517l-89.141 38.368v32.149c0 3.627-3.153 6.746-6.82 6.746s-6.82-3.119-6.82-6.746v-26.436l-80.742 34.741v282.108l182.993-78.822v-282.106l0.531-0.002z","M969.779 988.585c-48.67-158.195-176.331-276.393-341.852-317.165-28.969-32.341-38.916-53.513-42.214-63.708 15.477-24.245 65.214-104.489 95.979-179.226h9.365c49.25 0 85.109-28.587 85.109-78.048 0-15.317-4.561-28.292-11.791-39.317-4.028-154.586-107.43-311.121-278.426-311.121-171.821 0-264.885 148.006-272.548 300.582-12.326 12.73-20.090 29.414-20.090 49.854 0 37.95 21.203 63.462 53.231 73.316 27.511 48.196 85.449 103.804 205.011 111.61 6.065 9.611 16.207 16.292 28.337 16.292 18.923 0 34.257-15.462 34.257-34.438 0-19.023-15.381-34.438-34.257-34.438-11.014 0-20.38 5.609-26.688 13.756-44.107-2.976-77.926-13.171-104.275-26.829-21.933-48.975-40.469-99.268-42.605-132.096 56.966-23.17 222.963-93.463 281.431-148.005 0 0 24.555 87.512 79.386 121.562 0.533 6.682 0.873 13.365 0.873 20.049 0 65.414-86.129 211.369-119.319 262.044-2.571 3.951-3.639 8.732-3.008 13.414 2.231 15.853 13.683 49.903 65.022 103.364-4.998 27.025-28.241 108.049-126.257 108.489-98.308-0.489-127.661-81.122-134.891-109.122 1.263-0.292 2.428-0.83 3.785-1.073l-0.58-2.438c58.323-61.903 62.255-94.148 61.818-102.88-0.096-3.121-0.971-6.146-2.522-8.877-4.755-8.292-10.773-19.221-17.468-31.708-18.586-4.587-35.908-10.244-52.407-16.538 14.364 28.439 26.737 51.025 32.706 61.562-2.622 8.489-12.326 30.684-46.679 67.855-164.877 44.877-289.929 163.565-327.629 314.093-1.456 5.805-0.146 12 3.542 16.781 3.639 4.877 9.316 7.659 15.285 7.659h931.795c6.163 0 11.985-2.927 15.625-7.902 3.686-5.026 4.755-11.465 2.959-17.367l-0.009 0.015zM485.956 38.975c146.927 0 221.943 129.661 236.986 240.539-7.036-2.583-14.46-4.341-22.176-5.559-20.572-99.317-94.231-188.779-214.763-188.779-119.172 0-192.154 89.073-212.725 188.192-6.453 0.732-12.762 1.854-18.827 3.561 14.071-108.391 80.646-237.955 231.507-237.955l-0.002 0.002zM45.226 974.822c38.528-117.562 137.511-210.831 267.121-254.052 13.683 53.903 62.11 136.979 171.087 136.979h1.892c0.098 0 0.145-0.049 0.243-0.049 110.731-0.535 153.673-85.122 163.324-139.413 128.591 41.073 228.887 133.807 275.17 256.486l-878.838 0.049z"],"width":1280,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["support-box"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":141,"id":129,"name":"support-box","prevSize":32,"code":59687},"setIdx":1,"setId":2,"iconIdx":132},{"icon":{"paths":["M1139.912 414.362c0 3.784-3.29 7.039-7.117 7.039s-7.117-3.255-7.117-6.489c0-3.784 3.29-7.039 7.117-7.039s7.117 2.705 7.117 6.489zM1133.332 378.11c-3.827 0-7.119 3.255-7.119 7.039v6.489c0 3.784 3.292 7.039 7.119 7.039 3.824 0 7.117-3.255 7.117-7.039v-7.039c-0.534-3.784-3.27-6.489-7.117-6.489zM1133.332 341.856c-3.827 0-7.119 3.257-7.119 7.041v12.451c0 3.782 3.292 7.039 7.119 7.039 3.824 0 7.117-3.255 7.117-7.039v-12.451c-0.534-4.334-3.27-7.041-7.117-7.041zM1246.609 241.744v309.531c0 2.705-1.645 4.862-4.381 5.961l-204.097 87.661h-0.554c-0.557 0.548-1.647 0.548-2.182 0.548-0.554 0-1.645 0-2.179-0.548h-0.557l-204.626-87.683c-2.736-1.077-4.381-3.255-4.381-5.961v-312.235c0-0.55 0.557-0.55 0.557-1.077 0 0 0-0.55 0.554-0.55 0-0.55 0.557-0.55 0.557-1.077l0.557-0.55c0.554 0 0.554-0.55 1.089-0.55h0.557l205.141-78.974c1.645-0.55 3.29-0.55 4.915 0l204.626 79.019h0.557c0.554 0 0.554 0 1.089 0.548l0.557 0.55c0.557 0 0.557 0.55 0.557 1.080l0.554 0.55c0 0.548 0.557 0.548 0.557 1.077v0.55c0.534 0.508 0.534 1.035 0.534 2.135l0.002-0.002zM954.967 201.159l177.27 76.312c1.089 0.55 2.179 1.080 2.736 2.157l86.987-37.331-186.571-72.523-80.422 31.386zM1028.835 333.739l-190.969-81.724v294.373l190.947 82.249 0.022-294.899zM1114.179 288.272l4.917-2.157-181.099-77.936c-0.557 0-0.557-0.55-1.091-0.55l-88.634 34.097 187.123 80.642 78.783-34.097zM1232.929 252.018l-93.017 40.036v33.547c0 3.784-3.29 7.039-7.117 7.039s-7.117-3.255-7.117-7.039v-27.586l-84.253 36.252v294.373l190.949-82.249v-294.371l0.554-0.002z","M334.826 1023.174c3.317 0.28 6.632 0.561 9.944 0.826h114.915c2.522-0.603 5.12-1.017 7.76-1.318 6.36-0.39 12.738-0.701 19.118-1.011 12.729-0.619 25.469-1.238 38.106-2.493 3.404-0.349 6.807-0.697 10.211-1.046 36.964-3.784 73.993-7.573 110.761-12.816 43.883-6.215 86.947-17.103 128.381-32.472 8.769-3.201 14.356-7.533 15.83-16.952 1.106-7.155 2.522-14.263 3.938-21.368 1.759-8.831 3.515-17.655 4.675-26.546 8.147-63.136 6.518-125.591-16.76-186.090-20.251-52.734-56.721-89.576-112.121-108.41-25.064-8.437-49.582-18.532-73.715-29.155-29.678-12.882-57.38-29.758-82.247-50.062-21.357 20.409-42.776 34.921-64.214 43.56l30.729 245.831-66.783 66.783-77.913-66.783 30.239-241.907c-25.032-7.738-50-23.465-74.834-47.146-3.143 2.246-6.142 4.443-9.065 6.585-5.554 4.067-10.828 7.932-16.268 11.536-41.748 27.762-87.994 46.369-135.404 62.569-36.547 12.13-67.623 36.163-87.952 68.069-18.39 28.251-28.943 59.441-34.53 92.289-10.359 61.099-7.216 121.669 7.1 181.94 1.785 7.76 5.82 12.206 13.424 14.427 8.977 2.629 17.911 5.416 26.845 8.203 18.094 5.648 36.187 11.293 54.628 15.605 66.028 15.445 133.421 21.773 201.123 25.54 8.041 0.454 16.063 1.133 24.080 1.812z","M415.679 0c13.851 1.769 27.477 4.93 40.686 9.409 30.6 10.689 58.415 28.115 81.337 51.036 11.97 11.969 21.379 21.604 28.378 37.826 8.47 19.685 8.281 37.524 8.092 47.197-0.301 16.674-5.645 61.499-6.85 73.769-0.563 5.307-0.49 9.409 4.365 12.722 8.695 5.946 9.185 15.204 8.319 24.313h-0.076c-1.805 22.13-8.279 43.582-18.931 63.043-6.097 10.99-7.905 24.313-12.119 36.432-12.722 36.207-34.026 93.453-85.326 119.804-18.744 9.258-39.333 14.113-60.222 14.189-11.591 0-34.778 0-59.016-13.361-11.291-6.173-17.991-12.796-27.325-21.566h-0.038c-21.905-20.776-39.293-45.804-51.113-73.543-7.413-16.936-12.043-34.927-18.405-52.315-2.257-6.249-5.87-11.97-8.806-17.953l0.038 0.038c-9.71-19.158-14.679-40.31-14.527-61.763 0.073-6.776 1.881-12.722 7.678-16.938 5.042-3.613 5.532-8.168 4.517-14.075h-0.038c-5.12-28.153-7.115-56.757-6.024-85.286 1.507-33.46 20.703-58.338 31.428-72.113 16.411-20.249 37.414-36.282 61.313-46.708v0.038c13.851-6.097 28.492-10.237 43.509-12.307l49.156-1.884z"],"width":1247,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["admin-box"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":142,"id":130,"name":"admin-box","prevSize":32,"code":59688,"codes":[59688]},"setIdx":1,"setId":2,"iconIdx":133},{"icon":{"paths":["M161.684 714.477c1.347 64.226 61.305 103.149 113.852 72.532l422.401-263.043c22.981-14.297 38.621-40.646 38.621-71.411s-15.64-57.114-38.621-71.411l-422.401-262.661c-52.547-30.616-112.505 7.934-113.852 72.159v523.836z"],"width":916,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["triangle"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":143,"id":131,"name":"triangle","prevSize":32,"code":59680},"setIdx":1,"setId":2,"iconIdx":134},{"icon":{"paths":["M657.642 537.607c0 7.869-6.845 14.636-14.8 14.636s-14.8-6.768-14.8-13.494c0-7.867 6.845-14.636 14.8-14.636s14.8 5.625 14.8 13.494zM643.955 462.222c-7.955 0-14.8 6.77-14.8 14.639v13.494c0 7.867 6.845 14.636 14.8 14.636s14.8-6.77 14.8-14.636v-14.639c-1.11-7.869-6.799-13.494-14.8-13.494zM643.955 386.838c-7.955 0-14.8 6.77-14.8 14.639v25.889c0 7.869 6.845 14.639 14.8 14.639s14.8-6.77 14.8-14.639v-25.889c-1.11-9.011-6.799-14.639-14.8-14.639zM879.509 178.662v643.646c0 5.625-3.422 10.11-9.111 12.395l-424.402 182.283h-1.156c-1.156 1.142-3.422 1.142-4.533 1.142-1.156 0-3.422 0-4.533-1.142h-1.156l-425.506-182.329c-5.689-2.241-9.111-6.768-9.111-12.395v-649.271c0-1.143 1.156-1.143 1.156-2.242 0 0 0-1.143 1.156-1.143 0-1.143 1.156-1.143 1.156-2.242l1.156-1.143c1.156 0 1.156-1.143 2.267-1.143h1.156l426.575-164.223c3.422-1.143 6.845-1.143 10.222 0l425.506 164.313h1.156c1.156 0 1.156 0 2.266 1.143l1.156 1.143c1.156 0 1.156 1.143 1.156 2.242l1.156 1.143c0 1.143 1.154 1.143 1.154 2.242v1.143c1.113 1.055 1.113 2.154 1.113 4.44l0.005-0.002zM273.062 94.266l368.617 158.687c2.266 1.142 4.533 2.241 5.689 4.483l180.884-77.626-387.959-150.809-167.231 65.266zM426.662 369.96l-397.108-169.94v612.126l397.062 171.031 0.046-613.217zM604.133 275.41l10.222-4.485-376.582-162.061c-1.156 0-1.156-1.143-2.266-1.143l-184.309 70.901 389.109 167.692 163.826-70.904zM851.065 200.025l-193.422 83.252v69.759c0 7.867-6.845 14.636-14.8 14.636s-14.8-6.77-14.8-14.636v-57.364l-175.195 75.385v612.127l397.062-171.031v-612.126l1.156-0.001z"],"width":887,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["box"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":144,"id":132,"name":"box","prevSize":32,"code":59679},"setIdx":1,"setId":2,"iconIdx":135},{"icon":{"paths":["M869.845 371.635v-194.936l-0.007 0.002c0-2.261 0-3.347-1.099-4.391v-1.13c0-0.538-0.28-0.81-0.562-1.084-0.289-0.28-0.58-0.563-0.58-1.133l-1.142-1.13c0-1.087 0-2.217-1.142-2.217l-1.142-1.13c-0.626-0.644-0.897-0.921-1.222-1.040-0.248-0.090-0.528-0.090-1.022-0.090h-1.142l-420.83-162.507c-3.341-1.13-6.724-1.13-10.11 0l-421.887 162.418h-1.143c-0.544 0-0.819 0.277-1.096 0.557-0.283 0.285-0.569 0.573-1.146 0.573l-1.143 1.13c0 0.538-0.28 0.81-0.563 1.084-0.288 0.28-0.58 0.563-0.58 1.133-1.143 0-1.143 1.13-1.143 1.13 0 0.538-0.28 0.81-0.563 1.084-0.288 0.28-0.58 0.562-0.58 1.133v642.136c0 5.566 3.385 10.042 9.011 12.261l420.83 180.324h1.142c1.099 1.131 3.341 1.131 4.485 1.131 1.099 0 3.341 0 4.483-1.131h1.142l419.74-180.281c5.625-2.26 9.011-6.695 9.011-12.258v-164.272l-29.27 5.646v148.58l-392.699 169.151v-605.4l173.27-74.556v56.734c0 7.782 6.77 14.477 14.639 14.477 7.867 0 14.636-6.697 14.636-14.477v-68.993l190.155-81.845v178.786l29.27-5.468zM840.574 198.317l1.142-0.492-1.142 0.001v0.491zM634.63 250.165l-364.567-156.942 165.392-64.548 383.697 149.152-178.897 76.773c-1.113-2.162-3.272-3.249-5.457-4.349l-0.168-0.086zM29.225 197.825l392.743 168.071-0.043 606.481-392.699-169.151v-605.401zM607.605 267.96l-10.11 4.435-162.024 70.128-163.166-70.124-221.667-95.728 182.284-70.122c0.544 0 0.819 0.277 1.095 0.557 0.284 0.285 0.569 0.573 1.147 0.573l372.442 160.28z","M630.147 525.526c0.159 4.139 1.877 8.936 4.706 11.947l92.672 98.461c6.29 5.634 18.325 7.964 25.338 1.45 6.925-6.426 6.697-18.892-0.18-25.341l-65.161-69.145h319.101c9.594 0 17.376-7.782 17.376-17.374 0-9.594-7.782-17.376-17.376-17.376h-319.101l65.161-69.145c5.928-5.951 7.036-18.846 0.18-25.338-6.831-6.494-19.322-4.412-25.338 1.447l-92.672 98.463c-3.168 3.37-4.706 7.33-4.706 11.944v0.007z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["box-arrow"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":145,"id":133,"name":"box-arrow","prevSize":32,"code":59674},"setIdx":1,"setId":2,"iconIdx":136},{"icon":{"paths":["M642.842 552.243c7.955 0 14.8-6.768 14.8-14.636s-6.845-13.494-14.8-13.494c-7.955 0-14.8 6.77-14.8 14.636 0 6.727 6.845 13.494 14.8 13.494zM629.155 476.861c0-7.869 6.845-14.639 14.8-14.639 8.001 0 13.69 5.625 14.8 13.494v14.639c0 7.867-6.845 14.636-14.8 14.636s-14.8-6.77-14.8-14.636v-13.494zM629.155 401.476c0-7.869 6.845-14.639 14.8-14.639 8.001 0 13.69 5.627 14.8 14.639v25.889c0 7.869-6.845 14.639-14.8 14.639s-14.8-6.77-14.8-14.639v-25.889zM879.509 188.354v-9.692l-0.005 0.002c0-2.286 0-3.385-1.113-4.44v-1.143c0-0.544-0.282-0.819-0.569-1.096-0.291-0.283-0.585-0.569-0.585-1.146l-1.156-1.143c0-1.099 0-2.242-1.156-2.242l-1.156-1.143c-0.633-0.651-0.906-0.931-1.236-1.052-0.25-0.091-0.532-0.091-1.031-0.091h-1.156l-425.506-164.313c-3.377-1.143-6.799-1.143-10.222 0l-426.575 164.223h-1.156c-0.55 0-0.828 0.28-1.108 0.563-0.286 0.289-0.575 0.58-1.158 0.58l-1.156 1.143c0 0.544-0.283 0.819-0.569 1.096-0.292 0.283-0.586 0.568-0.586 1.146-1.156 0-1.156 1.143-1.156 1.143 0 0.544-0.283 0.819-0.569 1.096-0.292 0.283-0.586 0.569-0.586 1.146v649.271c0 5.627 3.422 10.154 9.111 12.395l425.506 182.329h1.156c1.11 1.142 3.377 1.142 4.533 1.142 1.11 0 3.377 0 4.533-1.142h1.156l424.402-182.283c5.689-2.285 9.111-6.77 9.111-12.395v-23.183l-29.6 12.839v0.189l-397.062 171.031v-612.127l175.195-75.385v57.364c0 7.867 6.845 14.636 14.8 14.636s14.8-6.77 14.8-14.636v-69.759l130.291-56.079-0.023-0.353 35.578-14.951 26.419-11.371v0.27l29.6-12.438zM849.909 200.523l1.156-0.497-1.156 0.001v0.496zM641.679 252.953l-368.617-158.687 167.231-65.266 387.959 150.809-180.884 77.626c-1.126-2.185-3.309-3.284-5.518-4.396l-0.171-0.086zM29.554 200.020l397.108 169.94-0.046 613.217-397.062-171.031v-612.126zM614.354 270.925l-10.222 4.485-163.826 70.904-164.978-70.899-224.131-96.792 184.309-70.901c0.551 0 0.828 0.28 1.108 0.563 0.287 0.289 0.576 0.58 1.158 0.58l376.582 162.061z","M1148.659 383.108c-19.515-9.166-29.514 11.123-29.514 11.123l-48.827 79.742-9.817-5.652 35.062-129.224c0 0 4.628-21.468-15.629-25.641-22.519-4.913-29.191 13.080-29.191 13.080l-32.939 125.952-10.98-3.015 16.027-150.915c0 0 1.363-23.525-21.276-25.382-22.66-1.877-25.466 21.226-25.466 21.226l-15.387 150.933h-9.817l-11.441-139.89c0 0-5.188-22.785-24.986-22.785-19.795 0-20.776 26.761-20.776 26.761l5.029 172.080-5.029 5.511-37.528-29.434c0 0-17.631-13.999-31.735 0.319-12.743 12.921 1.764 32.652 1.764 32.652l74.053 114.105 163.815 9.746 94.909-204.411c0 0 7.455-18.154-10.317-26.881z","M864.711 679.706v25.716h204.8v-56.88l-187.351-11.387-17.449 42.551z"],"width":1161,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["box-hand"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":146,"id":134,"name":"box-hand","prevSize":32,"code":59677},"setIdx":1,"setId":2,"iconIdx":137},{"icon":{"paths":["M640 130.009v468.366c0 4.096-2.492 7.36-6.63 9.024l-308.829 132.642h-0.841c-0.841 0.832-2.49 0.832-3.299 0.832-0.841 0-2.49 0-3.299-0.832h-0.841l-309.632-132.676c-4.14-1.63-6.63-4.928-6.63-9.020v-472.462c0-0.832 0.841-0.832 0.841-1.631 0 0 0-0.832 0.841-0.832 0-0.832 0.841-0.832 0.841-1.632l0.841-0.832c0.841 0 0.841-0.832 1.649-0.832h0.841l310.41-119.501c2.49-0.832 4.981-0.832 7.439 0l309.633 119.567h0.841c0.841 0 0.841 0 1.647 0.832l0.841 0.832c0.845 0 0.845 0.832 0.845 1.631l0.841 0.832c0 0.832 0.841 0.832 0.841 1.632v0.832c0.806 0.768 0.806 1.567 0.806 3.23l0.004-0.001zM198.701 68.595l268.235 115.473c1.651 0.832 3.298 1.631 4.139 3.262l131.627-56.487-282.31-109.741-121.69 47.493zM310.473 269.211l-288.966-123.661v445.43l288.934 124.459 0.033-446.228zM439.616 200.41l7.437-3.262-274.031-117.929c-0.841 0-0.841-0.832-1.649-0.832l-134.118 51.593 283.146 122.027 119.215-51.597zM619.302 145.554l-140.749 60.581v50.761c0 5.725-4.983 10.651-10.769 10.651-5.79 0-10.773-4.925-10.773-10.651v-41.742l-127.484 54.856v445.433l288.934-124.454v-445.434l0.841-0.001z","M981.431 618.667c0 0-20.267 0-21.073 16.593s0 248.887 0 265.481c0 16.593 21.073 16.593 21.073 16.593s21.077 0 21.077-16.593c0-16.593 0.354-248.892 0-265.481-0.354-16.593-21.077-16.593-21.077-16.593z","M1130.62 768.427c0 0 0.047-20.267-16.542-21.111-16.585-0.841-248.811-0.546-265.395-0.585-16.589-0.038-16.636 21.039-16.636 21.039s-0.047 21.073 16.542 21.111c16.585 0.038 248.811 0.905 265.395 0.585 16.589-0.316 16.636-21.039 16.636-21.039z","M981.333 1024c-141.385 0-256-114.615-256-256s114.615-256 256-256c141.385 0 256 114.615 256 256s-114.615 256-256 256zM981.333 981.333c117.82 0 213.333-95.514 213.333-213.333s-95.514-213.333-213.333-213.333c-117.82 0-213.333 95.514-213.333 213.333s95.514 213.333 213.333 213.333z"],"width":1237,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["box-plus"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":147,"id":135,"name":"box-plus","prevSize":32,"code":59678},"setIdx":1,"setId":2,"iconIdx":138},{"icon":{"paths":["M343.243 1024c-11.329-0.906-22.657-1.997-34.024-2.638-67.702-3.767-135.095-10.095-201.123-25.54-27.545-6.44-54.316-15.859-81.473-23.808-7.604-2.222-11.639-6.667-13.424-14.427-14.316-60.271-17.458-120.841-7.1-181.94 5.587-32.848 16.139-64.038 34.529-92.289l0.039-0.038c20.291-31.869 51.367-55.901 87.914-68.031 47.409-16.199 93.655-34.807 135.402-62.569 8.303-5.501 16.217-11.602 25.335-18.12 73.715 70.291 148.631 70.518 222.773-0.338 24.87 20.304 52.571 37.18 82.249 50.062 24.133 10.623 48.651 20.718 73.715 29.155 55.401 18.835 91.871 55.677 112.121 108.41 23.278 60.498 24.908 122.953 16.76 186.090-2.095 16.046-6.128 31.869-8.613 47.914-1.474 9.419-7.061 13.751-15.83 16.952l0.040 0.038c-41.474 15.331-84.538 26.219-128.421 32.434-40.156 5.725-80.62 9.719-120.972 13.862-18.973 1.883-38.177 2.335-57.224 3.504-2.64 0.301-5.238 0.715-7.76 1.318h-114.915z","M414.152 0c13.851 1.769 27.477 4.93 40.686 9.409 30.6 10.689 58.415 28.115 81.337 51.036 11.97 11.969 21.379 21.604 28.378 37.826 8.468 19.685 8.281 37.524 8.092 47.197-0.301 16.674-5.645 61.499-6.85 73.769-0.563 5.307-0.49 9.409 4.365 12.722 8.695 5.946 9.185 15.204 8.319 24.313h-0.076c-1.805 22.13-8.279 43.582-18.931 63.043-6.097 10.99-7.905 24.313-12.119 36.432-12.722 36.207-34.026 93.453-85.326 119.804-18.744 9.258-39.333 14.113-60.222 14.189-11.591 0-34.778 0-59.016-13.361-11.293-6.173-17.991-12.796-27.325-21.566h-0.038c-21.905-20.776-39.293-45.804-51.113-73.543-7.413-16.936-12.043-34.927-18.405-52.315-2.257-6.249-5.87-11.97-8.806-17.953l0.038 0.038c-9.71-19.158-14.679-40.31-14.53-61.763 0.076-6.776 1.883-12.722 7.68-16.938 5.042-3.613 5.532-8.168 4.517-14.075h-0.038c-5.12-28.153-7.115-56.757-6.024-85.286 1.507-33.46 20.703-58.338 31.428-72.113 16.411-20.249 37.414-36.282 61.313-46.708v0.038c13.851-6.097 28.492-10.237 43.509-12.307l49.156-1.884z"],"width":801,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["user"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":148,"id":136,"name":"user","prevSize":32,"code":59659},"setIdx":1,"setId":2,"iconIdx":139},{"icon":{"paths":["M286.036 853.33c-9.44-0.752-18.881-1.661-28.354-2.195-56.417-3.139-112.579-8.415-167.602-21.281-22.955-5.369-45.263-13.219-67.894-19.843-6.337-1.852-9.699-5.556-11.187-12.021-11.93-50.225-14.549-100.699-5.916-151.619 4.656-27.372 13.45-53.364 28.775-76.907l0.032-0.031c16.909-26.557 42.806-46.588 73.261-56.694 39.508-13.499 78.046-29.006 112.835-52.139 6.919-4.586 13.514-9.67 21.112-15.102 61.428 58.577 123.86 58.764 185.645-0.28 20.722 16.918 43.807 30.983 68.539 41.717 20.11 8.855 40.546 17.266 61.431 24.3 46.169 15.694 76.56 46.396 93.433 90.339 19.398 50.416 20.756 102.462 13.966 155.074-1.745 13.374-5.107 26.557-7.177 39.932-1.229 7.849-5.881 11.455-13.192 14.127l0.036 0.031c-34.562 12.773-70.451 21.847-107.017 27.025-33.463 4.773-67.183 8.103-100.811 11.553-15.81 1.572-31.814 1.946-47.688 2.921-2.198 0.249-4.364 0.597-6.466 1.1l-95.762-0.004z","M345.125 0c11.542 1.474 22.897 4.109 33.906 7.841 25.5 8.908 48.678 23.429 67.78 42.53 9.973 9.974 17.813 18.003 23.65 31.521 7.057 16.404 6.901 31.27 6.741 39.331-0.249 13.895-4.701 51.249-5.708 61.474-0.472 4.422-0.405 7.841 3.637 10.601 7.248 4.956 7.653 12.671 6.932 20.261h-0.062c-1.505 18.443-6.901 36.319-15.774 52.536-5.084 9.158-6.589 20.261-10.102 30.36-10.601 30.172-28.352 77.877-71.104 99.836-15.62 7.716-32.776 11.761-50.184 11.825-9.66 0-28.981 0-49.18-11.134-9.41-5.144-14.993-10.663-22.771-17.972h-0.032c-18.254-17.313-32.745-38.171-42.594-61.286-6.179-14.114-10.037-29.106-15.338-43.597-1.882-5.207-4.893-9.974-7.339-14.961l0.032 0.032c-8.092-15.965-12.232-33.592-12.107-51.469 0.063-5.646 1.568-10.601 6.398-14.114 4.203-3.011 4.611-6.806 3.764-11.73h-0.031c-4.266-23.461-5.928-47.297-5.018-71.072 1.255-27.884 17.25-48.615 26.189-60.095 13.675-16.874 31.177-30.235 51.094-38.923v0.031c11.542-5.081 23.743-8.531 36.258-10.256l40.963-1.57z","M979.581 601.043c0 0-21.148 0-21.989 17.315s0 259.709 0 277.023c0 17.315 21.989 17.315 21.989 17.315s21.994 0 21.994-17.315c0-17.315 0.37-259.713 0-277.023-0.37-17.315-21.994-17.315-21.994-17.315z","M1135.255 757.315c0 0 0.049-21.148-17.261-22.029-17.306-0.877-259.629-0.57-276.934-0.61-17.31-0.040-17.359 21.954-17.359 21.954s-0.049 21.989 17.261 22.029c17.306 0.040 259.629 0.944 276.934 0.61 17.31-0.329 17.359-21.954 17.359-21.954z","M979.478 1024c-147.532 0-267.13-119.599-267.13-267.13s119.599-267.13 267.13-267.13c147.532 0 267.13 119.599 267.13 267.13s-119.599 267.13-267.13 267.13zM979.478 979.478c122.942 0 222.609-99.666 222.609-222.609s-99.666-222.609-222.609-222.609c-122.942 0-222.609 99.666-222.609 222.609s99.666 222.609 222.609 222.609z"],"width":1247,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["user-plus"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":149,"id":137,"name":"user-plus","prevSize":32,"code":59673},"setIdx":1,"setId":2,"iconIdx":140},{"icon":{"paths":["M324.65 614.4l-71.97 75.627-143.945 148.109-73.527 73.975-35.208 111.889 108.733-36.211 71.97-75.678 143.945-148.058 73.574-74.027-73.572-75.627z","M833.331 197.89c-2.586-2.845-20.723-21.034-29.474-30.316-24.759-25.465-162.871-167.573-162.871-167.573l-13.828 44.541c-12.019 37.125-16.145 71.871-17.37 105.172l-218.331 224.609c-47.022-5.504-98.077-4.384-147.316 10.68l-45.026 14.272 436.7 449.182 13.833-46.357c14.507-49.997 15.415-100.134 10.428-147.947l218.334-226.389c32.964-1.024 67.332-7.041 103.97-19.587l41.626-14.225-190.673-196.062zM866.249 372.557h-12.109l-249.57 256.657 3.49 14.225c4.535 26.863-3.217 57.69-6.938 87.356l-285.935-294.114c28.249-3.588 57.586-11.611 83.16-7.134l13.875 1.771 249.525-256.701v-12.453c-0.183-15.064 7.39-32.928 10.381-49.905l100.527 103.4c7.3 7.789 18.001 18.33 20.77 21.361l123.063 126.584c-16.777 3.265-35.366 9.188-50.24 8.955v-0.002z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["pin"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":150,"id":138,"name":"pin","prevSize":32,"code":59663},"setIdx":1,"setId":2,"iconIdx":141},{"icon":{"paths":["M308.049 35.31c-1.654 0.126-2.748 0.529-3.354 1.007l-250.42 180.467c-2.19 1.511-3.168 4.582-2.422 7.251s3.191 4.708 5.776 4.633h41.737v244.919h-41.737c-3.121 0-5.963 3.072-5.963 6.444v45.12h-5.962c-3.121 0-5.963 3.068-5.963 6.444v51.56c0 3.376 2.841 6.448 5.963 6.448h524.689c3.121 0 5.964-3.072 5.964-6.448v-51.56c0-3.376-2.842-6.444-5.964-6.444h-5.96v-45.12c0-3.372-2.842-6.444-5.964-6.444h-41.737v-244.919h41.737c2.585 0.076 5.032-1.964 5.777-4.633s-0.233-5.74-2.422-7.251l-250.42-180.467c-1.328-1.007-2.282-0.982-3.354-1.007zM308.050 49.408l230.857 166.365h-461.715l230.858-166.365zM308.048 112.653c-16.396 0-29.812 14.502-29.812 32.226s13.415 32.226 29.812 32.226c16.397 0 29.812-14.502 29.812-32.226s-13.415-32.226-29.812-32.226zM308.049 125.543c9.946 0 17.888 8.585 17.888 19.336s-7.942 19.336-17.888 19.336c-9.945 0-17.887-8.585-17.887-19.336s7.942-19.336 17.887-19.336zM111.289 228.668h35.774v244.918h-35.774v-244.918zM158.989 228.668h59.624v244.918h-59.624v-244.918zM230.539 228.668h35.774v244.918h-35.774v-244.918zM278.236 228.668h59.624v244.918h-59.624v-244.918zM349.787 228.668h35.774v244.918h-35.774v-244.918zM397.485 228.668h59.622v244.918h-59.622v-244.918zM469.034 228.668h35.773v244.918h-35.773v-244.918zM63.591 486.478h488.917v38.672h-488.917v-38.672zM51.666 538.038h512.766v38.672h-512.766v-38.672z","M308.049 35.31l0.208-8.825-0.439-0.010-0.438 0.033 0.67 8.802zM304.695 36.317l5.166 7.169 0.306-0.242-5.472-6.927zM54.275 216.784l5.014 7.267 0.147-0.106-5.161-7.162zM57.629 228.667v-8.831l-0.258 0.008 0.258 8.824zM99.365 228.667h8.828v-8.828h-8.828v8.828zM99.365 473.586v8.828h8.828v-8.828h-8.828zM51.666 525.15v8.828h8.828v-8.828h-8.828zM564.432 525.15h-8.828v8.828h8.828v-8.828zM516.732 473.586h-8.828v8.828h8.828v-8.828zM516.732 228.667v-8.828h-8.828v8.828h8.828zM558.468 228.667l0.258-8.828h-0.258v8.828zM561.823 216.784l-5.162 7.163 0.148 0.103 5.014-7.266zM311.403 36.317l-5.337 7.035 0.175 0.126 5.161-7.162zM308.050 49.408l5.161-7.162-5.161-3.719-5.161 3.719 5.161 7.162zM538.906 215.774v8.828h27.348l-22.185-15.989-5.162 7.162zM77.192 215.774l-5.161-7.162-22.188 15.989h27.349v-8.828zM111.289 228.668v-8.828h-8.828v8.828h8.828zM147.063 228.668h8.828v-8.828h-8.828v8.828zM147.063 473.586v8.828h8.828v-8.828h-8.828zM111.289 473.586h-8.828v8.828h8.828v-8.828zM158.989 228.668v-8.828h-8.828v8.828h8.828zM218.613 228.668h8.828v-8.828h-8.828v8.828zM218.613 473.586v8.828h8.828v-8.828h-8.828zM158.989 473.586h-8.828v8.828h8.828v-8.828zM230.539 228.668v-8.828h-8.828v8.828h8.828zM266.312 228.668h8.828v-8.828h-8.828v8.828zM266.312 473.586v8.828h8.828v-8.828h-8.828zM230.539 473.586h-8.828v8.828h8.828v-8.828zM278.236 228.668v-8.828h-8.828v8.828h8.828zM337.86 228.668h8.828v-8.828h-8.828v8.828zM337.86 473.586v8.828h8.828v-8.828h-8.828zM278.236 473.586h-8.828v8.828h8.828v-8.828zM349.787 228.668v-8.828h-8.828v8.828h8.828zM385.561 228.668h8.828v-8.828h-8.828v8.828zM385.561 473.586v8.828h8.828v-8.828h-8.828zM349.787 473.586h-8.828v8.828h8.828v-8.828zM397.485 228.668v-8.828h-8.828v8.828h8.828zM457.107 228.668h8.828v-8.828h-8.828v8.828zM457.107 473.586v8.828h8.828v-8.828h-8.828zM397.485 473.586h-8.828v8.828h8.828v-8.828zM469.034 228.668v-8.828h-8.828v8.828h8.828zM504.807 228.668h8.828v-8.828h-8.828v8.828zM504.807 473.586v8.828h8.828v-8.828h-8.828zM469.034 473.586h-8.828v8.828h8.828v-8.828zM63.591 486.478v-8.828h-8.828v8.828h8.828zM552.508 486.478h8.828v-8.828h-8.828v8.828zM552.508 525.15v8.828h8.828v-8.828h-8.828zM63.591 525.15h-8.828v8.828h8.828v-8.828zM51.666 538.038v-8.828h-8.828v8.828h8.828zM564.432 538.038h8.828v-8.828h-8.828v8.828zM564.432 576.71v8.828h8.828v-8.828h-8.828zM51.666 576.71h-8.828v8.828h8.828v-8.828zM307.379 26.508c-2.518 0.192-5.609 0.87-8.156 2.882l10.944 13.854c-0.74 0.585-1.344 0.796-1.522 0.852-0.209 0.066-0.209 0.037 0.073 0.016l-1.34-17.604zM299.534 29.156l-250.421 180.467 10.322 14.323 250.421-180.467-10.322-14.323zM49.261 209.518c-5.629 3.883-7.555 11.006-5.911 16.891l17.005-4.749c0.124 0.442 0.085 0.796-0.007 1.077-0.092 0.278-0.358 0.829-1.059 1.313l-10.027-14.532zM43.35 226.409c1.642 5.878 7.214 11.296 14.536 11.082l-0.516-17.647c1.137-0.034 1.892 0.398 2.242 0.682s0.608 0.656 0.742 1.135l-17.005 4.749zM57.629 237.495h41.737v-17.655h-41.737v17.655zM90.538 228.667v244.919h17.655v-244.919h-17.655zM99.365 464.758h-41.737v17.655h41.737v-17.655zM57.629 464.758c-4.486 0-8.205 2.168-10.632 4.792-2.445 2.641-4.158 6.342-4.158 10.48h17.655c0 0.766-0.292 1.243-0.537 1.508-0.226 0.244-0.964 0.876-2.328 0.876v-17.655zM42.839 480.030v45.12h17.655v-45.12h-17.655zM51.666 516.322h-5.962v17.655h5.962v-17.655zM45.704 516.322c-4.486 0-8.205 2.165-10.632 4.788-2.445 2.645-4.158 6.342-4.158 10.484h17.655c0 0.766-0.293 1.243-0.537 1.508-0.226 0.244-0.964 0.876-2.328 0.876v-17.655zM30.914 531.594v51.56h17.655v-51.56h-17.655zM30.914 583.154c0 4.142 1.713 7.839 4.158 10.484 2.427 2.624 6.146 4.792 10.632 4.792v-17.655c1.365 0 2.102 0.629 2.328 0.876 0.244 0.261 0.537 0.738 0.537 1.504h-17.655zM45.704 598.429h524.689v-17.655h-524.689v17.655zM570.393 598.429c4.488 0 8.206-2.168 10.632-4.792 2.447-2.645 4.16-6.342 4.16-10.484h-17.655c0-0.766 0.293-1.243 0.537-1.504 0.226-0.247 0.964-0.876 2.327-0.876v17.655zM585.184 583.154v-51.56h-17.655v51.56h17.655zM585.184 531.594c0-4.142-1.713-7.839-4.16-10.484-2.426-2.624-6.144-4.788-10.632-4.788v17.655c-1.363 0-2.101-0.632-2.327-0.876-0.244-0.265-0.537-0.742-0.537-1.508h17.655zM570.393 516.322h-5.96v17.655h5.96v-17.655zM573.26 525.15v-45.12h-17.655v45.12h17.655zM573.26 480.030c0-4.138-1.713-7.839-4.16-10.48-2.426-2.624-6.144-4.792-10.632-4.792v17.655c-1.363 0-2.101-0.632-2.327-0.876-0.244-0.265-0.537-0.738-0.537-1.508h17.655zM558.468 464.758h-41.737v17.655h41.737v-17.655zM525.559 473.586v-244.919h-17.655v244.919h17.655zM516.732 237.495h41.737v-17.655h-41.737v17.655zM558.211 237.491c7.323 0.214 12.895-5.204 14.537-11.082l-17.005-4.749c0.134-0.479 0.392-0.85 0.742-1.135 0.353-0.284 1.105-0.715 2.242-0.682l-0.516 17.647zM572.748 226.409c1.642-5.885-0.282-13.008-5.911-16.891l-10.028 14.532c-0.699-0.484-0.968-1.035-1.059-1.313-0.092-0.28-0.131-0.634-0.007-1.077l17.005 4.749zM566.985 209.622l-250.421-180.467-10.322 14.323 250.419 180.467 10.325-14.323zM316.738 29.284c-1.582-1.2-3.289-2.022-5.147-2.446-1.595-0.364-3.111-0.348-3.335-0.354l-0.415 17.65c0.207 0.005 0.245 0.005 0.357 0.008 0.076 0.002 0.088 0.004 0.069 0.002-0.048-0.003-0.278-0.020-0.599-0.093-0.337-0.077-0.678-0.193-0.998-0.345-0.309-0.147-0.511-0.287-0.603-0.357l10.67-14.066zM302.889 56.57l230.859 166.365 10.321-14.323-230.858-166.365-10.322 14.323zM538.906 206.946h-461.715v17.655h461.715v-17.655zM82.353 222.935l230.858-166.365-10.322-14.323-230.858 166.365 10.322 14.323zM308.048 103.825c-21.907 0-38.639 19.114-38.639 41.054h17.655c0-13.509 10.098-23.399 20.984-23.399v-17.655zM269.408 144.879c0 21.94 16.733 41.054 38.639 41.054v-17.655c-10.887 0-20.984-9.89-20.984-23.399h-17.655zM308.048 185.933c21.907 0 38.64-19.114 38.64-41.054h-17.655c0 13.509-10.098 23.399-20.985 23.399v17.655zM346.688 144.879c0-21.94-16.733-41.054-38.64-41.054v17.655c10.887 0 20.985 9.89 20.985 23.399h17.655zM308.049 134.371c4.436 0 9.060 3.973 9.060 10.508h17.655c0-14.966-11.26-28.163-26.715-28.163v17.655zM317.109 144.879c0 6.535-4.624 10.508-9.060 10.508v17.655c15.455 0 26.715-13.197 26.715-28.163h-17.655zM308.049 155.387c-4.435 0-9.060-3.973-9.060-10.508h-17.655c0 14.966 11.26 28.163 26.715 28.163v-17.655zM298.989 144.879c0-6.535 4.624-10.508 9.060-10.508v-17.655c-15.455 0-26.715 13.197-26.715 28.163h17.655zM111.289 237.496h35.774v-17.655h-35.774v17.655zM138.235 228.668v244.918h17.655v-244.918h-17.655zM147.063 464.758h-35.774v17.655h35.774v-17.655zM120.116 473.586v-244.918h-17.655v244.918h17.655zM158.989 237.496h59.624v-17.655h-59.624v17.655zM209.785 228.668v244.918h17.655v-244.918h-17.655zM218.613 464.758h-59.624v17.655h59.624v-17.655zM167.817 473.586v-244.918h-17.655v244.918h17.655zM230.539 237.496h35.774v-17.655h-35.774v17.655zM257.485 228.668v244.918h17.655v-244.918h-17.655zM266.312 464.758h-35.774v17.655h35.774v-17.655zM239.366 473.586v-244.918h-17.655v244.918h17.655zM278.236 237.496h59.624v-17.655h-59.624v17.655zM329.032 228.668v244.918h17.655v-244.918h-17.655zM337.86 464.758h-59.624v17.655h59.624v-17.655zM287.064 473.586v-244.918h-17.655v244.918h17.655zM349.787 237.496h35.774v-17.655h-35.774v17.655zM376.733 228.668v244.918h17.655v-244.918h-17.655zM385.561 464.758h-35.774v17.655h35.774v-17.655zM358.615 473.586v-244.918h-17.656v244.918h17.656zM397.485 237.496h59.622v-17.655h-59.622v17.655zM448.279 228.668v244.918h17.655v-244.918h-17.655zM457.107 464.758h-59.622v17.655h59.622v-17.655zM406.313 473.586v-244.918h-17.655v244.918h17.655zM469.034 237.496h35.773v-17.655h-35.773v17.655zM495.98 228.668v244.918h17.655v-244.918h-17.655zM504.807 464.758h-35.773v17.655h35.773v-17.655zM477.862 473.586v-244.918h-17.655v244.918h17.655zM63.591 495.305h488.917v-17.655h-488.917v17.655zM543.68 486.478v38.672h17.655v-38.672h-17.655zM552.508 516.322h-488.917v17.655h488.917v-17.655zM72.419 525.15v-38.672h-17.655v38.672h17.655zM51.666 546.865h512.766v-17.655h-512.766v17.655zM555.605 538.038v38.672h17.655v-38.672h-17.655zM564.432 567.882h-512.766v17.655h512.766v-17.655zM60.494 576.71v-38.672h-17.655v38.672h17.655z","M812.219 688.552c0 0-16.772 0-17.44 13.732s0 205.976 0 219.708c0 13.732 17.44 13.732 17.44 13.732s17.443 0 17.443-13.732c0-13.732 0.293-205.979 0-219.708-0.293-13.732-17.443-13.732-17.443-13.732z","M935.685 812.491c0 0 0.039-16.772-13.69-17.472-13.725-0.696-205.912-0.452-219.637-0.484-13.729-0.032-13.768 17.412-13.768 17.412s-0.039 17.44 13.69 17.472c13.725 0.032 205.912 0.749 219.637 0.484 13.729-0.261 13.768-17.412 13.768-17.412z","M812.138 1024c-117.008 0-211.862-94.854-211.862-211.862s94.854-211.862 211.862-211.862c117.008 0 211.862 94.854 211.862 211.862s-94.854 211.862-211.862 211.862zM812.138 988.69c97.506 0 176.552-79.046 176.552-176.552s-79.046-176.552-176.552-176.552c-97.506 0-176.552 79.046-176.552 176.552s79.046 176.552 176.552 176.552z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["bank-plus"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":151,"id":139,"name":"bank-plus","prevSize":32,"code":59665},"setIdx":1,"setId":2,"iconIdx":142},{"icon":{"paths":["M682.765 618.667c0 0-20.267 0-21.073 16.593s0 248.887 0 265.481c0 16.593 21.073 16.593 21.073 16.593s21.077 0 21.077-16.593c0-16.593 0.354-248.892 0-265.481-0.354-16.593-21.077-16.593-21.077-16.593z","M831.953 768.427c0 0 0.047-20.267-16.542-21.111-16.585-0.841-248.811-0.546-265.395-0.585-16.589-0.038-16.636 21.039-16.636 21.039s-0.047 21.073 16.542 21.111c16.585 0.038 248.811 0.905 265.395 0.585 16.589-0.316 16.636-21.039 16.636-21.039z","M682.667 1024c-141.385 0-256-114.615-256-256s114.615-256 256-256c141.385 0 256 114.615 256 256s-114.615 256-256 256zM682.667 981.333c117.82 0 213.333-95.514 213.333-213.333s-95.514-213.333-213.333-213.333c-117.82 0-213.333 95.514-213.333 213.333s95.514 213.333 213.333 213.333z","M313.507 57.692c-52.406 52.623-67.67 127.415-48.364 194.291l-247.899 248.924c-2.739 2.748-4.476 6.37-4.91 10.227l-11.524 109.841c-0.568 5.363 1.369 10.662 5.277 14.353s9.285 5.333 14.563 4.429l144.555-24.853c7.649-1.276 13.46-7.612 14.161-15.36l4.71-52.557 52.339-4.727c8.25-0.738 14.764-7.313 15.498-15.561l4.71-52.557 52.372-4.727c3.974-0.371 7.715-2.116 10.555-4.932l78.592-78.916c66.536 19.284 141.121 4.024 193.49-48.564 76.655-76.971 76.655-202.301 0-279.274s-201.468-76.971-278.124 0l-0.002-0.037zM337.69 81.975c63.595-63.857 166.17-63.857 229.76 0s63.595 166.858 0 230.711c-45.892 46.082-112.051 58.357-169.307 37.932h0.033c-6.246-2.147-13.16-0.536-17.769 4.192l-80.496 80.828-60.656 5.5c-8.216 0.738-14.73 7.279-15.498 15.561l-4.71 52.557-52.339 4.727c-8.216 0.738-14.763 7.279-15.498 15.565l-4.71 53.696-109.387 18.782 8.317-80.832 250.334-251.367c4.676-4.729 6.246-11.772 3.941-18.044-20.308-57.485-7.916-123.723 37.976-169.803l0.006-0.005zM446.515 106.256c-26.586 26.697-26.586 70.464 0 97.124 26.586 26.697 70.174 26.697 96.725 0 26.586-26.697 26.586-70.464 0-97.124-26.59-26.697-70.174-26.697-96.725 0zM470.694 130.536c13.495-13.549 34.871-13.549 48.367 0s13.495 35.014 0 48.564c-13.495 13.549-34.871 13.549-48.367 0-13.491-13.55-13.491-35.014 0-48.564z"],"width":939,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["key-plus"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":152,"id":140,"name":"key-plus","prevSize":32,"code":59672},"setIdx":1,"setId":2,"iconIdx":143},{"icon":{"paths":["M650.16 496.653v-0.735c0 21.691-16.927 40.078-38.899 40.078h-531.095c-21.973 0-38.901-18.356-38.901-40.078l0.030-28.405h64.278c10.151 0 16.928-6.692 16.928-16.709 0-10.020-6.777-16.709-16.928-16.709h-64.278v-133.551h64.278c10.151 0 16.928-6.689 16.928-16.709s-6.777-16.709-16.928-16.709h-64.278v-133.55h64.278c10.151 0 16.928-6.689 16.928-16.709s-6.777-16.709-16.928-16.709h-64.278v-26.698c0-21.688 16.928-40.077 38.901-40.077h531.091c21.976 0 38.903 18.358 38.903 40.077 0 10.019 6.776 16.709 16.927 16.709s16.927-6.689 16.927-16.709c0-40.077-32.122-73.463-72.726-73.463h-531.092c-40.604 0-72.727 33.387-72.727 73.463v420.679c0 40.074 32.124 73.461 72.727 73.461h16.928v50.096c0 26.7 21.973 50.096 50.753 50.096h62.576c27.049 0 50.753-21.687 50.753-50.096v-50.096h169.127v50.096c0 26.7 21.971 50.096 50.755 50.096h62.575c27.047 0 50.755-21.687 50.755-50.096v-50.096h16.927c40.604 0 72.726-33.387 72.726-73.461v0.735c-0.12-8.281-6.87-14.941-17.021-14.941-10.147 0.009-16.923 6.701-16.923 16.718zM227.327 617.77c0 8.339-6.777 16.709-16.928 16.709h-62.576c-8.449 0-16.929-6.692-16.929-16.709v-50.096h96.405l0.028 50.096zM560.538 617.77c0 8.339-6.776 16.709-16.927 16.709h-62.58c-8.446 0-16.927-6.692-16.927-16.709v-50.096h96.407l0.027 50.096z","M345.728 167.033c-65.95 0-118.407 51.745-118.407 116.871 0 65.094 52.426 116.871 118.407 116.871 65.95 0 118.407-51.745 118.407-116.871 0-10.019-6.776-16.709-16.927-16.709s-16.929 6.689-16.929 16.709c0 46.735-37.199 83.481-84.579 83.481-47.349 0-84.579-36.716-84.579-83.481 0-46.735 37.199-83.481 84.579-83.481 10.151 0 16.929-6.689 16.929-16.709 0.030-10.019-6.747-16.679-16.898-16.679l-0.003-0.002z","M333.878 295.57c3.373 3.33 8.448 5.010 11.852 5.010 3.373 0 8.448-1.68 11.853-5.010l71.024-70.103c6.777-6.689 6.777-16.709 0-23.369-6.778-6.689-16.928-6.689-23.675 0l-71.024 70.104c-6.777 6.66-6.777 16.679-0.030 23.368h0.001z","M650 71.136h34.053v426.807h-34.053v-426.807z","M979.478 1024c-147.532 0-267.13-119.599-267.13-267.13s119.599-267.13 267.13-267.13c147.532 0 267.13 119.599 267.13 267.13s-119.599 267.13-267.13 267.13zM979.478 979.478c122.942 0 222.609-99.666 222.609-222.609s-99.666-222.609-222.609-222.609c-122.942 0-222.609 99.666-222.609 222.609s99.666 222.609 222.609 222.609z","M979.581 601.043c0 0-21.148 0-21.989 17.315s0 259.709 0 277.023c0 17.315 21.989 17.315 21.989 17.315s21.994 0 21.994-17.315c0-17.315 0.37-259.713 0-277.023-0.37-17.315-21.994-17.315-21.994-17.315z","M1135.255 757.315c0 0 0.049-21.148-17.261-22.029-17.306-0.877-259.629-0.57-276.934-0.61-17.31-0.040-17.359 21.954-17.359 21.954s-0.049 21.989 17.261 22.029c17.306 0.040 259.629 0.944 276.934 0.61 17.31-0.329 17.359-21.954 17.359-21.954z"],"width":1247,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["safe-plus"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":153,"id":141,"name":"safe-plus","prevSize":32,"code":59667},"setIdx":1,"setId":2,"iconIdx":144},{"icon":{"paths":["M493.978 92.308c-82.761 84.195-106.867 203.864-76.378 310.865l-391.493 398.276c-4.325 4.398-7.068 10.195-7.754 16.365l-18.199 175.745c-0.897 8.585 2.163 17.065 8.334 22.966 6.171 5.903 14.663 8.533 22.998 7.085l228.289-39.762c12.078-2.041 21.256-12.183 22.364-24.578l7.437-84.089 82.656-7.566c13.029-1.181 23.316-11.697 24.476-24.9l7.437-84.087 82.708-7.566c6.277-0.591 12.186-3.382 16.67-7.89l124.116-126.266c105.072 30.856 222.861 6.439 305.569-77.7 121.058-123.154 121.058-323.683 0-446.839-121.056-123.156-318.169-123.154-439.227 0l-0.002-0.059zM532.168 131.159c100.433-102.172 262.427-102.172 362.853 0s100.433 266.974 0 369.139c-72.475 73.733-176.964 93.372-267.383 60.692h0.052c-9.864-3.434-20.782-0.86-28.060 6.708l-127.124 129.324-95.792 8.802c-12.976 1.181-23.261 11.645-24.474 24.9l-7.437 84.087-82.658 7.566c-12.974 1.181-23.314 11.645-24.474 24.9l-7.437 85.914-172.75 30.051 13.134-129.326 395.341-402.191c7.385-7.566 9.864-18.834 6.225-28.87-32.073-91.977-12.502-197.958 59.973-271.686l0.010-0.008zM704.029 170.010c-41.989 42.715-41.989 112.742 0 155.398 41.986 42.715 110.823 42.715 152.752 0 41.986-42.715 41.986-112.743 0-155.398-41.989-42.715-110.825-42.715-152.752 0zM742.217 208.858c21.311-21.679 55.070-21.679 76.378 0 21.311 21.679 21.311 56.022 0 77.702-21.309 21.678-55.067 21.678-76.378 0-21.309-21.68-21.309-56.023 0-77.702z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["key"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":154,"id":142,"name":"key","prevSize":32,"code":59668},"setIdx":1,"setId":2,"iconIdx":145},{"icon":{"paths":["M961.186 752.578v-1.113c0 32.862-25.317 60.729-58.182 60.729h-794.321c-32.863 0-58.182-27.818-58.182-60.729l0.045-43.046h96.136c15.182 0 25.318-10.135 25.318-25.317s-10.136-25.32-25.318-25.32h-96.136v-202.367h96.136c15.182 0 25.318-10.138 25.318-25.32s-10.136-25.317-25.318-25.317h-96.136v-202.369h96.136c15.182 0 25.318-10.136 25.318-25.318s-10.136-25.318-25.318-25.318h-96.136v-40.455c0-32.864 25.318-60.728 58.182-60.728h794.322c32.862 0 58.182 27.818 58.182 60.728 0 15.182 10.135 25.318 25.317 25.318s25.32-10.137 25.32-25.318c0-60.728-48.044-111.318-108.773-111.318h-794.322c-60.728 0-108.773 50.592-108.773 111.318v637.452c0 60.726 48.046 111.317 108.773 111.317h25.318v75.908c0 40.456 32.863 75.911 75.909 75.911h93.591c40.456 0 75.908-32.865 75.908-75.911v-75.908h252.952v75.908c0 40.456 32.862 75.911 75.908 75.911h93.591c40.456 0 75.908-32.865 75.908-75.911v-75.908h25.32c60.729 0 108.773-50.591 108.773-111.317v1.113c-0.183-12.547-10.272-22.636-25.454-22.636-15.174 0.011-25.312 10.148-25.312 25.331zM328.782 936.1c0 12.636-10.138 25.32-25.32 25.32h-93.59c-12.636 0-25.318-10.138-25.318-25.32v-75.908h144.185l0.043 75.908zM827.144 936.1c0 12.636-10.138 25.32-25.32 25.32h-93.591c-12.636 0-25.317-10.138-25.317-25.32v-75.908h144.185l0.043 75.908z","M505.864 253.105c-98.638 0-177.095 78.409-177.095 177.093 0 98.638 78.411 177.095 177.095 177.095 98.635 0 177.093-78.411 177.093-177.095 0-15.182-10.135-25.317-25.317-25.317s-25.32 10.135-25.32 25.317c0 70.818-55.636 126.499-126.499 126.499-70.818 0-126.499-55.636-126.499-126.499 0-70.818 55.636-126.499 126.499-126.499 15.182 0 25.32-10.135 25.32-25.317 0.046-15.183-10.092-25.274-25.274-25.274l-0.003-0.004z","M488.143 447.873c5.045 5.045 12.636 7.591 17.726 7.591 5.045 0 12.636-2.547 17.726-7.591l106.229-106.227c10.135-10.138 10.135-25.32 0-35.409-10.138-10.138-25.32-10.138-35.412 0l-106.227 106.227c-10.135 10.092-10.135 25.274-0.046 35.409h0.003z","M960.943 107.789h50.931v646.737h-50.931v-646.737z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["safe"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":155,"id":143,"name":"safe","prevSize":32,"code":59669},"setIdx":1,"setId":2,"iconIdx":146},{"icon":{"paths":["M967.316 758.523v-1.113c0 32.862-25.317 60.726-58.182 60.726h-794.32c-32.864 0-58.182-27.818-58.182-60.726l0.046-43.046h96.136c15.182 0 25.318-10.138 25.318-25.32s-10.136-25.317-25.318-25.317h-96.136v-202.369h96.136c15.182 0 25.318-10.135 25.318-25.317s-10.136-25.32-25.318-25.32h-96.136v-202.367h96.136c15.182 0 25.318-10.137 25.318-25.318s-10.136-25.318-25.318-25.318h-96.136v-40.455c0-32.863 25.318-60.728 58.182-60.728h794.321c32.865 0 58.182 27.818 58.182 60.728 0 15.182 10.138 25.318 25.32 25.318s25.317-10.137 25.317-25.318c0-60.728-48.044-111.318-108.773-111.318h-794.321c-60.728 0-108.773 50.592-108.773 111.318v637.453c0 60.726 48.046 111.317 108.773 111.317h25.318v75.908c0 40.456 32.863 75.908 75.909 75.908h93.59c40.456 0 75.911-32.862 75.911-75.908v-75.908h252.95v75.908c0 40.456 32.865 75.908 75.908 75.908h93.594c40.453 0 75.908-32.862 75.908-75.908v-75.908h25.317c60.729 0 108.773-50.591 108.773-111.317v1.113c-0.181-12.547-10.272-22.638-25.454-22.638-15.174 0.013-25.312 10.151-25.312 25.333zM334.913 942.045c0 12.636-10.135 25.32-25.317 25.32h-93.592c-12.636 0-25.318-10.138-25.318-25.32v-75.908h144.187l0.040 75.908zM833.275 942.045c0 12.636-10.135 25.32-25.317 25.32h-93.591c-12.636 0-25.32-10.138-25.32-25.32v-75.908h144.187l0.040 75.908z","M511.995 259.049c-98.635 0-177.093 78.41-177.093 177.094 0 98.635 78.409 177.093 177.093 177.093 98.638 0 177.095-78.409 177.095-177.093 0-15.182-10.138-25.32-25.32-25.32s-25.317 10.138-25.317 25.32c0 70.818-55.636 126.499-126.499 126.499-70.818 0-126.499-55.636-126.499-126.499 0-70.818 55.636-126.499 126.499-126.499 15.182 0 25.317-10.138 25.317-25.32 0.046-15.181-10.092-25.272-25.274-25.272l-0.003-0.004z","M494.274 453.818c5.045 5.047 12.636 7.591 17.726 7.591 5.047 0 12.638-2.544 17.729-7.591l106.227-106.227c10.135-10.138 10.135-25.32 0-35.409-10.138-10.138-25.32-10.138-35.409 0l-106.229 106.227c-10.135 10.092-10.135 25.274-0.043 35.409v0z","M1077.889 539.726c-59.872 0-108.568-48.697-108.568-108.568 0-59.874 48.742-108.568 108.568-108.568 59.874 0 108.568 48.694 108.568 108.568 0.049 59.872-48.694 108.568-108.568 108.568zM1077.889 358.971c-39.788 0-72.189 32.399-72.189 72.187 0 39.839 32.402 72.189 72.189 72.189 39.79 0 72.189-32.399 72.189-72.189 0.049-39.836-32.353-72.187-72.189-72.187z","M1078.137 666.252c-10.326 0-20.795-0.711-31.122-2.086-6.963-0.946-12.789-5.826-14.921-12.504-4.974-15.632-16.486-28.184-31.55-34.485-14.967-6.254-32.259-5.495-46.705 1.894-6.252 3.22-13.832 2.509-19.421-1.754-16.389-12.601-30.979-27.236-43.342-43.482-4.263-5.589-4.926-13.121-1.706-19.375 7.58-14.684 8.386-31.642 2.274-46.514-6.112-14.875-18.664-26.29-34.39-31.359-6.678-2.18-11.509-7.958-12.409-14.921-2.652-20.275-2.652-40.928 0.094-61.389 0.949-6.963 5.826-12.792 12.506-14.923 15.632-4.972 28.184-16.484 34.485-31.593 6.3-15.064 5.589-32.116-1.894-46.708-3.223-6.252-2.511-13.829 1.8-19.421 12.601-16.389 27.236-30.932 43.482-43.342 5.589-4.263 13.121-4.926 19.375-1.705 14.541 7.532 31.642 8.432 46.514 2.274 14.875-6.111 26.29-18.664 31.404-34.389 2.18-6.679 7.96-11.511 14.923-12.41 20.178-2.652 40.973-2.605 61.389 0.095 6.963 0.947 12.789 5.826 14.921 12.505 4.974 15.632 16.486 28.184 31.547 34.485 15.018 6.253 32.307 5.495 46.708-1.895 6.252-3.221 13.829-2.511 19.421 1.752 16.389 12.601 30.979 27.238 43.342 43.484 4.263 5.589 4.926 13.121 1.706 19.372-7.58 14.684-8.386 31.644-2.274 46.517 6.109 14.875 18.664 26.29 34.388 31.359 6.68 2.177 11.512 7.958 12.412 14.921 2.652 20.273 2.652 40.925-0.097 61.389-0.946 6.963-5.826 12.789-12.504 14.921-15.632 4.974-28.184 16.486-34.485 31.596-6.3 15.064-5.589 32.116 1.894 46.705 3.22 6.254 2.511 13.832-1.8 19.421-12.601 16.392-27.236 30.933-43.482 43.342-5.592 4.263-13.121 4.926-19.375 1.706-14.541-7.483-31.642-8.383-46.517-2.274-14.826 6.112-26.29 18.664-31.404 34.39-2.177 6.678-7.958 11.509-14.921 12.409-9.995 1.28-20.178 1.989-30.267 1.989v0.003zM1062.268 629.208c10.326 0.806 20.652 0.854 30.979 0.049 9.758-20.558 26.621-36.805 47.605-45.474 20.89-8.62 44.434-9 65.843-1.28 7.815-6.678 15.158-13.972 21.93-21.884-7.626-21.361-7.103-44.857 1.754-66.032 8.809-21.173 25.104-38.131 45.662-47.794 0.806-10.326 0.852-20.698 0.049-30.979-20.558-9.758-36.807-26.621-45.474-47.654-8.669-20.984-9-44.431-1.28-65.841-6.678-7.817-13.972-15.158-21.884-21.932-21.315 7.578-45.048 7.009-66.032-1.752-21.173-8.812-38.131-25.106-47.794-45.617-10.326-0.853-20.652-0.853-30.979-0.047-9.758 20.558-26.621 36.807-47.605 45.473-20.892 8.623-44.434 9-65.843 1.28-7.817 6.678-15.158 13.972-21.932 21.884 7.626 21.364 7.106 44.857-1.752 66.032-8.812 21.173-25.107 38.131-45.662 47.794-0.806 10.326-0.854 20.701-0.049 30.979 20.558 9.758 36.805 26.621 45.474 47.654 8.669 20.984 9 44.431 1.28 65.843 6.678 7.815 13.972 15.158 21.884 21.93 21.361-7.578 45.045-6.963 66.032 1.754 21.221 8.809 38.082 25.104 47.794 45.614z"],"width":1320,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["safe-gear"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":156,"id":144,"name":"safe-gear","prevSize":32,"code":59671},"setIdx":1,"setId":2,"iconIdx":147},{"icon":{"paths":["M806.265 217.709c-8.001-8-20.96-8-28.96 0l-57.921 57.92c-7.998 8.001-7.998 20.96 0 28.96 8.001 7.998 20.962 7.998 28.96 0l57.921-57.92c8.001-8 8.001-20.96 0-28.96zM516.627 97.788c-3.721-3.72-8.841-5.88-14.482-5.88-11.321 0-20.359 9.040-20.359 20.36v81.92c0 11.32 9.038 20.36 20.359 20.36s20.361-9.040 20.361-20.36v-81.92c0-5.64-2.161-10.76-5.88-14.48v0zM926.186 507.346c-3.721-3.719-8.841-5.88-14.482-5.88h-81.92c-11.321 0-20.359 9.041-20.359 20.361s9.038 20.359 20.359 20.359h81.92c11.321 0 20.361-9.038 20.361-20.359 0-5.64-2.161-10.76-5.88-14.482v0zM675.91 348.063c-88.32-88.319-242.278-105.277-339.2-8.359-118.559 118.558-65.040 232.397-132.363 318.844l161.116 161.116c86.401-67.32 200.243-13.802 318.844-132.363 96.878-96.878 79.921-250.88-8.362-339.2l-0.035-0.038zM587.431 347.384c0.078 0.081 0.159 0.159 0.24 0.199 0.399 0.361 0.76 0.76 1.118 1.161 6.961 6.998 7.92 18.039 2.242 26.12-5.64 8.119-16.322 11.038-25.322 6.92-48.6-22-106.361-17.241-151.161 14.040v-0.040c-9.281 6.4-22 4.039-28.44-5.241-6.4-9.278-4.12-22 5.16-28.478 56.719-39.602 129.361-45.519 190.954-17.64 1.881 0.719 3.641 1.719 5.201 2.959h0.008zM226.992 217.704c-8-8-20.96-8-28.96 0s-8 20.96 0 28.96l57.919 57.919c8 8.001 20.959 8.001 28.96 0 7.998-8.001 8.001-20.96 0-28.96l-57.92-57.919zM748.31 739.023c-7.998-8.001-20.96-8.001-28.958 0-8.001 7.998-8.001 20.96 0 28.96l57.918 57.918c8.001 8.001 20.96 8.001 28.96 0 7.998-8.001 8.001-20.96 0-28.96l-57.921-57.918zM176.274 688.344l-28.96 28.96 159.283 159.283 28.96-28.96-159.283-159.283zM118.354 746.262l-14.48 14.482c-16.64 16.64-15.28 42.639 0 57.918l101.36 101.36c15.28 15.282 41.28 16.64 57.92 0l14.481-14.479-159.279-159.281zM111.114 854.857c-16.040 16.042-16.040 41.882 0 57.921s41.879 16.039 57.919 0l-57.919-57.921z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["light-bulb"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":157,"id":145,"name":"light-bulb","prevSize":32,"code":59662},"setIdx":1,"setId":2,"iconIdx":148},{"icon":{"paths":["M395.532 125.43c-68.906-68.906-181.015-68.815-250.033 0.202s-69.109 181.128-0.202 250.034l178.451 178.451c68.906 68.906 181.015 68.815 250.035-0.202 4.852-4.713 7.613-11.169 7.687-17.934 0.042-6.803-2.604-13.289-7.38-18.064s-11.262-7.422-18.064-7.38c-6.765 0.074-13.221 2.835-17.934 7.687-49.818 49.818-128.861 49.883-178.597 0.147l-178.45-178.451c-49.736-49.736-49.672-128.78 0.145-178.597s128.86-49.881 178.596-0.145l178.451 178.451c4.706 4.845 11.157 7.596 17.957 7.624 6.733 0.030 13.224-2.625 18.006-7.41 4.783-4.783 7.473-11.306 7.445-18.039-0.065-6.768-2.816-13.219-7.659-17.925l-178.453-178.449zM701.645 442.678c-68.906-68.906-181.015-68.815-250.035 0.202-4.852 4.713-7.613 11.169-7.652 17.901-0.042 6.8 2.604 13.286 7.38 18.062s11.262 7.422 18.062 7.38c6.733-0.040 13.189-2.8 17.901-7.652 49.818-49.818 128.861-49.88 178.595-0.144l178.453 178.451c49.736 49.736 49.671 128.777-0.147 178.595-49.815 49.818-128.859 49.88-178.595 0.144l-178.451-178.451c-4.706-4.845-11.157-7.596-17.922-7.659-6.733-0.030-13.258 2.662-18.041 7.445s-7.44 11.273-7.41 18.004c0.030 6.803 2.781 13.254 7.624 17.96l178.451 178.451c68.908 68.906 181.018 68.815 250.035-0.202s69.108-181.129 0.202-250.035l-178.451-178.451z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["link"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":158,"id":146,"name":"link","prevSize":32,"code":59649},"setIdx":1,"setId":2,"iconIdx":149},{"icon":{"paths":["M951.018 617.777c-49.461 0-89.687-40.228-89.687-89.687 0-49.461 40.265-89.687 89.687-89.687 49.461 0 89.687 40.225 89.687 89.687 0.040 49.459-40.225 89.687-89.687 89.687zM951.018 468.458c-32.868 0-59.635 26.764-59.635 59.635 0 32.908 26.766 59.635 59.635 59.635 32.87 0 59.635-26.766 59.635-59.635 0.040-32.91-26.726-59.635-59.635-59.635z","M951.22 722.298c-8.53 0-17.176-0.588-25.707-1.723-5.752-0.781-10.567-4.813-12.328-10.329-4.107-12.914-13.617-23.283-26.061-28.487-12.366-5.167-26.648-4.539-38.583 1.565-5.165 2.66-11.427 2.072-16.043-1.449-13.539-10.409-25.591-22.499-35.804-35.92-3.522-4.617-4.069-10.839-1.409-16.006 6.262-12.13 6.925-26.139 1.879-38.424-5.049-12.288-15.418-21.718-28.409-25.905-5.516-1.799-9.508-6.574-10.251-12.326-2.19-16.749-2.19-33.81 0.078-50.712 0.784-5.752 4.813-10.567 10.329-12.328 12.914-4.107 23.283-13.617 28.489-26.099 5.202-12.444 4.617-26.531-1.567-38.585-2.66-5.165-2.072-11.424 1.487-16.043 10.409-13.539 22.501-25.551 35.922-35.804 4.617-3.522 10.839-4.069 16.006-1.407 12.012 6.22 26.139 6.963 38.424 1.877 12.288-5.047 21.718-15.418 25.943-28.407 1.801-5.518 6.574-9.51 12.328-10.253 16.669-2.19 33.848-2.15 50.712 0.080 5.752 0.781 10.565 4.813 12.326 10.329 4.109 12.914 13.617 23.283 26.061 28.487 12.406 5.165 26.689 4.539 38.583-1.565 5.167-2.66 11.427-2.075 16.046 1.447 13.539 10.409 25.591 22.501 35.804 35.922 3.522 4.617 4.069 10.839 1.407 16.006-6.26 12.13-6.925 26.139-1.877 38.424 5.047 12.288 15.418 21.718 28.407 25.905 5.518 1.799 9.51 6.574 10.251 12.326 2.193 16.747 2.193 33.808-0.078 50.712-0.781 5.752-4.813 10.565-10.329 12.326-12.914 4.109-23.283 13.619-28.487 26.101-5.205 12.444-4.617 26.531 1.565 38.583 2.66 5.167 2.075 11.427-1.487 16.046-10.409 13.539-22.501 25.551-35.922 35.802-4.617 3.522-10.839 4.072-16.003 1.409-12.014-6.182-26.141-6.925-38.427-1.879-12.248 5.049-21.718 15.418-25.943 28.409-1.801 5.518-6.574 9.51-12.326 10.251-8.257 1.057-16.671 1.645-25.006 1.645v0zM938.113 691.696c8.53 0.666 17.061 0.706 25.591 0.040 8.061-16.983 21.992-30.404 39.326-37.565 17.257-7.121 36.704-7.435 54.392-1.057 6.456-5.516 12.522-11.542 18.116-18.078-6.3-17.646-5.868-37.055 1.449-54.548 7.277-17.49 20.738-31.499 37.721-39.482 0.666-8.53 0.703-17.099 0.038-25.591-16.981-8.061-30.404-21.992-37.565-39.366-7.159-17.335-7.433-36.704-1.055-54.39-5.518-6.458-11.542-12.522-18.078-18.118-17.608 6.262-37.213 5.792-54.548-1.447-17.493-7.279-31.499-20.74-39.482-37.683-8.53-0.703-17.061-0.703-25.593-0.040-8.061 16.983-21.989 30.406-39.326 37.565-17.257 7.123-36.704 7.435-54.39 1.057-6.458 5.518-12.522 11.542-18.118 18.078 6.3 17.648 5.87 37.058-1.447 54.548-7.279 17.49-20.74 31.499-37.723 39.482-0.663 8.53-0.703 17.101-0.038 25.591 16.983 8.063 30.404 21.992 37.565 39.366 7.161 17.335 7.435 36.706 1.055 54.392 5.518 6.456 11.544 12.522 18.080 18.116 17.646-6.26 37.211-5.752 54.546 1.449 17.53 7.277 31.461 20.738 39.484 37.681z","M634.433 556.934c7.782 0 14.478-6.62 14.478-14.318s-6.696-13.201-14.478-13.201c-7.782 0-14.478 6.623-14.478 14.318 0 6.58 6.696 13.201 14.478 13.201zM621.043 483.19c0-7.698 6.696-14.32 14.478-14.32 7.827 0 13.392 5.503 14.478 13.201v14.32c0 7.696-6.696 14.318-14.478 14.318s-14.478-6.623-14.478-14.318v-13.201zM621.043 409.444c0-7.698 6.696-14.32 14.478-14.32 7.827 0 13.392 5.505 14.478 14.32v25.326c0 7.698-6.696 14.32-14.478 14.32s-14.478-6.623-14.478-14.32v-25.326zM865.955 200.955v-9.481l-0.004 0.002c0-2.236 0-3.311-1.089-4.343v-1.118c0-0.532-0.276-0.801-0.557-1.072-0.285-0.277-0.572-0.556-0.572-1.121l-1.131-1.118c0-1.075 0-2.193-1.131-2.193l-1.131-1.118c-0.619-0.637-0.886-0.911-1.209-1.029-0.245-0.089-0.521-0.089-1.008-0.089h-1.131l-416.256-160.741c-3.304-1.118-6.652-1.118-10 0l-417.302 160.653h-1.13c-0.538 0-0.81 0.274-1.084 0.551-0.28 0.282-0.562 0.567-1.133 0.567l-1.13 1.118c0 0.532-0.277 0.801-0.557 1.073-0.285 0.277-0.574 0.556-0.574 1.121-1.13 0-1.13 1.118-1.13 1.118 0 0.532-0.277 0.801-0.557 1.072-0.285 0.277-0.574 0.556-0.574 1.121v635.156c0 5.505 3.348 9.933 8.913 12.125l416.256 178.365h1.131c1.086 1.117 3.304 1.117 4.434 1.117 1.086 0 3.304 0 4.434-1.117h1.131l415.176-178.321c5.565-2.235 8.913-6.623 8.913-12.125v-22.679l-28.957 12.56v0.185l-388.43 167.313v-598.82l171.386-73.746v56.117c0 7.696 6.696 14.318 14.478 14.318s14.478-6.623 14.478-14.318v-68.243l127.459-54.86-0.022-0.345 34.805-14.628 25.845-11.123v0.264l28.957-12.168zM836.998 212.859l1.131-0.487-1.131 0.001v0.486zM633.295 264.15l-360.604-155.237 163.595-63.847 379.526 147.531-176.952 75.938c-1.102-2.137-3.237-3.212-5.398-4.301l-0.167-0.085zM34.477 212.367l388.475 166.246-0.045 599.886-388.43-167.313v-598.819zM606.564 281.731l-10 4.388-160.265 69.363-161.391-69.358-219.259-94.688 180.302-69.36c0.539 0 0.81 0.274 1.084 0.551 0.28 0.282 0.563 0.567 1.133 0.567l368.395 158.538z"],"width":1158,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["box-gear"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":159,"id":147,"name":"box-gear","prevSize":32,"code":59650},"setIdx":1,"setId":2,"iconIdx":150},{"icon":{"paths":["M967.316 758.523v-1.113c0 32.862-25.317 60.726-58.182 60.726h-794.32c-32.864 0-58.182-27.818-58.182-60.726l0.046-43.046h96.136c15.182 0 25.318-10.138 25.318-25.32s-10.136-25.317-25.318-25.317h-96.136v-202.369h96.136c15.182 0 25.318-10.135 25.318-25.317s-10.136-25.32-25.318-25.32h-96.136v-202.367h96.136c15.182 0 25.318-10.137 25.318-25.318s-10.136-25.318-25.318-25.318h-96.136v-40.455c0-32.863 25.318-60.728 58.182-60.728h794.321c32.865 0 58.182 27.818 58.182 60.728 0 15.182 10.138 25.318 25.32 25.318s25.317-10.137 25.317-25.318c0-60.728-48.044-111.318-108.773-111.318h-794.321c-60.728 0-108.773 50.592-108.773 111.318v637.453c0 60.726 48.046 111.317 108.773 111.317h25.318v75.908c0 40.456 32.863 75.908 75.909 75.908h93.59c40.456 0 75.911-32.862 75.911-75.908v-75.908h252.95v75.908c0 40.456 32.865 75.908 75.908 75.908h93.594c40.453 0 75.908-32.862 75.908-75.908v-75.908h25.317c60.729 0 108.773-50.591 108.773-111.317v1.113c-0.181-12.547-10.272-22.638-25.454-22.638-15.174 0.013-25.312 10.151-25.312 25.333zM334.913 942.045c0 12.636-10.135 25.32-25.317 25.32h-93.592c-12.636 0-25.318-10.138-25.318-25.32v-75.908h144.187l0.040 75.908zM833.275 942.045c0 12.636-10.135 25.32-25.317 25.32h-93.591c-12.636 0-25.32-10.138-25.32-25.32v-75.908h144.187l0.040 75.908z","M511.995 259.049c-98.635 0-177.093 78.41-177.093 177.094 0 98.635 78.409 177.093 177.093 177.093 98.638 0 177.095-78.409 177.095-177.093 0-15.182-10.138-25.32-25.32-25.32s-25.317 10.138-25.317 25.32c0 70.818-55.636 126.499-126.499 126.499-70.818 0-126.499-55.636-126.499-126.499 0-70.818 55.636-126.499 126.499-126.499 15.182 0 25.317-10.138 25.317-25.32 0.046-15.181-10.092-25.272-25.274-25.272l-0.003-0.004z","M1002.464 283.823c-37.026 37.664-47.81 91.201-34.169 139.070l-175.142 178.176c-1.935 1.967-3.161 4.562-3.468 7.322l-8.141 78.622c-0.402 3.843 0.967 7.634 3.727 10.275 2.762 2.641 6.559 3.818 10.289 3.169l102.131-17.788c5.403-0.914 9.51-5.449 10.003-10.995l3.328-37.619 36.977-3.387c5.829-0.528 10.431-5.233 10.951-11.137l3.325-37.619 37.001-3.385c2.808-0.264 5.451-1.512 7.459-3.53l55.525-56.487c47.007 13.805 99.7 2.881 136.701-34.762 54.156-55.094 54.156-144.804 0-199.901-54.156-55.096-142.339-55.094-196.498 0v-0.024zM1019.548 301.202c44.929-45.708 117.402-45.708 162.328 0 44.927 45.711 44.929 119.436 0 165.142-32.423 32.986-79.169 41.771-119.619 27.152h0.024c-4.411-1.536-9.297-0.385-12.552 3.002l-56.872 57.856-42.854 3.937c-5.804 0.528-10.407 5.209-10.949 11.137l-3.328 37.619-36.977 3.385c-5.804 0.528-10.431 5.212-10.949 11.14l-3.328 38.435-77.282 13.444 5.875-57.856 176.864-179.928c3.304-3.385 4.414-8.426 2.786-12.916-14.349-41.149-5.594-88.56 26.829-121.543l0.005-0.005zM1096.432 318.583c-18.782 19.111-18.782 50.437 0 69.522 18.785 19.108 49.58 19.108 68.336 0 18.785-19.111 18.785-50.437 0-69.522-18.782-19.108-49.578-19.108-68.336 0zM1113.516 335.964c9.534-9.698 24.635-9.698 34.169 0s9.534 25.064 0 34.762c-9.534 9.698-24.635 9.698-34.169 0s-9.534-25.064 0-34.762z","M494.274 453.818c5.045 5.047 12.636 7.591 17.726 7.591 5.047 0 12.638-2.544 17.729-7.591l106.227-106.227c10.135-10.138 10.135-25.32 0-35.409-10.138-10.138-25.32-10.138-35.409 0l-106.229 106.227c-10.135 10.092-10.135 25.274-0.043 35.409v0z"],"width":1240,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["safe-key"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":160,"id":148,"name":"safe-key","prevSize":32,"code":59654},"setIdx":1,"setId":2,"iconIdx":151},{"icon":{"paths":["M35.664 10.756h956.385c10.928 0 19.761 8.833 19.761 19.759v642.733c0 10.925-8.833 19.758-19.761 19.758h-956.385c-10.927 0-19.759-8.833-19.759-19.758v-642.733c0-10.927 8.833-19.759 19.759-19.759zM972.339 50.224h-916.911v603.256h916.911v-603.256z","M270.946 974.541c-6.383 8.833-4.442 21.138 4.391 27.521 8.833 6.38 21.138 4.442 27.521-4.391l211.034-290.884 211.032 290.884c6.383 8.833 18.739 10.772 27.521 4.391 8.833-6.383 10.774-18.739 4.391-27.521l-226.338-311.969c-1.278-2.043-2.962-3.83-5.057-5.31-8.833-6.383-21.189-4.442-27.57 4.391v0l-226.926 312.888z","M188.634 175.256c-10.927 0-19.76 8.833-19.76 19.76s8.833 19.76 19.76 19.76h524.477c10.928 0 19.761-8.833 19.761-19.76s-8.833-19.76-19.761-19.76h-524.477z","M188.634 280.7c-10.927 0-19.76 8.833-19.76 19.758 0 10.928 8.833 19.761 19.76 19.761h557.927c10.925 0 19.758-8.833 19.758-19.761 0-10.925-8.833-19.758-19.758-19.758h-557.927z","M188.634 386.080c-10.927 0-19.76 8.833-19.76 19.758 0 10.928 8.833 19.761 19.76 19.761h650.443c10.928 0 19.761-8.833 19.761-19.761 0-10.925-8.833-19.758-19.761-19.758h-650.443z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["board"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":161,"id":149,"name":"board","prevSize":32,"code":59655},"setIdx":1,"setId":2,"iconIdx":152},{"icon":{"paths":["M511.997-0c-12.304 0-22.26 9.956-22.26 22.261v680.526l-122.914-124.127c-8.651-8.738-22.738-8.783-31.476-0.131-8.741 8.609-8.827 22.696-0.173 31.437l161.175 162.732c0.218 0.218 0.52 0.391 0.738 0.609 0.782 0.74 1.654 1.436 2.523 2.043l0.129 0.087c0.567 0.349 1.174 0.609 1.741 0.914l0.042 0.045c0.609 0.391 1.263 0.738 1.956 1.042l0.176 0.087h-0.045l2.219 0.654c0.609 0.173 1.174 0.391 1.783 0.52l0.129 0.045c2.828 0.523 5.698 0.523 8.523 0l0.131-0.045c0.607-0.129 1.174-0.347 1.78-0.52 0.74-0.176 1.478-0.436 2.219-0.654l0.173-0.087h-0.042c0.696-0.305 1.347-0.651 1.956-1.042 0.609-0.305 1.216-0.565 1.783-0.958l0.129-0.087c0.872-0.607 1.741-1.302 2.523-2.043 0.26-0.218 0.523-0.391 0.738-0.609l0.176-0.173 161.002-162.559c4.13-4.175 6.477-9.87 6.433-15.741 0-5.913-2.389-11.566-6.609-15.741-4.172-4.13-9.87-6.477-15.738-6.433-5.913 0.042-11.566 2.389-15.741 6.609l-122.912 124.125v-680.525c0-12.305-9.956-22.261-22.263-22.261l-0.003 0.001z","M1001.74 367.304h-342.83c-12.304 0-22.26 9.956-22.26 22.263 0 12.304 9.956 22.26 22.26 22.26h320.567v567.653h-934.955v-567.653h320.568c12.304 0 22.26-9.956 22.26-22.26 0-12.306-9.956-22.263-22.26-22.263h-342.829c-12.305 0-22.261 9.956-22.261 22.263v612.173c0 12.304 9.957 22.26 22.261 22.26h979.479c12.304 0 22.26-9.956 22.26-22.26v-612.173c0-12.306-9.956-22.263-22.26-22.263z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["deposit"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":162,"id":150,"name":"deposit","prevSize":32,"code":59656},"setIdx":1,"setId":2,"iconIdx":153},{"icon":{"paths":["M728.178 539.015l44.15-57.679 117.944 98.946 193.827-216.194 53.678 48.94-239.98 269.637-169.62-143.651z","M642.842 552.245c7.955 0 14.8-6.77 14.8-14.639s-6.845-13.494-14.8-13.494c-7.955 0-14.8 6.77-14.8 14.636 0 6.727 6.845 13.496 14.8 13.496zM629.155 476.859c0-7.867 6.845-14.636 14.8-14.636 8.001 0 13.69 5.625 14.8 13.494v14.639c0 7.867-6.845 14.636-14.8 14.636s-14.8-6.77-14.8-14.636v-13.496zM629.155 401.476c0-7.869 6.845-14.639 14.8-14.639 8.001 0 13.69 5.627 14.8 14.639v25.889c0 7.869-6.845 14.639-14.8 14.639s-14.8-6.77-14.8-14.639v-25.889zM879.509 188.354v-9.692c-0.007-2.284-0.007-3.383-1.117-4.437v-1.143c0-0.544-0.284-0.819-0.569-1.096-0.291-0.283-0.587-0.569-0.587-1.146l-1.156-1.143c0-0.627 0-1.269-0.214-1.704-0.159-0.327-0.444-0.538-0.94-0.538l-1.156-1.143c-1.113-1.143-1.113-1.143-2.266-1.143h-1.156l-425.506-164.313c-3.377-1.143-6.799-1.143-10.222 0l-426.575 164.223h-1.156c-0.55 0-0.828 0.28-1.108 0.563-0.286 0.289-0.575 0.58-1.158 0.58l-1.156 1.143c0 0.935-0.836 1.074-1.086 1.798-0.044 0.127-0.069 0.273-0.069 0.444-1.156 0-1.156 1.143-1.156 1.143 0 0.544-0.283 0.819-0.569 1.096-0.292 0.283-0.586 0.568-0.586 1.146v649.271c0 5.627 3.422 10.154 9.111 12.397l425.506 182.327h1.154c0.348 0.36 0.81 0.605 1.315 0.774 1.108 0.369 2.426 0.369 3.22 0.369 1.11 0 3.377 0 4.533-1.142h1.156l424.402-182.283c5.689-2.285 9.111-6.77 9.111-12.395v-23.183l-29.6 12.839v0.189l-397.062 171.031v-612.127l175.195-75.385v57.364c0 7.867 6.845 14.636 14.8 14.636s14.8-6.77 14.8-14.636v-69.759l130.291-56.079-0.023-0.353 35.569-14.947 26.428-11.375v0.27l29.6-12.438zM849.909 200.523l1.156-0.497-1.156 0.001v0.496zM641.677 252.953l-368.615-158.686 167.231-65.266 387.957 150.809-180.884 77.626c-1.126-2.185-3.311-3.286-5.52-4.399l-0.168-0.084zM29.556 200.020l397.109 169.938-0.048 613.219-397.061-171.031v-612.126zM614.354 270.925l-10.222 4.485-163.826 70.904-164.978-70.899-224.131-96.793 184.309-70.901c0.548 0 0.826 0.28 1.108 0.563 0.284 0.289 0.573 0.58 1.158 0.58l376.582 162.061z"],"width":1138,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["box-check"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":163,"id":151,"name":"box-check","prevSize":32,"code":59658},"setIdx":1,"setId":2,"iconIdx":154},{"icon":{"paths":["M836.961 0h-649.919c-103.136 0-187.042 83.908-187.042 187.042v649.917c0 103.136 83.908 187.041 187.042 187.041h649.917c103.136 0 187.041-83.905 187.041-187.041v-649.917c0.002-103.134-83.905-187.042-187.039-187.042zM959.192 836.959c0 67.399-54.832 122.231-122.231 122.231h-649.919c-67.4 0-122.232-54.832-122.232-122.231v-649.917c0-67.4 54.832-122.232 122.232-122.232h649.917c67.399 0 122.231 54.832 122.231 122.232l0.002 649.917z","M512 207.149c-87.559 0-158.792 71.238-158.792 158.796 0 17.894 14.506 32.404 32.404 32.404s32.404-14.51 32.404-32.404c0-51.823 42.16-93.986 93.984-93.986 51.821 0 93.981 42.163 93.981 93.986 0 29.805-21.552 49.729-57.059 79.001-32.498 26.79-69.329 57.157-69.329 105.433v103.967c0 17.892 14.51 32.404 32.406 32.404s32.404-14.512 32.404-32.404v-103.967c0-17.711 21.203-35.189 45.747-55.429 35.927-29.62 80.639-66.484 80.639-129.004 0.002-87.563-71.233-158.796-158.79-158.796z","M512.002 733.713c-22.922 0-41.566 18.646-41.566 41.568 0 22.918 18.643 41.566 41.566 41.566 22.92 0 41.568-18.648 41.568-41.566 0-22.922-18.648-41.568-41.568-41.568z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["question-mark"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":164,"id":152,"name":"question-mark","prevSize":32,"code":59660},"setIdx":1,"setId":2,"iconIdx":155},{"icon":{"paths":["M343.243 1024c-11.329-0.906-22.657-1.997-34.024-2.638-67.702-3.767-135.095-10.095-201.123-25.54-27.545-6.44-54.316-15.859-81.473-23.808-7.604-2.222-11.639-6.667-13.424-14.427-14.316-60.271-17.458-120.841-7.1-181.94 5.587-32.848 16.139-64.038 34.529-92.289l0.039-0.038c20.291-31.869 51.367-55.901 87.914-68.031 47.409-16.199 93.655-34.807 135.402-62.569 8.303-5.501 16.217-11.602 25.335-18.12 73.715 70.291 148.631 70.518 222.773-0.338 24.87 20.304 52.571 37.18 82.249 50.062 24.133 10.623 48.651 20.718 73.715 29.155 55.401 18.835 91.871 55.677 112.121 108.41 23.278 60.498 24.908 122.953 16.76 186.090-2.095 16.046-6.128 31.869-8.613 47.914-1.474 9.419-7.061 13.751-15.83 16.952l0.040 0.038c-41.474 15.331-84.538 26.219-128.421 32.434-40.156 5.725-80.62 9.719-120.972 13.862-18.973 1.883-38.177 2.335-57.224 3.504-2.64 0.301-5.238 0.715-7.76 1.318h-114.915z","M414.152 0c13.851 1.769 27.477 4.93 40.686 9.409 30.6 10.689 58.415 28.115 81.337 51.036 11.97 11.969 21.379 21.604 28.378 37.826 8.468 19.685 8.281 37.524 8.092 47.197-0.301 16.674-5.645 61.499-6.85 73.769-0.563 5.307-0.49 9.409 4.365 12.722 8.695 5.946 9.185 15.204 8.319 24.313h-0.076c-1.805 22.13-8.279 43.582-18.931 63.043-6.097 10.99-7.905 24.313-12.119 36.432-12.722 36.207-34.026 93.453-85.326 119.804-18.744 9.258-39.333 14.113-60.222 14.189-11.591 0-34.778 0-59.016-13.361-11.293-6.173-17.991-12.796-27.325-21.566h-0.038c-21.905-20.776-39.293-45.804-51.113-73.543-7.413-16.936-12.043-34.927-18.405-52.315-2.257-6.249-5.87-11.97-8.806-17.953l0.038 0.038c-9.71-19.158-14.679-40.31-14.53-61.763 0.076-6.776 1.883-12.722 7.68-16.938 5.042-3.613 5.532-8.168 4.517-14.075h-0.038c-5.12-28.153-7.115-56.757-6.024-85.286 1.507-33.46 20.703-58.338 31.428-72.113 16.411-20.249 37.414-36.282 61.313-46.708v0.038c13.851-6.097 28.492-10.237 43.509-12.307l49.156-1.884z","M656.562 398.084l-10.636 51.456c-1.932 9.383 4.080 18.552 13.448 20.509l54.254 11.26c3.239 0.686 6.616 0.020 9.387-1.799l17.488-11.357c2.596-1.857 4.39-4.653 4.995-7.8l5.543-25.669 14.988 3.050c12.707 2.638 25.137-5.514 27.793-18.223l3.103-15.013 25.665 5.004c3.201 0.605 6.518-0.058 9.252-1.857l17.036-11.262c8.764 5.2 18.152 9.325 27.928 12.257 5.935 1.721 12.063 2.816 18.229 3.266 1.405 3.148 2.887 6.255 4.606 9.307l-84.936 121.017c-3.025 4.261-4.216 9.561-3.299 14.701l9.036 51.906c1.407 8.29 8.548 14.389 16.941 14.467 0.995 0 2.010-0.078 2.987-0.254l54.568-9.757c3.259-0.528 6.168-2.326 8.101-5.004l11.943-17.007c1.874-2.698 2.636-6.022 2.088-9.267l-4.292-25.925 14.988-2.6c12.744-2.248 21.293-14.407 19.086-27.174l-2.596-15.015 25.685-5.004c3.181-0.568 6.030-2.366 7.943-5.006l11.691-16.774c29.117 4.635 58.94-1.133 84.251-16.286 25.295-15.151 44.479-38.747 54.181-66.645 11.963-33.077 9.114-69.717-7.787-100.548-3.299-6.099-10.91-8.386-17.018-5.082-6.091 3.304-8.355 10.948-5.075 17.047 13.526 24.536 15.848 53.722 6.362 80.079-8.078 23.576-24.572 43.342-46.312 55.443-21.742 12.121-47.211 15.738-71.453 10.167-4.957-1.153-10.129 0.839-13.038 5.004l-13.348 19.472-29.529 5.552c-8.53 1.507-14.229 9.639-12.744 18.163l3.902 22.521-22.581 3.813c-8.508 1.485-14.207 9.541-12.802 18.065l4.995 30.030-6.186 8.368-41.96 7.31-7.299-42.033 88.529-125.847c2.927-4.163 3.043-9.677 0.312-13.96-16.179-25.101-20.338-56.109-11.36-84.611 8.96-28.485 30.135-51.494 57.754-62.776 27.615-11.262 58.807-9.639 85.092 4.457l-19.42 24.712c-10.676-3.283-22.23-1.759-31.695 4.185-9.445 5.961-15.827 15.736-17.488 26.782-1.658 11.066 1.563 22.288 8.842 30.753 7.279 8.486 17.878 13.352 29.042 13.352 2.224 0 4.45-0.194 6.654-0.585 13.018-2.15 24.046-10.89 29.119-23.089 5.073-12.219 3.513-26.197-4.138-36.969l36.713-46.803c16.627-21.878 21.137-50.675 11.983-76.6-9.154-25.943-30.72-45.493-57.377-52.041-26.66-6.549-54.824 0.782-74.906 19.531l-16.589 15.914c-41.123-15.64-87.414-8.543-121.978 18.729-34.544 27.273-52.266 70.694-46.703 114.406l-123.463 81.134c-4.372 2.836-7.437 7.331-8.49 12.455h-0.002zM1036.793 341.39c-3.671 5.2-10.5 7.077-16.317 4.497-5.817-2.6-8.998-8.936-7.591-15.151 1.385-6.217 6.968-10.578 13.33-10.42 6.362 0.156 11.729 4.768 12.822 11.064 0.626 3.499-0.196 7.097-2.244 10.011v0zM991.023 173.572c21.448-20.293 54.88-20.606 76.702-0.743 21.84 19.863 24.727 53.237 6.636 76.56l-2.206 2.796v0.020c-13.953-8.172-29.353-13.53-45.357-15.779-10.051-21.661-25.976-40.058-45.962-53.096l10.187-9.758zM680.548 405.341l128.398-84.375c4.294-2.796 6.46-7.938 5.445-12.963-6.088-31.025 2.751-63.125 23.888-86.629 21.137-23.499 52.073-35.659 83.534-32.825 31.441 2.854 59.719 20.371 76.292 47.273-3.455 0.292-6.89 0.741-10.345 1.349v0.020c-33.256 5.786-62.762 24.808-81.853 52.725-19.069 27.897-26.094 62.346-19.458 95.504-0.799 0-1.699-0.352-2.498-0.605v0.018c-10.031-3.010-19.516-7.564-28.144-13.528-4.194-2.834-9.719-2.834-13.933 0l-19.576 12.767-29.489-5.748c-8.47-1.759-16.785 3.715-18.521 12.199l-4.666 22.581-22.328-5.006c-8.45-1.759-16.725 3.657-18.541 12.123l-6.4 29.676-8.744 5.748-41.648-8.504 8.586-41.799z"],"width":1135,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["user-keys"],"defaultCode":59648,"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":165,"name":"user-keys","prevSize":32,"codes":[59648,59649,59650],"id":153,"code":59648},"setIdx":1,"setId":2,"iconIdx":156},{"icon":{"paths":["M334.821 1023.172c3.321 0.28 6.636 0.563 9.953 0.828h114.913c2.52-0.603 5.118-1.017 7.76-1.318 6.358-0.39 12.733-0.701 19.113-1.011 12.729-0.619 25.469-1.238 38.111-2.493l10.178-1.044c36.98-3.782 74.011-7.573 110.795-12.818 43.881-6.215 86.944-17.103 128.381-32.472 8.766-3.201 14.352-7.533 15.832-16.952 1.109-7.146 2.52-14.247 3.933-21.344 1.756-8.84 3.511-17.671 4.675-26.571 8.152-63.136 6.52-125.591-16.756-186.090-20.255-52.734-56.723-89.576-112.126-108.41-25.066-8.437-49.582-18.532-73.712-29.155-29.678-12.882-57.38-29.758-82.249-50.062-21.353 20.409-42.776 34.921-64.211 43.56l30.729 245.831-66.783 66.783-77.913-66.783 30.239-241.907c-25.032-7.738-50-23.467-74.832-47.146-9.12 6.518-17.032 12.62-25.337 18.12-41.744 27.762-87.994 46.369-135.402 62.569-36.549 12.13-67.625 36.163-87.951 68.069-18.391 28.251-28.946 59.441-34.533 92.289-10.359 61.099-7.217 121.669 7.103 181.94 1.783 7.76 5.815 12.206 13.424 14.427 8.978 2.629 17.913 5.418 26.848 8.205 18.092 5.645 36.185 11.291 54.625 15.603 66.027 15.445 133.418 21.773 201.12 25.54 8.043 0.452 16.059 1.131 24.075 1.81z","M415.679 0c13.851 1.769 27.477 4.93 40.686 9.409 30.6 10.689 58.415 28.115 81.337 51.036 11.97 11.969 21.379 21.604 28.378 37.826 8.47 19.685 8.281 37.524 8.092 47.197-0.301 16.674-5.645 61.499-6.85 73.769-0.563 5.307-0.49 9.409 4.365 12.722 8.695 5.946 9.185 15.204 8.319 24.313h-0.076c-1.805 22.13-8.279 43.582-18.931 63.043-6.097 10.99-7.905 24.313-12.119 36.432-12.722 36.207-34.026 93.453-85.326 119.804-18.744 9.258-39.333 14.113-60.222 14.189-11.591 0-34.778 0-59.016-13.361-11.291-6.173-17.991-12.796-27.325-21.566h-0.038c-21.905-20.776-39.293-45.804-51.113-73.543-7.413-16.936-12.043-34.927-18.405-52.315-2.257-6.249-5.87-11.97-8.806-17.953l0.038 0.038c-9.71-19.158-14.679-40.31-14.527-61.763 0.073-6.776 1.881-12.722 7.678-16.938 5.042-3.613 5.532-8.168 4.517-14.075h-0.038c-5.12-28.153-7.115-56.757-6.024-85.286 1.507-33.46 20.703-58.338 31.428-72.113 16.411-20.249 37.414-36.282 61.313-46.708v0.038c13.851-6.097 28.492-10.237 43.509-12.307l49.156-1.884z","M872.644 167.679c-30.586 31.116-39.495 75.341-28.227 114.885l-144.682 147.189c-1.598 1.625-2.611 3.769-2.865 6.048l-6.725 64.948c-0.332 3.174 0.799 6.307 3.079 8.488 2.282 2.182 5.418 3.154 8.499 2.618l84.369-14.694c4.463-0.755 7.856-4.501 8.263-9.082l2.749-31.076 30.546-2.798c4.815-0.436 8.617-4.323 9.047-9.2l2.747-31.076 30.566-2.796c2.32-0.218 4.503-1.249 6.162-2.916l45.869-46.663c38.832 11.404 82.361 2.38 112.927-28.717 44.738-45.512 44.738-119.621 0-165.135s-117.584-45.513-162.324 0v-0.022zM886.757 182.037c37.118-37.759 96.984-37.759 134.099 0 37.113 37.759 37.116 98.664 0 136.42-26.787 27.25-65.4 34.507-98.816 22.43h0.020c-3.646-1.269-7.682-0.318-10.371 2.48l-46.979 47.794-35.401 3.252c-4.795 0.436-8.597 4.303-9.045 9.2l-2.749 31.076-30.546 2.796c-4.797 0.436-8.617 4.305-9.047 9.203l-2.747 31.751-63.844 11.106 4.855-47.794 146.105-148.636c2.729-2.796 3.644-6.961 2.3-10.67-11.852-33.992-4.619-73.159 22.165-100.406l0.002-0.003zM950.268 196.395c-15.516 15.786-15.516 41.665 0 57.431 15.518 15.785 40.958 15.785 56.451 0 15.518-15.787 15.518-41.667 0-57.431-15.516-15.786-40.956-15.786-56.451 0zM964.385 210.753c7.874-8.012 20.351-8.012 28.227 0 7.874 8.012 7.874 20.705 0 28.716-7.876 8.012-20.353 8.012-28.227 0-7.876-8.012-7.876-20.704 0-28.716z"],"width":1069,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["admin-key"],"defaultCode":59651,"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":166,"name":"admin-key","prevSize":32,"id":154,"code":59651},"setIdx":1,"setId":2,"iconIdx":157},{"icon":{"paths":["M490.213 21.787c-2.887 0.223-4.798 0.935-5.854 1.781l-437.198 319.208c-3.822 2.673-5.53 8.105-4.229 12.826 1.301 4.719 5.571 8.327 10.084 8.194h72.866v433.211h-72.866c-5.449 0-10.409 5.434-10.409 11.401v79.8h-10.41c-5.449 0-10.41 5.434-10.41 11.401v91.201c0 5.968 4.961 11.401 10.41 11.401h916.032c5.449 0 10.41-5.434 10.41-11.401v-91.201c0-5.968-4.961-11.401-10.41-11.401h-10.41v-79.8c0-5.968-4.959-11.401-10.408-11.401h-72.867v-433.211h72.867c4.512 0.133 8.782-3.475 10.083-8.194 1.301-4.721-0.405-10.153-4.229-12.826l-437.198-319.208c-2.316-1.781-3.983-1.737-5.854-1.781zM490.215 46.725l403.042 294.264h-806.087l403.045-294.264zM490.213 158.591c-28.626 0-52.048 25.651-52.048 57.002s23.421 57.001 52.048 57.001c28.626 0 52.048-25.65 52.048-57.001s-23.421-57.002-52.048-57.002zM490.213 181.392c17.362 0 31.228 15.185 31.228 34.201 0 19.017-13.865 34.2-31.228 34.2-17.364 0-31.228-15.184-31.228-34.2 0-19.016 13.863-34.201 31.228-34.201zM146.702 363.797h62.457v433.211h-62.457v-433.211zM229.98 363.797h104.093v433.211h-104.093v-433.211zM354.888 363.797h62.457v433.211h-62.457v-433.211zM438.165 363.797h104.095v433.211h-104.095v-433.211zM563.080 363.797h62.457v433.211h-62.457v-433.211zM646.355 363.797h104.095v433.211h-104.095v-433.211zM771.266 363.797h62.457v433.211h-62.457v-433.211zM63.425 819.808h853.575v68.401h-853.575v-68.401zM42.606 911.009h895.214v68.403h-895.214v-68.403z","M490.213 21.787l0.131-5.445-0.277-0.007-0.272 0.021 0.418 5.431zM484.359 23.569l3.214 4.403 0.19-0.151-3.403-4.252zM47.16 342.776l3.121 4.466 0.090-0.068-3.212-4.399zM53.016 363.797v-5.449l-0.161 0.004 0.161 5.445zM125.882 363.797h5.447v-5.447h-5.447v5.447zM125.882 797.008v5.447h5.447v-5.447h-5.447zM42.606 888.209v5.447h5.447v-5.447h-5.447zM937.818 888.209h-5.447v5.447h5.447v-5.447zM854.543 797.008h-5.447v5.447h5.447v-5.447zM854.543 363.797v-5.447h-5.447v5.447h5.447zM927.411 363.797l0.161-5.447h-0.161v5.447zM933.265 342.776l-3.211 4.401 0.092 0.063 3.12-4.464zM496.067 23.569l-3.318 4.32 0.107 0.079 3.211-4.399zM490.215 46.725l3.211-4.399-3.211-2.345-3.214 2.345 3.214 4.399zM893.257 340.99v5.447h16.698l-13.486-9.846-3.211 4.399zM87.17 340.99l-3.212-4.399-13.486 9.846h16.698v-5.447zM146.702 363.797v-5.447h-5.447v5.447h5.447zM209.159 363.797h5.447v-5.447h-5.447v5.447zM209.159 797.008v5.447h5.447v-5.447h-5.447zM146.702 797.008h-5.447v5.447h5.447v-5.447zM229.98 363.797v-5.447h-5.447v5.447h5.447zM334.072 363.797h5.447v-5.447h-5.447v5.447zM334.072 797.008v5.447h5.447v-5.447h-5.447zM229.98 797.008h-5.447v5.447h5.447v-5.447zM354.888 363.797v-5.447h-5.447v5.447h5.447zM417.345 363.797h5.447v-5.447h-5.447v5.447zM417.345 797.008v5.447h5.447v-5.447h-5.447zM354.888 797.008h-5.447v5.447h5.447v-5.447zM438.165 363.797v-5.447h-5.447v5.447h5.447zM542.26 363.797h5.447v-5.447h-5.447v5.447zM542.26 797.008v5.447h5.447v-5.447h-5.447zM438.165 797.008h-5.447v5.447h5.447v-5.447zM563.080 363.797v-5.447h-5.447v5.447h5.447zM625.538 363.797h5.447v-5.447h-5.447v5.447zM625.538 797.008v5.447h5.447v-5.447h-5.447zM563.080 797.008h-5.447v5.447h5.447v-5.447zM646.355 363.797v-5.447h-5.447v5.447h5.447zM750.45 363.797h5.447v-5.447h-5.447v5.447zM750.45 797.008v5.447h5.447v-5.447h-5.447zM646.355 797.008h-5.447v5.447h5.447v-5.447zM771.266 363.797v-5.447h-5.447v5.447h5.447zM833.723 363.797h5.447v-5.447h-5.447v5.447zM833.723 797.008v5.447h5.447v-5.447h-5.447zM771.266 797.008h-5.447v5.447h5.447v-5.447zM63.425 819.808v-5.447h-5.447v5.447h5.447zM917.001 819.808h5.447v-5.447h-5.447v5.447zM917.001 888.209v5.447h5.447v-5.447h-5.447zM63.425 888.209h-5.447v5.447h5.447v-5.447zM42.606 911.009v-5.447h-5.447v5.447h5.447zM937.821 911.009h5.447v-5.447h-5.447v5.447zM937.821 979.412v5.447h5.447v-5.447h-5.447zM42.606 979.412h-5.447v5.447h5.447v-5.447zM489.794 16.357c-3.431 0.265-6.584 1.153-8.841 2.959l6.809 8.505c-0.115 0.092-0.011-0.026 0.503-0.191 0.492-0.159 1.264-0.327 2.366-0.412l-0.837-10.861zM481.145 19.169l-437.197 319.208 6.424 8.798 437.198-319.208-6.425-8.798zM44.040 338.312c-5.936 4.15-8.197 12.070-6.359 18.737l10.502-2.896c-0.765-2.774 0.39-5.719 2.099-6.913l-6.241-8.928zM37.68 357.049c1.837 6.663 8.009 12.412 15.496 12.192l-0.322-10.889c-1.54 0.046-3.906-1.418-4.672-4.198l-10.502 2.896zM53.016 369.244h72.866v-10.894h-72.866v10.894zM120.435 363.797v433.211h10.894v-433.211h-10.894zM125.882 791.561h-72.866v10.894h72.866v-10.894zM53.016 791.561c-4.556 0-8.539 2.246-11.27 5.235-2.744 3.007-4.586 7.135-4.586 11.613h10.894c0-1.492 0.639-3.063 1.737-4.266 1.111-1.218 2.333-1.689 3.226-1.689v-10.894zM37.159 808.409v79.8h10.894v-79.8h-10.894zM42.606 882.762h-10.41v10.894h10.41v-10.894zM32.197 882.762c-4.556 0-8.539 2.246-11.27 5.238-2.744 3.004-4.586 7.135-4.586 11.61h10.894c0-1.492 0.639-3.063 1.737-4.266 1.111-1.216 2.333-1.689 3.226-1.689v-10.894zM16.34 899.61v91.201h10.894v-91.201h-10.894zM16.34 990.812c0 4.477 1.842 8.606 4.586 11.613 2.731 2.989 6.714 5.235 11.27 5.235v-10.894c-0.893 0-2.114-0.471-3.226-1.689-1.098-1.203-1.737-2.774-1.737-4.266h-10.894zM32.197 1007.66h916.032v-10.894h-916.032v10.894zM948.228 1007.66c4.556 0 8.541-2.246 11.271-5.235 2.745-3.007 4.586-7.135 4.586-11.613h-10.894c0 1.492-0.638 3.063-1.736 4.266-1.111 1.218-2.333 1.689-3.227 1.689v10.894zM964.085 990.812v-91.201h-10.894v91.201h10.894zM964.085 899.61c0-4.475-1.841-8.606-4.586-11.61-2.73-2.991-6.715-5.238-11.271-5.238v10.894c0.893 0 2.116 0.473 3.227 1.689 1.098 1.203 1.736 2.774 1.736 4.266h10.894zM948.228 882.762h-10.41v10.894h10.41v-10.894zM943.265 888.209v-79.8h-10.894v79.8h10.894zM943.265 808.409c0-4.477-1.841-8.606-4.584-11.613-2.732-2.989-6.715-5.235-11.271-5.235v10.894c0.893 0 2.113 0.471 3.225 1.689 1.098 1.203 1.736 2.774 1.736 4.266h10.894zM927.411 791.561h-72.867v10.894h72.867v-10.894zM859.99 797.008v-433.211h-10.894v433.211h10.894zM854.543 369.244h72.867v-10.894h-72.867v10.894zM927.249 369.241c7.486 0.22 13.658-5.53 15.495-12.192l-10.501-2.896c-0.765 2.78-3.133 4.244-4.671 4.198l-0.322 10.889zM942.745 357.049c1.839-6.667-0.423-14.587-6.358-18.737l-6.242 8.928c1.708 1.194 2.863 4.14 2.098 6.913l10.501 2.896zM936.476 338.378l-437.196-319.208-6.425 8.798 437.198 319.208 6.423-8.798zM499.387 19.25c-1.726-1.326-3.425-2.123-5.19-2.53-1.599-0.369-3.116-0.36-3.854-0.377l-0.261 10.891c1.131 0.027 1.386 0.037 1.665 0.101 0.118 0.027 0.41 0.098 1.002 0.553l6.639-8.637zM487.001 51.124l403.044 294.264 6.423-8.798-403.042-294.265-6.425 8.798zM893.257 335.543h-806.087v10.894h806.087v-10.894zM90.382 345.389l403.044-294.264-6.425-8.798-403.043 294.265 6.424 8.798zM490.213 153.144c-32.090 0-57.494 28.566-57.494 62.448h10.894c0-28.819 21.439-51.555 46.601-51.555v-10.894zM432.718 215.593c0 33.882 25.404 62.447 57.494 62.447v-10.894c-25.162 0-46.601-22.735-46.601-51.554h-10.894zM490.213 278.040c32.088 0 57.494-28.565 57.494-62.447h-10.894c0 28.819-21.439 51.554-46.601 51.554v10.894zM547.707 215.593c0-33.882-25.406-62.448-57.494-62.448v10.894c25.162 0 46.601 22.735 46.601 51.555h10.894zM490.213 186.838c13.898 0 25.781 12.27 25.781 28.754h10.894c0-21.547-15.848-39.648-36.674-39.648v10.894zM515.994 215.593c0 16.485-11.883 28.753-25.781 28.753v10.894c20.826 0 36.674-18.101 36.674-39.647h-10.894zM490.213 244.346c-13.9 0-25.781-12.268-25.781-28.753h-10.894c0 21.546 15.848 39.647 36.674 39.647v-10.894zM464.432 215.593c0-16.484 11.881-28.754 25.781-28.754v-10.894c-20.826 0-36.674 18.101-36.674 39.648h10.894zM146.702 369.244h62.457v-10.894h-62.457v10.894zM203.712 363.797v433.211h10.894v-433.211h-10.894zM209.159 791.561h-62.457v10.894h62.457v-10.894zM152.149 797.008v-433.211h-10.894v433.211h10.894zM229.98 369.244h104.093v-10.894h-104.093v10.894zM328.626 363.797v433.211h10.894v-433.211h-10.894zM334.072 791.561h-104.093v10.894h104.093v-10.894zM235.426 797.008v-433.211h-10.894v433.211h10.894zM354.888 369.244h62.457v-10.894h-62.457v10.894zM411.899 363.797v433.211h10.894v-433.211h-10.894zM417.345 791.561h-62.457v10.894h62.457v-10.894zM360.335 797.008v-433.211h-10.894v433.211h10.894zM438.165 369.244h104.095v-10.894h-104.095v10.894zM536.813 363.797v433.211h10.894v-433.211h-10.894zM542.26 791.561h-104.095v10.894h104.095v-10.894zM443.612 797.008v-433.211h-10.894v433.211h10.894zM563.080 369.244h62.457v-10.894h-62.457v10.894zM620.091 363.797v433.211h10.894v-433.211h-10.894zM625.538 791.561h-62.457v10.894h62.457v-10.894zM568.527 797.008v-433.211h-10.894v433.211h10.894zM646.355 369.244h104.095v-10.894h-104.095v10.894zM745.004 363.797v433.211h10.894v-433.211h-10.894zM750.45 791.561h-104.095v10.894h104.095v-10.894zM651.802 797.008v-433.211h-10.894v433.211h10.894zM771.266 369.244h62.457v-10.894h-62.457v10.894zM828.277 363.797v433.211h10.894v-433.211h-10.894zM833.723 791.561h-62.457v10.894h62.457v-10.894zM776.713 797.008v-433.211h-10.894v433.211h10.894zM63.425 825.255h853.575v-10.894h-853.575v10.894zM911.554 819.808v68.401h10.894v-68.401h-10.894zM917.001 882.762h-853.575v10.894h853.575v-10.894zM68.872 888.209v-68.401h-10.894v68.401h10.894zM42.606 916.456h895.214v-10.894h-895.214v10.894zM932.374 911.009v68.403h10.894v-68.403h-10.894zM937.821 973.966h-895.214v10.894h895.214v-10.894zM48.053 979.412v-68.403h-10.894v68.403h10.894z"],"width":980,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["bank"],"defaultCode":59652,"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":167,"name":"bank","prevSize":32,"id":155,"code":59652},"setIdx":1,"setId":2,"iconIdx":158},{"icon":{"paths":["M43.371 551.375l-21.313 103.106c-3.872 18.803 8.173 37.175 26.945 41.094l108.715 22.564c6.492 1.372 13.257 0.038 18.811-3.605l35.040-22.758c5.2-3.723 8.799-9.325 10.011-15.631l11.106-51.437 30.035 6.112c25.459 5.289 50.37-11.049 55.689-36.512l6.219-30.084 51.426 10.029c6.413 1.214 13.062-0.119 18.537-3.723l34.142-22.564c17.559 10.421 36.369 18.686 55.962 24.563 11.889 3.445 24.169 5.641 36.527 6.541 2.816 6.308 5.788 12.535 9.229 18.647l-170.195 242.494c-6.061 8.54-8.448 19.157-6.609 29.459l18.106 104.006c2.816 16.61 17.129 28.834 33.946 28.99 1.995 0 4.028-0.156 5.984-0.51l109.346-19.548c6.53-1.058 12.356-4.661 16.228-10.029l23.934-34.080c3.755-5.408 5.28-12.066 4.183-18.571l-8.602-51.945 30.033-5.21c25.538-4.506 42.667-28.873 38.246-54.453l-5.201-30.086 51.467-10.029c6.374-1.135 12.083-4.74 15.915-10.029l23.426-33.613c58.347 9.284 118.106-2.272 168.823-32.631 50.684-30.359 89.124-77.645 108.565-133.542 23.972-66.283 18.261-139.699-15.605-201.476-6.609-12.222-21.86-16.806-34.101-10.185-12.201 6.62-16.738 21.937-10.167 34.159 27.102 49.165 31.757 107.648 12.749 160.459-16.19 47.245-49.237 86.852-92.802 111.1-43.565 24.288-94.601 31.535-143.174 20.369-9.933-2.31-20.294 1.685-26.123 10.029l-26.75 39.019-59.17 11.125c-17.090 3.017-28.51 19.313-25.538 36.393l7.823 45.129-45.248 7.639c-17.050 2.978-28.469 19.117-25.653 36.198l10.012 60.171-12.399 16.768-84.079 14.65-14.626-84.224 177.393-252.171c5.867-8.346 6.101-19.392 0.625-27.972-32.42-50.3-40.749-112.431-22.758-169.545 17.95-57.077 60.38-103.185 115.723-125.79 55.337-22.564 117.835-19.313 170.505 8.932l-38.912 49.517c-21.391-6.581-44.542-3.526-63.509 8.384-18.929 11.947-31.716 31.535-35.042 53.668-3.324 22.172 3.13 44.659 17.717 61.621 14.586 17.003 35.821 26.756 58.191 26.756 4.459 0 8.917-0.39 13.335-1.175 26.084-4.309 48.179-21.82 58.347-46.266 10.17-24.482 7.040-52.493-8.29-74.078l73.562-93.783c33.318-43.838 42.353-101.541 24.013-153.49-18.342-51.985-61.555-91.159-114.974-104.278-53.419-13.124-109.856 1.567-150.091 39.135l-33.242 31.888c-82.4-31.34-175.162-17.119-244.42 37.529-69.22 54.648-104.73 141.655-93.585 229.245l-247.393 162.575c-8.76 5.681-14.9 14.69-17.012 24.954l-0.002 0.004zM805.265 437.771c-7.351 10.421-21.039 14.182-32.693 9.011-11.654-5.212-18.029-17.905-15.213-30.362 2.778-12.457 13.963-21.193 26.711-20.879s23.505 9.559 25.694 22.172c1.252 7.012-0.39 14.221-4.497 20.058h-0.002zM713.555 101.499c42.98-40.663 109.967-41.29 153.696-1.489 43.761 39.802 49.549 106.675 13.297 153.409l-4.42 5.602v0.038c-27.962-16.373-58.816-27.108-90.884-31.612-20.141-43.406-52.051-80.27-92.098-106.395l20.41-19.553zM91.433 565.918l257.286-169.075c8.604-5.6 12.945-15.904 10.91-25.971-12.203-62.17 5.515-126.492 47.868-173.587 42.353-47.088 104.339-71.454 167.381-65.774 63.002 5.719 119.667 40.82 152.875 94.725-6.921 0.587-13.805 1.487-20.725 2.703v0.038c-66.639 11.595-125.764 49.713-164.019 105.651-38.208 55.902-52.286 124.928-38.989 191.369-1.604 0-3.403-0.706-5.007-1.214v0.038c-20.1-6.033-39.106-15.159-56.393-27.108-8.407-5.681-19.475-5.681-27.923 0l-39.226 25.581-59.089-11.518c-16.973-3.524-33.634 7.443-37.114 24.446l-9.346 45.246-44.74-10.029c-16.933-3.524-33.515 7.326-37.151 24.288l-12.827 59.469-17.52 11.516-83.455-17.041 17.204-83.753z","M43.371 551.375l-4.489-2.88-0.534 0.832-0.2 0.969 5.223 1.079zM22.057 654.481v0zM49.002 695.575l-1.090 5.22 0.006 0.002 1.084-5.222zM157.717 718.14l1.102-5.218-0.018-0.004-1.084 5.222zM176.527 714.534l-2.905-4.471-0.020 0.013 2.926 4.459zM211.568 691.776l2.907 4.476 0.196-0.139-3.103-4.337zM221.579 676.145l-5.214-1.126-0.023 0.119 5.237 1.007zM232.685 624.708l1.065-5.227-5.165-1.050-1.111 5.15 5.212 1.126zM262.72 630.82l1.086-5.222-0.021-0.004-1.065 5.227zM318.409 594.308l5.22 1.092 0.004-0.013-5.225-1.079zM324.627 564.224l1.020-5.235-5.175-1.009-1.067 5.165 5.222 1.079zM376.092 574.253v5.333l1.020-10.569-1.020 5.235zM376.053 574.253v-5.333l-0.992 10.573 0.992-5.239zM394.59 570.53l2.933 4.454 0.009-0.004-2.942-4.45zM428.732 547.966l2.722-4.587-2.874-1.705-2.79 1.841 2.942 4.45zM484.693 572.529l-1.532 5.107 0.047 0.015 1.485-5.122zM521.22 579.070l4.87-2.174-1.301-2.912-3.181-0.233-0.388 5.318zM530.449 597.717l4.365 3.063 1.933-2.752-1.651-2.929-4.646 2.618zM360.254 840.211l4.35 3.087 0.015-0.023-4.365-3.063zM353.645 869.67l5.254-0.915-0.004-0.021-5.25 0.937zM371.75 973.677l5.259-0.89-0.004-0.023-5.254 0.913zM405.696 1002.667l-0.049 5.333h0.049v-5.333zM411.68 1002.157l-0.939-5.25-0.009 0.002 0.947 5.248zM521.026 982.609l-0.853-5.265-0.085 0.015 0.939 5.25zM537.254 972.58l4.326 3.121 0.038-0.055-4.365-3.066zM561.188 938.5l4.365 3.063 0.015-0.021-4.38-3.042zM565.372 919.93l-5.261 0.873 0.002 0.013 5.259-0.885zM556.77 867.985l-0.913-5.254-5.214 0.905 0.864 5.22 5.263-0.87zM586.803 862.775l0.911 5.254 0.015-0.002-0.926-5.252zM625.050 808.322v0zM619.849 778.236l-1.020-5.235-5.124 0.998 0.89 5.146 5.254-0.909zM671.315 768.207l-0.937-5.252-0.085 0.017 1.022 5.235zM687.23 758.178l4.32 3.13 0.055-0.079-4.375-3.051zM710.656 724.565l0.838-5.267-3.302-0.525-1.911 2.743 4.375 3.049zM879.479 691.934l2.739 4.576h0.002l-2.741-4.576zM988.045 558.391l-5.018-1.813-0.021 0.062 5.039 1.751zM972.439 356.915l-4.691 2.537 0.015 0.028 4.676-2.564zM938.338 346.731l-2.537-4.691-0.006 0.004 2.543 4.687zM928.171 380.89l-4.698 2.526 0.028 0.049 4.67-2.575zM940.919 541.348l-5.018-1.805-0.028 0.077 5.045 1.728zM848.117 652.448l-2.592-4.661-0.004 0.002 2.596 4.659zM704.943 672.817l-1.207 5.195 0.013 0.004 1.195-5.199zM678.82 682.846l-4.373-3.055-0.026 0.038 4.399 3.017zM652.070 721.865l0.986 5.239 2.167-0.407 1.246-1.818-4.399-3.014zM592.9 732.99l0.928 5.252 0.058-0.011-0.986-5.242zM567.362 769.382v0zM575.185 814.511l0.887 5.259 5.282-0.892-0.915-5.278-5.254 0.911zM529.937 822.15l-0.887-5.259-0.030 0.004 0.917 5.254zM504.284 858.349l-5.263 0.866 0.002 0.009 5.261-0.875zM514.295 918.519l4.288 3.172 1.344-1.818-0.371-2.229-5.261 0.875zM501.897 935.287l0.917 5.254 2.103-0.367 1.269-1.717-4.29-3.17zM417.818 949.937l-5.254 0.913 0.913 5.259 5.257-0.917-0.915-5.254zM403.191 865.713l-4.363-3.068-1.269 1.805 0.378 2.176 5.254-0.913zM580.585 613.542v0zM581.21 585.57l4.497-2.869-0.013-0.019-4.484 2.889zM558.451 416.026v0zM674.174 290.236l-2.014-4.939-0.004 0.002 2.018 4.937zM844.678 299.168l4.194 3.296 3.925-4.994-5.598-3.002-2.522 4.7zM805.728 348.723l-4.194-3.296 7.972 7.059-3.778-3.763zM805.766 348.685l3.78 3.763 6.236-6.261-8.448-2.601-1.568 5.099zM742.257 357.069l-2.837-4.518-0.011 0.009 2.848 4.51zM707.215 410.737v0zM724.932 472.358l4.047-3.473-0.004-0.004-4.043 3.477zM796.459 497.939l-0.87-5.261-0.062 0.011 0.932 5.25zM854.805 451.674v0zM846.515 377.596l-4.194-3.292-2.46 3.132 2.306 3.249 4.348-3.089zM920.115 283.812l4.196 3.292 6.769-8.625h-10.965v5.333zM920.077 283.812l-4.245-3.228-6.507 8.561h10.752v-5.333zM944.090 130.323v0zM829.116 26.044v0zM679.025 65.179l-3.642-3.899-0.051 0.050 3.693 3.849zM645.783 97.068l-1.897 4.985 3.153 1.199 2.436-2.336-3.693-3.849zM401.363 134.597v0zM307.778 363.842l2.929 4.457 2.782-1.828-0.42-3.3-5.291 0.672zM60.385 526.417l2.902 4.476 0.027-0.019-2.929-4.457zM43.373 551.371l4.489 2.882 0.535-0.836 0.2-0.971-5.224-1.075zM805.265 437.771l2.398-4.764-4.105-2.067-2.65 3.757 4.356 3.074zM772.572 446.782l-2.176 4.868 0.013 0.006 2.163-4.875zM757.359 416.42l5.203 1.178 0.004-0.017-5.207-1.161zM784.070 395.541v0zM809.764 417.713l-5.254 0.913 0.004 0.026 5.25-0.939zM805.267 437.771l-2.398 4.764 4.111 2.069 2.647-3.763-4.361-3.070zM713.555 101.499l-3.665-3.874-0.023 0.023 3.689 3.851zM867.251 100.010l-3.59 3.944 0.002 0.001 3.588-3.946zM880.548 253.419l4.188 3.302 0.026-0.034-4.213-3.268zM876.128 259.021l-4.186-3.302-1.148 1.453v1.85h5.333zM876.128 259.059l-2.694 4.604 8.028 4.7v-9.303h-5.333zM785.244 227.447l-4.838 2.244 1.222 2.633 2.874 0.403 0.742-5.28zM693.146 121.052l-3.689-3.851-4.851 4.647 5.626 3.67 2.914-4.467zM91.433 565.918l-2.929-4.459-1.85 1.216-0.445 2.17 5.224 1.073zM348.719 396.843l-2.91-4.469-0.019 0.013 2.929 4.457zM359.629 370.871l-5.233 1.026 0.004 0.030 5.229-1.056zM407.497 197.285v0zM574.878 131.511l0.482-5.311-0.004-0-0.478 5.312zM727.753 226.236l0.452 5.314 8.636-0.734-4.546-7.379-4.542 2.799zM707.027 228.939l-0.922-5.254-4.412 0.774v4.48h5.333zM707.027 228.977l0.913 5.254 4.42-0.768v-4.486h-5.333zM543.008 334.628v0zM504.019 525.997v5.333h6.507l-1.278-6.381-5.229 1.047zM499.012 524.783l1.615-5.084-6.948-2.206v7.29h5.333zM499.012 524.821l-1.534 5.107 6.867 2.061v-7.168h-5.333zM442.62 497.713l3.034-4.388-0.047-0.032-2.987 4.42zM414.697 497.713l2.914 4.467 0.062-0.043-2.976-4.425zM375.471 523.294l-1.020 5.235 2.123 0.414 1.811-1.182-2.914-4.467zM316.42 511.776l1.020-5.233-0.506-0.1h-0.514v5.333zM316.382 511.776l-1.086 5.222 0.538 0.111h0.548v-5.333zM279.268 536.222l5.222 1.079 0.002-0.011-5.225-1.069zM269.922 581.468l-1.167 5.205 5.293 1.186 1.097-5.312-5.222-1.079zM225.182 571.439l1.167-5.203-0.079-0.017-1.088 5.22zM188.031 595.727l5.213 1.126 0.001-0.009-5.215-1.118zM175.204 655.196l2.929 4.457 1.824-1.199 0.46-2.133-5.213-1.124zM157.684 666.711l-1.067 5.227 2.157 0.439 1.84-1.21-2.93-4.457zM74.229 649.67l-5.224-1.073-1.075 5.231 5.232 1.069 1.067-5.227zM38.148 550.295l-21.313 103.106 10.446 2.159 21.313-103.106-10.446-2.159zM16.833 653.406c-4.463 21.677 9.423 42.869 31.079 47.39l2.179-10.443c-15.887-3.315-26.091-18.867-22.811-34.797l-10.447-2.15zM47.918 700.798l108.715 22.564 2.168-10.445-108.715-22.564-2.168 10.445zM156.615 723.358c7.915 1.673 16.126 0.041 22.838-4.363l-5.851-8.919c-4.394 2.882-9.714 3.917-14.783 2.846l-2.204 10.436zM179.433 719.008l35.040-22.761-5.81-8.945-35.040 22.761 5.81 8.945zM214.671 696.113c6.313-4.516 10.675-11.311 12.145-18.961l-10.475-2.014c-0.954 4.962-3.787 9.374-7.877 12.299l6.207 8.676zM226.793 677.269l11.106-51.435-10.426-2.253-11.106 51.437 10.426 2.251zM231.622 629.935l30.035 6.112 2.127-10.453-30.035-6.112-2.127 10.453zM261.636 636.041c28.343 5.888 56.073-12.301 61.993-40.64l-10.441-2.182c-4.717 22.586-26.81 37.069-49.382 32.38l-2.17 10.443zM323.633 595.388l6.217-30.084-10.445-2.159-6.219 30.084 10.447 2.159zM323.607 569.457l51.465 10.029 2.039-10.468-51.465-10.029-2.039 10.468zM376.092 568.919h-0.038v10.667h0.038v-10.667zM375.061 579.492c7.778 1.472 15.834-0.143 22.462-4.508l-5.865-8.909c-4.322 2.844-9.564 3.891-14.613 2.935l-1.984 10.481zM397.532 574.98l34.14-22.564-5.882-8.9-34.14 22.564 5.882 8.9zM426.010 552.553c17.931 10.641 37.141 19.083 57.152 25.084l3.063-10.217c-19.174-5.751-37.585-13.841-54.771-24.041l-5.444 9.173zM483.209 577.651c12.25 3.552 24.898 5.811 37.623 6.739l0.777-10.639c-11.989-0.875-23.902-3.004-35.43-6.347l-2.97 10.246zM516.35 581.244c2.85 6.383 5.897 12.779 9.453 19.091l9.293-5.235c-3.328-5.909-6.223-11.972-9.005-18.204l-9.741 4.348zM526.084 594.654l-170.195 242.494 8.73 6.127 170.195-242.494-8.73-6.127zM355.904 837.124c-6.886 9.702-9.6 21.769-7.509 33.483l10.5-1.873c-1.587-8.892 0.471-18.059 5.709-25.436l-8.7-6.174zM348.39 870.586l18.106 104.006 10.509-1.828-18.106-104.009-10.509 1.83zM366.494 974.569c3.245 19.151 19.746 33.25 39.153 33.431l0.098-10.667c-14.227-0.132-26.351-10.477-28.736-24.546l-10.515 1.781zM405.696 1008c2.266 0 4.619-0.177 6.929-0.593l-1.892-10.498c-1.6 0.288-3.313 0.425-5.037 0.425v10.667zM412.619 1007.407l109.344-19.548-1.875-10.5-109.346 19.548 1.877 10.5zM521.877 987.874c7.93-1.284 15.006-5.662 19.703-12.173l-8.651-6.24c-3.046 4.222-7.627 7.053-12.757 7.883l1.705 10.53zM541.619 975.646l23.934-34.082-8.73-6.129-23.934 34.082 8.73 6.129zM565.568 941.542c4.54-6.537 6.394-14.603 5.065-22.498l-10.519 1.771c0.862 5.111-0.335 10.364-3.305 14.643l8.759 6.084zM570.635 919.059l-8.604-51.947-10.524 1.743 8.604 51.947 10.524-1.743zM557.681 873.239l30.033-5.21-1.822-10.511-30.035 5.212 1.824 10.509zM587.729 868.028c28.433-5.018 47.497-32.139 42.577-60.614l-10.511 1.815c3.919 22.688-11.275 44.299-33.918 48.294l1.852 10.505zM630.306 807.413l-5.201-30.086-10.511 1.818 5.201 30.086 10.511-1.818zM620.868 783.471l51.467-10.029-2.042-10.47-51.465 10.029 2.039 10.47zM672.25 773.457c7.753-1.38 14.667-5.758 19.3-12.149l-8.638-6.259c-3.034 4.186-7.537 7.017-12.533 7.908l1.871 10.5zM691.605 761.229l23.426-33.613-8.751-6.099-23.426 33.613 8.751 6.099zM709.818 729.833c59.586 9.483 120.61-2.319 172.401-33.323l-5.478-9.152c-49.645 29.717-108.137 41.028-165.246 31.94l-1.677 10.534zM882.221 696.51c51.757-31.004 91.010-79.29 110.861-136.367l-10.076-3.503c-19.029 54.718-56.659 101.003-106.268 130.718l5.483 9.152zM993.058 560.207c24.495-67.727 18.66-142.737-15.942-205.856l-9.353 5.129c33.131 60.435 38.716 132.256 15.266 197.099l10.029 3.629zM977.131 354.379c-8.004-14.803-26.487-20.367-41.329-12.339l5.075 9.382c9.638-5.214 21.658-1.611 26.871 8.030l9.382-5.073zM935.795 342.044c-14.795 8.028-20.277 26.575-12.322 41.372l9.395-5.050c-5.186-9.647-1.594-21.734 8.015-26.948l-5.088-9.374zM923.501 383.465c26.362 47.823 30.889 104.71 12.401 156.079l10.035 3.612c19.526-54.255 14.746-114.334-13.094-164.841l-9.342 5.15zM935.874 539.62c-15.765 46.003-47.94 84.563-90.349 108.166l5.186 9.321c44.721-24.892 78.637-65.545 95.253-114.029l-10.091-3.458zM845.521 647.789c-42.413 23.646-92.096 30.701-139.381 19.831l-2.391 10.396c49.86 11.46 102.246 4.021 146.967-20.911l-5.195-9.316zM706.153 667.622c-12.062-2.807-24.634 2.044-31.706 12.171l8.745 6.106c4.585-6.56 12.74-9.702 20.544-7.887l2.417-10.389zM674.421 679.829l-26.75 39.019 8.798 6.031 26.75-39.017-8.798-6.033zM651.085 716.623l-59.17 11.125 1.971 10.483 59.17-11.127-1.971-10.481zM591.972 727.738c-19.987 3.529-33.34 22.586-29.865 42.56l10.509-1.83c-2.468-14.185 7.019-27.721 21.212-30.225l-1.856-10.505zM562.108 770.293l7.821 45.129 10.511-1.822-7.821-45.129-10.511 1.822zM574.298 809.252l-45.248 7.639 1.775 10.517 45.248-7.639-1.775-10.517zM529.020 816.896c-19.942 3.484-33.289 22.362-29.999 42.319l10.524-1.734c-2.34-14.204 7.151-27.603 21.31-30.076l-1.835-10.509zM499.023 859.223l10.012 60.173 10.522-1.751-10.012-60.173-10.522 1.751zM510.005 915.349l-12.397 16.766 8.578 6.342 12.397-16.766-8.578-6.342zM500.981 930.033l-84.079 14.652 1.83 10.507 84.081-14.65-1.833-10.509zM423.072 949.026l-14.626-84.226-10.509 1.826 14.626 84.224 10.509-1.824zM407.554 868.781l177.393-252.171-8.725-6.138-177.393 252.173 8.725 6.135zM584.947 616.61c7.113-10.116 7.396-23.509 0.759-33.909l-8.992 5.739c4.314 6.761 4.128 15.462-0.493 22.035l8.725 6.135zM585.694 582.682c-31.561-48.964-39.671-109.451-22.157-165.054l-10.174-3.204c-18.466 58.624-9.916 122.402 23.364 174.037l8.966-5.779zM563.537 417.626c17.476-55.563 58.782-100.448 112.653-122.451l-4.034-9.875c-56.811 23.204-100.367 70.537-118.793 129.126l10.174 3.2zM676.188 295.174c53.867-21.965 114.703-18.799 165.971 8.693l5.041-9.399c-54.074-28.998-118.236-32.335-175.040-9.171l4.028 9.877zM840.486 295.872l-38.953 49.555 8.388 6.592 38.95-49.555-8.386-6.592zM809.506 352.486l0.041-0.038-7.558-7.526-0.038 0.038 7.556 7.526zM807.334 343.586c-22.874-7.038-47.633-3.767-67.915 8.964l5.673 9.035c17.655-11.085 39.198-13.929 59.106-7.804l3.136-10.195zM739.409 352.559c-20.239 12.774-33.914 33.719-37.468 57.387l10.549 1.583c3.093-20.599 14.995-38.831 32.612-49.95l-5.694-9.020zM701.941 409.948c-3.552 23.699 3.343 47.744 18.946 65.888l8.087-6.955c-13.57-15.78-19.58-36.708-16.484-57.353l-10.549-1.581zM720.883 475.831c15.601 18.182 38.315 28.617 62.24 28.617v-10.667c-20.813 0-40.57-9.075-54.144-24.896l-8.096 6.946zM783.123 504.448c4.77 0 9.54-0.418 14.266-1.257l-1.862-10.502c-4.111 0.73-8.258 1.092-12.403 1.092v10.667zM797.327 503.202c27.902-4.61 51.531-23.337 62.404-49.478l-9.85-4.098c-9.461 22.748-30.025 39.044-54.293 43.053l1.739 10.524zM859.731 453.719c10.871-26.176 7.529-56.126-8.868-79.213l-8.695 6.178c14.263 20.083 17.178 46.153 7.714 68.945l9.85 4.090zM850.711 380.887l73.6-93.783-8.39-6.586-73.6 93.786 8.39 6.583zM920.115 278.479h-0.038v10.667h0.038v-10.667zM924.322 287.038c34.406-45.265 43.735-104.849 24.796-158.491l-10.059 3.551c17.745 50.256 9.005 106.080-23.228 148.486l8.491 6.453zM949.118 128.548c-18.938-53.678-63.563-94.134-118.729-107.683l-2.545 10.359c51.669 12.69 93.472 50.582 111.215 100.873l10.059-3.549zM830.389 20.865c-55.168-13.553-113.451 1.618-155.004 40.416l7.279 7.796c38.918-36.338 93.506-50.548 145.18-37.854l2.545-10.359zM675.332 61.331l-33.242 31.888 7.386 7.697 33.239-31.888-7.383-7.697zM647.68 92.083c-84.154-32.006-178.889-17.483-249.621 38.327l6.607 8.374c67.789-53.487 158.575-67.404 239.221-36.731l3.793-9.97zM398.059 130.411c-70.692 55.81-106.953 144.661-95.571 234.106l10.581-1.346c-10.91-85.739 23.849-170.9 91.599-224.387l-6.609-8.372zM304.849 359.386l-247.393 162.575 5.858 8.913 247.394-162.575-5.858-8.913zM57.483 521.943c-9.964 6.46-16.936 16.698-19.334 28.354l10.448 2.148c1.825-8.873 7.133-16.655 14.689-21.553l-5.803-8.949zM38.884 548.491l-0.003 0.004 0.003-0.004zM800.909 434.697c-5.884 8.337-16.838 11.351-26.174 7.209l-4.326 9.751c13.973 6.199 30.394 1.694 39.215-10.812l-8.715-6.148zM774.75 441.911c-9.342-4.175-14.443-14.342-12.188-24.314l-10.404-2.353c-3.377 14.942 4.271 30.161 18.238 36.405l4.354-9.739zM762.566 417.581c2.221-9.969 11.17-16.958 21.374-16.708l0.262-10.662c-15.296-0.378-28.717 10.106-32.049 25.052l10.413 2.319zM783.94 400.873c10.208 0.252 18.816 7.65 20.57 17.754l10.509-1.824c-2.624-15.125-15.529-26.217-30.816-26.592l-0.262 10.662zM804.514 418.652c0.996 5.587-0.307 11.356-3.61 16.051l8.723 6.138c4.911-6.98 6.893-15.627 5.387-24.064l-10.5 1.875zM807.663 433.007v0 0zM717.22 105.373c40.951-38.745 104.774-39.342 146.441-1.418l7.181-7.889c-45.794-41.68-115.945-41.023-160.951 1.559l7.33 7.748zM863.663 103.956c41.702 37.928 47.217 101.66 12.672 146.195l8.427 6.537c37.958-48.932 31.9-118.947-13.922-160.623l-7.177 7.891zM876.361 250.116l-4.418 5.602 8.373 6.605 4.42-5.602-8.375-6.605zM870.795 259.021v0.038h10.667v-0.038h-10.667zM878.825 254.458c-28.563-16.725-60.081-27.691-92.838-32.292l-1.485 10.562c31.379 4.407 61.57 14.912 88.932 30.935l5.391-9.205zM790.082 225.201c-20.561-44.31-53.139-81.944-94.022-108.616l-5.828 8.934c39.209 25.58 70.453 61.673 90.174 104.173l9.677-4.491zM696.836 124.903l20.41-19.553-7.379-7.702-20.41 19.553 7.379 7.702zM94.362 570.374l257.286-169.073-5.858-8.915-257.286 169.073 5.858 8.915zM351.629 401.314c10.428-6.793 15.697-19.281 13.227-31.499l-10.455 2.112c1.6 7.919-1.813 16.034-8.591 20.446l5.82 8.941zM364.862 369.843c-11.878-60.527 5.37-123.147 46.598-168.992l-7.93-7.133c-43.477 48.344-61.66 114.367-49.135 178.179l10.466-2.054zM411.46 200.852c41.231-45.84 101.572-69.558 162.94-64.029l0.956-10.624c-64.717-5.831-128.35 19.184-171.825 67.519l7.93 7.133zM574.396 136.822c61.327 5.567 116.489 39.736 148.817 92.21l9.082-5.596c-34.089-55.334-92.258-91.366-156.934-97.237l-0.964 10.623zM727.302 220.922c-7.085 0.599-14.125 1.523-21.197 2.763l1.843 10.507c6.769-1.188 13.495-2.067 20.256-2.641l-0.902-10.628zM701.694 228.939v0.038h10.667v-0.038h-10.667zM706.112 223.723c-68.062 11.842-128.444 50.773-167.507 107.895l8.806 6.022c37.444-54.758 95.313-92.062 160.529-103.409l-1.828-10.509zM538.605 331.62c-39.019 57.086-53.395 127.573-39.817 195.422l10.46-2.093c-13.015-65.030 0.766-132.595 38.163-187.311l-8.806-6.018zM504.019 520.663c-0.081 0-0.384-0.026-1.056-0.215-0.759-0.215-1.269-0.41-2.336-0.749l-3.23 10.165c0.538 0.171 1.728 0.582 2.671 0.849 1.028 0.29 2.426 0.617 3.951 0.617v-10.667zM493.679 524.783v0.038h10.667v-0.038h-10.667zM500.546 519.712c-19.569-5.871-38.067-14.756-54.893-26.387l-6.065 8.774c17.745 12.267 37.257 21.638 57.89 27.829l3.068-10.217zM445.606 493.293c-10.217-6.901-23.642-6.893-33.886-0.006l5.952 8.851c6.652-4.471 15.362-4.465 21.963-0.006l5.971-8.838zM411.782 493.246l-39.223 25.581 5.826 8.934 39.226-25.581-5.828-8.934zM376.493 518.059l-59.053-11.516-2.042 10.468 59.053 11.518 2.042-10.47zM316.42 506.443h-0.038v10.667h0.038v-10.667zM317.466 506.556c-19.866-4.128-39.351 8.706-43.422 28.597l10.449 2.138c2.889-14.112 16.723-23.217 30.803-20.292l2.17-10.443zM274.046 535.142l-9.348 45.246 10.447 2.159 9.346-45.246-10.445-2.159zM271.089 576.265l-44.74-10.029-2.334 10.409 44.74 10.029 2.334-10.409zM226.27 566.219c-19.825-4.128-39.207 8.58-43.454 28.39l10.43 2.236c3.025-14.114 16.807-23.108 30.85-20.183l2.174-10.443zM182.817 594.603l-12.827 59.469 10.427 2.249 12.827-59.467-10.427-2.251zM172.274 650.739l-17.52 11.516 5.859 8.913 17.52-11.516-5.859-8.913zM158.751 661.487l-83.455-17.041-2.134 10.451 83.455 17.041 2.134-10.451zM79.453 650.743l17.204-83.753-10.448-2.146-17.204 83.753 10.448 2.146z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["keys"],"defaultCode":59657,"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":168,"name":"keys","prevSize":32,"codes":[59657,59658],"id":156,"code":59657},"setIdx":1,"setId":2,"iconIdx":159},{"icon":{"paths":["M564.102 860.475l-137.637-137.637c-38.739-38.806-60.008-91.853-59.175-147.529 0.868-55.639 23.71-109.383 63.636-149.372l17.715-17.717c14.692-14.692 38.14-15.045 52.397-0.788 14.257 14.259 13.907 37.705-0.786 52.397l-17.717 17.717c-53.752 53.88-55.075 139.843-2.887 192.1l137.637 137.637c52.256 52.256 138.252 50.964 192.1-2.885s55.14-139.847 2.887-192.1l-28.534-27.422c-14.257-14.259-13.871-37.738 0.788-52.397 14.692-14.692 38.14-15.045 52.397-0.788l28.532 27.422c52.256 52.256 71.792 129.231 51.316 201.96-20.508 72.765-77.942 130.2-150.711 150.711-72.73 20.476-149.703 0.945-201.958-51.31zM324.031 567.219c14.659-14.659 15.045-38.138 0.788-52.395l-120.413-120.413c-52.255-52.256-50.963-138.252 2.885-192.1s139.845-55.141 192.1-2.885l137.637 137.637c52.189 52.256 50.863 138.218-2.885 192.098l-17.717 17.717c-14.692 14.692-15.045 38.14-0.788 52.397s37.705 13.905 52.397-0.788l17.717-17.715c39.922-39.987 62.763-93.731 63.636-149.374 0.837-55.672-20.435-108.719-59.175-147.527l-137.637-137.638c-52.256-52.255-129.231-71.792-201.962-51.316-72.763 20.508-130.198 77.943-150.71 150.712-20.475 72.73-0.94 149.705 51.316 201.96l120.412 120.413c14.257 14.257 37.705 13.905 52.397-0.788l0.002 0.004z","M426.464 722.838l-9.756 9.738 0.008 0.010 9.748-9.748zM367.289 575.309v0zM430.925 425.937l-9.748-9.748-0.008 0.008 9.756 9.74zM482.534 477.546l-9.748-9.748-0.012 0.012 9.76 9.736zM479.648 669.647l-9.754 9.74 0.008 0.008 9.746-9.748zM812.272 612.299l9.748-9.75-0.197-0.189-9.551 9.939zM783.738 584.877l-9.748 9.748 0.197 0.191 9.551-9.939zM836.923 531.692l-9.75 9.75 0.197 0.189 9.553-9.939zM865.455 559.114l9.75-9.748-0.197-0.191-9.553 9.939zM916.771 761.074v0zM766.060 911.785l3.736 13.269h0.004l-3.74-13.269zM324.031 567.219l-13.113 4.252 6.944 21.413 15.917-15.917-9.748-9.748zM537.029 337.063l9.754-9.742-0.006-0.006-9.748 9.748zM534.144 529.162l9.746 9.748 0.012-0.012-9.758-9.736zM585.754 580.773l9.748 9.746 0.008-0.008-9.756-9.738zM649.389 431.399v0zM590.214 283.872l9.756-9.74-0.010-0.008-9.746 9.748zM250.614 94.918l-3.736-13.269-0.004 0.001 3.74 13.268zM99.904 245.63v0zM151.22 447.59v0zM271.632 568.003v0zM324.029 567.215l13.113-4.252-6.942-21.413-15.919 15.917 9.748 9.748zM573.85 850.727l-137.637-137.637-19.495 19.495 137.637 137.637 19.495-19.495zM436.22 713.098c-36.061-36.122-55.926-85.563-55.148-137.582l-27.567-0.412c-0.886 59.329 21.788 115.986 63.204 157.472l19.511-19.478zM381.072 575.525c0.811-52.015 22.176-102.357 59.607-139.849l-19.509-19.48c-42.419 42.488-66.739 99.633-67.665 158.897l27.567 0.431zM440.671 435.684l17.717-17.717-19.493-19.495-17.717 17.717 19.493 19.495zM458.388 417.967c9.588-9.588 24.302-9.387 32.902-0.788l19.495-19.493c-19.915-19.915-52.094-19.011-71.891 0.786l19.493 19.495zM491.29 417.18c8.602 8.602 8.8 23.316-0.786 32.904l19.493 19.493c19.799-19.797 20.703-51.976 0.788-71.891l-19.495 19.493zM490.504 450.083l-17.717 17.715 19.495 19.495 17.715-17.717-19.493-19.493zM472.775 467.81c-58.837 58.978-60.721 153.659-2.881 211.576l19.507-19.482c-46.535-46.596-45.775-123.841 2.891-172.623l-19.517-19.472zM469.902 679.394l137.637 137.637 19.493-19.495-137.637-137.637-19.493 19.495zM607.539 817.032c57.911 57.911 152.641 56.068 211.594-2.887l-19.493-19.493c-48.744 48.742-126.009 49.483-172.607 2.885l-19.493 19.495zM819.133 814.145c58.953-58.953 60.798-153.681 2.885-211.594l-19.493 19.495c46.598 46.596 45.857 123.861-2.885 172.605l19.493 19.493zM821.823 602.36l-28.532-27.422-19.104 19.877 28.532 27.422 19.104-19.877zM793.486 575.13c-8.592-8.594-8.775-23.341 0.788-32.904l-19.495-19.493c-19.755 19.755-20.708 51.968-0.786 71.891l19.493-19.493zM794.273 542.226c9.586-9.586 24.302-9.387 32.902-0.786l19.495-19.495c-19.915-19.915-52.094-19.009-71.893 0.788l19.495 19.493zM827.37 541.631l28.534 27.422 19.104-19.877-28.532-27.422-19.105 19.877zM855.708 568.862c48.628 48.628 66.96 120.409 47.795 188.477l26.537 7.471c21.79-77.391 1.046-159.561-54.837-215.444l-19.495 19.495zM903.505 757.335c-19.208 68.147-73.033 121.972-141.184 141.184l7.479 26.535c77.387-21.815 138.429-82.857 160.24-160.24l-26.535-7.479zM762.325 898.517c-68.070 19.163-139.849 0.839-188.475-47.789l-19.495 19.495c55.883 55.883 138.051 76.619 215.442 54.831l-7.471-26.537zM333.779 576.967c19.755-19.755 20.708-51.968 0.786-71.891l-19.493 19.493c8.592 8.594 8.775 23.341-0.788 32.904l19.495 19.493zM334.564 505.076l-120.411-120.413-19.495 19.493 120.412 120.413 19.493-19.493zM214.154 384.664c-46.598-46.598-45.859-123.863 2.885-172.605l-19.495-19.495c-58.953 58.954-60.797 153.682-2.885 211.593l19.495-19.493zM217.039 212.059c48.744-48.744 126.007-49.484 172.605-2.887l19.495-19.494c-57.913-57.912-152.641-56.068-211.596 2.886l19.495 19.495zM389.644 209.172l137.637 137.637 19.495-19.493-137.637-137.638-19.495 19.494zM527.275 346.803c46.535 46.596 45.775 123.839-2.891 172.625l19.517 19.47c58.835-58.978 60.723-153.659 2.881-211.576l-19.507 19.482zM524.396 519.416l-17.717 17.715 19.495 19.495 17.715-17.717-19.493-19.493zM506.679 537.131c-19.797 19.799-20.701 51.978-0.788 71.893l19.495-19.495c-8.6-8.6-8.8-23.316 0.788-32.902l-19.495-19.495zM505.891 609.024c19.915 19.915 52.094 19.011 71.893-0.788l-19.495-19.493c-9.586 9.586-24.302 9.387-32.902 0.786l-19.495 19.495zM577.784 608.236l17.717-17.717-19.495-19.493-17.717 17.717 19.495 19.493zM595.509 590.511c42.415-42.484 66.735-99.629 67.663-158.895l-27.565-0.431c-0.815 52.017-22.179 102.361-59.609 139.849l19.511 19.478zM663.172 431.606c0.892-59.327-21.784-115.984-63.202-157.473l-19.511 19.478c36.064 36.128 55.93 85.567 55.148 137.582l27.565 0.414zM599.96 274.125l-137.637-137.638-19.493 19.494 137.637 137.637 19.493-19.493zM462.322 136.487c-55.881-55.882-138.051-76.626-215.444-54.838l7.471 26.538c68.068-19.164 139.851-0.833 188.479 47.794l19.493-19.494zM246.875 81.65c-77.381 21.81-138.424 82.853-160.238 160.238l26.535 7.481c19.211-68.152 73.037-121.977 141.182-141.184l-7.479-26.535zM86.635 241.894c-21.787 77.391-1.045 159.559 54.838 215.442l19.494-19.493c-48.628-48.628-66.957-120.409-47.794-188.479l-26.538-7.469zM141.473 457.336l120.413 120.413 19.493-19.493-120.412-120.413-19.494 19.493zM261.886 577.749c19.913 19.915 52.092 19.011 71.891-0.786l-19.495-19.495c-9.586 9.588-24.302 9.387-32.902 0.788l-19.493 19.493zM310.916 571.467l0.002 0.004-0.002-0.004z","M850.723 187.716c-27.057 27.525-34.938 66.648-24.97 101.629l-127.988 130.206c-1.414 1.438-2.31 3.334-2.534 5.35l-5.949 57.454c-0.293 2.808 0.707 5.579 2.723 7.509 2.018 1.93 4.793 2.79 7.519 2.316l74.634-12.999c3.948-0.668 6.949-3.982 7.31-8.034l2.432-27.49 27.022-2.475c4.259-0.386 7.623-3.824 8.003-8.139l2.43-27.49 27.040-2.473c2.052-0.193 3.984-1.107 5.451-2.58l40.576-41.279c34.351 10.086 72.858 2.105 99.897-25.403 39.576-40.261 39.576-105.819 0-146.081s-104.017-40.262-143.594 0v-0.019zM863.208 200.416c32.835-33.402 85.793-33.402 118.626 0 32.831 33.404 32.833 87.28 0 120.68-23.696 24.105-57.854 30.525-87.414 19.842h0.018c-3.226-1.122-6.796-0.282-9.175 2.194l-41.559 42.279-31.317 2.877c-4.242 0.386-7.605 3.807-8.001 8.139l-2.432 27.49-27.022 2.473c-4.244 0.386-7.623 3.808-8.003 8.141l-2.43 28.087-56.478 9.824 4.295-42.279 129.247-131.486c2.414-2.473 3.224-6.158 2.034-9.439-10.484-30.070-4.086-64.717 19.608-88.82l0.002-0.004zM919.391 213.118c-13.726 13.966-13.726 36.858 0 50.804 13.728 13.964 36.232 13.964 49.938 0 13.728-13.966 13.728-36.858 0-50.804-13.726-13.964-36.23-13.964-49.938 0zM931.879 225.82c6.965-7.087 18.003-7.087 24.97 0 6.965 7.087 6.965 18.316 0 25.403-6.967 7.087-18.005 7.087-24.97 0-6.967-7.087-6.967-18.316 0-25.403z"],"width":1063,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["link-key"],"defaultCode":59661,"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":169,"name":"link-key","prevSize":32,"codes":[59661,59662,59663],"id":157,"code":59661},"setIdx":1,"setId":2,"iconIdx":160},{"icon":{"paths":["M1110.826 548.181c0 7.698-6.696 14.318-14.478 14.318s-14.478-6.62-14.478-13.201c0-7.696 6.696-14.318 14.478-14.318s14.478 5.503 14.478 13.201zM1097.434 474.435c-7.782 0-14.478 6.623-14.478 14.32v13.201c0 7.696 6.696 14.318 14.478 14.318s14.478-6.623 14.478-14.318v-14.32c-1.086-7.698-6.652-13.201-14.478-13.201zM1097.434 400.689c-7.782 0-14.478 6.623-14.478 14.32v25.326c0 7.698 6.696 14.32 14.478 14.32s14.478-6.623 14.478-14.32v-25.326c-1.086-8.815-6.652-14.32-14.478-14.32zM1327.868 197.039v629.654c0 5.503-3.348 9.891-8.913 12.125l-415.176 178.321h-1.131c-1.131 1.117-3.348 1.117-4.434 1.117-1.131 0-3.348 0-4.434-1.117h-1.131l-416.256-178.365c-5.565-2.193-8.913-6.62-8.913-12.125v-635.156c0-1.118 1.131-1.118 1.131-2.193 0 0 0-1.118 1.131-1.118 0-1.118 1.129-1.118 1.129-2.193l1.131-1.118c1.131 0 1.131-1.118 2.217-1.118h1.131l417.302-160.652c3.348-1.118 6.696-1.118 10 0l416.256 160.741h1.131c1.131 0 1.131 0 2.217 1.118l1.131 1.118c1.131 0 1.131 1.118 1.131 2.193l1.131 1.118c0 1.118 1.129 1.118 1.129 2.193v1.118c1.089 1.032 1.089 2.107 1.089 4.343l0.004-0.002zM734.604 114.478l360.604 155.237c2.217 1.117 4.434 2.193 5.565 4.385l176.952-75.938-379.526-147.531-163.595 63.847zM884.865 384.176l-388.474-166.244v598.819l388.43 167.313 0.045-599.888zM1058.48 291.684l10-4.388-368.395-158.538c-1.131 0-1.131-1.118-2.217-1.118l-180.302 69.36 380.65 164.046 160.265-69.363zM1300.039 217.938l-189.217 81.442v68.243c0 7.696-6.696 14.318-14.478 14.318s-14.478-6.623-14.478-14.318v-56.117l-171.386 73.746v598.82l388.43-167.313v-598.819l1.131-0.001z","M1111.913 487.635h5.565v-0.392l-0.053-0.385-5.512 0.777zM1111.913 415.009h5.565v-0.343l-0.040-0.338-5.525 0.681zM1327.868 197.039h5.565v-8.541l-7.814 3.45 2.248 5.091zM1318.954 838.819l-2.077-5.165-0.12 0.051 2.197 5.113zM903.778 1017.139v5.565h1.144l1.053-0.452-2.197-5.113zM902.647 1017.139v-5.565h-2.286l-1.627 1.609 3.913 3.956zM893.778 1017.139l3.989-3.88-1.638-1.685h-2.351v5.565zM892.648 1017.139l-2.193 5.116 1.051 0.45h1.142v-5.565zM476.392 838.774l2.193-5.116-0.154-0.060-2.039 5.176zM469.74 188.181v5.565h5.565v-5.565h-5.565zM470.869 185.988l-3.913-3.957-1.652 1.634v2.323h5.565zM471.999 184.87v-5.565h-2.286l-1.627 1.608 3.913 3.957zM475.347 183.752v5.565h1.035l0.964-0.372-1.999-5.194zM892.65 23.099l-1.765-5.284-0.234 0.090 1.999 5.194zM902.649 23.099l2.008-5.196-0.223-0.075-1.785 5.272zM1318.905 183.84l-2.003 5.191 0.966 0.374h1.037v-5.565zM1322.253 184.958l-3.991 3.88 0.078 0.076 3.913-3.957zM1323.384 186.076l-3.913 3.957 1.625 1.608h2.288v-5.565zM1324.515 188.269h-5.565v2.323l1.652 1.634 3.913-3.957zM1325.646 189.387h5.565v-2.323l-1.652-1.634-3.913 3.957zM1326.775 192.698h-5.565v2.39l1.734 1.646 3.831-4.036zM734.604 114.478l-2.024-5.184-12.637 4.932 12.459 5.364 2.202-5.112zM1095.208 269.715l2.504-4.969-0.149-0.078-0.156-0.065-2.199 5.111zM1100.773 274.1l-4.949 2.551 2.377 4.608 4.764-2.044-2.193-5.116zM1277.725 198.162l2.193 5.114 12.511-5.369-12.689-4.932-2.015 5.187zM898.199 50.631l2.015-5.187-2.019-0.785-2.019 0.788 2.024 5.185zM884.865 384.176l5.565 0.002v-3.673l-3.375-1.445-2.19 5.116zM496.391 217.932l2.19-5.116-7.756-3.319v8.435h5.565zM496.391 816.751h-5.565v3.664l3.364 1.447 2.202-5.111zM884.821 984.064l-2.202 5.111 7.767 3.346v-8.457h-5.565zM1058.48 291.684l2.211 5.107 0.024-0.011-2.235-5.096zM1068.479 287.297l2.235 5.098 11.731-5.144-11.767-5.064-2.199 5.111zM700.084 128.758l2.199-5.112-1.053-0.453h-1.146v5.565zM697.867 127.64v-5.565h-1.033l-0.966 0.371 1.999 5.194zM517.565 197l-1.999-5.194-12.727 4.896 12.52 5.407 2.206-5.109zM736.824 291.689l-2.206 5.109 0.009 0.004 2.197-5.113zM898.215 361.047l-2.197 5.113 2.204 0.948 2.204-0.953-2.211-5.109zM1300.039 217.938l2.199 5.112-2.204-10.677 0.004 5.565zM1110.822 299.38l-2.199-5.111-3.366 1.449v3.662h5.565zM1081.865 311.505h5.565v-8.452l-7.765 3.341 2.199 5.111zM910.478 385.251l-2.199-5.111-3.366 1.447v3.664h5.565zM910.478 984.071h-5.565v8.457l7.767-3.346-2.202-5.111zM1298.908 816.758l2.202 5.111 3.364-1.447v-3.664h-5.565zM1298.908 217.939l-0.004-5.565-5.561 0.006v5.56h5.565zM1105.261 548.181c0 4.566-4.145 8.753-8.913 8.753v11.13c10.799 0 20.044-9.056 20.044-19.883h-11.13zM1096.348 556.934c-2.311 0-4.61-0.997-6.353-2.629-1.785-1.672-2.56-3.58-2.56-5.006h-11.13c0 5.153 2.573 9.846 6.082 13.132 3.551 3.321 8.49 5.634 13.962 5.634v-11.13zM1087.435 549.298c0-4.566 4.147-8.753 8.913-8.753v-11.13c-10.799 0-20.044 9.056-20.044 19.883h11.13zM1096.348 540.545c5.378 0 8.913 3.64 8.913 7.635h11.13c0-11.4-9.855-18.766-20.044-18.766v11.13zM1097.434 468.87c-10.797 0-20.044 9.056-20.044 19.886h11.13c0-4.568 4.147-8.755 8.913-8.755v-11.13zM1077.39 488.755v13.201h11.13v-13.201h-11.13zM1077.39 501.956c0 10.828 9.247 19.883 20.044 19.883v-11.13c-4.766 0-8.913-4.187-8.913-8.753h-11.13zM1097.434 521.839c10.799 0 20.044-9.056 20.044-19.883h-11.13c0 4.566-4.145 8.753-8.913 8.753v11.13zM1117.478 501.956v-14.32h-11.13v14.32h11.13zM1117.424 486.859c-1.425-10.091-9.047-17.989-19.99-17.989v11.13c4.71 0 8.219 3.11 8.969 8.415l11.021-1.556zM1097.434 395.124c-10.797 0-20.044 9.056-20.044 19.886h11.13c0-4.566 4.147-8.755 8.913-8.755v-11.13zM1077.39 415.009v25.326h11.13v-25.326h-11.13zM1077.39 440.336c0 10.83 9.247 19.886 20.044 19.886v-11.13c-4.766 0-8.913-4.189-8.913-8.755h-11.13zM1097.434 460.221c10.799 0 20.044-9.056 20.044-19.886h-11.13c0 4.566-4.145 8.755-8.913 8.755v11.13zM1117.478 440.336v-25.326h-11.13v25.326h11.13zM1117.438 414.328c-0.666-5.4-2.765-10.222-6.322-13.742-3.606-3.566-8.388-5.463-13.682-5.463v11.13c2.533 0 4.45 0.857 5.855 2.246 1.451 1.436 2.68 3.773 3.101 7.19l11.048-1.362zM1322.302 197.039v629.654h11.13v-629.654h-11.13zM1322.302 826.693c0 2.847-1.587 5.421-5.423 6.963l4.149 10.327c7.293-2.932 12.404-9.129 12.404-17.29h-11.13zM1316.757 833.705l-415.176 178.321 4.394 10.227 415.174-178.321-4.392-10.227zM903.778 1011.574h-1.131v11.13h1.131v-11.13zM898.734 1013.183c0.361-0.358 0.683-0.505 0.788-0.548 0.102-0.042 0.109-0.029-0.031-0.007-0.129 0.022-0.309 0.040-0.541 0.051-0.236 0.011-0.461 0.011-0.737 0.011v11.13c0.514 0 1.774 0.011 3.123-0.216 1.229-0.207 3.439-0.744 5.225-2.509l-7.827-7.914zM898.213 1012.691c-0.289 0-0.523 0-0.764-0.011s-0.421-0.029-0.548-0.051c-0.138-0.022-0.118-0.033 0.004 0.018s0.476 0.216 0.861 0.612l-7.981 7.76c1.788 1.839 4.049 2.382 5.269 2.587 1.351 0.227 2.627 0.216 3.157 0.216v-11.13zM893.778 1011.574h-1.131v11.13h1.131v-11.13zM894.84 1012.024l-416.256-178.363-4.385 10.229 416.256 178.365 4.385-10.231zM478.431 833.598c-3.78-1.491-5.387-4.078-5.387-6.95h-11.13c0 8.136 5.087 14.407 12.437 17.303l4.080-10.354zM473.043 826.648v-629.61h-11.13v629.61h11.13zM473.043 197.039v-1.118h-11.13v1.118h11.13zM473.043 195.921v-3.311h-11.13v3.311h11.13zM473.043 192.61v-1.118h-11.13v1.118h11.13zM473.043 191.492c0 0.338-0.045 0.729-0.163 1.146-0.118 0.419-0.289 0.783-0.472 1.085-0.318 0.52-0.69 0.843-0.49 0.65 0.040-0.040 0.234-0.226 0.432-0.44 0.214-0.233 0.508-0.58 0.792-1.035 0.294-0.468 0.565-1.025 0.755-1.672 0.191-0.646 0.276-1.295 0.276-1.928h-11.13c0-0.364 0.049-0.777 0.178-1.214 0.127-0.437 0.309-0.809 0.499-1.108 0.18-0.287 0.349-0.482 0.432-0.57 0.062-0.070 0.116-0.119 0.016-0.022-0.082 0.081-0.737 0.681-1.267 1.549-0.289 0.476-0.548 1.032-0.73 1.67-0.178 0.635-0.258 1.27-0.258 1.888h11.13zM468.609 189.299c5.565 0 5.565 0.003 5.565 0.006 0 0.001 0 0.004 0 0.006 0 0.004 0 0.007 0 0.011 0 0.007 0 0.014 0 0.022 0 0.015 0 0.029-0.002 0.044 0 0.029 0 0.058 0 0.087-0.002 0.058-0.007 0.118-0.011 0.178-0.009 0.119-0.022 0.252-0.047 0.397-0.045 0.264-0.145 0.7-0.398 1.202-0.265 0.525-0.748 1.211-1.567 1.751-0.85 0.561-1.732 0.744-2.409 0.744v-11.13c-1.244 0-2.549 0.323-3.718 1.094-1.138 0.75-1.832 1.715-2.239 2.52-0.394 0.782-0.565 1.497-0.646 1.97-0.040 0.25-0.065 0.47-0.078 0.651-0.007 0.091-0.011 0.174-0.013 0.249 0 0.037-0.002 0.073-0.002 0.106 0 0.017 0 0.033 0 0.049 0 0.008 0 0.016 0 0.023 0 0.004 0 0.008 0 0.011 0 0.002 0 0.005 0 0.006 0 0.003 0 0.006 5.565 0.006zM475.305 188.181c0 0.338-0.045 0.729-0.163 1.146-0.12 0.419-0.289 0.784-0.474 1.086-0.316 0.52-0.688 0.843-0.49 0.65 0.042-0.040 0.236-0.226 0.432-0.44 0.214-0.233 0.508-0.58 0.795-1.035 0.294-0.468 0.563-1.025 0.755-1.672 0.189-0.646 0.274-1.295 0.274-1.928h-11.13c0-0.364 0.051-0.777 0.178-1.213 0.129-0.437 0.312-0.809 0.499-1.109 0.18-0.287 0.352-0.482 0.432-0.57 0.065-0.070 0.118-0.119 0.018-0.022-0.085 0.081-0.739 0.681-1.267 1.549-0.289 0.476-0.55 1.032-0.73 1.67-0.18 0.635-0.258 1.27-0.258 1.888h11.13zM474.782 189.945l1.131-1.118-7.827-7.914-1.131 1.118 7.827 7.914zM471.999 190.435c0.61 0 1.235-0.076 1.861-0.25 0.63-0.174 1.182-0.425 1.658-0.709 0.87-0.518 1.474-1.161 1.558-1.247 0.098-0.099 0.047-0.046-0.022 0.017-0.089 0.080-0.285 0.246-0.57 0.421-0.298 0.183-0.663 0.358-1.091 0.48-0.425 0.122-0.826 0.169-1.178 0.169v-11.13c-0.621 0-1.262 0.081-1.899 0.265-0.639 0.184-1.193 0.446-1.661 0.733-0.456 0.28-0.804 0.568-1.040 0.78-0.216 0.194-0.403 0.386-0.445 0.427-0.191 0.194 0.131-0.169 0.65-0.478 0.298-0.179 0.657-0.342 1.066-0.455 0.407-0.113 0.786-0.154 1.111-0.154v11.13zM474.217 189.317h1.131v-11.13h-1.131v11.13zM477.347 188.946l417.302-160.653-3.998-10.387-417.302 160.652 3.998 10.387zM894.413 28.378c2.211-0.738 4.314-0.731 6.453-0.007l3.568-10.543c-4.47-1.512-9.062-1.505-13.548-0.007l3.526 10.557zM900.646 28.291l416.256 160.741 4.009-10.383-416.256-160.741-4.009 10.383zM1318.905 189.405h1.131v-11.13h-1.131v11.13zM1320.036 189.405c0.158 0 0.22 0 0.265 0.001 0.042 0.001-0.024 0.001-0.145-0.011-0.129-0.013-0.352-0.043-0.632-0.116-0.289-0.077-0.583-0.187-0.868-0.33-0.276-0.139-0.483-0.279-0.619-0.38-0.127-0.095-0.2-0.164-0.203-0.166 0-0.001 0.027 0.025 0.109 0.107s0.178 0.181 0.321 0.327l7.981-7.759c-0.229-0.235-0.557-0.574-0.864-0.858-0.323-0.297-0.902-0.8-1.714-1.21-0.904-0.455-1.747-0.625-2.411-0.691-0.512-0.051-1.040-0.045-1.22-0.045v11.13zM1318.34 188.915l1.131 1.118 7.827-7.914-1.131-1.118-7.827 7.914zM1323.384 191.641c-0.666 0-1.719-0.182-2.727-0.954-0.968-0.74-1.385-1.634-1.552-2.12-0.082-0.245-0.12-0.436-0.138-0.541-0.018-0.107-0.022-0.17-0.022-0.171 0-0.002 0.002 0.026 0.002 0.102 0.002 0.080 0.002 0.169 0.002 0.311h11.13c0-0.224 0.065-1.821-0.441-3.298-0.307-0.9-0.935-2.141-2.219-3.124-1.327-1.015-2.805-1.337-4.036-1.337v11.13zM1320.602 192.226l1.131 1.118 7.827-7.914-1.131-1.118-7.827 7.914zM1320.081 189.387c0 0.618 0.078 1.253 0.258 1.888 0.18 0.637 0.439 1.193 0.73 1.67 0.528 0.868 1.182 1.468 1.267 1.549 0.1 0.097 0.047 0.048-0.018-0.022-0.080-0.089-0.252-0.283-0.432-0.57-0.187-0.3-0.37-0.672-0.499-1.108-0.127-0.436-0.178-0.85-0.178-1.214h11.13c0-0.632-0.085-1.281-0.274-1.928-0.191-0.647-0.461-1.204-0.755-1.672-0.287-0.456-0.581-0.803-0.795-1.035-0.196-0.214-0.39-0.4-0.432-0.44-0.198-0.193 0.174 0.13 0.49 0.65 0.185 0.302 0.354 0.666 0.474 1.085 0.118 0.417 0.163 0.808 0.163 1.146h-11.13zM1321.209 191.58v1.118h11.13v-1.118h-11.13zM1322.943 196.734c-0.091-0.086-0.265-0.278-0.427-0.576-0.16-0.296-0.225-0.541-0.247-0.645-0.013-0.070 0.004-0.021 0.016 0.27 0.004 0.137 0.009 0.305 0.011 0.52 0.002 0.217 0.002 0.453 0.002 0.738h11.13c0-0.908 0.024-2.375-0.245-3.718-0.352-1.753-1.166-3.322-2.576-4.661l-7.664 8.072zM1330.109 202.132l0.007-0.002-4.497-10.182-0.004 0.002 4.494 10.182zM732.403 119.59l360.604 155.236 4.401-10.222-360.604-155.238-4.401 10.224zM1092.701 274.684c1.222 0.617 1.926 0.975 2.5 1.376 0.488 0.343 0.592 0.53 0.623 0.592l9.895-5.1c-2.113-4.1-6.22-5.904-8.007-6.805l-5.011 9.937zM1102.966 279.216l176.952-75.939-4.388-10.228-176.952 75.939 4.388 10.229zM1279.74 192.975l-379.526-147.531-4.031 10.374 379.526 147.531 4.031-10.374zM896.176 45.447l-163.595 63.847 4.045 10.369 163.595-63.847-4.045-10.369zM887.056 379.060l-388.474-166.244-4.379 10.234 388.474 166.244 4.379-10.233zM490.825 217.932v598.819h11.13v-598.819h-11.13zM494.189 821.862l388.43 167.313 4.403-10.222-388.43-167.313-4.403 10.222zM890.386 984.064l0.045-599.886-11.13-0.002-0.045 599.888h11.13zM1060.715 296.78l10-4.385-4.47-10.193-10 4.385 4.47 10.193zM1070.679 282.185l-368.395-158.539-4.399 10.224 368.395 158.539 4.399-10.224zM700.084 123.193c0.325 0 0.706 0.041 1.111 0.154 0.41 0.113 0.768 0.277 1.066 0.455 0.519 0.309 0.841 0.672 0.65 0.478-0.040-0.041-0.229-0.233-0.445-0.427-0.234-0.211-0.583-0.5-1.040-0.78-0.467-0.288-1.020-0.55-1.661-0.734-0.637-0.183-1.276-0.265-1.899-0.265v11.13c-0.352 0-0.752-0.047-1.178-0.169-0.427-0.123-0.792-0.297-1.091-0.48-0.285-0.175-0.479-0.341-0.57-0.422-0.069-0.063-0.118-0.116-0.020-0.016 0.085 0.085 0.688 0.728 1.556 1.247 0.476 0.283 1.028 0.534 1.658 0.709 0.628 0.174 1.253 0.25 1.861 0.25v-11.13zM695.868 122.446l-180.302 69.36 3.998 10.388 180.302-69.36-3.998-10.388zM515.359 202.11l219.258 94.688 4.412-10.218-219.258-94.689-4.412 10.218zM734.627 296.802l161.391 69.358 4.394-10.224-161.391-69.36-4.394 10.227zM900.425 366.156l160.265-69.365-4.421-10.216-160.265 69.365 4.421 10.216zM1297.84 212.826l-189.217 81.443 4.399 10.224 189.217-81.444-4.399-10.224zM1105.257 299.38v68.243h11.13v-68.243h-11.13zM1105.257 367.623c0 4.566-4.145 8.753-8.913 8.753v11.13c10.799 0 20.044-9.056 20.044-19.883h-11.13zM1096.343 376.376c-4.768 0-8.913-4.187-8.913-8.753h-11.13c0 10.828 9.245 19.883 20.044 19.883v-11.13zM1087.43 367.623v-56.117h-11.13v56.117h11.13zM1079.666 306.394l-171.386 73.746 4.399 10.224 171.386-73.746-4.399-10.224zM904.913 385.251v598.82h11.13v-598.82h-11.13zM912.68 989.182l388.43-167.313-4.403-10.222-388.43 167.313 4.403 10.222zM1304.474 816.758v-598.819h-11.13v598.819h11.13zM1298.913 223.504h1.131l-0.009-11.131-1.131 0.001 0.009 11.13z","M264.887 252.91l127.724 126.958c10.781 10.714 10.781 27.853 0 38.567-10.779 10.714-28.020 10.714-38.798 0l-80.843-80.905v191.245c0 64.285-52.821 116.789-117.496 116.789h-127.978c-15.095 0-27.495-12.326-27.495-27.33s12.4-27.33 27.495-27.33h127.978c35.032 0 63.051-28.398 63.051-62.673v-190.702l-81.915 80.903c-10.779 10.714-28.021 10.714-38.8 0-5.39-5.356-8.084-12.326-8.084-19.293 0-6.97 2.695-13.938 8.084-19.296l127.726-126.956c11.326-10.694 28.572-10.692 39.351 0.022z"],"width":1336,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["return-box"],"defaultCode":59664,"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":170,"name":"return-box","prevSize":32,"id":158,"code":59664},"setIdx":1,"setId":2,"iconIdx":161},{"icon":{"paths":["M103.69 0c-57.012 0-103.69 46.292-103.69 102.832v691.776c0 56.539 46.678 102.831 103.69 102.831h12.327v92.046c-0.090 6.156 2.311 12.090 6.662 16.494 4.396 4.36 10.333 6.832 16.542 6.832s12.146-2.472 16.542-6.832c4.351-4.406 6.753-10.338 6.662-16.494v-92.046h580.083v92.046c-0.090 6.156 2.312 12.090 6.663 16.494 4.396 4.36 10.33 6.832 16.541 6.832 6.208 0 12.145-2.472 16.541-6.832 4.351-4.406 6.751-10.338 6.661-16.494v-92.046h12.328c57.011 0 103.688-46.292 103.688-102.831v-360.867c0.090-6.156-2.31-12.090-6.661-16.494-4.396-4.36-10.333-6.832-16.541-6.832-6.211 0-12.147 2.472-16.541 6.832-4.351 4.403-6.754 10.338-6.663 16.494v360.867c0 31.863-25.152 56.808-57.282 56.808h-697.551c-32.131 0-57.283-24.945-57.283-56.808v-691.776c0-31.865 25.152-56.809 57.283-56.809h697.551c32.13 0 57.282 24.944 57.282 56.809-0.090 6.157 2.312 12.090 6.663 16.494 4.394 4.359 10.33 6.831 16.541 6.831 6.208 0 12.145-2.472 16.541-6.831 4.351-4.405 6.751-10.337 6.661-16.494 0-56.54-46.678-102.832-103.688-102.832h-697.552zM452.458 195.595c-140.671 0-255.237 113.619-255.237 253.124s114.566 253.123 255.237 253.123c132.875 0 242.417-101.302 254.145-230.112h82.301c6.208 0.090 12.19-2.293 16.632-6.606 4.396-4.36 6.889-10.247 6.889-16.405s-2.493-12.045-6.889-16.405c-4.441-4.315-10.423-6.696-16.632-6.606h-82.301c-11.736-128.805-121.27-230.113-254.145-230.113v0zM452.458 241.619c107.725 0 195.87 80.36 207.379 184.089h-33.354c-0.726-0.045-1.45-0.045-2.177 0-6.163 0.269-11.962 2.967-16.086 7.506-4.17 4.494-6.301 10.471-6.027 16.584 0.271 6.113 2.991 11.864 7.568 15.955 4.532 4.134 10.559 6.246 16.722 5.977h33.354c-11.509 103.729-99.654 184.089-207.379 184.089-115.607 0-208.829-92.451-208.829-207.1 0-114.652 93.222-207.1 208.829-207.1v0z","M857.302 95.256h47.628v190.512h-47.628v-190.512z","M833.488 381.023h119.070v547.721h-119.070v-547.721z","M1140.074 746.175h-19.325l-6.849-6.606c23.974-27.886 38.405-64.090 38.405-103.472 0-87.819-71.185-159.003-159.001-159.003-87.819 0-159.001 71.185-159.001 159.003 0 87.816 71.182 159.001 159.001 159.001 39.384 0 75.585-14.434 103.474-38.405l6.604 6.849v19.325l122.308 122.063 36.447-36.447-122.063-122.308zM993.304 746.175c-60.909 0-110.078-49.169-110.078-110.078 0-60.911 49.169-110.080 110.078-110.080 60.911 0 110.078 49.169 110.078 110.080 0 60.909-49.166 110.078-110.078 110.078z"],"width":1262,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["safe-search"],"defaultCode":59666,"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":171,"name":"safe-search","prevSize":32,"codes":[59666,59667,59668,59669],"id":159,"code":59666},"setIdx":1,"setId":2,"iconIdx":162},{"icon":{"paths":["M357.209 72.345c-199.139 13.647-357.209 180.228-357.209 382.745 0 211.404 172.244 383.65 383.652 383.65 91.412 0 175.387-32.299 241.428-85.992l259.622 259.624c15.508 15.505 40.722 15.505 56.227 0 15.505-15.503 15.505-40.307 0-55.81l-259.622-259.624c29.96-36.778 53.215-79.212 67.948-125.402h-84.261c-45.558 110.442-154.117 187.828-281.343 187.828-168.518 0-304.274-135.759-304.274-304.273 0-159.603 121.779-289.824 277.831-303.149v-79.596z","M937.241 147.511c-7.416 0-12.367 4.95-12.367 12.365v210.022c0 16.051-12.364 29.658-28.412 29.658h-387.925c-16.051 0-28.415-13.586-28.415-29.658l0.021-21.023h46.952c7.413 0 12.364-4.949 12.364-12.364 0-7.413-4.951-12.364-12.364-12.364h-46.952v-98.831h46.952c7.413 0 12.364-4.95 12.364-12.365s-4.951-12.365-12.364-12.365h-46.952v-98.831h46.952c7.413 0 12.364-4.95 12.364-12.365s-4.951-12.365-12.364-12.365h-46.952v-19.757c0-16.050 12.364-29.658 28.415-29.658h387.925c16.051 0 28.415 13.586 28.415 29.658 0 7.414 4.951 12.365 12.364 12.365 7.416 0 12.364-4.95 12.364-12.365 0-29.658-23.464-54.365-53.122-54.365h-387.925c-29.658 0-53.122 24.707-53.122 54.365v311.313c0 29.658 23.464 54.365 53.122 54.365h12.367v37.071c0 19.758 16.048 37.074 37.071 37.074h45.706c19.758 0 37.074-16.051 37.074-37.074v-37.071h123.533v37.071c0 19.758 16.051 37.074 37.074 37.074h45.706c19.756 0 37.071-16.051 37.071-37.074v-37.071h12.364c29.658 0 53.124-24.707 53.124-54.365v-210.021c-0.090-6.127-5.018-11.055-12.433-11.055l0.005 0.006zM616.024 460.069c0 6.17-4.951 12.364-12.364 12.364h-45.709c-6.17 0-12.364-4.951-12.364-12.364v-37.071h70.415l0.021 37.071zM859.415 460.069c0 6.17-4.951 12.364-12.367 12.364h-45.706c-6.173 0-12.364-4.951-12.364-12.364v-37.071h70.415l0.021 37.071z","M937.241 147.511v2.381h3.972l-1.872-3.504-2.1 1.123zM480.123 369.897v0zM480.144 348.874v-2.381h-2.379l-0.002 2.379 2.381 0.002zM480.144 324.146h-2.381v2.381h2.381v-2.381zM480.144 225.315v-2.381h-2.381v2.381h2.381zM480.144 200.585h-2.381v2.381h2.381v-2.381zM480.144 101.754v-2.381h-2.381v2.381h2.381zM480.144 77.025h-2.381v2.381h2.381v-2.381zM520.947 422.945h2.381v-2.381h-2.381v2.381zM640.798 422.945v-2.381h-2.381v2.381h2.381zM764.33 422.945h2.381v-2.381h-2.381v2.381zM884.181 422.945v-2.381h-2.381v2.381h2.381zM949.67 158.559h2.381l-0.002-0.035-2.379 0.035zM937.236 147.504v-2.381h-3.972l1.872 3.504 2.1-1.123zM616.024 460.069v0zM545.587 422.998v-2.381h-2.381v2.381h2.381zM616.003 422.998l2.381-0.002v-2.379h-2.381v2.381zM859.415 460.069v0zM788.978 422.998v-2.381h-2.381v2.381h2.381zM859.393 422.998l2.381-0.002-0.002-2.379h-2.379v2.381zM937.241 145.129c-4.251 0-7.978 1.429-10.647 4.099s-4.098 6.397-4.098 10.647h4.76c0-3.165 1.048-5.621 2.705-7.279 1.66-1.658 4.115-2.704 7.28-2.704v-4.763zM922.495 159.875v210.022h4.76v-210.022h-4.76zM922.495 369.897c0 14.869-11.431 27.277-26.033 27.277v4.763c17.494 0 30.794-14.81 30.794-32.039h-4.76zM896.462 397.174h-387.925v4.763h387.925v-4.763zM508.537 397.174c-14.605 0-26.033-12.386-26.033-27.277h-4.763c0 17.253 13.3 32.039 30.796 32.039v-4.763zM482.504 369.9l0.021-21.023-4.763-0.005-0.021 21.023 4.763 0.005zM480.144 351.256h46.952v-4.763h-46.952v4.763zM527.096 351.256c4.248 0 7.975-1.429 10.645-4.098 2.672-2.672 4.101-6.399 4.101-10.647h-4.763c0 3.165-1.045 5.62-2.705 7.28-1.657 1.657-4.113 2.703-7.278 2.703v4.763zM541.841 336.51c0-4.248-1.429-7.975-4.101-10.647-2.67-2.67-6.396-4.098-10.645-4.098v4.763c3.165 0 5.62 1.045 7.278 2.703 1.66 1.66 2.705 4.115 2.705 7.28h4.763zM527.096 321.765h-46.952v4.763h46.952v-4.763zM482.525 324.146v-98.831h-4.763v98.831h4.763zM480.144 227.696h46.952v-4.763h-46.952v4.763zM527.096 227.696c4.248 0 7.975-1.429 10.645-4.1 2.672-2.67 4.101-6.397 4.101-10.647h-4.763c0 3.165-1.045 5.621-2.705 7.279-1.657 1.658-4.113 2.705-7.278 2.705v4.763zM541.841 212.95c0-4.249-1.429-7.976-4.101-10.647-2.67-2.67-6.396-4.099-10.645-4.099v4.763c3.165 0 5.62 1.046 7.278 2.704 1.66 1.658 2.705 4.114 2.705 7.279h4.763zM527.096 198.204h-46.952v4.763h46.952v-4.763zM482.525 200.585v-98.831h-4.763v98.831h4.763zM480.144 104.136h46.952v-4.763h-46.952v4.763zM527.096 104.136c4.248 0 7.975-1.429 10.645-4.099 2.672-2.671 4.101-6.398 4.101-10.647h-4.763c0 3.165-1.045 5.621-2.705 7.279-1.657 1.658-4.113 2.705-7.278 2.705v4.763zM541.841 89.389c0-4.249-1.429-7.976-4.101-10.647-2.67-2.671-6.396-4.1-10.645-4.1v4.763c3.165 0 5.62 1.046 7.278 2.705 1.66 1.658 2.705 4.114 2.705 7.279h4.763zM527.096 74.643h-46.952v4.763h46.952v-4.763zM482.525 77.025v-19.757h-4.763v19.757h4.763zM482.525 57.268c0-14.869 11.431-27.277 26.033-27.277v-4.763c-17.496 0-30.796 14.809-30.796 32.039h4.763zM508.559 29.991h387.925v-4.763h-387.925v4.763zM896.483 29.991c14.605 0 26.033 12.386 26.033 27.277h4.763c0-17.254-13.302-32.039-30.796-32.039v4.763zM922.517 57.268c0 4.249 1.429 7.976 4.098 10.647 2.672 2.67 6.399 4.099 10.647 4.099v-4.763c-3.165 0-5.62-1.046-7.28-2.705-1.657-1.658-2.703-4.114-2.703-7.279h-4.763zM937.262 72.014c4.248 0 7.975-1.429 10.647-4.099 2.67-2.671 4.098-6.398 4.098-10.647h-4.763c0 3.165-1.045 5.621-2.703 7.279-1.66 1.658-4.115 2.704-7.28 2.704v4.763zM952.008 57.268c0-30.901-24.459-56.746-55.503-56.746v4.763c28.272 0 50.74 23.568 50.74 51.983h4.763zM896.505 0.521h-387.925v4.763h387.925v-4.763zM508.58 0.521c-31.044 0-55.503 25.846-55.503 56.746h4.763c0-28.414 22.471-51.983 50.74-51.983v-4.763zM453.077 57.268v311.313h4.763v-311.313h-4.763zM453.077 368.58c0 30.901 24.459 56.746 55.503 56.746v-4.763c-28.27 0-50.74-23.569-50.74-51.983h-4.763zM508.58 425.327h12.367v-4.763h-12.367v4.763zM518.566 422.945v37.071h4.763v-37.071h-4.763zM518.566 460.017c0 21.021 17.063 39.455 39.453 39.455v-4.763c-19.654 0-34.69-16.196-34.69-34.692h-4.763zM558.018 499.471h45.706v-4.763h-45.706v4.763zM603.724 499.471c21.021 0 39.455-17.065 39.455-39.455h-4.763c0 19.656-16.196 34.692-34.692 34.692v4.763zM643.179 460.017v-37.071h-4.763v37.071h4.763zM640.798 425.327h123.533v-4.763h-123.533v4.763zM761.949 422.945v37.071h4.763v-37.071h-4.763zM761.949 460.017c0 21.021 17.065 39.455 39.455 39.455v-4.763c-19.656 0-34.692-16.196-34.692-34.692h-4.763zM801.404 499.471h45.706v-4.763h-45.706v4.763zM847.11 499.471c21.018 0 39.453-17.065 39.453-39.455h-4.763c0 19.656-16.196 34.692-34.69 34.692v4.763zM886.563 460.017v-37.071h-4.763v37.071h4.763zM884.181 425.327h12.364v-4.763h-12.364v4.763zM896.545 425.327c31.046 0 55.506-25.845 55.506-56.746h-4.763c0 28.415-22.471 51.983-50.743 51.983v4.763zM952.051 368.58v-210.021h-4.763v210.021h4.763zM952.049 158.524c-0.11-7.577-6.249-13.402-14.812-13.402v4.763c6.268 0 9.983 4.032 10.052 8.708l4.76-0.069zM935.136 148.627l0.005 0.006 4.201-2.246-0.005-0.006-4.201 2.246zM613.643 460.069c0 5.013-4.036 9.983-9.983 9.983v4.763c8.883 0 14.746-7.418 14.746-14.746h-4.763zM603.66 470.052h-45.709v4.763h45.709v-4.763zM557.951 470.052c-5.013 0-9.983-4.036-9.983-9.983h-4.763c0 8.883 7.418 14.746 14.746 14.746v-4.763zM547.969 460.069v-37.071h-4.763v37.071h4.763zM545.587 425.379h70.415v-4.763h-70.415v4.763zM613.621 422.998l0.021 37.071 4.763-0.002-0.021-37.071-4.763 0.002zM857.033 460.069c0 5.013-4.039 9.983-9.985 9.983v4.763c8.883 0 14.748-7.418 14.748-14.746h-4.763zM847.048 470.052h-45.706v4.763h45.706v-4.763zM801.342 470.052c-5.015 0-9.983-4.036-9.983-9.983h-4.763c0 8.883 7.418 14.746 14.746 14.746v-4.763zM791.359 460.069v-37.071h-4.763v37.071h4.763zM788.978 425.379h70.415v-4.763h-70.415v4.763zM857.012 422.998l0.021 37.071 4.763-0.002-0.021-37.071-4.763 0.002z","M702.512 126.512c-48.173 0-86.488 38.293-86.488 86.488 0 48.173 38.293 86.487 86.488 86.487 48.171 0 86.488-38.293 86.488-86.487 0-7.414-4.951-12.365-12.364-12.365-7.416 0-12.367 4.95-12.367 12.365 0 34.584-27.169 61.777-61.778 61.777-34.585 0-61.778-27.169-61.778-61.777 0-34.585 27.172-61.778 61.778-61.778 7.416 0 12.364-4.95 12.364-12.365 0.024-7.414-4.927-12.343-12.343-12.343v-0.002z","M693.858 221.632c2.462 2.464 6.17 3.707 8.656 3.707 2.465 0 6.17-1.243 8.656-3.707l51.879-51.878c4.951-4.95 4.951-12.365 0-17.293-4.949-4.95-12.364-4.95-17.291 0l-51.879 51.878c-4.951 4.928-4.951 12.343-0.024 17.293h0.002z"],"width":953,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["search-safe"],"defaultCode":59670,"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":172,"name":"search-safe","prevSize":32,"codes":[59670,59671,59672,59673,59674],"id":160,"code":59670},"setIdx":1,"setId":2,"iconIdx":163},{"icon":{"paths":["M969.779 988.585c-48.67-158.195-176.331-276.393-341.852-317.165-28.969-32.341-38.916-53.513-42.214-63.708 15.477-24.245 65.214-104.489 95.979-179.226h9.365c49.25 0 85.109-28.587 85.109-78.048 0-15.317-4.561-28.292-11.791-39.317-4.028-154.586-107.43-311.121-278.426-311.121-171.821 0-264.885 148.006-272.548 300.582-12.326 12.73-20.090 29.414-20.090 49.854 0 37.95 21.203 63.462 53.231 73.316 27.511 48.196 85.449 103.804 205.011 111.61 6.065 9.611 16.207 16.292 28.337 16.292 18.923 0 34.257-15.462 34.257-34.438 0-19.023-15.381-34.438-34.257-34.438-11.014 0-20.38 5.609-26.688 13.756-44.107-2.976-77.926-13.171-104.275-26.829-21.933-48.975-40.469-99.268-42.605-132.096 56.966-23.17 222.963-93.463 281.431-148.005 0 0 24.555 87.512 79.386 121.562 0.533 6.682 0.873 13.365 0.873 20.049 0 65.414-86.129 211.369-119.319 262.044-2.571 3.951-3.639 8.732-3.008 13.414 2.231 15.853 13.683 49.903 65.022 103.364-4.998 27.025-28.241 108.049-126.257 108.489-98.308-0.489-127.661-81.122-134.891-109.122 1.263-0.292 2.428-0.83 3.785-1.073l-0.58-2.438c58.323-61.903 62.255-94.148 61.818-102.88-0.096-3.121-0.971-6.146-2.522-8.877-4.755-8.292-10.773-19.221-17.468-31.708-18.586-4.587-35.908-10.244-52.407-16.538 14.364 28.439 26.737 51.025 32.706 61.562-2.622 8.489-12.326 30.684-46.679 67.855-164.877 44.877-289.929 163.565-327.629 314.093-1.456 5.805-0.146 12 3.542 16.781 3.639 4.877 9.316 7.659 15.285 7.659h931.795c6.163 0 11.985-2.927 15.625-7.902 3.686-5.026 4.755-11.465 2.959-17.367l-0.009 0.015zM485.958 38.975c146.927 0 221.943 129.661 236.986 240.539-7.036-2.583-14.46-4.341-22.176-5.559-20.572-99.317-94.231-188.779-214.763-188.779-119.174 0-192.156 89.073-212.725 188.192-6.453 0.732-12.762 1.854-18.827 3.561 14.071-108.391 80.646-237.955 231.507-237.955l-0.002 0.002zM45.224 974.822c38.528-117.562 137.511-210.831 267.122-254.052 13.683 53.903 62.11 136.979 171.087 136.979h1.892c0.098 0 0.145-0.049 0.243-0.049 110.731-0.535 153.673-85.122 163.324-139.413 128.591 41.073 228.885 133.807 275.17 256.486l-878.838 0.049z","M863.872 552.164l-10.193 49.312c-1.852 8.992 3.91 17.779 12.887 19.654l51.994 10.79c3.104 0.657 6.34 0.019 8.996-1.724l16.759-10.884c2.487-1.779 4.207-4.459 4.787-7.475l5.312-24.599 14.364 2.923c12.177 2.528 24.090-5.284 26.635-17.463l2.974-14.387 24.595 4.796c3.068 0.58 6.246-0.055 8.866-1.779l16.326-10.793c8.399 4.983 17.395 8.937 26.765 11.746 5.687 1.649 11.561 2.699 17.47 3.13 1.346 3.017 2.767 5.995 4.414 8.919l-81.397 115.974c-2.899 4.083-4.041 9.163-3.162 14.089l8.659 49.743c1.348 7.945 8.192 13.79 16.235 13.865 0.954 0 1.926-0.075 2.863-0.243l52.294-9.35c3.123-0.506 5.911-2.229 7.763-4.796l11.445-16.299c1.796-2.586 2.526-5.771 2.001-8.881l-4.113-24.845 14.364-2.492c12.213-2.155 20.405-13.807 18.291-26.042l-2.487-14.389 24.614-4.796c3.049-0.544 5.779-2.268 7.612-4.798l11.204-16.075c27.904 4.442 56.484-1.086 80.74-15.607 24.241-14.519 42.626-37.133 51.923-63.868 11.465-31.699 8.734-66.812-7.462-96.358-3.162-5.845-10.455-8.036-16.309-4.87-5.837 3.166-8.006 10.492-4.864 16.337 12.962 23.514 15.187 51.484 6.097 76.742-7.742 22.594-23.548 41.536-44.382 53.133-20.836 11.616-45.244 15.083-68.476 9.743-4.751-1.105-9.707 0.804-12.495 4.796l-12.791 18.66-28.299 5.321c-8.175 1.444-13.636 9.237-12.213 17.406l3.74 21.583-21.641 3.654c-8.154 1.423-13.615 9.143-12.269 17.312l4.787 28.779-5.929 8.019-40.211 7.006-6.995-40.282 84.841-120.604c2.805-3.989 2.916-9.274 0.299-13.378-15.505-24.055-19.49-53.771-10.886-81.086 8.587-27.298 28.879-49.348 55.347-60.16 26.464-10.793 56.356-9.237 81.547 4.271l-18.611 23.682c-10.231-3.147-21.303-1.685-30.374 4.011-9.052 5.713-15.168 15.081-16.759 25.666-1.589 10.605 1.498 21.359 8.474 29.472 6.976 8.132 17.133 12.796 27.831 12.796 2.131 0 4.265-0.186 6.377-0.561 12.476-2.061 23.044-10.436 27.906-22.127 4.862-11.71 3.366-25.105-3.966-35.428l35.183-44.853c15.934-20.966 20.256-48.563 11.484-73.408-8.772-24.862-29.44-43.599-54.987-49.873-25.549-6.276-52.54 0.749-71.785 18.718l-15.898 15.249c-39.409-14.987-83.772-8.186-116.896 17.95-33.105 26.135-50.089 67.748-44.757 109.638l-118.319 77.754c-4.19 2.718-7.127 7.025-8.137 11.936h-0.002zM1228.26 497.833c-3.518 4.983-10.063 6.782-15.637 4.309-5.574-2.492-8.623-8.563-7.275-14.519 1.327-5.958 6.677-10.138 12.774-9.986 6.097 0.149 11.241 4.57 12.288 10.603 0.599 3.354-0.188 6.801-2.15 9.594v0zM1184.397 337.007c20.555-19.447 52.593-19.748 73.506-0.713 20.93 19.036 23.697 51.019 6.359 73.37l-2.114 2.679v0.019c-13.372-7.831-28.13-12.966-43.467-15.121-9.632-20.757-24.894-38.389-44.047-50.884l9.762-9.35zM886.859 559.119l123.049-80.86c4.115-2.679 6.191-7.607 5.218-12.422-5.835-29.732 2.637-60.495 22.893-83.019 20.256-22.522 49.903-34.174 80.053-31.458 30.131 2.735 57.231 19.522 73.114 45.303-3.311 0.279-6.603 0.71-9.914 1.293v0.019c-31.87 5.545-60.147 23.774-78.443 50.528-18.274 26.735-25.007 59.748-18.647 91.524-0.766 0-1.628-0.337-2.394-0.58v0.017c-9.613-2.884-18.703-7.249-26.972-12.964-4.019-2.716-9.314-2.716-13.353 0l-18.761 12.235-28.26-5.508c-8.117-1.685-16.085 3.561-17.749 11.691l-4.471 21.641-21.397-4.798c-8.098-1.685-16.028 3.505-17.769 11.618l-6.133 28.439-8.38 5.508-39.913-8.149 8.228-40.058z"],"width":1323,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["support-keys"],"defaultCode":59676,"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"order":173,"name":"support-keys","prevSize":32,"id":161,"code":59676},"setIdx":1,"setId":2,"iconIdx":164},{"icon":{"paths":["M1014.662 822.66c-0.004-0.004-0.008-0.008-0.012-0.010l-310.644-310.65 310.644-310.65c0.004-0.004 0.008-0.006 0.012-0.010 3.344-3.346 5.762-7.254 7.312-11.416 4.246-11.376 1.824-24.682-7.324-33.83l-146.746-146.746c-9.148-9.146-22.45-11.566-33.828-7.32-4.16 1.55-8.070 3.968-11.418 7.31 0 0.004-0.004 0.006-0.008 0.010l-310.648 310.652-310.648-310.65c-0.004-0.004-0.006-0.006-0.010-0.010-3.346-3.342-7.254-5.76-11.414-7.31-11.38-4.248-24.682-1.826-33.83 7.32l-146.748 146.748c-9.148 9.148-11.568 22.452-7.322 33.828 1.552 4.16 3.97 8.072 7.312 11.416 0.004 0.002 0.006 0.006 0.010 0.010l310.65 310.648-310.65 310.652c-0.002 0.004-0.006 0.006-0.008 0.010-3.342 3.346-5.76 7.254-7.314 11.414-4.248 11.376-1.826 24.682 7.322 33.83l146.748 146.746c9.15 9.148 22.452 11.568 33.83 7.322 4.16-1.552 8.070-3.97 11.416-7.312 0.002-0.004 0.006-0.006 0.010-0.010l310.648-310.65 310.648 310.65c0.004 0.002 0.008 0.006 0.012 0.008 3.348 3.344 7.254 5.762 11.414 7.314 11.378 4.246 24.684 1.826 33.828-7.322l146.746-146.748c9.148-9.148 11.57-22.454 7.324-33.83-1.552-4.16-3.97-8.068-7.314-11.414z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["cross"],"defaultCode":59919,"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"ligatures":"cross, cancel","name":"cross","order":174,"id":162,"prevSize":32,"code":59919},"setIdx":1,"setId":2,"iconIdx":165},{"icon":{"paths":["M268.19 585.143v-97.524h487.619v97.524h-487.619zM268.19 877.714v-97.524h487.619v97.524h-487.619zM316.952 828.952c0 13.466 10.915 24.381 24.381 24.381s24.381-10.915 24.381-24.381c0-13.466-10.915-24.381-24.381-24.381s-24.381 10.915-24.381 24.381zM365.714 536.381c0-13.466-10.915-24.381-24.381-24.381s-24.381 10.915-24.381 24.381c0 13.466 10.915 24.381 24.381 24.381s24.381-10.915 24.381-24.381zM487.619 560.762h219.429v-48.762h-219.429v48.762zM707.048 707.048h-219.429v-48.762h219.429v48.762zM487.619 853.333h219.429v-48.762h-219.429v48.762zM268.19 731.429h487.619v-97.524h-487.619v97.524zM341.333 658.286c13.466 0 24.381 10.915 24.381 24.381s-10.915 24.381-24.381 24.381c-13.466 0-24.381-10.915-24.381-24.381s10.915-24.381 24.381-24.381z","M512.427 213.123l314.453 244.48 69.12-53.76-384-298.667-384 298.667 69.547 54.187 314.88-244.907z"],"attrs":[{"opacity":0.54},{"opacity":0.54}],"isMulticolor":false,"isMulticolor2":false,"tags":["Group 23"],"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[{},{}]}},"attrs":[{"opacity":0.54},{"opacity":0.54}],"properties":{"order":175,"id":163,"name":"archive-room","prevSize":32,"code":59729},"setIdx":1,"setId":2,"iconIdx":166},{"icon":{"paths":["M889.68 166.32c-93.608-102.216-228.154-166.32-377.68-166.32-282.77 0-512 229.23-512 512h96c0-229.75 186.25-416 416-416 123.020 0 233.542 53.418 309.696 138.306l-149.696 149.694h352v-352l-134.32 134.32z","M928 512c0 229.75-186.25 416-416 416-123.020 0-233.542-53.418-309.694-138.306l149.694-149.694h-352v352l134.32-134.32c93.608 102.216 228.154 166.32 377.68 166.32 282.77 0 512-229.23 512-512h-96z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["loop","repeat","player","reload","refresh","update","synchronize","arrows"],"defaultCode":59950,"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"ligatures":"loop2, repeat2","name":"loop2","order":176,"id":164,"prevSize":32,"code":59950},"setIdx":1,"setId":2,"iconIdx":167},{"icon":{"paths":["M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM512 896c-212.078 0-384-171.922-384-384s171.922-384 384-384c212.078 0 384 171.922 384 384s-171.922 384-384 384zM320 512c0-106.039 85.961-192 192-192s192 85.961 192 192c0 106.039-85.961 192-192 192s-192-85.961-192-192z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["radio-checked","radio-button"],"defaultCode":59988,"grid":16,"colorPermutations":{"111711711711331331331154154154115621020611812310211971971971226226225123923923912402402401255001255192203125525525515117615319797971":[]}},"attrs":[],"properties":{"ligatures":"radio-checked, radio-button","name":"radio-checked","order":177,"id":165,"prevSize":32,"code":60024},"setIdx":1,"setId":2,"iconIdx":168}],"height":1024,"metadata":{"name":"vitamui-icon"},"preferences":{"showGlyphs":true,"showQuickUse":true,"showQuickUse2":true,"showSVGs":true,"fontPref":{"prefix":"vitamui-icon-","metadata":{"fontFamily":"vitamui-icon","majorVersion":1,"minorVersion":0},"metrics":{"emSize":1024,"baseline":6.25,"whitespace":50},"embed":false,"cssVars":true,"cssVarsFormat":"scss","showSelector":false,"selector":"i","showMetrics":true,"showMetadata":false,"showVersion":true,"includeMetadata":false},"imagePref":{"prefix":"icon-","png":true,"useClassSelector":true,"color":0,"bgColor":16777215,"classSelector":".icon","autoHost":true,"height":32,"columns":16,"margin":16,"name":"icomoon"},"historySize":50,"showCodes":true,"gridSize":16,"quickUsageToken":{"UntitledProject":"YWEwYmQ0N2MxODk4ODNlNGJlN2ZjODY0MjI4YjM5ZjMjMSMxNTI5MzE2ODcxIyMj"},"showGrid":false}} \ No newline at end of file +{"IcoMoonType":"selection","icons":[{"icon":{"paths":["M512 85.344c-235.52 0-426.656 191.136-426.656 426.656s191.136 426.656 426.656 426.656h213.344v-85.344h-213.344c-185.184 0-341.344-156.16-341.344-341.344s156.16-341.344 341.344-341.344 341.344 156.16 341.344 341.344v61.024c0 33.696-30.304 66.976-64 66.976s-64-33.28-64-66.976v-61.024c0-117.76-95.584-213.344-213.344-213.344s-213.344 95.584-213.344 213.344 95.584 213.344 213.344 213.344c58.88 0 112.64-23.904 151.040-62.72 27.744 37.984 75.52 62.72 126.304 62.72 84.064 0 149.344-68.256 149.344-152.32v-61.024c0-235.52-191.136-426.656-426.656-426.656zM512 640c-70.816 0-128-57.184-128-128s57.184-128 128-128 128 57.184 128 128-57.184 128-128 128z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["alternate_email_black_24dp"]},"attrs":[{}],"properties":{"order":178,"id":176,"name":"alternate_email_black_24dp","prevSize":32,"code":59745},"setIdx":0,"setId":6,"iconIdx":0},{"icon":{"paths":["M85.344 85.344c-23.552 0-42.656 19.104-42.656 42.656v384c0 23.552 19.104 42.656 42.656 42.656h170.656v234.656c0 11.776 9.536 21.344 21.344 21.344h320v85.344c0 23.552 19.104 42.656 42.656 42.656h213.344c23.552 0 42.656-19.104 42.656-42.656v-85.344h64c11.776 0 21.344-9.568 21.344-21.344s-9.568-21.344-21.344-21.344h-64v-85.344c0-23.552-19.104-42.656-42.656-42.656h-213.344c-23.552 0-42.656 19.104-42.656 42.656v85.344h-298.656v-213.344h170.656c23.552 0 42.656-19.104 42.656-42.656v-384c0-23.552-19.104-42.656-42.656-42.656h-384zM853.344 682.656v213.344h-213.344v-213.344h213.344zM469.344 512h-384v-384h384v384z"],"attrs":[{"fill":"rgb(117, 117, 117)"}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["arborescence"]},"attrs":[{"fill":"rgb(117, 117, 117)"}],"properties":{"order":179,"id":175,"name":"arborescence","prevSize":32,"code":59746},"setIdx":0,"setId":6,"iconIdx":1},{"icon":{"paths":["M637.536 407.776l-146.88-146.56-146.88 146.56-45.12-45.12 192-192 192 192-45.12 45.12z","M343.776 597.344l146.88 146.56 146.88-146.56 45.12 45.12-192 192-192-192 45.12-45.12z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["arrows"]},"attrs":[{},{}],"properties":{"order":180,"id":174,"name":"arrows","prevSize":32,"code":59747},"setIdx":0,"setId":6,"iconIdx":2},{"icon":{"paths":["M269.472 538.944v323.36h53.888v-323.36h-53.888z","M296.416 808.416c-14.88 0-26.944 12.064-26.944 26.944v0c0 14.88 12.064 26.944 26.944 26.944v0h700.64c14.88 0 26.944-12.064 26.944-26.944v0c0-14.88-12.064-26.944-26.944-26.944v0h-700.64z","M592.832 673.728h269.472c14.944 0 26.944 12.032 26.944 26.944v269.472c0 14.944-12.032 26.944-26.944 26.944h-269.472c-14.944 0-26.944-12.032-26.944-26.944v-269.472c0-14.944 12.032-26.944 26.944-26.944z","M592.832 646.848c-29.408 0-53.888 24.512-53.888 53.888v269.472c0 29.408 24.512 53.888 53.888 53.888h269.472c29.408 0 53.888-24.512 53.888-53.888v-269.472c0-29.408-24.512-53.888-53.888-53.888h-269.472zM592.832 700.736h269.472v269.472h-269.472v-269.472z","M53.888 0c-29.376 0-53.888 24.512-53.888 53.888v485.056c0 29.408 24.512 53.888 53.888 53.888h485.056c29.408 0 53.888-24.512 53.888-53.888v-485.056c0-29.376-24.512-53.888-53.888-53.888h-485.056zM53.888 53.888h485.056v485.056h-485.056v-485.056z"],"attrs":[{"fill":"rgb(157, 157, 157)"},{"fill":"rgb(157, 157, 157)"},{"fill":"rgb(255, 255, 255)"},{"fill":"rgb(157, 157, 157)"},{"fill":"rgb(157, 157, 157)"}],"isMulticolor":true,"isMulticolor2":false,"grid":16,"tags":["complex-element-1-1"]},"attrs":[{"fill":"rgb(157, 157, 157)"},{"fill":"rgb(157, 157, 157)"},{"fill":"rgb(255, 255, 255)"},{"fill":"rgb(157, 157, 157)"},{"fill":"rgb(157, 157, 157)"}],"properties":{"order":181,"id":173,"name":"complex-element-1-1","prevSize":32,"code":59748,"codes":[59748,59749,59750,59751,59752]},"setIdx":0,"setId":6,"iconIdx":3},{"icon":{"paths":["M85.344 128v725.344c0 23.552 19.104 42.656 42.656 42.656h768c23.552 0 42.656-19.104 42.656-42.656v-640c0-23.552-19.104-42.656-42.656-42.656h-528.288c-16.16 0-30.944-9.12-38.176-23.584l-19.072-38.176c-7.232-14.464-22.016-23.584-38.176-23.584h-144.288c-23.552 0-42.656 19.104-42.656 42.656zM128 345.6c0-2.368 1.92-4.256 4.256-4.256h759.456c2.368 0 4.256 1.92 4.256 4.256v503.456c0 2.368-1.92 4.256-4.256 4.256h-759.456c-2.368 0-4.256-1.92-4.256-4.256v-503.456zM132.256 298.656c-2.368 0-4.256-1.92-4.256-4.256v-162.144c0-2.368 1.92-4.256 4.256-4.256h140.8c2.368 0 4.8 1.792 5.76 3.936 7.744 16.992 43.552 81.408 62.496 81.408h550.4c2.368 0 4.256 1.92 4.256 4.256v76.8c0 2.368-1.92 4.256-4.256 4.256h-759.456z"],"attrs":[{"fill":"rgb(117, 117, 117)"}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["dossier-physique"]},"attrs":[{"fill":"rgb(117, 117, 117)"}],"properties":{"order":182,"id":172,"name":"dossier-physique","prevSize":32,"code":59753},"setIdx":0,"setId":6,"iconIdx":4},{"icon":{"paths":["M205.76 102.4h517.024c19.36 0 35.072 15.712 35.072 35.072v306.72h138.144v305.824c0 83.36-59.072 152.928-137.632 169.12-11.328 2.336-23.072 3.552-35.072 3.552h-517.568c-19.392 0-35.072-15.712-35.072-35.072v-750.176c0-19.392 15.712-35.072 35.072-35.072zM224.896 139.68c-9.696 0-17.536 7.84-17.536 17.536v710.688c0 9.696 7.84 17.536 17.536 17.536h478.72c9.696 0 17.536-7.84 17.536-17.536v-710.688c0-9.696-7.84-17.536-17.536-17.536h-478.72zM516.064 375.84v34.176h138.144v-34.176h-138.144zM654.208 615.104v34.176h-379.936v-34.176h379.936zM826.912 512.576h-34.528v273.44h34.528v-273.44zM654.24 444.224v34.176h-138.144v-34.176h138.144zM274.272 683.456v34.176h379.936v-34.176h-379.936zM654.24 512.576v34.176h-138.144v-34.176h138.144zM274.272 751.84v34.176h379.936v-34.176h-379.936zM758.4 479.296v403.84c59.008-15.52 102.528-69.216 102.528-133.12v-270.752h-102.528zM619.136 240.032v32.384h-309.792v-32.384h309.792zM309.344 204.96h-35.072v102.528h379.936v-102.528h-344.864zM309.344 410.944v100.736h137.088v-100.736h-137.088zM274.272 375.84h207.232v170.912h-207.232v-170.912z"],"attrs":[{"fill":"rgb(117, 117, 117)"}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["ic24-journal"]},"attrs":[{"fill":"rgb(117, 117, 117)"}],"properties":{"order":183,"id":171,"name":"ic24-journal","prevSize":32,"code":59754},"setIdx":0,"setId":6,"iconIdx":5},{"icon":{"paths":["M298.656 256c-141.376 0-256 114.624-256 256s114.624 256 256 256h426.656c141.376 0 256-114.624 256-256s-114.624-256-256-256h-426.656zM0 512c0-164.96 133.728-298.656 298.656-298.656h426.656c164.96 0 298.656 133.728 298.656 298.656s-133.728 298.656-298.656 298.656h-426.656c-164.96 0-298.656-133.728-298.656-298.656zM260.96 640v-85.504h43.84c28.768 0 51.264-6.848 67.488-20.512 16.32-13.792 24.512-32.544 24.512-56.32 0-15.68-3.712-29.6-11.168-41.824-7.456-12.32-18.112-21.824-32-28.512-13.792-6.656-29.792-10.016-48-10.016h-94.656v242.656h50.016zM305.632 514.016h-44.672v-76.16h45.824c12.32 0.224 22.016 4 28.992 11.328s10.496 16.96 10.496 28.832c0 11.552-3.488 20.448-10.496 26.656-6.88 6.24-16.96 9.344-30.176 9.344zM606.432 557.184c0 26.56-8.32 47.552-24.992 63.008-16.544 15.456-39.232 23.168-68 23.168-28.32 0-50.816-7.488-67.488-22.496s-25.184-35.616-25.504-61.824v-161.664h50.016v160.16c0 15.904 3.776 27.488 11.328 34.816 7.68 7.232 18.208 10.816 31.68 10.816 28.096 0 42.4-14.784 42.816-44.32v-161.504h50.176v159.84zM684.576 590.016h87.68l16.832 50.016h53.152l-90.816-242.656h-46.336l-90.336 242.656h53.184l16.672-50.016zM758.72 549.504h-60.672l30.176-90.816 30.496 90.816z"],"attrs":[{"fill":"rgb(117, 117, 117)"}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["ic24-PUA"]},"attrs":[{"fill":"rgb(117, 117, 117)"}],"properties":{"order":184,"id":170,"name":"ic24-PUA","prevSize":32,"code":59755},"setIdx":0,"setId":6,"iconIdx":6},{"icon":{"paths":["M743.136 256c-0.224 0-0.48 0-0.736 0-7.072 0-13.472 2.88-18.112 7.52v0l-460.8 460.8c-4.64 4.64-7.488 11.040-7.488 18.112s2.88 13.472 7.488 18.112v0c4.64 4.64 11.040 7.488 18.112 7.488s13.472-2.88 18.112-7.488l460.8-460.8c4.64-4.64 7.488-11.040 7.488-18.112s-2.88-13.472-7.488-18.112v0c-4.448-4.448-10.56-7.296-17.312-7.488h-0.032z","M282.336 256c-0.224 0-0.48 0-0.736 0-7.072 0-13.472 2.88-18.112 7.52v0c-4.64 4.64-7.488 11.040-7.488 18.112s2.88 13.472 7.488 18.112l460.8 460.8c4.64 4.64 11.040 7.488 18.112 7.488s13.472-2.88 18.112-7.488v0c4.64-4.64 7.488-11.040 7.488-18.112s-2.88-13.472-7.488-18.112l-460.8-460.8c-4.448-4.448-10.56-7.296-17.312-7.488h-0.032z"],"attrs":[{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(117, 117, 117)"}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["ic40-close"]},"attrs":[{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(117, 117, 117)"}],"properties":{"order":185,"id":169,"name":"ic40-close","prevSize":32,"code":59756},"setIdx":0,"setId":6,"iconIdx":7},{"icon":{"paths":["M772.437 85.434c4.143-0.003 8.107 1.672 10.995 4.64l171.473 171.473v604.799c-0.055 39.915-32.401 72.265-72.32 72.32h-511.597c-39.918-0.055-72.266-32.405-72.322-72.32v-90.074c0-8.499 6.887-15.386 15.382-15.386s15.382 6.886 15.382 15.386v90.074c0.111 22.903 18.653 41.446 41.557 41.557h516.44c22.903-0.111 41.446-18.654 41.557-41.557v-578.674h-109.039c-34.739-0.055-62.886-28.203-62.942-62.941v-108.634h-386.016c-22.904 0.111-41.446 18.653-41.557 41.557v90.074c0 8.495-6.887 15.382-15.382 15.382s-15.382-6.887-15.382-15.382v-90.074c0.055-39.918 32.404-72.266 72.322-72.322v0.101h401.449zM907.298 257.412l-119.526-119.527v87.351c0.111 17.725 14.451 32.066 32.175 32.177h87.351z","M512 491.874c-0.162-4.228-1.92-9.126-4.809-12.203l-94.653-100.57c-6.424-5.754-18.718-8.134-25.882-1.479-7.072 6.563-6.84 19.296 0.185 25.882l66.552 70.624-393.964 0.043c-9.798 0-16.762 7.91-16.762 17.711 0 9.796 6.964 15.812 16.762 15.812l393.964 1.929-66.552 70.626c-6.054 6.080-7.187 19.251-0.185 25.882 6.979 6.635 19.735 4.506 25.882-1.476l94.653-100.574c3.238-3.443 4.809-7.492 4.809-12.207z"],"attrs":[{"fill":"rgb(117, 117, 117)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":21.333333333333332},{"fill":"rgb(117, 117, 117)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":21.333333333333332}],"isMulticolor":false,"isMulticolor2":false,"tags":["ic24-user-transfer"],"grid":16},"attrs":[{"fill":"rgb(117, 117, 117)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":21.333333333333332},{"fill":"rgb(117, 117, 117)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":21.333333333333332}],"properties":{"order":9,"id":0,"name":"ic24-user-transfer","prevSize":32,"code":59742},"setIdx":0,"setId":6,"iconIdx":8},{"icon":{"paths":["M133.267 85.333c-26.2 0-48 21.8-48 48v85.333c-0.134 1.067-0.134 2.133 0 3.2v546.133c0 9.399 7.667 17.067 17.067 17.067h443.732c6.135 0.068 11.87-3.132 15.002-8.465 3.068-5.333 3.068-11.87 0-17.203-3.132-5.333-8.866-8.533-15.002-8.465h-426.665v-512h682.665v307.2c-0.064 6.135 3.136 11.866 8.469 15.002 5.333 3.063 11.866 3.063 17.199 0 5.333-3.136 8.533-8.866 8.465-15.002v-324.267c0.137-1.067 0.137-2.133 0-3.2v-85.333c0-26.2-21.798-48-48-48h-654.932zM133.267 119.467h654.932c7.936 0 13.867 5.933 13.867 13.867v71.467h-682.665v-71.467c0-7.933 5.933-13.867 13.867-13.867zM204.733 341.333v34.133h68.267v-34.133h-68.267zM324.2 341.333v34.133h392.532v-34.133h-392.532zM204.733 426.667v34.133h68.267v-34.133h-68.267zM324.2 426.667v34.133h392.532v-34.133h-392.532zM204.733 512v34.133h68.267v-34.133h-68.267zM324.2 512v34.133h392.532v-34.133h-392.532zM204.733 597.333v34.133h68.267v-34.133h-68.267zM324.2 597.333v34.133h273.065v-34.133h-273.065zM767.932 597.333c-94.067 0-170.667 76.599-170.667 170.667s76.599 170.667 170.667 170.667c94.067 0 170.667-76.599 170.667-170.667s-76.599-170.667-170.667-170.667zM767.932 631.467c75.601 0 136.533 60.932 136.533 136.533s-60.932 136.533-136.533 136.533c-75.597 0-136.533-60.932-136.533-136.533s60.937-136.533 136.533-136.533zM706.598 690.667c-0.734 0.132-1.463 0.333-2.133 0.533-6.4 1.135-11.533 5.798-13.333 11.998-1.801 6.268 0.068 12.937 4.8 17.335l47.467 47.467-47.467 47.467c-6.797 6.801-6.797 17.732 0 24.533 6.801 6.801 17.737 6.801 24.533 0l47.467-47.467 47.467 47.467c6.801 6.801 17.737 6.801 24.533 0 6.801-6.801 6.801-17.732 0-24.533l-47.467-47.467 47.467-47.467c5.534-5.133 7.002-13.265 3.669-20.002-3.268-6.797-10.667-10.53-18.069-9.331-3.797 0.401-7.398 2.133-10.133 4.8l-47.467 47.467-47.467-47.467c-3.533-3.802-8.666-5.734-13.867-5.333z"],"attrs":[{"fill":"rgb(117, 117, 117)"}],"isMulticolor":false,"isMulticolor2":false,"tags":["ic24-élimination"],"grid":16},"attrs":[{"fill":"rgb(117, 117, 117)"}],"properties":{"order":10,"id":1,"name":"ic24-limination","prevSize":32,"code":59743},"setIdx":0,"setId":6,"iconIdx":9},{"icon":{"paths":["M238.954 128c-11.782 0-21.333 9.551-21.333 21.333v42.667c0 11.782 9.551 21.333 21.333 21.333s21.333 9.551 21.333 21.333v9.796c0 28.815 3.479 56.498-16.903 76.88-37.266 37.266-72.718 87.863-72.718 140.567l0.001 341.645c0 74.086 22.646 92.446 96.73 92.446h450.37c74.086 0 97.19-18.359 97.19-92.446l-0.004-341.645c0-52.704-35.904-103.301-73.173-140.567-20.382-20.381-12.156-65.343-12.16-76.88v-9.796c0-11.782 9.549-21.333 21.333-21.333 11.78 0 21.333-9.551 21.333-21.333v-42.667c0-11.782-9.553-21.333-21.333-21.333h-512.001zM302.954 192c0-11.782 9.551-21.333 21.333-21.333h341.334c11.78 0 21.333 9.551 21.333 21.333v52.463c0 14.409 0 51.654 0 75.538 0 11.782-9.553 21.332-21.333 21.332h-341.329c-11.782 0-21.334-9.538-21.334-21.32-0.001-30.342-0.004-75.54-0.004-75.55 0-0 0 0 0-0v-52.463zM237.427 407.322c3.464-5.891 10.003-9.1 16.837-9.1h476.637c6.835 0 13.376 3.208 16.836 9.1 9.673 16.445 15.070 35.2 15.070 54.588v341.645c0 25.451-19.593 45.039-45.039 45.039h-450.37c-25.447 0-45.037-19.588-45.037-45.039v-341.645c0-19.388 5.397-38.143 15.066-54.588z"],"attrs":[{"fill":"rgb(117, 117, 117)"}],"isMulticolor":false,"isMulticolor2":false,"tags":["ic24-préservation"],"grid":16},"attrs":[{"fill":"rgb(117, 117, 117)"}],"properties":{"order":11,"id":2,"name":"ic24-prservation","prevSize":32,"code":59744},"setIdx":0,"setId":6,"iconIdx":10},{"icon":{"paths":["M128 554.667h85.333v-85.333h-85.333v85.333z","M128 725.333h85.333v-85.333h-85.333v85.333z","M128 384h85.333v-85.333h-85.333v85.333z","M298.667 554.667h597.333v-85.333h-597.333v85.333z","M298.667 725.333h597.333v-85.333h-597.333v85.333z","M298.667 298.667v85.333h597.333v-85.333h-597.333z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["list_24px_outlined"],"grid":16},"attrs":[],"properties":{"order":12,"id":3,"name":"filing-plan","prevSize":32,"code":60023},"setIdx":0,"setId":6,"iconIdx":11},{"icon":{"paths":["M601.456 395.636h-93.091v-139.636h-139.637v-93.091h139.637v-139.636h93.091v139.636h139.636v93.091h-139.636v139.636zM229.557 907.636c0-51.2 41.425-93.091 92.625-93.091s93.091 41.891 93.091 93.091c0 51.2-41.891 93.091-93.091 93.091s-92.625-41.891-92.625-93.091zM787.638 814.545c-51.2 0-92.625 41.891-92.625 93.091s41.425 93.091 92.625 93.091c51.2 0 93.091-41.891 93.091-93.091s-41.891-93.091-93.091-93.091zM720.147 581.818h-346.765l-51.2 93.091h558.546v93.091h-558.546c-70.749 0-115.433-75.869-81.455-138.24l62.836-113.571-167.563-353.28h-93.091v-93.091h152.203l198.284 418.909h326.75l180.131-325.818 80.989 44.684-179.665 326.284c-15.825 28.858-46.545 47.942-81.455 47.942z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["add basket"],"grid":16},"attrs":[],"properties":{"order":13,"id":4,"name":"add-basket","prevSize":32,"code":60020},"setIdx":0,"setId":6,"iconIdx":12},{"icon":{"paths":["M844.8 76.8l-76.8-76.8-76.8 76.8-76.8-76.8-76.8 76.8-76.8-76.8-76.8 76.8-76.8-76.8-76.8 76.8-76.8-76.8-76.8 76.8-76.8-76.8v1024l76.8-76.8 76.8 76.8 76.8-76.8 76.8 76.8 76.8-76.8 76.8 76.8 76.8-76.8 76.8 76.8 76.8-76.8 76.8 76.8 76.8-76.8 76.8 76.8v-1024l-76.8 76.8zM102.4 875.008v-726.016h716.8v726.016h-716.8zM768 768v-102.4h-614.4v102.4h614.4zM768 460.8v102.4h-614.4v-102.4h614.4zM768 358.4v-102.4h-614.4v102.4h614.4z"],"width":922,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["export result"],"grid":16},"attrs":[],"properties":{"order":14,"id":5,"name":"export-result","prevSize":32,"code":60021},"setIdx":0,"setId":6,"iconIdx":13},{"icon":{"paths":["M568.889 28.444h-341.333v341.333h-227.556l398.222 398.222 398.222-398.222h-227.556v-341.333zM455.111 142.222v341.333h66.56l-123.449 123.449-123.449-123.449h66.56v-341.333h113.778zM0 995.556v-113.778h796.444v113.778h-796.444z"],"width":796,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["download"],"grid":16},"attrs":[],"properties":{"order":15,"id":6,"name":"download-basic","prevSize":32,"code":60022},"setIdx":0,"setId":6,"iconIdx":14},{"icon":{"paths":["M512 1024h-426.667c-47.128 0-85.333-38.205-85.333-85.333h0v-853.333c-0-47.128 38.205-85.333 85.333-85.333v0h426.667c47.128-0 85.333 38.205 85.333 85.333v0 853.333c0 47.128-38.205 85.333-85.333 85.333v0zM85.333 64c-11.782 0-21.333 9.551-21.333 21.333v0 853.333c0 11.782 9.551 21.333 21.333 21.333v0h426.667c11.782 0 21.333-9.551 21.333-21.333v0-853.333c0-11.782-9.551-21.333-21.333-21.333v0z","M328.533 877.333h-59.733c-14.728 0-26.667-11.939-26.667-26.667v0c0.293-14.608 12.058-26.374 26.639-26.666l0.028-0h59.733c14.608 0.293 26.374 12.058 26.666 26.639l0 0.028c0 14.728-11.939 26.667-26.667 26.667v0z"],"width":597,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["mobile"],"grid":16},"attrs":[],"properties":{"order":16,"id":7,"name":"mobile","prevSize":32,"code":60018},"setIdx":0,"setId":6,"iconIdx":15},{"icon":{"paths":["M1188.571 1024h-1170.286c-10.099 0-18.286-8.187-18.286-18.286v0-790.309c0-10.099 8.187-18.286 18.286-18.286v0h469.577l-15.36-126.537c-0.27-2.188-0.424-4.721-0.424-7.289 0-16.208 6.13-30.985 16.199-42.137l-0.049 0.055c11.753-13.034 28.693-21.196 47.54-21.211l135.683-0c18.85 0.015 35.79 8.177 47.492 21.155l0.050 0.057c10.037 11.002 16.184 25.702 16.184 41.838 0 2.655-0.166 5.272-0.489 7.839l0.031-0.306-15.36 126.537h469.211c10.099 0 18.286 8.187 18.286 18.286v0 790.309c0 10.099-8.187 18.286-18.286 18.286v0zM36.571 987.429h1133.714v-753.737h-455.314l-7.314 61.44c-4.131 31.512-30.816 55.589-63.124 55.589-0.051 0-0.102-0-0.153-0l0.008 0h-81.554c-0.043 0-0.094 0-0.145 0-32.308 0-58.992-24.077-63.089-55.267l-0.035-0.322-5.851-61.44h-457.143zM526.629 213.943l9.143 76.8c2.026 13.296 13.363 23.37 27.059 23.406l0.004 0h81.554c13.7-0.036 25.036-10.11 27.044-23.253l0.019-0.152 9.143-76.8 17.92-146.286c0.066-0.718 0.104-1.553 0.104-2.397 0-6.922-2.531-13.254-6.717-18.119l0.031 0.037c-5.102-5.559-12.374-9.057-20.465-9.143l-0.015-0h-135.68c-8.009 0-15.195 3.527-20.088 9.112l-0.026 0.031c-4.219 4.447-6.813 10.471-6.813 17.101 0 1.192 0.084 2.364 0.246 3.51l-0.015-0.132 17.554 146.286zM608.914 863.086h-410.331c-0.109 0.001-0.237 0.002-0.366 0.002-18.582 0-33.646-15.064-33.646-33.646 0-0.001 0-0.001 0-0.002l-0 0v-54.857c0.041-14.342 9.050-26.57 21.712-31.374l0.231-0.077c113.006-43.154 138.971-62.171 146.286-68.754v-9.874c-13.337-15.754-23.833-34.398-30.4-54.805l-0.32-1.149c-8.993-8.353-15.202-19.593-17.149-32.238l-0.039-0.31c-0.344-2.309-0.541-4.975-0.541-7.686 0-10.696 3.061-20.677 8.355-29.115l-0.134 0.229v-41.691c0-64.731 42.423-103.497 112.64-103.497s112.64 38.766 112.64 103.497v42.789c5.257 7.912 8.389 17.632 8.389 28.083 0 2.999-0.258 5.937-0.752 8.794l0.044-0.305c-1.821 12.886-8.072 24.055-17.136 32.137l-0.052 0.046c-6.721 21.593-17.24 40.264-30.895 56.163l0.175-0.208v11.337c5.12 5.486 29.623 24.869 146.286 68.389 12.893 4.882 21.902 17.109 21.943 31.446l0 0.005v54.857c-1.119 17.875-15.891 31.949-33.949 31.949-1.052 0-2.093-0.048-3.121-0.141l0.132 0.010zM201.143 829.074v0zM201.143 826.514h405.211v-49.737c-143.36-54.491-160.914-76.069-166.034-92.16-0.085-0.822-0.134-1.777-0.134-2.743s0.049-1.92 0.144-2.861l-0.010 0.118v-21.943c-0.001-0.062-0.001-0.136-0.001-0.21 0-4.968 2.107-9.443 5.477-12.581l0.010-0.010c13.308-14.030 23.221-31.412 28.341-50.744l0.185-0.822c1.233-4.258 3.819-7.793 7.254-10.2l0.060-0.040c3.688-2.627 6.25-6.63 6.937-11.245l0.011-0.092c0.116-0.742 0.182-1.597 0.182-2.468 0-4.076-1.45-7.814-3.862-10.725l0.023 0.028c-2.724-3.029-4.39-7.057-4.39-11.474 0-0.081 0.001-0.161 0.002-0.241l-0 0.012v-48.64c0-44.983-24.869-66.926-76.069-66.926s-76.069 23.040-76.069 66.926v48.64c0 0.002 0 0.004 0 0.006 0 4.43-1.514 8.506-4.054 11.738l0.031-0.041c-2.571 2.987-4.137 6.903-4.137 11.185 0 0.698 0.042 1.386 0.122 2.062l-0.008-0.082c0.695 4.792 3.416 8.837 7.25 11.299l0.064 0.038c3.286 2.64 5.807 6.103 7.263 10.080l0.051 0.16c5.305 20.153 15.218 37.535 28.575 51.618l-0.049-0.052c3.168 3.283 5.12 7.759 5.12 12.69 0 0.039-0 0.077-0 0.116l0-0.006v21.943c0.169 0.825 0.266 1.772 0.266 2.743s-0.097 1.918-0.282 2.834l0.015-0.091c-5.12 16.091-22.674 36.571-167.497 92.526zM1027.657 668.526h-282.331c-10.099 0-18.286-8.187-18.286-18.286v0c0-10.099 8.187-18.286 18.286-18.286v0h282.331c10.099 0 18.286 8.187 18.286 18.286v0c0 10.099-8.187 18.286-18.286 18.286v0zM1027.657 549.669h-282.331c-10.099 0-18.286-8.187-18.286-18.286v0c0-10.099 8.187-18.286 18.286-18.286v0h282.331c10.099 0 18.286 8.187 18.286 18.286v0c0 10.099-8.187 18.286-18.286 18.286v-0z"],"width":1207,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["gestion de profil"],"grid":16},"attrs":[],"properties":{"order":17,"id":8,"name":"gestion-de-profil","prevSize":32,"code":60019},"setIdx":0,"setId":6,"iconIdx":16},{"icon":{"paths":["M-197.3-120.764h1787.048v1235.422h-1787.048v-1235.422z","M65.438 681.882v-202.524l233.794-134.99v202.498l-233.794 135.016z","M65.438 479.358l-233.77-134.99v202.498l233.77 135.016v-202.524z","M65.438 209.352l-233.77 135.016 233.77 134.99 233.794-134.99-233.794-135.016z","M-80.674 394.986l233.794-135.016 58.43 33.754-233.77 135.016-58.454-33.754z","M-45.652 415.214l233.77-135.016-11.588-6.7-233.77 135.016 11.588 6.7z","M170.14 562.49l24.39-14.096v24.418l-24.39 14.096v-24.418z","M182.324 457.812c-20.692 11.976-36.598 37.012-36.598 57.756l24.418-14.096c0.514-8.296 5.248-15.382 12.062-19.182l0.12-0.060c7.32-4.242 12.208-2.174 12.208 5.174-0.118 4.844-1.95 9.238-4.908 12.618l0.020-0.024c-13.424 17.51-19.502 34.452-19.502 50.308l24.39-14.096c0-8.534 2.586-16.036 9.776-25.142 8.534-12.26 14.64-26.77 14.64-37.762 0-20.666-15.854-27.468-36.626-15.492z","M1389.836 899.33l-339.17-195.85v214.344l339.168 195.876v-214.37z","M1389.836 507.604l-339.17 195.878 339.168 195.85 339.168-195.85-339.168-195.878z","M1177.872 776.91l339.144-195.85 84.812 48.962-339.17 195.876-84.786-48.99z","M1228.672 806.268l339.144-195.876-16.812-9.698-339.144 195.85 16.812 9.726z","M1182.088 934.3l26.33 15.106v26.332l-26.33-15.078v-26.356z","M1195.252 836.504c-22.4-12.932-39.496-5.51-39.496 16.89l26.278 15.078c0-7.76 5.174-10.14 13.164-5.614 7.5 4.12 12.624 11.752 13.162 20.622l0.002 0.072c0 3.956-1.318 7.164-5.174 7.528-14.484 2.224-21.054 12.932-21.054 30.054l26.382 15.182c0-9.234 2.586-14.302 10.528-15.028 9.234-2.586 15.804-10.708 15.804-22.554-0.104-22.476-17.226-49.402-39.598-62.23z","M436.81 568.36l268.194-154.88v232.32l-66.5 39.030-201.696-116.472z","M638.636 684.778l114.788 65.982 193.73-116.134-315.166-181.626 6.648 231.778z","M705.006 645.8l67.042 38.72-67.042 38.72-66.5-38.41 66.5-39.030z","M762.504 167.632l-204.464-118.1-7.192 3.854 4.37 7.14 2.818 0.104v459.468l266.23 153.742-1.19 1.060 2.612 7.784 7.192-3.854v-389.296l-70.38-121.902z","M550.85 53.386v470.564l274.842 158.734v-389.296l-70.352-121.928-204.49-118.074z","M788.86 537.554l-201.154-116.16v7.682l201.154 116.134v-7.656z","M825.692 293.388l-70.352-121.928v81.294l70.352 40.634z","M665.924 397.262l36.366 20.872v36.34l-36.366-20.822v-36.392z","M785.782 555.014l-201.154-116.16v7.682l201.154 116.134v-7.656z","M684.106 262.246c-31.038-17.872-54.524-7.604-54.524 23.278l36.212 20.692c0-10.708 7.14-13.992 18.106-7.76 10.288 5.692 17.322 16.17 18.1 28.35l0.004 0.102c0 5.484-1.836 9.906-7.14 10.346-20.020 3.078-29.072 17.846-29.072 41.384l36.34 20.872c0-12.752 3.568-19.762 14.536-20.692 12.752-3.57 21.83-14.796 21.83-31.038 0.13-30.65-23.51-67.818-54.394-85.536z","M824.476 525.244l-122.188-70.664-0.026-2.716 123.428 71.284-1.216 2.096z","M664.734 432.646l-113.808-65.026-0.052-4.138 115.022 67.404-1.164 1.76z","M-399.072-257.848v1539.7h2177.558v-1539.7zM1381.042 1023.146h-1382.672v-1022.346h1382.672z"],"width":1383,"attrs":[{"fill":"rgb(226, 226, 225)"},{"fill":"rgb(154, 154, 154)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(239, 239, 239)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(154, 154, 154)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(239, 239, 239)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(154, 154, 154)"},{"fill":"rgb(133, 133, 133)"},{"fill":"rgb(133, 133, 133)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(0, 0, 0)"},{"fill":"rgb(51, 176, 153)"},{"fill":"rgb(156, 210, 206)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(51, 176, 153)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(240, 240, 240)"},{"fill":"rgb(240, 240, 240)"},{"fill":"rgb(255, 255, 255)"}],"isMulticolor":true,"isMulticolor2":false,"tags":["app_unknow"],"grid":16},"attrs":[{"fill":"rgb(226, 226, 225)"},{"fill":"rgb(154, 154, 154)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(239, 239, 239)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(154, 154, 154)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(239, 239, 239)"},{"fill":"rgb(197, 197, 197)"},{"fill":"rgb(154, 154, 154)"},{"fill":"rgb(133, 133, 133)"},{"fill":"rgb(133, 133, 133)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(0, 0, 0)"},{"fill":"rgb(51, 176, 153)"},{"fill":"rgb(156, 210, 206)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(51, 176, 153)"},{"fill":"rgb(18, 123, 102)"},{"fill":"rgb(240, 240, 240)"},{"fill":"rgb(240, 240, 240)"},{"fill":"rgb(255, 255, 255)"}],"properties":{"order":18,"id":9,"name":"app_unknown","prevSize":32,"code":59981,"codes":[59981,59990,59991,59992,59994,59995,59996,59997,59998,59999,60000,60001,60002,60003,60004,60005,60006,60007,60008,60009,60010,60011,60012,60013,60015,60016,60017,60018,60019,60020]},"setIdx":0,"setId":6,"iconIdx":17},{"icon":{"paths":["M810.667 554.667h-256v256h-85.333v-256h-256v-85.333h256v-256h85.333v256h256v85.333z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["add"],"grid":16},"attrs":[],"properties":{"order":19,"id":10,"name":"add","prevSize":32,"code":59979},"setIdx":0,"setId":6,"iconIdx":18},{"icon":{"paths":["M621.092 91.739c-47.79-88.111-170.35-88.261-218.194 0.008l-386.705 712.603c-46.346 85.373 11.979 194.030 109.095 194.030h773.382c97.157 0 155.438-108.698 109.13-194.030l-386.708-712.611zM436.657 110.045c33.295-61.426 117.399-61.363 150.682 0.004l0.003 0.004 386.708 712.612v0c33.807 62.295-10.186 137.313-75.379 137.313h-773.382c-65.162 0-109.182-74.985-75.346-137.311l0.002-0.003 386.713-712.621zM531.218 320.504c0-10.604-8.596-19.2-19.2-19.2s-19.2 8.596-19.2 19.2v322.716c0 10.604 8.596 19.2 19.2 19.2s19.2-8.596 19.2-19.2v-322.716zM531.218 784.084c0-10.604-8.596-19.2-19.2-19.2s-19.2 8.596-19.2 19.2v11.208c0 10.604 8.596 19.2 19.2 19.2s19.2-8.596 19.2-19.2v-11.208z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["anomalie"],"grid":16},"attrs":[],"properties":{"order":20,"id":11,"name":"anomalie","prevSize":32,"code":59980},"setIdx":0,"setId":6,"iconIdx":19},{"icon":{"paths":["M531.363 33.523c21.881 20.955 22.632 55.68 1.677 77.561l-331.691 346.354h749.508c30.303 0 54.857 24.561 54.857 54.857s-24.554 54.857-54.857 54.857h-748.94l331.124 345.765c20.955 21.877 20.204 56.605-1.677 77.561s-56.607 20.202-77.562-1.682l-418.26-436.747c-2.818-2.681-5.351-5.658-7.55-8.881-14.578-21.071-12.734-50.037 5.532-69.11l420.278-438.857c20.955-21.881 55.681-22.632 77.562-1.677z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["arrow-back"],"grid":16},"attrs":[],"properties":{"order":21,"id":12,"name":"arrow-back","prevSize":32,"code":59982},"setIdx":0,"setId":6,"iconIdx":20},{"icon":{"paths":["M419.615 867.571c-8.781-0.699-17.559-1.541-26.371-2.035-52.467-2.911-104.699-7.798-155.87-19.725-21.348-4.974-42.095-12.244-63.141-18.383-5.893-1.718-9.020-5.151-10.404-11.141-11.095-46.546-13.53-93.32-5.502-140.503 4.33-25.367 12.508-49.454 26.76-71.27l0.030-0.031c15.726-24.609 39.81-43.169 68.133-52.536 36.741-12.508 72.584-26.877 104.937-48.317 6.433-4.247 12.567-8.96 19.635-13.993 57.126 54.282 115.19 54.456 172.649-0.261 19.274 15.68 40.742 28.713 63.741 38.661 18.703 8.202 37.706 15.997 57.129 22.515 42.936 14.543 71.201 42.995 86.894 83.72 18.043 46.717 19.305 94.948 12.989 143.703-1.623 12.393-4.749 24.612-6.674 37.005-1.142 7.27-5.473 10.616-12.268 13.089l0.028 0.028c-32.141 11.84-65.516 20.247-99.525 25.047-31.119 4.421-62.479 7.506-93.752 10.706-14.702 1.454-29.586 1.802-44.349 2.706-2.045 0.233-4.060 0.553-6.013 1.016h-89.057z","M474.57 76.8c10.734 1.366 21.294 3.807 31.534 7.266 23.713 8.255 45.271 21.712 63.035 39.412 9.275 9.243 16.568 16.683 21.993 29.21 6.564 15.201 6.418 28.978 6.272 36.447-0.233 12.876-4.375 47.492-5.309 56.967-0.438 4.098-0.379 7.266 3.384 9.824 6.738 4.593 7.117 11.741 6.446 18.776h-0.059c-1.4 17.091-6.415 33.656-14.671 48.684-4.726 8.486-6.126 18.778-9.393 28.134-9.859 27.96-26.368 72.169-66.127 92.518-14.525 7.15-30.482 10.898-46.671 10.957-8.983 0-26.952 0-45.737-10.317-8.753-4.767-13.944-9.882-21.176-16.655h-0.031c-16.975-16.044-30.451-35.372-39.611-56.794-5.747-13.079-9.336-26.972-14.264-40.399-1.751-4.826-4.552-9.244-6.828-13.865l0.031 0.031c-7.526-14.794-11.377-31.13-11.259-47.698 0.056-5.23 1.457-9.823 5.949-13.079 3.909-2.79 4.288-6.307 3.5-10.87h-0.028c-3.968-21.741-5.514-43.83-4.667-65.862 1.167-25.839 16.044-45.051 24.356-55.689 12.718-15.637 28.995-28.018 47.519-36.070v0.029c10.734-4.709 22.080-7.906 33.718-9.504l38.095-1.455z","M601.6 612.575c0-7.068 5.732-12.8 12.8-12.8h161.111l82.089 81.797v262.436c0 7.071-5.732 12.8-12.8 12.8h-230.4c-7.068 0-12.8-5.729-12.8-12.8v-331.433z","M588.8 612.575v334.623c0 14.139 11.461 25.6 25.6 25.6h230.4c14.139 0 25.6-11.461 25.6-25.6v-270.674c0-6.804-2.708-13.33-7.532-18.135l-64.177-63.949c-4.797-4.78-11.295-7.465-18.068-7.465h-166.223c-14.139 0-25.6 11.461-25.6 25.6zM606.4 617.313c0-7.071 5.732-12.8 12.8-12.8h132.8c7.068 0 12.8 5.729 12.8 12.8v53.317c0 7.068 5.732 12.8 12.8 12.8h62.4c7.068 0 12.8 5.732 12.8 12.8v246.228c0 7.071-5.732 12.8-12.8 12.8h-220.8c-7.068 0-12.8-5.729-12.8-12.8v-325.146zM782.4 604.513l61.601 61.379h-61.601v-61.379z","M641.6 744.812h176v17.539h-176v-17.539z","M641.6 797.425h176v17.539h-176v-17.539z","M641.6 850.038h176v17.536h-176v-17.536z"],"attrs":[{"fill":"none","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"none","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"rgb(255, 255, 255)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(117, 117, 117)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8},{"fill":"rgb(117, 117, 117)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8},{"fill":"rgb(117, 117, 117)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8}],"isMulticolor":true,"isMulticolor2":true,"tags":["attribution liste"],"grid":16},"attrs":[{"fill":"none","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"none","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"rgb(255, 255, 255)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(117, 117, 117)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8},{"fill":"rgb(117, 117, 117)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8},{"fill":"rgb(117, 117, 117)","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8}],"properties":{"order":22,"id":13,"name":"attribution-liste","prevSize":32,"code":59983,"codes":[59983,59984,59985,59986,59987,59988,59989,59990]},"setIdx":0,"setId":6,"iconIdx":21},{"icon":{"paths":["M762.168 618.319h-37v368.876h-688.126v-950.39h478.823v190.77c0 10.335 8.1 18.383 18.501 18.383h191.987v26.429h35.809v-52.86l-220.931-219.527-541.233 0.041v1023.918l762.163 0.041 0.005-405.681z","M255.635 288.492h385.133v36.764h-385.133v-36.764z","M255.635 363.203h286.834v36.764h-286.834v-36.764z","M201.244 271.247l-46.25 58.619-12.703-11.479-25.448 26.429 26.599 25.288c3.453 3.433 8.099 4.616 12.703 4.616h1.151c4.646 0 9.25-2.286 12.703-6.902l58.995-73.531-27.75-23.040z","M201.244 463.165l-46.25 58.621-12.703-11.479-25.448 26.429 26.599 25.288c3.453 3.43 8.099 4.616 12.703 4.616h1.151c4.646 0 9.25-2.286 12.703-6.904l58.995-73.531-27.75-23.040z","M142.298 696.468l-25.448 26.429 26.599 25.288c3.453 3.43 8.099 4.616 12.703 4.616h1.151c4.646 0 9.25-2.289 12.703-6.904l58.995-73.531-28.901-22.999-46.25 58.621-11.551-11.52z","M939.146 120.718c-12.703-9.191-28.902-8.048-38.152 2.288l-26.598 33.334c-2.301-1.144-5.796-1.144-8.1-1.144-4.644 1.144-9.249 3.431-12.703 6.904l-48.594 62.052c-4.644 5.76-4.644 13.807-1.149 19.527l-181.632 234.443h-366.591v36.764h337.732l-30.052 37.908-307.675 0.041v36.767h279.888l-61.297 78.147h-218.594v36.767h189.684l-25.449 32.189c-1.152 1.144-2.301 3.43-2.301 4.616v1.144h-161.899v36.764h151.501l-6.948 21.855-32.397 108.009 150.382-89.667c1.152-1.144 3.453-2.289 4.646-3.433l382.83-489.549c2.301 1.144 4.644 1.144 6.948 1.144 5.796 0 10.401-2.286 15.045-6.904l38.152-48.284 15.048 11.479-117.949 149.389 28.902 22.999 128.274-164.301c3.453-3.433 4.644-9.193 3.453-13.809-1.152-4.616-3.453-9.19-6.948-12.623l-39.304-31.046 25.449-33.334c4.644-5.76 5.796-13.807 3.453-21.854-1.152-5.76-5.798-11.48-10.401-14.952l-56.655-43.63zM436.022 824.044l-1.152-1.144c-1.149-1.144-2.301-1.144-2.301-2.289l15.048-49.428c5.796 3.43 12.703 6.904 17.349 11.479 5.796 4.616 11.551 9.19 16.197 13.809l-45.14 27.574zM909.046 282.77l-63.598-49.429 25.446-32.19 63.601 49.43-25.449 32.189z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["bordereau"],"grid":16},"attrs":[],"properties":{"order":23,"id":14,"name":"bordereau","prevSize":32,"code":59993},"setIdx":0,"setId":6,"iconIdx":22},{"icon":{"paths":["M853.333 128h-42.667v-85.333h-85.333v85.333h-426.667v-85.333h-85.333v85.333h-42.667c-46.933 0-85.333 38.4-85.333 85.333v682.667c0 46.933 38.4 85.333 85.333 85.333h682.667c46.933 0 85.333-38.4 85.333-85.333v-682.667c0-46.933-38.4-85.333-85.333-85.333zM853.333 896h-682.667v-554.667h682.667v554.667z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["calendar"],"grid":16},"attrs":[],"properties":{"order":24,"id":15,"name":"calendar","prevSize":32,"code":60014},"setIdx":0,"setId":6,"iconIdx":23},{"icon":{"paths":["M316.16 366.508l195.84 195.412 195.84-195.412 60.16 60.159-256 256-256-256 60.16-60.159z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["chevron-down"],"grid":16},"attrs":[],"properties":{"order":25,"id":16,"name":"chevron-down","prevSize":32,"code":60027},"setIdx":0,"setId":6,"iconIdx":24},{"icon":{"paths":["M21.333 512c0-270.988 219.679-490.667 490.667-490.667s490.667 219.679 490.667 490.667c0 270.988-219.679 490.667-490.667 490.667s-490.667-219.679-490.667-490.667z","M316.16 366.5l195.84 195.412 195.84-195.411 60.16 60.16-256 255.998-256-255.998 60.16-60.16z"],"attrs":[{"fill":"none","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":42.666666666666664},{"fill":"rgb(117, 117, 117)"}],"isMulticolor":false,"isMulticolor2":true,"tags":["chevron-down-1"],"grid":16},"attrs":[{"fill":"none","stroke":"rgb(117, 117, 117)","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":42.666666666666664},{"fill":"rgb(117, 117, 117)"}],"properties":{"order":26,"id":17,"name":"chevron-down-1","prevSize":32,"code":60028},"setIdx":0,"setId":6,"iconIdx":25},{"icon":{"paths":["M657.493 707.84l-195.413-195.84 195.413-195.84-60.16-60.16-256 256 256 256 60.16-60.16z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["chevron-left"],"grid":16},"attrs":[],"properties":{"order":27,"id":18,"name":"chevron-left","prevSize":32,"code":60029},"setIdx":0,"setId":6,"iconIdx":26},{"icon":{"paths":["M316.16 657.493l195.84-195.413 195.84 195.413 60.16-60.16-256-256-256 256 60.16 60.16z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["chevron-up"],"grid":16},"attrs":[],"properties":{"order":28,"id":19,"name":"chevron-up","prevSize":32,"code":60030},"setIdx":0,"setId":6,"iconIdx":27},{"icon":{"paths":["M21.333 512c0-270.988 219.679-490.667 490.667-490.667s490.667 219.679 490.667 490.667c0 270.988-219.679 490.667-490.667 490.667s-490.667-219.679-490.667-490.667z","M707.84 682.662l-195.84-195.413-195.84 195.413-60.16-60.16 256-256.001 256 256.001-60.16 60.16z"],"attrs":[{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":42.666666666666664},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["chevron-up-1"],"grid":16},"attrs":[{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":42.666666666666664},{}],"properties":{"order":29,"id":20,"name":"chevron-up-1","prevSize":32,"code":60031},"setIdx":0,"setId":6,"iconIdx":28},{"icon":{"paths":["M345.6 76.8c-1.656 0.122-2.755 0.513-3.359 0.977l-250.881 175.033c-2.193 1.465-3.173 4.445-2.427 7.033s3.197 4.564 5.787 4.493h41.813v237.545h-41.813c-3.127 0-5.973 2.977-5.973 6.249v43.758h-5.974c-3.127 0-5.973 2.98-5.973 6.252v50.010c0 3.272 2.847 6.252 5.973 6.252h525.654c3.126 0 5.972-2.98 5.972-6.252v-50.010c0-3.272-2.847-6.252-5.972-6.252h-5.975v-43.758c0-3.272-2.847-6.249-5.972-6.249h-41.812v-237.545h41.812c2.591 0.072 5.041-1.905 5.786-4.493 0.748-2.588-0.233-5.568-2.427-7.033l-250.88-175.033c-1.329-0.977-2.286-0.952-3.359-0.977zM345.6 90.473l231.281 161.356h-462.563l231.282-161.356zM345.605 151.816c-16.428 0-29.868 14.065-29.868 31.256s13.44 31.256 29.868 31.256c16.425 0 29.865-14.065 29.865-31.256s-13.44-31.256-29.865-31.256zM345.6 164.313c9.964 0 17.92 8.327 17.92 18.754s-7.956 18.754-17.92 18.754c-9.964 0-17.92-8.327-17.92-18.754s7.956-18.754 17.92-18.754zM148.484 264.338h35.839v237.542h-35.839v-237.542zM196.265 264.338h59.733v237.542h-59.733v-237.542zM267.942 264.338h35.84v237.542h-35.84v-237.542zM315.738 264.338h59.732v237.542h-59.732v-237.542zM387.41 264.338h35.837v237.542h-35.837v-237.542zM435.203 264.338h59.732v237.542h-59.732v-237.542zM506.888 264.338h35.84v237.542h-35.84v-237.542zM100.697 514.386h489.813v37.509h-489.813v-37.509zM88.742 564.396h513.705v37.507h-513.705v-37.507z","M345.6 76.8l0.146-6.398-0.31-0.007-0.307 0.023 0.471 6.383zM342.241 77.777l3.663 5.254 0.223-0.17-3.886-5.084zM91.36 252.809l3.556 5.323 0.106-0.074-3.662-5.249zM94.72 264.335v-6.403l-0.181 0.005 0.181 6.397zM136.533 264.335h6.4v-6.4h-6.4v6.4zM136.533 501.88v6.4h6.4v-6.4h-6.4zM88.747 551.887v6.4h6.4v-6.4h-6.4zM602.452 551.887h-6.4v6.4h6.4v-6.4zM554.668 501.88h-6.4v6.4h6.4v-6.4zM554.668 264.335v-6.4h-6.4v6.4h6.4zM596.48 264.335l0.182-6.4h-0.182v6.4zM599.839 252.809l-3.661 5.249 0.108 0.072 3.553-5.321zM348.959 77.777l-3.789 5.16 0.128 0.089 3.661-5.249zM345.6 90.473l3.661-5.249-3.661-2.555-3.663 2.555 3.663 5.249zM576.881 251.829v6.401h20.36l-16.699-11.65-3.661 5.249zM114.318 251.829l-3.662-5.249-16.697 11.65h20.359v-6.401zM148.484 264.338v-6.4h-6.4v6.4h6.4zM184.324 264.338h6.4v-6.4h-6.4v6.4zM184.324 501.88v6.4h6.4v-6.4h-6.4zM148.484 501.88h-6.4v6.4h6.4v-6.4zM196.265 264.338v-6.4h-6.4v6.4h6.4zM255.999 264.338h6.401v-6.4h-6.401v6.4zM255.999 501.88v6.4h6.401v-6.4h-6.401zM196.265 501.88h-6.4v6.4h6.4v-6.4zM267.942 264.338v-6.4h-6.4v6.4h6.4zM303.782 264.338h6.4v-6.4h-6.4v6.4zM303.782 501.88v6.4h6.4v-6.4h-6.4zM267.942 501.88h-6.4v6.4h6.4v-6.4zM315.738 264.338v-6.4h-6.4v6.4h6.4zM375.47 264.338h6.4v-6.4h-6.4v6.4zM375.47 501.88v6.4h6.4v-6.4h-6.4zM315.738 501.88h-6.4v6.4h6.4v-6.4zM387.41 264.338v-6.4h-6.4v6.4h6.4zM423.247 264.338h6.4v-6.4h-6.4v6.4zM423.247 501.88v6.4h6.4v-6.4h-6.4zM387.41 501.88h-6.4v6.4h6.4v-6.4zM435.203 264.338v-6.4h-6.4v6.4h6.4zM494.935 264.338h6.4v-6.4h-6.4v6.4zM494.935 501.88v6.4h6.4v-6.4h-6.4zM435.203 501.88h-6.4v6.4h6.4v-6.4zM506.888 264.338v-6.4h-6.4v6.4h6.4zM542.728 264.338h6.4v-6.4h-6.4v6.4zM542.728 501.88v6.4h6.4v-6.4h-6.4zM506.888 501.88h-6.4v6.4h6.4v-6.4zM100.697 514.386v-6.4h-6.4v6.4h6.4zM590.51 514.386h6.4v-6.4h-6.4v6.4zM590.51 551.895v6.4h6.4v-6.4h-6.4zM100.697 551.895h-6.4v6.4h6.4v-6.4zM88.742 564.396v-6.4h-6.4v6.4h6.4zM602.447 564.396h6.4v-6.4h-6.4v6.4zM602.447 601.902v6.4h6.4v-6.4h-6.4zM88.742 601.902h-6.4v6.4h6.4v-6.4zM345.129 70.417c-2.253 0.166-4.769 0.74-6.776 2.276l7.775 10.168c-0.238 0.182-0.433 0.288-0.548 0.344-0.115 0.057-0.179 0.076-0.177 0.074 0.018-0.005 0.22-0.063 0.668-0.096l-0.942-12.765zM338.578 72.528l-250.88 175.033 7.324 10.498 250.88-175.033-7.324-10.498zM87.805 247.487c-4.706 3.143-6.473 9.094-5.021 14.129l12.298-3.548c0.007 0.023 0.002 0.020 0.003-0.008 0.001-0.031 0.007-0.067 0.017-0.095 0.027-0.079 0.020 0.026-0.188 0.164l-7.11-10.642zM82.784 261.617c1.448 5.020 6.24 9.283 12.117 9.116l-0.362-12.795c0.2-0.005 0.349 0.031 0.435 0.061 0.043 0.015 0.072 0.028 0.089 0.038s0.025 0.015 0.026 0.015c0.001 0.003-0.002 0-0.007-0.005s-0.009-0.013-0.012-0.015c-0.007-0.013 0.001-0.003 0.012 0.036l-12.298 3.548zM94.72 270.735h41.813v-12.8h-41.813v12.8zM130.133 264.335v237.545h12.8v-237.545h-12.8zM136.533 495.48h-41.813v12.8h41.813v-12.8zM94.72 495.48c-6.932 0-12.373 6.121-12.373 12.649h12.8c0 0.113-0.024 0.166-0.020 0.156 0.005-0.013 0.026-0.049 0.062-0.087s0.045-0.031-0.009-0.005c-0.060 0.028-0.217 0.087-0.459 0.087v-12.8zM82.347 508.129v43.758h12.8v-43.758h-12.8zM88.747 545.487h-5.974v12.8h5.974v-12.8zM82.773 545.487c-6.932 0-12.373 6.124-12.373 12.652h12.8c0 0.113-0.024 0.166-0.020 0.156 0.005-0.013 0.026-0.049 0.062-0.087 0.037-0.038 0.045-0.031-0.009-0.005-0.060 0.028-0.216 0.084-0.459 0.084v-12.8zM70.4 558.139v50.010h12.8v-50.010h-12.8zM70.4 608.148c0 6.531 5.441 12.652 12.373 12.652v-12.8c0.242 0 0.399 0.059 0.459 0.087 0.054 0.026 0.046 0.031 0.009-0.008-0.036-0.036-0.056-0.074-0.062-0.087-0.004-0.008 0.020 0.044 0.020 0.156h-12.8zM82.773 620.8h525.654v-12.8h-525.654v12.8zM608.428 620.8c6.932 0 12.372-6.121 12.372-12.652h-12.8c0-0.113 0.023-0.164 0.020-0.156-0.005 0.013-0.026 0.051-0.061 0.087-0.036 0.038-0.046 0.033 0.008 0.008 0.061-0.028 0.218-0.087 0.461-0.087v12.8zM620.8 608.148v-50.010h-12.8v50.010h12.8zM620.8 558.139c0-6.528-5.44-12.652-12.372-12.652v12.8c-0.243 0-0.399-0.056-0.461-0.084-0.054-0.026-0.044-0.033-0.008 0.005s0.056 0.074 0.061 0.087c0.003 0.010-0.020-0.044-0.020-0.156h12.8zM608.428 545.487h-5.975v12.8h5.975v-12.8zM608.852 551.887v-43.758h-12.8v43.758h12.8zM608.852 508.129c0-6.528-5.44-12.649-12.372-12.649v12.8c-0.243 0-0.399-0.059-0.458-0.087-0.054-0.026-0.046-0.033-0.010 0.005s0.056 0.074 0.061 0.087c0.005 0.010-0.020-0.044-0.020-0.156h12.8zM596.48 495.48h-41.812v12.8h41.812v-12.8zM561.068 501.88v-237.545h-12.8v237.545h12.8zM554.668 270.735h41.812v-12.8h-41.812v12.8zM596.298 270.733c5.878 0.166 10.67-4.096 12.116-9.116l-12.298-3.548c0.013-0.038 0.020-0.049 0.013-0.036-0.003 0.003-0.008 0.010-0.013 0.015-0.003 0.005-0.008 0.008-0.005 0.005 0 0 0.008-0.005 0.026-0.015 0.015-0.010 0.046-0.023 0.090-0.038 0.087-0.031 0.236-0.067 0.435-0.061l-0.364 12.795zM608.415 261.617c1.454-5.036-0.315-10.986-5.020-14.129l-7.109 10.642c-0.207-0.138-0.215-0.243-0.189-0.164 0.010 0.028 0.018 0.064 0.018 0.095 0 0.028-0.003 0.031 0.003 0.008l12.298 3.548zM603.502 247.56l-250.88-175.033-7.324 10.498 250.88 175.033 7.324-10.498zM352.748 72.618c-1.331-0.979-2.716-1.613-4.186-1.937-1.283-0.283-2.499-0.273-2.816-0.28l-0.292 12.797c0.074 0.002 0.154 0.003 0.21 0.004 0.064 0.001 0.115 0.003 0.159 0.004 0.095 0.002 0.141 0.005 0.166 0.006 0.046 0.003-0.038 0-0.184-0.032-0.156-0.035-0.317-0.088-0.461-0.155-0.138-0.063-0.197-0.109-0.172-0.091l7.575-10.317zM341.937 95.722l231.283 161.356 7.322-10.498-231.281-161.356-7.324 10.498zM576.881 245.429h-462.563v12.801h462.563v-12.801zM117.98 257.078l231.281-161.356-7.324-10.498-231.281 161.356 7.324 10.498zM345.605 145.416c-20.234 0-36.268 17.208-36.268 37.656h12.8c0-13.934 10.847-24.856 23.468-24.856v-12.8zM309.338 183.072c0 20.448 16.033 37.656 36.268 37.656v-12.8c-12.621 0-23.468-10.922-23.468-24.856h-12.8zM345.605 220.728c20.232 0 36.265-17.208 36.265-37.656h-12.8c0 13.933-10.844 24.856-23.465 24.856v12.8zM381.87 183.072c0-20.448-16.033-37.656-36.265-37.656v12.8c12.621 0 23.465 10.922 23.465 24.856h12.8zM345.6 170.713c6.157 0 11.52 5.184 11.52 12.354h12.8c0-13.684-10.552-25.154-24.32-25.154v12.8zM357.12 183.067c0 7.17-5.363 12.354-11.52 12.354v12.8c13.768 0 24.32-11.469 24.32-25.154h-12.8zM345.6 195.42c-6.159 0-11.52-5.184-11.52-12.354h-12.8c0 13.684 10.55 25.154 24.32 25.154v-12.8zM334.080 183.067c0-7.17 5.361-12.354 11.52-12.354v-12.8c-13.77 0-24.32 11.469-24.32 25.154h12.8zM148.484 270.738h35.839v-12.8h-35.839v12.8zM177.924 264.338v237.542h12.8v-237.542h-12.8zM184.324 495.48h-35.839v12.8h35.839v-12.8zM154.884 501.88v-237.542h-12.8v237.542h12.8zM196.265 270.738h59.733v-12.8h-59.733v12.8zM249.599 264.338v237.542h12.801v-237.542h-12.801zM255.999 495.48h-59.733v12.8h59.733v-12.8zM202.665 501.88v-237.542h-12.8v237.542h12.8zM267.942 270.738h35.84v-12.8h-35.84v12.8zM297.382 264.338v237.542h12.8v-237.542h-12.8zM303.782 495.48h-35.84v12.8h35.84v-12.8zM274.342 501.88v-237.542h-12.8v237.542h12.8zM315.738 270.738h59.732v-12.8h-59.732v12.8zM369.070 264.338v237.542h12.8v-237.542h-12.8zM375.47 495.48h-59.732v12.8h59.732v-12.8zM322.138 501.88v-237.542h-12.8v237.542h12.8zM387.41 270.738h35.837v-12.8h-35.837v12.8zM416.847 264.338v237.542h12.8v-237.542h-12.8zM423.247 495.48h-35.837v12.8h35.837v-12.8zM393.81 501.88v-237.542h-12.8v237.542h12.8zM435.203 270.738h59.732v-12.8h-59.732v12.8zM488.535 264.338v237.542h12.8v-237.542h-12.8zM494.935 495.48h-59.732v12.8h59.732v-12.8zM441.603 501.88v-237.542h-12.8v237.542h12.8zM506.888 270.738h35.84v-12.8h-35.84v12.8zM536.328 264.338v237.542h12.8v-237.542h-12.8zM542.728 495.48h-35.84v12.8h35.84v-12.8zM513.288 501.88v-237.542h-12.8v237.542h12.8zM100.697 520.786h489.813v-12.8h-489.813v12.8zM584.11 514.386v37.509h12.8v-37.509h-12.8zM590.51 545.495h-489.813v12.8h489.813v-12.8zM107.097 551.895v-37.509h-12.8v37.509h12.8zM88.742 570.796h513.705v-12.8h-513.705v12.8zM596.047 564.396v37.507h12.8v-37.507h-12.8zM602.447 595.502h-513.705v12.8h513.705v-12.8zM95.142 601.902v-37.507h-12.8v37.507h12.8z","M711.393 565.292c-24.829 25.26-32.061 61.161-22.915 93.261l-117.448 119.483c-1.298 1.318-2.12 3.059-2.324 4.91l-5.46 52.723c-0.269 2.575 0.648 5.117 2.501 6.889 1.851 1.772 4.398 2.56 6.899 2.125l68.485-11.93c3.625-0.609 6.377-3.653 6.71-7.373l2.232-25.226 24.796-2.268c3.909-0.356 6.994-3.51 7.342-7.47l2.232-25.226 24.812-2.271c1.884-0.177 3.656-1.014 5-2.368l37.235-37.878c31.524 9.257 66.86 1.93 91.671-23.311 36.319-36.946 36.319-97.103 0-134.052-36.316-36.946-95.45-36.946-131.768 0v-0.018zM722.849 576.947c30.131-30.651 78.728-30.651 108.856 0 30.126 30.651 30.129 80.092 0 110.743-21.742 22.118-53.089 28.012-80.215 18.207h0.015c-2.959-1.029-6.234-0.259-8.417 2.012l-38.139 38.797-28.736 2.642c-3.894 0.353-6.979 3.492-7.342 7.47l-2.232 25.226-24.796 2.268c-3.894 0.356-6.994 3.494-7.342 7.47l-2.232 25.774-51.825 9.016 3.94-38.799 118.602-120.655c2.217-2.271 2.959-5.652 1.869-8.663-9.623-27.592-3.75-59.387 17.992-81.505l0.003-0.003zM774.408 588.603c-12.598 12.815-12.598 33.823 0 46.62 12.595 12.813 33.247 12.813 45.824 0 12.598-12.815 12.598-33.825 0-46.62-12.595-12.815-33.247-12.815-45.824 0zM785.864 600.259c6.392-6.505 16.522-6.505 22.915 0 6.392 6.502 6.392 16.806 0 23.309-6.392 6.505-16.522 6.505-22.915 0-6.392-6.502-6.392-16.806 0-23.309z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["client-proprietaire"],"grid":16},"attrs":[],"properties":{"order":30,"id":21,"name":"client-proprietaire","prevSize":32,"code":60034},"setIdx":0,"setId":6,"iconIdx":29},{"icon":{"paths":["M102.4 1024c-0.176 0.001-0.384 0.002-0.592 0.002-28.13 0-53.611-11.343-72.119-29.704l0.007 0.007c-18.708-18.56-30.29-44.279-30.29-72.704s11.581-54.144 30.283-72.697l0.007-0.007 819.2-819.2c18.607-18.607 44.311-30.115 72.704-30.115 56.785 0 102.819 46.034 102.819 102.819 0 28.393-11.508 54.097-30.115 72.704l-819.2 819.2c-18.501 18.355-43.982 29.698-72.112 29.698-0.208 0-0.416-0.001-0.624-0.002l0.032 0z","M921.6 1024c-0.176 0.001-0.384 0.002-0.592 0.002-28.13 0-53.611-11.343-72.119-29.704l0.007 0.007-819.2-819.2c-18.607-18.607-30.115-44.311-30.115-72.704 0-56.785 46.034-102.819 102.819-102.819 28.393 0 54.097 11.508 72.704 30.115v0l819.2 819.2c18.708 18.56 30.29 44.279 30.29 72.704s-11.581 54.144-30.283 72.697l-0.007 0.007c-18.501 18.355-43.982 29.698-72.112 29.698-0.208 0-0.416-0.001-0.624-0.002l0.032 0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["close"],"grid":16},"attrs":[],"properties":{"order":31,"id":22,"name":"close","prevSize":32,"code":60035},"setIdx":0,"setId":6,"iconIdx":30},{"icon":{"paths":["M853.333 85.333h-682.667c-46.933 0-84.907 38.4-84.907 85.333l-0.427 768 170.667-170.667h597.333c46.933 0 85.333-38.4 85.333-85.333v-512c0-46.933-38.4-85.333-85.333-85.333zM768 597.333h-512v-85.333h512v85.333zM768 469.333h-512v-85.333h512v85.333zM768 341.333h-512v-85.333h512v85.333z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["comment"],"grid":16},"attrs":[],"properties":{"order":32,"id":23,"name":"comment","prevSize":32,"code":60038},"setIdx":0,"setId":6,"iconIdx":31},{"icon":{"paths":["M879.739 586.706h12.718l80.343 80.504-23.99 23.99-80.504-80.343v-12.718l-4.347-4.508c-18.355 15.777-42.184 25.277-68.104 25.277-57.802 0-104.655-46.853-104.655-104.653 0-57.802 46.853-104.655 104.655-104.655 57.8 0 104.653 46.853 104.653 104.655 0 25.92-9.5 49.748-25.277 68.104l4.508 4.347zM716.8 512c0 42.496 34.304 76.8 76.8 76.8s76.8-34.304 76.8-76.8c0-42.496-34.304-76.8-76.8-76.8s-76.8 34.304-76.8 76.8z","M568.522 550.464c6.085 0 11.323-5.179 11.323-11.197s-5.238-10.322-11.323-10.322c-6.085 0-11.323 5.179-11.323 11.197 0 5.143 5.238 10.322 11.323 10.322zM558.1 492.797c0-6.019 5.235-11.197 11.323-11.197 6.118 0 10.47 4.303 11.32 10.322v11.2c0 6.019-5.235 11.197-11.32 11.197-6.088 0-11.323-5.179-11.323-11.197v-10.324zM558.1 435.128c0-6.019 5.235-11.197 11.323-11.197 6.118 0 10.47 4.306 11.32 11.197v19.807c0 6.019-5.235 11.197-11.32 11.197-6.088 0-11.323-5.179-11.323-11.197v-19.807zM749.624 272.113v-7.437c0-1.748-0.005-2.588-0.855-3.395v-0.873c0-0.417-0.215-0.627-0.435-0.84-0.223-0.215-0.448-0.435-0.448-0.876l-0.883-0.876c0-0.84 0-1.715-0.883-1.715l-0.886-0.873c-0.484-0.498-0.691-0.712-0.945-0.805-0.192-0.070-0.407-0.070-0.788-0.070h-0.883l-325.514-125.699c-2.583-0.874-5.202-0.874-7.818 0l-326.331 125.63h-0.884c-0.421 0-0.633 0.214-0.848 0.431-0.219 0.221-0.44 0.444-0.886 0.444l-0.884 0.873c0 0.417-0.217 0.627-0.435 0.84-0.223 0.218-0.449 0.435-0.449 0.876-0.884 0-0.884 0.876-0.884 0.876 0 0.415-0.217 0.627-0.435 0.837-0.223 0.218-0.449 0.435-0.449 0.878v496.691c0 4.306 2.618 7.77 6.97 9.485l325.512 139.479h0.883c0.85 0.876 2.586 0.876 3.469 0.876 0.85 0 2.583 0 3.469-0.876h0.883l324.667-139.446c4.352-1.748 6.971-5.179 6.971-9.482v-17.713l-22.572 9.789v0.159l-303.752 130.839v-468.278l134.024-57.669v43.884c0 6.019 5.235 11.197 11.32 11.197 6.088 0 11.323-5.179 11.323-11.197v-53.363l99.651-42.893-0.018-0.284 28.557-11.999 18.895-8.133v0.192l22.572-9.485zM727.053 281.405l0.883-0.381-0.883 0.003v0.379zM567.693 321.51l-281.992-121.395 127.931-49.928 296.788 115.369-138.376 59.384c-0.863-1.672-2.532-2.514-4.221-3.364l-0.131-0.067zM99.4 281.019l303.787 130.002-0.036 469.112-303.751-130.836v-468.278zM546.816 335.258l-7.821 3.43-125.327 54.244-126.208-54.241-171.46-74.045 140.996-54.239c0.42 0 0.635 0.215 0.847 0.431 0.22 0.221 0.44 0.443 0.886 0.443l288.087 123.977z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["consultation produit"],"grid":16},"attrs":[],"properties":{"order":33,"id":24,"name":"consultation-produit","prevSize":32,"code":60039},"setIdx":0,"setId":6,"iconIdx":32},{"icon":{"paths":["M615.629 397.982h-347.444c-30.476 0-54.851 24.24-54.851 54.549v346.257c0 29.538 24.375 54.549 54.851 54.549h348.183c29.705 0 54.852-24.243 54.852-54.549l0.030-346.257c-0.777-30.309-25.152-54.549-55.625-54.549h0.004zM624.768 798.054c0 4.557-3.81 8.346-8.397 8.346l-348.181-0.030c-4.583 0-8.393-3.789-8.393-8.346l0.030-345.493c0-4.561 3.809-8.35 8.393-8.35h348.181c4.587 0 8.397 3.789 8.397 8.35l-0.030 345.523z","M798.485 170.671h-347.443c-30.477 0-54.852 24.24-54.852 54.548v127.3h45.713v-127.3c0-4.558 3.81-8.346 8.393-8.346h348.186c4.582 0 8.393 3.788 8.393 8.346v346.258c0 4.557-3.81 8.346-8.393 8.346h-82.295v45.461h82.295c29.7 0 54.852-24.239 54.852-54.545v-345.524c0-30.308-24.375-54.548-54.852-54.548l0.004 0.005z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["content-copy"],"grid":16},"attrs":[],"properties":{"order":34,"id":25,"name":"content-copy","prevSize":32,"code":60040},"setIdx":0,"setId":6,"iconIdx":33},{"icon":{"paths":["M256 810.667c0 46.933 38.4 85.333 85.333 85.333h341.333c46.933 0 85.333-38.4 85.333-85.333v-512h-512v512zM810.667 170.667h-149.333l-42.667-42.667h-213.333l-42.667 42.667h-149.333v85.333h597.333v-85.333z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["delete"],"grid":16},"attrs":[],"properties":{"order":35,"id":26,"name":"delete","prevSize":32,"code":60042},"setIdx":0,"setId":6,"iconIdx":34},{"icon":{"paths":["M657.682 794.309c-22.925-48.678-44.969-70.008-92.375-70.008h-106.598c-46.356 0-68.388 20.992-91.994 68.941-0.814 1.649-1.772 3.61-3.494 7.135-1.869 3.814-3.187 6.464-4.506 9.029-1.193 2.319-1.815 4.887-1.815 7.493 0 15.319 13.563 27.901 29.23 27.901h251.758c15.491 0 29.23-11.277 29.23-26.898 0-2.514-0.581-4.995-1.695-7.25-1.318-2.673-2.621-5.407-4.521-9.462-1.59-3.402-2.455-5.258-3.22-6.881zM565.281 757.074c31.411 0 44.611 12.769 62.702 51.19l1.764 3.761h-235.75l2.115-4.314c18.668-37.921 32.013-50.637 62.572-50.637h106.598z","M844.8 241.427c0-34.061-26.644-62.227-60.58-62.227h-544.507c-33.914 0-60.513 28.166-60.513 62.227v348.323c0 33.738 26.232 57.969 60.513 57.969h544.507c34.304 0 60.58-24.23 60.58-57.969v-348.323zM239.713 211.975h544.507c15.401 0 27.786 13.094 27.786 29.453v348.325c0 15.020-11.028 25.19-27.786 25.19h-544.507c-16.722 0-27.72-10.158-27.72-25.19v-348.325c0-16.37 12.355-29.453 27.72-29.453z","M528.443 724.477c0 0-7.342 0-16.397 0s-16.397 0-16.397 0v-42.028c0-9.050 7.342-16.387 16.397-16.387s16.397 7.337 16.397 16.387v42.028z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["desktop"],"grid":16},"attrs":[],"properties":{"order":36,"id":27,"name":"desktop","prevSize":32,"code":60044},"setIdx":0,"setId":6,"iconIdx":35},{"icon":{"paths":["M793.6 312.32h-271.77c-6.751 0-13.225 2.665-18.020 7.414l-105.421 104.461c-4.851 4.808-7.58 11.356-7.58 18.186v428.017c0 14.139 11.461 25.603 25.6 25.603h377.19c14.139 0 25.6-11.464 25.6-25.6v-532.48c0-14.139-11.461-25.6-25.6-25.6zM779.622 338.847c7.071 0 12.8 5.732 12.8 12.8v505.019c0 7.068-5.729 12.8-12.8 12.8h-349.24c-7.071 0-12.8-5.732-12.8-12.8v-385.628c0-7.071 5.729-12.8 12.8-12.8h108.273c7.068 0 12.8-5.732 12.8-12.8v-93.791c0-7.068 5.729-12.8 12.8-12.8h215.368zM524.68 431.706h-93.711l93.711-92.859v92.859z","M731.832 558.080h-248.013v26.532h248.013v-26.532z","M731.832 637.668h-248.013v26.532h248.013v-26.532z","M731.832 717.268h-248.013v26.532h248.013v-26.532z","M607.59 128c14.139 0 25.6 11.462 25.6 25.6v82.577l-22.546 2.628v-67.286c0-7.069-5.732-12.8-12.8-12.8h-215.37c-7.071 0-12.8 5.731-12.8 12.8v93.788c0 7.071-5.732 12.8-12.8 12.8h-108.272c-7.069 0-12.8 5.732-12.8 12.8v385.631c0 7.068 5.731 12.8 12.8 12.8h53.092l-3.886 22.341h-67.407c-14.138 0-25.6-11.461-25.6-25.6v-428.019c0-6.829 2.729-13.376 7.581-18.184l105.42-104.462c4.795-4.75 11.269-7.416 18.020-7.416h271.77zM338.67 154.527v92.858h-93.711l93.711-92.858z","M726.198 245.763c0-14.139-11.464-25.6-25.6-25.6h-271.772c-6.748 0-13.225 2.665-18.017 7.416l-105.421 104.462c-4.851 4.808-7.58 11.354-7.58 18.184v428.019c0 14.139 11.461 25.6 25.6 25.6h67.407l5.020-26.537h-58.458c-7.068 0-12.8-5.732-12.8-12.8v-385.628c0-7.071 5.732-12.8 12.8-12.8h108.273c7.068 0 12.8-5.732 12.8-12.8v-93.791c0-7.068 5.729-12.799 12.8-12.799h215.37c7.068 0 12.8 5.731 12.8 12.799v52.836h26.778v-66.56zM431.675 246.687v92.858h-93.711l93.711-92.858z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["document-seriel"],"grid":16},"attrs":[],"properties":{"order":37,"id":28,"name":"document-seriel","prevSize":32,"code":60045,"codes":[60045,60046,60047,60048,60049,60050,60051,60052]},"setIdx":0,"setId":6,"iconIdx":36},{"icon":{"paths":["M807.646 264.628l-404.288 432.694-187.982-182.801c-5.401-5.252-12.45-7.915-19.604-7.369-7.119 0.55-13.783 4.233-18.482 10.27s-7.049 13.952-6.558 21.909c0.526 7.996 3.858 15.441 9.294 20.655l206.495 200.67c10.486 10.15 26.128 9.719 36.192-0.939l421.969-451.51c8.521-8.779 11.046-22.693 6.242-34.49-4.77-11.797-15.748-18.891-27.285-17.559-6.029 0.748-11.678 3.726-15.991 8.468z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["done"],"grid":16},"attrs":[],"properties":{"order":38,"id":29,"name":"done","prevSize":32,"code":60053},"setIdx":0,"setId":6,"iconIdx":37},{"icon":{"paths":["M97.874 917.074l742.399-742.399","M631.468 597.335v341.332c0 9.426 7.639 17.068 17.065 17.068h238.935c9.426 0 17.065-7.642 17.065-17.068v-274.529c0-4.526-1.797-8.868-4.997-12.068l-66.803-66.803c-3.2-3.2-7.542-5-12.068-5h-172.132c-9.426 0-17.065 7.642-17.065 17.068zM648.532 605.868c0-4.71 3.822-8.532 8.535-8.532h136.532c4.713 0 8.532 3.822 8.532 8.532v59.735c0 4.713 3.822 8.532 8.535 8.532h68.265c4.713 0 8.535 3.822 8.535 8.532v247.468c0 4.713-3.822 8.532-8.535 8.532h-221.865c-4.713 0-8.535-3.82-8.535-8.532v-324.268zM819.2 597.335l59.732 59.732h-59.732v-59.732z","M85.35 102.398v290.135c0 9.423 7.641 17.065 17.067 17.065h307.201c9.423 0 17.065-7.642 17.065-17.065v-256.001c0-9.426-7.642-17.066-17.065-17.066h-211.32c-6.465 0-12.374-3.652-15.265-9.434l-7.632-15.265c-2.891-5.782-8.801-9.434-15.265-9.434h-57.719c-9.426 0-17.067 7.641-17.067 17.067zM102.417 189.438c0-0.943 0.764-1.707 1.707-1.707h303.787c0.942 0 1.708 0.764 1.708 1.707v201.387c0 0.942-0.765 1.708-1.708 1.708h-303.787c-0.943 0-1.707-0.765-1.707-1.708v-201.387zM104.123 170.665c-0.943 0-1.707-0.764-1.707-1.707v-64.853c0-0.943 0.764-1.707 1.707-1.707h56.32c0.943 0 1.916 0.714 2.307 1.572 3.097 6.793 17.417 32.561 25 32.561h220.161c0.942 0 1.708 0.764 1.708 1.707v30.72c0 0.943-0.765 1.707-1.708 1.707h-303.787z"],"attrs":[{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["dossier-fichier"],"grid":16},"attrs":[{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8},{},{}],"properties":{"order":39,"id":30,"name":"dossier-fichier","prevSize":32,"code":60056},"setIdx":0,"setId":6,"iconIdx":38},{"icon":{"paths":["M453.821 128h267.645c0 0 65.149 66.615 97.733 91.608v386.682c0 14.139-11.461 25.6-25.6 25.6h-339.779c-14.139 0-25.6-11.461-25.6-25.6v-452.69c0-14.138 11.461-25.6 25.6-25.6zM745.884 332.237h-244.362v22.904h244.362v-22.904zM501.522 400.95v22.904h244.362v-22.904h-244.362zM745.884 469.655h-244.362v22.904h244.362v-22.904zM705.175 227.295l81.454-0.057-81.513-76.29 0.059 76.347z","M204.8 312.732v557.668c0 14.139 11.462 25.6 25.6 25.6h562.353c14.139 0 25.6-11.461 25.6-25.6v-493.578c0-14.136-11.461-25.6-25.6-25.6h-387.758c-9.856 0-18.836-5.658-23.091-14.546l-16.753-34.998c-4.255-8.888-13.235-14.546-23.091-14.546h-111.66c-14.138 0-25.6 11.461-25.6 25.6zM235.473 481.966c0-1.413 1.146-2.56 2.56-2.56h547.076c1.416 0 2.56 1.147 2.56 2.56v379.428c0 1.416-1.144 2.56-2.56 2.56h-547.076c-1.414 0-2.56-1.144-2.56-2.56v-379.428zM238.033 447.365c-1.414 0-2.56-1.147-2.56-2.56v-123.064c0-1.413 1.146-2.56 2.56-2.56h102.253c1.413 0 2.844 1.093 3.397 2.394 5.020 11.83 31.34 61.699 45.179 61.699h396.247c1.416 0 2.56 1.147 2.56 2.56v58.972c0 1.413-1.144 2.56-2.56 2.56h-547.076z","M227.531 466.688h568.066v402.78h-568.066v-402.78z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["dossier-solidaire"],"grid":16},"attrs":[],"properties":{"order":40,"id":31,"name":"dossier-solidaire","prevSize":32,"code":60062},"setIdx":0,"setId":6,"iconIdx":39},{"icon":{"paths":["M753.493 128c-10.667 0-21.76 4.267-29.867 12.373l-78.080 78.080 160 160 78.080-78.080c16.64-16.64 16.64-43.52 0-60.16l-99.84-99.84c-8.533-8.533-19.2-12.373-30.293-12.373zM599.893 384.853l39.253 39.253-386.56 386.56h-39.253v-39.253l386.56-386.56zM128 736l471.893-471.893 160 160-471.893 471.893h-160v-160z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["edit"],"grid":16},"attrs":[],"properties":{"order":41,"id":32,"name":"edit","prevSize":32,"code":60063},"setIdx":0,"setId":6,"iconIdx":40},{"icon":{"paths":["M717.286 432.768v-235.1c0-108.975-92.105-197.668-205.286-197.668-113.218 0-205.286 88.688-205.286 197.668v235.1c-82.615 59.985-136.047 155.268-136.047 262.566 0 181.474 152.809 328.666 341.333 328.666 188.471 0 341.333-147.136 341.333-328.666 0-107.285-53.431-202.534-136.047-262.566zM552.811 696.538v102.942c0 21.696-18.27 39.287-40.806 39.287-22.532 0-40.806-17.591-40.806-39.287v-102.942c-17.182-12.156-28.429-31.561-28.429-53.623 0-36.796 31.023-66.667 69.278-66.667s69.239 29.871 69.239 66.667c-0.043 22.101-11.332 41.506-28.476 53.623zM643.076 391.833c-40.346-16.183-84.621-25.161-131.068-25.161-46.451 0-90.728 8.977-131.072 25.161v-194.164c0-69.606 58.825-126.207 131.072-126.207 72.286 0 131.11 56.602 131.11 126.207l-0.043 194.164z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["Edition"],"grid":16},"attrs":[],"properties":{"order":42,"id":33,"name":"Edition","prevSize":32,"code":60064},"setIdx":0,"setId":6,"iconIdx":41},{"icon":{"paths":["M128 128.104l768 767.998","M753.493 128c-10.667 0-21.76 4.267-29.867 12.373l-78.080 78.080 160 160 78.080-78.080c16.64-16.64 16.64-43.52 0-60.16l-99.84-99.84c-8.533-8.533-19.2-12.373-30.293-12.373zM599.893 384.853l39.253 39.253-386.56 386.56h-39.253v-39.253l386.56-386.56zM128 736l471.893-471.893 160 160-471.893 471.893h-160v-160z"],"attrs":[{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":42.666666666666664},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["edit-off"],"grid":16},"attrs":[{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":42.666666666666664},{}],"properties":{"order":43,"id":34,"name":"edit-off","prevSize":32,"code":60065},"setIdx":0,"setId":6,"iconIdx":42},{"icon":{"paths":["M853.333 298.667v170.667h-561.92l152.747-153.173-60.16-60.16-256 256 256 256 60.16-60.16-152.747-153.173h647.253v-256h-85.333z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["entree"],"grid":16},"attrs":[],"properties":{"order":44,"id":35,"name":"entree","prevSize":32,"code":60066},"setIdx":0,"setId":6,"iconIdx":43},{"icon":{"paths":["M426.667 768h170.667v-85.333h-170.667v85.333zM128 256v85.333h768v-85.333h-768zM256 554.667h512v-85.333h-512v85.333z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["filter-list"],"grid":16},"attrs":[],"properties":{"order":45,"id":36,"name":"filter-list","prevSize":32,"code":60070},"setIdx":0,"setId":6,"iconIdx":44},{"icon":{"paths":["M640 511.995c0.143 3.661 1.71 7.9 4.283 10.557l84.329 87.017c5.722 4.979 16.676 7.037 23.058 1.28 6.3-5.678 6.095-16.696-0.164-22.395l-59.295-61.105h290.378c8.727 0 15.811-6.879 15.811-15.357 0-8.476-7.084-15.355-15.811-15.355h-290.378l59.295-61.107c5.394-5.258 6.403-16.655 0.164-22.392-6.218-5.74-17.582-3.899-23.058 1.28l-84.329 87.014c-2.883 2.98-4.283 6.479-4.283 10.557v0.005z","M870.4 391.34v-178.417l-0.005 0.002c0-2.069 0-3.064-1.034-4.019v-1.034c0-0.493-0.264-0.741-0.53-0.992-0.271-0.256-0.545-0.515-0.545-1.037l-1.078-1.034c0-0.995 0-2.029-1.075-2.029l-1.078-1.034c-0.586-0.586-0.84-0.84-1.147-0.95-0.233-0.084-0.497-0.084-0.963-0.084h-1.078l-396.329-148.734c-3.146-1.034-6.333-1.034-9.521 0l-397.325 148.652h-1.076c-0.512 0-0.771 0.254-1.032 0.51-0.266 0.261-0.535 0.525-1.079 0.525l-1.076 1.034c0 0.493-0.264 0.741-0.53 0.992-0.272 0.256-0.546 0.515-0.546 1.037-1.076 0-1.076 1.034-1.076 1.034 0 0.493-0.264 0.741-0.53 0.992-0.272 0.256-0.546 0.515-0.546 1.037v587.712c0 5.094 3.187 9.193 8.486 11.223l396.329 165.041h1.075c1.037 1.034 3.146 1.034 4.224 1.034 1.034 0 3.146 0 4.221-1.034h1.078l395.3-165.002c5.299-2.068 8.486-6.126 8.486-11.22v-150.346l-27.566 5.166v135.985l-369.833 154.813v-554.089l163.182-68.237v51.924c0 7.122 6.374 13.248 13.783 13.248 7.411 0 13.786-6.126 13.786-13.248v-63.145l179.082-74.909v163.638l27.566-5.005zM842.834 232.706l1.078-0.45-1.078 0.001v0.449zM648.878 280.166l-343.34-143.642 155.763-59.078 361.357 136.511-168.481 70.266c-1.050-1.979-3.082-2.972-5.14-3.981l-0.159-0.077zM78.725 232.256l369.876 153.828-0.041 555.077-369.836-154.813v-554.092zM623.432 296.451l-9.521 4.060-152.594 64.182-153.664-64.179-208.762-87.614 171.671-64.179c0.512 0 0.771 0.254 1.032 0.51 0.266 0.261 0.535 0.525 1.080 0.525l350.758 146.696z","M870.4 691.2c70.692 0 128 57.308 128 128s-57.308 128-128 128c-70.692 0-128-57.308-128-128s57.308-128 128-128z","M838.835 787.617l66.757 66.755","M905.382 787.63l-66.757 66.757"],"attrs":[{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(97, 97, 97)"},{"fill":"none","stroke":"rgb(255, 255, 255)","strokeLinejoin":"miter","strokeLinecap":"square","strokeMiterlimit":"4","strokeWidth":51.2},{"fill":"none","stroke":"rgb(255, 255, 255)","strokeLinejoin":"miter","strokeLinecap":"square","strokeMiterlimit":"4","strokeWidth":51.2}],"isMulticolor":true,"isMulticolor2":true,"tags":["flux-industriel-refusé"],"grid":16},"attrs":[{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(97, 97, 97)"},{"fill":"none","stroke":"rgb(255, 255, 255)","strokeLinejoin":"miter","strokeLinecap":"square","strokeMiterlimit":"4","strokeWidth":51.2},{"fill":"none","stroke":"rgb(255, 255, 255)","strokeLinejoin":"miter","strokeLinecap":"square","strokeMiterlimit":"4","strokeWidth":51.2}],"properties":{"order":46,"id":37,"name":"flux-industriel-refus","prevSize":32,"code":60080,"codes":[60080,60081,60082,60083,60084]},"setIdx":0,"setId":6,"iconIdx":45},{"icon":{"paths":["M649.923 551.043c7.411 0 13.786-6.129 13.786-13.251s-6.374-12.214-13.786-12.214c-7.411 0-13.786 6.126-13.786 13.251 0 6.085 6.374 12.214 13.786 12.214zM637.202 482.829c0-7.122 6.374-13.251 13.786-13.251 7.452 0 12.749 5.094 13.786 12.216v13.248c0 7.124-6.377 13.251-13.786 13.251-7.411 0-13.786-6.129-13.786-13.251v-12.214zM637.202 414.577c0-7.124 6.374-13.251 13.786-13.251 7.452 0 12.749 5.092 13.786 13.251v23.434c0 7.122-6.377 13.251-13.786 13.251-7.411 0-13.786-6.129-13.786-13.251v-23.434zM870.4 221.712v-8.789l-0.005 0.002c0-2.069 0-3.064-1.034-4.019v-1.034c0-0.493-0.264-0.741-0.53-0.992-0.271-0.256-0.545-0.515-0.545-1.037l-1.078-1.034c0-0.995 0-2.029-1.075-2.029l-1.078-1.034c-0.586-0.586-0.84-0.84-1.147-0.95-0.233-0.084-0.497-0.084-0.963-0.084h-1.078l-396.329-148.734c-3.146-1.034-6.333-1.034-9.521 0l-397.325 148.652h-1.076c-0.512 0-0.771 0.254-1.032 0.51-0.266 0.261-0.535 0.525-1.079 0.525l-1.076 1.034c0 0.493-0.264 0.741-0.53 0.992-0.272 0.256-0.546 0.515-0.546 1.037-1.076 0-1.076 1.034-1.076 1.034 0 0.493-0.264 0.741-0.53 0.992-0.272 0.256-0.546 0.515-0.546 1.037v587.712c0 5.094 3.187 9.193 8.486 11.223l396.329 165.041h1.075c1.037 1.034 3.146 1.034 4.224 1.034 1.034 0 3.146 0 4.221-1.034h1.078l395.3-165.002c5.299-2.068 8.486-6.126 8.486-11.22v-20.969l-27.574 11.622v0.133l-369.833 154.816v-554.092l163.18-68.237v51.924c0 7.122 6.377 13.251 13.786 13.251 7.411 0 13.786-6.129 13.786-13.251v-63.145l121.349-50.757-0.020-0.282 29.192-11.921 28.562-11.948v0.283l27.574-11.26zM842.826 232.689l1.078-0.45-1.078 0.001v0.45zM648.86 280.174l-343.342-143.641 155.763-59.077 361.357 136.511-168.479 70.265c-1.050-1.976-3.082-2.972-5.14-3.978l-0.159-0.079zM78.713 232.239l369.876 153.827-0.041 555.077-369.835-154.813v-554.091zM623.421 296.381l-9.521 4.060-152.591 64.182-153.667-64.179-208.762-87.614 171.67-64.179c0.512 0 0.771 0.253 1.034 0.51 0.266 0.261 0.535 0.525 1.078 0.525l350.758 146.696z","M989.455 391.923c-14.633-7.058-22.131 8.566-22.131 8.566l-36.613 61.394-7.363-4.349 26.294-99.494c0 0 3.469-16.53-11.72-19.743-16.888-3.781-21.891 10.071-21.891 10.071l-24.701 96.975-8.233-2.322 12.019-116.196c0 0 1.021-18.112-15.956-19.54-16.991-1.446-19.095 16.343-19.095 16.343l-11.538 116.206h-7.363l-8.579-107.704c0 0-3.891-17.544-18.737-17.544s-15.58 20.603-15.58 20.603l3.771 132.493-3.771 4.242-28.142-22.664c0 0-13.22-10.778-23.798 0.246-9.556 9.948 1.321 25.139 1.321 25.139l55.534 87.854 122.842 7.503 71.171-157.381c0 0 5.591-13.978-7.736-20.695z","M776.543 620.198v19.799h153.577v-43.791l-140.49-8.768-13.087 32.76z","M870.4 691.2c70.692 0 128 57.308 128 128s-57.308 128-128 128c-70.692 0-128-57.308-128-128s57.308-128 128-128z","M838.835 787.617l66.757 66.755","M905.382 787.63l-66.757 66.757"],"attrs":[{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(97, 97, 97)"},{"fill":"none","stroke":"rgb(255, 255, 255)","strokeLinejoin":"miter","strokeLinecap":"square","strokeMiterlimit":"4","strokeWidth":51.2},{"fill":"none","stroke":"rgb(255, 255, 255)","strokeLinejoin":"miter","strokeLinecap":"square","strokeMiterlimit":"4","strokeWidth":51.2}],"isMulticolor":true,"isMulticolor2":true,"tags":["flux-manuel-refusé"],"grid":16},"attrs":[{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(117, 117, 117)"},{"fill":"rgb(97, 97, 97)"},{"fill":"none","stroke":"rgb(255, 255, 255)","strokeLinejoin":"miter","strokeLinecap":"square","strokeMiterlimit":"4","strokeWidth":51.2},{"fill":"none","stroke":"rgb(255, 255, 255)","strokeLinejoin":"miter","strokeLinecap":"square","strokeMiterlimit":"4","strokeWidth":51.2}],"properties":{"order":47,"id":38,"name":"flux-manuel-refus","prevSize":32,"code":60090,"codes":[60090,60091,60092,60093,60094,60095]},"setIdx":0,"setId":6,"iconIdx":46},{"icon":{"paths":["M784.065 563.13l153.207 153.203-44.093 44.405-232.567-232.571h-132.444v132.444l232.571 232.567-44.405 44.093-188.166-188.166v244.716h-62.517v-244.716l-188.165 188.166-44.404-44.093 232.568-232.567v-132.444h-132.44l-232.569 232.571-44.091-44.405 188.165-188.166h-244.715v-62.517h244.715l-188.165-188.165 44.091-44.404 232.569 232.568h132.44v-132.44l-232.568-232.569 44.404-44.091 188.165 188.165v-244.715h62.517v244.715l188.166-188.165 44.405 44.091-232.571 232.569v132.44h132.444l232.567-232.568 44.093 44.404-188.166 188.165h244.716v62.517h-244.716l34.959 34.963z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["gele"],"grid":16},"attrs":[],"properties":{"order":48,"id":39,"name":"gele","prevSize":32,"code":60097},"setIdx":0,"setId":6,"iconIdx":47},{"icon":{"paths":["M527.549 240.364h342.851v553.236h-819.2v-553.236h343.132M560.036 461.66h197.74M560.036 544.648h197.74M468.564 621.714c-49.746-18.839-104.973-42.214-109.632-56.763v-15.299c10.337-10.317 18.473-24.73 23.276-41.631 11.497-7.882 14.52-24.287 4.887-35.904v-34.189c0-35.325-20.083-59.502-65.987-59.502-44.718 0-66.018 24.177-66.018 59.502v34.217c-9.604 11.561-6.61 27.965 4.859 35.876 4.831 16.901 12.966 31.314 23.304 41.631v15.299c-4.631 14.548-59.886 37.924-109.631 56.763-4.237 1.603-7.034 5.642-7.034 10.15v38.228c0 6.003 4.887 10.872 10.932 10.872h287.144c6.044 0 10.931-4.869 10.931-10.872v-38.228c0-4.508-2.796-8.548-7.032-10.15zM532.119 112.939c-6.047-6.694-14.717-10.539-23.813-10.539h-94.746c-9.096 0-17.769 3.845-23.785 10.539-6.044 6.694-8.899 15.629-7.826 24.508l18.898 157.175c1.894 15.767 15.48 27.661 31.611 27.661h56.95c16.128 0 29.716-11.894 31.608-27.661l18.926-157.175c1.044-8.879-1.779-17.814-7.823-24.508z"],"attrs":[{"fill":"none","strokeLinejoin":"round","strokeLinecap":"round","strokeMiterlimit":"4","strokeWidth":25.6}],"isMulticolor":false,"isMulticolor2":false,"tags":["gestion-profil"],"grid":16},"attrs":[{"fill":"none","strokeLinejoin":"round","strokeLinecap":"round","strokeMiterlimit":"4","strokeWidth":25.6}],"properties":{"order":49,"id":40,"name":"gestion-profil","prevSize":32,"code":60098},"setIdx":0,"setId":6,"iconIdx":48},{"icon":{"paths":["M979.162 367.168l-111.061-264.848c-4.309-10.265-14.293-16.987-25.429-16.987h-661.332c-11.063 0-21.12 6.65-25.43 16.987l-111.060 264.848c-3.592 8.529-2.73 18.361 2.442 26.168 5.1 7.735 13.721 12.433 22.988 12.433h76.003v505.138c0 15.326 12.356 27.759 27.585 27.759h676.266c15.228 0 27.584-12.433 27.584-27.759v-505.138h76.002c9.267 0 17.89-4.626 22.989-12.433 5.171-7.807 6.033-17.638 2.445-26.168h0.009zM411.931 875.989v-314.517h200.288v314.517h-200.288zM822.63 883.072h-155.243l-0.068-349.359c0-15.326-12.356-27.759-27.588-27.759h-255.384c-15.229 0-27.586 12.433-27.586 27.759v349.359h-155.239v-477.379h621.096l0.013 477.379zM850.21 350.176h-738.33l87.784-209.332h624.771l87.787 209.332h-62.012z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["home"],"grid":16},"attrs":[],"properties":{"order":50,"id":41,"name":"home","prevSize":32,"code":60100},"setIdx":0,"setId":6,"iconIdx":49},{"icon":{"paths":["M510.916 226.251l-55.531-132.424c-2.155-5.132-7.151-8.494-12.715-8.494h-330.668c-5.531 0-10.56 3.325-12.715 8.494l-55.53 132.424c-1.796 4.265-1.365 9.181 1.221 13.084 2.55 3.867 6.86 6.217 11.494 6.217h38.001v252.569c0 7.663 6.178 13.879 13.793 13.879h338.133c7.616 0 13.794-6.217 13.794-13.879v-252.569h37.999c4.634 0 8.943-2.313 11.494-6.217 2.586-3.904 3.017-8.819 1.22-13.084h0.009zM227.296 480.661v-157.259h100.144v157.259h-100.144zM432.644 484.203h-77.62l-0.036-174.681c0-7.663-6.178-13.879-13.792-13.879h-127.693c-7.615 0-13.793 6.217-13.793 13.879v174.681h-77.62v-238.691h310.545l0.009 238.691zM446.438 217.755h-369.167l43.892-104.666h312.386l43.891 104.666h-31.002z","M725.431 576c0 0-20.267 0-21.073 16.593s0 248.887 0 265.481c0 16.593 21.073 16.593 21.073 16.593s21.077 0 21.077-16.593c0-16.593 0.354-248.892 0-265.481-0.354-16.593-21.077-16.593-21.077-16.593z","M874.62 725.76c0 0 0.047-20.267-16.542-21.111-16.585-0.841-248.811-0.546-265.395-0.585-16.589-0.038-16.636 21.039-16.636 21.039s-0.047 21.073 16.542 21.111c16.585 0.038 248.811 0.905 265.395 0.585 16.589-0.316 16.636-21.039 16.636-21.039z","M725.333 981.333c-141.385 0-256-114.615-256-256s114.615-256 256-256c141.385 0 256 114.615 256 256s-114.615 256-256 256zM725.333 938.667c117.82 0 213.333-95.514 213.333-213.333s-95.514-213.333-213.333-213.333c-117.82 0-213.333 95.514-213.333 213.333s95.514 213.333 213.333 213.333z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["home-add"],"grid":16},"attrs":[],"properties":{"order":51,"id":42,"name":"home-add","prevSize":32,"code":60101},"setIdx":0,"setId":6,"iconIdx":50},{"icon":{"paths":["M409.6 153.6l-153.6 153.216h115.2v269.184h76.8v-269.184h115.2l-153.6-153.216zM678.4 691.584v-269.184h-76.8v269.184h-115.2l153.6 153.216 153.6-153.216h-115.2z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["import-export"],"grid":16},"attrs":[],"properties":{"order":52,"id":43,"name":"import-export","prevSize":32,"code":60106},"setIdx":0,"setId":6,"iconIdx":51},{"icon":{"paths":["M510.050 0.014c-135.276 0-265.001 53.721-360.66 149.39-95.612 95.667-149.39 225.393-149.39 360.663 0 135.266 53.777 265.003 149.39 360.661 95.667 95.667 225.394 149.389 360.66 149.389 135.27 0 265.003-53.722 360.661-149.389 95.667-95.667 149.393-225.395 149.393-360.661-0.166-135.223-53.948-264.89-149.564-360.506s-225.28-149.39-360.503-149.561l0.013 0.014zM510.054 966.797c-121.112 0-237.285-48.111-322.946-133.777-85.611-85.666-133.777-201.826-133.777-322.944 0-121.116 48.166-237.283 133.777-322.944 85.666-85.666 201.827-133.777 322.946-133.777 121.114 0 237.282 48.111 322.944 133.777 85.666 85.666 133.777 201.828 133.777 322.944-0.166 121.109-48.277 237.171-133.948 322.773-85.611 85.611-201.668 133.777-322.773 133.943v0.004z","M536.218 417.065h-97.446v48.39h42.999v180.608h-42.999v48.333h140.446v-48.333h-42.999v-228.998z","M507.051 355.727c8.725 0.167 17.169-3.334 23.279-9.556 6.391-6.056 9.89-14.499 9.779-23.333 0.166-8.778-3.388-17.222-9.779-23.277-6.165-6.167-14.554-9.556-23.279-9.389-8.943-0.278-17.553 3.278-23.667 9.778-12.497 12.778-12.497 33.222 0 46 6.17 6.5 14.724 10.056 23.667 9.778v-0.001z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["info"],"grid":16},"attrs":[],"properties":{"order":53,"id":44,"name":"info","prevSize":32,"code":60107},"setIdx":0,"setId":6,"iconIdx":52},{"icon":{"paths":["M768 362.667c46.933 0 85.333 38.4 85.333 85.333v426.667c0 46.933-38.4 85.333-85.333 85.333h-512c-46.933 0-85.333-38.4-85.333-85.333v-426.667c0-46.933 38.4-85.333 85.333-85.333h384v-85.333c0-70.4-57.6-128-128-128-58.453 0-109.227 39.68-123.733 96-5.973 23.040-29.44 36.693-52.053 30.72-23.040-5.973-36.693-29.013-30.72-52.053 24.32-94.293 109.227-160 206.507-160 117.76 0 213.333 95.573 213.333 213.333v85.333h42.667zM512 576c46.933 0 85.333 38.4 85.333 85.333s-38.4 85.333-85.333 85.333c-46.933 0-85.333-38.4-85.333-85.333s38.4-85.333 85.333-85.333zM725.333 874.667c23.467 0 42.667-19.2 42.667-42.667v-341.333c0-23.467-19.2-42.667-42.667-42.667h-426.667c-23.467 0-42.667 19.2-42.667 42.667v341.333c0 23.467 19.2 42.667 42.667 42.667h426.667z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["lock open"],"grid":16},"attrs":[],"properties":{"order":54,"id":45,"name":"lock-open","prevSize":32,"code":60108},"setIdx":0,"setId":6,"iconIdx":53},{"icon":{"paths":["M128 384c-70.4 0-128 57.6-128 128s57.6 128 128 128c70.4 0 128-57.6 128-128s-57.6-128-128-128zM896 384c-70.4 0-128 57.6-128 128s57.6 128 128 128c70.4 0 128-57.6 128-128s-57.6-128-128-128zM512 384c-70.4 0-128 57.6-128 128s57.6 128 128 128c70.4 0 128-57.6 128-128s-57.6-128-128-128z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["more-horiz"],"grid":16},"attrs":[],"properties":{"order":55,"id":46,"name":"more-horiz","prevSize":32,"code":60109},"setIdx":0,"setId":6,"iconIdx":54},{"icon":{"paths":["M422.698 805.427c25.797-25.95 55.566-38.925 89.302-38.925s63.505 12.975 89.301 38.925c25.801 25.95 38.699 55.889 38.699 89.826 0 33.933-12.898 63.872-38.699 89.822-25.796 25.95-55.565 38.925-89.301 38.925s-63.505-12.975-89.302-38.925c-25.798-25.95-38.698-55.889-38.698-89.822 0-33.937 12.899-63.876 38.698-89.826zM422.698 422.176c25.797-25.949 55.566-38.924 89.302-38.924s63.505 12.975 89.301 38.924c25.801 25.948 38.699 55.892 38.699 89.824s-12.898 63.876-38.699 89.826c-25.796 25.95-55.565 38.921-89.301 38.921s-63.505-12.971-89.302-38.921c-25.798-25.95-38.698-55.893-38.698-89.826s12.899-63.876 38.698-89.824zM601.301 218.573c-25.796 25.949-55.565 38.924-89.301 38.924s-63.505-12.975-89.302-38.924c-25.798-25.949-38.698-55.891-38.698-89.825s12.899-63.875 38.698-89.824c25.797-25.949 55.566-38.924 89.302-38.924s63.505 12.975 89.301 38.924c25.801 25.949 38.699 55.891 38.699 89.824s-12.898 63.875-38.699 89.825z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["more-vert"],"grid":16},"attrs":[],"properties":{"order":56,"id":47,"name":"more-vert","prevSize":32,"code":60110},"setIdx":0,"setId":6,"iconIdx":55},{"icon":{"paths":["M512 938.667c46.933 0 85.333-38.4 85.333-85.333h-170.667c0 46.933 38.4 85.333 85.333 85.333zM768 682.667v-213.333c0-130.987-69.547-240.64-192-269.653v-29.013c0-35.413-28.587-64-64-64s-64 28.587-64 64v29.013c-122.027 29.013-192 138.24-192 269.653v213.333l-85.333 85.333v42.667h682.667v-42.667l-85.333-85.333zM682.667 725.333h-341.333v-256c0-105.813 64.427-192 170.667-192s170.667 86.187 170.667 192v256z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["notifications"],"grid":16},"attrs":[],"properties":{"order":57,"id":48,"name":"notifications","prevSize":32,"code":60111},"setIdx":0,"setId":6,"iconIdx":56},{"icon":{"paths":["M298.667 771.034v-518.066c0-21.883 20.709-39.634 37.507-39.634h89.288c20.708 0 37.506 17.751 37.506 39.634v518.066c0 21.884-20.706 39.633-37.506 39.633h-89.288c-20.709 0-37.507-17.749-37.507-39.633z","M561.033 771.034v-518.066c0-21.883 20.71-39.634 37.508-39.634h89.289c20.706 0 37.504 17.751 37.504 39.634v518.066c0 21.884-20.706 39.633-37.504 39.633h-89.289c-20.71 0-37.508-17.749-37.508-39.633z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["pause"],"grid":16},"attrs":[],"properties":{"order":58,"id":49,"name":"pause","prevSize":32,"code":60113},"setIdx":0,"setId":6,"iconIdx":57},{"icon":{"paths":["M298.662 853.332v-682.666c0-23.564 19.103-42.667 42.668-42.667h341.332c23.565 0 42.668 19.102 42.668 42.667v682.666c0 23.565-19.103 42.668-42.668 42.668h-341.332c-23.565 0-42.668-19.103-42.668-42.668z","M488.287 783.063h47.409"],"attrs":[{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"round","strokeMiterlimit":"4","strokeWidth":25.6}],"isMulticolor":false,"isMulticolor2":false,"tags":["phone"],"grid":16},"attrs":[{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"round","strokeMiterlimit":"4","strokeWidth":25.6}],"properties":{"order":59,"id":50,"name":"phone","prevSize":32,"code":60120},"setIdx":0,"setId":6,"iconIdx":58},{"icon":{"paths":["M731.29 498.486l-0.031 0.056c-8.635 15.752-25.449 26.258-44.728 26.258h-285.983c-9.339 0-17.935 5.084-22.433 13.266l-42.225 76.8c-4.362 7.931-4.211 17.574 0.397 25.364 4.605 7.79 12.984 12.57 22.034 12.57h435.044v25.6h-435.044c-38.643 0-63.516-41.531-44.731-76.14l0.036-0.064 51.743-93.55c3.991-7.214 4.262-15.908 0.73-23.357l-138.192-291.457c-4.237-8.936-13.242-14.632-23.132-14.632h-51.174v-25.6h83.668l29.171 62.086c4.219 8.98 13.248 14.714 23.171 14.714h568.125c9.654 0 15.683 10.474 11.064 18.717v-0l-0.084 0.154-137.426 249.215zM326.077 256c-8.776 0-16.942 4.495-21.635 11.912s-5.258 16.719-1.5 24.65l90.977 192c4.234 8.94 13.243 14.638 23.135 14.638h269.476c9.324 0 17.91-5.069 22.413-13.233l105.948-192c4.378-7.928 4.237-17.582-0.369-25.382-4.605-7.798-12.987-12.585-22.044-12.585h-466.401zM307.533 819.2c0-28.278 22.876-51.2 50.788-51.2 28.081 0 51.174 23.091 51.174 51.2s-23.094 51.2-51.174 51.2c-27.912 0-50.788-22.922-50.788-51.2zM691.402 819.2c0-28.278 22.876-51.2 50.788-51.2 28.081 0 51.174 23.091 51.174 51.2s-23.094 51.2-51.174 51.2c-27.912 0-50.788-22.922-50.788-51.2z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["picking"],"grid":16},"attrs":[],"properties":{"order":60,"id":51,"name":"picking","prevSize":32,"code":60121},"setIdx":0,"setId":6,"iconIdx":59},{"icon":{"paths":["M266.237 304.763l491.52-227.963 122.88 290.135h-40.95l-102.4-227.961-409.6 186.515 20.48 41.446h-55.598l-26.332-62.172z","M332.291 274.135c-17.661-18.267-38.395-56.523-44.060-69.050-0.973-2.147-3.405-3.938-5.763-3.938h-134.826c-2.356 0-4.266 1.91-4.266 4.267v157.258c0 2.355 1.91 4.265 4.266 4.265l732.996 0.003-0.765-1.805c0.494-0.696 0.783-1.546 0.783-2.463v-74.363c0-2.358-1.91-4.268-4.268-4.268h-30.861l-17.556-41.453h50.962c23.565 0 42.668 19.102 42.668 42.666v619.277c0 23.565-19.103 42.668-42.668 42.668h-733.866c-23.564 0-42.667-19.103-42.667-42.668v-702.172c0-23.564 19.102-42.666 42.667-42.666h135.624c16.233 0 31.060 9.212 38.252 23.766l17.475 35.364c7.191 14.554 22.019 23.766 38.252 23.766h25.636l-68.014 31.546zM147.642 408.387c-2.356 0-4.266 1.91-4.266 4.268v488.84c0 2.355 1.91 4.265 4.266 4.265h728.746c2.358 0 4.268-1.91 4.268-4.265v-488.84c0-2.358-1.91-4.268-4.268-4.268h-728.746z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["plan-classement"],"grid":16},"attrs":[],"properties":{"order":61,"id":52,"name":"plan-classement","prevSize":32,"code":60122},"setIdx":0,"setId":6,"iconIdx":60},{"icon":{"paths":["M454.4 376.435l0.128-0.115h-0.128v-69.12h153.6v69.12h-0.128l0.128 0.115-51.2 45.965 51.2 46.080-0.128 0.115h0.128v69.005h-153.6v-69.005h0.128l-0.128-0.115 51.2-46.080-51.2-45.965zM480 370.56l51.2 46.080 51.2-46.080v-40.32h-102.4v40.32zM531.2 428.16l-51.2 46.080v40.32h102.4v-40.32l-51.2-46.080z","M454.528 376.32l2.568 2.854c1.183-1.065 1.587-2.747 1.016-4.229-0.568-1.485-1.994-2.465-3.584-2.465v3.84zM454.4 376.435l-2.568-2.854c-0.812 0.73-1.272 1.766-1.272 2.857 0 1.088 0.463 2.127 1.275 2.854l2.565-2.857zM454.4 376.32h-3.84c0 2.12 1.72 3.84 3.84 3.84v-3.84zM454.4 307.2v-3.84c-2.12 0-3.84 1.72-3.84 3.84h3.84zM608 307.2h3.84c0-2.12-1.72-3.84-3.84-3.84v3.84zM608 376.32v3.84c2.12 0 3.84-1.72 3.84-3.84h-3.84zM607.872 376.32v-3.84c-1.59 0-3.016 0.98-3.584 2.465-0.571 1.482-0.166 3.164 1.016 4.229l2.568-2.854zM608 376.435l2.565 2.857c0.812-0.727 1.275-1.766 1.275-2.854 0-1.091-0.461-2.127-1.272-2.857l-2.568 2.854zM556.8 422.4l-2.565-2.857c-0.812 0.727-1.275 1.766-1.275 2.854 0 1.091 0.461 2.127 1.272 2.857l2.568-2.854zM608 468.48l2.568 2.854c0.812-0.73 1.272-1.766 1.272-2.854s-0.461-2.125-1.272-2.854l-2.568 2.854zM607.872 468.595l-2.568-2.854c-1.183 1.065-1.587 2.747-1.016 4.229 0.568 1.485 1.994 2.465 3.584 2.465v-3.84zM608 468.595h3.84c0-2.12-1.72-3.84-3.84-3.84v3.84zM608 537.6v3.84c2.12 0 3.84-1.72 3.84-3.84h-3.84zM454.4 537.6h-3.84c0 2.12 1.72 3.84 3.84 3.84v-3.84zM454.4 468.595v-3.84c-2.12 0-3.84 1.72-3.84 3.84h3.84zM454.528 468.595v3.84c1.59 0 3.016-0.98 3.584-2.465 0.571-1.482 0.166-3.164-1.016-4.229l-2.568 2.854zM454.4 468.48l-2.568-2.854c-0.812 0.73-1.272 1.766-1.272 2.854s0.461 2.125 1.272 2.854l2.568-2.854zM505.6 422.4l2.568 2.854c0.812-0.73 1.272-1.766 1.272-2.857 0-1.088-0.463-2.127-1.275-2.854l-2.565 2.857zM531.2 416.64l-2.568 2.854c1.459 1.313 3.676 1.313 5.135 0l-2.568-2.854zM480 370.56h-3.84c0 1.088 0.461 2.125 1.272 2.854l2.568-2.854zM582.4 370.56l2.568 2.854c0.812-0.73 1.272-1.766 1.272-2.854h-3.84zM582.4 330.24h3.84c0-2.12-1.72-3.84-3.84-3.84v3.84zM480 330.24v-3.84c-2.12 0-3.84 1.72-3.84 3.84h3.84zM480 474.24l-2.568-2.854c-0.812 0.73-1.272 1.766-1.272 2.854h3.84zM531.2 428.16l2.568-2.854c-1.459-1.313-3.676-1.313-5.135 0l2.568 2.854zM480 514.56h-3.84c0 2.12 1.72 3.84 3.84 3.84v-3.84zM582.4 514.56v3.84c2.12 0 3.84-1.72 3.84-3.84h-3.84zM582.4 474.24h3.84c0-1.088-0.461-2.125-1.272-2.854l-2.568 2.854zM451.96 373.466l-0.128 0.115 5.135 5.709 0.128-0.115-5.135-5.709zM454.4 380.16h0.128v-7.68h-0.128v7.68zM450.56 307.2v69.12h7.68v-69.12h-7.68zM608 303.36h-153.6v7.68h153.6v-7.68zM611.84 376.32v-69.12h-7.68v69.12h7.68zM607.872 380.16h0.128v-7.68h-0.128v7.68zM610.568 373.581l-0.128-0.115-5.135 5.709 0.128 0.115 5.135-5.709zM559.365 425.257l51.2-45.965-5.13-5.714-51.2 45.965 5.13 5.714zM610.568 465.626l-51.2-46.080-5.135 5.709 51.2 46.080 5.135-5.709zM610.44 471.45l0.128-0.115-5.135-5.709-0.128 0.115 5.135 5.709zM608 464.755h-0.128v7.68h0.128v-7.68zM611.84 537.6v-69.005h-7.68v69.005h7.68zM454.4 541.44h153.6v-7.68h-153.6v7.68zM450.56 468.595v69.005h7.68v-69.005h-7.68zM454.528 464.755h-0.128v7.68h0.128v-7.68zM451.832 471.334l0.128 0.115 5.135-5.709-0.128-0.115-5.135 5.709zM503.032 419.546l-51.2 46.080 5.135 5.709 51.2-46.080-5.135-5.709zM451.835 379.292l51.2 45.965 5.13-5.714-51.2-45.965-5.13 5.714zM533.768 413.786l-51.2-46.080-5.135 5.709 51.2 46.080 5.135-5.709zM579.832 367.706l-51.2 46.080 5.135 5.709 51.2-46.080-5.135-5.709zM578.56 330.24v40.32h7.68v-40.32h-7.68zM480 334.080h102.4v-7.68h-102.4v7.68zM483.84 370.56v-40.32h-7.68v40.32h7.68zM482.568 477.094l51.2-46.080-5.135-5.709-51.2 46.080 5.135 5.709zM483.84 514.56v-40.32h-7.68v40.32h7.68zM582.4 510.72h-102.4v7.68h102.4v-7.68zM578.56 474.24v40.32h7.68v-40.32h-7.68zM528.632 431.014l51.2 46.080 5.135-5.709-51.2-46.080-5.135 5.709z","M504.604 791.926l20.078 25.772 20.224-25.659c41.216-52.298 90.094-120.671 128.801-190.377 38.159-68.718 68.692-142.628 68.692-204.861 0-120.123-97.477-217.6-217.6-217.6s-217.6 97.477-217.6 217.6c0 61.729 30.986 135.89 69.276 204.731 38.876 69.901 87.721 138.527 128.128 190.395zM546.924 830.218c-8.451 10.409-15.933 19.392-22.124 26.703-6.19-7.311-13.673-16.294-22.124-26.703-24.87-30.643-57.987-73.526-91.054-122.537-33.119-49.083-65.866-103.849-90.26-158.298-24.543-54.784-39.762-107.364-39.762-152.584 0-134.469 108.731-243.2 243.2-243.2s243.2 108.731 243.2 243.2c0 45.22-15.219 97.8-39.762 152.584-24.394 54.449-57.142 109.215-90.26 158.298-33.068 49.011-66.184 91.894-91.054 122.537z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["position"],"grid":16},"attrs":[],"properties":{"order":62,"id":53,"name":"position","prevSize":32,"code":60124,"codes":[60124,60125,60126]},"setIdx":0,"setId":6,"iconIdx":61},{"icon":{"paths":["M816.64 341.332h-609.28c-72.243 0-130.56 57.175-130.56 128v256h174.080v170.668h522.24v-170.668h174.080v-256c0-70.825-58.317-128-130.56-128zM686.080 810.668h-348.16v-213.335h348.16v213.335zM816.64 512c-23.936 0-43.52-19.2-43.52-42.668 0-23.465 19.584-42.665 43.52-42.665s43.52 19.2 43.52 42.665c0 23.468-19.584 42.668-43.52 42.668zM773.12 128h-522.24v170.668h522.24v-170.668z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["print"],"grid":16},"attrs":[],"properties":{"order":63,"id":54,"name":"print","prevSize":32,"code":60127},"setIdx":0,"setId":6,"iconIdx":62},{"icon":{"paths":["M270.813 526.893c2.243 0 4.173-1.908 4.173-4.127s-1.93-3.805-4.173-3.805c-2.244 0-4.173 1.908-4.173 4.127 0 1.897 1.929 3.805 4.173 3.805zM266.972 505.638c0-2.218 1.929-4.127 4.173-4.127 2.255 0 3.859 1.586 4.172 3.804v4.127c0 2.218-1.929 4.127-4.172 4.127-2.244 0-4.173-1.908-4.173-4.127v-3.804zM266.972 484.383c0-2.218 1.929-4.127 4.173-4.127 2.255 0 3.859 1.587 4.172 4.127v7.3c0 2.218-1.929 4.127-4.172 4.127-2.244 0-4.173-1.908-4.173-4.127v-7.3zM337.554 424.31v-2.74h-0.001c0-0.644 0-0.954-0.314-1.252v-0.321c0-0.154-0.079-0.232-0.16-0.31-0.082-0.079-0.165-0.16-0.165-0.323l-0.326-0.323c0-0.31 0-0.631-0.325-0.631l-0.326-0.323c-0.178-0.184-0.255-0.262-0.348-0.297-0.070-0.026-0.15-0.026-0.291-0.026h-0.325l-119.96-46.323c-0.952-0.322-1.917-0.322-2.883 0l-120.261 46.298h-0.326c-0.155 0-0.233 0.079-0.312 0.159-0.081 0.082-0.162 0.164-0.327 0.164l-0.326 0.323c0 0.154-0.080 0.23-0.161 0.308-0.082 0.079-0.165 0.16-0.165 0.323-0.326 0-0.326 0.323-0.326 0.323 0 0.154-0.080 0.23-0.161 0.31-0.082 0.079-0.165 0.16-0.165 0.323v183.045c0 1.586 0.965 2.862 2.569 3.494l119.961 51.402h0.325c0.314 0.323 0.952 0.323 1.279 0.323 0.312 0 0.952 0 1.277-0.323h0.326l119.648-51.389c1.604-0.645 2.569-1.908 2.569-3.494v-6.528l-8.319 3.608v0.059l-111.941 48.218v-172.573l49.391-21.253v16.173c0 2.218 1.929 4.127 4.173 4.127 2.243 0 4.172-1.908 4.172-4.127v-19.667l36.724-15.807-0.006-0.104 10.508-4.416 6.98-3.004v0.072l8.319-3.496zM329.235 427.734l0.325-0.14h-0.325v0.14zM270.506 442.514l-103.922-44.737 47.146-18.4 109.375 42.516-50.995 21.885c-0.317-0.617-0.933-0.927-1.555-1.24l-0.049-0.024zM97.928 427.594l111.954 47.909-0.013 172.881-111.941-48.218v-172.572zM262.812 447.578l-2.881 1.265-46.186 19.99-46.511-19.988-63.188-27.288 51.961-19.988c0.155 0 0.233 0.079 0.312 0.159 0.081 0.081 0.163 0.164 0.326 0.164l106.167 45.688z","M640 363.2c2.651 0 4.8-2.149 4.8-4.8s-2.149-4.8-4.8-4.8v9.6zM780.8 353.6c-2.651 0-4.8 2.149-4.8 4.8s2.149 4.8 4.8 4.8v-9.6zM843.2 358.4c0-2.651-2.149-4.8-4.8-4.8s-4.8 2.149-4.8 4.8h9.6zM833.6 652.8c0 2.651 2.149 4.8 4.8 4.8s4.8-2.149 4.8-4.8h-9.6zM593.6 358.4c0-2.651-2.149-4.8-4.8-4.8s-4.8 2.149-4.8 4.8h9.6zM584 652.8c0 2.651 2.149 4.8 4.8 4.8s4.8-2.149 4.8-4.8h-9.6zM505.6 411.2c-2.651 0-4.8 2.149-4.8 4.8s2.149 4.8 4.8 4.8v-9.6zM544 420.8c2.651 0 4.8-2.149 4.8-4.8s-2.149-4.8-4.8-4.8v9.6zM518.4 436.8c-2.651 0-4.8 2.149-4.8 4.8s2.149 4.8 4.8 4.8v-9.6zM531.2 446.4c2.651 0 4.8-2.149 4.8-4.8s-2.149-4.8-4.8-4.8v9.6zM876.8 411.2c-2.651 0-4.8 2.149-4.8 4.8s2.149 4.8 4.8 4.8v-9.6zM915.2 420.8c2.651 0 4.8-2.149 4.8-4.8s-2.149-4.8-4.8-4.8v9.6zM889.6 436.8c-2.651 0-4.8 2.149-4.8 4.8s2.149 4.8 4.8 4.8v-9.6zM902.4 446.4c2.651 0 4.8-2.149 4.8-4.8s-2.149-4.8-4.8-4.8v9.6zM640 353.6h-153.6v9.6h153.6v-9.6zM468.8 371.2v268.8h9.6v-268.8h-9.6zM486.4 657.6h448v-9.6h-448v9.6zM952 640v-268.8h-9.6v268.8h9.6zM934.4 353.6h-153.6v9.6h153.6v-9.6zM833.6 358.4v294.4h9.6v-294.4h-9.6zM584 358.4v294.4h9.6v-294.4h-9.6zM505.6 420.8h38.4v-9.6h-38.4v9.6zM518.4 446.4h12.8v-9.6h-12.8v9.6zM876.8 420.8h38.4v-9.6h-38.4v9.6zM889.6 446.4h12.8v-9.6h-12.8v9.6zM952 371.2c0-9.72-7.88-17.6-17.6-17.6v9.6c4.419 0 8 3.582 8 8h9.6zM934.4 657.6c9.72 0 17.6-7.88 17.6-17.6h-9.6c0 4.419-3.581 8-8 8v9.6zM468.8 640c0 9.72 7.88 17.6 17.6 17.6v-9.6c-4.419 0-8-3.581-8-8h-9.6zM486.4 353.6c-9.72 0-17.6 7.88-17.6 17.6h9.6c0-4.418 3.581-8 8-8v-9.6z","M320 511.878c0 5.999 4.854 10.853 10.852 10.853h395.878l-60.512 59.919c-4.261 4.219-4.282 11.086-0.064 15.346 4.197 4.26 11.064 4.303 15.324 0.084l79.333-78.573c0.106-0.106 0.191-0.255 0.297-0.361 0.36-0.381 0.699-0.805 0.996-1.229l0.042-0.064c0.17-0.275 0.297-0.572 0.445-0.847l0.022-0.022c0.191-0.296 0.36-0.614 0.508-0.954l0.042-0.084v0.022l0.317-1.082c0.086-0.297 0.191-0.572 0.255-0.869l0.022-0.064c0.253-1.377 0.253-2.776 0-4.154l-0.022-0.064c-0.064-0.297-0.169-0.572-0.255-0.869-0.084-0.36-0.211-0.721-0.317-1.080l-0.042-0.084v0.020c-0.148-0.339-0.317-0.657-0.508-0.954-0.148-0.297-0.276-0.594-0.467-0.869l-0.042-0.064c-0.297-0.424-0.636-0.847-0.996-1.229-0.106-0.127-0.191-0.255-0.297-0.361l-0.084-0.084-79.249-78.488c-2.034-2.013-4.812-3.158-7.672-3.137-2.883 0-5.638 1.166-7.674 3.222-2.013 2.035-3.158 4.812-3.137 7.674 0.022 2.883 1.166 5.638 3.222 7.674l60.512 59.919h-395.877c-5.998 0-10.852 4.855-10.852 10.853z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["Rangement Déplacement"],"grid":16},"attrs":[],"properties":{"order":64,"id":55,"name":"Rangement-Dplacement","prevSize":32,"code":60131},"setIdx":0,"setId":6,"iconIdx":63},{"icon":{"paths":["M102.4 407.037h640v437.757h-640v-437.757z","M103.138 407.050l312.353-40.264v-187.587l-205.155 25.606-107.198 202.244z","M426.012 405.315v-201.883h205.583l110.449 203.527-316.032-1.644z","M358.4 652.349c0 7.706 6.157 13.939 13.768 13.939h502.216l-76.767 76.964c-5.404 5.417-5.43 14.239-0.079 19.709 5.325 5.471 14.036 5.527 19.441 0.108l100.641-100.92c0.136-0.136 0.243-0.328 0.379-0.463 0.456-0.489 0.886-1.034 1.262-1.58l0.054-0.082c0.215-0.353 0.376-0.735 0.566-1.088l0.026-0.028c0.243-0.379 0.458-0.788 0.645-1.224l0.054-0.11v0.028l0.404-1.388c0.108-0.381 0.241-0.737 0.323-1.116l0.026-0.082c0.325-1.772 0.325-3.566 0-5.338l-0.026-0.082c-0.082-0.379-0.215-0.735-0.323-1.116-0.108-0.461-0.269-0.924-0.404-1.388l-0.054-0.11v0.028c-0.187-0.435-0.402-0.845-0.645-1.224-0.187-0.381-0.348-0.763-0.591-1.116l-0.054-0.082c-0.376-0.545-0.806-1.091-1.262-1.58-0.136-0.164-0.243-0.328-0.379-0.463l-0.105-0.108-100.536-100.813c-2.58-2.588-6.103-4.058-9.733-4.029-3.658 0-7.155 1.498-9.736 4.137-2.555 2.614-4.006 6.18-3.978 9.856 0.026 3.702 1.477 7.242 4.086 9.856l76.767 76.961h-502.216c-7.611 0-13.768 6.236-13.768 13.942z"],"attrs":[{"fill":"none","strokeLinejoin":"round","strokeLinecap":"round","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"none","strokeLinejoin":"round","strokeLinecap":"round","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"none","strokeLinejoin":"round","strokeLinecap":"round","strokeMiterlimit":"4","strokeWidth":25.6},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["recherche postee"],"grid":16},"attrs":[{"fill":"none","strokeLinejoin":"round","strokeLinecap":"round","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"none","strokeLinejoin":"round","strokeLinecap":"round","strokeMiterlimit":"4","strokeWidth":25.6},{"fill":"none","strokeLinejoin":"round","strokeLinecap":"round","strokeMiterlimit":"4","strokeWidth":25.6},{}],"properties":{"order":65,"id":56,"name":"recherche-postee","prevSize":32,"code":60132},"setIdx":0,"setId":6,"iconIdx":64},{"icon":{"paths":["M585.6 549.455c2.858 0 5.317-2.432 5.317-5.258s-2.459-4.847-5.317-4.847c-2.857 0-5.316 2.432-5.316 5.258 0 2.415 2.459 4.847 5.316 4.847zM580.741 522.372c0-2.826 2.459-5.257 5.316-5.257 2.874 0 4.918 2.020 5.317 4.846v5.258c0 2.826-2.459 5.258-5.317 5.258-2.857 0-5.316-2.432-5.316-5.258v-4.847zM580.741 495.293c0-2.826 2.459-5.258 5.316-5.258 2.874 0 4.918 2.021 5.317 5.258v9.3c0 2.826-2.459 5.257-5.317 5.257-2.857 0-5.316-2.431-5.316-5.257v-9.3zM670.671 418.752v-3.489l-0.001 0.001c0-0.82 0-1.216-0.399-1.595v-0.411c0-0.195-0.102-0.293-0.205-0.393-0.105-0.102-0.211-0.205-0.211-0.412l-0.415-0.41c0-0.396 0-0.805-0.415-0.805l-0.415-0.411c-0.228-0.234-0.325-0.334-0.444-0.378-0.090-0.033-0.192-0.033-0.37-0.033h-0.416l-152.842-59.021c-1.213-0.41-2.442-0.41-3.672 0l-153.226 58.989h-0.415c-0.198 0-0.298 0.1-0.398 0.202-0.104 0.104-0.207 0.209-0.416 0.209l-0.416 0.41c0 0.196-0.101 0.294-0.205 0.394-0.104 0.101-0.21 0.204-0.21 0.411-0.415 0-0.415 0.411-0.415 0.411 0 0.196-0.102 0.294-0.205 0.394-0.105 0.101-0.211 0.204-0.211 0.411v233.22c0 2.021 1.23 3.647 3.273 4.453l152.844 65.492h0.415c0.399 0.41 1.213 0.41 1.628 0.41 0.399 0 1.213 0 1.628-0.41h0.415l152.447-65.477c2.044-0.82 3.273-2.432 3.273-4.452v-8.32l-10.619 4.605v0.065l-142.625 61.435v-219.877l62.93-27.078v20.604c0 2.826 2.459 5.258 5.316 5.258 2.858 0 5.317-2.432 5.317-5.258v-25.057l46.797-20.142-0.009-0.124 12.506-5.254 9.769-4.205v0.1l10.619-4.462zM660.052 423.114l0.415-0.178h-0.415v0.178zM585.263 441.951l-132.408-57 60.070-23.444 139.355 54.172-64.973 27.882c-0.406-0.785-1.189-1.179-1.983-1.58l-0.061-0.031zM365.37 422.936l142.642 61.042-0.017 220.269-142.625-61.434v-219.877zM575.428 448.402l-3.671 1.61-58.847 25.469-59.26-25.467-80.508-34.769 66.203-25.467c0.198 0 0.298 0.1 0.399 0.202 0.102 0.102 0.206 0.207 0.416 0.207l135.268 58.213z","M272.27 475.133c2.419 0 4.5-2.060 4.5-4.452s-2.081-4.104-4.5-4.104c-2.419 0-4.5 2.060-4.5 4.452 0 2.044 2.081 4.104 4.5 4.104zM268.113 452.209c0-2.394 2.081-4.452 4.5-4.452 2.433 0 4.163 1.711 4.5 4.104v4.451c0 2.394-2.081 4.452-4.5 4.452s-4.5-2.058-4.5-4.452v-4.102zM268.113 429.28c0-2.394 2.081-4.452 4.5-4.452 2.433 0 4.163 1.711 4.5 4.452v7.872c0 2.392-2.081 4.452-4.5 4.452s-4.5-2.060-4.5-4.452v-7.872zM344.242 364.483v-2.955l-0.001 0.001c0-0.695 0-1.029-0.338-1.35v-0.348c0-0.165-0.086-0.249-0.173-0.333-0.088-0.086-0.178-0.173-0.178-0.348l-0.352-0.348c0-0.334 0-0.682-0.351-0.682l-0.352-0.348c-0.192-0.198-0.275-0.283-0.375-0.32-0.077-0.028-0.163-0.028-0.314-0.028h-0.352l-129.389-49.964c-1.027-0.348-2.067-0.348-3.108 0l-129.714 49.937h-0.351c-0.167 0-0.252 0.085-0.337 0.171-0.087 0.088-0.175 0.176-0.352 0.176l-0.351 0.348c0 0.166-0.086 0.249-0.173 0.333-0.089 0.086-0.178 0.173-0.178 0.348-0.351 0-0.351 0.348-0.351 0.348 0 0.165-0.086 0.249-0.173 0.333-0.089 0.086-0.178 0.173-0.178 0.348v197.432c0 1.71 1.041 3.087 2.771 3.77l129.388 55.442h0.352c0.338 0.348 1.027 0.348 1.379 0.348 0.338 0 1.027 0 1.379-0.348h0.351l129.053-55.429c1.729-0.695 2.77-2.058 2.77-3.77v-7.041l-8.991 3.9v0.059l-120.739 52.006v-186.136l53.274-22.922v17.443c0 2.392 2.081 4.451 4.5 4.451s4.5-2.058 4.5-4.451v-21.212l39.62-17.053-0.008-0.108 10.916-4.587 7.936-3.416v0.081l8.991-3.778zM335.251 368.18l0.352-0.151-0.352 0v0.151zM271.917 384.122l-112.090-48.254 50.852-19.846 117.971 45.858-55.004 23.605c-0.342-0.666-1.006-1-1.678-1.338l-0.051-0.026zM85.77 368.029l120.753 51.676-0.014 186.468-120.739-52.008v-186.136zM263.644 389.585l-3.109 1.363-49.816 21.562-50.166-21.56-68.155-29.432 56.045-21.56c0.168 0 0.252 0.085 0.338 0.171 0.087 0.088 0.174 0.176 0.352 0.176l114.511 49.28z","M872.072 475.133c2.419 0 4.5-2.060 4.5-4.452s-2.081-4.104-4.5-4.104c-2.419 0-4.5 2.060-4.5 4.452 0 2.044 2.081 4.104 4.5 4.104zM867.914 452.209c0-2.394 2.081-4.452 4.5-4.452 2.433 0 4.163 1.711 4.5 4.104v4.451c0 2.394-2.081 4.452-4.5 4.452s-4.5-2.058-4.5-4.452v-4.102zM867.914 429.28c0-2.394 2.081-4.452 4.5-4.452 2.433 0 4.163 1.711 4.5 4.452v7.872c0 2.392-2.081 4.452-4.5 4.452s-4.5-2.060-4.5-4.452v-7.872zM944.042 364.466v-2.938l-0.001 0.001c0-0.695 0-1.029-0.338-1.35v-0.348c0-0.165-0.086-0.249-0.173-0.333-0.090-0.086-0.179-0.173-0.179-0.348l-0.351-0.348c0-0.334 0-0.682-0.352-0.682l-0.351-0.348c-0.192-0.198-0.275-0.283-0.376-0.32-0.076-0.028-0.161-0.028-0.314-0.028h-0.351l-129.389-49.964c-1.027-0.348-2.067-0.348-3.108 0l-129.714 49.937h-0.352c-0.166 0-0.251 0.085-0.337 0.171-0.087 0.088-0.175 0.176-0.352 0.176l-0.352 0.348c0 0.166-0.086 0.249-0.173 0.333-0.088 0.086-0.178 0.173-0.178 0.348-0.352 0-0.352 0.348-0.352 0.348 0 0.165-0.086 0.249-0.173 0.333-0.088 0.086-0.178 0.173-0.178 0.348v197.432c0 1.71 1.041 3.087 2.77 3.77l129.389 55.442h0.352c0.337 0.348 1.027 0.348 1.377 0.348 0.338 0 1.028 0 1.379-0.348h0.352l129.053-55.429c1.729-0.695 2.77-2.058 2.77-3.77v-7.058l-8.989 3.899v0.077l-120.739 52.006v-186.136l53.274-22.922v17.443c0 2.392 2.081 4.451 4.5 4.451s4.5-2.058 4.5-4.451v-21.212l39.58-17.036-0.009-0.126 12.649-5.315 6.244-2.688v0.064l8.989-3.777zM935.053 368.18l0.352-0.151-0.352 0v0.151zM871.718 384.122l-112.090-48.254 50.852-19.846 117.971 45.858-55.004 23.605c-0.342-0.666-1.006-1-1.678-1.338l-0.051-0.026zM685.572 368.029l120.753 51.676-0.014 186.468-120.739-52.008v-186.136zM863.446 389.585l-3.109 1.363-49.816 21.562-50.166-21.56-68.155-29.432 56.045-21.56c0.168 0 0.252 0.085 0.338 0.171 0.087 0.088 0.174 0.176 0.352 0.176l114.511 49.28z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["Regroupement"],"grid":16},"attrs":[],"properties":{"order":66,"id":57,"name":"Regroupement","prevSize":32,"code":60133},"setIdx":0,"setId":6,"iconIdx":65},{"icon":{"paths":["M810.667 554.667h-597.333v-85.333h597.333v85.333z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["remove"],"grid":16},"attrs":[],"properties":{"order":67,"id":58,"name":"remove","prevSize":32,"code":60134},"setIdx":0,"setId":6,"iconIdx":66},{"icon":{"paths":["M754.643 348.16c-6.182-0.033-11.807-2.394-16.047-6.251l0.020 0.017c-4.067-4.035-6.585-9.626-6.585-15.805s2.518-11.77 6.583-15.804l0.001-0.001 136.682-136.237-136.237-136.237c-5.431-4.104-8.904-10.551-8.904-17.809 0-12.294 9.967-22.261 22.261-22.261 7.258 0 13.704 3.473 17.768 8.848l0.041 0.056 153.155 151.819c3.857 3.997 6.233 9.446 6.233 15.449 0 0.047-0 0.094-0 0.141l0-0.007c-0.033 6.182-2.394 11.807-6.251 16.047l0.017-0.020-153.155 151.819c-4.073 3.813-9.547 6.173-15.571 6.233l-0.012 0z","M22.261 593.475c-12.294 0-22.261-9.967-22.261-22.261v0-174.525c-0-0.132-0-0.289-0-0.445 0-135.238 109.632-244.87 244.87-244.87 0 0 0 0 0 0l662.483-0c12.294 0 22.261 9.967 22.261 22.261v0c0 12.294-9.967 22.261-22.261 22.261v0h-662.483c-0-0-0-0-0-0-110.649 0-200.348 89.699-200.348 200.348 0 0.157 0 0.313 0.001 0.47l-0-0.025v174.525c0 12.294-9.967 22.261-22.261 22.261v0z","M268.466 1024c-0.076 0.001-0.165 0.002-0.255 0.002-6.047 0-11.496-2.565-15.316-6.667l-0.012-0.013-153.155-151.819c-3.857-3.997-6.233-9.446-6.233-15.449 0-0.047 0-0.094 0-0.141l-0 0.007c0.033-6.182 2.394-11.807 6.251-16.047l-0.017 0.020 153.155-151.819c3.963-4.042 9.48-6.548 15.583-6.548s11.62 2.506 15.579 6.544l0.003 0.004c4.157 3.908 6.746 9.443 6.746 15.583s-2.589 11.674-6.735 15.572l-0.011 0.010-136.682 136.682 136.682 136.237c4.157 3.908 6.746 9.443 6.746 15.583s-2.589 11.674-6.735 15.572l-0.011 0.010c-3.832 4.114-9.28 6.68-15.328 6.68-0.090 0-0.179-0.001-0.269-0.002l0.014 0z","M779.13 872.181h-663.374c-12.294 0-22.261-9.967-22.261-22.261v0c0-12.294 9.967-22.261 22.261-22.261v0h663.374c110.637-0.252 200.288-89.746 200.793-200.3l0-0.048v-174.525c0-12.294 9.967-22.261 22.261-22.261s22.261 9.967 22.261 22.261v0 174.525c-0.253 135.292-109.987 244.87-245.314 244.87-0 0-0-0-0-0l0 0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["repeat"],"grid":16},"attrs":[],"properties":{"order":68,"id":59,"name":"repeat","prevSize":32,"code":60135},"setIdx":0,"setId":6,"iconIdx":67},{"icon":{"paths":["M512 341.333c-94.293 0-170.667 76.373-170.667 170.667s76.373 170.667 170.667 170.667c94.293 0 170.667-76.373 170.667-170.667s-76.373-170.667-170.667-170.667zM213.333 640h-85.333v170.667c0 46.933 38.4 85.333 85.333 85.333h170.667v-85.333h-170.667v-170.667zM213.333 213.333h170.667v-85.333h-170.667c-46.933 0-85.333 38.4-85.333 85.333v170.667h85.333v-170.667zM810.667 128h-170.667v85.333h170.667v170.667h85.333v-170.667c0-46.933-38.4-85.333-85.333-85.333zM810.667 810.667h-170.667v85.333h170.667c46.933 0 85.333-38.4 85.333-85.333v-170.667h-85.333v170.667z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["salle"],"grid":16},"attrs":[],"properties":{"order":69,"id":60,"name":"salle","prevSize":32,"code":60136},"setIdx":0,"setId":6,"iconIdx":68},{"icon":{"paths":["M947.249 921.6h-870.477c-42.334 0-76.772-37.824-76.772-84.321v-650.557c0-46.498 34.459-84.322 76.772-84.322h870.477c42.335 0 76.751 37.825 76.751 84.322v650.557c0 46.497-34.417 84.321-76.751 84.321zM76.772 152.348c-17.26 0-31.296 15.416-31.296 34.374v650.557c0 18.957 14.036 34.396 31.296 34.396h870.477c17.239 0 31.296-15.439 31.296-34.396v-650.557c0-18.935-14.057-34.374-31.296-34.374h-870.477z","M179.197 257.92h-45.476v508.134h45.476v-508.134z","M276.867 257.92h-45.475v508.134h45.475v-508.134z","M372.925 257.92h-45.476v508.134h45.476v-508.134z","M442.401 257.92h-45.476v508.134h45.476v-508.134z","M546.284 257.92h-45.455v508.134h45.455v-508.134z","M626.537 257.92h-45.455v508.134h45.455v-508.134z","M716.229 257.92h-45.455v508.134h45.455v-508.134z","M822.354 257.92h-45.455v508.134h45.455v-508.134z","M905.142 257.92h-45.455v508.134h45.455v-508.134z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["scanner"],"grid":16},"attrs":[],"properties":{"order":70,"id":61,"name":"scanner","prevSize":32,"code":60140},"setIdx":0,"setId":6,"iconIdx":69},{"icon":{"paths":["M658.564 600.017h-30.835l-10.927-10.539c38.251-44.497 61.278-102.263 61.278-165.105 0-140.125-113.583-253.707-253.706-253.707-140.125 0-253.707 113.583-253.707 253.707 0 140.123 113.583 253.706 253.707 253.706 62.841 0 120.608-23.027 165.105-61.278l10.539 10.927v30.835l195.157 194.769 58.159-58.159-194.769-195.157zM424.374 600.021c-97.189 0-175.643-78.455-175.643-175.645s78.454-175.643 175.643-175.643c97.188 0 175.643 78.454 175.643 175.643s-78.455 175.645-175.643 175.645z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["search"],"grid":16},"attrs":[],"properties":{"order":71,"id":62,"name":"search","prevSize":32,"code":60141},"setIdx":0,"setId":6,"iconIdx":70},{"icon":{"paths":["M499.2 739.556l294.4-228.979-294.4-228.977-294.4 228.977 53.32 41.544 241.080 187.436z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["serie"],"grid":16},"attrs":[],"properties":{"order":72,"id":63,"name":"serie","prevSize":32,"code":60142},"setIdx":0,"setId":6,"iconIdx":71},{"icon":{"paths":["M786.168 546.944c1.382-11.2 2.304-22.848 2.304-34.944s-0.922-23.744-2.765-34.944l77.875-59.136c6.912-5.376 8.755-15.232 4.608-22.848l-73.728-124.096c-4.608-8.064-14.285-10.752-22.579-8.064l-91.699 35.84c-19.354-14.336-39.629-25.984-62.208-34.944l-13.824-94.976c-1.382-8.96-9.216-15.232-18.432-15.232h-147.456c-9.216 0-16.589 6.272-17.971 15.232l-13.824 94.976c-22.579 8.96-43.315 21.056-62.208 34.944l-91.7-35.84c-8.294-3.136-17.971 0-22.579 8.064l-73.728 124.096c-4.608 8.064-2.765 17.472 4.608 22.848l77.875 59.136c-1.843 11.2-3.226 23.296-3.226 34.944s0.922 23.744 2.765 34.944l-77.875 59.136c-6.912 5.376-8.755 15.232-4.608 22.848l73.728 124.096c4.608 8.064 14.285 10.752 22.579 8.064l91.7-35.84c19.354 14.336 39.629 25.984 62.208 34.944l13.824 94.976c1.843 8.96 9.216 15.232 18.432 15.232h147.456c9.216 0 17.050-6.272 17.971-15.232l13.824-94.976c22.579-8.96 43.315-21.056 62.208-34.944l91.699 35.84c8.294 3.136 17.971 0 22.579-8.064l73.728-124.096c4.608-8.064 2.765-17.472-4.608-22.848l-76.954-59.136zM511.992 646.4c-76.032 0-138.24-60.48-138.24-134.4s62.208-134.4 138.24-134.4c76.032 0 138.24 60.48 138.24 134.4s-62.208 134.4-138.24 134.4z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["settings"],"grid":16},"attrs":[],"properties":{"order":73,"id":64,"name":"settings","prevSize":32,"code":60146},"setIdx":0,"setId":6,"iconIdx":72},{"icon":{"paths":["M741.022 42.667c-85.175 0-154.982 70.465-154.982 156.442 0 16.64 2.607 33.046 7.454 48.136l-255.945 143.663c-26.684-21.859-60.446-35.35-97.235-35.35-85.173 0-154.98 70.465-154.98 156.443s69.807 156.442 154.98 156.442c36.789 0 70.552-13.116 97.235-34.974l256.312 143.663c-4.89 15.138-7.821 31.070-7.821 47.761 0 85.978 69.803 156.442 154.978 156.442s154.978-70.464 154.978-156.442c0-85.978-69.803-156.442-154.978-156.442-42.795 0-81.775 18.048-109.901 46.63l-249.233-139.895c8.522-19.319 13.412-40.802 13.412-63.177 0-22.519-4.797-43.767-13.412-63.181l248.862-139.895c28.173 28.815 67.29 46.632 110.276 46.632 85.171 0 154.978-70.465 154.978-156.442s-69.807-156.442-154.978-156.442v-0.013zM741.018 114.87c46.524 0 83.452 37.278 83.452 84.238s-36.928 84.238-83.452 84.238c-46.519 0-83.452-37.278-83.452-84.238s36.932-84.238 83.452-84.238zM240.315 427.755c46.522 0 83.451 37.278 83.451 84.241 0 46.959-36.929 84.237-83.451 84.237s-83.451-37.278-83.451-84.237c0-46.963 36.93-84.241 83.451-84.241zM741.018 740.642c46.524 0 83.452 37.278 83.452 84.237s-36.928 84.237-83.452 84.237c-46.519 0-83.452-37.278-83.452-84.237s36.932-84.237 83.452-84.237z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["share"],"grid":16},"attrs":[],"properties":{"order":74,"id":65,"name":"share","prevSize":32,"code":60147},"setIdx":0,"setId":6,"iconIdx":73},{"icon":{"paths":["M614.4 493.138v-226.358l-115.2-113.18-115.2 113.18v75.451h-230.4v528.169h691.2v-377.262h-230.4zM307.2 794.947h-76.8v-75.451h76.8v75.451zM307.2 644.042h-76.8v-75.453h76.8v75.453zM307.2 493.138h-76.8v-75.453h76.8v75.453zM537.6 794.947h-76.8v-75.451h76.8v75.451zM537.6 644.042h-76.8v-75.453h76.8v75.453zM537.6 493.138h-76.8v-75.453h76.8v75.453zM537.6 342.231h-76.8v-75.451h76.8v75.451zM768 794.947h-76.8v-75.451h76.8v75.451zM768 644.042h-76.8v-75.453h76.8v75.453z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["site"],"grid":16},"attrs":[],"properties":{"order":75,"id":66,"name":"site","prevSize":32,"code":60148},"setIdx":0,"setId":6,"iconIdx":74},{"icon":{"paths":["M619.081 542.719l-0.013 0.024c-4.385 7.899-12.968 13.234-22.874 13.234h-137.869c-3.949 0-7.587 2.139-9.507 5.588l-20.357 36.571c-1.875 3.37-1.828 7.48 0.127 10.806 1.955 3.324 5.523 5.366 9.38 5.366h211.192v14.812h-211.192c-19.956 0-32.297-21.004-22.874-38.147l0.015-0.029 24.948-44.554c1.731-3.091 1.848-6.831 0.316-10.024l-66.621-138.789c-1.811-3.772-5.624-6.172-9.809-6.172h-26.132v-14.811h42.762l14.444 30.364c1.802 3.791 5.627 6.207 9.824 6.207h273.889c5.976 0 9.247 6.216 6.638 10.815l-0.037 0.065-66.252 118.674zM422.423 427.977c-3.739 0-7.215 1.92-9.207 5.084s-2.22 7.13-0.602 10.501l43.859 91.429c1.81 3.773 5.624 6.173 9.809 6.173h129.912c3.942 0 7.576-2.132 9.499-5.573l51.077-91.429c1.882-3.369 1.838-7.484-0.115-10.812-1.953-3.329-5.524-5.373-9.384-5.373h-224.849zM412.022 694.857c0-14.054 11.547-25.692 25.947-25.692 14.47 0 26.132 11.709 26.132 25.692s-11.662 25.691-26.132 25.691c-14.4 0-25.947-11.638-25.947-25.691zM597.082 694.857c0-14.054 11.548-25.692 25.947-25.692 14.472 0 26.132 11.709 26.132 25.692s-11.661 25.691-26.132 25.691c-14.399 0-25.947-11.638-25.947-25.691z","M905.405 445.882l-0.012 0.022c-3.909 7.044-11.562 11.799-20.393 11.799h-122.551c-3.484 0-6.694 1.888-8.388 4.932l-18.095 32.508c-1.655 2.973-1.612 6.6 0.113 9.533s4.873 4.735 8.275 4.735h187.798v13.308h-187.798c-17.792 0-28.797-18.728-20.394-34.013l22.191-39.63c1.527-2.728 1.631-6.028 0.278-8.845l-59.219-123.367c-1.597-3.328-4.963-5.446-8.654-5.446h-23.3v-13.308h38.126l12.859 27.032c1.591 3.345 4.964 5.476 8.668 5.476h243.457c5.364 0 8.308 5.582 5.962 9.718l-0.033 0.058-58.89 105.488zM730.537 343.925c-3.299 0-6.367 1.694-8.124 4.486s-1.958 6.291-0.531 9.266l38.986 81.27c1.597 3.329 4.963 5.448 8.655 5.448h115.478c3.478 0 6.684-1.882 8.38-4.919l45.402-81.269c1.661-2.973 1.623-6.604-0.101-9.541-1.723-2.937-4.874-4.741-8.279-4.741h-199.866zM721.22 581.080c0-12.531 10.296-22.907 23.135-22.907 12.902 0 23.3 10.438 23.3 22.907 0 12.47-10.397 22.908-23.3 22.908-12.838 0-23.135-10.376-23.135-22.908zM885.718 581.080c0-12.531 10.296-22.907 23.135-22.907 12.902 0 23.3 10.438 23.3 22.907 0 12.47-10.397 22.908-23.3 22.908-12.838 0-23.135-10.376-23.135-22.908z","M276.2 445.882l-0.012 0.022c-3.91 7.044-11.562 11.799-20.393 11.799h-122.551c-3.484 0-6.694 1.888-8.389 4.932l-18.095 32.508c-1.655 2.973-1.612 6.6 0.112 9.533s4.873 4.735 8.276 4.735h187.798v13.308h-187.798c-17.793 0-28.798-18.728-20.394-34.013l22.191-39.63c1.527-2.728 1.631-6.028 0.278-8.845l-59.219-123.367c-1.598-3.328-4.963-5.446-8.654-5.446h-23.3v-13.308h38.126l12.858 27.032c1.591 3.345 4.965 5.476 8.669 5.476h243.457c5.364 0 8.308 5.582 5.961 9.718l-0.032 0.058-58.89 105.488zM101.331 343.925c-3.299 0-6.367 1.694-8.125 4.486s-1.958 6.291-0.531 9.266l38.985 81.27c1.597 3.329 4.964 5.448 8.657 5.448h115.478c3.478 0 6.684-1.882 8.38-4.919l45.402-81.269c1.661-2.973 1.622-6.604-0.101-9.541-1.724-2.937-4.874-4.741-8.28-4.741h-199.865zM92.014 581.080c0-12.531 10.296-22.907 23.135-22.907 12.901 0 23.3 10.438 23.3 22.907 0 12.47-10.399 22.908-23.3 22.908-12.839 0-23.135-10.376-23.135-22.908zM256.512 581.080c0-12.531 10.296-22.907 23.135-22.907 12.901 0 23.3 10.438 23.3 22.907 0 12.47-10.399 22.908-23.3 22.908-12.838 0-23.135-10.376-23.135-22.908z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["Sortie massive"],"grid":16},"attrs":[],"properties":{"order":76,"id":67,"name":"Sortie-massive","prevSize":32,"code":60149},"setIdx":0,"setId":6,"iconIdx":75},{"icon":{"paths":["M246.044 403.197h175.289c0 0 18.135 0 18.135-18.132 0-18.135-18.135-18.132-18.135-18.132h-199.465l-145.067 181.332-0 322.135c0 42.414 34.384 76.8 76.8 76.8h716.803c42.414 0 76.8-34.386 76.8-76.8v-322.135l-145.068-181.332h-199.468c0 0-18.135 0-18.135 18.132s18.135 18.132 18.135 18.132h175.288l132.979 145.068h-246.403c-14.136 0-25.6 11.461-25.6 25.6v93.868c0 14.139-11.461 25.6-25.6 25.6h-202.665c-14.139 0-25.6-11.461-25.6-25.6v-93.868c0-14.139-11.464-25.6-25.6-25.6h-246.402l132.978-145.068zM113.066 584.532h235.734v93.868c0 28.275 22.922 51.2 51.2 51.2h224c28.278 0 51.2-22.925 51.2-51.2v-93.868h235.735v275.2c0 28.278-22.925 51.2-51.2 51.2h-695.469c-28.277 0-51.2-22.922-51.2-51.2v-275.2z","M511.962 76.8c-4.575 0.176-9.874 2.093-13.199 5.244l-108.808 103.26c-6.226 7.008-8.801 20.42-1.6 28.235 7.099 7.714 20.877 7.462 28.001-0.202l76.408-72.605 0.044 429.782c0 10.688 8.561 18.286 19.162 18.286s17.108-7.598 17.108-18.286l2.089-429.782 76.408 72.605c6.577 6.605 20.828 7.84 28.004 0.202 7.176-7.614 4.874-21.529-1.6-28.235l-108.808-103.26c-3.727-3.529-8.108-5.244-13.21-5.244z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["telecharger"],"grid":16},"attrs":[],"properties":{"order":77,"id":68,"name":"telecharger","prevSize":32,"code":60153},"setIdx":0,"setId":6,"iconIdx":76},{"icon":{"paths":["M806.49 602.665c0 0-17.229 0-17.915 14.103-0.684 14.106 0 211.556 0 225.661 0 14.103 17.915 14.103 17.915 14.103s17.912 0 17.915-14.103c0-14.106 0.3-211.558 0-225.661-0.302-14.1-17.915-14.103-17.915-14.103z","M933.294 729.964c0 0 0.038-17.229-14.062-17.946-14.098-0.717-211.487-0.466-225.587-0.497-14.098-0.033-14.139 17.882-14.139 17.882s-0.038 17.915 14.060 17.946c14.1 0.031 211.489 0.768 225.59 0.497 14.098-0.269 14.139-17.882 14.139-17.882z","M806.4 947.2c-120.177 0-217.6-97.423-217.6-217.6s97.423-217.6 217.6-217.6c120.177 0 217.6 97.423 217.6 217.6s-97.423 217.6-217.6 217.6zM806.405 910.932c100.147 0 181.332-81.185 181.332-181.335 0-100.147-81.185-181.332-181.332-181.332-100.15 0-181.335 81.185-181.335 181.332 0 100.15 81.185 181.335 181.335 181.335z","M290.419 217.671c-59.842 0-107.44 47.795-107.44 107.953 0 60.124 47.57 107.95 107.44 107.95 59.84 0 107.441-47.795 107.441-107.95 0-9.257-6.149-15.434-15.36-15.434s-15.36 6.177-15.36 15.434c0 43.167-33.754 77.11-76.746 77.11-42.964 0-76.745-33.915-76.745-77.11 0-43.169 33.753-77.112 76.745-77.112 9.211 0 15.36-6.179 15.36-15.433 0.028-9.254-6.124-15.408-15.334-15.408z","M279.667 336.397c3.062 3.077 7.665 4.628 10.755 4.628 3.062 0 7.665-1.551 10.755-4.628l64.445-64.753c6.149-6.18 6.149-15.434 0-21.585-6.149-6.179-15.36-6.179-21.481 0l-64.448 64.754c-6.149 6.152-6.147 15.406-0.026 21.583z","M534.945 495.665v-0.62c0 18.291-14.090 33.8-32.379 33.8h-442.079c-18.29 0-32.381-15.483-32.381-33.8l0.025-23.956h53.504c8.45 0 14.091-5.642 14.091-14.093s-5.641-14.090-14.091-14.090h-53.504v-112.635h53.504c8.45 0 14.091-5.64 14.091-14.090s-5.641-14.093-14.091-14.093h-53.504v-112.632h53.504c8.45 0 14.091-5.642 14.091-14.092s-5.641-14.092-14.091-14.092h-53.504v-22.516c0-18.291 14.091-33.8 32.381-33.8h442.077c18.291 0 32.381 15.483 32.381 33.8 0 8.45 5.642 14.092 14.093 14.092 8.448 0 14.090-5.642 14.090-14.092 0-33.8-26.739-61.957-60.539-61.957h-442.077c-33.798 0-60.538 28.158-60.538 61.957v354.788c0 33.8 26.74 61.957 60.538 61.957h14.091v42.25c0 22.515 18.29 42.248 42.247 42.248h52.088c22.515 0 42.247-18.291 42.247-42.248v-42.25h140.78v42.25c0 22.515 18.291 42.248 42.248 42.248h52.088c22.515 0 42.245-18.291 42.245-42.248v-42.25h14.093c33.797 0 60.536-28.157 60.536-61.957v0.62c-0.102-6.981-5.716-12.598-14.167-12.598-8.445 0.008-14.088 5.647-14.088 14.098zM182.978 597.809c0 7.032-5.641 14.093-14.091 14.093h-52.088c-7.033 0-14.091-5.642-14.091-14.093v-42.248h80.247l0.023 42.248zM460.344 597.809c0 7.032-5.64 14.093-14.090 14.093h-52.088c-7.032 0-14.090-5.642-14.090-14.093v-42.248h80.246l0.023 42.248z","M534.815 136.794h28.344v359.956h-28.344v-359.956z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["tenant-add"],"grid":16},"attrs":[],"properties":{"order":78,"id":69,"name":"tenant-add","prevSize":32,"code":60155},"setIdx":0,"setId":6,"iconIdx":77},{"icon":{"paths":["M290.419 217.671c-59.842 0-107.44 47.795-107.44 107.953 0 60.124 47.57 107.95 107.44 107.95 59.84 0 107.441-47.795 107.441-107.95 0-9.257-6.149-15.434-15.36-15.434s-15.36 6.177-15.36 15.434c0 43.167-33.754 77.11-76.746 77.11-42.964 0-76.745-33.915-76.745-77.11 0-43.169 33.753-77.112 76.745-77.112 9.211 0 15.36-6.179 15.36-15.433 0.028-9.254-6.124-15.408-15.334-15.408z","M279.667 336.397c3.062 3.077 7.665 4.628 10.755 4.628 3.062 0 7.665-1.551 10.755-4.628l64.445-64.753c6.149-6.18 6.149-15.434 0-21.585-6.149-6.179-15.36-6.179-21.481 0l-64.448 64.754c-6.149 6.152-6.147 15.406-0.026 21.583z","M534.945 495.665v-0.62c0 18.291-14.090 33.8-32.379 33.8h-442.079c-18.29 0-32.381-15.483-32.381-33.8l0.025-23.956h53.504c8.45 0 14.091-5.642 14.091-14.093s-5.641-14.090-14.091-14.090h-53.504v-112.635h53.504c8.45 0 14.091-5.64 14.091-14.090s-5.641-14.093-14.091-14.093h-53.504v-112.632h53.504c8.45 0 14.091-5.642 14.091-14.092s-5.641-14.092-14.091-14.092h-53.504v-22.516c0-18.291 14.091-33.8 32.381-33.8h442.077c18.291 0 32.381 15.483 32.381 33.8 0 8.45 5.642 14.092 14.093 14.092 8.448 0 14.090-5.642 14.090-14.092 0-33.8-26.739-61.957-60.539-61.957h-442.077c-33.798 0-60.538 28.158-60.538 61.957v354.788c0 33.8 26.74 61.957 60.538 61.957h14.091v42.25c0 22.515 18.29 42.248 42.247 42.248h52.088c22.515 0 42.247-18.291 42.247-42.248v-42.25h140.78v42.25c0 22.515 18.291 42.248 42.248 42.248h52.088c22.515 0 42.245-18.291 42.245-42.248v-42.25h14.093c33.797 0 60.536-28.157 60.536-61.957v0.62c-0.102-6.981-5.716-12.598-14.167-12.598-8.445 0.008-14.088 5.647-14.088 14.098zM182.978 597.809c0 7.032-5.641 14.093-14.091 14.093h-52.088c-7.033 0-14.091-5.642-14.091-14.093v-42.248h80.247l0.023 42.248zM460.344 597.809c0 7.032-5.64 14.093-14.090 14.093h-52.088c-7.032 0-14.090-5.642-14.090-14.093v-42.248h80.246l0.023 42.248z","M534.815 136.794h28.344v359.956h-28.344v-359.956z","M711.393 565.292c-24.829 25.26-32.061 61.161-22.915 93.261l-117.448 119.483c-1.298 1.318-2.12 3.059-2.324 4.91l-5.46 52.723c-0.269 2.575 0.648 5.117 2.501 6.889 1.851 1.772 4.398 2.56 6.899 2.125l68.485-11.93c3.625-0.609 6.377-3.653 6.71-7.373l2.232-25.226 24.796-2.268c3.909-0.356 6.994-3.51 7.342-7.47l2.232-25.226 24.812-2.271c1.884-0.177 3.656-1.014 5-2.368l37.235-37.878c31.524 9.257 66.86 1.93 91.671-23.311 36.319-36.946 36.319-97.103 0-134.052-36.316-36.946-95.45-36.946-131.768 0v-0.018zM722.849 576.947c30.131-30.651 78.728-30.651 108.856 0 30.126 30.651 30.129 80.092 0 110.743-21.742 22.118-53.089 28.012-80.215 18.207h0.015c-2.959-1.029-6.234-0.259-8.417 2.012l-38.139 38.797-28.736 2.642c-3.894 0.353-6.979 3.492-7.342 7.47l-2.232 25.226-24.796 2.268c-3.894 0.356-6.994 3.494-7.342 7.47l-2.232 25.774-51.825 9.016 3.94-38.799 118.602-120.655c2.217-2.271 2.959-5.652 1.869-8.663-9.623-27.592-3.75-59.387 17.992-81.505l0.003-0.003zM774.408 588.603c-12.598 12.815-12.598 33.823 0 46.62 12.595 12.813 33.247 12.813 45.824 0 12.598-12.815 12.598-33.825 0-46.62-12.595-12.815-33.247-12.815-45.824 0zM785.864 600.259c6.392-6.505 16.522-6.505 22.915 0 6.392 6.502 6.392 16.806 0 23.309-6.392 6.505-16.522 6.505-22.915 0-6.392-6.502-6.392-16.806 0-23.309z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["tenant-proprietaire"],"grid":16},"attrs":[],"properties":{"order":79,"id":70,"name":"tenant-proprietaire","prevSize":32,"code":60162},"setIdx":0,"setId":6,"iconIdx":78},{"icon":{"paths":["M819.2 358.397c0-10.312-8.179-18.657-18.286-18.657h-559.001l101.961-103.018c7.178-7.252 7.214-19.059 0.108-26.383-7.073-7.325-18.644-7.398-25.823-0.146l-133.673 135.087c-0.178 0.184-0.322 0.438-0.5 0.62-0.607 0.658-1.179 1.385-1.679 2.115l-0.071 0.11c-0.286 0.474-0.5 0.983-0.75 1.457l-0.036 0.036c-0.322 0.512-0.607 1.057-0.857 1.641l-0.071 0.146v-0.036l-0.536 1.859c-0.143 0.509-0.321 0.983-0.429 1.492l-0.036 0.11c-0.429 2.368-0.429 4.774 0 7.142l0.036 0.11c0.107 0.509 0.286 0.983 0.429 1.492 0.143 0.62 0.357 1.239 0.536 1.859l0.071 0.146v-0.036c0.25 0.584 0.536 1.129 0.857 1.641 0.25 0.509 0.464 1.019 0.786 1.492l0.071 0.11c0.5 0.73 1.072 1.457 1.679 2.112 0.178 0.22 0.322 0.438 0.5 0.62l0.143 0.146 133.53 134.943c3.43 3.461 8.108 5.43 12.931 5.394 4.856 0 9.5-2.004 12.928-5.54 3.392-3.497 5.322-8.271 5.286-13.192-0.036-4.956-1.966-9.695-5.43-13.192l-101.96-103.020h559c10.109 0 18.286-8.346 18.286-18.66z","M230.401 665.603c0 10.312 8.179 18.657 18.286 18.657h559.001l-101.96 103.017c-7.181 7.252-7.217 19.059-0.108 26.383 7.071 7.324 18.642 7.398 25.82 0.146l133.673-135.086c0.179-0.184 0.323-0.438 0.502-0.62 0.607-0.658 1.178-1.385 1.677-2.115l0.072-0.11c0.287-0.474 0.502-0.983 0.75-1.457l0.036-0.036c0.323-0.512 0.607-1.057 0.858-1.641l0.072-0.146v0.036l0.535-1.859c0.143-0.509 0.323-0.983 0.43-1.492l0.033-0.11c0.43-2.368 0.43-4.774 0-7.142l-0.033-0.11c-0.108-0.509-0.287-0.983-0.43-1.492-0.143-0.62-0.356-1.239-0.535-1.859l-0.072-0.146v0.036c-0.251-0.584-0.535-1.129-0.858-1.641-0.251-0.509-0.463-1.019-0.786-1.492l-0.072-0.11c-0.499-0.73-1.070-1.457-1.677-2.112-0.179-0.22-0.323-0.438-0.502-0.62l-0.141-0.146-133.532-134.943c-3.428-3.461-8.108-5.43-12.928-5.394-4.859 0-9.5 2.004-12.931 5.54-3.392 3.497-5.32 8.271-5.284 13.192 0.036 4.956 1.964 9.695 5.427 13.192l101.962 103.020h-559.002c-10.107 0-18.285 8.346-18.285 18.66z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["transfert"],"grid":16},"attrs":[],"properties":{"order":80,"id":71,"name":"transfert","prevSize":32,"code":60163},"setIdx":0,"setId":6,"iconIdx":79},{"icon":{"paths":["M787.2 363.2c2.651 0 4.8-2.149 4.8-4.8s-2.149-4.8-4.8-4.8v9.6zM230.4 353.6c-2.651 0-4.8 2.149-4.8 4.8s2.149 4.8 4.8 4.8v-9.6zM280 358.4c0-2.651-2.149-4.8-4.8-4.8s-4.8 2.149-4.8 4.8h9.6zM270.4 652.8c0 2.651 2.149 4.8 4.8 4.8s4.8-2.149 4.8-4.8h-9.6zM740.8 358.4c0-2.651-2.149-4.8-4.8-4.8s-4.8 2.149-4.8 4.8h9.6zM731.2 652.8c0 2.651 2.149 4.8 4.8 4.8s4.8-2.149 4.8-4.8h-9.6zM652.8 411.2c-2.651 0-4.8 2.149-4.8 4.8s2.149 4.8 4.8 4.8v-9.6zM691.2 420.8c2.651 0 4.8-2.149 4.8-4.8s-2.149-4.8-4.8-4.8v9.6zM665.6 436.8c-2.651 0-4.8 2.149-4.8 4.8s2.149 4.8 4.8 4.8v-9.6zM678.4 446.4c2.651 0 4.8-2.149 4.8-4.8s-2.149-4.8-4.8-4.8v9.6zM313.6 411.2c-2.651 0-4.8 2.149-4.8 4.8s2.149 4.8 4.8 4.8v-9.6zM352 420.8c2.651 0 4.8-2.149 4.8-4.8s-2.149-4.8-4.8-4.8v9.6zM326.4 436.8c-2.651 0-4.8 2.149-4.8 4.8s2.149 4.8 4.8 4.8v-9.6zM339.2 446.4c2.651 0 4.8-2.149 4.8-4.8s-2.149-4.8-4.8-4.8v9.6zM230.4 648c-2.651 0-4.8 2.149-4.8 4.8s2.149 4.8 4.8 4.8v-9.6zM787.2 657.6c2.651 0 4.8-2.149 4.8-4.8s-2.149-4.8-4.8-4.8v9.6zM787.2 353.6h-153.6v9.6h153.6v-9.6zM616 371.2v268.8h9.6v-268.8h-9.6zM388.8 640v-268.8h-9.6v268.8h9.6zM371.2 353.6h-140.8v9.6h140.8v-9.6zM270.4 358.4v294.4h9.6v-294.4h-9.6zM731.2 358.4v294.4h9.6v-294.4h-9.6zM652.8 420.8h38.4v-9.6h-38.4v9.6zM665.6 446.4h12.8v-9.6h-12.8v9.6zM313.6 420.8h38.4v-9.6h-38.4v9.6zM326.4 446.4h12.8v-9.6h-12.8v9.6zM230.4 657.6h140.8v-9.6h-140.8v9.6zM633.6 657.6h153.6v-9.6h-153.6v9.6zM388.8 371.2c0-9.72-7.88-17.6-17.6-17.6v9.6c4.419 0 8 3.582 8 8h9.6zM379.2 640c0 4.419-3.581 8-8 8v9.6c9.72 0 17.6-7.88 17.6-17.6h-9.6zM616 640c0 9.72 7.88 17.6 17.6 17.6v-9.6c-4.419 0-8-3.581-8-8h-9.6zM633.6 353.6c-9.72 0-17.6 7.88-17.6 17.6h9.6c0-4.418 3.581-8 8-8v-9.6z","M559.169 467.2c0-2.149-1.667-3.887-3.725-3.887h-113.871l20.771-21.462c1.462-1.512 1.469-3.971 0.022-5.496-1.441-1.527-3.798-1.541-5.261-0.031l-27.229 28.143c-0.036 0.037-0.065 0.091-0.102 0.129-0.123 0.136-0.239 0.288-0.342 0.44l-0.014 0.022c-0.059 0.1-0.102 0.206-0.152 0.305l-0.008 0.008c-0.065 0.106-0.124 0.22-0.174 0.34l-0.015 0.031v-0.008l-0.109 0.388c-0.029 0.106-0.065 0.205-0.087 0.311l-0.008 0.023c-0.087 0.493-0.087 0.995 0 1.487l0.008 0.023c0.022 0.106 0.058 0.205 0.087 0.311 0.029 0.129 0.073 0.259 0.109 0.388l0.015 0.029v-0.008c0.050 0.122 0.109 0.236 0.174 0.342 0.051 0.106 0.095 0.212 0.16 0.312l0.014 0.022c0.102 0.152 0.219 0.305 0.342 0.44 0.037 0.046 0.067 0.092 0.102 0.129l0.029 0.031 27.2 28.113c0.699 0.722 1.652 1.132 2.634 1.124 0.989 0 1.935-0.417 2.633-1.155 0.691-0.728 1.084-1.723 1.078-2.748-0.008-1.032-0.401-2.019-1.106-2.748l-20.771-21.462h113.871c2.058 0 3.725-1.74 3.725-3.887z","M439.232 531.2c0 2.149 1.665 3.887 3.725 3.887h113.87l-20.769 21.462c-1.463 1.512-1.471 3.971-0.022 5.496 1.44 1.527 3.796 1.541 5.26 0.031l27.229-28.143c0.037-0.037 0.065-0.091 0.102-0.129 0.123-0.136 0.239-0.288 0.342-0.44l0.014-0.022c0.059-0.1 0.102-0.206 0.154-0.305l0.006-0.008c0.065-0.106 0.124-0.22 0.175-0.34l0.014-0.031v0.008l0.109-0.388c0.029-0.106 0.065-0.205 0.087-0.311l0.008-0.023c0.087-0.493 0.087-0.995 0-1.487l-0.008-0.023c-0.022-0.106-0.058-0.205-0.087-0.311-0.028-0.129-0.073-0.259-0.109-0.388l-0.014-0.029v0.008c-0.051-0.122-0.11-0.236-0.175-0.342-0.051-0.106-0.095-0.212-0.16-0.312l-0.014-0.022c-0.102-0.152-0.219-0.305-0.342-0.44-0.037-0.046-0.065-0.092-0.102-0.129l-0.029-0.031-27.2-28.113c-0.699-0.722-1.651-1.132-2.634-1.124-0.989 0-1.935 0.417-2.633 1.155-0.691 0.728-1.084 1.723-1.076 2.748 0.006 1.032 0.399 2.019 1.105 2.748l20.771 21.462h-113.871c-2.058 0-3.724 1.74-3.724 3.887z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["Transfert intersite"],"grid":16},"attrs":[],"properties":{"order":81,"id":72,"name":"Transfert-intersite","prevSize":32,"code":60164},"setIdx":0,"setId":6,"iconIdx":80},{"icon":{"paths":["M179.2 665.6h384v38.4h-384v-38.4z","M128 115.2h486.4c7.068 0 12.8 5.731 12.8 12.8v51.2h38.4v-51.2c0-28.277-22.922-51.2-51.2-51.2h-486.4c-28.277 0-51.2 22.923-51.2 51.2v742.4c0 28.278 22.923 51.2 51.2 51.2h486.4c28.278 0 51.2-22.922 51.2-51.2v-204.8h-38.4v204.8c0 7.068-5.732 12.8-12.8 12.8h-486.4c-7.069 0-12.8-5.732-12.8-12.8v-742.4c0-7.069 5.731-12.8 12.8-12.8z","M486.4 409.6h-307.2v38.4h307.2v-38.4z","M179.2 537.6h332.8v38.4h-332.8v-38.4z","M735.273 531.241c-56.878 0-103.14-46.259-103.14-103.14 0-56.878 46.305-103.14 103.14-103.14 56.881 0 103.14 46.262 103.14 103.14 0.046 56.881-46.259 103.14-103.14 103.14zM735.273 359.524c-37.798 0-68.58 30.781-68.58 68.58 0 37.847 30.781 68.58 68.58 68.58 37.801 0 68.58-30.779 68.58-68.58 0.046-37.844-30.735-68.58-68.58-68.58z","M735.503 651.443c-9.81 0-19.753-0.676-29.563-1.981-6.615-0.899-12.152-5.535-14.177-11.878-4.723-14.851-15.66-26.775-29.97-32.76-14.221-5.942-30.646-5.22-44.37 1.8-5.939 3.059-13.14 2.383-18.45-1.667-15.57-11.971-29.43-25.874-41.175-41.308-4.050-5.309-4.68-12.465-1.62-18.406 7.201-13.949 7.964-30.060 2.161-44.188-5.806-14.131-17.731-24.975-32.671-29.791-6.344-2.068-10.934-7.56-11.789-14.175-2.519-19.261-2.519-38.881 0.090-58.319 0.901-6.615 5.535-12.152 11.878-14.177 14.851-4.723 26.775-15.66 32.763-30.013 5.983-14.31 5.309-30.51-1.802-44.372-3.059-5.939-2.383-13.138 1.71-18.45 11.971-15.57 25.876-29.384 41.311-41.174 5.309-4.050 12.465-4.68 18.406-1.62 13.814 7.154 30.060 8.009 44.188 2.16 14.131-5.805 24.975-17.731 29.834-32.67 2.071-6.345 7.56-10.935 14.177-11.79 19.169-2.52 38.925-2.475 58.319 0.090 6.615 0.9 12.15 5.535 14.175 11.879 4.726 14.85 15.66 26.775 29.97 32.761 14.267 5.939 30.692 5.22 44.37-1.8 5.942-3.060 13.14-2.385 18.452 1.665 15.57 11.97 29.43 25.876 41.175 41.31 4.050 5.309 4.68 12.465 1.618 18.406-7.199 13.949-7.964 30.060-2.158 44.188 5.804 14.131 17.731 24.975 32.668 29.791 6.346 2.068 10.936 7.56 11.789 14.175 2.522 19.259 2.522 38.879-0.090 58.319-0.899 6.615-5.535 12.15-11.878 14.175-14.851 4.726-26.775 15.662-32.76 30.016-5.985 14.31-5.309 30.51 1.8 44.37 3.059 5.942 2.386 13.14-1.71 18.452-11.971 15.57-25.876 29.384-41.311 41.172-5.309 4.050-12.465 4.682-18.404 1.62-13.816-7.109-30.062-7.964-44.191-2.161-14.085 5.806-24.975 17.731-29.834 32.671-2.071 6.346-7.56 10.936-14.175 11.789-9.495 1.216-19.172 1.892-28.756 1.892v0zM720.43 616.251c9.81 0.765 19.62 0.812 29.43 0.046 9.27-19.53 25.29-34.964 45.225-43.2 19.845-8.189 42.209-8.55 62.551-1.216 7.424-6.344 14.4-13.274 20.833-20.79-7.245-20.293-6.748-42.614 1.667-62.73 8.369-20.114 23.849-36.224 43.379-45.404 0.765-9.81 0.809-19.663 0.044-29.43-19.528-9.27-34.964-25.29-43.2-45.271-8.233-19.935-8.548-42.209-1.213-62.548-6.346-7.427-13.274-14.4-20.79-20.836-20.25 7.201-42.796 6.661-62.73-1.664-20.116-8.371-36.224-23.852-45.404-43.336-9.81-0.81-19.62-0.81-29.432-0.045-9.27 19.529-25.288 34.966-45.225 43.199-19.845 8.192-42.209 8.55-62.548 1.216-7.427 6.346-14.4 13.274-20.836 20.79 7.245 20.296 6.751 42.616-1.664 62.73-8.371 20.114-23.852 36.224-43.382 45.404-0.763 9.81-0.809 19.666-0.044 29.43 19.53 9.272 34.964 25.29 43.2 45.271 8.236 19.935 8.55 42.212 1.213 62.551 6.346 7.424 13.276 14.4 20.792 20.833 20.293-7.199 42.793-6.615 62.728 1.667 20.16 8.369 36.18 23.849 45.407 43.333z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["type-archives"],"grid":16},"attrs":[],"properties":{"order":82,"id":73,"name":"type-archives","prevSize":32,"code":60169,"codes":[60169,60170,60171,60172,60173,60174,60175]},"setIdx":0,"setId":6,"iconIdx":81},{"icon":{"paths":["M637.547 407.792l-146.88-146.56-146.88 146.56-45.12-45.12 192-192 192 192-45.12 45.12z","M343.787 597.333l146.88 146.56 146.88-146.56 45.12 45.12-192 192-192-192 45.12-45.12z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["unfold-more"],"grid":16},"attrs":[],"properties":{"order":83,"id":74,"name":"unfold-more","prevSize":32,"code":60185},"setIdx":0,"setId":6,"iconIdx":82},{"icon":{"paths":["M307.2 409.6c42.24 0 76.8-34.56 76.8-76.8s-34.56-76.8-76.8-76.8c-42.24 0-76.8 34.56-76.8 76.8s34.56 76.8 76.8 76.8z","M307.2 435.2c-47.52 0-140.8 27.734-140.8 85.334v42.666h281.6v-42.666c0-57.6-93.28-85.334-140.8-85.334z","M670.607 588.799c-4.39-0.351-8.78-0.774-13.185-1.021-26.234-1.46-52.349-3.913-77.935-9.897-10.674-2.496-21.047-6.145-31.57-9.225-2.947-0.861-4.511-2.584-5.202-5.591-5.548-23.355-6.766-46.826-2.752-70.502 2.166-12.728 6.254-24.814 13.381-35.762l0.014-0.015c7.863-12.348 19.905-21.661 34.067-26.362 18.371-6.277 36.292-13.487 52.468-24.246 3.217-2.131 6.284-4.495 9.818-7.021 28.563 27.238 57.595 27.325 86.324-0.132 9.637 7.868 20.371 14.408 31.871 19.4 9.352 4.116 18.853 8.028 28.564 11.297 21.468 7.299 35.601 21.574 43.447 42.010 9.021 23.442 9.652 47.644 6.495 72.109-0.812 6.218-2.374 12.349-3.337 18.568-0.571 3.649-2.737 5.327-6.134 6.569l0.014 0.014c-16.070 5.94-32.758 10.159-49.763 12.568-15.56 2.218-31.24 3.766-46.876 5.371-7.351 0.731-14.793 0.906-22.175 1.358-1.023 0.116-2.030 0.278-3.007 0.511h-44.529z","M698.085 192c5.367 0.686 10.647 1.911 15.767 3.647 11.857 4.142 22.636 10.894 31.517 19.776 4.637 4.637 8.284 8.371 10.996 14.657 3.282 7.628 3.209 14.541 3.136 18.289-0.116 6.461-2.188 23.831-2.655 28.585-0.219 2.057-0.189 3.647 1.692 4.931 3.369 2.304 3.558 5.892 3.223 9.421h-0.029c-0.7 8.576-3.208 16.888-7.336 24.429-2.363 4.259-3.063 9.422-4.696 14.118-4.929 14.030-13.184 36.212-33.064 46.423-7.263 3.588-15.241 5.469-23.336 5.499-4.492 0-13.476 0-22.868-5.178-4.376-2.392-6.972-4.959-10.588-8.357h-0.015c-8.488-8.050-15.226-17.748-19.805-28.498-2.874-6.563-4.668-13.535-7.132-20.273-0.876-2.42-2.276-4.637-3.414-6.957l0.015 0.015c-3.763-7.424-5.688-15.62-5.629-23.933 0.028-2.625 0.728-4.929 2.975-6.563 1.955-1.4 2.144-3.165 1.75-5.455h-0.014c-1.984-10.909-2.757-21.993-2.333-33.048 0.584-12.965 8.022-22.606 12.178-27.944 6.359-7.846 14.497-14.060 23.759-18.099v0.014c5.367-2.363 11.040-3.967 16.859-4.769l19.048-0.73z","M703.708 701.281c-1.501-6.908-8.32-11.291-15.227-9.789l-112.571 24.472c-6.908 1.501-11.291 8.319-9.789 15.227 1.503 6.908 8.32 11.291 15.227 9.788l100.064-21.752 21.752 100.063c1.501 6.908 8.319 11.291 15.227 9.789 6.908-1.503 11.291-8.32 9.788-15.227l-24.471-112.571zM297.135 711.908c36.131 45.985 99.88 102.24 173.824 118.822 37.341 8.374 77.336 6.616 117.188-11.79 39.729-18.349 78.305-52.774 113.82-108.018l-21.535-13.844c-33.605 52.276-68.788 82.811-103.020 98.621-34.109 15.754-68.274 17.357-100.852 10.051-65.896-14.778-125.027-66.043-159.296-109.658l-20.129 15.816z"],"attrs":[{},{},{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8},{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["Utilisateur attribuer"],"grid":16},"attrs":[{},{},{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8},{"fill":"none","strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":12.8},{}],"properties":{"order":84,"id":75,"name":"Utilisateur-attribuer","prevSize":32,"code":60186,"codes":[60186,60187,60188,60189,60190]},"setIdx":0,"setId":6,"iconIdx":83},{"icon":{"paths":["M847.905 477.437c2.268 0 4.219-1.93 4.219-4.173 0-2.244-1.951-3.848-4.219-3.848s-4.22 1.93-4.22 4.173c0 1.917 1.952 3.848 4.22 3.848zM844.008 455.945c0-2.243 1.951-4.173 4.219-4.173 2.281 0 3.903 1.604 4.219 3.848v4.173c0 2.243-1.951 4.173-4.219 4.173s-4.219-1.93-4.219-4.173v-3.848zM844.008 434.45c0-2.244 1.951-4.173 4.219-4.173 2.281 0 3.903 1.604 4.219 4.173v7.38c0 2.243-1.951 4.173-4.219 4.173s-4.219-1.93-4.219-4.173v-7.38zM915.377 373.715v-2.782l-0.001 0.001c0-0.652 0-0.965-0.316-1.266v-0.326c0-0.155-0.081-0.233-0.163-0.313-0.083-0.081-0.168-0.162-0.168-0.327l-0.329-0.326c0-0.313 0-0.639-0.329-0.639l-0.33-0.326c-0.179-0.186-0.257-0.265-0.352-0.3-0.070-0.026-0.152-0.026-0.293-0.026h-0.33l-121.302-46.842c-0.963-0.326-1.938-0.326-2.913 0l-121.608 46.816h-0.329c-0.156 0-0.236 0.080-0.316 0.161-0.082 0.082-0.164 0.165-0.33 0.165l-0.329 0.326c0 0.155-0.081 0.233-0.163 0.313-0.083 0.081-0.166 0.162-0.166 0.327-0.33 0-0.33 0.326-0.33 0.326 0 0.155-0.081 0.233-0.163 0.313-0.083 0.081-0.166 0.162-0.166 0.327v185.092c0 1.604 0.975 2.895 2.597 3.534l121.302 51.977h0.329c0.317 0.326 0.964 0.326 1.293 0.326 0.316 0 0.963 0 1.293-0.326h0.329l120.987-51.964c1.622-0.652 2.597-1.93 2.597-3.534v-6.588l-8.426 3.654v0.044l-113.193 48.756v-174.502l49.943-21.491v16.353c0 2.243 1.952 4.173 4.22 4.173s4.219-1.93 4.219-4.173v-19.886l37.17-15.999-0.005-0.091 9.084-3.817 8.562-3.685v0.087l8.426-3.541zM906.95 377.169l0.329-0.142-0.329 0v0.142zM847.574 392.114l-105.084-45.238 47.674-18.606 110.597 42.992-51.565 22.129c-0.321-0.623-0.943-0.936-1.573-1.253l-0.049-0.024zM673.061 377.027l113.206 48.445-0.013 174.815-113.193-48.756v-174.503zM839.818 397.235l-2.915 1.279-46.703 20.214-47.031-20.212-63.894-27.593 52.541-20.212c0.157 0 0.236 0.080 0.316 0.161 0.082 0.082 0.164 0.165 0.33 0.165l107.355 46.2z","M579.48 547.109c2.679 0 4.984-2.28 4.984-4.929s-2.305-4.544-4.984-4.544c-2.679 0-4.984 2.278-4.984 4.929 0 2.264 2.305 4.544 4.984 4.544zM574.925 521.719c0-2.65 2.305-4.929 4.984-4.929 2.694 0 4.609 1.894 4.984 4.544v4.929c0 2.65-2.305 4.929-4.984 4.929s-4.984-2.28-4.984-4.929v-4.544zM574.925 496.333c0-2.65 2.305-4.929 4.984-4.929 2.694 0 4.609 1.894 4.984 4.929v8.718c0 2.65-2.305 4.929-4.984 4.929s-4.984-2.28-4.984-4.929v-8.718zM659.226 424.557v-3.255l-0.001 0.001c0-0.769 0-1.139-0.374-1.495v-0.385c0-0.183-0.096-0.275-0.192-0.369-0.099-0.096-0.197-0.192-0.197-0.385l-0.389-0.385c0-0.37 0-0.755-0.389-0.755l-0.389-0.385c-0.214-0.219-0.305-0.314-0.416-0.353-0.084-0.031-0.18-0.031-0.348-0.031h-0.389l-143.29-55.333c-1.137-0.385-2.29-0.385-3.442 0l-143.651 55.302h-0.389c-0.186 0-0.279 0.095-0.372 0.189-0.097 0.097-0.195 0.196-0.39 0.196l-0.389 0.384c0 0.184-0.096 0.276-0.192 0.37-0.099 0.095-0.197 0.191-0.197 0.385-0.389 0-0.389 0.385-0.389 0.385 0 0.183-0.096 0.275-0.192 0.369-0.099 0.096-0.197 0.192-0.197 0.387v218.643c0 1.894 1.152 3.419 3.068 4.174l143.29 61.399h0.389c0.374 0.385 1.138 0.385 1.527 0.385 0.374 0 1.137 0 1.526-0.385h0.389l142.918-61.384c1.916-0.771 3.068-2.28 3.068-4.175v-7.816l-9.947 4.314v0.083l-133.711 57.595v-206.135l58.998-25.385v19.316c0 2.65 2.305 4.929 4.984 4.929s4.983-2.28 4.983-4.929v-23.491l43.823-18.862-0.009-0.138 13.864-5.825 7.068-3.043v0.072l9.947-4.179zM649.279 428.664l0.389-0.168h-0.389v0.168zM579.164 446.323l-124.132-53.437 56.315-21.978 130.646 50.786-60.913 26.14c-0.379-0.736-1.114-1.106-1.859-1.481l-0.058-0.029zM373.014 428.497l133.727 57.228-0.015 206.502-133.711-57.595v-206.135zM569.944 452.371l-3.442 1.51-55.169 23.877-55.557-23.876-75.476-32.595 62.067-23.876c0.184 0 0.278 0.095 0.372 0.189 0.096 0.097 0.193 0.196 0.39 0.196l126.815 54.574z","M285.655 477.437c2.268 0 4.219-1.93 4.219-4.173 0-2.244-1.951-3.848-4.219-3.848s-4.219 1.93-4.219 4.173c0 1.917 1.951 3.848 4.219 3.848zM281.757 455.945c0-2.243 1.951-4.173 4.219-4.173 2.281 0 3.903 1.604 4.219 3.848v4.173c0 2.243-1.951 4.173-4.219 4.173s-4.219-1.93-4.219-4.173v-3.848zM281.757 434.45c0-2.244 1.951-4.173 4.219-4.173 2.281 0 3.903 1.604 4.219 4.173v7.38c0 2.243-1.951 4.173-4.219 4.173s-4.219-1.93-4.219-4.173v-7.38zM353.128 373.703v-2.77l-0.003 0.001c0-0.652 0-0.965-0.316-1.266v-0.326c0-0.155-0.081-0.233-0.163-0.313-0.083-0.081-0.166-0.162-0.166-0.327l-0.33-0.326c0-0.313 0-0.639-0.329-0.639l-0.329-0.326c-0.18-0.186-0.259-0.265-0.353-0.3-0.070-0.026-0.151-0.026-0.293-0.026h-0.33l-121.302-46.842c-0.963-0.326-1.938-0.326-2.913 0l-121.607 46.816h-0.329c-0.157 0-0.236 0.080-0.316 0.161-0.082 0.082-0.164 0.165-0.33 0.165l-0.329 0.326c0 0.155-0.081 0.233-0.162 0.313-0.083 0.081-0.167 0.162-0.167 0.327-0.329 0-0.329 0.326-0.329 0.326 0 0.155-0.081 0.233-0.162 0.313-0.083 0.081-0.167 0.162-0.167 0.327v185.092c0 1.604 0.976 2.895 2.597 3.534l121.302 51.977h0.33c0.316 0.326 0.963 0.326 1.292 0.326 0.317 0 0.963 0 1.293-0.326h0.329l120.987-51.964c1.622-0.652 2.598-1.93 2.598-3.534v-6.601l-8.428 3.654v0.056l-113.193 48.756v-174.502l49.944-21.491v16.353c0 2.243 1.951 4.173 4.219 4.173s4.219-1.93 4.219-4.173v-19.886l37.142-15.987-0.006-0.102 10.296-4.326 7.379-3.176v0.075l8.428-3.541zM344.7 377.169l0.329-0.142-0.329 0v0.142zM285.324 392.114l-105.084-45.238 47.674-18.606 110.598 42.992-51.566 22.129c-0.321-0.623-0.943-0.936-1.573-1.253l-0.049-0.024zM110.811 377.027l113.206 48.445-0.013 174.815-113.193-48.756v-174.503zM277.568 397.235l-2.915 1.279-46.703 20.214-47.031-20.212-63.894-27.593 52.542-20.212c0.157 0 0.237 0.080 0.316 0.161 0.082 0.082 0.164 0.165 0.33 0.165l107.355 46.2z","M582.4 611.119l18.093-23.638 48.337 40.55 79.436-88.6 21.998 20.056-98.349 110.504-69.514-58.872z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["Vérification de contenu"],"grid":16},"attrs":[],"properties":{"order":85,"id":76,"name":"Vrification-de-contenu","prevSize":32,"code":60191},"setIdx":0,"setId":6,"iconIdx":84},{"icon":{"paths":["M930.399 902.362h-129.402c-11.911 0-21.567-9.656-21.567-21.567s9.656-21.567 21.567-21.567v0h129.402c9.71-0.654 17.338-8.69 17.338-18.508 0-0.621-0.031-1.236-0.090-1.842l0.006 0.077v-683.242c-0.694-8.956-8.131-15.96-17.205-15.96-0.017 0-0.034 0-0.051 0l0.003-0h-663.4c-0.096 0.002-0.209 0.002-0.323 0.002-8.956 0-16.637-5.459-19.897-13.232l-0.053-0.142c-11.134-31.771-25.73-59.313-43.781-84.184l0.647 0.936h-143.205c-0.014-0-0.032-0-0.049-0-9.074 0-16.511 7.004-17.201 15.9l-0.004 0.059v782.019c-0.054 0.529-0.084 1.143-0.084 1.765 0 9.818 7.628 17.854 17.281 18.505l0.057 0.003h150.537c11.911 0 21.567 9.656 21.567 21.567s-9.656 21.567-21.567 21.567v0h-150.537c-33.471-0.465-60.426-27.707-60.426-61.245 0-0.76 0.014-1.518 0.041-2.271l-0.003 0.109v-782.019c0.725-32.79 27.478-59.094 60.374-59.094 0.005 0 0.010 0 0.015 0l147.517-0c9.489 0 33.644 0 72.465 96.62h647.009c0.004-0 0.009-0 0.014-0 32.896 0 59.649 26.304 60.372 59.026l0.001 0.067v685.398c0.001 0.157 0.002 0.343 0.002 0.529 0 32.376-25.298 58.844-57.205 60.713l-0.165 0.008z","M970.514 310.133h-948.947c-11.911 0-21.567-9.656-21.567-21.567v0c0-11.911 9.656-21.567 21.567-21.567v0h948.947c11.911 0 21.567 9.656 21.567 21.567v0c0 11.911-9.656 21.567-21.567 21.567v0z","M512.431 1024c-11.911 0-21.567-9.656-21.567-21.567v0-543.488c0-11.911 9.656-21.567 21.567-21.567s21.567 9.656 21.567 21.567v0 543.488c0 11.911-9.656 21.567-21.567 21.567v-0z","M512.431 1024c-6.068-0.015-11.557-2.486-15.528-6.469l-0.001-0.001-144.499-145.793c-3.94-3.909-6.379-9.326-6.379-15.313s2.439-11.404 6.378-15.311l0.001-0.001c3.839-3.916 9.185-6.344 15.097-6.344s11.258 2.428 15.094 6.34l0.003 0.003 129.402 129.402 129.402-129.402c3.909-3.94 9.326-6.379 15.313-6.379s11.404 2.439 15.311 6.378l0.001 0.001c3.94 3.909 6.379 9.326 6.379 15.313s-2.439 11.404-6.378 15.311l-0.001 0.001-144.499 145.793c-3.712 3.986-8.991 6.472-14.85 6.472-0.087 0-0.174-0.001-0.26-0.002l0.013 0z"],"width":991,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["versement"],"grid":16},"attrs":[],"properties":{"order":86,"id":77,"name":"versement","prevSize":32,"code":60192},"setIdx":0,"setId":6,"iconIdx":85},{"icon":{"paths":["M904.741 520.042c-73.454 150.016-223.587 244.912-392.744 244.912s-319.292-94.896-392.743-244.912l-3.937-8.042 3.937-8.042c73.455-150.026 224.022-244.91 392.743-244.91 168.719 0 319.287 94.885 392.744 244.91l3.935 8.042-3.935 8.042zM511.996 813.714c202.99 0 376.792-124.679 449.62-301.714-72.828-177.034-246.63-301.714-449.62-301.714s-376.791 124.68-449.621 301.714c72.831 177.035 246.631 301.714 449.621 301.714zM636.95 512c0-68.977-55.976-124.954-124.954-124.954-68.981 0-124.954 55.976-124.954 124.954s55.973 124.954 124.954 124.954c68.977 0 124.954-55.976 124.954-124.954zM338.282 512c0-95.715 78-173.714 173.715-173.714s173.714 78 173.714 173.714c0 95.715-78 173.714-173.714 173.714s-173.715-78-173.715-173.714z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["visibility"],"grid":16},"attrs":[],"properties":{"order":87,"id":78,"name":"visibility","prevSize":32,"code":60196},"setIdx":0,"setId":6,"iconIdx":86},{"icon":{"paths":["M721.993 707.132l6.246 6.251h167.62v182.477h-182.477v-124.535l-201.451-211.524-201.452 211.524v124.535h-182.48v-182.477h167.621l192.614-192.614v-166.995l-14.071-5.094c-44.292-16.037-75.987-57.892-75.987-106.924 0-62.967 50.788-113.754 113.756-113.754s113.754 50.788 113.754 113.754c0 49.032-31.697 90.887-75.989 106.924l-14.071 5.094v166.995l186.368 186.364z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["workflow"],"grid":16},"attrs":[],"properties":{"order":88,"id":79,"name":"workflow","prevSize":32,"code":60197},"setIdx":0,"setId":6,"iconIdx":87},{"icon":{"paths":["M201.5 310c-21.459 0-42.436-6.364-60.279-18.286s-31.749-28.868-39.962-48.693c-8.212-19.826-10.361-41.642-6.174-62.688s14.52-40.38 29.694-55.554c15.174-15.174 34.507-25.508 55.554-29.694s42.862-2.038 62.688 6.174c19.826 8.212 36.771 22.119 48.693 39.962s18.286 38.82 18.286 60.279c-0.031 28.767-11.472 56.346-31.813 76.687s-47.92 31.782-76.687 31.813z","M496 310c-21.459 0-42.435-6.364-60.278-18.286s-31.75-28.868-39.962-48.693c-8.214-19.826-10.362-41.642-6.176-62.688 4.189-21.047 14.522-40.38 29.696-55.554s34.506-25.508 55.552-29.694c21.046-4.187 42.864-2.038 62.688 6.174 19.827 8.212 36.771 22.119 48.694 39.962s18.285 38.82 18.285 60.279c-0.029 28.767-11.472 56.346-31.811 76.687-20.342 20.341-47.92 31.782-76.688 31.813z","M790.499 310c-21.459 0-42.435-6.364-60.278-18.286s-31.75-28.868-39.962-48.693c-8.211-19.826-10.362-41.642-6.173-62.688 4.186-21.047 14.518-40.38 29.693-55.554s34.506-25.508 55.552-29.694c21.050-4.187 42.864-2.038 62.691 6.174 19.824 8.212 36.771 22.119 48.691 39.962 11.923 17.843 18.285 38.82 18.285 60.279-0.029 28.767-11.469 56.346-31.811 76.687s-47.92 31.782-76.688 31.813z","M201.5 604.499c-21.459 0-42.436-6.362-60.279-18.285s-31.749-28.867-39.962-48.694c-8.212-19.824-10.361-41.642-6.174-62.688s14.52-40.378 29.694-55.552c15.174-15.174 34.507-25.507 55.554-29.696 21.047-4.186 42.862-2.038 62.688 6.176 19.826 8.211 36.771 22.118 48.693 39.962s18.286 38.819 18.286 60.278c-0.031 28.768-11.472 56.346-31.813 76.688-20.341 20.339-47.92 31.782-76.687 31.811z","M496 604.499c-21.459 0-42.435-6.362-60.278-18.285s-31.75-28.867-39.962-48.694c-8.214-19.824-10.362-41.642-6.176-62.688 4.189-21.046 14.522-40.378 29.696-55.552s34.506-25.507 55.552-29.696c21.046-4.186 42.864-2.038 62.688 6.176 19.827 8.211 36.771 22.118 48.694 39.962s18.285 38.819 18.285 60.278c-0.029 28.768-11.472 56.346-31.811 76.688-20.342 20.339-47.92 31.782-76.688 31.811z","M790.499 604.499c-21.459 0-42.435-6.362-60.278-18.285s-31.75-28.867-39.962-48.694c-8.211-19.824-10.362-41.642-6.173-62.688 4.186-21.046 14.518-40.378 29.693-55.552s34.506-25.507 55.552-29.696c21.050-4.186 42.864-2.038 62.691 6.176 19.824 8.211 36.771 22.118 48.691 39.962 11.923 17.843 18.285 38.819 18.285 60.278-0.029 28.768-11.469 56.346-31.811 76.688-20.342 20.339-47.92 31.782-76.688 31.811z","M201.5 898.998c-21.459 0-42.436-6.362-60.279-18.285-17.843-11.92-31.749-28.867-39.962-48.691-8.212-19.827-10.361-41.642-6.174-62.691 4.187-21.046 14.52-40.378 29.694-55.552s34.507-25.507 55.554-29.693c21.047-4.189 42.862-2.038 62.688 6.173s36.771 22.118 48.693 39.962c11.922 17.843 18.286 38.819 18.286 60.278-0.031 28.768-11.472 56.346-31.813 76.688s-47.92 31.782-76.687 31.811z","M496 898.998c-21.459 0-42.435-6.362-60.278-18.285-17.843-11.92-31.75-28.867-39.962-48.691-8.214-19.827-10.362-41.642-6.176-62.691 4.189-21.046 14.522-40.378 29.696-55.552s34.506-25.507 55.552-29.693c21.046-4.189 42.864-2.038 62.688 6.173 19.827 8.211 36.771 22.118 48.694 39.962s18.285 38.819 18.285 60.278c-0.029 28.768-11.472 56.346-31.811 76.688-20.342 20.342-47.92 31.782-76.688 31.811z","M790.499 898.998c-21.459 0-42.435-6.362-60.278-18.285-17.843-11.92-31.75-28.867-39.962-48.691-8.211-19.827-10.362-41.642-6.173-62.691 4.186-21.046 14.518-40.378 29.693-55.552s34.506-25.507 55.552-29.693c21.050-4.189 42.864-2.038 62.691 6.173 19.824 8.211 36.771 22.118 48.691 39.962 11.923 17.843 18.285 38.819 18.285 60.278-0.029 28.768-11.469 56.346-31.811 76.688s-47.92 31.782-76.688 31.811z"],"attrs":[{"fill":"rgb(0, 0, 0)"},{"fill":"rgb(0, 0, 0)"},{"fill":"rgb(0, 0, 0)"},{"fill":"rgb(255, 0, 0)"},{"fill":"rgb(255, 0, 0)"},{"fill":"rgb(255, 0, 0)"},{"fill":"rgb(255, 192, 203)"},{"fill":"rgb(255, 192, 203)"},{"fill":"rgb(255, 192, 203)"}],"isMulticolor":true,"isMulticolor2":false,"tags":["apps-colored"],"grid":16},"attrs":[{"fill":"rgb(0, 0, 0)"},{"fill":"rgb(0, 0, 0)"},{"fill":"rgb(0, 0, 0)"},{"fill":"rgb(255, 0, 0)"},{"fill":"rgb(255, 0, 0)"},{"fill":"rgb(255, 0, 0)"},{"fill":"rgb(255, 192, 203)"},{"fill":"rgb(255, 192, 203)"},{"fill":"rgb(255, 192, 203)"}],"properties":{"order":89,"id":80,"name":"apps-colored","prevSize":32,"code":59733,"codes":[59733,59734,59735,59736,59737,59738,59739,59740,59741]},"setIdx":0,"setId":6,"iconIdx":88},{"icon":{"paths":["M913.493 494.080l-384-384c-15.36-15.36-36.693-24.747-60.16-24.747h-298.667c-46.933 0-85.333 38.4-85.333 85.333v298.667c0 23.467 9.387 44.8 25.173 60.587l384 384c15.36 15.36 36.693 24.747 60.16 24.747s44.8-9.387 60.16-25.173l298.667-298.667c15.787-15.36 25.173-36.693 25.173-60.16s-9.813-45.227-25.173-60.587zM554.667 853.76l-384-384.427v-298.667h298.667v-0.427l384 384-298.667 299.52zM213.333 277.333c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64z","M593.502 443.23l30.716 29.614-148.068 153.581-30.716-29.614 148.068-153.581z","M532.075 384l30.716 29.614-148.068 153.581-30.716-29.614 148.068-153.581z","M654.938 502.46l30.716 29.614-148.068 153.581-30.716-29.614 148.068-153.581z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["barcode"],"grid":16},"attrs":[],"properties":{"order":90,"id":81,"name":"barcode","prevSize":32,"code":59732,"codes":[59732,59733,59734,59735]},"setIdx":0,"setId":6,"iconIdx":89},{"icon":{"paths":["M36.571 292.571h292.571v-292.571h-292.571v292.571zM36.571 658.286h292.571v-292.571h-292.571v292.571zM402.286 658.286h292.571v-292.571h-292.571v292.571zM768 658.286h292.571v-292.571h-292.571v292.571zM402.286 292.571h292.571v-292.571h-292.571v292.571zM768 0v292.571h292.571v-292.571h-292.571zM1133.714 658.286h292.571v-292.571h-292.571v292.571zM36.571 1024h292.571v-292.571h-292.571v292.571zM402.286 1024h292.571v-292.571h-292.571v292.571zM768 1024h292.571v-292.571h-292.571v292.571zM1133.714 1024h292.571v-292.571h-292.571v292.571zM1133.714 0v292.571h292.571v-292.571h-292.571z"],"width":1463,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["rack"],"grid":16},"attrs":[],"properties":{"order":91,"id":82,"name":"rack","prevSize":32,"code":59730},"setIdx":0,"setId":6,"iconIdx":90},{"icon":{"paths":["M512 284.444c-125.724 0-227.556 101.831-227.556 227.556s101.831 227.556 227.556 227.556c125.724 0 227.556-101.831 227.556-227.556s-101.831-227.556-227.556-227.556zM113.778 682.667h-113.778v227.556c0 62.578 51.2 113.778 113.778 113.778h227.556v-113.778h-227.556v-227.556zM113.778 113.778h227.556v-113.778h-227.556c-62.578 0-113.778 51.2-113.778 113.778v227.556h113.778v-227.556zM910.222 0h-227.556v113.778h227.556v227.556h113.778v-227.556c0-62.578-51.2-113.778-113.778-113.778zM910.222 910.222h-227.556v113.778h227.556c62.578 0 113.778-51.2 113.778-113.778v-227.556h-113.778v227.556z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["room"],"grid":16},"attrs":[],"properties":{"order":92,"id":83,"name":"room","prevSize":32,"code":59731},"setIdx":0,"setId":6,"iconIdx":91},{"icon":{"paths":["M53.895 0c-29.765 0-53.895 24.13-53.895 53.895v904.262c0 29.766 24.129 53.895 53.895 53.895h860.683c29.766 0 53.895-24.129 53.895-53.895v-797.73c0-29.766-24.129-53.895-53.895-53.895h-589.332c-21.134 0-40.318-12.353-49.064-31.593l-19.703-43.346c-8.745-19.24-27.929-31.593-49.064-31.593h-153.52zM914.658 266.332h-860.844c-2.976 0-5.389-2.413-5.389-5.389v-202.285c0-2.977 2.413-5.389 5.389-5.389h158.704c2.977 0 5.998 2.275 7.141 5.024 8.887 21.379 49.409 101.509 70.884 101.509h624.116c2.98 0 5.389 2.413 5.389 5.389v95.753c0 2.977-2.409 5.389-5.389 5.389z"],"width":970,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["folder-full"],"grid":16},"attrs":[],"properties":{"order":93,"id":84,"name":"folder-full","prevSize":32,"code":59727},"setIdx":0,"setId":6,"iconIdx":92},{"icon":{"paths":["M317.38 0h321.854c0.676 0.728 80.765 86.919 120.91 119.344v496.182c0 22.618-18.338 40.96-40.96 40.96h-401.804c-22.622 0-40.96-18.342-40.96-40.96v-574.566c0-22.622 18.338-40.96 40.96-40.96zM669.438 266.082h-302.328v29.84h302.328v-29.84zM367.11 355.607v29.84h302.328v-29.84h-302.328zM669.438 445.121h-302.328v29.843h302.328v-29.843zM619.074 129.368l100.774-0.075-100.852-99.393 0.078 99.467z","M0 248.281v711.333c0 22.618 18.338 40.96 40.96 40.96h677.171c22.622 0 40.96-18.342 40.96-40.96v-627.833c0-22.622-18.338-40.96-40.96-40.96h-464.029c-16.062 0-30.642-9.388-37.288-24.011l-16.127-35.479c-6.647-14.622-21.227-24.010-37.289-24.010h-122.438c-22.622 0-40.96 18.338-40.96 40.96zM37.95 461.914c0-2.265 1.834-4.096 4.096-4.096h674.992c2.261 0 4.096 1.831 4.096 4.096v492.806c0 2.265-1.835 4.096-4.096 4.096h-674.992c-2.262 0-4.096-1.831-4.096-4.096v-492.806zM42.046 416.072c-2.262 0-4.096-1.835-4.096-4.096v-158.81c0-2.262 1.834-4.096 4.096-4.096h124.649c2.262 0 4.553 1.727 5.419 3.817 6.862 16.574 38.737 79.683 55.609 79.683h489.314c2.261 0 4.096 1.834 4.096 4.096v75.31c0 2.261-1.835 4.096-4.096 4.096h-674.992z","M28.12 441.254h702.815v524.755h-702.815v-524.755z"],"width":778,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["folder-with-file"],"grid":16},"attrs":[],"properties":{"order":94,"id":85,"name":"folder-with-file","prevSize":32,"code":59728},"setIdx":0,"setId":6,"iconIdx":93},{"icon":{"paths":["M525.033 0c22.622 0 40.96 18.338 40.96 40.96v81.92h81.92c22.622 0 40.96 18.338 40.96 40.96v81.92h81.92c22.622 0 40.96 18.338 40.96 40.96v696.32c0 22.622-18.338 40.96-40.96 40.96h-484.071c-22.621 0-40.96-18.338-40.96-40.96l0-81.92h-81.923c-22.621 0-40.96-18.338-40.96-40.96v-81.92h-81.92c-22.622 0-40.96-18.338-40.96-40.96v-561.128c0-10.863 4.315-21.282 11.997-28.963l135.192-135.192c7.682-7.681 18.1-11.997 28.963-11.997h348.882zM122.88 748.45v-449.418c0-10.863 4.316-21.282 11.997-28.963l72.588-72.588c-2.983 1.696-6.433 2.665-10.11 2.665h-135.913c-11.311 0-20.48 9.169-20.48 20.48v507.344c0 11.313 9.169 20.48 20.48 20.48h61.437zM215.17 189.775l54.898-54.898c7.682-7.681 18.1-11.997 28.963-11.997h237.176v-61.44c0-11.311-9.171-20.48-20.48-20.48h-277.412c-11.311 0-20.48 9.169-20.48 20.48v118.225c0 3.677-0.969 7.127-2.665 10.11zM245.762 865.747v-443.834c0-10.863 4.316-21.282 11.997-28.964l135.192-135.192c7.682-7.681 18.099-11.997 28.962-11.997h231.584v-67.025c0-11.311-9.171-20.48-20.48-20.48h-277.413c-11.311 0-20.48 9.169-20.48 20.48v118.225c0 11.311-9.169 20.48-20.48 20.48h-135.913c-11.311 0-20.48 9.169-20.48 20.48v507.347c0 11.309 9.169 20.48 20.48 20.48h67.031zM176.869 35.375l-123.811 123.811h123.811v-123.811zM422.633 404.945v-123.811l-123.813 123.811h123.813zM368.645 573.44v35.373h327.675v-35.373h-327.675zM696.32 679.559h-327.675v35.377h327.675v-35.377zM368.645 785.691v35.373h327.675v-35.373h-327.675zM299.749 282.065v-123.811l-123.811 123.811h123.811z"],"width":819,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["document-layers"],"grid":16},"attrs":[],"properties":{"order":95,"id":86,"name":"document-layers","prevSize":32,"code":59724},"setIdx":0,"setId":6,"iconIdx":94},{"icon":{"paths":["M0 62.061c0-34.275 27.785-62.061 62.061-62.061h589.576c34.276 0 62.061 27.785 62.061 62.061v93.091h-44.615v-93.091c0-8.569-6.948-15.515-15.515-15.515h-593.454c-8.569 0-15.515 6.946-15.515 15.515v899.879c0 8.567 6.946 15.515 15.515 15.515h593.454c8.567 0 15.515-6.948 15.515-15.515v-279.273h44.615v279.273c0 34.276-27.785 62.061-62.061 62.061h-589.576c-34.275 0-62.061-27.785-62.061-62.061v-899.879zM133.788 403.394h327.112v46.545h-327.112v-46.545zM520.378 558.545h-386.587v46.545h386.587v-46.545zM133.788 713.697h465.454v43.442h-465.454v-43.442zM806.083 696.537c-11.894 0-23.946-0.819-35.84-2.402-8.018-1.089-14.727-6.709-17.181-14.398-5.728-18.001-18.984-32.455-36.33-39.709-17.24-7.202-37.149-6.327-53.788 2.181-7.199 3.708-15.928 2.889-22.364-2.020-18.876-14.51-35.676-31.362-49.912-50.070-4.909-6.436-5.672-15.109-1.964-22.311 8.729-16.908 9.657-36.436 2.619-53.561-7.038-17.129-21.495-30.273-39.601-36.11-7.692-2.507-13.256-9.163-14.293-17.181-3.053-23.347-3.053-47.129 0.109-70.69 1.092-8.018 6.709-14.73 14.401-17.185 18.001-5.725 32.455-18.981 39.713-36.38 7.255-17.346 6.436-36.983-2.185-53.784-3.708-7.2-2.889-15.927 2.073-22.364 14.513-18.873 31.369-35.618 50.077-49.909 6.436-4.909 15.109-5.673 22.311-1.964 16.747 8.673 36.439 9.709 53.568 2.618 17.129-7.036 30.273-21.492 36.166-39.6 2.507-7.691 9.163-13.255 17.181-14.29 23.239-3.055 47.185-3 70.696 0.109 8.018 1.091 14.727 6.709 17.181 14.399 5.728 18 18.984 32.454 36.33 39.71 17.293 7.2 37.202 6.327 53.788-2.182 7.199-3.709 15.928-2.891 22.364 2.018 18.876 14.51 35.676 31.364 49.912 50.072 4.909 6.436 5.672 15.109 1.964 22.31-8.729 16.909-9.657 36.437-2.619 53.563 7.038 17.129 21.492 30.273 39.601 36.11 7.692 2.507 13.256 9.163 14.293 17.181 3.053 23.344 3.053 47.126-0.109 70.69-1.092 8.018-6.709 14.727-14.401 17.181-18.001 5.728-32.455 18.984-39.713 36.383-7.255 17.346-6.436 36.982 2.181 53.782 3.711 7.202 2.892 15.928-2.073 22.367-14.51 18.873-31.365 35.617-50.074 49.906-6.436 4.909-15.109 5.675-22.311 1.964-16.747-8.617-36.439-9.654-53.568-2.619-17.073 7.038-30.273 21.492-36.166 39.601-2.507 7.692-9.163 13.256-17.181 14.289-11.509 1.474-23.239 2.293-34.856 2.293zM787.813 653.88c11.891 0.925 23.782 0.981 35.676 0.053 11.236-23.673 30.655-42.381 54.821-52.364 24.058-9.927 51.166-10.364 75.823-1.471 9.002-7.692 17.458-16.092 25.256-25.203-8.782-24.598-8.183-51.653 2.020-76.034 10.144-24.384 28.911-43.911 52.584-55.038 0.928-11.891 0.981-23.834 0.056-35.672-23.676-11.236-42.387-30.655-52.367-54.874-9.982-24.163-10.364-51.163-1.474-75.817-7.692-9-16.092-17.455-25.203-25.255-24.545 8.727-51.873 8.073-76.040-2.018-24.384-10.146-43.911-28.909-55.038-52.527-11.894-0.982-23.785-0.982-35.676-0.055-11.239 23.673-30.658 42.382-54.821 52.364-24.058 9.927-51.169 10.364-75.826 1.473-8.999 7.691-17.455 16.090-25.256 25.2 8.785 24.6 8.183 51.656-2.017 76.036-10.147 24.381-28.911 43.908-52.584 55.035-0.928 11.891-0.984 23.837-0.056 35.672 23.673 11.239 42.384 30.655 52.367 54.874 9.982 24.163 10.364 51.166 1.474 75.819 7.689 8.999 16.089 17.455 25.2 25.252 24.601-8.726 51.876-8.018 76.043 2.020 24.436 10.144 43.855 28.908 55.038 52.528zM805.798 550.838c-68.949 0-125.024-56.072-125.024-125.018 0-68.943 56.131-125.016 125.024-125.016 68.949 0 125.027 56.073 125.027 125.016 0.053 68.946-56.078 125.018-125.027 125.018zM805.807 342.696c-45.819 0-83.133 37.311-83.133 83.127 0 45.875 37.314 83.127 83.133 83.127s83.133-37.308 83.133-83.127c0.053-45.872-37.258-83.127-83.133-83.127z"],"width":1086,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["file-cog-middle"],"grid":16},"attrs":[],"properties":{"order":96,"id":87,"name":"file-cog-middle","prevSize":32,"code":59725},"setIdx":0,"setId":6,"iconIdx":95},{"icon":{"paths":["M561.951 433.449v540.6c0 6.896-5.592 12.488-12.488 12.488h-499.512c-6.897 0-12.488-5.592-12.488-12.488v-724.293c0-6.897 5.591-12.488 12.488-12.488h324.683v-37.463h-349.659c-13.794 0-24.976 11.182-24.976 24.976v774.244c0 13.794 11.182 24.976 24.976 24.976h549.463c13.794 0 24.976-11.182 24.976-24.976v-563.387c7.133-0.235 14.281-0.832 21.327-1.733 6.454-0.832 11.808-5.31 13.829-11.501 4.74-14.576 15.365-26.209 29.107-31.874 13.784-5.662 29.634-4.828 43.113 2.108 5.794 2.987 12.775 2.37 17.955-1.581 15.058-11.501 28.625-24.978 40.303-40.168 3.996-5.182 4.653-12.206 1.668-18.002-6.936-13.522-7.595-29.326-1.756-43.288 5.839-14.004 17.473-24.673 31.961-29.284 6.189-1.976 10.712-7.375 11.589-13.829 2.548-18.966 2.548-38.107 0.087-56.897-0.832-6.454-5.31-11.81-11.501-13.83-14.573-4.697-26.209-15.277-31.871-29.063-5.664-13.785-4.918-29.502 2.105-43.112 2.987-5.796 2.373-12.776-1.578-17.956-11.459-15.058-24.981-28.624-40.171-40.302-5.182-3.951-12.206-4.609-18.002-1.624-13.344 6.849-29.369 7.551-43.288 1.756-13.961-5.84-24.628-17.473-29.239-31.962-1.976-6.19-7.375-10.712-13.829-11.59-18.922-2.502-38.195-2.546-56.897-0.088-6.456 0.834-11.811 5.312-13.831 11.502-4.74 14.575-15.32 26.209-29.107 31.873-13.784 5.707-29.634 4.873-43.11-2.107-5.797-2.985-12.778-2.371-17.957 1.58-15.058 11.502-28.625 24.98-40.303 40.171-3.994 5.181-4.653 12.205-1.668 18 6.938 13.523 7.595 29.327 1.758 43.288-5.842 14.005-17.475 24.673-31.964 29.283-6.189 1.976-10.71 7.376-11.589 13.829-2.545 18.966-2.545 38.107-0.087 56.898 0.834 6.454 5.312 11.811 11.501 13.829 14.576 4.698 26.209 15.278 31.874 29.064 5.662 13.784 4.918 29.501-2.108 43.11-2.985 5.797-2.37 12.778 1.581 17.957 11.459 15.058 24.981 28.622 40.171 40.301 5.18 3.951 12.206 4.61 18 1.626 13.389-6.848 29.414-7.553 43.288-1.756 13.961 5.839 24.631 17.473 29.239 31.961 1.781 5.575 6.336 9.795 11.938 11.222zM606.693 401.46c-9.571 0.747-19.141 0.702-28.712-0.045-9.001-19.009-24.631-34.112-44.299-42.276-19.449-8.080-41.4-8.649-61.198-1.626-7.333-6.276-14.094-13.082-20.285-20.325 7.158-19.843 6.851-41.577-1.184-61.025-8.035-19.493-23.092-35.122-42.146-44.166-0.747-9.527-0.702-19.142 0.042-28.712 19.054-8.957 34.157-24.673 42.324-44.297 8.209-19.625 8.692-41.4 1.623-61.2 6.279-7.332 13.082-14.093 20.328-20.283 19.843 7.156 41.662 6.805 61.023-1.185 19.451-8.034 35.078-23.093 44.122-42.146 9.573-0.746 19.144-0.746 28.714 0.044 8.956 19.010 24.671 34.112 44.297 42.278 19.449 8.122 41.445 8.649 61.2 1.624 7.333 6.278 14.091 13.083 20.283 20.327-7.156 19.844-6.848 41.575 1.184 61.025 8.035 19.493 23.095 35.122 42.146 44.166 0.747 9.527 0.704 19.142-0.042 28.712-19.054 8.956-34.157 24.673-42.321 44.296-8.209 19.626-8.694 41.402-1.626 61.2-6.276 7.333-13.082 14.094-20.325 20.283-19.846-7.156-41.664-6.803-61.025 1.186-19.449 8.035-35.078 23.092-44.122 42.146zM592.461 318.481c-55.491 0-100.624-45.133-100.624-100.625 0-55.493 45.176-100.624 100.624-100.624 55.493 0 100.624 45.131 100.624 100.624 0.045 55.492-45.131 100.625-100.624 100.625zM592.461 150.952c-36.876 0-66.907 30.030-66.907 66.907 0 36.922 30.031 66.908 66.907 66.908 36.879 0 66.907-30.031 66.907-66.908 0.045-36.922-29.986-66.907-66.907-66.907zM487.024 536.976v37.463h-374.634v-37.463h374.634zM112.39 649.366v37.463h374.634v-37.463h-374.634zM487.024 761.756v37.463h-374.634v-37.463h374.634z"],"width":824,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["file-cog-up"],"grid":16},"attrs":[],"properties":{"order":97,"id":88,"name":"file-cog-up","prevSize":32,"code":59726},"setIdx":0,"setId":6,"iconIdx":96},{"icon":{"paths":["M333.299 1023.174c3.317 0.28 6.629 0.561 9.944 0.826h114.915c2.522-0.603 5.12-1.017 7.76-1.318 6.36-0.39 12.738-0.701 19.118-1.011 12.729-0.619 25.469-1.238 38.106-2.493 3.404-0.349 6.807-0.697 10.211-1.046 36.964-3.784 73.993-7.573 110.761-12.816 43.883-6.215 86.947-17.103 128.381-32.472 8.769-3.201 14.356-7.533 15.83-16.952 1.106-7.155 2.522-14.263 3.938-21.368 1.756-8.831 3.515-17.655 4.675-26.546 8.147-63.136 6.518-125.591-16.76-186.090-20.251-52.734-56.721-89.576-112.121-108.41-25.064-8.437-49.582-18.532-73.715-29.155-29.678-12.882-57.38-29.758-82.249-50.062-21.355 20.409-42.774 34.921-64.211 43.56l30.729 245.831-66.783 66.783-77.913-66.783 30.239-241.907c-25.032-7.738-50-23.465-74.834-47.146-3.143 2.246-6.142 4.443-9.065 6.585-5.554 4.067-10.828 7.932-16.27 11.536-41.746 27.762-87.992 46.369-135.402 62.569-36.547 12.13-67.623 36.163-87.953 68.069-18.39 28.251-28.943 59.441-34.529 92.289-10.359 61.099-7.216 121.669 7.1 181.94 1.785 7.76 5.82 12.206 13.424 14.427 8.977 2.629 17.911 5.416 26.845 8.203 18.094 5.648 36.187 11.293 54.628 15.605 66.028 15.445 133.421 21.773 201.123 25.54 8.041 0.454 16.063 1.133 24.080 1.812z","M414.152 0c13.851 1.769 27.477 4.93 40.686 9.409 30.6 10.689 58.415 28.115 81.337 51.036 11.97 11.969 21.379 21.604 28.378 37.826 8.468 19.685 8.281 37.524 8.092 47.197-0.301 16.674-5.645 61.499-6.85 73.769-0.563 5.307-0.49 9.409 4.365 12.722 8.695 5.946 9.185 15.204 8.319 24.313h-0.076c-1.805 22.13-8.279 43.582-18.931 63.043-6.097 10.99-7.905 24.313-12.119 36.432-12.722 36.207-34.026 93.453-85.326 119.804-18.744 9.258-39.333 14.113-60.222 14.189-11.591 0-34.778 0-59.016-13.361-11.293-6.173-17.991-12.796-27.325-21.566h-0.038c-21.905-20.776-39.293-45.804-51.113-73.543-7.413-16.936-12.043-34.927-18.405-52.315-2.257-6.249-5.87-11.97-8.806-17.953l0.038 0.038c-9.71-19.158-14.679-40.31-14.53-61.763 0.076-6.776 1.883-12.722 7.68-16.938 5.042-3.613 5.532-8.168 4.517-14.075h-0.038c-5.12-28.153-7.115-56.757-6.024-85.286 1.507-33.46 20.703-58.338 31.428-72.113 16.411-20.249 37.414-36.282 61.313-46.708v0.038c13.851-6.097 28.492-10.237 43.509-12.307l49.156-1.884z","M868.174 133.565c122.88 0 222.609 99.729 222.609 222.609v31.833c0 43.854-34.059 79.471-77.913 79.471-26.49 0-51.423-12.911-65.892-32.723-20.035 20.257-48.083 32.723-78.803 32.723-61.44 0-111.304-49.864-111.304-111.304s49.864-111.304 111.304-111.304c25.050 0 48.177 8.29 66.783 22.272v-0.011c0-12.295 9.966-22.261 22.261-22.261s22.261 9.966 22.261 22.261v120.877c0 17.586 15.805 34.95 33.391 34.95s33.391-17.363 33.391-34.95v-31.833c0-96.612-81.475-178.087-178.087-178.087s-178.087 81.475-178.087 178.087c0 96.612 81.475 178.087 178.087 178.087h111.304v44.522h-111.304c-122.88 0-222.609-99.729-222.609-222.609s99.729-222.609 222.609-222.609zM934.957 356.174c0-36.953-29.83-66.783-66.783-66.783s-66.783 29.83-66.783 66.783c0 36.953 29.83 66.783 66.783 66.783s66.783-29.83 66.783-66.783z"],"width":1135,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["api-supervision"],"grid":16},"attrs":[],"properties":{"order":98,"id":89,"name":"api-supervision","prevSize":32,"code":59723},"setIdx":0,"setId":6,"iconIdx":97},{"icon":{"paths":["M1216 256h-192v-256h-896c-70.4 0-128 57.6-128 128v704h128c0 106.24 85.76 192 192 192s192-85.76 192-192h384c0 106.24 85.76 192 192 192s192-85.76 192-192h128v-320l-192-256zM320 928c-53.12 0-96-42.88-96-96s42.88-96 96-96c53.12 0 96 42.88 96 96s-42.88 96-96 96zM1184 352l125.44 160h-285.44v-160h160zM1088 928c-53.12 0-96-42.88-96-96s42.88-96 96-96c53.12 0 96 42.88 96 96s-42.88 96-96 96z"],"width":1408,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["truck"],"grid":16},"attrs":[],"properties":{"order":99,"id":90,"name":"truck","prevSize":32,"code":59722},"setIdx":0,"setId":6,"iconIdx":98},{"icon":{"paths":["M534.197 24.688c4.191 3.736 6.585 9.083 6.585 14.696v14.553h312.785c6.963 0 13.41 3.679 16.955 9.676l168.153 284.655c3.119 3.484 5.018 8.086 5.018 13.13v618.671c0 10.874-8.818 19.692-19.692 19.692h-984.615c-10.876 0-19.692-8.818-19.692-19.692v-618.671c0-5.857 2.557-11.117 6.616-14.725l162.103-280.943c3.118-5.405 8.614-9.012 14.814-9.722l315.624-36.188c5.577-0.639 11.162 1.132 15.348 4.868zM517.593 341.707v-16.966l-143.284 16.966h143.284zM217.567 94.007l-140.336 243.219 424.166-50.227v-225.534l-283.83 32.543zM59.077 381.091v579.287h945.231v-579.287h-945.231zM556.977 339.348l431.904 2.064-146.554-248.090h-285.349v246.026z"],"width":1063,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["physical-big-box"],"grid":16},"attrs":[],"properties":{"order":100,"id":91,"name":"physical-big-box","prevSize":32,"code":59720},"setIdx":0,"setId":6,"iconIdx":99},{"icon":{"paths":["M540.782 39.385c0-5.613-2.395-10.96-6.585-14.696s-9.775-5.507-15.352-4.868l-315.621 36.188c-6.2 0.711-11.695 4.318-14.814 9.722l-162.104 280.945c-4.058 3.607-6.614 8.866-6.614 14.723v618.672c0 10.874 8.817 19.692 19.692 19.692h984.615c10.874 0 19.692-8.818 19.692-19.692v-618.672c0-5.044-1.894-9.644-5.014-13.128l-168.157-284.657c-3.545-5.997-9.992-9.676-16.955-9.676h-312.785v-14.553zM517.593 324.74v16.966h-143.281l143.281-16.966zM77.23 337.225l140.336-243.219 283.832-32.543v225.534l-424.168 50.227zM59.077 960.378v-579.287h945.231v579.287h-945.231zM556.977 93.322h285.349l146.558 248.090-431.907-2.064v-246.026zM537.486 775.723c57.403 0 103.936-46.537 103.936-103.94s-46.533-103.936-103.936-103.936c-57.407 0-103.94 46.533-103.94 103.936s46.533 103.94 103.94 103.94z"],"width":1063,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["physical-big-box-content"],"grid":16},"attrs":[],"properties":{"order":101,"id":92,"name":"physical-big-box-content","prevSize":32,"code":59719},"setIdx":0,"setId":6,"iconIdx":100},{"icon":{"paths":["M0.089 164.934c0-0.393-0.045-0.785 0-1.178 0.090-1.091 0.269-2.138 0.538-3.186v-0.043c0.359-1.396 0.942-2.749 1.615-4.015 0.135-0.305 0.314-0.567 0.448-0.873 0.718-1.222 1.57-2.4 2.512-3.491l0.404-0.393c0.942-0.96 1.973-1.833 3.094-2.575 0.135-0.087 0.269-0.262 0.404-0.349 0.090-0.044 0.179-0.087 0.269-0.131 1.211-0.785 2.556-1.44 3.947-1.92 0.314-0.131 0.628-0.174 0.942-0.305 0.538-0.175 1.077-0.349 1.615-0.48l650.801-145.479c4.17-0.96 8.567-0.567 12.511 1.047l239.982 97.876c0.18 0.087 0.357 0.218 0.583 0.306 0.313 0.131 0.627 0.305 0.897 0.436 0.987 0.523 1.974 1.091 2.824 1.745 0.18 0.131 0.36 0.174 0.54 0.305 0.090 0.087 0.133 0.175 0.223 0.218 1.077 0.829 2.017 1.789 2.914 2.836 0.18 0.175 0.27 0.393 0.45 0.611 0.673 0.873 1.3 1.833 1.794 2.793 0.18 0.305 0.313 0.611 0.45 0.916 0.583 1.222 1.030 2.444 1.344 3.753 0.047 0.087 0.047 0.174 0.047 0.262 0.267 1.222 0.403 2.444 0.447 3.752 0 0.175 0.047 0.349 0.047 0.524v722.054c0 9.294-6.594 17.368-15.922 19.462l-650.755 145.479c-0.179 0.043-0.359 0.043-0.538 0.043-0.359 0.087-0.717 0.174-1.121 0.217-0.897 0.13-1.884 0.217-2.87 0.217-1.256 0-2.512-0.13-3.722-0.348-0.404-0.087-0.762-0.22-1.166-0.307-0.852-0.217-1.66-0.434-2.512-0.742-0.179-0.087-0.359-0.087-0.538-0.174l-239.98-97.876c-7.624-3.097-12.603-10.386-12.603-18.413v-722.055c0-0.175 0.045-0.349 0.090-0.524l-0.001-0zM559.442 216.993c6.951 6.415 16.325 10.211 26.46 10.211 16.415 0 30.497-10.036 36.060-24.175l-62.52 13.964zM665.287 193.342c-1.974 41.018-36.777 73.833-79.385 73.833-29.78 0-56.239-15.927-69.871-40.451l-234.964 52.538v519.927l609.677-136.319v-519.926l-225.457 50.399zM239.987 824.242v-547.633l-198.946-81.163v561.203l198.946 81.166v-13.573zM669.407 40.836l-582.132 130.163 175.088 71.432 582.135-130.167-175.092-71.429zM890.731 703.851l-609.71 136.319v120.177l609.71-136.319v-120.177zM41.029 874.254l198.946 81.163v-74.268l-198.946-81.163v74.268z"],"width":962,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["physical-small-box"],"grid":16},"attrs":[],"properties":{"order":102,"id":93,"name":"physical-small-box","prevSize":32,"code":59721},"setIdx":0,"setId":6,"iconIdx":101},{"icon":{"paths":["M30.301 164.934c0-0.393-0.045-0.785 0-1.178 0.090-1.091 0.269-2.138 0.538-3.186v-0.043c0.359-1.396 0.942-2.749 1.615-4.015 0.134-0.305 0.314-0.567 0.448-0.873 0.717-1.222 1.57-2.4 2.512-3.491l0.403-0.393c0.942-0.96 1.974-1.833 3.095-2.575 0.134-0.087 0.269-0.262 0.404-0.349 0.090-0.044 0.179-0.087 0.269-0.131 1.211-0.785 2.556-1.44 3.947-1.92 0.314-0.131 0.628-0.174 0.942-0.305 0.538-0.175 1.076-0.349 1.615-0.48l650.799-145.479c4.174-0.96 8.567-0.567 12.515 1.047l239.979 97.876c0.18 0.087 0.36 0.218 0.583 0.306 0.313 0.131 0.627 0.305 0.897 0.436 0.987 0.523 1.974 1.091 2.827 1.745 0.177 0.131 0.357 0.174 0.537 0.305 0.090 0.087 0.133 0.175 0.223 0.218 1.077 0.829 2.020 1.789 2.917 2.836 0.18 0.175 0.267 0.393 0.447 0.611 0.673 0.873 1.3 1.833 1.794 2.793 0.18 0.305 0.317 0.611 0.45 0.916 0.583 1.222 1.030 2.444 1.347 3.753 0.043 0.087 0.043 0.174 0.043 0.262 0.27 1.222 0.403 2.444 0.45 3.752 0 0.175 0.043 0.349 0.043 0.524v722.054c0 9.294-6.594 17.368-15.922 19.462l-650.754 145.479c-0.179 0.043-0.359 0.043-0.538 0.043-0.359 0.087-0.717 0.174-1.121 0.217-0.897 0.13-1.884 0.217-2.87 0.217-1.256 0-2.511-0.13-3.722-0.348-0.404-0.087-0.762-0.22-1.166-0.307-0.852-0.217-1.659-0.434-2.511-0.742-0.18-0.087-0.359-0.087-0.538-0.174l-239.98-97.876c-7.624-3.097-12.603-10.386-12.603-18.413v-722.055c0-0.175 0.044-0.35 0.089-0.524zM589.653 216.993c6.954 6.415 16.325 10.211 26.463 10.211 16.415 0 30.497-10.036 36.057-24.175l-62.52 13.964zM695.498 193.342c-1.974 41.018-36.774 73.833-79.382 73.833-29.78 0-56.239-15.927-69.874-40.451l-234.965 52.538v519.927l609.677-136.319v-519.926l-225.457 50.399zM270.199 824.242v-547.633l-198.946-81.163v561.203l198.946 81.166v-13.573zM699.619 40.836l-582.131 130.163 175.088 71.432 582.134-130.167-175.092-71.429zM920.942 703.851l-609.708 136.319v120.177l609.708-136.319v-120.177zM71.241 874.254l198.947 81.163v-74.268l-198.947-81.163v74.268z","M552.335 508.497c0 37.488 27.351 67.879 61.091 67.879s61.091-30.39 61.091-67.879c0-37.488-27.351-67.879-61.091-67.879s-61.091 30.39-61.091 67.879z"],"width":962,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["physical-small-box-content"],"grid":16},"attrs":[],"properties":{"order":103,"id":94,"name":"physical-small-box-content","prevSize":32,"code":59712},"setIdx":0,"setId":6,"iconIdx":102},{"icon":{"paths":["M0 53.895v916.211c0 29.766 24.129 53.895 53.895 53.895h970.105c29.766 0 53.895-24.129 53.895-53.895v-808.421c0-29.765-24.129-53.895-53.895-53.895h-667.323c-20.414 0-39.075-11.533-48.205-29.792l-24.103-48.205c-9.129-18.259-27.791-29.792-48.205-29.792h-182.27c-29.765 0-53.895 24.129-53.895 53.895zM53.895 328.758c0-2.977 2.413-5.389 5.389-5.389h959.326c2.975 0 5.389 2.413 5.389 5.389v635.958c0 2.975-2.414 5.389-5.389 5.389h-959.326c-2.977 0-5.389-2.414-5.389-5.389v-635.958zM59.284 269.474c-2.977 0-5.389-2.413-5.389-5.389v-204.8c0-2.977 2.413-5.389 5.389-5.389h177.853c2.977 0 6.050 2.256 7.285 4.965 9.78 21.451 55.002 102.825 78.947 102.825h695.242c2.975 0 5.389 2.413 5.389 5.389v97.011c0 2.977-2.414 5.389-5.389 5.389h-959.326z"],"width":1078,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["folder"],"grid":16},"attrs":[],"properties":{"order":104,"id":95,"name":"folder","prevSize":32,"code":59685},"setIdx":0,"setId":6,"iconIdx":103},{"icon":{"paths":["M237.19 53.895c2.977 0 6.050 2.256 7.284 4.965 3.545 7.775 11.745 23.422 21.901 40.212 9.781 16.172 21.377 33.405 32.373 45.689 9.087 10.152 17.765 16.923 24.672 16.923h695.243c2.975 0 5.389 2.413 5.389 5.389v97.011c0 2.977-2.414 5.389-5.389 5.389h-959.327c-2.977 0-5.389-2.413-5.389-5.389v-204.8c0-2.977 2.413-5.389 5.389-5.389h177.853zM0.053 59.284v910.821c0 29.766 24.13 53.895 53.895 53.895h970.106c29.766 0 53.895-24.129 53.895-53.895v-808.421c0-29.765-24.129-53.895-53.895-53.895h-667.324c-8.090 0-15.904-1.811-22.959-5.134-10.749-5.063-19.735-13.635-25.246-24.658l-24.102-48.205c-8.984-17.968-27.2-29.424-47.233-29.784l-0.972-0.009h-182.27c-29.765 0-53.895 24.129-53.895 53.895v5.389zM59.337 323.368h959.327c2.975 0 5.389 2.413 5.389 5.389v635.958c0 2.975-2.414 5.389-5.389 5.389h-959.327c-2.977 0-5.389-2.414-5.389-5.389v-635.958c0-2.977 2.413-5.389 5.389-5.389zM565.895 700.632c44.646 0 80.842-36.196 80.842-80.842s-36.196-80.842-80.842-80.842c-44.648 0-80.842 36.196-80.842 80.842s36.194 80.842 80.842 80.842z"],"width":1078,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["folder-content"],"grid":16},"attrs":[],"properties":{"order":105,"id":96,"name":"folder-content","prevSize":32,"code":59718},"setIdx":0,"setId":6,"iconIdx":104},{"icon":{"paths":["M512 0c-12.304 0-22.26 9.957-22.26 22.261v680.526l-122.914-124.127c-8.651-8.738-22.738-8.783-31.479-0.129-8.738 8.607-8.825 22.696-0.173 31.434l161.175 162.732c0.218 0.218 0.523 0.391 0.74 0.609 0.782 0.74 1.652 1.436 2.521 2.045l0.131 0.087c0.565 0.347 1.174 0.607 1.738 0.911l0.045 0.045c0.609 0.391 1.26 0.738 1.956 1.042l0.173 0.087h-0.042l2.216 0.654c0.609 0.173 1.174 0.391 1.783 0.523l0.131 0.042c2.825 0.523 5.695 0.523 8.52 0l0.131-0.042c0.609-0.131 1.174-0.349 1.783-0.523 0.74-0.173 1.478-0.436 2.219-0.654l0.173-0.087h-0.045c0.696-0.305 1.35-0.651 1.956-1.042 0.609-0.305 1.218-0.565 1.783-0.956l0.131-0.087c0.869-0.609 1.738-1.305 2.521-2.045 0.263-0.218 0.523-0.391 0.74-0.609l0.173-0.173 161.002-162.559c4.13-4.175 6.48-9.87 6.435-15.741 0-5.913-2.392-11.566-6.609-15.738-4.175-4.133-9.87-6.48-15.741-6.435-5.913 0.042-11.563 2.392-15.738 6.609l-122.914 124.127v-680.527c0-12.305-9.959-22.26-22.263-22.26z","M1001.74 367.304h-342.83c-12.304 0-22.26 9.956-22.26 22.263 0 12.304 9.956 22.26 22.26 22.26h320.567v567.653h-934.955v-567.653c0 0 76.882 0 126.145 0 20.508 0 52.513 0 52.513 0h141.911c12.304 0 22.26-9.956 22.26-22.26 0-12.306-9.956-22.263-22.26-22.263h-342.829c-12.305 0-22.261 9.956-22.261 22.263v612.173c0 12.304 9.957 22.26 22.261 22.26h979.479c12.304 0 22.26-9.956 22.26-22.26v-612.173c0-12.306-9.956-22.263-22.26-22.263z","M78.769 498.872h105.026v26.256h-105.026v-26.256z","M105.026 551.385h52.513v26.256h-52.513v-26.256z","M945.231 498.872h-105.026v26.256h105.026v-26.256z","M918.974 551.385h-52.513v26.256h52.513v-26.256z","M236.308 393.846h39.385v630.154h-39.385v-630.154z","M761.436 393.846h39.385v630.154h-39.385v-630.154z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["archive-ingest"],"grid":16},"attrs":[],"properties":{"order":106,"id":97,"name":"archive-ingest","prevSize":32,"code":59717},"setIdx":0,"setId":6,"iconIdx":105},{"icon":{"paths":["M46.545 837.818h-23.273v23.273h23.273v-23.273zM621.549 854.277c9.086-9.090 9.086-23.827 0-32.917l-148.108-148.103c-9.090-9.090-23.825-9.090-32.914 0-9.089 9.086-9.089 23.822 0 32.912l131.651 131.649-131.651 131.649c-9.089 9.090-9.089 23.827 0 32.912 9.088 9.090 23.824 9.090 32.914 0l148.108-148.103zM46.545 861.091h558.545v-46.545h-558.545v46.545zM69.818 837.818v-837.818h-46.545v837.818h46.545z"],"width":652,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["tree-arrow"],"grid":16},"attrs":[],"properties":{"order":107,"id":98,"name":"tree-arrow","prevSize":32,"code":59716},"setIdx":0,"setId":6,"iconIdx":106},{"icon":{"paths":["M535.273 279.273c0 128.532-104.196 232.727-232.727 232.727s-232.727-104.196-232.727-232.727c0-128.532 104.196-232.727 232.727-232.727s232.727 104.196 232.727 232.727zM325.818 557.591c143.351-11.827 256-131.918 256-278.319 0-154.238-125.035-279.273-279.273-279.273s-279.273 125.035-279.273 279.273c0 146.401 112.651 266.491 256 278.319v303.5h572.179l-108.376 108.376c-9.090 9.090-9.090 23.827 0 32.912 9.086 9.090 23.822 9.090 32.912 0l148.108-148.103c9.086-9.090 9.086-23.827 0-32.917l-148.108-148.103c-9.090-9.090-23.827-9.090-32.912 0-9.090 9.086-9.090 23.822 0 32.912l108.376 108.376h-525.633v-256.954z","M326.818 252.455h110.727v47.727h-110.727v125.454h-50.727v-125.454h-110.727v-47.727h110.727v-115.909h50.727v115.909z"],"width":931,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["tree-plus"],"grid":16},"attrs":[],"properties":{"order":108,"id":99,"name":"tree-plus","prevSize":32,"code":59714},"setIdx":0,"setId":6,"iconIdx":107},{"icon":{"paths":["M390.545 314.545h-177.455v-54.909l177.455 0v54.909z","M325.818 557.591c143.351-11.827 256-131.918 256-278.319 0-154.238-125.035-279.273-279.273-279.273s-279.273 125.035-279.273 279.273c0 146.401 112.651 266.491 256 278.319v303.5h572.179l-108.376 108.376c-9.090 9.090-9.090 23.827 0 32.912 9.086 9.090 23.822 9.090 32.912 0l148.108-148.103c9.086-9.090 9.086-23.827 0-32.917l-148.108-148.103c-9.090-9.090-23.827-9.090-32.912 0-9.090 9.086-9.090 23.822 0 32.912l108.376 108.376h-525.633v-256.954zM535.273 279.273c0 128.532-104.196 232.727-232.727 232.727s-232.727-104.196-232.727-232.727c0-128.532 104.196-232.727 232.727-232.727s232.727 104.196 232.727 232.727z"],"width":931,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["tree-minus"],"grid":16},"attrs":[],"properties":{"order":109,"id":100,"name":"tree-minus","prevSize":32,"code":59715},"setIdx":0,"setId":6,"iconIdx":108},{"icon":{"paths":["M896 128v768h-768v-768h768zM956.343 18.286h-888.686c-27.429 0-49.371 21.943-49.371 49.371v888.686c0 21.943 21.943 49.371 49.371 49.371h888.686c21.943 0 49.371-27.429 49.371-49.371v-888.686c0-27.429-27.429-49.371-49.371-49.371v0zM457.143 237.714h329.143v109.714h-329.143v-109.714zM457.143 457.143h329.143v109.714h-329.143v-109.714zM457.143 676.571h329.143v109.714h-329.143v-109.714zM237.714 237.714h109.714v109.714h-109.714v-109.714zM237.714 457.143h109.714v109.714h-109.714v-109.714zM237.714 676.571h109.714v109.714h-109.714v-109.714z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["item"],"grid":16},"attrs":[],"properties":{"order":110,"id":101,"name":"item","prevSize":32,"code":59713},"setIdx":0,"setId":6,"iconIdx":109},{"icon":{"paths":["M512 1024c-282.77 0-512-229.23-512-512s229.23-512 512-512c282.77 0 512 229.23 512 512s-229.23 512-512 512zM512 972.8c254.492 0 460.8-206.308 460.8-460.8s-206.308-460.8-460.8-460.8c-254.492 0-460.8 206.308-460.8 460.8s206.308 460.8 460.8 460.8z","M395.325 683.057l175.872-173.542-175.872-173.545 54.144-53.312 230.4 226.857-230.4 226.854-54.144-53.312z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["circle-chevron"],"grid":16},"attrs":[],"properties":{"order":111,"id":102,"name":"circle-chevron","prevSize":32,"code":59711},"setIdx":0,"setId":6,"iconIdx":110},{"icon":{"paths":["M732.401 613.415h-35.444v355.63h-659.207v-916.264h458.702v183.92c0 9.964 7.757 17.723 17.721 17.723h183.921v25.48h34.304v-50.962l-211.644-211.644-518.49 0.039v987.152l730.134 0.039 0.003-391.113z","M247.155 295.432h368.949v35.444h-368.949v-35.444z","M247.155 367.458h274.78v35.447h-274.78v-35.447z","M195.050 278.805l-44.306 56.516-12.169-11.068-24.379 25.481 25.481 24.377c3.308 3.31 7.759 4.45 12.169 4.45h1.103c4.451 0 8.861-2.206 12.169-6.656l56.516-70.888-26.584-22.212z","M195.050 463.83l-44.306 56.516-12.169-11.068-24.379 25.481 25.481 24.38c3.308 3.307 7.759 4.45 12.169 4.45h1.103c4.451 0 8.861-2.206 12.169-6.656l56.516-70.891-26.584-22.212z","M138.582 688.759l-24.379 25.481 25.481 24.38c3.308 3.31 7.759 4.45 12.169 4.45h1.103c4.45 0 8.861-2.206 12.169-6.656l56.516-70.888-27.687-22.174-44.306 56.516-11.066-11.109z","M901.945 133.68c-12.172-8.861-27.687-7.759-36.548 2.205l-25.481 32.137c-2.206-1.103-5.555-1.103-7.76-1.103-4.45 1.103-8.859 3.308-12.169 6.656l-46.55 59.824c-4.45 5.553-4.45 13.312-1.104 18.826l-173.997 226.024h-351.186v35.444h323.54l-28.791 36.548-294.744 0.039v35.447h268.126l-58.719 75.341h-209.409v35.444h181.714l-24.38 31.033c-1.104 1.104-2.206 3.31-2.206 4.45v1.104h-155.095v35.444h145.135l-6.656 21.069-31.036 104.13 144.063-86.448c1.101-1.101 3.307-2.206 4.45-3.307l366.741-471.97c2.206 1.104 4.45 1.104 6.656 1.104 5.552 0 9.963-2.206 14.413-6.656l36.548-46.553 14.413 11.068-112.991 144.024 27.687 22.174 122.883-158.402c3.31-3.307 4.45-8.862 3.31-13.312-1.104-4.45-3.31-8.861-6.656-12.169l-37.653-29.932 24.38-32.137c4.45-5.553 5.555-13.312 3.307-21.070-1.101-5.553-5.552-11.068-9.963-14.415l-54.272-42.063zM419.962 811.75l-1.101-1.101c-1.104-1.104-2.206-1.104-2.206-2.206l14.413-47.655c5.555 3.307 12.169 6.656 16.619 11.068 5.555 4.45 11.068 8.862 15.518 13.312l-43.243 26.582zM873.109 289.914l-60.928-47.654 24.38-31.034 60.925 47.654-24.377 31.034z"],"width":996,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["checklist-pen"],"grid":16},"attrs":[],"properties":{"order":112,"id":103,"name":"checklist-pen","prevSize":32,"code":59710},"setIdx":0,"setId":6,"iconIdx":111},{"icon":{"paths":["M499.046 728.65c-126.4 0-229.199-102.798-229.199-229.201 0-126.4 102.899-229.199 229.199-229.199 126.401 0 229.2 102.799 229.2 229.199 0.102 126.403-102.798 229.201-229.2 229.201zM499.046 347.055c-83.999 0-152.399 68.4-152.399 152.399 0 84.101 68.4 152.401 152.399 152.401 83.996 0 152.4-68.403 152.4-152.401 0.102-84.101-68.301-152.399-152.4-152.399z","M499.558 995.76c-21.8 0-43.899-1.502-65.7-4.403-14.7-1.997-27.001-12.299-31.501-26.396-10.5-33.001-34.801-59.5-66.601-72.801-31.601-13.198-68.101-11.6-98.601 3.999-13.2 6.798-29.199 5.302-41.001-3.698-34.601-26.601-65.4-57.503-91.5-91.802-9-11.799-10.4-27.699-3.6-40.903 16-30.999 17.7-66.799 4.8-98.196-12.9-31.403-39.401-55.501-72.599-66.202-14.1-4.597-24.3-16.799-26.199-31.499-5.6-42.8-5.6-86.4 0.2-129.6 2-14.7 12.3-27 26.399-31.501 33.001-10.5 59.5-34.801 72.801-66.701 13.3-31.8 11.8-67.799-4-98.601-6.8-13.2-5.3-29.2 3.8-41.001 26.601-34.601 57.5-65.301 91.799-91.5 11.8-9 27.699-10.4 40.901-3.6 30.7 15.9 66.801 17.8 98.199 4.8 31.401-12.9 55.501-39.401 66.299-72.599 4.6-14.1 16.8-24.3 31.501-26.199 42.601-5.6 86.5-5.5 129.6 0.2 14.698 2 27.003 12.3 31.503 26.399 10.496 33.001 34.799 59.499 66.6 72.801 31.698 13.2 68.198 11.6 98.6-4 13.198-6.8 29.201-5.3 41 3.7 34.6 26.601 65.399 57.5 91.5 91.799 9 11.8 10.399 27.699 3.601 40.901-16.003 30.999-17.698 66.801-4.801 98.199 12.902 31.401 39.401 55.501 72.602 66.199 14.097 4.6 24.297 16.8 26.197 31.501 5.598 42.801 5.598 86.4-0.199 129.6-2.002 14.698-12.299 26.998-26.402 31.503-32.996 10.496-59.494 34.799-72.801 66.697-13.301 31.801-11.799 67.8 4.005 98.6 6.798 13.204 5.296 29.201-3.8 41.006-26.601 34.6-57.503 65.297-91.802 91.5-11.799 9-27.699 10.399-40.903 3.595-30.697-15.798-66.799-17.698-98.196-4.796-31.3 12.897-55.501 39.401-66.298 72.596-4.602 14.103-16.799 24.303-31.503 26.197-21.1 2.702-42.601 4.204-63.9 4.204v0zM466.058 917.561c21.8 1.695 43.599 1.798 65.4 0.097 20.6-43.401 56.198-77.699 100.503-96 44.1-18.199 93.798-19.001 138.997-2.697 16.503-14.103 32-29.503 46.302-46.205-16.1-45.096-15.002-94.697 3.698-139.395 18.603-44.703 53.003-80.501 96.398-100.902 1.701-21.8 1.803-43.699 0.102-65.4-43.401-20.601-77.699-56.2-96-100.601-18.301-44.301-19.001-93.801-2.702-139-14.097-16.5-29.497-32-46.199-46.3-44.999 16-95.095 14.8-139.401-3.7-44.698-18.6-80.497-53-100.898-96.3-21.8-1.8-43.599-1.8-65.4-0.1-20.6 43.4-56.2 77.701-100.5 96-44.101 18.2-93.801 19-139.001 2.7-16.499 14.1-32 29.499-46.3 46.201 16.1 45.099 15 94.7-3.699 139.399-18.6 44.7-53 80.499-96.399 100.9-1.7 21.8-1.801 43.699-0.1 65.401 43.399 20.6 77.701 56.197 96 100.599 18.299 44.299 19 93.804 2.7 139.002 14.1 16.498 29.499 32 46.2 46.302 45.1-16.003 95.099-14.7 139.4 3.698 44.8 18.597 80.399 52.998 100.9 96.302z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["gear"],"grid":16},"attrs":[],"properties":{"order":113,"id":104,"name":"gear","prevSize":32,"code":59709},"setIdx":0,"setId":6,"iconIdx":112},{"icon":{"paths":["M44.522 0c-24.589 0-44.522 19.933-44.522 44.522v933.1c0 24.589 19.933 44.522 44.522 44.522h986.9c24.589 0 44.522-19.932 44.522-44.522v-825.506c0-24.589-19.932-44.522-44.522-44.522h-681.123c-16.863 0-32.28-9.528-39.821-24.611l-29.186-58.372c-7.542-15.083-22.958-24.611-39.822-24.611h-196.948zM1017.691 268.986h-959.442c-2.459 0-4.452-1.994-4.452-4.452v-206.284c0-2.459 1.993-4.452 4.452-4.452h179.386c2.459 0 4.973 1.885 5.973 4.132 8.927 20.057 54.955 103.463 79.175 103.463h694.909c2.462 0 4.452 1.993 4.452 4.452v98.69c0 2.458-1.99 4.452-4.452 4.452zM638.148 632.235c0 45.911-37.22 83.127-83.131 83.127s-83.131-37.216-83.131-83.127c0-45.915 37.22-83.131 83.131-83.131s83.131 37.216 83.131 83.131z"],"width":1113,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["electronic-folder"],"grid":16},"attrs":[],"properties":{"order":114,"id":105,"name":"electronic-folder","prevSize":32,"code":59708},"setIdx":0,"setId":6,"iconIdx":113},{"icon":{"paths":["M31.030 0h527.515c0 0 124.121 135.405 186.182 186.182v806.788c0 17.138-13.892 31.030-31.030 31.030h-682.667c-17.138 0-31.030-13.892-31.030-31.030v-961.939c0-17.138 13.893-31.030 31.030-31.030zM605.091 415.030h-465.455v46.545h465.455v-46.545zM139.636 554.667v46.545h465.455v-46.545h-465.455zM605.091 694.303h-465.455v46.545h465.455v-46.545zM527.515 201.813l155.152-0.116-155.266-155.035 0.115 155.151z"],"width":745,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["electronic-file"],"grid":16},"attrs":[],"properties":{"order":115,"id":106,"name":"electronic-file","prevSize":32,"code":59707},"setIdx":0,"setId":6,"iconIdx":114},{"icon":{"paths":["M969.779 988.585c-48.67-158.195-176.331-276.393-341.852-317.165-28.969-32.341-38.916-53.513-42.214-63.708 15.477-24.245 65.214-104.489 95.979-179.226h9.365c49.25 0 85.109-28.587 85.109-78.048 0-15.317-4.561-28.292-11.791-39.317-4.028-154.586-107.43-311.121-278.426-311.121-171.821 0-264.885 148.006-272.548 300.582-12.326 12.73-20.090 29.414-20.090 49.854 0 37.95 21.203 63.462 53.231 73.316 27.511 48.196 85.449 103.804 205.011 111.61 6.065 9.611 16.207 16.292 28.337 16.292 18.923 0 34.257-15.462 34.257-34.438 0-19.023-15.381-34.438-34.257-34.438-11.014 0-20.38 5.609-26.688 13.756-44.107-2.976-77.926-13.171-104.275-26.829-21.933-48.975-40.469-99.268-42.605-132.096 56.966-23.17 222.963-93.463 281.431-148.005 0 0 24.555 87.512 79.386 121.562 0.533 6.682 0.873 13.365 0.873 20.049 0 65.414-86.129 211.369-119.319 262.044-2.571 3.951-3.639 8.732-3.008 13.414 2.231 15.853 13.683 49.903 65.022 103.364-4.998 27.025-28.241 108.049-126.257 108.489-98.308-0.489-127.661-81.122-134.891-109.122 1.263-0.292 2.428-0.83 3.785-1.073l-0.58-2.438c58.323-61.903 62.255-94.148 61.818-102.88-0.096-3.121-0.971-6.146-2.522-8.877-4.755-8.292-10.773-19.221-17.468-31.708-18.586-4.587-35.908-10.244-52.407-16.538 14.364 28.439 26.737 51.025 32.706 61.562-2.622 8.489-12.326 30.684-46.679 67.855-164.877 44.877-289.929 163.565-327.629 314.093-1.456 5.805-0.146 12 3.542 16.781 3.639 4.877 9.316 7.659 15.285 7.659h931.795c6.163 0 11.985-2.927 15.625-7.902 3.686-5.026 4.755-11.465 2.959-17.367l-0.009 0.015zM485.956 38.975c146.927 0 221.943 129.661 236.986 240.539-7.036-2.583-14.46-4.341-22.176-5.559-20.572-99.317-94.231-188.779-214.763-188.779-119.172 0-192.154 89.073-212.725 188.192-6.453 0.732-12.762 1.854-18.827 3.561 14.071-108.391 80.646-237.955 231.507-237.955l-0.002 0.002zM45.226 974.822c38.528-117.562 137.511-210.831 267.121-254.052 13.683 53.903 62.11 136.979 171.087 136.979h1.892c0.098 0 0.145-0.049 0.243-0.049 110.731-0.535 153.673-85.122 163.324-139.413 128.591 41.073 228.887 133.807 275.17 256.486l-878.838 0.049z","M1213.57 643.277h-15.418v154.679h-286.718v-398.524h199.509v79.996c0 4.335 3.375 7.708 7.708 7.708h79.996v11.083h14.921v-22.165l-92.053-92.053-225.515 0.017v429.357l317.568 0.017 0.002-170.114z","M1002.515 504.973h160.471v15.415h-160.471v-15.415z","M1002.515 536.301h119.514v15.415h-119.514v-15.415z","M979.851 497.741l-19.27 24.582-5.293-4.815-10.603 11.083 11.083 10.605c1.438 1.438 3.375 1.935 5.293 1.935h0.48c1.935 0 3.853-0.96 5.293-2.895l24.58-30.833-11.563-9.662z","M979.851 578.219l-19.27 24.58-5.293-4.813-10.603 11.083 11.083 10.603c1.438 1.44 3.375 1.937 5.293 1.937h0.48c1.935 0 3.853-0.96 5.293-2.895l24.58-30.833-11.563-9.662z","M955.292 676.049l-10.605 11.083 11.083 10.603c1.44 1.438 3.375 1.935 5.293 1.935h0.48c1.937 0 3.855-0.958 5.293-2.895l24.582-30.833-12.043-9.643-19.27 24.58-4.813-4.83z","M1287.311 434.62c-5.293-3.853-12.043-3.375-15.895 0.96l-11.083 13.978c-0.96-0.48-2.415-0.48-3.375-0.48-1.935 0.48-3.855 1.44-5.293 2.895l-20.247 26.020c-1.937 2.415-1.937 5.79-0.48 8.188l-75.68 98.308h-152.747v15.418h140.723l-12.523 15.895-128.198 0.017v15.418h116.621l-25.54 32.768h-91.081v15.418h79.036l-10.605 13.498c-0.48 0.48-0.96 1.44-0.96 1.937v0.478h-67.456v15.418h63.125l-2.895 9.165-13.5 45.291 62.66-37.6c0.48-0.48 1.438-0.96 1.935-1.44l159.511-205.28c0.96 0.48 1.937 0.48 2.895 0.48 2.417 0 4.335-0.96 6.27-2.895l15.898-20.247 6.27 4.813-49.146 62.643 12.043 9.645 53.446-68.896c1.438-1.44 1.935-3.855 1.438-5.79-0.478-1.937-1.438-3.855-2.895-5.295l-16.375-13.018 10.603-13.978c1.937-2.415 2.417-5.79 1.44-9.165-0.48-2.415-2.415-4.813-4.335-6.27l-23.605-18.295zM1077.677 729.545l-0.48-0.48c-0.48-0.48-0.96-0.48-0.96-0.96l6.27-20.727c2.415 1.44 5.293 2.895 7.228 4.815 2.417 1.935 4.815 3.853 6.75 5.79l-18.807 11.563zM1274.769 502.573l-26.5-20.725 10.605-13.5 26.5 20.727-10.605 13.498z"],"width":1323,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["support-check-list"],"grid":16},"attrs":[],"properties":{"order":116,"id":107,"name":"support-check-list","prevSize":32,"code":59704},"setIdx":0,"setId":6,"iconIdx":115},{"icon":{"paths":["M1132.769 426.376h-16.088v161.405h-299.184v-415.85h208.184v83.473c0 4.523 3.522 8.043 8.043 8.043h83.474v11.565h15.569v-23.129l-96.056-96.056-235.32 0.018v448.024l331.375 0.018 0.002-177.51z","M912.538 282.059h167.448v16.086h-167.448v-16.086z","M912.538 314.749h124.71v16.086h-124.71v-16.086z","M888.89 274.512l-20.11 25.651-5.523-5.024-11.064 11.565 11.565 11.066c1.503 1.5 3.522 2.019 5.523 2.019h0.501c2.019 0 4.023-1.002 5.523-3.021l25.651-32.174-12.065-10.082z","M888.89 358.489l-20.11 25.649-5.523-5.022-11.064 11.565 11.565 11.064c1.503 1.503 3.522 2.021 5.523 2.021h0.501c2.019 0 4.023-1.002 5.523-3.021l25.651-32.174-12.065-10.082z","M863.261 460.573l-11.066 11.565 11.565 11.064c1.503 1.5 3.522 2.019 5.523 2.019h0.501c2.021 0 4.023-1 5.523-3.021l25.651-32.174-12.566-10.062-20.108 25.649-5.022-5.040z","M1209.716 208.647c-5.523-4.022-12.566-3.521-16.587 1.001l-11.565 14.585c-1.002-0.501-2.52-0.501-3.522-0.501-2.019 0.501-4.023 1.503-5.523 3.021l-21.128 27.152c-2.021 2.52-2.021 6.042-0.501 8.544l-78.97 102.583h-159.388v16.088h146.842l-13.067 16.587-133.772 0.018v16.088h121.691l-26.651 34.193h-95.041v16.088h82.472l-11.066 14.084c-0.501 0.501-1.002 1.503-1.002 2.021v0.499h-70.389v16.088h65.87l-3.021 9.563-14.087 47.26 65.385-39.235c0.501-0.501 1.5-1.002 2.019-1.503l166.447-214.205c1.002 0.501 2.021 0.501 3.021 0.501 2.522 0 4.523-1.002 6.542-3.021l16.589-21.128 6.542 5.022-51.282 65.367 12.566 10.064 55.77-71.891c1.5-1.503 2.019-4.023 1.5-6.042-0.499-2.021-1.5-4.023-3.021-5.525l-17.087-13.584 11.064-14.585c2.021-2.52 2.522-6.042 1.503-9.563-0.501-2.52-2.52-5.022-4.523-6.542l-24.632-19.090zM990.967 516.394l-0.501-0.501c-0.501-0.501-1.002-0.501-1.002-1.002l6.542-21.629c2.52 1.503 5.523 3.021 7.542 5.024 2.522 2.019 5.024 4.020 7.043 6.042l-19.625 12.065zM1196.629 279.554l-27.652-21.626 11.066-14.087 27.652 21.629-11.066 14.084z","M334.826 1023.174c3.317 0.28 6.632 0.561 9.944 0.826h114.915c2.522-0.603 5.12-1.017 7.76-1.318 6.36-0.39 12.738-0.701 19.118-1.011 12.729-0.619 25.469-1.238 38.106-2.493 3.404-0.349 6.807-0.697 10.211-1.046 36.964-3.784 73.993-7.573 110.761-12.816 43.883-6.215 86.947-17.103 128.381-32.472 8.769-3.201 14.356-7.533 15.83-16.952 1.106-7.155 2.522-14.263 3.938-21.368 1.759-8.831 3.515-17.655 4.675-26.546 8.147-63.136 6.518-125.591-16.76-186.090-20.251-52.734-56.721-89.576-112.121-108.41-25.064-8.437-49.582-18.532-73.715-29.155-29.678-12.882-57.38-29.758-82.247-50.062-21.357 20.409-42.776 34.921-64.214 43.56l30.729 245.831-66.783 66.783-77.913-66.783 30.239-241.907c-25.032-7.738-50-23.465-74.834-47.146-3.143 2.246-6.142 4.443-9.065 6.585-5.554 4.067-10.828 7.932-16.268 11.536-41.748 27.762-87.994 46.369-135.404 62.569-36.547 12.13-67.623 36.163-87.952 68.069-18.39 28.251-28.943 59.441-34.53 92.289-10.359 61.099-7.216 121.669 7.1 181.94 1.785 7.76 5.82 12.206 13.424 14.427 8.977 2.629 17.911 5.416 26.845 8.203 18.094 5.648 36.187 11.293 54.628 15.605 66.028 15.445 133.421 21.773 201.123 25.54 8.041 0.454 16.063 1.133 24.080 1.812z","M415.679 0c13.851 1.769 27.477 4.93 40.686 9.409 30.6 10.689 58.415 28.115 81.337 51.036 11.97 11.969 21.379 21.604 28.378 37.826 8.47 19.685 8.281 37.524 8.092 47.197-0.301 16.674-5.645 61.499-6.85 73.769-0.563 5.307-0.49 9.409 4.365 12.722 8.695 5.946 9.185 15.204 8.319 24.313h-0.076c-1.805 22.13-8.279 43.582-18.931 63.043-6.097 10.99-7.905 24.313-12.119 36.432-12.722 36.207-34.026 93.453-85.326 119.804-18.744 9.258-39.333 14.113-60.222 14.189-11.591 0-34.778 0-59.016-13.361-11.291-6.173-17.991-12.796-27.325-21.566h-0.038c-21.905-20.776-39.293-45.804-51.113-73.543-7.413-16.936-12.043-34.927-18.405-52.315-2.257-6.249-5.87-11.97-8.806-17.953l0.038 0.038c-9.71-19.158-14.679-40.31-14.527-61.763 0.073-6.776 1.881-12.722 7.678-16.938 5.042-3.613 5.532-8.168 4.517-14.075h-0.038c-5.12-28.153-7.115-56.757-6.024-85.286 1.507-33.46 20.703-58.338 31.428-72.113 16.411-20.249 37.414-36.282 61.313-46.708v0.038c13.851-6.097 28.492-10.237 43.509-12.307l49.156-1.884z"],"width":1247,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["admin-check-list"],"grid":16},"attrs":[],"properties":{"order":117,"id":108,"name":"admin-check-list","prevSize":32,"code":59705,"codes":[59705]},"setIdx":0,"setId":6,"iconIdx":116},{"icon":{"paths":["M715.651 76.603h534.437c6.106 0 11.041 4.936 11.041 11.042v359.166c0 6.104-4.935 11.041-11.041 11.041h-534.437c-6.106 0-11.044-4.937-11.044-11.041v-359.166c0-6.106 4.937-11.042 11.044-11.042zM1239.073 98.658h-512.378v337.107h512.378v-337.107z","M847.126 615.175c-3.566 4.937-2.482 11.814 2.453 15.38 4.937 3.566 11.812 2.482 15.38-2.453l117.927-162.549 117.927 162.549c3.566 4.935 10.472 6.019 15.38 2.453 4.935-3.566 6.019-10.472 2.453-15.38l-126.482-174.329c-0.712-1.142-1.654-2.141-2.823-2.967-4.937-3.566-11.843-2.482-15.409 2.453v0l-126.807 174.844z","M801.135 168.527c-6.106 0-11.044 4.936-11.044 11.042s4.937 11.042 11.044 11.042h293.082c6.106 0 11.041-4.936 11.041-11.042s-4.935-11.042-11.041-11.042h-293.082z","M801.135 227.45c-6.106 0-11.044 4.937-11.044 11.041 0 6.106 4.937 11.044 11.044 11.044h311.775c6.106 0 11.041-4.937 11.041-11.044 0-6.104-4.935-11.041-11.041-11.041h-311.775z","M801.135 286.339c-6.106 0-11.044 4.935-11.044 11.041s4.937 11.041 11.044 11.041h363.473c6.106 0 11.041-4.935 11.041-11.041s-4.935-11.041-11.041-11.041h-363.473z","M343.243 1024c-11.329-0.906-22.657-1.997-34.024-2.638-67.702-3.767-135.095-10.095-201.123-25.54-27.545-6.44-54.316-15.859-81.473-23.808-7.604-2.222-11.639-6.667-13.424-14.427-14.316-60.271-17.458-120.841-7.1-181.94 5.587-32.848 16.139-64.038 34.529-92.289l0.039-0.038c20.291-31.869 51.367-55.901 87.914-68.031 47.409-16.199 93.655-34.807 135.402-62.569 8.303-5.501 16.217-11.602 25.335-18.12 73.715 70.291 148.631 70.518 222.773-0.338 24.87 20.304 52.571 37.18 82.249 50.062 24.133 10.623 48.651 20.718 73.715 29.155 55.401 18.835 91.871 55.677 112.121 108.41 23.278 60.498 24.908 122.953 16.76 186.090-2.095 16.046-6.128 31.869-8.613 47.914-1.474 9.419-7.061 13.751-15.83 16.952l0.040 0.038c-41.474 15.331-84.538 26.219-128.421 32.434-40.156 5.725-80.62 9.719-120.972 13.862-18.973 1.883-38.177 2.335-57.224 3.504-2.64 0.301-5.238 0.715-7.76 1.318h-114.915z","M414.152 0c13.851 1.769 27.477 4.93 40.686 9.409 30.6 10.689 58.415 28.115 81.337 51.036 11.97 11.969 21.379 21.604 28.378 37.826 8.468 19.685 8.281 37.524 8.092 47.197-0.301 16.674-5.645 61.499-6.85 73.769-0.563 5.307-0.49 9.409 4.365 12.722 8.695 5.946 9.185 15.204 8.319 24.313h-0.076c-1.805 22.13-8.279 43.582-18.931 63.043-6.097 10.99-7.905 24.313-12.119 36.432-12.722 36.207-34.026 93.453-85.326 119.804-18.744 9.258-39.333 14.113-60.222 14.189-11.591 0-34.778 0-59.016-13.361-11.293-6.173-17.991-12.796-27.325-21.566h-0.038c-21.905-20.776-39.293-45.804-51.113-73.543-7.413-16.936-12.043-34.927-18.405-52.315-2.257-6.249-5.87-11.97-8.806-17.953l0.038 0.038c-9.71-19.158-14.679-40.31-14.53-61.763 0.076-6.776 1.883-12.722 7.68-16.938 5.042-3.613 5.532-8.168 4.517-14.075h-0.038c-5.12-28.153-7.115-56.757-6.024-85.286 1.507-33.46 20.703-58.338 31.428-72.113 16.411-20.249 37.414-36.282 61.313-46.708v0.038c13.851-6.097 28.492-10.237 43.509-12.307l49.156-1.884z"],"width":1269,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["user-board"],"grid":16},"attrs":[],"properties":{"order":118,"id":109,"name":"user-board","prevSize":32,"code":59706},"setIdx":0,"setId":6,"iconIdx":117},{"icon":{"paths":["M654.222 1017.68l654.222-508.84-654.222-508.839-654.222 508.839 118.487 92.317 535.735 416.523z"],"width":1308,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["layer"],"grid":16},"attrs":[],"properties":{"order":119,"id":110,"name":"layer","prevSize":32,"code":59701},"setIdx":0,"setId":6,"iconIdx":118},{"icon":{"paths":["M470.516 865.665l-385.729-299.893-84.787 65.946 471.040 366.363 471.040-366.363-85.311-66.47-386.253 300.417zM471.040 732.729l471.040-366.365-471.040-366.364-471.040 366.364 85.311 66.468 385.729 299.897z"],"width":942,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["layers"],"grid":16},"attrs":[],"properties":{"order":120,"id":111,"name":"layers","prevSize":32,"code":59702},"setIdx":0,"setId":6,"iconIdx":119},{"icon":{"paths":["M513.054 1.931c-135.279 0-265.004 53.722-360.662 149.39-95.612 95.667-149.39 225.393-149.39 360.662 0 135.266 53.777 265.003 149.39 360.661 95.667 95.667 225.393 149.389 360.662 149.389 135.266 0 265.003-53.722 360.661-149.389 95.667-95.667 149.389-225.395 149.389-360.661-0.166-135.223-53.943-264.89-149.559-360.506s-225.28-149.39-360.508-149.561l0.017 0.014zM513.054 968.717c-121.112 0-237.285-48.111-322.945-133.777-85.611-85.666-133.777-201.83-133.777-322.944 0-121.118 48.167-237.286 133.777-322.946 85.666-85.666 201.827-133.777 322.945-133.777 121.114 0 237.282 48.111 322.944 133.777 85.666 85.666 133.777 201.827 133.777 322.946-0.166 121.109-48.277 237.167-133.948 322.773-85.611 85.611-201.668 133.777-322.773 133.943v0.004z","M539.221 419h-97.442v48.388h42.999v180.608h-42.999v48.333h140.442v-48.333h-42.999v-228.996z","M510.050 357.653c8.725 0.167 17.169-3.333 23.279-9.556 6.387-6.055 9.89-14.499 9.779-23.333 0.166-8.778-3.392-17.222-9.779-23.278-6.165-6.167-14.554-9.556-23.279-9.389-8.943-0.278-17.553 3.278-23.667 9.777-12.497 12.778-12.497 33.222 0 46.001 6.17 6.5 14.724 10.055 23.667 9.777v-0.001z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["info-circle"],"grid":16},"attrs":[],"properties":{"order":121,"id":112,"name":"info-circle","prevSize":32,"code":59703},"setIdx":0,"setId":6,"iconIdx":120},{"icon":{"paths":["M432.006 88.615l-409.299 708.923c-53.057 91.896 13.265 206.769 119.378 206.769h818.596c106.11 0 172.434-114.873 119.375-206.769l-409.297-708.923c-53.055-91.898-185.698-91.897-238.753 0zM483.167 118.154c30.318-52.513 106.114-52.513 136.432 0l409.297 708.923c30.318 52.512-7.578 118.154-68.214 118.154h-818.596c-60.637 0-98.534-65.642-68.216-118.154l409.297-708.923zM521.846 305.231c0-16.314 13.225-29.538 29.538-29.538s29.538 13.225 29.538 29.538v334.769c0 16.313-13.225 29.538-29.538 29.538s-29.538-13.225-29.538-29.538v-334.769zM521.846 777.846c0-16.313 13.225-29.538 29.538-29.538s29.538 13.225 29.538 29.538v19.692c0 16.313-13.225 29.538-29.538 29.538s-29.538-13.225-29.538-29.538v-19.692z"],"width":1103,"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":[""],"grid":16},"attrs":[{}],"properties":{"order":122,"id":113,"name":"danger","prevSize":32,"code":59698},"setIdx":0,"setId":6,"iconIdx":121},{"icon":{"paths":["M768 362.667h-42.667v-85.333c0-117.76-95.573-213.333-213.333-213.333s-213.333 95.573-213.333 213.333v85.333h-42.667c-46.933 0-85.333 38.4-85.333 85.333v426.667c0 46.933 38.4 85.333 85.333 85.333h512c46.933 0 85.333-38.4 85.333-85.333v-426.667c0-46.933-38.4-85.333-85.333-85.333zM512 746.667c-46.933 0-85.333-38.4-85.333-85.333s38.4-85.333 85.333-85.333c46.933 0 85.333 38.4 85.333 85.333s-38.4 85.333-85.333 85.333zM384 277.333c0-70.827 57.173-128 128-128s128 57.173 128 128v85.333h-256v-85.333z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":[""],"grid":16},"attrs":[],"properties":{"order":123,"id":114,"name":"lock","prevSize":32,"code":59699},"setIdx":0,"setId":6,"iconIdx":122},{"icon":{"paths":["M297.551 375.321l-1.934 3.35-35.729-20.628c-10.502-6.028-23.48-5.671-33.38 0.999-9.926 6.655-14.979 18.426-13.053 30.25l25.026 154.777c1.505 9.348 7.232 17.609 15.53 22.4s18.316 5.619 27.163 2.249l146.627-55.671c11.217-4.271 18.876-14.575 19.674-26.496 0.777-11.938-5.431-23.373-15.987-29.431l-35.648-20.582 1.934-3.349c24.085-41.78 63.846-72.377 110.831-85.236 46.976-12.899 97.481-7.081 140.804 16.224 43.345 23.279 76.087 62.209 91.358 108.531 15.245 46.31 11.767 96.393-9.673 139.631-21.427 43.209-59.179 76.186-105.233 91.925-46.025 15.753-96.742 13.018-141.393-7.633-14.831-6.852-32.333-1.429-40.26 12.484l-25.804 44.693c-4.332 7.445-5.308 16.405-2.662 24.704 2.631 8.32 8.649 15.215 16.57 19.055 71.616 34.577 153.583 40.311 228.407 15.966 74.829-24.35 136.593-76.86 172.113-146.33 35.503-69.444 41.95-150.37 17.997-225.463-23.966-75.14-76.489-138.473-146.325-176.561s-151.484-47.894-227.511-27.316c-76.031 20.581-140.418 69.932-179.439 137.454l-0.003 0.007z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":[""],"grid":16},"attrs":[],"properties":{"order":124,"id":115,"name":"refresh","prevSize":32,"code":59700},"setIdx":0,"setId":6,"iconIdx":123},{"icon":{"paths":["M58.081 677.369c9.831-2.396 15.826-12.372 13.428-22.203-8.008-32.465-12.229-66.417-12.229-101.424 0-116.627 47.139-222.081 123.44-298.564 76.152-76.295 181.175-123.439 297.324-123.623l-41.77 65.746c-5.418 8.536-2.924 19.901 5.612 25.368 8.536 5.418 19.854 2.925 25.32-5.659l56.78-89.484c2.062-2.014 3.643-4.46 4.603-7.289l5.275-8.296-6.617-6.666c-1.584-2.734-3.884-4.987-6.617-6.618l-74.427-75.002c-7.145-7.193-18.751-7.193-25.896-0.048-7.193 7.145-7.193 18.75-0.048 25.944h-0.048l45.268 45.557c-246.866 7.049-444.873 209.558-444.873 458.586 0 37.981 4.652 74.859 13.331 110.201 2.398 9.88 12.324 15.874 22.155 13.476l-0.011-0.002z","M761.767 868.368c-74.618 66.945-173.024 107.609-281.070 107.609-160.022 0.048-299.188-89.338-370.6-220.975l77.782 5.084c10.070 0.671 18.798-7.002 19.469-17.121 0.671-10.117-7.001-18.846-17.072-19.515l-124.017-8.106-35.103 119.455c-2.829 9.735 2.686 19.95 12.42 22.781 9.687 2.876 19.901-2.687 22.779-12.42l18.127-61.622c79.125 136.907 226.869 229.128 396.198 229.176 117.346 0 224.525-44.262 305.573-116.961 7.53-6.761 8.153-18.366 1.39-25.896-6.761-7.625-18.318-8.249-25.896-1.486l0.018-0.002z","M935.601 794.61l-69.389 7.002c45.891-71.5 72.556-156.624 72.556-247.874-0.048-213.452-145.403-392.847-342.453-444.212-9.83-2.542-19.804 3.309-22.346 13.14s3.356 19.854 13.139 22.395c181.175 47.236 315.014 212.297 314.964 408.623 0 84.833-24.936 163.717-67.855 229.852l-23.163-69.68c-3.213-9.591-13.571-14.816-23.161-11.605-9.591 3.213-14.818 13.571-11.605 23.211l33.376 100.418c0.241 2.733 1.151 5.418 2.59 7.817l3.311 9.926 11.077-1.151c1.868 0.146 3.739-0.096 5.514-0.576l107.083-10.788c10.072-1.008 17.408-10.024 16.402-20.093-0.96-10.022-9.928-17.408-20.045-16.4l0.005-0.002z","M494.287 654.261c-50.558 0-91.68-41.122-91.68-91.68 0-50.561 41.16-91.68 91.68-91.68 50.561 0 91.68 41.119 91.68 91.68 0.041 50.558-41.119 91.68-91.68 91.68zM494.287 501.623c-33.599 0-60.96 27.359-60.96 60.96 0 33.64 27.361 60.96 60.96 60.96 33.601 0 60.96-27.361 60.96-60.96 0.041-33.642-27.32-60.96-60.96-60.96z","M494.492 761.105c-8.72 0-17.558-0.601-26.278-1.761-5.88-0.799-10.802-4.92-12.602-10.559-4.198-13.2-13.92-23.8-26.64-29.12-12.641-5.282-27.241-4.64-39.44 1.6-5.279 2.719-11.68 2.119-16.4-1.481-13.84-10.64-26.16-22.999-36.6-36.718-3.6-4.72-4.16-11.080-1.44-16.361 6.401-12.4 7.079-26.72 1.921-39.278-5.161-12.561-15.76-22.2-29.041-26.481-5.639-1.839-9.719-6.72-10.479-12.6-2.239-17.121-2.239-34.561 0.080-51.839 0.801-5.88 4.92-10.802 10.559-12.602 13.2-4.198 23.8-13.92 29.123-26.679 5.318-12.72 4.72-27.12-1.602-39.442-2.719-5.279-2.119-11.678 1.52-16.4 10.64-13.84 23.001-26.119 36.721-36.6 4.72-3.6 11.080-4.16 16.361-1.438 12.279 6.358 26.72 7.118 39.278 1.918 12.561-5.159 22.2-15.76 26.519-29.038 1.841-5.641 6.72-9.721 12.602-10.481 17.039-2.239 34.6-2.198 51.839 0.082 5.88 0.799 10.8 4.92 12.6 10.559 4.201 13.2 13.92 23.8 26.64 29.12 12.682 5.279 27.282 4.64 39.44-1.6 5.282-2.719 11.68-2.121 16.402 1.479 13.84 10.64 26.16 23.001 36.6 36.721 3.6 4.72 4.16 11.080 1.438 16.361-6.399 12.4-7.079 26.72-1.918 39.278 5.159 12.561 15.76 22.2 29.038 26.481 5.641 1.839 9.721 6.72 10.479 12.6 2.241 17.119 2.241 34.559-0.080 51.839-0.799 5.88-4.92 10.8-10.559 12.6-13.2 4.201-23.8 13.922-29.12 26.681-5.32 12.72-4.72 27.12 1.6 39.44 2.719 5.282 2.121 11.68-1.52 16.402-10.64 13.84-23.001 26.119-36.721 36.598-4.72 3.6-11.080 4.162-16.359 1.44-12.281-6.319-26.722-7.079-39.281-1.921-12.52 5.161-22.2 15.76-26.519 29.041-1.841 5.641-6.72 9.721-12.6 10.479-8.44 1.081-17.042 1.682-25.561 1.682v0zM481.093 729.823c8.72 0.68 17.44 0.721 26.16 0.041 8.24-17.36 22.48-31.080 40.2-38.4 17.64-7.28 37.519-7.6 55.601-1.081 6.599-5.639 12.8-11.799 18.518-18.48-6.44-18.038-5.998-37.879 1.481-55.76 7.439-17.879 21.199-32.199 38.559-40.359 0.68-8.72 0.719-17.479 0.039-26.16-17.358-8.24-31.080-22.48-38.4-40.241-7.318-17.72-7.598-37.519-1.079-55.599-5.641-6.601-11.799-12.8-18.48-18.521-18 6.401-38.040 5.921-55.76-1.479-17.881-7.441-32.199-21.201-40.359-38.521-8.72-0.719-17.44-0.719-26.162-0.041-8.24 17.36-22.478 31.082-40.2 38.4-17.64 7.282-37.519 7.6-55.599 1.081-6.601 5.641-12.8 11.799-18.521 18.48 6.44 18.041 6.001 37.881-1.479 55.76-7.441 17.879-21.201 32.199-38.562 40.359-0.678 8.72-0.719 17.481-0.039 26.16 17.36 8.242 31.080 22.48 38.4 40.241 7.32 17.72 7.6 37.522 1.079 55.601 5.641 6.599 11.801 12.8 18.482 18.518 18.038-6.399 38.038-5.88 55.758 1.481 17.92 7.439 32.16 21.199 40.362 38.518z"],"width":956,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":[""],"grid":16},"attrs":[],"properties":{"order":125,"id":116,"name":"cycle-gear","prevSize":32,"code":59697},"setIdx":0,"setId":6,"iconIdx":124},{"icon":{"paths":["M447.488 1.434c-18.022 2.253-62.669 11.674-80.691 16.998-43.008 12.902-100.762 39.526-137.421 63.488-57.549 37.683-111.002 90.726-149.709 148.48-17.613 26.214-45.056 79.872-56.115 110.387-9.216 25.19-21.094 71.27-22.528 86.835l-0.819 11.674 1.843-10.24c9.83-49.357 20.89-84.992 38.707-124.109 77.824-171.213 241.664-287.13 429.261-303.514 4.915-0.41 3.277-0.819-4.096-0.819-6.758 0-14.95 0.41-18.432 0.819z","M549.888 1.229c3.482 0.41 14.95 1.843 25.6 3.072 37.888 4.301 84.787 16.179 121.651 30.925 44.851 17.818 102.4 50.586 133.12 75.776 20.685 17.203 38.093 32.973 37.069 33.997-0.41 0.614-6.963-4.506-14.131-11.469-59.187-55.296-147.661-100.557-232.653-118.989-52.019-11.059-124.314-14.131-175.104-7.373-117.555 15.565-220.16 67.379-303.104 152.781-71.475 73.523-115.712 159.13-135.578 261.939-4.506 23.757-5.325 34.816-6.349 78.438-1.024 55.091 0.41 73.318 9.216 116.122 15.155 75.776 56.525 161.382 106.086 219.75 7.578 8.806 13.107 16.589 12.698 16.998-1.638 1.638-33.792-39.526-47.718-60.621-38.912-59.392-64.307-122.061-77.619-191.693-2.662-14.541-2.867-14.95-2.048-4.506 2.458 27.034 16.589 75.366 34.202 116.326 47.104 109.978 134.144 202.957 240.435 257.024 57.754 29.286 126.362 50.586 172.851 53.248 14.746 0.819 14.541 0.819-5.12-2.048-93.389-13.517-183.501-52.634-256.614-111.411-11.674-9.421-20.685-17.408-20.070-18.022 0.41-0.614 8.192 5.12 16.998 12.698 36.045 31.13 104.243 70.451 150.118 86.835 64.102 22.733 122.675 32.154 190.464 30.31 46.285-1.229 72.909-4.915 115.712-15.77 171.827-43.827 310.886-176.947 362.496-347.546 35.021-115.507 25.6-248.627-25.395-357.786-20.48-43.827-54.067-94.822-81.92-124.723-7.168-7.578-12.698-14.336-12.083-14.746 1.024-1.024 16.794 16.384 33.997 37.069 17.408 21.299 39.936 57.754 56.73 91.955 24.166 48.947 37.683 89.907 46.080 140.288 2.048 11.878 3.891 18.637 3.891 14.95 0.205-9.421-6.963-45.875-14.131-70.656-14.336-50.176-45.056-114.688-73.318-154.214-25.395-35.43-69.427-81.92-103.424-109.363-37.274-30.106-89.907-60.006-138.445-79.053-42.394-16.384-96.461-29.082-132.301-30.72-10.035-0.41-15.565-0.41-12.288 0.205zM540.058 194.355c128.41 24.986 230.195 124.518 256.614 250.88 21.094 100.557-5.939 203.981-72.909 280.576-57.344 65.741-134.349 103.219-227.533 110.797l-16.998 1.434v-130.458l11.878-0.614c81.101-3.891 154.624-63.898 176.947-144.794 3.686-13.926 4.506-21.504 4.506-50.176 0-30.72-0.614-35.43-5.53-51.814-11.059-36.25-27.443-62.464-56.115-89.498-30.515-29.082-68.403-46.49-110.797-51.61l-20.89-2.458v-128.819l20.070 1.229c10.854 0.614 29.286 3.072 40.755 5.325zM475.136 384v62.464h-125.952v-124.928h125.952v62.464zM346.112 513.024v62.464h-126.976v-124.928h126.976v62.464zM475.136 642.048v62.464h-125.952v-124.928h125.952v62.464z","M481.28 252.723v62.669h8.806c4.71 0 16.998 1.843 27.238 3.891 84.378 17.408 148.275 87.245 158.515 172.851 7.578 64.717-20.89 131.686-74.342 174.49-29.082 23.347-63.488 37.683-100.352 42.189l-19.866 2.458v123.29l22.733-1.434c82.534-5.734 160.358-44.237 217.498-107.93 34.202-38.093 58.982-87.245 72.499-143.565 6.144-26.624 8.602-80.691 4.915-109.568-9.421-70.861-41.779-136.806-91.341-186.368-56.32-55.91-126.157-87.654-208.282-94.208l-18.022-1.434v62.669zM531.456 197.837c51.405 8.192 99.942 29.082 143.974 62.054 20.48 15.565 53.862 50.176 66.97 69.837 23.552 35.021 43.213 82.33 51.61 123.904 5.734 28.262 5.12 94.822-1.024 123.29-13.722 63.078-42.598 116.736-86.426 160.358-56.115 56.32-125.133 87.859-203.776 93.389l-19.456 1.434v-118.784l20.48-2.662c50.381-6.349 94.003-30.72 128.41-71.68 49.562-59.187 61.030-138.65 29.491-205.824-31.13-66.56-95.027-113.459-161.997-118.989l-16.384-1.434v-119.808l13.926 1.024c7.578 0.41 22.938 2.253 34.202 3.891z","M352.256 384v60.416h120.832v-120.832h-120.832v60.416zM471.040 384v58.368h-116.736v-116.736h116.736v58.368z","M221.184 513.024v60.416h121.856v-120.832h-121.856v60.416zM339.968 513.024v58.368l-57.754-0.41-57.958-0.614-0.614-55.296c-0.205-30.31 0-56.32 0.614-57.754 0.614-2.048 13.926-2.662 58.368-2.662h57.344v58.368z","M352.256 642.048v60.416h120.832v-120.832h-120.832v60.416zM471.040 641.434v57.958l-116.736-1.229v-114.483h116.736v57.754z","M1019.29 597.402c-12.902 80.896-52.429 168.141-106.906 235.52-29.491 36.659-78.848 81.715-116.736 106.291-66.56 43.213-140.902 71.27-216.064 81.51-12.493 1.638-18.022 2.867-12.902 3.072 22.733 0.614 88.064-14.95 128.614-30.72 69.427-26.829 129.229-65.946 182.272-119.398 51.61-52.019 87.040-105.267 114.483-172.237 16.384-40.55 33.382-105.472 31.539-121.037-0.41-3.072-2.253 4.506-4.301 16.998z"],"attrs":[{},{},{},{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["docuware-logo"],"grid":16},"attrs":[{},{},{},{},{},{},{}],"properties":{"order":126,"id":117,"name":"docuware-logo","prevSize":32,"code":59695},"setIdx":0,"setId":6,"iconIdx":125},{"icon":{"paths":["M490.701 30.925c-13.312 2.253-52.838 15.36-65.536 21.709s-29.286 18.637-39.322 28.672c-12.902 13.312-23.347 27.443-23.347 31.744 0 3.891-0.819 4.096-9.626 2.867-37.069-5.12-62.054-2.662-103.219 10.035-17.818 5.53-27.034 9.83-38.707 17.818-23.142 15.974-36.25 27.648-49.357 44.032-11.059 14.131-27.648 41.574-29.491 49.152-0.614 2.048-3.277 11.469-6.144 21.094-7.578 25.19-10.24 53.043-7.373 75.162l2.253 18.022-6.554 5.734c-24.576 20.685-34.816 30.515-42.189 40.346-10.854 14.95-24.371 40.346-26.010 48.742-0.614 3.686-3.482 13.722-6.554 22.528-4.915 14.541-5.53 18.432-5.53 49.562-0.205 31.334 0.205 35.021 5.53 52.634 3.072 10.24 6.144 21.299 6.758 24.371 1.638 8.602 16.179 35.43 24.986 45.875 16.589 20.070 37.069 38.912 43.418 40.141l6.349 1.434-1.638 11.469c-0.819 6.349-1.434 22.528-1.229 36.045 0.41 23.757 1.843 31.744 12.698 69.632 3.277 11.469 21.709 41.779 34.816 57.549 12.493 14.746 37.069 35.635 42.189 35.635 1.229 0 4.301 1.843 6.963 4.301 6.554 6.144 28.058 15.36 49.971 21.709 16.794 4.71 22.938 5.325 55.706 5.734l36.864 0.614 7.782 9.83c4.301 5.53 13.926 16.384 21.504 23.962 11.878 12.083 17.203 15.77 42.394 27.853 38.093 18.637 57.139 23.347 95.027 23.142 43.213 0 65.946-6.349 112.845-31.334 4.915-2.662 18.022-13.722 28.877-24.371 15.155-14.746 20.070-20.89 20.685-25.6 0.614-5.939 1.024-6.144 8.806-5.12 4.506 0.614 21.504 1.024 37.888 0.819 25.395 0 32.563-0.819 49.357-5.53 22.323-5.939 56.73-22.528 73.728-35.635 12.698-9.626 33.997-31.949 36.659-38.502 1.843-4.506 15.155-27.443 18.022-30.925 3.686-4.096 11.059-26.829 14.95-45.466 4.096-19.251 5.53-58.368 2.867-72.909-1.229-6.349-0.819-7.373 7.578-13.107 9.421-6.554 41.37-39.117 39.731-40.755-0.41-0.41 1.229-3.072 3.891-5.939 13.926-14.95 30.515-60.621 34.202-94.208 4.301-40.346-4.506-85.197-23.962-121.242-4.301-7.578-9.011-16.179-10.445-19.251-6.349-11.674-39.936-42.598-46.49-42.598h-4.915l0.819-32.358c0.819-27.443 0.41-35.226-3.482-53.658-5.734-27.853-13.312-47.309-25.19-63.898-5.325-7.373-9.011-13.926-8.397-14.541s-6.144-8.602-14.95-18.022c-36.864-38.707-89.293-61.44-142.95-62.054-12.288-0.205-26.624 0.41-31.744 1.229l-9.216 1.638-12.698-15.155c-20.48-24.576-64.102-57.958-69.018-53.043-0.614 0.819-1.229 0.205-1.229-1.024 0-1.434-0.614-2.253-1.434-2.048-1.024 0.205-9.011-2.048-18.022-5.12s-22.938-6.963-30.72-8.602c-15.36-3.277-52.634-3.686-69.427-0.819zM552.346 47.309c11.059 2.458 24.371 5.939 29.696 8.192 9.626 3.686 37.274 19.661 45.261 26.214 8.397 6.758 25.19 23.962 30.106 30.925 2.662 3.891 5.53 7.578 6.144 8.192s2.662 3.482 4.506 6.349l3.482 5.53-18.842 9.011c-52.224 25.395-86.63 66.56-101.99 122.061-4.096 14.541-4.506 21.914-5.325 92.57-0.41 42.189-1.229 79.462-1.638 82.944-1.024 5.939-1.434 6.144-11.878 6.144-5.734 0-11.264 0.819-12.083 2.048-0.819 1.024-1.638-34.406-1.638-79.053 0-90.726-1.229-103.834-13.107-135.168-12.902-34.611-36.25-66.355-65.536-89.702-14.541-11.674-43.622-27.648-53.862-29.901-3.686-0.819-6.758-2.048-6.758-2.867 0-2.253 22.118-24.576 31.744-32.154 18.637-14.541 45.466-26.214 71.68-31.539 24.986-5.12 46.080-4.915 70.042 0.205zM348.57 131.277c9.83 2.048 11.878 3.072 10.65 5.734-12.288 28.467-17.203 52.429-17.203 83.558 0 37.478 10.65 72.704 30.925 102.4 3.686 5.325 30.925 34.406 60.621 64.512s53.862 56.115 53.862 57.549c0 1.638-2.867 4.096-6.144 5.53-3.482 1.434-7.168 4.096-8.192 5.939-2.048 3.891-0.614 5.12-70.656-63.488-47.718-46.49-63.078-58.573-91.136-70.656-30.31-13.107-44.237-15.77-81.92-15.974-30.925-0.205-35.43 0.205-54.067 5.53-11.059 3.072-24.371 7.373-29.491 9.626l-9.216 4.096 1.229-24.986c0.614-13.926 2.662-30.72 4.506-37.478 2.048-6.758 3.686-13.312 3.891-14.336 0.205-1.229 0.819-3.072 1.434-4.096 0.819-1.229 1.843-4.915 2.662-8.192 2.048-8.806 19.866-37.888 22.323-36.454 1.229 0.614 1.434 0.205 0.614-1.024-1.638-2.867 22.528-27.648 37.683-38.912 37.478-27.238 89.702-38.298 137.626-28.877zM762.675 132.096c36.045 9.011 60.006 22.528 85.197 48.128 34.611 34.816 51.2 75.571 51.2 124.928 0 52.019-15.36 90.931-49.971 125.747-25.805 26.214-58.778 43.418-96.461 50.381-8.192 1.434-45.056 2.048-109.363 1.638l-96.87-0.614 66.355-67.584c36.454-37.274 70.042-73.114 74.752-79.872 27.238-40.55 39.322-90.112 33.382-137.626-2.458-20.685-9.83-47.104-16.589-60.416-2.253-4.301-3.891-8.192-3.891-8.806s9.626-1.024 21.299-1.024c15.77 0 26.214 1.229 40.96 5.12zM146.227 367.002c8.397 24.166 32.358 56.525 55.706 75.162 18.227 14.746 46.285 29.082 69.427 35.226 15.155 4.301 22.528 4.71 98.918 5.734 76.39 1.229 82.944 1.434 85.402 4.915 2.048 2.867 2.048 5.12 0.205 10.24-4.301 12.083-0.614 11.674-86.221 11.674-87.45 0-95.437 0.819-128.41 13.107-39.526 14.95-76.595 44.851-100.762 81.306-6.349 9.83-12.698 18.842-14.131 19.866-3.072 2.662-19.251-0.205-27.853-4.506-3.277-1.843-8.397-5.939-11.264-9.626-9.011-10.854-28.672-53.658-29.901-65.741-0.205-0.819-1.434-5.939-3.072-11.264-1.638-5.53-3.072-15.565-3.072-22.323 0-16.589 5.325-46.49 10.24-57.754 2.253-5.12 4.506-11.059 4.915-13.517 1.229-6.349 5.734-15.565 7.782-15.565 0.819 0 1.638-1.229 1.638-2.867 0-10.65 53.862-64.717 64.512-64.717 1.229 0 3.891 4.915 5.939 10.65zM933.069 383.59c32.358 33.997 48.947 71.475 51.405 115.507 2.253 40.96-8.397 78.234-32.154 113.254-14.336 20.89-51.61 53.043-58.573 50.381-3.072-1.229-15.36 5.734-16.794 9.421-0.41 1.024-1.638 1.229-2.662 0.41-1.024-0.614-1.843-0.205-1.843 1.024 0 2.867-22.938 9.626-43.008 12.698-41.574 5.939-92.365-6.963-126.362-32.358-5.734-4.506-41.574-38.707-79.462-75.981l-68.813-67.994h88.678c108.749 0 125.133-2.048 164.659-19.456 26.624-11.674 58.778-37.888 78.029-63.283 9.011-11.878 29.286-50.586 29.286-56.115 0-4.915 3.686-2.253 17.613 12.493zM489.882 535.552c0.614 0.614-28.262 30.31-63.693 66.15-67.584 67.789-79.872 82.33-93.389 111.616-15.155 32.768-21.504 71.475-17.408 106.086 2.458 21.094 9.83 50.586 15.36 61.235 5.53 10.854 5.325 10.854-23.962 9.626-31.539-1.229-44.646-4.506-70.451-16.794-53.658-25.805-89.088-73.933-99.328-134.963-3.686-21.709 0.614-72.909 6.144-72.909 0.614 0 1.434-2.867 1.638-6.144 0.819-10.035 15.974-38.707 30.106-56.525 16.384-20.685 37.683-37.683 61.645-49.152 34.202-16.179 30.515-15.77 146.432-17.203 56.934-0.614 104.038-1.434 104.653-1.638s1.638 0 2.253 0.614zM613.376 603.75c37.888 37.683 72.704 70.656 79.258 74.752 34.816 22.733 65.126 32.154 107.315 33.587 32.768 1.229 50.586-1.434 79.258-11.878 9.216-3.277 17.818-6.144 18.842-6.554 3.072-0.614 3.686 21.709 1.024 41.165-8.192 61.235-43.622 111.411-97.28 137.626-28.262 13.722-39.936 16.589-73.728 17.613-32.358 1.024-53.658-2.048-52.838-7.578 0.41-2.253-1.638-3.277-8.192-3.482-35.635-2.048-86.63-45.67-107.11-91.75-12.083-27.238-13.722-37.274-14.336-88.883-1.434-93.389-1.843-161.792-0.819-161.792 0.41 0 31.334 30.31 68.608 67.174zM519.168 645.734l0.205 98.714 5.325 19.456c16.589 60.826 55.296 107.52 112.23 134.963 9.216 4.506 17.818 8.602 19.046 9.011 3.277 1.229-19.251 24.371-34.611 35.43-67.994 48.947-163.226 42.598-224.461-15.155-15.565-14.746-32.358-36.659-32.358-42.189 0-2.048-2.253-6.554-4.915-10.035-18.227-24.371-24.781-83.968-13.517-123.904 11.878-42.598 20.89-54.477 102.195-136.192 37.683-37.888 69.222-69.018 69.837-69.018s1.024 44.442 1.024 98.918z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["alfresco-logo"],"grid":16},"attrs":[{}],"properties":{"order":127,"id":118,"name":"alfresco-logo","prevSize":32,"code":59696},"setIdx":0,"setId":6,"iconIdx":126},{"icon":{"paths":["M498.112 0c0 0-67.565-0.002-70.251 55.309s0.002 829.632 0 884.935c-0.002 55.31 70.251 55.31 70.251 55.31s70.249 0 70.25-55.31c0.002-55.303 1.183-829.63 0-884.935s-70.25-55.309-70.25-55.309z","M995.403 499.228c0 0 0.15-67.564-55.139-70.373s-829.368-1.826-884.659-1.95c-55.291-0.124-55.446 70.129-55.446 70.129s-0.155 70.248 55.136 70.373c55.291 0.124 829.373 3.012 884.662 1.95s55.446-70.129 55.446-70.129z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["plus"],"grid":16},"attrs":[],"properties":{"order":128,"id":119,"name":"plus","prevSize":32,"code":59694},"setIdx":0,"setId":6,"iconIdx":127},{"icon":{"paths":["M366.5 707.84l195.412-195.84-195.412-195.84 60.16-60.16 255.998 256-255.998 256-60.16-60.16z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["chevron-right"],"grid":16},"attrs":[],"properties":{"order":129,"id":120,"name":"chevron-right","prevSize":32,"code":59692},"setIdx":0,"setId":6,"iconIdx":128},{"icon":{"paths":["M18.266 655.763l283.665-279.909-283.665-279.91 87.329-85.985 371.612 365.896-371.612 365.895-87.329-85.986z","M528.592 710.194c0 0-15.69 0-16.315 12.846s0 192.687 0 205.533c0 12.846 16.315 12.846 16.315 12.846s16.318 0 16.318-12.846c0-12.846 0.274-192.69 0-205.533-0.274-12.846-16.318-12.846-16.318-12.846z","M644.093 826.143c0 0 0.036-15.694-12.807-16.344-12.84-0.654-192.628-0.426-205.467-0.456-12.843-0.026-12.879 16.288-12.879 16.288s-0.036 16.318 12.807 16.344c12.84 0.030 192.628 0.7 205.467 0.456 12.843-0.248 12.879-16.288 12.879-16.288z","M528.516 1024c-109.459 0-198.194-88.735-198.194-198.194s88.735-198.194 198.194-198.194c109.459 0 198.194 88.735 198.194 198.194s-88.735 198.194-198.194 198.194zM528.516 990.968c91.215 0 165.161-73.946 165.161-165.161s-73.946-165.161-165.161-165.161c-91.215 0-165.161 73.946-165.161 165.161s73.946 165.161 165.161 165.161z"],"width":727,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["chevron-right-plus"],"grid":16},"attrs":[],"properties":{"order":130,"id":121,"name":"chevron-right-plus","prevSize":32,"code":59693},"setIdx":0,"setId":6,"iconIdx":129},{"icon":{"paths":["M872.384 663.704c0 0-18.015 0-18.732 14.749s0 221.233 0 235.983c0 14.749 18.732 14.749 18.732 14.749s18.735 0 18.735-14.749c0-14.749 0.315-221.237 0-235.983-0.315-14.749-18.735-14.749-18.735-14.749z","M1004.995 796.831c0 0 0.042-18.019-14.704-18.766-14.742-0.751-221.165-0.489-235.907-0.523-14.746-0.030-14.787 18.701-14.787 18.701s-0.042 18.735 14.704 18.766c14.742 0.034 221.165 0.804 235.907 0.523 14.746-0.284 14.787-18.701 14.787-18.701z","M872.296 1024c-125.675 0-227.556-101.88-227.556-227.556s101.88-227.556 227.556-227.556c125.675 0 227.556 101.88 227.556 227.556s-101.88 227.556-227.556 227.556zM872.296 986.074c104.729 0 189.63-84.901 189.63-189.63s-84.901-189.63-189.63-189.63c-104.729 0-189.63 84.901-189.63 189.63s84.901 189.63 189.63 189.63z","M219.608 655.159c-7.248-0.576-14.496-1.274-21.769-1.688-43.315-2.408-86.434-6.459-128.678-16.338-17.624-4.123-34.752-10.145-52.127-15.231-4.865-1.422-7.447-4.267-8.589-9.231-9.159-38.563-11.17-77.316-4.542-116.406 3.574-21.019 10.326-40.971 22.092-59.047 13.007-20.416 32.89-35.791 56.272-43.554 30.333-10.361 59.921-22.268 86.631-40.030 5.312-3.519 10.375-7.423 16.209-11.592 47.162 44.974 95.095 45.118 142.531-0.217 15.911 12.991 33.635 23.788 52.622 32.030 15.44 6.797 31.13 13.255 47.165 18.652 35.446 12.053 58.778 35.624 71.733 69.363 14.894 38.707 15.936 78.666 10.725 119.061-1.343 10.267-3.922 20.389-5.511 30.656-0.944 6.026-4.517 8.799-10.13 10.847-26.51 9.83-54.060 16.797-82.136 20.776-25.691 3.66-51.582 6.216-77.399 8.867-12.138 1.206-24.425 1.494-36.613 2.241-1.688 0.193-3.351 0.459-4.965 0.842h-73.522z","M264.976 0c8.862 1.132 17.579 3.155 26.032 6.020 19.578 6.839 37.374 17.988 52.039 32.653 7.658 7.658 13.678 13.822 18.157 24.201 5.418 12.594 5.298 24.008 5.178 30.197-0.193 10.668-3.612 39.347-4.383 47.197-0.361 3.396-0.313 6.020 2.793 8.139 5.563 3.805 5.876 9.728 5.322 15.556h-0.048c-1.156 14.159-5.297 27.885-12.112 40.335-3.901 7.031-5.057 15.556-7.754 23.309-8.139 23.166-21.769 59.792-54.592 76.651-11.992 5.924-25.165 9.030-38.53 9.079-7.417 0-22.251 0-37.759-8.549-7.225-3.949-11.511-8.187-17.483-13.798h-0.024c-14.015-13.292-25.14-29.306-32.702-47.053-4.744-10.836-7.706-22.347-11.776-33.472-1.445-3.997-3.757-7.658-5.635-11.486l0.024 0.024c-6.213-12.257-9.391-25.79-9.295-39.516 0.048-4.335 1.204-8.139 4.913-10.836 3.227-2.312 3.54-5.225 2.89-9.006h-0.024c-3.275-18.012-4.551-36.313-3.853-54.566 0.963-21.408 13.244-37.325 20.108-46.138 10.499-12.955 23.937-23.213 39.228-29.884v0.024c8.862-3.901 18.229-6.55 27.838-7.874l31.45-1.206z","M557.34 107.28c-19.566 19.908-25.266 48.203-18.057 73.503l-92.57 94.172c-1.024 1.040-1.673 2.411-1.832 3.87l-4.305 41.554c-0.212 2.030 0.512 4.035 1.972 5.431 1.456 1.396 3.466 2.018 5.435 1.675l53.98-9.402c2.856-0.482 5.025-2.88 5.287-5.811l1.76-19.883 19.543-1.789c3.083-0.279 5.514-2.766 5.787-5.887l1.76-19.883 19.555-1.789c1.487-0.14 2.882-0.799 3.944-1.865l29.347-29.856c24.841 7.296 52.694 1.523 72.249-18.372 28.626-29.12 28.626-76.534 0-105.654-28.623-29.12-75.23-29.12-103.853 0l-0.004-0.014zM566.371 116.461c23.749-24.158 62.051-24.158 85.796 0s23.749 63.125 0 87.282c-17.135 17.434-41.84 22.078-63.223 14.351h0.015c-2.332-0.812-4.915-0.203-6.637 1.586l-30.056 30.579-22.649 2.081c-3.068 0.279-5.503 2.753-5.787 5.888l-1.76 19.882-19.543 1.789c-3.068 0.279-5.514 2.753-5.787 5.887l-1.76 20.314-40.846 7.105 3.106-30.579 93.48-95.098c1.745-1.789 2.332-4.454 1.472-6.826-7.585-21.748-2.958-46.807 14.181-64.24v-0.002zM607.012 125.65c-9.929 10.1-9.929 26.658 0 36.743 9.925 10.1 26.203 10.1 36.117 0 9.929-10.1 9.929-26.658 0-36.743-9.929-10.1-26.203-10.1-36.117 0zM616.042 134.844c5.037-5.126 13.020-5.126 18.060 0 5.037 5.126 5.037 13.246 0 18.372-5.040 5.126-13.024 5.126-18.060 0-5.040-5.126-5.040-13.246 0-18.372z"],"width":1100,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["user-key-plus"],"grid":16},"attrs":[],"properties":{"order":131,"id":122,"name":"user-key-plus","prevSize":32,"code":59690},"setIdx":0,"setId":6,"iconIdx":130},{"icon":{"paths":["M336.898 1005.072c-11.117-0.887-22.237-1.96-33.396-2.588-66.448-3.698-132.597-9.91-197.404-25.067-27.036-6.323-53.312-15.565-79.967-23.368-7.464-2.181-11.424-6.544-13.176-14.161-14.051-59.157-17.136-118.607-6.969-178.579 5.483-32.24 15.841-62.853 33.891-90.582 19.954-31.318 50.456-54.905 86.327-66.811 46.533-15.898 91.924-34.164 132.9-61.412 8.15-5.399 15.916-11.387 24.867-17.785 72.35 68.992 145.883 69.213 218.657-0.333 24.408 19.928 51.598 36.494 80.728 49.138 23.685 10.426 47.751 20.336 72.35 28.616 54.377 18.488 90.173 54.647 110.050 106.408 22.849 59.378 24.448 120.681 16.451 182.649-2.057 15.751-6.018 31.279-8.455 47.030-1.448 9.244-6.931 13.496-15.537 16.638-40.669 15.085-82.937 25.77-126.008 31.872-39.412 5.618-79.13 9.537-118.735 13.605-18.623 1.848-37.471 2.292-56.169 3.437-2.588 0.298-5.141 0.703-7.615 1.294h-112.791z","M406.498 0c13.594 1.736 26.968 4.839 39.934 9.235 30.036 10.492 57.335 27.596 79.832 50.093 11.748 11.747 20.985 21.204 27.855 37.126 8.313 19.321 8.127 36.83 7.943 46.325-0.296 16.365-5.541 60.362-6.723 72.405-0.554 5.209-0.479 9.235 4.285 12.486 8.534 5.837 9.014 14.925 8.164 23.864h-0.072c-1.773 21.723-8.129 42.778-18.583 61.878-5.983 10.787-7.757 23.864-11.895 35.759-12.486 35.537-33.396 91.727-83.749 117.59-18.397 9.088-38.605 13.852-59.108 13.926-11.378 0-34.134 0-57.926-13.114-11.082-6.058-17.657-12.56-26.819-21.167h-0.037c-21.499-20.392-38.568-44.958-50.167-72.185-7.277-16.624-11.823-34.281-18.067-51.349-2.216-6.132-5.762-11.746-8.643-17.62l0.037 0.037c-9.531-18.804-14.407-39.566-14.26-60.623 0.074-6.649 1.847-12.486 7.536-16.623 4.95-3.547 5.431-8.017 4.433-13.816h-0.037c-5.024-27.633-6.982-55.708-5.911-83.71 1.478-32.842 20.317-57.26 30.848-70.78 16.105-19.875 36.72-35.611 60.179-45.845v0.037c13.594-5.985 27.965-10.048 42.705-12.079l48.247-1.85z","M855.014 164.58c-30.019 30.541-38.763 73.949-27.704 112.761l-142.008 144.468c-1.569 1.597-2.565 3.698-2.814 5.937l-6.6 63.749c-0.326 3.114 0.784 6.191 3.023 8.332s5.318 3.095 8.341 2.569l82.809-14.424c4.38-0.74 7.71-4.417 8.113-8.913l2.697-30.504 29.982-2.744c4.724-0.428 8.457-4.243 8.876-9.032l2.7-30.501 30.001-2.744c2.276-0.214 4.419-1.226 6.046-2.863l45.021-45.801c38.114 11.192 80.84 2.337 110.841-28.186 43.911-44.672 43.911-117.41 0-162.083s-115.412-44.672-159.323 0l-0.002-0.021zM868.866 178.671c36.431-37.061 95.192-37.061 131.619 0 36.429 37.061 36.431 96.841 0 133.898-26.289 26.745-64.191 33.871-96.989 22.016h0.021c-3.579-1.245-7.54-0.312-10.179 2.432l-46.113 46.911-34.746 3.193c-4.706 0.428-8.439 4.224-8.879 9.032l-2.697 30.501-29.982 2.744c-4.706 0.428-8.457 4.224-8.879 9.032l-2.697 31.165-62.662 10.901 4.764-46.911 143.404-145.89c2.679-2.744 3.577-6.833 2.257-10.473-11.634-33.361-4.534-71.805 21.755-98.549l0.002-0.003zM931.207 192.766c-15.232 15.494-15.232 40.895 0 56.369 15.23 15.493 40.199 15.493 55.408 0 15.23-15.495 15.23-40.896 0-56.369-15.23-15.494-40.199-15.494-55.408 0zM945.059 206.858c7.731-7.864 19.975-7.864 27.706 0 7.729 7.864 7.729 20.321 0 28.185-7.731 7.864-19.975 7.864-27.706 0-7.729-7.863-7.729-20.321 0-28.185z"],"width":1047,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["user-key"],"grid":16},"attrs":[],"properties":{"order":132,"id":123,"name":"user-key","prevSize":32,"code":59691},"setIdx":0,"setId":6,"iconIdx":131},{"icon":{"paths":["M1024 512c0 282.768-229.232 512-512 512-282.77 0-512-229.232-512-512 0-282.77 229.23-512 512-512 282.768 0 512 229.23 512 512zM558.545 186.182h-93.091v465.455h93.091v-465.455zM558.545 837.818v-93.091h-93.091v93.091h93.091z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["exclamation-point"],"grid":16},"attrs":[],"properties":{"order":133,"id":124,"name":"exclamation-point","prevSize":32,"code":59682},"setIdx":0,"setId":6,"iconIdx":132},{"icon":{"paths":["M0 46.545v930.909c0 25.707 20.839 46.545 46.545 46.545h651.636c25.707 0 46.545-20.838 46.545-46.545v-748.72c0-12.344-4.906-24.184-13.633-32.912l-182.188-182.189c-8.727-8.729-20.568-13.633-32.912-13.633h-469.448c-25.706 0-46.545 20.839-46.545 46.545zM46.545 69.818c0-12.853 10.42-23.273 23.273-23.273h372.364c12.853 0 23.273 10.42 23.273 23.273v162.909c0 12.853 10.422 23.273 23.273 23.273h186.182c12.851 0 23.273 10.42 23.273 23.273v674.909c0 12.851-10.422 23.273-23.273 23.273h-605.091c-12.853 0-23.273-10.422-23.273-23.273v-884.364zM512 46.545l162.909 162.909h-162.909v-162.909z","M139.636 418.909h465.455v46.545h-465.455v-46.545z","M139.636 558.545h465.455v46.545h-465.455v-46.545z","M139.636 698.182h465.455v46.545h-465.455v-46.545z"],"width":745,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["file"],"grid":16},"attrs":[],"properties":{"order":134,"id":125,"name":"file","prevSize":32,"code":59686},"setIdx":0,"setId":6,"iconIdx":133},{"icon":{"paths":["M0 554.667v341.333c0 70.694 57.307 128 128 128h768c70.694 0 128-57.306 128-128v-341.333l-170.667-213.333h-234.667c0 0-21.333 0-21.333 21.333s21.333 21.333 21.333 21.333h206.221l156.446 170.667h-277.333c-23.565 0-42.667 19.102-42.667 42.667v85.333c0 23.565-19.102 42.667-42.667 42.667h-213.333c-23.565 0-42.667-19.102-42.667-42.667v-85.333c0-23.565-19.101-42.667-42.667-42.667h-277.333l156.445-170.667h206.221c0 0 21.333 0.001 21.333-21.333s-21.333-21.333-21.333-21.333h-234.667l-170.667 213.333zM42.667 597.333h277.333v85.333c0 47.13 38.206 85.333 85.333 85.333h213.333c47.13 0 85.333-38.204 85.333-85.333v-85.333h277.333v298.667c0 47.13-38.204 85.333-85.333 85.333h-768c-47.127 0-85.333-38.204-85.333-85.333v-298.667z","M510.801 597.333c5.38-0.205 11.618-2.441 15.531-6.118l127.996-120.469c7.326-8.175 10.355-23.825 1.886-32.943-8.354-8.998-24.559-8.704-32.943 0.239l-89.886 84.702-0.051-501.41c0-12.47-10.069-21.333-22.541-21.333s-20.126 8.863-20.126 21.333l-2.458 501.41-89.886-84.702c-7.735-7.706-24.5-9.148-32.941-0.239-8.441 8.883-5.736 25.118 1.882 32.943l127.998 120.469c4.386 4.117 9.54 6.118 15.539 6.118z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["download"],"grid":16},"attrs":[],"properties":{"order":135,"id":126,"name":"download","prevSize":32,"code":59689},"setIdx":0,"setId":6,"iconIdx":134},{"icon":{"paths":["M574.538 449.843v-0.664c0 19.644-15.135 36.299-34.775 36.299h-474.799c-19.644 0-34.778-16.626-34.778-36.299l0.027-25.731h57.464c9.075 0 15.134-6.058 15.134-15.132s-6.059-15.134-15.134-15.134h-57.464v-120.963h57.464c9.075 0 15.134-6.059 15.134-15.134s-6.059-15.134-15.134-15.134h-57.464v-120.963h57.464c9.075 0 15.134-6.059 15.134-15.134s-6.059-15.134-15.134-15.134h-57.464v-24.182c0-19.644 15.134-36.299 34.777-36.299h474.796c19.644 0 34.779 16.628 34.779 36.299 0 9.075 6.058 15.134 15.135 15.134 9.073 0 15.131-6.059 15.131-15.134 0-36.299-28.717-66.539-65.016-66.539h-474.798c-36.3 0-65.018 30.24-65.018 66.539v381.031c0 36.299 28.719 66.54 65.018 66.54h15.133v45.371c0 24.183 19.644 45.375 45.374 45.375h55.943c24.182 0 45.373-19.644 45.373-45.375v-45.371h151.199v45.371c0 24.183 19.644 45.375 45.375 45.375h55.943c24.179 0 45.371-19.644 45.371-45.375v-45.371h15.135c36.299 0 65.020-30.241 65.020-66.54v0.664c-0.111-7.5-6.144-13.529-15.217-13.529-9.073 0.008-15.131 6.066-15.131 15.139zM196.526 559.542c0 7.553-6.059 15.135-15.134 15.135h-55.943c-7.553 0-15.134-6.058-15.134-15.135v-45.371h86.186l0.025 45.371zM494.416 559.542c0 7.553-6.058 15.135-15.135 15.135h-55.943c-7.553 0-15.132-6.058-15.132-15.135v-45.371h86.186l0.025 45.371z","M302.375 151.29c-58.959 0-105.856 46.868-105.856 105.856 0 58.959 46.868 105.856 105.856 105.856 58.959 0 105.856-46.868 105.856-105.856 0-9.075-6.059-15.134-15.134-15.134s-15.134 6.059-15.134 15.134c0 42.331-33.255 75.613-75.613 75.613-42.331 0-75.613-33.256-75.613-75.613 0-42.331 33.256-75.613 75.613-75.613 9.075 0 15.134-6.059 15.134-15.134 0.027-9.075-6.032-15.107-15.106-15.107l-0.002-0.002z","M595.546 166.094c-22.131 22.514-28.578 54.515-20.423 83.128l-104.69 106.503c-1.155 1.177-1.892 2.727-2.073 4.377l-4.866 46.995c-0.242 2.296 0.578 4.563 2.228 6.14 1.651 1.581 3.92 2.281 6.148 1.896l61.047-10.634c3.232-0.545 5.685-3.258 5.98-6.572l1.991-22.486 22.102-2.023c3.486-0.316 6.234-3.128 6.545-6.658l1.987-22.486 22.118-2.023c1.679-0.158 3.26-0.904 4.456-2.109l33.19-33.765c28.099 8.251 59.597 1.722 81.715-20.778 32.371-32.933 32.371-86.556 0-119.489-32.375-32.933-85.082-32.932-117.457 0v-0.016zM605.757 176.486c26.857-27.322 70.177-27.322 97.030 0 26.857 27.322 26.857 71.391 0 98.712-19.378 19.717-47.321 24.968-71.5 16.23h0.016c-2.638-0.918-5.558-0.23-7.504 1.794l-33.997 34.583-25.612 2.353c-3.473 0.316-6.222 3.114-6.545 6.658l-1.991 22.486-22.102 2.023c-3.469 0.316-6.234 3.114-6.545 6.658l-1.991 22.974-46.195 8.036 3.514-34.583 105.718-107.55c1.974-2.023 2.638-5.037 1.663-7.72-8.573-24.596-3.342-52.935 16.040-72.652v-0.002zM651.715 186.874c-11.227 11.422-11.227 30.149 0 41.555 11.227 11.423 29.635 11.423 40.849 0 11.227-11.423 11.227-30.149 0-41.555-11.227-11.423-29.635-11.423-40.849 0zM661.926 197.264c5.702-5.797 14.729-5.797 20.427 0s5.698 14.981 0 20.778c-5.698 5.797-14.725 5.797-20.427 0-5.698-5.797-5.698-14.981 0-20.778z","M291.782 267.716c3.016 3.016 7.553 4.538 10.596 4.538 3.015 0 7.553-1.522 10.596-4.538l63.496-63.496c6.059-6.059 6.059-15.133 0-21.165-6.059-6.059-15.134-6.059-21.166 0l-63.496 63.496c-6.059 6.031-6.059 15.106-0.027 21.165h0.001z","M942.174 634.88c0 0-19.456 0-20.23 15.929s0 238.932 0 254.861c0 15.929 20.23 15.929 20.23 15.929s20.234 0 20.234-15.929c0-15.929 0.34-238.936 0-254.861-0.34-15.929-20.234-15.929-20.234-15.929z","M1085.395 778.658c0 0 0.045-19.46-15.88-20.267-15.921-0.811-238.858-0.528-254.779-0.565-15.925-0.033-15.97 20.197-15.97 20.197s-0.045 20.234 15.88 20.267c15.921 0.037 238.858 0.868 254.779 0.565 15.925-0.307 15.97-20.197 15.97-20.197z","M942.080 1024c-135.729 0-245.76-110.031-245.76-245.76s110.031-245.76 245.76-245.76c135.729 0 245.76 110.031 245.76 245.76s-110.031 245.76-245.76 245.76zM942.080 983.040c113.107 0 204.8-91.693 204.8-204.8s-91.693-204.8-204.8-204.8c-113.107 0-204.8 91.693-204.8 204.8s91.693 204.8 204.8 204.8z"],"width":1188,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["safe-key-plus"],"grid":16},"attrs":[],"properties":{"order":136,"id":127,"name":"safe-key-plus","prevSize":32,"code":59653},"setIdx":0,"setId":6,"iconIdx":135},{"icon":{"paths":["M226.574 695.548c2.254 0.188 4.507 0.38 6.76 0.559h78.118c1.714-0.41 3.481-0.691 5.275-0.896 4.324-0.265 8.66-0.474 12.997-0.687 8.653-0.418 17.313-0.841 25.904-1.694 2.313-0.239 4.627-0.474 6.941-0.713 25.127-2.569 50.299-5.146 75.294-8.713 29.833-4.224 59.106-11.622 87.275-22.071 5.961-2.176 9.758-5.12 10.761-11.524 0.751-4.864 1.711-9.698 2.675-14.528 1.195-5.999 2.389-11.998 3.179-18.044 5.538-42.918 4.429-85.376-11.392-126.502-13.769-35.849-38.562-60.894-76.22-73.696-17.041-5.736-33.708-12.598-50.112-19.82-20.175-8.757-39.006-20.23-55.912-34.032-14.517 13.874-29.078 23.739-43.651 29.611l20.889 167.112-45.398 45.397-52.965-45.397 20.556-164.443c-17.015-5.26-33.989-15.952-50.871-32.049-2.136 1.527-4.175 3.020-6.162 4.475-3.776 2.766-7.362 5.392-11.060 7.842-28.379 18.872-59.817 31.523-92.046 42.534-24.844 8.245-45.969 24.581-59.789 46.273-12.501 19.204-19.675 40.41-23.473 62.737-7.042 41.536-4.905 82.709 4.826 123.682 1.213 5.274 3.956 8.299 9.126 9.809 6.102 1.783 12.176 3.682 18.249 5.577 12.3 3.836 24.6 7.676 37.135 10.607 44.885 10.496 90.699 14.801 136.721 17.361 5.467 0.307 10.92 0.768 16.37 1.233z","M281.538 0c9.415 1.202 18.678 3.352 27.659 6.396 20.801 7.266 39.709 19.113 55.291 34.694 8.137 8.136 14.533 14.686 19.292 25.714 5.757 13.381 5.629 25.508 5.501 32.084-0.205 11.335-3.838 41.807-4.657 50.147-0.384 3.607-0.333 6.396 2.968 8.648 5.91 4.043 6.243 10.336 5.655 16.528h-0.051c-1.228 15.044-5.629 29.628-12.87 42.856-4.145 7.471-5.373 16.528-8.239 24.766-8.648 24.613-23.13 63.529-58.004 81.441-12.742 6.294-26.737 9.594-40.938 9.646-7.881 0-23.642 0-40.119-9.083-7.676-4.196-12.23-8.699-18.575-14.66h-0.026c-14.891-14.123-26.711-31.138-34.746-49.994-5.041-11.513-8.188-23.743-12.512-35.564-1.535-4.247-3.991-8.136-5.987-12.204l0.026 0.026c-6.601-13.023-9.978-27.402-9.876-41.986 0.051-4.605 1.279-8.648 5.219-11.514 3.429-2.456 3.761-5.552 3.070-9.569h-0.026c-3.48-19.138-4.836-38.583-4.094-57.977 1.024-22.746 14.072-39.657 21.364-49.022 11.155-13.765 25.432-24.664 41.68-31.752v0.026c9.416-4.145 19.368-6.959 29.577-8.366l33.416-1.281z","M592.179 113.982c-20.791 21.152-26.85 51.216-19.187 78.097l-98.355 100.058c-1.088 1.105-1.775 2.561-1.95 4.112l-4.57 44.151c-0.226 2.157 0.542 4.287 2.095 5.77 1.549 1.483 3.682 2.144 5.777 1.78l57.353-9.99c3.034-0.512 5.338-3.060 5.619-6.175l1.865-21.125 20.766-1.901c3.273-0.297 5.858-2.939 6.148-6.255l1.869-21.125 20.779-1.901c1.579-0.148 3.063-0.849 4.19-1.982l31.181-31.722c26.398 7.752 55.987 1.618 76.766-19.52 30.413-30.94 30.413-81.318 0-112.258s-79.932-30.939-110.345 0v-0.015zM601.771 123.747c25.233-25.668 65.929-25.668 91.162 0 25.229 25.669 25.229 67.071 0 92.738-18.21 18.523-44.459 23.458-67.174 15.247h0.013c-2.479-0.863-5.222-0.215-7.049 1.685l-31.94 32.49-24.064 2.211c-3.26 0.297-5.845 2.925-6.148 6.255l-1.869 21.126-20.766 1.901c-3.26 0.297-5.858 2.926-6.148 6.255l-1.869 21.583-43.401 7.55 3.302-32.49 99.319-101.041c1.856-1.901 2.479-4.732 1.562-7.253-8.055-23.107-3.14-49.732 15.070-68.255v-0.002zM644.949 133.507c-10.551 10.731-10.551 28.324 0 39.040 10.547 10.731 27.84 10.731 38.374 0 10.547-10.731 10.547-28.324 0-39.040-10.551-10.732-27.844-10.732-38.374 0zM654.541 143.268c5.355-5.446 13.837-5.446 19.191 0 5.35 5.446 5.35 14.074 0 19.521-5.355 5.446-13.837 5.446-19.191 0-5.35-5.446-5.35-14.074 0-19.521z","M810.765 618.667c0 0-20.267 0-21.073 16.593s0 248.887 0 265.481c0 16.593 21.073 16.593 21.073 16.593s21.077 0 21.077-16.593c0-16.593 0.354-248.892 0-265.481-0.354-16.593-21.077-16.593-21.077-16.593z","M959.953 768.435c0 0 0.047-20.271-16.542-21.111-16.585-0.845-248.811-0.55-265.395-0.589-16.589-0.034-16.636 21.039-16.636 21.039s-0.047 21.077 16.542 21.111c16.585 0.038 248.811 0.905 265.395 0.589 16.589-0.32 16.636-21.039 16.636-21.039z","M810.667 1024c-141.385 0-256-114.615-256-256s114.615-256 256-256c141.385 0 256 114.615 256 256s-114.615 256-256 256zM810.667 981.333c117.82 0 213.333-95.514 213.333-213.333s-95.514-213.333-213.333-213.333c-117.82 0-213.333 95.514-213.333 213.333s95.514 213.333 213.333 213.333z"],"width":1067,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["admin-key-plus"],"grid":16},"attrs":[],"properties":{"order":137,"id":128,"name":"admin-key-plus","prevSize":32,"code":59675},"setIdx":0,"setId":6,"iconIdx":136},{"icon":{"paths":["M16.425 395.063l-15.886 76.848c-2.886 14.015 6.092 27.708 20.083 30.629l81.030 16.818c4.839 1.024 9.881 0.029 14.020-2.687l26.117-16.964c3.877-2.775 6.558-6.949 7.462-11.649l8.278-38.337 22.386 4.555c18.976 3.942 37.543-8.234 41.507-27.213l4.635-22.425 38.33 7.475c4.78 0.905 9.735-0.087 13.817-2.774l25.447-16.818c13.087 7.767 27.108 13.928 41.711 18.307 8.861 2.57 18.014 4.205 27.224 4.876 2.099 4.701 4.314 9.344 6.879 13.899l-126.854 180.74c-4.518 6.368-6.296 14.277-4.926 21.957l13.496 77.522c2.099 12.381 12.767 21.489 25.301 21.606 1.487 0 3.002-0.117 4.46-0.38l81.5-14.57c4.868-0.785 9.211-3.472 12.097-7.475l17.839-25.4c2.798-4.033 3.935-8.992 3.119-13.844l-6.413-38.717 22.386-3.881c19.034-3.36 31.801-21.519 28.507-40.585l-3.877-22.426 38.359-7.475c4.751-0.848 9.008-3.53 11.865-7.475l17.457-25.054c43.491 6.924 88.030-1.692 125.83-24.322 37.776-22.626 66.428-57.869 80.92-99.532 17.866-49.404 13.609-104.124-11.63-150.169-4.925-9.11-16.296-12.526-25.42-7.592-9.094 4.935-12.473 16.351-7.578 25.461 20.202 36.644 23.669 80.234 9.504 119.596-12.069 35.213-36.698 64.733-69.169 82.806-32.471 18.101-70.51 23.504-106.715 15.183-7.402-1.722-15.126 1.256-19.471 7.473l-19.938 29.082-44.102 8.294c-12.738 2.248-21.249 14.395-19.034 27.126l5.83 33.636-33.725 5.695c-12.708 2.219-21.22 14.248-19.121 26.975l7.462 44.851-9.24 12.498-62.669 10.918-10.901-62.776 132.219-187.953c4.372-6.219 4.547-14.453 0.466-20.848-24.164-37.491-30.372-83.8-16.964-126.369 13.379-42.542 45.005-76.908 86.253-93.756 41.244-16.818 87.827-14.395 127.085 6.657l-29.004 36.907c-15.945-4.905-33.197-2.628-47.338 6.248-14.107 8.905-23.64 23.505-26.117 40.002-2.477 16.526 2.336 33.286 13.205 45.929 10.874 12.672 26.702 19.943 43.374 19.943 3.326 0 6.646-0.292 9.938-0.876 19.446-3.212 35.913-16.264 43.491-34.483 7.578-18.249 5.247-39.126-6.178-55.214l54.828-69.902c24.834-32.673 31.568-75.682 17.896-114.401-13.668-38.747-45.88-67.945-85.694-77.723-39.814-9.782-81.881 1.168-111.87 29.169l-24.775 23.768c-61.416-23.359-130.555-12.759-182.176 27.972-51.593 40.732-78.060 105.581-69.752 170.866l-184.393 121.174c-6.529 4.234-11.106 10.949-12.679 18.6l-0.002 0.003zM584.26 310.385c-5.481 7.767-15.682 10.57-24.366 6.715-8.689-3.883-13.439-13.344-11.337-22.628 2.068-9.285 10.406-15.796 19.905-15.562 9.504 0.234 17.52 7.124 19.154 16.526 0.931 5.226-0.293 10.599-3.355 14.949v0zM515.945 59.784c32.037-30.308 81.964-30.775 114.556-1.11 32.617 29.666 36.932 79.51 9.908 114.342l-3.291 4.175v0.029c-20.841-12.205-43.837-20.205-67.74-23.563-15.014-32.352-38.795-59.827-68.647-79.3l15.214-14.574zM52.262 405.866l191.765-126.018c6.413-4.175 9.648-11.854 8.132-19.358-9.095-46.338 4.11-94.28 35.677-129.381 31.568-35.096 77.768-53.258 124.757-49.024 46.958 4.263 89.191 30.425 113.943 70.602-5.159 0.438-10.289 1.109-15.448 2.015v0.029c-49.668 8.642-93.737 37.052-122.249 78.747-28.478 41.666-38.971 93.114-29.061 142.634-1.195 0-2.536-0.525-3.731-0.905v0.029c-14.982-4.497-29.148-11.3-42.032-20.205-6.267-4.234-14.515-4.234-20.812 0l-29.236 19.066-44.043-8.584c-12.65-2.628-25.068 5.548-27.662 18.22l-6.966 33.724-33.346-7.475c-12.621-2.628-24.98 5.46-27.69 18.103l-9.56 44.324-13.058 8.584-62.202-12.702 12.823-62.425z","M1024.112 560.762c0 0-23.162 0-24.084 18.964s0 284.443 0 303.406c0 18.964 24.084 18.964 24.084 18.964s24.088 0 24.088-18.964c0-18.964 0.405-284.448 0-303.406-0.405-18.964-24.088-18.964-24.088-18.964z","M1194.613 731.926c0 0 0.054-23.167-18.905-24.127-18.954-0.965-284.355-0.629-303.309-0.673-18.959-0.039-19.012 24.044-19.012 24.044s-0.054 24.088 18.905 24.127c18.954 0.044 284.355 1.034 303.309 0.673 18.959-0.366 19.012-24.044 19.012-24.044z","M1024 1024c-161.582 0-292.571-130.989-292.571-292.571s130.989-292.571 292.571-292.571c161.582 0 292.571 130.989 292.571 292.571s-130.989 292.571-292.571 292.571zM1024 975.238c134.651 0 243.81-109.158 243.81-243.81s-109.158-243.81-243.81-243.81c-134.651 0-243.81 109.158-243.81 243.81s109.158 243.81 243.81 243.81z"],"width":1317,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["keys-plus"],"grid":16},"attrs":[],"properties":{"order":138,"id":129,"name":"keys-plus","prevSize":32,"code":59681},"setIdx":0,"setId":6,"iconIdx":137},{"icon":{"paths":["M195.048 268.19l585.143-268.19 146.286 341.333h-48.762l-121.905-268.19-487.619 219.429 24.381 48.762h-66.177l-31.347-73.143z","M273.666 232.157c-21.094-21.556-45.87-66.788-52.522-81.379-1.117-2.451-3.898-4.492-6.591-4.492h-160.914c-2.693 0-4.876 2.183-4.876 4.876v185.295c0 2.693 2.183 4.876 4.876 4.876h872.838l-0.887-2.070c0.561-0.794 0.887-1.761 0.887-2.806v-87.771c0-2.693-2.185-4.876-4.876-4.876h-36.918l-20.899-48.762h62.693c26.931 0 48.762 21.832 48.762 48.762v731.429c0 26.931-21.831 48.762-48.762 48.762h-877.714c-26.93 0-48.762-21.831-48.762-48.762v-828.952c0-26.931 21.831-48.762 48.762-48.762h164.911c18.47 0 35.354 10.435 43.614 26.955l21.807 43.614c8.26 16.52 25.144 26.955 43.614 26.955h31.924l-80.966 37.109zM53.638 390.095c-2.693 0-4.876 2.183-4.876 4.876v575.39c0 2.692 2.183 4.876 4.876 4.876h867.962c2.692 0 4.876-2.185 4.876-4.876v-575.39c0-2.693-2.185-4.876-4.876-4.876h-867.962z"],"width":975,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["filing"],"grid":16},"attrs":[],"properties":{"order":139,"id":130,"name":"filing","prevSize":32,"code":59683},"setIdx":0,"setId":6,"iconIdx":138},{"icon":{"paths":["M718.277 923.971c-34.414-73.125-67.509-105.165-138.677-105.165h-160.032c-69.599 0-102.675 31.535-138.114 103.562-1.219 2.477-2.657 5.419-5.244 10.717-2.805 5.73-4.786 9.708-6.766 13.564-1.79 3.482-2.723 7.337-2.723 11.252 0 23.012 20.361 41.913 43.881 41.913h377.963c23.253 0 43.878-16.939 43.878-40.405 0-3.777-0.87-7.503-2.54-10.89-1.981-4.013-3.935-8.121-6.786-14.214-2.387-5.108-3.69-7.897-4.84-10.335zM579.6 868.037c47.159 0 66.974 19.184 94.133 76.898l2.647 5.648h-353.926l3.174-6.483c28.028-56.962 48.062-76.064 93.937-76.064h160.035z","M999.255 93.473c0-51.163-40.003-93.473-90.947-93.473h-817.46c-50.914 0-90.847 42.31-90.847 93.473v523.223c0 50.676 39.381 87.075 90.847 87.075h817.46c51.499 0 90.947-36.395 90.947-87.075v-523.223zM90.847 49.231h817.46c23.119 0 41.716 19.669 41.716 44.242v523.223c0 22.567-16.561 37.845-41.716 37.845h-817.46c-25.105 0-41.617-15.262-41.617-37.845v-523.223c0-24.59 18.548-44.242 41.617-44.242z","M524.256 819.078c0 0-11.024 0-24.615 0-13.596 0-24.615 0-24.615 0v-63.13c0-13.596 11.020-24.615 24.615-24.615 13.592 0 24.615 11.020 24.615 24.615v63.13z","M138.548 319.369c0 9.063 7.347 16.41 16.41 16.41h164.103c9.063 0 16.41-7.347 16.41-16.41v-164.103c0-9.063-7.347-16.41-16.41-16.41h-164.103c-9.063 0-16.41 7.347-16.41 16.41v164.103zM302.651 171.676v131.282h-131.282v-131.282h131.282z","M138.548 549.112c0 9.066 7.347 16.412 16.41 16.412h164.103c9.063 0 16.41-7.345 16.41-16.412v-164.101c0-9.063-7.347-16.41-16.41-16.41h-164.103c-9.063 0-16.41 7.347-16.41 16.41v164.101zM302.651 532.704h-131.282v-131.285h131.282v131.285z","M401.109 319.369c0 9.063 7.349 16.41 16.412 16.41h164.104c9.062 0 16.408-7.347 16.408-16.41v-164.103c0-9.063-7.345-16.41-16.408-16.41h-164.104c-9.062 0-16.412 7.347-16.412 16.41v164.103zM565.213 302.958h-131.281v-131.282h131.281v131.282z","M401.109 549.112c0 9.066 7.349 16.412 16.412 16.412h164.104c9.062 0 16.408-7.345 16.408-16.412v-164.101c0-9.063-7.345-16.41-16.408-16.41h-164.104c-9.062 0-16.412 7.347-16.412 16.41v164.101zM564.512 402.022v131.285h-131.281v-131.285h131.281z","M663.674 319.369c0 9.063 7.345 16.41 16.408 16.41h164.104c9.062 0 16.412-7.347 16.412-16.41v-164.103c0-9.063-7.349-16.41-16.412-16.41h-164.104c-9.062 0-16.408 7.347-16.408 16.41v164.103zM827.774 302.958h-131.281v-131.282h131.281v131.282z","M663.674 549.112c0 9.066 7.345 16.412 16.408 16.412h164.104c9.062 0 16.412-7.345 16.412-16.412v-164.101c0-9.063-7.349-16.41-16.412-16.41h-164.104c-9.062 0-16.408 7.347-16.408 16.41v164.101zM827.774 401.42v131.285h-131.281v-131.285h131.281z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["basket"],"grid":16},"attrs":[],"properties":{"order":140,"id":131,"name":"basket","prevSize":32,"code":59684},"setIdx":0,"setId":6,"iconIdx":139},{"icon":{"paths":["M1177.749 589.097c0 3.627-3.153 6.746-6.82 6.746s-6.82-3.119-6.82-6.219c0-3.627 3.153-6.746 6.82-6.746s6.82 2.592 6.82 6.219zM1171.443 554.355c-3.667 0-6.822 3.119-6.822 6.746v6.219c0 3.627 3.155 6.746 6.822 6.746 3.665 0 6.82-3.119 6.82-6.746v-6.746c-0.512-3.627-3.134-6.219-6.82-6.219zM1171.443 519.612c-3.667 0-6.822 3.121-6.822 6.748v11.932c0 3.625 3.155 6.746 6.822 6.746 3.665 0 6.82-3.119 6.82-6.746v-11.932c-0.512-4.154-3.134-6.748-6.82-6.748zM1280 423.671v296.634c0 2.592-1.577 4.659-4.198 5.713l-195.593 84.009h-0.531c-0.533 0.525-1.579 0.525-2.091 0.525-0.531 0-1.577 0-2.089-0.525h-0.533l-196.1-84.030c-2.622-1.033-4.198-3.119-4.198-5.713v-299.226c0-0.527 0.533-0.527 0.533-1.033 0 0 0-0.527 0.531-0.527 0-0.527 0.533-0.527 0.533-1.033l0.533-0.527c0.531 0 0.531-0.527 1.043-0.527h0.533l196.593-75.684c1.577-0.527 3.153-0.527 4.71 0l196.1 75.727h0.533c0.531 0 0.531 0 1.043 0.525l0.533 0.527c0.533 0 0.533 0.527 0.533 1.035l0.531 0.527c0 0.525 0.533 0.525 0.533 1.033v0.527c0.512 0.486 0.512 0.992 0.512 2.046l0.002-0.002zM1000.51 384.777l169.884 73.133c1.043 0.527 2.089 1.035 2.622 2.067l83.362-35.776-178.797-69.502-77.071 30.078zM1071.3 511.834l-183.012-78.319v282.108l182.991 78.822 0.021-282.611zM1153.088 468.26l4.713-2.067-173.553-74.688c-0.533 0-0.533-0.527-1.045-0.527l-84.941 32.676 179.326 77.282 75.501-32.676zM1266.891 433.517l-89.141 38.368v32.149c0 3.627-3.153 6.746-6.82 6.746s-6.82-3.119-6.82-6.746v-26.436l-80.742 34.741v282.108l182.993-78.822v-282.106l0.531-0.002z","M969.779 988.585c-48.67-158.195-176.331-276.393-341.852-317.165-28.969-32.341-38.916-53.513-42.214-63.708 15.477-24.245 65.214-104.489 95.979-179.226h9.365c49.25 0 85.109-28.587 85.109-78.048 0-15.317-4.561-28.292-11.791-39.317-4.028-154.586-107.43-311.121-278.426-311.121-171.821 0-264.885 148.006-272.548 300.582-12.326 12.73-20.090 29.414-20.090 49.854 0 37.95 21.203 63.462 53.231 73.316 27.511 48.196 85.449 103.804 205.011 111.61 6.065 9.611 16.207 16.292 28.337 16.292 18.923 0 34.257-15.462 34.257-34.438 0-19.023-15.381-34.438-34.257-34.438-11.014 0-20.38 5.609-26.688 13.756-44.107-2.976-77.926-13.171-104.275-26.829-21.933-48.975-40.469-99.268-42.605-132.096 56.966-23.17 222.963-93.463 281.431-148.005 0 0 24.555 87.512 79.386 121.562 0.533 6.682 0.873 13.365 0.873 20.049 0 65.414-86.129 211.369-119.319 262.044-2.571 3.951-3.639 8.732-3.008 13.414 2.231 15.853 13.683 49.903 65.022 103.364-4.998 27.025-28.241 108.049-126.257 108.489-98.308-0.489-127.661-81.122-134.891-109.122 1.263-0.292 2.428-0.83 3.785-1.073l-0.58-2.438c58.323-61.903 62.255-94.148 61.818-102.88-0.096-3.121-0.971-6.146-2.522-8.877-4.755-8.292-10.773-19.221-17.468-31.708-18.586-4.587-35.908-10.244-52.407-16.538 14.364 28.439 26.737 51.025 32.706 61.562-2.622 8.489-12.326 30.684-46.679 67.855-164.877 44.877-289.929 163.565-327.629 314.093-1.456 5.805-0.146 12 3.542 16.781 3.639 4.877 9.316 7.659 15.285 7.659h931.795c6.163 0 11.985-2.927 15.625-7.902 3.686-5.026 4.755-11.465 2.959-17.367l-0.009 0.015zM485.956 38.975c146.927 0 221.943 129.661 236.986 240.539-7.036-2.583-14.46-4.341-22.176-5.559-20.572-99.317-94.231-188.779-214.763-188.779-119.172 0-192.154 89.073-212.725 188.192-6.453 0.732-12.762 1.854-18.827 3.561 14.071-108.391 80.646-237.955 231.507-237.955l-0.002 0.002zM45.226 974.822c38.528-117.562 137.511-210.831 267.121-254.052 13.683 53.903 62.11 136.979 171.087 136.979h1.892c0.098 0 0.145-0.049 0.243-0.049 110.731-0.535 153.673-85.122 163.324-139.413 128.591 41.073 228.887 133.807 275.17 256.486l-878.838 0.049z"],"width":1280,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["support-box"],"grid":16},"attrs":[],"properties":{"order":141,"id":132,"name":"support-box","prevSize":32,"code":59687},"setIdx":0,"setId":6,"iconIdx":140},{"icon":{"paths":["M1139.912 414.362c0 3.784-3.29 7.039-7.117 7.039s-7.117-3.255-7.117-6.489c0-3.784 3.29-7.039 7.117-7.039s7.117 2.705 7.117 6.489zM1133.332 378.11c-3.827 0-7.119 3.255-7.119 7.039v6.489c0 3.784 3.292 7.039 7.119 7.039 3.824 0 7.117-3.255 7.117-7.039v-7.039c-0.534-3.784-3.27-6.489-7.117-6.489zM1133.332 341.856c-3.827 0-7.119 3.257-7.119 7.041v12.451c0 3.782 3.292 7.039 7.119 7.039 3.824 0 7.117-3.255 7.117-7.039v-12.451c-0.534-4.334-3.27-7.041-7.117-7.041zM1246.609 241.744v309.531c0 2.705-1.645 4.862-4.381 5.961l-204.097 87.661h-0.554c-0.557 0.548-1.647 0.548-2.182 0.548-0.554 0-1.645 0-2.179-0.548h-0.557l-204.626-87.683c-2.736-1.077-4.381-3.255-4.381-5.961v-312.235c0-0.55 0.557-0.55 0.557-1.077 0 0 0-0.55 0.554-0.55 0-0.55 0.557-0.55 0.557-1.077l0.557-0.55c0.554 0 0.554-0.55 1.089-0.55h0.557l205.141-78.974c1.645-0.55 3.29-0.55 4.915 0l204.626 79.019h0.557c0.554 0 0.554 0 1.089 0.548l0.557 0.55c0.557 0 0.557 0.55 0.557 1.080l0.554 0.55c0 0.548 0.557 0.548 0.557 1.077v0.55c0.534 0.508 0.534 1.035 0.534 2.135l0.002-0.002zM954.967 201.159l177.27 76.312c1.089 0.55 2.179 1.080 2.736 2.157l86.987-37.331-186.571-72.523-80.422 31.386zM1028.835 333.739l-190.969-81.724v294.373l190.947 82.249 0.022-294.899zM1114.179 288.272l4.917-2.157-181.099-77.936c-0.557 0-0.557-0.55-1.091-0.55l-88.634 34.097 187.123 80.642 78.783-34.097zM1232.929 252.018l-93.017 40.036v33.547c0 3.784-3.29 7.039-7.117 7.039s-7.117-3.255-7.117-7.039v-27.586l-84.253 36.252v294.373l190.949-82.249v-294.371l0.554-0.002z","M334.826 1023.174c3.317 0.28 6.632 0.561 9.944 0.826h114.915c2.522-0.603 5.12-1.017 7.76-1.318 6.36-0.39 12.738-0.701 19.118-1.011 12.729-0.619 25.469-1.238 38.106-2.493 3.404-0.349 6.807-0.697 10.211-1.046 36.964-3.784 73.993-7.573 110.761-12.816 43.883-6.215 86.947-17.103 128.381-32.472 8.769-3.201 14.356-7.533 15.83-16.952 1.106-7.155 2.522-14.263 3.938-21.368 1.759-8.831 3.515-17.655 4.675-26.546 8.147-63.136 6.518-125.591-16.76-186.090-20.251-52.734-56.721-89.576-112.121-108.41-25.064-8.437-49.582-18.532-73.715-29.155-29.678-12.882-57.38-29.758-82.247-50.062-21.357 20.409-42.776 34.921-64.214 43.56l30.729 245.831-66.783 66.783-77.913-66.783 30.239-241.907c-25.032-7.738-50-23.465-74.834-47.146-3.143 2.246-6.142 4.443-9.065 6.585-5.554 4.067-10.828 7.932-16.268 11.536-41.748 27.762-87.994 46.369-135.404 62.569-36.547 12.13-67.623 36.163-87.952 68.069-18.39 28.251-28.943 59.441-34.53 92.289-10.359 61.099-7.216 121.669 7.1 181.94 1.785 7.76 5.82 12.206 13.424 14.427 8.977 2.629 17.911 5.416 26.845 8.203 18.094 5.648 36.187 11.293 54.628 15.605 66.028 15.445 133.421 21.773 201.123 25.54 8.041 0.454 16.063 1.133 24.080 1.812z","M415.679 0c13.851 1.769 27.477 4.93 40.686 9.409 30.6 10.689 58.415 28.115 81.337 51.036 11.97 11.969 21.379 21.604 28.378 37.826 8.47 19.685 8.281 37.524 8.092 47.197-0.301 16.674-5.645 61.499-6.85 73.769-0.563 5.307-0.49 9.409 4.365 12.722 8.695 5.946 9.185 15.204 8.319 24.313h-0.076c-1.805 22.13-8.279 43.582-18.931 63.043-6.097 10.99-7.905 24.313-12.119 36.432-12.722 36.207-34.026 93.453-85.326 119.804-18.744 9.258-39.333 14.113-60.222 14.189-11.591 0-34.778 0-59.016-13.361-11.291-6.173-17.991-12.796-27.325-21.566h-0.038c-21.905-20.776-39.293-45.804-51.113-73.543-7.413-16.936-12.043-34.927-18.405-52.315-2.257-6.249-5.87-11.97-8.806-17.953l0.038 0.038c-9.71-19.158-14.679-40.31-14.527-61.763 0.073-6.776 1.881-12.722 7.678-16.938 5.042-3.613 5.532-8.168 4.517-14.075h-0.038c-5.12-28.153-7.115-56.757-6.024-85.286 1.507-33.46 20.703-58.338 31.428-72.113 16.411-20.249 37.414-36.282 61.313-46.708v0.038c13.851-6.097 28.492-10.237 43.509-12.307l49.156-1.884z"],"width":1247,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["admin-box"],"grid":16},"attrs":[],"properties":{"order":142,"id":133,"name":"admin-box","prevSize":32,"code":59688,"codes":[59688]},"setIdx":0,"setId":6,"iconIdx":141},{"icon":{"paths":["M161.684 714.477c1.347 64.226 61.305 103.149 113.852 72.532l422.401-263.043c22.981-14.297 38.621-40.646 38.621-71.411s-15.64-57.114-38.621-71.411l-422.401-262.661c-52.547-30.616-112.505 7.934-113.852 72.159v523.836z"],"width":916,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["triangle"],"grid":16},"attrs":[],"properties":{"order":143,"id":134,"name":"triangle","prevSize":32,"code":59680},"setIdx":0,"setId":6,"iconIdx":142},{"icon":{"paths":["M657.642 537.607c0 7.869-6.845 14.636-14.8 14.636s-14.8-6.768-14.8-13.494c0-7.867 6.845-14.636 14.8-14.636s14.8 5.625 14.8 13.494zM643.955 462.222c-7.955 0-14.8 6.77-14.8 14.639v13.494c0 7.867 6.845 14.636 14.8 14.636s14.8-6.77 14.8-14.636v-14.639c-1.11-7.869-6.799-13.494-14.8-13.494zM643.955 386.838c-7.955 0-14.8 6.77-14.8 14.639v25.889c0 7.869 6.845 14.639 14.8 14.639s14.8-6.77 14.8-14.639v-25.889c-1.11-9.011-6.799-14.639-14.8-14.639zM879.509 178.662v643.646c0 5.625-3.422 10.11-9.111 12.395l-424.402 182.283h-1.156c-1.156 1.142-3.422 1.142-4.533 1.142-1.156 0-3.422 0-4.533-1.142h-1.156l-425.506-182.329c-5.689-2.241-9.111-6.768-9.111-12.395v-649.271c0-1.143 1.156-1.143 1.156-2.242 0 0 0-1.143 1.156-1.143 0-1.143 1.156-1.143 1.156-2.242l1.156-1.143c1.156 0 1.156-1.143 2.267-1.143h1.156l426.575-164.223c3.422-1.143 6.845-1.143 10.222 0l425.506 164.313h1.156c1.156 0 1.156 0 2.266 1.143l1.156 1.143c1.156 0 1.156 1.143 1.156 2.242l1.156 1.143c0 1.143 1.154 1.143 1.154 2.242v1.143c1.113 1.055 1.113 2.154 1.113 4.44l0.005-0.002zM273.062 94.266l368.617 158.687c2.266 1.142 4.533 2.241 5.689 4.483l180.884-77.626-387.959-150.809-167.231 65.266zM426.662 369.96l-397.108-169.94v612.126l397.062 171.031 0.046-613.217zM604.133 275.41l10.222-4.485-376.582-162.061c-1.156 0-1.156-1.143-2.266-1.143l-184.309 70.901 389.109 167.692 163.826-70.904zM851.065 200.025l-193.422 83.252v69.759c0 7.867-6.845 14.636-14.8 14.636s-14.8-6.77-14.8-14.636v-57.364l-175.195 75.385v612.127l397.062-171.031v-612.126l1.156-0.001z"],"width":887,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["box"],"grid":16},"attrs":[],"properties":{"order":144,"id":135,"name":"box","prevSize":32,"code":59679},"setIdx":0,"setId":6,"iconIdx":143},{"icon":{"paths":["M869.845 371.635v-194.936l-0.007 0.002c0-2.261 0-3.347-1.099-4.391v-1.13c0-0.538-0.28-0.81-0.562-1.084-0.289-0.28-0.58-0.563-0.58-1.133l-1.142-1.13c0-1.087 0-2.217-1.142-2.217l-1.142-1.13c-0.626-0.644-0.897-0.921-1.222-1.040-0.248-0.090-0.528-0.090-1.022-0.090h-1.142l-420.83-162.507c-3.341-1.13-6.724-1.13-10.11 0l-421.887 162.418h-1.143c-0.544 0-0.819 0.277-1.096 0.557-0.283 0.285-0.569 0.573-1.146 0.573l-1.143 1.13c0 0.538-0.28 0.81-0.563 1.084-0.288 0.28-0.58 0.563-0.58 1.133-1.143 0-1.143 1.13-1.143 1.13 0 0.538-0.28 0.81-0.563 1.084-0.288 0.28-0.58 0.562-0.58 1.133v642.136c0 5.566 3.385 10.042 9.011 12.261l420.83 180.324h1.142c1.099 1.131 3.341 1.131 4.485 1.131 1.099 0 3.341 0 4.483-1.131h1.142l419.74-180.281c5.625-2.26 9.011-6.695 9.011-12.258v-164.272l-29.27 5.646v148.58l-392.699 169.151v-605.4l173.27-74.556v56.734c0 7.782 6.77 14.477 14.639 14.477 7.867 0 14.636-6.697 14.636-14.477v-68.993l190.155-81.845v178.786l29.27-5.468zM840.574 198.317l1.142-0.492-1.142 0.001v0.491zM634.63 250.165l-364.567-156.942 165.392-64.548 383.697 149.152-178.897 76.773c-1.113-2.162-3.272-3.249-5.457-4.349l-0.168-0.086zM29.225 197.825l392.743 168.071-0.043 606.481-392.699-169.151v-605.401zM607.605 267.96l-10.11 4.435-162.024 70.128-163.166-70.124-221.667-95.728 182.284-70.122c0.544 0 0.819 0.277 1.095 0.557 0.284 0.285 0.569 0.573 1.147 0.573l372.442 160.28z","M630.147 525.526c0.159 4.139 1.877 8.936 4.706 11.947l92.672 98.461c6.29 5.634 18.325 7.964 25.338 1.45 6.925-6.426 6.697-18.892-0.18-25.341l-65.161-69.145h319.101c9.594 0 17.376-7.782 17.376-17.374 0-9.594-7.782-17.376-17.376-17.376h-319.101l65.161-69.145c5.928-5.951 7.036-18.846 0.18-25.338-6.831-6.494-19.322-4.412-25.338 1.447l-92.672 98.463c-3.168 3.37-4.706 7.33-4.706 11.944v0.007z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["box-arrow"],"grid":16},"attrs":[],"properties":{"order":145,"id":136,"name":"box-arrow","prevSize":32,"code":59674},"setIdx":0,"setId":6,"iconIdx":144},{"icon":{"paths":["M642.842 552.243c7.955 0 14.8-6.768 14.8-14.636s-6.845-13.494-14.8-13.494c-7.955 0-14.8 6.77-14.8 14.636 0 6.727 6.845 13.494 14.8 13.494zM629.155 476.861c0-7.869 6.845-14.639 14.8-14.639 8.001 0 13.69 5.625 14.8 13.494v14.639c0 7.867-6.845 14.636-14.8 14.636s-14.8-6.77-14.8-14.636v-13.494zM629.155 401.476c0-7.869 6.845-14.639 14.8-14.639 8.001 0 13.69 5.627 14.8 14.639v25.889c0 7.869-6.845 14.639-14.8 14.639s-14.8-6.77-14.8-14.639v-25.889zM879.509 188.354v-9.692l-0.005 0.002c0-2.286 0-3.385-1.113-4.44v-1.143c0-0.544-0.282-0.819-0.569-1.096-0.291-0.283-0.585-0.569-0.585-1.146l-1.156-1.143c0-1.099 0-2.242-1.156-2.242l-1.156-1.143c-0.633-0.651-0.906-0.931-1.236-1.052-0.25-0.091-0.532-0.091-1.031-0.091h-1.156l-425.506-164.313c-3.377-1.143-6.799-1.143-10.222 0l-426.575 164.223h-1.156c-0.55 0-0.828 0.28-1.108 0.563-0.286 0.289-0.575 0.58-1.158 0.58l-1.156 1.143c0 0.544-0.283 0.819-0.569 1.096-0.292 0.283-0.586 0.568-0.586 1.146-1.156 0-1.156 1.143-1.156 1.143 0 0.544-0.283 0.819-0.569 1.096-0.292 0.283-0.586 0.569-0.586 1.146v649.271c0 5.627 3.422 10.154 9.111 12.395l425.506 182.329h1.156c1.11 1.142 3.377 1.142 4.533 1.142 1.11 0 3.377 0 4.533-1.142h1.156l424.402-182.283c5.689-2.285 9.111-6.77 9.111-12.395v-23.183l-29.6 12.839v0.189l-397.062 171.031v-612.127l175.195-75.385v57.364c0 7.867 6.845 14.636 14.8 14.636s14.8-6.77 14.8-14.636v-69.759l130.291-56.079-0.023-0.353 35.578-14.951 26.419-11.371v0.27l29.6-12.438zM849.909 200.523l1.156-0.497-1.156 0.001v0.496zM641.679 252.953l-368.617-158.687 167.231-65.266 387.959 150.809-180.884 77.626c-1.126-2.185-3.309-3.284-5.518-4.396l-0.171-0.086zM29.554 200.020l397.108 169.94-0.046 613.217-397.062-171.031v-612.126zM614.354 270.925l-10.222 4.485-163.826 70.904-164.978-70.899-224.131-96.792 184.309-70.901c0.551 0 0.828 0.28 1.108 0.563 0.287 0.289 0.576 0.58 1.158 0.58l376.582 162.061z","M1148.659 383.108c-19.515-9.166-29.514 11.123-29.514 11.123l-48.827 79.742-9.817-5.652 35.062-129.224c0 0 4.628-21.468-15.629-25.641-22.519-4.913-29.191 13.080-29.191 13.080l-32.939 125.952-10.98-3.015 16.027-150.915c0 0 1.363-23.525-21.276-25.382-22.66-1.877-25.466 21.226-25.466 21.226l-15.387 150.933h-9.817l-11.441-139.89c0 0-5.188-22.785-24.986-22.785-19.795 0-20.776 26.761-20.776 26.761l5.029 172.080-5.029 5.511-37.528-29.434c0 0-17.631-13.999-31.735 0.319-12.743 12.921 1.764 32.652 1.764 32.652l74.053 114.105 163.815 9.746 94.909-204.411c0 0 7.455-18.154-10.317-26.881z","M864.711 679.706v25.716h204.8v-56.88l-187.351-11.387-17.449 42.551z"],"width":1161,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["box-hand"],"grid":16},"attrs":[],"properties":{"order":146,"id":137,"name":"box-hand","prevSize":32,"code":59677},"setIdx":0,"setId":6,"iconIdx":145},{"icon":{"paths":["M640 130.009v468.366c0 4.096-2.492 7.36-6.63 9.024l-308.829 132.642h-0.841c-0.841 0.832-2.49 0.832-3.299 0.832-0.841 0-2.49 0-3.299-0.832h-0.841l-309.632-132.676c-4.14-1.63-6.63-4.928-6.63-9.020v-472.462c0-0.832 0.841-0.832 0.841-1.631 0 0 0-0.832 0.841-0.832 0-0.832 0.841-0.832 0.841-1.632l0.841-0.832c0.841 0 0.841-0.832 1.649-0.832h0.841l310.41-119.501c2.49-0.832 4.981-0.832 7.439 0l309.633 119.567h0.841c0.841 0 0.841 0 1.647 0.832l0.841 0.832c0.845 0 0.845 0.832 0.845 1.631l0.841 0.832c0 0.832 0.841 0.832 0.841 1.632v0.832c0.806 0.768 0.806 1.567 0.806 3.23l0.004-0.001zM198.701 68.595l268.235 115.473c1.651 0.832 3.298 1.631 4.139 3.262l131.627-56.487-282.31-109.741-121.69 47.493zM310.473 269.211l-288.966-123.661v445.43l288.934 124.459 0.033-446.228zM439.616 200.41l7.437-3.262-274.031-117.929c-0.841 0-0.841-0.832-1.649-0.832l-134.118 51.593 283.146 122.027 119.215-51.597zM619.302 145.554l-140.749 60.581v50.761c0 5.725-4.983 10.651-10.769 10.651-5.79 0-10.773-4.925-10.773-10.651v-41.742l-127.484 54.856v445.433l288.934-124.454v-445.434l0.841-0.001z","M981.431 618.667c0 0-20.267 0-21.073 16.593s0 248.887 0 265.481c0 16.593 21.073 16.593 21.073 16.593s21.077 0 21.077-16.593c0-16.593 0.354-248.892 0-265.481-0.354-16.593-21.077-16.593-21.077-16.593z","M1130.62 768.427c0 0 0.047-20.267-16.542-21.111-16.585-0.841-248.811-0.546-265.395-0.585-16.589-0.038-16.636 21.039-16.636 21.039s-0.047 21.073 16.542 21.111c16.585 0.038 248.811 0.905 265.395 0.585 16.589-0.316 16.636-21.039 16.636-21.039z","M981.333 1024c-141.385 0-256-114.615-256-256s114.615-256 256-256c141.385 0 256 114.615 256 256s-114.615 256-256 256zM981.333 981.333c117.82 0 213.333-95.514 213.333-213.333s-95.514-213.333-213.333-213.333c-117.82 0-213.333 95.514-213.333 213.333s95.514 213.333 213.333 213.333z"],"width":1237,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["box-plus"],"grid":16},"attrs":[],"properties":{"order":147,"id":138,"name":"box-plus","prevSize":32,"code":59678},"setIdx":0,"setId":6,"iconIdx":146},{"icon":{"paths":["M343.243 1024c-11.329-0.906-22.657-1.997-34.024-2.638-67.702-3.767-135.095-10.095-201.123-25.54-27.545-6.44-54.316-15.859-81.473-23.808-7.604-2.222-11.639-6.667-13.424-14.427-14.316-60.271-17.458-120.841-7.1-181.94 5.587-32.848 16.139-64.038 34.529-92.289l0.039-0.038c20.291-31.869 51.367-55.901 87.914-68.031 47.409-16.199 93.655-34.807 135.402-62.569 8.303-5.501 16.217-11.602 25.335-18.12 73.715 70.291 148.631 70.518 222.773-0.338 24.87 20.304 52.571 37.18 82.249 50.062 24.133 10.623 48.651 20.718 73.715 29.155 55.401 18.835 91.871 55.677 112.121 108.41 23.278 60.498 24.908 122.953 16.76 186.090-2.095 16.046-6.128 31.869-8.613 47.914-1.474 9.419-7.061 13.751-15.83 16.952l0.040 0.038c-41.474 15.331-84.538 26.219-128.421 32.434-40.156 5.725-80.62 9.719-120.972 13.862-18.973 1.883-38.177 2.335-57.224 3.504-2.64 0.301-5.238 0.715-7.76 1.318h-114.915z","M414.152 0c13.851 1.769 27.477 4.93 40.686 9.409 30.6 10.689 58.415 28.115 81.337 51.036 11.97 11.969 21.379 21.604 28.378 37.826 8.468 19.685 8.281 37.524 8.092 47.197-0.301 16.674-5.645 61.499-6.85 73.769-0.563 5.307-0.49 9.409 4.365 12.722 8.695 5.946 9.185 15.204 8.319 24.313h-0.076c-1.805 22.13-8.279 43.582-18.931 63.043-6.097 10.99-7.905 24.313-12.119 36.432-12.722 36.207-34.026 93.453-85.326 119.804-18.744 9.258-39.333 14.113-60.222 14.189-11.591 0-34.778 0-59.016-13.361-11.293-6.173-17.991-12.796-27.325-21.566h-0.038c-21.905-20.776-39.293-45.804-51.113-73.543-7.413-16.936-12.043-34.927-18.405-52.315-2.257-6.249-5.87-11.97-8.806-17.953l0.038 0.038c-9.71-19.158-14.679-40.31-14.53-61.763 0.076-6.776 1.883-12.722 7.68-16.938 5.042-3.613 5.532-8.168 4.517-14.075h-0.038c-5.12-28.153-7.115-56.757-6.024-85.286 1.507-33.46 20.703-58.338 31.428-72.113 16.411-20.249 37.414-36.282 61.313-46.708v0.038c13.851-6.097 28.492-10.237 43.509-12.307l49.156-1.884z"],"width":801,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["user"],"grid":16},"attrs":[],"properties":{"order":148,"id":139,"name":"user","prevSize":32,"code":59659},"setIdx":0,"setId":6,"iconIdx":147},{"icon":{"paths":["M286.036 853.33c-9.44-0.752-18.881-1.661-28.354-2.195-56.417-3.139-112.579-8.415-167.602-21.281-22.955-5.369-45.263-13.219-67.894-19.843-6.337-1.852-9.699-5.556-11.187-12.021-11.93-50.225-14.549-100.699-5.916-151.619 4.656-27.372 13.45-53.364 28.775-76.907l0.032-0.031c16.909-26.557 42.806-46.588 73.261-56.694 39.508-13.499 78.046-29.006 112.835-52.139 6.919-4.586 13.514-9.67 21.112-15.102 61.428 58.577 123.86 58.764 185.645-0.28 20.722 16.918 43.807 30.983 68.539 41.717 20.11 8.855 40.546 17.266 61.431 24.3 46.169 15.694 76.56 46.396 93.433 90.339 19.398 50.416 20.756 102.462 13.966 155.074-1.745 13.374-5.107 26.557-7.177 39.932-1.229 7.849-5.881 11.455-13.192 14.127l0.036 0.031c-34.562 12.773-70.451 21.847-107.017 27.025-33.463 4.773-67.183 8.103-100.811 11.553-15.81 1.572-31.814 1.946-47.688 2.921-2.198 0.249-4.364 0.597-6.466 1.1l-95.762-0.004z","M345.125 0c11.542 1.474 22.897 4.109 33.906 7.841 25.5 8.908 48.678 23.429 67.78 42.53 9.973 9.974 17.813 18.003 23.65 31.521 7.057 16.404 6.901 31.27 6.741 39.331-0.249 13.895-4.701 51.249-5.708 61.474-0.472 4.422-0.405 7.841 3.637 10.601 7.248 4.956 7.653 12.671 6.932 20.261h-0.062c-1.505 18.443-6.901 36.319-15.774 52.536-5.084 9.158-6.589 20.261-10.102 30.36-10.601 30.172-28.352 77.877-71.104 99.836-15.62 7.716-32.776 11.761-50.184 11.825-9.66 0-28.981 0-49.18-11.134-9.41-5.144-14.993-10.663-22.771-17.972h-0.032c-18.254-17.313-32.745-38.171-42.594-61.286-6.179-14.114-10.037-29.106-15.338-43.597-1.882-5.207-4.893-9.974-7.339-14.961l0.032 0.032c-8.092-15.965-12.232-33.592-12.107-51.469 0.063-5.646 1.568-10.601 6.398-14.114 4.203-3.011 4.611-6.806 3.764-11.73h-0.031c-4.266-23.461-5.928-47.297-5.018-71.072 1.255-27.884 17.25-48.615 26.189-60.095 13.675-16.874 31.177-30.235 51.094-38.923v0.031c11.542-5.081 23.743-8.531 36.258-10.256l40.963-1.57z","M979.581 601.043c0 0-21.148 0-21.989 17.315s0 259.709 0 277.023c0 17.315 21.989 17.315 21.989 17.315s21.994 0 21.994-17.315c0-17.315 0.37-259.713 0-277.023-0.37-17.315-21.994-17.315-21.994-17.315z","M1135.255 757.315c0 0 0.049-21.148-17.261-22.029-17.306-0.877-259.629-0.57-276.934-0.61-17.31-0.040-17.359 21.954-17.359 21.954s-0.049 21.989 17.261 22.029c17.306 0.040 259.629 0.944 276.934 0.61 17.31-0.329 17.359-21.954 17.359-21.954z","M979.478 1024c-147.532 0-267.13-119.599-267.13-267.13s119.599-267.13 267.13-267.13c147.532 0 267.13 119.599 267.13 267.13s-119.599 267.13-267.13 267.13zM979.478 979.478c122.942 0 222.609-99.666 222.609-222.609s-99.666-222.609-222.609-222.609c-122.942 0-222.609 99.666-222.609 222.609s99.666 222.609 222.609 222.609z"],"width":1247,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["user-plus"],"grid":16},"attrs":[],"properties":{"order":149,"id":140,"name":"user-plus","prevSize":32,"code":59673},"setIdx":0,"setId":6,"iconIdx":148},{"icon":{"paths":["M324.65 614.4l-71.97 75.627-143.945 148.109-73.527 73.975-35.208 111.889 108.733-36.211 71.97-75.678 143.945-148.058 73.574-74.027-73.572-75.627z","M833.331 197.89c-2.586-2.845-20.723-21.034-29.474-30.316-24.759-25.465-162.871-167.573-162.871-167.573l-13.828 44.541c-12.019 37.125-16.145 71.871-17.37 105.172l-218.331 224.609c-47.022-5.504-98.077-4.384-147.316 10.68l-45.026 14.272 436.7 449.182 13.833-46.357c14.507-49.997 15.415-100.134 10.428-147.947l218.334-226.389c32.964-1.024 67.332-7.041 103.97-19.587l41.626-14.225-190.673-196.062zM866.249 372.557h-12.109l-249.57 256.657 3.49 14.225c4.535 26.863-3.217 57.69-6.938 87.356l-285.935-294.114c28.249-3.588 57.586-11.611 83.16-7.134l13.875 1.771 249.525-256.701v-12.453c-0.183-15.064 7.39-32.928 10.381-49.905l100.527 103.4c7.3 7.789 18.001 18.33 20.77 21.361l123.063 126.584c-16.777 3.265-35.366 9.188-50.24 8.955v-0.002z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["pin"],"grid":16},"attrs":[],"properties":{"order":150,"id":141,"name":"pin","prevSize":32,"code":59663},"setIdx":0,"setId":6,"iconIdx":149},{"icon":{"paths":["M308.049 35.31c-1.654 0.126-2.748 0.529-3.354 1.007l-250.42 180.467c-2.19 1.511-3.168 4.582-2.422 7.251s3.191 4.708 5.776 4.633h41.737v244.919h-41.737c-3.121 0-5.963 3.072-5.963 6.444v45.12h-5.962c-3.121 0-5.963 3.068-5.963 6.444v51.56c0 3.376 2.841 6.448 5.963 6.448h524.689c3.121 0 5.964-3.072 5.964-6.448v-51.56c0-3.376-2.842-6.444-5.964-6.444h-5.96v-45.12c0-3.372-2.842-6.444-5.964-6.444h-41.737v-244.919h41.737c2.585 0.076 5.032-1.964 5.777-4.633s-0.233-5.74-2.422-7.251l-250.42-180.467c-1.328-1.007-2.282-0.982-3.354-1.007zM308.050 49.408l230.857 166.365h-461.715l230.858-166.365zM308.048 112.653c-16.396 0-29.812 14.502-29.812 32.226s13.415 32.226 29.812 32.226c16.397 0 29.812-14.502 29.812-32.226s-13.415-32.226-29.812-32.226zM308.049 125.543c9.946 0 17.888 8.585 17.888 19.336s-7.942 19.336-17.888 19.336c-9.945 0-17.887-8.585-17.887-19.336s7.942-19.336 17.887-19.336zM111.289 228.668h35.774v244.918h-35.774v-244.918zM158.989 228.668h59.624v244.918h-59.624v-244.918zM230.539 228.668h35.774v244.918h-35.774v-244.918zM278.236 228.668h59.624v244.918h-59.624v-244.918zM349.787 228.668h35.774v244.918h-35.774v-244.918zM397.485 228.668h59.622v244.918h-59.622v-244.918zM469.034 228.668h35.773v244.918h-35.773v-244.918zM63.591 486.478h488.917v38.672h-488.917v-38.672zM51.666 538.038h512.766v38.672h-512.766v-38.672z","M308.049 35.31l0.208-8.825-0.439-0.010-0.438 0.033 0.67 8.802zM304.695 36.317l5.166 7.169 0.306-0.242-5.472-6.927zM54.275 216.784l5.014 7.267 0.147-0.106-5.161-7.162zM57.629 228.667v-8.831l-0.258 0.008 0.258 8.824zM99.365 228.667h8.828v-8.828h-8.828v8.828zM99.365 473.586v8.828h8.828v-8.828h-8.828zM51.666 525.15v8.828h8.828v-8.828h-8.828zM564.432 525.15h-8.828v8.828h8.828v-8.828zM516.732 473.586h-8.828v8.828h8.828v-8.828zM516.732 228.667v-8.828h-8.828v8.828h8.828zM558.468 228.667l0.258-8.828h-0.258v8.828zM561.823 216.784l-5.162 7.163 0.148 0.103 5.014-7.266zM311.403 36.317l-5.337 7.035 0.175 0.126 5.161-7.162zM308.050 49.408l5.161-7.162-5.161-3.719-5.161 3.719 5.161 7.162zM538.906 215.774v8.828h27.348l-22.185-15.989-5.162 7.162zM77.192 215.774l-5.161-7.162-22.188 15.989h27.349v-8.828zM111.289 228.668v-8.828h-8.828v8.828h8.828zM147.063 228.668h8.828v-8.828h-8.828v8.828zM147.063 473.586v8.828h8.828v-8.828h-8.828zM111.289 473.586h-8.828v8.828h8.828v-8.828zM158.989 228.668v-8.828h-8.828v8.828h8.828zM218.613 228.668h8.828v-8.828h-8.828v8.828zM218.613 473.586v8.828h8.828v-8.828h-8.828zM158.989 473.586h-8.828v8.828h8.828v-8.828zM230.539 228.668v-8.828h-8.828v8.828h8.828zM266.312 228.668h8.828v-8.828h-8.828v8.828zM266.312 473.586v8.828h8.828v-8.828h-8.828zM230.539 473.586h-8.828v8.828h8.828v-8.828zM278.236 228.668v-8.828h-8.828v8.828h8.828zM337.86 228.668h8.828v-8.828h-8.828v8.828zM337.86 473.586v8.828h8.828v-8.828h-8.828zM278.236 473.586h-8.828v8.828h8.828v-8.828zM349.787 228.668v-8.828h-8.828v8.828h8.828zM385.561 228.668h8.828v-8.828h-8.828v8.828zM385.561 473.586v8.828h8.828v-8.828h-8.828zM349.787 473.586h-8.828v8.828h8.828v-8.828zM397.485 228.668v-8.828h-8.828v8.828h8.828zM457.107 228.668h8.828v-8.828h-8.828v8.828zM457.107 473.586v8.828h8.828v-8.828h-8.828zM397.485 473.586h-8.828v8.828h8.828v-8.828zM469.034 228.668v-8.828h-8.828v8.828h8.828zM504.807 228.668h8.828v-8.828h-8.828v8.828zM504.807 473.586v8.828h8.828v-8.828h-8.828zM469.034 473.586h-8.828v8.828h8.828v-8.828zM63.591 486.478v-8.828h-8.828v8.828h8.828zM552.508 486.478h8.828v-8.828h-8.828v8.828zM552.508 525.15v8.828h8.828v-8.828h-8.828zM63.591 525.15h-8.828v8.828h8.828v-8.828zM51.666 538.038v-8.828h-8.828v8.828h8.828zM564.432 538.038h8.828v-8.828h-8.828v8.828zM564.432 576.71v8.828h8.828v-8.828h-8.828zM51.666 576.71h-8.828v8.828h8.828v-8.828zM307.379 26.508c-2.518 0.192-5.609 0.87-8.156 2.882l10.944 13.854c-0.74 0.585-1.344 0.796-1.522 0.852-0.209 0.066-0.209 0.037 0.073 0.016l-1.34-17.604zM299.534 29.156l-250.421 180.467 10.322 14.323 250.421-180.467-10.322-14.323zM49.261 209.518c-5.629 3.883-7.555 11.006-5.911 16.891l17.005-4.749c0.124 0.442 0.085 0.796-0.007 1.077-0.092 0.278-0.358 0.829-1.059 1.313l-10.027-14.532zM43.35 226.409c1.642 5.878 7.214 11.296 14.536 11.082l-0.516-17.647c1.137-0.034 1.892 0.398 2.242 0.682s0.608 0.656 0.742 1.135l-17.005 4.749zM57.629 237.495h41.737v-17.655h-41.737v17.655zM90.538 228.667v244.919h17.655v-244.919h-17.655zM99.365 464.758h-41.737v17.655h41.737v-17.655zM57.629 464.758c-4.486 0-8.205 2.168-10.632 4.792-2.445 2.641-4.158 6.342-4.158 10.48h17.655c0 0.766-0.292 1.243-0.537 1.508-0.226 0.244-0.964 0.876-2.328 0.876v-17.655zM42.839 480.030v45.12h17.655v-45.12h-17.655zM51.666 516.322h-5.962v17.655h5.962v-17.655zM45.704 516.322c-4.486 0-8.205 2.165-10.632 4.788-2.445 2.645-4.158 6.342-4.158 10.484h17.655c0 0.766-0.293 1.243-0.537 1.508-0.226 0.244-0.964 0.876-2.328 0.876v-17.655zM30.914 531.594v51.56h17.655v-51.56h-17.655zM30.914 583.154c0 4.142 1.713 7.839 4.158 10.484 2.427 2.624 6.146 4.792 10.632 4.792v-17.655c1.365 0 2.102 0.629 2.328 0.876 0.244 0.261 0.537 0.738 0.537 1.504h-17.655zM45.704 598.429h524.689v-17.655h-524.689v17.655zM570.393 598.429c4.488 0 8.206-2.168 10.632-4.792 2.447-2.645 4.16-6.342 4.16-10.484h-17.655c0-0.766 0.293-1.243 0.537-1.504 0.226-0.247 0.964-0.876 2.327-0.876v17.655zM585.184 583.154v-51.56h-17.655v51.56h17.655zM585.184 531.594c0-4.142-1.713-7.839-4.16-10.484-2.426-2.624-6.144-4.788-10.632-4.788v17.655c-1.363 0-2.101-0.632-2.327-0.876-0.244-0.265-0.537-0.742-0.537-1.508h17.655zM570.393 516.322h-5.96v17.655h5.96v-17.655zM573.26 525.15v-45.12h-17.655v45.12h17.655zM573.26 480.030c0-4.138-1.713-7.839-4.16-10.48-2.426-2.624-6.144-4.792-10.632-4.792v17.655c-1.363 0-2.101-0.632-2.327-0.876-0.244-0.265-0.537-0.738-0.537-1.508h17.655zM558.468 464.758h-41.737v17.655h41.737v-17.655zM525.559 473.586v-244.919h-17.655v244.919h17.655zM516.732 237.495h41.737v-17.655h-41.737v17.655zM558.211 237.491c7.323 0.214 12.895-5.204 14.537-11.082l-17.005-4.749c0.134-0.479 0.392-0.85 0.742-1.135 0.353-0.284 1.105-0.715 2.242-0.682l-0.516 17.647zM572.748 226.409c1.642-5.885-0.282-13.008-5.911-16.891l-10.028 14.532c-0.699-0.484-0.968-1.035-1.059-1.313-0.092-0.28-0.131-0.634-0.007-1.077l17.005 4.749zM566.985 209.622l-250.421-180.467-10.322 14.323 250.419 180.467 10.325-14.323zM316.738 29.284c-1.582-1.2-3.289-2.022-5.147-2.446-1.595-0.364-3.111-0.348-3.335-0.354l-0.415 17.65c0.207 0.005 0.245 0.005 0.357 0.008 0.076 0.002 0.088 0.004 0.069 0.002-0.048-0.003-0.278-0.020-0.599-0.093-0.337-0.077-0.678-0.193-0.998-0.345-0.309-0.147-0.511-0.287-0.603-0.357l10.67-14.066zM302.889 56.57l230.859 166.365 10.321-14.323-230.858-166.365-10.322 14.323zM538.906 206.946h-461.715v17.655h461.715v-17.655zM82.353 222.935l230.858-166.365-10.322-14.323-230.858 166.365 10.322 14.323zM308.048 103.825c-21.907 0-38.639 19.114-38.639 41.054h17.655c0-13.509 10.098-23.399 20.984-23.399v-17.655zM269.408 144.879c0 21.94 16.733 41.054 38.639 41.054v-17.655c-10.887 0-20.984-9.89-20.984-23.399h-17.655zM308.048 185.933c21.907 0 38.64-19.114 38.64-41.054h-17.655c0 13.509-10.098 23.399-20.985 23.399v17.655zM346.688 144.879c0-21.94-16.733-41.054-38.64-41.054v17.655c10.887 0 20.985 9.89 20.985 23.399h17.655zM308.049 134.371c4.436 0 9.060 3.973 9.060 10.508h17.655c0-14.966-11.26-28.163-26.715-28.163v17.655zM317.109 144.879c0 6.535-4.624 10.508-9.060 10.508v17.655c15.455 0 26.715-13.197 26.715-28.163h-17.655zM308.049 155.387c-4.435 0-9.060-3.973-9.060-10.508h-17.655c0 14.966 11.26 28.163 26.715 28.163v-17.655zM298.989 144.879c0-6.535 4.624-10.508 9.060-10.508v-17.655c-15.455 0-26.715 13.197-26.715 28.163h17.655zM111.289 237.496h35.774v-17.655h-35.774v17.655zM138.235 228.668v244.918h17.655v-244.918h-17.655zM147.063 464.758h-35.774v17.655h35.774v-17.655zM120.116 473.586v-244.918h-17.655v244.918h17.655zM158.989 237.496h59.624v-17.655h-59.624v17.655zM209.785 228.668v244.918h17.655v-244.918h-17.655zM218.613 464.758h-59.624v17.655h59.624v-17.655zM167.817 473.586v-244.918h-17.655v244.918h17.655zM230.539 237.496h35.774v-17.655h-35.774v17.655zM257.485 228.668v244.918h17.655v-244.918h-17.655zM266.312 464.758h-35.774v17.655h35.774v-17.655zM239.366 473.586v-244.918h-17.655v244.918h17.655zM278.236 237.496h59.624v-17.655h-59.624v17.655zM329.032 228.668v244.918h17.655v-244.918h-17.655zM337.86 464.758h-59.624v17.655h59.624v-17.655zM287.064 473.586v-244.918h-17.655v244.918h17.655zM349.787 237.496h35.774v-17.655h-35.774v17.655zM376.733 228.668v244.918h17.655v-244.918h-17.655zM385.561 464.758h-35.774v17.655h35.774v-17.655zM358.615 473.586v-244.918h-17.656v244.918h17.656zM397.485 237.496h59.622v-17.655h-59.622v17.655zM448.279 228.668v244.918h17.655v-244.918h-17.655zM457.107 464.758h-59.622v17.655h59.622v-17.655zM406.313 473.586v-244.918h-17.655v244.918h17.655zM469.034 237.496h35.773v-17.655h-35.773v17.655zM495.98 228.668v244.918h17.655v-244.918h-17.655zM504.807 464.758h-35.773v17.655h35.773v-17.655zM477.862 473.586v-244.918h-17.655v244.918h17.655zM63.591 495.305h488.917v-17.655h-488.917v17.655zM543.68 486.478v38.672h17.655v-38.672h-17.655zM552.508 516.322h-488.917v17.655h488.917v-17.655zM72.419 525.15v-38.672h-17.655v38.672h17.655zM51.666 546.865h512.766v-17.655h-512.766v17.655zM555.605 538.038v38.672h17.655v-38.672h-17.655zM564.432 567.882h-512.766v17.655h512.766v-17.655zM60.494 576.71v-38.672h-17.655v38.672h17.655z","M812.219 688.552c0 0-16.772 0-17.44 13.732s0 205.976 0 219.708c0 13.732 17.44 13.732 17.44 13.732s17.443 0 17.443-13.732c0-13.732 0.293-205.979 0-219.708-0.293-13.732-17.443-13.732-17.443-13.732z","M935.685 812.491c0 0 0.039-16.772-13.69-17.472-13.725-0.696-205.912-0.452-219.637-0.484-13.729-0.032-13.768 17.412-13.768 17.412s-0.039 17.44 13.69 17.472c13.725 0.032 205.912 0.749 219.637 0.484 13.729-0.261 13.768-17.412 13.768-17.412z","M812.138 1024c-117.008 0-211.862-94.854-211.862-211.862s94.854-211.862 211.862-211.862c117.008 0 211.862 94.854 211.862 211.862s-94.854 211.862-211.862 211.862zM812.138 988.69c97.506 0 176.552-79.046 176.552-176.552s-79.046-176.552-176.552-176.552c-97.506 0-176.552 79.046-176.552 176.552s79.046 176.552 176.552 176.552z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["bank-plus"],"grid":16},"attrs":[],"properties":{"order":151,"id":142,"name":"bank-plus","prevSize":32,"code":59665},"setIdx":0,"setId":6,"iconIdx":150},{"icon":{"paths":["M682.765 618.667c0 0-20.267 0-21.073 16.593s0 248.887 0 265.481c0 16.593 21.073 16.593 21.073 16.593s21.077 0 21.077-16.593c0-16.593 0.354-248.892 0-265.481-0.354-16.593-21.077-16.593-21.077-16.593z","M831.953 768.427c0 0 0.047-20.267-16.542-21.111-16.585-0.841-248.811-0.546-265.395-0.585-16.589-0.038-16.636 21.039-16.636 21.039s-0.047 21.073 16.542 21.111c16.585 0.038 248.811 0.905 265.395 0.585 16.589-0.316 16.636-21.039 16.636-21.039z","M682.667 1024c-141.385 0-256-114.615-256-256s114.615-256 256-256c141.385 0 256 114.615 256 256s-114.615 256-256 256zM682.667 981.333c117.82 0 213.333-95.514 213.333-213.333s-95.514-213.333-213.333-213.333c-117.82 0-213.333 95.514-213.333 213.333s95.514 213.333 213.333 213.333z","M313.507 57.692c-52.406 52.623-67.67 127.415-48.364 194.291l-247.899 248.924c-2.739 2.748-4.476 6.37-4.91 10.227l-11.524 109.841c-0.568 5.363 1.369 10.662 5.277 14.353s9.285 5.333 14.563 4.429l144.555-24.853c7.649-1.276 13.46-7.612 14.161-15.36l4.71-52.557 52.339-4.727c8.25-0.738 14.764-7.313 15.498-15.561l4.71-52.557 52.372-4.727c3.974-0.371 7.715-2.116 10.555-4.932l78.592-78.916c66.536 19.284 141.121 4.024 193.49-48.564 76.655-76.971 76.655-202.301 0-279.274s-201.468-76.971-278.124 0l-0.002-0.037zM337.69 81.975c63.595-63.857 166.17-63.857 229.76 0s63.595 166.858 0 230.711c-45.892 46.082-112.051 58.357-169.307 37.932h0.033c-6.246-2.147-13.16-0.536-17.769 4.192l-80.496 80.828-60.656 5.5c-8.216 0.738-14.73 7.279-15.498 15.561l-4.71 52.557-52.339 4.727c-8.216 0.738-14.763 7.279-15.498 15.565l-4.71 53.696-109.387 18.782 8.317-80.832 250.334-251.367c4.676-4.729 6.246-11.772 3.941-18.044-20.308-57.485-7.916-123.723 37.976-169.803l0.006-0.005zM446.515 106.256c-26.586 26.697-26.586 70.464 0 97.124 26.586 26.697 70.174 26.697 96.725 0 26.586-26.697 26.586-70.464 0-97.124-26.59-26.697-70.174-26.697-96.725 0zM470.694 130.536c13.495-13.549 34.871-13.549 48.367 0s13.495 35.014 0 48.564c-13.495 13.549-34.871 13.549-48.367 0-13.491-13.55-13.491-35.014 0-48.564z"],"width":939,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["key-plus"],"grid":16},"attrs":[],"properties":{"order":152,"id":143,"name":"key-plus","prevSize":32,"code":59672},"setIdx":0,"setId":6,"iconIdx":151},{"icon":{"paths":["M650.16 496.653v-0.735c0 21.691-16.927 40.078-38.899 40.078h-531.095c-21.973 0-38.901-18.356-38.901-40.078l0.030-28.405h64.278c10.151 0 16.928-6.692 16.928-16.709 0-10.020-6.777-16.709-16.928-16.709h-64.278v-133.551h64.278c10.151 0 16.928-6.689 16.928-16.709s-6.777-16.709-16.928-16.709h-64.278v-133.55h64.278c10.151 0 16.928-6.689 16.928-16.709s-6.777-16.709-16.928-16.709h-64.278v-26.698c0-21.688 16.928-40.077 38.901-40.077h531.091c21.976 0 38.903 18.358 38.903 40.077 0 10.019 6.776 16.709 16.927 16.709s16.927-6.689 16.927-16.709c0-40.077-32.122-73.463-72.726-73.463h-531.092c-40.604 0-72.727 33.387-72.727 73.463v420.679c0 40.074 32.124 73.461 72.727 73.461h16.928v50.096c0 26.7 21.973 50.096 50.753 50.096h62.576c27.049 0 50.753-21.687 50.753-50.096v-50.096h169.127v50.096c0 26.7 21.971 50.096 50.755 50.096h62.575c27.047 0 50.755-21.687 50.755-50.096v-50.096h16.927c40.604 0 72.726-33.387 72.726-73.461v0.735c-0.12-8.281-6.87-14.941-17.021-14.941-10.147 0.009-16.923 6.701-16.923 16.718zM227.327 617.77c0 8.339-6.777 16.709-16.928 16.709h-62.576c-8.449 0-16.929-6.692-16.929-16.709v-50.096h96.405l0.028 50.096zM560.538 617.77c0 8.339-6.776 16.709-16.927 16.709h-62.58c-8.446 0-16.927-6.692-16.927-16.709v-50.096h96.407l0.027 50.096z","M345.728 167.033c-65.95 0-118.407 51.745-118.407 116.871 0 65.094 52.426 116.871 118.407 116.871 65.95 0 118.407-51.745 118.407-116.871 0-10.019-6.776-16.709-16.927-16.709s-16.929 6.689-16.929 16.709c0 46.735-37.199 83.481-84.579 83.481-47.349 0-84.579-36.716-84.579-83.481 0-46.735 37.199-83.481 84.579-83.481 10.151 0 16.929-6.689 16.929-16.709 0.030-10.019-6.747-16.679-16.898-16.679l-0.003-0.002z","M333.878 295.57c3.373 3.33 8.448 5.010 11.852 5.010 3.373 0 8.448-1.68 11.853-5.010l71.024-70.103c6.777-6.689 6.777-16.709 0-23.369-6.778-6.689-16.928-6.689-23.675 0l-71.024 70.104c-6.777 6.66-6.777 16.679-0.030 23.368h0.001z","M650 71.136h34.053v426.807h-34.053v-426.807z","M979.478 1024c-147.532 0-267.13-119.599-267.13-267.13s119.599-267.13 267.13-267.13c147.532 0 267.13 119.599 267.13 267.13s-119.599 267.13-267.13 267.13zM979.478 979.478c122.942 0 222.609-99.666 222.609-222.609s-99.666-222.609-222.609-222.609c-122.942 0-222.609 99.666-222.609 222.609s99.666 222.609 222.609 222.609z","M979.581 601.043c0 0-21.148 0-21.989 17.315s0 259.709 0 277.023c0 17.315 21.989 17.315 21.989 17.315s21.994 0 21.994-17.315c0-17.315 0.37-259.713 0-277.023-0.37-17.315-21.994-17.315-21.994-17.315z","M1135.255 757.315c0 0 0.049-21.148-17.261-22.029-17.306-0.877-259.629-0.57-276.934-0.61-17.31-0.040-17.359 21.954-17.359 21.954s-0.049 21.989 17.261 22.029c17.306 0.040 259.629 0.944 276.934 0.61 17.31-0.329 17.359-21.954 17.359-21.954z"],"width":1247,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["safe-plus"],"grid":16},"attrs":[],"properties":{"order":153,"id":144,"name":"safe-plus","prevSize":32,"code":59667},"setIdx":0,"setId":6,"iconIdx":152},{"icon":{"paths":["M493.978 92.308c-82.761 84.195-106.867 203.864-76.378 310.865l-391.493 398.276c-4.325 4.398-7.068 10.195-7.754 16.365l-18.199 175.745c-0.897 8.585 2.163 17.065 8.334 22.966 6.171 5.903 14.663 8.533 22.998 7.085l228.289-39.762c12.078-2.041 21.256-12.183 22.364-24.578l7.437-84.089 82.656-7.566c13.029-1.181 23.316-11.697 24.476-24.9l7.437-84.087 82.708-7.566c6.277-0.591 12.186-3.382 16.67-7.89l124.116-126.266c105.072 30.856 222.861 6.439 305.569-77.7 121.058-123.154 121.058-323.683 0-446.839-121.056-123.156-318.169-123.154-439.227 0l-0.002-0.059zM532.168 131.159c100.433-102.172 262.427-102.172 362.853 0s100.433 266.974 0 369.139c-72.475 73.733-176.964 93.372-267.383 60.692h0.052c-9.864-3.434-20.782-0.86-28.060 6.708l-127.124 129.324-95.792 8.802c-12.976 1.181-23.261 11.645-24.474 24.9l-7.437 84.087-82.658 7.566c-12.974 1.181-23.314 11.645-24.474 24.9l-7.437 85.914-172.75 30.051 13.134-129.326 395.341-402.191c7.385-7.566 9.864-18.834 6.225-28.87-32.073-91.977-12.502-197.958 59.973-271.686l0.010-0.008zM704.029 170.010c-41.989 42.715-41.989 112.742 0 155.398 41.986 42.715 110.823 42.715 152.752 0 41.986-42.715 41.986-112.743 0-155.398-41.989-42.715-110.825-42.715-152.752 0zM742.217 208.858c21.311-21.679 55.070-21.679 76.378 0 21.311 21.679 21.311 56.022 0 77.702-21.309 21.678-55.067 21.678-76.378 0-21.309-21.68-21.309-56.023 0-77.702z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["key"],"grid":16},"attrs":[],"properties":{"order":154,"id":145,"name":"key","prevSize":32,"code":59668},"setIdx":0,"setId":6,"iconIdx":153},{"icon":{"paths":["M961.186 752.578v-1.113c0 32.862-25.317 60.729-58.182 60.729h-794.321c-32.863 0-58.182-27.818-58.182-60.729l0.045-43.046h96.136c15.182 0 25.318-10.135 25.318-25.317s-10.136-25.32-25.318-25.32h-96.136v-202.367h96.136c15.182 0 25.318-10.138 25.318-25.32s-10.136-25.317-25.318-25.317h-96.136v-202.369h96.136c15.182 0 25.318-10.136 25.318-25.318s-10.136-25.318-25.318-25.318h-96.136v-40.455c0-32.864 25.318-60.728 58.182-60.728h794.322c32.862 0 58.182 27.818 58.182 60.728 0 15.182 10.135 25.318 25.317 25.318s25.32-10.137 25.32-25.318c0-60.728-48.044-111.318-108.773-111.318h-794.322c-60.728 0-108.773 50.592-108.773 111.318v637.452c0 60.726 48.046 111.317 108.773 111.317h25.318v75.908c0 40.456 32.863 75.911 75.909 75.911h93.591c40.456 0 75.908-32.865 75.908-75.911v-75.908h252.952v75.908c0 40.456 32.862 75.911 75.908 75.911h93.591c40.456 0 75.908-32.865 75.908-75.911v-75.908h25.32c60.729 0 108.773-50.591 108.773-111.317v1.113c-0.183-12.547-10.272-22.636-25.454-22.636-15.174 0.011-25.312 10.148-25.312 25.331zM328.782 936.1c0 12.636-10.138 25.32-25.32 25.32h-93.59c-12.636 0-25.318-10.138-25.318-25.32v-75.908h144.185l0.043 75.908zM827.144 936.1c0 12.636-10.138 25.32-25.32 25.32h-93.591c-12.636 0-25.317-10.138-25.317-25.32v-75.908h144.185l0.043 75.908z","M505.864 253.105c-98.638 0-177.095 78.409-177.095 177.093 0 98.638 78.411 177.095 177.095 177.095 98.635 0 177.093-78.411 177.093-177.095 0-15.182-10.135-25.317-25.317-25.317s-25.32 10.135-25.32 25.317c0 70.818-55.636 126.499-126.499 126.499-70.818 0-126.499-55.636-126.499-126.499 0-70.818 55.636-126.499 126.499-126.499 15.182 0 25.32-10.135 25.32-25.317 0.046-15.183-10.092-25.274-25.274-25.274l-0.003-0.004z","M488.143 447.873c5.045 5.045 12.636 7.591 17.726 7.591 5.045 0 12.636-2.547 17.726-7.591l106.229-106.227c10.135-10.138 10.135-25.32 0-35.409-10.138-10.138-25.32-10.138-35.412 0l-106.227 106.227c-10.135 10.092-10.135 25.274-0.046 35.409h0.003z","M960.943 107.789h50.931v646.737h-50.931v-646.737z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["safe"],"grid":16},"attrs":[],"properties":{"order":155,"id":146,"name":"safe","prevSize":32,"code":59669},"setIdx":0,"setId":6,"iconIdx":154},{"icon":{"paths":["M967.316 758.523v-1.113c0 32.862-25.317 60.726-58.182 60.726h-794.32c-32.864 0-58.182-27.818-58.182-60.726l0.046-43.046h96.136c15.182 0 25.318-10.138 25.318-25.32s-10.136-25.317-25.318-25.317h-96.136v-202.369h96.136c15.182 0 25.318-10.135 25.318-25.317s-10.136-25.32-25.318-25.32h-96.136v-202.367h96.136c15.182 0 25.318-10.137 25.318-25.318s-10.136-25.318-25.318-25.318h-96.136v-40.455c0-32.863 25.318-60.728 58.182-60.728h794.321c32.865 0 58.182 27.818 58.182 60.728 0 15.182 10.138 25.318 25.32 25.318s25.317-10.137 25.317-25.318c0-60.728-48.044-111.318-108.773-111.318h-794.321c-60.728 0-108.773 50.592-108.773 111.318v637.453c0 60.726 48.046 111.317 108.773 111.317h25.318v75.908c0 40.456 32.863 75.908 75.909 75.908h93.59c40.456 0 75.911-32.862 75.911-75.908v-75.908h252.95v75.908c0 40.456 32.865 75.908 75.908 75.908h93.594c40.453 0 75.908-32.862 75.908-75.908v-75.908h25.317c60.729 0 108.773-50.591 108.773-111.317v1.113c-0.181-12.547-10.272-22.638-25.454-22.638-15.174 0.013-25.312 10.151-25.312 25.333zM334.913 942.045c0 12.636-10.135 25.32-25.317 25.32h-93.592c-12.636 0-25.318-10.138-25.318-25.32v-75.908h144.187l0.040 75.908zM833.275 942.045c0 12.636-10.135 25.32-25.317 25.32h-93.591c-12.636 0-25.32-10.138-25.32-25.32v-75.908h144.187l0.040 75.908z","M511.995 259.049c-98.635 0-177.093 78.41-177.093 177.094 0 98.635 78.409 177.093 177.093 177.093 98.638 0 177.095-78.409 177.095-177.093 0-15.182-10.138-25.32-25.32-25.32s-25.317 10.138-25.317 25.32c0 70.818-55.636 126.499-126.499 126.499-70.818 0-126.499-55.636-126.499-126.499 0-70.818 55.636-126.499 126.499-126.499 15.182 0 25.317-10.138 25.317-25.32 0.046-15.181-10.092-25.272-25.274-25.272l-0.003-0.004z","M494.274 453.818c5.045 5.047 12.636 7.591 17.726 7.591 5.047 0 12.638-2.544 17.729-7.591l106.227-106.227c10.135-10.138 10.135-25.32 0-35.409-10.138-10.138-25.32-10.138-35.409 0l-106.229 106.227c-10.135 10.092-10.135 25.274-0.043 35.409v0z","M1077.889 539.726c-59.872 0-108.568-48.697-108.568-108.568 0-59.874 48.742-108.568 108.568-108.568 59.874 0 108.568 48.694 108.568 108.568 0.049 59.872-48.694 108.568-108.568 108.568zM1077.889 358.971c-39.788 0-72.189 32.399-72.189 72.187 0 39.839 32.402 72.189 72.189 72.189 39.79 0 72.189-32.399 72.189-72.189 0.049-39.836-32.353-72.187-72.189-72.187z","M1078.137 666.252c-10.326 0-20.795-0.711-31.122-2.086-6.963-0.946-12.789-5.826-14.921-12.504-4.974-15.632-16.486-28.184-31.55-34.485-14.967-6.254-32.259-5.495-46.705 1.894-6.252 3.22-13.832 2.509-19.421-1.754-16.389-12.601-30.979-27.236-43.342-43.482-4.263-5.589-4.926-13.121-1.706-19.375 7.58-14.684 8.386-31.642 2.274-46.514-6.112-14.875-18.664-26.29-34.39-31.359-6.678-2.18-11.509-7.958-12.409-14.921-2.652-20.275-2.652-40.928 0.094-61.389 0.949-6.963 5.826-12.792 12.506-14.923 15.632-4.972 28.184-16.484 34.485-31.593 6.3-15.064 5.589-32.116-1.894-46.708-3.223-6.252-2.511-13.829 1.8-19.421 12.601-16.389 27.236-30.932 43.482-43.342 5.589-4.263 13.121-4.926 19.375-1.705 14.541 7.532 31.642 8.432 46.514 2.274 14.875-6.111 26.29-18.664 31.404-34.389 2.18-6.679 7.96-11.511 14.923-12.41 20.178-2.652 40.973-2.605 61.389 0.095 6.963 0.947 12.789 5.826 14.921 12.505 4.974 15.632 16.486 28.184 31.547 34.485 15.018 6.253 32.307 5.495 46.708-1.895 6.252-3.221 13.829-2.511 19.421 1.752 16.389 12.601 30.979 27.238 43.342 43.484 4.263 5.589 4.926 13.121 1.706 19.372-7.58 14.684-8.386 31.644-2.274 46.517 6.109 14.875 18.664 26.29 34.388 31.359 6.68 2.177 11.512 7.958 12.412 14.921 2.652 20.273 2.652 40.925-0.097 61.389-0.946 6.963-5.826 12.789-12.504 14.921-15.632 4.974-28.184 16.486-34.485 31.596-6.3 15.064-5.589 32.116 1.894 46.705 3.22 6.254 2.511 13.832-1.8 19.421-12.601 16.392-27.236 30.933-43.482 43.342-5.592 4.263-13.121 4.926-19.375 1.706-14.541-7.483-31.642-8.383-46.517-2.274-14.826 6.112-26.29 18.664-31.404 34.39-2.177 6.678-7.958 11.509-14.921 12.409-9.995 1.28-20.178 1.989-30.267 1.989v0.003zM1062.268 629.208c10.326 0.806 20.652 0.854 30.979 0.049 9.758-20.558 26.621-36.805 47.605-45.474 20.89-8.62 44.434-9 65.843-1.28 7.815-6.678 15.158-13.972 21.93-21.884-7.626-21.361-7.103-44.857 1.754-66.032 8.809-21.173 25.104-38.131 45.662-47.794 0.806-10.326 0.852-20.698 0.049-30.979-20.558-9.758-36.807-26.621-45.474-47.654-8.669-20.984-9-44.431-1.28-65.841-6.678-7.817-13.972-15.158-21.884-21.932-21.315 7.578-45.048 7.009-66.032-1.752-21.173-8.812-38.131-25.106-47.794-45.617-10.326-0.853-20.652-0.853-30.979-0.047-9.758 20.558-26.621 36.807-47.605 45.473-20.892 8.623-44.434 9-65.843 1.28-7.817 6.678-15.158 13.972-21.932 21.884 7.626 21.364 7.106 44.857-1.752 66.032-8.812 21.173-25.107 38.131-45.662 47.794-0.806 10.326-0.854 20.701-0.049 30.979 20.558 9.758 36.805 26.621 45.474 47.654 8.669 20.984 9 44.431 1.28 65.843 6.678 7.815 13.972 15.158 21.884 21.93 21.361-7.578 45.045-6.963 66.032 1.754 21.221 8.809 38.082 25.104 47.794 45.614z"],"width":1320,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["safe-gear"],"grid":16},"attrs":[],"properties":{"order":156,"id":147,"name":"safe-gear","prevSize":32,"code":59671},"setIdx":0,"setId":6,"iconIdx":155},{"icon":{"paths":["M806.265 217.709c-8.001-8-20.96-8-28.96 0l-57.921 57.92c-7.998 8.001-7.998 20.96 0 28.96 8.001 7.998 20.962 7.998 28.96 0l57.921-57.92c8.001-8 8.001-20.96 0-28.96zM516.627 97.788c-3.721-3.72-8.841-5.88-14.482-5.88-11.321 0-20.359 9.040-20.359 20.36v81.92c0 11.32 9.038 20.36 20.359 20.36s20.361-9.040 20.361-20.36v-81.92c0-5.64-2.161-10.76-5.88-14.48v0zM926.186 507.346c-3.721-3.719-8.841-5.88-14.482-5.88h-81.92c-11.321 0-20.359 9.041-20.359 20.361s9.038 20.359 20.359 20.359h81.92c11.321 0 20.361-9.038 20.361-20.359 0-5.64-2.161-10.76-5.88-14.482v0zM675.91 348.063c-88.32-88.319-242.278-105.277-339.2-8.359-118.559 118.558-65.040 232.397-132.363 318.844l161.116 161.116c86.401-67.32 200.243-13.802 318.844-132.363 96.878-96.878 79.921-250.88-8.362-339.2l-0.035-0.038zM587.431 347.384c0.078 0.081 0.159 0.159 0.24 0.199 0.399 0.361 0.76 0.76 1.118 1.161 6.961 6.998 7.92 18.039 2.242 26.12-5.64 8.119-16.322 11.038-25.322 6.92-48.6-22-106.361-17.241-151.161 14.040v-0.040c-9.281 6.4-22 4.039-28.44-5.241-6.4-9.278-4.12-22 5.16-28.478 56.719-39.602 129.361-45.519 190.954-17.64 1.881 0.719 3.641 1.719 5.201 2.959h0.008zM226.992 217.704c-8-8-20.96-8-28.96 0s-8 20.96 0 28.96l57.919 57.919c8 8.001 20.959 8.001 28.96 0 7.998-8.001 8.001-20.96 0-28.96l-57.92-57.919zM748.31 739.023c-7.998-8.001-20.96-8.001-28.958 0-8.001 7.998-8.001 20.96 0 28.96l57.918 57.918c8.001 8.001 20.96 8.001 28.96 0 7.998-8.001 8.001-20.96 0-28.96l-57.921-57.918zM176.274 688.344l-28.96 28.96 159.283 159.283 28.96-28.96-159.283-159.283zM118.354 746.262l-14.48 14.482c-16.64 16.64-15.28 42.639 0 57.918l101.36 101.36c15.28 15.282 41.28 16.64 57.92 0l14.481-14.479-159.279-159.281zM111.114 854.857c-16.040 16.042-16.040 41.882 0 57.921s41.879 16.039 57.919 0l-57.919-57.921z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["light-bulb"],"grid":16},"attrs":[],"properties":{"order":157,"id":148,"name":"light-bulb","prevSize":32,"code":59662},"setIdx":0,"setId":6,"iconIdx":156},{"icon":{"paths":["M395.532 125.43c-68.906-68.906-181.015-68.815-250.033 0.202s-69.109 181.128-0.202 250.034l178.451 178.451c68.906 68.906 181.015 68.815 250.035-0.202 4.852-4.713 7.613-11.169 7.687-17.934 0.042-6.803-2.604-13.289-7.38-18.064s-11.262-7.422-18.064-7.38c-6.765 0.074-13.221 2.835-17.934 7.687-49.818 49.818-128.861 49.883-178.597 0.147l-178.45-178.451c-49.736-49.736-49.672-128.78 0.145-178.597s128.86-49.881 178.596-0.145l178.451 178.451c4.706 4.845 11.157 7.596 17.957 7.624 6.733 0.030 13.224-2.625 18.006-7.41 4.783-4.783 7.473-11.306 7.445-18.039-0.065-6.768-2.816-13.219-7.659-17.925l-178.453-178.449zM701.645 442.678c-68.906-68.906-181.015-68.815-250.035 0.202-4.852 4.713-7.613 11.169-7.652 17.901-0.042 6.8 2.604 13.286 7.38 18.062s11.262 7.422 18.062 7.38c6.733-0.040 13.189-2.8 17.901-7.652 49.818-49.818 128.861-49.88 178.595-0.144l178.453 178.451c49.736 49.736 49.671 128.777-0.147 178.595-49.815 49.818-128.859 49.88-178.595 0.144l-178.451-178.451c-4.706-4.845-11.157-7.596-17.922-7.659-6.733-0.030-13.258 2.662-18.041 7.445s-7.44 11.273-7.41 18.004c0.030 6.803 2.781 13.254 7.624 17.96l178.451 178.451c68.908 68.906 181.018 68.815 250.035-0.202s69.108-181.129 0.202-250.035l-178.451-178.451z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["link"],"grid":16},"attrs":[],"properties":{"order":158,"id":149,"name":"link","prevSize":32,"code":59649},"setIdx":0,"setId":6,"iconIdx":157},{"icon":{"paths":["M951.018 617.777c-49.461 0-89.687-40.228-89.687-89.687 0-49.461 40.265-89.687 89.687-89.687 49.461 0 89.687 40.225 89.687 89.687 0.040 49.459-40.225 89.687-89.687 89.687zM951.018 468.458c-32.868 0-59.635 26.764-59.635 59.635 0 32.908 26.766 59.635 59.635 59.635 32.87 0 59.635-26.766 59.635-59.635 0.040-32.91-26.726-59.635-59.635-59.635z","M951.22 722.298c-8.53 0-17.176-0.588-25.707-1.723-5.752-0.781-10.567-4.813-12.328-10.329-4.107-12.914-13.617-23.283-26.061-28.487-12.366-5.167-26.648-4.539-38.583 1.565-5.165 2.66-11.427 2.072-16.043-1.449-13.539-10.409-25.591-22.499-35.804-35.92-3.522-4.617-4.069-10.839-1.409-16.006 6.262-12.13 6.925-26.139 1.879-38.424-5.049-12.288-15.418-21.718-28.409-25.905-5.516-1.799-9.508-6.574-10.251-12.326-2.19-16.749-2.19-33.81 0.078-50.712 0.784-5.752 4.813-10.567 10.329-12.328 12.914-4.107 23.283-13.617 28.489-26.099 5.202-12.444 4.617-26.531-1.567-38.585-2.66-5.165-2.072-11.424 1.487-16.043 10.409-13.539 22.501-25.551 35.922-35.804 4.617-3.522 10.839-4.069 16.006-1.407 12.012 6.22 26.139 6.963 38.424 1.877 12.288-5.047 21.718-15.418 25.943-28.407 1.801-5.518 6.574-9.51 12.328-10.253 16.669-2.19 33.848-2.15 50.712 0.080 5.752 0.781 10.565 4.813 12.326 10.329 4.109 12.914 13.617 23.283 26.061 28.487 12.406 5.165 26.689 4.539 38.583-1.565 5.167-2.66 11.427-2.075 16.046 1.447 13.539 10.409 25.591 22.501 35.804 35.922 3.522 4.617 4.069 10.839 1.407 16.006-6.26 12.13-6.925 26.139-1.877 38.424 5.047 12.288 15.418 21.718 28.407 25.905 5.518 1.799 9.51 6.574 10.251 12.326 2.193 16.747 2.193 33.808-0.078 50.712-0.781 5.752-4.813 10.565-10.329 12.326-12.914 4.109-23.283 13.619-28.487 26.101-5.205 12.444-4.617 26.531 1.565 38.583 2.66 5.167 2.075 11.427-1.487 16.046-10.409 13.539-22.501 25.551-35.922 35.802-4.617 3.522-10.839 4.072-16.003 1.409-12.014-6.182-26.141-6.925-38.427-1.879-12.248 5.049-21.718 15.418-25.943 28.409-1.801 5.518-6.574 9.51-12.326 10.251-8.257 1.057-16.671 1.645-25.006 1.645v0zM938.113 691.696c8.53 0.666 17.061 0.706 25.591 0.040 8.061-16.983 21.992-30.404 39.326-37.565 17.257-7.121 36.704-7.435 54.392-1.057 6.456-5.516 12.522-11.542 18.116-18.078-6.3-17.646-5.868-37.055 1.449-54.548 7.277-17.49 20.738-31.499 37.721-39.482 0.666-8.53 0.703-17.099 0.038-25.591-16.981-8.061-30.404-21.992-37.565-39.366-7.159-17.335-7.433-36.704-1.055-54.39-5.518-6.458-11.542-12.522-18.078-18.118-17.608 6.262-37.213 5.792-54.548-1.447-17.493-7.279-31.499-20.74-39.482-37.683-8.53-0.703-17.061-0.703-25.593-0.040-8.061 16.983-21.989 30.406-39.326 37.565-17.257 7.123-36.704 7.435-54.39 1.057-6.458 5.518-12.522 11.542-18.118 18.078 6.3 17.648 5.87 37.058-1.447 54.548-7.279 17.49-20.74 31.499-37.723 39.482-0.663 8.53-0.703 17.101-0.038 25.591 16.983 8.063 30.404 21.992 37.565 39.366 7.161 17.335 7.435 36.706 1.055 54.392 5.518 6.456 11.544 12.522 18.080 18.116 17.646-6.26 37.211-5.752 54.546 1.449 17.53 7.277 31.461 20.738 39.484 37.681z","M634.433 556.934c7.782 0 14.478-6.62 14.478-14.318s-6.696-13.201-14.478-13.201c-7.782 0-14.478 6.623-14.478 14.318 0 6.58 6.696 13.201 14.478 13.201zM621.043 483.19c0-7.698 6.696-14.32 14.478-14.32 7.827 0 13.392 5.503 14.478 13.201v14.32c0 7.696-6.696 14.318-14.478 14.318s-14.478-6.623-14.478-14.318v-13.201zM621.043 409.444c0-7.698 6.696-14.32 14.478-14.32 7.827 0 13.392 5.505 14.478 14.32v25.326c0 7.698-6.696 14.32-14.478 14.32s-14.478-6.623-14.478-14.32v-25.326zM865.955 200.955v-9.481l-0.004 0.002c0-2.236 0-3.311-1.089-4.343v-1.118c0-0.532-0.276-0.801-0.557-1.072-0.285-0.277-0.572-0.556-0.572-1.121l-1.131-1.118c0-1.075 0-2.193-1.131-2.193l-1.131-1.118c-0.619-0.637-0.886-0.911-1.209-1.029-0.245-0.089-0.521-0.089-1.008-0.089h-1.131l-416.256-160.741c-3.304-1.118-6.652-1.118-10 0l-417.302 160.653h-1.13c-0.538 0-0.81 0.274-1.084 0.551-0.28 0.282-0.562 0.567-1.133 0.567l-1.13 1.118c0 0.532-0.277 0.801-0.557 1.073-0.285 0.277-0.574 0.556-0.574 1.121-1.13 0-1.13 1.118-1.13 1.118 0 0.532-0.277 0.801-0.557 1.072-0.285 0.277-0.574 0.556-0.574 1.121v635.156c0 5.505 3.348 9.933 8.913 12.125l416.256 178.365h1.131c1.086 1.117 3.304 1.117 4.434 1.117 1.086 0 3.304 0 4.434-1.117h1.131l415.176-178.321c5.565-2.235 8.913-6.623 8.913-12.125v-22.679l-28.957 12.56v0.185l-388.43 167.313v-598.82l171.386-73.746v56.117c0 7.696 6.696 14.318 14.478 14.318s14.478-6.623 14.478-14.318v-68.243l127.459-54.86-0.022-0.345 34.805-14.628 25.845-11.123v0.264l28.957-12.168zM836.998 212.859l1.131-0.487-1.131 0.001v0.486zM633.295 264.15l-360.604-155.237 163.595-63.847 379.526 147.531-176.952 75.938c-1.102-2.137-3.237-3.212-5.398-4.301l-0.167-0.085zM34.477 212.367l388.475 166.246-0.045 599.886-388.43-167.313v-598.819zM606.564 281.731l-10 4.388-160.265 69.363-161.391-69.358-219.259-94.688 180.302-69.36c0.539 0 0.81 0.274 1.084 0.551 0.28 0.282 0.563 0.567 1.133 0.567l368.395 158.538z"],"width":1158,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["box-gear"],"grid":16},"attrs":[],"properties":{"order":159,"id":150,"name":"box-gear","prevSize":32,"code":59650},"setIdx":0,"setId":6,"iconIdx":158},{"icon":{"paths":["M967.316 758.523v-1.113c0 32.862-25.317 60.726-58.182 60.726h-794.32c-32.864 0-58.182-27.818-58.182-60.726l0.046-43.046h96.136c15.182 0 25.318-10.138 25.318-25.32s-10.136-25.317-25.318-25.317h-96.136v-202.369h96.136c15.182 0 25.318-10.135 25.318-25.317s-10.136-25.32-25.318-25.32h-96.136v-202.367h96.136c15.182 0 25.318-10.137 25.318-25.318s-10.136-25.318-25.318-25.318h-96.136v-40.455c0-32.863 25.318-60.728 58.182-60.728h794.321c32.865 0 58.182 27.818 58.182 60.728 0 15.182 10.138 25.318 25.32 25.318s25.317-10.137 25.317-25.318c0-60.728-48.044-111.318-108.773-111.318h-794.321c-60.728 0-108.773 50.592-108.773 111.318v637.453c0 60.726 48.046 111.317 108.773 111.317h25.318v75.908c0 40.456 32.863 75.908 75.909 75.908h93.59c40.456 0 75.911-32.862 75.911-75.908v-75.908h252.95v75.908c0 40.456 32.865 75.908 75.908 75.908h93.594c40.453 0 75.908-32.862 75.908-75.908v-75.908h25.317c60.729 0 108.773-50.591 108.773-111.317v1.113c-0.181-12.547-10.272-22.638-25.454-22.638-15.174 0.013-25.312 10.151-25.312 25.333zM334.913 942.045c0 12.636-10.135 25.32-25.317 25.32h-93.592c-12.636 0-25.318-10.138-25.318-25.32v-75.908h144.187l0.040 75.908zM833.275 942.045c0 12.636-10.135 25.32-25.317 25.32h-93.591c-12.636 0-25.32-10.138-25.32-25.32v-75.908h144.187l0.040 75.908z","M511.995 259.049c-98.635 0-177.093 78.41-177.093 177.094 0 98.635 78.409 177.093 177.093 177.093 98.638 0 177.095-78.409 177.095-177.093 0-15.182-10.138-25.32-25.32-25.32s-25.317 10.138-25.317 25.32c0 70.818-55.636 126.499-126.499 126.499-70.818 0-126.499-55.636-126.499-126.499 0-70.818 55.636-126.499 126.499-126.499 15.182 0 25.317-10.138 25.317-25.32 0.046-15.181-10.092-25.272-25.274-25.272l-0.003-0.004z","M1002.464 283.823c-37.026 37.664-47.81 91.201-34.169 139.070l-175.142 178.176c-1.935 1.967-3.161 4.562-3.468 7.322l-8.141 78.622c-0.402 3.843 0.967 7.634 3.727 10.275 2.762 2.641 6.559 3.818 10.289 3.169l102.131-17.788c5.403-0.914 9.51-5.449 10.003-10.995l3.328-37.619 36.977-3.387c5.829-0.528 10.431-5.233 10.951-11.137l3.325-37.619 37.001-3.385c2.808-0.264 5.451-1.512 7.459-3.53l55.525-56.487c47.007 13.805 99.7 2.881 136.701-34.762 54.156-55.094 54.156-144.804 0-199.901-54.156-55.096-142.339-55.094-196.498 0v-0.024zM1019.548 301.202c44.929-45.708 117.402-45.708 162.328 0 44.927 45.711 44.929 119.436 0 165.142-32.423 32.986-79.169 41.771-119.619 27.152h0.024c-4.411-1.536-9.297-0.385-12.552 3.002l-56.872 57.856-42.854 3.937c-5.804 0.528-10.407 5.209-10.949 11.137l-3.328 37.619-36.977 3.385c-5.804 0.528-10.431 5.212-10.949 11.14l-3.328 38.435-77.282 13.444 5.875-57.856 176.864-179.928c3.304-3.385 4.414-8.426 2.786-12.916-14.349-41.149-5.594-88.56 26.829-121.543l0.005-0.005zM1096.432 318.583c-18.782 19.111-18.782 50.437 0 69.522 18.785 19.108 49.58 19.108 68.336 0 18.785-19.111 18.785-50.437 0-69.522-18.782-19.108-49.578-19.108-68.336 0zM1113.516 335.964c9.534-9.698 24.635-9.698 34.169 0s9.534 25.064 0 34.762c-9.534 9.698-24.635 9.698-34.169 0s-9.534-25.064 0-34.762z","M494.274 453.818c5.045 5.047 12.636 7.591 17.726 7.591 5.047 0 12.638-2.544 17.729-7.591l106.227-106.227c10.135-10.138 10.135-25.32 0-35.409-10.138-10.138-25.32-10.138-35.409 0l-106.229 106.227c-10.135 10.092-10.135 25.274-0.043 35.409v0z"],"width":1240,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["safe-key"],"grid":16},"attrs":[],"properties":{"order":160,"id":151,"name":"safe-key","prevSize":32,"code":59654},"setIdx":0,"setId":6,"iconIdx":159},{"icon":{"paths":["M35.664 10.756h956.385c10.928 0 19.761 8.833 19.761 19.759v642.733c0 10.925-8.833 19.758-19.761 19.758h-956.385c-10.927 0-19.759-8.833-19.759-19.758v-642.733c0-10.927 8.833-19.759 19.759-19.759zM972.339 50.224h-916.911v603.256h916.911v-603.256z","M270.946 974.541c-6.383 8.833-4.442 21.138 4.391 27.521 8.833 6.38 21.138 4.442 27.521-4.391l211.034-290.884 211.032 290.884c6.383 8.833 18.739 10.772 27.521 4.391 8.833-6.383 10.774-18.739 4.391-27.521l-226.338-311.969c-1.278-2.043-2.962-3.83-5.057-5.31-8.833-6.383-21.189-4.442-27.57 4.391v0l-226.926 312.888z","M188.634 175.256c-10.927 0-19.76 8.833-19.76 19.76s8.833 19.76 19.76 19.76h524.477c10.928 0 19.761-8.833 19.761-19.76s-8.833-19.76-19.761-19.76h-524.477z","M188.634 280.7c-10.927 0-19.76 8.833-19.76 19.758 0 10.928 8.833 19.761 19.76 19.761h557.927c10.925 0 19.758-8.833 19.758-19.761 0-10.925-8.833-19.758-19.758-19.758h-557.927z","M188.634 386.080c-10.927 0-19.76 8.833-19.76 19.758 0 10.928 8.833 19.761 19.76 19.761h650.443c10.928 0 19.761-8.833 19.761-19.761 0-10.925-8.833-19.758-19.761-19.758h-650.443z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["board"],"grid":16},"attrs":[],"properties":{"order":161,"id":152,"name":"board","prevSize":32,"code":59655},"setIdx":0,"setId":6,"iconIdx":160},{"icon":{"paths":["M511.997-0c-12.304 0-22.26 9.956-22.26 22.261v680.526l-122.914-124.127c-8.651-8.738-22.738-8.783-31.476-0.131-8.741 8.609-8.827 22.696-0.173 31.437l161.175 162.732c0.218 0.218 0.52 0.391 0.738 0.609 0.782 0.74 1.654 1.436 2.523 2.043l0.129 0.087c0.567 0.349 1.174 0.609 1.741 0.914l0.042 0.045c0.609 0.391 1.263 0.738 1.956 1.042l0.176 0.087h-0.045l2.219 0.654c0.609 0.173 1.174 0.391 1.783 0.52l0.129 0.045c2.828 0.523 5.698 0.523 8.523 0l0.131-0.045c0.607-0.129 1.174-0.347 1.78-0.52 0.74-0.176 1.478-0.436 2.219-0.654l0.173-0.087h-0.042c0.696-0.305 1.347-0.651 1.956-1.042 0.609-0.305 1.216-0.565 1.783-0.958l0.129-0.087c0.872-0.607 1.741-1.302 2.523-2.043 0.26-0.218 0.523-0.391 0.738-0.609l0.176-0.173 161.002-162.559c4.13-4.175 6.477-9.87 6.433-15.741 0-5.913-2.389-11.566-6.609-15.741-4.172-4.13-9.87-6.477-15.738-6.433-5.913 0.042-11.566 2.389-15.741 6.609l-122.912 124.125v-680.525c0-12.305-9.956-22.261-22.263-22.261l-0.003 0.001z","M1001.74 367.304h-342.83c-12.304 0-22.26 9.956-22.26 22.263 0 12.304 9.956 22.26 22.26 22.26h320.567v567.653h-934.955v-567.653h320.568c12.304 0 22.26-9.956 22.26-22.26 0-12.306-9.956-22.263-22.26-22.263h-342.829c-12.305 0-22.261 9.956-22.261 22.263v612.173c0 12.304 9.957 22.26 22.261 22.26h979.479c12.304 0 22.26-9.956 22.26-22.26v-612.173c0-12.306-9.956-22.263-22.26-22.263z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["deposit"],"grid":16},"attrs":[],"properties":{"order":162,"id":153,"name":"deposit","prevSize":32,"code":59656},"setIdx":0,"setId":6,"iconIdx":161},{"icon":{"paths":["M728.178 539.015l44.15-57.679 117.944 98.946 193.827-216.194 53.678 48.94-239.98 269.637-169.62-143.651z","M642.842 552.245c7.955 0 14.8-6.77 14.8-14.639s-6.845-13.494-14.8-13.494c-7.955 0-14.8 6.77-14.8 14.636 0 6.727 6.845 13.496 14.8 13.496zM629.155 476.859c0-7.867 6.845-14.636 14.8-14.636 8.001 0 13.69 5.625 14.8 13.494v14.639c0 7.867-6.845 14.636-14.8 14.636s-14.8-6.77-14.8-14.636v-13.496zM629.155 401.476c0-7.869 6.845-14.639 14.8-14.639 8.001 0 13.69 5.627 14.8 14.639v25.889c0 7.869-6.845 14.639-14.8 14.639s-14.8-6.77-14.8-14.639v-25.889zM879.509 188.354v-9.692c-0.007-2.284-0.007-3.383-1.117-4.437v-1.143c0-0.544-0.284-0.819-0.569-1.096-0.291-0.283-0.587-0.569-0.587-1.146l-1.156-1.143c0-0.627 0-1.269-0.214-1.704-0.159-0.327-0.444-0.538-0.94-0.538l-1.156-1.143c-1.113-1.143-1.113-1.143-2.266-1.143h-1.156l-425.506-164.313c-3.377-1.143-6.799-1.143-10.222 0l-426.575 164.223h-1.156c-0.55 0-0.828 0.28-1.108 0.563-0.286 0.289-0.575 0.58-1.158 0.58l-1.156 1.143c0 0.935-0.836 1.074-1.086 1.798-0.044 0.127-0.069 0.273-0.069 0.444-1.156 0-1.156 1.143-1.156 1.143 0 0.544-0.283 0.819-0.569 1.096-0.292 0.283-0.586 0.568-0.586 1.146v649.271c0 5.627 3.422 10.154 9.111 12.397l425.506 182.327h1.154c0.348 0.36 0.81 0.605 1.315 0.774 1.108 0.369 2.426 0.369 3.22 0.369 1.11 0 3.377 0 4.533-1.142h1.156l424.402-182.283c5.689-2.285 9.111-6.77 9.111-12.395v-23.183l-29.6 12.839v0.189l-397.062 171.031v-612.127l175.195-75.385v57.364c0 7.867 6.845 14.636 14.8 14.636s14.8-6.77 14.8-14.636v-69.759l130.291-56.079-0.023-0.353 35.569-14.947 26.428-11.375v0.27l29.6-12.438zM849.909 200.523l1.156-0.497-1.156 0.001v0.496zM641.677 252.953l-368.615-158.686 167.231-65.266 387.957 150.809-180.884 77.626c-1.126-2.185-3.311-3.286-5.52-4.399l-0.168-0.084zM29.556 200.020l397.109 169.938-0.048 613.219-397.061-171.031v-612.126zM614.354 270.925l-10.222 4.485-163.826 70.904-164.978-70.899-224.131-96.793 184.309-70.901c0.548 0 0.826 0.28 1.108 0.563 0.284 0.289 0.573 0.58 1.158 0.58l376.582 162.061z"],"width":1138,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["box-check"],"grid":16},"attrs":[],"properties":{"order":163,"id":154,"name":"box-check","prevSize":32,"code":59658},"setIdx":0,"setId":6,"iconIdx":162},{"icon":{"paths":["M836.961 0h-649.919c-103.136 0-187.042 83.908-187.042 187.042v649.917c0 103.136 83.908 187.041 187.042 187.041h649.917c103.136 0 187.041-83.905 187.041-187.041v-649.917c0.002-103.134-83.905-187.042-187.039-187.042zM959.192 836.959c0 67.399-54.832 122.231-122.231 122.231h-649.919c-67.4 0-122.232-54.832-122.232-122.231v-649.917c0-67.4 54.832-122.232 122.232-122.232h649.917c67.399 0 122.231 54.832 122.231 122.232l0.002 649.917z","M512 207.149c-87.559 0-158.792 71.238-158.792 158.796 0 17.894 14.506 32.404 32.404 32.404s32.404-14.51 32.404-32.404c0-51.823 42.16-93.986 93.984-93.986 51.821 0 93.981 42.163 93.981 93.986 0 29.805-21.552 49.729-57.059 79.001-32.498 26.79-69.329 57.157-69.329 105.433v103.967c0 17.892 14.51 32.404 32.406 32.404s32.404-14.512 32.404-32.404v-103.967c0-17.711 21.203-35.189 45.747-55.429 35.927-29.62 80.639-66.484 80.639-129.004 0.002-87.563-71.233-158.796-158.79-158.796z","M512.002 733.713c-22.922 0-41.566 18.646-41.566 41.568 0 22.918 18.643 41.566 41.566 41.566 22.92 0 41.568-18.648 41.568-41.566 0-22.922-18.648-41.568-41.568-41.568z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["question-mark"],"grid":16},"attrs":[],"properties":{"order":164,"id":155,"name":"question-mark","prevSize":32,"code":59660},"setIdx":0,"setId":6,"iconIdx":163},{"icon":{"paths":["M343.243 1024c-11.329-0.906-22.657-1.997-34.024-2.638-67.702-3.767-135.095-10.095-201.123-25.54-27.545-6.44-54.316-15.859-81.473-23.808-7.604-2.222-11.639-6.667-13.424-14.427-14.316-60.271-17.458-120.841-7.1-181.94 5.587-32.848 16.139-64.038 34.529-92.289l0.039-0.038c20.291-31.869 51.367-55.901 87.914-68.031 47.409-16.199 93.655-34.807 135.402-62.569 8.303-5.501 16.217-11.602 25.335-18.12 73.715 70.291 148.631 70.518 222.773-0.338 24.87 20.304 52.571 37.18 82.249 50.062 24.133 10.623 48.651 20.718 73.715 29.155 55.401 18.835 91.871 55.677 112.121 108.41 23.278 60.498 24.908 122.953 16.76 186.090-2.095 16.046-6.128 31.869-8.613 47.914-1.474 9.419-7.061 13.751-15.83 16.952l0.040 0.038c-41.474 15.331-84.538 26.219-128.421 32.434-40.156 5.725-80.62 9.719-120.972 13.862-18.973 1.883-38.177 2.335-57.224 3.504-2.64 0.301-5.238 0.715-7.76 1.318h-114.915z","M414.152 0c13.851 1.769 27.477 4.93 40.686 9.409 30.6 10.689 58.415 28.115 81.337 51.036 11.97 11.969 21.379 21.604 28.378 37.826 8.468 19.685 8.281 37.524 8.092 47.197-0.301 16.674-5.645 61.499-6.85 73.769-0.563 5.307-0.49 9.409 4.365 12.722 8.695 5.946 9.185 15.204 8.319 24.313h-0.076c-1.805 22.13-8.279 43.582-18.931 63.043-6.097 10.99-7.905 24.313-12.119 36.432-12.722 36.207-34.026 93.453-85.326 119.804-18.744 9.258-39.333 14.113-60.222 14.189-11.591 0-34.778 0-59.016-13.361-11.293-6.173-17.991-12.796-27.325-21.566h-0.038c-21.905-20.776-39.293-45.804-51.113-73.543-7.413-16.936-12.043-34.927-18.405-52.315-2.257-6.249-5.87-11.97-8.806-17.953l0.038 0.038c-9.71-19.158-14.679-40.31-14.53-61.763 0.076-6.776 1.883-12.722 7.68-16.938 5.042-3.613 5.532-8.168 4.517-14.075h-0.038c-5.12-28.153-7.115-56.757-6.024-85.286 1.507-33.46 20.703-58.338 31.428-72.113 16.411-20.249 37.414-36.282 61.313-46.708v0.038c13.851-6.097 28.492-10.237 43.509-12.307l49.156-1.884z","M656.562 398.084l-10.636 51.456c-1.932 9.383 4.080 18.552 13.448 20.509l54.254 11.26c3.239 0.686 6.616 0.020 9.387-1.799l17.488-11.357c2.596-1.857 4.39-4.653 4.995-7.8l5.543-25.669 14.988 3.050c12.707 2.638 25.137-5.514 27.793-18.223l3.103-15.013 25.665 5.004c3.201 0.605 6.518-0.058 9.252-1.857l17.036-11.262c8.764 5.2 18.152 9.325 27.928 12.257 5.935 1.721 12.063 2.816 18.229 3.266 1.405 3.148 2.887 6.255 4.606 9.307l-84.936 121.017c-3.025 4.261-4.216 9.561-3.299 14.701l9.036 51.906c1.407 8.29 8.548 14.389 16.941 14.467 0.995 0 2.010-0.078 2.987-0.254l54.568-9.757c3.259-0.528 6.168-2.326 8.101-5.004l11.943-17.007c1.874-2.698 2.636-6.022 2.088-9.267l-4.292-25.925 14.988-2.6c12.744-2.248 21.293-14.407 19.086-27.174l-2.596-15.015 25.685-5.004c3.181-0.568 6.030-2.366 7.943-5.006l11.691-16.774c29.117 4.635 58.94-1.133 84.251-16.286 25.295-15.151 44.479-38.747 54.181-66.645 11.963-33.077 9.114-69.717-7.787-100.548-3.299-6.099-10.91-8.386-17.018-5.082-6.091 3.304-8.355 10.948-5.075 17.047 13.526 24.536 15.848 53.722 6.362 80.079-8.078 23.576-24.572 43.342-46.312 55.443-21.742 12.121-47.211 15.738-71.453 10.167-4.957-1.153-10.129 0.839-13.038 5.004l-13.348 19.472-29.529 5.552c-8.53 1.507-14.229 9.639-12.744 18.163l3.902 22.521-22.581 3.813c-8.508 1.485-14.207 9.541-12.802 18.065l4.995 30.030-6.186 8.368-41.96 7.31-7.299-42.033 88.529-125.847c2.927-4.163 3.043-9.677 0.312-13.96-16.179-25.101-20.338-56.109-11.36-84.611 8.96-28.485 30.135-51.494 57.754-62.776 27.615-11.262 58.807-9.639 85.092 4.457l-19.42 24.712c-10.676-3.283-22.23-1.759-31.695 4.185-9.445 5.961-15.827 15.736-17.488 26.782-1.658 11.066 1.563 22.288 8.842 30.753 7.279 8.486 17.878 13.352 29.042 13.352 2.224 0 4.45-0.194 6.654-0.585 13.018-2.15 24.046-10.89 29.119-23.089 5.073-12.219 3.513-26.197-4.138-36.969l36.713-46.803c16.627-21.878 21.137-50.675 11.983-76.6-9.154-25.943-30.72-45.493-57.377-52.041-26.66-6.549-54.824 0.782-74.906 19.531l-16.589 15.914c-41.123-15.64-87.414-8.543-121.978 18.729-34.544 27.273-52.266 70.694-46.703 114.406l-123.463 81.134c-4.372 2.836-7.437 7.331-8.49 12.455h-0.002zM1036.793 341.39c-3.671 5.2-10.5 7.077-16.317 4.497-5.817-2.6-8.998-8.936-7.591-15.151 1.385-6.217 6.968-10.578 13.33-10.42 6.362 0.156 11.729 4.768 12.822 11.064 0.626 3.499-0.196 7.097-2.244 10.011v0zM991.023 173.572c21.448-20.293 54.88-20.606 76.702-0.743 21.84 19.863 24.727 53.237 6.636 76.56l-2.206 2.796v0.020c-13.953-8.172-29.353-13.53-45.357-15.779-10.051-21.661-25.976-40.058-45.962-53.096l10.187-9.758zM680.548 405.341l128.398-84.375c4.294-2.796 6.46-7.938 5.445-12.963-6.088-31.025 2.751-63.125 23.888-86.629 21.137-23.499 52.073-35.659 83.534-32.825 31.441 2.854 59.719 20.371 76.292 47.273-3.455 0.292-6.89 0.741-10.345 1.349v0.020c-33.256 5.786-62.762 24.808-81.853 52.725-19.069 27.897-26.094 62.346-19.458 95.504-0.799 0-1.699-0.352-2.498-0.605v0.018c-10.031-3.010-19.516-7.564-28.144-13.528-4.194-2.834-9.719-2.834-13.933 0l-19.576 12.767-29.489-5.748c-8.47-1.759-16.785 3.715-18.521 12.199l-4.666 22.581-22.328-5.006c-8.45-1.759-16.725 3.657-18.541 12.123l-6.4 29.676-8.744 5.748-41.648-8.504 8.586-41.799z"],"width":1135,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["user-keys"],"defaultCode":59648,"grid":16},"attrs":[],"properties":{"order":165,"name":"user-keys","prevSize":32,"codes":[59648,59649,59650],"id":156,"code":59648},"setIdx":0,"setId":6,"iconIdx":164},{"icon":{"paths":["M334.821 1023.172c3.321 0.28 6.636 0.563 9.953 0.828h114.913c2.52-0.603 5.118-1.017 7.76-1.318 6.358-0.39 12.733-0.701 19.113-1.011 12.729-0.619 25.469-1.238 38.111-2.493l10.178-1.044c36.98-3.782 74.011-7.573 110.795-12.818 43.881-6.215 86.944-17.103 128.381-32.472 8.766-3.201 14.352-7.533 15.832-16.952 1.109-7.146 2.52-14.247 3.933-21.344 1.756-8.84 3.511-17.671 4.675-26.571 8.152-63.136 6.52-125.591-16.756-186.090-20.255-52.734-56.723-89.576-112.126-108.41-25.066-8.437-49.582-18.532-73.712-29.155-29.678-12.882-57.38-29.758-82.249-50.062-21.353 20.409-42.776 34.921-64.211 43.56l30.729 245.831-66.783 66.783-77.913-66.783 30.239-241.907c-25.032-7.738-50-23.467-74.832-47.146-9.12 6.518-17.032 12.62-25.337 18.12-41.744 27.762-87.994 46.369-135.402 62.569-36.549 12.13-67.625 36.163-87.951 68.069-18.391 28.251-28.946 59.441-34.533 92.289-10.359 61.099-7.217 121.669 7.103 181.94 1.783 7.76 5.815 12.206 13.424 14.427 8.978 2.629 17.913 5.418 26.848 8.205 18.092 5.645 36.185 11.291 54.625 15.603 66.027 15.445 133.418 21.773 201.12 25.54 8.043 0.452 16.059 1.131 24.075 1.81z","M415.679 0c13.851 1.769 27.477 4.93 40.686 9.409 30.6 10.689 58.415 28.115 81.337 51.036 11.97 11.969 21.379 21.604 28.378 37.826 8.47 19.685 8.281 37.524 8.092 47.197-0.301 16.674-5.645 61.499-6.85 73.769-0.563 5.307-0.49 9.409 4.365 12.722 8.695 5.946 9.185 15.204 8.319 24.313h-0.076c-1.805 22.13-8.279 43.582-18.931 63.043-6.097 10.99-7.905 24.313-12.119 36.432-12.722 36.207-34.026 93.453-85.326 119.804-18.744 9.258-39.333 14.113-60.222 14.189-11.591 0-34.778 0-59.016-13.361-11.291-6.173-17.991-12.796-27.325-21.566h-0.038c-21.905-20.776-39.293-45.804-51.113-73.543-7.413-16.936-12.043-34.927-18.405-52.315-2.257-6.249-5.87-11.97-8.806-17.953l0.038 0.038c-9.71-19.158-14.679-40.31-14.527-61.763 0.073-6.776 1.881-12.722 7.678-16.938 5.042-3.613 5.532-8.168 4.517-14.075h-0.038c-5.12-28.153-7.115-56.757-6.024-85.286 1.507-33.46 20.703-58.338 31.428-72.113 16.411-20.249 37.414-36.282 61.313-46.708v0.038c13.851-6.097 28.492-10.237 43.509-12.307l49.156-1.884z","M872.644 167.679c-30.586 31.116-39.495 75.341-28.227 114.885l-144.682 147.189c-1.598 1.625-2.611 3.769-2.865 6.048l-6.725 64.948c-0.332 3.174 0.799 6.307 3.079 8.488 2.282 2.182 5.418 3.154 8.499 2.618l84.369-14.694c4.463-0.755 7.856-4.501 8.263-9.082l2.749-31.076 30.546-2.798c4.815-0.436 8.617-4.323 9.047-9.2l2.747-31.076 30.566-2.796c2.32-0.218 4.503-1.249 6.162-2.916l45.869-46.663c38.832 11.404 82.361 2.38 112.927-28.717 44.738-45.512 44.738-119.621 0-165.135s-117.584-45.513-162.324 0v-0.022zM886.757 182.037c37.118-37.759 96.984-37.759 134.099 0 37.113 37.759 37.116 98.664 0 136.42-26.787 27.25-65.4 34.507-98.816 22.43h0.020c-3.646-1.269-7.682-0.318-10.371 2.48l-46.979 47.794-35.401 3.252c-4.795 0.436-8.597 4.303-9.045 9.2l-2.749 31.076-30.546 2.796c-4.797 0.436-8.617 4.305-9.047 9.203l-2.747 31.751-63.844 11.106 4.855-47.794 146.105-148.636c2.729-2.796 3.644-6.961 2.3-10.67-11.852-33.992-4.619-73.159 22.165-100.406l0.002-0.003zM950.268 196.395c-15.516 15.786-15.516 41.665 0 57.431 15.518 15.785 40.958 15.785 56.451 0 15.518-15.787 15.518-41.667 0-57.431-15.516-15.786-40.956-15.786-56.451 0zM964.385 210.753c7.874-8.012 20.351-8.012 28.227 0 7.874 8.012 7.874 20.705 0 28.716-7.876 8.012-20.353 8.012-28.227 0-7.876-8.012-7.876-20.704 0-28.716z"],"width":1069,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["admin-key"],"defaultCode":59651,"grid":16},"attrs":[],"properties":{"order":166,"name":"admin-key","prevSize":32,"id":157,"code":59651},"setIdx":0,"setId":6,"iconIdx":165},{"icon":{"paths":["M490.213 21.787c-2.887 0.223-4.798 0.935-5.854 1.781l-437.198 319.208c-3.822 2.673-5.53 8.105-4.229 12.826 1.301 4.719 5.571 8.327 10.084 8.194h72.866v433.211h-72.866c-5.449 0-10.409 5.434-10.409 11.401v79.8h-10.41c-5.449 0-10.41 5.434-10.41 11.401v91.201c0 5.968 4.961 11.401 10.41 11.401h916.032c5.449 0 10.41-5.434 10.41-11.401v-91.201c0-5.968-4.961-11.401-10.41-11.401h-10.41v-79.8c0-5.968-4.959-11.401-10.408-11.401h-72.867v-433.211h72.867c4.512 0.133 8.782-3.475 10.083-8.194 1.301-4.721-0.405-10.153-4.229-12.826l-437.198-319.208c-2.316-1.781-3.983-1.737-5.854-1.781zM490.215 46.725l403.042 294.264h-806.087l403.045-294.264zM490.213 158.591c-28.626 0-52.048 25.651-52.048 57.002s23.421 57.001 52.048 57.001c28.626 0 52.048-25.65 52.048-57.001s-23.421-57.002-52.048-57.002zM490.213 181.392c17.362 0 31.228 15.185 31.228 34.201 0 19.017-13.865 34.2-31.228 34.2-17.364 0-31.228-15.184-31.228-34.2 0-19.016 13.863-34.201 31.228-34.201zM146.702 363.797h62.457v433.211h-62.457v-433.211zM229.98 363.797h104.093v433.211h-104.093v-433.211zM354.888 363.797h62.457v433.211h-62.457v-433.211zM438.165 363.797h104.095v433.211h-104.095v-433.211zM563.080 363.797h62.457v433.211h-62.457v-433.211zM646.355 363.797h104.095v433.211h-104.095v-433.211zM771.266 363.797h62.457v433.211h-62.457v-433.211zM63.425 819.808h853.575v68.401h-853.575v-68.401zM42.606 911.009h895.214v68.403h-895.214v-68.403z","M490.213 21.787l0.131-5.445-0.277-0.007-0.272 0.021 0.418 5.431zM484.359 23.569l3.214 4.403 0.19-0.151-3.403-4.252zM47.16 342.776l3.121 4.466 0.090-0.068-3.212-4.399zM53.016 363.797v-5.449l-0.161 0.004 0.161 5.445zM125.882 363.797h5.447v-5.447h-5.447v5.447zM125.882 797.008v5.447h5.447v-5.447h-5.447zM42.606 888.209v5.447h5.447v-5.447h-5.447zM937.818 888.209h-5.447v5.447h5.447v-5.447zM854.543 797.008h-5.447v5.447h5.447v-5.447zM854.543 363.797v-5.447h-5.447v5.447h5.447zM927.411 363.797l0.161-5.447h-0.161v5.447zM933.265 342.776l-3.211 4.401 0.092 0.063 3.12-4.464zM496.067 23.569l-3.318 4.32 0.107 0.079 3.211-4.399zM490.215 46.725l3.211-4.399-3.211-2.345-3.214 2.345 3.214 4.399zM893.257 340.99v5.447h16.698l-13.486-9.846-3.211 4.399zM87.17 340.99l-3.212-4.399-13.486 9.846h16.698v-5.447zM146.702 363.797v-5.447h-5.447v5.447h5.447zM209.159 363.797h5.447v-5.447h-5.447v5.447zM209.159 797.008v5.447h5.447v-5.447h-5.447zM146.702 797.008h-5.447v5.447h5.447v-5.447zM229.98 363.797v-5.447h-5.447v5.447h5.447zM334.072 363.797h5.447v-5.447h-5.447v5.447zM334.072 797.008v5.447h5.447v-5.447h-5.447zM229.98 797.008h-5.447v5.447h5.447v-5.447zM354.888 363.797v-5.447h-5.447v5.447h5.447zM417.345 363.797h5.447v-5.447h-5.447v5.447zM417.345 797.008v5.447h5.447v-5.447h-5.447zM354.888 797.008h-5.447v5.447h5.447v-5.447zM438.165 363.797v-5.447h-5.447v5.447h5.447zM542.26 363.797h5.447v-5.447h-5.447v5.447zM542.26 797.008v5.447h5.447v-5.447h-5.447zM438.165 797.008h-5.447v5.447h5.447v-5.447zM563.080 363.797v-5.447h-5.447v5.447h5.447zM625.538 363.797h5.447v-5.447h-5.447v5.447zM625.538 797.008v5.447h5.447v-5.447h-5.447zM563.080 797.008h-5.447v5.447h5.447v-5.447zM646.355 363.797v-5.447h-5.447v5.447h5.447zM750.45 363.797h5.447v-5.447h-5.447v5.447zM750.45 797.008v5.447h5.447v-5.447h-5.447zM646.355 797.008h-5.447v5.447h5.447v-5.447zM771.266 363.797v-5.447h-5.447v5.447h5.447zM833.723 363.797h5.447v-5.447h-5.447v5.447zM833.723 797.008v5.447h5.447v-5.447h-5.447zM771.266 797.008h-5.447v5.447h5.447v-5.447zM63.425 819.808v-5.447h-5.447v5.447h5.447zM917.001 819.808h5.447v-5.447h-5.447v5.447zM917.001 888.209v5.447h5.447v-5.447h-5.447zM63.425 888.209h-5.447v5.447h5.447v-5.447zM42.606 911.009v-5.447h-5.447v5.447h5.447zM937.821 911.009h5.447v-5.447h-5.447v5.447zM937.821 979.412v5.447h5.447v-5.447h-5.447zM42.606 979.412h-5.447v5.447h5.447v-5.447zM489.794 16.357c-3.431 0.265-6.584 1.153-8.841 2.959l6.809 8.505c-0.115 0.092-0.011-0.026 0.503-0.191 0.492-0.159 1.264-0.327 2.366-0.412l-0.837-10.861zM481.145 19.169l-437.197 319.208 6.424 8.798 437.198-319.208-6.425-8.798zM44.040 338.312c-5.936 4.15-8.197 12.070-6.359 18.737l10.502-2.896c-0.765-2.774 0.39-5.719 2.099-6.913l-6.241-8.928zM37.68 357.049c1.837 6.663 8.009 12.412 15.496 12.192l-0.322-10.889c-1.54 0.046-3.906-1.418-4.672-4.198l-10.502 2.896zM53.016 369.244h72.866v-10.894h-72.866v10.894zM120.435 363.797v433.211h10.894v-433.211h-10.894zM125.882 791.561h-72.866v10.894h72.866v-10.894zM53.016 791.561c-4.556 0-8.539 2.246-11.27 5.235-2.744 3.007-4.586 7.135-4.586 11.613h10.894c0-1.492 0.639-3.063 1.737-4.266 1.111-1.218 2.333-1.689 3.226-1.689v-10.894zM37.159 808.409v79.8h10.894v-79.8h-10.894zM42.606 882.762h-10.41v10.894h10.41v-10.894zM32.197 882.762c-4.556 0-8.539 2.246-11.27 5.238-2.744 3.004-4.586 7.135-4.586 11.61h10.894c0-1.492 0.639-3.063 1.737-4.266 1.111-1.216 2.333-1.689 3.226-1.689v-10.894zM16.34 899.61v91.201h10.894v-91.201h-10.894zM16.34 990.812c0 4.477 1.842 8.606 4.586 11.613 2.731 2.989 6.714 5.235 11.27 5.235v-10.894c-0.893 0-2.114-0.471-3.226-1.689-1.098-1.203-1.737-2.774-1.737-4.266h-10.894zM32.197 1007.66h916.032v-10.894h-916.032v10.894zM948.228 1007.66c4.556 0 8.541-2.246 11.271-5.235 2.745-3.007 4.586-7.135 4.586-11.613h-10.894c0 1.492-0.638 3.063-1.736 4.266-1.111 1.218-2.333 1.689-3.227 1.689v10.894zM964.085 990.812v-91.201h-10.894v91.201h10.894zM964.085 899.61c0-4.475-1.841-8.606-4.586-11.61-2.73-2.991-6.715-5.238-11.271-5.238v10.894c0.893 0 2.116 0.473 3.227 1.689 1.098 1.203 1.736 2.774 1.736 4.266h10.894zM948.228 882.762h-10.41v10.894h10.41v-10.894zM943.265 888.209v-79.8h-10.894v79.8h10.894zM943.265 808.409c0-4.477-1.841-8.606-4.584-11.613-2.732-2.989-6.715-5.235-11.271-5.235v10.894c0.893 0 2.113 0.471 3.225 1.689 1.098 1.203 1.736 2.774 1.736 4.266h10.894zM927.411 791.561h-72.867v10.894h72.867v-10.894zM859.99 797.008v-433.211h-10.894v433.211h10.894zM854.543 369.244h72.867v-10.894h-72.867v10.894zM927.249 369.241c7.486 0.22 13.658-5.53 15.495-12.192l-10.501-2.896c-0.765 2.78-3.133 4.244-4.671 4.198l-0.322 10.889zM942.745 357.049c1.839-6.667-0.423-14.587-6.358-18.737l-6.242 8.928c1.708 1.194 2.863 4.14 2.098 6.913l10.501 2.896zM936.476 338.378l-437.196-319.208-6.425 8.798 437.198 319.208 6.423-8.798zM499.387 19.25c-1.726-1.326-3.425-2.123-5.19-2.53-1.599-0.369-3.116-0.36-3.854-0.377l-0.261 10.891c1.131 0.027 1.386 0.037 1.665 0.101 0.118 0.027 0.41 0.098 1.002 0.553l6.639-8.637zM487.001 51.124l403.044 294.264 6.423-8.798-403.042-294.265-6.425 8.798zM893.257 335.543h-806.087v10.894h806.087v-10.894zM90.382 345.389l403.044-294.264-6.425-8.798-403.043 294.265 6.424 8.798zM490.213 153.144c-32.090 0-57.494 28.566-57.494 62.448h10.894c0-28.819 21.439-51.555 46.601-51.555v-10.894zM432.718 215.593c0 33.882 25.404 62.447 57.494 62.447v-10.894c-25.162 0-46.601-22.735-46.601-51.554h-10.894zM490.213 278.040c32.088 0 57.494-28.565 57.494-62.447h-10.894c0 28.819-21.439 51.554-46.601 51.554v10.894zM547.707 215.593c0-33.882-25.406-62.448-57.494-62.448v10.894c25.162 0 46.601 22.735 46.601 51.555h10.894zM490.213 186.838c13.898 0 25.781 12.27 25.781 28.754h10.894c0-21.547-15.848-39.648-36.674-39.648v10.894zM515.994 215.593c0 16.485-11.883 28.753-25.781 28.753v10.894c20.826 0 36.674-18.101 36.674-39.647h-10.894zM490.213 244.346c-13.9 0-25.781-12.268-25.781-28.753h-10.894c0 21.546 15.848 39.647 36.674 39.647v-10.894zM464.432 215.593c0-16.484 11.881-28.754 25.781-28.754v-10.894c-20.826 0-36.674 18.101-36.674 39.648h10.894zM146.702 369.244h62.457v-10.894h-62.457v10.894zM203.712 363.797v433.211h10.894v-433.211h-10.894zM209.159 791.561h-62.457v10.894h62.457v-10.894zM152.149 797.008v-433.211h-10.894v433.211h10.894zM229.98 369.244h104.093v-10.894h-104.093v10.894zM328.626 363.797v433.211h10.894v-433.211h-10.894zM334.072 791.561h-104.093v10.894h104.093v-10.894zM235.426 797.008v-433.211h-10.894v433.211h10.894zM354.888 369.244h62.457v-10.894h-62.457v10.894zM411.899 363.797v433.211h10.894v-433.211h-10.894zM417.345 791.561h-62.457v10.894h62.457v-10.894zM360.335 797.008v-433.211h-10.894v433.211h10.894zM438.165 369.244h104.095v-10.894h-104.095v10.894zM536.813 363.797v433.211h10.894v-433.211h-10.894zM542.26 791.561h-104.095v10.894h104.095v-10.894zM443.612 797.008v-433.211h-10.894v433.211h10.894zM563.080 369.244h62.457v-10.894h-62.457v10.894zM620.091 363.797v433.211h10.894v-433.211h-10.894zM625.538 791.561h-62.457v10.894h62.457v-10.894zM568.527 797.008v-433.211h-10.894v433.211h10.894zM646.355 369.244h104.095v-10.894h-104.095v10.894zM745.004 363.797v433.211h10.894v-433.211h-10.894zM750.45 791.561h-104.095v10.894h104.095v-10.894zM651.802 797.008v-433.211h-10.894v433.211h10.894zM771.266 369.244h62.457v-10.894h-62.457v10.894zM828.277 363.797v433.211h10.894v-433.211h-10.894zM833.723 791.561h-62.457v10.894h62.457v-10.894zM776.713 797.008v-433.211h-10.894v433.211h10.894zM63.425 825.255h853.575v-10.894h-853.575v10.894zM911.554 819.808v68.401h10.894v-68.401h-10.894zM917.001 882.762h-853.575v10.894h853.575v-10.894zM68.872 888.209v-68.401h-10.894v68.401h10.894zM42.606 916.456h895.214v-10.894h-895.214v10.894zM932.374 911.009v68.403h10.894v-68.403h-10.894zM937.821 973.966h-895.214v10.894h895.214v-10.894zM48.053 979.412v-68.403h-10.894v68.403h10.894z"],"width":980,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["bank"],"defaultCode":59652,"grid":16},"attrs":[],"properties":{"order":167,"name":"bank","prevSize":32,"id":158,"code":59652},"setIdx":0,"setId":6,"iconIdx":166},{"icon":{"paths":["M43.371 551.375l-21.313 103.106c-3.872 18.803 8.173 37.175 26.945 41.094l108.715 22.564c6.492 1.372 13.257 0.038 18.811-3.605l35.040-22.758c5.2-3.723 8.799-9.325 10.011-15.631l11.106-51.437 30.035 6.112c25.459 5.289 50.37-11.049 55.689-36.512l6.219-30.084 51.426 10.029c6.413 1.214 13.062-0.119 18.537-3.723l34.142-22.564c17.559 10.421 36.369 18.686 55.962 24.563 11.889 3.445 24.169 5.641 36.527 6.541 2.816 6.308 5.788 12.535 9.229 18.647l-170.195 242.494c-6.061 8.54-8.448 19.157-6.609 29.459l18.106 104.006c2.816 16.61 17.129 28.834 33.946 28.99 1.995 0 4.028-0.156 5.984-0.51l109.346-19.548c6.53-1.058 12.356-4.661 16.228-10.029l23.934-34.080c3.755-5.408 5.28-12.066 4.183-18.571l-8.602-51.945 30.033-5.21c25.538-4.506 42.667-28.873 38.246-54.453l-5.201-30.086 51.467-10.029c6.374-1.135 12.083-4.74 15.915-10.029l23.426-33.613c58.347 9.284 118.106-2.272 168.823-32.631 50.684-30.359 89.124-77.645 108.565-133.542 23.972-66.283 18.261-139.699-15.605-201.476-6.609-12.222-21.86-16.806-34.101-10.185-12.201 6.62-16.738 21.937-10.167 34.159 27.102 49.165 31.757 107.648 12.749 160.459-16.19 47.245-49.237 86.852-92.802 111.1-43.565 24.288-94.601 31.535-143.174 20.369-9.933-2.31-20.294 1.685-26.123 10.029l-26.75 39.019-59.17 11.125c-17.090 3.017-28.51 19.313-25.538 36.393l7.823 45.129-45.248 7.639c-17.050 2.978-28.469 19.117-25.653 36.198l10.012 60.171-12.399 16.768-84.079 14.65-14.626-84.224 177.393-252.171c5.867-8.346 6.101-19.392 0.625-27.972-32.42-50.3-40.749-112.431-22.758-169.545 17.95-57.077 60.38-103.185 115.723-125.79 55.337-22.564 117.835-19.313 170.505 8.932l-38.912 49.517c-21.391-6.581-44.542-3.526-63.509 8.384-18.929 11.947-31.716 31.535-35.042 53.668-3.324 22.172 3.13 44.659 17.717 61.621 14.586 17.003 35.821 26.756 58.191 26.756 4.459 0 8.917-0.39 13.335-1.175 26.084-4.309 48.179-21.82 58.347-46.266 10.17-24.482 7.040-52.493-8.29-74.078l73.562-93.783c33.318-43.838 42.353-101.541 24.013-153.49-18.342-51.985-61.555-91.159-114.974-104.278-53.419-13.124-109.856 1.567-150.091 39.135l-33.242 31.888c-82.4-31.34-175.162-17.119-244.42 37.529-69.22 54.648-104.73 141.655-93.585 229.245l-247.393 162.575c-8.76 5.681-14.9 14.69-17.012 24.954l-0.002 0.004zM805.265 437.771c-7.351 10.421-21.039 14.182-32.693 9.011-11.654-5.212-18.029-17.905-15.213-30.362 2.778-12.457 13.963-21.193 26.711-20.879s23.505 9.559 25.694 22.172c1.252 7.012-0.39 14.221-4.497 20.058h-0.002zM713.555 101.499c42.98-40.663 109.967-41.29 153.696-1.489 43.761 39.802 49.549 106.675 13.297 153.409l-4.42 5.602v0.038c-27.962-16.373-58.816-27.108-90.884-31.612-20.141-43.406-52.051-80.27-92.098-106.395l20.41-19.553zM91.433 565.918l257.286-169.075c8.604-5.6 12.945-15.904 10.91-25.971-12.203-62.17 5.515-126.492 47.868-173.587 42.353-47.088 104.339-71.454 167.381-65.774 63.002 5.719 119.667 40.82 152.875 94.725-6.921 0.587-13.805 1.487-20.725 2.703v0.038c-66.639 11.595-125.764 49.713-164.019 105.651-38.208 55.902-52.286 124.928-38.989 191.369-1.604 0-3.403-0.706-5.007-1.214v0.038c-20.1-6.033-39.106-15.159-56.393-27.108-8.407-5.681-19.475-5.681-27.923 0l-39.226 25.581-59.089-11.518c-16.973-3.524-33.634 7.443-37.114 24.446l-9.346 45.246-44.74-10.029c-16.933-3.524-33.515 7.326-37.151 24.288l-12.827 59.469-17.52 11.516-83.455-17.041 17.204-83.753z","M43.371 551.375l-4.489-2.88-0.534 0.832-0.2 0.969 5.223 1.079zM22.057 654.481v0zM49.002 695.575l-1.090 5.22 0.006 0.002 1.084-5.222zM157.717 718.14l1.102-5.218-0.018-0.004-1.084 5.222zM176.527 714.534l-2.905-4.471-0.020 0.013 2.926 4.459zM211.568 691.776l2.907 4.476 0.196-0.139-3.103-4.337zM221.579 676.145l-5.214-1.126-0.023 0.119 5.237 1.007zM232.685 624.708l1.065-5.227-5.165-1.050-1.111 5.15 5.212 1.126zM262.72 630.82l1.086-5.222-0.021-0.004-1.065 5.227zM318.409 594.308l5.22 1.092 0.004-0.013-5.225-1.079zM324.627 564.224l1.020-5.235-5.175-1.009-1.067 5.165 5.222 1.079zM376.092 574.253v5.333l1.020-10.569-1.020 5.235zM376.053 574.253v-5.333l-0.992 10.573 0.992-5.239zM394.59 570.53l2.933 4.454 0.009-0.004-2.942-4.45zM428.732 547.966l2.722-4.587-2.874-1.705-2.79 1.841 2.942 4.45zM484.693 572.529l-1.532 5.107 0.047 0.015 1.485-5.122zM521.22 579.070l4.87-2.174-1.301-2.912-3.181-0.233-0.388 5.318zM530.449 597.717l4.365 3.063 1.933-2.752-1.651-2.929-4.646 2.618zM360.254 840.211l4.35 3.087 0.015-0.023-4.365-3.063zM353.645 869.67l5.254-0.915-0.004-0.021-5.25 0.937zM371.75 973.677l5.259-0.89-0.004-0.023-5.254 0.913zM405.696 1002.667l-0.049 5.333h0.049v-5.333zM411.68 1002.157l-0.939-5.25-0.009 0.002 0.947 5.248zM521.026 982.609l-0.853-5.265-0.085 0.015 0.939 5.25zM537.254 972.58l4.326 3.121 0.038-0.055-4.365-3.066zM561.188 938.5l4.365 3.063 0.015-0.021-4.38-3.042zM565.372 919.93l-5.261 0.873 0.002 0.013 5.259-0.885zM556.77 867.985l-0.913-5.254-5.214 0.905 0.864 5.22 5.263-0.87zM586.803 862.775l0.911 5.254 0.015-0.002-0.926-5.252zM625.050 808.322v0zM619.849 778.236l-1.020-5.235-5.124 0.998 0.89 5.146 5.254-0.909zM671.315 768.207l-0.937-5.252-0.085 0.017 1.022 5.235zM687.23 758.178l4.32 3.13 0.055-0.079-4.375-3.051zM710.656 724.565l0.838-5.267-3.302-0.525-1.911 2.743 4.375 3.049zM879.479 691.934l2.739 4.576h0.002l-2.741-4.576zM988.045 558.391l-5.018-1.813-0.021 0.062 5.039 1.751zM972.439 356.915l-4.691 2.537 0.015 0.028 4.676-2.564zM938.338 346.731l-2.537-4.691-0.006 0.004 2.543 4.687zM928.171 380.89l-4.698 2.526 0.028 0.049 4.67-2.575zM940.919 541.348l-5.018-1.805-0.028 0.077 5.045 1.728zM848.117 652.448l-2.592-4.661-0.004 0.002 2.596 4.659zM704.943 672.817l-1.207 5.195 0.013 0.004 1.195-5.199zM678.82 682.846l-4.373-3.055-0.026 0.038 4.399 3.017zM652.070 721.865l0.986 5.239 2.167-0.407 1.246-1.818-4.399-3.014zM592.9 732.99l0.928 5.252 0.058-0.011-0.986-5.242zM567.362 769.382v0zM575.185 814.511l0.887 5.259 5.282-0.892-0.915-5.278-5.254 0.911zM529.937 822.15l-0.887-5.259-0.030 0.004 0.917 5.254zM504.284 858.349l-5.263 0.866 0.002 0.009 5.261-0.875zM514.295 918.519l4.288 3.172 1.344-1.818-0.371-2.229-5.261 0.875zM501.897 935.287l0.917 5.254 2.103-0.367 1.269-1.717-4.29-3.17zM417.818 949.937l-5.254 0.913 0.913 5.259 5.257-0.917-0.915-5.254zM403.191 865.713l-4.363-3.068-1.269 1.805 0.378 2.176 5.254-0.913zM580.585 613.542v0zM581.21 585.57l4.497-2.869-0.013-0.019-4.484 2.889zM558.451 416.026v0zM674.174 290.236l-2.014-4.939-0.004 0.002 2.018 4.937zM844.678 299.168l4.194 3.296 3.925-4.994-5.598-3.002-2.522 4.7zM805.728 348.723l-4.194-3.296 7.972 7.059-3.778-3.763zM805.766 348.685l3.78 3.763 6.236-6.261-8.448-2.601-1.568 5.099zM742.257 357.069l-2.837-4.518-0.011 0.009 2.848 4.51zM707.215 410.737v0zM724.932 472.358l4.047-3.473-0.004-0.004-4.043 3.477zM796.459 497.939l-0.87-5.261-0.062 0.011 0.932 5.25zM854.805 451.674v0zM846.515 377.596l-4.194-3.292-2.46 3.132 2.306 3.249 4.348-3.089zM920.115 283.812l4.196 3.292 6.769-8.625h-10.965v5.333zM920.077 283.812l-4.245-3.228-6.507 8.561h10.752v-5.333zM944.090 130.323v0zM829.116 26.044v0zM679.025 65.179l-3.642-3.899-0.051 0.050 3.693 3.849zM645.783 97.068l-1.897 4.985 3.153 1.199 2.436-2.336-3.693-3.849zM401.363 134.597v0zM307.778 363.842l2.929 4.457 2.782-1.828-0.42-3.3-5.291 0.672zM60.385 526.417l2.902 4.476 0.027-0.019-2.929-4.457zM43.373 551.371l4.489 2.882 0.535-0.836 0.2-0.971-5.224-1.075zM805.265 437.771l2.398-4.764-4.105-2.067-2.65 3.757 4.356 3.074zM772.572 446.782l-2.176 4.868 0.013 0.006 2.163-4.875zM757.359 416.42l5.203 1.178 0.004-0.017-5.207-1.161zM784.070 395.541v0zM809.764 417.713l-5.254 0.913 0.004 0.026 5.25-0.939zM805.267 437.771l-2.398 4.764 4.111 2.069 2.647-3.763-4.361-3.070zM713.555 101.499l-3.665-3.874-0.023 0.023 3.689 3.851zM867.251 100.010l-3.59 3.944 0.002 0.001 3.588-3.946zM880.548 253.419l4.188 3.302 0.026-0.034-4.213-3.268zM876.128 259.021l-4.186-3.302-1.148 1.453v1.85h5.333zM876.128 259.059l-2.694 4.604 8.028 4.7v-9.303h-5.333zM785.244 227.447l-4.838 2.244 1.222 2.633 2.874 0.403 0.742-5.28zM693.146 121.052l-3.689-3.851-4.851 4.647 5.626 3.67 2.914-4.467zM91.433 565.918l-2.929-4.459-1.85 1.216-0.445 2.17 5.224 1.073zM348.719 396.843l-2.91-4.469-0.019 0.013 2.929 4.457zM359.629 370.871l-5.233 1.026 0.004 0.030 5.229-1.056zM407.497 197.285v0zM574.878 131.511l0.482-5.311-0.004-0-0.478 5.312zM727.753 226.236l0.452 5.314 8.636-0.734-4.546-7.379-4.542 2.799zM707.027 228.939l-0.922-5.254-4.412 0.774v4.48h5.333zM707.027 228.977l0.913 5.254 4.42-0.768v-4.486h-5.333zM543.008 334.628v0zM504.019 525.997v5.333h6.507l-1.278-6.381-5.229 1.047zM499.012 524.783l1.615-5.084-6.948-2.206v7.29h5.333zM499.012 524.821l-1.534 5.107 6.867 2.061v-7.168h-5.333zM442.62 497.713l3.034-4.388-0.047-0.032-2.987 4.42zM414.697 497.713l2.914 4.467 0.062-0.043-2.976-4.425zM375.471 523.294l-1.020 5.235 2.123 0.414 1.811-1.182-2.914-4.467zM316.42 511.776l1.020-5.233-0.506-0.1h-0.514v5.333zM316.382 511.776l-1.086 5.222 0.538 0.111h0.548v-5.333zM279.268 536.222l5.222 1.079 0.002-0.011-5.225-1.069zM269.922 581.468l-1.167 5.205 5.293 1.186 1.097-5.312-5.222-1.079zM225.182 571.439l1.167-5.203-0.079-0.017-1.088 5.22zM188.031 595.727l5.213 1.126 0.001-0.009-5.215-1.118zM175.204 655.196l2.929 4.457 1.824-1.199 0.46-2.133-5.213-1.124zM157.684 666.711l-1.067 5.227 2.157 0.439 1.84-1.21-2.93-4.457zM74.229 649.67l-5.224-1.073-1.075 5.231 5.232 1.069 1.067-5.227zM38.148 550.295l-21.313 103.106 10.446 2.159 21.313-103.106-10.446-2.159zM16.833 653.406c-4.463 21.677 9.423 42.869 31.079 47.39l2.179-10.443c-15.887-3.315-26.091-18.867-22.811-34.797l-10.447-2.15zM47.918 700.798l108.715 22.564 2.168-10.445-108.715-22.564-2.168 10.445zM156.615 723.358c7.915 1.673 16.126 0.041 22.838-4.363l-5.851-8.919c-4.394 2.882-9.714 3.917-14.783 2.846l-2.204 10.436zM179.433 719.008l35.040-22.761-5.81-8.945-35.040 22.761 5.81 8.945zM214.671 696.113c6.313-4.516 10.675-11.311 12.145-18.961l-10.475-2.014c-0.954 4.962-3.787 9.374-7.877 12.299l6.207 8.676zM226.793 677.269l11.106-51.435-10.426-2.253-11.106 51.437 10.426 2.251zM231.622 629.935l30.035 6.112 2.127-10.453-30.035-6.112-2.127 10.453zM261.636 636.041c28.343 5.888 56.073-12.301 61.993-40.64l-10.441-2.182c-4.717 22.586-26.81 37.069-49.382 32.38l-2.17 10.443zM323.633 595.388l6.217-30.084-10.445-2.159-6.219 30.084 10.447 2.159zM323.607 569.457l51.465 10.029 2.039-10.468-51.465-10.029-2.039 10.468zM376.092 568.919h-0.038v10.667h0.038v-10.667zM375.061 579.492c7.778 1.472 15.834-0.143 22.462-4.508l-5.865-8.909c-4.322 2.844-9.564 3.891-14.613 2.935l-1.984 10.481zM397.532 574.98l34.14-22.564-5.882-8.9-34.14 22.564 5.882 8.9zM426.010 552.553c17.931 10.641 37.141 19.083 57.152 25.084l3.063-10.217c-19.174-5.751-37.585-13.841-54.771-24.041l-5.444 9.173zM483.209 577.651c12.25 3.552 24.898 5.811 37.623 6.739l0.777-10.639c-11.989-0.875-23.902-3.004-35.43-6.347l-2.97 10.246zM516.35 581.244c2.85 6.383 5.897 12.779 9.453 19.091l9.293-5.235c-3.328-5.909-6.223-11.972-9.005-18.204l-9.741 4.348zM526.084 594.654l-170.195 242.494 8.73 6.127 170.195-242.494-8.73-6.127zM355.904 837.124c-6.886 9.702-9.6 21.769-7.509 33.483l10.5-1.873c-1.587-8.892 0.471-18.059 5.709-25.436l-8.7-6.174zM348.39 870.586l18.106 104.006 10.509-1.828-18.106-104.009-10.509 1.83zM366.494 974.569c3.245 19.151 19.746 33.25 39.153 33.431l0.098-10.667c-14.227-0.132-26.351-10.477-28.736-24.546l-10.515 1.781zM405.696 1008c2.266 0 4.619-0.177 6.929-0.593l-1.892-10.498c-1.6 0.288-3.313 0.425-5.037 0.425v10.667zM412.619 1007.407l109.344-19.548-1.875-10.5-109.346 19.548 1.877 10.5zM521.877 987.874c7.93-1.284 15.006-5.662 19.703-12.173l-8.651-6.24c-3.046 4.222-7.627 7.053-12.757 7.883l1.705 10.53zM541.619 975.646l23.934-34.082-8.73-6.129-23.934 34.082 8.73 6.129zM565.568 941.542c4.54-6.537 6.394-14.603 5.065-22.498l-10.519 1.771c0.862 5.111-0.335 10.364-3.305 14.643l8.759 6.084zM570.635 919.059l-8.604-51.947-10.524 1.743 8.604 51.947 10.524-1.743zM557.681 873.239l30.033-5.21-1.822-10.511-30.035 5.212 1.824 10.509zM587.729 868.028c28.433-5.018 47.497-32.139 42.577-60.614l-10.511 1.815c3.919 22.688-11.275 44.299-33.918 48.294l1.852 10.505zM630.306 807.413l-5.201-30.086-10.511 1.818 5.201 30.086 10.511-1.818zM620.868 783.471l51.467-10.029-2.042-10.47-51.465 10.029 2.039 10.47zM672.25 773.457c7.753-1.38 14.667-5.758 19.3-12.149l-8.638-6.259c-3.034 4.186-7.537 7.017-12.533 7.908l1.871 10.5zM691.605 761.229l23.426-33.613-8.751-6.099-23.426 33.613 8.751 6.099zM709.818 729.833c59.586 9.483 120.61-2.319 172.401-33.323l-5.478-9.152c-49.645 29.717-108.137 41.028-165.246 31.94l-1.677 10.534zM882.221 696.51c51.757-31.004 91.010-79.29 110.861-136.367l-10.076-3.503c-19.029 54.718-56.659 101.003-106.268 130.718l5.483 9.152zM993.058 560.207c24.495-67.727 18.66-142.737-15.942-205.856l-9.353 5.129c33.131 60.435 38.716 132.256 15.266 197.099l10.029 3.629zM977.131 354.379c-8.004-14.803-26.487-20.367-41.329-12.339l5.075 9.382c9.638-5.214 21.658-1.611 26.871 8.030l9.382-5.073zM935.795 342.044c-14.795 8.028-20.277 26.575-12.322 41.372l9.395-5.050c-5.186-9.647-1.594-21.734 8.015-26.948l-5.088-9.374zM923.501 383.465c26.362 47.823 30.889 104.71 12.401 156.079l10.035 3.612c19.526-54.255 14.746-114.334-13.094-164.841l-9.342 5.15zM935.874 539.62c-15.765 46.003-47.94 84.563-90.349 108.166l5.186 9.321c44.721-24.892 78.637-65.545 95.253-114.029l-10.091-3.458zM845.521 647.789c-42.413 23.646-92.096 30.701-139.381 19.831l-2.391 10.396c49.86 11.46 102.246 4.021 146.967-20.911l-5.195-9.316zM706.153 667.622c-12.062-2.807-24.634 2.044-31.706 12.171l8.745 6.106c4.585-6.56 12.74-9.702 20.544-7.887l2.417-10.389zM674.421 679.829l-26.75 39.019 8.798 6.031 26.75-39.017-8.798-6.033zM651.085 716.623l-59.17 11.125 1.971 10.483 59.17-11.127-1.971-10.481zM591.972 727.738c-19.987 3.529-33.34 22.586-29.865 42.56l10.509-1.83c-2.468-14.185 7.019-27.721 21.212-30.225l-1.856-10.505zM562.108 770.293l7.821 45.129 10.511-1.822-7.821-45.129-10.511 1.822zM574.298 809.252l-45.248 7.639 1.775 10.517 45.248-7.639-1.775-10.517zM529.020 816.896c-19.942 3.484-33.289 22.362-29.999 42.319l10.524-1.734c-2.34-14.204 7.151-27.603 21.31-30.076l-1.835-10.509zM499.023 859.223l10.012 60.173 10.522-1.751-10.012-60.173-10.522 1.751zM510.005 915.349l-12.397 16.766 8.578 6.342 12.397-16.766-8.578-6.342zM500.981 930.033l-84.079 14.652 1.83 10.507 84.081-14.65-1.833-10.509zM423.072 949.026l-14.626-84.226-10.509 1.826 14.626 84.224 10.509-1.824zM407.554 868.781l177.393-252.171-8.725-6.138-177.393 252.173 8.725 6.135zM584.947 616.61c7.113-10.116 7.396-23.509 0.759-33.909l-8.992 5.739c4.314 6.761 4.128 15.462-0.493 22.035l8.725 6.135zM585.694 582.682c-31.561-48.964-39.671-109.451-22.157-165.054l-10.174-3.204c-18.466 58.624-9.916 122.402 23.364 174.037l8.966-5.779zM563.537 417.626c17.476-55.563 58.782-100.448 112.653-122.451l-4.034-9.875c-56.811 23.204-100.367 70.537-118.793 129.126l10.174 3.2zM676.188 295.174c53.867-21.965 114.703-18.799 165.971 8.693l5.041-9.399c-54.074-28.998-118.236-32.335-175.040-9.171l4.028 9.877zM840.486 295.872l-38.953 49.555 8.388 6.592 38.95-49.555-8.386-6.592zM809.506 352.486l0.041-0.038-7.558-7.526-0.038 0.038 7.556 7.526zM807.334 343.586c-22.874-7.038-47.633-3.767-67.915 8.964l5.673 9.035c17.655-11.085 39.198-13.929 59.106-7.804l3.136-10.195zM739.409 352.559c-20.239 12.774-33.914 33.719-37.468 57.387l10.549 1.583c3.093-20.599 14.995-38.831 32.612-49.95l-5.694-9.020zM701.941 409.948c-3.552 23.699 3.343 47.744 18.946 65.888l8.087-6.955c-13.57-15.78-19.58-36.708-16.484-57.353l-10.549-1.581zM720.883 475.831c15.601 18.182 38.315 28.617 62.24 28.617v-10.667c-20.813 0-40.57-9.075-54.144-24.896l-8.096 6.946zM783.123 504.448c4.77 0 9.54-0.418 14.266-1.257l-1.862-10.502c-4.111 0.73-8.258 1.092-12.403 1.092v10.667zM797.327 503.202c27.902-4.61 51.531-23.337 62.404-49.478l-9.85-4.098c-9.461 22.748-30.025 39.044-54.293 43.053l1.739 10.524zM859.731 453.719c10.871-26.176 7.529-56.126-8.868-79.213l-8.695 6.178c14.263 20.083 17.178 46.153 7.714 68.945l9.85 4.090zM850.711 380.887l73.6-93.783-8.39-6.586-73.6 93.786 8.39 6.583zM920.115 278.479h-0.038v10.667h0.038v-10.667zM924.322 287.038c34.406-45.265 43.735-104.849 24.796-158.491l-10.059 3.551c17.745 50.256 9.005 106.080-23.228 148.486l8.491 6.453zM949.118 128.548c-18.938-53.678-63.563-94.134-118.729-107.683l-2.545 10.359c51.669 12.69 93.472 50.582 111.215 100.873l10.059-3.549zM830.389 20.865c-55.168-13.553-113.451 1.618-155.004 40.416l7.279 7.796c38.918-36.338 93.506-50.548 145.18-37.854l2.545-10.359zM675.332 61.331l-33.242 31.888 7.386 7.697 33.239-31.888-7.383-7.697zM647.68 92.083c-84.154-32.006-178.889-17.483-249.621 38.327l6.607 8.374c67.789-53.487 158.575-67.404 239.221-36.731l3.793-9.97zM398.059 130.411c-70.692 55.81-106.953 144.661-95.571 234.106l10.581-1.346c-10.91-85.739 23.849-170.9 91.599-224.387l-6.609-8.372zM304.849 359.386l-247.393 162.575 5.858 8.913 247.394-162.575-5.858-8.913zM57.483 521.943c-9.964 6.46-16.936 16.698-19.334 28.354l10.448 2.148c1.825-8.873 7.133-16.655 14.689-21.553l-5.803-8.949zM38.884 548.491l-0.003 0.004 0.003-0.004zM800.909 434.697c-5.884 8.337-16.838 11.351-26.174 7.209l-4.326 9.751c13.973 6.199 30.394 1.694 39.215-10.812l-8.715-6.148zM774.75 441.911c-9.342-4.175-14.443-14.342-12.188-24.314l-10.404-2.353c-3.377 14.942 4.271 30.161 18.238 36.405l4.354-9.739zM762.566 417.581c2.221-9.969 11.17-16.958 21.374-16.708l0.262-10.662c-15.296-0.378-28.717 10.106-32.049 25.052l10.413 2.319zM783.94 400.873c10.208 0.252 18.816 7.65 20.57 17.754l10.509-1.824c-2.624-15.125-15.529-26.217-30.816-26.592l-0.262 10.662zM804.514 418.652c0.996 5.587-0.307 11.356-3.61 16.051l8.723 6.138c4.911-6.98 6.893-15.627 5.387-24.064l-10.5 1.875zM807.663 433.007v0 0zM717.22 105.373c40.951-38.745 104.774-39.342 146.441-1.418l7.181-7.889c-45.794-41.68-115.945-41.023-160.951 1.559l7.33 7.748zM863.663 103.956c41.702 37.928 47.217 101.66 12.672 146.195l8.427 6.537c37.958-48.932 31.9-118.947-13.922-160.623l-7.177 7.891zM876.361 250.116l-4.418 5.602 8.373 6.605 4.42-5.602-8.375-6.605zM870.795 259.021v0.038h10.667v-0.038h-10.667zM878.825 254.458c-28.563-16.725-60.081-27.691-92.838-32.292l-1.485 10.562c31.379 4.407 61.57 14.912 88.932 30.935l5.391-9.205zM790.082 225.201c-20.561-44.31-53.139-81.944-94.022-108.616l-5.828 8.934c39.209 25.58 70.453 61.673 90.174 104.173l9.677-4.491zM696.836 124.903l20.41-19.553-7.379-7.702-20.41 19.553 7.379 7.702zM94.362 570.374l257.286-169.073-5.858-8.915-257.286 169.073 5.858 8.915zM351.629 401.314c10.428-6.793 15.697-19.281 13.227-31.499l-10.455 2.112c1.6 7.919-1.813 16.034-8.591 20.446l5.82 8.941zM364.862 369.843c-11.878-60.527 5.37-123.147 46.598-168.992l-7.93-7.133c-43.477 48.344-61.66 114.367-49.135 178.179l10.466-2.054zM411.46 200.852c41.231-45.84 101.572-69.558 162.94-64.029l0.956-10.624c-64.717-5.831-128.35 19.184-171.825 67.519l7.93 7.133zM574.396 136.822c61.327 5.567 116.489 39.736 148.817 92.21l9.082-5.596c-34.089-55.334-92.258-91.366-156.934-97.237l-0.964 10.623zM727.302 220.922c-7.085 0.599-14.125 1.523-21.197 2.763l1.843 10.507c6.769-1.188 13.495-2.067 20.256-2.641l-0.902-10.628zM701.694 228.939v0.038h10.667v-0.038h-10.667zM706.112 223.723c-68.062 11.842-128.444 50.773-167.507 107.895l8.806 6.022c37.444-54.758 95.313-92.062 160.529-103.409l-1.828-10.509zM538.605 331.62c-39.019 57.086-53.395 127.573-39.817 195.422l10.46-2.093c-13.015-65.030 0.766-132.595 38.163-187.311l-8.806-6.018zM504.019 520.663c-0.081 0-0.384-0.026-1.056-0.215-0.759-0.215-1.269-0.41-2.336-0.749l-3.23 10.165c0.538 0.171 1.728 0.582 2.671 0.849 1.028 0.29 2.426 0.617 3.951 0.617v-10.667zM493.679 524.783v0.038h10.667v-0.038h-10.667zM500.546 519.712c-19.569-5.871-38.067-14.756-54.893-26.387l-6.065 8.774c17.745 12.267 37.257 21.638 57.89 27.829l3.068-10.217zM445.606 493.293c-10.217-6.901-23.642-6.893-33.886-0.006l5.952 8.851c6.652-4.471 15.362-4.465 21.963-0.006l5.971-8.838zM411.782 493.246l-39.223 25.581 5.826 8.934 39.226-25.581-5.828-8.934zM376.493 518.059l-59.053-11.516-2.042 10.468 59.053 11.518 2.042-10.47zM316.42 506.443h-0.038v10.667h0.038v-10.667zM317.466 506.556c-19.866-4.128-39.351 8.706-43.422 28.597l10.449 2.138c2.889-14.112 16.723-23.217 30.803-20.292l2.17-10.443zM274.046 535.142l-9.348 45.246 10.447 2.159 9.346-45.246-10.445-2.159zM271.089 576.265l-44.74-10.029-2.334 10.409 44.74 10.029 2.334-10.409zM226.27 566.219c-19.825-4.128-39.207 8.58-43.454 28.39l10.43 2.236c3.025-14.114 16.807-23.108 30.85-20.183l2.174-10.443zM182.817 594.603l-12.827 59.469 10.427 2.249 12.827-59.467-10.427-2.251zM172.274 650.739l-17.52 11.516 5.859 8.913 17.52-11.516-5.859-8.913zM158.751 661.487l-83.455-17.041-2.134 10.451 83.455 17.041 2.134-10.451zM79.453 650.743l17.204-83.753-10.448-2.146-17.204 83.753 10.448 2.146z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["keys"],"defaultCode":59657,"grid":16},"attrs":[],"properties":{"order":168,"name":"keys","prevSize":32,"codes":[59657,59658],"id":159,"code":59657},"setIdx":0,"setId":6,"iconIdx":167},{"icon":{"paths":["M564.102 860.475l-137.637-137.637c-38.739-38.806-60.008-91.853-59.175-147.529 0.868-55.639 23.71-109.383 63.636-149.372l17.715-17.717c14.692-14.692 38.14-15.045 52.397-0.788 14.257 14.259 13.907 37.705-0.786 52.397l-17.717 17.717c-53.752 53.88-55.075 139.843-2.887 192.1l137.637 137.637c52.256 52.256 138.252 50.964 192.1-2.885s55.14-139.847 2.887-192.1l-28.534-27.422c-14.257-14.259-13.871-37.738 0.788-52.397 14.692-14.692 38.14-15.045 52.397-0.788l28.532 27.422c52.256 52.256 71.792 129.231 51.316 201.96-20.508 72.765-77.942 130.2-150.711 150.711-72.73 20.476-149.703 0.945-201.958-51.31zM324.031 567.219c14.659-14.659 15.045-38.138 0.788-52.395l-120.413-120.413c-52.255-52.256-50.963-138.252 2.885-192.1s139.845-55.141 192.1-2.885l137.637 137.637c52.189 52.256 50.863 138.218-2.885 192.098l-17.717 17.717c-14.692 14.692-15.045 38.14-0.788 52.397s37.705 13.905 52.397-0.788l17.717-17.715c39.922-39.987 62.763-93.731 63.636-149.374 0.837-55.672-20.435-108.719-59.175-147.527l-137.637-137.638c-52.256-52.255-129.231-71.792-201.962-51.316-72.763 20.508-130.198 77.943-150.71 150.712-20.475 72.73-0.94 149.705 51.316 201.96l120.412 120.413c14.257 14.257 37.705 13.905 52.397-0.788l0.002 0.004z","M426.464 722.838l-9.756 9.738 0.008 0.010 9.748-9.748zM367.289 575.309v0zM430.925 425.937l-9.748-9.748-0.008 0.008 9.756 9.74zM482.534 477.546l-9.748-9.748-0.012 0.012 9.76 9.736zM479.648 669.647l-9.754 9.74 0.008 0.008 9.746-9.748zM812.272 612.299l9.748-9.75-0.197-0.189-9.551 9.939zM783.738 584.877l-9.748 9.748 0.197 0.191 9.551-9.939zM836.923 531.692l-9.75 9.75 0.197 0.189 9.553-9.939zM865.455 559.114l9.75-9.748-0.197-0.191-9.553 9.939zM916.771 761.074v0zM766.060 911.785l3.736 13.269h0.004l-3.74-13.269zM324.031 567.219l-13.113 4.252 6.944 21.413 15.917-15.917-9.748-9.748zM537.029 337.063l9.754-9.742-0.006-0.006-9.748 9.748zM534.144 529.162l9.746 9.748 0.012-0.012-9.758-9.736zM585.754 580.773l9.748 9.746 0.008-0.008-9.756-9.738zM649.389 431.399v0zM590.214 283.872l9.756-9.74-0.010-0.008-9.746 9.748zM250.614 94.918l-3.736-13.269-0.004 0.001 3.74 13.268zM99.904 245.63v0zM151.22 447.59v0zM271.632 568.003v0zM324.029 567.215l13.113-4.252-6.942-21.413-15.919 15.917 9.748 9.748zM573.85 850.727l-137.637-137.637-19.495 19.495 137.637 137.637 19.495-19.495zM436.22 713.098c-36.061-36.122-55.926-85.563-55.148-137.582l-27.567-0.412c-0.886 59.329 21.788 115.986 63.204 157.472l19.511-19.478zM381.072 575.525c0.811-52.015 22.176-102.357 59.607-139.849l-19.509-19.48c-42.419 42.488-66.739 99.633-67.665 158.897l27.567 0.431zM440.671 435.684l17.717-17.717-19.493-19.495-17.717 17.717 19.493 19.495zM458.388 417.967c9.588-9.588 24.302-9.387 32.902-0.788l19.495-19.493c-19.915-19.915-52.094-19.011-71.891 0.786l19.493 19.495zM491.29 417.18c8.602 8.602 8.8 23.316-0.786 32.904l19.493 19.493c19.799-19.797 20.703-51.976 0.788-71.891l-19.495 19.493zM490.504 450.083l-17.717 17.715 19.495 19.495 17.715-17.717-19.493-19.493zM472.775 467.81c-58.837 58.978-60.721 153.659-2.881 211.576l19.507-19.482c-46.535-46.596-45.775-123.841 2.891-172.623l-19.517-19.472zM469.902 679.394l137.637 137.637 19.493-19.495-137.637-137.637-19.493 19.495zM607.539 817.032c57.911 57.911 152.641 56.068 211.594-2.887l-19.493-19.493c-48.744 48.742-126.009 49.483-172.607 2.885l-19.493 19.495zM819.133 814.145c58.953-58.953 60.798-153.681 2.885-211.594l-19.493 19.495c46.598 46.596 45.857 123.861-2.885 172.605l19.493 19.493zM821.823 602.36l-28.532-27.422-19.104 19.877 28.532 27.422 19.104-19.877zM793.486 575.13c-8.592-8.594-8.775-23.341 0.788-32.904l-19.495-19.493c-19.755 19.755-20.708 51.968-0.786 71.891l19.493-19.493zM794.273 542.226c9.586-9.586 24.302-9.387 32.902-0.786l19.495-19.495c-19.915-19.915-52.094-19.009-71.893 0.788l19.495 19.493zM827.37 541.631l28.534 27.422 19.104-19.877-28.532-27.422-19.105 19.877zM855.708 568.862c48.628 48.628 66.96 120.409 47.795 188.477l26.537 7.471c21.79-77.391 1.046-159.561-54.837-215.444l-19.495 19.495zM903.505 757.335c-19.208 68.147-73.033 121.972-141.184 141.184l7.479 26.535c77.387-21.815 138.429-82.857 160.24-160.24l-26.535-7.479zM762.325 898.517c-68.070 19.163-139.849 0.839-188.475-47.789l-19.495 19.495c55.883 55.883 138.051 76.619 215.442 54.831l-7.471-26.537zM333.779 576.967c19.755-19.755 20.708-51.968 0.786-71.891l-19.493 19.493c8.592 8.594 8.775 23.341-0.788 32.904l19.495 19.493zM334.564 505.076l-120.411-120.413-19.495 19.493 120.412 120.413 19.493-19.493zM214.154 384.664c-46.598-46.598-45.859-123.863 2.885-172.605l-19.495-19.495c-58.953 58.954-60.797 153.682-2.885 211.593l19.495-19.493zM217.039 212.059c48.744-48.744 126.007-49.484 172.605-2.887l19.495-19.494c-57.913-57.912-152.641-56.068-211.596 2.886l19.495 19.495zM389.644 209.172l137.637 137.637 19.495-19.493-137.637-137.638-19.495 19.494zM527.275 346.803c46.535 46.596 45.775 123.839-2.891 172.625l19.517 19.47c58.835-58.978 60.723-153.659 2.881-211.576l-19.507 19.482zM524.396 519.416l-17.717 17.715 19.495 19.495 17.715-17.717-19.493-19.493zM506.679 537.131c-19.797 19.799-20.701 51.978-0.788 71.893l19.495-19.495c-8.6-8.6-8.8-23.316 0.788-32.902l-19.495-19.495zM505.891 609.024c19.915 19.915 52.094 19.011 71.893-0.788l-19.495-19.493c-9.586 9.586-24.302 9.387-32.902 0.786l-19.495 19.495zM577.784 608.236l17.717-17.717-19.495-19.493-17.717 17.717 19.495 19.493zM595.509 590.511c42.415-42.484 66.735-99.629 67.663-158.895l-27.565-0.431c-0.815 52.017-22.179 102.361-59.609 139.849l19.511 19.478zM663.172 431.606c0.892-59.327-21.784-115.984-63.202-157.473l-19.511 19.478c36.064 36.128 55.93 85.567 55.148 137.582l27.565 0.414zM599.96 274.125l-137.637-137.638-19.493 19.494 137.637 137.637 19.493-19.493zM462.322 136.487c-55.881-55.882-138.051-76.626-215.444-54.838l7.471 26.538c68.068-19.164 139.851-0.833 188.479 47.794l19.493-19.494zM246.875 81.65c-77.381 21.81-138.424 82.853-160.238 160.238l26.535 7.481c19.211-68.152 73.037-121.977 141.182-141.184l-7.479-26.535zM86.635 241.894c-21.787 77.391-1.045 159.559 54.838 215.442l19.494-19.493c-48.628-48.628-66.957-120.409-47.794-188.479l-26.538-7.469zM141.473 457.336l120.413 120.413 19.493-19.493-120.412-120.413-19.494 19.493zM261.886 577.749c19.913 19.915 52.092 19.011 71.891-0.786l-19.495-19.495c-9.586 9.588-24.302 9.387-32.902 0.788l-19.493 19.493zM310.916 571.467l0.002 0.004-0.002-0.004z","M850.723 187.716c-27.057 27.525-34.938 66.648-24.97 101.629l-127.988 130.206c-1.414 1.438-2.31 3.334-2.534 5.35l-5.949 57.454c-0.293 2.808 0.707 5.579 2.723 7.509 2.018 1.93 4.793 2.79 7.519 2.316l74.634-12.999c3.948-0.668 6.949-3.982 7.31-8.034l2.432-27.49 27.022-2.475c4.259-0.386 7.623-3.824 8.003-8.139l2.43-27.49 27.040-2.473c2.052-0.193 3.984-1.107 5.451-2.58l40.576-41.279c34.351 10.086 72.858 2.105 99.897-25.403 39.576-40.261 39.576-105.819 0-146.081s-104.017-40.262-143.594 0v-0.019zM863.208 200.416c32.835-33.402 85.793-33.402 118.626 0 32.831 33.404 32.833 87.28 0 120.68-23.696 24.105-57.854 30.525-87.414 19.842h0.018c-3.226-1.122-6.796-0.282-9.175 2.194l-41.559 42.279-31.317 2.877c-4.242 0.386-7.605 3.807-8.001 8.139l-2.432 27.49-27.022 2.473c-4.244 0.386-7.623 3.808-8.003 8.141l-2.43 28.087-56.478 9.824 4.295-42.279 129.247-131.486c2.414-2.473 3.224-6.158 2.034-9.439-10.484-30.070-4.086-64.717 19.608-88.82l0.002-0.004zM919.391 213.118c-13.726 13.966-13.726 36.858 0 50.804 13.728 13.964 36.232 13.964 49.938 0 13.728-13.966 13.728-36.858 0-50.804-13.726-13.964-36.23-13.964-49.938 0zM931.879 225.82c6.965-7.087 18.003-7.087 24.97 0 6.965 7.087 6.965 18.316 0 25.403-6.967 7.087-18.005 7.087-24.97 0-6.967-7.087-6.967-18.316 0-25.403z"],"width":1063,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["link-key"],"defaultCode":59661,"grid":16},"attrs":[],"properties":{"order":169,"name":"link-key","prevSize":32,"codes":[59661,59662,59663],"id":160,"code":59661},"setIdx":0,"setId":6,"iconIdx":168},{"icon":{"paths":["M1110.826 548.181c0 7.698-6.696 14.318-14.478 14.318s-14.478-6.62-14.478-13.201c0-7.696 6.696-14.318 14.478-14.318s14.478 5.503 14.478 13.201zM1097.434 474.435c-7.782 0-14.478 6.623-14.478 14.32v13.201c0 7.696 6.696 14.318 14.478 14.318s14.478-6.623 14.478-14.318v-14.32c-1.086-7.698-6.652-13.201-14.478-13.201zM1097.434 400.689c-7.782 0-14.478 6.623-14.478 14.32v25.326c0 7.698 6.696 14.32 14.478 14.32s14.478-6.623 14.478-14.32v-25.326c-1.086-8.815-6.652-14.32-14.478-14.32zM1327.868 197.039v629.654c0 5.503-3.348 9.891-8.913 12.125l-415.176 178.321h-1.131c-1.131 1.117-3.348 1.117-4.434 1.117-1.131 0-3.348 0-4.434-1.117h-1.131l-416.256-178.365c-5.565-2.193-8.913-6.62-8.913-12.125v-635.156c0-1.118 1.131-1.118 1.131-2.193 0 0 0-1.118 1.131-1.118 0-1.118 1.129-1.118 1.129-2.193l1.131-1.118c1.131 0 1.131-1.118 2.217-1.118h1.131l417.302-160.652c3.348-1.118 6.696-1.118 10 0l416.256 160.741h1.131c1.131 0 1.131 0 2.217 1.118l1.131 1.118c1.131 0 1.131 1.118 1.131 2.193l1.131 1.118c0 1.118 1.129 1.118 1.129 2.193v1.118c1.089 1.032 1.089 2.107 1.089 4.343l0.004-0.002zM734.604 114.478l360.604 155.237c2.217 1.117 4.434 2.193 5.565 4.385l176.952-75.938-379.526-147.531-163.595 63.847zM884.865 384.176l-388.474-166.244v598.819l388.43 167.313 0.045-599.888zM1058.48 291.684l10-4.388-368.395-158.538c-1.131 0-1.131-1.118-2.217-1.118l-180.302 69.36 380.65 164.046 160.265-69.363zM1300.039 217.938l-189.217 81.442v68.243c0 7.696-6.696 14.318-14.478 14.318s-14.478-6.623-14.478-14.318v-56.117l-171.386 73.746v598.82l388.43-167.313v-598.819l1.131-0.001z","M1111.913 487.635h5.565v-0.392l-0.053-0.385-5.512 0.777zM1111.913 415.009h5.565v-0.343l-0.040-0.338-5.525 0.681zM1327.868 197.039h5.565v-8.541l-7.814 3.45 2.248 5.091zM1318.954 838.819l-2.077-5.165-0.12 0.051 2.197 5.113zM903.778 1017.139v5.565h1.144l1.053-0.452-2.197-5.113zM902.647 1017.139v-5.565h-2.286l-1.627 1.609 3.913 3.956zM893.778 1017.139l3.989-3.88-1.638-1.685h-2.351v5.565zM892.648 1017.139l-2.193 5.116 1.051 0.45h1.142v-5.565zM476.392 838.774l2.193-5.116-0.154-0.060-2.039 5.176zM469.74 188.181v5.565h5.565v-5.565h-5.565zM470.869 185.988l-3.913-3.957-1.652 1.634v2.323h5.565zM471.999 184.87v-5.565h-2.286l-1.627 1.608 3.913 3.957zM475.347 183.752v5.565h1.035l0.964-0.372-1.999-5.194zM892.65 23.099l-1.765-5.284-0.234 0.090 1.999 5.194zM902.649 23.099l2.008-5.196-0.223-0.075-1.785 5.272zM1318.905 183.84l-2.003 5.191 0.966 0.374h1.037v-5.565zM1322.253 184.958l-3.991 3.88 0.078 0.076 3.913-3.957zM1323.384 186.076l-3.913 3.957 1.625 1.608h2.288v-5.565zM1324.515 188.269h-5.565v2.323l1.652 1.634 3.913-3.957zM1325.646 189.387h5.565v-2.323l-1.652-1.634-3.913 3.957zM1326.775 192.698h-5.565v2.39l1.734 1.646 3.831-4.036zM734.604 114.478l-2.024-5.184-12.637 4.932 12.459 5.364 2.202-5.112zM1095.208 269.715l2.504-4.969-0.149-0.078-0.156-0.065-2.199 5.111zM1100.773 274.1l-4.949 2.551 2.377 4.608 4.764-2.044-2.193-5.116zM1277.725 198.162l2.193 5.114 12.511-5.369-12.689-4.932-2.015 5.187zM898.199 50.631l2.015-5.187-2.019-0.785-2.019 0.788 2.024 5.185zM884.865 384.176l5.565 0.002v-3.673l-3.375-1.445-2.19 5.116zM496.391 217.932l2.19-5.116-7.756-3.319v8.435h5.565zM496.391 816.751h-5.565v3.664l3.364 1.447 2.202-5.111zM884.821 984.064l-2.202 5.111 7.767 3.346v-8.457h-5.565zM1058.48 291.684l2.211 5.107 0.024-0.011-2.235-5.096zM1068.479 287.297l2.235 5.098 11.731-5.144-11.767-5.064-2.199 5.111zM700.084 128.758l2.199-5.112-1.053-0.453h-1.146v5.565zM697.867 127.64v-5.565h-1.033l-0.966 0.371 1.999 5.194zM517.565 197l-1.999-5.194-12.727 4.896 12.52 5.407 2.206-5.109zM736.824 291.689l-2.206 5.109 0.009 0.004 2.197-5.113zM898.215 361.047l-2.197 5.113 2.204 0.948 2.204-0.953-2.211-5.109zM1300.039 217.938l2.199 5.112-2.204-10.677 0.004 5.565zM1110.822 299.38l-2.199-5.111-3.366 1.449v3.662h5.565zM1081.865 311.505h5.565v-8.452l-7.765 3.341 2.199 5.111zM910.478 385.251l-2.199-5.111-3.366 1.447v3.664h5.565zM910.478 984.071h-5.565v8.457l7.767-3.346-2.202-5.111zM1298.908 816.758l2.202 5.111 3.364-1.447v-3.664h-5.565zM1298.908 217.939l-0.004-5.565-5.561 0.006v5.56h5.565zM1105.261 548.181c0 4.566-4.145 8.753-8.913 8.753v11.13c10.799 0 20.044-9.056 20.044-19.883h-11.13zM1096.348 556.934c-2.311 0-4.61-0.997-6.353-2.629-1.785-1.672-2.56-3.58-2.56-5.006h-11.13c0 5.153 2.573 9.846 6.082 13.132 3.551 3.321 8.49 5.634 13.962 5.634v-11.13zM1087.435 549.298c0-4.566 4.147-8.753 8.913-8.753v-11.13c-10.799 0-20.044 9.056-20.044 19.883h11.13zM1096.348 540.545c5.378 0 8.913 3.64 8.913 7.635h11.13c0-11.4-9.855-18.766-20.044-18.766v11.13zM1097.434 468.87c-10.797 0-20.044 9.056-20.044 19.886h11.13c0-4.568 4.147-8.755 8.913-8.755v-11.13zM1077.39 488.755v13.201h11.13v-13.201h-11.13zM1077.39 501.956c0 10.828 9.247 19.883 20.044 19.883v-11.13c-4.766 0-8.913-4.187-8.913-8.753h-11.13zM1097.434 521.839c10.799 0 20.044-9.056 20.044-19.883h-11.13c0 4.566-4.145 8.753-8.913 8.753v11.13zM1117.478 501.956v-14.32h-11.13v14.32h11.13zM1117.424 486.859c-1.425-10.091-9.047-17.989-19.99-17.989v11.13c4.71 0 8.219 3.11 8.969 8.415l11.021-1.556zM1097.434 395.124c-10.797 0-20.044 9.056-20.044 19.886h11.13c0-4.566 4.147-8.755 8.913-8.755v-11.13zM1077.39 415.009v25.326h11.13v-25.326h-11.13zM1077.39 440.336c0 10.83 9.247 19.886 20.044 19.886v-11.13c-4.766 0-8.913-4.189-8.913-8.755h-11.13zM1097.434 460.221c10.799 0 20.044-9.056 20.044-19.886h-11.13c0 4.566-4.145 8.755-8.913 8.755v11.13zM1117.478 440.336v-25.326h-11.13v25.326h11.13zM1117.438 414.328c-0.666-5.4-2.765-10.222-6.322-13.742-3.606-3.566-8.388-5.463-13.682-5.463v11.13c2.533 0 4.45 0.857 5.855 2.246 1.451 1.436 2.68 3.773 3.101 7.19l11.048-1.362zM1322.302 197.039v629.654h11.13v-629.654h-11.13zM1322.302 826.693c0 2.847-1.587 5.421-5.423 6.963l4.149 10.327c7.293-2.932 12.404-9.129 12.404-17.29h-11.13zM1316.757 833.705l-415.176 178.321 4.394 10.227 415.174-178.321-4.392-10.227zM903.778 1011.574h-1.131v11.13h1.131v-11.13zM898.734 1013.183c0.361-0.358 0.683-0.505 0.788-0.548 0.102-0.042 0.109-0.029-0.031-0.007-0.129 0.022-0.309 0.040-0.541 0.051-0.236 0.011-0.461 0.011-0.737 0.011v11.13c0.514 0 1.774 0.011 3.123-0.216 1.229-0.207 3.439-0.744 5.225-2.509l-7.827-7.914zM898.213 1012.691c-0.289 0-0.523 0-0.764-0.011s-0.421-0.029-0.548-0.051c-0.138-0.022-0.118-0.033 0.004 0.018s0.476 0.216 0.861 0.612l-7.981 7.76c1.788 1.839 4.049 2.382 5.269 2.587 1.351 0.227 2.627 0.216 3.157 0.216v-11.13zM893.778 1011.574h-1.131v11.13h1.131v-11.13zM894.84 1012.024l-416.256-178.363-4.385 10.229 416.256 178.365 4.385-10.231zM478.431 833.598c-3.78-1.491-5.387-4.078-5.387-6.95h-11.13c0 8.136 5.087 14.407 12.437 17.303l4.080-10.354zM473.043 826.648v-629.61h-11.13v629.61h11.13zM473.043 197.039v-1.118h-11.13v1.118h11.13zM473.043 195.921v-3.311h-11.13v3.311h11.13zM473.043 192.61v-1.118h-11.13v1.118h11.13zM473.043 191.492c0 0.338-0.045 0.729-0.163 1.146-0.118 0.419-0.289 0.783-0.472 1.085-0.318 0.52-0.69 0.843-0.49 0.65 0.040-0.040 0.234-0.226 0.432-0.44 0.214-0.233 0.508-0.58 0.792-1.035 0.294-0.468 0.565-1.025 0.755-1.672 0.191-0.646 0.276-1.295 0.276-1.928h-11.13c0-0.364 0.049-0.777 0.178-1.214 0.127-0.437 0.309-0.809 0.499-1.108 0.18-0.287 0.349-0.482 0.432-0.57 0.062-0.070 0.116-0.119 0.016-0.022-0.082 0.081-0.737 0.681-1.267 1.549-0.289 0.476-0.548 1.032-0.73 1.67-0.178 0.635-0.258 1.27-0.258 1.888h11.13zM468.609 189.299c5.565 0 5.565 0.003 5.565 0.006 0 0.001 0 0.004 0 0.006 0 0.004 0 0.007 0 0.011 0 0.007 0 0.014 0 0.022 0 0.015 0 0.029-0.002 0.044 0 0.029 0 0.058 0 0.087-0.002 0.058-0.007 0.118-0.011 0.178-0.009 0.119-0.022 0.252-0.047 0.397-0.045 0.264-0.145 0.7-0.398 1.202-0.265 0.525-0.748 1.211-1.567 1.751-0.85 0.561-1.732 0.744-2.409 0.744v-11.13c-1.244 0-2.549 0.323-3.718 1.094-1.138 0.75-1.832 1.715-2.239 2.52-0.394 0.782-0.565 1.497-0.646 1.97-0.040 0.25-0.065 0.47-0.078 0.651-0.007 0.091-0.011 0.174-0.013 0.249 0 0.037-0.002 0.073-0.002 0.106 0 0.017 0 0.033 0 0.049 0 0.008 0 0.016 0 0.023 0 0.004 0 0.008 0 0.011 0 0.002 0 0.005 0 0.006 0 0.003 0 0.006 5.565 0.006zM475.305 188.181c0 0.338-0.045 0.729-0.163 1.146-0.12 0.419-0.289 0.784-0.474 1.086-0.316 0.52-0.688 0.843-0.49 0.65 0.042-0.040 0.236-0.226 0.432-0.44 0.214-0.233 0.508-0.58 0.795-1.035 0.294-0.468 0.563-1.025 0.755-1.672 0.189-0.646 0.274-1.295 0.274-1.928h-11.13c0-0.364 0.051-0.777 0.178-1.213 0.129-0.437 0.312-0.809 0.499-1.109 0.18-0.287 0.352-0.482 0.432-0.57 0.065-0.070 0.118-0.119 0.018-0.022-0.085 0.081-0.739 0.681-1.267 1.549-0.289 0.476-0.55 1.032-0.73 1.67-0.18 0.635-0.258 1.27-0.258 1.888h11.13zM474.782 189.945l1.131-1.118-7.827-7.914-1.131 1.118 7.827 7.914zM471.999 190.435c0.61 0 1.235-0.076 1.861-0.25 0.63-0.174 1.182-0.425 1.658-0.709 0.87-0.518 1.474-1.161 1.558-1.247 0.098-0.099 0.047-0.046-0.022 0.017-0.089 0.080-0.285 0.246-0.57 0.421-0.298 0.183-0.663 0.358-1.091 0.48-0.425 0.122-0.826 0.169-1.178 0.169v-11.13c-0.621 0-1.262 0.081-1.899 0.265-0.639 0.184-1.193 0.446-1.661 0.733-0.456 0.28-0.804 0.568-1.040 0.78-0.216 0.194-0.403 0.386-0.445 0.427-0.191 0.194 0.131-0.169 0.65-0.478 0.298-0.179 0.657-0.342 1.066-0.455 0.407-0.113 0.786-0.154 1.111-0.154v11.13zM474.217 189.317h1.131v-11.13h-1.131v11.13zM477.347 188.946l417.302-160.653-3.998-10.387-417.302 160.652 3.998 10.387zM894.413 28.378c2.211-0.738 4.314-0.731 6.453-0.007l3.568-10.543c-4.47-1.512-9.062-1.505-13.548-0.007l3.526 10.557zM900.646 28.291l416.256 160.741 4.009-10.383-416.256-160.741-4.009 10.383zM1318.905 189.405h1.131v-11.13h-1.131v11.13zM1320.036 189.405c0.158 0 0.22 0 0.265 0.001 0.042 0.001-0.024 0.001-0.145-0.011-0.129-0.013-0.352-0.043-0.632-0.116-0.289-0.077-0.583-0.187-0.868-0.33-0.276-0.139-0.483-0.279-0.619-0.38-0.127-0.095-0.2-0.164-0.203-0.166 0-0.001 0.027 0.025 0.109 0.107s0.178 0.181 0.321 0.327l7.981-7.759c-0.229-0.235-0.557-0.574-0.864-0.858-0.323-0.297-0.902-0.8-1.714-1.21-0.904-0.455-1.747-0.625-2.411-0.691-0.512-0.051-1.040-0.045-1.22-0.045v11.13zM1318.34 188.915l1.131 1.118 7.827-7.914-1.131-1.118-7.827 7.914zM1323.384 191.641c-0.666 0-1.719-0.182-2.727-0.954-0.968-0.74-1.385-1.634-1.552-2.12-0.082-0.245-0.12-0.436-0.138-0.541-0.018-0.107-0.022-0.17-0.022-0.171 0-0.002 0.002 0.026 0.002 0.102 0.002 0.080 0.002 0.169 0.002 0.311h11.13c0-0.224 0.065-1.821-0.441-3.298-0.307-0.9-0.935-2.141-2.219-3.124-1.327-1.015-2.805-1.337-4.036-1.337v11.13zM1320.602 192.226l1.131 1.118 7.827-7.914-1.131-1.118-7.827 7.914zM1320.081 189.387c0 0.618 0.078 1.253 0.258 1.888 0.18 0.637 0.439 1.193 0.73 1.67 0.528 0.868 1.182 1.468 1.267 1.549 0.1 0.097 0.047 0.048-0.018-0.022-0.080-0.089-0.252-0.283-0.432-0.57-0.187-0.3-0.37-0.672-0.499-1.108-0.127-0.436-0.178-0.85-0.178-1.214h11.13c0-0.632-0.085-1.281-0.274-1.928-0.191-0.647-0.461-1.204-0.755-1.672-0.287-0.456-0.581-0.803-0.795-1.035-0.196-0.214-0.39-0.4-0.432-0.44-0.198-0.193 0.174 0.13 0.49 0.65 0.185 0.302 0.354 0.666 0.474 1.085 0.118 0.417 0.163 0.808 0.163 1.146h-11.13zM1321.209 191.58v1.118h11.13v-1.118h-11.13zM1322.943 196.734c-0.091-0.086-0.265-0.278-0.427-0.576-0.16-0.296-0.225-0.541-0.247-0.645-0.013-0.070 0.004-0.021 0.016 0.27 0.004 0.137 0.009 0.305 0.011 0.52 0.002 0.217 0.002 0.453 0.002 0.738h11.13c0-0.908 0.024-2.375-0.245-3.718-0.352-1.753-1.166-3.322-2.576-4.661l-7.664 8.072zM1330.109 202.132l0.007-0.002-4.497-10.182-0.004 0.002 4.494 10.182zM732.403 119.59l360.604 155.236 4.401-10.222-360.604-155.238-4.401 10.224zM1092.701 274.684c1.222 0.617 1.926 0.975 2.5 1.376 0.488 0.343 0.592 0.53 0.623 0.592l9.895-5.1c-2.113-4.1-6.22-5.904-8.007-6.805l-5.011 9.937zM1102.966 279.216l176.952-75.939-4.388-10.228-176.952 75.939 4.388 10.229zM1279.74 192.975l-379.526-147.531-4.031 10.374 379.526 147.531 4.031-10.374zM896.176 45.447l-163.595 63.847 4.045 10.369 163.595-63.847-4.045-10.369zM887.056 379.060l-388.474-166.244-4.379 10.234 388.474 166.244 4.379-10.233zM490.825 217.932v598.819h11.13v-598.819h-11.13zM494.189 821.862l388.43 167.313 4.403-10.222-388.43-167.313-4.403 10.222zM890.386 984.064l0.045-599.886-11.13-0.002-0.045 599.888h11.13zM1060.715 296.78l10-4.385-4.47-10.193-10 4.385 4.47 10.193zM1070.679 282.185l-368.395-158.539-4.399 10.224 368.395 158.539 4.399-10.224zM700.084 123.193c0.325 0 0.706 0.041 1.111 0.154 0.41 0.113 0.768 0.277 1.066 0.455 0.519 0.309 0.841 0.672 0.65 0.478-0.040-0.041-0.229-0.233-0.445-0.427-0.234-0.211-0.583-0.5-1.040-0.78-0.467-0.288-1.020-0.55-1.661-0.734-0.637-0.183-1.276-0.265-1.899-0.265v11.13c-0.352 0-0.752-0.047-1.178-0.169-0.427-0.123-0.792-0.297-1.091-0.48-0.285-0.175-0.479-0.341-0.57-0.422-0.069-0.063-0.118-0.116-0.020-0.016 0.085 0.085 0.688 0.728 1.556 1.247 0.476 0.283 1.028 0.534 1.658 0.709 0.628 0.174 1.253 0.25 1.861 0.25v-11.13zM695.868 122.446l-180.302 69.36 3.998 10.388 180.302-69.36-3.998-10.388zM515.359 202.11l219.258 94.688 4.412-10.218-219.258-94.689-4.412 10.218zM734.627 296.802l161.391 69.358 4.394-10.224-161.391-69.36-4.394 10.227zM900.425 366.156l160.265-69.365-4.421-10.216-160.265 69.365 4.421 10.216zM1297.84 212.826l-189.217 81.443 4.399 10.224 189.217-81.444-4.399-10.224zM1105.257 299.38v68.243h11.13v-68.243h-11.13zM1105.257 367.623c0 4.566-4.145 8.753-8.913 8.753v11.13c10.799 0 20.044-9.056 20.044-19.883h-11.13zM1096.343 376.376c-4.768 0-8.913-4.187-8.913-8.753h-11.13c0 10.828 9.245 19.883 20.044 19.883v-11.13zM1087.43 367.623v-56.117h-11.13v56.117h11.13zM1079.666 306.394l-171.386 73.746 4.399 10.224 171.386-73.746-4.399-10.224zM904.913 385.251v598.82h11.13v-598.82h-11.13zM912.68 989.182l388.43-167.313-4.403-10.222-388.43 167.313 4.403 10.222zM1304.474 816.758v-598.819h-11.13v598.819h11.13zM1298.913 223.504h1.131l-0.009-11.131-1.131 0.001 0.009 11.13z","M264.887 252.91l127.724 126.958c10.781 10.714 10.781 27.853 0 38.567-10.779 10.714-28.020 10.714-38.798 0l-80.843-80.905v191.245c0 64.285-52.821 116.789-117.496 116.789h-127.978c-15.095 0-27.495-12.326-27.495-27.33s12.4-27.33 27.495-27.33h127.978c35.032 0 63.051-28.398 63.051-62.673v-190.702l-81.915 80.903c-10.779 10.714-28.021 10.714-38.8 0-5.39-5.356-8.084-12.326-8.084-19.293 0-6.97 2.695-13.938 8.084-19.296l127.726-126.956c11.326-10.694 28.572-10.692 39.351 0.022z"],"width":1336,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["return-box"],"defaultCode":59664,"grid":16},"attrs":[],"properties":{"order":170,"name":"return-box","prevSize":32,"id":161,"code":59664},"setIdx":0,"setId":6,"iconIdx":169},{"icon":{"paths":["M103.69 0c-57.012 0-103.69 46.292-103.69 102.832v691.776c0 56.539 46.678 102.831 103.69 102.831h12.327v92.046c-0.090 6.156 2.311 12.090 6.662 16.494 4.396 4.36 10.333 6.832 16.542 6.832s12.146-2.472 16.542-6.832c4.351-4.406 6.753-10.338 6.662-16.494v-92.046h580.083v92.046c-0.090 6.156 2.312 12.090 6.663 16.494 4.396 4.36 10.33 6.832 16.541 6.832 6.208 0 12.145-2.472 16.541-6.832 4.351-4.406 6.751-10.338 6.661-16.494v-92.046h12.328c57.011 0 103.688-46.292 103.688-102.831v-360.867c0.090-6.156-2.31-12.090-6.661-16.494-4.396-4.36-10.333-6.832-16.541-6.832-6.211 0-12.147 2.472-16.541 6.832-4.351 4.403-6.754 10.338-6.663 16.494v360.867c0 31.863-25.152 56.808-57.282 56.808h-697.551c-32.131 0-57.283-24.945-57.283-56.808v-691.776c0-31.865 25.152-56.809 57.283-56.809h697.551c32.13 0 57.282 24.944 57.282 56.809-0.090 6.157 2.312 12.090 6.663 16.494 4.394 4.359 10.33 6.831 16.541 6.831 6.208 0 12.145-2.472 16.541-6.831 4.351-4.405 6.751-10.337 6.661-16.494 0-56.54-46.678-102.832-103.688-102.832h-697.552zM452.458 195.595c-140.671 0-255.237 113.619-255.237 253.124s114.566 253.123 255.237 253.123c132.875 0 242.417-101.302 254.145-230.112h82.301c6.208 0.090 12.19-2.293 16.632-6.606 4.396-4.36 6.889-10.247 6.889-16.405s-2.493-12.045-6.889-16.405c-4.441-4.315-10.423-6.696-16.632-6.606h-82.301c-11.736-128.805-121.27-230.113-254.145-230.113v0zM452.458 241.619c107.725 0 195.87 80.36 207.379 184.089h-33.354c-0.726-0.045-1.45-0.045-2.177 0-6.163 0.269-11.962 2.967-16.086 7.506-4.17 4.494-6.301 10.471-6.027 16.584 0.271 6.113 2.991 11.864 7.568 15.955 4.532 4.134 10.559 6.246 16.722 5.977h33.354c-11.509 103.729-99.654 184.089-207.379 184.089-115.607 0-208.829-92.451-208.829-207.1 0-114.652 93.222-207.1 208.829-207.1v0z","M857.302 95.256h47.628v190.512h-47.628v-190.512z","M833.488 381.023h119.070v547.721h-119.070v-547.721z","M1140.074 746.175h-19.325l-6.849-6.606c23.974-27.886 38.405-64.090 38.405-103.472 0-87.819-71.185-159.003-159.001-159.003-87.819 0-159.001 71.185-159.001 159.003 0 87.816 71.182 159.001 159.001 159.001 39.384 0 75.585-14.434 103.474-38.405l6.604 6.849v19.325l122.308 122.063 36.447-36.447-122.063-122.308zM993.304 746.175c-60.909 0-110.078-49.169-110.078-110.078 0-60.911 49.169-110.080 110.078-110.080 60.911 0 110.078 49.169 110.078 110.080 0 60.909-49.166 110.078-110.078 110.078z"],"width":1262,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["safe-search"],"defaultCode":59666,"grid":16},"attrs":[],"properties":{"order":171,"name":"safe-search","prevSize":32,"codes":[59666,59667,59668,59669],"id":162,"code":59666},"setIdx":0,"setId":6,"iconIdx":170},{"icon":{"paths":["M357.209 72.345c-199.139 13.647-357.209 180.228-357.209 382.745 0 211.404 172.244 383.65 383.652 383.65 91.412 0 175.387-32.299 241.428-85.992l259.622 259.624c15.508 15.505 40.722 15.505 56.227 0 15.505-15.503 15.505-40.307 0-55.81l-259.622-259.624c29.96-36.778 53.215-79.212 67.948-125.402h-84.261c-45.558 110.442-154.117 187.828-281.343 187.828-168.518 0-304.274-135.759-304.274-304.273 0-159.603 121.779-289.824 277.831-303.149v-79.596z","M937.241 147.511c-7.416 0-12.367 4.95-12.367 12.365v210.022c0 16.051-12.364 29.658-28.412 29.658h-387.925c-16.051 0-28.415-13.586-28.415-29.658l0.021-21.023h46.952c7.413 0 12.364-4.949 12.364-12.364 0-7.413-4.951-12.364-12.364-12.364h-46.952v-98.831h46.952c7.413 0 12.364-4.95 12.364-12.365s-4.951-12.365-12.364-12.365h-46.952v-98.831h46.952c7.413 0 12.364-4.95 12.364-12.365s-4.951-12.365-12.364-12.365h-46.952v-19.757c0-16.050 12.364-29.658 28.415-29.658h387.925c16.051 0 28.415 13.586 28.415 29.658 0 7.414 4.951 12.365 12.364 12.365 7.416 0 12.364-4.95 12.364-12.365 0-29.658-23.464-54.365-53.122-54.365h-387.925c-29.658 0-53.122 24.707-53.122 54.365v311.313c0 29.658 23.464 54.365 53.122 54.365h12.367v37.071c0 19.758 16.048 37.074 37.071 37.074h45.706c19.758 0 37.074-16.051 37.074-37.074v-37.071h123.533v37.071c0 19.758 16.051 37.074 37.074 37.074h45.706c19.756 0 37.071-16.051 37.071-37.074v-37.071h12.364c29.658 0 53.124-24.707 53.124-54.365v-210.021c-0.090-6.127-5.018-11.055-12.433-11.055l0.005 0.006zM616.024 460.069c0 6.17-4.951 12.364-12.364 12.364h-45.709c-6.17 0-12.364-4.951-12.364-12.364v-37.071h70.415l0.021 37.071zM859.415 460.069c0 6.17-4.951 12.364-12.367 12.364h-45.706c-6.173 0-12.364-4.951-12.364-12.364v-37.071h70.415l0.021 37.071z","M937.241 147.511v2.381h3.972l-1.872-3.504-2.1 1.123zM480.123 369.897v0zM480.144 348.874v-2.381h-2.379l-0.002 2.379 2.381 0.002zM480.144 324.146h-2.381v2.381h2.381v-2.381zM480.144 225.315v-2.381h-2.381v2.381h2.381zM480.144 200.585h-2.381v2.381h2.381v-2.381zM480.144 101.754v-2.381h-2.381v2.381h2.381zM480.144 77.025h-2.381v2.381h2.381v-2.381zM520.947 422.945h2.381v-2.381h-2.381v2.381zM640.798 422.945v-2.381h-2.381v2.381h2.381zM764.33 422.945h2.381v-2.381h-2.381v2.381zM884.181 422.945v-2.381h-2.381v2.381h2.381zM949.67 158.559h2.381l-0.002-0.035-2.379 0.035zM937.236 147.504v-2.381h-3.972l1.872 3.504 2.1-1.123zM616.024 460.069v0zM545.587 422.998v-2.381h-2.381v2.381h2.381zM616.003 422.998l2.381-0.002v-2.379h-2.381v2.381zM859.415 460.069v0zM788.978 422.998v-2.381h-2.381v2.381h2.381zM859.393 422.998l2.381-0.002-0.002-2.379h-2.379v2.381zM937.241 145.129c-4.251 0-7.978 1.429-10.647 4.099s-4.098 6.397-4.098 10.647h4.76c0-3.165 1.048-5.621 2.705-7.279 1.66-1.658 4.115-2.704 7.28-2.704v-4.763zM922.495 159.875v210.022h4.76v-210.022h-4.76zM922.495 369.897c0 14.869-11.431 27.277-26.033 27.277v4.763c17.494 0 30.794-14.81 30.794-32.039h-4.76zM896.462 397.174h-387.925v4.763h387.925v-4.763zM508.537 397.174c-14.605 0-26.033-12.386-26.033-27.277h-4.763c0 17.253 13.3 32.039 30.796 32.039v-4.763zM482.504 369.9l0.021-21.023-4.763-0.005-0.021 21.023 4.763 0.005zM480.144 351.256h46.952v-4.763h-46.952v4.763zM527.096 351.256c4.248 0 7.975-1.429 10.645-4.098 2.672-2.672 4.101-6.399 4.101-10.647h-4.763c0 3.165-1.045 5.62-2.705 7.28-1.657 1.657-4.113 2.703-7.278 2.703v4.763zM541.841 336.51c0-4.248-1.429-7.975-4.101-10.647-2.67-2.67-6.396-4.098-10.645-4.098v4.763c3.165 0 5.62 1.045 7.278 2.703 1.66 1.66 2.705 4.115 2.705 7.28h4.763zM527.096 321.765h-46.952v4.763h46.952v-4.763zM482.525 324.146v-98.831h-4.763v98.831h4.763zM480.144 227.696h46.952v-4.763h-46.952v4.763zM527.096 227.696c4.248 0 7.975-1.429 10.645-4.1 2.672-2.67 4.101-6.397 4.101-10.647h-4.763c0 3.165-1.045 5.621-2.705 7.279-1.657 1.658-4.113 2.705-7.278 2.705v4.763zM541.841 212.95c0-4.249-1.429-7.976-4.101-10.647-2.67-2.67-6.396-4.099-10.645-4.099v4.763c3.165 0 5.62 1.046 7.278 2.704 1.66 1.658 2.705 4.114 2.705 7.279h4.763zM527.096 198.204h-46.952v4.763h46.952v-4.763zM482.525 200.585v-98.831h-4.763v98.831h4.763zM480.144 104.136h46.952v-4.763h-46.952v4.763zM527.096 104.136c4.248 0 7.975-1.429 10.645-4.099 2.672-2.671 4.101-6.398 4.101-10.647h-4.763c0 3.165-1.045 5.621-2.705 7.279-1.657 1.658-4.113 2.705-7.278 2.705v4.763zM541.841 89.389c0-4.249-1.429-7.976-4.101-10.647-2.67-2.671-6.396-4.1-10.645-4.1v4.763c3.165 0 5.62 1.046 7.278 2.705 1.66 1.658 2.705 4.114 2.705 7.279h4.763zM527.096 74.643h-46.952v4.763h46.952v-4.763zM482.525 77.025v-19.757h-4.763v19.757h4.763zM482.525 57.268c0-14.869 11.431-27.277 26.033-27.277v-4.763c-17.496 0-30.796 14.809-30.796 32.039h4.763zM508.559 29.991h387.925v-4.763h-387.925v4.763zM896.483 29.991c14.605 0 26.033 12.386 26.033 27.277h4.763c0-17.254-13.302-32.039-30.796-32.039v4.763zM922.517 57.268c0 4.249 1.429 7.976 4.098 10.647 2.672 2.67 6.399 4.099 10.647 4.099v-4.763c-3.165 0-5.62-1.046-7.28-2.705-1.657-1.658-2.703-4.114-2.703-7.279h-4.763zM937.262 72.014c4.248 0 7.975-1.429 10.647-4.099 2.67-2.671 4.098-6.398 4.098-10.647h-4.763c0 3.165-1.045 5.621-2.703 7.279-1.66 1.658-4.115 2.704-7.28 2.704v4.763zM952.008 57.268c0-30.901-24.459-56.746-55.503-56.746v4.763c28.272 0 50.74 23.568 50.74 51.983h4.763zM896.505 0.521h-387.925v4.763h387.925v-4.763zM508.58 0.521c-31.044 0-55.503 25.846-55.503 56.746h4.763c0-28.414 22.471-51.983 50.74-51.983v-4.763zM453.077 57.268v311.313h4.763v-311.313h-4.763zM453.077 368.58c0 30.901 24.459 56.746 55.503 56.746v-4.763c-28.27 0-50.74-23.569-50.74-51.983h-4.763zM508.58 425.327h12.367v-4.763h-12.367v4.763zM518.566 422.945v37.071h4.763v-37.071h-4.763zM518.566 460.017c0 21.021 17.063 39.455 39.453 39.455v-4.763c-19.654 0-34.69-16.196-34.69-34.692h-4.763zM558.018 499.471h45.706v-4.763h-45.706v4.763zM603.724 499.471c21.021 0 39.455-17.065 39.455-39.455h-4.763c0 19.656-16.196 34.692-34.692 34.692v4.763zM643.179 460.017v-37.071h-4.763v37.071h4.763zM640.798 425.327h123.533v-4.763h-123.533v4.763zM761.949 422.945v37.071h4.763v-37.071h-4.763zM761.949 460.017c0 21.021 17.065 39.455 39.455 39.455v-4.763c-19.656 0-34.692-16.196-34.692-34.692h-4.763zM801.404 499.471h45.706v-4.763h-45.706v4.763zM847.11 499.471c21.018 0 39.453-17.065 39.453-39.455h-4.763c0 19.656-16.196 34.692-34.69 34.692v4.763zM886.563 460.017v-37.071h-4.763v37.071h4.763zM884.181 425.327h12.364v-4.763h-12.364v4.763zM896.545 425.327c31.046 0 55.506-25.845 55.506-56.746h-4.763c0 28.415-22.471 51.983-50.743 51.983v4.763zM952.051 368.58v-210.021h-4.763v210.021h4.763zM952.049 158.524c-0.11-7.577-6.249-13.402-14.812-13.402v4.763c6.268 0 9.983 4.032 10.052 8.708l4.76-0.069zM935.136 148.627l0.005 0.006 4.201-2.246-0.005-0.006-4.201 2.246zM613.643 460.069c0 5.013-4.036 9.983-9.983 9.983v4.763c8.883 0 14.746-7.418 14.746-14.746h-4.763zM603.66 470.052h-45.709v4.763h45.709v-4.763zM557.951 470.052c-5.013 0-9.983-4.036-9.983-9.983h-4.763c0 8.883 7.418 14.746 14.746 14.746v-4.763zM547.969 460.069v-37.071h-4.763v37.071h4.763zM545.587 425.379h70.415v-4.763h-70.415v4.763zM613.621 422.998l0.021 37.071 4.763-0.002-0.021-37.071-4.763 0.002zM857.033 460.069c0 5.013-4.039 9.983-9.985 9.983v4.763c8.883 0 14.748-7.418 14.748-14.746h-4.763zM847.048 470.052h-45.706v4.763h45.706v-4.763zM801.342 470.052c-5.015 0-9.983-4.036-9.983-9.983h-4.763c0 8.883 7.418 14.746 14.746 14.746v-4.763zM791.359 460.069v-37.071h-4.763v37.071h4.763zM788.978 425.379h70.415v-4.763h-70.415v4.763zM857.012 422.998l0.021 37.071 4.763-0.002-0.021-37.071-4.763 0.002z","M702.512 126.512c-48.173 0-86.488 38.293-86.488 86.488 0 48.173 38.293 86.487 86.488 86.487 48.171 0 86.488-38.293 86.488-86.487 0-7.414-4.951-12.365-12.364-12.365-7.416 0-12.367 4.95-12.367 12.365 0 34.584-27.169 61.777-61.778 61.777-34.585 0-61.778-27.169-61.778-61.777 0-34.585 27.172-61.778 61.778-61.778 7.416 0 12.364-4.95 12.364-12.365 0.024-7.414-4.927-12.343-12.343-12.343v-0.002z","M693.858 221.632c2.462 2.464 6.17 3.707 8.656 3.707 2.465 0 6.17-1.243 8.656-3.707l51.879-51.878c4.951-4.95 4.951-12.365 0-17.293-4.949-4.95-12.364-4.95-17.291 0l-51.879 51.878c-4.951 4.928-4.951 12.343-0.024 17.293h0.002z"],"width":953,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["search-safe"],"defaultCode":59670,"grid":16},"attrs":[],"properties":{"order":172,"name":"search-safe","prevSize":32,"codes":[59670,59671,59672,59673,59674],"id":163,"code":59670},"setIdx":0,"setId":6,"iconIdx":171},{"icon":{"paths":["M969.779 988.585c-48.67-158.195-176.331-276.393-341.852-317.165-28.969-32.341-38.916-53.513-42.214-63.708 15.477-24.245 65.214-104.489 95.979-179.226h9.365c49.25 0 85.109-28.587 85.109-78.048 0-15.317-4.561-28.292-11.791-39.317-4.028-154.586-107.43-311.121-278.426-311.121-171.821 0-264.885 148.006-272.548 300.582-12.326 12.73-20.090 29.414-20.090 49.854 0 37.95 21.203 63.462 53.231 73.316 27.511 48.196 85.449 103.804 205.011 111.61 6.065 9.611 16.207 16.292 28.337 16.292 18.923 0 34.257-15.462 34.257-34.438 0-19.023-15.381-34.438-34.257-34.438-11.014 0-20.38 5.609-26.688 13.756-44.107-2.976-77.926-13.171-104.275-26.829-21.933-48.975-40.469-99.268-42.605-132.096 56.966-23.17 222.963-93.463 281.431-148.005 0 0 24.555 87.512 79.386 121.562 0.533 6.682 0.873 13.365 0.873 20.049 0 65.414-86.129 211.369-119.319 262.044-2.571 3.951-3.639 8.732-3.008 13.414 2.231 15.853 13.683 49.903 65.022 103.364-4.998 27.025-28.241 108.049-126.257 108.489-98.308-0.489-127.661-81.122-134.891-109.122 1.263-0.292 2.428-0.83 3.785-1.073l-0.58-2.438c58.323-61.903 62.255-94.148 61.818-102.88-0.096-3.121-0.971-6.146-2.522-8.877-4.755-8.292-10.773-19.221-17.468-31.708-18.586-4.587-35.908-10.244-52.407-16.538 14.364 28.439 26.737 51.025 32.706 61.562-2.622 8.489-12.326 30.684-46.679 67.855-164.877 44.877-289.929 163.565-327.629 314.093-1.456 5.805-0.146 12 3.542 16.781 3.639 4.877 9.316 7.659 15.285 7.659h931.795c6.163 0 11.985-2.927 15.625-7.902 3.686-5.026 4.755-11.465 2.959-17.367l-0.009 0.015zM485.958 38.975c146.927 0 221.943 129.661 236.986 240.539-7.036-2.583-14.46-4.341-22.176-5.559-20.572-99.317-94.231-188.779-214.763-188.779-119.174 0-192.156 89.073-212.725 188.192-6.453 0.732-12.762 1.854-18.827 3.561 14.071-108.391 80.646-237.955 231.507-237.955l-0.002 0.002zM45.224 974.822c38.528-117.562 137.511-210.831 267.122-254.052 13.683 53.903 62.11 136.979 171.087 136.979h1.892c0.098 0 0.145-0.049 0.243-0.049 110.731-0.535 153.673-85.122 163.324-139.413 128.591 41.073 228.885 133.807 275.17 256.486l-878.838 0.049z","M863.872 552.164l-10.193 49.312c-1.852 8.992 3.91 17.779 12.887 19.654l51.994 10.79c3.104 0.657 6.34 0.019 8.996-1.724l16.759-10.884c2.487-1.779 4.207-4.459 4.787-7.475l5.312-24.599 14.364 2.923c12.177 2.528 24.090-5.284 26.635-17.463l2.974-14.387 24.595 4.796c3.068 0.58 6.246-0.055 8.866-1.779l16.326-10.793c8.399 4.983 17.395 8.937 26.765 11.746 5.687 1.649 11.561 2.699 17.47 3.13 1.346 3.017 2.767 5.995 4.414 8.919l-81.397 115.974c-2.899 4.083-4.041 9.163-3.162 14.089l8.659 49.743c1.348 7.945 8.192 13.79 16.235 13.865 0.954 0 1.926-0.075 2.863-0.243l52.294-9.35c3.123-0.506 5.911-2.229 7.763-4.796l11.445-16.299c1.796-2.586 2.526-5.771 2.001-8.881l-4.113-24.845 14.364-2.492c12.213-2.155 20.405-13.807 18.291-26.042l-2.487-14.389 24.614-4.796c3.049-0.544 5.779-2.268 7.612-4.798l11.204-16.075c27.904 4.442 56.484-1.086 80.74-15.607 24.241-14.519 42.626-37.133 51.923-63.868 11.465-31.699 8.734-66.812-7.462-96.358-3.162-5.845-10.455-8.036-16.309-4.87-5.837 3.166-8.006 10.492-4.864 16.337 12.962 23.514 15.187 51.484 6.097 76.742-7.742 22.594-23.548 41.536-44.382 53.133-20.836 11.616-45.244 15.083-68.476 9.743-4.751-1.105-9.707 0.804-12.495 4.796l-12.791 18.66-28.299 5.321c-8.175 1.444-13.636 9.237-12.213 17.406l3.74 21.583-21.641 3.654c-8.154 1.423-13.615 9.143-12.269 17.312l4.787 28.779-5.929 8.019-40.211 7.006-6.995-40.282 84.841-120.604c2.805-3.989 2.916-9.274 0.299-13.378-15.505-24.055-19.49-53.771-10.886-81.086 8.587-27.298 28.879-49.348 55.347-60.16 26.464-10.793 56.356-9.237 81.547 4.271l-18.611 23.682c-10.231-3.147-21.303-1.685-30.374 4.011-9.052 5.713-15.168 15.081-16.759 25.666-1.589 10.605 1.498 21.359 8.474 29.472 6.976 8.132 17.133 12.796 27.831 12.796 2.131 0 4.265-0.186 6.377-0.561 12.476-2.061 23.044-10.436 27.906-22.127 4.862-11.71 3.366-25.105-3.966-35.428l35.183-44.853c15.934-20.966 20.256-48.563 11.484-73.408-8.772-24.862-29.44-43.599-54.987-49.873-25.549-6.276-52.54 0.749-71.785 18.718l-15.898 15.249c-39.409-14.987-83.772-8.186-116.896 17.95-33.105 26.135-50.089 67.748-44.757 109.638l-118.319 77.754c-4.19 2.718-7.127 7.025-8.137 11.936h-0.002zM1228.26 497.833c-3.518 4.983-10.063 6.782-15.637 4.309-5.574-2.492-8.623-8.563-7.275-14.519 1.327-5.958 6.677-10.138 12.774-9.986 6.097 0.149 11.241 4.57 12.288 10.603 0.599 3.354-0.188 6.801-2.15 9.594v0zM1184.397 337.007c20.555-19.447 52.593-19.748 73.506-0.713 20.93 19.036 23.697 51.019 6.359 73.37l-2.114 2.679v0.019c-13.372-7.831-28.13-12.966-43.467-15.121-9.632-20.757-24.894-38.389-44.047-50.884l9.762-9.35zM886.859 559.119l123.049-80.86c4.115-2.679 6.191-7.607 5.218-12.422-5.835-29.732 2.637-60.495 22.893-83.019 20.256-22.522 49.903-34.174 80.053-31.458 30.131 2.735 57.231 19.522 73.114 45.303-3.311 0.279-6.603 0.71-9.914 1.293v0.019c-31.87 5.545-60.147 23.774-78.443 50.528-18.274 26.735-25.007 59.748-18.647 91.524-0.766 0-1.628-0.337-2.394-0.58v0.017c-9.613-2.884-18.703-7.249-26.972-12.964-4.019-2.716-9.314-2.716-13.353 0l-18.761 12.235-28.26-5.508c-8.117-1.685-16.085 3.561-17.749 11.691l-4.471 21.641-21.397-4.798c-8.098-1.685-16.028 3.505-17.769 11.618l-6.133 28.439-8.38 5.508-39.913-8.149 8.228-40.058z"],"width":1323,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["support-keys"],"defaultCode":59676,"grid":16},"attrs":[],"properties":{"order":173,"name":"support-keys","prevSize":32,"id":164,"code":59676},"setIdx":0,"setId":6,"iconIdx":172},{"icon":{"paths":["M1014.662 822.66c-0.004-0.004-0.008-0.008-0.012-0.010l-310.644-310.65 310.644-310.65c0.004-0.004 0.008-0.006 0.012-0.010 3.344-3.346 5.762-7.254 7.312-11.416 4.246-11.376 1.824-24.682-7.324-33.83l-146.746-146.746c-9.148-9.146-22.45-11.566-33.828-7.32-4.16 1.55-8.070 3.968-11.418 7.31 0 0.004-0.004 0.006-0.008 0.010l-310.648 310.652-310.648-310.65c-0.004-0.004-0.006-0.006-0.010-0.010-3.346-3.342-7.254-5.76-11.414-7.31-11.38-4.248-24.682-1.826-33.83 7.32l-146.748 146.748c-9.148 9.148-11.568 22.452-7.322 33.828 1.552 4.16 3.97 8.072 7.312 11.416 0.004 0.002 0.006 0.006 0.010 0.010l310.65 310.648-310.65 310.652c-0.002 0.004-0.006 0.006-0.008 0.010-3.342 3.346-5.76 7.254-7.314 11.414-4.248 11.376-1.826 24.682 7.322 33.83l146.748 146.746c9.15 9.148 22.452 11.568 33.83 7.322 4.16-1.552 8.070-3.97 11.416-7.312 0.002-0.004 0.006-0.006 0.010-0.010l310.648-310.65 310.648 310.65c0.004 0.002 0.008 0.006 0.012 0.008 3.348 3.344 7.254 5.762 11.414 7.314 11.378 4.246 24.684 1.826 33.828-7.322l146.746-146.748c9.148-9.148 11.57-22.454 7.324-33.83-1.552-4.16-3.97-8.068-7.314-11.414z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["cross"],"defaultCode":59919,"grid":16},"attrs":[],"properties":{"ligatures":"cross, cancel","name":"cross","order":174,"id":165,"prevSize":32,"code":59919},"setIdx":0,"setId":6,"iconIdx":173},{"icon":{"paths":["M268.19 585.143v-97.524h487.619v97.524h-487.619zM268.19 877.714v-97.524h487.619v97.524h-487.619zM316.952 828.952c0 13.466 10.915 24.381 24.381 24.381s24.381-10.915 24.381-24.381c0-13.466-10.915-24.381-24.381-24.381s-24.381 10.915-24.381 24.381zM365.714 536.381c0-13.466-10.915-24.381-24.381-24.381s-24.381 10.915-24.381 24.381c0 13.466 10.915 24.381 24.381 24.381s24.381-10.915 24.381-24.381zM487.619 560.762h219.429v-48.762h-219.429v48.762zM707.048 707.048h-219.429v-48.762h219.429v48.762zM487.619 853.333h219.429v-48.762h-219.429v48.762zM268.19 731.429h487.619v-97.524h-487.619v97.524zM341.333 658.286c13.466 0 24.381 10.915 24.381 24.381s-10.915 24.381-24.381 24.381c-13.466 0-24.381-10.915-24.381-24.381s10.915-24.381 24.381-24.381z","M512.427 213.123l314.453 244.48 69.12-53.76-384-298.667-384 298.667 69.547 54.187 314.88-244.907z"],"attrs":[{"opacity":0.54},{"opacity":0.54}],"isMulticolor":false,"isMulticolor2":false,"tags":["Group 23"],"grid":16},"attrs":[{"opacity":0.54},{"opacity":0.54}],"properties":{"order":175,"id":166,"name":"archive-room","prevSize":32,"code":59729},"setIdx":0,"setId":6,"iconIdx":174},{"icon":{"paths":["M889.68 166.32c-93.608-102.216-228.154-166.32-377.68-166.32-282.77 0-512 229.23-512 512h96c0-229.75 186.25-416 416-416 123.020 0 233.542 53.418 309.696 138.306l-149.696 149.694h352v-352l-134.32 134.32z","M928 512c0 229.75-186.25 416-416 416-123.020 0-233.542-53.418-309.694-138.306l149.694-149.694h-352v352l134.32-134.32c93.608 102.216 228.154 166.32 377.68 166.32 282.77 0 512-229.23 512-512h-96z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["loop","repeat","player","reload","refresh","update","synchronize","arrows"],"defaultCode":59950,"grid":16},"attrs":[],"properties":{"ligatures":"loop2, repeat2","name":"loop2","order":176,"id":167,"prevSize":32,"code":59950},"setIdx":0,"setId":6,"iconIdx":175},{"icon":{"paths":["M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM512 896c-212.078 0-384-171.922-384-384s171.922-384 384-384c212.078 0 384 171.922 384 384s-171.922 384-384 384zM320 512c0-106.039 85.961-192 192-192s192 85.961 192 192c0 106.039-85.961 192-192 192s-192-85.961-192-192z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["radio-checked","radio-button"],"defaultCode":59988,"grid":16},"attrs":[],"properties":{"ligatures":"radio-checked, radio-button","name":"radio-checked","order":177,"id":168,"prevSize":32,"code":60024},"setIdx":0,"setId":6,"iconIdx":176}],"height":1024,"metadata":{"name":"vitamui-icon"},"preferences":{"showGlyphs":true,"showQuickUse":true,"showQuickUse2":true,"showSVGs":true,"fontPref":{"prefix":"vitamui-icon-","metadata":{"fontFamily":"vitamui-icon","majorVersion":1,"minorVersion":0},"metrics":{"emSize":1024,"baseline":6.25,"whitespace":50},"embed":false,"cssVars":true,"cssVarsFormat":"scss","showSelector":false,"selector":"i","showMetrics":true,"showMetadata":false,"showVersion":true,"includeMetadata":false},"imagePref":{"prefix":"icon-","png":true,"useClassSelector":true,"color":0,"bgColor":16777215,"classSelector":".icon","autoHost":true,"height":32,"columns":16,"margin":16,"name":"icomoon"},"historySize":50,"showCodes":true,"gridSize":16,"quickUsageToken":{"UntitledProject":"YWEwYmQ0N2MxODk4ODNlNGJlN2ZjODY0MjI4YjM5ZjMjMSMxNTI5MzE2ODcxIyMj"},"showGrid":false}} \ No newline at end of file diff --git a/ui/ui-frontend-common/pom.xml b/ui/ui-frontend-common/pom.xml index ed49c8ad7..d0726f6dc 100644 --- a/ui/ui-frontend-common/pom.xml +++ b/ui/ui-frontend-common/pom.xml @@ -87,5 +87,77 @@ </plugin> </plugins> </build> + <profiles> + <profile> + <id>standalone</id> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-resources-plugin</artifactId> + <executions> + <execution> + <id>copy-vitamui-common-configuration-model</id> + <phase>initialize</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <overwrite>true</overwrite> + <outputDirectory>src/app/modules/models/</outputDirectory> + <resources> + <resource> + <directory>../../api/api-pastis/pastis-standalone/src/main/resources/standalone/</directory> + <includes> + <include>app.configuration.interface.ts</include> + </includes> + </resource> + </resources> + </configuration> + </execution> + <execution> + <id>copy-vitamui-common-startup.service.ts</id> + <phase>initialize</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <overwrite>true</overwrite> + <outputDirectory>src/app/modules/</outputDirectory> + <resources> + <resource> + <directory>../../api/api-pastis/pastis-standalone/src/main/resources/standalone/</directory> + <includes> + <include>startup.service.ts</include> + </includes> + </resource> + </resources> + </configuration> + </execution> + <execution> + <id>copy-vitamui-common-theme.service.ts</id> + <phase>initialize</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <overwrite>true</overwrite> + <outputDirectory>src/app/modules/</outputDirectory> + <resources> + <resource> + <directory>../../api/api-pastis/pastis-standalone/src/main/resources/standalone/</directory> + <includes> + <include>theme.service.ts</include> + </includes> + </resource> + </resources> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + </profiles> </project> diff --git a/ui/ui-frontend-common/src/app/modules/application-id.enum.ts b/ui/ui-frontend-common/src/app/modules/application-id.enum.ts index 21612e9a8..c9909b27f 100644 --- a/ui/ui-frontend-common/src/app/modules/application-id.enum.ts +++ b/ui/ui-frontend-common/src/app/modules/application-id.enum.ts @@ -46,6 +46,7 @@ export enum ApplicationId { HIERARCHY_PROFILE_APP = 'HIERARCHY_PROFILE_APP', INGEST_APP = 'INGEST_MANAGEMENT_APP', ARCHIVE_SEARCH_APP = 'ARCHIVE_SEARCH_MANAGEMENT_APP', + PASTIS_APP = 'PASTIS_APP', RULES_APP = 'RULES_APP', HOLDING_FILLING_SCHEME_APP = 'HOLDING_FILLING_SCHEME_APP', LOGBOOK_OPERATION_APP = 'LOGBOOK_OPERATION_APP', diff --git a/ui/ui-frontend-common/src/sass/icons/fonts/vitamui-icon.eot b/ui/ui-frontend-common/src/sass/icons/fonts/vitamui-icon.eot index 3affebbde0fab2c4aa557c1e5c46481582650084..321c3785248dcd2d62e716af87287ed7040a35b1 100644 GIT binary patch delta 2318 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 LWZ`T}BdG9S*2o;% delta 589 zcmX>wll4p&E1QoiBf}JziEL&pj7#03CpvTswlFX->;dA0<lMx9?OfZdCf<>$Kjh&h z&A`A^z`$tLlaZR3qTo`$m4VUb4^W+122g-gjpZ~0qpb;$uac2lQZbjg>j{t_!N9;= zk&~aC=sn?w9|NPq1qKGjeYuGh1&rHSXEHE4O#rG_$V<#k4Gmc{3&`I9ls{CEUtGe# z43uGXDFMkdFtae4POf0=W=xpO!Zg`2Ow2+|ModafLQG6dR7^ySSBzVXO^jLem*`i~ zFQT7C-;2HzeIfc>^r`40(fguzL~n}T5WOUNPISNMZqXe;gBd43WOA7Nfr)doBJ+*w zn^hkjPLhdsTgn*EZ}XLbn+0ek1H;{ivU6bcbQV`ebH;nyZCn|rGj3;gXI#frAD441 z=RvMnu3K(H?vuQ*yn?)Kd57}O<=x7Ak@qd1E&o#iLxDhnT!BwPOhH~jT|r;LoPtvY zw+dbr{3;YFR4X(qbSexgOe&mExUcYB;l08yMGnOqN;pcwO6p41l!}yUl{%D$lxCII zRf$w(Rn4iMRQ;xguVzARL~T!<THUVtx;OP9^=<Ww>i5-uYG`Yi*RY~tQ)6A@fyN7s zFB(5J{%LY(@@iVq+||6IrK#mvt4wQK>$%o{Z5(YqZ9h7NI=#AWx+nF{=v~%V(YLQ( zr@y4XZGzB*2@`Hia+-8vion#oX;RZS&9s{tGxNag6LTibm6+=W3=KvgzQ;P9;RXXM RC~TO3;V8WQz8B*|MgVN+-lzZo diff --git a/ui/ui-frontend-common/src/sass/icons/fonts/vitamui-icon.svg b/ui/ui-frontend-common/src/sass/icons/fonts/vitamui-icon.svg index 34dcb9626..63d92c23a 100644 --- a/ui/ui-frontend-common/src/sass/icons/fonts/vitamui-icon.svg +++ b/ui/ui-frontend-common/src/sass/icons/fonts/vitamui-icon.svg @@ -104,6 +104,18 @@ <glyph unicode="" glyph-name="ic24-user-transfer" d="M772.437 874.566c4.143 0.003 8.107-1.672 10.995-4.64l171.473-171.473v-604.799c-0.055-39.915-32.401-72.265-72.32-72.32h-511.597c-39.918 0.055-72.266 32.405-72.322 72.32v90.074c0 8.499 6.887 15.386 15.382 15.386s15.382-6.886 15.382-15.386v-90.074c0.111-22.903 18.653-41.446 41.557-41.557h516.44c22.903 0.111 41.446 18.654 41.557 41.557v578.674h-109.039c-34.739 0.055-62.886 28.203-62.942 62.941v108.634h-386.016c-22.904-0.111-41.446-18.653-41.557-41.557v-90.074c0-8.495-6.887-15.382-15.382-15.382s-15.382 6.887-15.382 15.382v90.074c0.055 39.918 32.404 72.266 72.322 72.322v-0.101h401.449zM907.298 702.588l-119.526 119.527v-87.351c0.111-17.725 14.451-32.066 32.175-32.177h87.351zM512 468.126c-0.162 4.228-1.92 9.126-4.809 12.203l-94.653 100.57c-6.424 5.754-18.718 8.134-25.882 1.479-7.072-6.563-6.84-19.296 0.185-25.882l66.552-70.624-393.964-0.043c-9.798 0-16.762-7.91-16.762-17.711 0-9.796 6.964-15.812 16.762-15.812l393.964-1.929-66.552-70.626c-6.054-6.080-7.187-19.251-0.185-25.882 6.979-6.635 19.735-4.506 25.882 1.476l94.653 100.574c3.238 3.443 4.809 7.492 4.809 12.207z" /> <glyph unicode="" glyph-name="ic24-limination" d="M133.267 874.667c-26.2 0-48-21.8-48-48v-85.333c-0.134-1.067-0.134-2.133 0-3.2v-546.133c0-9.399 7.667-17.067 17.067-17.067h443.732c6.135-0.068 11.87 3.132 15.002 8.465 3.068 5.333 3.068 11.87 0 17.203-3.132 5.333-8.866 8.533-15.002 8.465h-426.665v512h682.665v-307.2c-0.064-6.135 3.136-11.866 8.469-15.002 5.333-3.063 11.866-3.063 17.199 0 5.333 3.136 8.533 8.866 8.465 15.002v324.267c0.137 1.067 0.137 2.133 0 3.2v85.333c0 26.2-21.798 48-48 48h-654.932zM133.267 840.533h654.932c7.936 0 13.867-5.933 13.867-13.867v-71.467h-682.665v71.467c0 7.933 5.933 13.867 13.867 13.867zM204.733 618.667v-34.133h68.267v34.133h-68.267zM324.2 618.667v-34.133h392.532v34.133h-392.532zM204.733 533.333v-34.133h68.267v34.133h-68.267zM324.2 533.333v-34.133h392.532v34.133h-392.532zM204.733 448v-34.133h68.267v34.133h-68.267zM324.2 448v-34.133h392.532v34.133h-392.532zM204.733 362.667v-34.133h68.267v34.133h-68.267zM324.2 362.667v-34.133h273.065v34.133h-273.065zM767.932 362.667c-94.067 0-170.667-76.599-170.667-170.667s76.599-170.667 170.667-170.667c94.067 0 170.667 76.599 170.667 170.667s-76.599 170.667-170.667 170.667zM767.932 328.533c75.601 0 136.533-60.932 136.533-136.533s-60.932-136.533-136.533-136.533c-75.597 0-136.533 60.932-136.533 136.533s60.937 136.533 136.533 136.533zM706.598 269.333c-0.734-0.132-1.463-0.333-2.133-0.533-6.4-1.135-11.533-5.798-13.333-11.998-1.801-6.268 0.068-12.937 4.8-17.335l47.467-47.467-47.467-47.467c-6.797-6.801-6.797-17.732 0-24.533 6.801-6.801 17.737-6.801 24.533 0l47.467 47.467 47.467-47.467c6.801-6.801 17.737-6.801 24.533 0 6.801 6.801 6.801 17.732 0 24.533l-47.467 47.467 47.467 47.467c5.534 5.133 7.002 13.265 3.669 20.002-3.268 6.797-10.667 10.53-18.069 9.331-3.797-0.401-7.398-2.133-10.133-4.8l-47.467-47.467-47.467 47.467c-3.533 3.802-8.666 5.734-13.867 5.333z" /> <glyph unicode="" glyph-name="ic24-prservation" d="M238.954 832c-11.782 0-21.333-9.551-21.333-21.333v-42.667c0-11.782 9.551-21.333 21.333-21.333s21.333-9.551 21.333-21.333v-9.796c0-28.815 3.479-56.498-16.903-76.88-37.266-37.266-72.718-87.863-72.718-140.567l0.001-341.645c0-74.086 22.646-92.446 96.73-92.446h450.37c74.086 0 97.19 18.359 97.19 92.446l-0.004 341.645c0 52.704-35.904 103.301-73.173 140.567-20.382 20.381-12.156 65.343-12.16 76.88v9.796c0 11.782 9.549 21.333 21.333 21.333 11.78 0 21.333 9.551 21.333 21.333v42.667c0 11.782-9.553 21.333-21.333 21.333h-512.001zM302.954 768c0 11.782 9.551 21.333 21.333 21.333h341.334c11.78 0 21.333-9.551 21.333-21.333v-52.463c0-14.409 0-51.654 0-75.538 0-11.782-9.553-21.332-21.333-21.332h-341.329c-11.782 0-21.334 9.538-21.334 21.32-0.001 30.342-0.004 75.54-0.004 75.55 0 0 0 0 0 0v52.463zM237.427 552.678c3.464 5.891 10.003 9.1 16.837 9.1h476.637c6.835 0 13.376-3.208 16.836-9.1 9.673-16.445 15.070-35.2 15.070-54.588v-341.645c0-25.451-19.593-45.039-45.039-45.039h-450.37c-25.447 0-45.037 19.588-45.037 45.039v341.645c0 19.388 5.397 38.143 15.066 54.588z" /> +<glyph unicode="" glyph-name="alternate_email_black_24dp" d="M512 874.656c-235.52 0-426.656-191.136-426.656-426.656s191.136-426.656 426.656-426.656h213.344v85.344h-213.344c-185.184 0-341.344 156.16-341.344 341.344s156.16 341.344 341.344 341.344 341.344-156.16 341.344-341.344v-61.024c0-33.696-30.304-66.976-64-66.976s-64 33.28-64 66.976v61.024c0 117.76-95.584 213.344-213.344 213.344s-213.344-95.584-213.344-213.344 95.584-213.344 213.344-213.344c58.88 0 112.64 23.904 151.040 62.72 27.744-37.984 75.52-62.72 126.304-62.72 84.064 0 149.344 68.256 149.344 152.32v61.024c0 235.52-191.136 426.656-426.656 426.656zM512 320c-70.816 0-128 57.184-128 128s57.184 128 128 128 128-57.184 128-128-57.184-128-128-128z" /> +<glyph unicode="" glyph-name="arborescence" d="M85.344 874.656c-23.552 0-42.656-19.104-42.656-42.656v-384c0-23.552 19.104-42.656 42.656-42.656h170.656v-234.656c0-11.776 9.536-21.344 21.344-21.344h320v-85.344c0-23.552 19.104-42.656 42.656-42.656h213.344c23.552 0 42.656 19.104 42.656 42.656v85.344h64c11.776 0 21.344 9.568 21.344 21.344s-9.568 21.344-21.344 21.344h-64v85.344c0 23.552-19.104 42.656-42.656 42.656h-213.344c-23.552 0-42.656-19.104-42.656-42.656v-85.344h-298.656v213.344h170.656c23.552 0 42.656 19.104 42.656 42.656v384c0 23.552-19.104 42.656-42.656 42.656h-384zM853.344 277.344v-213.344h-213.344v213.344h213.344zM469.344 448h-384v384h384v-384z" /> +<glyph unicode="" glyph-name="arrows" d="M637.536 552.224l-146.88 146.56-146.88-146.56-45.12 45.12 192 192 192-192-45.12-45.12zM343.776 362.656l146.88-146.56 146.88 146.56 45.12-45.12-192-192-192 192 45.12 45.12z" /> +<glyph unicode="" d="M269.472 421.056v-323.36h53.888v323.36h-53.888z" /> +<glyph unicode="" d="M296.416 151.584c-14.88 0-26.944-12.064-26.944-26.944v0c0-14.88 12.064-26.944 26.944-26.944v0h700.64c14.88 0 26.944 12.064 26.944 26.944v0c0 14.88-12.064 26.944-26.944 26.944v0h-700.64z" /> +<glyph unicode="" d="M592.832 286.272h269.472c14.944 0 26.944-12.032 26.944-26.944v-269.472c0-14.944-12.032-26.944-26.944-26.944h-269.472c-14.944 0-26.944 12.032-26.944 26.944v269.472c0 14.944 12.032 26.944 26.944 26.944z" /> +<glyph unicode="" d="M592.832 313.152c-29.408 0-53.888-24.512-53.888-53.888v-269.472c0-29.408 24.512-53.888 53.888-53.888h269.472c29.408 0 53.888 24.512 53.888 53.888v269.472c0 29.408-24.512 53.888-53.888 53.888h-269.472zM592.832 259.264h269.472v-269.472h-269.472v269.472z" /> +<glyph unicode="" d="M53.888 960c-29.376 0-53.888-24.512-53.888-53.888v-485.056c0-29.408 24.512-53.888 53.888-53.888h485.056c29.408 0 53.888 24.512 53.888 53.888v485.056c0 29.376-24.512 53.888-53.888 53.888h-485.056zM53.888 906.112h485.056v-485.056h-485.056v485.056z" /> +<glyph unicode="" glyph-name="dossier-physique" d="M85.344 832v-725.344c0-23.552 19.104-42.656 42.656-42.656h768c23.552 0 42.656 19.104 42.656 42.656v640c0 23.552-19.104 42.656-42.656 42.656h-528.288c-16.16 0-30.944 9.12-38.176 23.584l-19.072 38.176c-7.232 14.464-22.016 23.584-38.176 23.584h-144.288c-23.552 0-42.656-19.104-42.656-42.656zM128 614.4c0 2.368 1.92 4.256 4.256 4.256h759.456c2.368 0 4.256-1.92 4.256-4.256v-503.456c0-2.368-1.92-4.256-4.256-4.256h-759.456c-2.368 0-4.256 1.92-4.256 4.256v503.456zM132.256 661.344c-2.368 0-4.256 1.92-4.256 4.256v162.144c0 2.368 1.92 4.256 4.256 4.256h140.8c2.368 0 4.8-1.792 5.76-3.936 7.744-16.992 43.552-81.408 62.496-81.408h550.4c2.368 0 4.256-1.92 4.256-4.256v-76.8c0-2.368-1.92-4.256-4.256-4.256h-759.456z" /> +<glyph unicode="" glyph-name="ic24-journal" d="M205.76 857.6h517.024c19.36 0 35.072-15.712 35.072-35.072v-306.72h138.144v-305.824c0-83.36-59.072-152.928-137.632-169.12-11.328-2.336-23.072-3.552-35.072-3.552h-517.568c-19.392 0-35.072 15.712-35.072 35.072v750.176c0 19.392 15.712 35.072 35.072 35.072zM224.896 820.32c-9.696 0-17.536-7.84-17.536-17.536v-710.688c0-9.696 7.84-17.536 17.536-17.536h478.72c9.696 0 17.536 7.84 17.536 17.536v710.688c0 9.696-7.84 17.536-17.536 17.536h-478.72zM516.064 584.16v-34.176h138.144v34.176h-138.144zM654.208 344.896v-34.176h-379.936v34.176h379.936zM826.912 447.424h-34.528v-273.44h34.528v273.44zM654.24 515.776v-34.176h-138.144v34.176h138.144zM274.272 276.544v-34.176h379.936v34.176h-379.936zM654.24 447.424v-34.176h-138.144v34.176h138.144zM274.272 208.16v-34.176h379.936v34.176h-379.936zM758.4 480.704v-403.84c59.008 15.52 102.528 69.216 102.528 133.12v270.752h-102.528zM619.136 719.968v-32.384h-309.792v32.384h309.792zM309.344 755.040h-35.072v-102.528h379.936v102.528h-344.864zM309.344 549.056v-100.736h137.088v100.736h-137.088zM274.272 584.16h207.232v-170.912h-207.232v170.912z" /> +<glyph unicode="" glyph-name="ic24-PUA" d="M298.656 704c-141.376 0-256-114.624-256-256s114.624-256 256-256h426.656c141.376 0 256 114.624 256 256s-114.624 256-256 256h-426.656zM0 448c0 164.96 133.728 298.656 298.656 298.656h426.656c164.96 0 298.656-133.728 298.656-298.656s-133.728-298.656-298.656-298.656h-426.656c-164.96 0-298.656 133.728-298.656 298.656zM260.96 320v85.504h43.84c28.768 0 51.264 6.848 67.488 20.512 16.32 13.792 24.512 32.544 24.512 56.32 0 15.68-3.712 29.6-11.168 41.824-7.456 12.32-18.112 21.824-32 28.512-13.792 6.656-29.792 10.016-48 10.016h-94.656v-242.656h50.016zM305.632 445.984h-44.672v76.16h45.824c12.32-0.224 22.016-4 28.992-11.328s10.496-16.96 10.496-28.832c0-11.552-3.488-20.448-10.496-26.656-6.88-6.24-16.96-9.344-30.176-9.344zM606.432 402.816c0-26.56-8.32-47.552-24.992-63.008-16.544-15.456-39.232-23.168-68-23.168-28.32 0-50.816 7.488-67.488 22.496s-25.184 35.616-25.504 61.824v161.664h50.016v-160.16c0-15.904 3.776-27.488 11.328-34.816 7.68-7.232 18.208-10.816 31.68-10.816 28.096 0 42.4 14.784 42.816 44.32v161.504h50.176v-159.84zM684.576 369.984h87.68l16.832-50.016h53.152l-90.816 242.656h-46.336l-90.336-242.656h53.184l16.672 50.016zM758.72 410.496h-60.672l30.176 90.816 30.496-90.816z" /> +<glyph unicode="" glyph-name="ic40-close" d="M743.136 704c-0.224 0-0.48 0-0.736 0-7.072 0-13.472-2.88-18.112-7.52v0l-460.8-460.8c-4.64-4.64-7.488-11.040-7.488-18.112s2.88-13.472 7.488-18.112v0c4.64-4.64 11.040-7.488 18.112-7.488s13.472 2.88 18.112 7.488l460.8 460.8c4.64 4.64 7.488 11.040 7.488 18.112s-2.88 13.472-7.488 18.112v0c-4.448 4.448-10.56 7.296-17.312 7.488h-0.032zM282.336 704c-0.224 0-0.48 0-0.736 0-7.072 0-13.472-2.88-18.112-7.52v0c-4.64-4.64-7.488-11.040-7.488-18.112s2.88-13.472 7.488-18.112l460.8-460.8c4.64-4.64 11.040-7.488 18.112-7.488s13.472 2.88 18.112 7.488v0c4.64 4.64 7.488 11.040 7.488 18.112s-2.88 13.472-7.488 18.112l-460.8 460.8c-4.448 4.448-10.56 7.296-17.312 7.488h-0.032z" /> <glyph unicode="" glyph-name="cross" d="M1014.662 137.34c-0.004 0.004-0.008 0.008-0.012 0.010l-310.644 310.65 310.644 310.65c0.004 0.004 0.008 0.006 0.012 0.010 3.344 3.346 5.762 7.254 7.312 11.416 4.246 11.376 1.824 24.682-7.324 33.83l-146.746 146.746c-9.148 9.146-22.45 11.566-33.828 7.32-4.16-1.55-8.070-3.968-11.418-7.31 0-0.004-0.004-0.006-0.008-0.010l-310.648-310.652-310.648 310.65c-0.004 0.004-0.006 0.006-0.010 0.010-3.346 3.342-7.254 5.76-11.414 7.31-11.38 4.248-24.682 1.826-33.83-7.32l-146.748-146.748c-9.148-9.148-11.568-22.452-7.322-33.828 1.552-4.16 3.97-8.072 7.312-11.416 0.004-0.002 0.006-0.006 0.010-0.010l310.65-310.648-310.65-310.652c-0.002-0.004-0.006-0.006-0.008-0.010-3.342-3.346-5.76-7.254-7.314-11.414-4.248-11.376-1.826-24.682 7.322-33.83l146.748-146.746c9.15-9.148 22.452-11.568 33.83-7.322 4.16 1.552 8.070 3.97 11.416 7.312 0.002 0.004 0.006 0.006 0.010 0.010l310.648 310.65 310.648-310.65c0.004-0.002 0.008-0.006 0.012-0.008 3.348-3.344 7.254-5.762 11.414-7.314 11.378-4.246 24.684-1.826 33.828 7.322l146.746 146.748c9.148 9.148 11.57 22.454 7.324 33.83-1.552 4.16-3.97 8.068-7.314 11.414z" /> <glyph unicode="" glyph-name="loop2" d="M889.68 793.68c-93.608 102.216-228.154 166.32-377.68 166.32-282.77 0-512-229.23-512-512h96c0 229.75 186.25 416 416 416 123.020 0 233.542-53.418 309.696-138.306l-149.696-149.694h352v352l-134.32-134.32zM928 448c0-229.75-186.25-416-416-416-123.020 0-233.542 53.418-309.694 138.306l149.694 149.694h-352v-352l134.32 134.32c93.608-102.216 228.154-166.32 377.68-166.32 282.77 0 512 229.23 512 512h-96z" /> <glyph unicode="" glyph-name="add" d="M810.667 405.333h-256v-256h-85.333v256h-256v85.333h256v256h85.333v-256h256v-85.333z" /> diff --git a/ui/ui-frontend-common/src/sass/icons/fonts/vitamui-icon.ttf b/ui/ui-frontend-common/src/sass/icons/fonts/vitamui-icon.ttf index 508e979d334c76399fd13e8c6e300c2da02af19c..bc0843a39914de488c722ab177ccc186485e70e7 100644 GIT binary patch delta 2359 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 delta 599 zcmeB}!8)arwVr{Ifq{XWp@D&!!N5OQ--us`qXj6k2Z$4ra}x`;b8W9;U|^I1VxRQH z;sT(!00RS429V}Rp1<l!X^<QFh7TJ>b4CZ;I3)Nf^AwD|*+H_HGDaH_GKW?-~6 z0rFKca!V@aGIu=z@*@}+m@9JflN}SiC;aeZV05?uv|wLuVnqStcGj5;j7}4P8Wi#p zb5lb@*31I(Hvr`i733F}038Zsx|D$A8JJm2Cm!f#OqlG$IN32w%tA~?OiD~bOiWBv zOhk-Vj9ZLNj9K)T=vUD%qMt?Ii@p<mA^KeOspuoo`=WP5Z;IX!y(D^0bie3s(H%fz z87C_;d2G&Lx_Nzb?!&`LGSO~J8RPkFzA|vL04-x+xcg9c4ve1e<HBgpcyD`)3*&Ug z?cQ#T>zL}}a*pLZ$TiD#%WcSgk{6a&khd-GP~N$`TX`??zU8y!e=1-o5Gar<@F|EX z$SbHT=qs30aH`-|!K;E_g(8J&g=U3Lg+YZ$g%b+*6`m`+SNNsKp?E_HM@d*oUCEkK zky5QvhtiPJtkSwFk*ch!In|S@-_-EcOsI{h?Wt3%+f`rpraq*;t$tDczWPrMZ4L7p zRy1sCtZO{bc%kt{<EO?yO%6?7O)Hwanpd<mwLEK;X>Dsg*ZQxGqphdyN2gGySGP^~ zq~005%laz%_Vw%Zm-M$y5SlPy!i`BzlTJ(#n3^|DYWk*`b~9sU9+-V%&ZM~#bKQWU U0ZKmiSf?}GVA#&@#rTsE0H^cYjQ{`u diff --git a/ui/ui-frontend-common/src/sass/icons/fonts/vitamui-icon.woff b/ui/ui-frontend-common/src/sass/icons/fonts/vitamui-icon.woff index 6559244cb20423a20391960cfa581ee767d6335d..dc721a91b1d129757a292301e3c88dac792aa517 100644 GIT binary patch delta 2425 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 delta 657 zcmcaIgY`itt5~_en;Qco0|Nu2%L4{(Fg=BVadIJ(*hC%S`j+I}!~&pP1`zvz@OG~4 zRq2VvKryB*K*bzTERdd4nFbWw!@y|O1Hy+qyreTy6H^!%Z9RZ$%s^PdrG9G$P!K5A z0OYHHFsB;J>5SZx3ZU2$1_tH|5T482^&}@h8K}<BQ3hz~J`nbv@WU@Rv7&&1(diCQ zqXGysZfBjDmzbLh6#D~Ia|nb(L)OeH$S*Dd`sV;l9Ro9v#mr(lnTN5PF=6ry#>tLh zVisaDVp3ufVq#*VVj^O^V%%bEV$7nyM8ArD5&bOsUi6*l3(@DIPemVz-WR<idQ<d< z=q1r}qWeX6i|zoL2MQsV$qh`bo3}FExW0Mk!^253(QZo_<N0mAGH|m1?PFlL`%rcc zjGjKjh0&bx-u4SFjMEvnPj_Qn$5bDeb1dgUu34^IZbR;qys*52ylr`h^3LVm%6pOb zEuSs_QvpMPK!IF=PeDvUUO`<!U%{M$Qw6sQUKRW*6e(0IG%Iu}3@S`2oKU#0@Lb`& z!Y@S*#T!aEO2SI&O4gK$lxmeal!laMmDW{>RAp7osh(8*riQO(LTyBCPn}xbuKKz+ z^&$0b^^5BF)qiSeYna!tqG3~GUE_hq3ym)tKQ;boa%l2uTG8CqyrQM4<yostYg_BN z)_-jrZ9Q#2I)ysDx^22A_0H&B)>qNDuV1IXq`z%~(1ZySZcK8TbYhCY)Vyg@(>Kku rn;A3n!0Z!qCe4+Y>jn%BP*S_cI-TJL11l(On1JCZyuH|q@gXAsDyruo diff --git a/ui/ui-frontend-common/src/sass/icons/vitamui-icons.css b/ui/ui-frontend-common/src/sass/icons/vitamui-icons.css index b8b774054..be025c83d 100644 --- a/ui/ui-frontend-common/src/sass/icons/vitamui-icons.css +++ b/ui/ui-frontend-common/src/sass/icons/vitamui-icons.css @@ -1,10 +1,10 @@ @font-face { font-family: 'vitamui-icon'; - src: url('fonts/vitamui-icon.eot?pn2e13'); - src: url('fonts/vitamui-icon.eot?pn2e13#iefix') format('embedded-opentype'), - url('fonts/vitamui-icon.ttf?pn2e13') format('truetype'), - url('fonts/vitamui-icon.woff?pn2e13') format('woff'), - url('fonts/vitamui-icon.svg?pn2e13#vitamui-icon') format('svg'); + src: url('fonts/vitamui-icon.eot?2sv51f'); + src: url('fonts/vitamui-icon.eot?2sv51f#iefix') format('embedded-opentype'), + url('fonts/vitamui-icon.ttf?2sv51f') format('truetype'), + url('fonts/vitamui-icon.woff?2sv51f') format('woff'), + url('fonts/vitamui-icon.svg?2sv51f#vitamui-icon') format('svg'); font-weight: normal; font-style: normal; font-display: block; @@ -25,6 +25,56 @@ i.vitamui-icon { -moz-osx-font-smoothing: grayscale; } +.vitamui-icon-alternate_email_black_24dp:before { + content: "\e961"; +} +.vitamui-icon-arborescence:before { + content: "\e962"; + color: #757575; +} +.vitamui-icon-arrows:before { + content: "\e963"; +} +.vitamui-icon-complex-element-1-1 .path1:before { + content: "\e964"; + color: rgb(157, 157, 157); +} +.vitamui-icon-complex-element-1-1 .path2:before { + content: "\e965"; + margin-left: -1em; + color: rgb(157, 157, 157); +} +.vitamui-icon-complex-element-1-1 .path3:before { + content: "\e966"; + margin-left: -1em; + color: rgb(255, 255, 255); +} +.vitamui-icon-complex-element-1-1 .path4:before { + content: "\e967"; + margin-left: -1em; + color: rgb(157, 157, 157); +} +.vitamui-icon-complex-element-1-1 .path5:before { + content: "\e968"; + margin-left: -1em; + color: rgb(157, 157, 157); +} +.vitamui-icon-dossier-physique:before { + content: "\e969"; + color: #757575; +} +.vitamui-icon-ic24-journal:before { + content: "\e96a"; + color: #757575; +} +.vitamui-icon-ic24-PUA:before { + content: "\e96b"; + color: #757575; +} +.vitamui-icon-ic40-close:before { + content: "\e96c"; + color: #757575; +} .vitamui-icon-ic24-user-transfer:before { content: "\e95e"; color: #757575; @@ -773,9 +823,6 @@ i.vitamui-icon { .vitamui-icon-support-keys:before { content: "\e91c"; } -.vitamui-icon-bin:before { - content: "\e9ac"; -} .vitamui-icon-cross:before { content: "\ea0f"; } diff --git a/ui/ui-frontend/angular.json b/ui/ui-frontend/angular.json index 9669c1c2a..e78e26a52 100644 --- a/ui/ui-frontend/angular.json +++ b/ui/ui-frontend/angular.json @@ -872,6 +872,287 @@ } } } + }, + "pastis": { + "root": "projects/pastis/", + "sourceRoot": "projects/pastis/src", + "projectType": "application", + "architect": { + "build": { + "builder": "@angular-builders/custom-webpack:browser", + "options": { + "customWebpackConfig": { + "path": "./extra-webpack.config.js", + "preserveSymlinks": true + }, + "outputPath": "dist/pastis", + "index": "projects/pastis/src/index.html", + "main": "projects/pastis/src/main.ts", + "polyfills": "projects/pastis/src/polyfills.ts", + "tsConfig": "projects/pastis/tsconfig.app.json", + "rebaseRootRelativeCssUrls": true, + "assets": [ + "projects/pastis/src/assets", + "projects/pastis/src/favicon.ico", + { + "glob": "**/*", + "input": "node_modules/ui-frontend-common/assets", + "output": "/assets" + } + ], + "styles": [ + "projects/pastis/src/sass/styles.scss" + ], + "stylePreprocessorOptions": { + "includePaths": [ + "projects/commons/src/sass" + ] + }, + "scripts": [] + }, + "configurations": { + "en": { + "aot": true, + "i18nFile": "projects/pastis/src/locale/messages.en.xlf", + "i18nFormat": "xlf", + "i18nLocale": "en", + "i18nMissingTranslation": "warning" + }, + "production": { + "fileReplacements": [ + { + "replace": "projects/pastis/src/environments/environment.ts", + "with": "projects/pastis/src/environments/environment.prod.ts" + } + ], + "optimization": true, + "outputHashing": "all", + "sourceMap": false, + "extractCss": true, + "namedChunks": false, + "extractLicenses": true, + "vendorChunk": false, + "buildOptimizer": true, + "budgets": [ + { + "type": "initial", + "maximumWarning": "14mb", + "maximumError": "14mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "6kb", + "maximumError": "10kb" + } + ] + } + } + }, + "serve": { + "builder": "@angular-builders/custom-webpack:dev-server", + "options": { + "browserTarget": "pastis:build", + "host": "dev.vitamui.com", + "port": 4251 + }, + "configurations": { + "en": { + "browserTarget": "pastis:build:en" + }, + "production": { + "browserTarget": "pastis:build:production" + } + } + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "pastis:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "projects/pastis/src/test.ts", + "polyfills": "projects/pastis/src/polyfills.ts", + "tsConfig": "projects/pastis/tsconfig.spec.json", + "karmaConfig": "projects/pastis/karma.conf.js", + "assets": [ + "projects/pastis/src/favicon.ico", + "projects/pastis/src/assets" + ], + "styles": [ + "projects/pastis/src/styles.scss" + ], + "scripts": [] + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "projects/pastis/tsconfig.app.json", + "projects/pastis/tsconfig.spec.json", + "projects/pastis/e2e/tsconfig.json" + ], + "exclude": [ + "**/node_modules/**" + ] + } + }, + "e2e": { + "builder": "@angular-devkit/build-angular:protractor", + "options": { + "protractorConfig": "projects/pastis/e2e/protractor.conf.js", + "devServerTarget": "pastis:serve" + }, + "configurations": { + "production": { + "devServerTarget": "pastis:serve:production" + } + } + } + } + }, + "pastis-old": { + "root": "projects/pastis-old/", + "sourceRoot": "projects/pastis-old/src", + "projectType": "application", + "architect": { + "build": { + "builder": "@angular-builders/custom-webpack:browser", + "options": { + "customWebpackConfig": { + "path": "./extra-webpack.config.js" + }, + "outputPath": "dist/pastis-old", + "index": "projects/pastis-old/src/index.html", + "main": "projects/pastis-old/src/main.ts", + "polyfills": "projects/pastis-old/src/polyfills.ts", + "tsConfig": "projects/pastis-old/tsconfig.app.json", + "rebaseRootRelativeCssUrls": true, + "assets": [ + "projects/pastis-old/src/assets", + "projects/pastis-old/src/favicon.ico", + { + "glob": "**/*", + "input": "node_modules/ui-frontend-common/assets", + "output": "/assets" + } + ], + "styles": [ + "projects/pastis-old/src/sass/styles.scss" + ], + "stylePreprocessorOptions": { + "includePaths": [ + "projects/commons/src/sass" + ] + }, + "scripts": [] + }, + "configurations": { + "en": { + "aot": true, + "i18nFile": "projects/pastis-old/src/locale/messages.en.xlf", + "i18nFormat": "xlf", + "i18nLocale": "en", + "i18nMissingTranslation": "warning" + }, + "production": { + "fileReplacements": [ + { + "replace": "projects/pastis-old/src/environments/environment.ts", + "with": "projects/pastis-old/src/environments/environment.prod.ts" + } + ], + "optimization": true, + "outputHashing": "all", + "sourceMap": false, + "extractCss": true, + "namedChunks": false, + "extractLicenses": true, + "vendorChunk": false, + "buildOptimizer": true, + "budgets": [ + { + "type": "initial", + "maximumWarning": "14mb", + "maximumError": "14mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "6kb", + "maximumError": "10kb" + } + ] + } + } + }, + "serve": { + "builder": "@angular-builders/custom-webpack:dev-server", + "options": { + "browserTarget": "pastis-old:build", + "host": "dev.vitamui.com", + "port": 4251 + }, + "configurations": { + "en": { + "browserTarget": "pastis-old:build:en" + }, + "production": { + "browserTarget": "pastis-old:build:production" + } + } + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "pastis-old:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "projects/pastis-old/src/test.ts", + "polyfills": "projects/pastis-old/src/polyfills.ts", + "tsConfig": "projects/pastis-old/tsconfig.spec.json", + "karmaConfig": "projects/pastis-old/karma.conf.js", + "assets": [ + "projects/pastis-old/src/favicon.ico", + "projects/pastis-old/src/assets" + ], + "styles": [ + "projects/pastis-old/src/styles.scss" + ], + "scripts": [] + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "projects/pastis-old/tsconfig.app.json", + "projects/pastis-old/tsconfig.spec.json", + "projects/pastis-old/e2e/tsconfig.json" + ], + "exclude": [ + "**/node_modules/**" + ] + } + }, + "e2e": { + "builder": "@angular-devkit/build-angular:protractor", + "options": { + "protractorConfig": "projects/pastis-old/e2e/protractor.conf.js", + "devServerTarget": "pastis-old:serve" + }, + "configurations": { + "production": { + "devServerTarget": "pastis-old:serve:production" + } + } + } + } } }, "defaultProject": "portal", diff --git a/ui/ui-frontend/package.json b/ui/ui-frontend/package.json index 1ffc52ecf..d7bb0a8ea 100644 --- a/ui/ui-frontend/package.json +++ b/ui/ui-frontend/package.json @@ -18,6 +18,7 @@ "json-server": "json-server --watch projects/starter-kit/mock-api/_db.js --config projects/starter-kit/mock-api/config.json --routes projects/starter-kit/mock-api/routes.json ", "mock-starter-kit": "concurrently 'npm run json-server' 'npm run start:starter-kit-mocked-server'", "start:identity": "ng serve identity --proxy-config proxy.conf.json --disable-host-check --ssl --ssl-key $npm_package_pki_path/$npm_package_pki_asset.key --ssl-cert $npm_package_pki_path/$npm_package_pki_asset.crt", + "start:pastis": "ng serve pastis --proxy-config proxy.conf.json --disable-host-check --ssl --ssl-key $npm_package_pki_path/$npm_package_pki_asset.key --ssl-cert $npm_package_pki_path/$npm_package_pki_asset.crt", "start:referential": "ng serve referential --proxy-config proxy.conf.json --disable-host-check --ssl --ssl-key $npm_package_pki_path/$npm_package_pki_asset.key --ssl-cert $npm_package_pki_path/$npm_package_pki_asset.crt", "start:ingest": "ng serve ingest --proxy-config proxy.conf.json --disable-host-check --ssl --ssl-key $npm_package_pki_path/$npm_package_pki_asset.key --ssl-cert $npm_package_pki_path/$npm_package_pki_asset.crt", "start:archive-search": "ng serve archive-search --proxy-config proxy.conf.json --disable-host-check --ssl --ssl-key $npm_package_pki_path/$npm_package_pki_asset.key --ssl-cert $npm_package_pki_path/$npm_package_pki_asset.crt", @@ -34,6 +35,7 @@ "build:ingest": "export NODE_OPTIONS=--max_old_space_size=4096; ng build ingest --prod --i18n-locale fr", "build:archive-search": "export NODE_OPTIONS=--max_old_space_size=4096; ng build archive-search --prod --i18n-locale fr", "build:referential": "export NODE_OPTIONS=--max_old_space_size=4096; ng build referential --prod --i18n-locale fr", + "build:pastis": "export NODE_OPTIONS=--max_old_space_size=4096; ng build pastis --prod --i18n-locale fr", "analyze-portal": "ng build portal --stats-json --prod ; webpack-bundle-analyzer dist/portal/stats-es2015.json", "analyze-identity": "ng build identity --stats-json --prod --i18n-locale fr ; webpack-bundle-analyzer dist/identity/stats-es2015.json", "analyze-referential": "ng build referential --stats-json --prod --i18n-locale fr ; webpack-bundle-analyzer dist/referential/stats-es2015.json", @@ -89,25 +91,38 @@ "@angular/pwa": "^0.803.29", "@angular/router": "10.1.3", "@angular/service-worker": "10.1.3", + "@babel/compat-data": "^7.8.0", "@ngx-translate/core": "^12.1.2", "@ngx-translate/http-loader": "^6.0.0", + "@types/d3": "^3.5.43", "@types/uuid": "^7.0.0", "angular-svg-icon": "^11.2.0", + "autoprefixer": "^9.7.5", "bootstrap": "^4.5.0", "bufferutil": "^4.0.1", "classlist.js": "^1.1.20150312", "core-js": "^2.6.11", + "d3": "^3.5.17", + "d3-svg-legend": "^1.13.0", "flag-icon-css": "^3.5.0", + "generate-schema": "^2.6.0", "hammerjs": "^2.0.8", "jquery": "^3.5.1", "lodash": "^4.17.15", "material-design-icons": "^3.0.1", + "ng2-date-picker": "^8.0.0", + "ng2-file-upload": "^1.4.0", + "ng2-nvd3": "^2.0.0", "ngx-color-picker": "^9.0.0", "ngx-filesize": "^2.0.2", "ngx-quicklink": "^0.2.1", + "ngx-toastr": "^11.3.3", "ngx-translate-multi-http-loader": "^3.0.0", + "ngx-ui-loader": "^10.0.0", "popper.js": "^1.16.1", + "remove": "^0.1.5", "rxjs": "^6.5.5", + "serialize-javascript": "^5.0.1", "tslib": "^2.0.3", "ui-frontend-common": "file:../ui-frontend-common/ui-frontend-common-2.1.30.tgz", "underscore": "^1.13.1", @@ -155,4 +170,4 @@ "typescript": "~4.0.5", "webpack-bundle-analyzer": "^3.8.0" } -} \ No newline at end of file +} diff --git a/ui/ui-frontend/pom.xml b/ui/ui-frontend/pom.xml index f4bd42da0..6d25e74a7 100644 --- a/ui/ui-frontend/pom.xml +++ b/ui/ui-frontend/pom.xml @@ -142,5 +142,59 @@ </plugin> </plugins> </build> + <profiles> + <profile> + <id>standalone</id> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-resources-plugin</artifactId> + <version>2.4</version> + <executions> + <execution> + <id>copy-pastis-standalone-angular.json</id> + <phase>initialize</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <overwrite>true</overwrite> + <outputDirectory>.</outputDirectory> + <resources> + <resource> + <directory>../../api/api-pastis/pastis-standalone/src/main/resources/standalone/</directory> + <includes> + <include>angular.json</include> + </includes> + </resource> + </resources> + </configuration> + </execution> + <execution> + <id>copy-resources-package.json</id> + <phase>initialize</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>.</outputDirectory> + <overwrite>true</overwrite> + <resources> + <resource> + <directory>../../api/api-pastis/pastis-standalone/src/main/resources/standalone/</directory> + <includes> + <include>package.json</include> + </includes> + </resource> + </resources> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + </profiles> </project> diff --git a/ui/ui-frontend/projects/pastis/browserslist b/ui/ui-frontend/projects/pastis/browserslist new file mode 100644 index 000000000..80848532e --- /dev/null +++ b/ui/ui-frontend/projects/pastis/browserslist @@ -0,0 +1,12 @@ +# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. +# For additional information regarding the format and rule options, please see: +# https://github.com/browserslist/browserslist#queries + +# You can see what browsers were selected by your queries by running: +# npx browserslist + +> 0.5% +last 2 versions +Firefox ESR +not dead +not IE 9-11 # For IE 9-11 support, remove 'not'. \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/protractor.conf.js b/ui/ui-frontend/projects/pastis/e2e/protractor.conf.js new file mode 100644 index 000000000..7c798cfff --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/protractor.conf.js @@ -0,0 +1,32 @@ +// @ts-check +// Protractor configuration file, see link for more information +// https://github.com/angular/protractor/blob/master/lib/config.ts + +const { SpecReporter } = require('jasmine-spec-reporter'); + +/** + * @type { import("protractor").Config } + */ +exports.config = { + allScriptsTimeout: 11000, + specs: [ + './src/**/*.e2e-spec.ts' + ], + capabilities: { + browserName: 'chrome' + }, + directConnect: true, + baseUrl: 'http://localhost:4200/', + framework: 'jasmine', + jasmineNodeOpts: { + showColors: true, + defaultTimeoutInterval: 30000, + print: function() {} + }, + onPrepare() { + require('ts-node').register({ + project: require('path').join(__dirname, './tsconfig.json') + }); + jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); + } +}; \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/src/app.e2e-spec.ts b/ui/ui-frontend/projects/pastis/e2e/src/app.e2e-spec.ts new file mode 100644 index 000000000..7a5e9d281 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/src/app.e2e-spec.ts @@ -0,0 +1,23 @@ +import { AppPage } from './app.po'; +import { browser, logging } from 'protractor'; + +describe('workspace-project App', () => { + let page: AppPage; + + beforeEach(() => { + page = new AppPage(); + }); + + it('should display welcome message', () => { + page.navigateTo(); + expect(page.getTitleText()).toEqual('archive search app is running!'); + }); + + afterEach(async () => { + // Assert that there are no errors emitted from the browser + const logs = await browser.manage().logs().get(logging.Type.BROWSER); + expect(logs).not.toContain(jasmine.objectContaining({ + level: logging.Level.SEVERE, + } as logging.Entry)); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/e2e/src/app.po.ts b/ui/ui-frontend/projects/pastis/e2e/src/app.po.ts new file mode 100644 index 000000000..b8498c26f --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/src/app.po.ts @@ -0,0 +1,11 @@ +import { browser, by, element } from 'protractor'; + +export class AppPage { + navigateTo() { + return browser.get(browser.baseUrl) as Promise<any>; + } + + getTitleText() { + return element(by.css('app-root .content span')).getText() as Promise<string>; + } +} diff --git a/ui/ui-frontend/projects/pastis/e2e/tsconfig.json b/ui/ui-frontend/projects/pastis/e2e/tsconfig.json new file mode 100644 index 000000000..bc240fbf8 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "../../../out-tsc/e2e", + "module": "commonjs", + "target": "es5", + "types": [ + "jasmine", + "jasminewd2", + "node" + ] + } +} diff --git a/ui/ui-frontend/projects/pastis/karma.conf.ci.js b/ui/ui-frontend/projects/pastis/karma.conf.ci.js new file mode 100644 index 000000000..6f44174de --- /dev/null +++ b/ui/ui-frontend/projects/pastis/karma.conf.ci.js @@ -0,0 +1,14 @@ +var baseConfig = require('../../karma.conf.ci.js'); + +module.exports = function(config){ + // Load base config + baseConfig(config); + + // Override base config dir + config.set({ + coverageIstanbulReporter: { + dir: 'target/coverage/pastis-test', + fixWebpackSourcePaths: true + } + }); +}; diff --git a/ui/ui-frontend/projects/pastis/ngsw-config.json b/ui/ui-frontend/projects/pastis/ngsw-config.json new file mode 100644 index 000000000..49c06d51c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/ngsw-config.json @@ -0,0 +1,29 @@ +{ + "$schema": "../../node_modules/@angular/service-worker/config/schema.json", + "index": "/index.html", + "assetGroups": [ + { + "name": "app", + "installMode": "prefetch", + "resources": { + "files": [ + "/*.css", + "/*.js" + ] + } + }, + { + "name": "assets", + "installMode": "lazy", + "updateMode": "prefetch", + "resources": { + "files": [ + "/assets/**", + "!/assets/**/*.json", + "/*.(eot|otf|svg|jpg|ttf|woff|woff2|ani)", + "/*-bg.png" + ] + } + } + ] +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/app-routing.module.ts b/ui/ui-frontend/projects/pastis/src/app/app-routing.module.ts new file mode 100644 index 000000000..f297ae845 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/app-routing.module.ts @@ -0,0 +1,97 @@ +/* + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +import { NgModule } from '@angular/core'; +import { RouterModule, Route } from '@angular/router'; +import { QuicklinkStrategy } from 'ngx-quicklink'; +import { AccountComponent, ActiveTenantGuard, AnalyticsResolver, AppGuard, AuthGuard } from 'ui-frontend-common'; +import { environment } from '../environments/environment'; +import { AppComponent } from './app.component'; + +const standalone: boolean = environment.standalone; +const routes: Route[] = standalone ? +[ + { + path: '', + loadChildren: () => import('./pastis/pastis.module').then((m) => m.PastisModule), + resolve: { userAnalytics: AnalyticsResolver }, + data: { appId: 'PASTIS_APP' }, + }, + { + path: 'pastis', + loadChildren: () => import('./pastis/pastis.module').then((m) => m.PastisModule), + resolve: { userAnalytics: AnalyticsResolver }, + data: { appId: 'PASTIS_APP' }, + }, + + { path: '**', redirectTo: '' }, +] : +[ + { + path: '', + component: AppComponent, + canActivate: [AuthGuard, AppGuard], + resolve: { userAnalytics: AnalyticsResolver }, + data: { appId: 'PORTAL_APP' }, + }, + { + path: 'account', + component: AccountComponent, + canActivate: [AuthGuard, AppGuard], + resolve: { userAnalytics: AnalyticsResolver }, + data: { appId: 'ACCOUNTS_APP' }, + }, + { + path: 'pastis', + loadChildren: () => import('./pastis/pastis.module').then((m) => m.PastisModule), + canActivate: [AuthGuard, AppGuard], + resolve: { userAnalytics: AnalyticsResolver }, + data: { appId: 'PASTIS_APP' }, + }, + + { path: '**', redirectTo: '' }, +]; + +@NgModule({ + imports: [ + RouterModule.forRoot(routes, { + preloadingStrategy: QuicklinkStrategy, + }), + ], + exports: [RouterModule], + providers: [ActiveTenantGuard, AuthGuard], +}) +export class AppRoutingModule {} diff --git a/ui/ui-frontend/projects/pastis/src/app/app.component.html b/ui/ui-frontend/projects/pastis/src/app/app.component.html new file mode 100644 index 000000000..fa6d6c854 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/app.component.html @@ -0,0 +1,10 @@ +<vitamui-common-header *ngIf="!isStandalone && !sedaviewRoute" [hasLangSelection]="true"></vitamui-common-header> +<mat-toolbar *ngIf="isStandalone" class="header" color="primary"></mat-toolbar> +<div *ngIf="isStandalone" class="separator"></div> +<vitamui-common-body> + <router-outlet></router-outlet> +</vitamui-common-body> + +<vitamui-common-footer *ngIf="!isStandalone"></vitamui-common-footer> + +<vitamui-common-subrogation-banner *ngIf="!isStandalone"></vitamui-common-subrogation-banner> diff --git a/ui/ui-frontend/projects/pastis/src/app/app.component.scss b/ui/ui-frontend/projects/pastis/src/app/app.component.scss new file mode 100644 index 000000000..30cd93366 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/app.component.scss @@ -0,0 +1,17 @@ +@import '~ui-frontend-common/sass/mixins/elevation'; + +mat-toolbar { + @include elevation-4-primary; + z-index: 10; +} + +.header { + background-color: var(--vitamui-primary); + height: 72px; + position: fixed; + top: 0; + display: flex; +} +.separator{ + margin-top: 100px; +} diff --git a/ui/ui-frontend/projects/pastis/src/app/app.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/app.component.spec.ts new file mode 100644 index 000000000..1491f230b --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/app.component.spec.ts @@ -0,0 +1,91 @@ +/* + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +import { TestBed, async } from '@angular/core/testing'; +import { AppComponent } from './app.component'; +import { Router } from '@angular/router'; +import { AuthService, StartupService } from 'ui-frontend-common'; +import { of } from 'rxjs'; +import { MatSidenavModule } from '@angular/material/sidenav'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { Component } from '@angular/core'; + + +@Component({ selector: 'router-outlet', template: '' }) +class RouterOutletStubComponent {} + +@Component({ selector: 'vitamui-common-subrogation-banner', template: '' }) +class SubrogationBannerStubComponent {} + +describe('AppComponent', () => { + + + beforeEach(async(() => { + const startupServiceStub = { configurationLoaded: () => true, printConfiguration: () => {} }; + TestBed.configureTestingModule({ + imports: [ + MatSidenavModule, + NoopAnimationsModule, + ], + declarations: [ + AppComponent, + SubrogationBannerStubComponent, + RouterOutletStubComponent, + ], + providers: [ + { provide: StartupService, useValue: startupServiceStub }, + { provide: AuthService, useValue: { userLoaded: of(null) } }, + { provide: Router, useValue: { navigate: () => {} } }, + ] + }).compileComponents(); + })); + + it('should create the app', async(() => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.debugElement.componentInstance; + console.log('Create App: ', app); + expect(app).toBeTruthy(); + })); + + it(`should have as title 'Archive Search Application'`, async(() => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.debugElement.componentInstance; + console.log('Title App: ', app); + expect(app.title).toEqual('Archive Search Application'); + })); + + +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/app.component.ts b/ui/ui-frontend/projects/pastis/src/app/app.component.ts new file mode 100644 index 000000000..1247acd9b --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/app.component.ts @@ -0,0 +1,77 @@ +/* + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +import { Component, OnDestroy, OnInit } from '@angular/core'; +import { NavigationEnd, Router } from '@angular/router'; +import { Subscription } from 'rxjs'; +import { environment } from '../environments/environment'; +import { SedaVisualizerService } from './seda-visualizer.service'; + +@Component({ + selector: 'app-root', + templateUrl: './app.component.html', + styleUrls: ['./app.component.scss'] +}) +export class AppComponent implements OnInit, OnDestroy { + + title = 'Pastis Application'; + subrogating = false; + isStandalone: boolean = environment.standalone; + public sedaviewRoute: boolean; + mySubscription: Subscription =this.router.events.subscribe((event) => { + if (event instanceof NavigationEnd) { + // Trick the Router into believing it's last link wasn't previously loaded + this.router.navigated = false; + this.sedaVisualizerService.sedaviewRoute.subscribe(value => { + if(value != null){ + this.sedaviewRoute = value; + } + }) + } + }); + + constructor(private router: Router, private sedaVisualizerService: SedaVisualizerService) { + } + + ngOnInit() { + } + + ngOnDestroy(): void { + if(this.mySubscription){ + this.mySubscription.unsubscribe(); + } + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/app.module.ts b/ui/ui-frontend/projects/pastis/src/app/app.module.ts new file mode 100644 index 000000000..b37f6b7d3 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/app.module.ts @@ -0,0 +1,129 @@ +/* + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +import { registerLocaleData } from '@angular/common'; +import { HttpClient } from '@angular/common/http'; +import { default as localeFr } from '@angular/common/locales/fr'; +import { APP_INITIALIZER, LOCALE_ID, NgModule } from '@angular/core'; +import { BrowserModule, Title } from '@angular/platform-browser'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { ServiceWorkerModule } from '@angular/service-worker'; +import { MissingTranslationHandler, TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { QuicklinkModule } from 'ngx-quicklink'; +// import { VitamUILibraryModule } from 'projects/vitamui-library/src/public-api'; +import { VitamUICommonModule, VitamuiMissingTranslationHandler, WINDOW_LOCATION } from 'ui-frontend-common'; +import { environment } from '../environments/environment'; +import { AppRoutingModule } from './app-routing.module'; +import { AppComponent } from './app.component'; + +import { MatToolbarModule } from '@angular/material/toolbar'; +import { PastisConfiguration } from './core/classes/pastis-configuration'; +import { RegisterIconsService } from './core/services/register-icons.service'; +import { ToastrModule } from 'ngx-toastr'; +import { InjectorModule } from 'ui-frontend-common'; +import { LoggerModule } from 'ui-frontend-common'; +import { BASE_URL } from 'ui-frontend-common'; +import { ENVIRONMENT } from 'ui-frontend-common'; +import { SedaVisualizerService } from './seda-visualizer.service'; +import { MultiTranslateHttpLoader } from 'ngx-translate-multi-http-loader'; + +export function httpLoaderFactory(httpClient: HttpClient): MultiTranslateHttpLoader { + return new MultiTranslateHttpLoader(httpClient, [ + { prefix: './assets/shared-i18n/', suffix: '.json' }, + { prefix: './assets/i18n/', suffix: '.json' }, + ]); +} +registerLocaleData(localeFr, 'fr'); + +@NgModule({ + declarations: [ + AppComponent, + ], + imports: [ + InjectorModule, + LoggerModule.forRoot(), + BrowserAnimationsModule, + BrowserModule, + VitamUICommonModule, + AppRoutingModule, + MatToolbarModule, + // VitamUILibraryModule, + QuicklinkModule, + TranslateModule.forRoot({ + missingTranslationHandler: { provide: MissingTranslationHandler, useClass: VitamuiMissingTranslationHandler }, + defaultLanguage: 'fr', + loader: { + provide: TranslateLoader, + useFactory: httpLoaderFactory, + deps: [HttpClient], + }, + }), + ToastrModule.forRoot({ + positionClass: 'toast-bottom-full-width', + preventDuplicates: false, + timeOut: 3000, + closeButton: false, + easeTime: 0 + }), + ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production }), + ], + providers: [ + SedaVisualizerService, + Title, + { provide: LOCALE_ID, useValue: 'fr' }, + { provide: WINDOW_LOCATION, useValue: window.location }, + PastisConfiguration, + { provide: BASE_URL, useValue: './pastis-api' }, + { provide: ENVIRONMENT, useValue: environment }, + { + provide: APP_INITIALIZER, + useFactory: PastisConfigurationFactory, + deps: [PastisConfiguration], + multi: true + } + ], + exports: [SedaVisualizerService], + bootstrap: [AppComponent], +}) +export class AppModule {} + +export function PastisConfigurationFactory(appConfig: PastisConfiguration) { + return () => appConfig.initConfiguration(); +} + +export function PastisIconsFactory(registerIcon: RegisterIconsService) { + return () => registerIcon.registerIcons(); +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/api/api.pastis.service.ts b/ui/ui-frontend/projects/pastis/src/app/core/api/api.pastis.service.ts new file mode 100644 index 000000000..97ca89920 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/api/api.pastis.service.ts @@ -0,0 +1,96 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA stardard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { HttpClient } from '@angular/common/http'; +import { Inject, Injectable } from '@angular/core'; +import { Observable } from 'rxjs'; +import { BASE_URL } from 'ui-frontend-common'; +import { environment } from '../../../environments/environment'; + +@Injectable({ + providedIn: 'root' +}) +export class PastisApiService{ + + baseUrl: string; + + constructor(private http: HttpClient, @Inject(BASE_URL) baseUrl: string) { + if(environment.apiServerUrl != undefined && environment.standalone){ + this.baseUrl = environment.apiServerUrl; + }else{ + this.baseUrl = baseUrl; + } + + } + + getBaseUrl() { + return this.baseUrl; + } + + // Generic GET Method + get<T = any>(path: string, options?: {}): Observable<T> { + console.error("================================ " + this.baseUrl) + console.log('On API service using url : ', `${path}`); + return this.http.get<T>(`${this.baseUrl}${path}`, options); + } + + // Generic GET Method + getLocally<T = any>(path: string): Observable<T> { + console.log('On getLocally using filepath : ', `${path}`); + return this.http.get<T>(`${path}`); + } + + // Generic PUT Method + put<T>(path: string, body: object = {}): Observable<T> { + return this.http.put<T>( + `${this.baseUrl}${path}`, + JSON.stringify(body)); + } + + // Generic POST Method + post<T>(path: string, body?:{}, options?: {}): Observable<T> { + console.log('Body', body, " path : ", `${this.baseUrl}${path}`); + console.log('On api service post with params: ',options); + return this.http.post<T>(`${this.baseUrl}${path}`, body, options); + } + + delete(path: string): Observable<any> { + return this.http.delete( + `${this.baseUrl}${path}`); + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/api/api.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/core/api/api.service.spec.ts new file mode 100644 index 000000000..884e7285d --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/api/api.service.spec.ts @@ -0,0 +1,49 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { TestBed } from '@angular/core/testing'; + +import { PastisApiService } from './api.pastis.service'; + +describe('ApiService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: PastisApiService = TestBed.get(PastisApiService); + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/core/classes/icons.ts b/ui/ui-frontend/projects/pastis/src/app/core/classes/icons.ts new file mode 100644 index 000000000..0e135fc84 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/classes/icons.ts @@ -0,0 +1,58 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +export enum IconsEnum { + 'pastis-close-sidenav' = 'close-sidenav', + 'pastis-close-popup' = 'close-popup', + 'pastis-back-crete-profile' = 'arrow-back', + 'pastis-save' = 'save', + 'pastis-setting' = 'setting', + 'pastis-complex-element' = 'complex-element', + 'pastis-complex-element-white' = 'complex-element-white', + 'pastis-complex-element-white2' = 'complex-element-white2', + 'pastis-plus-blue' = 'plus-blue', + 'pastis-plus-grey' = 'plus-grey', + 'pastis-import-icon' = 'import-icon', + 'chevron-down' = 'chevron-down', + 'inactive-icon' = 'inactive-icon', + 'active-icon' = 'active-icon', + + + + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/classes/models.ts b/ui/ui-frontend/projects/pastis/src/app/core/classes/models.ts new file mode 100644 index 000000000..8764048e9 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/classes/models.ts @@ -0,0 +1,52 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +export interface CardinalityValues { + value: string; + viewValue: string; + } + +export interface MetadataHeaders { + id: number; + nomDuChamp: string; + nomDuChampFr: string; + type: string; + valeurFixe: string; + cardinalite: string[]; + commentaire: string; + enumeration: string[]; + } diff --git a/ui/ui-frontend/projects/pastis/src/app/core/classes/pastis-configuration.ts b/ui/ui-frontend/projects/pastis/src/app/core/classes/pastis-configuration.ts new file mode 100644 index 000000000..b96bcfa2e --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/classes/pastis-configuration.ts @@ -0,0 +1,65 @@ +import {Injectable} from "@angular/core"; +import {PastisApiService} from '../api/api.pastis.service'; +import {RegisterIconsService} from "../services/register-icons.service"; +import {IconsEnum} from "./icons"; +import {environment} from "../../../environments/environment"; + +@Injectable() +export class PastisConfiguration { + routeName: string; + sucessMessage: string; + errorMessage: string; + apiRoutePath: string; + apiPastisUrl: string; + port: number; + pastisEditPage: string; + pastisPathPrefix: string; + pastisNewProfile: string; + getProfileUrl: string; + getAllProfilesUrl: string; + editProfileUrl: string; + sedaUrl: string; + uploadProfileUrl: string; + savePAasFileUrl: string; + savePUAasFileUrl: string; + getFileUrl: string; + updateFileUrl: string; + apiFullPath: string; + getArchivalProfileUnitUrl: string; + getAllArchivalProfileUrl: string; + getProfilePaginatedUrl: string; + getArchivalProfileUnitPaginatedUrl: string; + updateProfileById:string; + updateArchivalProfileUnitById : string; + importProfileInExistingNotice: string; + + + + constructor(private pastisApi: PastisApiService, private iconsService: RegisterIconsService) { + }; + + public initConfiguration(): Promise<any> { + if (environment.apiServerUrl != undefined && environment.standalone) { + return new Promise((r, e) => { + this.pastisApi.getLocally("./assets/config/config-standalone.json").subscribe((content: PastisConfiguration) => { + Object.assign(this, content); + r(this); + }, reason => e(reason)); + }); + } else { + return new Promise((r, e) => { + this.pastisApi.getLocally("./assets/config/config-vitam-ui.json").subscribe((content: PastisConfiguration) => { + Object.assign(this, content); + r(this); + }, reason => e(reason)); + }); + } + }; + + public registerIcons(): Promise<any> { + return new Promise(() => { + this.iconsService.loadIcons(Object.values(IconsEnum), '../assets/svg/icons'); + }); + }; + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/classes/pastis-route-api.ts b/ui/ui-frontend/projects/pastis/src/app/core/classes/pastis-route-api.ts new file mode 100644 index 000000000..eea88cf42 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/classes/pastis-route-api.ts @@ -0,0 +1,76 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import {environment as envProd} from '../../../environments/environment.rec' +import {environment as envDev} from '../../../environments/environment.dev' +import { isDevMode, Injectable } from '@angular/core'; + +@Injectable({ + providedIn: 'root' + }) +export class PastisApiRoute { + + rootApiPath: string; + apiUrls: {}; + apiPathMap : Map<string,string>; + + + constructor() { + this.rootApiPath = isDevMode() ? envDev.apiServerUrl : envProd.apiServerUrl; + this.apiPathMap = new Map(); + + const apiEntryPoints: any = { + 'createprofile' : '/createprofile', + 'updateprofile' : '/updateprofile', + 'getfile' : '/getFile', + 'profilefromfilePath' :'/createprofilefromfile', + 'getSedaFile' :'/assets/seda.json' + + } + for(var entryProint in apiEntryPoints) { + if (apiEntryPoints.hasOwnProperty(entryProint)) { + console.log(entryProint); + this.apiPathMap.set(entryProint+'Path', apiEntryPoints[entryProint]) + } + } + + + } + + + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/core.module.ts b/ui/ui-frontend/projects/pastis/src/app/core/core.module.ts new file mode 100644 index 000000000..b7d2cd9f2 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/core.module.ts @@ -0,0 +1,101 @@ +/* + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +import { CommonModule } from '@angular/common'; +import { HttpClientModule } from '@angular/common/http'; +import { VitamUICommonModule, throwIfAlreadyLoaded } from 'ui-frontend-common'; +import { NgModule, Optional, SkipSelf } from '@angular/core'; +import { NgxUiLoaderConfig, NgxUiLoaderModule } from 'ngx-ui-loader'; +import { PastisMaterialModule } from '../material.module'; +import { SharedModule } from '../shared/shared.module'; +import { PastisSpinnerInterceptor } from '../shared/pastis-spinner/pastis-spinner-interceptor'; +import { HTTP_INTERCEPTORS } from '@angular/common/http'; + +const ngxUiLoaderConfig: NgxUiLoaderConfig = { + "bgsColor": "red", + "bgsOpacity": 0.5, + "bgsPosition": "bottom-right", + "bgsSize": 60, + "bgsType": "ball-spin-clockwise", + "blur": 5, + "delay": 0, + "fgsColor": "#ffffff", + "fgsPosition": "center-center", + "fgsSize": 60, + "fgsType": "ball-spin-clockwise", + "gap": 24, + "logoPosition": "center-center", + "logoSize": 120, + "logoUrl": "assets/pastis-logo7.png", + "masterLoaderId": "master", + "overlayBorderRadius": "0", + "overlayColor": "rgba(40,40,40,0.8)", + "pbColor": "#604379", + "pbDirection": "ltr", + "pbThickness": 3, + "hasProgressBar": false, + "textColor": "#FFFFFF", + "textPosition": "center-center", + "maxTime": -1, + "minTime": 300 +}; +@NgModule({ + declarations: [], + imports: [ + CommonModule, + HttpClientModule, + VitamUICommonModule, + PastisMaterialModule, + SharedModule, + NgxUiLoaderModule.forRoot(ngxUiLoaderConfig) + ], + + exports: [ + VitamUICommonModule, + NgxUiLoaderModule + ], + providers: [ + PastisSpinnerInterceptor, + { provide: HTTP_INTERCEPTORS, useClass: PastisSpinnerInterceptor,multi: true} + ] +}) +export class CoreModule { + + constructor(@Optional() @SkipSelf() parentModule: CoreModule) { + throwIfAlreadyLoaded(parentModule, 'CoreModule'); + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/archival-profile-unit-api.service.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/archival-profile-unit-api.service.ts new file mode 100644 index 000000000..64e866616 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/archival-profile-unit-api.service.ts @@ -0,0 +1,92 @@ +/* + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +import {HttpClient, HttpHeaders, HttpParams, HttpResponse} from '@angular/common/http'; +import {Inject, Injectable} from '@angular/core'; +import {Observable} from 'rxjs'; +import {map} from 'rxjs/operators'; +import {BASE_URL, BaseHttpClient, PageRequest, PaginatedResponse} from 'ui-frontend-common'; +import {ArchivalProfileUnit} from "../../models/archival-profile-unit"; + +const HTTP_STATUS_OK = 200; + + +@Injectable({ + providedIn: 'root' +}) + +export class ArchivalProfileUnitApiService extends BaseHttpClient<ArchivalProfileUnit> { + + // @ts-ignore + constructor(http: HttpClient, @Inject(BASE_URL) baseUrl: string) { + console.log("passage dans service archival API"); + super(http, baseUrl); + } + + getAllByParams(params: HttpParams, headers?: HttpHeaders) { + return super.getAllByParams(params, headers); + } + + getAllPaginated(pageRequest: PageRequest, embedded?: string, headers?: HttpHeaders): Observable<PaginatedResponse<ArchivalProfileUnit>> { + return super.getAllPaginated(pageRequest, embedded, headers); + } + + getOne(id: string, headers?: HttpHeaders): Observable<ArchivalProfileUnit> { + return super.getOne(id, headers); + } + + updateProfilePua(archivalUnitProfile: ArchivalProfileUnit, headers?: HttpHeaders): Observable<ArchivalProfileUnit> { + return this.http.put<ArchivalProfileUnit>(this.apiUrl + '/archival-profile/' + archivalUnitProfile.identifier, archivalUnitProfile, { headers }); + } + + patch(partialAgency: { id: string, [key: string]: any }, headers?: HttpHeaders) { + return super.patch(partialAgency, headers); + } + + create(archivalUnitProfile: ArchivalProfileUnit, headers?: HttpHeaders): Observable<ArchivalProfileUnit> { + return this.http.post<ArchivalProfileUnit>(this.apiUrl + '/archival-profile/', archivalUnitProfile, { headers }); + } + + check(agency: ArchivalProfileUnit, headers?: HttpHeaders): Observable<boolean> { + return super.getHttp().post<any>(super.getApiUrl() + '/check', agency, {observe: 'response', headers}) + .pipe(map((response: HttpResponse<void>) => response.status === HTTP_STATUS_OK)); + } + + delete(id: string, headers?: HttpHeaders) { + return super.getHttp().delete(super.getApiUrl() + '/' + id, {headers}); + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/archive-profile-api.service.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/archive-profile-api.service.ts new file mode 100644 index 000000000..fd17fd367 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/archive-profile-api.service.ts @@ -0,0 +1,103 @@ +/* + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +import {HttpClient, HttpHeaders, HttpParams, HttpResponse} from '@angular/common/http'; +import {Inject, Injectable} from '@angular/core'; +import {BASE_URL, BaseHttpClient, PageRequest, PaginatedResponse} from 'ui-frontend-common'; +import {Observable} from "rxjs"; +import {map} from "rxjs/operators"; +import {Profile} from '../../models/profile'; +import { PastisConfiguration } from '../classes/pastis-configuration'; + +const HTTP_STATUS_OK = 200; + +@Injectable({ + providedIn: 'root' +}) +export class ArchiveProfileApiService extends BaseHttpClient<Profile> { + + // @ts-ignore + constructor(http: HttpClient, @Inject(BASE_URL) baseUrl: string, private pastisConfig: PastisConfiguration) { + console.log("passage dans service archive API"); + super(http, baseUrl); + } + + getAllByParams(params: HttpParams, headers?: HttpHeaders) { + return super.getAllByParams(params, headers); + } + + + getAllPaginated(pageRequest: PageRequest, embedded?: string, headers?: HttpHeaders): Observable<PaginatedResponse<Profile>> { + return super.getAllPaginated(pageRequest, embedded, headers); + } + + getOne(id: string, headers?: HttpHeaders): Observable<Profile> { + return super.getOne(id, headers); + } + + download(id: string, headers?: HttpHeaders): Observable<Blob> { + console.log("test download" + super.getApiUrl() + '/download/' + id) + return super.getHttp().get(super.getApiUrl() + '/profile/download/' + id, {responseType: 'blob', headers}); + } + + + uploadProfileArchivageFile(id: string, profile: FormData, headers?: HttpHeaders): Observable<any> { + return super.getHttp().put(this.apiUrl + this.pastisConfig.importProfileInExistingNotice + '/' + id, profile, {responseType: 'json', headers}); + } + + updateProfilePa(profile: Profile, headers?: HttpHeaders): Observable<Profile> { + return this.http.put<Profile>(this.apiUrl + '/profile/' + profile.identifier, profile, { headers }); + } + + patch(partialAgency: { id: string, [key: string]: any }, headers?: HttpHeaders) { + return super.patch(partialAgency, headers); + } + + create(profile: Profile, headers?: HttpHeaders): Observable<Profile> { + return this.http.post<Profile>(this.apiUrl + '/profile/', profile, { headers }); + } + + check(agency: Profile, headers?: HttpHeaders): Observable<boolean> { + return super.getHttp().post<any>(super.getApiUrl() + '/check', agency, {observe: 'response', headers}) + .pipe(map((response: HttpResponse<void>) => response.status === HTTP_STATUS_OK)); + } + + delete(id: string, headers?: HttpHeaders) { + return super.getHttp().delete(super.getApiUrl() + '/' + id, {headers}); + } + + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/file.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/file.service.spec.ts new file mode 100644 index 000000000..67b964a3f --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/file.service.spec.ts @@ -0,0 +1,49 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { TestBed } from '@angular/core/testing'; + +import { FileService } from './file.service'; + +describe('FileService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: FileService = TestBed.get(FileService); + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/file.service.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/file.service.ts new file mode 100644 index 000000000..f2adca93b --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/file.service.ts @@ -0,0 +1,406 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import {Injectable, OnDestroy} from '@angular/core'; +import {MatDialog} from '@angular/material/dialog'; +import {BehaviorSubject, ReplaySubject, Subscription} from 'rxjs'; +import {SedaCardinalityConstants, SedaData, SedaElementConstants} from '../../models/seda-data'; +import {FileNode, TypeConstants} from '../../models/file-node'; +import {PastisDialogConfirmComponent} from '../../shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component'; +import {ProfileService} from './profile.service'; +import {SedaService} from './seda.service'; +import {ComponentType} from '@angular/cdk/portal'; +import { ProfileResponse } from '../../models/profile-response'; +import { ProfileDescription } from '../../models/profile-description.model'; +import { PastisDialogData } from '../../shared/pastis-dialog/classes/pastis-dialog-data'; +import { FileTreeMetadataService } from '../../profile/edit-profile/file-tree-metadata/file-tree-metadata.service'; + +@Injectable({ + providedIn: 'root' +}) + +export class FileService implements OnDestroy { + + currentTree = new ReplaySubject<FileNode[]>(); + notice = new BehaviorSubject<ProfileDescription>(null); + nodeChange = new BehaviorSubject<FileNode>(null); + allData = new BehaviorSubject<FileNode[]>([]); + + currentTreeLoaded: boolean = false; + + collectionName = new BehaviorSubject<string>(null); + rootTabMetadataName = new BehaviorSubject<string>(null); + tabRootNode = new BehaviorSubject<FileNode>(null); + + filteredNode = new BehaviorSubject<FileNode>(null); + tabChildrenRulesChange = new BehaviorSubject<string[][]>([]); + + parentNodeMap = new Map<FileNode, FileNode>(); + sedaDataArchiveUnit : SedaData; + + private _profileServiceGetProfileSubscription : Subscription; + + constructor(private profileService: ProfileService, private fileMetadataService: FileTreeMetadataService, + private dialog: MatDialog, private sedaService: SedaService) { } + + /** + * Update the tree with the profile provided + * @param profileResponse profileResponse sent from backend + */ + updateTreeWithProfile(profileResponse: ProfileResponse) { + this.profileService.profileMode = profileResponse.type; + this.profileService.profileName = profileResponse.name; + this.profileService.profileId = profileResponse.id; + + let sedaDataArray: SedaData[] = [this.sedaService.sedaRules[0]]; + this.linkFileNodeToSedaData(null, [profileResponse.profile], sedaDataArray); + this.currentTree.next([profileResponse.profile]); + this.currentTreeLoaded = true; + if(profileResponse.notice){ + this.notice.next(profileResponse.notice); + } + } + + /** + * Get profile from backend with id + * @param id id of profile to get + */ + getProfileAndUpdateTree(element:ProfileDescription){ + this._profileServiceGetProfileSubscription = this.profileService.getProfile(element).subscribe((response) => { + console.error("================================ " + response) + this.updateTreeWithProfile(response); + }); + } + + /** + * Relie chaque FileNode a sa définition Seda + * + * Les nodes correspondant aux ArchivesUnit + * se réfèrent à la définition SEDA de l'ArchiveUnit mère (ils sont récursifs...) + * @param parent + * @param nodes + * @param sedaData + */ + linkFileNodeToSedaData(parent: FileNode, nodes: FileNode[], sedaData: SedaData[]){ + Array.prototype.forEach.call(nodes, (node: FileNode) => { + node.parent = parent; + let nodeName : string = (node.name === 'xml:id') ? 'id' : node.name; + if (nodeName) { + let sedaDataMatch: SedaData; + + // Si le node en cours est une ArchiveUnit, lui même enfant d'une ArchiveUnit... + if (nodeName === 'ArchiveUnit' && this.sedaDataArchiveUnit != undefined) { + // Alors on utilise la définition SEDA de l'ArchiveUnit mère.. + sedaDataMatch = this.sedaDataArchiveUnit; + } else { + // Sinon on recherche la définition SEDA dans l'arbre + sedaDataMatch = sedaData.find(seda => seda.Name === nodeName); + //sedaDataMatch = this.sedaService.getSedaNodeRecursively(sedaData[0],nodeName) + } + if (!sedaDataMatch){ + // Sometimes,the sedaData has no property children, but many siblings (e.g. elements on the same level of the tree) + // In this case, the recursivity must be used on each symbling since the service getSedaNodeRecursively + // expects a tree root element with Children key + for (const element of sedaData) { + let resultRecursity = this.sedaService.getSedaNodeRecursively(element,nodeName); + if (resultRecursity) { + sedaDataMatch = resultRecursity; + break; + } + } + } else { + // Si le node en cours est l'achive ArchiveUnit mère, on la sauvegarde pour l'utiliser pour les ArchivesUnit enfants + if (sedaDataMatch.Name === 'ArchiveUnit' && this.sedaDataArchiveUnit == undefined){ + this.sedaDataArchiveUnit = sedaDataMatch; + // On introduit la récursivité sur les ArchivesUnit + this.sedaDataArchiveUnit.Children.find((c: { Name: string; })=>c.Name=='ArchiveUnit').Children = this.sedaDataArchiveUnit.Children; + } + } + node.sedaData = sedaDataMatch; + if (node.children.length > 0){ + this.linkFileNodeToSedaData(node, node.children,node.sedaData.Children); + } + } + }); + } + + /** + * Update the children of a node, based on given list of nodes + * @param parentNode + * @param newChildrenNodes + */ + updateNodeChildren(parentNode: FileNode, newChildrenNodes:FileNode[]) { + for (let idx in parentNode.children) { + let childFromNewChildren = newChildrenNodes.find(newChild => newChild.id == parentNode.children[idx].id); + if (childFromNewChildren) { + parentNode.children[idx] = childFromNewChildren; + } + } + } + + sendNode(node:FileNode) { + this.nodeChange.next(node); + } + + openPopup(popData: PastisDialogData){ + const dialogConfirmRef = this.dialog.open(PastisDialogConfirmComponent, { + width: popData.width, + height: popData.height, + data: popData, + panelClass: 'pastis-popup-modal-box' + }); + return new Promise((resolve, reject) => { + dialogConfirmRef.afterClosed().subscribe(data => { + resolve(data); + console.log("The confirm dialog was closed with data : ", data); + }, reject) + }); + } + + findChild(nodeName:string,node:FileNode):FileNode { + if (nodeName === node.name) return node; + for (let child of node.children) { + if (child.name === nodeName){ + return child; + } + } + } + + findChildById(nodeId:Number,node:FileNode):FileNode { + if (nodeId === node.id) return node; + for (let child of node.children) { + if (child.id === nodeId){ + return child; + } + } + } + + setCollectionName(collectionName:string){ + this.collectionName.next(collectionName); + } + + setTabRootMetadataName(rootTabMetadataName:string){ + this.rootTabMetadataName.next(rootTabMetadataName); + } + + openDialogWithTemplateRef(templateRef: ComponentType<unknown>) { + this.dialog.open(templateRef); + } + + setNewChildrenRules(rules:string[][]){ + this.tabChildrenRulesChange.next(rules); + } + + /** + * Get one attribute of the node by its name + * @param fileNode The concerned node + * @param attributeName The name of the attribute we want to get + */ + getAttributeByName(fileNode:FileNode, attributeName:String):FileNode { + return fileNode.children.find(c=>c.name==attributeName); + } + + /** + * Delete all the attributes of the concerned FileNode + * @param fileNode The concerned FileNode + */ + deleteAllAttributes(fileNode: FileNode):void { + fileNode.children = fileNode.children.filter(c=>c.type!==TypeConstants.attribute); + } + + removeItem(nodesToBeDeleted: FileNode[], root: FileNode) { + if (nodesToBeDeleted.length) { + for (let node of nodesToBeDeleted) { + let nodeToBeDeleted = this.getFileNodeByName(root,node.name); + //Check if node exists in the file tree + if (nodeToBeDeleted) { + const parentNode = nodeToBeDeleted.parent; + console.log("On removeItem with node : ", nodeToBeDeleted, "and parent : ", parentNode); + const index = parentNode.children.indexOf(nodeToBeDeleted); + if (index !== -1) { + parentNode.children.splice(index, 1); + //Refacto TODO + this.parentNodeMap.delete(nodeToBeDeleted); + } + console.log("Deleted node : ", nodeToBeDeleted, "and his parent : ", parentNode); + } + } + } + console.log("No nodes will be deleted") + } + + /** Find a parent tree node */ + findParent(id: number, node: FileNode): FileNode { + console.log("On findParent with parent node id : ", id , " and node : ", node); + if (node && node.id === id) { + return node; + } else { + //console.log('ELSE ' + JSON.stringify(node.children)); + if (node.children && id) { + for (let element = 0; node.children.length; element++) { + //console.log('Recursive ' + JSON.stringify(node.children[element].children)); + //console.error("Node here : ", node.children[element], element) + if (element && node.children && node.children.length > 0 && node.children[element].children.length > 0) { + return this.findParent(id, node.children[element]); + } else { + continue; + } + } + } + } + } + + sendNodeMetadata(node: FileNode) { + let rulesFromService = this.tabChildrenRulesChange.getValue() + let tabChildrenToInclude = rulesFromService[0]; + let tabChildrenToExclude = rulesFromService[1]; + console.log("Node clicked : ", node, "...with tab rules from service : ", rulesFromService); + console.log("The found node on filetree : ", node.sedaData) + this.sedaService.selectedSedaNode.next(node.sedaData); + this.currentTree.next([node]); + this.sendNode(node); + let dataTable = this.fileMetadataService.fillDataTable(node.sedaData, node, tabChildrenToInclude, tabChildrenToExclude); + console.log("Data revtried on click : ", dataTable); + console.log("Node seda %s in filetree is ready to be edited with seda data %o", node.name, this.sedaService.selectedSedaNode.getValue()); + this.fileMetadataService.dataSource.next(dataTable); + } + + getFileNodeByName(fileTree:FileNode, nodeNameToFind:string):FileNode { + if (fileTree){ + if (fileTree.name === nodeNameToFind) { + return fileTree; + } + for (const child of fileTree.children) { + const res = this.getFileNodeByName(child, nodeNameToFind); + if (res) { + return res; + } + } + } + } + + getFileNodeById(fileTree:FileNode, nodeIdToFind:number): any { + if (fileTree){ + if (fileTree.id === nodeIdToFind) { + return fileTree; + } + for (const child of fileTree.children) { + const res = this.getFileNodeById(child, nodeIdToFind); + if (res) { + return res; + } + } + } + } + + getFileNodeLocally(currentNode:FileNode, nameNode:string):FileNode { + //console.log("Node on this.findSedaNode : %o", currentNode) + if (currentNode){ + let i: number, currentChild: FileNode; + if (nameNode == currentNode.name ) { + return currentNode; + } else { + // Use a for loop instead of forEach to avoid nested functions + // Otherwise "return" will not work properly + if (currentNode.children) { + for (i = 0; i < currentNode.children.length; i += 1) { + currentChild = currentNode.children[i]; + // Search in the current child + let result = this.getFileNodeLocally(currentChild,nameNode); + // Return the result if the node has been found + if (result) { + return result; + } + } + } else { + // The node has not been found and we have no more options + console.log("No SEDA nodes could be found for ", nameNode); + return; + } + } + } + } + + getComplexSedaChildrenAsFileNode(sedaElement:SedaData):FileNode[] { + // Insert all children of complex elements based on SEDA definition + if (sedaElement.Element === SedaElementConstants.complex && + sedaElement.Children.length > 0) { + let fileNodeComplexChildren : FileNode[] = []; + sedaElement.Children.forEach((child: { Cardinality: string; Name: string; Type: string; }) => { + if (child.Cardinality === SedaCardinalityConstants.one || + child.Cardinality === SedaCardinalityConstants.oreOrMore) { + let aFileNode : FileNode = {} as FileNode; + aFileNode.name = child.Name; + aFileNode.cardinality = child.Cardinality; + aFileNode.children = []; + aFileNode.type = TypeConstants[child.Type as keyof typeof TypeConstants]; + fileNodeComplexChildren.push(aFileNode); + } + }) + return fileNodeComplexChildren + } + + } + + updateMedataTable(node:FileNode){ + //let isNodeComplex = this.sedaService.checkSedaElementType(node.name,this.sedaService.selectedSedaNodeParent.getValue()) + let rulesFromService = this.tabChildrenRulesChange.getValue() + let tabChildrenToInclude = rulesFromService[0]; + let tabChildrenToExclude = rulesFromService[1]; + this.sedaService.selectedSedaNode.next(node.sedaData); + let dataTable = this.fileMetadataService.fillDataTable(node.sedaData, node, tabChildrenToInclude, tabChildrenToExclude); + let hasAtLeastOneComplexChild = node.children.some(el=> el.type === TypeConstants.element); + + if(node.sedaData.Element === SedaElementConstants.complex){ + this.fileMetadataService.shouldLoadMetadataTable.next(hasAtLeastOneComplexChild); + console.log("The the current tab root node is : ", node) + this.sedaService.selectedSedaNode.next(node.sedaData); + console.log("Filled data on table : ", dataTable, "...should load : ", this.fileMetadataService.shouldLoadMetadataTable.getValue()); + this.fileMetadataService.dataSource.next(dataTable); + } else { + this.fileMetadataService.shouldLoadMetadataTable.next(true); + this.fileMetadataService.dataSource.next(dataTable); + } + } + + ngOnDestroy() { + console.log('fileService.currentTreeLoaded2 ' + this.currentTreeLoaded) + if(this._profileServiceGetProfileSubscription!= null){ + this._profileServiceGetProfileSubscription.unsubscribe(); + } + } + } diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/index.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/index.ts new file mode 100644 index 000000000..6a6260376 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/index.ts @@ -0,0 +1,39 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +export * from '../api/api.pastis.service'; diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/notification.service.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/notification.service.ts new file mode 100644 index 000000000..4daa4cd33 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/notification.service.ts @@ -0,0 +1,85 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +import {Injectable} from '@angular/core' +import { ToastrService } from 'ngx-toastr'; +import { MatSnackBar, MatSnackBarConfig, MatSnackBarHorizontalPosition, MatSnackBarVerticalPosition } from '@angular/material/snack-bar'; + +@Injectable({ + providedIn:'root' +}) +export class NotificationService { + + constructor(private toasterService:ToastrService, private snackBar: MatSnackBar){} + + // Toaster + showSuccess(message:string) { + this.toasterService.success(message); + } + + showInfo(message:string) { + this.toasterService.info(message); + } + + showError(message:string) { + this.toasterService.error(message); + } + + showWarning(message:string) { + this.toasterService.warning(message); + } + + //SnackBar + + openSnackBar(message: string, action: string, duration: number) { + let snackBarConfig = new MatSnackBarConfig(); + let horizontalPosition: MatSnackBarHorizontalPosition = 'center'; + let verticalPosition: MatSnackBarVerticalPosition = 'bottom'; + let snackBarAutoHide = '1500'; + snackBarConfig = new MatSnackBarConfig(); + snackBarConfig.horizontalPosition = horizontalPosition; + snackBarConfig.verticalPosition = verticalPosition; + snackBarConfig.duration = parseInt(snackBarAutoHide, 0); + snackBarConfig.panelClass = 'pastis-notifier-bg'; + snackBarConfig.duration = duration * 1000; + this.snackBar.open(message, action, snackBarConfig) +} + + + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/popup.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/popup.service.spec.ts new file mode 100644 index 000000000..4b3ad9328 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/popup.service.spec.ts @@ -0,0 +1,49 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { TestBed } from '@angular/core/testing'; + +import { PopupService } from './popup.service'; + +describe('PopupService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: PopupService = TestBed.get(PopupService); + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/popup.service.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/popup.service.ts new file mode 100644 index 000000000..30ec90a87 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/popup.service.ts @@ -0,0 +1,70 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Injectable } from '@angular/core'; +import { BehaviorSubject } from 'rxjs'; + +@Injectable({ + providedIn: 'root' +}) +export class PopupService { + + popUpDataBeforeClose = new BehaviorSubject<any>(null); + popUpDataAfterOpen = new BehaviorSubject<any>(null); + btnYesShoudBeDisabled= new BehaviorSubject<boolean>(false); + + + constructor() { } + + getPopUpDataOnOpen(){ + return this.popUpDataAfterOpen.getValue(); + } + getPopUpDataOnClose(){ + return this.popUpDataBeforeClose; + } + setPopUpDataOnOpen(incomingData:any){ + this.popUpDataAfterOpen.next(incomingData); + } + setPopUpDataOnClose(incomingData:any){ + this.popUpDataBeforeClose.next(incomingData); + } + disableYesButton(condition:boolean){ + condition ? this.btnYesShoudBeDisabled.next(true) : this.btnYesShoudBeDisabled.next(false); + } + + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/profile-vitam.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/profile-vitam.service.spec.ts new file mode 100644 index 000000000..a1694ba02 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/profile-vitam.service.spec.ts @@ -0,0 +1,55 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + + +import { TestBed } from '@angular/core/testing'; + +import { ProfileVitamService } from './profile-vitam.service'; + +describe('ProfileVitamService', () => { + let service: ProfileVitamService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(ProfileVitamService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/profile-vitam.service.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/profile-vitam.service.ts new file mode 100644 index 000000000..0fe363097 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/profile-vitam.service.ts @@ -0,0 +1,113 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +import {Injectable} from '@angular/core'; +import {BehaviorSubject, Observable} from "rxjs"; +import {ArchivalProfileUnitApiService} from "./archival-profile-unit-api.service"; +import {ArchiveProfileApiService} from "./archive-profile-api.service"; +import {ArchivalProfileUnit} from "../../models/archival-profile-unit"; +import {ProfileDescription} from "../../models/profile-description.model"; +import {Profile} from "../../models/profile"; + +@Injectable({ + providedIn: 'root' +}) + +@Injectable() +export class ProfileVitamService { + public profileMode = new BehaviorSubject(null); + retrievedProfiles: ProfileDescription[] = []; + + constructor(private archivalProfileUnit: ArchivalProfileUnitApiService, private archivalProfile : ArchiveProfileApiService) { + console.log(" Constructeur ProfileDescription Service") + } + + getAllProfilesPA(): Observable<ProfileDescription[]> { + let allProfilesPA: any; + // @ts-ignore + allProfilesPA = this.archivalProfile.getAllByParams(); + return allProfilesPA; + } + + getAllProfilesPUA(): Observable<ProfileDescription[]> { + let allProfilesPUA: any; + // @ts-ignore + allProfilesPUA = this.archivalProfileUnit.getAllByParams(); + return allProfilesPUA; + } + + getAllProfiles(): ProfileDescription[] { + + this.retrievedProfiles = [] + this.getAllProfilesPUA().subscribe(profileList => { + if (profileList) { + console.log(profileList + "profileList"); + profileList.forEach(p => p.type = "PUA"); + profileList.forEach(p => this.retrievedProfiles.push(p)); + console.log("Profiles DES PUA: ", this.retrievedProfiles); + } + }) + + this.getAllProfilesPA().subscribe(profileList => { + if (profileList) { + console.log(profileList + "profileList"); + profileList.forEach(p => p.type = "PA"); + profileList.forEach(p => this.retrievedProfiles.push(p)); + console.log("Profiles DES PA : ", this.retrievedProfiles); + } + }) + return this.retrievedProfiles; + } + + download(id: string): Observable<any> { + console.log(id) + return this.archivalProfile.download(id); + } + + // @ts-ignore + getPuaById(id: number): Observable<ArchivalProfileUnit> { + return this.archivalProfileUnit.getOne(encodeURI(String(id))); + } + + getPaById(id: number): Observable<Profile> { + return this.archivalProfile.getOne(encodeURI(String(id))); + } + + + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/profile.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/profile.service.spec.ts new file mode 100644 index 000000000..ddeeab960 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/profile.service.spec.ts @@ -0,0 +1,49 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { TestBed } from '@angular/core/testing'; + +import { ProfileService } from './profile.service'; + +describe('ProfileService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: ProfileService = TestBed.get(ProfileService); + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/profile.service.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/profile.service.ts new file mode 100644 index 000000000..80ddbd400 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/profile.service.ts @@ -0,0 +1,304 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import {HttpHeaders, HttpParams} from '@angular/common/http'; +import {Injectable, isDevMode, OnDestroy} from '@angular/core'; +import {BehaviorSubject, Observable, Subscription} from 'rxjs'; +import {FileNode} from '../../models/file-node'; +import {PastisApiService} from '../api/api.pastis.service'; +import {PastisConfiguration} from '../classes/pastis-configuration'; +import {environment} from '../../../environments/environment' +import {cloneDeep} from 'lodash'; +import {ProfileDescription} from '../../models/profile-description.model'; +import {ProfileResponse} from '../../models/profile-response'; +import {PageRequest, PaginatedResponse} from "ui-frontend-common"; +import {map} from 'rxjs/operators'; +import {Profile} from "../../models/profile"; +import {ArchivalProfileUnit} from "../../models/archival-profile-unit"; +import {ArchivalProfileUnitApiService} from "./archival-profile-unit-api.service"; +import {ArchiveProfileApiService} from "./archive-profile-api.service"; + +@Injectable({ + providedIn: 'root' +}) +export class ProfileService implements OnDestroy { + + public page: number; + public size: number; + public orderBy: string; + public direction: string; + public criteria?: string; + + private apiServerPath: string; + public profileMode : string; + public profileName: string; + public profileId: string; + protected pageRequest: PageRequest; + public retrievedProfiles = new BehaviorSubject<ProfileDescription[]>(null); + protected data: ProfileDescription[]; + protected hasMore: boolean; + + subscription1$: Subscription; + subscription2$: Subscription; + subscription3$: Subscription; + subscription4$: Subscription; + subscriptions: Subscription[] = []; + + + + constructor(private apiService: PastisApiService, private pastisConfig: PastisConfiguration, private puaService: ArchivalProfileUnitApiService, private paService : ArchiveProfileApiService) { + this.apiServerPath = isDevMode() ? environment.apiServerUrl : pastisConfig.apiPastisUrl; + } + + ngOnDestroy(): void { + this.subscriptions.forEach((subscriptions) => subscriptions.unsubscribe()) + } + + getAllProfiles(): Observable<ProfileDescription[]>{ + if(environment.standalone){ + console.error("*******************************" + this.pastisConfig.getAllProfilesUrl) + return this.apiService.get(this.pastisConfig.getAllProfilesUrl); + } + else{ + return this.getAllProfilesVitam(); + //return this.getAllProfilesPaginated(pageRequest); + //return this.apiService.get(this.pastisConfig.getAllProfilesUrl); + } + } + + getAllProfilesPA(): Observable<ProfileDescription[]> { + let allProfilesPA: any; + const params = new HttpParams().set('embedded', 'ALL'); + // @ts-ignore + allProfilesPA = this.apiService.get(this.pastisConfig.getAllArchivalProfileUrl, {params :params}); + return allProfilesPA; + } + + getAllProfilesPUA(): Observable<ProfileDescription[]> { + let allProfilesPUA: any; + const params = new HttpParams().set('embedded', 'ALL'); + + allProfilesPUA = this.apiService.get(this.pastisConfig.getArchivalProfileUnitUrl,{params :params}); + return allProfilesPUA; + } + + getAllProfilesVitam(): Observable<ProfileDescription[]> { + this.subscription3$=this.getAllProfilesPUA().subscribe((profileList:ProfileDescription[] ) => { + if (profileList) { + console.log(profileList.length + "profileListPUA"); + this.retrievedProfiles.next(profileList); + } + }) + + this.subscription4$= this.getAllProfilesPA().subscribe((profileList:ProfileDescription[] ) => { + if (profileList) { + console.log(profileList.length + "profileListPA"); + this.retrievedProfiles.next(profileList); + } + }) + + this.subscriptions.push(this.subscription3$) + this.subscriptions.push(this.subscription4$) + return this.retrievedProfiles; + } + + getProfileOld(): Observable<FileNode[]> { + return this.apiService.get<FileNode[]>(this.apiServerPath + this.pastisConfig.getProfileUrl); + } + + getProfile(element:ProfileDescription): Observable<ProfileResponse> { + return this.apiService.post<ProfileResponse>(this.pastisConfig.editProfileUrl,element,{}) + } + + + // Upload a RNG or a JSON file (PA or PUA, respectively) to the server + // Response : a JSON object + uploadProfile(profile: FormData): Observable<ProfileResponse> { + return this.apiService.post(this.pastisConfig.uploadProfileUrl, profile); + } + + // Get the base rng profile + getFile(): Observable<Blob> { + const options = {responseType: 'blob'}; + return this.apiService.get(this.apiServerPath+this.pastisConfig.getFileUrl, options); + } + + // Send the modified tree as post, + // Expects a RNG or a JSON file depending on the profile type + uploadFile(file: FileNode[],notice: ProfileDescription ,profileType:string): Observable<Blob> { + const httpOptions = { + headers: new HttpHeaders({ + 'Content-type': 'application/json', + }), + responseType: 'blob' + }; + let profile: any = cloneDeep(file[0]); + + let endPointUrl = profileType === "PA" ? this.pastisConfig.savePAasFileUrl : this.pastisConfig.savePUAasFileUrl + this.fixCircularReference(profile); + console.log("Data to") + + if(profileType === "PUA"){ + profile = {"elementProperties": profile, "notice": notice}; + } + + return this.apiService.post(endPointUrl, profile, httpOptions); + } + + fixCircularReference(node: FileNode){ + node.parent=null; + node.sedaData=null; + node.children.forEach(child=>{this.fixCircularReference(child);}); + } + + // @ts-ignore + getAllProfilesPAPaginated(pageRequest: PageRequest): Observable<ProfileDescription[]> { + this.page = pageRequest.page; + this.size = pageRequest.size; + this.direction = pageRequest.direction; + console.log(pageRequest.direction + "direction") + + const params = new HttpParams() + .set('page', this.page.toString()) + .set('size', this.size.toString()) + .set('direction', this.direction); + let allProfilesPA: any; + allProfilesPA = this.apiService.get(this.pastisConfig.getProfilePaginatedUrl,{params :params}) .pipe( + map((paginated: PaginatedResponse<ProfileDescription>) => { + this.data = paginated.values; + this.page = paginated.pageNum; + this.hasMore = paginated.hasMore; + return this.data; + }) + ); + return allProfilesPA; + } + + // @ts-ignore + getAllProfilesPUAPaginated(pageRequest: PageRequest): Observable<ProfileDescription[]> { + this.page = pageRequest.page; + this.size = pageRequest.size; + this.direction = pageRequest.direction; + console.log(pageRequest.direction + "direction") + + const params = new HttpParams() + .set('page', this.page.toString()) + .set('size', this.size.toString()) + .set('direction', this.direction); + let allProfilesPUA: any; + allProfilesPUA = this.apiService.get(this.pastisConfig.getArchivalProfileUnitPaginatedUrl,{params :params}) .pipe( + map((paginated: PaginatedResponse<ProfileDescription>) => { + this.data = paginated.values; + this.page = paginated.pageNum; + this.hasMore = paginated.hasMore; + + return this.data; + }) + ); + return allProfilesPUA; + } + + + getAllProfilesPaginated(pageRequest: PageRequest): Observable<ProfileDescription[]> { + let tabVide : ProfileDescription[] = []; + + this.subscription2$=this.getAllProfilesPAPaginated(pageRequest).subscribe((data:ProfileDescription[] ) => { + if (data) { + console.error(data + " data PA") + data.forEach(p => p.type = "PA"); + data.forEach(p => tabVide.push(p)); + this.retrievedProfiles.next(data); + console.error("Profiles DES PA : ", tabVide); + } + }) + + this.subscription1$ =this.getAllProfilesPUAPaginated(pageRequest).subscribe((data:ProfileDescription[] )=> { + // @ts-ignore + console.error(data) + if (data) { + console.log(data.length + "profileList"); + data.forEach(p => p.type = "PUA"); + console.error("Profiles DES PUA: ", data); + this.retrievedProfiles.next(data); + } + }) + + + + console.log(tabVide[0]+ "tableau") + + this.subscriptions.push(this.subscription1$) + this.subscriptions.push(this.subscription2$) + + console.log(this.retrievedProfiles+ " tableau gell all profiles Paginated") + return this.retrievedProfiles; + } + + + + createProfile(path: string, type: string): Observable<ProfileResponse> { + const params = new HttpParams().set('type', type); + return this.apiService.get<ProfileResponse>(path, {params :params}); + } + + createProfilePa(profile:Profile){ + return this.paService.create(profile); + } + + createArchivalUnitProfile(archivalUnitProfile:ArchivalProfileUnit){ + return this.puaService.create(archivalUnitProfile); + } + + updateProfilePa(profile: Profile) { + return this.paService.updateProfilePa(profile); + } + + updateProfilePua(archivalUnitProfile: ArchivalProfileUnit) { + return this.puaService.updateProfilePua(archivalUnitProfile); + } + + updateProfileFilePa(profile: Profile, file: File){ + const formData = new FormData(); + formData.append('file', file, profile.name + ".rng"); + return this.paService.uploadProfileArchivageFile(profile.identifier, formData) + } + + downloadProfilePaVitam(id: string){ + return this.paService.download(id) + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/register-icons.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/register-icons.service.spec.ts new file mode 100644 index 000000000..a97536294 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/register-icons.service.spec.ts @@ -0,0 +1,49 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { TestBed } from '@angular/core/testing'; + +import { RegisterIconsService } from './register-icons.service'; + +describe('RegisterIconsService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: RegisterIconsService = TestBed.get(RegisterIconsService); + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/register-icons.service.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/register-icons.service.ts new file mode 100644 index 000000000..5e47a22c4 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/register-icons.service.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Injectable } from '@angular/core'; +import { MatIconRegistry } from '@angular/material/icon'; +import { DomSanitizer } from '@angular/platform-browser'; +import { IconsEnum } from '../classes/icons'; + +@Injectable({ + providedIn: 'root' +}) +export class RegisterIconsService { + + constructor( + private matIconRegistry: MatIconRegistry, + private domSanitizer: DomSanitizer + ) { } + + registerIcons(): void { + this.loadIcons(Object.values(IconsEnum), '../assets/svg/icons'); + } + + loadIcons(iconKeys: string[], iconUrl: string): void { + iconKeys.forEach(key => { + this.matIconRegistry.addSvgIcon(key, this.domSanitizer.bypassSecurityTrustResourceUrl(`${iconUrl}/${key}.svg`)); + }); + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/seda.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/seda.service.spec.ts new file mode 100644 index 000000000..026252040 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/seda.service.spec.ts @@ -0,0 +1,49 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { TestBed } from '@angular/core/testing'; + +import { SedaService } from './seda.service'; + +describe('SedaService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: SedaService = TestBed.get(SedaService); + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/seda.service.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/seda.service.ts new file mode 100644 index 000000000..45eb2f3fe --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/seda.service.ts @@ -0,0 +1,228 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Injectable } from '@angular/core'; +import { BehaviorSubject } from 'rxjs'; +import { CardinalityConstants, FileNode } from '../../models/file-node'; +import { SedaData} from '../../models/seda-data'; +import { CardinalityValues } from '../classes/models'; +import sedaRulesFile from '../../../assets/seda.json'; + +@Injectable({ + providedIn: 'root' +}) +export class SedaService { + + selectedSedaNode = new BehaviorSubject<SedaData>(null); + selectedSedaNodeParent = new BehaviorSubject<SedaData>(null); + sedaTabNodeRootToSearch = new BehaviorSubject<SedaData>(null); + private sedaRulesTemp: any = sedaRulesFile; + public sedaRules: SedaData = this.sedaRulesTemp; + + constructor() { } + + getSedaNode(currentNode:SedaData, nameNode:string):SedaData { + if (currentNode && nameNode) { + let i: number, currentChild: SedaData; + if (nameNode == currentNode.Name ) { + return currentNode; + } else { + // Use a for loop instead of forEach to avoid nested functions + // Otherwise "return" will not work properly + if (currentNode.Children) { + for (i = 0; i < currentNode.Children.length; i += 1) { + currentChild = currentNode.Children[i]; + // Search in the current child + let result = this.getSedaNode(currentChild,nameNode); + // Return the result if the node has been found + if (result) { + return result; + } + } + } + // The node has not been found and we have no more options + return; + } + } + } + + getSedaNodeRecursively(currentNode:SedaData, nameNode:string):SedaData { + //console.log("Node to be searched on : %o", currentNode, nameNode, ) + let i: number, currentChild: SedaData + if (currentNode) { + if (nameNode == currentNode.Name ) { + return currentNode; + } else { + // Use a for loop instead of forEach to avoid nested functions + // Otherwise "return" will not work properly + if (currentNode.Children) { + for (i = 0; i < currentNode.Children.length; i += 1) { + currentChild = currentNode.Children[i]; + // Search in the current child + let result = this.getSedaNodeRecursively(currentChild,nameNode); + // Return the result if the node has been found + if (result) { + return result; + } + } + } else { + // The node has not been found and we have no more options + console.log("No SEDA nodes could be found for ", nameNode); + return; + } + } + } + } + + //Get the seda node based on collection name and a node name. + // Since the SEDA 2.1 model does not contain unique names, + // the function will search the whole file and return a single metadata based on + // a node name and a collection name; + getSedaNodeCollection(sedaNode:SedaData, nodeName:string, collectionName:string):SedaData { + if (sedaNode){ + if (sedaNode.Collection === collectionName && sedaNode.Name === nodeName) { + return sedaNode; + } + for (const child of sedaNode.Children) { + const nodeFound = this.getSedaNodeCollection(child, nodeName,collectionName); + if (nodeFound) { + return nodeFound; + } + } + } + + } + + // For all correspondent values beetween seda and tree elements, + // return a SedaData array of elements that does not have + // an optional (0-1) or an obligatory (1) cardinality. + // If an element have an 'n' cardinality (e.g. 0-N), the element will + // aways be included in the list + findSelectableElementList(sedaNode:SedaData, fileNode:FileNode): SedaData[] { + let fileNodesNames = fileNode.children.map(e=>e.name); + let allowedSelectableList = sedaNode.Children.filter(x => (!fileNodesNames.includes(x.Name) && + x.Cardinality !== CardinalityConstants.Obligatoire.valueOf()) + || + (fileNodesNames.includes(x.Name) && + (x.Cardinality === CardinalityConstants["Zero or More"].valueOf()) + )) + return allowedSelectableList; + } + + findCardinalityName(clickedNode:FileNode, cardlinalityValues: CardinalityValues[]):string{ + if(!clickedNode.cardinality){ + return "1" + } else { + return cardlinalityValues.find(c=>c.value == clickedNode.cardinality).value + } + } + + /** + * Returns the list of all the attributes defined for the node + * @param sedaNode the seda node we want to query + */ + getAttributes(sedaNode:SedaData, collection:string):SedaData[] { + //if (!sedaNode) return; + return sedaNode.Children.filter(children=>children.Element=="Attribute" + && sedaNode.Collection === collection); + } + + isSedaNodeObligatory(nodeName:string,sedaParent:SedaData):boolean{ + if (sedaParent.Name === nodeName) { + return sedaParent.Cardinality.startsWith('1'); + } + if (sedaParent){ + for (let child of sedaParent.Children) { + if (child.Name === nodeName){ + return child.Cardinality.startsWith('1'); + } + } + } + } + + isDuplicated(nomDuChamp: string, sedaParent: SedaData) { + if (sedaParent.Name == nomDuChamp) { + return sedaParent.Cardinality.includes('N'); + } + if (sedaParent){ + for (let child of sedaParent.Children) { + if (child.Name == nomDuChamp){ + return child.Cardinality.includes('N'); + } + } + } + } + + checkSedaElementType(nodeName:string, sedaNode:SedaData):string{ + if (sedaNode.Name === nodeName) return sedaNode.Element; + + let node = sedaNode.Children.find(c=>c.Name==nodeName); + if (node) { + return node.Element + } + //return false; + } + findSedaChildByName(nodeName: string, sedaNode:SedaData): SedaData{ + if (nodeName === sedaNode.Name) { + return sedaNode; + } + const childFound = sedaNode.Children.find(c=>c.Name==nodeName); + return childFound ? childFound : null; + } + + setSedaTabNodeRoot(sedaNodeName:string):void{ + let sedaRootNodeSearch = this.getSedaNodeRecursively(this.selectedSedaNode.getValue(),sedaNodeName) + this.sedaTabNodeRootToSearch.next(sedaRootNodeSearch); + } + + // Returns a list of cardinalities of a given a fileNode's children + // If an attributte child doesn't not have a cardinality + // then the seda child's cardinality will be added by default; + getCardinalitiesOfSedaChildrenAttributes(fileNode:FileNode,sedaNode:SedaData):string[]{ + let cardinalities : string[] = [] + for (let fileChild of fileNode.children){ + for (let sedaChild of sedaNode.Children){ + if (fileChild.name === sedaChild.Name){ + fileChild.cardinality ? + cardinalities.push(fileChild.cardinality) : + cardinalities.push(sedaChild.Cardinality); + } + } + } + return cardinalities; + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/toggle-sidenav.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/toggle-sidenav.service.spec.ts new file mode 100644 index 000000000..dd4b2f5da --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/toggle-sidenav.service.spec.ts @@ -0,0 +1,49 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { TestBed } from '@angular/core/testing'; + +import { ToggleSidenavService } from './toggle-sidenav.service'; + +describe('ToggleSidenavService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: ToggleSidenavService = TestBed.get(ToggleSidenavService); + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/toggle-sidenav.service.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/toggle-sidenav.service.ts new file mode 100644 index 000000000..2c29175e3 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/toggle-sidenav.service.ts @@ -0,0 +1,61 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Injectable } from '@angular/core'; +import { BehaviorSubject } from 'rxjs'; + +@Injectable({ + providedIn: 'root' +}) +export class ToggleSidenavService { + + constructor() { } + isOpened = new BehaviorSubject<boolean>(true); + noticeSelected = new BehaviorSubject<boolean>(false); + + show() { + this.isOpened.next(true); + console.log("SideNav is opened") + } + hide() { + this.isOpened.next(false); + console.log("SideNav is closed") + } + statusNotice(status: boolean){ + this.noticeSelected.next(status); + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/json-typings.d.ts b/ui/ui-frontend/projects/pastis/src/app/json-typings.d.ts new file mode 100644 index 000000000..09eae4177 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/json-typings.d.ts @@ -0,0 +1,4 @@ +declare module "*.json" { + const value: any; + export default value; +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/main/main.component.html b/ui/ui-frontend/projects/pastis/src/app/main/main.component.html new file mode 100644 index 000000000..6a698bcb8 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/main/main.component.html @@ -0,0 +1,32 @@ +<ngx-ui-loader></ngx-ui-loader> + +<button (click)="openSideNav()" + *ngIf="!opened" class="pastis-btn-show-profile" + disableRipple="true" + mat-button> + <mat-icon class="pastis-icon-show-profile">keyboard_arrow_right</mat-icon> +</button> + +<mat-sidenav-container class="pastis-page-container"> + <mat-sidenav #sidenav (closed)="events.push('close!')" (opened)="events.push('open!')" [(opened)]="opened" + class='pastis-side-nav' + mode="side"> + <pastis-edit-profile *ngIf="fileService.currentTreeLoaded"></pastis-edit-profile> + </mat-sidenav> + <mat-sidenav-content> + <div class="pastis-entete-bandeau"></div> + <div> + <pastis-file-tree-metadata (addNode)="addNode($event)" + (duplicateNode)="duplicateNode($event)" + (insertAttributes)="insertAttribute($event)" + (insertItem)="insertionItem($event)" + (removeNode)="removeNode($event)"> + </pastis-file-tree-metadata> + + <!--Check font.scss--> + </div> + <div class="pastis-toaster-font" toastContainer></div> + + </mat-sidenav-content> + +</mat-sidenav-container> diff --git a/ui/ui-frontend/projects/pastis/src/app/main/main.component.scss b/ui/ui-frontend/projects/pastis/src/app/main/main.component.scss new file mode 100644 index 000000000..80a8d8f75 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/main/main.component.scss @@ -0,0 +1,48 @@ +@import "../../assets/css/colors"; +@import "../../assets/css/mixins"; +@import "../../assets/css/layout"; + +.pastis-side-nav { + box-shadow: 20px 20px 80px rgba(168, 153, 153, 0.5); +} + +.pastis-btn-show-profile{ + position: absolute; + width: 70px; + height: 70px; + left: -1px; + top: 280px; + z-index: 10001; + background-color: map-get( $colors , 'primary-500'); + box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25); + transition-property: all; + transition-duration: .5s; + +} + +.pastis-icon-show-profile{ + margin-bottom: 14px; + margin-right: 14px; + font-size: 40px; + color: #FFFFFF; +} + +.mat-sidenav { + width: 100% !important; + height: 100%; + top: 0px; + position: fixed; + @extend .pastis-slide-nav-profile; +} +.pastis-toaster-font{ + .pastis-toaster-font{ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 15px; + line-height: 20px; + /* identical to box height, or 133% */ + + color: black; + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/main/main.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/main/main.component.spec.ts new file mode 100644 index 000000000..3a2755578 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/main/main.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { MainComponent } from './main.component'; + +describe('HomeComponent', () => { + let component: MainComponent; + let fixture: ComponentFixture<MainComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ MainComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(MainComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/main/main.component.ts b/ui/ui-frontend/projects/pastis/src/app/main/main.component.ts new file mode 100644 index 000000000..e46128677 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/main/main.component.ts @@ -0,0 +1,145 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core'; +import {CdkTextareaAutosize} from '@angular/cdk/text-field'; +import {ActivatedRoute, Router} from '@angular/router'; +import {ToggleSidenavService} from '../core/services/toggle-sidenav.service'; +import {ToastContainerDirective, ToastrService} from 'ngx-toastr'; +import {BehaviorSubject, ReplaySubject, Subscription} from 'rxjs'; +import {EditProfileComponent} from '../profile/edit-profile/edit-profile.component'; +import {FileNode, FileNodeInsertAttributeParams, FileNodeInsertParams} from "../models/file-node"; +import { FileService } from '../core/services/file.service'; +import { ProfileResponse } from '../models/profile-response'; +import { ProfileDescription } from '../models/profile-description.model'; + +@Component({ + selector: 'app-home', + templateUrl: './main.component.html', + styleUrls: ['./main.component.scss'] +}) +export class MainComponent implements OnInit, OnDestroy { + + + @ViewChild('treeSelector', { static: true }) tree: any; + @ViewChild('autosize', { static: false }) autosize: CdkTextareaAutosize; + @ViewChild(ToastContainerDirective, { static: true }) + toastContainer: ToastContainerDirective; + @ViewChild(EditProfileComponent) + editProfileComponent: EditProfileComponent; + + opened: boolean; + events: string[] = []; + + uploadedProfileResponse: ProfileResponse; + + uploadedProfileSelected: ProfileDescription; + + private _routeParamsSubscription : Subscription; + + constructor(private route: ActivatedRoute,private sideNavService : ToggleSidenavService, private toastrService: ToastrService, + public fileService: FileService, private router: Router) { + this.uploadedProfileResponse = this.router.getCurrentNavigation().extras.state as ProfileResponse; + this.uploadedProfileSelected = this.router.getCurrentNavigation().extras.state as ProfileDescription; + + this.sideNavService.isOpened.subscribe(status=>{ + this.opened = status; + }) + } + + ngOnInit() { + this.fileService.currentTreeLoaded = false; + this.fileService.currentTree = new ReplaySubject<FileNode[]>(); + this.fileService.allData = new BehaviorSubject<FileNode[]>([]); + this.toastrService.overlayContainer = this.toastContainer; + this._routeParamsSubscription = this.route.params.subscribe(params => { + let profileId = params['id']; + // If a profileId has been defined, it is retrieved from backend + if (profileId !== undefined) { + if(this.uploadedProfileSelected === undefined){ + this.router.navigate(['/pastis/tenant/1'],{skipLocationChange: false}) + }else{ + this.fileService.getProfileAndUpdateTree(this.uploadedProfileSelected); + } + } else { + // Otherwise we must have an user uploaded profile + this.uploadedProfileResponse.id = null; + this.uploadedProfileResponse.name = 'Nouveau Profil'; + this.fileService.updateTreeWithProfile(this.uploadedProfileResponse); + } + }); + this.opened = true; + } + + openSideNav(){ + this.opened = true; + this.sideNavService.show(); + } + + insertionItem($event: FileNodeInsertParams) { + let names: string[] = $event.elementsToAdd.map(e => e.Name); + this.editProfileComponent.fileTreeComponent.insertItem($event.node, names); + console.log("Params : ", $event); + } + + addNode($event: FileNode) { + this.editProfileComponent.fileTreeComponent.addNewItem($event); + + } + + insertAttribute($event: FileNodeInsertAttributeParams) { + console.log("Params in attributes : ", $event); + this.editProfileComponent.fileTreeComponent.insertAttributes($event.node, $event.elementsToAdd); + } + + removeNode($event: FileNode) { + this.editProfileComponent.fileTreeComponent.remove($event); + } + + + duplicateNode($event: FileNode) { + this.editProfileComponent.fileTreeComponent.duplicate($event); + + } + + ngOnDestroy(): void { + if(this._routeParamsSubscription!= null){ + this._routeParamsSubscription.unsubscribe(); + } + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/material.module.ts b/ui/ui-frontend/projects/pastis/src/app/material.module.ts new file mode 100644 index 000000000..acccfcb71 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/material.module.ts @@ -0,0 +1,94 @@ +import { NgModule } from '@angular/core'; + +import { MatButtonModule } from '@angular/material/button'; +import { MatButtonToggleModule } from '@angular/material/button-toggle'; +import { MatCardModule } from '@angular/material/card'; +import { MatCheckboxModule } from '@angular/material/checkbox'; +import { MatNativeDateModule, MatOptionModule, MatRippleModule } from '@angular/material/core'; +import { MatDatepickerModule } from '@angular/material/datepicker'; +import { MatDialogModule } from '@angular/material/dialog'; +import { MatDividerModule } from '@angular/material/divider'; +import { MatFormFieldModule } from '@angular/material/form-field'; +import { MatGridListModule } from '@angular/material/grid-list'; +import { MatIconModule } from '@angular/material/icon'; +import { MatInputModule } from '@angular/material/input'; +import { MatListModule } from '@angular/material/list'; +import { MatMenuModule } from '@angular/material/menu'; +import { MatProgressBarModule } from '@angular/material/progress-bar'; +import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; +import { MatRadioModule } from '@angular/material/radio'; +import { MatSelectModule } from '@angular/material/select'; +import { MatSidenavModule } from '@angular/material/sidenav'; +import { MatSnackBarModule } from '@angular/material/snack-bar'; +import { MatSortModule } from '@angular/material/sort'; +import { MatTableModule } from '@angular/material/table'; +import { MatTabsModule } from '@angular/material/tabs'; +import { MatToolbarModule } from '@angular/material/toolbar'; +import { MatTooltipModule } from '@angular/material/tooltip'; +import { MatTreeModule } from '@angular/material/tree'; + + +@NgModule({ + imports: [ + MatButtonModule, + MatToolbarModule, + MatProgressSpinnerModule, + MatGridListModule, + MatSidenavModule, + MatCardModule, + MatDatepickerModule, + MatNativeDateModule, + MatSelectModule, + MatOptionModule, + MatCheckboxModule, + MatRadioModule, + MatTreeModule, + MatTableModule, + MatSortModule, + MatProgressBarModule, + MatMenuModule, + MatRippleModule, + MatTabsModule, + MatFormFieldModule, + MatInputModule, + MatListModule, + MatTooltipModule, + MatIconModule, + MatDialogModule, + MatSnackBarModule, + MatDividerModule, + MatButtonToggleModule + ], + exports: [ + MatButtonModule, + MatMenuModule, + MatToolbarModule, + MatCardModule, + MatProgressSpinnerModule, + MatGridListModule, + MatSidenavModule, + MatTabsModule, + MatFormFieldModule, + MatInputModule, + MatListModule, + MatDatepickerModule, + MatNativeDateModule, + MatSelectModule, + MatOptionModule, + MatCheckboxModule, + MatRadioModule, + MatTreeModule, + MatDialogModule, + MatTableModule, + MatSortModule, + MatProgressBarModule, + MatRippleModule, + MatIconModule, + MatTooltipModule, + MatSnackBarModule, + MatDividerModule, + MatButtonToggleModule + ] +}) + +export class PastisMaterialModule {} diff --git a/ui/ui-frontend/projects/pastis/src/app/models/archival-profile-unit.ts b/ui/ui-frontend/projects/pastis/src/app/models/archival-profile-unit.ts new file mode 100644 index 000000000..cbc728d92 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/models/archival-profile-unit.ts @@ -0,0 +1,17 @@ +import {Id} from "ui-frontend-common"; + +export interface ArchivalProfileUnit extends Id { + id: string; + tenant: number; + version: number; + identifier: string; + name: string; + description: string; + status: string; + creationdate: string; + lastupdate: string; + activationdate: string; + deactivationdate: string; + controlShema: string; + fields: string[]; +} diff --git a/ui/ui-frontend/projects/pastis/src/app/models/breadcrumb.ts b/ui/ui-frontend/projects/pastis/src/app/models/breadcrumb.ts new file mode 100644 index 000000000..a85e204b3 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/models/breadcrumb.ts @@ -0,0 +1,12 @@ +import { FileNode } from "./file-node"; + +export interface BreadcrumbDataTop { + label: string; + url?: string; + external?: boolean; +} + +export interface BreadcrumbDataMetadata { + label: string; + node?: FileNode; +} diff --git a/ui/ui-frontend/projects/pastis/src/app/models/edit-attribute-models.ts b/ui/ui-frontend/projects/pastis/src/app/models/edit-attribute-models.ts new file mode 100644 index 000000000..0d61a350e --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/models/edit-attribute-models.ts @@ -0,0 +1,52 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +/** + * Class that stores all the data needed to display and manage an attribute in the popup + */ +export interface AttributeData { + nomDuChamp: string; + type: string; + valeurFixe: string; + selectedCardinality: string; // The selected cardinality for this attribute + cardinalities: string[]; // The list of all allowed cardinality for this attribute + commentaire: string; + selected: boolean; // Boolean that is linked to the checkbox, allowing to select this attribute + enumeration: string[]; + id:number; + } diff --git a/ui/ui-frontend/projects/pastis/src/app/models/file-node.ts b/ui/ui-frontend/projects/pastis/src/app/models/file-node.ts new file mode 100644 index 000000000..29959356a --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/models/file-node.ts @@ -0,0 +1,131 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { PUA } from './pua.model'; +import { SedaData } from './seda-data'; + +/** + * Json node data with nested structure. Each node has a name and a value or a list of children + */ +export enum TypeConstants { + element = 'element', + attribute = 'attribute' +} + +/** + * Json node data with nested structure. Each node has a name and a value or a list of children + */ +/** + * Json node data with nested structure. Each node has a name and a value or a list of children + */ +export enum CardinalityConstants { + 'Zero or More' = '0-N', + 'One Or More' = '1-N', + 'Optional' = '0-1', + 'Obligatoire' = '1', +} + + +/** + * Json node data with nested structure. Each node has a name and a value or a list of children + */ +export enum DataTypeConstants { + string = 'string', + dateTime = 'dateTime', + dateOrDateTime = 'dateOrDateTime', + date = 'date', + ID = 'ID', + 'id' = 'id', + anyURI = 'anyURI', + token = 'token', + tokenType = 'tokenType', + base64Binary = 'base64Binary', + positiveInteger = 'positiveInteger', + boolean = 'boolean', + decimal = 'decimal', + int = 'int', + language = 'language', + NCName = 'NCName', + undefined = 'undefined' +} + +/** + * Json node data with nested structure. Each node has a name and a value or a list of children + */ +export enum ValueOrDataConstants { + value = 'value', + data = 'data', + nsName = 'nsName', + undefined = 'undefined' +} + +export interface FileNode { + id: number; + parentId: number; + name: string; + groupOrChoice: string; + choices: string; + valueOrData: ValueOrDataConstants; + value: string; + type: TypeConstants; + dataType: DataTypeConstants; + cardinality: string; + level: number; + documentation?: string; + children: FileNode[]; + parent: FileNode; + sedaData: SedaData; + puaData?: PUA; +} + +export interface FileNodeInsertParams { + node: FileNode; + elementsToAdd:SedaData[]; +} + +export interface FileNodeInsertAttributeParams { + node: FileNode; + elementsToAdd:FileNode[]; +} + +export enum nodeNameToLabel { +'notice' = 'PROFILE.EDIT_PROFILE.NOTICE_TAB', +'ArchiveTransfer' = 'PROFILE.EDIT_PROFILE.ENTETE', +'ManagementMetadata' = 'PROFILE.EDIT_PROFILE.REGLES', +'DescriptiveMetadata' = 'PROFILE.EDIT_PROFILE.UNITES_ARCHIVES', +'DataObjectPackage' = 'PROFILE.EDIT_PROFILE.OBJETS' +} diff --git a/ui/ui-frontend/projects/pastis/src/app/models/metadata-validator.ts b/ui/ui-frontend/projects/pastis/src/app/models/metadata-validator.ts new file mode 100644 index 000000000..10b2fbd23 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/models/metadata-validator.ts @@ -0,0 +1,52 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import {Injectable} from "@angular/core"; +import {FormControl} from "@angular/forms"; + + +@Injectable() +export class DateValidator { + + constructor() { + } + + static date(c: FormControl) { + const dateRegEx = new RegExp(/^\d{1,2}\.\d{1,2}\.\d{4}$/); + return dateRegEx.test(c.value) ? null : {date: true} + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/models/profile-description.model.ts b/ui/ui-frontend/projects/pastis/src/app/models/profile-description.model.ts new file mode 100644 index 000000000..18b209faa --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/models/profile-description.model.ts @@ -0,0 +1,18 @@ +export interface ProfileDescription{ + id:string; + identifier:string; + name:string; + description?:string; + status?:string; + creationDate:string; + lastUpdate:string; + type:string; + activationDate?:string; + deactivationDate?:string; + controlSchema?:string; + tenant?:number; + version?:number; + fields?:string[]; + path?:string; + format?:string; +} diff --git a/ui/ui-frontend/projects/pastis/src/app/models/profile-response.ts b/ui/ui-frontend/projects/pastis/src/app/models/profile-response.ts new file mode 100644 index 000000000..ec57f637c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/models/profile-response.ts @@ -0,0 +1,11 @@ +import {FileNode} from "./file-node"; +import { ProfileDescription } from "./profile-description.model"; + + +export interface ProfileResponse { + id: string; + name: string; + profile: FileNode; + notice?: ProfileDescription; + type: string; +} diff --git a/ui/ui-frontend/projects/pastis/src/app/models/profile.ts b/ui/ui-frontend/projects/pastis/src/app/models/profile.ts new file mode 100644 index 000000000..519cb9b09 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/models/profile.ts @@ -0,0 +1,23 @@ +import {Id} from "ui-frontend-common"; + +export interface Profile extends Id { + id: string; + type: string; + fileName: string; + baseName: string; + status: string; + lastModified: string; + tenant: number; + version: number; + identifier: string; + name: string; + description: string; + creationdate: string; + lastupdate: string; + activationdate: string; + deactivationdate: string; + controlSchema: string; + fields: string[]; + format: string; + path: string; +} diff --git a/ui/ui-frontend/projects/pastis/src/app/models/pua-definitions.model.ts b/ui/ui-frontend/projects/pastis/src/app/models/pua-definitions.model.ts new file mode 100644 index 000000000..8ecdb4a19 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/models/pua-definitions.model.ts @@ -0,0 +1,55 @@ +export class PuaDefinitions { + + "definitions": { + "one-one": { + "type": "string", + "minItems": 1, + "maxItems": 1 + }, + "one-many": { + "type": "array", + "minItems": 1 + }, + "zero-one": { + "type": "string", + "minItems": 0, + "maxItems": 1 + }, + "zero-one2": { + "type": "object", + "minItems": 0, + "maxItems": 1 + }, + "zero-many": { + "type": "array", + "minItems": 0 + }, + "zero-many2": { + "type": "object", + "minItems": 0 + }, + "non-empty-token": { + "type": [ + "array" + ], + "minLength": 1 + }, + "non-empty-token-array": { + "type": [ + "object" + ], + "items": { + "type": "string", + "minLength": 1 + } + }, + "simple-date": { + "type": "string", + "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}" + }, + "date": { + "type": "string", + "pattern": "^([0-8][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))$" + } + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/models/pua.model.ts b/ui/ui-frontend/projects/pastis/src/app/models/pua.model.ts new file mode 100644 index 000000000..bdca4d07f --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/models/pua.model.ts @@ -0,0 +1,10 @@ +import {PuaDefinitions} from "./pua-definitions.model"; +import { PuaProperties } from './pua.propreties.model'; + +export class PUA { + "$schema": string; + "type": "object"; + "additionalProperties": false; + "definitions" : PuaDefinitions; + "properties": PuaProperties; + } \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/models/pua.propreties.model.ts b/ui/ui-frontend/projects/pastis/src/app/models/pua.propreties.model.ts new file mode 100644 index 000000000..40e994595 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/models/pua.propreties.model.ts @@ -0,0 +1,7 @@ +export interface PuaProperties { + "properties": { + [name:string]: { + "$ref": "#/definitions/one-one" + } + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/models/seda-data.ts b/ui/ui-frontend/projects/pastis/src/app/models/seda-data.ts new file mode 100644 index 000000000..b032a93ec --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/models/seda-data.ts @@ -0,0 +1,88 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +//Seda element constants : +//Seda elelemtns can be attributes, simple or complex elements + +export enum SedaElementConstants { + attribute = 'Attribute', + simple = 'Simple', + complex = 'Complex' +} + +//Seda choice constants : can be yes or no +export enum SedaChoiceConstants { + yes = 'yes', + no = 'no', +} + +//Seda Extensible constants : can be yes or no +export enum SedaExtensibleConstants { + yes = 'yes', + no = 'no', +} + + +export enum SedaCardinalityConstants { + 'zeroOrOne' = '0-1', + 'one' = '1', + 'oreOrMore' = '1-N', + 'zeroOrMore' = '0-N' +} + + +export enum SedaCollections { + 'object' = 'Objets', + 'header' = 'Entete', + 'rules' = 'Regles', + 'arborescent' = 'Aborescence' +} + +export interface SedaData { + [key: string]: any; + Name:string; + NameFr: string; + Type:string; + Element:string; + Cardinality:string; + Definition:string; + Extensible:boolean; + Choice:boolean; + Children: SedaData[]; + Enumeration:string[]; + Collection: SedaCollections; +} diff --git a/ui/ui-frontend/projects/pastis/src/app/notice/notice.component.html b/ui/ui-frontend/projects/pastis/src/app/notice/notice.component.html new file mode 100644 index 000000000..8729b6939 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/notice/notice.component.html @@ -0,0 +1,95 @@ +<mat-sidenav-container [autosize]="true" [hasBackdrop]="false"> + <mat-sidenav-content> + <pastis-title-breadcrumb (selected)="navigate($event)" *ngIf="!isStandalone" + [data]="breadcrumbDataTop" + class="breadcrumbTop"> + </pastis-title-breadcrumb> + + <div class="pastis-metadata-option-container"> + <!-- Top left panel container --> + <div class="pastis-metadata-option-entete-1"> + <h5> + <i class="vitamui-icon vitamui-icon-dossier-physique"></i> + <ng-container *ngIf="this.profileService.profileMode==='PUA'"> + {{'PROFILE.EDIT_PROFILE.FILE_TREE_METADATA.PUA' | translate}} + </ng-container> + <ng-container *ngIf="this.profileService.profileMode==='PA'"> + {{'PROFILE.EDIT_PROFILE.FILE_TREE_METADATA.PA' | translate}} + </ng-container> + </h5> + </div> + <!--Top right panel container--> + <div class="pastis-metadata-option-entete-2"> + <!--Button save--> + <div [matTooltipShowDelay]="0" class="panel-buttons" matTooltip="Enregistrer le profil" matTooltipClass="pastis-tooltip-class" + placement="top"> + <pastis-user-action-save-profile></pastis-user-action-save-profile> + </div> + <!--Button setting--> + <div [matTooltipShowDelay]="0" class="panel-buttons" matTooltip="Paramètres" + matTooltipClass="pastis-tooltip-class" placement="top"> + <pastis-user-action-download-doc (click)="openChoicePopup()"></pastis-user-action-download-doc> + <div class="vitamui-pastis-choice-language"> + <pastis-popup-metadata-language (click)="changeSedaLanguage()" + *ngIf="languagePopup" + [docPath]="docPath"></pastis-popup-metadata-language> + </div> + </div> + </div> + </div> + <!--Check font.scss--> + <div class="pastis-notice-container"> + + <div class="pastis-notice-container-title"> + {{'NOTICE.ONGLET_NOTICE_TITLE' | translate}} + Notice + </div> + <div> + <div class="pastis-notice-container-id"> + <div class="pastis-notice-id-label"><p class="text caption bold" + style="color:var(--vitamui-primary)">{{'NOTICE.ONGLET_NOTICE_TYPE' | + translate}}</p> + </div> + <div class="pastis-notice-id-value"><p + class="text text-medium bold">{{profileService.profileMode === "PUA" ? 'Profil d\'unité archivistique' : + 'Profil d\'archivage'}}</p> + </div> + </div> + <div class="pastis-notice-container-id"> + <div class="pastis-notice-id-label"><p class="text caption bold" + style="color:var(--vitamui-primary)">{{'NOTICE.ONGLET_NOTICE_ID' | + translate}}</p> + </div> + <div class="pastis-notice-id-value"><p + class="text medium bold">{{ (notice.Identifier.length != 0) ? notice.Identifier : '-- --'}}</p></div> + </div> + </div> + <div class="pastis-notice-container-intitule"> + <vitamui-common-input [(ngModel)]="notice.Name" + [placeholder]="'NOTICE.ONGLET_NOTICE_INTITULE' |translate" + ></vitamui-common-input> + </div> + <div class="pastis-notice-container-description"> + <vitamui-common-textarea (change)="changeNotice()" *ngIf="notice" + [(ngModel)]="notice.Description" + [placeholder]="'NOTICE.ONGLET_NOTICE_DESCRIPTION' |translate"> + </vitamui-common-textarea> + </div> + <div *ngIf="profileService.profileMode==='PUA'" class="pastis-notice-footer"> + <vitamui-common-slide-toggle [checked]="false" [disabled]="false" + style="margin-top: 10px;"></vitamui-common-slide-toggle> + <div class="pastis-notice-container-chart"> + <div class="pastis-notice-chart"> + {{'NOTICE.NOTICE_CHART_UN' | translate}} + </div> + <div class="pastis-notice-chart"> + {{'NOTICE.NOTICE_CHART_DEUX' | translate}} + </div> + </div> + <div class="pastis-notice-container-info"> + <i class="vitamui-icon vitamui-icon-info-circle"></i> + </div> + </div> + </div> + </mat-sidenav-content> +</mat-sidenav-container> diff --git a/ui/ui-frontend/projects/pastis/src/app/notice/notice.component.scss b/ui/ui-frontend/projects/pastis/src/app/notice/notice.component.scss new file mode 100644 index 000000000..a7ce6fe19 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/notice/notice.component.scss @@ -0,0 +1,186 @@ + + +mat-icon{ + color: #65B2E4; +} +.pastis-edit-profile-header-name{ + width: 400px; + +} +.pastis-metadata-option-container { + position: relative; + width: 80%; + top: 20px; + height: 116px; +} +.pastis-notice-container { + position: relative; + width: 80%; + margin-left: 80px; + margin-top: 60px; + background: #FFFFFF; + border-radius: 5px; + height: 450px; +} +.pastis-notice-container-title { + /* Title */ + width: 373px; + height: 26px; + left: 40px; + top: 40px; + + padding-top: 40px; + padding-left: 40px; + + /* H6 - Roboto Medium */ + + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 20px; + line-height: 23px; + display: flex; + align-items: center; + + /* Black -- Hight */ + + color: #474D4A; +} +.pastis-notice-container-id { + margin-left: 40px; + margin-top: 14px; + padding-left: 10px; + padding-top: 5px; + left: 0%; + right: 0%; + top: 0%; + bottom: 0%; + border-radius: 3px; + width: 200px; + height: 50px; + display: inline-block; +} +.pastis-notice-id-label{ + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 13px; + line-height: 146.48%; + /* or 19px */ +} +.pastis-notice-id-value{ + left: 7%; + right: 12%; + top: 14%; + bottom: 12.53%; + + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 20px; + /* or 143% */ + + + color: #474D4A; +} +.pastis-notice-description { + width: 361.2px; + height: 103px; + left: 66.25px; + top: 246px; + + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 13px; + line-height: 20px; + /* or 154% */ + + + color: var(--vitamui-primary); +} +.pastis-notice-container-intitule { + position: relative; + top: 20px; + left: 40px; +} +.pastis-notice-intitule-key { + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 13px; + line-height: 15px; + display: flex; + align-items: center; + color: var(--vitamui-primary); +} +.pastis-notice-intitule { + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 13px; + line-height: 15px; + display: flex; + align-items: center; +} +.pastis-notice-container-description { + + position: relative; + top: 20px; + width: 420px; + left: 40px; + +} +.pastis-notice-description-label { + @extend .pastis-notice-intitule; + line-height: 20px; +} +.pastis-notice-description-value { + @extend .pastis-notice-intitule; + border: none; + resize: none; + width: 361.2px; + height: 103px; + font-size: 15px; + line-height: 20px; + color: #474D4A; +} + +.pastis-notice-footer { + margin-top: 27px; + margin-left: 40px; + padding-left: 10px; + padding-top: 5px; + display: inline-flex; +} + +.pastis-notice-container-info { + width: 30px; + height: 40px; + margin-top: 5px; +} + +.pastis-notice-chart { + width: 275px; + height: 19px; + padding-left: 5px; + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 146.48%; + color: #474D4A; +} +.pastis-notice-container-chart { + width: 285px; + height: 40px; +} +.vitamui-pastis-choice-language{ + position: absolute; + left: 15%; + width: 250px; + height: 150px; + overflow: visible; + z-index: 999; +} diff --git a/ui/ui-frontend/projects/pastis/src/app/notice/notice.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/notice/notice.component.spec.ts new file mode 100644 index 000000000..92242b852 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/notice/notice.component.spec.ts @@ -0,0 +1,63 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { NoticeComponent } from './notice.component'; + +describe('NoticeComponent', () => { + let component: NoticeComponent; + let fixture: ComponentFixture<NoticeComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ NoticeComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(NoticeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/notice/notice.component.ts b/ui/ui-frontend/projects/pastis/src/app/notice/notice.component.ts new file mode 100644 index 000000000..ea2aa57ea --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/notice/notice.component.ts @@ -0,0 +1,179 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +import {Component, OnDestroy, OnInit} from '@angular/core'; +import { Router, ActivatedRoute } from '@angular/router'; +import {Subscription} from 'rxjs'; +import {ToggleSidenavService} from '../core/services/toggle-sidenav.service'; +import {FormBuilder, FormControl, FormGroup} from '@angular/forms'; +import { ProfileService } from '../core/services/profile.service'; +import { PastisPopupMetadataLanguageService } from '../shared/pastis-popup-metadata-language/pastis-popup-metadata-language.service'; +import { FileService } from '../core/services/file.service'; +import { BreadcrumbDataTop } from '../models/breadcrumb'; +import { StartupService } from 'ui-frontend-common'; +import { environment } from '../../environments/environment'; +import { ProfileDescription } from '../models/profile-description.model'; + +@Component({ + selector: 'pastis-notice', + templateUrl: './notice.component.html', + styleUrls: ['./notice.component.scss'] +}) +export class NoticeComponent implements OnInit, OnDestroy { + + tabLabels: string[] = []; + keys: string[] = []; + notice: ProfileDescription; + noticeSub: Subscription; + opened: boolean; + openedSub: Subscription; + events: string[] = []; + newComponent: boolean; + options: FormGroup; + hideRequiredControl = new FormControl(false); + floatLabelControl = new FormControl('auto'); + docPath: string; + sedaLanguage: boolean; + languagePopup: boolean; + breadcrumbDataTop: Array<BreadcrumbDataTop>; + profileModeLabel: string; + isStandalone: boolean = environment.standalone; + + constructor(private route: ActivatedRoute, private sideNavService: ToggleSidenavService, private fb: FormBuilder, + private router: Router,private startupService: StartupService, public profileService: ProfileService, private fileService: FileService, private metadataLanguageService: PastisPopupMetadataLanguageService) { + this.options = this.fb.group({ + hideRequired: this.hideRequiredControl, + floatLabel: this.floatLabelControl, + }); + this.newComponent = (this.route.snapshot.url[0].path === "new"); + if(this.newComponent){ + this.noticeSub = this.fileService.notice.subscribe( + (value: any) => { + console.log(value) + this.notice = value; + }, + (error) => { + console.log(error) + } + ); + }else{ + this.noticeSub = this.fileService.notice.subscribe( + (value: any) => { + if(value && this.profileService.profileMode==='PUA'){ + this.notice = value; + }/* else { + const notice: ProfileDescription = { + description: '', + id: '', + name: '', + status: '', + identifier: '', + creationDate: '', + lastUpdate: '', + activationDate: '', + deactivationDate: '', + controlSchema: '', + tenant: 0, + version: 0, + fields: [], + + } + this.notice = notice; + }*/ + }, + (error) => { + console.log(error) + } + ); + } + } + ngOnInit() { + this.languagePopup = false; + this.docPath = this.isStandalone ? 'assets/doc/Standalone - Documentation APP - PASTIS.pdf' : 'assets/doc/VITAM UI - Documentation APP - PASTIS.pdf'; + this.profileModeLabel = this.profileService.profileMode==='PUA'?"PROFILE.EDIT_PROFILE.BREADCRUMB.PUA":"PROFILE.EDIT_PROFILE.BREADCRUMB.PA"; + this.breadcrumbDataTop = [{ label: "PROFILE.EDIT_PROFILE.BREADCRUMB.PORTAIL", url: this.startupService.getPortalUrl(), external: true},{ label: "PROFILE.EDIT_PROFILE.BREADCRUMB.CREER_ET_GERER_PROFIL", url: '/'}, { label: this.profileModeLabel }]; + + this.openedSub = this.sideNavService.isOpened.subscribe((status) => { + this.opened = status; + }, + (error) => { + console.log(error); + }); + this.keys.push('Profile d\'unité archivistique', 'Nom du PUA'); + this.tabLabels.push('NOTICE', 'UNITÉ D\'ARCHIVES'); + + } + + goBack(){ + this.router.navigate(['/'],{skipLocationChange: false}); + } + + navigate(d: BreadcrumbDataTop){ + if (d.external){ + window.location.assign(d.url); + } else { + this.router.navigate([d.url],{skipLocationChange: false}); + } +} + + changeNotice(){ + this.fileService.notice.next(this.notice); + } + + changeSedaLanguage(){ + this.metadataLanguageService.sedaLanguage.subscribe( + (value: boolean) => { + this.sedaLanguage = value; + }, + (error) => { + console.log(error) + } + ); + } + + openChoicePopup(){ + this.languagePopup = !this.languagePopup; + } + + ngOnDestroy(): void { + this.openedSub.unsubscribe(); + this.noticeSub.unsubscribe(); + } + + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/pastis/pastis-routing.module.ts b/ui/ui-frontend/projects/pastis/src/app/pastis/pastis-routing.module.ts new file mode 100644 index 000000000..6b33445b0 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/pastis/pastis-routing.module.ts @@ -0,0 +1,101 @@ +/* + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +import {CommonModule} from '@angular/common'; +import {NgModule} from '@angular/core'; +import {Route, RouterModule} from '@angular/router'; +import {SedaVisualizerComponent} from '../seda-visualizer/seda-visualizer.component'; +import {ActiveTenantGuard, TenantSelectionGuard, VitamUITenantSelectComponent} from 'ui-frontend-common'; +import {environment} from '../../environments/environment'; +import {ListProfileComponent} from '../profile/list-profile/list-profile.component'; +import {MainComponent} from '../main/main.component'; +import {PastisUnderConstructionComponent} from '../shared/pastis-under-construction/pastis-under-construction.component'; +import {CreateProfileComponent} from "../profile/create-profile/create-profile.component"; + +const standalone: boolean = environment.standalone; +const routes: Route[] = standalone ? +[ + { + path: '', + component: ListProfileComponent, + }, + {path: 'sedaview', component: SedaVisualizerComponent}, + {path: '', component: ListProfileComponent, data:{appId: 'PASTIS_APP'}}, + {path: 'edit/:id', component: MainComponent, data:{appId: 'PASTIS_APP'}}, + {path: 'new', component: MainComponent, data:{appId: 'PASTIS_APP'}}, + {path: '**', component: PastisUnderConstructionComponent, data:{appId: 'PASTIS_APP'}} +] : +[ + { + path: '', + redirectTo: 'tenant', + pathMatch: 'full', + }, + { + path: 'tenant', + component: VitamUITenantSelectComponent, + canActivate: [TenantSelectionGuard] + }, + { + path: 'tenant/:tenantIdentifier', + component: ListProfileComponent, + canActivate: [ActiveTenantGuard] + }, + { + path: 'tenant/:tenantIdentifier/sedaview', + component: SedaVisualizerComponent, + canActivate: [ActiveTenantGuard] + }, + { + path: 'tenant/:tenantIdentifier/createTest', + component: CreateProfileComponent, + canActivate: [ActiveTenantGuard] + }, + { + path: 'tenant/:tenantIdentifier/edit/:id', + component: MainComponent, + canActivate: [ActiveTenantGuard], + }, + {path: 'tenant/:tenantIdentifier/new', component: MainComponent, canActivate: [ActiveTenantGuard]}, +]; + + +@NgModule({ + declarations: [], + imports: [CommonModule, RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class PastisRoutingModule {} diff --git a/ui/ui-frontend/projects/pastis/src/app/pastis/pastis.component.html b/ui/ui-frontend/projects/pastis/src/app/pastis/pastis.component.html new file mode 100644 index 000000000..c790fb336 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/pastis/pastis.component.html @@ -0,0 +1,31 @@ +<div> + <h4>{{ 'ARRAY.BASIC_TITLE' | translate }}</h4> + <div class="vitamui-table"> + <div class="vitamui-table-head"> + <div class="col-2"> + <i class="vitamui-icon vitamui-icon-gestion-de-profil"></i> + </div> + <div class="col-3" i18n="Profile name@@profileListHeaderName">Nom du profil administrateur</div> + <div class="col-2">{{ 'COMMON.ID' | translate }}</div> + <div class="col-3" i18n="Description@@profileListHeaderDescription">Description</div> + <div class="col-2" i18n="Level@@profileListHeaderLevel">Niveau</div> + </div> + + <div class="vitamui-table-body"> + <div (click)="handleClick(profile)" *ngFor="let profile of dataSource" class="vitamui-table-rows"> + <div class="vitamui-row d-flex align-items-center clickable"> + <div class="col-2"> + <i + [ngClass]="profile?.status == 'ACTIVE' ? 'status-badge-green' : 'status-badge-grey'" + class="vitamui-icon vitamui-icon-gestion-de-profil" + ></i> + </div> + <div class="col-3" vitamuiCommonEllipsis>{{ profile.name }}</div> + <div class="col-2" vitamuiCommonEllipsis>{{ profile.identifier }}</div> + <div class="col-3" vitamuiCommonEllipsis>{{ profile.description }}</div> + <div class="col-2" vitamuiCommonEllipsis>{{ profile.creationDate }}</div> + </div> + </div> + </div> + </div> +</div> diff --git a/ui/ui-frontend/projects/pastis/src/app/pastis/pastis.component.scss b/ui/ui-frontend/projects/pastis/src/app/pastis/pastis.component.scss new file mode 100644 index 000000000..08b14fadc --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/pastis/pastis.component.scss @@ -0,0 +1 @@ +@import '~ui-frontend-common/sass/variables/colors'; \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/pastis/pastis.component.ts b/ui/ui-frontend/projects/pastis/src/app/pastis/pastis.component.ts new file mode 100644 index 000000000..84096f419 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/pastis/pastis.component.ts @@ -0,0 +1,72 @@ +/* + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +import { Component, OnDestroy, OnInit } from '@angular/core'; +import { ProfileDescription } from '../models/profile-description.model'; +import { ProfileService } from '../core/services/profile.service'; + +@Component({ + selector: 'app-pastis', + templateUrl: './pastis.component.html', + styleUrls: ['./pastis.component.scss'], +}) +export class PastisComponent implements OnInit, OnDestroy { + + dataSource: ProfileDescription[]; + + constructor(private profileService: ProfileService) { + } + + ngOnInit() { + +/* this.profileService.search(new PageRequest(0, DEFAULT_PAGE_SIZE, this.orderBy, Direction.ASCENDANT)) + .subscribe((data: FileFormat[]) => { + this.dataSource = data; + }); */ + console.error("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA") + this.profileService.getAllProfiles().subscribe( (data: ProfileDescription[]) => { + this.dataSource = data + }); + } + + ngOnDestroy() { + + } + + public handleClick(event: any): void { + console.log('[onClick] : ' + event); + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/pastis/pastis.module.ts b/ui/ui-frontend/projects/pastis/src/app/pastis/pastis.module.ts new file mode 100644 index 000000000..77f04c14e --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/pastis/pastis.module.ts @@ -0,0 +1,117 @@ +/* + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +import { CommonModule, DatePipe } from '@angular/common'; +import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { MatButtonModule } from '@angular/material/button'; +import { MatButtonToggleModule } from '@angular/material/button-toggle'; +import { MatCheckboxModule } from '@angular/material/checkbox'; +import { MatNativeDateModule } from '@angular/material/core'; +import { MatDatepickerModule } from '@angular/material/datepicker'; +import { MatDialogModule } from '@angular/material/dialog'; +import { MatFormFieldModule } from '@angular/material/form-field'; +import { MatIconModule } from '@angular/material/icon'; +import { MatInputModule } from '@angular/material/input'; +import { MatMenuModule } from '@angular/material/menu'; +import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; +import { MatSelectModule } from '@angular/material/select'; +import { MatSidenavModule } from '@angular/material/sidenav'; +import { MatTabsModule } from '@angular/material/tabs'; +import { MatTooltipModule } from '@angular/material/tooltip'; +import { MatTreeModule } from '@angular/material/tree'; +import { TranslateService } from '@ngx-translate/core'; +import { VitamUILibraryModule } from 'projects/vitamui-library/src/public-api'; +import { TableFilterModule, VitamUICommonModule } from 'ui-frontend-common'; +import { CoreModule } from '../core/core.module'; +import { MainComponent } from '../main/main.component'; +import { FileTreeModule } from '../profile/edit-profile/file-tree/file-tree.module'; +import { ProfileModule } from '../profile/profile.module'; +import { SharedModule } from '../shared/shared.module'; +import { UserActionAddMetadataComponent } from '../user-actions/add-metadata/add-metadata.component'; +import { UserActionRemoveMetadataComponent } from '../user-actions/remove-metadata/remove-metadata.component'; +import { UserActionsModule } from '../user-actions/user-actions.module'; +import { PastisRoutingModule } from './pastis-routing.module'; +import { PastisComponent } from './pastis.component'; + +@NgModule({ + imports: [ + CoreModule, + ProfileModule, + SharedModule, + UserActionsModule, + FileTreeModule, + MatTooltipModule, + CommonModule, + VitamUICommonModule, + MatDialogModule, + MatMenuModule, + MatSidenavModule, + MatTreeModule, + ReactiveFormsModule, + MatDatepickerModule, + MatButtonModule, + MatCheckboxModule, + FormsModule, + PastisRoutingModule, + MatNativeDateModule, + MatButtonToggleModule, + MatButtonToggleModule, + MatFormFieldModule, + MatInputModule, + MatSelectModule, + MatProgressSpinnerModule, + TableFilterModule, + VitamUILibraryModule, + MatIconModule, + MatTabsModule + ], + providers: [ + DatePipe, + TranslateService + ], + declarations: [ + PastisComponent, + MainComponent, + UserActionRemoveMetadataComponent, + UserActionAddMetadataComponent + ], + exports: [ + PastisComponent + ], + schemas: [CUSTOM_ELEMENTS_SCHEMA] +}) +export class PastisModule {} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.html b/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.html new file mode 100644 index 000000000..daa8c05b2 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.html @@ -0,0 +1,17 @@ +<div class="conteneur"> + + <div class="gauche"><pastis-generic-popup [firstChoice]="firstChoice" [secondChoice]="secondChoice" [title]="title"> + </pastis-generic-popup> + </div> + + <div class="droite"> + <i class="vitamui-icon vitamui-icon-info vitamui-grey-700 clickable" [style.fontSize.px]="25" + matTooltip="{{'PROFILE.CREATE_PROFILE.INFORMATION.TITRE_PA' | translate}} {{'PROFILE.CREATE_PROFILE.INFORMATION.CONTENT_PA' | translate}} {{'PROFILE.CREATE_PROFILE.INFORMATION.TITRE_PUA' | translate}} {{'PROFILE.CREATE_PROFILE.INFORMATION.CONTENT_PUA' | translate}}" + matTooltipPosition="right" + [matTooltipShowDelay]="300" + matTooltipClass="custom-tooltip"></i> + </div> +</div> + + + diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.scss b/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.scss new file mode 100644 index 000000000..21bb233d7 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.scss @@ -0,0 +1,25 @@ +.conteneur{ + display: flex; +} +.flex{ + flex-grow: 1; +} + +.gauche{ + float: left; + width:35% +} + +.droite{ + float: right; + width:15%; + margin-top: 4%; +} +::ng-deep .custom-tooltip { + white-space: pre-line; + letter-spacing: 0.1px !important; + text-justify: auto !important; + +} + + diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.spec.ts new file mode 100644 index 000000000..feb71601f --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CreateProfileComponent } from './create-profile.component'; + +describe('CreateProfileComponent', () => { + let component: CreateProfileComponent; + let fixture: ComponentFixture<CreateProfileComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ CreateProfileComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CreateProfileComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.ts b/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.ts new file mode 100644 index 000000000..287b0cc44 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.ts @@ -0,0 +1,88 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit } from '@angular/core'; +import {LangChangeEvent, TranslateService} from "@ngx-translate/core"; +import {environment} from "../../../environments/environment"; + +const POPUP_CREATION_CHOICE_PATH = 'PROFILE.POP_UP_CREATION.CHOICE'; + +function constantToTranslate() { + this.firstChoice = this.translated('.FIRST_CHOICE'); + this.secondChoice = this.translated('.SECOND_CHOICE'); + this.title = this.translated('.TITLE'); +} + +@Component({ + selector: 'pastis-create-profile', + templateUrl: './create-profile.component.html', + styleUrls: ['./create-profile.component.scss'] +}) +export class CreateProfileComponent implements OnInit { + firstChoice :string; + secondChoice:string; + title :string; + isStandalone: boolean = environment.standalone; + + constructor(private translateService: TranslateService) { } + + ngOnInit() { + if(!this.isStandalone){ + constantToTranslate.call(this); + this.translatedOnChange(); + } + else if(this.isStandalone) + { + this.firstChoice = "PA" + this.secondChoice = "PUA" + this.title = "Sélectionner un profil d'archivage" + } + } + + translatedOnChange(): void { + this.translateService.onLangChange + .subscribe((event: LangChangeEvent) => { + constantToTranslate.call(this); + console.log(event.lang); + }); + } + + translated(nameOfFieldToTranslate: string): string { + return this.translateService.instant(POPUP_CREATION_CHOICE_PATH + nameOfFieldToTranslate); + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.html b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.html new file mode 100644 index 000000000..f51ea2ea6 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.html @@ -0,0 +1,84 @@ +<div class="pastis-edit-profile-header"> + <div class="pastis-ico-close-sidenav"> + <i (click)="closeSideNav()" class="vitamui-icon vitamui-icon-close"></i> + </div> + + <div class="pastis-edit-profile-header-name"> + <p class="text large bold primary"> + <ng-container>{{this.profileService.profileName}}</ng-container> + </p> + </div> + <div *ngIf="this.profileService.profileId!==null" class="pastis-edit-profile-header-id"> + <p class="text medium light">{{'PROFILE.EDIT_PROFILE.PROFILE_ID' | translate}} : + {{this.profileService.profileId}}</p> + </div> +</div> +<div class="mat-table"> + <ng-container> + <mat-tab-group + (selectedTabChange)="loadProfile($event)" + [selectedIndex]="selectedIndex" + disableRipple="true" + fxFill> + <mat-tab *ngIf="canShowOnPuaMode(1)" label="{{tabLabels[0] | translate}}"> + <div class="pastis-tab-container"> + <ng-template matTabContent> + <pastis-file-tree *ngIf="fileService.currentTreeLoaded" + [childrenListToExclude]="headerTabChildrenToExclude" + [collectionName]="collectionNames[0]" + [rootElementName]="rootNames[0]" + [rootElementShowName]="collectionNames[0]" + [activeTabIndex]="selectedIndex"> + </pastis-file-tree> + </ng-template> + </div> + </mat-tab> + + <mat-tab *ngIf="canShowOnPuaMode(2)" label="{{tabLabels[1] | translate}}"> + <div class="pastis-tab-container"> + <ng-template matTabContent> + <pastis-file-tree *ngIf="fileService.currentTreeLoaded" + [childrenListToExclude]="rulesTabChildrenToExclude" + [childrenListToInclude]="rulesTabChildrenToInclude" + [collectionName]="collectionNames[1]" + [rootElementName]="rootNames[1]" + [rootElementShowName]="collectionNames[1]" + [activeTabIndex]="selectedIndex"> + </pastis-file-tree> + </ng-template> + </div> + </mat-tab> + + <mat-tab *ngIf="canShowOnPuaMode(3)" label="{{(puaMode ? tabLabels[4] : tabLabels[2]) | translate}}"> + <div class="pastis-tab-container"> + <ng-template matTabContent> + <pastis-file-tree *ngIf="fileService.currentTreeLoaded" + [childrenListToExclude]="treeTabChildrenToExclude" + [childrenListToInclude]="treeTabChildrenToInclude" + [collectionName]="collectionNames[2]" + [rootElementName]="rootNames[2]" + [rootElementShowName]="collectionNames[2]" + [activeTabIndex]="selectedIndex"> + </pastis-file-tree> + </ng-template> + </div> + </mat-tab> + + <mat-tab *ngIf="canShowOnPuaMode(4)" label="{{tabLabels[3] | translate}}"> + <div class="pastis-tab-container"> + <ng-template matTabContent> + <pastis-file-tree *ngIf="fileService.currentTreeLoaded" + [childrenListToExclude]="objectTabChildrenToExclude" + [childrenListToInclude]="objectTabChildrenToInclude" + [collectionName]="collectionNames[3]" + [rootElementName]="rootNames[3]" + [rootElementShowName]="collectionNames[3]" + [activeTabIndex]="selectedIndex"> + </pastis-file-tree> + </ng-template> + </div> + </mat-tab> + </mat-tab-group> + + </ng-container> +</div> diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.scss b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.scss new file mode 100644 index 000000000..5c908814a --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.scss @@ -0,0 +1,179 @@ +@import "../../../assets/css/colors"; + +.pastis-edit-profile-header{ + position: fixed; + width: 480px; + top: 70px; + height: 180px; + display: block; + background-color: #FFFFFF; + border-bottom: solid var(--vitamui-grey-200); +} +.mat-table{ + background-color: map-get($colors , 'ligthly-purple'); + position: fixed; + top: 220px; + height: 100%; + width: 480px; +} +.pastis-edit-profile-header-name{ + position: relative; + left: 40px; + top: 43px; + font-family: Roboto; + font-style: normal; + font-weight: bold; + font-size: 24px; + line-height: 24px; + right: 186px; + color: #FFFFFF; +} + +.pastis-edit-profile-header-id{ + position: relative; + left: 40px; + top: 25px; + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 13px; + line-height: 20px; + /* or 154% */ + color: #FFFFFF; +} + +.pastis-edit-profile-header-button { + position: absolute; + width: 50px; + height: 50px; + left: 347px; + right: 83px; + top: 73px; + text-align: center; + font-size: 20px; + background: #FFFFFF; + border-radius: 67px; +} + +.pastis-edit-profile-header-button-text { + + font-family: Arial; + font-style: normal; + font-weight: bolder; + line-height: 23px; + margin-top: 11px; + + /* identical to box height */ + + color: #5CBAA9; +} + +// The tabs containers +::ng-deep .mat-tab-header{ + left: 40px ; + right: 40px; + bottom: 37px ; + height: 37px; + max-width: fit-content; + border:none; +} + + + +// The tab +::ng-deep.mat-tab-label{ + @extend .pastis-font-label-historique !optional; + margin-right: 3px !important; + background: rgba(255, 255, 255, 0.3); + height: 37px !important; + padding: 0px !important; + min-width: fit-content !important; + opacity: unset !important; +} + +//The tab hover +::ng-deep.mat-tab-label:hover { + background: #FFFFFF!important; +} + +// Tab hover and tab text hover +::ng-deep.mat-tab-label:hover .mat-tab-label-content{ + text-shadow: 0.5px 0 #5E5D5D; + background: rgba(255, 255, 255, 0.3) !important; + color: #5E5D5D !important; +} + + +// The active tab (Black and bold) +::ng-deep .mat-tab-label-active{ + text-shadow: 0.5px 0 #5E5D5D; + background: #FFFFFF !important; + border-bottom: solid var(--vitamui-primary) 3px; +} + +// The tab content +::ng-deep .mat-tab-label-content{ + margin: 8px; + display: flex; + align-items: center; + color: var(--vitamui-grey-400); +} + + +// The content of the active tab +::ng-deep .mat-tab-label-active .mat-tab-label-content{ + color: var(--vitamui-primary) !important; + padding-top: 3px !important; +} + + +// The automatic tab pagination chevron +::ng-deep .mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination { + display: none !important; +} + +::ng-deep .mat-tab-group.mat-primary .mat-ink-bar, .mat-tab-nav-bar.mat-primary .mat-ink-bar .pastis-ink-bar{ + height: 0px; + + } + +.mat-tab-group { + @media screen and (min-height: 950px){ + max-height: 850px; + } + @media screen and (min-height: 700px) and (max-height: 950px){ + max-height: 500px !important; + } + @media screen and (min-height: 550px) and (max-height: 700px){ + max-height: 450px; + } + @media screen and (max-height: 550px){ + max-height: 350px; + } +} + +.mat-tab-body .mat-tab-body-active { + overflow-x: auto !important; + overflow-y: auto !important; +} + +.mat-tab-body-content { + overflow-x: auto !important; + overflow-y: auto !important; +} + +.pastis-ico-close-sidenav{ + position: absolute; + left: 90%; + top: 31px; + color: #FFFFFF; + cursor: pointer; + font-size: 24px; +} +.pastis-btn-pa-pua-toggle{ + float: right; + right: 60px; + top: 65px; + position: relative; +} + diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.spec.ts new file mode 100644 index 000000000..97090b8a8 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { EditProfileComponent } from './edit-profile.component'; + +describe('EditProfileComponent', () => { + let component: EditProfileComponent; + let fixture: ComponentFixture<EditProfileComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ EditProfileComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(EditProfileComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.ts b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.ts new file mode 100644 index 000000000..6f01a229c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.ts @@ -0,0 +1,285 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +import { Component, OnDestroy, ViewChild } from '@angular/core'; +import { ToggleSidenavService } from '../../core/services/toggle-sidenav.service'; +import { FileService } from '../../core/services/file.service'; +import { SedaService } from '../../core/services/seda.service'; +import { FileNode } from '../../models/file-node'; +import { MatTabChangeEvent } from '@angular/material/tabs'; +import { MatTreeNestedDataSource } from '@angular/material/tree'; +import { NestedTreeControl } from '@angular/cdk/tree'; +import { BehaviorSubject, Subscription} from 'rxjs'; +import { FileTreeComponent } from './file-tree/file-tree.component'; +import { SedaData } from '../../models/seda-data'; +import { NgxUiLoaderService } from 'ngx-ui-loader'; +import { ProfileService } from '../../core/services/profile.service'; +import { FileTreeService } from './file-tree/file-tree.service'; +import {TranslateService} from '@ngx-translate/core'; +import {environment} from "../../../environments/environment"; + +const EDIT_PROFILE_TRANSLATE_PATH = 'PROFILE.EDIT_PROFILE'; + +export interface UploadedProfileResponse { + profile: FileNode[]; + id: number; +} + +@Component({ + selector: 'pastis-edit-profile', + templateUrl: './edit-profile.component.html', + styleUrls: ['./edit-profile.component.scss'], +}) + +export class EditProfileComponent implements OnDestroy { + + nodeToSend: FileNode; + + sedaParentNode: SedaData; + + selectedIndex: number; + + profileRulesIsLoaded: boolean; + + loadRules: boolean; + + activeTabIndex: number; + + sideNavOpened: boolean; + + tabRootElementName: string; + + tabRulesMap: Map<string, Map<string, string[]>>; + nodeParentChildMap: Map<string, string[]>; + + dataChange = new BehaviorSubject<FileNode[]>([]); + + isStandalone: boolean = environment.standalone; + puaMode: boolean; + + entete: string = 'Entête'; + regles: string = 'Règles'; + unitesArchives: string = 'Unités d\'archives'; + objets: string = 'Objets'; + unitesArchivesPuaMode: string = 'Unité d\'archive'; + + + profileTabChildrenToInclude: string[] = []; + profileTabChildrenToExclude: string[] = []; + headerTabChildrenToInclude: string[] = []; + headerTabChildrenToExclude: string[] = []; + rulesTabChildrenToInclude: string[] = []; + rulesTabChildrenToExclude: string[] = []; + treeTabChildrenToInclude: string[] = []; + treeTabChildrenToExclude: string[] = []; + objectTabChildrenToInclude: string[] = []; + objectTabChildrenToExclude: string[] = []; + + rootNames: string[] = []; + tabLabels: string[] = []; + collectionNames: string[] = []; + tabShowElementRules: string[][][] = []; + + collectionName: string; + rootTabMetadataName: string; + elementRules: string[][] = []; + + profile: FileNode[]; + + @ViewChild(FileTreeComponent, {static: false}) fileTreeComponent: FileTreeComponent; + noticeSelected: boolean; + + private _fileServiceCurrentTreeSubscription : Subscription; + + constructor(private sedaService: SedaService, private fileService: FileService, + private sideNavService: ToggleSidenavService, public profileService: ProfileService, + private loaderService: NgxUiLoaderService, private fileTreeService:FileTreeService, + private translateService: TranslateService) { + this.selectedIndex = 0; + } + + initAll(){ + this.puaMode = this.profileService.profileMode === 'PA' ? false : true; + if(!this.isStandalone){ + this.entete = 'PROFILE.EDIT_PROFILE.ENTETE'; + this.regles = 'PROFILE.EDIT_PROFILE.REGLES'; + this.unitesArchives = 'PROFILE.EDIT_PROFILE.UNITES_ARCHIVES'; + this.objets = 'PROFILE.EDIT_PROFILE.OBJETS'; + this.unitesArchivesPuaMode= 'PROFILE.EDIT_PROFILE.UNITES_ARCHIVES_PUA_MODE'; + } + this.tabLabels.push(this.entete, this.regles, this.unitesArchives, this.objets, this.unitesArchivesPuaMode); + + let collectionSeda: string[] = []; + collectionSeda.push('Entête', 'Règles', 'Unités d\'archives', 'Objets'); + this.fileTreeService.nestedTreeControl = new NestedTreeControl<FileNode>(this.getChildren); + this.collectionNames = collectionSeda.map(name => name.charAt(0).toUpperCase() + name.slice(1).toLowerCase()); + + this.rootNames.push('ArchiveTransfer', 'ManagementMetadata', 'DescriptiveMetadata', 'DataObjectPackage'); + + // Children to include or exclude + this.profileTabChildrenToInclude.push(); + this.profileTabChildrenToExclude.push(); + this.headerTabChildrenToInclude.push(); + this.headerTabChildrenToExclude.push('DataObjectPackage', 'DataObjectGroup', 'DescriptiveMetadata', 'ManagementMetadata', 'id', 'BinaryDataObject'); + this.rulesTabChildrenToInclude.push(); + this.rulesTabChildrenToExclude.push(); + this.treeTabChildrenToInclude.push(); + this.treeTabChildrenToExclude.push(); + this.objectTabChildrenToInclude.push('BinaryDataObject', 'PhysicalDataObject') + this.objectTabChildrenToExclude.push('ManagementMetadata', 'ArchiveUnit', 'DescriptiveMetadata'); + this.tabShowElementRules.push( + [this.headerTabChildrenToInclude, this.headerTabChildrenToExclude], + [this.profileTabChildrenToInclude, this.profileTabChildrenToExclude], + [this.rulesTabChildrenToInclude, this.rulesTabChildrenToExclude], + [this.treeTabChildrenToInclude, this.treeTabChildrenToExclude], + [this.objectTabChildrenToInclude, this.objectTabChildrenToExclude]) + this.initActiveTabAndProfileMode(); + this.setTabsAndMetadataRules(this.activeTabIndex); + + //Set initial rules + this.fileService.setCollectionName(this.collectionName); + this.fileService.setTabRootMetadataName(this.rootTabMetadataName); + this.fileService.setNewChildrenRules(this.elementRules); + } + + ngAfterViewInit () { + this._fileServiceCurrentTreeSubscription = this.fileService.currentTree.subscribe(response => { + this.initAll(); + if (response && response!==undefined) { + this.nodeToSend = response[0]; + if (this.nodeToSend) { + this.fileService.allData.next(response); + let filteredData = this.getFilteredData(this.rootTabMetadataName); + + this.fileTreeService.nestedDataSource = new MatTreeNestedDataSource(); + this.fileTreeService.nestedDataSource.data = filteredData; + this.fileTreeService.nestedTreeControl.dataNodes = filteredData; + this.fileTreeService.nestedTreeControl.expand(filteredData[0]); + this.dataChange.next(filteredData); + this.fileService.filteredNode.next(filteredData[0]); + } + } + this.loadProfileData(this.activeTabIndex); + console.log("Init file tree node on file tree : %o", this.dataChange.getValue()); + }); + + this.sedaParentNode = this.sedaService.sedaRules[0]; + } + + translated(nameOfFieldToTranslate: string): string { + return this.translateService.instant(EDIT_PROFILE_TRANSLATE_PATH + nameOfFieldToTranslate); + } + + updateFileTree(response: FileNode[]) { + this.fileService.allData.next(response); + let filteredData = this.getFilteredData(this.rootTabMetadataName); + this.fileTreeService.nestedDataSource.data = filteredData; + this.fileTreeService.nestedTreeControl.dataNodes = filteredData; + this.fileTreeService.nestedTreeControl.expand(filteredData[0]); + this.dataChange.next(filteredData); + this.fileService.filteredNode.next(filteredData[0]); + } + +/* isTabClicked(i: number): boolean { + return i === this.activeTabIndex; + } */ + + initActiveTabAndProfileMode() { + this.profileService.profileMode === "PA" ? this.activeTabIndex = 0 : this.activeTabIndex = 2; + } + + loadProfile(event: MatTabChangeEvent) { + this.selectedIndex = event.index; + this.loadProfileData(event.index); + } + + setTabsAndMetadataRules(tabIndex: number) { + this.collectionName = this.profileService.profileMode === "PA" ? this.collectionNames[tabIndex] : this.collectionNames[2]; + this.rootTabMetadataName = this.profileService.profileMode === "PA" ? this.rootNames[tabIndex] : this.rootNames[2]; + this.elementRules = this.profileService.profileMode === "PA" ? this.tabShowElementRules[tabIndex] : this.tabShowElementRules[2]; + } + + loadProfileData(tabindex:number) { + this.setTabsAndMetadataRules(tabindex); + this.noticeSelected = false; + this.sideNavService.statusNotice(this.noticeSelected); + this.fileService.collectionName.next(this.collectionName) + this.fileService.rootTabMetadataName.next(this.rootTabMetadataName); + this.fileService.tabChildrenRulesChange.next(this.elementRules); + let fiteredData = this.getFilteredData(this.rootTabMetadataName); + if (fiteredData) { + this.fileService.tabRootNode.next(fiteredData[0]); + this.loaderService.start(); + this.fileService.nodeChange.next(fiteredData[0]); + this.fileTreeService.nestedDataSource.data = fiteredData; + this.fileTreeService.nestedTreeControl.dataNodes = fiteredData; + this.fileTreeService.nestedTreeControl.expand(fiteredData[0]); + this.fileTreeComponent.sendNodeMetadata(fiteredData[0]); + } + + this.loaderService.stop(); + } + + getFilteredData(rootTreeMetadataName: string): FileNode[] { + if (this.nodeToSend) { + let nodeNameToFilter = this.profileService.profileMode === "PA" ? rootTreeMetadataName : this.nodeToSend.name; + let currentNode = this.fileService.getFileNodeByName(this.fileService.allData.getValue()[0], nodeNameToFilter); + let filteredData = []; + filteredData.push(currentNode); + console.log("Filtered data : ", filteredData) + return filteredData; + } + } + + getChildren = (node: FileNode) => node.children; + + closeSideNav() { + this.sideNavService.hide() + } + + canShowOnPuaMode(tabIndex: number) { + return this.profileService.profileMode === "PUA" ? (tabIndex === 3) : true; + } + + ngOnDestroy() { + if(this._fileServiceCurrentTreeSubscription!= null){ + this._fileServiceCurrentTreeSubscription.unsubscribe(); + } + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.component.html b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.component.html new file mode 100644 index 000000000..fc958b867 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.component.html @@ -0,0 +1,88 @@ +<div class="table-container"> + + <table [dataSource]="matDataSource" mat-table> + + <!-- Selected Column --> + <ng-container matColumnDef="selected"> + <th *matHeaderCellDef class="pastis-font-table-header col-selection" mat-header-cell> + <mat-checkbox + (change)="toggleAllAttributes($event)" + (click)="$event.stopPropagation()" + [checked]="isChecked()"> + </mat-checkbox> + <span class="info-bulle"> </span> + + </th> + <td *matCellDef="let element;index as i;" class="pastis-metadata-table-col-large check-box" mat-cell> + <mat-checkbox + [(ngModel)]="element.selected " + [disabled]=isSedaObligatory(element) + [ngStyle]="{'mat-checkbox-checkmark-path': isSedaObligatory(element) ? 'grey' : ''}"></mat-checkbox> + </td> + </ng-container> + + + <!-- Name Column --> + <ng-container matColumnDef="nomDuChamp"> + <th *matHeaderCellDef class="pastis-font-table-header col-nom" mat-header-cell> + {{'PROFILE.EDIT_PROFILE.FILE_TREE_METADATA.ATTRIBUTS.NOM_ATTRIBUT' | translate}} + </th> + <td *matCellDef="let element" class="pastis-metadata-table-col-large" mat-cell> + <span [ngClass]="" + matTooltip="{{getSedaDefinition(element.nomDuChamp)}}" + matTooltipPosition="right"> + {{onResolveName(element.nomDuChamp)}} + </span> + </td> + </ng-container> + + <!-- Value Column --> + <ng-container matColumnDef="valeurFixe"> + <th *matHeaderCellDef class="pastis-font-table-header pastis-col" mat-header-cell> + {{'PROFILE.EDIT_PROFILE.FILE_TREE_METADATA.ATTRIBUTS.VALEUR_FIXE' | translate}} + </th> + <td *matCellDef="let element;index as i" class="pastis-metadata-table-col-medium" mat-cell> + <ng-container [ngSwitch]="getAttributeInputType(element)"> + <ng-container *ngSwitchDefault> + <div class="pastis-vitamui-container-editable-valeur-fixe"> + <vitamui-common-editable-textarea [(ngModel)]="element.valeurFixe" [maxlength]="120" + class="valeur-fixe-pastis"> + </vitamui-common-editable-textarea> + </div> + </ng-container> + <ng-container *ngSwitchCase="'enumeration'"> + <mat-select [(ngModel)]="element.valeurFixe" class="mat-select-valeur-fixe" + placeholder="Choisissez une valeur"> + <mat-option [value]=""></mat-option> + <mat-option *ngFor="let val of element.enumeration" [value]="val">{{val}}> + <mat-checkbox [checked]="selected === i"> {{val}} + </mat-checkbox> + </mat-option> + </mat-select> + </ng-container> + </ng-container> + <ng-template #simpleElement></ng-template> + </td> + </ng-container> + + <!-- Commnent Column --> + <ng-container matColumnDef="commentaire"> + <th *matHeaderCellDef class="pastis-font-table-header pastis-col" mat-header-cell> + {{'PROFILE.EDIT_PROFILE.FILE_TREE_METADATA.ATTRIBUTS.COMMENTAIRE' | translate}} + </th> + <td *matCellDef="let element;index as i" class="pastis-metadata-table-col-large" mat-cell> + <div class="pastis-vitamui-container-editable-commentaire"> + <vitamui-common-editable-textarea (ngModelChange)="setElementComment(element.nomDuChamp,$event)" [maxlength]="120" + [ngModel]="element.commentaire" + class="commentaire-pastis"> + </vitamui-common-editable-textarea> + </div> + + </td> + </ng-container> + + + <tr *matHeaderRowDef="displayedColumns;sticky: true" mat-header-row></tr> + <tr *matRowDef="let row; columns: displayedColumns;" mat-row style="background: white;"></tr> + </table> +</div> diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.component.scss b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.component.scss new file mode 100644 index 000000000..7aa460988 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.component.scss @@ -0,0 +1,179 @@ +@import '../../../../../assets/css/colors'; +@import '../../../../../assets/css/dropdown'; +@import '../../../../../assets/css/layout'; + + +table { + background: none; + max-height: 454px; + border-spacing: 0 5px; + margin-bottom: 30px; +} + +.table-container { + max-height: 270px; + overflow: auto; +} + +th { + border: none; + background: white; +} + +td { + border-radius: 5px; + border: none; +} + + +.col-nom { + + width: 204px !important; +} + +.input-valeur-fixe { + text-indent: 10px; + width: 130px !important; +} + +.input-comentaire { + width: 220px !important; + +} + +.td-cardinalite { + width: 100px !important; + text-align: center; + padding-left: 30px !important; + padding-right: 30px !important; +} + +.check-box { + width: 150px; + // padding-right: 39px !important; +} + +.info-bulle { + padding-left: 28px; + padding-right: 2px; + vertical-align: baseline; + font-size: 24px; + color: var(--vitamui-secondary-300); +} + +.col-selection { + text-align: left; + padding-right: 0px !important; +} + +.select-dropdown { + text-align: left; +} + +::ng-deep .mat-checkbox { + + .mat-checkbox-frame { + border-radius: 3px; + border: 1px solid var(--vitamui-grey-400); + background: white; + } + + &.mat-checkbox-checked .mat-checkbox-frame { + border-radius: 3px; + border: 1px solid var(--vitamui-primary); + background: var(--vitamui-primary); + } + + + &.mat-checkbox-checked .mat-checkbox-background, + .mat-checkbox-background { + background: transparent; + margin: 2px; + } + + .mat-checkbox-checkmark-path { + stroke: var(--vitamui-grey-font) !important; + stroke-width: 5px; + } + + + + span{ + font-size:14px; + color:var(--vitamui-grey-900); + } + + .mat-checkbox:checked { + background: yellow; + margin: 0px; + position: relative; + + &:before { + font-family: FontAwesome; + content: '\f00c'; + display: block; + color: #a61717; + font-size: 13px; + position: absolute; + } + } + +} + +::ng-deep .mat-checkbox-checked.mat-accent.mat-checkbox-disabled .mat-checkbox-background, +.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background { + border: none! important; + border-color: var(--vitamui-grey-700); + background-color: var(--vitamui-grey-300); + + .mat-checkbox-checkmark-path { + stroke: var(--vitamui-grey-700) !important; + } + + &.mat-checkbox-checked .mat-checkbox-frame { + border-radius: 3px; + border: 1px solid var(--vitamui-grey-700) !important; + background: var(--vitamui-grey-700); + } +} + +::ng-deep .mat-checkbox.mat-checkbox-disabled .mat-checkbox-frame{ + border: 1px solid var(--vitamui-primary); + border-color: var(--vitamui-grey-700); + background-color: var(--vitamui-grey-300); +} + + +/*// Pastis checkbox (enabled) +::ng-deep .mat-checkbox.mat-accent { + .mat-checkbox-frame { + border: 1px solid var(--vitamui-secondary-300); + + } + + &.mat-checkbox-checked .mat-checkbox-background { + background-color: white; + border: 1px solid var(--vitamui-secondary-300); + } + + .mat-checkbox-checkmark-path { + stroke: var(--vitamui-secondary-300) !important; + } + + } + + ::ng-deep .mat-checkbox-ripple .mat-ripple{ + display: none; + } + +// Pastis checkbox (disabled) +::ng-deep .mat-checkbox-checked.mat-accent.mat-checkbox-disabled .mat-checkbox-background, + .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background { + border: 1px solid; + border-color: map-get($colors,'black-low'); + background-color: white; + + .mat-checkbox-checkmark-path { + stroke: map-get($colors,'black-low') !important; + }*/ + diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.component.spec.ts new file mode 100644 index 000000000..5f32ca62f --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AttributesPopupComponent } from './attributes.component'; + +describe('EditAttributesPopupComponent', () => { + let component: AttributesPopupComponent; + let fixture: ComponentFixture<AttributesPopupComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ AttributesPopupComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(AttributesPopupComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.component.ts b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.component.ts new file mode 100644 index 000000000..77a6f3850 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.component.ts @@ -0,0 +1,329 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import {Component, Inject, OnInit,} from '@angular/core'; +import {MatCheckboxChange} from '@angular/material/checkbox'; +import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; +import {MatTableDataSource} from '@angular/material/table'; +import {FileService} from 'projects/pastis/src/app/core/services/file.service'; +import {SedaService} from 'projects/pastis/src/app/core/services/seda.service'; +import { + CardinalityConstants, + DataTypeConstants, + FileNode, + TypeConstants, + ValueOrDataConstants +} from '../../../../models/file-node'; +import {SedaData} from '../../../../models/seda-data'; +import {AttributeData} from '../../../../models/edit-attribute-models'; +import {FileTreeMetadataService} from '../file-tree-metadata.service'; +import {PastisDialogData} from 'projects/pastis/src/app/shared/pastis-dialog/classes/pastis-dialog-data'; +import {PopupService} from 'projects/pastis/src/app/core/services/popup.service'; +import {Subscription} from 'rxjs'; +import {PastisPopupMetadataLanguageService} from 'projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.service'; + +@Component({ + selector: 'pastis-edit-attributes', + templateUrl: './attributes.component.html', + styleUrls: ['./attributes.component.scss'] +}) +export class AttributesPopupComponent implements OnInit { + + displayedColumns: string[] = ['selected','nomDuChamp', 'valeurFixe', 'commentaire']; + + attributeCardinalities: string[]; + + elementSedaCardinality:string; + + selectedValue:string[]; + + parentFileNode:FileNode; + + selected = -1; + + // The datasource used by the DataTable in the popup + // It's data contains the list of Attributes to display + matDataSource: MatTableDataSource<AttributeData>; + + sedaLanguage: boolean; + sedaLanguageSub: Subscription; + + + constructor( + public dialogRef: MatDialogRef<AttributesPopupComponent>, + @Inject(MAT_DIALOG_DATA) public dialogReceivedData: PastisDialogData, + private sedaService: SedaService, + private fileService: FileService, + private fileTreeMetadataService: FileTreeMetadataService, + private popUpService : PopupService, + private sedaLanguageService: PastisPopupMetadataLanguageService + ) { } + + ngOnInit() { + + this.sedaLanguageSub = this.sedaLanguageService.sedaLanguage.subscribe( + (value: boolean) => { + this.sedaLanguage = value; + }, + (error) => { + console.log(error) + } + ); + + this.fileService.currentTree.subscribe( fileTree => { + if (fileTree) { + this.parentFileNode = fileTree[0]; + } + }); + this.matDataSource = this.getDataSource(this.dialogReceivedData.fileNode.sedaData, this.dialogReceivedData.fileNode); + this.initAttributeCardinality(); + // Subscribe any datasource change to setPopUpDataOnClose + setTimeout(() => { + this.popUpService.setPopUpDataOnClose(this.matDataSource.data); + }, 50); + } + + //Checks if a file node has an atttribute child + initAttributeCardinality(){ + for(let index in this.matDataSource.data){ + let fileNode = this.dialogReceivedData.fileNode; + let att = this.matDataSource.data[index]; + let attSedaData = fileNode.sedaData.Children.find((child: { Name: string; }) => child.Name === att.nomDuChamp); + if (attSedaData.Cardinality === CardinalityConstants.Obligatoire) { + this.matDataSource.data[index].selected = true; + } else { + this.matDataSource.data[index].selected = att.selected; + } + } + } + + setElementComment(elementName:string, newComment: string) { + for(let idx in this.matDataSource.data) { + if (this.matDataSource.data[idx].nomDuChamp === elementName) { + this.matDataSource.data[idx].commentaire = newComment; + } + } + console.log("ParentFileNode : ", this.parentFileNode); + for (let node of this.parentFileNode.children) { + if (node.name === elementName) { + node.documentation = newComment; + } + } + } + + setElementValue(elementName:string, newValue: string) { + for(let idx in this.matDataSource.data) { + if (this.matDataSource.data[idx].nomDuChamp === elementName) { + this.matDataSource.data[idx].valeurFixe = newValue; + } + } + for (let node of this.parentFileNode.children) { + if (node.name === elementName) { + node.value = newValue; + } + } + } + + /** + * Function that computes the "checked" state of the "select all" checkbox + * If all checkboxs are checked, then the "select all" checkbox is checked + */ + isChecked(): boolean { + return this.matDataSource.data.filter(a=>!a.selected).length==0; + } + + isSedaObligatory(attribute:AttributeData):boolean{ + if (attribute) { + let popUpData = <PastisDialogData>this.popUpService.getPopUpDataOnOpen(); + if (popUpData) { + let popSendSedaNodeFilted = popUpData.fileNode.sedaData.Children.find((child: { Name: string; })=>child.Name === attribute.nomDuChamp); + return popSendSedaNodeFilted.Cardinality.startsWith('1'); + } + } + return; + } + + /** + * Function that checks/unchecks all attributes + * @param change + */ + toggleAllAttributes(toggleAllCheckChange: MatCheckboxChange):void { + let istoggleAllChecked = toggleAllCheckChange.checked; + this.matDataSource.data.forEach(a=> { + this.isSedaObligatory(a)? a.selected = true :a.selected = istoggleAllChecked; + a.selectedCardinality = '1' + } + ); + } + + /** + * Function that checks/unchecks the attribute + * @param change + */ + toggleAttribute(change: MatCheckboxChange,elementName:string):void { + let element = this.matDataSource.data.find(a=> a.nomDuChamp === elementName); + element.selected = change.checked + } + + + /** + * Returns the modified FileNode from the popup + * + * It parses the datasource of the DataTable to collect the attributes + * and add them to the modified FileNode + */ + getFileNodeFromPopup():FileNode { + // We get the original FileNode that was passed to the popup + let fileNode: FileNode = this.dialogReceivedData.fileNode; + + this.fileService.deleteAllAttributes(fileNode); + + // Map all selected AttributeData to FileNode and add them as children of the fileNode + this.matDataSource.data + .filter(attributeData => attributeData.selected) + .forEach(attributeData => { + let attributeFileNode: FileNode = {} as FileNode; + attributeFileNode.id = window.crypto.getRandomValues(new Uint32Array(10))[0]; + attributeFileNode.cardinality = attributeData.selectedCardinality; + attributeFileNode.children = []; + attributeFileNode.dataType = DataTypeConstants[(fileNode.sedaData.Children.find(child=>child.Name === attributeData.nomDuChamp).Type.toString()) as keyof typeof DataTypeConstants]; + attributeFileNode.documentation = attributeData.commentaire ? attributeData.commentaire : null; + attributeFileNode.level = fileNode.level + 1; + attributeFileNode.name = attributeData.nomDuChamp; + attributeFileNode.parentId = fileNode.id; + attributeFileNode.type = TypeConstants.attribute; + attributeFileNode.value = attributeData.valeurFixe ? attributeData.valeurFixe : null; + attributeFileNode.valueOrData = ValueOrDataConstants.value; + // Add the attribute to the filenode + }); + + return fileNode; + } + + /** + * Get the datasource required to feed the datatable in the popup + * + * This datasource consists of a list of AttributeData + * + * @param sedaNode The seda definition of the node we want to edit + * @param fileNode The node which we want to edit attributes + */ + getDataSource(sedaNode: SedaData, fileNode: FileNode):MatTableDataSource<AttributeData> { + let attributeDataList:AttributeData[] = []; + // Loop on all the attributes available for the node in the seda definition + // Maps all the attributes node to AttributesData object + this.sedaService.getAttributes(sedaNode,sedaNode.Collection).forEach(sedaAttribute=>{ + + let attributeData : AttributeData = {} as AttributeData; + + attributeData.nomDuChamp=sedaAttribute.Name; + attributeData.type=sedaAttribute.Element; + + // Check if the attribute is already added to the current node + let fileAttribute = <FileNode> fileNode.children.find(child=>child.name === attributeData.nomDuChamp); + //let mattAttFound = this.matDataSource.data.find(att=> att.nomDuChamp === fileAttribute.name); + if (fileAttribute){ + // If the attribute is present in the FileNode + // We fill in the fields with the corresponding values + attributeData.valeurFixe = fileAttribute.value; + attributeData.selected = true; + attributeData.id = fileAttribute.id; + attributeData.commentaire = fileAttribute.documentation; + attributeData.cardinalities= this.fileTreeMetadataService.allowedCardinality.get(fileAttribute.cardinality); + attributeData.selectedCardinality=fileAttribute.cardinality; + attributeData.enumeration=sedaAttribute.Enumeration; + attributeData.valeurFixe=fileAttribute.value; + } else { + // If the attribute is not present, we fill in defaults values + attributeData.valeurFixe = null; + attributeData.selected = false; + attributeData.commentaire = null; + attributeData.id = window.crypto.getRandomValues(new Uint32Array(10))[0]; + attributeData.cardinalities = this.fileTreeMetadataService.allowedCardinality.get(sedaAttribute.Cardinality); + attributeData.selectedCardinality = null; + attributeData.enumeration=sedaAttribute.Enumeration; + } + attributeDataList.push(attributeData); + }); + // Create and return the datasource with the attribute's data + let result = new MatTableDataSource<AttributeData>(attributeDataList); + return result; + } + + getAttributeInputType(element: AttributeData) { + if (element.enumeration.length > 0) { + return 'enumeration'; + } + } + + getSedaDefinition(elementName:string) { + if(this.dialogReceivedData.fileNode.sedaData){ + for (let node of this.dialogReceivedData.fileNode.sedaData.Children){ + if (node.Name === elementName) { + return node.Definition + } + } + } + return "" + } + + onResolveName(elementName: string):string { + + if(this.dialogReceivedData.fileNode.sedaData){ + for (let node of this.dialogReceivedData.fileNode.sedaData.Children){ + if (node.Name === elementName) { + if(this.sedaLanguage){ + return node.Name; + } + else{ + if(node.NameFr){ + return node.NameFr; + } + return node.Name; + } + } + } + } + return "" + } + ngOnDestroy(): void { + if(this.sedaLanguageSub != null){ + this.sedaLanguageSub.unsubscribe(); + } + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.service.spec.ts new file mode 100644 index 000000000..7e59d14f1 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.service.spec.ts @@ -0,0 +1,49 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { TestBed } from '@angular/core/testing'; + +import { EditAttributesService } from './attributes.service'; + +describe('EditAttributesService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: EditAttributesService = TestBed.get(EditAttributesService); + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.service.ts b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.service.ts new file mode 100644 index 000000000..cc6568e1a --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/attributes/attributes.service.ts @@ -0,0 +1,46 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Injectable } from '@angular/core'; + +@Injectable({ + providedIn: 'root' +}) +export class EditAttributesService { + + constructor() { } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/center-matmenu.directive.spec.ts b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/center-matmenu.directive.spec.ts new file mode 100644 index 000000000..6445ba9eb --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/center-matmenu.directive.spec.ts @@ -0,0 +1,10 @@ +import { CenterMatmenuDirective } from './center-matmenu.directive'; + +describe('CenterMatmenuDirective', () => { + it('should create an instance', () => { + let directive: CenterMatmenuDirective; + // @ts-ignore + directive = new CenterMatmenuDirective(); + expect(directive).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/center-matmenu.directive.ts b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/center-matmenu.directive.ts new file mode 100644 index 000000000..57d6e5452 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/center-matmenu.directive.ts @@ -0,0 +1,111 @@ +import {Directive, ElementRef, HostListener, Input, Renderer2} from '@angular/core'; +import {FlexibleConnectedPositionStrategy, OverlayConfig, OverlayRef} from '@angular/cdk/overlay' +import {MatMenuPanel, MatMenuTrigger} from "@angular/material/menu"; + +@Directive({ + selector: '[center-mat-menu]' +}) +export class CenterMatmenuDirective { + overlayRef: OverlayRef; + overlayConf: OverlayConfig; + dropDown: HTMLElement; + overlayPositionBox: HTMLElement; + menu: MatMenuPanel; + button: HTMLElement; + buttonWidth: number; + buttonLeft: number; + buttonBottom: number; + arrowDiv: HTMLDivElement; + + @Input('center-mat-menu') private menuTrigger: MatMenuTrigger; + + constructor(private _menuButton: ElementRef, private _renderer: Renderer2) { + } + + + + @HostListener('click', ['$event']) + // @ts-ignore + onclick(e) { + console.log("cliquer ?") + this._setVariables(); + //menu not opened by keyboard down arrow, have to set this so MatMenuTrigger knows the menu was opened with a mouse click + this.menuTrigger['_openedBy'] = e.button === 0 ? 'mouse' : null; + + this._overrideMatMenu(); + + this.dropDown = this.overlayRef.overlayElement.children[0].children[0] as HTMLElement; + this.overlayPositionBox = this.overlayRef.hostElement; + + setTimeout(() => { + this._styleDropDown(this.dropDown); + this._setOverlayPosition(this.dropDown, this.overlayPositionBox); + this._openMenu(); + }) + } + + private _setVariables() { + const config = this.menuTrigger['_getOverlayConfig'](); + this.menuTrigger['_overlayRef'] = this.menuTrigger['_overlay'].create(config); + this.overlayRef = this.menuTrigger['_overlayRef']; + this.overlayConf = this.overlayRef.getConfig(); + this.overlayRef.keydownEvents().subscribe(); + this.menu = this.menuTrigger.menu; + this._setButtonVars(); + } + + private _setButtonVars() { + this.button = this._menuButton.nativeElement; + this.buttonWidth = this.button.getBoundingClientRect().width; + this.buttonLeft = this.button.getBoundingClientRect().left; + this.buttonBottom = this.button.getBoundingClientRect().bottom; + } + + private _overrideMatMenu() { + console.log(this.overlayConf) + let strat = this.overlayConf.positionStrategy as FlexibleConnectedPositionStrategy; + this.menuTrigger['_setPosition'](strat); + strat.positionChanges.subscribe(() => { + this._setButtonVars(); + this._setOverlayPosition(this.dropDown, this.overlayPositionBox); + }) + this.overlayConf.hasBackdrop = this.menu.hasBackdrop == null ? + !this.menuTrigger.triggersSubmenu() : this.menu.hasBackdrop; + this.overlayRef.attach(this.menuTrigger['_getPortal']()); + + if (this.menu.lazyContent) { + this.menu.lazyContent.attach() + } + + // @ts-ignore + this.menuTrigger['_closeSubscription'] = this.menuTrigger['_menuClosingActions']().subscribe(() => { + this.menuTrigger.closeMenu(); + setTimeout(() => { + this._renderer.removeChild(this.button, this.arrowDiv); + }, 75) + + }); + this.menuTrigger['_initMenu'](); + } + + private _styleDropDown(dropDown: HTMLElement) { + this.arrowDiv = this._renderer.createElement('div'); + this._renderer.addClass(this.arrowDiv, 'dialog-arrow'); + this._renderer.appendChild(this.button, this.arrowDiv); + this._renderer.setStyle(this.arrowDiv, 'left', (this.buttonWidth / 2) - 10 + 'px') + this._renderer.setStyle(this._renderer.parentNode(dropDown), 'transform-origin', 'center top 0px'); + } + + private _setOverlayPosition(dropDown: HTMLElement, overlayPositionBox: HTMLElement) { + let dropDownleft = ((this.buttonWidth / 2 + this.buttonLeft) - dropDown.offsetWidth / 2); + + this._renderer.setStyle(overlayPositionBox, 'top', this.buttonBottom + 1 + 'px'); + this._renderer.setStyle(overlayPositionBox, 'left', dropDownleft + 'px'); + this._renderer.setStyle(overlayPositionBox, 'height', '100%'); + } + + private _openMenu() { + // @ts-ignore + this.menuTrigger.menu['_startAnimation'](); + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.component.html b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.component.html new file mode 100644 index 000000000..a15559dee --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.component.html @@ -0,0 +1,240 @@ +<mat-sidenav-container [autosize]="true" [hasBackdrop]="false"> + <mat-sidenav-content> + <pastis-title-breadcrumb (selected)="navigate($event)" *ngIf="!isStandalone" + [data]="breadcrumbDataTop" + class="breadcrumbTop"> + </pastis-title-breadcrumb> + <!--Top panels container--> + <div class="pastis-metadata-option-container"> + <!-- Top left panel container --> + <div class="pastis-metadata-option-entete-1"> + <h5> + <i class="vitamui-icon vitamui-icon-dossier-physique"></i> + <ng-container *ngIf="this.profileService.profileMode==='PUA'"> + {{'PROFILE.EDIT_PROFILE.FILE_TREE_METADATA.PUA' | translate}} + </ng-container> + <ng-container *ngIf="this.profileService.profileMode==='PA'"> + {{'PROFILE.EDIT_PROFILE.FILE_TREE_METADATA.PA' | translate}} + </ng-container> + </h5> + <pastis-breadcrumb + (selected)="navigateMetadata($event)" + [data]="breadcrumbDataMetadata"> + </pastis-breadcrumb> + </div> + + <!--Top right panel container--> + <div class="pastis-metadata-option-entete-2"> + <!--Button save--> + <div class="panel-buttons" matTooltip="{{'PROFILE.EDIT_PROFILE.FILE_TREE_METADATA.ENREGISTRER_PROFIL_TOOLTIP' | + translate}}" matTooltipClass="pastis-matTooltipClass" placement="top" + show-delay="0"> + <pastis-user-action-save-profile></pastis-user-action-save-profile> + </div> + <!--Button setting--> + <div class="panel-buttons" matTooltip="{{'PROFILE.EDIT_PROFILE.FILE_TREE_METADATA.TELECHARGER_MANUEL_TOOLTIP' | + translate}}" matTooltipClass="pastis-matTooltipClass" + placement="top" show-delay="0"> + <pastis-user-action-download-doc (click)="openChoicePopup()"></pastis-user-action-download-doc> + <div class="vitamui-pastis-choice-language"> + <pastis-popup-metadata-language (click)="changeSedaLanguage()" + *ngIf="languagePopup" + [docPath]="docPath"></pastis-popup-metadata-language> + </div> + </div> + </div> + </div> + <div class="button-filter"> + + <vitamui-common-banner + (search)="applyFilterTier($event)" + [searchbarPlaceholder]="'PROFILE.EDIT_PROFILE.FILE_TREE_METADATA.SEARCH_PLACEHOLDER' | translate"> + <!--Button add metadata--> + <button (click)="onAddNode()" *ngIf="checkElementType() && resolveButtonLabel(clickedNode) !== null" class="btn primary ml-5" + style="text-transform: uppercase;">{{resolveButtonLabel(clickedNode)}} + </button> + </vitamui-common-banner> + </div> + + + <!--Metatada table container--> + <div class="pastis-table-container"> + <table *ngIf="shouldLoadMetadataTable(); else complexElementWithouChild" [dataSource]="matDataSource" class="list-profile-table" + mat-table> + <!-- Name Column --> + <ng-container matColumnDef="nomDuChamp"> + <th *matHeaderCellDef class="pastis-font-table-header pastis-col" + mat-header-cell>{{'PROFILE.EDIT_PROFILE.FILE_TREE_METADATA.NOM_METADONNEE' | + translate}} + </th> + <td *matCellDef="let element;index as j" class="pastis-metadata-table-col-large" mat-cell> + <span + [matTooltipShowDelay]="0" + [ngClass]="{'pastis-table-content': isSedaCardinalityConform(element.cardinalite,selectedCardinalities[j]), + 'pastis-table-content-with-errors': !isSedaCardinalityConform(element.cardinalite,selectedCardinalities[j])}" matTooltip="{{getSedaDefinition(element.nomDuChamp)}}" matTooltipClass="pastis-matTooltipClass" + placement="right"> + <i *ngIf="isElementComplex(element.nomDuChamp)" class="vitamui-icon vitamui-icon-complex-element-1-1"> + <span class="path1"></span><span class="path2"></span + ><span class="path3"></span><span class="path4"></span + ><span class="path5"></span> + </i> + + + {{onResolveName(element.nomDuChamp)}} + <mat-icon *ngIf="!isSedaCardinalityConform(element.cardinalite,selectedCardinalities[j])" + matTooltip="La cardinalité n'est pas conforme aux specifications du SEDA 2.1" + matTooltipClass="pastis-table-content" + matTooltipPosition="above"> + info + </mat-icon> + </span> + </td> + </ng-container> + + <!-- Value Column --> + <ng-container matColumnDef="valeurFixe"> + <th *matHeaderCellDef class="pastis-font-table-header pastis-col" + mat-header-cell>{{'PROFILE.EDIT_PROFILE.FILE_TREE_METADATA.VALEUR_FIXE' | + translate}} + </th> + <td *matCellDef="let element;index as i" class="pastis-metadata-table-col-medium" mat-cell> + <ng-container [ngSwitch]="getMetadataInputType(element)"> + <ng-container *ngSwitchCase="'date'"> + <div class="pastis-vitamui-container-editable-valeur-fixe"> + <vitamui-common-editable-textarea (ngModelChange)="setNodeValue(element,$event)" [dpDayPicker]="config" + [maxlength]="120" + [ngModel]="element.valeurFixe" + class="valeur-fixe-pastis"> + </vitamui-common-editable-textarea> + </div> + </ng-container> + <ng-container *ngSwitchCase="'enumeration'"> + <mat-select [ngModel]="element.valeurFixe" class="mat-select-valeur-fixe" + placeholder="Choisissez une valeur"> + <mat-option [value]=""></mat-option> + <mat-option *ngFor="let val of element.enumeration; let i =index" [value]="val"> + <mat-checkbox (change)="onChange(element,val);selected = i" [checked]="selected === i"> {{val}} + </mat-checkbox> + </mat-option> + </mat-select> + </ng-container> + <ng-container *ngIf="!checkElementType(element.nomDuChamp)"> + <div *ngSwitchDefault class="pastis-vitamui-container-editable-valeur-fixe"> + <vitamui-common-editable-textarea (ngModelChange)="setNodeValue(element,$event)" [maxlength]="120" + [ngModel]="element.valeurFixe" + class="valeur-fixe-pastis"> + </vitamui-common-editable-textarea> + </div> + </ng-container> + </ng-container> + <ng-template #simpleElement></ng-template> + </td> + </ng-container> + + <!-- Cardinality Column --> + <ng-container matColumnDef="cardinalite"> + <th *matHeaderCellDef class="pastis-font-table-header pastis-col" + mat-header-cell>{{'PROFILE.EDIT_PROFILE.FILE_TREE_METADATA.CARDINALITE' | + translate}} + </th> + <td *matCellDef="let element;index as i" class="pastis-metadata-table-col-small" mat-cell> + <mat-select (ngModelChange)="setNodeChildrenCardinalities(element,$event)" [ngModel]="selectedCardinalities[i]" + class="select-border" disableRipple="true" + panelClass="vitamui-mat-select"> + <mat-option *ngFor="let c of element.cardinalite" [value]="c"> + <span class="cardinality-text">{{c}}</span> + </mat-option> + </mat-select> + </td> + </ng-container> + + <!-- Commnent Column --> + <ng-container matColumnDef="commentaire"> + <th *matHeaderCellDef class="pastis-font-table-header pastis-col" + mat-header-cell> {{'PROFILE.EDIT_PROFILE.FILE_TREE_METADATA.COMMENTAIRE' | + translate}} + </th> + <td *matCellDef="let element;index as i" class="pastis-metadata-table-col-large" mat-cell> + <div class="pastis-vitamui-container-editable-commentaire"> + <vitamui-common-editable-textarea (ngModelChange)="setDocumentation(element,$event)" [maxlength]="120" + [ngModel]="element.commentaire" + class="commentaire-pastis"> + </vitamui-common-editable-textarea> + </div> + + </td> + </ng-container> + + <!--Menu options--> + <ng-container matColumnDef="menuoption"> + <th *matHeaderCellDef class="pastis-font-table-header pastis-col" mat-header-cell></th> + <td *matCellDef="let element;index as i" class="pastis-metadata-table-col-small" mat-cell> + <button (click)="onButtonClicked(element.id,$event)" *ngIf="isRowHovered(element.id)" [center-mat-menu]="menuTrigger" [ngClass]="{'pastis-btn-metadata-options-active': isButtonClicked(element.id,matDataSource.data[rowIndex]), + 'pastis-btn-metadata-options': !isButtonClicked(element.id,matDataSource.data[rowIndex]) }" + disableRipple="true" id="menuBtn" + mat-icon-button> + <mat-icon + [ngClass]="{'pastis-ico-menu-active': isButtonClicked(element.id,matDataSource.data[rowIndex]), + 'pastis-ico-menu-inactive': !isButtonClicked(element.id,matDataSource.data[rowIndex])}"> + {{isButtonClicked(element.id, matDataSource.data[rowIndex]) ? 'close' : 'more_horiz'}} + </mat-icon> + </button> + + <div #menuTrigger="matMenuTrigger" (menuClosed)="rowIndex = 100" (menuOpened)="rowIndex = i" + [matMenuTriggerFor]="menu"> + + <mat-menu #menu="matMenu" [overlapTrigger]="false" class="pastis-menu-item-vitam"> + <!-- Dupliquer--> + <mat-divider *ngIf="isDuplicated(element.nomDuChamp) && this.profileService.profileMode==='PA'" + style="border-top-color:#E0E0E0;"> + </mat-divider> + <button (click)="onDuplicateNode(element.id)" *ngIf="isDuplicated(element.nomDuChamp) && this.profileService.profileMode==='PA'" + mat-menu-item> + <mat-icon style="color:#757575">filter_none</mat-icon> + <span class="text normal">{{'PROFILE.EDIT_PROFILE.FILE_TREE_METADATA.DUPLIQUER' | translate}}</span> + </button> + <!-- @Attributs--> + <mat-divider *ngIf="hasAttributes(element.nomDuChamp) && this.profileService.profileMode==='PA'" + style="border-top-color:#E0E0E0;"></mat-divider> + <button (click)="onEditAttributesClick(element.id)" + *ngIf="hasAttributes(element.nomDuChamp) && this.profileService.profileMode==='PA'" + mat-menu-item> + <i class="vitamui-icon vitamui-icon-alternate_email_black_24dp" style="margin-right: 16px; + vertical-align: middle; + color:#757575; + font-size: 1.77em;"> + </i> + <span + class="text normal">{{'PROFILE.EDIT_PROFILE.FILE_TREE_METADATA.ATTRIBUT_METADONNEE' | translate}}</span> + </button> + <!-- @Supprimer--> + <mat-divider *ngIf="!isSedaObligatory(element.nomDuChamp)" style="border-top-color:#E0E0E0;"> + </mat-divider> + <button (click)="onDeleteNode(element.id)" *ngIf="!isSedaObligatory(element.nomDuChamp)" + mat-menu-item> + <mat-icon style="color:#757575">delete</mat-icon> + <span class="text normal">{{'PROFILE.EDIT_PROFILE.FILE_TREE_METADATA.SUPPRIMER' | translate}}</span> + </button> + </mat-menu> + </div> + </td> + + </ng-container> + + <tr *matHeaderRowDef="displayedColumns;sticky: true" class="pastis-table-row-header" mat-header-row></tr> + <tr (mouseenter)="onMouseOver(row)" (mouseleave)="onMouseLeave(row)" *matRowDef="let row; columns: displayedColumns;" + class="pastis-table-row" mat-row></tr> + </table> + </div> + + <ng-template #complexElementWithouChild> + <div + class="complex-element-no-child"> + {{'PROFILE.EDIT_PROFILE.FILE_TREE_METADATA.MESSAGE_METADONNEE_SANS_FILLES.PARTIEUN' | translate}} + {{clickedNode.name}} {{'PROFILE.EDIT_PROFILE.FILE_TREE_METADATA.MESSAGE_METADONNEE_SANS_FILLES.PARTIEDEUX' | + translate}} + </div> + </ng-template> + + </mat-sidenav-content> +</mat-sidenav-container> diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.component.scss b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.component.scss new file mode 100644 index 000000000..27aceb937 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.component.scss @@ -0,0 +1,571 @@ +@import "../../../../assets/css/mixins"; +@import "../../../../assets/css/layout"; +@import "../../../../assets/css/colors"; +@import "../../../../assets/css/font"; +@import "../../../../assets/css/buttons"; +@import "../../../../assets/css/input"; +@import '~ui-frontend-common/sass/mixins/elevation'; +@import '~ui-frontend-common/sass/material/menu'; +@import '~ui-frontend-common/sass/icons/vitamui-icons'; +@import '~ui-frontend-common/sass/variables/colors'; +@import '~ui-frontend-common/sass/editable-field'; + + +td { + padding-right: 20px !important; +} + +.metadata-form { + position: absolute; + width: 100%; + height: 100%; + background: white; +} + +.button-filter { + margin-top: 67px; + margin-left: 74px; + margin-bottom: -40px; + height: 80px !important; + position: relative !important; + width: 60%; + +} + +.mat-drawer-content{ + height: max-content !important; +} + +.item-metadata { + margin-top: 35px; +} + +.item-definition-icon { + position: relative; + top: 5px; +} + +// Inital content +.pastis-table-container .mat-select { + @extend .dropdown; + @extend .pastis-dropdown-border-button1-enabled; + max-height: 50px; +} + +// Inital content text +.pastis-table-container .mat-select-value { + vertical-align: middle; + color: var(--vitamui-grey-600); + @extend .text-text-normal; + @extend .pastis-dropdown-text-button1-enabled; +} + + +/////////////################ Select trigger - Text + arrow +.pastis-table-container .mat-select-arrow { + background: url(../../../../assets/svg/icons/drop-box-arrow-vitam.svg) no-repeat 100% 50% ; + background-size: 24px 24px; + border: none !important; + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; + outline-width: 0; + padding: 4px 4px 24px 24px; + display: block; + margin: 0px -10px 0px 0px !important; +} + +.pastis-table-container .mat-select-value-text { + @extend .text-text-normal; + color: var(--vitamui-grey-600); + vertical-align: middle; + //margin-left: 25px; + max-width: 200px; +} + +.pastis-table-container .mat-select-placeholder { + //styleName: Text/Text-medium; + @extend .text-text-medium; + color:#757575; + +} + + +// Cardinality dropdown + +// Overhide mat-select-panel default min-size : calc(100%) + 32px; +.mat-select-panel { + min-width: 100% !important; +} + +// Hover on select +.cardinality-dropdown .mat-select-panel { + left: 0%; + right: 0%; + top: 10%; + bottom: 0%; + max-height: 205px; + max-width: 100px; +} + +// The select dropdown box +.cardinality-dropdown { + border: 1px solid #65b2e4; + margin-left: 20px; +} + +// The selected option +.cardinality-dropdown .mat-option.mat-selected:not(.mat-option-disabled) { + @extend .pastis-font-roboto-regular; + @extend .pastis-black-medium; + background: url(../../../../assets/svg/icons/check.svg) no-repeat 100% 50%; + //background:yellow; + background-position: 10px 12px; +} + +//The hovered option +.cardinality-dropdown .mat-option:hover { + @extend .pastis-bg-secondary-200; + @extend .pastis-font-roboto-regular; + @extend .pastis-black-height; +} + +// The text on dropdown +.cardinality-text { + margin-left: 12px; + float: left; +} + +.item-definition { + text-align: left; + position: relative; + color: #4c4a37; + font-family: 'Source Sans Pro', sans-serif; + font-size: 18px; + line-height: 32px; + margin: 0 0 24px; +} + +.value-text-area { + padding: 10px 15px 10px 15px; + width: 140px; + color:#212121; + height:50px; + @extend .pastis-table-input-border; + display: flex; + align-items: center; + resize: none; + outline: none; + //styleName: Text/Text-medium; + @extend .text-text-medium; +} + +.value-label{ + //styleName: Caption/Caption-bold; + font-family: Mulish; + font-size: 12px; + font-style: normal; + font-weight: 700; + line-height: 16px; + letter-spacing: -0.20000000298023224px; + text-align: left; + color:#9C31B5; + +} + +.pastis-table-input-border, .value-text-area, .comment-text-area, .select-border, .commentaire-pastis .vitamui-input:not(.disabled) { + padding: 10px 15px 10px 15px; +} + + +.select-border{ + @extend .pastis-table-input-border; +} + +.comment-text-area { + @extend .value-text-area; + //@extend .pastis-textarea-comment; + float: left; + text-align: left; + text-indent: 10px; + width: 80%; +} + +.valeur-fixe-pastis{ + @extend .commentaire-pastis; + width: 140px !important; +} + + +.commentaire-pastis { + .editable-field { + min-height: 50px !important; + } + + .display-all { + white-space: nowrap !important; + } + + .vitamui-input:not(.disabled) { + @extend .select-border + } + + @extend .editable-field-content; + .editable-field-text-content { + text-overflow: ellipsis; + overflow: hidden; + margin-top: 0 !important; + + //styleName: Text/Text-medium; + font-family: Mulish, sans-serif; + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: 24px; + letter-spacing: 0px; + text-align: left; + } + @extend .editable-field-control; + .editable-field-control > textarea { + + height: 20px !important; + border: none!important; + + &:focus { + outline: none; + } + } + + +} + + +.radio-group { + display: flex; + flex-direction: column; + margin: 15px 0; +} + +.radio-button { + margin: 5px; +} + + +table { + width: 100%; + @include mat-table-columns(( + valeurFixe:(width:140px!important), + cardinalite:(width:120px!important) +)); +} + +.pastis-btn-add-tag { + width: 210px; + float: left; + height: 50px; + @extend .pastis-btn-primary-enabled; +} + +.pastis-btn-add-tag:hover { + @extend .pastis-btn-primary-hover; +} + +.pastis-btn-add-tag:disabled { + @extend .pastis-btn-primary-disabled; +} + +.pastis-btn-add-tag:active { + @extend .pastis-btn-primary-focus; +} + + + +thead { + border-radius: 5px !important; +} + +table { + border-radius: 5px !important; + border-spacing: 0 5px !important; +} + + + +tr:hover .pastis-btn-appear { + display: block; +} + +.pastis-btn-appear { + display: none; +} + +.pastis-item-menu { + margin-top: -7px; + border: 1px solid #9E9E9E; + float: right !important; + /* Elevation 3 */ + box-shadow: 0px 11px 15px rgba(0, 0, 0, 0.1), 0px 9px 46px rgba(0, 0, 0, 0.06), 0px 24px 38px rgba(0, 0, 0, 0.07); + border-radius: 10px !important; + @extend .pastis-bg-white-highlight; +} + +.pastis-item-menu-text { + color: #212121; + @extend .pastis-body-2; +} + +.pastis-btn-metadata-options { + @extend .pastis-btn-rounded-mini-neutral-enabled; + border: 1px solid var(--vitamui-primary-700) !important; + width: 40px; + height: 40px; + z-index: 10; +} + +.pastis-btn-metadata-options-active { + @extend .pastis-btn-rounded-mini-neutral-enabled; + background: var(--vitamui-primary-100); + width: 40px; + height: 40px; + border: 1px solid var(--vitamui-primary-700) !important; +} + + +.pastis-ico-menu-active { + color: var(--vitamui-primary-500) !important; +} + +.pastis-ico-menu-inactive { + color: var(--vitamui-primary); +} + +.pastis-table-container { + overflow-x: hidden; + //max-height: 425px; + top: 30px; + margin-left: 74px; + position: relative; + margin-right: 120px; +} + +.button-container { + margin-left: 80px; + top: 100px; + width: 270px; + height: 50px; + position: relative; + height: 50px; +} + +.breadcrumbTop { + left: 72px; + position: relative; + width: 600px; + height: 50px; + display: inline-block; +} + +.pastis-metadata-option-container { + @extend .pastis-panel-radius-10; + @extend .pastis-panel-shadow; + position: relative; + margin-left: 74px; + margin-right: 120px; + height: 133px; + background-color: white; +} + +.pastis-metadata-option-entete-1 { + position: relative; + height: 117px; + float: left; + padding-left: 35px; + padding-top: 20px; +} + +.pastis-metadata-option-entete-1 .vitamui-icon-dossier-physique { + font-size: 40px !important; + display: inline; + margin-right: 32px; + vertical-align: bottom; +} + +.pastis-metadata-option-entete-2 { + position: relative; + height: 117px; + width: 172px; + display: inline-flex; + float: right; +} + +.pastis-metadata-filtre { + position: relative !important; + width: 70%; + height: 140px; + float: left; + margin-left: 80px; +} + +.pastis-position-btn-arrow-back { + position: absolute; + left: 36px; + top: 46px; + @extend .pastis-btn-rounded-mini-neutral; +} + +.pastis-btn-rounded-arrow-back { + + width: 30px; + height: 30px; + @extend .pastis-btn-rounded-mini-primary; +} + + +.pastis-ico-arrow-back { + @extend .pastis-white-highlight; + cursor: pointer; + font-size: 24px; + margin-left: -5px; +} + + +.pastis-entete-1-text { + margin-top: 33px; + margin-left: 12%; + text-align: left; +} + +.pastis-entete-1-text-titre { + position: absolute; + left: 5%; + right: 5.06%; + top: 25.64%; + bottom: 50.43%; + font-weight: bold; + font-size: 20px; +} + +.pastis-entete-1-text-body-1 { + position: absolute; + width: 500px; + height: 20px; + left: 5%; + top: 68px; + + @extend .pastis-font-roboto-regular; + @extend .pastis-primary-500; +} + +.pastis-entete-1-text-body-2 { + @extend .pastis-font-roboto-regular; + @extend .pastis-grey-900; +} + + +// Right top panel : Buttons style definition // + +.panel-buttons { + text-align: center; + margin-top: 40px; + margin-inline: 5px; + margin-inline-end: 20px; +} + + +.pastis-ico-open { + @extend .pastis-ico-svg; + color: white; +} + +.pastis-ico-complex-element { + vertical-align: middle; + margin-right: 10px; +} + + +dp-date-picker { + display: flex !important; +} + +dp-day-calendar .dp-day-calendar-container { + border-radius: 20px !important; + box-shadow: 0px 11px 15px rgba(0, 0, 0, 0.1), 0px 9px 46px rgba(0, 0, 0, 0.06), 0px 24px 38px rgba(0, 0, 0, 0.07) !important; +} + +.dp-selected { + background: blueviolet !important; +} + +.dp-current-day { + border: 1px solid blueviolet !important; +} + + +.pastis-metadata-table-col-large .mat-select, +.pastis-metadata-table-col-large .mat-select:focus{ + width: 80%; +} + + + +.pastis-metadata-table-col-large textarea { + height: 50px; + text-indent: 10px; + +} + +.pastis-metadata-table-col-large textarea:focus { + height: 200px; + +} + +.pastis-metadata-table-col-small .mat-select { + max-width: 120px; + height:50px; + padding: 13px 15px 13px 15px; +} + +.complex-element-no-child { + text-align: left; +} +.mat-sidenav-content{ + padding-bottom: 30px; +} + +.pastis-menu-item-vitam{ + @extend .vitamui-menu-panel; + .mat-menu-item:hover:not([disabled]), + .mat-menu-item.cdk-program-focused:not([disabled]), + .mat-menu-item.cdk-keyboard-focused:not([disabled]), + .mat-menu-item-highlighted:not([disabled]) { + color: white; + background-color: map-get($colors, 'ligthly-purple' ) !important; + } +} + +.pastis-vitamui-container-editable-commentaire{ + width: 203px; + height:50px; + position: relative; +} + +.pastis-vitamui-container-editable-valeur-fixe{ + width: 140px !important; + height:50px; + position: relative; +} + +.mat-select-valeur-fixe { +@extend .select-border; + width: 140px !important; + height:50px !important; + margin: 2px ; +} +.vitamui-pastis-choice-language{ + position: absolute; + left: 15%; + width: 250px; + height: 150px; + overflow: visible; + z-index: 999; +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.component.spec.ts new file mode 100644 index 000000000..a2f78372a --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { FileTreeMetadataComponent } from './file-tree-metadata.component'; + +describe('FileTreeMetadataComponent', () => { + let component: FileTreeMetadataComponent; + let fixture: ComponentFixture<FileTreeMetadataComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ FileTreeMetadataComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(FileTreeMetadataComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.component.ts b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.component.ts new file mode 100644 index 000000000..7fa1ed63b --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.component.ts @@ -0,0 +1,693 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import {CdkTextareaAutosize} from '@angular/cdk/text-field'; +import {Component, EventEmitter, Output, ViewChild, ViewEncapsulation} from '@angular/core'; +import {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms'; +import {MatTableDataSource} from '@angular/material/table'; +import {FileService} from '../../../core/services/file.service'; +import {SedaService} from '../../../core/services/seda.service'; +import { + CardinalityConstants, + DataTypeConstants, + FileNode, + FileNodeInsertAttributeParams, + FileNodeInsertParams, + nodeNameToLabel, + TypeConstants, + ValueOrDataConstants +} from '../../../models/file-node'; +import {SedaData, SedaElementConstants} from '../../../models/seda-data'; +import {FileTreeMetadataService} from './file-tree-metadata.service'; +import {AttributesPopupComponent} from './attributes/attributes.component'; +import {AttributeData} from '../../../models/edit-attribute-models'; +import {ProfileService} from '../../../core/services/profile.service'; +import {BreadcrumbDataMetadata, BreadcrumbDataTop} from '../../../models/breadcrumb'; +import {StartupService} from 'ui-frontend-common'; +import {Router} from '@angular/router'; +import {Subscription} from "rxjs"; +import {MatCheckboxChange} from "@angular/material/checkbox"; +import {PastisPopupMetadataLanguageService} from '../../../shared/pastis-popup-metadata-language/pastis-popup-metadata-language.service'; +import {FileTreeService} from '../file-tree/file-tree.service'; +import {LangChangeEvent, TranslateService} from "@ngx-translate/core"; +import {CardinalityValues, MetadataHeaders} from '../../../core/classes/models'; +import {NotificationService} from '../../../core/services/notification.service'; +import {PastisDialogData} from '../../../shared/pastis-dialog/classes/pastis-dialog-data'; +import {environment} from 'projects/pastis/src/environments/environment'; + + +const FILE_TREE_METADATA_TRANSLATE_PATH = 'PROFILE.EDIT_PROFILE.FILE_TREE_METADATA'; + +function constantToTranslate() { + this.notificationAjoutMetadonnee = this.translated('.NOTIFICATION_AJOUT_METADONNEE'); + this.boutonAjoutMetadonnee = this.translated('.BOUTON_AJOUT_METADONNEE'); + this.boutonAjoutUA = this.translated('.BOUTON_AJOUT_UA'); + this.popupSousTitre = this.translated('.POPUP_SOUS_TITRE'); + this.popupValider = this.translated('.POPUP_VALIDER'); + this.popupAnnuler = this.translated('.POPUP_ANNULER'); +} + +@Component({ + selector: 'pastis-file-tree-metadata', + templateUrl: './file-tree-metadata.component.html', + styleUrls: ['./file-tree-metadata.component.scss'], + // Encapsulation has to be disabled in order for the + // component style to apply to the select panel. + encapsulation: ViewEncapsulation.None, +}) + +export class FileTreeMetadataComponent { + + valueOrData = Object.values(ValueOrDataConstants); + dataType = Object.values(DataTypeConstants); + cardinalityList: string[]; + cardinalityLabels = Object.values(CardinalityConstants) + selected = -1; + + //Mat table + matDataSource: MatTableDataSource<MetadataHeaders>; + + @ViewChild('autosize', {static: false}) autosize: CdkTextareaAutosize; + + displayedColumns: string[] = ['nomDuChamp', 'valeurFixe', 'cardinalite', 'commentaire', 'menuoption']; + + clickedNode: FileNode = {} as FileNode; + + sedaData: SedaData = {} as SedaData; + + // The seda node that has been opened from the left menu + selectedSedaNode: SedaData; + + selectedCardinalities: string[]; + + allowedSedaCardinalityList: string[][]; + + cardinalityValues: CardinalityValues[] = []; + + regexPattern: string = ""; + + patternType: string; + + rowIndex: number; + + hoveredElementId: number; + + buttonIsClicked: boolean; + + isStandalone: boolean = environment.standalone; + + public breadcrumbDataTop: Array<BreadcrumbDataTop>; + public breadcrumbDataMetadata: Array<BreadcrumbDataMetadata>; + + profileModeLabel: string; + + config: {}; + + + notificationAjoutMetadonnee: string + boutonAjoutMetadonnee: string + boutonAjoutUA: string + popupSousTitre: string + popupValider: string + popupAnnuler: string + + @Output() + public insertItem: EventEmitter<FileNodeInsertParams> = new EventEmitter<FileNodeInsertParams>(); + + @Output() + public addNode: EventEmitter<FileNode> = new EventEmitter<FileNode>(); + + @Output() + public insertAttributes: EventEmitter<FileNodeInsertAttributeParams> = new EventEmitter<FileNodeInsertAttributeParams>(); + + @Output() + public removeNode: EventEmitter<FileNode> = new EventEmitter<FileNode>(); + + private _profileServiceProfileModeSubscription : Subscription; + + @Output() + public duplicateNode: EventEmitter<FileNode>= new EventEmitter<FileNode>(); + + private _fileServiceSubscription : Subscription; + private _fileMetadataServiceSubscriptionSelectedCardinalities : Subscription; + private _fileServiceSubscriptionNodeChange : Subscription; + private _sedaServiceSubscritptionSelectedSedaNode : Subscription; + private _fileMetadataServiceSubscriptionDataSource : Subscription; + private _sedalanguageSub: Subscription; + + sedaLanguage: boolean; + + docPath: string; + + languagePopup: boolean; + + metadatadaValueFormControl = new FormControl('', [Validators.required, Validators.pattern(this.regexPattern)]); + + valueForm = this.fb.group({ + valeurFixe: ['', [Validators.pattern(this.regexPattern)]], + }); + public searchForm: FormGroup; + id: number; + nomDuChamp: string; + type: string; + valeurFixe: string; + cardinalite: string[]; + commentaire: string; + enumeration: string[]; + + constructor(private fileService: FileService, private fileMetadataService: FileTreeMetadataService, + private sedaService: SedaService, private fb: FormBuilder, private notificationService: NotificationService, + private router: Router, private startupService: StartupService, + public profileService: ProfileService, private fileTreeService:FileTreeService, private metadataLanguageService: PastisPopupMetadataLanguageService, + private translateService: TranslateService) { + + this.config = { + locale: 'fr', + showGoToCurrent: false, + firstDayOfWeek: 'mo', + format: 'YYYY-MM-DD' + }; + } + + ngOnInit() { + + if(!this.isStandalone){ + constantToTranslate.call(this); + this.translatedOnChange(); + } + else if(this.isStandalone){ + this.notificationAjoutMetadonnee= "La métadonnée ArchiveUnit a été ajoutée" + this.boutonAjoutMetadonnee= "Ajouter une métadonnée" + this.boutonAjoutUA= "Ajouter une UA" + this.popupSousTitre= "Edition des attributs de" + this.popupValider= "Valider" + this.popupAnnuler= "Annuler" + } + + + this.docPath = this.isStandalone ? 'assets/doc/Standalone - Documentation APP - PASTIS.pdf' : 'assets/doc/VITAM UI - Documentation APP - PASTIS.pdf'; + this.languagePopup = false; + this._sedalanguageSub = this.metadataLanguageService.sedaLanguage.subscribe( + (value: boolean) => { + this.sedaLanguage = value; + }, + (error) => { + console.log(error) + } + ); + this._fileServiceSubscriptionNodeChange = this.fileService.nodeChange.subscribe(node => { + this.clickedNode = node; + // BreadCrumb for navigation through metadatas + if (node && node!==undefined) { + let breadCrumbNodeLabel: string = node.name; + this.fileService.tabRootNode.subscribe(tabRootNode => { + if (tabRootNode){ + let tabLabel = (<any>nodeNameToLabel)[tabRootNode.name]; + this.breadcrumbDataMetadata = [{ label: tabLabel, node: tabRootNode}]; + if (tabRootNode.name !== breadCrumbNodeLabel){ + if(node.parent){ + if (node.parent.name!==tabRootNode.name){ + if(node.parent.parent){ + if (node.parent.parent.name!==tabRootNode.name){ + this.breadcrumbDataMetadata = this.breadcrumbDataMetadata.concat([ { label: '...' } ]); + } + } + this.breadcrumbDataMetadata = this.breadcrumbDataMetadata.concat([ { label: node.parent.name, node: node.parent } ]); + } + this.breadcrumbDataMetadata = this.breadcrumbDataMetadata.concat([ { label: breadCrumbNodeLabel, node: node } ]); + } + } + } + }); + } + }); + // BreadCrump Top for navigation + this.profileModeLabel = this.profileService.profileMode==='PUA'?"PROFILE.EDIT_PROFILE.FILE_TREE_METADATA.PUA":"PROFILE.EDIT_PROFILE.FILE_TREE_METADATA.PA"; + this.breadcrumbDataTop = [{ label: "PROFILE.EDIT_PROFILE.BREADCRUMB.PORTAIL", url: this.startupService.getPortalUrl(), external: true},{ label: "PROFILE.EDIT_PROFILE.BREADCRUMB.CREER_ET_GERER_PROFIL", url: '/'}, { label: this.profileModeLabel }]; + + this._fileServiceSubscription = this.fileService.currentTree.subscribe(fileTree => { + if (fileTree) { + this.clickedNode = fileTree[0]; + this.fileService.allData.next(fileTree); + // Subscription to sedaRules + if (this.clickedNode) { + let rulesFromService = this.fileService.tabChildrenRulesChange.getValue(); + let tabChildrenToInclude = rulesFromService[0]; + let tabChildrenToExclude = rulesFromService[1]; + this.sedaService.selectedSedaNode.next(this.sedaService.sedaRules[0]); + this.selectedSedaNode = this.sedaService.sedaRules[0]; + this.fileService.nodeChange.next(this.clickedNode) + let filteredData = this.fileService.filteredNode.getValue(); + // Initial data for metadata table based on rules defined by tabChildrenRulesChange + if (filteredData) { + let dataTable = this.fileMetadataService.fillDataTable(this.selectedSedaNode, filteredData, tabChildrenToInclude, tabChildrenToExclude); + this.matDataSource = new MatTableDataSource<MetadataHeaders>(dataTable); + } + } + } + }); + + this._fileMetadataServiceSubscriptionSelectedCardinalities = this.fileMetadataService.selectedCardinalities.subscribe(cards => { + this.selectedCardinalities = cards; + }); + + // Get Current sedaNode + this._sedaServiceSubscritptionSelectedSedaNode = this.sedaService.selectedSedaNode.subscribe(sedaNode => { + this.selectedSedaNode = sedaNode; + }) + + this._fileMetadataServiceSubscriptionDataSource = this.fileMetadataService.dataSource.subscribe(data => { + this.matDataSource = new MatTableDataSource<MetadataHeaders>(data); + }) + } + + navigate(d: BreadcrumbDataTop){ + if (d.external){ + window.location.assign(d.url); + } else { + this.router.navigate([d.url],{skipLocationChange: false}); + } + } + + navigateMetadata(d: BreadcrumbDataMetadata){ + if (d.node && d.node!==undefined){ + this.fileTreeService.updateMedataTable.next(d.node); + } + } + + // Permet de surcharger le filterPredicate de Material et de filtrer seulement sur la colonne selectionnée au lieu de toutes. + setupFilter(column: string) { + this.matDataSource.filterPredicate = (d: MetadataHeaders, filter: string) => { + // @ts-ignore + const textToSearch = d[column] && d[column].toLowerCase() || ''; + return textToSearch.indexOf(filter) !== -1; + }; + } + + // Application du filtre sur la colonne 'nomDuChamp' correspondant aux noms métadonnées + applyFilterTier(filterValue: string) { + let nomDuchamp: string = this.sedaLanguage ? 'nomDuChamp' : 'nomDuChampFr'; + this.setupFilter(nomDuchamp); + // Lors d'un reset sur le search component on renvoie un string null. + if(filterValue == null) + filterValue=''; + this.matDataSource.filter = filterValue.trim().toLowerCase(); + } + + translatedOnChange(): void { + this.translateService.onLangChange + .subscribe((event: LangChangeEvent) => { + constantToTranslate.call(this); + console.log(event.lang); + }); + } + + translated(nameOfFieldToTranslate: string): string { + return this.translateService.instant(FILE_TREE_METADATA_TRANSLATE_PATH + nameOfFieldToTranslate); + } + + getMetadataInputPattern(type: string) { + if (type === 'date') { + this.regexPattern = '([0-2][0-9]|(3)[0-1])(\/)(((0)[0-9])|((1)[0-2]))(\/)\d{4}'; + return this.regexPattern; + } + if (type === 'TextType' || type === null) { + this.regexPattern = '^[a-zA-X0-9 ]*$'; + return this.regexPattern; + } + } + + getMetadataInputType(element: MetadataHeaders) { + if (element.type === 'date') { + return 'date'; + } + if (element.enumeration.length > 0) { + return 'enumeration'; + } + } + + findCardinality(event: any) { + + if (!event) { + return CardinalityConstants.Obligatoire; + } else { + return event; + } + + } + + isSedaCardinalityConform(cardList: string[], card: string) { + return cardList.includes(card); + } + + findCardinalityName(clickedNode: FileNode) { + if (!clickedNode.cardinality) { + return "1" + } else { + return this.cardinalityValues.find(c => c.value == clickedNode.cardinality).value + } + } + + setNodeChildrenCardinalities(metadata: MetadataHeaders, newCard: string) { + if (this.clickedNode.name === metadata.nomDuChamp && this.clickedNode.id === metadata.id) { + this.clickedNode.cardinality = newCard; + } else if (this.clickedNode.children.length > 0) { + let childNode = this.fileService.getFileNodeById(this.clickedNode, metadata.id); + if (childNode) { + childNode.cardinality = newCard; + } + } + + } + + setNodeValue(metadata: MetadataHeaders, newValue: string) { + console.log(metadata.cardinalite + "new Value " + newValue) + if (newValue != null) { + let updatedValue = newValue.length > 0 ? newValue : null + if (this.clickedNode.name === metadata.nomDuChamp) { + this.clickedNode.value = updatedValue; + } else if (this.clickedNode.children.length > 0) { + let childNode = this.fileService.getFileNodeById(this.clickedNode, metadata.id); + if (childNode) { + childNode.value = updatedValue; + } + } + } + } + + setDocumentation(metadata: MetadataHeaders, comment: string) { + if (this.clickedNode.name === metadata.nomDuChamp && this.clickedNode.id === metadata.id) { + comment ? this.clickedNode.documentation = comment : this.clickedNode.documentation = null; + } else { + for (let node of this.clickedNode.children) { + if (node.name === metadata.nomDuChamp && node.id === metadata.id) { + comment ? node.documentation = comment : node.documentation = null; + } + } + } + } + + isElementComplex(elementName: string) { + let childFound = this.selectedSedaNode.Children.find(el => el.Name === elementName); + if (childFound) { + return childFound.Element === SedaElementConstants.complex; + } + } + + onAddNode() { + if (this.clickedNode.name === 'DescriptiveMetadata') { + console.log("Yes") + let elements: SedaData[]; + elements.push({ + Name: 'ArchiveUnit', + NameFr: null, + Type: null, + Element:null, + Cardinality:null, + Definition:null, + Extensible:null, + Choice:null, + Children: null, + Enumeration:null, + Collection: null + }); + let params: FileNodeInsertParams = { + node: this.clickedNode, + elementsToAdd: elements + } + this.insertItem.emit(params); + this.notificationService.showSuccess(this.notificationAjoutMetadonnee); + + } else { + this.addNode.emit(this.clickedNode) + } + } + + onDuplicateNode(id : number) { + const nodeToDuplicate = this.fileService.getFileNodeById(this.fileService.nodeChange.getValue(), id); + this.duplicateNode.emit(nodeToDuplicate); + } + + async onEditAttributesClick(fileNodeId: number) { + let popData = {} as PastisDialogData; + let attributeFileNodeListToAdd: FileNode[] = []; + let attributeFileNodeListToRemove: FileNode[] = []; + + if (fileNodeId) { + popData.fileNode = this.fileService.findChildById(fileNodeId, this.clickedNode); + popData.subTitleDialog = this.popupSousTitre; + popData.titleDialog = popData.fileNode.name; + popData.width = '1120px'; + popData.component = AttributesPopupComponent + popData.okLabel = this.popupValider + popData.cancelLabel = this.popupAnnuler + + let popUpAnswer = <AttributeData[]>await this.fileService.openPopup(popData); + console.log("The answer for edit attributte was ", popUpAnswer); + + if (popUpAnswer) { + + // Create a list of attributes to add + popUpAnswer.filter(a => a.selected).forEach(attr => { + let fileNode = {} as FileNode; + fileNode.cardinality = attr.selected ? '1' : null; + fileNode.value = attr.valeurFixe ? attr.valeurFixe : null; + fileNode.documentation = attr.commentaire ? attr.commentaire : null; + fileNode.name = attr.nomDuChamp; + fileNode.type = TypeConstants.attribute; + fileNode.sedaData = this.sedaService.findSedaChildByName(attr.nomDuChamp, popData.fileNode.sedaData); + fileNode.children = []; + fileNode.id = attr.id; + attributeFileNodeListToAdd.push(fileNode); + }); + // Create a list of attributes to remove + popUpAnswer.filter(a => !a.selected).forEach(attr => { + let fileNode: FileNode = {} as FileNode; + fileNode.name = attr.nomDuChamp; + attributeFileNodeListToRemove.push(fileNode); + }); + if (attributeFileNodeListToAdd) { + let insertOrEditParams: FileNodeInsertAttributeParams = { + node: popData.fileNode, + elementsToAdd: attributeFileNodeListToAdd + } + let attrsToAdd = attributeFileNodeListToAdd.map(e => e.name); + let attributeExists = popData.fileNode.children.some((child: { name: string; }) => attrsToAdd.includes(child.name)) + + //Add attribute (if it does not exist), or update them if they do + if (attrsToAdd && !attributeExists) { + this.insertAttributes.emit(insertOrEditParams); + } else { + this.fileService.updateNodeChildren(popData.fileNode, attributeFileNodeListToAdd) + } + } + if (attributeFileNodeListToRemove.length) { + this.fileService.removeItem(attributeFileNodeListToRemove, popData.fileNode); + } + } + } + } + + onDeleteNode(nodeId: number) { + const nodeToDelete = this.fileService.getFileNodeById(this.fileService.nodeChange.getValue(), nodeId); + this.removeNode.emit(nodeToDelete) + } + + onButtonClicked(elementId: number) { + this.hoveredElementId = elementId; + } + + isButtonClicked(elementId: number, data: MetadataHeaders) { + if (data) { + this.hoveredElementId = elementId; + this.buttonIsClicked = true; + return data.id === this.hoveredElementId; + } + } + + isRowHovered(elementId: number) { + return this.hoveredElementId === elementId; + } + + onMouseOver(row: MetadataHeaders) { + this.buttonIsClicked = false; + this.hoveredElementId = row.id; + } + + onMouseLeave() { + if (!this.buttonIsClicked) { + this.hoveredElementId = 0; + } + } + + checkElementType(elementName?: string) { + if (this.selectedSedaNode) { + let nameToSearch = elementName ? elementName : this.sedaService.selectedSedaNode.getValue().Name; + let nodeElementType = this.sedaService.checkSedaElementType(nameToSearch, this.selectedSedaNode); + return nodeElementType === SedaElementConstants.complex; + } + } + + shouldLoadMetadataTable() { + return this.fileMetadataService.shouldLoadMetadataTable.getValue(); + } + + /** + * Returns a boolean if a given node has one or more attributes + * regarding its seda specification + * @param nodeName The node's name to be tested + */ + hasAttributes(nodeName: string): boolean { + + const node = this.sedaService.findSedaChildByName(nodeName, this.selectedSedaNode); + + if (node && node.Children.length > 0) { + return (node.Children.find(c => c.Element == SedaElementConstants.attribute) !== undefined); + } + return false; + } + + + isSedaObligatory(name: string): boolean { + return this.sedaService.isSedaNodeObligatory(name, this.selectedSedaNode); + } + + getSedaDefinition(elementName: string) { + let node = this.getSedaNode(elementName); + if (node != null) { + return node.Definition; + } + return "" + } + + getSedaNode(elementName: string): SedaData { + if (this.selectedSedaNode.Name === elementName) { + return this.selectedSedaNode; + } else { + for (let node of this.selectedSedaNode.Children) { + if (node.Name === elementName) { + return node + } + } + } + return null; + } + + onResolveName(elementName: string) { + if (this.sedaLanguage) { + return elementName; + } + let node = this.getSedaNode(elementName); + if (node != null) { + if (node.NameFr) { + return node.NameFr; + } + return node.Name + } + return elementName; + } + + + resolveButtonLabel(node: FileNode) { + if (node) { + return node.name === 'DescriptiveMetadata' ? null : this.boutonAjoutMetadonnee + } + } + + resolveCurrentNodeName() { + if (this.clickedNode) { + return this.clickedNode.name; + } + } + + goBack() { + this.router.navigate(['/'], {skipLocationChange: false}); + } + + ngOnDestroy() { + if (this._fileServiceSubscription != null) { + this._fileServiceSubscription.unsubscribe(); + } + if(this._fileMetadataServiceSubscriptionSelectedCardinalities!= null){ + this._fileMetadataServiceSubscriptionSelectedCardinalities.unsubscribe(); + } + if(this._fileServiceSubscriptionNodeChange!= null){ + this._fileServiceSubscriptionNodeChange.unsubscribe(); + } + if(this._sedaServiceSubscritptionSelectedSedaNode!= null){ + this._sedaServiceSubscritptionSelectedSedaNode.unsubscribe(); + } + if(this._fileMetadataServiceSubscriptionDataSource!= null){ + this._fileMetadataServiceSubscriptionDataSource.unsubscribe(); + } + if(this._profileServiceProfileModeSubscription!= null){ + this._profileServiceProfileModeSubscription.unsubscribe(); + } + if(this._sedalanguageSub!=null){ + this._sedalanguageSub.unsubscribe(); + } + } + + onChange(val: any, $event: MatCheckboxChange) { + + console.log("onChange file tree metadata go dans methode setNodeValue" + val + " et event " + $event); + // @ts-ignore + this.setNodeValue(val, $event); + + + } + + changeSedaLanguage() { + this.metadataLanguageService.sedaLanguage.subscribe( + (value: boolean) => { + this.sedaLanguage = value; + }, + (error) => { + console.log(error) + } + ); + } + + openChoicePopup() { + this.languagePopup = !this.languagePopup; + } + + isDuplicated(nomDuChamp: any) { + return this.sedaService.isDuplicated(nomDuChamp, this.selectedSedaNode); + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.service.spec.ts new file mode 100644 index 000000000..a6e64543f --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.service.spec.ts @@ -0,0 +1,49 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { TestBed } from '@angular/core/testing'; + +import { FileTreeMetadataService } from './file-tree-metadata.service'; + +describe('FileTreeMetadataService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: FileTreeMetadataService = TestBed.get(FileTreeMetadataService); + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.service.ts b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.service.ts new file mode 100644 index 000000000..bb79ed47c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree-metadata/file-tree-metadata.service.ts @@ -0,0 +1,260 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Injectable } from '@angular/core'; +import { BehaviorSubject } from 'rxjs'; +import { CardinalityValues, MetadataHeaders } from '../../../core/classes/models'; +import { CardinalityConstants, FileNode, TypeConstants } from '../../../models/file-node'; +import { SedaData, SedaElementConstants } from '../../../models/seda-data'; + +@Injectable({ + providedIn: 'root' +}) +export class FileTreeMetadataService { + + cardinalityValues: CardinalityValues[] = []; + allowedCardinality: Map<string, string[]>; + dataSource = new BehaviorSubject<MetadataHeaders[]>(null); + selectedCardinalities = new BehaviorSubject<string[]>([]); + allowedSedaCardinalities = new BehaviorSubject<string[][]>([]); + + shouldLoadMetadataTable = new BehaviorSubject<boolean>(true); + + + constructor() { + this.initCardinalityValues(); + } + + initCardinalityValues() { + for (let key in CardinalityConstants) { + let cardinality: CardinalityValues = { value: CardinalityConstants[key as keyof typeof CardinalityConstants], viewValue: key }; + this.cardinalityValues.push(cardinality); + } + this.allowedCardinality = new Map<string, string[]>(); + this.allowedCardinality.set('1', ['1']); + this.allowedCardinality.set('', ['1']); + this.allowedCardinality.set(null, ['1']); + this.allowedCardinality.set(undefined, ['1']); + this.allowedCardinality.set("null", ['1']); + this.allowedCardinality.set('0-1', ['0-1', '1']); + this.allowedCardinality.set('0-N', ['0-1', '0-N', '1-N', '1']); + this.allowedCardinality.set('1-N', ['1', '1-N']); + } + + fillDataTable(sedaChild: SedaData, clickedNode: FileNode, _childrenToInclude:string[], childrenToExclude:string[]): MetadataHeaders[] { + let data:MetadataHeaders[] = []; + let allowedCardList: string[][]; + if (clickedNode.children.length > 0 ) { + for (let child of clickedNode.children) { + // There are cases where there are no childrenToExclude declared + // So we must check if it exists to avoid and undefined of includes error + if (childrenToExclude && !childrenToExclude.includes(child.name) && + child.type !== TypeConstants.attribute) { + + data.push({ + id: child.id, + nomDuChamp: child.name, + nomDuChampFr: this.onResolveName(child.name, sedaChild), + valeurFixe: child.value, + cardinalite: this.findSedaAllowedCardinalityList(sedaChild, child), + commentaire: child.documentation, + type: child.dataType, + enumeration: child.sedaData.Enumeration, + }) + } else if (!childrenToExclude && child.type !== TypeConstants.attribute) { + data.push({ + id: child.id, + nomDuChamp: child.name, + nomDuChampFr: this.onResolveName(child.name, sedaChild), + valeurFixe: child.value, + cardinalite: this.findSedaAllowedCardinalityList(sedaChild, child), + commentaire: child.documentation, + type: child.dataType, + enumeration: child.sedaData.Enumeration}) + } + // It should be a simple element with children attributes. + // In that case, the data table will be filled with data from the clicked node + // (and only once) + else if (clickedNode.type === TypeConstants.element && sedaChild.Element === SedaElementConstants.simple){ + data.push({ + id: clickedNode.id, + nomDuChamp: clickedNode.name, + nomDuChampFr: this.onResolveName(clickedNode.name, sedaChild), + valeurFixe: clickedNode.value, + cardinalite: this.findSedaAllowedCardinalityList(sedaChild, clickedNode), + commentaire: clickedNode.documentation, + type: clickedNode.dataType, + enumeration: clickedNode.sedaData.Enumeration, + }) + break; + } + } + } // No children : it should be a SEDA simple element type without children + // It this case, the retrieved data is the current clicked node data + else { + data.push({ + id: clickedNode.id, + nomDuChamp: clickedNode.name, + nomDuChampFr: this.onResolveName(clickedNode.name, sedaChild), + valeurFixe: clickedNode.value, + cardinalite: this.findSedaAllowedCardinalityList(sedaChild, clickedNode), + commentaire: clickedNode.documentation, + type: clickedNode.dataType, + enumeration: clickedNode.sedaData.Enumeration, + }) + } + this.allowedSedaCardinalities.next(allowedCardList); + this.selectedCardinalities.next(this.findCardinalities(clickedNode, sedaChild, data)); + console.log("Data on fillDataTable", data, "with selected cards :", this.selectedCardinalities.getValue()); + return data; + } + + getSedaNode(elementName: string, sedaChild: SedaData): SedaData { + for (let node of sedaChild.Children) { + if (node.Name === elementName) { + return node + } + } + return null; + } + onResolveName(elementName: string, sedaChild: SedaData) { + let node = this.getSedaNode(elementName, sedaChild); + if (node != null) { + if (node.NameFr) { + return node.NameFr + } + return node.Name + } + return elementName; + } + + findSedaAllowedCardinalityList(sedaNode: SedaData, fileNode: FileNode): string[] { + let allowedCardinalityListResult: string[] = []; + let resultList: string[][] = []; + + // If the clicked node has the same name was the seda node, the node is already found + if (sedaNode.Name === fileNode.name) { + allowedCardinalityListResult = this.allowedCardinality.get(sedaNode.Cardinality); + return allowedCardinalityListResult; + } + if (sedaNode.Children.length > 0) { + // Search the sedaNode children to find the correnpondent cardinality list + for (let child of sedaNode.Children) { + if ((child.Name === fileNode.name) || (sedaNode.Name === fileNode.name)) { + // Used in the case we wish to "correct" the node's cardinality, since + // the seda cardinality wont include the cardinality retrieved by node's rng file. + // In this case, the condition will return the rng file cardinality list + // instead of node's cardinality list in accordance with the SEDA specification. + //if (child.Cardinality !== sedaNode.Cardinality){ + //allowedCardinalityListResult = this.allowedCardinality.get(clickedNode.cardinality); + //return allowedCardinalityListResult; + //} + allowedCardinalityListResult = this.allowedCardinality.get(child.Cardinality); + resultList.push(allowedCardinalityListResult) + this.allowedSedaCardinalities.next(resultList) + + return allowedCardinalityListResult; + } + } + } else { + //console.error("Final CARDINALITY LIST (NO seda children found) : ", allowedCardinalityListResult, " for ", sedaNode.Name); + for (const [card, cardlist] of this.allowedCardinality) { + if (card === fileNode.cardinality) { + !fileNode.cardinality ? allowedCardinalityListResult.push("1") : allowedCardinalityListResult = cardlist; + //result = cardlist; + resultList.push(cardlist) + this.allowedSedaCardinalities.next(resultList) + //console.error("Final CARDINALITY LIST : ", allowedCardinalityListResult) + return allowedCardinalityListResult; + } + } + } + this.allowedSedaCardinalities.next(resultList) + + if (allowedCardinalityListResult.length < 1) { + //console.error("Card not found for : ", clickedNode.name, "..assuming attribute cardinality :", clickedNode.cardinality); + allowedCardinalityListResult = this.allowedCardinality.get(fileNode.cardinality); + //!clickedNode.cardinality ? result.push("1") : result = this.allowedCardinality[clickedNode.cardinality]; + return allowedCardinalityListResult; + + } + } + + findCardinalities(clickedNode: FileNode, sedaNode: SedaData, data:MetadataHeaders[]):string[] { + let childrenCardMap = new Map(); + let idsToKeep = data.map(name=>name.id); + let nodesToKeep = clickedNode.children.filter(child=>idsToKeep.includes(child.id)) + + if (sedaNode.Children.length > 0) { + for (let fileNodechild of nodesToKeep) { + sedaNode.Children.forEach((sedaGrandChild: { Name: string; })=>{ + if (fileNodechild.name === sedaGrandChild.Name) { + fileNodechild.cardinality ? childrenCardMap.set(fileNodechild.id,fileNodechild.cardinality) : childrenCardMap.set(fileNodechild.id,"1"); + } + }) + } + } else { + !clickedNode.cardinality ? childrenCardMap.set(clickedNode.id,"1") : childrenCardMap.set(clickedNode.id,clickedNode.cardinality); + } + if (childrenCardMap.size < 1) { + !clickedNode.cardinality ? childrenCardMap.set(clickedNode.id,"1") : childrenCardMap.set(clickedNode.id,clickedNode.cardinality); + } + return Array.from(childrenCardMap.values()); + } + + /** + * Find the children of sedaParent and return the 'Enumeration' property + * @param sedaParent the seda parent of the node we want to find + * @param childName the name of the seda node we want to find + */ + getEnumerationFromSedaNodeChildren(sedaParent: SedaData, childName: string): string[] { + if (sedaParent.Name === childName){ + return sedaParent.Enumeration; + } + let sedaNode: SedaData = sedaParent.Children.find((c: { Name: string; }) => c.Name === childName); + if (sedaNode){ + return sedaNode.Enumeration + } + return []; + } + shouldLoadTable(){ + return this.shouldLoadMetadataTable.getValue(); + } + enableAttributeOption(nodeType:string){ + return nodeType === TypeConstants.attribute; + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.component.html b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.component.html new file mode 100644 index 000000000..d78c63476 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.component.html @@ -0,0 +1,77 @@ +<mat-tree #treeSelector + *ngIf="fileTreeService.nestedTreeControl && fileTreeService.nestedDataSource" + [dataSource]="fileTreeService.nestedDataSource" [treeControl]="fileTreeService.nestedTreeControl" class="pastis-tree"> + + <!-- Nested tree node--> + <mat-nested-tree-node *matTreeNodeDef="let node;when:hasNestedChild"> + <div *ngIf="node.name === rootElementName && (activeTabIndex === 2 && this.profileService.profileMode === 'PA') " + class="pastis-btn-container-add-ua"> + <button (click)=addArchiveUnit(node) class="btn primary"> + {{'PROFILE.EDIT_PROFILE.FILE_TREE.AJOUTER_UA' | translate}} + </button> + </div> + <ng-container *ngIf="!isAttribute(node) && shouldBeOnTab(node) && node"> + <mat-list-item + (click)="updateMedataTable(node);fileTreeService.nestedTreeControl.expand(node)" + (mouseover)="hover=node.children.length" + [ngClass]="{'list-item':!selectedItem(node),'list-item-select':selectedItem(node)}" + > + + <!--Root node name--> + <span *ngIf="node.name === rootElementName && this.profileService.profileMode === 'PA'" + class="pastis-tree-node-root-name"> + <span [ngStyle]="{'margin-left': calculateNodePosition(node) + 'px'}"> + {{rootElementShowName}} + </span> + <mat-divider class="pastis-divider"></mat-divider> + </span> + + <!--Root children without children--> + <span (click)="updateMedataTable(node);$event.stopPropagation()" + *ngIf="!node.children.length && node.name !== rootElementName + && isPartOfCollection(node) && shouldBeOnTab(node) && !isAttribute(node)" [ngStyle]="{'margin-left': calculateNodePosition(node) + 'px'}" + class="pastis-tree-node-name"> + <span class="text text-medium">{{onResolveName(node)}}</span> + <mat-divider class="pastis-divider"></mat-divider> + </span> + + <!--Root children with children--> + <span *ngIf="node.children.length && node.name !== rootElementName + && isPartOfCollection(node) && shouldBeOnTab(node) && !isAttribute(node)"> + <div (click)="expendChildren(node);$event.stopPropagation()" + [ngStyle]="{'margin-left': calculateNodePosition(node) + 'px' , 'width': '350px' }"> + <span *ngIf="isElementComplexAndHasChildren(node)" + [ngClass]="{'pastis-chevron-icon': !fileTreeService.nestedTreeControl.isExpanded(node),'pastis-chevron-icon-selected':fileTreeService.nestedTreeControl.isExpanded(node)}"> + <mat-icon>{{fileTreeService.nestedTreeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}</mat-icon> + </span> + <button [id]="'child' + node.id" [ngStyle]="{'display': 'none' }" mat-icon-button + matTreeNodeToggle> + </button> + <span class="pastis-tree-node-name"> + <span [ngClass]="{'text-medium-normal':!selectedItem(node),'text-medium-primary':selectedItem(node)}" + class="text text-medium">{{onResolveName(node)}}</span> + <span *ngIf="node.name === 'ArchiveUnit'" + matTooltip="Ajouter une UA" + matTooltipClass="pastis-tooltip-class" + style="float: right;"> + <!--Button plus--> + <button (click)="addArchiveUnit(node)" *ngIf="this.profileService.profileMode === 'PA'" + class="pastis-btn-add-ua"> + <i class="vitamui-icon vitamui-icon-add" style="color: var(--vitamui-primary);"></i> + <span class="pastis-btn-add-ua-text">{{'PROFILE.EDIT_PROFILE.FILE_TREE.AJOUTER_UA_ICON' | translate}}</span> + </button> + </span> + </span> + </div> + <mat-divider class="pastis-divider"></mat-divider> + </span> + </mat-list-item> + + <ul [hidden]="!fileTreeService.nestedTreeControl.isExpanded(node)" class="pastis-tree-ul"> + <ng-container matTreeNodeOutlet></ng-container> + </ul> + </ng-container> + </mat-nested-tree-node> + + +</mat-tree> diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.component.scss b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.component.scss new file mode 100644 index 000000000..e3ba4ef58 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.component.scss @@ -0,0 +1,227 @@ +@import "../../../../assets/css/mixins"; +@import "../../../../assets/css/layout"; +@import "../../../../assets/css/colors"; + + + +.main-card { + /*max-width: 1024px;*/ + margin: 5px; + } + +.file-tree{ + width: 100%; + height: 94%; + margin-top: 10px; + position: absolute; + white-space: nowrap; + left: 0px; + top: 45px; +} + + +.grid-tile-main { + border: solid 1px lightgray; + border-radius: 25px; + } + +.grid-title { + position:absolute; + left: 10px; + top: 10px; + font-size: 95%; +} + +.toolbar { + position:absolute; + border-top-left-radius: 25px; + border-top-right-radius: 25px; + top:0px; + font-size: 95%; + max-height: 55px; + } + +.grid-title-icon { + position: relative; + top: 5px; +} + +.buttons { + position: relative; + height: 35px; + } + .buttons-container { + position:absolute; + left: 10px; + top: 60px; + } + .buttons-divider{ + width:20px; + height:auto; + display:inline-block; +} + +.buttons-icon{ + width: 20px +} + +.example-form { + min-width: 150px; + max-width: 40px; + width: 100%; +} + +.example-full-width { + width: 10%; +} + +.text-inside-grid { + position: absolute; + left: 5px; +} + +.pastis-btn-node-element{ + background:none; + border:none; +} +.pastis-tree-node-root-name{ + @extend .pastis-black-height; + @extend .pastis-font-headline-6; + line-height: 50px; + cursor: pointer; + font-weight: 500; + margin-bottom: -15px; +} + +.pastis-tree-node-name{ + @extend .pastis-surface-snackbar; + @extend .pastis-font-label; + line-height: 50px; + cursor: pointer; +} + +.pastis-tree-divider{ + max-width: 400px !important; + max-height: 3px !important; + // margin: 0px 0px 0px 0px !important; + + opacity: 0.3 !important; + border: 1px solid #979797 !important; +} + +.pastis-chevron-icon{ + margin-right: 10px; +} +.pastis-chevron-icon-selected{ + @extend .pastis-chevron-icon; + color: var(--vitamui-primary); +} + +.pastis-divider{ + max-width: 100%; + height: 1px; + //float: right; + //margin-top: -4px; +} + +.pastis-btn-add-metadata{ + margin-left: 220px; +} + + +/* PASTIS File tree Item list*/ +.mat-list-item{ + display: block !important; + text-align-last:left; + background-color: #FFFF; + margin-top: 5px; + margin-left:40px; + margin-right:40px; +} +.list-item-select{ + @extend .list-item; + border-left: solid var(--vitamui-primary); +} +.list-item:hover{ + background: #F6F3FB; +} + +.Mui-selected{ + color: red; +} + + +.pastis-tree-ul { + margin-top: 5px; + padding-left: 0px; +} + +.pastis-add-ua-text { + @extend .pastis-secondary-300; + float: right; + text-align: right; + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + left: 70%; + right: 1%; +} + +.pastis-add-ua-text:hover{ + font-weight: bold; +} + +.pastis-ico-plus { + cursor: pointer; + color:white; + font-size: 20px !important; +} + +.pastis-btn-rounded-ua { + @extend .pastis-btn-rounded-standard-secondary-enabled; + width: 20px; + height: 20px; + padding: 0%; + vertical-align: text-bottom; +} +.pastis-btn-add-ua{ + background-color: transparent; + border: none; +} +.pastis-btn-add-ua-text{ + color: var(--vitamui-primary); + font-family: Mulish; + font-style: normal; + font-weight: bold; + font-size: 12px; + line-height: 16px; + align-items: center; + letter-spacing: 0.5px; + text-transform: uppercase; + margin-left: 7px; +} + +.pastis-tree{ + display: inline-block; + min-width: 100%; + background-color: #F6F3FB; +} +.pastis-btn-container-add-ua{ + background-color: #F6F3FB; + height: 70px; + margin-left: 40px; +} + +.primary { + @extend .primary; + background-color: var(--vitamui-primary) !important; + box-shadow: none !important; +} +.text-medium-normal { + @extend .text-text-medium; +} +.text-medium-primary { + @extend .text-text-medium; + color: var(--vitamui-primary); +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.component.spec.ts new file mode 100644 index 000000000..33a4bfc19 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { FileTreeComponent } from './file-tree.component'; + +describe('FileTreeComponent', () => { + let component: FileTreeComponent; + let fixture: ComponentFixture<FileTreeComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ FileTreeComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(FileTreeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.component.ts b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.component.ts new file mode 100644 index 000000000..089eb425e --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.component.ts @@ -0,0 +1,793 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/) + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import {CdkTextareaAutosize} from '@angular/cdk/text-field'; +import {Component, Input, OnDestroy, ViewChild,} from '@angular/core'; +import {BehaviorSubject, Subscription, throwError} from 'rxjs'; +import {SedaCardinalityConstants, SedaData, SedaElementConstants} from '../../../models/seda-data'; +import {SedaService} from '../../../core/services/seda.service'; +import {NotificationService} from '../../../core/services/notification.service'; +import {FileService} from '../../../core/services/file.service'; +import {CardinalityConstants, DataTypeConstants, FileNode, TypeConstants} from '../../../models/file-node'; +import {FileTreeMetadataService} from '../file-tree-metadata/file-tree-metadata.service'; +import {UserActionAddMetadataComponent} from '../../../user-actions/add-metadata/add-metadata.component'; +import {PastisDialogData} from '../../../shared/pastis-dialog/classes/pastis-dialog-data'; +import {UserActionRemoveMetadataComponent} from '../../../user-actions/remove-metadata/remove-metadata.component'; +import { PastisPopupMetadataLanguageService } from '../../../shared/pastis-popup-metadata-language/pastis-popup-metadata-language.service'; +import { FileTreeService } from './file-tree.service'; +import {DuplicateMetadataComponent} from "../../../user-actions/duplicate-metadata/duplicate-metadata.component"; +import {LangChangeEvent, TranslateService} from "@ngx-translate/core"; +import {environment} from "../../../../environments/environment"; +import { ProfileService } from '../../../core/services/profile.service'; + +const FILE_TREE_TRANSLATE_PATH = 'PROFILE.EDIT_PROFILE.FILE_TREE'; + +function constantToTranslate() { +this.notificationRemoveSuccessOne = this.translated('.NOTIFICATION_REMOVE_SUCCESS_ONE'); + this.notificationRemoveSuccessTwo = this.translated('.NOTIFICATION_REMOVE_SUCCESS_TWO'); + this.notificationDuplicateSuccessOne = this.translated('.NOTIFICATION_DUPLICATE_SUCCESS_ONE'); + this.notificationDuplicateSuccessTwo = this.translated('.NOTIFICATION_DUPLICATE_SUCCESS_TWO'); + this.notificationAddMetadonneePOne = this.translated('.NOTIFICATION_ADD_MEDATADONNEE_PONE'); + this.notificationAddMetadonneePTwo = this.translated('.NOTIFICATION_ADD_METADONNEE_PTWO'); + this.notificationAddmetadonneeSOne = this.translated('.NOTIFICATION_ADD_METADONNEE_SONE'); + this.notificationAddmetadonneeSTwo = this.translated('.NOTIFICATION_ADD_METADONNEE_STWO'); + this.notificationAjoutMetadonneeFileTree = this.translated('.NOTIFICATION_ADD_METADONNEE_FILE_TREE'); +this.popupRemoveSedaElementAttribut = this.translated('.POPUP_REMOVE_SEDA_ELEMENT_ATTRIBUT'); +this.popupRemoveSedaElementMetadonnee = this.translated('.POPUP_REMOVE_SEDA_ELEMENT_METADONNEE'); +this.popupRemoveTitre = this.translated('.POPUP_REMOVE_TITRE'); +this.popupRemoveSousTitreAttribut = this.translated('.POPUP_REMOVE_SOUS_TITRE_ATTRIBUT'); +this.popupRemoveSousTitreMetadonnee = this.translated('.POPUP_SOUS_TITRE_METADONNEE'); +this.popupRemoveDeleteTypeTextM = this.translated('.POPUP_REMOVE_DELETE_TYPE_TEXT_M'); +this.popupRemoveDeleteTypeTextF = this.translated('.POPUP_REMOVE_DELETE_TYPE_TEXT_F'); +this.popupAddCancelLabel = this.translated('.POPUP_ADD_CANCEL_LABEL'); +this.popupAddTitleDialog = this.translated('.POPUP_ADD_TITLE_DIALOG'); +this.popupAddSubTitleDialog = this.translated('.POPUP_ADD_SUBTITLE_DIALOG'); +this.popupAddOkLabel = this.translated('.POPUP_ADD_OK_LABEL'); + this.popupDuplicateSedaElementAttribut = this.translated('.POPUP_DUPLICATE_SEDA_ELEMENT_ATTRIBUT'); + this.popupDuplicateSedaElementMetadonnee = this.translated('.POPUP_DUPLICATE_SEDA_ELEMENT_METADONNEE'); + this.popupDuplicateTitre = this.translated('.POPUP_DUPLICATE_TITRE'); + this.popupDuplicateTitreTwo = this.translated('.POPUP_DUPLICATE_TITRE_TWO'); + this.popupDuplicateSousTitreAttribut = this.translated('.POPUP_DUPLICATE_SOUS_TITRE_ATTRIBUT'); + this.popupDuplicateSousTitreMetadonnee = this.translated('.POPUP_DUPLICATE_SOUS_TITRE_METADONNEE'); + this.popupDuplicateDeleteTypeTextM = this.translated('.POPUP_DUPLICATE_DELETE_TYPE_TEXT_M'); + this.popupDuplicateDeleteTypeTextF = this.translated('.POPUP_DUPLICATE_DELETE_TYPE_TEXT_F'); +} + +@Component({ + selector: 'pastis-file-tree', + templateUrl: './file-tree.component.html', + styleUrls: ['./file-tree.component.scss'] +}) +export class FileTreeComponent implements OnDestroy { + + @ViewChild('treeSelector', {static: true}) tree: any; + @ViewChild('autosize', {static: false}) autosize: CdkTextareaAutosize; + + @Input() + rootElementName: string; + @Input() + rootElementShowName: string; + @Input() + childrenListToExclude: string[]; + @Input() + childrenListToInclude: string[]; + @Input() + collectionName: string + @Input() + activeTabIndex:number; + + + isStandalone: boolean = environment.standalone; + + data: FileNode; + newNodeName: string; + sedaData: SedaData; + treeData: FileNode[]; + curentRootTabName: string; + parentNodeMap = new Map<FileNode, FileNode>(); + dataChange = new BehaviorSubject<FileNode>(null); + rulesChange: string[][] = []; + rootMetadataName: string; + selectedItemList: FileNode; + sedaLanguage: boolean; + sedaLanguageSub: Subscription; + viewChild: FileNode[]=[]; + + notificationRemoveSuccessOne: string; + notificationRemoveSuccessTwo: string; + notificationAddMetadonneePOne: string; + notificationAddMetadonneePTwo: string; + notificationAddmetadonneeSOne: string; + notificationAddmetadonneeSTwo: string; + notificationAjoutMetadonneeFileTree: string; + notificationDuplicateSuccessOne: string; + notificationDuplicateSuccessTwo: string; + popupRemoveSedaElementAttribut: string ; + popupRemoveSedaElementMetadonnee: string ; + popupRemoveTitre: string ; + popupRemoveSousTitreAttribut: string; + popupRemoveSousTitreMetadonnee: string; + popupRemoveDeleteTypeTextM: string; + popupRemoveDeleteTypeTextF: string ; + popupAddCancelLabel: string; + popupAddTitleDialog: string; + popupAddSubTitleDialog: string; + popupAddOkLabel: string; + popupDuplicateSedaElementAttribut: string ; + popupDuplicateSedaElementMetadonnee: string ; + popupDuplicateTitre: string ; + popupDuplicateTitreTwo: string ; + popupDuplicateSousTitreAttribut: string; + popupDuplicateSousTitreMetadonnee: string; + popupDuplicateDeleteTypeTextM: string; + popupDuplicateDeleteTypeTextF: string ; + + static archiveUnits: FileNode; + static archiveUnitsNumber: number; + static uaIdAndPosition = new Map<any, number>(); + + private _fileServiceTabChildrenRulesChange: Subscription; + private _fileServiceCollectionName: Subscription; + private _fileServiceRootTabMetadataName: Subscription; + private _fileTreeServiceUpdateMedataTable: Subscription; + + constructor(private fileService: FileService, private loggingService: NotificationService, + private fileMetadataService: FileTreeMetadataService, private sedaService: SedaService, + private sedaLanguageService: PastisPopupMetadataLanguageService, public fileTreeService:FileTreeService, + private translateService: TranslateService, public profileService: ProfileService) { } + + ngOnInit() { + if(!this.isStandalone){ + constantToTranslate.call(this); + this.translatedOnChange(); + } + else if(this.isStandalone) + { + this.notificationRemoveSuccessOne = " a été" + this.notificationRemoveSuccessTwo = "avec succès" + this.notificationDuplicateSuccessOne = " a été " + this.notificationDuplicateSuccessTwo = "avec succès" + this.notificationAddMetadonneePOne = "Les métadonnées" + this.notificationAddMetadonneePTwo = " ont été ajoutées" + this.notificationAddmetadonneeSOne = "La métadonnée" + this.notificationAddmetadonneeSTwo = " a été ajoutée" + this.notificationAjoutMetadonneeFileTree = "La métadonnée ArchiveUnit a été ajoutée" + this.popupRemoveSedaElementAttribut = "L'attribut" + this.popupRemoveSedaElementMetadonnee = "La métadonnée " + this.popupRemoveTitre = "Voulez-vous supprimer" + this.popupRemoveSousTitreAttribut = "Suppression d'un attribut" + this.popupRemoveSousTitreMetadonnee = "Suppression d'une métadonnée" + this.popupRemoveDeleteTypeTextM = "supprimé " + this.popupRemoveDeleteTypeTextF = "supprimée " + this.popupAddCancelLabel = "Annuler" + this.popupAddTitleDialog = "Veuillez sélectionner une ou plusieurs métadonnées" + this.popupAddSubTitleDialog = "Ajouter des métadonnées à " + this.popupAddOkLabel = "Ajouter les métadonnées" + this.popupDuplicateSedaElementAttribut = "L'attribut" + this.popupDuplicateSedaElementMetadonnee = " la métadonnée " + this.popupDuplicateTitre = "Voulez-vous dupliquer" + this.popupDuplicateSousTitreAttribut = "Duplication d'un attribut" + this.popupDuplicateSousTitreMetadonnee = "Duplication d'une métadonnée" + this.popupDuplicateDeleteTypeTextM = "dupliqué " + this.popupDuplicateDeleteTypeTextF = "dupliquée " + this.popupDuplicateTitreTwo = "son contenu et son paramétrage (cardinalités et commentaire)" + } + this.sedaLanguageSub = this.sedaLanguageService.sedaLanguage.subscribe( + (value: boolean) => { + this.sedaLanguage = value; + }, + (error) => { + console.log(error) + } + ); + this.sedaData = this.sedaService.sedaRules[0]; + this.sedaService.selectedSedaNode.next(this.sedaService.sedaRules[0]); + this.sedaService.selectedSedaNodeParent.next(this.sedaData); + console.log("Init seda node on file tree : %o", this.sedaService.selectedSedaNode.getValue(), " on tab : ", this.rootElementName); + + this._fileServiceTabChildrenRulesChange = this.fileService.tabChildrenRulesChange.subscribe(rules => { + this.rulesChange = rules; + }) + this._fileServiceCollectionName = this.fileService.collectionName.subscribe(collection => { + this.collectionName = collection; + }) + this._fileServiceRootTabMetadataName = this.fileService.rootTabMetadataName.subscribe(metadataName => { + this.rootMetadataName = metadataName; + }) + this._fileTreeServiceUpdateMedataTable = this.fileTreeService.updateMedataTable.subscribe(node=>{ + this.updateMedataTable(node); + }) + } + translatedOnChange(): void { + this.translateService.onLangChange + .subscribe((event: LangChangeEvent) => { + constantToTranslate.call(this); + console.log(event.lang); + }); + } + + translated(nameOfFieldToTranslate: string): string { + return this.translateService.instant(FILE_TREE_TRANSLATE_PATH + nameOfFieldToTranslate); + } + + isAttribute(node: FileNode): boolean { + return node ? node.type === TypeConstants[TypeConstants.attribute] : false; + } + + getChildren = (node: FileNode) => node.children; + + hasNestedChild(nodeData: FileNode): boolean { + return !nodeData.type; + } + + + + /** Select the category so we can insert the new item. */ + async addNewItem(node: FileNode) { + let dataToSendToPopUp = <PastisDialogData>{}; + dataToSendToPopUp.titleDialog = this.popupAddTitleDialog; + dataToSendToPopUp.subTitleDialog = this.popupAddSubTitleDialog + ` "${node.name}"`, node.name; + dataToSendToPopUp.fileNode = node; + dataToSendToPopUp.width = '800px'; + dataToSendToPopUp.okLabel = this.popupAddOkLabel; + dataToSendToPopUp.cancelLabel = this.popupAddCancelLabel; + dataToSendToPopUp.component = UserActionAddMetadataComponent; + dataToSendToPopUp.disableBtnOuiOnInit = true; + const elementsToAdd = <SedaData[]>await this.fileService.openPopup(dataToSendToPopUp); + let names: string[] = elementsToAdd.map(e => e.Name); + if (elementsToAdd) { + //this.sedaService.selectedSedaNode.next(sedaNode); + this.insertItem(node, names); + elementsToAdd.length > 1 ? + this.loggingService.showSuccess(this.notificationAddMetadonneePOne + " " + names.join(', ') + this.notificationAddMetadonneePTwo) : + this.loggingService.showSuccess(this.notificationAddmetadonneeSOne + " " + names + " " + this.notificationAddmetadonneeSTwo) + } + } + + /** Add an item (or a list of items) in the Tree */ + insertItem(parent: FileNode, elementsToAdd: string[], node?: FileNode, insertItemDuplicate?:boolean) { + console.log("After data is : %o", this.fileTreeService.nestedDataSource.data) + let elementsToAddFromSeda: SedaData[] = []; + for (let element of elementsToAdd) { + parent.sedaData.Children.forEach((child) => { + if (child.Name === element) { + elementsToAddFromSeda.push(child); + } + }); + } + + if (parent.children && elementsToAddFromSeda) { + for (let element of elementsToAddFromSeda) { + // 1. Define a new file node, its id and seda data; + let newNode = {} as FileNode; + let newId = window.crypto.getRandomValues(new Uint32Array(10))[0]; + let sedaChild = element; + + // 1.2. New node type is defined acording to the seda element type + sedaChild.Element === SedaElementConstants.attribute ? + newNode.type = TypeConstants.attribute : + newNode.type = TypeConstants.element; + // 1.3. Fill the missing new node data + if(insertItemDuplicate){ + newNode.cardinality = node.cardinality; + newNode.value=node.value; + newNode.documentation= node.documentation; + newNode.type=node.type; + } + else{ + newNode.cardinality = Object.values(CardinalityConstants).find(c => c.valueOf() === sedaChild.Cardinality); + } + newNode.name = element.Name; + newNode.id = newId; + newNode.level = parent.level + 1; + newNode.dataType = DataTypeConstants[sedaChild.Type as keyof typeof DataTypeConstants]; + newNode.parentId = parent.id; + newNode.parent = parent; + newNode.children = []; + newNode.sedaData = sedaChild; + console.log("Parent node name: " + parent.name); + console.log("New node : ", newNode); + + //1.4. Update parent->children relashionship + parent.children.push(newNode); + this.parentNodeMap.set(newNode, parent); + console.log("Seda children and file children: ", parent.sedaData.Children, parent.children); + + // 2. Insert all children of complex elements based on SEDA definition + if (sedaChild.Element === SedaElementConstants.complex) { + let childrenOfComplexElement: string[] = []; + sedaChild.Children.forEach((child: { Cardinality: any; Name: string; }) => { + if (child.Cardinality === SedaCardinalityConstants.one || + child.Cardinality === SedaCardinalityConstants.oreOrMore) { + childrenOfComplexElement.push(child.Name); + } + }) + this.insertItem(newNode, childrenOfComplexElement); + } + + if(insertItemDuplicate){ + this.insertAttributes(newNode,null,node, insertItemDuplicate) + } + else { + + // 3. Insert all olbigatory attributes of the added node, if there is + if (sedaChild.Children.some((child: { Element: any; }) => child.Element === SedaElementConstants.attribute)) { + let attributes: FileNode[] = []; + sedaChild.Children.filter((c: { Element: any; }) => c.Element === SedaElementConstants.attribute).forEach((child: { Name: string; Element: any; Cardinality: any; }) => { + let isAttributeAlreadyIncluded = newNode.children.some(nodeChild => nodeChild.name.includes(child.Name)); + // If the added node contains an obligatory attribute, + // on its seda definition and the attribute is not already part of the node, + // we then, build an attribute node based on the seda atribute defintion + if (child.Element === SedaElementConstants.attribute && + child.Cardinality === SedaCardinalityConstants.one && + !isAttributeAlreadyIncluded) { + let childAttribute = {} as FileNode; + childAttribute.name = child.Name; + childAttribute.cardinality = child.Cardinality === SedaCardinalityConstants.one ? '1' : null; + childAttribute.sedaData = sedaChild; + attributes.push(childAttribute); + } + }) + this.insertAttributes(newNode, attributes); + } + } + + } + // 4. Order elements according to seda definition + let sedaChildrenName: string[] = []; + parent.sedaData.Children.forEach((child: { Name: string; }) => { + sedaChildrenName.push(child.Name); + }) + parent.children.sort((a, b) => { + return sedaChildrenName.indexOf(a.name) - sedaChildrenName.indexOf(b.name) + }) + // 5. Update tree + this.sendNodeMetadata(parent); + console.log("New fileNode data is : %o", this.fileTreeService.nestedDataSource.data) + + // 6. No more nodes to add + } else { + console.log('No More Nodes can be inserted : No node was selected or node name is invalid'); + } + } + + newAttributNode(attribute: FileNode, parent: FileNode) { + let newAttributeNode = {} as FileNode; + let newId = window.crypto.getRandomValues(new Uint32Array(10))[0]; + newAttributeNode.name = attribute.name; + newAttributeNode.id = newId; + newAttributeNode.level = parent.level + 1; + newAttributeNode.type = TypeConstants.attribute; + newAttributeNode.dataType = DataTypeConstants[attribute.sedaData.Type as keyof typeof DataTypeConstants]; + newAttributeNode.parentId = parent.id; + newAttributeNode.children = []; + newAttributeNode.cardinality = !attribute.cardinality ? '1' : attribute.cardinality; + newAttributeNode.documentation = attribute.documentation ? attribute.documentation : null; + newAttributeNode.value = attribute.value ? attribute.value : null; + newAttributeNode.sedaData = attribute.sedaData; + newAttributeNode.parent = parent; + parent.children.push(newAttributeNode); + this.parentNodeMap.set(newAttributeNode, parent); + console.log("Parent of attribute after insert is now : ", parent.children); + } + + // @ts-ignore + insertAttributes(parent: FileNode, attributesToAdd: FileNode[], node?:FileNode, insertItemDuplicate?:boolean) { + if (attributesToAdd) { + for (let attribute of attributesToAdd) { + //Only attributes with cardinality one will be included + if (attribute.cardinality === SedaCardinalityConstants.one) { + this.newAttributNode(attribute, parent); + } + } + } + /* //TODO : à revoir pour duplication des attributs + if(insertItemDuplicate){ + this.newAttributNode(node, parent); + }*/ + } + + sendNodeMetadata(node: FileNode): void { + this.updateFileTree(node); + this.updateMedataTable(node); + if (node.name === 'DataObjectGroup') { + let dataObjectPackageId = this.fileService.getFileNodeByName(node.parent, 'DataObjectPackage').id; + this.renderChanges(node, dataObjectPackageId); + } + if (node.name === 'DescriptiveMetadata') { + FileTreeComponent.archiveUnits = node; + this.generateArchiveUnitsNumbers(node) + this.renderChanges(node, node.id); + console.log("Archive units : ", FileTreeComponent.archiveUnits) + } else { + + this.renderChanges(node); + } + } + + generateArchiveUnitsNumbers(archiveUnit: FileNode): void { + if (archiveUnit.name === 'DescriptiveMetadata') { + const archiveUnitLevel = archiveUnit.level - 1; + FileTreeComponent.uaIdAndPosition.set(archiveUnitLevel, archiveUnit.id); + } + let counter = 0; + archiveUnit.children.forEach(child => { + if (child.name === 'ArchiveUnit') { + counter++; + const archiveUnitLevel = archiveUnit.level - 1 + "." + counter; + FileTreeComponent.uaIdAndPosition.set(archiveUnitLevel, child.id); + } + }) + } + + + // Refresh Tree by opening an given node (option) + // If the a node name is not prodived, the function will open the root tab element + renderChanges(node: FileNode, nodeIdToExpand?: number) { + let data: FileNode; + if (nodeIdToExpand) { + data = this.fileService.getFileNodeById(this.fileService.allData.getValue()[0], nodeIdToExpand); + } else { + let rootTabName = this.fileService.rootTabMetadataName.getValue(); + data = this.fileService.getFileNodeByName(this.fileService.allData.getValue()[0], rootTabName); + } + if (data) { + let dataArray = []; + dataArray.push(data); + this.fileTreeService.nestedDataSource.data = null; + this.fileTreeService.nestedDataSource.data = dataArray; + this.fileTreeService.nestedTreeControl.expand(node); + } + } + + updateMedataTable(node: FileNode) { + if (node) { + this.selectedItemList = node; + } + let rulesFromService = this.fileService.tabChildrenRulesChange.getValue() + let tabChildrenToInclude = rulesFromService[0]; + let tabChildrenToExclude = rulesFromService[1]; + this.fileService.nodeChange.next(node); + this.sedaService.selectedSedaNode.next(node.sedaData); + let dataTable = this.fileMetadataService.fillDataTable(node.sedaData, node, tabChildrenToInclude, tabChildrenToExclude); + let hasAtLeastOneComplexChild = node.children.some(el => el.type === TypeConstants.element); + + if (node.sedaData.Element === SedaElementConstants.complex) { + this.fileMetadataService.shouldLoadMetadataTable.next(hasAtLeastOneComplexChild); + console.log("Filled data on table : ", dataTable, "...should load : ", this.fileMetadataService.shouldLoadMetadataTable.getValue()); + this.fileMetadataService.dataSource.next(dataTable); + } else { + this.fileMetadataService.shouldLoadMetadataTable.next(true); + this.fileMetadataService.dataSource.next(dataTable); + } + } + + // Updates the nested tab root tree and the data tree + updateFileTree(node: FileNode) { + this.fileTreeService.nestedDataSource.data[0] = node + let allData = this.fileService.allData.getValue()[0] + this.updateItem(node, allData); + } + + sendNodeMetadataIfChildren(node: FileNode) { + if (node.children.length) { + this.sendNodeMetadata(node); + } + } + + isElementComplexAndHasChildren(node: FileNode) { + return node.children.some(child => child.type === TypeConstants.element); + } + + isElementComplex(node: FileNode) { + return node.sedaData.Element === SedaElementConstants.complex; + } + + + // Refacto TODO + onResolveName(node: FileNode) { + if (this.sedaLanguage) { + return node.name; + } else { + if (node.sedaData && node.sedaData.NameFr) { + return node.sedaData.NameFr; + } + } + return node.name; + } + + async remove(node: FileNode) { + let dataToSendToPopUp = <PastisDialogData>{}; + let nodeType = node.sedaData.Element == SedaElementConstants.attribute ? this.popupRemoveSedaElementAttribut : this.popupRemoveSedaElementMetadonnee + dataToSendToPopUp.titleDialog = this.popupRemoveTitre + " " + nodeType + " \"" + node.name + "\" ?"; + dataToSendToPopUp.subTitleDialog = node.sedaData.Element == SedaElementConstants.attribute ? + this.popupRemoveSousTitreAttribut : this.popupRemoveSousTitreMetadonnee; + dataToSendToPopUp.fileNode = node; + dataToSendToPopUp.component = UserActionRemoveMetadataComponent; + + let popUpAnswer = <FileNode>await this.fileService.openPopup(dataToSendToPopUp); + if (popUpAnswer) { + let deleteTypeText = node.sedaData.Element == SedaElementConstants.attribute ? this.popupRemoveDeleteTypeTextM : this.popupRemoveDeleteTypeTextF + this.removeItem(node, this.fileService.nodeChange.getValue()); + this.loggingService.showSuccess(nodeType + node.name + this.notificationRemoveSuccessOne + deleteTypeText + this.notificationRemoveSuccessTwo); + } + } + + /** + * Duplicate an item tree + * @param node + */ + async duplicate(node: FileNode){ + let dataToSendToPopUp = <PastisDialogData>{}; + let nodeType = node.sedaData.Element == SedaElementConstants.attribute ? this.popupDuplicateSedaElementAttribut : this.popupDuplicateSedaElementMetadonnee + dataToSendToPopUp.titleDialog = this.popupDuplicateTitre + " " + nodeType + " \"" + node.name + " " + this.popupDuplicateTitreTwo; + dataToSendToPopUp.subTitleDialog = node.sedaData.Element == SedaElementConstants.attribute ? + this.popupDuplicateSousTitreAttribut : this.popupDuplicateSousTitreMetadonnee; + dataToSendToPopUp.fileNode = node; + dataToSendToPopUp.component = DuplicateMetadataComponent; + + const elementToDuplicate = <string>await this.fileService.openPopup(dataToSendToPopUp); + if (elementToDuplicate) { + let duplicateTypeText = node.sedaData.Element == SedaElementConstants.attribute ? this.popupDuplicateDeleteTypeTextM : this.popupDuplicateDeleteTypeTextF + const addedItems:string[] = []; + addedItems.push(elementToDuplicate) + this.insertItem(node.parent, addedItems,node, true); + this.loggingService.showSuccess(nodeType + node.name + this.notificationDuplicateSuccessOne + duplicateTypeText + this.notificationDuplicateSuccessTwo); + } + } + + isSedaNodeObligatory(nodeName: string): boolean { + if (this.sedaData) { + for (let child of this.sedaData.Children) { + if (child.Name === nodeName) { + return child.Cardinality !== '1'; + } + } + } + } + + buildFileTree(obj: object, level: number): FileNode[] { + // This should recive Root node of Tree of Type FileNode + // so we dont have to create a new node and use it as it is + return Object.keys(obj).reduce<FileNode[]>((accumulator: FileNode[], key: keyof object) => { + const value = obj[key]; + const node = {} as FileNode; + node.id = level; + node.level = level; + node.name = key; + node.parentId = null; + if (value != null) { + if (typeof value === 'object') { + node.children = this.buildFileTree(value, level + 1); + } else { + node.type = value; + } + } + return accumulator.concat(node); + }, []); + } + + /** Remove an item Tree node given a parent node and the child to be removed */ + removeItem(childToBeRemoved: FileNode, parentRootNode: FileNode) { + //If the parentRoot is a reference to the child to be removed, we search for its parent from the root tab node + let rootNode = parentRootNode.id === childToBeRemoved.id ? this.fileTreeService.nestedDataSource.data[0] : parentRootNode; + + const parentNode = this.findParent(childToBeRemoved.parentId, rootNode); + if (parentNode) { + console.log("On removeItem with node : ", childToBeRemoved, "and parent : ", parentNode); + const index = parentNode.children.indexOf(childToBeRemoved); + if (index !== -1) { + parentNode.children.splice(index, 1); + // Refacto TODO + this.parentNodeMap.delete(childToBeRemoved); + this.dataChange.next(this.data); + } + console.log("Deleted node : ", childToBeRemoved, "and his parent : ", parentNode); + this.sendNodeMetadata(parentNode); + } + } + + /** Update an item Tree node */ + updateItem(newRootNode: FileNode, allData: FileNode) { + for (let idx in allData.children) { + if (allData.children[idx].id === newRootNode.id) { + allData.children[idx] = newRootNode; + } else { + this.updateItem(newRootNode, allData.children[idx]); + } + } + } + + + /** Find a parent tree node */ + findParent(id: number, parentNode: FileNode): FileNode { + console.log("On findParent with parent node id : ", id, " and parent : ", parentNode); + return this.fileService.getFileNodeById(parentNode, id) + } + + findParentLevel(nodeToFind: FileNode): number { + let parentNodeToSearch = this.fileTreeService.nestedDataSource.data; + for (let node of parentNodeToSearch) { + // For nested elements + if (this.rootElementName === node.name && this.rootElementName === nodeToFind.name && + parentNodeToSearch[0].name === node.name && parentNodeToSearch[0].id !== nodeToFind.id) { + return 1; + } + return nodeToFind.level - node.level; + } + } + + // Checks if a node belongs to the clicked tab collection. + // For a given node, searches the required node in the seda.json file and + // returns true if the node's value of "Collection" is equal to the clicked tab + isPartOfCollection(node: FileNode): boolean { + return this.collectionName === node.sedaData.Collection.valueOf(); + } + + shouldBeOnTab(node: FileNode): boolean { + let rootNodeName = this.fileService.rootTabMetadataName.getValue(); + let filteredNode = Object.assign({} as FileNode, this.fileTreeService.nestedDataSource.data[0]); + + let includedDataObjectPackageChildren = ['DataObjectGroup', 'BinaryDataObject', 'PhysicalDataObject'] + if (rootNodeName === 'DataObjectPackage' && !includedDataObjectPackageChildren.includes(node.name)) { + filteredNode.children = filteredNode.children.filter((child: { name: string; }) => child.name !== 'DescriptiveMetadata' && + child.name !== 'ManagementMetadata') + let childFound = this.fileService.getFileNodeById(filteredNode, node.id) + return !!childFound; + } + if (rootNodeName === 'ArchiveTransfer') { + filteredNode.children = filteredNode.children.filter((child: { name: string; }) => child.name !== 'DataObjectPackage'); + let childFound = this.fileService.getFileNodeById(filteredNode, node.id) + return !!childFound; + } + return true; + } + + + // Returns the positioning, in pixels, of a given node + calculateNodePosition(node: FileNode): string { + //Root node name + if (node.name === this.rootElementName) { + return new Number(28).toString(); + } + //Root children with children + if (node.children.length && node.name !== this.rootElementName) { + return (new Number((this.findParentLevel(node) * 40) - 16)).toString(); + } + //Root children without children- + if ((!node.children.length && node.name !== this.rootElementName)) { + return (new Number((this.findParentLevel(node) * 40) - 13)).toString(); + } + } + + /** Error handler */ + handleError(error: any) { + let errorMessage = ''; + if (error.error instanceof ErrorEvent) { + // Get client-side error + errorMessage = error.error.message; + } else { + // Get server-side error + errorMessage = `Error Code: ${error.status} Message: ${error.message}`; + } + window.alert(errorMessage); + return throwError(errorMessage); + } + + showAllowedChidren(node: FileNode) { + if (this.childrenListToExclude) { + return !this.childrenListToExclude.includes(node.name); + } + } + + addArchiveUnit(node: FileNode) { + if (node.name == 'DescriptiveMetadata' || node.name == 'ArchiveUnit') { + console.log("Clicked seda node : ", node.sedaData); + this.insertItem(node, ['ArchiveUnit']); + // Refresh the metadata tree and the metadatatable + this.renderChanges(node); + this.loggingService.showSuccess(this.notificationAjoutMetadonneeFileTree); + } + } + + + selectedItem(node: FileNode): boolean{ + if(this.selectedItemList && node){ + if (node.name==='ManagementMetadata') { + console.log(this) + } + if(this.selectedItemList.id == node.id){ + return true; + } + } + return false; + } + expendChildren(node: FileNode){ + if(this.fileTreeService.nestedTreeControl.isExpanded(node)){ + this.viewChild = this.viewChild.filter(e => e.id != node.id) + this.filterExpandedChildren(node, true); + document.getElementById("child"+ node.id).click(); + this.updateMedataTable(node); + } + else{ + document.getElementById("child"+ node.id).click(); + this.filterExpandedChildren(node, false); + this.viewChild.push(node) + this.updateMedataTable(node); + } + } + filterExpandedChildren(node: FileNode, isExpanded: boolean){ + if(this.viewChild && this.viewChild.length>0){ + this.viewChild.forEach((e: FileNode) => { + const abstractFunctionCondition: Function = (isExpanded: boolean): boolean => { + return isExpanded ? (e.id != node.id && e.level >= node.level) : + e.id != node.id && + (e.level === node.level || (e.level > node.level && e.parentId != node.parentId)); + }; + if(abstractFunctionCondition(isExpanded)){ + if(this.fileTreeService.nestedTreeControl.isExpanded(e)){ + document.getElementById("child"+ e.id).click(); + } + this.viewChild = isExpanded ? this.viewChild.filter(e => e.id === node.id) : + this.viewChild.filter(e => e.id !== node.id); + } + }) + if(isExpanded){ + this.updateMedataTable(node); + } + } + } + + + ngOnDestroy(){ + if(this.sedaLanguageSub != null){ + this.sedaLanguageSub.unsubscribe(); + } + if(this._fileServiceTabChildrenRulesChange!= null){ + this._fileServiceTabChildrenRulesChange.unsubscribe(); + } + if(this._fileServiceCollectionName!= null){ + this._fileServiceCollectionName.unsubscribe(); + } + if(this._fileServiceRootTabMetadataName!= null){ + this._fileServiceRootTabMetadataName.unsubscribe(); + } + if(this._fileTreeServiceUpdateMedataTable!= null){ + this._fileTreeServiceUpdateMedataTable.unsubscribe(); + } + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.module.ts b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.module.ts new file mode 100644 index 000000000..0e763b4b4 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.module.ts @@ -0,0 +1,87 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule,ReactiveFormsModule} from '@angular/forms'; +import { SharedModule } from '../../../shared/shared.module'; +import { UserActionsModule } from '../../../user-actions/user-actions.module'; +import { DpDatePickerModule } from 'ng2-date-picker'; + +import { MatTableModule} from '@angular/material/table'; +import { PastisMaterialModule } from '../../../material.module' + +import { MAT_RIPPLE_GLOBAL_OPTIONS} from '@angular/material/core'; + + +import { FileTreeMetadataComponent } from '../file-tree-metadata/file-tree-metadata.component'; +import { FileTreeComponent } from './file-tree.component'; +import { FiletreeFilterPipe } from './pipes/file-tree-filter.pipe'; +import { AttributesPopupComponent } from '../file-tree-metadata/attributes/attributes.component'; +import { PastisDialogConfirmComponent } from '../../../shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component'; +import { CoreModule } from '../../../core/core.module'; +import {EditableFieldModule, VitamUICommonModule} from "ui-frontend-common"; +import {TranslateModule} from "@ngx-translate/core"; + +@NgModule({ + imports: [ + CommonModule, + PastisMaterialModule, + FormsModule, + CoreModule, + ReactiveFormsModule, + MatTableModule, + SharedModule, + UserActionsModule, + DpDatePickerModule, + EditableFieldModule, + TranslateModule, + VitamUICommonModule + ], + exports: [ + FileTreeComponent, + FileTreeMetadataComponent + ], + providers:[{provide: MAT_RIPPLE_GLOBAL_OPTIONS, useValue: {disabled: true}}], + declarations: [FileTreeMetadataComponent, FileTreeComponent,FiletreeFilterPipe, + AttributesPopupComponent], + entryComponents: [FileTreeComponent,FileTreeMetadataComponent,PastisDialogConfirmComponent,AttributesPopupComponent] +}) + +export class FileTreeModule { + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.service.ts b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.service.ts new file mode 100644 index 000000000..94ddcd82e --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/file-tree.service.ts @@ -0,0 +1,57 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Injectable } from '@angular/core'; +import { Subject } from 'rxjs'; +import { FileNode } from '../../../models/file-node'; +import { MatTreeNestedDataSource } from '@angular/material/tree'; +import { NestedTreeControl } from '@angular/cdk/tree'; + +@Injectable({ + providedIn: 'root' +}) +export class FileTreeService { + + updateMedataTable:Subject<FileNode>; + nestedDataSource:MatTreeNestedDataSource<FileNode>;; + nestedTreeControl:NestedTreeControl<FileNode>; + + constructor() { + this.updateMedataTable = new Subject<FileNode>(); + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/pipes/file-tree-filter.pipe.spec.ts b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/pipes/file-tree-filter.pipe.spec.ts new file mode 100644 index 000000000..bfdfb1e87 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/pipes/file-tree-filter.pipe.spec.ts @@ -0,0 +1,45 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { FiletreeFilterPipe } from './filetree-filter.pipe'; + +describe('FiletreeFilterPipe', () => { + it('create an instance', () => { + const pipe = new FiletreeFilterPipe(); + expect(pipe).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/pipes/file-tree-filter.pipe.ts b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/pipes/file-tree-filter.pipe.ts new file mode 100644 index 000000000..3617544c8 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/file-tree/pipes/file-tree-filter.pipe.ts @@ -0,0 +1,49 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Pipe, PipeTransform } from '@angular/core'; + +@Pipe({ + name: 'filetreeFilter' +}) +export class FiletreeFilterPipe implements PipeTransform { + + transform(): any { + return null; + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.html b/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.html new file mode 100644 index 000000000..48551839c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.html @@ -0,0 +1,135 @@ +<mat-sidenav-container [autosize]="true" [hasBackdrop]="false"> + + + <mat-sidenav #panel [fixedInViewport]="true" mode="side" position="end"> + <profile-preview (previewClose)="closePanel()" *ngIf="openedItem" [inputProfile]="openedItem"></profile-preview> + </mat-sidenav> + + <mat-sidenav-content> + + <div class="vitamui-heading"> + <pastis-title-breadcrumb (selected)="navigate($event)" *ngIf="!isStandalone" + [data]="breadcrumbDataTop" + class="breadcrumbTop"> + </pastis-title-breadcrumb> + + <vitamui-common-banner (search)="onSearchSubmit($event)" + [searchbarPlaceholder]="'PROFILE.LIST_PROFILE.SEARCH_PLACEHOLDER' | translate"> + <button (click)="createProfile()" *ngIf="true" class="btn primary ml-5"> + <i class="vitamui-icon vitamui-icon-plus mr-3 "></i> + <span + style="align-items: center; margin:auto;">{{'PROFILE.LIST_PROFILE.CREER_NOUVEAU_PROFIL' | translate}}</span> + </button> + <button *ngIf="isStandalone" (click)="fileInput.click()" class="btn secondary ml-3"> + <i class="vitamui-icon vitamui-icon-deposit mr-3 "></i> + <span style="align-items: center; margin:auto;">{{'PROFILE.LIST_PROFILE.IMPORTER_PROFIL' | translate}}</span> + + <input #fileInput (change)="uploadProfile($event.target.files)" [uploader]="uploader" accept=".json, .rng" class="buttons" + ng2FileSelect style="display:none;" type="file"/> + </button> + <pastis-popup-option *ngIf="!isStandalone" [sedaUrl]="sedaUrl" + [newProfileUrl]="newProfileUrl" ></pastis-popup-option> + </vitamui-common-banner> + + </div> + + + <!--The profile types cards container--> + <div class="vitamui-content"> + <p class="text bold">{{'PROFILE.LIST_PROFILE.LISTE_DES_PROFILS' | translate}}</p> + <div + (click)="changeType('ALL')" + [ngClass]="{'pa-pua-card':filterType == 'PA' || filterType == 'PUA' ,'total-profile-card':filterType == 'ALL' || (filterType != 'PUA' && filterType != 'PA') }"> + <p + [ngClass]="{'pa-pua-label':filterType == 'PA' || filterType == 'PUA' ,'total-profile-label':filterType == 'ALL' || (filterType != 'PUA' && filterType != 'PA')}"> + {{'PROFILE.LIST_PROFILE.TOUS_LES_PROFILS' | translate}}</p> + <p + [ngClass]="{'pa-pua-num-label':filterType == 'PA' || filterType == 'PUA' || !filterType ,'total-profilenum-label':filterType == 'ALL' || (filterType != 'PUA' && filterType != 'PA')}"> + {{totalProfileNum}}</p> + </div> + + <div (click)="changeType('PA')" + [ngClass]="{'pa-pua-card':filterType != 'PA','total-profile-card':filterType == 'PA'}"> + <p [ngClass]="{'pa-pua-label':filterType != 'PA','total-profile-label':filterType == 'PA'}">PA</p> + <p [ngClass]="{'pa-pua-num-label':filterType != 'PA','total-profilenum-label':filterType == 'PA'}">{{numPA}}</p> + </div> + <div (click)="changeType('PUA')" + [ngClass]="{'pa-pua-card':filterType != 'PUA','total-profile-card':filterType == 'PUA'}"> + <p [ngClass]="{'pa-pua-label':filterType != 'PUA','total-profile-label':filterType == 'PUA'}">PUA</p> + <p [ngClass]="{'pa-pua-num-label':filterType != 'PUA','total-profilenum-label':filterType == 'PUA'}"> + {{numPUA}}</p> + </div> + <div class=test id="test"></div> + + <div *ngIf="matDataSource" [loaderId]="'table-profiles'" blur="0" class="vitamui-table-body" + ngxUiLoaderBlurred style="margin-top: 30px;"> + + <div vitamuiCommonInfiniteScroll> + <div class="vitamui-table"> + <div class="vitamui-table-head"> + <div class="col-2 d-flex align-items-center"> + {{'PROFILE.LIST_PROFILE.TABLE.TYPE_ETAT' | translate}} + <vitamui-common-order-by-button [(direction)]="direction" [(orderBy)]="orderBy" + orderByKey="type"> + </vitamui-common-order-by-button> + </div> + <div class="col-3 d-flex align-items-center"> + {{'PROFILE.LIST_PROFILE.TABLE.IDENTIFIANT' | translate}} + <vitamui-common-order-by-button [(direction)]="direction" [(orderBy)]="orderBy" + orderByKey="id"> + </vitamui-common-order-by-button> + </div> + <div class="col-3 d-flex align-items-center"> + {{'PROFILE.LIST_PROFILE.TABLE.INTITULE' | translate}} + <vitamui-common-order-by-button [(direction)]="direction" [(orderBy)]="orderBy" + orderByKey="baseName"> + </vitamui-common-order-by-button> + </div> + <div class="col-4 d-flex align-items-center"> + {{'PROFILE.LIST_PROFILE.TABLE.DERNIERES_MODIFICATIONS' | translate}} + <vitamui-common-order-by-button [(direction)]="direction" [(orderBy)]="orderBy" + orderByKey="lastModified"> + </vitamui-common-order-by-button> + </div> + </div> + </div> + <div class="vitamui-table-body"> + <div *ngFor="let element of retrievedProfiles | filterByType:filterType | filterByStringName:search;" + class="vitamui-table-rows"> + <div class="vitamui-row d-flex align-items-center"> + <div (click)="showProfile(element)" class="col-2 clickable"> + {{element.type}}<i *ngIf="element.status == 'ACTIVE'" + class="status-badge-green ml-3"></i> + <i *ngIf="element.status == 'INACTIVE'" class="status-badge-red ml-3"></i> + </div> + <div (click)="showProfile(element)" class="col-3 clickable">{{element.identifier}}</div> + <div (click)="showProfile(element)" class="col-3 clickable">{{element.name}}</div> + <div (click)="showProfile(element)" class="col-2 mr-3 clickable">{{element.lastUpdate}}</div> + <div class="col-2 actions"> + <div> + <button (click)="editProfile(element)" class="btn btn-circle primary mr-3" + [disabled]="(!element.controlSchema && element.type === 'PUA') || (!element.path && element.type === 'PA') || element.status === 'INACTIVE'"> + <i [style.fontSize.px]="25" class="vitamui-icon vitamui-icon-edit" + matTooltip="{{'PROFILE.LIST_PROFILE.MODIFIER_PROFIL_TOOLTIP' | + translate}}" + matTooltipPosition="above" matTooltipClass="modifierToolTip"></i> + </button> + + <button class="btn btn-circle outlin outline-primary mr-3"> + <i [style.fontSize.px]="25" + class="vitamui-icon vitamui-icon-more-horiz"></i> + </button> + </div> + </div> + </div> + </div> + </div> + </div> + + <ngx-ui-loader [loaderId]="'table-profiles'"></ngx-ui-loader> + + </div> + </div> + + </mat-sidenav-content> +</mat-sidenav-container> diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.scss b/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.scss new file mode 100644 index 000000000..9c2a2fa5d --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.scss @@ -0,0 +1,251 @@ +@import "../../../assets/css/mixins"; +@import "../../../assets/css/layout"; +@import "../../../assets/css/colors"; +@import "../../../assets/css/font"; +@import "../../../assets/css/buttons"; + +::ng-deep .modifierToolTip{ + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + padding: 0px; + background: var(--vitamui-primary); + font-family: Mulish; + font-style: normal; + font-weight: normal; + font-size: 12px; + color: var(--white); + filter: drop-shadow(0px 0px 2px rgba(112, 35, 130, 0.4)) drop-shadow(0px 1px 4px rgba(112, 35, 130, 0.2)); +} +pastis-popup-option{ + margin-right: 200px; + padding-left: 50px; +} + +.search-and-create-container { + margin-right: 126px; + margin-left: 126px; +} + +.navigation-links-container { + margin-left: 126px; + margin-top: 60px; +} + +.profile-list-container { + margin-left: 126px; + margin-right: 126px; + margin-top: 39px; + max-height: 365px; + overflow: auto; +} + +.profile-cards-container { + margin-left: 126px; +} + + + +.btn-search { + margin-left: -40px; + vertical-align: middle; + @extend .pastis-btn-rounded-mini-primary; +} + +.btn-back{ + border-width: 0px; + margin-right: 10px; + @extend .pastis-btn-rounded-mini-primary; +} + + +.btn-edit-profile { + display: inline-block; + margin: 5px; + margin-left: 100px; + @extend .pastis-btn-rounded-mini-primary; +} + + +.btn-menu { + display: inline-block; + vertical-align: middle; + margin: 5px; + @extend .pastis-btn-rounded-mini-neutral; + +} + +.btn-create-profile { + width: 27%; + height: 50px; + margin-left: 50px; + display: flex; + flex-direction: row; + + @extend .pastis-font-button-icon; + @extend .pastis-btn-primary-enabled; +} + + +.btn-create-profile:hover { + @extend .pastis-btn-primary-hover; +} + +.btn-create-profile:disabled { + @extend .pastis-btn-primary-disabled; +} + +.btn-create-profile:active { + @extend .pastis-btn-primary-focus; +} + +.btn-import-profile { + width: 27%; + height: 50px; + margin-left: 50px; + display: flex; + flex-direction: row; + @extend .pastis-font-button-icon; + @extend .pastis-btn-secondary-enabled; +} + +.btn-import-profile:hover { + @extend .pastis-btn-secondary-hover; +} + +.btn-import-profile:disabled { + @extend .pastis-btn-secondary-disabled; +} + +.btn-import-profile:active { + @extend .pastis-btn-secondary-focus; +} + + + +.filter-input-text { + width: 100%; + text-indent: 30px; + @extend .pastis-input-enabled; + box-shadow: 0px 0px 20px rgba(169, 169, 169, 0.3); +} + +.filter-input-text::placeholder { + @extend .pastis-input-placeholder-text; +} + + + +.total-pa-pua-card{ + @extend .pastis-panel-radius-5; + display: inline-block; + flex-direction: column; + align-items: flex-start; + padding: 0px; + position: static; + width: 123px; + height: 69px; + margin:0px 10px; + margin-left: 0px; +} + +.total-profile-card{ + @extend .total-pa-pua-card; + @extend .pastis-bgcolor-primary-500; + @extend .pastis-panel-shadow-primary-500; +} + +.pa-pua-card{ + @extend .total-pa-pua-card; + @extend .pastis-bgcolor-white-highlight; + @extend .pastis-panel-shadow; +} +.profile-label{ + position: static; + width: 93px; + height: 16px; + left: calc(50% - 93px/2); + flex: none; + order: 0; + align-self: stretch; + flex-grow: 0; + margin-left: 15px; + margin-top: 10px; + margin-bottom: 0px; +} + +.profile-num-label { + position: static; + width: 37px; + height: 28px; + left: calc(50% - 37px/2 - 28px); + bottom: 10px; + margin-left: 15px; + margin-bottom: 10px; + margin-top: 5px; +} +.total-profile-label{ + @extend .profile-label; + @extend .pastis-primary-50; + @extend .pastis-font-caption-bold; +} + +.total-profilenum-label{ + @extend .profile-num-label; + @extend .pastis-white-highlight; + @extend .pastis-font-text-large-bold; +} + +.pa-pua-label{ + @extend .profile-label; + @extend .pastis-grey-600; + @extend .pastis-font-caption-bold; +} + +.pa-pua-num-label{ + @extend .profile-num-label; + @extend .pastis-font-text-large-bold; + @extend .pastis-grey-900; +} + + + +.ico-setting { + @extend .pastis-ico-svg; + } + +.pastis-ico-arrow-back { + @extend .pastis-white-highlight; + cursor: pointer; + font-size: 24px; + vertical-align: middle; + margin-left: -2px; +} + +.btn-icon-left{ + position: static; +} + + + +.pastis-ico-chevron-down { + height: 7.410000801086426px; + width: 12px; + left: 6px; + top: 8.58984375px; + float: right; + margin-right: 25px; + +} + +.button-container{ + position: static; + display: flex; + flex-direction: row; + align-items: flex-start; + padding: 0px; + width: 100%; + height: 50px; +} + diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.spec.ts new file mode 100644 index 000000000..f848da4bc --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ListProfileComponent } from './list-profile.component'; + +describe('ListProfileComponent', () => { + let component: ListProfileComponent; + let fixture: ComponentFixture<ListProfileComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ListProfileComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ListProfileComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.ts b/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.ts new file mode 100644 index 000000000..712132d7b --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.ts @@ -0,0 +1,302 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import {Component, Input, OnDestroy, OnInit, Pipe, PipeTransform} from '@angular/core'; +import {MatTableDataSource} from '@angular/material/table'; +import {NgxUiLoaderService} from 'ngx-ui-loader'; +import {ProfileService} from '../../core/services/profile.service'; +import {ProfileDescription} from '../../models/profile-description.model'; +import {ActivatedRoute, Router} from '@angular/router'; +import {FileUploader} from 'ng2-file-upload'; +import {MetadataHeaders} from '../../core/classes/models'; +import {BreadcrumbDataTop} from '../../models/breadcrumb'; +import {Direction, GlobalEventService, SidenavPage, StartupService} from 'ui-frontend-common'; +import {Subscription} from 'rxjs'; +import {environment} from '../../../environments/environment'; +import {PastisConfiguration} from "../../core/classes/pastis-configuration"; +import {ProfileResponse} from "../../models/profile-response"; +import {PastisDialogData} from "../../shared/pastis-dialog/classes/pastis-dialog-data"; +import {FileService} from "../../core/services/file.service"; +import {PastisPopupSelectionService} from "../../shared/pastis-generic-popup/pastis-popup-selection.service"; +import {DataGeneriquePopupService} from "../../shared/data-generique-popup.service"; +import {CreateProfileComponent} from "../create-profile/create-profile.component"; +import {LangChangeEvent, TranslateService} from "@ngx-translate/core"; + +const POPUP_CREATION_PATH = 'PROFILE.POP_UP_CREATION'; + +function constantToTranslate() { + this.popupCreationCancelLabel = this.translated('.POPUP_CREATION_CANCEL_LABEL'); + this.popupCreationTitleDialog = this.translated('.POPUP_CREATION_TITLE_DIALOG'); + this.popupCreationSubTitleDialog = this.translated('.POPUP_CREATION_SUBTITLE_DIALOG'); + this.popupCreationOkLabel = this.translated('.POPUP_CREATION_OK_LABEL'); +} +@Component({ + selector: 'pastis-list-profile', + templateUrl: './list-profile.component.html', + styleUrls: ['./list-profile.component.scss'] +}) +export class ListProfileComponent extends SidenavPage<ProfileDescription> implements OnInit,OnDestroy { + + @Input() + uploader: FileUploader = new FileUploader({url: ""}); + + displayedColumns: string[] = ['type', "id", "baseName", "lastModified"] + + retrievedProfiles: ProfileDescription[] = []; + + matDataSource: MatTableDataSource<ProfileDescription>; + + numPA: number; + + numPUA: number; + + totalProfileNum: number; + + profileToLoad: any; + + hoveredElementId: number; + + buttonIsClicked: boolean; + + search: string; + + numProfilesFiltered: ProfileDescription[]; + + profilModel: ProfileDescription + + filterType: string; + + isStandalone: boolean = environment.standalone; + + direction = Direction.ASCENDANT; + + orderBy = "identifier"; + + sedaUrl: string = this.pastisConfig.pastisPathPrefix + (this.isStandalone ? '' : this.startupService.getTenantIdentifier()) + this.pastisConfig.sedaUrl; + + newProfileUrl: string = this.pastisConfig.pastisPathPrefix + (this.isStandalone ? '' : this.startupService.getTenantIdentifier() )+ this.pastisConfig.pastisNewProfile; + + docPath = this.isStandalone ? 'assets/doc/Standalone - Documentation APP - PASTIS.pdf' : 'assets/doc/VITAM UI - Documentation APP - PASTIS.pdf'; + + subscription1$: Subscription; + subscription2$: Subscription; + _uploadProfileSub: Subscription; + subscriptions: Subscription[] = []; + + donnees:string[]; + + promise : Promise<any> + + public breadcrumbDataTop: Array<BreadcrumbDataTop>; + + popupCreationCancelLabel: string; + popupCreationTitleDialog: string; + popupCreationSubTitleDialog: string; + popupCreationOkLabel: string; + + constructor(private profileService: ProfileService,private fileService: FileService, private pastisPopupSelectionService : PastisPopupSelectionService, + private ngxLoader:NgxUiLoaderService, private router:Router, + private startupService: StartupService, private pastisConfig: PastisConfiguration, route: ActivatedRoute, globalEventService: GlobalEventService, + private dataGeneriquePopupService: DataGeneriquePopupService, private translateService: TranslateService) { + super(route, globalEventService); } + + ngOnInit() { + if(!this.isStandalone){ + constantToTranslate.call(this); + this.translatedOnChange(); + } + else if(this.isStandalone) + { + this.popupCreationCancelLabel = "Annuler" + this.popupCreationTitleDialog = "Création d'un profil" + this.popupCreationSubTitleDialog = "Choix du type de profil" + this.popupCreationOkLabel = "TERMINER" + } + this.dataGeneriquePopupService.currentDonnee.subscribe(donnees => this.donnees = donnees); + this.breadcrumbDataTop = [{ label: "PROFILE.EDIT_PROFILE.BREADCRUMB.PORTAIL", url: this.startupService.getPortalUrl(), external: true},{ label: "PROFILE.EDIT_PROFILE.BREADCRUMB.CREER_ET_GERER_PROFIL", url: '/'}]; + + this.ngxLoader.startLoader('table-profiles'); // start non-master loader + this.subscription1$ =this.profileService.getAllProfiles().subscribe((profileList: ProfileDescription[]) => { + if (profileList) { + profileList.forEach((p) => { + if(p.controlSchema){ + p.type = "PUA" + }else{ + p.type = "PA" + } + this.retrievedProfiles.push(p); + } ); + console.log ("Profiles: ", this.retrievedProfiles); + } + this.matDataSource = new MatTableDataSource<ProfileDescription>(this.retrievedProfiles); + this.numPA = this.retrievePAorPUA("PA", false); + this.numPUA = this.retrievePAorPUA("PUA", false); + this.totalProfileNum = this.retrievedProfiles ? this.retrievedProfiles.length : 0; + }); + this.subscriptions.push(this.subscription1$); + this.ngxLoader.stopLoader('table-profiles'); + } + + translatedOnChange(): void { + this.translateService.onLangChange + .subscribe((event: LangChangeEvent) => { + constantToTranslate.call(this); + console.log(event.lang); + }); + } + + translated(nameOfFieldToTranslate: string): string { + return this.translateService.instant(POPUP_CREATION_PATH + nameOfFieldToTranslate); + } + + retrievePAorPUA(term: string, filter: boolean): number { + let profiles: ProfileDescription[] = filter == false ? this.retrievedProfiles : this.numProfilesFiltered; + let profileNum = profiles.filter(p => p.type === term).length + return profileNum ? profileNum : 0; + } + + navigate(d: BreadcrumbDataTop){ + if (d.external){ + window.location.assign(d.url); + } else { + this.router.navigate([d.url],{skipLocationChange: false}); + } + } + + editProfile(element: ProfileDescription) { + this.router.navigate([this.pastisConfig.pastisPathPrefix + (this.isStandalone ? '' : this.startupService.getTenantIdentifier()) + this.pastisConfig.pastisEditPage, element.id], {state: element, skipLocationChange: false}); + } + + uploadProfile(files: File[]):void { + let fileToUpload: File = files[0]; + + if (fileToUpload) { + const formData = new FormData(); + formData.append('file', fileToUpload, fileToUpload.name); + this._uploadProfileSub = this.profileService.uploadProfile(formData).subscribe( (response: any) => { + if (response) { + console.log('File submited! Reponse is : ', response); + + this.router.navigateByUrl(this.pastisConfig.pastisPathPrefix + (this.isStandalone ? '' : this.startupService.getTenantIdentifier() )+ this.pastisConfig.pastisNewProfile, { state: response }); + } + }); + this.subscriptions.push(this._uploadProfileSub) + } + } + + async createProfile() { + let valueSelected: string; + let dataToSendToPopUp = <PastisDialogData>{}; + dataToSendToPopUp.titleDialog = this.popupCreationTitleDialog; + dataToSendToPopUp.subTitleDialog = this.popupCreationSubTitleDialog; + dataToSendToPopUp.width = '800px'; + dataToSendToPopUp.component= CreateProfileComponent; + dataToSendToPopUp.okLabel = this.popupCreationOkLabel; + dataToSendToPopUp.cancelLabel = this.popupCreationCancelLabel; + this.fileService.openPopup(dataToSendToPopUp) + .then(() => { + valueSelected = this.pastisPopupSelectionService.value + this.profileService.createProfile(this.pastisConfig.getProfileUrl, valueSelected).subscribe((response: ProfileResponse) => { + if (response) { + console.log('File submited! Reponse is : ', response); + this.router.navigateByUrl(this.pastisConfig.pastisPathPrefix + (this.isStandalone ? '' : this.startupService.getTenantIdentifier() )+ this.pastisConfig.pastisNewProfile, {state: response}); + } + }) + }) + + + } + + public onSearchSubmit(search: string): void { + this.search = search; + } + + isRowHovered(elementId: number) { + return this.hoveredElementId === elementId; + } + + onMouseOver(row: MetadataHeaders) { + this.buttonIsClicked = false; + this.hoveredElementId = row.id; + } + + onMouseLeave() { + if (!this.buttonIsClicked) { + this.hoveredElementId = 0; + } + } + + changeType(type: string){ + if(type != undefined){ + this.filterType = type; + } + } + + ngOnDestroy(){ + this.profileService.retrievedProfiles.next([]); + this.subscriptions.forEach((subscriptions) => subscriptions.unsubscribe()) + } + + + showProfile(element: ProfileDescription) { + if(!this.isStandalone){ + this.openPanel(element) + } + } +} + +@Pipe({name: 'filterByType'}) +export class FilterByTypePipe implements PipeTransform { + transform(listOfProfiles: ProfileDescription[], typeToFilter: string): ProfileDescription[] { + if(!listOfProfiles) return null; + if(!typeToFilter) return listOfProfiles; + if(typeToFilter == "ALL") return listOfProfiles; + return listOfProfiles.filter(profile => profile.type == typeToFilter); + } +} + +@Pipe({name: 'filterByStringName'}) +export class FilterByStringNamePipe implements PipeTransform { + constructor(){} + private listOfProfiles: ProfileDescription[] + transform(listOfProfiles: ProfileDescription[], nameToFilter: string): ProfileDescription[] { + if(!listOfProfiles) return null; + if(!nameToFilter) return listOfProfiles; + this.listOfProfiles = listOfProfiles.filter(profile => profile.identifier.toLowerCase().indexOf(nameToFilter.toLowerCase()) >= 0); + return this.listOfProfiles; + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-information-tab/profile-information-tab/profile-information-tab.component.css b/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-information-tab/profile-information-tab/profile-information-tab.component.css new file mode 100644 index 000000000..e69de29bb diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-information-tab/profile-information-tab/profile-information-tab.component.html b/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-information-tab/profile-information-tab/profile-information-tab.component.html new file mode 100644 index 000000000..1f08c3151 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-information-tab/profile-information-tab/profile-information-tab.component.html @@ -0,0 +1,55 @@ +<form (ngSubmit)="onSubmit()" [formGroup]="form" class="side-form"> + + + <div class="row"> + <div class=" col-6"> + <vitamui-common-slide-toggle [formControl]="statusProfile" checked="form.controls.status.value === 'ACTIVE'"> + {{ 'PROFILE_PREVIEW.INFORMATION_TAB.PROFILE' | translate }} <span + *ngIf="form.controls.status.value === 'INACTIVE'">in</span>{{ 'PROFILE_PREVIEW.INFORMATION_TAB.ACTIF' | + translate }} + </vitamui-common-slide-toggle> + </div> + + <div class="col-6 mb-3 read-only-field"> + <label>{{ 'PROFILE_PREVIEW.INFORMATION_TAB.TYPE' | translate }}</label> + <div *ngIf="inputProfile.type=='PA';else pua">{{ 'PROFILE_PREVIEW.INFORMATION_TAB.PROFILE_ARCHIVAGE' | translate + }} + </div> + <ng-template #pua class="read_only">{{ 'PROFILE_PREVIEW.INFORMATION_TAB.PROFILE_UNITE_ARCHIVISTIQUE' | translate + }} + </ng-template> + </div> + </div> + + <div class="row"> + <div class="col-10 form-control"> + <vitamui-common-input formControlName="name" + placeholder="{{ 'PROFILE_PREVIEW.INFORMATION_TAB.INTITULE' | translate }} "> + </vitamui-common-input> + </div> + </div> + + <div class="row"> + <div class="col-10 form-control"> + <vitamui-common-input formControlName="description" + placeholder="{{ 'PROFILE_PREVIEW.INFORMATION_TAB.DESCRIPTION' | translate }} "> + </vitamui-common-input> + </div> + </div> + + <div class="row"> + <div class="col-12 mb-3 read-only-field"> + <label>{{ 'PROFILE_PREVIEW.INFORMATION_TAB.PROFIL_ATTACHE' | translate }}</label> + <div *ngIf="isProfilAttached(inputProfile);else pas_profil">{{ 'PROFILE_PREVIEW.INFORMATION_TAB.PRESENCE_PROFIL_ATTACHE' | + translate }} + </div> + <ng-template #pas_profil>{{ 'PROFILE_PREVIEW.INFORMATION_TAB.PAS_PROFIL_ATTACHE' | translate }}</ng-template> + </div> + </div> + + <div class="form-group bottom"> + <button [disabled]="isInvalid() || unchanged() || submited" class="btn secondary" type="submit">{{ + 'PROFILE_PREVIEW.INFORMATION_TAB.ENREGISTRER' | translate }} + </button> + </div> +</form> diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-information-tab/profile-information-tab/profile-information-tab.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-information-tab/profile-information-tab/profile-information-tab.component.spec.ts new file mode 100644 index 000000000..35fe881b6 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-information-tab/profile-information-tab/profile-information-tab.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ProfileInformationTabComponent } from './profile-information-tab.component'; + +describe('ProfileInformationTabComponent', () => { + let component: ProfileInformationTabComponent; + let fixture: ComponentFixture<ProfileInformationTabComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ ProfileInformationTabComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ProfileInformationTabComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-information-tab/profile-information-tab/profile-information-tab.component.ts b/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-information-tab/profile-information-tab/profile-information-tab.component.ts new file mode 100644 index 000000000..86ae9dad4 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-information-tab/profile-information-tab/profile-information-tab.component.ts @@ -0,0 +1,136 @@ +import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core'; +import {diff} from "ui-frontend-common"; +import {Observable, of} from "rxjs"; +import {catchError} from "rxjs/operators"; +import {FormBuilder, FormControl, FormGroup, Validators} from "@angular/forms"; +import {ProfileService} from "../../../../core/services/profile.service"; +import {ProfileDescription} from "../../../../models/profile-description.model"; +import {ArchivalProfileUnit} from "../../../../models/archival-profile-unit"; +import {Profile} from "../../../../models/profile"; + +@Component({ + selector: 'profile-information-tab', + templateUrl: './profile-information-tab.component.html', + styleUrls: ['./profile-information-tab.component.css'] +}) +export class ProfileInformationTabComponent implements OnInit { + + @Output() updated: EventEmitter<boolean> = new EventEmitter<boolean>(); + form: FormGroup; + + statusProfile = new FormControl(); + + submited = false; + + isProfileAttache: boolean; + + typeProfile: string; + + archivalProfileUnit: ArchivalProfileUnit; + + profile: Profile; + + + private _inputProfile: ProfileDescription; + + previousValue = (): ProfileDescription => { + return this._inputProfile; + } + + @Input() + set inputProfile(profileDescription: ProfileDescription) { + this._inputProfile = profileDescription; + + /** if (!profileDescription.description) { + this._inputProfile.description = ''; + }*/ + + this.resetForm(this.inputProfile); + this.updated.emit(false); + } + + get inputProfile(): ProfileDescription { + return this._inputProfile; + } + + + @Input() + set readOnly(readOnly: boolean) { + if (readOnly && this.form.enabled) { + this.form.disable({emitEvent: false}); + } else if (this.form.disabled) { + this.form.enable({emitEvent: false}); + this.form.get('identifier').disable({emitEvent: false}); + } + } + + + constructor(private formBuilder: FormBuilder, + private profileService: ProfileService) { + this.form = this.formBuilder.group({ + identifier: [null, Validators.required], + id: [null, Validators.required], + type: [null], + description: [null], + name: [null, Validators.required], + creationDate: [null], + status: [null, Validators.required] + }); + + this.statusProfile.valueChanges.subscribe((value) => { + this.form.controls.status.setValue(value = (value === false) ? 'INACTIVE' : 'ACTIVE'); + }); + } + + isInvalid(): boolean { + return false; + } + + unchanged(): boolean { + const unchanged = JSON.stringify(diff(this.form.getRawValue(), this.previousValue())) === '{}'; + this.updated.emit(!unchanged); + return unchanged; + } + + prepareSubmit(inputProfile: ProfileDescription): Observable<ProfileDescription> { + console.log(JSON.stringify(inputProfile) + " inputProfile") + + console.log(this.form.getRawValue()) + + // let diffValue = diff(this.form.getRawValue(), this.previousValue()); + + + if (inputProfile.type == 'PA') { + this.profile = Object.assign(this.form.value, this.profile) + console.log(JSON.stringify(this.profile)) + return this.profileService.updateProfilePa(this.profile).pipe(catchError(() => of(null))); + } else { + this.archivalProfileUnit = Object.assign( this.form.value, this.archivalProfileUnit) + return this.profileService.updateProfilePua(this.archivalProfileUnit).pipe(catchError(() => of(null))); + } + // @ts-ignore + // return this.profileService.uploadProfile(formData).pipe(catchError(() => of(null))); + }; + + onSubmit() { + this.submited = true; + this.prepareSubmit(this.inputProfile).subscribe(() => { + this.submited = false; + this.inputProfile = this._inputProfile; + }, () => { + this.submited = false; + }); + } + + resetForm(profileDescription: ProfileDescription) { + this.statusProfile.setValue(profileDescription.status === 'ACTIVE'); + this.form.reset(profileDescription, {emitEvent: false}); + } + + ngOnInit(): void { + } + + isProfilAttached(inputProfile: ProfileDescription) : boolean { + return !!(inputProfile.controlSchema && inputProfile.controlSchema.length != 2 || inputProfile.path); + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-preview.component.css b/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-preview.component.css new file mode 100644 index 000000000..6b06d00c9 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-preview.component.css @@ -0,0 +1,3 @@ +.bouttonMenuModifierLateral{ + float:right; +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-preview.component.html b/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-preview.component.html new file mode 100644 index 000000000..7022897bf --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-preview.component.html @@ -0,0 +1,47 @@ +<div class="vitamui-sidepanel"> + <div class="vitamui-sidepanel-header"> + <div class="d-flex justify-content-end"> + <button (click)="emitClose()" class="btn link cancel"> + <i class="vitamui-icon vitamui-icon-close"></i> + </button> + </div> + + <div class="title"> + <div matTooltipClass="vitamui-tooltip"> + <h5 class="m-0 text-primary">{{ inputProfile?.name }}</h5> + <p class="text large light m-0">{{ inputProfile?.identifier }}</p> + </div> + </div> + + <div *ngIf="isProfilAttached()" class="bouttonMenuModifierLateral"> + <button (click)="onButtonClicked()" mat-icon-button [matMenuTriggerFor]="menu" class="btn btn-circle secondary mr-3"> + <mat-icon> + {{isButtonClicked() ? 'close' : 'more_horiz'}} + </mat-icon> + </button> + <mat-menu #menu="matMenu"> + <button (click)="editProfile(inputProfile)" mat-menu-item> + <span>{{ 'PROFILE_PREVIEW.MENU.MODIFIER_PROFILE' | translate }}</span> + </button> + <button (click)="downloadProfile(inputProfile)" mat-menu-item> + <span>{{ 'PROFILE_PREVIEW.MENU.TELECHARGER_PROFILE' | translate }}</span> + </button> + </mat-menu> + </div> + </div> + <div class="vitamui-sidepanel-body"> + <mat-tab-group #tabs class="preview-tab-group"> + + <mat-tab label="{{ 'PROFILE_PREVIEW.NOTICE' | translate }}"> + <profile-information-tab #infoTab (updated)="updatedChange($event, 0)" + [inputProfile]="inputProfile" [readOnly]="isPopup"></profile-information-tab> + </mat-tab> + + <mat-tab label="{{ 'PROFILE_PREVIEW.HISTORIQUE' | translate }}"> + <vitamui-common-operation-history-tab [id]="inputProfile?.identifier" + [identifier]="inputProfile?.identifier" collectionName="profile"> + </vitamui-common-operation-history-tab> + </mat-tab> + </mat-tab-group> + </div> +</div> diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-preview.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-preview.component.spec.ts new file mode 100644 index 000000000..81d3fd0ff --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-preview.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ProfilePreviewComponent } from './profile-preview.component'; + +describe('ProfilePreviewComponent', () => { + let component: ProfilePreviewComponent; + let fixture: ComponentFixture<ProfilePreviewComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ ProfilePreviewComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ProfilePreviewComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-preview.component.ts b/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-preview.component.ts new file mode 100644 index 000000000..71a75b38d --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-preview.component.ts @@ -0,0 +1,174 @@ +import {AfterViewInit, Component, EventEmitter, HostListener, Input, Output, ViewChild} from '@angular/core'; +import {MatTab, MatTabGroup, MatTabHeader} from "@angular/material/tabs"; +import {ProfileDescription} from "../../models/profile-description.model"; +import {ProfileInformationTabComponent} from "./profile-information-tab/profile-information-tab/profile-information-tab.component"; +import {MatDialog} from "@angular/material/dialog"; +import {ConfirmActionComponent} from "../../../../../vitamui-library/src/lib/components/confirm-action/confirm-action.component"; +import {Observable} from "rxjs"; +import {Router} from "@angular/router"; +import {StartupService} from "ui-frontend-common"; +import {PastisConfiguration} from "../../core/classes/pastis-configuration"; +import {environment} from "../../../environments/environment"; +import {ProfileService} from "../../core/services/profile.service"; +import {ProfileResponse} from "../../models/profile-response"; +import {FileNode} from "../../models/file-node"; + +@Component({ + selector: 'profile-preview', + templateUrl: './profile-preview.component.html', + styleUrls: ['./profile-preview.component.css'] +}) +export class ProfilePreviewComponent implements AfterViewInit { + + @Output() + previewClose: EventEmitter<any> = new EventEmitter(); + @Input() + inputProfile: ProfileDescription; + + tabUpdated: boolean[] = [false, false]; + isClicked: boolean = false; + isStandalone: boolean = environment.standalone; + + fileNode: FileNode[] = []; + + isPopup: boolean; + @ViewChild('tabs', {static: false}) tabs: MatTabGroup; + + tabLinks: Array<ProfileInformationTabComponent> = []; + @ViewChild('infoTab', {static: false}) infoTab: ProfileInformationTabComponent; + + @HostListener('window:beforeunload', ['$event']) + beforeunloadHandler(event: any) { + if (this.tabUpdated[this.tabs.selectedIndex]) { + event.preventDefault(); + this.checkBeforeExit(); + return ''; + } + } + + constructor(private matDialog: MatDialog, private router: Router, private startupService: StartupService, + private pastisConfig: PastisConfiguration, private profileService: ProfileService) { + } + + ngAfterViewInit() { + this.tabs._handleClick = this.interceptTabChange.bind(this); + this.tabLinks[0] = this.infoTab; + } + + updatedChange(updated: boolean, index: number) { + this.tabUpdated[index] = updated; + } + + async checkBeforeExit() { + if (await this.confirmAction()) { + const submitProfileUpdate: Observable<ProfileDescription> = this.tabLinks[this.tabs.selectedIndex].prepareSubmit(this.inputProfile); + + submitProfileUpdate.subscribe(() => { + }); + } else { + this.tabLinks[this.tabs.selectedIndex].resetForm(this.inputProfile); + } + } + + async interceptTabChange(tab: MatTab, tabHeader: MatTabHeader, idx: number) { + if (this.tabUpdated[this.tabs.selectedIndex]) { + await this.checkBeforeExit(); + } + + const args = [tab, tabHeader, idx]; + return MatTabGroup.prototype._handleClick.apply(this.tabs, args); + } + + async confirmAction(): Promise<boolean> { + const dialog = this.matDialog.open(ConfirmActionComponent, {panelClass: 'vitamui-confirm-dialog'}); + dialog.componentInstance.dialogType = 'changeTab'; + return await dialog.afterClosed().toPromise(); + } + + async emitClose() { + if (this.tabUpdated[this.tabs.selectedIndex]) { + await this.checkBeforeExit(); + } + this.previewClose.emit(); + } + + isProfilAttached() { + if (this.inputProfile.controlSchema && this.inputProfile.controlSchema.length != 2 || this.inputProfile.path) + //console.log(this.inputProfile) + return true; + } + + onButtonClicked() { + this.isClicked = !this.isClicked + this.isButtonClicked() + } + + isButtonClicked() { + return this.isClicked; + } + + editProfile(inputProfile: ProfileDescription) { + this.router.navigate([this.pastisConfig.pastisPathPrefix + (this.isStandalone ? '' : this.startupService.getTenantIdentifier()) + this.pastisConfig.pastisEditPage, inputProfile.id], { + state: inputProfile, + skipLocationChange: false + }); + } + + downloadProfile(inputProfile: ProfileDescription) { + if (inputProfile.type === "PA") { + this.profileService.downloadProfilePaVitam(inputProfile.identifier).subscribe(dataFile => { + if (dataFile) { + this.downloadFile(dataFile, inputProfile.type, inputProfile); + /* let typeFile = 'application/xml'; + const newBlob = new Blob([dataFile], {type: typeFile}); + if (window.navigator && window.navigator.msSaveOrOpenBlob) { + window.navigator.msSaveOrOpenBlob(newBlob); + return; + } + const data = window.URL.createObjectURL(newBlob); + const link = document.createElement('a'); + link.href = data; + link.download = inputProfile.path; + // this is necessary as link.click() does not work on the latest firefox + link.dispatchEvent(new MouseEvent('click', {bubbles: true, cancelable: true, view: window})); + setTimeout(() => { + // For Firefox it is necessary to delay revoking the ObjectURL + window.URL.revokeObjectURL(data); + link.remove(); + }, 100);*/ + } + }); + } else if (inputProfile.type === "PUA") { + // Send the retrieved JSON data to profile service + this.profileService.getProfile(inputProfile).subscribe(retrievedData => { + let profileResponse = retrievedData as ProfileResponse; + this.fileNode.push(profileResponse.profile) + console.log(profileResponse.notice.identifier + "identifier") + this.profileService.uploadFile(this.fileNode, profileResponse.notice, inputProfile.type).subscribe(data => { + this.downloadFile(data, inputProfile.type, inputProfile); + }); + }) + } + } + + downloadFile(dataFile: any, typeProfile:string, inputProfile?:ProfileDescription): void { + console.debug("Profile mode : ", this.profileService.profileMode) + let typeFile = typeProfile === "PA" ? 'application/xml' : 'application/json'; + const newBlob = new Blob([dataFile], {type: typeFile}); + if (window.navigator && window.navigator.msSaveOrOpenBlob) { + window.navigator.msSaveOrOpenBlob(newBlob); + return; + } + const data = window.URL.createObjectURL(newBlob); + const link = document.createElement('a'); + link.href = data; + link.download = typeProfile === "PA" ? inputProfile.path : 'pastis_' +inputProfile.identifier +'.json'; + // this is necessary as link.click() does not work on the latest firefox + link.dispatchEvent(new MouseEvent('click', {bubbles: true, cancelable: true, view: window})); + setTimeout(() => { + // For Firefox it is necessary to delay revoking the ObjectURL + window.URL.revokeObjectURL(data); + link.remove(); + }, 100); + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-preview.module.ts b/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-preview.module.ts new file mode 100644 index 000000000..ba0343412 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/profile-preview/profile-preview.module.ts @@ -0,0 +1,49 @@ +import {NgModule} from '@angular/core'; +import {CommonModule} from '@angular/common'; +import {RouterModule} from "@angular/router"; +import {VitamUICommonModule} from "ui-frontend-common"; +import {VitamUILibraryModule} from "../../../../../vitamui-library/src/lib/vitamui-library.module"; +import {FormsModule, ReactiveFormsModule} from "@angular/forms"; +import {MatMenuModule} from "@angular/material/menu"; +import {MatSnackBarModule} from "@angular/material/snack-bar"; +import {MatDialogModule} from "@angular/material/dialog"; +import {MatSidenavModule} from "@angular/material/sidenav"; +import {MatProgressSpinnerModule} from "@angular/material/progress-spinner"; +import {MatSelectModule} from "@angular/material/select"; +import {MatOptionModule} from "@angular/material/core"; +import {MatTabsModule} from "@angular/material/tabs"; +import {ProfilePreviewComponent} from "./profile-preview.component"; +import {ProfileInformationTabComponent} from "./profile-information-tab/profile-information-tab/profile-information-tab.component"; +import {MatIconModule} from "@angular/material/icon"; + + +@NgModule({ + imports: [ + CommonModule, + RouterModule, + VitamUICommonModule, + VitamUILibraryModule, + FormsModule, + ReactiveFormsModule, + MatMenuModule, + MatSnackBarModule, + MatDialogModule, + MatSidenavModule, + MatProgressSpinnerModule, + MatSelectModule, + MatOptionModule, + MatTabsModule, + MatIconModule + ], + + declarations: [ + ProfilePreviewComponent, + ProfileInformationTabComponent + ], + exports: [ + ProfilePreviewComponent + ] + + +}) +export class ProfilePreviewModule { } diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/profile.component.html b/ui/ui-frontend/projects/pastis/src/app/profile/profile.component.html new file mode 100644 index 000000000..9df0576d7 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/profile.component.html @@ -0,0 +1 @@ +<p>profile works!</p> diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/profile.component.scss b/ui/ui-frontend/projects/pastis/src/app/profile/profile.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/profile.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/profile/profile.component.spec.ts new file mode 100644 index 000000000..6a302217f --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/profile.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ProfileComponent } from './profile.component'; + +describe('ProfileComponent', () => { + let component: ProfileComponent; + let fixture: ComponentFixture<ProfileComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ProfileComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ProfileComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/profile.component.ts b/ui/ui-frontend/projects/pastis/src/app/profile/profile.component.ts new file mode 100644 index 000000000..1a337a148 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/profile.component.ts @@ -0,0 +1,52 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'pastis-profile', + templateUrl: './profile.component.html', + styleUrls: ['./profile.component.scss'] +}) +export class ProfileComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/profile.module.ts b/ui/ui-frontend/projects/pastis/src/app/profile/profile.module.ts new file mode 100644 index 000000000..5322c801e --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/profile.module.ts @@ -0,0 +1,93 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import {NgModule} from '@angular/core'; +import {CommonModule} from '@angular/common'; +import {CoreModule} from './../core/core.module' +import {SharedModule} from './../shared/shared.module' +import {FileTreeModule} from './../profile/edit-profile/file-tree/file-tree.module' + + +import {MatIconModule} from '@angular/material/icon' +import {MatTabsModule} from '@angular/material/tabs' + + +import {CreateProfileComponent} from './create-profile/create-profile.component' +import {EditProfileComponent} from './edit-profile/edit-profile.component' +import { + FilterByStringNamePipe, + FilterByTypePipe, + ListProfileComponent +} from './list-profile/list-profile.component' +import {ProfileComponent} from './profile.component'; +import {PastisMaterialModule} from '../material.module'; +import {FileUploadModule} from 'ng2-file-upload'; +import {NoticeComponent} from '../notice/notice.component'; +import {MatSlideToggleModule} from '@angular/material/slide-toggle'; +import {UserActionsModule} from '../user-actions/user-actions.module'; +import {FormsModule} from "@angular/forms"; +import {VitamUICommonModule} from 'ui-frontend-common'; +import {TranslateModule} from '@ngx-translate/core'; +import {NgxUiLoaderModule} from "ngx-ui-loader"; +import {ProfilePreviewModule} from "./profile-preview/profile-preview.module"; + + +@NgModule({ + imports: [ + CommonModule, + CoreModule, + MatIconModule, + MatTabsModule, + SharedModule, + FileTreeModule, + FileUploadModule, + PastisMaterialModule, + UserActionsModule, + MatSlideToggleModule, + FormsModule, + VitamUICommonModule, + TranslateModule, + NgxUiLoaderModule, + ProfilePreviewModule + ], + exports: [CreateProfileComponent,EditProfileComponent,ListProfileComponent,NoticeComponent], + providers:[], + declarations: [ProfileComponent,CreateProfileComponent,EditProfileComponent,ListProfileComponent,NoticeComponent,FilterByTypePipe,FilterByStringNamePipe], + +}) +export class ProfileModule { +} diff --git a/ui/ui-frontend/projects/pastis/src/app/seda-visualizer.service.ts b/ui/ui-frontend/projects/pastis/src/app/seda-visualizer.service.ts new file mode 100644 index 000000000..b0ea765b9 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/seda-visualizer.service.ts @@ -0,0 +1,51 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +import {Injectable} from '@angular/core' +import { BehaviorSubject } from 'rxjs'; + +@Injectable({ + providedIn:'root' +}) +export class SedaVisualizerService { + + public sedaviewRoute = new BehaviorSubject<boolean>(null); + + constructor(){} + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.html b/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.html new file mode 100644 index 000000000..5c065a506 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.html @@ -0,0 +1,11 @@ +<div style="margin-bottom: -35px;"> + <p style="text-align: center;color: #adb7bd; + font-family: 'Lucida Sans', Arial, sans-serif; + font-size: 36px; line-height: 26px; margin-top:10px;margin-bottom: 5px;">Pastis Seda Visualizer</p> + <div style="text-align: center; margin-top:0px"> + <svg height=80 id="seda_legend" width=420></svg> + </div> + +</div> + +<!-- Create a div where the graph will take place --> diff --git a/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.scss b/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.scss new file mode 100644 index 000000000..137800b78 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.scss @@ -0,0 +1,9 @@ +body, html { + padding: 0; + background-color: white; + +} + +.container{ + width: 100vw; +} diff --git a/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.spec.ts new file mode 100644 index 000000000..f45b28b8a --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SedaVisualizerComponent } from './seda-visualizer.component'; + +describe('SedaVisualizerComponent', () => { + let component: SedaVisualizerComponent; + let fixture: ComponentFixture<SedaVisualizerComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SedaVisualizerComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SedaVisualizerComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.ts b/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.ts new file mode 100644 index 000000000..b64bdf996 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.ts @@ -0,0 +1,287 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit, ViewChild, ElementRef, OnDestroy } from '@angular/core'; +import { PastisApiService } from '../core/api/api.pastis.service'; +import { SedaData } from '../models/seda-data'; +import { SedaVisualizerService } from '../seda-visualizer.service'; + + +let d3 = require('d3'); + + +@Component({ + selector: 'pastis-seda-visualizer', + templateUrl: './seda-visualizer.component.html', + styleUrls: ['./seda-visualizer.component.scss'] +}) +export class SedaVisualizerComponent implements OnInit, OnDestroy { + + @ViewChild('myDiv',{static:true}) myDiv: ElementRef; + + sedaData: SedaData; + + private getSedaUrl = './assets/seda_lower.json'; + + constructor(private pastisService: PastisApiService, private sedaVisualizerService: SedaVisualizerService) { + this.sedaVisualizerService.sedaviewRoute.next(true); + } + ngOnDestroy(): void { + this.sedaVisualizerService.sedaviewRoute.next(false); + } + + ngOnInit() { + this.pastisService.getLocally(this.getSedaUrl).subscribe(sedaRules=> { + this.sedaData = sedaRules + + let margin = { + top: 20, right: 120, bottom: 0, left: 120 + }; + let width = 1800 - margin.right - margin.left; + let height = 850 - margin.top - margin.bottom; + + let i = 0,duration = 550; + + let root:any; + + var tree = d3.layout.tree() + .size([height, width]); + + var diagonal = d3.svg.diagonal() + .projection(function(d:any) { return [d.y, d.x]; }); + + var svg = d3.select("div").append("svg") + .attr("width", width + margin.right + margin.left) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + root = this.sedaData[0]; + root.x0 = height / 2; + root.y0 = 0; + update(root); + + d3.select(self.frameElement).style("height", "500px"); + + function update(source:any) { + + // Compute the new tree layout. + var nodes = tree.nodes(root); + var links = tree.links(nodes); + + + // Normalize for fixed-depth. + nodes.forEach(function(d:any) { d.y = d.depth * 230; }); + + // Update the nodes… + var node = svg.selectAll("g.node") + .data(nodes, function(d:any) { return d.id || (d.id = ++i); }) + + // Enter any new nodes at the parent's previous position. + var nodeEnter = node.enter().append("g") + .attr("class", "node") + .attr("text", "A") + .attr("transform", function() { return "translate(" + source.y0 + "," + source.x0 + ")"; }) + .style("cursor","pointer") + .on("click", click). + on("mouseover", function(d:any) { + var g = d3.select(this); // The node + // The class is used to remove the additional text later + g.append('text') + .classed('info', true) + .attr('x', 20) + .attr('y', -10) + .text(d.Definition) + .style("font",'12px sans-serif') + .style("font-style",'italic'); + }) + .on("mouseout", function() { + // Remove the info text on mouse out. + d3.select(this).select('text.info').remove() + }); + + //Adda circle instead of a image + nodeEnter.append("circle") + .attr("r", 1e-6) + .style("stroke", "#604379") + .style("stroke-width", "2px") + .style("fill", function(d:any) { return d.children ? "#604379" : "#fff"; }); + + nodeEnter.append("text") + .attr("x", function(d:any) { return d.children || d._children ? -16 : 13; }) + .attr("dy", ".35em") + .attr("text-anchor", function(d:any) { return d.children || d._children ? "end" : "start"; }) + .text(function(d:any) { return d.Name; }) + .style("fill-opacity", 1e-6) + .style("font",'12px sans-serif') + .style("font-weight",'bold'); + + + // Letters inside circle + nodeEnter.append("text") + .attr("x", function(d:any) { return d.children || d._children ? 4 : -4; }) + .attr("text-anchor", function(d:any) { return d.children || d._children ? "end" : "start"; }) + .attr("dy", ".35em") + .attr("stroke","#65B2E4") + .attr("stroke-width","1px") + .text(function(d:any) { + if (d.Element === 'Simple') return "S"; + if (d.Element === 'Complex') return "C"; + if (d.Element === 'Attribute') return "A"; }) + .style("fill-opacity", 1e-6) + .style("font",'12px sans-serif'); + + // Transition nodes to their new position. + var nodeUpdate = node.transition() + .duration(duration) + .attr("transform", function(d:any) { return "translate(" + d.y + "," + d.x + ")"; }); + + nodeUpdate.select("circle") + .attr("r", 12) + .style("fill", function(d:any) { return d.children ? "#604379" : "#fff"; }) + + nodeUpdate.select("text") + .style("fill-opacity", 1); + + // Transition exiting nodes to the parent's new position. + var nodeExit = node.exit().transition() + .duration(duration) + .attr("transform", function() { return "translate(" + source.y + "," + source.x + ")"; }) + .remove(); + + nodeExit.select("circle") + .attr("r", 1e-6) + + nodeExit.select("text") + .style("fill-opacity", 1e-6); + + // Update the links… + var link = svg.selectAll("path.link") + .data(links, function(d:any) { return d.target.id; }); + + + // Enter any new links at the parent's previous position. + link.enter().insert("path", "g") + .style("fill","none") + .style("stroke",function (d:any) { + if (d.target.cardinality === "1-N") return "#2A9DF4"; + if (d.target.cardinality === "1") return "#1167B1"; + if (d.target.cardinality === "0-1") return "#555555"; + if (d.target.cardinality === "0-N") return "#adb7bd"; + else return "black"} + ) + .style("stroke-width","2.5px") + .attr("class", "link") + .attr("d", function() { + var o = {x: source.x0, y: source.y0}; + return diagonal({source: o, target: o}); + }); + + // Transition links to their new position. + link.transition() + .duration(duration) + .attr("d", diagonal); + + // Transition exiting nodes to the parent's new position. + link.exit().transition() + .duration(duration) + .attr("d", function() { + var o = {x: source.x, y: source.y}; + return diagonal({source: o, target: o}); + }) + .remove(); + + //Legend + // select the svg area + var svg_legend = d3.select("#seda_legend") + // Nodes + svg_legend.append("circle").attr("cx",20).attr("cy",30).attr("r", 6).attr("r", 12).style("stroke", "#604379").style("stroke-width", "2px").style("fill","#fff" ) + svg_legend.append("text").attr("x","15").attr("dy", "35").attr("stroke","#65B2E4").text("C").style("fill-opacity", 1e-6).style("font",'12px sans-serif'); + //Simple element circle and text + svg_legend.append("circle").attr("cx",180).attr("cy",30).attr("r", 6).attr("r", 12).style("stroke", "#604379").style("stroke-width", "2px").style("fill","#fff" ) + svg_legend.append("text").attr("x","176").attr("dy", "35").attr("stroke","#65B2E4").text("S").style("fill-opacity", 1e-6).style("font",'12px sans-serif'); + //Attribute circle and text + svg_legend.append("circle").attr("cx",330).attr("cy",30).attr("r", 6).attr("r", 12).style("stroke", "#604379").style("stroke-width", "2px").style("fill","#fff" ) + svg_legend.append("text").attr("x","326").attr("dy", "35").attr("stroke","#65B2E4").text("A").style("fill-opacity", 1e-6).style("font",'12px sans-serif'); + + // Cardinalities + // 1 + svg_legend.append("line").attr("x1", 50).attr("y1", 70).attr("x2", 90).attr("y2", 70).style("stroke","#1167B1").style("stroke-width","2.5"); + svg_legend.append("text").attr("x","100").attr("dy", "70").text("1").style("font-size", "15px").attr("alignment-baseline","middle") + // 1-N + svg_legend.append("line").attr("x1", 140).attr("y1", 70).attr("x2", 180).attr("y2", 70).style("stroke","#2A9DF4").style("stroke-width","2.5"); + svg_legend.append("text").attr("x","190").attr("dy", "70").text("1-N").style("font-size", "15px").attr("alignment-baseline","middle") + + svg_legend.append("line").attr("x1", 230).attr("y1", 70).attr("x2", 270).attr("y2", 70).style("stroke","#555555").style("stroke-width","2.5"); + svg_legend.append("text").attr("x","280").attr("dy", "70").text("0-1").style("font-size", "15px").attr("alignment-baseline","middle") + + svg_legend.append("line").attr("x1", 310).attr("y1", 70).attr("x2", 350).attr("y2", 70).style("stroke","#adb7bd").style("stroke-width","2.5"); + svg_legend.append("text").attr("x","360").attr("dy", "70").text("0-N").style("font-size", "15px").attr("alignment-baseline","middle") + + //Legend text + //Nodes + svg_legend.append("text").attr("x", 40).attr("y", 30).text("Complex Element").style("font-size", "15px").attr("alignment-baseline","middle") + svg_legend.append("text").attr("x", 200).attr("y", 30).text("Simple Element").style("font-size", "15px").attr("alignment-baseline","middle") + svg_legend.append("text").attr("x", 350).attr("y", 30).text("Attribute").style("font-size", "15px").attr("alignment-baseline","middle") + + //Cardinalities + + // Stash the old positions for transition. + nodes.forEach(function(d:any) { + d.x0 = d.x; + d.y0 = d.y; + }); + } + + // Toggle Children on click. + function click(d:any) { + if (d.children) { + d._children = d.children; + d.children = null; + } else { + d.children = d._children; + d._children = null; + } + update(d); + } + + }) + } + + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/data-generique-popup.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/shared/data-generique-popup.service.spec.ts new file mode 100644 index 000000000..7eb74f775 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/data-generique-popup.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { DataGeneriquePopupService } from './data-generique-popup.service'; + +describe('DataGeneriquePopupService', () => { + let service: DataGeneriquePopupService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(DataGeneriquePopupService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/data-generique-popup.service.ts b/ui/ui-frontend/projects/pastis/src/app/shared/data-generique-popup.service.ts new file mode 100644 index 000000000..2755fccc0 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/data-generique-popup.service.ts @@ -0,0 +1,19 @@ +import { Injectable } from '@angular/core'; +import {BehaviorSubject} from "rxjs"; + +@Injectable({ + providedIn: 'root' +}) +export class DataGeneriquePopupService { + + private test = ['', '', '']; + private donneeSource = new BehaviorSubject(this.test); + + currentDonnee = this.donneeSource.asObservable(); + + constructor() { } + + changeDonnees(donnees: Array<string>){ + this.donneeSource.next(donnees) + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-breadcrumb/pastis-breadcrumb.component.html b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-breadcrumb/pastis-breadcrumb.component.html new file mode 100644 index 000000000..dd460beee --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-breadcrumb/pastis-breadcrumb.component.html @@ -0,0 +1,33 @@ +<!-- + ~ Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2021) + ~ + ~ contact@programmevitam.fr + ~ + ~ This software is a computer program whose purpose is to implement a digital archiving back-office system managing + ~ high volumetry securely and efficiently. + ~ + ~ This software is governed by the CeCILL 2.1 license under French law and abiding by the rules of distribution of free + ~ software. You can use, modify and/ or redistribute the software under the terms of the CeCILL 2.1 license as + ~ circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info". + ~ + ~ As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license, + ~ users are provided only with a limited warranty and the software's author, the holder of the economic rights, and the + ~ successive licensors have only limited liability. + ~ + ~ In this respect, the user's attention is drawn to the risks associated with loading, using, modifying and/or + ~ developing or reproducing the software by the user in light of its specific status of free software, that may mean + ~ that it is complicated to manipulate, and that also therefore means that it is reserved for developers and + ~ experienced professionals having in-depth computer knowledge. Users are therefore encouraged to load and test the + ~ software's suitability as regards their requirements in conditions enabling the security of their systems and/or data + ~ to be ensured and, more generally, to use and operate it in the same conditions as regards security. + ~ + ~ The fact that you are presently reading this means that you have had knowledge of the CeCILL 2.1 license and that you + ~ accept its terms. + --> + +<div class="pastis-breadcrumb"> + <ng-container *ngFor="let d of data; let last = last"> + <span (click)="onClick(d, !last)">{{getLabel(d) | translate}}</span> + <i *ngIf="!last" class="material-icons px-2">trending_flat</i> + </ng-container> +</div> diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-breadcrumb/pastis-breadcrumb.component.scss b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-breadcrumb/pastis-breadcrumb.component.scss new file mode 100644 index 000000000..11e0ac1b8 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-breadcrumb/pastis-breadcrumb.component.scss @@ -0,0 +1,19 @@ +.pastis-breadcrumb { + display: inline-flex; + align-items: center; + + span { + font-size: 14px;; + } + + span:not(:last-child) { + cursor: pointer; + color: var(--vitamui-primary); + font-weight: 400; + } + + span:last-child { + color: var(--vitamui-grey-900); + font-weight: 700; + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-breadcrumb/pastis-breadcrumb.component.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-breadcrumb/pastis-breadcrumb.component.ts new file mode 100644 index 000000000..bb347f09a --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-breadcrumb/pastis-breadcrumb.component.ts @@ -0,0 +1,81 @@ +/* + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { TenantSelectionService } from 'ui-frontend-common'; +import { PastisConfiguration } from '../../../core/classes/pastis-configuration'; +import { BreadcrumbDataMetadata } from '../../../models/breadcrumb'; +import { PastisPopupMetadataLanguageService } from '../../pastis-popup-metadata-language/pastis-popup-metadata-language.service'; + +@Component({ + selector: 'pastis-breadcrumb', + templateUrl: './pastis-breadcrumb.component.html', + styleUrls: ['./pastis-breadcrumb.component.scss'] +}) +export class PastisBreadcrumbComponent implements OnInit { + + @Input() + public data: Array<any>; + + @Output() + public selected = new EventEmitter<any>(); + + constructor(private metadataLanguageService: PastisPopupMetadataLanguageService, private tenantService: TenantSelectionService + ,private pastisConfig: PastisConfiguration){} + + ngOnInit() { + } + + public onClick(d: any, emit: boolean): void { + if (emit) { + if(d.label === "PROFILE.EDIT_PROFILE.BREADCRUMB.CREER_ET_GERER_PROFIL"){ + d.url = this.pastisConfig.pastisPathPrefix + this.tenantService.getSelectedTenant().identifier; + } + this.selected.emit(d); + } + } + + getLabel(data:BreadcrumbDataMetadata): string { + if (data.node && (data.label === data.node.name)) { + if (!this.metadataLanguageService.sedaLanguage.getValue()) { + if (data.node.sedaData.NameFr){ + return data.node.sedaData.NameFr; + } + } + } + return data.label; + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-title-breadcrumb/pastis-title-breadcrumb.component.html b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-title-breadcrumb/pastis-title-breadcrumb.component.html new file mode 100644 index 000000000..cc18b7ceb --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-title-breadcrumb/pastis-title-breadcrumb.component.html @@ -0,0 +1,43 @@ +<!-- + ~ Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2021) + ~ + ~ contact@programmevitam.fr + ~ + ~ This software is a computer program whose purpose is to implement a digital archiving back-office system managing + ~ high volumetry securely and efficiently. + ~ + ~ This software is governed by the CeCILL 2.1 license under French law and abiding by the rules of distribution of free + ~ software. You can use, modify and/ or redistribute the software under the terms of the CeCILL 2.1 license as + ~ circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info". + ~ + ~ As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license, + ~ users are provided only with a limited warranty and the software's author, the holder of the economic rights, and the + ~ successive licensors have only limited liability. + ~ + ~ In this respect, the user's attention is drawn to the risks associated with loading, using, modifying and/or + ~ developing or reproducing the software by the user in light of its specific status of free software, that may mean + ~ that it is complicated to manipulate, and that also therefore means that it is reserved for developers and + ~ experienced professionals having in-depth computer knowledge. Users are therefore encouraged to load and test the + ~ software's suitability as regards their requirements in conditions enabling the security of their systems and/or data + ~ to be ensured and, more generally, to use and operate it in the same conditions as regards security. + ~ + ~ The fact that you are presently reading this means that you have had knowledge of the CeCILL 2.1 license and that you + ~ accept its terms. + --> + +<div class="d-flex flex-column"> + <div class="d-flex align-items-center"> + <button (click)="location.back()" class="btn link primary"> + <i class="vitamui-icon vitamui-icon-arrow-back"></i> + </button> + + <pastis-breadcrumb + (selected)="bubbleEvent($event)" + [data]="data"> + </pastis-breadcrumb> + </div> + + <h5 class="mt-0 mb-4"> + <ng-content></ng-content> + </h5> +</div> diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-title-breadcrumb/pastis-title-breadcrumb.component.scss b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-title-breadcrumb/pastis-title-breadcrumb.component.scss new file mode 100644 index 000000000..026da99e5 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-title-breadcrumb/pastis-title-breadcrumb.component.scss @@ -0,0 +1,9 @@ +button { + position: relative; + left: -2.5rem; +} + +pastis-breadcrumb { + position: relative; + left: -1.2rem; +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-title-breadcrumb/pastis-title-breadcrumb.component.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-title-breadcrumb/pastis-title-breadcrumb.component.ts new file mode 100644 index 000000000..6eda8fd58 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-breadcrumb-components/pastis-title-breadcrumb/pastis-title-breadcrumb.component.ts @@ -0,0 +1,64 @@ +/* + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + + +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { Location } from '@angular/common'; + +@Component({ + selector: 'pastis-title-breadcrumb', + templateUrl: './pastis-title-breadcrumb.component.html', + styleUrls: ['./pastis-title-breadcrumb.component.scss'] +}) +export class PastisTitleBreadcrumbComponent implements OnInit { + + @Input() + public data?: Array<any>; + + @Output() + public selected = new EventEmitter<any>(); + + constructor(public location: Location) {} + + ngOnInit() { + } + + public bubbleEvent(d: any): void { + this.selected.emit(d); + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/classes/pastis-dialog-data.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/classes/pastis-dialog-data.ts new file mode 100644 index 000000000..abb109ec8 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/classes/pastis-dialog-data.ts @@ -0,0 +1,53 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +import { FileNode } from "../../../models/file-node"; +import { ComponentType } from '@angular/cdk/portal'; + +export interface PastisDialogData { + width: string; + height: string; + titleDialog: string; + subTitleDialog: string; + okLabel:string; + cancelLabel:string; + fileNode: FileNode; + disableBtnOuiOnInit:boolean; + component: ComponentType<any>; + modeProfile ?: string; + } diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.html b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.html new file mode 100644 index 000000000..569603b78 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.html @@ -0,0 +1,31 @@ +<!-- Pastis dialog title qnd subtitle--> +<h2 class="pastis-dialog-config-title" matDialogTitle> + <div [ngClass]="{ 'barre-et-croix': dialogReceivedData.subTitleDialog.includes('Ajouter des métadonnées'), + 'barre-et-croix-delete' : dialogReceivedData.subTitleDialog.includes('Suppression d\'une métadonnée'), + 'barre-et-croix-attributes' : dialogReceivedData.subTitleDialog.includes('Edition des attributs'), + 'barre-et-croix-creation' : dialogReceivedData.subTitleDialog.includes('Choix du type de profil'), + 'barre-et-croix-creation' : dialogReceivedData.subTitleDialog.includes('Choice of profile type'), + 'barre-et-croix-save' : dialogReceivedData.subTitleDialog.includes('Enregistrement')}"> + <i (click)="onNoClick()" class="vitamui-icon vitamui-icon-close"></i> + </div> + <p class="pastis-dialog-subtitle"><b>{{dialogReceivedData.subTitleDialog}}</b></p> + <P class="pastis-dialog-title">{{dialogReceivedData.titleDialog}}</P> +</h2> +<!-- Pastis dialog dynamic content--> +<mat-dialog-content *ngIf="portal" style="overflow: hidden;"> + <p class="pastis-dialog-content"> + <ng-template #dialogContent [cdkPortalOutlet]="portal"></ng-template> + </p> +</mat-dialog-content> + +<!-- Pastis defaut dialog buttons--> +<mat-dialog-actions align="right" class="pastis-dialog-confirm-buttons"> + <button (click)="onYesClick()" + [disabled]="btnYesShouldBeDisabled" + [mat-dialog-close]="dataBeforeClose" + class="pastis-btn-oui-dialog-confirm">{{dialogReceivedData.okLabel}} + </button> + <button (click)="onNoClick()" + class="pastis-btn-non-dialog-confirm">{{dialogReceivedData.cancelLabel}} + </button> +</mat-dialog-actions> diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.scss b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.scss new file mode 100644 index 000000000..8d1cceec3 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.scss @@ -0,0 +1,160 @@ +@import '../../../../assets/css/mixins'; +@import '../../../../assets/css/font'; + +.pastis-dialog-confirm { + border-radius: 20px; + background-color: white; +} + +.pastis-dialog-config-title { + bottom: 10px; + position: relative; +} + +.pastis-dialog-confirm-divider { + position: relative; + max-width: 90%; + margin-left: 5%; + margin-top: 37px; + height: 3px; + border-radius: 20px; + border: none; + @extend .pastis-bg-primary-300; +} + +.pastis-dialog-title { + @extend .pastis-font-popup-title; + /* Positioning */ + position: relative; + margin-left: 5%; + margin-right: 40px; + margin-top: 10px; + font-family: Mulish; + font-style: normal; + font-weight: bold; + font-size: 20px; + line-height: 28px; + /* or 140% */ + + display: flex; + align-items: center; + color: var(--vitamui-grey-900); + +} + +.pastis-dialog-subtitle { + @extend .pastis-font-popup-subtitle; + /* Positioning */ + position: relative; + margin-left: 5%; + margin-right: 40px; + margin-bottom: 0px; + font-family: Mulish; + font-style: normal; + font-weight: normal; + font-size: 16px; + line-height: 24px; + color: var(--vitamui-grey-600); +} + +.pastis-dialog-content { + margin-right: 5%; + margin-left: 5%; + overflow: hidden; +} + +.pastis-dialog-confirm-buttons { + position: relative; + margin-left: 5%; + margin-bottom: 10px; +} + +.pastis-btn-oui-dialog-confirm { + padding-left: 30px; + padding-right: 30px; + min-width: 92px; + height: 50px; + background-color: var(--vitamui-primary); + letter-spacing: 0.5px; + text-transform: uppercase; + font-family: Mulish !important; + @extend .pastis-btn-primary-enabled; +} + +.pastis-btn-oui-dialog-confirm:hover:not([disabled]) { + @extend .pastis-btn-primary-hover; +} + +.pastis-btn-oui-dialog-confirm:active { + @extend .pastis-btn-primary-focus; +} + +.pastis-btn-oui-dialog-confirm:disabled { + @extend .pastis-btn-primary-disabled; +} + +.pastis-btn-non-dialog-confirm { + padding-left: 30px; + padding-right: 30px; + min-width: 92px; + height: 50px; + margin-left: 24px; + border: 0px; + background-color: transparent; + color: var(--vitamui-grey-900); + font-family: Mulish; + font-style: normal; + font-weight: bold; + font-size: 14px; + line-height: 18px; + /* identical to box height, or 129% */ + + display: flex; + align-items: center; + letter-spacing: 0.5px; + text-transform: uppercase; + +} + +.pastis-btn-non-dialog-confirm:active { + border: 0px; +} + +.pastis-close-popup { + text-align: right; + margin-top: -13px; + margin-right: -3%; + float: right; +} + +.barre-et-croix { + position: relative; + left: 715px; + top: 31px; + width: 50px; +} + +.barre-et-croix-attributes { + @extend .barre-et-croix; + left: 95%; +} + +.barre-et-croix-delete { + @extend .barre-et-croix; + left: 600px; +} + + +.barre-et-croix-creation { + position: absolute; + width: 40px; + height: 40px; + right: 10px; +} + +.barre-et-croix-save{ + position: absolute; + width: 40px; + height: 40px; + right: 10px; +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.spec.ts new file mode 100644 index 000000000..07e1bfc04 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PastisDialogConfirmComponent } from './pastis-dialog-confirm.component'; + +describe('PastisDialogConfirmComponent', () => { + let component: PastisDialogConfirmComponent; + let fixture: ComponentFixture<PastisDialogConfirmComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ PastisDialogConfirmComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(PastisDialogConfirmComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.ts new file mode 100644 index 000000000..a62cf0dcd --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.ts @@ -0,0 +1,115 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import {Component, Inject, OnInit,} from '@angular/core'; +import {PastisDialogData} from '../classes/pastis-dialog-data'; +import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; +import {SedaService} from '../../../core/services/seda.service'; +import {ComponentPortal} from '@angular/cdk/portal'; +import {PopupService} from '../../../core/services/popup.service'; +import {TranslateService} from "@ngx-translate/core"; +const PASTIS_DIALOG_CONFIRM_TRANSLATE_PATH = 'PASTIS_DIALOG_CONFIRM'; +@Component({ + selector: 'pastis-pastis-dialog-confirm', + templateUrl: './pastis-dialog-confirm.component.html', + styleUrls: ['./pastis-dialog-confirm.component.scss'] +}) +export class PastisDialogConfirmComponent implements OnInit { + + portal: ComponentPortal<any>; + + dataBeforeClose:any; + + btnYesShouldBeDisabled:boolean ; + + popupValider : string = this.translated('.POPUP_VALIDER'); + popupAnnuler : string = this.translated('.POPUP_ANNULER'); + + constructor( + public dialogConfirmRef: MatDialogRef<PastisDialogConfirmComponent>, + @Inject(MAT_DIALOG_DATA) public dialogReceivedData: PastisDialogData, + public sedaService: SedaService, private popUpService:PopupService, + private translateService: TranslateService) { + } + + + ngOnInit() { + console.log("Data received on confirm dialog : %o", this.dialogReceivedData); + if (this.dialogReceivedData.component){ + this.portal = new ComponentPortal(this.dialogReceivedData.component); + this.popUpService.setPopUpDataOnOpen(this.dialogReceivedData); + } + if (!this.dialogReceivedData.okLabel) this.dialogReceivedData.okLabel = this.popupValider; + + if (!this.dialogReceivedData.cancelLabel) this.dialogReceivedData.cancelLabel = this.popupAnnuler; + + this.popUpService.popUpDataBeforeClose.subscribe(data=>{ + this.dataBeforeClose = data; + }) + this.popUpService.btnYesShoudBeDisabled.subscribe(shouldDisableButton=>{ + this.btnYesShouldBeDisabled = shouldDisableButton; + }) + this.popUpService.btnYesShoudBeDisabled.next(this.dialogReceivedData.disableBtnOuiOnInit) + + } + + onNoClick(): void { + console.log("Clicked no "); + this.popUpService.btnYesShoudBeDisabled.next(false) + this.dialogConfirmRef.close(); + } + + onYesClick(): void { + console.log("Clicked ok on dialog and send data : %o", this.dataBeforeClose); + } + + getToolTipData(data: any) { + if (data && data.length) { + return data.nodeName + } + } + + translated(nameOfFieldToTranslate: string): string { + return this.translateService.instant(PASTIS_DIALOG_CONFIRM_TRANSLATE_PATH + nameOfFieldToTranslate); + } + + ngOnDestroy() { + + } + + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-generic-popup.component.html b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-generic-popup.component.html new file mode 100644 index 000000000..77e8e55b7 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-generic-popup.component.html @@ -0,0 +1,12 @@ + <div class="pastis-vitamui-language-seda-title">{{title}} + </div> + <div class="pastis-vitamui-language-seda-choice"> + <button [ngStyle]="{'width': secondPopup ? 'fit-content' : '' }" + (click)="changeStatus(firstChoice)" + [ngClass]="{'pastis-vitamui-language-seda-button-selected':status, 'pastis-vitamui-language-seda-button': !status}">{{firstChoice}} + </button> + <button [ngStyle]="{'width': secondPopup ? 'fit-content' : '' }" + (click)="changeStatus(secondChoice)" + [ngClass]="{'pastis-vitamui-language-fr-button-selected':!status, 'pastis-vitamui-language-fr-button': status}">{{secondChoice}} + </button> + </div> diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-generic-popup.component.scss b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-generic-popup.component.scss new file mode 100644 index 000000000..114bae801 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-generic-popup.component.scss @@ -0,0 +1,88 @@ +@import '~ui-frontend-common/sass/icons/vitamui-icons'; +.pastis-vitamui-language-seda-container{ + width: 245px; + height: 150px; + position: absolute; + + /* Basics/White */ + + background: #FFFFFF; + /* Grey/Grey-400 */ + + border: 1px solid #BDBDBD; + box-sizing: border-box; + border-radius: 10px; +} +.pastis-vitamui-language-seda-choice{ + position: relative; + margin: 20px 15px 0 15px; + display: inline-flex; +} + + +.pastis-vitamui-language-seda-title{ + margin: 20px 15px 0 15px; + height: 22px; + left: 0px; + top: 1px; + + /* Entrée */ + + + position: static; + + /* Text/Text-normal */ + + font-family: Mulish; + font-style: normal; + font-weight: normal; + line-height: 22px; + /* identical to box height, or 157% */ + + letter-spacing: 0.1px; + + /* Secondary/Secondary-900 */ + color: #050C15; + /* Inside Auto Layout */ + flex: none; + order: 0; +} +.pastis-vitamui-language-seda-button{ + width: 160px; + height: 40px; + border: 1px solid var(--vitamui-primary); + border-radius: 5px 0 0 5px; + background-color: #FFFFFF; + font-family: Mulish; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 22px; + /* identical to box height, or 157% */ + text-align: center; + letter-spacing: 0.1px; + /* X_Basics/White */ + color: var(--vitamui-grey-900); +} +.pastis-vitamui-language-seda-button-selected{ + @extend .pastis-vitamui-language-seda-button; + font-weight: bold; + color: #FFFFFF; + background-color: var(--vitamui-primary); +} +.pastis-vitamui-language-seda-button:focus{ + outline: none !important; +} +.pastis-vitamui-language-fr-button{ + @extend .pastis-vitamui-language-seda-button; + border-radius: 0 5px 5px 0; +} +.pastis-vitamui-language-fr-button-selected{ + @extend .pastis-vitamui-language-fr-button; + font-weight: bold; + color: #FFFFFF; + background-color: var(--vitamui-primary); +} +button{ + cursor: pointer; +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-generic-popup.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-generic-popup.component.spec.ts new file mode 100644 index 000000000..a8601fa39 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-generic-popup.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PastisGenericPopupComponent } from './pastis-generic-popup.component'; + +describe('PastisGenericPopupComponent', () => { + let component: PastisGenericPopupComponent; + let fixture: ComponentFixture<PastisGenericPopupComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ PastisGenericPopupComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(PastisGenericPopupComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-generic-popup.component.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-generic-popup.component.ts new file mode 100644 index 000000000..dd9f91b06 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-generic-popup.component.ts @@ -0,0 +1,56 @@ +import {Component, OnInit, Output, EventEmitter} from '@angular/core'; +import {PastisPopupSelectionService} from "./pastis-popup-selection.service"; +import {DataGeneriquePopupService} from "../data-generique-popup.service"; +import { Input } from '@angular/core'; + +@Component({ + selector: 'pastis-generic-popup', + templateUrl: './pastis-generic-popup.component.html', + styleUrls: ['./pastis-generic-popup.component.scss'] +}) +export class PastisGenericPopupComponent implements OnInit { + donnees:string[]; + + @Input() + firstChoice: string; + @Input() + secondChoice: string; + @Input() + title : string; + + @Input() + secondPopup: boolean; + + @Output() changeStatusEvent: EventEmitter<string> = new EventEmitter<string>(); + + status: boolean; + + constructor(private pastisPopupSelectionService: PastisPopupSelectionService, private dataGeneriquePopupService: DataGeneriquePopupService) { } + + ngOnInit(): void { + this.dataGeneriquePopupService.currentDonnee.subscribe(donnees => this.donnees= donnees); + if(this.firstChoice == null && this.firstChoice == ''){ + this.firstChoice= this.donnees[0]; + } + if ( typeof(this.firstChoice) == 'undefined' && this.firstChoice == null ) { + this.firstChoice= this.donnees[0]; + } + if ( typeof(this.secondChoice) == 'undefined' && this.secondChoice == null ) { + this.secondChoice = this.donnees[1]; + } + if ( typeof(this.title) == 'undefined' && this.title == null ) { + this.title = this.donnees[2]; + } + this.status=true; + this.pastisPopupSelectionService.value = this.firstChoice; + } + + changeStatus(value: string): void{ + if((this.status && value != this.firstChoice) + || (!this.status && value != this.secondChoice)){ + this.status = !this.status; + this.pastisPopupSelectionService.value = value; + } + this.changeStatusEvent.emit(value); + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-popup-selection.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-popup-selection.service.spec.ts new file mode 100644 index 000000000..c97444f32 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-popup-selection.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { PastisPopupSelectionService } from './pastis-popup-selection.service'; + +describe('PastisPopupSelectionService', () => { + let service: PastisPopupSelectionService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(PastisPopupSelectionService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-popup-selection.service.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-popup-selection.service.ts new file mode 100644 index 000000000..109b477cd --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-generic-popup/pastis-popup-selection.service.ts @@ -0,0 +1,11 @@ +import { Injectable } from '@angular/core'; + +@Injectable({ + providedIn: 'root' +}) +export class PastisPopupSelectionService { + value: string; + + constructor() { + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/pastis-notice-toggle-button.component.html b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/pastis-notice-toggle-button.component.html new file mode 100644 index 000000000..c3a6d9d9c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/pastis-notice-toggle-button.component.html @@ -0,0 +1,5 @@ +<button (click)="changeStatus()" class="pastis-toggle-button-container"> + <div [ngClass]="{circleOui:statusToggle,circleNon:!statusToggle}"></div> + <label [ngClass]="{statusOui:statusToggle,statusNon:!statusToggle}">{{statusToggle ? 'OUI' : 'NON'}}</label> +</button> + diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/pastis-notice-toggle-button.component.scss b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/pastis-notice-toggle-button.component.scss new file mode 100644 index 000000000..9f02abed2 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/pastis-notice-toggle-button.component.scss @@ -0,0 +1,72 @@ +.pastis-toggle-button-container{ + width: 70px; + height: 30px; + left: 660px; + top: 733px; + background: #474D4A; + border-radius: 30px; + display: inline-flex; + } + +.circleOui{ + position: relative; + left: 34px; + width: 22px; + height: 22px; + /* White — 500* */ + background: #FFFFFF; + border-radius: 12px; +} + +.statusOui{ + position: relative; + left: -18px; + height: 22px; + font-family: Mulish; + font-style: normal; + font-weight: bold; + font-size: 14px; + line-height: 22px; + /* identical to box height, or 157% */ + + display: flex; + align-items: center; + text-align: right; + letter-spacing: 0.1px; + text-transform: uppercase; + + /* White — 500* */ + + color: #FFFFFF; +} + +.circleNon{ + position: relative; + right: 2px; + width: 22px; + height: 22px; + /* White — 500* */ + background: #FFFFFF; + border-radius: 12px; +} + +.statusNon{ + position: relative; + left: 3px; + height: 22px; + font-family: Mulish; + font-style: normal; + font-weight: bold; + font-size: 14px; + line-height: 22px; + /* identical to box height, or 157% */ + + align-items: center; + text-align: right; + letter-spacing: 0.1px; + text-transform: uppercase; + + /* White — 500* */ + + color: #FFFFFF; +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/pastis-notice-toggle-button.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/pastis-notice-toggle-button.component.spec.ts new file mode 100644 index 000000000..1b84a400a --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/pastis-notice-toggle-button.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PastisNoticeToggleButtonComponent } from './pastis-notice-toggle-button.component'; + +describe('PastisNoticeToggleButtonComponent', () => { + let component: PastisNoticeToggleButtonComponent; + let fixture: ComponentFixture<PastisNoticeToggleButtonComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ PastisNoticeToggleButtonComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(PastisNoticeToggleButtonComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/pastis-notice-toggle-button.component.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/pastis-notice-toggle-button.component.ts new file mode 100644 index 000000000..17b2adc75 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/pastis-notice-toggle-button.component.ts @@ -0,0 +1,34 @@ +import {Component, OnDestroy, OnInit} from '@angular/core'; +import {PastisNoticeToggleButtonService} from "./services/pastis-notice-toggle-button.service"; +import {Subscription} from "rxjs"; + +@Component({ + selector: 'pastis-notice-toggle-button', + templateUrl: './pastis-notice-toggle-button.component.html', + styleUrls: ['./pastis-notice-toggle-button.component.scss'] +}) +export class PastisNoticeToggleButtonComponent implements OnInit, OnDestroy { + + statusToggle: boolean; + statusToggleSub: Subscription; + + constructor(private noticeToggleService: PastisNoticeToggleButtonService) { } + + ngOnInit(): void { + this.statusToggleSub = this.noticeToggleService.toggleButtonMode.subscribe( + (value: any) => { + this.statusToggle = value; + }, + (error) => { + console.log(error); + } + ); + } + changeStatus(): void { + this.noticeToggleService.changeStatus(this.statusToggle); + } + + ngOnDestroy(): void { + this.statusToggleSub.unsubscribe(); + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/services/pastis-notice-toggle-button.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/services/pastis-notice-toggle-button.service.spec.ts new file mode 100644 index 000000000..586a7c661 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/services/pastis-notice-toggle-button.service.spec.ts @@ -0,0 +1,54 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +import { TestBed } from '@angular/core/testing'; + +import { PastisNoticeToggleButtonService } from './pastis-notice-toggle-button.service'; + +describe('PastisNoticeToggleButtonService', () => { + let service: PastisNoticeToggleButtonService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(PastisNoticeToggleButtonService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/services/pastis-notice-toggle-button.service.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/services/pastis-notice-toggle-button.service.ts new file mode 100644 index 000000000..93debfef0 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-notice-toggle-button/services/pastis-notice-toggle-button.service.ts @@ -0,0 +1,54 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +import { Injectable } from '@angular/core'; +import {BehaviorSubject} from "rxjs"; + +@Injectable({ + providedIn: 'root' +}) +export class PastisNoticeToggleButtonService { + + toggleButtonMode = new BehaviorSubject<boolean>(false); + + constructor() { } + + changeStatus(status: boolean){ + this.toggleButtonMode.next(!status); + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.component.html b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.component.html new file mode 100644 index 000000000..99c222717 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.component.html @@ -0,0 +1,19 @@ +<div class="pastis-vitamui-language-seda-container"> + <div class="pastis-vitamui-language-seda-title">{{'SHARED.PASTIS_POP_UP_METADATA_LANGUAGE.SEDA_TITLE' | translate}} + </div> + <div class="pastis-vitamui-language-seda-choice"> + <button + (click)="changeLanguage(true)" + [ngClass]="{'pastis-vitamui-language-seda-button-selected':sedaLanguage, 'pastis-vitamui-language-seda-button': !sedaLanguage}">{{'SHARED.PASTIS_POP_UP_METADATA_LANGUAGE.SEDA' | translate}} + </button> + <button + (click)="changeLanguage(false)" + [ngClass]="{'pastis-vitamui-language-fr-button-selected':!sedaLanguage, 'pastis-vitamui-language-fr-button': sedaLanguage}">{{'SHARED.PASTIS_POP_UP_METADATA_LANGUAGE.FRANCAIS' | translate}} + </button> + </div> + <button (click)="downloadDocumentation()" mat-menu-item> + <i class="vitamui-icon vitamui-icon-download-basic"></i> + + <span class="text normal">{{'SHARED.PASTIS_POP_UP_METADATA_LANGUAGE.MANUEL_UTILISATION' | translate}}</span> + </button> +</div> diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.component.scss b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.component.scss new file mode 100644 index 000000000..f1ca090fe --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.component.scss @@ -0,0 +1,80 @@ +@import '~ui-frontend-common/sass/icons/vitamui-icons'; +.pastis-vitamui-language-seda-container{ + width: 245px; + height: 150px; + position: absolute; + + /* Basics/White */ + + background: #FFFFFF; + /* Grey/Grey-400 */ + + border: 1px solid #BDBDBD; + box-sizing: border-box; + border-radius: 10px; +} +.pastis-vitamui-language-seda-choice{ + position: relative; + margin: 20px 15px 0 15px; + display: inline-flex; +} + + +.pastis-vitamui-language-seda-title{ + position: relative; + width: 155px; + height: 16px; + left: 15px; + top: 10px; + + /* Caption/Caption-bold */ + + font-family: Mulish; + font-style: normal; + font-weight: bold; + font-size: 12px; + line-height: 16px; + /* identical to box height, or 133% */ + + display: flex; + align-items: center; + text-align: center; + letter-spacing: -0.2px; + color: var(--vitamui-primary); +} +.pastis-vitamui-language-seda-button{ + width: 107px; + height: 34px; + border: 1px solid var(--vitamui-primary); + border-radius: 5px 0 0 5px; + background-color: #FFFFFF; + font-family: Mulish; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 22px; + /* identical to box height, or 157% */ + text-align: center; + letter-spacing: 0.1px; + /* X_Basics/White */ + color: var(--vitamui-grey-900); +} +.pastis-vitamui-language-seda-button-selected{ + @extend .pastis-vitamui-language-seda-button; + font-weight: bold; + color: #FFFFFF; + background-color: var(--vitamui-primary); +} +.pastis-vitamui-language-seda-button:focus{ + outline: none !important; +} +.pastis-vitamui-language-fr-button{ + @extend .pastis-vitamui-language-seda-button; + border-radius: 0 5px 5px 0; +} +.pastis-vitamui-language-fr-button-selected{ + @extend .pastis-vitamui-language-fr-button; + font-weight: bold; + color: #FFFFFF; + background-color: var(--vitamui-primary); +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.component.spec.ts new file mode 100644 index 000000000..82ad5d9f9 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.component.spec.ts @@ -0,0 +1,63 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PastisPopupMetadataLanguageComponent } from './pastis-popup-metadata-language.component'; + +describe('PastisPopupMetadataLanguageComponent', () => { + let component: PastisPopupMetadataLanguageComponent; + let fixture: ComponentFixture<PastisPopupMetadataLanguageComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ PastisPopupMetadataLanguageComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(PastisPopupMetadataLanguageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.component.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.component.ts new file mode 100644 index 000000000..28da850dc --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.component.ts @@ -0,0 +1,74 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +import { Component, Input, OnInit } from '@angular/core'; +import { PastisPopupMetadataLanguageService } from './pastis-popup-metadata-language.service'; + +@Component({ + selector: 'pastis-popup-metadata-language', + templateUrl: './pastis-popup-metadata-language.component.html', + styleUrls: ['./pastis-popup-metadata-language.component.scss'] +}) +export class PastisPopupMetadataLanguageComponent implements OnInit { + sedaLanguage: boolean; + @Input() + docPath: string; + + constructor(private metadataLanguageService: PastisPopupMetadataLanguageService) { } + + ngOnInit(): void { + this.metadataLanguageService.sedaLanguage.subscribe( + (value: boolean) => { + this.sedaLanguage = value; + }, + (error) => { + console.log(error) + } + ); + } + changeLanguage(sedaLanguage: boolean): void{ + if(sedaLanguage != undefined){ + this.sedaLanguage = sedaLanguage; + this.metadataLanguageService.sedaLanguage.next(this.sedaLanguage); + } + } + downloadDocumentation(){ + window.open(this.docPath); + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.service.spec.ts new file mode 100644 index 000000000..f36492f6c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.service.spec.ts @@ -0,0 +1,54 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +import { TestBed } from '@angular/core/testing'; + +import { PastisPopupMetadataLanguageService } from './pastis-popup-metadata-language.service'; + +describe('PastisPopupMetadataLanguageService', () => { + let service: PastisPopupMetadataLanguageService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(PastisPopupMetadataLanguageService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.service.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.service.ts new file mode 100644 index 000000000..a59e212e2 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-metadata-language/pastis-popup-metadata-language.service.ts @@ -0,0 +1,51 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +import { Injectable } from '@angular/core'; +import { BehaviorSubject } from 'rxjs'; + +@Injectable({ + providedIn: 'root' +}) +export class PastisPopupMetadataLanguageService { + sedaLanguage= new BehaviorSubject<boolean>(null); + + constructor() { + this.sedaLanguage.next(true); + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-option/pastis-popup-option.component.html b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-option/pastis-popup-option.component.html new file mode 100644 index 000000000..6970845c6 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-option/pastis-popup-option.component.html @@ -0,0 +1,33 @@ +<div class="pastis-vitamui-option-button" (click)="changeExpand()"> + <button class="btn btn-circle secondary large" type="submit"> + <i class="material-icons">close</i> + </button> +</div> +<div *ngIf="expanded" class="pastis-vitamui-option-container"> + <button mat-menu-item (click)="fileInput.click()"> + <i class="vitamui-icon vitamui-icon-download"></i> + + <span class="text normal">Ouvrir un profil depuis mon poste</span> + <input #fileInput (change)="uploadProfile($event.target.files)" accept=".json, .rng" class="buttons" + ng2FileSelect style="display:none;" type="file"/> + </button> + <mat-divider></mat-divider> + <button mat-menu-item> + <i class="vitamui-icon vitamui-icon-electronic-file"></i> + + <span class="text normal">Créer une notice de profil</span> + </button> + <mat-divider></mat-divider> + <button (click)="downloadDocumentation()" mat-menu-item> + <i class="vitamui-icon vitamui-icon-download-basic"></i> + + <span class="text normal">Télécharger le manuele d'utilisation de pastis</span> + </button> + <mat-divider></mat-divider> + <button (click)="goToSedaView()" mat-menu-item> + <i class="vitamui-icon vitamui-icon-visibility"></i> + + <span class="text normal">Visualiser la structure du SEDA 2.1</span> + </button> + +</div> \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-option/pastis-popup-option.component.scss b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-option/pastis-popup-option.component.scss new file mode 100644 index 000000000..1b3db348f --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-option/pastis-popup-option.component.scss @@ -0,0 +1,14 @@ +@import '~ui-frontend-common/sass/icons/vitamui-icons'; +.pastis-vitamui-option-container{ + width: 280px; + height: 200px; + position: absolute; + background: #FFFFFF; + border: 1px solid #BDBDBD; + box-sizing: border-box; + border-radius: 10px; +} + +.pastis-vitamui-option-button{ + margin-left: 60px; +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-option/pastis-popup-option.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-option/pastis-popup-option.component.spec.ts new file mode 100644 index 000000000..c747e2609 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-option/pastis-popup-option.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PastisPopupOptionComponent } from './pastis-popup-option.component'; + +describe('PastisPopupOptionComponent', () => { + let component: PastisPopupOptionComponent; + let fixture: ComponentFixture<PastisPopupOptionComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ PastisPopupOptionComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(PastisPopupOptionComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-option/pastis-popup-option.component.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-option/pastis-popup-option.component.ts new file mode 100644 index 000000000..7aac3ff9d --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-popup-option/pastis-popup-option.component.ts @@ -0,0 +1,66 @@ +import { Component, Input, OnDestroy, OnInit } from '@angular/core'; +import { Router } from '@angular/router'; +import { FileUploader } from 'ng2-file-upload'; +import { Subscription } from 'rxjs'; +import { ProfileService } from '../../core/services/profile.service'; + +@Component({ + selector: 'pastis-popup-option', + templateUrl: './pastis-popup-option.component.html', + styleUrls: ['./pastis-popup-option.component.scss'] +}) +export class PastisPopupOptionComponent implements OnInit, OnDestroy { + + @Input() + docPath: string; + @Input() + sedaUrl: string; + @Input() + newProfileUrl: string; + @Input() + uploader: FileUploader = new FileUploader({url: ""}); + + expanded: boolean = false; + + _uploadProfileSub: Subscription; + + constructor(private router:Router, private profileService: ProfileService) { } + + ngOnInit(): void { + } + + downloadDocumentation(){ + window.open(this.docPath); + } + + goToSedaView(){ + this.router.navigateByUrl(this.sedaUrl); + } + + uploadProfile(files: File[]):void { + let fileToUpload: File = files[0]; + + if (fileToUpload) { + const formData = new FormData(); + formData.append('file', fileToUpload, fileToUpload.name); + this._uploadProfileSub = this.profileService.uploadProfile(formData).subscribe( (response: any) => { + if (response) { + console.log('File submited! Reponse is : ', response); + + this.router.navigateByUrl(this.newProfileUrl, { state: response }); + } + }); + } + } + + changeExpand(){ + this.expanded = !this.expanded; + } + + ngOnDestroy(): void { + if(this._uploadProfileSub){ + this._uploadProfileSub.unsubscribe(); + } + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner-interceptor.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner-interceptor.ts new file mode 100644 index 000000000..fd99a14b6 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner-interceptor.ts @@ -0,0 +1,134 @@ +import { Injectable } from '@angular/core'; +import { + HttpErrorResponse, + HttpEvent, + HttpHandler, + HttpInterceptor, + HttpRequest, + HttpResponse +} from '@angular/common/http'; +import {Observable, of} from 'rxjs'; +import {catchError, finalize, tap} from 'rxjs/operators'; +import {ToastrService} from 'ngx-toastr'; +import {NotificationService} from '../../core/services/notification.service'; +import {NgxUiLoaderService} from 'ngx-ui-loader'; +import {FileService} from '../../core/services/file.service'; +import {SedaService} from '../../core/services/seda.service'; +import {LangChangeEvent, TranslateService} from "@ngx-translate/core"; +import {environment} from "../../../environments/environment"; + +const PASTIS_SPINNER_TRANSLATE_PATH = 'PASTIS_SPINNER_INTERCEPTOR'; +function constantToTranslate() { + this.notificationCreateProfile= this.translated('.NOTIFICATION_CREATE_PROFILE'); + this.notificationEdit= this.translated('.NOTIFICATION_EDIT'); + this.notificationSeda= this.translated('.NOTIFICATION_SEDA'); + this.notificationUpdateProfile= this.translated('.NOTIFICATION_UPDATE_PROFILE'); +} + + +@Injectable({ + providedIn: 'root' +}) +export class PastisSpinnerInterceptor implements HttpInterceptor { + isStandalone: boolean = environment.standalone; + count = 0; + isSedaLoaded: boolean; + + + notificationCreateProfile: string ; + notificationEdit: string; + notificationSeda: string ; + notificationUpdateProfile : string; + + + constructor(public ngxService: NgxUiLoaderService, + public notificationService: NotificationService, + public toasterService: ToastrService, + public translateService: TranslateService) { + + if(!this.isStandalone){ + constantToTranslate.call(this); + this.translatedOnChange(); + } + else if(this.isStandalone){ + this.notificationCreateProfile= "Les données RNG ont été chargées avec succès" + this.notificationEdit= "Les données RNG ont été chargées avec succès"; + this.notificationSeda= "Les données SEDA ont été chargées avec succès"; + this.notificationUpdateProfile= "Le fichier RNG a été généré avec succès"; + } + } + + intercept(req: HttpRequest<FileService | SedaService>, next: HttpHandler): Observable<HttpEvent<any>> { + + setTimeout(() => { + if (this.count < 0) return next.handle(req); + this.ngxService.start(); + this.count++; + }, 10); + + + return next.handle(req).pipe( + tap(evt => { + if (evt instanceof HttpResponse && new RegExp('createprofile').test(req.url)) { + if (evt.body) { + console.log('Inside loaderInterceptor on url : ', req.url); + this.notificationService.showSuccess(this.notificationCreateProfile); + } + } + if (evt instanceof HttpResponse && new RegExp('edit').test(req.url)) { + if (evt.body) { + console.log('Inside loaderInterceptor on url : ', req.url); + this.notificationService.showSuccess(this.notificationEdit); + } + } + if (evt instanceof HttpResponse && new RegExp('seda').test(req.url)) { + if (evt.body && !this.isSedaLoaded) { + console.log('Inside loaderInterceptor on url : ', req.url); + this.notificationService.showSuccess(this.notificationSeda); + this.isSedaLoaded = true; + } + } + if (evt instanceof HttpResponse && new RegExp('updateprofile').test(req.url)) { + if (evt.body) { + console.log('Inside loaderInterceptor on url : ', req.url); + this.notificationService.showSuccess(this.notificationUpdateProfile); + } + } + }), + finalize(() => { + this.count--; + if (this.count === 0) this.ngxService.stop(); + }), + catchError((error: any) => { + if (error instanceof HttpErrorResponse) { + try { + this.handleError(error); + } catch (error) { + this.handleError(error); + } + //log error + } + return of(error); + })); + + } + translatedOnChange(): void { + this.translateService.onLangChange + .subscribe((event: LangChangeEvent) => { + constantToTranslate.call(this); + console.log(event.lang); + }); + } + + translated(nameOfFieldToTranslate: string): string { + return this.translateService.instant(PASTIS_SPINNER_TRANSLATE_PATH + nameOfFieldToTranslate); + } + + + handleError(error: HttpErrorResponse) { + if (new RegExp('createprofile').test(error.url)) this.notificationService.showError('Échec lors du chargement du fichier RNG'); + if (new RegExp('seda').test(error.url)) this.notificationService.showError('Échec lors du chargement des données SEDA'); + if (new RegExp('updateprofile').test(error.url)) this.notificationService.showError('Échec lors de la géneration du fichier RNG'); + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.css b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.css new file mode 100644 index 000000000..e69de29bb diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.html b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.html new file mode 100644 index 000000000..b2dd72579 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.html @@ -0,0 +1,10 @@ +<!--<div *ngIf="isLoading | async" class="overlay"> + <mat-spinner [color]="color" [mode]="mode" [value]="value"></mat-spinner> +</div>--> +<img src="../../../assets/pastis7.png" style="width: 100px; height: 100px"/> +<div *ngIf="isLoading | async" class="loader"> + <div class="box"></div> + <div class="box"></div> + <div class="box"></div> + <div class="box"></div> +</div> diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.scss b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.scss new file mode 100644 index 000000000..7fc2869e5 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.scss @@ -0,0 +1,89 @@ +$size : 30px; +$yellow_light : rgb(123, 134, 226); +$yellow : rgb(25, 46, 235); +$yellow_dark : rgb(20, 51, 150); +$duration : 4s; + +html, body { height: 100%; } +body { + display: flex; + justify-content: center; + align-items: center; + background: + radial-gradient( + + #333, + #000 + ); + transform: translateY(-$size*1.5); +} + +.transparent .mat-dialog-container { + box-shadow: none; + background: rgba(0, 0, 0, 0.9); +} + +@mixin psuedo { + display: block; + content: ""; +} + +.loader { + display: inline-flex; + flex-wrap: wrap; + width: $size * 3; + height: $size * 3; + transform-style: preserve-3d; + transform: rotateX(45deg) rotate(45deg); +} + + +.box { + position: absolute; + top: 0; + left: 0; + width: $size; + height: $size; + background: $yellow_light; + box-shadow: $size*3.75 $size*3.75 20px #000; + animation: move $duration ease-in-out infinite both; + transform-style: preserve-3d; + + @for $i from 1 through 3 { + &:nth-child(#{$i}) { + animation-delay: $i/4 * -$duration; + } + } + + &:before, &:after { + @include psuedo; + position: absolute; + width: $size; + height: $size; + } + &:before { + top: 100%; + left: 0; + background: $yellow; + transform-origin: center top; + transform: rotateX(-90deg); + } + &:after { + top: 0; + left: 100%; + background: $yellow_dark; + transform-origin: center left; + transform: rotateY(90deg); + } +} + +@keyframes move { + 0%, 100% { transform: none; } + 12.5% { transform: translate($size, 0); } + 25% { transform: translate($size*2, 0); } + 37.5% { transform: translate($size*2, $size); } + 50% { transform: translate($size*2, $size*2); } + 62.5% { transform: translate($size, $size*2); } + 75% { transform: translate(0, $size*2); } + 87.5% { transform: translate(0, $size); } +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.spec.ts new file mode 100644 index 000000000..81072b681 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PastisSpinnerComponent } from './pastis-spinner.component'; + +describe('PastisSpinnerComponent', () => { + let component: PastisSpinnerComponent; + let fixture: ComponentFixture<PastisSpinnerComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ PastisSpinnerComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(PastisSpinnerComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.ts new file mode 100644 index 000000000..137046630 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.ts @@ -0,0 +1,64 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, Input, OnDestroy } from '@angular/core'; +import { BehaviorSubject } from 'rxjs'; + +@Component({ + selector: 'pastis-pastis-spinner', + templateUrl: './pastis-spinner.component.html', + styleUrls: ['./pastis-spinner.component.scss'] +}) + +export class PastisSpinnerComponent implements OnDestroy{ + + isLoading = new BehaviorSubject<boolean>(false); + + + + @Input() + color: string = 'accent'; + mode = 'indeterminate'; + //@Input() + value = 20; + + constructor(){ } + + ngOnDestroy(): void { + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.html b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.html new file mode 100644 index 000000000..fa6c238e0 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.html @@ -0,0 +1,22 @@ +<!-- <label class="switch" *ngIf="status; else puaOff"> + <input type="checkbox" checked (change)="checkToggle($event)"> + <div> + <span>{{profileType}}</span> + </div> + </label> + +<ng-template #puaOff> + <label class="switch"> + <input type="checwkbox" (change)="checkToggle($event)"> + <div> + <span>{{profileType}}</span> + </div> + </label> +</ng-template> +--> + +<div class="button b2" id="button-16" style="top:20px"> + <input (change)="checkToggle($event)" class="checkbox" type="checkbox"> + <div [attr.text-off]=nameOff [attr.text-on]=nameOn class="knobs"></div> + <div class="layer"></div> +</div> diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.scss b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.scss new file mode 100644 index 000000000..b29e9ae21 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.scss @@ -0,0 +1,176 @@ + +// Third +/* CSS rules are kept repetitive so that you can get CSS rules for each button easily :) */ + +* +{ + user-select: none; + -webkit-tap-highlight-color:transparent; +} + +*:focus +{ + outline: none; +} + +body +{ + font-family: Arial, Helvetica, sans-serif; + margin: 0; + background-color: #f1f9f9; +} + +#app-cover +{ + display: table; + width: 600px; + margin: 80px auto; + counter-reset: button-counter; +} + +.row +{ + display: table-row; +} + +.toggle-button-cover +{ + display: table-cell; + position: relative; + width: 200px; + height: 140px; + box-sizing: border-box; +} + +.button-cover +{ + height: 100px; + margin: 20px; + background-color: #fff; + box-shadow: 0 10px 20px -8px #c5d6d6; + border-radius: 4px; +} + +.button-cover:before +{ + counter-increment: button-counter; + content: counter(button-counter); + position: absolute; + right: 0; + bottom: 0; + color: #d7e3e3; + font-size: 12px; + line-height: 1; + padding: 5px; +} + +.button-cover, .knobs, .layer +{ + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; +} + +.button +{ + position: relative; + top: 50%; + width: 74px; + height: 36px; + margin: -20px auto 0 auto; + overflow: hidden; +} + +.button.r, .button.r .layer +{ + border-radius: 100px; +} + +.button.b2 +{ + border-radius: 50px; +} + +.checkbox +{ + position: relative; + width: 100%; + height: 100%; + padding: 0; + margin: 0; + opacity: 0; + cursor: pointer; + z-index: 3; +} + +.knobs +{ + z-index: 2; +} + +.layer +{ + width: 100%; + background-color: #ebf7fc; + transition: 0.3s ease all; + z-index: 1; +} + +/* Button 16 */ +#button-16 .knobs:before +{ + content: attr(text-off); + position: absolute; + top: 4px; + left: 4px; + width: 20px; + height: 10px; + color: #fff; + font-size: 10px; + font-weight: bold; + text-align: center; + line-height: 1; + padding: 9px 4px; + background-color: #03A9F4; + border-radius: 50px; + transition: 0.3s ease all, left 0.3s cubic-bezier(0.18, 0.89, 0.35, 1.15); +} + +#button-16 .checkbox:active + .knobs:before +{ + width: 46px; +} + +#button-16 .checkbox:checked:active + .knobs:before +{ + margin-left: -26px; +} + +#button-16 .checkbox:checked + .knobs:before +{ + content: attr(text-on); + left: 42px; + background-color: #F44336; +} + +#button-16 .checkbox:checked ~ .layer +{ + background-color: #fcebeb; +} + +#ytd-url { + display: block; + position: fixed; + right: 0; + bottom: 0; + padding: 10px 14px; + margin: 20px; + color: #fff; + font-size: 14px; + text-decoration: none; + background-color: #143240; + border-radius: 4px; + box-shadow: 0 10px 20px -5px rgba(20, 50, 64, 0.76); +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.spec.ts new file mode 100644 index 000000000..9b214dc16 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PastisToggleButtonComponent } from './pastis-toggle-button.component'; + +describe('PastisToggleButtonComponent', () => { + let component: PastisToggleButtonComponent; + let fixture: ComponentFixture<PastisToggleButtonComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ PastisToggleButtonComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(PastisToggleButtonComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.ts new file mode 100644 index 000000000..c4150b899 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.ts @@ -0,0 +1,33 @@ +import { Component, Input, OnInit, EventEmitter, Output } from '@angular/core'; +import { PastisToogleButtonService } from './services/pastis-toogle-button.service'; + +@Component({ + selector: 'pastis-toggle-button', + templateUrl: './pastis-toggle-button.component.html', + styleUrls: ['./pastis-toggle-button.component.scss'] +}) +export class PastisToggleButtonComponent implements OnInit { + + @Input() nameOn:string; + @Input() nameOff:string; + @Output() callBackFunction: EventEmitter<any> = new EventEmitter(); + + status:boolean + profileType:string; + constructor(private toogleService : PastisToogleButtonService) { } + + ngOnInit() { + this.toogleService.toggleButtonMode.subscribe(mode=>{ + this.status = mode; + }) + } + + checkToggle(event: any) { + event.target.checked ? this.toogleService.tooggleOn() : this.toogleService.tooggleOff(); + this.callBackFunction.emit(); + } + + + + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/services/pastis-toogle-button.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/services/pastis-toogle-button.service.spec.ts new file mode 100644 index 000000000..a5261e859 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/services/pastis-toogle-button.service.spec.ts @@ -0,0 +1,12 @@ +import { TestBed } from '@angular/core/testing'; + +import { PastisToogleButtonService } from './pastis-toogle-button.service'; + +describe('PastisToogleButtonService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: PastisToogleButtonService = TestBed.get(PastisToogleButtonService); + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/services/pastis-toogle-button.service.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/services/pastis-toogle-button.service.ts new file mode 100644 index 000000000..2bd28bffa --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/services/pastis-toogle-button.service.ts @@ -0,0 +1,20 @@ +import { Injectable } from '@angular/core'; +import { BehaviorSubject } from 'rxjs'; + +@Injectable({ + providedIn: 'root' +}) +export class PastisToogleButtonService { + + toggleButtonMode = new BehaviorSubject<boolean>(false); + constructor() { } + + tooggleOn(){ + this.toggleButtonMode.next(true); + } + + tooggleOff(){ + this.toggleButtonMode.next(false); + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.html b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.html new file mode 100644 index 000000000..494f4d91f --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.html @@ -0,0 +1,11 @@ +<img class="image" src="../../../assets/pastis-marseille.jpg"> +<article> + <h1>On y est presque...</h1> + <div> + <p style="text-align: justify; margin: 10px;">Nous sommes desolé pour l'inconvenience. + Nous travaillons pour améliorer la visualisation de cette page. + Si besoin, vous pouvez toujours <a href="mailto:dad_dev@cines.fr">nous contacter</a></p> + <br/><br/> + <p style="text-align: justify; margin: 10px;">L'équipe PASTIS</p> + </div> +</article> diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.scss b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.scss new file mode 100644 index 000000000..ba84077ae --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.scss @@ -0,0 +1,32 @@ +body { + text-align: center; +} +.image { + display: block; + margin-left: auto; + margin-right: auto; + width: 200px; + height: 200px; + border-radius: 50%; + +} +h1 { + font-size: 40px; + text-align: center; +} +body { + font: 20px Helvetica, sans-serif; color: #333; + background: cornsilk; + +} +article { + display: block; + text-align: left; + margin: 0 auto; +} +a { + color: #dc8100; text-decoration: none; +} +a:hover { + color: #333; text-decoration: none; +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.spec.ts new file mode 100644 index 000000000..afcaa47f6 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PastisUnderConstructionComponent } from './pastis-under-construction.component'; + +describe('PastisUnderConstructionComponent', () => { + let component: PastisUnderConstructionComponent; + let fixture: ComponentFixture<PastisUnderConstructionComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ PastisUnderConstructionComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(PastisUnderConstructionComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.ts new file mode 100644 index 000000000..c519d02f2 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.ts @@ -0,0 +1,52 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'pastis-under-construction', + templateUrl: './pastis-under-construction.component.html', + styleUrls: ['./pastis-under-construction.component.scss'] +}) +export class PastisUnderConstructionComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/shared.module.ts b/ui/ui-frontend/projects/pastis/src/app/shared/shared.module.ts new file mode 100644 index 000000000..c4db848fb --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/shared.module.ts @@ -0,0 +1,97 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; +import { PastisMaterialModule} from '../material.module' +import { PastisSpinnerComponent } from './pastis-spinner/pastis-spinner.component'; +import { PastisUnderConstructionComponent } from './pastis-under-construction/pastis-under-construction.component'; +import { PastisDialogConfirmComponent } from './pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component'; +import { PastisToggleButtonComponent } from './pastis-toggle-button/pastis-toggle-button.component'; +import { PastisNoticeToggleButtonComponent } from './pastis-notice-toggle-button/pastis-notice-toggle-button.component'; +import {MatSlideToggleModule} from '@angular/material/slide-toggle'; +import { PortalModule } from '@angular/cdk/portal'; +import { PastisPopupMetadataLanguageComponent } from './pastis-popup-metadata-language/pastis-popup-metadata-language.component'; +import { PastisBreadcrumbComponent } from './pastis-breadcrumb-components/pastis-breadcrumb/pastis-breadcrumb.component'; +import { PastisTitleBreadcrumbComponent } from './pastis-breadcrumb-components/pastis-title-breadcrumb/pastis-title-breadcrumb.component'; +import { TranslateModule } from '@ngx-translate/core'; +import { MatTooltipModule } from '@angular/material/tooltip'; +import { CenterMatmenuDirective } from '../profile/edit-profile/file-tree-metadata/center-matmenu.directive'; +import { PastisGenericPopupComponent } from './pastis-generic-popup/pastis-generic-popup.component'; +import { PastisPopupOptionComponent } from './pastis-popup-option/pastis-popup-option.component'; + +@NgModule({ + declarations: [ + PastisSpinnerComponent, + PastisUnderConstructionComponent, + PastisToggleButtonComponent, + PastisNoticeToggleButtonComponent, + CenterMatmenuDirective, + PastisPopupMetadataLanguageComponent, + PastisDialogConfirmComponent, + PastisBreadcrumbComponent, + PastisTitleBreadcrumbComponent, + PastisGenericPopupComponent, + PastisPopupOptionComponent + ], + imports: [CommonModule, + FormsModule, + MatTooltipModule, + PastisMaterialModule, + MatSlideToggleModule, + PortalModule, + TranslateModule + ], + entryComponents: [PastisDialogConfirmComponent, PastisUnderConstructionComponent], + exports: [ + PastisSpinnerComponent, + PastisUnderConstructionComponent, + MatTooltipModule, + PastisMaterialModule, + PastisToggleButtonComponent, + PastisNoticeToggleButtonComponent, + PastisDialogConfirmComponent, + CenterMatmenuDirective, + PastisPopupMetadataLanguageComponent, + PastisBreadcrumbComponent, + PastisTitleBreadcrumbComponent, + PastisGenericPopupComponent, + PastisPopupOptionComponent + ], +}) +export class SharedModule {} diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/add-metadata/add-metadata.component.html b/ui/ui-frontend/projects/pastis/src/app/user-actions/add-metadata/add-metadata.component.html new file mode 100644 index 000000000..20287b8c6 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/add-metadata/add-metadata.component.html @@ -0,0 +1,62 @@ +<div> + <!-- The input search --> + <div style="margin-bottom: 20px;"> + <vitamui-common-banner (search)="onSearchSubmit($event)" + [searchbarPlaceholder]="'USER_ACTION.ADD_METADATA.SEARCH_PLACEHOLDER' | translate"></vitamui-common-banner> + </div> + + <!-- The selected items --> + <div *ngIf="addedItems?.length > 0" class="pastis-container-selected-items"> + <div *ngFor="let item of addedItems;let i =index" style="display: inline-flex"> + <div class="selected-items-box"> + <span style="padding: 12px;"> + <i *ngIf="isElementComplex(item)" class="vitamui-icon vitamui-icon-arborescence"></i> + <span class="item-text">{{onResolveName(item)}}</span> + </span> + <mat-divider class="selected-items-separator" vertical></mat-divider> + <span (click)="onRemoveSelectedElement(item)" class="selected-items-close">×</span> + </div> + </div> + </div> + + <!-- The list of items to be selected--> + <mat-list *ngIf="allowedChildren?.length; else noItemsLeftToAdd" class="list-box-head"> + <span class="list-box-content-title"> + <span [ngStyle]="{'margin-top': atLeastOneIsSelected ? '40px' : '0px'}" + class="paragraph-metadata-subtitle">{{'USER_ACTION.ADD_METADATA.METADATA_ADD' | translate}}</span> + <i class="vitamui-icon vitamui-icon-chevron-down" style="margin-left: 20px; font-weight: bold;"></i> + </span> + <i class="vita"></i> + <mat-divider class="pastis-popup-separator"></mat-divider> + <mat-selection-list (ngModelChange)="selectSedaElement($event)" [disableRipple]="true" + [ngModel]="addedItems" class="list-box"> + <mat-list *ngFor="let element of allowedChildren | filterByName:filterName:sedaLanguage;" + class="list-item"> + <span class="list-box-content"> + <i *ngIf="isElementComplex(element)" class="vitamui-icon vitamui-icon-complex-element-1-1" + id="pastis-ico-complex-element"> + <span class="path1"></span><span class="path2"></span> + <span class="path3"></span><span class="path4"></span> + <span class="path5"></span> + </i> + + <span + [matTooltipShowDelay]="0" + class="text medium" + matTooltip={{getDefinition(element)}} + matTooltipClass="pastis-tooltip-class" + placement="right">{{onResolveName(element)}}</span> + </span> + <span (click)="onAddSelectedElement(element)" class="ajouter">{{'USER_ACTION.ADD_METADATA.BOUTON_AJOUTER' | translate}}</span> + <mat-divider class="pastis-popup-separator"></mat-divider> + + </mat-list> + </mat-selection-list> + </mat-list> + + <ng-template #noItemsLeftToAdd> + <p class="paragraph-metadata-subtitle" style="margin-top: 40px;"> + {{'USER_ACTION.ADD_METADATA.MESSAGE_PLUS_METADONNEE' | translate}}</p> + </ng-template> + +</div> diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/add-metadata/add-metadata.component.scss b/ui/ui-frontend/projects/pastis/src/app/user-actions/add-metadata/add-metadata.component.scss new file mode 100644 index 000000000..fda05e4d5 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/add-metadata/add-metadata.component.scss @@ -0,0 +1,165 @@ +@import '../../../assets/css/mixins'; +@import '../../../assets/css/font'; +@import '../../../assets/css/colors'; + +.filter-input-text { + width: 50%; + text-indent: 30px; + @extend .pastis-input-enabled; + box-shadow: 0px 0px 20px rgba(169, 169, 169, 0.3); +} + +.filter-input-text::placeholder { + @extend .pastis-input-placeholder-text; +} + +.paragraph-metadata-subtitle{ + font-family: Mulish; + font-style: normal; + font-weight: bold; + font-size: 14px; + line-height: 22px; + align-items: center; + letter-spacing: 0.1px; + color: var(--vitamui-grey-900); +} + +.vitamui-icon-arborescence:before { + color: #FFFFFF; +} + +.list-box{ + background: #FFFFFF; + box-sizing: border-box; + border-radius: 5px; + padding-top: 0px; + max-height: 256px; + overflow: auto; + outline: none; +} +mat-divider{ + height: 5px; + background-color: #F6F3FB; +} +.list-box-head{ + background: #FFFFFF; + border: 1px solid #DFDFDF; + box-sizing: border-box; + border-radius: 5px; + outline: none; +} + +.list-item{ + border-bottom: 1px solid #ECECEC; + //max-height: 50px; + padding-top: 0px; + background-color: #FFFFFF; + border-radius: 5px; +} + +.list-item:last-child{ + border-bottom : none; +} + +.item-text{ + vertical-align: middle; + padding-left: 4px; + font-family: Mulish; + font-style: normal; + font-weight: bold; + font-size: 14px; + line-height: 22px; + //display: flex; + align-items: center; + letter-spacing: 0.1px; +} + + +.selected-items-box { + height: 50px; + background-color:var(--vitamui-secondary-300); + border: 1px solid #9C31B5; + box-sizing: border-box; + border-radius: 10px; + vertical-align: middle; + // Positioning + margin: 0.4125em 0 0 0.4125em; + display: inline-flex; + text-align: center; + text-justify: auto; + vertical-align: middle; + color: #FFFFFF; + padding: 0px; +} + +.selected-items-close{ + padding-top: 12px; + margin: 0px 10px 0px 10px; + color: #FFFFFF; + font-weight: bold; + float: right; + font-size: 22px; + line-height: 20px; + cursor: pointer; + transition: 0.3s; +} + +.selected-items-close:hover { + @extend .pastis-black-medium; +} + + +.list-box-content{ + @extend .pastis-font-add-metadata-items; + margin-left: 59px; + color: #808080; +} +.list-box-content-title{ + @extend .pastis-font-add-metadata-items; + margin-left: 20px; + color: var(--vitamui-grey-900); +} + +.ajouter { + @extend .pastis-font-add-metadata-items; + color:var(--vitamui-primary); + float: right; + margin-right: 33px; + cursor:pointer; + text-decoration:underline; + height: 50px; + font-family: Mulish; + font-style: normal; + font-weight: bold; + font-size: 14px; + line-height: 22px; + /* identical to box height, or 157% */ + + display: flex; + align-items: center; + letter-spacing: 0.1px; + text-transform: uppercase; +} + +.ajouter:hover { + text-decoration:none; + //text-shadow: 1px 1px 1px #555; +} + +#pastis-ico-complex-element{ + margin-left: -39px; + margin-right: 22px; + vertical-align: middle; + display: inline-flex; +} + +.selected-items-separator{ + height: 49px; + width: 2px; + color: #FFFFFF; +} +.pastis-container-selected-items{ + position: relative; + text-align:justify; + bottom: 15px; +} diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/add-metadata/add-metadata.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/add-metadata/add-metadata.component.spec.ts new file mode 100644 index 000000000..e4560c761 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/add-metadata/add-metadata.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { UserActionAddMetadataComponent } from './add-metadata.component'; + +describe('UserActionAddMetadataComponent', () => { + let component: UserActionAddMetadataComponent; + let fixture: ComponentFixture<UserActionAddMetadataComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ UserActionAddMetadataComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(UserActionAddMetadataComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/add-metadata/add-metadata.component.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/add-metadata/add-metadata.component.ts new file mode 100644 index 000000000..1faf426ab --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/add-metadata/add-metadata.component.ts @@ -0,0 +1,202 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit, TemplateRef, Pipe, PipeTransform } from '@angular/core'; +import { SedaData, SedaElementConstants, SedaCardinalityConstants } from '../../models/seda-data'; +import { FileNode } from '../../models/file-node'; +import { FileService } from '../../core/services/file.service'; +import { SedaService } from '../../core/services/seda.service'; +import { MatDialogRef } from '@angular/material/dialog'; +import { PastisDialogConfirmComponent } from '../../shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component'; +import { PastisDialogData } from '../../shared/pastis-dialog/classes/pastis-dialog-data'; +import { PopupService } from '../../core/services/popup.service'; +import { Subscription } from 'rxjs'; +import { PastisPopupMetadataLanguageService } from '../../shared/pastis-popup-metadata-language/pastis-popup-metadata-language.service'; + +@Component({ + selector: 'pastis-user-action-add-metadata', + templateUrl: './add-metadata.component.html', + styleUrls: ['./add-metadata.component.scss'] +}) +export class UserActionAddMetadataComponent implements OnInit { + + btnIsDisabled: boolean; + + sedaData:SedaData; + allowedChildren : SedaData[]; + filterName:string; + namesFiltered: any = []; + sedaNodeFound: SedaData; + selectedSedaNode:SedaData; + addedItems:SedaData[] = []; + dialogData: PastisDialogData; + + atLeastOneIsSelected:boolean; + customTemplate:TemplateRef<any> + fileNode: FileNode; + sedaLanguage: boolean; + sedaLanguageSub: Subscription; + + + constructor(public dialogRef: MatDialogRef<PastisDialogConfirmComponent>, + private fileService:FileService, private sedaService:SedaService, + private popUpService: PopupService, private sedaLanguageService: PastisPopupMetadataLanguageService) { } + + ngOnInit() { + this.sedaLanguageSub = this.sedaLanguageService.sedaLanguage.subscribe( + (value: boolean) => { + this.sedaLanguage = value; + }, + (error) => { + console.log(error) + } + ); + this.fileService.nodeChange.subscribe(fileNode=>{this.fileNode = fileNode}) + this.sedaData = this.sedaService.sedaRules[0]; + + this.sedaNodeFound = this.fileNode.sedaData; + this.allowedChildren = this.sedaService.findSelectableElementList(this.sedaNodeFound,this.fileNode) + .filter(e=>e.Element !== SedaElementConstants.attribute); + + // Subscribe observer to button status and + // set the inital state of the ok button to disabled + this.popUpService.btnYesShoudBeDisabled.subscribe(status=>{ + this.btnIsDisabled = status; + }) + } + + selectSedaElement(selectedElements:string[]) { + if (selectedElements.length) { + this.selectedSedaNode = this.sedaService.getSedaNode(this.sedaData,selectedElements[0]); + } + } + + isElementSelected(element: SedaData){ + if (this.addedItems){ + return this.addedItems.includes(element); + } + } + + onRemoveSelectedElement(element: SedaData){ + let indexOfElement = this.addedItems.indexOf(element) + if (indexOfElement >= 0) { + this.addedItems.splice(indexOfElement, 1); + } + if (element.Cardinality !== (SedaCardinalityConstants.zeroOrMore || SedaCardinalityConstants.oreOrMore)) { + this.allowedChildren.push(element); + this.allowedChildren = this.allowedChildren.slice(0, this.allowedChildren.length); + } + let orderedNames = Object.values(this.allowedChildren); + this.allowedChildren.sort((a, b) => { + return orderedNames.indexOf(a) - orderedNames.indexOf(b) + }) + this.addedItems.length > 0 ? this.atLeastOneIsSelected = true : this.atLeastOneIsSelected = false + this.upateButtonStatusAndDataToSend(); + } + + onAddSelectedElement(element: SedaData){ + this.addedItems.push(element); + + if (element.Cardinality !== (SedaCardinalityConstants.zeroOrMore || SedaCardinalityConstants.oreOrMore)) { + this.allowedChildren = this.allowedChildren.filter(e => e != element); + } + this.addedItems.length > 0 ? this.atLeastOneIsSelected = true : this.atLeastOneIsSelected = false + this.upateButtonStatusAndDataToSend(); + } + + upateButtonStatusAndDataToSend(){ + this.popUpService.setPopUpDataOnClose(this.addedItems); + this.popUpService.disableYesButton(!this.atLeastOneIsSelected) + } + + onAllItemsAdded(){ + return this.allowedChildren.length === this.addedItems.length; + } + + isElementComplex(element: SedaData){ + if (element){ + return element.Element === SedaElementConstants.complex; + } + } + + getDefinition(element:SedaData):string { + return element ? element.Definition : ''; + } + + onYesClick(): void { + console.log("Clicked ok on dialog : %o" , this.selectedSedaNode); + + } + onNoClick(): void { + this.dialogRef.close(); + } + + public onSearchSubmit(search: string): void { + this.filterName = search; + } + onResolveName(element: SedaData):string { + if(this.sedaLanguage){ + return element.Name; + } + else{ + if(element.NameFr){ + return element.NameFr; + } + } + return element.Name; + } + ngOnDestroy(): void { + if(this.sedaLanguageSub != null){ + this.sedaLanguageSub.unsubscribe(); + } + } + +} + +@Pipe({name: 'filterByName'}) +export class FilterByNamePipe implements PipeTransform { + transform(listOfElements: SedaData[], nameToFilter: string, sedaLanguage: boolean): SedaData[] { + if(!listOfElements) return null; + if(!nameToFilter) return listOfElements; + if(sedaLanguage){ + return listOfElements.filter(element => element.Name != undefined).filter(element => element.Name.toLowerCase().indexOf(nameToFilter.toLowerCase()) >= 0); + }else{ + return listOfElements.filter(element => element.NameFr != undefined).filter(element => element.NameFr.toLowerCase().indexOf(nameToFilter.toLowerCase()) >= 0); + } + + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/create-notice/create-notice.component.html b/ui/ui-frontend/projects/pastis/src/app/user-actions/create-notice/create-notice.component.html new file mode 100644 index 000000000..d66354e7c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/create-notice/create-notice.component.html @@ -0,0 +1,79 @@ +<!-- Pastis dialog title qnd subtitle--> +<h2 class="pastis-dialog-config-title" matDialogTitle> + <i (click)="onNoClick()" class="vitamui-icon vitamui-icon-close icon-close"></i> + <p class="pastis-dialog-subtitle"><b>{{data.subTitleDialog}}</b></p> + <P class="pastis-dialog-title">{{data.titleDialog}}</P> +</h2> + +<form [formGroup]="form" (ngSubmit)="onSubmit()"> + + <div class="row"> + <div class="col-10 form-control"> + <vitamui-common-input *ngIf="modePUA" class="col-9 px-0" + placeholder="identifier" formControlName="identifier"> + </vitamui-common-input> + </div> + </div> + + <div class="row"> + <div class="col-10 form-control"> + <vitamui-common-input [(ngModel)]="identifier" class="col-9 px-0" formControlName="intitule" + placeholder="{{ 'PROFILE.POP_UP_CREATION_NOTICE.INTITULE' | translate }} "> + </vitamui-common-input> + </div> + </div> + + <div class="row"> + <div class="col-10 form-control"> + <vitamui-common-textarea formControlName="description" placeholder="{{ 'PROFILE.POP_UP_CREATION_NOTICE.DESCRIPTION' | translate }} " [rows]="4" style="width: 100%"> + </vitamui-common-textarea> + </div> + </div> + + <div *ngIf="modePUA" class="row"> + <div class=" col-10 form-control"> + <div class="d-flex justify-content-between align-items-center py-1 px-2 mb-2"> + <vitamui-common-slide-toggle [formControl]="presenceNonDeclareMetadonneesPUAControl"> + {{ 'PROFILE.POP_UP_CREATION_NOTICE.AUTORISER_PRESENCE_METADONNEES' | translate }} + </vitamui-common-slide-toggle> + <div> + <i class="vitamui-icon vitamui-icon-info primary clickable" + [matTooltip]=information + matTooltipClass="vitamui-tooltip"></i> + </div> + </div> + </div> + </div> + + + <div class="text-enregistrement"> + {{ 'PROFILE.POP_UP_CREATION_NOTICE.ENREGISTRER_ACTIF_INACTIF' | translate }} + </div> + + <mat-form-field class="vitamui-mat-select"> + <mat-select + panelclass="vitamui-mat-select" [(ngModel)]="selectedStatus" formControlName="selectedStatus"> + <mat-option *ngFor="let status of arrayStatus" [value]="status.value"> + {{status.viewValue}} + </mat-option> + </mat-select> + <div class="select-arrow"> + <i class="material-icons">keyboard_arrow_up</i> + <i class="material-icons">keyboard_arrow_down</i> + </div> + </mat-form-field> + + + <div class="btn-container"> + <mat-dialog-actions align="right" class="pastis-dialog-confirm-buttons"> + <button type="submit" [disabled]="identifier.length === 0 || identifier === undefined" + Class="pastis-btn-oui-dialog-confirm" + [ngStyle]="{'background': background()}" + >{{data.okLabel}} + </button> + <button type="button" class="pastis-btn-non-dialog-confirm" (click)="onCancel()">{{data.cancelLabel}}</button> + </mat-dialog-actions> + </div> + +</form> + diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/create-notice/create-notice.component.scss b/ui/ui-frontend/projects/pastis/src/app/user-actions/create-notice/create-notice.component.scss new file mode 100644 index 000000000..e240ad3ed --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/create-notice/create-notice.component.scss @@ -0,0 +1,212 @@ +@import '../../../assets/css/mixins'; + + +.icon-close { + text-align: right; + margin-top: 6px; + margin-right: 2%; + float: right; +} + +.text-enregistrement{ + position: static; + height: 22px; + left: 0px; + top: 0px; + + /* Text/Text-normal */ + font-family: Mulish; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 22px; + + /* identical to box height, or 157% */ + letter-spacing: 0.1px; + + /* Secondary/Secondary-900 */ + color: #050C15; + + /* Inside Auto Layout */ + + flex: none; + order: 0; + flex-grow: 0; + margin: 10px 0px; +} + +.pastis-dialog-confirm { + border-radius: 20px; + background-color: white; +} + +.pastis-dialog-config-title { + bottom: 10px; + position: relative; +} + +.pastis-dialog-confirm-divider { + position: relative; + max-width: 90%; + margin-left: 5%; + margin-top: 37px; + height: 3px; + border-radius: 20px; + border: none; + @extend .pastis-bg-primary-300; +} + +.pastis-dialog-title { + @extend .pastis-font-popup-title; + /* Positioning */ + position: relative; + margin-left: 5%; + margin-right: 40px; + margin-top: 10px; + font-family: Mulish; + font-style: normal; + font-weight: bold; + font-size: 20px; + line-height: 28px; + /* or 140% */ + + display: flex; + align-items: center; + color: var(--vitamui-grey-900); + +} + +.pastis-dialog-subtitle { + @extend .pastis-font-popup-subtitle; + /* Positioning */ + position: relative; + margin-left: 5%; + margin-right: 40px; + margin-bottom: 0px; + font-family: Mulish; + font-style: normal; + font-weight: normal; + font-size: 16px; + line-height: 24px; + color: var(--vitamui-grey-600); +} + +.pastis-dialog-content { + margin-right: 5%; + margin-left: 5%; + overflow: hidden; +} + +.pastis-input-custum { + /* Text Fields */ + + + /* Auto Layout */ + + display: flex; + flex-direction: column; + align-items: flex-start; + padding: 10px 15px; + + position: absolute; + width: 400px; + height: 60px; + left: 40px; + + /* Basics/White */ + + background: #FFFFFF; + /* Grey/Grey-300 */ + + border: 1px solid #E0E0E0; + box-sizing: border-box; + /* X_Dark/2dp-dark */ + + box-shadow: 0px 0px 2px rgba(33, 33, 33, 0.2), 0px 1px 4px rgba(33, 33, 33, 0.05); + border-radius: 5px; + +} + + +.pastis-dialog-confirm-buttons { + position: relative; + margin-left: 5%; + margin-bottom: 10px; +} + +.pastis-btn-oui-dialog-confirm { + //background: #9C31B5 !important; + + font-family: Mulish !important; + border-radius: 100px; + padding-left: 30px; + padding-right: 30px; + min-width: 92px; + height: 50px; + letter-spacing: 0.5px; + text-transform: uppercase; + @extend .pastis-btn-primary-enabled; +} + +.pastis-btn-oui-dialog-confirm:hover:not([disabled]) { + @extend .pastis-btn-primary-hover; +} + +.pastis-btn-oui-dialog-confirm:active { + @extend .pastis-btn-primary-focus; +} + +.pastis-btn-oui-dialog-confirm:disabled { + @extend .pastis-btn-primary-disabled; +} + +.pastis-btn-non-dialog-confirm { + padding-left: 30px; + padding-right: 30px; + min-width: 92px; + height: 50px; + margin-left: 24px; + border: 0px; + background-color: transparent; + color: var(--vitamui-grey-900); + font-family: Mulish; + font-style: normal; + font-weight: bold; + font-size: 14px; + line-height: 18px; + /* identical to box height, or 129% */ + + display: flex; + align-items: center; + letter-spacing: 0.5px; + text-transform: uppercase; + +} + +.pastis-btn-non-dialog-confirm:active { + border: 0px; +} + +.pastis-close-popup { + text-align: right; + margin-top: -13px; + margin-right: -3%; + float: right; +} + +.barre-et-croix { + position: relative; + left: 715px; + top: 31px; + width: 50px; +} + +.barre-et-croix-attributes { + @extend .barre-et-croix; + left: 95%; +} + +.barre-et-croix-delete { + @extend .barre-et-croix; + left: 600px; +} diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/create-notice/create-notice.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/create-notice/create-notice.component.spec.ts new file mode 100644 index 000000000..eb7c16ab4 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/create-notice/create-notice.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CreateNoticeComponent } from './create-notice.component'; + +describe('CreateNoticeComponent', () => { + let component: CreateNoticeComponent; + let fixture: ComponentFixture<CreateNoticeComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ CreateNoticeComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(CreateNoticeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/create-notice/create-notice.component.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/create-notice/create-notice.component.ts new file mode 100644 index 000000000..3c908c6f0 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/create-notice/create-notice.component.ts @@ -0,0 +1,158 @@ +import {Component, Inject, OnInit} from '@angular/core'; +import {PastisDialogData} from "../../shared/pastis-dialog/classes/pastis-dialog-data"; +import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material/dialog"; +import {PopupService} from "../../core/services/popup.service"; +import {FormBuilder, FormControl, FormGroup, Validators} from "@angular/forms"; +import {PastisDialogDataCreate} from "../save-profile/save-profile.component"; +import {LangChangeEvent, TranslateService} from "@ngx-translate/core"; +import {environment} from "../../../environments/environment"; + + +interface Status { + value: string; + viewValue: string; +} + +const POPUP_CREATION_CHOICE_PATH = 'PROFILE.POP_UP_CREATION_NOTICE.CHOICE'; + +function constantToTranslate() { + this.profilActif = this.translated('.PROFIL_ACTIF'); + this.profilInactif = this.translated('.PROFIL_INACTIF'); +} + +@Component({ + selector: 'create-notice', + templateUrl: './create-notice.component.html', + styleUrls: ['./create-notice.component.scss'] +}) +export class CreateNoticeComponent implements OnInit { + form: FormGroup; + stepIndex = 0; + btnIsDisabled: boolean; + dialogData: PastisDialogData; + isDisabledButton = false; + identifier:string = "" + + titleDialog: string; + subTitleDialog: string; + okLabel:string; + cancelLabel:string; + + selectedStatus: string; + arrayStatus: Status[] ; + typeProfile?: string; + modePUA: boolean; + information: string; + presenceNonDeclareMetadonneesPUAControl = new FormControl(false); + + profilActif :string; + profilInactif:string; + + isStandalone: boolean = environment.standalone; + + constructor(public dialogRef: MatDialogRef<CreateNoticeComponent>, + @Inject(MAT_DIALOG_DATA) public data: PastisDialogDataCreate, + private formBuilder: FormBuilder, + private translateService: TranslateService, + private popUpService: PopupService) { + + } + + ngOnInit() { + + if(!this.isStandalone){ + constantToTranslate.call(this); + this.translatedOnChange(); + } + else if(this.isStandalone) + { + this.profilActif = "Profil actif" + this.profilInactif = "Profil inactif" + } + this.arrayStatus= [ + {value: 'INACTIVE', viewValue:this.profilInactif}, + {value: 'ACTIVE', viewValue: this.profilActif} + ]; + this.typeProfile = this.data.modeProfile; + if(this.typeProfile ==="PUA") + this.modePUA=true; + this.information = "texte d'information" + let identifierForm = this.modePUA ? [null, Validators.required] : [null]; + this.form = this.formBuilder.group({ + identifier: identifierForm, + intitule: [null, Validators.required], + selectedStatus: [null], + description: [null], + autoriserPresenceMetadonnees : false + //TODO à implémenter + // this.keyPressSubscription = this.confirmDialogService.listenToEscapeKeyPress(this.dialogRef).subscribe(() => this.onCancel()); + }); + + + this.presenceNonDeclareMetadonneesPUAControl.valueChanges.subscribe((value) => { + this.form.controls.autoriserPresenceMetadonnees.setValue(value); + }); + + + // Subscribe observer to button status and + // set the inital state of the ok button to disabled + this.popUpService.btnYesShoudBeDisabled.subscribe(status=>{ + this.btnIsDisabled = status; + }) + } + + translatedOnChange(): void { + this.translateService.onLangChange + .subscribe((event: LangChangeEvent) => { + constantToTranslate.call(this); + console.log(event.lang); + }); + } + + translated(nameOfFieldToTranslate: string): string { + return this.translateService.instant(POPUP_CREATION_CHOICE_PATH + nameOfFieldToTranslate); + } + + onCancel() { +/* if (this.form.dirty) { + this.popUpService.confirmBeforeClosing(this.dialogRef); + } else {*/ + this.dialogRef.close(); + // } + } + + + + + upateButtonStatusAndDataToSend(){ + this.popUpService.setPopUpDataOnClose("test"); + this.popUpService.disableYesButton(true) + } + + + onNoClick(): void { + this.dialogRef.close(); + } + + + ngOnDestroy(): void { + + } + + background(): string{ + if(this.identifier.length === 0 || this.identifier === undefined) return 'grey' + else return '#9C31B5' + } + + onSubmit() { + if (this.form.invalid) { + this.isDisabledButton = true; + return; + } + this.isDisabledButton = true; + console.log(this.form.value) + this.dialogRef.close({ success: true, action: 'none', data:this.form.value, mode:this.typeProfile }); + } +} + + diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/download-doc/download-doc.component.html b/ui/ui-frontend/projects/pastis/src/app/user-actions/download-doc/download-doc.component.html new file mode 100644 index 000000000..cc8be4585 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/download-doc/download-doc.component.html @@ -0,0 +1,3 @@ +<button class="btn btn-circle secondary large" type="submit"> + <i class="material-icons">settings</i> +</button> diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/download-doc/download-doc.component.scss b/ui/ui-frontend/projects/pastis/src/app/user-actions/download-doc/download-doc.component.scss new file mode 100644 index 000000000..9a12d22bd --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/download-doc/download-doc.component.scss @@ -0,0 +1,18 @@ +@import "../../../assets/css/mixins"; +@import "../../../assets/css/layout"; + +.btn-rounded-setting { + @extend .pastis-btn-rounded-standard-secondary-enabled; + } + + .btn-rounded-setting:hover { + @extend .pastis-btn-rounded-standard-secondary-hover; + } + + .btn-rounded-setting:active { + @extend .pastis-btn-rounded-standard-secondary-focus; + } + + .ico-setting { + @extend .pastis-ico-svg; + } \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/download-doc/download-doc.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/download-doc/download-doc.component.spec.ts new file mode 100644 index 000000000..0aa1a239a --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/download-doc/download-doc.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { UserActionsDownloadDocComponent } from './download-doc.component'; + +describe('DownloadDocComponent', () => { + let component: UserActionsDownloadDocComponent; + let fixture: ComponentFixture<UserActionsDownloadDocComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ UserActionsDownloadDocComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(UserActionsDownloadDocComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/download-doc/download-doc.component.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/download-doc/download-doc.component.ts new file mode 100644 index 000000000..b55364f10 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/download-doc/download-doc.component.ts @@ -0,0 +1,52 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'pastis-user-action-download-doc', + templateUrl: './download-doc.component.html', + styleUrls: ['./download-doc.component.scss'] +}) +export class UserActionsDownloadDocComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/duplicate-metadata/duplicate-metadata.component.css b/ui/ui-frontend/projects/pastis/src/app/user-actions/duplicate-metadata/duplicate-metadata.component.css new file mode 100644 index 000000000..e69de29bb diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/duplicate-metadata/duplicate-metadata.component.html b/ui/ui-frontend/projects/pastis/src/app/user-actions/duplicate-metadata/duplicate-metadata.component.html new file mode 100644 index 000000000..e69de29bb diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/duplicate-metadata/duplicate-metadata.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/duplicate-metadata/duplicate-metadata.component.spec.ts new file mode 100644 index 000000000..cef09efb0 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/duplicate-metadata/duplicate-metadata.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { DuplicateMetadataComponent } from './duplicate-metadata.component'; + +describe('DuplicateMetadataComponent', () => { + let component: DuplicateMetadataComponent; + let fixture: ComponentFixture<DuplicateMetadataComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ DuplicateMetadataComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(DuplicateMetadataComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/duplicate-metadata/duplicate-metadata.component.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/duplicate-metadata/duplicate-metadata.component.ts new file mode 100644 index 000000000..e6e6e8dab --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/duplicate-metadata/duplicate-metadata.component.ts @@ -0,0 +1,22 @@ +import {Component, OnInit} from '@angular/core'; +import {MatDialogRef} from "@angular/material/dialog"; +import {PastisDialogConfirmComponent} from "../../shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component"; +import {PopupService} from "../../core/services/popup.service"; + +@Component({ + selector: 'duplicate-metadata', + templateUrl: './duplicate-metadata.component.html', + styleUrls: ['./duplicate-metadata.component.css'] +}) +export class DuplicateMetadataComponent implements OnInit { + dataToSend: string; + + constructor(public dialogRef: MatDialogRef<PastisDialogConfirmComponent>, + private popUpService: PopupService) { + } + + ngOnInit(): void { + this.popUpService.setPopUpDataOnClose(this.dialogRef.componentInstance.dialogReceivedData.fileNode.name); + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/remove-metadata/remove-metadata.component.html b/ui/ui-frontend/projects/pastis/src/app/user-actions/remove-metadata/remove-metadata.component.html new file mode 100644 index 000000000..e69de29bb diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/remove-metadata/remove-metadata.component.scss b/ui/ui-frontend/projects/pastis/src/app/user-actions/remove-metadata/remove-metadata.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/remove-metadata/remove-metadata.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/remove-metadata/remove-metadata.component.spec.ts new file mode 100644 index 000000000..ffc401c8e --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/remove-metadata/remove-metadata.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { UserActionRemoveMetadataComponent } from './remove-metadata.component'; + +describe('UserActionRemoveMetadataComponent', () => { + let component: UserActionRemoveMetadataComponent; + let fixture: ComponentFixture<UserActionRemoveMetadataComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ UserActionRemoveMetadataComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(UserActionRemoveMetadataComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/remove-metadata/remove-metadata.component.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/remove-metadata/remove-metadata.component.ts new file mode 100644 index 000000000..000e776b9 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/remove-metadata/remove-metadata.component.ts @@ -0,0 +1,58 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit } from '@angular/core'; +import { MatDialogRef } from '@angular/material/dialog'; +import { PastisDialogConfirmComponent } from '../../shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component'; +import { PopupService } from '../../core/services/popup.service'; + +@Component({ + selector: 'pastis-user-action-remove-metadata', + templateUrl: './remove-metadata.component.html', + styleUrls: ['./remove-metadata.component.scss'] +}) +export class UserActionRemoveMetadataComponent implements OnInit { + + dataToSend:string; + + constructor(public dialogRef: MatDialogRef<PastisDialogConfirmComponent>, + private popUpService: PopupService) { } + + ngOnInit() { + this.popUpService.setPopUpDataOnClose(this.dialogRef.componentInstance.dialogReceivedData.fileNode.name); + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile-options/save-profile-options.component.html b/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile-options/save-profile-options.component.html new file mode 100644 index 000000000..882a46602 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile-options/save-profile-options.component.html @@ -0,0 +1,32 @@ +<!-- Pastis dialog title qnd subtitle--> +<h2 class="pastis-dialog-config-title" matDialogTitle> + <i (click)="onNoClick()" class="vitamui-icon vitamui-icon-close icon-close"></i> + <p class="pastis-dialog-subtitle"><b>{{data.subTitleDialog}}</b></p> + <P class="pastis-dialog-title">{{data.titleDialog}}</P> +</h2> + +<div class="conteneur"> + + <div class="gauche"><pastis-generic-popup [firstChoice]="firstChoiceEnregistrement" [secondChoice]="secondChoiceEnregistrement" [title]="titleEnregistrement" (changeStatusEvent)="changeStatus($event)"> + </pastis-generic-popup> + </div> + + <div *ngIf="valueSelected"> + <div class="gauche"><pastis-generic-popup [secondPopup]="true" [firstChoice]="firstChoiceGestionNotice" [secondChoice]="secondChoiceGestionNotice" [title]="titleGestionNotice" (changeStatusEvent)="changeStatusGestionNoticeProfil($event)"> + </pastis-generic-popup> + </div> + + </div> +</div> + + +<div class="btn-container"> + <mat-dialog-actions align="right" class="pastis-dialog-confirm-buttons"> + <button type="submit" class="pastis-btn-oui-dialog-confirm" (click)="onYesClick()">{{data.okLabel}} + </button> + <button type="button" class="pastis-btn-non-dialog-confirm" (click)="onCancel()">{{data.cancelLabel}}</button> + </mat-dialog-actions> +</div> + + + diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile-options/save-profile-options.component.scss b/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile-options/save-profile-options.component.scss new file mode 100644 index 000000000..3647be6a6 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile-options/save-profile-options.component.scss @@ -0,0 +1,229 @@ +@import '../../../assets/css/mixins'; + +@import '../../shared/pastis-generic-popup/pastis-generic-popup.component.scss'; + +.pastis-vitamui-language-fr-button-selected { +} +.pastis-vitamui-language-fr-button{ + +} +.pastis-vitamui-language-seda-button-selected { +} +.pastis-vitamui-language-seda-button{ + width: 200px !important; +} + +.pastis-vitamui-language-seda-choice{ +} + + + +.icon-close { + text-align: right; + margin-top: 6px; + margin-right: 2%; + float: right; +} + +.text-enregistrement{ + position: static; + height: 22px; + left: 0px; + top: 0px; + + /* Text/Text-normal */ + font-family: Mulish; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 22px; + + /* identical to box height, or 157% */ + letter-spacing: 0.1px; + + /* Secondary/Secondary-900 */ + color: #050C15; + + /* Inside Auto Layout */ + + flex: none; + order: 0; + flex-grow: 0; + margin: 10px 0px; +} + +.pastis-dialog-confirm { + border-radius: 20px; + background-color: white; +} + +.pastis-dialog-config-title { + bottom: 10px; + position: relative; +} + +.pastis-dialog-confirm-divider { + position: relative; + max-width: 90%; + margin-left: 5%; + margin-top: 37px; + height: 3px; + border-radius: 20px; + border: none; + @extend .pastis-bg-primary-300; +} + +.pastis-dialog-title { + @extend .pastis-font-popup-title; + /* Positioning */ + position: relative; + margin-left: 5%; + margin-right: 40px; + margin-top: 10px; + font-family: Mulish; + font-style: normal; + font-weight: bold; + font-size: 20px; + line-height: 28px; + /* or 140% */ + + display: flex; + align-items: center; + color: var(--vitamui-grey-900); + +} + +.pastis-dialog-subtitle { + @extend .pastis-font-popup-subtitle; + /* Positioning */ + position: relative; + margin-left: 5%; + margin-right: 40px; + margin-bottom: 0px; + font-family: Mulish; + font-style: normal; + font-weight: normal; + font-size: 16px; + line-height: 24px; + color: var(--vitamui-grey-600); +} + +.pastis-dialog-content { + margin-right: 5%; + margin-left: 5%; + overflow: hidden; +} + +.pastis-input-custum { + /* Text Fields */ + + + /* Auto Layout */ + + display: flex; + flex-direction: column; + align-items: flex-start; + padding: 10px 15px; + + position: absolute; + width: 400px; + height: 60px; + left: 40px; + + /* Basics/White */ + + background: #FFFFFF; + /* Grey/Grey-300 */ + + border: 1px solid #E0E0E0; + box-sizing: border-box; + /* X_Dark/2dp-dark */ + + box-shadow: 0px 0px 2px rgba(33, 33, 33, 0.2), 0px 1px 4px rgba(33, 33, 33, 0.05); + border-radius: 5px; + +} + + +.pastis-dialog-confirm-buttons { + position: relative; + margin-left: 5%; + margin-bottom: 10px; +} + +.pastis-btn-oui-dialog-confirm { + background: #9C31B5 !important; + + font-family: Mulish !important; + border-radius: 100px; + padding-left: 30px; + padding-right: 30px; + min-width: 92px; + height: 50px; + letter-spacing: 0.5px; + text-transform: uppercase; + @extend .pastis-btn-primary-enabled; +} + +.pastis-btn-oui-dialog-confirm:hover:not([disabled]) { + @extend .pastis-btn-primary-hover; +} + +.pastis-btn-oui-dialog-confirm:active { + @extend .pastis-btn-primary-focus; +} + +.pastis-btn-oui-dialog-confirm:disabled { + @extend .pastis-btn-primary-disabled; +} + +.pastis-btn-non-dialog-confirm { + padding-left: 30px; + padding-right: 30px; + min-width: 92px; + height: 50px; + margin-left: 24px; + border: 0px; + background-color: transparent; + color: var(--vitamui-grey-900); + font-family: Mulish; + font-style: normal; + font-weight: bold; + font-size: 14px; + line-height: 18px; + /* identical to box height, or 129% */ + + display: flex; + align-items: center; + letter-spacing: 0.5px; + text-transform: uppercase; + +} + +.pastis-btn-non-dialog-confirm:active { + border: 0px; +} + +.pastis-close-popup { + text-align: right; + margin-top: -13px; + margin-right: -3%; + float: right; +} + +.barre-et-croix { + position: relative; + left: 715px; + top: 31px; + width: 50px; +} + +.barre-et-croix-attributes { + @extend .barre-et-croix; + left: 95%; +} + +.barre-et-croix-delete { + @extend .barre-et-croix; + left: 600px; +} diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile-options/save-profile-options.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile-options/save-profile-options.component.spec.ts new file mode 100644 index 000000000..f837eed55 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile-options/save-profile-options.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SaveProfileOptionsComponent } from './save-profile-options.component'; + +describe('SaveProfileOptionsComponent', () => { + let component: SaveProfileOptionsComponent; + let fixture: ComponentFixture<SaveProfileOptionsComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ SaveProfileOptionsComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(SaveProfileOptionsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile-options/save-profile-options.component.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile-options/save-profile-options.component.ts new file mode 100644 index 000000000..cb78adcfa --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile-options/save-profile-options.component.ts @@ -0,0 +1,120 @@ +import {Component, Inject, OnInit} from '@angular/core'; +import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material/dialog"; +import {PastisDialogData} from "../../shared/pastis-dialog/classes/pastis-dialog-data"; +import {LangChangeEvent, TranslateService} from "@ngx-translate/core"; +import {environment} from "../../../environments/environment"; + +const POP_UP_SAVE_CHOICE_PATH = 'PROFILE.POP_UP_SAVE.CHOICE'; + +function constantToTranslate() { + this.firstChoiceEnregistrement = this.translated('.FIRST_CHOICE_ENREGISTREMENT'); + this.secondChoiceEnregistrement = this.translated('.SECOND_CHOICE_ENREGISTREMENT'); + this.titleEnregistrement = this.translated('.TITLE_ENREGISTREMENT'); + this.firstChoiceGestionNotice = this.translated('.FIRST_CHOICE_GESTION_NOTICE'); + this.secondChoiceGestionNotice = this.translated('.SECOND_CHOICE_GESTION_NOTICE'); + this.titleGestionNotice = this.translated('.TITLE_GESTION_NOTICE'); + + this.okLabelNext = this.translated('.ENREGISTREMENT_OK_LABEL_NEXT'); + this.okLabelTerminate = this.translated('.ENREGISTREMENT_OK_LABEL_TERMINATE'); +} + +@Component({ + selector: 'save-profile-options', + templateUrl: './save-profile-options.component.html', + styleUrls: ['./save-profile-options.component.scss'] +}) +export class SaveProfileOptionsComponent implements OnInit { + firstChoiceEnregistrement :string; + secondChoiceEnregistrement :string; + titleEnregistrement :string; + + firstChoiceGestionNotice :string; + secondChoiceGestionNotice:string; + titleGestionNotice : string; + + okLabelTerminate:string; + okLabelNext:string; + + valueSelected: boolean + gestionNotice: boolean + isStandalone: boolean = environment.standalone; + + + constructor(public dialogRef: MatDialogRef<SaveProfileOptionsComponent>,private translateService: TranslateService, + @Inject(MAT_DIALOG_DATA) public data: PastisDialogData) { + } + + ngOnInit(): void { + if(!this.isStandalone){ + constantToTranslate.call(this); + this.translatedOnChange(); + } + else if(this.isStandalone) + { + this.firstChoiceEnregistrement = 'Local'; + this.secondChoiceEnregistrement = 'SAE'; + this.titleEnregistrement = 'Où souhaitez-vous l’enregistrer ?'; + + this.firstChoiceGestionNotice = 'Création d\'une nouvelle notice'; + this.secondChoiceGestionNotice = 'Rattachement à une notice existante'; + this.titleGestionNotice = 'Gestion de la notice du profil'; + + this.okLabelTerminate = "TERMINER"; + this.okLabelNext = "SUIVANT"; + } + this.valueSelected = false; + this.gestionNotice = true; + console.log(this.data.modeProfile + " type de profile test "); + + } + + translatedOnChange(): void { + this.translateService.onLangChange + .subscribe((event: LangChangeEvent) => { + constantToTranslate.call(this); + console.log(event.lang); + }); + } + + translated(nameOfFieldToTranslate: string): string { + return this.translateService.instant(POP_UP_SAVE_CHOICE_PATH + nameOfFieldToTranslate); + } + + changeStatus($event: string) { + console.log($event) + if ($event == this.secondChoiceEnregistrement) { + this.data.okLabel = this.okLabelNext; + this.valueSelected = true; + } else { + this.data.okLabel = this.okLabelTerminate; + this.valueSelected = false; + } + } + + changeStatusGestionNoticeProfil($event: string) { + console.log($event) + if ($event == this.firstChoiceGestionNotice) + this.gestionNotice = true; + else { + this.gestionNotice = false; + } + } + + onNoClick() { + this.dialogRef.close(); + } + + onCancel() { + this.dialogRef.close(); + } + + onYesClick() { + if (this.valueSelected && this.gestionNotice) { + this.dialogRef.close({success: true, action: 'creation'}); + } else if (!this.valueSelected) { + this.dialogRef.close({success: true, action: 'local'}); + } else if (this.valueSelected && !this.gestionNotice) { + this.dialogRef.close({success: true, action: 'rattachement'}); + } + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile/save-profile.component.html b/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile/save-profile.component.html new file mode 100644 index 000000000..95b0a74e9 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile/save-profile.component.html @@ -0,0 +1,3 @@ +<button (click)="saveProfileToFile()" class="btn btn-circle primary large" type="submit"> + <i class="material-icons">save</i> +</button> diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile/save-profile.component.scss b/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile/save-profile.component.scss new file mode 100644 index 000000000..a476f9fa7 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile/save-profile.component.scss @@ -0,0 +1,21 @@ +@import "../../../assets/css/mixins"; +@import "../../../assets/css/layout"; +@import "../../../assets/css/colors"; +@import "../../../assets/css/font"; +@import "../../../assets/css/buttons"; + +.pastis-btn-rounded-save { + @extend .pastis-btn-rounded-standard-primary-enabled; + } + + .pastis-btn-rounded-save:hover { + @extend .pastis-btn-rounded-standard-primary-hover; + } + + .pastis-btn-rounded-save:active { + @extend .pastis-btn-rounded-standard-primary-focus; + } + + .pastis-ico-save { + @extend .pastis-ico-svg; + } \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile/save-profile.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile/save-profile.component.spec.ts new file mode 100644 index 000000000..62eb5522d --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile/save-profile.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { UserActionSaveProfileComponent } from './save-profile.component'; + +describe('UserActionOpenProfileComponent', () => { + let component: UserActionSaveProfileComponent; + let fixture: ComponentFixture<UserActionSaveProfileComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ UserActionSaveProfileComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(UserActionSaveProfileComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile/save-profile.component.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile/save-profile.component.ts new file mode 100644 index 000000000..e200f6990 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/save-profile/save-profile.component.ts @@ -0,0 +1,402 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import {Component, EventEmitter, OnDestroy, OnInit, Output} from '@angular/core'; +import {ProfileService} from '../../core/services/profile.service'; +import {FileService} from '../../core/services/file.service'; +import {FileNode} from '../../models/file-node'; +import {PastisDialogData} from "../../shared/pastis-dialog/classes/pastis-dialog-data"; +import {Subscription} from "rxjs"; +import {DataGeneriquePopupService} from '../../shared/data-generique-popup.service'; +import {MatDialog} from "@angular/material/dialog"; +import {CreateNoticeComponent} from "../create-notice/create-notice.component"; +import {SaveProfileOptionsComponent} from "../save-profile-options/save-profile-options.component"; +import {stringify} from "querystring"; +import {ArchivalProfileUnit} from "../../models/archival-profile-unit"; +import {Profile} from "../../models/profile"; +import {ProfileDescription} from "../../models/profile-description.model"; +import {LangChangeEvent, TranslateService} from "@ngx-translate/core"; +import {environment} from "../../../environments/environment"; + +export interface PastisDialogDataCreate { + height: string; + titleDialog: string; + subTitleDialog: string; + okLabel: string; + cancelLabel: string; + modeProfile?: string; +} + +const POPUP_SAVE_PATH = 'PROFILE.POP_UP_SAVE'; + +function constantToTranslate() { + this.popupSaveCancelLabel = this.translated('.SAVE_PROFILE.POPUP_SAVE_CANCEL_LABEL'); + this.popupSaveTitleDialog = this.translated('.SAVE_PROFILE.POPUP_SAVE_TITLE_DIALOG'); + this.popupSaveSubTitleDialog = this.translated('.SAVE_PROFILE.POPUP_SAVE_SUBTITLE_DIALOG'); + this.popupSaveOkLabel = this.translated('.SAVE_PROFILE.POPUP_SAVE_OK_LABEL'); + + this.popupSaveCreateNoticeCancelLabel = this.translated('.SAVE_PROFILE.POPUP_CREATE_NOTICE_CANCEL_LABEL'); + this.popupSaveCreateNoticeTitleDialog = this.translated('.SAVE_PROFILE.POPUP_CREATE_NOTICE_TITLE_DIALOG'); + this.popupSaveCreateNoticeSubTitleDialog = this.translated('.SAVE_PROFILE.POPUP_CREATE_NOTICE_SUBTITLE_DIALOG'); + this.popupSaveCreateNoticeOkLabel = this.translated('.SAVE_PROFILE.POPUP_CREATE_NOTICE_OK_LABEL'); +} + +@Component({ + selector: 'pastis-user-action-save-profile', + templateUrl: './save-profile.component.html', + styleUrls: ['./save-profile.component.scss'] +}) +export class UserActionSaveProfileComponent implements OnInit, OnDestroy { + popupSaveCancelLabel:string; + popupSaveTitleDialog:string; + popupSaveSubTitleDialog:string; + popupSaveOkLabel:string; + + popupSaveCreateNoticeCancelLabel:string; + popupSaveCreateNoticeTitleDialog :string; + popupSaveCreateNoticeSubTitleDialog :string; + popupSaveCreateNoticeOkLabel :string; + + isStandalone: boolean = environment.standalone; + + data: FileNode[] = []; + donnees: string[]; + + subscription1$: Subscription; + subscription2$: Subscription; + subscriptions: Subscription[] = []; + + archivalProfileUnit: ArchivalProfileUnit; + profile: Profile; + + profileDescription: ProfileDescription; + profileDescriptionBis: ProfileDescription; + fileRng : File; + + @Output() close = new EventEmitter(); + + constructor(private profileService: ProfileService, private fileService: FileService, private dataGeneriquePopupService: DataGeneriquePopupService, private translateService: TranslateService,public dialog: MatDialog) { + } + + + ngOnInit() { + if(!this.isStandalone){ + constantToTranslate.call(this); + this.translatedOnChange(); + } + else if(this.isStandalone) + { + this.popupSaveCancelLabel = "ANNULER" + this.popupSaveTitleDialog = "Sélectionner les options de votre enregistrement" + this.popupSaveSubTitleDialog = "Enregistrement" + this.popupSaveOkLabel = "VALIDER" + this.popupSaveCreateNoticeCancelLabel = "PRECEDENT" + this.popupSaveCreateNoticeTitleDialog = "Rédiger la notice de profil" + this.popupSaveCreateNoticeSubTitleDialog = "Enregistrement" + this.popupSaveCreateNoticeOkLabel = "TERMINER" + } + + this.dataGeneriquePopupService.currentDonnee.subscribe(donnees => this.donnees = donnees); + } + + translatedOnChange(): void { + this.translateService.onLangChange + .subscribe((event: LangChangeEvent) => { + constantToTranslate.call(this); + console.log(event.lang); + }); + } + + translated(nameOfFieldToTranslate: string): string { + return this.translateService.instant(POPUP_SAVE_PATH + nameOfFieldToTranslate); + } + + + saveProfileToFile() { + //Retrieve the current file tree data as a JSON + this.data = this.fileService.allData.getValue(); + if(this.isStandalone){ + this.sendToProfile(); + } + else { + let donnees = ['Local', 'SAE', 'Où souhaitez-vous l\'enregistrer ?']; + this.dataGeneriquePopupService.changeDonnees(donnees) + + let dataToSendToPopUp = <PastisDialogData>{}; + dataToSendToPopUp.titleDialog = this.popupSaveTitleDialog; + dataToSendToPopUp.subTitleDialog = this.popupSaveSubTitleDialog; + dataToSendToPopUp.width = '800px'; + dataToSendToPopUp.height = '800px'; + dataToSendToPopUp.okLabel = this.popupSaveOkLabel; + dataToSendToPopUp.cancelLabel = this.popupSaveCancelLabel; + const dialogRef = this.dialog.open(SaveProfileOptionsComponent, { + width: '800px', + panelClass: 'pastis-popup-modal-box', + data: dataToSendToPopUp + } + ); + dialogRef.afterClosed().subscribe((result) => { + if (result.success && result.action === 'local') { + console.log("On export button saveProfileToFile with current data %o", this.fileService.nodeChange.getValue()); + this.sendToProfile(); + + } else if (result.success && result.action === 'creation') { + + let modeProfile = this.profileService.profileMode; + let dataToSendToPopUp = <PastisDialogDataCreate>{}; + dataToSendToPopUp.titleDialog = this.popupSaveCreateNoticeTitleDialog; + dataToSendToPopUp.subTitleDialog = this.popupSaveCreateNoticeSubTitleDialog; + dataToSendToPopUp.okLabel = this.popupSaveCreateNoticeOkLabel; + dataToSendToPopUp.cancelLabel = this.popupSaveCreateNoticeCancelLabel; + dataToSendToPopUp.modeProfile = modeProfile; + const dialogRef = this.dialog.open(CreateNoticeComponent, { + width: '800px', + panelClass: 'pastis-popup-modal-box', + data: dataToSendToPopUp + } + ); + dialogRef.afterClosed().subscribe((result) => { + let retour; + if (result.success) { + console.log(result.data + " retour de creation") + retour = result.data + console.log(stringify(retour) + "test retour " + result.mode) + //TODO : Vérifier mode PA PUA : faire la pop up de sauvegarde qui envoie un pa ou un pua avec modele à completer par le retour + if (result.mode === "PUA") { + console.log("je suis sur un enregistrement d'un PUA") + + class ProfileDescriptionModel implements ProfileDescription { + activationDate: string; + controlSchema: string; + creationDate: string; + deactivationDate: string; + description: string; + fields: string[]; + format: string; + id: string; + identifier: string; + lastUpdate: string; + name: string; + path: string; + status: string; + tenant: number; + type: string; + version: number; + } + + let profileDescription = new ProfileDescriptionModel(); + profileDescription.identifier = retour.identifier; + profileDescription.name = retour.intitule; + profileDescription.description = retour.description; + profileDescription.status = retour.selectedStatus; + + this.profileDescription = Object.assign(profileDescription, this.profileDescription) + console.log(JSON.stringify(this.profileDescription) + "archival unit profile object") + + + this.profileService.uploadFile(this.data, this.profileDescription, result.mode).subscribe(retrievedData => { + retrievedData.text().then(result => { + let jsonObject = JSON.parse(result); + this.archivalProfileUnit = jsonObject as unknown as ArchivalProfileUnit; + console.log(JSON.stringify(this.archivalProfileUnit) + " Pua en cours de création") + // Creation PUA + this.profileService.createArchivalUnitProfile(this.archivalProfileUnit).subscribe(() => { + console.log("ok create") + }, (error: any) => { + console.error(error); + }) + }); + }); + + } else if (result.mode === "PA") { + console.log("Je suis sur un enregistrmeent d'un PA") + console.log(retour.identifier) + + class ProfileModel implements Profile { + activationdate: string; + baseName: string; + controlSchema: string; + creationdate: string; + deactivationdate: string; + description: string; + fields: string[]; + fileName: string; + format: string; + id: string; + identifier: string; + lastModified: string; + lastupdate: string; + name: string; + path: string; + status: string; + tenant: number; + type: string; + version: number; + } + + let profile = new ProfileModel(); + profile.identifier = retour.identifier; + profile.name = retour.intitule; + profile.description = retour.description; + profile.status = retour.selectedStatus; + profile.format = 'RNG'; + class ProfileDescriptionModel implements ProfileDescription { + activationDate: string; + controlSchema: string; + creationDate: string; + deactivationDate: string; + description: string; + fields: string[]; + format: string; + id: string; + identifier: string; + lastUpdate: string; + name: string; + path: string; + status: string; + tenant: number; + type: string; + version: number; + } + + let profileDescription = new ProfileDescriptionModel(); + profileDescription.identifier = retour.identifier; + profileDescription.description = retour.description; + profileDescription.status = retour.selectedStatus; + + + //CREER NOTICE PUIS ASSIGNER LE PROFIL A LA NOTICE + console.error("Before " + JSON.stringify(this.profile)) + this.profile = Object.assign(profile, this.profile) + console.error("After " + JSON.stringify(this.profile)) + this.profileDescription = Object.assign(profileDescription, this.profileDescription) + console.log(JSON.stringify(this.profile) + "profile object") + + //STEP 1 : Create Notice + this.profileService.createProfilePa(this.profile).subscribe((createdProfile) => { + if(createdProfile){ + //STEP 2 : ASSIGNER LE PROFIL A LA NOTICE + this.profileService.uploadFile(this.data, this.profileDescription, this.profileService.profileMode).subscribe(retrievedData => { + console.log("Data profile service: " + retrievedData) + console.log('New updated data: ', this.data); + console.log('Data: ', retrievedData); + let fichierName = this.profile.name + "pastis" + console.log(fichierName + "fichier name") + var myFile = this.blobToFile(retrievedData, "file"); + console.log( myFile + " file" + typeof myFile + "type") + this.profileService.updateProfileFilePa(createdProfile, myFile).subscribe(() => { + //this.router.navigate(['']); + }, + ) + }); + } + + }, (error: any) => { + console.error(error); + }) + } + } + }); + } else if (result.success && result.action === 'rattachement') { + //TODO Pop up Rattachement + } + }); + } + } + + + public blobToFile = (theBlob: Blob, fileName: string): File => { + var b: any = theBlob; + b.lastModifiedDate = new Date(); + b.name = fileName; + //Cast to a File() type + return <File>theBlob; + } + + downloadFile(dataFile: any): void { + console.debug("Profile mode : ", this.profileService.profileMode) + let typeFile = this.profileService.profileMode === "PA" ? 'application/xml' : 'application/json'; + const newBlob = new Blob([dataFile], {type: typeFile}); + if (window.navigator && window.navigator.msSaveOrOpenBlob) { + window.navigator.msSaveOrOpenBlob(newBlob); + return; + } + const data = window.URL.createObjectURL(newBlob); + const link = document.createElement('a'); + link.href = data; + link.download = this.profileService.profileMode === "PA" ? 'pastis_profile.rng' : 'pastis.json'; + // this is necessary as link.click() does not work on the latest firefox + link.dispatchEvent(new MouseEvent('click', {bubbles: true, cancelable: true, view: window})); + setTimeout(() => { + // For Firefox it is necessary to delay revoking the ObjectURL + window.URL.revokeObjectURL(data); + link.remove(); + }, 100); + } + + sendToProfile(): void{ + if (this.data) { + console.debug("Profile type on: ", this.profileService.profileMode) + // Get Notice changement + let notice: any; + if (this.profileService.profileMode === "PUA") { + this.fileService.notice.subscribe( + (value: any) => { + notice = value; + }, + (error) => { + console.log(error) + } + ) + } + // Send the retrieved JSON data to profile service + this.subscription2$ = this.profileService.uploadFile(this.data, notice, this.profileService.profileMode).subscribe(retrievedData => { + console.log("Data profile service: " + retrievedData) + console.log('New updated data: ', this.data); + console.log('Data: ', retrievedData); + this.downloadFile(retrievedData); + }); + this.subscriptions.push(this.subscription2$) + } + + } + + + ngOnDestroy(): void { + this.subscriptions.forEach((subscriptions) => subscriptions.unsubscribe()); + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/upload-profile/upload-profile.component.html b/ui/ui-frontend/projects/pastis/src/app/user-actions/upload-profile/upload-profile.component.html new file mode 100644 index 000000000..b5f58be28 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/upload-profile/upload-profile.component.html @@ -0,0 +1,9 @@ +<button (click)="fileInput.click()" class="pastis-btn-rounded-save"> + <mat-icon class="pastis-ico-open">folder_open</mat-icon> + <input #fileInput (change)="uploadAndReload($event)" [uploader]="uploader" + accept=".rng" + class="buttons" ng2FileSelect + style="display:none;" + type="file"/> +</button> + diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/upload-profile/upload-profile.component.scss b/ui/ui-frontend/projects/pastis/src/app/user-actions/upload-profile/upload-profile.component.scss new file mode 100644 index 000000000..bbb734755 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/upload-profile/upload-profile.component.scss @@ -0,0 +1,63 @@ +@import "../../../assets/css/mixins"; +@import "../../../assets/css/layout"; + + +.buttons { + position: relative; + height: 35px; + @extend .pastis-secondary-300; + @extend .pastis-btn-leading-enabled; + vertical-align: middle; + } + + .buttons:hover { + position: relative; + height: 35px; + @extend .pastis-secondary-300; + @extend .pastis-btn-leading-hover + } + + .buttons-disabled { + position: relative; + height: 35px; + //color + @extend .pastis-secondary-disabled; + //button + @extend .pastis-btn-leading-disabled + } + + .buttons:focus { + position: relative; + height: 35px; + @extend .pastis-secondary-300; + @extend .pastis-btn-leading-focus + } + + +.button-text{ + text-align: center; + vertical-align: super; + margin: auto; +} + + +.pastis-btn-rounded-save { + @extend .pastis-btn-rounded-standard-primary-enabled; +} + +.pastis-btn-rounded-save:hover { + @extend .pastis-btn-rounded-standard-primary-hover; +} + +.pastis-btn-rounded-save:active { + @extend .pastis-btn-rounded-standard-primary-focus; +} + +.pastis-ico-save { + @extend .pastis-ico-svg; +} + +.pastis-ico-open { + @extend .pastis-ico-svg; + color:white; +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/upload-profile/upload-profile.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/upload-profile/upload-profile.component.spec.ts new file mode 100644 index 000000000..45d8ea08d --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/upload-profile/upload-profile.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { UserActionUploadProfileComponent } from './upload-profile.component'; + +describe('UserActionUploadComponent', () => { + let component: UserActionUploadProfileComponent; + let fixture: ComponentFixture<UserActionUploadProfileComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ UserActionUploadProfileComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(UserActionUploadProfileComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/upload-profile/upload-profile.component.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/upload-profile/upload-profile.component.ts new file mode 100644 index 000000000..6b43bfcf5 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/upload-profile/upload-profile.component.ts @@ -0,0 +1,81 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit, Input } from '@angular/core'; +import { FileUploader } from 'ng2-file-upload'; +import { FileService } from '../../core/services/file.service'; +import { ProfileService } from '../../core/services/profile.service'; + + +const URL = 'http://localhost:8080/rest/createprofilefromfile'; + +@Component({ + selector: 'pastis-user-action-upload', + templateUrl: './upload-profile.component.html', + styleUrls: ['./upload-profile.component.scss'] +}) +export class UserActionUploadProfileComponent implements OnInit { + + @Input() + uploader: FileUploader = new FileUploader({url: URL}); + fileToUpload: File = null; + + constructor(private profileService: ProfileService,private fileService: FileService) { } + + ngOnInit() { + } + + handleFileInput(files: FileList) { + this.fileToUpload = files.item(0); + } + + uploadAndReload(event: any) { + const fileList: FileList = event.target.files; + this.handleFileInput(fileList); + if (this.fileToUpload) { + const formData = new FormData(); + formData.append('file', this.fileToUpload, this.fileToUpload.name); + this.profileService.uploadProfile(formData).subscribe( fileData => { + if (fileData) { + console.log('File submited! : ', fileData); + this.fileService.updateTreeWithProfile(fileData); + } + }); + } + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/user-actions.module.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-actions.module.ts new file mode 100644 index 000000000..0b0713892 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-actions.module.ts @@ -0,0 +1,78 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import {NgModule} from '@angular/core'; +import {CommonModule} from '@angular/common'; +import {FileUploadModule} from 'ng2-file-upload'; +import {UserActionUploadProfileComponent} from './upload-profile/upload-profile.component'; +import {SharedModule} from '../shared/shared.module' +import {FilterByNamePipe} from './add-metadata/add-metadata.component'; +import {UserActionSaveProfileComponent} from './save-profile/save-profile.component'; +import {PastisMaterialModule} from '../material.module'; +import {UserActionsDownloadDocComponent} from './download-doc/download-doc.component'; +import {DuplicateMetadataComponent} from './duplicate-metadata/duplicate-metadata.component'; + +import {MatInputModule} from "@angular/material/input"; +import {FormsModule, ReactiveFormsModule} from "@angular/forms"; +import {MatFormFieldModule} from "@angular/material/form-field"; +import {VitamUIInputModule} from "vitamui-library"; +import {CreateNoticeComponent} from "./create-notice/create-notice.component"; +import {CoreModule} from "../core/core.module"; +import { SaveProfileOptionsComponent } from './save-profile-options/save-profile-options.component'; +import {MatSlideToggleModule} from "@angular/material/slide-toggle"; + + +@NgModule({ + declarations: [UserActionUploadProfileComponent,FilterByNamePipe, UserActionSaveProfileComponent, UserActionsDownloadDocComponent, DuplicateMetadataComponent, CreateNoticeComponent, SaveProfileOptionsComponent], + imports: [ + CommonModule, + PastisMaterialModule, + FileUploadModule, + SharedModule, + MatInputModule, + MatFormFieldModule, + ReactiveFormsModule, + VitamUIInputModule, + CoreModule, + FormsModule, + MatSlideToggleModule + ], + exports: [UserActionUploadProfileComponent, UserActionSaveProfileComponent,UserActionsDownloadDocComponent,FilterByNamePipe ], +}) +export class UserActionsModule { + + } diff --git a/ui/ui-frontend/projects/pastis/src/assets/.gitkeep b/ui/ui-frontend/projects/pastis/src/assets/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/ui/ui-frontend/projects/pastis/src/assets/config/config-standalone.json b/ui/ui-frontend/projects/pastis/src/assets/config/config-standalone.json new file mode 100644 index 000000000..41da55021 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/config/config-standalone.json @@ -0,0 +1,14 @@ +{ + "getProfileUrl": "/createprofile", + "uploadProfileUrl": "/profile", + "getFileUrl": "/getfile", + "getAllProfilesUrl": "/getprofiles", + "savePAasFileUrl": "/getarchiveprofile", + "savePUAasFileUrl": "/getarchiveunitprofile", + "editProfileUrl": "/edit", + "sedaUrl": "/sedaview", + "pastisPrefix": "", + "pastisPathPrefix": "", + "pastisEditPage": "/edit", + "pastisNewProfile": "/new" +} diff --git a/ui/ui-frontend/projects/pastis/src/assets/config/config-vitam-ui.json b/ui/ui-frontend/projects/pastis/src/assets/config/config-vitam-ui.json new file mode 100644 index 000000000..f81b1f2dd --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/config/config-vitam-ui.json @@ -0,0 +1,29 @@ +{ + "getProfileUrl": "/pastis/createprofile", + "uploadProfileUrl": "/pastis/profile", + "getFileUrl": "/pastis/getfile", + "getAllProfilesUrl": "/pastis/getprofiles", + "savePAasFileUrl": "/pastis/getarchiveprofile", + "savePUAasFileUrl": "/pastis/getarchiveunitprofile", + "editProfileUrl": "/pastis/edit", + "sedaUrl": "/sedaview", + "tenantPrefix": "/tenant", + "pastisPrefix": "/pastis", + "pastisPathPrefix": "/pastis/tenant/", + "pastisEditPage": "/edit", + "pastisNewProfile": "/new", + "getAllArchivalProfileUrl": "/profile", + "getProfilePaginatedUrl": "/profile", + "getProfileById": "/profile/{{identifier}}", + "downloadProfile": "/profile/download/{{id}}", + "importProfileInExistingNotice": "/profile/updateProfileFile", + "updateProfileById": "/profile/{{id}}", + "createProfile": "pastis-api/profile", + "importProfile": "pastis-api/profile/import", + "getArchivalProfileUnitUrl": "/archival-profile", + "getArchivalProfileUnitPaginatedUrl": "/archival-profile", + "getArchivalProfileUnitById": "/archival-profile/{{identifier}}", + "updateArchivalProfileUnitById": "/archival-profile/{{id}}", + "createArchivalProfileUnit": "/archival-profile", + "importArchivalProfileUnit": "/archival-profile/import" +} diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/_buttons.scss b/ui/ui-frontend/projects/pastis/src/assets/css/_buttons.scss new file mode 100644 index 000000000..cc519429a --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/_buttons.scss @@ -0,0 +1,189 @@ +@import "colors"; +/// Pastis background button colors +/// @author Paulo Pimenta + + +/* +--- +name: Button +category: Components +--- + +Buttons can be used with `<a>`, `<button>`, and `<input>` elements. + +Types of buttons: +- Default: Standard button +- Primary: Provides extra visual weight and identifies the primary action in a set of buttons +- Success: Indicates a successful or positive action + +```types.html + +<md-button class="md-raised pastis-btn-primary-hover">Pastis Basic</md-button> +<md-button cclass="md-warn">Pastis Bootstrap</md-button> +<md-button class="md-raised md-warn">Pastis button</md-button> + +``` +*/ +$buttons: ( + primary:( + enabled: var(--vitamui-primary), + disabled: var(--vitamui-primary-50), + hover: var(--vitamui-primary), + focus: var(--vitamui-primary) + ), + secondary:( + enabled: var(--vitamui-secondary), + disabled: var(--vitamui-secondary-50), + hover: var(--vitamui-secondary), + focus: var(--vitamui-secondary) + ), + variant:( + enabled: map-get($colors, 'black-low'), + disabled: map-get($colors, 'black-disabled'), + hover: map-get($colors, ' black-low'), + focus: map-get($colors, 'black-low') + ), + leading:( + enabled: #FFFFFF, + disabled: map-get($colors, 'white-disabled'), + hover: #FFFFFF, + focus: #FFFFFF + ) +); + +$rounded-standard-buttons: ( + standard-primary:( + enabled: var(--vitamui-primary), + disabled: map-get($colors, 'primay-disabled'), + hover: --vitamui-primary-200, + focus: --vitamui-primary-400 + ), + standard-secondary:( + enabled: var(--vitamui-secondary), + disabled: map-get($colors, 'secondary-disabled'), + hover: var(--vitamui-secondary), + focus: var(--vitamui-secondary) + ), + standard-white:( + enabled: #FFFFFF, + disabled: map-get($colors, 'white-disabled'), + hover: #FFFFFF, + focus: #FFFFFF + ) +); + +$rounded-mini-buttons:( + neutral:( + enabled: #FFFFFF, + disabled: map-get($colors, 'white-disabled'), + hover: #FFFFFF, + focus: #FFFFFF + ), + primary:( + enabled: var(--vitamui-primary), + disabled: var(--vitamui-primary), + hover: var(--vitamui-primary), + focus: var(--vitamui-primary) + ), + secondary:( + enabled: var(--vitamui-secondary-300), + disabled: var(--vitamui-secondary-50), + hover: map-get($colors, 'secondary-secondary'), + focus: map-get($colors, 'secondary-secondary') + ) +); + + /////////////////////////* Standard buttons */\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ + +/*Defines buttons border*/ +$buttons-border:( + primary: none, + secondary: none, + variant: none, +); +$buttons-border-leading:( + enabled: 1px solid var(--vitamui-secondary-300), + disabled: 1px solid var(--vitamui-secondary-300), + hover: 1px solid var(--vitamui-secondary-300), + focus: 1px solid var(--vitamui-secondary-300), +); + +/*Defines buttons text-color*/ +$buttons-text-color:( + primary: map-get($colors, 'white-highlight'), + secondary: map-get($colors, 'white-highlight'), + variant: map-get($colors, 'white-highlight'), +); + +/*Defines buttons text-color for leading button types*/ +$buttons-text-color-leading:( + enabled: var(--vitamui-secondary-300), + disabled: map-get($colors, 'secondary-disabled'), + hover: var(--vitamui-secondary-300), + focus: var(--vitamui-secondary-300), +); + + +/*Defines buttons box-shadow*/ +$buttons-box-shadow:( + enabled: (0px 1px 3px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.12), 0px 0px 2px rgba(0, 0, 0, 0.14)), + disabled: none, + hover: (0px 1px 10px rgba(0, 0, 0, 0.2), 0px 4px 5px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)), + focus: none, +); + +/*Defines buttons box-shadow*/ +$buttons-font-text:( + primary: (font-family: Roboto,font-style: normal,font-weight: 500,font-size: 14px,line-height: 16px,text-align:center), + secondary: (font-family: Roboto,font-style: normal,font-weight: 500,font-size: 14px,line-height: 16px,text-align:center), + variant: (font-family: Roboto,font-style: normal,font-weight: 500,font-size: 14px,line-height: 16px,text-align:center), + leading: (font-family: Roboto,font-style: normal,font-weight: 500,font-size: 14px,line-height: 16px,text-align:center), +); + /////////////////////////\\\\\\\\\\\\///////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ + + +/////////////////////////* Rounded buttons */\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ + + $rounded-buttons-border:( + standard-primary: none, + standard-secondary: none, + standard-white: none, + mini-white: 1px solid var(--vitamui-primary), + mini-red: none, + mini-blue: none, +); + +.pastis-btn-rounded-mini-primary{ + @extend .pastis-btn-rounded-mini-primary-enabled; +} + +.pastis-btn-rounded-mini-primary:hover{ + @extend .pastis-btn-rounded-mini-primary-hover; +} + +.pastis-btn-rounded-mini-primary:disabled{ + @extend .pastis-btn-rounded-mini-primary-disabled; +} + +.pastis-btn-rounded-mini-primary:active { + @extend .pastis-btn-rounded-mini-primary-focus; +} + +.pastis-btn-rounded-mini-neutral{ + @extend .pastis-btn-rounded-mini-neutral-enabled; +} + +.pastis-btn-rounded-mini-neutral:hover{ + @extend .pastis-btn-rounded-mini-neutral-hover; +} + +.pastis-btn-rounded-mini-neutral:disabled{ + @extend .pastis-btn-rounded-mini-neutral-disabled; +} + +.pastis-btn-rounded-mini-neutral:active { + @extend .pastis-btn-rounded-mini-neutral-focus; +} + + + diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/_colors.scss b/ui/ui-frontend/projects/pastis/src/assets/css/_colors.scss new file mode 100644 index 000000000..5f9b11b94 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/_colors.scss @@ -0,0 +1,50 @@ +/// Pastis base colors +/// @author Paulo Pimenta +$colors: ( + + /* Primary */ + primary-50: #F7EBFA, + primary-100: #e6c3ef, + primary-300: #C672D9, + primary-400 : #B54ACE, + primary-500 : #9c31b5, + primary-700: #571B64, + + + /* Secondary */ + secondary-disabled:#BDD9EC, + secondary-50:#EAF2FA, + secondary-200: #96BDE8, + secondary-300: #6DA2DF, + secondary-400: #4388D6, + secondary-500: #2563A9, + + /*Surface*/ + surface-tabs: #604379, + surface-snackbar:#604379, + + /* Variant */ + black-low:#C1C1C1, + black-disabled:#E7E5E5, + black-medium:#747272, + black-height: #232323, + black-standard: #474747, + grey-900: #212121, + grey-600: #757575, + grey-400: #BDBDBD, + ligthly-purple: #F6F3FB, + + /* White */ + white-highlight: #FFFFFF, + white-disabled:rgba(255, 255, 255, 0.57) + +); + +$input-colors: ( + enabled: #F0F0F0, + disabled:#F0F0F0, + hover :#65B2E4, + activated :#747272, + error:#FF0000, + valid:#50D166, +); diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/_dropdown.scss b/ui/ui-frontend/projects/pastis/src/assets/css/_dropdown.scss new file mode 100644 index 000000000..26e1d641b --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/_dropdown.scss @@ -0,0 +1,140 @@ +//Generate Pastis dropdown lists +@import "colors"; + + +/// Pastis dropdown border colors +/// @author Paulo Pimenta +$dropdowns-border: ( + button1:( + enabled: (1px solid var(--vitamui-secondary-300)), + disabled: (1px solid var(--vitamui-secondary-200)), + hover: (1px solid var(--vitamui-secondary-200)), + focus: (1px solid var(--vitamui-secondary-200)), + ), + button2:( + enabled: (1px solid #F0F0F0), + disabled: '', + hover: (1px solid #F0F0F0), + focus: (1px solid #F0F0F0) + ), + leading:( + enabled: (1px solid var(--vitamui-secondary-300)), + disabled: (1px solid map-get($colors, 'secondary-disabled')), + hover: (1px solid var(--vitamui-secondary-300)), + focus: (1px solid var(--vitamui-secondary-300)) + ), + search:( + enabled: '', + disabled: '', + hover: '', + focus: '' + ), + special:( + enabled: (1px solid #5CBAA9) + ) +); + +$dropdowns-text: ( + button1:( + enabled: var(--vitamui-secondary-300), + disabled: var(--vitamui-secondary-300), + hover: var(--vitamui-secondary-300), + focus: var(--vitamui-secondary-300) + ), + button2:( + enabled: var(--vitamui-primary), + disabled: var(--vitamui-primary), + hover: var(--vitamui-primary), + focus:var(--vitamui-primary) + ), + leading:( + enabled: var(--vitamui-secondary-300), + disabled: var(--vitamui-secondary-300), + hover: var(--vitamui-secondary-300), + focus: var(--vitamui-secondary-300) + ), + search:( + enabled: #FFFFFF, + disabled: #FFFFFF, + hover: #FFFFFF, + focus: #FFFFFF + ), + special:( + enabled: #9D9D9D, + ) +); + +$dropdowns-background: ( + button1:( + enabled: #FFFFFF, + disabled: #FFFFFF, + hover: #FFFFFF, + focus: #FFFFFF, + ), + button2:( + enabled: #FFFFFF, + disabled: #FFFFFF, + hover: #FFFFFF, + focus:#FFFFFF + ), + leading:( + enabled: #FFFFFF, + disabled: #FFFFFF, + hover: #FFFFFF, + focus: #FFFFFF + ), + search:( + enabled: #FF833C, + disabled: #FF833C, + hover: #FF833C, + focus: #FF833C + ), + special:( + enabled: #FFFFFF, + ) +); + + +/*Defines dropdown font-text*/ +.mat-select-trigger { + //@extend .dropdown-font-text; + @extend .text-text-normal; + /* display: block; + max-height: 19px; + padding-left: 10px; + padding-right: 20px;*/ +} + +.dropdown-font-text { + + padding-top: 4px; + height: 20px; + max-height: 51px; + + /* Body 2 - Roboto Regular */ + + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 20px; + /* identical to box height, or 143% */ + /* Black -- Hight */ +}; + +/*Defines dropdown default style*/ +.dropdown { + border-radius: 50px; + height: 49px; + background: #FFFFFF; + max-height: 40px; +} + +/*Defines dropdown box-shadow*/ + +$dropdowns-box-shadow: ( + enabled: (0px 1px 3px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.12), 0px 0px 2px rgba(0, 0, 0, 0.14)), + disabled: '', + hover: (0px 1px 10px rgba(0, 0, 0, 0.2), 0px 4px 5px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)), + focus: (0px 1px 3px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.12), 0px 0px 2px rgba(0, 0, 0, 0.14)), +) diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/_font.scss b/ui/ui-frontend/projects/pastis/src/assets/css/_font.scss new file mode 100644 index 000000000..0c724496b --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/_font.scss @@ -0,0 +1,451 @@ + + +.pastis-font-button-white { + position: absolute; + left: 38.89%; + right: 52.08%; + top: 93.27%; + bottom: 5.09%; + + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 15px; + line-height: 18px; + text-align: center; + + color: #FFFFFF; +} +.pastis-font-table-header { + + //styleName: Text/Text-normal-bold; + @extend .text-text-normal-bold; + color: #212121; + +} + +.pastis-font-button-icon { + + font-family: Roboto; + font-style: normal; + + font-size: 14px; + line-height: 18px; + + align-items: center; + letter-spacing: 0.5px; + text-transform: uppercase; + color: #FFFFFF; + flex: none; + margin: 0px 10px; +} + + +.pastis-table-content { + //styleName: Text/Text-normal; + @extend .text-text-normal; + color: #212121; + +} + + +.pastis-table-content-with-errors { + @extend .pastis-table-content; + color: darkred; +} + +/* Body 2 - Roboto Regular */ +.pastis-body-2 { + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 20px; + align-items: center; + text-align: center; +} + +/* Body 2 - Roboto medium */ +.pastis-font-roboto-medium { + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 16px; + align-items: center; + text-align: center; + letter-spacing: 0.75px; +} + + +/* Body 2 - Roboto Regular */ +.pastis-font-roboto-regular { + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 20px; + /* identical to box height, or 143% */ +} + +.pastis-font-roboto-snack { + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 15px; + color: white; + opacity: 0.4; + /* identical to box height, or 133% */ +} + +.pastis-font-headline-6 { + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 16px; + line-height: 28px; + /* or 175% */ + letter-spacing: 0.5px; +} + +.pastis-font-informations { + /* INFORMATIONS */ + font-family: Roboto; + font-style: normal; + font-weight: bold; + font-size: 14px; + line-height: 16px; + /* identical to box height */ + font-variant: small-caps; +} + +.pastis-font-label { + /* Label */ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 16px; + /* or 114% */ + letter-spacing: 0.75px; +} + +.pastis-font-label-small { + /* Label */ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 16px; + font-variant: small-caps; + /* or 114% */ + letter-spacing: 0.75px; +} + +.pastis-font-label-historique { + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 16px; + display: flex; + align-items: center; + font-variant: small-caps; + letter-spacing: 0.75px; + +} + +.pastis-font-headline6 { + + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 20px; + line-height: 23px; +} + +.pastis-font-popup-subtitle{ + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 20px; + line-height: 35px; + letter-spacing: 0.15px; + color: #485053; +} + +.pastis-font-popup-title{ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 26px; + line-height: 35px; + letter-spacing: 0.15px; + color: #485053; +} + +.pastis-input-text { + @extend .pastis-black-medium; + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 28px; +} + +.pastis-input-placeholder-text { + /* Caption - Roboto Regular */ + @extend .pastis-black-low; + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 12px; + line-height: 16px; + letter-spacing: 0.4px; +} + +.pastis-font-menu{ + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 15px; + line-height: 18px; + display: flex; + align-items: center; +} + +.pastis-font-add-metadata-items{ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 15px; + line-height: 60px; +} + +.pastis-textarea-comment{ + + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 20px; + /* identical to box height, or 143% */ + + display: flex; + align-items: center; + letter-spacing: 0.25px; + + /* Black - Low */ + + color: #9D9D9D; +} + +.pastis-toaster-font{ + .pastis-toaster-font{ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 15px; + line-height: 20px; + /* identical to box height, or 133% */ + + color: #FFFFFF; + } +} + +// Font from FIGMA +.pastis-font-h1{ + /* H1 - Roboto Light */ + font-family: Roboto; + font-style: normal; + font-weight: 300; + font-size: 96px; + line-height: 112px; + /* identical to box height */ + letter-spacing: -1.5px; + color: #C4C4C4; +} + +.pastis-font-h2{ + /* H2 - Roboto Light */ + font-family: Roboto; + font-style: normal; + font-weight: 300; + font-size: 60px; + line-height: 70px; + /* identical to box height */ + letter-spacing: -0.5px; + color: #C4C4C4; +} + +.pastis-font-h3{ + /* H3 - Roboto Regular */ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 48px; + line-height: 56px; + /* identical to box height */ + color: #C4C4C4; +} +.pastis-font-h3-bold{ + /* H3 - Roboto Regular */ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 48px; + line-height: 56px; + /* identical to box height */ + color: #C4C4C4; +} + +.pastis-font-h4{ + /* H4 - Roboto Regular */ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 34px; + line-height: 40px; + /* identical to box height */ + letter-spacing: 0.25px; + color: #C4C4C4; +} + +.pastis-font-h5{ + /* H5 - Mulish Regular */ + font-family: Mulish; + font-style: normal; + font-weight: 800; + font-size: 24px; + line-height: 32px; + letter-spacing: -0.5px; + @extend .pastis-grey-900; +} + +.pastis-font-h6{ + /* H6 - Roboto Medium */ + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 20px; + line-height: 23px; + /* identical to box height */ + color: #C4C4C4; +} + +.pastis-font-body-medium{ + /* Body 1 - Roboto Medium */ + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 28px; + /* identical to box height, or 200% */ + color: #C4C4C4; +} + +.pastis-font-body-regular { + /* Body 2 - Roboto Regular */ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 20px; + /* identical to box height, or 143% */ + color: #C4C4C4; +} + +.pastis-font-subtitle-regular{ + /* Subtitle 1 - Roboto Regular */ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 16px; + line-height: 24px; + /* identical to box height, or 150% */ + letter-spacing: 0.15px; + color: #C4C4C4; +} + +.pastis-font-regular-medium { + /* Subtitle 2 - Roboto Medium */ + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 24px; + /* identical to box height, or 171% */ + color: #C4C4C4; +} + +.pastis-font-button { + /* Button - Roboto Medium */ + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 16px; + /* identical to box height, or 114% */ + color: #C4C4C4; +} + +.pastis-font-caption { + font-family: Mulish; + font-style: normal; + font-weight: normal; + font-size: 12px; + line-height: 16px; + /* identical to box height, or 133% */ + letter-spacing: -0.2px; +} + +.pastis-font-caption-bold { + @extend .pastis-font-caption; + font-weight: bold; +} + +.pastis-font-text-large { + font-family: Mulish; + font-style: normal; + font-weight: normal; + font-size: 20px; + line-height: 28px; +} + +.pastis-font-text-large-bold { + @extend .pastis-font-text-large; + font-weight: bold; +} + +//styleName: X_Text/Text-normal; +.text-text-normal { + font-family: Mulish; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 22px; + letter-spacing: 0.10000000149011612px; + text-align: left; +} + +.text-text-medium { + //styleName: Text/Text-medium; + font-family: Mulish; + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: 24px; + letter-spacing: 0px; + text-align: left; +} + +.text-text-normal-bold { + //styleName: Text/Text-normal-bold; + font-family: Mulish; + font-size: 14px; + font-style: normal; + font-weight: 700; + line-height: 22px; + letter-spacing: 0.10000000149011612px; + text-align: left; +} diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/_input.scss b/ui/ui-frontend/projects/pastis/src/assets/css/_input.scss new file mode 100644 index 000000000..5f85e30e0 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/_input.scss @@ -0,0 +1,33 @@ +@import 'colors'; + + $input-border-colors:( + enabled: 1px solid map-get($input-colors, 'enabled'), + disabled:1px solid map-get($input-colors, 'disabled'), + hover :1px solid map-get($input-colors, 'hover'), + activated : 1px solid map-get($input-colors, 'activated'), + error: 1px solid map-get($input-colors, 'error'), + valid: 1px solid map-get($input-colors, 'valid'), +); + +$input-box-shadow:( + enabled: (0px 1px 3px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.12), 0px 0px 2px rgba(0, 0, 0, 0.14)), + disabled: none, + hover : (0px 1px 10px rgba(0, 0, 0, 0.2), 0px 4px 5px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)), + activated : none, + error: none, + valid: none, +); + + +.pastis-table-input-border{ + border-radius: 5px; + border: 1px solid #E0E0E0; + box-sizing: border-box; + box-shadow: 0px 0px 2px rgba(33, 33, 33, 0.2), 0px 1px 4px rgba(33, 33, 33, 0.05); +} + + + + + + diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/_layout.scss b/ui/ui-frontend/projects/pastis/src/assets/css/_layout.scss new file mode 100644 index 000000000..704f101c1 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/_layout.scss @@ -0,0 +1,390 @@ +@import 'mixins'; + + + + +//Pastis class header without sidebar +/// @author Paulo Pimenta +.pastis-header-no-sidebar { + position: absolute; + width: 1440px; + height: 288px; + left: 0px; + top: -2px; + background: #ECEEF3; +} + +//Pastis class header with sidebar +/// @author Paulo Pimenta +.pastis-header-with-sidebar { + @extend .pastis-header-no-sidebar; + width: 952px; +} + +.pastis-content-metadata { + position: absolute; + width: 778px; + height: 60px; + top: 359px; + right: 116px; + left: 58px; + background: #FFFFFF; +} + +.pastis-slide-nav-profile { + + max-width: 480px; + height: auto; + + //bottom: 100px; + background: #FFFFFF; +} + +.pastis-slide-nav-header { + position: absolute; + height: 200px; + background: #5CBAA9; +} + +.pastis-page-container { + + position: relative; + width: 100%; + height: 100%; +} + +.pastis-tab-container { + right: 40px; + left: 40px; + // Compensate the header of 200px + the space in beetween + //height: auto; + height: 500px; + + //overflow: auto; + width: 100%; +} + +.pastis-table { + width: 80%; + height: 612px; + left: 150px; + margin-right: 120px; + /*Material*/ + height: auto; + overflow: auto; + background: #FFFFFF !important; + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.14) !important; + border-radius: 5px !important; +} + + +.pastis-metadata-table { + background: #FFFFFF; + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.14); + border-radius: 5px; +} + +.pastis-col{ + text-align: left; + +} + +.pastis-col:first-child { + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; +} + +.pastis-col:last-child { + border-top-right-radius: 5px; + border-bottom-right-radius: 5px; +} + +.pastis-metadata-table-col-large { + @extend .pastis-col; + width: 203px; + height: 50px; + +} + +.pastis-metadata-table-col-medium { + @extend .pastis-col; + width: 140px; + height: 50px; + +} + + + +.pastis-metadata-table-col-small { + @extend .pastis-col; + width: 120px; + height: 50px; + +} + +.pastis-side-nav { + background: #FFFFFF; + box-shadow: 20px 20px 80px rgba(168, 153, 153, 0.5); +} + +.pastis-ico-svg { + display: block; + margin: auto; +} + +.pastis-ico-arrow-right{ + + font-size: 14px; + line-height: 22px; + margin-left: 10px; + vertical-align: middle; +} + +.pastis-popup-modal-box{ + mat-dialog-container { + //padding: 0px !important; + //width: 100%; + //max-height: 100%; + background: #F7F8FB; + /* Elevation 3 */ + box-shadow: 0px 11px 15px rgba(0, 0, 0, 0.1), 0px 9px 46px rgba(0, 0, 0, 0.06), 0px 24px 38px rgba(0, 0, 0, 0.07); + border-radius: 20px; + overflow: hidden; + } +} + + +/* width */ +::-webkit-scrollbar { + width: 12px; + height: 12px; +} + +/* Track */ +::-webkit-scrollbar-track { + background: var(--vitamui-primary-50); +} + +/* Handle */ +::-webkit-scrollbar-thumb { + // background: var(--vitamui-primary-50); + // background: #F7F8FB; + border-radius: 100px; + + background : var(--vitamui-primary); + // background: #C1C1C1 +} + +/* Handle on hover */ +::-webkit-scrollbar-thumb:hover { + background: var(--vitamui-primary-700) ; +} + +/*For non webkit browsers, such as Firefox/* + +/* (values chosen for visual consistency with Firefox) */ +:root{ + //Thumb and track colors + scrollbar-color: var(--vitamui-primary) !important; + scrollbar-width: thin !important; + scrollbar-base-color: var(--vitamui-primary-50) !important; +} + +.mat-checkbox .mat-checkbox-ripple{ + display: none !important; +} + +/* PASTIS Tooltip */ + +.pastis-tooltip-class { + /* Black - Medium */ + background-color: var(--vitamui-primary) !important; + border-radius: 5px !important; + padding: 15px !important; + /* Caption - Roboto Regular */ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 12px; + line-height: 16px; + /* or 133% */ + letter-spacing: 0.4px; + /* Surface - White */ + color: #FFFFFF; +} + + +/* style de la flèche du tooltip*/ +.tooltip-right::after{ + border-color: transparent var(--vitamui-primary) transparent transparent !important +} + +.tooltip-left::after{ + border-color: transparent transparent transparent var(--vitamui-primary) !important +} + +.tooltip-top::after{ + border-color: var(--vitamui-primary) transparent transparent transparent !important +} + +.tooltip-bottom::after{ + border-color: transparent transparent var(--vitamui-primary) transparent !important +} + +.pastis-text-area { + height: 40px; + background: #FFFFFF; + outline: none; + display: flex; + align-items: center; + text-align: center; + letter-spacing: 0.25px; + resize: none; + color: #757575;; +} + + + + + +/* Hide the browser's default checkbox */ + +/* Styling Pastis Checkbox Starts */ +.checkbox-label { + display: inline; + position: relative; + margin: auto; + cursor: pointer; + font-size: 22px; + line-height: 24px; + clear: both; + vertical-align: middle !important; + +} + + +//Pastis checkbox +.checkbox-label input { + position: absolute; + opacity: 0; + cursor: pointer; +} + +.checkbox-label .checkbox-custom { + position: absolute; + top: 0px; + left: 0px; + height: 16px; + width: 16px; + background-color: transparent; + border-radius: 3px; + transition: all 0.3s ease-out; + -webkit-transition: all 0.3s ease-out; + -moz-transition: all 0.3s ease-out; + -ms-transition: all 0.3s ease-out; + -o-transition: all 0.3s ease-out; + border: 1px solid var(--vitamui-secondary-300); +} + + +.checkbox-label input:checked ~ .checkbox-custom { + background-color: #FFFFFF; + border-radius: 3px; + -webkit-transform: rotate(0deg) scale(1); + -ms-transform: rotate(0deg) scale(1); + transform: rotate(0deg) scale(1); + opacity:1; + border: 1px solid var(--vitamui-secondary-300); +} + + +.checkbox-label .checkbox-custom::after { + position: absolute; + content: ""; + left: 12px; + top: 12px; + height: 0px; + width: 0px; + border-radius: 3px; + border: 1px solid var(--vitamui-secondary-300); + border-width: 0 3px 3px 0; + -webkit-transform: rotate(0deg) scale(0); + -ms-transform: rotate(0deg) scale(0); + transform: rotate(0deg) scale(0); + opacity:1; + transition: all 0.3s ease-out; + -webkit-transition: all 0.3s ease-out; + -moz-transition: all 0.3s ease-out; + -ms-transition: all 0.3s ease-out; + -o-transition: all 0.3s ease-out; +} + + +.checkbox-label input:checked ~ .checkbox-custom::after { + -webkit-transform: rotate(45deg) scale(1); + -ms-transform: rotate(45deg) scale(1); + transform: rotate(45deg) scale(1); + opacity:1; + left: 6px; + top: 1px; + width: 3px; + height: 10px; + border: 1px solid var(--vitamui-secondary-300); + border-width: 0 2px 2px 0; + background-color: transparent; + border-radius: 0; +} + +.list-profile-table { + width: 100%; + max-height: 365px; + border-spacing: 0 5px; + border-radius: 5px; + background-color: transparent; + +} +.pastis-table-row-header { + border-width: 5px; + border-color: transparent; + background-color: #FFFFFF; + border-radius: 5px; + height: 60px !important; +} + +.pastis-table-row { + @extend .pastis-table-row-header; +} + +.pastis-table-row:hover{ + @extend .pastis-table-row; + background-color: #F6F3FB; + box-shadow: 0px 1px 4px rgba(33, 33, 33, 0.2), 0px 2px 8px rgba(33, 33, 33, 0.05); + cursor: pointer; +} + + + .pastis-panel-shadow-primary-500 { + box-shadow: 0px 1px 4px rgba(112, 35, 130, 0.4), 0px 2px 8px rgba(112, 35, 130, 0.2); + } + + .pastis-panel-shadow { + box-shadow: 0px 2px 8px rgba(33, 33, 33, 0.2), 0px 4px 16px rgba(33, 33, 33, 0.05); + } + + .pastis-panel-radius-5 { + border-radius: 5px; + } + + .pastis-panel-radius-10 { + border-radius: 10px; +} + +.pastis-entete-1-separator { + position: absolute; + width: 3px; + left: 90px; + top: 0.83%; + bottom: 0.83%; + @extend .pastis-bgcolor-grey-400; +} + diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/_mixins.scss b/ui/ui-frontend/projects/pastis/src/assets/css/_mixins.scss new file mode 100644 index 000000000..6065a093f --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/_mixins.scss @@ -0,0 +1,241 @@ +//Generate Pastis colors +/// @author Paulo Pimenta + +@import "colors"; +@import "buttons"; +@import "dropdown"; +@import "input"; +@import "font"; +/// Generate base colors for PASTIS +/// @author Paulo Pimenta +/// @see $colors + +@mixin color-modifiers($attribute) { + @each $name, $hex in $colors { + &-#{$name} { + #{$attribute}: $hex; + } + } +} + +/// Generate inputs for PASTIS +/// @author Paulo Pimenta +/// @see $buttons +/// @output Pastis buttons + +@mixin input-modifiers($attribute, $list) { + @each $name, $value in $list { + &-#{$name} { + @extend .pastis-input; + #{$attribute}: map-get($list,$name); + } + } +} + + +/// Generate buttons for PASTIS +/// @author Paulo Pimenta +/// @see $buttons +/// @output Pastis buttons + + +@mixin button-modifiers($attribute, $prefix: '-', $separator: '-') { + //@debug $name'....'#{$k}':'$v; + @each $name, $button in $buttons { + &#{$prefix}#{$name} { + @each $type, $value in $button { + &#{$separator}#{$type} { + //Text-colors and border + @if $name == leading { + #{color}:map-get($buttons-text-color-leading,$type); + #{border}: map-get($buttons-border-leading,$type); + } + #{color}:map-get($buttons-text-color,$name); + #{border}: map-get($buttons-border,$name); + //Box-shadow + #{box-shadow}:map-get($buttons-box-shadow,$type); + // Font-button - has sub-items + @each $k, $v in map-get($buttons-font-text,$name){#{$k}:$v;} + @extend .pastis-btn; + #{$attribute}: $value; + } + } + } + } +} + +@mixin rounded-standard-button-modifiers($attribute, $prefix: '-', $separator: '-') { + @each $name, $button in $rounded-standard-buttons { + &#{$prefix}#{$name} { + @each $type, $value in $button { + &#{$separator}#{$type} { + //Box-shadow (reused from button) + #{box-shadow}:map-get($buttons-box-shadow,$type); + #{border}:map-get($rounded-buttons-border,$name); + //Box-shadow (mini-white-only)rounded-buttons-border + @if $name == mini-white{ + #{box-shadow}:none; + } + //Rounded button Border + @each $k, $v in map-get($buttons-font-text,$name){#{$k}:$v; } + @extend .pastis-btn-rounded; + #{$attribute}: $value; + } + } + } + } +} + +@mixin rounded-mini-button-modifiers($attribute, $prefix: '-', $separator: '-') { + @each $name, $button in $rounded-mini-buttons { + &#{$prefix}#{$name} { + @each $type, $value in $button { + &#{$separator}#{$type} { + //Box-shadow (reused from button) + #{box-shadow}:map-get($buttons-box-shadow,$type); + #{border}:map-get($rounded-buttons-border,$name); + //Box-shadow (mini-white-only)rounded-buttons-border + @if $name == mini-white{ + #{box-shadow}:none; + } + //Rounded button Border + @each $k, $v in map-get($buttons-font-text,$name){#{$k}:$v; } + @extend .pastis-btn-rounded-mini; + #{$attribute}: $value; + } + } + } + } +} + + + +@mixin dropdown-modifiers($attribute, $class-iterator, $prefix: '-', $separator: '-') { + @each $name, $dropdown in $class-iterator { + &#{$prefix}#{$name} { + @each $type, $value in $dropdown { + &#{$separator}#{$type} { + #{box-shadow}: map-get($dropdowns-box-shadow, $type); + #{$attribute}: $value; + } + } + } + } +} + +@mixin dropdown-text-modifiers($attribute, $class-iterator, $prefix: '-', $separator: '-') { + @each $name, $dropdown in $class-iterator { + &#{$prefix}#{$name} { + @each $type, $value in $dropdown { + &#{$separator}#{$type} { + #{$attribute}: $value; + } + } + } +} +} + +@mixin mat-table-columns($columns) +{ + .mat-column- + { + @each $colName, $props in $columns { + $width: map-get($props, 'width'); + &#{$colName} + { + flex: $width; + width: $width; + + @if map-has-key($props, 'color') + { + color: map-get($props, 'color'); + } + } + } + } +} + + +/* Generates colors for Pastis. +Ex : .pastis-secondary-200 { + } +See _colors.scss */ + +.pastis { + @include color-modifiers('color'); +} + +/* Generates background colors for Pastis. +Ex : .pastis-bg-secondary-200 { + } +See _colors.scss */ +.pastis-bg { + @include color-modifiers('background'); +} + +.pastis-bgcolor { + @include color-modifiers('background-color'); +} +/* Generates buttons for Pastis. +Buttons can be primary, secondary; +Additionally they can be : +activated, disabled, hover and focus +Ex : .pastis-btn-primary-hover {} +See _buttons.scss */ + +.pastis-btn { + border-radius: 100px !important; + border : 0px; + outline: none; + @include button-modifiers('background'); +} + + +//Ex : .pastis-btn-rounded-primary-focus {} +//Ex : .pastis-btn-rounded-mini-white-hover {} + +.pastis-btn-rounded { + border-radius: 67px; + text-align: center; + width: 50px; + height: 50px; + outline-style: none; + @include rounded-standard-button-modifiers('background'); +} + +.pastis-btn-rounded-mini { + border-radius: 67px; + text-align: center; + width: 30px; + height: 30px; + outline-style: none; + @include rounded-mini-button-modifiers('background'); +} + +.pastis-dropdown-border { + @extend .dropdown; + @include dropdown-modifiers('border',$dropdowns-border); + } + + +.pastis-dropdown-background { + @extend .dropdown; + @include dropdown-modifiers('background-color',$dropdowns-background); +} + +.pastis-dropdown-text { + @extend .dropdown-font-text; + @include dropdown-text-modifiers('color',$dropdowns-text); +} + + +//Generate inputs. Ex : pastis-input-enabled, pastis-input-active +.pastis-input { + @include input-modifiers('border', $input-border-colors); + @include input-modifiers('box-shadow', $input-box-shadow); + @extend .pastis-input-text; + outline: none; + height: 50px; + box-sizing: border-box; + border-radius: 87px; +} diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/_toaster.scss b/ui/ui-frontend/projects/pastis/src/assets/css/_toaster.scss new file mode 100644 index 000000000..b5471c200 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/_toaster.scss @@ -0,0 +1,122 @@ + +.toast-center-center { + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} +.toast-top-center { + top: 0; + right: 0; + width: 100%; +} +.toast-bottom-center { + bottom: 0; + right: 0; + width: 100%; +} +.toast-top-full-width { + top: 0; + right: 0; + width: 100%; +} +.toast-bottom-full-width { + bottom: 0; + right: 10; + float: left; + width: 100%; +} +.toast-top-left { + top: 12px; + left: 12px; +} +.toast-top-right { + top: 12px; + right: 12px; +} +.toast-bottom-right { + right: 12px; + bottom: 12px; +} +.toast-bottom-left { + bottom: 12px; + left: 12px; +} + +/*Additional properties for button version + iOS requires the button element instead of an anchor tag. + If you want the anchor version, it requires `href="#"`.*/ +button.toast-close-button { + //padding: 0; + padding-right: 650px; + cursor: pointer; + float: right; + background: transparent; + border: 0; +} +.toast-container { + pointer-events: none; + position: fixed; + z-index: 999999; +} +.toast-container * { + box-sizing: border-box; +} +.toast-container .ngx-toastr { + position: relative; + overflow: hidden; + //margin: 0 0 6px; + padding: 15px 15px 15px 50px; + width: 300px; + //border-radius: 3px 3px 3px 3px; + background-position: 120px center; + background-repeat: no-repeat; + background-size: 24px; + box-shadow: 0 0 12px #999999; + color: #FFFFFF; + + font-family: Roboto; + font-style: normal; + font-weight: normal; + padding-left: 190px; +} +.toast-container .ngx-toastr:hover { + box-shadow: 0 0 12px #000000; + opacity: 1; + cursor: pointer; +} +.toast-container.toast-top-center .ngx-toastr, +.toast-container.toast-bottom-center .ngx-toastr { + width: 300px; + margin-left: left; + margin-right: auto; +} +.toast-container.toast-top-full-width .ngx-toastr, +.toast-container.toast-bottom-full-width .ngx-toastr { + width: 100%; + margin-left: auto; + margin-right: auto; +} +.ngx-toastr { + background-color: #030303; + pointer-events: auto; +} +.toast-success { + background-color: var(--vitamui-primary); +} +.toast-error { + background-color: #BD362F; +} +.toast-info { + background-color: #2F96B4; +} +.toast-warning { + background-color: #F89406; +} +.toast-progress { + position: absolute; + left: 0; + bottom: 0; + height: 4px; + background-color: #000000; + opacity: 0.4; +} diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/_variables.scss b/ui/ui-frontend/projects/pastis/src/assets/css/_variables.scss new file mode 100644 index 000000000..ae0bf208a --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/_variables.scss @@ -0,0 +1,3 @@ +@import "colors"; +@import "mixins"; + diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/angular-material.min.css b/ui/ui-frontend/projects/pastis/src/assets/css/angular-material.min.css new file mode 100644 index 000000000..fc4a7260c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/angular-material.min.css @@ -0,0 +1,6 @@ +/*! + * AngularJS Material Design + * https://github.com/angular/material + * @license MIT + * v1.1.9 + */body,html{height:100%;position:relative}body{margin:0;padding:0}[tabindex="-1"]:focus{outline:none}.inset{padding:10px}a.md-no-style,button.md-no-style{font-weight:400;background-color:inherit;text-align:left;border:none;padding:0;margin:0}button,input,select,textarea{vertical-align:baseline}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[type=button][disabled],input[type=reset][disabled],input[type=submit][disabled]{cursor:default}textarea{vertical-align:top;overflow:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box;-webkit-box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input:-webkit-autofill{text-shadow:none}.md-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;text-transform:none;width:1px}.md-shadow{position:absolute;top:0;left:0;bottom:0;right:0;border-radius:inherit;pointer-events:none}.md-shadow-bottom-z-1{box-shadow:0 2px 5px 0 rgba(0,0,0,.26)}.md-shadow-bottom-z-2{box-shadow:0 4px 8px 0 rgba(0,0,0,.4)}.md-shadow-animated.md-shadow{-webkit-transition:box-shadow .28s cubic-bezier(.4,0,.2,1);transition:box-shadow .28s cubic-bezier(.4,0,.2,1)}.md-ripple-container{pointer-events:none;position:absolute;overflow:hidden;left:0;top:0;width:100%;height:100%;-webkit-transition:all .55s cubic-bezier(.25,.8,.25,1);transition:all .55s cubic-bezier(.25,.8,.25,1)}.md-ripple{position:absolute;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%;opacity:0;border-radius:50%}.md-ripple.md-ripple-placed{-webkit-transition:margin .9s cubic-bezier(.25,.8,.25,1),border .9s cubic-bezier(.25,.8,.25,1),width .9s cubic-bezier(.25,.8,.25,1),height .9s cubic-bezier(.25,.8,.25,1),opacity .9s cubic-bezier(.25,.8,.25,1),-webkit-transform .9s cubic-bezier(.25,.8,.25,1);transition:margin .9s cubic-bezier(.25,.8,.25,1),border .9s cubic-bezier(.25,.8,.25,1),width .9s cubic-bezier(.25,.8,.25,1),height .9s cubic-bezier(.25,.8,.25,1),opacity .9s cubic-bezier(.25,.8,.25,1),-webkit-transform .9s cubic-bezier(.25,.8,.25,1);transition:margin .9s cubic-bezier(.25,.8,.25,1),border .9s cubic-bezier(.25,.8,.25,1),width .9s cubic-bezier(.25,.8,.25,1),height .9s cubic-bezier(.25,.8,.25,1),opacity .9s cubic-bezier(.25,.8,.25,1),transform .9s cubic-bezier(.25,.8,.25,1);transition:margin .9s cubic-bezier(.25,.8,.25,1),border .9s cubic-bezier(.25,.8,.25,1),width .9s cubic-bezier(.25,.8,.25,1),height .9s cubic-bezier(.25,.8,.25,1),opacity .9s cubic-bezier(.25,.8,.25,1),transform .9s cubic-bezier(.25,.8,.25,1),-webkit-transform .9s cubic-bezier(.25,.8,.25,1)}.md-ripple.md-ripple-scaled{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.md-ripple.md-ripple-active,.md-ripple.md-ripple-full,.md-ripple.md-ripple-visible{opacity:.2}.md-ripple.md-ripple-remove{-webkit-animation:md-remove-ripple .9s cubic-bezier(.25,.8,.25,1);animation:md-remove-ripple .9s cubic-bezier(.25,.8,.25,1)}@-webkit-keyframes md-remove-ripple{0%{opacity:.15}to{opacity:0}}@keyframes md-remove-ripple{0%{opacity:.15}to{opacity:0}}.md-padding{padding:8px}.md-margin{margin:8px}.md-scroll-mask{position:absolute;background-color:transparent;top:0;right:0;bottom:0;left:0;z-index:50}.md-scroll-mask>.md-scroll-mask-bar{display:block;position:absolute;background-color:#fafafa;right:0;top:0;bottom:0;z-index:65;box-shadow:inset 0 0 1px rgba(0,0,0,.3)}.md-no-momentum{-webkit-overflow-scrolling:auto}.md-no-flicker{-webkit-filter:blur(0)}@media (min-width:960px){.md-padding{padding:16px}}body[dir=ltr],body[dir=rtl],html[dir=ltr],html[dir=rtl]{unicode-bidi:embed}bdo[dir=rtl]{direction:rtl}bdo[dir=ltr],bdo[dir=rtl]{unicode-bidi:bidi-override}bdo[dir=ltr]{direction:ltr}body,html{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;min-height:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.md-display-4{font-size:112px;font-weight:300;letter-spacing:-.01em;line-height:112px}.md-display-3{font-size:56px;font-weight:400;letter-spacing:-.005em;line-height:56px}.md-display-2{font-size:45px;font-weight:400;line-height:64px}.md-display-1{font-size:34px;font-weight:400;line-height:40px}.md-headline{font-size:24px;font-weight:400;line-height:32px}.md-title{font-size:20px;font-weight:500;letter-spacing:.005em}.md-subhead{font-size:16px;line-height:24px}.md-body-1,.md-subhead{font-weight:400;letter-spacing:.01em}.md-body-1{font-size:14px;line-height:20px}.md-body-2{font-size:14px;font-weight:500;letter-spacing:.01em;line-height:24px}.md-caption{font-size:12px;letter-spacing:.02em}.md-button{letter-spacing:.01em}button,html,input,select,textarea{font-family:Roboto,Helvetica Neue,sans-serif}button,input,select,textarea{font-size:100%}.md-panel-outer-wrapper{height:100%;left:0;position:absolute;top:0;width:100%}._md-panel-hidden{display:none}._md-panel-offscreen{left:-9999px}._md-panel-fullscreen{border-radius:0;left:0;min-height:100%;min-width:100%;position:fixed;top:0}._md-panel-shown .md-panel{opacity:1;-webkit-transition:none;transition:none}.md-panel{opacity:0;position:fixed}.md-panel._md-panel-shown{opacity:1;-webkit-transition:none;transition:none}.md-panel._md-panel-animate-enter{opacity:1;-webkit-transition:all .3s cubic-bezier(0,0,.2,1);transition:all .3s cubic-bezier(0,0,.2,1)}.md-panel._md-panel-animate-leave{opacity:1;-webkit-transition:all .3s cubic-bezier(.4,0,1,1);transition:all .3s cubic-bezier(.4,0,1,1)}.md-panel._md-panel-animate-fade-out,.md-panel._md-panel-animate-scale-out{opacity:0}.md-panel._md-panel-backdrop{height:100%;position:absolute;width:100%}.md-panel._md-opaque-enter{opacity:.48;-webkit-transition:opacity .3s cubic-bezier(0,0,.2,1);transition:opacity .3s cubic-bezier(0,0,.2,1)}.md-panel._md-opaque-leave{-webkit-transition:opacity .3s cubic-bezier(.4,0,1,1);transition:opacity .3s cubic-bezier(.4,0,1,1)}md-autocomplete{border-radius:2px;display:block;height:40px;position:relative;overflow:visible;min-width:190px}md-autocomplete[disabled] input{cursor:default}md-autocomplete[md-floating-label]{border-radius:0;background:transparent;height:auto}md-autocomplete[md-floating-label] md-input-container{padding-bottom:0}md-autocomplete[md-floating-label] md-autocomplete-wrap{height:auto}md-autocomplete[md-floating-label] .md-show-clear-button button{display:block;position:absolute;right:0;top:20px;width:30px;height:30px}md-autocomplete[md-floating-label] .md-show-clear-button input{padding-right:30px}[dir=rtl] md-autocomplete[md-floating-label] .md-show-clear-button input{padding-right:0;padding-left:30px}md-autocomplete md-autocomplete-wrap{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;box-sizing:border-box;position:relative;overflow:visible;height:40px}md-autocomplete md-autocomplete-wrap.md-menu-showing{z-index:51}md-autocomplete md-autocomplete-wrap input,md-autocomplete md-autocomplete-wrap md-input-container{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;box-sizing:border-box;min-width:0}md-autocomplete md-autocomplete-wrap md-progress-linear{position:absolute;bottom:-2px;left:0}md-autocomplete md-autocomplete-wrap md-progress-linear.md-inline{bottom:40px;right:2px;left:2px;width:auto}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate{position:absolute;top:0;left:0;width:100%;height:3px;-webkit-transition:none;transition:none}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate .md-container{-webkit-transition:none;transition:none;height:3px}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-enter{-webkit-transition:opacity .15s linear;transition:opacity .15s linear}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-enter.ng-enter-active{opacity:1}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-leave{-webkit-transition:opacity .15s linear;transition:opacity .15s linear}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-leave.ng-leave-active{opacity:0}md-autocomplete input:not(.md-input){font-size:14px;box-sizing:border-box;border:none;box-shadow:none;outline:none;background:transparent;width:100%;padding:0 15px;line-height:40px;height:40px}md-autocomplete input:not(.md-input)::-ms-clear{display:none}md-autocomplete .md-show-clear-button button{position:relative;line-height:20px;text-align:center;width:30px;height:30px;cursor:pointer;border:none;border-radius:50%;padding:0;font-size:12px;background:transparent;margin:auto 5px}md-autocomplete .md-show-clear-button button:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;-webkit-transform:scale(0);transform:scale(0);opacity:0;-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1)}md-autocomplete .md-show-clear-button button:focus{outline:none}md-autocomplete .md-show-clear-button button:focus:after{-webkit-transform:scale(1);transform:scale(1);opacity:1}md-autocomplete .md-show-clear-button button md-icon{position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0) scale(.9);transform:translate3d(-50%,-50%,0) scale(.9)}md-autocomplete .md-show-clear-button button md-icon path{stroke-width:0}md-autocomplete .md-show-clear-button button.ng-enter{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform .15s ease-out;transition:-webkit-transform .15s ease-out;transition:transform .15s ease-out;transition:transform .15s ease-out,-webkit-transform .15s ease-out}md-autocomplete .md-show-clear-button button.ng-enter.ng-enter-active{-webkit-transform:scale(1);transform:scale(1)}md-autocomplete .md-show-clear-button button.ng-leave{-webkit-transition:-webkit-transform .15s ease-out;transition:-webkit-transform .15s ease-out;transition:transform .15s ease-out;transition:transform .15s ease-out,-webkit-transform .15s ease-out}md-autocomplete .md-show-clear-button button.ng-leave.ng-leave-active{-webkit-transform:scale(0);transform:scale(0)}@media screen and (-ms-high-contrast:active){md-autocomplete input{border:1px solid #fff}md-autocomplete li:focus{color:#fff}}.md-virtual-repeat-container.md-autocomplete-suggestions-container{position:absolute;box-shadow:0 2px 5px rgba(0,0,0,.25);z-index:100;height:100%}.md-virtual-repeat-container.md-autocomplete-suggestions-container .highlight{font-weight:700}.md-virtual-repeat-container.md-not-found{height:48px}.md-autocomplete-suggestions{margin:0;list-style:none;padding:0}.md-autocomplete-suggestions li{font-size:14px;overflow:hidden;padding:0 15px;line-height:48px;height:48px;-webkit-transition:background .15s linear;transition:background .15s linear;margin:0;white-space:nowrap;text-overflow:ellipsis}.md-autocomplete-suggestions li:focus{outline:none}.md-autocomplete-suggestions li:not(.md-not-found-wrapper){cursor:pointer}@media screen and (-ms-high-contrast:active){.md-autocomplete-suggestions,md-autocomplete{border:1px solid #fff}}md-backdrop{-webkit-transition:opacity .45s;transition:opacity .45s;position:absolute;top:0;bottom:0;left:0;right:0;z-index:50}md-backdrop.md-menu-backdrop{position:fixed!important;z-index:99}md-backdrop.md-select-backdrop{z-index:81;-webkit-transition-duration:0;transition-duration:0}md-backdrop.md-dialog-backdrop{z-index:79}md-backdrop.md-bottom-sheet-backdrop{z-index:69}md-backdrop.md-sidenav-backdrop{z-index:59}md-backdrop.md-click-catcher{position:absolute}md-backdrop.md-opaque{opacity:.48}md-backdrop.md-opaque.ng-enter{opacity:0}md-backdrop.md-opaque.ng-enter.md-opaque.ng-enter-active{opacity:.48}md-backdrop.md-opaque.ng-leave{opacity:.48;-webkit-transition:opacity .4s;transition:opacity .4s}md-backdrop.md-opaque.ng-leave.md-opaque.ng-leave-active{opacity:0}md-bottom-sheet{position:absolute;left:0;right:0;bottom:0;padding:8px 16px 88px;z-index:70;border-top-width:1px;border-top-style:solid;-webkit-transform:translate3d(0,80px,0);transform:translate3d(0,80px,0);-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform}md-bottom-sheet.md-has-header{padding-top:0}md-bottom-sheet.ng-enter{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}md-bottom-sheet.ng-enter-active{opacity:1;display:block;-webkit-transform:translate3d(0,80px,0)!important;transform:translate3d(0,80px,0)!important}md-bottom-sheet.ng-leave-active{-webkit-transform:translate3d(0,100%,0)!important;transform:translate3d(0,100%,0)!important;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2)}md-bottom-sheet .md-subheader{background-color:transparent;font-family:Roboto,Helvetica Neue,sans-serif;line-height:56px;padding:0;white-space:nowrap}md-bottom-sheet md-inline-icon{display:inline-block;height:24px;width:24px;fill:#444}md-bottom-sheet md-list-item{display:-webkit-box;display:-webkit-flex;display:flex;outline:none}md-bottom-sheet md-list-item:hover{cursor:pointer}md-bottom-sheet.md-list md-list-item{padding:0;-webkit-box-align:center;-webkit-align-items:center;align-items:center;height:48px}md-bottom-sheet.md-grid{padding-left:24px;padding-right:24px;padding-top:0}md-bottom-sheet.md-grid md-list{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;flex-wrap:wrap}md-bottom-sheet.md-grid md-list,md-bottom-sheet.md-grid md-list-item{-webkit-box-direction:normal;-webkit-transition:all .5s;transition:all .5s;-webkit-box-align:center;-webkit-align-items:center;align-items:center}md-bottom-sheet.md-grid md-list-item{-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;height:96px;margin-top:8px;margin-bottom:8px}@media (max-width:960px){md-bottom-sheet.md-grid md-list-item{-webkit-box-flex:1;-webkit-flex:1 1 33.33333%;flex:1 1 33.33333%;max-width:33.33333%}md-bottom-sheet.md-grid md-list-item:nth-of-type(3n+1){-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start}md-bottom-sheet.md-grid md-list-item:nth-of-type(3n){-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end}}@media (min-width:960px) and (max-width:1279px){md-bottom-sheet.md-grid md-list-item{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:25%}}@media (min-width:1280px) and (max-width:1919px){md-bottom-sheet.md-grid md-list-item{-webkit-box-flex:1;-webkit-flex:1 1 16.66667%;flex:1 1 16.66667%;max-width:16.66667%}}@media (min-width:1920px){md-bottom-sheet.md-grid md-list-item{-webkit-box-flex:1;-webkit-flex:1 1 14.28571%;flex:1 1 14.28571%;max-width:14.28571%}}md-bottom-sheet.md-grid md-list-item:before{display:none}md-bottom-sheet.md-grid md-list-item .md-list-item-content{width:48px;padding-bottom:16px}md-bottom-sheet.md-grid md-list-item .md-grid-item-content,md-bottom-sheet.md-grid md-list-item .md-list-item-content{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;align-items:center}md-bottom-sheet.md-grid md-list-item .md-grid-item-content{border:1px solid transparent;width:80px}md-bottom-sheet.md-grid md-list-item .md-grid-text{font-weight:400;line-height:16px;font-size:13px;margin:0;white-space:nowrap;width:64px;text-align:center;text-transform:none;padding-top:8px}@media screen and (-ms-high-contrast:active){md-bottom-sheet{border:1px solid #fff}}button.md-button::-moz-focus-inner{border:0}.md-button{display:inline-block;position:relative;cursor:pointer;min-height:36px;min-width:88px;line-height:36px;vertical-align:middle;-webkit-box-align:center;-webkit-align-items:center;align-items:center;text-align:center;border-radius:2px;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:none;border:0;padding:0 6px;margin:6px 8px;background:transparent;color:currentColor;white-space:nowrap;text-transform:uppercase;font-weight:500;font-size:14px;font-style:inherit;font-variant:inherit;font-family:inherit;text-decoration:none;overflow:hidden;-webkit-transition:box-shadow .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1);transition:box-shadow .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.md-dense :not(.md-dense-disabled) .md-button:not(.md-dense-disabled),.md-dense>.md-button:not(.md-dense-disabled){min-height:32px;line-height:32px;font-size:13px}.md-button:focus{outline:none}.md-button:focus,.md-button:hover{text-decoration:none}.md-button.ng-hide,.md-button.ng-leave{-webkit-transition:none;transition:none}.md-button.md-cornered{border-radius:0}.md-button.md-icon{padding:0;background:none}.md-button.md-raised:not([disabled]){box-shadow:0 2px 5px 0 rgba(0,0,0,.26)}.md-button.md-icon-button{margin:0 6px;height:40px;min-width:0;line-height:24px;padding:8px;width:40px;border-radius:50%}.md-button.md-fab{z-index:20;line-height:56px;min-width:0;width:56px;height:56px;vertical-align:middle;box-shadow:0 2px 5px 0 rgba(0,0,0,.26);border-radius:50%;background-clip:padding-box;overflow:hidden;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-property:background-color,box-shadow,-webkit-transform;transition-property:background-color,box-shadow,-webkit-transform;transition-property:background-color,box-shadow,transform;transition-property:background-color,box-shadow,transform,-webkit-transform}.md-button.md-fab.md-fab-bottom-right{top:auto;right:20px;bottom:20px;left:auto;position:absolute}.md-button.md-fab.md-fab-bottom-left{top:auto;right:auto;bottom:20px;left:20px;position:absolute}.md-button.md-fab.md-fab-top-right{top:20px;right:20px;bottom:auto;left:auto;position:absolute}.md-button.md-fab.md-fab-top-left{top:20px;right:auto;bottom:auto;left:20px;position:absolute}.md-button.md-fab.md-mini{line-height:40px;width:40px;height:40px}.md-button.md-fab.ng-hide,.md-button.md-fab.ng-leave{-webkit-transition:none;transition:none}.md-button:not([disabled]).md-fab.md-focused,.md-button:not([disabled]).md-raised.md-focused{box-shadow:0 2px 5px 0 rgba(0,0,0,.26)}.md-button:not([disabled]).md-fab:active,.md-button:not([disabled]).md-raised:active{box-shadow:0 4px 8px 0 rgba(0,0,0,.4)}.md-button .md-ripple-container{border-radius:inherit;background-clip:padding-box;overflow:hidden;-webkit-transform:translateZ(0)}.md-button.md-icon-button md-icon,button.md-button.md-fab md-icon{display:block}.md-toast-open-top .md-button.md-fab-top-left,.md-toast-open-top .md-button.md-fab-top-right{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:translate3d(0,42px,0);transform:translate3d(0,42px,0)}.md-toast-open-top .md-button.md-fab-top-left:not([disabled]).md-focused,.md-toast-open-top .md-button.md-fab-top-left:not([disabled]):hover,.md-toast-open-top .md-button.md-fab-top-right:not([disabled]).md-focused,.md-toast-open-top .md-button.md-fab-top-right:not([disabled]):hover{-webkit-transform:translate3d(0,41px,0);transform:translate3d(0,41px,0)}.md-toast-open-bottom .md-button.md-fab-bottom-left,.md-toast-open-bottom .md-button.md-fab-bottom-right{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:translate3d(0,-42px,0);transform:translate3d(0,-42px,0)}.md-toast-open-bottom .md-button.md-fab-bottom-left:not([disabled]).md-focused,.md-toast-open-bottom .md-button.md-fab-bottom-left:not([disabled]):hover,.md-toast-open-bottom .md-button.md-fab-bottom-right:not([disabled]).md-focused,.md-toast-open-bottom .md-button.md-fab-bottom-right:not([disabled]):hover{-webkit-transform:translate3d(0,-43px,0);transform:translate3d(0,-43px,0)}.md-button-group{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-flex:1;-webkit-flex:1;flex:1;width:100%}.md-button-group>.md-button{-webkit-box-flex:1;-webkit-flex:1;flex:1;display:block;overflow:hidden;width:0;border-width:1px 0 1px 1px;border-radius:0;text-align:center;text-overflow:ellipsis;white-space:nowrap}.md-button-group>.md-button:first-child{border-radius:2px 0 0 2px}.md-button-group>.md-button:last-child{border-right-width:1px;border-radius:0 2px 2px 0}@media screen and (-ms-high-contrast:active){.md-button.md-fab,.md-button.md-raised{border:1px solid #fff}}md-card{box-sizing:border-box;-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;margin:8px;box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12)}md-card,md-card md-card-header{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-direction:normal}md-card md-card-header{padding:16px;-webkit-box-orient:horizontal;-webkit-flex-direction:row;flex-direction:row}md-card md-card-header:first-child md-card-avatar{margin-right:12px}[dir=rtl] md-card md-card-header:first-child md-card-avatar{margin-right:auto;margin-left:12px}md-card md-card-header:last-child md-card-avatar{margin-left:12px}[dir=rtl] md-card md-card-header:last-child md-card-avatar{margin-left:auto;margin-right:12px}md-card md-card-header md-card-avatar{width:40px;height:40px}md-card md-card-header md-card-avatar .md-user-avatar,md-card md-card-header md-card-avatar md-icon{border-radius:50%}md-card md-card-header md-card-avatar md-icon{padding:8px}md-card md-card-header md-card-avatar md-icon>svg{height:inherit;width:inherit}md-card md-card-header md-card-avatar+md-card-header-text{max-height:40px}md-card md-card-header md-card-avatar+md-card-header-text .md-title{font-size:14px}md-card md-card-header md-card-header-text{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}md-card md-card-header md-card-header-text .md-subhead{font-size:14px}md-card>img,md-card>md-card-header img,md-card md-card-title-media img{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;width:100%;height:auto}md-card md-card-title{padding:24px 16px 16px;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-card md-card-title+md-card-content{padding-top:0}md-card md-card-title md-card-title-text{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;display:-webkit-box;display:-webkit-flex;display:flex}md-card md-card-title md-card-title-text .md-subhead{padding-top:0;font-size:14px}md-card md-card-title md-card-title-text:only-child .md-subhead{padding-top:12px}md-card md-card-title md-card-title-media{margin-top:-8px}md-card md-card-title md-card-title-media .md-media-sm{height:80px;width:80px}md-card md-card-title md-card-title-media .md-media-md{height:112px;width:112px}md-card md-card-title md-card-title-media .md-media-lg{height:152px;width:152px}md-card md-card-content{display:block;padding:16px}md-card md-card-content>p:first-child{margin-top:0}md-card md-card-content>p:last-child{margin-bottom:0}md-card md-card-content .md-media-xl{height:240px;width:240px}md-card .md-actions,md-card md-card-actions{margin:8px}md-card .md-actions.layout-column .md-button:not(.md-icon-button),md-card md-card-actions.layout-column .md-button:not(.md-icon-button){margin:2px 0}md-card .md-actions.layout-column .md-button:not(.md-icon-button):first-of-type,md-card md-card-actions.layout-column .md-button:not(.md-icon-button):first-of-type{margin-top:0}md-card .md-actions.layout-column .md-button:not(.md-icon-button):last-of-type,md-card md-card-actions.layout-column .md-button:not(.md-icon-button):last-of-type{margin-bottom:0}md-card .md-actions.layout-column .md-button.md-icon-button,md-card md-card-actions.layout-column .md-button.md-icon-button{margin-top:6px;margin-bottom:6px}md-card .md-actions md-card-icon-actions,md-card md-card-actions md-card-icon-actions{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button),md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button){margin:0 4px}md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type,md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type{margin-left:0}[dir=rtl] md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type,[dir=rtl] md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type{margin-left:auto;margin-right:0}md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type,md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type{margin-right:0}[dir=rtl] md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type,[dir=rtl] md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type{margin-right:auto;margin-left:0}md-card .md-actions:not(.layout-column) .md-button.md-icon-button,md-card md-card-actions:not(.layout-column) .md-button.md-icon-button{margin-left:6px;margin-right:6px}md-card .md-actions:not(.layout-column) .md-button.md-icon-button:first-of-type,md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:first-of-type{margin-left:12px}[dir=rtl] md-card .md-actions:not(.layout-column) .md-button.md-icon-button:first-of-type,[dir=rtl] md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:first-of-type{margin-left:auto;margin-right:12px}md-card .md-actions:not(.layout-column) .md-button.md-icon-button:last-of-type,md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:last-of-type{margin-right:12px}[dir=rtl] md-card .md-actions:not(.layout-column) .md-button.md-icon-button:last-of-type,[dir=rtl] md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:last-of-type{margin-right:auto;margin-left:12px}md-card .md-actions:not(.layout-column) .md-button+md-card-icon-actions,md-card md-card-actions:not(.layout-column) .md-button+md-card-icon-actions{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-card md-card-footer{margin-top:auto;padding:16px}@media screen and (-ms-high-contrast:active){md-card{border:1px solid #fff}}.md-image-no-fill>img{width:auto;height:auto}.md-inline-form md-checkbox{margin:19px 0 18px}md-checkbox{box-sizing:border-box;display:inline-block;margin-bottom:16px;white-space:nowrap;cursor:pointer;outline:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;min-width:20px;min-height:20px;margin-left:0;margin-right:16px}[dir=rtl] md-checkbox{margin-left:16px;margin-right:0}md-checkbox:last-of-type{margin-left:0;margin-right:0}md-checkbox.md-focused:not([disabled]) .md-container:before{left:-8px;top:-8px;right:-8px;bottom:-8px}md-checkbox.md-focused:not([disabled]):not(.md-checked) .md-container:before{background-color:rgba(0,0,0,.12)}md-checkbox.md-align-top-left>div.md-container{top:12px}md-checkbox .md-container{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);box-sizing:border-box;display:inline-block;width:20px;height:20px;left:0;right:auto}[dir=rtl] md-checkbox .md-container{left:auto;right:0}md-checkbox .md-container:before{box-sizing:border-box;background-color:transparent;border-radius:50%;content:"";position:absolute;display:block;height:auto;left:0;top:0;right:0;bottom:0;-webkit-transition:all .5s;transition:all .5s;width:auto}md-checkbox .md-container:after{box-sizing:border-box;content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}md-checkbox .md-container .md-ripple-container{position:absolute;display:block;width:auto;height:auto;left:-15px;top:-15px;right:-15px;bottom:-15px}md-checkbox .md-icon{box-sizing:border-box;-webkit-transition:.24s;transition:.24s;position:absolute;top:0;left:0;width:20px;height:20px;border-width:2px;border-style:solid;border-radius:2px}md-checkbox.md-checked .md-icon{border-color:transparent}md-checkbox.md-checked .md-icon:after{box-sizing:border-box;-webkit-transform:rotate(45deg);transform:rotate(45deg);position:absolute;left:4.66667px;top:.22222px;display:table;width:6.66667px;height:13.33333px;border-width:2px;border-style:solid;border-top:0;border-left:0;content:""}md-checkbox[disabled]{cursor:default}md-checkbox.md-indeterminate .md-icon:after{box-sizing:border-box;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:table;width:12px;height:2px;border-width:2px;border-style:solid;border-top:0;border-left:0;content:""}md-checkbox .md-label{box-sizing:border-box;position:relative;display:inline-block;vertical-align:middle;white-space:normal;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;margin-left:30px;margin-right:0}[dir=rtl] md-checkbox .md-label{margin-left:0;margin-right:30px}.md-contact-chips .md-chips md-chip{padding:0 25px 0 0}[dir=rtl] .md-contact-chips .md-chips md-chip{padding:0 0 0 25px}.md-contact-chips .md-chips md-chip .md-contact-avatar{float:left}[dir=rtl] .md-contact-chips .md-chips md-chip .md-contact-avatar{float:right}.md-contact-chips .md-chips md-chip .md-contact-avatar img{height:32px;border-radius:16px}.md-contact-chips .md-chips md-chip .md-contact-name{display:inline-block;height:32px;margin-left:8px}[dir=rtl] .md-contact-chips .md-chips md-chip .md-contact-name{margin-left:auto;margin-right:8px}.md-contact-suggestion{height:56px}.md-contact-suggestion img{height:40px;border-radius:20px;margin-top:8px}.md-contact-suggestion .md-contact-name{margin-left:8px;width:120px}[dir=rtl] .md-contact-suggestion .md-contact-name{margin-left:auto;margin-right:8px}.md-contact-suggestion .md-contact-email,.md-contact-suggestion .md-contact-name{display:inline-block;overflow:hidden;text-overflow:ellipsis}.md-contact-chips-suggestions li{height:100%}.md-chips{display:block;font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px;padding:0 0 8px 3px;vertical-align:middle}.md-chips:after{content:"";display:table;clear:both}[dir=rtl] .md-chips{padding:0 3px 8px 0}.md-chips.md-readonly .md-chip-input-container{min-height:32px}.md-chips:not(.md-readonly){cursor:text}.md-chips.md-removable md-chip{padding-right:22px}[dir=rtl] .md-chips.md-removable md-chip{padding-right:0;padding-left:22px}.md-chips.md-removable md-chip .md-chip-content{padding-right:4px}[dir=rtl] .md-chips.md-removable md-chip .md-chip-content{padding-right:0;padding-left:4px}.md-chips md-chip{cursor:default;border-radius:16px;display:block;height:32px;line-height:32px;margin:8px 8px 0 0;padding:0 12px;float:left;box-sizing:border-box;max-width:100%;position:relative}[dir=rtl] .md-chips md-chip{margin:8px 0 0 8px;float:right}.md-chips md-chip .md-chip-content{display:block;float:left;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}[dir=rtl] .md-chips md-chip .md-chip-content{float:right}.md-chips md-chip .md-chip-content:focus{outline:none}.md-chips md-chip._md-chip-content-edit-is-enabled{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}.md-chips md-chip .md-chip-remove-container{position:absolute;right:0;line-height:22px}[dir=rtl] .md-chips md-chip .md-chip-remove-container{right:auto;left:0}.md-chips md-chip .md-chip-remove{text-align:center;width:32px;height:32px;min-width:0;padding:0;background:transparent;border:none;box-shadow:none;margin:0;position:relative}.md-chips md-chip .md-chip-remove md-icon{height:18px;width:18px;position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.md-chips .md-chip-input-container{display:block;line-height:32px;margin:8px 8px 0 0;padding:0;float:left}[dir=rtl] .md-chips .md-chip-input-container{margin:8px 0 0 8px;float:right}.md-chips .md-chip-input-container input:not([type]),.md-chips .md-chip-input-container input[type=email],.md-chips .md-chip-input-container input[type=number],.md-chips .md-chip-input-container input[type=tel],.md-chips .md-chip-input-container input[type=text],.md-chips .md-chip-input-container input[type=url]{border:0;height:32px;line-height:32px;padding:0}.md-chips .md-chip-input-container input:not([type]):focus,.md-chips .md-chip-input-container input[type=email]:focus,.md-chips .md-chip-input-container input[type=number]:focus,.md-chips .md-chip-input-container input[type=tel]:focus,.md-chips .md-chip-input-container input[type=text]:focus,.md-chips .md-chip-input-container input[type=url]:focus{outline:none}.md-chips .md-chip-input-container md-autocomplete,.md-chips .md-chip-input-container md-autocomplete-wrap{background:transparent}.md-chips .md-chip-input-container md-autocomplete md-autocomplete-wrap{box-shadow:none}.md-chips .md-chip-input-container input{border:0;height:32px;line-height:32px;padding:0}.md-chips .md-chip-input-container input:focus{outline:none}.md-chips .md-chip-input-container md-autocomplete,.md-chips .md-chip-input-container md-autocomplete-wrap{height:32px}.md-chips .md-chip-input-container md-autocomplete{box-shadow:none}.md-chips .md-chip-input-container md-autocomplete input{position:relative}.md-chips .md-chip-input-container:not(:first-child){margin:8px 8px 0 0}[dir=rtl] .md-chips .md-chip-input-container:not(:first-child){margin:8px 0 0 8px}.md-chips .md-chip-input-container input{background:transparent;border-width:0}.md-chips md-autocomplete button{display:none}@media screen and (-ms-high-contrast:active){.md-chip-input-container,md-chip{border:1px solid #fff}.md-chip-input-container md-autocomplete{border:none}}md-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}md-content[md-scroll-y]{overflow-y:auto;overflow-x:hidden}md-content[md-scroll-x]{overflow-x:auto;overflow-y:hidden}@media print{md-content{overflow:visible!important}}md-calendar{font-size:13px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.md-calendar-scroll-mask{display:inline-block;overflow:hidden;height:308px}.md-calendar-scroll-mask .md-virtual-repeat-scroller{overflow-y:scroll;-webkit-overflow-scrolling:touch}.md-calendar-scroll-mask .md-virtual-repeat-scroller::-webkit-scrollbar{display:none}.md-calendar-scroll-mask .md-virtual-repeat-offsetter{width:100%}.md-calendar-scroll-container{box-shadow:inset -3px 3px 6px rgba(0,0,0,.2);display:inline-block;height:308px;width:346px}.md-calendar-date{height:44px;width:44px;text-align:center;padding:0;border:none;box-sizing:content-box}.md-calendar-date:first-child{padding-left:16px}[dir=rtl] .md-calendar-date:first-child{padding-left:0;padding-right:16px}.md-calendar-date:last-child{padding-right:16px}[dir=rtl] .md-calendar-date:last-child{padding-right:0;padding-left:16px}.md-calendar-date.md-calendar-date-disabled{cursor:default}.md-calendar-date-selection-indicator{-webkit-transition:background-color,color .4s cubic-bezier(.25,.8,.25,1);transition:background-color,color .4s cubic-bezier(.25,.8,.25,1);border-radius:50%;display:inline-block;width:40px;height:40px;line-height:40px}.md-calendar-date:not(.md-disabled) .md-calendar-date-selection-indicator{cursor:pointer}.md-calendar-month-label{height:44px;font-size:14px;font-weight:500;padding:0 0 0 24px}[dir=rtl] .md-calendar-month-label{padding:0 24px 0 0}.md-calendar-month-label.md-calendar-label-clickable{cursor:pointer}.md-calendar-month-label md-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}[dir=rtl] .md-calendar-month-label md-icon{-webkit-transform:none;transform:none}.md-calendar-month-label span{vertical-align:middle}.md-calendar-day-header{table-layout:fixed;border-spacing:0;border-collapse:collapse}.md-calendar-day-header th{height:40px;width:44px;text-align:center;padding:0;border:none;box-sizing:content-box;font-weight:400}.md-calendar-day-header th:first-child{padding-left:16px}[dir=rtl] .md-calendar-day-header th:first-child{padding-left:0;padding-right:16px}.md-calendar-day-header th:last-child{padding-right:16px}[dir=rtl] .md-calendar-day-header th:last-child{padding-right:0;padding-left:16px}.md-calendar{table-layout:fixed;border-spacing:0;border-collapse:collapse}.md-calendar tr:last-child td{border-bottom-width:1px;border-bottom-style:solid}.md-calendar:first-child{border-top:1px solid transparent}.md-calendar tbody,.md-calendar td,.md-calendar tr{vertical-align:middle;box-sizing:content-box}md-datepicker{white-space:nowrap;overflow:hidden;vertical-align:middle}.md-inline-form md-datepicker{margin-top:12px}.md-datepicker-button{display:inline-block;box-sizing:border-box;background:none;vertical-align:middle;position:relative}.md-datepicker-button:before{top:0;left:0;bottom:0;right:0;position:absolute;content:"";speak:none}.md-datepicker-input{font-size:14px;box-sizing:border-box;border:none;box-shadow:none;outline:none;background:transparent;min-width:120px;max-width:328px;padding:0 0 5px}.md-datepicker-input::-ms-clear{display:none}._md-datepicker-floating-label>md-datepicker{overflow:visible}._md-datepicker-floating-label>md-datepicker .md-datepicker-input-container{border:none}._md-datepicker-floating-label>md-datepicker .md-datepicker-button{float:left;margin-top:-12px;top:9.5px}[dir=rtl] ._md-datepicker-floating-label>md-datepicker .md-datepicker-button{float:right}._md-datepicker-floating-label .md-input{float:none}._md-datepicker-floating-label._md-datepicker-has-calendar-icon>label:not(.md-no-float):not(.md-container-ignore){right:18px;left:auto;width:calc(100% - 84px)}[dir=rtl] ._md-datepicker-floating-label._md-datepicker-has-calendar-icon>label:not(.md-no-float):not(.md-container-ignore){right:auto;left:18px}._md-datepicker-floating-label._md-datepicker-has-calendar-icon .md-input-message-animation{margin-left:64px}[dir=rtl] ._md-datepicker-floating-label._md-datepicker-has-calendar-icon .md-input-message-animation{margin-left:auto;margin-right:64px}._md-datepicker-has-triangle-icon{padding-right:18px;margin-right:-18px}[dir=rtl] ._md-datepicker-has-triangle-icon{padding-right:0;padding-left:18px;margin-right:auto;margin-left:-18px}.md-datepicker-input-container{position:relative;border-bottom-width:1px;border-bottom-style:solid;display:inline-block;width:auto}.md-icon-button+.md-datepicker-input-container{margin-left:12px}[dir=rtl] .md-icon-button+.md-datepicker-input-container{margin-left:auto;margin-right:12px}.md-datepicker-input-container.md-datepicker-focused{border-bottom-width:2px}.md-datepicker-is-showing .md-scroll-mask{z-index:99}.md-datepicker-calendar-pane{position:absolute;top:0;left:-100%;z-index:100;border-width:1px;border-style:solid;background:transparent;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transition:-webkit-transform .2s cubic-bezier(.25,.8,.25,1);transition:-webkit-transform .2s cubic-bezier(.25,.8,.25,1);transition:transform .2s cubic-bezier(.25,.8,.25,1);transition:transform .2s cubic-bezier(.25,.8,.25,1),-webkit-transform .2s cubic-bezier(.25,.8,.25,1)}.md-datepicker-calendar-pane.md-pane-open{-webkit-transform:scale(1);transform:scale(1)}.md-datepicker-input-mask{height:40px;width:340px;position:relative;overflow:hidden;background:transparent;pointer-events:none;cursor:text}.md-datepicker-calendar{opacity:0;-webkit-transition:opacity .2s cubic-bezier(.5,0,.25,1);transition:opacity .2s cubic-bezier(.5,0,.25,1)}.md-pane-open .md-datepicker-calendar{opacity:1}.md-datepicker-calendar md-calendar:focus{outline:none}.md-datepicker-expand-triangle{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid}.md-datepicker-triangle-button{position:absolute;right:0;bottom:-2.5px;-webkit-transform:translateX(45%);transform:translateX(45%)}[dir=rtl] .md-datepicker-triangle-button{right:auto;left:0;-webkit-transform:translateX(-45%);transform:translateX(-45%)}.md-datepicker-triangle-button.md-button.md-icon-button{height:36px;width:36px;position:absolute;padding:8px}md-datepicker[disabled] .md-datepicker-input-container{border-bottom-color:transparent}md-datepicker[disabled] .md-datepicker-triangle-button{display:none}.md-datepicker-open{overflow:hidden}.md-datepicker-open .md-datepicker-input-container,.md-datepicker-open input.md-input{border-bottom-color:transparent}.md-datepicker-open .md-datepicker-triangle-button,.md-datepicker-open.md-input-has-placeholder>label,.md-datepicker-open.md-input-has-value>label,.md-datepicker-pos-adjusted .md-datepicker-input-mask{display:none}.md-datepicker-calendar-pane .md-calendar{-webkit-transform:translateY(-85px);transform:translateY(-85px);-webkit-transition:-webkit-transform .65s cubic-bezier(.25,.8,.25,1);transition:-webkit-transform .65s cubic-bezier(.25,.8,.25,1);transition:transform .65s cubic-bezier(.25,.8,.25,1);transition:transform .65s cubic-bezier(.25,.8,.25,1),-webkit-transform .65s cubic-bezier(.25,.8,.25,1);-webkit-transition-delay:.125s;transition-delay:.125s}.md-datepicker-calendar-pane.md-pane-open .md-calendar{-webkit-transform:translateY(0);transform:translateY(0)}.md-dialog-is-showing{max-height:100%}.md-dialog-container{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;position:absolute;top:0;left:0;width:100%;height:100%;z-index:80;overflow:hidden}.md-dialog-container,md-dialog{display:-webkit-box;display:-webkit-flex;display:flex}md-dialog{opacity:0;min-width:240px;max-width:80%;max-height:80%;position:relative;overflow:auto;box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12);-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}md-dialog.md-transition-in{opacity:1;-webkit-transform:translate(0,0) scale(1);transform:translate(0,0) scale(1)}md-dialog.md-transition-in,md-dialog.md-transition-out{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1)}md-dialog.md-transition-out{opacity:0;-webkit-transform:translate(0,100%) scale(.2);transform:translate(0,100%) scale(.2)}md-dialog>form{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;overflow:auto}md-dialog .md-dialog-content{padding:24px}md-dialog md-dialog-content{-webkit-box-ordinal-group:2;-webkit-order:1;order:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;overflow:auto;-webkit-overflow-scrolling:touch}md-dialog md-dialog-content:not([layout=row])>:first-child:not(.md-subheader){margin-top:0}md-dialog md-dialog-content:focus{outline:none}md-dialog md-dialog-content .md-subheader{margin:0}md-dialog md-dialog-content .md-dialog-content-body{width:100%}md-dialog md-dialog-content .md-prompt-input-container{width:100%;box-sizing:border-box}md-dialog .md-actions,md-dialog md-dialog-actions{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-ordinal-group:3;-webkit-order:2;order:2;box-sizing:border-box;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;margin-bottom:0;padding-right:8px;padding-left:16px;min-height:52px;overflow:hidden}[dir=rtl] md-dialog .md-actions,[dir=rtl] md-dialog md-dialog-actions{padding-right:16px;padding-left:8px}md-dialog .md-actions .md-button,md-dialog md-dialog-actions .md-button{margin:8px 0 8px 8px}[dir=rtl] md-dialog .md-actions .md-button,[dir=rtl] md-dialog md-dialog-actions .md-button{margin-left:0;margin-right:8px}md-dialog.md-content-overflow .md-actions,md-dialog.md-content-overflow md-dialog-actions{border-top-width:1px;border-top-style:solid}@media screen and (-ms-high-contrast:active){md-dialog{border:1px solid #fff}}@media (max-width:959px){md-dialog.md-dialog-fullscreen{min-height:100%;min-width:100%;border-radius:0}}md-divider{display:block;border-top-width:1px;border-top-style:solid;margin:0}md-divider[md-inset]{margin-left:80px}[dir=rtl] md-divider[md-inset]{margin-left:auto;margin-right:80px}.layout-gt-lg-row>md-divider,.layout-gt-md-row>md-divider,.layout-gt-sm-row>md-divider,.layout-gt-xs-row>md-divider,.layout-lg-row>md-divider,.layout-md-row>md-divider,.layout-row>md-divider,.layout-sm-row>md-divider,.layout-xl-row>md-divider,.layout-xs-row>md-divider{border-top-width:0;border-right-width:1px;border-right-style:solid}md-fab-speed-dial{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;z-index:20}md-fab-speed-dial.md-fab-bottom-right{top:auto;right:20px;bottom:20px;left:auto;position:absolute}md-fab-speed-dial.md-fab-bottom-left{top:auto;right:auto;bottom:20px;left:20px;position:absolute}md-fab-speed-dial.md-fab-top-right{top:20px;right:20px;bottom:auto;left:auto;position:absolute}md-fab-speed-dial.md-fab-top-left{top:20px;right:auto;bottom:auto;left:20px;position:absolute}md-fab-speed-dial:not(.md-hover-full){pointer-events:none}md-fab-speed-dial:not(.md-hover-full) .md-fab-action-item,md-fab-speed-dial:not(.md-hover-full).md-is-open,md-fab-speed-dial:not(.md-hover-full) md-fab-trigger{pointer-events:auto}md-fab-speed-dial ._md-css-variables{z-index:20}md-fab-speed-dial.md-is-open .md-fab-action-item{-webkit-box-align:center;-webkit-align-items:center;align-items:center}md-fab-speed-dial md-fab-actions{display:-webkit-box;display:-webkit-flex;display:flex;height:auto}md-fab-speed-dial md-fab-actions .md-fab-action-item{-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2)}md-fab-speed-dial.md-down{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}md-fab-speed-dial.md-down md-fab-trigger{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}md-fab-speed-dial.md-down md-fab-actions{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-ordinal-group:3;-webkit-order:2;order:2}md-fab-speed-dial.md-up{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}md-fab-speed-dial.md-up md-fab-trigger{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}md-fab-speed-dial.md-up md-fab-actions{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-box-ordinal-group:2;-webkit-order:1;order:1}md-fab-speed-dial.md-left{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-fab-speed-dial.md-left md-fab-trigger{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}md-fab-speed-dial.md-left md-fab-actions{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-ordinal-group:2;-webkit-order:1;order:1}md-fab-speed-dial.md-left md-fab-actions .md-fab-action-item{-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2)}md-fab-speed-dial.md-right{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-fab-speed-dial.md-right md-fab-trigger{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}md-fab-speed-dial.md-right md-fab-actions{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-ordinal-group:3;-webkit-order:2;order:2}md-fab-speed-dial.md-right md-fab-actions .md-fab-action-item{-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2)}md-fab-speed-dial.md-fling-remove .md-fab-action-item>*,md-fab-speed-dial.md-scale-remove .md-fab-action-item>*{visibility:hidden}md-fab-speed-dial.md-fling .md-fab-action-item{opacity:1}md-fab-speed-dial.md-fling.md-animations-waiting .md-fab-action-item{opacity:0;-webkit-transition-duration:0s;transition-duration:0s}md-fab-speed-dial.md-scale .md-fab-action-item{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-duration:.14286s;transition-duration:.14286s}md-fab-toolbar{display:block}md-fab-toolbar.md-fab-bottom-right{top:auto;right:20px;bottom:20px;left:auto;position:absolute}md-fab-toolbar.md-fab-bottom-left{top:auto;right:auto;bottom:20px;left:20px;position:absolute}md-fab-toolbar.md-fab-top-right{top:20px;right:20px;bottom:auto;left:auto;position:absolute}md-fab-toolbar.md-fab-top-left{top:20px;right:auto;bottom:auto;left:20px;position:absolute}md-fab-toolbar .md-fab-toolbar-wrapper{display:block;position:relative;overflow:hidden;height:68px}md-fab-toolbar md-fab-trigger{position:absolute;z-index:20}md-fab-toolbar md-fab-trigger button{overflow:visible!important}md-fab-toolbar md-fab-trigger .md-fab-toolbar-background{display:block;position:absolute;z-index:21;opacity:1;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2)}md-fab-toolbar md-fab-trigger md-icon{position:relative;z-index:22;opacity:1;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}md-fab-toolbar.md-left md-fab-trigger{right:0}[dir=rtl] md-fab-toolbar.md-left md-fab-trigger{right:auto;left:0}md-fab-toolbar.md-left .md-toolbar-tools{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}md-fab-toolbar.md-left .md-toolbar-tools>.md-button:first-child{margin-right:.6rem}[dir=rtl] md-fab-toolbar.md-left .md-toolbar-tools>.md-button:first-child{margin-right:auto;margin-left:.6rem}md-fab-toolbar.md-left .md-toolbar-tools>.md-button:first-child{margin-left:-.8rem}[dir=rtl] md-fab-toolbar.md-left .md-toolbar-tools>.md-button:first-child{margin-left:auto;margin-right:-.8rem}md-fab-toolbar.md-left .md-toolbar-tools>.md-button:last-child{margin-right:8px}[dir=rtl] md-fab-toolbar.md-left .md-toolbar-tools>.md-button:last-child{margin-right:auto;margin-left:8px}md-fab-toolbar.md-right md-fab-trigger{left:0}[dir=rtl] md-fab-toolbar.md-right md-fab-trigger{left:auto;right:0}md-fab-toolbar.md-right .md-toolbar-tools{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-fab-toolbar md-toolbar{background-color:transparent!important;pointer-events:none;z-index:23}md-fab-toolbar md-toolbar .md-toolbar-tools{padding:0 20px;margin-top:3px}md-fab-toolbar md-toolbar .md-fab-action-item{opacity:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-duration:.15s;transition-duration:.15s}md-fab-toolbar.md-is-open md-fab-trigger>button{box-shadow:none}md-fab-toolbar.md-is-open md-fab-trigger>button md-icon{opacity:0}md-fab-toolbar.md-is-open .md-fab-action-item{opacity:1;-webkit-transform:scale(1);transform:scale(1)}md-grid-list{display:block;position:relative}md-grid-list,md-grid-list md-grid-tile,md-grid-list md-grid-tile-footer,md-grid-list md-grid-tile-header,md-grid-list md-grid-tile>figure{box-sizing:border-box}md-grid-list md-grid-tile{display:block;position:absolute}md-grid-list md-grid-tile figure{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;height:100%;top:0;bottom:0;padding:0;margin:0}md-grid-list md-grid-tile figure,md-grid-list md-grid-tile md-grid-tile-footer,md-grid-list md-grid-tile md-grid-tile-header{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;position:absolute;right:0;left:0}md-grid-list md-grid-tile md-grid-tile-footer,md-grid-list md-grid-tile md-grid-tile-header{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;height:48px;color:#fff;background:rgba(0,0,0,.18);overflow:hidden}md-grid-list md-grid-tile md-grid-tile-footer h3,md-grid-list md-grid-tile md-grid-tile-footer h4,md-grid-list md-grid-tile md-grid-tile-header h3,md-grid-list md-grid-tile md-grid-tile-header h4{font-weight:400;margin:0 0 0 16px}md-grid-list md-grid-tile md-grid-tile-footer h3,md-grid-list md-grid-tile md-grid-tile-header h3{font-size:14px}md-grid-list md-grid-tile md-grid-tile-footer h4,md-grid-list md-grid-tile md-grid-tile-header h4{font-size:12px}md-grid-list md-grid-tile md-grid-tile-header{top:0}md-grid-list md-grid-tile md-grid-tile-footer{bottom:0}@media screen and (-ms-high-contrast:active){md-grid-tile{border:1px solid #fff}md-grid-tile-footer{border-top:1px solid #fff}}md-icon{margin:auto;background-repeat:no-repeat;display:inline-block;vertical-align:middle;fill:currentColor;height:24px;width:24px;min-height:24px;min-width:24px}md-icon svg{pointer-events:none;display:block}md-icon[md-font-icon]{line-height:24px;width:auto}md-input-container{display:inline-block;position:relative;padding:2px;margin:18px 0;vertical-align:middle}md-input-container:after{content:"";display:table;clear:both}md-input-container.md-block{display:block}md-input-container .md-errors-spacer{float:right;min-height:24px;min-width:1px}[dir=rtl] md-input-container .md-errors-spacer{float:left}md-input-container>md-icon{position:absolute;top:8px;left:2px;right:auto}[dir=rtl] md-input-container>md-icon{left:auto;right:2px}md-input-container input[type=color],md-input-container input[type=date],md-input-container input[type=datetime-local],md-input-container input[type=datetime],md-input-container input[type=email],md-input-container input[type=month],md-input-container input[type=number],md-input-container input[type=password],md-input-container input[type=search],md-input-container input[type=tel],md-input-container input[type=text],md-input-container input[type=time],md-input-container input[type=url],md-input-container input[type=week],md-input-container textarea{-moz-appearance:none;-webkit-appearance:none}md-input-container input[type=date],md-input-container input[type=datetime-local],md-input-container input[type=month],md-input-container input[type=time],md-input-container input[type=week]{min-height:26px}md-input-container textarea{resize:none;overflow:hidden}md-input-container textarea.md-input{min-height:26px;-ms-flex-preferred-size:auto}md-input-container textarea[md-no-autogrow]{height:auto;overflow:auto}md-input-container label:not(.md-container-ignore){position:absolute;bottom:100%;left:0;right:auto}[dir=rtl] md-input-container label:not(.md-container-ignore){left:auto;right:0}md-input-container label:not(.md-container-ignore).md-required:after{content:" *";font-size:13px;vertical-align:top}md-input-container .md-placeholder,md-input-container label:not(.md-no-float):not(.md-container-ignore){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;-webkit-box-ordinal-group:2;-webkit-order:1;order:1;pointer-events:none;-webkit-font-smoothing:antialiased;padding-left:3px;padding-right:0;z-index:1;-webkit-transform:translate3d(0,28px,0) scale(1);transform:translate3d(0,28px,0) scale(1);-webkit-transition:-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:transform .4s cubic-bezier(.25,.8,.25,1);transition:transform .4s cubic-bezier(.25,.8,.25,1),-webkit-transform .4s cubic-bezier(.25,.8,.25,1);max-width:100%;-webkit-transform-origin:left top;transform-origin:left top}[dir=rtl] md-input-container .md-placeholder,[dir=rtl] md-input-container label:not(.md-no-float):not(.md-container-ignore){padding-left:0;padding-right:3px;-webkit-transform-origin:right top;transform-origin:right top}md-input-container .md-placeholder{position:absolute;top:0;opacity:0;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform;-webkit-transform:translate3d(0,30px,0);transform:translate3d(0,30px,0)}md-input-container.md-input-focused .md-placeholder{opacity:1;-webkit-transform:translate3d(0,24px,0);transform:translate3d(0,24px,0)}md-input-container.md-input-has-value .md-placeholder{-webkit-transition:none;transition:none;opacity:0}md-input-container:not(.md-input-has-value) input:not(:focus),md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-ampm-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-day-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-hour-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-millisecond-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-minute-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-month-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-second-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-text,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-week-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-year-field{color:transparent}md-input-container .md-input{-webkit-box-ordinal-group:3;-webkit-order:2;order:2;display:block;margin-top:0;background:none;padding:2px 2px 1px;border-width:0 0 1px;line-height:26px;height:30px;-ms-flex-preferred-size:26px;border-radius:0;border-style:solid;width:100%;box-sizing:border-box;float:left}[dir=rtl] md-input-container .md-input{float:right}md-input-container .md-input:focus{outline:none}md-input-container .md-input:invalid{outline:none;box-shadow:none}md-input-container .md-input.md-no-flex{-webkit-box-flex:0!important;-webkit-flex:none!important;flex:none!important}md-input-container .md-char-counter{text-align:right;padding-right:2px;padding-left:0}[dir=rtl] md-input-container .md-char-counter{text-align:left;padding-right:0;padding-left:2px}md-input-container .md-input-messages-animation{position:relative;-webkit-box-ordinal-group:5;-webkit-order:4;order:4;overflow:hidden;clear:left}[dir=rtl] md-input-container .md-input-messages-animation{clear:right}md-input-container .md-char-counter,md-input-container .md-input-message-animation{font-size:12px;line-height:14px;overflow:hidden;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);opacity:1;margin-top:0;padding-top:5px}md-input-container .md-char-counter:not(.md-char-counter),md-input-container .md-input-message-animation:not(.md-char-counter){padding-right:5px;padding-left:0}[dir=rtl] md-input-container .md-char-counter:not(.md-char-counter),[dir=rtl] md-input-container .md-input-message-animation:not(.md-char-counter){padding-right:0;padding-left:5px}md-input-container .md-input-message-animation.ng-enter-prepare,md-input-container .md-input-message-animation.ng-enter:not(.ng-enter-active),md-input-container:not(.md-input-invalid) .md-auto-hide .md-input-message-animation{opacity:0;margin-top:-100px}md-input-container.md-input-focused label:not(.md-no-float),md-input-container.md-input-has-placeholder label:not(.md-no-float),md-input-container.md-input-has-value label:not(.md-no-float){-webkit-transform:translate3d(0,6px,0) scale(.75);transform:translate3d(0,6px,0) scale(.75);-webkit-transition:width .4s cubic-bezier(.25,.8,.25,1),-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:width .4s cubic-bezier(.25,.8,.25,1),-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:transform .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1);transition:transform .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1),-webkit-transform .4s cubic-bezier(.25,.8,.25,1)}md-input-container.md-input-has-value label{-webkit-transition:none;transition:none}md-input-container.md-input-focused .md-input,md-input-container.md-input-resized .md-input,md-input-container .md-input.ng-invalid.ng-dirty{padding-bottom:0;border-width:0 0 2px}[disabled] md-input-container .md-input,md-input-container .md-input[disabled]{background-position:bottom -1px left 0;background-size:4px 1px;background-repeat:repeat-x}md-input-container.md-icon-float{-webkit-transition:margin-top .4s cubic-bezier(.25,.8,.25,1);transition:margin-top .4s cubic-bezier(.25,.8,.25,1)}md-input-container.md-icon-float>label{pointer-events:none;position:absolute}md-input-container.md-icon-float>md-icon{top:8px;left:2px;right:auto}[dir=rtl] md-input-container.md-icon-float>md-icon{left:auto;right:2px}md-input-container.md-icon-left>label .md-placeholder,md-input-container.md-icon-left>label:not(.md-no-float):not(.md-container-ignore),md-input-container.md-icon-right>label .md-placeholder,md-input-container.md-icon-right>label:not(.md-no-float):not(.md-container-ignore){width:calc(100% - 36px - 18px)}md-input-container.md-icon-left{padding-left:36px;padding-right:0}[dir=rtl] md-input-container.md-icon-left{padding-left:0;padding-right:36px}md-input-container.md-icon-left>label{left:36px;right:auto}[dir=rtl] md-input-container.md-icon-left>label{left:auto;right:36px}md-input-container.md-icon-right{padding-left:0;padding-right:36px}[dir=rtl] md-input-container.md-icon-right{padding-left:36px;padding-right:0}md-input-container.md-icon-right>md-icon:last-of-type{margin:0;right:2px;left:auto}[dir=rtl] md-input-container.md-icon-right>md-icon:last-of-type{right:auto;left:2px}md-input-container.md-icon-left.md-icon-right{padding-left:36px;padding-right:36px}md-input-container.md-icon-left.md-icon-right>label .md-placeholder,md-input-container.md-icon-left.md-icon-right>label:not(.md-no-float):not(.md-container-ignore){width:calc(100% - 72px)}.md-resize-wrapper{position:relative}.md-resize-wrapper:after{content:"";display:table;clear:both}.md-resize-handle{position:absolute;bottom:-5px;left:0;height:10px;background:transparent;width:100%;cursor:ns-resize}@media screen and (-ms-high-contrast:active){md-input-container.md-default-theme>md-icon{fill:#fff}}md-list{display:block;padding:8px 0}md-list .md-subheader{font-size:14px;font-weight:500;letter-spacing:.01em;line-height:1.2em}md-list.md-dense md-list-item,md-list.md-dense md-list-item .md-list-item-inner{min-height:48px}md-list.md-dense md-list-item .md-list-item-inner:before,md-list.md-dense md-list-item:before{content:"";min-height:48px;visibility:hidden;display:inline-block}md-list.md-dense md-list-item .md-list-item-inner md-icon:first-child,md-list.md-dense md-list-item md-icon:first-child{width:20px;height:20px}md-list.md-dense md-list-item .md-list-item-inner>md-icon:first-child:not(.md-avatar-icon),md-list.md-dense md-list-item>md-icon:first-child:not(.md-avatar-icon){margin-right:36px}[dir=rtl] md-list.md-dense md-list-item .md-list-item-inner>md-icon:first-child:not(.md-avatar-icon),[dir=rtl] md-list.md-dense md-list-item>md-icon:first-child:not(.md-avatar-icon){margin-right:auto;margin-left:36px}md-list.md-dense md-list-item .md-avatar,md-list.md-dense md-list-item .md-avatar-icon,md-list.md-dense md-list-item .md-list-item-inner .md-avatar,md-list.md-dense md-list-item .md-list-item-inner .md-avatar-icon{margin-right:20px}[dir=rtl] md-list.md-dense md-list-item .md-avatar,[dir=rtl] md-list.md-dense md-list-item .md-avatar-icon,[dir=rtl] md-list.md-dense md-list-item .md-list-item-inner .md-avatar,[dir=rtl] md-list.md-dense md-list-item .md-list-item-inner .md-avatar-icon{margin-right:auto;margin-left:20px}md-list.md-dense md-list-item .md-avatar,md-list.md-dense md-list-item .md-list-item-inner .md-avatar{-webkit-box-flex:0;-webkit-flex:none;flex:none;width:36px;height:36px}md-list.md-dense md-list-item.md-2-line .md-list-item-text.md-offset,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text.md-offset,md-list.md-dense md-list-item.md-3-line .md-list-item-text.md-offset,md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text.md-offset{margin-left:56px}[dir=rtl] md-list.md-dense md-list-item.md-2-line .md-list-item-text.md-offset,[dir=rtl] md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text.md-offset,[dir=rtl] md-list.md-dense md-list-item.md-3-line .md-list-item-text.md-offset,[dir=rtl] md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text.md-offset{margin-left:auto;margin-right:56px}md-list.md-dense md-list-item.md-2-line .md-list-item-text h3,md-list.md-dense md-list-item.md-2-line .md-list-item-text h4,md-list.md-dense md-list-item.md-2-line .md-list-item-text p,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text h3,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text h4,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text p,md-list.md-dense md-list-item.md-3-line .md-list-item-text h3,md-list.md-dense md-list-item.md-3-line .md-list-item-text h4,md-list.md-dense md-list-item.md-3-line .md-list-item-text p,md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text h3,md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text h4,md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text p{line-height:1.05;font-size:12px}md-list.md-dense md-list-item.md-2-line .md-list-item-text h3,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text h3,md-list.md-dense md-list-item.md-3-line .md-list-item-text h3,md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text h3{font-size:13px}md-list.md-dense md-list-item.md-2-line,md-list.md-dense md-list-item.md-2-line>.md-no-style{min-height:60px}md-list.md-dense md-list-item.md-2-line:before,md-list.md-dense md-list-item.md-2-line>.md-no-style:before{content:"";min-height:60px;visibility:hidden;display:inline-block}md-list.md-dense md-list-item.md-2-line .md-avatar-icon,md-list.md-dense md-list-item.md-2-line>.md-avatar,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-avatar-icon,md-list.md-dense md-list-item.md-2-line>.md-no-style>.md-avatar{margin-top:12px}md-list.md-dense md-list-item.md-3-line,md-list.md-dense md-list-item.md-3-line>.md-no-style{min-height:76px}md-list.md-dense md-list-item.md-3-line:before,md-list.md-dense md-list-item.md-3-line>.md-no-style:before{content:"";min-height:76px;visibility:hidden;display:inline-block}md-list.md-dense md-list-item.md-3-line>.md-avatar,md-list.md-dense md-list-item.md-3-line>.md-no-style>.md-avatar,md-list.md-dense md-list-item.md-3-line>.md-no-style>md-icon:first-child,md-list.md-dense md-list-item.md-3-line>md-icon:first-child{margin-top:16px}md-list-item{position:relative}md-list-item.md-proxy-focus.md-focused .md-no-style{-webkit-transition:background-color .15s linear;transition:background-color .15s linear}md-list-item._md-button-wrap{position:relative}md-list-item._md-button-wrap>div.md-button:first-child{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;padding:0 16px;margin:0;font-weight:400;text-align:left;border:medium none}[dir=rtl] md-list-item._md-button-wrap>div.md-button:first-child{text-align:right}md-list-item._md-button-wrap>div.md-button:first-child>.md-button:first-child{position:absolute;top:0;left:0;height:100%;margin:0;padding:0}md-list-item._md-button-wrap>div.md-button:first-child .md-list-item-inner{width:100%;min-height:inherit}md-list-item.md-no-proxy,md-list-item .md-no-style{position:relative;padding:0 16px;-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto}md-list-item.md-no-proxy.md-button,md-list-item .md-no-style.md-button{font-size:inherit;height:inherit;text-align:left;text-transform:none;width:100%;white-space:normal;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:inherit;flex-direction:inherit;-webkit-box-align:inherit;-webkit-align-items:inherit;align-items:inherit;border-radius:0;margin:0}[dir=rtl] md-list-item.md-no-proxy.md-button,[dir=rtl] md-list-item .md-no-style.md-button{text-align:right}md-list-item.md-no-proxy.md-button>.md-ripple-container,md-list-item .md-no-style.md-button>.md-ripple-container{border-radius:0}md-list-item.md-no-proxy:focus,md-list-item .md-no-style:focus{outline:none}md-list-item.md-clickable:hover{cursor:pointer}md-list-item md-divider{position:absolute;bottom:0;left:0;width:100%}[dir=rtl] md-list-item md-divider{left:auto;right:0}md-list-item md-divider[md-inset]{left:72px;width:calc(100% - 72px);margin:0!important}[dir=rtl] md-list-item md-divider[md-inset]{left:auto;right:72px}md-list-item,md-list-item .md-list-item-inner{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;align-items:center;min-height:48px;height:auto}md-list-item .md-list-item-inner:before,md-list-item:before{content:"";min-height:48px;visibility:hidden;display:inline-block}md-list-item .md-list-item-inner>div.md-primary>md-icon:not(.md-avatar-icon),md-list-item .md-list-item-inner>div.md-secondary>md-icon:not(.md-avatar-icon),md-list-item .md-list-item-inner>md-icon.md-secondary:not(.md-avatar-icon),md-list-item .md-list-item-inner>md-icon:first-child:not(.md-avatar-icon),md-list-item>div.md-primary>md-icon:not(.md-avatar-icon),md-list-item>div.md-secondary>md-icon:not(.md-avatar-icon),md-list-item>md-icon.md-secondary:not(.md-avatar-icon),md-list-item>md-icon:first-child:not(.md-avatar-icon){width:24px;margin-top:16px;margin-bottom:12px;box-sizing:content-box}md-list-item .md-list-item-inner>div.md-primary>md-checkbox,md-list-item .md-list-item-inner>div.md-secondary>md-checkbox,md-list-item .md-list-item-inner>md-checkbox,md-list-item .md-list-item-inner md-checkbox.md-secondary,md-list-item>div.md-primary>md-checkbox,md-list-item>div.md-secondary>md-checkbox,md-list-item>md-checkbox,md-list-item md-checkbox.md-secondary{-webkit-align-self:center;-ms-grid-row-align:center;align-self:center}md-list-item .md-list-item-inner>div.md-primary>md-checkbox .md-label,md-list-item .md-list-item-inner>div.md-secondary>md-checkbox .md-label,md-list-item .md-list-item-inner>md-checkbox .md-label,md-list-item .md-list-item-inner md-checkbox.md-secondary .md-label,md-list-item>div.md-primary>md-checkbox .md-label,md-list-item>div.md-secondary>md-checkbox .md-label,md-list-item>md-checkbox .md-label,md-list-item md-checkbox.md-secondary .md-label{display:none}md-list-item .md-list-item-inner>md-icon:first-child:not(.md-avatar-icon),md-list-item>md-icon:first-child:not(.md-avatar-icon){margin-right:32px}[dir=rtl] md-list-item .md-list-item-inner>md-icon:first-child:not(.md-avatar-icon),[dir=rtl] md-list-item>md-icon:first-child:not(.md-avatar-icon){margin-right:auto;margin-left:32px}md-list-item .md-avatar,md-list-item .md-avatar-icon,md-list-item .md-list-item-inner .md-avatar,md-list-item .md-list-item-inner .md-avatar-icon{margin-top:8px;margin-bottom:8px;margin-right:16px;border-radius:50%;box-sizing:content-box}[dir=rtl] md-list-item .md-avatar,[dir=rtl] md-list-item .md-avatar-icon,[dir=rtl] md-list-item .md-list-item-inner .md-avatar,[dir=rtl] md-list-item .md-list-item-inner .md-avatar-icon{margin-right:auto;margin-left:16px}md-list-item .md-avatar,md-list-item .md-list-item-inner .md-avatar{-webkit-box-flex:0;-webkit-flex:none;flex:none;width:40px;height:40px}md-list-item .md-avatar-icon,md-list-item .md-list-item-inner .md-avatar-icon{padding:8px}md-list-item .md-avatar-icon svg,md-list-item .md-list-item-inner .md-avatar-icon svg{width:24px;height:24px}md-list-item .md-list-item-inner>md-checkbox,md-list-item>md-checkbox{width:24px;margin-left:3px;margin-right:29px;margin-top:16px}[dir=rtl] md-list-item .md-list-item-inner>md-checkbox,[dir=rtl] md-list-item>md-checkbox{margin-left:29px;margin-right:3px}md-list-item .md-list-item-inner .md-secondary-container,md-list-item .md-secondary-container{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-flex-shrink:0;flex-shrink:0;margin:auto;margin-right:0;margin-left:auto}[dir=rtl] md-list-item .md-list-item-inner .md-secondary-container,[dir=rtl] md-list-item .md-secondary-container{margin-right:auto;margin-left:0}md-list-item .md-list-item-inner .md-secondary-container .md-button:last-of-type,md-list-item .md-list-item-inner .md-secondary-container .md-icon-button:last-of-type,md-list-item .md-secondary-container .md-button:last-of-type,md-list-item .md-secondary-container .md-icon-button:last-of-type{margin-right:0}[dir=rtl] md-list-item .md-list-item-inner .md-secondary-container .md-button:last-of-type,[dir=rtl] md-list-item .md-list-item-inner .md-secondary-container .md-icon-button:last-of-type,[dir=rtl] md-list-item .md-secondary-container .md-button:last-of-type,[dir=rtl] md-list-item .md-secondary-container .md-icon-button:last-of-type{margin-right:auto;margin-left:0}md-list-item .md-list-item-inner .md-secondary-container md-checkbox,md-list-item .md-secondary-container md-checkbox{margin-top:0;margin-bottom:0}md-list-item .md-list-item-inner .md-secondary-container md-checkbox:last-child,md-list-item .md-secondary-container md-checkbox:last-child{width:24px;margin-right:0}[dir=rtl] md-list-item .md-list-item-inner .md-secondary-container md-checkbox:last-child,[dir=rtl] md-list-item .md-secondary-container md-checkbox:last-child{margin-right:auto;margin-left:0}md-list-item .md-list-item-inner .md-secondary-container md-switch,md-list-item .md-secondary-container md-switch{margin-top:0;margin-bottom:0;margin-right:-6px}[dir=rtl] md-list-item .md-list-item-inner .md-secondary-container md-switch,[dir=rtl] md-list-item .md-secondary-container md-switch{margin-right:auto;margin-left:-6px}md-list-item .md-list-item-inner>.md-list-item-inner>p,md-list-item .md-list-item-inner>p,md-list-item>.md-list-item-inner>p,md-list-item>p{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;margin:0}md-list-item.md-2-line,md-list-item.md-2-line>.md-no-style,md-list-item.md-3-line,md-list-item.md-3-line>.md-no-style{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}md-list-item.md-2-line.md-long-text,md-list-item.md-2-line>.md-no-style.md-long-text,md-list-item.md-3-line.md-long-text,md-list-item.md-3-line>.md-no-style.md-long-text{margin-top:8px;margin-bottom:8px}md-list-item.md-2-line .md-list-item-text,md-list-item.md-2-line>.md-no-style .md-list-item-text,md-list-item.md-3-line .md-list-item-text,md-list-item.md-3-line>.md-no-style .md-list-item-text{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;margin:auto;text-overflow:ellipsis;overflow:hidden}md-list-item.md-2-line .md-list-item-text.md-offset,md-list-item.md-2-line>.md-no-style .md-list-item-text.md-offset,md-list-item.md-3-line .md-list-item-text.md-offset,md-list-item.md-3-line>.md-no-style .md-list-item-text.md-offset{margin-left:56px}[dir=rtl] md-list-item.md-2-line .md-list-item-text.md-offset,[dir=rtl] md-list-item.md-2-line>.md-no-style .md-list-item-text.md-offset,[dir=rtl] md-list-item.md-3-line .md-list-item-text.md-offset,[dir=rtl] md-list-item.md-3-line>.md-no-style .md-list-item-text.md-offset{margin-left:auto;margin-right:56px}md-list-item.md-2-line .md-list-item-text h3,md-list-item.md-2-line>.md-no-style .md-list-item-text h3,md-list-item.md-3-line .md-list-item-text h3,md-list-item.md-3-line>.md-no-style .md-list-item-text h3{font-size:16px;font-weight:400;letter-spacing:.01em;margin:0;line-height:1.2em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}md-list-item.md-2-line .md-list-item-text h4,md-list-item.md-2-line>.md-no-style .md-list-item-text h4,md-list-item.md-3-line .md-list-item-text h4,md-list-item.md-3-line>.md-no-style .md-list-item-text h4{font-size:14px;letter-spacing:.01em;margin:3px 0 1px;font-weight:400;line-height:1.2em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}md-list-item.md-2-line .md-list-item-text p,md-list-item.md-2-line>.md-no-style .md-list-item-text p,md-list-item.md-3-line .md-list-item-text p,md-list-item.md-3-line>.md-no-style .md-list-item-text p{font-size:14px;font-weight:500;letter-spacing:.01em;margin:0;line-height:1.6em}md-list-item.md-2-line,md-list-item.md-2-line>.md-no-style{height:auto;min-height:72px}md-list-item.md-2-line:before,md-list-item.md-2-line>.md-no-style:before{content:"";min-height:72px;visibility:hidden;display:inline-block}md-list-item.md-2-line .md-avatar-icon,md-list-item.md-2-line>.md-avatar,md-list-item.md-2-line>.md-no-style .md-avatar-icon,md-list-item.md-2-line>.md-no-style>.md-avatar{margin-top:12px}md-list-item.md-2-line>.md-no-style>md-icon:first-child,md-list-item.md-2-line>md-icon:first-child{-webkit-align-self:flex-start;align-self:flex-start}md-list-item.md-2-line .md-list-item-text,md-list-item.md-2-line>.md-no-style .md-list-item-text{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto}md-list-item.md-3-line,md-list-item.md-3-line>.md-no-style{height:auto;min-height:88px}md-list-item.md-3-line:before,md-list-item.md-3-line>.md-no-style:before{content:"";min-height:88px;visibility:hidden;display:inline-block}md-list-item.md-3-line>.md-avatar,md-list-item.md-3-line>.md-no-style>.md-avatar,md-list-item.md-3-line>.md-no-style>md-icon:first-child,md-list-item.md-3-line>md-icon:first-child{margin-top:16px}.md-open-menu-container{position:fixed;left:0;top:0;z-index:100;opacity:0;border-radius:2px;max-height:calc(100vh - 10px);overflow:auto}.md-open-menu-container md-menu-divider{margin-top:4px;margin-bottom:4px;height:1px;min-height:1px;max-height:1px;width:100%}.md-open-menu-container md-menu-content>*{opacity:0}.md-open-menu-container:not(.md-clickable){pointer-events:none}.md-open-menu-container.md-active{opacity:1;-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-duration:.2s;transition-duration:.2s}.md-open-menu-container.md-active>md-menu-content>*{opacity:1;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-delay:.1s;transition-delay:.1s}.md-open-menu-container.md-leave{opacity:0;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-duration:.25s;transition-duration:.25s}md-menu-content{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;padding:8px 0;max-height:304px;overflow-y:auto}md-menu-content.md-dense{max-height:208px}md-menu-content.md-dense md-menu-item{height:32px;min-height:0}md-menu-item{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;min-height:48px;height:48px;-webkit-align-content:center;align-content:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}md-menu-item>*{width:100%;margin:auto 0;padding-left:16px;padding-right:16px}md-menu-item>a.md-button{padding-top:5px}md-menu-item>.md-button{text-align:left;display:inline-block;border-radius:0;margin:auto 0;font-size:15px;text-transform:none;font-weight:400;height:100%;padding-left:16px;padding-right:16px;width:100%}md-menu-item>.md-button::-moz-focus-inner{padding:0;border:0}[dir=rtl] md-menu-item>.md-button{text-align:right}md-menu-item>.md-button md-icon{margin:auto 16px auto 0}[dir=rtl] md-menu-item>.md-button md-icon{margin:auto 0 auto 16px}md-menu-item>.md-button p{display:inline-block;margin:auto}md-menu-item>.md-button span{margin-top:auto;margin-bottom:auto}md-menu-item>.md-button .md-ripple-container{border-radius:inherit}md-toolbar .md-menu{height:auto;margin:auto;padding:0}@media (max-width:959px){md-menu-content{min-width:112px}md-menu-content[width="3"]{min-width:168px}md-menu-content[width="4"]{min-width:224px}md-menu-content[width="5"]{min-width:280px}md-menu-content[width="6"]{min-width:336px}md-menu-content[width="7"]{min-width:392px}}@media (min-width:960px){md-menu-content{min-width:96px}md-menu-content[width="3"]{min-width:192px}md-menu-content[width="4"]{min-width:256px}md-menu-content[width="5"]{min-width:320px}md-menu-content[width="6"]{min-width:384px}md-menu-content[width="7"]{min-width:448px}}md-toolbar.md-menu-toolbar h2.md-toolbar-tools{line-height:1rem;height:auto;padding:28px;padding-bottom:12px}md-toolbar.md-has-open-menu{position:relative;z-index:100}md-menu-bar{padding:0 20px;display:block;position:relative;z-index:2}md-menu-bar .md-menu{display:inline-block;padding:0;position:relative}md-menu-bar button{font-size:14px;padding:0 10px;margin:0;border:0;background-color:transparent;height:40px}md-menu-bar md-backdrop.md-menu-backdrop{z-index:-2}md-menu-content.md-menu-bar-menu.md-dense{max-height:none;padding:16px 0}md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent{position:relative}md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent>md-icon{position:absolute;padding:0;width:24px;top:6px;left:24px}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent>md-icon{left:auto;right:24px}md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent .md-menu>.md-button,md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent>.md-button{padding:0 32px 0 64px}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent .md-menu>.md-button,[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent>.md-button{padding:0 64px 0 32px}md-menu-content.md-menu-bar-menu.md-dense .md-button{min-height:0;height:32px}md-menu-content.md-menu-bar-menu.md-dense .md-button span{float:left}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-button span{float:right}md-menu-content.md-menu-bar-menu.md-dense .md-button span.md-alt-text{float:right;margin:0 8px}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-button span.md-alt-text{float:left}md-menu-content.md-menu-bar-menu.md-dense md-menu-divider{margin:8px 0}md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button,md-menu-content.md-menu-bar-menu.md-dense md-menu-item>.md-button{text-align:left}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button,[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense md-menu-item>.md-button{text-align:right}md-menu-content.md-menu-bar-menu.md-dense .md-menu{padding:0}md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button{position:relative;margin:0;width:100%;text-transform:none;font-weight:400;border-radius:0;padding-left:16px}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button{padding-left:0;padding-right:16px}md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button:after{display:block;content:"\25BC";position:absolute;top:0;speak:none;-webkit-transform:rotate(270deg) scaleY(.45) scaleX(.9);transform:rotate(270deg) scaleY(.45) scaleX(.9);right:28px}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button:after{-webkit-transform:rotate(90deg) scaleY(.45) scaleX(.9);transform:rotate(90deg) scaleY(.45) scaleX(.9);right:auto;left:28px}.md-nav-bar{border-style:solid;border-width:0 0 1px;height:48px;position:relative}._md-nav-bar-list{outline:none;list-style:none;margin:0;padding:0;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}.md-nav-item:first-of-type{margin-left:8px}.md-button._md-nav-button{line-height:24px;margin:0 4px;padding:12px 16px;-webkit-transition:background-color .35s cubic-bezier(.35,0,.25,1);transition:background-color .35s cubic-bezier(.35,0,.25,1)}.md-button._md-nav-button:focus{outline:none}.md-button._md-nav-button:hover{background-color:inherit}md-nav-ink-bar{bottom:0;height:2px;left:auto;position:absolute;right:auto;background-color:#000}md-nav-ink-bar._md-left{-webkit-transition:left .125s cubic-bezier(.35,0,.25,1),right .25s cubic-bezier(.35,0,.25,1);transition:left .125s cubic-bezier(.35,0,.25,1),right .25s cubic-bezier(.35,0,.25,1)}md-nav-ink-bar._md-right{-webkit-transition:left .25s cubic-bezier(.35,0,.25,1),right .125s cubic-bezier(.35,0,.25,1);transition:left .25s cubic-bezier(.35,0,.25,1),right .125s cubic-bezier(.35,0,.25,1)}md-nav-ink-bar.ng-animate{-webkit-transition:none;transition:none}md-nav-extra-content{min-height:48px;padding-right:12px}@-webkit-keyframes indeterminate-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes indeterminate-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}md-progress-circular{position:relative;display:block}md-progress-circular._md-progress-circular-disabled{visibility:hidden}md-progress-circular.md-mode-indeterminate svg{-webkit-animation:indeterminate-rotate 1568.63ms linear infinite;animation:indeterminate-rotate 1568.63ms linear infinite}md-progress-circular svg{position:absolute;overflow:visible;top:0;left:0}md-progress-linear{display:block;position:relative;width:100%;height:5px;padding-top:0!important;margin-bottom:0!important}md-progress-linear._md-progress-linear-disabled{visibility:hidden}md-progress-linear .md-container{display:block;position:relative;overflow:hidden;width:100%;height:5px;-webkit-transform:translate(0,0) scale(1,1);transform:translate(0,0) scale(1,1)}md-progress-linear .md-container .md-bar{position:absolute;left:0;top:0;bottom:0;width:100%;height:5px}md-progress-linear .md-container .md-dashed:before{content:"";display:none;position:absolute;margin-top:0;height:5px;width:100%;background-color:transparent;background-size:10px 10px!important;background-position:0 -23px}md-progress-linear .md-container .md-bar1,md-progress-linear .md-container .md-bar2{-webkit-transition:-webkit-transform .2s linear;transition:-webkit-transform .2s linear;transition:transform .2s linear;transition:transform .2s linear,-webkit-transform .2s linear}md-progress-linear .md-container.md-mode-query .md-bar1{display:none}md-progress-linear .md-container.md-mode-query .md-bar2{-webkit-transition:all .2s linear;transition:all .2s linear;-webkit-animation:query .8s infinite cubic-bezier(.39,.575,.565,1);animation:query .8s infinite cubic-bezier(.39,.575,.565,1)}md-progress-linear .md-container.md-mode-determinate .md-bar1{display:none}md-progress-linear .md-container.md-mode-indeterminate .md-bar1{-webkit-animation:md-progress-linear-indeterminate-scale-1 4s infinite,md-progress-linear-indeterminate-1 4s infinite;animation:md-progress-linear-indeterminate-scale-1 4s infinite,md-progress-linear-indeterminate-1 4s infinite}md-progress-linear .md-container.md-mode-indeterminate .md-bar2{-webkit-animation:md-progress-linear-indeterminate-scale-2 4s infinite,md-progress-linear-indeterminate-2 4s infinite;animation:md-progress-linear-indeterminate-scale-2 4s infinite,md-progress-linear-indeterminate-2 4s infinite}md-progress-linear .md-container.ng-hide ._md-progress-linear-disabled md-progress-linear .md-container{-webkit-animation:none;animation:none}md-progress-linear .md-container.ng-hide ._md-progress-linear-disabled md-progress-linear .md-container .md-bar1,md-progress-linear .md-container.ng-hide ._md-progress-linear-disabled md-progress-linear .md-container .md-bar2{-webkit-animation-name:none;animation-name:none}md-progress-linear .md-container.md-mode-buffer{background-color:transparent!important;-webkit-transition:all .2s linear;transition:all .2s linear}md-progress-linear .md-container.md-mode-buffer .md-dashed:before{display:block;-webkit-animation:buffer 3s infinite linear;animation:buffer 3s infinite linear}@-webkit-keyframes query{0%{opacity:1;-webkit-transform:translateX(35%) scale(.3,1);transform:translateX(35%) scale(.3,1)}to{opacity:0;-webkit-transform:translateX(-50%) scale(0,1);transform:translateX(-50%) scale(0,1)}}@keyframes query{0%{opacity:1;-webkit-transform:translateX(35%) scale(.3,1);transform:translateX(35%) scale(.3,1)}to{opacity:0;-webkit-transform:translateX(-50%) scale(0,1);transform:translateX(-50%) scale(0,1)}}@-webkit-keyframes buffer{0%{opacity:1;background-position:0 -23px}50%{opacity:0}to{opacity:1;background-position:-200px -23px}}@keyframes buffer{0%{opacity:1;background-position:0 -23px}50%{opacity:0}to{opacity:1;background-position:-200px -23px}}@-webkit-keyframes md-progress-linear-indeterminate-scale-1{0%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:linear;animation-timing-function:linear}36.6%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:cubic-bezier(.33473,.12482,.78584,1);animation-timing-function:cubic-bezier(.33473,.12482,.78584,1)}69.15%{-webkit-transform:scaleX(.83);transform:scaleX(.83);-webkit-animation-timing-function:cubic-bezier(.22573,0,.23365,1.37098);animation-timing-function:cubic-bezier(.22573,0,.23365,1.37098)}to{-webkit-transform:scaleX(.1);transform:scaleX(.1)}}@keyframes md-progress-linear-indeterminate-scale-1{0%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:linear;animation-timing-function:linear}36.6%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:cubic-bezier(.33473,.12482,.78584,1);animation-timing-function:cubic-bezier(.33473,.12482,.78584,1)}69.15%{-webkit-transform:scaleX(.83);transform:scaleX(.83);-webkit-animation-timing-function:cubic-bezier(.22573,0,.23365,1.37098);animation-timing-function:cubic-bezier(.22573,0,.23365,1.37098)}to{-webkit-transform:scaleX(.1);transform:scaleX(.1)}}@-webkit-keyframes md-progress-linear-indeterminate-1{0%{left:-105.16667%;-webkit-animation-timing-function:linear;animation-timing-function:linear}20%{left:-105.16667%;-webkit-animation-timing-function:cubic-bezier(.5,0,.70173,.49582);animation-timing-function:cubic-bezier(.5,0,.70173,.49582)}69.15%{left:21.5%;-webkit-animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635);animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635)}to{left:95.44444%}}@keyframes md-progress-linear-indeterminate-1{0%{left:-105.16667%;-webkit-animation-timing-function:linear;animation-timing-function:linear}20%{left:-105.16667%;-webkit-animation-timing-function:cubic-bezier(.5,0,.70173,.49582);animation-timing-function:cubic-bezier(.5,0,.70173,.49582)}69.15%{left:21.5%;-webkit-animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635);animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635)}to{left:95.44444%}}@-webkit-keyframes md-progress-linear-indeterminate-scale-2{0%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:cubic-bezier(.20503,.05705,.57661,.45397);animation-timing-function:cubic-bezier(.20503,.05705,.57661,.45397)}19.15%{-webkit-transform:scaleX(.57);transform:scaleX(.57);-webkit-animation-timing-function:cubic-bezier(.15231,.19643,.64837,1.00432);animation-timing-function:cubic-bezier(.15231,.19643,.64837,1.00432)}44.15%{-webkit-transform:scaleX(.91);transform:scaleX(.91);-webkit-animation-timing-function:cubic-bezier(.25776,-.00316,.21176,1.38179);animation-timing-function:cubic-bezier(.25776,-.00316,.21176,1.38179)}to{-webkit-transform:scaleX(.1);transform:scaleX(.1)}}@keyframes md-progress-linear-indeterminate-scale-2{0%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:cubic-bezier(.20503,.05705,.57661,.45397);animation-timing-function:cubic-bezier(.20503,.05705,.57661,.45397)}19.15%{-webkit-transform:scaleX(.57);transform:scaleX(.57);-webkit-animation-timing-function:cubic-bezier(.15231,.19643,.64837,1.00432);animation-timing-function:cubic-bezier(.15231,.19643,.64837,1.00432)}44.15%{-webkit-transform:scaleX(.91);transform:scaleX(.91);-webkit-animation-timing-function:cubic-bezier(.25776,-.00316,.21176,1.38179);animation-timing-function:cubic-bezier(.25776,-.00316,.21176,1.38179)}to{-webkit-transform:scaleX(.1);transform:scaleX(.1)}}@-webkit-keyframes md-progress-linear-indeterminate-2{0%{left:-54.88889%;-webkit-animation-timing-function:cubic-bezier(.15,0,.51506,.40968);animation-timing-function:cubic-bezier(.15,0,.51506,.40968)}25%{left:-17.25%;-webkit-animation-timing-function:cubic-bezier(.31033,.28406,.8,.73372);animation-timing-function:cubic-bezier(.31033,.28406,.8,.73372)}48.35%{left:29.5%;-webkit-animation-timing-function:cubic-bezier(.4,.62703,.6,.90203);animation-timing-function:cubic-bezier(.4,.62703,.6,.90203)}to{left:117.38889%}}@keyframes md-progress-linear-indeterminate-2{0%{left:-54.88889%;-webkit-animation-timing-function:cubic-bezier(.15,0,.51506,.40968);animation-timing-function:cubic-bezier(.15,0,.51506,.40968)}25%{left:-17.25%;-webkit-animation-timing-function:cubic-bezier(.31033,.28406,.8,.73372);animation-timing-function:cubic-bezier(.31033,.28406,.8,.73372)}48.35%{left:29.5%;-webkit-animation-timing-function:cubic-bezier(.4,.62703,.6,.90203);animation-timing-function:cubic-bezier(.4,.62703,.6,.90203)}to{left:117.38889%}}md-radio-button{box-sizing:border-box;display:block;margin-bottom:16px;white-space:nowrap;cursor:pointer;position:relative}md-radio-button[disabled],md-radio-button[disabled] .md-container{cursor:default}md-radio-button .md-container{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);box-sizing:border-box;display:inline-block;width:20px;height:20px;cursor:pointer;left:0;right:auto}[dir=rtl] md-radio-button .md-container{left:auto;right:0}md-radio-button .md-container .md-ripple-container{position:absolute;display:block;width:auto;height:auto;left:-15px;top:-15px;right:-15px;bottom:-15px}md-radio-button .md-container:before{box-sizing:border-box;background-color:transparent;border-radius:50%;content:"";position:absolute;display:block;height:auto;left:0;top:0;right:0;bottom:0;-webkit-transition:all .5s;transition:all .5s;width:auto}md-radio-button.md-align-top-left>div.md-container{top:12px}md-radio-button .md-off{border-style:solid;border-width:2px;-webkit-transition:border-color .28s ease;transition:border-color .28s ease}md-radio-button .md-off,md-radio-button .md-on{box-sizing:border-box;position:absolute;top:0;left:0;width:20px;height:20px;border-radius:50%}md-radio-button .md-on{-webkit-transition:-webkit-transform .28s ease;transition:-webkit-transform .28s ease;transition:transform .28s ease;transition:transform .28s ease,-webkit-transform .28s ease;-webkit-transform:scale(0);transform:scale(0)}md-radio-button.md-checked .md-on{-webkit-transform:scale(.5);transform:scale(.5)}md-radio-button .md-label{box-sizing:border-box;position:relative;display:inline-block;margin-left:30px;margin-right:0;vertical-align:middle;white-space:normal;pointer-events:none;width:auto}[dir=rtl] md-radio-button .md-label{margin-left:0;margin-right:30px}md-radio-group.layout-column md-radio-button,md-radio-group.layout-gt-lg-column md-radio-button,md-radio-group.layout-gt-md-column md-radio-button,md-radio-group.layout-gt-sm-column md-radio-button,md-radio-group.layout-gt-xs-column md-radio-button,md-radio-group.layout-lg-column md-radio-button,md-radio-group.layout-md-column md-radio-button,md-radio-group.layout-sm-column md-radio-button,md-radio-group.layout-xl-column md-radio-button,md-radio-group.layout-xs-column md-radio-button{margin-bottom:16px}md-radio-group.layout-gt-lg-row md-radio-button,md-radio-group.layout-gt-md-row md-radio-button,md-radio-group.layout-gt-sm-row md-radio-button,md-radio-group.layout-gt-xs-row md-radio-button,md-radio-group.layout-lg-row md-radio-button,md-radio-group.layout-md-row md-radio-button,md-radio-group.layout-row md-radio-button,md-radio-group.layout-sm-row md-radio-button,md-radio-group.layout-xl-row md-radio-button,md-radio-group.layout-xs-row md-radio-button{margin:0 16px 0 0}[dir=rtl] md-radio-group.layout-gt-lg-row md-radio-button,[dir=rtl] md-radio-group.layout-gt-md-row md-radio-button,[dir=rtl] md-radio-group.layout-gt-sm-row md-radio-button,[dir=rtl] md-radio-group.layout-gt-xs-row md-radio-button,[dir=rtl] md-radio-group.layout-lg-row md-radio-button,[dir=rtl] md-radio-group.layout-md-row md-radio-button,[dir=rtl] md-radio-group.layout-row md-radio-button,[dir=rtl] md-radio-group.layout-sm-row md-radio-button,[dir=rtl] md-radio-group.layout-xl-row md-radio-button,[dir=rtl] md-radio-group.layout-xs-row md-radio-button{margin-left:16px;margin-right:0}md-radio-group.layout-gt-lg-row md-radio-button:last-of-type,md-radio-group.layout-gt-md-row md-radio-button:last-of-type,md-radio-group.layout-gt-sm-row md-radio-button:last-of-type,md-radio-group.layout-gt-xs-row md-radio-button:last-of-type,md-radio-group.layout-lg-row md-radio-button:last-of-type,md-radio-group.layout-md-row md-radio-button:last-of-type,md-radio-group.layout-row md-radio-button:last-of-type,md-radio-group.layout-sm-row md-radio-button:last-of-type,md-radio-group.layout-xl-row md-radio-button:last-of-type,md-radio-group.layout-xs-row md-radio-button:last-of-type{margin-left:0;margin-right:0}md-radio-group:focus{outline:none}md-radio-group.md-focused .md-checked .md-container:before{left:-8px;top:-8px;right:-8px;bottom:-8px}md-radio-group[disabled] md-radio-button,md-radio-group[disabled] md-radio-button .md-container{cursor:default}.md-inline-form md-radio-group{margin:18px 0 19px}.md-inline-form md-radio-group md-radio-button{display:inline-block;height:30px;padding:2px;box-sizing:border-box;margin-top:0;margin-bottom:0}@media screen and (-ms-high-contrast:active){md-radio-button.md-default-theme .md-on{background-color:#fff}}md-input-container:not([md-no-float]) .md-select-placeholder span:first-child{-webkit-transition:-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:transform .4s cubic-bezier(.25,.8,.25,1);transition:transform .4s cubic-bezier(.25,.8,.25,1),-webkit-transform .4s cubic-bezier(.25,.8,.25,1);-webkit-transform-origin:left top;transform-origin:left top}[dir=rtl] md-input-container:not([md-no-float]) .md-select-placeholder span:first-child{-webkit-transform-origin:right top;transform-origin:right top}md-input-container.md-input-focused:not([md-no-float]) .md-select-placeholder span:first-child{-webkit-transform:translateY(-22px) translateX(-2px) scale(.75);transform:translateY(-22px) translateX(-2px) scale(.75)}.md-select-menu-container{position:fixed;left:0;top:0;z-index:90;opacity:0;display:none;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.md-select-menu-container:not(.md-clickable){pointer-events:none}.md-select-menu-container md-progress-circular{display:table;margin:24px auto!important}.md-select-menu-container.md-active{display:block;opacity:1}.md-select-menu-container.md-active md-select-menu{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-duration:.15s;transition-duration:.15s}.md-select-menu-container.md-active md-select-menu>*{opacity:1;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-duration:.15s;transition-duration:.15s;-webkit-transition-delay:.1s;transition-delay:.1s}.md-select-menu-container.md-leave{opacity:0;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-duration:.25s;transition-duration:.25s}md-input-container>md-select{margin:0;-webkit-box-ordinal-group:3;-webkit-order:2;order:2}md-input-container:not(.md-input-has-value) md-select.ng-required:not(.md-no-asterisk) .md-select-value span:first-child:after,md-input-container:not(.md-input-has-value) md-select[required]:not(.md-no-asterisk) .md-select-value span:first-child:after{content:" *";font-size:13px;vertical-align:top}md-input-container.md-input-invalid md-select .md-select-value{border-bottom-style:solid;padding-bottom:1px}md-select{display:-webkit-box;display:-webkit-flex;display:flex;margin:20px 0 26px}md-select.ng-required.ng-invalid:not(.md-no-asterisk) .md-select-value span:first-child:after,md-select[required].ng-invalid:not(.md-no-asterisk) .md-select-value span:first-child:after{content:" *";font-size:13px;vertical-align:top}md-select[disabled] .md-select-value{background-position:0 bottom;background-size:4px 1px;background-repeat:repeat-x;margin-bottom:-1px}md-select:focus{outline:none}md-select[disabled]:hover{cursor:default}md-select:not([disabled]):hover{cursor:pointer}md-select:not([disabled]).ng-invalid.ng-touched .md-select-value{border-bottom-style:solid;padding-bottom:1px}md-select:not([disabled]):focus .md-select-value{border-bottom-width:2px;border-bottom-style:solid;padding-bottom:0}md-select:not([disabled]):focus.ng-invalid.ng-touched .md-select-value{padding-bottom:0}md-input-container.md-input-has-value .md-select-value>span:not(.md-select-icon){-webkit-transform:translate3d(0,1px,0);transform:translate3d(0,1px,0)}.md-select-value{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:2px 2px 1px;border-bottom-width:1px;border-bottom-style:solid;background-color:transparent;position:relative;box-sizing:content-box;min-width:64px;min-height:26px;-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1}.md-select-value>span:not(.md-select-icon){max-width:100%;-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.md-select-value>span:not(.md-select-icon) .md-text{display:inline}.md-select-value .md-select-icon{display:block;-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;text-align:end;width:24px;margin:0 4px;-webkit-transform:translate3d(0,-2px,0);transform:translate3d(0,-2px,0);font-size:1.2rem}.md-select-value .md-select-icon:after{display:block;content:"\25BC";position:relative;top:2px;speak:none;font-size:13px;-webkit-transform:scaleY(.5) scaleX(1);transform:scaleY(.5) scaleX(1)}.md-select-value.md-select-placeholder{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-ordinal-group:2;-webkit-order:1;order:1;pointer-events:none;-webkit-font-smoothing:antialiased;padding-left:2px;z-index:1}md-select-menu{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12);max-height:256px;min-height:48px;overflow-y:hidden;-webkit-transform-origin:left top;transform-origin:left top;-webkit-transform:scale(1);transform:scale(1)}md-select-menu.md-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse}md-select-menu:not(.md-overflow) md-content{padding-top:8px;padding-bottom:8px}[dir=rtl] md-select-menu{-webkit-transform-origin:right top;transform-origin:right top}md-select-menu md-content{min-width:136px;min-height:48px;max-height:256px;overflow-y:auto}md-select-menu>*{opacity:0}md-option{cursor:pointer;position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;width:auto;-webkit-transition:background .15s linear;transition:background .15s linear;padding:0 16px;height:48px}md-option[disabled]{cursor:default}md-option:focus{outline:none}md-option .md-text{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}md-optgroup{display:block}md-optgroup label{display:block;font-size:14px;text-transform:uppercase;padding:16px;font-weight:500}md-optgroup md-option{padding-left:32px;padding-right:32px}@media screen and (-ms-high-contrast:active){.md-select-backdrop{background-color:transparent}md-select-menu{border:1px solid #fff}}md-select-menu[multiple] md-option.md-checkbox-enabled{padding-left:40px;padding-right:16px}[dir=rtl] md-select-menu[multiple] md-option.md-checkbox-enabled{padding-left:16px;padding-right:40px}md-select-menu[multiple] md-option.md-checkbox-enabled .md-container{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);box-sizing:border-box;display:inline-block;width:20px;height:20px;left:0;right:auto}[dir=rtl] md-select-menu[multiple] md-option.md-checkbox-enabled .md-container{left:auto;right:0}md-select-menu[multiple] md-option.md-checkbox-enabled .md-container:before{box-sizing:border-box;background-color:transparent;border-radius:50%;content:"";position:absolute;display:block;height:auto;left:0;top:0;right:0;bottom:0;-webkit-transition:all .5s;transition:all .5s;width:auto}md-select-menu[multiple] md-option.md-checkbox-enabled .md-container:after{box-sizing:border-box;content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}md-select-menu[multiple] md-option.md-checkbox-enabled .md-container .md-ripple-container{position:absolute;display:block;width:auto;height:auto;left:-15px;top:-15px;right:-15px;bottom:-15px}md-select-menu[multiple] md-option.md-checkbox-enabled .md-icon{box-sizing:border-box;-webkit-transition:.24s;transition:.24s;position:absolute;top:0;left:0;width:20px;height:20px;border-width:2px;border-style:solid;border-radius:2px}md-select-menu[multiple] md-option.md-checkbox-enabled[selected] .md-icon{border-color:transparent}md-select-menu[multiple] md-option.md-checkbox-enabled[selected] .md-icon:after{box-sizing:border-box;-webkit-transform:rotate(45deg);transform:rotate(45deg);position:absolute;left:4.66667px;top:.22222px;display:table;width:6.66667px;height:13.33333px;border-width:2px;border-style:solid;border-top:0;border-left:0;content:""}md-select-menu[multiple] md-option.md-checkbox-enabled[disabled]{cursor:default}md-select-menu[multiple] md-option.md-checkbox-enabled.md-indeterminate .md-icon:after{box-sizing:border-box;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:table;width:12px;height:2px;border-width:2px;border-style:solid;border-top:0;border-left:0;content:""}md-select-menu[multiple] md-option.md-checkbox-enabled .md-container{margin-left:10.66667px;margin-right:auto}[dir=rtl] md-select-menu[multiple] md-option.md-checkbox-enabled .md-container{margin-left:auto;margin-right:10.66667px}md-sidenav{box-sizing:border-box;position:absolute;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;z-index:60;width:320px;max-width:320px;bottom:0;overflow:auto;-webkit-overflow-scrolling:touch}md-sidenav ul{list-style:none}md-sidenav.md-closed{display:none}md-sidenav.md-closed-add,md-sidenav.md-closed-remove{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}md-sidenav.md-closed-add.md-closed-add-active,md-sidenav.md-closed-remove.md-closed-remove-active{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1)}md-sidenav.md-closed.md-locked-open-add,md-sidenav.md-locked-open,md-sidenav.md-locked-open-add,md-sidenav.md-locked-open-remove,md-sidenav.md-locked-open-remove.md-closed,md-sidenav.md-locked-open.md-closed,md-sidenav.md-locked-open.md-closed.md-sidenav-left,md-sidenav.md-locked-open.md-closed.md-sidenav-right{position:static;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-sidenav.md-closed.md-locked-open-add:not(.md-locked-open-add-active){width:0!important;min-width:0!important}md-sidenav.md-closed.md-locked-open-add-active,md-sidenav.md-closed.md-locked-open-add:not(.md-locked-open-add-active),md-sidenav.md-locked-open-remove-active{-webkit-transition:width .3s cubic-bezier(.55,0,.55,.2),min-width .3s cubic-bezier(.55,0,.55,.2);transition:width .3s cubic-bezier(.55,0,.55,.2),min-width .3s cubic-bezier(.55,0,.55,.2)}md-sidenav.md-locked-open-remove-active{width:0!important;min-width:0!important}.md-sidenav-backdrop.md-locked-open{display:none}.md-sidenav-left,md-sidenav{left:0;top:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.md-sidenav-left.md-closed,md-sidenav.md-closed{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.md-sidenav-right{left:100%;top:0;-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}.md-sidenav-right.md-closed{-webkit-transform:translate(0,0);transform:translate(0,0)}@media (min-width:600px){md-sidenav{max-width:400px}}@media (max-width:456px){md-sidenav{width:calc(100% - 56px);min-width:calc(100% - 56px);max-width:calc(100% - 56px)}}@media screen and (-ms-high-contrast:active){.md-sidenav-left,md-sidenav{border-right:1px solid #fff}.md-sidenav-right{border-left:1px solid #fff}}@-webkit-keyframes sliderFocusThumb{0%{-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.7);transform:scale(.7)}}@keyframes sliderFocusThumb{0%{-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.7);transform:scale(.7)}}@-webkit-keyframes sliderDiscreteFocusThumb{0%{-webkit-transform:scale(.7);transform:scale(.7)}50%{-webkit-transform:scale(.8);transform:scale(.8)}to{-webkit-transform:scale(0);transform:scale(0)}}@keyframes sliderDiscreteFocusThumb{0%{-webkit-transform:scale(.7);transform:scale(.7)}50%{-webkit-transform:scale(.8);transform:scale(.8)}to{-webkit-transform:scale(0);transform:scale(0)}}@-webkit-keyframes sliderDiscreteFocusRing{0%{-webkit-transform:scale(.7);transform:scale(.7);opacity:0}50%{-webkit-transform:scale(1);transform:scale(1);opacity:1}to{-webkit-transform:scale(0);transform:scale(0)}}@keyframes sliderDiscreteFocusRing{0%{-webkit-transform:scale(.7);transform:scale(.7);opacity:0}50%{-webkit-transform:scale(1);transform:scale(1);opacity:1}to{-webkit-transform:scale(0);transform:scale(0)}}md-slider{height:48px;min-width:128px;position:relative;margin-left:4px;margin-right:4px;padding:0;display:block;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-slider *,md-slider :after{box-sizing:border-box}md-slider .md-slider-wrapper{outline:none;width:100%;height:100%}md-slider .md-slider-content{position:relative}md-slider .md-track-container{width:100%;position:absolute;top:23px;height:2px}md-slider .md-track{position:absolute;left:0;right:0;height:100%}md-slider .md-track-fill{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-property:width,height;transition-property:width,height}md-slider .md-track-ticks{position:absolute;left:0;right:0;height:100%}md-slider .md-track-ticks canvas{width:100%;height:100%}md-slider .md-thumb-container{position:absolute;left:0;top:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-property:left,right,bottom;transition-property:left,right,bottom}[dir=rtl] md-slider .md-thumb-container{left:auto;right:0}md-slider .md-thumb{z-index:1;position:absolute;left:-10px;top:14px;width:20px;height:20px;border-radius:20px;-webkit-transform:scale(.7);transform:scale(.7);-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1)}[dir=rtl] md-slider .md-thumb{left:auto;right:-10px}md-slider .md-thumb:after{content:"";position:absolute;width:20px;height:20px;border-radius:20px;border-width:3px;border-style:solid;-webkit-transition:inherit;transition:inherit}md-slider .md-sign{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;position:absolute;left:-14px;top:-17px;width:28px;height:28px;border-radius:28px;-webkit-transform:scale(.4) translate3d(0,67.5px,0);transform:scale(.4) translate3d(0,67.5px,0);-webkit-transition:all .3s cubic-bezier(.35,0,.25,1);transition:all .3s cubic-bezier(.35,0,.25,1)}md-slider .md-sign:after{position:absolute;content:"";left:0;border-radius:16px;top:19px;border-left:14px solid transparent;border-right:14px solid transparent;border-top-width:16px;border-top-style:solid;opacity:0;-webkit-transform:translate3d(0,-8px,0);transform:translate3d(0,-8px,0);-webkit-transition:all .2s cubic-bezier(.35,0,.25,1);transition:all .2s cubic-bezier(.35,0,.25,1)}[dir=rtl] md-slider .md-sign:after{left:auto;right:0}md-slider .md-sign .md-thumb-text{z-index:1;font-size:12px;font-weight:700}md-slider .md-focus-ring{position:absolute;left:-17px;top:7px;width:34px;height:34px;border-radius:34px;-webkit-transform:scale(.7);transform:scale(.7);opacity:0;-webkit-transition:all .35s cubic-bezier(.35,0,.25,1);transition:all .35s cubic-bezier(.35,0,.25,1)}[dir=rtl] md-slider .md-focus-ring{left:auto;right:-17px}md-slider .md-disabled-thumb{position:absolute;left:-14px;top:10px;width:28px;height:28px;border-radius:28px;-webkit-transform:scale(.5);transform:scale(.5);border-width:4px;border-style:solid;display:none}[dir=rtl] md-slider .md-disabled-thumb{left:auto;right:-14px}md-slider.md-min .md-sign{opacity:0}md-slider:focus{outline:none}md-slider.md-dragging .md-thumb-container,md-slider.md-dragging .md-track-fill{-webkit-transition:none;transition:none}md-slider:not([md-discrete]) .md-sign,md-slider:not([md-discrete]) .md-track-ticks{display:none}md-slider:not([md-discrete]):not([disabled]) .md-slider-wrapper .md-thumb:hover{-webkit-transform:scale(.8);transform:scale(.8)}md-slider:not([md-discrete]):not([disabled]) .md-slider-wrapper.md-focused .md-focus-ring{-webkit-transform:scale(1);transform:scale(1);opacity:1}md-slider:not([md-discrete]):not([disabled]) .md-slider-wrapper.md-focused .md-thumb{-webkit-animation:sliderFocusThumb .7s cubic-bezier(.35,0,.25,1);animation:sliderFocusThumb .7s cubic-bezier(.35,0,.25,1)}md-slider:not([md-discrete]):not([disabled]).md-active .md-slider-wrapper .md-thumb{-webkit-transform:scale(1);transform:scale(1)}md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-focus-ring{-webkit-transform:scale(0);transform:scale(0);-webkit-animation:sliderDiscreteFocusRing .5s cubic-bezier(.35,0,.25,1);animation:sliderDiscreteFocusRing .5s cubic-bezier(.35,0,.25,1)}md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-thumb{-webkit-animation:sliderDiscreteFocusThumb .5s cubic-bezier(.35,0,.25,1);animation:sliderDiscreteFocusThumb .5s cubic-bezier(.35,0,.25,1)}md-slider[md-discrete]:not([disabled]).md-active .md-thumb,md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-thumb{-webkit-transform:scale(0);transform:scale(0)}md-slider[md-discrete]:not([disabled]).md-active .md-sign,md-slider[md-discrete]:not([disabled]).md-active .md-sign:after,md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-sign,md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-sign:after{opacity:1;-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}md-slider[md-discrete][disabled][readonly] .md-thumb{-webkit-transform:scale(0);transform:scale(0)}md-slider[md-discrete][disabled][readonly] .md-sign,md-slider[md-discrete][disabled][readonly] .md-sign:after{opacity:1;-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}md-slider[disabled] .md-track-fill{display:none}md-slider[disabled] .md-track-ticks,md-slider[disabled]:not([readonly]) .md-sign{opacity:0}md-slider[disabled] .md-thumb{-webkit-transform:scale(.5);transform:scale(.5)}md-slider[disabled] .md-disabled-thumb{display:block}md-slider[md-vertical]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;min-height:128px;min-width:0}md-slider[md-vertical] .md-slider-wrapper{-webkit-box-flex:1;-webkit-flex:1;flex:1;padding-top:12px;padding-bottom:12px;width:48px;-webkit-align-self:center;align-self:center;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}md-slider[md-vertical] .md-track-container{height:100%;width:2px;top:0;left:calc(50% - 1px)}md-slider[md-vertical] .md-thumb-container{top:auto;margin-bottom:23px;left:calc(50% - 1px);bottom:0}md-slider[md-vertical] .md-thumb-container .md-thumb:after{left:1px}md-slider[md-vertical] .md-thumb-container .md-focus-ring{left:-16px}md-slider[md-vertical] .md-track-fill{bottom:0}md-slider[md-vertical][md-discrete] .md-sign{left:-40px;top:9.5px;-webkit-transform:scale(.4) translate3d(67.5px,0,0);transform:scale(.4) translate3d(67.5px,0,0)}md-slider[md-vertical][md-discrete] .md-sign:after{top:9.5px;left:19px;border-top:14px solid transparent;border-right:0;border-bottom:14px solid transparent;border-left-width:16px;border-left-style:solid;opacity:0;-webkit-transform:translate3d(0,-8px,0);transform:translate3d(0,-8px,0);-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}md-slider[md-vertical][md-discrete] .md-sign .md-thumb-text{z-index:1;font-size:12px;font-weight:700}md-slider[md-vertical][md-discrete].md-active .md-sign:after,md-slider[md-vertical][md-discrete] .md-focused .md-sign:after,md-slider[md-vertical][md-discrete][disabled][readonly] .md-sign:after{top:0}md-slider[md-vertical][disabled][readonly] .md-thumb{-webkit-transform:scale(0);transform:scale(0)}md-slider[md-vertical][disabled][readonly] .md-sign,md-slider[md-vertical][disabled][readonly] .md-sign:after{opacity:1;-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}md-slider[md-invert]:not([md-vertical]) .md-track-fill{left:auto;right:0}[dir=rtl] md-slider[md-invert]:not([md-vertical]) .md-track-fill{left:0;right:auto}md-slider[md-invert][md-vertical] .md-track-fill{bottom:auto;top:0}md-slider-container{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-slider-container>:first-child:not(md-slider),md-slider-container>:last-child:not(md-slider){min-width:25px;max-width:42px;height:25px;-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-property:color,max-width;transition-property:color,max-width}md-slider-container>:first-child:not(md-slider){margin-right:16px}[dir=rtl] md-slider-container>:first-child:not(md-slider){margin-right:auto;margin-left:16px}md-slider-container>:last-child:not(md-slider){margin-left:16px}[dir=rtl] md-slider-container>:last-child:not(md-slider){margin-left:auto;margin-right:16px}md-slider-container[md-vertical]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}md-slider-container[md-vertical]>:first-child:not(md-slider),md-slider-container[md-vertical]>:last-child:not(md-slider){margin-right:0;margin-left:0;text-align:center}md-slider-container md-input-container input[type=number]{text-align:center;padding-left:15px;height:50px;margin-top:-25px}[dir=rtl] md-slider-container md-input-container input[type=number]{padding-left:0;padding-right:15px}@media screen and (-ms-high-contrast:active){md-slider.md-default-theme .md-track{border-bottom:1px solid #fff}}.md-sticky-clone{z-index:2;top:0;left:0;right:0;position:absolute!important;-webkit-transform:translate3d(-9999px,-9999px,0);transform:translate3d(-9999px,-9999px,0)}.md-sticky-clone[sticky-state=active]{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.md-sticky-clone[sticky-state=active]:not(.md-sticky-no-effect) .md-subheader-inner{-webkit-animation:subheaderStickyHoverIn .3s ease-out both;animation:subheaderStickyHoverIn .3s ease-out both}@-webkit-keyframes subheaderStickyHoverIn{0%{box-shadow:0 0 0 0 transparent}to{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}}@keyframes subheaderStickyHoverIn{0%{box-shadow:0 0 0 0 transparent}to{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}}@-webkit-keyframes subheaderStickyHoverOut{0%{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}to{box-shadow:0 0 0 0 transparent}}@keyframes subheaderStickyHoverOut{0%{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}to{box-shadow:0 0 0 0 transparent}}.md-subheader-wrapper:not(.md-sticky-no-effect){-webkit-transition:margin .2s ease-out;transition:margin .2s ease-out}.md-subheader-wrapper:not(.md-sticky-no-effect) .md-subheader{margin:0}.md-subheader-wrapper:not(.md-sticky-no-effect).md-sticky-clone{z-index:2}.md-subheader-wrapper:not(.md-sticky-no-effect)[sticky-state=active]{margin-top:-2px}.md-subheader-wrapper:not(.md-sticky-no-effect):not(.md-sticky-clone)[sticky-prev-state=active] .md-subheader-inner:after{-webkit-animation:subheaderStickyHoverOut .3s ease-out both;animation:subheaderStickyHoverOut .3s ease-out both}.md-subheader{display:block;font-size:14px;font-weight:500;line-height:1em;margin:0;position:relative}.md-subheader .md-subheader-inner{display:block;padding:16px}.md-subheader .md-subheader-content{display:block;z-index:1;position:relative}[md-swipe-left],[md-swipe-right]{touch-action:pan-y}[md-swipe-down],[md-swipe-up]{touch-action:pan-x}.md-inline-form md-switch{margin-top:18px;margin-bottom:19px}md-switch{margin:16px 0;white-space:nowrap;cursor:pointer;outline:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;height:30px;line-height:28px;-webkit-box-align:center;-webkit-align-items:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:flex;margin-left:inherit;margin-right:16px}[dir=rtl] md-switch{margin-left:16px;margin-right:inherit}md-switch:last-of-type{margin-left:inherit;margin-right:0}[dir=rtl] md-switch:last-of-type{margin-left:0;margin-right:inherit}md-switch[disabled],md-switch[disabled] .md-container{cursor:default}md-switch .md-container{cursor:-webkit-grab;cursor:grab;width:36px;height:24px;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:8px;float:left}[dir=rtl] md-switch .md-container,md-switch.md-inverted .md-container{margin-right:0;margin-left:8px}[dir=rtl] md-switch.md-inverted .md-container{margin-right:8px;margin-left:0}md-switch:not([disabled]) .md-dragging,md-switch:not([disabled]).md-dragging .md-container{cursor:-webkit-grabbing;cursor:grabbing}md-switch.md-focused:not([disabled]) .md-thumb:before{left:-8px;top:-8px;right:-8px;bottom:-8px}md-switch.md-focused:not([disabled]):not(.md-checked) .md-thumb:before{background-color:rgba(0,0,0,.12)}md-switch .md-label{border-color:transparent;border-width:0;float:left}md-switch .md-bar{left:1px;width:34px;top:5px;height:14px;border-radius:8px;position:absolute}md-switch .md-thumb-container{top:2px;left:0;width:16px;position:absolute;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);z-index:1}md-switch.md-checked .md-thumb-container{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}md-switch .md-thumb{margin:0;outline:none;height:20px;width:20px;box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12)}md-switch .md-thumb,md-switch .md-thumb:before{position:absolute;left:0;top:0;border-radius:50%}md-switch .md-thumb:before{background-color:transparent;content:"";display:block;height:auto;right:0;bottom:0;-webkit-transition:all .5s;transition:all .5s;width:auto}md-switch .md-thumb .md-ripple-container{position:absolute;display:block;width:auto;height:auto;left:-20px;top:-20px;right:-20px;bottom:-20px}md-switch:not(.md-dragging) .md-bar,md-switch:not(.md-dragging) .md-thumb,md-switch:not(.md-dragging) .md-thumb-container{-webkit-transition:all .08s linear;transition:all .08s linear;-webkit-transition-property:background-color,-webkit-transform;transition-property:background-color,-webkit-transform;transition-property:transform,background-color;transition-property:transform,background-color,-webkit-transform}md-switch:not(.md-dragging) .md-bar,md-switch:not(.md-dragging) .md-thumb{-webkit-transition-delay:.05s;transition-delay:.05s}@media screen and (-ms-high-contrast:active){md-switch.md-default-theme .md-bar{background-color:#666}md-switch.md-default-theme.md-checked .md-bar{background-color:#9e9e9e}md-switch.md-default-theme .md-thumb{background-color:#fff}}@-webkit-keyframes md-tab-content-hide{0%{opacity:1}50%{opacity:1}to{opacity:0}}@keyframes md-tab-content-hide{0%{opacity:1}50%{opacity:1}to{opacity:0}}md-tab-data{position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;opacity:0}md-tabs{display:block;margin:0;border-radius:2px;overflow:hidden;position:relative;-webkit-flex-shrink:0;flex-shrink:0}md-tabs:not(.md-no-tab-content):not(.md-dynamic-height){min-height:248px}md-tabs[md-align-tabs=bottom]{padding-bottom:48px}md-tabs[md-align-tabs=bottom] md-tabs-wrapper{position:absolute;bottom:0;left:0;right:0;height:48px;z-index:2}md-tabs[md-align-tabs=bottom] md-tabs-content-wrapper{top:0;bottom:48px}md-tabs.md-dynamic-height md-tabs-content-wrapper{min-height:0;position:relative;top:auto;left:auto;right:auto;bottom:auto;overflow:visible}md-tabs.md-dynamic-height md-tab-content.md-active{position:relative}md-tabs[md-border-bottom] md-tabs-wrapper{border-width:0 0 1px;border-style:solid}md-tabs[md-border-bottom]:not(.md-dynamic-height) md-tabs-content-wrapper{top:49px}md-tabs-wrapper{display:block;position:relative;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-tabs-wrapper md-next-button,md-tabs-wrapper md-prev-button{height:100%;width:32px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);line-height:1em;z-index:2;cursor:pointer;font-size:16px;background:transparent no-repeat 50%;-webkit-transition:all .5s cubic-bezier(.35,0,.25,1);transition:all .5s cubic-bezier(.35,0,.25,1)}md-tabs-wrapper md-next-button:focus,md-tabs-wrapper md-prev-button:focus{outline:none}md-tabs-wrapper md-next-button.md-disabled,md-tabs-wrapper md-prev-button.md-disabled{opacity:.25;cursor:default}md-tabs-wrapper md-next-button.ng-leave,md-tabs-wrapper md-prev-button.ng-leave{-webkit-transition:none;transition:none}md-tabs-wrapper md-next-button md-icon,md-tabs-wrapper md-prev-button md-icon{position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}[dir=rtl] md-tabs-wrapper md-next-button,[dir=rtl] md-tabs-wrapper md-prev-button{-webkit-transform:rotateY(180deg) translateY(-50%);transform:rotateY(180deg) translateY(-50%)}md-tabs-wrapper md-prev-button{left:0;background-image:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE3LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPiA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPiA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPiA8ZyBpZD0iSGVhZGVyIj4gPGc+IDxyZWN0IHg9Ii02MTgiIHk9Ii0xMjA4IiBmaWxsPSJub25lIiB3aWR0aD0iMTQwMCIgaGVpZ2h0PSIzNjAwIi8+IDwvZz4gPC9nPiA8ZyBpZD0iTGFiZWwiPiA8L2c+IDxnIGlkPSJJY29uIj4gPGc+IDxwb2x5Z29uIHBvaW50cz0iMTUuNCw3LjQgMTQsNiA4LDEyIDE0LDE4IDE1LjQsMTYuNiAxMC44LDEyIAkJIiBzdHlsZT0iZmlsbDp3aGl0ZTsiLz4gPHJlY3QgZmlsbD0ibm9uZSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+IDwvZz4gPC9nPiA8ZyBpZD0iR3JpZCIgZGlzcGxheT0ibm9uZSI+IDxnIGRpc3BsYXk9ImlubGluZSI+IDwvZz4gPC9nPiA8L3N2Zz4NCg==")}[dir=rtl] md-tabs-wrapper md-prev-button{left:auto;right:0}md-tabs-wrapper md-next-button{right:0;background-image:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE3LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPiA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPiA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPiA8ZyBpZD0iSGVhZGVyIj4gPGc+IDxyZWN0IHg9Ii02MTgiIHk9Ii0xMzM2IiBmaWxsPSJub25lIiB3aWR0aD0iMTQwMCIgaGVpZ2h0PSIzNjAwIi8+IDwvZz4gPC9nPiA8ZyBpZD0iTGFiZWwiPiA8L2c+IDxnIGlkPSJJY29uIj4gPGc+IDxwb2x5Z29uIHBvaW50cz0iMTAsNiA4LjYsNy40IDEzLjIsMTIgOC42LDE2LjYgMTAsMTggMTYsMTIgCQkiIHN0eWxlPSJmaWxsOndoaXRlOyIvPiA8cmVjdCBmaWxsPSJub25lIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiLz4gPC9nPiA8L2c+IDxnIGlkPSJHcmlkIiBkaXNwbGF5PSJub25lIj4gPGcgZGlzcGxheT0iaW5saW5lIj4gPC9nPiA8L2c+IDwvc3ZnPg0K")}[dir=rtl] md-tabs-wrapper md-next-button{right:auto;left:0}md-tabs-wrapper md-next-button md-icon{-webkit-transform:translate3d(-50%,-50%,0) rotate(180deg);transform:translate3d(-50%,-50%,0) rotate(180deg)}md-tabs-wrapper.md-stretch-tabs md-pagination-wrapper{width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-tabs-wrapper.md-stretch-tabs md-pagination-wrapper md-tab-item{-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1}md-tabs-canvas{position:relative;overflow:hidden;display:block;height:48px}md-tabs-canvas:after{content:"";display:table;clear:both}md-tabs-canvas .md-dummy-wrapper{position:absolute;top:0;left:0}[dir=rtl] md-tabs-canvas .md-dummy-wrapper{left:auto;right:0}md-tabs-canvas.md-paginated{margin:0 32px}md-tabs-canvas.md-center-tabs{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;text-align:center}md-tabs-canvas.md-center-tabs .md-tab{float:none;display:inline-block}md-pagination-wrapper{height:48px;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-transition:-webkit-transform .5s cubic-bezier(.35,0,.25,1);transition:-webkit-transform .5s cubic-bezier(.35,0,.25,1);transition:transform .5s cubic-bezier(.35,0,.25,1);transition:transform .5s cubic-bezier(.35,0,.25,1),-webkit-transform .5s cubic-bezier(.35,0,.25,1);position:absolute;left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-pagination-wrapper:after{content:"";display:table;clear:both}[dir=rtl] md-pagination-wrapper{left:auto;right:0}md-pagination-wrapper.md-center-tabs{position:relative;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}md-tabs-content-wrapper{display:block;top:48px;overflow:hidden}md-tab-content,md-tabs-content-wrapper{position:absolute;left:0;right:0;bottom:0}md-tab-content{display:-webkit-box;display:-webkit-flex;display:flex;top:0;-webkit-transition:-webkit-transform .5s cubic-bezier(.35,0,.25,1);transition:-webkit-transform .5s cubic-bezier(.35,0,.25,1);transition:transform .5s cubic-bezier(.35,0,.25,1);transition:transform .5s cubic-bezier(.35,0,.25,1),-webkit-transform .5s cubic-bezier(.35,0,.25,1);overflow:auto;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-tab-content.md-no-scroll{bottom:auto;overflow:hidden}md-tab-content.md-no-transition,md-tab-content.ng-leave{-webkit-transition:none;transition:none}md-tab-content.md-left:not(.md-active){-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-animation:1s md-tab-content-hide;animation:1s md-tab-content-hide;visibility:hidden}[dir=rtl] md-tab-content.md-left:not(.md-active){-webkit-transform:translateX(100%);transform:translateX(100%)}md-tab-content.md-left:not(.md-active) *{-webkit-transition:visibility 0s linear;transition:visibility 0s linear;-webkit-transition-delay:.5s;transition-delay:.5s;visibility:hidden}md-tab-content.md-right:not(.md-active){-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-animation:1s md-tab-content-hide;animation:1s md-tab-content-hide;visibility:hidden}[dir=rtl] md-tab-content.md-right:not(.md-active){-webkit-transform:translateX(-100%);transform:translateX(-100%)}md-tab-content.md-right:not(.md-active) *{-webkit-transition:visibility 0s linear;transition:visibility 0s linear;-webkit-transition-delay:.5s;transition-delay:.5s;visibility:hidden}md-tab-content>div{-webkit-box-flex:1;-webkit-flex:1 0 100%;flex:1 0 100%;min-width:0}md-tab-content>div.ng-leave{-webkit-animation:1s md-tab-content-hide;animation:1s md-tab-content-hide}md-ink-bar{position:absolute;left:auto;right:auto;bottom:0;height:2px}md-ink-bar.md-left{-webkit-transition:left .125s cubic-bezier(.35,0,.25,1),right .25s cubic-bezier(.35,0,.25,1);transition:left .125s cubic-bezier(.35,0,.25,1),right .25s cubic-bezier(.35,0,.25,1)}md-ink-bar.md-right{-webkit-transition:left .25s cubic-bezier(.35,0,.25,1),right .125s cubic-bezier(.35,0,.25,1);transition:left .25s cubic-bezier(.35,0,.25,1),right .125s cubic-bezier(.35,0,.25,1)}md-tab{position:absolute;z-index:-1;left:-9999px}.md-tab{font-size:14px;text-align:center;line-height:24px;padding:12px 24px;-webkit-transition:background-color .35s cubic-bezier(.35,0,.25,1);transition:background-color .35s cubic-bezier(.35,0,.25,1);cursor:pointer;white-space:nowrap;position:relative;text-transform:uppercase;float:left;font-weight:500;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}[dir=rtl] .md-tab{float:right}.md-tab.md-focused,.md-tab:focus{box-shadow:none;outline:none}.md-tab.md-active{cursor:default}.md-tab.md-disabled{pointer-events:none;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none;opacity:.5;cursor:default}.md-tab.ng-leave{-webkit-transition:none;transition:none}md-toolbar+md-dialog-content md-tabs,md-toolbar+md-tabs{border-top-left-radius:0;border-top-right-radius:0}.md-toast-text{padding:0 6px}md-toast{position:absolute;z-index:105;box-sizing:border-box;cursor:default;padding:8px;opacity:1}md-toast,md-toast .md-toast-content{overflow:hidden;-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1)}md-toast .md-toast-content{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;align-items:center;max-height:168px;max-width:100%;min-height:48px;padding:0 18px;box-shadow:0 2px 5px 0 rgba(0,0,0,.26);border-radius:2px;font-size:14px;-webkit-transform:translate3d(0,0,0) rotateZ(0deg);transform:translate3d(0,0,0) rotateZ(0deg);-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}md-toast .md-toast-content:before{content:"";min-height:48px;visibility:hidden;display:inline-block}[dir=rtl] md-toast .md-toast-content{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}md-toast .md-toast-content span{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;box-sizing:border-box;min-width:0}md-toast.md-capsule,md-toast.md-capsule .md-toast-content{border-radius:24px}md-toast.ng-leave-active .md-toast-content{-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2)}md-toast.md-swipedown .md-toast-content,md-toast.md-swipeleft .md-toast-content,md-toast.md-swiperight .md-toast-content,md-toast.md-swipeup .md-toast-content{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1)}md-toast.ng-enter{opacity:0}md-toast.ng-enter .md-toast-content{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}md-toast.ng-enter.md-top .md-toast-content{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}md-toast.ng-enter.ng-enter-active{opacity:1}md-toast.ng-enter.ng-enter-active .md-toast-content{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-toast.ng-leave.ng-leave-active .md-toast-content{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}md-toast.ng-leave.ng-leave-active.md-swipeup .md-toast-content{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}md-toast.ng-leave.ng-leave-active.md-swipedown .md-toast-content{-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0)}md-toast.ng-leave.ng-leave-active.md-top .md-toast-content{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}md-toast .md-action{line-height:19px;margin-left:24px;margin-right:0;cursor:pointer;text-transform:uppercase;float:right}md-toast .md-button{min-width:0;margin-right:0;margin-left:12px}[dir=rtl] md-toast .md-button{margin-right:12px;margin-left:0}@media (max-width:959px){md-toast{left:0;right:0;width:100%;max-width:100%;min-width:0;border-radius:0;bottom:0;padding:0}md-toast.ng-leave.ng-leave-active.md-swipeup .md-toast-content{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}md-toast.ng-leave.ng-leave-active.md-swipedown .md-toast-content{-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0)}}@media (min-width:960px){md-toast{min-width:304px}md-toast.md-bottom{bottom:0}md-toast.md-left{left:0}md-toast.md-right{right:0}md-toast.md-top{top:0}md-toast._md-start{left:0}[dir=rtl] md-toast._md-start{left:auto;right:0}md-toast._md-end{right:0}[dir=rtl] md-toast._md-end{right:auto;left:0}md-toast.ng-leave.ng-leave-active.md-swipeleft .md-toast-content{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}md-toast.ng-leave.ng-leave-active.md-swiperight .md-toast-content{-webkit-transform:translate3d(50%,0,0);transform:translate3d(50%,0,0)}}@media (min-width:1920px){md-toast .md-toast-content{max-width:568px}}@media screen and (-ms-high-contrast:active){md-toast{border:1px solid #fff}}.md-toast-animating{overflow:hidden!important}md-toolbar{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;position:relative;z-index:2;font-size:20px;min-height:64px;width:100%}md-toolbar._md-toolbar-transitions{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:cubic-bezier(.35,0,.25,1);transition-timing-function:cubic-bezier(.35,0,.25,1);-webkit-transition-property:background-color,fill,color;transition-property:background-color,fill,color}md-toolbar.md-whiteframe-z1-add,md-toolbar.md-whiteframe-z1-remove{-webkit-transition:box-shadow .5s linear;transition:box-shadow .5s linear}md-toolbar md-toolbar-filler{width:72px}md-toolbar *,md-toolbar :after,md-toolbar :before{box-sizing:border-box}md-toolbar.ng-animate{-webkit-transition:none;transition:none}md-toolbar.md-tall{height:128px;min-height:128px;max-height:128px}md-toolbar.md-medium-tall{height:88px;min-height:88px;max-height:88px}md-toolbar.md-medium-tall .md-toolbar-tools{height:48px;min-height:48px;max-height:48px}md-toolbar>.md-indent{margin-left:64px}[dir=rtl] md-toolbar>.md-indent{margin-left:auto;margin-right:64px}md-toolbar~md-content>md-list{padding:0}md-toolbar~md-content>md-list md-list-item:last-child md-divider{display:none}.md-toolbar-tools{font-size:20px;letter-spacing:.005em;box-sizing:border-box;font-weight:400;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;width:100%;height:64px;max-height:64px;padding:0 16px;margin:0}.md-toolbar-tools h1,.md-toolbar-tools h2,.md-toolbar-tools h3{font-size:inherit;font-weight:inherit;margin:inherit}.md-toolbar-tools a{color:inherit;text-decoration:none}.md-toolbar-tools .fill-height{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.md-toolbar-tools md-checkbox{margin:inherit}.md-toolbar-tools .md-button{margin-top:0;margin-bottom:0}.md-toolbar-tools .md-button,.md-toolbar-tools .md-button.md-icon-button md-icon{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:cubic-bezier(.35,0,.25,1);transition-timing-function:cubic-bezier(.35,0,.25,1);-webkit-transition-property:background-color,fill,color;transition-property:background-color,fill,color}.md-toolbar-tools .md-button.md-icon-button md-icon.ng-animate,.md-toolbar-tools .md-button.ng-animate{-webkit-transition:none;transition:none}.md-toolbar-tools>.md-button:first-child{margin-left:-8px}[dir=rtl] .md-toolbar-tools>.md-button:first-child{margin-left:auto;margin-right:-8px}.md-toolbar-tools>.md-button:last-child{margin-right:-8px}[dir=rtl] .md-toolbar-tools>.md-button:last-child{margin-right:auto;margin-left:-8px}.md-toolbar-tools>md-menu:last-child{margin-right:-8px}[dir=rtl] .md-toolbar-tools>md-menu:last-child{margin-right:auto;margin-left:-8px}.md-toolbar-tools>md-menu:last-child>.md-button{margin-right:0}[dir=rtl] .md-toolbar-tools>md-menu:last-child>.md-button{margin-right:auto;margin-left:0}@media screen and (-ms-high-contrast:active){.md-toolbar-tools{border-bottom:1px solid #fff}}@media (min-width:0) and (max-width:959px) and (orientation:portrait){md-toolbar{min-height:56px}.md-toolbar-tools{height:56px;max-height:56px}}@media (min-width:0) and (max-width:959px) and (orientation:landscape){md-toolbar{min-height:48px}.md-toolbar-tools{height:48px;max-height:48px}}.md-tooltip{pointer-events:none;border-radius:4px;overflow:hidden;opacity:0;font-weight:500;font-size:14px;white-space:nowrap;text-overflow:ellipsis;height:32px;line-height:32px;padding-right:16px;padding-left:16px}.md-tooltip.md-origin-top{-webkit-transform-origin:center bottom;transform-origin:center bottom;margin-top:-24px}.md-tooltip.md-origin-right{-webkit-transform-origin:left center;transform-origin:left center;margin-left:24px}.md-tooltip.md-origin-bottom{-webkit-transform-origin:center top;transform-origin:center top;margin-top:24px}.md-tooltip.md-origin-left{-webkit-transform-origin:right center;transform-origin:right center;margin-left:-24px}@media (min-width:960px){.md-tooltip{font-size:10px;height:22px;line-height:22px;padding-right:8px;padding-left:8px}.md-tooltip.md-origin-top{margin-top:-14px}.md-tooltip.md-origin-right{margin-left:14px}.md-tooltip.md-origin-bottom{margin-top:14px}.md-tooltip.md-origin-left{margin-left:-14px}}.md-tooltip.md-show-add{-webkit-transform:scale(0);transform:scale(0)}.md-tooltip.md-show{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-duration:.15s;transition-duration:.15s;-webkit-transform:scale(1);transform:scale(1);opacity:.9}.md-tooltip.md-hide{-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-duration:.15s;transition-duration:.15s;-webkit-transform:scale(0);transform:scale(0);opacity:0}.md-truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.md-truncate.md-clip{text-overflow:clip}.md-truncate.flex{width:0}.md-virtual-repeat-container{box-sizing:border-box;display:block;margin:0;overflow:hidden;padding:0;position:relative}.md-virtual-repeat-container .md-virtual-repeat-scroller{bottom:0;box-sizing:border-box;left:0;margin:0;overflow-x:hidden;padding:0;position:absolute;right:0;top:0;-webkit-overflow-scrolling:touch}.md-virtual-repeat-container .md-virtual-repeat-sizer{box-sizing:border-box;height:1px;display:block;margin:0;padding:0;width:1px}.md-virtual-repeat-container .md-virtual-repeat-offsetter{box-sizing:border-box;left:0;margin:0;padding:0;position:absolute;right:0;top:0}.md-virtual-repeat-container.md-orient-horizontal .md-virtual-repeat-scroller{overflow-x:auto;overflow-y:hidden}.md-virtual-repeat-container.md-orient-horizontal .md-virtual-repeat-offsetter{bottom:16px;right:auto;white-space:nowrap}[dir=rtl] .md-virtual-repeat-container.md-orient-horizontal .md-virtual-repeat-offsetter{right:auto;left:auto}.md-whiteframe-1dp,.md-whiteframe-z1{box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12)}.md-whiteframe-2dp{box-shadow:0 1px 5px 0 rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12)}.md-whiteframe-3dp{box-shadow:0 1px 8px 0 rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 3px 3px -2px rgba(0,0,0,.12)}.md-whiteframe-4dp,.md-whiteframe-z2{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.md-whiteframe-5dp{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.md-whiteframe-6dp{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.md-whiteframe-7dp,.md-whiteframe-z3{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.md-whiteframe-8dp{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.md-whiteframe-9dp{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.md-whiteframe-10dp,.md-whiteframe-z4{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.md-whiteframe-11dp{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.md-whiteframe-12dp{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.md-whiteframe-13dp,.md-whiteframe-z5{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.md-whiteframe-14dp{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.md-whiteframe-15dp{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.md-whiteframe-16dp{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.md-whiteframe-17dp{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.md-whiteframe-18dp{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.md-whiteframe-19dp{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.md-whiteframe-20dp{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.md-whiteframe-21dp{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.md-whiteframe-22dp{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.md-whiteframe-23dp{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.md-whiteframe-24dp{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}@media screen and (-ms-high-contrast:active){md-whiteframe{border:1px solid #fff}}@media print{[md-whiteframe],md-whiteframe{background-color:#fff}}.ng-cloak,.x-ng-cloak,[data-ng-cloak],[ng-cloak],[ng\:cloak],[x-ng-cloak]{display:none!important}@-moz-document url-prefix(){.layout-fill{margin:0;width:100%;min-height:100%;height:100%}}.flex-order{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-0,.offset-0{margin-left:0}[dir=rtl] .flex-offset-0,[dir=rtl] .offset-0{margin-left:auto;margin-right:0}.flex-offset-5,.offset-5{margin-left:5%}[dir=rtl] .flex-offset-5,[dir=rtl] .offset-5{margin-left:auto;margin-right:5%}.flex-offset-10,.offset-10{margin-left:10%}[dir=rtl] .flex-offset-10,[dir=rtl] .offset-10{margin-left:auto;margin-right:10%}.flex-offset-15,.offset-15{margin-left:15%}[dir=rtl] .flex-offset-15,[dir=rtl] .offset-15{margin-left:auto;margin-right:15%}.flex-offset-20,.offset-20{margin-left:20%}[dir=rtl] .flex-offset-20,[dir=rtl] .offset-20{margin-left:auto;margin-right:20%}.flex-offset-25,.offset-25{margin-left:25%}[dir=rtl] .flex-offset-25,[dir=rtl] .offset-25{margin-left:auto;margin-right:25%}.flex-offset-30,.offset-30{margin-left:30%}[dir=rtl] .flex-offset-30,[dir=rtl] .offset-30{margin-left:auto;margin-right:30%}.flex-offset-35,.offset-35{margin-left:35%}[dir=rtl] .flex-offset-35,[dir=rtl] .offset-35{margin-left:auto;margin-right:35%}.flex-offset-40,.offset-40{margin-left:40%}[dir=rtl] .flex-offset-40,[dir=rtl] .offset-40{margin-left:auto;margin-right:40%}.flex-offset-45,.offset-45{margin-left:45%}[dir=rtl] .flex-offset-45,[dir=rtl] .offset-45{margin-left:auto;margin-right:45%}.flex-offset-50,.offset-50{margin-left:50%}[dir=rtl] .flex-offset-50,[dir=rtl] .offset-50{margin-left:auto;margin-right:50%}.flex-offset-55,.offset-55{margin-left:55%}[dir=rtl] .flex-offset-55,[dir=rtl] .offset-55{margin-left:auto;margin-right:55%}.flex-offset-60,.offset-60{margin-left:60%}[dir=rtl] .flex-offset-60,[dir=rtl] .offset-60{margin-left:auto;margin-right:60%}.flex-offset-65,.offset-65{margin-left:65%}[dir=rtl] .flex-offset-65,[dir=rtl] .offset-65{margin-left:auto;margin-right:65%}.flex-offset-70,.offset-70{margin-left:70%}[dir=rtl] .flex-offset-70,[dir=rtl] .offset-70{margin-left:auto;margin-right:70%}.flex-offset-75,.offset-75{margin-left:75%}[dir=rtl] .flex-offset-75,[dir=rtl] .offset-75{margin-left:auto;margin-right:75%}.flex-offset-80,.offset-80{margin-left:80%}[dir=rtl] .flex-offset-80,[dir=rtl] .offset-80{margin-left:auto;margin-right:80%}.flex-offset-85,.offset-85{margin-left:85%}[dir=rtl] .flex-offset-85,[dir=rtl] .offset-85{margin-left:auto;margin-right:85%}.flex-offset-90,.offset-90{margin-left:90%}[dir=rtl] .flex-offset-90,[dir=rtl] .offset-90{margin-left:auto;margin-right:90%}.flex-offset-95,.offset-95{margin-left:95%}[dir=rtl] .flex-offset-95,[dir=rtl] .offset-95{margin-left:auto;margin-right:95%}.flex-offset-33,.offset-33{margin-left:33.33333%}.flex-offset-66,.offset-66{margin-left:66.66667%}[dir=rtl] .flex-offset-66,[dir=rtl] .offset-66{margin-left:auto;margin-right:66.66667%}.layout-align,.layout-align-start-stretch{-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch}.layout-align,.layout-align-start,.layout-align-start-center,.layout-align-start-end,.layout-align-start-start,.layout-align-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-center,.layout-align-center-center,.layout-align-center-end,.layout-align-center-start,.layout-align-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-end,.layout-align-end-center,.layout-align-end-end,.layout-align-end-start,.layout-align-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-space-around,.layout-align-space-around-center,.layout-align-space-around-end,.layout-align-space-around-start,.layout-align-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-space-between,.layout-align-space-between-center,.layout-align-space-between-end,.layout-align-space-between-start,.layout-align-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-center-start,.layout-align-end-start,.layout-align-space-around-start,.layout-align-space-between-start,.layout-align-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-center-center,.layout-align-end-center,.layout-align-space-around-center,.layout-align-space-between-center,.layout-align-start-center{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-center-center>*,.layout-align-end-center>*,.layout-align-space-around-center>*,.layout-align-space-between-center>*,.layout-align-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-center-end,.layout-align-end-end,.layout-align-space-around-end,.layout-align-space-between-end,.layout-align-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-center-stretch,.layout-align-end-stretch,.layout-align-space-around-stretch,.layout-align-space-between-stretch,.layout-align-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex{-webkit-flex:1;flex:1}.flex,.flex-grow{-webkit-box-flex:1;box-sizing:border-box}.flex-grow{-webkit-flex:1 1 100%;flex:1 1 100%}.flex-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-0,.layout-row>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:0;max-height:100%;box-sizing:border-box}.layout-row>.flex-0{min-width:0}.layout-column>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-5,.layout-row>.flex-5{max-width:5%;max-height:100%}.flex-5,.layout-column>.flex-5,.layout-row>.flex-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-5{max-width:100%;max-height:5%}.flex-10,.layout-row>.flex-10{max-width:10%;max-height:100%}.flex-10,.layout-column>.flex-10,.layout-row>.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-10{max-width:100%;max-height:10%}.flex-15,.layout-row>.flex-15{max-width:15%;max-height:100%}.flex-15,.layout-column>.flex-15,.layout-row>.flex-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-15{max-width:100%;max-height:15%}.flex-20,.layout-row>.flex-20{max-width:20%;max-height:100%}.flex-20,.layout-column>.flex-20,.layout-row>.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-20{max-width:100%;max-height:20%}.flex-25,.layout-row>.flex-25{max-width:25%;max-height:100%}.flex-25,.layout-column>.flex-25,.layout-row>.flex-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-25{max-width:100%;max-height:25%}.flex-30,.layout-row>.flex-30{max-width:30%;max-height:100%}.flex-30,.layout-column>.flex-30,.layout-row>.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-30{max-width:100%;max-height:30%}.flex-35,.layout-row>.flex-35{max-width:35%;max-height:100%}.flex-35,.layout-column>.flex-35,.layout-row>.flex-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-35{max-width:100%;max-height:35%}.flex-40,.layout-row>.flex-40{max-width:40%;max-height:100%}.flex-40,.layout-column>.flex-40,.layout-row>.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-40{max-width:100%;max-height:40%}.flex-45,.layout-row>.flex-45{max-width:45%;max-height:100%}.flex-45,.layout-column>.flex-45,.layout-row>.flex-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-45{max-width:100%;max-height:45%}.flex-50,.layout-row>.flex-50{max-width:50%;max-height:100%}.flex-50,.layout-column>.flex-50,.layout-row>.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-50{max-width:100%;max-height:50%}.flex-55,.layout-row>.flex-55{max-width:55%;max-height:100%}.flex-55,.layout-column>.flex-55,.layout-row>.flex-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-55{max-width:100%;max-height:55%}.flex-60,.layout-row>.flex-60{max-width:60%;max-height:100%}.flex-60,.layout-column>.flex-60,.layout-row>.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-60{max-width:100%;max-height:60%}.flex-65,.layout-row>.flex-65{max-width:65%;max-height:100%}.flex-65,.layout-column>.flex-65,.layout-row>.flex-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-65{max-width:100%;max-height:65%}.flex-70,.layout-row>.flex-70{max-width:70%;max-height:100%}.flex-70,.layout-column>.flex-70,.layout-row>.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-70{max-width:100%;max-height:70%}.flex-75,.layout-row>.flex-75{max-width:75%;max-height:100%}.flex-75,.layout-column>.flex-75,.layout-row>.flex-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-75{max-width:100%;max-height:75%}.flex-80,.layout-row>.flex-80{max-width:80%;max-height:100%}.flex-80,.layout-column>.flex-80,.layout-row>.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-80{max-width:100%;max-height:80%}.flex-85,.layout-row>.flex-85{max-width:85%;max-height:100%}.flex-85,.layout-column>.flex-85,.layout-row>.flex-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-85{max-width:100%;max-height:85%}.flex-90,.layout-row>.flex-90{max-width:90%;max-height:100%}.flex-90,.layout-column>.flex-90,.layout-row>.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-90{max-width:100%;max-height:90%}.flex-95,.layout-row>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-95{max-height:95%}.flex-100,.layout-column>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.flex-100{max-height:100%}.layout-column>.flex-100,.layout-row>.flex-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%}.layout-row>.flex-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%}.layout-column>.flex-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%}.layout-column>.flex-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%}.layout-row>.flex-33{max-width:33.33%}.layout-row>.flex-33,.layout-row>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-66{max-width:66.66%}.layout-row>.flex{min-width:0}.layout-column>.flex-33{max-height:33.33%}.layout-column>.flex-33,.layout-column>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-column>.flex-66{max-height:66.66%}.layout-column>.flex{min-height:0}.layout,.layout-column,.layout-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-column{-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column}.layout-column,.layout-row{-webkit-box-direction:normal}.layout-row{-webkit-box-orient:horizontal;-webkit-flex-direction:row;flex-direction:row}.layout-padding-sm>*,.layout-padding>.flex-sm{padding:4px}.layout-padding,.layout-padding-gt-sm,.layout-padding-gt-sm>*,.layout-padding-md,.layout-padding-md>*,.layout-padding>*,.layout-padding>.flex,.layout-padding>.flex-gt-sm,.layout-padding>.flex-md{padding:8px}.layout-padding-gt-lg>*,.layout-padding-gt-md>*,.layout-padding-lg>*,.layout-padding>.flex-gt-lg,.layout-padding>.flex-gt-md,.layout-padding>.flex-lg{padding:16px}.layout-margin-sm>*,.layout-margin>.flex-sm{margin:4px}.layout-margin,.layout-margin-gt-sm,.layout-margin-gt-sm>*,.layout-margin-md,.layout-margin-md>*,.layout-margin>*,.layout-margin>.flex,.layout-margin>.flex-gt-sm,.layout-margin>.flex-md{margin:8px}.layout-margin-gt-lg>*,.layout-margin-gt-md>*,.layout-margin-lg>*,.layout-margin>.flex-gt-lg,.layout-margin>.flex-gt-md,.layout-margin>.flex-lg{margin:16px}.layout-wrap{-webkit-flex-wrap:wrap;flex-wrap:wrap}.layout-nowrap{-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.layout-fill{margin:0;width:100%;min-height:100%;height:100%}@media (max-width:599px){.hide-xs:not(.show-xs):not(.show),.hide:not(.show-xs):not(.show){display:none}.flex-order-xs--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-xs--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-xs--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-xs--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-xs--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-xs--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-xs--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-xs--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-xs--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-xs--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-xs--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-xs--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-xs--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-xs--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-xs--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-xs--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-xs--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-xs--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-xs--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-xs--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-xs-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-xs-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-xs-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-xs-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-xs-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-xs-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-xs-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-xs-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-xs-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-xs-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-xs-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-xs-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-xs-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-xs-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-xs-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-xs-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-xs-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-xs-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-xs-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-xs-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-xs-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-xs-0,.offset-xs-0{margin-left:0}[dir=rtl] .flex-offset-xs-0,[dir=rtl] .offset-xs-0{margin-left:auto;margin-right:0}.flex-offset-xs-5,.offset-xs-5{margin-left:5%}[dir=rtl] .flex-offset-xs-5,[dir=rtl] .offset-xs-5{margin-left:auto;margin-right:5%}.flex-offset-xs-10,.offset-xs-10{margin-left:10%}[dir=rtl] .flex-offset-xs-10,[dir=rtl] .offset-xs-10{margin-left:auto;margin-right:10%}.flex-offset-xs-15,.offset-xs-15{margin-left:15%}[dir=rtl] .flex-offset-xs-15,[dir=rtl] .offset-xs-15{margin-left:auto;margin-right:15%}.flex-offset-xs-20,.offset-xs-20{margin-left:20%}[dir=rtl] .flex-offset-xs-20,[dir=rtl] .offset-xs-20{margin-left:auto;margin-right:20%}.flex-offset-xs-25,.offset-xs-25{margin-left:25%}[dir=rtl] .flex-offset-xs-25,[dir=rtl] .offset-xs-25{margin-left:auto;margin-right:25%}.flex-offset-xs-30,.offset-xs-30{margin-left:30%}[dir=rtl] .flex-offset-xs-30,[dir=rtl] .offset-xs-30{margin-left:auto;margin-right:30%}.flex-offset-xs-35,.offset-xs-35{margin-left:35%}[dir=rtl] .flex-offset-xs-35,[dir=rtl] .offset-xs-35{margin-left:auto;margin-right:35%}.flex-offset-xs-40,.offset-xs-40{margin-left:40%}[dir=rtl] .flex-offset-xs-40,[dir=rtl] .offset-xs-40{margin-left:auto;margin-right:40%}.flex-offset-xs-45,.offset-xs-45{margin-left:45%}[dir=rtl] .flex-offset-xs-45,[dir=rtl] .offset-xs-45{margin-left:auto;margin-right:45%}.flex-offset-xs-50,.offset-xs-50{margin-left:50%}[dir=rtl] .flex-offset-xs-50,[dir=rtl] .offset-xs-50{margin-left:auto;margin-right:50%}.flex-offset-xs-55,.offset-xs-55{margin-left:55%}[dir=rtl] .flex-offset-xs-55,[dir=rtl] .offset-xs-55{margin-left:auto;margin-right:55%}.flex-offset-xs-60,.offset-xs-60{margin-left:60%}[dir=rtl] .flex-offset-xs-60,[dir=rtl] .offset-xs-60{margin-left:auto;margin-right:60%}.flex-offset-xs-65,.offset-xs-65{margin-left:65%}[dir=rtl] .flex-offset-xs-65,[dir=rtl] .offset-xs-65{margin-left:auto;margin-right:65%}.flex-offset-xs-70,.offset-xs-70{margin-left:70%}[dir=rtl] .flex-offset-xs-70,[dir=rtl] .offset-xs-70{margin-left:auto;margin-right:70%}.flex-offset-xs-75,.offset-xs-75{margin-left:75%}[dir=rtl] .flex-offset-xs-75,[dir=rtl] .offset-xs-75{margin-left:auto;margin-right:75%}.flex-offset-xs-80,.offset-xs-80{margin-left:80%}[dir=rtl] .flex-offset-xs-80,[dir=rtl] .offset-xs-80{margin-left:auto;margin-right:80%}.flex-offset-xs-85,.offset-xs-85{margin-left:85%}[dir=rtl] .flex-offset-xs-85,[dir=rtl] .offset-xs-85{margin-left:auto;margin-right:85%}.flex-offset-xs-90,.offset-xs-90{margin-left:90%}[dir=rtl] .flex-offset-xs-90,[dir=rtl] .offset-xs-90{margin-left:auto;margin-right:90%}.flex-offset-xs-95,.offset-xs-95{margin-left:95%}[dir=rtl] .flex-offset-xs-95,[dir=rtl] .offset-xs-95{margin-left:auto;margin-right:95%}.flex-offset-xs-33,.offset-xs-33{margin-left:33.33333%}.flex-offset-xs-66,.offset-xs-66{margin-left:66.66667%}[dir=rtl] .flex-offset-xs-66,[dir=rtl] .offset-xs-66{margin-left:auto;margin-right:66.66667%}.layout-align-xs,.layout-align-xs-start-stretch{-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch}.layout-align-xs,.layout-align-xs-start,.layout-align-xs-start-center,.layout-align-xs-start-end,.layout-align-xs-start-start,.layout-align-xs-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-xs-center,.layout-align-xs-center-center,.layout-align-xs-center-end,.layout-align-xs-center-start,.layout-align-xs-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-xs-end,.layout-align-xs-end-center,.layout-align-xs-end-end,.layout-align-xs-end-start,.layout-align-xs-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-xs-space-around,.layout-align-xs-space-around-center,.layout-align-xs-space-around-end,.layout-align-xs-space-around-start,.layout-align-xs-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-xs-space-between,.layout-align-xs-space-between-center,.layout-align-xs-space-between-end,.layout-align-xs-space-between-start,.layout-align-xs-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-xs-center-start,.layout-align-xs-end-start,.layout-align-xs-space-around-start,.layout-align-xs-space-between-start,.layout-align-xs-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-xs-center-center,.layout-align-xs-end-center,.layout-align-xs-space-around-center,.layout-align-xs-space-between-center,.layout-align-xs-start-center{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-xs-center-center>*,.layout-align-xs-end-center>*,.layout-align-xs-space-around-center>*,.layout-align-xs-space-between-center>*,.layout-align-xs-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-xs-center-end,.layout-align-xs-end-end,.layout-align-xs-space-around-end,.layout-align-xs-space-between-end,.layout-align-xs-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-xs-center-stretch,.layout-align-xs-end-stretch,.layout-align-xs-space-around-stretch,.layout-align-xs-space-between-stretch,.layout-align-xs-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-xs{-webkit-flex:1;flex:1}.flex-xs,.flex-xs-grow{-webkit-box-flex:1;box-sizing:border-box}.flex-xs-grow{-webkit-flex:1 1 100%;flex:1 1 100%}.flex-xs-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-xs-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-xs-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-xs-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-xs-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-xs-0,.layout-row>.flex-xs-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:0;max-height:100%;box-sizing:border-box}.layout-row>.flex-xs-0{min-width:0}.layout-column>.flex-xs-0{max-width:100%;max-height:0%}.layout-column>.flex-xs-0,.layout-xs-row>.flex-xs-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-row>.flex-xs-0{max-width:0;max-height:100%;min-width:0}.layout-xs-column>.flex-xs-0{max-width:100%;max-height:0%;min-height:0}.layout-xs-column>.flex-xs-0,.layout-xs-row>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-row>.flex-0{max-width:0;max-height:100%;min-width:0}.layout-xs-column>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-xs-5,.layout-row>.flex-xs-5{max-width:5%;max-height:100%}.flex-xs-5,.layout-column>.flex-xs-5,.layout-row>.flex-xs-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-5{max-width:100%;max-height:5%}.layout-xs-row>.flex-xs-5{max-width:5%;max-height:100%}.layout-xs-column>.flex-xs-5,.layout-xs-row>.flex-xs-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-5{max-width:100%;max-height:5%}.layout-xs-row>.flex-5{max-width:5%;max-height:100%}.layout-xs-column>.flex-5,.layout-xs-row>.flex-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-5{max-width:100%;max-height:5%}.flex-xs-10,.layout-row>.flex-xs-10{max-width:10%;max-height:100%}.flex-xs-10,.layout-column>.flex-xs-10,.layout-row>.flex-xs-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-10{max-width:100%;max-height:10%}.layout-xs-row>.flex-xs-10{max-width:10%;max-height:100%}.layout-xs-column>.flex-xs-10,.layout-xs-row>.flex-xs-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-10{max-width:100%;max-height:10%}.layout-xs-row>.flex-10{max-width:10%;max-height:100%}.layout-xs-column>.flex-10,.layout-xs-row>.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-10{max-width:100%;max-height:10%}.flex-xs-15,.layout-row>.flex-xs-15{max-width:15%;max-height:100%}.flex-xs-15,.layout-column>.flex-xs-15,.layout-row>.flex-xs-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-15{max-width:100%;max-height:15%}.layout-xs-row>.flex-xs-15{max-width:15%;max-height:100%}.layout-xs-column>.flex-xs-15,.layout-xs-row>.flex-xs-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-15{max-width:100%;max-height:15%}.layout-xs-row>.flex-15{max-width:15%;max-height:100%}.layout-xs-column>.flex-15,.layout-xs-row>.flex-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-15{max-width:100%;max-height:15%}.flex-xs-20,.layout-row>.flex-xs-20{max-width:20%;max-height:100%}.flex-xs-20,.layout-column>.flex-xs-20,.layout-row>.flex-xs-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-20{max-width:100%;max-height:20%}.layout-xs-row>.flex-xs-20{max-width:20%;max-height:100%}.layout-xs-column>.flex-xs-20,.layout-xs-row>.flex-xs-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-20{max-width:100%;max-height:20%}.layout-xs-row>.flex-20{max-width:20%;max-height:100%}.layout-xs-column>.flex-20,.layout-xs-row>.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-20{max-width:100%;max-height:20%}.flex-xs-25,.layout-row>.flex-xs-25{max-width:25%;max-height:100%}.flex-xs-25,.layout-column>.flex-xs-25,.layout-row>.flex-xs-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-25{max-width:100%;max-height:25%}.layout-xs-row>.flex-xs-25{max-width:25%;max-height:100%}.layout-xs-column>.flex-xs-25,.layout-xs-row>.flex-xs-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-25{max-width:100%;max-height:25%}.layout-xs-row>.flex-25{max-width:25%;max-height:100%}.layout-xs-column>.flex-25,.layout-xs-row>.flex-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-25{max-width:100%;max-height:25%}.flex-xs-30,.layout-row>.flex-xs-30{max-width:30%;max-height:100%}.flex-xs-30,.layout-column>.flex-xs-30,.layout-row>.flex-xs-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-30{max-width:100%;max-height:30%}.layout-xs-row>.flex-xs-30{max-width:30%;max-height:100%}.layout-xs-column>.flex-xs-30,.layout-xs-row>.flex-xs-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-30{max-width:100%;max-height:30%}.layout-xs-row>.flex-30{max-width:30%;max-height:100%}.layout-xs-column>.flex-30,.layout-xs-row>.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-30{max-width:100%;max-height:30%}.flex-xs-35,.layout-row>.flex-xs-35{max-width:35%;max-height:100%}.flex-xs-35,.layout-column>.flex-xs-35,.layout-row>.flex-xs-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-35{max-width:100%;max-height:35%}.layout-xs-row>.flex-xs-35{max-width:35%;max-height:100%}.layout-xs-column>.flex-xs-35,.layout-xs-row>.flex-xs-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-35{max-width:100%;max-height:35%}.layout-xs-row>.flex-35{max-width:35%;max-height:100%}.layout-xs-column>.flex-35,.layout-xs-row>.flex-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-35{max-width:100%;max-height:35%}.flex-xs-40,.layout-row>.flex-xs-40{max-width:40%;max-height:100%}.flex-xs-40,.layout-column>.flex-xs-40,.layout-row>.flex-xs-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-40{max-width:100%;max-height:40%}.layout-xs-row>.flex-xs-40{max-width:40%;max-height:100%}.layout-xs-column>.flex-xs-40,.layout-xs-row>.flex-xs-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-40{max-width:100%;max-height:40%}.layout-xs-row>.flex-40{max-width:40%;max-height:100%}.layout-xs-column>.flex-40,.layout-xs-row>.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-40{max-width:100%;max-height:40%}.flex-xs-45,.layout-row>.flex-xs-45{max-width:45%;max-height:100%}.flex-xs-45,.layout-column>.flex-xs-45,.layout-row>.flex-xs-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-45{max-width:100%;max-height:45%}.layout-xs-row>.flex-xs-45{max-width:45%;max-height:100%}.layout-xs-column>.flex-xs-45,.layout-xs-row>.flex-xs-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-45{max-width:100%;max-height:45%}.layout-xs-row>.flex-45{max-width:45%;max-height:100%}.layout-xs-column>.flex-45,.layout-xs-row>.flex-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-45{max-width:100%;max-height:45%}.flex-xs-50,.layout-row>.flex-xs-50{max-width:50%;max-height:100%}.flex-xs-50,.layout-column>.flex-xs-50,.layout-row>.flex-xs-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-50{max-width:100%;max-height:50%}.layout-xs-row>.flex-xs-50{max-width:50%;max-height:100%}.layout-xs-column>.flex-xs-50,.layout-xs-row>.flex-xs-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-50{max-width:100%;max-height:50%}.layout-xs-row>.flex-50{max-width:50%;max-height:100%}.layout-xs-column>.flex-50,.layout-xs-row>.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-50{max-width:100%;max-height:50%}.flex-xs-55,.layout-row>.flex-xs-55{max-width:55%;max-height:100%}.flex-xs-55,.layout-column>.flex-xs-55,.layout-row>.flex-xs-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-55{max-width:100%;max-height:55%}.layout-xs-row>.flex-xs-55{max-width:55%;max-height:100%}.layout-xs-column>.flex-xs-55,.layout-xs-row>.flex-xs-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-55{max-width:100%;max-height:55%}.layout-xs-row>.flex-55{max-width:55%;max-height:100%}.layout-xs-column>.flex-55,.layout-xs-row>.flex-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-55{max-width:100%;max-height:55%}.flex-xs-60,.layout-row>.flex-xs-60{max-width:60%;max-height:100%}.flex-xs-60,.layout-column>.flex-xs-60,.layout-row>.flex-xs-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-60{max-width:100%;max-height:60%}.layout-xs-row>.flex-xs-60{max-width:60%;max-height:100%}.layout-xs-column>.flex-xs-60,.layout-xs-row>.flex-xs-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-60{max-width:100%;max-height:60%}.layout-xs-row>.flex-60{max-width:60%;max-height:100%}.layout-xs-column>.flex-60,.layout-xs-row>.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-60{max-width:100%;max-height:60%}.flex-xs-65,.layout-row>.flex-xs-65{max-width:65%;max-height:100%}.flex-xs-65,.layout-column>.flex-xs-65,.layout-row>.flex-xs-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-65{max-width:100%;max-height:65%}.layout-xs-row>.flex-xs-65{max-width:65%;max-height:100%}.layout-xs-column>.flex-xs-65,.layout-xs-row>.flex-xs-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-65{max-width:100%;max-height:65%}.layout-xs-row>.flex-65{max-width:65%;max-height:100%}.layout-xs-column>.flex-65,.layout-xs-row>.flex-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-65{max-width:100%;max-height:65%}.flex-xs-70,.layout-row>.flex-xs-70{max-width:70%;max-height:100%}.flex-xs-70,.layout-column>.flex-xs-70,.layout-row>.flex-xs-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-70{max-width:100%;max-height:70%}.layout-xs-row>.flex-xs-70{max-width:70%;max-height:100%}.layout-xs-column>.flex-xs-70,.layout-xs-row>.flex-xs-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-70{max-width:100%;max-height:70%}.layout-xs-row>.flex-70{max-width:70%;max-height:100%}.layout-xs-column>.flex-70,.layout-xs-row>.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-70{max-width:100%;max-height:70%}.flex-xs-75,.layout-row>.flex-xs-75{max-width:75%;max-height:100%}.flex-xs-75,.layout-column>.flex-xs-75,.layout-row>.flex-xs-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-75{max-width:100%;max-height:75%}.layout-xs-row>.flex-xs-75{max-width:75%;max-height:100%}.layout-xs-column>.flex-xs-75,.layout-xs-row>.flex-xs-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-75{max-width:100%;max-height:75%}.layout-xs-row>.flex-75{max-width:75%;max-height:100%}.layout-xs-column>.flex-75,.layout-xs-row>.flex-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-75{max-width:100%;max-height:75%}.flex-xs-80,.layout-row>.flex-xs-80{max-width:80%;max-height:100%}.flex-xs-80,.layout-column>.flex-xs-80,.layout-row>.flex-xs-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-80{max-width:100%;max-height:80%}.layout-xs-row>.flex-xs-80{max-width:80%;max-height:100%}.layout-xs-column>.flex-xs-80,.layout-xs-row>.flex-xs-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-80{max-width:100%;max-height:80%}.layout-xs-row>.flex-80{max-width:80%;max-height:100%}.layout-xs-column>.flex-80,.layout-xs-row>.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-80{max-width:100%;max-height:80%}.flex-xs-85,.layout-row>.flex-xs-85{max-width:85%;max-height:100%}.flex-xs-85,.layout-column>.flex-xs-85,.layout-row>.flex-xs-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-85{max-width:100%;max-height:85%}.layout-xs-row>.flex-xs-85{max-width:85%;max-height:100%}.layout-xs-column>.flex-xs-85,.layout-xs-row>.flex-xs-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-85{max-width:100%;max-height:85%}.layout-xs-row>.flex-85{max-width:85%;max-height:100%}.layout-xs-column>.flex-85,.layout-xs-row>.flex-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-85{max-width:100%;max-height:85%}.flex-xs-90,.layout-row>.flex-xs-90{max-width:90%;max-height:100%}.flex-xs-90,.layout-column>.flex-xs-90,.layout-row>.flex-xs-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-90{max-width:100%;max-height:90%}.layout-xs-row>.flex-xs-90{max-width:90%;max-height:100%}.layout-xs-column>.flex-xs-90,.layout-xs-row>.flex-xs-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-90{max-width:100%;max-height:90%}.layout-xs-row>.flex-90{max-width:90%;max-height:100%}.layout-xs-column>.flex-90,.layout-xs-row>.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-90{max-width:100%;max-height:90%}.flex-xs-95,.layout-row>.flex-xs-95{max-width:95%;max-height:100%}.flex-xs-95,.layout-column>.flex-xs-95,.layout-row>.flex-xs-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-95{max-width:100%;max-height:95%}.layout-xs-row>.flex-xs-95{max-width:95%;max-height:100%}.layout-xs-column>.flex-xs-95,.layout-xs-row>.flex-xs-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-95{max-width:100%;max-height:95%}.layout-xs-row>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-95{max-height:95%}.flex-xs-100,.layout-xs-column>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.flex-xs-100{max-height:100%}.layout-column>.flex-xs-100,.layout-row>.flex-xs-100,.layout-xs-column>.flex-100,.layout-xs-column>.flex-xs-100,.layout-xs-row>.flex-100,.layout-xs-row>.flex-xs-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-xs-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-xs-33,.layout-row>.flex-xs-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-xs-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-xs-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-height:33.33%}.layout-column>.flex-xs-33,.layout-column>.flex-xs-66{-webkit-box-flex:1;max-width:100%;box-sizing:border-box}.layout-column>.flex-xs-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-height:66.66%}.layout-xs-row>.flex-xs-33{max-width:33.33%}.layout-xs-row>.flex-xs-33,.layout-xs-row>.flex-xs-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-xs-row>.flex-xs-66{max-width:66.66%}.layout-xs-column>.flex-xs-33{max-height:33.33%}.layout-xs-column>.flex-xs-33,.layout-xs-column>.flex-xs-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-66{max-height:66.66%}.layout-xs-row>.flex-33{max-width:33.33%}.layout-xs-row>.flex-33,.layout-xs-row>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-xs-row>.flex-66{max-width:66.66%}.layout-xs-row>.flex{min-width:0}.layout-xs-column>.flex-33{max-height:33.33%}.layout-xs-column>.flex-33,.layout-xs-column>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-xs-column>.flex-66{max-height:66.66%}.layout-xs-column>.flex{min-height:0}.layout-xs,.layout-xs-column,.layout-xs-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-xs-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-xs-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}}@media (min-width:600px){.flex-order-gt-xs--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-gt-xs--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-gt-xs--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-gt-xs--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-gt-xs--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-gt-xs--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-gt-xs--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-gt-xs--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-gt-xs--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-gt-xs--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-gt-xs--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-gt-xs--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-gt-xs--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-gt-xs--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-gt-xs--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-gt-xs--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-gt-xs--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-gt-xs--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-gt-xs--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-gt-xs--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-gt-xs-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-gt-xs-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-gt-xs-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-gt-xs-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-gt-xs-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-gt-xs-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-gt-xs-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-gt-xs-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-gt-xs-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-gt-xs-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-gt-xs-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-gt-xs-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-gt-xs-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-gt-xs-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-gt-xs-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-gt-xs-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-gt-xs-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-gt-xs-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-gt-xs-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-gt-xs-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-gt-xs-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-gt-xs-0,.offset-gt-xs-0{margin-left:0}[dir=rtl] .flex-offset-gt-xs-0,[dir=rtl] .offset-gt-xs-0{margin-left:auto;margin-right:0}.flex-offset-gt-xs-5,.offset-gt-xs-5{margin-left:5%}[dir=rtl] .flex-offset-gt-xs-5,[dir=rtl] .offset-gt-xs-5{margin-left:auto;margin-right:5%}.flex-offset-gt-xs-10,.offset-gt-xs-10{margin-left:10%}[dir=rtl] .flex-offset-gt-xs-10,[dir=rtl] .offset-gt-xs-10{margin-left:auto;margin-right:10%}.flex-offset-gt-xs-15,.offset-gt-xs-15{margin-left:15%}[dir=rtl] .flex-offset-gt-xs-15,[dir=rtl] .offset-gt-xs-15{margin-left:auto;margin-right:15%}.flex-offset-gt-xs-20,.offset-gt-xs-20{margin-left:20%}[dir=rtl] .flex-offset-gt-xs-20,[dir=rtl] .offset-gt-xs-20{margin-left:auto;margin-right:20%}.flex-offset-gt-xs-25,.offset-gt-xs-25{margin-left:25%}[dir=rtl] .flex-offset-gt-xs-25,[dir=rtl] .offset-gt-xs-25{margin-left:auto;margin-right:25%}.flex-offset-gt-xs-30,.offset-gt-xs-30{margin-left:30%}[dir=rtl] .flex-offset-gt-xs-30,[dir=rtl] .offset-gt-xs-30{margin-left:auto;margin-right:30%}.flex-offset-gt-xs-35,.offset-gt-xs-35{margin-left:35%}[dir=rtl] .flex-offset-gt-xs-35,[dir=rtl] .offset-gt-xs-35{margin-left:auto;margin-right:35%}.flex-offset-gt-xs-40,.offset-gt-xs-40{margin-left:40%}[dir=rtl] .flex-offset-gt-xs-40,[dir=rtl] .offset-gt-xs-40{margin-left:auto;margin-right:40%}.flex-offset-gt-xs-45,.offset-gt-xs-45{margin-left:45%}[dir=rtl] .flex-offset-gt-xs-45,[dir=rtl] .offset-gt-xs-45{margin-left:auto;margin-right:45%}.flex-offset-gt-xs-50,.offset-gt-xs-50{margin-left:50%}[dir=rtl] .flex-offset-gt-xs-50,[dir=rtl] .offset-gt-xs-50{margin-left:auto;margin-right:50%}.flex-offset-gt-xs-55,.offset-gt-xs-55{margin-left:55%}[dir=rtl] .flex-offset-gt-xs-55,[dir=rtl] .offset-gt-xs-55{margin-left:auto;margin-right:55%}.flex-offset-gt-xs-60,.offset-gt-xs-60{margin-left:60%}[dir=rtl] .flex-offset-gt-xs-60,[dir=rtl] .offset-gt-xs-60{margin-left:auto;margin-right:60%}.flex-offset-gt-xs-65,.offset-gt-xs-65{margin-left:65%}[dir=rtl] .flex-offset-gt-xs-65,[dir=rtl] .offset-gt-xs-65{margin-left:auto;margin-right:65%}.flex-offset-gt-xs-70,.offset-gt-xs-70{margin-left:70%}[dir=rtl] .flex-offset-gt-xs-70,[dir=rtl] .offset-gt-xs-70{margin-left:auto;margin-right:70%}.flex-offset-gt-xs-75,.offset-gt-xs-75{margin-left:75%}[dir=rtl] .flex-offset-gt-xs-75,[dir=rtl] .offset-gt-xs-75{margin-left:auto;margin-right:75%}.flex-offset-gt-xs-80,.offset-gt-xs-80{margin-left:80%}[dir=rtl] .flex-offset-gt-xs-80,[dir=rtl] .offset-gt-xs-80{margin-left:auto;margin-right:80%}.flex-offset-gt-xs-85,.offset-gt-xs-85{margin-left:85%}[dir=rtl] .flex-offset-gt-xs-85,[dir=rtl] .offset-gt-xs-85{margin-left:auto;margin-right:85%}.flex-offset-gt-xs-90,.offset-gt-xs-90{margin-left:90%}[dir=rtl] .flex-offset-gt-xs-90,[dir=rtl] .offset-gt-xs-90{margin-left:auto;margin-right:90%}.flex-offset-gt-xs-95,.offset-gt-xs-95{margin-left:95%}[dir=rtl] .flex-offset-gt-xs-95,[dir=rtl] .offset-gt-xs-95{margin-left:auto;margin-right:95%}.flex-offset-gt-xs-33,.offset-gt-xs-33{margin-left:33.33333%}.flex-offset-gt-xs-66,.offset-gt-xs-66{margin-left:66.66667%}[dir=rtl] .flex-offset-gt-xs-66,[dir=rtl] .offset-gt-xs-66{margin-left:auto;margin-right:66.66667%}.layout-align-gt-xs,.layout-align-gt-xs-start-stretch{-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch}.layout-align-gt-xs,.layout-align-gt-xs-start,.layout-align-gt-xs-start-center,.layout-align-gt-xs-start-end,.layout-align-gt-xs-start-start,.layout-align-gt-xs-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-gt-xs-center,.layout-align-gt-xs-center-center,.layout-align-gt-xs-center-end,.layout-align-gt-xs-center-start,.layout-align-gt-xs-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-gt-xs-end,.layout-align-gt-xs-end-center,.layout-align-gt-xs-end-end,.layout-align-gt-xs-end-start,.layout-align-gt-xs-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-gt-xs-space-around,.layout-align-gt-xs-space-around-center,.layout-align-gt-xs-space-around-end,.layout-align-gt-xs-space-around-start,.layout-align-gt-xs-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-gt-xs-space-between,.layout-align-gt-xs-space-between-center,.layout-align-gt-xs-space-between-end,.layout-align-gt-xs-space-between-start,.layout-align-gt-xs-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-gt-xs-center-start,.layout-align-gt-xs-end-start,.layout-align-gt-xs-space-around-start,.layout-align-gt-xs-space-between-start,.layout-align-gt-xs-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-gt-xs-center-center,.layout-align-gt-xs-end-center,.layout-align-gt-xs-space-around-center,.layout-align-gt-xs-space-between-center,.layout-align-gt-xs-start-center{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-gt-xs-center-center>*,.layout-align-gt-xs-end-center>*,.layout-align-gt-xs-space-around-center>*,.layout-align-gt-xs-space-between-center>*,.layout-align-gt-xs-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-gt-xs-center-end,.layout-align-gt-xs-end-end,.layout-align-gt-xs-space-around-end,.layout-align-gt-xs-space-between-end,.layout-align-gt-xs-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-gt-xs-center-stretch,.layout-align-gt-xs-end-stretch,.layout-align-gt-xs-space-around-stretch,.layout-align-gt-xs-space-between-stretch,.layout-align-gt-xs-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-gt-xs{-webkit-flex:1;flex:1}.flex-gt-xs,.flex-gt-xs-grow{-webkit-box-flex:1;box-sizing:border-box}.flex-gt-xs-grow{-webkit-flex:1 1 100%;flex:1 1 100%}.flex-gt-xs-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-xs-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-gt-xs-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-gt-xs-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-gt-xs-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-xs-0,.layout-row>.flex-gt-xs-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:0;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-xs-0{min-width:0}.layout-column>.flex-gt-xs-0{max-width:100%;max-height:0%}.layout-column>.flex-gt-xs-0,.layout-gt-xs-row>.flex-gt-xs-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-0{max-width:0;max-height:100%;min-width:0}.layout-gt-xs-column>.flex-gt-xs-0{max-width:100%;max-height:0%;min-height:0}.layout-gt-xs-column>.flex-gt-xs-0,.layout-gt-xs-row>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-row>.flex-0{max-width:0;max-height:100%;min-width:0}.layout-gt-xs-column>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-gt-xs-5,.layout-row>.flex-gt-xs-5{max-width:5%;max-height:100%}.flex-gt-xs-5,.layout-column>.flex-gt-xs-5,.layout-row>.flex-gt-xs-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-5{max-width:100%;max-height:5%}.layout-gt-xs-row>.flex-gt-xs-5{max-width:5%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-5,.layout-gt-xs-row>.flex-gt-xs-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-5{max-width:100%;max-height:5%}.layout-gt-xs-row>.flex-5{max-width:5%;max-height:100%}.layout-gt-xs-column>.flex-5,.layout-gt-xs-row>.flex-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-5{max-width:100%;max-height:5%}.flex-gt-xs-10,.layout-row>.flex-gt-xs-10{max-width:10%;max-height:100%}.flex-gt-xs-10,.layout-column>.flex-gt-xs-10,.layout-row>.flex-gt-xs-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-10{max-width:100%;max-height:10%}.layout-gt-xs-row>.flex-gt-xs-10{max-width:10%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-10,.layout-gt-xs-row>.flex-gt-xs-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-10{max-width:100%;max-height:10%}.layout-gt-xs-row>.flex-10{max-width:10%;max-height:100%}.layout-gt-xs-column>.flex-10,.layout-gt-xs-row>.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-10{max-width:100%;max-height:10%}.flex-gt-xs-15,.layout-row>.flex-gt-xs-15{max-width:15%;max-height:100%}.flex-gt-xs-15,.layout-column>.flex-gt-xs-15,.layout-row>.flex-gt-xs-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-15{max-width:100%;max-height:15%}.layout-gt-xs-row>.flex-gt-xs-15{max-width:15%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-15,.layout-gt-xs-row>.flex-gt-xs-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-15{max-width:100%;max-height:15%}.layout-gt-xs-row>.flex-15{max-width:15%;max-height:100%}.layout-gt-xs-column>.flex-15,.layout-gt-xs-row>.flex-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-15{max-width:100%;max-height:15%}.flex-gt-xs-20,.layout-row>.flex-gt-xs-20{max-width:20%;max-height:100%}.flex-gt-xs-20,.layout-column>.flex-gt-xs-20,.layout-row>.flex-gt-xs-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-20{max-width:100%;max-height:20%}.layout-gt-xs-row>.flex-gt-xs-20{max-width:20%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-20,.layout-gt-xs-row>.flex-gt-xs-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-20{max-width:100%;max-height:20%}.layout-gt-xs-row>.flex-20{max-width:20%;max-height:100%}.layout-gt-xs-column>.flex-20,.layout-gt-xs-row>.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-20{max-width:100%;max-height:20%}.flex-gt-xs-25,.layout-row>.flex-gt-xs-25{max-width:25%;max-height:100%}.flex-gt-xs-25,.layout-column>.flex-gt-xs-25,.layout-row>.flex-gt-xs-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-25{max-width:100%;max-height:25%}.layout-gt-xs-row>.flex-gt-xs-25{max-width:25%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-25,.layout-gt-xs-row>.flex-gt-xs-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-25{max-width:100%;max-height:25%}.layout-gt-xs-row>.flex-25{max-width:25%;max-height:100%}.layout-gt-xs-column>.flex-25,.layout-gt-xs-row>.flex-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-25{max-width:100%;max-height:25%}.flex-gt-xs-30,.layout-row>.flex-gt-xs-30{max-width:30%;max-height:100%}.flex-gt-xs-30,.layout-column>.flex-gt-xs-30,.layout-row>.flex-gt-xs-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-30{max-width:100%;max-height:30%}.layout-gt-xs-row>.flex-gt-xs-30{max-width:30%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-30,.layout-gt-xs-row>.flex-gt-xs-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-30{max-width:100%;max-height:30%}.layout-gt-xs-row>.flex-30{max-width:30%;max-height:100%}.layout-gt-xs-column>.flex-30,.layout-gt-xs-row>.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-30{max-width:100%;max-height:30%}.flex-gt-xs-35,.layout-row>.flex-gt-xs-35{max-width:35%;max-height:100%}.flex-gt-xs-35,.layout-column>.flex-gt-xs-35,.layout-row>.flex-gt-xs-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-35{max-width:100%;max-height:35%}.layout-gt-xs-row>.flex-gt-xs-35{max-width:35%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-35,.layout-gt-xs-row>.flex-gt-xs-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-35{max-width:100%;max-height:35%}.layout-gt-xs-row>.flex-35{max-width:35%;max-height:100%}.layout-gt-xs-column>.flex-35,.layout-gt-xs-row>.flex-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-35{max-width:100%;max-height:35%}.flex-gt-xs-40,.layout-row>.flex-gt-xs-40{max-width:40%;max-height:100%}.flex-gt-xs-40,.layout-column>.flex-gt-xs-40,.layout-row>.flex-gt-xs-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-40{max-width:100%;max-height:40%}.layout-gt-xs-row>.flex-gt-xs-40{max-width:40%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-40,.layout-gt-xs-row>.flex-gt-xs-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-40{max-width:100%;max-height:40%}.layout-gt-xs-row>.flex-40{max-width:40%;max-height:100%}.layout-gt-xs-column>.flex-40,.layout-gt-xs-row>.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-40{max-width:100%;max-height:40%}.flex-gt-xs-45,.layout-row>.flex-gt-xs-45{max-width:45%;max-height:100%}.flex-gt-xs-45,.layout-column>.flex-gt-xs-45,.layout-row>.flex-gt-xs-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-45{max-width:100%;max-height:45%}.layout-gt-xs-row>.flex-gt-xs-45{max-width:45%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-45,.layout-gt-xs-row>.flex-gt-xs-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-45{max-width:100%;max-height:45%}.layout-gt-xs-row>.flex-45{max-width:45%;max-height:100%}.layout-gt-xs-column>.flex-45,.layout-gt-xs-row>.flex-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-45{max-width:100%;max-height:45%}.flex-gt-xs-50,.layout-row>.flex-gt-xs-50{max-width:50%;max-height:100%}.flex-gt-xs-50,.layout-column>.flex-gt-xs-50,.layout-row>.flex-gt-xs-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-50{max-width:100%;max-height:50%}.layout-gt-xs-row>.flex-gt-xs-50{max-width:50%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-50,.layout-gt-xs-row>.flex-gt-xs-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-50{max-width:100%;max-height:50%}.layout-gt-xs-row>.flex-50{max-width:50%;max-height:100%}.layout-gt-xs-column>.flex-50,.layout-gt-xs-row>.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-50{max-width:100%;max-height:50%}.flex-gt-xs-55,.layout-row>.flex-gt-xs-55{max-width:55%;max-height:100%}.flex-gt-xs-55,.layout-column>.flex-gt-xs-55,.layout-row>.flex-gt-xs-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-55{max-width:100%;max-height:55%}.layout-gt-xs-row>.flex-gt-xs-55{max-width:55%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-55,.layout-gt-xs-row>.flex-gt-xs-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-55{max-width:100%;max-height:55%}.layout-gt-xs-row>.flex-55{max-width:55%;max-height:100%}.layout-gt-xs-column>.flex-55,.layout-gt-xs-row>.flex-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-55{max-width:100%;max-height:55%}.flex-gt-xs-60,.layout-row>.flex-gt-xs-60{max-width:60%;max-height:100%}.flex-gt-xs-60,.layout-column>.flex-gt-xs-60,.layout-row>.flex-gt-xs-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-60{max-width:100%;max-height:60%}.layout-gt-xs-row>.flex-gt-xs-60{max-width:60%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-60,.layout-gt-xs-row>.flex-gt-xs-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-60{max-width:100%;max-height:60%}.layout-gt-xs-row>.flex-60{max-width:60%;max-height:100%}.layout-gt-xs-column>.flex-60,.layout-gt-xs-row>.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-60{max-width:100%;max-height:60%}.flex-gt-xs-65,.layout-row>.flex-gt-xs-65{max-width:65%;max-height:100%}.flex-gt-xs-65,.layout-column>.flex-gt-xs-65,.layout-row>.flex-gt-xs-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-65{max-width:100%;max-height:65%}.layout-gt-xs-row>.flex-gt-xs-65{max-width:65%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-65,.layout-gt-xs-row>.flex-gt-xs-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-65{max-width:100%;max-height:65%}.layout-gt-xs-row>.flex-65{max-width:65%;max-height:100%}.layout-gt-xs-column>.flex-65,.layout-gt-xs-row>.flex-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-65{max-width:100%;max-height:65%}.flex-gt-xs-70,.layout-row>.flex-gt-xs-70{max-width:70%;max-height:100%}.flex-gt-xs-70,.layout-column>.flex-gt-xs-70,.layout-row>.flex-gt-xs-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-70{max-width:100%;max-height:70%}.layout-gt-xs-row>.flex-gt-xs-70{max-width:70%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-70,.layout-gt-xs-row>.flex-gt-xs-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-70{max-width:100%;max-height:70%}.layout-gt-xs-row>.flex-70{max-width:70%;max-height:100%}.layout-gt-xs-column>.flex-70,.layout-gt-xs-row>.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-70{max-width:100%;max-height:70%}.flex-gt-xs-75,.layout-row>.flex-gt-xs-75{max-width:75%;max-height:100%}.flex-gt-xs-75,.layout-column>.flex-gt-xs-75,.layout-row>.flex-gt-xs-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-75{max-width:100%;max-height:75%}.layout-gt-xs-row>.flex-gt-xs-75{max-width:75%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-75,.layout-gt-xs-row>.flex-gt-xs-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-75{max-width:100%;max-height:75%}.layout-gt-xs-row>.flex-75{max-width:75%;max-height:100%}.layout-gt-xs-column>.flex-75,.layout-gt-xs-row>.flex-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-75{max-width:100%;max-height:75%}.flex-gt-xs-80,.layout-row>.flex-gt-xs-80{max-width:80%;max-height:100%}.flex-gt-xs-80,.layout-column>.flex-gt-xs-80,.layout-row>.flex-gt-xs-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-80{max-width:100%;max-height:80%}.layout-gt-xs-row>.flex-gt-xs-80{max-width:80%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-80,.layout-gt-xs-row>.flex-gt-xs-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-80{max-width:100%;max-height:80%}.layout-gt-xs-row>.flex-80{max-width:80%;max-height:100%}.layout-gt-xs-column>.flex-80,.layout-gt-xs-row>.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-80{max-width:100%;max-height:80%}.flex-gt-xs-85,.layout-row>.flex-gt-xs-85{max-width:85%;max-height:100%}.flex-gt-xs-85,.layout-column>.flex-gt-xs-85,.layout-row>.flex-gt-xs-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-85{max-width:100%;max-height:85%}.layout-gt-xs-row>.flex-gt-xs-85{max-width:85%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-85,.layout-gt-xs-row>.flex-gt-xs-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-85{max-width:100%;max-height:85%}.layout-gt-xs-row>.flex-85{max-width:85%;max-height:100%}.layout-gt-xs-column>.flex-85,.layout-gt-xs-row>.flex-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-85{max-width:100%;max-height:85%}.flex-gt-xs-90,.layout-row>.flex-gt-xs-90{max-width:90%;max-height:100%}.flex-gt-xs-90,.layout-column>.flex-gt-xs-90,.layout-row>.flex-gt-xs-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-90{max-width:100%;max-height:90%}.layout-gt-xs-row>.flex-gt-xs-90{max-width:90%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-90,.layout-gt-xs-row>.flex-gt-xs-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-90{max-width:100%;max-height:90%}.layout-gt-xs-row>.flex-90{max-width:90%;max-height:100%}.layout-gt-xs-column>.flex-90,.layout-gt-xs-row>.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-90{max-width:100%;max-height:90%}.flex-gt-xs-95,.layout-row>.flex-gt-xs-95{max-width:95%;max-height:100%}.flex-gt-xs-95,.layout-column>.flex-gt-xs-95,.layout-row>.flex-gt-xs-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-95{max-width:100%;max-height:95%}.layout-gt-xs-row>.flex-gt-xs-95{max-width:95%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-95,.layout-gt-xs-row>.flex-gt-xs-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-95{max-width:100%;max-height:95%}.layout-gt-xs-row>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-95{max-height:95%}.flex-gt-xs-100,.layout-gt-xs-column>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.flex-gt-xs-100{max-height:100%}.layout-column>.flex-gt-xs-100,.layout-gt-xs-column>.flex-100,.layout-gt-xs-column>.flex-gt-xs-100,.layout-gt-xs-row>.flex-100,.layout-gt-xs-row>.flex-gt-xs-100,.layout-row>.flex-gt-xs-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-xs-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-gt-xs-33,.layout-row>.flex-gt-xs-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-xs-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-gt-xs-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-gt-xs-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-33{max-width:33.33%}.layout-gt-xs-row>.flex-gt-xs-33,.layout-gt-xs-row>.flex-gt-xs-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-66{max-width:66.66%}.layout-gt-xs-column>.flex-gt-xs-33{max-height:33.33%}.layout-gt-xs-column>.flex-gt-xs-33,.layout-gt-xs-column>.flex-gt-xs-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-66{max-height:66.66%}.layout-gt-xs-row>.flex-33{max-width:33.33%}.layout-gt-xs-row>.flex-33,.layout-gt-xs-row>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-gt-xs-row>.flex-66{max-width:66.66%}.layout-gt-xs-row>.flex{min-width:0}.layout-gt-xs-column>.flex-33{max-height:33.33%}.layout-gt-xs-column>.flex-33,.layout-gt-xs-column>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-66{max-height:66.66%}.layout-gt-xs-column>.flex{min-height:0}.layout-gt-xs,.layout-gt-xs-column,.layout-gt-xs-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-gt-xs-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-gt-xs-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}}@media (min-width:600px) and (max-width:959px){.hide-gt-xs:not(.show-gt-xs):not(.show-sm):not(.show),.hide-sm:not(.show-gt-xs):not(.show-sm):not(.show),.hide:not(.show-gt-xs):not(.show-sm):not(.show){display:none}.flex-order-sm--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-sm--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-sm--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-sm--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-sm--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-sm--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-sm--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-sm--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-sm--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-sm--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-sm--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-sm--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-sm--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-sm--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-sm--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-sm--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-sm--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-sm--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-sm--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-sm--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-sm-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-sm-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-sm-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-sm-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-sm-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-sm-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-sm-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-sm-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-sm-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-sm-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-sm-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-sm-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-sm-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-sm-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-sm-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-sm-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-sm-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-sm-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-sm-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-sm-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-sm-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-sm-0,.offset-sm-0{margin-left:0}[dir=rtl] .flex-offset-sm-0,[dir=rtl] .offset-sm-0{margin-left:auto;margin-right:0}.flex-offset-sm-5,.offset-sm-5{margin-left:5%}[dir=rtl] .flex-offset-sm-5,[dir=rtl] .offset-sm-5{margin-left:auto;margin-right:5%}.flex-offset-sm-10,.offset-sm-10{margin-left:10%}[dir=rtl] .flex-offset-sm-10,[dir=rtl] .offset-sm-10{margin-left:auto;margin-right:10%}.flex-offset-sm-15,.offset-sm-15{margin-left:15%}[dir=rtl] .flex-offset-sm-15,[dir=rtl] .offset-sm-15{margin-left:auto;margin-right:15%}.flex-offset-sm-20,.offset-sm-20{margin-left:20%}[dir=rtl] .flex-offset-sm-20,[dir=rtl] .offset-sm-20{margin-left:auto;margin-right:20%}.flex-offset-sm-25,.offset-sm-25{margin-left:25%}[dir=rtl] .flex-offset-sm-25,[dir=rtl] .offset-sm-25{margin-left:auto;margin-right:25%}.flex-offset-sm-30,.offset-sm-30{margin-left:30%}[dir=rtl] .flex-offset-sm-30,[dir=rtl] .offset-sm-30{margin-left:auto;margin-right:30%}.flex-offset-sm-35,.offset-sm-35{margin-left:35%}[dir=rtl] .flex-offset-sm-35,[dir=rtl] .offset-sm-35{margin-left:auto;margin-right:35%}.flex-offset-sm-40,.offset-sm-40{margin-left:40%}[dir=rtl] .flex-offset-sm-40,[dir=rtl] .offset-sm-40{margin-left:auto;margin-right:40%}.flex-offset-sm-45,.offset-sm-45{margin-left:45%}[dir=rtl] .flex-offset-sm-45,[dir=rtl] .offset-sm-45{margin-left:auto;margin-right:45%}.flex-offset-sm-50,.offset-sm-50{margin-left:50%}[dir=rtl] .flex-offset-sm-50,[dir=rtl] .offset-sm-50{margin-left:auto;margin-right:50%}.flex-offset-sm-55,.offset-sm-55{margin-left:55%}[dir=rtl] .flex-offset-sm-55,[dir=rtl] .offset-sm-55{margin-left:auto;margin-right:55%}.flex-offset-sm-60,.offset-sm-60{margin-left:60%}[dir=rtl] .flex-offset-sm-60,[dir=rtl] .offset-sm-60{margin-left:auto;margin-right:60%}.flex-offset-sm-65,.offset-sm-65{margin-left:65%}[dir=rtl] .flex-offset-sm-65,[dir=rtl] .offset-sm-65{margin-left:auto;margin-right:65%}.flex-offset-sm-70,.offset-sm-70{margin-left:70%}[dir=rtl] .flex-offset-sm-70,[dir=rtl] .offset-sm-70{margin-left:auto;margin-right:70%}.flex-offset-sm-75,.offset-sm-75{margin-left:75%}[dir=rtl] .flex-offset-sm-75,[dir=rtl] .offset-sm-75{margin-left:auto;margin-right:75%}.flex-offset-sm-80,.offset-sm-80{margin-left:80%}[dir=rtl] .flex-offset-sm-80,[dir=rtl] .offset-sm-80{margin-left:auto;margin-right:80%}.flex-offset-sm-85,.offset-sm-85{margin-left:85%}[dir=rtl] .flex-offset-sm-85,[dir=rtl] .offset-sm-85{margin-left:auto;margin-right:85%}.flex-offset-sm-90,.offset-sm-90{margin-left:90%}[dir=rtl] .flex-offset-sm-90,[dir=rtl] .offset-sm-90{margin-left:auto;margin-right:90%}.flex-offset-sm-95,.offset-sm-95{margin-left:95%}[dir=rtl] .flex-offset-sm-95,[dir=rtl] .offset-sm-95{margin-left:auto;margin-right:95%}.flex-offset-sm-33,.offset-sm-33{margin-left:33.33333%}.flex-offset-sm-66,.offset-sm-66{margin-left:66.66667%}[dir=rtl] .flex-offset-sm-66,[dir=rtl] .offset-sm-66{margin-left:auto;margin-right:66.66667%}.layout-align-sm,.layout-align-sm-start-stretch{-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch}.layout-align-sm,.layout-align-sm-start,.layout-align-sm-start-center,.layout-align-sm-start-end,.layout-align-sm-start-start,.layout-align-sm-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-sm-center,.layout-align-sm-center-center,.layout-align-sm-center-end,.layout-align-sm-center-start,.layout-align-sm-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-sm-end,.layout-align-sm-end-center,.layout-align-sm-end-end,.layout-align-sm-end-start,.layout-align-sm-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-sm-space-around,.layout-align-sm-space-around-center,.layout-align-sm-space-around-end,.layout-align-sm-space-around-start,.layout-align-sm-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-sm-space-between,.layout-align-sm-space-between-center,.layout-align-sm-space-between-end,.layout-align-sm-space-between-start,.layout-align-sm-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-sm-center-start,.layout-align-sm-end-start,.layout-align-sm-space-around-start,.layout-align-sm-space-between-start,.layout-align-sm-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-sm-center-center,.layout-align-sm-end-center,.layout-align-sm-space-around-center,.layout-align-sm-space-between-center,.layout-align-sm-start-center{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-sm-center-center>*,.layout-align-sm-end-center>*,.layout-align-sm-space-around-center>*,.layout-align-sm-space-between-center>*,.layout-align-sm-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-sm-center-end,.layout-align-sm-end-end,.layout-align-sm-space-around-end,.layout-align-sm-space-between-end,.layout-align-sm-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-sm-center-stretch,.layout-align-sm-end-stretch,.layout-align-sm-space-around-stretch,.layout-align-sm-space-between-stretch,.layout-align-sm-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-sm{-webkit-flex:1;flex:1}.flex-sm,.flex-sm-grow{-webkit-box-flex:1;box-sizing:border-box}.flex-sm-grow{-webkit-flex:1 1 100%;flex:1 1 100%}.flex-sm-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-sm-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-sm-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-sm-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-sm-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-sm-0,.layout-row>.flex-sm-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:0;max-height:100%;box-sizing:border-box}.layout-row>.flex-sm-0{min-width:0}.layout-column>.flex-sm-0{max-width:100%;max-height:0%}.layout-column>.flex-sm-0,.layout-sm-row>.flex-sm-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-row>.flex-sm-0{max-width:0;max-height:100%;min-width:0}.layout-sm-column>.flex-sm-0{max-width:100%;max-height:0%;min-height:0}.layout-sm-column>.flex-sm-0,.layout-sm-row>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-row>.flex-0{max-width:0;max-height:100%;min-width:0}.layout-sm-column>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-sm-5,.layout-row>.flex-sm-5{max-width:5%;max-height:100%}.flex-sm-5,.layout-column>.flex-sm-5,.layout-row>.flex-sm-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-5{max-width:100%;max-height:5%}.layout-sm-row>.flex-sm-5{max-width:5%;max-height:100%}.layout-sm-column>.flex-sm-5,.layout-sm-row>.flex-sm-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-5{max-width:100%;max-height:5%}.layout-sm-row>.flex-5{max-width:5%;max-height:100%}.layout-sm-column>.flex-5,.layout-sm-row>.flex-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-5{max-width:100%;max-height:5%}.flex-sm-10,.layout-row>.flex-sm-10{max-width:10%;max-height:100%}.flex-sm-10,.layout-column>.flex-sm-10,.layout-row>.flex-sm-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-10{max-width:100%;max-height:10%}.layout-sm-row>.flex-sm-10{max-width:10%;max-height:100%}.layout-sm-column>.flex-sm-10,.layout-sm-row>.flex-sm-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-10{max-width:100%;max-height:10%}.layout-sm-row>.flex-10{max-width:10%;max-height:100%}.layout-sm-column>.flex-10,.layout-sm-row>.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-10{max-width:100%;max-height:10%}.flex-sm-15,.layout-row>.flex-sm-15{max-width:15%;max-height:100%}.flex-sm-15,.layout-column>.flex-sm-15,.layout-row>.flex-sm-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-15{max-width:100%;max-height:15%}.layout-sm-row>.flex-sm-15{max-width:15%;max-height:100%}.layout-sm-column>.flex-sm-15,.layout-sm-row>.flex-sm-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-15{max-width:100%;max-height:15%}.layout-sm-row>.flex-15{max-width:15%;max-height:100%}.layout-sm-column>.flex-15,.layout-sm-row>.flex-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-15{max-width:100%;max-height:15%}.flex-sm-20,.layout-row>.flex-sm-20{max-width:20%;max-height:100%}.flex-sm-20,.layout-column>.flex-sm-20,.layout-row>.flex-sm-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-20{max-width:100%;max-height:20%}.layout-sm-row>.flex-sm-20{max-width:20%;max-height:100%}.layout-sm-column>.flex-sm-20,.layout-sm-row>.flex-sm-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-20{max-width:100%;max-height:20%}.layout-sm-row>.flex-20{max-width:20%;max-height:100%}.layout-sm-column>.flex-20,.layout-sm-row>.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-20{max-width:100%;max-height:20%}.flex-sm-25,.layout-row>.flex-sm-25{max-width:25%;max-height:100%}.flex-sm-25,.layout-column>.flex-sm-25,.layout-row>.flex-sm-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-25{max-width:100%;max-height:25%}.layout-sm-row>.flex-sm-25{max-width:25%;max-height:100%}.layout-sm-column>.flex-sm-25,.layout-sm-row>.flex-sm-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-25{max-width:100%;max-height:25%}.layout-sm-row>.flex-25{max-width:25%;max-height:100%}.layout-sm-column>.flex-25,.layout-sm-row>.flex-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-25{max-width:100%;max-height:25%}.flex-sm-30,.layout-row>.flex-sm-30{max-width:30%;max-height:100%}.flex-sm-30,.layout-column>.flex-sm-30,.layout-row>.flex-sm-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-30{max-width:100%;max-height:30%}.layout-sm-row>.flex-sm-30{max-width:30%;max-height:100%}.layout-sm-column>.flex-sm-30,.layout-sm-row>.flex-sm-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-30{max-width:100%;max-height:30%}.layout-sm-row>.flex-30{max-width:30%;max-height:100%}.layout-sm-column>.flex-30,.layout-sm-row>.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-30{max-width:100%;max-height:30%}.flex-sm-35,.layout-row>.flex-sm-35{max-width:35%;max-height:100%}.flex-sm-35,.layout-column>.flex-sm-35,.layout-row>.flex-sm-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-35{max-width:100%;max-height:35%}.layout-sm-row>.flex-sm-35{max-width:35%;max-height:100%}.layout-sm-column>.flex-sm-35,.layout-sm-row>.flex-sm-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-35{max-width:100%;max-height:35%}.layout-sm-row>.flex-35{max-width:35%;max-height:100%}.layout-sm-column>.flex-35,.layout-sm-row>.flex-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-35{max-width:100%;max-height:35%}.flex-sm-40,.layout-row>.flex-sm-40{max-width:40%;max-height:100%}.flex-sm-40,.layout-column>.flex-sm-40,.layout-row>.flex-sm-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-40{max-width:100%;max-height:40%}.layout-sm-row>.flex-sm-40{max-width:40%;max-height:100%}.layout-sm-column>.flex-sm-40,.layout-sm-row>.flex-sm-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-40{max-width:100%;max-height:40%}.layout-sm-row>.flex-40{max-width:40%;max-height:100%}.layout-sm-column>.flex-40,.layout-sm-row>.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-40{max-width:100%;max-height:40%}.flex-sm-45,.layout-row>.flex-sm-45{max-width:45%;max-height:100%}.flex-sm-45,.layout-column>.flex-sm-45,.layout-row>.flex-sm-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-45{max-width:100%;max-height:45%}.layout-sm-row>.flex-sm-45{max-width:45%;max-height:100%}.layout-sm-column>.flex-sm-45,.layout-sm-row>.flex-sm-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-45{max-width:100%;max-height:45%}.layout-sm-row>.flex-45{max-width:45%;max-height:100%}.layout-sm-column>.flex-45,.layout-sm-row>.flex-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-45{max-width:100%;max-height:45%}.flex-sm-50,.layout-row>.flex-sm-50{max-width:50%;max-height:100%}.flex-sm-50,.layout-column>.flex-sm-50,.layout-row>.flex-sm-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-50{max-width:100%;max-height:50%}.layout-sm-row>.flex-sm-50{max-width:50%;max-height:100%}.layout-sm-column>.flex-sm-50,.layout-sm-row>.flex-sm-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-50{max-width:100%;max-height:50%}.layout-sm-row>.flex-50{max-width:50%;max-height:100%}.layout-sm-column>.flex-50,.layout-sm-row>.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-50{max-width:100%;max-height:50%}.flex-sm-55,.layout-row>.flex-sm-55{max-width:55%;max-height:100%}.flex-sm-55,.layout-column>.flex-sm-55,.layout-row>.flex-sm-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-55{max-width:100%;max-height:55%}.layout-sm-row>.flex-sm-55{max-width:55%;max-height:100%}.layout-sm-column>.flex-sm-55,.layout-sm-row>.flex-sm-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-55{max-width:100%;max-height:55%}.layout-sm-row>.flex-55{max-width:55%;max-height:100%}.layout-sm-column>.flex-55,.layout-sm-row>.flex-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-55{max-width:100%;max-height:55%}.flex-sm-60,.layout-row>.flex-sm-60{max-width:60%;max-height:100%}.flex-sm-60,.layout-column>.flex-sm-60,.layout-row>.flex-sm-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-60{max-width:100%;max-height:60%}.layout-sm-row>.flex-sm-60{max-width:60%;max-height:100%}.layout-sm-column>.flex-sm-60,.layout-sm-row>.flex-sm-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-60{max-width:100%;max-height:60%}.layout-sm-row>.flex-60{max-width:60%;max-height:100%}.layout-sm-column>.flex-60,.layout-sm-row>.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-60{max-width:100%;max-height:60%}.flex-sm-65,.layout-row>.flex-sm-65{max-width:65%;max-height:100%}.flex-sm-65,.layout-column>.flex-sm-65,.layout-row>.flex-sm-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-65{max-width:100%;max-height:65%}.layout-sm-row>.flex-sm-65{max-width:65%;max-height:100%}.layout-sm-column>.flex-sm-65,.layout-sm-row>.flex-sm-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-65{max-width:100%;max-height:65%}.layout-sm-row>.flex-65{max-width:65%;max-height:100%}.layout-sm-column>.flex-65,.layout-sm-row>.flex-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-65{max-width:100%;max-height:65%}.flex-sm-70,.layout-row>.flex-sm-70{max-width:70%;max-height:100%}.flex-sm-70,.layout-column>.flex-sm-70,.layout-row>.flex-sm-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-70{max-width:100%;max-height:70%}.layout-sm-row>.flex-sm-70{max-width:70%;max-height:100%}.layout-sm-column>.flex-sm-70,.layout-sm-row>.flex-sm-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-70{max-width:100%;max-height:70%}.layout-sm-row>.flex-70{max-width:70%;max-height:100%}.layout-sm-column>.flex-70,.layout-sm-row>.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-70{max-width:100%;max-height:70%}.flex-sm-75,.layout-row>.flex-sm-75{max-width:75%;max-height:100%}.flex-sm-75,.layout-column>.flex-sm-75,.layout-row>.flex-sm-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-75{max-width:100%;max-height:75%}.layout-sm-row>.flex-sm-75{max-width:75%;max-height:100%}.layout-sm-column>.flex-sm-75,.layout-sm-row>.flex-sm-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-75{max-width:100%;max-height:75%}.layout-sm-row>.flex-75{max-width:75%;max-height:100%}.layout-sm-column>.flex-75,.layout-sm-row>.flex-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-75{max-width:100%;max-height:75%}.flex-sm-80,.layout-row>.flex-sm-80{max-width:80%;max-height:100%}.flex-sm-80,.layout-column>.flex-sm-80,.layout-row>.flex-sm-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-80{max-width:100%;max-height:80%}.layout-sm-row>.flex-sm-80{max-width:80%;max-height:100%}.layout-sm-column>.flex-sm-80,.layout-sm-row>.flex-sm-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-80{max-width:100%;max-height:80%}.layout-sm-row>.flex-80{max-width:80%;max-height:100%}.layout-sm-column>.flex-80,.layout-sm-row>.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-80{max-width:100%;max-height:80%}.flex-sm-85,.layout-row>.flex-sm-85{max-width:85%;max-height:100%}.flex-sm-85,.layout-column>.flex-sm-85,.layout-row>.flex-sm-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-85{max-width:100%;max-height:85%}.layout-sm-row>.flex-sm-85{max-width:85%;max-height:100%}.layout-sm-column>.flex-sm-85,.layout-sm-row>.flex-sm-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-85{max-width:100%;max-height:85%}.layout-sm-row>.flex-85{max-width:85%;max-height:100%}.layout-sm-column>.flex-85,.layout-sm-row>.flex-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-85{max-width:100%;max-height:85%}.flex-sm-90,.layout-row>.flex-sm-90{max-width:90%;max-height:100%}.flex-sm-90,.layout-column>.flex-sm-90,.layout-row>.flex-sm-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-90{max-width:100%;max-height:90%}.layout-sm-row>.flex-sm-90{max-width:90%;max-height:100%}.layout-sm-column>.flex-sm-90,.layout-sm-row>.flex-sm-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-90{max-width:100%;max-height:90%}.layout-sm-row>.flex-90{max-width:90%;max-height:100%}.layout-sm-column>.flex-90,.layout-sm-row>.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-90{max-width:100%;max-height:90%}.flex-sm-95,.layout-row>.flex-sm-95{max-width:95%;max-height:100%}.flex-sm-95,.layout-column>.flex-sm-95,.layout-row>.flex-sm-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-95{max-width:100%;max-height:95%}.layout-sm-row>.flex-sm-95{max-width:95%;max-height:100%}.layout-sm-column>.flex-sm-95,.layout-sm-row>.flex-sm-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-95{max-width:100%;max-height:95%}.layout-sm-row>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-95{max-height:95%}.flex-sm-100,.layout-sm-column>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.flex-sm-100{max-height:100%}.layout-column>.flex-sm-100,.layout-row>.flex-sm-100,.layout-sm-column>.flex-100,.layout-sm-column>.flex-sm-100,.layout-sm-row>.flex-100,.layout-sm-row>.flex-sm-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-sm-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-sm-33,.layout-row>.flex-sm-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-sm-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-sm-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-height:33.33%}.layout-column>.flex-sm-33,.layout-column>.flex-sm-66{-webkit-box-flex:1;max-width:100%;box-sizing:border-box}.layout-column>.flex-sm-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-height:66.66%}.layout-sm-row>.flex-sm-33{max-width:33.33%}.layout-sm-row>.flex-sm-33,.layout-sm-row>.flex-sm-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-sm-row>.flex-sm-66{max-width:66.66%}.layout-sm-column>.flex-sm-33{max-height:33.33%}.layout-sm-column>.flex-sm-33,.layout-sm-column>.flex-sm-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-66{max-height:66.66%}.layout-sm-row>.flex-33{max-width:33.33%}.layout-sm-row>.flex-33,.layout-sm-row>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-sm-row>.flex-66{max-width:66.66%}.layout-sm-row>.flex{min-width:0}.layout-sm-column>.flex-33{max-height:33.33%}.layout-sm-column>.flex-33,.layout-sm-column>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-sm-column>.flex-66{max-height:66.66%}.layout-sm-column>.flex{min-height:0}.layout-sm,.layout-sm-column,.layout-sm-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-sm-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-sm-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}}@media (min-width:960px){.flex-order-gt-sm--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-gt-sm--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-gt-sm--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-gt-sm--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-gt-sm--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-gt-sm--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-gt-sm--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-gt-sm--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-gt-sm--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-gt-sm--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-gt-sm--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-gt-sm--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-gt-sm--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-gt-sm--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-gt-sm--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-gt-sm--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-gt-sm--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-gt-sm--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-gt-sm--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-gt-sm--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-gt-sm-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-gt-sm-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-gt-sm-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-gt-sm-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-gt-sm-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-gt-sm-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-gt-sm-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-gt-sm-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-gt-sm-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-gt-sm-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-gt-sm-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-gt-sm-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-gt-sm-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-gt-sm-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-gt-sm-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-gt-sm-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-gt-sm-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-gt-sm-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-gt-sm-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-gt-sm-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-gt-sm-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-gt-sm-0,.offset-gt-sm-0{margin-left:0}[dir=rtl] .flex-offset-gt-sm-0,[dir=rtl] .offset-gt-sm-0{margin-left:auto;margin-right:0}.flex-offset-gt-sm-5,.offset-gt-sm-5{margin-left:5%}[dir=rtl] .flex-offset-gt-sm-5,[dir=rtl] .offset-gt-sm-5{margin-left:auto;margin-right:5%}.flex-offset-gt-sm-10,.offset-gt-sm-10{margin-left:10%}[dir=rtl] .flex-offset-gt-sm-10,[dir=rtl] .offset-gt-sm-10{margin-left:auto;margin-right:10%}.flex-offset-gt-sm-15,.offset-gt-sm-15{margin-left:15%}[dir=rtl] .flex-offset-gt-sm-15,[dir=rtl] .offset-gt-sm-15{margin-left:auto;margin-right:15%}.flex-offset-gt-sm-20,.offset-gt-sm-20{margin-left:20%}[dir=rtl] .flex-offset-gt-sm-20,[dir=rtl] .offset-gt-sm-20{margin-left:auto;margin-right:20%}.flex-offset-gt-sm-25,.offset-gt-sm-25{margin-left:25%}[dir=rtl] .flex-offset-gt-sm-25,[dir=rtl] .offset-gt-sm-25{margin-left:auto;margin-right:25%}.flex-offset-gt-sm-30,.offset-gt-sm-30{margin-left:30%}[dir=rtl] .flex-offset-gt-sm-30,[dir=rtl] .offset-gt-sm-30{margin-left:auto;margin-right:30%}.flex-offset-gt-sm-35,.offset-gt-sm-35{margin-left:35%}[dir=rtl] .flex-offset-gt-sm-35,[dir=rtl] .offset-gt-sm-35{margin-left:auto;margin-right:35%}.flex-offset-gt-sm-40,.offset-gt-sm-40{margin-left:40%}[dir=rtl] .flex-offset-gt-sm-40,[dir=rtl] .offset-gt-sm-40{margin-left:auto;margin-right:40%}.flex-offset-gt-sm-45,.offset-gt-sm-45{margin-left:45%}[dir=rtl] .flex-offset-gt-sm-45,[dir=rtl] .offset-gt-sm-45{margin-left:auto;margin-right:45%}.flex-offset-gt-sm-50,.offset-gt-sm-50{margin-left:50%}[dir=rtl] .flex-offset-gt-sm-50,[dir=rtl] .offset-gt-sm-50{margin-left:auto;margin-right:50%}.flex-offset-gt-sm-55,.offset-gt-sm-55{margin-left:55%}[dir=rtl] .flex-offset-gt-sm-55,[dir=rtl] .offset-gt-sm-55{margin-left:auto;margin-right:55%}.flex-offset-gt-sm-60,.offset-gt-sm-60{margin-left:60%}[dir=rtl] .flex-offset-gt-sm-60,[dir=rtl] .offset-gt-sm-60{margin-left:auto;margin-right:60%}.flex-offset-gt-sm-65,.offset-gt-sm-65{margin-left:65%}[dir=rtl] .flex-offset-gt-sm-65,[dir=rtl] .offset-gt-sm-65{margin-left:auto;margin-right:65%}.flex-offset-gt-sm-70,.offset-gt-sm-70{margin-left:70%}[dir=rtl] .flex-offset-gt-sm-70,[dir=rtl] .offset-gt-sm-70{margin-left:auto;margin-right:70%}.flex-offset-gt-sm-75,.offset-gt-sm-75{margin-left:75%}[dir=rtl] .flex-offset-gt-sm-75,[dir=rtl] .offset-gt-sm-75{margin-left:auto;margin-right:75%}.flex-offset-gt-sm-80,.offset-gt-sm-80{margin-left:80%}[dir=rtl] .flex-offset-gt-sm-80,[dir=rtl] .offset-gt-sm-80{margin-left:auto;margin-right:80%}.flex-offset-gt-sm-85,.offset-gt-sm-85{margin-left:85%}[dir=rtl] .flex-offset-gt-sm-85,[dir=rtl] .offset-gt-sm-85{margin-left:auto;margin-right:85%}.flex-offset-gt-sm-90,.offset-gt-sm-90{margin-left:90%}[dir=rtl] .flex-offset-gt-sm-90,[dir=rtl] .offset-gt-sm-90{margin-left:auto;margin-right:90%}.flex-offset-gt-sm-95,.offset-gt-sm-95{margin-left:95%}[dir=rtl] .flex-offset-gt-sm-95,[dir=rtl] .offset-gt-sm-95{margin-left:auto;margin-right:95%}.flex-offset-gt-sm-33,.offset-gt-sm-33{margin-left:33.33333%}.flex-offset-gt-sm-66,.offset-gt-sm-66{margin-left:66.66667%}[dir=rtl] .flex-offset-gt-sm-66,[dir=rtl] .offset-gt-sm-66{margin-left:auto;margin-right:66.66667%}.layout-align-gt-sm,.layout-align-gt-sm-start-stretch{-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch}.layout-align-gt-sm,.layout-align-gt-sm-start,.layout-align-gt-sm-start-center,.layout-align-gt-sm-start-end,.layout-align-gt-sm-start-start,.layout-align-gt-sm-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-gt-sm-center,.layout-align-gt-sm-center-center,.layout-align-gt-sm-center-end,.layout-align-gt-sm-center-start,.layout-align-gt-sm-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-gt-sm-end,.layout-align-gt-sm-end-center,.layout-align-gt-sm-end-end,.layout-align-gt-sm-end-start,.layout-align-gt-sm-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-gt-sm-space-around,.layout-align-gt-sm-space-around-center,.layout-align-gt-sm-space-around-end,.layout-align-gt-sm-space-around-start,.layout-align-gt-sm-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-gt-sm-space-between,.layout-align-gt-sm-space-between-center,.layout-align-gt-sm-space-between-end,.layout-align-gt-sm-space-between-start,.layout-align-gt-sm-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-gt-sm-center-start,.layout-align-gt-sm-end-start,.layout-align-gt-sm-space-around-start,.layout-align-gt-sm-space-between-start,.layout-align-gt-sm-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-gt-sm-center-center,.layout-align-gt-sm-end-center,.layout-align-gt-sm-space-around-center,.layout-align-gt-sm-space-between-center,.layout-align-gt-sm-start-center{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-gt-sm-center-center>*,.layout-align-gt-sm-end-center>*,.layout-align-gt-sm-space-around-center>*,.layout-align-gt-sm-space-between-center>*,.layout-align-gt-sm-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-gt-sm-center-end,.layout-align-gt-sm-end-end,.layout-align-gt-sm-space-around-end,.layout-align-gt-sm-space-between-end,.layout-align-gt-sm-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-gt-sm-center-stretch,.layout-align-gt-sm-end-stretch,.layout-align-gt-sm-space-around-stretch,.layout-align-gt-sm-space-between-stretch,.layout-align-gt-sm-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-gt-sm{-webkit-flex:1;flex:1}.flex-gt-sm,.flex-gt-sm-grow{-webkit-box-flex:1;box-sizing:border-box}.flex-gt-sm-grow{-webkit-flex:1 1 100%;flex:1 1 100%}.flex-gt-sm-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-sm-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-gt-sm-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-gt-sm-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-gt-sm-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-sm-0,.layout-row>.flex-gt-sm-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:0;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-sm-0{min-width:0}.layout-column>.flex-gt-sm-0{max-width:100%;max-height:0%}.layout-column>.flex-gt-sm-0,.layout-gt-sm-row>.flex-gt-sm-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-0{max-width:0;max-height:100%;min-width:0}.layout-gt-sm-column>.flex-gt-sm-0{max-width:100%;max-height:0%;min-height:0}.layout-gt-sm-column>.flex-gt-sm-0,.layout-gt-sm-row>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-row>.flex-0{max-width:0;max-height:100%;min-width:0}.layout-gt-sm-column>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-gt-sm-5,.layout-row>.flex-gt-sm-5{max-width:5%;max-height:100%}.flex-gt-sm-5,.layout-column>.flex-gt-sm-5,.layout-row>.flex-gt-sm-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-5{max-width:100%;max-height:5%}.layout-gt-sm-row>.flex-gt-sm-5{max-width:5%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-5,.layout-gt-sm-row>.flex-gt-sm-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-5{max-width:100%;max-height:5%}.layout-gt-sm-row>.flex-5{max-width:5%;max-height:100%}.layout-gt-sm-column>.flex-5,.layout-gt-sm-row>.flex-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-5{max-width:100%;max-height:5%}.flex-gt-sm-10,.layout-row>.flex-gt-sm-10{max-width:10%;max-height:100%}.flex-gt-sm-10,.layout-column>.flex-gt-sm-10,.layout-row>.flex-gt-sm-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-10{max-width:100%;max-height:10%}.layout-gt-sm-row>.flex-gt-sm-10{max-width:10%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-10,.layout-gt-sm-row>.flex-gt-sm-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-10{max-width:100%;max-height:10%}.layout-gt-sm-row>.flex-10{max-width:10%;max-height:100%}.layout-gt-sm-column>.flex-10,.layout-gt-sm-row>.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-10{max-width:100%;max-height:10%}.flex-gt-sm-15,.layout-row>.flex-gt-sm-15{max-width:15%;max-height:100%}.flex-gt-sm-15,.layout-column>.flex-gt-sm-15,.layout-row>.flex-gt-sm-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-15{max-width:100%;max-height:15%}.layout-gt-sm-row>.flex-gt-sm-15{max-width:15%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-15,.layout-gt-sm-row>.flex-gt-sm-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-15{max-width:100%;max-height:15%}.layout-gt-sm-row>.flex-15{max-width:15%;max-height:100%}.layout-gt-sm-column>.flex-15,.layout-gt-sm-row>.flex-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-15{max-width:100%;max-height:15%}.flex-gt-sm-20,.layout-row>.flex-gt-sm-20{max-width:20%;max-height:100%}.flex-gt-sm-20,.layout-column>.flex-gt-sm-20,.layout-row>.flex-gt-sm-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-20{max-width:100%;max-height:20%}.layout-gt-sm-row>.flex-gt-sm-20{max-width:20%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-20,.layout-gt-sm-row>.flex-gt-sm-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-20{max-width:100%;max-height:20%}.layout-gt-sm-row>.flex-20{max-width:20%;max-height:100%}.layout-gt-sm-column>.flex-20,.layout-gt-sm-row>.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-20{max-width:100%;max-height:20%}.flex-gt-sm-25,.layout-row>.flex-gt-sm-25{max-width:25%;max-height:100%}.flex-gt-sm-25,.layout-column>.flex-gt-sm-25,.layout-row>.flex-gt-sm-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-25{max-width:100%;max-height:25%}.layout-gt-sm-row>.flex-gt-sm-25{max-width:25%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-25,.layout-gt-sm-row>.flex-gt-sm-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-25{max-width:100%;max-height:25%}.layout-gt-sm-row>.flex-25{max-width:25%;max-height:100%}.layout-gt-sm-column>.flex-25,.layout-gt-sm-row>.flex-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-25{max-width:100%;max-height:25%}.flex-gt-sm-30,.layout-row>.flex-gt-sm-30{max-width:30%;max-height:100%}.flex-gt-sm-30,.layout-column>.flex-gt-sm-30,.layout-row>.flex-gt-sm-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-30{max-width:100%;max-height:30%}.layout-gt-sm-row>.flex-gt-sm-30{max-width:30%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-30,.layout-gt-sm-row>.flex-gt-sm-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-30{max-width:100%;max-height:30%}.layout-gt-sm-row>.flex-30{max-width:30%;max-height:100%}.layout-gt-sm-column>.flex-30,.layout-gt-sm-row>.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-30{max-width:100%;max-height:30%}.flex-gt-sm-35,.layout-row>.flex-gt-sm-35{max-width:35%;max-height:100%}.flex-gt-sm-35,.layout-column>.flex-gt-sm-35,.layout-row>.flex-gt-sm-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-35{max-width:100%;max-height:35%}.layout-gt-sm-row>.flex-gt-sm-35{max-width:35%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-35,.layout-gt-sm-row>.flex-gt-sm-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-35{max-width:100%;max-height:35%}.layout-gt-sm-row>.flex-35{max-width:35%;max-height:100%}.layout-gt-sm-column>.flex-35,.layout-gt-sm-row>.flex-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-35{max-width:100%;max-height:35%}.flex-gt-sm-40,.layout-row>.flex-gt-sm-40{max-width:40%;max-height:100%}.flex-gt-sm-40,.layout-column>.flex-gt-sm-40,.layout-row>.flex-gt-sm-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-40{max-width:100%;max-height:40%}.layout-gt-sm-row>.flex-gt-sm-40{max-width:40%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-40,.layout-gt-sm-row>.flex-gt-sm-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-40{max-width:100%;max-height:40%}.layout-gt-sm-row>.flex-40{max-width:40%;max-height:100%}.layout-gt-sm-column>.flex-40,.layout-gt-sm-row>.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-40{max-width:100%;max-height:40%}.flex-gt-sm-45,.layout-row>.flex-gt-sm-45{max-width:45%;max-height:100%}.flex-gt-sm-45,.layout-column>.flex-gt-sm-45,.layout-row>.flex-gt-sm-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-45{max-width:100%;max-height:45%}.layout-gt-sm-row>.flex-gt-sm-45{max-width:45%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-45,.layout-gt-sm-row>.flex-gt-sm-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-45{max-width:100%;max-height:45%}.layout-gt-sm-row>.flex-45{max-width:45%;max-height:100%}.layout-gt-sm-column>.flex-45,.layout-gt-sm-row>.flex-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-45{max-width:100%;max-height:45%}.flex-gt-sm-50,.layout-row>.flex-gt-sm-50{max-width:50%;max-height:100%}.flex-gt-sm-50,.layout-column>.flex-gt-sm-50,.layout-row>.flex-gt-sm-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-50{max-width:100%;max-height:50%}.layout-gt-sm-row>.flex-gt-sm-50{max-width:50%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-50,.layout-gt-sm-row>.flex-gt-sm-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-50{max-width:100%;max-height:50%}.layout-gt-sm-row>.flex-50{max-width:50%;max-height:100%}.layout-gt-sm-column>.flex-50,.layout-gt-sm-row>.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-50{max-width:100%;max-height:50%}.flex-gt-sm-55,.layout-row>.flex-gt-sm-55{max-width:55%;max-height:100%}.flex-gt-sm-55,.layout-column>.flex-gt-sm-55,.layout-row>.flex-gt-sm-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-55{max-width:100%;max-height:55%}.layout-gt-sm-row>.flex-gt-sm-55{max-width:55%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-55,.layout-gt-sm-row>.flex-gt-sm-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-55{max-width:100%;max-height:55%}.layout-gt-sm-row>.flex-55{max-width:55%;max-height:100%}.layout-gt-sm-column>.flex-55,.layout-gt-sm-row>.flex-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-55{max-width:100%;max-height:55%}.flex-gt-sm-60,.layout-row>.flex-gt-sm-60{max-width:60%;max-height:100%}.flex-gt-sm-60,.layout-column>.flex-gt-sm-60,.layout-row>.flex-gt-sm-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-60{max-width:100%;max-height:60%}.layout-gt-sm-row>.flex-gt-sm-60{max-width:60%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-60,.layout-gt-sm-row>.flex-gt-sm-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-60{max-width:100%;max-height:60%}.layout-gt-sm-row>.flex-60{max-width:60%;max-height:100%}.layout-gt-sm-column>.flex-60,.layout-gt-sm-row>.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-60{max-width:100%;max-height:60%}.flex-gt-sm-65,.layout-row>.flex-gt-sm-65{max-width:65%;max-height:100%}.flex-gt-sm-65,.layout-column>.flex-gt-sm-65,.layout-row>.flex-gt-sm-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-65{max-width:100%;max-height:65%}.layout-gt-sm-row>.flex-gt-sm-65{max-width:65%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-65,.layout-gt-sm-row>.flex-gt-sm-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-65{max-width:100%;max-height:65%}.layout-gt-sm-row>.flex-65{max-width:65%;max-height:100%}.layout-gt-sm-column>.flex-65,.layout-gt-sm-row>.flex-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-65{max-width:100%;max-height:65%}.flex-gt-sm-70,.layout-row>.flex-gt-sm-70{max-width:70%;max-height:100%}.flex-gt-sm-70,.layout-column>.flex-gt-sm-70,.layout-row>.flex-gt-sm-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-70{max-width:100%;max-height:70%}.layout-gt-sm-row>.flex-gt-sm-70{max-width:70%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-70,.layout-gt-sm-row>.flex-gt-sm-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-70{max-width:100%;max-height:70%}.layout-gt-sm-row>.flex-70{max-width:70%;max-height:100%}.layout-gt-sm-column>.flex-70,.layout-gt-sm-row>.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-70{max-width:100%;max-height:70%}.flex-gt-sm-75,.layout-row>.flex-gt-sm-75{max-width:75%;max-height:100%}.flex-gt-sm-75,.layout-column>.flex-gt-sm-75,.layout-row>.flex-gt-sm-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-75{max-width:100%;max-height:75%}.layout-gt-sm-row>.flex-gt-sm-75{max-width:75%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-75,.layout-gt-sm-row>.flex-gt-sm-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-75{max-width:100%;max-height:75%}.layout-gt-sm-row>.flex-75{max-width:75%;max-height:100%}.layout-gt-sm-column>.flex-75,.layout-gt-sm-row>.flex-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-75{max-width:100%;max-height:75%}.flex-gt-sm-80,.layout-row>.flex-gt-sm-80{max-width:80%;max-height:100%}.flex-gt-sm-80,.layout-column>.flex-gt-sm-80,.layout-row>.flex-gt-sm-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-80{max-width:100%;max-height:80%}.layout-gt-sm-row>.flex-gt-sm-80{max-width:80%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-80,.layout-gt-sm-row>.flex-gt-sm-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-80{max-width:100%;max-height:80%}.layout-gt-sm-row>.flex-80{max-width:80%;max-height:100%}.layout-gt-sm-column>.flex-80,.layout-gt-sm-row>.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-80{max-width:100%;max-height:80%}.flex-gt-sm-85,.layout-row>.flex-gt-sm-85{max-width:85%;max-height:100%}.flex-gt-sm-85,.layout-column>.flex-gt-sm-85,.layout-row>.flex-gt-sm-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-85{max-width:100%;max-height:85%}.layout-gt-sm-row>.flex-gt-sm-85{max-width:85%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-85,.layout-gt-sm-row>.flex-gt-sm-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-85{max-width:100%;max-height:85%}.layout-gt-sm-row>.flex-85{max-width:85%;max-height:100%}.layout-gt-sm-column>.flex-85,.layout-gt-sm-row>.flex-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-85{max-width:100%;max-height:85%}.flex-gt-sm-90,.layout-row>.flex-gt-sm-90{max-width:90%;max-height:100%}.flex-gt-sm-90,.layout-column>.flex-gt-sm-90,.layout-row>.flex-gt-sm-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-90{max-width:100%;max-height:90%}.layout-gt-sm-row>.flex-gt-sm-90{max-width:90%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-90,.layout-gt-sm-row>.flex-gt-sm-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-90{max-width:100%;max-height:90%}.layout-gt-sm-row>.flex-90{max-width:90%;max-height:100%}.layout-gt-sm-column>.flex-90,.layout-gt-sm-row>.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-90{max-width:100%;max-height:90%}.flex-gt-sm-95,.layout-row>.flex-gt-sm-95{max-width:95%;max-height:100%}.flex-gt-sm-95,.layout-column>.flex-gt-sm-95,.layout-row>.flex-gt-sm-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-95{max-width:100%;max-height:95%}.layout-gt-sm-row>.flex-gt-sm-95{max-width:95%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-95,.layout-gt-sm-row>.flex-gt-sm-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-95{max-width:100%;max-height:95%}.layout-gt-sm-row>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-95{max-height:95%}.flex-gt-sm-100,.layout-gt-sm-column>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.flex-gt-sm-100{max-height:100%}.layout-column>.flex-gt-sm-100,.layout-gt-sm-column>.flex-100,.layout-gt-sm-column>.flex-gt-sm-100,.layout-gt-sm-row>.flex-100,.layout-gt-sm-row>.flex-gt-sm-100,.layout-row>.flex-gt-sm-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-sm-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-gt-sm-33,.layout-row>.flex-gt-sm-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-sm-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-gt-sm-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-gt-sm-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-33{max-width:33.33%}.layout-gt-sm-row>.flex-gt-sm-33,.layout-gt-sm-row>.flex-gt-sm-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-66{max-width:66.66%}.layout-gt-sm-column>.flex-gt-sm-33{max-height:33.33%}.layout-gt-sm-column>.flex-gt-sm-33,.layout-gt-sm-column>.flex-gt-sm-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-66{max-height:66.66%}.layout-gt-sm-row>.flex-33{max-width:33.33%}.layout-gt-sm-row>.flex-33,.layout-gt-sm-row>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-gt-sm-row>.flex-66{max-width:66.66%}.layout-gt-sm-row>.flex{min-width:0}.layout-gt-sm-column>.flex-33{max-height:33.33%}.layout-gt-sm-column>.flex-33,.layout-gt-sm-column>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-66{max-height:66.66%}.layout-gt-sm-column>.flex{min-height:0}.layout-gt-sm,.layout-gt-sm-column,.layout-gt-sm-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-gt-sm-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-gt-sm-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}}@media (min-width:960px) and (max-width:1279px){.hide-gt-sm:not(.show-gt-xs):not(.show-gt-sm):not(.show-md):not(.show),.hide-gt-xs:not(.show-gt-xs):not(.show-gt-sm):not(.show-md):not(.show),.hide-md:not(.show-md):not(.show-gt-sm):not(.show-gt-xs):not(.show),.hide:not(.show-gt-xs):not(.show-gt-sm):not(.show-md):not(.show){display:none}.flex-order-md--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-md--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-md--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-md--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-md--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-md--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-md--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-md--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-md--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-md--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-md--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-md--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-md--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-md--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-md--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-md--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-md--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-md--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-md--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-md--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-md-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-md-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-md-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-md-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-md-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-md-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-md-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-md-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-md-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-md-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-md-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-md-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-md-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-md-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-md-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-md-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-md-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-md-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-md-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-md-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-md-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-md-0,.offset-md-0{margin-left:0}[dir=rtl] .flex-offset-md-0,[dir=rtl] .offset-md-0{margin-left:auto;margin-right:0}.flex-offset-md-5,.offset-md-5{margin-left:5%}[dir=rtl] .flex-offset-md-5,[dir=rtl] .offset-md-5{margin-left:auto;margin-right:5%}.flex-offset-md-10,.offset-md-10{margin-left:10%}[dir=rtl] .flex-offset-md-10,[dir=rtl] .offset-md-10{margin-left:auto;margin-right:10%}.flex-offset-md-15,.offset-md-15{margin-left:15%}[dir=rtl] .flex-offset-md-15,[dir=rtl] .offset-md-15{margin-left:auto;margin-right:15%}.flex-offset-md-20,.offset-md-20{margin-left:20%}[dir=rtl] .flex-offset-md-20,[dir=rtl] .offset-md-20{margin-left:auto;margin-right:20%}.flex-offset-md-25,.offset-md-25{margin-left:25%}[dir=rtl] .flex-offset-md-25,[dir=rtl] .offset-md-25{margin-left:auto;margin-right:25%}.flex-offset-md-30,.offset-md-30{margin-left:30%}[dir=rtl] .flex-offset-md-30,[dir=rtl] .offset-md-30{margin-left:auto;margin-right:30%}.flex-offset-md-35,.offset-md-35{margin-left:35%}[dir=rtl] .flex-offset-md-35,[dir=rtl] .offset-md-35{margin-left:auto;margin-right:35%}.flex-offset-md-40,.offset-md-40{margin-left:40%}[dir=rtl] .flex-offset-md-40,[dir=rtl] .offset-md-40{margin-left:auto;margin-right:40%}.flex-offset-md-45,.offset-md-45{margin-left:45%}[dir=rtl] .flex-offset-md-45,[dir=rtl] .offset-md-45{margin-left:auto;margin-right:45%}.flex-offset-md-50,.offset-md-50{margin-left:50%}[dir=rtl] .flex-offset-md-50,[dir=rtl] .offset-md-50{margin-left:auto;margin-right:50%}.flex-offset-md-55,.offset-md-55{margin-left:55%}[dir=rtl] .flex-offset-md-55,[dir=rtl] .offset-md-55{margin-left:auto;margin-right:55%}.flex-offset-md-60,.offset-md-60{margin-left:60%}[dir=rtl] .flex-offset-md-60,[dir=rtl] .offset-md-60{margin-left:auto;margin-right:60%}.flex-offset-md-65,.offset-md-65{margin-left:65%}[dir=rtl] .flex-offset-md-65,[dir=rtl] .offset-md-65{margin-left:auto;margin-right:65%}.flex-offset-md-70,.offset-md-70{margin-left:70%}[dir=rtl] .flex-offset-md-70,[dir=rtl] .offset-md-70{margin-left:auto;margin-right:70%}.flex-offset-md-75,.offset-md-75{margin-left:75%}[dir=rtl] .flex-offset-md-75,[dir=rtl] .offset-md-75{margin-left:auto;margin-right:75%}.flex-offset-md-80,.offset-md-80{margin-left:80%}[dir=rtl] .flex-offset-md-80,[dir=rtl] .offset-md-80{margin-left:auto;margin-right:80%}.flex-offset-md-85,.offset-md-85{margin-left:85%}[dir=rtl] .flex-offset-md-85,[dir=rtl] .offset-md-85{margin-left:auto;margin-right:85%}.flex-offset-md-90,.offset-md-90{margin-left:90%}[dir=rtl] .flex-offset-md-90,[dir=rtl] .offset-md-90{margin-left:auto;margin-right:90%}.flex-offset-md-95,.offset-md-95{margin-left:95%}[dir=rtl] .flex-offset-md-95,[dir=rtl] .offset-md-95{margin-left:auto;margin-right:95%}.flex-offset-md-33,.offset-md-33{margin-left:33.33333%}.flex-offset-md-66,.offset-md-66{margin-left:66.66667%}[dir=rtl] .flex-offset-md-66,[dir=rtl] .offset-md-66{margin-left:auto;margin-right:66.66667%}.layout-align-md,.layout-align-md-start-stretch{-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch}.layout-align-md,.layout-align-md-start,.layout-align-md-start-center,.layout-align-md-start-end,.layout-align-md-start-start,.layout-align-md-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-md-center,.layout-align-md-center-center,.layout-align-md-center-end,.layout-align-md-center-start,.layout-align-md-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-md-end,.layout-align-md-end-center,.layout-align-md-end-end,.layout-align-md-end-start,.layout-align-md-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-md-space-around,.layout-align-md-space-around-center,.layout-align-md-space-around-end,.layout-align-md-space-around-start,.layout-align-md-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-md-space-between,.layout-align-md-space-between-center,.layout-align-md-space-between-end,.layout-align-md-space-between-start,.layout-align-md-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-md-center-start,.layout-align-md-end-start,.layout-align-md-space-around-start,.layout-align-md-space-between-start,.layout-align-md-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-md-center-center,.layout-align-md-end-center,.layout-align-md-space-around-center,.layout-align-md-space-between-center,.layout-align-md-start-center{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-md-center-center>*,.layout-align-md-end-center>*,.layout-align-md-space-around-center>*,.layout-align-md-space-between-center>*,.layout-align-md-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-md-center-end,.layout-align-md-end-end,.layout-align-md-space-around-end,.layout-align-md-space-between-end,.layout-align-md-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-md-center-stretch,.layout-align-md-end-stretch,.layout-align-md-space-around-stretch,.layout-align-md-space-between-stretch,.layout-align-md-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-md{-webkit-flex:1;flex:1}.flex-md,.flex-md-grow{-webkit-box-flex:1;box-sizing:border-box}.flex-md-grow{-webkit-flex:1 1 100%;flex:1 1 100%}.flex-md-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-md-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-md-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-md-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-md-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-md-0,.layout-row>.flex-md-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:0;max-height:100%;box-sizing:border-box}.layout-row>.flex-md-0{min-width:0}.layout-column>.flex-md-0{max-width:100%;max-height:0%}.layout-column>.flex-md-0,.layout-md-row>.flex-md-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-row>.flex-md-0{max-width:0;max-height:100%;min-width:0}.layout-md-column>.flex-md-0{max-width:100%;max-height:0%;min-height:0}.layout-md-column>.flex-md-0,.layout-md-row>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-row>.flex-0{max-width:0;max-height:100%;min-width:0}.layout-md-column>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-md-5,.layout-row>.flex-md-5{max-width:5%;max-height:100%}.flex-md-5,.layout-column>.flex-md-5,.layout-row>.flex-md-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-5{max-width:100%;max-height:5%}.layout-md-row>.flex-md-5{max-width:5%;max-height:100%}.layout-md-column>.flex-md-5,.layout-md-row>.flex-md-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-5{max-width:100%;max-height:5%}.layout-md-row>.flex-5{max-width:5%;max-height:100%}.layout-md-column>.flex-5,.layout-md-row>.flex-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-5{max-width:100%;max-height:5%}.flex-md-10,.layout-row>.flex-md-10{max-width:10%;max-height:100%}.flex-md-10,.layout-column>.flex-md-10,.layout-row>.flex-md-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-10{max-width:100%;max-height:10%}.layout-md-row>.flex-md-10{max-width:10%;max-height:100%}.layout-md-column>.flex-md-10,.layout-md-row>.flex-md-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-10{max-width:100%;max-height:10%}.layout-md-row>.flex-10{max-width:10%;max-height:100%}.layout-md-column>.flex-10,.layout-md-row>.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-10{max-width:100%;max-height:10%}.flex-md-15,.layout-row>.flex-md-15{max-width:15%;max-height:100%}.flex-md-15,.layout-column>.flex-md-15,.layout-row>.flex-md-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-15{max-width:100%;max-height:15%}.layout-md-row>.flex-md-15{max-width:15%;max-height:100%}.layout-md-column>.flex-md-15,.layout-md-row>.flex-md-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-15{max-width:100%;max-height:15%}.layout-md-row>.flex-15{max-width:15%;max-height:100%}.layout-md-column>.flex-15,.layout-md-row>.flex-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-15{max-width:100%;max-height:15%}.flex-md-20,.layout-row>.flex-md-20{max-width:20%;max-height:100%}.flex-md-20,.layout-column>.flex-md-20,.layout-row>.flex-md-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-20{max-width:100%;max-height:20%}.layout-md-row>.flex-md-20{max-width:20%;max-height:100%}.layout-md-column>.flex-md-20,.layout-md-row>.flex-md-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-20{max-width:100%;max-height:20%}.layout-md-row>.flex-20{max-width:20%;max-height:100%}.layout-md-column>.flex-20,.layout-md-row>.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-20{max-width:100%;max-height:20%}.flex-md-25,.layout-row>.flex-md-25{max-width:25%;max-height:100%}.flex-md-25,.layout-column>.flex-md-25,.layout-row>.flex-md-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-25{max-width:100%;max-height:25%}.layout-md-row>.flex-md-25{max-width:25%;max-height:100%}.layout-md-column>.flex-md-25,.layout-md-row>.flex-md-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-25{max-width:100%;max-height:25%}.layout-md-row>.flex-25{max-width:25%;max-height:100%}.layout-md-column>.flex-25,.layout-md-row>.flex-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-25{max-width:100%;max-height:25%}.flex-md-30,.layout-row>.flex-md-30{max-width:30%;max-height:100%}.flex-md-30,.layout-column>.flex-md-30,.layout-row>.flex-md-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-30{max-width:100%;max-height:30%}.layout-md-row>.flex-md-30{max-width:30%;max-height:100%}.layout-md-column>.flex-md-30,.layout-md-row>.flex-md-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-30{max-width:100%;max-height:30%}.layout-md-row>.flex-30{max-width:30%;max-height:100%}.layout-md-column>.flex-30,.layout-md-row>.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-30{max-width:100%;max-height:30%}.flex-md-35,.layout-row>.flex-md-35{max-width:35%;max-height:100%}.flex-md-35,.layout-column>.flex-md-35,.layout-row>.flex-md-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-35{max-width:100%;max-height:35%}.layout-md-row>.flex-md-35{max-width:35%;max-height:100%}.layout-md-column>.flex-md-35,.layout-md-row>.flex-md-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-35{max-width:100%;max-height:35%}.layout-md-row>.flex-35{max-width:35%;max-height:100%}.layout-md-column>.flex-35,.layout-md-row>.flex-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-35{max-width:100%;max-height:35%}.flex-md-40,.layout-row>.flex-md-40{max-width:40%;max-height:100%}.flex-md-40,.layout-column>.flex-md-40,.layout-row>.flex-md-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-40{max-width:100%;max-height:40%}.layout-md-row>.flex-md-40{max-width:40%;max-height:100%}.layout-md-column>.flex-md-40,.layout-md-row>.flex-md-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-40{max-width:100%;max-height:40%}.layout-md-row>.flex-40{max-width:40%;max-height:100%}.layout-md-column>.flex-40,.layout-md-row>.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-40{max-width:100%;max-height:40%}.flex-md-45,.layout-row>.flex-md-45{max-width:45%;max-height:100%}.flex-md-45,.layout-column>.flex-md-45,.layout-row>.flex-md-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-45{max-width:100%;max-height:45%}.layout-md-row>.flex-md-45{max-width:45%;max-height:100%}.layout-md-column>.flex-md-45,.layout-md-row>.flex-md-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-45{max-width:100%;max-height:45%}.layout-md-row>.flex-45{max-width:45%;max-height:100%}.layout-md-column>.flex-45,.layout-md-row>.flex-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-45{max-width:100%;max-height:45%}.flex-md-50,.layout-row>.flex-md-50{max-width:50%;max-height:100%}.flex-md-50,.layout-column>.flex-md-50,.layout-row>.flex-md-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-50{max-width:100%;max-height:50%}.layout-md-row>.flex-md-50{max-width:50%;max-height:100%}.layout-md-column>.flex-md-50,.layout-md-row>.flex-md-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-50{max-width:100%;max-height:50%}.layout-md-row>.flex-50{max-width:50%;max-height:100%}.layout-md-column>.flex-50,.layout-md-row>.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-50{max-width:100%;max-height:50%}.flex-md-55,.layout-row>.flex-md-55{max-width:55%;max-height:100%}.flex-md-55,.layout-column>.flex-md-55,.layout-row>.flex-md-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-55{max-width:100%;max-height:55%}.layout-md-row>.flex-md-55{max-width:55%;max-height:100%}.layout-md-column>.flex-md-55,.layout-md-row>.flex-md-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-55{max-width:100%;max-height:55%}.layout-md-row>.flex-55{max-width:55%;max-height:100%}.layout-md-column>.flex-55,.layout-md-row>.flex-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-55{max-width:100%;max-height:55%}.flex-md-60,.layout-row>.flex-md-60{max-width:60%;max-height:100%}.flex-md-60,.layout-column>.flex-md-60,.layout-row>.flex-md-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-60{max-width:100%;max-height:60%}.layout-md-row>.flex-md-60{max-width:60%;max-height:100%}.layout-md-column>.flex-md-60,.layout-md-row>.flex-md-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-60{max-width:100%;max-height:60%}.layout-md-row>.flex-60{max-width:60%;max-height:100%}.layout-md-column>.flex-60,.layout-md-row>.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-60{max-width:100%;max-height:60%}.flex-md-65,.layout-row>.flex-md-65{max-width:65%;max-height:100%}.flex-md-65,.layout-column>.flex-md-65,.layout-row>.flex-md-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-65{max-width:100%;max-height:65%}.layout-md-row>.flex-md-65{max-width:65%;max-height:100%}.layout-md-column>.flex-md-65,.layout-md-row>.flex-md-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-65{max-width:100%;max-height:65%}.layout-md-row>.flex-65{max-width:65%;max-height:100%}.layout-md-column>.flex-65,.layout-md-row>.flex-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-65{max-width:100%;max-height:65%}.flex-md-70,.layout-row>.flex-md-70{max-width:70%;max-height:100%}.flex-md-70,.layout-column>.flex-md-70,.layout-row>.flex-md-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-70{max-width:100%;max-height:70%}.layout-md-row>.flex-md-70{max-width:70%;max-height:100%}.layout-md-column>.flex-md-70,.layout-md-row>.flex-md-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-70{max-width:100%;max-height:70%}.layout-md-row>.flex-70{max-width:70%;max-height:100%}.layout-md-column>.flex-70,.layout-md-row>.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-70{max-width:100%;max-height:70%}.flex-md-75,.layout-row>.flex-md-75{max-width:75%;max-height:100%}.flex-md-75,.layout-column>.flex-md-75,.layout-row>.flex-md-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-75{max-width:100%;max-height:75%}.layout-md-row>.flex-md-75{max-width:75%;max-height:100%}.layout-md-column>.flex-md-75,.layout-md-row>.flex-md-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-75{max-width:100%;max-height:75%}.layout-md-row>.flex-75{max-width:75%;max-height:100%}.layout-md-column>.flex-75,.layout-md-row>.flex-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-75{max-width:100%;max-height:75%}.flex-md-80,.layout-row>.flex-md-80{max-width:80%;max-height:100%}.flex-md-80,.layout-column>.flex-md-80,.layout-row>.flex-md-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-80{max-width:100%;max-height:80%}.layout-md-row>.flex-md-80{max-width:80%;max-height:100%}.layout-md-column>.flex-md-80,.layout-md-row>.flex-md-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-80{max-width:100%;max-height:80%}.layout-md-row>.flex-80{max-width:80%;max-height:100%}.layout-md-column>.flex-80,.layout-md-row>.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-80{max-width:100%;max-height:80%}.flex-md-85,.layout-row>.flex-md-85{max-width:85%;max-height:100%}.flex-md-85,.layout-column>.flex-md-85,.layout-row>.flex-md-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-85{max-width:100%;max-height:85%}.layout-md-row>.flex-md-85{max-width:85%;max-height:100%}.layout-md-column>.flex-md-85,.layout-md-row>.flex-md-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-85{max-width:100%;max-height:85%}.layout-md-row>.flex-85{max-width:85%;max-height:100%}.layout-md-column>.flex-85,.layout-md-row>.flex-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-85{max-width:100%;max-height:85%}.flex-md-90,.layout-row>.flex-md-90{max-width:90%;max-height:100%}.flex-md-90,.layout-column>.flex-md-90,.layout-row>.flex-md-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-90{max-width:100%;max-height:90%}.layout-md-row>.flex-md-90{max-width:90%;max-height:100%}.layout-md-column>.flex-md-90,.layout-md-row>.flex-md-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-90{max-width:100%;max-height:90%}.layout-md-row>.flex-90{max-width:90%;max-height:100%}.layout-md-column>.flex-90,.layout-md-row>.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-90{max-width:100%;max-height:90%}.flex-md-95,.layout-row>.flex-md-95{max-width:95%;max-height:100%}.flex-md-95,.layout-column>.flex-md-95,.layout-row>.flex-md-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-95{max-width:100%;max-height:95%}.layout-md-row>.flex-md-95{max-width:95%;max-height:100%}.layout-md-column>.flex-md-95,.layout-md-row>.flex-md-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-95{max-width:100%;max-height:95%}.layout-md-row>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-95{max-height:95%}.flex-md-100,.layout-md-column>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.flex-md-100{max-height:100%}.layout-column>.flex-md-100,.layout-md-column>.flex-100,.layout-md-column>.flex-md-100,.layout-md-row>.flex-100,.layout-md-row>.flex-md-100,.layout-row>.flex-md-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-md-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-md-33,.layout-row>.flex-md-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-md-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-md-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-height:33.33%}.layout-column>.flex-md-33,.layout-column>.flex-md-66{-webkit-box-flex:1;max-width:100%;box-sizing:border-box}.layout-column>.flex-md-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-height:66.66%}.layout-md-row>.flex-md-33{max-width:33.33%}.layout-md-row>.flex-md-33,.layout-md-row>.flex-md-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-md-row>.flex-md-66{max-width:66.66%}.layout-md-column>.flex-md-33{max-height:33.33%}.layout-md-column>.flex-md-33,.layout-md-column>.flex-md-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-md-column>.flex-md-66{max-height:66.66%}.layout-md-row>.flex-33{max-width:33.33%}.layout-md-row>.flex-33,.layout-md-row>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-md-row>.flex-66{max-width:66.66%}.layout-md-row>.flex{min-width:0}.layout-md-column>.flex-33{max-height:33.33%}.layout-md-column>.flex-33,.layout-md-column>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-md-column>.flex-66{max-height:66.66%}.layout-md-column>.flex{min-height:0}.layout-md,.layout-md-column,.layout-md-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-md-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-md-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}}@media (min-width:1280px){.flex-order-gt-md--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-gt-md--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-gt-md--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-gt-md--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-gt-md--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-gt-md--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-gt-md--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-gt-md--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-gt-md--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-gt-md--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-gt-md--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-gt-md--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-gt-md--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-gt-md--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-gt-md--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-gt-md--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-gt-md--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-gt-md--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-gt-md--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-gt-md--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-gt-md-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-gt-md-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-gt-md-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-gt-md-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-gt-md-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-gt-md-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-gt-md-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-gt-md-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-gt-md-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-gt-md-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-gt-md-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-gt-md-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-gt-md-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-gt-md-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-gt-md-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-gt-md-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-gt-md-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-gt-md-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-gt-md-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-gt-md-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-gt-md-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-gt-md-0,.offset-gt-md-0{margin-left:0}[dir=rtl] .flex-offset-gt-md-0,[dir=rtl] .offset-gt-md-0{margin-left:auto;margin-right:0}.flex-offset-gt-md-5,.offset-gt-md-5{margin-left:5%}[dir=rtl] .flex-offset-gt-md-5,[dir=rtl] .offset-gt-md-5{margin-left:auto;margin-right:5%}.flex-offset-gt-md-10,.offset-gt-md-10{margin-left:10%}[dir=rtl] .flex-offset-gt-md-10,[dir=rtl] .offset-gt-md-10{margin-left:auto;margin-right:10%}.flex-offset-gt-md-15,.offset-gt-md-15{margin-left:15%}[dir=rtl] .flex-offset-gt-md-15,[dir=rtl] .offset-gt-md-15{margin-left:auto;margin-right:15%}.flex-offset-gt-md-20,.offset-gt-md-20{margin-left:20%}[dir=rtl] .flex-offset-gt-md-20,[dir=rtl] .offset-gt-md-20{margin-left:auto;margin-right:20%}.flex-offset-gt-md-25,.offset-gt-md-25{margin-left:25%}[dir=rtl] .flex-offset-gt-md-25,[dir=rtl] .offset-gt-md-25{margin-left:auto;margin-right:25%}.flex-offset-gt-md-30,.offset-gt-md-30{margin-left:30%}[dir=rtl] .flex-offset-gt-md-30,[dir=rtl] .offset-gt-md-30{margin-left:auto;margin-right:30%}.flex-offset-gt-md-35,.offset-gt-md-35{margin-left:35%}[dir=rtl] .flex-offset-gt-md-35,[dir=rtl] .offset-gt-md-35{margin-left:auto;margin-right:35%}.flex-offset-gt-md-40,.offset-gt-md-40{margin-left:40%}[dir=rtl] .flex-offset-gt-md-40,[dir=rtl] .offset-gt-md-40{margin-left:auto;margin-right:40%}.flex-offset-gt-md-45,.offset-gt-md-45{margin-left:45%}[dir=rtl] .flex-offset-gt-md-45,[dir=rtl] .offset-gt-md-45{margin-left:auto;margin-right:45%}.flex-offset-gt-md-50,.offset-gt-md-50{margin-left:50%}[dir=rtl] .flex-offset-gt-md-50,[dir=rtl] .offset-gt-md-50{margin-left:auto;margin-right:50%}.flex-offset-gt-md-55,.offset-gt-md-55{margin-left:55%}[dir=rtl] .flex-offset-gt-md-55,[dir=rtl] .offset-gt-md-55{margin-left:auto;margin-right:55%}.flex-offset-gt-md-60,.offset-gt-md-60{margin-left:60%}[dir=rtl] .flex-offset-gt-md-60,[dir=rtl] .offset-gt-md-60{margin-left:auto;margin-right:60%}.flex-offset-gt-md-65,.offset-gt-md-65{margin-left:65%}[dir=rtl] .flex-offset-gt-md-65,[dir=rtl] .offset-gt-md-65{margin-left:auto;margin-right:65%}.flex-offset-gt-md-70,.offset-gt-md-70{margin-left:70%}[dir=rtl] .flex-offset-gt-md-70,[dir=rtl] .offset-gt-md-70{margin-left:auto;margin-right:70%}.flex-offset-gt-md-75,.offset-gt-md-75{margin-left:75%}[dir=rtl] .flex-offset-gt-md-75,[dir=rtl] .offset-gt-md-75{margin-left:auto;margin-right:75%}.flex-offset-gt-md-80,.offset-gt-md-80{margin-left:80%}[dir=rtl] .flex-offset-gt-md-80,[dir=rtl] .offset-gt-md-80{margin-left:auto;margin-right:80%}.flex-offset-gt-md-85,.offset-gt-md-85{margin-left:85%}[dir=rtl] .flex-offset-gt-md-85,[dir=rtl] .offset-gt-md-85{margin-left:auto;margin-right:85%}.flex-offset-gt-md-90,.offset-gt-md-90{margin-left:90%}[dir=rtl] .flex-offset-gt-md-90,[dir=rtl] .offset-gt-md-90{margin-left:auto;margin-right:90%}.flex-offset-gt-md-95,.offset-gt-md-95{margin-left:95%}[dir=rtl] .flex-offset-gt-md-95,[dir=rtl] .offset-gt-md-95{margin-left:auto;margin-right:95%}.flex-offset-gt-md-33,.offset-gt-md-33{margin-left:33.33333%}.flex-offset-gt-md-66,.offset-gt-md-66{margin-left:66.66667%}[dir=rtl] .flex-offset-gt-md-66,[dir=rtl] .offset-gt-md-66{margin-left:auto;margin-right:66.66667%}.layout-align-gt-md,.layout-align-gt-md-start-stretch{-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch}.layout-align-gt-md,.layout-align-gt-md-start,.layout-align-gt-md-start-center,.layout-align-gt-md-start-end,.layout-align-gt-md-start-start,.layout-align-gt-md-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-gt-md-center,.layout-align-gt-md-center-center,.layout-align-gt-md-center-end,.layout-align-gt-md-center-start,.layout-align-gt-md-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-gt-md-end,.layout-align-gt-md-end-center,.layout-align-gt-md-end-end,.layout-align-gt-md-end-start,.layout-align-gt-md-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-gt-md-space-around,.layout-align-gt-md-space-around-center,.layout-align-gt-md-space-around-end,.layout-align-gt-md-space-around-start,.layout-align-gt-md-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-gt-md-space-between,.layout-align-gt-md-space-between-center,.layout-align-gt-md-space-between-end,.layout-align-gt-md-space-between-start,.layout-align-gt-md-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-gt-md-center-start,.layout-align-gt-md-end-start,.layout-align-gt-md-space-around-start,.layout-align-gt-md-space-between-start,.layout-align-gt-md-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-gt-md-center-center,.layout-align-gt-md-end-center,.layout-align-gt-md-space-around-center,.layout-align-gt-md-space-between-center,.layout-align-gt-md-start-center{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-gt-md-center-center>*,.layout-align-gt-md-end-center>*,.layout-align-gt-md-space-around-center>*,.layout-align-gt-md-space-between-center>*,.layout-align-gt-md-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-gt-md-center-end,.layout-align-gt-md-end-end,.layout-align-gt-md-space-around-end,.layout-align-gt-md-space-between-end,.layout-align-gt-md-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-gt-md-center-stretch,.layout-align-gt-md-end-stretch,.layout-align-gt-md-space-around-stretch,.layout-align-gt-md-space-between-stretch,.layout-align-gt-md-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-gt-md{-webkit-flex:1;flex:1}.flex-gt-md,.flex-gt-md-grow{-webkit-box-flex:1;box-sizing:border-box}.flex-gt-md-grow{-webkit-flex:1 1 100%;flex:1 1 100%}.flex-gt-md-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-md-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-gt-md-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-gt-md-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-gt-md-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-md-0,.layout-row>.flex-gt-md-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:0;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-md-0{min-width:0}.layout-column>.flex-gt-md-0{max-width:100%;max-height:0%}.layout-column>.flex-gt-md-0,.layout-gt-md-row>.flex-gt-md-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-0{max-width:0;max-height:100%;min-width:0}.layout-gt-md-column>.flex-gt-md-0{max-width:100%;max-height:0%;min-height:0}.layout-gt-md-column>.flex-gt-md-0,.layout-gt-md-row>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-row>.flex-0{max-width:0;max-height:100%;min-width:0}.layout-gt-md-column>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-gt-md-5,.layout-row>.flex-gt-md-5{max-width:5%;max-height:100%}.flex-gt-md-5,.layout-column>.flex-gt-md-5,.layout-row>.flex-gt-md-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-5{max-width:100%;max-height:5%}.layout-gt-md-row>.flex-gt-md-5{max-width:5%;max-height:100%}.layout-gt-md-column>.flex-gt-md-5,.layout-gt-md-row>.flex-gt-md-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-5{max-width:100%;max-height:5%}.layout-gt-md-row>.flex-5{max-width:5%;max-height:100%}.layout-gt-md-column>.flex-5,.layout-gt-md-row>.flex-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-5{max-width:100%;max-height:5%}.flex-gt-md-10,.layout-row>.flex-gt-md-10{max-width:10%;max-height:100%}.flex-gt-md-10,.layout-column>.flex-gt-md-10,.layout-row>.flex-gt-md-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-10{max-width:100%;max-height:10%}.layout-gt-md-row>.flex-gt-md-10{max-width:10%;max-height:100%}.layout-gt-md-column>.flex-gt-md-10,.layout-gt-md-row>.flex-gt-md-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-10{max-width:100%;max-height:10%}.layout-gt-md-row>.flex-10{max-width:10%;max-height:100%}.layout-gt-md-column>.flex-10,.layout-gt-md-row>.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-10{max-width:100%;max-height:10%}.flex-gt-md-15,.layout-row>.flex-gt-md-15{max-width:15%;max-height:100%}.flex-gt-md-15,.layout-column>.flex-gt-md-15,.layout-row>.flex-gt-md-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-15{max-width:100%;max-height:15%}.layout-gt-md-row>.flex-gt-md-15{max-width:15%;max-height:100%}.layout-gt-md-column>.flex-gt-md-15,.layout-gt-md-row>.flex-gt-md-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-15{max-width:100%;max-height:15%}.layout-gt-md-row>.flex-15{max-width:15%;max-height:100%}.layout-gt-md-column>.flex-15,.layout-gt-md-row>.flex-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-15{max-width:100%;max-height:15%}.flex-gt-md-20,.layout-row>.flex-gt-md-20{max-width:20%;max-height:100%}.flex-gt-md-20,.layout-column>.flex-gt-md-20,.layout-row>.flex-gt-md-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-20{max-width:100%;max-height:20%}.layout-gt-md-row>.flex-gt-md-20{max-width:20%;max-height:100%}.layout-gt-md-column>.flex-gt-md-20,.layout-gt-md-row>.flex-gt-md-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-20{max-width:100%;max-height:20%}.layout-gt-md-row>.flex-20{max-width:20%;max-height:100%}.layout-gt-md-column>.flex-20,.layout-gt-md-row>.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-20{max-width:100%;max-height:20%}.flex-gt-md-25,.layout-row>.flex-gt-md-25{max-width:25%;max-height:100%}.flex-gt-md-25,.layout-column>.flex-gt-md-25,.layout-row>.flex-gt-md-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-25{max-width:100%;max-height:25%}.layout-gt-md-row>.flex-gt-md-25{max-width:25%;max-height:100%}.layout-gt-md-column>.flex-gt-md-25,.layout-gt-md-row>.flex-gt-md-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-25{max-width:100%;max-height:25%}.layout-gt-md-row>.flex-25{max-width:25%;max-height:100%}.layout-gt-md-column>.flex-25,.layout-gt-md-row>.flex-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-25{max-width:100%;max-height:25%}.flex-gt-md-30,.layout-row>.flex-gt-md-30{max-width:30%;max-height:100%}.flex-gt-md-30,.layout-column>.flex-gt-md-30,.layout-row>.flex-gt-md-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-30{max-width:100%;max-height:30%}.layout-gt-md-row>.flex-gt-md-30{max-width:30%;max-height:100%}.layout-gt-md-column>.flex-gt-md-30,.layout-gt-md-row>.flex-gt-md-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-30{max-width:100%;max-height:30%}.layout-gt-md-row>.flex-30{max-width:30%;max-height:100%}.layout-gt-md-column>.flex-30,.layout-gt-md-row>.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-30{max-width:100%;max-height:30%}.flex-gt-md-35,.layout-row>.flex-gt-md-35{max-width:35%;max-height:100%}.flex-gt-md-35,.layout-column>.flex-gt-md-35,.layout-row>.flex-gt-md-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-35{max-width:100%;max-height:35%}.layout-gt-md-row>.flex-gt-md-35{max-width:35%;max-height:100%}.layout-gt-md-column>.flex-gt-md-35,.layout-gt-md-row>.flex-gt-md-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-35{max-width:100%;max-height:35%}.layout-gt-md-row>.flex-35{max-width:35%;max-height:100%}.layout-gt-md-column>.flex-35,.layout-gt-md-row>.flex-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-35{max-width:100%;max-height:35%}.flex-gt-md-40,.layout-row>.flex-gt-md-40{max-width:40%;max-height:100%}.flex-gt-md-40,.layout-column>.flex-gt-md-40,.layout-row>.flex-gt-md-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-40{max-width:100%;max-height:40%}.layout-gt-md-row>.flex-gt-md-40{max-width:40%;max-height:100%}.layout-gt-md-column>.flex-gt-md-40,.layout-gt-md-row>.flex-gt-md-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-40{max-width:100%;max-height:40%}.layout-gt-md-row>.flex-40{max-width:40%;max-height:100%}.layout-gt-md-column>.flex-40,.layout-gt-md-row>.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-40{max-width:100%;max-height:40%}.flex-gt-md-45,.layout-row>.flex-gt-md-45{max-width:45%;max-height:100%}.flex-gt-md-45,.layout-column>.flex-gt-md-45,.layout-row>.flex-gt-md-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-45{max-width:100%;max-height:45%}.layout-gt-md-row>.flex-gt-md-45{max-width:45%;max-height:100%}.layout-gt-md-column>.flex-gt-md-45,.layout-gt-md-row>.flex-gt-md-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-45{max-width:100%;max-height:45%}.layout-gt-md-row>.flex-45{max-width:45%;max-height:100%}.layout-gt-md-column>.flex-45,.layout-gt-md-row>.flex-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-45{max-width:100%;max-height:45%}.flex-gt-md-50,.layout-row>.flex-gt-md-50{max-width:50%;max-height:100%}.flex-gt-md-50,.layout-column>.flex-gt-md-50,.layout-row>.flex-gt-md-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-50{max-width:100%;max-height:50%}.layout-gt-md-row>.flex-gt-md-50{max-width:50%;max-height:100%}.layout-gt-md-column>.flex-gt-md-50,.layout-gt-md-row>.flex-gt-md-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-50{max-width:100%;max-height:50%}.layout-gt-md-row>.flex-50{max-width:50%;max-height:100%}.layout-gt-md-column>.flex-50,.layout-gt-md-row>.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-50{max-width:100%;max-height:50%}.flex-gt-md-55,.layout-row>.flex-gt-md-55{max-width:55%;max-height:100%}.flex-gt-md-55,.layout-column>.flex-gt-md-55,.layout-row>.flex-gt-md-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-55{max-width:100%;max-height:55%}.layout-gt-md-row>.flex-gt-md-55{max-width:55%;max-height:100%}.layout-gt-md-column>.flex-gt-md-55,.layout-gt-md-row>.flex-gt-md-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-55{max-width:100%;max-height:55%}.layout-gt-md-row>.flex-55{max-width:55%;max-height:100%}.layout-gt-md-column>.flex-55,.layout-gt-md-row>.flex-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-55{max-width:100%;max-height:55%}.flex-gt-md-60,.layout-row>.flex-gt-md-60{max-width:60%;max-height:100%}.flex-gt-md-60,.layout-column>.flex-gt-md-60,.layout-row>.flex-gt-md-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-60{max-width:100%;max-height:60%}.layout-gt-md-row>.flex-gt-md-60{max-width:60%;max-height:100%}.layout-gt-md-column>.flex-gt-md-60,.layout-gt-md-row>.flex-gt-md-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-60{max-width:100%;max-height:60%}.layout-gt-md-row>.flex-60{max-width:60%;max-height:100%}.layout-gt-md-column>.flex-60,.layout-gt-md-row>.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-60{max-width:100%;max-height:60%}.flex-gt-md-65,.layout-row>.flex-gt-md-65{max-width:65%;max-height:100%}.flex-gt-md-65,.layout-column>.flex-gt-md-65,.layout-row>.flex-gt-md-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-65{max-width:100%;max-height:65%}.layout-gt-md-row>.flex-gt-md-65{max-width:65%;max-height:100%}.layout-gt-md-column>.flex-gt-md-65,.layout-gt-md-row>.flex-gt-md-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-65{max-width:100%;max-height:65%}.layout-gt-md-row>.flex-65{max-width:65%;max-height:100%}.layout-gt-md-column>.flex-65,.layout-gt-md-row>.flex-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-65{max-width:100%;max-height:65%}.flex-gt-md-70,.layout-row>.flex-gt-md-70{max-width:70%;max-height:100%}.flex-gt-md-70,.layout-column>.flex-gt-md-70,.layout-row>.flex-gt-md-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-70{max-width:100%;max-height:70%}.layout-gt-md-row>.flex-gt-md-70{max-width:70%;max-height:100%}.layout-gt-md-column>.flex-gt-md-70,.layout-gt-md-row>.flex-gt-md-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-70{max-width:100%;max-height:70%}.layout-gt-md-row>.flex-70{max-width:70%;max-height:100%}.layout-gt-md-column>.flex-70,.layout-gt-md-row>.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-70{max-width:100%;max-height:70%}.flex-gt-md-75,.layout-row>.flex-gt-md-75{max-width:75%;max-height:100%}.flex-gt-md-75,.layout-column>.flex-gt-md-75,.layout-row>.flex-gt-md-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-75{max-width:100%;max-height:75%}.layout-gt-md-row>.flex-gt-md-75{max-width:75%;max-height:100%}.layout-gt-md-column>.flex-gt-md-75,.layout-gt-md-row>.flex-gt-md-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-75{max-width:100%;max-height:75%}.layout-gt-md-row>.flex-75{max-width:75%;max-height:100%}.layout-gt-md-column>.flex-75,.layout-gt-md-row>.flex-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-75{max-width:100%;max-height:75%}.flex-gt-md-80,.layout-row>.flex-gt-md-80{max-width:80%;max-height:100%}.flex-gt-md-80,.layout-column>.flex-gt-md-80,.layout-row>.flex-gt-md-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-80{max-width:100%;max-height:80%}.layout-gt-md-row>.flex-gt-md-80{max-width:80%;max-height:100%}.layout-gt-md-column>.flex-gt-md-80,.layout-gt-md-row>.flex-gt-md-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-80{max-width:100%;max-height:80%}.layout-gt-md-row>.flex-80{max-width:80%;max-height:100%}.layout-gt-md-column>.flex-80,.layout-gt-md-row>.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-80{max-width:100%;max-height:80%}.flex-gt-md-85,.layout-row>.flex-gt-md-85{max-width:85%;max-height:100%}.flex-gt-md-85,.layout-column>.flex-gt-md-85,.layout-row>.flex-gt-md-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-85{max-width:100%;max-height:85%}.layout-gt-md-row>.flex-gt-md-85{max-width:85%;max-height:100%}.layout-gt-md-column>.flex-gt-md-85,.layout-gt-md-row>.flex-gt-md-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-85{max-width:100%;max-height:85%}.layout-gt-md-row>.flex-85{max-width:85%;max-height:100%}.layout-gt-md-column>.flex-85,.layout-gt-md-row>.flex-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-85{max-width:100%;max-height:85%}.flex-gt-md-90,.layout-row>.flex-gt-md-90{max-width:90%;max-height:100%}.flex-gt-md-90,.layout-column>.flex-gt-md-90,.layout-row>.flex-gt-md-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-90{max-width:100%;max-height:90%}.layout-gt-md-row>.flex-gt-md-90{max-width:90%;max-height:100%}.layout-gt-md-column>.flex-gt-md-90,.layout-gt-md-row>.flex-gt-md-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-90{max-width:100%;max-height:90%}.layout-gt-md-row>.flex-90{max-width:90%;max-height:100%}.layout-gt-md-column>.flex-90,.layout-gt-md-row>.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-90{max-width:100%;max-height:90%}.flex-gt-md-95,.layout-row>.flex-gt-md-95{max-width:95%;max-height:100%}.flex-gt-md-95,.layout-column>.flex-gt-md-95,.layout-row>.flex-gt-md-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-95{max-width:100%;max-height:95%}.layout-gt-md-row>.flex-gt-md-95{max-width:95%;max-height:100%}.layout-gt-md-column>.flex-gt-md-95,.layout-gt-md-row>.flex-gt-md-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-95{max-width:100%;max-height:95%}.layout-gt-md-row>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-95{max-height:95%}.flex-gt-md-100,.layout-gt-md-column>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.flex-gt-md-100{max-height:100%}.layout-column>.flex-gt-md-100,.layout-gt-md-column>.flex-100,.layout-gt-md-column>.flex-gt-md-100,.layout-gt-md-row>.flex-100,.layout-gt-md-row>.flex-gt-md-100,.layout-row>.flex-gt-md-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-md-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-gt-md-33,.layout-row>.flex-gt-md-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-md-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-gt-md-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-gt-md-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-33{max-width:33.33%}.layout-gt-md-row>.flex-gt-md-33,.layout-gt-md-row>.flex-gt-md-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-66{max-width:66.66%}.layout-gt-md-column>.flex-gt-md-33{max-height:33.33%}.layout-gt-md-column>.flex-gt-md-33,.layout-gt-md-column>.flex-gt-md-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-66{max-height:66.66%}.layout-gt-md-row>.flex-33{max-width:33.33%}.layout-gt-md-row>.flex-33,.layout-gt-md-row>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-gt-md-row>.flex-66{max-width:66.66%}.layout-gt-md-row>.flex{min-width:0}.layout-gt-md-column>.flex-33{max-height:33.33%}.layout-gt-md-column>.flex-33,.layout-gt-md-column>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-gt-md-column>.flex-66{max-height:66.66%}.layout-gt-md-column>.flex{min-height:0}.layout-gt-md,.layout-gt-md-column,.layout-gt-md-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-gt-md-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-gt-md-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}}@media (min-width:1280px) and (max-width:1919px){.hide-gt-md:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show),.hide-gt-sm:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show),.hide-gt-xs:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show),.hide-lg:not(.show-lg):not(.show-gt-md):not(.show-gt-sm):not(.show-gt-xs):not(.show),.hide:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show){display:none}.flex-order-lg--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-lg--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-lg--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-lg--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-lg--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-lg--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-lg--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-lg--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-lg--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-lg--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-lg--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-lg--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-lg--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-lg--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-lg--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-lg--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-lg--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-lg--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-lg--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-lg--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-lg-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-lg-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-lg-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-lg-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-lg-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-lg-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-lg-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-lg-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-lg-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-lg-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-lg-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-lg-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-lg-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-lg-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-lg-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-lg-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-lg-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-lg-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-lg-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-lg-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-lg-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-lg-0,.offset-lg-0{margin-left:0}[dir=rtl] .flex-offset-lg-0,[dir=rtl] .offset-lg-0{margin-left:auto;margin-right:0}.flex-offset-lg-5,.offset-lg-5{margin-left:5%}[dir=rtl] .flex-offset-lg-5,[dir=rtl] .offset-lg-5{margin-left:auto;margin-right:5%}.flex-offset-lg-10,.offset-lg-10{margin-left:10%}[dir=rtl] .flex-offset-lg-10,[dir=rtl] .offset-lg-10{margin-left:auto;margin-right:10%}.flex-offset-lg-15,.offset-lg-15{margin-left:15%}[dir=rtl] .flex-offset-lg-15,[dir=rtl] .offset-lg-15{margin-left:auto;margin-right:15%}.flex-offset-lg-20,.offset-lg-20{margin-left:20%}[dir=rtl] .flex-offset-lg-20,[dir=rtl] .offset-lg-20{margin-left:auto;margin-right:20%}.flex-offset-lg-25,.offset-lg-25{margin-left:25%}[dir=rtl] .flex-offset-lg-25,[dir=rtl] .offset-lg-25{margin-left:auto;margin-right:25%}.flex-offset-lg-30,.offset-lg-30{margin-left:30%}[dir=rtl] .flex-offset-lg-30,[dir=rtl] .offset-lg-30{margin-left:auto;margin-right:30%}.flex-offset-lg-35,.offset-lg-35{margin-left:35%}[dir=rtl] .flex-offset-lg-35,[dir=rtl] .offset-lg-35{margin-left:auto;margin-right:35%}.flex-offset-lg-40,.offset-lg-40{margin-left:40%}[dir=rtl] .flex-offset-lg-40,[dir=rtl] .offset-lg-40{margin-left:auto;margin-right:40%}.flex-offset-lg-45,.offset-lg-45{margin-left:45%}[dir=rtl] .flex-offset-lg-45,[dir=rtl] .offset-lg-45{margin-left:auto;margin-right:45%}.flex-offset-lg-50,.offset-lg-50{margin-left:50%}[dir=rtl] .flex-offset-lg-50,[dir=rtl] .offset-lg-50{margin-left:auto;margin-right:50%}.flex-offset-lg-55,.offset-lg-55{margin-left:55%}[dir=rtl] .flex-offset-lg-55,[dir=rtl] .offset-lg-55{margin-left:auto;margin-right:55%}.flex-offset-lg-60,.offset-lg-60{margin-left:60%}[dir=rtl] .flex-offset-lg-60,[dir=rtl] .offset-lg-60{margin-left:auto;margin-right:60%}.flex-offset-lg-65,.offset-lg-65{margin-left:65%}[dir=rtl] .flex-offset-lg-65,[dir=rtl] .offset-lg-65{margin-left:auto;margin-right:65%}.flex-offset-lg-70,.offset-lg-70{margin-left:70%}[dir=rtl] .flex-offset-lg-70,[dir=rtl] .offset-lg-70{margin-left:auto;margin-right:70%}.flex-offset-lg-75,.offset-lg-75{margin-left:75%}[dir=rtl] .flex-offset-lg-75,[dir=rtl] .offset-lg-75{margin-left:auto;margin-right:75%}.flex-offset-lg-80,.offset-lg-80{margin-left:80%}[dir=rtl] .flex-offset-lg-80,[dir=rtl] .offset-lg-80{margin-left:auto;margin-right:80%}.flex-offset-lg-85,.offset-lg-85{margin-left:85%}[dir=rtl] .flex-offset-lg-85,[dir=rtl] .offset-lg-85{margin-left:auto;margin-right:85%}.flex-offset-lg-90,.offset-lg-90{margin-left:90%}[dir=rtl] .flex-offset-lg-90,[dir=rtl] .offset-lg-90{margin-left:auto;margin-right:90%}.flex-offset-lg-95,.offset-lg-95{margin-left:95%}[dir=rtl] .flex-offset-lg-95,[dir=rtl] .offset-lg-95{margin-left:auto;margin-right:95%}.flex-offset-lg-33,.offset-lg-33{margin-left:33.33333%}.flex-offset-lg-66,.offset-lg-66{margin-left:66.66667%}[dir=rtl] .flex-offset-lg-66,[dir=rtl] .offset-lg-66{margin-left:auto;margin-right:66.66667%}.layout-align-lg,.layout-align-lg-start-stretch{-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch}.layout-align-lg,.layout-align-lg-start,.layout-align-lg-start-center,.layout-align-lg-start-end,.layout-align-lg-start-start,.layout-align-lg-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-lg-center,.layout-align-lg-center-center,.layout-align-lg-center-end,.layout-align-lg-center-start,.layout-align-lg-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-lg-end,.layout-align-lg-end-center,.layout-align-lg-end-end,.layout-align-lg-end-start,.layout-align-lg-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-lg-space-around,.layout-align-lg-space-around-center,.layout-align-lg-space-around-end,.layout-align-lg-space-around-start,.layout-align-lg-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-lg-space-between,.layout-align-lg-space-between-center,.layout-align-lg-space-between-end,.layout-align-lg-space-between-start,.layout-align-lg-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-lg-center-start,.layout-align-lg-end-start,.layout-align-lg-space-around-start,.layout-align-lg-space-between-start,.layout-align-lg-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-lg-center-center,.layout-align-lg-end-center,.layout-align-lg-space-around-center,.layout-align-lg-space-between-center,.layout-align-lg-start-center{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-lg-center-center>*,.layout-align-lg-end-center>*,.layout-align-lg-space-around-center>*,.layout-align-lg-space-between-center>*,.layout-align-lg-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-lg-center-end,.layout-align-lg-end-end,.layout-align-lg-space-around-end,.layout-align-lg-space-between-end,.layout-align-lg-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-lg-center-stretch,.layout-align-lg-end-stretch,.layout-align-lg-space-around-stretch,.layout-align-lg-space-between-stretch,.layout-align-lg-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-lg{-webkit-flex:1;flex:1}.flex-lg,.flex-lg-grow{-webkit-box-flex:1;box-sizing:border-box}.flex-lg-grow{-webkit-flex:1 1 100%;flex:1 1 100%}.flex-lg-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-lg-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-lg-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-lg-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-lg-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-lg-0,.layout-row>.flex-lg-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:0;max-height:100%;box-sizing:border-box}.layout-row>.flex-lg-0{min-width:0}.layout-column>.flex-lg-0{max-width:100%;max-height:0%}.layout-column>.flex-lg-0,.layout-lg-row>.flex-lg-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-row>.flex-lg-0{max-width:0;max-height:100%;min-width:0}.layout-lg-column>.flex-lg-0{max-width:100%;max-height:0%;min-height:0}.layout-lg-column>.flex-lg-0,.layout-lg-row>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-row>.flex-0{max-width:0;max-height:100%;min-width:0}.layout-lg-column>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-lg-5,.layout-row>.flex-lg-5{max-width:5%;max-height:100%}.flex-lg-5,.layout-column>.flex-lg-5,.layout-row>.flex-lg-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-5{max-width:100%;max-height:5%}.layout-lg-row>.flex-lg-5{max-width:5%;max-height:100%}.layout-lg-column>.flex-lg-5,.layout-lg-row>.flex-lg-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-5{max-width:100%;max-height:5%}.layout-lg-row>.flex-5{max-width:5%;max-height:100%}.layout-lg-column>.flex-5,.layout-lg-row>.flex-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-5{max-width:100%;max-height:5%}.flex-lg-10,.layout-row>.flex-lg-10{max-width:10%;max-height:100%}.flex-lg-10,.layout-column>.flex-lg-10,.layout-row>.flex-lg-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-10{max-width:100%;max-height:10%}.layout-lg-row>.flex-lg-10{max-width:10%;max-height:100%}.layout-lg-column>.flex-lg-10,.layout-lg-row>.flex-lg-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-10{max-width:100%;max-height:10%}.layout-lg-row>.flex-10{max-width:10%;max-height:100%}.layout-lg-column>.flex-10,.layout-lg-row>.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-10{max-width:100%;max-height:10%}.flex-lg-15,.layout-row>.flex-lg-15{max-width:15%;max-height:100%}.flex-lg-15,.layout-column>.flex-lg-15,.layout-row>.flex-lg-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-15{max-width:100%;max-height:15%}.layout-lg-row>.flex-lg-15{max-width:15%;max-height:100%}.layout-lg-column>.flex-lg-15,.layout-lg-row>.flex-lg-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-15{max-width:100%;max-height:15%}.layout-lg-row>.flex-15{max-width:15%;max-height:100%}.layout-lg-column>.flex-15,.layout-lg-row>.flex-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-15{max-width:100%;max-height:15%}.flex-lg-20,.layout-row>.flex-lg-20{max-width:20%;max-height:100%}.flex-lg-20,.layout-column>.flex-lg-20,.layout-row>.flex-lg-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-20{max-width:100%;max-height:20%}.layout-lg-row>.flex-lg-20{max-width:20%;max-height:100%}.layout-lg-column>.flex-lg-20,.layout-lg-row>.flex-lg-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-20{max-width:100%;max-height:20%}.layout-lg-row>.flex-20{max-width:20%;max-height:100%}.layout-lg-column>.flex-20,.layout-lg-row>.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-20{max-width:100%;max-height:20%}.flex-lg-25,.layout-row>.flex-lg-25{max-width:25%;max-height:100%}.flex-lg-25,.layout-column>.flex-lg-25,.layout-row>.flex-lg-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-25{max-width:100%;max-height:25%}.layout-lg-row>.flex-lg-25{max-width:25%;max-height:100%}.layout-lg-column>.flex-lg-25,.layout-lg-row>.flex-lg-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-25{max-width:100%;max-height:25%}.layout-lg-row>.flex-25{max-width:25%;max-height:100%}.layout-lg-column>.flex-25,.layout-lg-row>.flex-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-25{max-width:100%;max-height:25%}.flex-lg-30,.layout-row>.flex-lg-30{max-width:30%;max-height:100%}.flex-lg-30,.layout-column>.flex-lg-30,.layout-row>.flex-lg-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-30{max-width:100%;max-height:30%}.layout-lg-row>.flex-lg-30{max-width:30%;max-height:100%}.layout-lg-column>.flex-lg-30,.layout-lg-row>.flex-lg-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-30{max-width:100%;max-height:30%}.layout-lg-row>.flex-30{max-width:30%;max-height:100%}.layout-lg-column>.flex-30,.layout-lg-row>.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-30{max-width:100%;max-height:30%}.flex-lg-35,.layout-row>.flex-lg-35{max-width:35%;max-height:100%}.flex-lg-35,.layout-column>.flex-lg-35,.layout-row>.flex-lg-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-35{max-width:100%;max-height:35%}.layout-lg-row>.flex-lg-35{max-width:35%;max-height:100%}.layout-lg-column>.flex-lg-35,.layout-lg-row>.flex-lg-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-35{max-width:100%;max-height:35%}.layout-lg-row>.flex-35{max-width:35%;max-height:100%}.layout-lg-column>.flex-35,.layout-lg-row>.flex-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-35{max-width:100%;max-height:35%}.flex-lg-40,.layout-row>.flex-lg-40{max-width:40%;max-height:100%}.flex-lg-40,.layout-column>.flex-lg-40,.layout-row>.flex-lg-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-40{max-width:100%;max-height:40%}.layout-lg-row>.flex-lg-40{max-width:40%;max-height:100%}.layout-lg-column>.flex-lg-40,.layout-lg-row>.flex-lg-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-40{max-width:100%;max-height:40%}.layout-lg-row>.flex-40{max-width:40%;max-height:100%}.layout-lg-column>.flex-40,.layout-lg-row>.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-40{max-width:100%;max-height:40%}.flex-lg-45,.layout-row>.flex-lg-45{max-width:45%;max-height:100%}.flex-lg-45,.layout-column>.flex-lg-45,.layout-row>.flex-lg-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-45{max-width:100%;max-height:45%}.layout-lg-row>.flex-lg-45{max-width:45%;max-height:100%}.layout-lg-column>.flex-lg-45,.layout-lg-row>.flex-lg-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-45{max-width:100%;max-height:45%}.layout-lg-row>.flex-45{max-width:45%;max-height:100%}.layout-lg-column>.flex-45,.layout-lg-row>.flex-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-45{max-width:100%;max-height:45%}.flex-lg-50,.layout-row>.flex-lg-50{max-width:50%;max-height:100%}.flex-lg-50,.layout-column>.flex-lg-50,.layout-row>.flex-lg-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-50{max-width:100%;max-height:50%}.layout-lg-row>.flex-lg-50{max-width:50%;max-height:100%}.layout-lg-column>.flex-lg-50,.layout-lg-row>.flex-lg-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-50{max-width:100%;max-height:50%}.layout-lg-row>.flex-50{max-width:50%;max-height:100%}.layout-lg-column>.flex-50,.layout-lg-row>.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-50{max-width:100%;max-height:50%}.flex-lg-55,.layout-row>.flex-lg-55{max-width:55%;max-height:100%}.flex-lg-55,.layout-column>.flex-lg-55,.layout-row>.flex-lg-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-55{max-width:100%;max-height:55%}.layout-lg-row>.flex-lg-55{max-width:55%;max-height:100%}.layout-lg-column>.flex-lg-55,.layout-lg-row>.flex-lg-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-55{max-width:100%;max-height:55%}.layout-lg-row>.flex-55{max-width:55%;max-height:100%}.layout-lg-column>.flex-55,.layout-lg-row>.flex-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-55{max-width:100%;max-height:55%}.flex-lg-60,.layout-row>.flex-lg-60{max-width:60%;max-height:100%}.flex-lg-60,.layout-column>.flex-lg-60,.layout-row>.flex-lg-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-60{max-width:100%;max-height:60%}.layout-lg-row>.flex-lg-60{max-width:60%;max-height:100%}.layout-lg-column>.flex-lg-60,.layout-lg-row>.flex-lg-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-60{max-width:100%;max-height:60%}.layout-lg-row>.flex-60{max-width:60%;max-height:100%}.layout-lg-column>.flex-60,.layout-lg-row>.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-60{max-width:100%;max-height:60%}.flex-lg-65,.layout-row>.flex-lg-65{max-width:65%;max-height:100%}.flex-lg-65,.layout-column>.flex-lg-65,.layout-row>.flex-lg-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-65{max-width:100%;max-height:65%}.layout-lg-row>.flex-lg-65{max-width:65%;max-height:100%}.layout-lg-column>.flex-lg-65,.layout-lg-row>.flex-lg-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-65{max-width:100%;max-height:65%}.layout-lg-row>.flex-65{max-width:65%;max-height:100%}.layout-lg-column>.flex-65,.layout-lg-row>.flex-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-65{max-width:100%;max-height:65%}.flex-lg-70,.layout-row>.flex-lg-70{max-width:70%;max-height:100%}.flex-lg-70,.layout-column>.flex-lg-70,.layout-row>.flex-lg-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-70{max-width:100%;max-height:70%}.layout-lg-row>.flex-lg-70{max-width:70%;max-height:100%}.layout-lg-column>.flex-lg-70,.layout-lg-row>.flex-lg-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-70{max-width:100%;max-height:70%}.layout-lg-row>.flex-70{max-width:70%;max-height:100%}.layout-lg-column>.flex-70,.layout-lg-row>.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-70{max-width:100%;max-height:70%}.flex-lg-75,.layout-row>.flex-lg-75{max-width:75%;max-height:100%}.flex-lg-75,.layout-column>.flex-lg-75,.layout-row>.flex-lg-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-75{max-width:100%;max-height:75%}.layout-lg-row>.flex-lg-75{max-width:75%;max-height:100%}.layout-lg-column>.flex-lg-75,.layout-lg-row>.flex-lg-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-75{max-width:100%;max-height:75%}.layout-lg-row>.flex-75{max-width:75%;max-height:100%}.layout-lg-column>.flex-75,.layout-lg-row>.flex-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-75{max-width:100%;max-height:75%}.flex-lg-80,.layout-row>.flex-lg-80{max-width:80%;max-height:100%}.flex-lg-80,.layout-column>.flex-lg-80,.layout-row>.flex-lg-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-80{max-width:100%;max-height:80%}.layout-lg-row>.flex-lg-80{max-width:80%;max-height:100%}.layout-lg-column>.flex-lg-80,.layout-lg-row>.flex-lg-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-80{max-width:100%;max-height:80%}.layout-lg-row>.flex-80{max-width:80%;max-height:100%}.layout-lg-column>.flex-80,.layout-lg-row>.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-80{max-width:100%;max-height:80%}.flex-lg-85,.layout-row>.flex-lg-85{max-width:85%;max-height:100%}.flex-lg-85,.layout-column>.flex-lg-85,.layout-row>.flex-lg-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-85{max-width:100%;max-height:85%}.layout-lg-row>.flex-lg-85{max-width:85%;max-height:100%}.layout-lg-column>.flex-lg-85,.layout-lg-row>.flex-lg-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-85{max-width:100%;max-height:85%}.layout-lg-row>.flex-85{max-width:85%;max-height:100%}.layout-lg-column>.flex-85,.layout-lg-row>.flex-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-85{max-width:100%;max-height:85%}.flex-lg-90,.layout-row>.flex-lg-90{max-width:90%;max-height:100%}.flex-lg-90,.layout-column>.flex-lg-90,.layout-row>.flex-lg-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-90{max-width:100%;max-height:90%}.layout-lg-row>.flex-lg-90{max-width:90%;max-height:100%}.layout-lg-column>.flex-lg-90,.layout-lg-row>.flex-lg-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-90{max-width:100%;max-height:90%}.layout-lg-row>.flex-90{max-width:90%;max-height:100%}.layout-lg-column>.flex-90,.layout-lg-row>.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-90{max-width:100%;max-height:90%}.flex-lg-95,.layout-row>.flex-lg-95{max-width:95%;max-height:100%}.flex-lg-95,.layout-column>.flex-lg-95,.layout-row>.flex-lg-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-95{max-width:100%;max-height:95%}.layout-lg-row>.flex-lg-95{max-width:95%;max-height:100%}.layout-lg-column>.flex-lg-95,.layout-lg-row>.flex-lg-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-95{max-width:100%;max-height:95%}.layout-lg-row>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-95{max-height:95%}.flex-lg-100,.layout-lg-column>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.flex-lg-100{max-height:100%}.layout-column>.flex-lg-100,.layout-lg-column>.flex-100,.layout-lg-column>.flex-lg-100,.layout-lg-row>.flex-100,.layout-lg-row>.flex-lg-100,.layout-row>.flex-lg-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-lg-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-lg-33,.layout-row>.flex-lg-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-lg-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-lg-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-height:33.33%}.layout-column>.flex-lg-33,.layout-column>.flex-lg-66{-webkit-box-flex:1;max-width:100%;box-sizing:border-box}.layout-column>.flex-lg-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-height:66.66%}.layout-lg-row>.flex-lg-33{max-width:33.33%}.layout-lg-row>.flex-lg-33,.layout-lg-row>.flex-lg-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-lg-row>.flex-lg-66{max-width:66.66%}.layout-lg-column>.flex-lg-33{max-height:33.33%}.layout-lg-column>.flex-lg-33,.layout-lg-column>.flex-lg-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-66{max-height:66.66%}.layout-lg-row>.flex-33{max-width:33.33%}.layout-lg-row>.flex-33,.layout-lg-row>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-lg-row>.flex-66{max-width:66.66%}.layout-lg-row>.flex{min-width:0}.layout-lg-column>.flex-33{max-height:33.33%}.layout-lg-column>.flex-33,.layout-lg-column>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-lg-column>.flex-66{max-height:66.66%}.layout-lg-column>.flex{min-height:0}.layout-lg,.layout-lg-column,.layout-lg-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-lg-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-lg-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}}@media (min-width:1920px){.flex-order-gt-lg--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-gt-lg--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-gt-lg--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-gt-lg--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-gt-lg--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-gt-lg--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-gt-lg--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-gt-lg--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-gt-lg--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-gt-lg--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-gt-lg--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-gt-lg--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-gt-lg--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-gt-lg--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-gt-lg--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-gt-lg--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-gt-lg--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-gt-lg--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-gt-lg--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-gt-lg--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-gt-lg-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-gt-lg-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-gt-lg-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-gt-lg-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-gt-lg-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-gt-lg-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-gt-lg-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-gt-lg-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-gt-lg-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-gt-lg-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-gt-lg-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-gt-lg-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-gt-lg-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-gt-lg-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-gt-lg-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-gt-lg-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-gt-lg-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-gt-lg-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-gt-lg-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-gt-lg-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-gt-lg-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-gt-lg-0,.offset-gt-lg-0{margin-left:0}[dir=rtl] .flex-offset-gt-lg-0,[dir=rtl] .offset-gt-lg-0{margin-left:auto;margin-right:0}.flex-offset-gt-lg-5,.offset-gt-lg-5{margin-left:5%}[dir=rtl] .flex-offset-gt-lg-5,[dir=rtl] .offset-gt-lg-5{margin-left:auto;margin-right:5%}.flex-offset-gt-lg-10,.offset-gt-lg-10{margin-left:10%}[dir=rtl] .flex-offset-gt-lg-10,[dir=rtl] .offset-gt-lg-10{margin-left:auto;margin-right:10%}.flex-offset-gt-lg-15,.offset-gt-lg-15{margin-left:15%}[dir=rtl] .flex-offset-gt-lg-15,[dir=rtl] .offset-gt-lg-15{margin-left:auto;margin-right:15%}.flex-offset-gt-lg-20,.offset-gt-lg-20{margin-left:20%}[dir=rtl] .flex-offset-gt-lg-20,[dir=rtl] .offset-gt-lg-20{margin-left:auto;margin-right:20%}.flex-offset-gt-lg-25,.offset-gt-lg-25{margin-left:25%}[dir=rtl] .flex-offset-gt-lg-25,[dir=rtl] .offset-gt-lg-25{margin-left:auto;margin-right:25%}.flex-offset-gt-lg-30,.offset-gt-lg-30{margin-left:30%}[dir=rtl] .flex-offset-gt-lg-30,[dir=rtl] .offset-gt-lg-30{margin-left:auto;margin-right:30%}.flex-offset-gt-lg-35,.offset-gt-lg-35{margin-left:35%}[dir=rtl] .flex-offset-gt-lg-35,[dir=rtl] .offset-gt-lg-35{margin-left:auto;margin-right:35%}.flex-offset-gt-lg-40,.offset-gt-lg-40{margin-left:40%}[dir=rtl] .flex-offset-gt-lg-40,[dir=rtl] .offset-gt-lg-40{margin-left:auto;margin-right:40%}.flex-offset-gt-lg-45,.offset-gt-lg-45{margin-left:45%}[dir=rtl] .flex-offset-gt-lg-45,[dir=rtl] .offset-gt-lg-45{margin-left:auto;margin-right:45%}.flex-offset-gt-lg-50,.offset-gt-lg-50{margin-left:50%}[dir=rtl] .flex-offset-gt-lg-50,[dir=rtl] .offset-gt-lg-50{margin-left:auto;margin-right:50%}.flex-offset-gt-lg-55,.offset-gt-lg-55{margin-left:55%}[dir=rtl] .flex-offset-gt-lg-55,[dir=rtl] .offset-gt-lg-55{margin-left:auto;margin-right:55%}.flex-offset-gt-lg-60,.offset-gt-lg-60{margin-left:60%}[dir=rtl] .flex-offset-gt-lg-60,[dir=rtl] .offset-gt-lg-60{margin-left:auto;margin-right:60%}.flex-offset-gt-lg-65,.offset-gt-lg-65{margin-left:65%}[dir=rtl] .flex-offset-gt-lg-65,[dir=rtl] .offset-gt-lg-65{margin-left:auto;margin-right:65%}.flex-offset-gt-lg-70,.offset-gt-lg-70{margin-left:70%}[dir=rtl] .flex-offset-gt-lg-70,[dir=rtl] .offset-gt-lg-70{margin-left:auto;margin-right:70%}.flex-offset-gt-lg-75,.offset-gt-lg-75{margin-left:75%}[dir=rtl] .flex-offset-gt-lg-75,[dir=rtl] .offset-gt-lg-75{margin-left:auto;margin-right:75%}.flex-offset-gt-lg-80,.offset-gt-lg-80{margin-left:80%}[dir=rtl] .flex-offset-gt-lg-80,[dir=rtl] .offset-gt-lg-80{margin-left:auto;margin-right:80%}.flex-offset-gt-lg-85,.offset-gt-lg-85{margin-left:85%}[dir=rtl] .flex-offset-gt-lg-85,[dir=rtl] .offset-gt-lg-85{margin-left:auto;margin-right:85%}.flex-offset-gt-lg-90,.offset-gt-lg-90{margin-left:90%}[dir=rtl] .flex-offset-gt-lg-90,[dir=rtl] .offset-gt-lg-90{margin-left:auto;margin-right:90%}.flex-offset-gt-lg-95,.offset-gt-lg-95{margin-left:95%}[dir=rtl] .flex-offset-gt-lg-95,[dir=rtl] .offset-gt-lg-95{margin-left:auto;margin-right:95%}.flex-offset-gt-lg-33,.offset-gt-lg-33{margin-left:33.33333%}.flex-offset-gt-lg-66,.offset-gt-lg-66{margin-left:66.66667%}[dir=rtl] .flex-offset-gt-lg-66,[dir=rtl] .offset-gt-lg-66{margin-left:auto;margin-right:66.66667%}.layout-align-gt-lg,.layout-align-gt-lg-start-stretch{-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch}.layout-align-gt-lg,.layout-align-gt-lg-start,.layout-align-gt-lg-start-center,.layout-align-gt-lg-start-end,.layout-align-gt-lg-start-start,.layout-align-gt-lg-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-gt-lg-center,.layout-align-gt-lg-center-center,.layout-align-gt-lg-center-end,.layout-align-gt-lg-center-start,.layout-align-gt-lg-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-gt-lg-end,.layout-align-gt-lg-end-center,.layout-align-gt-lg-end-end,.layout-align-gt-lg-end-start,.layout-align-gt-lg-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-gt-lg-space-around,.layout-align-gt-lg-space-around-center,.layout-align-gt-lg-space-around-end,.layout-align-gt-lg-space-around-start,.layout-align-gt-lg-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-gt-lg-space-between,.layout-align-gt-lg-space-between-center,.layout-align-gt-lg-space-between-end,.layout-align-gt-lg-space-between-start,.layout-align-gt-lg-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-gt-lg-center-start,.layout-align-gt-lg-end-start,.layout-align-gt-lg-space-around-start,.layout-align-gt-lg-space-between-start,.layout-align-gt-lg-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-gt-lg-center-center,.layout-align-gt-lg-end-center,.layout-align-gt-lg-space-around-center,.layout-align-gt-lg-space-between-center,.layout-align-gt-lg-start-center{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-gt-lg-center-center>*,.layout-align-gt-lg-end-center>*,.layout-align-gt-lg-space-around-center>*,.layout-align-gt-lg-space-between-center>*,.layout-align-gt-lg-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-gt-lg-center-end,.layout-align-gt-lg-end-end,.layout-align-gt-lg-space-around-end,.layout-align-gt-lg-space-between-end,.layout-align-gt-lg-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-gt-lg-center-stretch,.layout-align-gt-lg-end-stretch,.layout-align-gt-lg-space-around-stretch,.layout-align-gt-lg-space-between-stretch,.layout-align-gt-lg-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-gt-lg{-webkit-flex:1;flex:1}.flex-gt-lg,.flex-gt-lg-grow{-webkit-box-flex:1;box-sizing:border-box}.flex-gt-lg-grow{-webkit-flex:1 1 100%;flex:1 1 100%}.flex-gt-lg-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-lg-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-gt-lg-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-gt-lg-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-gt-lg-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-lg-0,.layout-row>.flex-gt-lg-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:0;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-lg-0{min-width:0}.layout-column>.flex-gt-lg-0{max-width:100%;max-height:0%}.layout-column>.flex-gt-lg-0,.layout-gt-lg-row>.flex-gt-lg-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-0{max-width:0;max-height:100%;min-width:0}.layout-gt-lg-column>.flex-gt-lg-0{max-width:100%;max-height:0%;min-height:0}.layout-gt-lg-column>.flex-gt-lg-0,.layout-gt-lg-row>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-row>.flex-0{max-width:0;max-height:100%;min-width:0}.layout-gt-lg-column>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-gt-lg-5,.layout-row>.flex-gt-lg-5{max-width:5%;max-height:100%}.flex-gt-lg-5,.layout-column>.flex-gt-lg-5,.layout-row>.flex-gt-lg-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-5{max-width:100%;max-height:5%}.layout-gt-lg-row>.flex-gt-lg-5{max-width:5%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-5,.layout-gt-lg-row>.flex-gt-lg-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-5{max-width:100%;max-height:5%}.layout-gt-lg-row>.flex-5{max-width:5%;max-height:100%}.layout-gt-lg-column>.flex-5,.layout-gt-lg-row>.flex-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-5{max-width:100%;max-height:5%}.flex-gt-lg-10,.layout-row>.flex-gt-lg-10{max-width:10%;max-height:100%}.flex-gt-lg-10,.layout-column>.flex-gt-lg-10,.layout-row>.flex-gt-lg-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-10{max-width:100%;max-height:10%}.layout-gt-lg-row>.flex-gt-lg-10{max-width:10%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-10,.layout-gt-lg-row>.flex-gt-lg-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-10{max-width:100%;max-height:10%}.layout-gt-lg-row>.flex-10{max-width:10%;max-height:100%}.layout-gt-lg-column>.flex-10,.layout-gt-lg-row>.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-10{max-width:100%;max-height:10%}.flex-gt-lg-15,.layout-row>.flex-gt-lg-15{max-width:15%;max-height:100%}.flex-gt-lg-15,.layout-column>.flex-gt-lg-15,.layout-row>.flex-gt-lg-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-15{max-width:100%;max-height:15%}.layout-gt-lg-row>.flex-gt-lg-15{max-width:15%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-15,.layout-gt-lg-row>.flex-gt-lg-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-15{max-width:100%;max-height:15%}.layout-gt-lg-row>.flex-15{max-width:15%;max-height:100%}.layout-gt-lg-column>.flex-15,.layout-gt-lg-row>.flex-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-15{max-width:100%;max-height:15%}.flex-gt-lg-20,.layout-row>.flex-gt-lg-20{max-width:20%;max-height:100%}.flex-gt-lg-20,.layout-column>.flex-gt-lg-20,.layout-row>.flex-gt-lg-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-20{max-width:100%;max-height:20%}.layout-gt-lg-row>.flex-gt-lg-20{max-width:20%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-20,.layout-gt-lg-row>.flex-gt-lg-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-20{max-width:100%;max-height:20%}.layout-gt-lg-row>.flex-20{max-width:20%;max-height:100%}.layout-gt-lg-column>.flex-20,.layout-gt-lg-row>.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-20{max-width:100%;max-height:20%}.flex-gt-lg-25,.layout-row>.flex-gt-lg-25{max-width:25%;max-height:100%}.flex-gt-lg-25,.layout-column>.flex-gt-lg-25,.layout-row>.flex-gt-lg-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-25{max-width:100%;max-height:25%}.layout-gt-lg-row>.flex-gt-lg-25{max-width:25%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-25,.layout-gt-lg-row>.flex-gt-lg-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-25{max-width:100%;max-height:25%}.layout-gt-lg-row>.flex-25{max-width:25%;max-height:100%}.layout-gt-lg-column>.flex-25,.layout-gt-lg-row>.flex-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-25{max-width:100%;max-height:25%}.flex-gt-lg-30,.layout-row>.flex-gt-lg-30{max-width:30%;max-height:100%}.flex-gt-lg-30,.layout-column>.flex-gt-lg-30,.layout-row>.flex-gt-lg-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-30{max-width:100%;max-height:30%}.layout-gt-lg-row>.flex-gt-lg-30{max-width:30%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-30,.layout-gt-lg-row>.flex-gt-lg-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-30{max-width:100%;max-height:30%}.layout-gt-lg-row>.flex-30{max-width:30%;max-height:100%}.layout-gt-lg-column>.flex-30,.layout-gt-lg-row>.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-30{max-width:100%;max-height:30%}.flex-gt-lg-35,.layout-row>.flex-gt-lg-35{max-width:35%;max-height:100%}.flex-gt-lg-35,.layout-column>.flex-gt-lg-35,.layout-row>.flex-gt-lg-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-35{max-width:100%;max-height:35%}.layout-gt-lg-row>.flex-gt-lg-35{max-width:35%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-35,.layout-gt-lg-row>.flex-gt-lg-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-35{max-width:100%;max-height:35%}.layout-gt-lg-row>.flex-35{max-width:35%;max-height:100%}.layout-gt-lg-column>.flex-35,.layout-gt-lg-row>.flex-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-35{max-width:100%;max-height:35%}.flex-gt-lg-40,.layout-row>.flex-gt-lg-40{max-width:40%;max-height:100%}.flex-gt-lg-40,.layout-column>.flex-gt-lg-40,.layout-row>.flex-gt-lg-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-40{max-width:100%;max-height:40%}.layout-gt-lg-row>.flex-gt-lg-40{max-width:40%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-40,.layout-gt-lg-row>.flex-gt-lg-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-40{max-width:100%;max-height:40%}.layout-gt-lg-row>.flex-40{max-width:40%;max-height:100%}.layout-gt-lg-column>.flex-40,.layout-gt-lg-row>.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-40{max-width:100%;max-height:40%}.flex-gt-lg-45,.layout-row>.flex-gt-lg-45{max-width:45%;max-height:100%}.flex-gt-lg-45,.layout-column>.flex-gt-lg-45,.layout-row>.flex-gt-lg-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-45{max-width:100%;max-height:45%}.layout-gt-lg-row>.flex-gt-lg-45{max-width:45%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-45,.layout-gt-lg-row>.flex-gt-lg-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-45{max-width:100%;max-height:45%}.layout-gt-lg-row>.flex-45{max-width:45%;max-height:100%}.layout-gt-lg-column>.flex-45,.layout-gt-lg-row>.flex-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-45{max-width:100%;max-height:45%}.flex-gt-lg-50,.layout-row>.flex-gt-lg-50{max-width:50%;max-height:100%}.flex-gt-lg-50,.layout-column>.flex-gt-lg-50,.layout-row>.flex-gt-lg-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-50{max-width:100%;max-height:50%}.layout-gt-lg-row>.flex-gt-lg-50{max-width:50%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-50,.layout-gt-lg-row>.flex-gt-lg-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-50{max-width:100%;max-height:50%}.layout-gt-lg-row>.flex-50{max-width:50%;max-height:100%}.layout-gt-lg-column>.flex-50,.layout-gt-lg-row>.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-50{max-width:100%;max-height:50%}.flex-gt-lg-55,.layout-row>.flex-gt-lg-55{max-width:55%;max-height:100%}.flex-gt-lg-55,.layout-column>.flex-gt-lg-55,.layout-row>.flex-gt-lg-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-55{max-width:100%;max-height:55%}.layout-gt-lg-row>.flex-gt-lg-55{max-width:55%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-55,.layout-gt-lg-row>.flex-gt-lg-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-55{max-width:100%;max-height:55%}.layout-gt-lg-row>.flex-55{max-width:55%;max-height:100%}.layout-gt-lg-column>.flex-55,.layout-gt-lg-row>.flex-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-55{max-width:100%;max-height:55%}.flex-gt-lg-60,.layout-row>.flex-gt-lg-60{max-width:60%;max-height:100%}.flex-gt-lg-60,.layout-column>.flex-gt-lg-60,.layout-row>.flex-gt-lg-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-60{max-width:100%;max-height:60%}.layout-gt-lg-row>.flex-gt-lg-60{max-width:60%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-60,.layout-gt-lg-row>.flex-gt-lg-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-60{max-width:100%;max-height:60%}.layout-gt-lg-row>.flex-60{max-width:60%;max-height:100%}.layout-gt-lg-column>.flex-60,.layout-gt-lg-row>.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-60{max-width:100%;max-height:60%}.flex-gt-lg-65,.layout-row>.flex-gt-lg-65{max-width:65%;max-height:100%}.flex-gt-lg-65,.layout-column>.flex-gt-lg-65,.layout-row>.flex-gt-lg-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-65{max-width:100%;max-height:65%}.layout-gt-lg-row>.flex-gt-lg-65{max-width:65%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-65,.layout-gt-lg-row>.flex-gt-lg-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-65{max-width:100%;max-height:65%}.layout-gt-lg-row>.flex-65{max-width:65%;max-height:100%}.layout-gt-lg-column>.flex-65,.layout-gt-lg-row>.flex-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-65{max-width:100%;max-height:65%}.flex-gt-lg-70,.layout-row>.flex-gt-lg-70{max-width:70%;max-height:100%}.flex-gt-lg-70,.layout-column>.flex-gt-lg-70,.layout-row>.flex-gt-lg-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-70{max-width:100%;max-height:70%}.layout-gt-lg-row>.flex-gt-lg-70{max-width:70%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-70,.layout-gt-lg-row>.flex-gt-lg-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-70{max-width:100%;max-height:70%}.layout-gt-lg-row>.flex-70{max-width:70%;max-height:100%}.layout-gt-lg-column>.flex-70,.layout-gt-lg-row>.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-70{max-width:100%;max-height:70%}.flex-gt-lg-75,.layout-row>.flex-gt-lg-75{max-width:75%;max-height:100%}.flex-gt-lg-75,.layout-column>.flex-gt-lg-75,.layout-row>.flex-gt-lg-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-75{max-width:100%;max-height:75%}.layout-gt-lg-row>.flex-gt-lg-75{max-width:75%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-75,.layout-gt-lg-row>.flex-gt-lg-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-75{max-width:100%;max-height:75%}.layout-gt-lg-row>.flex-75{max-width:75%;max-height:100%}.layout-gt-lg-column>.flex-75,.layout-gt-lg-row>.flex-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-75{max-width:100%;max-height:75%}.flex-gt-lg-80,.layout-row>.flex-gt-lg-80{max-width:80%;max-height:100%}.flex-gt-lg-80,.layout-column>.flex-gt-lg-80,.layout-row>.flex-gt-lg-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-80{max-width:100%;max-height:80%}.layout-gt-lg-row>.flex-gt-lg-80{max-width:80%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-80,.layout-gt-lg-row>.flex-gt-lg-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-80{max-width:100%;max-height:80%}.layout-gt-lg-row>.flex-80{max-width:80%;max-height:100%}.layout-gt-lg-column>.flex-80,.layout-gt-lg-row>.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-80{max-width:100%;max-height:80%}.flex-gt-lg-85,.layout-row>.flex-gt-lg-85{max-width:85%;max-height:100%}.flex-gt-lg-85,.layout-column>.flex-gt-lg-85,.layout-row>.flex-gt-lg-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-85{max-width:100%;max-height:85%}.layout-gt-lg-row>.flex-gt-lg-85{max-width:85%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-85,.layout-gt-lg-row>.flex-gt-lg-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-85{max-width:100%;max-height:85%}.layout-gt-lg-row>.flex-85{max-width:85%;max-height:100%}.layout-gt-lg-column>.flex-85,.layout-gt-lg-row>.flex-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-85{max-width:100%;max-height:85%}.flex-gt-lg-90,.layout-row>.flex-gt-lg-90{max-width:90%;max-height:100%}.flex-gt-lg-90,.layout-column>.flex-gt-lg-90,.layout-row>.flex-gt-lg-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-90{max-width:100%;max-height:90%}.layout-gt-lg-row>.flex-gt-lg-90{max-width:90%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-90,.layout-gt-lg-row>.flex-gt-lg-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-90{max-width:100%;max-height:90%}.layout-gt-lg-row>.flex-90{max-width:90%;max-height:100%}.layout-gt-lg-column>.flex-90,.layout-gt-lg-row>.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-90{max-width:100%;max-height:90%}.flex-gt-lg-95,.layout-row>.flex-gt-lg-95{max-width:95%;max-height:100%}.flex-gt-lg-95,.layout-column>.flex-gt-lg-95,.layout-row>.flex-gt-lg-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-95{max-width:100%;max-height:95%}.layout-gt-lg-row>.flex-gt-lg-95{max-width:95%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-95,.layout-gt-lg-row>.flex-gt-lg-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-95{max-width:100%;max-height:95%}.layout-gt-lg-row>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-95{max-height:95%}.flex-gt-lg-100,.layout-gt-lg-column>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.flex-gt-lg-100{max-height:100%}.layout-column>.flex-gt-lg-100,.layout-gt-lg-column>.flex-100,.layout-gt-lg-column>.flex-gt-lg-100,.layout-gt-lg-row>.flex-100,.layout-gt-lg-row>.flex-gt-lg-100,.layout-row>.flex-gt-lg-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-lg-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-gt-lg-33,.layout-row>.flex-gt-lg-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-lg-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-gt-lg-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-gt-lg-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-33{max-width:33.33%}.layout-gt-lg-row>.flex-gt-lg-33,.layout-gt-lg-row>.flex-gt-lg-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-66{max-width:66.66%}.layout-gt-lg-column>.flex-gt-lg-33{max-height:33.33%}.layout-gt-lg-column>.flex-gt-lg-33,.layout-gt-lg-column>.flex-gt-lg-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-66{max-height:66.66%}.layout-gt-lg-row>.flex-33{max-width:33.33%}.layout-gt-lg-row>.flex-33,.layout-gt-lg-row>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-gt-lg-row>.flex-66{max-width:66.66%}.layout-gt-lg-row>.flex{min-width:0}.layout-gt-lg-column>.flex-33{max-height:33.33%}.layout-gt-lg-column>.flex-33,.layout-gt-lg-column>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-66{max-height:66.66%}.layout-gt-lg-column>.flex{min-height:0}.layout-gt-lg,.layout-gt-lg-column,.layout-gt-lg-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-gt-lg-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-gt-lg-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}.flex-order-xl--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-xl--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-xl--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-xl--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-xl--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-xl--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-xl--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-xl--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-xl--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-xl--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-xl--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-xl--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-xl--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-xl--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-xl--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-xl--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-xl--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-xl--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-xl--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-xl--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-xl-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-xl-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-xl-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-xl-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-xl-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-xl-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-xl-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-xl-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-xl-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-xl-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-xl-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-xl-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-xl-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-xl-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-xl-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-xl-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-xl-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-xl-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-xl-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-xl-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-xl-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-xl-0,.offset-xl-0{margin-left:0}[dir=rtl] .flex-offset-xl-0,[dir=rtl] .offset-xl-0{margin-left:auto;margin-right:0}.flex-offset-xl-5,.offset-xl-5{margin-left:5%}[dir=rtl] .flex-offset-xl-5,[dir=rtl] .offset-xl-5{margin-left:auto;margin-right:5%}.flex-offset-xl-10,.offset-xl-10{margin-left:10%}[dir=rtl] .flex-offset-xl-10,[dir=rtl] .offset-xl-10{margin-left:auto;margin-right:10%}.flex-offset-xl-15,.offset-xl-15{margin-left:15%}[dir=rtl] .flex-offset-xl-15,[dir=rtl] .offset-xl-15{margin-left:auto;margin-right:15%}.flex-offset-xl-20,.offset-xl-20{margin-left:20%}[dir=rtl] .flex-offset-xl-20,[dir=rtl] .offset-xl-20{margin-left:auto;margin-right:20%}.flex-offset-xl-25,.offset-xl-25{margin-left:25%}[dir=rtl] .flex-offset-xl-25,[dir=rtl] .offset-xl-25{margin-left:auto;margin-right:25%}.flex-offset-xl-30,.offset-xl-30{margin-left:30%}[dir=rtl] .flex-offset-xl-30,[dir=rtl] .offset-xl-30{margin-left:auto;margin-right:30%}.flex-offset-xl-35,.offset-xl-35{margin-left:35%}[dir=rtl] .flex-offset-xl-35,[dir=rtl] .offset-xl-35{margin-left:auto;margin-right:35%}.flex-offset-xl-40,.offset-xl-40{margin-left:40%}[dir=rtl] .flex-offset-xl-40,[dir=rtl] .offset-xl-40{margin-left:auto;margin-right:40%}.flex-offset-xl-45,.offset-xl-45{margin-left:45%}[dir=rtl] .flex-offset-xl-45,[dir=rtl] .offset-xl-45{margin-left:auto;margin-right:45%}.flex-offset-xl-50,.offset-xl-50{margin-left:50%}[dir=rtl] .flex-offset-xl-50,[dir=rtl] .offset-xl-50{margin-left:auto;margin-right:50%}.flex-offset-xl-55,.offset-xl-55{margin-left:55%}[dir=rtl] .flex-offset-xl-55,[dir=rtl] .offset-xl-55{margin-left:auto;margin-right:55%}.flex-offset-xl-60,.offset-xl-60{margin-left:60%}[dir=rtl] .flex-offset-xl-60,[dir=rtl] .offset-xl-60{margin-left:auto;margin-right:60%}.flex-offset-xl-65,.offset-xl-65{margin-left:65%}[dir=rtl] .flex-offset-xl-65,[dir=rtl] .offset-xl-65{margin-left:auto;margin-right:65%}.flex-offset-xl-70,.offset-xl-70{margin-left:70%}[dir=rtl] .flex-offset-xl-70,[dir=rtl] .offset-xl-70{margin-left:auto;margin-right:70%}.flex-offset-xl-75,.offset-xl-75{margin-left:75%}[dir=rtl] .flex-offset-xl-75,[dir=rtl] .offset-xl-75{margin-left:auto;margin-right:75%}.flex-offset-xl-80,.offset-xl-80{margin-left:80%}[dir=rtl] .flex-offset-xl-80,[dir=rtl] .offset-xl-80{margin-left:auto;margin-right:80%}.flex-offset-xl-85,.offset-xl-85{margin-left:85%}[dir=rtl] .flex-offset-xl-85,[dir=rtl] .offset-xl-85{margin-left:auto;margin-right:85%}.flex-offset-xl-90,.offset-xl-90{margin-left:90%}[dir=rtl] .flex-offset-xl-90,[dir=rtl] .offset-xl-90{margin-left:auto;margin-right:90%}.flex-offset-xl-95,.offset-xl-95{margin-left:95%}[dir=rtl] .flex-offset-xl-95,[dir=rtl] .offset-xl-95{margin-left:auto;margin-right:95%}.flex-offset-xl-33,.offset-xl-33{margin-left:33.33333%}.flex-offset-xl-66,.offset-xl-66{margin-left:66.66667%}[dir=rtl] .flex-offset-xl-66,[dir=rtl] .offset-xl-66{margin-left:auto;margin-right:66.66667%}.layout-align-xl,.layout-align-xl-start-stretch{-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch}.layout-align-xl,.layout-align-xl-start,.layout-align-xl-start-center,.layout-align-xl-start-end,.layout-align-xl-start-start,.layout-align-xl-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-xl-center,.layout-align-xl-center-center,.layout-align-xl-center-end,.layout-align-xl-center-start,.layout-align-xl-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-xl-end,.layout-align-xl-end-center,.layout-align-xl-end-end,.layout-align-xl-end-start,.layout-align-xl-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-xl-space-around,.layout-align-xl-space-around-center,.layout-align-xl-space-around-end,.layout-align-xl-space-around-start,.layout-align-xl-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-xl-space-between,.layout-align-xl-space-between-center,.layout-align-xl-space-between-end,.layout-align-xl-space-between-start,.layout-align-xl-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-xl-center-start,.layout-align-xl-end-start,.layout-align-xl-space-around-start,.layout-align-xl-space-between-start,.layout-align-xl-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-xl-center-center,.layout-align-xl-end-center,.layout-align-xl-space-around-center,.layout-align-xl-space-between-center,.layout-align-xl-start-center{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-xl-center-center>*,.layout-align-xl-end-center>*,.layout-align-xl-space-around-center>*,.layout-align-xl-space-between-center>*,.layout-align-xl-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-xl-center-end,.layout-align-xl-end-end,.layout-align-xl-space-around-end,.layout-align-xl-space-between-end,.layout-align-xl-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-xl-center-stretch,.layout-align-xl-end-stretch,.layout-align-xl-space-around-stretch,.layout-align-xl-space-between-stretch,.layout-align-xl-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-xl{-webkit-flex:1;flex:1}.flex-xl,.flex-xl-grow{-webkit-box-flex:1;box-sizing:border-box}.flex-xl-grow{-webkit-flex:1 1 100%;flex:1 1 100%}.flex-xl-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-xl-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-xl-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-xl-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-xl-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-xl-0,.layout-row>.flex-xl-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:0;max-height:100%;box-sizing:border-box}.layout-row>.flex-xl-0{min-width:0}.layout-column>.flex-xl-0{max-width:100%;max-height:0%}.layout-column>.flex-xl-0,.layout-xl-row>.flex-xl-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-row>.flex-xl-0{max-width:0;max-height:100%;min-width:0}.layout-xl-column>.flex-xl-0{max-width:100%;max-height:0%;min-height:0}.layout-xl-column>.flex-xl-0,.layout-xl-row>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-row>.flex-0{max-width:0;max-height:100%;min-width:0}.layout-xl-column>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-xl-5,.layout-row>.flex-xl-5{max-width:5%;max-height:100%}.flex-xl-5,.layout-column>.flex-xl-5,.layout-row>.flex-xl-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-5{max-width:100%;max-height:5%}.layout-xl-row>.flex-xl-5{max-width:5%;max-height:100%}.layout-xl-column>.flex-xl-5,.layout-xl-row>.flex-xl-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-5{max-width:100%;max-height:5%}.layout-xl-row>.flex-5{max-width:5%;max-height:100%}.layout-xl-column>.flex-5,.layout-xl-row>.flex-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-5{max-width:100%;max-height:5%}.flex-xl-10,.layout-row>.flex-xl-10{max-width:10%;max-height:100%}.flex-xl-10,.layout-column>.flex-xl-10,.layout-row>.flex-xl-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-10{max-width:100%;max-height:10%}.layout-xl-row>.flex-xl-10{max-width:10%;max-height:100%}.layout-xl-column>.flex-xl-10,.layout-xl-row>.flex-xl-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-10{max-width:100%;max-height:10%}.layout-xl-row>.flex-10{max-width:10%;max-height:100%}.layout-xl-column>.flex-10,.layout-xl-row>.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-10{max-width:100%;max-height:10%}.flex-xl-15,.layout-row>.flex-xl-15{max-width:15%;max-height:100%}.flex-xl-15,.layout-column>.flex-xl-15,.layout-row>.flex-xl-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-15{max-width:100%;max-height:15%}.layout-xl-row>.flex-xl-15{max-width:15%;max-height:100%}.layout-xl-column>.flex-xl-15,.layout-xl-row>.flex-xl-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-15{max-width:100%;max-height:15%}.layout-xl-row>.flex-15{max-width:15%;max-height:100%}.layout-xl-column>.flex-15,.layout-xl-row>.flex-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-15{max-width:100%;max-height:15%}.flex-xl-20,.layout-row>.flex-xl-20{max-width:20%;max-height:100%}.flex-xl-20,.layout-column>.flex-xl-20,.layout-row>.flex-xl-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-20{max-width:100%;max-height:20%}.layout-xl-row>.flex-xl-20{max-width:20%;max-height:100%}.layout-xl-column>.flex-xl-20,.layout-xl-row>.flex-xl-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-20{max-width:100%;max-height:20%}.layout-xl-row>.flex-20{max-width:20%;max-height:100%}.layout-xl-column>.flex-20,.layout-xl-row>.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-20{max-width:100%;max-height:20%}.flex-xl-25,.layout-row>.flex-xl-25{max-width:25%;max-height:100%}.flex-xl-25,.layout-column>.flex-xl-25,.layout-row>.flex-xl-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-25{max-width:100%;max-height:25%}.layout-xl-row>.flex-xl-25{max-width:25%;max-height:100%}.layout-xl-column>.flex-xl-25,.layout-xl-row>.flex-xl-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-25{max-width:100%;max-height:25%}.layout-xl-row>.flex-25{max-width:25%;max-height:100%}.layout-xl-column>.flex-25,.layout-xl-row>.flex-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-25{max-width:100%;max-height:25%}.flex-xl-30,.layout-row>.flex-xl-30{max-width:30%;max-height:100%}.flex-xl-30,.layout-column>.flex-xl-30,.layout-row>.flex-xl-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-30{max-width:100%;max-height:30%}.layout-xl-row>.flex-xl-30{max-width:30%;max-height:100%}.layout-xl-column>.flex-xl-30,.layout-xl-row>.flex-xl-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-30{max-width:100%;max-height:30%}.layout-xl-row>.flex-30{max-width:30%;max-height:100%}.layout-xl-column>.flex-30,.layout-xl-row>.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-30{max-width:100%;max-height:30%}.flex-xl-35,.layout-row>.flex-xl-35{max-width:35%;max-height:100%}.flex-xl-35,.layout-column>.flex-xl-35,.layout-row>.flex-xl-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-35{max-width:100%;max-height:35%}.layout-xl-row>.flex-xl-35{max-width:35%;max-height:100%}.layout-xl-column>.flex-xl-35,.layout-xl-row>.flex-xl-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-35{max-width:100%;max-height:35%}.layout-xl-row>.flex-35{max-width:35%;max-height:100%}.layout-xl-column>.flex-35,.layout-xl-row>.flex-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-35{max-width:100%;max-height:35%}.flex-xl-40,.layout-row>.flex-xl-40{max-width:40%;max-height:100%}.flex-xl-40,.layout-column>.flex-xl-40,.layout-row>.flex-xl-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-40{max-width:100%;max-height:40%}.layout-xl-row>.flex-xl-40{max-width:40%;max-height:100%}.layout-xl-column>.flex-xl-40,.layout-xl-row>.flex-xl-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-40{max-width:100%;max-height:40%}.layout-xl-row>.flex-40{max-width:40%;max-height:100%}.layout-xl-column>.flex-40,.layout-xl-row>.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-40{max-width:100%;max-height:40%}.flex-xl-45,.layout-row>.flex-xl-45{max-width:45%;max-height:100%}.flex-xl-45,.layout-column>.flex-xl-45,.layout-row>.flex-xl-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-45{max-width:100%;max-height:45%}.layout-xl-row>.flex-xl-45{max-width:45%;max-height:100%}.layout-xl-column>.flex-xl-45,.layout-xl-row>.flex-xl-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-45{max-width:100%;max-height:45%}.layout-xl-row>.flex-45{max-width:45%;max-height:100%}.layout-xl-column>.flex-45,.layout-xl-row>.flex-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-45{max-width:100%;max-height:45%}.flex-xl-50,.layout-row>.flex-xl-50{max-width:50%;max-height:100%}.flex-xl-50,.layout-column>.flex-xl-50,.layout-row>.flex-xl-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-50{max-width:100%;max-height:50%}.layout-xl-row>.flex-xl-50{max-width:50%;max-height:100%}.layout-xl-column>.flex-xl-50,.layout-xl-row>.flex-xl-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-50{max-width:100%;max-height:50%}.layout-xl-row>.flex-50{max-width:50%;max-height:100%}.layout-xl-column>.flex-50,.layout-xl-row>.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-50{max-width:100%;max-height:50%}.flex-xl-55,.layout-row>.flex-xl-55{max-width:55%;max-height:100%}.flex-xl-55,.layout-column>.flex-xl-55,.layout-row>.flex-xl-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-55{max-width:100%;max-height:55%}.layout-xl-row>.flex-xl-55{max-width:55%;max-height:100%}.layout-xl-column>.flex-xl-55,.layout-xl-row>.flex-xl-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-55{max-width:100%;max-height:55%}.layout-xl-row>.flex-55{max-width:55%;max-height:100%}.layout-xl-column>.flex-55,.layout-xl-row>.flex-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-55{max-width:100%;max-height:55%}.flex-xl-60,.layout-row>.flex-xl-60{max-width:60%;max-height:100%}.flex-xl-60,.layout-column>.flex-xl-60,.layout-row>.flex-xl-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-60{max-width:100%;max-height:60%}.layout-xl-row>.flex-xl-60{max-width:60%;max-height:100%}.layout-xl-column>.flex-xl-60,.layout-xl-row>.flex-xl-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-60{max-width:100%;max-height:60%}.layout-xl-row>.flex-60{max-width:60%;max-height:100%}.layout-xl-column>.flex-60,.layout-xl-row>.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-60{max-width:100%;max-height:60%}.flex-xl-65,.layout-row>.flex-xl-65{max-width:65%;max-height:100%}.flex-xl-65,.layout-column>.flex-xl-65,.layout-row>.flex-xl-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-65{max-width:100%;max-height:65%}.layout-xl-row>.flex-xl-65{max-width:65%;max-height:100%}.layout-xl-column>.flex-xl-65,.layout-xl-row>.flex-xl-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-65{max-width:100%;max-height:65%}.layout-xl-row>.flex-65{max-width:65%;max-height:100%}.layout-xl-column>.flex-65,.layout-xl-row>.flex-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-65{max-width:100%;max-height:65%}.flex-xl-70,.layout-row>.flex-xl-70{max-width:70%;max-height:100%}.flex-xl-70,.layout-column>.flex-xl-70,.layout-row>.flex-xl-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-70{max-width:100%;max-height:70%}.layout-xl-row>.flex-xl-70{max-width:70%;max-height:100%}.layout-xl-column>.flex-xl-70,.layout-xl-row>.flex-xl-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-70{max-width:100%;max-height:70%}.layout-xl-row>.flex-70{max-width:70%;max-height:100%}.layout-xl-column>.flex-70,.layout-xl-row>.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-70{max-width:100%;max-height:70%}.flex-xl-75,.layout-row>.flex-xl-75{max-width:75%;max-height:100%}.flex-xl-75,.layout-column>.flex-xl-75,.layout-row>.flex-xl-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-75{max-width:100%;max-height:75%}.layout-xl-row>.flex-xl-75{max-width:75%;max-height:100%}.layout-xl-column>.flex-xl-75,.layout-xl-row>.flex-xl-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-75{max-width:100%;max-height:75%}.layout-xl-row>.flex-75{max-width:75%;max-height:100%}.layout-xl-column>.flex-75,.layout-xl-row>.flex-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-75{max-width:100%;max-height:75%}.flex-xl-80,.layout-row>.flex-xl-80{max-width:80%;max-height:100%}.flex-xl-80,.layout-column>.flex-xl-80,.layout-row>.flex-xl-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-80{max-width:100%;max-height:80%}.layout-xl-row>.flex-xl-80{max-width:80%;max-height:100%}.layout-xl-column>.flex-xl-80,.layout-xl-row>.flex-xl-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-80{max-width:100%;max-height:80%}.layout-xl-row>.flex-80{max-width:80%;max-height:100%}.layout-xl-column>.flex-80,.layout-xl-row>.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-80{max-width:100%;max-height:80%}.flex-xl-85,.layout-row>.flex-xl-85{max-width:85%;max-height:100%}.flex-xl-85,.layout-column>.flex-xl-85,.layout-row>.flex-xl-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-85{max-width:100%;max-height:85%}.layout-xl-row>.flex-xl-85{max-width:85%;max-height:100%}.layout-xl-column>.flex-xl-85,.layout-xl-row>.flex-xl-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-85{max-width:100%;max-height:85%}.layout-xl-row>.flex-85{max-width:85%;max-height:100%}.layout-xl-column>.flex-85,.layout-xl-row>.flex-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-85{max-width:100%;max-height:85%}.flex-xl-90,.layout-row>.flex-xl-90{max-width:90%;max-height:100%}.flex-xl-90,.layout-column>.flex-xl-90,.layout-row>.flex-xl-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-90{max-width:100%;max-height:90%}.layout-xl-row>.flex-xl-90{max-width:90%;max-height:100%}.layout-xl-column>.flex-xl-90,.layout-xl-row>.flex-xl-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-90{max-width:100%;max-height:90%}.layout-xl-row>.flex-90{max-width:90%;max-height:100%}.layout-xl-column>.flex-90,.layout-xl-row>.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-90{max-width:100%;max-height:90%}.flex-xl-95,.layout-row>.flex-xl-95{max-width:95%;max-height:100%}.flex-xl-95,.layout-column>.flex-xl-95,.layout-row>.flex-xl-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-95{max-width:100%;max-height:95%}.layout-xl-row>.flex-xl-95{max-width:95%;max-height:100%}.layout-xl-column>.flex-xl-95,.layout-xl-row>.flex-xl-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-95{max-width:100%;max-height:95%}.layout-xl-row>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-95{max-height:95%}.flex-xl-100,.layout-xl-column>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.flex-xl-100{max-height:100%}.layout-column>.flex-xl-100,.layout-row>.flex-xl-100,.layout-xl-column>.flex-100,.layout-xl-column>.flex-xl-100,.layout-xl-row>.flex-100,.layout-xl-row>.flex-xl-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-xl-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-xl-33,.layout-row>.flex-xl-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-xl-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-xl-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-height:33.33%}.layout-column>.flex-xl-33,.layout-column>.flex-xl-66{-webkit-box-flex:1;max-width:100%;box-sizing:border-box}.layout-column>.flex-xl-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-height:66.66%}.layout-xl-row>.flex-xl-33{max-width:33.33%}.layout-xl-row>.flex-xl-33,.layout-xl-row>.flex-xl-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-xl-row>.flex-xl-66{max-width:66.66%}.layout-xl-column>.flex-xl-33{max-height:33.33%}.layout-xl-column>.flex-xl-33,.layout-xl-column>.flex-xl-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-66{max-height:66.66%}.layout-xl-row>.flex-33{max-width:33.33%}.layout-xl-row>.flex-33,.layout-xl-row>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-xl-row>.flex-66{max-width:66.66%}.layout-xl-row>.flex{min-width:0}.layout-xl-column>.flex-33{max-height:33.33%}.layout-xl-column>.flex-33,.layout-xl-column>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-xl-column>.flex-66{max-height:66.66%}.layout-xl-column>.flex{min-height:0}.layout-xl,.layout-xl-column,.layout-xl-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-xl-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-xl-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}.hide-gt-lg:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show),.hide-gt-md:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show),.hide-gt-sm:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show),.hide-gt-xs:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show),.hide-xl:not(.show-xl):not(.show-gt-lg):not(.show-gt-md):not(.show-gt-sm):not(.show-gt-xs):not(.show),.hide:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show){display:none}}@media print{.hide-print:not(.show-print):not(.show){display:none!important}} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/assets/doc/Standalone - Documentation APP - PASTIS.pdf b/ui/ui-frontend/projects/pastis/src/assets/doc/Standalone - Documentation APP - PASTIS.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bed212e2b22c5619cc7b1223399a6691d47163a3 GIT binary patch literal 941221 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μ>w6%+qu$lxKey^yS~R`ULG| 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�>H)&<{L4T5inY?6oRpqAYst4h|3d@XY2Wq$ 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�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	|5%atL27t7!tgJ?9VP<haybuED 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Î?)!%!ubuQzgd#v!aSL$TGgRT(1ShZh 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⋘HKn zYNVUWMM^!LWg^>E7^=CslG7eGCr_L--7G5im<xTCzM6(Ak2%-puk!ibHC|t3nwefv zVHS8-me*991)ge;zs^&dX6kyjr`YeQH}k7Jl|?d7uDiikTVq!ER(ea!5?@t=U*<7o z@e`+*Bc(Sz)huvVRF#|A?#dEh$!f&T_mx+g*|nwBvZkVPZ?#zwSx%YHZ_e=+S9nX@ z6{e~YX?&>EtoGIVOFZz(YU<s7k6Bw;>hYU3vL87`X0EryQ(5hqX;ynYre{sDr?k{l zYF1dWW~ryT#P6+=9ppMnJvDA`MRi)b-;0V+gWIg}yGuQ5-2T<3udI3L1S4lyISV{1 zYb)G-bM!)QiQgxiHfD*(UoESdo;GnJCt6q(Dv1S`;dj@2D_5HNWo2lcIo>Sr6?-eq zJa0+4ufkoOYA$lu_`M}ww^``sK31EPF1vJcs0OpTwyLVai{6#_Dr?fr<-S^Tjl03D zML%n#L}j#D<1<VA9(Ro=)hzW^S3%0Drn|D#tnzztwFF5#@ZHsBmB+uvTT_GLiW^v( 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%0D(#7aF`-Ny8e0nnZ)AG+pE&c#;*ap*2kR7q~7u5 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�SBKjzy< zG=8^0Gr#;@UDvJ5g?Fj<R$BC-r@2^C>wH}E8?x)MK4MlDlUwHDjMzLNda9Y^ZXtIj z7M@A&@5miUtD7@7m!n&Acm{*N%m}RIT%z%jw%$`K)(ch39ijQB3sl}3G1X~`oo_=c zft#^U0}px@#xf1COkFI~0L#?HG7YG)E}mhtK>Ja#k19jja)IV)fzE0Vr!N@KZWCvW z=5c73Bl0yx{Lc=`juohO`14LEuK|~$TaG{DM7JDD&9L>Z-#j5u&7jl_BzJ~$2IKq$ zvwM@wXg%^j)%3>YH4WJ#OB~y;T>N=)+A4OndM~f{fI^8w`O>3Ew5)OVSwc4(3e>wN z;auuLq3E56@GlknxWlkgDY>QOW=O7k2lOblN6C${2fvS)JSv<TZ-Kup!UGS%8y_%a z*HDD78-mw5fCnoB$0rEgtS(T`{USyw5Pn<uoqqNkjL#x^a0tCA^l?Jhwk^Z9Wq7$E z;8II%_-nh{h;lm<6BZFAZX;rZLd^W6A9rm-lWoLQQg$S8h){Gi(wSHytn2+mpk7Z| zRmq(wxz28(t9{f$tfE)ItH8H`i-d);>v1CNeXe95G}FTwZ#S^3?e0Vchmv&urZp@R zXdZAo>9W_lvd^7N*=>~l2AQP-tz0Q(w-a1Jw_f*fr2V(ZvA+?hSFyiqJWHV30q0sc zQ_Q%X)U}<udb8gT3RF>c+%-I$(c1({4=7Fiowc;$1%cLNf$mWc_jkwBWz-3@e(mpn z|1P^%fmTz|&22@io5KGjt!qt7pM=sHX>U_+>+<!w-p|ng6ZH4|YD4Vv5~UhKc?~%a zLwU{HY06I4$zb=r3~8BO6vyuDId*5CvY(BzQ%*x>HWJc=(>*0CV>)}iv;>s-GK&K} z@f%MQ2~@*+=VWhazf14jDRbQEFYA|mrFdQUQ{hQlEj;f3Ag54x(%K7;8^AMv%szU# z>~`HNI2T%uv@@*E?b$y*>zx>gRh=YfDIY?2y?y1m+qFzvW=i0+v?$G{uBYw2qO(0q z`W*@5Wu~WPv7f!0aq_)DGq3z&>A|!@{6-;O=u)l8S%Df)a^{xA|6GdyxfDDJp2Qak zWtKpV3+MB|r9#m%F9lD63%!<5?3<w1LjFzAOX1IeUJ8E(^1o#yJm<y)$3A;$(NtQ& zm^Y`E*O9g`O1rsvn)5_?Gtr-Y_g~m|FXc>Z19+5k#rwQ-MfW$lt~vtE;_`iloB_(t z>obAoBT%YyPIVgk5`pTp(A8?z!N0KT-S3@np53KktF&Kh`X=`|!SO1s$|WuxfeyE$ z!wBdjJo?#9;2}J}Knn?Lk+2hO&!BAy5}rju3EsN|IVGG$?Bx`tr2Kcl5UYboYmCLZ zz}c7@4RC`|_X?5?pRV~WP6geqoR&N&HM)07jn;#dnu89j(P559q3j$fYY*^FmazO@ zc&-uL{2iRX6HZk|?#+^`%J8mbX|FJ%E)zTu1TVqnQdcINtR@=%0T^OkYY!B>H)l#| ztY5vcOmE@0W{ZThT=bvK`QB_a>44-I8aBat&tbhNx^Z@@4y4H*XTCsnfZ7kx(i@1W zt_R*G(7Y5p%GvUzjD!~UN1Aer^Q<m)oN?O#&RRq-x3K<REflvqrLOiP&re0BKr>Zd zm-zNOe7=UNH4^#@ziN$VJLX;~`xIAZ$}wuWoU(P9*KY~#jD_-+Ctu{~Xz*_0G>O61 z2~_>ho)##%=2!4MM65oNX#6FKZLIOOL_06x1NVtPOnXM4bBdVL5Z!caqy3w?LP|N^ z#N)Z0gyJNS^A*wWpNNi<63e;QIWq5VI9tXpQgYMNq!oE-M9$*(bj%?8!GBQ7+qKOo z&(x5J+I-g2K|EgCGw8WhqC35R{7UwWKJ@lkf-mzSdlSLU3BY`Tx-JjOj4p<=fk2JR zOt0a^obY(`?P3$_J}k4nyt(9}|K;dE#QB<C<ky0qmA?Cx;C4$W>^{_A#Zzf*w-R4% zMH9id3)HdDi^M;&t2!bU);k)3%aBIT>V1mz?^q}!{oa(mD3sl+vqknw7N=WQXLbtR z*eP_TM^3W$|C+u3NqpK&^qIkaY7V=wA&j~~)cgHeiK!Zv%Q;3T=7P&?ay=YBmSR3$ z<oPkYP`|Ve8vkCP%`Vt{5Sevlccv|NgUm{Sdfa+2MD!?S4`Io4X5S&HMepY11o%;b z2HwEBmeqMMQT?^7#YZIGwyyOeOzgRe2)wTF+qW^6K4gzvjLplyZ^gIFgt7(7OzNHK zKE)2`SK!CNhq14jEjDMxc?iz_NEk`m>*AeqX+;?^ZIpe@X*67oKAun8frewLaR=ui zM}V)vbHpF>ML?1NJNJ(|H!e``XqvKrd5LJbDWgU3>(aynyzEL0aKF<~(-(0<#krQ5 z0i`9B3@ACy^;+gP_BDcgdmnkLYyH9ghv4u$=ya47(0N>ND4mgW19JWhev;F$Zw0Ci zLa_#udxz6j=RRP+DLC@q5sI})DC!+33*o<$vfdk+9a5vymKulqddez1O3p=99;c%< zJRAvQCD%L-Wd-~u{MQJ@>L9p#r-yqdndHtv&L`gKC3@}?t*k7;owFVee{b5jgBC?N zQS49I2vO@w^nVon55rj#&gzsMCUet1Y`-M9cQ)uWm%WC)RKuR={HYhOa=O?QIGfY9 zDOhzXlJ^qhwU(2&Kt3mXgP^R1!ik*A`$7A!qM`F7CxmxG`A*&nIo}Ye^5)1ngiUq` zk3$sgjwg1#i%8XbbGnGLzANNp(s_cjdQPOx(VP%I=$$`<U+tal;<q1xbGmmzcupeW z)}ntPpVQi%64wQm5TiEZ#Bv&EnB9=vMc$a(uiLLPgW731qx^Rw{SA5FA@D{2JwktW zfAVf_t$+3|_@lrf0<|U@s&Y904ZR5ZMCj}2wWb2qI;=F3x^6><S?F+^|4z0cJ1pVc z0Hro3pM80!FogFDDNaE-!PYy(pzt`IC1&&9_z+Kam3tBP04GauyzWXz`#rm{P}E8& ze`eGbGCQvE-V>eOuVEfFj-|#t{97Krw=wiR&>KT<kLURU_yKX<o#YNgw+GR!5S=fE zUP!4zPI^ajB3)R14KTzGT6|hfcna`BEAdDx>E)Ywqp{MbOI@5ByLC86ts}KKbEOvR zQY7@J-pi@Czek}JLx>?0-kCftng~xLB)=*Y^GhuJDz(4r>UH0G%$2j3SJOs-A44lC zJD9RX_~9b-?+Z+^mw$j0_!LoMJK=ZRqG4zBF_Ewm2_`ma$s3$~&=<n_TW@Tm$p%)I zk$8jaJUeh&z8ct0PVe0}-HVVgm9cRV<L6$+^S!dR68l{QY`~hH58h9pj=|(KdyL&v z<7@3b8eiw(<;Pg#B+@uXT+xX5?F(W#3klVMNK>y6GfeexqJoJ~eoKwHa29zuzNmm0 zU^}pYF@LG^C_Y~#9F((GyEeH8iOP=JcWO#g`#r(^n05;-+QOQs<5ks^*v5-+I1^A! zk<j#<oDimgvmaL<gFi*I5GDe73i=i()u3#FVmjYyI38&7jvyd$vVFgOSaYtC*vz_C zq`9{X)Um;pKxt7EdHZSK$UD$Fw4FC!R$Jod{n)21ZP^B8t^Iq!p=>7d-$o3-nby5S zOJ7IxVt=I*ZC?l82>m1Ct70VQ2{ew#9#+*ZudQJhbU1{CyHLvn@NbDWR|vFoi8*H? zryg<X6U4OZkkA{-Yf$zJ#aKs7J0JKfc%~84wt^Cth*8J?dc`+i6sZ1$=KYCjyVHZ! zXjgY{<wA#50?nG_wkNlycYgp2zYK+we`gz%r9|?(;CHdZF8B|YpCPu9J{n8AW|W6z z=S3^L`zQCKZ40zr?L`aBf`<jFg;Li3gtM<x_T6%-Be$&-dlNmX@7I(r^jd+vL+j%> zr5c~<oh+fxHR$skvEMU{%&yqv5bwuV2-NYX^wBKZ@}MOv{wyTSW=51T;~L4X&1ot# z(fv^NBQ`rG_g(NZ(bLH%w?rsT{y9BstQo`x|B~3i;tW}@N9;+lzz5P_)>p#g+z-!J zGVAS;lIt9BMhOnjNJir;MEE0-^IIsNvNQUve*!7zB!f5~<K3D1jx&~1oVI=EpSDTu z{Y0{k_VuW?BR($UAsY+)S?0c(O)WK~*PKa=&l*sYGGg7E7|9XnpD<b?)cA?LTT^xl zRG(1eW%k>;mXJX6GI$nK>TbrvVkloqy*lQXQ`u&Wu0ndP8M$B6k2Rot4dns!Y)4Od zCxpAu^BpwV<?qv_)GbJB0i_#0aEXi-YmKc}YO|faM4~CV<7e_l)og3ajg(UBBf+6O z4bP|Wa8795iUt13%-u~}cF>mH#2B}G9^T3kT%c~<M)qRD<GtTM4dnyoT5aeHp!~(d zsrNec$ETUsLAk;%(UivpnqLca4G$;xM&}isJ6oW6W4T0MHWIobf%8L)neL9nde!`h zbR(;V)Vs*ufY;g}xc7#Lwj8CUr|@Zgz)L9Al~UX~(;iG@e&$)5c6FgIw&Eq8g1!|! zZzH!Zxwm1l+W5~2M6C^E2C4OqcmUpUs42{{j~V&&wY`EjS+9fhepZhV$z1?Gm6ncy z!j4#-LBmJn?Uj`yZ?CMCywiExe-kuPcCYrw#8l!xr*q<6AW%*BN1*Iz*3#aunUA-) zmuszNaB}zp?TRoy$AJIA7Tr40>OVjk45c-c!B9GR@1y<q!s6@dgSW#oY@+Qh`jkQ6 z0slNlX46?bQd8*L#Rr-vWmM}J;C|M9!C&J2>^gYX$-PkPdh~~4gpKMN4&_U~Y3iu@ zR-IDk%*>1{Gp?4uV`0vfzolR<HeWJV%2#I1_skE>ZRU1!r}?S*nS49e{7SwHYbndJ z9Lu%B@^x4Fo~u<){@#Jr(rRV3*8BJ8!~f0S1uE8QxK5+|G`14YHwNn5;Tjujj5j73 zQ;g|GsWHcxZ!9vF8Y_%9jrGQ6W2>>#*khC#2aTh~3FC}1RX}B^s7k4tDqq!Cja73^ zZB=<wJLKQOzN+H>wOP!2k8iwpESw1b1yA{xG<jdgn++Xd38j&HNL%YN@JomX|3+>n z-Y3+SeU-NZRvU<>yR$d#?%r(pyG+I2OC5sZ;oms2*J&%c+D|t${QDH%Ed%d1fu1*l zw{XrG{@Z3fHi1yQcf4~M*OXG_-rHb-x<4bDqAj9vm0qmj7{fNQG&N!5X&YZ+)Hg0Q zS{N;jRz_Q+opGaai_ydAY4kA$7=w(vjeCsyjM2t}#vir)ry4W(*7H2$dEE!E8Lt~F zjkk=o#wKHj?uCzxPmF&V|2B>p-xw#2?~QWZ7nZV>qg<7yg6bmmE0w9_FObyGeN#)- zR`paD`Rh!okGfU$RsGaJb%!cecd2{T2=#y(s~%M2)I;iFRiY-SiRv-+xSFD#QLm_F z>Q%K|tx#{O)oQ)kpx##RsLk&4fqeNVH-Umc!@y;M#(^e*7J*iQYvuctfxdy;0{!K7 zy#9ZTHiWCfDxwlvmpZCIHB!w~OAXto4ysUf)2XM{XQ0-lKn+);v?k-#BwhD(RjTHw z`D&3`O6}`4+^n{$ojPx)+M~+UK|Nzms57Q%2FwgI`lBah)-?0Y`ex(Gr@7h6Y-@I` z@^mqa%wA?cbCBl!;TdY)qv2?CoLOQ%ZceLwW}36~d|be@Sj$_cX*JC^G`7avsIe`2 zUUt+!cbR+5edajb_{L@nJu)UaavIjezC(Pe{XZIR65M>>mfge>fz~lwZVGJ|PGg@y zHHcCj1Ujn(+Agr6EvIlDkk%DB^JPu9S|R6*@VMP5+tsUApt%d!)=r6!vhY;aPMtdt zd<69F0<B?|`22x_8(Rgc`sD5s=tSWe4_s(Hp`nR{wzi@zLLUu8nls(25x5694!Fb` zCT~auS_J~lr@?DFde3E+39gRIjd!i*LQM|~#n@=+*v!~1(0oJa#zx_H+EX?LY=Y$3 zo;2Yx1D2dHM66{J30rfZi-aSRt91~b`M@L4^MNPPss(VIlrp>f+REvlEzsU6(CP|Y zh;CscW|*d7HZ)8_Wt3!0(Z2Qnze4zb<tv0CLuKA$7@4DW8mCi<PI_g}oTh)y)M=JZ zb9GvvX^ZWw%n6y3GoSvMBs|Y#&d!{dxiE7{=JL!{=Ov-7&D@mvzD_$bcauKP+@E>m zXOi$7&pef7WVu=4DoK8iWF@ky>r^MJAgfVUv#gdslZ2;DR)?&@tZrF7b?TcnkW`#C zJZqFrW3$GCPs*B-H9e~|YfjeutVLN%vsP3|^81@v>$5gzZOz*GGigs&88QxL9VMN} zIukJ?fk=j*1dm2ik(yPK{GK1FA8D*pzMq;$T1DFaf+Tz$BV8gzkzSF0=cPfBp^<wc zqa)+aOC^!VBh#v+nUPt)D9w#5h%AmQi@Xt8^OI>~WD99~WEW{~WZy4Jha<-#CnM$m zDP`N)!R*ZJ*e^<X*%xQm%Wg<&lHG#TI=eloQ+8K=cF*pUJs^8<_OR>`*<-RFz93D= zo}B%3_A@`5W@pdKUYNZkdwKRM(%S4z+3#oX_)*%O{rLrHfA*0drQ_MBerbvtQ8yZn zMlMK+X!U5FXu<jEd|O8wMVtMi)H2#8+96sP?H29%lS%UWMh8ZVqr<^RMaTZ4G(I}% zr^XI4rsy<1S{j`bo&Sr{qUh4-is+k_X?=8aWs>}@I_-?^0WXUlj2?}ih@QzYsq4Iy z6UfQnXEZ1Ev#DlIeop<I#y=|GJg3!<Qrn!47o;vZMLE54`sEDD8JcrX&S-v)%PILO zeg0F*c|2!Y&di)y7o@p43vw3cEW04Rk+bGUX=BcoO5a|^7gzd9-^b-_&)HSsgL3xf z?5pZWD#u9Ge)apL(ng1Kj#cV>GN-(%PU1^qw)Q7_JjR0FxQtcIUp=p4F`e>a7t45$ z)zhhAtVzXqj<wJ~bv?1xvG%b}v97W1u|BZ@vB9xnu@SPq#Ky!P7P_=e)`-}I*koBt zVo%4OiOr79i!F>Ti7k(<imi=pioGA(fp6Dsj_r<p9@`%~BK|pcJa#H>#NBu}9uZ$G zK3!}PPsFQ>?~K=pBRAeC-YniS-X`85UKsBd?-}nK9~du=508(Ej}`l3Q*BGJVSIe% z?D(Yk6j{gO)Ajn}+c{nuFNn{H&lefwEs8IVuZX`X>rUl5TeXjTnaHhJQ~b3+^pdqP zzCOM=zBRrxz9(K*(a-SfzLUO>AB-Q3pNOAHn2A6lBM}u^BBj^xd47`hdhL1Xb8lTv z)YR*;ti`ehSFFVmKk4y9+s<EOi@lV{&zdiZ^|4}I^;4pL)=^27Yow%#wXy12S#^!9 zSSS6IXsp*kSqo+D)9YcPd1R<0#;vS#C0<IjO0<=6ndq44k|;{_0`Hd?lo*=0hcT=D zM`CnhT%siLIC;|&Gx<3yF*mUwu~_D9Vp-x1nNPH9O=4qWOJaLsS7I;o!k-6~eo_0< z#J<E~@pFk|(ajZeByloPE`CeOSNg#7=hpf2%J(l7a|;>TZzk>7h-5ICDLPh^hhNXP zWGtDNyf|4e*)Z88*&^9G**@7x^u{OYHYB?yyC?f32T<<ke2}kKa<J#eE9q0J@c24Q zTQBg(6~0^ia7Fr0zV1Kx)8sJ!=LqdT2mO#P@RL=2rTE7RA6dm83NLbmN9TzRl4ElE zB_B>skUmaMPChN|Og@vGot&3km|T)vE_Cr($yLd<$xX@kiC^@%6W-*G<ZfaN9d{%@ zPwpq4&^|4BBzatTDq@1<sg#j&Q(;;EQ;}3cd|j$~s*cD_6{H$Tk~x}cmTH-5lj@Kv zOm!1Koa&kCn;MuZ79T49GBrFkin3!<<16DOiFy1O1zElf$xBU2O-W5pm5N@Kah)F< zWLNRQq>32Ek3B>dGUlY_rxvA_QqC_g{KOmbyS5iLkhZNzy$Ma?#)?!CCss|rAQnWo zikPlyTvw4Ko~uab$8;4j+E2u0sr6p^x!8=@t7`luF_#~A{V2{7U3FP_e4A9vt<>h! zR(|eG?MaoT4l-UP=JDrM>S*dj>P)UFDL0UtksHlT<<`v2&#j-^IJbFjD^lCsj=5cO zi>i+I++Ml;NP}{R%KWPG)$3`wGjnJC)O?fuLGE0>fGyv@makuLshDrM+jDnS;_?;j ziZ5a7By+Fgi`e|k%!^gb!Mwb@i}@mUle`v{^H0w!`3kn^Bj3grpC#YjleMQJNlfW~ z6?=rVnQvlG$eS#_OZ<m?7hBep3VyzjUFF-@G9LZ!W6RgE<=fb&BrcFIV~ZTIpZ|sI z>f(>3|0}<f?SCs<Y%aE|)}dNqwQhVVTfUP$Tzq%6QPsx6Kb|jTPnWM`OAIJq%C7Lu z^2O|mb;<v7_Ey=C$hWg)Pf@L`>esWYXNVoEN2{k~KO$>4-_X`F<U4`V&+-LrnOBux z(Uz}g|M11^5?SBLd%XHInR9}R-h4G%zL~wa`ZCeI;%nK`=M`VfmUj7H%`TTOWs6U! z^tswk*2t_8leMzqo7wVxZ1Hy$-^iA+EB4}h+1+dOk?|~Jp~e93d)Z<~IbuE6f-jL= zCeZCIP`)IgDT~QXKzSR=x8Qex|B2ie3}t`h&J|cLZ%{u<E0+6iLUEfw8AI+E@Rr~$ zJzO}QkWieEP@E8yYEY^P#rn74*1tVma;=3>7Q&x|GwI=!4MPb-2}8LK%5_39FBaUq z*uy2)ej9z>hBA-bc^*z~Uvm3Wdq3*!=izAb2M<CSLGB3JHI`Ci1$WD_Lpl1iLz8wM zj&8M})Piyc_#GZj?r<o>k=X{BZODB9`UB7(g8q<)qt8Y(*@#vfp`3tn0?G*_Ux|b( zk#;35eH}Tk3ni_!;AyQroZLa=4x*NN;PpHl`P-1c4f)&PzaF0Jk^dxhJqdqv=*{7L zhf?oAp9*~{IK5!g3l?Q9%39sQyTeloPbv6n@YVEMCOw!5{VwQtLC3ZxwzVDT4)in7 z&mjLI<X;5ND6$wub`JbG^kxTovjg-E&^Lh30G|QA3w#%N8F(3G8&b9*^3NjwEIfPQ z*#lk|ye>TGZ=t_+KluIdF#c`EzugqPDe@;Fe-d;Xx=q=4Df=$?H{jpEe>wb@!+#_E zH^S2co*vNGLthX61o#u+Y2aztZ~``*;K`x)ZzK0Mp{VZ!SKpCqLANNytT&nU)<3E7 zpB}$RFz+V!ZaDM6^Wa3Xg=F_(^nV!1r;vOK{3h_5z<YxCgnt$MtB|=9nLCkr88R<} ze;EA3;K_m~3miL`*umV7hWo*HK;MBJJc)%TahP$AH{)J_{sQ<W@J-;12g@4|j6;iY z=vGJ1>fmwkI5HXA4rAM)tV3D*dgkDhXqAcmcQMBwgXb}C%s^p;IFr0l0fjl`cykJG zV|(7_De$Mj87H<kPCiEd$LN4(c0AAgHTr)I{ca@FclHX(uE16UvDH9u{E6xLlL7Dy zz}wK*Y4o)_n6?i_CN^=fiS-_Jy$8Mqd<}AXA*UDk?cle=a|oV8&@-TC2p-rYdIp$x z0sLVAf9U?2dVfv5L#THMx*;bGIcZ(MyTIRs_EO5Bl--veIfVRmNM1*&D5awC>_d}% z)KZ(WwV|VljV9J%G(QZzJ@od_AA$Y|^dR&gbY_I*&4@AHTFF{mPOr7`{JiJSfzv2E z4gOofZ$-{B<Sc{E>S?ojx<j$dP<oJc$7J2H@NyPj&Uuu!JPN%9^cL`c3ICVKq?c`a zIqg1davyXPx=CF{)Kvui9_aUYzJhlB9m#+9#w58lJV;%0scSB|%q*LkWioP1MvnVe z<o^}?S@37!VZ}GS6`xhfn(BEu>b;CvwjP*;4VmdSGu{3T_;0`&54JZRkZ&X3>5P3k zL*EL0D|Jn$uIbb@3LQqF+Z1%00#5Ye61`ZX;U5i7^ksR`*JsH54Ep!bzXxaTTg?3c zemH<14zR)oSYe%)(d}jG!d5P}N@KRBd9!r^@)y9*jB}WAE@fTH+Oy%A4gMDRTi`CZ zi#~W23$J3`g(W+Y+X+g4a{Gg`zF4d;P918j10DZh;U8?QYI|0_0{jXrc{7&08G0Y+ zeZV_{cSO#1<ZK7u3%-}KcT)CFaQID+{}OmE0VkfZh-XaJT$44|ejfSHgWmvt1NsxI zIK(Q>-@yL{J`;Q<a_CKy-ZZhKi6yOr)OApBbwqG=1RgwtiDxhwX(l7heu;Wt0%r}f zS%d6r!LLQ;Qe-X#{}B8`@I~N@(5(TwHGuvt^ly>V4LRMwdxQ6ehX~&y!grDHBHtzE zafx}-e$R;dJ@OgV4x`#Ze+T_t;%%3B+dhu`<KV30HtV?c6?J_Doqn<D7iT1LM#4j6 zYZ2Mn$h5r}o|$ej(@p%miJ!MVhyFQq;tG?v!g&RmuOMeWa^{0GvurQ!ng~7-e&S?@ zIN5p)nXiH4uPoM3i}7iB<FkaaC6xUaW&Z^|9eO%8xeA+HMOnPDg*UdCi54@_!d8}N zt9vPXFEa6pj^`CWh5jl0^shz#rV)3gv35IM;qMCn8}PpYKkK-~I&NJJel<9;lSS<0 zzKEVLV#8u=SPYKWHSxMOcDAvz%^b9ugEnK&X6%{R+4Stpe6+p!$o|4)f8i26x<ro_ zby?J96C>GPd_`L<uPw`=F9*km*q#p|-m|@UkKLT<?dI4|+1`GNn93ri@@{Gw$Bk2R zQ|qDy8s7CYH?=w$HyNFObYJTZW3W;Di*IecV{A6I{OIo1e&c{~=tnoW?8;kPH7oCH z-Fm@2t%okSpY>Yh?X1oAB>ORYhCS0>Zog))v)9}E?F06=_6gbT8~b!C_Zf$EohNmD zwhHRnVk%EvtYJOXP&M%$<1nd(YOUJ)Pbbw?byt1V05w<*)0&J?5331kvU*zUFk8)2 z3)K>}T&?n-VWhQclX~BOcBtLzbG2U`QODIO(=c5#Y(_MeFsqw&%mR%yGMkw#%{FF- z%EvGZ&2DB-v#&YOe~QiF<|xfK7Cp6I@aY_C)%ECBzGqp6{2OBV_cyZ~$B<h^Q4MEu z$I29nc>wxkq1&!->Mf<FsAr(}66kCdXg7p%j9aD0kuwZ>9Vun)7u+2V&p==Y<R3xW z@gMG0nUmy;o>o|HSDCY*JmTMtl7Ah=jVj|??pt;I;m(wCs>-dag}{N<G43DM;Rcyd z=6LiU?ps+V5{>}9yIu3G$@IU04wJdlv{2*SxNo(d+fPlvn^>=k1o+PhU1j?>urxG2 z<Gxj6B%Bmzb){@uZb-EdipsW2#SWB;amT72JhOn^k>kz2(T3cTQ|52vuAH8I5k2!R z(X*~Gvrgt*#Y`J)+^J{RR6Voi=~?v>vr6Vv#Y{S29MrQXQ_q_&%$UB+m|@JAih1&? zT8<5hwfrA$x?XtKb?J}pyIy$X)%@YsE9J+ln!tQjUqktm;Em-mRQa%T@<pL8=j68W z8|UP<Uw7#N^L@cJx8Oa=Z415<d?%b^1Xtxq$S3zLN}Yn|&+ycN{v7mX;05Hm;Qs~w zD4Z>j_7R*1$sGm013cpC2IceeIZ&i*BVa%1<-+OTZ#`q0^jm}fzuV^iU%A_+XHKBN z&I%M<@H7fE3$zTh33TwELj7Aeo}L#xeFFmn#r`uqFiJmT<uBBq_lyrrlD{!8e_P&{ zSqhvZe^1_j7HOUfpQV8ny8N4g_5QQjf3^a5>a^!4p0dEfz|qQQdf-ImQz3Wy1<#pu zGd+-=QTasEQ~p!)f+s()BE7!<G)`}>pH^DW^Pcp!=^fL%q!*?4(oa90LFq#^yeGX? z<uf{c-1(2TOEX=%MC<Ul|4j3rnd!6iGf1b5pLph`FGycp`SeO(R`CQn__E(fUvu8G zF@1|JxxMn)mA;o}!B4b$U;5$nW0j9^J)VB@yr(?<WY7+J|7GeY=Fx+B!HYGl=S$a5 zuwk%Cu*FY2t%L1@oq}B%FH?fuX|aBSeS!nhOM-)g!-6A%V}6iRMdHKh(|#CF!3n|1 z!KeM_8UL9r<2yKykvlNBFt|j<LU6f^ncylJAHlWhYl53-?aAQ#!5wI{1L?c9yvZ_B zf}cx%U`23$@Q7G7cwDR>JSCP686h_m4n;zVQ1w8|P@VL>p@P7kP@_<@Kyj#Ls7<It zV0x%f>o+OXEz~pAH#9I*92y=P6&f2FAJV#nri7-4N<(u(^Fxb5OG7I{Z)%MPYAyGK z)-%VZhc<_{hIWSbgyw6BWub#wmdsgN1m`5?iEdHoXkb+6MCeS|3>1U|ntnp_wb65F zb2vj|EyK}pO2eAr{BZqn<8bqEE9UYj?+LdJca+wKyM&9vy~6#%gY;~bXMT8S_@3}+ z#<;F2JWk6ik=Yo2T&HQ_nc-RCx#0!j#esw2Wr3sNH<(>|=7raUH~J%Wdw5HDdw5rP zZ!j~wFHjsloNfl&r_Tx>3!l_he&&DK`yTkHsw@Bd{?1IuytyQk35}Gpl(LAFLZC6S zEK;PDBBd08(nv8PMMT6H5HY4{#7HTnG$JA&ib#P)M5IU&5fM{<mQu@)`m-$M$A_}W zQp-|)l)99q6lQ+se9xUQ8G?<1Y~9_w&pGeR{d?}Y=bn3C-aYT;CZldNC#p$b&*b!u z9Ev8QZKE9`@8;-eXS%xO<V1Tx1GmzJzT$K_y;)<pucDl%Uvyw}NMvhtIK|A1j*gCv zj*m`?Rz&thr{~(y>gdeq>_`xu7hQlHi=)e;tLRz_9X~`mz@ZzWo1@#P*4LwNMBk)q zZ}dP;XTB)zaP(;O1nKI)aDDVt^lW5lpjb}>KgbR8f;K_BpkvS_=pLCLl!R9YeMlc! zBNqq#gF(U2oC?y=d6BKb2-1_&;axcuG~$YaGSb7|ktsoWFd@=4m`o#nTx3j8Np_+( zn9-_#P(wNvgii-`WJjj(xDMt7^^r}%!eB|Tyw$p#e!*&z^%jhE8`fz|u#T=doFdXS zd@|TbmWujAG}xqM3q!pU%!!l+TOw<MhVa5*2Ze8<bOCX&G}uK{ICv}AM?4-3js(Yo zlfmiW9IRkz%w`K13&(=Um{>g67c0Wmp6uK-v30pcu};tz(%|4=WPYqGTQkB-k+L{e z8tWSy5Iz>XWh@uluG*Z#Ifp6rQVJnXq61@tW5ehg6&n*97daH07@I=Z#N1?VGBzz% z#WpG2KUUjnUu+h|&W+8_eJ8dkawfJkwlcORwmzqGY*TD2#cYr5q_TF$_Qdw{h>abJ zy%ReguFpLadpC9_mej7!i5=HkCv;ogL3h^OauT{1L2unp57a~Sa6P)!96eT#4>#y; z(ShNEdXm<$^^x|u#}QMZr|atQWIa>Qj_OuE??wyH$=vZBX|K1@C40R0>I0E+*eBMx zReybgcirj3;bUeOH};A}rd-&!tvk2wAKn!ilhc8BXA>Slx~d7Pspog(%xhgnwsBMV z^o5;dtp-JwwyufPwl2?|*19fp$9B%Z)=TtEvu}Gs#$IjSjor8lJ4#Pr$>F?eb%*eZ z(H)X}hMoY*WZkRyOJrw2?+3n}W9=Or?!@qP(v?H34xlSgLN~=<yTF>({RCs{^PI-% z0@_8&H$c}XpQ5KRSK;{#;ZG$uQ3zJrRvU!azz0!#7~z|f?9s6fW#%GwIJg?hG(GXD z^a|YBlcZ-CcRfN@qb(aicjs_>0YX+wOOtr|L9Vs*yg^TCpf{n$!ORua6=!cBtg8<o zb^`KFN1Cx%htB~IWeQKR$yXpljt!8$3N+U6)=DnZ+9gkTOv|%|yAQFaBpl@=fV*%T z-NTBXlDi|#&%o6fX<hR1#%GFgTrbtgPqZDRzxeyk>a8Su3JpTZgE&^LL9RATdkax} z0n;Q6_Nb{vTV|lH2)E7(l273OUPP;n$XgG&UBg_-6Nj}OxCi&FwOCr6gb$DDaV}>T zWHlKf#psJp$p&!y2KN!u_EylHfWyGu850j%K{ueZr{Uqbhg*Sf`qu(amhV{umw>}M z?mK%aq_<V^cZ>cES)CC5LHH5i9q8X>$h8(69s=&i*oRJf;}MeN^v=N)dn>k09Vh(n zD08yZBCW>r;2HB&=ruke&H)ZF4)@|*A!w018@NCBlwZQJ-mjSxZ&>Oqbl?TxwRqy= zyw?anOq29jwtq_f8{YOTz>^?qhdkRt-)4cs0SK86S<QiLSA*`I?8{P0PC%Loh^<3g z>bU&#e?Z7l$d*gU1s=d5_O<xlM=9id0wFt+Rp=4+(LIL#I)wCL;7=vrChXxWCrhBo z@#G5BRRJB|!+v7mR)NEhC)vAnLh3JE0@}D9t&XrxT7xl0CO`s*xL#|sXd|cbp_A0E z2K)z<rPmP_@32@ljMF*Ddx~TIbzHu+heOC7R^VBiC7Fl3-7#A8INU8qZ0{tz<Cr(+ z%h2u7+*9f-x1FT17V`fRQgT~{CVvh5HfrnwJ?C;BN`4=CS=yB>4Z_bO??L1}3jOC% zP{h(8orf<UVsB0U2{e1+xsdjDq*;gbD+NO)i!m;qMC=nN;RdwmJE-dh`63~g;Glo4 z4M_hI%D)3VhmBog``H`gWgDk)pvm4E*pp(Use;e;bjVizkI@#|j{l#8_M7>FM^<3$ z@FukD4OnlM<O0-w3gLr|^%h;-gZ45Wi!=bTKuy05$;FDlYf}OJWO?3#5{4qpYVa@- zA)SzZm%$b2{R&8I59~<=Y{(|qqUGS9Jqf=G-CNDrs)s)8Qp1UV4I3-}5$cZcTE=Q8 ztY}_x9&F|lY+*2S^@APQj&fFl-V3}7=}&Nt-ZJ1~XlxN?x^hlWI>wssqn7<fKF^@X z7hq<52G&erHpzjdeFnCg?f(JbjcDmQ*!fNvck_^btK>p0<H64{^k83Oz575uT+6GF zWWBTk<%Bt$W`FMYv#?qNxn6(1>VgsdQ{wrjifoH>4z(PCHLJk*>WK2!a=kR7|AJ8& zgRPEZZe_dxdb<nbJ;3O2VSC3S{b|_ndEjI}=I%Q7&nKRlUPN;&&&w>0HW;Bcm+y>$ z{5K=l2{jPwpX*_<`HLRCQSuU`IR!b~jl6Y+f9QZ%6*K4ZnIE<GFF;d2dOIPX60~kl z@|T#c-higPg0}Nl%tkQwPT~xkO(<aj#`0u@^o87Jb7^F?UVyB)e~$vsgDzDgT*JcD zLKCW(R{w$3!fu3ALkH5Hu6gX~8r>fK>Hm1T{x|w>Ag#LfXl3cKbRSRmNp5R?#%U2u zBB&skehH{HFw?;77Q#G&1<k->1Iq|jwGh@4Y%s9dz%~P~oBJCCZxZY!IM56nCOFyx zIAO{-W#FtH-&$pX-wfntLEig-HU#aOfsO=Snt|?FP|`x^L(rdK&?R7~fe{AES_tI? z6W#+R6I8YkW)RdEs53CfK)tyyBv?YQoM3e`u#RA33t$UD1Hldhy9nOOf_=@v!7MoP zKHwO^$!6d*!MSE2OV)XI3n5Gp5X3J599Klp-q4*|2wj`k9hAXPOi<cF=u0qwA#X75 z!!jV9W|X;)As9z6F{7?bm}2hJS^!l9wORRRWx?ELU_QYjf~5p2&3(-!__-9UC)m^s zY$e#<4D8H;-5It!)83|SrLkjqdvv3H$=k1+*pEgX$?Vs(ywfr|l)>{mO?hgxCz-mL z9=~R6<sHAE^Lg(!)oIjoh9IfO=eq<s1X|{o{Dg#~O*BX3x0SghzXL&Mf^G!82znFr zGq#=Dn?I0Xh=zU6A5JiufMmqBm~A@CA%DDvz098^<>u48mrrwCKFx3WTsPI3&vh*@ z@-_10ygX0lFE(@7<_mI0S<9phj?1S!`D+bd+5ME&M~(A|=_f9W=f-@R=klqJ{B0Te zk4oS1?|ho`@@c-yr}-{_uSrvp0oBbw_Po5f8CaDuzh=&{Y1o?q+4HNJFE4AJY@?gb zg&p;UIWS|s%ReA`nNM?i{!v3yALpMk`bzdApXTkjlHYOP+^N2Jo{Zag8yQdBt~k{d zr+VV)v5_7JX}d_aG~V6VxnUQ^NW4Vs7w2!Zf!Sj#dt9aMiy2!eBM|+M_Yoc&^G}oU z7N<EoPUXjGZjRHu94`~TVUws0ahiYQ6HLCpW`DBmc(ZBJJU3^L(=aguE>+iGv!_e5 zAlpu6+RCjNHZs#51}5(&6UQ<j8y%l4eH^cpcE)L45vMgpyiUT|X2oeO5$82Ux#%6I zjq}=q*BG2`iCIsOJ&P|lx@pz~aSD&GllecsQS4lNiz&B3fX8T@))jGDSH#~EI~?b{ z2aWyY`izZ?^SU6tUaGrbM^Tn3gX7|~R*0WAd}Z6=EF0XohDq1aV9FpHTwt3#>HHgw zeJ(L``W$InLD+=#&w!!LKugwwmHNV(E^}R%hUFQMy{1dA(Jp6gc1$;2f1TDB)?Jx% z*#wjK<OP|e$5w&S&jMOQ6%^?UYaTPM3TQo5(8&Oeu>y)Kpz%^bYn_4t1_l!hYpU-B zqYR9Z@l`-;odOzL1+=aynAZGwW7}9jYncLC%M{QUE0}v>ycNvPpcfffD!^l}fYvVs zYs`K9g)vw_<EVhfS;6*<@keyQPQ%Y`u~`LsWbR1=uPF;izY7kTHq)A+;JDZ>wjTxW z%AAr;UqJJJ0nPIXn*S3yqK^r(feD)b6Ers`I>@>p(OJr2`6X!XPxKOd%>AFBH9(@D zfq^1(mR*9@0SQ_IBxntg7%R3rG2W!7IW|FaWP;{>UIQkoFWBY;tpU>WQiA5n1kIKF zJd&XKlAkFOG)E?Au20ZBnOG}wOwe4-&m%l{CpJqNiEYx)iPvRZCCCmWXs%9ByAw2b zC1~DC9F_SUaVKQVfo8sG9!t>tRj7pbLYlt{bEVG<Y5po~Bkd}rd8d$cps<VBghrc7 z{a0w_%0lX^LYh|!`-{CRq<RX6ite(!m@XV)^qF*_ko3Q>T;!;%)M-9zUF9$)dK_rN z;-jh*b_>Hh)%c}izq;{4h3Bd9Ifb8{@h}yyQuxA%52^T#ipQvUi5maV`+%{3So}c6 z1Jw9_iod6LdWydl{5r*>Q+zp%|E745i8l~-u!~ow@x;X5a`C$qUrX__6#q)`tTaBA z;L!L{!rROEPQnvG{3XRxQhX%EJ5u~2jYlNfE?$u0|7biP#phAH9pM2a9**MMXuKNX z&uBau;lpUW7vZ-k9*g3uXuK5RpD3P*;*%)eh{g|5JP_e~C|-x+X(&F1;$0|yg=U{B zc7_{YLiiks|Dbpd8lOS&7KERmcnFGbpm+s}KcMjh6d%B&!0`JMk3aGCGhTk;-zRc_ z42?G*{P>IqpZM;Hcb<6UNxz6bi07S10G<NkXD1$Z9@-*ab;h4g^Z`C};yovRbK)^) zeC6OJXZ+*f87Dq*;tdx@Pl*Sd_`ZqPoAGypr<-`Ui7%UYv5Ehhc&>@hns}>;pPG26 ziEo;Cr5Rr{c$tZRnRu3oPnmd=i65DGkcsb@c#Vm_n0ShbkC=FeiC>ubf{Fi^cz%h` zmw0;_KQHl%k#Q>HLj1PGV@rIs#P>uziQt(fK3U?8W&E%(_KokA_`Jj4%6M9#H;s3d zcs+|(6gUwtD)FBZ&nfYlGTu_+Cj}2F@r@FHDB}qQZ5Qt+@q02JPw;gTFDK*Q1WzU7 z(*$oO<Hsc7;=2SZA^u9nQwcsw#yd&;lHieKe38JR_#cVqk?}bazc%qR5)UKz78$Q1 z@h5^ehxibQ_mJ@$g2#~f3K=gU*bVUvGCo1#mnS|u;sJyaDqcV0?<1Z*;^QOUJ>u6R z9zEjABVIh>zhgXi#PYyfNBne*hmQE>h&<tsBc3?ogCpKI#_vWvZiFj%*@%CQc-Dwd zjd;_DAB}j>7~dK3nt^Q*PZ{GQ16?(KG2#&e>4_JN_`itfi}<{Vw~P3>h=+^uZ4nI- zt0gm$%qg%rDp#%IcYaP%+3I7~N$ZbfD*t4iR<?E4`ipX{lueVQ?b*Hx+pX+em1AqW zwaT>%?1T#JBKsPp?GE-QRi541zE;KUr|hRx!WrazQ5AZX-c<FmpncFoT@&;S2B=R5 zcLWpFjltyLKK1!vTJWH{Ij9M~rM?o>1&^v*g2#ea)X3n~V4JE9b_Ty!GlLVsY2xp1 zm$M%!<+dZ}NYI6#J3$FSpNxBdb00)7lwbrw89_P01cJ!~l>{>gYVfTM<<23fCs;_Z zgkZUW)dcGZHWF+hXdu`@u#4a=Q`bI%g9Jx1?#D8IpCmX<a84<YMCgSx?g2rZph(j5 z-D^+KiJ&V%F+pj@y)VH4g24pC2u7LoV+h6(OeB~>FpZ#!pq5}3!CZp*1d9lk609Ux zgD;FIZxg{*g6#x533e0gk#>3e2@aY2I~n(M`r{%~-1nJ$6Efo8B{)NnB-L>VatQQ= zJIlvU5VXy>cOdATaqmXZ>%yIR_InfbBN#|9<o(^b&zjsxPyFFhKln+fPh`Ppg0bd4 z+Vp(}_~QvCiM;&^g6SFeYJ!>SN6s70o6cV6fOFV63YhMka85aAUFG_2uAAq!aoahQ z+>UM+x4T>7_Hp~WgXkLSj&RG|a(99|*{yVExHWE_JIAdDEOeLP_i}f&yUyJR*y1+0 zJKSAV;#*YOKKGz|1aQnf>7I7adA1k!0x#|rxpiK9uano+EA~pgzTN<Dus6&b<&E*i zc@y1@-V|?|SLM}uv%I<9d~cDr)LZGT@zxV;LY}SOc5kP*+uP&q_YQgQc*nhW0cX6V z?=tu~z6K=xwtx<PXTKY*&wH7xcO%7gZ@-_p2GTXeEA@v{cw2Lg_Qw*8_Q%sTiLMHN zx?fH4GXb;t<X-dD`Z8})<G1T`K=%UO3v^HOHT$8AX@r<B+b4^?CmX+YUyPJJ-0MK! zj9gs_cQd8kg3@X@7U{>hof&(>@nxPWqT}r0m5h7$6W)L{PjlY$pwGXGa%Lj@ZsE%C z))ysD1w9DiLPtU01o|IA-$CWP%^aRT#OGxZw|&tfNq-&E+zM_#i!$#3eFNyb!1+yR z-9+SNx`&fO$frTSjS^ZRb`ZkvLCN5OPfa8`2Kq*%>4w_Jpq3bFxe@eDpe20?(oZ1V z9dvil#r(8LxCA921h^-{uZNVb_wGh5y^)6Lp3WlV+JThQQ1Wun%Rui2Js0#=<{{Y+ z>H8vNK4L$M(j-?M;m-i~MBnvvKM#BZ(vJrZcLBf5n&$0eP4oZ6ng%)tbPv!yK=<<Z zBV-vu_JIC2^Wd)qy$AGp#B%=@hnSyk2<b)knM?R*q;a8Lzh>;8VI2!`IdPvkjE5Go zj`8X7$)`iBS;v?@|0>hTnf_wdvCtp56`?}lGmQP;a`{5@S%^gc8R5{M(6gZXgPzEm z=KYK{P1@)m;q>7=rb9VMc@Et6L^-!3O%Y<DIiXVEKcm(25W5xh8H9I2$Zp_&=aBH< zq0Bz0T}H<q&^FRMf|6f=l=h%T8?}E2^h?OgdeU7m^G`B7#NpupG_=Ts7lVg#&^Lg- z6D2_Z!!hs!41S7*AAbS(+0OcaR$p&g-4i9>jx@I-{dYi@0*8?6M$j0=A!xFX_J+QU zR&Xu76gYw2_Vhi(jt1?bmj4Htd>bJ>5&JXNUf`Y~2Us-!x4^$b$`rzTfafjXIR`6J z8f&V-nnL(GZ=m-D?<YaKpg8z^FfjOHFgUn57!rIb7#4gb7#`dbj0i>sqk^vnql2#n zWx=h%nBcacJh(j=7u*$03hoXngQ-DP@K8`4d^4CCJQ8dTUJH(Yh$Uagn*|Nz666_Z zW1w9I%|I(htBavIU3Wv580cewW^{{I1{SR#Em}cZWhQO8NzY*uGJa1s_eujZGU}`` zzw3zG19Tl$N7V^+ioMq@g{$ca8(kVt*^o0f+F2v4GNQ`WDN4&HZB%BQv@ye~=YCDm zh*eJN=b)cwEdef0Jp=k$;MqJLOzgA3uzjg2(1P0lKZbD0yAJd^l(rW5HwgI+XxKZ1 z_r$rh&iNCduLmB*vFF)F7oYzn=zn3H90y#6kfWUP{6^-@gx?R0xhGkGatc5{1bjVm zZ9%So1^qLGW2Bvb8g;#l@Lw>Uv{3?VhvDH}q&bLOH1^aS<te55S%I~gt_HexT6^vJ z&Ozt6>wEp2<IZt!5Uq^{dE@C>ri!ka{s8AVtxtygWqz60&+Esz`0iCoT8b^B{0BL& zTolS>@HO76YRo^pv6M>Uq@Od=8SQ+{xz)MNsdS#yBlI15yq>5h>wEMReJ}h?9?&!N zgStw8Q`hK+^-TSUuG5d|Z|m9mJ9>`(uKu2$r|b26{kVQYFVs)zrTS^TOh2pF=;!oW z{k&eMf27yzAM1_!CH=DAqF>Ql^{aZDeoZ&%?W(OFpW2<;ttX{^mHL&w8@M9%V(LZx zK<aSnu%40HlG>ubnR+tyr2ZDdYk_B`)~D9%M}X%cO+Cta9I;P>UIzRO%3O!=9|5li z{xQnm40;R7c?EbY@T<VvfVXq`$`UU4t~%3Y>xn2~6=U@YXJo28Rj%(y{XF$^{SDMS z0r)Q9dw{0^-v?X?JRSH!;40vUf$M-D1%3>80q_&R3xS_PT}y#~h>+#L&jPOjehzp8 z@J8U5fnNh|V63j!<5J&CeUEtO){f`aHEF>_^-1+f(~e20Kc@aj{lqx4P4`~ZvZ=t+ zGFth-MQwcuxcU<9t_LU5`uUfT!4JUs65yx6|5D(mk#`wzrfgQBEzf}ei{-Qy_<7(L zG9>ro4EenXyy+6Mw4ISEree;MseNRtT<1&70qI8nRDY)udO8By(~Dx-sdf}Yxt!6! zUqd+~z+t)<PNz;&FEE~nkh?(N13U%zUbN*t(3QYb5i$*UIzncs9F;?oXSxdbA;eY# zKa7w%;75VyA$?l@95Np%7l3{Ocp-38IdjNz;8h5D7W5k6=YZFuoacdG0N#M`jleG= zWE1eq2zd>-0eCxe#s9P89;SO`>h;v?%AwzrQj_S{s?;iy-t}}*FJRP<P#=T0*ht8n zb52c7Rqg3cJwZ}ml3GGiXIz;&o;ptH<0?*4=lUlA-(@tN@f0Iz#+638j2{H9GO}b` z2mC1TV@7g}p8#G6{6pa7MiUvY0e;R%h4Drs3C6DhH!!C5RT^Ds$7jM(dw#?7qiL`0 z58)ZcUmDI)1u9>Cn13GTvL=72Kd1iuzRSs@i}O-1pbgFZA+9BVH2xatR&;S*l3Hed zw%MuQrhW^WN9rZ`PCZ6z6T=Vd3@);_+-@Gzjd45&@cs9x-#2DvoolWgTsP@+ld!u| zceSW({6~EbTVu*^QdTitS!plgC7UnOd6Z-1(8$x?)ZRv#MpL@3)bCQiOSj`vEWTG? zL04Py$D=(vFaMoLooM_`ykwV`I+r@vNS{re#hu2u`ZQfEyZ=oWSq|<;w1>}j97z}1 zUC31#eM!sJ$mb$n-mCpaUhnmXRR!NoolW9sRgzs7TfO%x7gmwlkj|g(r;F0D{$~HB z^(38!b>U{Zvj3XX>8!l!b97~v#TF|{S983)mU^wZ@W#K)vCQeY@3X=h<65d$VHL)m z_3ILS+oasAv5LRu@?C<jX3I3=17)*bzDJs7<Fdx;CDR$1a9NGlnbaACvA+DZKU+oV z3E@_yoUzVr%GKriPUY*n^j#{Tr-Vus)A#FYm7r&X@2Yn6EU-{@)r<6URianwe^Q^L z=YaL<CR+VBsGIe6n!&$DCHCQG4wdVaIb~G(tyFqIrH>{0HmW0_I&P=AY@8ma9C{wP zLxt#>WIWaV4Lw1H^_|2)J~+rH4kpulP0uP6d#}D%Md*p8f>ti~5oh_t+5Lp4>**B! zfPR2@ok1%ho1bQsrynA|TM^$iDo=k)*HXz3>xZcvdcskfpK(-cJxkA`66jfnYN4kc zYWa7mopEaC_Xy9Ub&{>WufI>+*3)Xq)sN}NsGRwFKGpcRew;X2pchaHPv|Eob|Fcp zHA!bNrT>9mLan2xC2Ac#FH!6dNorw8EuW<J9EH%+6P2@$B$z`I{4w#rQEw#9U(}n3 z^Oy8X#QA2unR30XU#9e1^fuz0o~x)9mbFb+U&uNKvTg-g=R(%4AnV+VWbJ3jIz&%` z6R8fCbx2RrcM}IJ@z#)d2oeuN;t@zZq^Ig>6v7e@LE_O2iH9KZFeI)a@dzXyg2V$z zJVZ~Gv#ETRwFg<ZhOAp(Le?S3It*DyNY)D}BwN0IhI~VM6|GG3^fUSyYRhW9no4F_ zhal@PWF65j=og6Ipf^xB%RLIYhamSb<gOw22;?4u+ylrxWaOUyW?3)A`;#oq|EZ68 z5t8J6q?I%1S$ZC|rJmZr&&><?$r(FYI*|qGq`J}^UWzXX_Em$`Ff~ezQRCD^HAPKJ z?{~4k!TyEj3t{DqQ}T7Lft21#omb))I8|BJPSA&dc`azXlkGo%KEl}P$(VTVpj<Ue zHBbv2eUm2ZuZQZdP&;qaw~_s}mG&ZDghI=8Ike^*)F*f9NhIUR`X18Kd-Z*!Q&aU+ z*o6m4P7mpaQ~|a3TVx|1)-%<|sGsZ9H8iqj)3ZO@i%;mqdZoISdgdo2uYgR>R%K@Z z|F*J#!<`J^uwnLWd!D_(UTiP3SJ`Xr4fbYxoBg`|hW)0!*FIn$wvXB;>{IqxN8#+_ zJg1G*>lMak@JtP9LYgGsqe0jG&QH?o4ndJC%*`Gn^Wy&Y9!XI}4p9&T?n9v(DM* zY;hW#9nLQ2EoYx|&^h89b51&^opY}39C5>L;Ktn|x4qlR?dlf0rEXt$fIHY7=8kg5 zxZ~W3?i6>LTjka|bKF_(Tz9^^$X)8Lbl14+DfK3ItGk_k?{s&&d))o*A@?2kxV_hX z*FEDVJ@=A#Q;(P9X)odAdTqT9UT3eH*URhews&@U{k(zR5O26Q+8gVQ_a=E2-gK|p zo9WH==24CX-ePZ=x5_=^t@So|o4sv~^2?TEmORsUuebNQ_lA8cEnn|VZ?ETi2hwu% z4tqzv6W*zG|D@x+v%X^artiM*=lXemn?`wO$=z?~cl5jX-5c*E?p(i*-#=UK{vdy- zKf*8b%l!%dWWTae?w63aKf|x_>+H3SayR#Mc;kJJU+*s@Nt=H0m-x$_5`T5$*u-}l ztjB@zof1_K8Xo7?NQC?!V0cT*mny6RgggeEhmh8w=K|yFBdPBo{4c=xW`n|4J!pN! zA%gK`3w0FuF5qW?@s*SmJcd*9WfXiRMLmp=e*=akvC#_aA;kU%uzZJOH}Dq`@>5`Z zBSFEEs7WXRUsy?^Wa~=^hy79TP){M31uLZB`HfYSm4Y<P7gioYcnY`{A^5U|H3cE? z<5zbh*EdnuG{)x<a_%0)egm;@1CK+=4oav&>{(#6&UzLYUw=`{fd395-v<2(O2AiJ zk{c2JBVc?>My&$=dtmf<3VnTES^<eEaIWq}>`8?G7WiktuY$LJpi!544Iy7a2)@o@ z;fpEi=Lm<atnUN20!Giu_iq$>R-tF@3WWb2_)b`O@M+__G8Q<uK8_Hy)W&yitbYX_ zi*lf=>Q=<wi101I;8s0~aPdC>7{Z?bmT%ZV1MS}-1YcaR*8qPCAwL9$zFGK|i8=&) zJ3`Q>3g1VuI)h#T>7jQl^rrd^@aGYZF9)b?z&8NndmHK>5&K#6-Sx=(WrX9~KQu=& zjv^d$rNTFF)cpt%O*oDcAd{r@+W!LXi&#iQ{R7(dHH7a0M#(lfx4^k2V-4Ttu{`8r zX+tAbH;i?*8&i4y)gAS<x|{y2F45QPQhkH&t^ZNqqHk?79}hM2agHgYJH^KFbs&ZH z!KF)~nyHj8G|5-`KJxKOX7FX@9@Mxpny#u5GUTePDwxaF)a&xi)(hWj<*&8wqF?;Q z)_v+E(Wlipy6;o_<h!jDcaXo`YOeNHCkokT(l=OfF3;+!wphjVtCYevl71|=22ifP zl#;I_)?jta8b+FdZ^Clf>aBFylx`FQ)e)yM%?x5J_Ai0gU9b#lTE=)uUC>zdc7{&E zUZtjj7Tb%_Cw5*v30x2S&%lpMX{l7&&M4S<g|VEHkp-J?)q<9pt36^jq|On3sZpQv zU<<hw_nY2jT;4=yN=&>>Yx0h|KlS@9`WEW1TlLpfdp%drRiA7oZ!z5ybd`Rf+`VXB z+Xh$f50t+PrSERW*mN@*hnUfrgVETknOt#7SwxbOT$%BVS7x-Vlv>uevGkU4mRZJo z*R<ja)U@KF9?q<1v56goUK+~JCV#btmP&E3>APWO9ABAI`9I`ExP}{zyfWpAo|ax# zZ;H0|Cg^wBrEocyQ%Z@EQy+r<SD+j&>2k^`RlaJAt1rQT%P8q`dTPZL>8TZ0q^DL~ zp`OYv=Y#gtiYwMrE1H=%T3W*5X6KFfn>%~nc)$6VQTiG)Z#+PBYqQefHI9Wfj)yf) z1Z$jDSmOj(<HWGWiDQjZfHh7VtZ|C4#<>Rn8*A6N(piC(&U31#exBAlH&A^s-AVtw z?yS4$>-1-I58X@ugYK(u)cy4s{dMA2coi<U(Y;nJAt_yLKHpoK@23q7)KfF*T54ve zk7g@|LR&`|ZGE5xxm!9fO@=1-Qk7~{qkJxh>z39##aNRPTDy+Esx_CuYV>KbBrhJl zBhVYgs_csJeR27tjCJXy#(YRMl%fTFjrDzhQfN9`jxzeg|B1e`yf&?8bfdoTSsou| zO_wj56<0|%E3TSsR%FZwOK48`=+6jC2|mg*0)OL@&y86|Q1lUQ2hTsfs3-n&=AROR zt3CfznDuWd!SpLMhqSbAp1F!?^nSQA7x(9fHFI6Cbwy<DKD;`l{P9;vH?r;Nou;NT z=mKj(xtegrd!=bzV^jz`a(WZ+TjML;LrrTNWybZ@Sr?>x>%*+6EMwf3!&~LUtLwv- z-ioUxy%kqcdR&+M7ZUGD&FU?kW~AbG41H-7thRij3-zZm%I``wbf-Fsbx+jO2Q__; z>KfT-W7D(iSUr~Oq*`svv<_z45N6s|m}#S!X*Fir)|hD%m}v_!(-vW-ZHt-q<CtUH z<E=y&yp{N@DpZP33Ty^^b9c?%A+R&zGxK?uDB~;cbhp}_NidtJdF}#&#RSWUTIH^F zH@KS#wh{HZ`-c0byO-bqQHR~5?g{r4!CCjHr##=w_3{YX5Y^7>=ymbB6O<6u$LsG6 z@`e(OASm<7y$RlAf=Z%hcr{*~H;15}sD<7VZ@IUcU>#8#v+`~68oV6@yNG(r+vgqh zju0I4_PJ-hliq3XoNxPKKk(yTjbG%qC+Ngw`d$5Ezm%XaQ3INm=@0gY`J)KN5H-%9 z=uh#d5mXUXOQ~o1a|z~iK7WzF)L%)khN$)aCV#8HonR+XWBlC&dkFUXyS;<{A^#o! zIKjI_o$-_2>5xm1<0nJf^Fs-52f;2#X^B57)Rv$Fx7LsQMWN0F-TZi{mp3TXJJgS0 zAW=hF{wp**&2?yaXmn_7XnbfAK?PCMsrKs7OoG{{y(Tm-w18kSB)>1TEVPPXt&!)k z&<5WQZ5DZkwuN3NcmpZ@(3_#X1P8bj;&of-Fu_sg+Fctu5jsV1_F{brtFRx=4g2na za9+3#YfrcxK}XgebK+Zf_iVV2yP&Bq;S{)`;Xz&(KK;$B377lr3DCDVEvhm+*((Xp z@N&a7IOVM_Tu-ntyaZ>vt@AqK1h)piHoU{HrBn^!UEY%LTj6~K2U+q>^JVE-)-Rmv zb|ifAVjT>h=JVUa=e%QlhFepO<dfV&Yx&eRoYvOlm*17oZX*}~J$o;WT!hoy21iDT z4&qF=F_DR^gOMqbX_2bPG=FELHZm()2P1PsdkGGtbucoYU{P8JBTETZV#M*UH3aMV zS7cLKKl#))#O);5osN@y9OuW~>c}2~{j3F%LpZ1Holv*PyQIk{`Ajz7&T&~1D*f(K z&a|mu?3OZi<h?(3ohdm>2X7%Qe9zv(DJb%;)9#1#vb&%XvHyZtyaTnKLM-+(*dq`k zZzmrF-5=q2r)kcC!EPDZmm+&t9Gv!G<J=MpJ7?rws@)UZwnrM-6>t)<k_K;DW%rJf zof~+Yudu(x!X5(~JX^x^*Aa_%vi4U|axqGlodDRSBkyW$guB>Z;mEl|vOl35G*0+& zijXpd5J*+t@XFo~2fHTZ^r0jqX=A5{gIx-8>XCgNV&6qxyzRAdZjTFzIiEqe>=L{g z;W+8SkzErw5lG3IGuTsM<Mbg5Z;CB>AB{K5HcoAFvAfAZ$rko9nbVLU8T&S*|0mE9 zgg*@$dz`En5&JS|?9y@M^e61TkT=&h_BC1Z=DHp<PX2KU5sTeNX8#7#xM+og9X@97 z%>xLR^07z7#r_;Q%gF56K#$vUrVw_~*s_mHTK#`PL!)f$x^!Pa3D^%~iH1XBE@a|- z0U^li$vIcpsbWK(?)Q)en&v`R9q5dW{_?Qv$(4OL&`cM5u4Koi_XC9B+#Wg6$edO6 z3&ttPpGM6|3SSSN*D-BQYLfjbKS4_HLnDY&VoxcJDWX%aBYZc)u@i<y6PJK}W%f-7 zxfXO!4tHg@(jlgm>{6>mEclnbOg45dsfR3$kwqzO^rK2ih?Pqz+am<Kvuunb3tAyN zkzDMzaUcilTcDx0HmptR2WE6I&*>czC(}EZQX8y*Qr>}Fa)K7@N$SU3ulgxt8#?Sl zR~_`1jU85w>{5fxu{F}jxnbC+XZClUg&bl=lTW61M%fr;w#WoJ?1}#4{1E>Ugj68c zOOV4$;OEzfosU?w)Ws-}lRy;qiP2c*8YM3{w|gLs=nTu;p*8JHyoHioX^QSwXV;BG zYwte#b1L&cLDN-w&(nifi3^*#FtsnBI%k+Sa#yGR_kQ-t<ZU6{tLRGnO>)P5R%AF! z$8f)nYGy~+gDomIGk5wuZSN15zfFc#QFyd_7WXCCAro(sqUCMpcLn@ZoA`kFv$^Z> zSGntPncTHBzoljo)F{i;UUgO9QeWuDA>f5aYl1l7|6K_;=`=0*&*$alPw%5lTgiv6 zl6|stPpaL)$WNqK&{wT~TZKqZ(vrDW4<~KuqDShHs;e#|o%u9m)dQMS+{mq~s_AM2 z&0g~n;FtS$hDz_+{@dnNG@<GvrU}&_Ax)_HPa5Uv8B2P2-AAH_(>$m9dHqMCpVM5Y z$9>J!?rp3<n%bVL&qI$4n^J3Lmny?W^;OpUA<&`quoRiI#?|5DgX$1-?a>ot5%pdT z*1u~%GJN}LBdrQ+akW)xPlAsE=eFfTSC2qnndfg_C7%EGc4#{A72y%{4ng&QYiaOm zemH3mYe+|yiN!wd@B9~)%9YuD<EVEUW%XZGf3A$ATy<0(wK}ntw_Nj7{6Dg~lvZ7k zl>PtN`x-DQsw?eVRoy+q(7)AH)m0-R8Wxct4?#pkM1qK9LJ$eTfe<8!h$A2(5<(CO zA;e`3A|kRnOISogkdF{#{m6)jhy+myO9&Ez1pNp>76l0+5W4$&&s#M^GYo>!%@cT- zdfszSo%{cH?y2gUd(mze+UnEB)n2t%Ybt9n)-@e>6E3vYr>u8PwB{E^)@ND`Loyp{ zTJ3`7I-52N`?FGO5zI^N!mK>2kyhAd7j)U#j<tPipX{?N@1?b3q`ps0ywGlEw({`= z>(Xk~Rh63k4{Wh7=38t-y`Wa`t-*MNU!&%nLpAXG;KXkun^+I|c6z+pidy|6NALgk zH}g`b>iX&DUF|}A1GJg%fGQDVn_78Z)z2uXo$%*d{rvxI-NN5AXXAdN+OAfeS2Z-y zf7=Rr@V)b<2T#_bA&%5-H8b&it!FqGvD<?&tE*k-&4{htqlNX9xp}_U)c-$3*)ge+ zlAR3<-0fDY&&#^%!9D_Fcg|A_|Ea9Dy8f5wTq^G~)c14L{2IGh_T>6!EOFtOsBY<V zv*gckjI1cI;8&}4=giElYs5<(R@7MR=Xz~?3w>pcU9d*2Kd0+s6x2rebG<&k1-`0a zm6!bk&*d7OKic4#^GX{$bDn8~XU;Qi@XUFq4g4NjiC#I;L$WvOxmKULthEqF-kO@3 zbfI4V?Dd++y?IZ}tPN`Oc~LW+yP3#;dKhragFQ_i`~q?;w7M?L;&Z89;b0wETl1Fe zd>QTM^E|E$zM|ID+<#z=KI{HQ2HJgI@J>j+S^j4%>52AziY;5k^3DP`?i_lDTD#rH z)zm{fXKNAS*Y4F%RN6W8mbZ3q6h0S@KWFPv`-xDVq0Y^k80e4H1wC@^JqezywL%<W zt7~S;xn7@eFw&~6E$tk9vaQ`iCtHsb&iNXhYB!2~buQOQc5G{obf<Ct#Cev?m8YC0 z(=j*;=O1zkoi>ip0{7EU7^a8TRqL+x()wxxw87d?ZKO6v8?Q~$rfAc&nOdbbS6iSh z)|P2iykDiQ)!x)LX<M}&+AeLcc0fC<9oKceSdZ(LUaB|Jo9NB;R(e~#gWg#$(|hQ> z^?uq~eV{%>AFhwm$LbUG$@(KFLE=o;XX&%`dHO<qiT;AVLSL<~(>Lgw^=<l2eYd_( zKd2vJ`KrrUT~0vHp&Tf$5i&}oj7HLMj0VPKyqEF<MpL5&%N>;6Xl=9;=sBZfb=i$B zMmM9UQO>fn+(v&Xw=u}5VA%oTi4n$Vsf#hr@V|;w)jLQT{+>quJ}U!-YTOscXh+`P zhvrJs0i@ieN%wa@`X>M1?E{ANPtD?PF8;|{dJl%-Sz-RkRL1=bzni?jYZUjA(Pxn7 ze{bsdk@jX7p1q@YB+qlJ^8Suc+$TnBN#Aj#+@Hp%q?~&W`R8$IOgZH5UBt7Y{9T~( z+#yEiepkWHH{1tH_xIM~|F9c8W6Iw-Da3Qh{2iE#xs2tv!}Fv|7>0Ys7=C!3&*tv{ z6ym-z!JaXz$n!rl4d$-%6s*vHQnHCWciz$ukoWgMx{AKsl}hJ1Z~hr~{vJ90Ie7kw zSUUF#GPvWB##$TxZascE{|_bH?MCBCaUq^N<nMdr?}}t_uP>dw8S;1H;SN{^_s#Op zDC6!&{>~V(D*O9xj8`Ylq0*^G{1A<5LOcW-PIgUxEm@ZQdh+&K;TqP2n*bV0c23@u z?2_zW6Usk5Q%(vhS9PD(RUK0HKWYuMD}da0tc7-Tbv#QnteF$s?^5H=K{@WCmE#^y z$h#TVxsKdhCsw09>(ZTdo$DD>@_*<8Blw?mAIs?K<g55JWAOjg1*@PVr>U7(QRl+- z&(*5it@f`vgS#ql*Pi0O8HB6eVXlO8gni8uxT{YQ<m}FI4CnkE$atn=j$<Qt^ND$< zHzdy!@Iu@T&OiAO?dYPuUAaSVNJb0BLm7Cd&eP3q3`W7tHKV3G*23GB>_Rq_&;mG0 z_Cg)1MiK+m7>vhBY6@yN6t3Tj3n-U%I~&LuX4PLGNbT4rS<b{9=USG#&1E%8s3Ei5 z=Pbt=n&ruL*_lF*zjLB}vecY8?s=AF+vd2tTXtg5K24RJ<tXFq(@uOly<ZgRNI&%q zAiV52)<3wHebXue`3NN^u0(kTZVym72e$|JG%hPV3)de5Jm*@=b0;?coHYNm$vicN ze{yD)r`_gsQtqgi<H*U5Ab%+-Pm;{tN*yA*8u>fp_`Bo$@C@~?-pA&%##;Dy#d<E- zTc9oDD#n_4hFCf@Lr2EGkxye2)vS|t1(^5`dPn4!<8+!*gI)P~>UMJ-v43>dvAce* z*kAixvCBSJ?5}^W*tgdad(v6Q?)<r8-}Jd+cllhgyEAqJ?m}P{#6Fubssg*fw+((Q zT&?GylXsdv@e~y0Jm{z9e}*_`7tXBFowC=1%p0X-k4QOjS1e9BZ+H$cKadG8yIP0^ zC%d$YT_rm|u189f)gx*;bi{0M@@3%?{zuCaeq*tL-!kv4J|#6jF=#vCxw0r))OlLq zzJ}4bLuYWB@ljHqf}1}WtS`dztX<`wW6b?KbF=_++_5LiojY^f7c)!iIy-@@7<W?4 zGM${i>M^w(&#}yz1^VA#`&ioStAU;uohzrEb!81EtIxiBg@3~7eN4^aDyhRQ`$E!_ z_sKHGWxuU%Ur36jtZOJZ>8<<cPE-2MV!Dkvb8bt@i3+mIrL4AbLgT#g$46x_4t(n} zV%%!nW|SMljQfnSlxyKWa1HO5-V*Ou!8|*$i{4KpZO+<M>e19RrOZ3cdz5YtGsmcU zX*=CX+3C*dUh2kl?{sg~%X-b)tiEM!vHq;?w0qb+)dO}fyN?=U-(}yW#@lz>_o#>L zAKJfA6WuEJ4fUM&y!X6%$y?{Wu2y>6ylt?xbXY#}gw}$4^%<(xU%oA_%6w%|E+2Bz zZ^VjOEtF<oYhSB$C!az2-R<snrFnfk)X*F54VQ3+oJXmQM?#jWC;P(x@BT?ibNhm; z1FjLcKEQ>)d@LW!9nBrhH^?{0?ZG8~t8n$p^~)Z~9?37kH6uSGcL>*JTnBMY%}vdZ z&yO!mJ8$K!nzSX1q+N^)=@+J5T_&deBV709?`7JOr^I_9_d<2rHRW%SZ*fYUdgpr= z-q)0S60T;sW+(Zf+|@37P2yMKstm3quEw~k@2i4qKCYmr>Ee<)o>YzqF7X$4Ykq5W zn=r0i$>5q_a8>(@I|rAfy9n3Z+}uKcX)|eyn$cF>-iQ5*@g$C&w@=sJ)qN>$U42<y z@0xO};F5eK?JM$EoGESAJxE*p<-V@8+5Sj7*BY0UX$P*=xZcF|XI%4wOJqS`X4hud z=6{N7N`6Xi8m{%YFh*pYah&L?Bz+Y$fT9LSQUhE{4R9GXKr77jX{wVw-JYv@x~nnY z@8C=y#+iPvXl=yD+MK>ReYJ|D+oZ1p-#&dk_zvkCz;{e{1pn3aSHX8ePDRM6Gw4mo zPiKBQ^9wV-F!M8z-*nK&k!u*au7)0X)m^KK-QS=DA(UX9ig>T196HM(y6q8Y#ardg zhXGv*-8f8XseY+`pm(P#K!>G7a&Kw`=!2>8pc7IPKt&^J(1>@cusPVQfL<JG4pkv& z$Kl|=Z~jyjnU9)}gU&Q(g3dB$fzC1KfWBq!P%-mQ<^fe7dNhMtU6j5E^x||QP-)j> z`nL2?@IOjV1${a_7xcOGQWZ}>pRNM`MtX;ervIA$1e*9r`nZZ(MOIW5Q4c1p+pKc% z-?qN1>RAJ=A>hAfjR*aS^(Z9MtZCq<TQfkPv`{MRIct$Bu@+lPK$lueL0`0929@?r zS%0yRi*?jGijY|=3ktQPitI1jUsm;~b1l2Q-5!z-b_dXoc1O@oHu}u&Y@^TYE_N5t zGP?})8}>IqZ?$h#y4}<M7Wlq)e`Ru&h}idFmC)^B_AsP8+#U|!`|MGm&tTmswinvZ zsieKgUaq3{ukDp8VZUs@3i%rQb@1!$-z(eRVjot;&UMZWs>tc&pbSoD2W4=&Io&{S zac%*<)%hl9Z|649K29Id?>OH9z1_JTw9;9D6l4`iWG>INQ+DQ-%s|lZWhQ|>ovBnt z=4Y8-s^ZMMnRiwF%tx8OVuV$>FDVnF?N!j%+}A+Yx$8jJyRh)wjqXNO-`(VH0>9ba z47$bL0=m`R3My+=+I`1;M>*~;cbBT??sj)W{=WM@=m+ix%Jh<+sZw5due&PpdU!oR zdwM-VdwIQ7)a&i_R`tAc5B<(HFX7$g-39(`?{4_s<J|+_VcsxEWGzg1E4-E9U-4c6 zm06MW)_ZRt<OXj8LjKnKE%;5|Ch))Weupqyye;7W==~A$?cNSm?ES^t1NnaMBUN1L zm6pP0&^1@qSFM}2LPhun?z63z@8N<j&v)ZHCPiMZeYi&DM^($}3ak3!>Y}<xSaH=L zTq2XOqRT}O9?u<T*jB0)<qzi{=DmcKIMwM6$Pb|2-hitDS82Xf&U&gT1LSn2Tv7(C zlQm(n=FqP&tgeb_IVoCBMVRreRGRbVE3lJpg|3vb-<lTE)g0+<5yzx%F`!!pL!aDb z4uQ70n|kIRq@@LV=3et&gc)Iu0Dqr367u`aQQ#jiM}z+!^3$1Li1~$?pT_)j=BF_~ z*#oBZ@6&@UWid6HP7P&H2Zfnm5odUa`PJi$3Ufx4a7LAIMwM{pgg6Hx9J^ufPVY`t z!jT&G#(HC6(dzn6j4fS1Y;?!ivOeqB`eOe$%2fWN{6{sE<1(OC^49bu3X36#l?cKN zkawZ}D3LJ-`egn|f4xQqvO{t;-&8gIJM#4<C-SY91Y?(}`T6?3up_GTD&)^9-|6}3 zH8rYTUv*M_Ipa=SU#8>pUs%4Ut8YQuo?72Jdi*oCvuck^@r~-q>G*m1^1?89+QD4u zqZDStE6}d;Y?OpF4rx!!)o<G0#GLAd*`(RM?b|S?$`RT?=qlJaFS;)(-Cg0X0RIwZ zlkTo`SHkyY_hrniRqiVAuOQtJ)0Nr&tIsjpO<Ff4=2Ua4st+4y8uZO$=40Teo72HR z4yz|*&M;>{@&s%j-F(t~61-SIy7}+sQ{bOAp9WuPR)YTz^FP4PHfJN&&&;1eB34q! z{7>^g!Ou14f*1V~p~WQn^Gm9j_E8D#qY~OjCDcCkXdjhO2SsTImC*Jnfz>lzg{;S| z$6+_lfbA2qp0J)!^{tuKOz=-yPeMKm)=<d$mGvvg#rBC?N30{@k6Ond|C@CjVX{_E z)wh+cKs8%KPw2J*K4gc%M{KNoc9C5S{wlk5pm&qBk4k7CmC!yap?y?B`>2HWQ3>s% z652;4c7NDJ3F^%>Eua#6oIMUH`*zSLHcDk5wU1(C9J7yu&)Qk=Ia|tx2NOI6D@Uo2 zqdB^&?-&ls=0qHn%_(w<z!y8k;OjZ{z?V4n5kBg~Ac;G1ND@vGe9AGwr=2u-%gKPh z)@cX+I;Xudoa>$I!FO;vfWHCOR@mw2bcE!qu(=H9M(0NGVtE<PO->i^H#;|j@9J~~ z|25}p;LDsc#QM7Pbx6cI3p?L%z5%|wb1V3sPEUmSCM>nE)63}v`L~>Jf$#0~hWs|z zZegd~DTlm|(--`=oqmvi$LSBr0A~Q`cb)G-KG3-X{2&K*x--}r4E`>s0{qL)%LxCf z^D5|T&TF7+owbm^?z{o|mh%?qZ=K(QZgl<|zMCC9YdCK^TS2!u?|{mB7UO!B;(C_i zdX}OMn4k@qpbeOy4Va(}SVS8zK^rhZ8!$l|Fv0aNN*gdm8!$l|FhLtIK^rhZ>#u~? zUkR<h60Vm~+Is$a8Kq@c;=Syx!fY4&u0AcekoUItHlBL^<n09iuJ<nZKYP2ezW&Ag z3&QMyH5c~Y_uf~AchLJQ_(R?y{&u1G&bLkQ%Za?>)KpaL5!fNHIK<Krs{+<Uh1e6& zK;uc@lD9LOoD+~#E|s5#S>D9F2JVB<BZHa7-Owdt%^yIQK#yRSZ!mw0S-#VJ7qgsC zh?wW)>4E7xFw-Zc|1~`YbG<VCv-BLy_C=WM%kU)hdprjn!Sl~Wc;Xp|+5Q7O=S;&h z%`fFC2J?8Wwa40LeSlevxr_PO6WSD-6tn9d%&jf<|Ja{k^tY37jpu_tGKTOB@GIvf zXA}DPa`f%fu=jtSS(RCrc^A6&RrKv!=*>;&#VzQ)ZRopq+@0vP-R=kIqaNs+Ua-i^ zy?$PQZvcAdZdl;My!*WSy$9qy9Lu!DdK=HFGuTR{Y~u#Xf3y3q7g{Q4sp53w^uN?< zEnPWUW6*}G$w}>HnSCy_+o!afp{6QVlkY)isLGm_(^cAxm?d~NiJA!&HdCgl>Y*)d zth^bsRK?7T%}Z6v{F2#NIcVD^$~CVvzoI<zD)Va9(7eWMt1dOKGux{#nH|g<)W4WF zn_boA=GV<`>I$>Fd5ik8+0z`TuJn$0$5jU}R~l9~iheMy3%&KJqukY+fi_mnl@@%P z@~<`RrkUP_*87y!tF2L|TxhMJwc<5(yD8lT<@upK(Or#H*C5@sb!yis7qshVY{R-V z?UW0e_8jQBy0q?;3tIQ@Xi5K<`J@_2%in(kIv8VrNbpO^2+V+yCZ21}(dHNx<9o>@ zYBN-sDCul|Ay{<AUzp~qPW)|2PFrtmUun0nzhbw_Jf4}6c_K5@-S2+n{?+~1{lq=$ z{>{z0IZyL+FYFb0#a@Y5--~$(FYVc0#&f-kyawJS-lg7UUgO}I$K)Gf83F(Hca{H( zERn9sR~8|yLOZA;^6KI2|FTA|Yi>twbGCc7b8e4Pa@uHiL2himTmH#>RlaGy6W?Er zKVAIXj#EQsJ7>4$X644_^z0O*v?gDXUxU;~<o3whxcm}e6hd~AkU2fKJ~tO3SLEjA z_vI_|`?5oGvw~lJC1fQaX$}oS4$f{oHKekTiyu-`S90uS(r&smeR2Ad^rd0}q?@EK zPhXL4o^FwDSu;C&+qcPkGW!|(S^MXik1_`{f6W}qe4II)IiAU8a+$nag}Jc8eaT(v zzU;1YU*YeP@{62?)G-E;11t&Taxo;Aq%Q%zG<_)~jnhrQU!J}k{1xddK%1wbGmv`= z(3a_z{B^7Pot?pVc47aW9ZK^Ie4n+S1^v1GbETtXhn0ph<@rYM6~3XnNJfv+Wc<MI z@ytvW#rWBeC+m;gk5m!Hk^JiPvHP(q!Fc*a)x(%Ns&tI2zadQ4&8o1Qb8{*pV@zon zWnnz$W2E8vzr-uSbAElVzAC|(i>WlmT|$`{dubKJ__HC&co~(%ICND?#v&w_c$X+k zMx;u3jWH_Yoae1*Y4r-`ihMs6qh=JnSb>=`%p7jtDtd~)oarij>a500o~|zAOqQ>; ztm^r~`H=Kdo>|wd@cyMB|E@v)KRsjq26c#{4oUKt;zpk_PydZbY0VpvsWsoD)C*RG z3iF;I=exv0MZcXi-%m=TG1GYT#5XO_|94mtugE>%9&?YodC%}dUZmy=DvSz#A*|Fi zNnP@hUwSZ-U&1JUrRE)s?(Rq58o~EGmjx~Kn7n~N3rVbd`3sSzLP5z~S}(1F6GE%? z-*ow3Bv*66yLY({BK3#d$CX=Zm1fkH%x9YW7*jb>0<%ERRcpDDf_8P$qK$*^2^+9J z)p>os^iD1P<7X`WgYHAMaw}|)+9iDajB#}BfP9^<NA&qBfi>_f{(>)Heiv|W*L=V6 zUf^Hl|K3pjyMwrOr*jIOUWb200bdHNl<#_QRpz()U-+CH>!cJ;ldoUm{04FxWR;O$ zUh?meRtBLq`swoj0D?UD%gF|=8v_{2|1ITbL71&4N=j}`b@}D@*6R5F?>xb;viD-8 zScAJNU|&#*n%{teR2K5rn#!8ionOnJ-#z8~FjQ$Rza^Az@cTx7ofe&vTAo^^RBCl< zy{hM3<+YPv!&NDy%axY;b?VnjPgSL=5bnj)iz<{_ky@d`sh3hOsYq&NYNaYly_|Yk z6{l7qm3l~JHDbM*dKIzOq}CwTYpK@|Yi(++DoOn&^&3?`wJx<zMN_Y*UPr9;L9SOR z-D~Z&hGxIoyBb=)jn@X+{2K2X=>4`{TUF#;>s_njUOSXez8Jjt?=0UdsaH^rPb+18 zmNLpx#tKWBdL#7))||S_8fRIf1!Yb6W%aJ}uH#pYQRqHHwKj&!I)bOEj<CpXHV3Ke zT-|N2`nVn3Z>t&Jk<zqU8hjUtelj`*z#3t6r>hygg8LKDjlO5(3uU@7;1v1E;Ro07 zlHaKq3cryBamUn(KfcbgoJ~2;6t1p1`IrPuDY&0j;LfZCNee5g{4X5awfp}<8`oXV zvv1?tWvJc83(k=?UVNH%SazB`s!k(6Q@rjqycT?wE^FQ~(wU^(_3!8^^1mc~m2?p0 z{c5bhR(^Qx7SM$7`Hv(#=uFx%Gx^^{LjMw+*f5d2A1hADcBSceg)O1EsL*_4YJo18 z|3eHsiNWHkey7p|8sSQ4ghtc|t)USjs;67*UZ!qyuYh(KN$oJ1+F_pPkJRwgaOmv& zQuoR4+VbVFeE6-u?XB?spl?;s=ke_Upy}g#0{3KS@ej|)7s|Bwp);g&>;#`sC&DBm zCx=T!>&)|P%5$c0b(P)E(*)dt`-UgnMB|eoX(gHgErYhJZoe<89qTS*o$Yv19cs5@ zn{%Wc+t*#+M5oi_(Y0>*nc|)3AN_E&TeN4iJla1xC|VI65gi>J7o7-<jy?=b<^7E4 zQ*h@1^MOUtrP1ZU%IF$kX>>iXk@s5=ZfSHo@E))y`eF1?^jJ(qkAXiHivUsKV`lVF z%#Af9-#FIHcY&4&`yt#m@NW}qAL|6ZYpgr{yT*D&KaBN_4Tuen4ULTi`T}Es@#H5# zJ|#Ad{LEM--MPR5gdG5PG5i<Dmc^>TuZpdu|C_N*@Y@>O5!;3Py}(xB0C1T6@z}1o z9xoO?9*<jeOMylRy8~_$_&13+kGBHfHr|2$o#SP(9q}IV-tm6%f$<?g4`4Vjiu_o} zC&VWUA8QkTgtF<tEQIY1cQ*WI$LGZtf?pDUf&NS4E8w>}zK+-cYzDRk_kx`T{D%1M z_`ZUB!2rWRJio!f75R~PE`B5tN|XRez)6H~-vGEQ(Ug1(pf&tkB--)5BhUrtmgvd* z@<ji5E-@%k0fZ7GfYHD>U{GQr@Ni-(`58bL_|Hf@#rrwHd|**xDespjRw9ixiS@)r zU<<H4xEH)vz;8_KVVE@q_^=@Ep~SJI0wRfHi9^XKU?wAg%ln4O#_+2~GoWR%4dm^C zPRXvx?#W(2U!ZGp05CW?6d1|-G0E|8Ck2=SOiRv$yb_q3T##IxTn1DDtAGW`wZNOe zCc0Z8+X3tX_R@cG@&IrcI4<`oJyo1soQkKcR4LF1XadAj&4E@xTe=+}>kO0uJ?L+x zdISA{fxI7r)y_(dN{u~hOh`>mJpxQm%>q9gykJ&p9%KuFCBO^73Sc!X{SClo_^(E| z4aBU}Hpq4YyMcYcLEuO#ch)#f+02kxVkUu*>6i`3Uk1J@<t+kvYx0zzHl226N3#pi zEpU69<z|0iP~i47E8te(zJm9)!;dgWo8y3qf%`Bp6_^2t-&2S;2bfQHk+~G^a$qI! zl)1)SZ*DZV0Nd%lXYPUfA#ey-ZyrmlbR-=G%)oVlhCpLL{F<d(o)y}p+owALUDMsc zcTe}?ec$u|x`TnCkabUwOpi&A2PUPbfS;0{#`~G+O1g7_1&~ciFHSEzD^#UdrPl&) z0-J!U^w#u_pe(z9y}%CSdmza7FmN0=ke*`cR<RWaET9z7twvT8tGU$*XbUv4I#`|Q zmRUWl-ax;=EyTb&WJ7@A<VU63TVsI<z$k07^$6YRfjgQ0Cx@BE``H2JiEAwcmRK)< zUtv~QV}S|43Tw6X2;FsoyPEzdhuOgU*#YK>Yi$O$SucR!Y3;W50SAGd))6Zwt{t*V z>?Gg>ZUL-;r^@UGz-8o{+AZwXc00QxAbc0QTP^gg;mhs*_8_1F7y*>qqbU=Nv-`&? z;Z6h|=KWNW5i{(kYN2NhKgXVLF9O6}3M{u*+G~L2_Ii6G+%5KY`#oTby~q9#?jie_ zqwHh$At&NQ!JCc?G;|unZAQMO(}r$)rxV<+j*E4CC@_HT81hrN?qhv-y2pk(y<$V- z&50f2%9@UKTIV{B_1b~$;0yo;JA#qU7`WrfPjaTvo#xDhTM5i{7C4K6Wloi|3hvtU z80Sr3le5*?0e6?PmpI@Yc8)uHGkT^t6VF(5OW`)kG|4m%AbcyJE&MtFot>&o86aVM zWO`@%0Rw>{0WTO1i~`06`~+Y!@CYy+m=%PZotc+em|2o}0ayX74tT*jU<0rj*aqwb zdH}nDeZavW+>uPq4Y?(5(skShz-2&FAVjoqTL--OwR1ZHUEFTqds1HR_D7h@+!nFE z?jYD!Lt$rC!S1Sp4OT^at#7Q#t?*s?iQR^Nb4NfvTJGI(?nJm^r)_l~hAlNT-U0U2 zE?}?NS+ucQxl?_YeqyJgU!&t7pCR||Q|=u2p`YFP?jm=oyWCv~tO3>o^NEe_mVjSL zcM-82{CmOuQiRz9NPRzq?2voRQ$WOvdZy=k4Z#Z<$Ev($K+AY5uMN;1eu7S3SFgL* z%j+Bc(CZs(><x$>^9IKT05iRz-bimuY=<`{9w$FO-rJiLYvT=w5A>!a7kkrE7Ik_j z=*{tgE*2dtIv)C4bf(M?8UHfAW&C<G-4<RY$}tyZSm17~`<edKr};1PIbMBi$nPv4 z=k|bJ!}kl<2(Ohzkh|7jT@T5aqMN{{$!`yD1ARC5ec>arW7)!@FNtsNPm~-Xok#jC z=|RSA#dL0`q?q9+kw3r`uBT)#CC`yAQkuRq^j}Idew=G2e7FL9_x#hsM<|IHq$vrL zeOr8Un<=@3lHZZnnZi|+yu@^VKuJ5$`*QUt`97(<Q`sJpoqD(Dy08qgL)-TJPsy(& z9YDI6VIuTRQSv+`#pGv_kCIA%ZO<O2d@v=wNe8kee^34)^8dr!TTpU0C66&ySMq+# zw56}dd@rViJ(9bKd?WIgkp6_U9^=j>&;H8&m=g9vj`a;cz;?cyZQ`;WZeu(Dn62kf zvYdQ`ZTKSFc{L^V>H8t&uP}v6$v;Q=5K5X#J7=?$+)O$iG#;7{dR?}s@Zoi&M}$Tu zlMcgpI1u<QqXZ*XFApt|9m#V0g-XBZ<>5aHja)?f1N!DkzfDOm^4}r-F2g@f{_CXU zgl2a#<du|6W0>{KYXx&Dq2zsrX-fJ4<)sWinv#L!$1vnC$PXrclIj1AVXmX(IfmKF z7Wj}Ya6jv~oplV8{uk*~w7?<XH_`<BV0quB&CM?qUg`ykHq`!*+edl}B^@P9?k4gm zzczxB!I2pv&mN`ktr9-_F;Y&1G4`~r`8BeSTtr$UQB+KcDKvM7NFo?}`ZbXu!sqU1 z$Q<cjQpzKLq;FHwhe)9l^zVeaA)V#9N5L0|Ul$rll3ynB?0))=7HyM#nDTj2>&S3Y z%t0*|o<qLB(C`7K@Jq&${%sPGv2=s+8%n;+6fPzmB>RPhOPI@>^i4CDZsHp{!qi?R zeT?B1>GPC)g(=4w>uT@~Sn`kot*DR8$&8p0DwmzsI09#|*JgyjC6e4&(n~0LhxB8H z=|cY7jQcKWoGEa`hIf;;Azewjg|RLt-=5)DvkXs28DusYdI<X57?B?=JayxUoJjOY z5Aq{PGxQxod3U9Syb$z^aeaQA@Y0?kFCw*gBlL;X+OJXgICKAZw7`CmXiX&rJ(QJ^ z(=_7K<)qh>E+&<cSr*#Dwc}dS`z3|kO!7@h?<T#Ia%eW~hoP@YJLjJiKD<F_q#j%T z$CSK8nkW4m<*h+yhVEi{DufR|BUIJ`@Rg)TNTn9P2)$2jHc-|VS(UUOvPS9fY*H!J z4|C57UsRub8AE<T{=Z1uvQ!ON&Y!X*X_ovySe_a5ol5>%@?*)*BfXqu7|Alotb8l{ zXO1En!*7NDNXcQLGRKYL><s4qB<TW{%3+!ssYyDCvA)7|N}0|eN;;8Z92$$Vo#8tx zv`=VWbkuhvUm^WB(BI}#<m-{YL0VGcqJ+0|O-xZ^ZzSKFG{JluvQ#;iYA|c(l5a@< zLDC3AzEAnnl>CTPYLPC^(6^Mm?~*=98X^4=DOa4(dqVU5r1c^flcMBCMpjt;7cw5e zw_(XUu;hJM&SKJUkRnaJS?F!qDN#ndmJY!_F@Em%eh70@yFJuNG;r=P^>Amdq0)xw zV8wreRK6nFUQ|x|<OWK(Mn@i{ybt9)nOX~`CbQ$25G*wPA+cw)XCyqR%#i^h^p3WH zWf%~CMflwR6+SY7zD?<S4}E9R_W}BT6RD*_Et#gQL@8>Chh&cEsmLAdcUhya%g0%l z;~W*sDBs6Yb>$c<qwfLXi{g}&vlbm$qjjYJO?o3!Sj)IYjMY*k#%#)uQ8JS0my>VG z)S6K;N=8>0y=+AC6J?Br{vz{{TKcU#Rwbh}{NJ2MH%O0*?uF$eXM#MNgYBVb!da1r zp6BelpIRj(G}j!yvGB{HZ9<16O=(Hv9cseoBxEQVmc7A0ib(ho`Dx_E+W9CX*6gxK zAL@!}EawfRCd=?XN9iQy%P}eGX#1&)_OmbcM{Xu<M9B{FoyqSfpC+|95<D51xx485 z3#J@q%GXmeNi=PEE$ea{V--=pla!J$=R)`i(oLklXUf+zWm)}~hd3H@!)V2|;M|eD zou3VfCI4*rOQin~bU4RYS!fz#jb^M4Z0+wcOgU*EN?rhcEbLpMv@NA<pgl-$r8PT* zd=rLg&)jJbizNo%e<Qy{%A<b(+CRHo(hP}S-Je||xfn-T&SFx`WwlPiXl42*l#C*M zfYf6;`#FAwQRCe%eCP+#8u~J}hDg3|9Or!TeSgLh_95-d^1Mfi*3e!LQI8prXw&mD z4$I`JM=Q&VZLm|cF{p3<U(Q&t>$H)+P6#igFSV1B9ldgqTWC4R+Sg00IK&#skRP+h z<$EvxchL#P#LxA+Xub4X>CH;nci9!H*uKyHg^JosGso0T?(OdF`cyo(-l0G0-RX_d zpY_IiKhS^eZSy|SU*zwlLjnv3Mg{K4(Bfmy$QR1A_=Gd0Gr53&q#(@nTH$8ZndjM* z=S<=1D!Y%_z`TO{g$3@CT9C9bE8;7HwySQxFRC5uE@R#8Scux~xcVGv$91Qv?}pRl zvH3LeGsUavAN>#Yx7OeBsn}J2Z~X)H57$3l|8P_XilgzU1r$e1qmAe`i8cp{qpff+ zZrf;wXy<4d&?DMA+AlgVIs_OV9Tgo5Oo&d7J_1Y!W&snTvw?ZQLSRYs1;|zatATa& zpB&u)YzDURerI$y+<no5(IY@EdN39Wcpz2+BmpPj8vvI9O@S6b>mXdaSVy2stQ*iS z))Q_y-2T9zSVe3^Y&1|28wX4T9*#}L{S4r#*c@Pf;4X?SjV%XO#@58v$2P{c#J0!Y zix$WBM0><Oj2(&{iyexqz>UPCaT9Rk4P$eF`GLDA-Z-`#SQ&2?I~H#iZyC6ec$;{8 zpi{hSygSe<-Zwq~?qFajFfu-d^6`+5k57tE0Y8nH3Hc<#5AXX`#^=KA3yk5tkGXVv zF`UR3@P2W88C=AR>Ts(lTLr8|{5Rol0=5D>5J%*@Am4@Xd%+(74x<dKa4+z~`+mof z-(G~>i+H$C=#cHDOwvZUL^1dU^oyemdnF#quoq?6o3Ik4K%+#HM02>UfVMz~L}$v& zATLYwNc0BZ4;Yvj0(lR@5AXX8PmF^5|Ec>P@T`t9-}!gW`3h<B<@-awq!A<1NMjn= zh!nBLh=@EfVoYO<h-u7?h%_4!5m|~fr4eal*%&dK%f)QP6eF@2F^w3rEJn;CW+}}@ zo){ySV#>xyQ=}1Dnm_mVzUO>j0;RxxZ1+C<%=6Ct&il^HnVB<l&dmGHIVTOYn2$Gt zikL@vQ@kqRt$e&ap$;LXYXCKZniBRUv?R18bR={p90Rq0PJm7^?gRg9!g<CQ5-xFg z1vHMhZ3!)YlhENe{%Lpa1@<F9$o(_?DG6=<X$hSm4k<r`XDJVg>z{?=IUF|=aXS+l zk-h_TjPfBq;>>eHmQgt<?LzQ#_*_f;dBBvH$MYBXi~S|Yw;WUeS`Au5*uUOi;@{-o z!g!m12ZuXByZq%yQ{aCR@+bX!{riCr`VX=Eu>UAzdx7_Q;cCX4I1h?@9LFa)?rHx~ zgonT@0hLoe%-`?t_rgP*_j*oy4tS7{hy5c6DKC$g&=S84ROr7NUy5)gr~<S$;TZEb zCv?Pb_D_qi0j^DGNfiE+_+>aI;`p9ycS0k=4$v_^cBzrWLe3X_e-0lX@aF*|oqu7B zcLdahGIS&C0ri5;APw;cknaHE4*_2UT}By>;FyTxd$LiSZwPURkPgQQ3cMlaA#aYi zFn$Q<BUwDkFhuF1JhWdjC>7T;17Q|u0Vo^SmiW2g=i-_a0j~g+q5YF_OytIQWtF&= zMTlF3bacECRKz^Wo8p}V9^~Wg{t<+f&g0!Vl4vK!fdZgN;>^U^i8grYUO1EFQ{&t@ zlF-M;b3K}$i2GyW1E58TOL4pmR0vwmxHNGkhZSB}%JOUDtmWek9wEQP&56~Z8st|S zKQpc@u^zNLt}K3L;-1824i9+Y9+F=dr<HlLT}o`HF!2beE3q5LJ&C=EXFvm>p2VTV ziyU6|!XcJl8)uY`1Ii;Gg@O10y{DQSNR3ZVv;%3N475Xf;><u6hv{B8ljPUNN$BI_ z1ujv25k3Io_6uZ#7K3sbmj?1Vtnk88mR}oZEgxT-Up1(P^D7Fh0F`;+R9bZdUL|N9 z<BfqT&{i*;N~><b+YYK@+z@CCG=cVc)Dmb5bbvZR#{z8$Re=+rQ-Qv~S<w0TrGX2e zOYzGCS2(OjSREJ#zMd`-CHR1wU0$3**d7>92n7vjT0&aTk8nmpKEnK93h*pYibvB} zRt3D(<28U9K`ns`2`#}n2_3;q;7k5#!A$=&<l7RQ2U-Z;xJ!sb@`ZtMe~!zGVt+w! z8dFKok8p;6FT%aS6yRB)6pyB{>>Ti*$MbM7C%6QZ2Pyy+gGxZ<pw+=O!S$depgd3k zs2EfNDhIjpO~Ea}ZNVL&oxxqfCxd%~`#}eThk}QLM?uGfCxfSh{lRm=!QgOkBzQF> zLUt%F6bMB)B$^qT9ZC<)4b2Zd5Ly&k8d?@A3@s0phE|3uLTf`CLYr}14O|nd4b_Ks zhxUY;LkB{wF@AgKNT>_(x<fso-q4xQKxim*F?2aJ8dhOnI6fQ-Cx=tRY2l1;R(L@; zJG>ajxxo41qVS4vS$I{rGQ2LlF~+Y7Zw+rpJj^+1Zs$LTXTZ7mmEi{5!_VPfd@jBR zcqrVMkPONSHzgE>_a(G}E+nLdTlkrL>CV03Hh(c_TeuNCJmcb&e}8yi{4&tWgiG-? z2#<hzfQQ0u$g3?OD^4X8iT@9_%c<I3th-N%n2nOPl#j8^F=~+{4dHI%kfvzj%Y>~D zv({)2{B_p<Ab;X><de2auOmw${MoF#kgU7tBVQk3Eeh(Z{^vMrT?}chUCr=|q*YeW zkOo8B6OWUY(yAeCkA9l9Ko7!ymaPvjl7+(6eaS;(&#`n4<8_P|aL#{%|8Lew_R((g zc|%%-=dJzle`{s2?#LFNodUUaQvROC>7#tEcQc3eTBLCTCjHX0tZ{mlHBQg6uIX9U zfIZ6^r)OE?^ek(f=CRf3;qm9$Cr!vawmQ9GoHX7Kvqfnh>pUMGXDcwZfT(vh>TCrr zCu@cHAX(qUvGIFERMYNixml|$o*Mh-sBKgR#|DI_Ll#ew1rwY<$23u5jI2eabRA^| z>9st~p`e`A@c0vCUnAQqO7bG<zQ#z?_4ToD^I6_bzD@s9SvpqFeAf4prN*;6KgGJN zr`-59*-Y=}m`_nm&pLcR+j;LF`;Lg(h$|=F#$~&g{aNg@?U=2`V(c3tYX22uPjG2d zMAYVc|5&4l*@9WaCPu$LsbORNRVCY_E7{^)IpHw&u^-2NIoI?u<0AIU*ngD$ceB4V zrpK#vHF#`mu4G$trE61Wi*x0KoAcf5zma{mCbK2Fa*9p4l5NVBY*VhBv?c?)TET}H zKP;kq23!qc<)nsis$LG|`HJu~z`!qyNh>^kMLueU?`FS}{eKkKTj75uCav(i1K|c% z_)mzK{oS*?lQy#7sbJqPCN-a&iY$-t*<$W#KId@>f50*Myfltt_JaG_=Y0ZWtWlqM zGjnQ~bDS~jY{yP;4sT<8i1YaqbKb=MeazX<nDwzVx=}*j17QDxQw=cwu!!j@$;t*k zb4ZI04u36SobDm6UE?W-udn0AA<b%#Y%$<y#$V=C?abje8RwQKy9_wPJYHVld<=7P zSu;;LJjHk2T(;@ty4S`2Df55IoWEy(2J2cmPlx*wmBh6r0c&xMEeRag$`-RCiGJT3 zC<lvd3a)iBNF{;K8fMof#U+_)T?*3Z_H0s9EKM><xw&>vQEC5%#-l^~DDJ1H2}(}? z7<!5<#lYNqSz2lTnr%<kt*mB<6aVV=sT=6DS$8cTQuQ&-_Cxwtf-En8W}o_S{n$US z&zgMROOrty`0JVfN%&u8zki(WJmrk9j#59r>hej~E$?vg*k{;hJo+3<-%Ir!eTMl# zY9G?Z>u=H6)NSKy;1^Kq0pG*?8SFErk|6$L94DKfAat+(4V47X4!WAZ86&IK2%S+S zSad({omj-X2<QphOHx(L(w&C(jr_{PXSnZ?wd*nB$j3}CKQRf97_$8S6PNIPv}?$O zXr~bHXBp$(GPa&9_+tSoE$}x9vn9QaW)VixECP5fa30xebv4;%^&r`5foTWP;MhwP zlkBR9Pj=M~ww!*8?NEc}8S*`THuFEuX&14d$#GgKf1X{mku}ZaQJ%VhtT{MWH(}Mm z=W5}6EY9a4#_{yOJgS}b2C5zKXBne*mZDl%_fai?Q44DW)xx@uYGEy*S^&SDFrCp_ zLbb4#P-#sb)x!LeYJoV<a6T?SoB61PIY+gCk6KtEs)e<WYGH+_7S=v)nHH)A&h=Bm zR0}Ia{Q>z{oX<my<D(Xnn5~4d<v!(eCao>B2Sdb(nL>#)LH1cEa3@xi2?2i~De(44 z7#zjld#Ary&504ci9hw2{zQ@@W(oJ*e0O$A_V*IqMn26XWvwRLeJ$^ZbL}<j^!mTb zUPIqlE)gR9sqm-7o%{`n_(*$Fng}FqO8S;~H0e;%PsF$R3*Fx#8_l#U9*qkz-MHa( zB&SciC7#NY)BQKkXZnmOIAt=<^jX)%n{&f+-cEUL74Jr6ch8AyIDOuf<Asyq^qgyn z^TJ$VdY;>M(e``I+VRF^ykR?DQ-|x@vEaW+I~Ko6eM?^D9OXCW-!k3g^?6F>$s$=Q zSIc#Bv)m@@<ZgLDcE}U5Uk)pwrm2vcsphCG^?+KU^3`%xt}4|AwMA`L_3BBrPqnJU z>X_<L{p!5BsIF?G<8?&O(iwWb&e6HLP?zXcdad51x9VEGOE>8Q`jGC_-TJgXtB3T6 z9ydM{FexU@%ry(mVzbN?n=(^j)|)C*V|JQG(`*i!4%1~$nm#jNhRqdAS#j13E7eN3 z=2_X+QmepPVXd^*SR1WsYlqcf?XmV-ZPpR%xOK`pV+~rDtWn#x{dTfF+s?EX*o*8u zyT~rJSKI6C&Gt6C&fabBwOj0V`>1`w?zPX^7wpT9aHcsSXQng9$#NcWmN@y&a;My> zbT&9!ob67%^Q5!SX>|@e$DAH#Kqx20nT5ESKmjM>q&u^L(wq#WUJ#Sc6UrWO<~sA8 z2Y`kkU*Kc`jXU$4g_sAEG@azaP&y~uS?uKE%tg)$q20V(9^`bEna*ryk(Zx#;=r5B zymZJ>7S1&XWzTa8z~Rs-c1lo>)y^86ZL7WAu5-$PHrWU5L(X!bwe|)+pR!lkjdl}K zD!arkcb3_>H{0{w@}NcqcD}RFE(2Od=XVy7)UKfPK=F1iof*<ab}^*~%0}u8s&BMZ zKueLjkj_izq`ZNsgl<}raa*}<;LzDh(3U7a&`Pvbg|il@68V;KsmjsL#hh~~<WcE5 zXQNXEv<cU4o3jI`#;J8SJJmqjojS-HfOa~&a8>sL?Qxoso}^8<$}LVC&_U-A+7GRU ztKRM$arOXpIGuDwfDSuHsl9=YI9*P+vlQr<bHYi++*LWpos-UKmi8cRuM-D!3aR^8 zdK!73bY^hc9;eG520DS%9rggH-RYdPuK;yVk)HCTCm}zGIh-qPwokfJdyn1B($jW> z-N@(db<S`<J?osetFbat&N=6hz0t1Xv}f!!bbV1G)Yj?XQuRCMSc-JckX_7W?sLxC z%YYzr1|2HPkaN+w%sF3j&O28eD$9s-6>=)eWoOi<oGzeopMexP`-IPShMj}16nRrg zuQ=n#n@V~WsZTmPV`*z*X{#u$a}}vkQlIkqeDPQ<Dc>}o-#3H$hA-f=eQ^#->WlY< zkQOC{Y#P!o28x3`;w%ITaoV{gb@n0eG?L=lUv*Lh=j#hO0Zu!^mx8sM@<n_z(c8y? zl6|SpTzdp4#W%}0#~uQj?Mru3?6W{=z6@WMeHti}rQH|{Eq0sTVRr%@#vKOZ45-U) z_sy^mP?_yM8fR2yd)VG-@1h#n7wsCm7Ra`*IK%c<sxR(H1NJ6r4cwjj?6urh#wYAm zK%*G_U063$OQK)eg?ttK=o`5}7abdYBM0b$6K~J8=K~Eo#!j;{fCg~)OR;BB-@u(P zU`P1+PQ%rY=c^yE#%;rWBiS0Uu5#Z<v4*UR+^=R@XRY%<sZN@8+Uf^7ihIvqtH&J+ zR->Wu+sUKhl-nnf`*EONw`T#JN4e0mxKzUw!|PYAJjyPhXQ6*keW~yG;@oTGrlqS- za`*bWeG;<eZf|F4m9y289;ZIZeIwbSwx_Ghy`8Tw#y?-*5RHEzgI?vP4WM_dcQ$d( zm)*MxdesHob5_wcqCV%8aH;s7#cAox@!ok0qJ5I?chP?3LyP-n`exHz8YmSxr*og2 zhEk<+pNyb2Mtn2fUS}V&54*k2K7chcr?szepG1AocSeM9^Of<wIWk$M$~17eBw`fD zJ{d3FKfV4J>x}hE^f>xsHtVQ(f8Y27R#f7v7!_Ehk<{2M{W<MDS81$SOrtm^bAt6% zypOVsIC8#o7q1tI-^05yYl!b#N%|Pyqx7vxyOws7A$MT?jPrR~8}Z(;Ri+O9Hwj}^ zl!W-l^^b+Tqm**93(ey~IuB0#Z%FSYjk5XOgr7=FSiP0bVlAQFzG!Q#+U>WPZ-aA~ z;^-G_to%&T1nH;0M7nCZmG~-c^jWSK?G;TMOJjVP)|y=3R{o-gk8;-4v?kLld1cna zd)q5K{$b|BH*e=seSr6j-=)978XBzcttSnxk@a)tFVyZ%;R5Dc%zp%>-DEyNZ9==( z%?CK2PjmdYdigxT@!!umWHTq5IHUzp@9{XPoDZ#W%P9wIJ8OgfsGsLutF->!No`{G z(5^<gO5el$INBwue~9?gCrAg=M7s{vyT-17zmEBzBfgbsYLGwwffK0|bNYzG*S$%n zGyfiLdBnGWF!8U1^&ZBLaL#?4^DwTX&#Z?3j)?}wA7H$a<D3M(i{1sXYbj^oF2<;f zIYsMc`z_uX15`q4H*3qpy`(3g>tc$itz^7*fM1}syF8>x7j=?)vglF2;;Z&M>UHDa zC0zpJ+1&G+G_}TTvPGCrbDIlVg_{c$6PWlb%)`L<j{hG10{s`hg5a1FRzC0_xt#w& zJF=~>^Dh1-y@Olk39jicQU0~0l`*5V=i2@n@6sK$zD)Vhu3l>c?dnB2e@106-AJ{b zuVa%Y{oHe=9c5lWPT#NDD``h?Jz@1C^%MOSkB?rh?>3~X&SU%p_o(S4HNPRPkNKS! z^S8i%p>@BNL>w!h+w-HOlQS(;T5~U_YBBWgPBZNv*VUYM9i>$VS(kG+m!ZTWUGHk< z|BT;f8snJTm{UcXSDniG@740(1ieS{JLc2Q=ywudJxE$i)yVI840|P{n2pr(+Ob|@ zznt^`7^iacf1db;-fVlAIY)`3UZVSqE})$C7s;{&45>at?>y-?FMmq=P7|hk(dY<L zJ;K_ob1YrW`Fw>qXi2oT`3Ci8YYyp+%w}$rVnc6G)o6OVE|>K5>N~v4wUpwkVtz|t zglk$%HC1orI@WL<Yq&1Irh36A{2l!gpO@19A5D9re?@!$^@r$9FWqL*TUnnmN2%wK zoyTsXz9hHO^_AbFelogA<K8klLL+hf6peQwXuOX`6z;SWCul^AV>F^iBXWddk{wS7 z;>!%;iyzQPm$fv~MLmsi$s<vA(zsT|G_H|b8lQzMOC!`K;6K87{+9C`CjA_ZarFlp z<G>$aOz(j$qtT7hKFzp`&Q9Z6zMnV~C#VOC=V(Na|CC1b#BLfpFSpVe#Rq9bqx_Ig zypcxq#M2}lKgBjHLF07%1;P`L(}<pUoLW_6u`Vr(q~e3bnRuE;u_&ie{PKBf2T@OB z87)BkBpS;o&);)e+L3*g#xiRC9j-N7)o66cPPWgK^ZOIOrLio&K$c0wp?mWCd7ple z_vycfu9qt2_=3i@PNe*O4P=?Qqm)|PUdui9_m2AqU3$aDNX$fpieN!0MC8p8(%DI| zHnB4C^Q7sU@@?nO1=jF?PQKuM<#|)!P~azl_P|fwFFgl!&;%|1A}xJ|*83tdfAM)k z@bCDG&)*Ez^B14L8*Jt;KL0#;H2AAvckthXe+Ui*{}_BJI1>DGNQHFBgq+a(LLUn) z4}BuECiJDy<DsvH_JqD4`Z0e6`bhLE_ujXlUku+Jeq%T_JS+T8{sYTr!mHfBu!JkZ ze;ZyC{(Sh0;f>)(=-bTnUHtI=yZ+Z*---y*V#>i+rM2>;JT3d>IXNhY<%qnhsG)37 zoJRqVuIEKSGeNUGeEo5{N95*uG#~VUM~ggK3R*TLEW8CRzmB5ii<Ya@D@Qbp(n?T; z7p|Q`8$8<VQME^uUk#`hR1ew>+5>9#_;juVpw=m2`*n2WI*L=TY}aVnyFBXlsK+D9 zr`KzrrCwdmc%hdUt|847-S4#BKT#^YKSGQ9$47<tzi&B0e2h_=dF&kLck!5?%Q5?T zPTbFF`<Y)jv4H(j_K&iCjqozp=Qv+v{{s89%&&DZ<u8M7KI}i{`W)vmmVS-Tb&NSd zE@waU|AzkfEdOSl-j3;X%QnH*N#?(W^LY!W%H{aE<7_$Q5(b%H<w+@rLe81*0wP<i zc*R{n3Cq=}(>J2UossrPmq>_oM}|cTYti3B<45JZD!o@!iyBdj^}ueiM>LBAqE#Fg zUE-wZ73ajD7#1VqDsDEmjFSNwku&9NnJ(wb`SJm|NG_GjWT9LxOXW&gA=k<ca<i<K zHL_OL%iVI1Y?cRPt8AA?WS8ugJ+fDxkppr_UX+*Rs8U!m$1C~*ZIj#wzmffYvL(jZ zF6-cLl~{YrI@#cHjBG$$ilOCBxl29?&Q?eo5kt!@;OzjX&W(jM#S$w&Ss<~(lX<cL z{yd45w#<=B;Lnlsn1dCbOp$Y#lL_B1Q{b1&)$mu#H8Gqc%i%BNJWCi)jkAXF8s@L& zIIH=*<$T_9na8P?u%E+aTgbj!hRj$wi#dKV#TN}6Kab*z?Hqpz$Is#TIb7z2^n`%y z0{iFLKg)cssW`>{2|5eblXR{*j62wGgP$o{&}x}tvB(9-$k}2cW;^N8afuZR_2mux zKl2TQ>C2GJDP_(aTHo>Wi^q_D#$C-(-#7HvQ>^1y%Hzr0>%J$%(&?Pfb8I)`oMk-q zeT%<gEG@PQx?|mtmDTv&QN@`4TZ%OZ=gecv@iBg$&vJxIQo!+#ar_sUbCRXA+3#ha zzsPMZV7!<8fA!9Sv)eyn&M0&E&SXAK{vF9~9pSrQUY-kijTdVtjoUzCAQZSO5D6p& z(js?8{E=WJ6bVOYFU(tS^wf?$nWInMm-t!hK56MGOHbJAp0DBM;ZKBDgg+TB;Sn!| zjXT7fBeNs-MA9N}@k&P5sM9MM?Z}uN2n51`<iK3|FGt{Gf#Sf&1Iq)S2&@QvGEfqD zC{P;sRG=&pA4!bNh-5^vBkzeUi+nheANfe6Ao5_OF!IqzQRHKh;t0J>_O=_&KWO%W znaAr=Blo-6G`~JOrA{|%?f=g8rThOJVT)`$o#^Y}pNVY8{r?{#bs{aYGx8IW&R+-5 zr!PCx`))$e`)*<ez3(Q{>09@@{B<LJTk%$d)_~T7HVH-V{AqeS_1btwZ@UTYxP|<+ zpq;`(XffUu<6mE&49xQi*)7K`ZKa1RFdN(8;mx3G57&TdJzRes-tFN%pk@yr0JVC! z9dyLQU7&6c_kemaiy}M#8uIuTL6_AiVXa)A_IdFM$AdzkWbZgtr|Aq2XXynxo6%yO z3O|=|zAl2lV)DGY%!^O?tkRXybLn+@BjYO2Rxi$WU8fs7+^C!MJ`cBm+C1C=>h$n2 z&<PKp0`+<LEa<$x!1xmAipL*Ug~qsiGtK20zZ;+N3{VPamUleIWSV&%UTAX65=MEZ z0Ddv!5>pO;_2hZY8ZSQOv)*iqp37`8+ZgXqg?tCvkM-ng@hE&7vno09ccK!0ChHJK zw7V0yf&H(t-Zm?$;nn+fb?mv~pCE0EB;6(W1<Yw-4rzg}QcU?JN-Hz;!;F)7pT;vh zH@2dyNBe732K!&|oRZFi^lY}SlAgkxV=dmFN&92n#~LU}`)Q4w=p{aVbHnk`8dyIw zfz_=33u!&{An9Hq?T7SDo|Lq)O;kerMe-4+m-tjFlRWW8_Wwj2S}mJo(o4cWLu+jH zYvfZwdR6fQbtiJjQFB>}^4Pm*hot=?`PR>AkD2|S`V!+-KKms;doO9Ds5Pt*wHRVQ z$D9J@w2)6N=KBz}2IeL2C7)WucZz2!>C_tb0cs83-P9WPX*#>Lgj&N|Lisyiq1N#I zkm_q*rq-|?;N3y@QQaZ!XZ|@_z0-Mp$NB8{aZ5f#?O>g!c7RWLK1A(cou_ty@3uo4 z<`CbfcCa>3Oz{JG2lAOmtzm^otK!>1?ch63KF)|1@co`z0Ij!=>OvT0=;f#U68_)D zeD8@^@BO``NC^I8$?Qlc)&}#FjwSt4yep|MsZYF{R}(uUt$3RJ7|#*fVX2Y|lRnE& z*e!U%(!SWWQ}X*OzF+-Ulw^S@7PQB4>HlNRJ`>r2{A%%>oO6@>jaY}dT14R5iR%Bd zy53IN+;yKN(&Pq?6a6d5Pk7xY`QJN&p6@CIN`Bo)-d4O+P#P!$lqHl}z%(_E_Q*ZX z7Dg?;3FY2G{#sBzsK~=BVtk(n;HqS!Wmk(T^o9Ls?Mrau;*vC=X>=s%f9L(8AD5(` zR>zF7LdHtUhxIeLUeFmv1Drz(yFPJ+!}GLO6T9FBLHj|&d~^uhYPd6?14v1DNE`vT z4^I?wRiI8r+rd4K(Lrtt*6b7>rj-YtMD@4*R66!5&n6LjLh+qVw~>xTrSZEDof9X( z;rkx$!lZj?C9U_w1%4}}mZfYD6ZOQ`r}#Tjiz%%>LRi$3odEIkSffpLwQsOpt)8^o zJmYmlmfYsec<a#fcSe3BG9pi-|L5_H_ai(C=s!$Cd=x#Z;ijZ+A-@^v+lto+Y69&8 zwcIkkRBf+H<|eY&f-I07JMM__uP@^?+;`{U&bUVGKu<a@2GP^$|87Nc1*lA}l9h6u z+$gK$R-o;kj;4yWG5PTG;aojTKIv;%v(tc7jWP><7F-jj&f*kxu6_qGLhwUybe=MV ze4c2|;<DT-F2i3Sv*luhxyZc;(r8IGieAob2qQ4+lq(bMvP!hWr}Ov_Hqa60Tn6cG zStfSFcT?|1PB@CC-Hf!G;cv&;C|p54q$}vmq7)@8g`b636lRlu%P|-ocNk@60a?Dy zrzie{cN7zToMw04%<yU4d!)+H^qrpr{GL&+SdLLMV}ib)Rz^7}O@ExT<Jn%@Pye8? z`t|$3uUBVTt4UvE%Aom=8lIqU<}4%YyL^%MnIqK`9RD7Ue-fOnWD&G?QF-iDWU&V4 z7tHw+b4Z_3#O3@5mpPesL7R5=zs;r1rPA6FF3)pZp69&s9N=1{qx^AH62y6erS91q zS(-??Brd~0aT)%W$^dB-bN<AfH5_xEcgHXyGqy&4+IyaUIB8DOy`q5c7&KFtk#5{2 z1)iy|7s=a-w;6=_hO7bA-bQ@PN#yRE(4Je!Ukhp$n!^KAc&(uJSGEEF6>vF5z)Dep zIphY6l<M0U4X^erqNiE8hs()MP1aTGkL)j@-5}N$N#E(zYB)M#R2ti(1FU_I6SMev z(m+}go<j-l7Y}m3_$be>{yj1bZdy_r;(lBR>)7i?>bByY0G$H$fzAqz)d*2kZmx@O z(KpSkOE;k_w~)UUG%jp}M3TNX7UkO*`?miTb$m1C^efRX_F#T<hIc?Mz&(E*?#(Uo zguI}psX1ziDpy<7lj^YQS66jJ&)0=|t*+GvbhjQdK9gn^3uRWBO0&*vWLIUjn(d~J zaf8_ismocxt`59L)5Lh6SpjJor_N?q=cOmS-DE>b$Eh*r=1i#4q<T^nbFP$7gHi5z z^+42_T#_=%(gSW<-4%6iT1E}J%S+oFbtc|~OcCSDx*1Z`R@X!wa?Xd8&<b4x=?YV( zE20jy%QBUW+jRw`MP{*H7ImC+KBE<S8KjF%uAUon^?Em?gf{EBkS;LUIuLaxUbiDJ zLa90cX@<#CBT=X4Qfx+x)Ci<$CPST$I?g$ZQL{P?X|leo4yi*Xm3%#uV-vC!X2d3> zd(|$r%OsPpY13RhAvLIW38l{%r8cQe#z($7hjLvcq-zvu8+-MDDp4iKAHF)OFX|pX zu23bER&Q20h>^o?ldjgg8SPLxkap`*H4E`)u`AIl5u4B&H4D;qeMA}E<z4<9^viBW z1<KH0tMnduUboBh<d93DKEP<6JWu~2)6Mc&)TvB04^l!iB<>H?I+!ncPVZ3#h)wtk z*~N4%<{&Yrwjpgj<37xel-`WlQp}+~HHc5BURJU+f6}QuHA7c3#vBdO3Z9jDPG!m~ z`T@q6qd~feXJwvKe%Ys&GR7PY()lzii#i>Lei30b6TX@<7lV_hWFz>5(r9+Zv#^+x zZL&%|$;d~uGoFRToEns6Y765bnw{}1Y|;(jzHyXMH(Lm9V+}OXdb`gZy@Gb&m`CaT zcyq>lKl-e(-bk}(v<bcG-o#()?BM+*2|Ra;V@*}*#7F3zFxC>S6B8VtzE#;t-;&hN zuof_hb6ba5nzS~X*|=-Im*2_?sYf^_ebKo>9c1Y?Nav7_2GSq1^kXc&!so@z(f$H! zwzl)St&_iRT0`ZupVAxQx3caqgt;S0<5)`X<0jE;%ejMAa?ZP`#hg1xzX+TFe-^zx zZy#pMS4dUxn|U?Nzn9aJHu3lL4kF6-WzMshEOGpX-1m96PciAew7bLVQF;RsEk<v^ zck;V&v-z2Rlw%H4TKxywdt-jdE665l0a>e>X`dT?A=_-GvLT;GX+N762Q@YS$ozY( ztMEU>n$&xEXW)luhG0$Sy?Ldi|1+b!icO_+flqJajZz%*3*JBZ0h&Lk4wmMz-t;o> zg9_13D%73$nY<%wnA*Y0qf*I`R@|yTBtGSjw*CUQ5`B|+kW=lZzGUqt4W&`6*$olj zv-V`ko!6{=e<CujnaR@H_r;`pa2+t4bymG@q;4x-C1@RJBdAJfXDd@wZmx?jo$WWF zx?9L!3u+J+LW^<Z6h77#&c0XF?|!U+YebVcjC<8387I?Zj$Dp;$`08qJ7vGTto$ln zEyh!2gQ`>eRhK%8xk^Z9>ZQ6&Z^GTYMIXnLf80dyEY344@pRv1TFnVFXelejns4P> ztF3CQ(K=-HU>>KeGu8m@--o+wjdI8il0j?O8nI5pU9|;=>>#;dU9vhncO`~8AfdeW zc<y2hVZ~teTj#88o*RszZIGO@`m9RNorobkL98yT+bZ;2YYd@BTKlbo)<VziilK#& zG+Iqos^|8_5N1$Ty;Wn`p4%NmHYD4u9p-}TtesJ0sCBB$km+%qwK0lJ4<r@VT64&C z)`loDm_b<O)@scA*jXh}WEvqUGP_N+skT;t$_Tj*l4WL#S#4HZg`lN`TnEW4a|v^< zd}|IUlaT8mNjAM^zL{^Of<lB`2T7dqn-q)QrAx6Q<hu?Mqc0m}P2*|A_~d*N^PbD5 zRS)70H3)xzeAhuTXm;rnW>}wqf1G^RLDGlWUaRLW#t_zNrpt8eU9K~;qex>0We(}8 zs56HrF(msi=kc6rn#7RQ>%6ElHIo=Kfh@B{XSvR7iy}=kh{&YFj5UUZQsa}(JTQqN z>0w*vfEqA4>LP`%qxmN0dRgkYI&KzVo_Rd#kmjs9uUb5JA%<EY8A2ZQp1T}FSY6}( zJ;L)xa{V#1$;++Ga~EQ$43Yulx72eNV`wQP{aCqVdhT=#WkPaHolqgqor)pMpwto7 zC9k?pwMUV>igqi+%<rr`tC!2O>M$YKL9#@ikzKM&=gBVBM96iJq^f0dzud3W<bG8{ z$aRneFbA!Zbvh#J)EYvrLkU*N3b{cWxj}AF>&SN<B&D)ImZ*!e1padJUB@-`%f;%P zTns;leAhv8LSB~X>Xb}}pGLmxAek?ZOTXvxV#p84EHx)Ohm=)QW|Rso)E{*!c@jfn zi_WN1ViF4_FNx-;!>l`o@$}pw&xjqalLJu%r^LERCl5|J`m3zGQ)iL#=QMLvKcXE; z>LghrJ&nbW<okhJBz@KWts41gAMaX9);KR#0BezUiAn+PpqYsN3Q5JM<@XS$fOfB& zyP5M#-qAm*>5BuuCyxBOqHho^Vyk4BI98qh4b8|n|L@YA&aB|HFLT=O@@(#9*@;q( zQ)%@=?_6I3=RXb2iFWauF{hconaZH=q&ca2k?U1RJFl^>9OP6bD8ogX8EGHS(Y{CX zGW9Q{4Mb__?;t;R{}n-VC^gP$9g^xq>$8mMd+TTQ3&6!(_X_^v#yjY{RA{jS!2fJM zM{{lKy|lZZ=76a6JAm(^x1;of)Sf1fTk<5eq&mcBY3A}2a@i_4=Qr_r-^L|5O?$@m z!>qOZ1OG+fVJZp#+uIfkXv_%fl{<2Hrk2k$wE~){@z)K6C=vo~_Ii=Nt$4|xR8Sfy z1J9l;CV5>vV=cG|W#2;nTF_!)A+#9hPT}W+UfGVb#1c^|Hj16%0M>Hn#HgGh=gM4J zE;q{tc~Ev^-7QqInx~ejRcedct=iN{HKdK6sTb%1T=}i~N!%GbbSK;~JV{UKKE|E; ztfuvP4{Kj~^%>0Lh8X`}_O1rNs%iVLea@Lar@EbU?!D*ksq{IIUWF-4NusGok|ZfY zFX>D2@j~)dB)wje5RxQG(u<cABT49mgj9O@3Q6L5z4RxkIsdhP``kNsX70?LQPazN z?&+-7?6ddUYp=cb+H3D~_TD@7T#Wg-Ihn8R=6B|9bFacJvZ|PDNtn(^zSf$%%sos+ z;oHn_&5`_Mt9d@I9el3>wv%&E=Wu^ycEt5L-?swW&NS6r#CkIu*Ji%A08`YmF~gCG z>l4050aH9?@{^6mE_In7@x1`pBJ+7;m*S0kRldx%eCGjs##~}-QnMPya&?(2_-+nt zl{v#$&QBH@bJS(d<vRpyfqAPjho8(;V@G46Ifvm7z~-9<w;;ouW?ZQ*rf?<q6bhSd zb~mo%CzFld>N4-;I|OXHS<mRrPsSVV)n!g%I1kuVQyT5n?1ec_&A*rv8GZz8im@GY zF*h<N)r@N9l?+D$yOw+HYW$?DIYN9VzB5OP?~HlCMjMO8cl_iubC6gs)^o4A-k1!m zzcF2?Z)NjEzS)!S#v-5lLG@Q3V~oh>G<jl{*_H2VVixy<vl#1O3=*^Oo$`3|c)r_< z@!SvcU(8`QF`m;LDTbS^_--SHb3Zto;YuS%3|D<L_o{qxAKg<d2iAgn#-7Sk61nO! z8!(&$tf>(Zx%?y~8YHfX3YrnIPc+~shWeaGU(BC^wM|#3xhSF?@k{hp(5xa>^Zy3x z!n^THv{%qr&DQi?ezJy^#4piUL1P_{Ntf`G*OF#qW&zGM7GN&s)}-q@1=;7?%l{iR zB<WhOpfQ8C(2#@Jt9G_-PV}Vp6fQ1OZwADZ>dnBuDQb3M-){9zVBbPDrZ0F=jlU^J z^=|%GYDR}{QgMFjr)F;UZ`Ny=)CwN|IgHLPQsa2hSk2;y7Ha;6V?L=?7wNTD*a^|m zPu2Vltyc3lVv3r-*?*ymNuR0ykwbc@y_VFMPewiTJ|`>wnHuL<kg56|y{5|OqvmOh ztJFLVhxb7)tFVqrsI_8BR>lT3&%t;dtVU8h8-A!HP%vA?H%`{GGT0O9A~heg{}rsD zBJ6XwSIuPXpQp-OuwKo__-oaC%zhhw$W4%;qv8~FP^tV}tb&Ruo>^k|pj_8s-PLNW zDpRYna)PI~s4}Xj{#Pp8pP{6*e>3RZrdM>~UCkMo9eEmS&IV$4yfY9!4Iwd{dod05 zl?l$LDf)Vq7?)9n+@xk-_J6O}Zz)cG>Zi)i@%1__$WYC@__>I`7xlhZ&ATvH4VCUO zG&xM^fcl1N2K4BDwMSCoE1)`*Vb`^7s&2b>m}=TlTT(5%zTJrG+D+`H95dU_CeLnZ zA4@U2wS62luurgasgZr6-JY7*9qf~-nfm&eerKOyccY{1?)F*qd%LGSfLgK#aT9g$ zZeb7N+}NJjJ{lS;kQp=r9>leHYk4!^TJWj99_xV}oHivmE&Y3?vEEqf>D}(#PUpZo z=>_j(bZigjaO2@xMxk1LJH}R$Cwe4GnNeCPQJS8IO=%2@9wI(e?RG%zo{ZY<h}s<l zo`!&@%S*^sStpONS)!hZ9A>(1kaKAGK;9jYcc(x?`b)g{yW#AF#0;84YR^L@tC@$H zyvpX>q`7=8L4Av02Z&z_?}Fw)<_66_Or_2+rl1j<9h(O|*~UJNfF1H^^M9XhE?Qb~ zkx=g|+B5zdNzwB+D}8XRbTKKbb%BB;<Fnb@_YSj`aG2TaBC=D~Z`rTU`V}dIh55?m z^gMJx`>4ORQt16kO=>}E*XpX?FmI%H9k+?wxJ9U4d({lu72Z|e9o_^|vuhoKJC94+ zfp4|OJCF0|Kp8yV%jK&>63kU=RvGr7-to~SLoFv&_ay!q9~bgJHOjdS`y~xj@5}vR zqN5tM;OxIlvKgvfQB|qbclM@tpZBmg2kC2b32O8BKqkhcF~1Aooq)Q}>L2u3c@#;+ z3)>;vu_JbtUC(Z8H?wo><L$O~JNqQNqkX#F)jreiVV`YZVh@a|-KjINvT&F^+`il% z;SO*waR<7Wx`W*z>V2?YTj0L#Zo}Gwx2Ox&7W6>xb1Geg5sdzF`@st4%+xvOVXRTZ z?Ga>#dxrZ`6|6F-9ps#coHvk-oSSgYtEna0nJTR=`Jv96ORc^&O_X|ih2?#*eV0AO zzT2K^-(yd+AFyX(4QJHJa_Tz`oFklu&IV_r^AG1kXOHufv)B3A&2sCx_1z=fMs5?g zsoTuWc8_$Aa+|xqcUvXbmwSVIqkFSE#hvQj<KFK+;J)ZCb6;|oyDz&xx%*u|a$=-? z<fKT4$jOmYBYBZ-k+ULaM|wtjN6w4%ja(SHIO0bsDxzjIBU&|DEm}QVBbphl6|Ehu z6SZTn#NLU$ANwk{U47A5Qa+H(MXV8pl6k1&byBL_xqXD&B9CE3@|aQKJgV4(?ZI5{ zSJ_vQKz;`DbCF*&<fnFn&v37EN4eL#qrJBSUGJZi@52?Y^;-58`!oA<`wM%Uy~F;_ zdDdC%Jm)NRo_AhIuW?1%+028g>!#BgEqo)la69$}x9uh=TiBt<wRqcl<bSelrIt*e zB6>fo!nKi#Zegn`O8wD;M7``bH2Wa8q12KSYRv(4AwAPZ^q6`-X1{HJ!Z=%l<aQSx z8=g%~(E2)~^__(kbZRyz>}7g&Jll(Up4Y%@<hAm0yyLv%y|!L^ucLR0m*@S#JIy=a zyFk`No^Ft*{>pq#xpQLPoTr>ckWj_)RMPF1B;Cg=T!+HG!X5>wWZ9GL$=q`9weRE5 z`|bP5v>&vmbBmr~Kf)IDQTs8fVLxfl=NegHFQ7X1LVGcV>?QV6in@2ZcT>#0*PTYv zo$gMj`tHN-Bh<j%<L;qG?p}8vHFgW!0%{hfaCOQK*9_O9W5RX9b*Oc?Za7A5!mY!{ z(@EhUBe`@+?B&=Bx-GUc_A1>T`yjT7?udO9+e&{<*r@JFHtN5>%m!^Q(o*MExWvDP za&o=6L)|NgP|G{Ge)E!Q`M<x+BB)~l?~>?=3R}wNT;l2WL-tI2w*8p>wEc|zti6;= zGL1{{2=n~2yU#6Penr>{XN0SUt1;J^;abdf-LM@Fha+Jx9Am!QgpUg!&pfXLuRQ8< zOow&PdDVH7$1cg7b_b{PD$J>6-)GNf={{U0^#P#%WQD2M#@;DI;-eevpK`T5(!SQd z&Q`02s(b(Pe)4|y3SuIb5vv-j7OR0)))8xpcyuP_YFk{PT&EZDLT1@>?8oi7_7nCz z`ziampby(-e`oKqzqfbWdmM5GIF~p>oT1Jz=Q8JVXN2=7XQXqDbFK4;Gs}6@dCZyP zJdWP(MQ2&y!F=j$alQz=nEg(H<Fh9d_h624k9JRRbKSOXJNG1bF@ssRhPflyi@60p zi~x;5a=-Fm9&{gaXSt8MPrJ`3A0}KQT)T)DqkWjT2Qxf!d1OT7ipZ6bKSgeejEUSD zxg#<mGBGllJ)5{kQ!DC3v!eB)^`i}<jiSGc9vwX<dTcZ&dR+9xXs2jiv~#pe^z`Ui z(et8xqJ5+1M=y+C61^-sJbHO_MD!|_dR6WtPv!d0b9zz8>CL@)BknKPbNkxpen~m# zHBUvaIS?cM`pG&XMngyD|5jUvq_$Ms+3D@|_IZAcVrHyLta{P<P^(3MQGL`1eD?b6 zudAJnvYi%=nvtv$wAKBpttRF^+#ttal2fg4%W$jkvEiH)R)EJZJZ3qED12`CJTk(4 zdHj-r@k<q0hzM+wnsdoJ<hcv%{H02+Pt#HBLaM2`IJL`^7xL<=ouoL-u#ffB*x8Ej zu!*#4KB;yvKV>nu7qE}1=F$y!sk?$>khXmAoAvBgkyv(H?>Nj8*2Bz|l6?;ITaVfy zzB)rt)K&UXg*ocW=|aqnPMK|=fP99A)xK5+>!JgWJmjc*_k}9Gt!DJ9sC_)Wb>92l zdT&FpuUJ#?RT$IMc?4<H8ijQnmr785IuRp7QDwOv5pIYznD3G0ZS+25ZQkO2MRii- z^K^=QOr#{F%s|STCGvbGQ4-;9FY)wmg-^p-L9Pu^JNo$|$Z<p>mgOGJ?e)ayCGd&V zSxRcAZ)&mF|FPNe5<FU5T90LT475~p`D{Wr3gsEsifXW`%9{S!ndsc*OeuxN;xcIT zW3NZs^2Y)z{weJDzm@HVbyl`H*)o3s%lug}%X~Cj;h}-`eUL5gv+i>k<rgTc%RbV^ z@HgzuWk$S6%SgMx3ZDhLdr{=F!1j)TwY@7cBl5S%Cz0=!uCt9jk?rXv(MO_BM4yQ+ zjeZvWI{H&|uXk|??RYLB)4KMc;``@@+p1k_xgUJhd(C^@TZPn0W9w0Tl)D5{iFh{t z&+?+Eo&DTrTo{?0)W#bl_ENOgx?I;6dbPX`9@eefSC@$Qe5!ciAtmCykdoe&;Inza zV^hS;FC`|2axHD(o^y|yrAd+U#Zq`y^Vv!Vxc*UlKZR?cMz}serBzxgrt%oWgJCyW z>h3D{1Eg$`Hl?9b!otPVl!s@X;&pdpiWJLAEoHT2`6Mi9(bO-MD&4A_`cvm~_DS}$ z##4&4%S+8UgHsl!GdRAMsn*<=%amws*5#(G$E?M{UW9Fn>2cBeDT|ukjb#<ZxoDom z#fnlToxyFXnbRhaw@TL{DcvinYZbifeXNl-MY&g|<djDnVU=qKwoJ+@6}3pp;thh$ zyDDz=*g7fOq%6~BSf;IPnF?TwlpRtwNLipo;l;(Q&`E*y8IiC$FGbcV%LD6Dyqu}H zHS8<FYgz55c&T44v(#4H=BB8j*Gkndi?#X-=jViWwMdi72y!#or)>~DKSf@zmzq~q zw4zO_6>%Fnt3qilZU@{7(DI7&nJSf`<WeS|tA3G9D^BI_rMCLwHX~JeOHW-j*<u8x z&P6+or(K;QZOJ_2eTG5Dr%hcvPn}l1IaR%7N9>|zaT=9Etx>I#!fSrp+rndq&%Mt{ zdRx8il*N7pyJSV~hU~|lM%}4bi9JM$?^d19wq+Hqp>?#0KB29&gLcvnw2$*vJ8v2M zbVUMUuOCjcnBhXc4i%iuml3QxDld%hy`@j)!3jL(y=n(TD`Z}SQ(3OT=_~C3d*GCn zPXI?JPE)C-PXDO#rL_$3UaZ6Z7-|2B(^Y@Q=_n7!&qdKEq9mV%Vr^2Vaa*UU^C&WM zv7&k|)@{G6PS2?FtaV)pU*nBZEq3vkZ<f+0lx)3km0@Kp`z~i0x5A&wolaX-!}-EZ z)l;QPqjkIrx0V|0H8x<M@%(b<ru!=4M9P~NdPTF;9&t?>vJm!^6rMw>6xxCadrpcz zBvt&vKE!0}!M3B^oM{_tu*Lbg+-c%6YnDQ0sY^2?5x=-!m^z0cK@P3UEw5xh(%?Lj zE#=#(@<53TZEH~(r%F*MV}pC?RDE=+R3c3umO9OlgiaPOed_pwz*RV<yvoP{Z!?Sg zkZa4<FV(ZUQ&QAqs&s{#|9FbBzf%r*70>0}vNSSfc~Ye)^st4~xq`VAYFSa8d9O^l zWxykOJjoI^Pm@;HQ5Ee&v;QBrH#tRgJ5|bLpIu31aJh3F1Pj8cQ~K;>moT|iR3z0u zQjS+s^9QRK*6$p4;e5Ohsh>g34$;?kYIoTVUNx^Kbz;71(;w9QA)W3yUWCr@VqSeZ z%R9nrNWHwqUSsO*9p$y8^Sq<IW2v9l+G|4>dnb6g^hd9qcOqS)cCx2Sy;HqTG}!Cx zb)li&>0V#D46{Wy#tLK&8Y?rUgLThVVu#tAcqDg=cMo~^#!t;yda+)yb7Q?@=f(QQ zE{OGuT^Jh>yCimLY*1`yY*_5F*znkh*p;!XVpqqmi;cq0^J-RXH|-W7(z7VP$*>w^ zr(~vNrDa5chAE9)_dg&Zr4{2z?@p_=LcJR;=PZ4BzrTp>mo>|*i;`cfTF`ISWwiVu zG%C^ZE04djcu3ZZ_bZJDHE!EYLTpqgz*6=>*1c2gPON)M1DitwTR;O_K?9G02A%>9 z>;et!3JvTA4eSmL><JA#4;t7P8hAc5@M37-0BGPqXy71d;1FowFlgX#Xy6EF;4RR= zanQiK{|DOGgFLLcH@K(sJuCSCVBK?r{}&{MElR?lKgjvT@8x{Imh|_VN&mlF?2eav zRuWzrGDyCYWw7x-Snl%PAN>Me3gtLW+$e74Yl4_8?$zgTiMbp$o$m!=k$7G#7q2lk zUA)QR@8a1;4%cV(Js&@<Pdsl_F)|ICpYP?TiwrM*ar_&N21Zkc&5dJ><Bj%Wf^n*G zn$eyAR%frM)%PlOe`65yFquP!GX;gIlUQ!%XX6;3s4y`XC$CI2rWrH%>1<=3*k~*? zuIBK?Mm~pn#uSb_&6vh~%w@QUsjXlRXYsv=%ea^M*=?*c)-Vt8{fKs`zxeMpV!N@% z*eMop_z%WD(=e+szs#R;j9Htpt4;k5sN|W>0|6&dxz2GWoZU<~uNk|IE4U00d)^A= zi<8<TnenR;-UqN6LUsekJ7F=0DQ{9w8EQK9fG+}mEg-%hGVm@PYoxJKnsEc+?<(Fj zHML%y)1Hi{;}9|&IM!aM9cQ4cD*Q3vSjn$WD`q%ZL3N@i!w}-wfLNoh`B8hvFzf|5 zMdc-SAV*!6j(`gRR|4)p+A)gfpwt5tw@N;o3eqt2X{T7BVYUIp>NWFWJl%jb|7y-S z$NVE!u)hw<AL8lB>Zzf=7|1dHil>l_F&J^4MXx%H;Yxh7)Uu48JJ0THcR8T`yK?-3 zmRyd^Vz-?ltfIHacY}jKCz)PTzMJE2PNQiI-{ZMOO=UQq9-x_g&!PDo{tW-E_Oh5s z%V;IHzm>F>*3)L%f|D4&rCpqI563Iu@YS?hSTs}A2zH%FoV}iWmU_`s)YXXx408dM zJ|C%0j-xs{1iMQRc1j|gpm!v~j|{@GK1rXzi!;;79|kxQF?)l~YY4#(7e2nP0e$i% z;&cPV%A|r_fSIJv4>74DzWk}ezRa<9TlO_tddDg665pppf^*O=vM<4RDt2(@*}2~N zq)Krkms_nvy)_A+z@F(y$XZEy46dmxDTU8uY3q>rEb%1)t|dMO5|77Mk{<)v>yTY6 z{doL>Bun{p++G%Zp}&C9woUoQ95N|x3k#Mg+feYMTH9Xm1y;Dj>J%(dEtSL7)3(a5 zFX*S%G;msq+ZD!p#I0k&kF+yxJ2`xD+~yVRGrk5LPf_6Tl3$3Z`Vh8D@h=5xCcY0S z{&j%Kd`F6WFS7nW_@zjBI4=GT4qM1#-{1&}mi#gzal&2O__@Bt-YzR^?*%k5msEGG z`kJTiS9N_J8Fh}GNwL_{*iveo_=;Z!H_-=a;u{>#O{$+wY3Zx}pdP-Rs)rQ+NSi~w zAdLu8Y)+HH1Z|y0bM;|bu8yR_?@&G}B_7j|UI~eQ4B8hW&Dy%#I8FOl9;aCnTN2Pt zj{ON@_b+GcPZ9f%WyCI8TU*ldQZ)W&X}KvH|MN8b6xW6?((qF}{?;`76p#O9TKN>$ zwry!8R6NC3X=PMA#rCvPDz4FAr<GIj6g$#Ns(6ZT(r{I>)qI<VtCA`HnTD&9DZWcv zgB~oR$#;X`>&$<pt;3ROcBZYxl4<^(wjLV<sf<LLU1@8wWSZ~O)@8{wyVKTYgG8$M zSFQh-wmwUy`5|qMmQ3?w8s4lx#yXYOgFR_@OO@uQG`yusv$ss%3~QYFPQv;qV<V?< zsJy?N;sO4b{-+GzDLYv~{r$JFPdXrNta%*kp0Z>4Z~3po@2${}J?e6#VNaRI(SCow zia*C6#yQRKPw>Z<h&C{|%l@U0L8bBJFDqF_Rf06M)|Mw0V&;}7M)_o1GDrUd|AXYz zX?f~Vo_y4PrzL(TmIyhnbONkj%UHkW6$zYHYV^O5+AE?IdIj})Or*v|NxyRF*NifA zoX&T@Ajh&}bycJ4Qh(PM`@2M|Ey0(nq0;p=F9|Q3uin%sL9fU!g#{4QTxQ85WFy&F zHjzzbGnp-0$W}5(ww5QzT-i>xmnX@SWha>@yU5dIS9yl)CeM`J<yrD<*;Ae)&y{`U z1@a<!vFtAg$V=r=Ib5o*<d0&yS?t3eA&($~={F*i^Jq*K=hK8TIIpHuh4X91PqSq< zRpoqJP&LlG6;<c_bEpRM(3)y8A16>I^ODO?+sSrRi+O6#@FaN>)n?vKraH`DCkio- zc~qDA>_Rs4dKyz^emPY)*^M0L`b=_}^X?R8?$6?<XUnrG!lmfRPtTF(P?Sq^F6Y=+ z_9c%?bpge=WEYX-(p}8)`^)~6#ibm;{9h_BrFvZ2p-g|c98UG+2rhRuHLfzxHP7Xe z*O&D<O#{jOygW)C#U*bpn{!H4PE#HukKyvG5>}OMWE-ZUN?0AGs*3W|KzVA)&ayL? zUzMts>?iwinJ<(Va+wupA@EdJj*_F;mp6`>qk5Evxs7|W795>U;||Wx-&mp8%gY^g zAol_r{b~MOPNnW|{k8sbg{l4ra7O%Z{H5Z&Rzd1>HFdteWsCVP{(8q>9Z>vhG3w># zJ)UZ7MN^cE>RP@w`m5vA{rrL-6VFB-lpMZc+0KB3XE61@`zv)menO}G3H}=a28&xL zsdT*m0(RVrMQ6$6gWG)nl|<MK|KbFmpNv(kj{J}P1qtf;1v}$(e3^(bwP-&6f^t$` z`wL{#sKO~K@bkYccU0AyzG1lsK4`Kp>OXtHe5^(5&-XX^+xXt(&nWm8hirn}6Z+0L zTLpg|TZ~QqW9m8kj@$gw`^w}Tw)!Le`xE;9vexRt`Yqx~X?=hEKuc8yH{X^!>NJ|h z8hM+4caZXxvZGg!k6{OsS~}`Ut@80w+f1hl<?xL^HOY#7$oe@GdZPWKjjFBsA8VXr zyyJgfQC(%(Z!M3^{dE;-O(iWsp^ZvlLlYt2@colIC0<+UwA6>CA9<8Wv#r7@wpLc} zSJ9vUW`$xaO~{81=0j&T2G(Bd%sYwpznc32j#<9?M~Y!3G`?>FdpAH5zPY~`cAz~& z?q~fM(^4;^@2HrEmXgAZvTQ-J1d6sG|JHI*FH<9vJsSV=(w?Nv<C`LXZDrf=O&m{> zfBbp5TGE04{A>M3{QJs`@k{)rc-mL}E6R+Jc1&6(bsl&7&C85&AiS^hQ_VFTq@S|K zW&RFKGViB(egJYo`b!QheVMe^`Dy0<4v_jCWkxtKxqo&bsnb(WCz%7P*CW%k)dT$b zY36+o=vT)dQF+8!XKtuO>Wlr}{;QQpzx*>275|--HunS3$X2j3H4cD689%Po36(<` z)UT^N+N30-`leDPbHMh!oHGW$=-0}Bo+__aUrp0DbvYpN7x+sLD1F(#R+VajTUI7@ zmitGQN1f?sm-+O7^qnn1W%@IVD^oK5`^85N2bq4EJ>LP_nGTgloi*~j14&=*eAw6a z->blkS;eWZu2kwTR}OX6yZZeD9Pix==cNx?9+lWnsoC8CJLvK$q+J<5%on{;IGcHp zsc))G{*|o#4=YXIzp6ZaPs*j}JnO&%8&jsu?Er0XnY1hTeN6>^H>aA9JZQf=D_1VR zY!16Z^ea#D26^&Ec?*#oD{mu9-Y)-4RplgkH)YEE<b!0(hvZC(%31PJ%94-CMO0rd zmig3DE|aUMjeJ9{rIY1*@&oEDH_Oe`O@1Ojp)=)HxsAHZf69N-*>acMMLp$yxu4F- zGP5$MS5~d8T6A7kG%HGdvKnPIqP|&8vYOEOSx06aNf$6reVL~lNywYzO=QTM<;`Tu zTbN6Wxg1Lw@>Y2(Rgt$b$5ol*+o_ryFUM1Ld564%YRCz40@aj%=8|M`NhVP(d8fRS zYRk!TGS!iH$-5{dr^qQ(SKiI#w7H!3kt3(cY2?cL<^2?v56A~7A|K@PN4fkDv5aQO z85ENb%ZEwInJkekmdGrsCm&_G)MvRoMh)Z~IfssrkIToYp`0t{QX~0<e1aOwd2${# zkx$Aesi~YV=TkHJlzfV^<pQ~YekcDb|4K*7g>oSsC7+g0Q*-%@e1?86|0e&&PZzPo zTd>3zv&5g1&rvJ6L@uGD<x=@P(|kd`K*z{@u8(Z4k7abMd`Z4UIdZvNPOat3@@1}} z6><d~Cts1T(D8DmTuCR$SLLgeD_@hZQCs=Ce4X0KRa}=Ra$UYb?d6;DO*%=wCD$<h zx8>W^L9Pwz_&w?<*U5EsihN(bPp8WDay@mD8{`JclN;qm)_@OK54u1P{s28VjrCwF zoi4wWUs6}OjdkJ-=tMW@#F@~E?yM6Qot2frn$ZKAaW*ugCp6<6Xhtt+#<{E+$LOzF z%syrx)(oX3CbYzYmSjLns>m^N3~Pqcm1@wH>T;YM$C{yZr6zPG6Z%n0PLvZ_GyWp~ z!kVFUB?SGb3;nR6ACA07-ou)4ue_HvLupA}Xh|ylP?{m-Bl3}A`Y~J1X8llFas)J> zA!@x5*Wyyv4^=}=AkC(bT{HQy{FrO>bNM;LujE&(2ixU#){?K~*Q_P~mj7lg*)4ao zmi#DxWc}D9_fX5M8d){4Z$&1)03DBAsLW8O&>2Lb?xF5fJ#=yCVp4m}hBB&WROitC zq5dR7145UQ5gHsCMpZ(?Lzh#H&=sMpC^Ph@(4VMI=$g>=6bjuCx`D!>n?koxBs4a3 zE5$<NLgOeaG(I$e>V@tMO`{`1(?fIUsL<TdE7XQ+vS|sCk#wuSMX}om{_i2S$JcA> z)tZK<R%XW6Wd^G<)tb!y#vo(3UVmwfGbS2SjA=pm47KXgScvtOE7VHLq;-@#<Lf5X zdBvtQ8=Bc>3p2;eH9MGjW>>R^+1u=A4lsw9Bg~QJXk)lJ#vISrB;Zrc2h5q~9CN-p z!5SxcmxP*H{9NxXI5}IL%3WYtRt+m;Ma*ogp4C`<XB}y^61%N7Ry(Vs)y3*&^$g0J zT<YYq16qBoi>!fK4%RU1O6yu(YU@VpR%?QmTM(}00BB9N?zN@|GD(t*HOrc7EePNu z>v?N=vSh5+tT(N9t&P@4*5`p_O31|8ZhdF%4kQDpLjt%rgNz1RVi{F3GBdE|l7GU) zp8m$|3JM?iCcr-+<Q3o#09HlFSm1Sl->e|*LCAXu*$FrdA^!rr2qB;;9tYIBxJ(AV z4e(-wV11TR0C+jVzXHAn@I-_>2dK{>sHLE9;prI&&j)OSkY>PF0UnQ%RzdhR2+_R# z8?Zk@HiOzt3KppMhGPF^2;UBP9&$t(O@UNbB76t%Cjh~fm;(43;=c%*I7`I%D<D=H zh-r9=bu~UDS)h5l7EixKE=X%W3}^tJg*eLra}k0yLI!F?{0tltHXvaE37aDj@-ZMv zVeSXM5K!v?YTwumsN;VI*aLLlM4Yn`G8^~|z?uqLtq}e_LgoQR5pp-6uEE}*^Ddqu zN8<{Fd<{Gs_<ewohH)xzNI;wn2yMj4aKb+hasCJh$%w0gYY9O2#8$xnL#l6)N^6(a z=VS16KKOx54Csl`5h38m06)eA#QYKPDp1SBnx9cvA8D{H|HC1%-m07naQ8^L3*wr> zeGr8qs)^dd6;d=5*`kHW5xJs+$P-<I%N0FDZ_!T-5JSWWnkPnz(byp|A2e5pF|<mI zr!`^{E#&{V(pE7Q=g99A5AZb;)aQu#OkLA{hN*X8_>5S>xh#uY77KN0>NW#yFslKM z14O$rW&%PZO-R{%of0kF%mX|h5VpzOQP@hgj+%P`XBD<Ob8cblGNES~uL8dwT%868 z-8GTBH5d@9xGY#S6SlyDWwD?K)}sjD0{9c)5rBOQwbMkaHg^|lo(X$op%qy={@6f= zl>NPyZdB_(LfsCD2B}(^2kkk$uRweJhKGTqQnj-cXla|ct*ybXqdOVjq}v=n`vmPy zU)=gQWK$4-1^0VQPqd(Xk;8xGa@b<gfo6+5PSpYXl`?J7m3DCZ>=Eo~%Cu=+oHobn zt!~c4#hN=viqQMeJAkn2^fDlNF@nw#S`VS`BeWZWZW8(?|4+bI1Hvkj*3<g|rvPpM zyhl^>eTHuUUkix#itnEVosJeT1~^(jp)UPJ{yv6Flj^k<q^;_eLqeBuJr3boye4#Q z=;6@J&|_R5^Fr7Wf+=M3olPzH&ZZp3)mfl<eCH(O&<?r4ieTl1z$y*l?*u*y@XtZ+ z>b%a;G=Xt5)GX9Kbjl&oEbjccX4NhD?jcSS-9;~PzUVIoiQ(dEF-qJl#)*kyikK#5 zh}mMESSS{Ye6fQ6R?k+6HDaCEgz!(qR)p^mJH-!TAO4<a7<^YVY8$R0jfO_H(E{n1 zhLL0B8Xd&6B6ptA)#zdLMjS;mnLdZ9G;#inegThhKI3WlHU=0&j1k62W3({_dGX(g zI04_rcum`wWK2~z_>J=(@GWLA@5T5Ay$6h$@&8c{#TU~`)cic`IX6$J9T46D{tobk zz!w648Tj?UM*<%Sd<*a`z^@1H1HT6NnZQ2-{u%Im;Q7Eu178%tOx2PU&QLvFjqugL z=K~)Id@S&>z#j*E0q}l=-w%8W@F~DI0N()o9^m%?_kq6=KoznU_*&o*;6E!U#vtSd z-~{|VJbe;)L-4#PfGT7uo-P%cCHx(3D~FlCqwH`BpND>6&qQC<0`Dj8_4E@%*z%6x zIvmM%cr;6AyqF}W!nc_Oe`gNc;Q8$Dz^4KAWn!gR&9v9T=Ls&>xb=GP2>2sc7W$9^ ze!I|qEG(qay3h^_?ZIl#GY27q0QEQmV;Q3#LQVn>4@mpTMs<Y4>k+WPLXVh!2mCtV z9|6~+xs8AW0TJKOG`j=t0>ntl7#?uG6P)h^=M0Tb0slJ_Rvnrrw1=<#^IHP`Rs1^; zelB2Rz)--mdU|wFx}6E#ItJ&~Xx%ESA5c2c6nEObK&$|SpD3OM)T4<`D20|-ofIBM z>%+jqDBRI}O)6iWHM>J_)sE{m>*_DiY*5#loz0q^lV~xym899d3pG0!u~(jc|3b|M zUYcf4t$=1H`!}r*hJRBbomR7sUE$x<31x?V7dkT3JoNj}(V=5QZ9*r8I)qLRof_&F zx-c}UOwJUwKEL=*Un0!x2>4_IKCAe9VTp_yC{b2WqU2uaoX`b_Sua$<QMVd%v&JQl zy2taVdlI+!sqC-lw)#LY>YmBh98jOntu{XDUIGiSgs)|s%gRJs)w3Wk0cu^*^E#gZ zu1Cm3Kt21S=SBX85ctT!?8pzmzbR~EY7YSpe;Xl~w=*UswOhTf(P-coC}^Gl*aT3| z$-y@_kh^(~f)?u7)boXygE7&r^f=kVjF)*Qp6XdZ%#9fsy&Iju&y$6=#@Lc%eJ~4P zwg=SlFaJ%GDxygyET4G_pq}%Dewfe?vkyXQ1L}IhJc@}PAh6Sm0ihFmCPvTY_*xgw zF06YKc2v*V>KSRQj~51X&VnV@Gj(dOQHD1FB6srx#JLjqcYs|1p#fF~;BA0)5#9rE zDCpk>_!M}??4_{;Pj!ES{>p3)xB^he|Mzd2R1r<mGij!7-{T=cJ>#eCgr1wer_er` zn6cHfXIhiYwt#5ydWOyXG)a?SpG?f@oA)JY(nE!sq-!*zO`!%@@DnVp>&V@LXJWx( zS(p<sF{@(2>R7N_)(}8F*S8@_=iI`!p*2a{F!SpqO?nz>Q3^}Pzc$b$wd2<$ocNU) zY8pB!)GBmb==jhHq1;g0P`l7chfKTFUK#5vbpL9!P|yFGc#jnHlKQ;?W_!(^z%fH@ zT!;|7VKCv<k?!yGJCpoE`(gHi7M_XlGYa+0M878PEwpXEp6~t#>K^Y;4E=5gGjJwm z=7RZgJ!76UOCHRFYrCcA!Qtr!v)J0&T>_f$rHmJlyM7OYe%#b=;V`#uHZ5#jrjGwj zl0A!$##)9trqRZtqp@s;E!elqhM(7vJ-x08p9C|42JEQO2%PBmZz}-xdqwT}eR)tg zQGDd`|H|KN!F=>c=zy-H7D;kLYu6UtTnXqPM8CP}Ub&L7plKG~Ygy<yE$jqu!46u@ z3ayWR>%bJ%h~fe4eP<W*>~lh`;oY|{;@=+%tD)XQetS^vU(J}<)V>hjCIxR@p-(|y zbYh`q>+z_GciblCsDpQ`x;N;RWHsOuYrobU0EoA%ruJL#u2a8f*YC2mZ8Ef<hBuxj zax~E^n!}T<iKeOFm4yLE2AuB%=R3jq&O{425g`+FDb#F_@gTzSrYo4?d0NG>rXXBf zOzkOo0k=C7V}OB4W8(Ns%b|I1`YU_uRiM5SFw9KKpjQe;>&x%WSALqSJaN>u_CItD z`|ZM2o_Z)=Xa8xQ<JZBi{~0N+VsY6<)UA70UA8gyrS@fH*q7U*sJat&PNlGu=k%gZ zPH(3-^>SZ#*VDP~M)ym)G~6THldcK(3iqW^;lbg-baQxU_%gaBJU09!-Rk9gZ_!h+ zXJgOOOR?3lH)wfmb8IuIvmzUk8Y{M^f$F3dO8)J|PK}xNV0(ytnSGUgwSA3!E$4GK zQy#{&4XUD^k>ID7F}zBhIHux|P_Y;)4%q5>>f|)`AxM2uWzj5phVjO9aDLmE_q{ZU zd%zZ=v1kmgx6xki|Mv2eN%)&D(ISo|u5EzogaUnzw}Jn&xeO=h^Wy1Zmj9(>*@Nt% zlwn_Q-@qlFY)_%8_S^P5ESXR3�E#3!18_ouDb=oagkRm^xpVq;s1yj-u*(UGkiV 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 BpiBS& literal 0 HcmV?d00001 diff --git a/ui/ui-frontend/projects/pastis/src/assets/doc/VITAM UI - Documentation APP - PASTIS.pdf b/ui/ui-frontend/projects/pastis/src/assets/doc/VITAM UI - Documentation APP - PASTIS.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1b6e69f10ca7f218a8c2e51cbc5676571bf60105 GIT binary patch literal 755598 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²nM&39%LW% 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ⅅ2oj!fdWzsG}JcE%qAO~}O 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%0A-)RJq5pe>rcb-azcNy#I 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ü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,Xv(rgP2tr-KX-ZGRVeU*( zhSR{WR5UD@$ErtbH3+^6{ECyS2^=S9A`<Mb9L1x3V7&yzE~Ubqm5j$<;pqf0Xrf8h z%PK2Baou=zJjawMX@)vo37Zt@wr3J8Z@Cq+OT3J!FU+YAYBNtGIBy?c0C#x+!Lf7- zOGQxq5qd}VN$(92&Jk7(N_n1HPTxc+R(lJQ5i6{%KFyL7!$#B7_Ujzj*Vd{7m%1{^ z>TLTP$_;DWatPak^ZLchKCu!oh}_O}D)QOoS4CngsAx?o&~|8v^{#3ya{BIFN@paJ zEm^b*4~7&l`{PVB54oD%7z4a@##uPBm+y$AX1bsP;Gg&L^9zL0@&qiyTDFz)x?msl z37o4|e=g8=wk0}SDnf@R6y988&L1+0*Rfz|qp^fVx>v+pF)af73*`&t<>i5~mRS8# zU}1M+EovRUUR@*36?g9Opu@t>F^h<FO1zbRc2kW=?7?yD`T+k=0Y{6v0g_0kAtSso zR(1?kTn_Oklip)OnMAx+IG(a?HMdEmZ7GkHx-c0X6Z-;n8!V|UIHEy$jCFy~|B-Z% zYaIGTS^PC#<6r8HakKVY*1O}j--jUzYzwJi!gUNic@gu02A+)Eqf;YqlCp1;iq@c( z`Bj2s_hHDEX_>0MlA)&GX57z=*0_zZo4{H#RG@B#L1~acAag3ljN0j+3FeaY4Z0^K zot^<_2l~g}M^?~+1F31!i_-OpA>yTeBP1Y)ZF|-@l@tn^y|V^+by{@}*rGx~<dq^+ zxk%_2frh3}Nd`tlZp)~mX_#)(7YPG>tjxAC*m#{0Q}#;_K$4+My2c8*eMi;biW_`) zl=>Wi?sEnptz=p(vErzP@*jx9m<9FZICy!W=Gw8c!$=g7Hoyqd=rrv|=9X{&5YQ(X zW(RuN#U$xc0eY1#<Ops|h(wB*ipl?cmua5qL^eSLTP#V2ATGeABo1>2?VG>DPP}R= zX=zNncgXDmAy*d<p-pMq(x*Th*km9XY)fFv+2BHLC$A%a)Dj7U+hZc6nZVI2BNSeS zFRPaU!Q(JUt8^dNf+Yk4!zd76Xy+G|SpWz12uxvok*+`)@Mj?H?_=ErIQ$~<>>R$d z;guloXp<Ey`yOUO9+IfA8Ixi-cpz%f(voFW=+(zG@EyOFF=s``Sji%Z*^++DM6m@f zJg%|Iub3XFg98O)Fjv=Em+ekh>>{q-8y#h%V6WfxDY^I2F8+~6ldP2S97w{0HInFb zSVFb+h<9BCL+ItNvilaU9XF!DfAxk9$5+lK>7#@pIE+qZ<iR3OcB2LV8yE!D&}7mA zFu|uRKIu%chO0X<an2$~P13=yv)2tZsa(1rKG3?E+H0O0lOnlIic@*lpxc}#ledQI zE-ZGSb)IDAExxLbafbGKOcPkI?)11w8idZ`B-Io(9-ZtwQZk2SCe!7&gh8<aL&Ty_ zv#CRlhg$Jy>F%;*p(es>aMtbTT3GmjTq%TpMH(&xL)2tby<}v%zg4x2k=!?iP@JM= z3VC{C+hdFSzuF4VtY$lJ3Y~HG)Mn_*C|+KXHGuN0OubmUhrq$duc1dkhLF~r@}o8> zQqSx35ym1c4tGUq4?d%;vPVskRlm6e!GF(VVRBCIU73&2{!J0t@6lCSZuPt@1+Ft) z>&AU~vDSAxoiQH5IG53AzXzU+Grr_7-p-R-<iCAY{nk4ouETe6MY)}JRn*uOm25=# z-l6i+>;Chvd1RHY<DDS4W+4?0QF|>IY<T)AqSp<EKZNzQ8`~2Kj6YUCcN%|J$=`Jf z1u=ybhZ+V)nXD?SNT-PNC;#A?RWc-sLpA-Uq5L+)_*1ZDq<)+^zytTZ&s%5F-LUlD zx#unUW>Jr)(*|<7=1zLwWuyAbGqmCeOs7w#{=U=j{B2Ql;l;BDJL?3;=4QoiL39X{ z^(hMa#nR3VZ>Ha(t5=K7w$a5vq^efkerPW*NF0zKxn<vmE}g!~E8BeIwK4SaX}u|r zu61BS<x<DOp-T2>cTaTWKIJxI^bXSHE(@FV#`Xxk$GZ;ogHn|NhSP|ZX3!sQIPo=y zVma`lL>S#oao=RyK8T|1*)R6@N4EN>kfwJ&_`?2j7soZQbhq2BrW5Lh?D>f833;XB z<4NxtI*-6VF*j|Ru8#%%q~3a;b8%>9NMJvexi4A|N&@%9*K2Bl0>z1YV9gp9+bZ5N z#hUGp(!1>U0!9CKw_b69$DG`^t|HGIo}!=69>@4q1KVFG1I{Owm;43Wwm!Gu!aO@9 zAFwC&TCT0!S4^a-9~J;muMyMTolp28+MQZhd%2Jmni}fEn6?I_5<M&zDXe8h@>g6k z*k+&&vLivaDK?L%zUkq#fFDRtPdw%8{>Cz>A37)a7u7t1eWs5S>#k_2e0xzklFOeg z*Il1_HMTHcgg0KFN~%!t)+EzS|Aj)4dm9rzz?<R6;hZME9$j#mqs&u}kc*YLll{0r zid7wWU+nynzPEnQPy4`oo+r*sJC4_<O4@CISb9)jC}<dx5GtV{OhkVFJtyx&CzzXm z4JNXJ@U4A(JkUN}ZS6BQF##j7;4dfqMsbjYN>Hz5)Vf{%>?M6n(5!R0*e(LsVZV=Z z8cJU4YY8Pu5<eog(Aq7n7NI8;|1k(We%0SH>1>4wYWDPZC#%sbPq%o|zzgz+pdvNE zcEOJf2ejv`i6$2k3Jre0muaae?*L;s|Bu2fYKdNQ-&Jat*;(YObO^o>>-o91D~~`g z#<#9#LICT`zB?}OsRD&v=WYvN>0=1l1Mza(sBdO(bml_JS_HOQ<P@fn0V#h!0#^au zY*F7wSmh>IQQm}p&qBA&!Kxos7yJTQaw#9iOcaM_{t3KN=Qr2~D_eXKz|_vz_WDSf zkc|R=F~C%&3o_?nw?awXLK>9l&D~CvqO6Rk>-9As7X?i=N7h$y(wb;hCEst2TBOw0 zb?Zt}(6W_f2Wr5D*Fpl&(^CA^6U8@YUH!T7PF?+{bmy4TzK4Cc=WU49oF5uYd}7^o zFDqqcFKY#(yoItu?o3-UrG1_mB=X(VOo&w)F(nU1$ycS5^KM<ZoH9@G*YmkH!E6DD znFIOuEmjtM54PAado&qFJ*FSJ%g^{J-;u@dln<+}DbY}m17+n2NV3z^2E&bPWUp4R zYb0#-=#vkd#`)(P8LRM7pu<LD>xbjlyk@r`2re)4hquFVyN_oth!=WVxJ5-}9SSM> z=yr(uEj6JA6{UE1NZ1D?s-V>U2nCQ>O$;x7)R+f^9iPAf%E;iHu=`l=VL0Ri`6J;! z#m87ds7N7(Xu|{NROej-P)Xd%efhy!dZJI<`X(gRkl{e!tDc<a>*dnD*;T2nrdI}k zp}ye-w{$80M;?QLp8kI&GR&Q<jLE-$0OSB10L}m$0gM4`0Gt5yf15dg?XOPoJ7Npq z`rGgDUz+)U#wiHs_??~1Y#qoAj1A579gKcE6rBw$j18U0e^o&TV|^!cTN|O@5<}!d z9E|jg^uKpyWME;UXJ(_KXC$MiC;OcyZEN)ZF+<M5*2vk=*x^3_rGEh#{(`Xm1!)Ul z@(Zx$e+Kto{fq$g01N;u{|)9B>Hq&r{D)LAwlVrI?uUW?|B>)Q*1$s1$(l}vfSI2D zHx-40qZ0uW8#BZICMyLSGb{W5m8t30){emzcQ|eY#P72O?R7)Lh^@HqMT-RWD9TZH ze_Bv!1;N1MmD@@RiTs|c6X$n?-x(0S1-;aKwLcPEjiIBeP!m=WAsG*5z^Knq#!SY< zyz`Dvj~}mS5>{7IR##J2GS*h&n9X(4=6tV$Iy&oQMA7hk-#`PKQL3Q_oJk+(h~RPF zL)lVQ-m`euEFa($%r!;?%BhW9pD%47t}F=nw`c5zBs+JIJpbq$4ZYYuPb2-rc*lcU zm-9V9mBsIThOH_{?|s0Hx}-#q7m*<ZGB)>UZGEP14W+CAEk>!$=F#X99AR4mQ~^cF zqCp|H%&fimNdJ}JR2&L>)+Z-ePV2OnPl9A-cy&4;s2T#|AsYQxi7SsH1SABj_!PCd z*tSfZqh$-L<5o%cUFE<>xMD@=ZwL7q;r4xzU7$iuo~%WAvy*>>`Z@H)DH??i=e*ld zncHGW;eL-udB?2(cSV^@N62#dT8WTyxhBjLptf0uom>%JR6xrqJaT8>QgFC7Up4b1 zlamzssl2R%L8>PsXsKN!NC#gngtC5Dzp(hS{vG{z`8W%uY=Y%`X+cc`2{m=wfQp&J zt&=}30ip`16A@-Ii(3dD3%N{)0jx(m>0jr?+{HmB|C9t&4cogqN-IB)aT{xbyT!NQ z>bb2&*qR`uGCwNu5K85}JS*h^yYgNX^P#g>X>~S14Pjq4WV=0RQ<|tTv}t*7R7}4? zN!0R@z2XR*;b1KIm0(d|RLrc{Zz0@+{J98@87ju~is#^!JG6GlCmdAQVAeSd>phzE zI>NvQG@$Y?BXuL)B1_qTQ*0!R-E^aVo;Y1{i_BX6oI{m-7<zqe5Hp|}RFo%FOlL$U zE<YGn42wj<R7jTHbUBb%(nR0j-^@Q-0bhO8W9hebl;;Y2*s|!0^$}R=gJr1drqu^D zs*9(j_t*}uj26P$%AHVC`JvgOj%973M(-_f<ic3xz|Mt)3*~dVP%gSDb|h?~kWKP+ zp-9~2FnNORTK(wG2f4TZpnNdD7DVBTsYGLn^u~?-P@q2{jZ~qI)tAk<?ZPACOm^u} z=_Q4w6z|%@9OM~qXW}3!UIE{TYN+et9!vF1lVe?(Z>RS-^VA^$_+Aq0XO)8(Fe(Es z<nedA`DAb}_Wi>6kO9z{!K?+<8+Hiyk-Ni+fC!VoL4@5G>xF}0K?hZN3dk?}Mde5a z1A8Fk^oNaLf>KZ=0Fd_%5D%Cii-73mfIqqVP+ld+LMpLl!PHt7eNYKz`W=C0R}!<! zA&T&5fnOE?uK?aJuvkEQW}W+z!MlLW0kKK<DfC7Gv{Aa&^L&+pWUFs+bN)Wo0-0in z`jlD#(9`qzmrFg0`VqWQ6QCpLsQPInm5C!~IEl%?ixs`cohi&zatzRQ3o6o_Mi3*g z0cZM8BPK!up8W#~D9@txuVs+{#Nu>-P#~)*!^6@OXA^P-)MAO-X4XrMgHRw8OAOB6 zIjaBz1_<B>#xgqI70$3quCWkf;Ijbm3~nfblLM_0L*^*xjjjS*CG~d#B__)%ph|i= z?B-zf6Rk}Pdoa4fGCKEP!iu`sJI6Xa%QuAOA+aiG6{Z3vw6F_eB^Fl14F?!=^e11m zgxdkU<?f~sf!bF5>5GB*7<b((wuAQo?_%+TU^b%>!W9w$_&FWJuczhvmpAT12oHu_ z>_=}E+(~XZ?t)!HfKoyQ&ynv6G!~9oHbWR0uP7&Njf^3uP9R8dn@^QzAO0Qex`O(S zj;A{)OZ1V5?QhGESH}x$R7Ud-Y$gw!&Wup>eCqg0dWUmeAe4u8KE~%9OeH5O?p^5* zN3x$A_D!NDHCQQ;7vQo>B(?<bg2Yn>SXul>cj0zreh-%?0eKs+i%Ky3<Thsa7H1m} zXa2ULLMRT9unZyE+|3-cV(E4a>Z{uS+)m}4mJvY!&JDjED(5esZD_+E5ouz&p;t(5 z3_^xITml*kBz0}vbdVHW3dksleu$c~W2~G?Jx{E%8Uo3|LC7D3CIW&&IsY2DWlN!) zxKK8QmG~Y?G5a<sh7LeUd0*_^@DMUWm13$OuEWY95hG97r!}ORc8q;_^}IjMcr|?* zIdKDi`r^*010;3YU6BoaYQXa=e5lB4<;0Z?eGY*btoOnEO#-Zaibk<uYM67A093Gm zdWZ)w0iGV3Mgo-x5$;-`TK*{6vGSO02y<x>T4wg>3E^&$VRIlekGN0N-O#RxkLzma zc7ei0K$m%y7@Nwwq8=jzO7*9JAn8FJi=JSowiF?h24VtG0+4nItZvf*sN#)advu@( zZ3C`C+fJZh)WG{9b~r!=yJYtI!411AcJcgWsKB(qIj(U~@TF9XBn~CTIV`(?CzM*k zCB)fjV_kgihD5PoV}qO)U9e@>l8f+ByWxjtP?M2)>#Jk2P*0JnWfWX9gEz2TGle~; z$OaM(Y=qca>_MGzCwYo)G@yoyfw$(dY$F5?cYt3aGf0IBTL$zf2rh=3e3y`&0V`l2 zH(=YiecU6%RI8|6EC8Y~T<m$OFrTah&#bpQe!Dw;g21onX?#%?41|G)0NkP}unYvX z2W%j&{Sn4%QJbew9wEBRVO{>`L;a`e04bn783^nc_g-BCTS#8eBMf0;<XVNUeKU|h zr#420QKPewL;V=?eFx)g-iVly`y5>0&q7X7Ds#$SaFdaz;bU0T*u9ZmQZ4!ZUL^0p zIg(vc9<ir#9>F)aS!7#ljQ5O7+d!}stD~-QTBG@*0D>!R*y@?@St5V*%;t+gbCkmD z$L#xdiaa;y-J|)T(l(Xb1k_I$0{pxDTmclR)Cxd5k*ODUfyHY3PU7oPFg7dPggNSe zjUuOESIU7n%D3;j-g;N_9F7Z|6rQ99IB~_SHl|A2+tPnyQO^TBPDwBkZ7xa#L1vJ= zj^!LYWwws0QV>U@zzWA`xh)c@j>@uc<Uiu8XJ{7shHuuUzd9%gZID4Lf0~q$y$B;p z*>J*t7Yz6qg9rmApW0)NU|IN33N?>aUkOx>w0d}trYX!GSbOOeE(`8491)Hkxkr#| z*B%|mN}wxp3_#F3Qoj-OWp!+#?@s`e5MUX!K}%RrOE~x}H0=oRBk6?!7oWFDzdf3c zsUeDAhdMnPca%QaJ|I-qDU_|?Bs|=o&pLbR2sZ#%Znqxd$7Z7s6jpLCa2L@eTSRn@ zp}%PH<-h}@W~BSM(SpB~N(Zj93%^^!RB`sHBGp3809_Hyg)G56IUFpayzPSl83~zV z-OyWv=K@9$Fd2YE@>)c={N$rSeLaVuXE}zEZUNlNM4@TCW(Q|zKIaEJX}Xrdqnh>> z5cjO2un{y@5e}diXAYo<xWIK`!?YL@^3{Nd?A#mxdN_u(0bMS3Q|*<`cNYNds{&=g zhw9;YaJ{1EIR7cc0}V<>(3O?I>8J#T<9aoZd`496gFrmR2C^=PrTe^elA+rpl~QkW zwR<_dnfv@4p0CJ8lBHfO9ea5Dbhddq+||$Ced9;ozx4iG^zJh@D;-~Ybf@p=(DYRG zx<A`>w`*?Jo?ILadfU6$-(~KP<NvgmeHWh+zZ8L`c+`_28IS3lJ)4Ou2<UjzPSe)r z=%VrdI&5qW%l4X67RFRWNvM=4l5f9$?@gG!i3D0tjbf9yNY%=xM#^3cZ+$Ekm|+#k zB8&FBu0b#!1T<A)PS7}(nwOQ|n7J#PupIe*zubH`n@4af&t9HcF@JDq&h`#l{p~FE z<(+#Pyd1P*?=0@MiRewAI?KFRn|Yiv?f7QXWTJCD@UY509e#ml?TtC-Q;w!pUSF?R zmeJ+HM~{ETO14DQWPVo!ozhA8XCuZhw;}%z=0JIN;h)i<lKEhkQi)#To}Te?DO5)G zOi$cCo|ycFV6ylQ-F~C3Nv#PlBX#Nl^Zi1HG1~%=i0m0lQKSnhhA5PeyCJZ(w=7?d zlXS;DFEy`?N@V=LC|Y4Fo;D-D9wy0XI$`M{8}nfjj_7_?!U27Tq61EggG5ZBw9L5u z%`|!WNH=|{(LhMY>8XqRU!Apt`ucDWjTl>Qx*AHB+z8&c9+uDXqvnH|7MzKN%Yu?a z*%Z_HArlQD+2P_zj=;VqDq<(8hn5njS|i%a3jW15vXbD6yWO$Hjpu7r>kC@_L`ZW$ zl_-;Utc7lYf{Yh|6MnrmRX`G!?Tn}n$!Obij(l!NkJa-kB+C8!vlm#<ApFxG<)V4# zC^H+=*uXGH*`8$QLs=$-3z_+NY`QZC;G@W;!O){CLk0-+*c1_toEVT7Cap*;7b_4M z`T%O_PDYx(BatCl{Ogs+c5<`}g9o;sHjJPU(a7L^gD6+YbIwfdN!k#^?HoOKsS}KC z?HK!T4rBs?(LlxBY<VWoRZQV0H+i~gj>o$e#%=|0fXR!smqy<_@}CHg`=d+Vvj_IC zr;raue|jAe3_60S8OYdfJ&>Ni0j3AW)*V)C0I0MOp1LzW1kPOqOI(p6-ytEVzInFW zb5F62jw%X3vt2Mq`AF*+j7caUc4<lp2*ge-u1_Xi)Zj)sVaNefN{>st+F5@SR3XV{ zQiQWZY&@{7UqQco#kZV<mp@w?Pe5|OiCj@bv-s;S;sT}l8>C5G)e-EfdHQN*AX;w1 zPOi^>L?g&mhFme$ZTEM-fnm>Y!XXjOch7l7u!Z5z8BlNI|1lk%TqRcRf>eU6p<DE$ z3&hYZ2GB`SK7;5&aEU<%&@Hw<e+*uz%GT!e`V1r1Ng$ZhU|Z7YnPwXnHR}~U1<_tK z#aA%8f_1;gpwi0>zXix-DkvW~#Z(O|<Wvew6HNk9#F{I+I5rk0DsTQ1LUoXqXs*DC zrMn0HA}LW`dQFpYUVsY_z@<{++Z7KkxzaGMWjRyHKZuv_$?N@GtiXyDRBD|}Qn78k zMpd+oRjmambXE<%EBJgLL0HEk6KZb6CkzsIP7k2pJ5qF#`-{71{#SYF&mIiuA-WM+ z?df^cx3|O!4QG_7WChY1zp}ZDoH7`v-4im9(NcwkUMS^?{WL9Ygb7rhTc^%8E&j>H zu!-_#$`T{qUb%#pr7|ThFL^Sj_tT43@Er!Zt_+UXq@kXR=;2b3S@gmVg3u)($WFhj zq{ll0&)qDDQ<oMeo&=6k@kW^7*=oGMJeingb4$F)pW*A7N;3(_mI@77sl0fJzqS8# zzW3pl!ufXNjGNGr*9E~@wp4`@yrZ;V$GQOE%-Z%0FOOljw4Jnh>A`Cp0&d{T?@2?R zTeZ`6l$?GOleOb_^yF1euswHNM*Zo3U6}BWNc~7Mv6&TMV={*^7ux|EWMig?IZX09 z)i9<+oqaku*MBgV-=vO^g$-k{I}_q#0Myc`bIj(1U0io3^czbd0$L%=klFFU7p1}2 z8Q7HbVE2@rnLgXuICifw3;2L5KP^?8GeBC7So3|V$h{9=-bTJGyejH`a7fudqAp(e z6E!c=;z|?WWp$%b@Deo}>E87;zRbSPfse_GgP&k8x1i$l`E}2sx8uK~)6L#%RZZXj zur{C5`@Z*-nQGeor&s*82~o8>?h$>%ENJ>~d(Yk1g=%dFO9n`$sbr^{;MK=y>xnfm zvJ%G<p9`G6xk5VSAP1~wAR^aLQUi0wV?|5@xRi9)D%s7UUM(cZa+C-JT+jU9uX;9M zV&EID5ahI;k9BaFL<nfOau?(Pop~`3!vr7tSt0V3yJ5c(y1N~x!WLztSEg{ge9d;; zR=5cSqN*)Q&%TCbN4Uz~`?jupu*J4C2F*+mP1z+SJGo5!3{>BVW-)|kz=AQTlQ|Ep z;|oRSfrJ9kXZO1L-VoXRiV-x;NJ+V;KgvQ}o4N5h3riK~Ki4XC%~Q)2NJUnqfpQZ@ z$7~SJ0toBX=VW4QP^(Axqx#xAWUD6t@`(O;ojn_{>vrH4I-}(!Q!<CX*@3Jq{idNx z_ocR{+GRV^PJ`}E9n9S)njRk~uP-il2I6^*r$Azh*mlik){GJY)x9G0?^vk}%Z)73 z8>Fk#(y`jOiu81bRQi~n^9oshhSzpUb&%8Cd?@XT3mX70obR>bBIdYv_1Fb)g$LUM zankg$nJxmOGN-}p8RE%M(<}PVZbDY<&vuiHGEl@D;?xvidnkWOidwEmhY3|QfOEp4 z*!g9|Aq{&xeHrOi9D8zXQwLseGM<$0N)anMq%YHYd!-Lm86WWyRP3!dMt)q|2S^*X z93n^w5qCJ2_0N=85EYCf54<X*aioAtH2cH(2sCfKoWCCKAMWkDKaB^WC0P0|wZA9a zP>$Wht}xY#gd(z%h)9k)4}U{D{|)jZkLVtFjc;Af#1Eh|WS?kfCLJLO;T+nhCOO6x zrxVDfXRXZ5SUV`!D$!bM=VYVb<mhI18^IE*(TA-yNr=I%vhXeX(Ywa$V@Ej3CdGLc zoCCj<)Qcb`Wzj^J!fG2VrqGaO++35tS{e1ZVZweQk2-X#pT52*M`@)pTw4;M;1Svh zBg?sq2{UNFW(oO*U9`Av(3fh)cNfiMu4U<_`z>hTk+p1&UxZg2%kfK0joph<%#o5g zvjXlr*C_T7e8wd1bS~^>&0Qje=}hQQR=w<hrgwFCd#qMPym@qM^z00E7qLdBpl-1V zoJ{nnb5pOx4tqTmuUh@mmvcOT(+-8si3CWo>+EynK+qBod9;nK60a4il&%?emT>6a zj<*MS)shT9O3><r8zB%_dmi{#q#4MVO>qthM5D1pO*L>5hFiJ1IGR_d(Mz9fc^3*& z`wIg1VKok^W4n$-c#JWdiOm1jCjYDfo(!K-UKwa?KXTo|tWY_txoyij>m^4C*4GTJ zszOUrY@~!yvePUtb-8Lnhm)(<#E%_LQDltCPmyCGQKYjA$L^>i#QZj-52)WIFj9o6 z`Q^r4!I;H5HNn~iT)CBp61!r><9?BIKmjs3!`U<QmyZh@F?Pq2hh1vF9DF$a?B4@% zmaU<wPfjT*o1JZ8om-jq!x?4^vv13gTH_RB)dN<k3JiSLayh#?-vh0F^{abw31GEQ zL=liQ5x6HpYcS~x0ZVZ!iL*^r<?r#!P}p7NGI!S|&H9qIK)O$hsDhs#W4H!>oW~0= z-50e7QIxEG4~8WFLmPw(cKU;*(d<Tl%WyX<wz}@MlJ{ETqcL*x^z`^fm8#I@gXPea z_N-UIY;I3`DFF^6FG}Rco=b0G@H3n-B&58-K=kp|aE7UDGyB@&MH7HyU&RqTXW)r3 zlS<l^?9QZ1t24@@?*sdZE$>T0#KDk!E2RS2IqCJu0_i9rNjHXLf_Uo&!b^qs>>B#& z`8|TOGrH<}eBUE;jYD-tGTHWX0-vUPWebbI%E=jdR!Jd9#|erwpOwrUh{!RDG=TE2 zf`i+D`Qe`BoguMG=IV)GTC#j;FcqYvSf|bS5z}MqAmAy(z6tIsA)TrG#$LPI;{5%u zo%pJ1EsOoikWTs_<9jf|d?5u4etSwO6igY2<w*J@Lv^lcs$OmUu$nJ<Ewg8)*ULk# z8ohGAMRJfh#QmXyyNDFf{l3Na${_%)-1_TkTQsdrf=}l;<@(`b31>lP*zRX(?!JR* zqT6eB53aIMw=O$h5t56esK$UYP$EyoN1N5kVh~oy^WI3~=o4t`5PiroCQ}x#qD_%v zI9sHX60niS6^J~?y*_NUUAlM5zao1O!Ububi27!P3m*wFR)WB;wSZ@vRVTO1GZ$G> z!csWg0za)c8)x6CC$4Yw5*=}9bB33WcjPa2sHW1h(Z8<!wePR;u6<A)_QO@b#<kqE z&sM|%!gw;!!r%^kPohcM1Pq(fHN{9N;XNfvs8acOJkjT<aiZ!rQFmYnS>_?+yG+>} zrM)0`yxQi2csCpGhcyu#t(*lLCeuiZi5W*MIB<HJ@zIB)Oj(~8vRn+1efHZaveW}B zAY2f#6xB!hy!z*UBiXTRN|wMxS!{W3hWjBq-)xUsvuQ1NUw;qPzCS0(QUnMGTu6Yt ziJ4xT+Ff$tq+{Rny6D^$PhY?g2|y)eRd96XF|_8fv}Z`&UVJgLk!O(1<+X-uE&(-~ z$FZ{9Be;TJi-(%iyuSFM{9$J`L|3|GElNJD8|hXY_1OxHPc|%HM5Z(7cbfsE9yT&x z9*26xQ`hD#`!6$KgUIAx3<;3m-!Tt}EL+ch{X7+R9v=!<8g|@xVi%6v@V9JcJI<Gd zzwR%cJ=oK1SId$jbuO5l;$UIC`t}8~&|xWiBwH|xb!F*V5;tOb6&}S7C)GN=?{~v* zs5h;@JIk|4`$I`*H%B{E8HhY-j8mi~nqBxa=FG+#SEQb}Z&ycau~%<W2fG%O3>mCn z!w203n4*vw-vxL19A)!fMiranA4hLXYkx0~Ip}C-a<iKkBoCtE>7LInSZ$~2=yZBL zT%OM>mhRZn)2{0RgJLo<rj!EO533|Hzb)?jJ6Z(R;K)QA%hoV80?nv6X(f-=uZ3+h z@~}=c3XKkw1MVtt{v%yPnTb&<Kn{{qIXxxZTD^)Si@2D|)rPOUTzwwZ=3d}0j-Com zNsS^*ip@=Z9@NgZ0+emb%dt$E3XNWN^W)5)Ye#cQC8$_NrIU6^6T3YEGH(UgRUNcK zcnCJ$xJD3uqRR~2RF-q(7<$*t%6Tw9#G}zZr6xRCqtLXZ@DT#KQA%k>MFYXR0UE6% zt4B7<oK4|gR?)kB)wZZrBHv70NnKU*FupKz!05eTni$SbXPn#t3|64@$Bb5>d{Vl( zxwe|S+2@qACaqpdpA)i`1CAeFI!3?HA}g0ZzwZVOn*UmMQz<|Hm4RRs>5I$y+R*wq z;20LWTLtmE+dH&kw>CzGW#5IUV{PPpu)DH%3tRccO4YB{zuqZqCSMQK?3DSX7=c>Q zdfC_;`tMZaaY|${8&x4W44^?5O|jb+eHibVcubeadGi*fpgzET1LvV7z+Lt!0Cken zv-N4>?d$UZh`037p+0A4a^)c#^GCb?o^2jV#n^EqUWL9|JQxCi=jevZeX@I5#YIcy z+2ptpb!}t+&coifdsY2$6_sKm6L|nF)zDO??k_7~;jc`UeD_v<d{#ddYD%DC#nW86 z=CW!fd6~&M^;03+M<WZx?3%X7(p#e?>#_@QmT~ddi(Z4So)P=1JSt_j|D0WMCIm=S z<&8$S`ga1u-fg6YjCBWuFZ;%kyZjp+q{1>6rzPn1^(`CeY-tfLC$(K-(dFmOGdk3z zXRu+oiVTG+MU7LZON-iXlNk4Y;z3d{af!|&RNXp{l&^%~m<mf4o=LFgIKtzL43e3p z;EP~Ie>g3~MU)zXt5bXMTw&`fBg?6A{W9_KcD_>W^jSA_``K71to!+Sad7Y9(}~K% zWoao}$K{WdHUeDef*{9vD3u2S>0bK&7zBy3V}KlM6Nmtqv}JBl{udkOM)sh5&gHrk zSD-mx8M@PYp(I5?!IU-a8RK#gjRm=0K3mcb@^OuQ?GokAFj8x(Up{w#e|g2l;~#NA zv_^^2_P6CZ^%Jy-W@$NdB^454{~zdJ1y$nLJA}If?fMN^NS}CgG*~+74322L^sPA3 z!>q})K1?z%Vt^B-T~^n(#J|dJt!*|gk*yachjKWlw`Y$bt-ST9Bf3zwJPQP&x}fOq zK~VIa&wtfgf=OGcn2SA0tV<wQ`JYE~Fzi2~uWVnoe!meN>)$*(+<@R#Y-t?a&Q8tV zw~<|*w&>ueExogzS`&gHe&d(PL=x+Tk{x#mYrHy}xEU)m)2H}--Q4LmthUb7rpBy- z92ab(*<JBlQOVsc;o`$BNWW=7)Y)h!HXZN|xJpW>59&PQ=dygUiHmTwL*XYjHii!f z!Vi<4KR;wdV@~X16lHx=hv^uk+n1)U#>CC9AYC48kj30Ro?0<kbVU`VW&br+B871q zTSyDpWTN`MTd_?(!|(D!g}K?*RD)2@==$sG)Z+8h9J{(k5>BJSH=4(!L;@Qb$zqgL z;d~Vge~oU0zC3(5U%)B@nICZhO>m~u+!(b;5O!qQoS&dxE*<%~-7s=YnkwjYp43Y> z^+YePYyG&SWjDMCFkClE?6Nrb5zf2>Zt1adcJ{Pn=Ma=!s&doT;9uJwPbjaPL2{&- zvBm;f`yxNvXHQMn1d$8sJl}vPDW4|)gRRK<-n%>!&V)(L1ECoe)2Q$sAp}!p`NJn8 z)9|Hyy46664!fP*&F1@Ia$-9CTr@5=tLy&zY7AjSZa*n#F#3@iV+muaqJ9`Y;tN_I z+K5guz0qEAMYl;FJ)R@JeHt=3>>r^G;S4IDK%6n`fhO)bl9&S^)1$(vEI~A~7JC5R zHFDYvz|EzLsxRB9Gc9Lo@vgxz^(pyN*MN}2CppVeL?cC?kLZ03WRotvx>Sen1sa<L zVh=wjo0|jvVzDDeU1Yeq)6({yBV8*6JU0k$ac@%dQZu}<O~S1rlMiy;eAItQw|Npe z>~2f+a1?6-UYBY`vvR0YwRt?-EV({tepW1p9;K>OhS#Te=`L~fD|9N`h-b<GL|tjT zw6SFOsjrpl9^?w&8JS)j%<bn)6*e6c4C$lw%`rkk*ZTUX`C!r(+=M4y<-)5sbj?h8 z^iOHW;Is9^lX}YB0{iv}O%2-(1Pk04b0PbT8{S`A<?1W+&DC~|*jDe@+C?4if14<7 zPTt_hn=xsr^A-!c_oCk~unq#>ghJ1icKLoDdS&l2(-i{KS*r7tP2Ah)T!1dzv6t=1 z^1;&Oji7)%l*qfpwKN<w3;@oJFRYEx5x}IjzYI<M5k}C!bPxz5V49Mh)k3Hv@vLs+ zlyqsU@^0$l2_hYn(Xnai+O!JP>tUamWPw28DcAJ3hv!Ui_pQN_%*1~^omI{{)M`mA z9CUtH)XB;)7REB`G)U8%yj<bx>K#4<hM!m}a9h2khQz0N8vOKd?93r5KHo5Kj14^Z zoJZbt2(!rG&X4xk{yTuYcq4TM=X-J1^g^>AD^0WSwd8_p@d>Vu=Zfwm>+Za>_};6q zAfwwViBAKZ4gx$*X055i+1%w~;eNGvuTgf?tT-VmxUS)F6;(x`2|detwEiW19LlJ; zTNi^KZ!I=s(axBfp2M^GM-@XcW>B|iJ&`;io@&A9@E;7LLouI7bCt4ciRX|pzTQ?8 zl1=Ijr*zapd}3^ki!sNovoV-6n>mfA0<!tJU1&BtH?Fg7%h{(%mi2?KdpGl7cGyPL zgM81aN$76t6y@yH;1d{~MiaDvOI9eH!t$!aZbPd|-v!p7ZW+f>a5=Nu$jV-<2=1?4 zrw(tGx=4&%+t2*~I)L&x{g19PEDZne&K?X*|LyF-z{t$@zj5~X%S8WwOGZ_!DVd1f zig>)H%yX249pgfR2yVuuO{;1oSy6<;PAPtbbBR;76+e_FX%nI~{@vP6$~z##daIwh zc{Di<Cpipi0=8x5^~HDarxtsOe1|w030>aYHu<1~K?{k(0*f}f0hXe+uwmLUJ!wJ4 zeQ+n>NP%j`x|`u2**B&_{~hNsVmq*HKt#@4=GYc}x46WGh>ly0ko!Rri_R*O1adE$ zPX?i@fQq@OKUGMv;c^a>D$)Z<36#uw-L8Bi@um#fSwt5j?8`~`=sa;rg9zr88b_tO zlmACUG~*DihoqLc3_D&`eaxF$X&a=g1+XemtNkYhl;8wRVV-dz<M<sm8GX3kWHwXd z3zr*Xw48d4TS{Cp@jq)W)q*C-2x`fbbkMaS@4MIWaXYSuJAd9c5&5urVFj2Ful*jR zgKO>w@pfswBZ!L4Xyy#|MyP5?sbL4r>p&_E^~?=oV{e<mipTj8hl99{xQ23lFQ5nU zd30Zw=oDFhs(5|K98|h!cYx`-_E+-bz2FGzfrvjsgQ#=n#78)dFH&b+b|%gon29HU z+Vg_5$_vs^Di=u1v(ki#FhoRz9A|hoLgm8E5j7)Z)sN;^BY7}D{Aa?&iKz??A%&0l zn~;kP`FUCmSAjAe%vM8yCs43T_Q_D2l3733>iz_eloPbzWBCw}<pw}4kCl!kr-`pk zu7v?@xY>p4{%zoA!U+=o9=r`MIzmP!#*0x?wpzsqe5S-g^w*{^IWR?&kK(Pfi+>tw zh>MVUt+N!qlT3;64j)Br(@whK?~<hcdrKDq25g8j%;E+@$t*Lr*55ofDU$><h`kz) zq)Dtwt(wsFC)ujTZTS6!p`Mk5p}X%pIS7*|UtyAfK{;w(O+XYuY}GL{1cZc!c^UR# zn0cy&_}_9g!NklbGV}f4A8M+|+&8kq<w;G}0@^9sG5!KXa03mR62dz^%R6?mrpvDV zVJZCtG-RXeMS5*B;s~?&e@Siv=M!`%bPjozixY2^Z;@{oy0jZ_mD;Y(EuI|~bjLg2 zc|(6+|E7YG<TsJyO3)qgE`1Jjs+27DzMn71&I${m*KXvx+OqKC-;|vh6KH@1l8Ks6 zV8kpSDX*uFnrAZlfdNwvJl`@VudHM~=*HALDy_0nwy|YOoI%IX?y~<fZ9)k)XtpX> zcQ$2l_<uZFyj+)XOB-GuS^3UO65r2?^f}D4WHLw--;dkCG2rJ_QzM^n2S!ahD~Bbr z4jOfRGr4oRk9;TA)-J!S7(7`mO)Xq<erjIT&wr+NRz5fGYzLX2+9_q6JYGJuwe3_n zYqC#dmOqJi&>AZ*;HJWHZE8E<Gf~sz;s3H?<g=}sjxr-2k<Va-36=0BMK|~#=p5Gu zjzW-d>4(v&Lr$#qwl7b2@F!cneZ}V1%a2tyVi)f2^w{IL?%g@iOuJ0LS6i%{zrE1; zeBx-udbS!B2}%%25s_%+<W&)VIT_=|(kC#-sw_jRh>rFaWL#@#3o}6bklCg-vR3`m z_Hm7k1zbBol)8WAHv&JdwGRtfK;XvXHjZY%np0i-r2A`u{*vy?PxUCIvjJ0JJeoFx zpkb_*I0rRK)KV10XW7if%OlA=Mvf&AK3Pa{H=7(3A=xAdb`sam9{57CxpYWMXD*qJ zARAAR-%V{U35m`kmIcGeFW@QQS#iTHaocQWT8_@I9s!FHjgSPkQ*jI-&wGjL>{;2# zw78WM{chk?5-L6A8oQCTG2>*LsImrbP5boM4nEBoZ{~a0hM2#+ZIxYMd5*m#D$V0J zT<|$Y2B-cn5yoTXhD?c5BE^@{Kl*e=ywb-hw@kO~L|v<PQpI&?5BslbH4%>Pn+dCE zgYch0A<6~Q<~eSvMd?^fxLV_Su*9jNg~_?tyIud&1!SKt?AWCpHRz4Y_Lo=drPymo z75K9z@>5{f`s0{uRYlpRTNgFyG;%LCW$Bt+e|+q7_f_2!klGE+aOXAT?UOcji8sPJ ztC!z60q;kU;!p^eoakM~#?;RSmrr~|fv;~7s?!FtjJLfvO1%QOcO~z~8BHQ2yfuGX zNMJNCwD5>PO-^D$xGS8?vHb4Jt9U;*VtPC$p66IP7@0}|glkg56`>b0!aWsN!&Lk| zdc^iA6Ss1NXK=5~#V9#5h%cCZV4$BMR20n@R84QrCepl|eApQz`P?uGD-rrOUUhf2 z;!LSCGQ|+QD_*^?PuL5aPW1L^wOHo1iteIa%2K>aoCi4SA~Vh$@^ORKixk@$7ft6L zHQS|%?&MXeBhNMKZCcgy(V3LW>h+c_lWxVxrIL*b&GAV{1SqkM?k_(30Ghn6F-f!G zW>(BD*R^~WtqVpkXEM>3p#nA>A;JO+AtmWFn)z`XCIqb!q2-*kG_cg9&^jJtfKIOJ zmGGZ?m7)Q#t7<P(i`0`Vm8*39N|nfswE@V&v*^SQGCN|dMXv#_O!}D;1}N-#w}x(* zkwb962X{X$K!?3C;TV0%a2Lb}AE6JmQGb{4_tC_Cglj3e&0PZgxWOg+e-X2iXPme; z5kV$)^|%?_^|tZbVcdCOVQUL7t4jk5jW+eiY^|1^PX?`Co^hp{dmL>9aYU!cqK6{% zr|=|9>GS`+(CoB0Gepj_3@3LU-s>h3CDU^yC$&zrXmW9mvbEI7Bp$VJCvWlZH+_<K zZl><tNfz!NoBNZTM|@Y_YKM+0Ckqd19jIG4#=x$lhG8@^TF5jqu3dZb@a>>pym_AE zH(vyGEVg3}(sP&73uNw}a89j75)OX&MI1$Y`W;!?i|q+nzHGQiyHb%Ku)Zy3$6Dni zFy#wypL>Cyd-LBpCh;JyVK1Cmt1|2Lzl2-eS7>NyHJ-j4THDxQ?w!cPG2!k_cBacr z5d{Cym*o0mVjsGbY-=}*DfPJbwppoGKF3nFg&4clpQbR6GLyMHUf7<yf?IZsXXV^A zIjJamZVXzvaSZs2_w_r{+XMUqzdY`m)~t$M)$QHg!8aNDx$n0bWPg`(<eujGd1_4h zVfkE{)WVF&WJ0lc7cQ*_cfsfN@p4j^{s>fiE^Nh}rY{v|*2`paVf5(T(6;GKn{mZY z<&+V?%eJOH_C<r=eCVc^=HevSR^zPNhjgnvdM|zUYM*B8xu9)*xDc~vOP9X7lnu4_ zrOf;)TapTds}Z!r#j?w`*PrYMM|`wDh4@=;*jXC*;d)*g_dL|aP{hq|19Ns4$70|E z%XTw7si>S@`}Y{>q`7~;^Xg%q`?$8V#k+m&@|cdb^7(C_amNmY-_5~n<;}6@JnclO zzGA+V)^xx@zAdRf$Nv9d>>YqC>AEiAF0;!vx~wkSwryKo>T;KD+qTVHwr$&1Pj$cF z^Sm>E%tZVV8JRZ`dG|Sc?X`AdpIl@#q+S=$F4ezSTzqgG|IOK$X}hYc<m))8mVR%t zIMEfyE4z5e3O_%k(_q^6th>_hx|+~BHTR;scvg8%m2x%`HfVX!Etx)!HHk~-f~GYr z`+Lcew`1ALE0uRSU0b_a>UsRZbM-=KX#MSZr+oE{`<7|t{2?=o8og}1tpi=ykJVa| zcTI{2TnfbS{o=&n)z9JvcP8AjQ;?E5?lRiM>K0d_WZ5H#X*d0I&FJ=XpY`Xyh95!o zC5!OF)&V{uBLy)Q=GvQi?#YP*sK8$@=L@~)3JdK6_;w|H16eJ#D(9LNvJqvNdP8Wp z{Uxt_hAooID@oG=8s`_fL0OrZBaxZ@Oz?ju8N`MlJG|blB?<TX#|G}FUKOYAM@XI} z=PATX<PAg3em*krM=mMF&7=qLZ0x-ja6Rm`)$dn^Ak`5in_*g?tNt<|)nECTzs!G8 z0$G!4_=Yox@i{@b;y!J$4Qws-|Gb01`5LJUYsb_*{e{(UmkflHX=#HV=w07^P^ccH z5`2{t{0YlS4$JB?8T1)xMW1t2X{~01pqv%bji8Sl_`}}`0?51f9n1GRu5z;n-i?qA zqz7|oE*auuU>$>saPb>?#1<x~F(Q{wHk0o@GIbX9il8}Y9vKEVdwtL~a=e%vQ4c2M z1fLzaFA~%QpBxc?2&gH6?rPrW<LqivQ90TkcE}MD^0=MMLnJ22B{$N~%Az{Z@z38= z)CDV@kosxh1tRA1JDg1Bqa#V90=796Fa>Ign|^TmBfSpPT!R7>Xn00BurOCNe2tZz z5V%}@z(OzxG~IPyMh*OC4I1l%$ypXIvjJ!wU@~ZI>RU!WaTP9eV0Uec<961tdiT1l z0O6n7RRzNF*?ydCid6;MSlGP@AkClWCzM*(s)xYOhlSf7BE(@=tNz@&#i2@f;73Qj z2&4r8<CLSbHt2Fj$*EQf@>E$!{$(A=5hBm=%PNo+L^W=2gk(0z6CRtpe+tBhXgG4^ zHExGYhfBrf*1^TbJx_gC=LW>by;~N>bOy198V_x71aB{I`*590ytkdx-o<<Xbzg>q zubVGe;bSH;Z067N4E($FC?mp3m%3^>AI^x)aRHUW$K;LtD?K-lqFmb7Q-QWhv)4q^ zM>-&$_r2fu&tE?Nuh(p>OpO0qdBgwv%aDxpO#kOA_yG!|Hh$j`+Fz+Wq~H+;=v~Di zO9~?Ta^MplK!Q8+6GLml9kwnl7nqc11gU+PH&QYJ>=jg^5~edrZ7Y+Qf38^M;lRER zi)TZySqLidCnS1_JSA!yiX-*iv;91xoPGE<X?}wj>gPhNy;k<|#pRo;6LdO@XzLU8 z>95nchRrFT>-d=5Z0MEGx}F+3X$U6%<ywWD%J*j2RNjF>GoK%Q<~Sk`(BP|Lb`k8r z!|G~a<B$5Npy92hRk<fqBUJ;0?x;)Q_9{}rFhWGa^`Q;n`bFvhZ_f0u{nR6NnxYj; zeE@4N6o)W!iK-$5<NR|Qw)0&+u3AaQkz8A}43@Xv<IP7KjG0X5;&mCt9|P>ULCm># z2BF9JGV)m<v1Eq=EI;wT$5X&rZ+RG7*^<rQy?sd#s8jfVc!BBvmlxO>7}%KUq>OD$ z9nI(o7}*#Y|Gy(QpJhPlVb5p$?qY1c9Id66Y!pc(A^TxP=8VKi7=$#~0=xIa7Z-TR z9!Wq<j37P_qFIt+PA=OjNx_ZJd^D?Il!%ks=@*MRg(yXRy_^|^XtM^n+{$`Ezy;d* zWk(DWXQD+Kr8nlj=h<V1%ecF(NFM9$t2m=CXt!)`zmw!bg_`p#U8;=#MO)MtR2MqU znZ`Leb1#fk2I6e>HmmzmrwH0jzbQ}_ep)K^Mw|DYp2>7>Q0-Z~ty<j*t;HHg)i-MH zimr5x3a%Q%^&45P8c(n(j<0r}#`CR#1F@({PQO$NZ!YF5$eiEKkzq7)uDSV-m$4Jm z=UQG~a4&&z=ekbAI@;VGxLyXVH~p+;6@Fv8)3NEc+;)d8@@2+;xjVF4bvUR@v`tzN zaCQbs+)Lqhf9#I>-ry3w;*i;LyJMY{uJ|ZDbT7UYXuaBW)_PQWdm;<gXzlB`dcNB9 zVC7op2{8P1r@ZjndBl$Oxw7z1F}`x6^Yksu;?&Z@tQ{RFq-}D;ZG%14lxc4BwB9q; z^YCILlY&$A1MbGJo;&8a&5d?tchxLRZrQ!Qv)1zTnLAa}k-MI^vF@C^$aHbR52kSq z_Blc(+v_-U-F;HF-yS655lzK=(pB@(!|>{UQxJ{=$P#49((p@V*DmZPW~A#S7RVg~ zLQ|&#vgv3M@9l}EcgLx%DTlt6pg3~XWOjjm4+L4>d`Q>E{bCfSee<`7cc8@G7o?Z1 zK3Fq?Sq7g;U=I9yD#a2JhXO}j$L}XLGtBZJKu#sk?2W@Vc`}Vh4Ge<rkoP5i%|}W+ zz`48mDgi4BxlzZNZ+a1PMrs6KNeK!RC^&`;T3?qEd&^|u#WNk)zU`aZanurQ`pDMW zDQ)EDoti%y;01g|8KEdIvO@~MgFdZo;KW%EoZEE7w)4Btx5~S63f(OA1Zz4y)Khg! zhd3gzl6iFS`+!>;+ELn&bn2Q|{fV)e{Y0u^+qzQND#|dbHPz@SpGHODk@%t}Jz9XW zQX&gagI>om187!oV{@|P@WQ<J21}@^_NSRW*OED<%fBzBxMT=Ty1fRDtZDSlt-h{_ zzI4XC**)RGPw<A&VMBZ0M|QJzMk}>-TgS&raDmX_B=uYe;tjZ}G1DYKfCL5Z*%NBz zcCyVG{I28Z6E&d*2JDj^Ehe^ZnZM<q%=)>;_xG^>WAQBb3Su>ynDvZT&PRX|;i#A+ z`sW~DVvj3=05bBo^j>^&F6|>k<EhGlALj~Vix>T{p_7YV&}j|KYC{(VSn`)c@5&Kx zAElDTIv`!}!JE1T?g*TYvbm~{cs7g`eb)7Fr6L1RL5sZbk_AE6>}W~j$NLsbv(~l- zk}6pVHLn@<hYBBuc6kp#Rx=-wiER`Z_IZ{36;$tdtQHRjl)9H*Bi_j)o4Nb2rCpL8 zyppfjBdY-k8f1kQS%c{Ht39^4d5z(}ue??(B9HN{4}U|{S5=bVVSok@J9MFe;RjGc z-=nC=1s9E;@=CS6y~_}G<<aN_p8p2C>ilVG9PVNgZ0t8r(Me>t#;G!TnL-sMQ<60` z1pg01JBaOtb$<l7g0TA<^%t@61*ha&tb_DbEpC_>4VPQNC*wxEsCo_t_vA>B^-Ve% z`j}d@{Ucqw^yv5EC($zKfnO#m0`UBQJCs@saF-`rV>OsB5<B3e4k!c5cN`Nc6N?S} zP)pS*Myd{Hk5!^%7UR!UrISwDiq22=56siF#7Ky1+YPZAqvum#x4?OBN5a{JAwci| zo#q2<@^VCo#2&NJ&2|{G2S0{WVCYMEenFNh>FR-HECEAPpeoO2SrR+f!mW<u*d}m_ z`Jh{~i*ef`rSS=xlYHSN7ltZ<*O_6M>FR~Y?;qVR`uSx)pT80nGFpWw*$tnt5}HyB z02!mgPZ$y18D!xvo>xp15%U4Y92_mf&wQ-Z_gRK+DIfR3Sf~$ej=SjACyp&A$${&X z&nUJjOnf4qHpRz*JgfLSLS4($5Zs(GRZR0c<GpS&z=_r*CbQcK&m?X_l<^q2KAN^K zea@T6rzJnk4*1w$jM$pw9XU~t#~d3inzp}p4!;H#YGz+es1-O&T=j>wDAjR@nt&Tp zV&O*5u$HPm=CK7enYJHl39lZ_qLZ5ViqFH`s#;W>7^@vO7+IXNf$|BBqdxPo$V`(x z<$|0C@<L2zAl%GsOQz3#3F~yk*L-fa07u5-%jq!M8JZ=rR@9<c8$jV4He1}ObGnEd znv85mB<@k+)3TOJZjd87i{c0S5y|?v6MSR7SCB(Z!W~z-cx%$>^HSyu4NqX57+p8q z42-xgK$tD<&ftvboo#~f9duFFfc3bjI_M55J<Sa@>Bl)hXGV6{W5&C8P@!szL5uGN zvodM7cW(5FnwF>o7(GrWBr47eE=#P#-^(NRj?yFaM<uBzRMsF#{^FLxjODfY%&8ds zHp~;*%&9%*G4C#83Hr5g<!|3naocXxeBIszB{$;ZuqOr{Q8(llMY=7j=Fq#c=F~e& zt*%H*G24NL{H86A8QW-{D9vlI8QUGV8QbkF@vaEE!c2hmQ_`I6)o(kH<MSt^<E|ea zAgr-o5W1xAtR4Y(GL^q0t710-s$xj5oo0Y$OzDHu#2>fOX4>p6PZpoxJs9t))&Tcy zPiV&oozkuNO)(pz_dIJdZoD7N_pqHooMK&*_g^{%-4K3@ynw8UzX-l@9)mPf-7|Ul ze>?WW5PL_0xA(;G%a792J)wBRaEapy{Y~%=bwTI}yGi1SBbd+I?=_QU?+N@E`+@Tq z_W`^q$sIx_?(I`_<vF9f^W}J!E%}8#bNhwrE&6Wp=dU~Ux8OTgtt^0F{^Ty<4EmMb z2~_*gJ%U&I3#LwQUOwF}S$>tBCu&qoXW*c?cUV^J2b^raSLk9(r%zVg2VR#LcO>ie zw_{DM%>l)H@9x=>!7I2-!gu0D-fh+V-yynjALyAR@3xhfJ1ujvSEgLDFX-)jFL=j! zKk?~eKTw0jenZfGM&DxBcEViLHINR8^ft2seG&dE`@1auHT(Ox{p7LjUh?cF26ItY zrlHL5^<wt-rrqROU2d+TELH;<Z<4|E59q8}UChq|#t!e2g2s>OKHsM{<|*ppvXb#O zpG)@&o;(hEO7}V<W-I#L%IEN+Xdr{`@FHp>^SfBL$lLMoPHXY_&nCAA_V*Z~<XL`3 zS}om%c&wc1A&rZI=~}QTy!#5wydJ%&(}-v%0_GEbaSmdPnSKo&^|BypL6+M4dbh9U z3ztQEPYa>WpN!{<)4z;88`%cWPtPzA!-xY|QU=`>s*Oi;gZwKsM*Q5XvRgNL3X0UL z@~}8Hg$(q0(`JmZgt<w}qPs@q=FGJ^li}1LOdLnyW8DTN)FN}Boex#RhbkVB^^~IO z1_Rzt7aK9$dsWOndN+DBjQn}iIOl2f#YPsG;iPfXe9Y#(-+PSmy+L3_Js6qdFkrD# zRm^g0s_*OLXN<efhoaYaGO}$=!qr9N+UT!!csf(Mg(dMO2?x1r8_K5y|460}0nCY$ zdCvH<2cZXJ9K?ZP4sZTBWoU{NX<Nt`v0vb;3G9?PlSN9*v&kJP2xE1!GV=>aFAlg8 z3$*8V)5q~-spoS-?+Pf;I0(&_lt|l%6XD_GG<y1QlZ&*PZmV3_RNX)45PdbN2iJbM z#NA8Qm?6fvY!0v$x!O+dewKJLxe2nOqPs)*w1tmg$k(lruAV)OF4UMa)Q5OMiPVH4 z1@|D_RwV6u93uiHIi`SBK7PGI52Z7u#(hZF@>BDB<jr$-HH+Lto_s|kC{r{@>-r5? z)U$J-0KjFKXa`yR2i%3b2@N8j2G!g<#*Z*m6ib`p2HPY@`dvSn)Up<0yWsm87y%zr z-PU0D+XtN$Q~%c*W=%5(7G0E4XA}_8@)D^rgPLY)Hwnhca5Ryl1}x&&w^g&iM9(ia z40UP9;iS7q@Q`G7l5#ogXdDT7)bwE_UH{{~Ev51?*1V10pM9)`3d3`?YUL_n%g|q? zF<8`S;`I$Cu_e(@%@pWU>PgL7Yy%fwIXhEubY|}$2RJY2O>no<5cl|=OrU+wl%Tmm z|K=~X*_r1s))NOX+i59W#Z9=$f&JwwWrGr=Q6a7-j^FvK=2N9i7~9zSB?IFUa`j4x z@qfWvTCd@vzvxYT_Jqdms^EtPG9)Q{B_%dzXVeGSIZh{L21S{z$RyS2Oebbz=0-8I zC&uPjGrj}!KzZKidh!$4`ED9idezO*ChtXzwsHWT@85(<9ibDmr^ZKJ)FjSaZOoz} zVJY%qJb7HnNWT*^Z{F&2J}bJ$8s~a<Efz<W)tR#0rACZ^f}EL*%aNgTpNn%nuBOD$ zV8zn5ZsNpe8`uvN^flg~Ydnc|A&tf)OnCAl(sw~zeq`D>O=YgI4(=Pb?{%d6C#bXj z0rfLw)M4~4-ZC=Pe;uc-@vq}dOz=~dulp+~LzmAV6gX43&<;|jXLC%a%u9sczpO#V zty?twDj3V-B}nh4;Sczb5O>}TU(ejcyID--`|f%*ka6~;!cBa#TdFoz8e3vq$BE;N zJ)aK+04u_U<GdX=+AsvCN>eSC8~ltyK)2rXEK2NsW;BkDBH%kNgy9&+%UXo=mb`{9 zkr6ODO=C?N<Uq&(_WuU?|JVw-IkxA+u6+b=-WF;A7gRT9o?jpNYEu6F#8IVe+@xV? zc^t|lC<0SWC2XAIGYFwP&hw`r91f-jiKS_Si2p&F9Lu`&V3YiNVAxADC0bpHkp+7? zZPM(vPbMiWJeN#!vNw3jV{(iMQrkG+Y$)E#=MpY&Ua!fhi>xnkeTNxt*8V%*rqsg# z=@mH*KO%$At@2;WNUc5o*Wq%!=G6a0DUgk%x;2}DYKzuIc3L<s_U#yko}YMC-SRnH z+WfGsj2(MAi`<Al_B)V190(=$pYHvS$w^fIn2eCD-5Y6pk4<|*6GMF<H$3;FO;Tcw zmM)x0|7pu9r|;Y!=F{Zi?P^XOaELZtG2M{`#^ng63L~ehgR9ikz+*NH!-eTX8|tjC zEz+kW`hQLCKKnQOWNSfNNgqe=Wo2~LTR;T+LvpSX5&|Sfj_k>%1CS77;2nT%NA@$D z51^kRqvyY7^<6kby!qICsxnYMLx!u-F@IQDA@(0o6env!=S}Con2cHV<jEvR(L@cN z-Zy)GpYq@Kn*^yE1bHYjaOS|3DViR>KxcSbb~6c@PU+t-W65wLIMC;S8%TDNYQbg< z)7@mROzD0eVRT0AVVhPNqxl!XFXB>vXj%S`c6>h#2A*+7?Qh?hDOG?eP~HqjM)T`A zc5L~C1UUAYPSYTiL`#Nw()QJY$o^jbRMTs+a%62^`^MWtbk_o?@33Dix!-WSS38RC zRk0?C;^^u9b32JwvRN-=_hrE3sSo;R|Mu_yXw@=7e;fy0qeZ8diCgt4pY#~Hj$j%6 z4~h%_i{isFu9wFs_j-xk|EdTXeE^H;ZNSyI6rL6>>#N{OWp47MDjH3lLaM8YlpVl= zsd+sUsc9A_4;M~1Wbtd%>ajh*)6w!mo}HcI?wltjD<0GQ$Fs*jdJ=SHz<WDh?1I04 zHy)pun2?Yd57;y4Ou12rPjHjx7-Iz-;MH;Nrr9gPeTLxsjW*n-lpE+SZqwB`Bo7X9 z^V3M4_wQy=Y#ps5!aqXC7Y%kFmuzr7{+G<h;%{&s#;euTQ+N+1pG?NgH^a%^w;(xj zjK^37OJWT^|1)8~Dd??%6hR6vm&)&qY-6r1>Iu2KC9bb5wq*Yi0@zCzObYL(VDXio z!qse6XhYxWbz*YI_hdcDn)`B_y2XTdS6ucB7O5z`_FX)~1^Rs(E8r-0bQD5lHr@Se zoF8j>VU_<XjR3`>Kw90iz>~>m?J9|m2_d1isysCU<O2A4yvb&2O*c&2@Ya3eOM51R zvx6_y78Mo0dB~tD!yg`4LsB{ttugYtaLFG=h1~nc>K$BY+)d}tsCo-Je2x&~Nsy}0 ztFC2G!wZ~;(FNTmAP*p5xTJ5JJiLFl;(4G(cVO0>)G;8T8DB7rw5=}?{k~xzMSrU1 zz-og3KLT0Cl_?nM?sy&fZ&Vd$G5rmz{vAU~aE}5WU3H2&_hk8ggM^%^@aVXiF-F4x zc$u(e)dRXmSCH>*@(SvBS3Q@viLc*Bv{L`Dtrtp|_CC2JHOh!B{IjJrK{D5zZD_Yi z9jB`=FHkzC_=qw?gFucQ8%lZLe9#SfsbDsWz)<@j&i;Pq%@23>$ML=;H@GaC)%x5& zp>>QH?y~mDxC?)<N`Lr=aSzKv4Ov5X;XL09|2MPyQ2wyNU$fsnet5fL*10z;3)k2+ zTc{+2&6qGKTagEiTF}zLgN}M8RL6H?!>PO=-o5&Ig)=1mz>r%e|BKjHT=O3RfPWD? zKtsQDE_072@<EQ_MXVr4qDX~PSqT?pp;rWDNNLfVjneyRx>ip%FGf9tenE)|wC3b~ z(`@}8wIHsDB={d;8_aC0!I^AB#37T~+L2^8@nid#Vzr_8hZzJ&{z4^J%|ojHQ-5JW zM^n}TpW>#hDtaiw9pBh3G9ZC~m&S}y4h!}UU0!gd9E9?TnJ$K4`2&T&6x_K!SnwmB zL`6H}A396!aG=D2OL_@+`-rEw_*SAcJXcy-SyBQwxDA<I3wLcH2R$F0AGV&5;4>m2 zN@B&bbV6yy?b0oeh;e?SoHoG`{ZFbQdhxGtgjJRP?Rmgi#($Ng`M-Ffq@<*x^c%a_ zRzdBzuqdQXR}e6#I<w0~B5~F<7K2g+C#rtls)7=w<S(%!5lN9`hb^{Rx@keh_Z^cR z31@1tu(<griE)_B0xz1)<Ix!b;Cx#X&;3l1=jZx%nPWKED6^TeE5WZ*E#?SPX&=ZX z0&>|<FVa$a7H*Z;5<;hGbsLV$LFBU#&M+^V2a}y}TCi`!|EBalVO2+eGWx#nk8l5X z<OmRwpj0YluP9TaMJ+ZiBr2?k6o$fljvU59f>WYGX>fMn&)3dTNRX=}6hE!IF`>_A zoHrF^a9xaJ9MZr0FKiYjS!S-aOE)}~M({R9@wc#*KYPC{ji<xrMCxZLg7v@{ha9w1 zu{3&;NS^X^G1*Aw{!TJrfvVz02(Ww!6=Kr#bKZ2;$kWY^WuSR@Dx<At#{Q9zT!hrF zvlO>2R4*MvlUMT}5)7cw3fn(M{fqq4vb^~k$o~ZFtSM9G+EEeH?buI*fX)5jfkLSW zmHA$EpQ*c&26;IP3&%SM|34mJyKP3q4^;R}Z)-3a|8>AQYkl|WeaR&MZJp@+?cn_2 zXV_w4n@-x4XTjLQUOy+V1}{fAnF$?mA4ClrUN^H&d^SR3XyJCS{hGXXLp2#-S-SCi zZ&D*MfZm4T?!ab@_kstsKiJ_-xd^|E9w#Vy#g_cv2*6!5aCH-|c}foTp-|jW++qF? zh)h_U(r1wJKid#b6q!AUT2)aNHE7aZLBP=FHJ~&n8!<22Pwrq2tjqaFaJ>FB;o#sO zi3GH+qIDnMmUW2%vKabpg-TV2=PYb8S*u#i5k2hZn)Kxv511!~7&T`4dtP3CdU~pJ zui-T()!h5q>o%GTTXUT9{k^jJ#E?e|c3O8{J*e;yC~c<+Zks%gOY-8n%0Djn)S-bt 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�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 literal 0 HcmV?d00001 diff --git a/ui/ui-frontend/projects/pastis/src/assets/i18n-old/en.json b/ui/ui-frontend/projects/pastis/src/assets/i18n-old/en.json new file mode 100644 index 000000000..e7eb2aafc --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/i18n-old/en.json @@ -0,0 +1,124 @@ +{ + "APPLICATION-LIST": { + "settings": "Settings", + "administrators": "Management", + "users": "User", + "referential": "Referential", + "opaudit": "Audits & operations", + "techadmin": "Technical administration", + "lastusedapps": "Lastly used" + }, + "PASTIS_LIST": { + "SEARCH": "Search for a profile by its title" + }, + "APPLICATION": { + "ARCHIVAL_PROFILE_APP": { + "NAME": "Archival Profiles", + "TOOLTIP": "Params Archival Profiles" + } + }, + "NOTICE": { + "ONGLET_NOTICE_TITLE": "NOTICE", + "ONGLET_NOTICE_TYPE": "Type", + "ONGLET_NOTICE_ID": "Username", + "ONGLET_NOTICE_INTITULE": "Entitled", + "ONGLET_NOTICE_DESCRIPTION": "Description", + "NOTICE_CHART_UN": "Authorize in the manifest the presence of", + "NOTICE_CHART_DEUX": "metadata not declared in the PUA?" + }, + "PASTIS_SPINNER_INTERCEPTOR": { + "NOTIFICATION_CREATE_PROFILE": "RNG data has been loaded successfully", + "NOTIFICATION_EDIT": "RNG data has been loaded successfully", + "NOTIFICATION_SEDA": "SEDA data has been loaded successfully", + "NOTIFICATION_UPDATE_PROFILE": "The RNG file was generated successfully" + }, + "PASTIS_DIALOG_CONFIRM": { + "POPUP_VALIDER": "YES", + "POPUP_ANNULER": "NO" + }, + "PROFILE": { + "EDIT_PROFILE": { + "NOTICE_TAB": "Notice", + "ENTETE": "Header", + "REGLES": "Rules", + "UNITES_ARCHIVES": "Archive units", + "OBJETS": "Objects", + "NOTICE_PUA_MODE": "Notice", + "UNITES_ARCHIVES_PUA_MODE": "Archive units", + "NOM_PUA": "Name of the archival unit profile", + "NOM_PA": "Archive profile name", + "PROFILE.EDIT_PROFILE.PROFILE_ID": "Username", + "FILE_TREE": { + "AJOUTER_UA": "ADD A UA", + "AJOUTER_UA_ICON": "ADD A UA", + "AJOUTER_UA_TOOLTIP": "ADD A UA", + "NOTIFICATION_REMOVE_SUCCESS_ONE": "has been", + "NOTIFICATION_REMOVE_SUCCESS_TWO": "with success", + "NOTIFICATION_ADD_MEDATADONNEE_PONE": "Metadata", + "NOTIFICATION_ADD_METADONNEE_PTWO": "have been added", + "NOTIFICATION_ADD_METADONNEE_SONE": "Metadata", + "NOTIFICATION_ADD_METADONNEE_STWO": "has been added", + "NOTIFICATION_ADD_METADONNEE_FILE_TREE": "ArchiveUnit metadata has been added", + "POPUP_REMOVE_SEDA_ELEMENT_ATTRIBUT": "Attribute", + "POPUP_REMOVE_SEDA_ELEMENT_METADONNEE": "Metadata", + "POPUP_REMOVE_TITRE": "Do you want to delete", + "POPUP_REMOVE_SOUS_TITRE_ATTRIBUT": "Deleting an attribute", + "POPUP_SOUS_TITRE_METADONNEE": "Deleting a metadata", + "POPUP_REMOVE_DELETE_TYPE_TEXT_M": "deleted", + "POPUP_REMOVE_DELETE_TYPE_TEXT_F": "deleted", + "POPUP_ADD_CANCEL_LABEL": "Cancel", + "POPUP_ADD_TITLE_DIALOG": "Please select one or more metadata", + "POPUP_ADD_SUBTITLE_DIALOG": "Add metadata to", + "POPUP_ADD_OK_LABEL": "Add metadata" + }, + "FILE_TREE_METADATA": { + "NOTIFICATION_AJOUT_METADONNEE": "ArchiveUnit metadata has been added", + "BOUTON_AJOUT_METADONNEE": "Add metadata", + "BOUTON_AJOUT_UA": "Add UA", + "POPUP_SOUS_TITRE": "Editing attributes of", + "POPUP_VALIDER": "Validate", + "POPUP_ANNULER": "Cancel", + "ENREGISTRER_PROFIL_TOOLTIP": "Save profile", + "TELECHARGER_MANUEL_TOOLTIP": "Setting", + "NOM_METADONNEE": "Metadata name", + "VALEUR_FIXE": "Fixed value", + "CARDINALITE ": "Cardinality", + "COMMENTAIRE": "Comment", + "DUPLIQUER": "Duplicate", + "ATTRIBUT_METADONNEE": "Metadata attributes", + "SUPPRIMER": "Remove", + "MESSAGE_METADONNEE_SANS_FILLES": { + "PARTIEUN": "The metadata", + "PARTIEDEUX": "does not contain any child metadata. You must add at least one to it to be able to use it in your profile." + }, + "ATTRIBUTS": { + "NOM_ATTRIBUT": "Attribute name", + "VALEUR_FIXE": "Fixed value", + "COMMENTAIRE": "Comment" + } + } + }, + "LIST_PROFILE": { + "CREER_GERER_PROFILE_ARCHIVAGE": "create and manage archiving profiles", + "SEARCH_PLACEHOLDER": "Search for a profile by its title", + "CREER_NOUVEAU_PROFIL": "create a new profile", + "IMPORTER_PROFIL": "import a profile", + "LISTE_DES_PROFILS": "List of profiles", + "TOUS_LES_PROFILS": "All profiles", + "TABLE": { + "TYPE_ETAT": "Type / State", + "IDENTIFIANT": "Username", + "INTITULE": "Entitled", + "DERNIERES_MODIFICATIONS": "Latest changes" + } + } + }, + "USER_ACTION": { + "ADD_METADATA": { + "SEARCH_PLACEHOLDER": "Search for a profile by its title", + "METADATA_ADD": "The metadata to add", + "BOUTON_AJOUTER": "Add", + "MESSAGE_PLUS_METADONNEE": "There is no more metadata to add" + } + } +} diff --git a/ui/ui-frontend/projects/pastis/src/assets/i18n-old/fr.json b/ui/ui-frontend/projects/pastis/src/assets/i18n-old/fr.json new file mode 100644 index 000000000..9fc4fbc48 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/i18n-old/fr.json @@ -0,0 +1,127 @@ +{ + "APPLICATION-LIST": { + "settings": "Paramétrage", + "administrators": "Management", + "users": "Utilisateur", + "referential": "Référentiels", + "opaudit": "Audits et opérations", + "techadmin": "Administration technique", + "lastusedapps": "Dernières utilisées" + }, + "APPLICATION": { + "ARCHIVAL_PROFILE_APP": { + "NAME": "Profiles d'archives", + "TOOLTIP": "Paramétrer les profile d'archivage" + } + }, + "NOTICE": { + "ONGLET_NOTICE_TITLE": "NOTICE", + "ONGLET_NOTICE_TYPE": "Type", + "ONGLET_NOTICE_ID": "Identifiant", + "ONGLET_NOTICE_INTITULE": "Intitulé", + "ONGLET_NOTICE_DESCRIPTION": "Description", + "NOTICE_CHART_UN": "Autoriser dans le manifeste la présence de", + "NOTICE_CHART_DEUX": "métadonnées non déclarées dans le PUA ?" + }, + "PASTIS_SPINNER_INTERCEPTOR": { + "NOTIFICATION_CREATE_PROFILE": "Les données RNG ont été chargées avec succès", + "NOTIFICATION_EDIT": "Les données RNG ont été chargées avec succès", + "NOTIFICATION_SEDA": "Les données SEDA ont été chargées avec succès", + "NOTIFICATION_UPDATE_PROFILE": "Le fichier RNG a été généré avec succès" + }, + "PASTIS_DIALOG_CONFIRM": { + "POPUP_VALIDER": "OUI", + "POPUP_ANNULER": "NON" + }, + "PROFILE": { + "EDIT_PROFILE": { + "NOTICE_TAB": "Notice", + "ENTETE": "Entête", + "REGLES": "Règles", + "UNITES_ARCHIVES": "Unités d'archives", + "OBJETS": "Objets", + "NOTICE_PUA_MODE": "Notice", + "UNITES_ARCHIVES_PUA_MODE": "Unités d'archives", + "NOM_PUA": "Nom du profil d unité archivistique", + "NOM_PA": "Nom du profil d'archivage", + "PROFILE_ID": "Identifiant", + "FILE_TREE": { + "AJOUTER_UA": "Ajouter une UA", + "AJOUTER_UA_ICON": "AJOUTER UNE UA", + "AJOUTER_UA_TOOLTIP": "Ajouter une UA", + "NOTIFICATION_REMOVE_SUCCESS_ONE": "a été", + "NOTIFICATION_REMOVE_SUCCESS_TWO": "avec succès", + "NOTIFICATION_ADD_MEDATADONNEE_PONE": "Les métadonnées", + "NOTIFICATION_ADD_METADONNEE_PTWO": "ont été ajoutées", + "NOTIFICATION_ADD_METADONNEE_SONE": "La métadonnée", + "NOTIFICATION_ADD_METADONNEE_STWO": "a été ajoutée", + "NOTIFICATION_ADD_METADONNEE_FILE_TREE": "La métadonnée ArchiveUnit a été ajoutée", + "POPUP_REMOVE_SEDA_ELEMENT_ATTRIBUT": "L'attribut", + "POPUP_REMOVE_SEDA_ELEMENT_METADONNEE": "La métadonnée", + "POPUP_REMOVE_TITRE": "Voulez-vous supprimer", + "POPUP_REMOVE_SOUS_TITRE_ATTRIBUT": "Suppression d'un attribut", + "POPUP_SOUS_TITRE_METADONNEE": "Suppression d'une métadonnée", + "POPUP_REMOVE_DELETE_TYPE_TEXT_M": "supprimé", + "POPUP_REMOVE_DELETE_TYPE_TEXT_F": "supprimée", + "POPUP_ADD_CANCEL_LABEL": "Annuler", + "POPUP_ADD_TITLE_DIALOG": "Veuillez sélectionner une ou plusieurs métadonnées", + "POPUP_ADD_SUBTITLE_DIALOG": "Ajouter des métadonnées à ", + "POPUP_ADD_OK_LABEL": "Ajouter les métadonnées" + }, + "FILE_TREE_METADATA": { + "NOTIFICATION_AJOUT_METADONNEE": "La métadonnée ArchiveUnit a été ajoutée", + "BOUTON_AJOUT_METADONNEE": "Ajouter une métadonnée", + "BOUTON_AJOUT_UA": "Ajouter une UA", + "POPUP_SOUS_TITRE": "Edition des attributs de", + "POPUP_VALIDER": "Valider", + "POPUP_ANNULER": "Annuler", + "ENREGISTRER_PROFIL_TOOLTIP": "Enregistrer le profil", + "TELECHARGER_MANUEL_TOOLTIP": "Paramètres", + "NOM_METADONNEE": "Nom de la métadonnée", + "VALEUR_FIXE": "Valeur fixe", + "CARDINALITE ": "Cardinalité", + "COMMENTAIRE": "Commentaire", + "DUPLIQUER": "Dupliquer", + "ATTRIBUT_METADONNEE": "Attributs de métadonnée", + "SUPPRIMER": "Supprimer", + "MESSAGE_METADONNEE_SANS_FILLES": { + "PARTIEUN": "La métadonnée", + "PARTIEDEUX": "ne contient pas de métadonnées filles. Vous devez lui en ajouter au moins une pour pouvoir l'utiliser dans votre profil." + }, + "ATTRIBUTS": { + "NOM_ATTRIBUT": "Nom de l'attribut", + "VALEUR_FIXE": "Valeur fixe", + "COMMENTAIRE": "Commentaire" + } + } + }, + "LIST_PROFILE": { + "CREER_GERER_PROFILE_ARCHIVAGE": "créer et gérer des profils d’archivage", + "SEARCH_PLACEHOLDER": "Recherche un profil par son intitulé", + "CREER_NOUVEAU_PROFIL": "créer un nouveau profil", + "IMPORTER_PROFIL": "importer un profil", + "LISTE_DES_PROFILS": "Liste des profils", + "TOUS_LES_PROFILS": "Tous les profils", + "TABLE": { + "TYPE_ETAT": "Type/Etat", + "IDENTIFIANT": "Identifiant", + "INTITULE": "Intitulé", + "DERNIERES_MODIFICATIONS": "Dernières modifications" + } + } + }, + "USER_ACTION": { + "ADD_METADATA": { + "SEARCH_PLACEHOLDER": "Recherche une métadonnée par son intitulé", + "METADATA_ADD": "Les métadonnées à ajouter", + "BOUTON_AJOUTER": "Ajouter", + "MESSAGE_PLUS_METADONNEE": "Il n'y a plus de métadonnées à ajouter" + } + } +} + + + + + + diff --git a/ui/ui-frontend/projects/pastis/src/assets/i18n/en.json b/ui/ui-frontend/projects/pastis/src/assets/i18n/en.json new file mode 100644 index 000000000..7df4cdafc --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/i18n/en.json @@ -0,0 +1,3169 @@ +{ + "APPLICATION-LIST": { + "settings": "Settings", + "administrators": "Management", + "users": "User", + "referential": "Referential", + "opaudit": "Audits & operations", + "techadmin": "Technical administration", + "lastusedapps": "Lastly used" + }, + "NOTICE": { + "ONGLET_NOTICE_TITLE": "NOTICE", + "ONGLET_NOTICE_TYPE": "Type", + "ONGLET_NOTICE_ID": "Username", + "ONGLET_NOTICE_INTITULE": "Entitled", + "ONGLET_NOTICE_DESCRIPTION": "Description", + "NOTICE_CHART_UN": "Authorize in the manifest the presence of", + "NOTICE_CHART_DEUX": "metadata not declared in the PUA?" + }, + "PASTIS_SPINNER_INTERCEPTOR": { + "NOTIFICATION_CREATE_PROFILE": "RNG data has been loaded successfully", + "NOTIFICATION_EDIT": "RNG data has been loaded successfully", + "NOTIFICATION_SEDA": "SEDA data has been loaded successfully", + "NOTIFICATION_UPDATE_PROFILE": "The RNG file was generated successfully" + }, + "PASTIS_DIALOG_CONFIRM": { + "POPUP_VALIDER": "YES", + "POPUP_ANNULER": "NO" + }, + "SHARED": { + "PASTIS_POP_UP_METADATA_LANGUAGE": { + "SEDA_TITLE": "Viewing metadata", + "SEDA": "SEDA", + "FRANCAIS": "French", + "MANUEL_UTILISATION": "User Manual Pastis" + } + }, + "PROFILE_PREVIEW": { + "NOTICE": "Notice", + "HISTORIQUE": "History", + "MENU": { + "MODIFIER_PROFILE": "Modify the profile", + "TELECHARGER_PROFILE": "Download the profile" + }, + "INFORMATION_TAB": { + "PROFILE": "Profile", + "ACTIF": "active", + "TYPE": "Type", + "PROFILE_ARCHIVAGE": "Archival profile", + "PROFILE_UNITE_ARCHIVISTIQUE": "Archival Unit Profile", + "INTITULE": "Entitled", + "DESCRIPTION": "Description", + "PROFIL_ATTACHE": "Attached profile", + "PRESENCE_PROFIL_ATTACHE": "Presence of an attached profile", + "PAS_PROFIL_ATTACHE": "No profile attached", + "ENREGISTRER": "SAVE" + } + }, + "PROFILE": { + "POP_UP_SAVE": { + "SAVE_PROFILE": { + "POPUP_SAVE_CANCEL_LABEL": "CANCEL", + "POPUP_SAVE_TITLE_DIALOG": "Select your recording options", + "POPUP_SAVE_SUBTITLE_DIALOG": "Registration", + "POPUP_SAVE_OK_LABEL": "VALIDATE", + "POPUP_CREATE_NOTICE_CANCEL_LABEL": "PREVIOUS", + "POPUP_CREATE_NOTICE_TITLE_DIALOG": "Write the profile record", + "POPUP_CREATE_NOTICE_SUBTITLE_DIALOG": "Registration", + "POPUP_CREATE_NOTICE_OK_LABEL": "TERMINATE" + }, + "CHOICE": { + "FIRST_CHOICE_ENREGISTREMENT": "Local", + "SECOND_CHOICE_ENREGISTREMENT": "SAE", + "TITLE_ENREGISTREMENT": "Where do you want to save it?", + "FIRST_CHOICE_GESTION_NOTICE": "Creation of a new record", + "SECOND_CHOICE_GESTION_NOTICE": "Attachment to an existing record", + "TITLE_GESTION_NOTICE":"Managing the profile record", + "ENREGISTREMENT_OK_LABEL_NEXT": "NEXT", + "ENREGISTREMENT_OK_LABEL_TERMINATE": "TERMINATE" + } + }, + "POP_UP_CREATION_NOTICE": { + "AUTORISER_PRESENCE_METADONNEES": "Allow in the manifest the presence of metadata not declared in the PUA?", + "ENREGISTRER_ACTIF_INACTIF": "Would you like to save it in active or inactive state?", + "INTITULE": "Entitled", + "DESCRIPTION" : "Description", + "CHOICE": { + "PROFIL_ACTIF": "Active Profile", + "PROFIL_INACTIF": "Inactive Profile" + } + }, + "POP_UP_CREATION": { + "POPUP_CREATION_CANCEL_LABEL":"CANCEL", + "POPUP_CREATION_TITLE_DIALOG": "Creating a profile", + "POPUP_CREATION_SUBTITLE_DIALOG": "Choice of profile type", + "POPUP_CREATION_OK_LABEL": "TERMINATE", + "CHOICE": { + "FIRST_CHOICE": "PA", + "SECOND_CHOICE": "PUA", + "TITLE": "Select an archive profile" + } + }, + "EDIT_PROFILE": { + "NOTICE_TAB": "Notice", + "ENTETE": "Header", + "REGLES": "Rules", + "UNITES_ARCHIVES": "Archive units", + "OBJETS": "Objects", + "NOTICE_PUA_MODE": "Notice", + "UNITES_ARCHIVES_PUA_MODE": "Archive units", + "NOM_PUA": "Name of the archival unit profile", + "NOM_PA": "Archive profile name", + "PROFILE_ID": "Username", + "BREADCRUMB": { + "PORTAIL": "Portal", + "CREER_ET_GERER_PROFIL": "Create and manage documentary profiles" + }, + "FILE_TREE": { + "AJOUTER_UA": "ADD A UA", + "AJOUTER_UA_ICON": "ADD A UA", + "AJOUTER_UA_TOOLTIP": "ADD A UA", + "NOTIFICATION_REMOVE_SUCCESS_ONE": " has been", + "NOTIFICATION_REMOVE_SUCCESS_TWO": "with success", + "NOTIFICATION_DUPLICATE_SUCCESS_ONE": " has been", + "NOTIFICATION_DUPLICATE_SUCCESS_TWO": "with success", + "NOTIFICATION_ADD_MEDATADONNEE_PONE": "Metadata", + "NOTIFICATION_ADD_METADONNEE_PTWO": " have been added", + "NOTIFICATION_ADD_METADONNEE_SONE": "Metadata", + "NOTIFICATION_ADD_METADONNEE_STWO": " has been added", + "NOTIFICATION_ADD_METADONNEE_FILE_TREE": "ArchiveUnit metadata has been added", + "POPUP_REMOVE_SEDA_ELEMENT_ATTRIBUT": "Attribute", + "POPUP_REMOVE_SEDA_ELEMENT_METADONNEE": "Metadata ", + "POPUP_REMOVE_TITRE": "Do you want to delete", + "POPUP_REMOVE_SOUS_TITRE_ATTRIBUT": "Do you want to delete", + "POPUP_SOUS_TITRE_METADONNEE": "Deleting a metadata", + "POPUP_REMOVE_DELETE_TYPE_TEXT_M": " deleted ", + "POPUP_REMOVE_DELETE_TYPE_TEXT_F": " deleted ", + "POPUP_ADD_CANCEL_LABEL": "Cancel", + "POPUP_ADD_TITLE_DIALOG": "Please select one or more metadata", + "POPUP_ADD_SUBTITLE_DIALOG": "Add metadata to", + "POPUP_ADD_OK_LABEL": "Add metadata", + "POPUP_DUPLICATE_SEDA_ELEMENT_ATTRIBUT": "Attribute", + "POPUP_DUPLICATE_SEDA_ELEMENT_METADONNEE": "Metadata ", + "POPUP_DUPLICATE_TITRE": "Do you want to duplicate", + "POPUP_DUPLICATE_SOUS_TITRE_ATTRIBUT": "Duplication of an attribute", + "POPUP_DUPLICATE_SOUS_TITRE_METADONNEE": "Duplication of metadata", + "POPUP_DUPLICATE_DELETE_TYPE_TEXT_M": " duplicated ", + "POPUP_DUPLICATE_DELETE_TYPE_TEXT_F": " duplicated ", + "POPUP_DUPLICATE_TITRE_TWO": "its content and configuration (cardinalities and comments)" + }, + "FILE_TREE_METADATA": { + "PUA": "Archiving Unit Profile", + "PA": "Archiving Profile", + "SEARCH_PLACEHOLDER": "Find metadata in the table", + "NOTIFICATION_AJOUT_METADONNEE": "ArchiveUnit metadata has been added", + "BOUTON_AJOUT_METADONNEE": "Add metadata", + "BOUTON_AJOUT_UA": "Add UA", + "POPUP_SOUS_TITRE": "Editing attributes of", + "POPUP_VALIDER": "Validate", + "POPUP_ANNULER": "Cancel", + "ENREGISTRER_PROFIL_TOOLTIP": "Save profile", + "TELECHARGER_MANUEL_TOOLTIP": "Setting", + "NOM_METADONNEE": "Metadata name", + "VALEUR_FIXE": "Fixed value", + "CARDINALITE": "Cardinality", + "COMMENTAIRE": "Comment", + "DUPLIQUER": "Duplicate", + "ATTRIBUT_METADONNEE": "Metadata attributes", + "SUPPRIMER": "Remove", + "MESSAGE_METADONNEE_SANS_FILLES": { + "PARTIEUN": "The metadata", + "PARTIEDEUX": "does not contain any child metadata. You must add at least one to it to be able to use it in your profile." + }, + "ATTRIBUTS": { + "NOM_ATTRIBUT": "Attribute name", + "VALEUR_FIXE": "Fixed value", + "COMMENTAIRE": "Comment" + } + } + }, + "LIST_PROFILE": { + "SEARCH_PLACEHOLDER": "Search for a profile by its title", + "CREER_NOUVEAU_PROFIL": "create a new profile", + "IMPORTER_PROFIL": "import a profile", + "LISTE_DES_PROFILS": "List of profiles", + "TOUS_LES_PROFILS": "All profiles", + "TABLE": { + "TYPE_ETAT": "Type / State", + "IDENTIFIANT": "Username", + "INTITULE": "Entitled", + "DERNIERES_MODIFICATIONS": "Latest changes" + }, + "MODIFIER_PROFIL_TOOLTIP": "Modify the profile" + }, + "CREATE_PROFILE": { + "INFORMATION": { + "TITRE_PA": "AP : Archival profile\n", + "TITRE_PUA":"\nAUP: Archival Unit Profile\n", + "CONTENT_PA": "The archival unit profile is specific to an archival unit, different from the profile archiving which imposes a structure on all the archival units present in a transfer slip.", + "CONTENT_PUA": "The archival unit profile is specific to one archival unit only." + } + } + }, + "USER_ACTION": { + "ADD_METADATA": { + "SEARCH_PLACEHOLDER": "Search for a metadata by its title", + "METADATA_ADD": "The metadata to add", + "BOUTON_AJOUTER": "Add", + "MESSAGE_PLUS_METADONNEE": "There is no more metadata to add" + } + }, + "COMMON": { + "ADD": "Add", + "UNDO": "Cancel", + "BACK": "Back", + "SUBMIT": "Submit", + "UPDATE": "Update", + "NEXT": "Next", + "CONFIRM": "Confirm", + "CLOSE": "Close", + "REQUIRED": "Required param", + "NO_RESULT": "No result", + "SHOW_MORE_RESULTS": "Show more results", + "LANGUAGE": { + "TITLE": "Language", + "ENGLISH": "English", + "FRENCH": "French", + "GERMAN": "German" + }, + "UNDO_MODAL": { + "TITLE": "Close the window", + "UNDO_MESSAGE": "Modified data won't be saved. Are you sure you want to close the window ?" + }, + "HISTORY": { + "NO_HISTORY": "No history", + "OPERATIONS": "Logbook" + } + }, + "COLOR": { + "PRIMARY": "Primary color", + "SECONDARY": "Secondary color", + "TERTIARY": "Tertiary color", + "HEADER_FOOTER": "Header color", + "BACKGROUND": "Background color" + }, + "ACCOUNT": { + "TITLE": "My account", + "REFRESH_PASSWORD": "Change password", + "TAB": { + "INFORMATIONS": "Informations" + }, + "LASTNAME": "Lastname", + "FIRSTNAME": "Firstname", + "MAIL": "Email", + "DEFAULT_LANGUAGE": "Interface language", + "OTP_AUTH": "OTP authentication", + "PHONE": { + "MOBILE": "Phone number", + "FIX": "Home phone number" + }, + "DELIVERY_ADRESS": "Delivery address", + "LEVEL": "Level", + "GROUP": "My profile group" + }, + "SUBROGATION": { + "PREHOME": { + "ORGANIZATIONS": "My Organizations" + }, + "HOME": { + "RESULTS_TABLE": { + "MODAL": { + "IMPOSSIBLE_SUBROGATION": "Subragation for this user is temporarily impossible", + "DENIED_SUBROGATION": "Your subrogation request has been refused", + "CANCEL_SUBROGATION": "Your subragation request has been canceled", + "ACTIVE_SUBROGATION": "You already have a subrogation in progress with the user", + "WAITING_ACCEPTATION": "Waiting for user approval", + "ACCEPT_SUBROGATION": "In order to help you the support has for the next 30 minutes the same rights as you", + "ASK_SUBROGATION": "You ask a user to subrogate" + } + } + }, + "BANNER": { + "MESSAGE": "Subrogation of user {{email}} until {{endDate}}", + "STOP_LABEL": "Stop the subrogation" + } + }, + "APPLICATION": { + "PORTAL_APP": { + "NAME": "Portal" + }, + "PASTIS_APP": { + "NAME": "Documentary Profiles", + "TOOLTIP": "Access, Create, Modify or Delete archiving profiles and archival unit profiles" + }, + "ARCHIVAL_PROFILE_APP": { + "NAME": "Archival Profiles", + "TOOLTIP": "Params Archival Profiles" + }, + "CUSTOMERS_APP": { + "NAME": "Clients organizations settings", + "TOOLTIP": "Set up a client organization, assign safes and configure user authentication security" + }, + "USERS_APP": { + "NAME": "Users settings", + "TOOLTIP": "Create, modify or deactivate users. Assign rights to users" + }, + "GROUPS_APP": { + "NAME": "Groups rights", + "TOOLTIP": "Configure groups of rights profiles, which will be assigned to users" + }, + "PROFILES_APP": { + "NAME": "Administrator’s rights", + "TOOLTIP": "Set up rights profiles for administrators in an organization" + }, + "SUBROGATIONS_APP": { + "NAME": "User support", + "TOOLTIP": "Temporarily subrogate the rights of a user in an organization" + }, + "ACCOUNTS_APP": { + "NAME": "My account", + "TOOLTIP": "Find informations about my user" + }, + "HIERARCHY_PROFILE_APP": { + "NAME": "Duplicate rights profiles", + "TOOLTIP": "Duplicate an existing rights profile to limit its scope or manage privilege" + }, + "ARCHIVE_APP": { + "NAME": "Archives research and consultation", + "TOOLTIP": "Search and consult archives" + }, + "ADMIN_FLOWS_APP": { + "NAME": "Flows", + "TOOLTIP": "Set up ingest flows for organizations" + }, + "FILE_INGEST_ITEM_ADMIN_SUPERVISION_APP": { + "NAME": "File ingest organisations supervision", + "TOOLTIP": "Supervise file ingest of organizations" + }, + "FILE_INGEST_ITEM_CUSTOMER_SUPERVISION_APP": { + "NAME": "Safe slips", + "TOOLTIP": "Supervise all slips of a safe" + }, + "ITEM_ADMIN_SUPERVISION_APP": { + "NAME": "Organization slips", + "TOOLTIP": "Manage slips of the organizations assigned to the operator of the instance" + }, + "ITEM_CUSTOMER_SUPERVISION_APP": { + "NAME": "Item supervision", + "TOOLTIP": "Supervise items" + }, + "INGEST_SUPERVISION_APP": { + "NAME": "Ingest validation", + "TOOLTIP": "Validate or refuse ingests in a tenant by the authorities designated by the organization" + }, + "MANUAL_INGEST_APP": { + "NAME": "Filing and monitoring of file transfers", + "TOOLTIP": "Submit an archive package (SIP) previously created in SEDA format" + }, + "MY_ACTIVITY_V2_APP": { + "NAME": "My slips", + "TOOLTIP": "Manage slips I have issued and those assigned to me" + }, + "MY_OPERATOR_ACTIVITY_APP": { + "NAME": "My Operator Activity", + "TOOLTIP": "Consult my actions concerning the slips of all organizations" + }, + "ARCHIVE_PROFILE_APP": { + "NAME": "Rights in the \"Research\" APP", + "TOOLTIP": "Set up user rights profiles to access and deposit in a safe" + }, + "TENANT_TREE_APP": { + "NAME": "Filing plan", + "TOOLTIP": "Configure the filing plan of a safe and the characteristics of each position in this plan" + }, + "EXT_ALFRESCO_APP": { + "NAME": "Alfresco", + "TOOLTIP": "Access to Alfresco" + }, + "EXT_DOCUWARE_APP": { + "NAME": "Docuware", + "TOOLTIP": "Access to Docuware" + }, + "RECORD_MANAGEMENT_APP": { + "NAME": "Record Management", + "TOOLTIP": "Organize the repository of management rules and manage the archive life cycle" + }, + "ARCHIVE_BATCH_INGEST_APP": { + "NAME": "Indexation", + "TOOLTIP": "Index and deposit batches of physical or electronic archives" + }, + "API_SUPERVISION_APP": { + "NAME": "API Supervision", + "TOOLTIP": "Supervise APIs" + }, + "ARCHIVE_TYPE_APP": { + "NAME": "Forms", + "TOOLTIP": "Configure indexing forms and metadata display rules for users when searching" + }, + "ARCHIVE_ROOM_APP": { + "NAME": "Physical archives center", + "TOOLTIP": "Configure archive centers, sites, buildings and rooms. Monitor occupancy rates" + }, + "BARCODES_APP": { + "NAME": "Barcode", + "TOOLTIP": "Reserve physical archive identifiers and print barcode labels" + }, + "PHYSICAL_CUSTOMERS_APP": { + "NAME": "Physical archives Services", + "TOOLTIP": "Configure the physical archive services and the rights of the client organization" + }, + "ARCHIVE_BATCH_INGEST_PROFILE_APP": { + "NAME": "Deposit by slip", + "TOOLTIP": "Configure user rights profiles to create deposit slips" + }, + "REPORTING_APP": { + "NAME": "Reporting", + "TOOLTIP": "Access to dashboards of the archiving service" + }, + "ARCHIVE_SEARCH_MANAGEMENT_APP": { + "NAME": "Archives Search Service", + "TOOLTIP": "Archives Search Service" + }, + "INGEST_MANAGEMENT_APP": { + "NAME": "Ingest management", + "TOOLTIP": "Ingest management" + }, + "RULES_APP": { + "NAME": "Management rules", + "TOOLTIP": "Management rules" + }, + "FILE_FORMATS_APP": { + "NAME": "Files formats", + "TOOLTIP": "Files formats" + }, + "HOLDING_FILLING_SCHEME_APP": { + "NAME": "Holding filling scheme", + "TOOLTIP": "Holding filling scheme" + }, + "LOGBOOK_MANAGEMENT_OPERATION_APP": { + "NAME": "Logbook management operation", + "TOOLTIP": "Logbook management operation" + }, + "EXTERNAL_PARAM_PROFILE_APP": { + "NAME": "External param profile APP", + "TOOLTIP": "External param profile APP" + }, + "AGENCIES_APP": { + "NAME": "Agent services", + "TOOLTIP": "Declare the producer services and the authorized uploading services in the archiving system" + }, + "CONTEXTS_APP": { + "NAME": "Application contexts", + "TOOLTIP": "Authenticate an application and assign rights to it" + }, + "ONTOLOGY_APP": { + "NAME": "Ontology", + "TOOLTIP": "Configure the catalog of SEDA tags and VITAM fields authorized and indexed in the archiving system" + }, + "SECURE_APP": { + "NAME": "Securing operation", + "TOOLTIP": "Securing operation" + }, + "DSL_APP": { + "NAME": "DSL Query", + "TOOLTIP": "Find UAs from a Custom DSL Query" + }, + "LOGBOOK_OPERATION_APP": { + "NAME": "Operations Log", + "TOOLTIP": "Consulting the logs of entry, base and elimination operations" + }, + "ITEM_SUPERVISION_PROFILE_APP": { + "NAME": "Rights in the \"Item supervision\" APP", + "TOOLTIP": "Set up supervision profiles for the \"Item supervision\" APP" + } + }, + "FOOTER": { + "HELP": "Help", + "LEGAL_NOTICE": "Legal notice", + "TECHNICAL_REFERENT": "Technical referent" + }, + "HEADER": { + "LOGOUT": "Logout", + "NAVIGATE_AS": "Activate subrogation mode", + "MY_ACCOUNT": "My account", + "PROFILE": "Profile" + }, + "MENU": { + "GRAB_APPLICATION": "Grab application name", + "MY_APPLICATIONS": "My applications", + "APPLICATION_TITLE": "Applications", + "CUSTOMER_TITLE": "Organizations", + "TENANT_TITLE": "Safes", + "RESULT": "Result", + "settings": "Settings", + "administrators": "Management", + "users": "User", + "referential": "Referential", + "opaudit": "Audits & operations", + "techadmin": "Technical administration", + "ingests": "Ingests monitoring", + "lastusedapps": "Lastly used", + "ingest_and_consultation": "Ingest & consultation", + "supervision_and_audits": "Supervision & Audits", + "security_and_application_rights": "Security & application rights", + "organization_and_user_rights": "Organization & user rights" + }, + "MENU_APPLICATION_TILE": { + "ENTER_APPLICATION": "Enter to launch the application" + }, + "SELECT_TENANT": { + "MY_TENANTS": "My safes", + "SELECTED": "Selected tenant", + "SELECT": "Select a tenant", + "DIALOG_TITLE": "Welcome to ", + "DIALOG_SUBTITLE": "The archiving applications portal", + "DIALOG_INSTRUCTIONS": "Please select your default safe", + "DIALOG_MESSAGE": "Your default safe can be modified from your account", + "DIALOG_BUTTON_LABEL": "Access to " + }, + "SELECT_CUSTOMER": { + "SELECTED": "Selected customer", + "SELECT": "Select a customer" + }, + "SELECT_LANGUAGE": { + "LANGUAGE": "Language", + "ENGLISH": "English", + "FRENCH": "French" + }, + "SLIDE_TOGGLE": { + "YES": "YES", + "NO": "NO" + }, + "LEVEL_INPUT": { + "SUBLEVEL": "Sub level" + }, + "PROGRESS_BAR": { + "STEP": "Step" + }, + "LANGUAGE": { + "FRENCH": "French", + "ENGLISH": "English", + "GERMAN": "German" + }, + "COUNTRY": { + "FRANCE": "France", + "GERMANY": "Germany", + "ITALY": "Italy", + "UNITED_KINGDOM": "United Kingdom", + "DENMARK": "Denmark", + "SPAIN": "Spain", + "BELGIUM": "Belgium", + "PORTUGAL": "Portugal" + }, + "DOWNLOAD": { + "CANCELLED": "Download cancelled", + "CANCEL_ACTION": "Cancel download", + "CONFIRM_CANCEL_ACTION": "Are you sure you want to cancel the file download?", + "FILE_COMPRESSION": { + "SINGULAR": "File compression : 1 element", + "PLURAL": "File compression : {{ count }} elements" + }, + "FILE_COMPRESSION_TOTAL": { + "SINGULAR": "on {{ total }} (1 element not downloaded)", + "PLURAL": "on {{ total }} ({{ count }} elements not downloaded)" + }, + "FILE_GENERATION": "File generation" + }, + "EDITABLE_SELECT": { + "CONFIM_UPDATE": "Are you sure you want to make this change?" + }, + "EMAILS_INPUT": { + "WRONG_FORMAT": "Incorrect format (name@domain.xyz)", + "INVALID_USER": "Invalid user" + }, + "MULTIPLE_EMAILS_INPUT": { + "PLACEHOLDER": "name@domain.xyz", + "ERROR": "You must enter at least one email address" + }, + "COMMON_SELECT": { + "DEFAULT_LABEL": "(Default)" + }, + "SNACKBAR": { + "UPDATED_ACCOUNT": "Information has been updated", + "FINISHED_SUBROGATION": "The subrogation mode is stopped", + "ACTIVATED_SUBROGATION": "The subrogation mode is activated for {{ duration }} minutes, up to {{ hours }}h{{ minutes }}. Please do not change application.", + "ASK_SUBROGATION": "The user {{ user }} requests a temporary access to your rights", + "ACCEPT_SUBROGATION": "Accept", + "DECLINE_SUBROGATION": "Decline" + }, + "ERROR_DIALOG": { + "TITLE": "Internal server error (500)", + "MESSAGE": "An internal error occured. Please contact an administrator if the problem persists" + }, + "EVENT_TYPE_LABEL": { + "AUDIT": "Audit", + "STP_DELETE_MASTERDATA_CONTEXT.WARNING": "Warning during the process of deleting application contexts", + "STP_CORRECTIVE_AUDIT.KO": "Failed to correct the signatures of each corrupt archival unit or object or group of objects", + "PRESERVATION_STORAGE_BINARY.FATAL": "Technical error when writing objects and groups of objects to storage offers", + "STP_UNIT_LFC_TRACEABILITY": "Process for securing the life cycle logs of archival units", + "EXPORT_PROBATIVE_VALUE.STARTED": "Beginning of the export process for the statement of probative value", + "STP_IMPORT_RULES.EXIST.KO": "Business rules repository import process failed: business rules already exist", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.NOT_FOUND.KO": "Format of the unidentified object", + "LFC.OBJ_STORAGE.OBJ_STORAGE_SUB_TASK.OK": "Success of writing object to storage offers", + "PREPARE_STORAGE_INFO.WARNING": "Warning when preparing storage information", + "LFC.CHECK_UNIT_SCHEMA.WARNING": "Warning during the global check of the archival unit", + "STP_DELETE_SECURITY_PROFILE.STARTED": "Beginning of the security profile deletion process", + "CHECK_HEADER.CHECK_ARCHIVEPROFILE.OK": "Successful verification of archiving profile compliance", + "PRESERVATION_STORAGE_METADATA_LFC.OK": "Successful saving of object group lifecycle logs", + "CHECK_UNIT_SCHEMA.RULE_DATE_FORMAT.KO": "Failure to calculate due dates: the date cannot be managed", + "LFC.CHECK_DIGEST.CALC_CHECK.INVALID.KO": "Failed to verify file hash", + "BUILD_UNIT_LFC_TRACEABILITY.WARNING": "Warning when securing the lifecycle logs of archival units", + "STP_DELETE_FORMAT.KO": "Failed to delete format repository", + "EVIDENCE_AUDIT_LIST_OBJECT.OK": "Successful creation of the list to audit", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.KO": "Failed to audit object group files verification", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.CONTEXT_UNKNOWN.KO": "Failed to check for the presence of the application context: the application context is unknown to the application contexts repository", + "LFC.PRESERVATION_INDEXATION_METADATA.PRESERVATION_INDEXATION_METADATA.KO": "Failed to index object group metadata during a preserve operation", + "FINALIZE_OG_LFC_TRACEABILITY.FINALIZE_OG_LFC_TRACEABILITY.FATAL": "Technical error while finalizing the securing of object group lifecycle logs", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_INDEXED_HASH.OK": "Success of the comparison of the MERKLE tree with the indexed Hash", + "STP_PREPARE_TRACEABILITY_CHECK.WARNING": "Warning during the preparation process for checking secure logs", + "CHECK_CLASSIFICATION_LEVEL.FATAL": "Technical error when checking the classification level", + "CHECK_UNIT_SCHEMA.INVALID_UNIT.FATAL": "Technical error during the overall verification of the archival unit: fields not in conformity", + "LFC.CHECK_UNIT_SCHEMA.CONSISTENCY.KO": "The date contained in the Start date field must be later than the date contained in the End date field", + "STP_CORRECTIVE_AUDIT.FATAL": "Technical error correcting the signatures of each archival unit or corrupted object or group of objects", + "STP_EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS.WARNING": "Warning during the process of creating the report for each archival unit or object or group of objects", + "LFC.UNITS_RULES_COMPUTE.CONSISTENCY": "Checking the consistency of the management rule with respect to its category", + "STP_PREPARATION.FATAL": "Technical error during the process of launching the preparation of the preservation treatment", + "CHECK_DATAOBJECTPACKAGE.CHECK_CONSISTENCY.KO": "Failed to check consistency between objects, groups of objects and archival units", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.MODIFY_PARENT_EXISTING_UNIT_UNAUTHORIZED.KO": "The connection has not been made: impossible to link an existing archival unit to a parent archival unit", + "STP_UPDATE_CONTEXT": "Application context update process", + "CHECK_UNIT_SCHEMA.OK": "Success of the overall verification of the archival unit", + "LFC.CHECK_ARCHIVE_UNIT_PROFILE.INVALID_UNIT.KO": "Failed to verify compliance with archival unit profiles: non-compliant fields", + "LFC.CHECK_MANIFEST_WRONG_ATTACHMENT.OK": "Successful verification of the attachments of archival units and groups of objects", + "LFC.UPDATE_UNIT_RULES.KO": "Failed to update archival unit management rules", + "STP_IMPORT_PRESERVATION_SCENARIO.KO": "Import process for preservation scenarios repository failed", + "STP_DELETE_MASTERDATA_PROFILE.STARTED.OK": "Success of the start of the process of deleting the archive profiles repository (xsd or rng file)", + "STP_INGEST_FINALISATION.ALREADY_EXECUTED": "Action already executed: No entry finalization process", + "LOGBOOK_LC_SECURISATION.FATAL": "Technical error while securing lifecycle logs", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.STARTED": "Beginning of the process of updating the Register of Funds following the final elimination of archival units", + "PROBATIVE_VALUE_CHECK_MERKLE_TREE.STARTED": "Start of checking the MERKLE tree", + "LFC.CHECK_CLASSIFICATION_LEVEL.STARTED": "Start of the classification level check", + "ELIMINATION_ANALYSIS_FINALIZATION.WARNING": "Warning when finalizing the analysis of the elimination of archival units", + "LFC.UPDATE_UNIT_RULES.OK": "Successful update of the management rules for the archival unit", + "STP_OG_CHECK_AND_TRANSFORME.STARTED.OK": "Success of the start of the process of checking and processing objects and groups of objects", + "STP_UPDATE_ACCESS_CONTRACT.STARTED": "Beginning of the process for updating the access contract", + "CHECK_HEADER.CHECK_ARCHIVEPROFILE.STARTED": "Start of checking archiving profile compliance", + "PRESERVATION_ACTION.STARTED": "Beginning of the griffin launch", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_INDEXED_HASH.KO": "Failed to compare MERKLE tree with the indexed Hash", + "RECLASSIFICATION_PREPARATION": "Preparation for modification of the archival unit tree", + "UPDATE_OBJECT_GROUP.OK": "Successful update of the object group", + "STP_PUT_BINARY_ON_WORKSPACE.STARTED.OK": "Beginning of the process of moving binary objects from the storage offer to the internal workspace", + "STP_AUDIT.WARNING": "Warning during the audit execution process", + "STP_PREPARATION.KO": "The process to start the preparation of the preservation treatment failed", + "STP_UNIT_STORING.ALREADY_EXECUTED": "Action already carried out: No process for writing archival units to storage offers", + "STP_PROBATIVE_VALUE_CHECK_OBJECT_GROUP.STARTED": "Beginning of the data recovery process in the database", + "SCENARIO_REPORT.STARTED.OK": "Success of the start of the process of generating the import report for the repository of preservation scenarios", + "STP_DELETE_LOGBOOK_OPERATION": "Process for deleting operation logs", + "LFC.CHECK_MANIFEST_LOOP.STARTED.OK": "Success of the start of the tree non-recursion check", + "STP_DELETE_FORMAT.WARNING": "Warning during the process of deleting the format repository", + "LFC.UPDATE_UNIT_RULES.WARNING": "Warning when updating management rules for the archival unit", + "AGENCIES_REPORT.STARTED": "Beginning of the process for generating the agent services repository import report", + "STP_STORAGE_SECURISATION.FATAL": "Technical error during the process of securing the journal entries", + "STP_DELETE_FORMAT.OK": "Success of the process of deleting the format repository", + "PRESERVATION_PREPARATION.FATAL": "Technical error during the preparation of the preservation treatment", + "STP_BACKUP_SECURITY_PROFILE.WARNING": "Warning during the process of backing up security profiles", + "RECLASSIFICATION_FINALIZATION.STARTED": "Beginning of the finalization of the modification of the archival unit tree", + "ACCESSION_REGISTRATION.ALREADY_EXECUTED": "Action already carried out: No supply to the Funds Register", + "STP_ELIMINATION_ACTION_DETACH_OBJECT_GROUP": "Detachment process for groups of technical objects from which certain parent archival units are eliminated", + "STP_EVIDENCE_AUDIT_CHECK_DATABASE.WARNING": "Warning during the process of retrieving data from the database", + "CHECK_SEDA.CONTAINER_FORMAT.DIRECTORY.KO": "Global SIP check failed: The SIP contains more than one folder or a folder with invalid naming", + "STP_UPDATE.STARTED.OK": "Successful start of the update process for archival units", + "STP_DELETE_METADATA_UNIT.OK": "Success of the process of removing metadata from archival units", + "STP_CORRECTIVE_AUDIT.OK": "Successful correction of the signatures of each corrupt archival unit or object or group of objects", + "STP_CREATE_MANIFEST.STARTED": "Beginning of the process of creating the provision slip", + "STP_SANITY_CHECK_SIP.OK": "Success of the pre-entry checks process", + "STP_DELETE_ACCESSION_REGISTER_DETAIL.KO": "Fund Register deletion process (Details) failed", + "CHECK_HEADER.CHECK_ARCHIVEPROFILE.STARTED.OK": "Successful start of checking archiving profile compliance", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_INDEXED_HASH.STARTED": "Beginning of the comparison of the MERKLE tree with the indexed Hash", + "STP_BACKUP_INGEST_CONTRACT.FATAL": "Technical error during the process of saving input contracts", + "LFC.LFC_CREATION.STARTED.OK": "Successful start of lifecycle log power supply", + "PRESERVATION_ACCESSION_REGISTRATION": "Supply to the Register of Funds", + "CHECK_HEADER.CHECK_ARCHIVEPROFILE.KO": "Failed to check archiving profile compliance", + "STP_DELETE_MASTERDATA_ONTOLOGY.WARNING": "Warning during the process of deleting the ontology repository", + "STP_ELIMINATION_ANALYSIS_FINALIZATION.STARTED": "Beginning of the process of finalizing the analysis of the disposal of archival units", + "LFC.UNITS_RULES_COMPUTE.DATE_THRESHOLD.STARTED": "Beginning of the verification of the validity of the dates of application of the management rules", + "STP_DELETE_MASTERDATA_ACCESS_CONTRACT.STARTED.OK": "Success of the start of the process for deleting access contracts", + "CHECK_CONTAINER.FATAL": "Technical error when checking the format of the SIP container", + "LFC.UNITS_RULES_COMPUTE.DATE_THRESHOLD": "Checking the validity of the dates of application of the management rules", + "STP_MASS_UPDATE_FINALIZE": "Process for generating the update report for the descriptive metadata of archival units", + "STP_PREPARE_AUDIT.WARNING": "Warning during the audit preparation process", + "STP_ELIMINATION_ACTION_REPORT_GENERATION.OK": "Success of the process for generating the final disposal report for archival units", + "VERIFY_TIMESTAMP.VALIDATE_TOKEN_TIMESTAMP.KO": "Failed to validate timestamp buffer", + "EXTERNAL_LOGBOOK.OK": "Successful logging of external events", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_DATAOBJECT_VERSION.EMPTY_REQUIRED_FIELD.KO": "There is at least one blank field whose value is mandatory", + "STP_IMPORT_RULES_BACKUP_CSV.KO": "Failed to save the import file of the business rules repository", + "SANITY_CHECK_SIP.STARTED": "Beginning of the sanitary control of the SIP", + "UNIT_GRAPH_COMPUTE.STARTED.OK": "Success of the start of updating the graphs of archival units", + "STP_BACKUP_ACCESS_CONTRACT.OK": "Success of the process of saving access contracts", + "LOGBOOK_UNIT_LFC_TRACEABILITY": "Securing the life cycle logs of archival units", + "LFC.OG_CREATE_SECURED_FILE.WARNING": "Warning when creating secure files of the object group", + "CHECK_DATAOBJECTPACKAGE.CHECK_CONSISTENCY.OK": "Successful check of consistency between objects, groups of objects and archival units", + "PREPARE_TRACEABILITY_CHECK.STARTED": "Beginning to check secure logs", + "STP_IMPORT_PROFILE_FILE.FATAL": "Technical error during the import process of the archiving profile (xsd or rng file)", + "UPDATE_RULES_ARCHIVE_UNITS.STARTED": "Beginning of updating archival units", + "CHECK_UNIT_SCHEMA.KO": "Failure of the global check of the archival unit", + "ELIMINATION.FATAL": "Technical error during the elimination of archival units", + "FINALIZE_OG_LFC_TRACEABILITY.WARNING": "Warning when finalizing the securing of object group lifecycle logs", + "IMPORT_AGENCIES.DELETION.KO": "Import process for agent services repository failed: deleted agent services are referenced by archival units already present in the system", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_SAVED_HASH.WARNING": "Warning when comparing the MERKLE tree with the saved Hash", + "STP_IMPORT_PRESERVATION_SCENARIO.OK": "Success of the import process of the repository of preservation scenarios", + "ELIMINATION_ACTION_FINALIZATION.FATAL": "Technical error when finalizing the final disposal of archival units", + "ELIMINATION_ACTION_DELETE_UNIT.STARTED.OK": "Success of the start of the final elimination of disposable archival units", + "LFC.UNIT_METADATA_UPDATE_CHECK_RULES.STARTED": "Beginning of the verification of the update of the management rules of the archival unit", + "MASS_UPDATE_UNIT_DESC.STARTED.OK": "Successful start of the process of mass updating of descriptive metadata of archival units", + "STP_IMPORT_INGEST_CONTRACT": "Import process of the entry contract", + "REPORT_AUDIT": "Notification of the end of the audit", + "PRESERVATION_BINARY_HASH": "Calculation of a footprint in SHA-512", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.PHYSICAL_OBJECT": "Audit of the verification of the physical objects of the group of objects", + "PROBATIVE_VALUE_LIST_OBJECT": "Creation of the list of objects of the statement of probative value", + "STP_EVIDENCE_AUDIT_EXTRACT_ZIP_FILE.KO": "The process of extracting signatures from secure files failed", + "STP_IMPORT_PROFILE_JSON.IDENTIFIER_DUPLICATION.KO": "Failed to import archiving profile: the identifier is already in use", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.NOT_FOUND_ATTACHMENT.KO": "The attachment has not been made: the attachment element does not exist in the system", + "STP_UPDATE_SECURITY_PROFILE.FATAL": "Technical error during the process of updating the security profile", + "PROBATIVE_VALUE_CHECK_OBJECT_GROUP": "Retrieving data from the database", + "STP_DELETE_FORMAT.STARTED.OK": "Successful start of the format repository deletion process", + "EXPORT_DIP.OK": "Success of the DIP export process", + "STP_OG_LFC_TRACEABILITY.FATAL": "Technical error securing object group lifecycle logs", + "STP_BACKUP_REFERENTIAL_FORMAT.STARTED": "Beginning of the format repository backup process", + "LFC.UPDATE_OBJECT_GROUP.STARTED": "Beginning of updating the group of objects", + "CHECK_SEDA.FATAL": "Technical error during the global check of the SIP", + "CORRECTION_FINALIZE.STARTED": "Beginning of the process of finalizing signature corrections for each faulty object, group of objects or audited unit", + "LFC.CHECK_CLASSIFICATION_LEVEL.OK": "Success of the classification level check", + "LFC.PRESERVATION_INDEXATION_METADATA.WARNING": "Warning when indexing the metadata of the group of objects", + "CHECK_SEDA.ALREADY_EXECUTED": "Action already carried out: No global verification of the SIP", + "UPDATE_ONTOLOGY.KO": "Failed to update ontology", + "LFC.LFC_CREATION": "Powering the lifecycle log", + "STP_DELETE_ACCESSION_REGISTER_DETAIL.OK": "Success of the process of deleting the Register of Funds (Details)", + "STP_UPDATE.STARTED": "Beginning of the processing process for updating archival units", + "LFC.CHECK_UNIT_SCHEMA.RULE_DATE_FORMAT.STARTED": "Start of the check of the consistency of the date declared in the management rules", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_OBJECTNUMBER.STARTED.OK": "Successful start of the number of objects check", + "LFC.CHECK_MANIFEST.CHECK_MANIFEST_WRONG_ATTACHMENT_LINK": "Checking the consistency of the transfer slip", + "COMMIT_RULES.OK": "Successful persistence of data in database", + "FINALIZE_OG_LFC_TRACEABILITY.OP_SECURISATION_STORAGE.OK": "Successful storage of object group lifecycle logs", + "CHECK_AGENT.EMPTY_REQUIRED_FIELD.KO": "Failed to verify the presence of agent services", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.CHECK_MANIFEST_WRONG_ATTACHMENT.KO": "The transfer slip performs an attachment using elements that do not exist in the system", + "VERIFY_TIMESTAMP.COMPARE_TOKEN_TIMESTAMP.OK": "Successful comparison of timestamp buffers", + "IMPORT_PRESERVATION_SCENARIO.STARTED": "Beginning of the process of importing the repository of preservation scenarios", + "LFC.CHECK_MANIFEST_WRONG_ATTACHMENT.FATAL": "Technical error when checking the connections of archival units and groups of objects", + "TRACEABILITY.KO": "Failed to secure operation", + "CHECK_DATAOBJECTPACKAGE.MANIFEST_SUPERIOR_BDO.KO": "The transfer slip declares more binary objects than there are in the SIP Content directory", + "STP_BACKUP_REFERENTIAL_FORMAT.KO": "Format repository backup process failed", + "LFC.PRESERVATION_BINARY_HASH.STARTED": "Start of calculation of a hash in SHA-512", + "STP_VERIFY_STAMP.FATAL": "Technical error during the timestamp verification process", + "CHECK_SEDA.NOT_XSD_VALID.FATAL": "Technical error during the global SIP check", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_DATAOBJECT_VERSION.INVALID_DATAOBJECTVERSION.KO": "At least one object declares an incorrect usage. The usage must be written as [usage] or [usage] _ [version]. \"Usage \" must be among the DataObjectVersion enumeration defined for Vitam: \"version\" must be a positive integer ", + "ELIMINATION_ACTION_DELETE_OBJECT_GROUP.STARTED.OK": "Success of the start of the final elimination of groups of technical objects whose parent archival units are eliminated", + "STP_IMPORT_PRESERVATION_SCENARIO.STARTED": "Beginning of the process of importing the repository of preservation scenarios", + "IMPORT_AGENCIES_BACKUP_CSV.KO": "Failed to save agent services repository import file", + "LFC.UNITS_RULES_COMPUTE.DATE_THRESHOLD.OK": "Successful verification of the validity of the dates of application of the management rules", + "OG_METADATA_STORAGE.KO": "Failed to write metadata of objects and groups of objects to the storage offering", + "OP_PROFILE_STORAGE": "Recording of the archiving profile", + "ELIMINATION_ANALYSIS_UNIT_INDEXATION.STARTED": "Beginning of indexing of the analysis of elimination of archival units", + "STP_EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS.KO": "Report creation process failed for each archival unit or object or group of objects", + "CHECK_DATAOBJECTPACKAGE.NULL_LINK_PARENT_ID_ATTACHMENT.KO": "The binding has not been performed: the entry contract does not declare a binding node", + "CHECK_RULES.STARTED": "Start of the compliance check of the management rules file", + "STP_BACKUP_ACCESS_CONTRACT.KO": "Failed to save access contracts", + "ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.WARNING": "Warning when preparing the Register of Funds following the final elimination of archival units", + "STP_INGEST_CONTROL_SIP.WARNING": "Warning during the SIP check process", + "MANIFEST_FILE_NAME_CHECK.STARTED": "Start of the transfer slip name check", + "LFC.OG_METADATA_STORAGE": "Writing object group metadata on storage offers", + "STP_DELETE_MASTERDATA_INGEST_CONTRACT.STARTED.OK": "Successful start of the process for deleting entry contracts", + "STORAGE_SECURISATION_TIMESTAMP.WARNING": "Warning when creating the timestamp buffer for all write logs", + "IMPORT_AGENCIES.STARTED.OK": "Successful start of the agent services repository import process", + "CHECK_UNIT_SCHEMA.INVALID_UNIT": "Global verification of the archival unit: verification of the conformity of fields", + "STP_IMPORT_RULES_BACKUP_CSV.OK": "Success of the registration process for the import file of the management rules repository", + "EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS.FATAL": "Technical error when creating the report for each archival unit or object or group of objects", + "EVIDENCE_AUDIT_FINALIZE": "Creation of the consistency audit report", + "RECTIFICATION_AUDIT.OK": "Success of the modified corrective audit process", + "STP_DELETE_METADATA_UNIT.KO": "Failed to delete archival unit metadata", + "STP_ELIMINATION_ACTION_FINALIZATION.STARTED": "Beginning of the process of finalizing the final disposal of archival units", + "OG_METADATA_STORAGE": "Writing of metadata of objects and groups of objects on the storage offer", + "LFC.UNITS_RULES_COMPUTE.CONSISTENCY.KO": "Failed to check the consistency of the business rule with respect to its category: A declared rule is inconsistent with its category", + "ELIMINATION_ACTION_REPORT_GENERATION.STARTED": "Start of the generation of the report of final elimination of archival units", + "BUILD_OG_LFC_TRACEABILITY.FATAL": "Technical error securing object group lifecycle logs", + "ELIMINATION.KO": "Failed to eliminate archival units", + "UNIT_DETACHMENT.STARTED": "Beginning of secondment of archival units", + "UNIT_METADATA_UPDATE_CHECK_DT.STARTED": "Start of the verification of the association with an archival unit profile", + "STP_DELETE_MASTERDATA_ARCHIVE_UNIT_PROFILE.WARNING": "Warning during the process of deleting the repository of archival unit profiles", + "STP_OBJECT_GROUP_GRAPH_COMPUTE.FATAL": "Technical error during the process of updating the graphs of groups of objects", + "PRESERVATION.KO": "Failure of the overall preservation process", + "EXPORT_DIP.KO": "DIP export process failed", + "UNIT_ATTACHMENT.STARTED": "Beginning of the attachment of archival units", + "LFC.UNITS_RULES_COMPUTE.UNKNOWN.OK": "Success of the verification of the expiration of the business rules", + "MANIFEST_FILE_NAME_CHECK.FATAL": "Technical error checking the name of the transfer slip", + "IMPORT_AGENCIES.USED_AU.WARNING": "Warning during the process of checking agent services referenced by archival units", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.REFERENTIAL_ERROR.FATAL": "Technical error while looking for the format of the object in the format repository", + "STP_MASS_UPDATE_FINALIZE.KO": "The process for generating the update report for the descriptive metadata of archival units failed.", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.OK": "Success of the preparation process of the Register of Funds following the final elimination of archival units", + "PUT_BINARY_ON_WORKSPACE.STARTED": "Beginning of the movement of binary objects from the storage offering to the internal workspace", + "STORAGE_AVAILABILITY_CHECK.STORAGE_AVAILABILITY_CHECK.STORAGE_OFFER_SPACE_KO.KO": "Insufficient storage availability", + "STP_MIGRATION_UNITS.FATAL": "Technical error during the process of preparing the migration of archival units", + "LFC.AUDIT_CHECK_OBJECT": "Audit of object verification", + "MIGRATION_UNITS_LIST.WARNING": "Warning when distributing archival units", + "STP_EVIDENCE_AUDIT_EXTRACT_ZIP_FILE.OK": "Success of the process of extracting signatures from secure files", + "STP_DELETE_MASTERDATA_GRIFFIN.KO": "Failed to delete griffon repository", + "LFC.CHECK_CLASSIFICATION_LEVEL.KO": "Failed to verify classification level: not authorized by the platform", + "PRESERVATION_FINALIZATION.KO": "Failed to finalize preservation processing", + "STP_DELETE_MASTERDATA_PRESERVATION_SCENARIO.WARNING": "Warning during the process of deleting the repository of preservation scenarios", + "OP_SECURISATION_TIMESTAMP.KO": "Failed to create timestamp buffer for all logs", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_INTEGRITY.STARTED": "Beginning of the audit of the existence and integrity of objects", + "OG_METADATA_STORAGE.OK": "Successful writing of metadata of objects and groups of objects to the storage offer", + "BACKUP_AGENCIES.STARTED": "Beginning of the agent services repository backup process", + "STP_OBJ_STORING.ALREADY_EXECUTED": "Action already carried out: No process for writing and indexing objects on the storage offers", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.CONTRACT_NOT_IN_MANIFEST.KO": "Failed to check the presence of the entry contract: the Archival Agreement field is missing from the transfer slip", + "ELIMINATION_ACTION_REPORT_GENERATION": "Generation of the final disposal report for archival units", + "MIGRATION_OBJECT_GROUPS_LIST.KO": "Failed to distribute groups of objects", + "FINALIZE_OG_LFC_TRACEABILITY.OP_SECURISATION_STORAGE": "Storage of object group lifecycle logs", + "STP_ACCESSION_REGISTRATION.STARTED.OK": "Success of the start of the process of supplying the Register of Funds", + "LFC.CHECK_DIGEST.STARTED": "Beginning of checking the integrity of the uploaded objects", + "STP_DELETE_ALL": "Process for deleting all data in the database", + "RECTIFICATION_AUDIT.WARNING": "Warning during the modified corrective audit process", + "IMPORT_AGENCIES_BACKUP_CSV.OK": "Successful process for saving agent services repository import file", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.PHYSICAL_OBJECT.FATAL": "Technical error while auditing the verification of physical objects in the group of objects", + "CHECK_LOGBOOK_OP_SECURISATION": "Checking secure logs", + "RECLASSIFICATION": "Modification of the tree structure of archival units", + "FINALIZE_OG_LFC_TRACEABILITY.OP_SECURISATION_STORAGE.KO": "Failed to store object group lifecycle logs", + "STP_IMPORT_PROFILE_FILE.WARNING": "Warning during the import process of the archiving profile (xsd or rng file)", + "UPDATE_RUNNING_INGESTS": "Updating entries in progress", + "LFC.CHECK_CONSISTENCY.WARNING": "Warning when checking the consistency between objects, groups of objects and archival units: this group of objects or one of its objects is not referenced by any archival units", + "PROCESS_SIP_UNITARY.FATAL": "Technical error during the SIP entry process", + "STORAGE_AVAILABILITY_CHECK.STORAGE_AVAILABILITY_CHECK.KO": "Failed to check availability of storage offer", + "CHECK_ARCHIVE_UNIT_PROFILE.PROFILE_NOT_FOUND.KO": "Failed to verify compliance with archival unit profiles: archival unit profile not found", + "STP_MERKLE_TREE.KO": "Failed to verify MERKLE tree", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.CONTRACT_NOT_IN_MANIFEST": "Failed to check the presence and control of the entry contract: the ArchivalAgreement field is missing from the transfer slip", + "LFC.PRESERVATION_STORAGE_BINARY.KO": "Failed to write objects to storage offers", + "STP_PROBATIVE_VALUE_CHECK_OBJECT_GROUP.FATAL": "Technical error during the process of retrieving data from the database", + "PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD.KO": "Failed to prepare signature list in secure files", + "STP_BACKUP_REFERENTIAL_FORMAT.OK": "Success of the format repository backup process", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.OK": "Success of the audit of the files of the group of objects", + "UPDATE_UNIT_RULES_CONSISTENCY.FATAL": "Technical error when checking the consistency of actions when updating descriptive and management metadata for archival units", + "HOLDINGSCHEME": "Import of the positioning tree", + "COMMIT_RULES": "Persistence of database data", + "STP_IMPORT_CONTEXT.STARTED.OK": "Success of the start of the application context import process", + "PRESERVATION_STORAGE_METADATA_LFC.KO": "Failed to save object group lifecycle logs", + "BACKUP_ONTOLOGY.WARNING": "Warning during the process of saving ontologies", + "LFC.OLD_CHECK_DIGEST.FATAL": "Technical error during fingerprint verification", + "LFC.PRESERVATION_STORAGE_BINARY.OBJECT_STORAGE_TASK.WARNING": "Warning when writing objects to storage offers", + "PRESERVATION_FINALIZATION.OK": "Successful completion of preservation treatment", + "STP_DELETE_LOGBOOK_LIFECYCLE_UNIT.STARTED": "Beginning of the process of deleting the lifecycle logs of archival units", + "CHECK_HEADER.FATAL": "Technical error during the general check of the transfer slip", + "STP_MIGRATION_OBJECT_GROUPS_PREPARE.KO": "Preparation process for the migration of groups of objects failed", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_INTEGRITY.STARTED": "Start of the audit of the files of the group of objects", + "IMPORT_ARCHIVEUNITPROFILE.EMPTY_REQUIRED_FIELD.KO": "Import process for archival unit profile failed: at least one of the mandatory fields is not completed", + "STP_IMPORT_RULES.STARTED": "Beginning of the process of importing the management rules repository", + "PRESERVATION_SIEGFRIED_IDENTIFICATION": "Format verification", + "EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD.FATAL": "Technical error while preparing the list of signatures in secure files", + "LFC.UNIT_METADATA_UPDATE.STARTED.OK": "Successful start of updating archival unit metadata", + "LFC.PRESERVATION_BINARY_HASH.PRESERVATION_BINARY_HASH.INVALID.KO": "Failed to verify file hash", + "LFC.PRESERVATION_INDEXATION_METADATA.PRESERVATION_INDEXATION_METADATA.OK": "Success of indexing the metadata of the group of objects during a preservation operation", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_OBJECTNUMBER.FATAL": "Technical error while checking the number of objects", + "IMPORT_ONTOLOGY.STARTED.OK": "Success of the start of the ontology import process", + "BACKUP_PROFILE.OK": "Successful process for backing up archive profiles", + "LFC.UNITS_RULES_COMPUTE.CONSISTENCY.OK": "Successful check of the consistency of the management rule with respect to its category", + "LFC.CHECK_MANIFEST_WRONG_ATTACHMENT.KO": "Failed to check the attachments of archival units and groups of objects: the declared element does not allow attachment", + "LFC.OBJ_STORAGE.OBJ_STORAGE_SUB_TASK.KO": "Failed to write object to storage offers", + "STP_DELETE_LOGBOOK_OPERATION.WARNING": "Warning during the process of deleting operation logs", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FATAL": "Fatal error while identifying the format", + "PRESERVATION_SIEGFRIED_IDENTIFICATION.WARNING": "Warning when checking the format", + "RECTIFICATION_AUDIT.KO": "Failure of the modified corrective audit process", + "STP_DELETE_MASTERDATA_PROFILE.WARNING": "Warning during the process of deleting the archive profiles repository (xsd or rng file)", + "STP_BACKUP_GRIFFIN.KO": "Failed to save griffins", + "IMPORT_PRESERVATION_SCENARIO.STARTED.OK": "Successful start of the import process for the preservation scenarios repository", + "STP_DELETE_MASTERDATA_AGENCIES.STARTED": "Beginning of the process for deleting the agent services repository", + "BACKUP_PROFILE.KO": "Backup process for archive profiles failed", + "STP_PROBATIVE_VALUE_EXTRACT_ZIP_FILE.WARNING": "Warning during the process of extracting signatures from secure files", + "STP_UPDATE_ACCESS_CONTRACT.STARTED.OK": "Success of the start of the process for updating the access contract", + "UNIT_GRAPH_COMPUTE.WARNING": "Warning when updating graphs of archival units", + "STP_UPDATE_ACCESS_CONTRACT": "Access contract update process", + "CHECK_HEADER.CHECK_CONTRACT_INGEST": "Verification of the presence and control of the entry contract", + "STP_DELETE_MASTERDATA_GRIFFIN.OK": "Success of the process of deleting the griffin repository", + "STP_UPDATE_RUNNING_INGESTS.FATAL": "Technical error during the process of updating entries in progress", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.KO": "Failure of the preparation process of the Register of Funds following the final disposal of archival units", + "STP_UNIT_DETACHMENT.STARTED.OK": "Successful start of the process of secondment of archival units", + "PRESERVATION.OK": "Success of the overall preservation process", + "CTR_SCHEMA.FATAL": "Technical error during the process of checking the JSON schema", + "STP_UNIT_STORING": "Process of writing archival units to storage offers", + "PREPARE_UPDATE_UNIT_LIST.WARNING": "Warning when preparing the list of archival units to update", + "MIGRATION_OBJECT_GROUPS_LIST.OK": "Successful distribution of groups of objects", + "LFC.CHECK_MANIFEST_WRONG_ATTACHMENT": "Checking the attachments of archival units and groups of objects", + "LFC.UNITS_RULES_COMPUTE.DATE_THRESHOLD.KO": "Failed to check the validity of the dates of application of the management rules: the date cannot be managed", + "STP_UPDATE_UNIT.STARTED.OK": "Successful start of the archival unit metadata update process", + "STP_STORAGE_SECURISATION": "Process for securing the journal entries", + "STP_DELETE_MASTERDATA_ACCESS_CONTRACT.STARTED": "Beginning of the process for deleting access contracts", + "ELIMINATION_ANALYSIS_PREPARATION": "Preparation for the analysis of the elimination of archival units", + "STP_EVIDENCE_AUDIT_FINALIZE.WARNING": "Warning during the process of creating the consistency audit report", + "STP_UPDATE_CONTEXT.OK": "Success of the application context update process", + "EVIDENCE_AUDIT_FINALIZE.STARTED": "Start of creation of the consistency audit report", + "CHECK_DATAOBJECTPACKAGE.MODIFY_PARENT_EXISTING_UNIT_UNAUTHORIZED.KO": "The connection has not been made: impossible to link an existing archival unit to a parent archival unit", + "PREPARE_UNIT_LFC_TRACEABILITY.WARNING": "Warning when preparing life cycle logs and archival unit metadata", + "EXPORT_PROBATIVE_VALUE_OBJECT.FATAL": "A technical error occurred while creating the list of objects for the statement of probative value", + "STP_MERKLE_TREE.OK": "Success of the process of checking the MERKLE tree", + "PREPARE_STORAGE_INFO.ALREADY_EXECUTED": "Action already executed: No preparation of storage information", + "ELIMINATION_ANALYSIS_PREPARATION.STARTED.OK": "Success of the start of the preparation of the analysis of the elimination of archival units", + "LFC.PRESERVATION_STORAGE_BINARY.OK": "Success of writing objects to storage offers", + "CHECK_FILE_FORMAT.STARTED": "Beginning of checking the formats of objects and group of objects", + "UPDATE_RULES_ARCHIVE_UNITS.FATAL": "Technical error when updating archival units", + "STP_BACKUP_ACCESS_CONTRACT.STARTED": "Start of the process for saving access contracts", + "STP_DELETE_METADATA_UNIT.FATAL": "Technical error during the process of removing metadata from archival units", + "PROBATIVE_VALUE_PREPARE_GENERATE_REPORTS": "Report creation process for each archival unit or object or group of objects", + "ELIMINATION_ACTION.OK": "Successful final elimination of archival units", + "HOLDINGSCHEME.KO": "Failed to import the positioning shaft", + "RECLASSIFICATION_PREPARATION_UPDATE_DISTRIBUTION.FATAL": "Technical error while preparing to update the chart when modifying the archival unit tree", + "OG_METADATA_INDEXATION.ALREADY_EXECUTED": "Action already carried out: No indexing of metadata of objects and groups of objects", + "FINALIZE_OG_LFC_TRACEABILITY": "Finalization of the securing of the lifecycle logs of the groups of objects", + "IMPORT_ARCHIVEUNITPROFILE.STARTED.OK": "Success of the start of the import process of the archival unit profile", + "STP_OG_STORING.WARNING": "Warning when writing object group metadata to storage offers", + "STP_IMPORT_PRESERVATION_SCENARIO.FATAL": "Technical error during the import process of the preservation scenarios repository", + "CHECK_SEDA.CONTAINER_FORMAT.FILE.WARNING": "Warning during the global SIP check", + "CORRECTION_FINALIZE": "Signature correction finalization process for each faulty object, group of objects or audited unit", + "STP_ELIMINATION_ACTION_FINALIZATION.OK": "Success of the process of finalizing the final disposal of archival units", + "LFC.OBJ_STORAGE.OBJECT_STORAGE_SUB_TASK": "Writing of the object on the storage offers", + "PRESERVATION_FINALIZATION.STARTED.OK": "Success of the start of the finalization of the preservation treatment", + "STP_PERSONAL_CERTIFICATE_CHECK": "Personal certificate verification process", + "STP_ELIMINATION_ACTION_FINALIZATION.FATAL": "Technical error during the process of finalizing the final disposal of archival units", + "PROCESS_SIP_UNITARY.WARNING": "Warning during the SIP entry process", + "OP_SECURISATION_STORAGE.WARNING": "Warning when saving logs on storage offers", + "STP_PUT_BINARY_ON_WORKSPACE.KO": "Failed to move binary objects from storage offering to internal workspace", + "STP_MIGRATION_OBJECT_GROUPS_PREPARE.OK": "Success of the process of preparing the migration of groups of objects", + "STP_IMPORT_GRIFFIN.FATAL": "Technical error during the process of importing the griffin repository", + "LFC.CHECK_UNIT_SCHEMA.RULE_DATE_FORMAT.KO": "Failed to check the consistency of the date declared in the management rules: the date cannot be managed", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_INDEXED_HASH": "Comparison of the MERKLE tree with the indexed Hash", + "STP_PREPARE_TRACEABILITY_CHECK.OK": "Success of the preparation process for checking secure logs", + "STP_IMPORT_GRIFFIN.WARNING": "Warning during the process of importing the griffins repository", + "OG_METADATA_STORAGE.FATAL": "Technical error writing metadata of objects and groups of objects to the storage offering", + "STP_PROBATIVE_VALUE_PREPARE_GENERATE_REPORTS.STARTED": "Start of the report creation process for each archival unit or object or group of objects", + "GRIFFIN_REPORT.OK": "Successful generation of the griffin repository import report", + "COMMIT_LIFE_CYCLE_OBJECT_GROUP": "Recording of object group lifecycle logs", + "STP_UPDATE_OBJECT_GROUP": "Object group update process", + "ELIMINATION_ACTION_CHECK_DISTRIBUTION_THRESHOLD.STARTED": "Beginning of verification of the thresholds for the final elimination of archival units", + "LFC.UNITS_RULES_COMPUTE.STARTED.OK": "Success of the start of the application of business rules and of the calculation of due dates", + "STP_ACCESSION_REGISTRATION.ALREADY_EXECUTED": "Action already carried out: No fund register feed process", + "STP_ELIMINATION_ACTION_DETACH_OBJECT_GROUP.FATAL": "Technical error during the process of detaching groups of technical objects from which certain parent archival units are deleted", + "CHECK_RULES.INVALID_CSV.KO": "Failed to check the compliance of the business rules file: invalid CSV file", + "LFC.UNIT_METADATA_UPDATE_CHECK_DT.KO": "Failed to verify the association with an archival unit profile", + "UNIT_METADATA_UPDATE_CHECK_PERMISSION.STARTED": "Beginning of verification of the rights to update metadata of archival units", + "STP_UNIT_ATTACHMENT.STARTED.OK": "Success of the start of the process of linking archival units", + "STP_UPDATE_UNIT_DESC.STARTED": "Beginning of the process of updating the descriptive metadata of the archival unit", + "MASS_UPDATE_UNITS_RULES.KO": "Error updating management metadata for archival units", + "CHECK_ARCHIVE_UNIT_PROFILE": "Checking compliance with archival unit profiles", + "ELIMINATION_ACTION_CHECK_DISTRIBUTION_THRESHOLD": "Verification of the thresholds for the final elimination of archival units", + "STP_DELETE_MASTERDATA_CONTEXT.KO": "Failed to delete application contexts", + "STP_CHECK_AND_COMPUTE.WARNING": "Warning during the process of preparing the list of archival units to update and modification authorizations", + "FINALIZE_UNIT_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP.FATAL": "Technical error during the process of creating the timestamp buffer for all the lifecycle logs of the archival units", + "PROBATIVE_VALUE_PREPARE_GENERATE_REPORTS.FATAL": "a Technical error during the process of creating the report for each archival unit or object or group of objects", + "UNIT_METADATA_UPDATE_CHECK_PERMISSION": "Checking the rights to update metadata of archival units", + "LFC.UPDATE_UNIT_RULES": "Update of the management rules of the archival unit", + "ELIMINATION_ACTION_UNIT_PREPARATION.KO": "Failed to prepare for final disposal of archival units", + "CHECK_HEADER.CHECK_IC_AP_RELATION.INACTIVE.KO": "Failed to check the active character of the archiving profile", + "STP_DELETE_ALL.WARNING": "Warning during the process of deleting all the data in the database", + "STORAGE_SECURISATION_TIMESTAMP.FATAL": "Technical error while creating the timestamp buffer for all write logs", + "PRESERVATION_ACTION.STARTED.OK": "Successful start of griffin launch", + "STP_DELETE_MASTERDATA_CONTEXT.FATAL": "Technical error during the process of deleting application contexts", + "STP_BACKUP_GRIFFIN": "Griffins saving process", + "LFC.UNIT_METADATA_INDEXATION.OK": "Successful indexing of archival unit metadata", + "STP_BACKUP_CONTEXT.FATAL": "Technical error during the process of saving application contexts", + "PROBATIVE_VALUE_PREPARE_GENERATE_REPORTS.OK": "Success of the report creation process for each archival unit or object or group of objects", + "STP_RECLASSIFICATION_FINALIZATION.STARTED": "Beginning of the process for finalizing the modification of the archival unit tree", + "CHECK_LOGBOOK_OP_SECURISATION.STARTED.OK": "Successful start of checking secure logs", + "ELIMINATION_ANALYSIS_UNIT_INDEXATION.STARTED.OK": "Success of the start of indexing of the elimination analysis of archival units", + "STP_STORAGE_AVAILABILITY_CHECK.OK": "Success of the pre-support check process", + "STP_PRESERVATION_FINALIZATION.STARTED": "Beginning of the preservation processing finalization process", + "STP_ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION": "Preparation process for the final elimination of groups of technical objects", + "CORRECTION_FINALIZE.FATAL": "a Technical Error occurred during the process of finalizing the signature corrections for each faulty object, group of objects or audited unit", + "PRESERVATION.FATAL": "Technical error during the overall preservation process", + "FILE_FORMAT_REPORT.WARNING": "Warning when generating the format repository import report", + "STP_DELETE_ACCESSION_REGISTER_DETAIL.FATAL": "Technical error during the process of deleting the Register of Funds (Fetails)", + "STP_UPDATE_UNIT.KO": "Failed to update archival unit metadata", + "PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD.OK": "Successful preparation of signature list in secure files", + "FILINGSCHEME.OK": "Success of the filing plan entry process", + "LFC.PRESERVATION_BINARY_HASH.PRESERVATION_BINARY_HASH.FATAL": "Technical error while calculating a fingerprint in SHA-512", + "STORAGE_AVAILABILITY_CHECK": "Checking the availability of storage offers", + "STP_UPDATE_OBJECT_GROUP.WARNING": "Warning during the update process of the group of objects", + "LFC.PRESERVATION_STORAGE_BINARY.OBJECT_STORAGE_TASK.FATAL": "Technical error writing objects to storage offers", + "PROBATIVE_VALUE_PREPARE_GENERATE_REPORTS.STARTED": "Start of the report creation process for each archival unit or object or group of objects", + "TRACEABILITY.STARTED.OK": "Success of the start of the securing operation", + "STP_UPDATE_CONTEXT.KO": "Application context update process failed", + "STP_UPDATE_ACCESS_CONTRACT.AGENCY_NOT_FOUND.KO": "Access contract update process failed: at least one agent service is unknown", + "LFC.CHECK_CONSISTENCY_ORPHAN_OBJECT.WARNING": "Warning when checking the connection of objects to groups of objects and archival units", + "CHECK_FILE_FORMAT.OK": "Successful verification of the formats of objects and group of objects", + "STP_PROBATIVE_VALUE_PREPARE.FATAL": "Technical error during the preparation process of the statement of probative value", + "STP_ELIMINATION_ACTION_FINALIZATION.KO": "Failure of the process to finalize the final disposal of archival units", + "CTR_SCHEMA.STARTED": "Start of the JSON schema check process", + "CHECK_HEADER.WARNING": "Warning during the general check of the transfer slip", + "HOLDINGSCHEME.OK": "Successful import of the positioning tree", + "PRESERVATION_ACTION.OK": "Successful launch of the griffin", + "STP_DELETE_ALL.FATAL": "Technical error during the process of deleting all database data", + "STP_IMPORT_SECURITY_PROFILE.OK": "Success of the security profile import process", + "PREPARE_UPDATE_UNIT_LIST": "Preparation of the list of archival units to update", + "AGENCIES_REPORT.FATAL": "Technical error during the process of generating the agent services repository import report", + "INGEST": "Entry", + "CTR_SCHEMA.STARTED.OK": "Successful start of JSON schema check process", + "LFC.CHECK_MANIFEST_LOOP.KO": "Failed to verify the non-recursion of the tree structure: the transfer slip shows recursion in the tree structure of its archival units", + "CHECK_CLASSIFICATION_LEVEL.STARTED": "Start of checking classification levels", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.FATAL": "Technical error during the consistency check of the transfer slip", + "CHECK_DATAOBJECTPACKAGE.TOO_MANY_VERSION_BY_USAGE.KO": "The transfer of several versions of the same use in the same payment is prohibited", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_DATAOBJECT_VERSION.KO": "Failed to verify object uses", + "STP_MIGRATION_FINALIZE.OK": "Success of the migration finalization process", + "CORRECTIVE_AUDIT": "Correction of signatures for each object, group of objects or audited, faulty unit", + "STP_UNIT_UPDATE.KO": "Failed to update archival units", + "STP_CORRECTION_FINALIZE.OK": "Successful process of finalizing signature corrections for each failed object, group of objects or audited unit", + "EXPORT_DIP.FATAL": "Technical error when exporting the DIP", + "MASS_UPDATE_UNIT_RULE.FATAL": "Technical error when updating the management rules for archival units", + "CHECK_HEADER.CHECK_IC_AP_RELATION.OK": "Success of checking the relationship between the entry contract and the profile", + "CHECK_ARCHIVE_UNIT_PROFILE.EMPTY_CONTROL_SCHEMA.KO": "Archival unit profile compliance check failed: Archival unit profile check scheme empty", + "LFC.CHECK_UNIT_SCHEMA.RULE_DATE_FORMAT.OK": "Success of checking the consistency of the date declared in the management rules", + "STP_DELETE_METADATA_UNIT.WARNING": "Warning during the process of removing metadata from archival units", + "BACKUP_AGENCIES.FATAL": "Technical error during the process of backing up the agent services repository", + "ELIMINATION.OK": "Successful elimination of archival units", + "STP_PREPARE_TRACEABILITY_CHECK.KO": "Preparation process for checking secure logs failed", + "LIST_OBJECTGROUP_ID": "Creation of the list of groups of objects to audit", + "STP_PUT_BINARY_ON_WORKSPACE.OK": "Success of the process of moving binary objects from the storage offering to the internal workspace", + "STP_UNIT_LFC_TRACEABILITY.FATAL": "Technical error securing the lifecycle logs of archival units", + "UPDATE_ONTOLOGY": "Ontology update process", + "STP_IMPORT_RULES": "Import process of the management rules repository", + "STORAGE_AVAILABILITY_CHECK.STORAGE_AVAILABILITY_CHECK.OK": "Success of checking availability of storage offer", + "LFC.UNIT_METADATA_UPDATE_CHECK_DT.OK": "Successful verification of the association with an archival unit profile", + "STP_UNIT_ATTACHMENT.WARNING": "Warning during the process of linking archival units", + "CHECK_MERKLE_TREE.STARTED": "Start of checking the MERKLE tree", + "UNITS_RULES_COMPUTE.DATE_THRESHOLD": "Application of management rules and calculation of due dates", + "STP_ELIMINATION_ACTION_DELETE_OBJECT_GROUP.STARTED": "Beginning of the process of definitive elimination of groups of technical objects whose parent archival units are deleted", + "PREPARE_TRACEABILITY_CHECK": "Preparing to verify secure logs", + "STP_CORRECTION_FINALIZE.KO": "Failed to finalize signature corrections process for each failed object, group of objects or audited unit", + "STP_DELETE_ALL.KO": "Failed to delete all database data", + "STP_EVIDENCE_AUDIT_CHECK_DATABASE.FATAL": "Technical error during the process of retrieving data from the database", + "STP_IMPORT_ACCESS_CONTRACT.WARNING": "Warning during the process of importing the access contract", + "STP_DELETE_MASTERDATA_ARCHIVE_UNIT_PROFILE.OK": "Success of the process of deleting the repository of archival unit profiles", + "CHECK_DATAOBJECTPACKAGE.FATAL": "Technical error when checking objects and groups of objects", + "STP_INGEST_CONTROL_SIP.STARTED.OK": "Success of the start of the SIP control process", + "STP_OBJ_STORING.OK": "Success of the process of writing and indexing objects on the storage offers", + "ELIMINATION_ACTION_UNIT_PREPARATION": "Preparation for the final disposal of archival units", + "RECLASSIFICATION_PREPARATION_UPDATE_DISTRIBUTION": "Preparation for updating the graph when modifying the tree structure of archival units", + "LFC.OG_OBJECTS_FORMAT_CHECK.STARTED.OK": "Successful start of format check", + "IMPORT_AGENCIES.USED_CONTRACT.FATAL": "Technical error during the process of checking the agent services referenced in the access contracts", + "STP_DELETE_METADATA_UNIT": "Process for removing metadata from archival units", + "VERIFY_TIMESTAMP.COMPARE_TOKEN_TIMESTAMP": "Comparison of timestamp buffers", + "STP_FINALISE_AUDIT.STARTED": "Beginning of the audit finalization process", + "FILINGSCHEME.KO": "Filing plan entry process failed", + "ELIMINATION_ACTION_UNIT_PREPARATION.STARTED.OK": "Success of the start of the preparation for the final disposal of archival units", + "UPDATE_OBJECT_GROUP.WARNING": "Technical error while updating the object group", + "CHECK_CONTAINER.STARTED": "Start of the SIP container format check", + "BACKUP_AGENCIES": "Agent services repository backup process", + "STP_ELIMINATION_ACTION_REPORT_GENERATION.WARNING": "Warning during the process of generating the final disposal report for archival units", + "LFC.UNIT_METADATA_INDEXATION.KO": "Failed to index the archival unit", + "STP_PRESERVATION_FINALIZATION.STARTED.OK": "Successful start of preservation processing finalization process", + "UNIT_METADATA_UPDATE_CHECK_RULES": "Checking management rules", + "SANITY_CHECK_SIP.STARTED.OK": "Success of the start of the sanitary control of the SIP", + "INGEST.FATAL": "Technical error when entering the SIP", + "CHECK_CONCURRENT_WORKFLOW_LOCK.WARNING": "Warning when checking concurrent processes", + "STP_UNIT_DETACHMENT.WARNING": "Warning during the process of detaching archival units", + "STP_STORAGE_AVAILABILITY_CHECK.STARTED.OK": "Beginning of the pre-takeover check process", + "PREPARE_OG_LFC_TRACEABILITY.WARNING": "Warning when preparing lifecycle logs and object group metadata", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.UPDATED_FORMAT.WARNING": "Completion of metadata on formats", + "STP_STORAGE_AVAILABILITY_CHECK.KO": "Pre-support check process failed", + "STP_OG_STORING.OK": "Successful process of writing object groups metadata to storage offers", + "ELIMINATION_ANALYSIS_FINALIZATION": "Finalization of the analysis of the elimination of archival units", + "ELIMINATION_ANALYSIS_CHECK_DISTRIBUTION_THRESHOLD.OK": "Success in checking the thresholds for the analysis of the elimination of archival units", + "FINALIZE_UNIT_LFC_TRACEABILITY.FINALIZE_UNIT_LFC_TRACEABILITY.STARTED": "Beginning of the finalization of the securing of the lifecycle logs of the archival units", + "STP_OG_CHECK_AND_TRANSFORME.FATAL": "Technical error during the process of checking and processing objects and groups of objects", + "LFC.LFC_CREATION.KO": "Failed to feed life cycle log", + "UNITS_RULES_COMPUTE.CONSISTENCY.KO": "Failure to apply management rules and calculate due dates: At least one archival unit declares a rule inconsistent with its category", + "STP_ACCESSION_REGISTRATION.STARTED": "Beginning of the fund register process", + "STP_UNIT_LFC_TRACEABILITY.OK": "Success in securing archival unit lifecycle logs", + "CHECK_HEADER.CHECK_IC_AP_RELATION.FATAL": "Technical error when checking the relationship between the input contract and the archiving profile", + "LFC.UNIT_METADATA_STORAGE.STARTED": "Beginning of writing archival unit metadata to storage offers", + "PROCESS_SIP_UNITARY": "Standard SIP entry", + "STP_IMPORT_CONTEXT.EMPTY_REQUIRED_FIELD.KO": "Failed to import the context: at least one of the mandatory fields is not filled in", + "LFC.PRESERVATION_INDEXATION_METADATA": "Indexing of the metadata of the group of objects", + "PRESERVATION_INDEXATION_METADATA.WARNING": "Warning when indexing the metadata of the group of objects", + "CHECK_HEADER.CONTRACT_INACTIVE.KO": "Failure of the general check of the transfer slip: the entry contract declared in the transfer slip is inactive", + "LFC.CHECK_MANIFEST_LOOP.OK": "Successful check for tree non-recursion", + "HOLDINGSCHEME.FATAL": "Technical error when importing the positioning shaft", + "CHECK_CONTAINER.KO": "Failed to check the format of the SIP container", + "FILINGSCHEME": "Filing plan entry", + "PRESERVATION_ACTION.KO": "Failed to launch preservation", + "STP_IMPORT_SECURITY_PROFILE.KO": "Security profile import process failed", + "STP_PROBATIVE_VALUE_PREPARE_GENERATE_REPORTS.FATAL": "a Technical error during the process of creating the report for each archival unit or object or group of objects", + "CHECK_DATAOBJECTPACKAGE.INVALID_URI.KO": "The object declares a URI that does not match a file or declares a URI already used by another object", + "STP_MIGRATION_UNITS_PREPARE": "Preparation process for the migration of archival units", + "CHECK_HEADER.CHECK_IC_AP_RELATION.KO": "Failed to check the relationship between the input contract and the profile", + "EXPORT_PROBATIVE_VALUE_LIST_OBJECT.KO": "Failed to create the list of objects for the statement of probative value", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_DATAOBJECT_VERSION.OK": "Successful verification of object uses", + "STP_UPDATE_INGEST_CONTRACT.STARTED.OK": "Success of the start of the entry contract update process", + "CTR_SCHEMA": "JSON schema control process", + "PRESERVATION_ACCESSION_REGISTRATION.KO": "Failed to feed the Register of Funds", + "STP_EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD.STARTED.OK": "Beginning of the process of preparing the list of signatures in secure files", + "STP_UNIT_UPDATE.STARTED": "Beginning of the update process for archival units", + "FINALIZE_OG_LFC_TRACEABILITY.FINALIZE_OG_LFC_TRACEABILITY.WARNING": "Warning when finalizing the securing of object group lifecycle logs", + "MIGRATION_OBJECT_GROUPS": "Migration of groups of objects", + "ELIMINATION_ANALYSIS_CHECK_DISTRIBUTION_THRESHOLD.STARTED.OK": "Success of the start of threshold verification analysis of the elimination of archival units", + "STP_MIGRATION_UNITS": "Preparation process for the migration of archival units", + "BUILD_OG_LFC_TRACEABILITY": "Securing object group lifecycle logs", + "LFC.UNIT_METADATA_UPDATE_CHECK_DT.STARTED": "Start of the verification of the association with an archival unit profile", + "PRESERVATION_BINARY_HASH.WARNING": "Warning when calculating a footprint in SHA-512", + "LFC.UNITS_RULES_COMPUTE.CONSISTENCY.WARNING": "Warning when checking the consistency of the management rule with respect to its category", + "VERIFY_TIMESTAMP.COMPARE_TOKEN_TIMESTAMP.FATAL": "Technical error while comparing timestamp buffers", + "PRESERVATION_PREPARATION.STARTED": "Beginning of the preparation of the preservation treatment", + "STP_IMPORT_PROFILE_JSON.EMPTY_REQUIRED_FIELD.KO": "Failure of the archiving profile import process: at least one of the mandatory fields is not filled in", + "RECLASSIFICATION_PREPARATION_CHECK_GRAPH.FATAL": "Technical error when checking the consistency of the graph when modifying the tree structure of archival units", + "STP_UPDATE_PROFILE_JSON.FATAL": "Technical error during the archiving profile update process", + "STP_OBJ_STORING.KO": "Failed to write and index objects and groups of objects on storage offers", + "IMPORT_ARCHIVEUNITPROFILE.INVALID_JSON_SCHEMA.KO": "Import process of archival unit profile failed: invalid JSON schema", + "OP_SECURISATION_TIMESTAMP.WARNING": "Warning when creating the timestamp buffer for all the logs", + "STP_DELETE_ACCESSION_REGISTER_DETAIL": "Fund Register deletion process (Details)", + "STP_PERSONAL_CERTIFICATE_CHECK.KO": "Personal certificate verification process failed", + "STP_ELIMINATION_ACTION_DELETE_OBJECT_GROUP.OK": "Success of the process of definitive elimination of groups of technical objects whose parent archival units are eliminated", + "PROBATIVE_VALUE_EXTRACT_ZIP_FILE.STARTED": "Beginning of extracting signatures from secure files", + "STP_STORE_MANIFEST.STARTED": "Beginning of the process of creating the DIP and moving it to the storage offer", + "OP_SECURISATION_TIMESTAMP.FATAL": "Technical error when creating the timestamp buffer for all the logs", + "IMPORT_ONTOLOGY.WARNING": "Warning during the ontology import process", + "STP_STORAGE_AVAILABILITY_CHECK.STARTED": "Beginning of the pre-takeover check process", + "MIGRATION_OBJECT_GROUPS.FATAL": "Technical error when migrating groups of objects", + "STP_DELETE_MASTERDATA_ARCHIVE_UNIT_PROFILE.KO": "The process to delete the archive unit profiles repository failed", + "FINALIZE_UNIT_LFC_TRACEABILITY.OP_SECURISATION_STORAGE": "Storage of life cycle logs of archival units", + "MASS_UPDATE.FATAL": "Technical error when updating the metadata of archival units", + "STP_UNIT_GRAPH_COMPUTE.STARTED": "Beginning of the process of updating the graphs of archival units", + "STP_UPDATE_PROFILE_JSON.OK": "Successful archiving profile update process", + "GRIFFIN_REPORT.WARNING": "Warning when generating the griffon repository import report", + "INGEST.WARNING": "Warning when entering the SIP", + "IMPORT_AGENCIES.WARNING": "Warning during the process of importing the agent services repository", + "IMPORT_AGENCIES.USED_AU.KO": "Failed to verify agent services referenced by archival units", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_INDEXED_HASH.FATAL": "Technical error when comparing the MERKLE tree with the indexed Hash", + "STP_OG_STORING.KO": "Failed to write object group metadata to storage offerings", + "BACKUP_AGENCIES.STARTED.OK": "Successful start of the agent services repository backup process", + "STP_UPDATE_SECURITY_PROFILE ": " Security profile update process ", + "FINALIZE_OG_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP": "Timestamp of object group lifecycle logs", + "UNITS_RULES_COMPUTE.UNKNOWN": "Application of management rules and calculation of due dates", + "MIGRATION_OBJECT_GROUPS_LIST": "Distribution of groups of objects", + "LFC.AUDIT_CHECK_OBJECT.FATAL": "Technical error while auditing object verification", + "TRACEABILITY.STARTED": "Beginning of the securing operation", + "SCENARIO_REPORT.WARNING": "Warning during the process of generating the import report for the repository of preservation scenarios", + "STP_UNIT_LFC_TRACEABILITY.KO": "Failed to secure archival unit lifecycle logs", + "CHECK_DISTRIBUTION_THRESHOLD.FATAL": "Technical error when checking the processing limit thresholds for archival units", + "STP_RECLASSIFICATION_PREPARATION.STARTED": "Beginning of the preparation process for the modification of the archival unit tree", + "STP_VERIFY_STAMP": "Timestamp verification process", + "ELIMINATION_ACTION.FATAL": "Technical error during the final elimination of archival units", + "LFC.CHECK_DIGEST.CALC_CHECK.WARNING": "Warning when calculating a fingerprint in SHA-512", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION": "Preparation process of the Register of Funds following the final elimination of archival units", + "PROBATIVE_VALUE_REPORTS.FATAL": "Technical error when creating the probative value statement report", + "UNIT_METADATA_UPDATE_CHECK_DT.STARTED.OK": "Success of the start of the verification of the association with an archival unit profile", + "CHECK_CONTAINER.OK": "Successful check of SIP container format", + "STP_MASS_UPDATE_FINALIZE.STARTED": "Beginning of the process for generating the update report for the descriptive metadata of archival units", + "EVIDENCE_AUDIT_LIST_OBJECT.KO": "Failed to create list to audit", + "RECLASSIFICATION_PREPARATION.STARTED": "Beginning of preparation for the modification of the archival unit tree", + "CHECK_DATAOBJECTPACKAGE.UNAUTHORIZED_ATTACHMENT_BY_CONTRACT.KO": "The connection has not been made: the entry contract does not authorize connections", + "PROCESS_SIP_UNITARY.STARTED.OK": "Success of the start of the SIP entry process", + "STP_UPDATE_UNIT_DESC.OK": "Success of the process of updating the descriptive metadata of the archival unit", + "CHECK_ARCHIVE_UNIT_PROFILE.INVALID_AU_PROFILE.KO": "Failed to verify compliance with archival unit profiles: archival unit profile not compliant", + "EXPORT_PROBATIVE_VALUE_LIST_OBJECT.OK": "Successful creation of the list of objects of the statement of probative value", + "STP_CREATE_MANIFEST.FATAL": "Technical error during the process of creating the provision slip", + "STP_PUT_BINARY_ON_WORKSPACE.WARNING": "Warning during the process of moving binary objects on the storage offering to the internal workspace", + "STP_ELIMINATION_ANALYSIS_FINALIZATION.STARTED.OK": "Success of the start of the process of finalizing the analysis of the disposal of archival units", + "EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD.KO": "Failed to prepare signature list in secure files", + "STP_IMPORT_CONTEXT.SECURITY_PROFILE_NOT_FOUND.KO": "Failed to import the application context: security profile not found", + "ELIMINATION_ACTION_FINALIZATION.STARTED": "Beginning of the finalization of the final disposal of archival units", + "LFC.UNIT_METADATA_STORAGE": "Writing of archival unit metadata on storage offers", + "STP_DELETE_MASTERDATA_PROFILE.FATAL": "Technical error during the process of deleting the archive profiles repository (xsd or rng file)", + "ELIMINATION_ACTION_DETACH_OBJECT_GROUP": "Detachment of groups of technical objects from which certain parent archival units are eliminated", + "STP_PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD.FATAL": "Technical error during the process of preparing the list of signatures in secure files", + "LFC.PRESERVATION_INDEXATION_METADATA.PRESERVATION_INDEXATION_METADATA.WARNING": "Warning when indexing object group metadata during a preservation operation", + "EVIDENCE_AUDIT_CHECK_DATABASE.STARTED": "Beginning of data recovery in the database", + "UPDATE.STARTED": "Start of update", + "MIGRATION_OBJECT_GROUPS.WARNING": "Warning when migrating groups of objects", + "UNIT_METADATA_UPDATE.FATAL": "Technical error when updating metadata for archival units", + "LFC.UNIT_METADATA_INDEXATION.STARTED.OK": "Successful start of archival unit metadata indexing", + "ELIMINATION_ANALYSIS_CHECK_DISTRIBUTION_THRESHOLD.KO": "Failed to check the thresholds for the disposal of archival units analysis", + "PRESERVATION_ACCESSION_REGISTRATION.OK": "Successful filling of the Register of Funds", + "MASS_UPDATE_UNIT_RULE.OK": "Successful update of the management rules for archival units", + "GRIFFIN_REPORT.KO": "Failed to generate griffin repository import report", + "LOGBOOK_OBJECTGROUP_LFC_TRACEABILITY": "Securing object group lifecycle logs", + "VERIFY_TIMESTAMP.VALIDATE_TOKEN_TIMESTAMP.FATAL": "Technical error while validating the timestamp buffer", + "UPDATE.FATAL": "Technical error during the update", + "STORAGE_AVAILABILITY_CHECK.ALREADY_EXECUTED": "Action already taken: No checking of the availability of storage offers", + "CHECK_HEADER.CONTEXT_UNKNOWN.KO": "Failure of the general check of the transfer slip: the application context is unknown to the application contexts repository", + "UNITS_RULES_COMPUTE.WARNING": "Warning when applying management rules and calculating due dates", + "STP_ELIMINATION_ACTION_DELETE_OBJECT_GROUP.KO": "Final elimination process for groups of technical objects whose parent archival units are deleted", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_LOOP.KO": "The transfer slip shows recursion in the tree structure of its archival units", + "PREPARE_OG_LFC_TRACEABILITY": "Preparing the list of lifecycle logs and object group metadata", + "ELIMINATION_ACTION_UNIT_PREPARATION.OK": "Successful preparation for the final disposal of archival units", + "CHECK_HEADER.CONTRACT_UNKNOWN.KO": "Failure of the general check of the transfer slip: the entry contract is unknown to the entry contract repository", + "FILE_FORMAT_REPORT.STARTED.OK": "Success of the start of the generation of the import report of the formats repository", + "RULES_REPORT.STARTED": "Start of the generation of the analysis report of the management rules repository", + "STP_SANITY_CHECK_SIP.FATAL": "Technical error during the pre-entry checks process", + "ELIMINATION_ACTION.KO": "Failure to permanently delete archival units", + "ELIMINATION_ANALYSIS_UNIT_INDEXATION.FATAL": "Technical error while indexing the analysis for the elimination of archival units", + "FILE_FORMAT_REPORT.FATAL": "Technical error while generating the import report for the formats repository", + "PROBATIVE_VALUE_PREPARE_GENERATE_REPORTS.KO": "Report creation process failed for each archival unit or object or group of objects", + "STP_PERSONAL_CERTIFICATE_CHECK.OK": "Success of the personal certificate verification process", + "ELIMINATION_ACTION_FINALIZATION.STARTED.OK": "Success of the start of the finalization of the final elimination of archival units", + "STP_DELETE_LOGBOOK_LIFECYCLE_UNIT.STARTED.OK": "Success of the start of the process of deleting the lifecycle logs of the archival units", + "STP_UPDATE_OBJECT_GROUP.FATAL": "Technical error while updating the object group", + "IMPORT_AGENCIES.USED_AU.OK": "Success of the verification process for agent services referenced by archival units", + "OBJECT_GROUP_GRAPH_COMPUTE": "Update of the graphs of groups of objects", + "ELIMINATION_ACTION_DELETE_OBJECT_GROUP.STARTED": "Beginning of the definitive elimination of groups of technical objects whose parent archival units are eliminated", + "STP_UPDATE_PROFILE_JSON.KO": "Archive profile update process failed", + "HOLDINGSCHEME.STARTED": "Beginning of importing the positioning tree", + "OG_OBJECTS_FORMAT_CHECK.REJECTED_FORMAT.KO": "Failed to identify formats: the input contract prohibits the upload of an object in an unknown format and the paid SIP contains at least one object in an unknown format, or the SIP contains a format prohibited by the entry contract ", + "LFC.CHECK_MANIFEST_WRONG_ATTACHMENT_LINK.STARTED": "Beginning of the checking of the attachments of archival units and groups of objects", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.STARTED.OK": "Success of the start of the preparation process of the Register of Funds following the final elimination of archival units", + "STP_UPDATE_UNIT.OK": "Success of the archival unit metadata update process", + "STP_EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD.KO": "Process of preparing signature list in secure files failed", + "REPORT_AUDIT.FATAL": "Technical error when notifying the end of the audit", + "OBJECTS_LIST_EMPTY": "Establishment of the list of objects", + "STP_UNIT_METADATA.KO": "Metadata indexing process of archival units failed", + "IMPORT_PRESERVATION_SCENARIO.WARNING": "Warning during the process of importing the repository of preservation scenarios", + "UNITS_RULES_COMPUTE.OK": "Success in applying business rules and calculating due dates", + "LFC.OG_METADATA_INDEXATION.STARTED.OK": "Success of the start of the indexing of the metadata of the group of objects", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_INTEGRITY": "Audit of the existence and integrity of objects", + "CHECK_RULES.INVALID_CSV_ENCODING_NOT_UTF_EIGHT.KO": "Failed to check the compliance of the business rules file: CSV file is not encoded in UTF8", + "STP_PREPARE_LISTS.KO": "Process failed to prepare lists of archival units to update", + "CHECK_RULES.OK": "Successful check of the compliance of the management rules file", + "STP_UPDATE_INGEST_CONTRACT": "Entry contract update process", + "EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD": "Preparation of the list of signatures in secure files", + "UPDATE_UNIT_RULES.OK": "Successful update of the management rules for archival units", + "STP_UPDATE_UNIT_DESC.KO": "Failed to update archival unit descriptive metadata", + "STP_IMPORT_PRESERVATION_SCENARIO.WARNING": "Warning during the process of importing the repository of preservation scenarios", + "STP_BACKUP_GRIFFIN.STARTED.OK": "Successful start of saving griffins process", + "FILE_FORMAT_REPORT.KO": "Failed to generate the format repository import report", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.REFERENTIAL_ERROR.FATAL": "Technical error while looking for the format of the object in the format repository", + "BACKUP_PROFILE.FATAL": "Technical error during the process of backing up archive profiles", + "ELIMINATION_ACTION_DELETE_OBJECT_GROUP.WARNING": "Warning during the definitive elimination of groups of technical objects whose parent archival units are deleted", + "CHECK_HEADER.CHECK_IC_AP_RELATION.UNKNOWN.KO": "Failed to check for the presence of the archive profile in the archive profiles repository", + "STP_IMPORT_RULES_BACKUP.KO": "Business rules repository backup process failed", + "OG_METADATA_STORAGE.ALREADY_EXECUTED": "Action already carried out: No writing of metadata of objects and groups of objects to the storage offer", + "STP_IMPORT_RULES.OK": "Success of the import process of the management rules repository", + "PRESERVATION_STORAGE_BINARY.STARTED": "Beginning of writing objects and groups of objects to storage offers", + "HOLDINGSCHEME.WARNING": "Warning when importing the positioning shaft", + "STP_MASS_UPDATE_FINALIZE.STARTED.OK": "Success of the start of the process for generating the update report for the descriptive metadata of archival units", + "STP_IMPORT_ACCESS_CONTRACT.OK": "Success of the access contract import process", + "STP_IMPORT_PROFILE_FILE.STARTED": "Beginning of the archiving profile import process (xsd or rng file)", + "STP_DELETE_METADATA_OG.WARNING": "Warning during the process of deleting metadata from groups of objects", + "STP_DELETE_ACCESSION_REGISTER_SUMMARY.WARNING": "Warning during the process of deleting the Register of Funds (Summary)", + "STP_OG_STORING.STARTED.OK": "Success of the start of the process of writing the metadata of the groups of objects on the storage offers", + "DATA_MIGRATION": "Data migration process", + "LFC.CHECK_MANIFEST_LOOP": "Checking the tree for non-recursion", + "UNIT_METADATA_INDEXATION": "Indexing the metadata of archival units", + "STP_BACKUP_REFERENTIAL_FORMAT.WARNING": "Warning during the process of backing up the format repository", + "LFC.UNITS_RULES_COMPUTE.CONSISTENCY.STARTED": "Start of the check of the consistency of the management rule with respect to its category", + "STP_STORAGE_AVAILABILITY_CHECK.WARNING": "Warning during the pre-acceptance check process: Free space information on unavailable storage offering", + "STP_IMPORT_PROFILE_JSON.STARTED": "Beginning of the archiving profile import process", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_DATAOBJECT_VERSION.PDO_DATAOBJECTIONVERSION_BINARYMASTER.KO": "The physical object declares a use \" BinaryMaster \". This use is not authorized for physical objects", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_MALFORMED_DATA.KO": "The transfer slip has malformed data", + "ELIMINATION_ANALYSIS": "Analysis of the elimination of archival units", + "VERIFY_TIMESTAMP.KO": "Failed to verify timestamp", + "PREPARE_OG_LFC_TRACEABILITY.FATAL": "Technical error preparing lifecycle logs and object group metadata", + "STP_CORRECTIVE_AUDIT": "Correction of signatures for each object, group of objects or audited, faulty unit", + "STP_DELETE_METADATA_UNIT.STARTED": "Beginning of the process of removing metadata from archival units", + "PREPARE_TRACEABILITY_CHECK.FATAL": "Technical error while preparing to verify secure logs", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.STARTED.OK": "Success of the start of the verification of the presence and the control of the entry contract", + "UNIT_METADATA_CHECK_CONSISTENCY.WARNING": "Warning when checking the consistency of actions when updating management metadata for archival units", + "STP_AUDIT": "Audit execution process", + "STP_UNIT_METADATA.STARTED.OK": "Successful start of the indexing process for archival unit metadata", + "STP_UNIT_STORING.STARTED": "Beginning of the process of writing archival units to storage offers", + "STP_IMPORT_RULES.KO": "Import process for business rules repository failed", + "STP_PRESERVATION_ACTION": "Griffin launch process", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_DATAOBJECT_VERSION": "Checking the uses of objects", + "LFC.CHECK_CONSISTENCY_ORPHAN_OBJECT.KO": "The transfer slip contains objects or groups of objects which do not declare an attachment to an archival unit", + "STORAGE_SECURISATION_TIMESTAMP.STARTED": "Start of the creation of the timestamp buffer for all the write logs", + "PRESERVATION_FINALIZATION.FATAL": "Technical error when finalizing preservation processing", + "STP_UPDATE_INGEST_CONTRACT.FILEFORMAT_NOT_FOUND.KO": "Input contract update process failed: at least one format identifier is unknown", + "FINALIZE_UNIT_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP.OK": "Successful process for creating the timestamp buffer for all records in the lifecycle of archival units", + "UNIT_METADATA_CHECK_CONSISTENCY.FATAL": "Technical error when checking the consistency of actions when updating management metadata for archival units", + "EVIDENCE_AUDIT_EXTRACT_ZIP_FILE.OK": "Extraction of signatures from secure files", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION": "Format identification", + "OBJECT_GROUP_GRAPH_COMPUTE.FATAL": "Technical error when updating the graphs of groups of objects", + "MIGRATION_UNITS_LIST": "Distribution of units archival units", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.CHECK_MANIFEST_LOOP.KO": "The transfer slip shows recursion in the tree structure of its archival units", + "STP_STORE_MANIFEST.FATAL": "Technical error during the process of creating the DIP and moving it to the storage offer", + "STP_ELIMINATION_ANALYSIS_UNIT_INDEXATION.WARNING": "Warning during indexing process of the analysis of elimination of archival units", + "STP_EVIDENCE_AUDIT_FINALIZE.KO": "Consistency audit report creation process failed (object audits are in errors)", + "CHECK_SEDA.NOT_XML_FILE.KO": "Failure of the overall SIP check: transfer slip does not conform to the characteristics of an xml file", + "STP_PREPARE_LISTS.OK": "Success of the process of preparing lists of archival units to be updated", + "UNIT_METADATA_UPDATE_CHECK_RULES.WARNING": "Warning when checking management rules", + "PROCESS_AUDIT.OK": "Success of the audit", + "LFC.PRESERVATION_STORAGE_BINARY": "Write objects to storage offers", + "LFC.CHECK_MANIFEST": "Checking the consistency of the transfer slip", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.STARTED": "Beginning of format identification", + "STP_DELETE_MASTERDATA_INGEST_CONTRACT.OK": "Success of the process of deleting entry contracts", + "LFC.CHECK_UNIT_SCHEMA.OK": "Success of the overall verification of the archival unit", + "RECLASSIFICATION.OK": "Successful modification of the tree structure of archival units", + "STP_PREPARE_LISTS.STARTED": "Beginning of the process of preparing lists of archival units to be updated", + "STP_UNIT_METADATA.OK": "Success of the archival unit metadata indexing process", + "LFC.PRESERVATION_STORAGE_BINARY.OBJECT_STORAGE_TASK.STARTED": "Beginning of writing objects to storage offers", + "CHECK_RULES.FATAL": "Technical error when checking the compliance of the management rules file", + "ELIMINATION_ANALYSIS_UNIT_INDEXATION.KO": "Failed to index the disposal analysis of archival units", + "STP_CREATE_MANIFEST.OK": "Success of the process of creating the provision slip", + "STP_EVIDENCE_AUDIT_PREPARE.STARTED.OK": "Beginning of the process of creating the list to be audited", + "STP_SANITY_CHECK_SIP.STARTED": "Start of the pre-entry checks process", + "LFC.CHECK_CLASSIFICATION_LEVEL": "Checking the classification level", + "STP_UPDATE_ACCESS_CONTRACT.BAD_REQUEST.KO": "Access contract update process failed: a bad request was entered", + "CHECK_RULES.KO": "Failed to check the compliance of the business rules file", + "PUT_BINARY_ON_WORKSPACE.FATAL": "Technical error when moving binary objects from the storage offering to the internal workspace", + "FILE_FORMAT_REPORT.OK": "Successful generation of the import report for the formats repository", + "ELIMINATION_ANALYSIS.OK": "Successful analysis of the elimination of archival units", + "STP_DELETE_MASTERDATA_ACCESS_CONTRACT.WARNING": "Warning during the process of deleting access contracts", + "STP_ELIMINATION_ACTION_DETACH_OBJECT_GROUP.WARNING": "Warning during the process of detaching groups of technical objects from which certain parent archival units are eliminated", + "UPDATE_ARCHIVEUNITPROFILE.OK": "Success of the update process of the archival unit profile", + "STP_IMPORT_PRESERVATION_SCENARIO.STARTED.OK": "Success of the start of the import process for the preservation scenarios repository", + "PRESERVATION_SIEGFRIED_IDENTIFICATION.FATAL": "Technical error while checking the format", + "LFC.CHECK_MANIFEST.NOT_FOUND_ATTACHMENT.KO": "The attachment has not been made: the attachment element does not exist in the system", + "STP_IMPORT_RULES_BACKUP.OK": "Success of the process of backing up the management rules repository", + "LFC.UNITS_RULES_COMPUTE.WARNING": "Warning when applying management rules and calculating due dates", + "STP_IMPORT_RULES.WARNING": "Warning during the process of importing the management rules repository: management rules have been modified and are used by existing archival units", + "ROLL_BACK": "Consistency of Life Cycle Logs", + "DATA_MIGRATION.FATAL": "Technical error during the data migration process", + "STORE_MANIFEST.OK": "Successful creation of the DIP and its move to the storage offer", + "UNIT_METADATA_UPDATE_CHECK_RULES.OK": "Successful check of management rules", + "CHECK_HEADER.CHECK_AGENT": "Checking the presence and control of agent services", + "STP_DELETE_LOGBOOK_LIFECYCLE_OG.WARNING": "Warning when deleting object group lifecycle logs", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE": "Process of updating the Register of Funds following the final elimination of archival units", + "VERIFY_TIMESTAMP.STARTED": "Start of timestamp verification", + "STORAGE_BACKUP.STARTED.OK": "Successful start of saving the write logs", + "STP_DELETE_RULES.FATAL": "Technical error during the process of deleting the rules repository", + "PRESERVATION_INDEXATION_METADATA.FATAL": "Technical error while indexing the metadata of the group of objects", + "LOGBOOK_LC_SECURISATION.WARNING": "Warning when securing lifecycle logs", + "STP_BACKUP_CONTEXT.STARTED": "Start of the application context backup process", + "STP_ACCESSION_REGISTRATION": "Supply process for the Register of Funds", + "STP_IMPORT_ACCESS_CONTRACT.KO": "Access contract import process failed", + "UNIT_DETACHMENT.WARNING": "Warning when detaching archival units", + "LFC.UNITS_RULES_COMPUTE.REF_INCONSISTENCY.FATAL": "Technical error when checking the consistency of the management rule whose cancellation is requested in relation to its category", + "STP_DELETE_SECURITY_PROFILE.KO": "Failed to delete security profile process", + "STP_DELETE_MASTERDATA_AGENCIES.WARNING": "Warning during the process of deleting the agent services repository", + "STP_IMPORT_ACCESS_CONTRACT.VALIDATION_ERROR.KO": "Access contract import process failed: error while validating the access contract", + "STP_EVIDENCE_AUDIT_FINALIZE.STARTED": "Beginning of the process of creating the consistency audit report", + "PROBATIVE_VALUE_EXTRACT_ZIP_FILE.WARNING": "Warning when extracting signatures from secure files", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.CONTRACT_NOT_IN_CONTEXT.KO": "Failure to check for the presence of the entry contract in the application context", + "EXPORT_PROBATIVE_VALUE.FATAL": "Technical error during the process of exporting the statement of probative value", + "STP_IMPORT_INGEST_CONTRACT.IDENTIFIER_DUPLICATION.KO": "Failed to import the entry contract: the identifier is already in use", + "STORE_MANIFEST.WARNING": "Warning when creating the DIP and moving it to the storage offer", + "PROCESS_AUDIT.KO": "Audit failed", + "FINALIZE_OG_LFC_TRACEABILITY.OK": "Successful completion of securing object group lifecycle logs", + "FINALIZE_OG_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP.FATAL": "Technical error in the process of creating the timestamp buffer for all object group lifecycle logs", + "STORE_MANIFEST.KO": "Failed to create the DIP and move it to the storage offering", + "STP_EVIDENCE_AUDIT_EXTRACT_ZIP_FILE.FATAL": "Technical error during the process of extracting signatures from secure files", + "PRESERVATION_STORAGE_BINARY": "Write objects and groups of objects to storage offers", + "PRESERVATION_INDEXATION_METADATA.STARTED.OK": "Success of the start of the indexing of the metadata of the group of objects", + "STP_BACKUP_SCENARIO.STARTED.OK": "Successful start of the process of backing up preservation scenarios", + "LFC.UNITS_RULES_COMPUTE.REF_INCONSISTENCY.WARNING": "Warning when checking the consistency of the management rule whose cancellation is requested in relation to its category", + "STORAGE_ACCESS_BACKUP.FATAL": "Technical error when saving access logs", + "STP_DELETE_MASTERDATA_INGEST_CONTRACT.KO": "Failed to delete input contracts", + "CHECK_HEADER.CONTRACT_NOT_IN_CONTEXT.KO": "Failure of the general check of the transfer slip: the entry contract is not compatible with the application context", + "STP_UPLOAD_SIP.STARTED.OK": "Success of the start of the SIP reception process", + "ROLL_BACK.ALREADY_EXECUTED": "Action already carried out: No consistency of the lifecycle logs", + "STP_DELETE_FORMAT.FATAL": "Technical error during the process of deleting the format repository", + "LFC.PRESERVATION_BINARY_HASH.OK": "Successful calculation of a footprint in SHA-512", + "FINALIZE_UNIT_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP.KO": "Process to create timestamp buffer for all records of the lifecycle of archival units failed", + "STP_EVIDENCE_AUDIT_FINALIZE.STARTED.OK": "Beginning of the process of creating the consistency audit report", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.FATAL": "Technical error while auditing the existence of objects", + "VERIFY_TIMESTAMP.OK": "Successful timestamp verification", + "UPDATE_UNIT_RULES.KO": "Failed to update the management rules for archival units", + "CHECK_CONCURRENT_WORKFLOW_LOCK": "Checking concurrent processes", + "COMMIT_LIFE_CYCLE_UNIT.FATAL": "Technical error while saving lifecycle logs of archival units", + "IMPORT_ARCHIVEUNITPROFILE.STARTED": "Beginning of the import process for the archival unit profile", + "PRESERVATION_SIEGFRIED_IDENTIFICATION.KO": "Failed to verify format", + "LOGBOOK_LC_SECURISATION.KO": "Failed to secure lifecycle logs", + "LFC.PRESERVATION_BINARY_HASH.PRESERVATION_BINARY_HASH.OK": "Successful calculation of a footprint in SHA-512", + "STP_IMPORT_PROFILE_FILE.OK": "Success of the import process of the archiving profile (xsd or rng file)", + "OLD_CHECK_DIGEST": "Checking the fingerprint", + "STP_OG_STORING": "Process of writing and indexing the metadata of groups of objects on storage offers", + "STP_CORRECTION_FINALIZE.FATAL": "a Technical Error occurred during the process of finalizing the signature corrections for each faulty object, group of objects or audited unit", + "STP_ELIMINATION_ANALYSIS_PREPARATION.OK": "Success of the preparation process for the analysis of the disposal of archival units", + "CHECK_FILE_FORMAT.KO": "Failed to check the formats of objects and group of objects", + "STP_DELETE_MASTERDATA_ACCESSION_REGISTER_SYMBOLIC.STARTED.OK": "Success of the start of the process of deleting the Register of Symbolic Funds", + "CORRECTIVE_AUDIT.KO": "Failed to correct the signatures of each archival unit or corrupted object or group of objects", + "PROBATIVE_VALUE_CHECK_MERKLE_TREE.KO": "Failed to verify MERKLE tree", + "ELIMINATION_ANALYSIS_CHECK_DISTRIBUTION_THRESHOLD.FATAL": "Technical error when checking the thresholds for the analysis of the elimination of archival units", + "STP_BACKUP_INGEST_CONTRACT": "Backup process for entry contracts", + "RECLASSIFICATION.KO": "Failed to modify the archival unit tree", + "CREATE_MANIFEST.WARNING": "Warning when creating the provision slip", + "PROBATIVE_VALUE_CHECK_MERKLE_TREE": "Checking of the MERKLE tree", + "STP_DELETE_METADATA_OG.KO": "Failed to remove metadata from object groups", + "STORAGE_AVAILABILITY_CHECK.STORAGE_AVAILABILITY_CHECK.FATAL": "Technical error when checking the availability of the storage offer", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_INTEGRITY.FATAL": "Technical error during the existence and integrity of objects", + "STP_CREATE_MANIFEST.KO": "Failed to create the provision slip", + "STP_ELIMINATION_ACTION_DELETE_UNIT.STARTED": "Beginning of the process of definitive disposal of disposable archival units", + "UPDATE_ARCHIVEUNITPROFILE.KO": "Failed to update archival unit profile", + "CHECK_HEADER.CHECK_AGENT.STARTED": "Beginning of the check for the presence and control of agent services", + "STP_EVIDENCE_AUDIT_EXTRACT_ZIP_FILE.WARNING": "Warning during the process of extracting signatures from secure files", + "PREPARATION.STARTED.OK": "Successful start of the overall preparation process", + "STP_STORAGE_AVAILABILITY_CHECK": "Verification process prior to taking over", + "ELIMINATION_ANALYSIS.KO": "Failed to analyze the elimination of archival units", + "STP_UPDATE.KO": "Failed to process the update of archival units", + "STP_UNIT_STORING.STARTED.OK": "Success of the start of the process of writing archival units to storage offers", + "ONTOLOGY_REPORT": "Process for generating the ontologies repository import report", + "PROBATIVE_VALUE_OBJECT.FATAL": "A technical error occurred while creating the list of objects for the statement of probative value", + "STP_BACKUP_REFERENTIAL_FORMAT.STARTED.OK": "Successful start of the format repository backup process", + "LFC.PRESERVATION_INDEXATION_METADATA.FATAL": "Technical error while indexing the metadata of the group of objects", + "UNIT_METADATA_UPDATE_CHECK_RULES.STARTED.OK": "Success of the start of the management rules check", + "STP_UNIT_STORING.FATAL": "Technical error during the process of writing archival units to storage offers", + "STP_UNIT_UPDATE.OK": "Success of the update process for archival units", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.OK": "Successful audit of the existence of objects", + "STP_ELIMINATION_ACTION_DELETE_UNIT": "Final disposal process for disposable archival units", + "LFC.CHECK_MANIFEST_WRONG_ATTACHMENT_LINK.KO": "Failed to check the attachments of archival units and groups of objects: the declared element does not allow attachment", + "STP_DELETE_LOGBOOK_LIFECYCLE_OG.FATAL": "Technical error while deleting object group lifecycle logs", + "UNIT_METADATA_UPDATE_CHECK_RULES.KO": "Failed to check business rules", + "PROBATIVE_VALUE_CHECK_OBJECT_GROUP.OK": "Success of retrieving data from the database", + "STP_MIGRATION_OBJECT_GROUPS_PREPARE": "Preparation process for the migration of groups of objects", + "FINALIZE_UNIT_LFC_TRACEABILITY.OK": "Successful completion of securing archival unit lifecycle logs", + "UPDATE_RULES_ARCHIVE_UNITS.OK": "Successful update of archival units", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_SAVED_HASH.OK": "Success of comparing MERKLE tree with saved Hash", + "ELIMINATION_ANALYSIS_PREPARATION.KO": "Failed to prepare for analysis of disposal of archival units", + "STP_PROBATIVE_VALUE_PREPARE.WARNING": "Warning during the probative value statement process", + "PROBATIVE_VALUE_EXTRACT_ZIP_FILE.FATAL": "Technical error while preparing to extract signatures from secure files", + "PRESERVATION_SIEGFRIED_IDENTIFICATION.OK": "Format of the identified object, referenced in the internal repository and with consistent information between the expected format and the result of the format identification tool.", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.TOO_MANY_VERSION_BY_USAGE.KO": "The transfer of several versions of the same use in the same payment is prohibited", + "SCENARIO_REPORT": "Process of generating the import report of the repository of preservation scenarios", + "STP_OP_SECURISATION.WARNING": "Warning during the process of securing the operations log", + "PROBATIVE_VALUE_CHECK_MERKLE_TREE.WARNING": "Warning when checking the MERKLE tree", + "STP_UPDATE_UNIT.WARNING": "Warning when updating archival unit metadata", + "STP_MIGRATION_OBJECT_GROUPS.WARNING": "Warning during the process of preparing the migration of groups of objects", + "PROCESS_SIP_UNITARY.KO": "SIP entry process failed", + "ELIMINATION_ANALYSIS_FINALIZATION.STARTED": "Beginning of the finalization of the analysis of the elimination of archival units", + "STP_UPDATE_INGEST_CONTRACT.PROFILE_NOT_FOUND.KO": "The input contract update process failed: at least one archiving profile is unknown", + "STP_SANITY_CHECK_SIP.STARTED.OK": "Successful start of the pre-entry checks process", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.WARNING": "Warning during the process of updating the Register of Funds following the final elimination of archival units", + "ELIMINATION_ACTION_DELETE_UNIT.OK": "Successful final elimination of disposable archival units", + "PROBATIVE_VALUE_LIST_OBJECT.KO": "Failed to create the list of objects for the statement of probative value", + "STP_UPDATE_INGEST_CONTRACT.OK": "Success of the input contract update process", + "LFC.PRESERVATION_BINARY_HASH.KO": "Failed to calculate a hash in SHA-512", + "STP_DELETE_LOGBOOK_OPERATION.STARTED": "Beginning of the process of deleting operation logs", + "LOGBOOK_OBJECTGROUP_LFC_TRACEABILITY.FATAL": "Technical error securing object group lifecycle logs", + "STP_INGEST_CONTROL_SIP.OK": "Success of the SIP control process", + "STP_PREPARE_AUDIT.STARTED.OK": "Beginning of the audit preparation process", + "COMMIT_LIFE_CYCLE_UNIT.ALREADY_EXECUTED": "Action already carried out: No recording of the life cycle logs of archival units", + "LFC.OG_METADATA_INDEXATION.WARNING": "Warning when indexing object group metadata", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.FATAL": "Fatal error while identifying the format", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.KO": "Failed to identify the format", + "STORAGE_AVAILABILITY_CHECK.STORAGE_AVAILABILITY_CHECK": "Checking the availability of the storage offer", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.REFERENTIAL_ERROR.FATAL": "Technical error while looking for the format of the object in the format repository", + "BACKUP_ARCHIVEUNITPROFILE": "Archival unit profiles backup process", + "LFC.UNIT_METADATA_UPDATE_CHECK_RULES.FATAL": "Technical error when checking the update of the management rules for the archival unit", + "RECTIFICATION_AUDIT": "Corrective audit process modified", + "STP_PERSONAL_CERTIFICATE_CHECK.FATAL": "Warning during the process of checking the personal certificate", + "STP_ELIMINATION_ACTION_DELETE_UNIT.STARTED.OK": "Successful start of the process of definitive disposal of disposable archival units", + "ELIMINATION_ACTION_DELETE_UNIT.WARNING": "Warning during the final disposal of disposable archival units", + "OP_PROFILE_STORAGE.WARNING": "Warning when saving the archive profile", + "STP_EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS.STARTED": "Start of the report creation process for each archival unit or object or group of objects", + "STP_FINALISE_AUDIT.STARTED.OK": "Beginning of the audit finalization process", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.OK": "Successful verification of the presence and control of the entry contract", + "STP_OP_SECURISATION.FATAL": "Technical error during the process of securing the operations log", + "STORE_MANIFEST": "Creation of the DIP and its movement to the storage offer", + "CHECK_DATAOBJECTPACKAGE.CHECK_CONSISTENCY_ORPHAN_OBJECT.KO": "The transfer slip contains objects or groups of objects which do not declare an attachment to an archival unit", + "SCENARIO_REPORT.FATAL": "Technical error during the process of generating the import report for the repository of preservation scenarios", + "STP_PROBATIVE_VALUE_CHECK_MERKLE_TREE.KO": "Merkle tree verification process failed", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.OBJECT_NOT_FOUND.FATAL": "The object to analyze was not found", + "FINALIZE_OG_LFC_TRACEABILITY.OP_SECURISATION_STORAGE.FATAL": "Technical error while storing object group lifecycle logs", + "ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.STARTED": "Beginning of the preparation for the final elimination of groups of technical objects", + "ELIMINATION_ACTION_UNIT_PREPARATION.WARNING": "Warning when preparing for the final disposal of archival units", + "STP_BACKUP_SECURITY_PROFILE.STARTED": "Beginning of the security profile backup process", + "CHECK_DATAOBJECTPACKAGE.INVALID_GUID_ATTACHMENT.KO": "The connection has not been made: the connection element is incorrect", + "STP_STORAGE_SECURISATION.WARNING": "Warning during the process of securing the write log", + "AUDIT_CHECK_OBJECT.AUDIT_CHECK_OBJECT.WARNING": "Warning when auditing the existence and integrity of objects", + "ELIMINATION_ANALYSIS_PREPARATION.OK": "Successful preparation of the analysis of the elimination of archival units", + "CORRECTIVE_AUDIT.OK": "Successful correction of the signatures of each archival unit or corrupted object or group of objects", + "STP_PROBATIVE_VALUE_CHECK_MERKLE_TREE.OK": "Success of the process of checking the MERKLE tree", + "STP_PREPARE_LISTS.FATAL": "Technical error during the process of preparing lists of archival units to be updated", + "STP_INGEST_CONTROL_SIP.ALREADY_EXECUTED": "Action already executed: No SIP control process", + "STP_UPDATE.OK": "Success of the archival unit update processing process", + "STP_DELETE_METADATA_OG.OK": "Successful process for removing metadata from object groups", + "STP_DELETE_SECURITY_PROFILE.FATAL": "Technical error during the process of deleting the security profile", + "PROBATIVE_VALUE_CHECK_MERKLE_TREE.OK": "Successful verification of the MERKLE tree", + "LFC.OG_OBJECTS_FORMAT_CHECK.KO": "Failed to check formats: format of unidentified or missing objects in the format repository", + "ELIMINATION_ANALYSIS_CHECK_DISTRIBUTION_THRESHOLD": "Checking the thresholds for the analysis of the elimination of archival units", + "LFC.OG_METADATA_STORAGE.KO": "Failed to write object group metadata to storage offerings", + "CHECK_SEDA.NO_FILE": "Global SIP check", + "LFC.OG_METADATA_STORAGE.WARNING": "Technical warning when writing object group metadata to storage offers", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.KO": "Failed to audit the existence of objects: at least one requested object does not exist or storage strategies are inconsistent with the declared offers", + "STP_DELETE_MASTERDATA_GRIFFIN.STARTED": "Beginning of the process of deleting the griffon repository", + "LFC.CHECK_UNIT_SCHEMA.RULE_DATE_FORMAT.WARNING": "Warning when checking the consistency of the date declared in the management rules", + "COMMIT_LIFE_CYCLE_UNIT.OK": "Successful saving of archival unit lifecycle logs", + "LFC.CHECK_MANIFEST_WRONG_ATTACHMENT.STARTED": "Beginning of the checking of the attachments of archival units and groups of objects", + "LFC.CHECK_UNIT_SCHEMA.RULE_DATE_FORMAT.FATAL": "Technical error when checking the consistency of the date declared in the management rules", + "STP_UPDATE_UNIT_DESC": "Process for updating the descriptive metadata of the archival unit", + "LFC.CHECK_MANIFEST.LFC_CREATION": "Creation of the life cycle log", + "STP_MIGRATION_OBJECT_GROUPS_PREPARE.STARTED": "Beginning of the preparation process for the migration of groups of objects", + "UNIT_METADATA_UPDATE_CHECK_RULES.FATAL": "Technical error while checking management rules", + "FINALIZE_UNIT_LFC_TRACEABILITY.KO": "Failed to finalize securing archival unit lifecycle logs", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_SAVED_HASH.KO": "Failed to compare MERKLE tree with saved Hash", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_INTEGRITY.OK": "Success of the audit of the files of the group of objects", + "STP_UPDATE_CONTEXT.STARTED": "Beginning of the application context update process", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.CONTRACT_UNKNOWN.KO": "Failed to check the presence and check for the presence of the entry contract: the entry contract is unknown to the entry contract repository", + "ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.FATAL": "Technical error while preparing the final elimination of groups of technical objects", + "STP_EVIDENCE_AUDIT_CHECK_DATABASE.STARTED": "Beginning of the data recovery process in the database", + "MASS_UPDATE_UNITS_RULES.FATAL": "Technical error when updating management metadata for archival units", + "STP_IMPORT_RULES_BACKUP": "Management rules repository backup process", + "IMPORT_AGENCIES_BACKUP_CSV": "Backup process of the agent services repository import file", + "CORRECTION_FINALIZE.WARNING": "Warning during the process of finalizing signature corrections for each faulty object, group of objects or audited unit", + "PROBATIVE_VALUE_CHECK_OBJECT_GROUP.KO": "Failed to retrieve data from the database", + "STP_VERIFY_STAMP.WARNING": "Warning during the timestamp verification process", + "UNIT_METADATA_UPDATE_CHECK_DT.WARNING": "Warning when checking the association with an archival unit profile", + "STP_DELETE_MASTERDATA_ACCESSION_REGISTER_SYMBOLIC.STARTED": "Beginning of the deletion processn of the Register of Symbolic Funds ", + "ELIMINATION_ACTION_DELETE_UNIT.KO": "Failure to permanently dispose of disposable archival units", + "PROBATIVE_VALUE_LIST_OBJECT.OK": "Successful creation of the list of objects of the statement of probative value", + "MASS_UPDATE_UNITS_RULES.OK": "Successful update of archival unit management metadata", + "PREPARE_TRACEABILITY_CHECK.WARNING": "Warning when preparing to check secure logs", + "CHECK_SEDA.NOT_XSD_VALID.KO": "Failed overall SIP check: transfer slip not in accordance with SEDA 2.1 schema", + "FINALIZE_UNIT_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP": "Timestamp of the lifecycle logs of archival units", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.OK": "Format of the identified object, referenced in the internal repository and with consistent information between the preservation operation and the result of the format identification tool.", + "MASS_UPDATE_UNITS_RULES": "Update of archival unit management metadata", + "LFC.CHECK_MANIFEST_WRONG_ATTACHMENT_LINK.OK": "Successful verification of the attachments of archival units and groups of objects", + "LFC.OG_METADATA_STORAGE.OK": "Successful writing of object group metadata to storage offerings", + "ONTOLOGY_REPORT.STARTED.OK": "Success of the start of the process of generating the import report of the ontologies repository", + "STP_UPDATE_INGEST_CONTRACT.KO": "Input contract update process failed", + "PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD.FATAL": "Technical error while preparing signature list in secure files", + "STP_DELETE_METADATA_OG": "Process for removing metadata from groups of objects", + "STP_UNIT_DETACHMENT": "Secondment process for archival units", + "STP_ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.FATAL": "Technical error during the preparation process for the final elimination of groups of technical objects", + "STP_ELIMINATION_ANALYSIS_FINALIZATION.WARNING": "Warning during the process of finalizing the analysis of the elimination of archival units", + "PRESERVATION_BINARY_HASH.FATAL": "Technical error when calculating a footprint in SHA-512", + "STP_PROBATIVE_VALUE_CHECK_MERKLE_TREE.WARNING": "Warning during the process of checking the MERKLE tree", + "STP_UNIT_METADATA.ALREADY_EXECUTED": "Action already carried out: No indexing process for archival unit metadata", + "EXPORT_DIP.STARTED": "Start of DIP export", + "STP_DELETE_MASTERDATA_ACCESSION_REGISTER_SYMBOLIC.FATAL": "A technical error occurred during the process of deleting the Register of Symbolic Funds", + "STP_PREPARE_TRACEABILITY_CHECK.STARTED": "Beginning of the process of preparing the verification of secure logs", + "LFC.CHECK_UNIT_SCHEMA.KO": "Failure of the global verification of the archival unit", + "STP_EVIDENCE_AUDIT_FINALIZE.OK": "Success of the process for finalizing the consistency audit report (no object in error)", + "IMPORT_AGENCIES_BACKUP_CSV.FATAL": "Technical error during the process of saving the import file of the agent services repository", + "LFC.CHECK_CONSISTENCY_ORPHAN_OBJECT.OK": "Successful verification of the attachment of objects to groups of objects and archival units", + "ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.STARTED.OK": "Success of the start of the preparation of the Register of Funds following the final elimination of the archival units", + "SANITY_CHECK_SIP.WARNING": "Warning during sanitary control of the SIP", + "STP_REFERENTIAL_FORMAT_IMPORT.STARTED.OK": "Successful start of the format repository import process", + "STP_INGEST_CONTROL_SIP.KO": "SIP slip control process failed", + "LIST_OBJECTGROUP_ID.WARNING": "Warning when creating the list of object groups to audit", + "RECLASSIFICATION_PREPARATION_CHECK_GRAPH": "Consistency check of the graph when modifying the tree structure of archival units", + "CHECK_MERKLE_TREE.KO": "Failed to check MERKLE tree", + "EVIDENCE_AUDIT_EXTRACT_ZIP_FILE.KO": "Failed to extract signatures from secure files", + "STP_PROBATIVE_VALUE_CHECK_MERKLE_TREE.STARTED.OK": "Success of the process of checking the MERKLE tree", + "STP_IMPORT_RULES_BACKUP.FATAL": "Technical error during the process of saving the management rules repository", + "STP_BACKUP_INGEST_CONTRACT.STARTED.OK": "Success of the start of the input contract backup process", + "STP_OG_CHECK_AND_TRANSFORME.STARTED": "Beginning of the process of checking and processing objects and groups of objects", + "STP_UNIT_METADATA.FATAL": "Technical error during the process of indexing the metadata of archival units", + "FILINGSCHEME.STARTED": "Beginning of the filing plan entry process", + "STP_PREPARE_AUDIT.STARTED": "Beginning of the audit preparation process", + "STP_DELETE_MASTERDATA_AGENCIES.FATAL": "Technical error during the process of deleting the agent services repository", + "STP_PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD.WARNING": "Warning during the process of preparing the list of signatures in secure files", + "UPDATE_UNIT_RULES.FATAL": "Technical error when updating management rules for archival units", + "PRESERVATION_STORAGE_METADATA_LFC": "Recording of object group lifecycle logs", + "STP_STORAGE_SECURISATION.KO": "Failed to secure the write log", + "FINALIZE_OG_LFC_TRACEABILITY.FINALIZE_OG_LFC_TRACEABILITY.STARTED": "Beginning of the finalization of securing object group lifecycle logs", + "REPORT_AUDIT.WARNING": "Warning when notification of the end of the audit", + "CHECK_DATAOBJECTPACKAGE.CHECK_NO_OBJECT.FATAL": "Technical error when checking that there is no object", + "STP_ELIMINATION_ANALYSIS_PREPARATION.STARTED.OK": "Success of the start of the preparation process for the analysis of the disposal of archival units", + "CHECK_HEADER.EMPTY_REQUIRED_FIELD.KO": "General check of the transfer slip: a mandatory field is empty", + "STP_SANITY_CHECK_SIP": "Pre-entry checks process", + "TRACEABILITY.WARNING": "Warning during the securing operation", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.FATAL": "Technical error while auditing the verification of files in the group of objects", + "CHECK_ARCHIVE_UNIT_PROFILE.NOT_AU_JSON_VALID.KO": "Failed to verify compliance with archival unit profiles: invalid json", + "MASS_UPDATE_FINALIZE.FATAL": "Technical error during the processing process for updating the generations of the update report for the descriptive metadata of archival units", + "CREATE_MANIFEST.STARTED": "Beginning of the creation of the provision slip", + "STORAGE_ACCESS_BACKUP.WARNING": "Warning when saving access logs", + "STP_DELETE_CONTEXT.OK": "Success of the process of deleting the application context", + "STP_IMPORT_ACCESS_CONTRACT": "Access contract import process", + "UNIT_METADATA_UPDATE": "Update of the metadata of archival units", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_OBJECTNUMBER.MANIFEST_SUPERIOR_BDO.KO": "The transfer slip declares more binary objects than there are in the Content directory of the SIP", + "LFC.CHECK_ARCHIVE_UNIT_PROFILE.OK": "Successful verification of compliance with archival unit profiles", + "STP_IMPORT_INGEST_CONTRACT.STARTED": "Beginning of the process of importing the entry contract", + "OP_PROFILE_STORAGE.STARTED": "Start of saving the archiving profile", + "PRESERVATION_PREPARATION.OK": "Success of the preparation of the preservation treatment", + "LFC.OG_CREATE_SECURED_FILE.FATAL": "Technical error while creating secure files for the object group", + "STP_IMPORT_RULES_BACKUP_CSV": "Registration process for the import file of the management rules repository", + "STP_ELIMINATION_ACTION_DELETE_UNIT.KO": "Final disposal process for disposable archival units failed", + "LFC.OG_METADATA_INDEXATION.STARTED": "Beginning of indexing of the metadata of the group of objects", + "STORAGE_BACKUP": "Save write logs", + "LFC.UPDATE_OBJECT_GROUP.WARNING": "Technical error while updating the object group", + "ELIMINATION_ACTION_REPORT_GENERATION.FATAL": "Technical error when generating the final disposal report for archival units", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_INTEGRITY.KO": "Failed to audit object group files verification", + "UNIT_METADATA_UPDATE.KO": "Failed to update archival unit metadata", + "ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.KO": "Failed to prepare for final elimination of groups of technical objects", + "STP_STORE_MANIFEST.STARTED.OK": "Beginning of the process of creating the DIP and moving it to the storage offer", + "OBJECTS_LIST_EMPTY.STARTED": "Beginning of the establishment of the list of objects", + "STP_EVIDENCE_AUDIT_CHECK_DATABASE.KO": "Failed to retrieve data from the database", + "STP_BACKUP_GRIFFIN.OK": "Success of saving griffins", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_INTEGRITY.KO": "Failed to audit the existence and integrity of objects", + "LFC.CHECK_DIGEST.STARTED.OK": "Success of the start of the integrity check of the uploaded objects", + "STP_UPDATE_PROFILE_JSON": "Archiving profile update process", + "FINALIZE_UNIT_LFC_TRACEABILITY.FINALIZE_UNIT_LFC_TRACEABILITY.WARNING": "Warning when finalizing the securing of the lifecycle logs of archival units", + "CHECK_DIGEST.OK": "Successful verification of the footprint of objects", + "MIGRATION_OBJECT_GROUPS_LIST.STARTED": "Beginning of the distribution of groups of objects", + "EXPORT_PROBATIVE_VALUE.OK": "Success of the process of exporting the statement of probative value", + "ACCESSION_REGISTRATION.KO": "Failed to feed the Fund Registry", + "STP_DELETE_MASTERDATA_AGENCIES": "Process for deleting the agent services repository", + "STP_OG_STORING.FATAL": "Technical error while writing object group metadata to storage offerings", + "STP_STORE_MANIFEST.WARNING": "Warning during the process of creating the DIP and moving it to the storage offer", + "LFC.CHECK_ARCHIVE_UNIT_PROFILE.PROFILE_NOT_FOUND.KO": "Failed to verify compliance with archival unit profiles: archival unit profile not found", + "PRESERVATION_BINARY_HASH.STARTED": "Start of calculation of a footprint in SHA-512", + "CHECK_ARCHIVE_UNIT_PROFILE.INACTIVE_STATUS.KO": "Failed to verify compliance with archival unit profiles: archival unit profile not active", + "LFC.PRESERVATION_BINARY_HASH.INVALID.KO": "Failed to verify file hash", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.PUID_NOT_FOUND.KO": "Object format identifier (PUID) missing in the formats repository", + "STP_MIGRATION_OBJECT_GROUPS": "Preparation process for the migration of groups of objects", + "OBJ_STORAGE.OK": "Successful writing of objects and groups of objects to storage offers", + "OP_SECURISATION_STORAGE.KO": "Failed to save logs on storage offers", + "STP_PRESERVATION_ACTION.WARNING": "Warning during the process of launching the griffin", + "STORAGE_AVAILABILITY_CHECK.STORAGE_OFFER_KO_UNAVAILABLE.KO": "Failed to check availability of at least one storage offering", + "STP_UPDATE_ACCESS_CONTRACT.CONTRACT_NOT_FOUND.KO": "Access contract update process failed: access contract not found", + "GRIFFIN_REPORT.STARTED": "Beginning of the generation of the griffon repository import report", + "STP_MIGRATION_UNITS.STARTED": "Beginning of the preparation process for the migration of archival units", + "STP_DELETE_CONTEXT.KO": "Failure of the process of deleting the application context", + "LFC.CHECK_MANIFEST.TOO_MANY_FOUND_ATTACHMENT.KO": "The attachment has not been made: the attachment element is not unique in the system", + "STP_DELETE_ACCESSION_REGISTER_SUMMARY.FATAL": "Technical error during the process of deleting the Register of Funds (Summary)", + "STP_INGEST_FINALISATION.WARNING": "Warning during the process of finalizing the entry", + "LFC.CHECK_ARCHIVE_UNIT_PROFILE.STARTED.OK": "Success in starting verification of compliance with archival unit profiles", + "BUILD_OG_LFC_TRACEABILITY.STARTED.OK": "Successful securing object group lifecycle logs", + "FINALIZE_UNIT_LFC_TRACEABILITY.OP_SECURISATION_STORAGE.KO": "Failed to store archival unit lifecycle logs", + "STP_OG_CHECK_AND_TRANSFORME.ALREADY_EXECUTED": "Action already executed: No process for checking and processing objects and groups of objects", + "PRESERVATION_STORAGE_BINARY.OK": "Successful writing of objects and groups of objects to storage offers", + "FILINGSCHEME.STARTED.OK": "Success of the start of the filing plan entry process", + "EVIDENCE_AUDIT_EXTRACT_ZIP_FILE": "Extraction of signatures from secure files", + "MASTERDATA": "Basic data", + "STP_DELETE_MASTERDATA_GRIFFIN.WARNING": "Warning during the process of deleting the griffon repository", + "STP_BACKUP_SCENARIO.FATAL": "Warning when saving preservation scenarios", + "CHECK_LOGBOOK_OP_SECURISATION.STARTED": "Start of verification of secure logs", + "PRESERVATION_FINALIZATION": "Finalization of the preservation treatment", + "CHECK_MERKLE_TREE.OK": "Successful verification of the MERKLE tree", + "STP_PREPARE_LISTS.STARTED.OK": "Successful start of the process of preparing lists of archival units to be updated", + "STP_ELIMINATION_ACTION_REPORT_GENERATION.FATAL": "Technical error during the process of generating the final disposal report for archival units", + "EXTERNAL_LOGBOOK.FATAL": "Technical error while logging external events", + "MIGRATION_OBJECT_GROUPS.STARTED": "Beginning of the migration of groups of objects", + "IMPORT_PRESERVATION_SCENARIO.KO": "Import process for preservation scenarios repository failed", + "LFC.UPDATE_UNIT_RULES.FATAL": "Technical error when updating the management rules for the archival unit", + "CHECK_SEDA.OK": "Success of the global SIP check", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.ATTACHMENT_OBJECTGROUP.KO": "The entry contract does not authorize the attachment of an object to an existing group of objects.", + "STP_ELIMINATION_ACTION_DELETE_OBJECT_GROUP": "Final elimination process for groups of technical objects whose parent archival units are deleted", + "ELIMINATION_ACTION_UNIT_PREPARATION.STARTED": "Beginning of preparation for the final disposal of archival units", + "COMMIT_LIFE_CYCLE_UNIT": "Recording of the Life Cycle Journals of archival units", + "STP_UPDATE_OBJECT_GROUP.STARTED.OK": "Successful start of the object group update process", + "STP_RECLASSIFICATION_PREPARATION.WARNING": "Warning during the preparation process for the modification of the archival unit tree", + "STP_STORAGE_SECURISATION.STARTED": "Beginning of the process for securing the journal entries", + "STP_UPDATE_UNIT_DESC.FATAL": "Technical error during the process of updating the descriptive metadata of the archival unit", + "LFC.UPDATE_OBJECT_GROUP.STARTED.OK": "Beginning of updating the group of objects", + "STP_PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD.STARTED": "Beginning of the process for preparing the list of signatures in secure files", + "UNIT_METADATA_INDEXATION.ALREADY_EXECUTED": "Action already carried out: No indexing of archival unit metadata", + "LFC.CHECK_ARCHIVE_UNIT_PROFILE.KO": "Failed to verify compliance with archival unit profiles", + "STP_MASS_UPDATE_FINALIZE.WARNING": "Warning during the process of generating the update report for the descriptive metadata of archival units", + "LIST_ARCHIVE_UNITS.FATAL": "Technical error during the process of establishing the list of archival units to update", + "STP_UPLOAD_SIP.WARNING": "Warning during the process of receiving the SIP", + "PRESERVATION_PREPARATION.KO": "Failed to prepare for preservation treatment", + "STP_INGEST_FINALISATION": "Entry finalization process", + "PROBATIVE_VALUE_CHECK_OBJECT_GROUP.FATAL": "Technical error while retrieving data from the database", + "STP_ELIMINATION_ANALYSIS_PREPARATION.KO": "The preparation process for the analysis of the disposal of archival units failed", + "STP_UNIT_ATTACHMENT.KO": "Failed to attach archival units", + "IMPORT_ARCHIVEUNITPROFILE": "Import process of the archival unit profile", + "STP_OG_LFC_TRACEABILITY.OK": "Successful securing object group lifecycle logs", + "CHECK_DIGEST.KO": "Failed to check the fingerprint of objects", + "STP_RECLASSIFICATION_PREPARATION": "Preparation process for the modification of the tree structure of archival units", + "STP_MASS_UPDATE_FINALIZE.FATAL": "Technical error during the process of generating the update report for descriptive metadata of archival units", + "LOGBOOK_UNIT_LFC_TRACEABILITY.STARTED": "Start of securing the lifecycle logs of archival units", + "FINALIZE_OG_LFC_TRACEABILITY.FINALIZE_OG_LFC_TRACEABILITY.KO": "Failed to finalize securing object group lifecycle logs", + "UNITS_RULES_COMPUTE.FATAL": "Technical error when applying management rules and calculating due dates", + "STP_ELIMINATION_ACTION_DELETE_UNIT.OK": "Success of the process of definitive disposal of disposable archival units", + "BUILD_OG_LFC_TRACEABILITY.WARNING": "Warning when securing object group lifecycle logs", + "UPDATE_RULES_ARCHIVE_UNITS.KO": "Failed to update archival units", + "RECLASSIFICATION_PREPARATION.WARNING": "Warning when preparing to modify the tree structure of archival units", + "BACKUP_AGENCIES.OK": "Success of the agent services repository backup process", + "ACCESSION_REGISTRATION.OK": "Successful filling of the Register of Funds", + "EXPORT_PROBATIVE_VALUE.KO": "The process of exporting the statement of probative value failed", + "UNIT_METADATA_UPDATE.OK": "Successful update of archival unit metadata", + "OG_METADATA_INDEXATION": "Indexing of metadata of objects and groups of objects", + "EXTERNAL_LOGBOOK": "Logging of external events", + "EVIDENCE_AUDIT_FINALIZE.OK": "Successful creation of the consistency audit report", + "MASS_UPDATE.WARNING": "Warning when updating the metadata of archival units", + "STP_VERIFY_STAMP.STARTED": "Start of the timestamp verification process", + "OG_OBJECTS_FORMAT_CHECK.OK": "Successful identification of formats", + "MASS_UPDATE_UNITS.FATAL": "Technical error when updating archival units", + "STP_IMPORT_SECURITY_PROFILE.WARNING": "Warning during the security profile import process", + "LFC.UPDATE_OBJECT_GROUP.OK": "Successful update of the object group", + "LFC.UNITS_RULES_COMPUTE.UNKNOWN.FATAL": "Technical error when checking the expiration of management rules", + "MIGRATION_UNITS": "Migration of archival units", + "LFC.UNITS_RULES_COMPUTE.UNKNOWN.KO": "Failed to check the expiration of the business rules: At least one declared business rule is unknown to the system or the calculated deadline is after 01/01/9000 (Date start + Duration of the rule) ", + "STP_PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD.OK": "Success of the process for preparing the list of signatures in secure files", + "EVIDENCE_AUDIT_CHECK_DATABASE.FATAL": "Technical error while retrieving data from the database", + "MASS_UPDATE": "Update of archival unit metadata", + "LFC.UNITS_RULES_COMPUTE.REF_INCONSISTENCY.KO": "Failed to check the consistency of the business rule whose cancellation is requested in relation to its category: the request to cancel a business rule is not consistent with its category ", + "FINALIZE_OG_LFC_TRACEABILITY.FINALIZE_OG_LFC_TRACEABILITY.OK": "Successful completion of securing object group lifecycle logs", + "FILINGSCHEME.WARNING": "Warning during the filing plan entry process", + "ACCESSION_REGISTRATION": "Supply to the Register of Funds", + "STP_PROBATIVE_VALUE_CHECK_OBJECT_GROUP.STARTED.OK": "Success of the start of the data recovery process in the database", + "STP_PREPARE_LISTS": "Process of preparing lists of archival units to be updated", + "LFC.OG_CREATE_SECURED_FILE": "Creation of secure files for the group of objects", + "BACKUP_ONTOLOGY": "Ontologies backup process", + "OBJ_STORAGE.KO": "Failed to write objects and groups of objects to storage offers", + "OP_SECURISATION_STORAGE.OK": "Successful recording of logs on storage offers", + "STP_ACCESSION_REGISTRATION.FATAL": "Technical error during the process of feeding the Register of Funds", + "LFC.OG_METADATA_STORAGE.STARTED": "Beginning of writing object group metadata to storage offers", + "CHECK_SEDA.NOT_XML_FILE": "Global SIP check", + "CHECK_DATAOBJECTPACKAGE.MANIFEST_INFERIOR_BDO.KO": "The transfer slip declares fewer binary objects than there are in the Content directory of the SIP", + "STORAGE_SECURISATION_TIMESTAMP.OK": "Successful creation of the timestamp buffer for all the write logs", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.FATAL": "Technical error during the preparation process of the Register of Funds following the final elimination of archival units", + "PRESERVATION_STORAGE_BINARY.KO": "Failed to write objects and groups of objects to storage offers", + "MASS_UPDATE_UNITS.WARNING": "Warning when updating archival units", + "LFC.UNIT_METADATA_INDEXATION.FATAL": "Technical error while indexing the archival unit", + "STP_ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.STARTED.OK": "Success of the start of the preparation process for the final elimination of groups of technical objects", + "STP_PROBATIVE_VALUE_CHECK_MERKLE_TREE.STARTED": "Beginning of the process of checking the MERKLE tree", + "UPDATE_RULES_ARCHIVE_UNITS": "Update process for archival units", + "LFC.CHECK_UNIT_SCHEMA.STARTED.OK": "Successful start of the overall verification of the archival unit", + "STP_DELETE_MASTERDATA_CONTEXT.STARTED.OK": "Success of the start of the process for deleting application contexts", + "LFC.CHECK_MANIFEST.WARNING": "Warning when checking the consistency of the transfer slip", + "CHECK_UNIT_SCHEMA.WARNING": "Warning during the global check of the archival unit", + "FINALIZE_UNIT_LFC_TRACEABILITY.OP_SECURISATION_STORAGE.OK": "Successful storage of archival unit lifecycle logs", + "PROCESS_SIP_UNITARY.OK": "Success of the SIP entry process", + "LFC.PRESERVATION_BINARY_HASH.PRESERVATION_BINARY_HASH.STARTED": "Beginning of the calculation of a hash in SHA-512", + "VERIFY_TIMESTAMP": "Checking the timestamp", + "CHECK_HEADER.CONTEXT_INACTIVE.KO": "Failure of the general check of the transfer slip: the application context declared in the transfer slip is inactive", + "IMPORT_PRESERVATION_SCENARIO.OK": "Success of the import process of the repository of preservation scenarios", + "CHECK_SEDA.KO": "Global SIP check failed", + "CHECK_RULES.MAX_DURATION_EXCEEDS.KO": "Failure of the security check of the management rules. The durations of the management rules must be greater than or equal to the minimum durations required by the tenant", + "STP_STORAGE_SECURISATION.OK": "Success of the process of securing the journal entries", + "IMPORT_PRESERVATION_SCENARIO": "Import process of the repository of preservation scenarios", + "LFC.CHECK_MANIFEST_WRONG_ATTACHMENT_LINK": "Checking the connections of archival units and groups of objects", + "STP_ELIMINATION_ACTION_DETACH_OBJECT_GROUP.STARTED.OK": "Success of the start of the process of detaching groups of technical objects from which certain parent archival units are eliminated", + "OBJECTS_LIST_EMPTY.OK": "Successful establishment of the list of objects", + "HOLDINGSCHEME.STARTED.OK": "Success of the start of the import of the positioning tree", + "ELIMINATION_ANALYSIS_UNIT_INDEXATION.OK": "Successful indexing of the elimination analysis of archival units", + "PROCESS_SIP_UNITARY_TEST.STARTED": "Beginning of the SIP blank entry process", + "STP_DELETE_ACCESSION_REGISTER_SUMMARY.OK": "Success of the process of deleting the Register of Funds (Summary)", + "BACKUP_ONTOLOGY.OK": "Success of the ontology backup process", + "CHECK_UNIT_SCHEMA.RULE_DATE_FORMAT": "Global verification of the archival unit: verification of the date format", + "STP_DELETE_LOGBOOK_LIFECYCLE_UNIT": "Process for deleting the life cycle logs of archival units", + "STP_INGEST_FINALISATION.OK": "Success of the entry finalization process", + "STP_SANITY_CHECK_SIP.KO": "Pre-entry checks process failed", + "STP_UNIT_GRAPH_COMPUTE.FATAL": "Technical error during the process of updating the graphs of archival units", + "UPDATE_AGENCIES.KO": "Failed to update agent services repository", + "STP_UNIT_METADATA.WARNING": "Warning during the process of indexing the metadata of archival units", + "FINALIZE_UNIT_LFC_TRACEABILITY.FINALIZE_UNIT_LFC_TRACEABILITY.FATAL": "Technical error while finalizing the securing of lifecycle logs of archival units", + "CHECK_DATAOBJECTPACKAGE.CHECK_NO_OBJECT": "Checking that there is no object", + "RECLASSIFICATION_PREPARATION_LOAD_REQUEST.WARNING": "Warning when loading archival units when modifying the tree structure of archival units", + "CREATE_MANIFEST.FATAL": "Technical error when creating the provision slip", + "VERIFY_TIMESTAMP.VALIDATE_TOKEN_TIMESTAMP.OK": "Successful validation of the timestamp buffer", + "LFC.OBJ_STORAGE.WARNING": "Warning when writing objects to storage offers", + "STP_EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD.FATAL": "Technical error during the process of preparing the list of signatures in secure files", + "BACKUP_AGENCIES.KO": "Agent services repository backup process failed", + "STP_DELETE_MASTERDATA_ARCHIVE_UNIT_PROFILE.STARTED.OK": "Success of the start of the process of deleting the repository of archival unit profiles", + "STP_PRESERVATION_FINALIZATION.OK": "Success of the preservation treatment finalization process", + "CHECK_SEDA.STARTED": "Beginning of the global SIP check", + "OP_SECURISATION_TIMESTAMP": "Timestamp of logs", + "EVIDENCE_AUDIT_FINALIZE.KO": "Failed to create consistency audit report", + "FINALIZE_UNIT_LFC_TRACEABILITY.FINALIZE_UNIT_LFC_TRACEABILITY.KO": "Failed to finalize the securing of lifecycle logs of archival units", + "CHECK_UNIT_SCHEMA.EMPTY_REQUIRED_FIELD.FATAL": "Technical error during the global check of the archival unit: compulsory fields empty", + "OG_OBJECTS_FORMAT_CHECK.KO": "Failed to identify formats", + "EXTERNAL_LOGBOOK.KO": "Failed to log external events", + "UPDATE_RUNNING_INGESTS.KO": "Failed to update current entries", + "UPDATE_RUNNING_INGESTS.WARNING": "Warning when updating current entries", + "CHECK_DATAOBJECTPACKAGE.ARCHIVEUNIT_REFERENCES_MULTIPLE_OBJECTGROUP.KO": "An archival unit references more than one group of technical objects", + "STP_PREPARATION.STARTED.OK": "Success of the start of the process of launching the preparation of the preservation treatment", + "STP_OP_SECURISATION": "Securing the operation logs", + "STP_MIGRATION_UNITS_PREPARE.WARNING": "Warning during the process of preparing the migration of archival units", + "STP_DELETE_RULES.STARTED ": " Beginning of the process of deleting the management rules repository ", + "VERIFY_TIMESTAMP.COMPARE_TOKEN_TIMESTAMP.STARTED": "Start of timestamp buffer comparison", + "PROCESS_AUDIT.STARTED": "Start of the audit", + "COMMIT_RULES.KO": "Failed to persist data in database", + "CHECK_ARCHIVE_UNIT_PROFILE.STARTED": "Start of verification of compliance with archival unit profiles", + "FINALIZE_OG_LFC_TRACEABILITY.KO": "Failed to finalize securing object group lifecycle logs", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.UNKNOWN": "Checking the format of the object", + "LFC.OG_OBJECTS_FORMAT_CHECK.STARTED": "Beginning of the format check", + "CHECK_HEADER.UNKNOWN.KO": "Failure of the general check of the transfer slip: unknown reference data", + "STP_ELIMINATION_ANALYSIS_UNIT_INDEXATION.KO": "Indexing process for the analysis of elimination of archival units failed", + "STP_ELIMINATION_ANALYSIS_PREPARATION.STARTED": "Beginning of the preparation process for the analysis of the disposal of archival units", + "UNIT_METADATA_CHECK_CONSISTENCY.STARTED": "Start of the consistency check of actions when updating management metadata for archival units", + "UPDATE_RUNNING_INGESTS.FATAL": "Technical error while updating current entries", + "STP_PROBATIVE_VALUE_EXTRACT_ZIP_FILE.STARTED.OK": "Success of the start of the process of extracting signatures from secure files", + "STP_ELIMINATION_ACTION_PREPARATION.STARTED.OK": "Success of the preparation process for the final disposal of archival units", + "STP_UNIT_GRAPH_COMPUTE": "Update process of graphs of archival units", + "UNIT_METADATA_UPDATE_CHECK_RULES.STARTED": "Start of the management rules check", + "LFC.UNITS_RULES_COMPUTE.REF_INCONSISTENCY.OK": "Successful check of the consistency of the management rule whose cancellation is requested in relation to its category", + "ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.STARTED": "Beginning of the update of the Register of Funds following the final elimination of archival units", + "IMPORT_PRESERVATION_SCENARIO.FATAL": "Technical error during the process of importing the repository of preservation scenarios", + "MASS_UPDATE_UNIT_RULE.STARTED": "Success of the start of the update of the management rules for archival units", + "STP_UNIT_ATTACHMENT.OK": "Success of the archival unit attachment process", + "OP_PROFILE_STORAGE.FATAL": "Technical error while saving the archive profile", + "STP_PREPARE_TRACEABILITY_CHECK.FATAL": "Technical error in the process of preparing to verify secure logs", + "RECLASSIFICATION_PREPARATION_LOAD_REQUEST.OK": "Successful loading of archival units when modifying the tree structure of archival units", + "STP_IMPORT_PROFILE_FILE.KO": "Failed to import archiving profile (xsd or rng file)", + "STP_OG_LFC_TRACEABILITY.KO": "Failed to secure object group lifecycle logs", + "IMPORT_AGENCIES.USED_CONTRACT.STARTED": "Beginning of the verification process for the agent services referenced in the access contracts", + "UNIT_ATTACHMENT": "Detachment of archival units", + "STP_IMPORT_INGEST_CONTRACT.FATAL": "Technical error during the import process of the entry contract", + "LFC.CHECK_MANIFEST.NULL_LINK_PARENT_ID_ATTACHMENT.KO": "The connection has not been made: the entry contract does not declare a connection node", + "EVIDENCE_AUDIT_EXTRACT_ZIP_FILE.WARNING": "Warning when extracting signatures from secure files", + "MASS_UPDATE_UNIT_RULE": "Update of management rules for archival units", + "STP_PROBATIVE_VALUE_PREPARE_GENERATE_REPORTS": "Report creation process for each archival unit or object or group of objects", + "CHECK_DATAOBJECTPACKAGE.PDO_DATAOBJECTIONVERSION_BINARYMASTER.KO": "At least one physical object declares a \" BinaryMaster \" usage. This usage is not authorized for physical objects", + "LOGBOOK_LC_SECURISATION.OK": "Successful securing lifecycle logs", + "MASS_UPDATE_UNIT_DESC.OK": "Success of the process of mass updating of descriptive metadata of archival units", + "STP_DELETE_RULES": "Process for deleting the management rules repository", + "LFC.PRESERVATION_INDEXATION_METADATA.PRESERVATION_INDEXATION_METADATA.STARTED": "Beginning of the indexing of the metadata of the group of objects ors of a preservation operation", + "PRESERVATION_STORAGE_BINARY.WARNING": "Warning when writing objects and groups of objects to storage offers", + "UPDATE_ONTOLOGY.OK": "Success of the ontology update process", + "OG_OBJECTS_FORMAT_CHECK.WARNING": "Warning when identifying formats", + "STP_DELETE_SECURITY_PROFILE.OK": "Success of the deletion of the security profile process", + "STP_MIGRATION_FINALIZE": "Migration finalization process", + "CHECK_ARCHIVE_UNIT_PROFILE.FATAL": "Technical error while checking compliance with archival unit profiles", + "UNIT_METADATA_UPDATE_CHECK_DT.FATAL": "Technical error when checking the association with an archival unit profile", + "LFC.LFC_CREATION.STARTED": "Beginning of feeding the lifecycle log", + "STP_CREATE_MANIFEST.WARNING": "Warning during the creation process of the provision slip", + "STP_UPDATE_PROFILE_JSON.IDENTIFIER_DUPLICATION.KO": "Failed to update the archiving profile: the identifier is already in use", + "OBJECTS_LIST_EMPTY.KO": "Failed to establish the list of objects", + "STP_INGEST_FINALISATION.KO": "Failed to finalize entry", + "STP_EVIDENCE_AUDIT_CHECK_DATABASE.OK": "Success of the data recovery process in the database", + "STP_UPDATE_SECURITY_PROFILE.STARTED": "Beginning of the security profile update process", + "UPDATE_AGENCIES.OK": "Success of the agent services repository update process", + "UNIT_METADATA_UPDATE_CHECK_PERMISSION.FATAL": "Technical error when checking the rights to update metadata for archival units", + "STP_ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.STARTED": "Beginning of the preparation process for the final elimination of groups of technical objects", + "STP_DELETE_MASTERDATA_PRESERVATION_SCENARIO.FATAL": "Technical error during the process of deleting the repository of preservation scenarios", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.REJECTED": "Checking the format of the object", + "UNITS_RULES_COMPUTE.KO": "At least one archival unit declares a field whose value does not conform to the expected one", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_INTEGRITY.OK": "Successful audit of the existence and integrity of objects", + "UNIT_DETACHMENT": "Detachment of archival units", + "STP_IMPORT_SECURITY_PROFILE.FATAL": "Technical error during the import process of the security profile", + "ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.OK": "Successful preparation for the final elimination of groups of technical objects", + "STP_EVIDENCE_AUDIT_PREPARE.STARTED": "Beginning of the process of creating the list to be audited", + "PREPARE_UNIT_LFC_TRACEABILITY.FATAL": "Technical error preparing life cycle logs and archival unit metadata", + "BACKUP_PROFILE": "Backup process for archiving profiles", + "ONTOLOGY_REPORT.FATAL": "Technical error during the generation of the ontology repository import report", + "ELIMINATION_ANALYSIS_CHECK_DISTRIBUTION_THRESHOLD.WARNING": "Warning when checking the thresholds for the analysis of the elimination of archival units", + "CTR_SCHEMA.WARNING": "Warning during the JSON schema check process", + "UPDATE_RUNNING_INGESTS.OK": "Successful update of current entries", + "BACKUP_ONTOLOGY.KO": "Failed to save ontologies process", + "STP_PRESERVATION_FINALIZATION.KO": "The process of finalizing preservation processing failed", + "STP_UPDATE_PROFILE_JSON.STARTED.OK": "Successful start of the archive profile update process", + "EXPORT_PROBATIVE_VALUE": "Export process for the statement of probative value", + "LFC.CHECK_MANIFEST.LFC_CREATION.STARTED.OK": "Successful start of lifecycle log creation", + "STP_UPDATE_UNIT": "Archival unit metadata update process", + "CHECK_HEADER.CHECK_IC_AP_RELATION.DIFF.KO": "Failed to check the consistency between the archiving profile declared in the transfer slip and that declared in the entry contract", + "STP_UNIT_ATTACHMENT.STARTED": "Beginning of the process of attaching archival units", + "UNITS_RULES_COMPUTE.REF_INCONSISTENCY": "Application of management rules and calculation of due dates", + "UPDATE_ARCHIVEUNITPROFILE.STARTED.OK": "Success of the start of the update process of the archival unit profile", + "CHECK_MERKLE_TREE.WARNING": "Warning when checking the MERKLE tree", + "FINALIZE_UNIT_LFC_TRACEABILITY.FINALIZE_UNIT_LFC_TRACEABILITY.OK": "Successful completion of securing the lifecycle logs of archival units", + "MIGRATION_UNITS_LIST.FATAL": "Technical error during the distribution of archival units", + "CHECK_DATAOBJECTPACKAGE.STARTED": "Start of checking of objects and groups of objects", + "LFC.UNITS_RULES_COMPUTE.FATAL": "Technical error when applying management rules and calculating due dates", + "LFC.OG_OBJECTS_FORMAT_CHECK.FATAL": "Technical error while checking formats", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.CONTEXT_CHECK_ERROR.KO": "Failed to verify the presence and control of the application context", + "MASS_UPDATE_UNIT_DESC.STARTED.WARNING": "Warning when starting the process of mass updating of descriptive metadata of archival units", + "STP_BACKUP_INGEST_CONTRACT.WARNING": "Warning during the process of saving input contracts", + "CORRECTIVE_AUDIT.WARNING": "Warning when correcting the signatures of each archival unit or corrupted object or group of objects", + "STP_IMPORT_PROFILE_JSON": "Archiving profile import process", + "STP_UPDATE_RUNNING_INGESTS": "Entry update process in progress", + "STP_ELIMINATION_ACTION_PREPARATION.STARTED": "Beginning of the preparation process for the final disposal of archival units", + "STP_UPDATE_UNIT.FATAL": "Technical error while updating archival unit metadata", + "PRESERVATION_PREPARATION.STARTED.OK": "Success of the start of the preparation of the preservation treatment", + "STP_STORAGE_SECURISATION.STARTED.OK": "Success of the start of the process for securing the journal entries", + "CHECK_CLASSIFICATION_LEVEL.WARNING": "Warning when checking classification levels", + "STP_OG_STORING.STARTED": "Beginning of the process of writing the metadata of the groups of objects on the storage offers", + "STP_FINALISE_AUDIT.WARNING": "Warning during the audit finalization process", + "PROCESS_SIP_UNITARY_TEST": "SIP blank entry process", + "STP_PREPARATION.STARTED": "Beginning of the process of launching the preparation of the preservation treatment", + "STP_PROBATIVE_VALUE_PREPARE_GENERATE_REPORTS.OK": "Success of the report creation process for each archival unit or object or group of objects", + "STP_OBJ_STORING.STARTED.OK": "Success of the start of the process of writing and indexing objects on the storage offers", + "RECLASSIFICATION_PREPARATION_LOAD_REQUEST.KO": "Failed to load archival units when modifying the archival unit tree", + "MASS_UPDATE_UNIT_DESC.KO": "Mass update process for descriptive metadata of archival units failed", + "CHECK_DATAOBJECTPACKAGE.CHECK_CONSISTENCY.FATAL": "Technical error when checking consistency between objects, groups of objects and archival units", + "COMMIT_LIFE_CYCLE_OBJECT_GROUP.ALREADY_EXECUTED": "Action already carried out: No recording of object group lifecycle logs", + "ELIMINATION_ACTION_DELETE_OBJECT_GROUP.FATAL": "Technical error during the final elimination of groups of technical objects whose parent archival units are deleted", + "STP_IMPORT_INGEST_CONTRACT.EMPTY_REQUIRED_FIELD.KO": "Failed to import the entry contract: at least one of the mandatory fields is not filled in", + "LOGBOOK_LC_SECURISATION.STARTED": "Beginning of securing lifecycle logs", + "LFC.PRESERVATION_INDEXATION_METADATA.STARTED.OK": "Success of the start of the indexing of the metadata of the group of objects", + "RULES_REPORT": "Generation of the analysis report of the management rules repository", + "UPLOAD_SIP": "Receiving the SIP in Vitam", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.CONTRACT_INACTIVE": "Failed to check the presence and control of the entry contract: the entry contract is inactive", + "EVIDENCE_AUDIT_LIST_OBJECT": "Creation of the list to audit", + "STP_FINALISE_AUDIT.KO": "Failed to finalize the audit", + "CTR_SCHEMA.KO": "JSON schema check process failed", + "CHECK_HEADER.CHECK_AGENT.FATAL": "Technical error when checking the presence and control of agent services", + "STP_OG_STORING.ALREADY_EXECUTED": "Action already carried out: No process for writing the metadata of groups of objects on the storage offers", + "LFC.CHECK_UNIT_SCHEMA.INVALID_UNIT.KO": "Failed to check the conformity of values ​​in fields", + "STP_PROBATIVE_VALUE_EXTRACT_ZIP_FILE.KO": "Process of extracting signatures from secured files failed", + "MANIFEST_FILE_NAME_CHECK.STARTED.OK": "Success of the start of the control of the name of the transfer slip", + "STP_OG_CHECK_AND_TRANSFORME.WARNING": "Warning during the process of checking and processing objects and groups of objects", + "ELIMINATION_ANALYSIS_PREPARATION.FATAL": "Technical error during the preparation of the analysis of the elimination of archival units", + "STP_EVIDENCE_AUDIT_EXTRACT_ZIP_FILE.STARTED": "Beginning of the process of extracting signatures from secure files", + "RECLASSIFICATION_FINALIZATION.KO": "Failed to finalize the modification of the archival unit tree", + "STP_DELETE_MASTERDATA_CONTEXT": "Process for deleting application contexts", + "STP_PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD": "Process for preparing the list of signatures in secure files", + "CHECK_HEADER.INACTIVE.KO": "Failure of the general check of the transfer slip: reference data inactive", + "IMPORT_AGENCIES_BACKUP_CSV.STARTED.OK": "Successful start of the backup process for the agent services repository import file", + "LFC.CHECK_MANIFEST.OK": "Successful verification of the consistency of the transfer slip", + "UNITS_RULES_COMPUTE": "Application of management rules and calculation of due dates", + "AUDIT_CHECK_OBJECT.AUDIT_CHECK_OBJECT.OK": "Successful audit of the existence and integrity of objects", + "STP_UPLOAD_SIP.KO": "SIP reception process failed: one of the file names contains an illegal character", + "STORAGE_ACCESS_BACKUP.KO": "Failed to save access logs", + "STP_DELETE_LOGBOOK_LIFECYCLE_OG": "Process for deleting object group lifecycle logs", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.UNCHARTED": "Checking the format of the object", + "STP_UNIT_GRAPH_COMPUTE.WARNING": "Warning during the process of updating the graphs of archival units", + "IMPORT_ARCHIVEUNITPROFILE.WARNING": "Warning during the import process of the archival unit profile", + "STP_DELETE_MASTERDATA_INGEST_CONTRACT.STARTED": "Beginning of the process for deleting entry contracts", + "CHECK_MERKLE_TREE": "Checking the MERKLE tree", + "LFC.CHECK_DIGEST.FATAL": "Technical error when checking the integrity of the objects uploaded", + "STP_UNIT_UPDATE": "Update process for archival units", + "CHECK_CLASSIFICATION_LEVEL": "Checking the classification level", + "LFC.CHECK_UNIT_SCHEMA.EMPTY_REQUIRED_FIELD.FATAL": "Technical error during the additional check on the validity of the fields of the archival unit", + "CHECK_HEADER.STARTED.OK": "Success of the start of the general check of the transfer slip", + "STP_IMPORT_PROFILE_FILE.STARTED.OK": "Success of the start of the import process for the archiving profile (xsd or rng file)", + "PROBATIVE_VALUE_CREATE_DISTRIBUTION_FILE.STARTED": "Start of the creation of the distribution file file allowing to carry out the probative value statement", + "STORAGE_BACKUP.STARTED": "Start of saving the write logs", + "ELIMINATION_ANALYSIS.FATAL": "Technical error during the analysis of the elimination of archival units", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_OBJECTNUMBER.KO": "Failed to check the number of objects", + "PRESERVATION_PREPARATION.WARNING": "Warning when preparing the preservation treatment", + "UNIT_METADATA_UPDATE_CHECK_DT": "Checking the association with an archival unit profile", + "STP_MIGRATION_OBJECT_GROUPS.STARTED": "Beginning of the preparation process for the migration of groups of objects", + "CHECK_ARCHIVE_UNIT_PROFILE.INVALID_UNIT.KO": "Failed to verify compliance with archival unit profiles: non-compliant fields", + "MIGRATION_UNITS.KO": "Failed to migrate archival units", + "OBJ_STORAGE.ALREADY_EXECUTED": "Action already executed: No writing of objects and groups of objects to the storage offers", + "STP_CORRECTIVE_AUDIT.WARNING": "Warning when correcting the signatures of each corrupt archival unit or object or group of objects", + "STP_ELIMINATION_ACTION_PREPARATION.WARNING": "Warning during the preparation process for the final disposal of archival units", + "IMPORT_ONTOLOGY.OK": "Success of the ontology import process", + "IMPORT_ONTOLOGY.STARTED": "Beginning of the ontology import process", + "ELIMINATION_ANALYSIS_CHECK_DISTRIBUTION_THRESHOLD.STARTED": "Beginning of verification of the thresholds for the analysis of the elimination of archival units", + "STP_IMPORT_CONTEXT.FATAL": "Technical error during the application context import process", + "ELIMINATION_ACTION_DELETE_OBJECT_GROUP.KO": "Failure to permanently delete groups of technical objects whose parent archival units are deleted", + "LFC.CHECK_MANIFEST.KO": "Failed to check the consistency of the transfer slip", + "SANITY_CHECK_SIP": "SIP sanitary control", + "STP_DELETE_METADATA_OG.FATAL": "Technical error during the process of deleting metadata from groups of objects", + "STP_IMPORT_PROFILE_JSON.KO": "Failed to import archiving profile", + "STP_OBJ_STORING.WARNING": "Warning during the process of writing and indexing objects on storage offers", + "ELIMINATION_ACTION_CHECK_DISTRIBUTION_THRESHOLD.FATAL": "Technical error when checking the thresholds for final disposal of archival units", + "STP_UPDATE_PROFILE_JSON.STARTED": "Beginning of the archiving profile update process", + "STP_IMPORT_CONTEXT.UNKNOWN_VALUE.KO": "Failed to import the application context: at least one object declares an unknown value", + "ELIMINATION_ACTION_UNIT_PREPARATION.FATAL": "Technical error during the preparation of the final disposal of archival units", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_SAVED_HASH.FATAL": "Technical error when comparing the MERKLE tree with the saved Hash", + "PRESERVATION_INDEXATION_METADATA": "Indexing of the metadata of the group of objects", + "STP_PROBATIVE_VALUE_PREPARE.STARTED": "Beginning of the preparation process for the statement of probative value", + "PROBATIVE_VALUE_EXTRACT_ZIP_FILE.KO": "Failed to extract signatures from secure files", + "PROBATIVE_VALUE_CREATE_DISTRIBUTION_FILE.OK": "Successful creation of the distribution file file used to carry out the probative value statement", + "STP_FINALISE_AUDIT.OK": "Success of the audit finalization process", + "CHECK_DIGEST.WARNING": "Warning when checking the footprint of objects", + "SANITY_CHECK_SIP.FATAL": "Technical error during sanitary control of the SIP", + "STP_OG_LFC_TRACEABILITY.STARTED.OK": "Beginning of securing object group lifecycle logs", + "BACKUP_PROFILE.STARTED.OK": "Successful start of the backup archive profile process", + "STP_DELETE_ACCESSION_REGISTER_SUMMARY.KO": "Fund Register deletion process (Summary) failed", + "LFC.CHECK_DIGEST.CALC_CHECK.STARTED": "Start of calculation of a fingerprint in SHA-512", + "MIGRATION_FINALIZE.STARTED": "Beginning of the migration finalization", + "STP_IMPORT_CONTEXT.OK": "Success of the application context import process", + "CHECK_DATAOBJECTPACKAGE.CHECK_NO_OBJECT.WARNING": "Warning when checking for the absence of an object", + "CHECK_DATAOBJECTPACKAGE.ALREADY_EXECUTED": "Action already executed: No checking of objects and groups of objects", + "STP_UNIT_GRAPH_COMPUTE.STARTED.OK": "Success of the start of the process of updating the graphs of archival units", + "LFC.UNITS_RULES_COMPUTE.REF_INCONSISTENCY.STARTED.OK": "Success of the start of the check of the consistency of the management rule whose cancellation is requested in relation to its category", + "STP_UNIT_UPDATE.FATAL": "Technical error during the updating process of archival units", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_OBJECTNUMBER.STARTED": "Start of checking the number of objects", + "STP_INGEST_FINALISATION.FATAL": "Technical error during the process of finalizing the entry", + "STP_PREPARE_AUDIT": "Audit preparation process", + "STP_IMPORT_INGEST_CONTRACT.FORMAT_NOT_FOUND.KO": "Failed to import the input contract: One or more formats are not referenced in the formats repository", + "CTR_SCHEMA.OK": "Success of the JSON schema check process", + "LFC.UNITS_RULES_COMPUTE.DATE_THRESHOLD.STARTED.OK": "Success of the start of the verification of the validity of the dates of application of the management rules", + "PRESERVATION_STORAGE_BINARY.STARTED.OK": "Successful start of writing objects and groups of objects to storage offers", + "MASTERDATA.KO": "Failed to import master data", + "STORAGE_ACCESS_BACKUP.OK": "Successful saving of access logs", + "MIGRATION_UNITS.STARTED": "Beginning of the migration of archival units", + "LFC.CHECK_MANIFEST.CHECK_MANIFEST_WRONG_ATTACHMENT_LINK.KO": "The transfer slip makes a connection using elements outside the scope", + "STP_UPDATE_RUNNING_INGESTS.STARTED": "Beginning of the current entry update process", + "STP_IMPORT_RULES.FATAL": "Technical error during the process of importing the management rules repository", + "STP_UPDATE_SECURITY_PROFILE.WARNING": "Warning during the security profile update process", + "STP_UPDATE_UNIT.STARTED": "Beginning of the archival unit metadata update process", + "UNIT_METADATA_CHECK_CONSISTENCY": "Checking the consistency of actions when updating management metadata for archival units", + "EXPORT_DIP.WARNING": "Warning when exporting the DIP", + "ROLL_BACK.OK": "Successful alignment of lifecycle logs", + "STP_ELIMINATION_ANALYSIS_UNIT_INDEXATION.OK": "Success of the indexing process of the disposal analysis of archival units", + "LFC.CHECK_UNIT_SCHEMA.INVALID_UNIT.FATAL": "Technical error when checking the conformity of the values ​​in the fields", + "MASS_UPDATE_UNITS_RULES.WARNING": "Warning when updating management metadata for archival units", + "UPDATE_OBJECT_GROUP": "Update of the object group", + "UNIT_DETACHMENT.STARTED.OK": "Successful start of secondment of archival units", + "UPDATE.OK": "Successful update", + "ELIMINATION_ANALYSIS.STARTED": "Beginning of the analysis of the elimination of archival units", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_OBJECTNUMBER.OK": "Successful verification of the number of objects", + "STP_DELETE_MASTERDATA_PRESERVATION_SCENARIO.OK": "Success of the process of removing the repository of preservation scenarios", + "GRIFFIN_REPORT.STARTED.OK": "Successful start of generation of griffon repository import report", + "MASS_UPDATE_UNITS.KO": "Failed to update archival units", + "ELIMINATION_ACTION_DETACH_OBJECT_GROUP.STARTED": "Beginning of the detachment of groups of technical objects from which certain parent archival units are eliminated", + "STP_BACKUP_INGEST_CONTRACT.OK": "Successful process for saving entry contracts", + "BUILD_UNIT_LFC_TRACEABILITY.STARTED.OK": "Success in securing the lifecycle logs of archival units", + "CHECK_HEADER.CHECK_IC_AP_RELATION": "Checking the relationship between the entry contract and the archiving profile", + "CORRECTION_FINALIZE.OK": "Success of the process of finalizing signature corrections for each failed object, group of objects or audited unit", + "MASTERDATA.OK": "Successful import of master data", + "STP_DELETE_MASTERDATA_ARCHIVE_UNIT_PROFILE.FATAL": "Technical error during the process of deleting the repository of archival unit profiles", + "LFC.OBJ_STORAGE": "Writing objects to the storage offers", + "STP_DELETE_MASTERDATA_INGEST_CONTRACT.FATAL": "Technical error during the process of deleting input contracts", + "ELIMINATION_ACTION_CHECK_DISTRIBUTION_THRESHOLD.STARTED.OK": "Success of the start of verification of the thresholds for the final elimination of archival units", + "STP_EVIDENCE_AUDIT_PREPARE.FATAL": "A technical error occurred during the process of creating the list", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.NULL_LINK_PARENT_ID_ATTACHMENT.KO": "The connection has not been made: the entry contract does not declare a connection node", + "LFC.CHECK_MANIFEST.CHECK_MANIFEST_WRONG_ATTACHMENT.KO": "The transfer slip makes an attachment using elements that do not exist in the system", + "STP_DELETE_METADATA_OG.STARTED": "Beginning of the process of removing metadata from groups of objects", + "STP_EVIDENCE_AUDIT_PREPARE.WARNING": "Warning during the process of creating the list to audit", + "STP_BACKUP_GRIFFIN.FATAL": "Technical error while saving griffins", + "STP_IMPORT_PROFILE_JSON.OK": "Success of the archiving profile import process", + "STP_BACKUP_REFERENTIAL_FORMAT.FATAL": "Technical error during the process of saving the format repository", + "MASS_UPDATE_FINALIZE.STARTED": "Beginning of the processing process for updating the generations of the update report for the descriptive metadata of archival units", + "BACKUP_ARCHIVEUNITPROFILE.WARNING": "Warning when backing up archive unit profiles", + "STP_DELETE_MASTERDATA_GRIFFIN.STARTED.OK": "Successful start of the griffon repository deletion process", + "LOGBOOK_LC_SECURISATION": "Securing lifecycle logs", + "STP_PRESERVATION_ACTION.FATAL": "Technical error during the process of launching the griffin", + "ELIMINATION_ACTION_FINALIZATION.WARNING": "Warning when finalizing the final disposal of archival units", + "STP_PREPARATION": "Process for initiating the preparation of the preservation treatment", + "MANIFEST_FILE_NAME_CHECK.OK": "Successful checking of the name of the transfer slip: name of the compliant file", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING": "Audit of the verification of the files of the group of objects", + "LFC.CHECK_MANIFEST.LFC_CREATION.KO": "Failed to create lifecycle log", + "STP_PROBATIVE_VALUE_PREPARE": "Preparation process for the statement of probative value", + "LFC.PRESERVATION_STORAGE_BINARY.STARTED.OK": "Successful start of writing objects to storage offers", + "LFC.PRESERVATION_BINARY_HASH.PRESERVATION_BINARY_HASH": "Calculation of a footprint in SHA-512", + "UPDATE.WARNING": "Warning during update", + "STP_BACKUP_SCENARIO": "Process of saving preservation scenarios", + "CHECK_FILE_FORMAT.WARNING": "Warning when checking the formats of objects and group of objects", + "ONTOLOGY_REPORT.WARNING": "Warning during the process of generating the ontology repository import report", + "STP_PROBATIVE_VALUE_EXTRACT_ZIP_FILE": "Signature extraction process from secure files", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.UNCHARTED.KO": "Failed to verify the format: the format of the object is identified but is unknown to the format repository", + "STP_IMPORT_CONTEXT.KO": "Application context import process failed", + "PROBATIVE_VALUE_CREATE_DISTRIBUTION_FILE.STARTED.OK": "Success of the start of the creation of the file of the distribution file allowing to carry out the statement of probative value", + "STP_DELETE_MASTERDATA_PROFILE": "Process for deleting the archive profiles repository (xsd or rng file)", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.FATAL": "Fatal error while checking the format", + "LFC.CHECK_UNIT_SCHEMA.FATAL": "Technical error during the global check of the archival unit", + "LFC.OG_METADATA_INDEXATION.OK": "Successful indexing of object group metadata", + "LFC.CHECK_MANIFEST_WRONG_ATTACHMENT_LINK.FATAL": "Technical error when checking the connections of archival units and groups of objects", + "EVIDENCE_AUDIT_CHECK_DATABASE.OK": "Success of retrieving data from the database", + "LFC.OBJ_STORAGE.OBJECT_STORAGE_SUB_TASK.STARTED": "Beginning of writing the object to the storage offers", + "BUILD_UNIT_LFC_TRACEABILITY.FATAL": "Technical error securing the lifecycle logs of archival units", + "AUDIT_CHECK_OBJECT.KO": "Failed to audit object verification", + "STP_INGEST_FINALISATION.STARTED": "Beginning of the entry finalization process", + "STP_DELETE_ALL.STARTED": "Beginning of the process for deleting all database data", + "FINALIZE_OG_LFC_TRACEABILITY.FINALIZE_OG_LFC_TRACEABILITY": "Finalization of the securing of the life cycle logs of object groups", + "LFC.OG_OBJECTS_FORMAT_CHECK": "Format check", + "FINALIZE_OG_LFC_TRACEABILITY.FATAL": "Technical error finalizing the securing of object group lifecycle logs", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.WARNING": "Warning when identifying the format", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_INTEGRITY.FATAL": "Technical error while auditing the verification of files in the group of objects", + "PROBATIVE_VALUE_CHECK_OBJECT_GROUP.STARTED": "Beginning of data recovery in the database", + "ATR_NOTIFICATION.OK": "Success of the notification of the end of the entry operation to the payment operator", + "EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS.OK": "Successful creation of the report for each archival unit or object or group of objects", + "STP_ELIMINATION_ANALYSIS_UNIT_INDEXATION.STARTED.OK": "Success of the start of the indexing process for the disposal analysis of archival units", + "FINALIZE_UNIT_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP.WARNING": "Warning during the process of creating the timestamp buffer for all logs of the life cycle of archival units", + "STP_UPDATE_ACCESS_CONTRACT.FATAL": "Technical error during the process of updating the access contract", + "STP_IMPORT_ACCESS_CONTRACT.IDENTIFIER_DUPLICATION.KO": "Failed to import the access contract: the identifier is already in use", + "UPDATE_AGENCIES.STARTED": "Beginning of the agent services repository update process", + "STP_ELIMINATION_ACTION_REPORT_GENERATION.STARTED": "Beginning of the process for generating the final disposal report for archival units", + "ATR_NOTIFICATION.KO": "Failed to notify the end of the entry operation to the payment operator", + "UPDATE.KO": "Failed to update", + "CHECK_HEADER.ALREADY_EXECUTED": "Action already carried out: No general check of the transfer slip", + "LFC.UNIT_METADATA_INDEXATION": "Indexing of archival unit metadata", + "STP_REFERENTIAL_FORMAT_IMPORT.KO": "Format repository import process failed", + "LFC.CHECK_CLASSIFICATION_LEVEL.FATAL": "Technical error when checking the classification level", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.PHYSICAL_OBJECT.KO": "Failed to audit the verification of physical objects: there is a binary file relating to this physical object", + "LFC.CHECK_UNIT_SCHEMA": "Global verification of the archival unit", + "STORAGE_ACCESS_BACKUP.STARTED.OK": "Successful start of saving access logs", + "LFC.UNITS_RULES_COMPUTE.UNKNOWN.STARTED": "Start of the verification of the expiration of the management rules", + "STP_MIGRATION_OBJECT_GROUPS_PREPARE.WARNING": "Warning during the process of preparing the migration of groups of objects", + "STP_REFERENTIAL_FORMAT_IMPORT.FATAL": "Technical error during the import process of the formats repository", + "LOGBOOK_UNIT_LFC_TRACEABILITY.KO": "Failed to secure archival unit lifecycle logs", + "CHECK_DATAOBJECTPACKAGE.CHECK_CONSISTENCY.CHECK_CONSISTENCY_ORPHAN_OBJECT.KO": "The transfer slip contains objects or groups of objects which do not declare an attachment to an archival unit", + "ELIMINATION_ACTION_CHECK_DISTRIBUTION_THRESHOLD.OK": "Successful verification of the thresholds for final disposal of archival units", + "MASTERDATA.STARTED.OK": "Successful start of import of master data", + "STP_ELIMINATION_ANALYSIS_UNIT_INDEXATION.STARTED": "Beginning of the indexing process of the analysis of elimination of archival units", + "UPDATE": "Update", + "STP_UPDATE_INGEST_CONTRACT.BAD_REQUEST.KO": "Input contract update process failed: a bad request was entered", + "STP_DELETE_MASTERDATA_ACCESSION_REGISTER_SYMBOLIC.WARNING": "Warning occurred during the process of deleting the Register of Symbolic Funds", + "UNIT_METADATA_UPDATE.STARTED": "Start of updating the metadata of archival units", + "DATA_MIGRATION.OK": "Success of the data migration process", + "STP_PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD.KO": "Process for preparing signature list in secure files failed", + "MIGRATION_FINALIZE.KO": "Failed to finalize migration", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING": "Audit of the existence of objects", + "RECLASSIFICATION_PREPARATION_UPDATE_DISTRIBUTION.WARNING": "Warning when preparing to update the chart when modifying the tree structure of archival units", + "COMMIT_RULES.FATAL": "Technical error while persisting database data", + "ELIMINATION_ACTION_FINALIZATION": "Finalization of the final elimination of archival units", + "STP_UPLOAD_SIP": "SIP reception process", + "LFC.UNITS_RULES_COMPUTE.CONSISTENCY.STARTED.OK": "Success of the start of the check of the consistency of the management rule with respect to its category", + "STP_UNIT_UPDATE.STARTED.OK": "Successful start of the update process for archival units", + "RECLASSIFICATION_PREPARATION_CHECK_GRAPH.KO": "Failed to check the consistency of the chart when modifying the tree structure of archival units", + "STORAGE_SECURISATION_TIMESTAMP.KO": "Failed to create timestamp buffer for all write logs", + "STP_DELETE_ACCESSION_REGISTER_SUMMARY": "Fund Register Deletion Process (Summary)", + "STP_DELETE_CONTEXT": "Application context deletion process", + "STP_OG_CHECK_AND_TRANSFORME.OK": "Success of the process of checking and processing objects and groups of objects", + "LFC.UNIT_METADATA_UPDATE_CHECK_RULES.OK": "Successful verification of the update of the management rules of the archival unit", + "CHECK_HEADER": "General check of the transfer slip", + "STP_ELIMINATION_ACTION_REPORT_GENERATION.STARTED.OK": "Success of the start of the process for generating the final disposal report for archival units", + "LFC.CHECK_MANIFEST.UNAUTHORIZED_ATTACHMENT.KO": "The connection has not been made: the connection is not located in the authorized perimeter", + "STP_OBJECT_GROUP_GRAPH_COMPUTE.STARTED.OK": "Success of the process for updating the graphs of groups of objects", + "STP_DELETE_ACCESSION_REGISTER_SUMMARY.STARTED.OK": "Successful start of fund register deletion process (Summary)", + "CHECK_HEADER.OK": "Success of the general check of the transfer slip", + "STP_IMPORT_ONTOLOGIES_UPDATE_INVALID_TYPE.KO": "The ontologies update process failed: at least one value does not match the expected values.", + "STP_DELETE_MASTERDATA_ARCHIVE_UNIT_PROFILE": "Process of deleting the repository of archival unit profiles", + "STP_RECLASSIFICATION_PREPARATION.OK": "Success of the preparation process for the modification of the archival unit tree", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.UPDATED_FORMAT.WARNING": "Completion of metadata on formats", + "UPDATE_ONTOLOGY.STARTED.OK": "Success of the start of the ontology update process", + "ELIMINATION_ACTION_CHECK_DISTRIBUTION_THRESHOLD.WARNING": "Warning when checking the thresholds for final disposal of archival units", + "PROBATIVE_VALUE_CREATE_DISTRIBUTION_FILE.KO": "Failed to create the distribution file allowing to carry out the probative value statement", + "UPDATE_ONTOLOGY.WARNING": "Warning during the ontology update process", + "EVIDENCE_AUDIT_CHECK_DATABASE.KO": "Failed to retrieve data from the database", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.TOOL_DOES_NOT_ANSWER.FATAL": "The object formats analysis tool does not respond", + "FILE_FORMAT_REPORT.STARTED": "Start of generation of the format repository import report", + "LFC.UPDATE_OBJECT_GROUP": "Update of the object group", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.KO": "Failed to update the Register of Funds following the final elimination of archival units", + "STP_UPLOAD_SIP.STARTED": "Beginning of the SIP reception process", + "LFC.OG_METADATA_STORAGE.FATAL": "Technical error writing object group metadata to storage offerings", + "STP_DELETE_ALL.STARTED.OK": "Success of the start of the process of deleting all the data in the database", + "STP_UPLOAD_SIP.OK": "Success of the SIP reception process", + "STP_SANITY_CHECK_SIP.WARNING": "Warning during the pre-entry checks process", + "BUILD_OG_LFC_TRACEABILITY.STARTED": "Beginning of securing object group lifecycle logs", + "STP_ELIMINATION_ACTION_DETACH_OBJECT_GROUP.STARTED": "Beginning of the process of detaching groups of technical objects from which certain parent archival units are eliminated", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_DATAOBJECT_VERSION.STARTED": "Beginning of checking the uses of objects", + "STP_DELETE_MASTERDATA_PROFILE.OK": "Success of the process of deleting the archive profiles repository file xsd or rng)", + "STP_UPDATE_CONTEXT.STARTED.OK": "Success of the start of the application context update process", + "VERIFY_TIMESTAMP.WARNING": "Warning when checking the timestamp", + "LOGBOOK_OBJECTGROUP_LFC_TRACEABILITY.OK": "Successful securing object group lifecycle logs", + "LFC.CHECK_UNIT_SCHEMA.INVALID_UNIT.OK": "Success of checking the conformity of the values ​​in the fields", + "CHECK_FILE_FORMAT": "Checking the formats of objects and group of objects", + "STP_PROBATIVE_VALUE_EXTRACT_ZIP_FILE.OK": "Success of the process of extracting signatures from secure files", + "AUDIT_CHECK_OBJECT.AUDIT_CHECK_OBJECT.KO": "Failed to audit the existence and integrity of objects", + "UNIT_DETACHMENT.KO": "Failed to detach archival units", + "STP_EVIDENCE_AUDIT_EXTRACT_ZIP_FILE": "Signature extraction process from secure files", + "AUDIT_CHECK_OBJECT.OK": "Successful audit of object verification", + "LFC.UPDATE_MIGRATION_UNITS.OK": "Successful update of archival unit lifecycle logs during migration", + "LFC.CHECK_UNIT_SCHEMA.RULE_DATE_FORMAT.STARTED.OK": "Success of the start of the check of the consistency of the date declared in the management rules", + "LFC.OG_METADATA_INDEXATION.KO": "Failed to index object group metadata", + "STP_MIGRATION_OBJECT_GROUPS_PREPARE.FATAL": "Technical error is during the preparation process for the migration of groups of objects", + "STP_DELETE_RULES.OK": "Success of the process of deleting the management rules repository", + "STP_EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD.STARTED": "Beginning of the process of preparing the list of signatures in secure files", + "STP_OBJECT_GROUP_GRAPH_COMPUTE.WARNING": "Warning during the process of updating the graphs of groups of objects", + "EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS.KO": "Failed to create report for each archival unit or object or group of objects", + "CHECK_CONTAINER.WARNING": "Warning when checking the format of the SIP container", + "STP_FINALISE_AUDIT.FATAL": "Technical error during the audit finalization process", + "UPDATE_OBJECT_GROUP.STARTED": "Start of updating the group of objects", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_INTEGRITY.WARNING": "Warning during the existence and integrity of objects", + "LFC.CHECK_UNIT_SCHEMA.EMPTY_REQUIRED_FIELD.WARNING": "Warning during the additional check on the validity of the fields of the archival unit", + "STP_IMPORT_GRIFFIN.STARTED": "Beginning of the griffon repository import process", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.PHYSICAL_OBJECT.OK": "Success of the audit of the verification of the physical objects of the group of objects", + "STP_INGEST_CONTROL_SIP": "SIP control process", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.PUID_NOT_FOUND.KO": "Object format identifier (PUID) missing in the formats repository", + "OBJ_STORAGEOBJ_STORAGE": "Write objects and groups of objects to the storage offer", + "STP_UNIT_STORING.WARNING": "Warning during the process of writing archival units to storage offers", + "STP_UNIT_DETACHMENT.KO": "Failed to detach archival units", + "MIGRATION_UNITS_LIST.STARTED": "Start of distribution of archival units", + "STORAGE_AVAILABILITY_CHECK.OK": "Successful verification of the availability of all storage offers", + "PRESERVATION_INDEXATION_METADATA.OK ": " Successful indexing of object group metadata ", + "DATA_MIGRATION.KO": "Data migration process failed", + "LFC.UNIT_METADATA_STORAGE.KO": "Failed to write archival unit metadata to storage offerings", + "RECLASSIFICATION_FINALIZATION.FATAL": "Technical error when finalizing the modification of the archival unit tree", + "STP_DELETE_LOGBOOK_LIFECYCLE_OG.STARTED": "Beginning of the process of deleting object group lifecycle logs", + "CHECK_UNIT_SCHEMA.CONSISTENCY.KO": "At least one archival unit does not conform to its schema due to a problem of consistency between fields", + "IMPORT_ONTOLOGY.KO": "Failed to import ontology", + "UNIT_DETACHMENT.OK": "Successful detachment of archival units", + "STP_EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD": "Process of preparing the list of signatures in secure files", + "RECLASSIFICATION_FINALIZATION.STARTED.OK": "Success of the start of the finalization of the modification of the archival unit tree", + "PRESERVATION.WARNING": "Warning during the global preservation process", + "CHECK_DATAOBJECTPACKAGE.EXISTING_OG_NOT_DECLARED.KO": "At least one archival unit declares an object instead of the corresponding object group", + "PREPARE_TRACEABILITY_CHECK.KO": "Failed to prepare for checking secure logs", + "LOGBOOK_UNIT_LFC_TRACEABILITY.OK": "Success in securing archival unit lifecycle logs", + "ELIMINATION_ACTION_CHECK_DISTRIBUTION_THRESHOLD.KO": "Failed to check the thresholds for final disposal of archival units", + "LOGBOOK_OBJECTGROUP_LFC_TRACEABILITY.KO": "Failed to secure lifecycle logs", + "ATR_NOTIFICATION": "Notification of the end of the entry operation", + "STP_RECLASSIFICATION_PREPARATION.KO": "Preparation process for the modification of the archival unit tree failed", + "AGENCIES_REPORT.STARTED.OK": "Success of the start of the process for generating the agent services repository import report", + "MIGRATION_FINALIZE.OK": "Successful completion of migration", + "LFC.UNIT_METADATA_UPDATE_CHECK_RULES.KO": "Failed to check the update of the management rules of the archival unit", + "PRESERVATION_ACCESSION_REGISTRATION.ALREADY_EXECUTED": "Action already carried out: No supply to the Register of Funds", + "STP_RECLASSIFICATION_FINALIZATION.FATAL": "Technical error during the process of finalizing the modification of the archival unit tree", + "MASS_UPDATE_FINALIZE.STARTED.OK": "Success of the start of the processing process for updating the generations of the update report for the descriptive metadata of archival units", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.FATAL": "Technical error during the process of updating the Register of Funds following the final elimination of archival units", + "LFC.PRESERVATION_BINARY_HASH.WARNING": "Warning when calculating a fingerprint in SHA-512", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.OK": "Success of the process of updating the Register of Funds following the final elimination of archival units", + "STP_IMPORT_CONTEXT": "Application context import process", + "LFC.CHECK_MANIFEST.FATAL": "Technical error when checking the consistency of the transfer slip", + "STP_BACKUP_SECURITY_PROFILE.FATAL": "Technical error during the process of backing up security profiles", + "STORE_MANIFEST.STARTED": "Beginning of the creation of the DIP and its movement to the storage offer", + "LOGBOOK_OBJECTGROUP_LFC_TRACEABILITY.WARNING": "Warning when securing object group lifecycle logs", + "PROBATIVE_VALUE_EXTRACT_ZIP_FILE.OK": "Success of extracting signatures from secure files", + "UPDATE_AGENCIES.STARTED.OK": "Successful start of the agent services repository update process", + "IMPORT_AGENCIES.KO": "Failed to import agent services repository", + "STORAGE_AVAILABILITY_CHECK.FATAL": "Technical error when checking the availability of at least one storage offer", + "UNIT_METADATA_STORAGE.FATAL": "Technical error when saving metadata for archival units", + "IMPORT_ONTOLOGY.FATAL": "Technical error during the ontology import process", + "STP_DELETE_MASTERDATA_ACCESS_CONTRACT": "Access contract deletion process", + "MIGRATION_UNITS_LIST.OK": "Successful distribution of archival units", + "STP_REFERENTIAL_FORMAT_IMPORT": "Format repository import process", + "STP_EVIDENCE_AUDIT_PREPARE.KO": "The process of creating the list to be audited failed", + "LFC.UNITS_RULES_COMPUTE.KO": "Failed to apply business rules and calculate due dates", + "CHECK.STARTED": "Start of verification of secure logs", + "STP_VERIFY_STAMP.STARTED.OK": "Start of the timestamp verification process", + "MASS_UPDATE_UNIT_DESC.STARTED": "Beginning of the process of mass updating of descriptive metadata of archival units", + "STP_BACKUP_SECURITY_PROFILE.OK": "Successful process of backing up security profiles", + "LFC.PRESERVATION_INDEXATION_METADATA.STARTED": "Beginning of indexing of the metadata of the group of objects", + "STP_ELIMINATION_ACTION_DELETE_UNIT.WARNING": "Warning during the final disposal process of disposable archival units", + "CHECK_LOGBOOK_OP_SECURISATION.KO": "Failed to verify secure logs", + "STP_IMPORT_PROFILE_JSON.STARTED.OK": "Success of the start of the import process of the archiving profile", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.NOT_FOUND.KO": "Format of the unidentified object", + "LFC.PRESERVATION_STORAGE_BINARY.OBJECT_STORAGE_TASK.KO": "Failed to write objects to storage offers", + "STP_UNIT_METADATA.STARTED": "Beginning of the archival unit metadata indexing process", + "RECTIFICATION_AUDIT.FATAL": "a Technical Error occurred during the modified corrective audit process", + "STP_DELETE_MASTERDATA_PROFILE.KO": "Failed to delete archive profiles repository (xsd or rng file)", + "CHECK_SEDA.NO_FILE.KO": "Failure of the overall SIP check: Absence of the transfer slip or transfer slip in the wrong format", + "STP_PROBATIVE_VALUE_CHECK_OBJECT_GROUP": "Data retrieval process in the database", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.STARTED.OK": "Success of the start of the transfer slip consistency check", + "PROCESS_SIP_UNITARY_TEST.WARNING": "Warning during the SIP blank entry process", + "LFC.OBJ_STORAGE.STARTED": "Beginning of writing objects to storage offers", + "FINALIZE_OG_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP.STARTED": "Start of timestamp of object group lifecycle logs", + "MASS_UPDATE_UNIT_RULE.WARNING": "Warning when updating management rules for archival units", + "LIST_OBJECTGROUP_ID.STARTED": "Beginning of the creation of the list of groups of objects to be audited", + "STP_IMPORT_INGEST_CONTRACT.FORMAT_MUST_BE_EMPTY.KO": "Failed to import the input contract: The white list of formats must be empty when all formats are authorized", + "STP_DELETE_MASTERDATA_AGENCIES.OK": "Success of the process for deleting the agent services repository", + "LFC.UNITS_RULES_COMPUTE.CONSISTENCY.FATAL": "Technical error when checking the consistency of the management rule with respect to its category", + "STORAGE_SECURISATION_STORAGE.OK": "Successful storage of write logs", + "RECLASSIFICATION_PREPARATION_UPDATE_DISTRIBUTION.OK": "Success of the preparation of the update of the graph at the time of the modification of the tree structure of the archival units", + "STP_PERSONAL_CERTIFICATE_CHECK.STARTED": "Start of the personal certificate verification process", + "STP_MERKLE_TREE": "Process of checking the MERKLE tree", + "IMPORT_AGENCIES.USED_CONTRACT.WARNING": "Warning during the verification process of the agent services referenced in the access contracts", + "CHECK_SEDA.CONTAINER_FORMAT.FILE": "Global SIP check", + "STP_OBJECT_GROUP_GRAPH_COMPUTE": "Process for updating the graphs of groups of objects", + "STP_PRESERVATION_FINALIZATION.FATAL": "Technical error during the process of finalizing the preservation treatment", + "STP_IMPORT_PROFILE_JSON.FATAL": "Technical error during the import process of the archiving profile", + "VERIFY_TIMESTAMP.COMPARE_TOKEN_TIMESTAMP.WARNING": "Warning when comparing timestamp buffers", + "PREPARE_OG_LFC_TRACEABILITY.OK": "Successful preparation of lifecycle logs and object group metadata", + "CHECK_CLASSIFICATION_LEVEL.KO": "Failed to check the classification level: the transfer slip declares a classification level not authorized by the platform", + "CHECK_LOGBOOK_OP_SECURISATION.FATAL": "Technical error while checking secure logs", + "LFC.UNIT_METADATA_STORAGE.OK": "Successful writing of archival unit metadata to storage offers", + "RECLASSIFICATION_PREPARATION_UPDATE_DISTRIBUTION.KO": "Failed to prepare the update of the chart when modifying the archival unit tree", + "ELIMINATION_ACTION_DETACH_OBJECT_GROUP.FATAL": "Technical error when detaching groups of technical objects from which certain parent archival units are deleted", + "CHECK_DATAOBJECTPACKAGE.WARNING": "Warning when checking objects and groups of objects", + "STP_UNIT_DETACHMENT.OK": "Success of the process of secondment of archival units", + "STP_DELETE_MASTERDATA_AGENCIES.KO": "Failed to delete agent services repository", + "PREPARE_TRACEABILITY_CHECK.OK": "Successful preparation for verification of secure logs", + "CHECK_DATAOBJECTPACKAGE": "Checking objects and groups of objects", + "STP_PREPARE_TRACEABILITY_CHECK": "Preparation process for checking secure logs", + "STP_ELIMINATION_ANALYSIS_PREPARATION.WARNING": "Warning during the preparation process for the analysis of the disposal of archival units", + "PRESERVATION_INDEXATION_METADATA.KO": "Failed to index the metadata of the object group", + "AUDIT_CHECK_OBJECT.STARTED": "Start of the audit of the verification of objects", + "EVIDENCE_AUDIT.STARTED": "Beginning of the consistency audit", + "SCENARIO_REPORT.OK": "Success of the process of generating the import report for the repository of preservation scenarios", + "RECLASSIFICATION_PREPARATION_CHECK_GRAPH.WARNING": "Warning when checking the consistency of the graph when modifying the tree structure of archival units", + "ELIMINATION_ACTION_DELETE_UNIT.STARTED": "Beginning of the final elimination of disposable archival units", + "PUT_BINARY_ON_WORKSPACE.KO": "Failed to move binary objects from storage offering to internal workspace", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.UNKNOWN.KO": "Failed to verify the format: the format of the object cannot be identified", + "STP_AUDIT.FATAL": "Technical error during the process of performing the audit", + "LFC.OG_OBJECTS_FORMAT_CHECK.OK": "Format verification success", + "MANIFEST_FILE_NAME_CHECK.WARNING": "Warning when checking the name of the transfer slip", + "CHECK_HEADER.CHECK_AGENT.UNKNOWN.KO": "Failed to check the presence and control of agent services: agent services unknown to the agent services repository", + "STP_AUDIT.KO": "Failed to perform audit process", + "CHECK.KO": "Failed to verify secure logs", + "PREPARE_UNIT_LFC_TRACEABILITY.OK": "Successful preparation of life cycle logs and archival unit metadata", + "LFC.UNIT_METADATA_UPDATE_CHECK_RULES": "Checking the updating of the management rules of the archival unit", + "PRESERVATION_STORAGE_METADATA_LFC.STARTED": "Beginning of saving object group lifecycle logs", + "STP_EVIDENCE_AUDIT_PREPARE.OK": "Success of the process of creating the list to be audited", + "STORAGE_BACKUP.FATAL": "Technical error when saving the write logs", + "STP_IMPORT_GRIFFIN": "Griffins repository import process", + "ATR_NOTIFICATION.ALREADY_EXECUTED": "Action already carried out: No notification of the end of the entry operation to the payment operator", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.ARCHIVEUNIT_REFERENCES_MULTIPLE_OBJECTGROUP.KO": "An archival unit references more than one group of technical objects", + "STP_MIGRATION_FINALIZE.WARNING": "Warning during the process of finalizing the migration", + "STP_UPDATE_INGEST_CONTRACT.IDENTIFIER_DUPLICATION.KO": "Failed to update the input contract: the identifier is already in use", + "CHECK_SEDA.CONTAINER_FORMAT.DIRECTORY": "Global SIP check", + "INGEST.STARTED.OK": "Success of the start of the entry of the SIP", + "LFC.CHECK_MANIFEST_LOOP.STARTED": "Start of the tree non-recursion check", + "LFC.UNITS_RULES_COMPUTE.OK": "Success in applying business rules and calculating due dates", + "STP_UPDATE_PROFILE_JSON.PROFILE_NOT_FOUND.KO": "Archive profile update process failed: profile not found", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.PHYSICAL_OBJECT.STARTED": "Start of the audit of the verification of the physical objects of the group of objects", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_SAVED_HASH": "Comparison of the MERKLE tree with the saved Hash", + "PROCESS_SIP_UNITARY_TEST.FATAL": "Technical error during the SIP blank entry process", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.STARTED": "Beginning of the preparation process of the Register of Funds following the final elimination of archival units", + "STORAGE_AVAILABILITY_CHECK.WARNING": "Warning when checking the availability of at least one storage offer: Impossibility of knowing the available space", + "ELIMINATION_ACTION_DETACH_OBJECT_GROUP.STARTED.OK": "Successful start of detachment of groups of technical objects from which some parent archival units are eliminatedées ", + "LFC.OBJ_STORAGE.OBJ_STORAGE_SUB_TASK.STARTED": "Beginning of writing the object to the storage offers", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.STARTED.OK": "Successful start of the process of updating the Register of Funds following the final elimination of archival units", + "IMPORT_AGENCIES.OK": "Success of the agent services repository import process", + "STP_BACKUP_SECURITY_PROFILE.KO": "Security profiles backup process failed", + "STP_UNIT_DETACHMENT.FATAL": "Technical error during the process of detaching archival units", + "STP_BACKUP_ACCESS_CONTRACT.FATAL": "Technical error during the process of saving access contracts", + "STP_DELETE_MASTERDATA_GRIFFIN": "Griffon repository deletion process", + "EVIDENCE_AUDIT_EXTRACT_ZIP_FILE.FATAL": "Technical error while preparing to extract signatures from secure files", + "CHECK_CLASSIFICATION_LEVEL.STARTED.OK": "Successful start of checking classification levels", + "CHECK_SEDA.CONTAINER_FORMAT.DIRECTORY.FATAL": "Technical error during the global SIP check", + "CHECK_HEADER.CHECK_AGENT.STARTED.OK": "Successful start of the check for the presence and control of agent services", + "LFC.PRESERVATION_STORAGE_BINARY.OBJECT_STORAGE_TASK": "Write objects to storage offers", + "CHECK_UNIT_SCHEMA.FATAL": "Technical error during the global check of the archival unit", + "STP_EVIDENCE_AUDIT_FINALIZE": "Audit finalization process and generation of the final report", + "UNIT_ATTACHMENT.STARTED.OK": "Success of the start of the attachment of archival units", + "STP_UNIT_ATTACHMENT": "Archival unit attachment process", + "CHECK_HEADER.CHECK_AGENT.KO": "Failed to check the presence and control of agent services", + "STP_PREPARATION.WARNING": "Warning during the process of launching the preparation of the preservation treatment", + "CHECK_LOGBOOK_OP_SECURISATION.OK": "Successful verification of secure logs", + "EVIDENCE_AUDIT_EXTRACT_ZIP_FILE.STARTED": "Beginning of extracting signatures from secure files", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.UNAUTHORIZED_ATTACHMENT_BY_CONTRACT.KO": "The connection has not been made: the entry contract does not authorize connections", + "ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.WARNING": "Warning when preparing for the final elimination of groups of technical objects", + "STP_DELETE_FORMAT.STARTED": "Beginning of the process of deleting the format repository", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.CONTRACT_INACTIVE.KO": "Failed to check the presence and control of the entry contract: the entry contract is inactive", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.KO": "Failed to verify format", + "STP_OBJ_STORING.FATAL": "Technical error during the process of writing and indexing objects on the storage offers", + "CHECK_DIGEST.FATAL": "Technical error when checking the fingerprint of objects", + "EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS.STARTED": "Start of report creation for each archival unit or object or group of objects", + "PRESERVATION_ACTION.FATAL": "Technical error when launching the griffin", + "STP_OP_SECURISATION.STARTED": "Beginning of the process for securing the operations log", + "STP_PUT_BINARY_ON_WORKSPACE": "Process of moving binary objects on the storage offer to the internal workspace", + "CHECK_CONTAINER": "Check the format of the SIP container", + "FINALIZE_UNIT_LFC_TRACEABILITY.STARTED": "Beginning of the finalization of the securing of the lifecycle logs of the archival units", + "STP_UPDATE_CONTEXT.FATAL": "Technical error during the application context update process", + "LFC.OBJ_STORAGE.STARTED.OK": "Successful start of writing objects to storage offers", + "STP_DELETE_SECURITY_PROFILE": "Security profile deletion process", + "STP_MIGRATION_UNITS_PREPARE.STARTED": "Beginning of the preparation process for the migration of archival units", + "STP_UPDATE_RUNNING_INGESTS.STARTED.OK": "Success of the start of the current entry update process", + "RULES_REPORT.FATAL": "Technical error when generating the analysis report for the management rules repository", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.KO": "Failed to check the presence and control of the entry contract", + "ELIMINATION_ANALYSIS_PREPARATION.STARTED": "Beginning of the preparation of the analysis of the elimination of archival units", + "STP_UNIT_CHECK_AND_PROCESS": "Control process and processing of archival units", + "PROCESS_AUDIT.WARNING": "Warning during audit", + "STP_CREATE_MANIFEST.STARTED.OK": "Beginning of the process of creating the provision slip", + "STP_REFERENTIAL_FORMAT_IMPORT.OK": "Success of the import process of the format repository", + "OBJ_STORAGE.FATAL": "Technical error when writing objects and groups of objects to storage offers", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.CONTEXT_INACTIVE.KO": "Failed to check the active character of the application context", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.NOT_FOUND_REFERENTIAL.KO": "The format of the object was not found in the format repository", + "PRESERVATION_FINALIZATION.WARNING": "Warning when finalizing preservation processing", + "CHECK_CLASSIFICATION_LEVEL.OK": "Success of the verification of the classification level", + "STP_BACKUP_ACCESS_CONTRACT": "Access contract backup process", + "PROBATIVE_VALUE_CREATE_DISTRIBUTION_FILE": "Creation of the distribution file file allowing to carry out the probative value statement", + "STP_RECLASSIFICATION_FINALIZATION": "Process for finalizing the modification of the tree structure of archival units", + "SCENARIO_REPORT.KO": "The process for generating the import report for the preservation scenarios repository failed", + "MANIFEST_FILE_NAME_CHECK": "Check the name of the transfer slip", + "CHECK_AGENT.UNKNOWN.KO": "Failed to check agent services check", + "LIST_OBJECTGROUP_ID.FATAL": "Technical error when creating the list of object groups to audit", + "PROCESS_AUDIT.FATAL": "Technical error during the audit", + "STORAGE_SECURISATION_STORAGE.FATAL": "Technical error while storing write logs", + "LFC.AUDIT_CHECK_OBJECT.STARTED": "Start of the audit of the verification of objects", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.KO": "Failed to identify the format", + "CHECK.OK": "Successful verification of secure logs", + "STP_IMPORT_ACCESS_CONTRACT.AGENCY_NOT_FOUND.KO": "Access contract import process failed: at least one agent service is unknown", + "STP_DELETE_LOGBOOK_LIFECYCLE_UNIT.WARNING": "Warning during the process of deleting the lifecycle logs of archival units", + "RECLASSIFICATION_PREPARATION_CHECK_GRAPH.OK": "Success of the chart consistency check when modifying the tree structure of archival units", + "PRESERVATION_PREPARATION": "Preparation of the preservation treatment", + "ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.STARTED": "Beginning of the preparation of the Register of Funds following the final elimination of the archival units", + "CHECK_HEADER.KO": "Failed general check of transfer slip", + "STP_IMPORT_INGEST_CONTRACT.PROFILE_NOT_FOUND.KO": "Failed to import entry contract: archive profile not found", + "LFC.UNIT_DETACHMENT": "Modification of the archival unit tree", + "ELIMINATION_ACTION_REPORT_GENERATION.WARNING": "Warning when generating the final disposal report for archival units", + "LFC.CHECK_UNIT_SCHEMA.CONSISTENCY": "Checking the consistency between the Start date and End date fields", + "OG_OBJECTS_FORMAT_CHECK.UNKNOWN.KO": "Failed to identify formats: the format of the object (s) cannot be identified", + "OBJECTS_LIST_EMPTY.WARNING": "Warning when establishing the list of objects: there is no object for this step", + "STP_DELETE_SECURITY_PROFILE.WARNING": "Warning during the process of deleting the security profile", + "STP_DELETE_MASTERDATA_PROFILE.STARTED": "Beginning of the process for deleting the archive profiles repository (xsd or rng file)", + "ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.FATAL": "Technical error during the preparation of the Register of Funds following the final elimination of archival units", + "ELIMINATION.STARTED": "Beginning of the elimination of archival units", + "EVIDENCE_AUDIT_CHECK_DATABASE": "Data retrieval from the database", + "MIGRATION_OBJECT_GROUPS_LIST.FATAL": "Technical error when distributing groups of objects", + "EXPORT_PROBATIVE_VALUE.WARNING": "Warning during the process of exporting the statement of probative value", + "LFC.UNIT_METADATA_UPDATE.STARTED": "Beginning of updating archival unit metadata", + "STP_ELIMINATION_ANALYSIS_PREPARATION.FATAL": "Technical error during the preparation process for the analysis of the elimination of archival units", + "OG_METADATA_INDEXATION.FATAL": "Technical error while indexing the metadata of objects and groups of objects", + "STP_MIGRATION_FINALIZE.FATAL": "Technical error during the process of finalizing the migration", + "CHECK_DATAOBJECTPACKAGE.KO": "Failed to check objects and groups of objects", + "STP_DELETE_MASTERDATA_ACCESSION_REGISTER_SYMBOLIC.OK ": " Success of the process of deleting the Register of Symbolic Funds ", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.STARTED": "Beginning of the format check", + "STP_ELIMINATION_ACTION_PREPARATION": "Preparation process for the final disposal of archival units", + "BUILD_UNIT_LFC_TRACEABILITY.STARTED": "Beginning of securing the lifecycle logs of archival units", + "ELIMINATION_ACTION.WARNING": "Warning during the final disposal of archival units", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.STARTED": "Beginning of the audit of the existence of objects", + "STP_IMPORT_INGEST_CONTRACT.WARNING": "Warning during the process of importing the entry contract", + "STORAGE_ACCESS_BACKUP.STARTED": "Start of saving access logs", + "CHECK_DISTRIBUTION_THRESHOLD": "Verification of processing limitation thresholds for archival units", + "STP_MIGRATION_UNITS_PREPARE.KO": "Preparation process for migration of archival units failed", + "CHECK_LOGBOOK_OP_SECURISATION.WARNING": "Warning when checking secure logs", + "STP_IMPORT_CONTEXT.STARTED": "Beginning of the application context import process", + "LFC.PRESERVATION_INDEXATION_METADATA.PRESERVATION_INDEXATION_METADATA": "Indexing the metadata of the group of objects during a preservation operation", + "UPDATE_ARCHIVEUNITPROFILE.IDENTIFIER_DUPLICATION.KO": "Failed to update the archival unit profile: the identifier is already in use", + "STP_DELETE_MASTERDATA_ONTOLOGY.FATAL": "Technical error during the process of deleting the ontologies repository", + "LFC.UNIT_METADATA_INDEXATION.STARTED": "Beginning of indexing of archival unit metadata", + "STP_PRESERVATION_ACTION.KO": "Griffin launch process failed", + "STP_UPDATE.WARNING": "Warning during the processing process for updating archival units", + "STP_EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS.STARTED.OK": "Start of the report creation process for each archival unit or object or group of objects", + "PRESERVATION_ACTION": "Launch of the griffin", + "REPORT_AUDIT.STARTED": "Start of the notification of the end of the audit", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.OK": "Format of the identified object, referenced in the internal repository and with consistent information between the transfer slip and the result of the format identification tool.", + "PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD": "Preparation of the list of signatures in secure files", + "STP_IMPORT_SECURITY_PROFILE.STARTED": "Beginning of the security profile import process", + "STP_CORRECTION_FINALIZE.STARTED": "Beginning of the process of finalizing signature corrections for each faulty object, group of objects or audited unit", + "STP_DELETE_RULES.STARTED.OK": "Success of the start of the process of deleting the management rules repository", + "STORAGE_SECURISATION_STORAGE": "Storage of write logs", + "EVIDENCE_AUDIT.OK": "Success of the consistency audit process", + "STP_DELETE_MASTERDATA_PRESERVATION_SCENARIO.KO": "The process to delete the preservation scenarios repository failed", + "LFC.UNIT_METADATA_UPDATE.OK": "Successful update of archival unit metadata", + "STP_BACKUP_INGEST_CONTRACT.KO": "Failed to save input contracts", + "TRACEABILITY": "Securing", + "STP_BACKUP_INGEST_CONTRACT.STARTED": "Beginning of the input contract backup process", + "CORRECTION_FINALIZE.KO": "Failed to finalize signature corrections for each failed object, group of objects or audited unit", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.OBJECT_NOT_FOUND.FATAL": "The object to analyze was not found", + "LFC.OG_METADATA_INDEXATION.FATAL": "Technical error while indexing object group metadata", + "OBJECT_GROUP_GRAPH_COMPUTE.OK": "Success of updating the graphs of groups of objects", + "STP_CHECK_AND_COMPUTE.FATAL": "Technical error during the process of preparing the list of archival units to be updated and modification authorizations", + "PROCESS_AUDIT": "Audit", + "IMPORT_ARCHIVEUNITPROFILE.OK": "Successful process of importing archival unit profile", + "LOGBOOK_UNIT_LFC_TRACEABILITY.WARNING": "Warning when securing the lifecycle logs of archival units", + "STP_MIGRATION_UNITS.WARNING": "Warning during the process of preparing the migration of archival units", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_WRONG_ATTACHMENT_LINK.KO": "The transfer slip makes a connection using elements outside the scope", + "UPDATE_ARCHIVEUNITPROFILE.NOT_IN_ENUM.KO": "Failed to update archival unit profile: a value does not match the expected values", + "LFC.CHECK_UNIT_SCHEMA.INVALID_UNIT.STARTED": "Start of checking the conformity of the values ​​in the fields", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.OK": "Format of the identified object, referenced in the internal repository and the result of the format identification tool.", + "STP_UNIT_ATTACHMENT.FATAL": "Technical error during the process of linking archival units", + "STP_DELETE_FORMAT": "Process of deleting the format repository", + "LFC.OBJ_STORAGE.OBJ_STORAGE_SUB_TASK": "Writing of the object on the storage offers", + "CHECK_UNIT_SCHEMA": "Global verification of the archival unit", + "UNIT_GRAPH_COMPUTE.FATAL": "Technical error when updating graphs of archival units", + "STP_BACKUP_CONTEXT.STARTED.OK": "Success of the start of the application context backup process", + "LFC.PRESERVATION_BINARY_HASH.PRESERVATION_BINARY_HASH.KO": "Failed to calculate a hash in SHA-512", + "LFC.CHECK_CONSISTENCY_ORPHAN_OBJECT": "Verification of the attachment of objects to groups of objects and archival units", + "LFC.PRESERVATION_BINARY_HASH.FATAL": "Technical error while calculating a fingerprint in SHA-512", + "STP_DELETE_METADATA_OG.STARTED.OK": "Success of the start of the process of removing metadata from groups of objects", + "MANIFEST_FILE_NAME_CHECK.KO": "Failed to check the name of the transfer slip: name of the file not compliant", + "STORAGE_ACCESS_BACKUP": "Backup of access logs", + "LFC.PRESERVATION_STORAGE_BINARY.OBJECT_STORAGE_TASK.OK": "Success of writing objects to storage offers", + "CHECK_SEDA.NO_FILE.FATAL": "Technical error during the global check of the SIP", + "STP_MIGRATION_UNITS.OK": "Success of the process of preparing the migration of archival units", + "CHECK_DIGEST.INVALID.KO": "Failed to check the fingerprint of objects: There is at least one object whose fingerprint is invalid in the transfer slip", + "CHECK_DATAOBJECTPACKAGE.CHECK_CONSISTENCY": "Checking the consistency between objects, groups of objects and archival units", + "CHECK_DATAOBJECTPACKAGE.OK": "Successful verification of objects and groups of objects", + "STP_DELETE_MASTERDATA_ACCESSION_REGISTER_SYMBOLIC.KO": "The process of deleting the Register of Symbolic Funds failed", + "CHECK_DATAOBJECTPACKAGE.INVALID_DATAOBJECTVERSION.KO": "At least one object declares an incorrect usage. The usage must be written in the form [usage] or [usage] _ [version]. \"Usage\" must be among the DataObjectVersion enumeration defined by SEDA: \"version\" must be a positive integer ", + "STP_DELETE_MASTERDATA_ONTOLOGY": "Process of deleting the ontologies repository", + "STP_BACKUP_CONTEXT": "Application context backup process", + "MIGRATION_UNITS_LIST.KO": "Failed to distribute archival units", + "STP_ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.WARNING": "Warning during the preparation process for the final elimination of groups of technical objects", + "RECLASSIFICATION_FINALIZATION.OK": "Successful completion of the modification of the archival unit tree", + "MASTERDATA.WARNING": "Warning when importing master data", + "STP_IMPORT_RULES_BACKUP_CSV.FATAL": "Technical error during the process of saving the import file for the management rules repository", + "STP_UNIT_CHECK_AND_PROCESS.ALREADY_EXECUTED": "Action already carried out: No process for checking and processing archival units", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.TOOL_DOES_NOT_ANSWER.FATAL": "The object formats analysis tool does not respond", + "UNIT_GRAPH_COMPUTE.KO": "Failed to update graphs of archival units", + "LIST_RUNNING_INGESTS.FATAL": "Technical error during the process of preparing lists of archival units to be updated", + "MIGRATION_UNITS.FATAL": "Technical error when migrating archival units", + "LFC.CHECK_MANIFEST.STARTED": "Start of the check of the consistency of the transfer slip", + "STP_ELIMINATION_ACTION_PREPARATION.FATAL": "Technical error during the preparation process for the final disposal of archival units", + "OBJECT_GROUP_GRAPH_COMPUTE.STARTED": "Start of updating the graphs of groups of objects", + "STP_UPDATE_SECURITY_PROFILE.OK": "Success of the security profile update process", + "STORAGE_AVAILABILITY_CHECK.STORAGE_OFFER_SPACE_KO.KO": "Failed to check availability of at least one storage offering: At least one storage offering is insufficient", + "STP_ELIMINATION_ANALYSIS_UNIT_INDEXATION.FATAL": "Technical error during the indexing process of the disposal analysis of archival units", + "STP_MIGRATION_UNITS_PREPARE.OK": "Success of the process of preparing the migration of archival units", + "STP_IMPORT_GRIFFIN.STARTED.OK": "Success of the start of the import process of the griffin repository", + "STP_UPDATE_UNIT_DESC.STARTED.OK": "Success of the start of the process of updating the descriptive metadata of the archival unit", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_INTEGRITY": "Audit of the verification of the files of the group of objects", + "VERIFY_TIMESTAMP.VALIDATE_TOKEN_TIMESTAMP.STARTED": "Start of validation of the timestamp buffer", + "COMMIT_RULES.WARNING": "Warning when persisting database data", + "LFC.OG_OBJECTS_FORMAT_CHECK.WARNING": "Warning when checking formats: format information has been completed by the Vitam software solution", + "STP_PRESERVATION_ACTION.OK": "Success of the griffin launch process", + "STP_BACKUP_SECURITY_PROFILE": "Security profile backup process", + "STP_MERKLE_TREE.STARTED.OK": "Beginning of the process of checking the MERKLE tree", + "RECLASSIFICATION_FINALIZATION.WARNING": "Warning when finalizing the modification of the archival unit tree", + "STP_DELETE_RULES.WARNING": "Warning during the process of deleting the rules repository", + "UPDATE_UNIT_RULES.WARNING": "Warning when updating management rules for archival units", + "ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.WARNING": "Warning when updating the Register of Funds following the final elimination of archival units", + "FINALIZE_OG_LFC_TRACEABILITY.STARTED": "Beginning of the finalization of securing object group lifecycle logs", + "ELIMINATION_ANALYSIS_FINALIZATION.STARTED.OK": "Success of the start of the finalization of the analysis of the elimination of archival units", + "CHECK_ARCHIVE_UNIT_PROFILE.EMPTY_REQUIRED_FIELD.KO": "Failed to verify compliance with archival unit profiles: mandatory field empty", + "EVIDENCE_AUDIT.KO": "Failure of the consistency audit process", + "UNIT_METADATA_STORAGE": "Recording of the metadata of the archival units on the storage offer", + "LFC.UNIT_METADATA_UPDATE.KO": "Failed to update archival unit metadata", + "PREPARE_OG_LFC_TRACEABILITY.KO": "Failed to prepare object group lifecycle logs and metadata", + "UPDATE_OBJECT_GROUP.FATAL": "Technical error while updating the object group", + "STP_AUDIT.OK": "Success of the audit execution process", + "LFC.PRESERVATION_BINARY_HASH": "Calculation of a footprint in SHA-512", + "PROBATIVE_VALUE_CREATE_DISTRIBUTION_FILE.FATAL": "Technical error during the creation of the distribution file allowing to carry out the statement of probative value", + "ELIMINATION_ACTION_DELETE_OBJECT_GROUP.OK": "Successful final elimination of groups of technical objects whose parent archival units are deleted", + "STP_UPDATE_SECURITY_PROFILE.KO": "Security profile update process failed", + "MIGRATION_UNITS.OK": "Successful migration of archival units", + "STP_BACKUP_REFERENTIAL_FORMAT": "Format repository backup process", + "STP_PRESERVATION_ACTION.STARTED": "Beginning of the griffin launch process", + "OBJECT_GROUP_GRAPH_COMPUTE.KO": "Failed to update the graphs of groups of objects", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_SAVED_HASH.STARTED": "Beginning of the comparison of the MERKLE tree with the saved Hash", + "STP_IMPORT_PROFILE_JSON.WARNING": "Warning during the archiving profile import process", + "CHECK_RULES": "Checking the compliance of the management rules file", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.STARTED": "Beginning of the format identification", + "STP_IMPORT_CONTEXT.IDENTIFIER_DUPLICATION.KO": "Failed to import the application context: the identifier is already in use", + "IMPORT_ONTOLOGY": "Ontology import process", + "PUT_BINARY_ON_WORKSPACE.OK": "Successful move of binary objects from storage offering to internal workspace", + "LFC.PRESERVATION_STORAGE_BINARY.STARTED": "Beginning of writing objects to storage offers", + "FINALIZE_UNIT_LFC_TRACEABILITY.FATAL": "Technical error while finalizing the securing of lifecycle logs of archival units", + "BACKUP_ARCHIVEUNITPROFILE.FATAL": "Technical error while backing up archive unit profiles", + "STP_ELIMINATION_ACTION_FINALIZATION.STARTED.OK": "Success of the start of the process of finalizing the final disposal of archival units", + "UPDATE_RULES_ARCHIVE_UNITS.WARNING": "Warning when updating archival units", + "STP_MERKLE_TREE.STARTED ": " Beginning of the process of checking the MERKLE tree ", + "PREPARE_UNIT_LFC_TRACEABILITY.KO": "Failed to prepare archival unit lifecycle logs and metadata", + "LFC.OBJ_STORAGE.FATAL": "Technical error when writing objects to storage offers", + "PRESERVATION_BINARY_HASH.STARTED.OK": "Success of the start of the calculation of a footprint in SHA-512", + "STP_MIGRATION_UNITS.KO": "Preparation process for migration of archival units failed", + "IMPORT_ARCHIVEUNITPROFILE.KO": "Import process for archival unit profile failed", + "LFC.UNITS_RULES_COMPUTE.STARTED": "Start of application of management rules and calculation of due dates", + "LFC.OG_CREATE_SECURED_FILE.OK": "Successful creation of secure files for the object group", + "BACKUP_PROFILE.STARTED": "Beginning of the process of backing up archive profiles", + "LIST_OBJECTGROUP_ID.OK": "Successful creation of the list of groups of objects to audit", + "STP_ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.OK": "Success of the preparation process for the final elimination of groups of technical objects", + "STP_PREPARE_AUDIT.KO": "Failed to prepare audit process", + "CHECK_RULES.WARNING": "Warning when checking the compliance of the management rules file", + "LFC.UPDATE_OBJECT_GROUP.FATAL": "Technical error while updating the object group", + "STP_EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD.OK": "Success of the process of preparing the list of signatures in secure files", + "LFC.CHECK_DIGEST.CALC_CHECK": "Calculation of a footprint in SHA-512", + "ELIMINATION_ANALYSIS_UNIT_INDEXATION.WARNING": "Warning when indexing the analysis for the elimination of archival units", + "STP_ELIMINATION_ANALYSIS_FINALIZATION.FATAL": "Technical error during the process of finalizing the analysis of the disposal of archival units", + "EXPORT_DIP": "Export of the DIP", + "UNIT_ATTACHMENT.FATAL": "Technical error when attaching archival units", + "STP_BACKUP_SCENARIO.STARTED": "Beginning of the backup process for preservation scenarios", + "CHECK_DATAOBJECTPACKAGE.CHECK_NO_OBJECT.KO": "Failed to verify the absence of object: object (s) found", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.REJECTED.KO": "Failed to verify the format: the format of the object is rejected", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.WARNING": "Warning when auditing the existence of objects: at least one group of objects has no binary object to check", + "STP_VERIFY_STAMP.OK": "Successful timestamp verification process", + "STP_INGEST_CONTROL_SIP.STARTED": "Start of the SIP control process", + "EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD.WARNING": "Warning when preparing the list of signatures in secure files", + "SCENARIO_REPORT.STARTED": "Beginning of the process of generating the import report for the repository of preservation scenarios", + "LFC.PRESERVATION_INDEXATION_METADATA.OK": "Successful indexing of the metadata of the group of objects", + "PREPARE_STORAGE_INFO.STARTED.OK": "Successful start of preparing storage information", + "UNIT_GRAPH_COMPUTE.OK": "Successful update of the graphs of archival units", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.NOT_FOUND.KO": "Format of the unidentified object", + "MASS_UPDATE_FINALIZE.WARNING": "Warning during the processing process for updating the generations of the update report for the descriptive metadata of archival units", + "STP_CHECK_AND_COMPUTE": "Process of preparing the list of archival units to be updated and modification authorizations", + "PUT_BINARY_ON_WORKSPACE": "Move binary objects on the storage offer to the internal workspace", + "STP_ELIMINATION_ANALYSIS_PREPARATION": "Preparation process for the analysis of the elimination of archival units", + "ELIMINATION_ACTION_REPORT_GENERATION.STARTED.OK": "Success of the start of the generation of the final disposal report for archival units", + "INGEST_TEST": "Blank entry", + "STP_UNIT_CHECK_AND_PROCESS.STARTED": "Start of the process of checking and processing archival units", + "UPDATE_UNIT_RULES_CONSISTENCY.KO": "Failed to check the consistency of actions when updating descriptive and management metadata for archival units", + "PRESERVATION_BINARY_HASH.OK": "Successful calculation of a footprint in SHA-512", + "STP_CHECK_AND_COMPUTE.KO": "Process for preparing list of archival units to update and modification permissions failed", + "LFC.PRESERVATION_BINARY_HASH.PRESERVATION_BINARY_HASH.WARNING": "Warning when calculating a fingerprint in SHA-512", + "EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD.OK ": " Successful preparation of signature list in secure files ", + "STP_AUDIT.STARTED.OK": "Beginning of the audit execution process", + "ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE": "Update of the Register of Funds following the final elimination of archival units", + "SANITY_CHECK_SIP.KO": "SIP sanitary check failed: file detected as infected", + "ELIMINATION_ANALYSIS.WARNING": "Warning when analyzing the elimination of archival units", + "IMPORT_AGENCIES.USED_AU.STARTED": "Beginning of the verification process for agent services referenced by archival units", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.WARNING": "Warning when checking the format", + "LIST_ARCHIVE_UNITS.KO": "Failed to establish list of archival units to update", + "IMPORT_AGENCIES.STARTED": "Beginning of the agent services repository import process", + "STP_DELETE_MASTERDATA_ONTOLOGY.OK": "Success of the process of deleting the ontology repository", + "LFC.OBJ_STORAGE.OBJECT_STORAGE_SUB_TASK.KO": "Failed to write object to storage offers", + "LFC.CHECK_DIGEST.WARNING": "Warning when verifying the integrity of the uploaded objects: fingerprint of the object recalculated and recorded in the metadata of the object", + "UNIT_METADATA_CHECK_CONSISTENCY.KO": "Failed to check the consistency of actions when updating management metadata for archival units", + "MASS_UPDATE_FINALIZE": "Process for generating the processing report for updating the generations of the updating report for descriptive metadata for archival units", + "STP_UPDATE_PROFILE_JSON.NOT_IN_ENUM.KO": "Archive profile update process failed: a value does not match the expected values", + "MASS_UPDATE_UNIT_RULE.KO": "Failed to update management rules for archival units", + "CHECK_DATAOBJECTPACKAGE.UNAUTHORIZED_ATTACHMENT.KO": "The connection has not been made: the connection is not located in the authorized perimeter", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.CHECK_MANIFEST_MALFORMED_DATA.KO": "The transfer slip has malformed data", + "STP_PRESERVATION_ACTION.STARTED.OK": "Successful start of the griffin launch process", + "UNIT_METADATA_UPDATE.WARNING": "Warning when updating metadata of archival units", + "RULES_REPORT.OK": "Successful generation of the analysis report of the management rules repository", + "STP_PROBATIVE_VALUE_CHECK_MERKLE_TREE": "Process of checking the MERKLE tree", + "RECLASSIFICATION_PREPARATION.FATAL": "Technical error during the preparation of the modification of the archival unit tree", + "CHECK_SEDA.CONTAINER_FORMAT.FILE.KO": "Global SIP check failed: SIP contains more than one file at its root", + "INGEST.STARTED": "Start of SIP entry", + "STP_IMPORT_ACCESS_CONTRACT.EMPTY_REQUIRED_FIELD.KO": "Failure of the access contract import process: at least one of the mandatory fields is not filled in", + "LFC.UNITS_RULES_COMPUTE.UNKNOWN.WARNING": "Warning when checking the expiration of management rules", + "LIST_ARCHIVE_UNITS.WARNING": "Warning during the process of establishing the list of archival units to update", + "ONTOLOGY_REPORT.OK": "Success of the process of generating the import report of the ontologies repository", + "CHECK_ARCHIVE_UNIT_PROFILE.KO": "Failed to verify compliance with archival unit profiles", + "STP_IMPORT_INGEST_CONTRACT.KO": "Import process of the entry contract failed", + "FILE_FORMAT_REPORT": "Generation of the format repository import report", + "STP_RECLASSIFICATION_FINALIZATION.OK": "Success of the process for finalizing the modification of the archival unit tree", + "LFC.PRESERVATION_INDEXATION_METADATA.KO": "Failed to index object group metadata", + "STP_UNIT_CHECK_AND_PROCESS.FATAL": "Technical error in the process of checking and processing archival units", + "STP_UPDATE_ACCESS_CONTRACT.KO": "Access contract update process failed", + "STP_BACKUP_CONTEXT.OK": "Success of the application context backup process", + "BACKUP_ARCHIVEUNITPROFILE.STARTED.OK": "Successful start of backup process for archival unit profiles", + "IMPORT_AGENCIES.USED_CONTRACT.KO": "Failed to verify agent services referenced in access contracts", + "UPDATE_AGENCIES.WARNING": "Warning during the process of updating the agent services repository", + "STP_OP_SECURISATION.OK": "Success of the process for securing the operations log", + "PREPARE_UPDATE_UNIT_LIST.KO": "Failed to prepare the list of archival units to update", + "CHECK_UNIT_SCHEMA.ALREADY_EXECUTED": "Action already carried out: No global verification of the archival unit", + "STP_IMPORT_SECURITY_PROFILE": "Security profile import process", + "LFC.OBJ_STORAGE.OBJ_STORAGE_SUB_TASK.FATAL": "Technical error while writing the object to the storage offers", + "LFC.CHECK_CLASSIFICATION_LEVEL.STARTED.OK": "Success of the start of the classification level check", + "MIGRATION_UNITS.WARNING": "Warning when migrating archival units", + "STP_UNIT_UPDATE.WARNING": "Warning during the updating process of archival units", + "ROLL_BACK.FATAL": "Technical error while making the lifecycle logs consistent", + "LFC.OBJ_STORAGE.OK": "Success of writing objects to storage offers", + "STP_UPDATE_RUNNING_INGESTS.WARNING": "Warning during the process of updating entries in progress", + "STP_BACKUP_ACCESS_CONTRACT.STARTED.OK": "Success of the start of the process for saving access contracts", + "EVIDENCE_AUDIT": "Consistency audit", + "CHECK_SEDA": "Global verification of the SIP", + "STP_DELETE_LOGBOOK_OPERATION.STARTED.OK": "Success of the start of the process of deleting the operation logs", + "CHECK_DATAOBJECTPACKAGE.CHECK_NO_OBJECT.OK": "Successful check for no object", + "BACKUP_ONTOLOGY.STARTED": "Beginning of the ontologies backup process", + "UPDATE_ONTOLOGY.FATAL": "Technical error during the ontology update process", + "UPDATE_UNIT_RULES": "Update of the management rules for archival units", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_OBJECTNUMBER": "Checking the number of objects", + "SANITY_CHECK_SIP.OK": "Success of the SIP sanitary check: no virus detected", + "LFC.LFC_CREATION.OK": "Successful feeding the lifecycle log", + "PROBATIVE_VALUE_PREPARE_GENERATE_REPORTS.WARNING": "Warning during the process of creating the report for each archival unit or object or group of objects", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_DATAOBJECT_VERSION.WARNING": "Warning when checking the uses of objects", + "LFC.CHECK_CONSISTENCY.STARTED.OK": "Success of the start of the consistency check between objects, groups of objects and archival units", + "CHECK.FATAL": "Technical error while checking secure logs", + "LFC.CHECK_MANIFEST.MODIFY_PARENT_EXISTING_UNIT_UNAUTHORIZED.KO": "The connection has not been made: impossible to link an existing archival unit to a parent archival unit", + "CHECK_UNIT_SCHEMA.EMPTY_REQUIRED_FIELD.KO": "Failure of the global verification of the archival unit: compulsory fields empty", + "STORAGE_AVAILABILITY_CHECK.STORAGE_AVAILABILITY_CHECK.WARNING": "Storage offer availability check warning: Unable to know the available space", + "STP_ELIMINATION_ACTION_PREPARATION.OK": "Success of the preparation process for the final disposal of archival units", + "STP_DELETE_ACCESSION_REGISTER_DETAIL.WARNING": "Warning during the process of deleting the Register of Funds (Fetails)", + "CHECK_DIGEST.ALREADY_EXECUTED": "Action already carried out: No verification of the object fingerprint", + "LIST_OBJECTGROUP_ID.KO": "Failed to create the list of object groups to audit", + "PROCESS_SIP_UNITARY_TEST.STARTED.OK": "Success of the start of the SIP blank entry process", + "VERIFY_TIMESTAMP.VALIDATE_TOKEN_TIMESTAMP": "Validation of the timestamp buffer", + "LIST_RUNNING_INGESTS": "Establishment of the process for preparing lists of archival units to be updated", + "STP_ELIMINATION_ANALYSIS_FINALIZATION.KO": "Failed to finalize analysis of disposal of archival units", + "STP_AUDIT.STARTED": "Start of the audit execution process", + "STP_EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS": "Report creation process for each archival unit or object or group of objects", + "ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.KO": "Failed to update the Register of Funds following the final elimination of archival units", + "PRESERVATION_BINARY_HASH.KO": "Failed to calculate a hash in SHA-512", + "STP_VERIFY_STAMP.KO": "Time stamp verification process failed", + "LFC.PRESERVATION_STORAGE_BINARY.WARNING": "Warning when writing objects to storage offers", + "LFC.CHECK_CONSISTENCY": "Checking the consistency between objects, groups of objects and archival units", + "STP_STORE_MANIFEST.OK": "Success of the process of creating the DIP and moving it to the storage offer", + "AGENCIES_REPORT": "Process for generating the agent services repository import report", + "ELIMINATION_ACTION_REPORT_GENERATION.KO": "Failed to generate the final disposal report for archival units", + "LFC.CHECK_ARCHIVE_UNIT_PROFILE.FATAL": "Technical error while checking compliance with archival unit profiles", + "STP_BACKUP_SCENARIO.KO": "Failed to save preservation scenarios", + "CREATE_MANIFEST.OK": "Successful creation of the provision slip", + "AUDIT_CHECK_OBJECT.AUDIT_CHECK_OBJECT.FATAL": "Technical error when auditing the existence and integrity of objects", + "CHECK_SEDA.NOT_XSD_VALID": "Global SIP check", + "STP_IMPORT_ACCESS_CONTRACT.STARTED.OK": "Success of the start of the import process for the access contract", + "MASS_UPDATE_UNIT_DESC.STARTED.FATAL": "Technical error when starting the process of mass updating of descriptive metadata of archival units", + "STP_OBJ_STORING": "Process of writing and indexing objects on storage offers", + "STP_EVIDENCE_AUDIT_EXTRACT_ZIP_FILE.STARTED.OK": "Beginning of the process of extracting signatures from secure files", + "UPDATE_ARCHIVEUNITPROFILE.WARNING": "Warning during the update process of the archival unit profile", + "FINALIZE_UNIT_LFC_TRACEABILITY.OP_SECURISATION_STORAGE.FATAL": "Technical error while storing lifecycle logs of archival units", + "LFC.CHECK_DIGEST": "Checking the integrity of the objects uploaded", + "STP_PROBATIVE_VALUE_PREPARE_GENERATE_REPORTS.WARNING": "Warning during the process of creating the report for each archival unit or object or group of objects", + "BUILD_OG_LFC_TRACEABILITY.KO": "Failed to secure object group lifecycle logs", + "CHECK_UNIT_SCHEMA.INVALID_UNIT.KO": "Failure of the overall verification of the archival unit: non-compliant fields", + "STP_DELETE_MASTERDATA_ARCHIVE_UNIT_PROFILE.STARTED": "Beginning of the process of deleting the repository of archival unit profiles", + "RULES_REPORT.WARNING": "Warning when generating the analysis report for the management rules repository", + "MASS_UPDATE_FINALIZE.OK": "Success of the processing process for updating the generations of the update report for the descriptive metadata of archival units", + "STP_DELETE_ACCESSION_REGISTER_DETAIL.STARTED.OK": "Successful start of fund register deletion process (Details)", + "STP_OP_SECURISATION.KO": "Failed to secure the operations log", + "LFC.OBJ_STORAGE.OBJECT_STORAGE_SUB_TASK.FATAL": "Technical error while writing the object to the storage offers", + "STP_DELETE_MASTERDATA_INGEST_CONTRACT": "Process for deleting entry contracts", + "STP_PUT_BINARY_ON_WORKSPACE.FATAL": "Technical error while moving binary objects from storage offering to internal workspace", + "LFC.UNITS_RULES_COMPUTE.DATE_THRESHOLD.FATAL": "Technical error when checking the validity of the dates of application of the management rules", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.TOOL_DOES_NOT_ANSWER.FATAL": "The object formats analysis tool does not respond", + "STP_IMPORT_INGEST_CONTRACT.OK": "Success of the import process of the entry contract", + "STP_DELETE_CONTEXT.STARTED": "Beginning of the process for deleting the application context", + "PRESERVATION.STARTED": "Beginning of the global preservation process", + "UNIT_ATTACHMENT.WARNING": "Warning when attaching archival units", + "VERIFY_TIMESTAMP.FATAL": "Technical error while checking the timestamp", + "PREPARE_STORAGE_INFO.FATAL": "Technical error while preparing storage information", + "ONTOLOGY_REPORT.KO": "Failed to generate the ontology repository import report", + "LFC.PRESERVATION_STORAGE_BINARY.FATAL": "Technical error when writing objects to storage offers", + "PRESERVATION_ACTION.WARNING": "Warning when launching the griffin", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.STARTED": "Start of the transfer slip consistency check", + "LFC.PRESERVATION_BINARY_HASH.EMPTY.KO": "Failed to read hash of file", + "MIGRATION_OBJECT_GROUPS_LIST.WARNING": "Warning when distributing groups of objects", + "DATA_MIGRATION.WARNING": "Warning during the data migration process", + "STP_UPDATE_ACCESS_CONTRACT.OK": "Success of the access contract update process", + "PREPARE_UPDATE_UNIT_LIST.OK": "Successful preparation of the list of archival units to be updated", + "UNIT_METADATA_UPDATE.STARTED.OK": "Successful start of updating archival unit metadata", + "IMPORT_AGENCIES.USED_CONTRACT.OK": "Success of the verification process for the agent services referenced in the access contracts", + "UNIT_METADATA_UPDATE_CHECK_DT.KO": "Failed to verify the association with an archival unit profile", + "CHECK_CONTAINER.STARTED.OK": "Successful start of SIP container format check", + "PROCESS_SIP_UNITARY_TEST.OK": "Success of the SIP blank entry process", + "UNIT_METADATA_STORAGE.KO": "Failed to save archival unit metadata", + "STP_OBJECT_GROUP_GRAPH_COMPUTE.STARTED": "Beginning of the process for updating the graphs of groups of objects", + "BACKUP_ONTOLOGY.STARTED.OK": "Successful start of the ontology backup process", + "STP_MIGRATION_OBJECT_GROUPS.FATAL": "Technical error during the process of preparing the migration of groups of objects", + "LFC.CHECK_DIGEST.CALC_CHECK.FATAL": "Technical error when calculating a fingerprint in SHA-512", + "STP_UPDATE_INGEST_CONTRACT.NOT_IN_ENUM.KO": "Failed to update the input contract: a value does not match the expected values", + "LFC.CHECK_MANIFEST_LOOP.FATAL": "Technical error when checking the tree for non-recursion", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.KO": "Failed to check the consistency of the transfer slip", + "PRESERVATION_ACCESSION_REGISTRATION.FATAL": "Technical error when filling the Register of Funds", + "STP_CHECK_AND_COMPUTE.STARTED.WARNING": "Warning when starting the process of preparing the list of archival units to update and modification permissions", + "IMPORT_AGENCIES_BACKUP_CSV.STARTED": "Beginning of the process for saving the agent services repository import file", + "STP_EVIDENCE_AUDIT_FINALIZE.FATAL": "a Technical error during the process of creating the consistency audit report", + "RECLASSIFICATION.STARTED": "Start of modification of the archival unit tree", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.NOT_FOUND_REFERENTIAL.KO": "The format of the object was not found in the format repository", + "LFC.PRESERVATION_INDEXATION_METADATA.PRESERVATION_INDEXATION_METADATA.FATAL": "Technical error while indexing object group metadata during a preservation operation", + "LFC.AUDIT_CHECK_OBJECT.KO": "Failed to audit object verification", + "STP_BACKUP_GRIFFIN.STARTED": "Beginning of the griffin saving process", + "CHECK_SEDA.NOT_XML_FILE.FATAL": "Technical error during the global check of the SIP", + "PREPARE_STORAGE_INFO.KO": "Failed to prepare storage information", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_DATAOBJECT_VERSION.FATAL": "Technical error when checking the uses of objects", + "LFC.CHECK_CONSISTENCY_ORPHAN_OBJECT.FATAL": "Technical error when checking the connection of objects to groups of objects and archival units", + "LFC.CHECK_UNIT_SCHEMA.STARTED": "Beginning of the global verification of the archival unit", + "STP_ELIMINATION_ANALYSIS_FINALIZATION.OK": "Success of the process of finalizing the analysis of the disposal of archival units", + "STP_EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS.FATAL": "Technical error during the process of creating the report for each archival unit or object or group of objects", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.CONTRACT_UNKNOWN": "Failed to check the presence and control of the entry contract: the entry contract is unknown to the entry contract repository", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_DATAOBJECT_VERSION.STARTED.OK": "Success of the start of checking the uses of objects", + "LFC.UNIT_METADATA_UPDATE.FATAL": "Technical error while updating archival unit metadata", + "STP_ELIMINATION_ACTION_PREPARATION.KO": "Preparation process for final disposal of archival units failed", + "PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD.WARNING": "Warning when preparing signature list in secure files", + "CHECK_HEADER.CHECK_AGENT.OK": "Successful verification of the presence and control of agent services", + "STP_OG_LFC_TRACEABILITY.WARNING": "Warning when securing object group lifecycle logs", + "STP_EVIDENCE_AUDIT_PREPARE": "Process of creating the list to audit", + "FINALIZE_OG_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP.OK": "Successful process of creating timestamp buffer for all object group lifecycle logs", + "STP_UPDATE_PROFILE_JSON.WARNING": "Warning during the archiving profile update process", + "LOGBOOK_UNIT_LFC_TRACEABILITY.FATAL": "Technical error securing the lifecycle logs of archival units", + "UNITS_RULES_COMPUTE.REF_INCONSISTENCY.KO": "Failed to apply business rules and calculate due datesance: inconsistent inheritance exclusion ", + "CHECK_UNIT_SCHEMA.RULE_DATE_THRESHOLD.KO": "Failed to calculate due dates: the date cannot be managed", + "CHECK_CONCURRENT_WORKFLOW_LOCK.FATAL": "Technical error while checking concurrent processes", + "ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.OK": "Successful update of the Register of Funds following the final elimination of archival units", + "LOGBOOK_OBJECTGROUP_LFC_TRACEABILITY.STARTED": "Beginning of securing object group lifecycle logs", + "LFC.CHECK_ARCHIVE_UNIT_PROFILE": "Verification of compliance with archival unit profiles", + "STP_MIGRATION_FINALIZE.KO": "Migration finalization process failed", + "STP_STORE_MANIFEST.KO": "Failed to create the DIP and move it to the storage offering", + "CHECK_HEADER.CHECK_ARCHIVEPROFILE": "Checking archiving profile compliance", + "LFC.CHECK_UNIT_SCHEMA.EMPTY_REQUIRED_FIELD.STARTED": "Beginning of the additional check on the validity of the fields of the archival unit", + "FINALIZE_UNIT_LFC_TRACEABILITY.FINALIZE_UNIT_LFC_TRACEABILITY": "Finalization of the securing of the life cycle logs of archival units", + "LFC.CHECK_DIGEST.CALC_CHECK.EMPTY.KO": "Failed to read hash of file", + "STP_UPDATE_INGEST_CONTRACT.FATAL": "Technical error during the process of updating the input contract", + "STP_ELIMINATION_ACTION_DELETE_OBJECT_GROUP.WARNING": "Warning during the process of definitive elimination of groups of technical objects whose parent archival units are deleted", + "LFC.PRESERVATION_STORAGE_BINARY.OBJECT_STORAGE_TASK.STARTED.OK": "Successful start of writing objects to storage offers", + "STP_IMPORT_SECURITY_PROFILE.STARTED.OK": "Successful start of the security profile import process", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.TOO_MANY_FOUND_ATTACHMENT.KO": "The attachment has not been made: the attachment element is not unique in the system", + "BUILD_UNIT_LFC_TRACEABILITY": "Securing the lifecycle logs of archival units", + "CREATE_MANIFEST.KO": "Failed to create the provision slip", + "STP_DELETE_ALL.OK": "Success of the process for deleting all database data", + "ACCESSION_REGISTRATION.FATAL": "Technical error when filling in the Register of Funds", + "UNIT_GRAPH_COMPUTE.STARTED": "Start of updating the graphs of archival units", + "LFC.OG_METADATA_INDEXATION": "Indexing of the metadata of the group of objects", + "UPDATE_ARCHIVEUNITPROFILE.AUP_NOT_FOUND.KO": "Archival unit profile update process failed: Archival unit profile not found", + "STP_UPDATE.FATAL": "Technical error during the processing process for updating archival units", + "STP_DELETE_MASTERDATA_ACCESS_CONTRACT.KO": "Failed to delete access contracts", + "OBJECTS_LIST_EMPTY.FATAL": "Technical error while establishing the list of objects", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT": "Format check", + "STP_BACKUP_SECURITY_PROFILE.STARTED.OK": "Successful start of the security profile backup process", + "INGEST.KO": "Failed to enter the SIP", + "LFC.CHECK_ARCHIVE_UNIT_PROFILE.STARTED": "Start of verification of compliance with archival unit profiles", + "STP_CORRECTION_FINALIZE": "Signature correction finalization process for each faulty object, group of objects or audited unit", + "STP_REFERENTIAL_FORMAT_IMPORT.WARNING": "Warning during the import process of the formats repository", + "STP_UPDATE_CONTEXT.UNKNOWN_VALUE.KO": "Application context update process failed: at least one object declares an unknown value", + "LFC.CHECK_CONSISTENCY.KO": "Failed to check consistency between objects, groups of objects and archival units: the object and its group of objects are not referenced by an archival unit", + "STP_PREPARE_AUDIT.FATAL": "Technical error during the audit preparation process", + "LFC.CHECK_DIGEST.CALC_CHECK.KO": "Failed to calculate a fingerprint in SHA-512", + "STP_DELETE_MASTERDATA_ONTOLOGY.STARTED.OK": "Success of the start of the process of removing the ontologies repository", + "EXPORT_PROBATIVE_VALUE_LIST_OBJECT": "Creation of the list of objects of the statement of probative value", + "STP_RECLASSIFICATION_FINALIZATION.STARTED.OK": "Success of the start of the process for finalizing the modification of the archival unit tree", + "MASS_UPDATE.OK": "Successful update of archival unit metadata", + "AUDIT_CHECK_OBJECT.FATAL": "Technical error while auditing the verification of objects", + "IMPORT_AGENCIES.USED_AU.FATAL": "Technical error during the verification process of agent services referenced by archival units", + "LFC.CHECK_DIGEST.OK": "Successful verification of the integrity of the uploaded objects", + "OP_SECURISATION_STORAGE.STARTED": "Start of log recording on storage offers", + "LFC.CHECK_UNIT_SCHEMA.RULE_DATE_FORMAT": "Checking the consistency of the date declared in the management rules", + "STP_PREPARE_AUDIT.OK": "Success of the audit preparation process", + "MIGRATION_FINALIZE.WARNING": "Warning when finalizing the migration", + "LIST_ARCHIVE_UNITS.OK": "Success of the process of establishing the list of archival units to be updated", + "LFC.OBJ_STORAGE.KO": "Failed to write objects to storage offers", + "STP_UPDATE_OBJECT_GROUP.STARTED": "Beginning of the object group update process", + "RECLASSIFICATION_PREPARATION.STARTED.OK": "Success of the start of the preparation for the modification of the archival unit tree", + "UNIT_METADATA_CHECK_CONSISTENCY.OK": "Successful check of consistency of actions when updating management metadata of archival units", + "AGENCIES_REPORT.KO": "Failed to generate agent services repository import report", + "RECLASSIFICATION_PREPARATION_LOAD_REQUEST": "Loading of archival units when modifying the tree structure of archival units", + "STP_ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.KO": "Preparation process for final elimination of groups of technical objects failed", + "LFC.OG_CREATE_SECURED_FILE.STARTED": "Beginning of the creation of secure files for the group of objects", + "LFC.CHECK_MANIFEST.CHECK_MANIFEST_WRONG_ATTACHMENT": "Checking the consistency of the transfer slip", + "UPDATE_ONTOLOGY.STARTED": "Beginning of the ontology update process", + "REFERENTIAL_FORMAT": "Format repository", + "CHECK_HEADER.STARTED": "Beginning of the general check of the transfer slip", + "IMPORT_ARCHIVEUNITPROFILE.IDENTIFIER_DUPLICATION.KO": "Import process for archival unit profile failed: the identifier is already in use", + "LFC.CHECK_UNIT_SCHEMA.EMPTY_REQUIRED_FIELD": "Additional check on the validity of the fields of the archival unit", + "LFC.AUDIT_CHECK_OBJECT.OK": "Successful audit of object verification", + "LFC.LFC_CREATION.FATAL": "Technical error while feeding the lifecycle log", + "PREPARE_STORAGE_INFO.OK": "Successful preparation of storage information", + "ELIMINATION_ACTION_DELETE_UNIT.FATAL": "Technical error during the final disposal of disposable archival units", + "FINALIZE_OG_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP.KO": "Process to create timestamp buffer for all object group lifecycle logs failed", + "IMPORT_ARCHIVEUNITPROFILE.FATAL": "Technical error during the import process of the archival unit profile", + "LFC.UNITS_RULES_COMPUTE.DATE_THRESHOLD.WARNING": "Warning when checking the validity of the dates of application of management rules", + "IMPORT_AGENCIES.USED_AU.STARTED.OK": "Successful start of the verification process for agent services referenced by archival units", + "STP_REFERENTIAL_FORMAT_IMPORT.STARTED": "Beginning of the format repository import process", + "STP_UNIT_METADATA": "Metadata indexing process of archival units", + "STP_DELETE_MASTERDATA_ONTOLOGY.KO": "Failed to delete ontology repository", + "STP_UNIT_LFC_TRACEABILITY.WARNING": "Warning when securing lifecycle logs of archival units", + "STP_RECLASSIFICATION_FINALIZATION.WARNING": "Warning during the process of finalizing the modification of the archival unit tree", + "STP_CHECK_AND_COMPUTE.OK": "Success of the process of preparing the list of archival units to be updated and modification authorizations", + "EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS": "Creation of the report for each archival unit or object or group of objects", + "STORAGE_SECURISATION_STORAGE.KO": "Failed to store write logs", + "STP_DELETE_LOGBOOK_LIFECYCLE_OG.STARTED.OK": "Success of the start of the process of deleting the lifecycle logs of the object groups", + "CHECK_ARCHIVE_UNIT_PROFILE.STARTED.OK": "Successful start of checking compliance with archival unit profiles", + "ELIMINATION_ANALYSIS_UNIT_INDEXATION": "Indexing of the elimination analysis of archival units", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.MASTER_MANDATORY_REQUIRED.KO": "Absence of a BinaryMaster or PhysicalMaster in the group of objects", + "UPDATE_ARCHIVEUNITPROFILE.FATAL": "Technical error during the update process of the archival unit profile", + "STP_DELETE_SECURITY_PROFILE.STARTED.OK": "Successful start of the security profile deletion process", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_OBJECTNUMBER.WARNING": "Warning when checking the number of objects", + "BACKUP_ARCHIVEUNITPROFILE.STARTED": "Beginning of the backup process for archival unit profiles", + "LFC.CHECK_CONSISTENCY.STARTED": "Beginning of the consistency check between objects, groups of objects and archival units", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.WARNING": "Warning during the preparation process of the Register of Funds following the final disposal of archival units", + "STP_DELETE_MASTERDATA_ACCESS_CONTRACT.OK": "Success of the process for deleting access contracts", + "MASS_UPDATE_UNITS_RULES.STARTED": "Start of updating the management metadata of archival units", + "STP_ELIMINATION_ANALYSIS_UNIT_INDEXATION": "Indexing process of the analysis of elimination of archival units", + "LFC.UNITS_RULES_COMPUTE.REF_INCONSISTENCY": "Checking the consistency of the management rule whose cancellation is requested in relation to its category", + "STP_DELETE_MASTERDATA_CONTEXT.OK": "Success of the process for deleting application contexts", + "MASS_UPDATE_UNITS": "Update of archival units", + "OP_SECURISATION_STORAGE.FATAL": "Technical error while saving logs on storage offers", + "RECLASSIFICATION.FATAL": "Technical error when modifying the tree structure of archival units", + "STP_DELETE_MASTERDATA_AGENCIES.STARTED.OK": "Success of the start of the process for removing the agent services repository", + "LFC.CHECK_CLASSIFICATION_LEVEL.WARNING": "Warning when checking the classification level", + "ELIMINATION_ACTION_DETACH_OBJECT_GROUP.WARNING": "Warning when detaching groups of technical objects from which certain parent archival units are deleted", + "LFC.CHECK_DIGEST.CALC_CHECK.OK": "Successful calculation of a fingerprint in SHA-512", + "RULES_REPORT.KO": "Failed to generate the analysis report for the management rules repository", + "CHECK_HEADER.CONTRACT_NOT_IN_MANIFEST": "Failed to check the presence and control of the entry contract: the ArchivalAgreement field is missing from the transfer slip", + "INGEST.OK": "Successful entry of the SIP", + "STP_PROBATIVE_VALUE_EXTRACT_ZIP_FILE.FATAL": "Technical error during the process of extracting signatures from secure files", + "CHECK_SEDA.STARTED.OK": "Successful start of global SIP check", + "STP_IMPORT_ACCESS_CONTRACT.STARTED": "Beginning of the access contract import process", + "STP_UPDATE_SECURITY_PROFILE.STARTED.OK": "Successful start of the security profile update process", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.INVALID_GUID_ATTACHMENT.KO": "The attachment has not been made: the attachment element is incorrect", + "STP_DELETE_MASTERDATA_ONTOLOGY.STARTED": "Beginning of the process of deleting the ontologies repository", + "CHECK_UNIT_SCHEMA.EMPTY_REQUIRED_FIELD": "Global verification of the archival unit: verification of mandatory fields", + "LFC.CHECK_DIGEST.KO": "Failed to check the integrity of the uploaded objects", + "PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD.STARTED": "Beginning of the preparation of the list of signatures in secure files", + "UNIT_METADATA_INDEXATION.OK": "Successful indexing of archival unit metadata", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_OBJECTNUMBER.MANIFEST_INFERIOR_BDO.KO": "The transfer slip declares fewer binary objects than there are in the Content directory of the SIP", + "STP_OG_CHECK_AND_TRANSFORME": "Verification process and processing of objects and groups of objects", + "LFC.CHECK_MANIFEST.LFC_CREATION.STARTED": "Start of creation of the lifecycle log", + "LFC.CHECK_CONSISTENCY.OK": "Successful verification of consistency between objects, groups of objects and archival units", + "AGENCIES_REPORT.OK": "Success of the process for generating the import report for the agent services repository", + "FINALIZE_UNIT_LFC_TRACEABILITY.WARNING": "Warning when finalizing the securing of the lifecycle logs of archival units", + "STP_OG_LFC_TRACEABILITY": "Process of securing the lifecycle logs of object groups", + "STP_IMPORT_INGEST_CONTRACT.UNKNOWN_VALUE.KO": "Failed to import the entry contract: at least one of the fields filled in is unknown.", + "STP_DELETE_MASTERDATA_GRIFFIN.FATAL": "Technical error during the process of deleting the griffon repository", + "ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.STARTED.OK": "Success of the start of the preparation for the final elimination of groups of technical objects", + "MASS_UPDATE.KO": "Failed to update archival unit metadata", + "STP_BACKUP_CONTEXT.KO": "Failed to save application contexts", + "STP_CREATE_MANIFEST": "Creation process of the provision slip", + "FINALIZE_UNIT_LFC_TRACEABILITY": "Finalization of the securing of the life cycle logs of archival units", + "LFC.CHECK_CONSISTENCY.FATAL": "Technical error when checking the consistency between objects, groups of objects and archival units", + "STP_BACKUP_GRIFFIN.WARNING": "Warning while saving griffins", + "PRESERVATION_INDEXATION_METADATA.STARTED": "Beginning of indexing of the metadata of the group of objects", + "STP_FINALISE_AUDIT": "Audit finalization process", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.OBJECT_NOT_FOUND.FATAL": "The object to be analyzed was not found", + "OP_SECURISATION_STORAGE": "Log storage", + "CORRECTIVE_AUDIT.FATAL": "Technical error correcting the signatures of each archival unit or corrupted object or group of objects", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST": "Consistency check of the transfer slip", + "UNIT_METADATA_UPDATE_CHECK_PERMISSION.KO": "Failed to check the rights to update metadata of archival units", + "RECLASSIFICATION_FINALIZATION": "Finalization of the modification of the archival unit tree", + "CHECK_DATAOBJECTPACKAGE.STARTED.OK": "Successful start of checking objects and groups of objects", + "RECLASSIFICATION.WARNING": "Warning when modifying the tree structure of archival units", + "STP_EVIDENCE_AUDIT_CHECK_DATABASE.STARTED.OK": "Start of data recovery in the database", + "STP_UNIT_CHECK_AND_PROCESS.STARTED.OK": "Success of the start of the process for checking and processing archival units", + "STP_UPLOAD_SIP.FATAL": "Technical error during the process of receiving the SIP", + "LIST_RUNNING_INGESTS.KO": "Failed to prepare lists of archival units to update", + "STP_PROBATIVE_VALUE_PREPARE.OK": "Success of the preparation process for the statement of probative value", + "PRESERVATION_SIEGFRIED_IDENTIFICATION.STARTED.OK": "Successful start of format check", + "LFC.UNIT_METADATA_STORAGE.WARNING": "Warning when writing archival unit metadata to storage offers", + "CHECK_HEADER.CHECK_ARCHIVEPROFILE.FATAL": "Technical error when checking archiving profile compliance", + "BUILD_UNIT_LFC_TRACEABILITY.KO": "Failed to secure archival unit lifecycle logs", + "LFC.UNIT_METADATA_UPDATE.WARNING": "Warning when updating archival unit metadata", + "LFC.UNIT_METADATA_UPDATE_CHECK_DT": "Checking the association with an archival unit profile", + "STP_DELETE_METADATA_UNIT.STARTED.OK": "Success of the start of the process of removing metadata from archival units", + "STORAGE_AVAILABILITY_CHECK.STORAGE_AVAILABILITY_CHECK.STORAGE_OFFER_KO_UNAVAILABLE.KO": "Failed to check availability of storage offering: Storage offering is not available", + "LIST_RUNNING_INGESTS.WARNING": "Warning during the process of preparing lists of archival units to be updated", + "STP_DELETE_LOGBOOK_OPERATION.OK": "Success of the process of deleting the operation logs", + "STP_DELETE_RULES.KO": "Failed to delete management rules repository", + "IMPORT_AGENCIES.USED_CONTRACT": "Verification process for agent services referenced in access contracts", + "STP_MERKLE_TREE.FATAL": "Technical error during the process of checking the MERKLE tree", + "STP_IMPORT_GRIFFIN.OK": "Successful import process for griffins repository", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT": "Format identification", + "DATA_MIGRATION.STARTED": "Beginning of the data migration process", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.CHECK_MANIFEST_WRONG_ATTACHMENT_LINK.KO": "The transfer slip makes a connection using elements outside the scope", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.UPDATED_FORMAT.WARNING": "Completion of metadata on formats", + "LFC.UNITS_RULES_COMPUTE.REF_INCONSISTENCY.STARTED": "Start of the check of the consistency of the management rule whose cancellation is requested in relation to its category", + "GRIFFIN_REPORT.FATAL": "Technical error while generating the import report for the griffins repository", + "STP_IMPORT_ONTOLOGIES_NOT_AUTHORIZED_FOR_TENANT.KO": "The ontologies update process failed: the update is not authorized on the tenant.", + "STP_UNIT_STORING.OK": "Success of the process of writing archival units to storage offers", + "ONTOLOGY_REPORT.STARTED": "Beginning of the process of generating the ontology repository import report", + "STORAGE_SECURISATION_TIMESTAMP": "Creation of the write log timestamp buffer", + "ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.FATAL": "Technical error when updating the Register of Funds following the final elimination of archival units", + "OG_METADATA_INDEXATION.AGENCY_CHECK.KO": "Failure to index the metadata of objects and groups of objects: the attached object does not declare the same producer service as the group of objects", + "ELIMINATION_ANALYSIS_FINALIZATION.FATAL": "Technical error during the finalization of the analysis of the elimination of archival units", + "UNIT_METADATA_INDEXATION.FATAL": "Technical error while indexing archival unit metadata", + "REPORT_AUDIT.KO": "Failed to notify end of audit", + "STP_CORRECTION_FINALIZE.WARNING": "Warning during the process of finalizing signature corrections for each faulty object, group of objects or audited unit", + "IMPORT_AGENCIES": "Import process of agent services repository", + "STORAGE_AVAILABILITY_CHECK.KO": "Failed to check availability of at least one storage offering", + "UPDATE_UNIT_RULES_CHECK_CONSISTENCY.OK": "Successful check of consistency of actions when updating descriptive metadata rules and management of archival units", + "ELIMINATION": "Elimination of archival units", + "LFC.CHECK_UNIT_SCHEMA.EMPTY_REQUIRED_FIELD.KO": "Failure of the additional check on the validity of the fields of the archival unit: compulsory fields empty", + "STP_UPDATE_OBJECT_GROUP.KO": "Object group update process failed", + "STP_ELIMINATION_ACTION_FINALIZATION.WARNING": "Warning during the process of finalizing the final disposal of archival units", + "STP_PROBATIVE_VALUE_CHECK_MERKLE_TREE.FATAL": "Technical error during the process of checking the MERKLE tree", + "LFC.CHECK_UNIT_SCHEMA.INVALID_UNIT.WARNING": "Warning when checking the conformity of values ​​in fields", + "LFC.UNITS_RULES_COMPUTE": "Application of management rules and calculation of due dates", + "STP_DELETE_MASTERDATA_ACCESSION_REGISTER_SYMBOLIC": "Process of deleting the Register of Symbolic Funds", + "LFC.UNIT_METADATA_UPDATE_CHECK_DT.WARNING": "Warning when checking the association with an archival unit profile", + "LFC.UNIT_METADATA_STORAGE.FATAL": "Technical error writing archival unit metadata to storage offers", + "UNIT_METADATA_INDEXATION.KO": "Failed to index archival unit metadata", + "CHECK_HEADER.DIFF.KO": "Failure of the general check of the transfer slip: difference between the archiving profile declared in the transfer slip and that declared in the contract", + "CHECK_HEADER.CONTRACT_NOT_IN_MANIFEST.KO": "Failure of the general check of the transfer slip: the entry contract is missing in the transfer slip", + "UPDATE_AGENCIES": "Agent services repository update process", + "CHECK_DATAOBJECTPACKAGE.TOO_MANY_FOUND_ATTACHMENT.KO": "The attachment has not been made: the attachment element is not unique in the system", + "STP_UNIT_GRAPH_COMPUTE.OK": "Success of the process of updating the graphs of the archival units", + "LFC.UNIT_METADATA_UPDATE": "Update of archival unit metadata", + "STP_ELIMINATION_ACTION_DELETE_UNIT.FATAL": "Technical error during the process of definitive disposal of disposable archival units", + "STP_OBJECT_GROUP_GRAPH_COMPUTE.KO": "The process of updating the graphs of the groups of objects", + "STP_UPDATE_RUNNING_INGESTS.KO": "The current entry update process failed", + "ELIMINATION_ACTION.STARTED": "Beginning of the final elimination of archival units", + "IMPORT_AGENCIES.FATAL": "Technical error during the import process of the agent service repository", + "OG_OBJECTS_FORMAT_CHECK.ALREADY_EXECUTED": "Action already executed: No identification of formats", + "PRESERVATION_SIEGFRIED_IDENTIFICATION.STARTED": "Beginning of format verification", + "VERIFY_TIMESTAMP.VALIDATE_TOKEN_TIMESTAMP.WARNING": "Warning when validating the timestamp buffer", + "STP_STORAGE_AVAILABILITY_CHECK.FATAL": "Technical error during the pre-support check process", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_INDEXED_HASH.WARNING": "Warning when comparing the MERKLE tree with the indexed Hash", + "TRACEABILITY.FATAL": "Technical error during the securing operation", + "STP_PREPARE_LISTS.WARNING": "Warning during the process of preparing lists of archival units to be updated", + "STP_ELIMINATION_ACTION_DETACH_OBJECT_GROUP.KO": "Failure of the process of detaching groups of technical objects from which certain parent archival units are deleted", + "ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.OK": "Successful preparation of the Register of Funds following the final elimination of archival units", + "STP_ACCESSION_REGISTRATION.OK": "Success of the process of supplying the Register of Funds", + "LFC.CHECK_UNIT_SCHEMA.EMPTY_REQUIRED_FIELD.STARTED.OK": "Success of the start of the additional check on the validity of the fields of the archival unit", + "TRACEABILITY.OK": "Success of the securing operation", + "STP_ELIMINATION_ACTION_DETACH_OBJECT_GROUP.OK": "Success of the process of detaching groups of technical objects from which certain parent archival units are eliminated", + "LFC.CHECK_UNIT_SCHEMA.INVALID_UNIT": "Checking the conformity of values ​​in the fields", + "STP_MIGRATION_UNITS_PREPARE.FATAL": "Technical error during the process of preparing the migration of archival units", + "LFC.CHECK_MANIFEST.LFC_CREATION.FATAL": "Technical error while creating the lifecycle log", + "UNIT_METADATA_UPDATE_CHECK_PERMISSION.OK": "Successful verification of the rights to update metadata of archival units", + "STP_UPDATE_INGEST_CONTRACT.STARTED": "Beginning of the entry contract update process", + "VERIFY_TIMESTAMP.COMPARE_TOKEN_TIMESTAMP.KO": "Failed to compare timestamp buffers", + "STP_DELETE_LOGBOOK_OPERATION.FATAL": "Technical error during the process of deleting the operation logs", + "BUILD_UNIT_LFC_TRACEABILITY.OK": "Success in securing archival unit lifecycle logs", + "LOGBOOK_OP_SECURISATION": "Log security process", + "STP_EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD.WARNING": "Warning during the process of preparing the list of signatures in secure files", + "EVIDENCE_AUDIT_CHECK_DATABASE.WARNING": "Warning when retrieving data from the database", + "ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION": "Preparation for the final elimination of groups of technical objects", + "STP_UNIT_CHECK_AND_PROCESS.KO": "Failure of the process for checking and processing archival units", + "IMPORT_AGENCIES.USED_CONTRACT.STARTED.OK": "Success of the start of the verification process for the agent services referenced in the access contracts", + "STP_EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS.OK": "Success of the report creation process for each archival unit or object or group of objects", + "UNIT_ATTACHMENT.KO": "Failed to attach archival units", + "STP_OP_SECURISATION.STARTED.OK": "Beginning of the process for securing the operations log", + "STP_PROBATIVE_VALUE_CHECK_OBJECT_GROUP.WARNING": "Warning during the process of retrieving data from the database", + "LFC.CHECK_MANIFEST.TOO_MANY_VERSION_BY_USAGE.KO": "The transfer slip makes a connection using elements outside the scope", + "LIST_RUNNING_INGESTS.OK": "Success of the process of preparing lists of archival units to be updated", + "BACKUP_ARCHIVEUNITPROFILE.KO": "Backup process for archive unit profiles failed", + "STP_ELIMINATION_ACTION_DELETE_OBJECT_GROUP.STARTED.OK": "Success of the start of the process of definitive elimination of groups of technical objects whose parent archival units are eliminated", + "STP_DELETE_MASTERDATA_PRESERVATION_SCENARIO.STARTED": "Beginning of the process of deleting the repository of preservation scenarios", + "STP_IMPORT_GRIFFIN.KO": "Import process of griffin repository failed", + "PRESERVATION_STORAGE_METADATA_LFC.FATAL": "Technical error while saving lifecycle logs for object groups", + "LFC.PRESERVATION_BINARY_HASH.PRESERVATION_BINARY_HASH.EMPTY.KO": "Failed to read hash of file", + "STP_PRESERVATION_FINALIZATION": "Process of finalizing the preservation treatment", + "STP_UNIT_STORING.KO": "Failed to write archival units to storage offers", + "PRESERVATION_STORAGE_METADATA_LFC.STARTED.OK": "Successful start of saving object group lifecycle logs", + "CHECK_HEADER.CHECK_AGENT.EMPTY_REQUIRED_FIELD.KO": "Failed to check the presence and control of agent services: mandatory field empty", + "BACKUP_ONTOLOGY.FATAL": "Technical error during the process of saving ontologies", + "AUDIT_CHECK_OBJECT.WARNING": "Warning when auditing object verification", + "CHECK.STARTED.OK": "Successful start of checking secure logs", + "STP_DELETE_MASTERDATA_ACCESS_CONTRACT.FATAL ": " Technical error during the process of deleting access contracts ", + "LFC.CHECK_UNIT_SCHEMA.EMPTY_REQUIRED_FIELD.OK": "Success of the additional check on the validity of the fields of the archival unit", + "STP_UPDATE_OBJECT_GROUP.OK": "Success of the object group update process", + "STP_CHECK_AND_COMPUTE.STARTED": "Beginning of the process of preparing the list of archival units to be updated and modification authorizations", + "PREPARE_STORAGE_INFO": "Preparation of storage information", + "STP_PERSONAL_CERTIFICATE_CHECK.STARTED.OK": "Success of the start of the personal certificate verification process", + "FINALIZE_UNIT_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP.STARTED": "Start of the timestamp of the lifecycle logs of archival units", + "STP_RECLASSIFICATION_PREPARATION.STARTED.OK": "Success of the start of the preparation process for the modification of the archival unit tree", + "UNIT_METADATA_UPDATE_CHECK_PERMISSION.WARNING": "Warning when checking the rights to update metadata of archival units", + "MASTERDATA.FATAL": "Technical error when importing master data", + "ELIMINATION_ACTION": "Final elimination of archival units", + "STP_PROBATIVE_VALUE_PREPARE.STARTED.OK": "Beginning of the preparation process for the statement of probative value", + "STP_OG_CHECK_AND_TRANSFORME.KO": "Failed to check and process objects and groups of objects", + "STP_ELIMINATION_ACTION_REPORT_GENERATION": "Process for generating the final disposal report for archival units", + "ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.STARTED.OK": "Success of the start of the update of the Register of Funds following the final elimination of the archival units", + "STP_DELETE_LOGBOOK_OPERATION.KO": "Failed to delete operation logs", + "OP_SECURISATION_TIMESTAMP.OK": "Successful creation of the timestamp buffer for all the logs", + "STP_MASS_UPDATE_FINALIZE.OK": "Success of the process for generating the update report for the descriptive metadata of archival units", + "OP_SECURISATION_TIMESTAMP.STARTED": "Start of creation of the timestamp buffer for all the logs", + "COMMIT_LIFE_CYCLE_OBJECT_GROUP.FATAL": "Technical error while saving lifecycle logs of object groups", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_WRONG_ATTACHMENT.KO": "The transfer slip performs an attachment using elements that do not exist in the system", + "PROBATIVE_VALUE_REPORTS.KO": "Failed to create the probative value statement report", + "UPDATE_ARCHIVEUNITPROFILE": "Archival unit profile update process", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.EXISTING_OG_NOT_DECLARED.KO": "An archival unit declares an object instead of the corresponding object group", + "OG_OBJECTS_FORMAT_CHECK.UNCHARTED.KO": "Failed to identify formats: the format of the object (s) is identified but is unknown to the format repository", + "CHECK_DIGEST": "Checking the integrity of objects", + "PROBATIVE_VALUE_CHECK_OBJECT_GROUP.WARNING": "Warning when retrieving data from the database", + "STP_DELETE_ACCESSION_REGISTER_SUMMARY.STARTED": "Beginning of the process of deleting the Register of Funds (Summary)", + "STP_UNIT_GRAPH_COMPUTE.KO": "Failed to update the graphs of archival units", + "STP_ACCESSION_REGISTRATION.KO": "Fund Registry feed process failed", + "UNITS_RULES_COMPUTE.ALREADY_EXECUTED": "Action already carried out: No application of management rules and calculation of due dates", + "STP_PROBATIVE_VALUE_EXTRACT_ZIP_FILE.STARTED": "Beginning of the process of extracting signatures from secure files", + "CHECK_DISTRIBUTION_THRESHOLD.WARNING": "Warning when checking the thresholds for processing archival units", + "REPORT_AUDIT.OK": "Success of the notification of the end of the audit", + "FILINGSCHEME.FATAL": "Technical error during the filing plan entry process", + "OBJECT_GROUP_GRAPH_COMPUTE.WARNING": "Warning when updating the graphs of groups of objects", + "STP_DELETE_MASTERDATA_CONTEXT.STARTED": "Beginning of the process for deleting application contexts", + "EVIDENCE_AUDIT_FINALIZE.WARNING": "Warning when creating the consistency audit report", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.OK": "Success of the transfer slip consistency check", + "BACKUP_PROFILE.WARNING": "Warning during the process of backing up archive profiles", + "PREPARE_UNIT_LFC_TRACEABILITY.STARTED": "Beginning of preparation of life cycle logs and archival unit metadata", + "PREPARE_STORAGE_INFO.STARTED": "Beginning of preparation of storage information", + "CHECK.WARNING": "Warning when checking secure logs", + "CHECK_SEDA.CONTAINER_FORMAT.FILE.FATAL": "Technical error during the global check of the SIP", + "CHECK_CONCURRENT_WORKFLOW_LOCK.OK": "Successful verification of concurrent processes", + "STP_PREPARE_TRACEABILITY_CHECK.STARTED.OK": "Beginning of the process of preparing the verification of secure logs", + "STP_UNIT_LFC_TRACEABILITY.STARTED.OK": "Beginning of securing the lifecycle logs of archival units", + "MIGRATION_FINALIZE.FATAL": "Technical error when finalizing the migration", + "RECLASSIFICATION_PREPARATION_LOAD_REQUEST.FATAL": "Technical error when loading archival units when modifying the tree structure of archival units", + "UNIT_ATTACHMENT.OK": "Success of the attachment of archival units", + "UNIT_GRAPH_COMPUTE": "Update of graphs of archival units", + "PROCESS_SIP_UNITARY.STARTED": "Beginning of the SIP entry process", + "RECLASSIFICATION_PREPARATION.OK": "Successful preparation for the modification of the archival unit tree", + "STP_BACKUP_ACCESS_CONTRACT.WARNING": "Warning during the process of saving access contracts", + "CHECK_RULES.IMPORT_IN_PROCESS.KO": "Failed to check the compliance of the business rules file: The import is impossible because an update of the repository is already in progress", + "STP_UNIT_CHECK_AND_PROCESS.OK": "Success of the control process and processing of archival units", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.UNAUTHORIZED_ATTACHMENT.KO": "The connection has not been made: the connection is not located in the authorized perimeter", + "STP_UPDATE_INGEST_CONTRACT.CONTRACT_NOT_FOUND.KO": "Input contract update process failed: input contract not found", + "STP_CHECK_AND_COMPUTE.STARTED.KO": "Failed to start process for preparing list of archival units to update and modification permissions", + "STP_OBJ_STORING.STARTED": "Beginning of the process of writing and indexing objects on the storage offers", + "ELIMINATION_ACTION_REPORT_GENERATION.OK": "Successful generation of the final disposal report for archival units", + "STP_ELIMINATION_ACTION_REPORT_GENERATION.KO": "Failed to generate the final disposal report for archival units", + "ELIMINATION_ANALYSIS_FINALIZATION.OK": "Successful completion of the analysis of the disposal of archival units", + "UPDATE_OBJECT_GROUP.STARTED.OK": "Beginning of updating the group of objects", + "PREPARE_UPDATE_UNIT_LIST.FATAL": "Technical error while preparing the list of archival units to update", + "STP_MIGRATION_FINALIZE.STARTED": "Beginning of the migration finalization process", + "STP_DELETE_LOGBOOK_LIFECYCLE_OG.KO": "Deletion process for object group lifecycle logs failed", + "ATR_NOTIFICATION.FATAL": "Technical error when notifying the end of the entry operation to the payment operator", + "STP_BACKUP_SCENARIO.OK": "Successful process of saving preservation scenarios", + "UPDATE_AGENCIES.FATAL": "Technical error during the process of updating the agent services repository", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.WARNING": "Warning when identifying the format", + "CHECK_DATAOBJECTPACKAGE.EMPTY_REQUIRED_FIELD.KO": "At least one archival unit contains an empty field whose value is mandatory", + "STP_MIGRATION_OBJECT_GROUPS.OK": "Success of the process of preparing the migration of groups of objects", + "OP_PROFILE_STORAGE.KO": "Failed to save archive profile", + "UPDATE.STARTED.OK": "Success of the start of the update", + "COMMIT_LIFE_CYCLE_OBJECT_GROUP.OK": "Successful saving of object group lifecycle logs", + "LFC.UNIT_METADATA_UPDATE_CHECK_DT.FATAL": "Technical error when checking the association with an archival unit profile", + "LFC.CHECK_MANIFEST.INVALID_GUID_ATTACHMENT.KO": "The connection has not been made: the connection element is incorrect", + "STP_INGEST_CONTROL_SIP.FATAL": "Technical error during the SIP check process", + "CHECK_DISTRIBUTION_THRESHOLD.OK": "Successful verification of processing limitation thresholds for archival units", + "BACKUP_ARCHIVEUNITPROFILE.OK": "Successful process of backing up archival unit profiles", + "PREPARE_OG_LFC_TRACEABILITY.STARTED": "Beginning of preparation of lifecycle logs and object group metadata", + "STP_PROBATIVE_VALUE_CHECK_OBJECT_GROUP.KO": "Failed to retrieve data from the database", + "CHECK_FILE_FORMAT.FATAL": "Technical error when checking the formats of objects and group of objects", + "CHECK": "Checking secure logs", + "ELIMINATION_ANALYSIS_PREPARATION.WARNING": "Warning when preparing to analyze the disposal of archival units", + "EVIDENCE_AUDIT_FINALIZE.FATAL": "a Technical error occurred while creating the consistency audit report", + "STP_UPDATE_ACCESS_CONTRACT.NOT_IN_ENUM.KO": "Failed to update the access contract: a value does not correspond to the expected values", + "STP_IMPORT_INGEST_CONTRACT.STARTED.OK": "Success of the start of the import process for the entry contract", + "LFC.PRESERVATION_INDEXATION_METADATA.PRESERVATION_INDEXATION_METADATA.STARTED.OK": "Success of the start of the indexing of the metadata of the group of objects or of a preservation operation", + "STP_IMPORT_PROFILE_FILE": "Import process of the archiving profile (xsd or rng file)", + "STORAGE_BACKUP.WARNING": "Warning when saving the write logs", + "MASS_UPDATE_UNITS.OK": "Successful update of archival units", + "CHECK_HEADER.CONTRACT_UNKNOWN": "Failed to check the presence and control of the entry contract: the entry contract is unknown to the entry contract repository", + "ELIMINATION_ACTION_FINALIZATION.OK": "Successful completion of the final elimination of archival units", + "PROBATIVE_VALUE_REPORTS.OK": "Successful creation of the probative value statement report", + "STP_INGEST_FINALISATION.STARTED.OK": "Successful start of entry finalization process", + "CHECK_DIGEST.EMPTY.KO": "Failed to check the fingerprint of objects: There is at least one object whose fingerprint is missing in the transfer slip", + "MASS_UPDATE_FINALIZE.KO": "The processing process for updating the generations of the update report for the descriptive metadata of archival units failed.", + "PRESERVATION_STORAGE_METADATA_LFC.WARNING": "Warning when saving object group lifecycle logs", + "STP_DELETE_MASTERDATA_INGEST_CONTRACT.WARNING": "Warning during the process of deleting input contracts", + "EVIDENCE_AUDIT.WARNING": "Warning during consistency audit", + "STP_RECLASSIFICATION_PREPARATION.FATAL": "Technical error during the preparation process for the modification of the archival unit tree", + "STP_UPDATE_UNIT_DESC.WARNING": "Warning during the process of updating the descriptive metadata of the archival unit", + "MASS_UPDATE_UNIT_DESC.STARTED.KO": "Failed to start the process of mass update of descriptive metadata of archival units", + "STP_DELETE_MASTERDATA_PRESERVATION_SCENARIO": "Process of deleting the repository of preservation scenarios", + "STORAGE_BACKUP.OK": "Successful saving of the write logs", + "STP_UPDATE": "Processing process for updating archival units", + "STP_PUT_BINARY_ON_WORKSPACE.STARTED": "Beginning of the process of moving binary objects from the storage offering to the internal workspace", + "PROBATIVE_VALUE_EXTRACT_ZIP_FILE": "Extraction of signatures from secure files", + "STP_DELETE_LOGBOOK_LIFECYCLE_UNIT.FATAL": "Technical error in the process of deleting the lifecycle logs of archival units", + "STP_IMPORT_ACCESS_CONTRACT.FATAL": "Technical error during the import process of the access contract", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.PUID_NOT_FOUND.KO": "Object format identifier (PUID) missing in the formats repository", + "ELIMINATION_ACTION_DETACH_OBJECT_GROUP.OK": "Successful detachment of groups of technical objects from which certain parent archival units are eliminated", + "UNIT_METADATA_UPDATE_CHECK_DT.OK": "Successful verification of the association with an archival unit profile", + "PROCESS_SIP_UNITARY_TEST.KO": "SIP blank entry process failed", + "STP_ELIMINATION_ACTION_FINALIZATION": "Finalization process for the final disposal of archival units", + "UNIT_METADATA_STORAGE.ALREADY_EXECUTED": "Action already carried out: No recording of archival unit metadata", + "LFC.CHECK_MANIFEST.LFC_CREATION.OK": "Successful creation of lifecycle log", + "MIGRATION_OBJECT_GROUPS.KO": "Failed to migrate object groups", + "LFC.OBJ_STORAGE.OBJ_STORAGE_SUB_TASK.WARNING": "Warning when writing object to storage offers", + "STP_ELIMINATION_ANALYSIS_FINALIZATION": "Finalization process of the analysis of the disposal of archival units", + "CHECK_HEADER.CONTRACT_INACTIVE": "Failed to check the presence and control of the entry contract: the entry contract is in active", + "CHECK_DATAOBJECTPACKAGE.NOT_FOUND_ATTACHMENT.KO": "The connection has not been made: the connection element does not exist in the system", + "UNIT_METADATA_STORAGE.OK": "Successful registration of archival unit metadata", + "BUILD_OG_LFC_TRACEABILITY.OK": "Successful securing of object group lifecycle logs", + "STP_UNIT_CHECK_AND_PROCESS.WARNING": "Warning during the process of checking and processing archival units", + "GRIFFIN_REPORT": "Generation of the import report of the griffins repository", + "EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD.STARTED": "Beginning of the preparation of the list of signatures in secure files", + "CHECK_CONCURRENT_WORKFLOW_LOCK.KO": "Failed to verify concurrent processes", + "OG_OBJECTS_FORMAT_CHECK": "Identification of formats", + "STP_DELETE_LOGBOOK_LIFECYCLE_UNIT.KO": "The process to delete the lifecycle logs of archival units failed", + "PROBATIVE_VALUE_CHECK_MERKLE_TREE.FATAL": "Technical error when checking the MERKLE tree", + "STP_IMPORT_PROFILE_JSON.PROFILE_NOT_FOUND.KO": "Archive profile import process failed: archive profile not found", + "MASTERDATA.STARTED": "Beginning of importing basic data", + "STP_IMPORT_PRESERVATION_SCENARIO": "Import process of the repository of preservation scenarios", + "IMPORT_AGENCIES.USED_AU": "Verification process of agent services referenced by archival units", + "STP_PRESERVATION_FINALIZATION.WARNING": "Warning during the process of finalizing the preservation treatment", + "CHECK_DATAOBJECTPACKAGE.MASTER_MANDATORY_REQUIRED.KO": "Failed to check objects and groups of objects: the presence of a Master is mandatory", + "CHECK_MERKLE_TREE.FATAL": "Technical error when checking the MERKLE tree", + "LFC.CHECK_CONSISTENCY_ORPHAN_OBJECT.STARTED": "Beginning of the attachment of objects to groups of objects and archival units", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.STARTED": "Beginning of the audit of the files of the group of objects", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.FATAL": "Technical error when checking the presence and checking of the entry contract", + "STP_PROBATIVE_VALUE_PREPARE.KO": "The process for preparing the statement of probative value", + "CREATE_MANIFEST": "Creation of the provision slip", + "OG_METADATA_INDEXATION.KO": "Failed to index the metadata of objects and groups of objects", + "STP_DELETE_LOGBOOK_LIFECYCLE_OG.OK": "Success of the process of deleting the lifecycle logs of object groups", + "CHECK_DATAOBJECTPACKAGE.BDO_DATAOBJECTIONVERSION_PHYSICALMASTER.KO": "At least one binary object declares a \"PhysicalMaster\" usage. This usage is not allowed for binary objects", + "ELIMINATION_ACTION_DELETE_OBJECT_GROUP": "Definitive elimination of groups of technical objects whose parent archival units are deleted", + "STP_MIGRATION_OBJECT_GROUPS.KO": "Preparation process for the migration of groups of objects failed", + "STP_DELETE_MASTERDATA_PRESERVATION_SCENARIO.STARTED.OK": "Success of the start of the process of removing the repository of preservation scenarios", + "RECLASSIFICATION_PREPARATION.KO": "Failed to prepare archival unit tree modification", + "UNITS_RULES_COMPUTE.UNKNOWN.KO": "Failed to apply business rules and calculate due dates: unknown business rule", + "CHECK_HEADER.CONTEXT_CHECK_ERROR.KO": "Failed general check of the transfer slip: Failed to check the presence and control of the application context", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.NOT_FOUND_REFERENTIAL.KO": "The format of the object was not found in the format repository", + "ELIMINATION_ANALYSIS_FINALIZATION.KO": "Failed to finalize analysis of disposal of archival units", + "STP_PROBATIVE_VALUE_CHECK_OBJECT_GROUP.OK": "Success of the data recovery process in the database", + "LFC.UNITS_RULES_COMPUTE.UNKNOWN.STARTED.OK": "Success of the start of the check of the expiry of the business rules", + "ELIMINATION.WARNING": "Warning when disposing of archival units", + "LFC.OBJ_STORAGE.OBJECT_STORAGE_SUB_TASK.OK": "Success of writing object to storage offers", + "PREPARE_UNIT_LFC_TRACEABILITY": "Preparation of the list of life cycle logs and archival unit metadata", + "OP_PROFILE_STORAGE.OK": "Successful saving of the archive profile", + "STP_CHECK_AND_COMPUTE.STARTED.OK": "Successful start of the process of preparing the list of archival units to be updated and modification authorizations", + "LFC.OG_CREATE_SECURED_FILE.KO ": " Failed to create secure files for object group ", + "STP_STORE_MANIFEST": "Process of creating the DIP and moving it to the storage offer", + "LIST_ARCHIVE_UNITS": "Establishment of the list of archival units to update", + "CHECK_DISTRIBUTION_THRESHOLD.KO": "Failed to check the thresholds for processing archival units", + "STP_STORAGE_AVAILABILITY_CHECK.ALREADY_EXECUTED": "Action already taken: No pre-acceptance check process", + "ELIMINATION_ACTION_DELETE_UNIT": "Definitive elimination of disposable archival units", + "LFC.UNIT_METADATA_UPDATE_CHECK_RULES.WARNING": "Warning when checking the update of the management rules of the archival unit", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.CHECK_MANIFEST_LOOP": "Checking for the presence in the transfer slip of a recursion in the tree structure of its archival units", + "STORE_MANIFEST.FATAL": "Technical error when creating the DIP and moving it to the storage offer", + "STP_UNIT_DETACHMENT.STARTED": "Beginning of the process of secondment of archival units", + "CHECK_ARCHIVE_UNIT_PROFILE.OK": "Successful verification of compliance with archival unit profiles", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_OBJECTNUMBER.INVALID_URI.KO": "At least one object declares a URI to which a file does not correspond or declares a URI already used by another object", + "LFC.CHECK_ARCHIVE_UNIT_PROFILE.INVALID_AU_PROFILE.KO": "Failed to verify compliance with archival unit profiles: archival unit profile not compliant", + "STP_RECLASSIFICATION_FINALIZATION.KO": "Failed to finalize the modification of the archival unit tree", + "STP_CHECK_AND_COMPUTE.STARTED.FATAL": "Technical error when starting the process of preparing the list of archival units to update and modification authorizations", + "STORAGE_BACKUP.KO": "Failed to save the write logs", + "ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION": "Preparation of the Register of Funds following the final elimination of archival units", + "MASS_UPDATE_UNIT_DESC": "Process of mass updating of descriptive metadata of archival units", + "OG_METADATA_INDEXATION.OK": "Successful indexing of metadata of objects and groups of objects", + "STP_EVIDENCE_AUDIT_CHECK_DATABASE": "Data retrieval process in the database", + "LFC.UNITS_RULES_COMPUTE.UNKNOWN": "Checking the expiration of management rules", + "AUDIT_CHECK_OBJECT": "Audit of the verification of objects", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.STARTED": "Start of verification of the presence and control of the entry contract", + "ELIMINATION_ACTION_FINALIZATION.KO": "Failed to finalize the final disposal of archival units", + "FINALIZE_OG_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP.WARNING": "Warning during the process of creating the timestamp buffer for all object group lifecycle logs", + "STP_OBJECT_GROUP_GRAPH_COMPUTE.OK": "Success of the process for updating the graphs of groups of objects", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.WARNING": "Warning when checking the consistency of the transfer slip", + "MIGRATION_FINALIZE": "Finalization of the migration", + "STP_IMPORT_INGEST_CONTRACT.FORMAT_MUST_NOT_BE_EMPTY.KO": "Failed to import the input contract: The white list of formats cannot be empty when all formats are not authorized", + "EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS.WARNING": "Warning when creating the report for each archival unit or object or group of objects", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_DATAOBJECT_VERSION.BDO_DATAOBJECTIONVERSION_PHYSICALMASTER.KO": "The binary object declares a \"PhysicalMaster\" usage. This usage is not allowed for binary objects", + "EVIDENCE_AUDIT.FATAL": "A Technical Error during the consistency audit process", + "PRESERVATION": "Global preservation process", + "PRESERVATION_FINALIZATION.STARTED": "Beginning of the finalization of the preservation treatment", + "STP_DELETE_ACCESSION_REGISTER_DETAIL.STARTED": "Beginning of the process of deleting the Register of Funds (Details)", + "STP_ELIMINATION_ACTION_DELETE_OBJECT_GROUP.FATAL": "Technical error during the process of definitive elimination of groups of technical objects whose parent archival units are deleted", + "OBJECT_GROUP_GRAPH_COMPUTE.STARTED.OK": "Success of the start of updating the graphs of groups of objects", + "UPDATE_ARCHIVEUNITPROFILE.STARTED": "Beginning of the archival unit profile update process", + "LFC.UNIT_METADATA_INDEXATION.WARNING": "Warning when indexing the archival unit", + "ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.KO": "Failed to prepare the Register of Funds following the final elimination of archival units", + "OG_OBJECTS_FORMAT_CHECK.FATAL": "Technical error while identifying formats", + "STP_UPDATE_RUNNING_INGESTS.OK": "Success of the current entry update process", + "MIGRATION_OBJECT_GROUPS.OK": "Successful migration of groups of objects", + "STP_DELETE_LOGBOOK_LIFECYCLE_UNIT.OK": "Success of the process of deleting the lifecycle logs of archival units", + "UNIT_DETACHMENT.FATAL": "Technical error when detaching archival units", + "ELIMINATION_ACTION_DETACH_OBJECT_GROUP.KO": "Failed to detach groups of technical objects from which certain parent archival units are deleted", + "EVIDENCE_AUDIT_LIST_OBJECT.FATAL": "A technical error occurred while creating the list to audit", + "EXT_VITAMUI_AUTHENTIFICATION_USER": "User authentication", + "EXT_VITAMUI_AUTHENTICATION_USER": "User authentication", + "EXT_VITAMUI_BLOCK_USER": "User blocking", + "EXT_VITAMUI_PASSWORD_REVOCATION": "Revocation of the password", + "EXT_VITAMUI_PASSWORD_INIT": "Password initialization", + "EXT_VITAMUI_PASSWORD_CHANGE": "Password modification", + "EXT_VITAMUI_AUTHENTIFICATION_OTP_USER": "User authentication with OTP", + "EXT_VITAMUI_AUTHENTICATION_OTP_USER": "User authentication with OTP", + "EXT_VITAMUI_CREATE_CUSTOMER": "Creation of the organization", + "EXT_VITAMUI_UPDATE_CUSTOMER": "Modification of the organization", + "EXT_VITAMUI_CREATE_GROUP": "Group creation", + "EXT_VITAMUI_UPDATE_GROUP": "Modification of the group", + "EXT_VITAMUI_CREATE_IDP": "Creation of the IDP of the organization", + "EXT_VITAMUI_UPDATE_IDP": "Modification of the organization's IDP", + "EXT_VITAMUI_CREATE_OWNER": "Creation of the owner", + "EXT_VITAMUI_UPDATE_OWNER": "Modification of the owner", + "EXT_VITAMUI_CREATE_PROFILE": "Profile creation", + "EXT_VITAMUI_UPDATE_PROFILE": "Profile modification", + "EXT_VITAMUI_START_SURROGATE_USER": "Start of user subrogation", + "EXT_VITAMUI_START_SURROGATE_GENERIC": "Start of generic user subrogation", + "EXT_VITAMUI_STOP_SURROGATE": "Stopping user subrogation", + "EXT_VITAMUI_DECLINE_SURROGATE": "Refusal of the subrogation by the user", + "EXT_VITAMUI_LOGOUT_SURROGATE": "Stop by disconnecting user subrogation", + "EXT_VITAMUI_CREATE_TENANT": "Creation of the owner's safe", + "EXT_VITAMUI_UPDATE_TENANT": "Modification of the owner's safe", + "EXT_VITAMUI_CREATE_USER": "User creation", + "EXT_VITAMUI_UPDATE_USER": "User modification" + } +} + diff --git a/ui/ui-frontend/projects/pastis/src/assets/i18n/fr.json b/ui/ui-frontend/projects/pastis/src/assets/i18n/fr.json new file mode 100644 index 000000000..4204d241b --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/i18n/fr.json @@ -0,0 +1,3194 @@ +{ + "APPLICATION-LIST": { + "settings": "Paramétrage", + "administrators": "Management", + "users": "Utilisateur", + "referential": "Référentiels", + "opaudit": "Audits et opérations", + "techadmin": "Administration technique", + "lastusedapps": "Dernières utilisées" + }, + "NOTICE": { + "ONGLET_NOTICE_TITLE": "NOTICE", + "ONGLET_NOTICE_TYPE": "Type", + "ONGLET_NOTICE_ID": "Identifiant", + "ONGLET_NOTICE_INTITULE": "Intitulé", + "ONGLET_NOTICE_DESCRIPTION": "Description", + "NOTICE_CHART_UN": "Autoriser dans le manifeste la présence de", + "NOTICE_CHART_DEUX": "métadonnées non déclarées dans le PUA ?" + }, + "PASTIS_SPINNER_INTERCEPTOR": { + "NOTIFICATION_CREATE_PROFILE": "Les données RNG ont été chargées avec succès", + "NOTIFICATION_EDIT": "Les données RNG ont été chargées avec succès", + "NOTIFICATION_SEDA": "Les données SEDA ont été chargées avec succès", + "NOTIFICATION_UPDATE_PROFILE": "Le fichier RNG a été généré avec succès" + }, + "PASTIS_DIALOG_CONFIRM": { + "POPUP_VALIDER": "OUI", + "POPUP_ANNULER": "NON" + }, + "SHARED": { + "PASTIS_POP_UP_METADATA_LANGUAGE": { + "SEDA_TITLE": "Affichage des métadonnées", + "SEDA": "SEDA", + "FRANCAIS": "Français", + "MANUEL_UTILISATION": "Manuel d'utilisation PASTIS" + } + }, + "PROFILE_PREVIEW": { + "NOTICE": "Notice", + "HISTORIQUE": "History", + "MENU": { + "MODIFIER_PROFILE": "Modifier le profil", + "TELECHARGER_PROFILE": "Télécharger le profil" + }, + "INFORMATION_TAB": { + "PROFILE": "Profil", + "ACTIF": "actif", + "TYPE": "Type", + "PROFILE_ARCHIVAGE": "Profil d'archivage", + "PROFILE_UNITE_ARCHIVISTIQUE": "Profil d'unité archivistique", + "INTITULE": "Intitulé", + "DESCRIPTION": "Description", + "PROFIL_ATTACHE": "Profil attaché", + "PRESENCE_PROFIL_ATTACHE": "Présence d'un profil attaché", + "PAS_PROFIL_ATTACHE": "Pas de profil attaché", + "ENREGISTRER": "ENREGISTRER" + } + }, + "PROFILE": { + "POP_UP_SAVE": { + "SAVE_PROFILE": { + "POPUP_SAVE_CANCEL_LABEL": "ANNULER", + "POPUP_SAVE_TITLE_DIALOG": "Sélectionner les options de votre enregistrement", + "POPUP_SAVE_SUBTITLE_DIALOG": "Enregistrement", + "POPUP_SAVE_OK_LABEL": "VALIDER", + "POPUP_CREATE_NOTICE_CANCEL_LABEL": "PRECEDENT", + "POPUP_CREATE_NOTICE_TITLE_DIALOG": "Rédiger la notice de profil", + "POPUP_CREATE_NOTICE_SUBTITLE_DIALOG": "Enregistrement", + "POPUP_CREATE_NOTICE_OK_LABEL": "TERMINER" + }, + "CHOICE": { + "FIRST_CHOICE_ENREGISTREMENT": "Local", + "SECOND_CHOICE_ENREGISTREMENT": "SAE", + "TITLE_ENREGISTREMENT": "Où souhaitez-vous l’enregistrer ?", + "FIRST_CHOICE_GESTION_NOTICE": "Création d'une nouvelle notice", + "SECOND_CHOICE_GESTION_NOTICE": "Rattachement à une notice existante", + "TITLE_GESTION_NOTICE":"Gestion de la notice du profil", + "ENREGISTREMENT_OK_LABEL_NEXT": "SUIVANT", + "ENREGISTREMENT_OK_LABEL_TERMINATE": "TERMINER" + } + }, + "POP_UP_CREATION_NOTICE": { + "AUTORISER_PRESENCE_METADONNEES": "Autoriser dans le manifeste la présence de métadonnées non déclarées dans le PUA ?", + "ENREGISTRER_ACTIF_INACTIF": "Souhaitez-vous l'enregistrer en état actif ou inactif ?", + "INTITULE": "Intitulé", + "DESCRIPTION" : "Description", + "CHOICE": { + "PROFIL_ACTIF": "Profil actif", + "PROFIL_INACTIF": "Profil inactif" + } + }, + "POP_UP_CREATION": { + "POPUP_CREATION_CANCEL_LABEL":"ANNULER", + "POPUP_CREATION_TITLE_DIALOG": "Création d'un profil", + "POPUP_CREATION_SUBTITLE_DIALOG": "Choix du type de profil", + "POPUP_CREATION_OK_LABEL": "TERMINER", + "CHOICE": { + "FIRST_CHOICE": "PA", + "SECOND_CHOICE": "PUA", + "TITLE": "Sélectionner un profil d'archivage" + } + }, + "EDIT_PROFILE": { + "NOTICE_TAB": "Notice", + "ENTETE": "Entête", + "REGLES": "Règles", + "UNITES_ARCHIVES": "Unités d'archives", + "OBJETS": "Objets", + "NOTICE_PUA_MODE": "Notice", + "UNITES_ARCHIVES_PUA_MODE": "Unité d'archives", + "NOM_PUA": "Nom du profil d unité archivistique", + "NOM_PA": "Nom du profil d'archivage", + "PROFILE_ID": "Identifiant", + "BREADCRUMB": { + "PORTAIL": "Portail", + "CREER_ET_GERER_PROFIL": "Créer et gérer des profils documentaires" + }, + "FILE_TREE": { + "AJOUTER_UA": "Ajouter une UA", + "AJOUTER_UA_ICON": "AJOUTER UNE UA", + "AJOUTER_UA_TOOLTIP": "Ajouter une UA", + "NOTIFICATION_REMOVE_SUCCESS_ONE": " a été", + "NOTIFICATION_REMOVE_SUCCESS_TWO": "avec succès", + "NOTIFICATION_DUPLICATE_SUCCESS_ONE": " a été", + "NOTIFICATION_DUPLICATE_SUCCESS_TWO": "avec succès", + "NOTIFICATION_ADD_MEDATADONNEE_PONE": "Les métadonnées", + "NOTIFICATION_ADD_METADONNEE_PTWO": " ont été ajoutées", + "NOTIFICATION_ADD_METADONNEE_SONE": "La métadonnée", + "NOTIFICATION_ADD_METADONNEE_STWO": "a été ajoutée", + "NOTIFICATION_ADD_METADONNEE_FILE_TREE": "La métadonnée ArchiveUnit a été ajoutée", + "POPUP_REMOVE_SEDA_ELEMENT_ATTRIBUT": "L'attribut", + "POPUP_REMOVE_SEDA_ELEMENT_METADONNEE": "La métadonnée ", + "POPUP_REMOVE_TITRE": "Voulez-vous supprimer", + "POPUP_REMOVE_SOUS_TITRE_ATTRIBUT": "Suppression d'un attribut", + "POPUP_SOUS_TITRE_METADONNEE": "Suppression d'une métadonnée", + "POPUP_REMOVE_DELETE_TYPE_TEXT_M": " supprimé ", + "POPUP_REMOVE_DELETE_TYPE_TEXT_F": " supprimée ", + "POPUP_ADD_CANCEL_LABEL": "Annuler", + "POPUP_ADD_TITLE_DIALOG": "Veuillez sélectionner une ou plusieurs métadonnées", + "POPUP_ADD_SUBTITLE_DIALOG": "Ajouter des métadonnées à ", + "POPUP_ADD_OK_LABEL": "Ajouter les métadonnées", + "POPUP_DUPLICATE_SEDA_ELEMENT_ATTRIBUT": "L'attribut", + "POPUP_DUPLICATE_SEDA_ELEMENT_METADONNEE": "La métadonnée ", + "POPUP_DUPLICATE_TITRE": "Voulez-vous dupliquer", + "POPUP_DUPLICATE_SOUS_TITRE_ATTRIBUT": "Duplication d'un attribut", + "POPUP_DUPLICATE_SOUS_TITRE_METADONNEE": "Duplication d'un métadonnée", + "POPUP_DUPLICATE_DELETE_TYPE_TEXT_M": " dupliqué ", + "POPUP_DUPLICATE_DELETE_TYPE_TEXT_F": " dupliquée ", + "POPUP_DUPLICATE_TITRE_TWO": "son contenu et son paramétrage (cardinalités et commentaire)" + }, + "FILE_TREE_METADATA": { + "PUA": "Profil d'Unité Archivistique", + "PA": "Profil d'Archivage", + "SEARCH_PLACEHOLDER": "Rechercher une métadonnée dans le tableau", + "NOTIFICATION_AJOUT_METADONNEE": "La métadonnée ArchiveUnit a été ajoutée", + "BOUTON_AJOUT_METADONNEE": "Ajouter une métadonnée", + "BOUTON_AJOUT_UA": "Ajouter une UA", + "POPUP_SOUS_TITRE": "Edition des attributs de", + "POPUP_VALIDER": "Valider", + "POPUP_ANNULER": "Annuler", + "ENREGISTRER_PROFIL_TOOLTIP": "Enregistrer le profil", + "TELECHARGER_MANUEL_TOOLTIP": "Paramètres", + "NOM_METADONNEE": "Nom de la métadonnée", + "VALEUR_FIXE": "Valeur fixe", + "CARDINALITE": "Cardinalité", + "COMMENTAIRE": "Commentaire", + "DUPLIQUER": "Dupliquer", + "ATTRIBUT_METADONNEE": "Attributs de métadonnée", + "SUPPRIMER": "Supprimer", + "MESSAGE_METADONNEE_SANS_FILLES": { + "PARTIEUN": "La métadonnée", + "PARTIEDEUX": "ne contient pas de métadonnées filles. Vous devez lui en ajouter au moins une pour pouvoir l'utiliser dans votre profil." + }, + "ATTRIBUTS": { + "NOM_ATTRIBUT": "Nom de l'attribut", + "VALEUR_FIXE": "Valeur fixe", + "COMMENTAIRE": "Commentaire" + } + } + }, + "LIST_PROFILE": { + "SEARCH_PLACEHOLDER": "Recherche un profil par son intitulé", + "CREER_NOUVEAU_PROFIL": "créer un nouveau profil", + "IMPORTER_PROFIL": "importer un profil", + "LISTE_DES_PROFILS": "Liste des profils", + "TOUS_LES_PROFILS": "Tous les profils", + "TABLE": { + "TYPE_ETAT": "Type/Etat", + "IDENTIFIANT": "Identifiant", + "INTITULE": "Intitulé", + "DERNIERES_MODIFICATIONS": "Dernières modifications" + }, + "MODIFIER_PROFIL_TOOLTIP": "Modifier le profil" + }, + "CREATE_PROFILE": { + "INFORMATION": { + "TITRE_PA": "PA : Profil d'archivage\n", + "TITRE_PUA":"\n PUA : Profil d'unité archivistique\n", + "CONTENT_PA": " Le profil d’unité archivistique est spécifique à une unité archivistique, contrairement au profil d’archivage qui impose une structuration à l’ensemble des unités archivistiques présentes dans un bordereau de transfert.", + "CONTENT_PUA": " Le profil d’unité archivistique est spécifique à une unité d’archives seulement." + } + } + }, + "USER_ACTION": { + "ADD_METADATA": { + "SEARCH_PLACEHOLDER": "Recherche une métadonnée par son intitulé", + "METADATA_ADD": "Les métadonnées à ajouter", + "BOUTON_AJOUTER": "Ajouter", + "MESSAGE_PLUS_METADONNEE": "Il n'y a plus de métadonnées à ajouter" + } + }, + "COMMON": { + "ADD": "Ajouter", + "UNDO": "Annuler", + "BACK": "Retour", + "SUBMIT": "Terminer", + "UPDATE": "Modifier", + "NEXT": "Suivant", + "CONFIRM": "Confirmer", + "CLOSE": "Fermer", + "REQUIRED": "Champ requis", + "NO_RESULT": "Aucun résultat", + "SHOW_MORE_RESULTS": "Afficher plus de résultats...", + "LANGUAGE": { + "TITLE": "Langue", + "ENGLISH": "Anglais", + "FRENCH": "Français", + "GERMAN": "Allemand" + }, + "UNDO_MODAL": { + "TITLE": "Fermer la fenêtre", + "UNDO_MESSAGE": "Les données modifiées ne seront pas sauvegardées. Êtes-vous sûr de vouloir fermer la fenêtre ?" + }, + "HISTORY": { + "NO_HISTORY": "Aucun historique", + "OPERATIONS": "Journal des opérations" + } + }, + "COLOR": { + "PRIMARY": "Couleur primaire", + "SECONDARY": "Couleur secondaire", + "TERTIARY": "Couleur tertiaire", + "HEADER_FOOTER": "Couleur d'entête", + "BACKGROUND": "Couleur de fond de page" + }, + "ACCOUNT": { + "TITLE": "Mon compte", + "REFRESH_PASSWORD": "Changer de mot de passe", + "TAB": { + "INFORMATIONS": "Informations" + }, + "LASTNAME": "Nom", + "FIRSTNAME": "Prénom", + "MAIL": "Adresse e-mail", + "DEFAULT_LANGUAGE": "Langue de l'interface", + "OTP_AUTH": "Authentification OTP", + "PHONE": { + "MOBILE": "Numéro de mobile", + "FIX": "Numéro de fix" + }, + "DELIVERY_ADRESS": "Adresse de livraison", + "LEVEL": "Niveau", + "GROUP": "Mon groupe de profils" + }, + "SUBROGATION": { + "PREHOME": { + "ORGANIZATIONS": "Mes Organisations" + }, + "HOME": { + "RESULTS_TABLE": { + "MODAL": { + "IMPOSSIBLE_SUBROGATION": "La subrogation pour cet utilisateur est momentanément impossible", + "DENIED_SUBROGATION": "Votre demande de subrogation a été refusée", + "CANCEL_SUBROGATION": "Votre demande de subrogation a bien été annulée", + "ACTIVE_SUBROGATION": "Vous avez déjà une subrogation en cours avec l'utilisateur", + "WAITING_ACCEPTATION": "Attente de l'acceptation de l'utilisateur", + "ACCEPT_SUBROGATION": "Afin de vous aider le support dispose pour les prochaines 30 minutes des mêmes droits que vous", + "ASK_SUBROGATION": "Vous avez demandé à subroger l'utilisateur" + } + } + }, + "BANNER": { + "MESSAGE": "Subrogation de l'utilisateur {{ email }} jusqu'à {{ endDate }}", + "STOP_LABEL": "Arrêter la subrogation" + } + }, + "APPLICATION": { + "PORTAL_APP": { + "NAME": "Portail" + }, + "PASTIS_APP": { + "NAME": "Profils Documentaires", + "TOOLTIP": "Accéder, Créer, Modifier ou Supprimer les profils d'archivage et les profils d'unité archivistique" + }, + "ARCHIVAL_PROFILE_APP": { + "NAME": "Profiles d'archives", + "TOOLTIP": "Paramétrer les profile d'archivage" + }, + "CUSTOMERS_APP": { + "NAME": "Organisations", + "TOOLTIP": "Paramétrer les organisations (clients, ...) et les coffres des organisations" + }, + "USERS_APP": { + "NAME": "Utilisateurs", + "TOOLTIP": "Créer, Modifier et Gérer les utilisateurs..." + }, + "GROUPS_APP": { + "NAME": "Groupes de profils", + "TOOLTIP": "Paramétrer les groupes de profil de droits qui seront affectés aux utilisateurs" + }, + "PROFILES_APP": { + "NAME": "Profils APP Utilisateurs", + "TOOLTIP": "Paramétrer les profils de droits des administrateurs qui utilisent l'APP Utilisateurs" + }, + "SUBROGATIONS_APP": { + "NAME": "Subrogation", + "TOOLTIP": "Subroger les droits d'un utilisateur par le support pour assistance ou pour assurer les prestations de paramètrage/administration pour un client" + }, + "HIERARCHY_PROFILE_APP": { + "NAME": "Hiérarchisation des Profils", + "TOOLTIP": "Paramétrer les niveaux de privilèges des profils de droits pour une organisation. Organisation de la séparation des rôles selon la PSSI de l'organisation" + }, + "ACCOUNTS_APP": { + "NAME": "Mon compte", + "TOOLTIP": "Consulter mes informations, Choisir la langue de l'interface" + }, + "INGEST_APP": { + "NAME": "Contrats d'entrée", + "TOOLTIP": "Accéder, créer et modifier les contrats d'entrée" + }, + "ACCESS_APP": { + "NAME": "Contrats d'accès", + "TOOLTIP": "Accéder, créer et modifier les contrats d'accès" + }, + "AGENCIES_APP": { + "NAME": "Services Agent", + "TOOLTIP": "Accéder, Créer, Modifier ou Supprimer les services agents" + }, + "CONTEXTS_APP": { + "NAME": "Contextes applicatifs", + "TOOLTIP": "Accéder, Créer, Modifier ou Supprimer les contextes applicatifs" + }, + "SECURITY_PROFILES_APP": { + "NAME": "Profils de sécurité", + "TOOLTIP": "Accéder, Créer, Modifier ou Supprimer les profils de sécurité" + }, + "ONTOLOGY_APP": { + "NAME": "Ontologie", + "TOOLTIP": "Accéder, Créer ou Supprimer les ontologies" + }, + "AUDIT_APP": { + "NAME": "Audits", + "TOOLTIP": "Lancer des audits" + }, + "SECURE_APP": { + "NAME": "Opération de sécurisations", + "TOOLTIP": "Opération de sécurisations" + }, + "DSL_APP": { + "NAME": "Requêtes DSL", + "TOOLTIP": "Rechercher des UA à partir d'une requête DSL personnalisée" + }, + "PROBATIVE_VALUE_APP": { + "NAME": "Relevé de valeur probante", + "TOOLTIP": "Exporter un relevé de valeur probante" + }, + "LOGBOOK_OPERATION_APP": { + "NAME": "Journal des Opérations", + "TOOLTIP": "Consultation des journaux des opérations d'entrées, de bases, d'éliminations" + }, + "API_SUPERVISION_APP": { + "NAME": "Supervision des API", + "TOOLTIP": "Supervision des API" + }, + "ARCHIVE_APP": { + "NAME": "Archives", + "TOOLTIP": "Déposer, rechercher, consulter des documents dans un coffre" + }, + "MANUAL_INGEST_APP": { + "NAME": "Dépôt SIP SEDA", + "TOOLTIP": "Déposer un lot de documents (SIP) au format SEDA dans un flux" + }, + "ARCHIVE_BATCH_INGEST_APP": { + "NAME": "Dépôt par bordereau", + "TOOLTIP": "Déposer un lot de documents" + }, + "MY_ACTIVITY_V2_APP": { + "NAME": "Mon Activité", + "TOOLTIP": "Consulter mes actions et ordres : versements, bordereaux de sorties..." + }, + "MY_OPERATOR_ACTIVITY_APP": { + "NAME": "Mon Activité Opérateur", + "TOOLTIP": "Consulter mes actions concernant les bordereaux de toutes les organisations" + }, + "FILE_INGEST_ITEM_CUSTOMER_SUPERVISION_APP": { + "NAME": "Supervision des versements", + "TOOLTIP": "Superviser les versements dans un coffre" + }, + "ITEM_CUSTOMER_SUPERVISION_APP": { + "NAME": "Supervision des bordereaux", + "TOOLTIP": "Superviser et opérer les actions sur les bordereaux d'un coffre" + }, + "FILE_INGEST_ITEM_ADMIN_SUPERVISION_APP": { + "NAME": "Versements des organisations", + "TOOLTIP": "Superviser les versements de toutes les organisations" + }, + "ITEM_ADMIN_SUPERVISION_APP": { + "NAME": "Bordereaux des organisations", + "TOOLTIP": "Superviser et opérer les actions sur les bordereaux de toutes les organisations" + }, + "INGEST_SUPERVISION_APP": { + "NAME": "Validation des versements", + "TOOLTIP": "Valider ou refuser les versements dans un coffre par les autorités désignées par l'organisation" + }, + "RECORD_MANAGEMENT_APP": { + "NAME": "Référentiel Record Management", + "TOOLTIP": "Paramétrer le référentiel de règles de gestion du cycle de vie des archives pour un coffre" + }, + "ARCHIVE_TYPE_APP": { + "NAME": "Types d'archives", + "TOOLTIP": "Paramétrer les types d'archives" + }, + "TENANT_TREE_APP": { + "NAME": "Coffre", + "TOOLTIP": "Paramétrer les coffres d'une organisation : plan de classement, métadonnées d'indexation, autorités de validation..." + }, + "ARCHIVE_PROFILE_APP": { + "NAME": "Profils APP Archives", + "TOOLTIP": "Paramétrer les profils de droits des utilisateurs pour accéder aux archives dans un coffre et utiliser les fonctions de l'APP Archives (déposer, consulter, télécharger, ...)" + }, + "ADMIN_FLOWS_APP": { + "NAME": "Flux", + "TOOLTIP": "Paramétrer les flux de versement des organisations" + }, + "EXT_ALFRESCO_APP": { + "NAME": "Alfresco", + "TOOLTIP": "Accéder à Alfresco" + }, + "EXT_DOCUWARE_APP": { + "NAME": "Docuware", + "TOOLTIP": "Accéder à Docuware" + }, + "ARCHIVE_ROOM_APP": { + "NAME": "Salles d'archives", + "TOOLTIP": "Gestion des archives physiques" + }, + "BARCODES_APP": { + "NAME": "Etiquettes", + "TOOLTIP": "Gestion des etiquettes" + }, + "PHYSICAL_CUSTOMERS_APP": { + "NAME": "Organisations physiques", + "TOOLTIP": "Paramétrer les organisations physiques" + }, + "ARCHIVE_BATCH_INGEST_PROFILE_APP": { + "NAME": "Profils APP Dépôt par bordereau", + "TOOLTIP": "Paramétrer les profils de droits des utilisateurs pour créer des bordereaux de dépôt" + }, + "REPORTING_APP": { + "NAME": "Rapports", + "TOOLTIP": "Consulter les rapports et les statistiques" + }, + "ITEM_SUPERVISION_PROFILE_APP": { + "NAME": "Profils APP Supervision des bordereaux", + "TOOLTIP": "Paramétrer des profils de supervision pour l’APP de supervision des bordereaux" + }, + "ARCHIVE_SEARCH_MANAGEMENT_APP": { + "NAME": "Recherche et consultation des archives", + "TOOLTIP": "Rechercher et consulter les archives" + }, + "INGEST_MANAGEMENT_APP": { + "NAME": "Dépôt et suivi des versements", + "TOOLTIP": "Consulter des versements ou créer un nouveau versement" + }, + "RULES_APP": { + "NAME": "Règles de gestion", + "TOOLTIP": "Accéder, Créer, Modifier ou Supprimer les règles de gestion" + }, + "FILE_FORMATS_APP": { + "NAME": "Formats de fichiers", + "TOOLTIP": "Accéder, Créer, Modifier ou Supprimer les formats de fichiers" + }, + "HOLDING_FILLING_SCHEME_APP": { + "NAME": "Arbres et Plans", + "TOOLTIP": "Importer un arbre de positionnement ou un plan de classement" + }, + "LOGBOOK_MANAGEMENT_OPERATION_APP": { + "NAME": "Gestion des Opérations", + "TOOLTIP": "Consulter et gérer l'ensemble des opérations qui sont en cours" + }, + "EXTERNAL_PARAM_PROFILE_APP": { + "NAME": "Profil APP Paramétrages externes", + "TOOLTIP": "Paramétrer les profils de droits des utilisateurs pour l'application des paramètres externes" + } + }, + "FOOTER": { + "HELP": "Aide", + "LEGAL_NOTICE": "Mentions légales", + "TECHNICAL_REFERENT": "Référent technique" + }, + "HEADER": { + "LOGOUT": "Déconnexion", + "NAVIGATE_AS": "Activer le mode subrogation", + "MY_ACCOUNT": "Mon compte", + "PROFILE": "Profil" + }, + "MENU": { + "GRAB_APPLICATION": "Saisir le nom de l'application", + "MY_APPLICATIONS": "Mes applications", + "APPLICATION_TITLE": "Applications", + "CUSTOMER_TITLE": "Organisations", + "TENANT_TITLE": "Coffres", + "RESULT": "Résultat(s)", + "settings": "Paramétrage", + "administrators": "Management", + "users": "Utilisateurs", + "referential": "Référentiels", + "opaudit": "Audits et opérations", + "techadmin": "Administration technique", + "ingests": "Suivi des versements", + "lastusedapps": "Dernières utilisées", + "ingest_and_consultation": "Versement & consultation", + "supervision_and_audits": "Supervision & Audits", + "security_and_application_rights": "Sécurité & droits applicatifs", + "organization_and_user_rights": "Organisation & droits utilisateurs" + }, + "MENU_APPLICATION_TILE": { + "ENTER_APPLICATION": "Entrée pour lancer l'application" + }, + "SELECT_TENANT": { + "MY_TENANTS": "Mes coffres", + "SELECTED": "Coffre sélectionné", + "SELECT": "Sélectionner un coffre", + "DIALOG_TITLE": "Bienvenue sur ", + "DIALOG_SUBTITLE": "Le portail des applications de l'archivage", + "DIALOG_INSTRUCTIONS": "Veuillez sélectionner votre coffre par défaut", + "DIALOG_MESSAGE": "Votre coffre par défaut pourra être modifié depuis votre compte", + "DIALOG_BUTTON_LABEL": "Accéder à " + }, + "SELECT_CUSTOMER": { + "SELECTED": "Organisation sélectionnée", + "SELECT": "Sélectionner une organisation" + }, + "SELECT_LANGUAGE": { + "LANGUAGE": "Langue", + "ENGLISH": "Anglais", + "FRENCH": "Français" + }, + "SLIDE_TOGGLE": { + "YES": "OUI", + "NO": "NON" + }, + "LEVEL_INPUT": { + "SUBLEVEL": "Sous niveau" + }, + "PROGRESS_BAR": { + "STEP": "Étape" + }, + "LANGUAGE": { + "FRENCH": "Français", + "ENGLISH": "Anglais", + "GERMAN": "Allemand" + }, + "COUNTRY": { + "FRANCE": "France", + "GERMANY": "Allemagne", + "ITALY": "Italie", + "UNITED_KINGDOM": "Royaume-Uni", + "DENMARK": "Danemark", + "SPAIN": "Espagne", + "BELGIUM": "Belgique", + "PORTUGAL": "Portugal" + }, + "DOWNLOAD": { + "CANCELLED": "Téléchargement annulé", + "CANCEL_ACTION": "Annuler le téléchargement", + "CONFIRM_CANCEL_ACTION": "Êtes-vous sûr de vouloir annuler le téléchargement du fichier ?", + "FILE_COMPRESSION": { + "SINGULAR": "Compression du fichier : 1 élément", + "PLURAL": "Compression du fichier : {{ count }} éléments" + }, + "FILE_COMPRESSION_TOTAL": { + "SINGULAR": "sur {{ total }} (1 élément non téléchargeable)", + "PLURAL": "sur {{ total }} ({{ count }} éléments non téléchargeables)" + }, + "FILE_GENERATION": "Génération du fichier" + }, + "EDITABLE_SELECT": { + "CONFIM_UPDATE": "Êtes-vous sûr de vouloir effectuer cette modification ?" + }, + "EMAILS_INPUT": { + "WRONG_FORMAT": "Format incorrect (nom@domaine.xyz)", + "INVALID_USER": "Utilisateur non valide" + }, + "MULTIPLE_EMAILS_INPUT": { + "PLACEHOLDER": "nom@domaine.xyz", + "ERROR": "Vous devez saisir au moins une adresse email" + }, + "COMMON_SELECT": { + "DEFAULT_LABEL": "(Défaul)" + }, + "SNACKBAR": { + "UPDATED_ACCOUNT": "Les informations ont été mises à jour", + "FINISHED_SUBROGATION": "Le mode subrogation est arrêté", + "ACTIVATED_SUBROGATION": "Le mode subrogation est activé pour {{ duration }} minutes, jusqu'à {{ hours }}h{{ minutes }}. Veuillez ne pas changer d'application.", + "ASK_SUBROGATION": "L'utilisateur {{ user }} demande un accès temporaire à vos droits", + "ACCEPT_SUBROGATION": "Accepter", + "DECLINE_SUBROGATION": "Refuser" + }, + "ERROR_DIALOG": { + "TITLE": "Erreur serveur interne (500)", + "MESSAGE": "Une erreur interne s'est produite. Veuillez contacter un administrateur si le problème persiste." + }, + "EVENT_TYPE_LABEL": { + "AUDIT": "Audit", + "STP_DELETE_MASTERDATA_CONTEXT.WARNING": "Avertissement lors du processus de suppression des contextes applicatifs", + "STP_CORRECTIVE_AUDIT.KO": "Échec de la correction des signatures de chaque unité archivistique ou objet ou groupe d'objets corrompue", + "PRESERVATION_STORAGE_BINARY.FATAL": "Erreur technique lors de l'écriture des objets et des groupes d'objets sur les offres de stockage", + "STP_UNIT_LFC_TRACEABILITY": "Processus de sécurisation des journaux du cycle de vie des unités archivistiques", + "EXPORT_PROBATIVE_VALUE.STARTED": "Début du processus d'export du relevé de valeur probante", + "STP_IMPORT_RULES.EXIST.KO": "Échec du processus d'import du référentiel des règles de gestion : des règles de gestion existent déjà ", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.NOT_FOUND.KO": "Format de l'objet non identifié", + "LFC.OBJ_STORAGE.OBJ_STORAGE_SUB_TASK.OK": "Succès de l'écriture de l'objet sur les offres de stockage", + "PREPARE_STORAGE_INFO.WARNING": "Avertissement lors de la préparation des informations de stockage", + "LFC.CHECK_UNIT_SCHEMA.WARNING": "Avertissement lors de la vérification globale de l'unité archivistique", + "STP_DELETE_SECURITY_PROFILE.STARTED": "Début du processus de suppression du profil de sécurité", + "CHECK_HEADER.CHECK_ARCHIVEPROFILE.OK": "Succès de la vérification de la conformité au profil d'archivage", + "PRESERVATION_STORAGE_METADATA_LFC.OK": "Succès de l'enregistrement des journaux du cycle de vie des groupes d'objets", + "CHECK_UNIT_SCHEMA.RULE_DATE_FORMAT.KO": "Échec du calcul des dates d'échéance : la date ne peut être gérée", + "LFC.CHECK_DIGEST.CALC_CHECK.INVALID.KO": "Échec de la vérification de l'empreinte du fichier", + "BUILD_UNIT_LFC_TRACEABILITY.WARNING": "Avertissement lors de la sécurisation des journaux du cycle de vie des unités archivistiques", + "STP_DELETE_FORMAT.KO": "Échec du processus de suppression du référentiel des formats", + "EVIDENCE_AUDIT_LIST_OBJECT.OK": "Succès de la création de la liste à auditer", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.KO": "Échec de l'audit de la vérification des fichiers du groupe d'objets", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.CONTEXT_UNKNOWN.KO": "Échec du contrôle de la présence du contexte applicatif : le contexte applicatif est inconnu du référentiel des contextes applicatifs", + "LFC.PRESERVATION_INDEXATION_METADATA.PRESERVATION_INDEXATION_METADATA.KO": "Échec de l'indexation des métadonnées du groupe d'objets lors d'une opération de préservation", + "FINALIZE_OG_LFC_TRACEABILITY.FINALIZE_OG_LFC_TRACEABILITY.FATAL": "Erreur technique lors de la finalisation de la sécurisation des journaux du cycle de vie des groupes d'objets", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_INDEXED_HASH.OK": "Succès de la comparaison de l'arbre de MERKLE avec le Hash indexé", + "STP_PREPARE_TRACEABILITY_CHECK.WARNING": "Avertissement lors du processus de préparation de la vérification des journaux sécurisés", + "CHECK_CLASSIFICATION_LEVEL.FATAL": "Erreur technique lors de la vérification du niveau de classification", + "CHECK_UNIT_SCHEMA.INVALID_UNIT.FATAL": "Erreur technique lors de la vérification globale de l'unité archivistique : champs non conformes", + "LFC.CHECK_UNIT_SCHEMA.CONSISTENCY.KO": "La date contenue dans le champ Date de début doit être postérieure à la date contenue dans le champ Date de fin", + "STP_CORRECTIVE_AUDIT.FATAL": "Erreur technique de la correction des signatures de chaque unité archivistique ou objet ou groupe d'objets corrompue", + "STP_EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS.WARNING": "Avertissement lors du processus de création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "LFC.UNITS_RULES_COMPUTE.CONSISTENCY": "Vérification de la cohérence de la règle de gestion par rapport à sa catégorie", + "STP_PREPARATION.FATAL": "Erreur technique lors du processus de lancement de la préparation du traitement de préservation", + "CHECK_DATAOBJECTPACKAGE.CHECK_CONSISTENCY.KO": "Échec de la vérification de la cohérence entre objets, groupes d'objets et unités archivistiques", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.MODIFY_PARENT_EXISTING_UNIT_UNAUTHORIZED.KO": "Le rattachement n'a pas été effectué: impossibilité de rattacher une unité archivistique existante à une unité archivistique parente", + "STP_UPDATE_CONTEXT": "Processus de mise à jour du contexte applicatif", + "CHECK_UNIT_SCHEMA.OK": "Succès de la vérification globale de l'unité archivistique", + "LFC.CHECK_ARCHIVE_UNIT_PROFILE.INVALID_UNIT.KO": "Échec de la vérification de la conformité aux profils d'unité archivistique : champs non conformes", + "LFC.CHECK_MANIFEST_WRONG_ATTACHMENT.OK": "Succès de la vérification des rattachements des unités archivistiques et groupes d'objets", + "LFC.UPDATE_UNIT_RULES.KO": "Échec de la mise à jour des règles de gestion de l'unité archivistique", + "STP_IMPORT_PRESERVATION_SCENARIO.KO": "Échec du processus d'import du référentiel des scénarios de préservation", + "STP_DELETE_MASTERDATA_PROFILE.STARTED.OK": "Succès du début du processus de suppression du référentiel des profils d'archivage (fichier xsd ou rng)", + "STP_INGEST_FINALISATION.ALREADY_EXECUTED": "Action déjà exécutée : Pas de processus de finalistation de l'entrée", + "LOGBOOK_LC_SECURISATION.FATAL": "Erreur technique lors de la sécurisation des journaux du cycle de vie", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.STARTED": "Début du processus de mise à jour du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "PROBATIVE_VALUE_CHECK_MERKLE_TREE.STARTED": "Début de la vérification de l'arbre de MERKLE", + "LFC.CHECK_CLASSIFICATION_LEVEL.STARTED": "Début de la vérification du niveau de classification", + "ELIMINATION_ANALYSIS_FINALIZATION.WARNING": "Avertissement lors de la finalisation de l'analyse de l'élimination des unités archivistiques", + "LFC.UPDATE_UNIT_RULES.OK": "Succès de la mise à jour des règles de gestion de l'unité archivistique", + "STP_OG_CHECK_AND_TRANSFORME.STARTED.OK": "Succès du début du processus de vérification et de traitement des objets et des groupes d'objets", + "STP_UPDATE_ACCESS_CONTRACT.STARTED": "Début du processus de mise à jour du contrat d'accès", + "CHECK_HEADER.CHECK_ARCHIVEPROFILE.STARTED": "Début de la vérification de la conformité au profil d'archivage", + "PRESERVATION_ACTION.STARTED": "Début du lancement du griffon", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_INDEXED_HASH.KO": "Échec de la comparaison de l'arbre de MERKLE avec le Hash indexé", + "RECLASSIFICATION_PREPARATION": "Préparation de la modification d'arborescence des unités archivistiques", + "UPDATE_OBJECT_GROUP.OK": "Succès de la mise à jour du groupe d'objets", + "STP_PUT_BINARY_ON_WORKSPACE.STARTED.OK": "Début du processus de déplacement des objets binaires de l'offre de stockage vers l'espace de travail interne", + "STP_AUDIT.WARNING": "Avertissement lors du processus d'exécution de l'audit", + "STP_PREPARATION.KO": "Échec du processus de lancement de la préparation du traitement de préservation", + "STP_UNIT_STORING.ALREADY_EXECUTED": "Action déjà exécutée : Pas de processus d'écriture des unités archivistiques sur les offres de stockage", + "STP_PROBATIVE_VALUE_CHECK_OBJECT_GROUP.STARTED": "Début du processus de récupération des données dans la base de données", + "SCENARIO_REPORT.STARTED.OK": "Succès du début du processus de génération du rapport d'import du référentiel des scénarios de préservation", + "STP_DELETE_LOGBOOK_OPERATION": "Processus de suppression des journaux d'opérations", + "LFC.CHECK_MANIFEST_LOOP.STARTED.OK": "Succès du début de la vérification de la non-récursivité de l'arborescence", + "STP_DELETE_FORMAT.WARNING": "Avertissement lors du processus de suppression du référentiel des formats", + "LFC.UPDATE_UNIT_RULES.WARNING": "Avertissement lors de la mise à jour des règles de gestion de l'unité archivistique", + "AGENCIES_REPORT.STARTED": "Début du processus de génération du rapport d'import du référentiel des services agents", + "STP_STORAGE_SECURISATION.FATAL": "Erreur technique lors du processus de sécurisation du journal des écritures", + "STP_DELETE_FORMAT.OK": "Succès du processus de suppression du référentiel des formats", + "PRESERVATION_PREPARATION.FATAL": "Erreur technique lors de la préparation du traitement de préservation", + "STP_BACKUP_SECURITY_PROFILE.WARNING": "Avertissement lors du processus de sauvegarde des profils de sécurité", + "RECLASSIFICATION_FINALIZATION.STARTED": "Début de la finalisation de la modification d'arborescence des unités archivistiques", + "ACCESSION_REGISTRATION.ALREADY_EXECUTED": "Action déjà exécutée : Pas d'alimentation du Registre des Fonds", + "STP_ELIMINATION_ACTION_DETACH_OBJECT_GROUP": "Processus de détachement des groupes d'objets techniques dont certaines unités archivistiques parentes sont éliminées", + "STP_EVIDENCE_AUDIT_CHECK_DATABASE.WARNING": "Avertissement lors du processus de la récupération des données dans la base de donnée", + "CHECK_SEDA.CONTAINER_FORMAT.DIRECTORY.KO": "Échec de la vérification globale du SIP : Le SIP contient plus d'un dossier ou un dossier dont le nommage est invalide", + "STP_UPDATE.STARTED.OK": "Succès du début du processus de mise à jour des unités archivistiques", + "STP_DELETE_METADATA_UNIT.OK": "Succès du processus de suppression des métadonnées des unités archivistiques", + "STP_CORRECTIVE_AUDIT.OK": "Succès de la correction des signatures de chaque unité archivistique ou objet ou groupe d'objets corrompue", + "STP_CREATE_MANIFEST.STARTED": "Début du processus de création du bordereau de mise à disposition", + "STP_SANITY_CHECK_SIP.OK": "Succès du processus des contrôles préalables à l'entrée", + "STP_DELETE_ACCESSION_REGISTER_DETAIL.KO": "Échec du processus de suppression du Registre des Fonds (Détails)", + "CHECK_HEADER.CHECK_ARCHIVEPROFILE.STARTED.OK": "Succès du début de la vérification de la conformité au profil d'archivage", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_INDEXED_HASH.STARTED": "Début de la comparaison de l'arbre de MERKLE avec le Hash indexé", + "STP_BACKUP_INGEST_CONTRACT.FATAL": "Erreur technique lors du processus de sauvegarde des contrats d'entrée", + "LFC.LFC_CREATION.STARTED.OK": "Succès du début de l'alimentation du journal du cycle de vie", + "PRESERVATION_ACCESSION_REGISTRATION": "Alimentation du Registre des Fonds", + "CHECK_HEADER.CHECK_ARCHIVEPROFILE.KO": "Échec de la vérification de la conformité au profil d'archivage", + "STP_DELETE_MASTERDATA_ONTOLOGY.WARNING": "Avertissement lors du processus de suppression du référentiel des ontologies", + "STP_ELIMINATION_ANALYSIS_FINALIZATION.STARTED": "Début du processus de finalisation de l'analyse de l'élimination des unités archivistiques", + "LFC.UNITS_RULES_COMPUTE.DATE_THRESHOLD.STARTED": "Début de la vérification de la validité des dates d'application des règles de gestion", + "STP_DELETE_MASTERDATA_ACCESS_CONTRACT.STARTED.OK": "Succès du début du processus de suppression des contrats d'accès", + "CHECK_CONTAINER.FATAL": "Erreur technique lors du contrôle du format du conteneur du SIP", + "LFC.UNITS_RULES_COMPUTE.DATE_THRESHOLD": "Vérification de la validité des dates d'application des règles de gestion", + "STP_MASS_UPDATE_FINALIZE": "Processus de génération du rapport de mise à jour des métadonnées descriptives des unités archivistiques", + "STP_PREPARE_AUDIT.WARNING": "Avertissement lors du processus de préparation de l'audit", + "STP_ELIMINATION_ACTION_REPORT_GENERATION.OK": "Succès du processus de génération du rapport d'élimination définitive des unités archivistiques", + "VERIFY_TIMESTAMP.VALIDATE_TOKEN_TIMESTAMP.KO": "Échec de la validation du tampon d'horodatage", + "EXTERNAL_LOGBOOK.OK": "Succès de la journalisation d'événements externes", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_DATAOBJECT_VERSION.EMPTY_REQUIRED_FIELD.KO": "Il existe au moins un champ non renseigné dont la valeur est obligatoire", + "STP_IMPORT_RULES_BACKUP_CSV.KO": "Échec du processus d'enregistrement du fichier d'import du référentiel des règles de gestion", + "SANITY_CHECK_SIP.STARTED": "Début du contrôle sanitaire du SIP", + "UNIT_GRAPH_COMPUTE.STARTED.OK": "Succès du début de la mise à jour des graphes des unités archivistiques", + "STP_BACKUP_ACCESS_CONTRACT.OK": "Succès du processus de sauvegarde des contrats d'accès", + "LOGBOOK_UNIT_LFC_TRACEABILITY": "Sécurisation des journaux du cycle de vie des unités archivistiques", + "LFC.OG_CREATE_SECURED_FILE.WARNING": "Avertissement lors de la création de fichiers sécurisés du groupe d'objets", + "CHECK_DATAOBJECTPACKAGE.CHECK_CONSISTENCY.OK": "Succès de la vérification de la cohérence entre objets, groupes d'objets et unités archivistiques", + "PREPARE_TRACEABILITY_CHECK.STARTED": "Début de la vérification des journaux sécurisés", + "STP_IMPORT_PROFILE_FILE.FATAL": "Erreur technique lors du processus d'import du profil d'archivage (fichier xsd ou rng)", + "UPDATE_RULES_ARCHIVE_UNITS.STARTED": "Début de la mise à jour des unités archivistiques", + "CHECK_UNIT_SCHEMA.KO": "Échec de la vérification globale de l'unité archivistique", + "ELIMINATION.FATAL": "Erreur technique lors de l'élimination des unités archivistiques", + "FINALIZE_OG_LFC_TRACEABILITY.WARNING": "Avertissement lors de la finalisation de la sécurisation des journaux du cycle de vie des groupes d'objets", + "IMPORT_AGENCIES.DELETION.KO": "Échec du processus d'import du référentiel des services agents : des services agents supprimés sont référencés par des unités archivistiques déjà présentes dans le système", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_SAVED_HASH.WARNING": "Avertissement lors de la comparaison de l'arbre de MERKLE avec le Hash enregistré", + "STP_IMPORT_PRESERVATION_SCENARIO.OK": "Succès du processus d'import du référentiel des scénarios de préservation", + "ELIMINATION_ACTION_FINALIZATION.FATAL": "Erreur technique lors de la finalisation de l'élimination définitive des unités archivistiques", + "ELIMINATION_ACTION_DELETE_UNIT.STARTED.OK": "Succès du début de l'élimination définitive des unités archivistiques éliminables", + "LFC.UNIT_METADATA_UPDATE_CHECK_RULES.STARTED": "Début de la vérification de la mise à jour des règles de gestion de l'unité archivistique", + "MASS_UPDATE_UNIT_DESC.STARTED.OK": "Succès du début du processus de mise à jour en masse des métadonnées descriptives des unités archivistiques", + "STP_IMPORT_INGEST_CONTRACT": "Processus d'import du contrat d'entrée", + "REPORT_AUDIT": "Notification de la fin de l'audit", + "PRESERVATION_BINARY_HASH": "Calcul d'une empreinte en SHA-512", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.PHYSICAL_OBJECT": "Audit de la vérification des objets physiques du groupe d'objets", + "PROBATIVE_VALUE_LIST_OBJECT": "Création de la liste des objets du relevé de valeur probante", + "STP_EVIDENCE_AUDIT_EXTRACT_ZIP_FILE.KO": "Échec du processus d'extraction des signatures à partir des fichiers sécurisés", + "STP_IMPORT_PROFILE_JSON.IDENTIFIER_DUPLICATION.KO": "Échec du processus d'import du profil d'archivage : l'identifiant est déjà utilisé", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.NOT_FOUND_ATTACHMENT.KO": "Le rattachement n'a pas été effectué: l'élément de rattachement n'existe pas dans le système", + "STP_UPDATE_SECURITY_PROFILE.FATAL": "Erreur technique lors du processus de mise à jour du profil de sécurité", + "PROBATIVE_VALUE_CHECK_OBJECT_GROUP": "Récupération des données dans la base de données", + "STP_DELETE_FORMAT.STARTED.OK": "Succès du début du processus de suppression du référentiel des formats", + "EXPORT_DIP.OK": "Succès du processus de l'export du DIP", + "STP_OG_LFC_TRACEABILITY.FATAL": "Erreur technique lors de la sécurisation des journaux du cycle de vie des groupes d'objets", + "STP_BACKUP_REFERENTIAL_FORMAT.STARTED": "Début du processus de sauvegarde du référentiel des formats", + "LFC.UPDATE_OBJECT_GROUP.STARTED": "Début de la mise à jour du groupe d'objets", + "CHECK_SEDA.FATAL": "Erreur technique lors de la vérification globale du SIP", + "CORRECTION_FINALIZE.STARTED": "Début du processus de finalisation des corrections des signatures pour chaque objet, groupe d'objets ou unité auditée défaillante", + "LFC.CHECK_CLASSIFICATION_LEVEL.OK": "Succès de la vérification du niveau de classification", + "LFC.PRESERVATION_INDEXATION_METADATA.WARNING": "Avertissement lors de l'indexation des métadonnées du groupe d'objets", + "CHECK_SEDA.ALREADY_EXECUTED": "Action déjà exécutée : Pas de vérification globale du SIP", + "UPDATE_ONTOLOGY.KO": "Échec du processus de mise à jour de l'ontologie", + "LFC.LFC_CREATION": "Alimentation du journal du cycle de vie", + "STP_DELETE_ACCESSION_REGISTER_DETAIL.OK": "Succès du processus de suppression du Registre des Fonds (Détails)", + "STP_UPDATE.STARTED": "Début du processus de traitement de mise à jour des unités archivistiques", + "LFC.CHECK_UNIT_SCHEMA.RULE_DATE_FORMAT.STARTED": "Début de la vérification de la cohérence de la date déclarée dans les règles de gestion", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_OBJECTNUMBER.STARTED.OK": "Succès du début de la vérification du nombre d'objets", + "LFC.CHECK_MANIFEST.CHECK_MANIFEST_WRONG_ATTACHMENT_LINK": "Vérification de la cohérence du bordereau de transfert", + "COMMIT_RULES.OK": "Succès de la persistance des données en base", + "FINALIZE_OG_LFC_TRACEABILITY.OP_SECURISATION_STORAGE.OK": "Succès du stockage des journaux du cycle de vie des groupes d'objets", + "CHECK_AGENT.EMPTY_REQUIRED_FIELD.KO": "Échec de la vérification de la présence des services agents", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.CHECK_MANIFEST_WRONG_ATTACHMENT.KO": "Le bordereau de transfert procède à un rattachement en utilisant des éléments inexistants dans le système", + "VERIFY_TIMESTAMP.COMPARE_TOKEN_TIMESTAMP.OK": "Succès de la comparaison des tampons d'horodatage", + "IMPORT_PRESERVATION_SCENARIO.STARTED": "Début du processus d'import du référentiel des scénarios de préservation", + "LFC.CHECK_MANIFEST_WRONG_ATTACHMENT.FATAL": "Erreur technique lors de la vérification des rattachements des unités archivistiques et groupes d'objets", + "TRACEABILITY.KO": "Échec de l'opération de sécurisation", + "CHECK_DATAOBJECTPACKAGE.MANIFEST_SUPERIOR_BDO.KO": "Le bordereau de transfert déclare plus d'objets binaires qu'il n'en existe dans le répertoire Content du SIP", + "STP_BACKUP_REFERENTIAL_FORMAT.KO": "Échec du processus de sauvegarde du référentiel des formats", + "LFC.PRESERVATION_BINARY_HASH.STARTED": "Début du calcul d'une empreinte en SHA-512", + "STP_VERIFY_STAMP.FATAL": "Erreur technique lors du processus de vérification de l'horodatage", + "CHECK_SEDA.NOT_XSD_VALID.FATAL": "Erreur technique lors de la vérification globale du SIP", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_DATAOBJECT_VERSION.INVALID_DATAOBJECTVERSION.KO": "Au moins un objet déclare un usage incorrect. L'usage doit s'écrire sous la forme [usage] ou [usage]_[version]. \"Usage\" doit être parmi l'énumération DataObjectVersion définie pour Vitam : \"version\" doit être un entier positif", + "ELIMINATION_ACTION_DELETE_OBJECT_GROUP.STARTED.OK": "Succès du début de l'élimination définitive des groupes d'objets techniques dont les unités archivistiques parentes sont éliminées", + "STP_IMPORT_PRESERVATION_SCENARIO.STARTED": "Début du processus d'import du référentiel des scénarios de préservation", + "IMPORT_AGENCIES_BACKUP_CSV.KO": "Échec du processus de sauvegarde du fichier d'import du référentiel des services agents", + "LFC.UNITS_RULES_COMPUTE.DATE_THRESHOLD.OK": "Succès de la vérification de la validité des dates d'application des règles de gestion", + "OG_METADATA_STORAGE.KO": "Échec de l'écriture des métadonnées des objets et groupes d'objets sur l'offre de stockage", + "OP_PROFILE_STORAGE": "Enregistrement du profil d'archivage", + "ELIMINATION_ANALYSIS_UNIT_INDEXATION.STARTED": "Début de l'indexation de l'analyse d'élimination des unités archivistiques", + "STP_EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS.KO": "Échec du processus de création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "CHECK_DATAOBJECTPACKAGE.NULL_LINK_PARENT_ID_ATTACHMENT.KO": "Le rattachement n'a pas été effectué: le contrat d'entrée ne déclare pas de nœud de rattachement", + "CHECK_RULES.STARTED": "Début du contrôle de la conformité du fichier des règles de gestion", + "STP_BACKUP_ACCESS_CONTRACT.KO": "Échec du processus de sauvegarde des contrats d'accès", + "ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.WARNING": "Avertissement lors de la préparation du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "STP_INGEST_CONTROL_SIP.WARNING": "Avertissement lors du processus du contrôle du SIP", + "MANIFEST_FILE_NAME_CHECK.STARTED": "Début du contrôle du nom du bordereau de transfert", + "LFC.OG_METADATA_STORAGE": "Écriture des métadonnées du groupe d'objets sur les offres de stockage", + "STP_DELETE_MASTERDATA_INGEST_CONTRACT.STARTED.OK": "Succès du début du processus de suppression des contrats d'entrée", + "STORAGE_SECURISATION_TIMESTAMP.WARNING": "Avertissement lors de la création du tampon d'horodatage de l'ensemble des journaux d'écriture", + "IMPORT_AGENCIES.STARTED.OK": "Succès du début du processus d'import du référentiel des services agents", + "CHECK_UNIT_SCHEMA.INVALID_UNIT": "Vérification globale de l'unité archivistique : vérification de la conformité des champs", + "STP_IMPORT_RULES_BACKUP_CSV.OK": "Succès du processus d'enregistrement du fichier d'import du référentiel des règles de gestion", + "EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS.FATAL": "Erreur technique lors de la création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "EVIDENCE_AUDIT_FINALIZE": "Création du rapport de l'audit de cohérence", + "RECTIFICATION_AUDIT.OK": "Succès du processus d'audit correctif modifié", + "STP_DELETE_METADATA_UNIT.KO": "Échec du processus de suppression des métadonnées des unités archivistiques", + "STP_ELIMINATION_ACTION_FINALIZATION.STARTED": "Début du processus de finalisation de l'élimination définitive des unités archivistiques", + "OG_METADATA_STORAGE": "Écriture des métadonnées des objets et groupes d'objets sur l'offre de stockage", + "LFC.UNITS_RULES_COMPUTE.CONSISTENCY.KO": "Échec de la vérification de la cohérence de la règle de gestion par rapport à sa catégorie : Une règle déclarée est incohérente par rapport à sa catégorie", + "ELIMINATION_ACTION_REPORT_GENERATION.STARTED": "Début de la de génération du rapport d'élimination définitive des unités archivistiques", + "BUILD_OG_LFC_TRACEABILITY.FATAL": "Erreur technique lors de la sécurisation des journaux du cycle de vie des groupes d'objets", + "ELIMINATION.KO": "Échec de l'élimination des unités archivistiques", + "UNIT_DETACHMENT.STARTED": "Début du détachement des unités archivistiques", + "UNIT_METADATA_UPDATE_CHECK_DT.STARTED": "Début de la vérification de l'association à un profil d'unité archivistique", + "STP_DELETE_MASTERDATA_ARCHIVE_UNIT_PROFILE.WARNING": "Avertissement lors du processus de suppression du référentiel des profils d'unité archivistique", + "STP_OBJECT_GROUP_GRAPH_COMPUTE.FATAL": "Erreur technique lors du processus de mise à jour des graphes des groupes d'objets", + "PRESERVATION.KO": "Échec du processus global de préservation", + "EXPORT_DIP.KO": "Échec du processus de l'export du DIP", + "UNIT_ATTACHMENT.STARTED": "Début du rattachement des unités archivistiques", + "LFC.UNITS_RULES_COMPUTE.UNKNOWN.OK": "Succès de la vérification de l'échéance des règles de gestion", + "MANIFEST_FILE_NAME_CHECK.FATAL": "Erreur technique lors du contrôle du nom du bordereau de transfert", + "IMPORT_AGENCIES.USED_AU.WARNING": "Avertissement lors du processus de vérification des services agents référencés par les unités archivistiques", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.REFERENTIAL_ERROR.FATAL": "Erreur technique lors de la recherche du format de l'objet dans le référentiel des formats", + "STP_MASS_UPDATE_FINALIZE.KO": "Échec du processus de génération du rapport de mise à jour des métadonnées descriptives des unités archivistiques", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.OK": "Succès du processus de préparation du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "PUT_BINARY_ON_WORKSPACE.STARTED": "Début du déplacement des objets binaires de l'offre de stockage vers l'espace de travail interne", + "STORAGE_AVAILABILITY_CHECK.STORAGE_AVAILABILITY_CHECK.STORAGE_OFFER_SPACE_KO.KO": "Disponibilité de l'offre de stockage insuffisante", + "STP_MIGRATION_UNITS.FATAL": "Erreur technique lors du processus de préparation de la migration des unités archivistiques", + "LFC.AUDIT_CHECK_OBJECT": "Audit de la vérification des objets", + "MIGRATION_UNITS_LIST.WARNING": "Avertissement lors de la distribution des unités archivistiques", + "STP_EVIDENCE_AUDIT_EXTRACT_ZIP_FILE.OK": "Succès du processus d'extraction des signatures à partir des fichiers sécurisés", + "STP_DELETE_MASTERDATA_GRIFFIN.KO": "Échec du processus de suppression du référentiel des griffons", + "LFC.CHECK_CLASSIFICATION_LEVEL.KO": "Échec de la vérification du niveau de classification : non autorisé par la plateforme", + "PRESERVATION_FINALIZATION.KO": "Échec de la finalisation du traitement de préservation", + "STP_DELETE_MASTERDATA_PRESERVATION_SCENARIO.WARNING": "Avertissement lors du processus de suppression du référentiel des scénarios de préservation", + "OP_SECURISATION_TIMESTAMP.KO": "Échec de la création du tampon d'horodatage de l'ensemble des journaux", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_INTEGRITY.STARTED": "Début de l'audit de l'existence et de l'intégrité des objets", + "OG_METADATA_STORAGE.OK": "Succès de l'écriture des métadonnées des objets et groupes d'objets sur l'offre de stockage", + "BACKUP_AGENCIES.STARTED": "Début du processus de sauvegarde du référentiel des services agents", + "STP_OBJ_STORING.ALREADY_EXECUTED": "Action déjà exécutée : Pas de processus d'écriture et d'indexation des objets sur les offres de stockage", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.CONTRACT_NOT_IN_MANIFEST.KO": "Échec de la vérification de la présence du contrat d'entrée : le champ Archival Agreement est absent du bordereau de transfert", + "ELIMINATION_ACTION_REPORT_GENERATION": "Génération du rapport d'élimination définitive des unités archivistiques", + "MIGRATION_OBJECT_GROUPS_LIST.KO": "Échec de la distribution des groupes d'objets", + "FINALIZE_OG_LFC_TRACEABILITY.OP_SECURISATION_STORAGE": "Stockage des journaux du cycle de vie des groupes d'objets", + "STP_ACCESSION_REGISTRATION.STARTED.OK": "Succès du début du processus d'alimentation du Registre des Fonds", + "LFC.CHECK_DIGEST.STARTED": "Début de la vérification de l'intégrité des objets versés", + "STP_DELETE_ALL": "Processus de suppression de toutes les données en base", + "RECTIFICATION_AUDIT.WARNING": "Avertissement lors du processus d'audit correctif modifié", + "IMPORT_AGENCIES_BACKUP_CSV.OK": "Succès du processus de sauvegarde du fichier d'import du référentiel des services agents", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.PHYSICAL_OBJECT.FATAL": "Erreur technique lors de l'audit de la vérification des objets physiques du groupe d'objets", + "CHECK_LOGBOOK_OP_SECURISATION": "Vérification des journaux sécurisés", + "RECLASSIFICATION": "Modification d'arborescence des unités archivistiques", + "FINALIZE_OG_LFC_TRACEABILITY.OP_SECURISATION_STORAGE.KO": "Échec du stockage des journaux du cycle de vie des groupes d'objets", + "STP_IMPORT_PROFILE_FILE.WARNING": "Avertissement lors du processus d'import du profil d'archivage (fichier xsd ou rng)", + "UPDATE_RUNNING_INGESTS": "Mise à jour des entrées en cours", + "LFC.CHECK_CONSISTENCY.WARNING": "Avertissement lors de la vérification de la cohérence entre objets, groupes d'objets et unités archivistiques : ce groupe d'objet ou un de ses objets n'est référencé par aucunes unités archivistiques", + "PROCESS_SIP_UNITARY.FATAL": "Erreur technique lors du processus d'entrée du SIP", + "STORAGE_AVAILABILITY_CHECK.STORAGE_AVAILABILITY_CHECK.KO": "Échec de la vérification de la disponibilité de l'offre de stockage", + "CHECK_ARCHIVE_UNIT_PROFILE.PROFILE_NOT_FOUND.KO": "Échec de la vérification de la conformité aux profils d'unité archivistique : profil d'unité archivistique non trouvé", + "STP_MERKLE_TREE.KO": "Échec du processus de vérification de l'arbre de MERKLE", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.CONTRACT_NOT_IN_MANIFEST": "Échec de la vérification de la présence et contrôle du contrat d'entrée: le champ ArchivalAgreement est absent du bordereau de transfert", + "LFC.PRESERVATION_STORAGE_BINARY.KO": "Échec de l'écriture des objets sur les offres de stockage", + "STP_PROBATIVE_VALUE_CHECK_OBJECT_GROUP.FATAL": "Erreur technique lors du processus de récupération des données dans la base de données", + "PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD.KO": "Échec de la préparation de la liste des signatures dans les fichiers sécurisés", + "STP_BACKUP_REFERENTIAL_FORMAT.OK": "Succès du processus de sauvegarde du référentiel des formats", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.OK": "Succès de l'audit de la vérification des fichiers du groupe d'objets", + "UPDATE_UNIT_RULES_CONSISTENCY.FATAL": "Erreur technique lors de la vérification de cohérence des actions lors de la mise à jour des métadonnées descriptives et de gestion des unités archivistiques", + "HOLDINGSCHEME": "Import de l'arbre de positionnement", + "COMMIT_RULES": "Persistance des données en base", + "STP_IMPORT_CONTEXT.STARTED.OK": "Succès du début du processus d'import du contexte applicatif", + "PRESERVATION_STORAGE_METADATA_LFC.KO": "Échec de l'enregistrement des journaux du cycle de vie des groupes d'objets", + "BACKUP_ONTOLOGY.WARNING": "Avertissement lors du processus de sauvegarde des ontologies", + "LFC.OLD_CHECK_DIGEST.FATAL": "Erreur technique lors de la vérification de l'empreinte", + "LFC.PRESERVATION_STORAGE_BINARY.OBJECT_STORAGE_TASK.WARNING": "Avertissement lors de l'écriture des objets sur les offres de stockage", + "PRESERVATION_FINALIZATION.OK": "Succès de la finalisation du traitement de préservation", + "STP_DELETE_LOGBOOK_LIFECYCLE_UNIT.STARTED": "Début du processus de suppression des journaux du cycle de vie des unités archivistiques", + "CHECK_HEADER.FATAL": "Erreur technique lors de la vérification générale du bordereau de transfert", + "STP_MIGRATION_OBJECT_GROUPS_PREPARE.KO": "Échec du processus de préparation de la migration des groupes d'objets", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_INTEGRITY.STARTED": "Début de l'audit de la vérification des fichiers du groupe d'objets", + "IMPORT_ARCHIVEUNITPROFILE.EMPTY_REQUIRED_FIELD.KO": "Échec du processus d'import du profil d'unité archivistique: au moins un des champs obligatoires n'est pas renseigné", + "STP_IMPORT_RULES.STARTED": "Début du processus d'import du référentiel des règles de gestion", + "PRESERVATION_SIEGFRIED_IDENTIFICATION": "Vérification du format", + "EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD.FATAL": "Erreur technique lors de la préparation de la liste des signatures dans les fichiers sécurisés", + "LFC.UNIT_METADATA_UPDATE.STARTED.OK": "Succès du début de la mise à jour des métadonnées de l'unité archivistique", + "LFC.PRESERVATION_BINARY_HASH.PRESERVATION_BINARY_HASH.INVALID.KO": "Échec de la vérification de l'empreinte du fichier", + "LFC.PRESERVATION_INDEXATION_METADATA.PRESERVATION_INDEXATION_METADATA.OK": "Succès de l'indexation des métadonnées du groupe d'objets lors d'une opération de préservation", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_OBJECTNUMBER.FATAL": "Erreur technique lors de la vérification du nombre d'objets", + "IMPORT_ONTOLOGY.STARTED.OK": "Succès du début du processus d'import de l'ontologie", + "BACKUP_PROFILE.OK": "Succès du processus de sauvegarde des profils d'archivage", + "LFC.UNITS_RULES_COMPUTE.CONSISTENCY.OK": "Succès de la vérification de la cohérence de la règle de gestion par rapport à sa catégorie", + "LFC.CHECK_MANIFEST_WRONG_ATTACHMENT.KO": "Échec de la vérification des rattachements des unités archivistiques et groupes d'objets : l'élément déclaré ne permet pas de faire un rattachement", + "LFC.OBJ_STORAGE.OBJ_STORAGE_SUB_TASK.KO": "Échec de l'écriture de l'objet sur les offres de stockage", + "STP_DELETE_LOGBOOK_OPERATION.WARNING": "Avertissement lors du processus de suppression des journaux d'opérations", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FATAL": "Erreur fatale lors de l'identification du format", + "PRESERVATION_SIEGFRIED_IDENTIFICATION.WARNING": "Avertissement lors de la vérification du format", + "RECTIFICATION_AUDIT.KO": "Échec du processus d'audit correctif modifié", + "STP_DELETE_MASTERDATA_PROFILE.WARNING": "Avertissement lors du processus de suppression du référentiel des profils d'archivage (fichier xsd ou rng)", + "STP_BACKUP_GRIFFIN.KO": "Échec du processus de sauvegarde des griffons", + "IMPORT_PRESERVATION_SCENARIO.STARTED.OK": "Succès du début du processus d'import du référentiel des scénarios de préservation", + "STP_DELETE_MASTERDATA_AGENCIES.STARTED": "Début du processus de suppression du référentiel des services agents", + "BACKUP_PROFILE.KO": "Échec du processus de sauvegarde des profils d'archivage", + "STP_PROBATIVE_VALUE_EXTRACT_ZIP_FILE.WARNING": "Avertissement lors du processus d'extraction des signatures à partir des fichiers sécurisés", + "STP_UPDATE_ACCESS_CONTRACT.STARTED.OK": "Succès du début du processus de mise à jour du contrat d'accès", + "UNIT_GRAPH_COMPUTE.WARNING": "Avertissement lors de la mise à jour des graphes des unités archivistiques", + "STP_UPDATE_ACCESS_CONTRACT": "Processus de mise à jour du contrat d'accès", + "CHECK_HEADER.CHECK_CONTRACT_INGEST": "Vérification de la présence et du contrôle du contrat d'entrée", + "STP_DELETE_MASTERDATA_GRIFFIN.OK": "Succès du processus de suppression du référentiel des griffons", + "STP_UPDATE_RUNNING_INGESTS.FATAL": "Erreur technique lors du processus de mise à jour des entrées en cours", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.KO": "Échec du processus de préparation du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "STP_UNIT_DETACHMENT.STARTED.OK": "Succès du début du processus de détachement des unités archivistiques", + "PRESERVATION.OK": "Succès du processus global de préservation", + "CTR_SCHEMA.FATAL": "Erreur technique lors du processus de contrôle du schéma JSON", + "STP_UNIT_STORING": "Processus d'écriture des unités archivistiques sur les offres de stockage", + "PREPARE_UPDATE_UNIT_LIST.WARNING": "Avertissement lors de la préparation de la liste des unités archivistiques à mettre à jour", + "MIGRATION_OBJECT_GROUPS_LIST.OK": "Succès de la distribution des groupes d'objets", + "LFC.CHECK_MANIFEST_WRONG_ATTACHMENT": "Vérification des rattachements des unités archivistiques et groupes d'objets", + "LFC.UNITS_RULES_COMPUTE.DATE_THRESHOLD.KO": "Échec de la vérification de la validité des dates d'application des règles de gestion : la date ne peut être gérée", + "STP_UPDATE_UNIT.STARTED.OK": "Succès du début du processus de mise à jour des métadonnées de l'unité archivistique", + "STP_STORAGE_SECURISATION": "Processus de sécurisation du journal des écritures", + "STP_DELETE_MASTERDATA_ACCESS_CONTRACT.STARTED": "Début du processus de suppression des contrats d'accès", + "ELIMINATION_ANALYSIS_PREPARATION": "Préparation de l'analyse de l'élimination des unités archivistiques", + "STP_EVIDENCE_AUDIT_FINALIZE.WARNING": "Avertissement lors du processus de création du rapport de l'audit de cohérence", + "STP_UPDATE_CONTEXT.OK": "Succès du processus de mise à jour du contexte applicatif", + "EVIDENCE_AUDIT_FINALIZE.STARTED": "Début de la création du rapport de l'audit de cohérence", + "CHECK_DATAOBJECTPACKAGE.MODIFY_PARENT_EXISTING_UNIT_UNAUTHORIZED.KO": "Le rattachement n'a pas été effectué: impossibilité de rattacher une unité archivistique existante à une unité archivistique parente", + "PREPARE_UNIT_LFC_TRACEABILITY.WARNING": "Avertissement lors de la préparation des journaux du cycle de vie et des métadonnées des unités archivistiques", + "EXPORT_PROBATIVE_VALUE_OBJECT.FATAL": "Une Erreur technique est survenue lors de la création de la liste des objets du relevé de valeur probante", + "STP_MERKLE_TREE.OK": "Succès du processus de vérification de l'arbre de MERKLE", + "PREPARE_STORAGE_INFO.ALREADY_EXECUTED": "Action déjà exécutée : Pas de préparation des informations de stockage", + "ELIMINATION_ANALYSIS_PREPARATION.STARTED.OK": "Succès du début de la préparation de l'analyse de l'élimination des unités archivistiques", + "LFC.PRESERVATION_STORAGE_BINARY.OK": "Succès de l'écriture des objets sur les offres de stockage", + "CHECK_FILE_FORMAT.STARTED": "Début de la vérification des formats des objets et groupe d'objets", + "UPDATE_RULES_ARCHIVE_UNITS.FATAL": "Erreur technique lors de la mise à jour des unités archivistiques", + "STP_BACKUP_ACCESS_CONTRACT.STARTED": "Début du processus de sauvegarde des contrats d'accès", + "STP_DELETE_METADATA_UNIT.FATAL": "Erreur technique lors du processus de suppression des métadonnées des unités archivistiques", + "PROBATIVE_VALUE_PREPARE_GENERATE_REPORTS": "Processus de création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "ELIMINATION_ACTION.OK": "Succès de l'élimination définitive des unités archivistiques", + "HOLDINGSCHEME.KO": "Échec de l'import de l'arbre de positionnement", + "RECLASSIFICATION_PREPARATION_UPDATE_DISTRIBUTION.FATAL": "Erreur technique lors de la préparation de la mise à jour du graphe au moment de la modification d'arborescence des unités archivistiques", + "OG_METADATA_INDEXATION.ALREADY_EXECUTED": "Action déjà exécutée : Pas d'indexation des métadonnées des objets et des groupes d'objets", + "FINALIZE_OG_LFC_TRACEABILITY": "Finalisation de la sécurisation des journaux du cycle de vie des groupes d'objets", + "IMPORT_ARCHIVEUNITPROFILE.STARTED.OK": "Succès du début du processus d'import du profil d'unité archivistique", + "STP_OG_STORING.WARNING": "Avertissement lors du processus d'écriture des métadonnées des groupes d'objets sur les offres de stockage", + "STP_IMPORT_PRESERVATION_SCENARIO.FATAL": "Erreur technique lors du processus d'import du référentiel des scénarios de préservation", + "CHECK_SEDA.CONTAINER_FORMAT.FILE.WARNING": "Avertissement lors de la vérification globale du SIP", + "CORRECTION_FINALIZE": "Processus de finalisation des corrections des signatures pour chaque objet, groupe d'objets ou unité auditée défaillante", + "STP_ELIMINATION_ACTION_FINALIZATION.OK": "Succès du processus de finalisation de l'élimination définitive des unités archivistiques", + "LFC.OBJ_STORAGE.OBJECT_STORAGE_SUB_TASK": "Écriture de l'objet sur les offres de stockage", + "PRESERVATION_FINALIZATION.STARTED.OK": "Succès du début de la finalisation du traitement de préservation", + "STP_PERSONAL_CERTIFICATE_CHECK": "Processus de vérification du certificat personnel", + "STP_ELIMINATION_ACTION_FINALIZATION.FATAL": "Erreur technique lors du processus de finalisation de l'élimination définitive des unités archivistiques", + "PROCESS_SIP_UNITARY.WARNING": "Avertissement lors du processus d'entrée du SIP", + "OP_SECURISATION_STORAGE.WARNING": "Avertissement lors de l'enregistrement des journaux sur les offres de stockage", + "STP_PUT_BINARY_ON_WORKSPACE.KO": "Échec du processus de déplacement des objets binaires de l'offre de stockage vers l'espace de travail interne", + "STP_MIGRATION_OBJECT_GROUPS_PREPARE.OK": "Succès du processus de préparation de la migration des groupes d'objets", + "STP_IMPORT_GRIFFIN.FATAL": "Erreur technique lors du processus d'import du référentiel des griffons", + "LFC.CHECK_UNIT_SCHEMA.RULE_DATE_FORMAT.KO": "Échec de la vérification de la cohérence de la date déclarée dans les règles de gestion : la date ne peut être gérée", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_INDEXED_HASH": "Comparaison de l'arbre de MERKLE avec le Hash indexé", + "STP_PREPARE_TRACEABILITY_CHECK.OK": "Succès du processus de préparation de la vérification des journaux sécurisés", + "STP_IMPORT_GRIFFIN.WARNING": "Avertissement lors du processus d'import du référentiel des griffons", + "OG_METADATA_STORAGE.FATAL": "Erreur technique lors de l'écriture des métadonnées des objets et groupes d'objets sur l'offre de stockage", + "STP_PROBATIVE_VALUE_PREPARE_GENERATE_REPORTS.STARTED": "Début du processus de création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "GRIFFIN_REPORT.OK": "Succès de la génération du rapport d'import du référentiel des griffons", + "COMMIT_LIFE_CYCLE_OBJECT_GROUP": "Enregistrement des journaux du cycle de vie des groupes d'objets", + "STP_UPDATE_OBJECT_GROUP": "Processus de mise à jour du groupe d'objets", + "ELIMINATION_ACTION_CHECK_DISTRIBUTION_THRESHOLD.STARTED": "Début de vérification des seuils de l'élimination définitive des unités archivistiques", + "LFC.UNITS_RULES_COMPUTE.STARTED.OK": "Succès du début de l'application des règles de gestion et du calcul des dates d'échéance", + "STP_ACCESSION_REGISTRATION.ALREADY_EXECUTED": "Action déjà exécutée : Pas de processus d'alimentation du Registre des Fonds", + "STP_ELIMINATION_ACTION_DETACH_OBJECT_GROUP.FATAL": "Erreur technique lors du processus de détachement des groupes d'objets techniques dont certaines unités archivistiques parentes sont éliminées", + "CHECK_RULES.INVALID_CSV.KO": "Échec du contrôle de la conformité du fichier des règles de gestion : fichier CSV invalide", + "LFC.UNIT_METADATA_UPDATE_CHECK_DT.KO": "Échec de la vérification de l'association à un profil d'unité archivistique", + "UNIT_METADATA_UPDATE_CHECK_PERMISSION.STARTED": "Début de la vérification des droits de mise à jour des métadonnées des unités archivistiques", + "STP_UNIT_ATTACHMENT.STARTED.OK": "Succès du début du processus de rattachement des unités archivistiques", + "STP_UPDATE_UNIT_DESC.STARTED": "Début du processus de mise à jour des métadonnées descriptives de l'unité archivistique", + "MASS_UPDATE_UNITS_RULES.KO": "Erreur lors de la mise à jour des métadonnées de gestion des unités archivistiques", + "CHECK_ARCHIVE_UNIT_PROFILE": "Vérification de la conformité aux profils d'unité archivistique", + "ELIMINATION_ACTION_CHECK_DISTRIBUTION_THRESHOLD": "Vérification des seuils de l'élimination définitive des unités archivistiques", + "STP_DELETE_MASTERDATA_CONTEXT.KO": "Échec du processus de suppression des contextes applicatifs", + "STP_CHECK_AND_COMPUTE.WARNING": "Avertissement lors du processus de préparation de la liste des unités archivistiques à mettre à jour et des autorisations de modification", + "FINALIZE_UNIT_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP.FATAL": "Erreur technique lors du processus de création du tampon d'horodatage de l'ensemble des journaux du cycle de vie des unités archivistiques", + "PROBATIVE_VALUE_PREPARE_GENERATE_REPORTS.FATAL": "une Erreur technique lors du processus de création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "UNIT_METADATA_UPDATE_CHECK_PERMISSION": "Vérification des droits de mise à jour des métadonnées des unités archivistiques", + "LFC.UPDATE_UNIT_RULES": "Mise à jour des règles de gestion de l'unité archivistique", + "ELIMINATION_ACTION_UNIT_PREPARATION.KO": "Échec de la préparation de l'élimination définitive des unités archivistiques", + "CHECK_HEADER.CHECK_IC_AP_RELATION.INACTIVE.KO": "Échec du contrôle du caractère actif du profil d'archivage", + "STP_DELETE_ALL.WARNING": "Avertissement lors du processus de suppression de toutes les données en base", + "STORAGE_SECURISATION_TIMESTAMP.FATAL": "Erreur technique lors de la création du tampon d'horodatage de l'ensemble des journaux d'écriture", + "PRESERVATION_ACTION.STARTED.OK": "Succès du début du lancement du griffon", + "STP_DELETE_MASTERDATA_CONTEXT.FATAL": "Erreur technique lors du processus de suppression des contextes applicatifs", + "STP_BACKUP_GRIFFIN": "Processus de sauvegarde des griffons", + "LFC.UNIT_METADATA_INDEXATION.OK": "Succès de l'indexation des métadonnées de l'unité archivistique", + "STP_BACKUP_CONTEXT.FATAL": "Erreur technique lors du processus de sauvegarde des contextes applicatifs", + "PROBATIVE_VALUE_PREPARE_GENERATE_REPORTS.OK": "Succès du processus de création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "STP_RECLASSIFICATION_FINALIZATION.STARTED": "Début du processus de finalisation de la modification d'arborescence des unités archivistiques", + "CHECK_LOGBOOK_OP_SECURISATION.STARTED.OK": "Succès du début de la vérification des journaux sécurisés", + "ELIMINATION_ANALYSIS_UNIT_INDEXATION.STARTED.OK": "Succès du début de l'indexation de l'analyse d'élimination des unités archivistiques", + "STP_STORAGE_AVAILABILITY_CHECK.OK": "Succès du processus de vérification préalable à la prise en charge", + "STP_PRESERVATION_FINALIZATION.STARTED": "Début du processus de finalisation du traitement de préservation", + "STP_ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION": "Processus de préparation de l'élimination définitive des groupes d'objets techniques", + "CORRECTION_FINALIZE.FATAL": "une Erreur technique est survenue lors du processus de finalisation des corrections des signatures pour chaque objet, groupe d'objets ou unité auditée défaillante", + "PRESERVATION.FATAL": "Erreur technique lors du processus global de préservation", + "FILE_FORMAT_REPORT.WARNING": "Avertissement lors de la génération du rapport d'import du référentiel des formats", + "STP_DELETE_ACCESSION_REGISTER_DETAIL.FATAL": "Erreur technique lors du processus de suppression du Registre des Fonds (Fétails)", + "STP_UPDATE_UNIT.KO": "Échec du processus de mise à jour des métadonnées de l'unité archivistique", + "PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD.OK": "Succès de la préparation de la liste des signatures dans les fichiers sécurisés", + "FILINGSCHEME.OK": "Succès du processus d'entrée du plan de classement", + "LFC.PRESERVATION_BINARY_HASH.PRESERVATION_BINARY_HASH.FATAL": "Erreur technique lors calcul d'une empreinte en SHA-512", + "STORAGE_AVAILABILITY_CHECK": "Vérification de la disponibilité des offres de stockage", + "STP_UPDATE_OBJECT_GROUP.WARNING": "Avertissement lors du processus de mise à jour du groupe d'objets", + "LFC.PRESERVATION_STORAGE_BINARY.OBJECT_STORAGE_TASK.FATAL": "Erreur technique lors de l'écriture des objets sur les offres de stockage", + "PROBATIVE_VALUE_PREPARE_GENERATE_REPORTS.STARTED": "Début du processus de création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "TRACEABILITY.STARTED.OK": "Succès du début de l'opération de sécurisation", + "STP_UPDATE_CONTEXT.KO": "Échec du processus mise à jour du contexte applicatif", + "STP_UPDATE_ACCESS_CONTRACT.AGENCY_NOT_FOUND.KO": "Échec du processus de mise à jour du contrat d'accès : au moins un service agent est inconnu", + "LFC.CHECK_CONSISTENCY_ORPHAN_OBJECT.WARNING": "Avertissement lors de la vérification du rattachement des objets aux groupes d'objets et aux unités archivistiques", + "CHECK_FILE_FORMAT.OK": "Succès de la vérification des formats des objets et groupe d'objets", + "STP_PROBATIVE_VALUE_PREPARE.FATAL": "Erreur technique lors du processus de préparation du relevé de valeur probante", + "STP_ELIMINATION_ACTION_FINALIZATION.KO": "Échec du processus de finalisation de l'élimination définitive des unités archivistiques", + "CTR_SCHEMA.STARTED": "Début du processus de contrôle du schéma JSON", + "CHECK_HEADER.WARNING": "Avertissement lors de la vérification générale du bordereau de transfert", + "HOLDINGSCHEME.OK": "Succès de l'import de l'arbre de positionnement", + "PRESERVATION_ACTION.OK": "Succès du lancement du griffon", + "STP_DELETE_ALL.FATAL": "Erreur technique lors du processus de suppression de toutes les données en base", + "STP_IMPORT_SECURITY_PROFILE.OK": "Succès du processus d'import du profil de sécurité", + "PREPARE_UPDATE_UNIT_LIST": "Préparation de la liste des unités archivistiques à mettre à jour", + "AGENCIES_REPORT.FATAL": "Erreur technique lors du processus de génération du rapport d'import du référentiel des services agents", + "INGEST": "Entrée", + "CTR_SCHEMA.STARTED.OK": "Succès du début du processus de contrôle du schéma JSON", + "LFC.CHECK_MANIFEST_LOOP.KO": "Échec de la vérification de la non-récursivité de l'arborescence : le bordereau de transfert présente une récursivité dans l'arborescence de ses unités archivistiques", + "CHECK_CLASSIFICATION_LEVEL.STARTED": "Début de la vérification des niveaux de classification", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.FATAL": "Erreur technique lors du contrôle de cohérence du bordereau de transfert", + "CHECK_DATAOBJECTPACKAGE.TOO_MANY_VERSION_BY_USAGE.KO": "Le transfert de plusieurs versions d'un même usage dans un même versement est interdit", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_DATAOBJECT_VERSION.KO": "Échec de la vérification des usages des objets", + "STP_MIGRATION_FINALIZE.OK": "Succès du processus de finalisation de la migration", + "CORRECTIVE_AUDIT": "Correction des signatures pour chaque objet, groupe d'objets ou unité auditée, défaillante", + "STP_UNIT_UPDATE.KO": "Échec du processus de mise à jour des unités archivistiques", + "STP_CORRECTION_FINALIZE.OK": "Succès du processus de finalisation des corrections des signatures pour chaque objet, groupe d'objets ou unité auditée défaillante", + "EXPORT_DIP.FATAL": "Erreur technique lors de l'export du DIP", + "MASS_UPDATE_UNIT_RULE.FATAL": "Erreur technique lors de la mise à jour des règles de gestion des unités archivistiques", + "CHECK_HEADER.CHECK_IC_AP_RELATION.OK": "Succès de la vérification de la relation entre le contrat d'entrée et le profil", + "CHECK_ARCHIVE_UNIT_PROFILE.EMPTY_CONTROL_SCHEMA.KO": "Échec de la vérification de la conformité aux profils d'unité archivistique : schéma de contrôle du profil d'unité archivistique vide", + "LFC.CHECK_UNIT_SCHEMA.RULE_DATE_FORMAT.OK": "Succès de la vérification de la cohérence de la date déclarée dans les règles de gestion", + "STP_DELETE_METADATA_UNIT.WARNING": "Avertissement lors du processus de suppression des métadonnées des unités archivistiques", + "BACKUP_AGENCIES.FATAL": "Erreur technique lors du processus de sauvegarde du référentiel des services agents", + "ELIMINATION.OK": "Succès de l'élimination des unités archivistiques", + "STP_PREPARE_TRACEABILITY_CHECK.KO": "Échec du processus de préparation de la vérification des journaux sécurisés", + "LIST_OBJECTGROUP_ID": "Création de la liste des groupes d'objets à auditer", + "STP_PUT_BINARY_ON_WORKSPACE.OK": "Succès du processus de déplacement des objets binaires de l'offre de stockage vers l'espace de travail interne", + "STP_UNIT_LFC_TRACEABILITY.FATAL": "Erreur technique lors de la sécurisation des journaux du cycle de vie des unités archivistiques", + "UPDATE_ONTOLOGY": "Processus de mise à jour de l'ontologie", + "STP_IMPORT_RULES": "Processus d'import du référentiel des règles de gestion", + "STORAGE_AVAILABILITY_CHECK.STORAGE_AVAILABILITY_CHECK.OK": "Succès de la vérification de la disponibilité de l'offre de stockage", + "LFC.UNIT_METADATA_UPDATE_CHECK_DT.OK": "Succès de la vérification de l'association à un profil d'unité archivistique", + "STP_UNIT_ATTACHMENT.WARNING": "Avertissement lors du processus de rattachement des unités archivistiques", + "CHECK_MERKLE_TREE.STARTED": "Début de la vérification de l'arbre de MERKLE", + "UNITS_RULES_COMPUTE.DATE_THRESHOLD": "Application des règles de gestion et calcul des dates d'échéance", + "STP_ELIMINATION_ACTION_DELETE_OBJECT_GROUP.STARTED": "Début du processus d'élimination définitive des groupes d'objets techniques dont les unités archivistiques parentes sont éliminées", + "PREPARE_TRACEABILITY_CHECK": "Préparation de la vérification des journaux sécurisés", + "STP_CORRECTION_FINALIZE.KO": "Échec du processus de finalisation des corrections des signatures pour chaque objet, groupe d'objets ou unité auditée défaillante", + "STP_DELETE_ALL.KO": "Échec du processus de suppression de toutes les données en base", + "STP_EVIDENCE_AUDIT_CHECK_DATABASE.FATAL": "Erreur technique lors du processus de la récupération des données dans la base de donnée", + "STP_IMPORT_ACCESS_CONTRACT.WARNING": "Avertissement lors du processus d'import du contrat d'accès", + "STP_DELETE_MASTERDATA_ARCHIVE_UNIT_PROFILE.OK": "Succès du processus de suppression du référentiel des profils d'unité archivistique", + "CHECK_DATAOBJECTPACKAGE.FATAL": "Erreur technique lors de la vérification des objets et groupes d'objets", + "STP_INGEST_CONTROL_SIP.STARTED.OK": "Succès du début du processus du contrôle du SIP", + "STP_OBJ_STORING.OK": "Succès du processus d'écriture et d'indexation des objets sur les offres de stockage", + "ELIMINATION_ACTION_UNIT_PREPARATION": "Préparation de l'élimination définitive des unités archivistiques", + "RECLASSIFICATION_PREPARATION_UPDATE_DISTRIBUTION": "Préparation de la mise à jour du graphe au moment de la modification d'arborescence des unités archivistiques", + "LFC.OG_OBJECTS_FORMAT_CHECK.STARTED.OK": "Succès du début de la vérification des formats", + "IMPORT_AGENCIES.USED_CONTRACT.FATAL": "Erreur technique lors du processus de vérification des services agents référencés dans les contrats d'accès", + "STP_DELETE_METADATA_UNIT": "Processus de suppression des métadonnées des unités archivistiques", + "VERIFY_TIMESTAMP.COMPARE_TOKEN_TIMESTAMP": "Comparaison des tampons d'horodatage", + "STP_FINALISE_AUDIT.STARTED": "Début du processus de finalisation de l'audit", + "FILINGSCHEME.KO": "Échec du processus d'entrée du plan de classement", + "ELIMINATION_ACTION_UNIT_PREPARATION.STARTED.OK": "Succès du début de la préparation de l'élimination définitive des unités archivistiques", + "UPDATE_OBJECT_GROUP.WARNING": "Erreur technique lors de la mise à jour du groupe d'objets", + "CHECK_CONTAINER.STARTED": "Début du contrôle du format du conteneur du SIP", + "BACKUP_AGENCIES": "Processus de sauvegarde du référentiel des services agents", + "STP_ELIMINATION_ACTION_REPORT_GENERATION.WARNING": "Avertissement lors du processus de génération du rapport d'élimination définitive des unités archivistiques", + "LFC.UNIT_METADATA_INDEXATION.KO": "Échec de l'indexation de l'unité archivistique", + "STP_PRESERVATION_FINALIZATION.STARTED.OK": "Succès du début du processus de finalisation du traitement de préservation", + "UNIT_METADATA_UPDATE_CHECK_RULES": "Vérification des règles de gestion", + "SANITY_CHECK_SIP.STARTED.OK": "Succès du début du contrôle sanitaire du SIP", + "INGEST.FATAL": "Erreur technique lors de l'entrée du SIP", + "CHECK_CONCURRENT_WORKFLOW_LOCK.WARNING": "Avertissement lors de la vérification des processus concurrents", + "STP_UNIT_DETACHMENT.WARNING": "Avertissement lors du processus de détachement des unités archivistiques", + "STP_STORAGE_AVAILABILITY_CHECK.STARTED.OK": "Début du processus de vérification préalable à la prise en charge", + "PREPARE_OG_LFC_TRACEABILITY.WARNING": "Avertissement lors de la préparation des journaux du cycle de vie et des métadonnées des groupes d'objets", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.UPDATED_FORMAT.WARNING": "Complétion des métadonnées sur les formats", + "STP_STORAGE_AVAILABILITY_CHECK.KO": "Échec du processus de vérification préalable à la prise en charge", + "STP_OG_STORING.OK": "Succès du processus d'écriture des métadonnées des groupes d'objets sur les offres de stockage", + "ELIMINATION_ANALYSIS_FINALIZATION": "Finalisation de l'analyse de l'élimination des unités archivistiques", + "ELIMINATION_ANALYSIS_CHECK_DISTRIBUTION_THRESHOLD.OK": "Succès de vérification des seuils de l'analyse de l'élimination des unités archivistiques", + "FINALIZE_UNIT_LFC_TRACEABILITY.FINALIZE_UNIT_LFC_TRACEABILITY.STARTED": "Début de la finalisation de la sécurisation des journaux du cycle de vie des unités archivistiques", + "STP_OG_CHECK_AND_TRANSFORME.FATAL": "Erreur technique lors du processus de vérification et de traitement des objets et des groupes d'objets", + "LFC.LFC_CREATION.KO": "Échec de l'alimentation du journal du cycle de vie", + "UNITS_RULES_COMPUTE.CONSISTENCY.KO": "Échec de l'application des règles de gestion et du calcul des dates d'échéance : Au moins une unité archivistique déclare une règle non cohérente avec sa catégorie", + "STP_ACCESSION_REGISTRATION.STARTED": "Début du processus d'alimentation du Registre des Fonds", + "STP_UNIT_LFC_TRACEABILITY.OK": "Succès de la sécurisation des journaux du cycle de vie des unités archivistiques", + "CHECK_HEADER.CHECK_IC_AP_RELATION.FATAL": "Erreur technique lors de la vérification de la relation entre le contrat d'entrée et le profil d'archivage", + "LFC.UNIT_METADATA_STORAGE.STARTED": "Début de l'écriture des métadonnées de l'unité archivistique sur les offres de stockage", + "PROCESS_SIP_UNITARY": "Entrée de SIP standard", + "STP_IMPORT_CONTEXT.EMPTY_REQUIRED_FIELD.KO": "Échec de l'import du contexte : au moins un des champs obligatoires n'est pas renseigné", + "LFC.PRESERVATION_INDEXATION_METADATA": "Indexation des métadonnées du groupe d'objets", + "PRESERVATION_INDEXATION_METADATA.WARNING": "Avertissement lors de l'indexation des métadonnées du groupe d'objets", + "CHECK_HEADER.CONTRACT_INACTIVE.KO": "Échec de la vérification générale du bordereau de transfert : le contrat d'entrée déclaré dans le bordereau de transfert est inactif", + "LFC.CHECK_MANIFEST_LOOP.OK": "Succès de la vérification de la non-récursivité de l'arborescence", + "HOLDINGSCHEME.FATAL": "Erreur technique lors de l'import de l'arbre de positionnement", + "CHECK_CONTAINER.KO": "Échec du contrôle du format du conteneur du SIP", + "FILINGSCHEME": "Entrée de plan de classement", + "PRESERVATION_ACTION.KO": "Échec du lancement de préservation", + "STP_IMPORT_SECURITY_PROFILE.KO": "Échec du processus d'import du profil de sécurité", + "STP_PROBATIVE_VALUE_PREPARE_GENERATE_REPORTS.FATAL": "une Erreur technique lors du processus de création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "CHECK_DATAOBJECTPACKAGE.INVALID_URI.KO": "L'objet déclare une URI à laquelle ne correspond pas de fichier ou déclare une URI déjà utilisée par un autre objet", + "STP_MIGRATION_UNITS_PREPARE": "Processus de préparation de la migration des unités archivistiques", + "CHECK_HEADER.CHECK_IC_AP_RELATION.KO": "Échec de la vérification de la relation entre le contrat d'entrée et le profil", + "EXPORT_PROBATIVE_VALUE_LIST_OBJECT.KO": "Échec de la création de la liste des objets du relevé de valeur probante", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_DATAOBJECT_VERSION.OK": "Succès de la vérification des usages des objets", + "STP_UPDATE_INGEST_CONTRACT.STARTED.OK": "Succès du début du processus de mise à jour du contrat d'entrée", + "CTR_SCHEMA": "Processus de contrôle du schéma JSON", + "PRESERVATION_ACCESSION_REGISTRATION.KO": "Échec de l'alimentation du Registre des Fonds", + "STP_EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD.STARTED.OK": "Début du processus de la préparation de la liste des signatures dans les fichiers sécurisés", + "STP_UNIT_UPDATE.STARTED": "Début du processus de mise à jour des unités archivistiques", + "FINALIZE_OG_LFC_TRACEABILITY.FINALIZE_OG_LFC_TRACEABILITY.WARNING": "Avertissement lors de la finalisation de la sécurisation des journaux du cycle de vie des groupes d'objets", + "MIGRATION_OBJECT_GROUPS": "Migration des groupes d'objets", + "ELIMINATION_ANALYSIS_CHECK_DISTRIBUTION_THRESHOLD.STARTED.OK": "Succès du début de vérification des seuils l'analyse de l'élimination des unités archivistiques", + "STP_MIGRATION_UNITS": "Processus de préparation de la migration des unités archivistiques", + "BUILD_OG_LFC_TRACEABILITY": "Sécurisation des journaux du cycle de vie des groupes d'objets", + "LFC.UNIT_METADATA_UPDATE_CHECK_DT.STARTED": "Début de la vérification l'association à un profil d'unité archivistique", + "PRESERVATION_BINARY_HASH.WARNING": "Avertissement lors du calcul d'une empreinte en SHA-512", + "LFC.UNITS_RULES_COMPUTE.CONSISTENCY.WARNING": "Avertissement lors de la vérification de la cohérence de la règle de gestion par rapport à sa catégorie", + "VERIFY_TIMESTAMP.COMPARE_TOKEN_TIMESTAMP.FATAL": "Erreur technique lors de la comparaison des tampons d'horodatage", + "PRESERVATION_PREPARATION.STARTED": "Début de la préparation du traitement de préservation", + "STP_IMPORT_PROFILE_JSON.EMPTY_REQUIRED_FIELD.KO": "Échec du processus d'import du profil d'archivage : au moins un des champs obligatoires n'est pas renseigné", + "RECLASSIFICATION_PREPARATION_CHECK_GRAPH.FATAL": "Erreur technique lors du contrôle de cohérence du graphe au moment de la modification d'arborescence des unités archivistiques", + "STP_UPDATE_PROFILE_JSON.FATAL": "Erreur technique lors du processus de mise à jour du profil d'archivage", + "STP_OBJ_STORING.KO": "Échec du processus d'écriture et d'indexation des objets et groupes d'objets sur les offres de stockage", + "IMPORT_ARCHIVEUNITPROFILE.INVALID_JSON_SCHEMA.KO": "Échec du processus d'import du profil d'unité archivistique: schéma JSON non valide", + "OP_SECURISATION_TIMESTAMP.WARNING": "Avertissement lors de la création du tampon d'horodatage de l'ensemble des journaux", + "STP_DELETE_ACCESSION_REGISTER_DETAIL": "Processus de suppression du Registre des Fonds (Détails)", + "STP_PERSONAL_CERTIFICATE_CHECK.KO": "Échec du processus de vérification du certificat personnel", + "STP_ELIMINATION_ACTION_DELETE_OBJECT_GROUP.OK": "Succès du processus d'élimination définitive des groupes d'objets techniques dont les unités archivistiques parentes sont éliminées", + "PROBATIVE_VALUE_EXTRACT_ZIP_FILE.STARTED": "Début de l'extraction des signatures à partir des fichiers sécurisés", + "STP_STORE_MANIFEST.STARTED": "Début du processus de création du DIP et de son déplacement vers l'offre de stockage", + "OP_SECURISATION_TIMESTAMP.FATAL": "Erreur technique lors de la création du tampon d'horodatage de l'ensemble des journaux", + "IMPORT_ONTOLOGY.WARNING": "Avertissement lors du processus d'import de l'ontologie", + "STP_STORAGE_AVAILABILITY_CHECK.STARTED": "Début du processus de vérification préalable à la prise en charge", + "MIGRATION_OBJECT_GROUPS.FATAL": "Erreur technique lors de la migration des groupes d'objets", + "STP_DELETE_MASTERDATA_ARCHIVE_UNIT_PROFILE.KO": "Échec du processus de suppression du référentiel des profils d'unité archivistique", + "FINALIZE_UNIT_LFC_TRACEABILITY.OP_SECURISATION_STORAGE": "Stockage des journaux du cycle de vie des unités archivistiques", + "MASS_UPDATE.FATAL": "Erreur technique lors de la mise à jour des métadonnées des unités archivistiques", + "STP_UNIT_GRAPH_COMPUTE.STARTED": "Début du processus de mise à jour des graphes des unités archivistiques", + "STP_UPDATE_PROFILE_JSON.OK": "Succès du processus de mise à jour du profil d'archivage", + "GRIFFIN_REPORT.WARNING": "Avertissement lors de la génération du rapport d'import du référentiel des griffons", + "INGEST.WARNING": "Avertissement lors de l'entrée du SIP", + "IMPORT_AGENCIES.WARNING": "Avertissement lors du processus d'import du référentiel des services agents", + "IMPORT_AGENCIES.USED_AU.KO": "Échec du processus de vérification des services agents référencés par les unités archivistiques", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_INDEXED_HASH.FATAL": "Erreur technique lors de la comparaison de l'arbre de MERKLE avec le Hash indexé", + "STP_OG_STORING.KO": "Échec du processus d'écriture des métadonnées des groupes d'objets sur les offres de stockage", + "BACKUP_AGENCIES.STARTED.OK": "Succès du début du processus de sauvegarde du référentiel des services agents", + "STP_UPDATE_SECURITY_PROFILE": "Processus de mise à jour du profil de sécurité", + "FINALIZE_OG_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP": "Horodatage des journaux du cycle de vie des groupes d'objets", + "UNITS_RULES_COMPUTE.UNKNOWN": "Application des règles de gestion et calcul des dates d'échéance", + "MIGRATION_OBJECT_GROUPS_LIST": "Distribution des groupes d'objets", + "LFC.AUDIT_CHECK_OBJECT.FATAL": "Erreur technique lors de l'audit de la vérification des objets", + "TRACEABILITY.STARTED": "Début de l'opération de sécurisation", + "SCENARIO_REPORT.WARNING": "Avertissement lors du processus de génération du rapport d'import du référentiel des scénarios de préservation", + "STP_UNIT_LFC_TRACEABILITY.KO": "Échec de la sécurisation des journaux du cycle de vie des unités archivistiques", + "CHECK_DISTRIBUTION_THRESHOLD.FATAL": "Erreur technique lors de la vérification des seuils de limitation de traitement des unités archivistiques", + "STP_RECLASSIFICATION_PREPARATION.STARTED": "Début du processus de préparation de la modification d'arborescence des unités archivistiques", + "STP_VERIFY_STAMP": "Processus de vérification de l'horodatage", + "ELIMINATION_ACTION.FATAL": "Erreur technique lors de l'élimination définitive des unités archivistiques", + "LFC.CHECK_DIGEST.CALC_CHECK.WARNING": "Avertissement lors calcul d'une empreinte en SHA-512", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION": "Processus de préparation du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "PROBATIVE_VALUE_REPORTS.FATAL": "Erreur technique lors de la création du rapport de relevé de valeur probante", + "UNIT_METADATA_UPDATE_CHECK_DT.STARTED.OK": "Succès du début de la vérification de l'association à un profil d'unité archivistique", + "CHECK_CONTAINER.OK": "Succès du contrôle du format du conteneur du SIP", + "STP_MASS_UPDATE_FINALIZE.STARTED": "Début du processus de génération du rapport de mise à jour des métadonnées descriptives des unités archivistiques", + "EVIDENCE_AUDIT_LIST_OBJECT.KO": "Échec de la création de la liste à auditer", + "RECLASSIFICATION_PREPARATION.STARTED": "Début de la préparation de la modification d'arborescence des unités archivistiques", + "CHECK_DATAOBJECTPACKAGE.UNAUTHORIZED_ATTACHMENT_BY_CONTRACT.KO": "Le rattachement n'a pas été effectué : le contrat d'entrée n'autorise pas les rattachements", + "PROCESS_SIP_UNITARY.STARTED.OK": "Succès du début du processus d'entrée du SIP", + "STP_UPDATE_UNIT_DESC.OK": "Succès du processus de mise à jour des métadonnées descriptives de l'unité archivistique", + "CHECK_ARCHIVE_UNIT_PROFILE.INVALID_AU_PROFILE.KO": "Échec de la vérification de la conformité aux profils d'unité archivistique : profil d'unité archivistique non conforme", + "EXPORT_PROBATIVE_VALUE_LIST_OBJECT.OK": "Succès de la création de la liste des objets du relevé de valeur probante", + "STP_CREATE_MANIFEST.FATAL": "Erreur technique lors du processus de création du bordereau de mise à disposition", + "STP_PUT_BINARY_ON_WORKSPACE.WARNING": "Avertissement lors du processus de déplacement des objets binaires sur l'offre de stockage vers l'espace de travail interne", + "STP_ELIMINATION_ANALYSIS_FINALIZATION.STARTED.OK": "Succès du début du processus de finalisation de l'analyse de l'élimination des unités archivistiques", + "EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD.KO": "Échec de la préparation de la liste des signatures dans les fichiers sécurisés", + "STP_IMPORT_CONTEXT.SECURITY_PROFILE_NOT_FOUND.KO": "Échec de l'import du contexte applicatif : profil de sécurité non trouvé", + "ELIMINATION_ACTION_FINALIZATION.STARTED": "Début de la finalisation de l'élimination définitive des unités archivistiques", + "LFC.UNIT_METADATA_STORAGE": "Écriture des métadonnées de l'unité archivistique sur les offres de stockage", + "STP_DELETE_MASTERDATA_PROFILE.FATAL": "Erreur technique lors du processus de suppression du référentiel des profils d'archivage (fichier xsd ou rng)", + "ELIMINATION_ACTION_DETACH_OBJECT_GROUP": "Détachement des groupes d'objets techniques dont certaines unités archivistiques parentes sont éliminées", + "STP_PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD.FATAL": "Erreur technique lors du processus de préparation de la liste des signatures dans les fichiers sécurisés", + "LFC.PRESERVATION_INDEXATION_METADATA.PRESERVATION_INDEXATION_METADATA.WARNING": "Avertissement lors de l'indexation des métadonnées du groupe d'objets lors d'une opération de préservation", + "EVIDENCE_AUDIT_CHECK_DATABASE.STARTED": "Début de la récupération des données dans la base de donnée", + "UPDATE.STARTED": "Début de la mise à jour", + "MIGRATION_OBJECT_GROUPS.WARNING": "Avertissement lors de la migration des groupes d'objets", + "UNIT_METADATA_UPDATE.FATAL": "Erreur technique lors de la mise à jour des métadonnées des unités archivistiques", + "LFC.UNIT_METADATA_INDEXATION.STARTED.OK": "Succès du début de l'indexation des métadonnées de l'unité archivistique", + "ELIMINATION_ANALYSIS_CHECK_DISTRIBUTION_THRESHOLD.KO": "Échec de vérification des seuils de l'analyse de l'élimination des unités archivistiques", + "PRESERVATION_ACCESSION_REGISTRATION.OK": "Succès de l'alimentation du Registre des Fonds", + "MASS_UPDATE_UNIT_RULE.OK": "Succès de la mise à jour des règles de gestion des unités archivistiques", + "GRIFFIN_REPORT.KO": "Échec de la génération du rapport d'import du référentiel des griffons", + "LOGBOOK_OBJECTGROUP_LFC_TRACEABILITY": "Sécurisation des journaux du cycle de vie des groupes d'objets", + "VERIFY_TIMESTAMP.VALIDATE_TOKEN_TIMESTAMP.FATAL": "Erreur technique lors de la validation du tampon d'horodatage", + "UPDATE.FATAL": "Erreur technique lors de la mise à jour", + "STORAGE_AVAILABILITY_CHECK.ALREADY_EXECUTED": "Action déjà exécutée : Pas de vérification de la disponibilité des offres de stockage", + "CHECK_HEADER.CONTEXT_UNKNOWN.KO": "Échec de la vérification générale du bordereau de transfert : le contexte applicatif est inconnu du référentiel des contextes applicatifs", + "UNITS_RULES_COMPUTE.WARNING": "Avertissement lors de l'application des règles de gestion et du calcul des dates d'échéance", + "STP_ELIMINATION_ACTION_DELETE_OBJECT_GROUP.KO": "Échec du processus d'élimination définitive des groupes d'objets techniques dont les unités archivistiques parentes sont éliminées", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_LOOP.KO": "Le bordereau de transfert présente une récursivité dans l'arborescence de ses unités archivistiques", + "PREPARE_OG_LFC_TRACEABILITY": "Préparation de la liste des journaux du cycle de vie et des métadonnées des groupes d'objets", + "ELIMINATION_ACTION_UNIT_PREPARATION.OK": "Succès de la préparation de l'élimination définitive des unités archivistiques", + "CHECK_HEADER.CONTRACT_UNKNOWN.KO": "Échec de la vérification générale du bordereau de transfert : le contrat d'entrée est inconnu du référentiel des contrats d'entrée", + "FILE_FORMAT_REPORT.STARTED.OK": "Succès du début de la génération du rapport d'import du référentiel des formats", + "RULES_REPORT.STARTED": "Début de la génération du rapport d'analyse du référentiel des règles de gestion", + "STP_SANITY_CHECK_SIP.FATAL": "Erreur technique lors du processus des contrôles préalables à l'entrée", + "ELIMINATION_ACTION.KO": "Échec de l'élimination définitive des unités archivistiques", + "ELIMINATION_ANALYSIS_UNIT_INDEXATION.FATAL": "Erreur technique lors de l'indexation de l'analyse d'élimination des unités archivistiques", + "FILE_FORMAT_REPORT.FATAL": "Erreur technique lors de la génération du rapport d'import du référentiel des formats", + "PROBATIVE_VALUE_PREPARE_GENERATE_REPORTS.KO": "Échec du processus de création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "STP_PERSONAL_CERTIFICATE_CHECK.OK": "Succès du processus de vérification du certificat personnel", + "ELIMINATION_ACTION_FINALIZATION.STARTED.OK": "Succès du début de la finalisation de l'élimination définitive des unités archivistiques", + "STP_DELETE_LOGBOOK_LIFECYCLE_UNIT.STARTED.OK": "Succès du début du processus de suppression des journaux du cycle de vie des unités archivistiques", + "STP_UPDATE_OBJECT_GROUP.FATAL": "Erreur technique lors du processus de mise à jour du groupe d'objets", + "IMPORT_AGENCIES.USED_AU.OK": "Succès du processus de vérification des services agents référencés par les unités archivistiques", + "OBJECT_GROUP_GRAPH_COMPUTE": "Mise à jour des graphes des groupes d'objets", + "ELIMINATION_ACTION_DELETE_OBJECT_GROUP.STARTED": "Début de l'élimination définitive des groupes d'objets techniques dont les unités archivistiques parentes sont éliminées", + "STP_UPDATE_PROFILE_JSON.KO": "Échec du processus de mise à jour du profil d'archivage", + "HOLDINGSCHEME.STARTED": "Début de l'import de l'arbre de positionnement", + "OG_OBJECTS_FORMAT_CHECK.REJECTED_FORMAT.KO": "Échec de l'identification des formats : le contrat d'entrée interdit le versement d'objet au format inconnu et le SIP versé contient au moins un objet au format inconnu, ou bien le SIP contient un format interdit par le contrat d'entrée", + "LFC.CHECK_MANIFEST_WRONG_ATTACHMENT_LINK.STARTED": "Début de la vérification des rattachements des unités archivistiques et groupes d'objets", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.STARTED.OK": "Succès du début du processus de préparation du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "STP_UPDATE_UNIT.OK": "Succès du processus de mise à jour des métadonnées de l'unité archivistique", + "STP_EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD.KO": "Échec du processus de la préparation de la liste des signatures dans les fichiers sécurisés", + "REPORT_AUDIT.FATAL": "Erreur technique lors de la notification de la fin de l'audit", + "OBJECTS_LIST_EMPTY": "Établissement de la liste des objets", + "STP_UNIT_METADATA.KO": "Échec du processus d'indexation des métadonnées des unités archivistiques", + "IMPORT_PRESERVATION_SCENARIO.WARNING": "Avertissement lors du processus d'import du référentiel des scénarios de préservation", + "UNITS_RULES_COMPUTE.OK": "Succès de l'application des règles de gestion et du calcul des dates d'échéance", + "LFC.OG_METADATA_INDEXATION.STARTED.OK": "Succès du début de l'indexation des métadonnées du groupe d'objets", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_INTEGRITY": "Audit de l'existence et de l'intégrité des objets", + "CHECK_RULES.INVALID_CSV_ENCODING_NOT_UTF_EIGHT.KO": "Échec du contrôle de la conformité du fichier des règles de gestion : fichier CSV n'est pas encodé en UTF8", + "STP_PREPARE_LISTS.KO": "Échec du processus de préparation des listes d'unités archivistiques à mettre à jour", + "CHECK_RULES.OK": "Succès du contrôle de la conformité du fichier des règles de gestion", + "STP_UPDATE_INGEST_CONTRACT": "Processus de mise à jour du contrat d'entrée", + "EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD": "Préparation de la liste des signatures dans les fichiers sécurisés", + "UPDATE_UNIT_RULES.OK": "Succès de la mise à jour des règles de gestion des unités archivistiques", + "STP_UPDATE_UNIT_DESC.KO": "Échec du processus de mise à jour des métadonnées descriptives de l'unité archivistique", + "STP_IMPORT_PRESERVATION_SCENARIO.WARNING": "Avertissement lors du processus d'import du référentiel des scénarios de préservation", + "STP_BACKUP_GRIFFIN.STARTED.OK": "Succès du début du processus de sauvegarde des griffons", + "FILE_FORMAT_REPORT.KO": "Échec de la génération du rapport d'import du référentiel des formats", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.REFERENTIAL_ERROR.FATAL": "Erreur technique lors de la recherche du format de l'objet dans le référentiel des formats", + "BACKUP_PROFILE.FATAL": "Erreur technique lors du processus de sauvegarde des profils d'archivage", + "ELIMINATION_ACTION_DELETE_OBJECT_GROUP.WARNING": "Avertissement lors de l'élimination définitive des groupes d'objets techniques dont les unités archivistiques parentes sont éliminées", + "CHECK_HEADER.CHECK_IC_AP_RELATION.UNKNOWN.KO": "Échec du contrôle de la présence du profil d'archivage dans le référentiel des profils d'archivage", + "STP_IMPORT_RULES_BACKUP.KO": "Échec du processus de sauvegarde du référentiel des règles de gestion", + "OG_METADATA_STORAGE.ALREADY_EXECUTED": "Action déjà exécutée : Pas d'écriture des métadonnées des objets et groupes d'objets sur l'offre de stockage", + "STP_IMPORT_RULES.OK": "Succès du processus d'import du référentiel des règles de gestion", + "PRESERVATION_STORAGE_BINARY.STARTED": "Début de l'écriture des objets et des groupes d'objets sur les offres de stockage", + "HOLDINGSCHEME.WARNING": "Avertissement lors de l'import de l'arbre de positionnement", + "STP_MASS_UPDATE_FINALIZE.STARTED.OK": "Succès du début du processus de génération du rapport de mise à jour des métadonnées descriptives des unités archivistiques", + "STP_IMPORT_ACCESS_CONTRACT.OK": "Succès du processus d'import du contrat d'accès", + "STP_IMPORT_PROFILE_FILE.STARTED": "Début du processus d'import du profil d'archivage (fichier xsd ou rng)", + "STP_DELETE_METADATA_OG.WARNING": "Avertissement lors du processus de suppression des métadonnées des groupes d'objets", + "STP_DELETE_ACCESSION_REGISTER_SUMMARY.WARNING": "Avertissement lors du processus de suppression du Registre des Fonds (Résumé)", + "STP_OG_STORING.STARTED.OK": "Succès du début du processus d'écriture des métadonnées des groupes d'objets sur les offres de stockage", + "DATA_MIGRATION": "Processus de migration de données", + "LFC.CHECK_MANIFEST_LOOP": "Vérification de la non-récursivité de l'arborescence", + "UNIT_METADATA_INDEXATION": "Indexation des métadonnées des unités archivistiques", + "STP_BACKUP_REFERENTIAL_FORMAT.WARNING": "Avertissement lors du processus de sauvegarde du référentiel des formats", + "LFC.UNITS_RULES_COMPUTE.CONSISTENCY.STARTED": "Début de la vérification de la cohérence de la règle de gestion par rapport à sa catégorie", + "STP_STORAGE_AVAILABILITY_CHECK.WARNING": "Avertissement lors du processus de vérification préalable à la pris en charge : Information de l'espace libre sur l'offre de stockage indisponible", + "STP_IMPORT_PROFILE_JSON.STARTED": "Début du processus d'import du profil d'archivage", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_DATAOBJECT_VERSION.PDO_DATAOBJECTIONVERSION_BINARYMASTER.KO": "L'objet physique déclare un usage \"BinaryMaster\". Cet usage n'est pas autorisé pour les objets physiques", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_MALFORMED_DATA.KO": "Le bordereau de transfert possède une donnée malformée", + "ELIMINATION_ANALYSIS": "Analyse de l'élimination des unités archivistiques", + "VERIFY_TIMESTAMP.KO": "Échec de la vérification de l'horodatage", + "PREPARE_OG_LFC_TRACEABILITY.FATAL": "Erreur technique lors de la préparation des journaux du cycle de vie et des métadonnées des groupes d'objets", + "STP_CORRECTIVE_AUDIT": "Correction des signatures pour chaque objet, groupe d'objets ou unité auditée, défaillante", + "STP_DELETE_METADATA_UNIT.STARTED": "Début du processus de suppression des métadonnées des unités archivistiques", + "PREPARE_TRACEABILITY_CHECK.FATAL": "Erreur technique lors de la préparation de la vérification des journaux sécurisés", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.STARTED.OK": "Succès du début de la vérification de la présence et du contrôle du contrat d'entrée", + "UNIT_METADATA_CHECK_CONSISTENCY.WARNING": "Avertissement lors de la vérification de cohérence des actions lors de la mise à jour des métadonnées de gestion des unités archivistiques", + "STP_AUDIT": "Processus d'exécution de l'audit", + "STP_UNIT_METADATA.STARTED.OK": "Succès du début du processus d'indexation des métadonnées des unités archivistiques", + "STP_UNIT_STORING.STARTED": "Début du processus d'écriture des unités archivistiques sur les offres de stockage", + "STP_IMPORT_RULES.KO": "Échec du processus d'import du référentiel des règles de gestion", + "STP_PRESERVATION_ACTION": "Processus de lancement du griffon", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_DATAOBJECT_VERSION": "Vérification des usages des objets", + "LFC.CHECK_CONSISTENCY_ORPHAN_OBJECT.KO": "Le bordereau de transfert contient des objets ou groupes d'objets qui ne déclarent pas un rattachement à une unité archivistique", + "STORAGE_SECURISATION_TIMESTAMP.STARTED": "Début de la création du tampon d'horodatage de l'ensemble des journaux d'écriture", + "PRESERVATION_FINALIZATION.FATAL": "Erreur technique lors de la finalisation du traitement de préservation", + "STP_UPDATE_INGEST_CONTRACT.FILEFORMAT_NOT_FOUND.KO": "Échec du processus de mise à jour du contrat d'entrée: au moins un identifiant de format est inconnu", + "FINALIZE_UNIT_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP.OK": "Succès du processus de création du tampon d'horodatage de l'ensemble des journaux du cycle de vie des unités archivistiques", + "UNIT_METADATA_CHECK_CONSISTENCY.FATAL": "Erreur technique lors de la vérification de cohérence des actions lors de la mise à jour des métadonnées de gestion des unités archivistiques", + "EVIDENCE_AUDIT_EXTRACT_ZIP_FILE.OK": "Extraction des signatures à partir des fichiers sécurisés", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION": "Identification du format", + "OBJECT_GROUP_GRAPH_COMPUTE.FATAL": "Erreur technique lors de la mise à jour des graphes des groupes d'objets", + "MIGRATION_UNITS_LIST": "Distribution des unités unités archivistiques", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.CHECK_MANIFEST_LOOP.KO": "Le bordereau de transfert présente une récursivité dans l'arborescence de ses unités archivistiques", + "STP_STORE_MANIFEST.FATAL": "Erreur technique lors du processus de création du DIP et de son déplacement vers l'offre de stockage", + "STP_ELIMINATION_ANALYSIS_UNIT_INDEXATION.WARNING": "Avertissement lors processus d'indexation de l'analyse d'élimination des unités archivistiques", + "STP_EVIDENCE_AUDIT_FINALIZE.KO": "Échec du processus de création du rapport de l'audit de cohérence (des audits des objets sont en erreurs )", + "CHECK_SEDA.NOT_XML_FILE.KO": "Échec de la vérification globale du SIP : bordereau de transfert non conforme aux caractéristiques d'un fichier xml", + "STP_PREPARE_LISTS.OK": "Succès du processus de préparation des listes d'unités archivistiques à mettre à jour", + "UNIT_METADATA_UPDATE_CHECK_RULES.WARNING": "Avertissement lors de la vérification des règles de gestion", + "PROCESS_AUDIT.OK": "Succès de l'audit", + "LFC.PRESERVATION_STORAGE_BINARY": "Écriture des objets sur les offres de stockage", + "LFC.CHECK_MANIFEST": "Vérification de la cohérence du bordereau de transfert", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.STARTED": "Début de l'identification du format", + "STP_DELETE_MASTERDATA_INGEST_CONTRACT.OK": "Succès du processus de suppression des contrats d'entrée", + "LFC.CHECK_UNIT_SCHEMA.OK": "Succès de la vérification globale de l'unité archivistique", + "RECLASSIFICATION.OK": "Succès de la modification d'arborescence des unités archivistiques", + "STP_PREPARE_LISTS.STARTED": "Début du processus de préparation des listes d'unités archivistiques à mettre à jour", + "STP_UNIT_METADATA.OK": "Succès du processus d'indexation des métadonnées des unités archivistiques", + "LFC.PRESERVATION_STORAGE_BINARY.OBJECT_STORAGE_TASK.STARTED": "Début de l'écriture des objets sur les offres de stockage", + "CHECK_RULES.FATAL": "Erreur technique lors du contrôle de la conformité du fichier des règles de gestion", + "ELIMINATION_ANALYSIS_UNIT_INDEXATION.KO": "Échec de l'indexation de l'analyse d'élimination des unités archivistiques", + "STP_CREATE_MANIFEST.OK": "Succès du processus de création du bordereau de mise à disposition", + "STP_EVIDENCE_AUDIT_PREPARE.STARTED.OK": "Début du processus de la création de la liste à auditer", + "STP_SANITY_CHECK_SIP.STARTED": "Début du processus des contrôles préalables à l'entrée", + "LFC.CHECK_CLASSIFICATION_LEVEL": "Vérification du niveau de classification", + "STP_UPDATE_ACCESS_CONTRACT.BAD_REQUEST.KO": "Échec du processus de mise à jour du contrat d'accès : une mauvaise requête a été saisie", + "CHECK_RULES.KO": "Échec du contrôle de la conformité du fichier des règles de gestion", + "PUT_BINARY_ON_WORKSPACE.FATAL": "Erreur technique lors du déplacement des objets binaires de l'offre de stockage vers l'espace de travail interne", + "FILE_FORMAT_REPORT.OK": "Succès de la génération du rapport d'import du référentiel des formats", + "ELIMINATION_ANALYSIS.OK": "Succès de l'analyse de l'élimination des unités archivistiques", + "STP_DELETE_MASTERDATA_ACCESS_CONTRACT.WARNING": "Avertissement lors du processus de suppression des contrats d'accès", + "STP_ELIMINATION_ACTION_DETACH_OBJECT_GROUP.WARNING": "Avertissement lors du processus de détachement des groupes d'objets techniques dont certaines unités archivistiques parentes sont éliminées", + "UPDATE_ARCHIVEUNITPROFILE.OK": "Succès du processus de mise à jour du profil d'unité archivistique", + "STP_IMPORT_PRESERVATION_SCENARIO.STARTED.OK": "Succès du début du processus d'import du référentiel des scénarios de préservation", + "PRESERVATION_SIEGFRIED_IDENTIFICATION.FATAL": "Erreur technique lors de la vérification du format", + "LFC.CHECK_MANIFEST.NOT_FOUND_ATTACHMENT.KO": "Le rattachement n'a pas été effectué: l'élément de rattachement n'existe pas dans le système", + "STP_IMPORT_RULES_BACKUP.OK": "Succès du processus de sauvegarde du référentiel des règles de gestion", + "LFC.UNITS_RULES_COMPUTE.WARNING": "Avertissement lors de l'application des règles de gestion et du calcul des dates d'échéance", + "STP_IMPORT_RULES.WARNING": "Avertissement lors du processus d'import du référentiel des règles de gestion : des règles de gestions ont été modifiées et sont utilisées par des unités archivistiques existantes", + "ROLL_BACK": "Mise en cohérence des Journaux du Cycle de Vie", + "DATA_MIGRATION.FATAL": "Erreur technique lors du processus de migration de données", + "STORE_MANIFEST.OK": "Succès de la création du DIP et de son déplacement vers l'offre de stockage", + "UNIT_METADATA_UPDATE_CHECK_RULES.OK": "Succès de la vérification des règles de gestion", + "CHECK_HEADER.CHECK_AGENT": "Vérification de la présence et du contrôle des services agents", + "STP_DELETE_LOGBOOK_LIFECYCLE_OG.WARNING": "Avertissement lors du processus de suppression des journaux du cycle de vie des groupes d'objets", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE": "Processus de mise à jour du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "VERIFY_TIMESTAMP.STARTED": "Début de la vérification de l'horodatage", + "STORAGE_BACKUP.STARTED.OK": "Succès du début de la sauvegarde des journaux des écritures", + "STP_DELETE_RULES.FATAL": "Erreur technique lors du processus de suppression du référentiel des règles", + "PRESERVATION_INDEXATION_METADATA.FATAL": "Erreur technique lors de l'indexation des métadonnées du groupe d'objets", + "LOGBOOK_LC_SECURISATION.WARNING": "Avertissement lors de la sécurisation des journaux du cycle de vie", + "STP_BACKUP_CONTEXT.STARTED": "Début du processus de sauvegarde des contextes applicatifs", + "STP_ACCESSION_REGISTRATION": "Processus d'alimentation du Registre des Fonds", + "STP_IMPORT_ACCESS_CONTRACT.KO": "Échec du processus d'import du contrat d'accès", + "UNIT_DETACHMENT.WARNING": "Avertissement lors du détachement des unités archivistiques", + "LFC.UNITS_RULES_COMPUTE.REF_INCONSISTENCY.FATAL": "Erreur technique lors de la vérification de la cohérence de la règle de gestion dont l'annulation est demandée par rapport à sa catégorie", + "STP_DELETE_SECURITY_PROFILE.KO": "Échec du processus suppression du profil de sécurité", + "STP_DELETE_MASTERDATA_AGENCIES.WARNING": "Avertissement lors du processus de suppression du référentiel des services agents", + "STP_IMPORT_ACCESS_CONTRACT.VALIDATION_ERROR.KO": "Échec du processus d'import du contrat d'accès : erreur lors de la validation du contrat d'accès", + "STP_EVIDENCE_AUDIT_FINALIZE.STARTED": "Début du processus de création du rapport de l'audit de cohérence", + "PROBATIVE_VALUE_EXTRACT_ZIP_FILE.WARNING": "Avertissement lors de l'extraction des signatures à partir des fichiers sécurisés", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.CONTRACT_NOT_IN_CONTEXT.KO": "Échec du contrôle de la présence du contrat d'entrée dans le contexte applicatif", + "EXPORT_PROBATIVE_VALUE.FATAL": "Erreur technique lors du processus d'export du relevé de valeur probante", + "STP_IMPORT_INGEST_CONTRACT.IDENTIFIER_DUPLICATION.KO": "Échec de l'import du contrat d'entrée : l'identifiant est déjà utilisé", + "STORE_MANIFEST.WARNING": "Avertissement lors de la création du DIP et de son déplacement vers l'offre de stockage", + "PROCESS_AUDIT.KO": "Échec de l'audit", + "FINALIZE_OG_LFC_TRACEABILITY.OK": "Succès de la finalisation de la sécurisation des journaux du cycle de vie des groupes d'objets", + "FINALIZE_OG_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP.FATAL": "Erreur technique lors du processus de création du tampon d'horodatage de l'ensemble des journaux du cycle de vie des groupes d'objets", + "STORE_MANIFEST.KO": "Échec de la création du DIP et de son déplacement vers l'offre de stockage", + "STP_EVIDENCE_AUDIT_EXTRACT_ZIP_FILE.FATAL": "Erreur technique lors du processus d'extraction des signatures à partir des fichiers sécurisés", + "PRESERVATION_STORAGE_BINARY": "Ecriture des objets et des groupes d'objets sur les offres de stockage", + "PRESERVATION_INDEXATION_METADATA.STARTED.OK": "Succès du début de l'indexation des métadonnées du groupe d'objets", + "STP_BACKUP_SCENARIO.STARTED.OK": "Succès du début du processus de sauvegarde des scénarios de préservation", + "LFC.UNITS_RULES_COMPUTE.REF_INCONSISTENCY.WARNING": "Avertissement lors de la vérification de la cohérence de la règle de gestion dont l'annulation est demandée par rapport à sa catégorie", + "STORAGE_ACCESS_BACKUP.FATAL": "Erreur technique lors de la sauvegarde des des logs d'accès", + "STP_DELETE_MASTERDATA_INGEST_CONTRACT.KO": "Échec du processus de suppression des contrats d'entrée", + "CHECK_HEADER.CONTRACT_NOT_IN_CONTEXT.KO": "Échec de la vérification générale du bordereau de transfert : le contrat d'entrée n'est pas compatible avec le contexte applicatif", + "STP_UPLOAD_SIP.STARTED.OK": "Succès du début du processus de réception du SIP", + "ROLL_BACK.ALREADY_EXECUTED": "Action déjà exécutée : Pas de mise en cohérence des journaux de cycle de vie", + "STP_DELETE_FORMAT.FATAL": "Erreur technique lors du processus de suppression du référentiel des formats", + "LFC.PRESERVATION_BINARY_HASH.OK": "Succès du calcul d'une empreinte en SHA-512", + "FINALIZE_UNIT_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP.KO": "Échec du processus de création du tampon d'horodatage de l'ensemble des journaux du cycle de vie des unités archivistiques", + "STP_EVIDENCE_AUDIT_FINALIZE.STARTED.OK": "Début du processus de création du rapport de l'audit de cohérence", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.FATAL": "Erreur technique lors de l'audit de l'existence des objets", + "VERIFY_TIMESTAMP.OK": "Succès de la vérification de l'horodatage", + "UPDATE_UNIT_RULES.KO": "Échec de la mise à jour des règles de gestion des unités archivistiques", + "CHECK_CONCURRENT_WORKFLOW_LOCK": "Vérification des processus concurrents", + "COMMIT_LIFE_CYCLE_UNIT.FATAL": "Erreur technique lors de de l'enregistrement des journaux du cycle de vie des unités archivistiques", + "IMPORT_ARCHIVEUNITPROFILE.STARTED": "Début du processus d'import du profil d'unité archivistique", + "PRESERVATION_SIEGFRIED_IDENTIFICATION.KO": "Échec de la vérification du format", + "LOGBOOK_LC_SECURISATION.KO": "Échec de la sécurisation des journaux du cycle de vie", + "LFC.PRESERVATION_BINARY_HASH.PRESERVATION_BINARY_HASH.OK": "Succès du calcul d'une empreinte en SHA-512", + "STP_IMPORT_PROFILE_FILE.OK": "Succès du processus d'import du profil d'archivage (fichier xsd ou rng)", + "OLD_CHECK_DIGEST": "Vérification de l'empreinte", + "STP_OG_STORING": "Processus d'écriture et d'indexation des métadonnées des groupes d'objets sur les offres de stockage", + "STP_CORRECTION_FINALIZE.FATAL": "une Erreur technique est survenue lors du processus de finalisation des corrections des signatures pour chaque objet, groupe d'objets ou unité auditée défaillante", + "STP_ELIMINATION_ANALYSIS_PREPARATION.OK": "Succès du processus de préparation de l'analyse de l'élimination des unités archivistiques", + "CHECK_FILE_FORMAT.KO": "Échec de la vérification des formats des objets et groupe d'objets", + "STP_DELETE_MASTERDATA_ACCESSION_REGISTER_SYMBOLIC.STARTED.OK": "Succès du début du processus de suppression du Registre des Fonds symboliques", + "CORRECTIVE_AUDIT.KO": "Échec de la correction des signatures de chaque unité archivistique ou objet ou groupe d'objets corrompue", + "PROBATIVE_VALUE_CHECK_MERKLE_TREE.KO": "Échec de la vérification de l'arbre de MERKLE", + "ELIMINATION_ANALYSIS_CHECK_DISTRIBUTION_THRESHOLD.FATAL": "Erreur technique lors de vérification des seuils de l'analyse de l'élimination des unités archivistiques", + "STP_BACKUP_INGEST_CONTRACT": "Processus de sauvegarde des contrats d'entrée", + "RECLASSIFICATION.KO": "Échec de la modification d'arborescence des unités archivistiques", + "CREATE_MANIFEST.WARNING": "Avertissement lors de la création du bordereau de mise à disposition", + "PROBATIVE_VALUE_CHECK_MERKLE_TREE": "Vérification de l'arbre de MERKLE", + "STP_DELETE_METADATA_OG.KO": "Échec du processus de suppression des métadonnées des groupes d'objets", + "STORAGE_AVAILABILITY_CHECK.STORAGE_AVAILABILITY_CHECK.FATAL": "Erreur technique lors de la vérification de la disponibilités de l'offre de stockage", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_INTEGRITY.FATAL": "Erreur technique lors de l'existence et de l'intégrité des objets", + "STP_CREATE_MANIFEST.KO": "Échec du processus de création du bordereau de mise à disposition", + "STP_ELIMINATION_ACTION_DELETE_UNIT.STARTED": "Début du processus d'élimination définitive des unités archivistiques éliminables", + "UPDATE_ARCHIVEUNITPROFILE.KO": "Échec du processus de mise à jour du profil d'unité archivistique", + "CHECK_HEADER.CHECK_AGENT.STARTED": "Début de la vérification de la présence et du contrôle des services agents", + "STP_EVIDENCE_AUDIT_EXTRACT_ZIP_FILE.WARNING": "Avertissement lors du processus d'extraction des signatures à partir des fichiers sécurisés", + "PREPARATION.STARTED.OK": "Succès du début du processus global de la préparation", + "STP_STORAGE_AVAILABILITY_CHECK": "Processus de vérification préalable à la prise en charge", + "ELIMINATION_ANALYSIS.KO": "Échec de l'analyse de l'élimination des unités archivistiques", + "STP_UPDATE.KO": "Échec du processus de traitement de mise à jour des unités archivistiques", + "STP_UNIT_STORING.STARTED.OK": "Succès du début du processus d'écriture des unités archivistiques sur les offres de stockage", + "ONTOLOGY_REPORT": "Processus de génération du rapport d'import du référentiel des ontologies", + "PROBATIVE_VALUE_OBJECT.FATAL": "Une Erreur technique est survenue lors de la création de la liste des objets du relevé de valeur probante", + "STP_BACKUP_REFERENTIAL_FORMAT.STARTED.OK": "Succès du début du processus de sauvegarde du référentiel des formats", + "LFC.PRESERVATION_INDEXATION_METADATA.FATAL": "Erreur technique lors de l'indexation des métadonnées du groupe d'objets", + "UNIT_METADATA_UPDATE_CHECK_RULES.STARTED.OK": "Succès du début de la vérification des règles de gestion", + "STP_UNIT_STORING.FATAL": "Erreur technique lors du processus d'écriture des unités archivistiques sur les offres de stockage", + "STP_UNIT_UPDATE.OK": "Succès du processus de mise à jour des unités archivistiques", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.OK": "Succès de l'audit de l'existence des objets", + "STP_ELIMINATION_ACTION_DELETE_UNIT": "Processus d'élimination définitive des unités archivistiques éliminables", + "LFC.CHECK_MANIFEST_WRONG_ATTACHMENT_LINK.KO": "Échec de la vérification des rattachements des unités archivistiques et groupes d'objets : l'élément déclaré ne permet pas de faire un rattachement", + "STP_DELETE_LOGBOOK_LIFECYCLE_OG.FATAL": "Erreur technique lors du processus de suppression des journaux du cycle de vie des groupes d'objets", + "UNIT_METADATA_UPDATE_CHECK_RULES.KO": "Échec de la vérification des règles de gestion", + "PROBATIVE_VALUE_CHECK_OBJECT_GROUP.OK": "Succès de la récupération des données dans la base de données", + "STP_MIGRATION_OBJECT_GROUPS_PREPARE": "Processus de préparation de la migration des groupes d'objets", + "FINALIZE_UNIT_LFC_TRACEABILITY.OK": "Succès de la finalisation de la sécurisation des journaux du cycle de vie des unités archivistiques", + "UPDATE_RULES_ARCHIVE_UNITS.OK": "Succès de la mise à jour des unités archivistiques", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_SAVED_HASH.OK": "Succès de la comparaison de l'arbre de MERKLE avec le Hash enregistré", + "ELIMINATION_ANALYSIS_PREPARATION.KO": "Échec de la préparation de l'analyse de l'élimination des unités archivistiques", + "STP_PROBATIVE_VALUE_PREPARE.WARNING": "Avertissement lors du processus du relevé de valeur probante", + "PROBATIVE_VALUE_EXTRACT_ZIP_FILE.FATAL": "Erreur technique lors de la préparation de l'extraction des signatures à partir des fichiers sécurisés", + "PRESERVATION_SIEGFRIED_IDENTIFICATION.OK": "Format de l'objet identifié, référencé dans le référentiel interne et avec des informations cohérentes entre le format attendu et le résultat de l'outil d'identification des formats.", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.TOO_MANY_VERSION_BY_USAGE.KO": "Le transfert de plusieurs versions d'un même usage dans un même versement est interdit", + "SCENARIO_REPORT": "Processus de génération du rapport d'import du référentiel des scénarios de préservation", + "STP_OP_SECURISATION.WARNING": "Avertissement lors du processus de sécurisation du journal des opérations", + "PROBATIVE_VALUE_CHECK_MERKLE_TREE.WARNING": "Avertissement lors de la vérification de l'arbre de MERKLE", + "STP_UPDATE_UNIT.WARNING": "Avertissement lors du processus de mise à jour des métadonnées de l'unité archivistique", + "STP_MIGRATION_OBJECT_GROUPS.WARNING": "Avertissement lors du processus de préparation de la migration des groupes d'objets", + "PROCESS_SIP_UNITARY.KO": "Échec du processus d'entrée du SIP", + "ELIMINATION_ANALYSIS_FINALIZATION.STARTED": "Début de la finalisation de l'analyse de l'élimination des unités archivistiques", + "STP_UPDATE_INGEST_CONTRACT.PROFILE_NOT_FOUND.KO": "Échec du processus de mise à jour du contrat d'entrée : au moins un profil d'archivage est inconnu", + "STP_SANITY_CHECK_SIP.STARTED.OK": "Succès du début du processus des contrôles préalables à l'entrée", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.WARNING": "Avertissement lors du processus de mise à jour du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "ELIMINATION_ACTION_DELETE_UNIT.OK": "Succès de l'élimination définitive des unités archivistiques éliminables", + "PROBATIVE_VALUE_LIST_OBJECT.KO": "Échec de la création de la liste des objets du relevé de valeur probante", + "STP_UPDATE_INGEST_CONTRACT.OK": "Succès du processus de mise à jour du contrat d'entrée", + "LFC.PRESERVATION_BINARY_HASH.KO": "Échec du calcul d'une empreinte en SHA-512", + "STP_DELETE_LOGBOOK_OPERATION.STARTED": "Début du processus de suppression des journaux d'opérations", + "LOGBOOK_OBJECTGROUP_LFC_TRACEABILITY.FATAL": "Erreur technique lors de la sécurisation des journaux du cycle de vie des groupes d'objets", + "STP_INGEST_CONTROL_SIP.OK": "Succès du processus du contrôle du SIP", + "STP_PREPARE_AUDIT.STARTED.OK": "Début du processus de préparation de l'audit", + "COMMIT_LIFE_CYCLE_UNIT.ALREADY_EXECUTED": "Action déjà exécutée : Pas d'enregistrement des journaux de cycle de vie des unités archivistiques", + "LFC.OG_METADATA_INDEXATION.WARNING": "Avertissement lors de l'indexation des métadonnées du groupe d'objets", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.FATAL": "Erreur fatale lors de l'identification du format", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.KO": "Échec de l'identification du format", + "STORAGE_AVAILABILITY_CHECK.STORAGE_AVAILABILITY_CHECK": "Vérification de la disponibilité de l'offre de stockage", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.REFERENTIAL_ERROR.FATAL": "Erreur technique lors de la recherche du format de l'objet dans le référentiel des formats", + "BACKUP_ARCHIVEUNITPROFILE": "Processus de sauvegarde des profils d'unité archivistique", + "LFC.UNIT_METADATA_UPDATE_CHECK_RULES.FATAL": "Erreur technique lors de la vérification de la mise à jour des règles de gestion de l'unité archivistique", + "RECTIFICATION_AUDIT": "Processus d'audit correctif modifié", + "STP_PERSONAL_CERTIFICATE_CHECK.FATAL": "Avertissement lors du processus de vérification du certificat personnel", + "STP_ELIMINATION_ACTION_DELETE_UNIT.STARTED.OK": "Succès du début du processus d'élimination définitive des unités archivistiques éliminables", + "ELIMINATION_ACTION_DELETE_UNIT.WARNING": "Avertissement lors de l'élimination définitive des unités archivistiques éliminables", + "OP_PROFILE_STORAGE.WARNING": "Avertissement lors de l'enregistrement du profil d'archivage", + "STP_EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS.STARTED": "Début du processus de création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "STP_FINALISE_AUDIT.STARTED.OK": "Début du processus de finalisation de l'audit", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.OK": "Succès de la vérification de la présence et du contrôle du contrat d'entrée", + "STP_OP_SECURISATION.FATAL": "Erreur technique lors du processus de sécurisation du journal des opérations", + "STORE_MANIFEST": "Création du DIP et de son déplacement vers l'offre de stockage", + "CHECK_DATAOBJECTPACKAGE.CHECK_CONSISTENCY_ORPHAN_OBJECT.KO": "Le bordereau de transfert contient des objets ou des groupes d'objets qui ne déclarent pas de rattachement à une unité archivistique", + "SCENARIO_REPORT.FATAL": "Erreur technique lors du processus de génération du rapport d'import du référentiel des scénarios de préservation", + "STP_PROBATIVE_VALUE_CHECK_MERKLE_TREE.KO": "Échec du processus de vérification de l'arbre de MERKLE", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.OBJECT_NOT_FOUND.FATAL": "L'objet à analyser n'a pas été trouvé", + "FINALIZE_OG_LFC_TRACEABILITY.OP_SECURISATION_STORAGE.FATAL": "Erreur technique lors du stockage des journaux du cycle de vie des groupes d'objets", + "ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.STARTED": "Début de la préparation de l'élimination définitive des groupes d'objets techniques", + "ELIMINATION_ACTION_UNIT_PREPARATION.WARNING": "Avertissement lors de la préparation de l'élimination définitive des unités archivistiques", + "STP_BACKUP_SECURITY_PROFILE.STARTED": "Début du processus de sauvegarde des profils de sécurité", + "CHECK_DATAOBJECTPACKAGE.INVALID_GUID_ATTACHMENT.KO": "Le rattachement n'a pas été effectué: l'élément de rattachement est incorrect", + "STP_STORAGE_SECURISATION.WARNING": "Avertissement lors du processus de sécurisation du journal des écritures", + "AUDIT_CHECK_OBJECT.AUDIT_CHECK_OBJECT.WARNING": "Avertissement lors de l'audit de l'existence et de l'intégrité des objets", + "ELIMINATION_ANALYSIS_PREPARATION.OK": "Succès de la préparation de l'analyse de l'élimination des unités archivistiques", + "CORRECTIVE_AUDIT.OK": "Succès de la correction des signatures de chaque unité archivistique ou objet ou groupe d'objets corrompue", + "STP_PROBATIVE_VALUE_CHECK_MERKLE_TREE.OK": "Succès du processus de vérification de l'arbre de MERKLE", + "STP_PREPARE_LISTS.FATAL": "Erreur technique lors du processus de préparation des listes d'unités archivistiques à mettre à jour", + "STP_INGEST_CONTROL_SIP.ALREADY_EXECUTED": "Action déjà exécutée : Pas de de processus de contrôle du SIP", + "STP_UPDATE.OK": "Succès du processus de traitement de mise à jour des unités archivistiques", + "STP_DELETE_METADATA_OG.OK": "Succès du processus de suppression des métadonnées des groupes d'objets", + "STP_DELETE_SECURITY_PROFILE.FATAL": "Erreur technique lors du processus suppression du profil de sécurité", + "PROBATIVE_VALUE_CHECK_MERKLE_TREE.OK": "Succès de la vérification de l'arbre de MERKLE", + "LFC.OG_OBJECTS_FORMAT_CHECK.KO": "Échec de la vérification des formats : format des objets non identifiés ou absents dans le référentiel des formats", + "ELIMINATION_ANALYSIS_CHECK_DISTRIBUTION_THRESHOLD": "Vérification des seuils de l'analyse de l'élimination des unités archivistiques", + "LFC.OG_METADATA_STORAGE.KO": "Échec de l'écriture des métadonnées du groupe d'objets sur les offres de stockage", + "CHECK_SEDA.NO_FILE": "Vérification globale du SIP", + "LFC.OG_METADATA_STORAGE.WARNING": "Avertissement technique lors de l'écriture des métadonnées du groupe d'objets sur les offres de stockage", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.KO": "Échec de l'audit de l'existence des objets : au moins un objet demandé n'existe pas ou des stratégies de stockage sont incohérentes avec les offres déclarées", + "STP_DELETE_MASTERDATA_GRIFFIN.STARTED": "Début du processus de suppression du référentiel des griffons", + "LFC.CHECK_UNIT_SCHEMA.RULE_DATE_FORMAT.WARNING": "Avertissement lors de la vérification de la cohérence de la date déclarée dans les règles de gestion", + "COMMIT_LIFE_CYCLE_UNIT.OK": "Succès de l'enregistrement des journaux du cycle de vie des unités archivistiques", + "LFC.CHECK_MANIFEST_WRONG_ATTACHMENT.STARTED": "Début de la vérification des rattachements des unités archivistiques et groupes d'objets", + "LFC.CHECK_UNIT_SCHEMA.RULE_DATE_FORMAT.FATAL": "Erreur technique lors de la vérification de la cohérence de la date déclarée dans les règles de gestion", + "STP_UPDATE_UNIT_DESC": "Processus de mise à jour des métadonnées descriptives de l'unité archivistique", + "LFC.CHECK_MANIFEST.LFC_CREATION": "Création du journal du cycle de vie", + "STP_MIGRATION_OBJECT_GROUPS_PREPARE.STARTED": "Début du processus de préparation de la migration des groupes d'objets", + "UNIT_METADATA_UPDATE_CHECK_RULES.FATAL": "Erreur technique lors de la vérification des règles de gestion", + "FINALIZE_UNIT_LFC_TRACEABILITY.KO": "Échec de la finalisation de la sécurisation des journaux du cycle de vie des unités archivistiques", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_SAVED_HASH.KO": "Échec de la comparaison de l'arbre de MERKLE avec le Hash enregistré", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_INTEGRITY.OK": "Succès de l'audit de la vérification des fichiers du groupe d'objets", + "STP_UPDATE_CONTEXT.STARTED": "Début du processus de mise à jour du contexte applicatif", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.CONTRACT_UNKNOWN.KO": "Échec de la vérification de la présence et contrôle de la présence du contrat d'entrée : le contrat d'entrée est inconnu du référentiel des contrats d'entrée", + "ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.FATAL": "Erreur technique lors de la préparation de l'élimination définitive des groupes d'objets techniques", + "STP_EVIDENCE_AUDIT_CHECK_DATABASE.STARTED": "Début du processus de la récupération des données dans la base de donnée", + "MASS_UPDATE_UNITS_RULES.FATAL": "Erreur technique lors de la mise à jour des métadonnées de gestion des unités archivistiques", + "STP_IMPORT_RULES_BACKUP": "Processus de sauvegarde du référentiel des règles de gestion", + "IMPORT_AGENCIES_BACKUP_CSV": "Processus de sauvegarde du fichier d'import du référentiel des services agents", + "CORRECTION_FINALIZE.WARNING": "Avertissement lors du processus de finalisation des corrections des signatures pour chaque objet, groupe d'objets ou unité auditée défaillante", + "PROBATIVE_VALUE_CHECK_OBJECT_GROUP.KO": "Échec de la récupération des données dans la base de données", + "STP_VERIFY_STAMP.WARNING": "Avertissement lors du processus de vérification de l'horodatage", + "UNIT_METADATA_UPDATE_CHECK_DT.WARNING": "Avertissement lors de la vérification de l'association à un profil d'unité archivistique", + "STP_DELETE_MASTERDATA_ACCESSION_REGISTER_SYMBOLIC.STARTED": "Début du processus de suppression du Registre des Fonds symboliques", + "ELIMINATION_ACTION_DELETE_UNIT.KO": "Échec de l'élimination définitive des unités archivistiques éliminables", + "PROBATIVE_VALUE_LIST_OBJECT.OK": "Succès de la création de la liste des objets du relevé de valeur probante", + "MASS_UPDATE_UNITS_RULES.OK": "Succès de la mise à jour des métadonnées de gestion des unités archivistiques", + "PREPARE_TRACEABILITY_CHECK.WARNING": "Avertissement lors de la préparation de la vérification des journaux sécurisés", + "CHECK_SEDA.NOT_XSD_VALID.KO": "Échec de la vérification globale du SIP : bordereau de transfert non conforme au schéma SEDA 2.1", + "FINALIZE_UNIT_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP": "Horodatage des journaux du cycle de vie des unités archivistiques", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.OK": "Format de l'objet identifié, référencé dans le référentiel interne et avec des informations cohérentes entre l'opération de préservation et le résultat de l'outil d'identification des formats.", + "MASS_UPDATE_UNITS_RULES": "Mise à jour des métadonnées de gestion des unités archivistiques", + "LFC.CHECK_MANIFEST_WRONG_ATTACHMENT_LINK.OK": "Succès de la vérification des rattachements des unités archivistiques et groupes d'objets", + "LFC.OG_METADATA_STORAGE.OK": "Succès de l'écriture des métadonnées du groupe d'objets sur les offres de stockage", + "ONTOLOGY_REPORT.STARTED.OK": "Succès du début du processus de génération du rapport d'import du référentiel des ontologies", + "STP_UPDATE_INGEST_CONTRACT.KO": "Échec du processus de mise à jour du contrat d'entrée", + "PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD.FATAL": "Erreur technique lors de la préparation de la liste des signatures dans les fichiers sécurisés", + "STP_DELETE_METADATA_OG": "Processus de suppression des métadonnées des groupes d'objets", + "STP_UNIT_DETACHMENT": "Processus de détachement des unités archivistiques", + "STP_ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.FATAL": "Erreur technique lors du processus de préparation de l'élimination définitive des groupes d'objets techniques", + "STP_ELIMINATION_ANALYSIS_FINALIZATION.WARNING": "Avertissement lors du processus de finalisation de l'analyse de l'élimination des unités archivistiques", + "PRESERVATION_BINARY_HASH.FATAL": "Erreur technique lors du calcul d'une empreinte en SHA-512", + "STP_PROBATIVE_VALUE_CHECK_MERKLE_TREE.WARNING": "Avertissement lors du processus de vérification de l'arbre de MERKLE", + "STP_UNIT_METADATA.ALREADY_EXECUTED": "Action déjà exécutée : Pas de processus d'indexation des métadonnées des unités archivistiques", + "EXPORT_DIP.STARTED": "Début de l'export du DIP", + "STP_DELETE_MASTERDATA_ACCESSION_REGISTER_SYMBOLIC.FATAL": "Une erreur technique est survenue lors du processus de suppression du Registre des Fonds symboliques", + "STP_PREPARE_TRACEABILITY_CHECK.STARTED": "Début du processus de préparation de la vérification des journaux sécurisés", + "LFC.CHECK_UNIT_SCHEMA.KO": "Échec de la vérification globale de l'unité archivistique", + "STP_EVIDENCE_AUDIT_FINALIZE.OK": "Succès du processus de finalisation du rapport de l'audit de cohérence (aucun objet en erreur)", + "IMPORT_AGENCIES_BACKUP_CSV.FATAL": "Erreur technique lors du processus de sauvegarde du fichier d'import du référentiel des services agents", + "LFC.CHECK_CONSISTENCY_ORPHAN_OBJECT.OK": "Succès de la vérification du rattachement des objets aux groupes d'objets et aux unités archivistiques", + "ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.STARTED.OK": "Succès du début de la préparation du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "SANITY_CHECK_SIP.WARNING": "Avertissement lors du contrôle sanitaire du SIP", + "STP_REFERENTIAL_FORMAT_IMPORT.STARTED.OK": "Succès du début du processus d'import du référentiel des formats", + "STP_INGEST_CONTROL_SIP.KO": "Échec du processus du contrôle du bordereau du SIP", + "LIST_OBJECTGROUP_ID.WARNING": "Avertissement lors de la création de la liste des groupes d'objets à auditer", + "RECLASSIFICATION_PREPARATION_CHECK_GRAPH": "Contrôle de cohérence du graphe au moment de la modification d'arborescence des unités archivistiques", + "CHECK_MERKLE_TREE.KO": "Échec de la vérification de l'arbre de MERKLE", + "EVIDENCE_AUDIT_EXTRACT_ZIP_FILE.KO": "Échec de l'extraction des signatures à partir des fichiers sécurisés", + "STP_PROBATIVE_VALUE_CHECK_MERKLE_TREE.STARTED.OK": "Succès du processus de vérification de l'arbre de MERKLE", + "STP_IMPORT_RULES_BACKUP.FATAL": "Erreur technique lors du processus de sauvegarde du rérentiel des règles de gestion", + "STP_BACKUP_INGEST_CONTRACT.STARTED.OK": "Succès du début du processus de sauvegarde des contrats d'entrée", + "STP_OG_CHECK_AND_TRANSFORME.STARTED": "Début du processus de vérification et de traitement des objets et des groupes d' objets", + "STP_UNIT_METADATA.FATAL": "Erreur technique lors du processus d'indexation des métadonnées des unités archivistiques", + "FILINGSCHEME.STARTED": "Début du processus d'entrée du plan de classement", + "STP_PREPARE_AUDIT.STARTED": "Début du processus de préparation de l'audit", + "STP_DELETE_MASTERDATA_AGENCIES.FATAL": "Erreur technique lors du processus de suppression du référentiel des services agents", + "STP_PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD.WARNING": "Avertissement lors du processus de préparation de la liste des signatures dans les fichiers sécurisés", + "UPDATE_UNIT_RULES.FATAL": "Erreur technique lors de la mise à jour des règles de gestion des unités archivistiques", + "PRESERVATION_STORAGE_METADATA_LFC": "Enregistrement des journaux du cycle de vie des groupes d'objets", + "STP_STORAGE_SECURISATION.KO": "Échec du processus de sécurisation du journal des écritures", + "FINALIZE_OG_LFC_TRACEABILITY.FINALIZE_OG_LFC_TRACEABILITY.STARTED": "Début de la finalisation de la sécurisation des journaux du cycle de vie des groupes d'objets", + "REPORT_AUDIT.WARNING": "Avertissement lors de la notification de la fin de l'audit", + "CHECK_DATAOBJECTPACKAGE.CHECK_NO_OBJECT.FATAL": "Erreur technique lors de la vérification de l'absence d'objet", + "STP_ELIMINATION_ANALYSIS_PREPARATION.STARTED.OK": "Succès du début du processus de préparation de l'analyse de l'élimination des unités archivistiques", + "CHECK_HEADER.EMPTY_REQUIRED_FIELD.KO": "Vérification générale du bordereau de transfert : un champ obligatoire est vide", + "STP_SANITY_CHECK_SIP": "Processus des contrôles préalables à l'entrée", + "TRACEABILITY.WARNING": "Avertissement lors de l'opération de sécurisation", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.FATAL": "Erreur technique lors de l'audit de la vérification des fichiers du groupe d'objets", + "CHECK_ARCHIVE_UNIT_PROFILE.NOT_AU_JSON_VALID.KO": "Échec de la vérification de la conformité aux profils d'unité archivistique:json invalide", + "MASS_UPDATE_FINALIZE.FATAL": "Erreur technique lors du processus de traitement de mise à jour des générations du rapport de mise à jour des métadonnées descriptives des unités archivistiques", + "CREATE_MANIFEST.STARTED": "Début de la création du bordereau de mise à disposition", + "STORAGE_ACCESS_BACKUP.WARNING": "Avertissement lors de la sauvegarde des logs d'accès", + "STP_DELETE_CONTEXT.OK": "Succès du processus de suppression du contexte applicatif applicatif", + "STP_IMPORT_ACCESS_CONTRACT": "Processus d'import du contrat d'accès", + "UNIT_METADATA_UPDATE": "Mise à jour des métadonnées des unités archivistiques", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_OBJECTNUMBER.MANIFEST_SUPERIOR_BDO.KO": "Le bordereau de transfert déclare plus d'objets binaires qu'il n'en existe dans le répertoire Content du SIP", + "LFC.CHECK_ARCHIVE_UNIT_PROFILE.OK": "Succès de la vérification de la conformité aux profils d'unité archivistique", + "STP_IMPORT_INGEST_CONTRACT.STARTED": "Début du processus d'import du contrat d'entrée", + "OP_PROFILE_STORAGE.STARTED": "Début de l'enregistrement du profil d'archivage", + "PRESERVATION_PREPARATION.OK": "Succès de la préparation du traitement de préservation", + "LFC.OG_CREATE_SECURED_FILE.FATAL": "Erreur technique lors de la création de fichiers sécurisés du groupe d'objets", + "STP_IMPORT_RULES_BACKUP_CSV": "Processus d'enregistrement du fichier d'import du référentiel des règles de gestion", + "STP_ELIMINATION_ACTION_DELETE_UNIT.KO": "Échec du processus d'élimination définitive des unités archivistiques éliminables", + "LFC.OG_METADATA_INDEXATION.STARTED": "Début de l'indexation des métadonnées du groupe d'objets", + "STORAGE_BACKUP": "Sauvegarde des journaux des écritures", + "LFC.UPDATE_OBJECT_GROUP.WARNING": "Erreur technique lors de la mise à jour du groupe d'objets", + "ELIMINATION_ACTION_REPORT_GENERATION.FATAL": "Erreur technique lors de la de génération du rapport d'élimination définitive des unités archivistiques", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_INTEGRITY.KO": "Échec de l'audit de la vérification des fichiers du groupe d'objets", + "UNIT_METADATA_UPDATE.KO": "Échec de la mise à jour des métadonnées des unités archivistiques", + "ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.KO": "Échec de la préparation de l'élimination définitive des groupes d'objets techniques", + "STP_STORE_MANIFEST.STARTED.OK": "Début du processus de création du DIP et de son déplacement vers l'offre de stockage", + "OBJECTS_LIST_EMPTY.STARTED": "Début de l'établissement de la liste des objets", + "STP_EVIDENCE_AUDIT_CHECK_DATABASE.KO": "Échec du processus de la récupération des données dans la base de donnée", + "STP_BACKUP_GRIFFIN.OK": "Succès du processus de sauvegarde des griffons", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_INTEGRITY.KO": "Échec de l'audit de l'existence et de l'intégrité des objets", + "LFC.CHECK_DIGEST.STARTED.OK": "Succès du début de la vérification de l'intégrité des objets versés", + "STP_UPDATE_PROFILE_JSON": "Processus de mise à jour du profil d'archivage", + "FINALIZE_UNIT_LFC_TRACEABILITY.FINALIZE_UNIT_LFC_TRACEABILITY.WARNING": "Avertissement lors de la finalisation de la sécurisation des journaux du cycle de vie des unités archivistiques", + "CHECK_DIGEST.OK": "Succès de la vérification de l'empreinte des objets", + "MIGRATION_OBJECT_GROUPS_LIST.STARTED": "Début de la distribution des groupes d'objets", + "EXPORT_PROBATIVE_VALUE.OK": "Succès du processus du processus d'export du relevé de valeur probante", + "ACCESSION_REGISTRATION.KO": "Échec de l'alimentation du Registre des Fonds", + "STP_DELETE_MASTERDATA_AGENCIES": "Processus de suppression du référentiel des services agents", + "STP_OG_STORING.FATAL": "Erreur technique lors du processus d'écriture des métadonnées des groupes d'objets sur les offres de stockage", + "STP_STORE_MANIFEST.WARNING": "Avertissement lors du processus de création du DIP et de son déplacement vers l'offre de stockage", + "LFC.CHECK_ARCHIVE_UNIT_PROFILE.PROFILE_NOT_FOUND.KO": "Échec de la vérification de la conformité aux profils d'unité archivistique : profil d'unité archivistique non trouvé", + "PRESERVATION_BINARY_HASH.STARTED": "Début du calcul d'une empreinte en SHA-512", + "CHECK_ARCHIVE_UNIT_PROFILE.INACTIVE_STATUS.KO": "Échec de la vérification de la conformité aux profils d'unité archivistique : profil d'unité archivistique non actif", + "LFC.PRESERVATION_BINARY_HASH.INVALID.KO": "Échec de la vérification de l'empreinte du fichier", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.PUID_NOT_FOUND.KO": "Identifiant du format de l'objet (PUID) absent dans le référentiel des formats", + "STP_MIGRATION_OBJECT_GROUPS": "Processus de préparation de la migration des groupes d'objets", + "OBJ_STORAGE.OK": "Succès de l'écriture des objets et des groupes d'objets sur les offres de stockage", + "OP_SECURISATION_STORAGE.KO": "Échec de l'enregistrement des journaux sur les offres de stockage", + "STP_PRESERVATION_ACTION.WARNING": "Avertissement lors du processus de lancement du griffon", + "STORAGE_AVAILABILITY_CHECK.STORAGE_OFFER_KO_UNAVAILABLE.KO": "Échec de la vérification de la disponibilité d'au moins une offre de stockage", + "STP_UPDATE_ACCESS_CONTRACT.CONTRACT_NOT_FOUND.KO": "Échec du processus de mise à jour du contrat d'accès : contrat d'accès non trouvé", + "GRIFFIN_REPORT.STARTED": "Début de la génération du rapport d'import du référentiel des griffons", + "STP_MIGRATION_UNITS.STARTED": "Début du processus de préparation de la migration des unités archivistiques", + "STP_DELETE_CONTEXT.KO": "Échec du processus de suppression du contexte applicatif applicatif", + "LFC.CHECK_MANIFEST.TOO_MANY_FOUND_ATTACHMENT.KO": "Le rattachement n'a pas été effectué: l'élément de rattachement n'est pas unique dans le système", + "STP_DELETE_ACCESSION_REGISTER_SUMMARY.FATAL": "Erreur technique lors du processus de suppression du Registre des Fonds (Résumé)", + "STP_INGEST_FINALISATION.WARNING": "Avertissement lors du processus de finalisation de l'entrée", + "LFC.CHECK_ARCHIVE_UNIT_PROFILE.STARTED.OK": "Succès du début de la vérification de la conformité aux profils d'unité archivistique", + "BUILD_OG_LFC_TRACEABILITY.STARTED.OK": "Succès de la sécurisation des journaux du cycle de vie des groupes d'objets", + "FINALIZE_UNIT_LFC_TRACEABILITY.OP_SECURISATION_STORAGE.KO": "Échec du stockage des journaux du cycle de vie des unités archivistiques", + "STP_OG_CHECK_AND_TRANSFORME.ALREADY_EXECUTED": "Action déjà exécutée : Pas de processus de vérification et de traitement des objets et des groupes d'objets", + "PRESERVATION_STORAGE_BINARY.OK": "Succès de l'écriture des objets et des groupes d'objets sur les offres de stockage", + "FILINGSCHEME.STARTED.OK": "Succès du début du processus d'entrée du plan de classement", + "EVIDENCE_AUDIT_EXTRACT_ZIP_FILE": "Extraction des signatures à partir des fichiers sécurisés", + "MASTERDATA": "Données de base", + "STP_DELETE_MASTERDATA_GRIFFIN.WARNING": "Avertissement lors du processus de suppression du référentiel des griffons", + "STP_BACKUP_SCENARIO.FATAL": "Avertissement lors du processus de sauvegarde des scénarios de préservation", + "CHECK_LOGBOOK_OP_SECURISATION.STARTED": "Début de la vérification des journaux sécurisés", + "PRESERVATION_FINALIZATION": "Finalisation du traitement de préservation", + "CHECK_MERKLE_TREE.OK": "Succès de la vérification de l'arbre de MERKLE", + "STP_PREPARE_LISTS.STARTED.OK": "Succès du début du processus de préparation des listes d'unités archivistiques à mettre à jour", + "STP_ELIMINATION_ACTION_REPORT_GENERATION.FATAL": "Erreur technique lors du processus de génération du rapport d'élimination définitive des unités archivistiques", + "EXTERNAL_LOGBOOK.FATAL": "Erreur technique lors de la journalisation d'événements externes", + "MIGRATION_OBJECT_GROUPS.STARTED": "Début de la migration des groupes d'objets", + "IMPORT_PRESERVATION_SCENARIO.KO": "Échec du processus d'import du référentiel des scénarios de préservation", + "LFC.UPDATE_UNIT_RULES.FATAL": "Erreur technique lors de la mise à jour des règles de gestion de l'unité archivistique", + "CHECK_SEDA.OK": "Succès de la vérification globale du SIP", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.ATTACHMENT_OBJECTGROUP.KO": "Le contrat d'entrée n'autorise pas le rattachement d'un objet à un groupe d'objets existant.", + "STP_ELIMINATION_ACTION_DELETE_OBJECT_GROUP": "Processus d'élimination définitive des groupes d'objets techniques dont les unités archivistiques parentes sont éliminées", + "ELIMINATION_ACTION_UNIT_PREPARATION.STARTED": "Début de la préparation de l'élimination définitive des unités archivistiques", + "COMMIT_LIFE_CYCLE_UNIT": "Enregistrement des Journaux du Cycle de Vie des unités archivistiques", + "STP_UPDATE_OBJECT_GROUP.STARTED.OK": "Succès du début du processus de mise à jour du groupe d'objets", + "STP_RECLASSIFICATION_PREPARATION.WARNING": "Avertissement lors du processus de préparation de la modification d'arborescence des unités archivistiques", + "STP_STORAGE_SECURISATION.STARTED": "Début du processus de sécurisation du journal des écritures", + "STP_UPDATE_UNIT_DESC.FATAL": "Erreur technique lors du processus de mise à jour des métadonnées descriptives de l'unité archivistique", + "LFC.UPDATE_OBJECT_GROUP.STARTED.OK": "Début de la mise à jour du groupe d'objets", + "STP_PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD.STARTED": "Début du processus de préparation de la liste des signatures dans les fichiers sécurisés", + "UNIT_METADATA_INDEXATION.ALREADY_EXECUTED": "Action déjà exécutée : Pas d'indexation des métadonnées de l'unité archivistique", + "LFC.CHECK_ARCHIVE_UNIT_PROFILE.KO": "Échec de la vérification de la conformité aux profils d'unité archivistique", + "STP_MASS_UPDATE_FINALIZE.WARNING": "Avertissement lors du processus de génération du rapport de mise à jour des métadonnées descriptives des unités archivistiques", + "LIST_ARCHIVE_UNITS.FATAL": "Erreur technique lors du processus d'établissement de la liste des unités archivistiques à mettre à jour", + "STP_UPLOAD_SIP.WARNING": "Avertissement lors du processus de réception du SIP", + "PRESERVATION_PREPARATION.KO": "Échec de la préparation du traitement de préservation", + "STP_INGEST_FINALISATION": "Processus de finalisation de l'entrée", + "PROBATIVE_VALUE_CHECK_OBJECT_GROUP.FATAL": "Erreur technique lors de la récupération des données dans la base de données", + "STP_ELIMINATION_ANALYSIS_PREPARATION.KO": "Échec du processus de préparation de l'analyse de l'élimination des unités archivistiques", + "STP_UNIT_ATTACHMENT.KO": "Échec du processus de rattachement des unités archivistiques", + "IMPORT_ARCHIVEUNITPROFILE": "Processus d'import du profil d'unité archivistique", + "STP_OG_LFC_TRACEABILITY.OK": "Succès de la sécurisation des journaux du cycle de vie des groupes d'objets", + "CHECK_DIGEST.KO": "Échec de la vérification de l'empreinte des objets", + "STP_RECLASSIFICATION_PREPARATION": "Processus de préparation de la modification d'arborescence des unités archivistiques", + "STP_MASS_UPDATE_FINALIZE.FATAL": "Erreur technique lors du processus de génération du rapport de mise à jour des métadonnées descriptives des unités archivistiques", + "LOGBOOK_UNIT_LFC_TRACEABILITY.STARTED": "Début de la sécurisation des journaux du cycle de vie des unités archivistiques", + "FINALIZE_OG_LFC_TRACEABILITY.FINALIZE_OG_LFC_TRACEABILITY.KO": "Échec de la finalisation de la sécurisation des journaux du cycle de vie des groupes d'objets", + "UNITS_RULES_COMPUTE.FATAL": "Erreur technique lors de l'application des règles de gestion et du calcul des dates d'échéance", + "STP_ELIMINATION_ACTION_DELETE_UNIT.OK": "Succès du processus d'élimination définitive des unités archivistiques éliminables", + "BUILD_OG_LFC_TRACEABILITY.WARNING": "Avertissement lors de la sécurisation des journaux du cycle de vie des groupes d'objets", + "UPDATE_RULES_ARCHIVE_UNITS.KO": "Échec de la mise à jour des unités archivistiques", + "RECLASSIFICATION_PREPARATION.WARNING": "Avertissement lors de la préparation de la modification d'arborescence des unités archivistiques", + "BACKUP_AGENCIES.OK": "Succès du processus de sauvegarde du référentiel des services agents", + "ACCESSION_REGISTRATION.OK": "Succès de l'alimentation du Registre des Fonds", + "EXPORT_PROBATIVE_VALUE.KO": "Échec du processus du processus d'export du relevé de valeur probante", + "UNIT_METADATA_UPDATE.OK": "Succès de la mise à jour des métadonnées des unités archivistiques", + "OG_METADATA_INDEXATION": "Indexation des métadonnées des objets et des groupes d'objets", + "EXTERNAL_LOGBOOK": "Journalisation d'événements externes", + "EVIDENCE_AUDIT_FINALIZE.OK": "Succès de la création du rapport de l'audit de cohérence", + "MASS_UPDATE.WARNING": "Avertissement lors de la mise à jour des métadonnées des unités archivistiques", + "STP_VERIFY_STAMP.STARTED": "Début du processus de vérification de l'horodatage", + "OG_OBJECTS_FORMAT_CHECK.OK": "Succès de l'identification des formats", + "MASS_UPDATE_UNITS.FATAL": "Erreur technique lors de la mise à jour des unités archivistiques", + "STP_IMPORT_SECURITY_PROFILE.WARNING": "Avertissement lors du processus d'import du profil de sécurité", + "LFC.UPDATE_OBJECT_GROUP.OK": "Succès de la mise à jour du groupe d'objets", + "LFC.UNITS_RULES_COMPUTE.UNKNOWN.FATAL": "Erreur technique lors de la vérification de l'échéance des règles de gestion", + "MIGRATION_UNITS": "Migration des unités archivistiques", + "LFC.UNITS_RULES_COMPUTE.UNKNOWN.KO": "Échec de la vérification de l'échéance des règles de gestion: Au moins une règle de gestion déclarée est inconnue du système ou l'échéance calculée est postérieure au 01/01/9000 (Date de début + Durée de la règle)", + "STP_PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD.OK": "Succès du processus de préparation de la liste des signatures dans les fichiers sécurisés", + "EVIDENCE_AUDIT_CHECK_DATABASE.FATAL": "Erreur technique lors de la récupération des données dans la base de donné", + "MASS_UPDATE": "Mise à jour des métadonnées des unités archivistiques", + "LFC.UNITS_RULES_COMPUTE.REF_INCONSISTENCY.KO": "Échec de la vérification de la cohérence de la règle de gestion dont l'annulation est demandée par rapport à sa catégorie : la demande d'annulation d'une règle de gestion n'est pas cohérente avec sa catégorie", + "FINALIZE_OG_LFC_TRACEABILITY.FINALIZE_OG_LFC_TRACEABILITY.OK": "Succès de la finalisation de la sécurisation des journaux du cycle de vie des groupes d'objets", + "FILINGSCHEME.WARNING": "Avertissement lors du processus d'entrée du plan de classement", + "ACCESSION_REGISTRATION": "Alimentation du Registre des Fonds", + "STP_PROBATIVE_VALUE_CHECK_OBJECT_GROUP.STARTED.OK": "Succès du début du processus de récupération des données dans la base de données", + "STP_PREPARE_LISTS": "Processus de préparation des listes d'unités archivistiques à mettre à jour", + "LFC.OG_CREATE_SECURED_FILE": "Création des fichiers sécurisés du groupe d'objets", + "BACKUP_ONTOLOGY": "Processus de sauvegarde des ontologies", + "OBJ_STORAGE.KO": "Échec de l'écriture des objets et des groupes d'objets sur les offres de stockage", + "OP_SECURISATION_STORAGE.OK": "Succès de l'enregistrement des journaux sur les offres de stockage", + "STP_ACCESSION_REGISTRATION.FATAL": "Erreur technique lors du processus d'alimentation du Registre des Fonds", + "LFC.OG_METADATA_STORAGE.STARTED": "Début de l'écriture des métadonnées du groupe d'objets sur les offres de stockage", + "CHECK_SEDA.NOT_XML_FILE": "Vérification globale du SIP", + "CHECK_DATAOBJECTPACKAGE.MANIFEST_INFERIOR_BDO.KO": "Le bordereau de transfert déclare moins d'objets binaires qu'il n'en existe dans le répertoire Content du SIP", + "STORAGE_SECURISATION_TIMESTAMP.OK": "Succès de la création du tampon d'horodatage de l'ensemble des journaux d'écriture", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.FATAL": "Erreur technique lors du processus de préparation du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "PRESERVATION_STORAGE_BINARY.KO": "Échec de l'écriture des objets et des groupes d'objets sur les offres de stockage", + "MASS_UPDATE_UNITS.WARNING": "Avertissement lors de la mise à jour des unités archivistiques", + "LFC.UNIT_METADATA_INDEXATION.FATAL": "Erreur technique lors de l'indexation de l'unité archivistique", + "STP_ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.STARTED.OK": "Succès du début du processus de préparation de l'élimination définitive des groupes d'objets techniques", + "STP_PROBATIVE_VALUE_CHECK_MERKLE_TREE.STARTED": "Début du processus de vérification de l'arbre de MERKLE", + "UPDATE_RULES_ARCHIVE_UNITS": "Processus de mise à jour des unités archivistiques", + "LFC.CHECK_UNIT_SCHEMA.STARTED.OK": "Succès du début de la vérification globale de l'unité archivistique", + "STP_DELETE_MASTERDATA_CONTEXT.STARTED.OK": "Succès du début du processus de suppression des contextes applicatifs", + "LFC.CHECK_MANIFEST.WARNING": "Avertissement lors de la vérification de la cohérence du bordereau de transfert", + "CHECK_UNIT_SCHEMA.WARNING": "Avertissement lors de la vérification globale de l'unité archivistique", + "FINALIZE_UNIT_LFC_TRACEABILITY.OP_SECURISATION_STORAGE.OK": "Succès du stockage des journaux du cycle de vie des unités archivistiques", + "PROCESS_SIP_UNITARY.OK": "Succès du processus d'entrée du SIP", + "LFC.PRESERVATION_BINARY_HASH.PRESERVATION_BINARY_HASH.STARTED": "Début du calcul d'une empreinte en SHA-512", + "VERIFY_TIMESTAMP": "Vérification de l'horodatage", + "CHECK_HEADER.CONTEXT_INACTIVE.KO": "Échec de la vérification générale du bordereau de transfert : le contexte applicatif déclaré dans le bordereau de transfert est inactif", + "IMPORT_PRESERVATION_SCENARIO.OK": "Succès du processus d'import du référentiel des scénarios de préservation", + "CHECK_SEDA.KO": "Échec de la vérification globale du SIP", + "CHECK_RULES.MAX_DURATION_EXCEEDS.KO": "Échec du contrôle de sécurité des règles de gestion. Les durées des règles de gestion doivent être supérieures ou égales aux durées minimales requises par le tenant", + "STP_STORAGE_SECURISATION.OK": "Succès du processus de sécurisation du journal des écritures", + "IMPORT_PRESERVATION_SCENARIO": "Processus d'import du référentiel des scénarios de préservation", + "LFC.CHECK_MANIFEST_WRONG_ATTACHMENT_LINK": "Vérification des rattachements des unités archivistiques et groupes d'objets", + "STP_ELIMINATION_ACTION_DETACH_OBJECT_GROUP.STARTED.OK": "Succès du début du processus de détachement des groupes d'objets techniques dont certaines unités archivistiques parentes sont éliminées", + "OBJECTS_LIST_EMPTY.OK": "Succès de l'établissement de la liste des objets", + "HOLDINGSCHEME.STARTED.OK": "Succès du début de l'import de l'arbre de positionnement", + "ELIMINATION_ANALYSIS_UNIT_INDEXATION.OK": "Succès de l'indexation de l'analyse d'élimination des unités archivistiques", + "PROCESS_SIP_UNITARY_TEST.STARTED": "Début du processus d'entrée à blanc du SIP", + "STP_DELETE_ACCESSION_REGISTER_SUMMARY.OK": "Succès du processus de suppression du Registre des Fonds (Résumé)", + "BACKUP_ONTOLOGY.OK": "Succès du processus de sauvegarde des ontologies", + "CHECK_UNIT_SCHEMA.RULE_DATE_FORMAT": "Vérification globale de l'unité archivistique : vérification du format des dates", + "STP_DELETE_LOGBOOK_LIFECYCLE_UNIT": "Processus de suppression des journaux du cycle de vie des unités archivistiques", + "STP_INGEST_FINALISATION.OK": "Succès du processus de finalisation de l'entrée", + "STP_SANITY_CHECK_SIP.KO": "Échec du processus des contrôles préalables à l'entrée", + "STP_UNIT_GRAPH_COMPUTE.FATAL": "Erreur technique lors du processus de mise à jour des graphes des unités archivistiques", + "UPDATE_AGENCIES.KO": "Échec du processus de mise à jour du référentiel des services agents", + "STP_UNIT_METADATA.WARNING": "Avertissement lors du processus d'indexation des métadonnées des unités archivistiques", + "FINALIZE_UNIT_LFC_TRACEABILITY.FINALIZE_UNIT_LFC_TRACEABILITY.FATAL": "Erreur technique lors de la finalisation de la sécurisation des journaux du cycle de vie des unités archivistiques", + "CHECK_DATAOBJECTPACKAGE.CHECK_NO_OBJECT": "Vérification de l'absence d'objet", + "RECLASSIFICATION_PREPARATION_LOAD_REQUEST.WARNING": "Avertissement lors du chargement des unités archivistiques au moment de la modification d'arborescence des unités archivistiques", + "CREATE_MANIFEST.FATAL": "Erreur technique lors de la création du bordereau de mise à disposition", + "VERIFY_TIMESTAMP.VALIDATE_TOKEN_TIMESTAMP.OK": "Succès de la validation du tampon d'horodatage", + "LFC.OBJ_STORAGE.WARNING": "Avertissement lors de l'écriture des objets sur les offres de stockage", + "STP_EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD.FATAL": "Erreur technique lors du processus de la préparation de la liste des signatures dans les fichiers sécurisés", + "BACKUP_AGENCIES.KO": "Échec du processus de sauvegarde du référentiel des services agents", + "STP_DELETE_MASTERDATA_ARCHIVE_UNIT_PROFILE.STARTED.OK": "Succès du début du processus de suppression du référentiel des profils d'unité archivistique", + "STP_PRESERVATION_FINALIZATION.OK": "Succès du processus de finalisation du traitement de préservation", + "CHECK_SEDA.STARTED": "Début de la vérification globale du SIP", + "OP_SECURISATION_TIMESTAMP": "Horodatage des journaux", + "EVIDENCE_AUDIT_FINALIZE.KO": "Échec de la création du rapport de l'audit de cohérence", + "FINALIZE_UNIT_LFC_TRACEABILITY.FINALIZE_UNIT_LFC_TRACEABILITY.KO": "Échec de la finalisation de la sécurisation des journaux du cycle de vie des unités archivistiques", + "CHECK_UNIT_SCHEMA.EMPTY_REQUIRED_FIELD.FATAL": "Erreur technique lors de la vérification globale de l'unité archivistique : champs obligatoires vides", + "OG_OBJECTS_FORMAT_CHECK.KO": "Échec de l'identification des formats", + "EXTERNAL_LOGBOOK.KO": "Échec de la journalisation d'événements externes", + "UPDATE_RUNNING_INGESTS.KO": "Échec de la mise à jour des entrées en cours", + "UPDATE_RUNNING_INGESTS.WARNING": "Avertissement lors de la mise à jour des entrées en cours", + "CHECK_DATAOBJECTPACKAGE.ARCHIVEUNIT_REFERENCES_MULTIPLE_OBJECTGROUP.KO": "Une unité archivistique référence plus d'un groupe d'objets techniques", + "STP_PREPARATION.STARTED.OK": "Succès du début du processus de lancement de la préparation du traitement de préservation", + "STP_OP_SECURISATION": "Sécurisation des journaux des opérations", + "STP_MIGRATION_UNITS_PREPARE.WARNING": "Avertissement lors du processus de préparation de la migration des unités archivistiques", + "STP_DELETE_RULES.STARTED": "Début du processus de suppression du référentiel des règles de gestion", + "VERIFY_TIMESTAMP.COMPARE_TOKEN_TIMESTAMP.STARTED": "Début de la comparaison des tampons d'horodatage", + "PROCESS_AUDIT.STARTED": "Début de l'audit", + "COMMIT_RULES.KO": "Échec de la persistance des données en base", + "CHECK_ARCHIVE_UNIT_PROFILE.STARTED": "Début de la vérification de la conformité aux profils d'unité archivistique", + "FINALIZE_OG_LFC_TRACEABILITY.KO": "Échec de la finalisation de la sécurisation des journaux du cycle de vie des groupes d'objets", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.UNKNOWN": "Vérification du format de l'objet", + "LFC.OG_OBJECTS_FORMAT_CHECK.STARTED": "Début de la vérification des formats", + "CHECK_HEADER.UNKNOWN.KO": "Échec de la vérification générale du bordereau de transfert : donnée référentielle inconnue", + "STP_ELIMINATION_ANALYSIS_UNIT_INDEXATION.KO": "Échec du processus d'indexation de l'analyse d'élimination des unités archivistiques", + "STP_ELIMINATION_ANALYSIS_PREPARATION.STARTED": "Début du processus de préparation de l'analyse de l'élimination des unités archivistiques", + "UNIT_METADATA_CHECK_CONSISTENCY.STARTED": "Début de la vérification de cohérence des actions lors de la mise à jour des métadonnées de gestion des unités archivistiques", + "UPDATE_RUNNING_INGESTS.FATAL": "Erreur technique lors de la mise à jour des entrées en cours", + "STP_PROBATIVE_VALUE_EXTRACT_ZIP_FILE.STARTED.OK": "Succès du début du processus d'extraction des signatures à partir des fichiers sécurisés", + "STP_ELIMINATION_ACTION_PREPARATION.STARTED.OK": "Succès du processus de préparation de l'élimination définitive des unités archivistiques", + "STP_UNIT_GRAPH_COMPUTE": "Processus de mise à jour des graphes des unités archivistiques", + "UNIT_METADATA_UPDATE_CHECK_RULES.STARTED": "Début de la vérification des règles de gestion", + "LFC.UNITS_RULES_COMPUTE.REF_INCONSISTENCY.OK": "Succès de la vérification de la cohérence de la règle de gestion dont l'annulation est demandée par rapport à sa catégorie", + "ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.STARTED": "Début de la mise à jour du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "IMPORT_PRESERVATION_SCENARIO.FATAL": "Erreur technique lors du processus d'import du référentiel des scénarios de préservation", + "MASS_UPDATE_UNIT_RULE.STARTED": "Succès du début de la mise à jour des règles de gestion des unités archivistiques", + "STP_UNIT_ATTACHMENT.OK": "Succès du processus de rattachement des unités archivistiques", + "OP_PROFILE_STORAGE.FATAL": "Erreur technique lors de l'enregistrement du profil d'archivage", + "STP_PREPARE_TRACEABILITY_CHECK.FATAL": "Erreur technique lors du processus de préparation de la vérification des journaux sécurisés", + "RECLASSIFICATION_PREPARATION_LOAD_REQUEST.OK": "Succès du chargement des unités archivistiques au moment de la modification d'arborescence des unités archivistiques", + "STP_IMPORT_PROFILE_FILE.KO": "Échec du processus d'import du profil d'archivage (fichier xsd ou rng)", + "STP_OG_LFC_TRACEABILITY.KO": "Échec de la sécurisation des journaux du cycle de vie des groupes d'objets", + "IMPORT_AGENCIES.USED_CONTRACT.STARTED": "Début du processus de vérification des services agents référencés dans les contrats d'accès", + "UNIT_ATTACHMENT": "Détachement des unités archivistiques", + "STP_IMPORT_INGEST_CONTRACT.FATAL": "Erreur technique lors du processus d'import du contrat d'entrée", + "LFC.CHECK_MANIFEST.NULL_LINK_PARENT_ID_ATTACHMENT.KO": "Le rattachement n'a pas été effectué: le contrat d'entrée ne déclare pas de nœud de rattachement", + "EVIDENCE_AUDIT_EXTRACT_ZIP_FILE.WARNING": "Avertissement lors de l'extraction des signatures à partir des fichiers sécurisés", + "MASS_UPDATE_UNIT_RULE": "Mise à jour des règles de gestion des unités archivistiques", + "STP_PROBATIVE_VALUE_PREPARE_GENERATE_REPORTS": "Processus de création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "CHECK_DATAOBJECTPACKAGE.PDO_DATAOBJECTIONVERSION_BINARYMASTER.KO": "Au moins un objet physique déclare un usage \"BinaryMaster\". Cet usage n'est pas autorisé pour les objets physiques", + "LOGBOOK_LC_SECURISATION.OK": "Succès de la sécurisation des journaux du cycle de vie", + "MASS_UPDATE_UNIT_DESC.OK": "Succès du processus de mise à jour en masse des métadonnées descriptives des unités archivistiques", + "STP_DELETE_RULES": "Processus de suppression du référentiel de règles de gestion", + "LFC.PRESERVATION_INDEXATION_METADATA.PRESERVATION_INDEXATION_METADATA.STARTED": "Début de l'indexation des métadonnées du groupe d'objetsl ors d'une opération de préservation", + "PRESERVATION_STORAGE_BINARY.WARNING": "Avertissement lors de l'écriture des objets et des groupes d'objets sur les offres de stockage", + "UPDATE_ONTOLOGY.OK": "Succès du processus de mise à jour de l'ontologie", + "OG_OBJECTS_FORMAT_CHECK.WARNING": "Avertissement lors de l'identification des formats", + "STP_DELETE_SECURITY_PROFILE.OK": "Succès du processus suppression du profil de sécurité", + "STP_MIGRATION_FINALIZE": "Processus de finalisation de la migration", + "CHECK_ARCHIVE_UNIT_PROFILE.FATAL": "Erreur technique lors de la vérification de la conformité aux profils d'unité archivistique", + "UNIT_METADATA_UPDATE_CHECK_DT.FATAL": "Erreur technique lors de la vérification de l'association à un profil d'unité archivistique", + "LFC.LFC_CREATION.STARTED": "Début de l'alimentation du journal du cycle de vie", + "STP_CREATE_MANIFEST.WARNING": "Avertissement lors du processus de création du bordereau de mise à disposition", + "STP_UPDATE_PROFILE_JSON.IDENTIFIER_DUPLICATION.KO": "Échec du processus de mise à jour du profil d'archivage : l'identifiant est déjà utilisé", + "OBJECTS_LIST_EMPTY.KO": "Échec de l'établissement de la liste des objets", + "STP_INGEST_FINALISATION.KO": "Échec du processus de finalisation de l'entrée", + "STP_EVIDENCE_AUDIT_CHECK_DATABASE.OK": "Succès du processus de la récupération des données dans la base de donnée", + "STP_UPDATE_SECURITY_PROFILE.STARTED": "Début du processus de mise à jour du profil de sécurité", + "UPDATE_AGENCIES.OK": "Succès du processus de mise à jour du référentiel des services agents", + "UNIT_METADATA_UPDATE_CHECK_PERMISSION.FATAL": "Erreur technique lors de la vérification des droits de mise à jour des métadonnées des unités archivistiques", + "STP_ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.STARTED": "Début du processus de préparation de l'élimination définitive des groupes d'objets techniques", + "STP_DELETE_MASTERDATA_PRESERVATION_SCENARIO.FATAL": "Erreur technique lors du processus de suppression du référentiel des scénarios de préservation", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.REJECTED": "Vérification du format de l'objet", + "UNITS_RULES_COMPUTE.KO": "Au moins une unité archivistique déclare un champ dont la valeur n'est pas conforme à celle attendue", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_INTEGRITY.OK": "Succès de l'audit de l'existence et de l'intégrité des objets", + "UNIT_DETACHMENT": "Détachement des unités archivistiques", + "STP_IMPORT_SECURITY_PROFILE.FATAL": "Erreur technique lors du processus d'import du profil de sécurité", + "ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.OK": "Succès de la préparation de l'élimination définitive des groupes d'objets techniques", + "STP_EVIDENCE_AUDIT_PREPARE.STARTED": "Début du processus de la création de la liste à auditer", + "PREPARE_UNIT_LFC_TRACEABILITY.FATAL": "Erreur technique lors de la préparation des journaux du cycle de vie et des métadonnées des unités archivistiques", + "BACKUP_PROFILE": "Processus de sauvegarde des profils d'archivage", + "ONTOLOGY_REPORT.FATAL": "Erreur technique lors du processus de génération du rapport d'import du référentiel des ontologies", + "ELIMINATION_ANALYSIS_CHECK_DISTRIBUTION_THRESHOLD.WARNING": "Avertissement lors de vérification des seuils de l'analyse de l'élimination des unités archivistiques", + "CTR_SCHEMA.WARNING": "Avertissement lors du processus de contrôle du schéma JSON", + "UPDATE_RUNNING_INGESTS.OK": "Succès de la mise à jour des entrées en cours", + "BACKUP_ONTOLOGY.KO": "Échec du processus de sauvegarde des ontologies", + "STP_PRESERVATION_FINALIZATION.KO": "Échec du processus de finalisation du traitement de préservation", + "STP_UPDATE_PROFILE_JSON.STARTED.OK": "Succès du début du processus de mise à jour du profil d'archivage", + "EXPORT_PROBATIVE_VALUE": "Processus d'export du relevé de valeur probante", + "LFC.CHECK_MANIFEST.LFC_CREATION.STARTED.OK": "Succès du début de la création du journal du cycle de vie", + "STP_UPDATE_UNIT": "Processus de mise à jour des métadonnées de l'unité archivistique", + "CHECK_HEADER.CHECK_IC_AP_RELATION.DIFF.KO": "Échec du contrôle de cohérence entre le profil d'archivage déclaré dans le bordereau de transfert et celui déclaré dans le contrat d'entrée", + "STP_UNIT_ATTACHMENT.STARTED": "Début du processus de rattachement des unités archivistiques", + "UNITS_RULES_COMPUTE.REF_INCONSISTENCY": "Application des règles de gestion et calcul des dates d'échéance", + "UPDATE_ARCHIVEUNITPROFILE.STARTED.OK": "Succès du début du processus de mise à jour du profil d'unité archivistique", + "CHECK_MERKLE_TREE.WARNING": "Avertissement lors de la vérification de l'arbre de MERKLE", + "FINALIZE_UNIT_LFC_TRACEABILITY.FINALIZE_UNIT_LFC_TRACEABILITY.OK": "Succès de la finalisation de la sécurisation des journaux du cycle de vie des unités archivistiques", + "MIGRATION_UNITS_LIST.FATAL": "Erreur technique lors de la distribution des unités archivistiques", + "CHECK_DATAOBJECTPACKAGE.STARTED": "Début de la vérification des objets et groupes d'objets", + "LFC.UNITS_RULES_COMPUTE.FATAL": "Erreur technique lors de l'application des règles de gestion et du calcul des dates d'échéance", + "LFC.OG_OBJECTS_FORMAT_CHECK.FATAL": "Erreur technique lors de la vérification des formats", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.CONTEXT_CHECK_ERROR.KO": "Échec de la vérification de la présence et du contrôle du contexte applicatif", + "MASS_UPDATE_UNIT_DESC.STARTED.WARNING": "Avertissement lors du début du processus de mise à jour en masse des métadonnées descriptives des unités archivistiques", + "STP_BACKUP_INGEST_CONTRACT.WARNING": "Avertissement lors du processus de sauvegarde des contrats d'entrée", + "CORRECTIVE_AUDIT.WARNING": "Avertissement lors de la correction des signatures de chaque unité archivistique ou objet ou groupe d'objets corrompue", + "STP_IMPORT_PROFILE_JSON": "Processus d'import du profil d'archivage", + "STP_UPDATE_RUNNING_INGESTS": "Processus de mise à jour des entrées en cours", + "STP_ELIMINATION_ACTION_PREPARATION.STARTED": "Début du processus de préparation de l'élimination définitive des unités archivistiques", + "STP_UPDATE_UNIT.FATAL": "Erreur technique lors du processus de mise à jour des métadonnées de l'unité archivistique", + "PRESERVATION_PREPARATION.STARTED.OK": "Succès du début de la préparation du traitement de préservation", + "STP_STORAGE_SECURISATION.STARTED.OK": "Succès du début du processus de sécurisation du journal des écritures", + "CHECK_CLASSIFICATION_LEVEL.WARNING": "Avertissement lors de la vérification des niveaux de classification", + "STP_OG_STORING.STARTED": "Début du processus d'écriture des métadonnées des groupes d'objets sur les offres de stockage", + "STP_FINALISE_AUDIT.WARNING": "Avertissement lors du processus de finalisation de l'audit", + "PROCESS_SIP_UNITARY_TEST": "Processus d'entrée à blanc du SIP", + "STP_PREPARATION.STARTED": "Début du processus de lancement de la préparation du traitement de préservation", + "STP_PROBATIVE_VALUE_PREPARE_GENERATE_REPORTS.OK": "Succès du processus de création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "STP_OBJ_STORING.STARTED.OK": "Succès du début du processus d'écriture et d'indexation des objets sur les offres de stockage", + "RECLASSIFICATION_PREPARATION_LOAD_REQUEST.KO": "Échec du chargement des unités archivistiques au moment de la modification d'arborescence des unités archivistiques", + "MASS_UPDATE_UNIT_DESC.KO": "Échec du processus de mise à jour en masse des métadonnées descriptives des unités archivistiques", + "CHECK_DATAOBJECTPACKAGE.CHECK_CONSISTENCY.FATAL": "Erreur technique lors de la vérification de la cohérence entre objets, groupes d'objets et unités archivistiques", + "COMMIT_LIFE_CYCLE_OBJECT_GROUP.ALREADY_EXECUTED": "Action déjà exécutée : Pas d'enregistrement des journaux de cycle de vie des groupes d'objets", + "ELIMINATION_ACTION_DELETE_OBJECT_GROUP.FATAL": "Erreur technique lors de l'élimination définitive des groupes d'objets techniques dont les unités archivistiques parentes sont éliminées", + "STP_IMPORT_INGEST_CONTRACT.EMPTY_REQUIRED_FIELD.KO": "Échec de l'import du contrat d'entrée : au moins un des champs obligatoires n'est pas renseigné", + "LOGBOOK_LC_SECURISATION.STARTED": "Début de la sécurisation des journaux du cycle de vie", + "LFC.PRESERVATION_INDEXATION_METADATA.STARTED.OK": "Succès du début de l'indexation des métadonnées du groupe d'objets", + "RULES_REPORT": "Génération du rapport d'analyse du référentiel des règles de gestion", + "UPLOAD_SIP": "Réception du SIP dans Vitam", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.CONTRACT_INACTIVE": "Échec de la vérification de la présence et contrôle du contrat d'entrée: le contrat d'entrée est inactif", + "EVIDENCE_AUDIT_LIST_OBJECT": "Création de la liste à auditer", + "STP_FINALISE_AUDIT.KO": "Échec du processus de finalisation de l'audit", + "CTR_SCHEMA.KO": "Échec du processus de contrôle du schéma JSON", + "CHECK_HEADER.CHECK_AGENT.FATAL": "Erreur technique lors de la vérification de la présence et du contrôle des services agents", + "STP_OG_STORING.ALREADY_EXECUTED": "Action déjà exécutée : Pas de processus d'écriture des métadonnées des groupes d'objets sur les offres de stockage", + "LFC.CHECK_UNIT_SCHEMA.INVALID_UNIT.KO": "Échec de la vérification de la conformité des valeurs dans les champs", + "STP_PROBATIVE_VALUE_EXTRACT_ZIP_FILE.KO": "Échec du processus d'extraction des signatures à partir des fichiers sécurisés", + "MANIFEST_FILE_NAME_CHECK.STARTED.OK": "Succès du début du contrôle du nom du bordereau de transfert", + "STP_OG_CHECK_AND_TRANSFORME.WARNING": "Avertissement lors du processus de vérification et traitement des objets et des groupes d'objets", + "ELIMINATION_ANALYSIS_PREPARATION.FATAL": "Erreur technique lors de la préparation de l'analyse de l'élimination des unités archivistiques", + "STP_EVIDENCE_AUDIT_EXTRACT_ZIP_FILE.STARTED": "Début du processus d'extraction des signatures à partir des fichiers sécurisés", + "RECLASSIFICATION_FINALIZATION.KO": "Échec de la finalisation de la modification d'arborescence des unités archivistiques", + "STP_DELETE_MASTERDATA_CONTEXT": "Processus de suppression des contextes applicatifs", + "STP_PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD": "Processus de préparation de la liste des signatures dans les fichiers sécurisés", + "CHECK_HEADER.INACTIVE.KO": "Échec de la vérification générale du bordereau de transfert : donnée référentielle inactive", + "IMPORT_AGENCIES_BACKUP_CSV.STARTED.OK": "Succès du début du processus de sauvegarde du fichier d'import du référentiel des services agents", + "LFC.CHECK_MANIFEST.OK": "Succès de la vérification de la cohérence du bordereau de transfert", + "UNITS_RULES_COMPUTE": "Application des règles de gestion et calcul des dates d'échéance", + "AUDIT_CHECK_OBJECT.AUDIT_CHECK_OBJECT.OK": "Succès de l'audit de l'existence et de l'intégrité des objets", + "STP_UPLOAD_SIP.KO": "Échec du processus de réception du SIP : un des noms de fichiers contient un caractère non autorisé", + "STORAGE_ACCESS_BACKUP.KO": "Échec de la sauvegarde des journaux des logs d'accès", + "STP_DELETE_LOGBOOK_LIFECYCLE_OG": "Processus de suppression des journaux du cycle de vie des groupes d'objets", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.UNCHARTED": "Vérification du format de l'objet", + "STP_UNIT_GRAPH_COMPUTE.WARNING": "Avertissement lors du processus de mise à jour des graphes des unités archivistiques", + "IMPORT_ARCHIVEUNITPROFILE.WARNING": "Avertissement lors du processus d'import du profil d'unité archivistique", + "STP_DELETE_MASTERDATA_INGEST_CONTRACT.STARTED": "Début du processus de suppression des contrats d'entrée", + "CHECK_MERKLE_TREE": "Vérification de l'arbre de MERKLE", + "LFC.CHECK_DIGEST.FATAL": "Erreur technique lors de la vérification de l'intégrité des objets versés", + "STP_UNIT_UPDATE": "Processus de mise à jour des unités archivistiques", + "CHECK_CLASSIFICATION_LEVEL": "Vérification du niveau de classification", + "LFC.CHECK_UNIT_SCHEMA.EMPTY_REQUIRED_FIELD.FATAL": "Erreur technique lors du contrôle additionnel sur la validité des champs de l'unité archivistique", + "CHECK_HEADER.STARTED.OK": "Succès du début de la vérification générale du bordereau de transfert", + "STP_IMPORT_PROFILE_FILE.STARTED.OK": "Succès du début du processus d'import du profil d'archivage (fichier xsd ou rng)", + "PROBATIVE_VALUE_CREATE_DISTRIBUTION_FILE.STARTED": "Début de la création du fichier du fichier de distribution permettant de réaliser le relevé de valeur probante", + "STORAGE_BACKUP.STARTED": "Début de la sauvegarde des journaux des écritures", + "ELIMINATION_ANALYSIS.FATAL": "Erreur technique lors de l'analyse de l'élimination des unités archivistiques", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_OBJECTNUMBER.KO": "Échec de la vérification du nombre d'objets", + "PRESERVATION_PREPARATION.WARNING": "Avertissement lors de la préparation du traitement de préservation", + "UNIT_METADATA_UPDATE_CHECK_DT": "Vérification de l'association à un profil d'unité archivistique", + "STP_MIGRATION_OBJECT_GROUPS.STARTED": "Début du processus de préparation de la migration des groupes d'objets", + "CHECK_ARCHIVE_UNIT_PROFILE.INVALID_UNIT.KO": "Échec de la vérification de la conformité aux profils d'unité archivistique:champs non conformes", + "MIGRATION_UNITS.KO": "Échec de la migration des unités archivistiques", + "OBJ_STORAGE.ALREADY_EXECUTED": "Action déjà exécutée : Pas d'écriture des objets et des groupes d'objets sur les offres de stockage", + "STP_CORRECTIVE_AUDIT.WARNING": "Avertissement lors de la correction des signatures de chaque unité archivistique ou objet ou groupe d'objets corrompue", + "STP_ELIMINATION_ACTION_PREPARATION.WARNING": "Avertissement lors du processus de préparation de l'élimination définitive des unités archivistiques", + "IMPORT_ONTOLOGY.OK": "Succès du processus d'import de l'ontologie", + "IMPORT_ONTOLOGY.STARTED": "Début du processus d'import de l'ontologie", + "ELIMINATION_ANALYSIS_CHECK_DISTRIBUTION_THRESHOLD.STARTED": "Début de vérification des seuils de l'analyse de l'élimination des unités archivistiques", + "STP_IMPORT_CONTEXT.FATAL": "Erreur technique lors du processus d'import du contexte applicatif", + "ELIMINATION_ACTION_DELETE_OBJECT_GROUP.KO": "Échec de l'élimination définitive des groupes d'objets techniques dont les unités archivistiques parentes sont éliminées", + "LFC.CHECK_MANIFEST.KO": "Échec de la vérification de la cohérence du bordereau de transfert", + "SANITY_CHECK_SIP": "Contrôle sanitaire du SIP", + "STP_DELETE_METADATA_OG.FATAL": "Erreur technique lors du processus de suppression des métadonnées des groupes d'objets", + "STP_IMPORT_PROFILE_JSON.KO": "Échec du processus d'import du profil d'archivage", + "STP_OBJ_STORING.WARNING": "Avertissement lors du processus d'écriture et d'indexation des objets sur les offres de stockage", + "ELIMINATION_ACTION_CHECK_DISTRIBUTION_THRESHOLD.FATAL": "Erreur technique lors de la vérification des seuils de l'élimination définitive des unités archivistiques", + "STP_UPDATE_PROFILE_JSON.STARTED": "Début du processus de mise à jour du profil d'archivage", + "STP_IMPORT_CONTEXT.UNKNOWN_VALUE.KO": "Échec de l'import du contexte applicatif : au moins un objet déclare une valeur inconnue", + "ELIMINATION_ACTION_UNIT_PREPARATION.FATAL": "Erreur technique lors de la préparation de l'élimination définitive des unités archivistiques", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_SAVED_HASH.FATAL": "Erreur technique lors de la comparaison de l'arbre de MERKLE avec le Hash enregistré", + "PRESERVATION_INDEXATION_METADATA": "Indexation des métadonnées du groupe d'objets", + "STP_PROBATIVE_VALUE_PREPARE.STARTED": "Début du processus de préparation du relevé de valeur probante", + "PROBATIVE_VALUE_EXTRACT_ZIP_FILE.KO": "Échec de l'extraction des signatures à partir des fichiers sécurisés", + "PROBATIVE_VALUE_CREATE_DISTRIBUTION_FILE.OK": "Succès de la création du fichier du fichier de distribution permettant de réaliser le relevé de valeur probante", + "STP_FINALISE_AUDIT.OK": "Succès du processus de finalisation de l'audit", + "CHECK_DIGEST.WARNING": "Avertissement lors de la vérification de l'empreinte des objets", + "SANITY_CHECK_SIP.FATAL": "Erreur technique lors du contrôle sanitaire du SIP", + "STP_OG_LFC_TRACEABILITY.STARTED.OK": "Début de la sécurisation des journaux du cycle de vie des groupes d'objets", + "BACKUP_PROFILE.STARTED.OK": "Succès du début du processus de sauvegarde des profils d'archivage", + "STP_DELETE_ACCESSION_REGISTER_SUMMARY.KO": "Échec du processus de suppression du Registre des Fonds (Résumé)", + "LFC.CHECK_DIGEST.CALC_CHECK.STARTED": "Début du calcul d'une empreinte en SHA-512", + "MIGRATION_FINALIZE.STARTED": "Début de la finalisation de la migration", + "STP_IMPORT_CONTEXT.OK": "Succès du processus d'import du contexte applicatif", + "CHECK_DATAOBJECTPACKAGE.CHECK_NO_OBJECT.WARNING": "Avertissement lors de la vérification de l'absence d'objet", + "CHECK_DATAOBJECTPACKAGE.ALREADY_EXECUTED": "Action déjà exécutée : Pas de vérification des objets et groupes d'objets", + "STP_UNIT_GRAPH_COMPUTE.STARTED.OK": "Succès du début du processus de mise à jour des graphes des unités archivistiques", + "LFC.UNITS_RULES_COMPUTE.REF_INCONSISTENCY.STARTED.OK": "Succès du début de la vérification de la cohérence de la règle de gestion dont l'annulation est demandée par rapport à sa catégorie", + "STP_UNIT_UPDATE.FATAL": "Erreur technique lors du processus de mise à jour des unités archivistiques", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_OBJECTNUMBER.STARTED": "Début de la vérification du nombre d'objets", + "STP_INGEST_FINALISATION.FATAL": "Erreur technique lors du processus de finalisation de l'entrée", + "STP_PREPARE_AUDIT": "Processus de préparation de l'audit", + "STP_IMPORT_INGEST_CONTRACT.FORMAT_NOT_FOUND.KO": "Échec de l'import du contrat d'entrée : Un ou plusieurs formats ne sont pas référencés dans le référentiel des formats", + "CTR_SCHEMA.OK": "Succès du processus de contrôle du schéma JSON", + "LFC.UNITS_RULES_COMPUTE.DATE_THRESHOLD.STARTED.OK": "Succès du début de la vérification de la validité des dates d'application des règles de gestion", + "PRESERVATION_STORAGE_BINARY.STARTED.OK": "Succès du début de l'écriture des objets et des groupes d'objets sur les offres de stockage", + "MASTERDATA.KO": "Échec de l'import des données de base", + "STORAGE_ACCESS_BACKUP.OK": "Succès de la sauvegarde des journaux des logs d'accès", + "MIGRATION_UNITS.STARTED": "Début de la migration des unités archivistiques", + "LFC.CHECK_MANIFEST.CHECK_MANIFEST_WRONG_ATTACHMENT_LINK.KO": "Le bordereau de transfert procède à un rattachement en utilisant des éléments hors périmètre", + "STP_UPDATE_RUNNING_INGESTS.STARTED": "Début du processus de mise à jour des entrées en cours", + "STP_IMPORT_RULES.FATAL": "Erreur technique lors du processus d'import du référentiel des règles de gestion", + "STP_UPDATE_SECURITY_PROFILE.WARNING": "Avertissement lors du processus de mise à jour du profil de sécurité", + "STP_UPDATE_UNIT.STARTED": "Début du processus de mise à jour des métadonnées de l'unité archivistique", + "UNIT_METADATA_CHECK_CONSISTENCY": "Vérification de cohérence des actions lors de la mise à jour des métadonnées de gestion des unités archivistiques", + "EXPORT_DIP.WARNING": "Avertissement lors de l'export du DIP", + "ROLL_BACK.OK": "Succès de la mise en cohérence des journaux du cycle de vie", + "STP_ELIMINATION_ANALYSIS_UNIT_INDEXATION.OK": "Succès du processus d'indexation de l'analyse d'élimination des unités archivistiques", + "LFC.CHECK_UNIT_SCHEMA.INVALID_UNIT.FATAL": "Erreur technique lors de la vérification de la conformité des valeurs dans les champs", + "MASS_UPDATE_UNITS_RULES.WARNING": "Avertissement lors de la mise à jour des métadonnées de gestion des unités archivistiques", + "UPDATE_OBJECT_GROUP": "Mise à jour du groupe d'objets", + "UNIT_DETACHMENT.STARTED.OK": "Succès du début du détachement des unités archivistiques", + "UPDATE.OK": "Succès de la mise à jour", + "ELIMINATION_ANALYSIS.STARTED": "Début de l'analyse de l'élimination des unités archivistiques", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_OBJECTNUMBER.OK": "Succès de la vérification du nombre d'objets", + "STP_DELETE_MASTERDATA_PRESERVATION_SCENARIO.OK": "Succès du processus de suppression du référentiel des scénarios de préservation", + "GRIFFIN_REPORT.STARTED.OK": "Succès du début de la génération du rapport d'import du référentiel des griffons", + "MASS_UPDATE_UNITS.KO": "Échec de la mise à jour des unités archivistiques", + "ELIMINATION_ACTION_DETACH_OBJECT_GROUP.STARTED": "Début du détachement des groupes d'objets techniques dont certaines unités archivistiques parentes sont éliminées", + "STP_BACKUP_INGEST_CONTRACT.OK": "Succès du processus de sauvegarde des contrats d'entrée", + "BUILD_UNIT_LFC_TRACEABILITY.STARTED.OK": "Succès de la sécurisation des journaux du cycle de vie des unités archivistiques", + "CHECK_HEADER.CHECK_IC_AP_RELATION": "Vérification de la relation entre le contrat d'entrée et le profil d'archivage", + "CORRECTION_FINALIZE.OK": "Succès du processus de finalisation des corrections des signatures pour chaque objet, groupe d'objets ou unité auditée défaillante", + "MASTERDATA.OK": "Succès de l'import des données de base", + "STP_DELETE_MASTERDATA_ARCHIVE_UNIT_PROFILE.FATAL": "Erreur technique lors du processus de suppression du référentiel des profils d'unité archivistique", + "LFC.OBJ_STORAGE": "Écriture des objets sur les offres de stockage", + "STP_DELETE_MASTERDATA_INGEST_CONTRACT.FATAL": "Erreur technique lors du processus de suppression des contrats d'entrée", + "ELIMINATION_ACTION_CHECK_DISTRIBUTION_THRESHOLD.STARTED.OK": "Succès du début de vérification des seuils de l'élimination définitive des unités archivistiques", + "STP_EVIDENCE_AUDIT_PREPARE.FATAL": "Une Erreur technique est survenue lors du processus de la création de la liste", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.NULL_LINK_PARENT_ID_ATTACHMENT.KO": "Le rattachement n'a pas été effectué: le contrat d'entrée ne déclare pas de nœud de rattachement", + "LFC.CHECK_MANIFEST.CHECK_MANIFEST_WRONG_ATTACHMENT.KO": "Le bordereau de transfert procède à un rattachement en utilisant des éléments inexistants dans le système", + "STP_DELETE_METADATA_OG.STARTED": "Début du processus de suppression des métadonnées des groupes d'objets", + "STP_EVIDENCE_AUDIT_PREPARE.WARNING": "Avertissement lors du processus de la création de la liste à auditer", + "STP_BACKUP_GRIFFIN.FATAL": "Erreur technique lors du processus de sauvegarde des griffons", + "STP_IMPORT_PROFILE_JSON.OK": "Succès du processus d'import du profil d'archivage", + "STP_BACKUP_REFERENTIAL_FORMAT.FATAL": "Erreur technique lors du processus de sauvegarde du référentiel des formats", + "MASS_UPDATE_FINALIZE.STARTED": "Début du processus de traitement de mise à jour des générations du rapport de mise à jour des métadonnées descriptives des unités archivistiques", + "BACKUP_ARCHIVEUNITPROFILE.WARNING": "Avertissement lors du processus de sauvegarde des profils d'unité archivistique", + "STP_DELETE_MASTERDATA_GRIFFIN.STARTED.OK": "Succès du début du processus de suppression du référentiel des griffons", + "LOGBOOK_LC_SECURISATION": "Sécurisation des journaux du cycle de vie", + "STP_PRESERVATION_ACTION.FATAL": "Erreur technique lors du processus de lancement du griffon", + "ELIMINATION_ACTION_FINALIZATION.WARNING": "Avertissement lors de la finalisation de l'élimination définitive des unités archivistiques", + "STP_PREPARATION": "Processus de lancement de la préparation du traitement de préservation", + "MANIFEST_FILE_NAME_CHECK.OK": "Succès du contrôle du nom du bordereau de transfert : nom du fichier conforme", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING": "Audit de la vérification des fichiers du groupe d'objets", + "LFC.CHECK_MANIFEST.LFC_CREATION.KO": "Échec de la création du journal du cycle de vie", + "STP_PROBATIVE_VALUE_PREPARE": "Processus de préparation du relevé de valeur probante", + "LFC.PRESERVATION_STORAGE_BINARY.STARTED.OK": "Succès du début de l'écriture des objets sur les offres de stockage", + "LFC.PRESERVATION_BINARY_HASH.PRESERVATION_BINARY_HASH": "Calcul d'une empreinte en SHA-512", + "UPDATE.WARNING": "Avertissement lors de la mise à jour", + "STP_BACKUP_SCENARIO": "Processus de sauvegarde des scénarios de préservation", + "CHECK_FILE_FORMAT.WARNING": "Avertissement lors de la vérification des formats des objets et groupe d'objets", + "ONTOLOGY_REPORT.WARNING": "Avertissement lors du processus de génération du rapport d'import du référentiel des ontologies", + "STP_PROBATIVE_VALUE_EXTRACT_ZIP_FILE": "Processus d'extraction des signatures à partir des fichiers sécurisés", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.UNCHARTED.KO": "Échec de la vérification du format : le format de l'objet est identifié mais est inconnu du référentiel des formats", + "STP_IMPORT_CONTEXT.KO": "Échec du processus d'import du contexte applicatif", + "PROBATIVE_VALUE_CREATE_DISTRIBUTION_FILE.STARTED.OK": "Succès du début de la création du fichier du fichier de distribution permettant de réaliser le relevé de valeur probante", + "STP_DELETE_MASTERDATA_PROFILE": "Processus de suppression du référentiel des profils d'archivage (fichier xsd ou rng)", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.FATAL": "Erreur fatale lors de la vérification du format", + "LFC.CHECK_UNIT_SCHEMA.FATAL": "Erreur technique lors de la vérification globale de l'unité archivistique", + "LFC.OG_METADATA_INDEXATION.OK": "Succès de l'indexation des métadonnées du groupe d'objets", + "LFC.CHECK_MANIFEST_WRONG_ATTACHMENT_LINK.FATAL": "Erreur technique lors de la vérification des rattachements des unités archivistiques et groupes d'objets", + "EVIDENCE_AUDIT_CHECK_DATABASE.OK": "Succès de la récupération des données dans la base de donnée", + "LFC.OBJ_STORAGE.OBJECT_STORAGE_SUB_TASK.STARTED": "Début de l'écriture de l'objet sur les offres de stockage", + "BUILD_UNIT_LFC_TRACEABILITY.FATAL": "Erreur technique lors de la sécurisation des journaux du cycle de vie des unités archivistiques", + "AUDIT_CHECK_OBJECT.KO": "Échec de l'audit de la vérification des objets", + "STP_INGEST_FINALISATION.STARTED": "Début du processus de finalisation de l'entrée", + "STP_DELETE_ALL.STARTED": "Début du processus de suppression de toutes les données en base", + "FINALIZE_OG_LFC_TRACEABILITY.FINALIZE_OG_LFC_TRACEABILITY": "Finalisation de la sécurisation des journaux du cycle de vie des groupes d'objets", + "LFC.OG_OBJECTS_FORMAT_CHECK": "Vérification des formats", + "FINALIZE_OG_LFC_TRACEABILITY.FATAL": "Erreur technique lors de la finalisation de la sécurisation des journaux du cycle de vie des groupes d'objets", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.WARNING": "Avertissement lors de l'identification du format", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_INTEGRITY.FATAL": "Erreur technique lors de l'audit de la vérification des fichiers du groupe d'objets", + "PROBATIVE_VALUE_CHECK_OBJECT_GROUP.STARTED": "Début de la récupération des données dans la base de données", + "ATR_NOTIFICATION.OK": "Succès de la notification de la fin de l'opération d'entrée à l'opérateur de versement", + "EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS.OK": "Succès de la création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "STP_ELIMINATION_ANALYSIS_UNIT_INDEXATION.STARTED.OK": "Succès du début du processus d'indexation de l'analyse d'élimination des unités archivistiques", + "FINALIZE_UNIT_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP.WARNING": "Avertissement lors du processus de création du tampon d'horodatage de l'ensemble des journaux du cycle de vie des unités archivistiques", + "STP_UPDATE_ACCESS_CONTRACT.FATAL": "Erreur technique lors du processus de mise à jour du contrat d'accès", + "STP_IMPORT_ACCESS_CONTRACT.IDENTIFIER_DUPLICATION.KO": "Échec du processus d'import du contrat d'accès : l'identifiant est déjà utilisé", + "UPDATE_AGENCIES.STARTED": "Début du processus de mise à jour du référentiel des services agents", + "STP_ELIMINATION_ACTION_REPORT_GENERATION.STARTED": "Début du processus de génération du rapport d'élimination définitive des unités archivistiques", + "ATR_NOTIFICATION.KO": "Échec de la notification de la fin de l'opération d'entrée à l'opérateur de versement", + "UPDATE.KO": "Échec de la mise à jour", + "CHECK_HEADER.ALREADY_EXECUTED": "Action déjà exécutée : Pas de vérification générale du bordereau de transfert", + "LFC.UNIT_METADATA_INDEXATION": "Indexation des métadonnées de l'unité archivistique", + "STP_REFERENTIAL_FORMAT_IMPORT.KO": "Échec du processus d'import du référentiel des formats", + "LFC.CHECK_CLASSIFICATION_LEVEL.FATAL": "Erreur technique lors de la vérification du niveau de classification", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.PHYSICAL_OBJECT.KO": "Échec de l'audit de la vérification des objets physiques : il existe un fichier binaire relatif à cet objet physique", + "LFC.CHECK_UNIT_SCHEMA": "Vérification globale de l'unité archivistique", + "STORAGE_ACCESS_BACKUP.STARTED.OK": "Succès du début de la sauvegarde des logs d'accès", + "LFC.UNITS_RULES_COMPUTE.UNKNOWN.STARTED": "Début de la vérification de l'échéance des règles de gestion", + "STP_MIGRATION_OBJECT_GROUPS_PREPARE.WARNING": "Avertissement lors du processus de préparation de la migration des groupes d'objets", + "STP_REFERENTIAL_FORMAT_IMPORT.FATAL": "Erreur technique lors du processus d'import du référentiel des formats", + "LOGBOOK_UNIT_LFC_TRACEABILITY.KO": "Échec de la sécurisation des journaux du cycle de vie des unités archivistiques", + "CHECK_DATAOBJECTPACKAGE.CHECK_CONSISTENCY.CHECK_CONSISTENCY_ORPHAN_OBJECT.KO": "Le bordereau de transfert contient des objets ou des groupes d'objets qui ne déclarent pas de rattachement à une unité archivistique", + "ELIMINATION_ACTION_CHECK_DISTRIBUTION_THRESHOLD.OK": "Succès de la vérification des seuils de l'élimination définitive des unités archivistiques", + "MASTERDATA.STARTED.OK": "Succès du début de l'import des données de base", + "STP_ELIMINATION_ANALYSIS_UNIT_INDEXATION.STARTED": "Début du processus d'indexation de l'analyse d'élimination des unités archivistiques", + "UPDATE": "Mise à jour", + "STP_UPDATE_INGEST_CONTRACT.BAD_REQUEST.KO": "Échec du processus de mise à jour du contrat d'entrée : une mauvaise requête a été saisie", + "STP_DELETE_MASTERDATA_ACCESSION_REGISTER_SYMBOLIC.WARNING": "Avertissement est survenue lors du processus de suppression du Registre des Fonds symboliques", + "UNIT_METADATA_UPDATE.STARTED": "Début de la mise à jour des métadonnées des unités archivistiques", + "DATA_MIGRATION.OK": "Succès du processus de migration de données", + "STP_PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD.KO": "Échec du processus de préparation de la liste des signatures dans les fichiers sécurisés", + "MIGRATION_FINALIZE.KO": "Échec de la finalisation de la migration", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING": "Audit de l'existence des objets", + "RECLASSIFICATION_PREPARATION_UPDATE_DISTRIBUTION.WARNING": "Avertissement lors de la préparation de la mise à jour du graphe au moment de la modification d'arborescence des unités archivistiques", + "COMMIT_RULES.FATAL": "Erreur technique lors de la persistance des données en base", + "ELIMINATION_ACTION_FINALIZATION": "Finalisation de l'élimination définitive des unités archivistiques", + "STP_UPLOAD_SIP": "Processus de réception du SIP", + "LFC.UNITS_RULES_COMPUTE.CONSISTENCY.STARTED.OK": "Succès du début de la vérification de la cohérence de la règle de gestion par rapport à sa catégorie", + "STP_UNIT_UPDATE.STARTED.OK": "Succès du début du processus de mise à jour des unités archivistiques", + "RECLASSIFICATION_PREPARATION_CHECK_GRAPH.KO": "Échec du contrôle de cohérence du graphe au moment de la modification d'arborescence des unités archivistiques", + "STORAGE_SECURISATION_TIMESTAMP.KO": "Échec de la création du tampon d'horodatage de l'ensemble des journaux d'écriture", + "STP_DELETE_ACCESSION_REGISTER_SUMMARY": "Processus de suppression du Registre des Fonds (Résumé)", + "STP_DELETE_CONTEXT": "Processus de suppression du contexte applicatif", + "STP_OG_CHECK_AND_TRANSFORME.OK": "Succès du processus de vérification et de traitement des objets et des groupes d'objets", + "LFC.UNIT_METADATA_UPDATE_CHECK_RULES.OK": "Succès de la vérification de la mise à jour des règles de gestion de l'unité archivistique", + "CHECK_HEADER": "Vérification générale du bordereau de transfert", + "STP_ELIMINATION_ACTION_REPORT_GENERATION.STARTED.OK": "Succès du début du processus de génération du rapport d'élimination définitive des unités archivistiques", + "LFC.CHECK_MANIFEST.UNAUTHORIZED_ATTACHMENT.KO": "Le rattachement n'a pas été effectué: le rattachement n'est pas situé dans le périmètre autorisé", + "STP_OBJECT_GROUP_GRAPH_COMPUTE.STARTED.OK": "Succès du processus de mise à jour des graphes des groupes d'objets", + "STP_DELETE_ACCESSION_REGISTER_SUMMARY.STARTED.OK": "Succès du début du processus de suppression du Registre des Fonds (Résumé)", + "CHECK_HEADER.OK": "Succès de la vérification générale du bordereau de transfert", + "STP_IMPORT_ONTOLOGIES_UPDATE_INVALID_TYPE.KO": "Échec du processus de mise à jour des ontologies : au moins une valeur ne correspond pas aux valeurs attendues.", + "STP_DELETE_MASTERDATA_ARCHIVE_UNIT_PROFILE": "Processus de suppression du référentiel des profils d'unité archivistique", + "STP_RECLASSIFICATION_PREPARATION.OK": "Succès du processus de préparation de la modification d'arborescence des unités archivistiques", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.UPDATED_FORMAT.WARNING": "Complétion des métadonnées sur les formats", + "UPDATE_ONTOLOGY.STARTED.OK": "Succès du début du processus de mise à jour de l'ontologie", + "ELIMINATION_ACTION_CHECK_DISTRIBUTION_THRESHOLD.WARNING": "Avertissement lors de vérification des seuils de l'élimination définitive des unités archivistiques", + "PROBATIVE_VALUE_CREATE_DISTRIBUTION_FILE.KO": "Échec de la création du fichier de distribution permettant de réaliser le relevé de valeur probante", + "UPDATE_ONTOLOGY.WARNING": "Avertissement lors du processus de mise à jour de l'ontologie", + "EVIDENCE_AUDIT_CHECK_DATABASE.KO": "Échec de la récupération des données dans la base de donnée", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.TOOL_DOES_NOT_ANSWER.FATAL": "L'outil d'analyse des formats de l'objet ne répond pas", + "FILE_FORMAT_REPORT.STARTED": "Début de la génération du rapport d'import du référentiel des formats", + "LFC.UPDATE_OBJECT_GROUP": "Mise à jour du groupe d'objets", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.KO": "Échec du processus de mise à jour du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "STP_UPLOAD_SIP.STARTED": "Début du processus de réception du SIP", + "LFC.OG_METADATA_STORAGE.FATAL": "Erreur technique lors de l'écriture des métadonnées du groupe d'objets sur les offres de stockage", + "STP_DELETE_ALL.STARTED.OK": "Succès du début du processus de suppression de toutes les données en base", + "STP_UPLOAD_SIP.OK": "Succès du processus de réception du SIP", + "STP_SANITY_CHECK_SIP.WARNING": "Avertissement lors du processus des contrôles préalables à l'entrée", + "BUILD_OG_LFC_TRACEABILITY.STARTED": "Début de la sécurisation des journaux du cycle de vie des groupes d'objets", + "STP_ELIMINATION_ACTION_DETACH_OBJECT_GROUP.STARTED": "Début du processus de détachement des groupes d'objets techniques dont certaines unités archivistiques parentes sont éliminées", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_DATAOBJECT_VERSION.STARTED": "Début de la vérification des usages des objets", + "STP_DELETE_MASTERDATA_PROFILE.OK": "Succès du processus de suppression du référentiel des profils d'archivage fichier xsd ou rng)", + "STP_UPDATE_CONTEXT.STARTED.OK": "Succès du début du processus de mise à jour du contexte applicatif", + "VERIFY_TIMESTAMP.WARNING": "Avertissement lors de la vérification de l'horodatage", + "LOGBOOK_OBJECTGROUP_LFC_TRACEABILITY.OK": "Succès de la sécurisation des journaux du cycle de vie des groupes d'objets", + "LFC.CHECK_UNIT_SCHEMA.INVALID_UNIT.OK": "Succès de la vérification de la conformité des valeurs dans les champs", + "CHECK_FILE_FORMAT": "Vérification des formats des objets et groupe d'objets", + "STP_PROBATIVE_VALUE_EXTRACT_ZIP_FILE.OK": "Succès du processus d'extraction des signatures à partir des fichiers sécurisés", + "AUDIT_CHECK_OBJECT.AUDIT_CHECK_OBJECT.KO": "Échec de l'audit de l'existence et de l'intégrité des objets", + "UNIT_DETACHMENT.KO": "Échec du détachement des unités archivistiques", + "STP_EVIDENCE_AUDIT_EXTRACT_ZIP_FILE": "Processus d'extraction des signatures à partir des fichiers sécurisés", + "AUDIT_CHECK_OBJECT.OK": "Succès de l'audit de la vérification des objets", + "LFC.UPDATE_MIGRATION_UNITS.OK": "Succès de la mise à jour des journaux de cycles de vie des unités archivistiques lors de la migration", + "LFC.CHECK_UNIT_SCHEMA.RULE_DATE_FORMAT.STARTED.OK": "Succès du début de la vérification de la cohérence de la date déclarée dans les règles de gestion", + "LFC.OG_METADATA_INDEXATION.KO": "Échec de l'indexation des métadonnées du groupe d'objets", + "STP_MIGRATION_OBJECT_GROUPS_PREPARE.FATAL": "Erreur technique est lors du processus de préparation de la migration des groupes d'objets", + "STP_DELETE_RULES.OK": "Succès du processus de suppression du référentiel des règles de gestion", + "STP_EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD.STARTED": "Début du processus de la préparation de la liste des signatures dans les fichiers sécurisés", + "STP_OBJECT_GROUP_GRAPH_COMPUTE.WARNING": "Avertissement lors du processus de mise à jour des graphes des groupes d'objets", + "EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS.KO": "Échec de la création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "CHECK_CONTAINER.WARNING": "Avertissement lors du contrôle du format du conteneur du SIP", + "STP_FINALISE_AUDIT.FATAL": "Erreur technique lors du processus de finalisation de l'audit", + "UPDATE_OBJECT_GROUP.STARTED": "Début de la mise à jour du groupe d'objets", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_INTEGRITY.WARNING": "Avertissement lors de l'existence et de l'intégrité des objets", + "LFC.CHECK_UNIT_SCHEMA.EMPTY_REQUIRED_FIELD.WARNING": "Avertissement lors du contrôle additionnel sur la validité des champs de l'unité archivistique", + "STP_IMPORT_GRIFFIN.STARTED": "Début du processus d'import du référentiel des griffons", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.PHYSICAL_OBJECT.OK": "Succès de l'audit de la vérification des objets physiques du groupe d'objets", + "STP_INGEST_CONTROL_SIP": "Processus de contrôle du SIP", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.PUID_NOT_FOUND.KO": "Identifiant du format de l'objet (PUID) absent dans le référentiel des formats", + "OBJ_STORAGEOBJ_STORAGE": "Écriture des objets et des groupes d'objets sur l'offre de stockage", + "STP_UNIT_STORING.WARNING": "Avertissement lors du processus d'écriture des unités archivistiques sur les offres de stockage", + "STP_UNIT_DETACHMENT.KO": "Échec du processus de détachement des unités archivistiques", + "MIGRATION_UNITS_LIST.STARTED": "Début de la distribution des unités archivistiques", + "STORAGE_AVAILABILITY_CHECK.OK": "Succès de la vérification de la disponibilité de toutes les offres de stockage", + "PRESERVATION_INDEXATION_METADATA.OK": "Succès de l'indexation des métadonnées du groupe d'objets", + "DATA_MIGRATION.KO": "Échec du processus de migration de données", + "LFC.UNIT_METADATA_STORAGE.KO": "Échec de l'écriture des métadonnées de l'unité archivistique sur les offres de stockage", + "RECLASSIFICATION_FINALIZATION.FATAL": "Erreur technique lors de la finalisation de la modification d'arborescence des unités archivistiques", + "STP_DELETE_LOGBOOK_LIFECYCLE_OG.STARTED": "Début du processus de suppression des journaux du cycle de vie des groupes d'objets", + "CHECK_UNIT_SCHEMA.CONSISTENCY.KO": "Au moins une unité archivistique n'est pas conforme à son schéma en raison d'un problème de cohérence entre champs", + "IMPORT_ONTOLOGY.KO": "Échec du processus d'import de l'ontologie", + "UNIT_DETACHMENT.OK": "Succès du détachement des unités archivistiques", + "STP_EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD": "Processus de la préparation de la liste des signatures dans les fichiers sécurisés", + "RECLASSIFICATION_FINALIZATION.STARTED.OK": "Succès du début de la finalisation de la modification d'arborescence des unités archivistiques", + "PRESERVATION.WARNING": "Avertissement lors du processus global de préservation", + "CHECK_DATAOBJECTPACKAGE.EXISTING_OG_NOT_DECLARED.KO": "Au moins une unité archivistique déclare un objet à la place du groupe d'objet correspondant", + "PREPARE_TRACEABILITY_CHECK.KO": "Échec de la préparation de la vérification des journaux sécurisés", + "LOGBOOK_UNIT_LFC_TRACEABILITY.OK": "Succès de la sécurisation des journaux du cycle de vie des unités archivistiques", + "ELIMINATION_ACTION_CHECK_DISTRIBUTION_THRESHOLD.KO": "Échec de la vérification des seuils de l'élimination définitive des unités archivistiques", + "LOGBOOK_OBJECTGROUP_LFC_TRACEABILITY.KO": "Échec de la sécurisation des journaux du cycle de vie", + "ATR_NOTIFICATION": "Notification de la fin de l'opération d'entrée", + "STP_RECLASSIFICATION_PREPARATION.KO": "Échec du processus de préparation de la modification d'arborescence des unités archivistiques", + "AGENCIES_REPORT.STARTED.OK": "Succès du début du processus de génération du rapport d'import du référentiel des services agents", + "MIGRATION_FINALIZE.OK": "Succès de la finalisation de la migration", + "LFC.UNIT_METADATA_UPDATE_CHECK_RULES.KO": "Échec de la vérification de la mise à jour des règles de gestion de l'unité archivistique", + "PRESERVATION_ACCESSION_REGISTRATION.ALREADY_EXECUTED": "Action déjà exécutée : Pas d'alimentation du Registre des Fonds", + "STP_RECLASSIFICATION_FINALIZATION.FATAL": "Erreur technique lors du processus de finalisation de la modification d'arborescence des unités archivistiques", + "MASS_UPDATE_FINALIZE.STARTED.OK": "Succès du début du processus de traitement de mise à jour des générations du rapport de mise à jour des métadonnées descriptives des unités archivistiques", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.FATAL": "Erreur technique lors du processus de mise à jour du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "LFC.PRESERVATION_BINARY_HASH.WARNING": "Avertissement lors calcul d'une empreinte en SHA-512", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.OK": "Succès du processus de mise à jour du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "STP_IMPORT_CONTEXT": "Processus d'import du contexte applicatif", + "LFC.CHECK_MANIFEST.FATAL": "Erreur technique lors de la vérification de la cohérence du bordereau de transfert", + "STP_BACKUP_SECURITY_PROFILE.FATAL": "Erreur technique lors du processus de sauvegarde des profils de sécurité", + "STORE_MANIFEST.STARTED": "Début de la création du DIP et de son déplacement vers l'offre de stockage", + "LOGBOOK_OBJECTGROUP_LFC_TRACEABILITY.WARNING": "Avertissement lors de la sécurisation des journaux du cycle de vie des groupes d'objets", + "PROBATIVE_VALUE_EXTRACT_ZIP_FILE.OK": "Succès de l'extraction des signatures à partir des fichiers sécurisés", + "UPDATE_AGENCIES.STARTED.OK": "Succès du début du processus de mise à jour du référentiel des services agents", + "IMPORT_AGENCIES.KO": "Échec du processus d'import du référentiel des services agents", + "STORAGE_AVAILABILITY_CHECK.FATAL": "Erreur technique lors de la vérification de la disponibilité d'au moins une offre de stockage", + "UNIT_METADATA_STORAGE.FATAL": "Erreur technique lors de l'enregistrement des métadonnées des unités archivistiques", + "IMPORT_ONTOLOGY.FATAL": "Erreur technique lors du processus d'import de l'ontologie", + "STP_DELETE_MASTERDATA_ACCESS_CONTRACT": "Processus de suppression des contrats d'accès", + "MIGRATION_UNITS_LIST.OK": "Succès de la distribution des unités archivistiques", + "STP_REFERENTIAL_FORMAT_IMPORT": "Processus d'import du référentiel des formats", + "STP_EVIDENCE_AUDIT_PREPARE.KO": "Échec du processus de la création de la liste à auditer", + "LFC.UNITS_RULES_COMPUTE.KO": "Échec de l'application des règles de gestion et du calcul des dates d'échéance", + "CHECK.STARTED": "Début de la vérification des journaux sécurisés", + "STP_VERIFY_STAMP.STARTED.OK": "Début du processus de vérification de l'horodatage", + "MASS_UPDATE_UNIT_DESC.STARTED": "Début du processus de mise à jour en masse des métadonnées descriptives des unités archivistiques", + "STP_BACKUP_SECURITY_PROFILE.OK": "Succès du processus de sauvegarde des profils de sécurité", + "LFC.PRESERVATION_INDEXATION_METADATA.STARTED": "Début de l'indexation des métadonnées du groupe d'objets", + "STP_ELIMINATION_ACTION_DELETE_UNIT.WARNING": "Avertissement lors du processus d'élimination définitive des unités archivistiques éliminables", + "CHECK_LOGBOOK_OP_SECURISATION.KO": "Échec de la vérification des journaux sécurisés", + "STP_IMPORT_PROFILE_JSON.STARTED.OK": "Succès du début du processus d'import du profil d'archivage", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.NOT_FOUND.KO": "Format de l'objet non identifié", + "LFC.PRESERVATION_STORAGE_BINARY.OBJECT_STORAGE_TASK.KO": "Échec de l'écriture des objets sur les offres de stockage", + "STP_UNIT_METADATA.STARTED": "Début du processus d'indexation des métadonnées des unités archivistiques", + "RECTIFICATION_AUDIT.FATAL": "une Erreur technique est survenue lors du processus d'audit correctif modifié", + "STP_DELETE_MASTERDATA_PROFILE.KO": "Échec du processus de suppression du référentiel des profils d'archivage (fichier xsd ou rng)", + "CHECK_SEDA.NO_FILE.KO": "Échec de la vérification globale du SIP : Absence du bordereau de transfert ou bordereau de transfert au mauvais format", + "STP_PROBATIVE_VALUE_CHECK_OBJECT_GROUP": "Processus de récupération des données dans la base de données", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.STARTED.OK": "Succès du début du contrôle de cohérence du bordereau de transfert", + "PROCESS_SIP_UNITARY_TEST.WARNING": "Avertissement lors du processus d'entrée à blanc du SIP", + "LFC.OBJ_STORAGE.STARTED": "Début de l'écriture des objets sur les offres de stockage", + "FINALIZE_OG_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP.STARTED": "Début de l'horodatage des journaux du cycle de vie des groupes d'objets", + "MASS_UPDATE_UNIT_RULE.WARNING": "Avertissement lors de la mise à jour des règles de gestion des unités archivistiques", + "LIST_OBJECTGROUP_ID.STARTED": "Début de la création de la liste des groupes d'objets à auditer", + "STP_IMPORT_INGEST_CONTRACT.FORMAT_MUST_BE_EMPTY.KO": "Échec de l'import du contrat d'entrée : La liste blanche des formats doit être vide lorsque tous les formats sont autorisés", + "STP_DELETE_MASTERDATA_AGENCIES.OK": "Succès du processus de suppression du référentiel des services agents", + "LFC.UNITS_RULES_COMPUTE.CONSISTENCY.FATAL": "Erreur technique lors de la vérification de la cohérence de la règle de gestion par rapport à sa catégorie", + "STORAGE_SECURISATION_STORAGE.OK": "Succès du stockage des journaux d'écriture", + "RECLASSIFICATION_PREPARATION_UPDATE_DISTRIBUTION.OK": "Succès de la préparation de la mise à jour du graphe au moment de la modification d'arborescence des unités archivistiques", + "STP_PERSONAL_CERTIFICATE_CHECK.STARTED": "Début du processus de vérification du certificat personnel", + "STP_MERKLE_TREE": "Processus de vérification de l'arbre de MERKLE", + "IMPORT_AGENCIES.USED_CONTRACT.WARNING": "Avertissement lors du processus de vérification des services agents référencés dans les contrats d'accès", + "CHECK_SEDA.CONTAINER_FORMAT.FILE": "Vérification globale du SIP", + "STP_OBJECT_GROUP_GRAPH_COMPUTE": "Processus de mise à jour des graphes des groupes d'objets", + "STP_PRESERVATION_FINALIZATION.FATAL": "Erreur technique lors du processus de finalisation du traitement de préservation", + "STP_IMPORT_PROFILE_JSON.FATAL": "Erreur technique lors du processus d'import du profil d'archivage", + "VERIFY_TIMESTAMP.COMPARE_TOKEN_TIMESTAMP.WARNING": "Avertissement lors de la comparaison des tampons d'horodatage", + "PREPARE_OG_LFC_TRACEABILITY.OK": "Succès de la préparation des journaux du cycle de vie et des métadonnées des groupes d'objets", + "CHECK_CLASSIFICATION_LEVEL.KO": "Échec de la vérification du niveau de classification : le bordereau de transfert déclare un niveau de classification non autorisé par la plateforme", + "CHECK_LOGBOOK_OP_SECURISATION.FATAL": "Erreur technique lors de la vérification des journaux sécurisés", + "LFC.UNIT_METADATA_STORAGE.OK": "Succès de l'écriture des métadonnées de l'unité archivistique sur les offres de stockage", + "RECLASSIFICATION_PREPARATION_UPDATE_DISTRIBUTION.KO": "Échec de la préparation de la mise à jour du graphe au moment de la modification d'arborescence des unités archivistiques", + "ELIMINATION_ACTION_DETACH_OBJECT_GROUP.FATAL": "Erreur technique lors du détachement des groupes d'objets techniques dont certaines unités archivistiques parentes sont éliminées", + "CHECK_DATAOBJECTPACKAGE.WARNING": "Avertissement lors de la vérification des objets et groupes d'objets", + "STP_UNIT_DETACHMENT.OK": "Succès du processus de détachement des unités archivistiques", + "STP_DELETE_MASTERDATA_AGENCIES.KO": "Échec du processus de suppression du référentiel des services agents", + "PREPARE_TRACEABILITY_CHECK.OK": "Succès de la préparation de la vérification des journaux sécurisés", + "CHECK_DATAOBJECTPACKAGE": "Vérification des objets et groupes d'objets", + "STP_PREPARE_TRACEABILITY_CHECK": "Processus de préparation de la vérification des journaux sécurisés", + "STP_ELIMINATION_ANALYSIS_PREPARATION.WARNING": "Avertissement lors du processus de préparation de l'analyse de l'élimination des unités archivistiques", + "PRESERVATION_INDEXATION_METADATA.KO": "Échec de l'indexation des métadonnées du groupe d'objets", + "AUDIT_CHECK_OBJECT.STARTED": "Début de l'audit de la vérification des objets", + "EVIDENCE_AUDIT.STARTED": "Début de l'audit de cohérence", + "SCENARIO_REPORT.OK": "Succès du processus de génération du rapport d'import du référentiel des scénarios de préservation", + "RECLASSIFICATION_PREPARATION_CHECK_GRAPH.WARNING": "Avertissement lors du contrôle de cohérence du graphe au moment de la modification d'arborescence des unités archivistiques", + "ELIMINATION_ACTION_DELETE_UNIT.STARTED": "Début de l'élimination définitive des unités archivistiques éliminables", + "PUT_BINARY_ON_WORKSPACE.KO": "Échec du déplacement des objets binaires de l'offre de stockage vers l'espace de travail interne", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.UNKNOWN.KO": "Échec de la vérification du format : le format de l'objet ne peut pas être identifié", + "STP_AUDIT.FATAL": "Erreur technique lors du processus d'exécution de l'audit", + "LFC.OG_OBJECTS_FORMAT_CHECK.OK": "Succès de la vérification des formats", + "MANIFEST_FILE_NAME_CHECK.WARNING": "Avertissement lors du contrôle du nom du bordereau de transfert", + "CHECK_HEADER.CHECK_AGENT.UNKNOWN.KO": "Échec de la vérification de la présence et du contrôle des services agents : services agents inconnus du référentiel des services agents", + "STP_AUDIT.KO": "Échec du processus d'exécution de l'audit", + "CHECK.KO": "Échec de la vérification des journaux sécurisés", + "PREPARE_UNIT_LFC_TRACEABILITY.OK": "Succès de la préparation des journaux du cycle de vie et des métadonnées des unités archivistiques", + "LFC.UNIT_METADATA_UPDATE_CHECK_RULES": "Vérification de la mise à jour des règles de gestion de l'unité archivistique", + "PRESERVATION_STORAGE_METADATA_LFC.STARTED": "Début de l'enregistrement des journaux du cycle de vie des groupes d'objets", + "STP_EVIDENCE_AUDIT_PREPARE.OK": "Succès du processus de la création de la liste à auditer", + "STORAGE_BACKUP.FATAL": "Erreur technique lors de la sauvegarde des journaux des écritures", + "STP_IMPORT_GRIFFIN": "Processus d'import du référentiel des griffons", + "ATR_NOTIFICATION.ALREADY_EXECUTED": "Action déjà exécutée : Pas de notification de la fin de l'opération d'entrée à l'opérateur de versement", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.ARCHIVEUNIT_REFERENCES_MULTIPLE_OBJECTGROUP.KO": "Une unité archivistique référence plus d'un groupe d'objets techniques", + "STP_MIGRATION_FINALIZE.WARNING": "Avertissement lors du processus de finalisation de la migration", + "STP_UPDATE_INGEST_CONTRACT.IDENTIFIER_DUPLICATION.KO": "Échec du processus de mise à jour du contrat d'entrée : l'identifiant est déjà utilisé", + "CHECK_SEDA.CONTAINER_FORMAT.DIRECTORY": "Vérification globale du SIP", + "INGEST.STARTED.OK": "Succès du début de l'entrée du SIP", + "LFC.CHECK_MANIFEST_LOOP.STARTED": "Début de la vérification de la non-récursivité de l'arborescence", + "LFC.UNITS_RULES_COMPUTE.OK": "Succès de l'application des règles de gestion et du calcul des dates d'échéance", + "STP_UPDATE_PROFILE_JSON.PROFILE_NOT_FOUND.KO": "Échec du processus de mise à jour du profil d'archivage : profil non trouvé", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.PHYSICAL_OBJECT.STARTED": "Début de l'audit de la vérification des objets physiques du groupe d'objets", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_SAVED_HASH": "Comparaison de l'arbre de MERKLE avec le Hash enregistré", + "PROCESS_SIP_UNITARY_TEST.FATAL": "Erreur technique lors du processus d'entrée à blanc du SIP", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.STARTED": "Début du processus de préparation du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "STORAGE_AVAILABILITY_CHECK.WARNING": "Avertissement lors de la vérification de la disponibilité d'au moins une offre de stockage : Impossibilité de connaître l'espace disponible", + "ELIMINATION_ACTION_DETACH_OBJECT_GROUP.STARTED.OK": "Succès du début du détachement des groupes d'objets techniques dont certaines unités archivistiques parentes sont éliminées", + "LFC.OBJ_STORAGE.OBJ_STORAGE_SUB_TASK.STARTED": "Début de l'écriture de l'objet sur les offres de stockage", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.STARTED.OK": "Succès du début du processus de mise à jour du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "IMPORT_AGENCIES.OK": "Succès du processus d'import du référentiel des services agents", + "STP_BACKUP_SECURITY_PROFILE.KO": "Échec du processus de sauvegarde des profils de sécurité", + "STP_UNIT_DETACHMENT.FATAL": "Erreur technique lors du processus de détachement des unités archivistiques", + "STP_BACKUP_ACCESS_CONTRACT.FATAL": "Erreur technique lors du processus de sauvegarde des contrats d'accès", + "STP_DELETE_MASTERDATA_GRIFFIN": "Processus de suppression du référentiel des griffons", + "EVIDENCE_AUDIT_EXTRACT_ZIP_FILE.FATAL": "Erreur technique lors de la préparation de l'extraction des signatures à partir des fichiers sécurisés", + "CHECK_CLASSIFICATION_LEVEL.STARTED.OK": "Succès du début de la vérification des niveaux de classification", + "CHECK_SEDA.CONTAINER_FORMAT.DIRECTORY.FATAL": "Erreur technique lors de la vérification globale du SIP", + "CHECK_HEADER.CHECK_AGENT.STARTED.OK": "Succès du début de la vérification de la présence et du contrôle des services agents", + "LFC.PRESERVATION_STORAGE_BINARY.OBJECT_STORAGE_TASK": "Écriture des objets sur les offres de stockage", + "CHECK_UNIT_SCHEMA.FATAL": "Erreur technique lors de la vérification globale de l'unité archivistique", + "STP_EVIDENCE_AUDIT_FINALIZE": "Processus de finalisation de l'audit et génération du rapport final", + "UNIT_ATTACHMENT.STARTED.OK": "Succès du début du rattachement des unités archivistiques", + "STP_UNIT_ATTACHMENT": "Processus de rattachement des unités archivistiques", + "CHECK_HEADER.CHECK_AGENT.KO": "Échec de la vérification de la présence et du contrôle des services agents", + "STP_PREPARATION.WARNING": "Avertissement lors du processus de lancement de la préparation du traitement de préservation", + "CHECK_LOGBOOK_OP_SECURISATION.OK": "Succès de la vérification des journaux sécurisés", + "EVIDENCE_AUDIT_EXTRACT_ZIP_FILE.STARTED": "Début de l'extraction des signatures à partir des fichiers sécurisés", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.UNAUTHORIZED_ATTACHMENT_BY_CONTRACT.KO": "Le rattachement n'a pas été effectué : le contrat d'entrée n'autorise pas les rattachements", + "ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.WARNING": "Avertissement lors de la préparation de l'élimination définitive des groupes d'objets techniques", + "STP_DELETE_FORMAT.STARTED": "Début du processus de suppression du référentiel des formats", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.CONTRACT_INACTIVE.KO": "Échec de la vérification de la présence et contrôle du contrat d'entrée : le contrat d'entrée est inactif", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.KO": "Échec de la vérification du format", + "STP_OBJ_STORING.FATAL": "Erreur technique lors du processus d'écriture et d'indexation des objets sur les offres de stockage", + "CHECK_DIGEST.FATAL": "Erreur technique lors de la vérification de l'empreinte des objets", + "EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS.STARTED": "Début de la création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "PRESERVATION_ACTION.FATAL": "Erreur technique lors du lancement du griffon", + "STP_OP_SECURISATION.STARTED": "Début du processus de sécurisation du journal des opérations", + "STP_PUT_BINARY_ON_WORKSPACE": "Processus de déplacement des objets binaires sur l'offre de stockage vers l'espace de travail interne", + "CHECK_CONTAINER": "Contrôle du format du conteneur du SIP", + "FINALIZE_UNIT_LFC_TRACEABILITY.STARTED": "Début de la finalisation de la sécurisation des journaux du cycle de vie des unités archivistiques", + "STP_UPDATE_CONTEXT.FATAL": "Erreur technique lors du processus de mise à jour du contexte applicatif", + "LFC.OBJ_STORAGE.STARTED.OK": "Succès du début de l'écriture des objets sur les offres de stockage", + "STP_DELETE_SECURITY_PROFILE": "Processus de suppression du profil de sécurité", + "STP_MIGRATION_UNITS_PREPARE.STARTED": "Début du processus de préparation de la migration des unités archivistiques", + "STP_UPDATE_RUNNING_INGESTS.STARTED.OK": "Succès du début du processus de mise à jour des entrées en cours", + "RULES_REPORT.FATAL": "Erreur technique lors de la génération du rapport d'analyse du référentiel des règles de gestion", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.KO": "Échec de la vérification de la présence et du contrôle du contrat d'entrée", + "ELIMINATION_ANALYSIS_PREPARATION.STARTED": "Début de la préparation de l'analyse de l'élimination des unités archivistiques", + "STP_UNIT_CHECK_AND_PROCESS": "Processus de contrôle et traitements des unités archivistiques", + "PROCESS_AUDIT.WARNING": "Avertissement lors de l'audit", + "STP_CREATE_MANIFEST.STARTED.OK": "Début du processus de création du bordereau de mise à disposition", + "STP_REFERENTIAL_FORMAT_IMPORT.OK": "Succès du processus d'import du référentiel des formats", + "OBJ_STORAGE.FATAL": "Erreur technique lors de l'écriture des objets et des groupes d'objets sur les offres de stockage", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.CONTEXT_INACTIVE.KO": "Échec du contrôle du caractère actif du contexte applicatif", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.NOT_FOUND_REFERENTIAL.KO": "Le format de l'objet n'a pas été trouvé dans le référentiel des formats", + "PRESERVATION_FINALIZATION.WARNING": "Avertissement lors de la finalisation du traitement de préservation", + "CHECK_CLASSIFICATION_LEVEL.OK": "Succès de la vérification du niveau de classification", + "STP_BACKUP_ACCESS_CONTRACT": "Processus de sauvegarde des contrats d'accès", + "PROBATIVE_VALUE_CREATE_DISTRIBUTION_FILE": "Création du fichier du fichier de distribution permettant de réaliser le relevé de valeur probante", + "STP_RECLASSIFICATION_FINALIZATION": "Processus de finalisation de la modification d'arborescence des unités archivistiques", + "SCENARIO_REPORT.KO": "Échec du processus de génération du rapport d'import du référentiel des scénarios de préservation", + "MANIFEST_FILE_NAME_CHECK": "Contrôle du nom du bordereau de transfert", + "CHECK_AGENT.UNKNOWN.KO": "Échec de la vérification du contrôle des services agents", + "LIST_OBJECTGROUP_ID.FATAL": "Erreur technique lors de la création de la liste des groupes d'objets à auditer", + "PROCESS_AUDIT.FATAL": "Erreur technique lors de l'audit", + "STORAGE_SECURISATION_STORAGE.FATAL": "Erreur technique lors du stockage des journaux d'écriture", + "LFC.AUDIT_CHECK_OBJECT.STARTED": "Début de l'audit de la vérification des objets", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.KO": "Échec de l'identification du format", + "CHECK.OK": "Succès de la vérification des journaux sécurisés", + "STP_IMPORT_ACCESS_CONTRACT.AGENCY_NOT_FOUND.KO": "Échec du processus d'import du contrat d'accès : au moins un service agent est inconnu", + "STP_DELETE_LOGBOOK_LIFECYCLE_UNIT.WARNING": "Avertissement lors du processus de suppression des journaux du cycle de vie des unités archivistiques", + "RECLASSIFICATION_PREPARATION_CHECK_GRAPH.OK": "Succès du contrôle de cohérence du graphe au moment de la modification d'arborescence des unités archivistiques", + "PRESERVATION_PREPARATION": "Préparation du traitement de préservation", + "ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.STARTED": "Début de la préparation du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "CHECK_HEADER.KO": "Échec de la vérification générale du bordereau de transfert", + "STP_IMPORT_INGEST_CONTRACT.PROFILE_NOT_FOUND.KO": "Échec de l'import du contrat d'entrée : profil d'archivage non trouvé", + "LFC.UNIT_DETACHMENT": "Modification d'arborescence de l'unité archivistique", + "ELIMINATION_ACTION_REPORT_GENERATION.WARNING": "Avertissement lors de la de génération du rapport d'élimination définitive des unités archivistiques", + "LFC.CHECK_UNIT_SCHEMA.CONSISTENCY": "Vérification de la cohérence entre les champs Date de début et Date de fin", + "OG_OBJECTS_FORMAT_CHECK.UNKNOWN.KO": "Échec de l'identification des formats : le format de ou des objet(s) ne peut pas être identifié", + "OBJECTS_LIST_EMPTY.WARNING": "Avertissement lors de l'établissement de la liste des objets : il n'y a pas d'objet pour cette étape", + "STP_DELETE_SECURITY_PROFILE.WARNING": "Avertissement lors du processus suppression du profil de sécurité", + "STP_DELETE_MASTERDATA_PROFILE.STARTED": "Début du processus de suppression du référentiel des profils d'archivage (fichier xsd ou rng)", + "ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.FATAL": "Erreur technique lors de la préparation du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "ELIMINATION.STARTED": "Début de l'élimination des unités archivistiques", + "EVIDENCE_AUDIT_CHECK_DATABASE": "Récupération des données dans la base de donnée", + "MIGRATION_OBJECT_GROUPS_LIST.FATAL": "Erreur technique lors de la distribution des groupes d'objets", + "EXPORT_PROBATIVE_VALUE.WARNING": "Avertissement lors du processus d'export du relevé de valeur probante", + "LFC.UNIT_METADATA_UPDATE.STARTED": "Début de la mise à jour des métadonnées de l'unité archivistique", + "STP_ELIMINATION_ANALYSIS_PREPARATION.FATAL": "Erreur technique lors du processus de préparation de l'analyse de l'élimination des unités archivistiques", + "OG_METADATA_INDEXATION.FATAL": "Erreur technique lors de l'indexation des métadonnées des objets et des groupes d'objets", + "STP_MIGRATION_FINALIZE.FATAL": "Erreur technique lors du processus de finalisation de la migration", + "CHECK_DATAOBJECTPACKAGE.KO": "Échec de la vérification des objets et groupes d'objets", + "STP_DELETE_MASTERDATA_ACCESSION_REGISTER_SYMBOLIC.OK": "Succès du processus de suppression du Registre des Fonds symboliques", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.STARTED": "Début de la vérification du format", + "STP_ELIMINATION_ACTION_PREPARATION": "Processus de préparation de l'élimination définitive des unités archivistiques", + "BUILD_UNIT_LFC_TRACEABILITY.STARTED": "Début de la sécurisation des journaux du cycle de vie des unités archivistiques", + "ELIMINATION_ACTION.WARNING": "Avertissement lors de l'élimination définitive des unités archivistiques", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.STARTED": "Début de l'audit de l'existence des objets", + "STP_IMPORT_INGEST_CONTRACT.WARNING": "Avertissement lors du processus d'import du contrat d'entrée", + "STORAGE_ACCESS_BACKUP.STARTED": "Début de la sauvegarde des logs d'accès", + "CHECK_DISTRIBUTION_THRESHOLD": "Vérification des seuils de limitation de traitement des unités archivistiques", + "STP_MIGRATION_UNITS_PREPARE.KO": "Échec du processus de préparation de la migration des unités archivistiques", + "CHECK_LOGBOOK_OP_SECURISATION.WARNING": "Avertissement lors de la vérification des journaux sécurisés", + "STP_IMPORT_CONTEXT.STARTED": "Début du processus d'import du contexte applicatif", + "LFC.PRESERVATION_INDEXATION_METADATA.PRESERVATION_INDEXATION_METADATA": "Indexation des métadonnées du groupe d'objets lors d'une opération de préservation", + "UPDATE_ARCHIVEUNITPROFILE.IDENTIFIER_DUPLICATION.KO": "Échec du processus de mise à jour du profil d'unité archivistique : l'identifiant est déjà utilisé", + "STP_DELETE_MASTERDATA_ONTOLOGY.FATAL": "Erreur technique lors du processus de suppression du référentiel des ontologies", + "LFC.UNIT_METADATA_INDEXATION.STARTED": "Début de l'indexation des métadonnées de l'unité archivistique", + "STP_PRESERVATION_ACTION.KO": "Échec du processus de lancement du griffon", + "STP_UPDATE.WARNING": "Avertissement lors du processus de traitement de mise à jour des unités archivistiques", + "STP_EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS.STARTED.OK": "Début du processus de création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "PRESERVATION_ACTION": "Lancement du griffon", + "REPORT_AUDIT.STARTED": "Début de la notification de la fin de l'audit", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.OK": "Format de l'objet identifié, référencé dans le référentiel interne et avec des informations cohérentes entre le bordereau de transfert et le résultat de l'outil d'identification des formats.", + "PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD": "Préparation de la liste des signatures dans les fichiers sécurisés", + "STP_IMPORT_SECURITY_PROFILE.STARTED": "Début du processus d'import du profil de sécurité", + "STP_CORRECTION_FINALIZE.STARTED": "Début du processus de finalisation des corrections des signatures pour chaque objet, groupe d'objets ou unité auditée défaillante", + "STP_DELETE_RULES.STARTED.OK": "Succès du début du processus de suppression du référentiel des règles de gestion", + "STORAGE_SECURISATION_STORAGE": "Stockage des journaux d'écriture", + "EVIDENCE_AUDIT.OK": "Succès du processus d'audit de cohérence", + "STP_DELETE_MASTERDATA_PRESERVATION_SCENARIO.KO": "Échec du processus de suppression du référentiel des scénarios de préservation", + "LFC.UNIT_METADATA_UPDATE.OK": "Succès de la mise à jour des métadonnées de l'unité archivistique", + "STP_BACKUP_INGEST_CONTRACT.KO": "Échec du processus de sauvegarde des contrats d'entrée", + "TRACEABILITY": "Sécurisation", + "STP_BACKUP_INGEST_CONTRACT.STARTED": "Début du processus de sauvegarde des contrats d'entrée", + "CORRECTION_FINALIZE.KO": "Échec du processus de finalisation des corrections des signatures pour chaque objet, groupe d'objets ou unité auditée défaillante", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.OBJECT_NOT_FOUND.FATAL": "L'objet à analyser n'a pas été trouvé", + "LFC.OG_METADATA_INDEXATION.FATAL": "Erreur technique lors de l'indexation des métadonnées du groupe d'objets", + "OBJECT_GROUP_GRAPH_COMPUTE.OK": "Succès de la mise à jour des graphes des groupes d'objets", + "STP_CHECK_AND_COMPUTE.FATAL": "Erreur technique lors du processus de préparation de la liste des unités archivistiques à mettre à jour et des autorisations de modification", + "PROCESS_AUDIT": "Audit", + "IMPORT_ARCHIVEUNITPROFILE.OK": "Succès du processus d'import du profil d'unité archivistique", + "LOGBOOK_UNIT_LFC_TRACEABILITY.WARNING": "Avertissement lors de la sécurisation des journaux du cycle de vie des unités archivistiques", + "STP_MIGRATION_UNITS.WARNING": "Avertissement lors du processus de préparation de la migration des unités archivistiques", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_WRONG_ATTACHMENT_LINK.KO": "Le bordereau de transfert procède à un rattachement en utilisant des éléments hors périmètre", + "UPDATE_ARCHIVEUNITPROFILE.NOT_IN_ENUM.KO": "Échec du processus de mise à jour du profil d'unité archivistique : une valeur ne correspond pas aux valeurs attendues", + "LFC.CHECK_UNIT_SCHEMA.INVALID_UNIT.STARTED": "Début de la vérification de la conformité des valeurs dans les champs", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.OK": "Format de l'objet identifié, référencé dans le référentiel interne et le résultat de l'outil d'identification des formats.", + "STP_UNIT_ATTACHMENT.FATAL": "Erreur technique lors du processus de rattachement des unités archivistiques", + "STP_DELETE_FORMAT": "Processus de suppression du référentiel des formats", + "LFC.OBJ_STORAGE.OBJ_STORAGE_SUB_TASK": "Écriture de l'objet sur les offres de stockage", + "CHECK_UNIT_SCHEMA": "Vérification globale de l'unité archivistique", + "UNIT_GRAPH_COMPUTE.FATAL": "Erreur technique lors de la mise à jour des graphes des unités archivistiques", + "STP_BACKUP_CONTEXT.STARTED.OK": "Succès du début du processus de sauvegarde des contextes applicatifs", + "LFC.PRESERVATION_BINARY_HASH.PRESERVATION_BINARY_HASH.KO": "Échec du calcul d'une empreinte en SHA-512", + "LFC.CHECK_CONSISTENCY_ORPHAN_OBJECT": "Vérification du rattachement des objets aux groupes d'objets et aux unités archivistiques", + "LFC.PRESERVATION_BINARY_HASH.FATAL": "Erreur technique lors calcul d'une empreinte en SHA-512", + "STP_DELETE_METADATA_OG.STARTED.OK": "Succès du début du processus de suppression des métadonnées des groupes d'objets", + "MANIFEST_FILE_NAME_CHECK.KO": "Échec du contrôle du nom du bordereau de transfert : nom du fichier non conforme", + "STORAGE_ACCESS_BACKUP": "Sauvegarde des logs d'accès", + "LFC.PRESERVATION_STORAGE_BINARY.OBJECT_STORAGE_TASK.OK": "Succès de l'écriture des objets sur les offres de stockage", + "CHECK_SEDA.NO_FILE.FATAL": "Erreur technique lors de la vérification globale du SIP", + "STP_MIGRATION_UNITS.OK": "Succès du processus de préparation de la migration des unités archivistiques", + "CHECK_DIGEST.INVALID.KO": "Échec de la vérification de l'empreinte des objets : Il existe au moins un objet dont l'empreinte est invalide dans le bordereau de transfert", + "CHECK_DATAOBJECTPACKAGE.CHECK_CONSISTENCY": "Vérification de la cohérence entre objets, groupes d'objets et unités archivistiques", + "CHECK_DATAOBJECTPACKAGE.OK": "Succès de la vérification des objets et groupes d'objets", + "STP_DELETE_MASTERDATA_ACCESSION_REGISTER_SYMBOLIC.KO": "Échec du processus de suppression du Registre des Fonds symboliques", + "CHECK_DATAOBJECTPACKAGE.INVALID_DATAOBJECTVERSION.KO": "Au moins un objet déclare un usage incorrect. L'usage doit s'écrire sous la forme [usage] ou [usage]_[version]. \"Usage\" doit être parmi l'énumération DataObjectVersion définie par le SEDA : \"version\" doit être un entier positif", + "STP_DELETE_MASTERDATA_ONTOLOGY": "Processus de suppression du référentiel des ontologies", + "STP_BACKUP_CONTEXT": "Processus de sauvegarde des contextes applicatifs", + "MIGRATION_UNITS_LIST.KO": "Échec de la distribution des unités archivistiques", + "STP_ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.WARNING": "Avertissement lors du processus de préparation de l'élimination définitive des groupes d'objets techniques", + "RECLASSIFICATION_FINALIZATION.OK": "Succès de la finalisation de la modification d'arborescence des unités archivistiques", + "MASTERDATA.WARNING": "Avertissement lors de l'import des données de base", + "STP_IMPORT_RULES_BACKUP_CSV.FATAL": "Erreur technique lors du processus d'enregistrement du fichier d'import du référentiel des règles de gestion", + "STP_UNIT_CHECK_AND_PROCESS.ALREADY_EXECUTED": "Action déjà exécutée : Pas de processus de contrôle et traitement des unités archivistiques", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.TOOL_DOES_NOT_ANSWER.FATAL": "L'outil d'analyse des formats de l'objet ne répond pas", + "UNIT_GRAPH_COMPUTE.KO": "Échec de la mise à jour des graphes des unités archivistiques", + "LIST_RUNNING_INGESTS.FATAL": "Erreur technique lors du processus de préparation des listes des unités archivistiques à mettre à jour", + "MIGRATION_UNITS.FATAL": "Erreur technique lors de la migration des unités archivistiques", + "LFC.CHECK_MANIFEST.STARTED": "Début de la vérification de la cohérence du bordereau de transfert", + "STP_ELIMINATION_ACTION_PREPARATION.FATAL": "Erreur technique lors du processus de préparation de l'élimination définitive des unités archivistiques", + "OBJECT_GROUP_GRAPH_COMPUTE.STARTED": "Début de la mise à jour des graphes des groupes d'objets", + "STP_UPDATE_SECURITY_PROFILE.OK": "Succès du processus de mise à jour du profil de sécurité", + "STORAGE_AVAILABILITY_CHECK.STORAGE_OFFER_SPACE_KO.KO": "Échec de la vérification de la disponibilité d'au moins une offre de stockage : Au moins une offre de stockage est insuffisante", + "STP_ELIMINATION_ANALYSIS_UNIT_INDEXATION.FATAL": "Erreur technique lors du processus d'indexation de l'analyse d'élimination des unités archivistiques", + "STP_MIGRATION_UNITS_PREPARE.OK": "Succès du processus de préparation de la migration des unités archivistiques", + "STP_IMPORT_GRIFFIN.STARTED.OK": "Succès du début du processus d'import du référentiel des griffons", + "STP_UPDATE_UNIT_DESC.STARTED.OK": "Succès du début du processus de mise à jour des métadonnées descriptives de l'unité archivistique", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_INTEGRITY": "Audit de la vérification des fichiers du groupe d'objets", + "VERIFY_TIMESTAMP.VALIDATE_TOKEN_TIMESTAMP.STARTED": "Début de la validation du tampon d'horodatage", + "COMMIT_RULES.WARNING": "Avertissement lors de la persistance des données en base", + "LFC.OG_OBJECTS_FORMAT_CHECK.WARNING": "Avertissement lors de la vérification des formats : des informations relatives aux formats ont été complétées par la solution logicielle Vitam", + "STP_PRESERVATION_ACTION.OK": "Succès du processus de lancement du griffon", + "STP_BACKUP_SECURITY_PROFILE": "Processus de sauvegarde des profils de sécurité", + "STP_MERKLE_TREE.STARTED.OK": "Début du processus de vérification de l'arbre de MERKLE", + "RECLASSIFICATION_FINALIZATION.WARNING": "Avertissement lors de la finalisation de la modification d'arborescence des unités archivistiques", + "STP_DELETE_RULES.WARNING": "Avertissement lors du processus de suppression du référentiel des règles", + "UPDATE_UNIT_RULES.WARNING": "Avertissement lors de la mise à jour des règles de gestion des unités archivistiques", + "ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.WARNING": "Avertissement lors de la mise à jour du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "FINALIZE_OG_LFC_TRACEABILITY.STARTED": "Début de la finalisation de la sécurisation des journaux du cycle de vie des groupes d'objets", + "ELIMINATION_ANALYSIS_FINALIZATION.STARTED.OK": "Succès du début de la finalisation de l'analyse de l'élimination des unités archivistiques", + "CHECK_ARCHIVE_UNIT_PROFILE.EMPTY_REQUIRED_FIELD.KO": "Échec de la vérification de la conformité aux profils d'unité archivistique : champ obligatoire vide", + "EVIDENCE_AUDIT.KO": "Échec du processus d'audit de cohérence", + "UNIT_METADATA_STORAGE": "Enregistrement des métadonnées des unités archivistiques sur l'offre de stockage", + "LFC.UNIT_METADATA_UPDATE.KO": "Échec de la mise à jour des métadonnées de l'unité archivistique", + "PREPARE_OG_LFC_TRACEABILITY.KO": "Échec de la préparation des journaux du cycle de vie et des métadonnées des groupes d'objets", + "UPDATE_OBJECT_GROUP.FATAL": "Erreur technique lors de la mise à jour du groupe d'objets", + "STP_AUDIT.OK": "Succès du processus d'exécution de l'audit", + "LFC.PRESERVATION_BINARY_HASH": "Calcul d'une empreinte en SHA-512", + "PROBATIVE_VALUE_CREATE_DISTRIBUTION_FILE.FATAL": "Erreur technique lors de la création du fichier de distribution permettant de réaliser le relevé de valeur probante", + "ELIMINATION_ACTION_DELETE_OBJECT_GROUP.OK": "Succès de l'élimination définitive des groupes d'objets techniques dont les unités archivistiques parentes sont éliminées", + "STP_UPDATE_SECURITY_PROFILE.KO": "Échec du processus de mise à jour du profil de sécurité", + "MIGRATION_UNITS.OK": "Succès de la migration des unités archivistiques", + "STP_BACKUP_REFERENTIAL_FORMAT": "Processus de sauvegarde du référentiel des formats", + "STP_PRESERVATION_ACTION.STARTED": "Début du processus de lancement du griffon", + "OBJECT_GROUP_GRAPH_COMPUTE.KO": "Échec de la mise à jour des graphes des groupes d'objets", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_SAVED_HASH.STARTED": "Début de la comparaison de l'arbre de MERKLE avec le Hash enregistré", + "STP_IMPORT_PROFILE_JSON.WARNING": "Avertissement lors du processus d'import du profil d'archivage", + "CHECK_RULES": "Contrôle de la conformité du fichier des règles de gestion", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.STARTED": "Début de l'identification du format", + "STP_IMPORT_CONTEXT.IDENTIFIER_DUPLICATION.KO": "Échec de l'import du contexte applicatif : l'identifiant est déjà utilisé", + "IMPORT_ONTOLOGY": "Processus d'import de l'ontologie", + "PUT_BINARY_ON_WORKSPACE.OK": "Succès du déplacement des objets binaires de l'offre de stockage vers l'espace de travail interne", + "LFC.PRESERVATION_STORAGE_BINARY.STARTED": "Début de l'écriture des objets sur les offres de stockage", + "FINALIZE_UNIT_LFC_TRACEABILITY.FATAL": "Erreur technique lors de la finalisation de la sécurisation des journaux du cycle de vie des unités archivistiques", + "BACKUP_ARCHIVEUNITPROFILE.FATAL": "Erreur technique lors du processus de sauvegarde des profils d'unité archivistique", + "STP_ELIMINATION_ACTION_FINALIZATION.STARTED.OK": "Succès du début du processus de finalisation de l'élimination définitive des unités archivistiques", + "UPDATE_RULES_ARCHIVE_UNITS.WARNING": "Avertissement lors de la mise à jour des unités archivistiques", + "STP_MERKLE_TREE.STARTED": "Début du processus de vérification de l'arbre de MERKLE", + "PREPARE_UNIT_LFC_TRACEABILITY.KO": "Échec de la préparation des journaux du cycle de vie et des métadonnées des unités archivistiques", + "LFC.OBJ_STORAGE.FATAL": "Erreur technique lors de l'écriture des objets sur les offres de stockage", + "PRESERVATION_BINARY_HASH.STARTED.OK": "Succès du début du calcul d'une empreinte en SHA-512", + "STP_MIGRATION_UNITS.KO": "Échec du processus de préparation de la migration des unités archivistiques", + "IMPORT_ARCHIVEUNITPROFILE.KO": "Échec du processus d'import du profil d'unité archivistique", + "LFC.UNITS_RULES_COMPUTE.STARTED": "Début de l'application des règles de gestion et du calcul des dates d'échéance", + "LFC.OG_CREATE_SECURED_FILE.OK": "Succès de la création de fichiers sécurisés du groupe d'objets", + "BACKUP_PROFILE.STARTED": "Début du processus de sauvegarde des profils d'archivage", + "LIST_OBJECTGROUP_ID.OK": "Succès de la création de la liste des groupes d'objets à auditer", + "STP_ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.OK": "Succès du processus de préparation de l'élimination définitive des groupes d'objets techniques", + "STP_PREPARE_AUDIT.KO": "Échec du processus de préparation de l'audit", + "CHECK_RULES.WARNING": "Avertissement lors du contrôle de la conformité du fichier des règles de gestion", + "LFC.UPDATE_OBJECT_GROUP.FATAL": "Erreur technique lors de la mise à jour du groupe d'objets", + "STP_EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD.OK": "Succès du processus de la préparation de la liste des signatures dans les fichiers sécurisés", + "LFC.CHECK_DIGEST.CALC_CHECK": "Calcul d'une empreinte en SHA-512", + "ELIMINATION_ANALYSIS_UNIT_INDEXATION.WARNING": "Avertissement lors de l'indexation de l'analyse d'élimination des unités archivistiques", + "STP_ELIMINATION_ANALYSIS_FINALIZATION.FATAL": "Erreur technique lors du processus de finalisation de l'analyse de l'élimination des unités archivistiques", + "EXPORT_DIP": "Export du DIP", + "UNIT_ATTACHMENT.FATAL": "Erreur technique lors du rattachement des unités archivistiques", + "STP_BACKUP_SCENARIO.STARTED": "Début du processus de sauvegarde ddes scénarios de préservation", + "CHECK_DATAOBJECTPACKAGE.CHECK_NO_OBJECT.KO": "Échec de la vérification de l'absence d'objet : objet(s) trouvé(s)", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.REJECTED.KO": "Échec de la vérification du format : le format de l'objet est rejeté", + "AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.WARNING": "Avertissement lors de l'audit de l'existence des objets : au moins un groupe d'objets n'a pas d'objet binaire à vérifier", + "STP_VERIFY_STAMP.OK": "Succès du processus de vérification de l'horodatage", + "STP_INGEST_CONTROL_SIP.STARTED": "Début du processus du contrôle du SIP", + "EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD.WARNING": "Avertissement lors de la préparation de la liste des signatures dans les fichiers sécurisés", + "SCENARIO_REPORT.STARTED": "Début du processus de génération du rapport d'import du référentiel des scénarios de préservation", + "LFC.PRESERVATION_INDEXATION_METADATA.OK": "Succès de l'indexation des métadonnées du groupe d'objets", + "PREPARE_STORAGE_INFO.STARTED.OK": "Succès du début de la préparation des informations de stockage", + "UNIT_GRAPH_COMPUTE.OK": "Succès de la mise à jour des graphes des unités archivistiques", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.NOT_FOUND.KO": "Format de l'objet non identifié", + "MASS_UPDATE_FINALIZE.WARNING": "Avertissement lors du processus de traitement de mise à jour des générations du rapport de mise à jour des métadonnées descriptives des unités archivistiques", + "STP_CHECK_AND_COMPUTE": "Processus de préparation de la liste des unités archivistiques à mettre à jour et des autorisations de modification", + "PUT_BINARY_ON_WORKSPACE": "Déplacement des objets binaires sur l'offre de stockage vers l'espace de travail interne", + "STP_ELIMINATION_ANALYSIS_PREPARATION": "Processus de préparation de l'analyse de l'élimination des unités archivistiques", + "ELIMINATION_ACTION_REPORT_GENERATION.STARTED.OK": "Succès du début de la de génération du rapport d'élimination définitive des unités archivistiques", + "INGEST_TEST": "Entrée à blanc", + "STP_UNIT_CHECK_AND_PROCESS.STARTED": "Début du processus de contrôle et traitements des unités archivistiques", + "UPDATE_UNIT_RULES_CONSISTENCY.KO": "Échec de la vérification de cohérence des actions lors de la mise à jour des métadonnées descriptives et de gestion des unités archivistiques", + "PRESERVATION_BINARY_HASH.OK": "Succès du calcul d'une empreinte en SHA-512", + "STP_CHECK_AND_COMPUTE.KO": "Échec du processus de préparation de la liste des unités archivistiques à mettre à jour et des autorisations de modification", + "LFC.PRESERVATION_BINARY_HASH.PRESERVATION_BINARY_HASH.WARNING": "Avertissement lors calcul d'une empreinte en SHA-512", + "EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD.OK": "Succès de la préparation de la liste des signatures dans les fichiers sécurisés", + "STP_AUDIT.STARTED.OK": "Début du processus d'exécution de l'audit", + "ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE": "Mise à jour du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "SANITY_CHECK_SIP.KO": "Échec du contrôle sanitaire du SIP : fichier détecté comme infecté", + "ELIMINATION_ANALYSIS.WARNING": "Avertissement lors de l'analyse de l'élimination des unités archivistiques", + "IMPORT_AGENCIES.USED_AU.STARTED": "Début du processus de vérification des services agents référencés par les unités archivistiques", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.WARNING": "Avertissement lors de la vérification du format", + "LIST_ARCHIVE_UNITS.KO": "Échec du processus d'établissement de la liste unités archivistiques à mettre à jour", + "IMPORT_AGENCIES.STARTED": "Début du processus d'import du référentiel des services agents", + "STP_DELETE_MASTERDATA_ONTOLOGY.OK": "Succès du processus de suppression du référentiel des ontologies", + "LFC.OBJ_STORAGE.OBJECT_STORAGE_SUB_TASK.KO": "Échec de l'écriture de l'objet sur les offres de stockage", + "LFC.CHECK_DIGEST.WARNING": "Avertissement lors de la vérfication de l'intégrité des objets versés : empreinte de l'objet recalculée et enregistrée dans les métadonnées de l'objet", + "UNIT_METADATA_CHECK_CONSISTENCY.KO": "Échec de la vérification de cohérence des actions lors de la mise à jour des métadonnées de gestion des unités archivistiques", + "MASS_UPDATE_FINALIZE": "Processus de génération du rapport de traitement de mise à jour des générations du rapport de mise à jour des métadonnées descriptives des unités archivistiques", + "STP_UPDATE_PROFILE_JSON.NOT_IN_ENUM.KO": "Échec du processus de mise à jour du profil d'archivage : une valeur ne correspond pas aux valeurs attendues", + "MASS_UPDATE_UNIT_RULE.KO": "Échec de la mise à jour des règles de gestion des unités archivistiques", + "CHECK_DATAOBJECTPACKAGE.UNAUTHORIZED_ATTACHMENT.KO": "Le rattachement n'a pas été effectué: le rattachement n'est pas situé dans le périmètre autorisé", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.CHECK_MANIFEST_MALFORMED_DATA.KO": "Le bordereau de transfert possède une donnée malformée", + "STP_PRESERVATION_ACTION.STARTED.OK": "Succès du début du processus de lancement du griffon", + "UNIT_METADATA_UPDATE.WARNING": "Avertissement lors de la mise à jour des métadonnées des unités archivistiques", + "RULES_REPORT.OK": "Succès de la génération du rapport d'analyse du référentiel des règles de gestion", + "STP_PROBATIVE_VALUE_CHECK_MERKLE_TREE": "Processus de vérification de l'arbre de MERKLE", + "RECLASSIFICATION_PREPARATION.FATAL": "Erreur technique lors de la préparation de la modification d'arborescence des unités archivistiques", + "CHECK_SEDA.CONTAINER_FORMAT.FILE.KO": "Échec de la vérification globale du SIP : Le SIP contient plus d'un fichier à sa racine", + "INGEST.STARTED": "Début de l'entrée du SIP", + "STP_IMPORT_ACCESS_CONTRACT.EMPTY_REQUIRED_FIELD.KO": "Échec du processus d'import du contrat d'accès : au moins un des champs obligatoires n'est pas renseigné", + "LFC.UNITS_RULES_COMPUTE.UNKNOWN.WARNING": "Avertissement lors de la vérification de l'échéance des règles de gestion", + "LIST_ARCHIVE_UNITS.WARNING": "Avertissement lors du processus d'établissement de la liste unités archivistiques à mettre à jour", + "ONTOLOGY_REPORT.OK": "Succès du processus de génération du rapport d'import du référentiel des ontologies", + "CHECK_ARCHIVE_UNIT_PROFILE.KO": "Échec de la vérification de la conformité aux profils d'unité archivistique", + "STP_IMPORT_INGEST_CONTRACT.KO": "Échec du processus d'import du contrat d'entrée", + "FILE_FORMAT_REPORT": "Génération du rapport d'import du référentiel des formats", + "STP_RECLASSIFICATION_FINALIZATION.OK": "Succès du processus de finalisation de la modification d'arborescence des unités archivistiques", + "LFC.PRESERVATION_INDEXATION_METADATA.KO": "Échec de l'indexation des métadonnées du groupe d'objets", + "STP_UNIT_CHECK_AND_PROCESS.FATAL": "Erreur technique du processus de contrôle et traitements des unités archivistiques", + "STP_UPDATE_ACCESS_CONTRACT.KO": "Échec du processus de mise à jour du contrat d'accès", + "STP_BACKUP_CONTEXT.OK": "Succès du processus de sauvegarde des contextes applicatifs", + "BACKUP_ARCHIVEUNITPROFILE.STARTED.OK": "Succès du début du processus de sauvegarde des profils d'unité archivistique", + "IMPORT_AGENCIES.USED_CONTRACT.KO": "Échec du processus de vérification des services agents référencés dans les contrats d'accès", + "UPDATE_AGENCIES.WARNING": "Avertissement lors du processus de mise à jour du référentiel des services agents", + "STP_OP_SECURISATION.OK": "Succès du processus de sécurisation du journal des opérations", + "PREPARE_UPDATE_UNIT_LIST.KO": "Échec de la préparation de la liste des unités archivistiques à mettre à jour", + "CHECK_UNIT_SCHEMA.ALREADY_EXECUTED": "Action déjà exécutée : Pas de la vérification globale de l'unité archivistique", + "STP_IMPORT_SECURITY_PROFILE": "Processus d'import du profil de sécurité", + "LFC.OBJ_STORAGE.OBJ_STORAGE_SUB_TASK.FATAL": "Erreur technique lors de l'écriture de l'objet sur les offres de stockage", + "LFC.CHECK_CLASSIFICATION_LEVEL.STARTED.OK": "Succès du début de la vérification du niveau de classification", + "MIGRATION_UNITS.WARNING": "Avertissement lors de la migration des unités archivistiques", + "STP_UNIT_UPDATE.WARNING": "Avertissement lors du processus de mise à jour des unités archivistiques", + "ROLL_BACK.FATAL": "Erreur technique lors de la mise en cohérence des journaux du cycle de vie", + "LFC.OBJ_STORAGE.OK": "Succès de l'écriture des objets sur les offres de stockage", + "STP_UPDATE_RUNNING_INGESTS.WARNING": "Avertissement lors du processus de mise à jour des entrées en cours", + "STP_BACKUP_ACCESS_CONTRACT.STARTED.OK": "Succès du début du processus de sauvegarde des contrats d'accès", + "EVIDENCE_AUDIT": "Audit de cohérence", + "CHECK_SEDA": "Vérification globale du SIP", + "STP_DELETE_LOGBOOK_OPERATION.STARTED.OK": "Succès du début du processus de suppression des journaux d'opérations", + "CHECK_DATAOBJECTPACKAGE.CHECK_NO_OBJECT.OK": "Succès de la vérification de l'absence d'objet", + "BACKUP_ONTOLOGY.STARTED": "Début du processus de sauvegarde des ontologies", + "UPDATE_ONTOLOGY.FATAL": "Erreur technique lors du processus de mise à jour de l'ontologie", + "UPDATE_UNIT_RULES": "Mise à jour des règles de gestion des unités archivistiques", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_OBJECTNUMBER": "Vérification du nombre d'objets", + "SANITY_CHECK_SIP.OK": "Succès du contrôle sanitaire du SIP : aucun virus détecté", + "LFC.LFC_CREATION.OK": "Succès de l'alimentation du journal du cycle de vie", + "PROBATIVE_VALUE_PREPARE_GENERATE_REPORTS.WARNING": "Avertissement lors du processus de création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_DATAOBJECT_VERSION.WARNING": "Avertissement lors de la vérification des usages des objets", + "LFC.CHECK_CONSISTENCY.STARTED.OK": "Succès du début de la vérification de la cohérence entre objets, groupes d'objets et unités archivistiques", + "CHECK.FATAL": "Erreur technique lors de la vérification des journaux sécurisés", + "LFC.CHECK_MANIFEST.MODIFY_PARENT_EXISTING_UNIT_UNAUTHORIZED.KO": "Le rattachement n'a pas été effectué: impossibilité de rattacher une unité archivistique existante à une unité archivistique parente", + "CHECK_UNIT_SCHEMA.EMPTY_REQUIRED_FIELD.KO": "Échec de la vérification globale de l'unité archivistique : champs obligatoires vides", + "STORAGE_AVAILABILITY_CHECK.STORAGE_AVAILABILITY_CHECK.WARNING": "Avertissement de la vérification de la disponibilité de l'offre de stockage : Impossibilité de connaître l'espace disponible", + "STP_ELIMINATION_ACTION_PREPARATION.OK": "Succès du processus de préparation de l'élimination définitive des unités archivistiques", + "STP_DELETE_ACCESSION_REGISTER_DETAIL.WARNING": "Avertissement lors du processus de suppression du Registre des Fonds (Fétails)", + "CHECK_DIGEST.ALREADY_EXECUTED": "Action déjà exécutée : Pas de vérification de l'empreinte des objets", + "LIST_OBJECTGROUP_ID.KO": "Échec de la création de la liste des groupes d'objets à auditer", + "PROCESS_SIP_UNITARY_TEST.STARTED.OK": "Succès du début du processus d'entrée à blanc du SIP", + "VERIFY_TIMESTAMP.VALIDATE_TOKEN_TIMESTAMP": "Validation du tampon d'horodatage", + "LIST_RUNNING_INGESTS": "Établissement du processus de préparation des listes des unités archivistiques à mettre à jour", + "STP_ELIMINATION_ANALYSIS_FINALIZATION.KO": "Échec du processus de finalisation de l'analyse de l'élimination des unités archivistiques", + "STP_AUDIT.STARTED": "Début du processus d'exécution de l'audit", + "STP_EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS": "Processus de création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.KO": "Échec de la mise à jour du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "PRESERVATION_BINARY_HASH.KO": "Échec du calcul d'une empreinte en SHA-512", + "STP_VERIFY_STAMP.KO": "Échec du processus de vérification de l'horodatage", + "LFC.PRESERVATION_STORAGE_BINARY.WARNING": "Avertissement lors de l'écriture des objets sur les offres de stockage", + "LFC.CHECK_CONSISTENCY": "Vérification de la cohérence entre objets, groupes d'objets et unités archivistiques", + "STP_STORE_MANIFEST.OK": "Succès du processus de création du DIP et de son déplacement vers l'offre de stockage", + "AGENCIES_REPORT": "Processus de génération du rapport d'import du référentiel des services agents", + "ELIMINATION_ACTION_REPORT_GENERATION.KO": "Échec de la de génération du rapport d'élimination définitive des unités archivistiques", + "LFC.CHECK_ARCHIVE_UNIT_PROFILE.FATAL": "Erreur technique lors de la vérification de la conformité aux profils d'unité archivistique", + "STP_BACKUP_SCENARIO.KO": "Échec du processus de sauvegarde des scénarios de préservation", + "CREATE_MANIFEST.OK": "Succès de la création du bordereau de mise à disposition", + "AUDIT_CHECK_OBJECT.AUDIT_CHECK_OBJECT.FATAL": "Erreur technique lors de l'audit de l'existence et de l'intégrité des objets", + "CHECK_SEDA.NOT_XSD_VALID": "Vérification globale du SIP", + "STP_IMPORT_ACCESS_CONTRACT.STARTED.OK": "Succès du début du processus d'import du contrat d'accès", + "MASS_UPDATE_UNIT_DESC.STARTED.FATAL": "Erreur technique lors du début du processus de mise à jour en masse des métadonnées descriptives des unités archivistiques", + "STP_OBJ_STORING": "Processus d'écriture et d'indexation des objets sur les offres de stockage", + "STP_EVIDENCE_AUDIT_EXTRACT_ZIP_FILE.STARTED.OK": "Début du processus d'extraction des signatures à partir des fichiers sécurisés", + "UPDATE_ARCHIVEUNITPROFILE.WARNING": "Avertissement lors du processus de mise à jour du profil d'unité archivistique", + "FINALIZE_UNIT_LFC_TRACEABILITY.OP_SECURISATION_STORAGE.FATAL": "Erreur technique lors du stockage des journaux du cycle de vie des unités archivistiques", + "LFC.CHECK_DIGEST": "Vérification de l'intégrité des objets versés", + "STP_PROBATIVE_VALUE_PREPARE_GENERATE_REPORTS.WARNING": "Avertissement lors du processus de création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "BUILD_OG_LFC_TRACEABILITY.KO": "Échec de la sécurisation des journaux du cycle de vie des groupes d'objets", + "CHECK_UNIT_SCHEMA.INVALID_UNIT.KO": "Échec de la vérification globale de l'unité archivistique : champs non conformes", + "STP_DELETE_MASTERDATA_ARCHIVE_UNIT_PROFILE.STARTED": "Début du processus de suppression du référentiel des profils d'unité archivistique", + "RULES_REPORT.WARNING": "Avertissement lors de la génération du rapport d'analyse du référentiel des règles de gestion", + "MASS_UPDATE_FINALIZE.OK": "Succès du processus de traitement de mise à jour des générations du rapport de mise à jour des métadonnées descriptives des unités archivistiques", + "STP_DELETE_ACCESSION_REGISTER_DETAIL.STARTED.OK": "Succès du début du processus de suppression du Registre des Fonds (Détails)", + "STP_OP_SECURISATION.KO": "Échec du processus de sécurisation du journal des opérations", + "LFC.OBJ_STORAGE.OBJECT_STORAGE_SUB_TASK.FATAL": "Erreur technique lors de l'écriture de l'objet sur les offres de stockage", + "STP_DELETE_MASTERDATA_INGEST_CONTRACT": "Processus de suppression des contrats d'entrée", + "STP_PUT_BINARY_ON_WORKSPACE.FATAL": "Erreur technique lors du processus de déplacement des objets binaires de l'offre de stockage vers l'espace de travail interne", + "LFC.UNITS_RULES_COMPUTE.DATE_THRESHOLD.FATAL": "Erreur technique lors de la vérification de la validité des dates d'application des règles de gestion", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.TOOL_DOES_NOT_ANSWER.FATAL": "L'outil d'analyse des formats de l'objet ne répond pas", + "STP_IMPORT_INGEST_CONTRACT.OK": "Succès du processus d'import du contrat d'entrée", + "STP_DELETE_CONTEXT.STARTED": "Début du processus de suppression du contexte applicatif ", + "PRESERVATION.STARTED": "Début du processus global de préservation", + "UNIT_ATTACHMENT.WARNING": "Avertissement lors du rattachement des unités archivistiques", + "VERIFY_TIMESTAMP.FATAL": "Erreur technique lors de la vérification de l'horodatage", + "PREPARE_STORAGE_INFO.FATAL": "Erreur technique lors de la préparation des informations de stockage", + "ONTOLOGY_REPORT.KO": "Échec du processus de génération du rapport d'import du référentiel des ontologies", + "LFC.PRESERVATION_STORAGE_BINARY.FATAL": "Erreur technique lors de l'écriture des objets sur les offres de stockage", + "PRESERVATION_ACTION.WARNING": "Avertissement lors du lancement du griffon", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.STARTED": "Début du contrôle de cohérence du bordereau de transfert", + "LFC.PRESERVATION_BINARY_HASH.EMPTY.KO": "Échec de la lecture de l'empreinte du fichier", + "MIGRATION_OBJECT_GROUPS_LIST.WARNING": "Avertissement lors de la distribution des groupes d'objets", + "DATA_MIGRATION.WARNING": "Avertissement lors du processus de migration de données", + "STP_UPDATE_ACCESS_CONTRACT.OK": "Succès du processus de mise à jour du contrat d'accès", + "PREPARE_UPDATE_UNIT_LIST.OK": "Succès de la préparation de la liste des unités archivistiques à mettre à jour", + "UNIT_METADATA_UPDATE.STARTED.OK": "Succès du début de la mise à jour des métadonnées des unités archivistiques", + "IMPORT_AGENCIES.USED_CONTRACT.OK": "Succès du processus de vérification des services agents référencés dans les contrats d'accès", + "UNIT_METADATA_UPDATE_CHECK_DT.KO": "Échec de la vérification de l'association à un profil d'unité archivistique", + "CHECK_CONTAINER.STARTED.OK": "Succès du début du contrôle du format du conteneur du SIP", + "PROCESS_SIP_UNITARY_TEST.OK": "Succès du processus d'entrée à blanc du SIP", + "UNIT_METADATA_STORAGE.KO": "Échec de l'enregistrement des métadonnées des unités archivistiques", + "STP_OBJECT_GROUP_GRAPH_COMPUTE.STARTED": "Début du processus de mise à jour des graphes des groupes d'objets", + "BACKUP_ONTOLOGY.STARTED.OK": "Succès du début du processus de sauvegarde des ontologies", + "STP_MIGRATION_OBJECT_GROUPS.FATAL": "Erreur technique lors du processus de préparation de la migration des groupes d'objets", + "LFC.CHECK_DIGEST.CALC_CHECK.FATAL": "Erreur technique lors calcul d'une empreinte en SHA-512", + "STP_UPDATE_INGEST_CONTRACT.NOT_IN_ENUM.KO": "Échec du processus de mise à jour du contrat d'entrée : une valeur ne correspond pas aux valeurs attendues", + "LFC.CHECK_MANIFEST_LOOP.FATAL": "Erreur technique lors de la vérification de la non-récursivité de l'arborescence", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.KO": "Échec du contrôle de cohérence du bordereau de transfert", + "PRESERVATION_ACCESSION_REGISTRATION.FATAL": "Erreur technique lors de l'alimentation du Registre des Fonds", + "STP_CHECK_AND_COMPUTE.STARTED.WARNING": "Avertissement lors du début du processus de préparation de la liste des unités archivistiques à mettre à jour et des autorisations de modification", + "IMPORT_AGENCIES_BACKUP_CSV.STARTED": "Début du processus de sauvegarde du fichier d'import du référentiel des services agents", + "STP_EVIDENCE_AUDIT_FINALIZE.FATAL": "une Erreur technique lors du processus de création du rapport d'audit de cohérence", + "RECLASSIFICATION.STARTED": "Début de la modification d'arborescence des unités archivistiques", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT.NOT_FOUND_REFERENTIAL.KO": "Le format de l'objet n'a pas été trouvé dans le référentiel des formats", + "LFC.PRESERVATION_INDEXATION_METADATA.PRESERVATION_INDEXATION_METADATA.FATAL": "Erreur technique lors de l'indexation des métadonnées du groupe d'objets lors d'une opération de préservation", + "LFC.AUDIT_CHECK_OBJECT.KO": "Échec de l'audit de la vérification des objets", + "STP_BACKUP_GRIFFIN.STARTED": "Début du processus de sauvegarde des griffons", + "CHECK_SEDA.NOT_XML_FILE.FATAL": "Erreur technique lors de la vérification globale du SIP", + "PREPARE_STORAGE_INFO.KO": "Échec de la préparation des informations de stockage", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_DATAOBJECT_VERSION.FATAL": "Erreur technique lors de la vérification des usages des objets", + "LFC.CHECK_CONSISTENCY_ORPHAN_OBJECT.FATAL": "Erreur technique lors de la vérification du rattachement des objets aux groupes d'objets et aux unités archivistiques", + "LFC.CHECK_UNIT_SCHEMA.STARTED": "Début de la vérification globale de l'unité archivistique", + "STP_ELIMINATION_ANALYSIS_FINALIZATION.OK": "Succès du processus de finalisation de l'analyse de l'élimination des unités archivistiques", + "STP_EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS.FATAL": "Erreur technique lors du processus de création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.CONTRACT_UNKNOWN": "Échec de la vérification de la présence et contrôle du contrat d'entrée: le contrat d'entrée est inconnu du référentiel des contrats d'entrée", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_DATAOBJECT_VERSION.STARTED.OK": "Succès du début de la vérification des usages des objets", + "LFC.UNIT_METADATA_UPDATE.FATAL": "Erreur technique lors de la mise à jour des métadonnées de l'unité archivistique", + "STP_ELIMINATION_ACTION_PREPARATION.KO": "Échec du processus de préparation de l'élimination définitive des unités archivistiques", + "PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD.WARNING": "Avertissement lors de la préparation de la liste des signatures dans les fichiers sécurisés", + "CHECK_HEADER.CHECK_AGENT.OK": "Succès de la vérification de la présence et du contrôle des services agents", + "STP_OG_LFC_TRACEABILITY.WARNING": "Avertissement lors de la sécurisation des journaux du cycle de vie des groupes d'objets", + "STP_EVIDENCE_AUDIT_PREPARE": "Processus de création de la liste à auditer", + "FINALIZE_OG_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP.OK": "Succès du processus de création du tampon d'horodatage de l'ensemble des journaux du cycle de vie des groupes d'objets", + "STP_UPDATE_PROFILE_JSON.WARNING": "Avertissement lors du processus de mise à jour du profil d'archivage", + "LOGBOOK_UNIT_LFC_TRACEABILITY.FATAL": "Erreur technique lors de la sécurisation des journaux du cycle de vie des unités archivistiques", + "UNITS_RULES_COMPUTE.REF_INCONSISTENCY.KO": "Échec de l'application des règles de gestion et du calcul des dates d'échéance : exclusion d'héritage incohérente", + "CHECK_UNIT_SCHEMA.RULE_DATE_THRESHOLD.KO": "Échec du calcul des dates d'échéance : la date ne peut être gérée", + "CHECK_CONCURRENT_WORKFLOW_LOCK.FATAL": "Erreur technique lors de la vérification des processus concurrents", + "ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.OK": "Succès de la mise à jour du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "LOGBOOK_OBJECTGROUP_LFC_TRACEABILITY.STARTED": "Début de la sécurisation des journaux du cycle de vie des groupes d'objets", + "LFC.CHECK_ARCHIVE_UNIT_PROFILE": "Vérification de la conformité aux profils d'unité archivistique", + "STP_MIGRATION_FINALIZE.KO": "Échec du processus de la finalisation de la migration", + "STP_STORE_MANIFEST.KO": "Échec du processus de création du DIP et de son déplacement vers l'offre de stockage", + "CHECK_HEADER.CHECK_ARCHIVEPROFILE": "Vérification de la conformité au profil d'archivage", + "LFC.CHECK_UNIT_SCHEMA.EMPTY_REQUIRED_FIELD.STARTED": "Début du contrôle additionnel sur la validité des champs de l'unité archivistique", + "FINALIZE_UNIT_LFC_TRACEABILITY.FINALIZE_UNIT_LFC_TRACEABILITY": "Finalisation de la sécurisation des journaux du cycle de vie des unités archivistiques", + "LFC.CHECK_DIGEST.CALC_CHECK.EMPTY.KO": "Échec de la lecture de l'empreinte du fichier", + "STP_UPDATE_INGEST_CONTRACT.FATAL": "Erreur technique lors du processus de mise à jour du contrat d'entrée", + "STP_ELIMINATION_ACTION_DELETE_OBJECT_GROUP.WARNING": "Avertissement lors du processus d'élimination définitive des groupes d'objets techniques dont les unités archivistiques parentes sont éliminées", + "LFC.PRESERVATION_STORAGE_BINARY.OBJECT_STORAGE_TASK.STARTED.OK": "Succès du début de l'écriture des objets sur les offres de stockage", + "STP_IMPORT_SECURITY_PROFILE.STARTED.OK": "Succès du début du processus d'import du profil de sécurité", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.TOO_MANY_FOUND_ATTACHMENT.KO": "Le rattachement n'a pas été effectué: l'élément de rattachement n'est pas unique dans le système", + "BUILD_UNIT_LFC_TRACEABILITY": "Sécurisation des journaux du cycle de vie des unités archivistiques", + "CREATE_MANIFEST.KO": "Échec de la création du bordereau de mise à disposition", + "STP_DELETE_ALL.OK": "Succès du processus de suppression de toutes les données en base", + "ACCESSION_REGISTRATION.FATAL": "Erreur technique lors de l'alimentation du Registre des Fonds", + "UNIT_GRAPH_COMPUTE.STARTED": "Début de la mise à jour des graphes des unités archivistiques", + "LFC.OG_METADATA_INDEXATION": "Indexation des métadonnées du groupe d'objets", + "UPDATE_ARCHIVEUNITPROFILE.AUP_NOT_FOUND.KO": "Échec du processus de mise à jour du profil d'unité archivistique : profil d'unité archivistique non trouvé", + "STP_UPDATE.FATAL": "Erreur technique lors du processus de traitement de mise à jour des unités archivistiques", + "STP_DELETE_MASTERDATA_ACCESS_CONTRACT.KO": "Échec du processus de suppression des contrats d'accès", + "OBJECTS_LIST_EMPTY.FATAL": "Erreur technique lors de l'établissement de la liste des objets", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT": "Vérification du format", + "STP_BACKUP_SECURITY_PROFILE.STARTED.OK": "Succès du début du processus de sauvegarde des profils de sécurité", + "INGEST.KO": "Échec de l'entrée du SIP", + "LFC.CHECK_ARCHIVE_UNIT_PROFILE.STARTED": "Début de la vérification de la conformité aux profils d'unité archivistique", + "STP_CORRECTION_FINALIZE": "Processus de finalisation des corrections des signatures pour chaque objet, groupe d'objets ou unité auditée défaillante", + "STP_REFERENTIAL_FORMAT_IMPORT.WARNING": "Avertissement lors du processus d'import du référentiel des formats", + "STP_UPDATE_CONTEXT.UNKNOWN_VALUE.KO": "Échec du processus de mise à jour du contexte applicatif : au moins un objet déclare une valeur inconnue", + "LFC.CHECK_CONSISTENCY.KO": "Échec de la vérification de la cohérence entre objets, groupes d'objets et unités archivistiques : l'objet et son groupe d'objets ne sont pas référencés par une unité archivistique", + "STP_PREPARE_AUDIT.FATAL": "Erreur technique lors du processus de préparation de l'audit", + "LFC.CHECK_DIGEST.CALC_CHECK.KO": "Échec du calcul d'une empreinte en SHA-512", + "STP_DELETE_MASTERDATA_ONTOLOGY.STARTED.OK": "Succès du début du processus de suppression du référentiel des ontologies", + "EXPORT_PROBATIVE_VALUE_LIST_OBJECT": "Création de la liste des objets du relevé de valeur probante", + "STP_RECLASSIFICATION_FINALIZATION.STARTED.OK": "Succès du début du processus de finalisation de la modification d'arborescence des unités archivistiques", + "MASS_UPDATE.OK": "Succès de la mise à jour des métadonnées des unités archivistiques", + "AUDIT_CHECK_OBJECT.FATAL": "Erreur technique lors de l'audit de la vérification des objets", + "IMPORT_AGENCIES.USED_AU.FATAL": "Erreur technique lors du processus de vérification des services agents référencés par les unités archivistiques", + "LFC.CHECK_DIGEST.OK": "Succès de la vérification de l'intégrité des objets versés", + "OP_SECURISATION_STORAGE.STARTED": "Début de l'enregistrement des journaux sur les offres de stockage", + "LFC.CHECK_UNIT_SCHEMA.RULE_DATE_FORMAT": "Vérification de la cohérence de la date déclarée dans les règles de gestion", + "STP_PREPARE_AUDIT.OK": "Succès du processus de préparation de l'audit", + "MIGRATION_FINALIZE.WARNING": "Avertissement lors de la finalisation de la migration", + "LIST_ARCHIVE_UNITS.OK": "Succès du processus d'établissement de la liste des unités archivistiques à mettre à jour", + "LFC.OBJ_STORAGE.KO": "Échec de l'écriture des objets sur les offres de stockage", + "STP_UPDATE_OBJECT_GROUP.STARTED": "Début du processus de mise à jour du groupe d'objets", + "RECLASSIFICATION_PREPARATION.STARTED.OK": "Succès du début de la préparation de la modification d'arborescence des unités archivistiques", + "UNIT_METADATA_CHECK_CONSISTENCY.OK": "Succès de la vérification de cohérence des actions lors de la mise à jour des métadonnées de gestion des unités archivistiques", + "AGENCIES_REPORT.KO": "Échec du processus de génération du rapport d'import du référentiel des services agents", + "RECLASSIFICATION_PREPARATION_LOAD_REQUEST": "Chargement des unités archivistiques au moment de la modification d'arborescence des unités archivistiques", + "STP_ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.KO": "Échec du processus de préparation de l'élimination définitive des groupes d'objets techniques", + "LFC.OG_CREATE_SECURED_FILE.STARTED": "Début de la création de fichiers sécurisés du groupe d'objets", + "LFC.CHECK_MANIFEST.CHECK_MANIFEST_WRONG_ATTACHMENT": "Vérification de la cohérence du bordereau de transfert", + "UPDATE_ONTOLOGY.STARTED": "Début du processus de mise à jour de l'ontologie", + "REFERENTIAL_FORMAT": "Référentiel des formats", + "CHECK_HEADER.STARTED": "Début de la vérification générale du bordereau de transfert", + "IMPORT_ARCHIVEUNITPROFILE.IDENTIFIER_DUPLICATION.KO": "Échec du processus d'import du profil d'unité archivistique : l'identifiant est déjà utilisé", + "LFC.CHECK_UNIT_SCHEMA.EMPTY_REQUIRED_FIELD": "Contrôle additionnel sur la validité des champs de l'unité archivistique", + "LFC.AUDIT_CHECK_OBJECT.OK": "Succès de l'audit de la vérification des objets", + "LFC.LFC_CREATION.FATAL": "Erreur technique lors de l'alimentation du journal du cycle de vie", + "PREPARE_STORAGE_INFO.OK": "Succès de la préparation des informations de stockage", + "ELIMINATION_ACTION_DELETE_UNIT.FATAL": "Erreur technique lors de l'élimination définitive des unités archivistiques éliminables", + "FINALIZE_OG_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP.KO": "Échec du processus de création du tampon d'horodatage de l'ensemble des journaux du cycle de vie des groupes d'objets", + "IMPORT_ARCHIVEUNITPROFILE.FATAL": "Erreur technique lors du processus d'import du profil d'unité archivistique", + "LFC.UNITS_RULES_COMPUTE.DATE_THRESHOLD.WARNING": "Avertissement lors de la vérification de la validité des dates d'application des règles de gestion", + "IMPORT_AGENCIES.USED_AU.STARTED.OK": "Succès du début du processus de vérification des services agents référencés par les unités archivistiques", + "STP_REFERENTIAL_FORMAT_IMPORT.STARTED": "Début du processus d'import du référentiel des formats", + "STP_UNIT_METADATA": "Processus d'indexation des métadonnées des unités archivistiques", + "STP_DELETE_MASTERDATA_ONTOLOGY.KO": "Échec du processus de suppression du référentiel des ontologies", + "STP_UNIT_LFC_TRACEABILITY.WARNING": "Avertissement lors de la sécurisation des journaux du cycle de vie des unités archivistiques", + "STP_RECLASSIFICATION_FINALIZATION.WARNING": "Avertissement lors du processus de finalisation de la modification d'arborescence des unités archivistiques", + "STP_CHECK_AND_COMPUTE.OK": "Succès du processus de préparation de la liste des unités archivistiques à mettre à jour et des autorisations de modification", + "EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS": "Création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "STORAGE_SECURISATION_STORAGE.KO": "Échec du stockage des journaux d'écriture", + "STP_DELETE_LOGBOOK_LIFECYCLE_OG.STARTED.OK": "Succès du début du processus de suppression des journaux du cycle de vie des groupes d'objets", + "CHECK_ARCHIVE_UNIT_PROFILE.STARTED.OK": "Succès du début de la vérification de la conformité aux profils d'unité archivistique", + "ELIMINATION_ANALYSIS_UNIT_INDEXATION": "Indexation de l'analyse d'élimination des unités archivistiques", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.MASTER_MANDATORY_REQUIRED.KO": "Absence d'un BinaryMaster ou PhysicalMaster dans le groupe d'objets", + "UPDATE_ARCHIVEUNITPROFILE.FATAL": "Erreur technique lors du processus de mise à jour du profil d'unité archivistique", + "STP_DELETE_SECURITY_PROFILE.STARTED.OK": "Succès du début du processus de suppression du profil de sécurité", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_OBJECTNUMBER.WARNING": "Avertissement lors de la vérification du nombre d'objets", + "BACKUP_ARCHIVEUNITPROFILE.STARTED": "Début du processus de sauvegarde des profils d'unité archivistique", + "LFC.CHECK_CONSISTENCY.STARTED": "Début de la vérification de la cohérence entre objets, groupes d'objets et unités archivistiques", + "STP_ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.WARNING": "Avertissement lors du processus de préparation du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "STP_DELETE_MASTERDATA_ACCESS_CONTRACT.OK": "Succès du processus de suppression des contrats d'accès", + "MASS_UPDATE_UNITS_RULES.STARTED": "Début de la mise à jour des métadonnées de gestion des unités archivistiques", + "STP_ELIMINATION_ANALYSIS_UNIT_INDEXATION": "Processus d'indexation de l'analyse d'élimination des unités archivistiques", + "LFC.UNITS_RULES_COMPUTE.REF_INCONSISTENCY": "Vérification de la cohérence de la règle de gestion dont l'annulation est demandée par rapport à sa catégorie", + "STP_DELETE_MASTERDATA_CONTEXT.OK": "Succès du processus de suppression des contextes applicatifs", + "MASS_UPDATE_UNITS": "Mise à jour des unités archivistiques", + "OP_SECURISATION_STORAGE.FATAL": "Erreur technique lors de l'enregistrement des journaux sur les offres de stockage", + "RECLASSIFICATION.FATAL": "Erreur technique lors de la modification d'arborescence des unités archivistiques", + "STP_DELETE_MASTERDATA_AGENCIES.STARTED.OK": "Succès du début du processus de suppression du référentiel des services agents", + "LFC.CHECK_CLASSIFICATION_LEVEL.WARNING": "Avertissement lors de la vérification du niveau de classification", + "ELIMINATION_ACTION_DETACH_OBJECT_GROUP.WARNING": "Avertissement lors du détachement des groupes d'objets techniques dont certaines unités archivistiques parentes sont éliminées", + "LFC.CHECK_DIGEST.CALC_CHECK.OK": "Succès du calcul d'une empreinte en SHA-512", + "RULES_REPORT.KO": "Échec de la génération du rapport d'analyse du référentiel des règles de gestion", + "CHECK_HEADER.CONTRACT_NOT_IN_MANIFEST": "Échec de la vérification de la présence et contrôle du contrat d'entrée: le champ ArchivalAgreement est absent du bordereau de transfert", + "INGEST.OK": "Succès de l'entrée du SIP", + "STP_PROBATIVE_VALUE_EXTRACT_ZIP_FILE.FATAL": "Erreur technique lors du processus d'extraction des signatures à partir des fichiers sécurisés", + "CHECK_SEDA.STARTED.OK": "Succès du début de la vérification globale du SIP", + "STP_IMPORT_ACCESS_CONTRACT.STARTED": "Début du processus d'import du contrat d'accès", + "STP_UPDATE_SECURITY_PROFILE.STARTED.OK": "Succès du début du processus de mise à jour du profil de sécurité", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.INVALID_GUID_ATTACHMENT.KO": "Le rattachement n'a pas été effectué: l'élément de rattachement est incorrect", + "STP_DELETE_MASTERDATA_ONTOLOGY.STARTED": "Début du processus de suppression du référentiel des ontologies", + "CHECK_UNIT_SCHEMA.EMPTY_REQUIRED_FIELD": "Vérification globale de l'unité archivistique : vérification des champs obligatoires", + "LFC.CHECK_DIGEST.KO": "Échec de la vérification de l'intégrité des objets versés", + "PROBATIVE_VALUE_LIST_SECURED_FILES_TO_DOWNLOAD.STARTED": "Début de la préparation de la liste des signatures dans les fichiers sécurisés", + "UNIT_METADATA_INDEXATION.OK": "Succès de l'indexation des métadonnées de l'unité archivistique", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_OBJECTNUMBER.MANIFEST_INFERIOR_BDO.KO": "Le bordereau de transfert déclare moins d'objets binaires qu'il n'en existe dans le répertoire Content du SIP", + "STP_OG_CHECK_AND_TRANSFORME": "Processus de vérification et traitements des objets et des groupes d'objets", + "LFC.CHECK_MANIFEST.LFC_CREATION.STARTED": "Début de la création du journal du cycle de vie", + "LFC.CHECK_CONSISTENCY.OK": "Succès de la vérification de la cohérence entre objets, groupes d'objets et unités archivistiques", + "AGENCIES_REPORT.OK": "Succès du processus de génération du rapport d'import du référentiel des services agents", + "FINALIZE_UNIT_LFC_TRACEABILITY.WARNING": "Avertissement lors de la finalisation de la sécurisation des journaux du cycle de vie des unités archivistiques", + "STP_OG_LFC_TRACEABILITY": "Processus de la sécurisation des journaux du cycle de vie des groupes d'objets", + "STP_IMPORT_INGEST_CONTRACT.UNKNOWN_VALUE.KO": "Échec de l'import du contrat d'entrée : au moins un des champs renseignés est inconnu.", + "STP_DELETE_MASTERDATA_GRIFFIN.FATAL": "Erreur technique lors du processus de suppression du référentiel des griffons", + "ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION.STARTED.OK": "Succès du début de la préparation de l'élimination définitive des groupes d'objets techniques", + "MASS_UPDATE.KO": "Échec de la mise à jour des métadonnées des unités archivistiques", + "STP_BACKUP_CONTEXT.KO": "Échec du processus de sauvegarde des contextes applicatifs", + "STP_CREATE_MANIFEST": "Processus de création du bordereau de mise à disposition", + "FINALIZE_UNIT_LFC_TRACEABILITY": "Finalisation de la sécurisation des journaux du cycle de vie des unités archivistiques", + "LFC.CHECK_CONSISTENCY.FATAL": "Erreur technique lors de la vérification de la cohérence entre objets, groupes d'objets et unités archivistiques", + "STP_BACKUP_GRIFFIN.WARNING": "Avertissement lors du processus de sauvegarde des griffons", + "PRESERVATION_INDEXATION_METADATA.STARTED": "Début de l'indexation des métadonnées du groupe d'objets", + "STP_FINALISE_AUDIT": "Processus de finalisation de l'audit", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.OBJECT_NOT_FOUND.FATAL": "L'objet à analyser n'a pas été trouvé", + "OP_SECURISATION_STORAGE": "Stockage des journaux", + "CORRECTIVE_AUDIT.FATAL": "Erreur technique de la correction des signatures de chaque unité archivistique ou objet ou groupe d'objets corrompue", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST": "Contrôle de cohérence du bordereau de transfert", + "UNIT_METADATA_UPDATE_CHECK_PERMISSION.KO": "Échec de la vérification des droits de mise à jour des métadonnées des unités archivistiques", + "RECLASSIFICATION_FINALIZATION": "Finalisation de la modification d'arborescence des unités archivistiques", + "CHECK_DATAOBJECTPACKAGE.STARTED.OK": "Succès du début de la vérification des objets et groupes d'objets", + "RECLASSIFICATION.WARNING": "Avertissement lors de la Modification d'arborescence des unités archivistiques", + "STP_EVIDENCE_AUDIT_CHECK_DATABASE.STARTED.OK": "Début de la récupération des données dans la base de donnée", + "STP_UNIT_CHECK_AND_PROCESS.STARTED.OK": "Succès du début du processus de contrôle et traitements des unités archivistiques", + "STP_UPLOAD_SIP.FATAL": "Erreur technique lors du processus de réception du SIP", + "LIST_RUNNING_INGESTS.KO": "Échec du processus de préparation des listes des unités archivistiques à mettre à jour", + "STP_PROBATIVE_VALUE_PREPARE.OK": "Succès du processus de préparation du relevé de valeur probante", + "PRESERVATION_SIEGFRIED_IDENTIFICATION.STARTED.OK": "Succès du début de la vérification du format", + "LFC.UNIT_METADATA_STORAGE.WARNING": "Avertissement lors de l'écriture des métadonnées de l'unité archivistique sur les offres de stockage", + "CHECK_HEADER.CHECK_ARCHIVEPROFILE.FATAL": "Erreur technique lors de la vérification de la conformité au profil d'archivage", + "BUILD_UNIT_LFC_TRACEABILITY.KO": "Échec de la sécurisation des journaux du cycle de vie des unités archivistiques", + "LFC.UNIT_METADATA_UPDATE.WARNING": "Avertissement lors de la mise à jour des métadonnées de l'unité archivistique", + "LFC.UNIT_METADATA_UPDATE_CHECK_DT": "Vérification de l'association à un profil d'unité archivistique", + "STP_DELETE_METADATA_UNIT.STARTED.OK": "Succès du début du processus de suppression des métadonnées des unités archivistiques", + "STORAGE_AVAILABILITY_CHECK.STORAGE_AVAILABILITY_CHECK.STORAGE_OFFER_KO_UNAVAILABLE.KO": "Échec de la vérification de la disponibilité de l'offre de stockage : L'offre de stockage n'est pas disponible", + "LIST_RUNNING_INGESTS.WARNING": "Avertissement lors du processus de préparation des listes des unités archivistiques à mettre à jour", + "STP_DELETE_LOGBOOK_OPERATION.OK": "Succès du processus de suppression des journaux d'opérations", + "STP_DELETE_RULES.KO": "Échec du processus de suppression du référentiel des règles de gestion", + "IMPORT_AGENCIES.USED_CONTRACT": "Processus de vérification des services agents référencés dans les contrats d'accès", + "STP_MERKLE_TREE.FATAL": "Erreur technique lors du processus de vérification de l'arbre de MERKLE", + "STP_IMPORT_GRIFFIN.OK": "Succès du processus d'import du référentiel des griffons", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.FILE_FORMAT": "Identification du format", + "DATA_MIGRATION.STARTED": "Début du processus de migration de données", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.CHECK_MANIFEST_WRONG_ATTACHMENT_LINK.KO": "Le bordereau de transfert procède à un rattachement en utilisant des éléments hors périmètre", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.UPDATED_FORMAT.WARNING": "Complétion des métadonnées sur les formats", + "LFC.UNITS_RULES_COMPUTE.REF_INCONSISTENCY.STARTED": "Début de la vérification de la cohérence de la règle de gestion dont l'annulation est demandée par rapport à sa catégorie", + "GRIFFIN_REPORT.FATAL": "Erreur technique lors de la génération du rapport d'import du référentiel des griffons", + "STP_IMPORT_ONTOLOGIES_NOT_AUTHORIZED_FOR_TENANT.KO": "Échec du processus de mise à jour des ontologies : la mise à jour n'est pas autorisée sur le tenant.", + "STP_UNIT_STORING.OK": "Succès du processus d'écriture des unités archivistiques sur les offres de stockage", + "ONTOLOGY_REPORT.STARTED": "Début du processus de génération du rapport d'import du référentiel des ontologies", + "STORAGE_SECURISATION_TIMESTAMP": "Création du tampon d'horodatage des journaux d'écriture", + "ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.FATAL": "Erreur technique lors de la mise à jour du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "OG_METADATA_INDEXATION.AGENCY_CHECK.KO": "Échec de l'indexation des métadonnées des objets et des groupes d'objets : l'objet rattaché ne déclare pas le même service producteur que le groupe d'objet", + "ELIMINATION_ANALYSIS_FINALIZATION.FATAL": "Erreur technique lors de la finalisation de l'analyse de l'élimination des unités archivistiques", + "UNIT_METADATA_INDEXATION.FATAL": "Erreur technique lors de l'indexation des métadonnées de l'unité archivistique", + "REPORT_AUDIT.KO": "Échec de la notification de la fin de l'audit", + "STP_CORRECTION_FINALIZE.WARNING": "Avertissement lors du processus de finalisation des corrections des signatures pour chaque objet, groupe d'objets ou unité auditée défaillante", + "IMPORT_AGENCIES": "Processus d'import du référentiel des services agents", + "STORAGE_AVAILABILITY_CHECK.KO": "Échec de la vérification de la disponibilité d'au moins une offre de stockage", + "UPDATE_UNIT_RULES_CHECK_CONSISTENCY.OK": "Succès de la vérification de cohérence des actions lors de la mise à jour des règles métadonnées descriptives et de gestion des unités archivistiques", + "ELIMINATION": "Élimination des unités archivistiques", + "LFC.CHECK_UNIT_SCHEMA.EMPTY_REQUIRED_FIELD.KO": "Échec du contrôle additionnel sur la validité des champs de l'unité archivistique : champs obligatoires vides", + "STP_UPDATE_OBJECT_GROUP.KO": "Échec du processus de mise à jour du groupe d'objets", + "STP_ELIMINATION_ACTION_FINALIZATION.WARNING": "Avertissement lors du processus de finalisation de l'élimination définitive des unités archivistiques", + "STP_PROBATIVE_VALUE_CHECK_MERKLE_TREE.FATAL": "Erreur technique lors du processus de vérification de l'arbre de MERKLE", + "LFC.CHECK_UNIT_SCHEMA.INVALID_UNIT.WARNING": "Avertissement lors de la vérification de la conformité des valeurs dans les champs", + "LFC.UNITS_RULES_COMPUTE": "Application des règles de gestion et calcul des dates d'échéances", + "STP_DELETE_MASTERDATA_ACCESSION_REGISTER_SYMBOLIC": "Processus de suppression du Registre des Fonds symboliques", + "LFC.UNIT_METADATA_UPDATE_CHECK_DT.WARNING": "Avertissement lors de la vérification de l'association à un profil d'unité archivistique", + "LFC.UNIT_METADATA_STORAGE.FATAL": "Erreur technique lors de l'écriture des métadonnées de l'unité archivistique sur les offres de stockage", + "UNIT_METADATA_INDEXATION.KO": "Échec de l'indexation des métadonnées de l'unité archivistique", + "CHECK_HEADER.DIFF.KO": "Échec de la vérification générale du bordereau de transfert : différence entre le profil d'archivage déclaré dans le bordereau de transfert et celui déclaré dans le contrat", + "CHECK_HEADER.CONTRACT_NOT_IN_MANIFEST.KO": "Échec de la vérification générale du bordereau de transfert : le contrat d'entrée est absent dans le bordereau de transfert", + "UPDATE_AGENCIES": "Processus de mise à jour du référentiel des services agents", + "CHECK_DATAOBJECTPACKAGE.TOO_MANY_FOUND_ATTACHMENT.KO": "Le rattachement n'a pas été effectué: l'élément de rattachement n'est pas unique dans le système", + "STP_UNIT_GRAPH_COMPUTE.OK": "Succès du processus de mise à jour des graphes des unités archivistiques", + "LFC.UNIT_METADATA_UPDATE": "Mise à jour des métadonnées de l'unité archivistique", + "STP_ELIMINATION_ACTION_DELETE_UNIT.FATAL": "Erreur technique lors du processus d'élimination définitive des unités archivistiques éliminables", + "STP_OBJECT_GROUP_GRAPH_COMPUTE.KO": "Échec du processus de mise à jour des graphes des groupes d'objets", + "STP_UPDATE_RUNNING_INGESTS.KO": "Échec du processus de mise à jour des entrées en cours", + "ELIMINATION_ACTION.STARTED": "Début de l'élimination définitive des unités archivistiques", + "IMPORT_AGENCIES.FATAL": "Erreur technique lors du processus d'import du référentiel des service agents", + "OG_OBJECTS_FORMAT_CHECK.ALREADY_EXECUTED": "Action déjà exécutée : Pas d'identification des formats", + "PRESERVATION_SIEGFRIED_IDENTIFICATION.STARTED": "Début de la vérification du format", + "VERIFY_TIMESTAMP.VALIDATE_TOKEN_TIMESTAMP.WARNING": "Avertissement lors de la validation du tampon d'horodatage", + "STP_STORAGE_AVAILABILITY_CHECK.FATAL": "Erreur technique lors du processus de vérification préalable à la prise en charge", + "CHECK_MERKLE_TREE.COMPARE_MERKLE_HASH_WITH_INDEXED_HASH.WARNING": "Avertissement lors de la comparaison de l'arbre de MERKLE avec le Hash indexé", + "TRACEABILITY.FATAL": "Erreur technique lors de l'opération de sécurisation", + "STP_PREPARE_LISTS.WARNING": "Avertissement lors du processus de préparation des listes d'unités archivistiques à mettre à jour", + "STP_ELIMINATION_ACTION_DETACH_OBJECT_GROUP.KO": "Échec du processus de détachement des groupes d'objets techniques dont certaines unités archivistiques parentes sont éliminées", + "ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.OK": "Succès de la préparation du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "STP_ACCESSION_REGISTRATION.OK": "Succès du processus d'alimentation du Registre des Fonds", + "LFC.CHECK_UNIT_SCHEMA.EMPTY_REQUIRED_FIELD.STARTED.OK": "Succès du début du contrôle additionnel sur la validité des champs de l'unité archivistique", + "TRACEABILITY.OK": "Succès de l'opération de sécurisation", + "STP_ELIMINATION_ACTION_DETACH_OBJECT_GROUP.OK": "Succès du processus de détachement des groupes d'objets techniques dont certaines unités archivistiques parentes sont éliminées", + "LFC.CHECK_UNIT_SCHEMA.INVALID_UNIT": "Vérification de la conformité des valeurs dans les champs", + "STP_MIGRATION_UNITS_PREPARE.FATAL": "Erreur technique lors du processus de la préparation de la migration des unités archivistiques", + "LFC.CHECK_MANIFEST.LFC_CREATION.FATAL": "Erreur technique lors de la création du journal du cycle de vie", + "UNIT_METADATA_UPDATE_CHECK_PERMISSION.OK": "Succès de la vérification des droits de mise à jour des métadonnées des unités archivistiques", + "STP_UPDATE_INGEST_CONTRACT.STARTED": "Début du processus de mise à jour du contrat d'entrée", + "VERIFY_TIMESTAMP.COMPARE_TOKEN_TIMESTAMP.KO": "Échec de la comparaison des tampons d'horodatage", + "STP_DELETE_LOGBOOK_OPERATION.FATAL": "Erreur technique lors du processus de suppression des journaux d'opérations", + "BUILD_UNIT_LFC_TRACEABILITY.OK": "Succès de la sécurisation des journaux du cycle de vie des unités archivistiques", + "LOGBOOK_OP_SECURISATION": "Processus de sécurisation des journaux", + "STP_EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD.WARNING": "Avertissement lors du processus de la préparation de la liste des signatures dans les fichiers sécurisés", + "EVIDENCE_AUDIT_CHECK_DATABASE.WARNING": "Avertissement lors la récupération des données dans la base de donnée", + "ELIMINATION_ACTION_OBJECT_GROUP_PREPARATION": "Préparation de l'élimination définitive des groupes d'objets techniques", + "STP_UNIT_CHECK_AND_PROCESS.KO": "Échec du processus de contrôle et traitements des unités archivistiques", + "IMPORT_AGENCIES.USED_CONTRACT.STARTED.OK": "Succès du début du processus de vérification des services agents référencés dans les contrats d'accès", + "STP_EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS.OK": "Succès du processus de création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "UNIT_ATTACHMENT.KO": "Échec du rattachement des unités archivistiques", + "STP_OP_SECURISATION.STARTED.OK": "Début du processus de sécurisation du journal des opérations", + "STP_PROBATIVE_VALUE_CHECK_OBJECT_GROUP.WARNING": "Avertissement lors du processus de récupération des données dans la base de données", + "LFC.CHECK_MANIFEST.TOO_MANY_VERSION_BY_USAGE.KO": "Le bordereau de transfert procède à un rattachement en utilisant des éléments hors périmètre", + "LIST_RUNNING_INGESTS.OK": "Succès du processus de préparation des listes des unités archivistiques à mettre à jour", + "BACKUP_ARCHIVEUNITPROFILE.KO": "Échec du processus de sauvegarde des profils d'unité archivistique", + "STP_ELIMINATION_ACTION_DELETE_OBJECT_GROUP.STARTED.OK": "Succès du début du processus d'élimination définitive des groupes d'objets techniques dont les unités archivistiques parentes sont éliminées", + "STP_DELETE_MASTERDATA_PRESERVATION_SCENARIO.STARTED": "Début du processus de suppression du référentiel des scénarios de préservation", + "STP_IMPORT_GRIFFIN.KO": "Échec du processus d'import du référentiel des griffons", + "PRESERVATION_STORAGE_METADATA_LFC.FATAL": "Erreur technique lors de l'enregistrement des journaux du cycle de vie des groupes d'objets", + "LFC.PRESERVATION_BINARY_HASH.PRESERVATION_BINARY_HASH.EMPTY.KO": "Échec de la lecture de l'empreinte du fichier", + "STP_PRESERVATION_FINALIZATION": "Processus de finalisation du traitement de préservation", + "STP_UNIT_STORING.KO": "Échec du processus d'écriture des unités archivistiques sur les offres de stockage", + "PRESERVATION_STORAGE_METADATA_LFC.STARTED.OK": "Succès du début de l'enregistrement des journaux du cycle de vie des groupes d'objets", + "CHECK_HEADER.CHECK_AGENT.EMPTY_REQUIRED_FIELD.KO": "Échec de la vérification de la présence et du contrôle des services agents : champ obligatoire vide", + "BACKUP_ONTOLOGY.FATAL": "Erreur technique lors du processus de sauvegarde des ontologies", + "AUDIT_CHECK_OBJECT.WARNING": "Avertissement lors de l'audit de la vérification des objets", + "CHECK.STARTED.OK": "Succès du début de la vérification des journaux sécurisés", + "STP_DELETE_MASTERDATA_ACCESS_CONTRACT.FATAL": "Erreur technique lors du processus de suppression des contrats d'accès", + "LFC.CHECK_UNIT_SCHEMA.EMPTY_REQUIRED_FIELD.OK": "Succès du contrôle additionnel sur la validité des champs de l'unité archivistique", + "STP_UPDATE_OBJECT_GROUP.OK": "Succès du processus de mise à jour du groupe d'objets", + "STP_CHECK_AND_COMPUTE.STARTED": "Début du processus de préparation de la liste des unités archivistiques à mettre à jour et des autorisations de modification", + "PREPARE_STORAGE_INFO": "Préparation des informations de stockage", + "STP_PERSONAL_CERTIFICATE_CHECK.STARTED.OK": "Succès du début du processus de vérification du certificat personnel", + "FINALIZE_UNIT_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP.STARTED": "Début de l'horodatage des journaux du cycle de vie des unités archivistiques", + "STP_RECLASSIFICATION_PREPARATION.STARTED.OK": "Succès du début du processus de préparation de la modification d'arborescence des unités archivistiques", + "UNIT_METADATA_UPDATE_CHECK_PERMISSION.WARNING": "Avertissement lors de la vérification des droits de mise à jour des métadonnées des unités archivistiques", + "MASTERDATA.FATAL": "Erreur technique lors de l'import des données de base", + "ELIMINATION_ACTION": "Élimination définitive des unités archivistiques", + "STP_PROBATIVE_VALUE_PREPARE.STARTED.OK": "Début du processus de préparation du relevé de valeur probante", + "STP_OG_CHECK_AND_TRANSFORME.KO": "Échec du processus de vérification et de traitement des objets et des groupes d'objets", + "STP_ELIMINATION_ACTION_REPORT_GENERATION": "Processus de génération du rapport d'élimination définitive des unités archivistiques", + "ELIMINATION_ACTION_ACCESSION_REGISTER_UPDATE.STARTED.OK": "Succès du début de la mise à jour du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "STP_DELETE_LOGBOOK_OPERATION.KO": "Échec du processus de suppression des journaux d'opérations", + "OP_SECURISATION_TIMESTAMP.OK": "Succès de la création du tampon d'horodatage de l'ensemble des journaux", + "STP_MASS_UPDATE_FINALIZE.OK": "Succès du processus de génération du rapport de mise à jour des métadonnées descriptives des unités archivistiques", + "OP_SECURISATION_TIMESTAMP.STARTED": "Début de la création du tampon d'horodatage de l'ensemble des journaux", + "COMMIT_LIFE_CYCLE_OBJECT_GROUP.FATAL": "Erreur technique lors de l'enregistrement des journaux du cycle de vie des groupes d'objets", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_WRONG_ATTACHMENT.KO": "Le bordereau de transfert procède à un rattachement en utilisant des éléments inexistants dans le système", + "PROBATIVE_VALUE_REPORTS.KO": "Échec de la création du rapport de relevé de valeur probante", + "UPDATE_ARCHIVEUNITPROFILE": "Processus de mise à jour du profil d'unité archivistique", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.EXISTING_OG_NOT_DECLARED.KO": "Une unité archivistique déclare un objet à la place du groupe d'objet correspondant", + "OG_OBJECTS_FORMAT_CHECK.UNCHARTED.KO": "Échec de l'identification des formats : le format de ou des objet(s) est identifié mais est inconnu du référentiel des formats", + "CHECK_DIGEST": "Vérification de l'intégrité des objets", + "PROBATIVE_VALUE_CHECK_OBJECT_GROUP.WARNING": "Avertissement lors la récupération des données dans la base de données", + "STP_DELETE_ACCESSION_REGISTER_SUMMARY.STARTED": "Début du processus de suppression du Registre des Fonds (Résumé)", + "STP_UNIT_GRAPH_COMPUTE.KO": "Échec du processus de mise à jour des graphes des unités archivistiques", + "STP_ACCESSION_REGISTRATION.KO": "Échec du processus d'alimentation du Registre des Fonds", + "UNITS_RULES_COMPUTE.ALREADY_EXECUTED": "Action déjà exécutée : Pas d'application des règles de gestion et du calcul des dates d'échéance", + "STP_PROBATIVE_VALUE_EXTRACT_ZIP_FILE.STARTED": "Début du processus d'extraction des signatures à partir des fichiers sécurisés", + "CHECK_DISTRIBUTION_THRESHOLD.WARNING": "Avertissement lors de la vérification des seuils de limitation de traitement des unités archivistiques", + "REPORT_AUDIT.OK": "Succès de la notification de la fin de l'audit", + "FILINGSCHEME.FATAL": "Erreur technique lors du processus d'entrée du plan de classement", + "OBJECT_GROUP_GRAPH_COMPUTE.WARNING": "Avertissement lors de la mise à jour des graphes des groupes d'objets", + "STP_DELETE_MASTERDATA_CONTEXT.STARTED": "Début du processus de suppression des contextes applicatifs", + "EVIDENCE_AUDIT_FINALIZE.WARNING": "Avertissement lors de la création du rapport de l'audit de cohérence", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.OK": "Succès du contrôle de cohérence du bordereau de transfert", + "BACKUP_PROFILE.WARNING": "Avertissement lors du processus de sauvegarde des profils d'archivage", + "PREPARE_UNIT_LFC_TRACEABILITY.STARTED": "Début de la préparation des journaux du cycle de vie et des métadonnées des unités archivistiques", + "PREPARE_STORAGE_INFO.STARTED": "Début de la préparation des informations de stockage", + "CHECK.WARNING": "Avertissement lors de la vérification des journaux sécurisés", + "CHECK_SEDA.CONTAINER_FORMAT.FILE.FATAL": "Erreur technique lors de la vérification globale du SIP", + "CHECK_CONCURRENT_WORKFLOW_LOCK.OK": "Succès de la vérification des processus concurrents", + "STP_PREPARE_TRACEABILITY_CHECK.STARTED.OK": "Début du processus de préparation de la vérification des journaux sécurisés", + "STP_UNIT_LFC_TRACEABILITY.STARTED.OK": "Début de la sécurisation des journaux du cycle de vie des unités archivistiques", + "MIGRATION_FINALIZE.FATAL": "Erreur technique lors de la finalisation de la migration", + "RECLASSIFICATION_PREPARATION_LOAD_REQUEST.FATAL": "Erreur technique lors du chargement des unités archivistiques au moment de la modification d'arborescence des unités archivistiques", + "UNIT_ATTACHMENT.OK": "Succès du rattachement des unités archivistiques", + "UNIT_GRAPH_COMPUTE": "Mise à jour des graphes des unités archivistiques", + "PROCESS_SIP_UNITARY.STARTED": "Début du processus d'entrée du SIP", + "RECLASSIFICATION_PREPARATION.OK": "Succès de la préparation de la modification d'arborescence des unités archivistiques", + "STP_BACKUP_ACCESS_CONTRACT.WARNING": "Avertissement lors du processus de sauvegarde des contrats d'accès", + "CHECK_RULES.IMPORT_IN_PROCESS.KO": "Échec du contrôle de la conformité du fichier des règles de gestion : L'import est impossible car une mise à jour du référentiel est déjà en cours", + "STP_UNIT_CHECK_AND_PROCESS.OK": "Succès du processus de contrôle et traitements des unités archivistiques", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.UNAUTHORIZED_ATTACHMENT.KO": "Le rattachement n'a pas été effectué: le rattachement n'est pas situé dans le périmètre autorisé", + "STP_UPDATE_INGEST_CONTRACT.CONTRACT_NOT_FOUND.KO": "Échec du processus de mise à jour du contrat d'entrée : contrat d'entrée non trouvé", + "STP_CHECK_AND_COMPUTE.STARTED.KO": "Échec du début du processus de préparation de la liste des unités archivistiques à mettre à jour et des autorisations de modification", + "STP_OBJ_STORING.STARTED": "Début du processus d'écriture et d'indexation des objets sur les offres de stockage", + "ELIMINATION_ACTION_REPORT_GENERATION.OK": "Succès de la de génération du rapport d'élimination définitive des unités archivistiques", + "STP_ELIMINATION_ACTION_REPORT_GENERATION.KO": "Échec du processus de génération du rapport d'élimination définitive des unités archivistiques", + "ELIMINATION_ANALYSIS_FINALIZATION.OK": "Succès de la finalisation de l'analyse de l'élimination des unités archivistiques", + "UPDATE_OBJECT_GROUP.STARTED.OK": "Début de la mise à jour du groupe d'objets", + "PREPARE_UPDATE_UNIT_LIST.FATAL": "Erreur technique lors de la préparation de la liste des unités archivistiques à mettre à jour", + "STP_MIGRATION_FINALIZE.STARTED": "Début du processus de finalisation de la migration", + "STP_DELETE_LOGBOOK_LIFECYCLE_OG.KO": "Échec du processus de suppression des journaux du cycle de vie des groupes d'objets", + "ATR_NOTIFICATION.FATAL": "Erreur technique lors de la notification de la fin de l'opération d'entrée à l'opérateur de versement", + "STP_BACKUP_SCENARIO.OK": "Succès du processus de sauvegarde des scénarios de préservation", + "UPDATE_AGENCIES.FATAL": "Erreur technique lors du processus de mise à jour du référentiel des services agents", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.WARNING": "Avertissement lors de l'identification du format", + "CHECK_DATAOBJECTPACKAGE.EMPTY_REQUIRED_FIELD.KO": "Au moins une unité archivistique contient un champ non renseigné dont la valeur est obligatoire", + "STP_MIGRATION_OBJECT_GROUPS.OK": "Succès du processus de préparation de la migration des groupes d'objets", + "OP_PROFILE_STORAGE.KO": "Échec de l'enregistrement du profil d'archivage", + "UPDATE.STARTED.OK": "Succès du début de la mise à jour", + "COMMIT_LIFE_CYCLE_OBJECT_GROUP.OK": "Succès de l'enregistrement des journaux du cycle de vie des groupes d'objets", + "LFC.UNIT_METADATA_UPDATE_CHECK_DT.FATAL": "Erreur technique lors de la vérification de l'association à un profil d'unité archivistique", + "LFC.CHECK_MANIFEST.INVALID_GUID_ATTACHMENT.KO": "Le rattachement n'a pas été effectué: l'élément de rattachement est incorrect", + "STP_INGEST_CONTROL_SIP.FATAL": "Erreur technique lors du processus du contrôle du SIP", + "CHECK_DISTRIBUTION_THRESHOLD.OK": "Succès de la vérification des seuils de limitation de traitement des unités archivistiques", + "BACKUP_ARCHIVEUNITPROFILE.OK": "Succès du processus de sauvegarde des profils d'unité archivistique", + "PREPARE_OG_LFC_TRACEABILITY.STARTED": "Début de la préparation des journaux du cycle de vie et des métadonnées des groupes d'objets", + "STP_PROBATIVE_VALUE_CHECK_OBJECT_GROUP.KO": "Échec du processus de récupération des données dans la base de données", + "CHECK_FILE_FORMAT.FATAL": "Erreur technique lors de la vérification des formats des objets et groupe d'objets", + "CHECK": "Vérification des journaux sécurisés", + "ELIMINATION_ANALYSIS_PREPARATION.WARNING": "Avertissement lors de la préparation de l'analyse de l'élimination des unités archivistiques", + "EVIDENCE_AUDIT_FINALIZE.FATAL": "une Erreur technique est survenue lors de la création du rapport d'audit de cohérence", + "STP_UPDATE_ACCESS_CONTRACT.NOT_IN_ENUM.KO": "Échec du processus de mise à jour du contrat d'accès : une valeur ne correspond pas aux valeurs attendues", + "STP_IMPORT_INGEST_CONTRACT.STARTED.OK": "Succès du début du processus d'import du contrat d'entrée", + "LFC.PRESERVATION_INDEXATION_METADATA.PRESERVATION_INDEXATION_METADATA.STARTED.OK": "Succès du début de l'indexation des métadonnées du groupe d'objetsl ors d'une opération de préservation", + "STP_IMPORT_PROFILE_FILE": "Processus d'import du profil d'archivage (fichier xsd ou rng)", + "STORAGE_BACKUP.WARNING": "Avertissement lors de la sauvegarde des journaux des écritures", + "MASS_UPDATE_UNITS.OK": "Succès de la mise à jour des unités archivistiques", + "CHECK_HEADER.CONTRACT_UNKNOWN": "Échec de la vérification de la présence et contrôle du contrat d'entrée: le contrat d'entrée est inconnu du référentiel des contrats d'entrée", + "ELIMINATION_ACTION_FINALIZATION.OK": "Succès de la finalisation de l'élimination définitive des unités archivistiques", + "PROBATIVE_VALUE_REPORTS.OK": "Succès de la création du rapport de relevé de valeur probante", + "STP_INGEST_FINALISATION.STARTED.OK": "Succès du début du processus de finalisation de l'entrée", + "CHECK_DIGEST.EMPTY.KO": "Échec de la vérification de l'empreinte des objets : Il existe au moins un objet dont l'empreinte est absente dans le bordereau de transfert", + "MASS_UPDATE_FINALIZE.KO": "Échec du processus de traitement de mise à jour des générations du rapport de mise à jour des métadonnées descriptives des unités archivistiques", + "PRESERVATION_STORAGE_METADATA_LFC.WARNING": "Avertissement lors de l'enregistrement des journaux de cycle de vie des groupes d'objets", + "STP_DELETE_MASTERDATA_INGEST_CONTRACT.WARNING": "Avertissement lors du processus de suppression des contrats d'entrée", + "EVIDENCE_AUDIT.WARNING": "Avertissement lors de l'audit de cohérence", + "STP_RECLASSIFICATION_PREPARATION.FATAL": "Erreur technique lors du processus de préparation de la modification d'arborescence des unités archivistiques", + "STP_UPDATE_UNIT_DESC.WARNING": "Avertissement lors du processus de mise à jour des métadonnées descriptives de l'unité archivistique", + "MASS_UPDATE_UNIT_DESC.STARTED.KO": "Échec du début du processus de mise à jour en masse des métadonnées descriptives des unités archivistiques", + "STP_DELETE_MASTERDATA_PRESERVATION_SCENARIO": "Processus de suppression du référentiel des scénarios de préservation", + "STORAGE_BACKUP.OK": "Succès de la sauvegarde des journaux des écritures", + "STP_UPDATE": "Processus de traitement de mise à jour des unités archivistiques", + "STP_PUT_BINARY_ON_WORKSPACE.STARTED": "Début du processus de déplacement des objets binaires de l'offre de stockage vers l'espace de travail interne", + "PROBATIVE_VALUE_EXTRACT_ZIP_FILE": "Extraction des signatures à partir des fichiers sécurisés", + "STP_DELETE_LOGBOOK_LIFECYCLE_UNIT.FATAL": "Erreur technique lors du processus de suppression des journaux du cycle de vie des unités archivistiques", + "STP_IMPORT_ACCESS_CONTRACT.FATAL": "Erreur technique lors du processus d'import du contrat d'accès", + "LFC.OG_OBJECTS_FORMAT_CHECK.FILE_FORMAT.PUID_NOT_FOUND.KO": "Identifiant du format de l'objet (PUID) absent dans le référentiel des formats", + "ELIMINATION_ACTION_DETACH_OBJECT_GROUP.OK": "Succès du détachement des groupes d'objets techniques dont certaines unités archivistiques parentes sont éliminées", + "UNIT_METADATA_UPDATE_CHECK_DT.OK": "Succès de la vérification de l'association à un profil d'unité archivistique", + "PROCESS_SIP_UNITARY_TEST.KO": "Échec du processus d'entrée à blanc du SIP", + "STP_ELIMINATION_ACTION_FINALIZATION": "Processus de finalisation de l'élimination définitive des unités archivistiques", + "UNIT_METADATA_STORAGE.ALREADY_EXECUTED": "Action déjà exécutée : Pas d'enregistrement des métadonnées des unités archivistiques", + "LFC.CHECK_MANIFEST.LFC_CREATION.OK": "Succès de la création du journal du cycle de vie", + "MIGRATION_OBJECT_GROUPS.KO": "Échec de la migration des groupes d'objets", + "LFC.OBJ_STORAGE.OBJ_STORAGE_SUB_TASK.WARNING": "Avertissement lors de l'écriture de l'objet sur les offres de stockage", + "STP_ELIMINATION_ANALYSIS_FINALIZATION": "Processus de finalisation de l'analyse de l'élimination des unités archivistiques", + "CHECK_HEADER.CONTRACT_INACTIVE": "Échec de la vérification de la présence et contrôle du contrat d'entrée: le contrat d'entrée est inactif", + "CHECK_DATAOBJECTPACKAGE.NOT_FOUND_ATTACHMENT.KO": "Le rattachement n'a pas été effectué: l'élément de rattachement n'existe pas dans le système", + "UNIT_METADATA_STORAGE.OK": "Succès de l'enregistrement des métadonnées des unités archivistiques", + "BUILD_OG_LFC_TRACEABILITY.OK": "Succès de la sécurisation des journaux du cycle de vie des groupes d'objets", + "STP_UNIT_CHECK_AND_PROCESS.WARNING": "Avertissement lors du processus de contrôle et traitements des unités archivistiques", + "GRIFFIN_REPORT": "Génération du rapport d'import du référentiel des griffons", + "EVIDENCE_AUDIT_LIST_SECURED_FILES_TO_DOWNLOAD.STARTED": "Début de la préparation de la liste des signatures dans les fichiers sécurisés", + "CHECK_CONCURRENT_WORKFLOW_LOCK.KO": "Échec de la vérification des processus concurrents", + "OG_OBJECTS_FORMAT_CHECK": "Identification des formats", + "STP_DELETE_LOGBOOK_LIFECYCLE_UNIT.KO": "Échec du processus de suppression des journaux du cycle de vie des unités archivistiques", + "PROBATIVE_VALUE_CHECK_MERKLE_TREE.FATAL": "Erreur technique lors de la vérification de l'arbre de MERKLE", + "STP_IMPORT_PROFILE_JSON.PROFILE_NOT_FOUND.KO": "Échec du processus d'import du profil d'archivage : profil d'archivage non trouvé", + "MASTERDATA.STARTED": "Début de l'import des données de base", + "STP_IMPORT_PRESERVATION_SCENARIO": "Processus d'import du référentiel des scénarios de préservation", + "IMPORT_AGENCIES.USED_AU": "Processus de vérification des services agents référencés par les unités archivistiques", + "STP_PRESERVATION_FINALIZATION.WARNING": "Avertissement lors du processus de finalisation du traitement de préservation", + "CHECK_DATAOBJECTPACKAGE.MASTER_MANDATORY_REQUIRED.KO": "Échec de la vérification des objets et groupes d'objets : la présence d'un Master est obligatoire", + "CHECK_MERKLE_TREE.FATAL": "Erreur technique lors de la vérification de l'arbre de MERKLE", + "LFC.CHECK_CONSISTENCY_ORPHAN_OBJECT.STARTED": "Début du rattachement des objets aux groupes d'objets et aux unités archivistiques", + "LFC.AUDIT_CHECK_OBJECT.AUDIT_FILE_EXISTING.STARTED": "Début de l'audit de la vérification des fichiers du groupe d'objets", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.FATAL": "Erreur technique lors de la vérification de la présence et du contrôle du contrat d'entrée", + "STP_PROBATIVE_VALUE_PREPARE.KO": "Échec du processus de préparation du relevé de valeur probante", + "CREATE_MANIFEST": "Création du bordereau de mise à disposition", + "OG_METADATA_INDEXATION.KO": "Échec de l'indexation des métadonnées des objets et des groupes d'objets", + "STP_DELETE_LOGBOOK_LIFECYCLE_OG.OK": "Succès du processus de suppression des journaux du cycle de vie des groupes d'objets", + "CHECK_DATAOBJECTPACKAGE.BDO_DATAOBJECTIONVERSION_PHYSICALMASTER.KO": "Au moins un objet binaire déclare un usage \"PhysicalMaster\". Cet usage n'est pas autorisé pour les objets binaires", + "ELIMINATION_ACTION_DELETE_OBJECT_GROUP": "Élimination définitive des groupes d'objets techniques dont les unités archivistiques parentes sont éliminées", + "STP_MIGRATION_OBJECT_GROUPS.KO": "Échec du processus de préparation de la migration des groupes d'objets", + "STP_DELETE_MASTERDATA_PRESERVATION_SCENARIO.STARTED.OK": "Succès du début du processus de suppression du référentiel des scénarios de préservation", + "RECLASSIFICATION_PREPARATION.KO": "Échec de la préparation de la modification d'arborescence des unités archivistiques", + "UNITS_RULES_COMPUTE.UNKNOWN.KO": "Échec de l'application des règles de gestion et du calcul des dates d'échéance : règle de gestion inconnue", + "CHECK_HEADER.CONTEXT_CHECK_ERROR.KO": "Échec de la vérification générale du bordereau de transfert : Échec de la vérification de la présence et du contrôle du contexte applicatif", + "LFC.PRESERVATION_SIEGFRIED_IDENTIFICATION.NOT_FOUND_REFERENTIAL.KO": "Le format de l'objet n'a pas été trouvé dans le référentiel des formats", + "ELIMINATION_ANALYSIS_FINALIZATION.KO": "Échec de la finalisation de l'analyse de l'élimination des unités archivistiques", + "STP_PROBATIVE_VALUE_CHECK_OBJECT_GROUP.OK": "Succès du processus de récupération des données dans la base de données", + "LFC.UNITS_RULES_COMPUTE.UNKNOWN.STARTED.OK": "Succès du début de la vérification de l'échéance des règles de gestion", + "ELIMINATION.WARNING": "Avertissement lors de l'élimination des unités archivistiques", + "LFC.OBJ_STORAGE.OBJECT_STORAGE_SUB_TASK.OK": "Succès de l'écriture de l'objet sur les offres de stockage", + "PREPARE_UNIT_LFC_TRACEABILITY": "Préparation de la liste des journaux du cycle de vie et des métadonnées des unités archivistiques", + "OP_PROFILE_STORAGE.OK": "Succès de l'enregistrement du profil d'archivage", + "STP_CHECK_AND_COMPUTE.STARTED.OK": "Succès du début du processus de préparation de la liste des unités archivistiques à mettre à jour et des autorisations de modification", + "LFC.OG_CREATE_SECURED_FILE.KO": "Échec de la création de fichiers sécurisés du groupe d'objets", + "STP_STORE_MANIFEST": "Processus de création du DIP et de son déplacement vers l'offre de stockage", + "LIST_ARCHIVE_UNITS": "Établissement de la liste des unités archivistiques à mettre à jour", + "CHECK_DISTRIBUTION_THRESHOLD.KO": "Échec de la vérification des seuils de limitation de traitement des unités archivistiques", + "STP_STORAGE_AVAILABILITY_CHECK.ALREADY_EXECUTED": "Action déjà exécutée : Pas de processus de vérification préalable à la prise en charge", + "ELIMINATION_ACTION_DELETE_UNIT": "Elimination définitive des unités archivistiques éliminables", + "LFC.UNIT_METADATA_UPDATE_CHECK_RULES.WARNING": "Avertissement lors de la vérification de la mise à jour des règles de gestion de l'unité archivistique", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.CHECK_MANIFEST_LOOP": "Vérification de la présence dans le bordereau de transfert d'une récursivité dans l'arborescence de ses unités archivistiques", + "STORE_MANIFEST.FATAL": "Erreur technique lors de la création du DIP et de son déplacement vers l'offre de stockage", + "STP_UNIT_DETACHMENT.STARTED": "Début du processus de détachement des unités archivistiques", + "CHECK_ARCHIVE_UNIT_PROFILE.OK": "Succès de la vérification de la conformité aux profils d'unité archivistique", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_OBJECTNUMBER.INVALID_URI.KO": "Au moins un objet déclare une URI à laquelle ne correspond pas de fichier ou déclare une URI déjà utilisée par un autre objet", + "LFC.CHECK_ARCHIVE_UNIT_PROFILE.INVALID_AU_PROFILE.KO": "Échec de la vérification de la conformité aux profils d'unité archivistique : profil d'unité archivistique non conforme", + "STP_RECLASSIFICATION_FINALIZATION.KO": "Échec du processus de finalisation de la modification d'arborescence des unités archivistiques", + "STP_CHECK_AND_COMPUTE.STARTED.FATAL": "Erreur technique lors du début du processus de préparation de la liste des unités archivistiques à mettre à jour et des autorisations de modification", + "STORAGE_BACKUP.KO": "Échec de la sauvegarde des journaux des écritures", + "ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION": "Préparation du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "MASS_UPDATE_UNIT_DESC": "Processus de mise à jour en masse des métadonnées descriptives des unités archivistiques", + "OG_METADATA_INDEXATION.OK": "Succès de l'indexation des métadonnées des objets et des groupes d'objets", + "STP_EVIDENCE_AUDIT_CHECK_DATABASE": "Processus de récupération des données dans la base de donnée", + "LFC.UNITS_RULES_COMPUTE.UNKNOWN": "Vérification de l'échéance des règles de gestion", + "AUDIT_CHECK_OBJECT": "Audit de la vérification des objets", + "CHECK_HEADER.CHECK_CONTRACT_INGEST.STARTED": "Début de la vérification de la présence et du contrôle du contrat d'entrée", + "ELIMINATION_ACTION_FINALIZATION.KO": "Échec de la finalisation de l'élimination définitive des unités archivistiques", + "FINALIZE_OG_LFC_TRACEABILITY.OP_SECURISATION_TIMESTAMP.WARNING": "Avertissement lors du processus de création du tampon d'horodatage de l'ensemble des journaux du cycle de vie des groupes d'objets", + "STP_OBJECT_GROUP_GRAPH_COMPUTE.OK": "Succès du processus de mise à jour des graphes des groupes d'objets", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST.WARNING": "Avertissement lors du contrôle de cohérence du bordereau de transfert", + "MIGRATION_FINALIZE": "Finalisation de la migration", + "STP_IMPORT_INGEST_CONTRACT.FORMAT_MUST_NOT_BE_EMPTY.KO": "Échec de l'import du contrat d'entrée : La liste blanches des formats ne peut pas être vide lorsque tous les formats ne sont pas autorisés", + "EVIDENCE_AUDIT_PREPARE_GENERATE_REPORTS.WARNING": "Avertissement lors de la création du rapport pour chaque unité archivistique ou objet ou groupe d'objets", + "CHECK_DATAOBJECTPACKAGE.CHECK_MANIFEST_DATAOBJECT_VERSION.BDO_DATAOBJECTIONVERSION_PHYSICALMASTER.KO": "L'objet binaire déclare un usage \"PhysicalMaster\". Cet usage n'est pas autorisé pour les objets binaires", + "EVIDENCE_AUDIT.FATAL": "Une Erreur technique lors du processus d'audit de cohérence", + "PRESERVATION": "Processus global de préservation", + "PRESERVATION_FINALIZATION.STARTED": "Début de la finalisation du traitement de préservation", + "STP_DELETE_ACCESSION_REGISTER_DETAIL.STARTED": "Début du processus de suppression du Registre des Fonds (Détails)", + "STP_ELIMINATION_ACTION_DELETE_OBJECT_GROUP.FATAL": "Erreur technique lors du processus d'élimination définitive des groupes d'objets techniques dont les unités archivistiques parentes sont éliminées", + "OBJECT_GROUP_GRAPH_COMPUTE.STARTED.OK": "Succès du début de la mise à jour des graphes des groupes d'objets", + "UPDATE_ARCHIVEUNITPROFILE.STARTED": "Début du processus de mise à jour du profil d'unité archivistique", + "LFC.UNIT_METADATA_INDEXATION.WARNING": "Avertissement lors de l'indexation de l'unité archivistique", + "ELIMINATION_ACTION_ACCESSION_REGISTER_PREPARATION.KO": "Échec de la préparation du Registre des Fonds suite à l'élimination définitive des unités archivistiques", + "OG_OBJECTS_FORMAT_CHECK.FATAL": "Erreur technique lors de l'identification des formats", + "STP_UPDATE_RUNNING_INGESTS.OK": "Succès du processus de mise à jour des entrées en cours", + "MIGRATION_OBJECT_GROUPS.OK": "Succès de la migration des groupes d'objets", + "STP_DELETE_LOGBOOK_LIFECYCLE_UNIT.OK": "Succès du processus de suppression des journaux du cycle de vie des unités archivistiques", + "UNIT_DETACHMENT.FATAL": "Erreur technique lors du détachement des unités archivistiques", + "ELIMINATION_ACTION_DETACH_OBJECT_GROUP.KO": "Échec du détachement des groupes d'objets techniques dont certaines unités archivistiques parentes sont éliminées", + "EVIDENCE_AUDIT_LIST_OBJECT.FATAL": "Une Erreur technique est survenue lors de la création de la liste à auditer", + "EXT_VITAMUI_AUTHENTIFICATION_USER": "Authentification de l'utilisateur", + "EXT_VITAMUI_AUTHENTICATION_USER": "Authentification de l'utilisateur", + "EXT_VITAMUI_BLOCK_USER": "Blocage de l'utilisateur", + "EXT_VITAMUI_PASSWORD_REVOCATION": "Révocation du mot de passe", + "EXT_VITAMUI_PASSWORD_INIT": "Initialisation du mot de passe", + "EXT_VITAMUI_PASSWORD_CHANGE": "Modification du mot de passe", + "EXT_VITAMUI_AUTHENTIFICATION_OTP_USER": "Authentification de l'utilisateur avec OTP", + "EXT_VITAMUI_AUTHENTICATION_OTP_USER": "Authentification de l'utilisateur avec OTP", + "EXT_VITAMUI_CREATE_CUSTOMER": "Création de l'organisation", + "EXT_VITAMUI_UPDATE_CUSTOMER": "Modification de l'organisation", + "EXT_VITAMUI_CREATE_GROUP": "Création du groupe", + "EXT_VITAMUI_UPDATE_GROUP": "Modification du groupe", + "EXT_VITAMUI_CREATE_IDP": "Création de L'IDP de l'organisaton", + "EXT_VITAMUI_UPDATE_IDP": "Modification de L'IDP de l'organisaton", + "EXT_VITAMUI_CREATE_OWNER": "Création du propriétaire", + "EXT_VITAMUI_UPDATE_OWNER": "Modification du propriétaire", + "EXT_VITAMUI_CREATE_PROFILE": "Création du profil", + "EXT_VITAMUI_UPDATE_PROFILE": "Modification du profil", + "EXT_VITAMUI_START_SURROGATE_USER": "Démarrage de la subrogation de l'utilisateur", + "EXT_VITAMUI_START_SURROGATE_GENERIC": "Démarrage de la subrogation de l'utilisateur générique", + "EXT_VITAMUI_STOP_SURROGATE": "Arrêt de la subrogation de l'utilisateur", + "EXT_VITAMUI_DECLINE_SURROGATE": "Refus de la subrogation par l'utilisateur", + "EXT_VITAMUI_LOGOUT_SURROGATE": "Arrêt par déconnexion de la subrogation de l'utilisateur", + "EXT_VITAMUI_CREATE_TENANT": "Création du coffre du propriétaire", + "EXT_VITAMUI_UPDATE_TENANT": "Modification du coffre du propriétaire", + "EXT_VITAMUI_CREATE_USER": "Création de l'utilisateur", + "EXT_VITAMUI_UPDATE_USER": "Modification de l'utilisateur" + } +} + + + + + + diff --git a/ui/ui-frontend/projects/pastis/src/assets/js/class-diagram.js b/ui/ui-frontend/projects/pastis/src/assets/js/class-diagram.js new file mode 100644 index 000000000..aa01e28bf --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/js/class-diagram.js @@ -0,0 +1,468 @@ + +var classDiagram = (function() { + + function addMarkers(defs) { + defs.append('marker') + .attr({ + 'id': 'filledTraiangle', + viewBox: '0 0 10 10', + 'refX': 10, + 'refY': 5, + 'markerWidth': 10, + 'markerHeight': 10, + 'orient': 'auto' + }) + .append('path') + .attr({ + d: 'M10 5 0 0 0 10Z', + 'fill-rule': 'evenodd', + stroke: 'none', + fill: 'black' + }); + + defs.append('marker') + .attr({ + 'id': 'triangle', + viewBox: '0 0 10 10', + 'refX': 10, + 'refY': 5, + 'markerWidth': 10, + 'markerHeight': 10, + 'orient': 'auto' + }) + .append('path') + .attr({ + d: 'M10 5 0 0 0 10 Z M8 5 1 8.4 1 1.6Z', + 'fill-rule': 'evenodd', + stroke: 'none', + fill: 'black' + }); + + defs.append('marker') + .attr({ + 'id': 'arrowhead', + viewBox: '0 0 10 10', + 'refX': 10, + 'refY': 5, + 'markerWidth': 10, + 'markerHeight': 10, + 'orient': 'auto' + }) + .append('path') + .attr({ + d: 'M10 5 0 10 0 8.7 6.8 5.5 0 5.5 0 4.5 6.8 4.5 0 1.3 0 0Z', + stroke: 'none', + fill: 'black' + }); + + defs.append('marker') + .attr({ + id: 'diamond', + viewBox: '0 0 16 10', + refX: 16, + refY: 5, + markerWidth: 16, + markerHeight: 10, + orient: 'auto' + }) + .append('path') + .attr({ + d: 'M-1 5 7.5 0 16 5 7.5 10Z M1.3 5 7.5 8.7 14 5 7.5 1.3Z', + 'fill-rule': 'evenodd', + stroke: 'none', + fill: 'black' + }); + + defs.append('marker') + .attr({ + id: 'filledDiamond', + viewBox: '0 0 16 10', + refX: 16, + refY: 5, + markerWidth: 16, + markerHeight: 10, + orient: 'auto' + }) + .append('path') + .attr({ + d: 'M-1 5 7.5 0 16 5 7.5 10Z', + stroke: 'none', + fill: 'black' + }); + } + + function multilineText() { + var lineHeight = 1.4; + var horizontalAlign = 'center'; // 'left', 'center', or 'right' + var verticalAlign = 'center'; // 'top', 'center', or 'bottom' + var paddingTop = 10; + var paddingBottom = 10; + var paddingLeft = 10; + var paddingRight = 10; + var textAnchorsByHorizontalAlign = { + 'center': 'middle', + 'left': 'start', + 'right': 'end' + }; + var text = function(d) { return d.text; }; + var width = function(d) { return d.width; }; + var height = function(d) { return d.height; }; + + function my(selection) { + selection.each(function(d, i) { + var textElem = d3.select(this), + lines, + lineCount, + lineI, + line; + + lines = result(d, text); + if (typeof lines === 'string') { + lines = lines.split(/\n/); + } + if (lines === undefined) { + return; + } + lineCount = lines.length; + + textElem.attr({ + 'text-anchor': textAnchorsByHorizontalAlign[horizontalAlign], + 'fill': 'black', + transform: function(d) { + return 'translate(' + translateX(d) + ',' + translateY(d) + ')'; + }, + }); + + for (lineI = 0; lineI < lineCount; lineI++) { + line = lines[lineI]; + textElem.append('tspan') + .attr({ + 'x': 0, + 'y': lineTspanY(lineI, lineCount) + }) + .attr(lineTspanAttrs()) + .text(line); + } + }); + } + + function translateX(d) { + var w = result(d, width); + switch (horizontalAlign) { + case 'center': + return w / 2; + case 'left': + return paddingLeft; + case 'right': + return w - paddingRight; + } + } + + function translateY(d) { + var h = result(d, height); + switch (verticalAlign) { + case 'center': + return h / 2; + case 'top': + return paddingTop; + case 'bottom': + return h - paddingBottom; + } + } + + function lineTspanY(lineI, lineCount) { + var y; + switch (verticalAlign) { + case 'center': + y = (lineI - (lineCount - 1) / 2) * lineHeight; + break; + case 'top': + y = lineI * lineHeight; + break; + case 'bottom': + y = -((lineCount - 1) - lineI) * lineHeight; + break; + } + return y ? y + 'em' : 0; + } + + function lineTspanAttrs() { + switch (verticalAlign) { + case 'center': + return {dy: '.35em'}; + case 'top': + return {dy: '1em'}; + case 'bottom': + return {dy: 0}; + } + } + + function result(d, property) { + return typeof property === 'function' ? property(d) : property; + } + + my.lineHeight = function(value) { + if (!arguments.length) return lineHeight; + lineHeight = value; + return my; + }; + + my.horizontalAlign = function(value) { + if (!arguments.length) return horizontalAlign; + horizontalAlign = value; + return my; + }; + + my.verticalAlign = function(value) { + if (!arguments.length) return verticalAlign; + verticalAlign = value; + return my; + }; + + my.paddingTop = function(value) { + if (!arguments.length) return paddingTop; + paddingTop = value; + return my; + }; + + my.paddingRight = function(value) { + if (!arguments.length) return paddingRight; + paddingRight = value; + return my; + }; + + my.paddingBottom = function(value) { + if (!arguments.length) return paddingBottom; + paddingBottom = value; + return my; + }; + + my.paddingLeft = function(value) { + if (!arguments.length) return paddingLeft; + paddingLeft = value; + return my; + }; + + my.width = function(value) { + if (!arguments.length) return width; + width = value; + return my; + }; + + my.height = function(value) { + if (!arguments.length) return height; + height = value; + return my; + }; + + my.text = function(value) { + if (!arguments.length) return text; + text = value; + return my; + }; + + return my; + } + + function createClasses(classes,svg) { + var g = svg.selectAll('g.class') + .data(classes).enter().append('g') + .attr({ + id: function(d) { return d.classname + 'Class'; }, + 'class': 'class', + transform: function(d) { + return "translate(" + d.x + "," + d.y + ")"; + }, + }); + + g.append('rect') + .attr({ + 'width': function(d) { return d.width; }, + 'fill': '#FFFFC2', + 'stroke': 'black', + 'stroke-width': 1 + }); + + g.append('text') + .attr('font-size', 12) + .attr('x',110) + .attr('y',-5) + .text( function (d) { return d.classname !== 'ArchiveTransfer' ? (d.cardinality ? d.cardinality : '1') : '' }) + + + + + var classNameG = g.append('g') + .attr('class', 'classname'); + var classNameRects = classNameG.append('rect') + .attr({ + 'width': function(d) { return d.width; }, + 'fill': 'none', + 'stroke': 'black', + 'stroke-width': 1 + }); + var classNameTexts = classNameG.append('text') + .attr('font-size', 12) + .call(multilineText() + .verticalAlign('top') + .paddingTop(4) + .paddingBottom(4) + .text(function(d) { return d.classname; }) + ); + + adjustHeight(classNameRects[0], classNameTexts[0], 4, 4); + + function adjustHeight(rects, texts, paddingTop, paddingBottom) { + var i, + n = rects.length, + rect, + text, + height; + for (i = 0; i < n; i++) { + rect = rects[i]; + text = texts[i]; + if (text) { + height = text.getBBox().height + paddingTop + paddingBottom; + d3.select(rect).attr('height', height); + } + } + } + + var attributesG = g.append('g') + .attr({ + 'class': 'attributes', + 'transform': function(d) { + var classNameG = d3.select(this).node().previousSibling, + height = classNameG.getBBox().height; + return 'translate(0,' + height + ')'; + } + }); + var attributesRects = attributesG.append('rect') + .attr({ + 'width': function(d) { return d.width; }, + 'fill': 'none', + 'stroke': 'black', + 'stroke-width': 1 + }); + var attributesTexts = attributesG.append('text') + .attr('font-size', 12) + .call(multilineText() + .text(function(d) { return d.attributes; }) + .verticalAlign('top') + .horizontalAlign('left') + .paddingTop(4) + .paddingLeft(4) + ); + if (attributesRects.length > 0) { + adjustHeight(attributesRects[0], attributesTexts[0], 4, 4); + } + + var methodsG = g.append('g') + .attr({ + 'class': 'methods', + 'transform': function(d) { + var attributesG = d3.select(this).node().previousSibling, + classNameText = attributesG.previousSibling, + classNameBBox = classNameText.getBBox(), + attributesBBox = attributesG.getBBox(); + return 'translate(0,' + (classNameBBox.height + attributesBBox.height) + ')'; + } + }); + /* + var methodsRects = methodsG.append('rect') + .attr({ + 'width': function(d) { return d.width; }, + 'fill': 'none', + 'stroke': 'black', + 'stroke-width': 1 + }); + var methodsTexts = methodsG.append('text') + .attr('font-size', 12) + .call(multilineText() + .text(function(d) { return d.methods; }) + .verticalAlign('top') + .horizontalAlign('left') + .paddingTop(4) + .paddingLeft(4) + ); + adjustHeight(methodsRects[0], methodsTexts[0], 4, 4); + */ + svg.selectAll('g.class') + .each(function(d, i) { + var classG = d3.select(this), + classRect = classG.node().firstChild, + classNameG = classRect.nextSibling, + attributesG = classNameG.nextSibling, + methodsG = attributesG.nextSibling, + height = + classNameG.getBBox().height + + attributesG.getBBox().height + + methodsG.getBBox().height; + d3.select(classRect).attr('height', height); + }); + + var boxes = {}; + svg.selectAll('g.class') + .each(function(d, i) { + var classG = d3.select(this), + bbox = classG.node().getBBox(); + boxes[d.id] = new classDiagram.Box(d.x, d.y, bbox.width, bbox.height,d.id); + + }); + + return boxes; + } + + function Box(x, y, width, height,id) { + this.x = x; + this.y = y; + this.width = width; + this.height = height; + this.id = id; + } + Box.prototype.midX = function() { return this.x + this.width / 2; }; + Box.prototype.rightX = function() { return this.x + this.width; } + Box.prototype.midY = function() { return this.y + this.height / 2; } + Box.prototype.bottomY = function() { return this.y + this.height; } + + function createConnectors(connectors,mysvg) { + var line = d3.svg.line() + .x(function(d) {return d.x;}) + .y(function(d) {return d.y;}); + + mysvg.selectAll('path.connector') + .data(connectors).enter().append('path') + .each(function(d, i) { + var path = d3.select(this); + path.attr({ + 'class': 'connector', + 'd': line(d.points), + 'stroke': 'gray', + 'stroke-width': 1, + 'fill': 'none' + }); + if (d.markerEnd) { + path.attr('marker-end', 'url(#' + d.markerEnd + ')'); + } + }); + + mysvg.selectAll('path.connector') + .attr({ + 'stroke-dasharray': function(d) { + var path = d3.select(this), + totalLength = path.node().getTotalLength(), + marker = mysvg.select('#' + d['markerEnd'])[0][0], + markerWidth = marker.markerWidth.baseVal.value; + return '' + (totalLength - markerWidth) + ' ' + markerWidth; + }, + 'stroke-dashoffset': 0 + }); + } + + return { + Box: Box, + addMarkers: addMarkers, + createClasses: createClasses, + createConnectors: createConnectors + }; +})(); diff --git a/ui/ui-frontend/projects/pastis/src/assets/js/d3.min.js b/ui/ui-frontend/projects/pastis/src/assets/js/d3.min.js new file mode 100644 index 000000000..166487309 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/js/d3.min.js @@ -0,0 +1,5 @@ +!function(){function n(n){return n&&(n.ownerDocument||n.document||n).documentElement}function t(n){return n&&(n.ownerDocument&&n.ownerDocument.defaultView||n.document&&n||n.defaultView)}function e(n,t){return t>n?-1:n>t?1:n>=t?0:NaN}function r(n){return null===n?NaN:+n}function i(n){return!isNaN(n)}function u(n){return{left:function(t,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=t.length);i>r;){var u=r+i>>>1;n(t[u],e)<0?r=u+1:i=u}return r},right:function(t,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=t.length);i>r;){var u=r+i>>>1;n(t[u],e)>0?i=u:r=u+1}return r}}}function o(n){return n.length}function a(n){for(var t=1;n*t%1;)t*=10;return t}function l(n,t){for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}function c(){this._=Object.create(null)}function f(n){return(n+="")===bo||n[0]===_o?_o+n:n}function s(n){return(n+="")[0]===_o?n.slice(1):n}function h(n){return f(n)in this._}function p(n){return(n=f(n))in this._&&delete this._[n]}function g(){var n=[];for(var t in this._)n.push(s(t));return n}function v(){var n=0;for(var t in this._)++n;return n}function d(){for(var n in this._)return!1;return!0}function y(){this._=Object.create(null)}function m(n){return n}function M(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function x(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e=0,r=wo.length;r>e;++e){var i=wo[e]+t;if(i in n)return i}}function b(){}function _(){}function w(n){function t(){for(var t,r=e,i=-1,u=r.length;++i<u;)(t=r[i].on)&&t.apply(this,arguments);return n}var e=[],r=new c;return t.on=function(t,i){var u,o=r.get(t);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,u=e.indexOf(o)).concat(e.slice(u+1)),r.remove(t)),i&&e.push(r.set(t,{on:i})),n)},t}function S(){ao.event.preventDefault()}function k(){for(var n,t=ao.event;n=t.sourceEvent;)t=n;return t}function N(n){for(var t=new _,e=0,r=arguments.length;++e<r;)t[arguments[e]]=w(t);return t.of=function(e,r){return function(i){try{var u=i.sourceEvent=ao.event;i.target=n,ao.event=i,t[i.type].apply(e,r)}finally{ao.event=u}}},t}function E(n){return ko(n,Co),n}function A(n){return"function"==typeof n?n:function(){return No(n,this)}}function C(n){return"function"==typeof n?n:function(){return Eo(n,this)}}function z(n,t){function e(){this.removeAttribute(n)}function r(){this.removeAttributeNS(n.space,n.local)}function i(){this.setAttribute(n,t)}function u(){this.setAttributeNS(n.space,n.local,t)}function o(){var e=t.apply(this,arguments);null==e?this.removeAttribute(n):this.setAttribute(n,e)}function a(){var e=t.apply(this,arguments);null==e?this.removeAttributeNS(n.space,n.local):this.setAttributeNS(n.space,n.local,e)}return n=ao.ns.qualify(n),null==t?n.local?r:e:"function"==typeof t?n.local?a:o:n.local?u:i}function L(n){return n.trim().replace(/\s+/g," ")}function q(n){return new RegExp("(?:^|\\s+)"+ao.requote(n)+"(?:\\s+|$)","g")}function T(n){return(n+"").trim().split(/^|\s+/)}function R(n,t){function e(){for(var e=-1;++e<i;)n[e](this,t)}function r(){for(var e=-1,r=t.apply(this,arguments);++e<i;)n[e](this,r)}n=T(n).map(D);var i=n.length;return"function"==typeof t?r:e}function D(n){var t=q(n);return function(e,r){if(i=e.classList)return r?i.add(n):i.remove(n);var i=e.getAttribute("class")||"";r?(t.lastIndex=0,t.test(i)||e.setAttribute("class",L(i+" "+n))):e.setAttribute("class",L(i.replace(t," ")))}}function P(n,t,e){function r(){this.style.removeProperty(n)}function i(){this.style.setProperty(n,t,e)}function u(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(n):this.style.setProperty(n,r,e)}return null==t?r:"function"==typeof t?u:i}function U(n,t){function e(){delete this[n]}function r(){this[n]=t}function i(){var e=t.apply(this,arguments);null==e?delete this[n]:this[n]=e}return null==t?e:"function"==typeof t?i:r}function j(n){function t(){var t=this.ownerDocument,e=this.namespaceURI;return e===zo&&t.documentElement.namespaceURI===zo?t.createElement(n):t.createElementNS(e,n)}function e(){return this.ownerDocument.createElementNS(n.space,n.local)}return"function"==typeof n?n:(n=ao.ns.qualify(n)).local?e:t}function F(){var n=this.parentNode;n&&n.removeChild(this)}function H(n){return{__data__:n}}function O(n){return function(){return Ao(this,n)}}function I(n){return arguments.length||(n=e),function(t,e){return t&&e?n(t.__data__,e.__data__):!t-!e}}function Y(n,t){for(var e=0,r=n.length;r>e;e++)for(var i,u=n[e],o=0,a=u.length;a>o;o++)(i=u[o])&&t(i,o,e);return n}function Z(n){return ko(n,qo),n}function V(n){var t,e;return function(r,i,u){var o,a=n[u].update,l=a.length;for(u!=e&&(e=u,t=0),i>=t&&(t=i+1);!(o=a[t])&&++t<l;);return o}}function X(n,t,e){function r(){var t=this[o];t&&(this.removeEventListener(n,t,t.$),delete this[o])}function i(){var i=l(t,co(arguments));r.call(this),this.addEventListener(n,this[o]=i,i.$=e),i._=t}function u(){var t,e=new RegExp("^__on([^.]+)"+ao.requote(n)+"$");for(var r in this)if(t=r.match(e)){var i=this[r];this.removeEventListener(t[1],i,i.$),delete this[r]}}var o="__on"+n,a=n.indexOf("."),l=$;a>0&&(n=n.slice(0,a));var c=To.get(n);return c&&(n=c,l=B),a?t?i:r:t?b:u}function $(n,t){return function(e){var r=ao.event;ao.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{ao.event=r}}}function B(n,t){var e=$(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function W(e){var r=".dragsuppress-"+ ++Do,i="click"+r,u=ao.select(t(e)).on("touchmove"+r,S).on("dragstart"+r,S).on("selectstart"+r,S);if(null==Ro&&(Ro="onselectstart"in e?!1:x(e.style,"userSelect")),Ro){var o=n(e).style,a=o[Ro];o[Ro]="none"}return function(n){if(u.on(r,null),Ro&&(o[Ro]=a),n){var t=function(){u.on(i,null)};u.on(i,function(){S(),t()},!0),setTimeout(t,0)}}}function J(n,e){e.changedTouches&&(e=e.changedTouches[0]);var r=n.ownerSVGElement||n;if(r.createSVGPoint){var i=r.createSVGPoint();if(0>Po){var u=t(n);if(u.scrollX||u.scrollY){r=ao.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var o=r[0][0].getScreenCTM();Po=!(o.f||o.e),r.remove()}}return Po?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),i=i.matrixTransform(n.getScreenCTM().inverse()),[i.x,i.y]}var a=n.getBoundingClientRect();return[e.clientX-a.left-n.clientLeft,e.clientY-a.top-n.clientTop]}function G(){return ao.event.changedTouches[0].identifier}function K(n){return n>0?1:0>n?-1:0}function Q(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function nn(n){return n>1?0:-1>n?Fo:Math.acos(n)}function tn(n){return n>1?Io:-1>n?-Io:Math.asin(n)}function en(n){return((n=Math.exp(n))-1/n)/2}function rn(n){return((n=Math.exp(n))+1/n)/2}function un(n){return((n=Math.exp(2*n))-1)/(n+1)}function on(n){return(n=Math.sin(n/2))*n}function an(){}function ln(n,t,e){return this instanceof ln?(this.h=+n,this.s=+t,void(this.l=+e)):arguments.length<2?n instanceof ln?new ln(n.h,n.s,n.l):_n(""+n,wn,ln):new ln(n,t,e)}function cn(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?u+(o-u)*n/60:180>n?o:240>n?u+(o-u)*(240-n)/60:u}function i(n){return Math.round(255*r(n))}var u,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,u=2*e-o,new mn(i(n+120),i(n),i(n-120))}function fn(n,t,e){return this instanceof fn?(this.h=+n,this.c=+t,void(this.l=+e)):arguments.length<2?n instanceof fn?new fn(n.h,n.c,n.l):n instanceof hn?gn(n.l,n.a,n.b):gn((n=Sn((n=ao.rgb(n)).r,n.g,n.b)).l,n.a,n.b):new fn(n,t,e)}function sn(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),new hn(e,Math.cos(n*=Yo)*t,Math.sin(n)*t)}function hn(n,t,e){return this instanceof hn?(this.l=+n,this.a=+t,void(this.b=+e)):arguments.length<2?n instanceof hn?new hn(n.l,n.a,n.b):n instanceof fn?sn(n.h,n.c,n.l):Sn((n=mn(n)).r,n.g,n.b):new hn(n,t,e)}function pn(n,t,e){var r=(n+16)/116,i=r+t/500,u=r-e/200;return i=vn(i)*na,r=vn(r)*ta,u=vn(u)*ea,new mn(yn(3.2404542*i-1.5371385*r-.4985314*u),yn(-.969266*i+1.8760108*r+.041556*u),yn(.0556434*i-.2040259*r+1.0572252*u))}function gn(n,t,e){return n>0?new fn(Math.atan2(e,t)*Zo,Math.sqrt(t*t+e*e),n):new fn(NaN,NaN,n)}function vn(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function dn(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function yn(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function mn(n,t,e){return this instanceof mn?(this.r=~~n,this.g=~~t,void(this.b=~~e)):arguments.length<2?n instanceof mn?new mn(n.r,n.g,n.b):_n(""+n,mn,cn):new mn(n,t,e)}function Mn(n){return new mn(n>>16,n>>8&255,255&n)}function xn(n){return Mn(n)+""}function bn(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function _n(n,t,e){var r,i,u,o=0,a=0,l=0;if(r=/([a-z]+)\((.*)\)/.exec(n=n.toLowerCase()))switch(i=r[2].split(","),r[1]){case"hsl":return e(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return t(Nn(i[0]),Nn(i[1]),Nn(i[2]))}return(u=ua.get(n))?t(u.r,u.g,u.b):(null==n||"#"!==n.charAt(0)||isNaN(u=parseInt(n.slice(1),16))||(4===n.length?(o=(3840&u)>>4,o=o>>4|o,a=240&u,a=a>>4|a,l=15&u,l=l<<4|l):7===n.length&&(o=(16711680&u)>>16,a=(65280&u)>>8,l=255&u)),t(o,a,l))}function wn(n,t,e){var r,i,u=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-u,l=(o+u)/2;return a?(i=.5>l?a/(o+u):a/(2-o-u),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=NaN,i=l>0&&1>l?0:r),new ln(r,i,l)}function Sn(n,t,e){n=kn(n),t=kn(t),e=kn(e);var r=dn((.4124564*n+.3575761*t+.1804375*e)/na),i=dn((.2126729*n+.7151522*t+.072175*e)/ta),u=dn((.0193339*n+.119192*t+.9503041*e)/ea);return hn(116*i-16,500*(r-i),200*(i-u))}function kn(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function Nn(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function En(n){return"function"==typeof n?n:function(){return n}}function An(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),Cn(t,e,n,r)}}function Cn(n,t,e,r){function i(){var n,t=l.status;if(!t&&Ln(l)||t>=200&&300>t||304===t){try{n=e.call(u,l)}catch(r){return void o.error.call(u,r)}o.load.call(u,n)}else o.error.call(u,l)}var u={},o=ao.dispatch("beforesend","progress","load","error"),a={},l=new XMLHttpRequest,c=null;return!this.XDomainRequest||"withCredentials"in l||!/^(http(s)?:)?\/\//.test(n)||(l=new XDomainRequest),"onload"in l?l.onload=l.onerror=i:l.onreadystatechange=function(){l.readyState>3&&i()},l.onprogress=function(n){var t=ao.event;ao.event=n;try{o.progress.call(u,l)}finally{ao.event=t}},u.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",u)},u.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",u):t},u.responseType=function(n){return arguments.length?(c=n,u):c},u.response=function(n){return e=n,u},["get","post"].forEach(function(n){u[n]=function(){return u.send.apply(u,[n].concat(co(arguments)))}}),u.send=function(e,r,i){if(2===arguments.length&&"function"==typeof r&&(i=r,r=null),l.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),l.setRequestHeader)for(var f in a)l.setRequestHeader(f,a[f]);return null!=t&&l.overrideMimeType&&l.overrideMimeType(t),null!=c&&(l.responseType=c),null!=i&&u.on("error",i).on("load",function(n){i(null,n)}),o.beforesend.call(u,l),l.send(null==r?null:r),u},u.abort=function(){return l.abort(),u},ao.rebind(u,o,"on"),null==r?u:u.get(zn(r))}function zn(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function Ln(n){var t=n.responseType;return t&&"text"!==t?n.response:n.responseText}function qn(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var i=e+t,u={c:n,t:i,n:null};return aa?aa.n=u:oa=u,aa=u,la||(ca=clearTimeout(ca),la=1,fa(Tn)),u}function Tn(){var n=Rn(),t=Dn()-n;t>24?(isFinite(t)&&(clearTimeout(ca),ca=setTimeout(Tn,t)),la=0):(la=1,fa(Tn))}function Rn(){for(var n=Date.now(),t=oa;t;)n>=t.t&&t.c(n-t.t)&&(t.c=null),t=t.n;return n}function Dn(){for(var n,t=oa,e=1/0;t;)t.c?(t.t<e&&(e=t.t),t=(n=t).n):t=n?n.n=t.n:oa=t.n;return aa=n,e}function Pn(n,t){return t-(n?Math.ceil(Math.log(n)/Math.LN10):1)}function Un(n,t){var e=Math.pow(10,3*xo(8-t));return{scale:t>8?function(n){return n/e}:function(n){return n*e},symbol:n}}function jn(n){var t=n.decimal,e=n.thousands,r=n.grouping,i=n.currency,u=r&&e?function(n,t){for(var i=n.length,u=[],o=0,a=r[0],l=0;i>0&&a>0&&(l+a+1>t&&(a=Math.max(1,t-l)),u.push(n.substring(i-=a,i+a)),!((l+=a+1)>t));)a=r[o=(o+1)%r.length];return u.reverse().join(e)}:m;return function(n){var e=ha.exec(n),r=e[1]||" ",o=e[2]||">",a=e[3]||"-",l=e[4]||"",c=e[5],f=+e[6],s=e[7],h=e[8],p=e[9],g=1,v="",d="",y=!1,m=!0;switch(h&&(h=+h.substring(1)),(c||"0"===r&&"="===o)&&(c=r="0",o="="),p){case"n":s=!0,p="g";break;case"%":g=100,d="%",p="f";break;case"p":g=100,d="%",p="r";break;case"b":case"o":case"x":case"X":"#"===l&&(v="0"+p.toLowerCase());case"c":m=!1;case"d":y=!0,h=0;break;case"s":g=-1,p="r"}"$"===l&&(v=i[0],d=i[1]),"r"!=p||h||(p="g"),null!=h&&("g"==p?h=Math.max(1,Math.min(21,h)):"e"!=p&&"f"!=p||(h=Math.max(0,Math.min(20,h)))),p=pa.get(p)||Fn;var M=c&&s;return function(n){var e=d;if(y&&n%1)return"";var i=0>n||0===n&&0>1/n?(n=-n,"-"):"-"===a?"":a;if(0>g){var l=ao.formatPrefix(n,h);n=l.scale(n),e=l.symbol+d}else n*=g;n=p(n,h);var x,b,_=n.lastIndexOf(".");if(0>_){var w=m?n.lastIndexOf("e"):-1;0>w?(x=n,b=""):(x=n.substring(0,w),b=n.substring(w))}else x=n.substring(0,_),b=t+n.substring(_+1);!c&&s&&(x=u(x,1/0));var S=v.length+x.length+b.length+(M?0:i.length),k=f>S?new Array(S=f-S+1).join(r):"";return M&&(x=u(k+x,k.length?f-b.length:1/0)),i+=v,n=x+b,("<"===o?i+n+k:">"===o?k+i+n:"^"===o?k.substring(0,S>>=1)+i+n+k.substring(S):i+(M?n:k+n))+e}}}function Fn(n){return n+""}function Hn(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function On(n,t,e){function r(t){var e=n(t),r=u(e,1);return r-t>t-e?e:r}function i(e){return t(e=n(new va(e-1)),1),e}function u(n,e){return t(n=new va(+n),e),n}function o(n,r,u){var o=i(n),a=[];if(u>1)for(;r>o;)e(o)%u||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{va=Hn;var r=new Hn;return r._=n,o(r,t,e)}finally{va=Date}}n.floor=n,n.round=r,n.ceil=i,n.offset=u,n.range=o;var l=n.utc=In(n);return l.floor=l,l.round=In(r),l.ceil=In(i),l.offset=In(u),l.range=a,n}function In(n){return function(t,e){try{va=Hn;var r=new Hn;return r._=t,n(r,e)._}finally{va=Date}}}function Yn(n){function t(n){function t(t){for(var e,i,u,o=[],a=-1,l=0;++a<r;)37===n.charCodeAt(a)&&(o.push(n.slice(l,a)),null!=(i=ya[e=n.charAt(++a)])&&(e=n.charAt(++a)),(u=A[e])&&(e=u(t,null==i?"e"===e?" ":"0":i)),o.push(e),l=a+1);return o.push(n.slice(l,a)),o.join("")}var r=n.length;return t.parse=function(t){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},i=e(r,n,t,0);if(i!=t.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var u=null!=r.Z&&va!==Hn,o=new(u?Hn:va);return"j"in r?o.setFullYear(r.y,0,r.j):"W"in r||"U"in r?("w"in r||(r.w="W"in r?1:0),o.setFullYear(r.y,0,1),o.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(o.getDay()+5)%7:r.w+7*r.U-(o.getDay()+6)%7)):o.setFullYear(r.y,r.m,r.d),o.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),u?o._:o},t.toString=function(){return n},t}function e(n,t,e,r){for(var i,u,o,a=0,l=t.length,c=e.length;l>a;){if(r>=c)return-1;if(i=t.charCodeAt(a++),37===i){if(o=t.charAt(a++),u=C[o in ya?t.charAt(a++):o],!u||(r=u(n,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}function r(n,t,e){_.lastIndex=0;var r=_.exec(t.slice(e));return r?(n.w=w.get(r[0].toLowerCase()),e+r[0].length):-1}function i(n,t,e){x.lastIndex=0;var r=x.exec(t.slice(e));return r?(n.w=b.get(r[0].toLowerCase()),e+r[0].length):-1}function u(n,t,e){N.lastIndex=0;var r=N.exec(t.slice(e));return r?(n.m=E.get(r[0].toLowerCase()),e+r[0].length):-1}function o(n,t,e){S.lastIndex=0;var r=S.exec(t.slice(e));return r?(n.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(n,t,r){return e(n,A.c.toString(),t,r)}function l(n,t,r){return e(n,A.x.toString(),t,r)}function c(n,t,r){return e(n,A.X.toString(),t,r)}function f(n,t,e){var r=M.get(t.slice(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}var s=n.dateTime,h=n.date,p=n.time,g=n.periods,v=n.days,d=n.shortDays,y=n.months,m=n.shortMonths;t.utc=function(n){function e(n){try{va=Hn;var t=new va;return t._=n,r(t)}finally{va=Date}}var r=t(n);return e.parse=function(n){try{va=Hn;var t=r.parse(n);return t&&t._}finally{va=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=ct;var M=ao.map(),x=Vn(v),b=Xn(v),_=Vn(d),w=Xn(d),S=Vn(y),k=Xn(y),N=Vn(m),E=Xn(m);g.forEach(function(n,t){M.set(n.toLowerCase(),t)});var A={a:function(n){return d[n.getDay()]},A:function(n){return v[n.getDay()]},b:function(n){return m[n.getMonth()]},B:function(n){return y[n.getMonth()]},c:t(s),d:function(n,t){return Zn(n.getDate(),t,2)},e:function(n,t){return Zn(n.getDate(),t,2)},H:function(n,t){return Zn(n.getHours(),t,2)},I:function(n,t){return Zn(n.getHours()%12||12,t,2)},j:function(n,t){return Zn(1+ga.dayOfYear(n),t,3)},L:function(n,t){return Zn(n.getMilliseconds(),t,3)},m:function(n,t){return Zn(n.getMonth()+1,t,2)},M:function(n,t){return Zn(n.getMinutes(),t,2)},p:function(n){return g[+(n.getHours()>=12)]},S:function(n,t){return Zn(n.getSeconds(),t,2)},U:function(n,t){return Zn(ga.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Zn(ga.mondayOfYear(n),t,2)},x:t(h),X:t(p),y:function(n,t){return Zn(n.getFullYear()%100,t,2)},Y:function(n,t){return Zn(n.getFullYear()%1e4,t,4)},Z:at,"%":function(){return"%"}},C={a:r,A:i,b:u,B:o,c:a,d:tt,e:tt,H:rt,I:rt,j:et,L:ot,m:nt,M:it,p:f,S:ut,U:Bn,w:$n,W:Wn,x:l,X:c,y:Gn,Y:Jn,Z:Kn,"%":lt};return t}function Zn(n,t,e){var r=0>n?"-":"",i=(r?-n:n)+"",u=i.length;return r+(e>u?new Array(e-u+1).join(t)+i:i)}function Vn(n){return new RegExp("^(?:"+n.map(ao.requote).join("|")+")","i")}function Xn(n){for(var t=new c,e=-1,r=n.length;++e<r;)t.set(n[e].toLowerCase(),e);return t}function $n(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+1));return r?(n.w=+r[0],e+r[0].length):-1}function Bn(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e));return r?(n.U=+r[0],e+r[0].length):-1}function Wn(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e));return r?(n.W=+r[0],e+r[0].length):-1}function Jn(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+4));return r?(n.y=+r[0],e+r[0].length):-1}function Gn(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.y=Qn(+r[0]),e+r[0].length):-1}function Kn(n,t,e){return/^[+-]\d{4}$/.test(t=t.slice(e,e+5))?(n.Z=-t,e+5):-1}function Qn(n){return n+(n>68?1900:2e3)}function nt(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function tt(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function et(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function rt(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function it(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function ut(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function ot(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function at(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=xo(t)/60|0,i=xo(t)%60;return e+Zn(r,"0",2)+Zn(i,"0",2)}function lt(n,t,e){Ma.lastIndex=0;var r=Ma.exec(t.slice(e,e+1));return r?e+r[0].length:-1}function ct(n){for(var t=n.length,e=-1;++e<t;)n[e][0]=this(n[e][0]);return function(t){for(var e=0,r=n[e];!r[1](t);)r=n[++e];return r[0](t)}}function ft(){}function st(n,t,e){var r=e.s=n+t,i=r-n,u=r-i;e.t=n-u+(t-i)}function ht(n,t){n&&wa.hasOwnProperty(n.type)&&wa[n.type](n,t)}function pt(n,t,e){var r,i=-1,u=n.length-e;for(t.lineStart();++i<u;)r=n[i],t.point(r[0],r[1],r[2]);t.lineEnd()}function gt(n,t){var e=-1,r=n.length;for(t.polygonStart();++e<r;)pt(n[e],t,1);t.polygonEnd()}function vt(){function n(n,t){n*=Yo,t=t*Yo/2+Fo/4;var e=n-r,o=e>=0?1:-1,a=o*e,l=Math.cos(t),c=Math.sin(t),f=u*c,s=i*l+f*Math.cos(a),h=f*o*Math.sin(a);ka.add(Math.atan2(h,s)),r=n,i=l,u=c}var t,e,r,i,u;Na.point=function(o,a){Na.point=n,r=(t=o)*Yo,i=Math.cos(a=(e=a)*Yo/2+Fo/4),u=Math.sin(a)},Na.lineEnd=function(){n(t,e)}}function dt(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function yt(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function mt(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function Mt(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function xt(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function bt(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function _t(n){return[Math.atan2(n[1],n[0]),tn(n[2])]}function wt(n,t){return xo(n[0]-t[0])<Uo&&xo(n[1]-t[1])<Uo}function St(n,t){n*=Yo;var e=Math.cos(t*=Yo);kt(e*Math.cos(n),e*Math.sin(n),Math.sin(t))}function kt(n,t,e){++Ea,Ca+=(n-Ca)/Ea,za+=(t-za)/Ea,La+=(e-La)/Ea}function Nt(){function n(n,i){n*=Yo;var u=Math.cos(i*=Yo),o=u*Math.cos(n),a=u*Math.sin(n),l=Math.sin(i),c=Math.atan2(Math.sqrt((c=e*l-r*a)*c+(c=r*o-t*l)*c+(c=t*a-e*o)*c),t*o+e*a+r*l);Aa+=c,qa+=c*(t+(t=o)),Ta+=c*(e+(e=a)),Ra+=c*(r+(r=l)),kt(t,e,r)}var t,e,r;ja.point=function(i,u){i*=Yo;var o=Math.cos(u*=Yo);t=o*Math.cos(i),e=o*Math.sin(i),r=Math.sin(u),ja.point=n,kt(t,e,r)}}function Et(){ja.point=St}function At(){function n(n,t){n*=Yo;var e=Math.cos(t*=Yo),o=e*Math.cos(n),a=e*Math.sin(n),l=Math.sin(t),c=i*l-u*a,f=u*o-r*l,s=r*a-i*o,h=Math.sqrt(c*c+f*f+s*s),p=r*o+i*a+u*l,g=h&&-nn(p)/h,v=Math.atan2(h,p);Da+=g*c,Pa+=g*f,Ua+=g*s,Aa+=v,qa+=v*(r+(r=o)),Ta+=v*(i+(i=a)),Ra+=v*(u+(u=l)),kt(r,i,u)}var t,e,r,i,u;ja.point=function(o,a){t=o,e=a,ja.point=n,o*=Yo;var l=Math.cos(a*=Yo);r=l*Math.cos(o),i=l*Math.sin(o),u=Math.sin(a),kt(r,i,u)},ja.lineEnd=function(){n(t,e),ja.lineEnd=Et,ja.point=St}}function Ct(n,t){function e(e,r){return e=n(e,r),t(e[0],e[1])}return n.invert&&t.invert&&(e.invert=function(e,r){return e=t.invert(e,r),e&&n.invert(e[0],e[1])}),e}function zt(){return!0}function Lt(n,t,e,r,i){var u=[],o=[];if(n.forEach(function(n){if(!((t=n.length-1)<=0)){var t,e=n[0],r=n[t];if(wt(e,r)){i.lineStart();for(var a=0;t>a;++a)i.point((e=n[a])[0],e[1]);return void i.lineEnd()}var l=new Tt(e,n,null,!0),c=new Tt(e,null,l,!1);l.o=c,u.push(l),o.push(c),l=new Tt(r,n,null,!1),c=new Tt(r,null,l,!0),l.o=c,u.push(l),o.push(c)}}),o.sort(t),qt(u),qt(o),u.length){for(var a=0,l=e,c=o.length;c>a;++a)o[a].e=l=!l;for(var f,s,h=u[0];;){for(var p=h,g=!0;p.v;)if((p=p.n)===h)return;f=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(g)for(var a=0,c=f.length;c>a;++a)i.point((s=f[a])[0],s[1]);else r(p.x,p.n.x,1,i);p=p.n}else{if(g){f=p.p.z;for(var a=f.length-1;a>=0;--a)i.point((s=f[a])[0],s[1])}else r(p.x,p.p.x,-1,i);p=p.p}p=p.o,f=p.z,g=!g}while(!p.v);i.lineEnd()}}}function qt(n){if(t=n.length){for(var t,e,r=0,i=n[0];++r<t;)i.n=e=n[r],e.p=i,i=e;i.n=e=n[0],e.p=i}}function Tt(n,t,e,r){this.x=n,this.z=t,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function Rt(n,t,e,r){return function(i,u){function o(t,e){var r=i(t,e);n(t=r[0],e=r[1])&&u.point(t,e)}function a(n,t){var e=i(n,t);d.point(e[0],e[1])}function l(){m.point=a,d.lineStart()}function c(){m.point=o,d.lineEnd()}function f(n,t){v.push([n,t]);var e=i(n,t);x.point(e[0],e[1])}function s(){x.lineStart(),v=[]}function h(){f(v[0][0],v[0][1]),x.lineEnd();var n,t=x.clean(),e=M.buffer(),r=e.length;if(v.pop(),g.push(v),v=null,r)if(1&t){n=e[0];var i,r=n.length-1,o=-1;if(r>0){for(b||(u.polygonStart(),b=!0),u.lineStart();++o<r;)u.point((i=n[o])[0],i[1]);u.lineEnd()}}else r>1&&2&t&&e.push(e.pop().concat(e.shift())),p.push(e.filter(Dt))}var p,g,v,d=t(u),y=i.invert(r[0],r[1]),m={point:o,lineStart:l,lineEnd:c,polygonStart:function(){m.point=f,m.lineStart=s,m.lineEnd=h,p=[],g=[]},polygonEnd:function(){m.point=o,m.lineStart=l,m.lineEnd=c,p=ao.merge(p);var n=Ot(y,g);p.length?(b||(u.polygonStart(),b=!0),Lt(p,Ut,n,e,u)):n&&(b||(u.polygonStart(),b=!0),u.lineStart(),e(null,null,1,u),u.lineEnd()),b&&(u.polygonEnd(),b=!1),p=g=null},sphere:function(){u.polygonStart(),u.lineStart(),e(null,null,1,u),u.lineEnd(),u.polygonEnd()}},M=Pt(),x=t(M),b=!1;return m}}function Dt(n){return n.length>1}function Pt(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:b,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function Ut(n,t){return((n=n.x)[0]<0?n[1]-Io-Uo:Io-n[1])-((t=t.x)[0]<0?t[1]-Io-Uo:Io-t[1])}function jt(n){var t,e=NaN,r=NaN,i=NaN;return{lineStart:function(){n.lineStart(),t=1},point:function(u,o){var a=u>0?Fo:-Fo,l=xo(u-e);xo(l-Fo)<Uo?(n.point(e,r=(r+o)/2>0?Io:-Io),n.point(i,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(u,r),t=0):i!==a&&l>=Fo&&(xo(e-i)<Uo&&(e-=i*Uo),xo(u-a)<Uo&&(u-=a*Uo),r=Ft(e,r,u,o),n.point(i,r),n.lineEnd(),n.lineStart(),n.point(a,r),t=0),n.point(e=u,r=o),i=a},lineEnd:function(){n.lineEnd(),e=r=NaN},clean:function(){return 2-t}}}function Ft(n,t,e,r){var i,u,o=Math.sin(n-e);return xo(o)>Uo?Math.atan((Math.sin(t)*(u=Math.cos(r))*Math.sin(e)-Math.sin(r)*(i=Math.cos(t))*Math.sin(n))/(i*u*o)):(t+r)/2}function Ht(n,t,e,r){var i;if(null==n)i=e*Io,r.point(-Fo,i),r.point(0,i),r.point(Fo,i),r.point(Fo,0),r.point(Fo,-i),r.point(0,-i),r.point(-Fo,-i),r.point(-Fo,0),r.point(-Fo,i);else if(xo(n[0]-t[0])>Uo){var u=n[0]<t[0]?Fo:-Fo;i=e*u/2,r.point(-u,i),r.point(0,i),r.point(u,i)}else r.point(t[0],t[1])}function Ot(n,t){var e=n[0],r=n[1],i=[Math.sin(e),-Math.cos(e),0],u=0,o=0;ka.reset();for(var a=0,l=t.length;l>a;++a){var c=t[a],f=c.length;if(f)for(var s=c[0],h=s[0],p=s[1]/2+Fo/4,g=Math.sin(p),v=Math.cos(p),d=1;;){d===f&&(d=0),n=c[d];var y=n[0],m=n[1]/2+Fo/4,M=Math.sin(m),x=Math.cos(m),b=y-h,_=b>=0?1:-1,w=_*b,S=w>Fo,k=g*M;if(ka.add(Math.atan2(k*_*Math.sin(w),v*x+k*Math.cos(w))),u+=S?b+_*Ho:b,S^h>=e^y>=e){var N=mt(dt(s),dt(n));bt(N);var E=mt(i,N);bt(E);var A=(S^b>=0?-1:1)*tn(E[2]);(r>A||r===A&&(N[0]||N[1]))&&(o+=S^b>=0?1:-1)}if(!d++)break;h=y,g=M,v=x,s=n}}return(-Uo>u||Uo>u&&-Uo>ka)^1&o}function It(n){function t(n,t){return Math.cos(n)*Math.cos(t)>u}function e(n){var e,u,l,c,f;return{lineStart:function(){c=l=!1,f=1},point:function(s,h){var p,g=[s,h],v=t(s,h),d=o?v?0:i(s,h):v?i(s+(0>s?Fo:-Fo),h):0;if(!e&&(c=l=v)&&n.lineStart(),v!==l&&(p=r(e,g),(wt(e,p)||wt(g,p))&&(g[0]+=Uo,g[1]+=Uo,v=t(g[0],g[1]))),v!==l)f=0,v?(n.lineStart(),p=r(g,e),n.point(p[0],p[1])):(p=r(e,g),n.point(p[0],p[1]),n.lineEnd()),e=p;else if(a&&e&&o^v){var y;d&u||!(y=r(g,e,!0))||(f=0,o?(n.lineStart(),n.point(y[0][0],y[0][1]),n.point(y[1][0],y[1][1]),n.lineEnd()):(n.point(y[1][0],y[1][1]),n.lineEnd(),n.lineStart(),n.point(y[0][0],y[0][1])))}!v||e&&wt(e,g)||n.point(g[0],g[1]),e=g,l=v,u=d},lineEnd:function(){l&&n.lineEnd(),e=null},clean:function(){return f|(c&&l)<<1}}}function r(n,t,e){var r=dt(n),i=dt(t),o=[1,0,0],a=mt(r,i),l=yt(a,a),c=a[0],f=l-c*c;if(!f)return!e&&n;var s=u*l/f,h=-u*c/f,p=mt(o,a),g=xt(o,s),v=xt(a,h);Mt(g,v);var d=p,y=yt(g,d),m=yt(d,d),M=y*y-m*(yt(g,g)-1);if(!(0>M)){var x=Math.sqrt(M),b=xt(d,(-y-x)/m);if(Mt(b,g),b=_t(b),!e)return b;var _,w=n[0],S=t[0],k=n[1],N=t[1];w>S&&(_=w,w=S,S=_);var E=S-w,A=xo(E-Fo)<Uo,C=A||Uo>E;if(!A&&k>N&&(_=k,k=N,N=_),C?A?k+N>0^b[1]<(xo(b[0]-w)<Uo?k:N):k<=b[1]&&b[1]<=N:E>Fo^(w<=b[0]&&b[0]<=S)){var z=xt(d,(-y+x)/m);return Mt(z,g),[b,_t(z)]}}}function i(t,e){var r=o?n:Fo-n,i=0;return-r>t?i|=1:t>r&&(i|=2),-r>e?i|=4:e>r&&(i|=8),i}var u=Math.cos(n),o=u>0,a=xo(u)>Uo,l=ve(n,6*Yo);return Rt(t,e,l,o?[0,-n]:[-Fo,n-Fo])}function Yt(n,t,e,r){return function(i){var u,o=i.a,a=i.b,l=o.x,c=o.y,f=a.x,s=a.y,h=0,p=1,g=f-l,v=s-c;if(u=n-l,g||!(u>0)){if(u/=g,0>g){if(h>u)return;p>u&&(p=u)}else if(g>0){if(u>p)return;u>h&&(h=u)}if(u=e-l,g||!(0>u)){if(u/=g,0>g){if(u>p)return;u>h&&(h=u)}else if(g>0){if(h>u)return;p>u&&(p=u)}if(u=t-c,v||!(u>0)){if(u/=v,0>v){if(h>u)return;p>u&&(p=u)}else if(v>0){if(u>p)return;u>h&&(h=u)}if(u=r-c,v||!(0>u)){if(u/=v,0>v){if(u>p)return;u>h&&(h=u)}else if(v>0){if(h>u)return;p>u&&(p=u)}return h>0&&(i.a={x:l+h*g,y:c+h*v}),1>p&&(i.b={x:l+p*g,y:c+p*v}),i}}}}}}function Zt(n,t,e,r){function i(r,i){return xo(r[0]-n)<Uo?i>0?0:3:xo(r[0]-e)<Uo?i>0?2:1:xo(r[1]-t)<Uo?i>0?1:0:i>0?3:2}function u(n,t){return o(n.x,t.x)}function o(n,t){var e=i(n,1),r=i(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(a){function l(n){for(var t=0,e=d.length,r=n[1],i=0;e>i;++i)for(var u,o=1,a=d[i],l=a.length,c=a[0];l>o;++o)u=a[o],c[1]<=r?u[1]>r&&Q(c,u,n)>0&&++t:u[1]<=r&&Q(c,u,n)<0&&--t,c=u;return 0!==t}function c(u,a,l,c){var f=0,s=0;if(null==u||(f=i(u,l))!==(s=i(a,l))||o(u,a)<0^l>0){do c.point(0===f||3===f?n:e,f>1?r:t);while((f=(f+l+4)%4)!==s)}else c.point(a[0],a[1])}function f(i,u){return i>=n&&e>=i&&u>=t&&r>=u}function s(n,t){f(n,t)&&a.point(n,t)}function h(){C.point=g,d&&d.push(y=[]),S=!0,w=!1,b=_=NaN}function p(){v&&(g(m,M),x&&w&&E.rejoin(),v.push(E.buffer())),C.point=s,w&&a.lineEnd()}function g(n,t){n=Math.max(-Ha,Math.min(Ha,n)),t=Math.max(-Ha,Math.min(Ha,t));var e=f(n,t);if(d&&y.push([n,t]),S)m=n,M=t,x=e,S=!1,e&&(a.lineStart(),a.point(n,t));else if(e&&w)a.point(n,t);else{var r={a:{x:b,y:_},b:{x:n,y:t}};A(r)?(w||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),e||a.lineEnd(),k=!1):e&&(a.lineStart(),a.point(n,t),k=!1)}b=n,_=t,w=e}var v,d,y,m,M,x,b,_,w,S,k,N=a,E=Pt(),A=Yt(n,t,e,r),C={point:s,lineStart:h,lineEnd:p,polygonStart:function(){a=E,v=[],d=[],k=!0},polygonEnd:function(){a=N,v=ao.merge(v);var t=l([n,r]),e=k&&t,i=v.length;(e||i)&&(a.polygonStart(),e&&(a.lineStart(),c(null,null,1,a),a.lineEnd()),i&&Lt(v,u,t,c,a),a.polygonEnd()),v=d=y=null}};return C}}function Vt(n){var t=0,e=Fo/3,r=ae(n),i=r(t,e);return i.parallels=function(n){return arguments.length?r(t=n[0]*Fo/180,e=n[1]*Fo/180):[t/Fo*180,e/Fo*180]},i}function Xt(n,t){function e(n,t){var e=Math.sqrt(u-2*i*Math.sin(t))/i;return[e*Math.sin(n*=i),o-e*Math.cos(n)]}var r=Math.sin(n),i=(r+Math.sin(t))/2,u=1+r*(2*i-r),o=Math.sqrt(u)/i;return e.invert=function(n,t){var e=o-t;return[Math.atan2(n,e)/i,tn((u-(n*n+e*e)*i*i)/(2*i))]},e}function $t(){function n(n,t){Ia+=i*n-r*t,r=n,i=t}var t,e,r,i;$a.point=function(u,o){$a.point=n,t=r=u,e=i=o},$a.lineEnd=function(){n(t,e)}}function Bt(n,t){Ya>n&&(Ya=n),n>Va&&(Va=n),Za>t&&(Za=t),t>Xa&&(Xa=t)}function Wt(){function n(n,t){o.push("M",n,",",t,u)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function i(){o.push("Z")}var u=Jt(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return u=Jt(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function Jt(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function Gt(n,t){Ca+=n,za+=t,++La}function Kt(){function n(n,r){var i=n-t,u=r-e,o=Math.sqrt(i*i+u*u);qa+=o*(t+n)/2,Ta+=o*(e+r)/2,Ra+=o,Gt(t=n,e=r)}var t,e;Wa.point=function(r,i){Wa.point=n,Gt(t=r,e=i)}}function Qt(){Wa.point=Gt}function ne(){function n(n,t){var e=n-r,u=t-i,o=Math.sqrt(e*e+u*u);qa+=o*(r+n)/2,Ta+=o*(i+t)/2,Ra+=o,o=i*n-r*t,Da+=o*(r+n),Pa+=o*(i+t),Ua+=3*o,Gt(r=n,i=t)}var t,e,r,i;Wa.point=function(u,o){Wa.point=n,Gt(t=r=u,e=i=o)},Wa.lineEnd=function(){n(t,e)}}function te(n){function t(t,e){n.moveTo(t+o,e),n.arc(t,e,o,0,Ho)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function i(){a.point=t}function u(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:i,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=i,a.point=t},pointRadius:function(n){return o=n,a},result:b};return a}function ee(n){function t(n){return(a?r:e)(n)}function e(t){return ue(t,function(e,r){e=n(e,r),t.point(e[0],e[1])})}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){M=NaN,S.point=u,t.lineStart()}function u(e,r){var u=dt([e,r]),o=n(e,r);i(M,x,m,b,_,w,M=o[0],x=o[1],m=e,b=u[0],_=u[1],w=u[2],a,t),t.point(M,x)}function o(){S.point=e,t.lineEnd()}function l(){ +r(),S.point=c,S.lineEnd=f}function c(n,t){u(s=n,h=t),p=M,g=x,v=b,d=_,y=w,S.point=u}function f(){i(M,x,m,b,_,w,p,g,s,v,d,y,a,t),S.lineEnd=o,o()}var s,h,p,g,v,d,y,m,M,x,b,_,w,S={point:e,lineStart:r,lineEnd:o,polygonStart:function(){t.polygonStart(),S.lineStart=l},polygonEnd:function(){t.polygonEnd(),S.lineStart=r}};return S}function i(t,e,r,a,l,c,f,s,h,p,g,v,d,y){var m=f-t,M=s-e,x=m*m+M*M;if(x>4*u&&d--){var b=a+p,_=l+g,w=c+v,S=Math.sqrt(b*b+_*_+w*w),k=Math.asin(w/=S),N=xo(xo(w)-1)<Uo||xo(r-h)<Uo?(r+h)/2:Math.atan2(_,b),E=n(N,k),A=E[0],C=E[1],z=A-t,L=C-e,q=M*z-m*L;(q*q/x>u||xo((m*z+M*L)/x-.5)>.3||o>a*p+l*g+c*v)&&(i(t,e,r,a,l,c,A,C,N,b/=S,_/=S,w,d,y),y.point(A,C),i(A,C,N,b,_,w,f,s,h,p,g,v,d,y))}}var u=.5,o=Math.cos(30*Yo),a=16;return t.precision=function(n){return arguments.length?(a=(u=n*n)>0&&16,t):Math.sqrt(u)},t}function re(n){var t=ee(function(t,e){return n([t*Zo,e*Zo])});return function(n){return le(t(n))}}function ie(n){this.stream=n}function ue(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function oe(n){return ae(function(){return n})()}function ae(n){function t(n){return n=a(n[0]*Yo,n[1]*Yo),[n[0]*h+l,c-n[1]*h]}function e(n){return n=a.invert((n[0]-l)/h,(c-n[1])/h),n&&[n[0]*Zo,n[1]*Zo]}function r(){a=Ct(o=se(y,M,x),u);var n=u(v,d);return l=p-n[0]*h,c=g+n[1]*h,i()}function i(){return f&&(f.valid=!1,f=null),t}var u,o,a,l,c,f,s=ee(function(n,t){return n=u(n,t),[n[0]*h+l,c-n[1]*h]}),h=150,p=480,g=250,v=0,d=0,y=0,M=0,x=0,b=Fa,_=m,w=null,S=null;return t.stream=function(n){return f&&(f.valid=!1),f=le(b(o,s(_(n)))),f.valid=!0,f},t.clipAngle=function(n){return arguments.length?(b=null==n?(w=n,Fa):It((w=+n)*Yo),i()):w},t.clipExtent=function(n){return arguments.length?(S=n,_=n?Zt(n[0][0],n[0][1],n[1][0],n[1][1]):m,i()):S},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(p=+n[0],g=+n[1],r()):[p,g]},t.center=function(n){return arguments.length?(v=n[0]%360*Yo,d=n[1]%360*Yo,r()):[v*Zo,d*Zo]},t.rotate=function(n){return arguments.length?(y=n[0]%360*Yo,M=n[1]%360*Yo,x=n.length>2?n[2]%360*Yo:0,r()):[y*Zo,M*Zo,x*Zo]},ao.rebind(t,s,"precision"),function(){return u=n.apply(this,arguments),t.invert=u.invert&&e,r()}}function le(n){return ue(n,function(t,e){n.point(t*Yo,e*Yo)})}function ce(n,t){return[n,t]}function fe(n,t){return[n>Fo?n-Ho:-Fo>n?n+Ho:n,t]}function se(n,t,e){return n?t||e?Ct(pe(n),ge(t,e)):pe(n):t||e?ge(t,e):fe}function he(n){return function(t,e){return t+=n,[t>Fo?t-Ho:-Fo>t?t+Ho:t,e]}}function pe(n){var t=he(n);return t.invert=he(-n),t}function ge(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,l=Math.sin(n)*e,c=Math.sin(t),f=c*r+a*i;return[Math.atan2(l*u-f*o,a*r-c*i),tn(f*u+l*o)]}var r=Math.cos(n),i=Math.sin(n),u=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,l=Math.sin(n)*e,c=Math.sin(t),f=c*u-l*o;return[Math.atan2(l*u+c*o,a*r+f*i),tn(f*r-a*i)]},e}function ve(n,t){var e=Math.cos(n),r=Math.sin(n);return function(i,u,o,a){var l=o*t;null!=i?(i=de(e,i),u=de(e,u),(o>0?u>i:i>u)&&(i+=o*Ho)):(i=n+o*Ho,u=n-.5*l);for(var c,f=i;o>0?f>u:u>f;f-=l)a.point((c=_t([e,-r*Math.cos(f),-r*Math.sin(f)]))[0],c[1])}}function de(n,t){var e=dt(t);e[0]-=n,bt(e);var r=nn(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Uo)%(2*Math.PI)}function ye(n,t,e){var r=ao.range(n,t-Uo,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function me(n,t,e){var r=ao.range(n,t-Uo,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function Me(n){return n.source}function xe(n){return n.target}function be(n,t,e,r){var i=Math.cos(t),u=Math.sin(t),o=Math.cos(r),a=Math.sin(r),l=i*Math.cos(n),c=i*Math.sin(n),f=o*Math.cos(e),s=o*Math.sin(e),h=2*Math.asin(Math.sqrt(on(r-t)+i*o*on(e-n))),p=1/Math.sin(h),g=h?function(n){var t=Math.sin(n*=h)*p,e=Math.sin(h-n)*p,r=e*l+t*f,i=e*c+t*s,o=e*u+t*a;return[Math.atan2(i,r)*Zo,Math.atan2(o,Math.sqrt(r*r+i*i))*Zo]}:function(){return[n*Zo,t*Zo]};return g.distance=h,g}function _e(){function n(n,i){var u=Math.sin(i*=Yo),o=Math.cos(i),a=xo((n*=Yo)-t),l=Math.cos(a);Ja+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*u-e*o*l)*a),e*u+r*o*l),t=n,e=u,r=o}var t,e,r;Ga.point=function(i,u){t=i*Yo,e=Math.sin(u*=Yo),r=Math.cos(u),Ga.point=n},Ga.lineEnd=function(){Ga.point=Ga.lineEnd=b}}function we(n,t){function e(t,e){var r=Math.cos(t),i=Math.cos(e),u=n(r*i);return[u*i*Math.sin(t),u*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),i=t(r),u=Math.sin(i),o=Math.cos(i);return[Math.atan2(n*u,r*o),Math.asin(r&&e*u/r)]},e}function Se(n,t){function e(n,t){o>0?-Io+Uo>t&&(t=-Io+Uo):t>Io-Uo&&(t=Io-Uo);var e=o/Math.pow(i(t),u);return[e*Math.sin(u*n),o-e*Math.cos(u*n)]}var r=Math.cos(n),i=function(n){return Math.tan(Fo/4+n/2)},u=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(i(t)/i(n)),o=r*Math.pow(i(n),u)/u;return u?(e.invert=function(n,t){var e=o-t,r=K(u)*Math.sqrt(n*n+e*e);return[Math.atan2(n,e)/u,2*Math.atan(Math.pow(o/r,1/u))-Io]},e):Ne}function ke(n,t){function e(n,t){var e=u-t;return[e*Math.sin(i*n),u-e*Math.cos(i*n)]}var r=Math.cos(n),i=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),u=r/i+n;return xo(i)<Uo?ce:(e.invert=function(n,t){var e=u-t;return[Math.atan2(n,e)/i,u-K(i)*Math.sqrt(n*n+e*e)]},e)}function Ne(n,t){return[n,Math.log(Math.tan(Fo/4+t/2))]}function Ee(n){var t,e=oe(n),r=e.scale,i=e.translate,u=e.clipExtent;return e.scale=function(){var n=r.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.translate=function(){var n=i.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.clipExtent=function(n){var o=u.apply(e,arguments);if(o===e){if(t=null==n){var a=Fo*r(),l=i();u([[l[0]-a,l[1]-a],[l[0]+a,l[1]+a]])}}else t&&(o=null);return o},e.clipExtent(null)}function Ae(n,t){return[Math.log(Math.tan(Fo/4+t/2)),-n]}function Ce(n){return n[0]}function ze(n){return n[1]}function Le(n){for(var t=n.length,e=[0,1],r=2,i=2;t>i;i++){for(;r>1&&Q(n[e[r-2]],n[e[r-1]],n[i])<=0;)--r;e[r++]=i}return e.slice(0,r)}function qe(n,t){return n[0]-t[0]||n[1]-t[1]}function Te(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function Re(n,t,e,r){var i=n[0],u=e[0],o=t[0]-i,a=r[0]-u,l=n[1],c=e[1],f=t[1]-l,s=r[1]-c,h=(a*(l-c)-s*(i-u))/(s*o-a*f);return[i+h*o,l+h*f]}function De(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function Pe(){rr(this),this.edge=this.site=this.circle=null}function Ue(n){var t=cl.pop()||new Pe;return t.site=n,t}function je(n){Be(n),ol.remove(n),cl.push(n),rr(n)}function Fe(n){var t=n.circle,e=t.x,r=t.cy,i={x:e,y:r},u=n.P,o=n.N,a=[n];je(n);for(var l=u;l.circle&&xo(e-l.circle.x)<Uo&&xo(r-l.circle.cy)<Uo;)u=l.P,a.unshift(l),je(l),l=u;a.unshift(l),Be(l);for(var c=o;c.circle&&xo(e-c.circle.x)<Uo&&xo(r-c.circle.cy)<Uo;)o=c.N,a.push(c),je(c),c=o;a.push(c),Be(c);var f,s=a.length;for(f=1;s>f;++f)c=a[f],l=a[f-1],nr(c.edge,l.site,c.site,i);l=a[0],c=a[s-1],c.edge=Ke(l.site,c.site,null,i),$e(l),$e(c)}function He(n){for(var t,e,r,i,u=n.x,o=n.y,a=ol._;a;)if(r=Oe(a,o)-u,r>Uo)a=a.L;else{if(i=u-Ie(a,o),!(i>Uo)){r>-Uo?(t=a.P,e=a):i>-Uo?(t=a,e=a.N):t=e=a;break}if(!a.R){t=a;break}a=a.R}var l=Ue(n);if(ol.insert(t,l),t||e){if(t===e)return Be(t),e=Ue(t.site),ol.insert(l,e),l.edge=e.edge=Ke(t.site,l.site),$e(t),void $e(e);if(!e)return void(l.edge=Ke(t.site,l.site));Be(t),Be(e);var c=t.site,f=c.x,s=c.y,h=n.x-f,p=n.y-s,g=e.site,v=g.x-f,d=g.y-s,y=2*(h*d-p*v),m=h*h+p*p,M=v*v+d*d,x={x:(d*m-p*M)/y+f,y:(h*M-v*m)/y+s};nr(e.edge,c,g,x),l.edge=Ke(c,n,null,x),e.edge=Ke(n,g,null,x),$e(t),$e(e)}}function Oe(n,t){var e=n.site,r=e.x,i=e.y,u=i-t;if(!u)return r;var o=n.P;if(!o)return-(1/0);e=o.site;var a=e.x,l=e.y,c=l-t;if(!c)return a;var f=a-r,s=1/u-1/c,h=f/c;return s?(-h+Math.sqrt(h*h-2*s*(f*f/(-2*c)-l+c/2+i-u/2)))/s+r:(r+a)/2}function Ie(n,t){var e=n.N;if(e)return Oe(e,t);var r=n.site;return r.y===t?r.x:1/0}function Ye(n){this.site=n,this.edges=[]}function Ze(n){for(var t,e,r,i,u,o,a,l,c,f,s=n[0][0],h=n[1][0],p=n[0][1],g=n[1][1],v=ul,d=v.length;d--;)if(u=v[d],u&&u.prepare())for(a=u.edges,l=a.length,o=0;l>o;)f=a[o].end(),r=f.x,i=f.y,c=a[++o%l].start(),t=c.x,e=c.y,(xo(r-t)>Uo||xo(i-e)>Uo)&&(a.splice(o,0,new tr(Qe(u.site,f,xo(r-s)<Uo&&g-i>Uo?{x:s,y:xo(t-s)<Uo?e:g}:xo(i-g)<Uo&&h-r>Uo?{x:xo(e-g)<Uo?t:h,y:g}:xo(r-h)<Uo&&i-p>Uo?{x:h,y:xo(t-h)<Uo?e:p}:xo(i-p)<Uo&&r-s>Uo?{x:xo(e-p)<Uo?t:s,y:p}:null),u.site,null)),++l)}function Ve(n,t){return t.angle-n.angle}function Xe(){rr(this),this.x=this.y=this.arc=this.site=this.cy=null}function $e(n){var t=n.P,e=n.N;if(t&&e){var r=t.site,i=n.site,u=e.site;if(r!==u){var o=i.x,a=i.y,l=r.x-o,c=r.y-a,f=u.x-o,s=u.y-a,h=2*(l*s-c*f);if(!(h>=-jo)){var p=l*l+c*c,g=f*f+s*s,v=(s*p-c*g)/h,d=(l*g-f*p)/h,s=d+a,y=fl.pop()||new Xe;y.arc=n,y.site=i,y.x=v+o,y.y=s+Math.sqrt(v*v+d*d),y.cy=s,n.circle=y;for(var m=null,M=ll._;M;)if(y.y<M.y||y.y===M.y&&y.x<=M.x){if(!M.L){m=M.P;break}M=M.L}else{if(!M.R){m=M;break}M=M.R}ll.insert(m,y),m||(al=y)}}}}function Be(n){var t=n.circle;t&&(t.P||(al=t.N),ll.remove(t),fl.push(t),rr(t),n.circle=null)}function We(n){for(var t,e=il,r=Yt(n[0][0],n[0][1],n[1][0],n[1][1]),i=e.length;i--;)t=e[i],(!Je(t,n)||!r(t)||xo(t.a.x-t.b.x)<Uo&&xo(t.a.y-t.b.y)<Uo)&&(t.a=t.b=null,e.splice(i,1))}function Je(n,t){var e=n.b;if(e)return!0;var r,i,u=n.a,o=t[0][0],a=t[1][0],l=t[0][1],c=t[1][1],f=n.l,s=n.r,h=f.x,p=f.y,g=s.x,v=s.y,d=(h+g)/2,y=(p+v)/2;if(v===p){if(o>d||d>=a)return;if(h>g){if(u){if(u.y>=c)return}else u={x:d,y:l};e={x:d,y:c}}else{if(u){if(u.y<l)return}else u={x:d,y:c};e={x:d,y:l}}}else if(r=(h-g)/(v-p),i=y-r*d,-1>r||r>1)if(h>g){if(u){if(u.y>=c)return}else u={x:(l-i)/r,y:l};e={x:(c-i)/r,y:c}}else{if(u){if(u.y<l)return}else u={x:(c-i)/r,y:c};e={x:(l-i)/r,y:l}}else if(v>p){if(u){if(u.x>=a)return}else u={x:o,y:r*o+i};e={x:a,y:r*a+i}}else{if(u){if(u.x<o)return}else u={x:a,y:r*a+i};e={x:o,y:r*o+i}}return n.a=u,n.b=e,!0}function Ge(n,t){this.l=n,this.r=t,this.a=this.b=null}function Ke(n,t,e,r){var i=new Ge(n,t);return il.push(i),e&&nr(i,n,t,e),r&&nr(i,t,n,r),ul[n.i].edges.push(new tr(i,n,t)),ul[t.i].edges.push(new tr(i,t,n)),i}function Qe(n,t,e){var r=new Ge(n,null);return r.a=t,r.b=e,il.push(r),r}function nr(n,t,e,r){n.a||n.b?n.l===e?n.b=r:n.a=r:(n.a=r,n.l=t,n.r=e)}function tr(n,t,e){var r=n.a,i=n.b;this.edge=n,this.site=t,this.angle=e?Math.atan2(e.y-t.y,e.x-t.x):n.l===t?Math.atan2(i.x-r.x,r.y-i.y):Math.atan2(r.x-i.x,i.y-r.y)}function er(){this._=null}function rr(n){n.U=n.C=n.L=n.R=n.P=n.N=null}function ir(n,t){var e=t,r=t.R,i=e.U;i?i.L===e?i.L=r:i.R=r:n._=r,r.U=i,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function ur(n,t){var e=t,r=t.L,i=e.U;i?i.L===e?i.L=r:i.R=r:n._=r,r.U=i,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function or(n){for(;n.L;)n=n.L;return n}function ar(n,t){var e,r,i,u=n.sort(lr).pop();for(il=[],ul=new Array(n.length),ol=new er,ll=new er;;)if(i=al,u&&(!i||u.y<i.y||u.y===i.y&&u.x<i.x))u.x===e&&u.y===r||(ul[u.i]=new Ye(u),He(u),e=u.x,r=u.y),u=n.pop();else{if(!i)break;Fe(i.arc)}t&&(We(t),Ze(t));var o={cells:ul,edges:il};return ol=ll=il=ul=null,o}function lr(n,t){return t.y-n.y||t.x-n.x}function cr(n,t,e){return(n.x-e.x)*(t.y-n.y)-(n.x-t.x)*(e.y-n.y)}function fr(n){return n.x}function sr(n){return n.y}function hr(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function pr(n,t,e,r,i,u){if(!n(t,e,r,i,u)){var o=.5*(e+i),a=.5*(r+u),l=t.nodes;l[0]&&pr(n,l[0],e,r,o,a),l[1]&&pr(n,l[1],o,r,i,a),l[2]&&pr(n,l[2],e,a,o,u),l[3]&&pr(n,l[3],o,a,i,u)}}function gr(n,t,e,r,i,u,o){var a,l=1/0;return function c(n,f,s,h,p){if(!(f>u||s>o||r>h||i>p)){if(g=n.point){var g,v=t-n.x,d=e-n.y,y=v*v+d*d;if(l>y){var m=Math.sqrt(l=y);r=t-m,i=e-m,u=t+m,o=e+m,a=g}}for(var M=n.nodes,x=.5*(f+h),b=.5*(s+p),_=t>=x,w=e>=b,S=w<<1|_,k=S+4;k>S;++S)if(n=M[3&S])switch(3&S){case 0:c(n,f,s,x,b);break;case 1:c(n,x,s,h,b);break;case 2:c(n,f,b,x,p);break;case 3:c(n,x,b,h,p)}}}(n,r,i,u,o),a}function vr(n,t){n=ao.rgb(n),t=ao.rgb(t);var e=n.r,r=n.g,i=n.b,u=t.r-e,o=t.g-r,a=t.b-i;return function(n){return"#"+bn(Math.round(e+u*n))+bn(Math.round(r+o*n))+bn(Math.round(i+a*n))}}function dr(n,t){var e,r={},i={};for(e in n)e in t?r[e]=Mr(n[e],t[e]):i[e]=n[e];for(e in t)e in n||(i[e]=t[e]);return function(n){for(e in r)i[e]=r[e](n);return i}}function yr(n,t){return n=+n,t=+t,function(e){return n*(1-e)+t*e}}function mr(n,t){var e,r,i,u=hl.lastIndex=pl.lastIndex=0,o=-1,a=[],l=[];for(n+="",t+="";(e=hl.exec(n))&&(r=pl.exec(t));)(i=r.index)>u&&(i=t.slice(u,i),a[o]?a[o]+=i:a[++o]=i),(e=e[0])===(r=r[0])?a[o]?a[o]+=r:a[++o]=r:(a[++o]=null,l.push({i:o,x:yr(e,r)})),u=pl.lastIndex;return u<t.length&&(i=t.slice(u),a[o]?a[o]+=i:a[++o]=i),a.length<2?l[0]?(t=l[0].x,function(n){return t(n)+""}):function(){return t}:(t=l.length,function(n){for(var e,r=0;t>r;++r)a[(e=l[r]).i]=e.x(n);return a.join("")})}function Mr(n,t){for(var e,r=ao.interpolators.length;--r>=0&&!(e=ao.interpolators[r](n,t)););return e}function xr(n,t){var e,r=[],i=[],u=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(Mr(n[e],t[e]));for(;u>e;++e)i[e]=n[e];for(;o>e;++e)i[e]=t[e];return function(n){for(e=0;a>e;++e)i[e]=r[e](n);return i}}function br(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function _r(n){return function(t){return 1-n(1-t)}}function wr(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function Sr(n){return n*n}function kr(n){return n*n*n}function Nr(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function Er(n){return function(t){return Math.pow(t,n)}}function Ar(n){return 1-Math.cos(n*Io)}function Cr(n){return Math.pow(2,10*(n-1))}function zr(n){return 1-Math.sqrt(1-n*n)}function Lr(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/Ho*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*Ho/t)}}function qr(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function Tr(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Rr(n,t){n=ao.hcl(n),t=ao.hcl(t);var e=n.h,r=n.c,i=n.l,u=t.h-e,o=t.c-r,a=t.l-i;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(u)?(u=0,e=isNaN(e)?t.h:e):u>180?u-=360:-180>u&&(u+=360),function(n){return sn(e+u*n,r+o*n,i+a*n)+""}}function Dr(n,t){n=ao.hsl(n),t=ao.hsl(t);var e=n.h,r=n.s,i=n.l,u=t.h-e,o=t.s-r,a=t.l-i;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(u)?(u=0,e=isNaN(e)?t.h:e):u>180?u-=360:-180>u&&(u+=360),function(n){return cn(e+u*n,r+o*n,i+a*n)+""}}function Pr(n,t){n=ao.lab(n),t=ao.lab(t);var e=n.l,r=n.a,i=n.b,u=t.l-e,o=t.a-r,a=t.b-i;return function(n){return pn(e+u*n,r+o*n,i+a*n)+""}}function Ur(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function jr(n){var t=[n.a,n.b],e=[n.c,n.d],r=Hr(t),i=Fr(t,e),u=Hr(Or(e,t,-i))||0;t[0]*e[1]<e[0]*t[1]&&(t[0]*=-1,t[1]*=-1,r*=-1,i*=-1),this.rotate=(r?Math.atan2(t[1],t[0]):Math.atan2(-e[0],e[1]))*Zo,this.translate=[n.e,n.f],this.scale=[r,u],this.skew=u?Math.atan2(i,u)*Zo:0}function Fr(n,t){return n[0]*t[0]+n[1]*t[1]}function Hr(n){var t=Math.sqrt(Fr(n,n));return t&&(n[0]/=t,n[1]/=t),t}function Or(n,t,e){return n[0]+=e*t[0],n[1]+=e*t[1],n}function Ir(n){return n.length?n.pop()+",":""}function Yr(n,t,e,r){if(n[0]!==t[0]||n[1]!==t[1]){var i=e.push("translate(",null,",",null,")");r.push({i:i-4,x:yr(n[0],t[0])},{i:i-2,x:yr(n[1],t[1])})}else(t[0]||t[1])&&e.push("translate("+t+")")}function Zr(n,t,e,r){n!==t?(n-t>180?t+=360:t-n>180&&(n+=360),r.push({i:e.push(Ir(e)+"rotate(",null,")")-2,x:yr(n,t)})):t&&e.push(Ir(e)+"rotate("+t+")")}function Vr(n,t,e,r){n!==t?r.push({i:e.push(Ir(e)+"skewX(",null,")")-2,x:yr(n,t)}):t&&e.push(Ir(e)+"skewX("+t+")")}function Xr(n,t,e,r){if(n[0]!==t[0]||n[1]!==t[1]){var i=e.push(Ir(e)+"scale(",null,",",null,")");r.push({i:i-4,x:yr(n[0],t[0])},{i:i-2,x:yr(n[1],t[1])})}else 1===t[0]&&1===t[1]||e.push(Ir(e)+"scale("+t+")")}function $r(n,t){var e=[],r=[];return n=ao.transform(n),t=ao.transform(t),Yr(n.translate,t.translate,e,r),Zr(n.rotate,t.rotate,e,r),Vr(n.skew,t.skew,e,r),Xr(n.scale,t.scale,e,r),n=t=null,function(n){for(var t,i=-1,u=r.length;++i<u;)e[(t=r[i]).i]=t.x(n);return e.join("")}}function Br(n,t){return t=(t-=n=+n)||1/t,function(e){return(e-n)/t}}function Wr(n,t){return t=(t-=n=+n)||1/t,function(e){return Math.max(0,Math.min(1,(e-n)/t))}}function Jr(n){for(var t=n.source,e=n.target,r=Kr(t,e),i=[t];t!==r;)t=t.parent,i.push(t);for(var u=i.length;e!==r;)i.splice(u,0,e),e=e.parent;return i}function Gr(n){for(var t=[],e=n.parent;null!=e;)t.push(n),n=e,e=e.parent;return t.push(n),t}function Kr(n,t){if(n===t)return n;for(var e=Gr(n),r=Gr(t),i=e.pop(),u=r.pop(),o=null;i===u;)o=i,i=e.pop(),u=r.pop();return o}function Qr(n){n.fixed|=2}function ni(n){n.fixed&=-7}function ti(n){n.fixed|=4,n.px=n.x,n.py=n.y}function ei(n){n.fixed&=-5}function ri(n,t,e){var r=0,i=0;if(n.charge=0,!n.leaf)for(var u,o=n.nodes,a=o.length,l=-1;++l<a;)u=o[l],null!=u&&(ri(u,t,e),n.charge+=u.charge,r+=u.charge*u.cx,i+=u.charge*u.cy);if(n.point){n.leaf||(n.point.x+=Math.random()-.5,n.point.y+=Math.random()-.5);var c=t*e[n.point.index];n.charge+=n.pointCharge=c,r+=c*n.point.x,i+=c*n.point.y}n.cx=r/n.charge,n.cy=i/n.charge}function ii(n,t){return ao.rebind(n,t,"sort","children","value"),n.nodes=n,n.links=fi,n}function ui(n,t){for(var e=[n];null!=(n=e.pop());)if(t(n),(i=n.children)&&(r=i.length))for(var r,i;--r>=0;)e.push(i[r])}function oi(n,t){for(var e=[n],r=[];null!=(n=e.pop());)if(r.push(n),(u=n.children)&&(i=u.length))for(var i,u,o=-1;++o<i;)e.push(u[o]);for(;null!=(n=r.pop());)t(n)}function ai(n){return n.children}function li(n){return n.value}function ci(n,t){return t.value-n.value}function fi(n){return ao.merge(n.map(function(n){return(n.children||[]).map(function(t){return{source:n,target:t}})}))}function si(n){return n.x}function hi(n){return n.y}function pi(n,t,e){n.y0=t,n.y=e}function gi(n){return ao.range(n.length)}function vi(n){for(var t=-1,e=n[0].length,r=[];++t<e;)r[t]=0;return r}function di(n){for(var t,e=1,r=0,i=n[0][1],u=n.length;u>e;++e)(t=n[e][1])>i&&(r=e,i=t);return r}function yi(n){return n.reduce(mi,0)}function mi(n,t){return n+t[1]}function Mi(n,t){return xi(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function xi(n,t){for(var e=-1,r=+n[0],i=(n[1]-r)/t,u=[];++e<=t;)u[e]=i*e+r;return u}function bi(n){return[ao.min(n),ao.max(n)]}function _i(n,t){return n.value-t.value}function wi(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function Si(n,t){n._pack_next=t,t._pack_prev=n}function ki(n,t){var e=t.x-n.x,r=t.y-n.y,i=n.r+t.r;return.999*i*i>e*e+r*r}function Ni(n){function t(n){f=Math.min(n.x-n.r,f),s=Math.max(n.x+n.r,s),h=Math.min(n.y-n.r,h),p=Math.max(n.y+n.r,p)}if((e=n.children)&&(c=e.length)){var e,r,i,u,o,a,l,c,f=1/0,s=-(1/0),h=1/0,p=-(1/0);if(e.forEach(Ei),r=e[0],r.x=-r.r,r.y=0,t(r),c>1&&(i=e[1],i.x=i.r,i.y=0,t(i),c>2))for(u=e[2],zi(r,i,u),t(u),wi(r,u),r._pack_prev=u,wi(u,i),i=r._pack_next,o=3;c>o;o++){zi(r,i,u=e[o]);var g=0,v=1,d=1;for(a=i._pack_next;a!==i;a=a._pack_next,v++)if(ki(a,u)){g=1;break}if(1==g)for(l=r._pack_prev;l!==a._pack_prev&&!ki(l,u);l=l._pack_prev,d++);g?(d>v||v==d&&i.r<r.r?Si(r,i=a):Si(r=l,i),o--):(wi(r,u),i=u,t(u))}var y=(f+s)/2,m=(h+p)/2,M=0;for(o=0;c>o;o++)u=e[o],u.x-=y,u.y-=m,M=Math.max(M,u.r+Math.sqrt(u.x*u.x+u.y*u.y));n.r=M,e.forEach(Ai)}}function Ei(n){n._pack_next=n._pack_prev=n}function Ai(n){delete n._pack_next,delete n._pack_prev}function Ci(n,t,e,r){var i=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,i)for(var u=-1,o=i.length;++u<o;)Ci(i[u],t,e,r)}function zi(n,t,e){var r=n.r+e.r,i=t.x-n.x,u=t.y-n.y;if(r&&(i||u)){var o=t.r+e.r,a=i*i+u*u;o*=o,r*=r;var l=.5+(r-o)/(2*a),c=Math.sqrt(Math.max(0,2*o*(r+a)-(r-=a)*r-o*o))/(2*a);e.x=n.x+l*i+c*u,e.y=n.y+l*u-c*i}else e.x=n.x+r,e.y=n.y}function Li(n,t){return n.parent==t.parent?1:2}function qi(n){var t=n.children;return t.length?t[0]:n.t}function Ti(n){var t,e=n.children;return(t=e.length)?e[t-1]:n.t}function Ri(n,t,e){var r=e/(t.i-n.i);t.c-=r,t.s+=e,n.c+=r,t.z+=e,t.m+=e}function Di(n){for(var t,e=0,r=0,i=n.children,u=i.length;--u>=0;)t=i[u],t.z+=e,t.m+=e,e+=t.s+(r+=t.c)}function Pi(n,t,e){return n.a.parent===t.parent?n.a:e}function Ui(n){return 1+ao.max(n,function(n){return n.y})}function ji(n){return n.reduce(function(n,t){return n+t.x},0)/n.length}function Fi(n){var t=n.children;return t&&t.length?Fi(t[0]):n}function Hi(n){var t,e=n.children;return e&&(t=e.length)?Hi(e[t-1]):n}function Oi(n){return{x:n.x,y:n.y,dx:n.dx,dy:n.dy}}function Ii(n,t){var e=n.x+t[3],r=n.y+t[0],i=n.dx-t[1]-t[3],u=n.dy-t[0]-t[2];return 0>i&&(e+=i/2,i=0),0>u&&(r+=u/2,u=0),{x:e,y:r,dx:i,dy:u}}function Yi(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Zi(n){return n.rangeExtent?n.rangeExtent():Yi(n.range())}function Vi(n,t,e,r){var i=e(n[0],n[1]),u=r(t[0],t[1]);return function(n){return u(i(n))}}function Xi(n,t){var e,r=0,i=n.length-1,u=n[r],o=n[i];return u>o&&(e=r,r=i,i=e,e=u,u=o,o=e),n[r]=t.floor(u),n[i]=t.ceil(o),n}function $i(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:Sl}function Bi(n,t,e,r){var i=[],u=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]<n[0]&&(n=n.slice().reverse(),t=t.slice().reverse());++o<=a;)i.push(e(n[o-1],n[o])),u.push(r(t[o-1],t[o]));return function(t){var e=ao.bisect(n,t,1,a)-1;return u[e](i[e](t))}}function Wi(n,t,e,r){function i(){var i=Math.min(n.length,t.length)>2?Bi:Vi,l=r?Wr:Br;return o=i(n,t,l,e),a=i(t,n,l,Mr),u}function u(n){return o(n)}var o,a;return u.invert=function(n){return a(n)},u.domain=function(t){return arguments.length?(n=t.map(Number),i()):n},u.range=function(n){return arguments.length?(t=n,i()):t},u.rangeRound=function(n){return u.range(n).interpolate(Ur)},u.clamp=function(n){return arguments.length?(r=n,i()):r},u.interpolate=function(n){return arguments.length?(e=n,i()):e},u.ticks=function(t){return Qi(n,t)},u.tickFormat=function(t,e){return nu(n,t,e)},u.nice=function(t){return Gi(n,t),i()},u.copy=function(){return Wi(n,t,e,r)},i()}function Ji(n,t){return ao.rebind(n,t,"range","rangeRound","interpolate","clamp")}function Gi(n,t){return Xi(n,$i(Ki(n,t)[2])),Xi(n,$i(Ki(n,t)[2])),n}function Ki(n,t){null==t&&(t=10);var e=Yi(n),r=e[1]-e[0],i=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),u=t/r*i;return.15>=u?i*=10:.35>=u?i*=5:.75>=u&&(i*=2),e[0]=Math.ceil(e[0]/i)*i,e[1]=Math.floor(e[1]/i)*i+.5*i,e[2]=i,e}function Qi(n,t){return ao.range.apply(ao,Ki(n,t))}function nu(n,t,e){var r=Ki(n,t);if(e){var i=ha.exec(e);if(i.shift(),"s"===i[8]){var u=ao.formatPrefix(Math.max(xo(r[0]),xo(r[1])));return i[7]||(i[7]="."+tu(u.scale(r[2]))),i[8]="f",e=ao.format(i.join("")),function(n){return e(u.scale(n))+u.symbol}}i[7]||(i[7]="."+eu(i[8],r)),e=i.join("")}else e=",."+tu(r[2])+"f";return ao.format(e)}function tu(n){return-Math.floor(Math.log(n)/Math.LN10+.01)}function eu(n,t){var e=tu(t[2]);return n in kl?Math.abs(e-tu(Math.max(xo(t[0]),xo(t[1]))))+ +("e"!==n):e-2*("%"===n)}function ru(n,t,e,r){function i(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function u(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(i(t))}return o.invert=function(t){return u(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(i)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(i)),o):t},o.nice=function(){var t=Xi(r.map(i),e?Math:El);return n.domain(t),r=t.map(u),o},o.ticks=function(){var n=Yi(r),o=[],a=n[0],l=n[1],c=Math.floor(i(a)),f=Math.ceil(i(l)),s=t%1?2:t;if(isFinite(f-c)){if(e){for(;f>c;c++)for(var h=1;s>h;h++)o.push(u(c)*h);o.push(u(c))}else for(o.push(u(c));c++<f;)for(var h=s-1;h>0;h--)o.push(u(c)*h);for(c=0;o[c]<a;c++);for(f=o.length;o[f-1]>l;f--);o=o.slice(c,f)}return o},o.tickFormat=function(n,e){if(!arguments.length)return Nl;arguments.length<2?e=Nl:"function"!=typeof e&&(e=ao.format(e));var r=Math.max(1,t*n/o.ticks().length);return function(n){var o=n/u(Math.round(i(n)));return t-.5>o*t&&(o*=t),r>=o?e(n):""}},o.copy=function(){return ru(n.copy(),t,e,r)},Ji(o,n)}function iu(n,t,e){function r(t){return n(i(t))}var i=uu(t),u=uu(1/t);return r.invert=function(t){return u(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(i)),r):e},r.ticks=function(n){return Qi(e,n)},r.tickFormat=function(n,t){return nu(e,n,t)},r.nice=function(n){return r.domain(Gi(e,n))},r.exponent=function(o){return arguments.length?(i=uu(t=o),u=uu(1/t),n.domain(e.map(i)),r):t},r.copy=function(){return iu(n.copy(),t,e)},Ji(r,n)}function uu(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function ou(n,t){function e(e){return u[((i.get(e)||("range"===t.t?i.set(e,n.push(e)):NaN))-1)%u.length]}function r(t,e){return ao.range(n.length).map(function(n){return t+e*n})}var i,u,o;return e.domain=function(r){if(!arguments.length)return n;n=[],i=new c;for(var u,o=-1,a=r.length;++o<a;)i.has(u=r[o])||i.set(u,n.push(u));return e[t.t].apply(e,t.a)},e.range=function(n){return arguments.length?(u=n,o=0,t={t:"range",a:arguments},e):u},e.rangePoints=function(i,a){arguments.length<2&&(a=0);var l=i[0],c=i[1],f=n.length<2?(l=(l+c)/2,0):(c-l)/(n.length-1+a);return u=r(l+f*a/2,f),o=0,t={t:"rangePoints",a:arguments},e},e.rangeRoundPoints=function(i,a){arguments.length<2&&(a=0);var l=i[0],c=i[1],f=n.length<2?(l=c=Math.round((l+c)/2),0):(c-l)/(n.length-1+a)|0;return u=r(l+Math.round(f*a/2+(c-l-(n.length-1+a)*f)/2),f),o=0,t={t:"rangeRoundPoints",a:arguments},e},e.rangeBands=function(i,a,l){arguments.length<2&&(a=0),arguments.length<3&&(l=a);var c=i[1]<i[0],f=i[c-0],s=i[1-c],h=(s-f)/(n.length-a+2*l);return u=r(f+h*l,h),c&&u.reverse(),o=h*(1-a),t={t:"rangeBands",a:arguments},e},e.rangeRoundBands=function(i,a,l){arguments.length<2&&(a=0),arguments.length<3&&(l=a);var c=i[1]<i[0],f=i[c-0],s=i[1-c],h=Math.floor((s-f)/(n.length-a+2*l));return u=r(f+Math.round((s-f-(n.length-a)*h)/2),h),c&&u.reverse(),o=Math.round(h*(1-a)),t={t:"rangeRoundBands",a:arguments},e},e.rangeBand=function(){return o},e.rangeExtent=function(){return Yi(t.a[0])},e.copy=function(){return ou(n,t)},e.domain(n)}function au(n,t){function u(){var e=0,r=t.length;for(a=[];++e<r;)a[e-1]=ao.quantile(n,e/r);return o}function o(n){return isNaN(n=+n)?void 0:t[ao.bisect(a,n)]}var a;return o.domain=function(t){return arguments.length?(n=t.map(r).filter(i).sort(e),u()):n},o.range=function(n){return arguments.length?(t=n,u()):t},o.quantiles=function(){return a},o.invertExtent=function(e){return e=t.indexOf(e),0>e?[NaN,NaN]:[e>0?a[e-1]:n[0],e<a.length?a[e]:n[n.length-1]]},o.copy=function(){return au(n,t)},u()}function lu(n,t,e){function r(t){return e[Math.max(0,Math.min(o,Math.floor(u*(t-n))))]}function i(){return u=e.length/(t-n),o=e.length-1,r}var u,o;return r.domain=function(e){return arguments.length?(n=+e[0],t=+e[e.length-1],i()):[n,t]},r.range=function(n){return arguments.length?(e=n,i()):e},r.invertExtent=function(t){return t=e.indexOf(t),t=0>t?NaN:t/u+n,[t,t+1/u]},r.copy=function(){return lu(n,t,e)},i()}function cu(n,t){function e(e){return e>=e?t[ao.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return cu(n,t)},e}function fu(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return Qi(n,t)},t.tickFormat=function(t,e){return nu(n,t,e)},t.copy=function(){return fu(n)},t}function su(){return 0}function hu(n){return n.innerRadius}function pu(n){return n.outerRadius}function gu(n){return n.startAngle}function vu(n){return n.endAngle}function du(n){return n&&n.padAngle}function yu(n,t,e,r){return(n-e)*t-(t-r)*n>0?0:1}function mu(n,t,e,r,i){var u=n[0]-t[0],o=n[1]-t[1],a=(i?r:-r)/Math.sqrt(u*u+o*o),l=a*o,c=-a*u,f=n[0]+l,s=n[1]+c,h=t[0]+l,p=t[1]+c,g=(f+h)/2,v=(s+p)/2,d=h-f,y=p-s,m=d*d+y*y,M=e-r,x=f*p-h*s,b=(0>y?-1:1)*Math.sqrt(Math.max(0,M*M*m-x*x)),_=(x*y-d*b)/m,w=(-x*d-y*b)/m,S=(x*y+d*b)/m,k=(-x*d+y*b)/m,N=_-g,E=w-v,A=S-g,C=k-v;return N*N+E*E>A*A+C*C&&(_=S,w=k),[[_-l,w-c],[_*e/M,w*e/M]]}function Mu(n){function t(t){function o(){c.push("M",u(n(f),a))}for(var l,c=[],f=[],s=-1,h=t.length,p=En(e),g=En(r);++s<h;)i.call(this,l=t[s],s)?f.push([+p.call(this,l,s),+g.call(this,l,s)]):f.length&&(o(),f=[]);return f.length&&o(),c.length?c.join(""):null}var e=Ce,r=ze,i=zt,u=xu,o=u.key,a=.7;return t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t.defined=function(n){return arguments.length?(i=n,t):i},t.interpolate=function(n){return arguments.length?(o="function"==typeof n?u=n:(u=Tl.get(n)||xu).key,t):o},t.tension=function(n){return arguments.length?(a=n,t):a},t}function xu(n){return n.length>1?n.join("L"):n+"Z"}function bu(n){return n.join("L")+"Z"}function _u(n){for(var t=0,e=n.length,r=n[0],i=[r[0],",",r[1]];++t<e;)i.push("H",(r[0]+(r=n[t])[0])/2,"V",r[1]);return e>1&&i.push("H",r[0]),i.join("")}function wu(n){for(var t=0,e=n.length,r=n[0],i=[r[0],",",r[1]];++t<e;)i.push("V",(r=n[t])[1],"H",r[0]);return i.join("")}function Su(n){for(var t=0,e=n.length,r=n[0],i=[r[0],",",r[1]];++t<e;)i.push("H",(r=n[t])[0],"V",r[1]);return i.join("")}function ku(n,t){return n.length<4?xu(n):n[1]+Au(n.slice(1,-1),Cu(n,t))}function Nu(n,t){return n.length<3?bu(n):n[0]+Au((n.push(n[0]),n),Cu([n[n.length-2]].concat(n,[n[1]]),t))}function Eu(n,t){return n.length<3?xu(n):n[0]+Au(n,Cu(n,t))}function Au(n,t){if(t.length<1||n.length!=t.length&&n.length!=t.length+2)return xu(n);var e=n.length!=t.length,r="",i=n[0],u=n[1],o=t[0],a=o,l=1;if(e&&(r+="Q"+(u[0]-2*o[0]/3)+","+(u[1]-2*o[1]/3)+","+u[0]+","+u[1],i=n[1],l=2),t.length>1){a=t[1],u=n[l],l++,r+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(u[0]-a[0])+","+(u[1]-a[1])+","+u[0]+","+u[1];for(var c=2;c<t.length;c++,l++)u=n[l],a=t[c],r+="S"+(u[0]-a[0])+","+(u[1]-a[1])+","+u[0]+","+u[1]}if(e){var f=n[l];r+="Q"+(u[0]+2*a[0]/3)+","+(u[1]+2*a[1]/3)+","+f[0]+","+f[1]}return r}function Cu(n,t){for(var e,r=[],i=(1-t)/2,u=n[0],o=n[1],a=1,l=n.length;++a<l;)e=u,u=o,o=n[a],r.push([i*(o[0]-e[0]),i*(o[1]-e[1])]);return r}function zu(n){if(n.length<3)return xu(n);var t=1,e=n.length,r=n[0],i=r[0],u=r[1],o=[i,i,i,(r=n[1])[0]],a=[u,u,u,r[1]],l=[i,",",u,"L",Ru(Pl,o),",",Ru(Pl,a)];for(n.push(n[e-1]);++t<=e;)r=n[t],o.shift(),o.push(r[0]),a.shift(),a.push(r[1]),Du(l,o,a);return n.pop(),l.push("L",r),l.join("")}function Lu(n){if(n.length<4)return xu(n);for(var t,e=[],r=-1,i=n.length,u=[0],o=[0];++r<3;)t=n[r],u.push(t[0]),o.push(t[1]);for(e.push(Ru(Pl,u)+","+Ru(Pl,o)),--r;++r<i;)t=n[r],u.shift(),u.push(t[0]),o.shift(),o.push(t[1]),Du(e,u,o);return e.join("")}function qu(n){for(var t,e,r=-1,i=n.length,u=i+4,o=[],a=[];++r<4;)e=n[r%i],o.push(e[0]),a.push(e[1]);for(t=[Ru(Pl,o),",",Ru(Pl,a)],--r;++r<u;)e=n[r%i],o.shift(),o.push(e[0]),a.shift(),a.push(e[1]),Du(t,o,a);return t.join("")}function Tu(n,t){var e=n.length-1;if(e)for(var r,i,u=n[0][0],o=n[0][1],a=n[e][0]-u,l=n[e][1]-o,c=-1;++c<=e;)r=n[c],i=c/e,r[0]=t*r[0]+(1-t)*(u+i*a),r[1]=t*r[1]+(1-t)*(o+i*l);return zu(n)}function Ru(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]+n[3]*t[3]}function Du(n,t,e){n.push("C",Ru(Rl,t),",",Ru(Rl,e),",",Ru(Dl,t),",",Ru(Dl,e),",",Ru(Pl,t),",",Ru(Pl,e))}function Pu(n,t){return(t[1]-n[1])/(t[0]-n[0])}function Uu(n){for(var t=0,e=n.length-1,r=[],i=n[0],u=n[1],o=r[0]=Pu(i,u);++t<e;)r[t]=(o+(o=Pu(i=u,u=n[t+1])))/2;return r[t]=o,r}function ju(n){for(var t,e,r,i,u=[],o=Uu(n),a=-1,l=n.length-1;++a<l;)t=Pu(n[a],n[a+1]),xo(t)<Uo?o[a]=o[a+1]=0:(e=o[a]/t,r=o[a+1]/t,i=e*e+r*r,i>9&&(i=3*t/Math.sqrt(i),o[a]=i*e,o[a+1]=i*r));for(a=-1;++a<=l;)i=(n[Math.min(l,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),u.push([i||0,o[a]*i||0]);return u}function Fu(n){return n.length<3?xu(n):n[0]+Au(n,ju(n))}function Hu(n){for(var t,e,r,i=-1,u=n.length;++i<u;)t=n[i],e=t[0],r=t[1]-Io,t[0]=e*Math.cos(r),t[1]=e*Math.sin(r);return n}function Ou(n){function t(t){function l(){v.push("M",a(n(y),s),f,c(n(d.reverse()),s),"Z")}for(var h,p,g,v=[],d=[],y=[],m=-1,M=t.length,x=En(e),b=En(i),_=e===r?function(){ +return p}:En(r),w=i===u?function(){return g}:En(u);++m<M;)o.call(this,h=t[m],m)?(d.push([p=+x.call(this,h,m),g=+b.call(this,h,m)]),y.push([+_.call(this,h,m),+w.call(this,h,m)])):d.length&&(l(),d=[],y=[]);return d.length&&l(),v.length?v.join(""):null}var e=Ce,r=Ce,i=0,u=ze,o=zt,a=xu,l=a.key,c=a,f="L",s=.7;return t.x=function(n){return arguments.length?(e=r=n,t):r},t.x0=function(n){return arguments.length?(e=n,t):e},t.x1=function(n){return arguments.length?(r=n,t):r},t.y=function(n){return arguments.length?(i=u=n,t):u},t.y0=function(n){return arguments.length?(i=n,t):i},t.y1=function(n){return arguments.length?(u=n,t):u},t.defined=function(n){return arguments.length?(o=n,t):o},t.interpolate=function(n){return arguments.length?(l="function"==typeof n?a=n:(a=Tl.get(n)||xu).key,c=a.reverse||a,f=a.closed?"M":"L",t):l},t.tension=function(n){return arguments.length?(s=n,t):s},t}function Iu(n){return n.radius}function Yu(n){return[n.x,n.y]}function Zu(n){return function(){var t=n.apply(this,arguments),e=t[0],r=t[1]-Io;return[e*Math.cos(r),e*Math.sin(r)]}}function Vu(){return 64}function Xu(){return"circle"}function $u(n){var t=Math.sqrt(n/Fo);return"M0,"+t+"A"+t+","+t+" 0 1,1 0,"+-t+"A"+t+","+t+" 0 1,1 0,"+t+"Z"}function Bu(n){return function(){var t,e,r;(t=this[n])&&(r=t[e=t.active])&&(r.timer.c=null,r.timer.t=NaN,--t.count?delete t[e]:delete this[n],t.active+=.5,r.event&&r.event.interrupt.call(this,this.__data__,r.index))}}function Wu(n,t,e){return ko(n,Yl),n.namespace=t,n.id=e,n}function Ju(n,t,e,r){var i=n.id,u=n.namespace;return Y(n,"function"==typeof e?function(n,o,a){n[u][i].tween.set(t,r(e.call(n,n.__data__,o,a)))}:(e=r(e),function(n){n[u][i].tween.set(t,e)}))}function Gu(n){return null==n&&(n=""),function(){this.textContent=n}}function Ku(n){return null==n?"__transition__":"__transition_"+n+"__"}function Qu(n,t,e,r,i){function u(n){var t=v.delay;return f.t=t+l,n>=t?o(n-t):void(f.c=o)}function o(e){var i=g.active,u=g[i];u&&(u.timer.c=null,u.timer.t=NaN,--g.count,delete g[i],u.event&&u.event.interrupt.call(n,n.__data__,u.index));for(var o in g)if(r>+o){var c=g[o];c.timer.c=null,c.timer.t=NaN,--g.count,delete g[o]}f.c=a,qn(function(){return f.c&&a(e||1)&&(f.c=null,f.t=NaN),1},0,l),g.active=r,v.event&&v.event.start.call(n,n.__data__,t),p=[],v.tween.forEach(function(e,r){(r=r.call(n,n.__data__,t))&&p.push(r)}),h=v.ease,s=v.duration}function a(i){for(var u=i/s,o=h(u),a=p.length;a>0;)p[--a].call(n,o);return u>=1?(v.event&&v.event.end.call(n,n.__data__,t),--g.count?delete g[r]:delete n[e],1):void 0}var l,f,s,h,p,g=n[e]||(n[e]={active:0,count:0}),v=g[r];v||(l=i.time,f=qn(u,0,l),v=g[r]={tween:new c,time:l,timer:f,delay:i.delay,duration:i.duration,ease:i.ease,index:t},i=null,++g.count)}function no(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate("+(isFinite(r)?r:e(n))+",0)"})}function to(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate(0,"+(isFinite(r)?r:e(n))+")"})}function eo(n){return n.toISOString()}function ro(n,t,e){function r(t){return n(t)}function i(n,e){var r=n[1]-n[0],i=r/e,u=ao.bisect(Kl,i);return u==Kl.length?[t.year,Ki(n.map(function(n){return n/31536e6}),e)[2]]:u?t[i/Kl[u-1]<Kl[u]/i?u-1:u]:[tc,Ki(n,e)[2]]}return r.invert=function(t){return io(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain(t),r):n.domain().map(io)},r.nice=function(n,t){function e(e){return!isNaN(e)&&!n.range(e,io(+e+1),t).length}var u=r.domain(),o=Yi(u),a=null==n?i(o,10):"number"==typeof n&&i(o,n);return a&&(n=a[0],t=a[1]),r.domain(Xi(u,t>1?{floor:function(t){for(;e(t=n.floor(t));)t=io(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=io(+t+1);return t}}:n))},r.ticks=function(n,t){var e=Yi(r.domain()),u=null==n?i(e,10):"number"==typeof n?i(e,n):!n.range&&[{range:n},t];return u&&(n=u[0],t=u[1]),n.range(e[0],io(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return ro(n.copy(),t,e)},Ji(r,n)}function io(n){return new Date(n)}function uo(n){return JSON.parse(n.responseText)}function oo(n){var t=fo.createRange();return t.selectNode(fo.body),t.createContextualFragment(n.responseText)}var ao={version:"3.5.17"},lo=[].slice,co=function(n){return lo.call(n)},fo=this.document;if(fo)try{co(fo.documentElement.childNodes)[0].nodeType}catch(so){co=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}if(Date.now||(Date.now=function(){return+new Date}),fo)try{fo.createElement("DIV").style.setProperty("opacity",0,"")}catch(ho){var po=this.Element.prototype,go=po.setAttribute,vo=po.setAttributeNS,yo=this.CSSStyleDeclaration.prototype,mo=yo.setProperty;po.setAttribute=function(n,t){go.call(this,n,t+"")},po.setAttributeNS=function(n,t,e){vo.call(this,n,t,e+"")},yo.setProperty=function(n,t,e){mo.call(this,n,t+"",e)}}ao.ascending=e,ao.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:NaN},ao.min=function(n,t){var e,r,i=-1,u=n.length;if(1===arguments.length){for(;++i<u;)if(null!=(r=n[i])&&r>=r){e=r;break}for(;++i<u;)null!=(r=n[i])&&e>r&&(e=r)}else{for(;++i<u;)if(null!=(r=t.call(n,n[i],i))&&r>=r){e=r;break}for(;++i<u;)null!=(r=t.call(n,n[i],i))&&e>r&&(e=r)}return e},ao.max=function(n,t){var e,r,i=-1,u=n.length;if(1===arguments.length){for(;++i<u;)if(null!=(r=n[i])&&r>=r){e=r;break}for(;++i<u;)null!=(r=n[i])&&r>e&&(e=r)}else{for(;++i<u;)if(null!=(r=t.call(n,n[i],i))&&r>=r){e=r;break}for(;++i<u;)null!=(r=t.call(n,n[i],i))&&r>e&&(e=r)}return e},ao.extent=function(n,t){var e,r,i,u=-1,o=n.length;if(1===arguments.length){for(;++u<o;)if(null!=(r=n[u])&&r>=r){e=i=r;break}for(;++u<o;)null!=(r=n[u])&&(e>r&&(e=r),r>i&&(i=r))}else{for(;++u<o;)if(null!=(r=t.call(n,n[u],u))&&r>=r){e=i=r;break}for(;++u<o;)null!=(r=t.call(n,n[u],u))&&(e>r&&(e=r),r>i&&(i=r))}return[e,i]},ao.sum=function(n,t){var e,r=0,u=n.length,o=-1;if(1===arguments.length)for(;++o<u;)i(e=+n[o])&&(r+=e);else for(;++o<u;)i(e=+t.call(n,n[o],o))&&(r+=e);return r},ao.mean=function(n,t){var e,u=0,o=n.length,a=-1,l=o;if(1===arguments.length)for(;++a<o;)i(e=r(n[a]))?u+=e:--l;else for(;++a<o;)i(e=r(t.call(n,n[a],a)))?u+=e:--l;return l?u/l:void 0},ao.quantile=function(n,t){var e=(n.length-1)*t+1,r=Math.floor(e),i=+n[r-1],u=e-r;return u?i+u*(n[r]-i):i},ao.median=function(n,t){var u,o=[],a=n.length,l=-1;if(1===arguments.length)for(;++l<a;)i(u=r(n[l]))&&o.push(u);else for(;++l<a;)i(u=r(t.call(n,n[l],l)))&&o.push(u);return o.length?ao.quantile(o.sort(e),.5):void 0},ao.variance=function(n,t){var e,u,o=n.length,a=0,l=0,c=-1,f=0;if(1===arguments.length)for(;++c<o;)i(e=r(n[c]))&&(u=e-a,a+=u/++f,l+=u*(e-a));else for(;++c<o;)i(e=r(t.call(n,n[c],c)))&&(u=e-a,a+=u/++f,l+=u*(e-a));return f>1?l/(f-1):void 0},ao.deviation=function(){var n=ao.variance.apply(this,arguments);return n?Math.sqrt(n):n};var Mo=u(e);ao.bisectLeft=Mo.left,ao.bisect=ao.bisectRight=Mo.right,ao.bisector=function(n){return u(1===n.length?function(t,r){return e(n(t),r)}:n)},ao.shuffle=function(n,t,e){(u=arguments.length)<3&&(e=n.length,2>u&&(t=0));for(var r,i,u=e-t;u;)i=Math.random()*u--|0,r=n[u+t],n[u+t]=n[i+t],n[i+t]=r;return n},ao.permute=function(n,t){for(var e=t.length,r=new Array(e);e--;)r[e]=n[t[e]];return r},ao.pairs=function(n){for(var t,e=0,r=n.length-1,i=n[0],u=new Array(0>r?0:r);r>e;)u[e]=[t=i,i=n[++e]];return u},ao.transpose=function(n){if(!(i=n.length))return[];for(var t=-1,e=ao.min(n,o),r=new Array(e);++t<e;)for(var i,u=-1,a=r[t]=new Array(i);++u<i;)a[u]=n[u][t];return r},ao.zip=function(){return ao.transpose(arguments)},ao.keys=function(n){var t=[];for(var e in n)t.push(e);return t},ao.values=function(n){var t=[];for(var e in n)t.push(n[e]);return t},ao.entries=function(n){var t=[];for(var e in n)t.push({key:e,value:n[e]});return t},ao.merge=function(n){for(var t,e,r,i=n.length,u=-1,o=0;++u<i;)o+=n[u].length;for(e=new Array(o);--i>=0;)for(r=n[i],t=r.length;--t>=0;)e[--o]=r[t];return e};var xo=Math.abs;ao.range=function(n,t,e){if(arguments.length<3&&(e=1,arguments.length<2&&(t=n,n=0)),(t-n)/e===1/0)throw new Error("infinite range");var r,i=[],u=a(xo(e)),o=-1;if(n*=u,t*=u,e*=u,0>e)for(;(r=n+e*++o)>t;)i.push(r/u);else for(;(r=n+e*++o)<t;)i.push(r/u);return i},ao.map=function(n,t){var e=new c;if(n instanceof c)n.forEach(function(n,t){e.set(n,t)});else if(Array.isArray(n)){var r,i=-1,u=n.length;if(1===arguments.length)for(;++i<u;)e.set(i,n[i]);else for(;++i<u;)e.set(t.call(n,r=n[i],i),r)}else for(var o in n)e.set(o,n[o]);return e};var bo="__proto__",_o="\x00";l(c,{has:h,get:function(n){return this._[f(n)]},set:function(n,t){return this._[f(n)]=t},remove:p,keys:g,values:function(){var n=[];for(var t in this._)n.push(this._[t]);return n},entries:function(){var n=[];for(var t in this._)n.push({key:s(t),value:this._[t]});return n},size:v,empty:d,forEach:function(n){for(var t in this._)n.call(this,s(t),this._[t])}}),ao.nest=function(){function n(t,o,a){if(a>=u.length)return r?r.call(i,o):e?o.sort(e):o;for(var l,f,s,h,p=-1,g=o.length,v=u[a++],d=new c;++p<g;)(h=d.get(l=v(f=o[p])))?h.push(f):d.set(l,[f]);return t?(f=t(),s=function(e,r){f.set(e,n(t,r,a))}):(f={},s=function(e,r){f[e]=n(t,r,a)}),d.forEach(s),f}function t(n,e){if(e>=u.length)return n;var r=[],i=o[e++];return n.forEach(function(n,i){r.push({key:n,values:t(i,e)})}),i?r.sort(function(n,t){return i(n.key,t.key)}):r}var e,r,i={},u=[],o=[];return i.map=function(t,e){return n(e,t,0)},i.entries=function(e){return t(n(ao.map,e,0),0)},i.key=function(n){return u.push(n),i},i.sortKeys=function(n){return o[u.length-1]=n,i},i.sortValues=function(n){return e=n,i},i.rollup=function(n){return r=n,i},i},ao.set=function(n){var t=new y;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},l(y,{has:h,add:function(n){return this._[f(n+="")]=!0,n},remove:p,values:g,size:v,empty:d,forEach:function(n){for(var t in this._)n.call(this,s(t))}}),ao.behavior={},ao.rebind=function(n,t){for(var e,r=1,i=arguments.length;++r<i;)n[e=arguments[r]]=M(n,t,t[e]);return n};var wo=["webkit","ms","moz","Moz","o","O"];ao.dispatch=function(){for(var n=new _,t=-1,e=arguments.length;++t<e;)n[arguments[t]]=w(n);return n},_.prototype.on=function(n,t){var e=n.indexOf("."),r="";if(e>=0&&(r=n.slice(e+1),n=n.slice(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},ao.event=null,ao.requote=function(n){return n.replace(So,"\\$&")};var So=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,ko={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},No=function(n,t){return t.querySelector(n)},Eo=function(n,t){return t.querySelectorAll(n)},Ao=function(n,t){var e=n.matches||n[x(n,"matchesSelector")];return(Ao=function(n,t){return e.call(n,t)})(n,t)};"function"==typeof Sizzle&&(No=function(n,t){return Sizzle(n,t)[0]||null},Eo=Sizzle,Ao=Sizzle.matchesSelector),ao.selection=function(){return ao.select(fo.documentElement)};var Co=ao.selection.prototype=[];Co.select=function(n){var t,e,r,i,u=[];n=A(n);for(var o=-1,a=this.length;++o<a;){u.push(t=[]),t.parentNode=(r=this[o]).parentNode;for(var l=-1,c=r.length;++l<c;)(i=r[l])?(t.push(e=n.call(i,i.__data__,l,o)),e&&"__data__"in i&&(e.__data__=i.__data__)):t.push(null)}return E(u)},Co.selectAll=function(n){var t,e,r=[];n=C(n);for(var i=-1,u=this.length;++i<u;)for(var o=this[i],a=-1,l=o.length;++a<l;)(e=o[a])&&(r.push(t=co(n.call(e,e.__data__,a,i))),t.parentNode=e);return E(r)};var zo="http://www.w3.org/1999/xhtml",Lo={svg:"http://www.w3.org/2000/svg",xhtml:zo,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};ao.ns={prefix:Lo,qualify:function(n){var t=n.indexOf(":"),e=n;return t>=0&&"xmlns"!==(e=n.slice(0,t))&&(n=n.slice(t+1)),Lo.hasOwnProperty(e)?{space:Lo[e],local:n}:n}},Co.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=ao.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(z(t,n[t]));return this}return this.each(z(n,t))},Co.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=T(n)).length,i=-1;if(t=e.classList){for(;++i<r;)if(!t.contains(n[i]))return!1}else for(t=e.getAttribute("class");++i<r;)if(!q(n[i]).test(t))return!1;return!0}for(t in n)this.each(R(t,n[t]));return this}return this.each(R(n,t))},Co.style=function(n,e,r){var i=arguments.length;if(3>i){if("string"!=typeof n){2>i&&(e="");for(r in n)this.each(P(r,n[r],e));return this}if(2>i){var u=this.node();return t(u).getComputedStyle(u,null).getPropertyValue(n)}r=""}return this.each(P(n,e,r))},Co.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(U(t,n[t]));return this}return this.each(U(n,t))},Co.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},Co.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},Co.append=function(n){return n=j(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},Co.insert=function(n,t){return n=j(n),t=A(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments)||null)})},Co.remove=function(){return this.each(F)},Co.data=function(n,t){function e(n,e){var r,i,u,o=n.length,s=e.length,h=Math.min(o,s),p=new Array(s),g=new Array(s),v=new Array(o);if(t){var d,y=new c,m=new Array(o);for(r=-1;++r<o;)(i=n[r])&&(y.has(d=t.call(i,i.__data__,r))?v[r]=i:y.set(d,i),m[r]=d);for(r=-1;++r<s;)(i=y.get(d=t.call(e,u=e[r],r)))?i!==!0&&(p[r]=i,i.__data__=u):g[r]=H(u),y.set(d,!0);for(r=-1;++r<o;)r in m&&y.get(m[r])!==!0&&(v[r]=n[r])}else{for(r=-1;++r<h;)i=n[r],u=e[r],i?(i.__data__=u,p[r]=i):g[r]=H(u);for(;s>r;++r)g[r]=H(e[r]);for(;o>r;++r)v[r]=n[r]}g.update=p,g.parentNode=p.parentNode=v.parentNode=n.parentNode,a.push(g),l.push(p),f.push(v)}var r,i,u=-1,o=this.length;if(!arguments.length){for(n=new Array(o=(r=this[0]).length);++u<o;)(i=r[u])&&(n[u]=i.__data__);return n}var a=Z([]),l=E([]),f=E([]);if("function"==typeof n)for(;++u<o;)e(r=this[u],n.call(r,r.parentNode.__data__,u));else for(;++u<o;)e(r=this[u],n);return l.enter=function(){return a},l.exit=function(){return f},l},Co.datum=function(n){return arguments.length?this.property("__data__",n):this.property("__data__")},Co.filter=function(n){var t,e,r,i=[];"function"!=typeof n&&(n=O(n));for(var u=0,o=this.length;o>u;u++){i.push(t=[]),t.parentNode=(e=this[u]).parentNode;for(var a=0,l=e.length;l>a;a++)(r=e[a])&&n.call(r,r.__data__,a,u)&&t.push(r)}return E(i)},Co.order=function(){for(var n=-1,t=this.length;++n<t;)for(var e,r=this[n],i=r.length-1,u=r[i];--i>=0;)(e=r[i])&&(u&&u!==e.nextSibling&&u.parentNode.insertBefore(e,u),u=e);return this},Co.sort=function(n){n=I.apply(this,arguments);for(var t=-1,e=this.length;++t<e;)this[t].sort(n);return this.order()},Co.each=function(n){return Y(this,function(t,e,r){n.call(t,t.__data__,e,r)})},Co.call=function(n){var t=co(arguments);return n.apply(t[0]=this,t),this},Co.empty=function(){return!this.node()},Co.node=function(){for(var n=0,t=this.length;t>n;n++)for(var e=this[n],r=0,i=e.length;i>r;r++){var u=e[r];if(u)return u}return null},Co.size=function(){var n=0;return Y(this,function(){++n}),n};var qo=[];ao.selection.enter=Z,ao.selection.enter.prototype=qo,qo.append=Co.append,qo.empty=Co.empty,qo.node=Co.node,qo.call=Co.call,qo.size=Co.size,qo.select=function(n){for(var t,e,r,i,u,o=[],a=-1,l=this.length;++a<l;){r=(i=this[a]).update,o.push(t=[]),t.parentNode=i.parentNode;for(var c=-1,f=i.length;++c<f;)(u=i[c])?(t.push(r[c]=e=n.call(i.parentNode,u.__data__,c,a)),e.__data__=u.__data__):t.push(null)}return E(o)},qo.insert=function(n,t){return arguments.length<2&&(t=V(this)),Co.insert.call(this,n,t)},ao.select=function(t){var e;return"string"==typeof t?(e=[No(t,fo)],e.parentNode=fo.documentElement):(e=[t],e.parentNode=n(t)),E([e])},ao.selectAll=function(n){var t;return"string"==typeof n?(t=co(Eo(n,fo)),t.parentNode=fo.documentElement):(t=co(n),t.parentNode=null),E([t])},Co.on=function(n,t,e){var r=arguments.length;if(3>r){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(X(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(X(n,t,e))};var To=ao.map({mouseenter:"mouseover",mouseleave:"mouseout"});fo&&To.forEach(function(n){"on"+n in fo&&To.remove(n)});var Ro,Do=0;ao.mouse=function(n){return J(n,k())};var Po=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;ao.touch=function(n,t,e){if(arguments.length<3&&(e=t,t=k().changedTouches),t)for(var r,i=0,u=t.length;u>i;++i)if((r=t[i]).identifier===e)return J(n,r)},ao.behavior.drag=function(){function n(){this.on("mousedown.drag",u).on("touchstart.drag",o)}function e(n,t,e,u,o){return function(){function a(){var n,e,r=t(h,v);r&&(n=r[0]-M[0],e=r[1]-M[1],g|=n|e,M=r,p({type:"drag",x:r[0]+c[0],y:r[1]+c[1],dx:n,dy:e}))}function l(){t(h,v)&&(y.on(u+d,null).on(o+d,null),m(g),p({type:"dragend"}))}var c,f=this,s=ao.event.target.correspondingElement||ao.event.target,h=f.parentNode,p=r.of(f,arguments),g=0,v=n(),d=".drag"+(null==v?"":"-"+v),y=ao.select(e(s)).on(u+d,a).on(o+d,l),m=W(s),M=t(h,v);i?(c=i.apply(f,arguments),c=[c.x-M[0],c.y-M[1]]):c=[0,0],p({type:"dragstart"})}}var r=N(n,"drag","dragstart","dragend"),i=null,u=e(b,ao.mouse,t,"mousemove","mouseup"),o=e(G,ao.touch,m,"touchmove","touchend");return n.origin=function(t){return arguments.length?(i=t,n):i},ao.rebind(n,r,"on")},ao.touches=function(n,t){return arguments.length<2&&(t=k().touches),t?co(t).map(function(t){var e=J(n,t);return e.identifier=t.identifier,e}):[]};var Uo=1e-6,jo=Uo*Uo,Fo=Math.PI,Ho=2*Fo,Oo=Ho-Uo,Io=Fo/2,Yo=Fo/180,Zo=180/Fo,Vo=Math.SQRT2,Xo=2,$o=4;ao.interpolateZoom=function(n,t){var e,r,i=n[0],u=n[1],o=n[2],a=t[0],l=t[1],c=t[2],f=a-i,s=l-u,h=f*f+s*s;if(jo>h)r=Math.log(c/o)/Vo,e=function(n){return[i+n*f,u+n*s,o*Math.exp(Vo*n*r)]};else{var p=Math.sqrt(h),g=(c*c-o*o+$o*h)/(2*o*Xo*p),v=(c*c-o*o-$o*h)/(2*c*Xo*p),d=Math.log(Math.sqrt(g*g+1)-g),y=Math.log(Math.sqrt(v*v+1)-v);r=(y-d)/Vo,e=function(n){var t=n*r,e=rn(d),a=o/(Xo*p)*(e*un(Vo*t+d)-en(d));return[i+a*f,u+a*s,o*e/rn(Vo*t+d)]}}return e.duration=1e3*r,e},ao.behavior.zoom=function(){function n(n){n.on(L,s).on(Wo+".zoom",p).on("dblclick.zoom",g).on(R,h)}function e(n){return[(n[0]-k.x)/k.k,(n[1]-k.y)/k.k]}function r(n){return[n[0]*k.k+k.x,n[1]*k.k+k.y]}function i(n){k.k=Math.max(A[0],Math.min(A[1],n))}function u(n,t){t=r(t),k.x+=n[0]-t[0],k.y+=n[1]-t[1]}function o(t,e,r,o){t.__chart__={x:k.x,y:k.y,k:k.k},i(Math.pow(2,o)),u(d=e,r),t=ao.select(t),C>0&&(t=t.transition().duration(C)),t.call(n.event)}function a(){b&&b.domain(x.range().map(function(n){return(n-k.x)/k.k}).map(x.invert)),w&&w.domain(_.range().map(function(n){return(n-k.y)/k.k}).map(_.invert))}function l(n){z++||n({type:"zoomstart"})}function c(n){a(),n({type:"zoom",scale:k.k,translate:[k.x,k.y]})}function f(n){--z||(n({type:"zoomend"}),d=null)}function s(){function n(){a=1,u(ao.mouse(i),h),c(o)}function r(){s.on(q,null).on(T,null),p(a),f(o)}var i=this,o=D.of(i,arguments),a=0,s=ao.select(t(i)).on(q,n).on(T,r),h=e(ao.mouse(i)),p=W(i);Il.call(i),l(o)}function h(){function n(){var n=ao.touches(g);return p=k.k,n.forEach(function(n){n.identifier in d&&(d[n.identifier]=e(n))}),n}function t(){var t=ao.event.target;ao.select(t).on(x,r).on(b,a),_.push(t);for(var e=ao.event.changedTouches,i=0,u=e.length;u>i;++i)d[e[i].identifier]=null;var l=n(),c=Date.now();if(1===l.length){if(500>c-M){var f=l[0];o(g,f,d[f.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),S()}M=c}else if(l.length>1){var f=l[0],s=l[1],h=f[0]-s[0],p=f[1]-s[1];y=h*h+p*p}}function r(){var n,t,e,r,o=ao.touches(g);Il.call(g);for(var a=0,l=o.length;l>a;++a,r=null)if(e=o[a],r=d[e.identifier]){if(t)break;n=e,t=r}if(r){var f=(f=e[0]-n[0])*f+(f=e[1]-n[1])*f,s=y&&Math.sqrt(f/y);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+r[0])/2,(t[1]+r[1])/2],i(s*p)}M=null,u(n,t),c(v)}function a(){if(ao.event.touches.length){for(var t=ao.event.changedTouches,e=0,r=t.length;r>e;++e)delete d[t[e].identifier];for(var i in d)return void n()}ao.selectAll(_).on(m,null),w.on(L,s).on(R,h),N(),f(v)}var p,g=this,v=D.of(g,arguments),d={},y=0,m=".zoom-"+ao.event.changedTouches[0].identifier,x="touchmove"+m,b="touchend"+m,_=[],w=ao.select(g),N=W(g);t(),l(v),w.on(L,null).on(R,t)}function p(){var n=D.of(this,arguments);m?clearTimeout(m):(Il.call(this),v=e(d=y||ao.mouse(this)),l(n)),m=setTimeout(function(){m=null,f(n)},50),S(),i(Math.pow(2,.002*Bo())*k.k),u(d,v),c(n)}function g(){var n=ao.mouse(this),t=Math.log(k.k)/Math.LN2;o(this,n,e(n),ao.event.shiftKey?Math.ceil(t)-1:Math.floor(t)+1)}var v,d,y,m,M,x,b,_,w,k={x:0,y:0,k:1},E=[960,500],A=Jo,C=250,z=0,L="mousedown.zoom",q="mousemove.zoom",T="mouseup.zoom",R="touchstart.zoom",D=N(n,"zoomstart","zoom","zoomend");return Wo||(Wo="onwheel"in fo?(Bo=function(){return-ao.event.deltaY*(ao.event.deltaMode?120:1)},"wheel"):"onmousewheel"in fo?(Bo=function(){return ao.event.wheelDelta},"mousewheel"):(Bo=function(){return-ao.event.detail},"MozMousePixelScroll")),n.event=function(n){n.each(function(){var n=D.of(this,arguments),t=k;Hl?ao.select(this).transition().each("start.zoom",function(){k=this.__chart__||{x:0,y:0,k:1},l(n)}).tween("zoom:zoom",function(){var e=E[0],r=E[1],i=d?d[0]:e/2,u=d?d[1]:r/2,o=ao.interpolateZoom([(i-k.x)/k.k,(u-k.y)/k.k,e/k.k],[(i-t.x)/t.k,(u-t.y)/t.k,e/t.k]);return function(t){var r=o(t),a=e/r[2];this.__chart__=k={x:i-r[0]*a,y:u-r[1]*a,k:a},c(n)}}).each("interrupt.zoom",function(){f(n)}).each("end.zoom",function(){f(n)}):(this.__chart__=k,l(n),c(n),f(n))})},n.translate=function(t){return arguments.length?(k={x:+t[0],y:+t[1],k:k.k},a(),n):[k.x,k.y]},n.scale=function(t){return arguments.length?(k={x:k.x,y:k.y,k:null},i(+t),a(),n):k.k},n.scaleExtent=function(t){return arguments.length?(A=null==t?Jo:[+t[0],+t[1]],n):A},n.center=function(t){return arguments.length?(y=t&&[+t[0],+t[1]],n):y},n.size=function(t){return arguments.length?(E=t&&[+t[0],+t[1]],n):E},n.duration=function(t){return arguments.length?(C=+t,n):C},n.x=function(t){return arguments.length?(b=t,x=t.copy(),k={x:0,y:0,k:1},n):b},n.y=function(t){return arguments.length?(w=t,_=t.copy(),k={x:0,y:0,k:1},n):w},ao.rebind(n,D,"on")};var Bo,Wo,Jo=[0,1/0];ao.color=an,an.prototype.toString=function(){return this.rgb()+""},ao.hsl=ln;var Go=ln.prototype=new an;Go.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),new ln(this.h,this.s,this.l/n)},Go.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new ln(this.h,this.s,n*this.l)},Go.rgb=function(){return cn(this.h,this.s,this.l)},ao.hcl=fn;var Ko=fn.prototype=new an;Ko.brighter=function(n){return new fn(this.h,this.c,Math.min(100,this.l+Qo*(arguments.length?n:1)))},Ko.darker=function(n){return new fn(this.h,this.c,Math.max(0,this.l-Qo*(arguments.length?n:1)))},Ko.rgb=function(){return sn(this.h,this.c,this.l).rgb()},ao.lab=hn;var Qo=18,na=.95047,ta=1,ea=1.08883,ra=hn.prototype=new an;ra.brighter=function(n){return new hn(Math.min(100,this.l+Qo*(arguments.length?n:1)),this.a,this.b)},ra.darker=function(n){return new hn(Math.max(0,this.l-Qo*(arguments.length?n:1)),this.a,this.b)},ra.rgb=function(){return pn(this.l,this.a,this.b)},ao.rgb=mn;var ia=mn.prototype=new an;ia.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,i=30;return t||e||r?(t&&i>t&&(t=i),e&&i>e&&(e=i),r&&i>r&&(r=i),new mn(Math.min(255,t/n),Math.min(255,e/n),Math.min(255,r/n))):new mn(i,i,i)},ia.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new mn(n*this.r,n*this.g,n*this.b)},ia.hsl=function(){return wn(this.r,this.g,this.b)},ia.toString=function(){return"#"+bn(this.r)+bn(this.g)+bn(this.b)};var ua=ao.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});ua.forEach(function(n,t){ua.set(n,Mn(t))}),ao.functor=En,ao.xhr=An(m),ao.dsv=function(n,t){function e(n,e,u){arguments.length<3&&(u=e,e=null);var o=Cn(n,t,null==e?r:i(e),u);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:i(n)):e},o}function r(n){return e.parse(n.responseText)}function i(n){return function(t){return e.parse(t.responseText,n)}}function u(t){return t.map(o).join(n)}function o(n){return a.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var a=new RegExp('["'+n+"\n]"),l=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var i=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(i(n),e)}:i})},e.parseRows=function(n,t){function e(){if(f>=c)return o;if(i)return i=!1,u;var t=f;if(34===n.charCodeAt(t)){for(var e=t;e++<c;)if(34===n.charCodeAt(e)){if(34!==n.charCodeAt(e+1))break;++e}f=e+2;var r=n.charCodeAt(e+1);return 13===r?(i=!0,10===n.charCodeAt(e+2)&&++f):10===r&&(i=!0),n.slice(t+1,e).replace(/""/g,'"')}for(;c>f;){var r=n.charCodeAt(f++),a=1;if(10===r)i=!0;else if(13===r)i=!0,10===n.charCodeAt(f)&&(++f,++a);else if(r!==l)continue;return n.slice(t,f-a)}return n.slice(t)}for(var r,i,u={},o={},a=[],c=n.length,f=0,s=0;(r=e())!==o;){for(var h=[];r!==u&&r!==o;)h.push(r),r=e();t&&null==(h=t(h,s++))||a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new y,i=[];return t.forEach(function(n){for(var t in n)r.has(t)||i.push(r.add(t))}),[i.map(o).join(n)].concat(t.map(function(t){return i.map(function(n){return o(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(u).join("\n")},e},ao.csv=ao.dsv(",","text/csv"),ao.tsv=ao.dsv(" ","text/tab-separated-values");var oa,aa,la,ca,fa=this[x(this,"requestAnimationFrame")]||function(n){setTimeout(n,17)};ao.timer=function(){qn.apply(this,arguments)},ao.timer.flush=function(){Rn(),Dn()},ao.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)};var sa=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(Un);ao.formatPrefix=function(n,t){var e=0;return(n=+n)&&(0>n&&(n*=-1),t&&(n=ao.round(n,Pn(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e-1)/3)))),sa[8+e/3]};var ha=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,pa=ao.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=ao.round(n,Pn(n,t))).toFixed(Math.max(0,Math.min(20,Pn(n*(1+1e-15),t))))}}),ga=ao.time={},va=Date;Hn.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){da.setUTCDate.apply(this._,arguments)},setDay:function(){da.setUTCDay.apply(this._,arguments)},setFullYear:function(){da.setUTCFullYear.apply(this._,arguments)},setHours:function(){da.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){da.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){da.setUTCMinutes.apply(this._,arguments)},setMonth:function(){da.setUTCMonth.apply(this._,arguments)},setSeconds:function(){da.setUTCSeconds.apply(this._,arguments)},setTime:function(){da.setTime.apply(this._,arguments)}};var da=Date.prototype;ga.year=On(function(n){return n=ga.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),ga.years=ga.year.range,ga.years.utc=ga.year.utc.range,ga.day=On(function(n){var t=new va(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),ga.days=ga.day.range,ga.days.utc=ga.day.utc.range,ga.dayOfYear=function(n){var t=ga.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(n,t){t=7-t;var e=ga[n]=On(function(n){return(n=ga.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=ga.year(n).getDay();return Math.floor((ga.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});ga[n+"s"]=e.range,ga[n+"s"].utc=e.utc.range,ga[n+"OfYear"]=function(n){var e=ga.year(n).getDay();return Math.floor((ga.dayOfYear(n)+(e+t)%7)/7)}}),ga.week=ga.sunday,ga.weeks=ga.sunday.range,ga.weeks.utc=ga.sunday.utc.range,ga.weekOfYear=ga.sundayOfYear;var ya={"-":"",_:" ",0:"0"},ma=/^\s*\d+/,Ma=/^%/;ao.locale=function(n){return{numberFormat:jn(n),timeFormat:Yn(n)}};var xa=ao.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"], +shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});ao.format=xa.numberFormat,ao.geo={},ft.prototype={s:0,t:0,add:function(n){st(n,this.t,ba),st(ba.s,this.s,this),this.s?this.t+=ba.t:this.s=ba.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var ba=new ft;ao.geo.stream=function(n,t){n&&_a.hasOwnProperty(n.type)?_a[n.type](n,t):ht(n,t)};var _a={Feature:function(n,t){ht(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,i=e.length;++r<i;)ht(e[r].geometry,t)}},wa={Sphere:function(n,t){t.sphere()},Point:function(n,t){n=n.coordinates,t.point(n[0],n[1],n[2])},MultiPoint:function(n,t){for(var e=n.coordinates,r=-1,i=e.length;++r<i;)n=e[r],t.point(n[0],n[1],n[2])},LineString:function(n,t){pt(n.coordinates,t,0)},MultiLineString:function(n,t){for(var e=n.coordinates,r=-1,i=e.length;++r<i;)pt(e[r],t,0)},Polygon:function(n,t){gt(n.coordinates,t)},MultiPolygon:function(n,t){for(var e=n.coordinates,r=-1,i=e.length;++r<i;)gt(e[r],t)},GeometryCollection:function(n,t){for(var e=n.geometries,r=-1,i=e.length;++r<i;)ht(e[r],t)}};ao.geo.area=function(n){return Sa=0,ao.geo.stream(n,Na),Sa};var Sa,ka=new ft,Na={sphere:function(){Sa+=4*Fo},point:b,lineStart:b,lineEnd:b,polygonStart:function(){ka.reset(),Na.lineStart=vt},polygonEnd:function(){var n=2*ka;Sa+=0>n?4*Fo+n:n,Na.lineStart=Na.lineEnd=Na.point=b}};ao.geo.bounds=function(){function n(n,t){M.push(x=[f=n,h=n]),s>t&&(s=t),t>p&&(p=t)}function t(t,e){var r=dt([t*Yo,e*Yo]);if(y){var i=mt(y,r),u=[i[1],-i[0],0],o=mt(u,i);bt(o),o=_t(o);var l=t-g,c=l>0?1:-1,v=o[0]*Zo*c,d=xo(l)>180;if(d^(v>c*g&&c*t>v)){var m=o[1]*Zo;m>p&&(p=m)}else if(v=(v+360)%360-180,d^(v>c*g&&c*t>v)){var m=-o[1]*Zo;s>m&&(s=m)}else s>e&&(s=e),e>p&&(p=e);d?g>t?a(f,t)>a(f,h)&&(h=t):a(t,h)>a(f,h)&&(f=t):h>=f?(f>t&&(f=t),t>h&&(h=t)):t>g?a(f,t)>a(f,h)&&(h=t):a(t,h)>a(f,h)&&(f=t)}else n(t,e);y=r,g=t}function e(){b.point=t}function r(){x[0]=f,x[1]=h,b.point=n,y=null}function i(n,e){if(y){var r=n-g;m+=xo(r)>180?r+(r>0?360:-360):r}else v=n,d=e;Na.point(n,e),t(n,e)}function u(){Na.lineStart()}function o(){i(v,d),Na.lineEnd(),xo(m)>Uo&&(f=-(h=180)),x[0]=f,x[1]=h,y=null}function a(n,t){return(t-=n)<0?t+360:t}function l(n,t){return n[0]-t[0]}function c(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}var f,s,h,p,g,v,d,y,m,M,x,b={point:n,lineStart:e,lineEnd:r,polygonStart:function(){b.point=i,b.lineStart=u,b.lineEnd=o,m=0,Na.polygonStart()},polygonEnd:function(){Na.polygonEnd(),b.point=n,b.lineStart=e,b.lineEnd=r,0>ka?(f=-(h=180),s=-(p=90)):m>Uo?p=90:-Uo>m&&(s=-90),x[0]=f,x[1]=h}};return function(n){p=h=-(f=s=1/0),M=[],ao.geo.stream(n,b);var t=M.length;if(t){M.sort(l);for(var e,r=1,i=M[0],u=[i];t>r;++r)e=M[r],c(e[0],i)||c(e[1],i)?(a(i[0],e[1])>a(i[0],i[1])&&(i[1]=e[1]),a(e[0],i[1])>a(i[0],i[1])&&(i[0]=e[0])):u.push(i=e);for(var o,e,g=-(1/0),t=u.length-1,r=0,i=u[t];t>=r;i=e,++r)e=u[r],(o=a(i[1],e[0]))>g&&(g=o,f=e[0],h=i[1])}return M=x=null,f===1/0||s===1/0?[[NaN,NaN],[NaN,NaN]]:[[f,s],[h,p]]}}(),ao.geo.centroid=function(n){Ea=Aa=Ca=za=La=qa=Ta=Ra=Da=Pa=Ua=0,ao.geo.stream(n,ja);var t=Da,e=Pa,r=Ua,i=t*t+e*e+r*r;return jo>i&&(t=qa,e=Ta,r=Ra,Uo>Aa&&(t=Ca,e=za,r=La),i=t*t+e*e+r*r,jo>i)?[NaN,NaN]:[Math.atan2(e,t)*Zo,tn(r/Math.sqrt(i))*Zo]};var Ea,Aa,Ca,za,La,qa,Ta,Ra,Da,Pa,Ua,ja={sphere:b,point:St,lineStart:Nt,lineEnd:Et,polygonStart:function(){ja.lineStart=At},polygonEnd:function(){ja.lineStart=Nt}},Fa=Rt(zt,jt,Ht,[-Fo,-Fo/2]),Ha=1e9;ao.geo.clipExtent=function(){var n,t,e,r,i,u,o={stream:function(n){return i&&(i.valid=!1),i=u(n),i.valid=!0,i},extent:function(a){return arguments.length?(u=Zt(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),i&&(i.valid=!1,i=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(ao.geo.conicEqualArea=function(){return Vt(Xt)}).raw=Xt,ao.geo.albers=function(){return ao.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},ao.geo.albersUsa=function(){function n(n){var u=n[0],o=n[1];return t=null,e(u,o),t||(r(u,o),t)||i(u,o),t}var t,e,r,i,u=ao.geo.albers(),o=ao.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=ao.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=u.scale(),e=u.translate(),r=(n[0]-e[0])/t,i=(n[1]-e[1])/t;return(i>=.12&&.234>i&&r>=-.425&&-.214>r?o:i>=.166&&.234>i&&r>=-.214&&-.115>r?a:u).invert(n)},n.stream=function(n){var t=u.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,i){t.point(n,i),e.point(n,i),r.point(n,i)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(u.precision(t),o.precision(t),a.precision(t),n):u.precision()},n.scale=function(t){return arguments.length?(u.scale(t),o.scale(.35*t),a.scale(t),n.translate(u.translate())):u.scale()},n.translate=function(t){if(!arguments.length)return u.translate();var c=u.scale(),f=+t[0],s=+t[1];return e=u.translate(t).clipExtent([[f-.455*c,s-.238*c],[f+.455*c,s+.238*c]]).stream(l).point,r=o.translate([f-.307*c,s+.201*c]).clipExtent([[f-.425*c+Uo,s+.12*c+Uo],[f-.214*c-Uo,s+.234*c-Uo]]).stream(l).point,i=a.translate([f-.205*c,s+.212*c]).clipExtent([[f-.214*c+Uo,s+.166*c+Uo],[f-.115*c-Uo,s+.234*c-Uo]]).stream(l).point,n},n.scale(1070)};var Oa,Ia,Ya,Za,Va,Xa,$a={point:b,lineStart:b,lineEnd:b,polygonStart:function(){Ia=0,$a.lineStart=$t},polygonEnd:function(){$a.lineStart=$a.lineEnd=$a.point=b,Oa+=xo(Ia/2)}},Ba={point:Bt,lineStart:b,lineEnd:b,polygonStart:b,polygonEnd:b},Wa={point:Gt,lineStart:Kt,lineEnd:Qt,polygonStart:function(){Wa.lineStart=ne},polygonEnd:function(){Wa.point=Gt,Wa.lineStart=Kt,Wa.lineEnd=Qt}};ao.geo.path=function(){function n(n){return n&&("function"==typeof a&&u.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=i(u)),ao.geo.stream(n,o)),u.result()}function t(){return o=null,n}var e,r,i,u,o,a=4.5;return n.area=function(n){return Oa=0,ao.geo.stream(n,i($a)),Oa},n.centroid=function(n){return Ca=za=La=qa=Ta=Ra=Da=Pa=Ua=0,ao.geo.stream(n,i(Wa)),Ua?[Da/Ua,Pa/Ua]:Ra?[qa/Ra,Ta/Ra]:La?[Ca/La,za/La]:[NaN,NaN]},n.bounds=function(n){return Va=Xa=-(Ya=Za=1/0),ao.geo.stream(n,i(Ba)),[[Ya,Za],[Va,Xa]]},n.projection=function(n){return arguments.length?(i=(e=n)?n.stream||re(n):m,t()):e},n.context=function(n){return arguments.length?(u=null==(r=n)?new Wt:new te(n),"function"!=typeof a&&u.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(u.pointRadius(+t),+t),n):a},n.projection(ao.geo.albersUsa()).context(null)},ao.geo.transform=function(n){return{stream:function(t){var e=new ie(t);for(var r in n)e[r]=n[r];return e}}},ie.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},ao.geo.projection=oe,ao.geo.projectionMutator=ae,(ao.geo.equirectangular=function(){return oe(ce)}).raw=ce.invert=ce,ao.geo.rotation=function(n){function t(t){return t=n(t[0]*Yo,t[1]*Yo),t[0]*=Zo,t[1]*=Zo,t}return n=se(n[0]%360*Yo,n[1]*Yo,n.length>2?n[2]*Yo:0),t.invert=function(t){return t=n.invert(t[0]*Yo,t[1]*Yo),t[0]*=Zo,t[1]*=Zo,t},t},fe.invert=ce,ao.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=se(-n[0]*Yo,-n[1]*Yo,0).invert,i=[];return e(null,null,1,{point:function(n,e){i.push(n=t(n,e)),n[0]*=Zo,n[1]*=Zo}}),{type:"Polygon",coordinates:[i]}}var t,e,r=[0,0],i=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=ve((t=+r)*Yo,i*Yo),n):t},n.precision=function(r){return arguments.length?(e=ve(t*Yo,(i=+r)*Yo),n):i},n.angle(90)},ao.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Yo,i=n[1]*Yo,u=t[1]*Yo,o=Math.sin(r),a=Math.cos(r),l=Math.sin(i),c=Math.cos(i),f=Math.sin(u),s=Math.cos(u);return Math.atan2(Math.sqrt((e=s*o)*e+(e=c*f-l*s*a)*e),l*f+c*s*a)},ao.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return ao.range(Math.ceil(u/d)*d,i,d).map(h).concat(ao.range(Math.ceil(c/y)*y,l,y).map(p)).concat(ao.range(Math.ceil(r/g)*g,e,g).filter(function(n){return xo(n%d)>Uo}).map(f)).concat(ao.range(Math.ceil(a/v)*v,o,v).filter(function(n){return xo(n%y)>Uo}).map(s))}var e,r,i,u,o,a,l,c,f,s,h,p,g=10,v=g,d=90,y=360,m=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(u).concat(p(l).slice(1),h(i).reverse().slice(1),p(c).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(u=+t[0][0],i=+t[1][0],c=+t[0][1],l=+t[1][1],u>i&&(t=u,u=i,i=t),c>l&&(t=c,c=l,l=t),n.precision(m)):[[u,c],[i,l]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(m)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(d=+t[0],y=+t[1],n):[d,y]},n.minorStep=function(t){return arguments.length?(g=+t[0],v=+t[1],n):[g,v]},n.precision=function(t){return arguments.length?(m=+t,f=ye(a,o,90),s=me(r,e,m),h=ye(c,l,90),p=me(u,i,m),n):m},n.majorExtent([[-180,-90+Uo],[180,90-Uo]]).minorExtent([[-180,-80-Uo],[180,80+Uo]])},ao.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||i.apply(this,arguments)]}}var t,e,r=Me,i=xe;return n.distance=function(){return ao.geo.distance(t||r.apply(this,arguments),e||i.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(i=t,e="function"==typeof t?null:t,n):i},n.precision=function(){return arguments.length?n:0},n},ao.geo.interpolate=function(n,t){return be(n[0]*Yo,n[1]*Yo,t[0]*Yo,t[1]*Yo)},ao.geo.length=function(n){return Ja=0,ao.geo.stream(n,Ga),Ja};var Ja,Ga={sphere:b,point:b,lineStart:_e,lineEnd:b,polygonStart:b,polygonEnd:b},Ka=we(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(ao.geo.azimuthalEqualArea=function(){return oe(Ka)}).raw=Ka;var Qa=we(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},m);(ao.geo.azimuthalEquidistant=function(){return oe(Qa)}).raw=Qa,(ao.geo.conicConformal=function(){return Vt(Se)}).raw=Se,(ao.geo.conicEquidistant=function(){return Vt(ke)}).raw=ke;var nl=we(function(n){return 1/n},Math.atan);(ao.geo.gnomonic=function(){return oe(nl)}).raw=nl,Ne.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Io]},(ao.geo.mercator=function(){return Ee(Ne)}).raw=Ne;var tl=we(function(){return 1},Math.asin);(ao.geo.orthographic=function(){return oe(tl)}).raw=tl;var el=we(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(ao.geo.stereographic=function(){return oe(el)}).raw=el,Ae.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n))-Io]},(ao.geo.transverseMercator=function(){var n=Ee(Ae),t=n.center,e=n.rotate;return n.center=function(n){return n?t([-n[1],n[0]]):(n=t(),[n[1],-n[0]])},n.rotate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):(n=e(),[n[0],n[1],n[2]-90])},e([0,0,90])}).raw=Ae,ao.geom={},ao.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,i=En(e),u=En(r),o=n.length,a=[],l=[];for(t=0;o>t;t++)a.push([+i.call(this,n[t],t),+u.call(this,n[t],t),t]);for(a.sort(qe),t=0;o>t;t++)l.push([a[t][0],-a[t][1]]);var c=Le(a),f=Le(l),s=f[0]===c[0],h=f[f.length-1]===c[c.length-1],p=[];for(t=c.length-1;t>=0;--t)p.push(n[a[c[t]][2]]);for(t=+s;t<f.length-h;++t)p.push(n[a[f[t]][2]]);return p}var e=Ce,r=ze;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t)},ao.geom.polygon=function(n){return ko(n,rl),n};var rl=ao.geom.polygon.prototype=[];rl.area=function(){for(var n,t=-1,e=this.length,r=this[e-1],i=0;++t<e;)n=r,r=this[t],i+=n[1]*r[0]-n[0]*r[1];return.5*i},rl.centroid=function(n){var t,e,r=-1,i=this.length,u=0,o=0,a=this[i-1];for(arguments.length||(n=-1/(6*this.area()));++r<i;)t=a,a=this[r],e=t[0]*a[1]-a[0]*t[1],u+=(t[0]+a[0])*e,o+=(t[1]+a[1])*e;return[u*n,o*n]},rl.clip=function(n){for(var t,e,r,i,u,o,a=De(n),l=-1,c=this.length-De(this),f=this[c-1];++l<c;){for(t=n.slice(),n.length=0,i=this[l],u=t[(r=t.length-a)-1],e=-1;++e<r;)o=t[e],Te(o,f,i)?(Te(u,f,i)||n.push(Re(u,o,f,i)),n.push(o)):Te(u,f,i)&&n.push(Re(u,o,f,i)),u=o;a&&n.push(n[0]),f=i}return n};var il,ul,ol,al,ll,cl=[],fl=[];Ye.prototype.prepare=function(){for(var n,t=this.edges,e=t.length;e--;)n=t[e].edge,n.b&&n.a||t.splice(e,1);return t.sort(Ve),t.length},tr.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},er.prototype={insert:function(n,t){var e,r,i;if(n){if(t.P=n,t.N=n.N,n.N&&(n.N.P=t),n.N=t,n.R){for(n=n.R;n.L;)n=n.L;n.L=t}else n.R=t;e=n}else this._?(n=or(this._),t.P=null,t.N=n,n.P=n.L=t,e=n):(t.P=t.N=null,this._=t,e=null);for(t.L=t.R=null,t.U=e,t.C=!0,n=t;e&&e.C;)r=e.U,e===r.L?(i=r.R,i&&i.C?(e.C=i.C=!1,r.C=!0,n=r):(n===e.R&&(ir(this,e),n=e,e=n.U),e.C=!1,r.C=!0,ur(this,r))):(i=r.L,i&&i.C?(e.C=i.C=!1,r.C=!0,n=r):(n===e.L&&(ur(this,e),n=e,e=n.U),e.C=!1,r.C=!0,ir(this,r))),e=n.U;this._.C=!1},remove:function(n){n.N&&(n.N.P=n.P),n.P&&(n.P.N=n.N),n.N=n.P=null;var t,e,r,i=n.U,u=n.L,o=n.R;if(e=u?o?or(o):u:o,i?i.L===n?i.L=e:i.R=e:this._=e,u&&o?(r=e.C,e.C=n.C,e.L=u,u.U=e,e!==o?(i=e.U,e.U=n.U,n=e.R,i.L=n,e.R=o,o.U=e):(e.U=i,i=e,n=e.R)):(r=n.C,n=e),n&&(n.U=i),!r){if(n&&n.C)return void(n.C=!1);do{if(n===this._)break;if(n===i.L){if(t=i.R,t.C&&(t.C=!1,i.C=!0,ir(this,i),t=i.R),t.L&&t.L.C||t.R&&t.R.C){t.R&&t.R.C||(t.L.C=!1,t.C=!0,ur(this,t),t=i.R),t.C=i.C,i.C=t.R.C=!1,ir(this,i),n=this._;break}}else if(t=i.L,t.C&&(t.C=!1,i.C=!0,ur(this,i),t=i.L),t.L&&t.L.C||t.R&&t.R.C){t.L&&t.L.C||(t.R.C=!1,t.C=!0,ir(this,t),t=i.L),t.C=i.C,i.C=t.L.C=!1,ur(this,i),n=this._;break}t.C=!0,n=i,i=i.U}while(!n.C);n&&(n.C=!1)}}},ao.geom.voronoi=function(n){function t(n){var t=new Array(n.length),r=a[0][0],i=a[0][1],u=a[1][0],o=a[1][1];return ar(e(n),a).cells.forEach(function(e,a){var l=e.edges,c=e.site,f=t[a]=l.length?l.map(function(n){var t=n.start();return[t.x,t.y]}):c.x>=r&&c.x<=u&&c.y>=i&&c.y<=o?[[r,o],[u,o],[u,i],[r,i]]:[];f.point=n[a]}),t}function e(n){return n.map(function(n,t){return{x:Math.round(u(n,t)/Uo)*Uo,y:Math.round(o(n,t)/Uo)*Uo,i:t}})}var r=Ce,i=ze,u=r,o=i,a=sl;return n?t(n):(t.links=function(n){return ar(e(n)).edges.filter(function(n){return n.l&&n.r}).map(function(t){return{source:n[t.l.i],target:n[t.r.i]}})},t.triangles=function(n){var t=[];return ar(e(n)).cells.forEach(function(e,r){for(var i,u,o=e.site,a=e.edges.sort(Ve),l=-1,c=a.length,f=a[c-1].edge,s=f.l===o?f.r:f.l;++l<c;)i=f,u=s,f=a[l].edge,s=f.l===o?f.r:f.l,r<u.i&&r<s.i&&cr(o,u,s)<0&&t.push([n[r],n[u.i],n[s.i]])}),t},t.x=function(n){return arguments.length?(u=En(r=n),t):r},t.y=function(n){return arguments.length?(o=En(i=n),t):i},t.clipExtent=function(n){return arguments.length?(a=null==n?sl:n,t):a===sl?null:a},t.size=function(n){return arguments.length?t.clipExtent(n&&[[0,0],n]):a===sl?null:a&&a[1]},t)};var sl=[[-1e6,-1e6],[1e6,1e6]];ao.geom.delaunay=function(n){return ao.geom.voronoi().triangles(n)},ao.geom.quadtree=function(n,t,e,r,i){function u(n){function u(n,t,e,r,i,u,o,a){if(!isNaN(e)&&!isNaN(r))if(n.leaf){var l=n.x,f=n.y;if(null!=l)if(xo(l-e)+xo(f-r)<.01)c(n,t,e,r,i,u,o,a);else{var s=n.point;n.x=n.y=n.point=null,c(n,s,l,f,i,u,o,a),c(n,t,e,r,i,u,o,a)}else n.x=e,n.y=r,n.point=t}else c(n,t,e,r,i,u,o,a)}function c(n,t,e,r,i,o,a,l){var c=.5*(i+a),f=.5*(o+l),s=e>=c,h=r>=f,p=h<<1|s;n.leaf=!1,n=n.nodes[p]||(n.nodes[p]=hr()),s?i=c:a=c,h?o=f:l=f,u(n,t,e,r,i,o,a,l)}var f,s,h,p,g,v,d,y,m,M=En(a),x=En(l);if(null!=t)v=t,d=e,y=r,m=i;else if(y=m=-(v=d=1/0),s=[],h=[],g=n.length,o)for(p=0;g>p;++p)f=n[p],f.x<v&&(v=f.x),f.y<d&&(d=f.y),f.x>y&&(y=f.x),f.y>m&&(m=f.y),s.push(f.x),h.push(f.y);else for(p=0;g>p;++p){var b=+M(f=n[p],p),_=+x(f,p);v>b&&(v=b),d>_&&(d=_),b>y&&(y=b),_>m&&(m=_),s.push(b),h.push(_)}var w=y-v,S=m-d;w>S?m=d+w:y=v+S;var k=hr();if(k.add=function(n){u(k,n,+M(n,++p),+x(n,p),v,d,y,m)},k.visit=function(n){pr(n,k,v,d,y,m)},k.find=function(n){return gr(k,n[0],n[1],v,d,y,m)},p=-1,null==t){for(;++p<g;)u(k,n[p],s[p],h[p],v,d,y,m);--p}else n.forEach(k.add);return s=h=n=f=null,k}var o,a=Ce,l=ze;return(o=arguments.length)?(a=fr,l=sr,3===o&&(i=e,r=t,e=t=0),u(n)):(u.x=function(n){return arguments.length?(a=n,u):a},u.y=function(n){return arguments.length?(l=n,u):l},u.extent=function(n){return arguments.length?(null==n?t=e=r=i=null:(t=+n[0][0],e=+n[0][1],r=+n[1][0],i=+n[1][1]),u):null==t?null:[[t,e],[r,i]]},u.size=function(n){return arguments.length?(null==n?t=e=r=i=null:(t=e=0,r=+n[0],i=+n[1]),u):null==t?null:[r-t,i-e]},u)},ao.interpolateRgb=vr,ao.interpolateObject=dr,ao.interpolateNumber=yr,ao.interpolateString=mr;var hl=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,pl=new RegExp(hl.source,"g");ao.interpolate=Mr,ao.interpolators=[function(n,t){var e=typeof t;return("string"===e?ua.has(t.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(t)?vr:mr:t instanceof an?vr:Array.isArray(t)?xr:"object"===e&&isNaN(t)?dr:yr)(n,t)}],ao.interpolateArray=xr;var gl=function(){return m},vl=ao.map({linear:gl,poly:Er,quad:function(){return Sr},cubic:function(){return kr},sin:function(){return Ar},exp:function(){return Cr},circle:function(){return zr},elastic:Lr,back:qr,bounce:function(){return Tr}}),dl=ao.map({"in":m,out:_r,"in-out":wr,"out-in":function(n){return wr(_r(n))}});ao.ease=function(n){var t=n.indexOf("-"),e=t>=0?n.slice(0,t):n,r=t>=0?n.slice(t+1):"in";return e=vl.get(e)||gl,r=dl.get(r)||m,br(r(e.apply(null,lo.call(arguments,1))))},ao.interpolateHcl=Rr,ao.interpolateHsl=Dr,ao.interpolateLab=Pr,ao.interpolateRound=Ur,ao.transform=function(n){var t=fo.createElementNS(ao.ns.prefix.svg,"g");return(ao.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new jr(e?e.matrix:yl)})(n)},jr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var yl={a:1,b:0,c:0,d:1,e:0,f:0};ao.interpolateTransform=$r,ao.layout={},ao.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++e<r;)t.push(Jr(n[e]));return t}},ao.layout.chord=function(){function n(){var n,c,s,h,p,g={},v=[],d=ao.range(u),y=[];for(e=[],r=[],n=0,h=-1;++h<u;){for(c=0,p=-1;++p<u;)c+=i[h][p];v.push(c),y.push(ao.range(u)),n+=c}for(o&&d.sort(function(n,t){return o(v[n],v[t])}),a&&y.forEach(function(n,t){n.sort(function(n,e){return a(i[t][n],i[t][e])})}),n=(Ho-f*u)/n,c=0,h=-1;++h<u;){for(s=c,p=-1;++p<u;){var m=d[h],M=y[m][p],x=i[m][M],b=c,_=c+=x*n;g[m+"-"+M]={index:m,subindex:M,startAngle:b,endAngle:_,value:x}}r[m]={index:m,startAngle:s,endAngle:c,value:v[m]},c+=f}for(h=-1;++h<u;)for(p=h-1;++p<u;){var w=g[h+"-"+p],S=g[p+"-"+h];(w.value||S.value)&&e.push(w.value<S.value?{source:S,target:w}:{source:w,target:S})}l&&t()}function t(){e.sort(function(n,t){return l((n.source.value+n.target.value)/2,(t.source.value+t.target.value)/2)})}var e,r,i,u,o,a,l,c={},f=0;return c.matrix=function(n){return arguments.length?(u=(i=n)&&i.length,e=r=null,c):i},c.padding=function(n){return arguments.length?(f=n,e=r=null,c):f},c.sortGroups=function(n){return arguments.length?(o=n,e=r=null,c):o},c.sortSubgroups=function(n){return arguments.length?(a=n,e=null,c):a},c.sortChords=function(n){return arguments.length?(l=n,e&&t(),c):l},c.chords=function(){return e||n(),e},c.groups=function(){return r||n(),r},c},ao.layout.force=function(){function n(n){return function(t,e,r,i){if(t.point!==n){var u=t.cx-n.x,o=t.cy-n.y,a=i-e,l=u*u+o*o;if(l>a*a/y){if(v>l){var c=t.charge/l;n.px-=u*c,n.py-=o*c}return!0}if(t.point&&l&&v>l){var c=t.pointCharge/l;n.px-=u*c,n.py-=o*c}}return!t.charge}}function t(n){n.px=ao.event.x,n.py=ao.event.y,l.resume()}var e,r,i,u,o,a,l={},c=ao.dispatch("start","tick","end"),f=[1,1],s=.9,h=ml,p=Ml,g=-30,v=xl,d=.1,y=.64,M=[],x=[];return l.tick=function(){if((i*=.99)<.005)return e=null,c.end({type:"end",alpha:i=0}),!0;var t,r,l,h,p,v,y,m,b,_=M.length,w=x.length;for(r=0;w>r;++r)l=x[r],h=l.source,p=l.target,m=p.x-h.x,b=p.y-h.y,(v=m*m+b*b)&&(v=i*o[r]*((v=Math.sqrt(v))-u[r])/v,m*=v,b*=v,p.x-=m*(y=h.weight+p.weight?h.weight/(h.weight+p.weight):.5),p.y-=b*y,h.x+=m*(y=1-y),h.y+=b*y);if((y=i*d)&&(m=f[0]/2,b=f[1]/2,r=-1,y))for(;++r<_;)l=M[r],l.x+=(m-l.x)*y,l.y+=(b-l.y)*y;if(g)for(ri(t=ao.geom.quadtree(M),i,a),r=-1;++r<_;)(l=M[r]).fixed||t.visit(n(l));for(r=-1;++r<_;)l=M[r],l.fixed?(l.x=l.px,l.y=l.py):(l.x-=(l.px-(l.px=l.x))*s,l.y-=(l.py-(l.py=l.y))*s);c.tick({type:"tick",alpha:i})},l.nodes=function(n){return arguments.length?(M=n,l):M},l.links=function(n){return arguments.length?(x=n,l):x},l.size=function(n){return arguments.length?(f=n,l):f},l.linkDistance=function(n){return arguments.length?(h="function"==typeof n?n:+n,l):h},l.distance=l.linkDistance,l.linkStrength=function(n){return arguments.length?(p="function"==typeof n?n:+n,l):p},l.friction=function(n){return arguments.length?(s=+n,l):s},l.charge=function(n){return arguments.length?(g="function"==typeof n?n:+n,l):g},l.chargeDistance=function(n){return arguments.length?(v=n*n,l):Math.sqrt(v)},l.gravity=function(n){return arguments.length?(d=+n,l):d},l.theta=function(n){return arguments.length?(y=n*n,l):Math.sqrt(y)},l.alpha=function(n){return arguments.length?(n=+n,i?n>0?i=n:(e.c=null,e.t=NaN,e=null,c.end({type:"end",alpha:i=0})):n>0&&(c.start({type:"start",alpha:i=n}),e=qn(l.tick)),l):i},l.start=function(){function n(n,r){if(!e){for(e=new Array(i),l=0;i>l;++l)e[l]=[];for(l=0;c>l;++l){var u=x[l];e[u.source.index].push(u.target),e[u.target.index].push(u.source)}}for(var o,a=e[t],l=-1,f=a.length;++l<f;)if(!isNaN(o=a[l][n]))return o;return Math.random()*r}var t,e,r,i=M.length,c=x.length,s=f[0],v=f[1];for(t=0;i>t;++t)(r=M[t]).index=t,r.weight=0;for(t=0;c>t;++t)r=x[t],"number"==typeof r.source&&(r.source=M[r.source]),"number"==typeof r.target&&(r.target=M[r.target]),++r.source.weight,++r.target.weight;for(t=0;i>t;++t)r=M[t],isNaN(r.x)&&(r.x=n("x",s)),isNaN(r.y)&&(r.y=n("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(u=[],"function"==typeof h)for(t=0;c>t;++t)u[t]=+h.call(this,x[t],t);else for(t=0;c>t;++t)u[t]=h;if(o=[],"function"==typeof p)for(t=0;c>t;++t)o[t]=+p.call(this,x[t],t);else for(t=0;c>t;++t)o[t]=p;if(a=[],"function"==typeof g)for(t=0;i>t;++t)a[t]=+g.call(this,M[t],t);else for(t=0;i>t;++t)a[t]=g;return l.resume()},l.resume=function(){return l.alpha(.1)},l.stop=function(){return l.alpha(0)},l.drag=function(){return r||(r=ao.behavior.drag().origin(m).on("dragstart.force",Qr).on("drag.force",t).on("dragend.force",ni)),arguments.length?void this.on("mouseover.force",ti).on("mouseout.force",ei).call(r):r},ao.rebind(l,c,"on")};var ml=20,Ml=1,xl=1/0;ao.layout.hierarchy=function(){function n(i){var u,o=[i],a=[];for(i.depth=0;null!=(u=o.pop());)if(a.push(u),(c=e.call(n,u,u.depth))&&(l=c.length)){for(var l,c,f;--l>=0;)o.push(f=c[l]),f.parent=u,f.depth=u.depth+1;r&&(u.value=0),u.children=c}else r&&(u.value=+r.call(n,u,u.depth)||0),delete u.children;return oi(i,function(n){var e,i;t&&(e=n.children)&&e.sort(t),r&&(i=n.parent)&&(i.value+=n.value)}),a}var t=ci,e=ai,r=li;return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(ui(t,function(n){n.children&&(n.value=0)}),oi(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},ao.layout.partition=function(){function n(t,e,r,i){var u=t.children;if(t.x=e,t.y=t.depth*i,t.dx=r,t.dy=i,u&&(o=u.length)){var o,a,l,c=-1;for(r=t.value?r/t.value:0;++c<o;)n(a=u[c],e,l=a.value*r,i),e+=l}}function t(n){var e=n.children,r=0;if(e&&(i=e.length))for(var i,u=-1;++u<i;)r=Math.max(r,t(e[u]));return 1+r}function e(e,u){var o=r.call(this,e,u);return n(o[0],0,i[0],i[1]/t(o[0])),o}var r=ao.layout.hierarchy(),i=[1,1];return e.size=function(n){return arguments.length?(i=n,e):i},ii(e,r)},ao.layout.pie=function(){function n(o){var a,l=o.length,c=o.map(function(e,r){return+t.call(n,e,r)}),f=+("function"==typeof r?r.apply(this,arguments):r),s=("function"==typeof i?i.apply(this,arguments):i)-f,h=Math.min(Math.abs(s)/l,+("function"==typeof u?u.apply(this,arguments):u)),p=h*(0>s?-1:1),g=ao.sum(c),v=g?(s-l*p)/g:0,d=ao.range(l),y=[];return null!=e&&d.sort(e===bl?function(n,t){return c[t]-c[n]}:function(n,t){return e(o[n],o[t])}),d.forEach(function(n){y[n]={data:o[n],value:a=c[n],startAngle:f,endAngle:f+=a*v+p,padAngle:h}}),y}var t=Number,e=bl,r=0,i=Ho,u=0;return n.value=function(e){return arguments.length?(t=e,n):t},n.sort=function(t){return arguments.length?(e=t,n):e},n.startAngle=function(t){return arguments.length?(r=t,n):r},n.endAngle=function(t){return arguments.length?(i=t,n):i},n.padAngle=function(t){return arguments.length?(u=t,n):u},n};var bl={};ao.layout.stack=function(){function n(a,l){if(!(h=a.length))return a;var c=a.map(function(e,r){return t.call(n,e,r)}),f=c.map(function(t){return t.map(function(t,e){return[u.call(n,t,e),o.call(n,t,e)]})}),s=e.call(n,f,l);c=ao.permute(c,s),f=ao.permute(f,s);var h,p,g,v,d=r.call(n,f,l),y=c[0].length;for(g=0;y>g;++g)for(i.call(n,c[0][g],v=d[g],f[0][g][1]),p=1;h>p;++p)i.call(n,c[p][g],v+=f[p-1][g][1],f[p][g][1]);return a}var t=m,e=gi,r=vi,i=pi,u=si,o=hi;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:_l.get(t)||gi,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:wl.get(t)||vi,n):r},n.x=function(t){return arguments.length?(u=t,n):u},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(i=t,n):i},n};var _l=ao.map({"inside-out":function(n){var t,e,r=n.length,i=n.map(di),u=n.map(yi),o=ao.range(r).sort(function(n,t){return i[n]-i[t]}),a=0,l=0,c=[],f=[];for(t=0;r>t;++t)e=o[t],l>a?(a+=u[e],c.push(e)):(l+=u[e],f.push(e));return f.reverse().concat(c)},reverse:function(n){return ao.range(n.length).reverse()},"default":gi}),wl=ao.map({silhouette:function(n){var t,e,r,i=n.length,u=n[0].length,o=[],a=0,l=[];for(e=0;u>e;++e){for(t=0,r=0;i>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;u>e;++e)l[e]=(a-o[e])/2;return l},wiggle:function(n){var t,e,r,i,u,o,a,l,c,f=n.length,s=n[0],h=s.length,p=[];for(p[0]=l=c=0,e=1;h>e;++e){for(t=0,i=0;f>t;++t)i+=n[t][e][1];for(t=0,u=0,a=s[e][0]-s[e-1][0];f>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;u+=o*n[t][e][1]}p[e]=l-=i?u/i*a:0,c>l&&(c=l)}for(e=0;h>e;++e)p[e]-=c;return p},expand:function(n){var t,e,r,i=n.length,u=n[0].length,o=1/i,a=[];for(e=0;u>e;++e){for(t=0,r=0;i>t;t++)r+=n[t][e][1];if(r)for(t=0;i>t;t++)n[t][e][1]/=r;else for(t=0;i>t;t++)n[t][e][1]=o}for(e=0;u>e;++e)a[e]=0;return a},zero:vi});ao.layout.histogram=function(){function n(n,u){for(var o,a,l=[],c=n.map(e,this),f=r.call(this,c,u),s=i.call(this,f,c,u),u=-1,h=c.length,p=s.length-1,g=t?1:1/h;++u<p;)o=l[u]=[],o.dx=s[u+1]-(o.x=s[u]),o.y=0;if(p>0)for(u=-1;++u<h;)a=c[u],a>=f[0]&&a<=f[1]&&(o=l[ao.bisect(s,a,1,p)-1],o.y+=g,o.push(n[u]));return l}var t=!0,e=Number,r=bi,i=Mi;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=En(t),n):r},n.bins=function(t){return arguments.length?(i="number"==typeof t?function(n){return xi(n,t)}:En(t),n):i},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},ao.layout.pack=function(){function n(n,u){var o=e.call(this,n,u),a=o[0],l=i[0],c=i[1],f=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,oi(a,function(n){n.r=+f(n.value)}),oi(a,Ni),r){var s=r*(t?1:Math.max(2*a.r/l,2*a.r/c))/2;oi(a,function(n){n.r+=s}),oi(a,Ni),oi(a,function(n){n.r-=s})}return Ci(a,l/2,c/2,t?1:1/Math.max(2*a.r/l,2*a.r/c)),o}var t,e=ao.layout.hierarchy().sort(_i),r=0,i=[1,1];return n.size=function(t){return arguments.length?(i=t,n):i},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},ii(n,e)},ao.layout.tree=function(){function n(n,i){var f=o.call(this,n,i),s=f[0],h=t(s);if(oi(h,e),h.parent.m=-h.z,ui(h,r),c)ui(s,u);else{var p=s,g=s,v=s;ui(s,function(n){n.x<p.x&&(p=n),n.x>g.x&&(g=n),n.depth>v.depth&&(v=n)});var d=a(p,g)/2-p.x,y=l[0]/(g.x+a(g,p)/2+d),m=l[1]/(v.depth||1);ui(s,function(n){n.x=(n.x+d)*y,n.y=n.depth*m})}return f}function t(n){for(var t,e={A:null,children:[n]},r=[e];null!=(t=r.pop());)for(var i,u=t.children,o=0,a=u.length;a>o;++o)r.push((u[o]=i={_:u[o],parent:t,children:(i=u[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return e.children[0]}function e(n){var t=n.children,e=n.parent.children,r=n.i?e[n.i-1]:null;if(t.length){Di(n);var u=(t[0].z+t[t.length-1].z)/2;r?(n.z=r.z+a(n._,r._),n.m=n.z-u):n.z=u}else r&&(n.z=r.z+a(n._,r._));n.parent.A=i(n,r,n.parent.A||e[0])}function r(n){n._.x=n.z+n.parent.m,n.m+=n.parent.m}function i(n,t,e){if(t){for(var r,i=n,u=n,o=t,l=i.parent.children[0],c=i.m,f=u.m,s=o.m,h=l.m;o=Ti(o),i=qi(i),o&&i;)l=qi(l),u=Ti(u),u.a=n,r=o.z+s-i.z-c+a(o._,i._),r>0&&(Ri(Pi(o,n,e),n,r),c+=r,f+=r),s+=o.m,c+=i.m,h+=l.m,f+=u.m;o&&!Ti(u)&&(u.t=o,u.m+=s-f),i&&!qi(l)&&(l.t=i,l.m+=c-h,e=n)}return e}function u(n){n.x*=l[0],n.y=n.depth*l[1]}var o=ao.layout.hierarchy().sort(null).value(null),a=Li,l=[1,1],c=null;return n.separation=function(t){return arguments.length?(a=t,n):a},n.size=function(t){return arguments.length?(c=null==(l=t)?u:null,n):c?null:l},n.nodeSize=function(t){return arguments.length?(c=null==(l=t)?null:u,n):c?l:null},ii(n,o)},ao.layout.cluster=function(){function n(n,u){var o,a=t.call(this,n,u),l=a[0],c=0;oi(l,function(n){var t=n.children;t&&t.length?(n.x=ji(t),n.y=Ui(t)):(n.x=o?c+=e(n,o):0,n.y=0,o=n)});var f=Fi(l),s=Hi(l),h=f.x-e(f,s)/2,p=s.x+e(s,f)/2;return oi(l,i?function(n){n.x=(n.x-l.x)*r[0],n.y=(l.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(p-h)*r[0],n.y=(1-(l.y?n.y/l.y:1))*r[1]}),a}var t=ao.layout.hierarchy().sort(null).value(null),e=Li,r=[1,1],i=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(i=null==(r=t),n):i?null:r},n.nodeSize=function(t){return arguments.length?(i=null!=(r=t),n):i?r:null},ii(n,t)},ao.layout.treemap=function(){function n(n,t){for(var e,r,i=-1,u=n.length;++i<u;)r=(e=n[i]).value*(0>t?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var u=e.children;if(u&&u.length){var o,a,l,c=s(e),f=[],h=u.slice(),g=1/0,v="slice"===p?c.dx:"dice"===p?c.dy:"slice-dice"===p?1&e.depth?c.dy:c.dx:Math.min(c.dx,c.dy);for(n(h,c.dx*c.dy/e.value),f.area=0;(l=h.length)>0;)f.push(o=h[l-1]),f.area+=o.area,"squarify"!==p||(a=r(f,v))<=g?(h.pop(),g=a):(f.area-=f.pop().area,i(f,v,c,!1),v=Math.min(c.dx,c.dy),f.length=f.area=0,g=1/0);f.length&&(i(f,v,c,!0),f.length=f.area=0),u.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var u,o=s(t),a=r.slice(),l=[];for(n(a,o.dx*o.dy/t.value),l.area=0;u=a.pop();)l.push(u),l.area+=u.area,null!=u.z&&(i(l,u.z?o.dx:o.dy,o,!a.length),l.length=l.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,i=0,u=1/0,o=-1,a=n.length;++o<a;)(e=n[o].area)&&(u>e&&(u=e),e>i&&(i=e));return r*=r,t*=t,r?Math.max(t*i*g/r,r/(t*u*g)):1/0}function i(n,t,e,r){var i,u=-1,o=n.length,a=e.x,c=e.y,f=t?l(n.area/t):0; +if(t==e.dx){for((r||f>e.dy)&&(f=e.dy);++u<o;)i=n[u],i.x=a,i.y=c,i.dy=f,a+=i.dx=Math.min(e.x+e.dx-a,f?l(i.area/f):0);i.z=!0,i.dx+=e.x+e.dx-a,e.y+=f,e.dy-=f}else{for((r||f>e.dx)&&(f=e.dx);++u<o;)i=n[u],i.x=a,i.y=c,i.dx=f,c+=i.dy=Math.min(e.y+e.dy-c,f?l(i.area/f):0);i.z=!1,i.dy+=e.y+e.dy-c,e.x+=f,e.dx-=f}}function u(r){var i=o||a(r),u=i[0];return u.x=u.y=0,u.value?(u.dx=c[0],u.dy=c[1]):u.dx=u.dy=0,o&&a.revalue(u),n([u],u.dx*u.dy/u.value),(o?e:t)(u),h&&(o=i),i}var o,a=ao.layout.hierarchy(),l=Math.round,c=[1,1],f=null,s=Oi,h=!1,p="squarify",g=.5*(1+Math.sqrt(5));return u.size=function(n){return arguments.length?(c=n,u):c},u.padding=function(n){function t(t){var e=n.call(u,t,t.depth);return null==e?Oi(t):Ii(t,"number"==typeof e?[e,e,e,e]:e)}function e(t){return Ii(t,n)}if(!arguments.length)return f;var r;return s=null==(f=n)?Oi:"function"==(r=typeof n)?t:"number"===r?(n=[n,n,n,n],e):e,u},u.round=function(n){return arguments.length?(l=n?Math.round:Number,u):l!=Number},u.sticky=function(n){return arguments.length?(h=n,o=null,u):h},u.ratio=function(n){return arguments.length?(g=n,u):g},u.mode=function(n){return arguments.length?(p=n+"",u):p},ii(u,a)},ao.random={normal:function(n,t){var e=arguments.length;return 2>e&&(t=1),1>e&&(n=0),function(){var e,r,i;do e=2*Math.random()-1,r=2*Math.random()-1,i=e*e+r*r;while(!i||i>1);return n+t*e*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var n=ao.random.normal.apply(ao,arguments);return function(){return Math.exp(n())}},bates:function(n){var t=ao.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t}}},ao.scale={};var Sl={floor:m,ceil:m};ao.scale.linear=function(){return Wi([0,1],[0,1],Mr,!1)};var kl={s:1,g:1,p:1,r:1,e:1};ao.scale.log=function(){return ru(ao.scale.linear().domain([0,1]),10,!0,[1,10])};var Nl=ao.format(".0e"),El={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};ao.scale.pow=function(){return iu(ao.scale.linear(),1,[0,1])},ao.scale.sqrt=function(){return ao.scale.pow().exponent(.5)},ao.scale.ordinal=function(){return ou([],{t:"range",a:[[]]})},ao.scale.category10=function(){return ao.scale.ordinal().range(Al)},ao.scale.category20=function(){return ao.scale.ordinal().range(Cl)},ao.scale.category20b=function(){return ao.scale.ordinal().range(zl)},ao.scale.category20c=function(){return ao.scale.ordinal().range(Ll)};var Al=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(xn),Cl=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(xn),zl=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(xn),Ll=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(xn);ao.scale.quantile=function(){return au([],[])},ao.scale.quantize=function(){return lu(0,1,[0,1])},ao.scale.threshold=function(){return cu([.5],[0,1])},ao.scale.identity=function(){return fu([0,1])},ao.svg={},ao.svg.arc=function(){function n(){var n=Math.max(0,+e.apply(this,arguments)),c=Math.max(0,+r.apply(this,arguments)),f=o.apply(this,arguments)-Io,s=a.apply(this,arguments)-Io,h=Math.abs(s-f),p=f>s?0:1;if(n>c&&(g=c,c=n,n=g),h>=Oo)return t(c,p)+(n?t(n,1-p):"")+"Z";var g,v,d,y,m,M,x,b,_,w,S,k,N=0,E=0,A=[];if((y=(+l.apply(this,arguments)||0)/2)&&(d=u===ql?Math.sqrt(n*n+c*c):+u.apply(this,arguments),p||(E*=-1),c&&(E=tn(d/c*Math.sin(y))),n&&(N=tn(d/n*Math.sin(y)))),c){m=c*Math.cos(f+E),M=c*Math.sin(f+E),x=c*Math.cos(s-E),b=c*Math.sin(s-E);var C=Math.abs(s-f-2*E)<=Fo?0:1;if(E&&yu(m,M,x,b)===p^C){var z=(f+s)/2;m=c*Math.cos(z),M=c*Math.sin(z),x=b=null}}else m=M=0;if(n){_=n*Math.cos(s-N),w=n*Math.sin(s-N),S=n*Math.cos(f+N),k=n*Math.sin(f+N);var L=Math.abs(f-s+2*N)<=Fo?0:1;if(N&&yu(_,w,S,k)===1-p^L){var q=(f+s)/2;_=n*Math.cos(q),w=n*Math.sin(q),S=k=null}}else _=w=0;if(h>Uo&&(g=Math.min(Math.abs(c-n)/2,+i.apply(this,arguments)))>.001){v=c>n^p?0:1;var T=g,R=g;if(Fo>h){var D=null==S?[_,w]:null==x?[m,M]:Re([m,M],[S,k],[x,b],[_,w]),P=m-D[0],U=M-D[1],j=x-D[0],F=b-D[1],H=1/Math.sin(Math.acos((P*j+U*F)/(Math.sqrt(P*P+U*U)*Math.sqrt(j*j+F*F)))/2),O=Math.sqrt(D[0]*D[0]+D[1]*D[1]);R=Math.min(g,(n-O)/(H-1)),T=Math.min(g,(c-O)/(H+1))}if(null!=x){var I=mu(null==S?[_,w]:[S,k],[m,M],c,T,p),Y=mu([x,b],[_,w],c,T,p);g===T?A.push("M",I[0],"A",T,",",T," 0 0,",v," ",I[1],"A",c,",",c," 0 ",1-p^yu(I[1][0],I[1][1],Y[1][0],Y[1][1]),",",p," ",Y[1],"A",T,",",T," 0 0,",v," ",Y[0]):A.push("M",I[0],"A",T,",",T," 0 1,",v," ",Y[0])}else A.push("M",m,",",M);if(null!=S){var Z=mu([m,M],[S,k],n,-R,p),V=mu([_,w],null==x?[m,M]:[x,b],n,-R,p);g===R?A.push("L",V[0],"A",R,",",R," 0 0,",v," ",V[1],"A",n,",",n," 0 ",p^yu(V[1][0],V[1][1],Z[1][0],Z[1][1]),",",1-p," ",Z[1],"A",R,",",R," 0 0,",v," ",Z[0]):A.push("L",V[0],"A",R,",",R," 0 0,",v," ",Z[0])}else A.push("L",_,",",w)}else A.push("M",m,",",M),null!=x&&A.push("A",c,",",c," 0 ",C,",",p," ",x,",",b),A.push("L",_,",",w),null!=S&&A.push("A",n,",",n," 0 ",L,",",1-p," ",S,",",k);return A.push("Z"),A.join("")}function t(n,t){return"M0,"+n+"A"+n+","+n+" 0 1,"+t+" 0,"+-n+"A"+n+","+n+" 0 1,"+t+" 0,"+n}var e=hu,r=pu,i=su,u=ql,o=gu,a=vu,l=du;return n.innerRadius=function(t){return arguments.length?(e=En(t),n):e},n.outerRadius=function(t){return arguments.length?(r=En(t),n):r},n.cornerRadius=function(t){return arguments.length?(i=En(t),n):i},n.padRadius=function(t){return arguments.length?(u=t==ql?ql:En(t),n):u},n.startAngle=function(t){return arguments.length?(o=En(t),n):o},n.endAngle=function(t){return arguments.length?(a=En(t),n):a},n.padAngle=function(t){return arguments.length?(l=En(t),n):l},n.centroid=function(){var n=(+e.apply(this,arguments)+ +r.apply(this,arguments))/2,t=(+o.apply(this,arguments)+ +a.apply(this,arguments))/2-Io;return[Math.cos(t)*n,Math.sin(t)*n]},n};var ql="auto";ao.svg.line=function(){return Mu(m)};var Tl=ao.map({linear:xu,"linear-closed":bu,step:_u,"step-before":wu,"step-after":Su,basis:zu,"basis-open":Lu,"basis-closed":qu,bundle:Tu,cardinal:Eu,"cardinal-open":ku,"cardinal-closed":Nu,monotone:Fu});Tl.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var Rl=[0,2/3,1/3,0],Dl=[0,1/3,2/3,0],Pl=[0,1/6,2/3,1/6];ao.svg.line.radial=function(){var n=Mu(Hu);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},wu.reverse=Su,Su.reverse=wu,ao.svg.area=function(){return Ou(m)},ao.svg.area.radial=function(){var n=Ou(Hu);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},ao.svg.chord=function(){function n(n,a){var l=t(this,u,n,a),c=t(this,o,n,a);return"M"+l.p0+r(l.r,l.p1,l.a1-l.a0)+(e(l,c)?i(l.r,l.p1,l.r,l.p0):i(l.r,l.p1,c.r,c.p0)+r(c.r,c.p1,c.a1-c.a0)+i(c.r,c.p1,l.r,l.p0))+"Z"}function t(n,t,e,r){var i=t.call(n,e,r),u=a.call(n,i,r),o=l.call(n,i,r)-Io,f=c.call(n,i,r)-Io;return{r:u,a0:o,a1:f,p0:[u*Math.cos(o),u*Math.sin(o)],p1:[u*Math.cos(f),u*Math.sin(f)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>Fo)+",1 "+t}function i(n,t,e,r){return"Q 0,0 "+r}var u=Me,o=xe,a=Iu,l=gu,c=vu;return n.radius=function(t){return arguments.length?(a=En(t),n):a},n.source=function(t){return arguments.length?(u=En(t),n):u},n.target=function(t){return arguments.length?(o=En(t),n):o},n.startAngle=function(t){return arguments.length?(l=En(t),n):l},n.endAngle=function(t){return arguments.length?(c=En(t),n):c},n},ao.svg.diagonal=function(){function n(n,i){var u=t.call(this,n,i),o=e.call(this,n,i),a=(u.y+o.y)/2,l=[u,{x:u.x,y:a},{x:o.x,y:a},o];return l=l.map(r),"M"+l[0]+"C"+l[1]+" "+l[2]+" "+l[3]}var t=Me,e=xe,r=Yu;return n.source=function(e){return arguments.length?(t=En(e),n):t},n.target=function(t){return arguments.length?(e=En(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},ao.svg.diagonal.radial=function(){var n=ao.svg.diagonal(),t=Yu,e=n.projection;return n.projection=function(n){return arguments.length?e(Zu(t=n)):t},n},ao.svg.symbol=function(){function n(n,r){return(Ul.get(t.call(this,n,r))||$u)(e.call(this,n,r))}var t=Xu,e=Vu;return n.type=function(e){return arguments.length?(t=En(e),n):t},n.size=function(t){return arguments.length?(e=En(t),n):e},n};var Ul=ao.map({circle:$u,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Fl)),e=t*Fl;return"M0,"+-t+"L"+e+",0 0,"+t+" "+-e+",0Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/jl),e=t*jl/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/jl),e=t*jl/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});ao.svg.symbolTypes=Ul.keys();var jl=Math.sqrt(3),Fl=Math.tan(30*Yo);Co.transition=function(n){for(var t,e,r=Hl||++Zl,i=Ku(n),u=[],o=Ol||{time:Date.now(),ease:Nr,delay:0,duration:250},a=-1,l=this.length;++a<l;){u.push(t=[]);for(var c=this[a],f=-1,s=c.length;++f<s;)(e=c[f])&&Qu(e,f,i,r,o),t.push(e)}return Wu(u,i,r)},Co.interrupt=function(n){return this.each(null==n?Il:Bu(Ku(n)))};var Hl,Ol,Il=Bu(Ku()),Yl=[],Zl=0;Yl.call=Co.call,Yl.empty=Co.empty,Yl.node=Co.node,Yl.size=Co.size,ao.transition=function(n,t){return n&&n.transition?Hl?n.transition(t):n:ao.selection().transition(n)},ao.transition.prototype=Yl,Yl.select=function(n){var t,e,r,i=this.id,u=this.namespace,o=[];n=A(n);for(var a=-1,l=this.length;++a<l;){o.push(t=[]);for(var c=this[a],f=-1,s=c.length;++f<s;)(r=c[f])&&(e=n.call(r,r.__data__,f,a))?("__data__"in r&&(e.__data__=r.__data__),Qu(e,f,u,i,r[u][i]),t.push(e)):t.push(null)}return Wu(o,u,i)},Yl.selectAll=function(n){var t,e,r,i,u,o=this.id,a=this.namespace,l=[];n=C(n);for(var c=-1,f=this.length;++c<f;)for(var s=this[c],h=-1,p=s.length;++h<p;)if(r=s[h]){u=r[a][o],e=n.call(r,r.__data__,h,c),l.push(t=[]);for(var g=-1,v=e.length;++g<v;)(i=e[g])&&Qu(i,g,a,o,u),t.push(i)}return Wu(l,a,o)},Yl.filter=function(n){var t,e,r,i=[];"function"!=typeof n&&(n=O(n));for(var u=0,o=this.length;o>u;u++){i.push(t=[]);for(var e=this[u],a=0,l=e.length;l>a;a++)(r=e[a])&&n.call(r,r.__data__,a,u)&&t.push(r)}return Wu(i,this.namespace,this.id)},Yl.tween=function(n,t){var e=this.id,r=this.namespace;return arguments.length<2?this.node()[r][e].tween.get(n):Y(this,null==t?function(t){t[r][e].tween.remove(n)}:function(i){i[r][e].tween.set(n,t)})},Yl.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function i(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function u(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n))})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?$r:Mr,a=ao.ns.qualify(n);return Ju(this,"attr."+n,t,a.local?u:i)},Yl.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(i));return r&&function(n){this.setAttribute(i,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(i.space,i.local));return r&&function(n){this.setAttributeNS(i.space,i.local,r(n))}}var i=ao.ns.qualify(n);return this.tween("attr."+n,i.local?r:e)},Yl.style=function(n,e,r){function i(){this.style.removeProperty(n)}function u(e){return null==e?i:(e+="",function(){var i,u=t(this).getComputedStyle(this,null).getPropertyValue(n);return u!==e&&(i=Mr(u,e),function(t){this.style.setProperty(n,i(t),r)})})}var o=arguments.length;if(3>o){if("string"!=typeof n){2>o&&(e="");for(r in n)this.style(r,n[r],e);return this}r=""}return Ju(this,"style."+n,e,u)},Yl.styleTween=function(n,e,r){function i(i,u){var o=e.call(this,i,u,t(this).getComputedStyle(this,null).getPropertyValue(n));return o&&function(t){this.style.setProperty(n,o(t),r)}}return arguments.length<3&&(r=""),this.tween("style."+n,i)},Yl.text=function(n){return Ju(this,"text",n,Gu)},Yl.remove=function(){var n=this.namespace;return this.each("end.transition",function(){var t;this[n].count<2&&(t=this.parentNode)&&t.removeChild(this)})},Yl.ease=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].ease:("function"!=typeof n&&(n=ao.ease.apply(ao,arguments)),Y(this,function(r){r[e][t].ease=n}))},Yl.delay=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].delay:Y(this,"function"==typeof n?function(r,i,u){r[e][t].delay=+n.call(r,r.__data__,i,u)}:(n=+n,function(r){r[e][t].delay=n}))},Yl.duration=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].duration:Y(this,"function"==typeof n?function(r,i,u){r[e][t].duration=Math.max(1,n.call(r,r.__data__,i,u))}:(n=Math.max(1,n),function(r){r[e][t].duration=n}))},Yl.each=function(n,t){var e=this.id,r=this.namespace;if(arguments.length<2){var i=Ol,u=Hl;try{Hl=e,Y(this,function(t,i,u){Ol=t[r][e],n.call(t,t.__data__,i,u)})}finally{Ol=i,Hl=u}}else Y(this,function(i){var u=i[r][e];(u.event||(u.event=ao.dispatch("start","end","interrupt"))).on(n,t)});return this},Yl.transition=function(){for(var n,t,e,r,i=this.id,u=++Zl,o=this.namespace,a=[],l=0,c=this.length;c>l;l++){a.push(n=[]);for(var t=this[l],f=0,s=t.length;s>f;f++)(e=t[f])&&(r=e[o][i],Qu(e,f,o,u,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),n.push(e)}return Wu(a,o,u)},ao.svg.axis=function(){function n(n){n.each(function(){var n,c=ao.select(this),f=this.__chart__||e,s=this.__chart__=e.copy(),h=null==l?s.ticks?s.ticks.apply(s,a):s.domain():l,p=null==t?s.tickFormat?s.tickFormat.apply(s,a):m:t,g=c.selectAll(".tick").data(h,s),v=g.enter().insert("g",".domain").attr("class","tick").style("opacity",Uo),d=ao.transition(g.exit()).style("opacity",Uo).remove(),y=ao.transition(g.order()).style("opacity",1),M=Math.max(i,0)+o,x=Zi(s),b=c.selectAll(".domain").data([0]),_=(b.enter().append("path").attr("class","domain"),ao.transition(b));v.append("line"),v.append("text");var w,S,k,N,E=v.select("line"),A=y.select("line"),C=g.select("text").text(p),z=v.select("text"),L=y.select("text"),q="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(n=no,w="x",k="y",S="x2",N="y2",C.attr("dy",0>q?"0em":".71em").style("text-anchor","middle"),_.attr("d","M"+x[0]+","+q*u+"V0H"+x[1]+"V"+q*u)):(n=to,w="y",k="x",S="y2",N="x2",C.attr("dy",".32em").style("text-anchor",0>q?"end":"start"),_.attr("d","M"+q*u+","+x[0]+"H0V"+x[1]+"H"+q*u)),E.attr(N,q*i),z.attr(k,q*M),A.attr(S,0).attr(N,q*i),L.attr(w,0).attr(k,q*M),s.rangeBand){var T=s,R=T.rangeBand()/2;f=s=function(n){return T(n)+R}}else f.rangeBand?f=s:d.call(n,s,f);v.call(n,f,s),y.call(n,s,s)})}var t,e=ao.scale.linear(),r=Vl,i=6,u=6,o=3,a=[10],l=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in Xl?t+"":Vl,n):r},n.ticks=function(){return arguments.length?(a=co(arguments),n):a},n.tickValues=function(t){return arguments.length?(l=t,n):l},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(i=+t,u=+arguments[e-1],n):i},n.innerTickSize=function(t){return arguments.length?(i=+t,n):i},n.outerTickSize=function(t){return arguments.length?(u=+t,n):u},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var Vl="bottom",Xl={top:1,right:1,bottom:1,left:1};ao.svg.brush=function(){function n(t){t.each(function(){var t=ao.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",u).on("touchstart.brush",u),o=t.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),t.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=t.selectAll(".resize").data(v,m);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return $l[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var l,s=ao.transition(t),h=ao.transition(o);c&&(l=Zi(c),h.attr("x",l[0]).attr("width",l[1]-l[0]),r(s)),f&&(l=Zi(f),h.attr("y",l[0]).attr("height",l[1]-l[0]),i(s)),e(s)})}function e(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+s[+/e$/.test(n)]+","+h[+/^s/.test(n)]+")"})}function r(n){n.select(".extent").attr("x",s[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",s[1]-s[0])}function i(n){n.select(".extent").attr("y",h[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function u(){function u(){32==ao.event.keyCode&&(C||(M=null,L[0]-=s[1],L[1]-=h[1],C=2),S())}function v(){32==ao.event.keyCode&&2==C&&(L[0]+=s[1],L[1]+=h[1],C=0,S())}function d(){var n=ao.mouse(b),t=!1;x&&(n[0]+=x[0],n[1]+=x[1]),C||(ao.event.altKey?(M||(M=[(s[0]+s[1])/2,(h[0]+h[1])/2]),L[0]=s[+(n[0]<M[0])],L[1]=h[+(n[1]<M[1])]):M=null),E&&y(n,c,0)&&(r(k),t=!0),A&&y(n,f,1)&&(i(k),t=!0),t&&(e(k),w({type:"brush",mode:C?"move":"resize"}))}function y(n,t,e){var r,i,u=Zi(t),l=u[0],c=u[1],f=L[e],v=e?h:s,d=v[1]-v[0];return C&&(l-=f,c-=d+f),r=(e?g:p)?Math.max(l,Math.min(c,n[e])):n[e],C?i=(r+=f)+d:(M&&(f=Math.max(l,Math.min(c,2*M[e]-r))),r>f?(i=r,r=f):i=f),v[0]!=r||v[1]!=i?(e?a=null:o=null,v[0]=r,v[1]=i,!0):void 0}function m(){d(),k.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),ao.select("body").style("cursor",null),q.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),z(),w({type:"brushend"})}var M,x,b=this,_=ao.select(ao.event.target),w=l.of(b,arguments),k=ao.select(b),N=_.datum(),E=!/^(n|s)$/.test(N)&&c,A=!/^(e|w)$/.test(N)&&f,C=_.classed("extent"),z=W(b),L=ao.mouse(b),q=ao.select(t(b)).on("keydown.brush",u).on("keyup.brush",v);if(ao.event.changedTouches?q.on("touchmove.brush",d).on("touchend.brush",m):q.on("mousemove.brush",d).on("mouseup.brush",m),k.interrupt().selectAll("*").interrupt(),C)L[0]=s[0]-L[0],L[1]=h[0]-L[1];else if(N){var T=+/w$/.test(N),R=+/^n/.test(N);x=[s[1-T]-L[0],h[1-R]-L[1]],L[0]=s[T],L[1]=h[R]}else ao.event.altKey&&(M=L.slice());k.style("pointer-events","none").selectAll(".resize").style("display",null),ao.select("body").style("cursor",_.style("cursor")),w({type:"brushstart"}),d()}var o,a,l=N(n,"brushstart","brush","brushend"),c=null,f=null,s=[0,0],h=[0,0],p=!0,g=!0,v=Bl[0];return n.event=function(n){n.each(function(){var n=l.of(this,arguments),t={x:s,y:h,i:o,j:a},e=this.__chart__||t;this.__chart__=t,Hl?ao.select(this).transition().each("start.brush",function(){o=e.i,a=e.j,s=e.x,h=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=xr(s,t.x),r=xr(h,t.y);return o=a=null,function(i){s=t.x=e(i),h=t.y=r(i),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){o=t.i,a=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(c=t,v=Bl[!c<<1|!f],n):c},n.y=function(t){return arguments.length?(f=t,v=Bl[!c<<1|!f],n):f},n.clamp=function(t){return arguments.length?(c&&f?(p=!!t[0],g=!!t[1]):c?p=!!t:f&&(g=!!t),n):c&&f?[p,g]:c?p:f?g:null},n.extent=function(t){var e,r,i,u,l;return arguments.length?(c&&(e=t[0],r=t[1],f&&(e=e[0],r=r[0]),o=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(l=e,e=r,r=l),e==s[0]&&r==s[1]||(s=[e,r])),f&&(i=t[0],u=t[1],c&&(i=i[1],u=u[1]),a=[i,u],f.invert&&(i=f(i),u=f(u)),i>u&&(l=i,i=u,u=l),i==h[0]&&u==h[1]||(h=[i,u])),n):(c&&(o?(e=o[0],r=o[1]):(e=s[0],r=s[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(l=e,e=r,r=l))),f&&(a?(i=a[0],u=a[1]):(i=h[0],u=h[1],f.invert&&(i=f.invert(i),u=f.invert(u)),i>u&&(l=i,i=u,u=l))),c&&f?[[e,i],[r,u]]:c?[e,r]:f&&[i,u])},n.clear=function(){return n.empty()||(s=[0,0],h=[0,0],o=a=null),n},n.empty=function(){return!!c&&s[0]==s[1]||!!f&&h[0]==h[1]},ao.rebind(n,l,"on")};var $l={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Bl=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Wl=ga.format=xa.timeFormat,Jl=Wl.utc,Gl=Jl("%Y-%m-%dT%H:%M:%S.%LZ");Wl.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?eo:Gl,eo.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},eo.toString=Gl.toString,ga.second=On(function(n){return new va(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),ga.seconds=ga.second.range,ga.seconds.utc=ga.second.utc.range,ga.minute=On(function(n){return new va(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),ga.minutes=ga.minute.range,ga.minutes.utc=ga.minute.utc.range,ga.hour=On(function(n){var t=n.getTimezoneOffset()/60;return new va(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),ga.hours=ga.hour.range,ga.hours.utc=ga.hour.utc.range,ga.month=On(function(n){return n=ga.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),ga.months=ga.month.range,ga.months.utc=ga.month.utc.range;var Kl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Ql=[[ga.second,1],[ga.second,5],[ga.second,15],[ga.second,30],[ga.minute,1],[ga.minute,5],[ga.minute,15],[ga.minute,30],[ga.hour,1],[ga.hour,3],[ga.hour,6],[ga.hour,12],[ga.day,1],[ga.day,2],[ga.week,1],[ga.month,1],[ga.month,3],[ga.year,1]],nc=Wl.multi([[".%L",function(n){return n.getMilliseconds()}],[":%S",function(n){return n.getSeconds()}],["%I:%M",function(n){return n.getMinutes()}],["%I %p",function(n){return n.getHours()}],["%a %d",function(n){return n.getDay()&&1!=n.getDate()}],["%b %d",function(n){return 1!=n.getDate()}],["%B",function(n){return n.getMonth()}],["%Y",zt]]),tc={range:function(n,t,e){return ao.range(Math.ceil(n/e)*e,+t,e).map(io)},floor:m,ceil:m};Ql.year=ga.year,ga.scale=function(){return ro(ao.scale.linear(),Ql,nc)};var ec=Ql.map(function(n){return[n[0].utc,n[1]]}),rc=Jl.multi([[".%L",function(n){return n.getUTCMilliseconds()}],[":%S",function(n){return n.getUTCSeconds()}],["%I:%M",function(n){return n.getUTCMinutes()}],["%I %p",function(n){return n.getUTCHours()}],["%a %d",function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],["%b %d",function(n){return 1!=n.getUTCDate()}],["%B",function(n){return n.getUTCMonth()}],["%Y",zt]]);ec.year=ga.year.utc,ga.scale.utc=function(){return ro(ao.scale.linear(),ec,rc)},ao.text=An(function(n){return n.responseText}),ao.json=function(n,t){return Cn(n,"application/json",uo,t)},ao.html=function(n,t){return Cn(n,"text/html",oo,t)},ao.xml=An(function(n){return n.responseXML}),"function"==typeof define&&define.amd?(this.d3=ao,define(ao)):"object"==typeof module&&module.exports?module.exports=ao:this.d3=ao}(); \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/assets/js/multiline-text.js b/ui/ui-frontend/projects/pastis/src/assets/js/multiline-text.js new file mode 100644 index 000000000..1e325f2e8 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/js/multiline-text.js @@ -0,0 +1,172 @@ +var multilineText = (function() { + var lineHeight = 1.4; + var horizontalAlign = 'center'; // 'left', 'center', or 'right' + var verticalAlign = 'center'; // 'top', 'center', or 'bottom' + var paddingTop = 10; + var paddingBottom = 10; + var paddingLeft = 10; + var paddingRight = 10; + var textAnchorsByHorizontalAlign = { + 'center': 'middle', + 'left': 'start', + 'right': 'end' + }; + var text = function(d) { return d.text; }; + var width = function(d) { return d.width; }; + var height = function(d) { return d.height; }; + + function my(selection) { + selection.each(function(d, i) { + var textElem = d3.select(this), + lines, + lineCount, + lineI, + line; + + lines = result(d, text); + if (typeof lines === 'string') { + lines = lines.split(/\n/); + } + if (lines === undefined) { + return; + } + lineCount = lines.length; + + textElem.attr({ + 'text-anchor': textAnchorsByHorizontalAlign[horizontalAlign], + 'fill': 'black', + transform: function(d) { + return 'translate(' + translateX(d) + ',' + translateY(d) + ')'; + }, + }); + + for (lineI = 0; lineI < lineCount; lineI++) { + line = lines[lineI]; + textElem.append('tspan') + .attr({ + 'x': 0, + 'y': lineTspanY(lineI, lineCount) + }) + .attr(lineTspanAttrs()) + .text(line); + } + }); + } + + function translateX(d) { + var w = result(d, width); + switch (horizontalAlign) { + case 'center': + return w / 2; + case 'left': + return paddingLeft; + case 'right': + return w - paddingRight; + } + } + + function translateY(d) { + var h = result(d, height); + switch (verticalAlign) { + case 'center': + return h / 2; + case 'top': + return paddingTop; + case 'bottom': + return h - paddingBottom; + } + } + + function lineTspanY(lineI, lineCount) { + var y; + switch (verticalAlign) { + case 'center': + y = (lineI - (lineCount - 1) / 2) * lineHeight; + break; + case 'top': + y = lineI * lineHeight; + break; + case 'bottom': + y = -((lineCount - 1) - lineI) * lineHeight; + break; + } + return y ? y + 'em' : 0; + } + + function lineTspanAttrs() { + switch (verticalAlign) { + case 'center': + return {dy: '.35em'}; + case 'top': + return {dy: '1em'}; + case 'bottom': + return {dy: 0}; + } + } + + function result(d, property) { + return typeof property === 'function' ? property(d) : property; + } + + my.lineHeight = function(value) { + if (!arguments.length) return lineHeight; + lineHeight = value; + return my; + }; + + my.horizontalAlign = function(value) { + if (!arguments.length) return horizontalAlign; + horizontalAlign = value; + return my; + }; + + my.verticalAlign = function(value) { + if (!arguments.length) return verticalAlign; + verticalAlign = value; + return my; + }; + + my.paddingTop = function(value) { + if (!arguments.length) return paddingTop; + paddingTop = value; + return my; + }; + + my.paddingRight = function(value) { + if (!arguments.length) return paddingRight; + paddingRight = value; + return my; + }; + + my.paddingBottom = function(value) { + if (!arguments.length) return paddingBottom; + paddingBottom = value; + return my; + }; + + my.paddingLeft = function(value) { + if (!arguments.length) return paddingLeft; + paddingLeft = value; + return my; + }; + + my.width = function(value) { + if (!arguments.length) return width; + width = value; + return my; + }; + + my.height = function(value) { + if (!arguments.length) return height; + height = value; + return my; + }; + + my.text = function(value) { + if (!arguments.length) return text; + text = value; + return my; + }; + + return my; +})(); \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/assets/json/AUP_OK_VITAM.json b/ui/ui-frontend/projects/pastis/src/assets/json/AUP_OK_VITAM.json new file mode 100644 index 000000000..ae704aa2c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/json/AUP_OK_VITAM.json @@ -0,0 +1,180 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema", + "type": "object", + "additionalProperties": false, + "definitions": { + "one-one": { + "type": "string", + "minItems": 1, + "maxItems": 1 + }, + "one-many": { + "type": "array", + "minItems": 1 + }, + "zero-one": { + "type": "string", + "minItems": 0, + "maxItems": 1 + }, + "zero-one2": { + "type": "object", + "minItems": 0, + "maxItems": 1 + }, + "zero-many": { + "type": "array", + "minItems": 0 + }, + "zero-many2": { + "type": "object", + "minItems": 0 + }, + "non-empty-token": { + "type": [ + "array" + ], + "minLength": 1 + }, + "non-empty-token-array": { + "type": [ + "object" + ], + "items": { + "type": "string", + "minLength": 1 + } + }, + "simple-date": { + "type": "string", + "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}" + }, + "date": { + "type": "string", + "pattern": "^([0-8][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))$" + } + }, + "properties": { + "ArchiveUnitProfile": { + "$ref": "#/definitions/one-one" + }, + "#management": { + "properties": { + "AppraisalRule": { + "description": "Appraise : cardinalité 0-1 / contient obligatoirement Rule et FinalAction", + "$ref": "#/definitions/zero-one2", + "properties": { + "Rules": { + "items": { + "properties": { + "Rule": { + "description": "Rule : cardinalité 1", + "$ref": "#/definitions/one-one" + }, + "StartDate": { + "description": "StartDate : cardinalité 0-1 / valeur date libre", + "$ref": "#/definitions/zero-one" + } + } + } + }, + "FinalAction": { + "description": "FinalAction : cardinalité 1-1 / valeur au choix", + "$ref": "#/definitions/one-one", + "enum": [ + "Keep", + "Destroy" + ] + } + } + } + } + }, + "DescriptionLevel": { + "$ref": "#/definitions/zero-one", + "enum": [ + "Fonds", + "Subfonds", + "Class", + "Collection", + "Series", + "Subseries", + "RecordGrp", + "SubGrp", + "File", + "Item", + "OtherLevel" + ] + }, + "Title_": { + "allOf": [ + { + "$ref": "#/definitions/non-empty-token-array" + }, + { + "$ref": "#/definitions/zero-many2" + } + ] + }, + "FilePlanPosition": { + "allOf": [ + { + "$ref": "#/definitions/non-empty-token" + }, + { + "$ref": "#/definitions/zero-many" + } + ] + }, + "SystemId": { + "allOf": [ + { + "$ref": "#/definitions/non-empty-token" + }, + { + "$ref": "#/definitions/zero-many" + } + ] + }, + "OriginatingSystemId": { + "allOf": [ + { + "$ref": "#/definitions/non-empty-token" + }, + { + "$ref": "#/definitions/zero-many" + } + ] + }, + "ArchivalAgencyArchiveUnitIdentifier": { + "allOf": [ + { + "$ref": "#/definitions/non-empty-token" + }, + { + "$ref": "#/definitions/zero-many" + } + ] + }, + "OriginatingAgencyArchiveUnitIdentifier": { + "allOf": [ + { + "$ref": "#/definitions/non-empty-token" + }, + { + "$ref": "#/definitions/zero-many" + } + ] + }, + "TransferringAgencyArchiveUnitIdentifier": { + "allOf": [ + { + "$ref": "#/definitions/non-empty-token" + }, + { + "$ref": "#/definitions/zero-many" + } + ] + } + } +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/assets/json/MongoPUAcomplet.json b/ui/ui-frontend/projects/pastis/src/assets/json/MongoPUAcomplet.json new file mode 100644 index 000000000..721b270d5 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/json/MongoPUAcomplet.json @@ -0,0 +1,28 @@ +{ + "_id": "aegaaaaaaafbmai5aadeaalvktdeoliaaaaq", + "Identifier": "AUP_Test_PastisMA2", + "Name": "AUP PastisMA2", + "Description": "Import d'un AUP Simple dans Pastis", + "Status": "ACTIVE", + "CreationDate": "2000-09-01T00:00:00.000", + "LastUpdate": "2020-10-23T11:48:30.041", + "ActivationDate": "2016-12-10T00:00:00.000", + "DeactivationDate": "2016-12-10T00:00:00.000", + "ControlSchema": "{\n \"$schema\": \"http://json-schema.org/draft-04/schema\",\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"definitions\": {\n \"one-one\": {\n \"type\": \"string\",\n \"minItems\": 1,\n \"maxItems\": 1\n },\n \"one-many\": {\n \"type\": \"array\",\n \"minItems\": 1\n },\n \"zero-one\": {\n \"type\": \"string\",\n \"minItems\": 0,\n \"maxItems\": 1\n },\n \"zero-one2\": {\n \"type\": \"object\",\n \"minItems\": 0,\n \"maxItems\": 1\n },\n \"zero-many\": {\n \"type\": \"array\",\n \"minItems\": 0\n },\n \"zero-many2\": {\n \"type\": \"object\",\n \"minItems\": 0\n },\n \"non-empty-token\": {\n \"type\": [\n \"array\"\n ],\n \"minLength\": 1\n },\n \"non-empty-token-array\": {\n \"type\": [\n \"object\"\n ],\n \"items\": {\n \"type\": \"string\",\n \"minLength\": 1\n }\n },\n \"simple-date\": {\n \"type\": \"string\",\n \"pattern\": \"[0-9]{4}-[0-9]{2}-[0-9]{2}\"\n },\n \"date\": {\n \"type\": \"string\",\n \"pattern\": \"^([0-8][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))$\"\n }\n },\n \"properties\": {\n \"ArchiveUnitProfile\": {\n \"$ref\": \"#/definitions/one-one\"\n },\n \"#management\": {\n \"properties\": {\n \"AppraisalRule\": {\n \"description\": \"Appraise : cardinalité 0-1 / contient obligatoirement Rule et FinalAction\",\n \"$ref\": \"#/definitions/zero-one2\",\n \"properties\": {\n \"Rules\": {\n \"items\": {\n \"properties\": {\n \"Rule\": {\n \"description\": \"Rule : cardinalité 1\",\n \"$ref\": \"#/definitions/one-one\"\n },\n \"StartDate\": {\n \"description\": \"StartDate : cardinalité 0-1 / valeur date libre\",\n \"$ref\": \"#/definitions/zero-one\"\n }\n }\n }\n },\n \"FinalAction\": {\n \"description\": \"FinalAction : cardinalité 1-1 / valeur au choix\",\n \"$ref\": \"#/definitions/one-one\",\n \"enum\": [\n \"Keep\",\n \"Destroy\"\n ]\n }\n }\n }\n }\n },\n \"DescriptionLevel\": {\n \"$ref\": \"#/definitions/zero-one\",\n \"enum\": [\n \"Fonds\",\n \"Subfonds\",\n \"Class\",\n \"Collection\",\n \"Series\",\n \"Subseries\",\n \"RecordGrp\",\n \"SubGrp\",\n \"File\",\n \"Item\",\n \"OtherLevel\"\n ]\n },\n \"Title_\": {\n \"allOf\": [\n {\n \"$ref\": \"#/definitions/non-empty-token-array\"\n },\n {\n \"$ref\": \"#/definitions/zero-many2\"\n }\n ]\n },\n \"FilePlanPosition\": {\n \"allOf\": [\n {\n \"$ref\": \"#/definitions/non-empty-token\"\n },\n {\n \"$ref\": \"#/definitions/zero-many\"\n }\n ]\n },\n \"SystemId\": {\n \"allOf\": [\n {\n \"$ref\": \"#/definitions/non-empty-token\"\n },\n {\n \"$ref\": \"#/definitions/zero-many\"\n }\n ]\n },\n \"OriginatingSystemId\": {\n \"allOf\": [\n {\n \"$ref\": \"#/definitions/non-empty-token\"\n },\n {\n \"$ref\": \"#/definitions/zero-many\"\n }\n ]\n },\n \"ArchivalAgencyArchiveUnitIdentifier\": {\n \"allOf\": [\n {\n \"$ref\": \"#/definitions/non-empty-token\"\n },\n {\n \"$ref\": \"#/definitions/zero-many\"\n }\n ]\n },\n \"OriginatingAgencyArchiveUnitIdentifier\": {\n \"allOf\": [\n {\n \"$ref\": \"#/definitions/non-empty-token\"\n },\n {\n \"$ref\": \"#/definitions/zero-many\"\n }\n ]\n },\n \"TransferringAgencyArchiveUnitIdentifier\": {\n \"allOf\": [\n {\n \"$ref\": \"#/definitions/non-empty-token\"\n },\n {\n \"$ref\": \"#/definitions/zero-many\"\n }\n ]\n }\n }\n}", + "_tenant": 0, + "_v": 6, + "Fields": [ + "ArchiveUnitProfile", + "Rule", + "StartDate", + "FinalAction", + "DescriptionLevel", + "Title", + "FilePlanPosition", + "SystemId", + "OriginatingSystemId", + "ArchivalAgencyArchiveUnitIdentifier", + "OriginatingAgencyArchiveUnitIdentifier", + "TransferringAgencyArchiveUnitIdentifier" + ] +} diff --git a/ui/ui-frontend/projects/pastis/src/assets/lib/angular-route.min.js b/ui/ui-frontend/projects/pastis/src/assets/lib/angular-route.min.js new file mode 100644 index 000000000..5d2e84f94 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/lib/angular-route.min.js @@ -0,0 +1,15 @@ +/* + AngularJS v1.5.3 + (c) 2010-2016 Google, Inc. http://angularjs.org + License: MIT +*/ +(function(r,d,C){'use strict';function x(s,h,g){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(a,c,b,f,y){function k(){n&&(g.cancel(n),n=null);l&&(l.$destroy(),l=null);m&&(n=g.leave(m),n.then(function(){n=null}),m=null)}function z(){var b=s.current&&s.current.locals;if(d.isDefined(b&&b.$template)){var b=a.$new(),f=s.current;m=y(b,function(b){g.enter(b,null,m||c).then(function(){!d.isDefined(u)||u&&!a.$eval(u)||h()});k()});l=f.scope=b;l.$emit("$viewContentLoaded"); +l.$eval(v)}else k()}var l,m,n,u=b.autoscroll,v=b.onload||"";a.$on("$routeChangeSuccess",z);z()}}}function A(d,h,g){return{restrict:"ECA",priority:-400,link:function(a,c){var b=g.current,f=b.locals;c.html(f.$template);var y=d(c.contents());if(b.controller){f.$scope=a;var k=h(b.controller,f);b.controllerAs&&(a[b.controllerAs]=k);c.data("$ngControllerController",k);c.children().data("$ngControllerController",k)}a[b.resolveAs||"$resolve"]=f;y(a)}}}r=d.module("ngRoute",["ng"]).provider("$route",function(){function s(a, +c){return d.extend(Object.create(a),c)}function h(a,d){var b=d.caseInsensitiveMatch,f={originalPath:a,regexp:a},g=f.keys=[];a=a.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)(\*\?|[\?\*])?/g,function(a,d,b,c){a="?"===c||"*?"===c?"?":null;c="*"===c||"*?"===c?"*":null;g.push({name:b,optional:!!a});d=d||"";return""+(a?"":d)+"(?:"+(a?d:"")+(c&&"(.+?)"||"([^/]+)")+(a||"")+")"+(a||"")}).replace(/([\/$\*])/g,"\\$1");f.regexp=new RegExp("^"+a+"$",b?"i":"");return f}var g={};this.when=function(a,c){var b= +d.copy(c);d.isUndefined(b.reloadOnSearch)&&(b.reloadOnSearch=!0);d.isUndefined(b.caseInsensitiveMatch)&&(b.caseInsensitiveMatch=this.caseInsensitiveMatch);g[a]=d.extend(b,a&&h(a,b));if(a){var f="/"==a[a.length-1]?a.substr(0,a.length-1):a+"/";g[f]=d.extend({redirectTo:a},h(f,b))}return this};this.caseInsensitiveMatch=!1;this.otherwise=function(a){"string"===typeof a&&(a={redirectTo:a});this.when(null,a);return this};this.$get=["$rootScope","$location","$routeParams","$q","$injector","$templateRequest", +"$sce",function(a,c,b,f,h,k,r){function l(b){var e=t.current;(x=(p=n())&&e&&p.$$route===e.$$route&&d.equals(p.pathParams,e.pathParams)&&!p.reloadOnSearch&&!v)||!e&&!p||a.$broadcast("$routeChangeStart",p,e).defaultPrevented&&b&&b.preventDefault()}function m(){var w=t.current,e=p;if(x)w.params=e.params,d.copy(w.params,b),a.$broadcast("$routeUpdate",w);else if(e||w)v=!1,(t.current=e)&&e.redirectTo&&(d.isString(e.redirectTo)?c.path(u(e.redirectTo,e.params)).search(e.params).replace():c.url(e.redirectTo(e.pathParams, +c.path(),c.search())).replace()),f.when(e).then(function(){if(e){var a=d.extend({},e.resolve),b,c;d.forEach(a,function(b,e){a[e]=d.isString(b)?h.get(b):h.invoke(b,null,null,e)});d.isDefined(b=e.template)?d.isFunction(b)&&(b=b(e.params)):d.isDefined(c=e.templateUrl)&&(d.isFunction(c)&&(c=c(e.params)),d.isDefined(c)&&(e.loadedTemplateUrl=r.valueOf(c),b=k(c)));d.isDefined(b)&&(a.$template=b);return f.all(a)}}).then(function(c){e==t.current&&(e&&(e.locals=c,d.copy(e.params,b)),a.$broadcast("$routeChangeSuccess", +e,w))},function(b){e==t.current&&a.$broadcast("$routeChangeError",e,w,b)})}function n(){var a,b;d.forEach(g,function(f,g){var q;if(q=!b){var h=c.path();q=f.keys;var l={};if(f.regexp)if(h=f.regexp.exec(h)){for(var k=1,n=h.length;k<n;++k){var m=q[k-1],p=h[k];m&&p&&(l[m.name]=p)}q=l}else q=null;else q=null;q=a=q}q&&(b=s(f,{params:d.extend({},c.search(),a),pathParams:a}),b.$$route=f)});return b||g[null]&&s(g[null],{params:{},pathParams:{}})}function u(a,b){var c=[];d.forEach((a||"").split(":"),function(a, +d){if(0===d)c.push(a);else{var f=a.match(/(\w+)(?:[?*])?(.*)/),g=f[1];c.push(b[g]);c.push(f[2]||"");delete b[g]}});return c.join("")}var v=!1,p,x,t={routes:g,reload:function(){v=!0;var b={defaultPrevented:!1,preventDefault:function(){this.defaultPrevented=!0;v=!1}};a.$evalAsync(function(){l(b);b.defaultPrevented||m()})},updateParams:function(a){if(this.current&&this.current.$$route)a=d.extend({},this.current.params,a),c.path(u(this.current.$$route.originalPath,a)),c.search(a);else throw B("norout"); +}};a.$on("$locationChangeStart",l);a.$on("$locationChangeSuccess",m);return t}]}).run(["$route",d.noop]);var B=d.$$minErr("ngRoute");r.provider("$routeParams",function(){this.$get=function(){return{}}});r.directive("ngView",x);r.directive("ngView",A);x.$inject=["$route","$anchorScroll","$animate"];A.$inject=["$compile","$controller","$route"]})(window,window.angular); +//# sourceMappingURL=angular-route.min.js.map diff --git a/ui/ui-frontend/projects/pastis/src/assets/lib/angular-route.min.js.map b/ui/ui-frontend/projects/pastis/src/assets/lib/angular-route.min.js.map new file mode 100644 index 000000000..e6133c6d3 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/lib/angular-route.min.js.map @@ -0,0 +1,8 @@ +{ +"version":3, +"file":"angular-route.min.js", +"lineCount":14, +"mappings":"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", +"sources":["angular-route.js"], +"names":["window","angular","undefined","ngViewFactory","$route","$anchorScroll","$animate","restrict","terminal","priority","transclude","link","scope","$element","attr","ctrl","$transclude","cleanupLastView","previousLeaveAnimation","cancel","currentScope","$destroy","currentElement","leave","then","update","locals","current","isDefined","$template","newScope","$new","clone","enter","onNgViewEnter","autoScrollExp","$eval","$emit","onloadExp","autoscroll","onload","$on","ngViewFillContentFactory","$compile","$controller","html","contents","controller","$scope","controllerAs","data","children","resolveAs","ngRouteModule","module","provider","$RouteProvider","inherit","parent","extra","extend","Object","create","pathRegExp","path","opts","insensitive","caseInsensitiveMatch","ret","originalPath","regexp","keys","replace","_","slash","key","option","optional","star","push","name","RegExp","routes","when","this.when","route","routeCopy","copy","isUndefined","reloadOnSearch","redirectPath","length","substr","redirectTo","otherwise","this.otherwise","params","$get","$rootScope","$location","$routeParams","$q","$injector","$templateRequest","$sce","prepareRoute","$locationEvent","lastRoute","preparedRouteIsUpdateOnly","preparedRoute","parseRoute","$$route","equals","pathParams","forceReload","$broadcast","defaultPrevented","preventDefault","commitRoute","nextRoute","isString","interpolate","search","url","resolve","template","templateUrl","forEach","value","get","invoke","isFunction","loadedTemplateUrl","valueOf","all","error","match","m","exec","on","i","len","val","string","result","split","segment","segmentMatch","join","reload","fakeLocationEvent","fakePreventDefault","$evalAsync","updateParams","newParams","$routeMinErr","run","noop","$$minErr","$RouteParamsProvider","this.$get","directive","$inject"] +} diff --git a/ui/ui-frontend/projects/pastis/src/assets/pastis-logo7.png b/ui/ui-frontend/projects/pastis/src/assets/pastis-logo7.png new file mode 100644 index 0000000000000000000000000000000000000000..c04139cb780835a52eefa630309ee4e156132a51 GIT binary patch literal 37754 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¨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 literal 0 HcmV?d00001 diff --git a/ui/ui-frontend/projects/pastis/src/assets/pastis-marseille.jpg b/ui/ui-frontend/projects/pastis/src/assets/pastis-marseille.jpg new file mode 100644 index 0000000000000000000000000000000000000000..36a88e98ca088acf5661c0c4a0f14bf38367e265 GIT binary patch literal 212907 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≫I~+WW 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 P{qEXNq;?iVUVi;A%%$f~ literal 0 HcmV?d00001 diff --git a/ui/ui-frontend/projects/pastis/src/assets/pastis-marseille_blue_crop.jpg b/ui/ui-frontend/projects/pastis/src/assets/pastis-marseille_blue_crop.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a86cff07edad8151363a9b098f7588e32b3c89d8 GIT binary patch literal 72118 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�w6w%te}stb8qw_|`4`d4-!WG}7VU(|gn-dMMY)CDZf?4IAOU&3p4ix|^7 zg^odmKph~dJ3+{t9M)Bm|FL-M5ZjhzD8Mju_Le|V1`NJ3-Vs<#n?Z;L4C|2wuSOr0 z{Rfb|NFHq7=tkRbp)bJiau?IOZ-9K`JxjO%%zC30?LTYk0^9Y|FF=-ei6{$W8Q`XM za)UF==pLrog=Y)XoZTzgU2w0cJy$Q51_?W&N^9lK!aw@80Y<5Heg+bn%2;^Oq>+^V zZCZcDV+6cEbcU3+hMG!RPlxpff$z!COtWodNVWmQ;uS2#y?F7Bt@8`?<X_HDo-f3a zk7{0C(RaiCcyv)<JHH!fXQ)xucruwX2kH=`G-1gdC}kL|@_ncLJx2gPZzyU3X*IoG z(yO7>Py4cVMe#{{WEq<{tw4{!1n_6)f}X{bdrHVOEk-i1^D$~%FA&TBeRPxI{Lo9| zn0~Ha^K7}~1M}op48w(+KVLu-x7B8YShnAQ13n^dkM39}M+KMessv|-r56yO_b6gC zXjaq3d90{(9c^QoYvOa1l`^Vm6dH(;nP@vBB`af=tNX>d#xol+t?QI5l#-%z!XDp_ zPrbE9-{~;^2u+=Rd3YaF4<pBE`g~_e!fuh{NJ%L$b8q;Ug&lig#-YZpeKB2UbMb|y zNngaBIc6dbJjz3Gz}68Pl|I5u`^HRq{Zqw93pYrvCiY<N$~E!7g7}_`oe~?^SBC`| z#ovI?Y!{@1i!S*8ZmaitfM>cS2E3_S)P7P^2a}m3Vo*1$R3*<p>ScE>K$Cq~cly8n zCTx2Q%=U6?-|Rj$6F=0=uU|A5_p_wzsQ+Hi>Ebi&I}f}_M0uLV*S~1ZRP6x2I97V_ zbaH{0r&wTHL)Wud6N(6uSLZAaLW-HYXVO-?Zs<I3yp3sP^kK3-wBTR?!VN0_aoBS_ z_(&DSlu(aidy-rL77zE7x%BO4anHtZVBgX(MA|E4y<Ndk<?h%^cpqC=KjAX7M9awd zm>XgfNDzVRM?)2&*sKC5;$QBkAGl#zS0EEh3H4{)dl{%T42u?-Yqaa>e}HE~*wg(7 zI@1mGL~JaVU^cOX{((c<ZvU)$$MgRHLY3Yud($D55G?wKDoB(wzUr;Hrp4+3>*Izg zAHVraxfL>nxejV1y!XL%0~D(mzX`A)RA6M*WPL}Qbj5`qX(?5rvlM%UkNvt+Oq{w< z{(`a><ydLYqW2X|1YQghzHu7u&FA>GF#~Sg5UqXxWS;V?aVQV2WzcYdU^SBxskIxq z#hP8?W$te9CzU>!KuR1~RBi=2-Wsg&g7?MakCRWymsxrdb1kx57UqLN-N~(rrpdwX zm;i&0ntNkEaRr1ZAJ$>xCGw58tm?~`rLy1zLy2?Ln25H(@z3=-Z&%a@W%usqRp+vu zvy*z^7etdSQP64hcx@W9B}c(GOvl^R`r<0*ogs3Mk{zeewIWaPGT-7sqxea?$2EI& zSFlegNn~pekO{5fxskL^R~O#kVRn0B<y2~GUQz!Be;1p^K3;ExjW7@mT;hi2{J0pR zNUS#QsnO|@VZu4_1al<}3rVuiG8{s(wep89S|rO;iUQfFz0)Y*HG%<_-s8Xrhv`2p zIo{yfe!dYGfKyzv%tazzfT33q?)vx_41FWgwa+nv<@`x?Quxv6O~cm#nIS=cdZK3f zV>7(Qd(Sl!tF<0E(&@`qb}RBVNj|7~(y`9v_C3;K7u@4lIma^f-Ki6Hs4y@p(fTAT zvxNHZSlMf`XTOE3BTEOXrXT2Q66UvLd9p8k7gc=Prd^IhyIiGKrs;3`{o6Vl5Pb_A z#I>K1TsGz)w>z7fQ3rcqBRHXo8Ly!5UrV8Bhxhy$rEF{s07HE=-kYTxzlm6dW<r@K zcW=t}Fa85W+%l#(>~l+aEmsOF-<NcXGTnWvd-tPfYlq!?dynhZ;2L_b9K?=F9&z1V zBLzjm%$wTvNhll3eh3om&n8ZHum|yIkjX>)AS|;R2pNebPaX;1NR_VOVYkC9yHF+f z(V%Mas2cyEDiaz^>(%{u{fGn<_h&tUv<miTJO?KXEF}baHB0QdG6BJJ&6(*t_v%S8 zja-V0!p-9)Te=z{GQ(4^9a=R#+G%sa3Odq)jFai#U5M7HxjGz)w6E3P1@~DG{d$cJ zP?Wd`n*JRw7K+`-OX_471eY}>W+twaOOeW@7KS?Syya#pV;2`SQJe>S(rZmQOvs(8 zi>v1oUS#uU|8*NPhX4Kw4hx9cyikykRh;M|2Vn0>MqRP5Y|3!mF1e<1toT}9QDN6u ziLD9Ug`YzU^pqw)69sK8e}#QwCKUwrB1^pvRXB)D{cH#PA3vK6k+FQ>=~3+7mawjk zA35Llf^V46zz4&P3m3~6NS40pBorWTs_Vti;685B+>&ZG0f?j8jrna<lKZBtqEVGs zE{V}lpr<=`pL=b1sn(=I*41Vk*%rM2emovb?s8SeU^9*VAuCPu*=`Lr;)g5U<esvi z!xkHZ0+GebXo+uK7BrN_x$dmZ2yZ1V?t1R%m3Z3HNTIMCQ~E9#P;y)n9e_BI0rn<$ ztucR#FBi=}YC*59hlshmcr#5ia=clkn3ThW1a}dWa@+r}4GPH*qB~IEOu_Cg^PY^^ z|DR)k|EHD!2KuFRSumlZDKgEboU5xj|3+;Kr18{xxU=q6`HjbcY(npM&pLjS(bEK^ zfkMBB=z!l3KKilf(Y%EVERrNp7YFZydnJ9TcW>2CBdd?mun#w&Dfnr6WiEak^wbiz zR(2*3i(&Cg>84Dbs|)=04*!u`<c4cO0&i{t{im)3Zs0${@f~o%v&X6QOoZeKI#F-# zBKmCwqP(J-E}nb=Bn*ZU=enfc;~8((v40m~pb6e;#BSY3bE&^=5cW5J-1A=8M_tL` zVO549tsgzGAdXp4)gaMw{;9cV#V48HiLrFt@0iCESAhusBC&8q#&<EP1A=eZmKj!O zF*x=u#i;`G#+)2a`;g^ZzVaehk2;lm+!OGbnoBiAQLv=*rnuq`M%9|nXe0~6O#0SQ zzm}yk_WDZnQ#0Vg$bOaE?Kqt7v@`W;e?a@2K{p1-uJ%nDLu&g#P9G9D1iwbj5qt<p z4q-{%Z@Y_?n4`Fn!(}0z2_2E|_DrCOz~;+F3#tYWW05JBJpTc%{r}vPv?x4k7Pucz z++)<*(-uG4acD80R8FeC7StYT+MAyPA3mXpzT#Rw(^@c9%NXzO{NLp0p~rgq;oa4F zd<i=6ohSM!y5jPtJA}~sOeq3w)BoscCLzaD%yC;@h!ncJ*7Z^Xgmo#R4APm@-9H>^ z%7K$ae+_98rcA1|wg*$(OQ4xiACP3-i&4L}I;pFp%i)lTH=n(gt9;*<MnmSdw^PRJ z1E`S{y$Xve;AuS~x9fz#+w})`t%e*^wXY?OIckAl(^aS@8W8c(ihA=A=Dq`D#3)zn znO->qdji(b><lE$TAZlgRz{`#nbBl*$kulE!o3paL!)8QyuyayA^ZOM2hanwgIl2A z^~<TJ$6(N#lI6@`^_PoJ$%#F1=B2_Rzbckr#Am0<OO8L+0$*gHLNJ8o)Bgb+(TX2d zuGyTeOo6_C*97V0S~UV)kG~<?JII2B17*dw6*jYjWQ)SI+8<luyxN-n?1cNUM~$j> zOnIf~wy%5WI=nZj19M=Sl6(J9Cnp}#Gl%;5kW{>Uo5OInC0pOB=*iqa1kV<{VtTCi zukZ#&I4N53KjXC+Lqn?9wMll|h&why;I<&iAAi|B;&AX(U+10WOFDoxI_IIe#APev zA)4e%QDiTij5^=oN``Ru``#F&F^B*)RD$+G`Py&tYX7)FCgGJ>m0)B~<ZnZPE3$_3 zv8M}zgF|D%j_0}8E~tIaGsewF4uAarpdcu|4wxgwN(ZaQpHd9k<_AmO?^AHOLF12% zqWJo&xFKI_Z-&t)eHzW?bdM^@em!PDOUDZPTk=ZPAzH=@dkjBVe^Ljt$wG?T_O9bm zG5%*2>m@NVO2xl5jM>y2B?<6HG7Jb{5#3A4^0Hm9w``rdvW`#`{A>{z2YPz7Mld3^ z*nat@>LkmZ>R)$(=h|mW9C%gGoSKvxGnq>rws!G0Y>n6fy(n(_aj+Sf8I!ZQ=_{=E zs?vBRX6O|>S<^G+P#uj8gAJke1DRq)6fSiF6!ug0ChfHp?3A$KwPQB2)bCr*qjijK zw_-85B`;NZwCh`pQ2XZM?)Lb9-KQ@e91VLGbFvFi;lnoulLbi9%%{7-!luz-c4l4| zv`L5i{lT^y0?{G0uw%yJ;>-=#h9C)K3g?U88Cba{bi>dpr5a0k6&lw}g~txS@utgY zwpL8F`sT6)9BXGTI_Eprzjsn~aQ0WPy*=C*Cs9uG1o3b-%k&Z@4Q<o9TH*(kVRza; z@6}N0dt67?mJdNm;9np@2;DviuMNK#1y<3Wlz+Nx)^vNq>0*=GQRp=ez*%fN+{``l zU59>KmFPrj)|MWMVY{`8$x3!^G2|506Y?*$-W-B))V`jbie#Hi)#?7Zyp&bhuszbZ zf>@DW8vcs|pJ@T3k_XE(u(@%{``$p<ed?JZ^tH6>Q@_K$0KUv2zT(W%al5C(Z+w)O z%YU$SJPB^V73<m6P3~<t@~?NhC_omFMj)tuj-wFmn88k*Hf%6KAIr->h?CP}tLazk zO_6o`ALxEE&+M^o2j#aSCDK1~OU;TY>aQQDyl27N{<@4e$d&|#<<@p6bwi`&fw$oc z*nS0odXpA-ra2xhTy}nSN~w^wev4%C+2RJPplEvyI!MnjVH=0sg-vx+$G_^LRBCpG zS&5!n#~~LxMaDhjI6o4(<y~p+)kOAcriqTja~a7{)iT&}<D=>L1Jf+jR89grU_b2Z zyryaY4={OZv;dnC#Aew+^JVPqIfJS13Ewep(G-u)$uhhpn^W%hT_vtF583)c(+H5^ zEnPN~lGvD~pC|i^i!ywUHGJIv)==8wucb=RCm~X#JIs~h4+cqHc2c0lk>Ku5Abhj= za$j_m=;>~gWBV(5qQ1XNUy_oVO^H1ecjW3(z6|eWhDl97Lz=tiW8He@@^<WpUbn55 zgkcaJLhVR_fp*=2O~refFBR7I6f)dAFt)APpDi~;vb_DBs&|>!)hJ1Uuhl7=(O>8e zO*DTI$>lXH_{5b*nnvmjJqFN`>Q^iG2mP)lV01HVAOK-HmJtWH)B)6PRH-bnqyASQ z;lK9!MKQT`rZqEP*250vC1v(l)-dHq7=|^}qbbMIw%`IslP|)SZ#)ak%jp#5oCf6A zuEwqB+FR<GUrH9Pw6KL!>;*M8mW}&)_F`itydOaCr!2)8Qqd!iDWIn;dlNXxT6v<^ zwEbLD7)mt%B!=!E<*Uj`_LeWd+@`pl`v)<Xe>@Y0>wT}?&VW4+AoJP!{{Xmt@ofra zDp&;P!hsFk)3WXKR+-qBi95I?RLRpqax0##@5d_dEIU&8Rls(NKjL}F>~D})U%=xo z9PC{en_cS|dtn!wT<~~{y1IPv4hVCz_@K4aa*^yJwE#N2tNHo}KUMQ>L@4=QN&O=g zye>u;O#-HHx%#JtWnANJVxDpCDX0e?jr&=v^TFV*pc2MTuuJM~!3lI#|Kw<-eBpvz z@YR9g6AwkafLZ$;%2$?Izge;_FDv+ks9fpoh^xAoBKALg!l74oF~ZGBr>mUX;f%=> zNQ?|Kdq7CSnLlUfK6?FbM<1Yk;NLy&sx^=-e!mkys%9;DGip}%$C$&Autkji)8XxO zi%D&c$G=#g=1;^}Rh%8y?rk(;f9Z^R1a)Kjk~EWmF_T1cz=(9{)+2;yzfGx}<i%)y z0}rBhTY-^(y&2@+9_<>i`TXqa>hDqx^Lgi(g%W#1;9fhVr2CevvAmW^^@i;Xwj2CF zaZ5{&r0kvY_aU`F*QJ1MeXc^1MhVidfDZu*gv=GK(cQFv!{W=Sxp1-I!b5#5FBEq5 zsPG}ltu3ntJBL4BGm18Vc2i4UDrE~NErt>vn=hO(qrW)U>*c&5(dRfb|7TUaqDV?g zCU>P;FJ22|zh}x3dhaFTr+Y1qQ`M7&8@?bR%7C)Ce*1y1TjC_-Zq}hNFvXrfibh0{ z#O3|QVVdN*e#GG3*<}fkWQ9Ghih#Jpk@%+M`1vv){{SfoooL4@eH#Vsx#EO-vLAgR zR;z1uit*#xQ>ufyFPcL;)PkZ@2c&grBmkjGRqv{j{Yb`5KCs*RAQ7?u0i@SF?><%+ z_L1KnD;J`B=`M?T_atO;W_CUS)_rz=eN|*^UcV2(P`hf*@YliDY(4oZ65JUrflglK zg*#)4?yIRr#1vT>E#6$3s@ka;NAEW1D^$#x=e{9TcmMLNEfj6uB$KlxhA5ct#$fxG z<}ZKTI8t{5ZfV)9{{v`;JaX)@1qqn>4wl9&OPcv^RRu%HVvzG8J{5av*x=}p+Z<B1 z7d?o%r>R&93t34}qCYQUCT@yO-!lvh+GmkMyk>ticUu^#kJ;QJ%}v^dP_OKR8Jvp2 zs0^bKr-!GDP*I$5^LEGM-&tB=eTC)Xg#O1^Bw#O)FJ`bt-(|fyEot7b7`vDeRJV5R zX*Of!=4Kh4G{<;L%JOtL0Qd&D_S})dHKt9r{2~0BH+^x+HpMz<kl0D?<6<Z6u_oWg zZSg^Tu){-I<UvoRgDUBvM*ZmwYPpB9goB<JBy62<*~=ilDj(<}qB*AZ@x*bdg8(wL z%85GNP^$`2oV^T|np#CxuJXMb*`+0_RG$B0y$kzYWs$?cGF9<Mrs>U$Pr}~UQUE{@ zK-cxFW{s->z$LlGvX_GoNxi~kV;A9Nq{0xkn?lC;@5dz8KG;y7V*n4b`wR<2iQY5$ zJ=@?cqN#eB*)PZXB`WGh|NZQ|XX_)b$AX(a)OOA#Y)V;C3M{k}j*rT60OWkQB z5LtC5us*t5wi(=_Sx_!CTMv{t7W4TRJz~gJz;j|HYf60<4bT1N3uc6HIzZUd{w8#7 zuBq1tL2DO(N#jY=jBTCFAA>)Hbjw2|__K>l(XXfYwUz`@UFy^DAI#|gYUgP2D{g{X z%B2xK&O_B^X(UpAaz27pv|P1NprmS^d==fO5qBlM>9hQFBi3a<ouNBJe<baCV=RQ~ zABJ|OO~G=mq2(d3xzT!#bG=S@FEx>y1RCOSSEm1kJ#Ph8)0MvsV@~RQmf%0QAA7HL zO@czd_;}XaN2@gAG?KTh+)Lzd*MRNfttrc9J8rgRd9%rS_?J2JpS(V7;y*g!sBa5@ z|ATPdNrfubqq3yt@uwz{SHvR3(gmVb@t<eC3JV)R_SZ=_HA%-ycL+%&*(P4hSwZ(A zmKAV|&U`95_<mPq`C+htc>#)hacl-Y8b>Z7w&0;`9nF4uNX{&pHKPW-NMizab^OoE zk5<<NkHMsnxsW<sv?~&^@OmK^LqS5l$|sA%YOd^;yc6v)-*d-(1A_~9Fr=yn7U>u( zc>d$H`fh*0w{X=N-oYBg_fRLpo}u;ib;W0yH-LxT6i=S2<BE`RHRCAyv^aDV{B8Yu zCmqO=jKa@^F<z^y5gX?0<ZoTH?3{oRLOdN9QnFaz!&=tPv)lXTd@0P9#yQ$&)LA5d z`6$J=e~4zikG+-^xQ3(pi|iG&paY&-48{F9Cj`Y!EV=Erue5$if>a;)B|ix~(R+w0 zX%7Cm9T?zkeLr~Mx17{QIYL#69ATvLN>crk)cu&{ix=CBo*vJ?gMM=YTW{yeLJtDj zH#bZ(jfQ$)vt_eo4UW;i^VfgIg*di-*lUGkhuCvH99Y^6XW1*iCy+dwxUaYteW<7h z(Ks}$kp(&Wau$@T(PIYZIGsj?bpAd|nQe$GNYEsZjk(8r*Skdze+wGF-RxxRc>KoG z8`;{WvxqOwWm^AI$3v0*33S@!=-%+KeHt(O>pF{~rXSX6Gu%nOB|{1%F%adhHn;<- zgjR45Oi^~Fc>R><CEEi-J84NzzsZTqhHUy{`_ly(ot93~cW;>@qVPIdF{1CBJA_f^ zauNsukg*D;e&3BTq+P2f%C=5Z0x=Id(+CgQ5JIBxtAE;KUz^h*I|TdPxt<9+m-4%q zzUM)JZf*}RiEl9PXCdGWnZE+a{NVWoETAP*<FUp2oD)#?TWm~dasWe`mL(#|gKVrF zlHZvnIPy>|S28<vUy1&NgrlJrTufMyh6#3+Q);(L$ZwPh1g0W!`&Hm0l@<x0!`3+l ztT{|08bd5gflNXDyrM-vYxYFKOeDJ)h_R7Eoi&JmB9znQq&QqYI9$NJTf`m${j3!l zFSU5G)cPhZ0e(~CjR}biHoRBEOwi=w$WYogo>#Y-mPKpu^xrZ@uV%w<$bVx`blq^< zOe<~Xucy&u$<8gyHBo+%!q5KzCaG;Y$j%L|aLkMG^>0i6ykvbxXrEcU3zvSEJ@!s_ zu#;y{kq({bIfO5{fq8|2=R89t$Cv-xc+IE#u?=khwdx7{UW>-3ah5<f*zsadyQ69L z^yJjFy0E>iHL19%xk=JL8=FG9oUt!Mk8~Z#C2cxei@B10LFt=mR87CmwaU5NSrq)r z&!K@rvG@^;Jxw#pQ8@0D;cQp&v|nK1VgN)azU<Jz?O#~o%up0#7aHJ-Pr?$i2#kS= z%LE21aUEh<RvahM-uLg(?@=iQVkt1cA8PTUSfkQnH<5gbbt3yb&c{RvF6zA}9UW~5 z#QG0D-3H+?$6HtHVc1a?O!4~S)qYFSNo1Mnfr;~S3*?tmk23#pR%MdlHhBnXHkm>< zthSyx00afqUNy#ZMlrfl{)?MfP8ZChw&VZ=2wEOUvt$|e(?4E6Bg2;!0$ZTTYg4-a z1N;Ghy^`*sI@BBGXcNXsj{if=8d9f|c?L_`VxY1h{18Gp8Q}QqDu~yj{?!1>(A9&^ zj&qu>yu2X6tG3*Ibvet##L#2uup^$`o`m_QO~^y&_??~)1kEbr{N$^y#BL`*cWw|< zvOE1Zb5Og6IFgreC8wFQmR_^BJ$$E$Cm;;5pE2`(kKM)AjLGY6PO-$DxsX0RxXb7T zaV^XIan_`kp_Ts@)$%vw;A5w^*;VH}32H2PWZ?a|R<g%_N;*hLb&L0xcS{v{tu6Y) zT_vTm->fB=@8$%0*Pa|eq??m>@r;~5KDXH3_~M{6x&uSDT82vD#4j`4v#n!dKHB9y zWn>f$bFxwF-dPs9KMAM}Dq+Xs-L4issUE;8tqhx5e6i$nh;d(*vDPC@QKWB`06H}! z_i{X|4R|lRwsN3jerRy|`i~l`Qz=guo{g;XQXFy4`c{2_S#Ir&$DyzAE0Sv+s`tcS zaR%vZoxEfcKvlswzfj(F_kPYry_NEzYe!M+kS~UBT&-C7-Gt}IWNX2{^#ASweR5(x zCm%sx74Rf`mQ@5cE+YfS!+cz+E8R>Z-}#bO79;>z_Hs>{AOs8iNiq~~<tDZm8*oxu zaZ^x+wFHK4o8R+eFLI<>!4#b@l)mkQabMs2|J)8`N*sQR8#eCQZ)E}*H~1!{=I+9H zYV+iAL<Dpn{N|V{^U3F0qPq^uYaKaXq|y=6zLedg8;6gofHl8buW1X0+phcjA+z$h zu63UHo%w5z7s};LKvp<c-njcAST+57oK=RU!8o%b&z$|&KW2SWLULATH%Cj3_8u%J z%PBi?r8=oHxR=a+CD<uY?HBQu<Pj!tlVH$aZGrLR0Nj1BMsT(~E?rl_pvF?`X2rcB z`OfHHmI1EO04#OGo)c<MQr|((shCPs`ovAmXB-AL8UGIuWyn&1dEf|EwA2erh<=TR z{VJ|ie+woLq{|ho8J8Tdf90fwXcycWI_j7~cHzevo)<w^R78g8P2RKbJ#h<|!cFN( zQN-uEEbMx_z*2W*Js=hPkuO04IGoGy11=%!YoLKk4Q0#PO-$6zii?O<XYSj6a#J|O zTI++M&}Ua_mF<+G%5HP(xGZ`D=gU=}SQrrWyeuBkgqyCL#k2KO<|iInEyEt8lik5- z+NN4m6j6;o3FHMQ1&=RbQ@Nz5*wbFUx*r=%%6TeG1v?+dL=plKZ{@f&d-tYZja+ic zVv95|>@1CT;|~*Wk*>HahAibIh{ih!@t5~r*$FxV<$p8Bjo;CWp}u3o)^~@)=x1{g zY|k;P-#4N_JKsMn<;K`RGZp_>=R^Z%?bCo%qN1T3k!=k2B+1%%ThsUn*ve2c`l}I> z3vfYV$rM}B68qKpfvGipn~xt1nzdrU<aKM276fxahUK^%9l3-yVff=RC0{q0&qu@h zJ?_K@$^iPab!S_s;#!cL?8JWn1@mg?ra5Du8_(iOudl$WqyKk&rkv6h$B}|;OCbk7 zm5|7PgRmc)zZ><S2M{^GlD+^~e4APsD#FO0UsOYL<D}Y#V9oCm7uu5d1oyX&aXfJo z*KiuM2Sw8Z?=|e`da35x)J=Iz23zD48ALtN`DPk)=g*6wzM0%orP?fDFi;yWSq|E} z4oqpa+Y#sjFDzkW;JjB9N3@!t?|x6`Q<^)7|87-GfD<y5cH2p~WCJ+cH}^1vh|Q(h zB~V}H(>y}UG;*`SUp3H8D|~!<Sks5_@EC@7WH(d-=Trk6%Cc~J7%uIA_l{vsRMIV^ z<eebZR9!uYQATTn#I8H%`HUBzsaDRK?sSQx{}x3paYQdJG@W9QtyDDKdG9f_c6>T7 zva_etK|K~Oz@#4F@qJuWl9M0?c=<OZGEjS~MU`7MrxTGBF=BoLdVy^Qyz4-H*rL0# znLZIE;o0S^nXPM2z>107V_vXY?+&PD#gR+W!`x9Z_s`567?>Nsb&!L}sIYjY=bm_} zo~&wviPv$zAE|qYH84@bWgRaGz8|}ih8(7sS+N0lD%Bol0AyW;*`{&!!+)xx;&aB! zAuTSh#7_!_#66L|#*^M;B;X<Iiv1gt_uEb%s!l(CHiHo3h-x*umQvrphxvIbAwT?X zK)enlaagO9iY(XcG!xF9YFpEL_>LiS@RX?y0!?lDN^&m!jkr_<K;Cx5M$>PYg#<E! z4kxyLnDb&Qkzyv?E>My2l-JUV4~CbIe{4&yBPqP7J&W&EoR-r|(Ys9BdoDE7^tK8c zD!6EH(1WB`P2k^n1PYP=S&n`J{oKWJ;<c>wyRXpZl0}Y=kkdrjyS*w6$m<@xZ(i$5 zOdk8-RlC37Kln%4A!kcEEE32<Zdcf?21|BfN_%B$lRXC;R1k)vL?rIv37^$S8<J$d zn;x*)&iOvK)gdwpd7t&E-qWPI%DjbThe$QfU;B`$YAWuA$#6Rw&KUR;B8Ga1tm?Hh zYuWhd0h(iYaKyJKZu@=bsrx$5^42{Eod>gy7FqNc2g$g4=2A!beM$ZYc~xK4^Kj@t zb4O<sqI!oV%n&xj1LI|acNLL)>h%Lxyt%8LRlyVHWNT5vA<MuG4g1FqKJT%YORBcW zEjG(5gkERhqurag2<&h&)O~7XN7F$g;fMSd>u$-k)}5JL7#v($xhY8}6YSu(^Kwl9 z|M0=_JWGy~m%LodF=wX0ZvmKKAv2EV>UcTal2Wmn^PzLEb&hUKSRvRa<DuBE$}IU> zELrH}j58$l(?LdYT2bH9Q5DOZ{{XM%9{&f}bi96vT&0PZ7|>q8%53~bc(aWI+qJ?& z)^l`2`cG%NNX8<?N5erog&})Y0pMf1`<H&-HbLJ`WgIu0Kk>PoE6>r_NjHan{($$$ zwC2`*=GHkP*)0IkbkIqevlg(h@AKmvm}((P1R@8FPc>zOjN7L9EgS=5Sd$f+htHXA zmhtfq!B5lO(a)hqZA?<eR}U0dMw;{$Qv9OEw@aG>#EvXvoq^1Os%?|i6C3#*kp+A6 zSiLA~Zj~L`#aM{RgF-X%FT)CSzD*(D=+NMcC0s^%3wR=xbZf{~8pMa<fJtVYc8Sf^ zinE)%JHtgOu0v9<jX;#bci1)Vvl;9T(<l>*7Wfu%Lp^yrwIV$=Ks@!;8qe4?GC`Ch z{T@Jw1%5{MpDC@&RuIy5E51p>)R(y5(({&1x(3m&JCPBhcr~UufiH7-KW_#F{(b`8 zoSpuPWaKSkoYv?(tp8hfHYVn}Y9ObNdXC+hr@<R193X-XX}v78x*SRTq$4BshxN3e zR=ouC-|{k#91jG(4sD!1+y9XR{H9i)(%Ya~_L#-u**2q|i=eztPtrl~{vzUAy++Vc zQ`Xm*O#+XyOWE-)1N8Itc(nmv`iB0haCeT&id6jjQnFRh2og4MF~$i;%GxRrWmtgE zKqANI=;8z|V5MQ|&&>dMHwll;e}I@zCBenYn!4OZ=1R9>jAwXl_gFperWV<n6r=ZC zJ|Knv`_n%!x6@+2T1xzT>bt*oGODotBbzV3-#WzIX$j)bsog(b#+G_VY?yHf!j;jm zm-w6)p#x=)Zb)>wzBRIIK5;w{wqUwp{OfpdXX^U1JKeqG<Cl!PNPfR7k2%bbrQM*9 zavjgJ!_}xr^^ycrwJb7yLM&!|d*z5*kO@^(DRsvmo1~W+J(>JuY!!m0#4Q5^*srKB zAy@;0g1U3#bsEifgPa!|F3hAaT+Fd_MeWIB@}(#(S)8k__TVwHFK3C#Wn<gzWIz9+ zHU2tGdD&0sZ(nv)ui6_6wEaUfesnHg>UXv$s8#zsT*#X&mNH^<CCPq|C_oF$(rO`1 z6xtp#P@>JRR+xl%;K*alteX@|9^Z+Gh_&zID~X|HLgtIrs{Me_h96JUZ3KrH@#G05 z*s|eB>MP;iRm$QYKQNULJ1v?O<=K=rn9rK${!W}T9UYvS^}rz^zPuV%ykuT}{EQXS zd}!FURn5D;+ia@-Kq|az_(mxJe=asGbpQWlUMMTte|`<{%1=S<f5zP@WX*yw>4%cK z!|95#L0tH+TNRhL;x52rVj!2M?VVtILws40=?un`4g0}X&qJN(1pfi}l}a9ye*e}R zHXt-Hl?7qB+yOL7g5KzA3@%e@sRwFz5nrM0PY65+x?~BlwAq@h#DGNma5jawunX&Y zX?vHf`#bH>a8LMLPNi75e~Hx+n-{B3@%QJR1HnAn@@$X!1E-uV@_e^mq#h9_NlJ&Z z=en!<J~?pEYI!qunzygy^ka}68SDEL>xJ01x%ov%O!u%cS&Jo%*UQAkv2<Wf`}!X} z$VM^#WxKVjeW$-B?LidYqfG1}4);NTkh1m><k40Vmaw0XHlC`djDaNEd$OFPkw6sP zJ}UN{AI(x%osRoFM2>f=Al<N_=)~Xq{I3|Bg{j=3!ajk^^OmqrVRN5NPX^=YfPLDg z0&z&Nw0%Y-wtccYzoPc3D?I4OB3X?^G?IF8e~kuaWdqfzO*j#nGYwf8x&?m6q#o;y z{?aiiX~A~wcMrEy%UY*y(v|~ig(IfJlzZ883YO|E|3O41ua5ZI50u;!oKHf0U&>{j zh2WZwJ^C@GB;#&T$5WoP8xO_vDp577)c^_o3jODKtQ8-n33|{^5GIoj?kbM+m2lNE zDPA`IX(K1wFV4=d!Zoi)@pV9v$MPqBLj4lWcC~^5eVlkufW8Mnxof;$S)|GRhm0Us zy}unCx=7pG38;JdX~x$f<9HKz^nV3x36u8yA_)MJZgIViFo~Y6*U%d4!eA@oswy;5 z6R8?X?DZ6d%Ciy`RAiEH0QckhkzRe`e~-Tmd>b=Eta$53f^|4B#Xp|l`fZFhEAxZm zuk9h@-;8s*>ss8_noBV$qiJqov_aSq2x&TXe4f2Cit_YTMH^HAdEjEdRKf5)B^C9V zUHKk0OvYFD5&ETV`&s-Nx|BwqJg|+)z%s`&E`8Xi^RGql=Zic&<2z$7hqdiHT18xz zvAJ1D&vKyTbnjn{N9p?1`d*=Tp=uFdX?Ir|ZS+hYJF7Wb8B~tpfd;!P@J<R*wI=WV zdKtqppV~+56Gl{=ifLWMfzEqZ!yf^EZ!Jqnxr0XdnC+@*Pl(gR2!ri5<FT0s`o;BN zHw<(+<L;Xan{7_g-tx}kE4w>{62m+U9V9|B8A$2~#eQF!@a88ipDR~P_9)_ERb3JJ zJOQ+WQY-)__C8v#EX~suabm+(AH)c}-vD@?FYoC$gZ}^^Jx&KDrzV|J=UJreK6}ec zh&I~m76?eknf8=?eoe(-PvI>h=$6zxO%cy%XN3SiQc17JyC}!mAvo%Q=QycMO5Ic+ zsISsr0pO<7oUii#0D^gt&MMN<o`>ti9s}?(Ar7Mz+=Sx~tEnt~Fr*yT$@p#INb(y* zg~&Z#S#$ceemrREmio?{F2w~d;B4d4MK$|le;9k2Py1%PtbYyQa>+(2oMn6cl(svm zW|*u(zqFG1vzcFpz7d@5Z3@^H9AV@K{{TX!&+wnZvSV(X@bQn`T}nUpYUyE5Eas&W zXTEF6mR*6Cp2k0N{{SPQV{uFVUQ6$14L8AG49v~2>JTv<R_w6+h^(zc;9Zs&+Ur*^ z3~(-?NdU*I0;eCHdVp-!SBmid7}iwxu(|&L(M?>F$uj!dI!pTWvAlC^Wj$3#`Tl2@ z*nBC|1=<Vm6zSI%%71$mw92n9`#CN0`<nGTT~kHV?P9jKz0;w$iFQXEcTojV=ss`f z&3-0X!h+Tlw>UsE_*C9f5>Cqd><<NDa0#qDt$#20CyR^Du^6_!yS<OwKke-_<SwOT zTNwadNB;oDRmdJWz>yd*VU=Ydf;~YUtMLQMKn_#^j!5f@{dxVITOR>F9`4Cuq1$IC zzS@k(EO-b;ZhY5v*usr}YTCBPeW_j9M-I#RZG;kJZM$>|-n=(j^RE#6GVmt6=1Y6a z9V+0Q@3Ov&%Rf{tj8lJTe}Wbt9sVBN=rj3HYH*WrrQb-o`#r!M1OCf!tUU=mg?>(J zULL#f-m!b6>b5Omso6}{_cqcl3{Iy6eLI8Df-zcUcsGen)2+!R)64HL#l{lStT~bT zV;91!D;t+V;%f<9j!Lp)A3*;AN^krs`<9Hoj<02Ra)-?Fm%nUqPCIgaEAtP@KtT)5 zbpHSi{vhiA01EtNr}&dalWpCrVn`j2mva&O@W=;MVfh>$)%6m<;-H(2US_&j@V=>q zc3hUZ`n~Y4QG1UMNogc)6uNxI0*pBT@(1d9KGoV5$tOGxxvx0*N#d;^;vS!E;|~wq zvuWDZsPkiU^Q6iAE(hIoC6&E+^{=1*0B=9q0O-1E{5H@onmt1K7JX{s7sEkre&hg- zjVD(0PzUi>#5^SNc*jZ$SHG8Y=x9&a&`Mo2^*+KkcHn2vho0tD{{R|sxr~g7Vj%Yt zulU#EX_imB=Dr6Q-rk>DU$o8!1;pTbd99D<Ui;yzf6L#){s|vlw#fam7ZKzAY+sCv zPsm}Aay?X&UzC5dSHXQp<G;j6w8<yChr^n9TdiK{W^uMG@e-f!$U#x)10L1-t8Hr) zjigrA(51b+5v*}V7$GB77*zw%4lCy~3=}XkRMh#OUoXV$qfymd&LoXAVUA^uNa`8X zAImhpVxB~(bI0CV{I~tH8c08BpBgGlA`SNE2_pfYAv;%#{krS^er`bamA}TlsvJM< zsYb7~w=%xp@J?A{5^Y%hv0t0+kU;ccf2};m-{g<+uf)~VZ&ZA@*GfIE9DiD0?Mv_a z2woq5w8{Q8zxuTQ0O#l7{{RG!uKxgc@jq-tZ=MJ0DSWAax%!IyP8zN7>8M@<{{UYy ze~mBp#;5-PK|B8d{0fu&X#W6KpZxs%Kj4q+%lUs3^e}a&AR8NsD6iwQ_u@g@@TI`d zPR5EVSOaxmr5y@mj<iuw#K{US(ZJ{0qnCw1I2q|h6oiPQ`{(hgBLj{oqN||T*BHh) z=9@17V~pmCDHRcb<QkMH+Pn^;iYNv+j!ifCbKZ(7BuIY<`igk#MHGr-2i~biLq!xZ zmG+0+7zP1J8Roq^;Jy9L<-O#07ZT4LYP%9gEElgpdQnAtS#R+X^ZB>%ndt~OLd5cN zI@1Wm&IbTv08vGKl($F1EyM(qRu`(#MQw-pn4~O98eTv@U!{Ij{?^yG7r(TRj=s@6 zw;oN}Ll>Imytu?mwHG}UWZ(`tG*Mru@K^Dlqx}yPAMhi{N#=ppiYxX=o)QDrm1v@= zY$PMGQZPvG#eS0hz*lq6@D1XYX(Wo<S-64(b|gg})jJe_3gnZ4#z~@z`5qzv0Cqd@ zzY+AR^!#fR$3OBUc#r<UcVGG?=%T+orSZh}CDi;}v;P2(D{uPbzsjbfiv6{0e9PUE z+W!E@?XUfJkN*He75i~@{{SCzf4pd-z8{HxDqla)^>AA<A=K1S^`eUSv(hE3zZ3re z$hWNj0M~`b{)%cStB1simdyNBv;P2(Sijs~<x^2be$gL=A2jzG{{VFT4Su-(%_sgb z{{Z3N{ehtW0MKZnzEg<*0D})x(82stJt?^acEPXBulOiEtTx{sAeJa&idpoCWSP-G zGB9GHn2x6$WcH$p@UlPmwdnr<BdZnsHhk0mC;5?4%*006C!zjSQD3C5i|#yCvOeSg z0D@@U&n#X#w|S&^BfYSZB4#C3nPv{abOeQ5p8H3oe2MWc@_YXPi9Rm4x}Hm$i8YJ8 z^33I(u`>aZc{~6=3Mj9c!v6rs&Z*x&;G>(T0rEH0e>y0ys*%AX^ke=B=WPsM0x#|o zBuk0)tB*QWP##U8Lhe0I2Tb&@r`PTutrS<}8K?W@PgCgWd?@_0{j`7N=6q%U0B+y< yAuGhziYxT&2m7r*Mfo2;Q{$JYj(8sARFVKBU<L&gS99uT9mL1WNs1__DF4}eO_~D$ literal 0 HcmV?d00001 diff --git a/ui/ui-frontend/projects/pastis/src/assets/pastis7.png b/ui/ui-frontend/projects/pastis/src/assets/pastis7.png new file mode 100644 index 0000000000000000000000000000000000000000..f61fd5b4c12c11ff4d54aabb1d72ba32c28d164b GIT binary patch literal 30400 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 literal 0 HcmV?d00001 diff --git a/ui/ui-frontend/projects/pastis/src/assets/seda.json b/ui/ui-frontend/projects/pastis/src/assets/seda.json new file mode 100644 index 000000000..ca12001dd --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/seda.json @@ -0,0 +1,14026 @@ +[ + { + "Name": "ArchiveTransfer", + "NameFr": "Bordereau de versement", + "Element": "Complex", + "Cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Transfert d'archives.", + "Collection": "Entête", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "Comment", + "NameFr": "Commentaire", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Commentaire sur la transaction.", + "Collection": "Entête", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "Date", + "NameFr": "Date", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date du message.", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "MessageIdentifier", + "NameFr": "Identifiant du message", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du message.", + "Collection": "Entête", + "Children": [ + { + "Name": "schemeID", + "NameFr": "Identifiant du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeName", + "NameFr": "Nom du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient le référentiel", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "NameFr": "Nom de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient le référentiel", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeVersionID", + "NameFr": "Version du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeDataURI", + "NameFr": "URL de la donnée dans le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans le référentiel", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeURI", + "NameFr": "URL du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder au référentiel", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "Signature", + "NameFr": "Signature", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Signature du message.", + "Collection": "Entête", + "Children": [ + { + "Name": "xlink:href", + "NameFr": "URL liée", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "URL liée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "xml:id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la balise", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "ArchivalAgreement", + "NameFr": "Accord de service", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Accord de service.", + "Collection": "Entête", + "Children": [ + { + "Name": "schemeID", + "NameFr": "Identifiant du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeName", + "NameFr": "Nom du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient le référentiel", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "NameFr": "Nom de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient le référentiel", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeVersionID", + "NameFr": "Version du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeDataURI", + "NameFr": "URL de la donnée dans le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans le référentiel", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeURI", + "NameFr": "URL du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder au référentiel", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "CodeListVersions", + "NameFr": "Référence aux listes de codes", + "Element": "Complex", + "Cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Listes des codes de référence utilisés dans le message.", + "Collection": "Entête", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "ReplyCodeListVersion", + "NameFr": "Liste de codes de réponse", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste des codes de réponses à utiliser.", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "NameFr": "Identifiant de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "NameFr": "Nom de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "NameFr": "Nom de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "NameFr": "Identifiant de la version de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la version de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "NameFr": "Nom", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom correspondant au code utilisé dans le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "NameFr": "Identifiant de la langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la langue utilisée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "NameFr": "URL de la donnée dans la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "NameFr": "URL de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la liste de codes", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "MessageDigestAlgorithmCodeListVersion", + "NameFr": "Liste de codes d’algorithme", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste des algorithmes de hachage à utiliser.", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "NameFr": "Identifiant de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "NameFr": "Nom de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "NameFr": "Nom de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "NameFr": "Identifiant de la version de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la version de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "NameFr": "Nom", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom correspondant au code utilisé dans le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "NameFr": "Identifiant de la langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la langue utilisée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "NameFr": "URL de la donnée dans la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "NameFr": "URL de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la liste de codes", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "MimeTypeCodeListVersion", + "NameFr": "Liste de codes des types mime", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste des types Mime à utiliser.", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "NameFr": "Identifiant de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "NameFr": "Nom de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "NameFr": "Nom de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "NameFr": "Identifiant de la version de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la version de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "NameFr": "Nom", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom correspondant au code utilisé dans le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "NameFr": "Identifiant de la langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la langue utilisée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "NameFr": "URL de la donnée dans la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "NameFr": "URL de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la liste de codes", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "EncodingCodeListVersion", + "NameFr": "Liste de codes des encodages", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste de codes des encodages de fichier à utiliser", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "NameFr": "Identifiant de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "NameFr": "Nom de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "NameFr": "Nom de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "NameFr": "Identifiant de la version de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la version de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "NameFr": "Nom", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom correspondant au code utilisé dans le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "NameFr": "Identifiant de la langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la langue utilisée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "NameFr": "URL de la donnée dans la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "NameFr": "URL de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la liste de codes", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "FileFormatCodeListVersion", + "NameFr": "Liste de codes des format", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste de codes des formats de fichier à utiliser", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "NameFr": "Identifiant de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "NameFr": "Nom de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "NameFr": "Nom de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "NameFr": "Identifiant de la version de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la version de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "NameFr": "Nom", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom correspondant au code utilisé dans le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "NameFr": "Identifiant de la langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la langue utilisée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "NameFr": "URL de la donnée dans la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "NameFr": "URL de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la liste de codes", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "CompressionAlgorithmCodeListVersion", + "NameFr": "Liste de codes des algorithmes de compression", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste de codes des algorithmes de compression à utiliser", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "NameFr": "Identifiant de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "NameFr": "Nom de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "NameFr": "Nom de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "NameFr": "Identifiant de la version de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la version de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "NameFr": "Nom", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom correspondant au code utilisé dans le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "NameFr": "Identifiant de la langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la langue utilisée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "NameFr": "URL de la donnée dans la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "NameFr": "URL de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la liste de codes", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "DataObjectVersionCodeListVersion", + "NameFr": "Liste de codes des versions d’Objet de données", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste de codes correspondant aux diverses versions d'un objet-données au sein d'un groupe d'objets-données (ex. original papier, conservation, diffusion, vignette, txt).", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "NameFr": "Identifiant de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "NameFr": "Nom de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "NameFr": "Nom de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "NameFr": "Identifiant de la version de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la version de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "NameFr": "Nom", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom correspondant au code utilisé dans le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "NameFr": "Identifiant de la langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la langue utilisée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "NameFr": "URL de la donnée dans la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "NameFr": "URL de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la liste de codes", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "StorageRuleCodeListVersion", + "NameFr": "Liste des codes de durée d’utilité courante", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste des codes de durée d’utilité courante à utiliser", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "NameFr": "Identifiant de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "NameFr": "Nom de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "NameFr": "Nom de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "NameFr": "Identifiant de la version de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la version de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "NameFr": "Nom", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom correspondant au code utilisé dans le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "NameFr": "Identifiant de la langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la langue utilisée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "NameFr": "URL de la donnée dans la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "NameFr": "URL de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la liste de codes", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "AppraisalRuleCodeListVersion", + "NameFr": "Liste des codes de durée d’utilité administrative et de sort final", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste des codes de durée d’utilité administrative et de sort final à utiliser", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "NameFr": "Identifiant de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "NameFr": "Nom de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "NameFr": "Nom de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "NameFr": "Identifiant de la version de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la version de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "NameFr": "Nom", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom correspondant au code utilisé dans le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "NameFr": "Identifiant de la langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la langue utilisée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "NameFr": "URL de la donnée dans la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "NameFr": "URL de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la liste de codes", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "AccessRuleCodeListVersion", + "NameFr": "Liste des codes de communicabilité", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste des codes de communicabilité à utiliser", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "NameFr": "Identifiant de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "NameFr": "Nom de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "NameFr": "Nom de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "NameFr": "Identifiant de la version de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la version de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "NameFr": "Nom", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom correspondant au code utilisé dans le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "NameFr": "Identifiant de la langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la langue utilisée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "NameFr": "URL de la donnée dans la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "NameFr": "URL de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la liste de codes", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "DisseminationRuleCodeListVersion", + "NameFr": "Liste des codes de diffusion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste des codes de diffusion à utiliser", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "NameFr": "Identifiant de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "NameFr": "Nom de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "NameFr": "Nom de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "NameFr": "Identifiant de la version de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la version de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "NameFr": "Nom", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom correspondant au code utilisé dans le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "NameFr": "Identifiant de la langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la langue utilisée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "NameFr": "URL de la donnée dans la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "NameFr": "URL de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la liste de codes", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "ReuseRuleCodeListVersion", + "NameFr": "Liste de codes de réutilisation", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste de codes pour les règles de réutilisation.", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "NameFr": "Identifiant de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "NameFr": "Nom de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "NameFr": "Nom de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "NameFr": "Identifiant de la version de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la version de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "NameFr": "Nom", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom correspondant au code utilisé dans le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "NameFr": "Identifiant de la langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la langue utilisée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "NameFr": "URL de la donnée dans la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "NameFr": "URL de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la liste de codes", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "ClassificationRuleCodeListVersion", + "NameFr": "Liste des codes de classification", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Listes des codes de classification à utiliser.", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "NameFr": "Identifiant de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "NameFr": "Nom de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "NameFr": "Nom de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "NameFr": "Identifiant de la version de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la version de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "NameFr": "Nom", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom correspondant au code utilisé dans le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "NameFr": "Identifiant de la langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la langue utilisée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "NameFr": "URL de la donnée dans la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "NameFr": "URL de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la liste de codes", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "AcquisitionInformationCodeListVersion", + "NameFr": "Liste des codes de modalités d'entrée", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste des codes de modalités d'entrée à utiliser", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "NameFr": "Identifiant de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "NameFr": "Nom de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "NameFr": "Nom de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "NameFr": "Identifiant de la version de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la version de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "NameFr": "Nom", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom correspondant au code utilisé dans le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "NameFr": "Identifiant de la langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la langue utilisée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "NameFr": "URL de la donnée dans la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "NameFr": "URL de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la liste de codes", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "AuthorizationReasonCodeListVersion", + "NameFr": "Liste des codes de raison d’autorisation", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste des codes de raison d’autorisation à utiliser", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "NameFr": "Identifiant de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "NameFr": "Nom de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "NameFr": "Nom de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "NameFr": "Identifiant de la version de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la version de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "NameFr": "Nom", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom correspondant au code utilisé dans le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "NameFr": "Identifiant de la langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la langue utilisée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "NameFr": "URL de la donnée dans la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "NameFr": "URL de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la liste de codes", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "RelationshipCodeListVersion", + "NameFr": "Liste des codes des relations de signature", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste des codes des relations de signature à utiliser", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "NameFr": "Identifiant de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "NameFr": "Nom de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "NameFr": "Nom de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "NameFr": "Identifiant de la version de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la version de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "NameFr": "Nom", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom correspondant au code utilisé dans le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "NameFr": "Identifiant de la langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la langue utilisée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "NameFr": "URL de la donnée dans la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans la liste de codes", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "NameFr": "URL de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la liste de codes", + "Collection": "Entête", + "Children": [] + } + ] + } + ] + }, + { + "Name": "DataObjectPackage", + "NameFr": "Paquet d'Objets de données", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Objets-données échangés dans le message.", + "Collection": "Objets", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectGroup", + "NameFr": "Groupe d'Objets de données", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Bloc qui correspond à un groupe d'Objets de données englobant des objets binaires ou physiques.", + "Collection": "Objets", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "BinaryDataObject", + "NameFr": "Fichier numérique", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Bloc de métadonnées techniques des objets-données numériques. Le caractère facultatif est requis afin de permettre le transfert d'un plan de classement sans DataObject joint.", + "Collection": "Objets", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectSystemId", + "NameFr": "Identifiant de l'Objet de données du SAE", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectGroupSystemId", + "NameFr": "Identifiant du groupe d'Objet de données du SAE", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux groupes d'objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Relationship", + "NameFr": "Relation de signature", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier un lien technique entre un objet-données et une signature.", + "Collection": "Objets", + "Children": [ + { + "Name": "target", + "NameFr": "Cible", + "Element": "Attribute", + "Cardinality": "1", + "Type": "NCName", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Cible de la relation de signature", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "type", + "NameFr": "Type", + "Element": "Attribute", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type de signature", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "NameFr": "Identifiant du groupe d'objet-données lié", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectGroupId", + "NameFr": "Identifiant du groupe d’Objets de données", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée qui permet d’identifier un groupe d’Objets de données à l’intérieur d’une transaction. Compatibilité SEDA 2.0 qui déclare les groupes d’Objets de données avec le diptyque DataObjectGroupId et DataObjectGroupReferenceId. Cet ensemble ne doit pas être utilisé dans DataObjectGroup.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectVersion", + "NameFr": "Version de l’Objet de données", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version d'un objet-données (par exemple : original papier, conservation, diffusion, vignette, txt, ...).", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Attachment", + "NameFr": "Objet attaché", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "base64Binary", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée qui permet d’associer en Base 64 l’Objet de données dans la transaction directement. Choix à faire entre Attachment et Uri", + "Collection": "Objets", + "Children": [ + { + "Name": "filename", + "NameFr": "Nom du fichier", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du fichier d’origine", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "uri", + "NameFr": "URI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'URI spécifie où se trouve l'objet-données numérique. Peut correspondre à un chemin relatif.", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Uri", + "NameFr": "URI", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'URI spécifie où se trouve l'objet-données numérique. Peut correspondre à un chemin relatif.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "MessageDigest", + "NameFr": "Empreinte", + "Element": "Simple", + "Cardinality": "1", + "Type": "base64Binary", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Empreinte de l'objet-données.", + "Collection": "Objets", + "Children": [ + { + "Name": "algorithm", + "NameFr": "Algorithme", + "Element": "Attribute", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Algorithme utilisé pour calculer l'empreinte", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Size", + "NameFr": "Taille", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "positiveInteger", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier la taille de l'objet-données en octet.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Compressed", + "NameFr": "Compression", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si l'objet-données est compressé et doit être décompressé.", + "Collection": "Objets", + "Children": [ + { + "Name": "algorithm", + "NameFr": "Algorithme", + "Element": "Attribute", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Algorithme utilisé pour compresser le fichier", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "unCompressedSize", + "NameFr": "Taille non compressée", + "Element": "Attribute", + "Cardinality": "1", + "Type": "positiveInteger", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Taille non compressée de l'objet-données", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "FormatIdentification", + "NameFr": "Identification du format", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identification du format du fichier constituant l’Objet de données numérique", + "Collection": "Objets", + "Children": [ + { + "Name": "FormatLitteral", + "NameFr": "Format littéral", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Forme littérale du nom du format. Exemple : Microsoft Word Document.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "MimeType", + "NameFr": "Type MIME", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type Mime associé. Exemple : application/msword", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "FormatId", + "NameFr": "Identifiant du format", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du format tel que défini dans FormatIdCodeList. Exemple : (Pronom)fmt/40", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Encoding", + "NameFr": "Encodage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Encodage du fichier. Exemple : Utf-8", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "FileInfo", + "NameFr": "Information sur le fichier", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Propriétés techniques génériques du fichier (nom d'origine, logiciel de création, système d'exploitation de création).", + "Collection": "Objets", + "Children": [ + { + "Name": "Filename", + "NameFr": "Nom du fichier", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du fichier d'origine.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "CreatingApplicationName", + "NameFr": "Nom de l'application de création", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'application utilisée pour créer le fichier.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "CreatingApplicationVersion", + "NameFr": "Version de l'application de création", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de l'application utilisée pour créer le fichier.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DateCreatedByApplication", + "NameFr": "Date de création", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de création du fichier dans l'application. A ne pas confondre avec CreatedDate dans les métadonnées descriptives", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "CreatingOs", + "NameFr": "Système d'exploitation d'origine", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Système d’exploitation utilisé pour faire fonctionner l’application de création du fichier échangé.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "CreatingOsVersion", + "NameFr": "Version du système d'exploitation d'origine", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du système d'exploitation utilisé pour créer le fichier.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "LastModified", + "NameFr": "Date de dernière modification", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de la dernière modification du fichier.", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Metadata", + "NameFr": "Autres métadonnées", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Propriétés techniques spécifiques du fichier en fonction de sa nature technique (texte, document, image, audio, vidéo, etc.).", + "Collection": "Objets", + "Children": [ + { + "Name": "Text", + "NameFr": "Texte", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type textuel.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "NameFr": "URL liée", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "URL liée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la balise", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Document", + "NameFr": "Document", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type document.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "NameFr": "URL liée", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "URL liée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la balise", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Image", + "NameFr": "Image", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type image.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "NameFr": "URL liée", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "URL liée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la balise", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Audio", + "NameFr": "Audio", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type audio.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "NameFr": "URL liée", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "URL liée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la balise", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Video", + "NameFr": "Vidéo", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type vidéo.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "NameFr": "URL liée", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "URL liée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la balise", + "Collection": "Objets", + "Children": [] + } + ] + } + ] + }, + { + "Name": "OtherMetadata", + "NameFr": "Autres métadonnées techniques", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Autres métadonnées techniques si celles définies précédemment ne suffisent pas.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "NameFr": "URL liée", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "URL liée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la balise", + "Collection": "Objets", + "Children": [] + } + ] + } + ] + }, + { + "Name": "PhysicalDataObject", + "NameFr": "Objet de données physique", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Bloc de métadonnées techniques des objets de données physiques.", + "Collection": "Objets", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectSystemId", + "NameFr": "Identifiant de l'Objet de données du SAE", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectGroupSystemId", + "NameFr": "Identifiant du groupe d'Objet de données du SAE", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux groupes d'objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Relationship", + "NameFr": "Relation de signature", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier un lien technique entre un objet-données et une signature.", + "Collection": "Objets", + "Children": [ + { + "Name": "target", + "NameFr": "Cible", + "Element": "Attribute", + "Cardinality": "1", + "Type": "NCName", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Cible de la relation de signature", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "type", + "NameFr": "Type", + "Element": "Attribute", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type de signature", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "NameFr": "Identifiant du groupe d'objet-données lié", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectGroupId", + "NameFr": "Identifiant du groupe d’Objets de données", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée qui permet d’identifier un groupe d’Objets de données à l’intérieur d’une transaction. Compatibilité SEDA 2.0 qui déclare les groupes d’Objets de données avec le diptyque DataObjectGroupId et DataObjectGroupReferenceId. Cet ensemble ne doit pas être utilisé dans DataObjectGroup.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectVersion", + "NameFr": "Version de l’Objet de données", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version d'un objet-données (par exemple : original papier, conservation, diffusion, vignette, txt, ...).", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "PhysicalId", + "NameFr": "Identifiant d’Objet de données physique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant physique d'un objet-données physique, externe à celui-ci (ex. code-barres).", + "Collection": "Objets", + "Children": [ + { + "Name": "schemeID", + "NameFr": "Identifiant du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeName", + "NameFr": "Nom du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient le référentiel", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "NameFr": "Nom de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient le référentiel", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeVersionID", + "NameFr": "Version du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeDataURI", + "NameFr": "URL de la donnée dans le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans le référentiel", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeURI", + "NameFr": "URL du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder au référentiel", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "PhysicalDimensions", + "NameFr": "Dimensions physiques", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Dimensions d'un objet-données physique.", + "Collection": "Objets", + "Children": [ + { + "Name": "Width", + "NameFr": "Largeur", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : largeur du document.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "NameFr": "Unité de mesure", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "Unité de mesure", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Height", + "NameFr": "Hauteur", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : hauteur du document.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "NameFr": "Unité de mesure", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "Unité de mesure", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Depth", + "NameFr": "Profondeur", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : profondeur du document.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "NameFr": "Unité de mesure", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "Unité de mesure", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Shape", + "NameFr": "Forme", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : forme du document.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Diameter", + "NameFr": "Diamètre", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : diamètre du document.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "NameFr": "Unité de mesure", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "Unité de mesure", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Length", + "NameFr": "Longueur", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : longueur du document.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "NameFr": "Unité de mesure", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "Unité de mesure", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Thickness", + "NameFr": "Epaisseur", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : épaisseur du document.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "NameFr": "Unité de mesure", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "Unité de mesure", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Weight", + "NameFr": "Poids", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "microgram", + "MC", + "milligram", + "MGM", + "gram", + "GRM", + "kilogram", + "KGM" + ], + "Definition": "Métadonnée de dimension physique : poids du document.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "NameFr": "Unité de mesure", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Unité de mesure", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "NumberOfPage", + "NameFr": "Nombre de pages", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "int", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : nombre de pages.", + "Collection": "Objets", + "Children": [] + } + ] + } + ] + }, + { + "Name": "LogBook", + "NameFr": "Journal des traces", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Eléments de traçabilité sur le cycle de vie des Objets de données", + "Collection": "Objets", + "Children": [ + { + "Name": "Event", + "NameFr": "Evénement", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "Children": [ + { + "Name": "EventIdentifier", + "NameFr": "Identifiant de l'événement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'événement. Références : premis.eventIdentifier", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "EventTypeCode", + "NameFr": "Code du type d'événement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code du type d'événement.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "EventType", + "NameFr": "Type d'événement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type d'événement.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "EventDateTime", + "NameFr": "Date et heure de l'événement", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date et heure de l'événement.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "EventDetail", + "NameFr": "Détail sur l'événement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur l'événement.", + "Collection": "Objets", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Outcome", + "NameFr": "Résultat d'un événement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Résultat d'un événement : succès, succès partiel ou échec.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "OutcomeDetail", + "NameFr": "Description détaillée de l'événement.", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Description détaillée du résultat de l'événement.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "OutcomeDetailMessage", + "NameFr": "Message du résultat", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message complet du résultat de l'événement.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "EventDetailData", + "NameFr": "Message technique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message technique détaillant l'événement.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectReferenceId", + "NameFr": "Identifiant de l'objet-données lié", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Objets", + "Children": [] + } + ] + } + ] + } + ] + }, + { + "Name": "BinaryDataObject", + "NameFr": "Fichier numérique", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Bloc de métadonnées techniques des objets-données numériques. Le caractère facultatif est requis afin de permettre le transfert d'un plan de classement sans DataObject joint.", + "Collection": "Objets", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectSystemId", + "NameFr": "Identifiant de l'Objet de données du SAE", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectGroupSystemId", + "NameFr": "Identifiant du groupe d'Objet de données du SAE", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux groupes d'objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Relationship", + "NameFr": "Relation de signature", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier un lien technique entre un objet-données et une signature.", + "Collection": "Objets", + "Children": [ + { + "Name": "target", + "NameFr": "Cible", + "Element": "Attribute", + "Cardinality": "1", + "Type": "NCName", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Cible de la relation de signature", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "type", + "NameFr": "Type", + "Element": "Attribute", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type de signature", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "NameFr": "Identifiant du groupe d'objet-données lié", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectGroupId", + "NameFr": "Identifiant du groupe d’Objets de données", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée qui permet d’identifier un groupe d’Objets de données à l’intérieur d’une transaction. Compatibilité SEDA 2.0 qui déclare les groupes d’Objets de données avec le diptyque DataObjectGroupId et DataObjectGroupReferenceId. Cet ensemble ne doit pas être utilisé dans DataObjectGroup.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectVersion", + "NameFr": "Version de l’Objet de données", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version d'un objet-données (par exemple : original papier, conservation, diffusion, vignette, txt, ...).", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Attachment", + "NameFr": "Objet attaché", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "base64Binary", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée qui permet d’associer en Base 64 l’Objet de données dans la transaction directement. Choix à faire entre Attachment et Uri", + "Collection": "Objets", + "Children": [ + { + "Name": "filename", + "NameFr": "Nom du fichier", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du fichier d’origine", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "uri", + "NameFr": "URI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'URI spécifie où se trouve l'objet-données numérique. Peut correspondre à un chemin relatif.", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Uri", + "NameFr": "URI", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'URI spécifie où se trouve l'objet-données numérique. Peut correspondre à un chemin relatif.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "MessageDigest", + "NameFr": "Empreinte", + "Element": "Simple", + "Cardinality": "1", + "Type": "base64Binary", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Empreinte de l'objet-données.", + "Collection": "Objets", + "Children": [ + { + "Name": "algorithm", + "NameFr": "Algorithme", + "Element": "Attribute", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Algorithme utilisé pour calculer l'empreinte", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Size", + "NameFr": "Taille", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "positiveInteger", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier la taille de l'objet-données en octet.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Compressed", + "NameFr": "Compression", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si l'objet-données est compressé et doit être décompressé.", + "Collection": "Objets", + "Children": [ + { + "Name": "algorithm", + "NameFr": "Algorithme", + "Element": "Attribute", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Algorithme utilisé pour compresser l'objet-données ", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "unCompressedSize", + "NameFr": "Taille non compressée", + "Element": "Attribute", + "Cardinality": "1", + "Type": "positiveInteger", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Taille non compressée de l'objet-données", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "FormatIdentification", + "NameFr": "Identification du format", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identification du format du fichier constituant l’Objet de données numérique", + "Collection": "Objets", + "Children": [ + { + "Name": "FormatLitteral", + "NameFr": "Format littéral", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Forme littérale du nom du format. Exemple : Microsoft Word Document.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "MimeType", + "NameFr": "Type MIME", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type Mime associé. Exemple : application/msword", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "FormatId", + "NameFr": "Identifiant du format", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type spécifique du format tel que défini dans FormatIdCodeList. Exemple : (Pronom)fmt/40", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Encoding", + "NameFr": "Encodage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Encodage du fichier. Exemple : Utf-8", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "FileInfo", + "NameFr": "Information sur le fichier", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Propriétés techniques génériques du fichier (nom d'origine, logiciel de création, système d'exploitation de création).", + "Collection": "Objets", + "Children": [ + { + "Name": "Filename", + "NameFr": "Nom du fichier", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du fichier d'origine.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "CreatingApplicationName", + "NameFr": "Nom de l'application de création", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'application utilisée pour créer le fichier.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "CreatingApplicationVersion", + "NameFr": "Version de l'application de création", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de l'application utilisée pour créer le fichier.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DateCreatedByApplication", + "NameFr": "Date de création", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de création du fichier dans l'application. A ne pas confondre avec CreatedDate dans les métadonnées descriptives", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "CreatingOs", + "NameFr": "Système d'exploitation d'origine", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Système d’exploitation utilisé pour faire fonctionner l’application de création du fichier échangé.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "CreatingOsVersion", + "NameFr": "Version du système d'exploitation d'origine", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du système d'exploitation utilisé pour créer le fichier.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "LastModified", + "NameFr": "Date de dernière modification", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de la dernière modification du fichier.", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Metadata", + "NameFr": "Autres métadonnées", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Propriétés techniques spécifiques du fichier en fonction de sa nature technique (texte, document, image, audio, vidéo, etc.).", + "Collection": "Objets", + "Children": [ + { + "Name": "Text", + "NameFr": "Texte", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type textuel.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "NameFr": "URL liée", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "URL liée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la balise", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Document", + "NameFr": "Document", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type document.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "NameFr": "URL liée", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "URL liée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la balise", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Image", + "NameFr": "Image", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type image.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "NameFr": "URL liée", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "URL liée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la balise", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Audio", + "NameFr": "Audio", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type audio.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "NameFr": "URL liée", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "URL liée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la balise", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Video", + "NameFr": "Vidéo", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type vidéo.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "NameFr": "URL liée", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "URL liée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la balise", + "Collection": "Objets", + "Children": [] + } + ] + } + ] + }, + { + "Name": "OtherMetadata", + "NameFr": "Autres métadonnées techniques", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Autres métadonnées techniques si celles définies précédemment ne suffisent pas.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "NameFr": "URL liée", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "URL liée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la balise", + "Collection": "Objets", + "Children": [] + } + ] + } + ] + }, + { + "Name": "PhysicalDataObject", + "NameFr": "Objet de données physique", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Bloc de métadonnées techniques des objets de données physiques.", + "Collection": "Objets", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectSystemId", + "NameFr": "Identifiant de l'Objet de données du SAE", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectGroupSystemId", + "NameFr": "Identifiant du groupe d'Objet de données du SAE", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux groupes d'objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Relationship", + "NameFr": "Relation de signature", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier un lien technique entre un objet-données et une signature.", + "Collection": "Objets", + "Children": [ + { + "Name": "target", + "NameFr": "Cible", + "Element": "Attribute", + "Cardinality": "1", + "Type": "NCName", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Cible de la relation de signature", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "type", + "NameFr": "Type", + "Element": "Attribute", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type de signature", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "NameFr": "Identifiant du groupe d'objet-données lié", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectGroupId", + "NameFr": "Identifiant du groupe d’Objets de données", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée qui permet d’identifier un groupe d’Objets de données à l’intérieur d’une transaction. Compatibilité SEDA 2.0 qui déclare les groupes d’Objets de données avec le diptyque DataObjectGroupId et DataObjectGroupReferenceId. Cet ensemble ne doit pas être utilisé dans DataObjectGroup.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectVersion", + "NameFr": "Version de l’Objet de données", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version d'un objet-données (par exemple : original papier, conservation, diffusion, vignette, txt, ...).", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "PhysicalId", + "NameFr": "Identifiant d’Objet de données physique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant physique d'un objet-données physique, externe à celui-ci (ex. code-barres).", + "Collection": "Objets", + "Children": [ + { + "Name": "schemeID", + "NameFr": "Identifiant du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeName", + "NameFr": "Nom du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient le référentiel", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "NameFr": "Nom de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient le référentiel", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeVersionID", + "NameFr": "Version du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeDataURI", + "NameFr": "URL de la donnée dans le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans le référentiel", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeURI", + "NameFr": "URL du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder au référentiel", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "PhysicalDimensions", + "NameFr": "Dimensions physiques", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Dimensions d'un objet-données physique.", + "Collection": "Objets", + "Children": [ + { + "Name": "Width", + "NameFr": "Largeur", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : largeur du document.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "NameFr": "Unité de mesure", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "Unité de mesure", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Height", + "NameFr": "Hauteur", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : hauteur du document.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "NameFr": "Unité de mesure", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "Unité de mesure", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Depth", + "NameFr": "Profondeur", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : profondeur du document.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "NameFr": "Unité de mesure", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "Unité de mesure", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Shape", + "NameFr": "Forme", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : forme du document.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Diameter", + "NameFr": "Diamètre", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : diamètre du document.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "NameFr": "Unité de mesure", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "Unité de mesure", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Length", + "NameFr": "Longueur", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : longueur du document.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "NameFr": "Unité de mesure", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "Unité de mesure", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Thickness", + "NameFr": "Epaisseur", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : épaisseur du document.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "NameFr": "Unité de mesure", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "Unité de mesure", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Weight", + "NameFr": "Poids", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "microgram", + "MC", + "milligram", + "MGM", + "gram", + "GRM", + "kilogram", + "KGM" + ], + "Definition": "Métadonnée de dimension physique : poids du document.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "NameFr": "Unité de mesure", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Unité de mesure", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "NumberOfPage", + "NameFr": "Nombre de pages", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "int", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : nombre de pages.", + "Collection": "Objets", + "Children": [] + } + ] + } + ] + }, + { + "Name": "DescriptiveMetadata", + "NameFr": "Métadonnées descriptives", + "Element": "Complex", + "Cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Bloc de métadonnées descriptives des objets-données.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "ArchiveUnit", + "NameFr": "Unité d'archives", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Correspond à la notion de composant en ISAD(G). ArchiveUnit permet à la fois de gérer la hiérarchie intellectuelle, tout en contenant les métadonnées de description et de gestion propres à chaque niveau de description archivistique.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'unité d'archives utilisé par exemple dans le cas de multiples héritages, pour savoir quel noeud contient une erreur.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "ArchiveUnitRefId", + "NameFr": "Référence à un ArchiveUnit interne", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de faire une référence à d'autres ArchiveUnit dans la même transaction.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "ArchiveUnitProfile", + "NameFr": "Profil d'unité archivistique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à une partie d'un profil d'archivage applicable à un ArchiveUnit en particulier. Permet par exemple de faire référence à une typologie documentaire dans un profil d'archivage.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "schemeID", + "NameFr": "Identifiant du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeName", + "NameFr": "Nom du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient le référentiel", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "NameFr": "Nom de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient le référentiel", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeVersionID", + "NameFr": "Version du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeDataURI", + "NameFr": "URL de la donnée dans le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans le référentiel", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeURI", + "NameFr": "URL du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder au référentiel", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Management", + "NameFr": "Métadonnées de gestion", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées de gestion applicables à l'ArchiveUnit concernée et à ses héritiers.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "StorageRule", + "NameFr": "Durée d'utilité courante", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la durée d'utilité courante.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Rule", + "NameFr": "Règle de gestion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de durée d'utilité courante.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "NameFr": "Date de départ", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle d'utilité courante.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "PreventInheritance", + "NameFr": "Héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l'ArchiveUnit concerné.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "NameFr": "Arrêt de l’héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "FinalAction", + "NameFr": "Sort final", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "RestrictAccess", + "Transfer", + "Copy" + ], + "Definition": "Action à mettre en Å“uvre au terme de la durée de gestion.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "AppraisalRule", + "NameFr": "Durée d'utilité administrative", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la durée d\u2019utilité administrative.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Rule", + "NameFr": "Règle de gestion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de durée d'utilité administrative.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "NameFr": "Date de départ", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle d'utilité administrative.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "PreventInheritance", + "NameFr": "Héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l'ArchiveUnit concerné.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "NameFr": "Arrêt de l’héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "FinalAction", + "NameFr": "Sort final", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "Keep", + "Destroy" + ], + "Definition": "Action à mettre en Å“uvre au terme de la durée de gestion.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "AccessRule", + "NameFr": "Communicabilité", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la communicabilité.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Rule", + "NameFr": "Règle de gestion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de communicabilité.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "NameFr": "Date de départ", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de communicabilité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "PreventInheritance", + "NameFr": "Héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l'ArchiveUnit concerné.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "NameFr": "Arrêt de l’héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + }, + { + "Name": "DisseminationRule", + "NameFr": "Diffusion", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la diffusion.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Rule", + "NameFr": "Règle de gestion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de diffusion.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "NameFr": "Date de départ", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de diffusion.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "PreventInheritance", + "NameFr": "Héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l'ArchiveUnit concerné.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "NameFr": "Arrêt de l’héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + }, + { + "Name": "ReuseRule", + "NameFr": "Réutilisation", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la réutilisation.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Rule", + "NameFr": "Règle de gestion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de réutilisation.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "NameFr": "Date de départ", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de réutilisation.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "PreventInheritance", + "NameFr": "Héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l'ArchiveUnit concerné.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "NameFr": "Arrêt de l’héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + }, + { + "Name": "ClassificationRule", + "NameFr": "Classification", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la classification.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Rule", + "NameFr": "Règle de gestion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de classification.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "NameFr": "Date de départ", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de classification.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "ClassificationAudience", + "NameFr": "Audience de la classification", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Information qui permet de gérer les mentions complémentaires de protection comme 'diffusion restreinte', 'spécial France' ou 'Confidentiel Industrie'", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "PreventInheritance", + "NameFr": "Héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l'ArchiveUnit concerné.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "NameFr": "Arrêt de l’héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "ClassificationLevel", + "NameFr": "Niveau de classification", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence au niveau de classification.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "ClassificationOwner", + "NameFr": "Propriétaire de la classification", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Propriétaire de la classification. Service émetteur au sens de l\u2019IGI 1300.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "ClassificationReassessingDate", + "NameFr": "Date de réévaluation", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de réévaluation de la classification.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "NeedReassessingAuthorization", + "NameFr": "Autorisation de réévaluation", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "true", + "false" + ], + "Definition": "Indique si une autorisation humaine est nécessaire pour réévaluer la classification.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "LogBook", + "NameFr": "Journal des traces", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Eléments de traçabilité sur le cycle de vie des Objets de données", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Event", + "NameFr": "Evénement", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "EventIdentifier", + "NameFr": "Identifiant de l'événement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'événement. Références : premis.eventIdentifier", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "EventTypeCode", + "NameFr": "Code du type d'événement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code du type d'événement.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "EventType", + "NameFr": "Type d'événement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type d'événement.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "EventDateTime", + "NameFr": "Date et heure de l'événement", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date et heure de l'événement.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "EventDetail", + "NameFr": "Détail sur l'événement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur l'événement.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Outcome", + "NameFr": "Résultat d'un événement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Résultat d'un événement : succès, succès partiel ou échec.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "OutcomeDetail", + "NameFr": "Description détaillée de l'événement.", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Description détaillée du résultat de l'événement.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "OutcomeDetailMessage", + "NameFr": "Message du résultat", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message complet du résultat de l'événement.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "EventDetailData", + "NameFr": "Message technique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message technique détaillant l'événement.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + }, + { + "Name": "NeedAuthorization", + "NameFr": "Besoin d'autorisation", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "true", + "false" + ], + "Definition": "Indique si une autorisation humaine est nécessaire pour vérifier ou valider les opérations de gestion des ArchiveUnit.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Content", + "NameFr": "Contenu", + "Element": "Complex", + "Cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées de description associées à un ArchiveUnit.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "DescriptionLevel", + "NameFr": "Niveau de description", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "Fonds", + "Subfonds", + "Class", + "Collection", + "Series", + "Subseries", + "RecordGrp", + "SubGrp", + "File", + "Item", + "OtherLevel" + ], + "Definition": "Niveau de description au sens de la norme ISAD (G). Indique si l'ArchiveUnit correspond à un fonds, à un sous-fonds, à une classe, à une série organique, à une sous-série organique, à un dossier, à un sous-dossier ou à une pièce. Référence : seda.DescriptionLevel", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Title", + "NameFr": "Intitulé", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé de l'ArchiveUnit. Références : DC.Title ead.unittitle", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "FilePlanPosition", + "NameFr": "Position dans le plan de classement", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Position de l'ArchiveUnit dans le plan de classement du service producteur. Références : seda.FilePlanPosition", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "SystemId", + "NameFr": "Identifiant système", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué à l'objet de donnnées référencé dans l'unité d'archives. Il est attribué par le SAE et correspond à un identifiant interne. Références : ARMS", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "OriginatingSystemId", + "NameFr": "Identifiant de l’unité d’archives par l’application du système producteur", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant système attribué à l’unité d’archives par l'application du service producteur.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "ArchivalAgencyArchiveUnitIdentifier", + "NameFr": "Identifiant de l’unité d’archives pour le service d’archive", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant métier attribué à l'ArchiveUnit par le service d'archives. Peut être comparé à une cote.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "OriginatingAgencyArchiveUnitIdentifier", + "NameFr": "Identifiant de l’unité d’archives pour le service producteur", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué à l’unité d’archives par le service producteur.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "TransferringAgencyArchiveUnitIdentifier", + "NameFr": "Identifiant de l’unité d’archives pour le service versant", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué à l'ArchiveUnit par le service versant.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Description", + "NameFr": "Description", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Description générale de l'ArchiveUnit. Correspond à la présentation du contenu au sens de la norme ISAD(G). Références : DC:Documentation", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "CustodialHistory", + "NameFr": "Historique de la conservation", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Énumère les changements successifs de propriété, de responsabilité et de conservation des ArchiveUnit avant leur entrée dans le lieu de conservation. On peut notamment y indiquer comment s'est effectué le passage de l'application d'origine au fichier archivable. Correspond à l'historique de la conservation en ISAD(G). Références : seda.CustodialHistory", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "CustodialHistoryItem", + "NameFr": "Elément d'historique", + "Element": "Simple", + "Cardinality": "1-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Description d'une période ou d'un événement précis dans l'historique.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "when", + "NameFr": "Quand", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de déclarer la temporalité de l'élément", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "CustodialHistoryFile", + "NameFr": "Fichier d'historique", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un fichier de journalisation externe.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DataObjectReferenceId", + "NameFr": "Identifiant de l'objet-données lié", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "NameFr": "Identifiant du groupe d'objet-données lié", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + }, + { + "Name": "Type", + "NameFr": "Type OAIS", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type de l’Objet de données qui permet notamment de différencier un objet contenu et l’information de représentation ou de pérennisation de cet objet (OAIS), par exemple les données d’une base de données et le descriptif de sa structure. Références : seda.DocumentType", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "DocumentType", + "NameFr": "Typologie diplomatique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type de document au sens diplomatique du terme (ex. compte-rendu de réunion, note, correspondance, etc.). Ne pas confondre avec Type.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Language", + "NameFr": "Langue du contenu", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue principale du contenu du document décrit dans l'unité d'archives. Références : seda.Language", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DescriptionLanguage", + "NameFr": "Langue de description", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue utilisée dans les métadonnées de représentation et de pérennisation. Références : seda.DescriptionLanguage", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Status", + "NameFr": "Statut", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Etat de l'objet-données (par rapport avec son cycle de vie). Permet par exemple d'indiquer si la signature du fichier a été vérifiée avant le transfert aux archives. Références : seda.Status", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Version", + "NameFr": "Version", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version intellectuelle du document décrit dans l'unité d'archives. A ne pas confondre avec DataObjectVersion qui identifie les versions techniques d’un même contenu d’informations (image haute définition contre image basse définition).", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Tag", + "NameFr": "Indexation libre", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Mots-clés ou liste de mots-clés génériques. En ce qui concerne l'indexation, on pourra utiliser Tag ou Keyword en fonction de ce que l'on souhaite décrire.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Keyword", + "NameFr": "Mot-clé structuré", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Mot-clé associé à une unité d'archives. Correspond à la structure de l’indexation en SEDA 1.0. Le mot-clé peut être qualifié par un KeywordType. A utiliser en parallèle de Tag et Coverage. Références : seda.Keyword", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "KeywordContent", + "NameFr": "Valeur du mot-clé", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Valeur du mot-clé. A utiliser avec Keyword.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "KeywordReference", + "NameFr": "Référence du mot-clé", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique, s’il en a un, l’identifiant du mot clé dans une liste déposée, par exemple pour un lieu son Code Officiel Géographique selon l’INSEE.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "schemeID", + "NameFr": "Identifiant du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeName", + "NameFr": "Nom du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient le référentiel", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "NameFr": "Nom de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient le référentiel", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeVersionID", + "NameFr": "Version du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeDataURI", + "NameFr": "URL de la donnée dans le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans le référentiel", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeURI", + "NameFr": "URL du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder au référentiel", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "KeywordType", + "NameFr": "Type de mot-clé", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "corpname", + "famname", + "geogname", + "name", + "occupation", + "persname", + "subject", + "genreform", + "function" + ], + "Definition": "Type de mot clé.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "listVersionID", + "NameFr": "Identifiant de la version de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la version de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + }, + { + "Name": "Coverage", + "NameFr": "Couverture", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Couverture spatiale, temporelle ou juridictionnelle de l'ArchiveUnit. Références : DC.Coverage", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Spatial", + "NameFr": "Couverture spatiale", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Couverture spatiale ou couverture géographique de l'unité d'archives. Références: AGKRMS.spatialCoverage", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Temporal", + "NameFr": "Couverture temporelle", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Couverture temporelle de l'unité d'archives. Références: AGKRMS.temporalCoverage", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Juridictional", + "NameFr": "Couverture juridictionnelle", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Juridiction administrative ou ressort administratif de l'unité d'archives. Références: AGKRMS.juridictionalCoverage", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + }, + { + "Name": "OriginatingAgency", + "NameFr": "Service producteur", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Service producteur. Personne physique ou morale, publique ou privée, qui a produit, reçu et conservé des archives dans l'exercice de son activité. A ne pas confondre avec OriginatingAgencyIdentifier utilisé dans ManagementMedata pour indiquer l’identifiant d’un producteur lors d’un échange. OriginatingAgency peut également être un acteur SEDA (métadonnées de transport) dans certaines transactions. Références : seda.OriginatingAgency", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Identifier", + "NameFr": "Identifiant du producteur", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du service producteur.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "schemeID", + "NameFr": "Identifiant du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeName", + "NameFr": "Nom du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient le référentiel", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "NameFr": "Nom de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient le référentiel", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeVersionID", + "NameFr": "Version du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeDataURI", + "NameFr": "URL de la donnée dans le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans le référentiel", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeURI", + "NameFr": "URL du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder au référentiel", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "OrganizationDescriptiveMetadata", + "NameFr": "Description du producteur", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées de description du service producteur", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xlink:href", + "NameFr": "URL liée", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "URL liée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "xml:id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la balise", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + }, + { + "Name": "SubmissionAgency", + "NameFr": "Service versant", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Service versant responsable du transfert des données. A ne pas confondre avec SubmissionAgencyIdentifier dans ManagementMetadata pour indiquer l’identifiant d’un service versant lors d’un échange. Références : seda.SubmissionAgency", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Identifier", + "NameFr": "Identifiant du service versant", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du service versant", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "schemeID", + "NameFr": "Identifiant du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeName", + "NameFr": "Nom du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient le référentiel", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "NameFr": "Nom de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient le référentiel", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeVersionID", + "NameFr": "Version du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeDataURI", + "NameFr": "URL de la donnée dans le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans le référentiel", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "schemeURI", + "NameFr": "URL du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder au référentiel", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "OrganizationDescriptiveMetadata", + "NameFr": "Description du service versant", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées de description du service versant", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xlink:href", + "NameFr": "URL liée", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "URL liée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "xml:id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la balise", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + }, + { + "Name": "AuthorizedAgent", + "NameFr": "Personne ayant des droits sur l’unité d’archives", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Personne ayant des droits sur l’unité d’archives. Ex. : titulaire de droits de propriété littéraire et artistique", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "FirstName", + "NameFr": "Prénom", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthName", + "NameFr": "Nom de naissance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "FullName", + "NameFr": "Nom complet", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "GivenName", + "NameFr": "Nom d'usage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Gender", + "NameFr": "Sexe", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthDate", + "NameFr": "Date de naissance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthPlace", + "NameFr": "Lieu de naissance", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Geogname", + "NameFr": "Nom géographique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom géographique associé à la description d'une personne ou d'une entité. Références : ead.geogname", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Address", + "NameFr": "Addresse", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse associée à la description d'une personne ou d'une entité. Références : ead.address", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "PostalCode", + "NameFr": "Code postal", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code postal associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "City", + "NameFr": "Ville", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Ville associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Region", + "NameFr": "Région", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Région associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Country", + "NameFr": "Pays", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Pays associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "DeathDate", + "NameFr": "Date de décès", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DeathPlace", + "NameFr": "Lieu de décès", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Geogname", + "NameFr": "Nom géographique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom géographique associé à la description d'une personne ou d'une entité. Références : ead.geogname", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Address", + "NameFr": "Adresse", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse associée à la description d'une personne ou d'une entité. Références : ead.address", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "PostalCode", + "NameFr": "Code postal", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code postal associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "City", + "NameFr": "Ville", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Ville associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Region", + "NameFr": "Région", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Région associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Country", + "NameFr": "Pays", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Pays associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Nationality", + "NameFr": "Nationalité", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Corpname", + "NameFr": "Nom d'une entité", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Identifier", + "NameFr": "Identifiant", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Function", + "NameFr": "Fonction", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Fonction de la personne ou de l'entité", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Activity", + "NameFr": "Activité", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Activité de la personne ou de l'entité", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Position", + "NameFr": "Intitulé du poste de travail", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Role", + "NameFr": "Droits dans une application", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Mandate", + "NameFr": "Mandat", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Mandat octroyé à la personne. Ex.: statut d’un organisme, contrat de cession de droits en termes de propriété intellectuelle et artistique sur une archive", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + }, + { + "Name": "Writer", + "NameFr": "Rédacteur ", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Rédacteur de l'ArchiveUnit. Références : interpares.Writer", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "FirstName", + "NameFr": "Prénom", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthName", + "NameFr": "Nom de naissance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "FullName", + "NameFr": "Nom complet", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "GivenName", + "NameFr": "Nom d'usage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Gender", + "NameFr": "Sexe", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthDate", + "NameFr": "Date de naissance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthPlace", + "NameFr": "Lieu de naissance", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Geogname", + "NameFr": "Nom géographique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom géographique associé à la description d'une personne ou d'une entité. Références : ead.geogname", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Address", + "NameFr": "Adresse", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse associée à la description d'une personne ou d'une entité. Références : ead.address", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "PostalCode", + "NameFr": "Code postal", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code postal associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "City", + "NameFr": "Ville", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Ville associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Region", + "NameFr": "Région", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Région associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Country", + "NameFr": "Pays", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Pays associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "DeathDate", + "NameFr": "Date de décès", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DeathPlace", + "NameFr": "Lieu de décès", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Geogname", + "NameFr": "Nom géographique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom géographique associé à la description d'une personne ou d'une entité. Références : ead.geogname", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Address", + "NameFr": "Adresse", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse associée à la description d'une personne ou d'une entité. Références : ead.address", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "PostalCode", + "NameFr": "Code postal", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code postal associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "City", + "NameFr": "Ville", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Ville associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Region", + "NameFr": "Région", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Région associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Country", + "NameFr": "Pays", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Pays associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Nationality", + "NameFr": "Nationalité", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Corpname", + "NameFr": "Nom d'une entité", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Identifier", + "NameFr": "Identifiant", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Function", + "NameFr": "Fonction", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Fonction de la personne ou de l'entité", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Activity", + "NameFr": "Activité", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Activité de la personne ou de l'entité", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Position", + "NameFr": "Intitulé du poste de travail", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Role", + "NameFr": "Droits dans une application", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Mandate", + "NameFr": "Mandat", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Mandat octroyé à la personne. Ex.: statut d’un organisme, contrat de cession de droits en termes de propriété intellectuelle et artistique sur une archive", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + }, + { + "Name": "Addressee", + "NameFr": "Destinataire pour action", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Destinataire pour action. Utilisé pour indiquer le nom du destinataire par exemple dans un courrier électronique. Références : ARMS.Addressee, Interpares.Addressee", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "FirstName", + "NameFr": "Prénom", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthName", + "NameFr": "Nom de naissance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "FullName", + "NameFr": "Nom complet", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "GivenName", + "NameFr": "Nom d'usage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Gender", + "NameFr": "Sexe", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthDate", + "NameFr": "Date de naissance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthPlace", + "NameFr": "Lieu de naissance", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Geogname", + "NameFr": "Nom géographique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom géographique associé à la description d'une personne ou d'une entité. Références : ead.geogname", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Address", + "NameFr": "Adresse", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse associée à la description d'une personne ou d'une entité. Références : ead.address", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "PostalCode", + "NameFr": "Code postal", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code postal associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "City", + "NameFr": "Ville", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Ville associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Region", + "NameFr": "Région", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Région associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Country", + "NameFr": "Pays", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Pays associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "DeathDate", + "NameFr": "Date de décès", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DeathPlace", + "NameFr": "Lieu de décès", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Geogname", + "NameFr": "Nom géographique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom géographique associé à la description d'une personne ou d'une entité. Références : ead.geogname", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Address", + "NameFr": "Adresse", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse associée à la description d'une personne ou d'une entité. Références : ead.address", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "PostalCode", + "NameFr": "Code postal", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code postal associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "City", + "NameFr": "Ville", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Ville associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Region", + "NameFr": "Région", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Région associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Country", + "NameFr": "Pays", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Pays associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Nationality", + "NameFr": "Nationalité", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Corpname", + "NameFr": "Nom d'une entité", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Identifier", + "NameFr": "Identifiant", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Function", + "NameFr": "Fonction", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Fonction de la personne ou de l'entité", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Activity", + "NameFr": "Activité", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Activité de la personne ou de l'entité", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Position", + "NameFr": "Intitulé du poste de travail", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Role", + "NameFr": "Droits dans une application", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Mandate", + "NameFr": "Mandat", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Mandat octroyé à la personne. Ex.: statut d’un organisme, contrat de cession de droits en termes de propriété intellectuelle et artistique sur une archive", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + }, + { + "Name": "Recipient", + "NameFr": "Destinataire pour information", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Destinataire pour information. Utilisé pour indiquer le nom du destinatire en copie, pour information, par exemple dans un courrier électronique. A ne pas confondre avec Addressee. Références : Interpares.Recipient", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "FirstName", + "NameFr": "Prénom", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthName", + "NameFr": "Nom de naissance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "FullName", + "NameFr": "Nom complet", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "GivenName", + "NameFr": "Nom d'usage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Gender", + "NameFr": "Sexe", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthDate", + "NameFr": "Date de naissance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthPlace", + "NameFr": "Lieu de naissance", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Geogname", + "NameFr": "Nom géographique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom géographique associé à la description d'une personne ou d'une entité. Références : ead.geogname", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Address", + "NameFr": "Adresse", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse associée à la description d'une personne ou d'une entité. Références : ead.address", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "PostalCode", + "NameFr": "Code postal", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code postal associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "City", + "NameFr": "Ville", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Ville associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Region", + "NameFr": "Région", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Région associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Country", + "NameFr": "Pays", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Pays associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "DeathDate", + "NameFr": "Date de décès", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DeathPlace", + "NameFr": "Lieu de décès", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Geogname", + "NameFr": "Nom géographique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom géographique associé à la description d'une personne ou d'une entité. Références : ead.geogname", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Address", + "NameFr": "Adresse", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse associée à la description d'une personne ou d'une entité. Références : ead.address", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "PostalCode", + "NameFr": "Code postal", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code postal associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "City", + "NameFr": "Ville", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Ville associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Region", + "NameFr": "Région", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Région associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Country", + "NameFr": "Pays", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Pays associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Nationality", + "NameFr": "Nationalité", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Corpname", + "NameFr": "Nom d'une entité", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Identifier", + "NameFr": "Identifiant", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Function", + "NameFr": "Fonction", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Fonction de la personne ou de l'entité", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Activity", + "NameFr": "Activité", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Activité de la personne ou de l'entité", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Position", + "NameFr": "Intitulé du poste de travail", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Role", + "NameFr": "Droits dans une application", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Mandate", + "NameFr": "Mandat", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Mandat octroyé à la personne. Ex.: statut d’un organisme, contrat de cession de droits en termes de propriété intellectuelle et artistique sur une archive", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + }, + { + "Name": "Transmitter", + "NameFr": "Emetteur", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Emetteur du message. Identifie la personne qui a rédigé le message (à la différence de celui qui l’envoie)", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "FirstName", + "NameFr": "Prénom", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthName", + "NameFr": "Nom de naissance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "FullName", + "NameFr": "Nom complet", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "GivenName", + "NameFr": "Nom d'usage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Gender", + "NameFr": "Sexe", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthDate", + "NameFr": "Date de naissance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthPlace", + "NameFr": "Lieu de naissance", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Geogname", + "NameFr": "Nom géographique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom géographique associé à la description d'une personne ou d'une entité. Références : ead.geogname", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Address", + "NameFr": "Adresse", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse associée à la description d'une personne ou d'une entité. Références : ead.address", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "PostalCode", + "NameFr": "Code postal", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code postal associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "City", + "NameFr": "Ville", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Ville associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Region", + "NameFr": "Région", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Région associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Country", + "NameFr": "Pays", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Pays associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "DeathDate", + "NameFr": "Date de décès", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DeathPlace", + "NameFr": "Lieu de décès", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Geogname", + "NameFr": "Nom géographique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom géographique associé à la description d'une personne ou d'une entité. Références : ead.geogname", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Address", + "NameFr": "Adresse", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse associée à la description d'une personne ou d'une entité. Références : ead.address", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "PostalCode", + "NameFr": "Code postal", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code postal associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "City", + "NameFr": "Ville", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Ville associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Region", + "NameFr": "Région", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Région associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Country", + "NameFr": "Pays", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Pays associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Nationality", + "NameFr": "Nationalité", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Corpname", + "NameFr": "Nom d'une entité", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Identifier", + "NameFr": "Identifiant", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Function", + "NameFr": "Fonction", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Fonction de la personne ou de l'entité", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Activity", + "NameFr": "Activité", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Activité de la personne ou de l'entité", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Position", + "NameFr": "Intitulé du poste de travail", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Role", + "NameFr": "Droits dans une application", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Mandate", + "NameFr": "Mandat", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Mandat octroyé à la personne. Ex.: statut d’un organisme, contrat de cession de droits en termes de propriété intellectuelle et artistique sur une archive", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + }, + { + "Name": "Sender", + "NameFr": "Expéditeur", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Expéditeur du message. Identifie la personne qui envoie le message (à la différence de celui qui le rédige).", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "FirstName", + "NameFr": "Prénom", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthName", + "NameFr": "Nom de naissance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "FullName", + "NameFr": "Nom complet", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "GivenName", + "NameFr": "Nom d'usage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Gender", + "NameFr": "Sexe", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthDate", + "NameFr": "Date de naissance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthPlace", + "NameFr": "Lieu de naissance", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Geogname", + "NameFr": "Nom géographique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom géographique associé à la description d'une personne ou d'une entité. Références : ead.geogname", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Address", + "NameFr": "Adresse", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse associée à la description d'une personne ou d'une entité. Références : ead.address", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "PostalCode", + "NameFr": "Code postal", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code postal associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "City", + "NameFr": "Ville", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Ville associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Region", + "NameFr": "Région", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Région associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Country", + "NameFr": "Pays", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Pays associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "DeathDate", + "NameFr": "Date de décès", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DeathPlace", + "NameFr": "Lieu de décès", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Geogname", + "NameFr": "Nom géographique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom géographique associé à la description d'une personne ou d'une entité. Références : ead.geogname", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Address", + "NameFr": "Adresse", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse associée à la description d'une personne ou d'une entité. Références : ead.address", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "PostalCode", + "NameFr": "Code postal", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code postal associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "City", + "NameFr": "Ville", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Ville associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Region", + "NameFr": "Région", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Région associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Country", + "NameFr": "Pays", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Pays associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Nationality", + "NameFr": "Nationalité", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Corpname", + "NameFr": "Nom d'une entité", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Identifier", + "NameFr": "Identifiant", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Function", + "NameFr": "Fonction", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Fonction de la personne ou de l'entité", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Activity", + "NameFr": "Activité", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Activité de la personne ou de l'entité", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Position", + "NameFr": "Intitulé du poste de travail", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Role", + "NameFr": "Droits dans une application", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Mandate", + "NameFr": "Mandat", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Mandat octroyé à la personne. Ex.: statut d’un organisme, contrat de cession de droits en termes de propriété intellectuelle et artistique sur une archive", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + }, + { + "Name": "Source", + "NameFr": "Source", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En cas de substitution numérique, permet de faire référence au papier.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "RelatedObjectReference", + "NameFr": "Référence", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet de données faisant ou ne faisant pas partie du présent paquet d'information.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "IsVersionOf", + "NameFr": "Est une partie de", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Est une partie de. Cette relation permet d'indique qu'un objet est une partie d'un autre.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "ArchiveUnitRefId", + "NameFr": "Référence à un ArchiveUnit interne", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "NCName", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DataObjectReference", + "NameFr": "Référence à un objet-données", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DataObjectReferenceId", + "NameFr": "Identifiant de l'objet-données lié", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "NameFr": "Identifiant du groupe d'objet-données lié", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "NameFr": "Référence à une unité d’archives dans un système d’archivage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "RepositoryObjectPID", + "NameFr": "Référence à un objet de données dans un système d’archivage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "ExternalReference", + "NameFr": "Référence externe", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet externe présent ni dans le message ni dans le SAE.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Replaces", + "NameFr": "Remplace", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Remplace. Cette relation permet d'indiquer les objets remplacés par le niveau courant de description. DC.Relation.replaces", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "ArchiveUnitRefId", + "NameFr": "Référence à un ArchiveUnit interne", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "NCName", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DataObjectReference", + "NameFr": "Référence à un objet-données", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DataObjectReferenceId", + "NameFr": "Identifiant de l'objet-données lié", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "NameFr": "Identifiant du groupe d'objet-données lié", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "NameFr": "Référence à une unité d’archives dans un système d’archivage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "RepositoryObjectPID", + "NameFr": "Référence à un objet de données dans un système d’archivage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "ExternalReference", + "NameFr": "Référence externe", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet externe présent ni dans le message ni dans le SAE.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Requires", + "NameFr": "Requiert", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Requiert. Cette relation permet d'indiquer les objets nécessaire à la compréhension du niveau courant de description. Références : DC.Relation.requires", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "ArchiveUnitRefId", + "NameFr": "Référence à un ArchiveUnit interne", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "NCName", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DataObjectReference", + "NameFr": "Référence à un objet-données", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DataObjectReferenceId", + "NameFr": "Identifiant de l'objet-données lié", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "NameFr": "Identifiant du groupe d'objet-données lié", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "NameFr": "Référence à une unité d’archives dans un système d’archivage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "RepositoryObjectPID", + "NameFr": "Référence à un objet de données dans un système d’archivage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "ExternalReference", + "NameFr": "Référence externe", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet externe présent ni dans le message ni dans le SAE.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "IsPartOf", + "NameFr": "Est une partie de", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Est une partie de. Cette relation permet d'indique qu'un objet est une partie d'un autre. Références : DC.Relation.isPartOf", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "ArchiveUnitRefId", + "NameFr": "Référence à un ArchiveUnit interne", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "NCName", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DataObjectReference", + "NameFr": "Référence à un objet-données", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DataObjectReferenceId", + "NameFr": "Identifiant de l'objet-données lié", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "NameFr": "Identifiant du groupe d'objet-données lié", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "NameFr": "Référence à une unité d’archives dans un système d’archivage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "RepositoryObjectPID", + "NameFr": "Référence à un objet de données dans un système d’archivage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "ExternalReference", + "NameFr": "Référence externe", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet externe présent ni dans le message ni dans le SAE.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "References", + "NameFr": "Référence", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence. Cette relation permet d'indiquer qu'un objet en référence un autre. DC.Relation.references", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "ArchiveUnitRefId", + "NameFr": "Référence à un ArchiveUnit interne", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "NCName", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DataObjectReference", + "NameFr": "Référence à un objet-données", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DataObjectReferenceId", + "NameFr": "Identifiant de l'objet-données lié", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "NameFr": "Identifiant du groupe d'objet-données lié", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "NameFr": "Référence à une unité d’archives dans un système d’archivage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "RepositoryObjectPID", + "NameFr": "Référence à un objet de données dans un système d’archivage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "ExternalReference", + "NameFr": "Référence externe", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet externe présent ni dans le message ni dans le SAE.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + }, + { + "Name": "CreatedDate", + "NameFr": "Date de création", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de création. A ne pas confondre avec DateCreatedByApplication qui contient la date technique de création d’un Objet de données binaire. Références : ARKMS.DateCreated", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "TransactedDate", + "NameFr": "Date de la transaction", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de validation de l’unité d’archives en cours de description. Ex.: date de notification d’une aide, date de signature d’un texte. Références : ARKMS.DateTransacted", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "AcquiredDate", + "NameFr": "Date de numérisation", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de numérisation. Références : ARKMS.DateAcquired", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "SentDate", + "NameFr": "Date d’envoi", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date d'envoi.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "ReceivedDate", + "NameFr": "Date de réception", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de réception.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "RegisteredDate", + "NameFr": "Date d’enregistrement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date d'enregistrement. Références : ARMS.DateDeclared", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "StartDate", + "NameFr": "Date de début", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date d'ouverture / date de début. Références : AGKRMS.StartDate", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "EndDate", + "NameFr": "Date de fin", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de fermeture / Date de fin. Références : AGKRMS.EndDate", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Event", + "NameFr": "Evénement", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée permettant d'associer un ou plusieurs événements à l'unité d'archives en cours de description. Ex. pour un dossier de demande de subvention : réception de la demande, passage en commission, notification au bénéficiaire, liquidation de l’aide. A ne pas confondre avec Operation et LogBook", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "EventIdentifier", + "NameFr": "Identifiant de l'événement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'événement. Références : premis.eventIdentifier", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "EventTypeCode", + "NameFr": "Code du type d'événement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code du type d'événement.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "EventType", + "NameFr": "Type d'événement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type d'événement.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "EventDateTime", + "NameFr": "Date et heure de l'événement", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date et heure de l'événement.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "EventDetail", + "NameFr": "Détail sur l'événement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur l'événement.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Outcome", + "NameFr": "Résultat de l'événement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Résultat d'un événement : succès, succès partiel ou échec.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "OutcomeDetail", + "NameFr": "Description détaillée de l'événement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Description détaillée du résultat de l'événement.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "OutcomeDetailMessage", + "NameFr": "Message du résultat", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message complet du résultat de l'événement.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "EventDetailData", + "NameFr": "Message technique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message technique détaillant l'événement.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Signature", + "NameFr": "Signature", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de signature de l'Objet de données référencé dans l'unité d'archives en cours de description. Cet ensemble permet de décrire le processus de signature d’un Objet de données signé transporté dans la transaction. A ne pas confondre avec Signature dans les métadonnées de transport qui permet de transporter la signature du message SEDA lui-même.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Signer", + "NameFr": "Signataire", + "Element": "Complex", + "Cardinality": "1-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Signataire(s) de la transaction ou de l'objet. Références : premis.signer", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "FirstName", + "NameFr": "Prénom", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthName", + "NameFr": "Nom de naissance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "FullName", + "NameFr": "Nom complet", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "GivenName", + "NameFr": "Nom d'usage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Gender", + "NameFr": "Sexe", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthDate", + "NameFr": "Date de naissance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthPlace", + "NameFr": "Lieu de naissance", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Geogname", + "NameFr": "Nom géographique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom géographique associé à la description d'une personne ou d'une entité. Références : ead.geogname", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Address", + "NameFr": "Adresse", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse associée à la description d'une personne ou d'une entité. Références : ead.address", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "PostalCode", + "NameFr": "Code postal", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code postal associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "City", + "NameFr": "Ville", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Ville associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Region", + "NameFr": "Région", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Région associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Country", + "NameFr": "Pays", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Pays associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "DeathDate", + "NameFr": "Date de décès", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DeathPlace", + "NameFr": "Lieu de décès", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Geogname", + "NameFr": "Nom géographique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom géographique associé à la description d'une personne ou d'une entité. Références : ead.geogname", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Address", + "NameFr": "Adresse", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse associée à la description d'une personne ou d'une entité. Références : ead.address", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "PostalCode", + "NameFr": "Code postal", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code postal associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "City", + "NameFr": "Ville", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Ville associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Region", + "NameFr": "Région", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Région associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Country", + "NameFr": "Pays", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Pays associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Nationality", + "NameFr": "Nationalité", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Corpname", + "NameFr": "Nom d'une entité", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Identifier", + "NameFr": "Identifiant", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "SigningTime", + "NameFr": "Date de signature", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de signature.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Function", + "NameFr": "Fonction", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Fonction de la personne ou de l'entité", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Activity", + "NameFr": "Activité", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Activité de la personne ou de l'entité", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Position", + "NameFr": "Intitulé du poste de travail", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Role", + "NameFr": "Droits dans une application", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Mandate", + "NameFr": "Mandat", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Mandat octroyé à la personne. Ex.: statut d’un organisme, contrat de cession de droits en termes de propriété intellectuelle et artistique sur une archive", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + }, + { + "Name": "Validator", + "NameFr": "Validateur", + "Element": "Complex", + "Cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Validateur de la signature.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "FirstName", + "NameFr": "Prénom", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthName", + "NameFr": "Nom de naissance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "FullName", + "NameFr": "Nom complet", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "GivenName", + "NameFr": "Nom d'usage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Gender", + "NameFr": "Sexe", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthDate", + "NameFr": "Date de naissance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "BirthPlace", + "NameFr": "Lieu de naissance", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Geogname", + "NameFr": "Nom géographique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom géographique associé à la description d'une personne ou d'une entité. Références : ead.geogname", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Address", + "NameFr": "Adresse", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse associée à la description d'une personne ou d'une entité. Références : ead.address", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "PostalCode", + "NameFr": "Code postal", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code postal associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "City", + "NameFr": "Ville", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Ville associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Region", + "NameFr": "Région", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Région associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Country", + "NameFr": "Pays", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Pays associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "DeathDate", + "NameFr": "Date de décès", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DeathPlace", + "NameFr": "Lieu de décès", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "Geogname", + "NameFr": "Nom géographique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom géographique associé à la description d'une personne ou d'une entité. Références : ead.geogname", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Address", + "NameFr": "Adresse", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse associée à la description d'une personne ou d'une entité. Références : ead.address", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "PostalCode", + "NameFr": "Code postal", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code postal associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "City", + "NameFr": "Ville", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Ville associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Region", + "NameFr": "Région", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Région associée à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Country", + "NameFr": "Pays", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Pays associé à la description d'une personne ou d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Nationality", + "NameFr": "Nationalité", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Corpname", + "NameFr": "Nom d'une entité", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Identifier", + "NameFr": "Identifiant", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "ValidationTime", + "NameFr": "Date de la validation de la signature", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de la validation de la signature.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "Function", + "NameFr": "Fonction", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Fonction de la personne ou de l'entité", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Activity", + "NameFr": "Activité", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Activité de la personne ou de l'entité", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Position", + "NameFr": "Intitulé du poste de travail", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Role", + "NameFr": "Droits dans une application", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "Mandate", + "NameFr": "Mandat", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Mandat octroyé à la personne. Ex.: statut d’un organisme, contrat de cession de droits en termes de propriété intellectuelle et artistique sur une archive", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + }, + { + "Name": "Masterdata", + "NameFr": "Personne référente", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référentiel des personnes et des organisations au moment de la vérification de la signature et de sa validation.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "listID", + "NameFr": "Identifiant de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "listAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "listAgencyName", + "NameFr": "Nom de l'organisation qui maintient la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "listName", + "NameFr": "Nom de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "listVersionID", + "NameFr": "Identifiant de la version de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la version de la liste de codes utilisée pour le contenu de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "name", + "NameFr": "Nom", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom correspondant au code utilisé dans le contenu de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "languageID", + "NameFr": "Identifiant de la langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la langue utilisée dans la liste de codes", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "listURI", + "NameFr": "URL de la donnée dans la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans la liste de codes", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "listSchemeURI", + "NameFr": "URL de la liste de codes", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la liste de codes", + "Collection": "Unités d'archives", + "Children": [] + } + ] + }, + { + "Name": "ReferencedObject", + "NameFr": "Référence à l'objet signé", + "Element": "Complex", + "Cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à l'objet signé.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "SignedObjectId", + "NameFr": "Identifiant de l'Objet de données signé", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'objet de données signé.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "SignedObjectDigest", + "NameFr": "Empreinte de l'objet signé", + "Element": "Simple", + "Cardinality": "1", + "Type": "base64Binary", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Empreinte obligatoire jusqu'au processus de versement pour assurer la portabilité de la valeur probante. Le SAE peut ne pas la conserver si l'on considère que l'identifiant de l'objet correspondant suffit. Ce procédé permet de résister au temps lorsque les informations binaires du paquet seront converties au gré des opérations de préservation de la lisibilité des formats. Au cours de ces opérations, l'identifiant ne changera pas, contrairement au format dufichier et donc à son empreinte.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "algorithm", + "NameFr": "Algorithme", + "Element": "Attribute", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Algorithme utilisé pour calculer l'empreinte", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + } + ] + }, + { + "Name": "Gps", + "NameFr": "Coordonnées géographiques", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de localisation géographique de l'unité d'archives.", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "GpsVersionID", + "NameFr": "Identifiant de la version du GPS", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la version du GPS.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "GpsAltitude", + "NameFr": "Altitude", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique l'altitude basée sur la référence dans GPSAltitudeRef. L'altitude est exprimée en mètres.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "GpsAltitudeRef", + "NameFr": "Référence de l’altitude", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique l'altitude utilisée comme altitude de référence. Si l'altitude est au dessus du niveau de la mer, la valeur 0 est normalement donnée. Si l'altitude est au-dessous du niveau de la mer, la veleur 1 est normalement donnée.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "GpsLatitude", + "NameFr": "Latitude", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "La latitude peut être exprimée de deux manières différentes : 1)degrés, décimaux ou 2)degrés, minutes et secondes. 1)Si la latitude est exprimée en degrés, décimaux, le format type est dd, dd. Par ex: 45.3130339. 2)Si la latitude est exprimée en degrés, minutes et secondes, le format type est dd, mm, ss. Par ex: 45 18 46.922.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "GpsLatitudeRef", + "NameFr": "Référence de la latitude", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si la latitude est nord ou sud. La valeur 'N' indique la latitude nord, et 'S' indique la latitude sud.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "GpsLongitude", + "NameFr": "Longitude", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "La longitude peut être exprimée de deux manières différentes : 1)degrés, décimaux ou 2)degrés, minutes et secondes. 1)Si la longitude est exprimée en degrés, décimaux, le format type est dd, dd. Par ex: 5.392285833333334. 2)Si la longitude est exprimée en degrés, minutes et secondes, le format type est dd, mm, ss. Par ex: 5 23 32.229.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "GpsLongitudeRef", + "NameFr": "Référence de la longitude", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si la longitude est est ou ouest. La valeur 'E' indique la longitude est, et 'W' indique la longitude Ouest.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "GpsDateStamp", + "NameFr": "Heure et date de la position", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Heure et Date de la position GPS.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + }, + { + "Name": "ArchiveUnit", + "NameFr": "Unité d'archives", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Gestion de la récursivité. Une ArchiveUnit peut être contenu dans une autre ArchiveUnit.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DataObjectReference", + "NameFr": "Référence à un objet-données", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Unités d'archives", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DataObjectReferenceId", + "NameFr": "Identifiant de l'objet-données lié", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "NameFr": "Identifiant du groupe d'objet-données lié", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + } + ] + }, + { + "Name": "ManagementMetadata", + "NameFr": "Métadonnées de gestion", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Bloc des métadonnées de gestion par défaut des objets-données.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "ArchivalProfile", + "NameFr": "Profil d'archivage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Profil d'archivage applicable aux ArchiveUnit.", + "Collection": "Règles", + "Children": [ + { + "Name": "schemeID", + "NameFr": "Identifiant du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeName", + "NameFr": "Nom du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient le référentiel", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "NameFr": "Nom de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient le référentiel", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeVersionID", + "NameFr": "Version du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeDataURI", + "NameFr": "URL de la donnée dans le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans le référentiel", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeURI", + "NameFr": "URL du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder au référentiel", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "ServiceLevel", + "NameFr": "Niveau de service", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Niveau de service applicable aux unités d'archives.", + "Collection": "Règles", + "Children": [ + { + "Name": "schemeID", + "NameFr": "Identifiant du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeName", + "NameFr": "Nom du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient le référentiel", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "NameFr": "Nom de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient le référentiel", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeVersionID", + "NameFr": "Version du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeDataURI", + "NameFr": "URL de la donnée dans le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans le référentiel", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeURI", + "NameFr": "URL du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder au référentiel", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "AcquisitionInformation", + "NameFr": "Modalités d'entrée", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Modalités d'entrée des archives.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "LegalStatus", + "NameFr": "Statut des archives", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "Public Archive", + "Private Archive", + "Public and Private Archive" + ], + "Definition": "Statut des archives échangées.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "OriginatingAgencyIdentifier", + "NameFr": "Identifiant du service producteur", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du service producteur - information de gestion à ne pas confondre avec OriginatingAgency dans les métadonnées de description.", + "Collection": "Règles", + "Children": [ + { + "Name": "schemeID", + "NameFr": "Identifiant du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeName", + "NameFr": "Nom du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient le référentiel", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "NameFr": "Nom de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient le référentiel", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeVersionID", + "NameFr": "Version du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeDataURI", + "NameFr": "URL de la donnée dans le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans le référentiel", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeURI", + "NameFr": "URL du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder au référentiel", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "SubmissionAgencyIdentifier", + "NameFr": "Identifiant du service versant", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du service versant - information de gestion à ne pas confondre avec SubmissionAgency dans les métadonnées de description.", + "Collection": "Règles", + "Children": [ + { + "Name": "schemeID", + "NameFr": "Identifiant du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeName", + "NameFr": "Nom du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient le référentiel", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "NameFr": "Nom de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient le référentiel", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeVersionID", + "NameFr": "Version du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeDataURI", + "NameFr": "URL de la donnée dans le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans le référentiel", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeURI", + "NameFr": "URL du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder au référentiel", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "StorageRule", + "NameFr": "Durée d'utilité courante", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la durée d'utilité courante.", + "Collection": "Règles", + "Children": [ + { + "Name": "Rule", + "NameFr": "Règle de gestion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de durée d'utilité courante.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "NameFr": "Date de départ", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle d'utilité courante.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "PreventInheritance", + "NameFr": "Héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l'ArchiveUnit concerné.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "NameFr": "Arrêt de l’héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "FinalAction", + "NameFr": "Sort final", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "RestrictAccess", + "Transfer", + "Copy" + ], + "Definition": "Action à mettre en Å“uvre au terme de la durée de gestion.", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "AppraisalRule", + "NameFr": "Durée d'utilité administrative", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la durée d'utilité administrative.", + "Collection": "Règles", + "Children": [ + { + "Name": "Rule", + "NameFr": "Règle de gestion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de durée d'utilité administrative.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "NameFr": "Date de départ", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle d'utilité administrative.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "PreventInheritance", + "NameFr": "Héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l'ArchiveUnit concerné.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "NameFr": "Arrêt de l’héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "FinalAction", + "NameFr": "Sort final", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "Keep", + "Destroy" + ], + "Definition": "Action à mettre en Å“uvre au terme de la durée de gestion.", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "AccessRule", + "NameFr": "Communicabilité", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la communicabilité.", + "Collection": "Règles", + "Children": [ + { + "Name": "Rule", + "NameFr": "Règle de gestion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de communicabilité.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "NameFr": "Date de départ", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de communicabilité.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "PreventInheritance", + "NameFr": "Héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l'ArchiveUnit concerné.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "NameFr": "Arrêt de l’héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Règles", + "Children": [] + } + ] + } + ] + }, + { + "Name": "DisseminationRule", + "NameFr": "Diffusion", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la diffusion.", + "Collection": "Règles", + "Children": [ + { + "Name": "Rule", + "NameFr": "Règle de gestion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de diffusion.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "NameFr": "Date de départ", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de diffusion.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "PreventInheritance", + "NameFr": "Héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l'ArchiveUnit concerné.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "NameFr": "Arrêt de l’héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Règles", + "Children": [] + } + ] + } + ] + }, + { + "Name": "ReuseRule", + "NameFr": "Réutilisation", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la réutilisation.", + "Collection": "Règles", + "Children": [ + { + "Name": "Rule", + "NameFr": "Règle de gestion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de réutilisation.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "NameFr": "Date de départ", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de réutilisation.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "PreventInheritance", + "NameFr": "Héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l'ArchiveUnit concerné.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "NameFr": "Arrêt de l’héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Règles", + "Children": [] + } + ] + } + ] + }, + { + "Name": "ClassificationRule", + "NameFr": "Classification", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la classification.", + "Collection": "Règles", + "Children": [ + { + "Name": "Rule", + "NameFr": "Règle de gestion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de classification.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "NameFr": "Date de départ", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de classification.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "ClassificationAudience", + "NameFr": "Audience de la classification", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Information qui permet de gérer les mentions complémentaires de protection comme 'diffusion restreinte', 'spécial France' ou 'Confidentiel Industrie'", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "PreventInheritance", + "NameFr": "Héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l'ArchiveUnit concerné.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "NameFr": "Arrêt de l’héritage dans le nÅ“ud courant", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la métadonnée", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "ClassificationLevel", + "NameFr": "Niveau de classification", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence au niveau de classification.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "ClassificationOwner", + "NameFr": "Propriétaire de la classification", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Propriétaire de la classification. Service émetteur au sens de l\u2019IGI 1300.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "ClassificationReassessingDate", + "NameFr": "Date de réévaluation", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de réévaluation de la classification.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "NeedReassessingAuthorization", + "NameFr": "Autorisation de réévaluation", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "true", + "false" + ], + "Definition": "Indique si une autorisation humaine est nécessaire pour réévaluer la classification.", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "LogBook", + "NameFr": "Journal des traces", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Eléments de traçabilité sur le cycle de vie des Objets de données", + "Collection": "Règles", + "Children": [ + { + "Name": "Event", + "NameFr": "Evénement", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "", + "Collection": "Règles", + "Children": [ + { + "Name": "EventIdentifier", + "NameFr": "Identifiant de l'événement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'événement. Références : premis.eventIdentifier", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "EventTypeCode", + "NameFr": "Code du type d'événement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code du type d'événement.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "EventType", + "NameFr": "Type d'événement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type d'événement.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "EventDateTime", + "NameFr": "Date et heure de l'événement", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date et heure de l'événement.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "EventDetail", + "NameFr": "Détail sur l'événement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur l'événement.", + "Collection": "Règles", + "Children": [ + { + "Name": "xml:lang", + "NameFr": "Langue", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du document de la métadonnée", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "Outcome", + "NameFr": "Résultat d'un événement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Résultat d'un événement : succès, succès partiel ou échec.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "OutcomeDetail", + "NameFr": "Description détaillée de l'événement.", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Description détaillée du résultat de l'événement.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "OutcomeDetailMessage", + "NameFr": "Message du résultat", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message complet du résultat de l'événement.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "EventDetailData", + "NameFr": "Message technique", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message technique détaillant l'événement.", + "Collection": "Règles", + "Children": [] + } + ] + } + ] + }, + { + "Name": "NeedAuthorization", + "NameFr": "Besoin d'autorisation", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "true", + "false" + ], + "Definition": "Indique si une autorisation humaine est nécessaire pour vérifier ou valider les opérations de gestion des ArchiveUnit.", + "Collection": "Règles", + "Children": [] + } + ] + } + ] + }, + { + "Name": "RelatedTransferReference", + "NameFr": "Identifiant d'un transfert associé", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant d'un transfert associé.", + "Collection": "Entête", + "Children": [ + { + "Name": "schemeID", + "NameFr": "Identifiant du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeName", + "NameFr": "Nom du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient le référentiel", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "NameFr": "Nom de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient le référentiel", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeVersionID", + "NameFr": "Version du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeDataURI", + "NameFr": "URL de la donnée dans le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans le référentiel", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeURI", + "NameFr": "URL du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder au référentiel", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "TransferRequestReplyIdentifier", + "NameFr": "Identifiant de la réponse à une demande de transfert", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la réponse à une demande de transfert.", + "Collection": "Entête", + "Children": [ + { + "Name": "schemeID", + "NameFr": "Identifiant du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeName", + "NameFr": "Nom du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient le référentiel", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "NameFr": "Nom de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient le référentiel", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeVersionID", + "NameFr": "Version du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeDataURI", + "NameFr": "URL de la donnée dans le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans le référentiel", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeURI", + "NameFr": "URL du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder au référentiel", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "ArchivalAgency", + "NameFr": "Service d'archives", + "Element": "Complex", + "Cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Service d'archives responsable du transfert.", + "Collection": "Entête", + "Children": [ + { + "Name": "Identifier", + "NameFr": "Identifiant du service d'archives", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du service d'archives.", + "Collection": "Entête", + "Children": [ + { + "Name": "schemeID", + "NameFr": "Identifiant du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeName", + "NameFr": "Nom du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient le référentiel", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "NameFr": "Nom de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient le référentiel", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeVersionID", + "NameFr": "Version du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeDataURI", + "NameFr": "URL de la donnée dans le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans le référentiel", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeURI", + "NameFr": "URL du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder au référentiel", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "OrganizationDescriptiveMetadata", + "NameFr": "Métadonnées de description de l'organisation", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées de description de l'organisation.", + "Collection": "Entête", + "Children": [ + { + "Name": "xlink:href", + "NameFr": "URL liée", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "URL liée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "xml:id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la balise", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + }, + { + "Name": "TransferringAgency", + "NameFr": "Opérateur de versement", + "Element": "Complex", + "Cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Opérateur de versement chargé de réaliser le transport.", + "Collection": "Entête", + "Children": [ + { + "Name": "Identifier", + "NameFr": "Identifiant de l'opérateur de versement", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'opérateur de versement.", + "Collection": "Entête", + "Children": [ + { + "Name": "schemeID", + "NameFr": "Identifiant du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeName", + "NameFr": "Nom du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "NameFr": "Identifiant de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation qui maintient le référentiel", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "NameFr": "Nom de l'organisation qui maintient le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'organisation qui maintient le référentiel", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeVersionID", + "NameFr": "Version du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du référentiel utilisé pour renseigner le contenu de la métadonnée", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeDataURI", + "NameFr": "URL de la donnée dans le référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder à la donnée dans le référentiel", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeURI", + "NameFr": "URL du référentiel", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Adresse où l'on peut accéder au référentiel", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "OrganizationDescriptiveMetadata", + "NameFr": "Métadonnées de description de l'organisation", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées de description de l'organisation.", + "Collection": "Entête", + "Children": [ + { + "Name": "xlink:href", + "NameFr": "URL liée", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "URL liée", + "Collection": "Unités d'archives", + "Children": [] + }, + { + "Name": "xml:id", + "NameFr": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la balise", + "Collection": "Unités d'archives", + "Children": [] + } + ] + } + ] + } + ] + } +] diff --git a/ui/ui-frontend/projects/pastis/src/assets/seda_lower.json b/ui/ui-frontend/projects/pastis/src/assets/seda_lower.json new file mode 100644 index 000000000..bb6e92a02 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/seda_lower.json @@ -0,0 +1,13676 @@ +[ + { + "Name": "ArchiveTransfer", + "Element": "Complex", + "cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Transfert d'archives.", + "Collection": "Entête", + "children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "Comment", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Commentaire sur la transaction.", + "Collection": "Entête", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "Date", + "Element": "Simple", + "cardinality": "1", + "Type": "dateTime", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date du message.", + "Collection": "Entête", + "children": [] + }, + { + "Name": "MessageIdentifier", + "Element": "Simple", + "cardinality": "1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du message.", + "Collection": "Entête", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "Signature", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Signature du message.", + "Collection": "Entête", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "ArchivalAgreement", + "Element": "Simple", + "cardinality": "0-1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Accord de service.", + "Collection": "Entête", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "CodeListVersions", + "Element": "Complex", + "cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Listes de codes de références utilisés dans le message.", + "Collection": "Entête", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "ReplyCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste des codes de réponses à utiliser.", + "Collection": "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "MessageDigestAlgorithmCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste de l'algorithme de hachage utilisé dans le message.", + "Collection": "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "MimeTypeCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de la liste de code du type Mime.", + "Collection": "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "EncodingCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de la liste de code d'encodage du fichier.", + "Collection": "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "FileFormatCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de la liste de code d'identification du format.", + "Collection": "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "CompressionAlgorithmCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de la liste de code de l'algorithme de compression.", + "Collection": "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "DataObjectVersionCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste de codes correspondant aux diverses versions d'un objet-données au sein d\u2019un groupe d'objets-données (ex. original papier, conservation, diffusion, vignette, txt).", + "Collection": "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "StorageRuleCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version des listes de codes pour les règles de durée d'utilité courante.", + "Collection": "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "AppraisalRuleCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version des listes de codes pour les règles de durée d'utilité administrative.", + "Collection": "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "AccessRuleCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version des listes de codes pour les règles de communicabilité.", + "Collection": "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "DisseminationRuleCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version des listes de codes pour les règles de diffusion.", + "Collection": "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "ReuseRuleCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version des listes de codes pour les règles de réutilisation.", + "Collection": "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "ClassificationRuleCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version des listes de codes pour les règles de classification.", + "Collection": "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "AcquisitionInformationCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de la liste de codes des modalités d'entrée.", + "Collection": "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "AuthorizationReasonCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de la liste de codes d'autorisation.", + "Collection": "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "RelationshipCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de la liste de codes des relations.", + "Collection": "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "OtherCodeListAbstract", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Permet d'ajouter de nouvelles listes de codes si l'ajout d'autres métadonnées l'impose.", + "Collection": "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + } + ] + }, + { + "Name": "DataObjectPackage", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Objets-données échangés dans le message.", + "Collection": "Objets", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "", + "children": [] + }, + { + "Name": "DataObjectGroup", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "1", + "Type": "GroupIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "BinaryDataObject", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Bloc de métadonnées techniques des objets-données numériques. Le caractère facultatif est requis afin de permettre le transfert d'un plan de classement sans DataObject joint.", + "Collection": "Objets", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "1", + "Type": "DataObjectIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "children": [] + }, + { + "Name": "DataObjectSystemId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "DataObjectGroupSystemId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux groupes d'objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "Relationship", + "Element": "Simple", + "cardinality": "0-N", + "Type": "RelationshipType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier un lien technique entre un objet-données et une signature.", + "Collection": "Objets", + "_children": [ + { + "Name": "target", + "Element": "Attribute", + "cardinality": "1", + "Type": "IDREF", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "children": [] + }, + { + "Name": "type", + "Element": "Attribute", + "cardinality": "1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Référence à un Identifiant du groupe d'objets-données DataObjectVersionGroup.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "DataObjectGroupId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Identifiant du groupe d'objets-données DataObjectVersionGroup (première et unique définition).", + "Collection": "Objets", + "children": [] + }, + { + "Name": "DataObjectVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "VersionIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version d\u2019un objet-données (par exemple : original papier, conservation, diffusion, vignette, txt, \u2026).", + "Collection": "Objets", + "children": [] + }, + { + "Name": "Attachment", + "Element": "Simple", + "cardinality": "0-1", + "Type": "BinaryObjectType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Objet-données (contenu binaire ou fichier joint).", + "Collection": "Objets", + "_children": [ + { + "Name": "filename", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "uri", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Uri", + "Element": "Simple", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'URI spécifie où se trouve l'objet-données numérique. Peut correspondre à un chemin relatif.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "MessageDigest", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MessageDigestBinaryObjectType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Empreinte de l'objet-données.", + "Collection": "Objets", + "_children": [ + { + "Name": "algorithm", + "Element": "Attribute", + "cardinality": "1", + "Type": "DigestAlgorithmCodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Size", + "Element": "Simple", + "cardinality": "0-1", + "Type": "SizeInBytesType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier la taille de l'objet-données en octet.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "Compressed", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CompressedType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si l\u2019objet-données est compressé et doit être décompressé.", + "Collection": "Objets", + "_children": [ + { + "Name": "algorithm", + "Element": "Attribute", + "cardinality": "1", + "Type": "CompressionAlgorithmType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "unCompressedSize", + "Element": "Attribute", + "cardinality": "1", + "Type": "SizeInBytesType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "FormatIdentification", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identification du format de l'objet-données.", + "Collection": "Objets", + "_children": [ + { + "Name": "FormatLitteral", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Forme littérale du nom du format. Exemple : Microsoft Word Document.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "MimeType", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MimeTypeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type Mime associé, potentiellement stable mais pas assez précis. Exemple : application/msword", + "Collection": "Objets", + "children": [] + }, + { + "Name": "FormatId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "FileFormatType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type spécifique du format tel que défini dans FormatIdCodeList. Exemple : (Pronom)fmt/40", + "Collection": "Objets", + "children": [] + }, + { + "Name": "Encoding", + "Element": "Simple", + "cardinality": "0-1", + "Type": "EncodingType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Encodage du fichier tel que défini dans EncodingIdCodeList. Exemple : Utf-8", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "FileInfo", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Propriétés techniques génériques du fichier (nom d\u2019origine, logiciel de création, système d\u2019exploitation de création).", + "Collection": "Objets", + "_children": [ + { + "Name": "Filename", + "Element": "Simple", + "cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du fichier d'origine.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "CreatingApplicationName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'application utilisée pour créer le fichier.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "CreatingApplicationVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de l'application utilisée pour créer le fichier.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "DateCreatedByApplication", + "Element": "Simple", + "cardinality": "0-1", + "Type": "dateTime", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de création du fichier.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "CreatingOs", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Système d\u2019exploitation utilisé pour créer le fichier.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "CreatingOsVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du système d'exploitation utilisé pour créer le fichier.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "LastModified", + "Element": "Simple", + "cardinality": "0-1", + "Type": "dateTime", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de la dernière modification du fichier.", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Metadata", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Propriétés techniques spécifiques du fichier en fonction de sa nature technique (texte, document, image, audio, vidéo, etc.).", + "Collection": "Objets", + "_children": [ + { + "Name": "Text", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type textuel.", + "Collection": "Objets", + "children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Document", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type document.", + "Collection": "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Image", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type image.", + "Collection": "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Audio", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type audio.", + "Collection": "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Video", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type vidéo.", + "Collection": "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "OtherCoreTechnicalMetadataAbstract", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Contient toutes les métadonnées techniques de base pour d'autres types.", + "Collection": "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + } + ] + }, + { + "Name": "OtherMetadata", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Autres métadonnées techniques si celles définies précédemment ne suffisent pas.", + "Collection": "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "null", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "null", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + } + ] + }, + { + "Name": "PhysicalDataObject", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Bloc de métadonnées techniques des objets-données physiques.", + "Collection": "Objets", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "1", + "Type": "DataObjectIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "children": [] + }, + { + "Name": "DataObjectSystemId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "DataObjectGroupSystemId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux groupes d'objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "Relationship", + "Element": "Simple", + "cardinality": "0-N", + "Type": "RelationshipType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier un lien technique entre un objet-données et une signature.", + "Collection": "Objets", + "_children": [ + { + "Name": "target", + "Element": "Attribute", + "cardinality": "1", + "Type": "IDREF", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "children": [] + }, + { + "Name": "type", + "Element": "Attribute", + "cardinality": "1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Référence à un Identifiant du groupe d'objets-données DataObjectVersionGroup.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "DataObjectGroupId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Identifiant du groupe d'objets-données DataObjectVersionGroup (première et unique définition).", + "Collection": "Objets", + "children": [] + }, + { + "Name": "DataObjectVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "VersionIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version d\u2019un objet-données (par exemple : original papier, conservation, diffusion, vignette, txt, \u2026).", + "Collection": "Objets", + "children": [] + }, + { + "Name": "PhysicalId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant physique d\u2019un objet-données physique, externe à celui-ci (ex. code-barres).", + "Collection": "Objets", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "PhysicalDimensions", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Dimensions d'un objet-données physique.", + "Collection": "Objets", + "_children": [ + { + "Name": "Width", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : largeur.", + "Collection": "Objets", + "children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Height", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : hauteur.", + "Collection": "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Depth", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : profondeur.", + "Collection": "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Shape", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : forme.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "Diameter", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : diamètre.", + "Collection": "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Length", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : longueur.", + "Collection": "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Thickness", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : épaisseur.", + "Collection": "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Weight", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementWeightType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "microgram", + "MC", + "milligram", + "MGM", + "gram", + "GRM", + "kilogram", + "KGM" + ], + "Definition": "Métadonnée de dimension physique : épaisseur.", + "Collection": "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementWeightUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "NumberOfPage", + "Element": "Simple", + "cardinality": "0-1", + "Type": "int", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : nombre de pages.", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "OtherDimensionsAbstract", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Permet d'étendre <OtherDimensions> avec d'autres métadonnées de description des objets-données physiques.", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "LogBook", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion des traces.", + "Collection": "Objets", + "_children": [ + { + "Name": "Event", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "_children": [ + { + "Name": "EventIdentifier", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'événement. Références : premis.eventIdentifier", + "Collection": "Objets", + "children": [] + }, + { + "Name": "EventTypeCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code du type d'événement.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "EventType", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type d'événement.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "EventDateTime", + "Element": "Simple", + "cardinality": "1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date et heure de l'événement.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "EventDetail", + "Element": "Simple", + "cardinality": "0-1", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur l'événement.", + "Collection": "Objets", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Outcome", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Résultat du traitement.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "OutcomeDetail", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur le résultat du traitement.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "OutcomeDetailMessage", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message détaillé sur le résultat du traitement.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "EventDetailData", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message technique détaillant l'erreur.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "EventAbstract", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Permet d'ajouter de nouveaux types d'événements dans l'ontologie.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DataObjectRefIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de faire référence à un objet-donnée binaire ou physique déjà présent dans les métadonnées du bordereau.", + "Collection": "Objets", + "children": [] + } + ] + } + ] + } + ] + }, + { + "Name": "BinaryDataObject", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Bloc de métadonnées techniques des objets-données numériques. Le caractère facultatif est requis afin de permettre le transfert d'un plan de classement sans DataObject joint.", + "Collection": "Objets", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "1", + "Type": "DataObjectIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "children": [] + }, + { + "Name": "DataObjectSystemId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "DataObjectGroupSystemId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux groupes d'objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "Relationship", + "Element": "Simple", + "cardinality": "0-N", + "Type": "RelationshipType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier un lien technique entre un objet-données et une signature.", + "Collection": "Objets", + "_children": [ + { + "Name": "target", + "Element": "Attribute", + "cardinality": "1", + "Type": "IDREF", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "children": [] + }, + { + "Name": "type", + "Element": "Attribute", + "cardinality": "1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Référence à un Identifiant du groupe d'objets-données DataObjectVersionGroup.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "DataObjectGroupId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Identifiant du groupe d'objets-données DataObjectVersionGroup (première et unique définition).", + "Collection": "Objets", + "children": [] + }, + { + "Name": "DataObjectVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "VersionIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version d\u2019un objet-données (par exemple : original papier, conservation, diffusion, vignette, txt, \u2026).", + "Collection": "Objets", + "children": [] + }, + { + "Name": "Attachment", + "Element": "Simple", + "cardinality": "0-1", + "Type": "BinaryObjectType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Objet-données (contenu binaire ou fichier joint).", + "Collection": "Objets", + "_children": [ + { + "Name": "filename", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "uri", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Uri", + "Element": "Simple", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'URI spécifie où se trouve l'objet-données numérique. Peut correspondre à un chemin relatif.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "MessageDigest", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MessageDigestBinaryObjectType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Empreinte de l'objet-données.", + "Collection": "Objets", + "_children": [ + { + "Name": "algorithm", + "Element": "Attribute", + "cardinality": "1", + "Type": "DigestAlgorithmCodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Size", + "Element": "Simple", + "cardinality": "0-1", + "Type": "SizeInBytesType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier la taille de l'objet-données en octet.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "Compressed", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CompressedType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si l\u2019objet-données est compressé et doit être décompressé.", + "Collection": "Objets", + "_children": [ + { + "Name": "algorithm", + "Element": "Attribute", + "cardinality": "1", + "Type": "CompressionAlgorithmType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "unCompressedSize", + "Element": "Attribute", + "cardinality": "1", + "Type": "SizeInBytesType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "FormatIdentification", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identification du format de l'objet-données.", + "Collection": "Objets", + "_children": [ + { + "Name": "FormatLitteral", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Forme littérale du nom du format. Exemple : Microsoft Word Document.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "MimeType", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MimeTypeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type Mime associé, potentiellement stable mais pas assez précis. Exemple : application/msword", + "Collection": "Objets", + "children": [] + }, + { + "Name": "FormatId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "FileFormatType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type spécifique du format tel que défini dans FormatIdCodeList. Exemple : (Pronom)fmt/40", + "Collection": "Objets", + "children": [] + }, + { + "Name": "Encoding", + "Element": "Simple", + "cardinality": "0-1", + "Type": "EncodingType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Encodage du fichier tel que défini dans EncodingIdCodeList. Exemple : Utf-8", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "FileInfo", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Propriétés techniques génériques du fichier (nom d\u2019origine, logiciel de création, système d\u2019exploitation de création).", + "Collection": "Objets", + "_children": [ + { + "Name": "Filename", + "Element": "Simple", + "cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du fichier d'origine.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "CreatingApplicationName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'application utilisée pour créer le fichier.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "CreatingApplicationVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de l'application utilisée pour créer le fichier.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "DateCreatedByApplication", + "Element": "Simple", + "cardinality": "0-1", + "Type": "dateTime", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de création du fichier.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "CreatingOs", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Système d\u2019exploitation utilisé pour créer le fichier.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "CreatingOsVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du système d'exploitation utilisé pour créer le fichier.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "LastModified", + "Element": "Simple", + "cardinality": "0-1", + "Type": "dateTime", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de la dernière modification du fichier.", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Metadata", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Propriétés techniques spécifiques du fichier en fonction de sa nature technique (texte, document, image, audio, vidéo, etc.).", + "Collection": "Objets", + "_children": [ + { + "Name": "Text", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type textuel.", + "Collection": "Objets", + "children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Document", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type document.", + "Collection": "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Image", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type image.", + "Collection": "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Audio", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type audio.", + "Collection": "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Video", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type vidéo.", + "Collection": "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "OtherCoreTechnicalMetadataAbstract", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Contient toutes les métadonnées techniques de base pour d'autres types.", + "Collection": "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + } + ] + }, + { + "Name": "OtherMetadata", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Autres métadonnées techniques si celles définies précédemment ne suffisent pas.", + "Collection": "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "null", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "null", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + } + ] + }, + { + "Name": "PhysicalDataObject", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Bloc de métadonnées techniques des objets-données physiques.", + "Collection": "Objets", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "1", + "Type": "DataObjectIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "children": [] + }, + { + "Name": "DataObjectSystemId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "DataObjectGroupSystemId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux groupes d'objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "Relationship", + "Element": "Simple", + "cardinality": "0-N", + "Type": "RelationshipType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier un lien technique entre un objet-données et une signature.", + "Collection": "Objets", + "_children": [ + { + "Name": "target", + "Element": "Attribute", + "cardinality": "1", + "Type": "IDREF", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "children": [] + }, + { + "Name": "type", + "Element": "Attribute", + "cardinality": "1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Référence à un Identifiant du groupe d'objets-données DataObjectVersionGroup.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "DataObjectGroupId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Identifiant du groupe d'objets-données DataObjectVersionGroup (première et unique définition).", + "Collection": "Objets", + "children": [] + }, + { + "Name": "DataObjectVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "VersionIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version d\u2019un objet-données (par exemple : original papier, conservation, diffusion, vignette, txt, \u2026).", + "Collection": "Objets", + "children": [] + }, + { + "Name": "PhysicalId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant physique d\u2019un objet-données physique, externe à celui-ci (ex. code-barres).", + "Collection": "Objets", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "PhysicalDimensions", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Dimensions d'un objet-données physique.", + "Collection": "Objets", + "_children": [ + { + "Name": "Width", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : largeur.", + "Collection": "Objets", + "children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Height", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : hauteur.", + "Collection": "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Depth", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : profondeur.", + "Collection": "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Shape", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : forme.", + "Collection": "Objets", + "children": [] + }, + { + "Name": "Diameter", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : diamètre.", + "Collection": "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Length", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : longueur.", + "Collection": "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Thickness", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : épaisseur.", + "Collection": "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "Weight", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementWeightType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "microgram", + "MC", + "milligram", + "MGM", + "gram", + "GRM", + "kilogram", + "KGM" + ], + "Definition": "Métadonnée de dimension physique : épaisseur.", + "Collection": "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementWeightUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "NumberOfPage", + "Element": "Simple", + "cardinality": "0-1", + "Type": "int", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : nombre de pages.", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "OtherDimensionsAbstract", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Permet d'étendre <OtherDimensions> avec d'autres métadonnées de description des objets-données physiques.", + "Collection": "Objets", + "children": [] + } + ] + }, + { + "Name": "DescriptiveMetadata", + "Element": "Complex", + "cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Bloc de métadonnées descriptives des objets-données.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "ArchiveUnit", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Correspond à la notion de composant en ISAD(G). ArchiveUnit permet à la fois de gérer la hiérarchie intellectuelle, tout en contenant les métadonnées de description et de gestion propres à chaque niveau de description archivistique.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "1", + "Type": "ArchiveUnitidType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'unité d'archives utilisé par exemple dans le cas de multiples héritages, pour savoir quel noeud contient une erreur.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "ArchiveUnitRefIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de faire une référence à d'autres ArchiveUnit dans la même transaction.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "ArchiveUnitProfile", + "Element": "Simple", + "cardinality": "0-1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à une partie d'un profil d\u2019archivage applicable à un ArchiveUnit en particulier. Permet par exemple de faire référence à une typologie documentaire dans un profil d'archivage.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Management", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnées de gestion applicables à l\u2019ArchiveUnit concernée et à ses héritiers.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "StorageRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la durée d\u2019utilité courante.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de durée d'utilité courante.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle d'utilité courante.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "FinalAction", + "Element": "Simple", + "cardinality": "1", + "Type": "FinalActionStorageCodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "RestrictAccess", + "Transfer", + "Copy" + ], + "Definition": "Action à mettre en Å“uvre au terme de la durée de gestion.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "AppraisalRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "AppraisalRuleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la durée d\u2019utilité administrative.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de durée d'utilité administrative.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle d'utilité administrative.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "FinalAction", + "Element": "Simple", + "cardinality": "1", + "Type": "FinalActionAppraisalCodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "Keep", + "Destroy" + ], + "Definition": "Action à mettre en Å“uvre au terme de la durée de gestion.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "AccessRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "AccessRuleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la communicabilité.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de communicabilité.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de communicabilité.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "DisseminationRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "DisseminationRuleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la diffusion.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de diffusion.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de diffusion.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "ReuseRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "ReuseRuleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la réutilisation.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de réutilisation.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de réutilisation.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "ClassificationRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "ClassificationRuleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la classification.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de classification.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de classification.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "ClassificationAudience", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de gérer les questions de diffusion restreinte, de spécial France et de Confidentiel Industrie.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "ClassificationLevel", + "Element": "Simple", + "cardinality": "1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence au niveau de classification.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "ClassificationOwner", + "Element": "Simple", + "cardinality": "1", + "Type": "NonEmptyTokenType", + "Enumeration": [], + "Definition": "Propriétaire de la classification. Service émetteur au sens de l\u2019IGI 1300.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "ClassificationReassessingDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de réévaluation de la classification.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "NeedReassessingAuthorization", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si une autorisation humaine est nécessaire pour réévaluer la classification.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "LogBook", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion des traces.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Event", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Arborescence", + "children": [ + { + "Name": "EventIdentifier", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'événement. Références : premis.eventIdentifier", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "EventTypeCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code du type d'événement.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "EventType", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type d'événement.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "EventDateTime", + "Element": "Simple", + "cardinality": "1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date et heure de l'événement.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "EventDetail", + "Element": "Simple", + "cardinality": "0-1", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur l'événement.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Outcome", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Résultat du traitement.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "OutcomeDetail", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur le résultat du traitement.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "OutcomeDetailMessage", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message détaillé sur le résultat du traitement.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "EventDetailData", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message technique détaillant l'erreur.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "EventAbstract", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Permet d'ajouter de nouveaux types d'événements dans l'ontologie.", + "Collection": "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "NeedAuthorization", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si une autorisation humaine est nécessaire pour vérifier ou valider les opérations de gestion des ArchiveUnit.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "OtherManagementAbstract", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Utilisé par exemple pour manipuler un ArchiveUnit déjà existant dans le système d'archivage électronique.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Content", + "Element": "Complex", + "cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées de description associées à un ArchiveUnit.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "DescriptionLevel", + "Element": "Simple", + "cardinality": "0-1", + "Type": "LevelType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "Fonds", + "Subfonds", + "Class", + "Collection", + "Series", + "Subseries", + "RecordGrp", + "SubGrp", + "File", + "Item", + "OtherLevel" + ], + "Definition": "Niveau de description au sens de la norme ISAD (G). Indique si l\u2019ArchiveUnit correspond à un fonds, à un sous-fonds, à une classe, à une série organique, à une sous-série organique, à un dossier, à un sous-dossier ou à une pièce. Référence : seda.DescriptionLevel", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Title", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé de l'ArchiveUnit. Références : DC.Title ead.unittitle", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "FilePlanPosition", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Position de l\u2019ArchiveUnit dans le plan de classement du service producteur. Références : seda.FilePlanPosition", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "SystemId", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux objets. Il est attribué par le SAE et correspond à un identifiant interne. Références : ARMS", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "OriginatingSystemId", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant système attribué à l\u2019ArchiveUnit par l\u2019application du service producteur.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "ArchivalAgencyArchiveUnitIdentifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant métier attribué à l'ArchiveUnit par le service d'archives. Peut être comparé à une cote.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "OriginatingAgencyArchiveUnitIdentifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant métier attribué à l\u2019ArchiveUnit par le service producteur.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "TransferringAgencyArchiveUnitIdentifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué à l'ArchiveUnit par le service versant.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Description", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Description détaillée de l\u2019ArchiveUnit. Correspond à la présentation du contenu au sens de la norme ISAD(G). Références : DC:Documentation", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "CustodialHistory", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Énumère les changements successifs de propriété, de responsabilité et de conservation des ArchiveUnit avant leur entrée dans le lieu de conservation. On peut notamment y indiquer comment s'est effectué le passage de l'application d'origine au fichier archivable. Correspond à l'historique de la conservation en ISAD(G). Références : seda.CustodialHistory", + "Collection": "Arborescence", + "_children": [ + { + "Name": "CustodialHistoryItem", + "Element": "Simple", + "cardinality": "1-N", + "Type": "CustodialHistoryItemType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Description d'une période ou d'un événement précis dans l'historique.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "when", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "CustodialHistoryFile", + "Element": "Complex", + "cardinality": "0-1", + "Type": "DataObjectRefType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un fichier de journalisation externe.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DataObjectRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "Type", + "Element": "Simple", + "cardinality": "0-1", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type d\u2019information au sens de l\u2019OAIS (information de représentation, information de pérennisation, etc.). Références : seda.DocumentType", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "DocumentType", + "Element": "Simple", + "cardinality": "0-1", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type de document au sens diplomatique du terme (ex. compte-rendu de réunion, note, correspondance, etc.). Ne pas confondre avec Type.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Language", + "Element": "Simple", + "cardinality": "0-N", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du contenu des objets-données. Références : seda.Language", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DescriptionLanguage", + "Element": "Simple", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue utilisée pour les informations de représentation et de pérennisation. Références : seda.DescriptionLanguage", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Status", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Etat de l'objet-données (par rapport avec son cycle de vie). Permet par exemple d'indiquer si la signature du fichier a été vérifiée avant le transfert aux archives. Références : seda.Status", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Version", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet d'indiquer quelle est la version du document.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Tag", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Mots-clés ou liste de mots-clés génériques. En ce qui concerne l'indexation, on pourra utiliser Tag ou Keyword en fonction de ce que l'on souhaite décrire.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Keyword", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Mots-clef avec contexte inspiré du SEDA 1.0. En ce qui concerne l'indexation, on pourra utiliser Tag ou Keyword en fonction de ce que l'on souhaite décrire. Références : seda.Keyword", + "Collection": "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "KeywordContent", + "Element": "Simple", + "cardinality": "1", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Valeur du mot-clé. A utiliser avec Keyword.", + "Collection": "Arborescence", + "children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "KeywordReference", + "Element": "Simple", + "cardinality": "0-1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du mot clé dans un référentiel donné. Par exemple, pour un lieu, il pourrait s'agir de son code officiel géographique selon l'INSEE.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "KeywordType", + "Element": "Simple", + "cardinality": "0-1", + "Type": "KeyType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "corpname", + "famname", + "geogname", + "name", + "occupation", + "persname", + "subject", + "genreform", + "function" + ], + "Definition": "Type de mot clé.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "Coverage", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Couverture spatiale, temporelle ou juridictionnelle de l\u2019ArchiveUnit. Références : DC.Coverage", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Spatial", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Couverture spatiale ou couverture géographique. Références: AGKRMS.spatialCoverage", + "Collection": "Arborescence", + "children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Temporal", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Couverture temporelle. Références: AGKRMS.temporalCoverage", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Juridictional", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Juridiction administrative ou ressort administratif. Références: AGKRMS.juridictionalCoverage", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "OriginatingAgency", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Service producteur. Personne physique ou morale, publique ou privée, qui a produit, reçu et conservé des archives dans l'exercice de son activité, Dictionnaire de terminologie archivistique, direction des archives de France, 2002. Références : seda.OriginatingAgency", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation.", + "Collection": "Arborescence", + "children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "OrganizationDescriptiveMetadata", + "Element": "Complex", + "cardinality": "0-1", + "Type": "OrganizationDescriptiveMetadataType", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées de description de l'organisation.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "SubmissionAgency", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Service versant responsable du transfert des données. Références : seda.SubmissionAgency", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "OrganizationDescriptiveMetadata", + "Element": "Complex", + "cardinality": "0-1", + "Type": "OrganizationDescriptiveMetadataType", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées de description de l'organisation.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "AgentAbstract", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet d'ajouter de nouveaux types d'agents dans l'ontologie.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "FirstName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "AuthorizedAgent", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Titulaire des droits de propriété intellectuelle.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "FirstName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "Writer", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Rédacteur de l\u2019ArchiveUnit. Références : interpares.Writer", + "Collection": "Arborescence", + "_children": [ + { + "Name": "FirstName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "Addressee", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Destinataire pour action. Utilisé pour indiquer le nom du destinatire par exemple dans un courrier électronique. Références : ARMS.Addressee, Interpares.Addressee", + "Collection": "Arborescence", + "_children": [ + { + "Name": "FirstName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "Recipient", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Destinataire pour information. Utilisé pour indiquer le nom du destinatire en copie, pour information, par exemple dans un courrier électronique. Références : Interpares.Recipient", + "Collection": "Arborescence", + "_children": [ + { + "Name": "FirstName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "Transmitter", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Emetteur du message.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "FirstName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "Sender", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Expéditeur du message.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "FirstName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "_children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "Source", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En cas de substitution numérique, permet de faire référence au papier.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "RelatedObjectReference", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet faisant ou ne faisant pas partie du présent paquet d'information.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "IsVersionOf", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Est une partie de. Cette relation permet d'indique qu'un objet est une partie d'un autre.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "ArchiveUnitRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Arborescence", + "children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DataObjectRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "RepositoryObjectPID", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "ExternalReference", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence externe.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Replaces", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Remplace. Cette relation permet d'indiquer les objets remplacés par le niveau courant de description. DC.Relation.replaces", + "Collection": "Arborescence", + "_children": [ + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "ArchiveUnitRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DataObjectRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "RepositoryObjectPID", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "ExternalReference", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence externe.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Requires", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Requiert. Cette relation permet d'indiquer les objets nécessaire à la compréhension du niveau courant de description. Références : DC.Relation.requires", + "Collection": "Arborescence", + "_children": [ + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "ArchiveUnitRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Arborescence", + "children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DataObjectRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "RepositoryObjectPID", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "ExternalReference", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence externe.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "IsPartOf", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Est une partie de. Cette relation permet d'indique qu'un objet est une partie d'un autre. Références : DC.Relation.isPartOf", + "Collection": "Arborescence", + "_children": [ + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "ArchiveUnitRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DataObjectRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "RepositoryObjectPID", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "ExternalReference", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence externe.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "References", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence. Cette relation permet d'indiquer qu'un objet en référence un autre. DC.Relation.references", + "Collection": "Arborescence", + "_children": [ + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "ArchiveUnitRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Arborescence", + "children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DataObjectRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "RepositoryObjectPID", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "ExternalReference", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence externe.", + "Collection": "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "CreatedDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de création. Références : ARKMS.DateCreated", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "TransactedDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de la transaction. Références : ARKMS.DateTransacted", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "AcquiredDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de numérisation. Références : ARKMS.DateAcquired", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "SentDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date d'envoi.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "ReceivedDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de réception.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "RegisteredDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date d'enregistrement. Références : ARMS.DateDeclared", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date d'ouverture / date de début. Références : AGKRMS.StartDate", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "EndDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de fermeture / Date de fin. Références : AGKRMS.EndDate", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Event", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Arborescence", + "_children": [ + { + "Name": "EventIdentifier", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'événement. Références : premis.eventIdentifier", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "EventTypeCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code du type d'événement.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "EventType", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type d'événement.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "EventDateTime", + "Element": "Simple", + "cardinality": "1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date et heure de l'événement.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "EventDetail", + "Element": "Simple", + "cardinality": "0-1", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur l'événement.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Outcome", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Résultat du traitement.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "OutcomeDetail", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur le résultat du traitement.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "OutcomeDetailMessage", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message détaillé sur le résultat du traitement.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "EventDetailData", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message technique détaillant l'erreur.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "EventAbstract", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Permet d'ajouter de nouveaux types d'événements dans l'ontologie.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Signature", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Contient toutes les informations relatives à la signature.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Signer", + "Element": "Complex", + "cardinality": "1-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Signataire(s) de la transaction ou de l'objet. Références : premis.signer", + "Collection": "Arborescence", + "children": [ + { + "Name": "FirstName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "SigningTime", + "Element": "Simple", + "cardinality": "1", + "Type": "dateTime", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de signature.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "Validator", + "Element": "Complex", + "cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Validateur de la signature.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "FirstName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "ValidationTime", + "Element": "Simple", + "cardinality": "1", + "Type": "dateTime", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de la validation de la signature.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Enumeration": [], + "Definition": "null", + "Choice": "no", + "Extensible": "no", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Enumeration": [], + "Definition": "null", + "Choice": "no", + "Extensible": "no", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "Masterdata", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référentiel des personnes et des organisations au moment de la vérification de la signature et de sa validation.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "ReferencedObject", + "Element": "Complex", + "cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à l'objet signé.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "SignedObjectId", + "Element": "Simple", + "cardinality": "1", + "Type": "DataObjectRefIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'objet-données signé.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "SignedObjectDigest", + "Element": "Simple", + "cardinality": "1", + "Type": "MessageDigestBinaryObjectType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Empreinte obligatoire jusqu'au processus de versement pour assurer la portabilité de la valeur probante. Le SAE peut ne pas la conserver si l'on considère que l'identifiant de l'objet correspondant suffit. Ce procédé permet de résister au temps lorsque les informations binaires du paquet seront converties au gré des opérations de préservation de la lisibilité des formats. Au cours de ces opérations, l'identifiant ne changera pas, contrairement au format dufichier et donc à son empreinte.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "algorithm", + "Element": "Attribute", + "cardinality": "1", + "Type": "DigestAlgorithmCodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + } + ] + } + ] + } + ] + }, + { + "Name": "Gps", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Coordonnées gps complétées ou vérifiées par un utilisateur. Fait référence à des coordonnées traitées par un utilisateur et non à des coordonnées captées.", + "Collection": "Arborescence", + "_children": [ + { + "Name": "GpsVersionID", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la version du GPS.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "GpsAltitude", + "Element": "Simple", + "cardinality": "0-1", + "Type": "integer", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique l'altitude basée sur la référence dans GPSAltitudeRef. L'altitude est exprimée en mètres.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "GpsAltitudeRef", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique l'altitude utilisée comme altitude de référence. Si l'altitude est au dessus du niveau de la mer, la valeur 0 est normalement donnée. Si l'altitude est au-dessous du niveau de la mer, la veleur 1 est normalement donnée.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "GpsLatitude", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "La latitude peut être exprimée de deux manières différentes : 1)degrés, décimaux ou 2)degrés, minutes et secondes. 1)Si la latitude est exprimée en degrés, décimaux, le format type est dd, dd. Par ex: 45.3130339. 2)Si la latitude est exprimée en degrés, minutes et secondes, le format type est dd, mm, ss. Par ex: 45 18 46.922.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "GpsLatitudeRef", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si la latitude est nord ou sud. La valeur 'N' indique la latitude nord, et 'S' indique la latitude sud.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "GpsLongitude", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "La longitude peut être exprimée de deux manières différentes : 1)degrés, décimaux ou 2)degrés, minutes et secondes. 1)Si la longitude est exprimée en degrés, décimaux, le format type est dd, dd. Par ex: 5.392285833333334. 2)Si la longitude est exprimée en degrés, minutes et secondes, le format type est dd, mm, ss. Par ex: 5 23 32.229.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "GpsLongitudeRef", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si la longitude est est ou ouest. La valeur 'E' indique la longitude est, et 'W' indique la longitude Ouest.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "GpsDateStamp", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Heure et Date de la position GPS.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "ObjectGroupExtenstionAbstract", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Permet d'étendre ObjectGroup avec d'autres métadonnées descriptives.", + "Collection": "Arborescence", + "children": [] + } + ] + }, + { + "Name": "ArchiveUnit", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la récursivité. Une ArchiveUnit peut être contenu dans une ature ArchiveUnit.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "ArchiveUnitReferenceAbstract", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Contient les requêtes nécessaires pour trouver un ArchiveUnit et pointer sur lui dans un prochain ArchiveUnit. Permet de référencer un noeud déjà existant dans un arbre à partir d'un transfert précédent.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DataObjectRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "children": [] + } + ] + } + ] + } + ] + }, + { + "Name": "ManagementMetadata", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Bloc des métadonnées de gestion par défaut des objets-données.", + "Collection": "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "ArchivalProfile", + "Element": "Simple", + "cardinality": "0-1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Profil d\u2019archivage applicable aux ArchiveUnit.", + "Collection": "Règles", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + } + ] + }, + { + "Name": "ServiceLevel", + "Element": "Simple", + "cardinality": "0-1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Niveau de service applicable aux unités d\u2019archives.", + "Collection": "Règles", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + } + ] + }, + { + "Name": "AcquisitionInformation", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Modalités d'entrée des archives.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "LegalStatus", + "Element": "Simple", + "cardinality": "0-1", + "Type": "LegalStatusType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "Public Archive", + "Private Archive", + "Public and Private Archive" + ], + "Definition": "Statut des archives échangées.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "OriginatingAgencyIdentifier", + "Element": "Simple", + "cardinality": "0-1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du service producteur - information de gestion à ne pas confondre avec OriginatingAgency dans les métadonnées de description.", + "Collection": "Règles", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + } + ] + }, + { + "Name": "SubmissionAgencyIdentifier", + "Element": "Simple", + "cardinality": "0-1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du service versant - information de gestion à ne pas confondre avec SubmissionAgency dans les métadonnées de description.", + "Collection": "Règles", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + } + ] + }, + { + "Name": "StorageRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la durée d\u2019utilité courante.", + "Collection": "Règles", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de durée d'utilité courante.", + "Collection": "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle d'utilité courante.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + } + ] + }, + { + "Name": "FinalAction", + "Element": "Simple", + "cardinality": "1", + "Type": "FinalActionStorageCodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "RestrictAccess", + "Transfer", + "Copy" + ], + "Definition": "Action à mettre en œuvre au terme de la durée de gestion.", + "Collection": "Règles", + "children": [] + } + ] + }, + { + "Name": "AppraisalRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "AppraisalRuleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la durée d'utilité administrative.", + "Collection": "Règles", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de durée d'utilité administrative.", + "Collection": "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle d'utilité administrative.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + } + ] + }, + { + "Name": "FinalAction", + "Element": "Simple", + "cardinality": "1", + "Type": "FinalActionAppraisalCodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "Keep", + "Destroy" + ], + "Definition": "Action à mettre en œuvre au terme de la durée de gestion.", + "Collection": "Règles", + "children": [] + } + ] + }, + { + "Name": "AccessRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "AccessRuleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la communicabilité.", + "Collection": "Règles", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de communicabilité.", + "Collection": "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de communicabilité.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + } + ] + } + ] + }, + { + "Name": "DisseminationRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "DisseminationRuleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la diffusion.", + "Collection": "Règles", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de diffusion.", + "Collection": "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de diffusion.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + } + ] + } + ] + }, + { + "Name": "ReuseRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "ReuseRuleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la réutilisation.", + "Collection": "Règles", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de réutilisation.", + "Collection": "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de réutilisation.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + } + ] + } + ] + }, + { + "Name": "ClassificationRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "ClassificationRuleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la classification.", + "Collection": "Règles", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de classification.", + "Collection": "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de classification.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "ClassificationAudience", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de gérer les questions de diffusion restreinte, de spécial France et de Confidentiel Industrie.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + } + ] + }, + { + "Name": "ClassificationLevel", + "Element": "Simple", + "cardinality": "1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence au niveau de classification.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "ClassificationOwner", + "Element": "Simple", + "cardinality": "1", + "Type": "NonEmptyTokenType", + "Enumeration": [], + "Definition": "Propriétaire de la classification. Service émetteur au sens de l\u2019IGI 1300.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "ClassificationReassessingDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de réévaluation de la classification.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "NeedReassessingAuthorization", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si une autorisation humaine est nécessaire pour réévaluer la classification.", + "Collection": "Règles", + "children": [] + } + ] + }, + { + "Name": "LogBook", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion des traces.", + "Collection": "Règles", + "_children": [ + { + "Name": "Event", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Règles", + "_children": [ + { + "Name": "EventIdentifier", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'événement. Références : premis.eventIdentifier", + "Collection": "Règles", + "children": [] + }, + { + "Name": "EventTypeCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code du type d'événement.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "EventType", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type d'événement.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "EventDateTime", + "Element": "Simple", + "cardinality": "1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date et heure de l'événement.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "EventDetail", + "Element": "Simple", + "cardinality": "0-1", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur l'événement.", + "Collection": "Règles", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "children": [] + } + ] + }, + { + "Name": "Outcome", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Résultat du traitement.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "OutcomeDetail", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur le résultat du traitement.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "OutcomeDetailMessage", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message détaillé sur le résultat du traitement.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "EventDetailData", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message technique détaillant l'erreur.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "EventAbstract", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Permet d'ajouter de nouveaux types d'événements dans l'ontologie.", + "Collection": "Règles", + "children": [] + } + ] + } + ] + }, + { + "Name": "NeedAuthorization", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si une autorisation humaine est nécessaire pour vérifier ou valider les opérations de gestion des ArchiveUnit.", + "Collection": "Règles", + "children": [] + }, + { + "Name": "OtherManagementAbstract", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Utilisé par exemple pour manipuler un ArchiveUnit déjà existant dans le système d'archivage électronique.", + "Collection": "Règles", + "children": [] + } + ] + } + ] + }, + { + "Name": "RelatedTransferReference", + "Element": "Simple", + "cardinality": "0-N", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant d\u2019un transfert associé.", + "Collection": "Entête", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "TransferRequestReplyIdentifier", + "Element": "Simple", + "cardinality": "0-1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la réponse à une demande de transfert.", + "Collection": "Entête", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "ArchivalAgency", + "Element": "Complex", + "cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Service d'archives responsable du transfert.", + "Collection": "Entête", + "_children": [ + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation.", + "Collection": "Entête", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "OrganizationDescriptiveMetadata", + "Element": "Simple", + "cardinality": "0-1", + "Type": "OrganizationDescriptiveMetadataType", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées de description de l'organisation.", + "Collection": "Entête", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + } + ] + }, + { + "Name": "TransferringAgency", + "Element": "Complex", + "cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Service versant chargé de réaliser le transport.", + "Collection": "Entête", + "_children": [ + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation.", + "Collection": "Entête", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + }, + { + "Name": "OrganizationDescriptiveMetadata", + "Element": "Simple", + "cardinality": "0-1", + "Type": "OrganizationDescriptiveMetadataType", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées de description de l'organisation.", + "Collection": "Entête", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + } + ] + } + ] + } + ] + } +] diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/active-icon.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/active-icon.svg new file mode 100644 index 000000000..63373e4ea --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/active-icon.svg @@ -0,0 +1,22 @@ +<svg width="35" height="35" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg"> + <g filter="url(#filter0_d)"> + <path fill-rule="evenodd" clip-rule="evenodd" + d="M17.5 24C21.6421 24 25 20.6421 25 16.5C25 12.3579 21.6421 9 17.5 9C13.3579 9 10 12.3579 10 16.5C10 20.6421 13.3579 24 17.5 24Z" + fill="#27740A"/> + <path + d="M24 16.5C24 20.0899 21.0899 23 17.5 23C13.9101 23 11 20.0899 11 16.5C11 12.9101 13.9101 10 17.5 10C21.0899 10 24 12.9101 24 16.5Z" + stroke="white" stroke-width="2"/> + </g> + <defs> + <filter id="filter0_d" x="0" y="0" width="35" height="35" filterUnits="userSpaceOnUse" + color-interpolation-filters="sRGB"> + <feFlood flood-opacity="0" result="BackgroundImageFix"/> + <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/> + <feOffset dy="1"/> + <feGaussianBlur stdDeviation="5"/> + <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0"/> + <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/> + <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/> + </filter> + </defs> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/arrow-right.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/arrow-right.svg new file mode 100644 index 000000000..8eff280db --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/arrow-right.svg @@ -0,0 +1,5 @@ +<svg width="10" height="5" viewBox="0 0 10 5" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path + d="M6.918 4.06C7.10467 3.56533 7.33333 3.14067 7.604 2.786H0.1V1.638H7.604C7.34267 1.28333 7.11867 0.858666 6.932 0.363999H7.996C8.57467 1.04533 9.20933 1.56333 9.9 1.918V2.52C9.20933 2.856 8.57467 3.36933 7.996 4.06H6.918Z" + fill="#212121"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/attribute_icon.png b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/attribute_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..904ce440887841928c194a74dc40ad1757d40ef0 GIT binary patch literal 10753 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 literal 0 HcmV?d00001 diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/check.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/check.svg new file mode 100644 index 000000000..1ad9aa6e2 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/check.svg @@ -0,0 +1,4 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#65B2E4" width="18px" height="18px"> + <path d="M0 0h24v24H0z" fill="none"/> + <path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/chevron-down.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/chevron-down.svg new file mode 100644 index 000000000..76d8babdb --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/chevron-down.svg @@ -0,0 +1,3 @@ +<svg width="12" height="8" viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path d="M1.41 0.589844L6 5.16984L10.59 0.589844L12 1.99984L6 7.99984L0 1.99984L1.41 0.589844Z" fill="#212121"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/close-popup.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/close-popup.svg new file mode 100644 index 000000000..86a664ad6 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/close-popup.svg @@ -0,0 +1,4 @@ +<svg width="22" height="23" viewBox="0 0 22 23" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path d="M21 1.11914L1 21.1959" stroke="#444444" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> + <path d="M1 1.11914L21 21.1959" stroke="#444444" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/close-sidenav.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/close-sidenav.svg new file mode 100644 index 000000000..fc758a3c6 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/close-sidenav.svg @@ -0,0 +1,18 @@ +<svg width="28" height="30" viewBox="0 0 28 30" fill="none" xmlns="http://www.w3.org/2000/svg"> + <g filter="url(#filter0_d)"> + <path d="M23 3L5 21" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> + <path d="M5 3L23 21" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> + </g> + <defs> + <filter id="filter0_d" x="0" y="2" width="28" height="28" filterUnits="userSpaceOnUse" + color-interpolation-filters="sRGB"> + <feFlood flood-opacity="0" result="BackgroundImageFix"/> + <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/> + <feOffset dy="4"/> + <feGaussianBlur stdDeviation="2"/> + <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/> + <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/> + <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/> + </filter> + </defs> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element-white.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element-white.svg new file mode 100644 index 000000000..d77eb327a --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element-white.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="19" height="19" viewBox="0 0 19 19" fill="white"> + <line x1="5.5" y1="9.99951" x2="5.5" y2="15.9995" stroke="#747272"/> + <line x1="18.5" y1="15.4993" x2="5.5" y2="15.4993" stroke="#747272" stroke-linecap="round" stroke-linejoin="round"/> + <rect x="10.5" y="12.501" width="6" height="6.00006" rx="0.5" fill="white" stroke="#747272"/> + <rect x="0.5" y="0.5" width="10" height="10" rx="0.5" stroke="#747272"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element-white2.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element-white2.svg new file mode 100644 index 000000000..04fc6b4a6 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element-white2.svg @@ -0,0 +1,10 @@ +<svg width="23" height="20" viewBox="0 0 23 20" fill="none" xmlns="http://www.w3.org/2000/svg"> + <rect x="11.0264" y="13.1316" width="6.36842" height="6.36842" rx="0.5" stroke="#9D9D9D"/> + <rect x="0.5" y="0.5" width="10.5789" height="10.5789" rx="0.5" stroke="#9D9D9D"/> + <rect x="5" y="11" width="1" height="5" fill="#9D9D9D"/> + <rect x="5" y="11" width="1" height="5" fill="#9D9D9D"/> + <path d="M11 16L11 17L6 17C5.44772 17 5 16.5523 5 16L11 16Z" fill="#9D9D9D"/> + <path d="M11 16L11 17L6 17C5.44772 17 5 16.5523 5 16L11 16Z" fill="#9D9D9D"/> + <path d="M22.5 16C22.7761 16 23 16.2239 23 16.5C23 16.7761 22.7761 17 22.5 17L17 17L17 16L22.5 16Z" fill="#9D9D9D"/> + <path d="M22.5 16C22.7761 16 23 16.2239 23 16.5C23 16.7761 22.7761 17 22.5 17L17 17L17 16L22.5 16Z" fill="#9D9D9D"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element.png b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element.png new file mode 100644 index 0000000000000000000000000000000000000000..59aebd23aa64e6a9bc58048e7abe4f9c1a3cf06f GIT binary patch literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6I!3HGL_ATQBQk(@Ik;M!Q+`=Ht$S`Y;1W=H% zILO_JVcj{Imp~3nx}&cn1H;CC?mvmFK>l-27srqa#<x>0ayA<XwCO9^SvSo+B5Kv7 zWcTBW;1=mGu`b~+Sgf4PGs0f1Zh9&2rFcVF+4UB?{e;V(->H|MbPWkDRbSNbrem^7 zrcUz7tA{)Uyc;82ScD&Co)Bs`OA)_+^uJ3C|HW#DX&h67_@f%d`d^w>stFoSw%|G3 z8g`)1Rx9wb_QG}9^)knm#qWQwot`>#&ac=_F5KLTei>)aetCTRyN&+w*AJyXGCZ5L zEHm*}U|>VN?)1%nGZQE5dLOJFRxz)We@4a0u4H5TU*XeI9Y1^MJy*|t_(JA*W?)^O g)kUpbDZPiBD~p1zW{Zc<26~yn)78&qol`;+0Qj<if&c&j literal 0 HcmV?d00001 diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element.svg new file mode 100644 index 000000000..10f961451 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="19" height="19" viewBox="0 0 19 19" fill="none"> + <line x1="5.5" y1="9.99951" x2="5.5" y2="15.9995" stroke="#9D9D9D"/> + <line x1="18.5" y1="15.4993" x2="5.5" y2="15.4993" stroke="#9D9D9D" stroke-linecap="round" stroke-linejoin="round"/> + <rect x="10.5" y="12.501" width="6" height="6.00006" rx="0.5" fill="white" stroke="#9D9D9D"/> + <rect x="0.5" y="0.5" width="10" height="10" rx="0.5" stroke="#9D9D9D"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex_icon.png b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7c8b06be03552d13c684116ca9aae33e83db41c6 GIT binary patch literal 15079 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 Of<DsMs8qLq_5T1lpst4i literal 0 HcmV?d00001 diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/drop-box-arrow-vitam.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/drop-box-arrow-vitam.svg new file mode 100644 index 000000000..cbfdc90e4 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/drop-box-arrow-vitam.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#702382" width="18px" height="18px"> + <path d="M0 0h24v24H0z" fill="none"/> + <path + d="M12 5.83L15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9 12 5.83zm0 12.34L8.83 15l-1.41 1.41L12 21l4.59-4.59L15.17 15 12 18.17z"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/drop-box-arrow.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/drop-box-arrow.svg new file mode 100644 index 000000000..4d0d55b90 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/drop-box-arrow.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#65B2E4" width="18px" height="18px"> + <path d="M0 0h24v24H0z" fill="none"/> + <path + d="M12 5.83L15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9 12 5.83zm0 12.34L8.83 15l-1.41 1.41L12 21l4.59-4.59L15.17 15 12 18.17z"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/import-icon.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/import-icon.svg new file mode 100644 index 000000000..0e104ed29 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/import-icon.svg @@ -0,0 +1,8 @@ +<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path fill-rule="evenodd" clip-rule="evenodd" + d="M4.66666 9L1 13H7.5C8.05228 13 8.5 13.4477 8.5 14V16C8.5 16.5523 8.94772 17 9.5 17H14.5C15.0523 17 15.5 16.5523 15.5 16V14C15.5 13.4477 15.9477 13 16.5 13H23L19.3333 9L14.5 9C14.5 9 14 9 14 8.5C14 8 14.5 8 14.5 8H20L24 13V21C24 22.6569 22.6569 24 21 24H3C1.34315 24 0 22.6568 0 21L3.93391e-06 13L4 8H9.5C9.5 8 10 7.99999 10 8.5C10 9.00001 9.5 9 9.5 9L4.66666 9ZM1 14H7.5V16C7.5 17.1046 8.39543 18 9.5 18H12H14.5C15.6046 18 16.5 17.1046 16.5 16V14H23V21C23 22.1046 22.1046 23 21 23H3C1.89543 23 1 22.1046 1 21V14Z" + fill="white"/> + <path + d="M11.9719 14C12.098 13.9952 12.2442 13.9428 12.3359 13.8566L15.3358 11.0331C15.5075 10.8415 15.5785 10.4747 15.38 10.261C15.1842 10.0501 14.8044 10.057 14.6079 10.2666L12.5012 12.2518L12.5 0.5C12.5 0.20773 12.264 0 11.9717 0C11.6794 0 11.5 0.20773 11.5 0.5L11.4424 12.2518L9.33569 10.2666C9.1544 10.086 8.76148 10.0522 8.56364 10.261C8.3658 10.4692 8.42921 10.8497 8.60775 11.0331L11.6077 13.8566C11.7105 13.9531 11.8313 14 11.9719 14Z" + fill="white"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/inactive-icon.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/inactive-icon.svg new file mode 100644 index 000000000..2fbd87559 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/inactive-icon.svg @@ -0,0 +1,22 @@ +<svg width="35" height="35" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg"> + <g filter="url(#filter0_d)"> + <path fill-rule="evenodd" clip-rule="evenodd" + d="M17.5 24C21.6421 24 25 20.6421 25 16.5C25 12.3579 21.6421 9 17.5 9C13.3579 9 10 12.3579 10 16.5C10 20.6421 13.3579 24 17.5 24Z" + fill="#C10000"/> + <path + d="M24 16.5C24 20.0899 21.0899 23 17.5 23C13.9101 23 11 20.0899 11 16.5C11 12.9101 13.9101 10 17.5 10C21.0899 10 24 12.9101 24 16.5Z" + stroke="white" stroke-width="2"/> + </g> + <defs> + <filter id="filter0_d" x="0" y="0" width="35" height="35" filterUnits="userSpaceOnUse" + color-interpolation-filters="sRGB"> + <feFlood flood-opacity="0" result="BackgroundImageFix"/> + <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/> + <feOffset dy="1"/> + <feGaussianBlur stdDeviation="5"/> + <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0"/> + <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/> + <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/> + </filter> + </defs> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/info-black.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/info-black.svg new file mode 100644 index 000000000..275d84661 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/info-black.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black" width="18px" height="18px"> + <path d="M0 0h24v24H0V0z" fill="none"/> + <path + d="M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/info-white.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/info-white.svg new file mode 100644 index 000000000..9ec78a156 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/info-white.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white" width="18px" height="18px"> + <path d="M0 0h24v24H0V0z" fill="none"/> + <path + d="M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/pastis-picto-retour.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/pastis-picto-retour.svg new file mode 100644 index 000000000..e38239fee --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/pastis-picto-retour.svg @@ -0,0 +1,6 @@ +<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path d="M1.12695 6.74365L11.597 6.74365" stroke="#65B2E4" stroke-width="1.5" stroke-linecap="round" + stroke-linejoin="round"/> + <path d="M6.1395 1.60576L1.125 6.74026L6.1395 11.8748" stroke="#65B2E4" stroke-width="1.5" stroke-linecap="round" + stroke-linejoin="round"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/plus-blue.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/plus-blue.svg new file mode 100644 index 000000000..2815d4cfc --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/plus-blue.svg @@ -0,0 +1,5 @@ +<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path fill-rule="evenodd" clip-rule="evenodd" + d="M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM17 13H13V17H11V13H7V11H11V7H13V11H17V13Z" + fill="#65B2E4"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/plus-grey.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/plus-grey.svg new file mode 100644 index 000000000..8211776f6 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/plus-grey.svg @@ -0,0 +1,5 @@ +<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path fill-rule="evenodd" clip-rule="evenodd" + d="M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM17 13H13V17H11V13H7V11H11V7H13V11H17V13Z" + fill="#A3A3A3"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/save.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/save.svg new file mode 100644 index 000000000..899407bc0 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/save.svg @@ -0,0 +1,9 @@ +<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path + d="M2 19V4C2 2.89543 2.89543 2 4 2H16.0429C16.1755 2 16.3027 2.05268 16.3964 2.14645L20.8536 6.60355C20.9473 6.69732 21 6.8245 21 6.95711V19C21 20.1046 20.1046 21 19 21H4C2.89543 21 2 20.1046 2 19Z" + stroke="white" stroke-linejoin="round"/> + <circle cx="11.8955" cy="15.0625" r="3.5625" stroke="white"/> + <path + d="M4.85059 5.35327C4.85059 5.07713 5.07444 4.85327 5.35059 4.85327H14.8006C15.0767 4.85327 15.3006 5.07713 15.3006 5.35327V9.10327C15.3006 9.37941 15.0767 9.60327 14.8006 9.60327H5.35059C5.07444 9.60327 4.85059 9.37941 4.85059 9.10327V5.35327Z" + stroke="white" stroke-linecap="round" stroke-linejoin="round"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/setting.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/setting.svg new file mode 100644 index 000000000..cd361df9d --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/setting.svg @@ -0,0 +1,8 @@ +<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path fill-rule="evenodd" clip-rule="evenodd" + d="M12.0001 16.2605C9.54907 16.2605 7.55566 14.2671 7.55566 11.816C7.55566 9.36498 9.551 7.37158 12.0001 7.37158C14.4512 7.37158 16.4446 9.36498 16.4446 11.816C16.4465 14.2671 14.4512 16.2605 12.0001 16.2605ZM12.0007 8.86464C10.3718 8.86464 9.04547 10.191 9.04547 11.8198C9.04547 13.4507 10.3718 14.775 12.0007 14.775C13.6295 14.775 14.9559 13.4487 14.9559 11.8198C14.9578 10.189 13.6314 8.86464 12.0007 8.86464Z" + fill="white"/> + <path fill-rule="evenodd" clip-rule="evenodd" + d="M12.0082 22C11.5689 22 11.1236 21.9698 10.6843 21.9113C10.3881 21.871 10.1403 21.6635 10.0496 21.3794C9.838 20.7144 9.34833 20.1805 8.70755 19.9124C8.07078 19.6464 7.33528 19.6787 6.7207 19.993C6.45472 20.13 6.13232 20.0998 5.89452 19.9185C5.1973 19.3824 4.57668 18.7598 4.05077 18.0687C3.86942 17.8309 3.8412 17.5105 3.97823 17.2445C4.30064 16.6199 4.33489 15.8985 4.07495 15.2658C3.81501 14.633 3.28101 14.1474 2.61205 13.9318C2.32794 13.8391 2.1224 13.5933 2.08413 13.2971C1.97129 12.4346 1.97129 11.5561 2.08816 10.6856C2.12847 10.3894 2.33601 10.1415 2.62011 10.0508C3.28509 9.83926 3.81904 9.3496 4.08708 8.7068C4.35508 8.06601 4.32485 7.34062 4.00648 6.71995C3.86946 6.45397 3.89968 6.13157 4.08305 5.89377C4.61907 5.19655 5.2417 4.57794 5.93283 4.05002C6.17061 3.86867 6.49098 3.84046 6.75701 3.97748C7.37561 4.29787 8.10306 4.33616 8.73575 4.0742C9.36849 3.81426 9.85411 3.28026 10.0717 2.61131C10.1644 2.32719 10.4102 2.12165 10.7065 2.08339C11.5649 1.97054 12.4495 1.97256 13.3179 2.08742C13.6141 2.12772 13.862 2.33527 13.9527 2.61936C14.1643 3.28434 14.6539 3.8183 15.2947 4.08633C15.9335 4.35231 16.669 4.32007 17.2816 4.00573C17.5476 3.86871 17.8699 3.89893 18.1078 4.08028C18.805 4.6163 19.4256 5.23893 19.9515 5.93007C20.1329 6.16784 20.1611 6.48822 20.024 6.75424C19.7016 7.37888 19.6674 8.1003 19.9273 8.73299C20.1873 9.36573 20.7213 9.85135 21.3902 10.0669C21.6743 10.1596 21.8799 10.4054 21.9181 10.7017C22.031 11.5641 22.031 12.4427 21.9141 13.3132C21.8738 13.6094 21.6663 13.8572 21.3822 13.9479C20.7172 14.1595 20.1832 14.6492 19.9152 15.292C19.6472 15.9327 19.6774 16.6581 19.9958 17.2788C20.1328 17.5448 20.1026 17.8672 19.9192 18.105C19.3832 18.8022 18.7606 19.4208 18.0694 19.9487C17.8317 20.1301 17.5113 20.1583 17.2453 20.0213C16.6267 19.7029 15.8992 19.6646 15.2665 19.9245C14.6358 20.1845 14.1482 20.7185 13.9306 21.3874C13.8379 21.6716 13.592 21.8771 13.2958 21.9154C12.8706 21.9698 12.4374 22 12.0082 22V22ZM11.1872 20.7497C11.6491 20.7857 12.1109 20.7878 12.5728 20.7518C13.0093 19.8323 13.7635 19.1055 14.7021 18.7179C15.6365 18.3322 16.6895 18.3153 17.6471 18.6606C17.9967 18.3619 18.3251 18.0357 18.6281 17.6818C18.287 16.7263 18.3103 15.6754 18.7065 14.7283C19.1006 13.7813 19.8294 13.0228 20.7489 12.5906C20.7849 12.1287 20.787 11.6647 20.751 11.2049C19.8315 10.7685 19.1048 10.0142 18.7171 9.07352C18.3294 8.13492 18.3145 7.08616 18.6599 6.12852C18.3611 5.77894 18.0349 5.45054 17.681 5.14756C16.7276 5.48655 15.6662 5.46113 14.7276 5.06917C13.7805 4.67509 13.022 3.94627 12.5898 3.02887C12.1279 2.99074 11.6661 2.99074 11.2042 3.02675C10.7677 3.94626 10.0135 4.673 9.07486 5.0607C8.14049 5.44631 7.0875 5.46326 6.12986 5.11791C5.78028 5.41664 5.45188 5.7429 5.1489 6.09675C5.49002 7.05228 5.46671 8.10315 5.07051 9.05021C4.67643 9.99728 3.94761 10.7558 3.0281 11.188C2.99208 11.6499 2.98996 12.1138 3.02598 12.5736C3.94549 13.0101 4.67223 13.7643 5.05993 14.705C5.44765 15.6436 5.46248 16.6924 5.11714 17.65C5.41587 17.9996 5.74213 18.328 6.09598 18.631C7.0515 18.292 8.11084 18.3195 9.04944 18.7094C9.99862 19.1035 10.7529 19.8323 11.1872 20.7497Z" + fill="white"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/simple_icon.png b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/simple_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..daae5b8d4a3e59238bba26e6282ad4715b23f895 GIT binary patch literal 15644 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 E0N3YZd;kCd literal 0 HcmV?d00001 diff --git a/ui/ui-frontend/projects/pastis/src/environments/IEnvironment.ts b/ui/ui-frontend/projects/pastis/src/environments/IEnvironment.ts new file mode 100644 index 000000000..cc1972c62 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/environments/IEnvironment.ts @@ -0,0 +1,42 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +export interface IEnvironment { + production: boolean; + apiServerUrl?: string; + standalone?: boolean; +} diff --git a/ui/ui-frontend/projects/pastis/src/environments/environment.dev.ts b/ui/ui-frontend/projects/pastis/src/environments/environment.dev.ts new file mode 100644 index 000000000..8d00889a0 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/environments/environment.dev.ts @@ -0,0 +1,43 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { IEnvironment } from './IEnvironment'; + +export const environment: IEnvironment = { + production: false, + apiServerUrl: "https://sandbox78.cines.fr:8051", +}; diff --git a/ui/ui-frontend/projects/pastis/src/environments/environment.prod.ts b/ui/ui-frontend/projects/pastis/src/environments/environment.prod.ts new file mode 100644 index 000000000..72e0070dc --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/environments/environment.prod.ts @@ -0,0 +1,56 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +import{IEnvironment} from './IEnvironment' + +export const environment: IEnvironment= { + production: true, + standalone: false +}; + +/* + * For easier debugging in development mode, you can import the following file + * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. + * + * This import should be commented out in production mode because it will have a negative impact + * on performance if an error is thrown. + */ +// import 'zone.js/dist/zone-error'; // Included with Angular CLI. diff --git a/ui/ui-frontend/projects/pastis/src/environments/environment.rec.ts b/ui/ui-frontend/projects/pastis/src/environments/environment.rec.ts new file mode 100644 index 000000000..18891fd17 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/environments/environment.rec.ts @@ -0,0 +1,43 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import{IEnvironment} from './IEnvironment' + +export const environment: IEnvironment= { + production: false, + apiServerUrl: "https://sandbox78-adm.cines.fr:8051", +}; diff --git a/ui/ui-frontend/projects/pastis/src/environments/environment.rpm.ts b/ui/ui-frontend/projects/pastis/src/environments/environment.rpm.ts new file mode 100644 index 000000000..dbd4a3799 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/environments/environment.rpm.ts @@ -0,0 +1,45 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. + +import{IEnvironment} from './IEnvironment' +import * as config from '../assets/config/config.json'; + +export const environment: IEnvironment= { + production: true, + apiServerUrl: config.apiPastisUrl, +}; +*/ diff --git a/ui/ui-frontend/projects/pastis/src/environments/environment.standalone.ts b/ui/ui-frontend/projects/pastis/src/environments/environment.standalone.ts new file mode 100644 index 000000000..c1804d0f5 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/environments/environment.standalone.ts @@ -0,0 +1,57 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +import{IEnvironment} from './IEnvironment' + +export const environment: IEnvironment= { + production: false, + apiServerUrl: "http://localhost:8096", + standalone: true, +}; + +/* + * For easier debugging in development mode, you can import the following file + * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. + * + * This import should be commented out in production mode because it will have a negative impact + * on performance if an error is thrown. + */ +// import 'zone.js/dist/zone-error'; // Included with Angular CLI. diff --git a/ui/ui-frontend/projects/pastis/src/environments/environment.ts b/ui/ui-frontend/projects/pastis/src/environments/environment.ts new file mode 100644 index 000000000..1d0181dc7 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/environments/environment.ts @@ -0,0 +1,56 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +import{IEnvironment} from './IEnvironment' + +export const environment: IEnvironment= { + production: false, + standalone: false +}; + +/* + * For easier debugging in development mode, you can import the following file + * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. + * + * This import should be commented out in production mode because it will have a negative impact + * on performance if an error is thrown. + */ +// import 'zone.js/dist/zone-error'; // Included with Angular CLI. diff --git a/ui/ui-frontend/projects/pastis/src/favicon.ico b/ui/ui-frontend/projects/pastis/src/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f6af229159b75b54ba15c1ba98a25e555ceb9f43 GIT binary patch literal 2270 zcmb7FUrbYH6#qK^fDhZlGUnUjmYA3<@r^$(bA+hK3(J;l$sT6>i<#M$Y<n1UW1F%5 z8Qm-jX34}Vanpjpt&1CwL0bmxy$W<~ZA(N&dZqNbVzswKT4;Orom+3ydvAeontShe ze&?Luz5TxP{XRl;^tW*%q4!OMD<<SsLdX_+QHX4%7vd`!d#0I8*#@OFQ`Ju0L~n1g z_lmj9-_00!mgB;1_hZ51NrnG)&r+ZDcQFR<)%Mbf8-Ep>s<!K}@Lu2F1bOl;-yb;g z-G%^T*~L3qRt(L+awdjCz<rz+B(ef23i9%qjE9PsG`?%_R@4_S52YXgNwv4D%;# zb|c$#2B%Ci<mEX|8gpk`N_dC!Y9c0TYNO#<$fVO6JReAiBGCV8micjh&}@2r(WKRC z#JJkV`Z)Nu`cvpRZ&8OdKGx&+_tSYrUd!GCI^VU<>OymyNu}Y~_Ih~t#kb%@?Uyho zL^XVBAT~V><BX-cbz7A#IOJRxbT~)UIp`0y4uZbC0S><Y9<;nu5AF_Ip)?If*O$Zo zab0XHkB0?KJSIGW#>#KNP<a9_?QenKck7|!6C()YK~1h2z&XJF^mla|)iLxhfA%$e zvAGO>uK671B6IM^_rJndTWX=l&;|?75`{_>814U`c=qO)0;JBf89!V;@F5&6uY{5A zKc(<J)(ee04#Aa=PeODmtS-^`+5P5GHb*86lQ){c*LoOyW<#zfwXg_xXwM8cT?4=6 zA4o4|a<M`KX&-xUE0QvcN#Ly}xZ8OQl24R-C{EX4sQEm!eN+R1zV<?tIZW_)Q(?C! zo&%l_lHx4PN0q#Cj`PBgaH>KFztp}A$#_JDHBZ!?hb-sP1eO8BM?q+>djo!ZpTO9K z-AiVo9??E&S~6jYz(h|YTtBoPEC<&>^gdfKE6~L>x=fcU;)1rn3l`*o{S9wQ+|#$r zd1!W+?Qe5w=+@|3e%LvxNmv2ExfXo=5T?r#5mJh5oR5i~-eP8-tS5!nPEn+CBL4xr zy*UJjKZrp3IX&tv>ba?Ehjd;H>W`xio=(JKs_Nz4*+(g;uX_yVPR1Zbxs!1b9#9<| zXvped*yTbwBwX{kSF-xOI{w(xG|bNfEX+~;rut9Mgc9VNvfCBs8|5#V9IzSjtXhr5 zXF_m)z-q+v1$oir^Q@+{EDO;4p#D^mucNb?e#7WW{e$`$bT~$+{_nIMJzgY}$h_2l z0WtI=<9DPmv#(AU8W~-S{fRn>`-|>hQSjad+{Zk3(-olmg6eZcaM-bq*|T3-H{QwR mz88rSWE*)(UL#ZFC1NM*$q(6AN$*(A4ePKTd62K3^8OFP<)ixm literal 0 HcmV?d00001 diff --git a/ui/ui-frontend/projects/pastis/src/index.html b/ui/ui-frontend/projects/pastis/src/index.html new file mode 100644 index 000000000..a5cffc42a --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/index.html @@ -0,0 +1,25 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>Vitam-UI</title> + <base href="/"> + + <meta content="width=device-width, initial-scale=1" name="viewport"> + <link href="favicon.ico" rel="icon" type="image/x-icon"> +</head> +<body> +<app-root> <!-- selector from app.component.ts --> + + <!-- loading layout replaced by app after startupp --> + <div class="app-loading"> + <div class="logo"></div> + <svg class="spinner" viewBox="25 25 50 50"> + <circle class="path" cx="50" cy="50" fill="none" r="20" stroke-miterlimit="10" stroke-width="2"> + </circle> + </svg> + </div> + +</app-root> +</body> +</html> diff --git a/ui/ui-frontend/projects/pastis/src/main.ts b/ui/ui-frontend/projects/pastis/src/main.ts new file mode 100644 index 000000000..2478b33ce --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/main.ts @@ -0,0 +1,48 @@ +/* + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +import { enableProdMode } from '@angular/core'; +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + +import { AppModule } from './app/app.module'; +import { environment } from './environments/environment'; + +if (environment.production) { + enableProdMode(); +} + +platformBrowserDynamic().bootstrapModule(AppModule) + .catch(err => console.error(err)); diff --git a/ui/ui-frontend/projects/pastis/src/polyfills.ts b/ui/ui-frontend/projects/pastis/src/polyfills.ts new file mode 100644 index 000000000..4c6215207 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/polyfills.ts @@ -0,0 +1,64 @@ +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), + * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. + * + * Learn more in https://angular.io/guide/browser-support + */ + +/*************************************************************************************************** + * BROWSER POLYFILLS + */ + +/** IE10 and IE11 requires the following for NgClass support on SVG elements */ +// import 'classlist.js'; // Run `npm install --save classlist.js`. + +/** + * Web Animations `@angular/platform-browser/animations` + * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. + * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). + */ +// import 'web-animations-js'; // Run `npm install --save web-animations-js`. + +/** + * By default, zone.js will patch all possible macroTask and DomEvents + * user can disable parts of macroTask/DomEvents patch by setting following flags + * because those flags need to be set before `zone.js` being loaded, and webpack + * will put import in the top of bundle, so user need to create a separate file + * in this directory (for example: zone-flags.ts), and put the following flags + * into that file, and then add the following code before importing zone.js. + * import './zone-flags.ts'; + * + * The flags allowed in zone-flags.ts are listed here. + * + * The following flags will work for all browsers. + * + * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame + * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick + * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames + * + * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js + * with the following flag, it will bypass `zone.js` patch for IE/Edge + * + * (window as any).__Zone_enable_cross_context_check = true; + * + */ + +/*************************************************************************************************** + * Zone JS is required by default for Angular itself. + */ +import 'zone.js/dist/zone'; // Included with Angular CLI. + +import '@angular/localize/init'; + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ diff --git a/ui/ui-frontend/projects/pastis/src/sass/_buttons.scss b/ui/ui-frontend/projects/pastis/src/sass/_buttons.scss new file mode 100644 index 000000000..cc519429a --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/sass/_buttons.scss @@ -0,0 +1,189 @@ +@import "colors"; +/// Pastis background button colors +/// @author Paulo Pimenta + + +/* +--- +name: Button +category: Components +--- + +Buttons can be used with `<a>`, `<button>`, and `<input>` elements. + +Types of buttons: +- Default: Standard button +- Primary: Provides extra visual weight and identifies the primary action in a set of buttons +- Success: Indicates a successful or positive action + +```types.html + +<md-button class="md-raised pastis-btn-primary-hover">Pastis Basic</md-button> +<md-button cclass="md-warn">Pastis Bootstrap</md-button> +<md-button class="md-raised md-warn">Pastis button</md-button> + +``` +*/ +$buttons: ( + primary:( + enabled: var(--vitamui-primary), + disabled: var(--vitamui-primary-50), + hover: var(--vitamui-primary), + focus: var(--vitamui-primary) + ), + secondary:( + enabled: var(--vitamui-secondary), + disabled: var(--vitamui-secondary-50), + hover: var(--vitamui-secondary), + focus: var(--vitamui-secondary) + ), + variant:( + enabled: map-get($colors, 'black-low'), + disabled: map-get($colors, 'black-disabled'), + hover: map-get($colors, ' black-low'), + focus: map-get($colors, 'black-low') + ), + leading:( + enabled: #FFFFFF, + disabled: map-get($colors, 'white-disabled'), + hover: #FFFFFF, + focus: #FFFFFF + ) +); + +$rounded-standard-buttons: ( + standard-primary:( + enabled: var(--vitamui-primary), + disabled: map-get($colors, 'primay-disabled'), + hover: --vitamui-primary-200, + focus: --vitamui-primary-400 + ), + standard-secondary:( + enabled: var(--vitamui-secondary), + disabled: map-get($colors, 'secondary-disabled'), + hover: var(--vitamui-secondary), + focus: var(--vitamui-secondary) + ), + standard-white:( + enabled: #FFFFFF, + disabled: map-get($colors, 'white-disabled'), + hover: #FFFFFF, + focus: #FFFFFF + ) +); + +$rounded-mini-buttons:( + neutral:( + enabled: #FFFFFF, + disabled: map-get($colors, 'white-disabled'), + hover: #FFFFFF, + focus: #FFFFFF + ), + primary:( + enabled: var(--vitamui-primary), + disabled: var(--vitamui-primary), + hover: var(--vitamui-primary), + focus: var(--vitamui-primary) + ), + secondary:( + enabled: var(--vitamui-secondary-300), + disabled: var(--vitamui-secondary-50), + hover: map-get($colors, 'secondary-secondary'), + focus: map-get($colors, 'secondary-secondary') + ) +); + + /////////////////////////* Standard buttons */\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ + +/*Defines buttons border*/ +$buttons-border:( + primary: none, + secondary: none, + variant: none, +); +$buttons-border-leading:( + enabled: 1px solid var(--vitamui-secondary-300), + disabled: 1px solid var(--vitamui-secondary-300), + hover: 1px solid var(--vitamui-secondary-300), + focus: 1px solid var(--vitamui-secondary-300), +); + +/*Defines buttons text-color*/ +$buttons-text-color:( + primary: map-get($colors, 'white-highlight'), + secondary: map-get($colors, 'white-highlight'), + variant: map-get($colors, 'white-highlight'), +); + +/*Defines buttons text-color for leading button types*/ +$buttons-text-color-leading:( + enabled: var(--vitamui-secondary-300), + disabled: map-get($colors, 'secondary-disabled'), + hover: var(--vitamui-secondary-300), + focus: var(--vitamui-secondary-300), +); + + +/*Defines buttons box-shadow*/ +$buttons-box-shadow:( + enabled: (0px 1px 3px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.12), 0px 0px 2px rgba(0, 0, 0, 0.14)), + disabled: none, + hover: (0px 1px 10px rgba(0, 0, 0, 0.2), 0px 4px 5px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)), + focus: none, +); + +/*Defines buttons box-shadow*/ +$buttons-font-text:( + primary: (font-family: Roboto,font-style: normal,font-weight: 500,font-size: 14px,line-height: 16px,text-align:center), + secondary: (font-family: Roboto,font-style: normal,font-weight: 500,font-size: 14px,line-height: 16px,text-align:center), + variant: (font-family: Roboto,font-style: normal,font-weight: 500,font-size: 14px,line-height: 16px,text-align:center), + leading: (font-family: Roboto,font-style: normal,font-weight: 500,font-size: 14px,line-height: 16px,text-align:center), +); + /////////////////////////\\\\\\\\\\\\///////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ + + +/////////////////////////* Rounded buttons */\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ + + $rounded-buttons-border:( + standard-primary: none, + standard-secondary: none, + standard-white: none, + mini-white: 1px solid var(--vitamui-primary), + mini-red: none, + mini-blue: none, +); + +.pastis-btn-rounded-mini-primary{ + @extend .pastis-btn-rounded-mini-primary-enabled; +} + +.pastis-btn-rounded-mini-primary:hover{ + @extend .pastis-btn-rounded-mini-primary-hover; +} + +.pastis-btn-rounded-mini-primary:disabled{ + @extend .pastis-btn-rounded-mini-primary-disabled; +} + +.pastis-btn-rounded-mini-primary:active { + @extend .pastis-btn-rounded-mini-primary-focus; +} + +.pastis-btn-rounded-mini-neutral{ + @extend .pastis-btn-rounded-mini-neutral-enabled; +} + +.pastis-btn-rounded-mini-neutral:hover{ + @extend .pastis-btn-rounded-mini-neutral-hover; +} + +.pastis-btn-rounded-mini-neutral:disabled{ + @extend .pastis-btn-rounded-mini-neutral-disabled; +} + +.pastis-btn-rounded-mini-neutral:active { + @extend .pastis-btn-rounded-mini-neutral-focus; +} + + + diff --git a/ui/ui-frontend/projects/pastis/src/sass/_colors.scss b/ui/ui-frontend/projects/pastis/src/sass/_colors.scss new file mode 100644 index 000000000..5f9b11b94 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/sass/_colors.scss @@ -0,0 +1,50 @@ +/// Pastis base colors +/// @author Paulo Pimenta +$colors: ( + + /* Primary */ + primary-50: #F7EBFA, + primary-100: #e6c3ef, + primary-300: #C672D9, + primary-400 : #B54ACE, + primary-500 : #9c31b5, + primary-700: #571B64, + + + /* Secondary */ + secondary-disabled:#BDD9EC, + secondary-50:#EAF2FA, + secondary-200: #96BDE8, + secondary-300: #6DA2DF, + secondary-400: #4388D6, + secondary-500: #2563A9, + + /*Surface*/ + surface-tabs: #604379, + surface-snackbar:#604379, + + /* Variant */ + black-low:#C1C1C1, + black-disabled:#E7E5E5, + black-medium:#747272, + black-height: #232323, + black-standard: #474747, + grey-900: #212121, + grey-600: #757575, + grey-400: #BDBDBD, + ligthly-purple: #F6F3FB, + + /* White */ + white-highlight: #FFFFFF, + white-disabled:rgba(255, 255, 255, 0.57) + +); + +$input-colors: ( + enabled: #F0F0F0, + disabled:#F0F0F0, + hover :#65B2E4, + activated :#747272, + error:#FF0000, + valid:#50D166, +); diff --git a/ui/ui-frontend/projects/pastis/src/sass/_dropdown.scss b/ui/ui-frontend/projects/pastis/src/sass/_dropdown.scss new file mode 100644 index 000000000..26e1d641b --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/sass/_dropdown.scss @@ -0,0 +1,140 @@ +//Generate Pastis dropdown lists +@import "colors"; + + +/// Pastis dropdown border colors +/// @author Paulo Pimenta +$dropdowns-border: ( + button1:( + enabled: (1px solid var(--vitamui-secondary-300)), + disabled: (1px solid var(--vitamui-secondary-200)), + hover: (1px solid var(--vitamui-secondary-200)), + focus: (1px solid var(--vitamui-secondary-200)), + ), + button2:( + enabled: (1px solid #F0F0F0), + disabled: '', + hover: (1px solid #F0F0F0), + focus: (1px solid #F0F0F0) + ), + leading:( + enabled: (1px solid var(--vitamui-secondary-300)), + disabled: (1px solid map-get($colors, 'secondary-disabled')), + hover: (1px solid var(--vitamui-secondary-300)), + focus: (1px solid var(--vitamui-secondary-300)) + ), + search:( + enabled: '', + disabled: '', + hover: '', + focus: '' + ), + special:( + enabled: (1px solid #5CBAA9) + ) +); + +$dropdowns-text: ( + button1:( + enabled: var(--vitamui-secondary-300), + disabled: var(--vitamui-secondary-300), + hover: var(--vitamui-secondary-300), + focus: var(--vitamui-secondary-300) + ), + button2:( + enabled: var(--vitamui-primary), + disabled: var(--vitamui-primary), + hover: var(--vitamui-primary), + focus:var(--vitamui-primary) + ), + leading:( + enabled: var(--vitamui-secondary-300), + disabled: var(--vitamui-secondary-300), + hover: var(--vitamui-secondary-300), + focus: var(--vitamui-secondary-300) + ), + search:( + enabled: #FFFFFF, + disabled: #FFFFFF, + hover: #FFFFFF, + focus: #FFFFFF + ), + special:( + enabled: #9D9D9D, + ) +); + +$dropdowns-background: ( + button1:( + enabled: #FFFFFF, + disabled: #FFFFFF, + hover: #FFFFFF, + focus: #FFFFFF, + ), + button2:( + enabled: #FFFFFF, + disabled: #FFFFFF, + hover: #FFFFFF, + focus:#FFFFFF + ), + leading:( + enabled: #FFFFFF, + disabled: #FFFFFF, + hover: #FFFFFF, + focus: #FFFFFF + ), + search:( + enabled: #FF833C, + disabled: #FF833C, + hover: #FF833C, + focus: #FF833C + ), + special:( + enabled: #FFFFFF, + ) +); + + +/*Defines dropdown font-text*/ +.mat-select-trigger { + //@extend .dropdown-font-text; + @extend .text-text-normal; + /* display: block; + max-height: 19px; + padding-left: 10px; + padding-right: 20px;*/ +} + +.dropdown-font-text { + + padding-top: 4px; + height: 20px; + max-height: 51px; + + /* Body 2 - Roboto Regular */ + + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 20px; + /* identical to box height, or 143% */ + /* Black -- Hight */ +}; + +/*Defines dropdown default style*/ +.dropdown { + border-radius: 50px; + height: 49px; + background: #FFFFFF; + max-height: 40px; +} + +/*Defines dropdown box-shadow*/ + +$dropdowns-box-shadow: ( + enabled: (0px 1px 3px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.12), 0px 0px 2px rgba(0, 0, 0, 0.14)), + disabled: '', + hover: (0px 1px 10px rgba(0, 0, 0, 0.2), 0px 4px 5px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)), + focus: (0px 1px 3px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.12), 0px 0px 2px rgba(0, 0, 0, 0.14)), +) diff --git a/ui/ui-frontend/projects/pastis/src/sass/_font.scss b/ui/ui-frontend/projects/pastis/src/sass/_font.scss new file mode 100644 index 000000000..0c724496b --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/sass/_font.scss @@ -0,0 +1,451 @@ + + +.pastis-font-button-white { + position: absolute; + left: 38.89%; + right: 52.08%; + top: 93.27%; + bottom: 5.09%; + + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 15px; + line-height: 18px; + text-align: center; + + color: #FFFFFF; +} +.pastis-font-table-header { + + //styleName: Text/Text-normal-bold; + @extend .text-text-normal-bold; + color: #212121; + +} + +.pastis-font-button-icon { + + font-family: Roboto; + font-style: normal; + + font-size: 14px; + line-height: 18px; + + align-items: center; + letter-spacing: 0.5px; + text-transform: uppercase; + color: #FFFFFF; + flex: none; + margin: 0px 10px; +} + + +.pastis-table-content { + //styleName: Text/Text-normal; + @extend .text-text-normal; + color: #212121; + +} + + +.pastis-table-content-with-errors { + @extend .pastis-table-content; + color: darkred; +} + +/* Body 2 - Roboto Regular */ +.pastis-body-2 { + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 20px; + align-items: center; + text-align: center; +} + +/* Body 2 - Roboto medium */ +.pastis-font-roboto-medium { + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 16px; + align-items: center; + text-align: center; + letter-spacing: 0.75px; +} + + +/* Body 2 - Roboto Regular */ +.pastis-font-roboto-regular { + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 20px; + /* identical to box height, or 143% */ +} + +.pastis-font-roboto-snack { + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 15px; + color: white; + opacity: 0.4; + /* identical to box height, or 133% */ +} + +.pastis-font-headline-6 { + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 16px; + line-height: 28px; + /* or 175% */ + letter-spacing: 0.5px; +} + +.pastis-font-informations { + /* INFORMATIONS */ + font-family: Roboto; + font-style: normal; + font-weight: bold; + font-size: 14px; + line-height: 16px; + /* identical to box height */ + font-variant: small-caps; +} + +.pastis-font-label { + /* Label */ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 16px; + /* or 114% */ + letter-spacing: 0.75px; +} + +.pastis-font-label-small { + /* Label */ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 16px; + font-variant: small-caps; + /* or 114% */ + letter-spacing: 0.75px; +} + +.pastis-font-label-historique { + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 16px; + display: flex; + align-items: center; + font-variant: small-caps; + letter-spacing: 0.75px; + +} + +.pastis-font-headline6 { + + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 20px; + line-height: 23px; +} + +.pastis-font-popup-subtitle{ + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 20px; + line-height: 35px; + letter-spacing: 0.15px; + color: #485053; +} + +.pastis-font-popup-title{ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 26px; + line-height: 35px; + letter-spacing: 0.15px; + color: #485053; +} + +.pastis-input-text { + @extend .pastis-black-medium; + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 28px; +} + +.pastis-input-placeholder-text { + /* Caption - Roboto Regular */ + @extend .pastis-black-low; + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 12px; + line-height: 16px; + letter-spacing: 0.4px; +} + +.pastis-font-menu{ + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 15px; + line-height: 18px; + display: flex; + align-items: center; +} + +.pastis-font-add-metadata-items{ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 15px; + line-height: 60px; +} + +.pastis-textarea-comment{ + + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 20px; + /* identical to box height, or 143% */ + + display: flex; + align-items: center; + letter-spacing: 0.25px; + + /* Black - Low */ + + color: #9D9D9D; +} + +.pastis-toaster-font{ + .pastis-toaster-font{ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 15px; + line-height: 20px; + /* identical to box height, or 133% */ + + color: #FFFFFF; + } +} + +// Font from FIGMA +.pastis-font-h1{ + /* H1 - Roboto Light */ + font-family: Roboto; + font-style: normal; + font-weight: 300; + font-size: 96px; + line-height: 112px; + /* identical to box height */ + letter-spacing: -1.5px; + color: #C4C4C4; +} + +.pastis-font-h2{ + /* H2 - Roboto Light */ + font-family: Roboto; + font-style: normal; + font-weight: 300; + font-size: 60px; + line-height: 70px; + /* identical to box height */ + letter-spacing: -0.5px; + color: #C4C4C4; +} + +.pastis-font-h3{ + /* H3 - Roboto Regular */ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 48px; + line-height: 56px; + /* identical to box height */ + color: #C4C4C4; +} +.pastis-font-h3-bold{ + /* H3 - Roboto Regular */ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 48px; + line-height: 56px; + /* identical to box height */ + color: #C4C4C4; +} + +.pastis-font-h4{ + /* H4 - Roboto Regular */ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 34px; + line-height: 40px; + /* identical to box height */ + letter-spacing: 0.25px; + color: #C4C4C4; +} + +.pastis-font-h5{ + /* H5 - Mulish Regular */ + font-family: Mulish; + font-style: normal; + font-weight: 800; + font-size: 24px; + line-height: 32px; + letter-spacing: -0.5px; + @extend .pastis-grey-900; +} + +.pastis-font-h6{ + /* H6 - Roboto Medium */ + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 20px; + line-height: 23px; + /* identical to box height */ + color: #C4C4C4; +} + +.pastis-font-body-medium{ + /* Body 1 - Roboto Medium */ + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 28px; + /* identical to box height, or 200% */ + color: #C4C4C4; +} + +.pastis-font-body-regular { + /* Body 2 - Roboto Regular */ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 20px; + /* identical to box height, or 143% */ + color: #C4C4C4; +} + +.pastis-font-subtitle-regular{ + /* Subtitle 1 - Roboto Regular */ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 16px; + line-height: 24px; + /* identical to box height, or 150% */ + letter-spacing: 0.15px; + color: #C4C4C4; +} + +.pastis-font-regular-medium { + /* Subtitle 2 - Roboto Medium */ + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 24px; + /* identical to box height, or 171% */ + color: #C4C4C4; +} + +.pastis-font-button { + /* Button - Roboto Medium */ + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 16px; + /* identical to box height, or 114% */ + color: #C4C4C4; +} + +.pastis-font-caption { + font-family: Mulish; + font-style: normal; + font-weight: normal; + font-size: 12px; + line-height: 16px; + /* identical to box height, or 133% */ + letter-spacing: -0.2px; +} + +.pastis-font-caption-bold { + @extend .pastis-font-caption; + font-weight: bold; +} + +.pastis-font-text-large { + font-family: Mulish; + font-style: normal; + font-weight: normal; + font-size: 20px; + line-height: 28px; +} + +.pastis-font-text-large-bold { + @extend .pastis-font-text-large; + font-weight: bold; +} + +//styleName: X_Text/Text-normal; +.text-text-normal { + font-family: Mulish; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 22px; + letter-spacing: 0.10000000149011612px; + text-align: left; +} + +.text-text-medium { + //styleName: Text/Text-medium; + font-family: Mulish; + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: 24px; + letter-spacing: 0px; + text-align: left; +} + +.text-text-normal-bold { + //styleName: Text/Text-normal-bold; + font-family: Mulish; + font-size: 14px; + font-style: normal; + font-weight: 700; + line-height: 22px; + letter-spacing: 0.10000000149011612px; + text-align: left; +} diff --git a/ui/ui-frontend/projects/pastis/src/sass/_input.scss b/ui/ui-frontend/projects/pastis/src/sass/_input.scss new file mode 100644 index 000000000..5f85e30e0 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/sass/_input.scss @@ -0,0 +1,33 @@ +@import 'colors'; + + $input-border-colors:( + enabled: 1px solid map-get($input-colors, 'enabled'), + disabled:1px solid map-get($input-colors, 'disabled'), + hover :1px solid map-get($input-colors, 'hover'), + activated : 1px solid map-get($input-colors, 'activated'), + error: 1px solid map-get($input-colors, 'error'), + valid: 1px solid map-get($input-colors, 'valid'), +); + +$input-box-shadow:( + enabled: (0px 1px 3px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.12), 0px 0px 2px rgba(0, 0, 0, 0.14)), + disabled: none, + hover : (0px 1px 10px rgba(0, 0, 0, 0.2), 0px 4px 5px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)), + activated : none, + error: none, + valid: none, +); + + +.pastis-table-input-border{ + border-radius: 5px; + border: 1px solid #E0E0E0; + box-sizing: border-box; + box-shadow: 0px 0px 2px rgba(33, 33, 33, 0.2), 0px 1px 4px rgba(33, 33, 33, 0.05); +} + + + + + + diff --git a/ui/ui-frontend/projects/pastis/src/sass/_layout.scss b/ui/ui-frontend/projects/pastis/src/sass/_layout.scss new file mode 100644 index 000000000..704f101c1 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/sass/_layout.scss @@ -0,0 +1,390 @@ +@import 'mixins'; + + + + +//Pastis class header without sidebar +/// @author Paulo Pimenta +.pastis-header-no-sidebar { + position: absolute; + width: 1440px; + height: 288px; + left: 0px; + top: -2px; + background: #ECEEF3; +} + +//Pastis class header with sidebar +/// @author Paulo Pimenta +.pastis-header-with-sidebar { + @extend .pastis-header-no-sidebar; + width: 952px; +} + +.pastis-content-metadata { + position: absolute; + width: 778px; + height: 60px; + top: 359px; + right: 116px; + left: 58px; + background: #FFFFFF; +} + +.pastis-slide-nav-profile { + + max-width: 480px; + height: auto; + + //bottom: 100px; + background: #FFFFFF; +} + +.pastis-slide-nav-header { + position: absolute; + height: 200px; + background: #5CBAA9; +} + +.pastis-page-container { + + position: relative; + width: 100%; + height: 100%; +} + +.pastis-tab-container { + right: 40px; + left: 40px; + // Compensate the header of 200px + the space in beetween + //height: auto; + height: 500px; + + //overflow: auto; + width: 100%; +} + +.pastis-table { + width: 80%; + height: 612px; + left: 150px; + margin-right: 120px; + /*Material*/ + height: auto; + overflow: auto; + background: #FFFFFF !important; + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.14) !important; + border-radius: 5px !important; +} + + +.pastis-metadata-table { + background: #FFFFFF; + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.14); + border-radius: 5px; +} + +.pastis-col{ + text-align: left; + +} + +.pastis-col:first-child { + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; +} + +.pastis-col:last-child { + border-top-right-radius: 5px; + border-bottom-right-radius: 5px; +} + +.pastis-metadata-table-col-large { + @extend .pastis-col; + width: 203px; + height: 50px; + +} + +.pastis-metadata-table-col-medium { + @extend .pastis-col; + width: 140px; + height: 50px; + +} + + + +.pastis-metadata-table-col-small { + @extend .pastis-col; + width: 120px; + height: 50px; + +} + +.pastis-side-nav { + background: #FFFFFF; + box-shadow: 20px 20px 80px rgba(168, 153, 153, 0.5); +} + +.pastis-ico-svg { + display: block; + margin: auto; +} + +.pastis-ico-arrow-right{ + + font-size: 14px; + line-height: 22px; + margin-left: 10px; + vertical-align: middle; +} + +.pastis-popup-modal-box{ + mat-dialog-container { + //padding: 0px !important; + //width: 100%; + //max-height: 100%; + background: #F7F8FB; + /* Elevation 3 */ + box-shadow: 0px 11px 15px rgba(0, 0, 0, 0.1), 0px 9px 46px rgba(0, 0, 0, 0.06), 0px 24px 38px rgba(0, 0, 0, 0.07); + border-radius: 20px; + overflow: hidden; + } +} + + +/* width */ +::-webkit-scrollbar { + width: 12px; + height: 12px; +} + +/* Track */ +::-webkit-scrollbar-track { + background: var(--vitamui-primary-50); +} + +/* Handle */ +::-webkit-scrollbar-thumb { + // background: var(--vitamui-primary-50); + // background: #F7F8FB; + border-radius: 100px; + + background : var(--vitamui-primary); + // background: #C1C1C1 +} + +/* Handle on hover */ +::-webkit-scrollbar-thumb:hover { + background: var(--vitamui-primary-700) ; +} + +/*For non webkit browsers, such as Firefox/* + +/* (values chosen for visual consistency with Firefox) */ +:root{ + //Thumb and track colors + scrollbar-color: var(--vitamui-primary) !important; + scrollbar-width: thin !important; + scrollbar-base-color: var(--vitamui-primary-50) !important; +} + +.mat-checkbox .mat-checkbox-ripple{ + display: none !important; +} + +/* PASTIS Tooltip */ + +.pastis-tooltip-class { + /* Black - Medium */ + background-color: var(--vitamui-primary) !important; + border-radius: 5px !important; + padding: 15px !important; + /* Caption - Roboto Regular */ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 12px; + line-height: 16px; + /* or 133% */ + letter-spacing: 0.4px; + /* Surface - White */ + color: #FFFFFF; +} + + +/* style de la flèche du tooltip*/ +.tooltip-right::after{ + border-color: transparent var(--vitamui-primary) transparent transparent !important +} + +.tooltip-left::after{ + border-color: transparent transparent transparent var(--vitamui-primary) !important +} + +.tooltip-top::after{ + border-color: var(--vitamui-primary) transparent transparent transparent !important +} + +.tooltip-bottom::after{ + border-color: transparent transparent var(--vitamui-primary) transparent !important +} + +.pastis-text-area { + height: 40px; + background: #FFFFFF; + outline: none; + display: flex; + align-items: center; + text-align: center; + letter-spacing: 0.25px; + resize: none; + color: #757575;; +} + + + + + +/* Hide the browser's default checkbox */ + +/* Styling Pastis Checkbox Starts */ +.checkbox-label { + display: inline; + position: relative; + margin: auto; + cursor: pointer; + font-size: 22px; + line-height: 24px; + clear: both; + vertical-align: middle !important; + +} + + +//Pastis checkbox +.checkbox-label input { + position: absolute; + opacity: 0; + cursor: pointer; +} + +.checkbox-label .checkbox-custom { + position: absolute; + top: 0px; + left: 0px; + height: 16px; + width: 16px; + background-color: transparent; + border-radius: 3px; + transition: all 0.3s ease-out; + -webkit-transition: all 0.3s ease-out; + -moz-transition: all 0.3s ease-out; + -ms-transition: all 0.3s ease-out; + -o-transition: all 0.3s ease-out; + border: 1px solid var(--vitamui-secondary-300); +} + + +.checkbox-label input:checked ~ .checkbox-custom { + background-color: #FFFFFF; + border-radius: 3px; + -webkit-transform: rotate(0deg) scale(1); + -ms-transform: rotate(0deg) scale(1); + transform: rotate(0deg) scale(1); + opacity:1; + border: 1px solid var(--vitamui-secondary-300); +} + + +.checkbox-label .checkbox-custom::after { + position: absolute; + content: ""; + left: 12px; + top: 12px; + height: 0px; + width: 0px; + border-radius: 3px; + border: 1px solid var(--vitamui-secondary-300); + border-width: 0 3px 3px 0; + -webkit-transform: rotate(0deg) scale(0); + -ms-transform: rotate(0deg) scale(0); + transform: rotate(0deg) scale(0); + opacity:1; + transition: all 0.3s ease-out; + -webkit-transition: all 0.3s ease-out; + -moz-transition: all 0.3s ease-out; + -ms-transition: all 0.3s ease-out; + -o-transition: all 0.3s ease-out; +} + + +.checkbox-label input:checked ~ .checkbox-custom::after { + -webkit-transform: rotate(45deg) scale(1); + -ms-transform: rotate(45deg) scale(1); + transform: rotate(45deg) scale(1); + opacity:1; + left: 6px; + top: 1px; + width: 3px; + height: 10px; + border: 1px solid var(--vitamui-secondary-300); + border-width: 0 2px 2px 0; + background-color: transparent; + border-radius: 0; +} + +.list-profile-table { + width: 100%; + max-height: 365px; + border-spacing: 0 5px; + border-radius: 5px; + background-color: transparent; + +} +.pastis-table-row-header { + border-width: 5px; + border-color: transparent; + background-color: #FFFFFF; + border-radius: 5px; + height: 60px !important; +} + +.pastis-table-row { + @extend .pastis-table-row-header; +} + +.pastis-table-row:hover{ + @extend .pastis-table-row; + background-color: #F6F3FB; + box-shadow: 0px 1px 4px rgba(33, 33, 33, 0.2), 0px 2px 8px rgba(33, 33, 33, 0.05); + cursor: pointer; +} + + + .pastis-panel-shadow-primary-500 { + box-shadow: 0px 1px 4px rgba(112, 35, 130, 0.4), 0px 2px 8px rgba(112, 35, 130, 0.2); + } + + .pastis-panel-shadow { + box-shadow: 0px 2px 8px rgba(33, 33, 33, 0.2), 0px 4px 16px rgba(33, 33, 33, 0.05); + } + + .pastis-panel-radius-5 { + border-radius: 5px; + } + + .pastis-panel-radius-10 { + border-radius: 10px; +} + +.pastis-entete-1-separator { + position: absolute; + width: 3px; + left: 90px; + top: 0.83%; + bottom: 0.83%; + @extend .pastis-bgcolor-grey-400; +} + diff --git a/ui/ui-frontend/projects/pastis/src/sass/_mixins.scss b/ui/ui-frontend/projects/pastis/src/sass/_mixins.scss new file mode 100644 index 000000000..6065a093f --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/sass/_mixins.scss @@ -0,0 +1,241 @@ +//Generate Pastis colors +/// @author Paulo Pimenta + +@import "colors"; +@import "buttons"; +@import "dropdown"; +@import "input"; +@import "font"; +/// Generate base colors for PASTIS +/// @author Paulo Pimenta +/// @see $colors + +@mixin color-modifiers($attribute) { + @each $name, $hex in $colors { + &-#{$name} { + #{$attribute}: $hex; + } + } +} + +/// Generate inputs for PASTIS +/// @author Paulo Pimenta +/// @see $buttons +/// @output Pastis buttons + +@mixin input-modifiers($attribute, $list) { + @each $name, $value in $list { + &-#{$name} { + @extend .pastis-input; + #{$attribute}: map-get($list,$name); + } + } +} + + +/// Generate buttons for PASTIS +/// @author Paulo Pimenta +/// @see $buttons +/// @output Pastis buttons + + +@mixin button-modifiers($attribute, $prefix: '-', $separator: '-') { + //@debug $name'....'#{$k}':'$v; + @each $name, $button in $buttons { + &#{$prefix}#{$name} { + @each $type, $value in $button { + &#{$separator}#{$type} { + //Text-colors and border + @if $name == leading { + #{color}:map-get($buttons-text-color-leading,$type); + #{border}: map-get($buttons-border-leading,$type); + } + #{color}:map-get($buttons-text-color,$name); + #{border}: map-get($buttons-border,$name); + //Box-shadow + #{box-shadow}:map-get($buttons-box-shadow,$type); + // Font-button - has sub-items + @each $k, $v in map-get($buttons-font-text,$name){#{$k}:$v;} + @extend .pastis-btn; + #{$attribute}: $value; + } + } + } + } +} + +@mixin rounded-standard-button-modifiers($attribute, $prefix: '-', $separator: '-') { + @each $name, $button in $rounded-standard-buttons { + &#{$prefix}#{$name} { + @each $type, $value in $button { + &#{$separator}#{$type} { + //Box-shadow (reused from button) + #{box-shadow}:map-get($buttons-box-shadow,$type); + #{border}:map-get($rounded-buttons-border,$name); + //Box-shadow (mini-white-only)rounded-buttons-border + @if $name == mini-white{ + #{box-shadow}:none; + } + //Rounded button Border + @each $k, $v in map-get($buttons-font-text,$name){#{$k}:$v; } + @extend .pastis-btn-rounded; + #{$attribute}: $value; + } + } + } + } +} + +@mixin rounded-mini-button-modifiers($attribute, $prefix: '-', $separator: '-') { + @each $name, $button in $rounded-mini-buttons { + &#{$prefix}#{$name} { + @each $type, $value in $button { + &#{$separator}#{$type} { + //Box-shadow (reused from button) + #{box-shadow}:map-get($buttons-box-shadow,$type); + #{border}:map-get($rounded-buttons-border,$name); + //Box-shadow (mini-white-only)rounded-buttons-border + @if $name == mini-white{ + #{box-shadow}:none; + } + //Rounded button Border + @each $k, $v in map-get($buttons-font-text,$name){#{$k}:$v; } + @extend .pastis-btn-rounded-mini; + #{$attribute}: $value; + } + } + } + } +} + + + +@mixin dropdown-modifiers($attribute, $class-iterator, $prefix: '-', $separator: '-') { + @each $name, $dropdown in $class-iterator { + &#{$prefix}#{$name} { + @each $type, $value in $dropdown { + &#{$separator}#{$type} { + #{box-shadow}: map-get($dropdowns-box-shadow, $type); + #{$attribute}: $value; + } + } + } + } +} + +@mixin dropdown-text-modifiers($attribute, $class-iterator, $prefix: '-', $separator: '-') { + @each $name, $dropdown in $class-iterator { + &#{$prefix}#{$name} { + @each $type, $value in $dropdown { + &#{$separator}#{$type} { + #{$attribute}: $value; + } + } + } +} +} + +@mixin mat-table-columns($columns) +{ + .mat-column- + { + @each $colName, $props in $columns { + $width: map-get($props, 'width'); + &#{$colName} + { + flex: $width; + width: $width; + + @if map-has-key($props, 'color') + { + color: map-get($props, 'color'); + } + } + } + } +} + + +/* Generates colors for Pastis. +Ex : .pastis-secondary-200 { + } +See _colors.scss */ + +.pastis { + @include color-modifiers('color'); +} + +/* Generates background colors for Pastis. +Ex : .pastis-bg-secondary-200 { + } +See _colors.scss */ +.pastis-bg { + @include color-modifiers('background'); +} + +.pastis-bgcolor { + @include color-modifiers('background-color'); +} +/* Generates buttons for Pastis. +Buttons can be primary, secondary; +Additionally they can be : +activated, disabled, hover and focus +Ex : .pastis-btn-primary-hover {} +See _buttons.scss */ + +.pastis-btn { + border-radius: 100px !important; + border : 0px; + outline: none; + @include button-modifiers('background'); +} + + +//Ex : .pastis-btn-rounded-primary-focus {} +//Ex : .pastis-btn-rounded-mini-white-hover {} + +.pastis-btn-rounded { + border-radius: 67px; + text-align: center; + width: 50px; + height: 50px; + outline-style: none; + @include rounded-standard-button-modifiers('background'); +} + +.pastis-btn-rounded-mini { + border-radius: 67px; + text-align: center; + width: 30px; + height: 30px; + outline-style: none; + @include rounded-mini-button-modifiers('background'); +} + +.pastis-dropdown-border { + @extend .dropdown; + @include dropdown-modifiers('border',$dropdowns-border); + } + + +.pastis-dropdown-background { + @extend .dropdown; + @include dropdown-modifiers('background-color',$dropdowns-background); +} + +.pastis-dropdown-text { + @extend .dropdown-font-text; + @include dropdown-text-modifiers('color',$dropdowns-text); +} + + +//Generate inputs. Ex : pastis-input-enabled, pastis-input-active +.pastis-input { + @include input-modifiers('border', $input-border-colors); + @include input-modifiers('box-shadow', $input-box-shadow); + @extend .pastis-input-text; + outline: none; + height: 50px; + box-sizing: border-box; + border-radius: 87px; +} diff --git a/ui/ui-frontend/projects/pastis/src/sass/_toaster.scss b/ui/ui-frontend/projects/pastis/src/sass/_toaster.scss new file mode 100644 index 000000000..b5471c200 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/sass/_toaster.scss @@ -0,0 +1,122 @@ + +.toast-center-center { + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} +.toast-top-center { + top: 0; + right: 0; + width: 100%; +} +.toast-bottom-center { + bottom: 0; + right: 0; + width: 100%; +} +.toast-top-full-width { + top: 0; + right: 0; + width: 100%; +} +.toast-bottom-full-width { + bottom: 0; + right: 10; + float: left; + width: 100%; +} +.toast-top-left { + top: 12px; + left: 12px; +} +.toast-top-right { + top: 12px; + right: 12px; +} +.toast-bottom-right { + right: 12px; + bottom: 12px; +} +.toast-bottom-left { + bottom: 12px; + left: 12px; +} + +/*Additional properties for button version + iOS requires the button element instead of an anchor tag. + If you want the anchor version, it requires `href="#"`.*/ +button.toast-close-button { + //padding: 0; + padding-right: 650px; + cursor: pointer; + float: right; + background: transparent; + border: 0; +} +.toast-container { + pointer-events: none; + position: fixed; + z-index: 999999; +} +.toast-container * { + box-sizing: border-box; +} +.toast-container .ngx-toastr { + position: relative; + overflow: hidden; + //margin: 0 0 6px; + padding: 15px 15px 15px 50px; + width: 300px; + //border-radius: 3px 3px 3px 3px; + background-position: 120px center; + background-repeat: no-repeat; + background-size: 24px; + box-shadow: 0 0 12px #999999; + color: #FFFFFF; + + font-family: Roboto; + font-style: normal; + font-weight: normal; + padding-left: 190px; +} +.toast-container .ngx-toastr:hover { + box-shadow: 0 0 12px #000000; + opacity: 1; + cursor: pointer; +} +.toast-container.toast-top-center .ngx-toastr, +.toast-container.toast-bottom-center .ngx-toastr { + width: 300px; + margin-left: left; + margin-right: auto; +} +.toast-container.toast-top-full-width .ngx-toastr, +.toast-container.toast-bottom-full-width .ngx-toastr { + width: 100%; + margin-left: auto; + margin-right: auto; +} +.ngx-toastr { + background-color: #030303; + pointer-events: auto; +} +.toast-success { + background-color: var(--vitamui-primary); +} +.toast-error { + background-color: #BD362F; +} +.toast-info { + background-color: #2F96B4; +} +.toast-warning { + background-color: #F89406; +} +.toast-progress { + position: absolute; + left: 0; + bottom: 0; + height: 4px; + background-color: #000000; + opacity: 0.4; +} diff --git a/ui/ui-frontend/projects/pastis/src/sass/_variables.scss b/ui/ui-frontend/projects/pastis/src/sass/_variables.scss new file mode 100644 index 000000000..ae0bf208a --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/sass/_variables.scss @@ -0,0 +1,3 @@ +@import "colors"; +@import "mixins"; + diff --git a/ui/ui-frontend/projects/pastis/src/sass/login.scss b/ui/ui-frontend/projects/pastis/src/sass/login.scss new file mode 100644 index 000000000..aa9ecd8c5 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/sass/login.scss @@ -0,0 +1,139 @@ +@import '~ui-frontend-common/sass/variables/colors'; +@import '~ui-frontend-common/sass/mixins/elevation'; + +.login-box { + position: relative; + display: block; + box-sizing: border-box; + width: 800px; + margin: 120px auto; + padding: 48px 80px; + @include vitamui-modal; + + h1 { + @include login-title; + } + + header p { + margin-bottom: 30px; + } + + p { + @include login-text-1; + line-height: 30px; + + small { + @include login-text-2; + font-weight: 400; + } + } + + strong { + font-weight: 500; + } + + a { + @include vitamui-link; + text-decoration: underline; + } + + input[type=text], + input[type=email], + input[type=password] { + border: none; + outline: none; + border-radius: 25px; + @include dialog-elevation-dark; + transition: border-color 200ms ease-out; + height: 50px; + padding: 0 30px; + border: 1px solid transparent; + + &:focus { + border-color: $greyish-two; + } + + &.ng-valid.ng-touched { + border-color: $green; + } + + &.ng-invalid.ng-touched { + border-color: $red; + } + + &[disabled] { + @include elevation-0; + opacity: 0.4; + } + } + + .form-error { + @include login-error; + + i { + font-size: 36px; + vertical-align: middle; + margin-right: 10px; + } + } + + button.vitamui-primary { + @include button-primary; + @include dialog-elevation-primary; + border: none; + height: 50px; + border-radius: 25px; + background-color: var(--vitamui-primary); + padding: 0 30px; + transition: opacity 200ms ease-in-out; + border: 1px solid var(--vitamui-primary); + + &:focus:not([disabled]), + &:hover:not([disabled]) { + cursor: pointer; + background-color: var(--vitamui-primary-light); + outline: none; + } + + &[disabled] { + @include elevation-0; + opacity: 0.4; + } + } + + .helper { + @include login-helper; + text-align: right; + transition: opacity 200ms ease-in-out; + margin: 0; + + &.hidden { + opacity: 0; + } + } + + button.back { + display: flex; + align-items: center; + background: transparent; + color: var(--vitamui-secondary); + font-size: 14px; + font-weight: normal; + border: none; + padding: 0; + margin-top: 40px; + cursor: pointer; + + i { + display: block; + font-size: 18px; + color: var(--vitamui-secondary); + background-color: #e7f5f2; + width: 30px; + height: 30px; + border-radius: 15px; + line-height: 30px; + margin-right: 10px; + } + } +} diff --git a/ui/ui-frontend/projects/pastis/src/sass/styles.scss b/ui/ui-frontend/projects/pastis/src/sass/styles.scss new file mode 100644 index 000000000..ebcfa7d43 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/sass/styles.scss @@ -0,0 +1,9 @@ +@import "~ui-frontend-common/sass/icons/vitamui-icons.css"; +@import "~ui-frontend-common/sass/theme"; +@import '~bootstrap/scss/bootstrap-grid'; +@import 'toaster'; + +@import '~ui-frontend-common/sass/fonts/font-styles.css'; + +@import "login"; + diff --git a/ui/ui-frontend/projects/pastis/src/test.ts b/ui/ui-frontend/projects/pastis/src/test.ts new file mode 100644 index 000000000..16317897b --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/test.ts @@ -0,0 +1,20 @@ +// This file is required by karma.conf.js and loads recursively all the .spec and framework files + +import 'zone.js/dist/zone-testing'; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting +} from '@angular/platform-browser-dynamic/testing'; + +declare const require: any; + +// First, initialize the Angular testing environment. +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting() +); +// Then we find all the tests. +const context = require.context('./', true, /\.spec\.ts$/); +// And load the modules. +context.keys().map(context); diff --git a/ui/ui-frontend/projects/pastis/src/zone-flags.ts b/ui/ui-frontend/projects/pastis/src/zone-flags.ts new file mode 100644 index 000000000..d004ef226 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/zone-flags.ts @@ -0,0 +1,37 @@ +/* + * Copyright French Prime minister Office/SGMAP/DINSIC/Vitam Program (2019-2020) + * and the signatories of the "VITAM - Accord du Contributeur" agreement. + * + * contact@programmevitam.fr + * + * This software is a computer program whose purpose is to implement + * implement a digital archiving front-office system for the secure and + * efficient high volumetry VITAM solution. + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ +(window as any).__Zone_enable_cross_context_check = true; diff --git a/ui/ui-frontend/projects/pastis/tsconfig.app.json b/ui/ui-frontend/projects/pastis/tsconfig.app.json new file mode 100644 index 000000000..9b53c7ef3 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/tsconfig.app.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "../../out-tsc/app", + "types": [] + }, + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "testing", + "src/test.ts", + "src/**/*.spec.ts" + ] +} diff --git a/ui/ui-frontend/projects/pastis/tsconfig.doc.json b/ui/ui-frontend/projects/pastis/tsconfig.doc.json new file mode 100644 index 000000000..a134b35e4 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/tsconfig.doc.json @@ -0,0 +1,10 @@ +{ + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "src/test.ts", + "src/**/*.spec.ts", + "src/app/file-to-exclude.ts" + ] +} diff --git a/ui/ui-frontend/projects/pastis/tsconfig.spec.json b/ui/ui-frontend/projects/pastis/tsconfig.spec.json new file mode 100644 index 000000000..b76a02eb3 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/tsconfig.spec.json @@ -0,0 +1,19 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "../../out-tsc/spec", + "types": [ + "jasmine", + "node" + ] + }, + "files": [ + "src/test.ts", + "src/polyfills.ts", + "src/zone-flags.ts" + ], + "include": [ + "**/*.spec.ts", + "**/*.d.ts" + ] +} diff --git a/ui/ui-frontend/projects/pastis/tslint.json b/ui/ui-frontend/projects/pastis/tslint.json new file mode 100644 index 000000000..19e8161a0 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/tslint.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tslint.json", + "rules": { + "directive-selector": [ + true, + "attribute", + "app", + "camelCase" + ], + "component-selector": [ + true, + "element", + "app", + "kebab-case" + ] + } +} diff --git a/ui/ui-frontend/projects/pastis/xliffmerge.json b/ui/ui-frontend/projects/pastis/xliffmerge.json new file mode 100644 index 000000000..fe2bd23cc --- /dev/null +++ b/ui/ui-frontend/projects/pastis/xliffmerge.json @@ -0,0 +1,27 @@ +{ + "xliffmergeOptions": { + "srcDir": "projects/pastis-test/src/locale", + "genDir": "projects/pastis-test/src/locale", + "i18nFile": "messages.xlf", + "i18nBaseFile": "messages", + "i18nFormat": "xlf", + "encoding": "UTF-8", + "defaultLanguage": "fr", + "languages": [ + "fr", + "en" + ], + "removeUnusedIds": true, + "supportNgxTranslate": false, + "ngxTranslateExtractionPattern": "@@|ngx-translate", + "useSourceAsTarget": false, + "targetPraefix": "", + "targetSuffix": "", + "allowIdChange": false, + "autotranslate": false, + "apikey": "", + "apikeyfile": "", + "verbose": true, + "quiet": false + } +} diff --git a/ui/ui-frontend/projects/starter-kit/src/app/components/icons/icons.component.html b/ui/ui-frontend/projects/starter-kit/src/app/components/icons/icons.component.html index 5ff75f81a..6620d1479 100644 --- a/ui/ui-frontend/projects/starter-kit/src/app/components/icons/icons.component.html +++ b/ui/ui-frontend/projects/starter-kit/src/app/components/icons/icons.component.html @@ -1326,4 +1326,64 @@ <span class="text caption">archive-room</span> </div> </li> -</ul> \ No newline at end of file + <li> + <div class="icon-container"> + <i class="vitamui-icon vitamui-icon-complex-element-1-1" + ><span class="path1"></span><span class="path2"></span + ><span class="path3"></span><span class="path4"></span + ><span class="path5"></span + ></i> + </div> + <div class="text-container"> + <span class="text caption">complex-element-1-1</span> + </div> + </li> + <li> + <div class="icon-container"> + <i class="vitamui-icon vitamui-icon-alternate_email_black_24dp"></i> + </div> + <div class="text-container"> + <span class="text caption">alternate_email</span> + </div> + </li> + <li> + <div class="icon-container"> + <i class="vitamui-icon vitamui-icon-ic24-PUA"></i> + </div> + <div class="text-container"> + <span class="text caption">PUA</span> + </div> + </li> + <li> + <div class="icon-container"> + <i class="vitamui-icon vitamui-icon-ic24-journal"></i> + </div> + <div class="text-container"> + <span class="text caption">journal</span> + </div> + </li> + <li> + <div class="icon-container"> + <i class="vitamui-icon vitamui-icon-ic40-close"></i> + </div> + <div class="text-container"> + <span class="text caption">ic40-close</span> + </div> + </li> + <li> + <div class="icon-container"> + <i class="vitamui-icon vitamui-icon-arborescence"></i> + </div> + <div class="text-container"> + <span class="text caption">arborescence</span> + </div> + </li> + <li> + <div class="icon-container"> + <i class="vitamui-icon vitamui-icon-dossier-physique"></i> + </div> + <div class="text-container"> + <span class="text caption">dossier-physique</span> + </div> + </li> +</ul> diff --git a/ui/ui-frontend/proxy.conf.json b/ui/ui-frontend/proxy.conf.json index f06ccd6fa..ae1dd2003 100644 --- a/ui/ui-frontend/proxy.conf.json +++ b/ui/ui-frontend/proxy.conf.json @@ -28,5 +28,11 @@ "secure": false, "pathRewrite": {}, "logLevel": "debug" + }, + "/pastis-api": { + "target": "https://dev.vitamui.com:9015/", + "secure": false, + "pathRewrite": {}, + "logLevel": "debug" } } diff --git a/ui/ui-frontend/tsconfig.json b/ui/ui-frontend/tsconfig.json index e17636cae..b7d55ab01 100644 --- a/ui/ui-frontend/tsconfig.json +++ b/ui/ui-frontend/tsconfig.json @@ -1,6 +1,8 @@ { "compileOnSave": false, "compilerOptions": { + "allowSyntheticDefaultImports": true, + "resolveJsonModule": true, "baseUrl": "./", "outDir": "./dist/out-tsc", "sourceMap": true, diff --git a/ui/ui-identity/src/main/resources/dev/keystore_ui-identity-admin.jks b/ui/ui-identity/src/main/resources/dev/keystore_ui-identity-admin.jks index e5c9e841f135a8890a4e57245003b2d5772a400a..65eb73057f270d4d00c47082f1e9f370e01ebfc5 100644 GIT binary patch delta 3599 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 V%Zbsau%GL>P&lyoOiBed`eRHE>w^FQ delta 3600 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 WJlw#PqDa97)3Vsv@s7@Iss1PDoAYr1 diff --git a/ui/ui-identity/src/main/resources/dev/keystore_ui-referential.jks b/ui/ui-identity/src/main/resources/dev/keystore_ui-referential.jks index 6a435ca4cb27e75cf6ad522732f18d6f2afe3797..e902481e5c3b1854ed1a3e058b9e3b79942b065e 100644 GIT binary patch delta 3595 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 RZFFK|?qj6l3A8IuF{xnd<%j?P delta 3600 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 W7W6y`j0RyXHY>4760^WLj*-*Pc+ma; diff --git a/ui/ui-identity/src/main/resources/dev/truststore_server.jks b/ui/ui-identity/src/main/resources/dev/truststore_server.jks index c25bb727ec4db42c6b9582f530209b6fc160ffff..3ad9932ba4e9f999eebcacf469be064e2e7ad982 100644 GIT binary patch literal 3626 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 literal 3297 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 A82|tP diff --git a/ui/ui-ingest/src/main/resources/dev/keystore_ui-ingest.jks b/ui/ui-ingest/src/main/resources/dev/keystore_ui-ingest.jks index d7b83d0dbaa34f2188f7923558864a27ef507b3c..4c50a3bdd089d592a8c2cbf1dbd1b0fd2e29d2ac 100644 GIT binary patch delta 3613 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 delta 3612 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 diff --git a/ui/ui-ingest/src/main/resources/dev/keystore_ui-referential.jks b/ui/ui-ingest/src/main/resources/dev/keystore_ui-referential.jks index 6a435ca4cb27e75cf6ad522732f18d6f2afe3797..e902481e5c3b1854ed1a3e058b9e3b79942b065e 100644 GIT binary patch delta 3595 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 RZFFK|?qj6l3A8IuF{xnd<%j?P delta 3600 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 W7W6y`j0RyXHY>4760^WLj*-*Pc+ma; diff --git a/ui/ui-ingest/src/main/resources/dev/truststore_server.jks b/ui/ui-ingest/src/main/resources/dev/truststore_server.jks index 614bace31449a03118733978f1716b3326e539c0..3ad9932ba4e9f999eebcacf469be064e2e7ad982 100644 GIT binary patch delta 3567 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 delta 3567 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 diff --git a/ui/ui-pastis/pom.xml b/ui/ui-pastis/pom.xml new file mode 100644 index 000000000..cc9105797 --- /dev/null +++ b/ui/ui-pastis/pom.xml @@ -0,0 +1,223 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns="http://maven.apache.org/POM/4.0.0" + 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> + + <artifactId>ui-pastis</artifactId> + <packaging>jar</packaging> + <name>VITAMUI UI Pastis</name> + + <parent> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>ui-parent</artifactId> + <version>5.0-SNAPSHOT</version> + </parent> + + <properties> + <angular.base.href>/pastis/</angular.base.href> + <angular.build.project>pastis</angular.build.project> + <rpm.skip>false</rpm.skip> + <sonar.sources>src/main/java</sonar.sources> + <swagger.dir>ui</swagger.dir> + <swagger.skip>false</swagger.skip> + <webpack.skip>false</webpack.skip> + <webpack.test.skip>false</webpack.test.skip> + <skipAllFrontend>false</skipAllFrontend> + <skipAllFrontendTests>false</skipAllFrontendTests> + </properties> + + <dependencies> + + <!--VITAMUI --> + <dependency> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>pastis-commons</artifactId> + <version>5.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>pastis-client</artifactId> + <version>5.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui.ui</groupId> + <artifactId>ui-commons</artifactId> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui.commons</groupId> + <artifactId>commons-api</artifactId> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>iam-commons</artifactId> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui.commons</groupId> + <artifactId>commons-rest</artifactId> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>iam-external-client</artifactId> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>ui-frontend</artifactId> + <scope>provided</scope> + <type>pom</type> + <version>${project.version}</version> + </dependency> + + <!-- SPRING BOOT --> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter</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-actuator</artifactId> + </dependency> + <dependency> + <groupId>io.micrometer</groupId> + <artifactId>micrometer-registry-prometheus</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-configuration-processor</artifactId> + <optional>true</optional> + </dependency> + <dependency> + <groupId>org.springframework.cloud</groupId> + <artifactId>spring-cloud-starter-consul-discovery</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-security</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-devtools</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>io.opentracing.contrib</groupId> + <artifactId>opentracing-spring-jaeger-web-starter</artifactId> + </dependency> + + <!-- Documentation --> + <dependency> + <groupId>io.springfox</groupId> + <artifactId>springfox-swagger2</artifactId> + </dependency> + <dependency> + <groupId>io.springfox</groupId> + <artifactId>springfox-swagger-ui</artifactId> + </dependency> + + <!-- UTILS --> + <dependency> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpclient</artifactId> + </dependency> + + <!--TEST --> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-test</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.springframework.security</groupId> + <artifactId>spring-security-test</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>fr.gouv.vitamui.commons</groupId> + <artifactId>commons-test</artifactId> + <type>test-jar</type> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>org.owasp.antisamy</groupId> + <artifactId>antisamy</artifactId> + </dependency> + + <dependency> + <groupId>fr.gouv.vitamui.ui</groupId> + <artifactId>ui-commons</artifactId> + <type>test-jar</type> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpclient</artifactId> + </dependency> + <dependency> + <groupId>org.junit.vintage</groupId> + <artifactId>junit-vintage-engine</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + + <build> + <resources> + <resource> + <directory>target/www/</directory> + <targetPath>static/</targetPath> + </resource> + <resource> + <directory>src/main/resources</directory> + </resource> + </resources> + <testResources> + <testResource> + <directory>src/test/resources</directory> + <filtering>true</filtering> + </testResource> + </testResources> + <plugins> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <executions> + <execution> + <id>build-info</id> + <goals> + <goal>build-info</goal> + </goals> + </execution> + <execution> + <id>spring-boot-repackage</id> + <goals> + <goal>repackage</goal> + </goals> + </execution> + </executions> + <configuration> + <executable>true</executable> + <attach>true</attach> <!-- Need to use the original jar for integration-tests --> + <mainClass>fr.gouv.vitamui.pastis.PastisApplication</mainClass> + <jvmArguments>-Xmx512m</jvmArguments> + <arguments> + <argument>--spring.profiles.active=dev</argument> + </arguments> + </configuration> + </plugin> + <!-- <plugin> + <groupId>com.github.eirslett</groupId> + <artifactId>frontend-maven-plugin</artifactId> + </plugin>--> + </plugins> + </build> + +</project> diff --git a/ui/ui-pastis/run.sh b/ui/ui-pastis/run.sh new file mode 100755 index 000000000..01f768a82 --- /dev/null +++ b/ui/ui-pastis/run.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +#retrieve version +version="$(grep -oP '(?<=>).*?(?=</version>)' pom.xml | grep -v 'version' | sort --unique)" + +java -jar target/ui-pastis-$(echo $version).jar -Xms128m -Xmx512m --spring.profiles.active=dev,recette diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/PastisApplication.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/PastisApplication.java new file mode 100644 index 000000000..6d1a98ed2 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/PastisApplication.java @@ -0,0 +1,71 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis; + + +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.core.env.Environment; + +@SpringBootApplication +@EnableDiscoveryClient +public class PastisApplication implements CommandLineRunner { + + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(PastisApplication.class); + @Autowired + private Environment env; + + public static void main(final String[] args) { + SpringApplication app = new SpringApplicationBuilder(PastisApplication.class).build(); + app.run(args); + } + + @Override + public void run(final String... args) throws Exception { + LOGGER.debug("VITAMUI SpringBoot Application started:"); + LOGGER.debug("spring.application.name: " + env.getProperty("spring.application.name")); + } + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/config/DefaultProfileUtil.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/config/DefaultProfileUtil.java new file mode 100644 index 000000000..e8d3d8038 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/config/DefaultProfileUtil.java @@ -0,0 +1,88 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.config; + +import org.springframework.boot.SpringApplication; +import org.springframework.core.env.Environment; + +import java.util.HashMap; +import java.util.Map; + +/** + * Utility class to load a Spring profile to be used as default + * when there is no <code>spring.profiles.active</code> set in the environment or as command line argument. + * If the value is not available in <code>application.yml</code> then <code>dev</code> profile will be used as default. + */ +public final class DefaultProfileUtil { + + private static final String SPRING_PROFILE_DEFAULT = "spring.profiles.default"; + private static final String SPRING_PROFILE_DEVELOPMENT = "dev"; + + private DefaultProfileUtil() { + } + + /** + * Set a default to use when no profile is configured. + * + * @param app the Spring application + */ + public static void addDefaultProfile(SpringApplication app) { + Map<String, Object> defProperties = new HashMap<>(); + /* + * The default profile to use when no other profiles are defined + * This cannot be set in the <code>application.yml</code> file. + * See https://github.com/spring-projects/spring-boot/issues/1219 + */ + defProperties.put(SPRING_PROFILE_DEFAULT, SPRING_PROFILE_DEVELOPMENT); + app.setDefaultProperties(defProperties); + } + + /** + * Get the profiles that are applied else get default profiles. + * + * @param env spring environment + * @return profiles + */ + public static String[] getActiveProfiles(Environment env) { + String[] profiles = env.getActiveProfiles(); + if (profiles.length == 0) { + return env.getDefaultProfiles(); + } + return profiles; + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/config/PastisApplicationProperties.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/config/PastisApplicationProperties.java new file mode 100644 index 000000000..7632d84a4 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/config/PastisApplicationProperties.java @@ -0,0 +1,59 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.config; + +import fr.gouv.vitamui.commons.rest.client.configuration.RestClientConfiguration; +import fr.gouv.vitamui.ui.commons.config.UIPropertiesImpl; +import lombok.Getter; +import lombok.Setter; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +/** + * Properties specific to Ihm-Portal Application. + * <p> + * Properties are configured in the application.yml file. + */ +@Getter +@Setter +@Component("uiProperties") +@ConfigurationProperties(prefix = "ui-pastis", ignoreUnknownFields = true) +public class PastisApplicationProperties extends UIPropertiesImpl { + + public RestClientConfiguration pastisExternalClient; +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/config/PastisContextConfiguration.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/config/PastisContextConfiguration.java new file mode 100644 index 000000000..19cdda072 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/config/PastisContextConfiguration.java @@ -0,0 +1,125 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.config; + +import fr.gouv.vitamui.commons.rest.RestExceptionHandler; +import fr.gouv.vitamui.commons.rest.configuration.SwaggerConfiguration; +import fr.gouv.vitamui.iam.external.client.IamExternalWebClientFactory; +import fr.gouv.vitamui.pastis.client.PastisRestClientFactory; +import fr.gouv.vitamui.pastis.client.PastisTransformationRestClient; +import fr.gouv.vitamui.referential.external.client.ArchivalProfileUnitExternalRestClient; +import fr.gouv.vitamui.referential.external.client.ArchivalProfileUnitExternalWebClient; +import fr.gouv.vitamui.referential.external.client.ProfileExternalRestClient; +import fr.gouv.vitamui.referential.external.client.ProfileExternalWebClient; +import fr.gouv.vitamui.referential.external.client.ReferentialExternalRestClientFactory; +import fr.gouv.vitamui.referential.external.client.ReferentialExternalWebClientFactory; +import fr.gouv.vitamui.ui.commons.property.UIProperties; +import fr.gouv.vitamui.ui.commons.security.SecurityConfig; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.web.client.RestTemplateBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.DependsOn; +import org.springframework.context.annotation.Import; +import org.springframework.http.MediaType; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; + +import java.util.Arrays; + +@Configuration +@Import(value = {SecurityConfig.class, SwaggerConfiguration.class, RestExceptionHandler.class}) +public class PastisContextConfiguration { + + @Bean + @ConditionalOnMissingBean + @DependsOn("uiProperties") + public IamExternalWebClientFactory iamWebClientFactory(final UIProperties uiProperties) { + return new IamExternalWebClientFactory(uiProperties.getIamExternalClient()); + } + + @Bean + @ConditionalOnMissingBean + @DependsOn("uiProperties") + public PastisRestClientFactory pastisRestClientFactory( + final PastisApplicationProperties uiProperties, + RestTemplateBuilder restTemplateBuilder) { + return new PastisRestClientFactory(uiProperties.getPastisExternalClient(), + restTemplateBuilder); + } + + @Bean + public MappingJackson2HttpMessageConverter customizedJacksonMessageConverter() { + MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); + converter.setSupportedMediaTypes( + Arrays.asList( + MediaType.APPLICATION_JSON, + new MediaType("application", "*+json"), + MediaType.APPLICATION_OCTET_STREAM)); + return converter; + } + + @Bean + public ProfileExternalRestClient profileExternalRestClient(final ReferentialExternalRestClientFactory factory) { + return factory.getProfileExternalRestClient(); + } + + @Bean + public ArchivalProfileUnitExternalRestClient archivalProfileCrudRestClient( + final ReferentialExternalRestClientFactory referentialExternalRestClientFactory) { + return referentialExternalRestClientFactory.getArchivalProfileExternalRestClient(); + } + + @Bean + public ArchivalProfileUnitExternalWebClient archivalProfileWebRestClient( + final ReferentialExternalWebClientFactory referentialExternalWebClientFactory) { + return referentialExternalWebClientFactory.getArchivalProfileExternalWebClient(); + } + + @Bean + public ProfileExternalWebClient profileExternalWebClient( + final ReferentialExternalWebClientFactory referentialExternalWebClientFactory) { + return referentialExternalWebClientFactory.getProfileExternalWebClient(); + } + + @Bean + public PastisTransformationRestClient pastisTransformationRestClient( + final PastisRestClientFactory pastisRestClientFactory) { + return pastisRestClientFactory.getPastisTransformationRestClient(); + } + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/rest/ApiErrorController.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/rest/ApiErrorController.java new file mode 100644 index 000000000..21236a999 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/rest/ApiErrorController.java @@ -0,0 +1,48 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.rest; + +import fr.gouv.vitamui.commons.rest.BaseApiErrorController; +import org.springframework.web.bind.annotation.RestController; +import springfox.documentation.annotations.ApiIgnore; + +@RestController +@ApiIgnore +public class ApiErrorController extends BaseApiErrorController { + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/rest/ArchivalProfileUnitController.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/rest/ArchivalProfileUnitController.java new file mode 100644 index 000000000..30216f5ee --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/rest/ArchivalProfileUnitController.java @@ -0,0 +1,221 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.rest; + +import com.fasterxml.jackson.databind.JsonNode; +import fr.gouv.vitamui.commons.api.CommonConstants; +import fr.gouv.vitamui.commons.api.ParameterChecker; +import fr.gouv.vitamui.commons.api.domain.DirectionDto; +import fr.gouv.vitamui.commons.api.domain.PaginatedValuesDto; +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.commons.rest.AbstractUiRestController; +import fr.gouv.vitamui.commons.rest.util.RestUtils; +import fr.gouv.vitamui.pastis.service.ArchivalProfileUnitService; +import fr.gouv.vitamui.referential.common.dto.ArchivalProfileUnitDto; +import fr.gouv.vitamui.referential.common.rest.RestApi; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseStatus; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import javax.validation.Valid; +import javax.ws.rs.Consumes; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Context; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.Collection; +import java.util.Optional; + +@Api(tags = "archival-profile") +@RestController +@RequestMapping("${ui-pastis.prefix}" + RestApi.ARCHIVAL_PROFILE) +@Consumes("application/json") +@Produces("application/json") +public class ArchivalProfileUnitController extends AbstractUiRestController { + + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(ArchivalProfileUnitController.class); + protected final ArchivalProfileUnitService service; + + @Autowired + public ArchivalProfileUnitController(final ArchivalProfileUnitService service) { + this.service = service; + } + + + /** + * Get all Archival Unit Profiles + * + * @param criteria + * @return + */ + @ApiOperation(value = "Get entity") + @GetMapping + @ResponseStatus(HttpStatus.OK) + public Collection<ArchivalProfileUnitDto> getAll(final Optional<String> criteria) { + LOGGER.debug("Get all with criteria={}", criteria); + RestUtils.checkCriteria(criteria); + return service.getAll(buildUiHttpContext(), criteria); + } + + /** + * Get All Archival Unit Profiles Paginated + * + * @param page + * @param size + * @param criteria + * @param orderBy + * @param direction + * @return + */ + @ApiOperation(value = "Get entities paginated") + @GetMapping(params = {"page", "size"}) + @ResponseStatus(HttpStatus.OK) + public PaginatedValuesDto<ArchivalProfileUnitDto> getAllPaginated(@RequestParam final Integer page, + @RequestParam final Integer size, + @RequestParam final Optional<String> criteria, @RequestParam final Optional<String> orderBy, + @RequestParam final Optional<DirectionDto> direction) { + LOGGER.debug("getAllPaginated page={}, size={}, criteria={}, orderBy={}, ascendant={}", page, size, criteria, + orderBy, direction); + return service.getAllPaginated(page, size, criteria, orderBy, direction, buildUiHttpContext()); + } + + + /** + * Get Archival Unit Profile by Identifier + * + * @param identifier + * @return + * @throws UnsupportedEncodingException + */ + @ApiOperation(value = "Get profile by ID") + @GetMapping(path = RestApi.PATH_REFERENTIAL_ID) + @ResponseStatus(HttpStatus.OK) + public ArchivalProfileUnitDto getById(final @PathVariable("identifier") String identifier) + throws UnsupportedEncodingException { + LOGGER.debug("getById {} / {}", identifier, URLEncoder.encode(identifier, StandardCharsets.UTF_8.toString())); + ParameterChecker.checkParameter("The Identifier is a mandatory parameter: ", identifier); + return service.getOne(buildUiHttpContext(), URLEncoder.encode(identifier, StandardCharsets.UTF_8.toString())); + } + + /** + * Modify Archival Unit Profile by Identifier + * + * @param archivalProfileUnitDto + * @return + */ + + @ApiOperation(value = "Update entity") + @PutMapping(CommonConstants.PATH_ID) + @ResponseStatus(HttpStatus.OK) + public ArchivalProfileUnitDto update(@RequestBody final ArchivalProfileUnitDto archivalProfileUnitDto) { + LOGGER.debug("update profile {}", archivalProfileUnitDto.getId()); + return service.update(buildUiHttpContext(), archivalProfileUnitDto); + } + + /** + * Create Archival Unit Profile + * + * @param archivalProfileUnitDto + * @return + */ + @ApiOperation(value = "Create Archival Unit Profile") + @PostMapping + @ResponseStatus(HttpStatus.CREATED) + public ResponseEntity<ArchivalProfileUnitDto> create(@Valid @RequestBody ArchivalProfileUnitDto archivalProfileUnitDto) { + LOGGER.debug("create archival unit profile={}", archivalProfileUnitDto); + ArchivalProfileUnitDto result = service.create(buildUiHttpContext(), archivalProfileUnitDto); + if ( result != null) { + return ResponseEntity.ok(result); + } else { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + /** + * Import Archival Unit Profile from json file + * + * @param request HTTP request + * @param file the file to import + * @return the Vitam response + */ + @ApiOperation(value = "import Archival Unit Profile") + @PostMapping(CommonConstants.PATH_IMPORT) + public ResponseEntity<JsonNode> importProfiles(@Context HttpServletRequest request, MultipartFile file) { + LOGGER.debug("Import Archival Unit Profile from a file {}", file != null ? file.getOriginalFilename() : null); + return service.importArchivalUnitProfiles(buildUiHttpContext(), file); + } + + + + /** + * Check access + * + * @param archivalProfileUnitDto + * @return + */ + @ApiOperation(value = "Check ability to create ontology") + @PostMapping(path = CommonConstants.PATH_CHECK) + public ResponseEntity<Void> check(@RequestBody ArchivalProfileUnitDto archivalProfileUnitDto) { + LOGGER.debug("check ability to create profile={}", archivalProfileUnitDto); + final boolean exist = service.check(buildUiHttpContext(), archivalProfileUnitDto); + LOGGER.debug("response value={}" + exist); + return RestUtils.buildBooleanResponse(exist); + } + + + +} + + + diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/rest/ForwardController.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/rest/ForwardController.java new file mode 100644 index 000000000..4b8d32397 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/rest/ForwardController.java @@ -0,0 +1,53 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.rest; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import springfox.documentation.annotations.ApiIgnore; + +@Controller +@ApiIgnore +public class ForwardController { + + @RequestMapping(value = "/**/{[path:[^\\.]*}") + public String redirect() { + // Forward to home page so that route is preserved. + return "forward:/"; + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/rest/PastisController.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/rest/PastisController.java new file mode 100644 index 000000000..099ea3794 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/rest/PastisController.java @@ -0,0 +1,126 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.rest; + +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.commons.rest.AbstractUiRestController; +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; +import fr.gouv.vitamui.pastis.common.dto.profiles.Notice; +import fr.gouv.vitamui.pastis.common.dto.profiles.ProfileNotice; +import fr.gouv.vitamui.pastis.common.dto.profiles.ProfileResponse; +import fr.gouv.vitamui.pastis.common.rest.RestApi; +import fr.gouv.vitamui.pastis.service.PastisTransformationService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseStatus; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import javax.ws.rs.Consumes; +import javax.ws.rs.Produces; +import java.io.IOException; +import java.net.URISyntaxException; + + +@Api(tags = "pastis") +@RestController +@RequestMapping("${ui-pastis.prefix}" + RestApi.PASTIS) +@Consumes("application/json") +@Produces("application/json") +public class PastisController extends AbstractUiRestController { + + static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(PastisController.class); + + private final PastisTransformationService pastisTransformationService; + + @Autowired + public PastisController(final PastisTransformationService pastisTransformationService) { + this.pastisTransformationService = pastisTransformationService; + } + + @ApiOperation(value = "Transform profile") + @RequestMapping(value = RestApi.PASTIS_TRANSFORM_PROFILE, method = RequestMethod.POST) + ResponseEntity<ProfileResponse> loadProfile(@RequestBody final Notice notice) throws IOException { + LOGGER.debug("Start get profile By ui-pastis-controller"); + return pastisTransformationService.loadProfile(notice, buildUiHttpContext()); + } + + @ApiOperation(value = "Upload Profile Vitamui") + @PostMapping(RestApi.PASTIS_UPLOAD_PROFILE) + @ResponseStatus(HttpStatus.OK) + ResponseEntity<ProfileResponse> loadProfileFromFile(@RequestParam("file") MultipartFile file) + throws IOException { + LOGGER.debug("Start Upload profile By ui-pastis-controller"); + return pastisTransformationService.loadProfileFromFile(file, buildUiHttpContext()); + } + + @ApiOperation(value = "Download Archive Profile") + @PostMapping(RestApi.PASTIS_DOWNLOAD_PA) + @ResponseStatus(HttpStatus.OK) + ResponseEntity<String> getArchiveProfile(@RequestBody final ElementProperties json) throws IOException { + LOGGER.debug("Start download PA By ui-pastis-controller"); + return pastisTransformationService.getArchiveProfile(json, buildUiHttpContext()); + } + + @ApiOperation(value = "Download Archive Unit Profile") + @PostMapping(RestApi.PASTIS_DOWNLOAD_PUA) + @ResponseStatus(HttpStatus.OK) + ResponseEntity<String> getArchiveUnitProfile(@RequestBody final ProfileNotice json) throws IOException { + LOGGER.debug("Start download PUA By ui-pastis-controller"); + return pastisTransformationService.getArchiveUnitProfile(json, buildUiHttpContext()); + } + + @ApiOperation(value = "Create new Profile by type PA or PUA") + @GetMapping(RestApi.PASTIS_CREATE_PROFILE) + @ResponseStatus(HttpStatus.OK) + ResponseEntity<ProfileResponse> createProfile(@RequestParam(name = "type") String profileType) throws + URISyntaxException, IOException { + LOGGER.debug("Create new Profile by type PA or PUA By ui-pastis-controller"); + return pastisTransformationService.createProfile(profileType, buildUiHttpContext()); + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/rest/ProfileController.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/rest/ProfileController.java new file mode 100644 index 000000000..906710090 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/rest/ProfileController.java @@ -0,0 +1,251 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.rest; + +import com.fasterxml.jackson.databind.JsonNode; +import fr.gouv.vitamui.commons.api.CommonConstants; +import fr.gouv.vitamui.commons.api.ParameterChecker; +import fr.gouv.vitamui.commons.api.domain.DirectionDto; +import fr.gouv.vitamui.commons.api.domain.PaginatedValuesDto; +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.commons.rest.AbstractUiRestController; +import fr.gouv.vitamui.commons.rest.util.RestUtils; +import fr.gouv.vitamui.pastis.service.ProfileService; +import fr.gouv.vitamui.referential.common.dto.ProfileDto; +import fr.gouv.vitamui.referential.common.rest.RestApi; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.Resource; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseStatus; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import javax.validation.Valid; +import javax.ws.rs.Consumes; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Context; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.Collection; +import java.util.Optional; + +@Api(tags = "profile") +@RestController +@RequestMapping("${ui-pastis.prefix}" + RestApi.PROFILE) +@Consumes("application/json") +@Produces("application/json") +public class ProfileController extends AbstractUiRestController { + + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(ProfileController.class); + protected final ProfileService service; + + @Autowired + public ProfileController(final ProfileService service) { + this.service = service; + } + + /** + * Get All Profiles + * + * @param criteria + * @return + */ + @ApiOperation(value = "Get entity") + @GetMapping + @ResponseStatus(HttpStatus.OK) + public Collection<ProfileDto> getAll(final Optional<String> criteria) { + LOGGER.debug("Get all with criteria={}", criteria); + RestUtils.checkCriteria(criteria); + return service.getAll(buildUiHttpContext(), criteria); + } + + /** + * Get all Profiles paginated + * + * @param page + * @param size + * @param criteria + * @param orderBy + * @param direction + * @return + */ + @ApiOperation(value = "Get entities paginated") + @GetMapping(params = {"page", "size"}) + @ResponseStatus(HttpStatus.OK) + public PaginatedValuesDto<ProfileDto> getAllPaginated(@RequestParam final Integer page, + @RequestParam final Integer size, + @RequestParam final Optional<String> criteria, @RequestParam final Optional<String> orderBy, + @RequestParam final Optional<DirectionDto> direction) { + LOGGER.debug("getAllPaginated page={}, size={}, criteria={}, orderBy={}, ascendant={}", page, size, criteria, + orderBy, direction); + return service.getAllPaginated(page, size, criteria, orderBy, direction, buildUiHttpContext()); + } + + /** + * Get Profile by Identifier + * + * @param identifier + * @return + * @throws UnsupportedEncodingException + */ + @ApiOperation(value = "Get profile by ID") + @GetMapping(path = RestApi.PATH_REFERENTIAL_ID) + @ResponseStatus(HttpStatus.OK) + public ProfileDto getById(final @PathVariable("identifier") String identifier) throws UnsupportedEncodingException { + LOGGER.debug("getById {} / {}", identifier, URLEncoder.encode(identifier, StandardCharsets.UTF_8.toString())); + ParameterChecker.checkParameter("The Identifier is a mandatory parameter: ", identifier); + return service.getOne(buildUiHttpContext(), URLEncoder.encode(identifier, StandardCharsets.UTF_8.toString())); + } + + /** + * Download Profile + * + * @param id Identifier of Metadata + * @return Profile file + */ + @ApiOperation(value = "download profile by id") + @GetMapping(value = RestApi.DOWNLOAD_PROFILE + CommonConstants.PATH_ID) + public ResponseEntity<Resource> download(final @PathVariable("id") String id) { + LOGGER.debug("download {} profile with id :{}", id); + ParameterChecker.checkParameter("The Identifier is a mandatory parameter: ", id); + Resource body = service.download(buildUiHttpContext(), id).getBody(); + return ResponseEntity.ok() + .contentType(MediaType.APPLICATION_OCTET_STREAM).header("Content-Disposition", "attachment") + .body(body); + } + + /** + * Import a Profile file document (xsd or rng, ...) in a profile + * + * @param id id of the archival profile + * @param file MultipartFile file to import + * @return The jaxRs Response + */ + @ApiOperation(value = "Importer un fichier xsd ou rng dans un profil") + @PutMapping(value = RestApi.UPDATE_PROFILE_FILE + CommonConstants.PATH_ID) + public ResponseEntity<JsonNode> importProfileFile(final @PathVariable("id") String id, + @RequestParam("file") MultipartFile file) throws IOException { + LOGGER.debug("Update profile file with id :{}", id); + ParameterChecker.checkParameter("profileFile stream is a mandatory parameter: ", file); + ParameterChecker.checkParameter("The Identifier is a mandatory parameter: ", id); + return service.updateProfileFile(buildUiHttpContext(), id, file); + } + + + /** + * Modify Profile by Identifier + * + * @param profileDto + * @return + */ + @ApiOperation(value = "Update entity") + @PutMapping(CommonConstants.PATH_ID) + @ResponseStatus(HttpStatus.OK) + public ResponseEntity<JsonNode> updateProfile(@RequestBody final ProfileDto profileDto) { + LOGGER.debug("update profile {}", profileDto.getId()); + return service.updateProfile(buildUiHttpContext(), profileDto); + } + + + /** + * Create Profile + * + * @param profileDto + * @return + */ + @ApiOperation(value = "Create Archival Profile") + @PostMapping + @ResponseStatus(HttpStatus.CREATED) + public ResponseEntity<ProfileDto> create(@Valid @RequestBody ProfileDto profileDto) { + LOGGER.debug("create profile={}", profileDto); + ProfileDto result = service.create(buildUiHttpContext(), profileDto); + if ( result != null) { + return ResponseEntity.ok(result); + } else { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + /*** + * Import profile from json file + * @param request HTTP request + * @param file the file to import + * @return the Vitam response + */ + @ApiOperation(value = "import profile") + @PostMapping(CommonConstants.PATH_IMPORT) + public ResponseEntity<JsonNode> importProfiles(@Context HttpServletRequest request, MultipartFile file) { + LOGGER.debug("Import profile from a file {}", file != null ? file.getOriginalFilename() : null); + return service.importProfiles(buildUiHttpContext(), file); + } + + + + /** + * Check access + * + * @param profileDto + * @return + */ + @ApiOperation(value = "Check ability to create profile") + @PostMapping(path = CommonConstants.PATH_CHECK) + public ResponseEntity<Void> check(@RequestBody ProfileDto profileDto) { + LOGGER.debug("check ability to create profile={}", profileDto); + final boolean exist = service.check(buildUiHttpContext(), profileDto); + LOGGER.debug("response value={}" + exist); + return RestUtils.buildBooleanResponse(exist); + } + + + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/service/ArchivalProfileUnitService.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/service/ArchivalProfileUnitService.java new file mode 100644 index 000000000..9510066ab --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/service/ArchivalProfileUnitService.java @@ -0,0 +1,127 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.service; + +import com.fasterxml.jackson.databind.JsonNode; +import fr.gouv.vitamui.commons.api.domain.DirectionDto; +import fr.gouv.vitamui.commons.api.domain.PaginatedValuesDto; +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.commons.rest.client.BasePaginatingAndSortingRestClient; +import fr.gouv.vitamui.commons.rest.client.ExternalHttpContext; +import fr.gouv.vitamui.referential.common.dto.ArchivalProfileUnitDto; +import fr.gouv.vitamui.referential.external.client.ArchivalProfileUnitExternalRestClient; +import fr.gouv.vitamui.referential.external.client.ArchivalProfileUnitExternalWebClient; +import fr.gouv.vitamui.ui.commons.service.AbstractPaginateService; +import fr.gouv.vitamui.ui.commons.service.CommonService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.Resource; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.util.Collection; +import java.util.Optional; + +@Service +public class ArchivalProfileUnitService extends AbstractPaginateService<ArchivalProfileUnitDto> { + static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(ArchivalProfileUnitService.class); + + private final ArchivalProfileUnitExternalRestClient client; + + private final ArchivalProfileUnitExternalWebClient webClient; + + private final CommonService commonService; + + @Autowired + public ArchivalProfileUnitService(final CommonService commonService, + final ArchivalProfileUnitExternalRestClient client, + final ArchivalProfileUnitExternalWebClient webClient) { + this.commonService = commonService; + this.client = client; + this.webClient = webClient; + } + + @Override + public PaginatedValuesDto<ArchivalProfileUnitDto> getAllPaginated(final Integer page, final Integer size, + final Optional<String> criteria, + final Optional<String> orderBy, final Optional<DirectionDto> direction, final ExternalHttpContext context) { + return super.getAllPaginated(page, size, criteria, orderBy, direction, context); + } + + @Override + protected Integer beforePaginate(final Integer page, final Integer size) { + return commonService.checkPagination(page, size); + } + + @Override + public BasePaginatingAndSortingRestClient<ArchivalProfileUnitDto, ExternalHttpContext> getClient() { + return client; + } + + public Collection<ArchivalProfileUnitDto> getAll(final ExternalHttpContext context, + final Optional<String> criteria) { + return client.getAll(context, criteria); + } + + public boolean check(ExternalHttpContext context, ArchivalProfileUnitDto ArchivalProfileUnitDto) { + return client.check(context, ArchivalProfileUnitDto); + } + + public ArchivalProfileUnitDto update(final ExternalHttpContext c, final ArchivalProfileUnitDto dto) { + if (StringUtils.isBlank(dto.getIdentifier())) { + throw new IllegalArgumentException("Profile is mandatory."); + } + return super.update(c, dto); + } + + + public void delete(ExternalHttpContext context, String id) { + client.delete(context, id); + } + + public ResponseEntity<Resource> export(ExternalHttpContext context) { + return client.export(context); + } + + public ResponseEntity<JsonNode> importArchivalUnitProfiles(ExternalHttpContext context, MultipartFile file) { + return webClient.importArchivalUnitProfiles(context, file); + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/service/PastisTransformationService.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/service/PastisTransformationService.java new file mode 100644 index 000000000..a3a3694d8 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/service/PastisTransformationService.java @@ -0,0 +1,133 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.service; + +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.commons.rest.client.ExternalHttpContext; +import fr.gouv.vitamui.pastis.client.PastisTransformationRestClient; +import fr.gouv.vitamui.pastis.common.dto.ElementProperties; +import fr.gouv.vitamui.pastis.common.dto.profiles.Notice; +import fr.gouv.vitamui.pastis.common.dto.profiles.ProfileNotice; +import fr.gouv.vitamui.pastis.common.dto.profiles.ProfileResponse; +import fr.gouv.vitamui.pastis.common.util.NoticeUtils; +import fr.gouv.vitamui.ui.commons.service.AbstractPaginateService; +import fr.gouv.vitamui.ui.commons.service.CommonService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.Resource; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; + + +/** + * UI + * Pastis Service + */ +@Service +public class PastisTransformationService extends AbstractPaginateService<ProfileResponse> { + + static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(PastisTransformationService.class); + + private final PastisTransformationRestClient pastisTransformationRestClient; + private final ProfileService profileService; + private CommonService commonService; + + @Autowired + public PastisTransformationService(final PastisTransformationRestClient pastisTransformationRestClient, + final ProfileService service, final CommonService commonService) { + this.pastisTransformationRestClient = pastisTransformationRestClient; + this.profileService = service; + this.commonService = commonService; + } + + @Override + protected Integer beforePaginate(Integer page, Integer size) { + return commonService.checkPagination(page, size); + } + + @Override + public PastisTransformationRestClient getClient() { + return pastisTransformationRestClient; + } + + public ResponseEntity<ProfileResponse> loadProfile(Notice notice, ExternalHttpContext context) throws IOException { + LOGGER.info("Start transform profile By ui-pastis-service"); + if (notice.getControlSchema() == null) { + Resource resource = profileService.download(context, notice.getIdentifier()).getBody(); + ElementProperties elementProperties = loadProfilePA(resource, context); + ProfileResponse profileResponse = NoticeUtils.convertToProfileResponse(notice); + profileResponse.setProfile(elementProperties); + return ResponseEntity.ok(profileResponse); + } else { + return pastisTransformationRestClient.loadProfile(notice, context); + } + } + + public ElementProperties loadProfilePA(Resource resource, ExternalHttpContext context) throws IOException { + LOGGER.info("Start transform profile PA By ui-pastis-service"); + return pastisTransformationRestClient.loadProfilePA(resource, context).getBody(); + } + + public ResponseEntity<ProfileResponse> loadProfileFromFile(MultipartFile file, ExternalHttpContext context) + throws IOException { + LOGGER.info("Start Upload profile By ui-pastis-service"); + return pastisTransformationRestClient.loadProfileFromFile(file, context); + } + + public ResponseEntity<String> getArchiveProfile(final ElementProperties json, ExternalHttpContext context) throws + IOException { + LOGGER.info("Start Download PA By ui-pastis-service"); + return pastisTransformationRestClient.getArchiveProfile(json, context); + } + + public ResponseEntity<String> getArchiveUnitProfile(final ProfileNotice json, ExternalHttpContext context) + throws IOException { + LOGGER.info("Start Download PUA By ui-pastis-service"); + return pastisTransformationRestClient.getArchiveUnitProfile(json, context); + } + + public ResponseEntity<ProfileResponse> createProfile(String profileType, ExternalHttpContext context) + throws IOException { + LOGGER.info("Start Create profile By ui-pastis-service"); + return pastisTransformationRestClient.createProfile(profileType, context); + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/service/ProfileService.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/service/ProfileService.java new file mode 100644 index 000000000..240e4f327 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/service/ProfileService.java @@ -0,0 +1,129 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2021) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.service; + +import com.fasterxml.jackson.databind.JsonNode; +import fr.gouv.vitamui.commons.api.domain.DirectionDto; +import fr.gouv.vitamui.commons.api.domain.PaginatedValuesDto; +import fr.gouv.vitamui.commons.api.logger.VitamUILogger; +import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; +import fr.gouv.vitamui.commons.rest.client.BasePaginatingAndSortingRestClient; +import fr.gouv.vitamui.commons.rest.client.ExternalHttpContext; +import fr.gouv.vitamui.referential.common.dto.ProfileDto; +import fr.gouv.vitamui.referential.external.client.ProfileExternalRestClient; +import fr.gouv.vitamui.referential.external.client.ProfileExternalWebClient; +import fr.gouv.vitamui.ui.commons.service.AbstractPaginateService; +import fr.gouv.vitamui.ui.commons.service.CommonService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.Resource; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.util.Collection; +import java.util.Optional; + +@Service +public class ProfileService extends AbstractPaginateService<ProfileDto> { + static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(ProfileService.class); + private final ProfileExternalWebClient webClient; + private final CommonService commonService; + private ProfileExternalRestClient client; + + + @Autowired + public ProfileService(final ProfileExternalRestClient client, ProfileExternalWebClient webClient, + CommonService commonService) { + this.client = client; + this.webClient = webClient; + this.commonService = commonService; + } + + public Collection<ProfileDto> getAll(final ExternalHttpContext context, final Optional<String> criteria) { + return client.getAll(context, criteria); + } + + @Override + public BasePaginatingAndSortingRestClient<ProfileDto, ExternalHttpContext> getClient() { + return client; + } + + + @Override + public PaginatedValuesDto<ProfileDto> getAllPaginated(final Integer page, final Integer size, + final Optional<String> criteria, + final Optional<String> orderBy, final Optional<DirectionDto> direction, final ExternalHttpContext context) { + return super.getAllPaginated(page, size, criteria, orderBy, direction, context); + } + + protected Integer beforePaginate(final Integer page, final Integer size) { + return commonService.checkPagination(page, size); + } + + public boolean check(ExternalHttpContext context, ProfileDto ProfileDto) { + return client.check(context, ProfileDto); + } + + public ResponseEntity<JsonNode> updateProfile(final ExternalHttpContext c, final ProfileDto dto) { + if (StringUtils.isBlank(dto.getIdentifier())) { + throw new IllegalArgumentException("Profile is mandatory."); + } + return client.updateProfile(c, dto); + } + + + public void delete(ExternalHttpContext context, String id) { + client.delete(context, id); + } + + + public ResponseEntity<Resource> download(ExternalHttpContext context, String id) { + return client.download(context, id); + } + + public ResponseEntity<JsonNode> importProfiles(ExternalHttpContext context, MultipartFile file) { + return webClient.importProfiles(context, file); + } + + public ResponseEntity<JsonNode> updateProfileFile(ExternalHttpContext context, String id, MultipartFile profileFile) + throws IOException { + return client.updateProfileFile(context, id, profileFile); + } +} diff --git a/ui/ui-pastis/src/main/resources/application-dev.yml b/ui/ui-pastis/src/main/resources/application-dev.yml new file mode 100644 index 000000000..75769933d --- /dev/null +++ b/ui/ui-pastis/src/main/resources/application-dev.yml @@ -0,0 +1,167 @@ +spring: + config: + use-legacy-processing: true + profiles: + active: dev, swagger + + cloud: + consul: #disable for dev + enabled: false + discovery: + enabled: false + register: false + +ui-pastis: + platform-name: VITAM-UI + portal-logo: logo_PORTAL.png + header-logo: logo_HEADER.png + footer-logo: logo_FOOTER.png + user-logo: logo_USER.png + portal-message: "Profitez d'un portail unique pour rechercher dans les archives de vos coffres, pour déposer des éléments en toutes sécurité et pour imprimer des etiquettes en quelques clics." + portal-title: "Portail des applications de l'archivage" + theme-colors: + vitamui-primary: "#702382" + vitamui-secondary: "#2563A9" + vitamui-tertiary: "#C22A40" + vitamui-header-footer: "#ffffff" + vitamui-background: "#F5F7FC" + assets: src/main/resources/assets + iam-external-client: + server-host: localhost + server-port: 8083 + secure: true + ssl-configuration: + keystore: + key-path: src/main/resources/dev/keystore_ui-pastis.jks + key-password: BDjtZqdOx5obBkAsFpQ97zV92m3Ov1xA37oq2C4WkdwFW8kP + type: JKS + truststore: + key-path: src/main/resources/dev/truststore_server.jks + key-password: changeme + hostname-verification: false + referential-external-client: + server-host: localhost + server-port: 8087 + connect-time-out: 30 + read-time-out: 30 + write-time-out: 30 + secure: true + ssl-configuration: + keystore: + key-path: src/main/resources/dev/keystore_ui-pastis.jks + key-password: BDjtZqdOx5obBkAsFpQ97zV92m3Ov1xA37oq2C4WkdwFW8kP + type: JKS + truststore: + key-path: src/main/resources/dev/truststore_server.jks + key-password: changeme + hostname-verification: false + pastis-external-client: + server-host: localhost + server-port: 8015 + connect-time-out: 30 + read-time-out: 30 + write-time-out: 30 + secure: true + ssl-configuration: + keystore: + key-path: src/main/resources/dev/keystore_ui-pastis.jks + key-password: BDjtZqdOx5obBkAsFpQ97zV92m3Ov1xA37oq2C4WkdwFW8kP + type: JKS + truststore: + key-path: src/main/resources/dev/truststore_server.jks + key-password: changeme + hostname-verification: false + base-url: + portal: "https://dev.vitamui.com:4200" + archives-search: "https://dev.vitamui.com:4209/archive-search" + admin-identity: "https://dev.vitamui.com:4201/" + identity: "https://dev.vitamui.com:4201/" + ingest: "https://dev.vitamui.com:4208/ingest" + referential: "https://dev.vitamui.com:4202" + pastis: "https://dev.vitamui.com:4251" + customer: + technical-referent-email: contact@programmevitam.fr + website-url: http://www.programmevitam.fr + portal-categories: + ingest_and_consultation: + title: "Versement & consultation" + displayTitle: true + order: 1 + referential: + title: "Référentiels" + displayTitle: true + order: 2 + supervision_and_audits: + title: "Supervision & Audits" + displayTitle: true + order: 3 + security_and_application_rights: + title: "Sécurité & droits applicatifs" + displayTitle: true + order: 4 + organization_and_user_rights: + title: "Organisation & droits utilisateurs" + displayTitle: true + order: 5 + +server: + host: dev.vitamui.com + port: 9015 + scheme: https + ssl: + key-store: src/main/resources/dev/keystore_ui-pastis.jks + key-store-password: BDjtZqdOx5obBkAsFpQ97zV92m3Ov1xA37oq2C4WkdwFW8kP + key-password: BDjtZqdOx5obBkAsFpQ97zV92m3Ov1xA37oq2C4WkdwFW8kP + enabled-protocols: TLSv1.1,TLSv1.2,TLSv1.3 + ciphers: ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384 + + servlet.session.cookie.path: /pastis-api + compression: + enabled: true + mime-types: text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json + min-response-size: 1024 + +management: + server: + address: localhost + port: 9115 + ssl: + enabled: false + +ui: + url: "https://dev.vitamui.com:4251" + redirect-url: https://dev.vitamui.com:9015/${ui-prefix} + +cas: + internal-url: https://dev.vitamui.com:8080/cas + external-url: https://dev.vitamui.com:8080/cas + callback-url: ${ui.url}/pastis-api/callback + ssl: + trust-store: src/main/resources/dev/truststore_server.jks + trust-store-password: changeme + +# Jaeger +opentracing: + jaeger: + enabled: true + logSpans: true + expandExceptionLogs: true + udp-sender: + host: localhost + port: 6831 + +# Uncomment if you want to use you specific logback config. +#logging: +# config: src/main/resources/dev/logback.xml + +debug: false +logging: + level: + fr.gouv.vitamui: DEBUG + fr.gouv.vitamui.commons.rest.AbstractRestController: INFO + +management.endpoints.web.exposure.include: "*" + +pua: + definitions: + file: pua_validation/ProfileJson diff --git a/ui/ui-pastis/src/main/resources/application-recette.yml b/ui/ui-pastis/src/main/resources/application-recette.yml new file mode 100644 index 000000000..abeb72a46 --- /dev/null +++ b/ui/ui-pastis/src/main/resources/application-recette.yml @@ -0,0 +1,13 @@ +spring: + profiles: recette + +ui-pastis: + base-url: + portal: "https://dev.vitamui.com:9000" + admin-identity: "https://dev.vitamui.com:9001/identity" + identity: "https://dev.vitamui.com:9001/identity" + +ui: + url: "https://dev.vitamui.com:9015" + redirect-url: ${ui.url} + diff --git a/ui/ui-pastis/src/main/resources/application.yml b/ui/ui-pastis/src/main/resources/application.yml new file mode 100644 index 000000000..223c27b17 --- /dev/null +++ b/ui/ui-pastis/src/main/resources/application.yml @@ -0,0 +1,52 @@ +# TECHNICAL PROPERTIES / DON'T put environment properties +# This property can be override by a config file give at run time with spring.config.location + +spring: + application: + name: ${server-identity.identityRole} + api: + name: API for Pastis UI + description: This API is used by the Pastis UI to retrieve applications for the connected user. This API should be used by the Pastis UI only. + version: v1 + jackson: + serialization: + write-dates-as-timestamps: false + +management: + endpoints: + jmx: + domain: ${server-identity.identityRole} + unique-names: true + web.exposure.include: '*' + endpoint: + health: + show-details: always + prometheus: + enabled: true + +ui-pastis: + prefix: pastis-api + limit-pagination: 1000 + +ui-prefix: ${ui-pastis.prefix} + +server-identity: + identityName: vitamui + identityRole: ui-pastis + identityServerId: 1 + +server: + compression: + enabled: true + mime-types: text/html,text/css,application/javascript,application/json + servlet.session.timeout: 4h + servlet.session.cookie.max-age: ${server.servlet.session.timeout} + server.servlet.session.cookie.http-only: true + server.servlet.session.cookie.path: / + server.servlet.session.cookie.secure: true + +controller: + subrogation: + enabled: true + user: + enabled: true diff --git a/ui/ui-pastis/src/main/resources/assets/logo.png b/ui/ui-pastis/src/main/resources/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d1c46c709a98c3d0aa252b07713dc3a5cef24286 GIT binary patch literal 13689 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 XT4X+TB6v!E00000NkvXXu0mjfji-P8 literal 0 HcmV?d00001 diff --git a/ui/ui-pastis/src/main/resources/assets/logo_FOOTER.png b/ui/ui-pastis/src/main/resources/assets/logo_FOOTER.png new file mode 100644 index 0000000000000000000000000000000000000000..b930188fe59ea310f1e48c5ceaec30fa9766e37e GIT binary patch literal 7058 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 literal 0 HcmV?d00001 diff --git a/ui/ui-pastis/src/main/resources/assets/logo_HEADER.png b/ui/ui-pastis/src/main/resources/assets/logo_HEADER.png new file mode 100644 index 0000000000000000000000000000000000000000..b930188fe59ea310f1e48c5ceaec30fa9766e37e GIT binary patch literal 7058 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 literal 0 HcmV?d00001 diff --git a/ui/ui-pastis/src/main/resources/assets/logo_PORTAL.png b/ui/ui-pastis/src/main/resources/assets/logo_PORTAL.png new file mode 100644 index 0000000000000000000000000000000000000000..d1c46c709a98c3d0aa252b07713dc3a5cef24286 GIT binary patch literal 13689 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 XT4X+TB6v!E00000NkvXXu0mjfji-P8 literal 0 HcmV?d00001 diff --git a/ui/ui-pastis/src/main/resources/assets/logo_USER.png b/ui/ui-pastis/src/main/resources/assets/logo_USER.png new file mode 100644 index 0000000000000000000000000000000000000000..3d864927ab707674f71288487b58ecfee212e68e GIT binary patch literal 9138 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 literal 0 HcmV?d00001 diff --git a/ui/ui-pastis/src/main/resources/dev/keystore_ui-pastis.jks b/ui/ui-pastis/src/main/resources/dev/keystore_ui-pastis.jks new file mode 100644 index 0000000000000000000000000000000000000000..b4d2ca50f98241fcc50725547ba584163424802d GIT binary patch literal 3861 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 Yvs5U@c0ikRSH8YzpRmLxuT|B*0IFCAjsO4v literal 0 HcmV?d00001 diff --git a/ui/ui-pastis/src/main/resources/dev/logback.xml b/ui/ui-pastis/src/main/resources/dev/logback.xml new file mode 100644 index 000000000..23a488864 --- /dev/null +++ b/ui/ui-pastis/src/main/resources/dev/logback.xml @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<configuration> + + <!-- Send debug messages to System.out --> + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <!-- By default, encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder --> + <encoder> + <pattern>%d{ISO8601} [[%thread]] [%X{X-Request-Id}] %-5level %logger - %replace(%caller{1..2}){'Caller\+1 at + |\n',''} : %msg %rootException%n + </pattern> + </encoder> + </appender> + + <!-- <appender name="FILE" class="ch.qos.logback.core.FileAppender"> --> + <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> + <fileNamePattern>/tmp/vitamui/ui-portal.%d{yyyy-MM-dd}.%i.log</fileNamePattern> + <maxFileSize>10MB</maxFileSize> + <maxHistory>30</maxHistory> + <totalSizeCap>5GB</totalSizeCap> + </rollingPolicy> + + <encoder> + <pattern>%d{ISO8601} [[%thread]] [%X{X-Request-Id}] %-5level %logger - %replace(%caller{1..2}){'Caller\+1 at + |\n',''} : %msg %rootException%n + </pattern> + </encoder> + </appender> + + <appender name="SYSLOG" class="ch.qos.logback.classic.net.SyslogAppender"> + <syslogHost>localhost</syslogHost> + <facility>local0</facility> + <port>5140</port> + <suffixPattern>vitamui-ui-portal: %d{ISO8601} [[%thread]] [%X{X-Request-Id}] %-5level %logger - + %replace(%caller{1..2}){'Caller\+1 at |\n',''} : %msg %rootException%n + </suffixPattern> + </appender> + + <!-- By default, the level of the root level is set to TRACE --> + <root level="INFO"> + <appender-ref ref="STDOUT"/> + <appender-ref ref="FILE"/> + <appender-ref ref="SYSLOG"/> + </root> + + <logger name="org.springframework.web" level="INFO"/> + <logger name="fr.gouv.vitamui.portal" level="INFO"/> + +</configuration> diff --git a/ui/ui-pastis/src/main/resources/dev/truststore_server.jks b/ui/ui-pastis/src/main/resources/dev/truststore_server.jks new file mode 100644 index 0000000000000000000000000000000000000000..3ad9932ba4e9f999eebcacf469be064e2e7ad982 GIT binary patch literal 3626 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 literal 0 HcmV?d00001 diff --git a/ui/ui-pastis/src/test/java/fr/gouv/vitamui/pastis/config/PastisApplicationPropertiesTest.java b/ui/ui-pastis/src/test/java/fr/gouv/vitamui/pastis/config/PastisApplicationPropertiesTest.java new file mode 100644 index 000000000..802cb7a11 --- /dev/null +++ b/ui/ui-pastis/src/test/java/fr/gouv/vitamui/pastis/config/PastisApplicationPropertiesTest.java @@ -0,0 +1,67 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.config; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.info.BuildProperties; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import static org.assertj.core.api.Assertions.assertThat; + +@RunWith(SpringJUnit4ClassRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK) +public class PastisApplicationPropertiesTest { + + @MockBean + BuildProperties buildProperties; + @Autowired + private PastisApplicationProperties applicationProperties; + + @Test + public void testApplicationProperties() { + assertThat(applicationProperties).isNotNull(); + assertThat(applicationProperties.getLimitPagination()).isNotNull(); + assertThat(applicationProperties.getPrefix()).isNotNull(); + assertThat(applicationProperties.getIamExternalClient()).isNotNull(); + assertThat(applicationProperties.getPastisExternalClient()).isNotNull(); + } +} diff --git a/ui/ui-pastis/src/test/resources/application.yml b/ui/ui-pastis/src/test/resources/application.yml new file mode 100644 index 000000000..40b9752af --- /dev/null +++ b/ui/ui-pastis/src/test/resources/application.yml @@ -0,0 +1,104 @@ +spring: + application: + name: ${server-identity.identityRole} + api: + name: API for pastis UI + description: DESCRIPTION HERE. + version: v1 + profiles: + active: test + jmx: + default-domain: pastis # Need to change endpoints bean name when there is multiple instance of spring boot + cloud: + consul: + discovery: + enabled: false + register: false + +ui-pastis: + prefix: pastis-api + iam-external-client: + server-host: localhost + server-port: 8083 + secure: false + ssl-configuration: + keystore: + key-path: "@project.build.testOutputDirectory@/keystore_sae-app.p12" + key-password: azerty + truststore: + key-path: "@project.build.testOutputDirectory@/truststore_sae-app.jks" + key-password: azerty + hostname-verification: true + referential-external-client: + server-host: localhost + server-port: 8085 + secure: false + ssl-configuration: + keystore: + key-path: "@project.build.testOutputDirectory@/keystore_sae-app.p12" + key-password: azerty + truststore: + key-path: "@project.build.testOutputDirectory@/truststore_sae-app.jks" + key-password: azerty + hostname-verification: true + pastis-external-client: + server-host: localhost + server-port: 8015 + secure: false + ssl-configuration: + keystore: + key-path: "@project.build.testOutputDirectory@/keystore_sae-app.p12" + key-password: azerty + truststore: + key-path: "@project.build.testOutputDirectory@/truststore_sae-app.jks" + key-password: azerty + hostname-verification: true + base-url: + portal: "https://localhost:4200" + pastis: "${ui.url}" + +ui-prefix: pastis-api + +server-identity: + identityName: vitamui + identityRole: ui-pastis + identityServerId: 1 + +server: + compression: + enabled: true + mime-types: text/html,text/css,application/javascript,application/json + host: dev-pastis.vitamui.com + port: 8081 + scheme: https + ssl: + key-store: ../../dev-deployment/environments/keystores/server/localhost/keystore_ui-pastis.jks + key-store-password: BDjtZqdOx5obBkAsFpQ97zV92m3Ov1xA37oq2C4WkdwFW8kP + key-password: BDjtZqdOx5obBkAsFpQ97zV92m3Ov1xA37oq2C4WkdwFW8kP + enabled-protocols: TLSv1.1,TLSv1.2,TLSv1.3 + ciphers: ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384 + +controller: + subrogation: + enabled: true + user: + enabled: true + +ui: + url: https://localhost:4201 + redirect-url: ${ui.url} + +cas: + internal-url: https://dev.vitamui.com:8080 + external-url: https://dev.vitamui.com:8080 + callback-url: ${ui.url}/callback + ssl: + trust-store: ../../dev-deployment/environments/keystores/server/truststore_server.jks + trust-store-password: changeme + +debug: false +logging: + level: + fr.gouv.vitamui: DEBUG +# Pastis Rest APi +pua.definitions.file: pua_validation/ProfileJson.json diff --git a/ui/ui-portal/src/main/resources/dev/keystore_ui-portal.jks b/ui/ui-portal/src/main/resources/dev/keystore_ui-portal.jks index 07f63162f4b4065aa83e3aa50caf5027a4a6e8bf..c8fd0e8988a4521bb097ae37f38991f13666eca1 100644 GIT binary patch delta 3612 zcmV+%4&(8a9+MuB9)Eq0()QB;011UKf(d~z4h9M<1_1;CDgqG!0R;dAf(dQ%MmgcL zsH_i_pdrBA6>E$?OhBo%k=h8VFifw4JzGb=zzWNK+dG2^TvvdUMjml^;0N5D7V9rT z*x}v@5GdZ!qfO-;;9AbI0-p%$lP|{)PWz=v(U!~-aXWTD=zkynztu@LYj^YU_iR&h zck~f*=Xb<0PJfV<n=`^+P&4w(1UCeJKPOf-q&g;Tw(}Rn>nT*Kk&ONStW8Q7F{F`Z z-EVa5f-l!`oyolTa?mI~cOh(C3(zMYPgh(>GBiM&Y+~OJR{1+I>j%EBZl8hlK$qS* zkrboG_e-P^0)J+pPcdT5mX%H|#vvdTDJ{LT{;L5zQ>RumLy;@-7CW=nywuE|d`m;~ zaQTNUO!5?bVpa*7Qf^stQcW%8Mnrx^r<@PSs5g>J4MGd6BF<8G90lhARE4ZNU+t%8 z3`0>moQa;@tNWbihOQ=<kY+`3(jMbgh1G97Md;WRvws95&&IMGhXTnuyLadi!786A zXJ4}RZbpa^D=lnW>@!Lr1&8WioZk{&O*3H?s;nPX`!2>~=13Crd0a1-@;47t3khCp zEZ~eUY0ym&Qk+6d6G{&i@ii~Jn6(EoqP^NjPxXfyZPu19aV0Y?^3U&u671SWsC-Mt zS_`K98h`R>8ryI2J4fsWaQnw@#6@acfju)fx;D&SF_Vnet}!fUM|tkC0Nya2-hCl0 z&Gdm{!VZAjn#*rkCqJyA4Xi!R=CxA>$}YWT#?s=)6Zx_~j1exqiIMEFT{1i}WGF!{ zK)!jAls)s{hDNa11&$IsnE{;V>@)Jr{4;1<`+xFIA)mmfP^6)-sA_oy+YWo1S|+Di zgsqwa@0+Pz&Xd}G6;DTNtyRL*+vuP6ePStinz#>k+S6G)$M|%@!qRBpGcSZAmMMk< zT?6<b*Tn`=7ekDX*qOAyO`4NUo{xU*-D9np9-3RjDwXa*iZCm7Nja*Q-NsSVU)__y zzJKQz=rxT^DZr>}YVd0r5RjAq+Vt^b$O{Ms=4`(3iXNmkpvY4y3e<B^Xkw9<`kS-? zDyv=6(ahRS!bUDyHt`qh306%9HjX}K>0i<qY1+W+eLB5kZobM!)3~0v6e#zbA6cK^ z@udb3GaV-O0ErG5*c5MbCrhdV@9sn2Ab))JB`(ec1jB9c^xa~_!U%S@y)?s!&N2D? z#mgAJpqRh-HQ7y;DCN2fj$QY&igOHlKA=LN^FO;+x3`8=O3s=IVvjw*y?+GW28)49 zC|KI2We@X?c!CErwf`j)g~Q|q&sKVpq0l*izMg1$*zfi#QXtCwdUW((yBT~2>VFxJ zTzcsUK9;>|IhbsbN&)@B*7r<&^4oDQ%*VSjNF;WpAU*^Y$q9YOJ`h2H4^Z-y+Ak8s z#qFEtyJa;)fr~#yI6DObq-tZ~NKrl!2$yRmh47ll4@`2@HnLNAMEi*Wg^LD9FG=Y? zvz^AD{E6W4%vxy8Q7AcR*W=?8|9?V0(%qG`oy&0oB5xH5D<tPpN3gQb6cN}byN-S7 z<UP|6{dQ!erci%L+b}6=j-n6~Wd8wWezXaBFksK+M(d%LPH?BSNvj>YdV@j`kFh-? z-Do)@-2ANFv=SGNs3&r8pGk&Cgj3;G!Soehk?9KiiSf#SbLH+_nTvf}cz;TLRJPK? zP9=RFK*?@3v}X_mG)TkG2&lE(KX>)si1h8RV`+smE$UY{XfUjkJK-@<^GBJtA4;+= zsmZaQgA8hd>+;);#1BR*65S{0vDMkk_b1_=sHhXzn!O`R*iPe(r9au2)ykMF(27}B zL1j^2UOx@=(Lqpg5;npT`+qCj+SAA3ko|0`neSbK(CA3L>pn~E3$PBhqli1Nxnq^V z8|Eh%nPi2V8pMe33O9P+#yu&8Ie6mn*?aPMF=ufu5iC<kLu7-#HZ%97oXYEFw=9u` z`t_I4z#3>i0;O&SqsQyLgT+=YijZ6UicK{?na&T^$)^1=^g3x!mVeJPn>ajmd<Xt? zZpoAYbH1=c3MOuqAu{r**M2zHwP;UnDm)-5QNyRPF-Fq+n-@>QD(ganXI>9PR33<U z<YWl}3(G2&rCGKx3*%Lm6RTBUrJ2`fe6KJE1!LK{w@d@eblJ*G;?`12mpF;s0q49{ zgG&P`7SyTZ${tyV!+)!jg)ZyoA0!i^;S+ni{coX`G`A0wZpL)3$ZsumbL4IMC5#aD z+6+#Eu+Jokn%82L_&?b`jv<x?S0#%zP#E~uLT=y;jmxZ-w{>B3j0$(Yhk$!q(`Qbk zBJ;~uuezQMdC$Vjg$bh?mxn4r@w^;UTOX^ERVBQQLiX?8O@E&8hZ6LJnvT)F^Q|jF zv39Y!*0QB}At1beMEsqN$&#a#^koc5@zhK?&mj{<g%#^qi<Qo#;j|e}g<!eFn##8= zXGr<OXdyAQXj?c@%(fymwn)GCLXagQl1{;FifsT|DsM(!x)e}$P;<cSrE9Ri40#;K z<C$Q{H>opOG=B(#vqRH_s6_-xm+R=0Ca$O46GFo>(T4b5qX{;-oc3hER-4U+m-!-# zfa$l+JkoBH>IxhH1!#RxmY4`@a|a-X+Ppu>PlL+37`juuXc-4vXDD8LDcDDvgQiy_ zrpXEb>}`NBT%{|wV?!350gGv)1BwTdDt`$?|K$NhTYqCFK?qpu1=X2@cFE(*3G_-^ zk&EG7w7rqrZdN-L8i2RXMCUJ9I}H-G6yznA>>n*MO*bflmsoMG)#tovy_{q{IwSv9 zHvfZ0PvA$c!(Pv#o+bu(2QvF%Y=$#?H;rf-o)5pD1W4rw?6Z`GPK^VOES(UHGxY#= zOot73x_`U4F$x;O@%eOFNPA7ooC~yZt#2b0eCBpE7*7s|r&mnTIs-_4s%0aUm~94* zM#2GDeL`nWWw{NhJy=fuC@qtoCEgTQKSqip_w}S%xM)hqMg6&o?Ii2od~8~~H)i<A z74HG~>p-}oT&#X*OIz8A>%3w%s+QkjVX^RsVSh13y2*tZ(C;Nf3Qa<kdoJ#l{oDre zbcmlwC;j6=Mqt@Is!og(WP1Y+STWJJgKyZWBj06SN;}Z`hw)U~E1Q&}#mGHKzTl>^ zNQBH$jB4ABW>C|}{Po%{`28#9U#+PDsMD4fLPb1AcuYOM@Z@)sgAx~s31~HCw0h6o zv^)?(F#5^d+pLp~oxNl52!`fHZ)jbDNEe!7R=Ku0%B{2j000311z0XMFgXAK1w=4{ z1wb%@11JIl0FRT&35psqF)}bVF)}qZF)~^g4Kg$_GB7nUGBq_ZGLvlzdw;wQ4#F<w zW!0999b^4_hXEf8M(v8pF&yYU&({PnAd*Fv<|JG@XEQ=Z%iV}~HbG<Oq^Pyv<0{FM zAyo75p<&Ji^7rL?I{j!N(|pw&@uCfb>H>Uj`cs=>#|J)3AxV%`JzJep?LbF@uY!r| z%mY?qj%Gznj8C&aSIb{>p?}}jOHmy!1&&*?$%iEdn$oF~))Z8yENuq{w(RbKv@o>N zvxd>G6Ov)+dGb(V;Ak4g;hNk+ET=FQqjRmTYh^zadHEVCFw8-0pl<{i&hIvya%Dpk z!TVlZj329F<Fj|@TuZ@l!I}Y6Q-JRjovVt=1suhYaTF{UHh1~bhkws&R3WC8BwP6F zzf%sMx4s6lPq1mpS|7}1efzs$;tpdreP?HL<BLvl1|izWVk(A4%Q#D`B{B<SSAVBL z<dxho69MQ7!yRpLJ5OO)c^+83Dn)Py);UF9|2?a;7WQnbsF7)~_i6Q;4zWz9X0nfE z<AND$GmL%{djbTlaevM27)*)t?hUbf@RnVsQZt(8zLJiFEUl(_I7nF`zV68%)<Rva z4yvsf?0_)d{cTdyYt#$12fAn_*)0N-++~kK8}Ow|6M7aZ=1?T@D;icu#bHNRQ_+Sn zfwCs`l0;i6`+ei&yK6zQ3^P77jusZU))XEz(gNUPW0TKow10F!_YVRC0RRCo4F(A+ zhDe6@4FLfQ1potr0s#OXW^u&>h&rK=T4_0H*p_h!>dQDGYBKISR|c2*tu$A8`W0@} z>nAwPrV%c9eTuE^eY$jr#os`?mMOD?GxuAIT?yz}rb9at1=IAI;07E}*25PCVHcSm zu)HSj1+eXdyMKs^#i&W}kjFAqE`w(;OB0XX-U4*5t;7?|%<2aW@cTg-SheoOij$+d zt=#NLtR(?jTwJ{uS4Yv-$)jUDAwfdZh~ajuQbL54@EB{&QcxDw;t0C0;Z;ncofE{N zHW+?H8{wRzl9k=!L_)gT)#L>Et_R&DU#s&r(Sp)$B!8URgpUK?bRW@q{O~_C7bc$t zo9IMZQwjb%8PjjB<T-Z{TZ=4)m|HZKd5)KEIDFp^(YGJZFi404IDjBCXXlR~A{P}R zI$14IS+=`R$F?Psiq4;#ghR7s{i$<HnejmGsp3OC4zjj47c^+`J4XR~oO!^3C{`e~ z4XH%S%YSp;ee^KLSNscT(7#0>FZt@kYukcwQ-?E-gH9n20Bc>J_|8$BNF(iTFL}PS zli}c=-dBNOSn~+I4*)5vnyiHd<1<e97c52fD>{HI@k!(^*=w7?Ch$lGz%A%?z~XBq zw-=ZUxL!2BY1gQ9?P_v;wMbcP2iu!_LZQaRrZsk(b?PV{_!fMUiXTdU4RO?{gv>$Y iPSeI4Q)S)>$tva_+|$opOxi*;aO;Io%3>2fX(TZ>;kUW~ delta 3614 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 diff --git a/ui/ui-portal/src/main/resources/dev/keystore_ui-referential.jks b/ui/ui-portal/src/main/resources/dev/keystore_ui-referential.jks index 6a435ca4cb27e75cf6ad522732f18d6f2afe3797..e902481e5c3b1854ed1a3e058b9e3b79942b065e 100644 GIT binary patch delta 3595 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 RZFFK|?qj6l3A8IuF{xnd<%j?P delta 3600 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 W7W6y`j0RyXHY>4760^WLj*-*Pc+ma; diff --git a/ui/ui-portal/src/main/resources/dev/truststore_server.jks b/ui/ui-portal/src/main/resources/dev/truststore_server.jks index c25bb727ec4db42c6b9582f530209b6fc160ffff..3ad9932ba4e9f999eebcacf469be064e2e7ad982 100644 GIT binary patch literal 3626 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