From 6ba52f45af713c54784759687079f8e6b36a016e Mon Sep 17 00:00:00 2001 From: Valentin Lacour Date: Wed, 19 Nov 2025 16:22:12 +0100 Subject: [PATCH 1/6] feat(block storage): create guide about choosing classes --- .../guide.en-gb.md | 100 +++++++++++++++++ .../guide.fr-fr.md | 106 ++++++++++++++++++ .../meta.yaml | 3 + 3 files changed, 209 insertions(+) create mode 100644 pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.en-gb.md create mode 100644 pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.fr-fr.md create mode 100644 pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/meta.yaml diff --git a/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.en-gb.md b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.en-gb.md new file mode 100644 index 00000000000..92991f754e6 --- /dev/null +++ b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.en-gb.md @@ -0,0 +1,100 @@ +--- +title: Choosing the Right Block Storage Class +excerpt: Discover how to choose the right OVHcloud Block Storage class. Compare performance, pricing, and use cases to optimize your storage for both cost and efficiency. +updated: 2025-11-24 +--- + +## Objective + +This guide helps you understand the different OVHcloud Block Storage classes and choose the one that best fits your needs. You will learn about performance levels, pricing considerations, and recommended use cases to make informed storage decisions. + +## Block Storage Overview + +Block Storage is a high-performance, flexible, and reliable solution for critical workloads. Attach volumes directly to your instances, scale capacity from 10 GB to 12 TB, and choose the right class: Regional Classic, Classic, or High Speed to match your performance and availability needs. Ideal for databases, VMs, and containerized applications, with features like snapshots, backups, and encryption. + +## Block Storage Classes + +Our **Block Storage classes** are designed to meet different requirements for your workloads, including performance, availability, and resiliency. Choose the right class to optimize speed, redundancy, and cost for your applications. + +### Regional Classic Volume + +The Regional Classic Volume class provides high availability by automatically replicating data across three availability zones within a region (3-AZ). Volumes are backed by NVMe over Fabric storage for fast and reliable access. + +This class is suitable for workloads requiring high availability and resilience, such as critical databases and distributed applications. + +### Classic Volume + +Classic Volume is ideal for everyday application needs, including databases, virtual machines, and backups. Data is replicated within a single availability zone (1-AZ) or Local Zone, with guaranteed NVMe performance. + +This class is suitable for standard workloads where low-latency and reliability are important, but multi-zone replication is not required. + +### High Speed Volume + +High Speed Volume comes in two generations, offering different performance profiles: + +- Gen 1: Up to 3,000 IOPS and 128 MB/s – suitable for general high-speed workloads. +- Gen 2: 30 IOPS/GB (max 20,000 IOPS) and 0.5 MB/s per GB (max 320 MB/s) – recommended for intensive applications requiring maximum I/O and throughput. + +Choose Gen 1 for standard high-speed use cases, and Gen 2 for heavy workloads like analytics, large databases, or high-performance computing. + +### Comparison Table + +| Storage Class | Use Cases | Performance | Supported Regions | Availability SLA | Replication | Notes | +| --- | --- | --- | --- | --- | --- | --- | +| **High Speed Volume** | High-performance workloads, analytics, large databases | Gen 1: up to 3,000 IOPS, 128 MB/s
Gen 2: 30 IOPS/GB (max 20,000 IOPS), 0.5 MB/s per GB (max 320 MB/s) | 3-AZ, 1-AZ, Local Zones | 99,9% | Zonal | Optimized NVMe, scalable performance | +| **Regional Classic Volume** | Critical applications, distributed systems | 500 IOPS guaranteed, 64 MB/s | 3-AZ | 99,99% | Multi-zone | NVMe over Fabric, high availability | +| **Classic Volume** | Everyday workloads, VMs, backups | 500 IOPS guaranteed, 64 MB/s | 1-AZ, Local Zones | 99,9% | Zonal | NVMe over Fabric, standard performance | + +### Additional details + +#### Minimum storage duration + +For Block Storage, there is no minimum storage duration, you can attach or delete volumes at any time without extra charges. You are billed only for the actual usage of the volume during the period it exists. + +#### Backup and snapshot fees + +While standard volume usage is billed per GB/month, [snapshots](/pages/public_cloud/compute/creating_a_volume_snapshot) and [backups](/pages/public_cloud/compute/volume-backup) stored on Object Storage may incur additional storage costs. Snapshots allow you to capture the state of a volume at a given time, and backups enable data protection and recovery. + +#### Lifecycle and resizing + +Block Storage volumes are fully flexible: you can [increase their size](/pages/public_cloud/compute/increase_the_size_of_an_additional_disk) at any time, extend partitions, and attach volumes to different instances. These operations are handled at the volume level, allowing you to optimize storage capacity and performance without downtime. + +#### Encrypted Volumes + +Each Block Storage volume type is also available in an encrypted version (LUKS). These volumes ensure data confidentiality without impacting performance. + +Encrypted volumes can be created directly from the OVHcloud Control Panel or via CLI/API tools by specifying the volume type with the suffix `-luks` (for example, classic-luks or highspeed-luks). This provides an easy and secure way to protect sensitive data while leveraging the same performance and features as standard volumes. + +> [!primary] +> +> Encrypted volumes have no impact on performance +> + +## Use Cases + +Block Storage supports a wide variety of workloads thanks to its performance, flexibility, and resilience. Common use cases include: + +- **Databases:** MySQL, PostgreSQL, and other relational databases benefit from low-latency, high-throughput access. +- **Virtual Machines & Containerized Applications:** Persistent storage for VMs and containers with high reliability and fast access. +- **Analytics & AI Workloads:** High Speed Volumes provide maximum IOPS and throughput for data-intensive applications. +- **Backup & Disaster Recovery:** Easily create snapshots and backups for critical data, ensuring fast recovery and protection. + +## Zone and Regional Considerations + +Block Storage volumes can be deployed with different availability options depending on your requirements: + +- **Regional Classic Volume (3-AZ):** Data is replicated across three availability zones in the same region, providing high resilience and SLA of 99.99%. Ideal for critical, highly available applications. See our guide [Proper Usage and Limitations of Classic Multi-Attach Block Storage in 3AZ Regions](/pages/public_cloud/compute/classic_block_multi_az_limitations). +- **Classic & High Speed Volume (1-AZ or Local Zone):** Data is replicated within a single zone. These options provide low-latency access and high performance, suitable for workloads that do not require multi-zone redundancy. +- **Local Zones:** For applications needing ultra-low latency in a specific geographic location, Local Zones allow you to keep storage close to compute resources. + +Choosing the right deployment option ensures optimal performance, redundancy, and cost efficiency based on your workload and geographic requirements. + +## Go further + +If you need training or technical assistance to implement our solutions, contact your sales representative or click on [this link](/links/professional-services) to get a quote and ask our Professional Services experts for assisting you on your specific use case of your project. + +[Creating and configuring an additional disk on an instance](/pages/public_cloud/compute/create_and_configure_an_additional_disk_on_an_instance) + +[Change your Block Storage volume type](/pages/public_cloud/compute/switch_volume_type) + +Join our [community of users](/links/community). \ No newline at end of file diff --git a/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.fr-fr.md b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.fr-fr.md new file mode 100644 index 00000000000..67dcdb957b8 --- /dev/null +++ b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.fr-fr.md @@ -0,0 +1,106 @@ +--- +title: Choisir la bonne classe de Block Storage +excerpt: Découvrez comment choisir la bonne classe de Block Storage OVHcloud. Comparez performances, coûts et cas d’usage pour optimiser votre stockage en termes de prix et d’efficacité. +updated: 2025-11-24 +--- + +## Objectif + +Ce guide vous aide à comprendre les différentes classes de Block Storage OVHcloud et à choisir celle qui correspond le mieux à vos besoins. Vous apprendrez à connaître les niveaux de performance, les considérations tarifaires et les cas d’usage recommandés afin de prendre des décisions de stockage éclairées. + +## Présentation du Block Storage + +Le Block Storage est une solution de stockage performante, flexible et fiable, conçue pour les workloads critiques. Vous pouvez attacher des volumes directement à vos instances, augmenter la capacité de 10 Go à 12 To, et choisir la classe appropriée : Regional Classic, Classic ou High Speed, selon vos besoins en performance et disponibilité. + +Cette solution est idéale pour les bases de données, les machines virtuelles et les applications conteneurisées, avec des fonctionnalités telles que snapshots, sauvegardes et chiffrement. + +## Classes Block Storage + +Nos classes Block Storage sont conçues pour répondre à différents besoins de vos workloads, en termes de performance, disponibilité et résilience. Choisissez la classe adaptée pour optimiser vitesse, redondance et coût. + +### Regional Classic Volume + +La classe Regional Classic Volume offre une haute disponibilité en répliquant automatiquement les données sur trois zones de disponibilité (3-AZ) au sein d’une même région. Les volumes reposent sur des disques NVMe over Fabric, garantissant un accès rapide et fiable. + +Cette classe est adaptée aux workloads nécessitant une haute disponibilité et une forte résilience, comme les bases de données critiques et les applications distribuées. + +### Classic Volume + +La classe Classic Volume est idéale pour les besoins applicatifs quotidiens, tels que les bases de données, les machines virtuelles et les sauvegardes. Les données sont répliquées au sein d’une seule zone de disponibilité (1-AZ) ou d’une Local Zone, avec des performances NVMe garanties. + +Cette classe convient aux workloads standards où la faible latence et la fiabilité sont importantes, mais où la réplication multi-zone n’est pas nécessaire. + +### High Speed Volume + +La classe High Speed Volume est proposée en deux générations, offrant des profils de performance différents : + +- Gen 1 : jusqu’à 3 000 IOPS et 128 Mo/s – adaptée aux workloads nécessitant une vitesse élevée standard. +- Gen 2 : 30 IOPS/Go (maximum 20 000 IOPS) et 0,5 Mo/s par Go (maximum 320 Mo/s) – recommandée pour les applications intensives nécessitant un maximum d’IO et de débit. + +Choisissez Gen 1 pour les workloads haute vitesse classiques, et Gen 2 pour les workloads lourds tels que l’analytique, les grandes bases de données ou le calcul haute performance. + +### Tableau comparatif + +| Classe de stockage | Cas d’usage | Performance | Régions disponibles | SLA de disponibilité | Réplication | Notes | +| --- | --- | --- | --- | --- | --- | --- | +| **High Speed Volume** | Workloads haute performance, analytique, grandes bases de données | Gen 1 : jusqu’à 3 000 IOPS, 128 Mo/s
Gen 2 : 30 IOPS/Go (max 20 000 IOPS), 0,5 Mo/s par Go (max 320 Mo/s) | 3-AZ, 1-AZ, Local Zones | 99,9% | Zonale | NVMe optimisé, performance évolutive | +| **Regional Classic Volume** | Applications critiques, systèmes distribués | 500 IOPS garantis, 64 Mo/s | 3-AZ | 99,99% | Multi-zone | NVMe over Fabric, haute disponibilité | +| **Classic Volume** | Workloads quotidiens, VMs, sauvegardes | 500 IOPS garantis, 64 Mo/s | 1-AZ, Local Zones | 99,9% | Zonale | NVMe over Fabric, performance standard | + +### Détails supplémentaires + +#### Durée minimale de stockage + +Pour le Block Storage, il n’existe pas de durée minimale de stockage : vous pouvez attacher ou supprimer des volumes à tout moment sans frais supplémentaires. Vous êtes facturé uniquement pour l’utilisation effective du volume pendant la période où il existe. + +#### Frais de snapshots et de sauvegardes + +Bien que l’utilisation standard des volumes soit facturée par Go/mois, les [snapshots](/pages/public_cloud/compute/creating_a_volume_snapshot) et les [sauvegardes](/pages/public_cloud/compute/volume-backup) stockés sur Object Storage peuvent générer des coûts supplémentaires. Les snapshots permettent de capturer l’état d’un volume à un instant donné, et les sauvegardes assurent la protection et la récupération des données. + +#### Gestion du cycle de vie et redimensionnement + +Les volumes Block Storage sont entièrement flexibles : vous pouvez [augmenter leur taille](/pages/public_cloud/compute/increase_the_size_of_an_additional_disk) à tout moment, étendre les partitions et attacher les volumes à différentes instances. Ces opérations sont gérées au niveau du volume, vous permettant d’optimiser capacité et performance sans interruption. + +#### Volumes chiffrés + +Chaque type de volume Block Storage est également disponible en version chiffrée (LUKS). Ces volumes garantissent la confidentialité des données sans impact sur les performances. + +Les volumes chiffrés peuvent être créés directement depuis l’espace client OVHcloud ou via les outils CLI/API en précisant le type de volume avec le suffixe `-luks` (par exemple classic-luks ou highspeed-luks). Cela permet de protéger facilement les données sensibles tout en conservant les mêmes performances et fonctionnalités que les volumes standards. + +> [!primary] +> +> Les volumes chiffrés n’ont aucun impact sur les performances +> + +## Cas d’usage + +Le Block Storage prend en charge une grande variété de workloads grâce à ses performances, sa flexibilité et sa résilience. Les cas d’usage courants incluent : + +- **Bases de données :** MySQL, PostgreSQL et autres bases relationnelles bénéficient d’un accès rapide avec faible latence et haut débit. +- **Machines virtuelles et applications conteneurisées :** Stockage persistant pour les VMs et conteneurs avec fiabilité élevée et accès rapide. +- **Analytique et workloads IA :** Les volumes High Speed offrent un maximum d’IOPS et de débit pour les applications intensives en données. +- **Sauvegarde et reprise après sinistre :** Créez facilement des snapshots et des sauvegardes pour vos données critiques, garantissant une récupération rapide et sécurisée. + +## Considérations sur les zones et la région + +Les volumes Block Storage peuvent être déployés avec différentes options de disponibilité selon vos besoins : + +- **Regional Classic Volume (3-AZ):** Data is replicated across three availability zones in the same region, providing high resilience and SLA of 99.99%. Ideal for critical, highly available applications. See our guide [Proper Usage and Limitations of Classic Multi-Attach Block Storage in 3AZ Regions](/pages/public_cloud/compute/classic_block_multi_az_limitations). +- **Classic & High Speed Volume (1-AZ or Local Zone):** Data is replicated within a single zone. These options provide low-latency access and high performance, suitable for workloads that do not require multi-zone redundancy. +- **Local Zones:** For applications needing ultra-low latency in a specific geographic location, Local Zones allow you to keep storage close to compute resources. + +- **Regional Classic Volume (3-AZ) :** Les données sont répliquées sur trois zones de disponibilité au sein d’une même région, offrant une haute résilience et un SLA de 99,99 %. Idéal pour les applications critiques et très disponibles. Voir notre guide [Utilisation correcte et limitations du stockage Classic Multi-Attach dans les régions 3AZ](/pages/public_cloud/compute/classic_block_multi_az_limitations). +- **Classic & High Speed Volume (1-AZ ou Local Zone) :** Les données sont répliquées dans une seule zone. Ces options offrent un accès à faible latence et de hautes performances, adaptées aux workloads ne nécessitant pas de redondance multi-zone. +- **Local Zones :** Pour les applications nécessitant une latence ultra-faible dans une localisation géographique précise, les Local Zones permettent de conserver le stockage proche des ressources de calcul. + +Choisir la bonne option de déploiement garantit des performances optimales, la redondance et une efficacité des coûts adaptée à votre workload et à vos besoins géographiques. + +## Aller plus loin + +Si vous avez besoin de formation ou d’assistance technique pour mettre en œuvre nos solutions, contactez votre représentant commercial ou cliquez sur [ce lien](/links/professional-services) pour obtenir un devis et demander l’aide des experts de nos Professional Services pour votre cas d’usage spécifique. + +[Créer et configurer un disque additionnel sur une instance](/pages/public_cloud/compute/create_and_configure_an_additional_disk_on_an_instance) + +[Modifier un Volume Block Storage](/pages/public_cloud/compute/switch_volume_type) + +Échangez avec notre [communauté d'utilisateurs](/links/community). \ No newline at end of file diff --git a/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/meta.yaml b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/meta.yaml new file mode 100644 index 00000000000..0216bdb85b0 --- /dev/null +++ b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/meta.yaml @@ -0,0 +1,3 @@ +id: 604798c4-8269-401a-877f-def912fa0860 +full_slug: public-cloud-block-storage-choosing-right-storage-class +reference_category: public-cloud-storage-block-storage \ No newline at end of file From 0652ffd8d284b38620fceda4008c1e8dd26ece3b Mon Sep 17 00:00:00 2001 From: Valentin Lacour Date: Fri, 12 Dec 2025 12:08:35 +0100 Subject: [PATCH 2/6] uup --- .../guide.en-gb.md | 17 ++++++++++++----- .../guide.fr-fr.md | 17 ++++++++++++----- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.en-gb.md b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.en-gb.md index 92991f754e6..78ccc5872e6 100644 --- a/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.en-gb.md +++ b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.en-gb.md @@ -18,7 +18,9 @@ Our **Block Storage classes** are designed to meet different requirements for yo ### Regional Classic Volume -The Regional Classic Volume class provides high availability by automatically replicating data across three availability zones within a region (3-AZ). Volumes are backed by NVMe over Fabric storage for fast and reliable access. +The Regional Classic Volume class provides high availability by automatically replicating data across three availability zones within a region (3-AZ). Volumes are backed by NVMe over Fabric storage for fast, consistent and reliable access. + +To ensure service continuity even in the event of an AZ failure, this class also supports [multi-attach](/pages/public_cloud/compute/classic_block_multi_az_limitations), allowing multiple instances located in different availability zones to simultaneously attach and use the same volume. This class is suitable for workloads requiring high availability and resilience, such as critical databases and distributed applications. @@ -33,7 +35,7 @@ This class is suitable for standard workloads where low-latency and reliability High Speed Volume comes in two generations, offering different performance profiles: - Gen 1: Up to 3,000 IOPS and 128 MB/s – suitable for general high-speed workloads. -- Gen 2: 30 IOPS/GB (max 20,000 IOPS) and 0.5 MB/s per GB (max 320 MB/s) – recommended for intensive applications requiring maximum I/O and throughput. +- Gen 2: 30 IOPS/GB (max 20,000 IOPS) and 0.5 MB/s per GB (max 512 MB/s) – recommended for intensive applications requiring maximum I/O and throughput. Choose Gen 1 for standard high-speed use cases, and Gen 2 for heavy workloads like analytics, large databases, or high-performance computing. @@ -41,7 +43,7 @@ Choose Gen 1 for standard high-speed use cases, and Gen 2 for heavy workloads li | Storage Class | Use Cases | Performance | Supported Regions | Availability SLA | Replication | Notes | | --- | --- | --- | --- | --- | --- | --- | -| **High Speed Volume** | High-performance workloads, analytics, large databases | Gen 1: up to 3,000 IOPS, 128 MB/s
Gen 2: 30 IOPS/GB (max 20,000 IOPS), 0.5 MB/s per GB (max 320 MB/s) | 3-AZ, 1-AZ, Local Zones | 99,9% | Zonal | Optimized NVMe, scalable performance | +| **High Speed Volume** | High-performance workloads, analytics, large databases | Gen 1: up to 3,000 IOPS, 128 MB/s
Gen 2: 30 IOPS/GB (max 20,000 IOPS), 0.5 MB/s per GB (max 512 MB/s) | 3-AZ, 1-AZ, Local Zones | 99,9% | Zonal | Optimized NVMe, scalable performance | | **Regional Classic Volume** | Critical applications, distributed systems | 500 IOPS guaranteed, 64 MB/s | 3-AZ | 99,99% | Multi-zone | NVMe over Fabric, high availability | | **Classic Volume** | Everyday workloads, VMs, backups | 500 IOPS guaranteed, 64 MB/s | 1-AZ, Local Zones | 99,9% | Zonal | NVMe over Fabric, standard performance | @@ -53,7 +55,7 @@ For Block Storage, there is no minimum storage duration, you can attach or delet #### Backup and snapshot fees -While standard volume usage is billed per GB/month, [snapshots](/pages/public_cloud/compute/creating_a_volume_snapshot) and [backups](/pages/public_cloud/compute/volume-backup) stored on Object Storage may incur additional storage costs. Snapshots allow you to capture the state of a volume at a given time, and backups enable data protection and recovery. +While standard volume usage is billed per GB/month, [snapshots](/pages/public_cloud/compute/creating_a_volume_snapshot) stored on **Block Storage** and [backups](/pages/public_cloud/compute/volume-backup) stored on **Object Storage** may incur additional storage costs. Snapshots allow you to capture the state of a volume at a given time, and backups enable data protection and recovery. #### Lifecycle and resizing @@ -61,7 +63,12 @@ Block Storage volumes are fully flexible: you can [increase their size](/pages/p #### Encrypted Volumes -Each Block Storage volume type is also available in an encrypted version (LUKS). These volumes ensure data confidentiality without impacting performance. +Each Block Storage volume type is also available in an encrypted version (LUKS), depending on the region. These encrypted variants ensure data confidentiality without impacting performance. + +> [!primary] +> +> Please note that Regional Classic Volumes and volumes in Local Zones do not support LUKS encryption. +> Encrypted volumes can be created directly from the OVHcloud Control Panel or via CLI/API tools by specifying the volume type with the suffix `-luks` (for example, classic-luks or highspeed-luks). This provides an easy and secure way to protect sensitive data while leveraging the same performance and features as standard volumes. diff --git a/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.fr-fr.md b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.fr-fr.md index 67dcdb957b8..ded9b397d14 100644 --- a/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.fr-fr.md +++ b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.fr-fr.md @@ -20,7 +20,9 @@ Nos classes Block Storage sont conçues pour répondre à différents besoins de ### Regional Classic Volume -La classe Regional Classic Volume offre une haute disponibilité en répliquant automatiquement les données sur trois zones de disponibilité (3-AZ) au sein d’une même région. Les volumes reposent sur des disques NVMe over Fabric, garantissant un accès rapide et fiable. +La classe Regional Classic Volume offre une haute disponibilité en répliquant automatiquement les données dans trois zones de disponibilité au sein d'une région (3-AZ). Les volumes sont pris en charge par le stockage NVMe over Fabric pour un accès rapide, cohérent et fiable. + +Afin de garantir la continuité du service même en cas de défaillance d'une zone de disponibilité, cette classe prend également en charge la [multi-connexion](/pages/public_cloud/compute/classic_block_multi_az_limitations), ce qui permet à plusieurs instances situées dans différentes zones de disponibilité de se connecter simultanément et d'utiliser le même volume. Cette classe est adaptée aux workloads nécessitant une haute disponibilité et une forte résilience, comme les bases de données critiques et les applications distribuées. @@ -35,7 +37,7 @@ Cette classe convient aux workloads standards où la faible latence et la fiabil La classe High Speed Volume est proposée en deux générations, offrant des profils de performance différents : - Gen 1 : jusqu’à 3 000 IOPS et 128 Mo/s – adaptée aux workloads nécessitant une vitesse élevée standard. -- Gen 2 : 30 IOPS/Go (maximum 20 000 IOPS) et 0,5 Mo/s par Go (maximum 320 Mo/s) – recommandée pour les applications intensives nécessitant un maximum d’IO et de débit. +- Gen 2 : 30 IOPS/Go (maximum 20 000 IOPS) et 0,5 Mo/s par Go (maximum 512 Mo/s) – recommandée pour les applications intensives nécessitant un maximum d’IO et de débit. Choisissez Gen 1 pour les workloads haute vitesse classiques, et Gen 2 pour les workloads lourds tels que l’analytique, les grandes bases de données ou le calcul haute performance. @@ -43,7 +45,7 @@ Choisissez Gen 1 pour les workloads haute vitesse classiques, et Gen 2 pour les | Classe de stockage | Cas d’usage | Performance | Régions disponibles | SLA de disponibilité | Réplication | Notes | | --- | --- | --- | --- | --- | --- | --- | -| **High Speed Volume** | Workloads haute performance, analytique, grandes bases de données | Gen 1 : jusqu’à 3 000 IOPS, 128 Mo/s
Gen 2 : 30 IOPS/Go (max 20 000 IOPS), 0,5 Mo/s par Go (max 320 Mo/s) | 3-AZ, 1-AZ, Local Zones | 99,9% | Zonale | NVMe optimisé, performance évolutive | +| **High Speed Volume** | Workloads haute performance, analytique, grandes bases de données | Gen 1 : jusqu’à 3 000 IOPS, 128 Mo/s
Gen 2 : 30 IOPS/Go (max 20 000 IOPS), 0,5 Mo/s par Go (max 512 Mo/s) | 3-AZ, 1-AZ, Local Zones | 99,9% | Zonale | NVMe optimisé, performance évolutive | | **Regional Classic Volume** | Applications critiques, systèmes distribués | 500 IOPS garantis, 64 Mo/s | 3-AZ | 99,99% | Multi-zone | NVMe over Fabric, haute disponibilité | | **Classic Volume** | Workloads quotidiens, VMs, sauvegardes | 500 IOPS garantis, 64 Mo/s | 1-AZ, Local Zones | 99,9% | Zonale | NVMe over Fabric, performance standard | @@ -55,7 +57,7 @@ Pour le Block Storage, il n’existe pas de durée minimale de stockage : vous p #### Frais de snapshots et de sauvegardes -Bien que l’utilisation standard des volumes soit facturée par Go/mois, les [snapshots](/pages/public_cloud/compute/creating_a_volume_snapshot) et les [sauvegardes](/pages/public_cloud/compute/volume-backup) stockés sur Object Storage peuvent générer des coûts supplémentaires. Les snapshots permettent de capturer l’état d’un volume à un instant donné, et les sauvegardes assurent la protection et la récupération des données. +Bien que l’utilisation standard des volumes soit facturée par Go/mois, les [snapshots](/pages/public_cloud/compute/creating_a_volume_snapshot) stockés sur **Block Storage** et les [sauvegardes](/pages/public_cloud/compute/volume-backup) stockés sur **Object Storage** peuvent générer des coûts supplémentaires. Les snapshots permettent de capturer l’état d’un volume à un instant donné, et les sauvegardes assurent la protection et la récupération des données. #### Gestion du cycle de vie et redimensionnement @@ -63,7 +65,12 @@ Les volumes Block Storage sont entièrement flexibles : vous pouvez [augmenter l #### Volumes chiffrés -Chaque type de volume Block Storage est également disponible en version chiffrée (LUKS). Ces volumes garantissent la confidentialité des données sans impact sur les performances. +Chaque type de volume Block Storage est également disponible en version chiffrée (LUKS), selon la région. Ces variantes chiffrées garantissent la confidentialité des données sans impact sur les performances. + +> [!primary] +> +> Veuillez noter que les volumes classiques régionaux et les volumes dans les locals zones ne prennent pas en charge le chiffrement LUKS. +> Les volumes chiffrés peuvent être créés directement depuis l’espace client OVHcloud ou via les outils CLI/API en précisant le type de volume avec le suffixe `-luks` (par exemple classic-luks ou highspeed-luks). Cela permet de protéger facilement les données sensibles tout en conservant les mêmes performances et fonctionnalités que les volumes standards. From 235116d71d75de337257f108769e29610e3dd8e5 Mon Sep 17 00:00:00 2001 From: Valentin Lacour Date: Mon, 15 Dec 2025 09:37:23 +0100 Subject: [PATCH 3/6] add guide in index and merge develop --- .../images/vcd-libraries-overview.png | Bin 61906 -> 0 bytes pages/index.md | 1 + 2 files changed, 1 insertion(+) delete mode 100644 pages/hosted_private_cloud/hosted_private_cloud_powered_by_vmware/vcd-getting-started/images/vcd-libraries-overview.png diff --git a/pages/hosted_private_cloud/hosted_private_cloud_powered_by_vmware/vcd-getting-started/images/vcd-libraries-overview.png b/pages/hosted_private_cloud/hosted_private_cloud_powered_by_vmware/vcd-getting-started/images/vcd-libraries-overview.png deleted file mode 100644 index a168ebc96cf845d38131fe2ebac2c12e006e678d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61906 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 diff --git a/pages/index.md b/pages/index.md index 0e26cf9e2ab..445fea9f6f2 100644 --- a/pages/index.md +++ b/pages/index.md @@ -864,6 +864,7 @@ + [Cloud Archive Swift - Swift Command Memo](storage_and_backup/object_storage/pca_swift_commands_memo) + [Block storage](products/public-cloud-storage-block-storage) + [Key concepts](public-cloud-storage-block-storage-key-concepts) + + [Choosing the Right Block Storage Class](storage_and_backup/block_storage/block_storage_the_right_storage_class) + [Proper Usage and Limitations of Classic Multi-Attach Block Storage in 3AZ Regions](public_cloud/compute/classic_block_multi_az_limitations) + [Getting Started](public-cloud-storage-block-storage-getting-started) + [Creating and configuring an additional disk on an instance](public_cloud/compute/create_and_configure_an_additional_disk_on_an_instance) From fbc165896c8d6ca35ee6f58d5ace6e4f0b5e7aef Mon Sep 17 00:00:00 2001 From: Valentin Lacour Date: Mon, 15 Dec 2025 09:39:40 +0100 Subject: [PATCH 4/6] up --- .../images/vcd-libraries-overview.png | Bin 0 -> 61906 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 pages/hosted_private_cloud/hosted_private_cloud_powered_by_vmware/vcd-getting-started/images/vcd-libraries-overview.png diff --git a/pages/hosted_private_cloud/hosted_private_cloud_powered_by_vmware/vcd-getting-started/images/vcd-libraries-overview.png b/pages/hosted_private_cloud/hosted_private_cloud_powered_by_vmware/vcd-getting-started/images/vcd-libraries-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..a168ebc96cf845d38131fe2ebac2c12e006e678d GIT binary patch literal 61906 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 literal 0 HcmV?d00001 From d9c6434d24bf2754234d98e1e3ffe8e2d4a7c06c Mon Sep 17 00:00:00 2001 From: benchbzh Date: Mon, 15 Dec 2025 14:43:49 +0100 Subject: [PATCH 5/6] proofreading, translations, date & yaml update --- .../guide.de-de.md | 104 +++++++++++++++++ .../guide.en-gb.md | 49 ++++---- .../guide.es-es.md | 106 ++++++++++++++++++ .../guide.fr-fr.md | 69 +++++------- .../guide.it-it.md | 106 ++++++++++++++++++ .../guide.pl-pl.md | 104 +++++++++++++++++ .../guide.pt-pt.md | 106 ++++++++++++++++++ .../meta.yaml | 3 +- 8 files changed, 582 insertions(+), 65 deletions(-) create mode 100644 pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.de-de.md create mode 100644 pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.es-es.md create mode 100644 pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.it-it.md create mode 100644 pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.pl-pl.md create mode 100644 pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.pt-pt.md diff --git a/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.de-de.md b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.de-de.md new file mode 100644 index 00000000000..67a59bef03f --- /dev/null +++ b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.de-de.md @@ -0,0 +1,104 @@ +--- +title: Die richtige Block Storage-Klasse auswählen +excerpt: Erfahren Sie, wie Sie die richtige OVHcloud Block Storage-Klasse auswählen. Vergleichen Sie Leistung, Preise und Anwendungsfälle, um Ihre Speicherung sowohl hinsichtlich Kosten als auch Effizienz zu optimieren. +updated: 2025-12-15 +--- + +## Ziel + +Dieses Handbuch hilft Ihnen dabei, die verschiedenen OVHcloud Block Storage-Klassen zu verstehen und diejenige auszuwählen, die am besten zu Ihren Bedürfnissen passt. Sie erfahren alles über Leistungsstufen, Preisaspekte und empfohlene Anwendungsfälle, um fundierte Entscheidungen für Ihre Speicherung zu treffen. + +## Block Storage Übersicht + +Block Storage ist eine leistungsstarke, flexible und verlässliche Lösung für kritische Workloads. Verbinden Sie Volumes direkt mit Ihren Instanzen, skalieren Sie die Kapazität von 10 GB bis 12 TB und wählen Sie die richtige Klasse: Regional Classic, Classic oder High Speed, um Ihre Anforderungen an Leistung und Verfügbarkeit zu erfüllen. Ideal für Datenbanken, VMs und containerisierte Anwendungen, mit Funktionen wie Snapshots, Backups und Verschlüsselung. + +## Block Storage-Klassen + +Unsere **Block Storage-Klassen** sind so gestaltet, dass sie unterschiedliche Anforderungen an Ihre Workloads erfüllen, einschließlich Leistung, Verfügbarkeit und Ausfallsicherheit. Wählen Sie die richtige Klasse, um Geschwindigkeit, Redundanz und Kosten für Ihre Anwendungen zu optimieren. + +### Regional Classic Volume + +Die **Regional Classic Volume**-Klasse bietet eine hohe Verfügbarkeit, indem sie Daten automatisch in drei Verfügbarkeitszonen innerhalb einer Region (3-AZ) repliziert. Volumes werden durch NVMe over Fabric Storage unterstützt, um schnellen, konsistenten und verlässlichen Zugriff zu gewährleisten. + +Um die Dienstkontinuität auch bei einem Ausfall einer AZ zu gewährleisten, unterstützt diese Klasse außerdem [Multi-Attach](/pages/public_cloud/compute/classic_block_multi_az_limitations), wodurch mehrere Instanzen in verschiedenen Verfügbarkeitszonen gleichzeitig ein Volume anbinden und nutzen können. + +Diese Klasse ist für Workloads geeignet, die eine hohe Verfügbarkeit und Ausfallsicherheit erfordern, wie z. B. kritische Datenbanken und verteilte Anwendungen. + +### Classic Volume + +Die **Classic Volume**-Klasse ist ideal für alltägliche Anwendungsfälle, einschließlich Datenbanken, virtuellen Maschinen und Backups. Daten werden innerhalb einer einzelnen Verfügbarkeitszone (1-AZ) oder Local Zone repliziert, mit garantiertem NVMe-Leistungsvermögen. + +Diese Klasse ist für Standard-Workloads geeignet, bei denen geringe Latenz und Zuverlässigkeit wichtig sind, aber keine Replikation über mehrere Zonen erforderlich ist. + +### High Speed Volume + +Die **High Speed Volume**-Klasse ist in zwei Generationen unterteilt und bietet unterschiedliche Leistungsprofile: + +- Gen 1: Bis zu 3.000 IOPS und 128 MB/s – geeignet für allgemeine Hochgeschwindigkeits-Workloads. +- Gen 2: 30 IOPS/GB (max. 20.000 IOPS) und 0,5 MB/s pro GB (max. 512 MB/s) – empfohlen für intensiv genutzte Anwendungen, die maximale I/O und Durchsatz erfordern. + +Wählen Sie Gen 1 für Standard-Hochgeschwindigkeits-Anwendungsfälle und Gen 2 für schwere Workloads wie Analytics, große Datenbanken oder Hochleistungsrechnen. + +### Vergleichstabelle + +| Speicherklassen | Anwendungsfälle | Leistung | Unterstützte Regionen | Verfügbarkeits-SLA | Replikation | Hinweise | +| --- | --- | --- | --- | --- | --- | --- | +| **High Speed Volume** | Hochleistungs-Workloads, Analytics, große Datenbanken | **Gen 1**: Bis zu 3.000 IOPS, 128 MB/s

**Gen 2**: 30 IOPS/GB (max. 20.000 IOPS), 0,5 MB/s pro GB (max. 512 MB/s) | 3-AZ, 1-AZ, Local Zones | 99,9 % | Zonal | Optimiertes NVMe, skalierbare Leistung | +| **Regional Classic Volume** | Kritische Anwendungen, verteilte Systeme | 500 IOPS garantiert, 64 MB/s | 3-AZ | 99,99 % | Multi-zone | NVMe over Fabric, hohe Verfügbarkeit | +| **Classic Volume** | Alltägliche Workloads, VMs, Backups | 500 IOPS garantiert, 64 MB/s | 1-AZ, Local Zones | 99,9 % | Zonal | NVMe over Fabric, Standardleistung | + +### Weitere Details + +#### Minimale Speicherdauer + +Bei Block Storage gibt es keine minimale Speicherdauer: Sie können Volumes jederzeit anbinden oder löschen, ohne zusätzliche Gebühren. Sie werden nur für die tatsächliche Nutzung des Volumes während der Zeit berechnet, in der es existiert. + +#### Backup- und Snapshot-Gebühren + +Während die Standardnutzung eines Volumes nach GB/monatlich berechnet wird, können [Snapshots](/pages/public_cloud/compute/creating_a_volume_snapshot) auf **Block Storage** und [Backups](/pages/public_cloud/compute/volume-backup) auf **Object Storage** zusätzliche Speicherkosten verursachen. Snapshots ermöglichen es Ihnen, den Zustand eines Volumes zu einem bestimmten Zeitpunkt zu erfassen, und Backups gewährleisten Daten- und Wiederherstellungsschutz. + +#### Lebenszyklus und Größenänderung + +Block Storage-Volumes sind vollständig flexibel: Sie können ihre [Größe jederzeit erhöhen](/pages/public_cloud/compute/increase_the_size_of_an_additional_disk), Partitionen erweitern und Volumes an verschiedene Instanzen anbinden. Diese Operationen erfolgen auf Ebene des Volumes, wodurch Sie die Speicherkapazität und Leistung optimieren können, ohne dass Downtime erforderlich ist. + +#### Verschlüsselte Volumes + +Jede Block Storage-Volumetyp ist in einer verschlüsselten Version (LUKS) erhältlich, je nach Region. Diese verschlüsselten Varianten gewährleisten die Datengeheimhaltung, ohne die Leistung zu beeinträchtigen. + +> [!primary] +> Bitte beachten Sie, dass die Regional Classic Volume-Klasse und Volumes in Local Zones keine LUKS-Verschlüsselung unterstützen. + +Verschlüsselte Volumes können direkt über das OVHcloud Kundencenter oder über CLI/API-Tools erstellt werden, indem der Volumetyp mit dem Suffix `-luks` angegeben wird (z. B. classic-luks oder highspeed-luks). Dies bietet eine einfache und sichere Möglichkeit, sensible Daten zu schützen, wobei die gleiche Leistung und Funktionalität wie bei Standardvolumes genutzt werden kann. + +> [!primary] +> Verschlüsselte Volumes beeinflussen die Leistung nicht. + +## Anwendungsfälle + +Block Storage unterstützt dank seiner Leistung, Flexibilität und Ausfallsicherheit eine breite Palette von Workloads. Typische Anwendungsfälle umfassen: + +- **Datenbanken**: MySQL, PostgreSQL und andere relationale Datenbanken profitieren von niedriger Latenz und hohem Durchsatz. +- **Virtuelle Maschinen & containerisierte Anwendungen**: Persistentes Speichern für VMs und Container mit hoher Zuverlässigkeit und schnellem Zugriff. +- **Analytics & AI-Workloads**: High Speed Volumes liefern maximale IOPS und Durchsatz für datenintensive Anwendungen. +- **Backup & Disaster Recovery**: Snapshots und Backups für kritische Daten erstellen, um schnelle Wiederherstellung und Schutz zu gewährleisten. + +## Zonen- und regionale Überlegungen + +Block Storage-Volumes können mit unterschiedlichen Verfügbarkeitsoptionen bereitgestellt werden, abhängig von Ihren Anforderungen: + +- **Regional Classic Volume (3-AZ)**: Daten werden in drei Verfügbarkeitszonen innerhalb derselben Region repliziert, wodurch eine hohe Ausfallsicherheit und ein SLA von 99,99 % gewährleistet werden. Ideal für kritische, hochverfügbare Anwendungen. Weitere Informationen finden Sie in unserem Handbuch "[Ordnungsgemäße Nutzung und Einschränkungen von Classic Multi Attach Block Storage in 3AZ-Regionen (EN)](/pages/public_cloud/compute/classic_block_multi_az_limitations)". +- **Classic & High Speed Volume (1-AZ oder Local Zone)**: Daten werden innerhalb einer einzelnen Zone repliziert. Diese Optionen bieten niedrige Latenz und hohe Leistung, geeignet für Workloads, die keine mehrzonenredundante Replikation erfordern. +- **Local Zones**: Für Anwendungen, die eine extrem niedrige Latenz in einer bestimmten geografischen Region benötigen, ermöglichen Local Zones es Ihnen, Speicher nahe an Compute-Ressourcen zu halten. + +> [!success] +> Die richtige Auswahl der Bereitstellungsvariante gewährleistet eine optimale Leistung, Redundanz und Kosten-effizienz basierend auf Ihren Workload- und geografischen Anforderungen. + +## Weiterführende Informationen + +[Zusätzliches Volume auf einer Instanz erstellen und konfigurieren](/pages/public_cloud/compute/create_and_configure_an_additional_disk_on_an_instance) + +[Block Storage Volume bearbeiten](/pages/public_cloud/compute/switch_volume_type) + +Wenn Sie Schulungen oder technische Unterstützung benötigen, um unsere Lösungen umzusetzen, wenden Sie sich an Ihren Vertriebsmitarbeiter oder klicken Sie [hier](/links/professional-services), um ein Angebot zu erhalten und eine persönliche Analyse Ihres Projekts von unserem Professional Services-Team anzufragen. + +Treten Sie unserer [User Community](/links/community) bei. \ No newline at end of file diff --git a/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.en-gb.md b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.en-gb.md index 78ccc5872e6..4d5ac2263b8 100644 --- a/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.en-gb.md +++ b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.en-gb.md @@ -1,7 +1,7 @@ --- title: Choosing the Right Block Storage Class excerpt: Discover how to choose the right OVHcloud Block Storage class. Compare performance, pricing, and use cases to optimize your storage for both cost and efficiency. -updated: 2025-11-24 +updated: 2025-12-15 --- ## Objective @@ -18,21 +18,21 @@ Our **Block Storage classes** are designed to meet different requirements for yo ### Regional Classic Volume -The Regional Classic Volume class provides high availability by automatically replicating data across three availability zones within a region (3-AZ). Volumes are backed by NVMe over Fabric storage for fast, consistent and reliable access. +The **Regional Classic Volume** class provides high availability by automatically replicating data across three availability zones within a region (3-AZ). Volumes are backed by NVMe over Fabric storage for fast, consistent and reliable access. -To ensure service continuity even in the event of an AZ failure, this class also supports [multi-attach](/pages/public_cloud/compute/classic_block_multi_az_limitations), allowing multiple instances located in different availability zones to simultaneously attach and use the same volume. +To ensure service continuity even in the event of an AZ failure, this class also supports [Multi-Attach](/pages/public_cloud/compute/classic_block_multi_az_limitations), allowing multiple instances located in different availability zones to simultaneously attach and use the same volume. This class is suitable for workloads requiring high availability and resilience, such as critical databases and distributed applications. ### Classic Volume -Classic Volume is ideal for everyday application needs, including databases, virtual machines, and backups. Data is replicated within a single availability zone (1-AZ) or Local Zone, with guaranteed NVMe performance. +The **Classic Volume** class is ideal for everyday application needs, including databases, virtual machines, and backups. Data is replicated within a single availability zone (1-AZ) or Local Zone, with guaranteed NVMe performance. This class is suitable for standard workloads where low-latency and reliability are important, but multi-zone replication is not required. ### High Speed Volume -High Speed Volume comes in two generations, offering different performance profiles: +The **High Speed Volume** class comes in two generations, offering different performance profiles: - Gen 1: Up to 3,000 IOPS and 128 MB/s – suitable for general high-speed workloads. - Gen 2: 30 IOPS/GB (max 20,000 IOPS) and 0.5 MB/s per GB (max 512 MB/s) – recommended for intensive applications requiring maximum I/O and throughput. @@ -43,15 +43,15 @@ Choose Gen 1 for standard high-speed use cases, and Gen 2 for heavy workloads li | Storage Class | Use Cases | Performance | Supported Regions | Availability SLA | Replication | Notes | | --- | --- | --- | --- | --- | --- | --- | -| **High Speed Volume** | High-performance workloads, analytics, large databases | Gen 1: up to 3,000 IOPS, 128 MB/s
Gen 2: 30 IOPS/GB (max 20,000 IOPS), 0.5 MB/s per GB (max 512 MB/s) | 3-AZ, 1-AZ, Local Zones | 99,9% | Zonal | Optimized NVMe, scalable performance | -| **Regional Classic Volume** | Critical applications, distributed systems | 500 IOPS guaranteed, 64 MB/s | 3-AZ | 99,99% | Multi-zone | NVMe over Fabric, high availability | -| **Classic Volume** | Everyday workloads, VMs, backups | 500 IOPS guaranteed, 64 MB/s | 1-AZ, Local Zones | 99,9% | Zonal | NVMe over Fabric, standard performance | +| **High Speed Volume** | High-performance workloads, analytics, large databases | **Gen 1**: Up to 3,000 IOPS, 128 MB/s

**Gen 2**: 30 IOPS/GB (max 20,000 IOPS), 0.5 MB/s per GB (max 512 MB/s) | 3-AZ, 1-AZ, Local Zones | 99.9% | Zonal | Optimized NVMe, scalable performance | +| **Regional Classic Volume** | Critical applications, distributed systems | 500 IOPS guaranteed, 64 MB/s | 3-AZ | 99.99% | Multi-zone | NVMe over Fabric, high availability | +| **Classic Volume** | Everyday workloads, VMs, backups | 500 IOPS guaranteed, 64 MB/s | 1-AZ, Local Zones | 99.9% | Zonal | NVMe over Fabric, standard performance | ### Additional details #### Minimum storage duration -For Block Storage, there is no minimum storage duration, you can attach or delete volumes at any time without extra charges. You are billed only for the actual usage of the volume during the period it exists. +For Block Storage, there is no minimum storage duration: you can attach or delete volumes at any time without extra charges. You are billed only for the actual usage of the volume during the period it exists. #### Backup and snapshot fees @@ -66,42 +66,39 @@ Block Storage volumes are fully flexible: you can [increase their size](/pages/p Each Block Storage volume type is also available in an encrypted version (LUKS), depending on the region. These encrypted variants ensure data confidentiality without impacting performance. > [!primary] -> -> Please note that Regional Classic Volumes and volumes in Local Zones do not support LUKS encryption. -> +> Please note that Regional Classic Volume class and volumes in Local Zones do not support LUKS encryption. Encrypted volumes can be created directly from the OVHcloud Control Panel or via CLI/API tools by specifying the volume type with the suffix `-luks` (for example, classic-luks or highspeed-luks). This provides an easy and secure way to protect sensitive data while leveraging the same performance and features as standard volumes. > [!primary] -> -> Encrypted volumes have no impact on performance -> +> Encrypted volumes have no impact on performance. ## Use Cases Block Storage supports a wide variety of workloads thanks to its performance, flexibility, and resilience. Common use cases include: -- **Databases:** MySQL, PostgreSQL, and other relational databases benefit from low-latency, high-throughput access. -- **Virtual Machines & Containerized Applications:** Persistent storage for VMs and containers with high reliability and fast access. -- **Analytics & AI Workloads:** High Speed Volumes provide maximum IOPS and throughput for data-intensive applications. -- **Backup & Disaster Recovery:** Easily create snapshots and backups for critical data, ensuring fast recovery and protection. +- **Databases**: MySQL, PostgreSQL, and other relational databases benefit from low-latency and high-throughput access. +- **Virtual machines & containerized applications**: Persistent storage for VMs and containers with high reliability and fast access. +- **Analytics & AI workloads**: High Speed Volumes provide maximum IOPS and throughput for data-intensive applications. +- **Backup & disaster recovery**: Easily create snapshots and backups for critical data, ensuring fast recovery and protection. -## Zone and Regional Considerations +## Zone and regional Considerations Block Storage volumes can be deployed with different availability options depending on your requirements: -- **Regional Classic Volume (3-AZ):** Data is replicated across three availability zones in the same region, providing high resilience and SLA of 99.99%. Ideal for critical, highly available applications. See our guide [Proper Usage and Limitations of Classic Multi-Attach Block Storage in 3AZ Regions](/pages/public_cloud/compute/classic_block_multi_az_limitations). -- **Classic & High Speed Volume (1-AZ or Local Zone):** Data is replicated within a single zone. These options provide low-latency access and high performance, suitable for workloads that do not require multi-zone redundancy. -- **Local Zones:** For applications needing ultra-low latency in a specific geographic location, Local Zones allow you to keep storage close to compute resources. +- **Regional Classic Volume (3-AZ)**: Data is replicated across three availability zones in the same region, providing high resilience and SLA of 99.99%. Ideal for critical, highly available applications. For more information, see our guide "[Proper Usage and Limitations of Classic Multi-Attach Block Storage in 3AZ Regions](/pages/public_cloud/compute/classic_block_multi_az_limitations)". +- **Classic & High Speed Volume (1-AZ or Local Zone)**: Data is replicated within a single zone. These options provide low-latency access and high performance, suitable for workloads that do not require multi-zone redundancy. +- **Local Zones**: For applications needing ultra-low latency in a specific geographic location, Local Zones allow you to keep storage close to compute resources. -Choosing the right deployment option ensures optimal performance, redundancy, and cost efficiency based on your workload and geographic requirements. +> [!success] +> Choosing the right deployment option ensures optimal performance, redundancy, and cost efficiency based on your workload and geographic requirements. ## Go further -If you need training or technical assistance to implement our solutions, contact your sales representative or click on [this link](/links/professional-services) to get a quote and ask our Professional Services experts for assisting you on your specific use case of your project. - [Creating and configuring an additional disk on an instance](/pages/public_cloud/compute/create_and_configure_an_additional_disk_on_an_instance) [Change your Block Storage volume type](/pages/public_cloud/compute/switch_volume_type) +If you need training or technical assistance to implement our solutions, please contact your sales representative or click [this link](/links/professional-services) to get a quote and request a personalised analysis of your project from our Professional Services team. + Join our [community of users](/links/community). \ No newline at end of file diff --git a/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.es-es.md b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.es-es.md new file mode 100644 index 00000000000..818fa7d1740 --- /dev/null +++ b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.es-es.md @@ -0,0 +1,106 @@ +--- +title: Elegir la clase adecuada de Block Storage +excerpt: Aprenda a elegir la clase adecuada de Block Storage de OVHcloud. Compare rendimiento, costos y casos de uso para optimizar su almacenamiento en términos de precio y eficacia. +updated: 2025-12-15 +--- + +## Objetivo + +Este guía le ayuda a comprender las diferentes clases de Block Storage de OVHcloud y a elegir la que mejor se adapte a sus necesidades. Descubra los niveles de rendimiento, las consideraciones de costos y los casos de uso recomendados para tomar decisiones informadas sobre el almacenamiento. + +## Presentación del Block Storage + +El Block Storage es una solución de almacenamiento de alto rendimiento, flexible y fiable, diseñada para cargas de trabajo críticas. Puede conectar volúmenes directamente a sus instancias, aumentar la capacidad de 10 Go a 12 To, y elegir la clase adecuada: Regional Classic, Classic o High Speed, según sus necesidades en términos de rendimiento y disponibilidad. + +Esta solución es ideal para bases de datos, máquinas virtuales y aplicaciones contenerizadas, con funcionalidades como instantáneas, copias de seguridad y cifrado. + +## Clases de Block Storage + +Nuestras clases de Block Storage están diseñadas para satisfacer las diferentes necesidades de sus cargas de trabajo en términos de rendimiento, disponibilidad y resiliencia. Elija la clase adecuada para optimizar la velocidad, la redundancia y el costo. + +### Regional Classic Volume + +La clase **Regional Classic Volume** ofrece alta disponibilidad al replicar automáticamente los datos en tres zonas de disponibilidad dentro de una región (3-AZ). Los volúmenes están respaldados por el almacenamiento NVMe over Fabric para un acceso rápido, coherente y fiable. + +Para garantizar la continuidad del servicio incluso en caso de fallo de una zona de disponibilidad, esta clase también admite [Multi-Attach](/pages/public_cloud/compute/classic_block_multi_az_limitations). Esto permite que varias instancias situadas en diferentes zonas de disponibilidad se conecten simultáneamente y usen el mismo volumen. + +Esta clase es adecuada para cargas de trabajo que requieren alta disponibilidad y fuerte resiliencia, como bases de datos críticas y aplicaciones distribuidas. + +### Classic Volume + +La clase **Classic Volume** es ideal para necesidades aplicativas diarias, como bases de datos, máquinas virtuales y copias de seguridad. Los datos se replican dentro de una sola zona de disponibilidad (1-AZ) o una Local Zone, con rendimiento NVMe garantizado. + +Esta clase es adecuada para cargas de trabajo estándar donde la baja latencia y la fiabilidad son importantes, pero donde la replicación multi-zona no es necesaria. + +### High Speed Volume + +La clase **High Speed Volume** se ofrece en dos generaciones, con perfiles de rendimiento diferentes: + +- Gen 1: Hasta 3 000 IOPS y 128 Mo/s – adecuada para cargas de trabajo estándar que requieren alta velocidad. +- Gen 2: 30 IOPS/Go (hasta 20 000 IOPS) y 0,5 Mo/s por Go (hasta 512 Mo/s) – recomendada para aplicaciones intensivas que requieren un máximo de I/O y ancho de banda. + +Elija Gen 1 para cargas de trabajo de alta velocidad clásicas, y Gen 2 para cargas de trabajo pesadas como análisis, grandes bases de datos o cálculo de alto rendimiento. + +### Tabla comparativa + +| Clase de almacenamiento | Caso de uso | Rendimiento | Regiones disponibles | SLA de disponibilidad | Replicación | Notas | +| --- | --- | --- | --- | --- | --- | --- | +| **High Speed Volume** | Cargas de trabajo de alto rendimiento, análisis, grandes bases de datos | **Gen 1**: hasta 3 000 IOPS, 128 Mo/s

**Gen 2**: 30 IOPS/Go (hasta 20 000 IOPS), 0,5 Mo/s por Go (hasta 512 Mo/s) | 3-AZ, 1-AZ, Local Zones | 99,9 % | Zonal | NVMe optimizado, rendimiento escalable | +| **Regional Classic Volume** | Aplicaciones críticas, sistemas distribuidos | 500 IOPS garantizados, 64 Mo/s | 3-AZ | 99,99 % | Multi-zona | NVMe over Fabric, alta disponibilidad | +| **Classic Volume** | Cargas de trabajo diarios, máquinas virtuales, copias de seguridad | 500 IOPS garantizados, 64 Mo/s | 1-AZ, Local Zones | 99,9 % | Zonal | NVMe over Fabric, rendimiento estándar | + +### Detalles adicionales + +#### Duración mínima de almacenamiento + +Para el Block Storage, no existe una duración mínima de almacenamiento: puede conectar o eliminar volúmenes en cualquier momento sin costos adicionales. Solo se le facturará por el uso efectivo del volumen durante el período en que exista. + +#### Costos de instantáneas y copias de seguridad + +Aunque el uso estándar de los volúmenes se factura por Go/mes, las [instantáneas](/pages/public_cloud/compute/creating_a_volume_snapshot) almacenadas en **Block Storage** y las [copias de seguridad](/pages/public_cloud/compute/volume-backup) almacenadas en **Object Storage** pueden generar costos adicionales. Las instantáneas permiten capturar el estado de un volumen en un momento dado, y las copias de seguridad garantizan la protección y recuperación de los datos. + +#### Gestión del ciclo de vida y redimensionamiento + +Los volúmenes Block Storage son completamente flexibles: puede [aumentar su tamaño](/pages/public_cloud/compute/increase_the_size_of_an_additional_disk) en cualquier momento, ampliar las particiones y conectar los volúmenes a diferentes instancias. Estas operaciones se gestionan a nivel de volumen, permitiéndole optimizar capacidad y rendimiento sin interrupciones. + +#### Volúmenes cifrados + +Cada tipo de volumen Block Storage también está disponible en versión cifrada (LUKS), según la región. Estas variantes cifradas garantizan la confidencialidad de los datos sin impacto en el rendimiento. + +> [!primary] +> Tenga en cuenta que la clase Regional Classic Volume y los volúmenes en las Local Zones no admiten el cifrado LUKS. + +Los volúmenes cifrados pueden crearse directamente desde el área de cliente de OVHcloud o a través de las herramientas CLI/API especificando el tipo de volumen con el sufijo `-luks` (por ejemplo: classic-luks o highspeed-luks). Esto permite proteger fácilmente los datos sensibles manteniendo el mismo rendimiento y funcionalidades que los volúmenes estándar. + +> [!primary] +> Los volúmenes cifrados no tienen ningún impacto en el rendimiento. + +## Casos de uso + +El Block Storage admite una gran variedad de cargas de trabajo gracias a sus prestaciones, flexibilidad y resiliencia. Los casos de uso comunes incluyen: + +- **Bases de datos**: MySQL, PostgreSQL y otras bases relacionales benefician de un acceso rápido con baja latencia y alto ancho de banda. +- **Máquinas virtuales y aplicaciones contenerizadas**: Almacenamiento persistente para VM y contenedores con alta fiabilidad y acceso rápido. +- **Análisis y cargas de trabajo de IA**: Los volúmenes High Speed ofrecen un máximo de IOPS y ancho de banda para aplicaciones intensivas en datos. +- **Copia de seguridad y recuperación ante desastres**: Cree fácilmente instantáneas y copias de seguridad para sus datos críticos, garantizando una recuperación rápida y segura. + +## Consideraciones relativas a las zonas y regiones + +Los volúmenes Block Storage pueden desplegarse con diferentes opciones de disponibilidad según sus necesidades: + +- **Regional Classic Volume (3-AZ)**: Los datos se replican en tres zonas de disponibilidad dentro de la misma región, ofreciendo alta resiliencia y un SLA del 99,99 %. Ideal para aplicaciones críticas que requieren alta disponibilidad. Para más información, consulte nuestro guía "[Uso adecuado y limitaciones de Classic Multi Attach Block Storage en regiones 3AZ (EN)](/pages/public_cloud/compute/classic_block_multi_az_limitations)". +- **Classic & High Speed Volume (1-AZ o Local Zone)**: Los datos se replican en una sola zona. Estas opciones ofrecen acceso de baja latencia y altas prestaciones, y son adecuadas para cargas de trabajo que no requieren redundancia multi-zona. +- **Local Zones**: Para aplicaciones que requieren una latencia ultra baja en una ubicación geográfica específica, las Local Zones permiten mantener el almacenamiento cerca de los recursos de cálculo. + +> [!success] +> Elegir la opción adecuada de despliegue garantiza un rendimiento óptimo, una redundancia eficaz y un control de costos según su carga de trabajo y restricciones geográficas. + +## Más información + +[Crear y configurar un disco adicional en una instancia](/pages/public_cloud/Compute/create_and_configure_an_additional_disk_on_an_instance) + +[Modificar un Volume Block Storage](/pages/public_cloud/Compute/switch_volume_type) + +Si necesita formación o asistencia técnica para la implementación de nuestras soluciones, contacte a su representante comercial o haga clic en [este enlace](/links/professional-services) para obtener un presupuesto y solicitar un análisis personalizado de su proyecto por parte de nuestro equipo de Professional Services. + +Interactúe con nuestra [comunidad de usuarios](/links/community). \ No newline at end of file diff --git a/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.fr-fr.md b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.fr-fr.md index ded9b397d14..9652ce6da12 100644 --- a/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.fr-fr.md +++ b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.fr-fr.md @@ -1,43 +1,43 @@ --- title: Choisir la bonne classe de Block Storage excerpt: Découvrez comment choisir la bonne classe de Block Storage OVHcloud. Comparez performances, coûts et cas d’usage pour optimiser votre stockage en termes de prix et d’efficacité. -updated: 2025-11-24 +updated: 2025-12-15 --- ## Objectif -Ce guide vous aide à comprendre les différentes classes de Block Storage OVHcloud et à choisir celle qui correspond le mieux à vos besoins. Vous apprendrez à connaître les niveaux de performance, les considérations tarifaires et les cas d’usage recommandés afin de prendre des décisions de stockage éclairées. +Ce guide vous aide à comprendre les différentes classes de Block Storage OVHcloud et à choisir celle qui correspond le mieux à vos besoins. Découvrez les niveaux de performance, les considérations tarifaires et les cas d’usage recommandés afin de prendre des décisions de stockage éclairées. ## Présentation du Block Storage -Le Block Storage est une solution de stockage performante, flexible et fiable, conçue pour les workloads critiques. Vous pouvez attacher des volumes directement à vos instances, augmenter la capacité de 10 Go à 12 To, et choisir la classe appropriée : Regional Classic, Classic ou High Speed, selon vos besoins en performance et disponibilité. +Le Block Storage est une solution de stockage performante, flexible et fiable, conçue pour les workloads critiques. Vous pouvez attacher des volumes directement à vos instances, augmenter la capacité de 10 Go à 12 To, et choisir la classe appropriée : Regional Classic, Classic ou High Speed, selon vos besoins en termes de performance et de disponibilité. -Cette solution est idéale pour les bases de données, les machines virtuelles et les applications conteneurisées, avec des fonctionnalités telles que snapshots, sauvegardes et chiffrement. +Cette solution est idéale pour les bases de données, les machines virtuelles et les applications conteneurisées, avec des fonctionnalités telles que les snapshots, les sauvegardes et le chiffrement. -## Classes Block Storage +## Classes de Block Storage -Nos classes Block Storage sont conçues pour répondre à différents besoins de vos workloads, en termes de performance, disponibilité et résilience. Choisissez la classe adaptée pour optimiser vitesse, redondance et coût. +Nos classes de Block Storage sont conçues pour répondre aux différents besoins de vos workloads en termes de performance, de disponibilité et de résilience. Choisissez la classe adaptée pour optimiser la vitesse, la redondance et le coût. ### Regional Classic Volume -La classe Regional Classic Volume offre une haute disponibilité en répliquant automatiquement les données dans trois zones de disponibilité au sein d'une région (3-AZ). Les volumes sont pris en charge par le stockage NVMe over Fabric pour un accès rapide, cohérent et fiable. +La classe **Regional Classic Volume** offre une haute disponibilité en répliquant automatiquement les données dans trois zones de disponibilité au sein d'une région (3-AZ). Les volumes sont pris en charge par le stockage NVMe over Fabric pour un accès rapide, cohérent et fiable. -Afin de garantir la continuité du service même en cas de défaillance d'une zone de disponibilité, cette classe prend également en charge la [multi-connexion](/pages/public_cloud/compute/classic_block_multi_az_limitations), ce qui permet à plusieurs instances situées dans différentes zones de disponibilité de se connecter simultanément et d'utiliser le même volume. +Afin de garantir la continuité du service même en cas de défaillance d'une zone de disponibilité, cette classe prend également en charge le [Multi-Attach](/pages/public_cloud/compute/classic_block_multi_az_limitations). Cela permet à plusieurs instances situées dans différentes zones de disponibilité de se connecter simultanément et d'utiliser le même volume. Cette classe est adaptée aux workloads nécessitant une haute disponibilité et une forte résilience, comme les bases de données critiques et les applications distribuées. ### Classic Volume -La classe Classic Volume est idéale pour les besoins applicatifs quotidiens, tels que les bases de données, les machines virtuelles et les sauvegardes. Les données sont répliquées au sein d’une seule zone de disponibilité (1-AZ) ou d’une Local Zone, avec des performances NVMe garanties. +La classe **Classic Volume** est idéale pour les besoins applicatifs quotidiens, tels que les bases de données, les machines virtuelles et les sauvegardes. Les données sont répliquées au sein d’une seule zone de disponibilité (1-AZ) ou d’une Local Zone, avec des performances NVMe garanties. Cette classe convient aux workloads standards où la faible latence et la fiabilité sont importantes, mais où la réplication multi-zone n’est pas nécessaire. ### High Speed Volume -La classe High Speed Volume est proposée en deux générations, offrant des profils de performance différents : +La classe **High Speed Volume** est proposée en deux générations, offrant des profils de performance différents : -- Gen 1 : jusqu’à 3 000 IOPS et 128 Mo/s – adaptée aux workloads nécessitant une vitesse élevée standard. -- Gen 2 : 30 IOPS/Go (maximum 20 000 IOPS) et 0,5 Mo/s par Go (maximum 512 Mo/s) – recommandée pour les applications intensives nécessitant un maximum d’IO et de débit. +- Gen 1 : Jusqu’à 3 000 IOPS et 128 Mo/s – adaptée aux workloads standard nécessitant une vitesse élevée. +- Gen 2 : 30 IOPS/Go (jusqu'à 20 000 IOPS) et 0,5 Mo/s par Go (jusqu'à 512 Mo/s) – recommandée pour les applications intensives nécessitant un maximum d’I/O et de débit. Choisissez Gen 1 pour les workloads haute vitesse classiques, et Gen 2 pour les workloads lourds tels que l’analytique, les grandes bases de données ou le calcul haute performance. @@ -45,9 +45,9 @@ Choisissez Gen 1 pour les workloads haute vitesse classiques, et Gen 2 pour les | Classe de stockage | Cas d’usage | Performance | Régions disponibles | SLA de disponibilité | Réplication | Notes | | --- | --- | --- | --- | --- | --- | --- | -| **High Speed Volume** | Workloads haute performance, analytique, grandes bases de données | Gen 1 : jusqu’à 3 000 IOPS, 128 Mo/s
Gen 2 : 30 IOPS/Go (max 20 000 IOPS), 0,5 Mo/s par Go (max 512 Mo/s) | 3-AZ, 1-AZ, Local Zones | 99,9% | Zonale | NVMe optimisé, performance évolutive | -| **Regional Classic Volume** | Applications critiques, systèmes distribués | 500 IOPS garantis, 64 Mo/s | 3-AZ | 99,99% | Multi-zone | NVMe over Fabric, haute disponibilité | -| **Classic Volume** | Workloads quotidiens, VMs, sauvegardes | 500 IOPS garantis, 64 Mo/s | 1-AZ, Local Zones | 99,9% | Zonale | NVMe over Fabric, performance standard | +| **High Speed Volume** | Workloads haute performance, analytique, grandes bases de données | **Gen 1** : jusqu’à 3 000 IOPS, 128 Mo/s

**Gen 2** : 30 IOPS/Go (jusqu'à 20 000 IOPS), 0,5 Mo/s par Go (jusqu'à 512 Mo/s) | 3-AZ, 1-AZ, Local Zones | 99,9 % | Zonale | NVMe optimisé, performance évolutive | +| **Regional Classic Volume** | Applications critiques, systèmes distribués | 500 IOPS garantis, 64 Mo/s | 3-AZ | 99,99 % | Multi-zone | NVMe over Fabric, haute disponibilité | +| **Classic Volume** | Workloads quotidiens, machines virtuelles, sauvegardes | 500 IOPS garantis, 64 Mo/s | 1-AZ, Local Zones | 99,9 % | Zonale | NVMe over Fabric, performance standard | ### Détails supplémentaires @@ -57,7 +57,7 @@ Pour le Block Storage, il n’existe pas de durée minimale de stockage : vous p #### Frais de snapshots et de sauvegardes -Bien que l’utilisation standard des volumes soit facturée par Go/mois, les [snapshots](/pages/public_cloud/compute/creating_a_volume_snapshot) stockés sur **Block Storage** et les [sauvegardes](/pages/public_cloud/compute/volume-backup) stockés sur **Object Storage** peuvent générer des coûts supplémentaires. Les snapshots permettent de capturer l’état d’un volume à un instant donné, et les sauvegardes assurent la protection et la récupération des données. +Bien que l’utilisation standard des volumes soit facturée par Go/mois, les [snapshots](/pages/public_cloud/compute/creating_a_volume_snapshot) stockés sur **Block Storage** et les [sauvegardes](/pages/public_cloud/compute/volume-backup) stockées sur **Object Storage** peuvent générer des coûts supplémentaires. Les snapshots permettent de capturer l’état d’un volume à un instant donné, et les sauvegardes assurent la protection et la récupération des données. #### Gestion du cycle de vie et redimensionnement @@ -68,46 +68,39 @@ Les volumes Block Storage sont entièrement flexibles : vous pouvez [augmenter l Chaque type de volume Block Storage est également disponible en version chiffrée (LUKS), selon la région. Ces variantes chiffrées garantissent la confidentialité des données sans impact sur les performances. > [!primary] -> -> Veuillez noter que les volumes classiques régionaux et les volumes dans les locals zones ne prennent pas en charge le chiffrement LUKS. -> +> Veuillez noter que la classe Regional Classic Volume et les volumes dans les Local Zones ne prennent pas en charge le chiffrement LUKS. -Les volumes chiffrés peuvent être créés directement depuis l’espace client OVHcloud ou via les outils CLI/API en précisant le type de volume avec le suffixe `-luks` (par exemple classic-luks ou highspeed-luks). Cela permet de protéger facilement les données sensibles tout en conservant les mêmes performances et fonctionnalités que les volumes standards. +Les volumes chiffrés peuvent être créés directement depuis l’espace client OVHcloud ou via les outils CLI/API en précisant le type de volume avec le suffixe `-luks` (par exemple : classic-luks ou highspeed-luks). Cela permet de protéger facilement les données sensibles tout en conservant les mêmes performances et fonctionnalités que les volumes standard. > [!primary] -> -> Les volumes chiffrés n’ont aucun impact sur les performances -> +> Les volumes chiffrés n’ont aucun impact sur les performances. ## Cas d’usage Le Block Storage prend en charge une grande variété de workloads grâce à ses performances, sa flexibilité et sa résilience. Les cas d’usage courants incluent : -- **Bases de données :** MySQL, PostgreSQL et autres bases relationnelles bénéficient d’un accès rapide avec faible latence et haut débit. -- **Machines virtuelles et applications conteneurisées :** Stockage persistant pour les VMs et conteneurs avec fiabilité élevée et accès rapide. -- **Analytique et workloads IA :** Les volumes High Speed offrent un maximum d’IOPS et de débit pour les applications intensives en données. -- **Sauvegarde et reprise après sinistre :** Créez facilement des snapshots et des sauvegardes pour vos données critiques, garantissant une récupération rapide et sécurisée. +- **Bases de données** : MySQL, PostgreSQL et autres bases relationnelles bénéficient d’un accès rapide avec faible latence et haut débit. +- **Machines virtuelles et applications conteneurisées** : Stockage persistant pour les VM et conteneurs avec fiabilité élevée et accès rapide. +- **Analytique et workloads IA** : Les volumes High Speed offrent un maximum d’IOPS et de débit pour les applications à forte intensité de données. +- **Sauvegarde et reprise après sinistre** : Créez facilement des snapshots et des sauvegardes pour vos données critiques, pour garantir une récupération rapide et sécurisée. -## Considérations sur les zones et la région +## Considérations relatives aux zones et aux régions Les volumes Block Storage peuvent être déployés avec différentes options de disponibilité selon vos besoins : -- **Regional Classic Volume (3-AZ):** Data is replicated across three availability zones in the same region, providing high resilience and SLA of 99.99%. Ideal for critical, highly available applications. See our guide [Proper Usage and Limitations of Classic Multi-Attach Block Storage in 3AZ Regions](/pages/public_cloud/compute/classic_block_multi_az_limitations). -- **Classic & High Speed Volume (1-AZ or Local Zone):** Data is replicated within a single zone. These options provide low-latency access and high performance, suitable for workloads that do not require multi-zone redundancy. -- **Local Zones:** For applications needing ultra-low latency in a specific geographic location, Local Zones allow you to keep storage close to compute resources. +- **Regional Classic Volume (3-AZ)** : Les données sont répliquées sur trois zones de disponibilité au sein d’une même région, offrant une haute résilience et un SLA de 99,99 %. Idéal pour les applications critiques nécessitant une haute disponibilité. Pour plus d'informations, consultez notre guide « [Utilisation correcte et limitations du stockage Classic Multi-Attach dans les régions 3AZ](/pages/public_cloud/compute/classic_block_multi_az_limitations) ». +- **Classic & High Speed Volume (1-AZ ou Local Zone)** : Les données sont répliquées dans une seule zone. Ces options offrent un accès à faible latence et de hautes performances, et sont adaptées aux workloads ne nécessitant pas de redondance multi-zone. +- **Local Zones** : Pour les applications nécessitant une latence ultra-faible dans une localisation géographique précise, les Local Zones permettent de conserver le stockage proche des ressources de calcul. -- **Regional Classic Volume (3-AZ) :** Les données sont répliquées sur trois zones de disponibilité au sein d’une même région, offrant une haute résilience et un SLA de 99,99 %. Idéal pour les applications critiques et très disponibles. Voir notre guide [Utilisation correcte et limitations du stockage Classic Multi-Attach dans les régions 3AZ](/pages/public_cloud/compute/classic_block_multi_az_limitations). -- **Classic & High Speed Volume (1-AZ ou Local Zone) :** Les données sont répliquées dans une seule zone. Ces options offrent un accès à faible latence et de hautes performances, adaptées aux workloads ne nécessitant pas de redondance multi-zone. -- **Local Zones :** Pour les applications nécessitant une latence ultra-faible dans une localisation géographique précise, les Local Zones permettent de conserver le stockage proche des ressources de calcul. - -Choisir la bonne option de déploiement garantit des performances optimales, la redondance et une efficacité des coûts adaptée à votre workload et à vos besoins géographiques. +> [!success] +> Choisir la bonne option de déploiement garantit des performances optimales, une redondance efficace et une maîtrise des coûts en fonction de votre workload et de vos contraintes géographiques. ## Aller plus loin -Si vous avez besoin de formation ou d’assistance technique pour mettre en œuvre nos solutions, contactez votre représentant commercial ou cliquez sur [ce lien](/links/professional-services) pour obtenir un devis et demander l’aide des experts de nos Professional Services pour votre cas d’usage spécifique. - [Créer et configurer un disque additionnel sur une instance](/pages/public_cloud/compute/create_and_configure_an_additional_disk_on_an_instance) [Modifier un Volume Block Storage](/pages/public_cloud/compute/switch_volume_type) +Si vous avez besoin d’une formation ou d’une assistance technique pour la mise en œuvre de nos solutions, contactez votre représentant commercial ou cliquez sur [ce lien](/links/professional-services) pour obtenir un devis et demander une analyse personnalisée de votre projet par notre équipe Professional Services. + Échangez avec notre [communauté d'utilisateurs](/links/community). \ No newline at end of file diff --git a/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.it-it.md b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.it-it.md new file mode 100644 index 00000000000..4079892ff35 --- /dev/null +++ b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.it-it.md @@ -0,0 +1,106 @@ +--- +title: Scegliere la classe corretta di Block Storage +excerpt: Scopri come scegliere la classe corretta di Block Storage OVHcloud. Confronta le prestazioni, i costi e i casi d'uso per ottimizzare il tuo storage in termini di prezzo ed efficienza. +updated: 2025-12-15 +--- + +## Obiettivo + +Questo manuale ti aiuta a comprendere le diverse classi di Block Storage OVHcloud e a scegliere quella che meglio si adatta alle tue esigenze. Scopri i livelli di prestazione, le considerazioni sui costi e i casi d'uso consigliati per prendere decisioni informate sullo storage. + +## Introduzione a Block Storage + +Block Storage è una soluzione di storage performante, flessibile e affidabile, progettata per carichi di lavoro critici. Puoi collegare direttamente i volumi alle tue istanze, aumentare la capacità da 10 GB a 12 TB e scegliere la classe appropriata: Regional Classic, Classic o High Speed, in base alle tue esigenze in termini di prestazioni e disponibilità. + +Questa soluzione è ideale per database, macchine virtuali e applicazioni containerizzate, con funzionalità come snapshot, backup e crittografia. + +## Classi di Block Storage + +Le nostre classi di Block Storage sono progettate per rispondere ai diversi bisogni dei tuoi carichi di lavoro in termini di prestazioni, disponibilità e resilienza. Scegli la classe adatta per ottimizzare velocità, ridondanza e costo. + +### Regional Classic Volume + +La classe **Regional Classic Volume** offre un'alta disponibilità replicando automaticamente i dati in tre zone di disponibilità all'interno di una regione (3-AZ). I volumi sono supportati da storage NVMe over Fabric per un accesso rapido, coerente e affidabile. + +Per garantire la continuità del servizio anche in caso di guasto di una zona di disponibilità, questa classe supporta anche il [Multi-Attach](/pages/public_cloud/compute/classic_block_multi_az_limitations). Questo permette a più istanze situate in diverse zone di disponibilità di connettersi contemporaneamente e utilizzare lo stesso volume. + +Questa classe è adatta ai carichi di lavoro che richiedono alta disponibilità e forte resilienza, come database critici e applicazioni distribuite. + +### Classic Volume + +La classe **Classic Volume** è ideale per i carichi di lavoro applicativi quotidiani, come database, macchine virtuali e backup. I dati sono replicati all'interno di una singola zona di disponibilità (1-AZ) o di una Local Zone, con prestazioni NVMe garantite. + +Questa classe è adatta ai carichi di lavoro standard dove la bassa latenza e l'affidabilità sono importanti, ma dove la replicazione multi-zona non è necessaria. + +### High Speed Volume + +La classe **High Speed Volume** è proposta in due generazioni, offrendo profili di prestazioni diversi: + +- Gen 1: Fino a 3 000 IOPS e 128 MB/s – adatta ai carichi di lavoro standard che richiedono una velocità elevata. +- Gen 2: 30 IOPS/GB (fino a 20 000 IOPS), 0,5 MB/s per GB (fino a 512 MB/s) – consigliata per applicazioni intensive che richiedono un massimo di I/O e di throughput. + +Scegli Gen 1 per carichi di lavoro ad alta velocità classici, e Gen 2 per carichi di lavoro pesanti come l'analitica, grandi database o calcolo ad alte prestazioni. + +### Tabella comparativa + +| Classe di storage | Casi d'uso | Prestazioni | Regioni disponibili | SLA di disponibilità | Replicazione | Note | +| --- | --- | --- | --- | --- | --- | --- | +| **High Speed Volume** | Carichi di lavoro ad alta prestazione, analitica, grandi database | **Gen 1**: fino a 3 000 IOPS, 128 MB/s

**Gen 2**: 30 IOPS/GB (fino a 20 000 IOPS), 0,5 MB/s per GB (fino a 512 MB/s) | 3-AZ, 1-AZ, Local Zones | 99,9 % | Zonale | NVMe ottimizzato, prestazioni scalabili | +| **Regional Classic Volume** | Applicazioni critiche, sistemi distribuiti | 500 IOPS garantiti, 64 MB/s | 3-AZ | 99,99 % | Multi-zona | NVMe over Fabric, alta disponibilità | +| **Classic Volume** | Carichi di lavoro quotidiani, macchine virtuali, backup | 500 IOPS garantiti, 64 MB/s | 1-AZ, Local Zones | 99,9 % | Zonale | NVMe over Fabric, prestazioni standard | + +### Dettagli supplementari + +#### Durata minima di storage + +Per il Block Storage, non esiste una durata minima di storage: puoi collegare o eliminare volumi in qualsiasi momento senza costi aggiuntivi. Verrai addebitato solo per l'utilizzo effettivo del volume durante il periodo in cui esiste. + +#### Costi di snapshot e backup + +Sebbene l'utilizzo standard dei volumi venga addebitato in base a GB/mese, gli [snapshot](/pages/public_cloud/compute/creating_a_volume_snapshot) memorizzati su **Block Storage** e i [backup](/pages/public_cloud/compute/volume-backup) memorizzati su **Object Storage** possono generare costi aggiuntivi. Gli snapshot permettono di catturare lo stato di un volume in un momento specifico, e i backup assicurano la protezione e il recupero dei dati. + +#### Gestione del ciclo di vita e ridimensionamento + +I volumi Block Storage sono completamente flessibili: puoi [aumentare la loro dimensione](/pages/public_cloud/compute/increase_the_size_of_an_additional_disk) in qualsiasi momento, estendere le partizioni e collegare i volumi a diverse istanze. Queste operazioni vengono gestite a livello di volume, permettendoti di ottimizzare capacità e prestazioni senza interruzioni. + +#### Volumi crittografati + +Ogni tipo di volume Block Storage è disponibile anche in versione crittografata (LUKS), a seconda della regione. Queste varianti crittografate garantiscono la riservatezza dei dati senza impatto sulle prestazioni. + +> [!primary] +> Si prega di notare che la classe Regional Classic Volume e i volumi nelle Local Zones non supportano la crittografia LUKS. + +I volumi crittografati possono essere creati direttamente da Spazio Cliente OVHcloud o tramite gli strumenti CLI/API specificando il tipo di volume con il suffisso `-luks` (ad esempio: classic-luks o highspeed-luks). Questo permette di proteggere facilmente i dati sensibili mantenendo le stesse prestazioni e funzionalità dei volumi standard. + +> [!primary] +> I volumi crittografati non hanno alcun impatto sulle prestazioni. + +## Casi d'uso + +Il Block Storage supporta una vasta gamma di carichi di lavoro grazie alle sue prestazioni, flessibilità e resilienza. I casi d'uso comuni includono: + +- **Database**: MySQL, PostgreSQL e altri database relazionali beneficiano di un accesso rapido con bassa latenza e alto throughput. +- **Macchine virtuali e applicazioni containerizzate**: Storage persistente per VM e container con alta affidabilità e accesso rapido. +- **Analitica e carichi di lavoro IA**: I volumi High Speed offrono un massimo di IOPS e throughput per applicazioni ad alta intensità di dati. +- **Backup e ripristino**: Crea facilmente snapshot e backup per i tuoi dati critici, per garantire un ripristino rapido e sicuro. + +## Considerazioni relative alle zone e alle regioni + +> [!success] +> I volumi Block Storage possono essere distribuiti con diverse opzioni di disponibilità in base alle tue esigenze: + +- **Regional Classic Volume (3-AZ)**: I dati vengono replicati su tre zone di disponibilità all'interno della stessa regione, offrendo una forte resilienza e un SLA del 99,99 %. Ideale per applicazioni critiche che richiedono alta disponibilità. Per ulteriori informazioni, consulta la nostra guida "[Uso corretto e limitazioni di Classic Multi Attach Block Storage nelle regioni 3AZ (EN)](/pages/public_cloud/compute/classic_block_multi_az_limitations)". +- **Classic & High Speed Volume (1-AZ o Local Zone)**: I dati vengono replicati in una singola zona. Queste opzioni offrono accesso a bassa latenza e alte prestazioni, e sono adatte ai carichi di lavoro che non richiedono ridondanza multi-zona. +- **Local Zones**: Per applicazioni che richiedono una latenza ultra-bassa in una località geografica precisa, le Local Zones permettono di mantenere lo storage vicino alle risorse di calcolo. + +Scegliere l'opzione di distribuzione corretta garantisce prestazioni ottimali, una ridondanza efficace e il controllo dei costi in base al tuo carico di lavoro e alle tue esigenze geografiche. + +## Per saperne di più + +[Crea e configura un disco aggiuntivo sulla tua istanza](/pages/public_cloud/compute/create_and_configure_an_additional_disk_on_an_instance) + +[Modificare un Volume Block Storage](/pages/public_cloud/compute/switch_volume_type) + +Se hai bisogno di formazione o di supporto tecnico per l'implementazione delle nostre soluzioni, contatta il tuo rappresentante commerciale o clicca su [questo link](/links/professional-services) per richiedere un preventivo e un'analisi personalizzata del tuo progetto da parte del nostro team Professional Services. + +Contatta la nostra [Community di utenti](/links/community). \ No newline at end of file diff --git a/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.pl-pl.md b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.pl-pl.md new file mode 100644 index 00000000000..4b6be13f1eb --- /dev/null +++ b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.pl-pl.md @@ -0,0 +1,104 @@ +--- +title: Wybór odpowiedniej klasy Block Storage +excerpt: Dowiedz się, jak wybrać odpowiednią klasę OVHcloud Block Storage. Porównaj wydajność, ceny i przypadki użycia, aby zoptymalizować swoje magazynowanie pod kątem kosztu i wydajności. +updated: 2025-12-15 +--- + +## Wprowadzenie + +Ten przewodnik pomoże Ci zrozumieć różne klasy OVHcloud Block Storage i wybrać tę, która najlepiej odpowiada Twoim potrzebom. Nauczysz się o poziomach wydajności, aspektach cenowych i zalecanych przypadkach użycia, aby podejmować świadome decyzje dotyczące magazynowania. + +## Omówienie Block Storage + +Block Storage to wysokowydajne, elastyczne i niezawodne rozwiązanie do krytycznych obciążeń. Dołączaj woluminy bezpośrednio do swoich instancji, skaluj pojemność od 10 GB do 12 TB i wybierz odpowiednią klasę: Regional Classic, Classic lub High Speed, aby dopasować ją do swoich potrzeb dotyczących wydajności i dostępności. Idealne do baz danych, maszyn wirtualnych i aplikacji konteneryzowanych, z funkcjami takimi jak zrzuty ekranu, kopie zapasowe i szyfrowanie. + +## Klasy Block Storage + +Nasze **klasy Block Storage** zostały zaprojektowane, aby spełniać różne wymagania dotyczące Twoich obciążeń, w tym wydajność, dostępność i odporność. Wybierz odpowiednią klasę, aby zoptymalizować prędkość, nadmiarowość i koszty dla Twoich aplikacji. + +### Regional Classic Volume + +Klasa **Regional Classic Volume** zapewnia wysoką dostępność, automatycznie replikując dane w trzech strefach dostępności w obrębie regionu (3-AZ). Woluminy są wspierane przez magazyn NVMe over Fabric, zapewniając szybki, spójny i niezawodny dostęp. + +Aby zapewnić ciągłość usług nawet w przypadku awarii strefy dostępności, ta klasa obsługuje również [Multi-Attach](/pages/public_cloud/compute/classic_block_multi_az_limitations), pozwalając wielu instancjom położonym w różnych strefach dostępności jednoczesne dołączanie i korzystanie z tego samego woluminu. + +Ta klasa jest odpowiednia dla obciążeń wymagających wysokiej dostępności i odporności, takich jak krytyczne bazy danych i aplikacje rozproszone. + +### Classic Volume + +Klasa **Classic Volume** jest idealna do codziennych potrzeb aplikacji, w tym baz danych, maszyn wirtualnych i kopii zapasowych. Dane są replikowane w obrębie jednej strefy dostępności (1-AZ) lub Local Zone, z gwarantowaną wydajnością NVMe. + +Ta klasa jest odpowiednia dla standardowych obciążeń, w których ważna jest niska opóźnienie i niezawodność, ale nie jest wymagana replikacja w wielu strefach. + +### High Speed Volume + +Klasa **High Speed Volume** występuje w dwóch generacjach, oferując różne profile wydajności: + +- Gen 1: Do 3000 IOPS i 128 MB/s – odpowiednia do ogólnych obciążeń wysokiej wydajności. +- Gen 2: 30 IOPS/GB (maks. 20000 IOPS) i 0,5 MB/s na GB (maks. 512 MB/s) – zalecana do intensywnych aplikacji wymagających maksymalnego I/O i przepustowości. + +Wybierz Gen 1 dla standardowych przypadków użycia wysokiej wydajności, a Gen 2 dla ciężkich obciążeń, takich jak analizy, duże bazy danych lub wysokowydajne obliczenia. + +### Tabela porównawcza + +| Klasa magazynowania | Przypadki użycia | Wydajność | Obsługiwane regiony | SLA dostępności | Replikacja | Uwagi | +| --- | --- | --- | --- | --- | --- | --- | +| **High Speed Volume** | Obciążenia wysokiej wydajności, analizy, duże bazy danych | **Gen 1**: Do 3000 IOPS, 128 MB/s

**Gen 2**: 30 IOPS/GB (maks. 20000 IOPS), 0,5 MB/s na GB (maks. 512 MB/s) | 3-AZ, 1-AZ, Local Zones | 99,9% | Zonalna | Zoptymalizowane NVMe, skalowalna wydajność | +| **Regional Classic Volume** | Krytyczne aplikacje, systemy rozproszone | 500 IOPS gwarantowanych, 64 MB/s | 3-AZ | 99,99% | Wielostrefowa | NVMe over Fabric, wysoka dostępność | +| **Classic Volume** | Codzienne obciążenia, maszyny wirtualne, kopie zapasowe | 500 IOPS gwarantowanych, 64 MB/s | 1-AZ, Local Zones | 99,9% | Zonalna | NVMe over Fabric, standardowa wydajność | + +### Dodatkowe szczegóły + +#### Minimalny czas magazynowania + +Dla Block Storage nie ma minimalnego czasu magazynowania: możesz dołączać lub usuwać woluminy w dowolnym momencie bez dodatkowych opłat. Płatność dotyczy tylko rzeczywistego użycia woluminu w okresie jego istnienia. + +#### Opłaty za kopie zapasowe i zrzuty ekranu + +Podczas gdy standardowe użycie woluminu jest opłacane za GB/miesiąc, [snapshots](/pages/public_cloud/compute/creating_a_volume_snapshot) przechowywane na **Block Storage** i [kopie zapasowe](/pages/public_cloud/compute/volume-backup) przechowywane na **Object Storage** mogą generować dodatkowe koszty magazynowania. Zrzuty ekranu pozwalają przechwycić stan woluminu w danym momencie, a kopie zapasowe umożliwiają ochronę danych i ich odzyskanie. + +#### Cykl życia i zmiana rozmiaru + +Woluminy Block Storage są całkowicie elastyczne: możesz [zwiększyć ich rozmiar](/pages/public_cloud/compute/increase_the_size_of_an_additional_disk) w dowolnym momencie, rozszerzyć partycje i dołączać woluminy do różnych instancji. Te operacje są przeprowadzane na poziomie woluminu, pozwalając zoptymalizować pojemność i wydajność magazynowania bez przestojów. + +#### Zaszyfrowane woluminy + +Każdy typ woluminu Block Storage jest również dostępny w wersji zaszyfrowanej (LUKS), w zależności od regionu. Te zaszyfrowane wersje zapewniają poufność danych bez wpływu na wydajność. + +> [!primary] +> Uwaga: Klasa woluminów Regional Classic i woluminy w Local Zones nie obsługują szyfrowania LUKS. + +Zaszyfrowane woluminy można tworzyć bezpośrednio z Panelu klienta OVHcloud lub za pomocą narzędzi CLI/API, określając typ woluminu z sufiksem `-luks` (np. classic-luks lub highspeed-luks). Zapewnia to łatwy i bezpieczny sposób ochrony wrażliwych danych, jednocześnie korzystając z tej samej wydajności i funkcji co woluminy standardowe. + +> [!primary] +> Zaszyfrowane woluminy nie mają wpływu na wydajność. + +## Przypadki użycia + +Block Storage obsługuje szeroką gamę obciążeń dzięki swojej wydajności, elastyczności i odporności. Typowe przypadki użycia obejmują: + +- **Bazy danych**: MySQL, PostgreSQL i inne relacyjne bazy danych korzystają z niskiego opóźnienia i wysokiej przepustowości. +- **Maszyny wirtualne i aplikacje konteneryzowane**: Magazynowanie trwałe dla maszyn wirtualnych i kontenerów z wysoką niezawodnością i szybkim dostęp. +- **Obciążenia analityczne i AI**: High Speed Volumes zapewniają maksymalne IOPS i przepustowość dla aplikacji intensywnie korzystających z danych. +- **Kopie zapasowe i odzyskiwanie po awarii**: Łatwe tworzenie zrzutów ekranu i kopii zapasowych dla krytycznych danych, zapewniając szybkie odzyskiwanie i ochronę. + +## Uwagi dotyczące stref i regionów + +Woluminy Block Storage mogą być wdrażane z różnymi opcjami dostępności w zależności od Twoich wymagań: + +- **Regional Classic Volume (3-AZ)**: Dane są replikowane w trzech strefach dostępności w obrębie tego samego regionu, zapewniając wysoką odporność i SLA 99,99%. Idealne dla krytycznych, wysoko dostępnych aplikacji. Aby uzyskać więcej informacji, zapoznaj się z naszym przewodnikiem "[Prawidłowe użycie i ograniczenia Classic Multi Attach Block Storage w regionach 3AZ (EN)](/pages/public_cloud/compute/classic_block_multi_az_limitations)". +- **Classic i High Speed Volume (1-AZ lub Local Zones)**: Dane są replikowane w obrębie jednej strefy. Te opcje zapewniają niskie opóźnienie i wysoką wydajność, odpowiednie dla obciążeń, które nie wymagają nadmiarowości w wielu strefach. +- **Local Zones**: Dla aplikacji wymagających ultra-niskiego opóźnienia w konkretnej lokalizacji geograficznej, Local Zones pozwalają zachować magazyn blisko zasobów obliczeniowych. + +> [!success] +> Wybór odpowiedniej opcji wdrażania zapewnia optymalną wydajność, nadmiarowość i efektywność kosztową w zależności od Twojego obciążenia i wymagań geograficznych. + +## Sprawdź również + +[Zarządzanie wolumenem instancji Public Cloud](/pages/public_cloud/compute/create_and_configure_an_additional_disk_on_an_instance) + +[Zmień wolumen Block Storage](/pages/public_cloud/compute/switch_volume_type) + +Jeśli potrzebujesz szkoleń lub pomocy technicznej w wdrożeniu naszych rozwiązań, skontaktuj się ze swoim przedstawicielem handlowym lub kliknij [ten link](/links/professional-services), aby uzyskać wycenę i zażądać indywidualnej analizy Twojego projektu od zespołu Professional Services. + +Dołącz do [grona naszych użytkowników](/links/community). \ No newline at end of file diff --git a/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.pt-pt.md b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.pt-pt.md new file mode 100644 index 00000000000..6e789cf7fcb --- /dev/null +++ b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/guide.pt-pt.md @@ -0,0 +1,106 @@ +--- +title: Escolher a classe correta de Block Storage +excerpt: Descubra como escolher a classe correta de Block Storage OVHcloud. Compare desempenho, custos e casos de utilização para otimizar o seu armazenamento em termos de preço e eficiência. +updated: 2025-12-15 +--- + +## Objetivo + +Este guia ajuda-o a compreender as diferentes classes de Block Storage OVHcloud e a escolher a que melhor corresponde às suas necessidades. Descubra os níveis de desempenho, as considerações de custo e os casos de utilização recomendados para tomar decisões informadas sobre o armazenamento. + +## Visão geral do Block Storage + +O Block Storage é uma solução de armazenamento performante, flexível e fiável, concebida para cargas de trabalho críticas. Pode ligar volumes diretamente às suas instâncias, aumentar a capacidade de 10 Go a 12 To e escolher a classe adequada: Regional Classic, Classic ou High Speed, consoante as suas necessidades em termos de desempenho e disponibilidade. + +Esta solução é ideal para bases de dados, máquinas virtuais e aplicações contêinerizadas, com funcionalidades como snapshots, cópias de segurança e encriptação. + +## Classes de Block Storage + +As nossas classes de Block Storage são concebidas para responder aos diferentes requisitos das suas cargas de trabalho em termos de desempenho, disponibilidade e resiliência. Escolha a classe adequada para otimizar a velocidade, a redundância e o custo. + +### Regional Classic Volume + +A classe **Regional Classic Volume** oferece uma elevada disponibilidade ao replicar automaticamente os dados em três zonas de disponibilidade dentro de uma região (3-AZ). Os volumes são suportados por armazenamento NVMe over Fabric para acesso rápido, consistente e fiável. + +Para garantir a continuidade do serviço mesmo em caso de falha de uma zona de disponibilidade, esta classe também suporta [Multi-Attach](/pages/public_cloud/compute/classic_block_multi_az_limitations). Isto permite que várias instâncias localizadas em diferentes zonas de disponibilidade se liguem simultaneamente e utilizem o mesmo volume. + +Esta classe é adequada para cargas de trabalho que exigem elevada disponibilidade e forte resiliência, como bases de dados críticas e aplicações distribuídas. + +### Classic Volume + +A classe **Classic Volume** é ideal para necessidades de aplicações quotidianas, tais como bases de dados, máquinas virtuais e cópias de segurança. Os dados são replicados dentro de uma única zona de disponibilidade (1-AZ) ou de uma Local Zone, com desempenho NVMe garantido. + +Esta classe é adequada para cargas de trabalho padrão onde a baixa latência e a fiabilidade são importantes, mas onde a replicação multi-zona não é necessária. + +### High Speed Volume + +A classe **High Speed Volume** é proposta em duas gerações, oferecendo perfis de desempenho diferentes: + +- Gen 1: Até 3 000 IOPS e 128 Mo/s – adequada para cargas de trabalho padrão que exigem velocidade elevada. +- Gen 2: 30 IOPS/Go (até 20 000 IOPS) e 0,5 Mo/s por Go (até 512 Mo/s) – recomendada para aplicações intensivas que exigem um máximo de I/O e de débito. + +Escolha Gen 1 para cargas de trabalho de alta velocidade clássicas, e Gen 2 para cargas de trabalho pesadas tais como análise, grandes bases de dados ou cálculo de alta performance. + +### Tabela comparativa + +| Classe de armazenamento | Caso de utilização | Desempenho | Regiões disponíveis | SLA de disponibilidade | Replicação | Notas | +| --- | --- | --- | --- | --- | --- | --- | +| **High Speed Volume** | Cargas de trabalho de alto desempenho, análise, grandes bases de dados | **Gen 1**: até 3 000 IOPS, 128 Mo/s

**Gen 2**: 30 IOPS/Go (até 20 000 IOPS), 0,5 Mo/s por Go (até 512 Mo/s) | 3-AZ, 1-AZ, Local Zones | 99,9 % | Zonal | NVMe otimizado, desempenho escalável | +| **Regional Classic Volume** | Aplicações críticas, sistemas distribuídos | 500 IOPS garantidos, 64 Mo/s | 3-AZ | 99,99 % | Multi-zona | NVMe over Fabric, alta disponibilidade | +| **Classic Volume** | Cargas de trabalho quotidianas, máquinas virtuais, cópias de segurança | 500 IOPS garantidos, 64 Mo/s | 1-AZ, Local Zones | 99,9 % | Zonal | NVMe over Fabric, desempenho padrão | + +### Detalhes adicionais + +#### Duração mínima de armazenamento + +Para o Block Storage, não existe uma duração mínima de armazenamento: pode ligar ou eliminar volumes a qualquer momento sem custos adicionais. É faturado apenas pela utilização efetiva do volume durante o período em que existe. + +#### Custos de snapshots e cópias de segurança + +Embora a utilização padrão dos volumes seja faturada por Go/mês, os [snapshots](/pages/public_cloud/compute/creating_a_volume_snapshot) armazenados em **Block Storage** e as [cópias de segurança](/pages/public_cloud/compute/volume-backup) armazenadas em **Object Storage** podem gerar custos adicionais. Os snapshots permitem capturar o estado de um volume num determinado momento, e as cópias de segurança asseguram a proteção e a recuperação dos dados. + +#### Gestão do ciclo de vida e redimensionamento + +Os volumes Block Storage são totalmente flexíveis: pode [aumentar o seu tamanho](/pages/public_cloud/compute/increase_the_size_of_an_additional_disk) a qualquer momento, estender as partições e ligar os volumes a diferentes instâncias. Estas operações são geridas ao nível do volume, permitindo-lhe otimizar a capacidade e o desempenho sem interrupções. + +#### Volumes encriptados + +Cada tipo de volume Block Storage também está disponível em versão encriptada (LUKS), consoante a região. Estas variantes encriptadas garantem a confidencialidade dos dados sem impacto no desempenho. + +> [!primary] +> Note que a classe Regional Classic Volume e os volumes nas Local Zones não suportam a encriptação LUKS. + +Os volumes encriptados podem ser criados diretamente a partir da área de cliente OVHcloud ou através das ferramentas CLI/API, especificando o tipo de volume com o sufixo `-luks` (por exemplo: classic-luks ou highspeed-luks). Isto permite proteger facilmente os dados sensíveis, mantendo as mesmas performances e funcionalidades dos volumes padrão. + +> [!primary] +> Os volumes encriptados não têm qualquer impacto no desempenho. + +## Casos de utilização + +O Block Storage suporta uma grande variedade de cargas de trabalho graças às suas performances, flexibilidade e resiliência. Os casos de utilização comuns incluem: + +- **Bases de dados**: MySQL, PostgreSQL e outras bases relacionais beneficiam de um acesso rápido com baixa latência e elevado débito. +- **Máquinas virtuais e aplicações contêinerizadas**: Armazenamento persistente para VM e contêineres com elevada fiabilidade e acesso rápido. +- **Análise e cargas de trabalho de IA**: Os volumes High Speed oferecem um máximo de IOPS e de débito para aplicações intensivas em dados. +- **Cópias de segurança e recuperação após desastre**: Crie facilmente snapshots e cópias de segurança para os seus dados críticos, para garantir uma recuperação rápida e segura. + +## Considerações relativas às zonas e regiões + +Os volumes Block Storage podem ser implantados com diferentes opções de disponibilidade consoante as suas necessidades: + +- **Regional Classic Volume (3-AZ)**: Os dados são replicados em três zonas de disponibilidade dentro da mesma região, oferecendo uma elevada resiliência e um SLA de 99,99 %. Ideal para aplicações críticas que exigem alta disponibilidade. Para mais informações, consulte o nosso guia "[Uso adequado e limitações do Classic Multi Attach Block Storage em regiões 3AZ (EN)](/pages/public_cloud/compute/classic_block_multi_az_limitations)". +- **Classic & High Speed Volume (1-AZ ou Local Zone)**: Os dados são replicados numa única zona. Estas opções oferecem acesso com baixa latência e elevado desempenho, e são adequadas para cargas de trabalho que não necessitam de redundância multi-zona. +- **Local Zones**: Para aplicações que exigem uma latência ultra-baixa numa localização geográfica específica, as Local Zones permitem manter o armazenamento próximo dos recursos de cálculo. + +> [!success] +> Escolher a opção correta de implantação garante desempenho otimizado, redundância eficaz e controlo dos custos, consoante a sua carga de trabalho e restrições geográficas. + +## Quer saber mais? + +[Criar e configurar um disco suplementar numa instância](/pages/public_cloud/compute/create_and_configure_an_additional_disk_on_an_instance) + +[Modificar um Volume Block Storage](/pages/public_cloud/compute/switch_volume_type) + +Se precisar de formação ou de assistência técnica para a implementação das nossas soluções, contacte o seu representante comercial ou clique [neste link](/links/professional-services) para obter um orçamento e solicitar uma análise personalizada do seu projeto pela nossa equipa de Professional Services. + +Fale com a nossa [comunidade de utilizadores](/links/community). \ No newline at end of file diff --git a/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/meta.yaml b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/meta.yaml index 0216bdb85b0..1dbeec9dd35 100644 --- a/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/meta.yaml +++ b/pages/storage_and_backup/block_storage/block_storage_the_right_storage_class/meta.yaml @@ -1,3 +1,4 @@ id: 604798c4-8269-401a-877f-def912fa0860 full_slug: public-cloud-block-storage-choosing-right-storage-class -reference_category: public-cloud-storage-block-storage \ No newline at end of file +reference_category: public-cloud-storage-block-storage +translation_banner: true \ No newline at end of file From a0ae24b6f71e901991c7842b7e79735f2cd746a5 Mon Sep 17 00:00:00 2001 From: benchbzh Date: Mon, 15 Dec 2025 15:05:58 +0100 Subject: [PATCH 6/6] add missing image on VCD guide after a deletion error --- .../images/vcd-libraries-overview.png | Bin 0 -> 61906 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 pages/hosted_private_cloud/hosted_private_cloud_powered_by_vmware/vcd-getting-started/images/vcd-libraries-overview.png diff --git a/pages/hosted_private_cloud/hosted_private_cloud_powered_by_vmware/vcd-getting-started/images/vcd-libraries-overview.png b/pages/hosted_private_cloud/hosted_private_cloud_powered_by_vmware/vcd-getting-started/images/vcd-libraries-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..a168ebc96cf845d38131fe2ebac2c12e006e678d GIT binary patch literal 61906 zcmd?Rg;$i@_dkw=(%nc5-G~TCHw+C!cZo=sbV*4!NQ1x-Lw88Gvz{$JgTB5UO)?|iX)1msR3h_(If%9?t`%+On)sy z2r6(?nxp%(=zl)ptcW?1u+w%FlmOlQIPrerC$z^j_`utNa1mPgKqEv#kcG$ooa^64 z{h=K7nJU0-?sVa`olHe|Rwff#wD>IgS)pye7a<6#cVOWUS--*&LN(>mbR+(v7f$m3 zJc*oe(rb7w;gegH&uQSJCW}Xyr(14(*$AW>xCPLQ19(GT%@d-# zU|hGRm>!oIK20D#hMylgB+qJ?SpI+J|L=up)bYN?lMD6A!#Ob!DZ&sa4(AM3vhMFa z4Iq|?MkDZ_(u#;g2%VlIQ~5)j_C5<5vce}xo3DM6Cb^O}ztd}F{>cTPCNeXe7AFue zCcDO5Rh~u-P9PEk@$D@kNNOUPBk}L_$BXCF!nfxBIZ4uHKbpu#0WlCCP9Ss5kJ;jQ za_=I$g#TmFe{BJu=r2ZP{U4*?1d2z5cKA=DLWZUr7*u1QZn;u92XCtS$p5Vg004YB zdQ!TdsG-y0rrYvB8VOW2pfc{h0~1zMJi5S}Jn(pkutyILlh402H;)NE_FSoVhBkEC zDZ#RpKK>ZKS;l+P5E&rWW^MGb-m8G;yHjOBqHpwS-@)R1*qjy8V>F)RQ&?LtZ$G5i z&G{-ZXFQk8aQl~7-om*QyzvEBP93O>3KM2Rll~0f)_12%w=dPGkQNtk3R2j(;5R|f zvtEs-*|iw3MQgr)oL1o-Ev*G9nj;*B@ zML`u-c2LDuElA%iCNg*S!yDr-Rf6o>y3;&QCRN%FWXCRAErnZ0fv-%B{;3f(=W ziSs{-XVIUNDE<}x`MCo7`GpiG_;Sxk-q^3E7Sq$JrR{zIpTB#m?haQR5X<@4TA|6D zD#d9OnMBA^8D8=Ov^E~s$z>d!l+2Pe)Fft?><~BBQK?J^e&p^5ed7?XYQvw-d`5DB zBf{}-J(iFEOOHSPOOM6Ck~SIBLzV|Uv7lx(S$iY>nsMFv^CRa)-6EFcTQ7ONjLYBJ zAkn9_i52fK|%9TYn+vP z*4lc7zBBrN`I}aB36`)QPhuNbzDiN;Clpk?5 zFHe_c1ze$i9iurvB|n$#QJgLpg&Qfh{M0KnJ`g^gkH5eZvZ7acmo1deQIllD$~<4{lg~mpz!{}$2I+O$ARp6ML{l={NQYEQl=UoExyYQ zSz#$z&)B~*NO;*Q;iabYQm%h_{l1u!w*Si;N8Jw%AN0j-W}799sjA^*x|{>yQ0=}zWa9@!X+yV?Tvk!s$dfrD~^aL|GHlcG2r5{)iH6= zfrBRd@JZ3{$r5C?MLtAn^c4I3O75n1esjvhR$-7cpas*HRumUog%m^5#&^f1CO;iK zyI~1-e6n=8{w~m|nZMOO>Jhk_7YPg%-%*to+&ZQw1W^W|TQtBmgiFLg{r0LNKUA|% zFce{-{@~rsM%8j7x3U0Ge3 zY@UQET1#9&7mKYACpp0m^WKJ^S)buBWa6K)>3j!}>KLlt`8*|8EUJDRIO(?<9vRj1 z+05;K@p7WzTDz^)LfuQCwyv|}b@X}>eUS*m4jtcgDaHhPunGM)dbyFQE zem9(^pwG`mqs6w9%+4yX_KX2MmeZtKG&)zY!kxM?Rlld(haS+b%HWl^ia+0e^%1zB zv>#IsqVDrxH8X8n_(aL;@1x5(s{uTiYpi~$e&#f=dXlN}yL>rKry^N{wFJk(j=biY z>Br3_?N1mq=ydyzZRXoi+Tt^uCD){6<{TMgU$=;-&u!6R1xQkAL#gqRZag)=4CG>`CAPgNFVD9a1DAEBTQB|iHSQ$DZz7#rVyrhtRHTR(8f zbZQPq6&Am~d;L>~O}=EyOodx;+wJygI0hsX{T=T4(R@eLR^JfDNjDkPf{p`B%#kQ> z98i;Qx8!1Y+gaB$+0gI7xzhp2UJB6RzS%6haJe0o>DO@Ed{Hj!aB#<9+pS(R}I9vU~=2(FOfhCy4%nYwEw$UYa6rZQh#}Wc-c2frD2huJ z7^fv+cLRk74E76z+#KMQg}0q6y9cMo>^E*%cP}_AYm`TV^yy>W6-9Ny=J&!ThiO7| zVZ6Ayz*(&g(r^aX5^DSiW#9$B2V;y)sVHL{3-^U1$*}m56g=h13C**fK!wyzo1;eA z*!ga$PwWW}OX6?^dAz7f2xt-@!O!vq-|l&>2=8u%77xR$PL~2MZEgD`QFwqx7d4+_ znz~KO&t^jkRtJAdj!vS;eEr$#sF}1RFg0AWL9#itf?>E9u9mX^&( z^O6woJ1v#P5}zkIgS@*4mVh-A#Jtio5RO@l7v($_s_VN9<$RE@4AqfgDfM%}q)doCi$ z1DGjP+*+=h@V&IqB{i6V6?tx{q^Kprw6eHF=?UO?@&r1)lxMCika~>L7glE$3ZPfn$)(EJy%w z`f*38yU@|$$ASfJd4_%8fc6oa;na#RBSo z5)Tg~dQJ=oo$H!*Uxt&19r>@&9{JV_(lp{G82fhw)ozcm6i>&Ff3WnrSXdls(3*}j znN3xJN&QSdfJtbzos!OWRt%cI@I6O%+cy|#I5v%}I%%R1st!0wcge8gWH2w+_0w(X zs!D|LRE|9jG;I>qFW$zI*)WwxCU*#wxf}RC91y*B*>Ch5%T65b`LMgsH@t58jY=_D z{HWJ7MAKvg7ao_Hj+t)@@j%W`x>C8nI{XfYYJ+fbCRl8-bxV8tclj(MKHt$6d#fDi zob9D@FP{6J*W2|oke5-0z&_}5#cfVxN%e3M*AR6u-D(s?zb<1@Q=vo2G#^7>&=W?o*iLX>hVb*d_5BL)E<@m zkwt>hW0lM%5LxAp_k4TIUu!eFyR6Xtf&!f8JuduoYTn*`*456Bc9>#O8aJZ-GBG0Q zY3f0ly-;#~f4B}Dt)y}E^Zl^p1%c&5P1ib_=^W;xOE$V+qQP+TXlahm&ejz~$OsBn zfq9}sJl$Uke^e3K;Qx?}s^{uaobQc^*XuWa|8QF7Jzy5QeiN?TTU%JG@cA5a&e-L2 zfjw8i9@`#sb5MZ+i5p(3JQ)-?c5DltT&WZ(P6->tPPGi}Yzf^UIP?7!A9;l}ENGc< zo2Sp8zRm*f$tboj3;Oxhfodookn-(C+z1Y@&_2lZkH0O1F-oBsbHmrf8JJs*_Xq32%KcZ9P^G5cA18s zBv_6SUHFZOXKB{s^NzaGtwW@Js*u|1@bhfICINk;<Tnq$7}Vq2CMkq)OKPa5sB0PWLrJ5Duk48T(->v+_}-Hp=)Bc1h{%*G1uw zX;Y~D2ZB}KgJ~Y&rf*l5Wz`u4O#4n4Uhf9pk2)?|mg}=EruYc1GLNNnQ`chzcx%5M z0DvW71BKbhQ7^;4;@%$f69YZdQ%VIDp0LWMv4?Hkrmtd*g4keR)2>Sxy9uQyPa6h) zhcPSYS@wT(@xR-9o3?R`K?nA~ozdUDS-Ss}{&27CccGpu83lo!ZiO|R_f(|2nDO_c zLSh^;X#*aihBj|*m0K(F#p{>qF>BOGc2Uj;VMw?*W~hOeAXETZlPX;2RC+k(9fPA)bdStG?tg$kx=SVY> zrjPkZ-rNXfBR5k9rOVw@rw|+MMkp2qGT@n_lr896tjBi z+9O%dSi=KE>-xvT=$pJe|Fw?+E;(iC;)hbc^(&>sI=Vj=QXm$YtY+8x(V78&#gD}Y z5__>LMsR*E%BfX6e@e;C%?~VZDb%A+gH)^xwopo~!zZi4_YD-&by!z7AOWZ2=w$64 zGIpd#P3p0c8Ifk^DQ6A`H#;5O@!Tkl)&eGQxPl9+j=ivznLSL8HDv-YQDSvM0TWo; zlRA6eAP{!v(z|V;@Z&9WI!|$;_89v2j~5alBrSNY?xivd9txxaK8N}E778U}^>26i zozmZFQWNl&ZY5XRbicR)x8IF_XKc9Ht}>z-S|;PYOh}WjM9@Fe$IP%QsG- z!PI#4z|MfxNLcVzB5}j7##QqnjQ6N6HI#)E;Sv)}_h zOZ$2Gv3Urr*S2oqxG$^k1p^;3H}r9v*pq(y=F3DL@#i1JsCX>a*^xJ_~9U2{VYQdjX@VF&lF3`$o>&Wi~0_ABT3fp zWx$Dq@&)ER7^-*Izv}7LYE>c0npkzI#o48MwDwI+ICL7@9(@F4i5J&EwN2JX>I*Iq z4GH5nt_1Vv3_LbURb?79F@LRq=~M_LGKXjuPrOH^!o{y9?iPF-uySq_jsAVr_0oEc z45f4M&OFQfB2NDawiAL*cDll3d+xll!qBlzz*iY;KYK=o1#rt)D7nOB0@X?rdr8L# z@u6j-Lv*>;{RB3S+VxEb!-UHr#{fs^5T`b}d_7?Q``?;G1OY9##AQ`{%L~ieKm!%C z-eFV-uE5E|CpWD=LAnl7U?U=ZV&bl%~1-^nfvoS?e?`7lVhyl zb)#n+WNo=lCg#FNyM{_s{x&)OR!csEF}LZL38&ry&g*UX$Y-|B0jD253bNJWbm&8; zzu07dO!a2!r9p89+Lr8`ZA@^**L}Gsc+zl~$8BRQy};yae7}K*V7PZgL>dACr`((ICD!~ch(8s9u@@4v)+WyP2BDE zR#9?nwly$NoyX>xaZ&FA^Jo*wP^WveXq zLkxoLlhYR`G>Fsk;GO%X?nRr%1dz}(&3pqvk{3!h&>%MFhA%xmINctjj6upss6Fva zn8fVs=jwnWQZ^6Of|vJHh@3gIbt#j<+~KH9j;)PStY8Pd6+H*dBr-{6Di!ADlLSoI z8DMX7()esz?!AJZKvlcHxR>H9%UG|y2O=1qWz7h=+rr#7?DlG5!?u(vdpk96~cv1SkaW?_eqlzti`&7aT&Srv*9*nq#Q7VeQW9 z17UAPPZhK%$~X?A<0CI=+}C6rB$0hZnj0TId$H0wH@Ozz^^KeT*S0PgLmp?qsuPc6 z(36LyoY${Ofl3*&1&6Qf^{mkJUyQNq8}%m~H(>3g)no)`j_rONlbKoWdnFTLz3!R& zirG?yyw{z#{l8hnyN%pobMHZ|yGJ(9eEQskMblEpZ8(;bnO{guLgFJyI2X!RobngA zJKU3&i{0@%)uF98msu2C03xn!V_0wpn4E`D2tb6Wl*Fge(2&TYGPe%6uc~$TmqFvu z#=s}onXR|nSvWe-WoI|75t2K&C6D5F+;HUgbjs|BY9HnxNSRq~XqG%MFv0UxWVW3X zQ9$ky;r9Bd;iekxjMn-ACljL?=c%}Pk*L`9MGwcgnKCiacfasBZC#c-*6=)(yyc;{ z(s#m_K6JA3C?=Au->!$gW_TZxJ9jVG3s0HNn?C$-TIZYB@GAi;q$r81og@ik5QC~o z19>B>PEAws6Yri|wmagTno{CKr3`vM6p+{fb>9)atFb%BjzAMZh{C5rtN0YQ<+o`Swg@jkD;8P=aVe&Al8E{D+yYCByy z-*b1j_RrP&Kg^7OZLF~{&~8Yrt}ZEzo^_)_JagBADRPiJ-7VVR5rJy-qSFq-tsIS< zu8s`!Fuwk><)_kZmICjeoclIt6W-iEWOzTriOauA`SDx==S0ytx0keQ)wA2X|1gJF zlC@7*mv+qp-Bw&fI8-x)$8$6N<~A4)1*#4dM&qJ6Cqsdrru}1h6e4iK?mI<#w9QAXnm?00%IZG1UHTQK+Wwr{29E&1u>i6tA=aZa+&H7o>V_b7V;Yo_WHT z`-lfOD2|aTtO7)R-M|zeI^Vsd-N#Ov!-jOA(%JTK|Iuqk=vn`*A{vWI_t zTM~G25qps(=5G6f$pQ&LG_lF0iRd6?5$kk}o*Mtn>WIvZD|a@NYJ$0!HTi0_q_X`( z?K_obwbvGZghkRSF7b~Jl%wEbTQ3$VFjDX_?|TS4c6+wfw&Le*+gYKeQ$^% z)B!EpIi8|UQJUX7ZHXJF-mfu!VI*Ghn+fA7e_iv7ub&mn2XdyP;nS+*m%vEMOm&M- zz2!>bO715z+^CR*i734CGj2C!W3C~{GkY?a)r)fN6|G`=STQVGMvniD3N5lf%vuwq zHqMJ>bFkK{0N)*ZYIb_;bD3yc3ul0Ned2di9T_FWH#ZaP2-ajBu5fnU<(MQNDl zT5Z9-D3UM=^Sk;GOS?Ot z2mtOeuh6`3zSTbnnYNmVddc<1*13n6I-I&wLkc~ae3$W^k7NS@$d3{OgN6Rhh|xXC za&i;A;2}J!$lfTX32n%+tjOTXg)AF4&q+>)Tv(4&1h|)7o);80Wd5u;IN*@T9;ZZw zGzXBgjyPx_w&0x9_J_?Cz@(-teJ}kv?01m>GymtwLd8QgeG$wz(DI*2cHKAKCA-gt zg(8SXtL=wqHs6}Q;EBSATv7`c$7*F-!|?1=8J2ek1^c+e-??vjG1$?d3iVZ5r7X7V zNoR(V_~Ym}wuYv4x=(t9zjpKvm-3wGsvsejtF{Z=%DPDlPt1$e;dfG%gcrE*%k55T zF4hcqH9a%hS$&6z*m&p?vDMc3*w>Z0X*E0;Vt3SzTvkx6{-+m!;P_0d_^bZC*}l>T z)H2(rOq-?Ivbgsa^V?qPxV}ePQEizig_AdDsrAKjL@DLCM>B=2OF?3QnR6oAoC_&( zW8tb2t6x!79FyABkK5YjIXLh%U`;f>8f#C2eXeHGE>W56i#vg1N3B{<>xhG}X+PS@ zIs729>&C#YS+o1oAmU|QiF1pT9w)4&NEDhCO)~E2F=1|OM)}30rH~dAd7F>@w{nf^ zft=?vjpNC=d~1I%L;KNREvTuJa=ABy2QGjTx<^wG9;gQGcHYNkzeBgIEwhq=ED)Dx zb7R3<3L9#MOD-%$CEg{z?=yJgE2L#Wj1enxP_ty|5}#_FFTD1&Ypk8MLBgbN_j zj>QocoaF!jo9-eHuc%j~a6y2^)zys*=U6SENJ07Bdu0cQD2k){&rQlR#HFt? zx}Rf}Ck&QiN%;1Lwn{4ic@gJQS(UIQ*T4QE3*F&ImP>ZA={@$^;hSi5*9kjvp5^4wUS9_1Ve`%W>c44nnHo&X z_ap$VLCy!h+8Xne>^X|SRDu2E$i{kN_qF}@`lb#&bLfIWNjqxIJDP77n;4gax1aS^ zi`qPjD?Mt2vftZYir$DX$H9Ghnb;dV&vt!`HwD|uXS-KL&IebQv2L_rK{5(>x{UZV z>uUTRfA-dbQUyS?YV3Kbtd`fOW=a{O>`>kx9Z$Y5h=$1ihPKs3ldRy^{GML9Ijeu_ zk1r)f0dPOIqtvd9X4GP2&ZH6)R^ogiXV-Lp^SXr8)B60zjM&j_q=_*N_VdB<<}r0_ zft-jdhiEvmp-)-wJm}d|Bb62BbFpAvHg~$)OOx^t0xL2kkrx=+5uU(aM4YID{(uH3 zCpE5Y1>B*n?^M$~sOqWwlEQ%!R{sumgA~U{UgHa;c%s{C`Of(j8dnykc)pN8KIWrnsmQb(l8`bz`amiDOzcwgKFNtDOT!tdf=Gu z+56F};DZo%SWZl^2nsX1F7B6SP{|w=ZlLLnuA*LZ@Gs6VT?nW&v>kU3MeD0ig;S;O>2zABtyvQV9ruut+Z{5xP>p+Ab_ONFsNKYf&G zyI|M-zTp>p^Es|ONWn>pl-N$%Ea#R0bg~v>^&Y38TFg>D|6Pctu3QU`8q*=1e>ki0Rvu zdIqbu{dzPz$*3LfK4a!ag{b6=p{D1{IN^Me1wMF9cP_~M$oyeC)@Faj88}l_^_Nqc zNKhL9hHkku4Q@9xYzN0jzIx}L8SzXc%TF`*Jzz$IUS`P*6~asYRJnX|VibgH!^UCk zVi8~mM$rrj=o0+a?0wbs3AqPDT9tsVA*??WuJb*?W|zst3%6rD0vH{N$}gv*Z3u`5 zUWC8EaXvP>xIew@K%3E(Q2@%Iw*F+OW0|y#U~6U~-_ zit2k0%@3VsQ~+wNFsy`Vp2fP+g9S+`2E7 zZ({!Vm?699p6_U%QK3OrMNRZ>(0A@=yW@@rj=<3AHIwPoyF>Ovmz}|g=wG`mY39#t z9w=etP4`|Hm-5-~J6jBIa|3GIYBS2W8Gqz=L{!*tqSCHeHtgag)M%uVvEp7de%*eJ zk7KV56fc~)rl*HCTLmTP9Yz;M(uj^-1C5tB~-S?YWEH615)=a4YR6!)yh0F7^c znkm?(M0{=cK_A?ce?Gl(2QGEtHi4L9q$A>aG@3gmDgz89EiIqDGf&gMYxR+`+N~gc zZkv!H6|q>|^D)tGSOe(RL+pI=YdEWO6R0C>AhhBxSz2Xr0MC?q=FsGGb_@inVq&>I zSS3W--uiy$jnYJ|4@8H&&FyTlNVOY2pMv{}@Oap}mv965kU1zJGL8R>#!-@0G`!|j zJ!58210(y#a!x8-DjhZwnbi1FzN}w|mO&GAMU=+d+GU^aQfM%)>|1Xfl|LXhsU{gd z|8V?L)cG{O@l|MRb8PSZuzBhhjkzhUXanzja<)t<9z0xL20#)=mI-%`XDjhAMBu#- zYj2=2*qJ7Lx=LfI1`SmqkL@J8Rl^Tx zhIar3nxf2^2I|aO+~d*1mKpsycI23N8~$x54&QXxhyA{W)!DxeV;aEzx4pwJu6Pqg z#lQQjqm9o+f3_7%t_jAao{Oi3tRDcSe_1dt_MwZvaSRmkrf7&?IeO{NW@`KkK|?7F}M$*uPNbI@vDFI=S?8yi~QyH zPMOaw+qTo&7>oR?;oU6rtbYSHZYBPhWNEgoSh<9OTgIBpK@&QJ)JHc-A4OLfgC-gt zXz+sGuXDvT@GD#~Re8yFxAxEn_cM}pU@7m;wg$Q5IC@-NQ2FG&YyzS}(lT+|5`FxW zP11z*-nF_%NRUBzFih_{{3^aJrQW5PQ_c!ONwq{REU+TW|@54;c(3W(+o{L z>-Woqv`%=gU`Ba9)Y`DTbU7yT>&C{sSYJl-o{G9STnru)nPRi5fhOuJ%)sV7x;mqIE@c_|8JmjH_JrjX zYdd+}NcNjMc$vE%W$hXQzvpHrr0mcq}6JUYilb)0gkjxh}n4D99mbWaP6FBO2V|VNlCJoFxn?cx8bQ zMXJk~3UOv=Lx^m$XzvHQv4S&5AzBpo+r(icoIiRs-F0oFr%gjOO)CX-srMHLdpt8=6&F^lT$)>@Y?EyTUsNH?x?&QeHNf8%n^{WxKFGHCyb z?`g)4l_|w4N?R_*59z}tn(?Ijyp791`l;@(l1_LbsfTWX(v3ya_#=8$=#i`)w6ZTe zHNyE?-tWgd%_GbZ&OogMJP^FHZd=Qevbkx}uoi0D_3$g*Zg_D?5EG9DZ{h`9Va^cI z8cSKBz~kotA{1&q;4vZ_8oedE0c#n)WZmu{2E~!C`Jp>ww7FPsQO-yQ zABAgU%l@o4!;Uo=eHNiii=Kp{eCg*OKLW_W2G#UcKL)@3{7&Nv;!{u_nU|q!4i1V) zvZ|BkYj7Deb31r3!);?>#W01vZ(Pw;vsJG!0TV9-bvo8V3S7L$Qd?{l>mo7@ukMT`k+h#)ZU3BEPxD z4smOnSw!?JsgfjsH%A!xt#VA~zi#6_S$SE6e-FSx8z@OI$HJKj!3C}1A>zo>Ur9An z=@zZG2RR{!w_pYmYI}6XE*J5l+>fdNW!5bM_S9P&+ZZx?$dS)bhR%hPly7`GLTwJ| zrG?<(8QOK+(bdG$fd#Ldolnwd-ugu<@D=6+heP(#?MmTy-M9XHC~K~5dfGYY^H9v7!HT}b7Sj@1NW#i-T&oqLtyMf{Q=I}BRp;Z4f z#p%J8wQaq;OVUonJg#fpgQ6JQA|pav603d3*`T$Ijs1}6#^D(;sz%Sxo&P< z1X_PI!^Po}xa`0x&B+>^BOlMky<}ANPbl2$5L(kWh68x?RCzS;+V^llr(;QldbLmV zSrP?_@YWQ+<(FB+GJD^A7gmHTh1rW87udp4as?jq3rPRMwY<=| z+plkUvlv`x$>hUEH;zQK`7&X<8BE59%sGQS4Fo4HuJ2SiE;3Zz54>NjFW}&jtkKeV zb_aP6jwjhXQx~Uk=wclVNkN4+tYTK~EJ+~PvMb?+Qx3HXx~D@d9v6t1uFPm8ODPp6 zoU1W-@s!Wr=9!SIOgM&UYEV;)IqmeEVQBNor7V`QRBL+v%2~g?LD*CDjn-t(G{UHs z1@!vCRY`fRK<_Pr8N)By zpt=1i7-gdeB&l#{!Chz@z@ z8050b_0BF~V|-i!@mbiaL9GKuYLCp`Io6-$MxRX3#|MWFTS`2rAX5lHnoS2*Ic)a7O(i|jyarenPfHsQD z+>RVD<1p%|F+X#X_aX6FJ~p4c0Yt`^v%xv+9V*bb)_03&mXXPot!Dg%VJAO;=u6Re z!#Jy8JdipywUnn=caYsIRZ7KOTy~|hwc{0ye=JxgO@lG-B_A_x0D*j|lcQc#)rku& zIG@9l0-!mzqd?fZzyz%CN&uCXYCu-|&|NnLjd zcRz%?A(hvc4=rY)=HwjVzr(rW&t0FYB#P01-&ouR!we7(e|$H^cEr*>f*a&GYthjs z2{v#Uz7IOl=vOK2F50P#PaMd-E=B|i^}x{C6sy1l1vetb5fxzQoybaRvt!M`CvIdH zVD~BJQ41QZ^@TAN>D0n-sA&4F z@!)%0sOfL<7x%M%kvb}VfpbSbl9cLB0ZLZrn$^yqPbu?8LT16}PGUI_fEcipPHJjuyWCgm4_MOXu2PN?h5?T37Q z0|SfUFrV@Mrayh^@v0=_c5GV7UGJC9{m^o^Js1HqXhbiN(2A?4-fa93jB}r zMcA2hcJ)*YswCgNCWdSW<5LS&>rx(%yLjEiuxVqQusHdBp3^Sx`C#B-2lrW+)xqY5 z+|K^+S1}X5)|kdhuj3QjlQ+LyE*HNuf@;P+DcSnzhCS3cOP4&L~hhXg~vS;E~gO}N0u_j-cK{p+}PlNS~vMb z*-m0ck@mHd<`WZF3)kfkSj3E$I#o&EXmG^V(7Y@R(I|_LbnUW1l?OPva>2WaTiiH7 z^E`Xjwm1Qm55NV}VeW>vp%;vj?51m*>GD&Mcyd$&)L@|Da{%5BMWN_|v5!y7qB(j# zCGkLb!=f$&fX8*no87%0kBtPeTq^`q8Yt6=M~5v*-*;#zFvSv8)_eLzq26q1NR6pO zvUF#udz{K#7VFMBDF=gOnlZ9!{YVrO9yMBgW2EXQHm-%IJlWCuXrIyPw!d~tZzQi_ zQ-SrZH`GngBOuPD4HqZs0Fcq3!@5je=Buo{Yc?C3m{~)BjMvQN= zRlC|)#+S{ul`#UpJWN4{`ry4DY0R&ArvJr!JRxU=!yDbM#RzQU#n16R$q?eFo70g) z>#$(k+Qgt?HW{zmwC1wOS=&qInmL6O1?fuWga3!#*5h^V@elE?LR3cO-G z`M>}4wGeHS+IzvQA*hN|v8>Qhu3mB@rhISx0{^Qs#;r)Pkup*W?~wmP4bd3>7eOIq z0d}d#J@N=)9zh&uEeNbgk&v4HUw^{J^5O+&SsmNL_%JKE@7&h+w0xj{EulX1D z=PewzG$T+JQV9or<;i{8VG2C{0|FCmR58GAiML^wa4p$ys_N8~0hx?lZdoUzr}}QJ zJi(jSKPqVmv4Q9bz0YQBf{=Mja+j7#we(7iZ^&v_FMV8DIMlOah4&Kvf#~`q1qZrN z21N$hz>!9#xN|7@s047Nkr^U|cpV&Rg!Gob?4KYo1hhT`_`h(!0_wB^|E&(nz)&}9 zm+NgI=5S{iTaGn)*Z~cy7{)&lHu2&g{(#vyCY%~&0lZls=lRg++2PZojZj zKTx;-pTq7%L#Kc6SVsL5X%}AthtWVi^z*JEel z$j<=`Y8=Kth|FBLJ-P(_TVB_Hppfp2aQNOFSs8d?isE%n0Y&6?wH79sHYNy(Vqll}!J{DW=`p{2g|VgWxNkCv1EEWTI!H0(D6 zRa~a<@DW+d3OF0Oic%Qrn~|ZLV#x_bhT|gvyyB+iD*psZ%E!Q`nj>@m3t%Q+SUjd^ zpDH>=Jgh7bC(yAu_M+~4m-US0@VB1WI5QdiaAY_$626YQ{&R!km;`^kVzAsFGhk&o zKi~a4ve_c57}PN>5ulxb^IjYM){_c|n8ygGV_JHi>YvP{fBhHEO#Clb!f=`6?=^^N zZRB2dU|G44t5@9<9( z6_8|vX@E-)Eo{Pe}`W6RnSWnf>;K)FI5DnP-%PG8Yj5*^|TG@H% z(Mz2CMYMAU+fQzu77fmONt;hyy4n8}LL&Je#o$^03(<*htLg(a$TQF9bZKovVwxJN z+kg$7V};%uyH90$d~ZE?uUHvvwFJY?(pDBtH|jn*DHlgv`y-UU4E`VNq(}UJfO$_> za#Ob2(^Cqn3ij3W>D8_VmS3L+$~(+9ItTE1*=b7Y)iJeh*m5TARQoPi7bQ2Zg)eev zciOYKK921)Q)<%(su2JiJ&snI)%b@m;iyzeRT>}n9j@#jx!Hfix6)f87Lx?96_fa7 zCgb((HxyUhegaorijQ9AQpRy04i1QLl3bQMxe4l(o+lPAGbO&>QGRCfy+1f}Ypyv5 z-(#(QZ%)&Tt>jV^yP1PZ95L??R92II9vdwr9jab z^Xw1)7U8!r!+$Orh0r%$S2oC?LOX=NW(lG3w;pMX3J)juI1I^J<`$zMebr%-SR^n_M{=?D0uCx08rB**U8qrVP%b)?goDeL4BF~ zQ*PWbd*j>s$1OpH&)-x-qPrjh!CRxH>Xnxuk_xu;OdL$TJG*e?EI2!1$%K0e;)rmw z&geqwno9b6xcq>KtELLswAkTOYGi=J%&nD^N0@NFuN?_B8-0XcngEBF3Lk>rmL_T# zwPj?nYOO6K=FKC>C(wq{D{eb5`a7@c3kVj48TiZ}QE&|LY@hmIYtsa({Sl)=hFuhL z&mXHJU8}YJ-xTe?UOJIE_w^ZpkFI7{uXEj4z_&8#C9GLSJjNbAn<`>oN&ZXcH?aME23R>$I|`Ds_51gsi}REBY#a~th{1Z~m3y7Z zk8)fPT*6Y3NihlH*Ki4AQ5!TW{oQB&%0|Ekb|cR8iCqjvN|uUAM(kZNS#>a2&8oT> zX?`YOW-!|FvFE}E(2P4|0IX(Jk`-U@f18OIG0+0>?=z9Teixt2qG9ZDpI#{T9fC58 zyim_zpfK>coq$BiSb6%7AH9(3!%plXf>R69g{<={lFVQn4M~D6*x5G@Xj9~lD%2gMw?YH#sCT>JX8 zgN(ulf_yTU`H2UyYu#=catY$`aASIo78{lz4*p}1Z=7@D{^s!#sh$x$o!>*}9nipt zfCSb61_@HQKxGpdbT}7aIFGT4IiUUyCC4v3qm%9%;83GkzAS>sWQFt7J zUy?8UJox4!{8lEhP=VS7z_*sPR8UG)q z0sg_X9vOt5op~&cHpY1L%{EQ|Z+tMmlu;@!X5eKc^ULDUIkuh?B6TP$sma6D%s1S` zs_9l*K8hMB>LfHb-94Jwufl$6o2ceGvTL7{aWJBFZlCd0Yl!3d*6@kGaATu$gYx;= z`U( zrA6(^V+(jxgOPib%2?_@qFAWr_}_oufhN!iulb`>QkL;e89u1E?~YJj8yLgiGG{~M zwSAx1sEZ`fzAvXUs6kQ+NH@Sb^#(XQJG(sIdkJ_PW*J`ZxkW5CyrKbITpvvg-B4l} z4!(1^X#{f`vNd+qG;#mQ43%)Gg{TjZV=09g2ji$ygHSNOeY3gZVVaeIAC?)QfWOld zj`OTfR;11)S%vE3&1T2f426{9EW^20))EUZH9I_D4xrdj)a}R2?wkHhg(60-ySDI= zR4$CitgPEa!zFGpI4OP94_iw`yOkENdHv;oCO7joe*I5U#*k^!+<*U&@VQQ9VNFqac&PW-%>SwV2&E9Pks$CYykxiY+_MoCAJUgrQiwIipQCa zkGac>EiRPJpUXO0YtO>3G_K99ydWjKw8k z5CQ5TvJ~VoLV8{)7an5#aKb-n6Yba;Jqx1jE5F})VVki+hfW0Q6=E33=!Gz?-<9h6ws-k%UE3mZ!Xz=Z5v%bMW5V|@c}4`(SCvC#P0D-DdAapwH7=4` z7TQ=}ng|w$amqj?6JJ|73p9Cswq@4XDr44Lz;=IA4{z}t91vS$-2d-54Eya{E{&M? z=afN6IR6|?7d1pmTILLHZe#y2H~d6|rN;@!>;f4r6Ne{xJ)rXU6ZvpgI?O&u%WTLL zJo*6P(MJ%b@JbRkBtShpuVrC)Fhx6qXQPb{fO85EGE@YlF{EXMTLH)413=&hS|_vF z*IVWyAha^qsy*#Sl~o|RCFFbJHCooAQ&tA7Y6?1ULFr5DAgpBJQ&3Y36{N|S$ zaLM%^HAF+YFrJ)e>Jufyf9i7}y$piG6WoJq*J#RpTYCHxpXIrM!z4cbcfJCmyC@_< z)1fxNZSCNf05n;k$m5->i~k^^&Rx1e2L}XW*5#w9Hf^BV|Hs%{M^)Kv?Zb*7C9qLS zaub3`OG<;JlyrADNOuT|(x9Y-G}7JO-Q6Hv(ha}0pYxvgRnPgx`2KOgaC6^ltvT0> zYhH71SQLu#+2TDs)_tVx-I6V=lEk!L+em|5?ortRUrf2skR3`~3`@tdq?6NuXNHL{L;5@3P(V;% z?n)rsGOSS%ZV5}CI_+KD-K3dXzDR4=Zb zfyIeWxk5aGR!XE{T@U2Fuu&!7$+{fHpuKuP2GUG_$^aakj|sWW&*-bw;ibHMD?`&G zpR{i6HfwfJ4E?uvF=PK9@8UVof38^wntv4Q^x7SfjF1!j(m0~ z!Gb^J<#PWzY%mxFLJem;5fmL+GH;hazl!$knfXU^-^>b6_!nu!M01+-d)oVE^!hhi z5#^FIVw#i#ui@gr;2UZ9$4KP&kuv{n7W?&pS=0oU$nWv?Uy(cbRVboyH4^dXuQQ@q z>DaOx+=!P>rb%;1LSl85)_H_PBQ1G#J7>XBKcCtOAIiDVgOI2D6+c{&ATYtXL0DJf ze`*LnoOod4L6^tR>+)CmfzrzPsRmhBelkeW^qLVR#sl3|cIy=M^wJT}Bq&XX)51$l zN8WtKqMi-mVKpxNrpnrVQZg#M{bp_LK_rfWmZbtDS=dbB(E~04xLe@mPX+>5|GK;2 zS2CH!*{IledTM+XPmF7>jK#yBHB9vLbNk1*UK|=KC;aS+G{?kF`9U2WvKv9pH@7-2 zoncfU9;b&!?)9BpKLR#xrc35NTmUS9(Kk$+l=)kK#9ZOgy(R?clQdNkm1dupLGvIHX z<^-W7MwX_lA$EgVxnUVn@!h!E?xf(phkoYW zoi3C3jLSg(;Nhb%<3yKs*(9X`ExNBX%2D56f9$S1o6iZ|oGeO}jA3lrb*?-#=!;W) z6HQN7G3OX>zdbH>HzR)VtpM~aM#fuJi%*xDl4I~)7aH_L^;t8c;j@If9IajC8NaZY zt&{~~Uas_HQOZ>*N+~rPdo%C65^SxV7W?i@QtkyNl%)a8l@m+3^-#C?i;o7g2k7CfKH=oGI4oJG~)(_>O)b9xSnx|f| zb?@*wM6SYmfxgb|%#q0RU|D#o$}ZE&ZMM=jf=OS5uD;x4sCk`wXN_i=jt+$9fo0k9 znNc!)HwpuW+J-=O#a?%w6)#dnL!-QIFGL@ry<5-}eHJjYp-&tA7C9SFAL-6+O+(@( zq(@`Y={ME%X++kTEE5Wma-QC8#G3jnwnlkFA>6MQLQtC~G`iwdOCKF#VaG)&5syKk zc>5w`1^^;RtT0{)8t?hy`@MJk# zh)xud$m3?VL>x6#C|yP)y+%W8Y@5hxJ}y@8egWruG%Uf;1$Lh%yx6J&<~p^@uCo50 z3*c|Y{)A+kP75AXg`CGqVY-+nI$u#xOAl9jKK?R`RFW@xo~Gyb zLLmzZ?C)4qYCQ_A0BL7|cEfxh+I&)&*>o#60h>k4F1H=0_Ru)EF7{%+{HXp4#;qpd zTR~6Ee_N~^)aKnO;ycHa$!&U8%gynKa(i|0*ql~}h8ky`)Nh(xS~s!IH@1e>(LpD( zbefTHqFVaLFjUw>znM7Po6ZN2fC^ds2kp=1oO+CtJl32j`jhw=%FHLmt!{z2bR6p_ zLPGUEUA#oA*j6nu+H4?Aj4gIP(A%XCj`>0*lQ_Em!GVSrcfoa=?&5UDy6oH#XqZJf z>FW=jquKHZcNi6i?^e4_WhbWDLVU^$GNltrbJ+Ut=H2$Yy1&vqd;Q_jblhRtgjOUh zd@jRaLQ)EBFC)qC9{Ztq)U{lHwHIk!f6=Z;6~?>P{Z#_Q+K!r6iyv%IL<|zRU5Z(( zW+(HAXBTx}J(3RCjw2IBp)(;T&eG%_({Vnpwh3aU<*~Iw`Z13JKS5w!E33|^9w<+G zGFxRQSLf;+V!-2x96$uHzyPMOw{rjLB|_IuLp$9UpfCu zuBY^~=WstSOiYT|2QFm%tO=E&HhJZ-KK-I+GtY-pAh72T5YfNrwasd#=AID=3MQk6 zyz;m#O~#0saf~N-#K}eqWHcLnez6*@Z7`G~TxYE@WQQ zX)c{zjeB2PW1Yn7`ujRtK8dBE3B%juMhDAA6uh&|3X2{{~)xJa$uLr!i8wxJ{&IT4l4N5`w>IwW) zEb@)(>!X2p9YjthOAnAEA$QDPx7XF^o`}&qa_MhOhmd@`8}4p%gawd(DCQ`QDHSCO zng!#t+7Cl1I(#^swnnMxA_O)3&o4*iWvVVM{aT{6JykoV{LXz1R5=EylH5~-saxwy zQ8)l&Lr6M+*Kzf1!D~X0GQSPqjX8|>_F_Fr&F0~2BoVPrKe+-e9`PjJI%QI9t9?jY zBTiuMo?!!Cx7F`^zZ@ZxBVovCSfg?;#YyAm1 z{?bUpc=9R-%kwUKRqJW8sUm849p4(60;1j4dY{tS#9ei{E(mlA3o?|dH+Xt9eLy@X zSE9W{pwTifdLn1LuVV+dY@Pn*D?Gs~2&=8NcBPGgwP%chU4R{`x&Ae}gCwo$?8xL# zM#JGWao7B1_XIAdaXs3{(WDk|)BGCiA+Ovt+}+4@n75ykk3L`%f--V> zNFy-saew#?jey?5OEVBtX5yluRewJos}{ffq4}OS5ix>43z=f(Mpo*L)%OgTP40y+ zb|NCdVJZV&{oT(_Ogc$Ux>>nnrOkIo1OT_Z0s1d06=0;~gc&EGI`U-!N5 zAo0>rrx)Ze`CPun5#S?o{3c3r7hdHJRB#JK8kuyAq}5M*R&>^K8n%nB>Ht%~_a!Zr zZr_gS=A(y|7|_MnKZTeC&E{)e47(zpsXb>wXy%)yQ7ul>A#XJ6`~2#DkG@TzTFAj}7#lr8TXminHv2yhf_F-^L*=6Z){wEKOaJ#^UtZ z7YQ09)Y&uVx$AYCfZa07?|e@seHz>E)Vu5) zXvI$PUi&v6VP@N1c?ajH?hinSB$^%tg|?uubby)Ak|ik*Us zN2gNAk6NGjER1(~lHY%n&2oAp?4izL9)Cd1#ag_B7=nHo-XjdEmC(sN&M1*G6wHLINQcQv`^u}G=Wmp}c$9nQj_@7$fmO`2!~`SMUYxQ5=hDN*_P}m^J6BtY_3TEqtyU@C|k_M)=yXNZ4OL1OgF5(V`&t4n{9E}x7({j#q^tl3Q)Rea z@@XVs6T%*Of|i8`C85AKg)~<}jZmY+% z2+Z0EfG|cx1&-f6U!_R!W7IF@Fda0(YU3-?zhC7fzw>Wv3_=Eat@dEg$&@ zpbDS>p?G*&pB)UL2cfv2fsYvC{oc6NcJ&HfH04Zbq6EVBt?^wMG2tsQoCix?`Hgva zdQWb_=(zTX{&)hGX`g%VArF=c#p;|7QgFU5_CE^LtZ9AIbc}g}t{@g%VBRnWH_^S& zFF3LJ#RG(j4u_;FB!U!vHGFFy8Mci;?2wzN8;rEw*A+=sQ;oIZ?%+z7cmf!IkTTnw zPL_QZBP$L+g;wm7)oF}v1C@r$ce@`I**!5(^=tHK!@!;^ogfW(N?Y~0g9$+xxt5sK z4+x$@lzE<*y)u38@Vg&@{R~wBn8EvJ9V=o`U)Xk+BY1C)3$=bp&?I^ zZISg#G?6nxO{m_Ij;XkDinI9_`Fy2)Q%Nf~#I`)xd_ufKI;zX-ezjYn_T^0J8%lNz zxsA1GuZBTRMHK%UjgX7A{`$6~BUzdtfBW_8*#&^@ak+8=8!POEDLntXjdT_t{C?>{O09fJJl=Rz>% z_v?r+yq-5dg}=fg|Bi6wPD?i=<;CMZ6;!<>!C7BJe2siel3}%L4&1}e0yE&~KW<`<7P>LFskh`cknA+i&&u2Yf3x@K_XG&wM_>jeh z6&Sn%N-%Lhu!mN)c!Po~K+2R(#K8Xb9o&eZ*fTbJb-y z)l$fy(a;WRi|hB2;?{SSu~k@mJQj!oDLBACu$+;BQD*0J!-ea{AgO>aqXyq&-qpT% z_T-xRPhnk#hIgQb`Eg7w42nhu20ytk zfe~KSr~1Ua7e6D_#8{cErMN1o!Uxf!ra%PUsy-VJ(d9v9Cke|!QQ8@YWpPa& z563h3zkK|qo+gG_Q4Or=(04eHl0T?ELu83mjr}czgy~v6tbQB~4W;ryf&`R?p$OP4 zHu?-VczIc3qcovLxp(%WN4u*Cfxuo7Ut^Oe5V*Y#em`LxM-}E2C;>;ra{;J8u9ONX znSLcT2ZNsoMOxEBEVFSGND(%xA!xcq0Xys80bA2VzRXN9;W!i2-pf-p0VLJP2suw6n@oJGN4Ay{T$>tkb7c8gj8 z$WOuHT{j@b!Zs*AQ)Dc#=@a8NLdn;i$k!}(zjznRsOy_1lcW{cg?vorzJC{YjrQcgF@I}i}tCQTG*YojhrGB)jp623~A@fK!#{8l#-bXfX(haNS( zAk<|mx0p(qyO3(SZWMvvdls+^5yM1(0QX|Lo#!5}bGbM6o@ws`iZ(cAKg7nh`-u!O zxE$Ia9zBI4k{$GQTRjvw(Gb=R= zsInmC0DM43KV~F0kd+VPWES=c`BXmq4!@jLCYi*mNtG>lYNJxtq=%m04$)}|x9AQC ztrsEa%7lK2eJn=O#}ttFX}gj2eG7o5QrpP60u}5Y!M_YJ0x=u{(hzvTyXh^6$06+! zj+`xT(EUre`?WSp&Air+fh8QwMVML(fBT5+r5`Jjl{9myTfcHZ=j1(aR;Ed#o+!Gk z`0?y8GyIR~Y|Z@qkPf`>7?s949+q{+&AQJgjCykk zAm>ko!B9S5rk(Hex5QwKboeofDix$5F927~+Y8ReLg(B%_`d+f+(0s`-=IEt&@eoIg-YB7m-U2co`n)< zT4T+AJxxG7p5(h^JUltaaCku&E3q@YSm3XBKeizU7VpVF7EkYqTzJ+)oJ4*0 z&>-4|@uc z;0(y_qz%Cf>O2l{4ivNShv$*uIr$P2-UZ^l#cu%LU(Z$f4~ms9Y~VVc8Av*=SgHf=~)~ft{y#Ek2pTl@Y zD2V==WcOuYvZngm>;7xnK2#UTQ%dEQn+ur(5KP7}DV6?1SN?gvPazC)V=J|Yffp17 za@|lVe)iv9eE%^LY#h8!)&bt*07f7o%!mE|ABX6T2>$!qV+zOv*q$1pMgPIf`)Avq zKsjbqh^Mx;vK3Y@(R(Vch4^RT^k0(U&xJ8ba>zS8si?t@BS&qH^!^@R|IemV!uUJ= zM*-^G-5blS86C%Ju4Fot;-4lFO^?FBcUo-^D(GM+{--Yt+FCCSIw1$BVjD-I*S@Jg z{QynW06K~G-!|?;Ap!j)h@S)4I<)F zies~Uak4cQ2?H2!Z?4j1l6b#!2Tzo950HdM9#ROBevSN>aQ@@p$5H%XVD1Mrf@(i` zq@0;@%MoSd?NO__>dl7t)UfIh0xAwtYi-L%3<*$1C^K>Ep{o$fkc{;;9X^c#Q9w6< z4Oe506OpS69MP;N3k5u{4@9eOPG`~q;#Iz`1>pK?0Ob#tTdIRxs@uUqI*B*$N(tOc zfHi<Ubbc!iS*m)=8BzT<~ito(vO!m9zm zI6m+&)a=BOXTvzz$XuGKcRRq5hu69sUG8K> zawejI+jd)IjPYOP`Iy}Y43aLS^!G-&kA;&Y-Lo;2YS{J}dpe>7cx5$7VNkmH-rCkC z4$!;f2GUBwLd~jo>0l_DG=KzY`{GzfnrXVz#3O$udEJJCjJEUo;%K!qoLp_zaw0#$ zp#PgHrDO~=5SPKxA?NLP!NbM(7+YTZvsLl{)~2j++#MEVq!l4xF@b_Zigef>?;7B{ z%guv*@y2(A1;SVFIxQ>aGOl!JrSc|b3bgrPgeU?yFVJhi-L5x=lnpTUiu&@`AJI3> zEvJgpv7W!>uebqtKqrVHfBGO257z1^e!g1(ahZ|N_Wc&Uw$Ga@P|23dGZ^Fy#Iog_ zYw}>?-BL4xM}kt|6hJ0=cBV>LVgHy@8ummv1S4LSIqs@?dC*Q!R>S8f8sNu)4ws5qJe(=>4=V3V z?>DmC7TDu)Hb=ERQ81B0E+k($Kt65`0CU5IdXGZ@FPkwzEL-q#93Yuk2XBHKKh+D2 z`VXSmGAaI0P-Fbic@Ch|o~^N*)wOu*aSzkk$|4-yyl0^GRL}&}f>>p+{2<9s3Wc!B>WSZ>#>V zheiQ$g~P;^Bc&8j@pEIQ71b5rEWisd7LTNq188c&m~IhDk7AB+GA6$+@>H3*GMG+1 zz;k9I@B~5052CH@d0|K=HeGcZipM0#W;L5N!*3ynHTvFUs>aFMat_(2NIHR2%|@u{ zWNF~$Y@r~J=QSqzSU(vyPGKRA|F6JelOZx#DGpdVW%U&>3PJCAKEX0Q3cL|g6-0^@ z5{l3IM*R>LiF01V(aIgT1*AX(WpmdHKy9)1YOe-P7JoMdt@H#u+gwEF1Xkbz3jgyH zRpKB{H4NN2ktDee_Mp9;mzE3;4fxSvc7pUtow?bc93Xxa9%G1lm>5@o@#y~T$C$*S z%YrXvH}|Wz>37E;(a2MEWrFNWq;YGeqM+x5B=vAahR+leOOU!%rm}<&mJm$7_Srx> zz=R{4odz?K1l~V1rBSFEP8G$lEZf{XMBg3>Cl~D|a+)Ot)j(tb`!K>)8j(v2_7XDc zc%xI_V;VuqZhteX@jyua8eORh^7>#Mlq`I=ecHf0L_b7t)&gn}h3{ezb5BMg)9MXn zf?Au256*aV7KXVbl~N~@3%e?(CAR#5{xuh#gu)0IfvA#%xx@G0j39sRlYq)FlnKvP zdVh0fAw`wvu7Omhi)xxzB%bF>+p|kjbxiv0NXriO$HNlS!LwgLokUh$xc;!4<|SDD zw%;hI0!nqDpHP9JmL{MUm``9A5L}3ILYd~cH>=w52rX0iha&ffuxXID&?&Xxk0WJ= zavuiJU=D)>)gcS+n21S&)ZX_#t$7n3DVk)ELe5yBqL}b=pHSXQG1Rm|PcW{&IO@5q z;GN0c?alNYkuE%B`Ce2>VY1XtTR?VY|9LAih;=@Ww`4nzeCI+@i*1mzpKAU`X(ZkSSvfT}<9D|B^ zp4UTNEWPhw<^n5nWRchjmRz3Id7?fR*kC}VSfk-%D*;FwYwUR*7#5K|k}iQ8JyZY5 zcnhFD9Os}~XR15fst-d%&?9vO?-O#^@T*@mPh)?Fht3P)eKbj!L}f#Ru)(bkiIN0Q ztb%U^`X|04CAWd`flA(`X-rnNn#X6OD1_Uua!G78mkBy*vHf0o|Ce@yZ`yeb0Aoe+ z$D#rO?`J&n)XJ`n7(c48yPw-6EFzC**zkPJ;h`lY9Tn(&?Ms!}l>zF)V!W)n&G43a z$oFwk{<)mRfA!fUIXd0+D^Q1q((p`r08S03{k`Q9GE7{K?@17wNI{>N&v3j4z|gI{ z4(*8Gzed(Lw+{cNb(#t)=cBgz*@wze$6pmRwtUA3Nm@StrzIScfC_*qAuoN;AJXt3 znFEvW^rek(JS4yx<;=t2!$%H(KUv62;9GL3Un2?mQmJGL+WXDC@_SqPBNg=awz=p` zp|CrtC^e&CBakftwu`~l>8@H9KrqrkUSf0?D5QtYH^dVUi*U&7KyH=}0GaBiAl*Q7neSOhJ*b=VQ`uD@^gJ(4Abj!tGOR^a<;@OKV7w)j_1jShL};ZhnUcJgoi0? z98d6Gy}D{iX5iJY%cQWJIu#%pc<`U$O3Hf>!6~S`!e4p^g2U-Uth)~ z=WEG(82@Kq!NVIbnN{gU&c*^k=Qf~z@y9-0%T^}7UzxqTbS51c&YUZmXQ|6%g@ z#gP0o#L&bGCP7T-O#qAPAruf*xOFz^uTPlgEBDf3<4z-4*jZ0!V(sFMJ3nm}XnMJ? zL{mt8QokV{K>05!14}WEgOS~Y;3h!c(Jd|j7fx=o`Ag{)=N9Rw8vA*N;h&p!NJ684 z>dv{>=|9&~28c?>q!UbCa%oYyL=90`Q-PdTAF=;F4R83A_aL3vz(YLsg?ESXu#g2| zkG9`QeP_FGR`JBh^z2g}O+$lL)7af4hm+IoU5OKkO~e<&+s1{yaJ1HEg09O>Gz1vP_6hjvv-MoN=J9F(E9j} zH?=zKe;)JC^UxrWG`4$lbjZg_{9)7TOzTfJ;v2tc6DQ%+UplWYldep>c@lczvVfmc zZPq;yDvp}TQ&KvIJt6ZXv^r~H*X-YG`q$zfO7n+t+KlfBB@cil@{Ux6@rNQz6W5aU z)gGAd_9r(%?OXLt6H!$|Lb`o;CYPwdxFW@ z;CY@0RWbab@EID1`K319PrllTTG^W5*Gz2kRF_jx_0?|Xj-EEIewF_yslgz{eM!Yr zHTvq$gM)`1+;d-g$Oc&GbVAqw^0ACgQy@l0c7uyojR+;Nn>hYUtKeH!4TqEF&4F}k zT#~u`I%MlBE&S>&Bi5RaAAXkuf3hcd-sO~8EPo$7d^T(9D8xq^!D#Mwj%7VR-R(QN z_8pq(tdF+J+HARKzJw))RxD2awU`>Wml8gUg(QCQR)*w)%9R&o@Z^TK zBYT3&QH9*hO~Y<6`RfXIH~gCIF4N91Qq#d?frLc%vvBi~pzWxKrDd+MiXIN7(tjK_ zDOBu)5c2OAw9TT>IxqRKoK#RT?A|Ssnx;P~kbeImB+K2h>F3qRXpi)!V^GW4l^}lI z?Vjnz;P-^Y8t10j<8B1R^imVu)gxq4cPcbZ%Rs9cN4S5f?f>k7MJf4lT7Kb?+sI^s zjD>~uY{EU*sm&g=upEV;zDNq5-}GZ~?Ra9A!g}^SM{cG?IrHFSqI~2jiy+h*&Tj8Y zD$b#2c-^b@;Z+9q{CSmQ%Z3Hp)-qG%aI$LT42Dx*!pO$WfF!wS$j-aiyC8Gk=r!Kc z^==3K)AP6ZWn(jk?HLWfYlX?H`vPV?UuV6Kp1<9OIvmVCHJyJ_k)i5z`HKX*>wZ+so6RX0MN@72uPGvHN5<@G{XoujBsV z9^}Qs^Ez+0M7akXGSEc5<=}+>--iw5opOqFT=L%wBP20T?l1a;DZwh<~b1 z0a%2Kd8#q|3pfunxph7_<+z)(z~SrlJ+=G{=vd464>+bLtVU^3p`dlJI&sbs3oH%e_T z?Y?g7iJ0|DI{apK`Mvp%P>|%}E7)8`k_QCLYWZInB}bj{?S{zxV@m>GK=>?TPOmT& zKTM1*_yhV|Iv{AK`=jC-t)r`HT<#O_CE;*;h;qdVUwJ+Y*6`?A-3!OZm8`iQ9me3; z%h%w#&09~?H3xHLj8@40edB@I=O+c$#s7J#0G4Jl6|>w5f}CY~Md*ObuTUQJw>?&= z<-9M0r*1}5nDI$`4B^*quGUy?wqz9RdEM)HhAZDUjAkqNWlzbX$Qs{X1e(sLPE=sX zN-!kj*UpFz$1v#+2Vjy9gOsNRE6H<=N`k??CjIcD@_l{GhXyMd?B5r1&xaBRxC>ib z`(S=m9Tx#Jm%9-pzaQGrF@m}nWL)MWPM!}zV(%ZeQKjFpW??;2ysJ7UdB5DU<0oKx zVBXN+C~#V~b96lIVCyk1UCMr5HlS5gKUXGEU;cA?VlUp|`}O*{g*d^g8^eV~*Trsr z&es0&L|kXS`tYZT_T%ZBVz;mRst)@T(|BJ_8a()>=Stiys}iKb~F%ao@+$x2p&n^^?L>xrRoq$6#5&QovW@@ zE#{+g>&$XD&#Ap{ZK+DqOau<2e&TceBEhJ}*B25~feYOolODX`B37=y-tBL{{{1dN zOmcx97v1hjCyT-*AY`{FEwGh+^^M8bf{vwr(B?9&5-_vIe@E{_i1diK!U(@+rYrqv zvRnGAv)dPa)hD%Y3TomL=1v#Cnyv+FTau)p6Me(8TsidoK06S#!HbE3+Leu;t()Spf48kL7U)N;n3uGp$1Ney%y1_{prAaqjj+o9jSevoW`g6HM(dKj--UM(ObcPYz z#)MCkQ&M66UvR{qoDFV^lp=Zp>0lMVj20WVayxIf-J24HoP~$;Pe!B{@ak=>)M_hB z?ToKq>`G7VoefVcdvSUyO+Py+lV3^ap2|;}3UuL2oT#5WM0H=D7A`0wz>O+UpB8b{ z9N#lP%Ri>e4`g64)$dv_LfeQqdND!gM7w(>yXR*3EkTo@E)UOPc;WCo=d#A2$;lz< z$KKU+Omxs{*(qmG)ku+nzShgzHdTTG&4uqGnjz`-QnQrX>R%Uz`JCkTbG0S%)tBdV zuXin?JUpZDYsVMf5J;Fcl#UmSu{w(7{b-W=n0`Wk#?F;@eC_D)D7MlHzvSquIQ@oa zj@)7C3)RRMi4gONpDCB#VpoP4#GsA!gxOuifHI)FiJ^4+fRna!6!bfdQcyu?f*$4S!N+M|A+hO8vx zQx-A01*0z1EYB|pIf3haTc>*o55b`6Rd~1y+<*r1k%C(VLuiYHx=|3{d_B`vz!0><$n27QBMo?Ysuvd7Clx8TdfP z%Zl^_$7yOn>d)1_0Yp8u%i~PGgxfQ(yNcodk^$a$qk+T(wrP`8&$79(Hom)y0eL(p z>`^VpDMQsTw_$OrbdW*v-fSs1{9wT@Q!&pg8|J;*i5yE?87gwrZx8C~cRPw-_@)Hr zfgASUwNmkhYk8cEN!L{OvCX8(OTS8|f5>CXf&pwLVbP8kP~tAZu~oV&+_clQ!+z?N z#%tsKHzS^R-@6B^r^y|rv5nI%WEQ4)n$E!#`PU86fIU(*`}7CVnb?U_p_`iV@BS!x z2(AiQ4wqIX%>Oe;l6#vg0PxEtJc-w|1u(g9eQ=s!B?P;wC09;3Y2&#E^!Tnoh9lAS z$LYso1)i*KNA@R}wZYCOTzlLyGb;(U+^}vq9e)X$z27u3) z>W&ijb2a7_ck`>(;%Fgv`**kdhVwQ&0GOg34JL=1$=XeHqmRwQwr<^{bx00+7m;y$+1j1{x;-x(MBrU7 zrRpwwRz^~kN%l{10+m&0(AzkHs8}=s2-MQ$qu&b#7&nP7|({$QzfypP}6EdK)!ZeQ8!?pT+IdJ4X z25$_4KO&L+Th}Fj+~U|gYuAzZ;>EpCuWS9wnT6XZvQBlwuZqK5^9LcNU6k<#tkp{& z2#R@wNceco$&EhlmCsmh(pkGmq<01`O-&Y>)<_8FRs)5_=RhuX|tTX;rob$gL|nB;7>QJxAP^EE_#iN3q-^4arWI7 zuBH>%9kxbkgU~9F6joHUc9*Y_pHR}C?KdLeYJ?%ITf46iM89HaUO-Z7p*8Z}1-$gl zJZlg0^4!zS%p~cBtNF8+(KUP3GtY4(d~eDQbo*?TeqM41=aW*`J+JGA6?X;$%cO zRLIn*=i4`9n+|rK<`8PpAtVL<@Eyp%#1q&WWcT2@YM{|X$PS#z$W*3xx2vI4^1MT% zM%$YT{PA$KqwjZf#-B_U76@g9D-3o2Nj??S$vUB77kk(yA*%QE8o+i5{@$1$+AO+| zpycj>Z&~|4d0Ur_DM^SDyBOdU->$JYh==l=s^HWMhvAF*`KwzL372=6!khA44uuZm z*8lR~A!)-*yFIOF=z|-WBw-dThaK7!PxqB!)caA;b<4{@g2DZZ|8kYVE7remb-=3r zVr{3|S-fjZSv!H)b>sW-P^c$MO@fi|ze>zW5tXOkjq%!suPXPBM`Q-tCn9eh zTZ0;zdDJ#n;lZXtM?!%>X_#)nS2E{&^O_ic@7?z$d273Dx#1t(*82$l{2 zy*0M)bFj`U!A+pN9H?>)=WPr|1H$lGm?0gN%P!6XZu60pQgL5yZ_gTxtyT}(OP)L& zS|fJb3CE$=h#A}cs;nh0JHv5EoTd~%K!@<7M8apQ)v0vhs))+L7TqTWsWoUcCRUBN zysgL*@+kz*Lj!q^aA%)nyE+q98tJwA3To9cUlpSyyVu^b5-KsNn{?sWzg>#ZD$$3?)y=dL`|ZQ_Mic9aP;w? zR6I27hlHmd-*T|uh7*=N0exKkI|EE^4&%A1Q5!RKsf%K}-o2ud47#`j)B9>*xSLSn8xw?Nu-y6~V z^x)v5K01|`dI9Iwf67lsf{EV#sDBH>!W&rkQeS%*Nsgi6`p_cV>)VqiWB7;zKw-8{ z1T8=f^zXY=y0y@WxE^M+&)LhfxiK5LL>b$)d+1|~I!tJ?qwXwk7iq7n8Yg^3C|boe zZL^qiZc@6)(wZg_*n$NPyLYM{*WfM=z_o%lw{p>&-JQ)(&klim>L{72K4|_Tx!{)JSETMAwvdiorT((3WT-wBTEd z&j@gzn7jf0lshcr_Vj1E2hFZx_3$UbqFOqN4-R{RQsz|fUAw6> z4SH64W*!M?>v@gFOif1uOSa%VBxfvfrSJCsPzgSvFF6n0v&J<;FT<*~^o5Zz@5!kA z=Fi9+!4Jd2z!_ljc6k1<_PUyxsk8WzGkvmdC|}fJ30T`Fm{GDT^$)W_Z=Dd1dvsFd zyTa=(8PAt_MeX=TY2!--;grZMYC8V|V#;r}{|h$Dx{)|D8|tVE)rdFJIP-ra|GK^4 zD<$#Kks3=L+8=t8Rl;xOJE{^wRKiR?`Z<}gxqWja)3}6Q-^JY}wCC3rtyu6jEMPKb zc*eOLK>l)EWz7TdM~#`e$oX&D7(B!MjSoJYp5G+8?R9~)q(sDxi=0(U8k^Ltw$kkG z=B(fgli=bxHZ%9aVN^xhZp8xcjL2d)O+l{~2X+aczQxc2k|OzFV02V#?o>Z`fRAbI z4y@f{s;8uxf>tlIK0oU8j6y8<7mJZ@d;FF@m!Gq(@(HGZ*$$f9tZj#(c1X1lkscva z#-x6kyM68)=XP#n-)ZoH5CorLam$RM$s{$0M@~N%GpK{Of{B^+QGVU&v_FMd>b!xbM*!yonqvhLn)+_1TvDNR*I?h;5q4vOH$hd3lMB5IGkzTH- z`XHlYX{xj#uEe*I<*b6<{BKIE?yTbMCWiU#&M&RSR?s!@oyWUPE|Yj8*LZHD-`J&= zb5RCQ8E$G#lvRg1{^{XQVWFM=22&(+bJJubiUM~6KO#y0^Fb~F5e7SQY#$AbY7tsZr}R=gFoIi^IU59A6Vsh5WGAYgPVeSPryI=~2{RNbl7R_!)Gef4fC$shRm{{<8kfS>+Z~J>hJza{(L_k4UXO|qe^r`*A- z2M2H&G2zu?O6uuOwJV?`O-B+VS1G}a1VFp*D3|=nws7*EF79gQTPt7DN4E^$5@{Q; z8nm5^w5HOV&GOI1{&6y{bc1pNW(5u!{K?|*w7b?3f*T@B2y498nJg;<+7|5nOm5%e zL@XT)k~(m^2V)%z`-Zcwf~Uj$G7Y~-!j6#T<_;5pwH*lLWgA@|WjMUr!qT7!f0 zz=?64qBaG1`iv&uZQ;>y;aJ6dlSugvV|dImZzj)LL&#UYw>Z1i&rd;l2p)OP@kRGK-T z2f)HNZ&u?3UVq3$7QKa{sUA4+Sap2*J$!%;5&~#oE$h7&L?z!FI`%+NM+af;Hm9`p z?($UPIu#K!BV^L1!HSFdY-qa#Qnpgm?3w=ThCqFIfiC&U?^kxv4?KvH_A@=^#&b|z zkc8kl`>0kVMz76YEr_NFn~&hG~NR!EFxqk4@m*Jw|)iD^z`ngR6Y`@jQDHH+<2V6*ocRraWOd39xv&> z9V%q5hs*=S-gW(~=-D420wIutod&n2H4!KPY>!Th#mgk`-Y#UsvU}wW5E0a@d!>h~ z6A!I#Yl{8hANyeVRS4$>g3l^g2oDqnvmt%TN%Pwp-<227US}a|g-mJ%7aN+o zTPCsgiqIdLV4?-ycQh_CfTRGlpZFnMA1UL0SA&sTa=+IaiKe3o!0-*+ve31iCe}7e zwSGSXZ%`Egg(lrmBvAT6lH1v1uAVB z0xcpZ<*(MC{C;Qn(cxbRY$el$O204X;6&6M7lzBDDm=fH7+yxC&wk|oKPG$76(S<} z$IgM4n1li7Qs9@BL^3-N$Gpj_=szwEkp5dYu)STWGO^?}@QJucvp?#MFhv`r0iP(S z{3e;q1U}JTSwr&&$`3Z2ObgV7_J4~}!hf6}`0qjRcY@Iqi=WA$Vsvkw1;77m5uG`p zOjhu9WIqaAk8*`7w5Y#6U?K>X@B~LV8p$3DlIBYJyVm}rB*EAK=pJ8~Lp~M*mBPOu z#(xfFixMi9N09dcc@)$V)wm?+eg`4{`NSny-ELrWQJ(_F}3tAGv)=$M98 zw+)#NMv0ygY%JW}I>7*i7rS601SygGuO`#cEZG~Y8d*v_(nZi|;Fn%9>vhvJ2ei zwjWw4u-1-%>0`s7ciX3<%Iiw~6u(~>n2<(aC)58E$I2s1ldE_v zf1)a`@7NhVt6k@r+OOkT>y3>BVS4rPfY&W^Uji4q)He<$OOR=sf{_*yfPK1eX;;U2 z2ZCv7^MX1@HS4+)SBHd11%RnK`eS>V^zT<=3F`3sj=n3zm$)Sl z0^~`9^3eu%pDh@Mk?4NdMLQS-IRRPA8$j%kf+g^rTUn_nvX9<(HZ+0`yClm8MYX9^ z>-M#tAasW1M0u6Vpg0$R2`i3D$p*Cr;%0*W8DkGs04t6h=TO_&`~D>^yth90G34|c zhLGNp!{7Y+$TyqXdeEA0Tb|bl zn5XjJyw+lkGo;w(SS;&K#;111*&8nUHmA)CqzY;e-&}5p@~Op6U4qa*ZQtweYV)MP z%VXNQ;bu4*;BhZ&WRBP4%=7;ND;$$7%cm%JK`ioh8$d~WSS2bewMZGKAT}>u zjZ!z7=#OV-fF;wtM&p3_Ly=d~&$)?a?fhCzKbY0kU@2`4JK)BLq4rlZ79U4|b^?*? z707RR5^S20>!$bgz$rOX>Z^wsA?h8fi^i(WH-cY9{Mu8f#Hk|`szaMAB1 zr>?G!)7|bt;&D7=KdJlCQ2(NX?>3wsByF^`A#O5>+^^~`w{oU#e_&pU*btCze;}}m z>AMbObOb!gUe8yD43Ghb>%zrfEg0HsQy~Q%>j&Rj*Xv$ABohNuS=?y65M4*u*B}3G zHDSu2CZN;!eiSJZU>mg7A?ddrgm#jl-wHr4{xJ~JGcG64&aV3WY12Buf$S3P_pTmh+PTF=!AsV3tbqyxauep?U0CP5r9bBT2XR<9C(X@a5b2HCAj~MN}p40&nnetnJ5i&4Tg^m}PrFIJ(S3 zE+X`oQ~D_ZTYStC7;ZOfVQT01gNeK(=Y}F$^r>6!?Rf`Ze^j5>mVDA15Y+F>(@KSS z$mpLMpI|cc>9?D>gpP)k==8X$w?{oVXih*f7~oh5vQRSXc$$rw*1j`@;rZ)*k3B;< zHplumyJBy9027*=xws6B1Gt!>K8Eftgoj$6&3vZ~|HctZBAGCwJ?pagTZ7u`FtuFc z7L&hk%QZ6Wwp^v$F5@ zeR({U-Pd=CA}LZTGNnj}GG)q188X%>^Hj;vF^0@jM`@CwWIE$OOCYoe z$?2#}5Z|0Memsm4#lhxtNib*$xdhrw`g|jPwW3|Flf&VNAZ;ra#)L-NHEC;~+b^im z(+LI6?`JOaSskM7mqRgCuJjZkf!$0gUFn$&zuvKdk3GFx-x26*ukB9^w^1z4(h*b0 zb}%buVcr9_!=-&2yELVC{k9V4IqUp^HESWfDHRq!I~lbisVl>(v{WG8ZLA82J!^(L zNS2_5I{M0tNfnFFP&duD@%ltWuCO z=&)-x*1xx;BHD5_V7Qj~77=kZT_WY+D+`uR{8iA2A|5uy<{dxaStHT3S{t8X@nqH~HlhIJ2p_^0a z$i97qsRIhG(26hL&D)7QF1OuADMxw`>g+T3MU119fSHSTqD!08VNX*aGfV_e8Qpg? zXQF*=>TqiC;Xc94J+h_4jZm5_MJ?9zZEsvz^OYvkb}q8c6a1J2mg^-OwWGT4EopFs z_()wS_hAao0k;*tE8~LsV)>B6AbhtV)=19uc5;M;d>!5|_PoO(Hig}B^KGZVztN$h zM4KH-VqUd@a2oW_l>GDI1?oYc4ec7$TdEqg9NWj`MR@U)X*KH+0Ls*5f)N+QSBP7)O{Xq^silSrrr%4s@zirRJGMx{Supli$S(9( zRWgPOm^!X7C10TSB#OT_T{GySzr$fz4#(cx5&j;-(^x(@n`{YORUbw?qgVtt@q|L?Ed(H9EE%$;;G>w3!F&HuT4L6>oA@jc%c+U?1#$?rYE- zciGg#lSp~kaAm$Z5gHT4hglVgNljJ>4!}Cp%+m5O9g0E#gSj!3nwtQ;DGklQuI0^& z!H9;@g0aX5rgA8f_J?GY1iwhCuAR`T8Gnrr?toci+cn!GKrCH*r(M*f+PS zMm&k-EH1qIkoX+P>yK1I5;{nJ1hE_I0eBHP3YjJIKGSdlMAs92L_1F`ec9om0O%Lh zG1qd>Chd0r`#NN<>vnH8et)F#7J}K)dd8 z;5=hO*=!Uv#0KsdS&A^FaL6Pg7!7 zla5*H@I0W8F)P;`z~K@nYh)iRuy@p-e`B}f>aCTkW!<=_#h$LEtru9q%iz5_JbdEw z%}trC%TvA2)cqM}ed~}$V%0^O2G?Ixa2Ms4nb#p{%q|Z#@qsw=0gpx0&^->{_isKV zMmis%KDGj8W}NrY{KL!uV`!Oe0TYgm`9|F-cuY<&61T|f4dO0qX=(xpGh-C99r3)j zu5}k;3~E2y|Jw3)0$rLft8~%MI7^T`14@STXhuPd@{F5A4)s0OaKvWPrrm$a)K%&Y zQR!&jL6y+shuju>SjVW-&DIp`R&W{lu3OWjo&b4JL;;?Fv*`@&A|$D;#D`zJtp{60 zlM2lW9sH)e4HpkA$a_>NK$k6>ob*9JVFfK2EeAv`UbVLvPT#X~*w5pV{CCF7X5kLd z1S(E?X+SM-X`X>k=Ly9YlL$Kv#$#8`ShJkuU`JibBMX-Pu8eOIk(Ry3C~xP_xWasS z@W-RK^)b3Bja(mU-Vm2>Kl^xJ=RfHJhLE2I9_#Y=yA9vJylntXAR$9;Lq3?CCS4v# z>Mj8(8AA#d!mx~lu0`0wwBNzEc{94j`!FqXKrrcEPHfoDSQXFaC8|;@C=d@Wl6nw_UK1PL5FkLov zl?L8eWzJ_H>YZ6AzoI|}&$0;z^_Hi^YM~idP`>;0GU9}m=~$FhA;noT^)1#9vl6|6 zR8dgGtt|FS6Iw1z7i^m(NXw^s5`Sz&-}a%qg1B=7Sq-X{MTuo8H4}8w zS`XqUZ2N1fgR0AUi9aHlx+Fa2Dh)A$XN<}`kN`LDh##v?=|{*J%^tBbJIDOqeovfS z7+rVS_*>Rx0q9Hv6{m9NnD{?FIEmDWv<$DSE5wz;`7I{Mk zDjG^q$~b8G58pR_I=*AXk(&t7huLA-^W&KTKeo7535--fBz|(324rUK@xGD%Kgx!j91ccnnDU$V+J5KAAqR}d6WZ{3&UIVGxSjoNa(&T`HTP);YQbdQ!d8s z-dOLrOwtd7{p{H3%7iOj4IvZ@h}{Lmd?D=qQbVdo-M_V&tIO_}ip4cS9ea*kgwOGQ zxc;3KNn-rDqx5Y4Mz{l8lB&-IA)2jiXo}kKhfGd!_U~{}2?~iNqT327r_Q7Nk0^}v z#P%E~Bj2nQZ2)4X{weR!Mlv_r5OEU&`^MYn-!5FAF4243&t`Y&cDvVFNC5>4y{NVsYWyhCuv|xF zJGdF)@CRG;;f}Sq%QbP(7!84E?o#qXwH}y+F8_r|2)oxQ^$`t53^CKAta=fgsAz65 zHdM43BGyVcSBtxm>Txg$DgNCggc+07+Z}DWkqP@IUN>UFWI}^jcw+pKdu`jux^2%L z)CbE3mZb|~>J@q75kALuzq_B}oJqb~3xI{N!2UY-m)f?lt+3eb&Oqi>L-*%HRvME0 zqh$E$0f0Xo2YnI~kPA4HS$WiM#|Z?#mo@l28N-fA^+V(YHp*@0Y?yiG*+i8tBz6aY zYh^G@=;N9grAFVDZ1Kl%91 z4psx~ETph%mlpu^teTM}9W-4&v3w#DVgxt9eoBCLn<75@1UU=8&{!!*48J%%(*nre zhSc0n{3uvqLbiQXS$%jjj718hXCs;t3fQKR%Q>IEGM}FHW-HHCK{S_gh(A)JlFeFd z1^!ZtmI+bd2IV(XO>Qq>NTHO{|ALY1Znkdzq;a`XGCk`kuAHS;5icN%uBf92~ zC}QX^aspbBjrjm7`)QaVu{G$+d=^Y?%JUprKH4vk>NBL&tR4#N9&HCY@m4*&Dg35g zv}oK%`^OxjYuo6~Y>RLl;y z!_+#=n|K7yL6XY1q60Cjpe&_(g$oZgH9XrI_pU{jw;l!F5+-{?xuNG1G#Mta+1{cN zc~&K|1Oc2U2&llm%WYQi!vS+iBx15J5wQ&rj{)Lp1vaYWG2qh_AGv(B>Y~rSaHIey zG~$93hp=aBNGKygRDy*Lnp(DXsUoovM)4chdV4;(UxHSpSmY%8@SU5J0=U#vxgu_$ z<0Eo%a;AK&Tsa_yI95qkM~OCc>J8*2H|QLPr3islXRqzJ|I{F2ZQX#LQJR>XvTX1! zv>Bz{T}5I=eM7PlRP|MYBl9MHHU(x!TL(n$;#w)+?YPvlr4#($RqN7e&wCYr#yW2X zz6y-q$%*$IE%l3(ybufeWG>Q+gow;r+)T>%nS?*8e)^DY`e*fAd!Z|Ik>H9zLNFT` z1%-^}oU6XME)5w*MWCTviSt`O6bt+;3!^rdU^%uh#U(v=HgVQ3H0v%Dj2(}f7E$m) ziD23_Soi4PIG;0(B98^f{zUSv?oVWFnDCz^81@?w2kODG@|1Q*ZB6nd2(NSnQyIRU z%Pn5A=-WxqF*2t+Q0}&W6F(fRsZ-bk9BYikA5l%bE*qqzg^h>h83nmHc1c3uJd;iM zO)cf_0`UV1K5nOt@;s)k2jYV!fa>STXX~rnjgPhPC>x^AN(gl2X$IP)FTiz-~r^* zppjrz)eR&ggA^8s15YeWrsU8dy+*J%kjjet;E8wad^XoH8 zI$lo%m+#mcB6ztXrQ2F4)q0j27Zjl&FJb_=tJ2^(?d3sm7=sEwKPPbf%;{K$`gMD0 zgY)_M_$gCzd`2y{-RQL^1vkjk!U2`Q;4^k29Kx8?vSyAc=98|DIV)yARPaJcAXdd0 z_!AzSEX!Or4HlR5#_Rb)-n)m?1_0a!Vg!^O&mQeCYO*44+`{U5edvJD>-Q8%D(A@c zR~dBGsnXE_qp7}k%=tT#lY-*dfv4U_6%ieTXk-Q9bMVh7*Idq37i{(SPe38D+)|~u z(uVt_dKoH%YG1aqnZz8vW;8*pjNB;zPfcQF`1(&Fquxq^0 zXM0xXSY6`;1cIu~dZ!BFVNyPI%Uh&22_9MHZP|~9$e6*LjHLQ46n~jrf0iPwGQltL ziOYuw=8#Kxe$2V6DI4Hqlbf33xUiFDq2_h5&l%n!} zszff1WcBI)SYsLdHPg`8D7iD3yd!i00VLbpNM?s@&qw1exhWTF| zg~7o9U~9=|OL-DAllB`N92RoLUR3y zBI7@SfV6D>n(#vdp2RLb2$fqT*)Z{vaKs)qWxK+SRvI>d(HiIagM6l#5gTRaH9@^GNgI-}z!N!XC8msc99#kz_x6}neMi{t`EQz2fS)-L@6 zb>P7chORDtb(@rHf}@TDNahz3PMSWWeHI3DTV^qGo|AwPBfQyvjQHjaBlu0z*ab>p zIU6@SNRX`JCTa_WQRF>;hEc>0KR!xoWOzY%i6Q^hX3bqN#rY%HpDCGjmmFmP+i*$^ zch7wSQ^i+UyddQWdbodKFAnFQiH-%53X)#%e}L*di7dy&?*E~KMPcraYr@LW_OOdq zZPPzS)a`*0hD5#7mu|vxHfeVXXMJ1%Et(s+tw*Ci7an^htuwfzUV z+5I=+ATytlR=6v!DNwVAWF)Ev=qAP=J(>#|G~3S9B93&xB*@>ebWZ0p(HDSYw)_so z{5q|=6R_)^;f_#LI%uTAZkywOT&V;&J-m(SL(~$Cm?kv-IRfEh2bq&xbq8T6C--g3 zwcGIPfe(Tk79TR1Zm=M1mx4dJmW28>U{#Nthq67>FG}V&N%uhy7dPzXiF~CsI-WED1=I5YEVPP8#M|GS6Pk(yYB}txJK>eHeOnYYY?VDwN<- z=w=RYj*y2}up}qck`6czB$7>vv)*L@vh2rBCN>gk*1bb0bksME?pFYqlu|yR)I@4J zBdDej0mO5Zi;C#4zl7rdV&9`D zH9~8(7J$U%`g>LWUX^uj`ZX*rhr+x5Yv^P>QEak-m_rdNyU4QA5n%M@*=6jT_c1L= z<1UM{aT#wL-pAZ>vB|TAEI?f<#07K@aM51d4sjY=;wk=hsey0BDDpTp<7T?q36WQ5~;#>7^aBJfnDPGx8~J{e+NenhoEi; z1-DCxrAlHPbqcex+%I!|!IraIWlns{(!rK}L+w{n#wv*}E;O2p41d&BJ1$|zR@ZS0 zACRlL#r1D%am$<&r(2!ZE+q_>?k~w#T(XKG6jEeR> zq|1d@goQjAAjg!W5JMC2`|vkXEPt=790(n-81SkeuJzG?ikmQjBQ(s%54VM7B}4L* z@}im3yWs||gsKm38h%X1)f=Sn__9QHX7oPKe&v$`iNt3>zi2Pvlx~RMdTU zQzQ#snk=0%$6^LGl6_SCip3?Q#IpHlm?aNeWOYBwLJt^Ue0yh`D#zXJH3|nV`Rq|G z^-i3(Iit|3Vag%X@WXB5Vcx*~`lW6ylg0O0qwmfS4AgtnYQGSOc(KG7xG>Xekj9RR zwgXzFUNGaR25h2mKLyckU5F2TJ84I;qy)3!R(>OqZ}b;h6$MZCCve9b&(PVI*(_k= z4SP8}8&9Nj$%{$yMKKYy%l-D^HCP0BeV9*X?F!odVFs)J%F){Sb7?372b3X3mWbco zfP+~5+x!-JA2J9 zvYYx?H%+s=m#G36eUa1>E%0IFAa}Z(e zE50MQCiPJ_OESr_w_X@?bauuUyvRChdY40n=$O>_K>|8uJTXA^LJSjSNKvIQk{mwt zZ(vv4M*447A@gsloCdxGn>g%y8u{WaWBeX84eN{XmvkG+N+DXxKuD8QN5SScdYdY& z+uTL+dHRG-K_?7e!}GP5IkDQtIr(-*ZfQVBMW}l9(f#VV1WcFLwZNS~3o;sxL zvq9LCIN0N*Jy{g%Y9SBp-(Y})22J5XbiKz%+e z{Wjz`{9#=(L5!;fj{>vzt;&@4ut^JKr^rAVZLI z{4JB-7nFe3P|%c~P%IFb_DxJoAf6N`qZGpGNH@vqz70m!d&^c_n zE-Qq4wYB}6PUp(ICt{W4Nn6ZcpmnUe-@n?fR17i?GPlC=rS*+XkX_8NU-J3Q1E^%k z&*&~u3AmH_07HuuZFWXMw@uQ-AkGs+I<=10+XMbccGUMld~zx%Pm7UxCaE?0<22w6 zIrH?F7Rec*P|U)WX6h#Np(am~x?;0)ZPZ3G3c!prWWBf}%Z5y}f47pRt}bYf)@f1a z-@KA~6y7k+Rq}&M2vRbwKN!Dl#Ib-haC!F?ZtNP>x56>-UAs)<{ofN9-Y}?kbDaL# zE1>?kaNVZg4I$QEMY-!@w2{B_?4)4*CjJ`byXLPH5fXa(w!Q$HffKeZsD9dzl2;xC z%=o%=M06kpH0$~iuZ<1PE>H9bA|rYf9_R956%#779XgAx|MVqQ*=U%YavQV+u)7)E zaR=oAe7Cgw#&61PBy(c8$2QF$ZAZW+NWboIk)!cP(!&Nv;-mNw zHkgy&u%=>vJ=7rrY}0rL9%TjWQTWm3D9Ia8(K)c|R%cTmR0oW(i)|EGH$sK;dpn{E zxh=4-pO$LZmThBwETZjngHd;WDMPbAE_9M1XJ}j`pbWFJRG%`(ou=k5DE_;kXT4WEtuPre=GK;6t6r z_^ZN$S=@~6b<9AA_r0Vm+^QPfY*~fz$>C6r$h~f@V@*8gg%G(I_Px|?dklwzG~4#@ zY>9OOSl~L@ta4;%(-DeiJb^*o%{})7>}&=!o#vpaMhvJgozt)eMmv!T1i(Oj?#$_R z?0RV*PCMRs@w8&)Y^BmTG#BIZ4S6&_Je4=_A;|)O;K@GB2Hu!#Kx$AUqT%I_JCXcw zT1A8LxxcR+<&+*8Xs~8n zlrFL_Z)iYcsfojT&*Q5Z1=X6v1TrrhT{j{le*kahv$XI@xdbfZxtn6gmQhkw zuiW4jUnk_*@WXchP!U5=8E;ceeCoz4oXLpzoCclRbV0L?+!WMLDtki0x?lf?YK1Uj zW@ps^IU`a+^W@dSZ*%(>SKb)1S&?3@CSkG<0LoGhZgGoF`` zmW_OcWG6mYaloV!A^0-ghTjbHpPMPPS^-zb1h2Bn3MVbfqJ4%qPC1b}9OqVRH~zTO zNL?J?BYH}qyD(I2FnZ6r)BJg>&46EZ38Qimr(u%q-U+06UDRdZNH6Yq+%A2%_ETG# zSV=ZoR|N-vN%JkDdj`2<=ly?B^8bq*`S+E!f*o4A&ogOCDm^K79U|Lm|LAG-<}1fYa75|hn>k)U706(> zxz8U-t!wa#97w^Jpy1FpVQ(KNISkxcIBl*L`v4ZG60&=!f8mcx0;H5FNEI(X4Tn0Y zYwo$mE*x}@EtLiuHPS1K6IqE;sd|e5(m&UTv`VSiop#;J25N;JlmwmOf0{MW%5NgY zM9S=~brH11eS+Xfd*9Kk@y?O~+FN9Cz4%oj%iY!(FgKWxX?t8cRWN01JrA}L5MI}ca* z^*2G=<`*ZBCUX&nX> zU$ZhjmqlpXaCDE}^;45Q#Y-bry-42@C&0&Q0XjLj&xFcC^tsEvh(*I&#N5IWi{7Vu z3a^RHe~ZmkYC-z$D!r+=EBTeZ+OFVsQClqP)ZolHd!HC!jJvJ-?C7+>E3#AiZQky^ zgL+eOJ6IZe16KgN`(0-3$%T|7Dd}v&w~7YU(~rP6rfi)6pywL%VFeD%LZ(SxvYU=4 z`Ot+nXuG28d!qZEdOsJfN}UtbCI>>zc@f}Ew^#Rj07SJCIwLIFKWa#i zap-|i;0hdY6iUNBHMJ?N*KZ^1^foNqT8W^ zOoh~_wO>=+IG`C1TLIpGOWO34ydD_ zd8lL$09hxXWoL5x_dBBIISTi57c)mn8q@5vCvI+$yks0W%2T}&am%@%ZZn1}ig^@p1W zzYuYaa=WbC+*T#^#5ogx;>-Nvcx!V}j@~4`nb#q&QlBwQUTW}s^^v|RsoCqJQRYkj z8{F;rdl6v3Y~_}d-*K2Q9QnMqSA+$tWa~=t;?eO4M&y8QeB93o74Z>g!c-owS^<~H z$p|lw$Dqkx-8P!!k!#+Z7jzqzkvXXAX3`89!ts3Fm6YqFp@hWA*CLTn?LX z@@4w6LvgRVcc*_Mzri|Rceer%u-|O}6qTE2FH@3oQ{_|e945UEfe@=)57seq4XxBm zpyDhB%!+WbA^m){Co$P@X|OjZx6mT*qmL!g{H*^AewUYJ+-=)ZXwZU~GR0@1<^6(p z7sXfHV0pz!1Ayb!|6q`vSJN?SpUWvwJZ#M0_E5Slct+JB|3V%y{-`=M9On;2y69F< zW4>5;4&Kh9N+-0=BHgR$57w3$dKZ117IE2OM};PMoz`GC8Eb|mXdb#e1dS1OMxnWY zsB!5ih*PYsUk4yXEOV@W016F#)IP&oc-CJEojavl7Ay}Q6En8wiIfzmjwxr$vNb{W zc2~#_9(u~Y<{fU|PKPxHh&63aN_Q;f!Eg9}d56oV=Tt!5F;jzW*{Q*2d#SaJouEyV z$m=h|?~lBZoQb+Aa;j$-IG_HrdpCX5VSdNg)cD2-r>bJV^6}i=ahOufjE&n2A*#^S zqlq|?SL>E033zd<3N^}*XzR`%fT-CJ4v2Pj01zf@GIM^CO3hJ*e)AZ>p?FT2%Cx4; zgfmmcL`{bG3oR6JPIXqrE>Rg18c)fTws^m5av?4w9g^t#`n-&&7)<2*Lft`3%wpYl zwcRctNSTS+%BMRNR(GD(_avsIRBvr-dBk>Nww0I74FJ-e?YUG1Ch{6o{T?ju(Ej)p(b;psY<443`-X1EYDH7{A%0K$K{mKD#eC5wi_BZG)`cSQVBFuZzOn_k=19PGSx`MP~ViaKS_;l7F;GK zo@^Z6gr5X~F*j_)x}ZgH7FxKAv|~^y-s#SHxDZrR>ytbK|M`$|$pos*e#4qTTO&Nj zbl(qXzSclapkhHl@*;2^^32($#-pue>4gTtF3>whT)LbnKsY%N7oZ_ClTy=xv_=RF zxpbn98L-gvTb^Vxz*W*eoc@|>3V;kFwe{=baXANGbUv@WeU)l4a}S24Ac`VMUxVH< zIpI~x;fXC5@+fZzhIa~LD4J6AC*t84*upzF6@Vru`qd8me)zd^_4E6a!d^bZpp03P`^ zzpJC-0Z|ekHI$;C6wY??^7LY50APvua0N0DSsf9KdG8$Lb)OLtSr>avBiKbdHar&KR)-Bo}PSdo)%ii>z7_TL*4Q0P@8ks3Me@2 zj99gMymq#P$5o2{VZ1I4+9*J*$~Q$o<+IaWiT2AKQs^H4#+WVpua{IfOnAl*OGvOD z=cKGTw&MA0O01tVIzluoO09@~HsxR>^SJcr%O3p5)}1-&4(3_%gP75n6jznnD^e0W zx0{^IGZA5m>nmvC5Kgv%Z-2g5H}0dj*uo&=FJ31d{UrMwNJkkb8r5i|=-4Aj?spvj z#crGr7(&;aUPGoBX`b8=0nQiYL0q9&6l3wgor-0(FxVyB zrg&)v^J8u-A!pbDzlXOsL@F)vCSUSN0&_{L+Zm*@fso%*t_`Z!@E-l+E95pU5<;)L zTFVQXn+iam^%sE&h@Cl7U6i1m8ajUA0!xxKG*8BV$zhBe&Fykm`5s)pM6ZRh>znJ3 z>bjj2{Oao={;6vop2LWdt5Q-3n6%&%S3MfY<0em;&X7yNXH4+HUWfFG%7oKC4$tA) zj%nOwb$6tvHHpV+m~vLB@FlS)U!}hUATgYZqZ>4&7UJKl|5q9K5EY;4<}5UUa&zKd%$M1Kwh;{{q@miNs*TP1vzyRWB2` z^2z{m+R?tJZEHd^HM*evbkgM405!`Tp-;xa`iwmx2eU?Z#`WO=W$zHC-UL6kY)Gu) zpEV~l;X${#YyNm82Mp(TnX+=8#=_|78uG93;+ z{WmDbCa@FuRe>>Hc~v9>adV)%r(JPj1+dUKuuqP!%i5pQ0 z9e73R8C5ocZ7_$xeDv0JJ4Z-%2@j4dcBUgm9s)bemm8jt`p6f-ze!C9n@JkW)DEhtk;9%H%&XE@U3!H^D9Bi|!Hv+2rW|*0h&S45!%%=LY zlg|*`f}6JrX%pGKNK4g{>hp{^IEv>BxYfn4hKF8A!UPk;`k^Q;U^}jVfh{g-Opc z8={nE1946lAzYkVRLV&TTG)o506+H~_9=nzed7`dvr*D&MZyG5Gil1vz~9;Q!2y5J zxe#V{=@r_GD}@xo9uu>xB+POXg-uIJlMp##Y;|VEbK^Z!Gh=0flo7xL}XEcn* zlgxqB0Zz`oQ7`!%k{}vgSLoMzll%%2Zbl%R*KME3U4o+;bpQ3Yzb`j0phEH`T{JoC z&I0S-{}@KD;q_|InIK#n@-7i>X4A%?>NS8S=LG$x%S0Iq^+<_M=0 z2+F~|1qm3Evy5f{e&mY~@*4ztHRgUICq1c+u(>Vm`{U_C;HdIhe;>iGnf_;o-+oEZ zpTIjy-+Ia_BpS7Y>Ai^%5H#6;4QIAIT&o2Z6u=<^^Z{AP*#7mX<_1$1?=Qqr_Dm>kKC{%_nk-1qYq&KCl`<{84+Nc4aJ z0%^S&7Ar(H32I{YubTL)CjP34ziI+>N%a5AEX`jvu}-i5RTDq8-d}G5(cOQ&3B*{( l{q-h(8j=4Kyb0XOrcLy+K3pa)AsgVov$CpZ(qt}q{vXMoL`eVu literal 0 HcmV?d00001