From 6a5243629d697c43796222a4d5ee70269e88d331 Mon Sep 17 00:00:00 2001 From: Ekaterina Mitova Date: Fri, 16 Aug 2024 12:31:26 +0300 Subject: [PATCH 1/2] Delete docs directory --- docs/abap-cloud-9aaaf65.md | 64 -- ...d-sap-btp-instrastructure-setup-6dd97e1.md | 10 - docs/basic-platform-setup-3b774f8.md | 36 - docs/building-blocks-03139be.md | 38 - docs/business-application-services-f3641a5.md | 868 ------------------ ...gration-and-continuous-delivery-d973132.md | 13 - docs/deploy-45d5acf.md | 43 - docs/deploy-d7aec3c.md | 62 -- docs/design-314ae3e.md | 54 -- ...esign-a-multitenant-application-1ac614d.md | 50 - ...ign-a-transactional-application-608432c.md | 20 - ...esign-an-analytical-application-8819cb7.md | 14 - docs/design-an-integration-service-ec2ac31.md | 12 - docs/design-dcdc2d9.md | 69 -- docs/develop-58df1d6.md | 218 ----- ...velop-a-multitenant-application-3151e2a.md | 18 - ...lop-a-transactional-application-373046e.md | 300 ------ ...velop-an-analytical-application-b845c85.md | 209 ----- .../develop-an-integration-service-c079f33.md | 278 ------ docs/develop-c8906e4.md | 23 - docs/develop-the-user-interface-9f1d42e.md | 66 -- docs/development-guidance-cc37b7a.md | 24 - docs/development-tools-48150e1.md | 235 ----- docs/development-use-cases-4efd0bc.md | 76 -- docs/from-concept-to-code-a5b8129.md | 376 -------- .../ABAP_Cloud_-_the_Big_Picture_5d4a7c9.png | Bin 33741 -> 0 bytes docs/images/CAP_Overview_7e017ac.png | Bin 20964 -> 0 bytes ...ation_in_Cloud_Foundry_Runtime_50243ce.png | Bin 6666 -> 0 bytes ...pplication_in_the_Kyma_Runtime_d3a3414.png | Bin 15770 -> 0 bytes ...gn_a_Transactional_Application_d715f00.png | Bin 29832 -> 0 bytes ...sign_an_Analytical_Application_80e21cc.png | Bin 26295 -> 0 bytes .../Design_an_Integration_Service_c04a651.png | Bin 20243 -> 0 bytes ...elop_an_Analytical_Application_a994982.png | Bin 31995 -> 0 bytes ...Develop_an_Integration_Service_f020fb8.png | Bin 17737 -> 0 bytes ...p_Development_Options_Overview_d716bab.png | Bin 27315 -> 0 bytes .../images/SAPCloudALM_operations_d378eed.png | Bin 48853 -> 0 bytes ...BTP_Developer_s_Guide_Overview_61b7816.png | Bin 18845 -> 0 bytes .../images/Technical_Architecture_251a03a.png | Bin 61322 -> 0 bytes docs/images/User_Interface_116cf74.png | Bin 17699 -> 0 bytes .../Well-Modularized_Architecture_53b6d43.png | Bin 33508 -> 0 bytes docs/index.md | 37 - docs/operate-34065a4.md | 32 - docs/operate-with-sap-cloud-alm-f7f2977.md | 47 - docs/related-hands-on-experience-7fa228f.md | 65 -- ...d-application-programming-model-696ec23.md | 44 - ...ftware-development-and-delivery-511cac8.md | 34 - docs/tutorials-for-abap-cloud-fd87aaa.md | 74 -- ...d-application-programming-model-eb7420a.md | 134 --- ...at-is-sap-btp-developer-s-guide-ba26ec4.md | 108 --- ...w-for-sap-btp-developer-s-guide-7cf7a39.md | 377 -------- 50 files changed, 4128 deletions(-) delete mode 100644 docs/abap-cloud-9aaaf65.md delete mode 100644 docs/automated-sap-btp-instrastructure-setup-6dd97e1.md delete mode 100644 docs/basic-platform-setup-3b774f8.md delete mode 100644 docs/building-blocks-03139be.md delete mode 100644 docs/business-application-services-f3641a5.md delete mode 100644 docs/continuous-integration-and-continuous-delivery-d973132.md delete mode 100644 docs/deploy-45d5acf.md delete mode 100644 docs/deploy-d7aec3c.md delete mode 100644 docs/design-314ae3e.md delete mode 100644 docs/design-a-multitenant-application-1ac614d.md delete mode 100644 docs/design-a-transactional-application-608432c.md delete mode 100644 docs/design-an-analytical-application-8819cb7.md delete mode 100644 docs/design-an-integration-service-ec2ac31.md delete mode 100644 docs/design-dcdc2d9.md delete mode 100644 docs/develop-58df1d6.md delete mode 100644 docs/develop-a-multitenant-application-3151e2a.md delete mode 100644 docs/develop-a-transactional-application-373046e.md delete mode 100644 docs/develop-an-analytical-application-b845c85.md delete mode 100644 docs/develop-an-integration-service-c079f33.md delete mode 100644 docs/develop-c8906e4.md delete mode 100644 docs/develop-the-user-interface-9f1d42e.md delete mode 100644 docs/development-guidance-cc37b7a.md delete mode 100644 docs/development-tools-48150e1.md delete mode 100644 docs/development-use-cases-4efd0bc.md delete mode 100644 docs/from-concept-to-code-a5b8129.md delete mode 100644 docs/images/ABAP_Cloud_-_the_Big_Picture_5d4a7c9.png delete mode 100644 docs/images/CAP_Overview_7e017ac.png delete mode 100644 docs/images/Deploy_a_CAP_Application_in_Cloud_Foundry_Runtime_50243ce.png delete mode 100644 docs/images/Deploy_a_CAP_Application_in_the_Kyma_Runtime_d3a3414.png delete mode 100644 docs/images/Design_a_Transactional_Application_d715f00.png delete mode 100644 docs/images/Design_an_Analytical_Application_80e21cc.png delete mode 100644 docs/images/Design_an_Integration_Service_c04a651.png delete mode 100644 docs/images/Develop_an_Analytical_Application_a994982.png delete mode 100644 docs/images/Develop_an_Integration_Service_f020fb8.png delete mode 100644 docs/images/Image_Map_Development_Options_Overview_d716bab.png delete mode 100644 docs/images/SAPCloudALM_operations_d378eed.png delete mode 100644 docs/images/SAP_BTP_Developer_s_Guide_Overview_61b7816.png delete mode 100644 docs/images/Technical_Architecture_251a03a.png delete mode 100644 docs/images/User_Interface_116cf74.png delete mode 100644 docs/images/Well-Modularized_Architecture_53b6d43.png delete mode 100644 docs/index.md delete mode 100644 docs/operate-34065a4.md delete mode 100644 docs/operate-with-sap-cloud-alm-f7f2977.md delete mode 100644 docs/related-hands-on-experience-7fa228f.md delete mode 100644 docs/sap-cloud-application-programming-model-696ec23.md delete mode 100644 docs/software-development-and-delivery-511cac8.md delete mode 100644 docs/tutorials-for-abap-cloud-fd87aaa.md delete mode 100644 docs/tutorials-for-sap-cloud-application-programming-model-eb7420a.md delete mode 100644 docs/what-is-sap-btp-developer-s-guide-ba26ec4.md delete mode 100644 docs/what-s-new-for-sap-btp-developer-s-guide-7cf7a39.md diff --git a/docs/abap-cloud-9aaaf65.md b/docs/abap-cloud-9aaaf65.md deleted file mode 100644 index 41b3c5a..0000000 --- a/docs/abap-cloud-9aaaf65.md +++ /dev/null @@ -1,64 +0,0 @@ - - -# ABAP Cloud - - - - - -## Overview - -The technological core of [ABAP Cloud](https://help.sap.com/docs/abap-cloud/abap-cloud/why-abap-cloud) defines the design-time and runtime architecture of all extensions, services, and applications. The main ABAP Cloud elements are: - -- ABAP Core Data Services \(CDS\) for the data model and for embedded analytics - -- The ABAP RESTful Application Programming Model \(RAP\) - -- The cloud-optimized ABAP language for the business logic - -- Mandatory public SAP APIs and extension points to allow automated cloud operations and lifecycle stable extensibility - -- ABAP Development Tools \(ADT\) in Eclipse as the ABAP integrated development environment - - -Building on these key elements, you can use ABAP Cloud to cover the following scenarios: - -- **Transactional \(OLTP\)**: With ABAP Cloud you can build business objects and expose them as services, to consume them in UIs and integration scenarios. All standard behavior is supported \(create, read, update, delete\). - -- **Analytical \(OLAP\)**: ABAP Cloud is equally equipped for creating services and UIs for data analysis, and for drilling down in multiple dimensions, like integrating the data in SAP Analytics Cloud. - -- **Integration**: Both previous aspects are complemented by strong data and application integration to cater to today’s service-oriented environments. - - -The development model has two additional two key differentiators: - -- The **reuse services and libraries** with core business services like number ranges, application jobs, an ABAP-integrated SAP Fiori launchpad, and UI repository to deploy SAPUI5 and SAP Fiori elements user interfaces. - -- The **built-in qualities** offering end-to-end extensibility in the programming model, major cloud qualities like scalability and upgrade stable APIs, and many more. - - - - - - -## Use Cases for Developing with ABAP Cloud - -With ABAP Cloud, you can cover a variety of use cases for different scenarios. The development path is structured according to the consumers: Either the consumer is a user or system, meaning either you want to create an app to manipulate or display data or you want to exchange data between systems with different protocols to create business processes with system-to-system communication. - -With ABAP Cloud, you can develop transactional and analytical apps. Transactional applications have transactional characteristics to create, update or delete data records whereas analytical applications only read and display data in charts or dashboards. - -All applications and services developed with ABAP Cloud are by default multitenant enabled. Partners can use the [SAP BTP, ABAP environment](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/abap-environment) Software-as-a-Service tooling to easily build, deploy, and operate Software-as-a-Service solutions on their own. - -Integration services enable system-to-system communication for different protocols. In ABAP Cloud, integration services can be used for process integration or data integration. With process integration, the communication is structured along a predefined business process like, for example, order-to-cash. Data integration in contrast focuses on transferring raw data without any relation to a business process. - -**Related Information** - - -[Design](design-314ae3e.md "") - -[Develop](develop-c8906e4.md "") - -[Deploy](deploy-d7aec3c.md "") - -[Operate with SAP Cloud ALM](operate-with-sap-cloud-alm-f7f2977.md "") - diff --git a/docs/automated-sap-btp-instrastructure-setup-6dd97e1.md b/docs/automated-sap-btp-instrastructure-setup-6dd97e1.md deleted file mode 100644 index 104d0b0..0000000 --- a/docs/automated-sap-btp-instrastructure-setup-6dd97e1.md +++ /dev/null @@ -1,10 +0,0 @@ - - -# Automated SAP BTP Instrastructure Setup - -Terraform is the de-facto industry standard for infrastructure as code with more than 3000 providers. With the Terraform provider for SAP BTP, you can now use this standard to create Terraform scripts that set up your SAP BTP landscapes. Given the nature of Terraform, it is even possible to add non-SAP infrastructure to those scripts if the infrastructure provider offers a Terraform provider as well. - -The Terraform provider for SAP BTP enables you to automate the provisioning, management, and configuration of resources on SAP BTP. By leveraging this provider, you can simplify and streamline the deployment and maintenance of SAP BTP services and applications. See [Terraform Provider for SAP BTP](https://registry.terraform.io/providers/SAP/btp/latest/docs). - -Currently, the Terraform provider for SAP BTP is available for non-productive use and SAP is working with several customers on shaping the first release for productive use. You can check out some of the Terraform scripts in a samples repository in the [GitHub repository for the Terraform Provider for SAP BTP](https://github.com/SAP-samples/btp-terraform-samples). - diff --git a/docs/basic-platform-setup-3b774f8.md b/docs/basic-platform-setup-3b774f8.md deleted file mode 100644 index a362e38..0000000 --- a/docs/basic-platform-setup-3b774f8.md +++ /dev/null @@ -1,36 +0,0 @@ - - -# Basic Platform Setup - -Before you begin developing your applications, make sure your organizational and landscape setup is appropriate for managing their lifecycles. - - - - - -## Create a Governance Model - -One of the first and most important steps of your journey to the cloud is to establish an appropriate organizational setup and corresponding governance model. A clear and well-thought-out organizational setup makes it easier for your employees to adopt agile processes. See [Creating a Governance Model](https://help.sap.com/docs/btp/best-practices/creating-governance-model?version=Cloud) in the Best Practices for SAP BTP guide. - - - - - -## Set Up Your Account Model - -The hierarchical structure between global accounts, directories, and subaccounts lets you define an account model that accurately fits your business and development needs. See [Setting Up Your Account Model](https://help.sap.com/docs/btp/best-practices/setting-up-your-account-model?version=Cloud) in the Best Practices for SAP BTP guide. - - - - - -## Manage Users and Members - -User accounts enable users to log on to SAP BTP and access subaccounts and use services according to the permissions given to them. In this context, it's important to understand the difference between the two types of users that we refer to: platform users and business users. - -Platform users are usually developers, administrators or operators who deploy, administer, and troubleshoot applications and services on SAP BTP. - -Business users use the applications that are deployed in SAP BTP. For example, the end users of SaaS applications or services. - -See [User and Member Management](https://help.sap.com/docs/btp/sap-business-technology-platform/user-and-member-management?version=Cloud) in the SAP Business Technology Platform documentation. - diff --git a/docs/building-blocks-03139be.md b/docs/building-blocks-03139be.md deleted file mode 100644 index 1bd82e4..0000000 --- a/docs/building-blocks-03139be.md +++ /dev/null @@ -1,38 +0,0 @@ - - -# Building Blocks - -In the SAP BTP Developer’s Guide you can find more about the standards that you should follow when developing cloud applications, an overview of the basic SAP BTP concepts, a list of important services you can use, and what is the optimal and fast way to set up your development environment depending on the technologies you are using. - - - - - -## Business Application Services - -As business applications are having common characteristics, you can benefit from an open architecture with as few as possible, but well documented, technology choices. - -The architecure blueprint outlines ABAP Cloud and SAP Cloud Application Programming Model \(CAP\) as the best architecture styles to implement business applications. Both programming models integrate with SAP BTP services. - -See [Business Application Services](business-application-services-f3641a5.md). - - - - - -## Basic Platform Setup - -SAP Business Technology Platform \(SAP BTP\) is an integrated offering comprised of five technology portfolios: application development, automation, integration, data and analytics, and AI. The platform offers users the ability to turn data into business value, compose end-to-end business processes, and build and extend SAP applications quickly. Access all SAP BTP resources on the product page: [SAP Business Technology Platform \(SAP BTP\)](https://help.sap.com/docs/btp?version=Cloud). - -Learn about basic concepts, such as setting up the correct organizational structure to creating an account and managing users and members. See [Basic Platform Setup](basic-platform-setup-3b774f8.md). - - - - - -## Development Environment - -SAP BTP supports Cloud Foundry, Kyma, and ABAP runtimes. It features a number of tools and programming languages that increase your flexibility and freedom when developing applications. You can choose the runtime that best suits your use cases and skill set and get to work. You also have the possibility to integrate applications you’ve built with other solutions by SAP. - -See [Software Development and Delivery](software-development-and-delivery-511cac8.md). - diff --git a/docs/business-application-services-f3641a5.md b/docs/business-application-services-f3641a5.md deleted file mode 100644 index 9f94174..0000000 --- a/docs/business-application-services-f3641a5.md +++ /dev/null @@ -1,868 +0,0 @@ - - -# Business Application Services - -SAP BTP Developer’s Guide has a comprehensive set of tools and services at your disposal that allow you to keep the pace and at the same time benefit from future investments in SAP BTP. The following graphic includes both ABAP and non-ABAP runtimes and provides an overview of the architecture you can use when designing and building your applications. - -The overall suite of applications consists of multiple business modules that are either implemented for SAP Cloud Application Programming \(CAP\) or ABAP Cloud. Each business module consists of one or multiple self-contained services following a three-tier architecture with presentation, logic, and persistence layer. In both architecture styles, SAP Fiori and SAPUI5 is used to implement front end artifacts. These front end artifacts are consuming its data using OData for transactional and InA for analytical applications. - -The application logic for CAP-based applications is implemented in Node.js, Java and Typescript and is deployed in SAP BTP, Cloud Foundry runtime or SAP BTP, Kyma runtime. The application logic for ABAP Cloud is implemented in ABAP and deployed in the SAP BTP, ABAP environment. In both cases, SAP HANA Cloud is used to store relational business data. - -Additional enterprise qualities are reached by integrating the business modules with complementing SAP BTP application services such as SAP Build Work Zone as a central entry point, SAP Datasphere as a cross-application data warehouse or Identity Authentication for identity authentication among others. - - - -This image is interactive. Hover over the image and click the highlighted areas so you are placed in the respective cell in the table. - -![](images/Technical_Architecture_251a03a.png) - - - -**** - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -Capability - - - -Cloud Application Programming - - - -ABAP Cloud - -
- -Development Tools - - - -[SAP Business Application Studio](https://help.sap.com/docs/bas/sap-business-application-studio/what-is-sap-business-application-studio?version=Cloud) - -Designed and optimized for business application development in SAP ecosystems, SAP Business Application Studio enhances productivity by offering specialized tools for various scenarios, including SAP Fiori application development, SAP HANA native extensions, full-stack and mobile application development, and more. - -Central to the development environment is Code-OSS, the open-source foundation of Visual Studio Code, ensuring a familiar experience for developers when creating SAP-centric applications. SAP Business Application Studio streamlines the building, testing, and deployment of applications with integrated features for source control and testing. Furthermore, its Full-Stack Application Productivity Toolkit offers intuitive visual tools covering the entire development process, guaranteeing seamless integration with various SAP services and solutions. - - - -[ABAP Development Tools for Eclipse](https://tools.eu1.hana.ondemand.com/#abap) - -[SAP Business Application Studio](https://help.sap.com/docs/bas/sap-business-application-studio/what-is-sap-business-application-studio?version=Cloud) - -Use ABAP development tools for Eclipse to benefit from an efficient development environment for all ABAP-based development artifacts. Use the SAP Business Application Studio to develop the SAP Fiori parts of your ABAP-based applications. - -
- -Software Delivery - - - -[SAP Continuous Integration and Delivery](https://help.sap.com/docs/continuous-integration-and-delivery/sap-continuous-integration-and-delivery/what-is-sap-continuous-integration-and-delivery?version=Cloud) - -Use SAP Continuous Integration and Delivery for non-ABAP applications with a full end-to-end support for SAP BTP cloud applications. - -SAP Continuous Integration and Delivery lets you configure and run predefined continuous integration and delivery \(CI/CD\) pipelines that automatically build, test, and deploy your code changes to speed up your development and delivery cycles. - -Use SAP CI for non-ABAP applications with a full end-to-end support for SAP BTP cloud applications. - -SAP CI guides along solid tests, zero-downtime deployment, consistency, release via feature activation, operation guidance. It supports full end-to-end support for BTP cloud applications. - -Consider the complete innovation lifecycle that includes \(beside others\) Design Thinking, Domain Driven Design, Feature \(Toggle\) Definition, local build, unit tests, integration tests, end-to-end tests, progressive deployment, feature activation, documentation, DevOps monitoring, usage tracking, metering, adoption measurement and closing the feedback loop. - - - -[ABAP Lifecycle Management](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/abap-lifecycle-management) - -- For customers: - - Develop applications as software components and deliver them via the Manage Software Components application. See [Software Components](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/software-components). - - A hidden Git repository is automatically managed per software component using gCTS for transport management. This process can be automated with CI/CD pipelines including steps like test automation using ABAP Test Cockpit. See [Automate the Software Lifecycle Management Process](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/automate-software-lifecycle-management-process). - - SAP Cloud Transport Management can be used to optionally integrate with higher level change management processes. See [How to Export Using SAP Cloud Transport Management](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/how-to-export-using-sap-cloud-transport-management?q=cloud%20transport%20management). - -- For partners: - - In addition to the customer scenario, products can be built based on software components with the help of the Landscape Portal to setup multitenant SaaS applications or to offer installable products like SDKs for other customers and partners. See [Landscape Portal](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/landscape-portal). - - - - -
- -[SAP Cloud Transport Management](https://help.sap.com/docs/cloud-transport-management/sap-cloud-transport-management/what-is-sap-cloud-transport-management?version=Cloud) - -Optionally complement your pipeline with an automated handover of your qualified changes into a standardized, enterprise-ready change management process. For changes in SAP BTP, Cloud Foundry runtime, the pipeline provided by SAP Continuous Integration and Delivery service allows to trigger out-of-the-box a transport in SAP Cloud Transport Management service. - -With other CI/CD solutions, you can also trigger such a transport via project ‘Piper’. SAP Cloud Transport Management allows you to centrally define delivery landscapes and to then handle the transport of development and application-specific content between the subaccounts defined in this landscape. With this, you can add additional control for the propagation of your changes especially towards your production environments, such as by defining who is allowed to come up and handle changes in which environment. Also, you gain the option to apply existing or new change management processes, such as being offered by change and deployment management capabilities of SAP Cloud ALM – for example, to centrally synchronize the delivery of SAP BTP changes with changes from other environments, as part of hybrid applications. You can also use SAP Cloud Transport Management to transport your changes without pipeline. - -
- -Persistence - - - -[SAP HANA Cloud](https://help.sap.com/docs/hana-cloud/sap-hana-cloud-overview-guide/sap-hana-cloud-overview-guide) - -Use SAP HANA Cloud service for a relational storage. - -Use HANA Data Lake Files as Object Storage. - -Consider compliance features like such as Audit Log, Cryptography or Customer Managed Keys that SAP HANA Cloud offers. - - - -[SAP HANA Cloud](https://help.sap.com/docs/hana-cloud/sap-hana-cloud-overview-guide/sap-hana-cloud-overview-guide) - -SAP BTP, ABAP environment comes with an own ABAP-managed SAP HANA Cloud instance. Static resizing of the SAP HANA Cloud instance is supported. ABAP dictionary tables can be tagged to make use of the SAP HANA Native Storage Extensions; also, database indexes \(like unique secondary indexes and fuzzy search indexes\) and Dynamic View Caches can be defined. Furthermore, simple Database Partitioning based on primary keys is possible. Access to the SAP HANA instance data is only supported via the ABAP layer, for example, by using ABAP SQL, natively via ABAP-managed database procedures, and the ABAP SQL Service for external clients. - -
- -[Object Store on SAP BTP](https://help.sap.com/docs/object-store/object-store-service-on-sap-btp/what-is-object-store) - -Object Store service on SAP BTP lets you store and manage objects, which involves creation, upload, download, and deletion. This service is specific to the Infrastructure-as-a-Service layer such as Azure Blob Storage, Amazon Web Services, and Google Cloud Platform. - -
- -Programming Model - - - -[SAP Cloud Application Programming Model \(CAP\)](https://cap.cloud.sap/docs/) - -Use SAP Cloud Application Programming Model as programming model for non-ABAP applications. - -Go-to frameworks for business application development. It supports the most widely adopted languages, which are: Java \(with Spring Boot\), JavaScript and TypeScript \(with Node.js\). - -SAP Cloud Application Programming Model guarantees to run against specific versions of Node.js and Java. Remember to plan your application to run for at least 5 years if not more. - -We recommend that you choose SAP BTP services over homegrown services. - - - -[ABAP RESTful Application Programming Model \(RAP\)](https://help.sap.com/docs/btp/sap-abap-restful-application-programming-model/abap-restful-application-programming-model?version=Cloud) - -Use ABAP RESTful Application Programming Model as a programming model within ABAP Cloud. With ABAP RESTful Application Programming Model, you can develop services for all types of SAP Fiori applications as well as publishing Web APIs. - -
- -Runtime - - - -[SAP BTP, Cloud Foundry Runtime](https://help.sap.com/docs/btp/sap-business-technology-platform/cloud-foundry-environment?version=Cloud) - -Use SAP BTP, Cloud Foundry runtime as a runtime for CAP-based applications. - - - -[SAP BTP, ABAP Environment](https://help.sap.com/docs/btp/sap-business-technology-platform/getting-started-with-customer-account-in-abap-environment?version=Cloud) - -Use SAP BTP, ABAP environment for ABAP-based applications. - -SAP BTP, ABAP environment delivers and enforces the ABAP Cloud development model and is based on Kubernetes. The abstraction of containers and clusters is managed by the SAP BTP, ABAP environment infrastructure. - -
- -[SAP BTP, Kyma Runtime](https://help.sap.com/docs/btp/sap-business-technology-platform/kyma-environment?version=Cloud) - -Use SAP BTP, Kyma runtime as a runtime for CAP-based applications. - -
- -Client Library - - - -[SAP Cloud SDK](https://help.sap.com/docs/SAP_CLOUD_SDK) - -CAP is using SAP Cloud SDK behind the scenes. - -SAP Cloud SDK provides client libraries for consuming OData/OpenAPI services, Destination service, and Connectivity service that extend SAP solutions and other OData/OpenAPI services on SAP Business Technology Platform. These clients allow you to concentrate on your unique business logic, simplifying development and ensuring seamless integration. - - - -[Service Consumption Model](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/service-consumption-model) - -Use the Service Consumption Model to generate local ABAP APIs to consume remote OData, SOAP and RFC services. - -
- -Connectivity - - - -[SAP Connectivity Service](https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/connectivity?version=Cloud) - -Use Connectivity service to securely access on-premise systems which are exposed via Cloud Connector. Using Cloud Connector service channels, it is also possible to access cloud systems such as databases from on-premise networks. For Kubernetes-based workloads, you can utilize the Connectivity Proxy to ensure secure technical connectivity from the cloud to your on-premise systems. Within the Kyma runtime, the Connectivity Proxy comes as a managed offering. - - - -[SAP Connectivity Service](https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/connectivity?version=Cloud) - -The Connectivity service is automatically integrated with the BTP ABAP tenants to securely access on-premise systems which are exposed via Cloud Connector. - -
- -[SAP Destination Service](https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/consuming-destination-service?version=Cloud) - -Use Destination service to store and retrieve technical connection properties to the target systems. It automates the process of retrieving OAuth access tokens to the configured target systems. In addition, the Destination service generates and is able to renew X.509 client certificates issued by the SAP Cloud PKI. - - - -[Communication Management](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/communication-management) - -SAP BTP, ABAP Environment provides a Communication Management to integrate the custom applications with other systems to enable data exchange. - -An event consumption and event provisioning is also natively supported and integrated into the ABAP RESTful Application Programming Model \(RAP\). - -In addition, the SAP Destination Service can also be used to re-use destinations for CAP applications. See [SAP Destination Service](https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/consuming-destination-service?version=Cloud). - -
- -Application Programming Interface - - - -[SAP Business Accelerator Hub](https://api.sap.com/) - -Follow API guidelines and use the SAP Business Accelerator Hub. - -
- -User Interface \(Web\) - - - -[SAP Fiori Elements](https://experience.sap.com/fiori-design-web/smart-templates/) - -[SAPUI5](https://sapui5.hana.ondemand.com/) - -Use SAP Fiori elements for OData V4 to benefit from a presentation of a common UI and UX. For more flexibility, use SAP Fiori element’s Flexible Programming Model with or without SAPUI5 Freestyle. Personalization and theming are automatically supported. - -SAP Fiori elements and SAPUI5 help you present one consistent solution experience to your customers, and you benefit from the upcoming designs and UX improvements automatically. - -Remember that even the simplest UI components or more complex ones like geographic maps have compliance requirements like accessibility and theming. - -
- -User Interface \(Mobile\) - - - -[SAP Mobile Development Kit](https://community.sap.com/topics/mobile-technology/mobile-development-kit) - -[SAP BTP SDK for Android](https://help.sap.com/doc/f53c64b93e5140918d676b927a3cd65b/Cloud/en-US/docs-en/guides/getting-started/android/overview.html) - -[SAP BTP SDK for iOS](https://help.sap.com/doc/f53c64b93e5140918d676b927a3cd65b/Cloud/en-US/docs-en/guides/getting-started/ios/introduction.html) - -Use SAP MDK, BTP SDK for Android or BTP SDK for iOS for mobile applications. - -These SDKs help you present one consistent solution experience to your customers. - -Mobile application development is massively accelerated as SAP mobile services and its SDKs generate the complete synchronization and authentication layer. Additional supported features like logging, tracing, crash reporting bring extra value to you. - -After deployment the Mobile services give administrators all the necessary tools and services to operate a mobile solution. Features like push, offline, mobile specific security and more simplify the operation. - -
- -Central Entry Point - - - -[SAP Work Zone, standard edition](https://help.sap.com/docs/build-work-zone-standard-edition/sap-build-work-zone-standard-edition/what-is-sap-build-work-zone-standard-edition) - -[SAP Build Work Zone, advanced edition](https://help.sap.com/docs/build-work-zone-advanced-edition/sap-build-work-zone-advanced-edition/what-is-sap-build-work-zone-advanced-edition) - -[SAP HTML5 Application Repository Service for SAP BTP](https://help.sap.com/docs/btp/sap-business-technology-platform/developing-html5-applications-in-cloud-foundry-environment) - -Enable the central launchpad to offer a unified end-user experience. - -Customers want to create a personalized view on the applications you produce. Make sure your application can be added to a central launchpad, regardless of where it runs. - - - -[SAP Fiori Launchpad for SAP BTP, ABAP Environment](https://help.sap.com/docs/btp/sap-fiori-launchpad-for-sap-btp-abap-environment/sap-fiori-launchpad-user-guide?version=Cloud) - -[SAP Work Zone, standard edition](https://help.sap.com/docs/build-work-zone-standard-edition/sap-build-work-zone-standard-edition/what-is-sap-build-work-zone-standard-edition) - -[SAP Build Work Zone, advanced edition](https://help.sap.com/docs/build-work-zone-advanced-edition/sap-build-work-zone-advanced-edition/what-is-sap-build-work-zone-advanced-edition) - -[SAP HTML5 Application Repository Service for SAP BTP](https://help.sap.com/docs/btp/sap-business-technology-platform/developing-html5-applications-in-cloud-foundry-environment) - -SAP BTP, ABAP Environment comes with a dedicated central entry point the SAP Fiori launchpad for SAP BTP, ABAP Environment. This central entry point offers a unified end-user experience for ABAP-based applications. It is also used as the entry point for all SAP Fiori applications to administer the ABAP system. - -SAP Build Work Zone, standard edition offers a unified end-user experience across several systems for federation scenarios. - -
- -Integration - - - -[SAP Event Mesh](https://help.sap.com/docs/event-mesh/event-mesh/what-is-sap-event-mesh?version=Cloud) - -[SAP Event Broker for SAP cloud applications](https://help.sap.com/docs/event-broker/event-broker-service-guide/what-is?locale=en-US%3Fversion%3DCloud&version=Cloud) - -[SAP Integration Suite, advanced event mesh](https://help.sap.com/docs/SAP_ADVANCED_EVENT_MESH/649cec0ae9ac49059564a1870fb8a1b7/0d4bcd5a2be744688039160b9bb289ae.html?version=Cloud) - -SAP Event Mesh can be used to distribute events between selected SAP cloud and on-premise applications and third-party applications. - -SAP Event Broker for SAP cloud applications and SAP Integration Suite, advanced event mesh are currently not supported by CAP and ABAP Cloud. - -
- -[SAP Master Data Integration](https://help.sap.com/docs/SAP_MASTER_DATA_INTEGRATION/c7713d6177ad479d9ea00958db9f2f81/dab76d5506a44c8e85f314fc3be30e13.html?version=CLOUD) - -SAP Master Data Integration service acts as the central master data hub. It uses the integration models of SAP One Domain Model as the basis for master data replication. SAP will extend the support of SAP One Domain Model in all SAP cloud applications over time to integrate them. When out-of-the-box integration with SAP Master Data Integration is not available, SAP Integration Suite can be used to integrate with SAP ERP Central Component, SAP S/4HANA, and non-SAP applications. - -
- -[SAP Integration Suite](https://help.sap.com/docs/integration-suite/sap-integration-suite/what-is-sap-integration-suite?version=CLOUD) - -Use the Cloud Integration capability of SAP Integration Suite for mediated data or process integration, espially if complex integration flows, transformations or dedicated protocols are required. Besides mediated application-to-application integration, Cloud Integration usage is recommended for business-to-business and business-to-governance processes. - -The API Management capability of SAP Integration Suite allows you to easily enable your developer community with governed, secure, and policy-compliant access to all your APIs, events, and integrations. - -Graph is a recent addition to the API Management capability of SAP Integration Suite. Graph is a powerful semantic API mediation, combining and exposing the data from diverse systems in a complex enterprise landscape as connected data graphs. The data graphs are accessed via a single, curated, and uniform data-as-a-service API and make API consumption much easier. - -
- -[Cloud Integration Automation](https://help.sap.com/docs/cloud-integration-automation/user-guide/overview) - -Cloud Integration Automation service provides you a guided workflow to integrate SAP cloud solutions to on-premise and other SAP cloud solutions. The guided workflow contains instructions for manual and automated tasks to enable an easy and quick integration configuration setup. - -
- -Observability - - - -[SAP Cloud ALM](https://help.sap.com/docs/link-disclaimer?site=https%3A%2F%2Fsupport.sap.com%2Fen%2Falm%2Fsap-cloud-alm.html) - -SAP Cloud ALM helps you to implement and operate intelligent cloud and hybrid business solutions. - -For your CAP-based applications on SAP BTP, SAP Cloud ALM provides a central, personalized and unified operations user experience. Specifically for Java and Node.js custom-built applications in SAP BTP, Cloud Foundry runtime, there are the Data Collection Instrumentation Libraries based on Open Telemetry designed to enable the data collection infrastructure in SAP Cloud ALM. With these libraries, you can collect data for many observability use cases, such as: - -- Real User Monitoring - -- Real User Monitoring - -- Health Monitoring - -- Integration and Exception Monitoring - - - - - - -[SAP Cloud ALM](https://help.sap.com/docs/link-disclaimer?site=https%3A%2F%2Fsupport.sap.com%2Fen%2Falm%2Fsap-cloud-alm.html) - -All ABAP cloud applications are supported by SAP Cloud ALM for central observability. SAP Cloud ALM provides the following use cases: - -- Real User Monitoring - -- Health Monitoring - -- Synthetic User Monitoring - -- Integration Monitoring - -- Job and Automation Monitoring - -- Data Forwarding to SAP Focused RUN - - -For Health Monitoring, you could extend the delivered content with your own custom metrics. - -SAP BTP, ABAP Environment strictly distinguishes between platform monitoring and application monitoring. The platform monitoring, like availability monitoring, is ensured by the service itself. - -For application monitoring, which is in your responsibility, respective tools are offered. Use the Technical Monitoring Cockpit to analyze and optimize the application on-stack: - -- System workload - -- Resource consumption and capacity - -- Detailed statistics captured for single requests - -- Outbound communication - -- SQL statements - - - - -
- -[SAP Alert Notification service for SAP BTP](https://help.sap.com/docs/alert-notification/sap-alert-notification-for-sap-btp/what-is-sap-alert-notification-service-for-sap-btp?version=Cloud) - -Local expert tool that allows you to subscribe to events from the platform – such as from used services, from your custom-built apps, or from the infrastructure – and to consume them via your channel of choice \(such as by receiving notifications via email or in your preferred chat application\). Can be integrated into central alerting of SAP Cloud ALM. - -
- -[SAP Cloud Logging](https://help.sap.com/docs/cloud-logging/cloud-logging/what-is-sap-cloud-logging?version=Cloud) - -SAP Cloud Logging allows you to analyze your SAP BTP workloads in great detail regarding performance, errors, usage, and other characteristics. - -It covers processing of logs, metrics, traces across SAP BTP, Cloud Foundry runtime and SAP BTP, Kyma runtime with flexible storage, alerting, and dashboarding. - -
- -Customer Landscape Discovery - - - -[Unified Customer Landscape](https://help.sap.com/docs/btp/sap-business-technology-platform/maintaining-unified-customer-landscape?version=Cloud) - -Use Unified Customer Landscape service for customer landscape management. - -There are different ways to add systems to the *System Landscape* page in the SAP BTP cockpit: manually or automatically. If a system of your solution is associated with your global account or through a subscription in SAP BTP cockpit associated with a given subaccount, it will appear in the list automatically. Otherwise, you have to add your system manually. Systems are added to the list in one of the following ways: - -- Auto-Discovered - - An auto-discovered system is a system \(associated with the given global account\) that has been discovered and added automatically to the list based on information of the existing system landscape. Any SAP system of the supported system types that is associated with the same customer ID, with which your global account in SAP BTP is associated, will be added automatically in the system landscape list. - -- Subaccount/ - - Specifies that the system has been added through a subscription in SAP BTP cockpit associated with a given subaccount. The subscription has been discovered and added automatically through the subaccount. - -- Manually-Added - - Specifies that the system has been added to the list manually by the global account administrator, using the *Add System* button and completing the wizard. The system has been associated with the global account in SAP BTP. - - - - - - -[Landscape Portal](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/landscape-portal) - -Landscape Portal is offered to manage all the systems within your global account in SAP BTP. It shows the list of the ABAP systems, it enables the control of system hibernation to reduce costs and it offers features to control the system lifecycle, for example, to nominate systems for the pre-upgrade prior to the standard upgrade of a quarterly ABAP platform release. - -
- -Extensibility and Integration - - - -Side-by-Side Extensibility with Unified Customer Landscape: - -- [Register Systems](https://help.sap.com/docs/btp/sap-business-technology-platform/registering-sap-system?version=Cloud) - -- [Create Formations](https://help.sap.com/docs/btp/sap-business-technology-platform/including-sap-systems-in-formation?version=Cloud) - -- [SAP SuccessFactors Extensibility Service](https://help.sap.com/docs/btp/sap-business-technology-platform/extending-sap-successfactors-in-cloud-foundry-and-kyma-environment?version=Cloud) - -- [SAP S/4HANA Cloud Extensibility Service](https://help.sap.com/docs/btp/sap-business-technology-platform/extending-sap-s-4hana-cloud-in-cloud-foundry-and-kyma-environment?version=Cloud) - - -Use Unified Customer Landscape service that offers customer landscape management capabilities for your SAP S/4HANA, SAP Ariba, SAP SuccessFactors, and other SAP and third-party systems in one single experience. - -In the SAP BTP cockpit, you get a comprehensive overview of all your systems associated with your customer ID. These systems can be registered or auto discovered. They are conveniently listed as a record in the *Systems* list in the *System Landscape* page in the SAP BTP cockpit. Moreover, Unified Customer Landscape lets you integrate one or more systems in a common business case by including these systems in a formation. - - - -[On-Stack Extensibility by Extending SaaS Applications](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/extending-saas-applications) - -In addition to the standard side-by-side approach for core applications such as SAP S/4HANA, SAP BTP, ABAP Environment also offers two extensibility options within the product itself: - -- With developer extensibility, you can extend partner solutions which are installed in your customer system, for example by adding custom fields, custom nodes and business logic. - -- With key user extensibility, you can extend a multitenancy SaaS application offered by a partner. The supported extensibility features to extend SaaS applications are UI adaptations, custom fields and custom logic \(implement Business Add-Ins\). - - -You can create business configuration objects. See [Business Configuration](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/development-business-configuration). - -You can create and set up integration scenarios by maintaining communication arrangements. - -
- -Data Privacy - - - -[SAP Data Privacy Integration](https://help.sap.com/docs/data-privacy-integration/development/data-privacy-integration?version=Cloud) - -[SAP Personal Data Manager](https://help.sap.com/docs/personal-data-manager/development/what-is-personal-data-manager?version=Cloud) - -[SAP Data Retention Manager](https://help.sap.com/docs/data-retention-manager/development/what-is-sap-data-retention-manager) - -Use Data Privacy Integration service to make your SAP BTP application compliant with the corporate Data Privacy and Protection standards. Integrate with the Data Privacy Integration service to support cross consumable Data Privacy and Protection features for our customers and support cross Data Privacy and Protection compliance in end-to-end processes. - -
- -Workflow - - - -[SAP Task Center](https://help.sap.com/docs/task-center/sap-task-center/what-is-sap-task-center?version=Cloud) - -SAP Task Center service enables integration with SAP applications to provide a single entry point for end users to access all their assigned tasks. The tasks can be accessed by end users through the SAP Task Center Web application.SAP Task Center helps you integrate tasks into a central solution. - -Use SAP Task Center as a unified inbox for tasks across multiple applications with integrated user experience. Tasks from multiple SAP solutions are gathered in one list and ready to be processed in just one click, shortening the completion time for business-critical tasks. For example, business users can process all their tasks from the connected systems, without the need to switch and log in separately into different inboxes. - -[SAP Build Process Automation](https://help.sap.com/docs/build-process-automation/sap-build-process-automation/what-is-sap-build-process-automation?version=Cloud) - -SAP Build Process Automation provides a simpler and faster way to adapt, improve, and innovate business processes with drag-and-drop simplicity. - -The solution combines workflow management, SAP Intelligent Robotic Process Automation \(SAP Intelligent RPA\) functionality, decision management, process visibility, and embedded AI capabilities into one intuitive low-code experience. - -You can jumpstart automation projects with hundreds of process content packages, SAP Intelligent RPA bots and connectors designed specifically to enhance the capabilities of the SAP solutions you are using. It provides a unified development experience for users of all skill levels enabling fusion teams of business experts and developers to work together and solve challenges faster. - -
- -Job Scheduling - - - -[SAP Job Scheduling Service](https://help.sap.com/docs/job-scheduling/sap-job-scheduling-service/what-is-sap-job-scheduling-service?version=Cloud) - -SAP Job Scheduling service allows you to define and manage jobs that run once or on a recurring schedule. Use this runtime-agnostic service to schedule action endpoints in your application or long-running processes using Cloud Foundry tasks. Use REST APIs to schedule jobs, including long-running jobs asynchronously, and create multiple schedule formats for simple and complex recurring schedules. Manage jobs and tasks and manage schedules with a web-based user interface. - - - -[Application Jobs](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/application-jobs) - -Job scheduling is integrated into the product. Application Jobs can be defined, implemented and monitored. - -
- -Application Logs - - - - - - - -[Application Logs](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/application-logs) - -SAP Task Center helps you integrate tasks into a central Application Logging is integrated into the product. Application Logs can be defined, implemented, and monitored. - -
- -Analytics - - - -[SAP Analytics Cloud](https://help.sap.com/docs/SAP_ANALYTICS_CLOUD) - -Use embedded analytics scenarios in your application including dashboards, multi-dimensional reports and KPIs. - - - -[SAP Analytics Cloud](https://help.sap.com/docs/SAP_ANALYTICS_CLOUD) - -Use SAP Analytics Cloud on top of InA-enabled Core Data Service analytical models. Furthermore, Dragonfly-based multi-dimensional reporting can be used to integrate Embedded Analytics functionality in a component-based and SAP Fiori-native way. - -
- -[SAP Datasphere](https://help.sap.com/docs/SAP_DATASPHERE) - -For analytics across applications use SAP Datasphere. - - - -[SAP Datasphere](https://help.sap.com/docs/SAP_DATASPHERE) - -Via the ABAP SQL Service it is possible to integrate with SAP Datasphere. Furthermore, the ABAP SQL Service in combination with ABAP ODBC Driver or the SAP HANA Cloud ABAP SDA Adapter allows data federation via external clients respectively via SAP HANA Cloud-based SAP BTP applications. - -
- -Document Management - - - -[SAP Document Management Service](https://help.sap.com/docs/document-management-service/sap-document-management-service/what-is-document-management-service?version=Cloud) - -Document Management Service, Integration Option lets you build document management capabilities for your business applications using the integration component or the easy-to-use, reusable UI component. - -Document Management Service, Application Option is a standalone, ready-to-use web application that provides document management capabilities for your enterprise content. - -
- -Low Code/No Code - - - -[SAP Build](https://help.sap.com/docs/SAP%20Build/9d385a1842594230993661ca78dce150/7e50fa5e724c49d1a4352848275fd3cc.html?version=Cloud) - -SAP Build is a low-code offering to accelerate development and automation. It enables you to create enterprise apps \(SAP Build Apps\), automate processes \(SAP Build Process Automation\), and design business sites \(SAP Build Work Zone\) without writing code. Accelerate development with prebuilt connectors and business content for SAP and third-party systems to integrate seamlessly. SAP Build fosters collaboration between business and development teams with built-in governance and lifecycle management. - -
- -Service Management - - - -[SAP Service Manager](https://help.sap.com/docs/service-manager/sap-service-manager/sap-service-manager?version=Cloud) - -SAP Service Manager service allows you to consume platform services in any connected runtime environment, track the creation and management of service instances, and share services and service instances between different environments. - - - - - -
- -Authentication - - - -[SAP Authentication and Trust Management Service](https://help.sap.com/docs/btp/sap-business-technology-platform/sap-authorization-and-trust-management-service-in-cloud-foundry-environment?version=Cloud) - -The SAP Authorization and Trust Management service lets you manage user authorizations and trust to identity providers. Identity providers are the user base for applications. - -We recommend that you use an Identity Authentication tenant, an SAP on-premise system, or a custom corporate identity provider. User authorizations are managed using technical roles at the application level, which can be aggregated into business-level role collections for large-scale cloud scenarios. - - - -[Access Management](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/access-management) - -User authorizations are managed and can be aggregated into business roles locally in SAP BTP, ABAP environment. - -
- -[Identity Authentication](https://help.sap.com/docs/identity-authentication/identity-authentication/what-is-identity-authentication?version=Cloud) - -The Identity Authentication service provides you with controlled cloud-based access to business processes, applications, and data. It simplifies your user experience through authentication mechanisms, single sign-on, on-premise integration, and convenient self-service options. - - - -[Identity Authentication](https://help.sap.com/docs/identity-authentication/identity-authentication/what-is-identity-authentication?version=Cloud) - -The Identity Authentication service provides you with controlled cloud-based access to business processes, applications, and data. It simplifies your user experience through authentication mechanisms, single sign-on, on-premise integration, and convenient self-service options. - -Technical users for system-to-system communication are managed locally in the SAP BTP, ABAP environment. SAP BTP, ABAP environment supports mTLS and basic authentication as authentication options for technical users. - -
- -Audit Logging - - - -[SAP Audit Log Service](https://help.sap.com/docs/btp/sap-business-technology-platform/audit-logging-in-cloud-foundry-environment?version=Cloud) - -SAP Audit Log is a core, security, and compliance-based SAP BTP service to provide means for audit purposes. The default and advanced capabilities of Audit Log Service are available for SAP BTP applications and services. - - - -[Manage Security Audit Log](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/manage-security-audit-log) - -Security audit logging is provided automatically by the SAP BTP, ABAP Environment. It can be configured by the Manage Security Audit Log administration application. - -
- -[Read Access Logging](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/read-access-logging) - -Read Access Logging \(RAL\) is used to monitor and log read access to sensitive data. This data may be categorized as sensitive by law, by external company policy, or by internal company policy. - -
- -Security - - - -[SAP Credential Store](https://help.sap.com/docs/credential-store/sap-credential-store/what-is-sap-credential-store) - -SAP Credential Store service provides a repository for passwords, keys and keyrings for applications that are running on SAP BTP. It enables the applications to retrieve credentials and use them for authentication to external services, or to perform cryptographic operations and TLS communication. SAP Credential Store is exposed to the applications via a REST API. - - - -[Communication Management](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/communication-management) - -The ABAP environment offers its Communication Management. It contains a credentials store which allows the applications to perform outbound communication using the credentials for authentication to external services and TLS communication. - -
- -Identity Management - - - -[Identity Provisioning](https://help.sap.com/docs/identity-provisioning/identity-provisioning/what-is-identity-provisioning?version=Cloud) - -The Identity Provisioning service automates identity lifecycle processes. It helps you provision identities and their authorizations to various cloud and on-premise business applications. - - - -[Identity Provisioning](https://help.sap.com/docs/identity-provisioning/identity-provisioning/what-is-identity-provisioning?version=Cloud) - -The Identity Provisioning service automates identity lifecycle processes. SAP BTP, ABAP environment supports the Identity provisioning service to provision business users and their assignment to business roles. - -
- diff --git a/docs/continuous-integration-and-continuous-delivery-d973132.md b/docs/continuous-integration-and-continuous-delivery-d973132.md deleted file mode 100644 index 60e3336..0000000 --- a/docs/continuous-integration-and-continuous-delivery-d973132.md +++ /dev/null @@ -1,13 +0,0 @@ - - -# Continuous Integration and Continuous Delivery - -You can get basic knowledge for setting up and implementing continuous integration and delivery processes together with an overview of the concepts and principles of continuous integration and delivery, so you can plan your own continuous integration and delivery process. See: - -- [Basic Concepts and Principles](https://help.sap.com/docs/CICD_OVERVIEW/ee5a61247061455ab232c19179fe4c3b/af68ca6dddda47dd82782c68fd390f35.html?version=Cloud) - -- [Continuous Integration and Continuous Delivery Processes](https://help.sap.com/docs/CICD_OVERVIEW/ee5a61247061455ab232c19179fe4c3b/6129d7967f124436a9c71e29d9a05e53.html?version=Cloud) - - -You can also learn about the different solutions that SAP offers at the moment that will help you apply continuous integration and delivery in your software development. See [SAP Solutions for Continuous Integration and Delivery](https://help.sap.com/docs/CICD_OVERVIEW/8cacec64ed854b2a88e9a0973e0f97a2/e9fa320181124fa9808d4446a1bf69dd.html?version=Cloud). - diff --git a/docs/deploy-45d5acf.md b/docs/deploy-45d5acf.md deleted file mode 100644 index 21de403..0000000 --- a/docs/deploy-45d5acf.md +++ /dev/null @@ -1,43 +0,0 @@ - - -# Deploy - -SAP Application Programming Model \(CAP\) applications can be deployed in the SAP BTP, Cloud Foundry runtime or in the SAP BTP, Kyma runtime. Both runtimes can be used to host and run your custom code, while at the same time being connected to SAP BTP Multi-Cloud Services and your on-premise systems. Depending on your use case and the skill set of your developers, choose the runtime that fits your needs. See [Comparison: SAP BTP, Kyma Runtime and SAP BTP, Cloud Foundry Runtime](https://help.sap.com/docs/btp/comparison-kyma-runtime-and-cloud-foundry-runtime/runtime-comparison?version=Cloud). - - - -
- -## Deploy in Cloud Foundry Runtime - -After completing the functional implementation of the CAP application by following the best practices, you can deploy your application in the cloud for productive usage. The essential steps are illustrated in the following graphic: - -![](images/Deploy_a_CAP_Application_in_Cloud_Foundry_Runtime_50243ce.png) - -With our recommended approach, the actual deployment in your SAP BTP, Cloud Foundry runtime is performed either by your [Continuous Integration and Continuous Delivery](continuous-integration-and-continuous-delivery-d973132.md) pipeline \(such as being provided by SAP Continuous Integration and Delivery service\) or handled by transports \(via [SAP Cloud Transport Management](https://help.sap.com/docs/cloud-transport-management?version=Cloud), optionally orchestrated by SAP Cloud ALM\). - -If you want to perform a manual deployment in the SAP BTP, Cloud Foundry runtime, see [Deploy in Cloud Foundry](https://cap.cloud.sap/docs/guides/deployment/to-cf). - - - - - -## Deploy in Kyma Runtime - -Like Kubernetes, Kyma is a platform to run containerized workloads. The service's files are provided as a container image, commonly referred to as a Docker image. In addition, the containers to be run on Kubernetes, their configuration and everything else that is needed to run them, are described in the Kubernetes resources. - -In consequence, two kinds of artifacts are needed to run applications on Kubernetes: - -- Container images - -- Kubernetes resources - - -The following diagram shows the steps to run on the SAP BTP, Kyma runtime: - -![](images/Deploy_a_CAP_Application_in_the_Kyma_Runtime_d3a3414.png) - -For detailed steps to deploying your application in the SAP BTP, Kyma runtime, see[Deploy in Kyma Runtime](https://cap.cloud.sap/docs/guides/deployment/deploy-to-kyma). - -If you want to perform an automated deployment via pipeline, SAP Continuous Integration and Delivery has a ready-to-use pipeline for CAP on SAP BTP, Kyma runtime. See [Continuous Integration and Continuous Delivery](continuous-integration-and-continuous-delivery-d973132.md). - diff --git a/docs/deploy-d7aec3c.md b/docs/deploy-d7aec3c.md deleted file mode 100644 index bf4f07a..0000000 --- a/docs/deploy-d7aec3c.md +++ /dev/null @@ -1,62 +0,0 @@ - - -# Deploy - - - - - -## Common Setup - -The deployment of developed ABAP Cloud objects and entire applications is supported by administration apps delivered with SAP BTP, ABAP environment. The respective ABAP systems run on Gardener or Kubernetes-based infrastructure, but such technical details are hidden for developers and administrators. The important part of the deployment strategy is the definition and setup of the respective System Landscape. A typical system landscape consists of three ABAP systems for development, test and productive use. See [System Landscape/Account Model](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/concepts#loio4ca756395fc24e56a42b77632a6bd862). - -The basic entity for the deployment is a software components. Software components are maintained with the administrators app Manage Software Components. A hidden Git repo is automatically managed per software component based on gCTS for transport management. Software components can be imported into test and productive systems. This process can be automated via Piper pipelines including steps like automated test using ABAP Test Cockpit \(ATC\). You can also use SAP Cloud Transport Management to handle the propagation of your changes in SAP BTP, ABAP environment. - -The common setup is sufficient for customers to run their own applications. - -For more information, see: - -- [Software Components](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/software-components) - -- [Manage Software Components](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/manage-software-components) - -- [ABAP Environment Pipeline](https://www.project-piper.io/pipelines/abapEnvironment/introduction/) - - - - - - -## Additional Considerations for Partners - -There are two different models how to offer and deploy your solution. - -1. As a multitenant SaaS solution: - - - You offer a cloud service - - - Your customers can subscribe to your service and getting an own tenant in your central provider system - - - The application monitoring is in your responsibility and also managing the infrastructure costs - - - Even for this scenario, Field Extensibility and Custom Logic is offered for key users on customer side \(tenant-aware\) - - -2. As an installable product: - - - You offer the product as an Add-on; the product can also be an SDK - - - Your customers need to have an own SAP BTP, ABAP environment instance - - - The installation of the product and patches is in the responsibility of your customers - - - The installation will be possible via Landscape Portal on customer side - - - The customer can extend your product via ADT. See the developer extensibility option in the [Development Use Cases](development-use-cases-4efd0bc.md) page. - - - -For both models, partners can build solutions based on software components with the help of the Landscape Portal to set up multitenant SaaS solutions or to offer installable products like SDKs for other customers and partners. - -The Landscape Portal is a collection of administrator apps and is part of the SAP BTP, ABAP environment. See [Landscape Portal](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/landscape-portal). - diff --git a/docs/design-314ae3e.md b/docs/design-314ae3e.md deleted file mode 100644 index a2f5470..0000000 --- a/docs/design-314ae3e.md +++ /dev/null @@ -1,54 +0,0 @@ - - -# Design - - - - - -## ABAP Cloud Design Principles - -ABAP Cloud is based on a model-driven architecture approach that focuses on improving development efficiency through standardization and formalization of the programming model and the tooling environment ensuring efficiency and scalability. Programming models generally define the design time software architecture with specific technologies, concepts, and development objects. It essentially defines a standard architecture for app and service development from the database to the business service exposure. - -ABAP Cloud builds on the strengths of powerful frameworks and a standardized architecture for different use cases, aiming at saving as much implementation time as possible while providing you with flexibility - you can model your business processes with apps and services based on your business requirements along predefined technical processes. As much as possible is handled by the frameworks to decrease the probability of consistency errors during runtime. This standardized and consistent architecture across all apps and services developed with ABAP Cloud has many advantages from development perspective: - -- Efficiency increase and scalability - - The developer efficiency is increased because standard architecture patterns are easily scalable. Once you are familiar with developing with the ABAP Cloud development model, the additional effort decreases with each developed service or application. - -- Adaptability and maintenance - - A standardized architecture fosters code quality and thus testability and code maintenance. ABAP Cloud comes with specific mock-frameworks for data models and events that support the code quality assurance and avoid regressions on all test levels. - -- High abstraction level - - The development model executes all low-level technical and infrastructure-related tasks. - - -The cloud-optimized ABAP languages like Data Definition Language or the Entity Manipulation Language match the data modeling requirements and are designed to support the modeling and ABAP-specific development process closely as possible. - - - - - -## Benefits of the Model-Driven Approach - -A standardized architecture approach saves you time and scales easily with multiple apps or services. In case of ABAP Cloud, also ensures the separation of concerns between data model behavior, and service exposure ensuring interoperability between different use cases, so that you can reuse data models for different purposes like analytical reports and transactional apps at the same time. - - - - - -## Transactional Consistency Across Applications and Services - -Interoperability is guaranteed because all implementations adhere to the same technical rule set, and the framework determines the technical contracts and process flows. This enables you to design end-to-end processes without having to worry about how to implement an authorization or locking concept for only for one specific part of the process. Instead, you make process design decisions that incorporate the technological advantages of the different ABAP Cloud technologies, frameworks, and building blocks in each step of a process. For more details about transactional consistency, see Transactional Consistency. - -**Related Information** - - -[Design a Transactional Application](design-a-transactional-application-608432c.md "") - -[Design an Analytical Application](design-an-analytical-application-8819cb7.md "") - -[Design an Integration Service](design-an-integration-service-ec2ac31.md "") - diff --git a/docs/design-a-multitenant-application-1ac614d.md b/docs/design-a-multitenant-application-1ac614d.md deleted file mode 100644 index b62c64f..0000000 --- a/docs/design-a-multitenant-application-1ac614d.md +++ /dev/null @@ -1,50 +0,0 @@ - - -# Design a Multitenant Application - -You can use the multiclient architecture of the ABAP system for multitenancy enablement and list the design principles to reach multitenancy. - -- Store tenant-related data in client-dependent tables of type A, C, or L. - -- Store system-related data in client-independent tables of type S. - -- Always add the selection of the client to ABAP database procedures \(AMDPs\). - - -Make sure consumers cannot modify the client parameter or any other part of the AMDP using the application or by tampering requests. - -- Don't generate development objects or other client-independent data system-locally in the provider system. - -- Don't evaluate the actual value of the 3-digit client field \(IF sy-mandt = ‘nnn’. …. ENDIF\). - - -You have to classify database tables according to their content. There are the following types: - -- Tenant Content \(client-dependent\) - - - Tenant configuration data – tables with delivery class “C” - - - Tenant application data – tables with delivery class “A” - - - Tenant temporary data – tables with delivery class “L” - - - Database tables for tenant content must be client-dependent. This means that the first field of the table must be of datatype “CLNT”. We recommend using the inline declaration „abap.clnt“. - - Only the content of client-dependent “C” and “A” tables is considered during tenant copy and tenant move. Content of client-independent tables that are not delivered from the development system and “L” tables are lost during tenant lifecycle processes such as tenant move. - - During tenant deletion, the content of all client-dependent tables is removed. - - The delivery class must be “C”, “A”, or “L”. - - The delivery classes “E”, “G” and “W” are not supported in the ABAP environment at all. - -- System Content \(client-independent\): System configuration data – tables with delivery class “S” - - Store data that is defined by the service provider and not specific for any tenant in a client-independent “S” table. Define the content in the respective development system and export it as TABU entries via a development transport request. The content is considered as code and imported like other development artifacts into subsequent systems such as the provider system. - - Access to tables and all further ABAP Cloud Syntax is by default tenant aware. - - -See [Multitenancy Development Guideline](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/multitenancy-development-guideline). - diff --git a/docs/design-a-transactional-application-608432c.md b/docs/design-a-transactional-application-608432c.md deleted file mode 100644 index 0f7d58e..0000000 --- a/docs/design-a-transactional-application-608432c.md +++ /dev/null @@ -1,20 +0,0 @@ - - -# Design a Transactional Application - -Transactional applications and services implement use cases where read, create, update, or delete operations on the data set are required. - -A transactional application consists of a client, the business service exposure that defines the service that is consumed by the client, domain-specific models and domain-specific logic that implements behavior. Data is either accessed from the SAP HANA database or with the service consumption model from remote services. - -The following graphic gives you an overview of the main parts of the transactional application’s architecture: - -![](images/Design_a_Transactional_Application_d715f00.png) - -The client is either an SAP Fiori elements or SAPUI5 application or any API consumer. - -In the business service exposure the kind of service that is exposed is defined. A UI service is an OData service specifically designed to cater to SAP Fiori elements consumers but is used for OData UI consumers in general. API services expose the underlying data- and behavior-models as APIs to unspecified clients either with the OData protocol or business events. It is possible to define both UI and API services at the same time. - -The ABAP RESTful Application Programming Model \(RAP\) is used to create UI and API services including the domain model and implementation. The center piece of RAP is the business object. RAP's business objects consist of the data model implemented with the core data services and the transactional behavior implemented with the Entity Manipulation Language \(EML\). - -The architectural separation of concerns between the domain-specific implementation and the business service exposure allows you to expose the same data model for analytical and transactional applications and services. - diff --git a/docs/design-an-analytical-application-8819cb7.md b/docs/design-an-analytical-application-8819cb7.md deleted file mode 100644 index f5d5095..0000000 --- a/docs/design-an-analytical-application-8819cb7.md +++ /dev/null @@ -1,14 +0,0 @@ - - -# Design an Analytical Application - -Analytical Applications implement use cases where multi-dimensional data models are queried to analyze business data and derive business KPIs. The main focus is on creating data models to analyze business data in embedded or cross-system setups and to visualize the data in dashboards or as part of apps. - -The following graphic gives you an overview of the main parts of the analytical architecture: - -![](images/Design_an_Analytical_Application_80e21cc.png) - -Analytical data models are CDS-based. The analytical provider consists of a reusable star or snowflake schema \(based on cubes, dimensions, and hierarchies\) and scenario-specific analytical projections \(analytical queries\). - -ABAP Cloud enables you to develop InA-based services for multidimensional user apps. The InA services are either consumed in SAP Fiori UIs or by SAP Analytics Cloud. - diff --git a/docs/design-an-integration-service-ec2ac31.md b/docs/design-an-integration-service-ec2ac31.md deleted file mode 100644 index 4db03bc..0000000 --- a/docs/design-an-integration-service-ec2ac31.md +++ /dev/null @@ -1,12 +0,0 @@ - - -# Design an Integration Service - -Integration Services implement system-to-system communication use cases to enable data or process integration between systems across a range of different protocols and frameworks. - -You can use data integration to exchange data between two or more parties without being part of specific and predefined business process, for example, for analytical use cases. - -Process integration requirements can span data exchange across system boundaries like, for example, to trigger follow-on actions with events when a value in an app is changed. - -![](images/Design_an_Integration_Service_c04a651.png) - diff --git a/docs/design-dcdc2d9.md b/docs/design-dcdc2d9.md deleted file mode 100644 index 84a3f56..0000000 --- a/docs/design-dcdc2d9.md +++ /dev/null @@ -1,69 +0,0 @@ - - -# Design - - - - - -## CAP Design Principles - -SAP Cloud Application Programming Model \(CAP\) focuses on the domain of the application, by capturing domain knowledge and intent instead of imperative coding. This means: - -- Close collaboration of developers and domain experts in domain modeling. - -- Out-of-the-box implementations for best practices and recurring tasks. - -- Platform-agnostic approach to avoid lock-ins, hence protecting investments. - - - - - - -## Agnostic Design - -CAP avoids technology lock-ins through higher-level concepts and APIs, which abstract low-level platform features and protocols to a large extent. In particular, this applies to: - -- Platform-specific deployment approaches and techniques - -- Platform-specific identity providers and authentication strategies - -- Onboarding and offboarding of tenants in Software-as-a-Service \(SaaS\) solutions and tenant isolation - -- Synchronous protocols like REST, OData, or GraphQL - -- Asynchronous channels and brokers like SAP Event Mesh, Message Queue, or Kafka  - -- Different database technologies including SQL and NoSQL - - -These abstractions allow CAP to quickly adapt to new emerging technologies or platforms, without affecting the application code. - - - - - -## Open and Opinionated Design - -While CAP certainly gives opinionated guidance, it does this without sacrificing openness and flexibility. You as a developer stay in control of which tools or technologies to choose, or which architecture patterns to follow. - -- All abstractions follow a glass-box pattern that allows unrestricted access to lower-level things, if necessary. - -- Best Practices served out of the box with generic solutions for many recurring tasks. - -- Out-of-the-box support for SAP Fiori and SAP HANA. - -- Dedicated tools support provided in SAP Business Application Studio, and Visual Studio Code or Eclipse. - - - - - - -## Domain-Driven Design - -CAP uses Core Data Services as its ubiquitous modelling language, with Core Data Service Aspects separating core domain aspects from generic aspects.Core Data Service's human-readable nature fosters collaboration of developers and domain experts. - -As Core Data Service models are used to fuel generic providers — the database as well as application services — CAP ensures that the models are applied in the implementation. And as coding is minimized you can more easily refine and revise their models, without having to refactor large boilerplate code bases. - diff --git a/docs/develop-58df1d6.md b/docs/develop-58df1d6.md deleted file mode 100644 index f494598..0000000 --- a/docs/develop-58df1d6.md +++ /dev/null @@ -1,218 +0,0 @@ - - -# Develop - -Learn more about developing applications using SAP Cloud Application Programming Model \(CAP\). - - - - - -## SAP Cloud Application Programming Model \(CAP\) - -SAP Cloud Application Programming Model \(CAP\) is a framework of languages, libraries, and tools for building enterprise-grade services and applications. It guides you along the best practices you can use to develop your applications on SAP BTP. - -Core Data and Services can be used as business level data definition source, and to generate the artifacts at the persistence layer, generate the application service layer and also be used to define visual aspects relating to the data, with those definitions \(annotations\) defining the UI layer. See [Core Data and Services \(CDS\) Language Reference Documentation](https://help.sap.com/docs/btp/sap-business-technology-platform/core-data-and-services-cds-language-reference-documentation?version=Cloud). - -CAP framework provides strong support for programming languages like Node.js and Java allowing you to build server-side logic, handle requests and responses. - -The following is the list of the most prominent tasks within scope of developing a full-stack application using CAP. - -- Domain modeling - - Most projects start with capturing the essential objects of their domain in a respective domain model. Find here an introduction to the basics of domain modeling with Core Data and Services, complemented with recommended best practices. See [Domain Modeling](https://cap.cloud.sap/docs/guides/domain-modeling). - -- Providing services - - This learn how to define and implement services, leveraging generic implementations provided by the CAP runtimes, complemented by domain-specific custom logic, see [Providing Services](https://cap.cloud.sap/docs/guides/providing-services). - -- Development of user interface - - To learn how to create applications with rich user interfaces for modern Web business applications, responsive across browsers and devices, based on HTML5, see [Developing Apps](https://sapui5.hana.ondemand.com/#/topic/23cfd955f58142389fa7c9097e11559c). - -- Consuming services - - To learn how to use uniform APIs to consume local or remote services, see [Consuming Services](https://cap.cloud.sap/docs/guides/using-services). - -- Databases - - To learn how to use databases with CAP applications, see [Using Databases](https://cap.cloud.sap/docs/guides/databases). - - Out of the box-support is provided for SAP HANA, SQLite, H2 \(Java only\), and PostgreSQL. - -- Messaging - - CAP provides intrinsic support for emitting and receiving events. This is complemented by the messaging services connecting to message brokers to exchange event messages across remote services. See [Events and Messaging](https://cap.cloud.sap/docs/guides/messaging/). - -- Authentication - - Authenticating users on incoming HTTP requests is achieved by authentication middleware which is then used in authorization enforcement decisions. See [Authentication](https://cap.cloud.sap/docs/node.js/authentication). - -- Authorization - - To restrict access to data by adding respective declarations to the models of the Core Data and Services, which are then enforced in service implementations, see [Authorization and Access Control](https://cap.cloud.sap/docs/guides/authorization). - -- Localization, and internationalization - - To internationalize your application to provide localized versions with respect to both Localized Models as well as Localized Data, see [Localization, i18n](https://cap.cloud.sap/docs/guides/i18n). - -- Localized data - - To localize and internationalize static content, such as labels or messages, and to serve localized versions of actual application data, see [Localized Data](https://cap.cloud.sap/docs/guides/localized-data). - -- Temporal data - - CAP provides out-of-the-box support for declaring and serving date-effective entities with application-controlled validity, in particular to serve as-of-now and time-travel queries. See [Temporal Data](https://cap.cloud.sap/docs/guides/temporal-data). - -- Media data - - CAP provides out-of-the-box support for serving media and other binary data. See [Serving Media Data](https://cap.cloud.sap/docs/guides/media-data). - -- Data privacy - - CAP helps application projects to comply with data privacy regulations using SAP BTP services. See [Managing Data Privacy](https://cap.cloud.sap/docs/guides/data-privacy/). - -- Security - - To develop, deploy and operate CAP applications in a secure way, see [CAP Security Guide](https://cap.cloud.sap/docs/guides/security/). - -- Multitenancy - - Get to know the fundamental concepts of multitenancy, underpinning SaaS solutions in CAP. To learn how to run and test applications in multitenancy mode with minimized setup and overhead, see [Multitenancy](https://cap.cloud.sap/docs/guides/multitenancy/). - -- Extensibility - - Learn about the intrinsic capabilities to extend your applications in verticalization and customization scenarios. See [Extensibility](https://cap.cloud.sap/docs/guides/extensibility/). - -- Test - - To learn how to test a CAP application, see [Testing with cds.test](https://cap.cloud.sap/docs/node.js/cds-test). - - - - - - -## Runtimes - -**** - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -Cloud Foundry - - - -Kyma - -
- - - - - -SAP BTP, Cloud Foundry environment is an open Platform-as-a-Service \(PaaS\) targeted at microservice development and orchestration. - - - -SAP BTP, Kyma runtime is a fully managed Kubernetes-based runtime that enables the development and operation of cloud-native, enterprise-garde applications that can seamlessly consume Multi-Cloud Foundation Services. - -
- -Develop polyglot applications - - - -Build on open standards with SAP Java, Node.js, and Python buildpacks or bring your own language with community buildpacks for PHP, Ruby, Go. - - - -With Kyma, you can choose any preferred language or application that can be containerized. The available Kyma modules reduce the development effort and the application time to market. - -
- -Manage the lifecycle of applications - - - -Start, stop, scale, and configure distributed cloud applications using standard Cloud Foundry tools, our web-based administration user interface for SAP BTP, and dev-ops capabilities. - - - -Deploy and upgrade applications and take advantage of the native autoscaling functionality of Kubernetes that manages the scaling for you. Get familiar with our user interface, Kyma Dashboard, or automate with standard CI/CD tools most of which support Kubernetes. - -
- -Optimize development and operations - - - -Use the rich set of SAP BTP services including messaging, persistence, and many other capabilities. - - - -As Kyma is fully managed, upgrades for your Kubernetes cluster and base images are handled for you to save you time. - -
- -Use the application programming model - - - -Use programming languages, libraries, and APIs tailored for full-stack application development. - -
- - - -
- -## Development Options Overview - -The following graphic is designed to help you find the information you need for your programming purposes. The bottom row represents the tools, frameworks, services, and deployment options recommended by SAP. If you want full flexibility you can also bring your own development tools and languages, as shown in the top row. - -![](images/Image_Map_Development_Options_Overview_d716bab.png) - - - - - -## The Recommended Path - -This development approach offers guidance for important development decisions and features proven best practices recommended by SAP. You can follow a model path for application and service development that is based on the Cloud Application Programming Model \(CAP\). When working with CAP, we recommend using Java and Node.js because they receive the highest level of tool support and are well suited for most use cases. This path provides you with a list of key aspects to consider, but the order shown in these steps isn't mandatory. You can adapt the steps as you wish to better fit your use case. - diff --git a/docs/develop-a-multitenant-application-3151e2a.md b/docs/develop-a-multitenant-application-3151e2a.md deleted file mode 100644 index cf220ba..0000000 --- a/docs/develop-a-multitenant-application-3151e2a.md +++ /dev/null @@ -1,18 +0,0 @@ - - -# Develop a Multitenant Application - -Multitenancy in the SAP BTP, ABAP environment enables independent software vendors or partners, which are the application providers, to develop and operate ABAP solutions as software as a service \(SaaS\). It leverages the SAP BTP infrastructure while hosting several consumers on the same ABAP system. The resources on SAP BTP consumed by the solution are paid for by the application provider. - -Application consumers, which are the end customers of the provider, subscribe to a provider’s multitenant application and use it in a specific consumer subaccount, which is called a tenant. Consumers access the provider’s SaaS application via a consumer-specific URL. Consumers cannot see the data of other consumers and Identity and Access Management is kept isolated between different tenants. - -The multitenant application is deployed to the provider subaccount and serves as the entry point for the consumer-specific URLs so that requests are routed to the corresponding consumer tenant in the ABAP system. Only after the multitenant application has been deployed, the application will be available for subscription to consumers. See [Developing Multitenant Applications in the ABAP Environment](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/developing-multitenant-applications-in-abap-environment). - -The ABAP system used to serve the application to the consumers is provisioned in the provider subaccount during the first subscription. See [Creating an ABAP System](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/creating-abap-system). - -Different tenants are created as separate clients in the system. Tenants in the ABAP system have different capabilities represented by the tenant business type and lifecycle status. The ABAP system contains by default a tenant used by the application provider \(client 100\) for system-level operations like the import of software components to the system. For each subscription to the multitenant application, a tenant used by the consumer \(client \>= 200\) is created. If any consumer tenants still exist in the ABAP system, the system cannot be deleted. - -The Landscape Portal functions as a central plane for tenant management that allows providers to perform lifecycle management operations such as add-on updates, creating test tenants or support users, and more. For more information on how to access and use the Landscape Portal, see [Landscape Portal](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/landscape-portal). - -Multitenancy in the SAP BTP, ABAP environment is technically based on client-dependent database tables. Developers need to make sure to define their custom database tables with the CLIENT field and the respective delivery class. The ABAP SQL access takes the current CLIENT of the logged-on user automatically into consideration. See [Multitenancy Development Guideline](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/multitenancy-development-guideline). - diff --git a/docs/develop-a-transactional-application-373046e.md b/docs/develop-a-transactional-application-373046e.md deleted file mode 100644 index eac783b..0000000 --- a/docs/develop-a-transactional-application-373046e.md +++ /dev/null @@ -1,300 +0,0 @@ - - -# Develop a Transactional Application - -Transactional applications in ABAP Cloud provide a robust and scalable solution for managing business processes and data. The ABAP RESTful Application Programming Model \(RAP\) defines how transactional applications are built. The following graphic shows the big picture: - -![](images/ABAP_Cloud_-_the_Big_Picture_5d4a7c9.png) - -To build a transactional application, you define data models and implement business logic using a declarative approach. The data models as well as the behavior definition make up the ABAP RESTful Application Programming Model business object \(RAP BO\). The data model implemented with ABAP Core Data Services defines the structure of the data. The behavior definition is implemented with ABAP and the Entity Manipulation Language. - - - - - -## Develop Behavior - -With RAP the standard create, update and delete operations must only be specified in the behavior definition to obtain a ready-to-run business object. In addition, the provisioning and handling of the transactional buffer is automatically done for you. The technical implementation aspects are taken over by the managed RAP BO provider. The interaction phase and the save sequence are implemented generically. For more information, see [Business Object Implementation Types](https://help.sap.com/docs/abap-cloud/abap-rap/business-object-implementation-types?version=abap_cross_product). - -The application developer can then focus on business logic that is implemented using actions, validations, determinations, and user interaction. To define which consumers are allowed to read or change data of a business object, RAP offers an authorization concept to restrict access to the business object. - -- Actions - - To develop custom modify operations for example to set a specific field value, you can use actions. See [Operations](https://help.sap.com/docs/abap-cloud/abap-rap/operations?version=abap_cross_product). - -- Validations - - To define which consumers are allowed to read or change data of a business object. To check your data for consistency and against certain conditions based on business or process requirements, you can implement validations. A validation is implicitly invoked by the business object’s framework if a trigger condition of the validation is fulfilled. See [Validations](https://help.sap.com/docs/abap-cloud/abap-rap/validations?version=abap_cross_product). - -- Determinations - - To trigger modify operations based on trigger conditions, for example when another field is changed, you can implement determinations. A determination is implicitly invoked by the business object’s framework if the trigger condition of the determination is fulfilled. See [Determinations](https://help.sap.com/docs/abap-cloud/abap-rap/determinations?version=abap_cross_product). - - - - - - -## Develop Authorization Control - -You can define authorization checks for update operations like creates or custom operations like actions for a business object on global and instance level. For more information, see [Authorization Control](https://help.sap.com/docs/abap-cloud/abap-rap/authorization-control?version=abap_cross_product). - -If your service is to be consumed by other applications, you can define a privileged mode to allow consumers to circumvent authorization checks. For this the consumer must implement the respective checks in their authorization control implementation. For more information, see [RAP – with priviledged mode](https://help.sap.com/doc/abapdocu_cp_index_htm/CLOUD/en-US/index.htm?file=abenbdl_privileged_mode.htm). - - - - - -## Develop Concurrency Control - -Concurrency control prevents concurrent and interfering database access of different users. This ensures that data can only be changed if data consistency is assured. In RAP, you can either implement optimistic or pessimistic concurrency control: - -- Optimistic concurrency control relies on the concept that every change on a data set is logged by a specified ETag field. Most often, the ETag field contains a timestamp, a hash value, or any other versioning that precisely identifies the version of the data set. Optimistic concurrency control is only relevant when consuming business objects via OData. See[Optimistic Currency Control](https://help.sap.com/docs/abap-cloud/abap-rap/optimistic-concurrency-control?version=abap_cross_product). - -- Pessimistic concurrency control is done by exclusively locking data sets. The data set that is being modified by one user cannot be changed by another user at the same time. Technically, locking is ensured by using enqueue locks and global lock table entries. See [Pessimistic Concurrency Control \(Locking\)](https://help.sap.com/docs/abap-cloud/abap-rap/pessimistic-concurrency-control-locking?version=abap_cross_product). - - - - - - -## Develop User Interfaces - -UIs create an intuitive and user-friendly interface for users to interact with the business processes. In ABAP Cloud, SAP Fiori ensures a consistent user experience when developing UIs. SAP Fiori applications can be developed for OData services that are exposed as a UI service. SAP Fiori applications, following the SAP Fiori design principles, can be built using a combination of SAPUI5 and SAP Fiori elements. For more information on SAP Fiori Elements and SAPUI5, see [Developing Apps with SAP Fiori Elements](https://sapui5.hana.ondemand.com/#/topic/03265b0408e2432c9571d6b3feb6b1fd) and [SAPUI5](https://help.sap.com/docs/SAPUI5?version=External). - -While SAPUI5 is a development framework that allows you to build freestyle front-end applications, SAP Fiori elements is a framework that includes commonly used floor plan templates. - -SAP Fiori elements applications are generated based on domain-specific annotations that define the layout, data binding, and behavior of a UI. You can define the overall layout for standard floor plans, define labels, implement value helps or define navigation on the UI to just name a few examples. The rendering of the UI is then handled by SAP Fiori elements, which interprets the annotations to create the final user interface. - -Back-end features that are closely related to the UI like draft, feature control, and side effects: - -- Draft - - Applications with draft capabilities let users save their changes in the system and resume their work later, even on a different device, or after an unplanned shutdown. We recommend that you use a draft for your UI use cases to improve the user experience. RAP business objects need to be draft enabled. See [Draft](https://help.sap.com/docs/abap-cloud/abap-rap/draft?version=abap_cross_product). - -- Feature Control - - You can provide information on how data should be displayed for consumption in an SAP Fiori UI, for example if fields are mandatory or read-only. See [Feature Control](https://help.sap.com/docs/abap-cloud/abap-rap/feature-control?version=abap_cross_product). - -- Side Effects - - You can make a Fiori Elements UI aware that data changes of defined fields require the recalculation of other data values, permissions, or messages on the UI in case of UI scenarios based on draft-enabled RAP business objects. See [Side Effects](https://help.sap.com/docs/abap-cloud/abap-rap/side-effects?version=abap_cross_product). - - -For more information about UI development, see: - -- [SAP BTP, ABAP Environment UI Development](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/ui-development-overview) - -- [SAP Fiori Element Feature Showcase Application for the ABAP RESTful Application Programming Model](https://github.com/SAP-samples/abap-platform-fiori-feature-showcase) - - - - - - -## Develop Events or Include Reuse Services - -With RAP, you can implement asynchronous process integration using remote or local events. Events allow you to implement a publisher – subscriber pattern with different consumers. Reuse services offer general capabilities that are required by multiple services, applications and business areas. You can choose from a variety of reuse services that are ready-to-run, ranging from applications jobs over logging, forms, and emails up to change documents or the workflow. - -For more information, see [Business Events for Process Integration](https://help.sap.com/docs/btp/sap-abap-restful-application-programming-model/creating-rap-business-events?version=Cloud). - - - - - -## Define or Develop Extensions for a RAP Business Object - -RAP offers the possibility to develop semantically rich, upgrade-safe, and lifecycle-stable extensions for business objects. An original business object developed by an extensibility-enabler is extended with additional functionality to extend the functional scope of the original RAP business object. Using well-defined extension points enabled in the original business object, an extension provider can then extend the original data model and behavior in accordance with the business requirements or create their own business service based on a RAP business object interface. - -**** - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -Extensibility Use Case - - - -Extensibility Persona - - - -More Information - -
- -Data Model Extension - -Build full-stack data model extensions by adding new fields and associations including corresponding behavior characteristics and authorization control. - - - -Extensibility-Enabler - -Adds annotations and extension include structures to the original RAP business object to enable data model extensions. - - - -- For more information about enabling full-stack data extensibility, see [Extensibility-Enablement for CDS Data Model Extensions](https://help.sap.com/docs/abap-cloud/abap-rap/extensibility-enablement-for-cds-data-model-extensions?version=abap_cross_product). - -- For an implementation example, see [Enabling Data Model Extensions](https://help.sap.com/docs/abap-cloud/abap-rap/enabling-data-model-extensions?version=abap_cross_product). - - - - -
- -Extension Provider - -Extends the original RAP business object with new fields or associations including field characteristics depending on the options defined by the extensibility-enabler. - - - -- For more information about how to develop data model extensions, see [CDS Data Model Extensions](https://help.sap.com/docs/abap-cloud/abap-rap/cds-data-model-extensions?version=abap_cross_product). - -- For an implementation example, see [Develop Data Model Extensions](https://help.sap.com/docs/abap-cloud/abap-rap/develop-data-model-extensions?state=DRAFT&version=abap_cross_product). - - - - -
- -Behavior and Field-Related Behavior Extensions - -Build additional behavior like new validations, determinations, or actions including dynamic feature control and other field-related behavior. - - - -Extensibility-Enabler - -Enables data model extensibility and behavior extensibility on the original RAP business object. - - - -- For more information about enabling your business object for behavior extensions, see [Extensibility-Enablement for Behavior Extensions](https://help.sap.com/docs/abap-cloud/abap-rap/extensibility-enablement-for-behavior-extensions?version=abap_cross_product). - -- For an implementation example, see: - - - [Enabling Non-Standard Behavior and Field-Related Behavior](https://help.sap.com/docs/abap-cloud/abap-rap/enabling-non-standard-behavior-and-field-related-behavior?version=abap_cross_product) - - - [Enabling Standard Behavior Extensions](https://help.sap.com/docs/abap-cloud/abap-rap/enabling-standard-behavior-extensions?version=abap_cross_product) - - - - - -
- -Extension Provider - -Extends the original RAP business object with new validations, determinations, or actions depending on the options defined by the extensibility-enabler. - - - -- For more information about how to develop different behavior extensions, see [Behavior Extensions](https://help.sap.com/docs/abap-cloud/abap-rap/behavior-extensions?version=abap_cross_product). - -- For an implementation example, see [Develop Behavior Extensions](https://help.sap.com/docs/abap-cloud/abap-rap/develop-behavior-extensions?version=abap_cross_product). - - - - -
- -Node Extensibility - -Build additional business object nodes with own behavior and data model with node extensibility. - - - -Extensibility-Enabler - -Enables node extensibility on the original RAP business object. - - - -- For more information about node extensibility enabling, see [Extensibility-Enablement for Node Extensibility](https://help.sap.com/docs/abap-cloud/abap-rap/extensibility-enablement-for-node-extensibility?version=abap_cross_product). - -- For an implementation example, see [Enabling Node Extensions](https://help.sap.com/docs/abap-cloud/abap-rap/enabling-node-extensions?version=abap_cross_product). - - - - -
- -Extension Provider - -Extend the original business object with new nodes that have their own data model and behavior. - - - -For more information about how to develop node extension, see [Node Extensions](https://help.sap.com/docs/abap-cloud/abap-rap/node-extensions?version=abap_cross_product). - -
- - - -
- -## Develop Tests - - - -### Develop Unit Test for the Transactional Services - -You can use the CDS test double framework to implement unit tests for the data model of transactional Services. With the RAP business object test double framework, you can manage the dependencies in the RAP business object behavior implementation and develop unit tests for RAP business object behavior like actions or determinations. - -For an example, see: - -- [Developing Unit Tests for a CDS View](https://help.sap.com/docs/abap-cloud/abap-rap/developing-unit-tests-for-cds-view?version=abap_cross_product) - -- [Developing Unit Tests for a Behavior Implementation](https://help.sap.com/docs/abap-cloud/abap-rap/developing-unit-tests-for-behavior-implementation?version=abap_cross_product) - - - - -### Develop Integration Tests for Transactional Services - -With the OData Client Proxy and the RAP business object TDF, you can implement integration tests to test use cases via EML and OData, where multiple functional units are involved. Reading or creating instances from outside, for example, make use of the whole RAP application and involve dependent operations, such as determinations and validations. The Integration tests validate whether the interaction between the involved functional units works as expected. - -For an example, see: - -- [EML Integration Tests](https://help.sap.com/docs/abap-cloud/abap-rap/eml-integration-tests?version=abap_cross_product) - -- [OData Integration Tests](https://help.sap.com/docs/abap-cloud/abap-rap/odata-integration-tests?version=abap_cross_product) - - -For more information about the OData Client Proxy, see [OData Client Proxy-Consumption Types](https://help.sap.com/docs/btp/sap-business-technology-platform/client-proxy-instance-types?version=Cloud#consumption-types). - diff --git a/docs/develop-an-analytical-application-b845c85.md b/docs/develop-an-analytical-application-b845c85.md deleted file mode 100644 index 357488a..0000000 --- a/docs/develop-an-analytical-application-b845c85.md +++ /dev/null @@ -1,209 +0,0 @@ - - -# Develop an Analytical Application - -Embedded analytics allows you to build complex analytical data models to evaluate and analyze business data in your ABAP system. In embedded analytics, the ABAP analytical engine is part of the software stack and operates on the same data persistence as the transactional applications. The analytical queries operate directly on the business data without data replication to an external data warehouse system. Instead, the real-time business data is queried to always evaluate the most recent changes and trends in your business data. - -Analytical applications require a multidimensional data model that focuses on a minimal join depth and a semantically rich data model that is easy to understand. You can build multidimensional data models with: - -- **Dimensions** with master-data like information to provide the context for an analytical report. A typical example for a dimension is time or location information. - -- **Hierarchies** that allow you to navigate different data granularity levels in the different dimensions. An example for navigation a time dimensions would be a drill-down from year – to quarter – to month or vice versa. - -- **Cubes** that represent the multidimensional data model, consisting of different dimensions and measures. - -- **Analytical queries** that define the initial report layout that is displayed, select the initial data, and can calculate measures that weren’t included in the underlying cube. - - -![](images/Develop_an_Analytical_Application_a994982.png) - - - - - -## Calculate Measures and KPIs - -Calculating KPIs for forecasts or decision-making is an integral task for analytical reports. To calculate numeric fields like measures or KPIs you can aggregate data based on different rule sets, like, for example, sum or average. In ABAP Cloud, the standard aggregation behavior is summation \(SUM\), minimum \(MIN\), and maximum \(MAX\). - -These standard aggregations can be further refined on query level with calculated measures. To define additional calculations and queries for additional KPIs. With restricted measures, you can exclude certain values from the aggregation. This enables you to filter the measure result set based on conditions of your choice. - -For more information, see: - -- [Standard Aggregations](https://help.sap.com/docs/abap-cloud/abap-analytics/standard-aggregations?version=abap_cross_product) - -- [Calculated Measures](https://help.sap.com/docs/abap-cloud/abap-analytics/calculated-measures?version=abap_cross_product) - -- [Restricted Measures](https://help.sap.com/docs/abap-cloud/abap-analytics/restricted-measures?version=abap_cross_product) - - - - - - -## Define or Develop Extensions for Analytical Applications - -In an analytical data model, each part of the data model can be extended individually using predefined extension points in the original analytical data model. As extensibility-enabler, you can make your own analytical data models extensible. All parts of the analytical provider can be extended. You can, for example, add new dimensions to a cube to enhance the reporting depth or you can add additional hierarchies to enable additional navigation throughout the data set. The following graphics show you where analytical data models can be enabled for extensibility. - -**** - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -Extensibility Use Case - - - -Extensibility Tasks - -
- -Dimension Extension - -Add new hierarchies to a dimension or add new fields or associations to the dimension to diversify the data model. - - - -Extensibility-Enabler - -Add annotations and extension include structures to the original dimension to enable data model extensions like fields or associations. - -
- -Extension Provider - -- Add new hierarchy - - To extend a dimension with a new hierarchy, create a new hierarchy and add it as an association to the corresponding dimension. - -- Add new field extension - - Extend the original dimension with additional fields. - - - - -
- -Cube Extension - -Add new dimensions to a cube to extend the scope of the data analysis or add new measures to the cube to calculate additional values. - - - -Extensibility-Enabler - -Add annotations and extension include structures to the original data model to enable data model extensions, like fields or additional dimensions. - -
- -Extension Provider - -- Add new dimension - - To extend a cube with a new extension, create a new dimension, or use a predelivered SAP dimension and add it as an association to the corresponding dimension. - -- Add new field \(measure\) - - Extend the original cube with additional measures for new calculations. - - - - -
- -Analytical Query Extensions - -Add new numeric fields to the query to extend the scope of the data analysis. - - - -Extensibility-Enabler - -Add annotations and extension include structures to the original data model to enable data model extensions, like additional numeric fields for calculations in queries. - -
- -Extension Provider - -Add new fields to extend the scope of the data analysis. - -
- -Service Definition Extension - -Create a new UI based on a released query or extend the service definition to add new queries to a service definition. - - - -Extensibility-Enabler - -Enable the service definition for extensibility to add additional queries to a service. - -
- -Extension Provider - -- Create a custom UI based on a released UI to adapt the UI to your business requirements. - -- Add a new query to a service definition to extend the original service definition with additional queries. - - - - -
- - - -
- -## Develop Unit Test for the Analytical Applications - -You can use the CDS test double framework to implement unit tests for the multidimensional data model and the standard aggregations. For the analytical query, manual tests ensure that all additional calculations and measures work as expected. - -For an example, see [Developing Unit Tests for a CDS View](https://help.sap.com/docs/abap-cloud/abap-rap/developing-unit-tests-for-cds-view?version=abap_cross_product). - - - - - -## Develop UIs for Analytical Applications - -Analytical services use the Analytics Details annotations to specify the analytical query layout and to specific aggregation and planning behavior of the data. - -With the annotation `@AnalyticsDetails.query.axis:'’`, you can position the elements of a query on the different axis to define the basic layout for the report. - -For more information, see [AnalyticsDetails Annotations](https://help.sap.com/docs/abap-cloud/abap-rap/analyticsdetails-annotation?version=abap_cross_product). - diff --git a/docs/develop-an-integration-service-c079f33.md b/docs/develop-an-integration-service-c079f33.md deleted file mode 100644 index 20fb27c..0000000 --- a/docs/develop-an-integration-service-c079f33.md +++ /dev/null @@ -1,278 +0,0 @@ - - -# Develop an Integration Service - -Integration services allow you to create connections to other systems using different protocols. This enables seamless communication and data exchange between services and applications, as well as the ability to build end-to-end business processes across system boundaries. ABAP Cloud supports integration with various integration partners such as SAP cloud products, SAP BTP services, customer extensions, and external services. - -There are SAP-managed integration scenarios for out-of-the-box integration, for example, to integrate the SAP BTP, ABAP environment with other SAP products like SAP S/4HANA Cloud, public edition. In addition, you can expose and consume custom integration services to implement your own integration use cases. For an overview of SAP-managed integration scenarios, see [Overview of Communication Scenarios Managed by SAP](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/overview-of-communication-scenarios-managed-by-sap). - -The following sections focus on exposing and consuming custom integration services and event-based integration for process and data integration. - - - - - -## Process and Data Integration - -ABAP Cloud offers various possibilities to integrate with other systems using the OData, SOAP, HTTP, RFC, and SQL protocols. In addition, you can use the SAP Event Mesh to expose and consume business events: - -- Integration Services Exposure: The development model for exposing integration services depends on the respective protocol. OData, SQL, and business events interfaces can be created using the RAP programming model. The domain-specific logic of SOAP, HTTP, and RFC services is implemented with ABAP. - -- Integration Service Consumption: The consumption of services and events from other systems is simplified by using metadata to generate an Event Consumption Model or a Service Consumption Model. Service Consumption Models are available for OData, SOAP, RFC, and business events. For HTTP and RFC, you can define the consumption requests directly in ABAP. - - -![](images/Develop_an_Integration_Service_f020fb8.png) - -ABAP Cloud supports two main integration use cases: - -- Data Integration - - Addresses the data exchange between two or more communication partners without a relation to a business process. One of the main use cases for data integration is cross-system analytics. In data integration scenarios, the raw data is exchanged without leveraging the domain-specific logic. - -- Process Integration - - Structures the communication on app or service level along a predefined business process, for example, order-to-cash. For process integration, the implemented domain-specific logic for a service is considered. The communication between the communication partners for point-to-point integration is bidirectional, meaning that information is exchanged in both directions. There are both synchronous and asynchronous process integration patterns, for example, event-based integration follows an asynchronous approach. - - -ABAP Cloud offers several different protocols for integrations such as OData, SOAP, Remote Function Calls \(RFCs\), HTTP, SQL, and business events for asynchronous integration. This ensures compatibility between SAP products or third-party services which usually expose a functionality only via a dedicated protocol. The different protocols have different advantages depending on your use case. For example, business events for asynchronous communication require a dedicated integration pattern. - -For more information, see: - -- Develop Integration Services - -- Decide on Integration Use Case: a use case overview - -- Choose and Integration Protocol and Communication Pattern: a protocol and communication pattern overview - - - - - - -## Expose Integration Services - -ABAP Cloud enables the exposure of business services to other systems via inbound communication. To make an integration service externally available, you must: - -- Develop an integration service for process or data integration - - Create an integration service to process the incoming request and to create the response for the communication partner. - -- Set up communication management - - Prepare administrative setup for the administrator by creating, for example, a communication scenario. - - - - - - -## Develop Integration Services for Process Integration - -ABAP Cloud supports various protocols like HTTP, remote function calls or services published via service bindings, such as OData for process integration. - - - - - -## Develop OData Web APIs - -An OData API is an OData service whose metadata doesn't entail any UI-specific annotations that are defined for the data model. An OData API facilitates the exchange of business information between an application and any client. OData APIs are defined with the ABAP RESTful Application Programming Model. - -For more information, see [Develop Web APIs](https://help.sap.com/docs/abap-cloud/abap-rap/develop-web-apis?version=abap_cross_product). - - - - - -## Develop HTTP Services - -You can develop an HTTP service by creating an HTTP service object. The required handler class to handle the HTTP request is automatically created with the HTTP service object. The interface IF\_HTTP\_SERVICE\_EXTENSION with HTTP request/response parameters, enables you to build an HTTP service with full flexibility. - -For more information, see: - -- [HTTP Service Development](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/http-service-development) - -- [Working with the HTTP Service Editor \(ABAP Development Tools: User Guide\)](https://help.sap.com/docs/btp/sap-abap-development-user-guide/working-with-http-service-editor?version=Cloud) - - - - - - -## Develop RFC Services - -You can create an RFC service based on a remote-enabled functions module. You've full flexibility regarding the implementation details. - -For more information, see [RFC - Inbound Communication](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/inbound-communication-rfc). - - - - - -## Develop SQL Services for Data Integration - -You can access CDS view entities in an ABAP system using SQL and the open database connectivity \(ODBC\), a standard API for accessing databases. As a result, you can use SQL statements in external analytical tools to access data in database tables that reside in an ABAP system. - -For an example, see: - -- [Developing and Exposing an SQL Service in the ABAP System](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/developing-and-exposing-sql-service-in-abap-system) - -- [Exposing the SQL Service for Privileged Access](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/exposing-sql-service-for-privileged-access) - -- [Exposing the SQL Service for Business User Access](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/exposing-sql-service-for-business-user-access) - - - - - - -## Setting up the Communication Management for Inbound Communication - -You have to create a communication scenario with inbound services for the exposed endpoints of the communication partner. This enables the administrator of the system to set up the integration, for example, by creating credentials for the authentication of the communication partner and assigning corresponding authorizations to the communication user in the Communication Management applications. - -For more information, see [Consuming Services in the Context of API with Communication Users \(Inbound\)](https://help.sap.com/docs/btp/sap-abap-development-user-guide/consuming-services-in-ui?version=Cloud). - - - - - -## Consume Integration Services - -Not all data that is consumed in ABAP Cloud is read from the SAP HANA database. Instead, data can be consumed using outbound communication via many protocols from remote integration partners, both from cloud services and from the on-premise landscape. For outbound communication, you must: - -- Implement the business service consumption - - Create a proxy class to create the request and process the response by the communication partner. - -- Set up the communication management - - Prepare integration setup for the administrator by creating, for example, a communication scenario. - - - - - - -## Consume Services for Process Integration - -To simplify the implementation of a remote call, you can create a service consumption model for the external service. The service consumption model creates proxies for the remote service. That way, you can access the service in a strictly typed manner without the need to compile requests and parse responses. - - - - - -## Consume OData Services - -The OData client proxy is the interface between the client \(consumer of a service\) and the service implementation \(data provisioning\) in the OData service consumption in ABAP. The OData client proxy enables you to create an OData-typed proxy to run OData requests in your ABAP implementation. - -For more information, see [OData Services](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/odata-services). - - - - - -## Consume HTTP Services - -You can implement free-style integrations without generated proxies via the HTTP client library. - -For more information, see [Enable HTTP Communication in Your ABAP Code](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/enable-http-communication-in-your-abap-code). - - - - - -## Consume Remote Function Call Services - -You can generate a typed-proxy for calling one or more remote-enabled function modules \(RFMs\) using a service consumption model or directly use the `CALL FUNCTION...DESTINATION` statement. - -For more information, see: - -- [RFC](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/rfc) - -- [Generating Proxies for Remote Function Call \(RFC\)](https://help.sap.com/docs/btp/sap-abap-development-user-guide/generating-proxies-for-remote-function-call-rfc?version=Cloud) - - - - - - -## Consume SOAP Services - -You can generate a service consumption model that is based on a Web service description language \(WSDL\) file describing your service. - -For more information, see [SOAP](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/soap). - - - - - -## Consume SQL Services for Data Integration - -After installing the ODBC driver for ABAP, the SQL service and the ODBC driver can be used to provide data access from external ODBC-based clients. - -For more information, see [Consumption of the SQL Service and the ODBC Driver for ABAP](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/consumption-of-sql-service-and-odbc-driver-for-abap). - - - - - -## Set Up Communication Management for Outbound Services - -You've to create a communication scenario with outbound services for the endpoints of the communication partner. This enables the administrator of the system to set up the integration by maintaining the credentials for authentication at the communication partner in the Communication Management apps, see [Consuming Services in the Context of API with Communication Users \(Outbound\)](https://help.sap.com/docs/btp/sap-abap-development-user-guide/consuming-services-in-context-of-api-with-communication-users-outbound?version=Cloud). - -ABAP Cloud supports complex scenarios, where the relevant integration partner is determined at runtime \(receiver determination\). In these cases, the communication scenario can be set up multiple times in each tenant by the administrator. - - - - - -## Develop Event-Based Integration - -Event-driven architecture enables asynchronous communication between an event provider and an event consumer in use cases where no direct response from the event consumer is required. Events represent a significant change of state that is relevant for follow-up processes, for example, if a new travel is created and you want to enable consuming applications to trigger additional workflows. - -This chapter focuses on remote business events. Local business events are based on the same design time but are consumed using an event handler class that is set up as a class pool, similar to a behavior pool. For more information about consuming local events, see [Local Consumption](https://help.sap.com/docs/abap-cloud/abap-rap/business-event-consumption?version=abap_cross_product). - - - - - -## Expose Business Events - -The development of business events is natively integrated with the ABAP RESTful Application Programming Model. An event, that is defined in an RAP behavior definition, can be exposed to remote consumers by assigning an event binding. The event binding defines the topic of the event. - -The administrator can connect the system to an SAP Event Mesh instance and expose this event topic in the Maintain Event Channel Binding application. Potential integration partners can then consume this event topic from the Event Mesh. - -For more information, see: - -- [Business Events](https://help.sap.com/docs/abap-cloud/abap-rap/business-events?version=abap_cross_product) - -- [Develop Business Events](https://help.sap.com/docs/abap-cloud/abap-rap/develop-business-events?version=abap_cross_product) - -- [Checking Channel Binding](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/checking-channel-binding) - - - - - - -## Extend Business Events - -You can customize the payload of an event with derived events. A derived event is defined with reference to an already implemented event and allows the definition of a payload that deviates from one of the referenced business events. When the referenced event is raised, the derived event is raised as well, and the custom payload is applied. For more information, see [Derived Business Events](https://help.sap.com/docs/abap-cloud/abap-rap/derived-business-events). - - - - - -## Consume Business Events - -To consume events from other systems remotely, you can generate an Event Consumption Model based on the AsyncAPI metadata of the event. The Event Consumption Model generates a typed handler class to process the event. - -To simplify the tasks of the administrator, multiple Event Consumption Models can be bundled into a communication scenario. The administrator can then create a communication arrangement to link a channel to an SAP Event Mesh with a communication scenario so that the list of event types is processed by a communication user. - -For more information, see: - -- [Business Event Consumption](https://help.sap.com/docs/abap-cloud/abap-rap/business-event-consumption?version=abap_cross_product) - -- [Generating an Event Consumption Model](https://help.sap.com/docs/btp/sap-abap-development-user-guide/generating-event-consumption-model?version=Cloud) - - diff --git a/docs/develop-c8906e4.md b/docs/develop-c8906e4.md deleted file mode 100644 index 8a54cb1..0000000 --- a/docs/develop-c8906e4.md +++ /dev/null @@ -1,23 +0,0 @@ - - -# Develop - - - - - -## Develop Applications, Extensions and Services with ABAP Cloud - -You can develop new apps and services from scratch or extend existing SAP or custom services in an upgrade-safe way. To create a new app and services, you implement the domain-specific implementation including the respective data model and business logic according to the selected use case. All domain-specific data models based on [RAP architecture](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/development-business-configuration) blueprint bring extensibility as a built-in quality. Generally, extensibility is based on an opt-in approach, meaning that the original data model or service must be enabled for the different [extensibility use cases](https://help.sap.com/docs/abap-cloud/abap-rap/extend?version=sap_btp). - -See: - -- [Develop a Transactional Application](develop-a-transactional-application-373046e.md) - -- [Develop an Analytical Application](develop-an-analytical-application-b845c85.md) - -- [Develop an Integration Service](develop-an-integration-service-c079f33.md) - -- [Develop a Multitenant Application](develop-a-multitenant-application-3151e2a.md) - - diff --git a/docs/develop-the-user-interface-9f1d42e.md b/docs/develop-the-user-interface-9f1d42e.md deleted file mode 100644 index e62be2e..0000000 --- a/docs/develop-the-user-interface-9f1d42e.md +++ /dev/null @@ -1,66 +0,0 @@ - - -# Develop the User Interface - -There are three approaches to develop the UI using SAP Fiori: - -- Freestyle SAPUI5 - -- SAPUI5 with SAP Fiori elements - -- Freestyle SAPUI5 with flexible programming model - - - - - - -## Freestyle SAPUI5 - -This is the standard, pure SAPUI5 framework that you can use to freely develop your application user interface as you wish. If your development team has experienced web developers and would want to implement a custom UI layout for your application, using SAPUI5 freestyle you have complete flexibility about how the application can look and perform. You can also specify the layout, flow, menu structure, interaction patterns, and so on. To develop SAPUI5 applications freestyle, you can start with the [Basic template](https://help.sap.com/docs/SAP_FIORI_tools/17d50220bcd848aa854c9c182d65b699/14fdcc0a9d834090a07435cfef962b01.html) in SAP Business Application Studio. - -See [Developing Apps](https://ui5.sap.com/#/topic/23cfd955f58142389fa7c9097e11559c). - - - - - -## SAPUI5 with SAP Fiori Elements - -SAP Fiori elements is a UI library that uses SAPUI5 as its foundation. Its purpose is to scale application development and maintenance by providing substantial standard functionality out of the box, for example, editing business objects. It also relieves you from some tasks in the area of non-functional requirements such as accessibility, performance optimization etc. SAP Fiori elements provides [several standard templates](https://ui5.sap.com//#/topic/797c3239b2a9491fa137e4998fd76aa7) that determine the overall layout and behavior of an SAP Fiori application. SAP Fiori elements relies on OData metadata annotations to define what information is displayed within the floorplan of the application that is generated. The templates allow you to create SAP Fiori applications that follow the SAP Fiori design standards. While SAP Fiori elements supports both OData Version 4 and OData Version 2, we recommend that you use SAP Fiori elements floorplans for OData V4. It comes with an ISO certification and provides innovations like the [flexible programming model](https://ui5.sap.com/test-resources/sap/fe/core/fpmExplorer/index.html#/overview/introduction) which makes it easier to create or [extend](https://ui5.sap.com/test-resources/sap/fe/core/fpmExplorer/index.html#/customElements/customElementsOverview) applications based on SAP Fiori elements for OData V4. - -See [Developing Apps with SAP Fiori Elements](https://ui5.sap.com/#/topic/03265b0408e2432c9571d6b3feb6b1fd). - - - - - -## Freestyle SAPUI5 with Flexible Programming Model - -This approach is a hybrid in-between pure SAPUI5 and SAP Fiori elements. You can start with the Custom Page template in SAP Business Application Studio. The Custom Page template allows you to combine freestyle SAPUI5 code with [building blocks](https://ui5.sap.com/test-resources/sap/fe/core/fpmExplorer/index.html#/buildingBlocks/buildingBlockOverview). For example, if you want a table that works with OData V4 annotations and automatically behaves like the ones in SAP Fiori elements floorplans, you can use the corresponding building block. The building blocks are provided by the flexible programming model to meet specific application requirements without needing any code to configure what they display. - - - - - -## When to Use What - -To make the right decision out of these three options, it's important for you as an application developer to understand their features and limitations. The overall recommendation would be to use as much SAP Fiori elements as possible, as much SAPUI5 freestyle as needed. - -![](images/User_Interface_116cf74.png) - - - -### When UI Design Requirements Match SAP Fiori Elements Floorplans - -If the current and foreseeable application UI design requirements comply with SAP Fiori elements patterns, then use the available standard SAP Fiori elements floorplans. The flexible programming model provides more options to use SAP Fiori elements by allowing to add custom artifacts to the application via extension points. - - - -### When UI Design Requirements Don't Match Any SAP Fiori Elements Floorplans - -- You can flexibly implement a custom layout and content by combining SAPUI5 with building blocks from the flexible programming model. - -- If there's a benefit from using building blocks in a freestyle SAPUI5 application, there's an easy path to integrate the flexible programming model when needed by following the [three-step approach](https://ui5.sap.com/test-resources/sap/fe/core/fpmExplorer/index.html#/buildingBlocks/guidance/guidanceCustomApps). If OData V4 is used and relevant annotations are being maintained in the back end, then such a benefit probably exists: - - diff --git a/docs/development-guidance-cc37b7a.md b/docs/development-guidance-cc37b7a.md deleted file mode 100644 index 8e7d4d0..0000000 --- a/docs/development-guidance-cc37b7a.md +++ /dev/null @@ -1,24 +0,0 @@ - - -# Development Guidance - -In SAP BTP, you have the choice between several runtimes. If you want to run ABAP, you'll choose the [SAP BTP, ABAP environment](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/abap-environment). - -The non-ABAP runtime options are SAP BTP, Cloud Foundry runtime and SAP BTP, Kyma runtime. Both runtimes can be used to host and run your custom code, while at the same time being connected to SAP BTP Multi-Cloud Services and your on-premise systems. Depending on your use case and the skill set of your developers, choose the runtime that fits your needs. See [Comparison: SAP BTP, Kyma Runtime and SAP BTP, Cloud Foundry Runtime](https://help.sap.com/docs/btp/comparison-kyma-runtime-and-cloud-foundry-runtime/runtime-comparison?version=Cloud). - - - - - -## ABAP Cloud - -ABAP Cloud is designed to develop applications and services with a standardized architecture on an enterprise scale. The technological core of ABAP Cloud provides the frameworks, design time, and runtime architecture to develop and run ABAP Cloud applications, services, and extensions in all products that support ABAP Cloud with out-of-the-box qualities like scalability, multitenancy, extensibility, and upgrade stability. See [ABAP Cloud](abap-cloud-9aaaf65.md). - - - - - -## SAP Cloud Application Programming Model - -The SAP Cloud Application Programming Model \(CAP\) is a framework of languages, libraries, and tools for building enterprise-grade services and applications. It guides developers along a path of proven best practices and a great wealth of out-of-the-box solutions to recurring tasks. See [SAP Cloud Application Programming Model](sap-cloud-application-programming-model-696ec23.md). - diff --git a/docs/development-tools-48150e1.md b/docs/development-tools-48150e1.md deleted file mode 100644 index 5ca031f..0000000 --- a/docs/development-tools-48150e1.md +++ /dev/null @@ -1,235 +0,0 @@ - - -# Development Tools - -SAP BTP includes many tools to help you develop and manage applications, and connect them to your systems. The availability of tools can depend on the runtime that you are running on. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -Tool - - - -Used For - - - -Description - -
- -SAP BTP Cockpit - - - -Account administration in SAP BTP - - - -The SAP BTP cockpit is the web-based administration interface of SAP BTP and provides access to a number of functions for configuring and managing applications, services, and subaccounts. Use the cockpit to manage resources, services, security, monitor application metrics, and perform actions on cloud applications. - -
- -[ABAP Development Tools for Eclipse](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/eclipse-tool-for-abap-environment) - - - -Programming in ABAP - - - -The ABAP Development Tools for Eclipse enables you to perform ABAP-based development tasks, when you want to build, to extend, and to run ABAP Cloud applications. It supports features like syntax check, code completion, syntax highlighting, pretty printing, navigation, search, quick fixes. - -
- -[SAP Business Application Studio](https://help.sap.com/viewer/product/SAP%20Business%20Application%20Studio/Cloud/en-US) - - - -SAP Fiori development for ABAP and non-ABAP - -CAP full-stack application development - - - -Designed and optimized for business application development in SAP ecosystems, SAP Business Application Studio enhances productivity by offering specialized tools for various scenarios, including SAP Fiori application development, SAP HANA native extensions, full-stack and mobile application development, and more. - -Central to the development environment is Code-OSS, the open-source foundation of Visual Studio Code, ensuring a familiar experience for developers when creating SAP-centric applications. SAP Business Application Studio streamlines the building, testing, and deployment of applications with integrated features for source control and testing. Furthermore, its Full-Stack Application Productivity Toolkit offers intuitive visual tools covering the entire development process, guaranteeing seamless integration with various SAP services and solutions. - -
- -[SAP Build](https://help.sap.com/docs/SAP_BUILD) - - - -Low-code, no-code - - - -SAP Build enables everyone, no matter the skill level, to create and augment enterprise applications, process automations, and business sites with drag-and-drop simplicity. - -
- -[Command Line Interface for Cloud Foundry](https://help.sap.com/docs/btp/sap-business-technology-platform/org-administration-using-cloud-foundry-cli?version=Cloud) - - - -Managing subaccounts in the SAP BTP, Cloud Foundry runtime - - - -The Cloud Foundry command line interface enables you to work with the Cloud Foundry runtime to deploy and manage your applications. - -
- -[kubectl](https://kubernetes.io/docs/reference/kubectl/) - - - -Kubernetes tool connected with SAP BTP, Kyma runtime - - - -The Kubernetes command line tool to communicate with a Kubernetes cluster's control plane, using the Kubernetes API. - -
- -[kubelogin](https://github.com/int128/kubelogin) - - - -Kubernetes tool connected with SAP BTP, Kyma runtime - - - -A `kubectl` plugin for Kubernetes OpenID Connect \(OIDC\) authentication. - -
- -[Helm](https://helm.sh/) - - - -Kubernetes tool connected with SAP BTP, Kyma runtime - - - -The package manager for Kubernetes, used for installing and managing Kubernetes applications in form of Helm charts. - -
- -[Paketo \(Pack\)](https://buildpacks.io/docs/tools/pack/) - - - -Kubernetes tool connected with SAP BTP, Kyma runtime - - - -Pack is a tool maintained by the Cloud Native Buildpacks project to support the use of buildpacks. Pack lets you build container images, which are collaboratively maintained making it easier to maintain and update. - -
- -[Docker Desktop](https://docs.docker.com/desktop/) - - - -Kubernetes tool connected with SAP BTP, Kyma runtime - - - -Docker Desktop is an application that enables you to manage \(build, push, pull, and run\) container images on your desktop and a docker-compatible command line interface. - -
- -[SAP Cloud SDK](https://help.sap.com/viewer/p/SAP_CLOUD_SDK) - - - -Programming in Java and JavaScript - - - -SAP Cloud SDK provides a layer of abstractions for features of SAP BTP such as logging, multitenancy, and connectivity. It also includes project templates for different execution environments and implementations. - -
- -Service-Specific Tools - - - -  - - - -The services that run on SAP BTP can come with service-specific tools. For an overview of the services and their tools, see the [SAP Discovery Center](https://www.discovery-center.cloud.sap/protected/index.html#/serviceCatalog). - -
- diff --git a/docs/development-use-cases-4efd0bc.md b/docs/development-use-cases-4efd0bc.md deleted file mode 100644 index 06fbe20..0000000 --- a/docs/development-use-cases-4efd0bc.md +++ /dev/null @@ -1,76 +0,0 @@ - - -# Development Use Cases - - - -
- -## Typical Development Use Case Patterns - -The following use case patterns should always be implemented on the SAP BTP: - -- Automate processes across backend systems - - This pattern provides low code/no code capabilities to automate processes and is meant for business experts and developers. - -- Build web and mobile applications - - This pattern provides mobile-native and web development capabilities and is meant for business experts and developers. - -- Develop full-stack applications - - This pattern is meant for professional developers and has the following flavors: - - - Full-stack single-tenant applications - - This pattern is meant for customers and implementation partners enabling them to develop full-stack applications on SAP BTP. - - - Full-stack multitenant SaaS applications for partners that are independent software vendors - - This pattern is meant for SAP partners enabling them to develop full-stack SaaS applications on the SAP BTP and to distribute these applications to their customers. Partners can easily onboard multiple customers \(tenants\) onto a single application with strictly separated data. This approach dramatically reduces the total cost of ownership at cloud scale. - - - Hub scenario integrating with several ERP systems and/or cloud services - - This pattern provides a central hub on SAP BTP to collect and distribute data from various systems. - - - - - - - -## Extensibility Options - -Most development use cases address some sort of extension of SAP S/4HANA and SAP S/4HANA Cloud, public or private edition. Depending on the nature of the extension, different extensibility options are available. The extensibility options can be roughly divided into two categories: - -- On-stack extensibility - - A group of extensibility options that allows users to directly extend the software stack without any remote connection. The extensibility options are: - - - Key user extensibility - - - Developer extensibility - - - Classic extensibility: not recommended; it's available only in private cloud and on-premise setups. - - - For detailed explanation of the ABAP on-stack extensibility options, see [Extend SAP S/4HANA in the Cloud and On-Premise with ABAP-Based Extensions](https://www.sap.com/documents/2022/10/52e0cd9b-497e-0010-bca6-c68f7e60039b.html). - - In this document, you can also find decision tables when to use which extensibility option and how to combine these options in more complex scenarios. - -- Side-by-side extensibility - - An extensibility option that allows developers or key users to implement development projects, such as creating custom user interfaces or custom applications. The development projects are implemented on SAP BTP and integrated via released remote APIs. - - - - - - -## Building Transactional, Analytical Applications and Integration Scenarios with ABAP Cloud - -ABAP Cloud offers developers a programming model to design and implement transactional applications, analytical applications, and integration scenarios. Applications can be deployed as single tenant or multitenant SaaS applications. - -ABAP Cloud defines the technological core of the ABAP Cloud development model and consists of technologies such as ABAP, ABAP RESTful Application Programming Model \(RAP\) and Core Data Services, reuse services and libraries to implement the programming model aspects. Built-in qualities define the common quality characteristics that all ABAP Cloud implementations fulfil such as extensibility or identity and access management. - diff --git a/docs/from-concept-to-code-a5b8129.md b/docs/from-concept-to-code-a5b8129.md deleted file mode 100644 index 55c31d5..0000000 --- a/docs/from-concept-to-code-a5b8129.md +++ /dev/null @@ -1,376 +0,0 @@ - - -# From Concept to Code - -Before starting to implement an application on SAP BTP, it's better if you do some planning and research beforehand. - - - - - -## Identify the Business Problem - -A business problem represents a gap between the desired and actual outcome of a task. It can be any hurdle, situation, or variation that prevents a business from achieving its objectives. A business problem may not have an immediately obvious resolution, and may be masked or hidden by perception and assumption. To define a true problem, you need to remove the factors that obscure the real reason behind the problem. - -To solve a problem for an internal or an external customer when using a product, you need to ask questions that can help you understand the customer’s needs, expectations, pain points, and feedback. Some examples of such questions are: - -- What are the tasks that customers are trying to achieve with a product? - -- How do the customers use the product in their daily workflow? - -- What are the main challenges or frustrations that the customers face when the product? - -- How can you improve the product to better serve the customers' needs? - -- How satisfied are the customers with the product and the customer service? - -- What are the benefits or value that the customers get from the product? - -- How do the customers measure the success or impact of the product on their goals? - - - - - - -## Deliver a Cloud Application from Concept to a Final Product - -The columns in the following graphic show for which use cases using a well-modularized architecture suits best, what is the motivation, the steps and the benefits. - -This image is interactive. Hover over the image and click the highlighted areas so you are placed in the respective cell in the table. - -![](images/Well-Modularized_Architecture_53b6d43.png) - - - -### Context - -Let's assume the following scenario: you and your team are tasked to deliver a multitenant application on SAP BTP or SAP S/4HANA Cloud Public Edition and you want to base the application either on SAP Cloud Application Programming Model \(CAP\) or on ABAP Cloud. - - - -### Trigger - -Use the following triggers as a motivation to engage in sophisticated design process: - -- Renovating, evolving or reimplementing an existing solution - - This involves transforming a legacy system into a modern, more efficient and scalable solution. Legacy systems often pose difficulties in terms of maintainability, integration with newer technologies, and can be a bottleneck for a business's growth. This transformation process could involve refactoring code, adopting new architecture patterns like microservices, or completely reimplementing the software with a new technology stack. - -- Designing a new Software-as-a-Service solution based on microservices - - Software-as-a-Service is a model where software is provided over the internet on a subscription basis. When designing a new Software-as-a-Service solution based on microservices, the system is decomposed into a collection of services that are independently deployable, scalable, and can be developed by different teams. Each microservice corresponds to a specific business capability and can be developed, deployed and scaled independently. This architectural style promotes flexibility and scalability, and it can speed up the development process by enabling parallel development across teams. It's important to design these services around the business capabilities. - -- Considering more asynchronous behavior and event-sourced applications - - Asynchronous behavior in an application refers to operations that can be executed independently and don't block the flow of the program. This makes the application more responsive and can improve system-wide performance. Event sourcing is an architectural pattern that stores changes to the application state as a sequence of events, rather than just storing the current state. This can provide a full audit trail, simplify debugging by allowing the state of an application at any point in time to be recreated, and can facilitate asynchronous, message-driven architectures. By integrating these into the system, it can enhance the system's scalability and reliability. - -- Designing a Software-as-a-Service application on SAP BTP - - When designing a Software-as-a-Service application on SAP BTP, the application is built to be delivered over the internet and leverages the services provided by SAP BTP. This can include data storage services, AI and machine learning capabilities, analytics and more. Using such a platform can speed up development time, as many of the underlying infrastructure considerations and services are taken care of by the platform. - - - - -### Steps - -Follow these steps to ensure smooth implementation of your application: - -1. Understand the business domain. - - Understanding the business domain is of the utmost importance. The business domain refers to the area of expertise or business that a software solution is intended to support. This understanding includes the business's processes, rules, norms, and intrinsic challenges. This knowledge forms the basis of the model that the software will encapsulate. Developers should work closely with domain experts to ensure that the software accurately reflects the real-world domain, with all its complexity and nuance. A thorough understanding of the business domain will help in creating software that is useful, flexible, and capable of evolving alongside the business. - -2. Identify the required modules. - - Identifying the required modules means breaking down the overall system into smaller, manageable, and functionally cohesive units. Each module is designed to encapsulate a specific portion of the domain model and is typically aligned with a specific sub-domain or business capability. By identifying the modules, developers can ensure separation of concerns and make the system more maintainable. Each module should be able to operate independently, reducing dependencies and allowing for parallel development and easier testing. - -3. Define the communication between the modules. - - Once the modules are identified, the next step is to define how they will interact with each other. This involves establishing interfaces, contracts, or APIs for communication. This is often guided by the concept of context mapping, which helps to define the relationships and interactions between different related contexts. Communication between modules should be carefully managed to preserve the autonomy of the modules. The communication could be synchronous or asynchronous, and could be based on various patterns like request/response, events, or commands. - -4. Plan the implementation. - - After you have an understanding of the business domain, have identified the required modules, and defined how they will communicate, the next step is to plan the implementation. This is the moment where you decide which technologies, patterns, and practices to use to build each module. This can include selecting the programming languages, databases, message brokers, and other tools that will be used. It also involves choosing the architectural patterns \(like layered architecture, hexagonal architecture, or microservices\) and design patterns that will be applied. The implementation should be guided by the principles of the domain model, encapsulating the business logic in entities, value objects, aggregates, and domain events. Additionally, the implementation should consider non-functional requirements like scalability, performance, security, and maintainability. - - - - -### Value - -If you follow the steps mentioned in the previous section, you will achieve the following benefits: - -- Well-modularized architecture. - - In the context of software development, a well-modularized architecture refers to the design of a system where the different functionalities and responsibilities are partitioned into distinct modules. Each module encapsulates a specific subset of the system's behavior and can be developed, tested, and maintained independently of the others. Modules are often designed to be loosely coupled, meaning that they interact with each other through well-defined interfaces, but their internals are hidden from each other. This encapsulation increases the maintainability of the system because changes inside one module don't impact the others. It also improves the scalability of the system, as individual modules can be scaled up or down based on their individual requirements. Finally, modularization can increase the speed of development because different teams can work on different modules at the same time without interfering with each other. - -- Higher likelihood to delivery value to your customers. - - The focus is on understanding the business domain and creating a software model that reflects and serves that domain. By aligning the software closely with the business needs, there's a higher likelihood of delivering value to the customer. This comes from a deep understanding of the business, its rules, and its needs. This understanding guides the software development process, ensuring that the software solves the right problems and provides the features that the business actually needs. As a result, the software is more likely to be valuable to the end users, who are the ones interacting with the business domain on a daily basis. - -- Better decomposition that would lead to shorter innovation cycles and clearer focus. - - Decomposition in software design is the process of breaking down a complex system into smaller, manageable parts or components. Better decomposition, often achieved through practices like domain-driven design and microservices architecture, allows for clearer focus on individual parts of the system and can lead to shorter innovation cycles. With a well-decomposed system, teams can focus on specific components or services, understand them thoroughly, and make improvements or innovations without having to understand the entire system. This can significantly shorten the time it takes to go from an idea to a working feature, because changes are localized to specific parts of the system and don't require broad, system-wide understanding or modifications. Moreover, better decomposition can lead to clearer focus because each component or service can be designed around a specific business capability or domain concept. This allows the team working on that component to focus on the specific business problems and user needs related to that capability or concept, rather than being distracted by other parts of the system. This kind of focus can lead to better solutions and more valuable software. - - - - - - -## Understand Modularization in General - -Modularization is a general programming concept where you separate program functions into independent pieces, called modules. These modules then act like building blocks, with each block containing all the necessary parts to execute a piece of the functionality. When the modules are put together, they make up the executable program. - -A modular code is: - -- **Easier to maintain** - - It's easier to read, understand, debug, and modify code that is modularized. It also reduces the risk of introducing errors or conflicts when changing or adding new features. A good modularization also enables reuse of existing modules across different products, which saves time and effort. - -- **Easier to test** - - Each module can be tested individually and independently from the rest of the system. This also facilitates automated testing and continuous integration, which improve the quality and reliability of the software product. - -- **Easier to scale** - - Each module can be deployed, updated, or replaced separately, without affecting the whole system. This also allows for parallel development and faster delivery of new features or bug fixes. A good modularization also supports distributed and cloud-based architectures, which enhance the performance and availability of the software product. - -- **More reliable** - - Each module has a clear and well-defined interface and responsibility. This also reduces the coupling and dependency between modules, which minimizes the impact of failures or errors in one module on the rest of the system. A good modularization also enables fault tolerance and recovery mechanisms, which improve the resilience and robustness of the software product. - -- **More adaptable** - - Each module can be easily modified or extended to meet changing requirements or customer needs. This also increases the flexibility and diversity of the software product, as different modules can be combined or configured in various ways. - -- **Easier to evolve** - - Each module can be evolved independently or collaboratively, without affecting the overall functionality. This also promotes innovation and creativity, as new modules can be created or reused to generate novel solutions or features. - - - - - - -## Understand Modularization in the Context of Microservice-Based Architecture - -The right modularization is very important in the context of microservices, because microservices are essentially a form of modular software development. Microservices aim to create small, focused, and independent services that communicate through well-defined interfaces and protocols. Each service is responsible for a specific functionality or domain, and can be developed, deployed, and scaled independently from other services. This way, microservices enable a high degree of modularity, flexibility, and agility in software development. - -However, not all modularizations are equally effective or beneficial for microservices. A poor modularization can lead to problems such as: - -- **High coupling and low cohesion** - - If the services are not well-defined and separated, they may depend on each other too much, or have too many responsibilities. This can result in tight coupling between services, which makes them hard to change, test, or reuse. It can also result in low cohesion within services, which makes them complex, inconsistent, or redundant. High coupling and low cohesion reduce the maintainability, testability, and reliability of microservices. - -- **Service sprawl and fragmentation** - - If the services are too fine-grained and numerous, they may become difficult to manage, monitor, and coordinate. This can result in service sprawl, which increases the operational complexity and overhead of microservices. It can also result in service fragmentation, which reduces the performance and availability of microservices. Service sprawl and fragmentation reduce the scalability and adaptability of microservices. - -- **Lack of alignment and consistency** - - If the services are not aligned with the business domain and goals, they may not deliver the expected value or quality. This can result in lack of alignment, which reduces the relevance and effectiveness of microservices. It can also result in lack of consistency, which reduces the usability and interoperability of microservices. Lack of alignment and consistency reduce the evolution and innovation of microservices. - - -The right modularization is essential if you want to benefit from using microservices. For example: - -- **Maintain modules easily** - - The right modularization helps you create simple, consistent, and reusable services that are easy to read, understand, debug, and modify. It also enables the isolation and decoupling of services, which reduces the risk of errors or conflicts when changing or adding new features. - -- **Test each service individually and independently from the rest of the system** - - The right modularization enables you to use automated testing and continuous integration, which improve the quality and reliability of the software product. - -- **Deploy, update, or replace each service separately, without affecting the whole system** - - The right modularization supports distributed and cloud-based architectures, which enhance the performance and availability of the software product. - -- **Have clear and well-defined interface and responsibility of each service** - - The right modularization reduces the coupling and dependency between services, which minimize the impact of failures or errors in one service on the rest of the system. It also enables fault tolerance and recovery mechanisms, which improve the resilience and robustness of the software product. - -- **Modify or extend each service to meet changing requirements or customer needs** - - The right modularization increases the flexibility and diversity of the software product, as different services can be combined or configured in various ways. - -- **Evolve each service independently or collaboratively, without affecting the overall system functionality** - - The right modularization promotes innovation and creativity, as new services can be created or reused to generate novel solutions or features. - - - - - - -## Learn Why Domain-Driven Design Is an Adequate Approach - -Domain-driven design is a major software design approach, focusing on modeling software to match a domain according to input from that domain's experts. Under domain-driven design, the structure and language of software code \(class names, class methods, class variables\) should match the business domain. - -Domain-driven design helps achieving the traits of a good modularization by: - -- **Placing the project's primary focus on the core domain and domain logic** - - Domain-driven design emphasizes close collaboration between domain experts and developers to create software that accurately models the problem domain. By focusing on the domain's core concepts, relationships, and behavior, domain-driven design enables you to create more robust, flexible, and maintainable systems. - -- **Building complex designs on the model of the domain** - - Domain-driven design helps you to define the boundaries of each module by identifying the core concepts, aggregates, and their associated business logic. This enables teams to develop and maintain these modules independently, promoting scalability and modularization within the overall system. - -- **Initiating a creative collaboration between technical and domain experts to iteratively refine a conceptual model that addresses particular domain problems** - - Domain-driven design fosters a common language shared by domain experts, users, and developers: the ubiquitous language. The ubiquitous language is used in the domain model and for describing system requirements. This enhances the communication and understanding among the stakeholders, and facilitates the adaptation and evolution of the software product. - - - - - - -## Learn About the Domain-Driven Design Starter Modeling Process - -The domain-driven design starter modeling process is a process for learning and applying domain-driven design in practice. It covers eight steps from aligning with the business model to coding the domain model. It is flexible and iterative, and suitable for beginners who want to master domain-driven design. See the [Domain-Driven Design Starter Modeling Process](https://github.com/ddd-crew/ddd-starter-modelling-process) GitHub repository that is part of the [Domain-Driven Design Crew](https://github.com/ddd-crew) GitHub organization. - - - - - -## Check How Complex Your Scenario Is - -Check which requirements your scenario has and sum up the points for the respective requirement. If your score above is 7 or higher, you should evaluate how to leverage the concept and tools of the domain-driven design in your project. - -We also recommend that you follow the domain-driven design modeling process. - -See [Domain-Driven Design Starter Modeling Process](https://github.com/ddd-crew/ddd-starter-modelling-process). - -**** - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -Scenario Requirements - - - -Points - - - -Comments - -
- -For applications that work with the four functions: create, read, update, delete \(CRUD\), and only perform simple database queries, no special design is required. A simple database tool with a user interface is enough. - - - -0 - - - -A simple application does have the complexity to benefit elaborated design methods. - -
- -You have a simple application if it has up to 30 use cases. You can build it with a CAP application that works with the four functions: create, read, update, delete \(CRUD\). - - - -1 - - - -Just for reference, this means your application does not have more than 30 functions. - -
- -Your application has between 30 and 40 use cases. - - - -2 - - - -Make sure you don't underestimate any hidden complexities. - -However, having many methods or functions doesn't always mean high complexity. They might be simple and well-structured. It's when a class or module has many responsibilities, indicated by methods or functions that perform widely varying tasks, that complexity becomes a challenge. - -
- -Your application may not be complex now, but it could grow later. - - - -3 - - - -Talk to domain experts to discuss the complexity of your application. The complexity increases with the number of features that the stakeholders need. - -
- -Your application will change a lot over time, and you don’t know what kind of changes will happen. - - - -4 - - - -You require a sophisticated design method to manage the complexity of refactoring your model over time. - -
- -You are building an application in a new and exciting domain that nobody has done before. This means it could be complex and challenging. - - - -5 - - - -You need to collaborate with domain experts and try different models to make your application work. - -
- -**Related Information** - - -[Domain-Driven Design Crew GitHub Organization](https://github.com/ddd-crew) - -[Domain-Driven Design Community at SAP](https://github.com/SAP/curated-resources-for-domain-driven-design) - diff --git a/docs/images/ABAP_Cloud_-_the_Big_Picture_5d4a7c9.png b/docs/images/ABAP_Cloud_-_the_Big_Picture_5d4a7c9.png deleted file mode 100644 index 25a0badb731ff58099dfd73594f8772dc95a7145..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33741 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 V5UMDz0f{{a!9Cg1=7 diff --git a/docs/images/CAP_Overview_7e017ac.png b/docs/images/CAP_Overview_7e017ac.png deleted file mode 100644 index 5f5c0a55b7833ad2c3eaf9bb8a21672085376bc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20964 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 BaXSD2 diff --git a/docs/images/Deploy_a_CAP_Application_in_the_Kyma_Runtime_d3a3414.png b/docs/images/Deploy_a_CAP_Application_in_the_Kyma_Runtime_d3a3414.png deleted file mode 100644 index 146dd3ec61ff88fe5ca5ea71585f9496707b93bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15770 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 diff --git a/docs/images/Design_a_Transactional_Application_d715f00.png b/docs/images/Design_a_Transactional_Application_d715f00.png deleted file mode 100644 index 94a53a5b40d2621e4dcc1341cf25a92ede8ce795..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29832 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

xJl72E!(@>Z1+&Z30Sfw@d$h)BX1; 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

0KBOM81+d~Lso)iX}ZFKI1vc#!kBZR{AQ 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 IgmiuX7Xe(EKmY&$ diff --git a/docs/images/User_Interface_116cf74.png b/docs/images/User_Interface_116cf74.png deleted file mode 100644 index fa7ae25759950d65f1b136b6cae8ae3bffc387c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17699 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 ~ezN?tPt4s>hL0GkHj%?&L588 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

FBR4FHsv{kf5p-PQd%amdpdk&D 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 diff --git a/docs/index.md b/docs/index.md deleted file mode 100644 index 6c42401..0000000 --- a/docs/index.md +++ /dev/null @@ -1,37 +0,0 @@ -# SAP BTP Developer's Guide - -- [What Is SAP BTP Developer’s Guide?](what-is-sap-btp-developer-s-guide-ba26ec4.md) -- [What's New for SAP BTP Developer's Guide](what-s-new-for-sap-btp-developer-s-guide-7cf7a39.md) -- [Development Use Cases](development-use-cases-4efd0bc.md) -- [From Concept to Code](from-concept-to-code-a5b8129.md) -- [Related Hands-On Experience](related-hands-on-experience-7fa228f.md) - - [Tutorials for ABAP Cloud](tutorials-for-abap-cloud-fd87aaa.md) - - [Tutorials for SAP Cloud Application Programming Model](tutorials-for-sap-cloud-application-programming-model-eb7420a.md) -- [Building Blocks](building-blocks-03139be.md) - - [Business Application Services](business-application-services-f3641a5.md) - - [Basic Platform Setup](basic-platform-setup-3b774f8.md) - - [Software Development and Delivery](software-development-and-delivery-511cac8.md) - - [Development Tools](development-tools-48150e1.md) - - [Automated SAP BTP Instrastructure Setup](automated-sap-btp-instrastructure-setup-6dd97e1.md) - - [Operate with SAP Cloud ALM](operate-with-sap-cloud-alm-f7f2977.md) -- [Development Guidance](development-guidance-cc37b7a.md) - - [ABAP Cloud](abap-cloud-9aaaf65.md) - - [Design](design-314ae3e.md) - - [Design a Transactional Application](design-a-transactional-application-608432c.md) - - [Design an Analytical Application](design-an-analytical-application-8819cb7.md) - - [Design an Integration Service](design-an-integration-service-ec2ac31.md) - - [Design a Multitenant Application](design-a-multitenant-application-1ac614d.md) - - [Develop](develop-c8906e4.md) - - [Develop a Transactional Application](develop-a-transactional-application-373046e.md) - - [Develop an Analytical Application](develop-an-analytical-application-b845c85.md) - - [Develop an Integration Service](develop-an-integration-service-c079f33.md) - - [Develop a Multitenant Application](develop-a-multitenant-application-3151e2a.md) - - [Deploy](deploy-d7aec3c.md) - - [SAP Cloud Application Programming Model](sap-cloud-application-programming-model-696ec23.md) - - [Design](design-dcdc2d9.md) - - [Develop](develop-58df1d6.md) - - [Develop the User Interface](develop-the-user-interface-9f1d42e.md) - - [Deploy](deploy-45d5acf.md) - - [Continuous Integration and Continuous Delivery](continuous-integration-and-continuous-delivery-d973132.md) - - [Operate](operate-34065a4.md) - diff --git a/docs/operate-34065a4.md b/docs/operate-34065a4.md deleted file mode 100644 index 6e09155..0000000 --- a/docs/operate-34065a4.md +++ /dev/null @@ -1,32 +0,0 @@ - - -# Operate - -When you seek for fully-detailed observability data of your application, your can use the SAP Cloud Logging service. SAP Cloud Logging allows you to get detailed capture of logs, metrics, and traces that can be used to analyze functional and performance problems on a deeper technical detail. - -SAP Cloud Logging can be flexibly consumed via the CPEA model where costs are charged exactly along the actual usage. See [SAP Cloud Logging in the Service Catalog](https://discovery-center.cloud.sap/index.html#/serviceCatalog/cloud-logging) in SAP Discovery Center. - -SAP Cloud Logging allows you to analyze your SAP BTP workloads in great detail regarding performance, errors, usage, and other characteristics. - -Key capabilities of SAP Cloud Logging include: - -- Ingestion, storage, and analysis of application logs, metrics, and traces - -- Ingestion from SAP BTP, Cloud Foundry runtime and SAP BTP, Kyma runtime and across multiple applications via Open Telemetry or other protocols - -- Dashboards for interactive exploration, including tailored pre-built content for SAP BTP, Cloud Foundry runtime and SAP BTP, Kyma runtime - -- Advanced analytics and data processing, such as alerting and anomaly detection - -- Configurable data retention management - -- Fine-grained access and content management - - -**Related Information** - - -[Product Page on SAP Help Portal](https://help.sap.com/docs/cloud-logging) - -[What Is SAP Cloud Logging?](https://help.sap.com/docs/cloud-logging/cloud-logging/what-is-sap-cloud-logging?version=Cloud) - diff --git a/docs/operate-with-sap-cloud-alm-f7f2977.md b/docs/operate-with-sap-cloud-alm-f7f2977.md deleted file mode 100644 index b650b42..0000000 --- a/docs/operate-with-sap-cloud-alm-f7f2977.md +++ /dev/null @@ -1,47 +0,0 @@ - - -# Operate with SAP Cloud ALM - -SAP Cloud ALM, where ALM stands for application lifecycle management, is included in your SAP Cloud Service subscription containing Enterprise Support, cloud editions, in SAP Enterprise Support and in Product Support for Large Enterprises. - -SAP Cloud ALM helps you to implement and operate intelligent cloud and hybrid business solutions. You benefit from an out-of-the-box, native cloud solution running on SAP BTP, designed as the central entry point to manage your complete SAP landscape with content-driven guided implementation and highly automated operations. - -With the operations solutions in SAP Cloud ALM, you can handle both SAP BTP-based SaaS applications and your own applications. - -SAP Cloud ALM for operations provides a personalized and unified operations user experience. You can use purpose-driven different monitoring, analysis, and management use cases optimized for certain operations aspects. SAP Cloud ALM for operations empowers you to understand the health of your SAP business solutions and acts as collaboration platform between lines of business and IT. - -Under [Supported Solutions](https://help.sap.com/docs/cloud-alm/setup-administration/supported-solutions), you see which monitoring capabilities are available with SAP Cloud ALM. Under *SAP Solution*, filter for SAP BTP and check the supported services from the operations area. - -Benefit from the powerful *Intelligent Event Processing*, embedded analytics, and intelligence functionality with a large variety of inbound and outbound integration. *Synthetic User Monitoring* monitors the performance and availability of web applications from a client-side perspective based on Selenium-based scripts. *Business Service Management* consolidates all operational events at business service level and shows them in a well-arranged event calendar. - -Specifically for Java and Node.js custom-built applications in SAP BTP, Cloud Foundry runtime, there are the Data Collection Instrumentation Libraries based on Open Telemetry designed to enable the data collection infrastructure in SAP Cloud ALM. With these libraries, you can collect data for the following use cases: - -- *Real User Monitoring*: Leverage both front-end and back-end measurements on single request level. - -- *Health Monitoring*: Gain insights on application health based on technical metrics. - -- *Integration and Exception Monitoring*: Collect and react on exceptions raised by the application. - -- *Job and Automation Monitoring*: Monitor SAP Job Scheduling Service jobs. - - -SAP Cloud ALM is the central place to integrate and access the monitoring of your existing IT service management processes, such as ticketing systems. - -Inbound and outbound APIs enable you to integrate data from your own applications. For more information, see the [API Guide for SAP Cloud ALM](https://help.sap.com/docs/cloud-alm/apis/api-reference). - -![](images/SAPCloudALM_operations_d378eed.png) - - - - - -## More - -- [Implement SAP Cloud ALM](https://help.sap.com/docs/cloud-alm/setup-administration/provisioning) via SAP for Me - -- Application help for [SAP Cloud ALM for Operations](https://help.sap.com/docs/cloud-alm/applicationhelp/operations) - -- [SAP Cloud ALM for operations](https://support.sap.com/en/alm/sap-cloud-alm/operations.html) \(SAP Support Portal\) -- [Expert Portal for SAP Cloud ALM Operations](https://support.sap.com/en/alm/sap-cloud-alm/operations/expert-portal.html) \(SAP Support Portal\), with detailed configuration instructions - - diff --git a/docs/related-hands-on-experience-7fa228f.md b/docs/related-hands-on-experience-7fa228f.md deleted file mode 100644 index 417677e..0000000 --- a/docs/related-hands-on-experience-7fa228f.md +++ /dev/null @@ -1,65 +0,0 @@ - - -# Related Hands-On Experience - -You can benefit from the comprehensive development guidance provided in the SAP BTP Developer’s Guide. This guidance serves as a roadmap, helping you navigate through the complexities of the development process. It offers detailed instructions, best practices, and recommendations that can enhance your proficiency and efficiency as a developer. By following this guidance, you can avoid common pitfalls, streamline your workflow, and produce higher quality code. Furthermore, it can assist in fostering a better understanding of the underlying principles and methodologies, thus elevating your overall skill set and knowledge base. - -In addition to the development guidance, there are also sample applications that together can serve as a practical learning tool. These applications are designed to demonstrate the implementation of the recommendations in real-world business scenarios. By studying these sample applications, you can see firsthand how the guidance can be applied and what the outcomes look like. They provide tangible examples that bridge theory and practice, making it easier for you to grasp and apply the concepts. This hands-on approach not only supplements your learning experience but also prepares you better for your own development projects. - - - - - -## Hands-On Experience for ABAP Cloud - -The ABAP Cloud best practices are documented in the form of step-by-step tutorials for learning how to develop and deploy full-stack transactional and analytical applications using the ABAP RESTful Application Programming Model \(RAP\) and embedded analytics. - -The exercises are based on the Travel example of the [Flight Reference Scenario](https://github.com/SAP-samples/abap-platform-refscen-flight). - - - - - -## Hands-On Experience for SAP Cloud Application Programming Model - -The Incident Management sample application is a showcase of the SAP Cloud Application Programming Model \(CAP\) and adheres to the development recommendations set out in the SAP BTP Developer’s Guide. Best practices are documented in step-by-step tutorials based on the Incident Management application for learning how to develop, deploy, and operate a full-stack application using CAP and SAP Fiori. The tutorials also show how to use a set of important SAP BTP services in a CAP application. - -When going through the sample application, you can choose from two options to try its services and runtimes before you purchase them: - -- Free tier for SAP BTP is best for productive projects: - - - Access a productive account - - - Start with more than 30 free-tier services and upgrade from free to paid plans - - - Accelerate your ramp-up with boosters and missions that include step-by-step guidance - - - The free-tier offering is available for CPEA \(Cloud Platform Enterprise Agreement\) and Pay-As-You-Go for SAP BTP accounts. See [Using Free Service Plans](https://help.sap.com/docs/btp/sap-business-technology-platform/using-free-service-plans). - -- SAP BTP trial is best for learning purposes: - - - Gain instant and full access to a trial environment - - - Experiment with a diverse range of more than 30 trial services for free - - - Get started with a variety of learning materials, such as tutorials and missions - - - See [Start your free 90-days trial](https://www.sap.com/registration/trial.908cb719-0e03-421c-a091-daca045f0acc.html). - - -Before you start using the services or runtimes, you need to manage your entitlements and add quotas to your subaccounts. See [Entitlements and Quotas](https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/00aa2c23479d42568b18882b1ca90d79.html "When you purchase an enterprise account, you’re entitled to use a specific set of resources, such as the amount of memory that can be allocated to your applications.") :arrow_upper_right:. - -Note that if you want to try out services for free, you need to select free tier service plans, if available. For a list of free services, check the Service Catalog at [SAP Discovery Center](https://discovery-center.cloud.sap/servicessearch/Free%20Tier/). - -> ### Note: -> There is also a free plan for the SAP BTP, Cloud Foundry runtime and SAP BTP, Kyma runtime. To use the free plans for these runtimes, you have to configure the entitlements in the SAP BTP cockpit. You have one free plan for each runtime per global account and you can assign it to one subaccount at a time. - -**Related Information** - - -[Tutorials for ABAP Cloud](tutorials-for-abap-cloud-fd87aaa.md "") - -[Tutorials for SAP Cloud Application Programming Model](tutorials-for-sap-cloud-application-programming-model-eb7420a.md "") - diff --git a/docs/sap-cloud-application-programming-model-696ec23.md b/docs/sap-cloud-application-programming-model-696ec23.md deleted file mode 100644 index 22ee932..0000000 --- a/docs/sap-cloud-application-programming-model-696ec23.md +++ /dev/null @@ -1,44 +0,0 @@ - - -# SAP Cloud Application Programming Model - - - - - -## Overview - -The SAP Cloud Application Programming Model \(CAP\) is a framework of languages, libraries, and tools for building enterprise-grade services and applications. It guides developers along a path of proven best practices and a great wealth of out-of-the-box solutions to recurring tasks. - -CAP-based projects benefit from a primary focus on domain. Instead of delving into overly technical disciplines, CAP focuses on accelerated development and safeguarding investments in a world of rapidly changing cloud technologies. - -The following graphic shows that the CAP framework features a mix of proven and broadly adopted open-source and SAP technologies: - -![](images/CAP_Overview_7e017ac.png) - -On top of open-source technologies, CAP mainly adds: - -- Core Data Services \(CDS\) as its universal modeling language for both domain models and service definitions. - -- Service SDKs and runtimes for Node.js and Java, offering libraries to implement and consume services as well as generic provider implementations serving many requests automatically. - - -CAP also offers mocks for many platform features, which allow fast develop-test-run cycles with minimal development runtime complexity. CAP facilitates integration scenarios by importing an API from, for example SAP S/4HANA backend or from SAP Business Accelerator Hub and running mocks for this locally. - -Over time, one can add things gradually, only when they're needed. For example, you can move ahead to running your applications in close-to-productive setups for integration tests and delivery, without any change in models or code. - -See [Grow as You Go](https://cap.cloud.sap/docs/get-started/grow-as-you-go) in the CAP documentation. - -**Related Information** - - -[Design](design-dcdc2d9.md "") - -[Develop](develop-58df1d6.md "Learn more about developing applications using SAP Cloud Application Programming Model (CAP).") - -[Deploy](deploy-45d5acf.md "") - -[Operate](operate-34065a4.md "") - -[Operate with SAP Cloud ALM](operate-with-sap-cloud-alm-f7f2977.md "") - diff --git a/docs/software-development-and-delivery-511cac8.md b/docs/software-development-and-delivery-511cac8.md deleted file mode 100644 index 67e49fe..0000000 --- a/docs/software-development-and-delivery-511cac8.md +++ /dev/null @@ -1,34 +0,0 @@ - - -# Software Development and Delivery - - - - - -## Development Tools - -SAP BTP includes many tools to help you develop and manage applications, and connect them to your on-premise systems. The availability of tools can depend on the environment and cloud management tools feature set that you are running on. - -See [Development Tools](development-tools-48150e1.md). - - - - - -## Automated SAP BTP Infrastructure Setup - -With the Terraform provider for SAP BTP, you can now use this standard to create Terraform scripts that set up your SAP BTP landscapes. The Terraform provider for SAP BTP enables you to automate the provisioning, management, and configuration of resources on SAP BTP. - -See [Automated SAP BTP Instrastructure Setup](automated-sap-btp-instrastructure-setup-6dd97e1.md). - - - - - -## Operate - -SAP Cloud ALM helps you to implement and operate intelligent cloud and hybrid business solutions. You benefit from an out-of-the-box, native cloud solution running on SAP BTP, designed as the central entry point to manage your complete SAP landscape with content-driven guided implementation and highly automated operations. - -See [Operate with SAP Cloud ALM](operate-with-sap-cloud-alm-f7f2977.md). - diff --git a/docs/tutorials-for-abap-cloud-fd87aaa.md b/docs/tutorials-for-abap-cloud-fd87aaa.md deleted file mode 100644 index 534d346..0000000 --- a/docs/tutorials-for-abap-cloud-fd87aaa.md +++ /dev/null @@ -1,74 +0,0 @@ - - -# Tutorials for ABAP Cloud - -The ABAP Cloud best practices are documented in the form of step-by-step tutorials for learning how to develop and deploy full-stack transactional and analytical applications using the ABAP RESTful Application Programming Model \(RAP\) and embedded analytics. - -The exercises are based on the Travel sample application of the [Flight Reference Scenario](https://github.com/SAP-samples/abap-platform-refscen-flight) that is the best practice example for developing, deploying, and operating a full-stack application using ABAP RESTful Application Programming Model \(RAP\) and SAP Fiori. - -You can also go through the [Develop a Full-Stack RAP Application Following the SAP BTP Developer’s Guide](https://discovery-center.cloud.sap/missiondetail/4380/4666/) that is based on the Travel sample application. This mission has three main parts. The first part contains the RAP100 basics, for building an SAP Fiori application with RAP. The second part is for creating, developing, and integrating an SAP Fiori application. The third part builds on top of RAP100 basics and contains the intermediate tutorials, with additions such as dynamic feature control and ABAP unit tests. - - - - - -## Analytical Scenario - -The analytical scenario shows the end-to-end development of an analytical application. It consists of a business service exposing an analytical query and a report built with SAP Analytics Cloud. The analytical report can be used to analyze complex situations and freely interact with large amounts of data in real time. - -The analytical scenario is provided in the form of tutorials with beginner and intermediate experience levels. - - - - - -## Transactional Scenario - -The transactional scenario shows the end-to-end development of a transactional SAP Fiori elements list report application. It consists of an OData-based business service built with RAP and an SAP Fiori elements-based UI. It also shows the deployment of the SAP Fiori application in the ABAP environment and its integration in the local SAP Fiori launchpad for SAP BTP, ABAP environment. - -You will develop a simple, transactional list report application, the Travel Processing application, that is used by a department responsible for processing worldwide travel for multiple agencies. - -The transactional scenario built with RAP is provided as a tutorial mission, which is divided into three tutorial groups with beginner and intermediate experience levels. - -The following beginner tutorial groups are available for the transactional scenario: - -- Build an SAP Fiori App Using the ABAP RESTful Application Programming Model \(RAP\) – Basics \[RAP100\] - - - [Get to Know the ABAP RESTful Application Programming Model](https://developers.sap.com/tutorials/abap-environment-restful-programming-model.html) - - - [Create Database Table and Generate UI Service](https://developers.sap.com/tutorials/abap-environment-rap100-generate-ui-service.html) - - - [Enhance the Business Object Data Model and Enable OData Streams](https://developers.sap.com/tutorials/abap-environment-rap100-enhance-data-model.html) - - - [Enhance the Business Object Behavior with Unmanaged Internal Numbering](https://developers.sap.com/tutorials/abap-environment-rap100-early-numbering.html) - - - [Enhance the Business Object Behavior with Determinations](https://developers.sap.com/tutorials/abap-environment-rap100-determination.html) - - - [Enhance the Business Object Behavior with Validations](https://developers.sap.com/tutorials/abap-environment-rap100-validation.html) - - -- Create, Deploy and Integrate an SAP Fiori elements App into SAP Fiori Launchpad for SAP BTP, ABAP Environment \[RAP100\] - - - [Create and Deploy an SAP Fiori Elements App to SAP BTP, ABAP Environment](https://developers.sap.com/tutorials/abap-environment-deploy-fiori-elements-ui.html) - - - [Integrate an SAP Fiori Elements App into the SAP Fiori Launchpad for SAP BTP, ABAP Environment](https://developers.sap.com/tutorials/abap-environment-integrate-app-into-flp.html) - - - -The advanced exercises of the transactional scenario are provided as a tutorial group. They are built on top of the exercises of the beginner tutorial groups. - -Build an SAP Fiori App Using the ABAP RESTful Application Programming Model \(RAP\) – Intermediate \[RAP100\]: - -- [Enhance the Business Object Behavior with Instance Actions](https://developers.sap.com/tutorials/abap-environment-rap100-instance-action.html) - -- [Enhance the Business Object Behavior with Factory Action](https://developers.sap.com/tutorials/abap-environment-rap100-factory-action.html) - -- [Enhance the Business Object Behavior with Dynamic Feature Control](https://developers.sap.com/tutorials/abap-environment-rap100-dynamic-feature-control.html) - -- [Write an ABAP Unit Test for the RAP Business Object](https://developers.sap.com/tutorials/abap-environment-rap100-unit-testing.html) - - -The [Develop and Consume Queries on SAP Analytics Cloud](https://developers.sap.com/tutorials/abap-environment-analytics.html) beginner tutorial is available for the analytical scenario. - -The [Develop Queries Based on Booking Supplement and Consume on SAP Analytics Cloud](https://developers.sap.com/tutorials/abap-environment-booking-supplements-analytics.html) tutorial covers the advanced exercises of the analytical scenario. - diff --git a/docs/tutorials-for-sap-cloud-application-programming-model-eb7420a.md b/docs/tutorials-for-sap-cloud-application-programming-model-eb7420a.md deleted file mode 100644 index e061ad2..0000000 --- a/docs/tutorials-for-sap-cloud-application-programming-model-eb7420a.md +++ /dev/null @@ -1,134 +0,0 @@ - - -# Tutorials for SAP Cloud Application Programming Model - -The business scenario of the Incident Management application helps a company like ACME, a company dealing with electronics, that hires call center support representatives to process and manage customer incidents. A call center support representative, called a processor, receives a phone call from an existing customer and creates a new incident on behalf of the customer. The newly created incident is based on the customer complaint received during the phone call so the call center support representative also adds the conversation with the customer to the incident. - -This application enables the interaction between the members of the support team who are working on the customer's incident. The application is designed to allow support team members to initiate incident reports which are then processed by other support team members. - -The tutorials are built using the Incident Management application. Where applicable, these tutorials use the free plans of the respective services. - -Before you start using the services or runtimes, you need to manage your entitlements and add quotas to your subaccounts. See [Entitlements and Quotas](https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/00aa2c23479d42568b18882b1ca90d79.html "When you purchase an enterprise account, you’re entitled to use a specific set of resources, such as the amount of memory that can be allocated to your applications.") :arrow_upper_right:. - -Note that if you want to try out services for free, you need to select free tier service plan, if available. For a list of free services, check the Service Catalog at [SAP Discovery Center](https://discovery-center.cloud.sap/servicessearch/Free%20Tier/). - -> ### Note: -> There is also a free plan for the SAP BTP, Cloud Foundry runtime and SAP BTP, Kyma runtime. To use the free plan of the runtimes, you have to configure the entitlements in the SAP BTP cockpit. You have one free plan for each runtime per global account and you can assign it to one subaccount at a time. - -The tutorials are organized in the following way. - -- Basic groups of tutorials for the Incident Management application. See: - - - [Develop a Full-Stack CAP Application](https://developers.sap.com/group.cap-application-full-stack.html) - - - [Deploy a Full-Stack CAP Application in SAP BTP, Cloud Foundry Runtime](https://developers.sap.com/group.deploy-full-stack-cap-application.html) - - - [Deploy a Full-Stack CAP Application in SAP BTP, Kyma Runtime](https://developers.sap.com/group.deploy-full-stack-cap-kyma-runtime.html) - - -- Additional tutorials for the additional modules based on the Incident Management application. - -- All the tutorials are grouped together in missions in the SAP Discovery Center: - - - [Develop a Full-Stack CAP Application Following the SAP BTP Developer’s Guide](https://discovery-center.cloud.sap/missiondetail/4327/4608/) - - - [Develop a Side-by-Side CAP-Based Extension Application Following the SAP BTP Developer’s Guide](https://discovery-center.cloud.sap/protected/index.html#/missiondetail/4426/4712/) - - - [Implement Observability in a Full-Stack CAP Application Following SAP BTP Developer’s Guide](https://discovery-center.cloud.sap/protected/index.html#/missiondetail/4432/4718/) - - - - - - - -## Develop a Full-Stack CAP Application - -The [Develop a Full-Stack CAP Application](https://developers.sap.com/group.cap-application-full-stack.html) group of tutorials covers the following steps for developing the Incident Management sample application: - -- Setting up the development environment. See [Set Up SAP Business Application Studio](https://developers.sap.com/tutorials/set-up-bas.html). - -- Building a CAP application with SAP Fiori elements user interface and a custom logic. See: - - - [Build a CAP Application](https://developers.sap.com/tutorials/build-cap-app.html) - - - [Add SAP Fiori Elements UIs](https://developers.sap.com/tutorials/add-fiori-elements-uis.html) - - - [Add Custom Logic](https://developers.sap.com/tutorials/add-custom-logic.html) - - -- Adding local launchpad, authorization, tests for local development and preparing for production. See: - - - [Use a Local Launch Page](https://developers.sap.com/tutorials/use-local-launch-page.html) - - - [Add Authorization](https://developers.sap.com/tutorials/add-authorization.html) - - - [Add Test Cases](https://developers.sap.com/tutorials/add-test-cases.html) - - - [Prepare for Production](https://developers.sap.com/tutorials/prep-for-prod.html) - - - - - - - -## Deploy a Full-Stack CAP Application in SAP BTP, Cloud Foundry Runtime - -The [Deploy a Full-Stack CAP Application in SAP BTP, Cloud Foundry Runtime](https://developers.sap.com/group.deploy-full-stack-cap-application.html) group of tutorials covers the following steps for deploying the Incident Management application in the SAP BTP, Cloud Foundry runtime: - -- Deploying the application in a productive account in SAP BTP, Cloud Foundry runtime. See - - - [Prepare for Deployment in the SAP BTP, Cloud Foundry Runtime](https://developers.sap.com/tutorials/prepare-btp-cf.html) - - - [Deploy in SAP BTP, Cloud Foundry Runtime](https://developers.sap.com/tutorials/deploy-to-cf.html) - - - [Assign the User Roles](https://developers.sap.com/tutorials/user-role-assignment.html) - - -- Using SAP Build Work Zone, standard edition. See [Integrate Your Application with SAP Build Work Zone, Standard Edition](https://developers.sap.com/tutorials/integrate-with-work-zone.html). - -- Setting up continuous integration and delivery pipeline in SAP BTP. See [Set Up a CI/CD Pipeline](https://developers.sap.com/tutorials/set-up-cicd.html). - - - - - - -## Deploy a Full-Stack CAP Application in SAP BTP, Kyma Runtime - -The [Deploy a Full-Stack CAP Application in SAP BTP, Kyma Runtime](https://developers.sap.com/group.deploy-full-stack-cap-kyma-runtime.html) group of tutorials covers the following steps for deploying the Incident Management application in the SAP BTP, Kyma runtime: - -- Deploying the application in a productive account in SAP BTP, Kyma runtime. See - - - [Prepare for Deployment in the SAP BTP, Kyma Runtime](https://developers.sap.com/tutorials/prepare-btp-kyma.html) - - - [Deploy in SAP BTP, Kyma Runtime](https://developers.sap.com/tutorials/deploy-to-kyma.html) - - - [Assign the User Roles](https://developers.sap.com/tutorials/user-role-assignment.html) - - -- Using SAP Build Work Zone, standard edition. See [Integrate Your Application with SAP Build Work Zone, Standard Edition](https://developers.sap.com/tutorials/integrate-with-work-zone.html). - -- Setting up continuous integration and delivery pipeline in SAP BTP. See [Set Up a CI/CD Pipeline for SAP BTP, Kyma Runtime](https://developers.sap.com/tutorials/set-up-cicd-kyma.html). - - - - - - -## Additional Modules - -The tutorials for the additional modules are built on top of the basic groups of tutorials. Depending on what you need, you can pick up different modules. For each of these modules, the basic groups of tutorials is a prerequisite. The modules are: - -- [Connect to a Remote Service Using the SAP Destination Service](https://github.com/SAP-samples/btp-developer-guide-cap/blob/main/documentation/remote-service/README.md). - -- [Set Up Eventing Using the SAP Event Mesh Service](https://github.com/SAP-samples/btp-developer-guide-cap/blob/main/documentation/eventing/README.md). - -- [Set Up Audit Logging Using the SAP Audit Log Service](https://github.com/SAP-samples/btp-developer-guide-cap/blob/main/documentation/auditlog/readme.md). - -- [Configure Authorization and Authentication Using the Authorization Management Service and the Identity Authentication Service](https://github.com/SAP-samples/btp-developer-guide-cap/blob/main/documentation/xsuaa-to-ams/README.md). - -- [Implement Change Tracking](https://github.com/SAP-samples/btp-developer-guide-cap/blob/main/documentation/change-tracking/README.md). - - diff --git a/docs/what-is-sap-btp-developer-s-guide-ba26ec4.md b/docs/what-is-sap-btp-developer-s-guide-ba26ec4.md deleted file mode 100644 index 9e73cf9..0000000 --- a/docs/what-is-sap-btp-developer-s-guide-ba26ec4.md +++ /dev/null @@ -1,108 +0,0 @@ - - -# What Is SAP BTP Developer’s Guide? - -Learn about the SAP BTP Developer’s Guide and how you can use it to improve the process of implementing a business application on SAP BTP. - - - - - -## Overview - -The goal of the SAP BTP Developer’s Guide is to help you implement business applications on SAP BTP. This guide explains the building blocks for developing, delivering, and integrating business applications. - -Development projects for business applications have similar characteristics. Standardized development guidance is driving developer efficiency. - -Based on the experiences of successful business applications, this guide condenses best practices and technologies that can be safely recommended to you. These recommendations include: - -- A blueprint with a curated list of services that implement the standard nucleus of SAP business applications on SAP BTP. - -- An automated SAP BTP Infrastructure setup that handles provisioning, management, and configuration of resources on SAP BTP. - -- A standard set of technologies that ensure smooth integrations. - -- Guidance for delivering SAP cloud qualities and intelligent enterprise suite qualities. - - -The SAP BTP Developer’s Guide recommends the ABAP Cloud and SAP Cloud Application Programming Model \(CAP\) as the best architecture styles to implement for business applications. Both programming models integrate with SAP BTP services. - -![](images/SAP_BTP_Developer_s_Guide_Overview_61b7816.png) - -The SAP BTP Developer’s Guide complements existing documentation, such as the Best Practices for SAP BTP guide, by providing guidance concerning the recommended process to implement business applications on SAP BTP, especially for developers. See [Best Practices for SAP BTP](https://help.sap.com/docs/btp/best-practices/best-practices-for-sap-btp?version=Cloud). - -Another resource is the SAP BTP Guidance Framework - this is the central access point for architects, developers, and administrators to build and run enterprise-grade solutions on SAP BTP. It comprises decision guides, reference architectures, methodologies, recommendations, and DevOps principles. See [SAP BTP Guidance Framework](https://help.sap.com/docs/sap-btp-guidance-framework/guidance-framework/what-is-sap-btp-guidance-framework). - - - - - -## ABAP Cloud - -ABAP Cloud reflects the modern way to develop ABAP. It allows you to build lifecycle-stable and cloud-ready business applications, services, and extensions. - -ABAP Cloud provides tools and techniques that ensure cloud qualities, promotes new technologies, contains a cloud-optimized subset of the ABAP language, and makes upgrade cycles easier by a clear separation between custom code and SAP code by only using released APIs and objects. - - - - - -## SAP Cloud Application Programming Model - -The SAP Cloud Application Programming Model \(CAP\) is a framework of languages, libraries, and tools for building enterprise-grade services and applications. It supports Java \(with Spring Boot\), JavaScript, and TypeScript \(with Node.js\), which are some of the most widely adopted languages. CAP guides developers along a path of proven best practices and a great wealth of out-of-the-box solutions to recurring tasks. - -CAP-based projects benefit from a primary focus on the domain. Instead of delving into overly technical disciplines, CAP focuses on accelerated development and safeguarding investments in a world of rapidly changing cloud technologies. - -Here are some of the benefits that come with the SAP Cloud Application Programming Model \(CAP\): - -- Built-in best practices - -- Support for Visual Studio Code and SAP Business Application Studio tools - -- Safeguarded application development investments - -- No runtimes lock-in - -- Reuse and integration of SAP BTP application services - -- Latest UX and themes - - - - - - -## SAP Build Code - -SAP Build Code offers an AI-powered cloud development environment specifically tailored for SAP Cloud Application Programming Model \(CAP\) and SAPUI5 developers and supporting JavaScript, TypeScript and Java. - -By seamlessly integrating coding, testing, and application management, it streamlines the application development process on SAP BTP. SAP Build Code combines SAP Business Application Studio with the most essential services and SDKs on SAP BTP. - -With the integration of Joule, the innovative AI copilot of SAP, SAP Build Code enables automatic generation of application code, data models, services, and sample data. - -Using SAP Build Code ensures adherence to the best practices and guidance outlined in the SAP BTP Developer's Guide. - - - - - -## Contribute to the SAP BTP Developer’s Guide - -> ### Tip: -> The English version of this guide is open for contributions and feedback using GitHub. This allows you to get in contact with responsible authors of SAP Help Portal pages and the development team to discuss documentation-related issues. To contribute to this guide, or to provide feedback, choose the corresponding option on SAP Help Portal: -> -> - *Feedback* \> *Create issue*: Provide feedback about a documentation page. This option opens an issue on GitHub. -> -> - *Feedback* \> *Edit page*: Contribute to a documentation page. This option opens a pull request on GitHub. -> -> -> You need a GitHub account to use these options. -> -> More information: -> -> - [Contribution Guidelines](https://help.sap.com/docs/open-documentation-initiative/contribution-guidelines/readme.html) -> -> - [Introduction Video](https://www.youtube.com/watch?v=WJ0oarMlVW4) -> -> - [Introduction Blog Post](https://blogs.sap.com/2021/11/29/sap-btp-documentation-goes-github-new-collaboration-process/) - diff --git a/docs/what-s-new-for-sap-btp-developer-s-guide-7cf7a39.md b/docs/what-s-new-for-sap-btp-developer-s-guide-7cf7a39.md deleted file mode 100644 index 860751d..0000000 --- a/docs/what-s-new-for-sap-btp-developer-s-guide-7cf7a39.md +++ /dev/null @@ -1,377 +0,0 @@ - - -# What's New for SAP BTP Developer's Guide - - - - - -**2024** - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -Technical Component - - - -Environment - - - -Title - - - -Description - - - -Action - - - -Lifecycle - - - -Type - - - -Line of Business - - - -Modular Business Process - - - -Product - - - -Latest Revision - - - -Available as of - -
- -SAP BTP Developer's Guide - - - -- Kyma -- Cloud Foundry - - - - - -Explore the Develop a Side-by-Side CAP-Based Extension Application Following the SAP BTP Developer’s Guide Mission - - - -There is a new mission published that is part of the hands-on materials for the SAP Cloud Application Programming Model \(CAP\). - -The mission explains how you can implement side-by-side SAP Cloud Application Programming Model \(CAP\)-based extension applications and deploy them in SAP BTP and is based on the Incident Management sample application. - -See: - -- [Tutorials for SAP Cloud Application Programming Model](https://help.sap.com/docs/btp/btp-developers-guide/tutorials-for-sap-cloud-application-programming-model?version=Cloud) - -- [Mission: Develop a Side-by-Side CAP-Based Extension Application Following the SAP BTP Developer’s Guide](https://discovery-center.cloud.sap/protected/index.html#/missiondetail/4426/4712/) - - - - - - -Info only - - - -General Availability - - - -Announcement - - - -Technology - - - -Not applicable - - - -  - - - -2024-06-03 - - - -2024-06-03 - -
- -SAP BTP Developer's Guide - - - -- Kyma -- Cloud Foundry - - - - - -Explore the Implement Observability in a Full-Stack CAP Application Following SAP BTP Developer’s Guide Mission - - - -There is a new mission published that is part of the hands-on materials for the SAP Cloud Application Programming Model \(CAP\). - -The mission explains how you can add observability to your SAP Cloud Application Programming Model \(CAP\)-based applications and is based on the Incident Management sample application. - -See: - -- [Tutorials for SAP Cloud Application Programming Model](https://help.sap.com/docs/btp/btp-developers-guide/tutorials-for-sap-cloud-application-programming-model?version=Cloud) - -- [Mission: Implement Observability in a Full-Stack CAP Application Following SAP BTP Developer’s Guide](https://discovery-center.cloud.sap/protected/index.html#/missiondetail/4432/4718/) - - - - - - -Info only - - - -General Availability - - - -Announcement - - - -Technology - - - -Not applicable - - - -  - - - -2024-05-31 - - - -2024-05-31 - -
- -SAP BTP Developer's Guide - - - -- ABAP - - - - - -Explore the Develop a Full-Stack RAP Application Following the SAP BTP Developer’s Guide Mission - - - -There is a new mission published that is part of the hands-on materials for ABAP Cloud: Develop a Full-Stack RAP Application Following the SAP BTP Developer’s Guide. It is based on the Travel sample application of the [Flight Reference Scenario](https://github.com/SAP-samples/abap-platform-refscen-flight) that is the best practice example for developing, deploying, and operating a full-stack application using ABAP RESTful Application Programming Model \(RAP\) and SAP Fiori. - -See [Tutorials for ABAP Cloud](https://help.sap.com/docs/btp/btp-developers-guide/tutorials-for-abap-cloud?version=Cloud). - - - -Info only - - - -General Availability - - - -Announcement - - - -Technology - - - -Not applicable - - - -  - - - -2024-04-18 - - - -2024-04-18 - -
- -SAP BTP Developer's Guide - - - -- ABAP -- Kyma -- Cloud Foundry - - - - - -Build Your Application from Concept to Code - - - -The SAP BTP Developer's Guide now provides insights on how to deliver a cloud application from concept to a final product. The section **From Concept to Code** outlines a progressive approach that includes the following steps: - -- Identify the business problem - -- Deliver a cloud application from concept to a final product - -- Understand modularization in general - -- Understand modularization in the context of microservice-based architecture - -- Learn why the domain-driven design is an adequate approach - -- Learn about the domain-driven design starter modeling process - -- Check how complex your scenario is - - -For more information, see [From Concept to Code](https://help.sap.com/docs/btp/btp-developers-guide/from-concept-to-code?version=Cloud). - - - -Info only - - - -General Availability - - - -Announcement - - - -Technology - - - -Not applicable - - - -SAP BTP Developer's Guide - - - -2024-03-21 - - - -2024-03-21 - -
- From 874bd6b49258626a95127e260953610127de795a Mon Sep 17 00:00:00 2001 From: ditaccms-bot Date: Fri, 16 Aug 2024 09:31:48 +0000 Subject: [PATCH 2/2] Update from SAP DITA CMS (squashed): commit b22d932e7a5846131aa10994185714cce63f70e0 Author: REDACTED Date: Fri Aug 16 03:31:45 2024 +0000 Update from SAP DITA CMS 2024-08-16 03:31:45 Project: dita-all/ktj1709647758412 Project map: 70ba5157e83045a1b0358310c2a3416f.ditamap Output: loio76c486d4b83b48f39289c7c52ca024b2 Language: en-US Builddable map: 078455e002054fe1a1fbed95b658fd0e.ditamap commit 1d445e6cf830f1746fc1852b8e568bfbdd0f70cd Author: REDACTED Date: Wed Aug 14 13:30:58 2024 +0000 Update from SAP DITA CMS 2024-08-14 13:30:58 Project: dita-all/ktj1709647758412 Project map: 70ba5157e83045a1b0358310c2a3416f.ditamap Output: loio76c486d4b83b48f39289c7c52ca024b2 Language: en-US Builddable map: 078455e002054fe1a1fbed95b658fd0e.ditamap commit 442805bd69b8b0ec95f0ed620626d35900578689 Author: REDACTED Date: Mon Aug 12 23:28:45 2024 +0000 Update from SAP DITA CMS 2024-08-12 23:28:45 Project: dita-all/ktj1709647758412 Project map: 70ba5157e83045a1b0358310c2a3416f.ditamap Output: loio76c486d4b83b48f39289c7c52ca024b2 Language: en-US Builddable map: 078455e002054fe1a1fbed95b658fd0e.ditamap ################################################## [Remaining squash message was removed before commit...] --- docs/abap-cloud-9aaaf65.md | 4 + docs/abap-cloud-roadmap-48150e1.md | 4 + docs/add-user-interface-9f1d42e.md | 98 ++ docs/analytical-application-b845c85.md | 4 + ...d-sap-btp-instrastructure-setup-6dd97e1.md | 10 + docs/basic-platform-setup-3b774f8.md | 36 + docs/business-application-services-f3641a5.md | 869 ++++++++++++++++++ ...gration-and-continuous-delivery-d973132.md | 13 + docs/deploy-45d5acf.md | 43 + docs/deploy-d7aec3c.md | 4 + docs/design-314ae3e.md | 54 ++ ...esign-a-multitenant-application-1ac614d.md | 50 + ...ign-a-transactional-application-608432c.md | 20 + ...esign-an-analytical-application-8819cb7.md | 14 + docs/design-an-integration-service-ec2ac31.md | 12 + docs/design-dcdc2d9.md | 4 + docs/develop-58df1d6.md | 129 +++ ...velop-a-multitenant-application-3151e2a.md | 18 + docs/develop-c8906e4.md | 4 + docs/development-guidance-cc37b7a.md | 4 + ...ise-application-building-blocks-03139be.md | 6 + docs/from-concept-to-code-a5b8129.md | 376 ++++++++ docs/hands-on-experience-7fa228f.md | 4 + docs/images/CAP_Overview_7e017ac.png | Bin 0 -> 20964 bytes ...ation_in_Cloud_Foundry_Runtime_50243ce.png | Bin 0 -> 6666 bytes ...pplication_in_the_Kyma_Runtime_d3a3414.png | Bin 0 -> 15770 bytes ...gn_a_Transactional_Application_d715f00.png | Bin 0 -> 29832 bytes ...sign_an_Analytical_Application_80e21cc.png | Bin 0 -> 26295 bytes .../Design_an_Integration_Service_c04a651.png | Bin 0 -> 20243 bytes ...p_Development_Options_Overview_d716bab.png | Bin 0 -> 27315 bytes .../images/SAPCloudALM_operations_d378eed.jpg | Bin 0 -> 206157 bytes ...BTP_Developer_s_Guide_Overview_61b7816.png | Bin 0 -> 18845 bytes .../images/Technical_Architecture_251a03a.png | Bin 0 -> 42646 bytes ...utorials_and_Missions_in_Order_12092d9.png | Bin 0 -> 98114 bytes .../Well-Modularized_Architecture_53b6d43.png | Bin 0 -> 33508 bytes docs/index.md | 37 + docs/integration-service-c079f33.md | 4 + docs/operate-f7f2977.md | 47 + docs/reference-application-34065a4.md | 4 + ...d-application-programming-model-696ec23.md | 44 + docs/sap-suite-of-business-modules-4efd0bc.md | 4 + docs/service-cheat-sheet-511cac8.md | 137 +++ docs/transactional-application-373046e.md | 4 + docs/tutorials-for-abap-cloud-fd87aaa.md | 74 ++ ...d-application-programming-model-eb7420a.md | 142 +++ ...at-is-sap-btp-developer-s-guide-ba26ec4.md | 108 +++ ...w-for-sap-btp-developer-s-guide-7cf7a39.md | 515 +++++++++++ 47 files changed, 2900 insertions(+) create mode 100644 docs/abap-cloud-9aaaf65.md create mode 100644 docs/abap-cloud-roadmap-48150e1.md create mode 100644 docs/add-user-interface-9f1d42e.md create mode 100644 docs/analytical-application-b845c85.md create mode 100644 docs/automated-sap-btp-instrastructure-setup-6dd97e1.md create mode 100644 docs/basic-platform-setup-3b774f8.md create mode 100644 docs/business-application-services-f3641a5.md create mode 100644 docs/continuous-integration-and-continuous-delivery-d973132.md create mode 100644 docs/deploy-45d5acf.md create mode 100644 docs/deploy-d7aec3c.md create mode 100644 docs/design-314ae3e.md create mode 100644 docs/design-a-multitenant-application-1ac614d.md create mode 100644 docs/design-a-transactional-application-608432c.md create mode 100644 docs/design-an-analytical-application-8819cb7.md create mode 100644 docs/design-an-integration-service-ec2ac31.md create mode 100644 docs/design-dcdc2d9.md create mode 100644 docs/develop-58df1d6.md create mode 100644 docs/develop-a-multitenant-application-3151e2a.md create mode 100644 docs/develop-c8906e4.md create mode 100644 docs/development-guidance-cc37b7a.md create mode 100644 docs/enterprise-application-building-blocks-03139be.md create mode 100644 docs/from-concept-to-code-a5b8129.md create mode 100644 docs/hands-on-experience-7fa228f.md create mode 100644 docs/images/CAP_Overview_7e017ac.png create mode 100644 docs/images/Deploy_a_CAP_Application_in_Cloud_Foundry_Runtime_50243ce.png create mode 100644 docs/images/Deploy_a_CAP_Application_in_the_Kyma_Runtime_d3a3414.png create mode 100644 docs/images/Design_a_Transactional_Application_d715f00.png create mode 100644 docs/images/Design_an_Analytical_Application_80e21cc.png create mode 100644 docs/images/Design_an_Integration_Service_c04a651.png create mode 100644 docs/images/Image_Map_Development_Options_Overview_d716bab.png create mode 100644 docs/images/SAPCloudALM_operations_d378eed.jpg create mode 100644 docs/images/SAP_BTP_Developer_s_Guide_Overview_61b7816.png create mode 100644 docs/images/Technical_Architecture_251a03a.png create mode 100644 docs/images/Tutorials_and_Missions_in_Order_12092d9.png create mode 100644 docs/images/Well-Modularized_Architecture_53b6d43.png create mode 100644 docs/index.md create mode 100644 docs/integration-service-c079f33.md create mode 100644 docs/operate-f7f2977.md create mode 100644 docs/reference-application-34065a4.md create mode 100644 docs/sap-cloud-application-programming-model-696ec23.md create mode 100644 docs/sap-suite-of-business-modules-4efd0bc.md create mode 100644 docs/service-cheat-sheet-511cac8.md create mode 100644 docs/transactional-application-373046e.md create mode 100644 docs/tutorials-for-abap-cloud-fd87aaa.md create mode 100644 docs/tutorials-for-sap-cloud-application-programming-model-eb7420a.md create mode 100644 docs/what-is-sap-btp-developer-s-guide-ba26ec4.md create mode 100644 docs/what-s-new-for-sap-btp-developer-s-guide-7cf7a39.md diff --git a/docs/abap-cloud-9aaaf65.md b/docs/abap-cloud-9aaaf65.md new file mode 100644 index 0000000..33c6a9f --- /dev/null +++ b/docs/abap-cloud-9aaaf65.md @@ -0,0 +1,4 @@ + + +# ABAP Cloud + diff --git a/docs/abap-cloud-roadmap-48150e1.md b/docs/abap-cloud-roadmap-48150e1.md new file mode 100644 index 0000000..b54f109 --- /dev/null +++ b/docs/abap-cloud-roadmap-48150e1.md @@ -0,0 +1,4 @@ + + +# ABAP Cloud Roadmap + diff --git a/docs/add-user-interface-9f1d42e.md b/docs/add-user-interface-9f1d42e.md new file mode 100644 index 0000000..deaa7b2 --- /dev/null +++ b/docs/add-user-interface-9f1d42e.md @@ -0,0 +1,98 @@ + + +# Add User Interface + +SAPUI5 has guidelines for a wide range of developers and SAP Fiori is a set of design and guideline choices using SAPUI5. + +If it is a new standard project, use SAPUI5 or SAP Fiori as it has the complete set of controls and provides the best support. + +If a project is using HTML or an External framework for example it is a UI that has been part of a company that was acquired, use a micro frontend framework like Luigi to integrate with other pages, Launchpad, and others, and slowly migrate to SAPUI5. To ease the migration or if the UI will not be further developed, then SAPUI5 Provides CSS Libraries, reusable web components and guidance for a few frameworks to match the visual style and guidelines. + + + +
+ +## Recommendations When Using SAPUI5 + +When usign SAPUI5, consider the following recommendations: + +- [When to Use SAPUI5 and OpenUI5](https://sdk.openui5.org/topic/5982a9734748474aa8d4af9c3d8f31c0) + +- [Reusing UI Parts: Fragments](https://sdk.openui5.org/topic/36a5b130076e4b4aac2c27eebf324909) + +- [Folder Structure of Your UI Project: Where to Put Your Files](https://sdk.openui5.org/topic/003f755d46d34dd1bbce9ffe08c8d46a) + +- [Modules for Reusing JavaScript Code](https://sdk.openui5.org/topic/91f23a736f4d1014b6dd926db0e91070) + +- [Development Model: Model View Controller](https://sdk.openui5.org/topic/91f233476f4d1014b6dd926db0e91070) + +- [Communicating Between Model and View: Data Binding](https://sdk.openui5.org/topic/68b9644a253741e8a4b9e4279a35c247) + +- [Providing Error, Warning, and Info Messages](https://sdk.openui5.org/topic/62b1481d3e084cb49dd30956d183c6a0) + +- [Routing and Navigation](https://sdk.openui5.org/topic/3d18f20bd2294228acb6910d8e8a5fb5) + +- [Optimizing Applications](https://sdk.openui5.org/topic/2f492c438a16427e8f84d8436ea9cf77), [Speeding Up Applications](https://sdk.openui5.org/topic/408b40efed3c416681e1bd8cdd8910d4), and [Avoiding Common Performance Issues](https://sdk.openui5.org/topic/966d67c8cc5046419d1b35556cd9e447) + +- [Testing UI Applications](https://sdk.openui5.org/topic/7cdee404cac441888539ed7bfe076e57) + +- [Accessibility Features](https://sdk.openui5.org/topic/322f55d0cf1e4b459cc1911c899b7a5f), [Stable IDs](https://sdk.openui5.org/topic/f51dbb78e7d5448e838cdc04bdf65403), and [Accessibility Aspects for Application Development](https://sdk.openui5.org/topic/03b914b46e624b138a6fb1b7cf2049ae) + +- [Theming](https://sdk.openui5.org/topic/497c27a8ee26426faacd2b8a1751794a) + +- Avoing [Coding Issues](https://sdk.openui5.org/topic/387787232c214b42954f18c93a28560a) and [Security Issues](https://sdk.openui5.org/topic/91f3d8706f4d1014b6dd926db0e91070) + + + + + + +## Issues When Not Using SAPUI5 + +These are the issues that you have to consider if you are not using SAPUI5: + +- Custom controls break consistency. + +- Extensibility is defined for SAPUI5 and would be different for other frameworks and may require knowledge of these frameworks. + +- Support and stable releases for a longer duration are provided by SAPUI5 compared to the other frameworks. + +- SAPUI5 ensures a product standard support on application level. The Web Components and Component Toolkits for the different Web UI Frameworks ensure a product standard compliance on UI element level. + +- For LC/NC support, only SAPUI5 is supported. + + + + + + +## SAP Fiori Guidelines + +Use the following guidelines when designing and implementing your UI appication: + +- [Which UI Technology Supports Your Platform](https://experience.sap.com/fiori-design-web/sap-fiori/) + +- [SAP Fiori Design Principles](https://experience.sap.com/fiori-design-web/design-principles/), [Guidelines for Designing Cross-Platform User Interfaces](https://experience.sap.com/fiori-design-web/responsiveness-adaptiveness/), and [Guidelines for Different Platforms](https://experience.sap.com/fiori-design/) + +- [Accessibility Guidelines](https://experience.sap.com/fiori-design-web/accessibility-in-sap-fiori/) + +- [Develop SAP Fiori Applications with SAP Fiori Tools](https://help.sap.com/docs/SAP_FIORI_tools/17d50220bcd848aa854c9c182d65b699/f09752ebcf63473e9194ea29ca232e56.html) + + + + + + +## Reference Information + +For more information, use the following resources: + +- [SAPUI5 Demokit](https://sapui5.hana.ondemand.com/sdk/#/topic) + +- [SAP BTP UI Technology Guideline](https://sap.sharepoint.com/teams/UIGuideline/Shared%20Documents/Forms/AllItems.aspx?id=%2Fteams%2FUIGuideline%2FShared%20Documents%2FGeneral%2FUITechnologyGuideline%2Epdf&parent=%2Fteams%2FUIGuideline%2FShared%20Documents%2FGeneral) + +- [SAP Fiori tools](https://help.sap.com/docs/SAP_FIORI_tools) + +- [SAP Fiori for Web](https://experience.sap.com/fiori-design-web/) + + diff --git a/docs/analytical-application-b845c85.md b/docs/analytical-application-b845c85.md new file mode 100644 index 0000000..0c0fa27 --- /dev/null +++ b/docs/analytical-application-b845c85.md @@ -0,0 +1,4 @@ + + +# Analytical Application + diff --git a/docs/automated-sap-btp-instrastructure-setup-6dd97e1.md b/docs/automated-sap-btp-instrastructure-setup-6dd97e1.md new file mode 100644 index 0000000..104d0b0 --- /dev/null +++ b/docs/automated-sap-btp-instrastructure-setup-6dd97e1.md @@ -0,0 +1,10 @@ + + +# Automated SAP BTP Instrastructure Setup + +Terraform is the de-facto industry standard for infrastructure as code with more than 3000 providers. With the Terraform provider for SAP BTP, you can now use this standard to create Terraform scripts that set up your SAP BTP landscapes. Given the nature of Terraform, it is even possible to add non-SAP infrastructure to those scripts if the infrastructure provider offers a Terraform provider as well. + +The Terraform provider for SAP BTP enables you to automate the provisioning, management, and configuration of resources on SAP BTP. By leveraging this provider, you can simplify and streamline the deployment and maintenance of SAP BTP services and applications. See [Terraform Provider for SAP BTP](https://registry.terraform.io/providers/SAP/btp/latest/docs). + +Currently, the Terraform provider for SAP BTP is available for non-productive use and SAP is working with several customers on shaping the first release for productive use. You can check out some of the Terraform scripts in a samples repository in the [GitHub repository for the Terraform Provider for SAP BTP](https://github.com/SAP-samples/btp-terraform-samples). + diff --git a/docs/basic-platform-setup-3b774f8.md b/docs/basic-platform-setup-3b774f8.md new file mode 100644 index 0000000..a362e38 --- /dev/null +++ b/docs/basic-platform-setup-3b774f8.md @@ -0,0 +1,36 @@ + + +# Basic Platform Setup + +Before you begin developing your applications, make sure your organizational and landscape setup is appropriate for managing their lifecycles. + + + + + +## Create a Governance Model + +One of the first and most important steps of your journey to the cloud is to establish an appropriate organizational setup and corresponding governance model. A clear and well-thought-out organizational setup makes it easier for your employees to adopt agile processes. See [Creating a Governance Model](https://help.sap.com/docs/btp/best-practices/creating-governance-model?version=Cloud) in the Best Practices for SAP BTP guide. + + + + + +## Set Up Your Account Model + +The hierarchical structure between global accounts, directories, and subaccounts lets you define an account model that accurately fits your business and development needs. See [Setting Up Your Account Model](https://help.sap.com/docs/btp/best-practices/setting-up-your-account-model?version=Cloud) in the Best Practices for SAP BTP guide. + + + + + +## Manage Users and Members + +User accounts enable users to log on to SAP BTP and access subaccounts and use services according to the permissions given to them. In this context, it's important to understand the difference between the two types of users that we refer to: platform users and business users. + +Platform users are usually developers, administrators or operators who deploy, administer, and troubleshoot applications and services on SAP BTP. + +Business users use the applications that are deployed in SAP BTP. For example, the end users of SaaS applications or services. + +See [User and Member Management](https://help.sap.com/docs/btp/sap-business-technology-platform/user-and-member-management?version=Cloud) in the SAP Business Technology Platform documentation. + diff --git a/docs/business-application-services-f3641a5.md b/docs/business-application-services-f3641a5.md new file mode 100644 index 0000000..13a0266 --- /dev/null +++ b/docs/business-application-services-f3641a5.md @@ -0,0 +1,869 @@ + + +# Business Application Services + +SAP BTP Developer’s Guide has a comprehensive set of tools and services at your disposal that allow you to keep the pace and at the same time benefit from future investments in SAP BTP. The following graphic includes both ABAP and non-ABAP runtimes and provides an overview of the architecture you can use when designing and building your applications. + +The overall suite of applications consists of multiple business modules that are either implemented for SAP Cloud Application Programming \(CAP\) or ABAP Cloud. Each business module consists of one or multiple self-contained services following a three-tier architecture with presentation, logic, and persistence layer. In both architecture styles, SAP Fiori and SAPUI5 is used to implement front end artifacts. These front end artifacts are consuming its data using OData for transactional and InA for analytical applications. + +The application logic for CAP-based applications is implemented in Node.js, Java and Typescript and is deployed in SAP BTP, Cloud Foundry runtime or SAP BTP, Kyma runtime. The application logic for ABAP Cloud is implemented in ABAP and deployed in the SAP BTP, ABAP environment. In both cases, SAP HANA Cloud is used to store relational business data. + +Additional enterprise qualities are reached by integrating the business modules with complementing SAP BTP application services such as SAP Build Work Zone as a central entry point, SAP Datasphere as a cross-application data warehouse or Identity Authentication for identity authentication among others. + + + +This image is interactive. Hover over the image and click the highlighted areas so you are placed in the respective cell in the table. + +![](images/Technical_Architecture_251a03a.png) + + + +**** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +Capability + + + +Cloud Application Programming + + + +ABAP Cloud + +
+ +Development Tools + + + +[SAP Business Application Studio](https://help.sap.com/docs/bas/sap-business-application-studio/what-is-sap-business-application-studio?version=Cloud) + +Designed and optimized for business application development in SAP ecosystems, SAP Business Application Studio enhances productivity by offering specialized tools for various scenarios, including SAP Fiori application development, SAP HANA native extensions, full-stack and mobile application development, and more. + +Central to the development environment is Code-OSS, the open-source foundation of Visual Studio Code, ensuring a familiar experience for developers when creating SAP-centric applications. SAP Business Application Studio streamlines the building, testing, and deployment of applications with integrated features for source control and testing. Furthermore, its Full-Stack Application Productivity Toolkit offers intuitive visual tools covering the entire development process, guaranteeing seamless integration with various SAP services and solutions. + + + +[ABAP Development Tools for Eclipse](https://tools.eu1.hana.ondemand.com/#abap) + +[SAP Business Application Studio](https://help.sap.com/docs/bas/sap-business-application-studio/what-is-sap-business-application-studio?version=Cloud) + +Use ABAP development tools for Eclipse to benefit from an efficient development environment for all ABAP-based development artifacts. Use the SAP Business Application Studio to develop the SAP Fiori parts of your ABAP-based applications. + +
+ +Software Delivery + + + +[SAP Continuous Integration and Delivery](https://help.sap.com/docs/continuous-integration-and-delivery/sap-continuous-integration-and-delivery/what-is-sap-continuous-integration-and-delivery?version=Cloud) + +Use SAP Continuous Integration and Delivery for non-ABAP applications with a full end-to-end support for SAP BTP cloud applications. + +SAP Continuous Integration and Delivery lets you configure and run predefined continuous integration and delivery \(CI/CD\) pipelines that automatically build, test, and deploy your code changes to speed up your development and delivery cycles. + +Use SAP CI for non-ABAP applications with a full end-to-end support for SAP BTP cloud applications. + +SAP CI guides along solid tests, zero-downtime deployment, consistency, release via feature activation, operation guidance. It supports full end-to-end support for BTP cloud applications. + +Consider the complete innovation lifecycle that includes \(beside others\) Design Thinking, Domain Driven Design, Feature \(Toggle\) Definition, local build, unit tests, integration tests, end-to-end tests, progressive deployment, feature activation, documentation, DevOps monitoring, usage tracking, metering, adoption measurement and closing the feedback loop. + + + +[ABAP Lifecycle Management](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/abap-lifecycle-management) + +- For customers: + + Develop applications as software components and deliver them via the Manage Software Components application. See [Software Components](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/software-components). + + A hidden Git repository is automatically managed per software component using gCTS for transport management. This process can be automated with CI/CD pipelines including steps like test automation using ABAP Test Cockpit. See [Automate the Software Lifecycle Management Process](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/automate-software-lifecycle-management-process). + + SAP Cloud Transport Management can be used to optionally integrate with higher level change management processes. See [How to Export Using SAP Cloud Transport Management](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/how-to-export-using-sap-cloud-transport-management?q=cloud%20transport%20management). + +- For partners: + + In addition to the customer scenario, products can be built based on software components with the help of the Landscape Portal to setup multitenant SaaS applications or to offer installable products like SDKs for other customers and partners. See [Landscape Portal](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/landscape-portal). + + + + +
+ +[SAP Cloud Transport Management](https://help.sap.com/docs/cloud-transport-management/sap-cloud-transport-management/what-is-sap-cloud-transport-management?version=Cloud) + +Optionally complement your pipeline with an automated handover of your qualified changes into a standardized, enterprise-ready change management process. For changes in SAP BTP, Cloud Foundry runtime, the pipeline provided by SAP Continuous Integration and Delivery service allows to trigger out-of-the-box a transport in SAP Cloud Transport Management service. + +With other CI/CD solutions, you can also trigger such a transport via project ‘Piper’. SAP Cloud Transport Management allows you to centrally define delivery landscapes and to then handle the transport of development and application-specific content between the subaccounts defined in this landscape. With this, you can add additional control for the propagation of your changes especially towards your production environments, such as by defining who is allowed to come up and handle changes in which environment. Also, you gain the option to apply existing or new change management processes, such as being offered by change and deployment management capabilities of SAP Cloud ALM – for example, to centrally synchronize the delivery of SAP BTP changes with changes from other environments, as part of hybrid applications. You can also use SAP Cloud Transport Management to transport your changes without pipeline. + +
+ +Persistence + + + +[SAP HANA Cloud](https://help.sap.com/docs/hana-cloud/sap-hana-cloud-overview-guide/sap-hana-cloud-overview-guide) + +Use SAP HANA Cloud service for a relational storage. + +Use HANA Data Lake Files as Object Storage. + +Consider compliance features like such as Audit Log, Cryptography or Customer Managed Keys that SAP HANA Cloud offers. + + + +[SAP HANA Cloud](https://help.sap.com/docs/hana-cloud/sap-hana-cloud-overview-guide/sap-hana-cloud-overview-guide) + +SAP BTP, ABAP environment comes with an own ABAP-managed SAP HANA Cloud instance. Static resizing of the SAP HANA Cloud instance is supported. ABAP dictionary tables can be tagged to make use of the SAP HANA Native Storage Extensions; also, database indexes \(like unique secondary indexes and fuzzy search indexes\) and Dynamic View Caches can be defined. Furthermore, simple Database Partitioning based on primary keys is possible. Access to the SAP HANA instance data is only supported via the ABAP layer, for example, by using ABAP SQL, natively via ABAP-managed database procedures, and the ABAP SQL Service for external clients. + +
+ +[Object Store on SAP BTP](https://help.sap.com/docs/object-store/object-store-service-on-sap-btp/what-is-object-store) + +Object Store service on SAP BTP lets you store and manage objects, which involves creation, upload, download, and deletion. This service is specific to the Infrastructure-as-a-Service layer such as Azure Blob Storage, Amazon Web Services, and Google Cloud Platform. + +
+ +Programming Model + + + +[SAP Cloud Application Programming Model \(CAP\)](https://cap.cloud.sap/docs/) + +Use SAP Cloud Application Programming Model as programming model for non-ABAP applications. + +Go-to frameworks for business application development. It supports the most widely adopted languages, which are: Java \(with Spring Boot\), JavaScript and TypeScript \(with Node.js\). + +SAP Cloud Application Programming Model guarantees to run against specific versions of Node.js and Java. Remember to plan your application to run for at least 5 years if not more. + +We recommend that you choose SAP BTP services over homegrown services. + + + +[ABAP RESTful Application Programming Model \(RAP\)](https://help.sap.com/docs/btp/sap-abap-restful-application-programming-model/abap-restful-application-programming-model?version=Cloud) + +Use ABAP RESTful Application Programming Model as a programming model within ABAP Cloud. With ABAP RESTful Application Programming Model, you can develop services for all types of SAP Fiori applications as well as publishing Web APIs. + +
+ +Runtime + + + +[SAP BTP, Cloud Foundry Runtime](https://help.sap.com/docs/btp/sap-business-technology-platform/cloud-foundry-environment?version=Cloud) + +Use SAP BTP, Cloud Foundry runtime as a runtime for CAP-based applications. + + + +[SAP BTP, ABAP Environment](https://help.sap.com/docs/btp/sap-business-technology-platform/getting-started-with-customer-account-in-abap-environment?version=Cloud) + +Use SAP BTP, ABAP environment for ABAP-based applications. + +SAP BTP, ABAP environment delivers and enforces the ABAP Cloud development model and is based on Kubernetes. The abstraction of containers and clusters is managed by the SAP BTP, ABAP environment infrastructure. + +
+ +[SAP BTP, Kyma Runtime](https://help.sap.com/docs/btp/sap-business-technology-platform/kyma-environment?version=Cloud) + +Use SAP BTP, Kyma runtime as a runtime for CAP-based applications. + +
+ +Client Library + + + +[SAP Cloud SDK](https://help.sap.com/docs/SAP_CLOUD_SDK) + +CAP is using SAP Cloud SDK behind the scenes. + +SAP Cloud SDK provides client libraries for consuming OData/OpenAPI services, Destination service, and Connectivity service that extend SAP solutions and other OData/OpenAPI services on SAP Business Technology Platform. These clients allow you to concentrate on your unique business logic, simplifying development and ensuring seamless integration. + + + +[Service Consumption Model](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/service-consumption-model) + +Use the Service Consumption Model to generate local ABAP APIs to consume remote OData, SOAP and RFC services. + +
+ +Connectivity + + + +[SAP Connectivity Service](https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/connectivity?version=Cloud) + +Use Connectivity service to securely access on-premise systems which are exposed via Cloud Connector. Using Cloud Connector service channels, it is also possible to access cloud systems such as databases from on-premise networks. For Kubernetes-based workloads, you can utilize the Connectivity Proxy to ensure secure technical connectivity from the cloud to your on-premise systems. Within the Kyma runtime, the Connectivity Proxy comes as a managed offering. + + + +[SAP Connectivity Service](https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/connectivity?version=Cloud) + +The Connectivity service is automatically integrated with the BTP ABAP tenants to securely access on-premise systems which are exposed via Cloud Connector. + +
+ +[SAP Destination Service](https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/consuming-destination-service?version=Cloud) + +Use Destination service to store and retrieve technical connection properties to the target systems. It automates the process of retrieving OAuth access tokens to the configured target systems. In addition, the Destination service generates and is able to renew X.509 client certificates issued by the SAP Cloud PKI. + + + +[Communication Management](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/communication-management) + +SAP BTP, ABAP Environment provides a Communication Management to integrate the custom applications with other systems to enable data exchange. + +An event consumption and event provisioning is also natively supported and integrated into the ABAP RESTful Application Programming Model \(RAP\). + +In addition, the SAP Destination Service can also be used to re-use destinations for CAP applications. See [SAP Destination Service](https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/consuming-destination-service?version=Cloud). + +
+ +Application Programming Interface + + + +[SAP Business Accelerator Hub](https://api.sap.com/) + +Follow API guidelines and use the SAP Business Accelerator Hub. + +
+ +User Interface \(Web\) + + + +[SAP Fiori Elements](https://experience.sap.com/fiori-design-web/smart-templates/) + +[SAPUI5](https://sapui5.hana.ondemand.com/) + +Use SAP Fiori elements for OData V4 to benefit from a presentation of a common UI and UX. For more flexibility, use SAP Fiori element’s Flexible Programming Model with or without SAPUI5 Freestyle. Personalization and theming are automatically supported. + +SAP Fiori elements and SAPUI5 help you present one consistent solution experience to your customers, and you benefit from the upcoming designs and UX improvements automatically. + +Remember that even the simplest UI components or more complex ones like geographic maps have compliance requirements like accessibility and theming. + +
+ +User Interface \(Mobile\) + + + +[SAP Mobile Development Kit](https://community.sap.com/topics/mobile-technology/mobile-development-kit) + +[SAP BTP SDK for Android](https://help.sap.com/doc/f53c64b93e5140918d676b927a3cd65b/Cloud/en-US/docs-en/guides/getting-started/android/overview.html) + +[SAP BTP SDK for iOS](https://help.sap.com/doc/f53c64b93e5140918d676b927a3cd65b/Cloud/en-US/docs-en/guides/getting-started/ios/introduction.html) + +Use SAP MDK, BTP SDK for Android or BTP SDK for iOS for mobile applications. + +These SDKs help you present one consistent solution experience to your customers. + +Mobile application development is massively accelerated as SAP mobile services and its SDKs generate the complete synchronization and authentication layer. Additional supported features like logging, tracing, crash reporting bring extra value to you. + +After deployment the Mobile services give administrators all the necessary tools and services to operate a mobile solution. Features like push, offline, mobile specific security and more simplify the operation. + +
+ +Central Entry Point + + + +[SAP Work Zone, standard edition](https://help.sap.com/docs/build-work-zone-standard-edition/sap-build-work-zone-standard-edition/what-is-sap-build-work-zone-standard-edition) + +[SAP Build Work Zone, advanced edition](https://help.sap.com/docs/build-work-zone-advanced-edition/sap-build-work-zone-advanced-edition/what-is-sap-build-work-zone-advanced-edition) + +[SAP HTML5 Application Repository Service for SAP BTP](https://help.sap.com/docs/btp/sap-business-technology-platform/developing-html5-applications-in-cloud-foundry-environment) + +Enable the central launchpad to offer a unified end-user experience. + +Customers want to create a personalized view on the applications you produce. Make sure your application can be added to a central launchpad, regardless of where it runs. + + + +[SAP Fiori Launchpad for SAP BTP, ABAP Environment](https://help.sap.com/docs/btp/sap-fiori-launchpad-for-sap-btp-abap-environment/sap-fiori-launchpad-user-guide?version=Cloud) + +[SAP Work Zone, standard edition](https://help.sap.com/docs/build-work-zone-standard-edition/sap-build-work-zone-standard-edition/what-is-sap-build-work-zone-standard-edition) + +[SAP Build Work Zone, advanced edition](https://help.sap.com/docs/build-work-zone-advanced-edition/sap-build-work-zone-advanced-edition/what-is-sap-build-work-zone-advanced-edition) + +[SAP HTML5 Application Repository Service for SAP BTP](https://help.sap.com/docs/btp/sap-business-technology-platform/developing-html5-applications-in-cloud-foundry-environment) + +SAP BTP, ABAP Environment comes with a dedicated central entry point the SAP Fiori launchpad for SAP BTP, ABAP Environment. This central entry point offers a unified end-user experience for ABAP-based applications. It is also used as the entry point for all SAP Fiori applications to administer the ABAP system. + +SAP Build Work Zone, standard edition offers a unified end-user experience across several systems for federation scenarios. + +
+ +Integration + + + +[SAP Event Mesh](https://help.sap.com/docs/event-mesh/event-mesh/what-is-sap-event-mesh?version=Cloud) + +[SAP Event Broker for SAP cloud applications](https://help.sap.com/docs/event-broker/event-broker-service-guide/what-is?locale=en-US%3Fversion%3DCloud&version=Cloud) + +[SAP Integration Suite, advanced event mesh](https://help.sap.com/docs/SAP_ADVANCED_EVENT_MESH/649cec0ae9ac49059564a1870fb8a1b7/0d4bcd5a2be744688039160b9bb289ae.html?version=Cloud) + +SAP Event Mesh can be used to distribute events between selected SAP cloud and on-premise applications and third-party applications. + +SAP Event Broker for SAP cloud applications and SAP Integration Suite, advanced event mesh are currently not supported by CAP and ABAP Cloud. + +
+ +[SAP Master Data Integration](https://help.sap.com/docs/SAP_MASTER_DATA_INTEGRATION/c7713d6177ad479d9ea00958db9f2f81/dab76d5506a44c8e85f314fc3be30e13.html?version=CLOUD) + +SAP Master Data Integration service acts as the central master data hub. It uses the integration models of SAP One Domain Model as the basis for master data replication. SAP will extend the support of SAP One Domain Model in all SAP cloud applications over time to integrate them. When out-of-the-box integration with SAP Master Data Integration is not available, SAP Integration Suite can be used to integrate with SAP ERP Central Component, SAP S/4HANA, and non-SAP applications. + +
+ +[SAP Integration Suite](https://help.sap.com/docs/integration-suite/sap-integration-suite/what-is-sap-integration-suite?version=CLOUD) + +Use the Cloud Integration capability of SAP Integration Suite for mediated data or process integration, espially if complex integration flows, transformations or dedicated protocols are required. Besides mediated application-to-application integration, Cloud Integration usage is recommended for business-to-business and business-to-governance processes. + +The API Management capability of SAP Integration Suite allows you to easily enable your developer community with governed, secure, and policy-compliant access to all your APIs, events, and integrations. + +Graph is a recent addition to the API Management capability of SAP Integration Suite. Graph is a powerful semantic API mediation, combining and exposing the data from diverse systems in a complex enterprise landscape as connected data graphs. The data graphs are accessed via a single, curated, and uniform data-as-a-service API and make API consumption much easier. + +
+ +[Cloud Integration Automation](https://help.sap.com/docs/cloud-integration-automation/user-guide/overview) + +Cloud Integration Automation service provides you a guided workflow to integrate SAP cloud solutions to on-premise and other SAP cloud solutions. The guided workflow contains instructions for manual and automated tasks to enable an easy and quick integration configuration setup. + +
+ +Observability + + + +[SAP Cloud ALM](https://help.sap.com/docs/link-disclaimer?site=https%3A%2F%2Fsupport.sap.com%2Fen%2Falm%2Fsap-cloud-alm.html) + +SAP Cloud ALM helps you to implement and operate intelligent cloud and hybrid business solutions. + +For your CAP-based applications on SAP BTP, SAP Cloud ALM provides a central, personalized and unified operations user experience. Specifically for Java and Node.js custom-built applications in SAP BTP, Cloud Foundry runtime, there are the Data Collection Instrumentation Libraries based on Open Telemetry designed to enable the data collection infrastructure in SAP Cloud ALM. With these libraries, you can collect data for many observability use cases, such as: + +- Real User Monitoring + +- Real User Monitoring + +- Health Monitoring + +- Integration and Exception Monitoring + + + + + + +[SAP Cloud ALM](https://help.sap.com/docs/link-disclaimer?site=https%3A%2F%2Fsupport.sap.com%2Fen%2Falm%2Fsap-cloud-alm.html) + +All ABAP cloud applications are supported by SAP Cloud ALM for central observability. SAP Cloud ALM provides the following use cases: + +- Real User Monitoring + +- Health Monitoring + +- Synthetic User Monitoring + +- Integration Monitoring + +- Job and Automation Monitoring + +- Data Forwarding to SAP Focused RUN + + +For Health Monitoring, you could extend the delivered content with your own custom metrics. + +SAP BTP, ABAP Environment strictly distinguishes between platform monitoring and application monitoring. The platform monitoring, like availability monitoring, is ensured by the service itself. + +For application monitoring, which is in your responsibility, respective tools are offered. Use the Technical Monitoring Cockpit to analyze and optimize the application on-stack: + +- System workload + +- Resource consumption and capacity + +- Detailed statistics captured for single requests + +- Outbound communication + +- SQL statements + + + + +
+ +[SAP Alert Notification service for SAP BTP](https://help.sap.com/docs/alert-notification/sap-alert-notification-for-sap-btp/what-is-sap-alert-notification-service-for-sap-btp?version=Cloud) + +Local expert tool that allows you to subscribe to events from the platform – such as from used services, from your custom-built apps, or from the infrastructure – and to consume them via your channel of choice \(such as by receiving notifications via email or in your preferred chat application\). Can be integrated into central alerting of SAP Cloud ALM. + +
+ +[SAP Cloud Logging](https://help.sap.com/docs/cloud-logging/cloud-logging/what-is-sap-cloud-logging?version=Cloud) + +SAP Cloud Logging allows you to analyze your SAP BTP workloads in great detail regarding performance, errors, usage, and other characteristics. + +It covers processing of logs, metrics, traces across SAP BTP, Cloud Foundry runtime and SAP BTP, Kyma runtime with flexible storage, alerting, and dashboarding. + +
+ +Customer Landscape Discovery + + + +[Unified Customer Landscape](https://help.sap.com/docs/btp/sap-business-technology-platform/maintaining-unified-customer-landscape?version=Cloud) + +Use Unified Customer Landscape service for customer landscape management. + +There are different ways to add systems to the *System Landscape* page in the SAP BTP cockpit: manually or automatically. If a system of your solution is associated with your global account or through a subscription in SAP BTP cockpit associated with a given subaccount, it will appear in the list automatically. Otherwise, you have to add your system manually. Systems are added to the list in one of the following ways: + +- Auto-Discovered + + An auto-discovered system is a system \(associated with the given global account\) that has been discovered and added automatically to the list based on information of the existing system landscape. Any SAP system of the supported system types that is associated with the same customer ID, with which your global account in SAP BTP is associated, will be added automatically in the system landscape list. + +- Subaccount/ + + Specifies that the system has been added through a subscription in SAP BTP cockpit associated with a given subaccount. The subscription has been discovered and added automatically through the subaccount. + +- Manually-Added + + Specifies that the system has been added to the list manually by the global account administrator, using the *Add System* button and completing the wizard. The system has been associated with the global account in SAP BTP. + + + + + + +[Landscape Portal](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/landscape-portal) + +Landscape Portal is offered to manage all the systems within your global account in SAP BTP. It shows the list of the ABAP systems, it enables the control of system hibernation to reduce costs and it offers features to control the system lifecycle, for example, to nominate systems for the pre-upgrade prior to the standard upgrade of a quarterly ABAP platform release. + +
+ +Extensibility and Integration + + + +Side-by-Side Extensibility with Unified Customer Landscape: + +- [Register Systems](https://help.sap.com/docs/btp/sap-business-technology-platform/registering-sap-system?version=Cloud) + +- [Create Formations](https://help.sap.com/docs/btp/sap-business-technology-platform/including-sap-systems-in-formation?version=Cloud) + +- [SAP SuccessFactors Extensibility Service](https://help.sap.com/docs/btp/sap-business-technology-platform/extending-sap-successfactors-in-cloud-foundry-and-kyma-environment?version=Cloud) + +- [SAP S/4HANA Cloud Extensibility Service](https://help.sap.com/docs/btp/sap-business-technology-platform/extending-sap-s-4hana-cloud-in-cloud-foundry-and-kyma-environment?version=Cloud) + + +Use Unified Customer Landscape service that offers customer landscape management capabilities for your SAP S/4HANA, SAP Ariba, SAP SuccessFactors, and other SAP and third-party systems in one single experience. + +In the SAP BTP cockpit, you get a comprehensive overview of all your systems associated with your customer ID. These systems can be registered or auto discovered. They are conveniently listed as a record in the *Systems* list in the *System Landscape* page in the SAP BTP cockpit. Moreover, Unified Customer Landscape lets you integrate one or more systems in a common business case by including these systems in a formation. + + + +[On-Stack Extensibility by Extending SaaS Applications](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/extending-saas-applications) + +In addition to the standard side-by-side approach for core applications such as SAP S/4HANA, SAP BTP, ABAP Environment also offers two extensibility options within the product itself: + +- With developer extensibility, you can extend partner solutions which are installed in your customer system, for example by adding custom fields, custom nodes and business logic. + +- With key user extensibility, you can extend a multitenancy SaaS application offered by a partner. The supported extensibility features to extend SaaS applications are UI adaptations, custom fields and custom logic \(implement Business Add-Ins\). + + +You can create business configuration objects. See [Business Configuration](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/development-business-configuration). + +You can create and set up integration scenarios by maintaining communication arrangements. + +
+ +Data Privacy + + + +[SAP Data Privacy Integration](https://help.sap.com/docs/data-privacy-integration/development/data-privacy-integration?version=Cloud) + +[SAP Personal Data Manager](https://help.sap.com/docs/personal-data-manager/development/what-is-personal-data-manager?version=Cloud) + +[SAP Data Retention Manager](https://help.sap.com/docs/data-retention-manager/development/what-is-sap-data-retention-manager) + +Use Data Privacy Integration service to make your SAP BTP application compliant with the corporate Data Privacy and Protection standards. Integrate with the Data Privacy Integration service to support cross consumable Data Privacy and Protection features for our customers and support cross Data Privacy and Protection compliance in end-to-end processes. + +
+ +Workflow + + + +[SAP Task Center](https://help.sap.com/docs/task-center/sap-task-center/what-is-sap-task-center?version=Cloud) + +SAP Task Center service enables integration with SAP applications to provide a single entry point for end users to access all their assigned tasks. The tasks can be accessed by end users through the SAP Task Center Web application.SAP Task Center helps you integrate tasks into a central solution. + +Use SAP Task Center as a unified inbox for tasks across multiple applications with integrated user experience. Tasks from multiple SAP solutions are gathered in one list and ready to be processed in just one click, shortening the completion time for business-critical tasks. For example, business users can process all their tasks from the connected systems, without the need to switch and log in separately into different inboxes. + + + +[Proxy API for the Workflow Capability](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/proxy-api-for-workflow-capability) + +There is a released local ABAP API to use the SAP BTP Workflow capabilities. + +
+ +Job Scheduling + + + +[SAP Job Scheduling Service](https://help.sap.com/docs/job-scheduling/sap-job-scheduling-service/what-is-sap-job-scheduling-service?version=Cloud) + +SAP Job Scheduling service allows you to define and manage jobs that run once or on a recurring schedule. Use this runtime-agnostic service to schedule action endpoints in your application or long-running processes using Cloud Foundry tasks. Use REST APIs to schedule jobs, including long-running jobs asynchronously, and create multiple schedule formats for simple and complex recurring schedules. Manage jobs and tasks and manage schedules with a web-based user interface. + + + +[Application Jobs](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/application-jobs) + +Job scheduling is integrated into the product. Application Jobs can be defined, implemented and monitored. + +
+ +Application Logs + + + + + + + +[Application Logs](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/application-logs) + +SAP Task Center helps you integrate tasks into a central Application Logging is integrated into the product. Application Logs can be defined, implemented, and monitored. + +
+ +Analytics + + + +[SAP Analytics Cloud](https://help.sap.com/docs/SAP_ANALYTICS_CLOUD) + +Use embedded analytics scenarios in your application including dashboards, multi-dimensional reports and KPIs. + + + +[SAP Analytics Cloud](https://help.sap.com/docs/SAP_ANALYTICS_CLOUD) + +Use SAP Analytics Cloud on top of InA-enabled Core Data Service analytical models. Furthermore, Dragonfly-based multi-dimensional reporting can be used to integrate Embedded Analytics functionality in a component-based and SAP Fiori-native way. + +
+ +[SAP Datasphere](https://help.sap.com/docs/SAP_DATASPHERE) + +For analytics across applications use SAP Datasphere. + + + +[SAP Datasphere](https://help.sap.com/docs/SAP_DATASPHERE) + +Via the ABAP SQL Service it is possible to integrate with SAP Datasphere. Furthermore, the ABAP SQL Service in combination with ABAP ODBC Driver or the SAP HANA Cloud ABAP SDA Adapter allows data federation via external clients respectively via SAP HANA Cloud-based SAP BTP applications. + +
+ +Document Management + + + +[SAP Document Management Service](https://help.sap.com/docs/document-management-service/sap-document-management-service/what-is-document-management-service?version=Cloud) + +Document Management Service, Integration Option lets you build document management capabilities for your business applications using the integration component or the easy-to-use, reusable UI component. + +Document Management Service, Application Option is a standalone, ready-to-use web application that provides document management capabilities for your enterprise content. + +
+ +Low Code/No Code + + + +[SAP Build Process Automation](https://help.sap.com/docs/build-process-automation/sap-build-process-automation/what-is-sap-build-process-automation?version=Cloud) + +The solution combines workflow management, SAP Intelligent Robotic Process Automation \(SAP Intelligent RPA\) functionality, decision management, process visibility, and embedded AI capabilities into one intuitive low-code experience. + +You can jumpstart automation projects with hundreds of process content packages, SAP Intelligent RPA bots and connectors designed specifically to enhance the capabilities of the SAP solutions you are using. It provides a unified development experience for users of all skill levels enabling fusion teams of business experts and developers to work together and solve challenges faster. + +
+ +Service Management + + + +[SAP Service Manager](https://help.sap.com/docs/service-manager/sap-service-manager/sap-service-manager?version=Cloud) + +SAP Service Manager service allows you to consume platform services in any connected runtime environment, track the creation and management of service instances, and share services and service instances between different environments. + + + + + +
+ +Authentication + + + +[SAP Authentication and Trust Management Service](https://help.sap.com/docs/btp/sap-business-technology-platform/sap-authorization-and-trust-management-service-in-cloud-foundry-environment?version=Cloud) + +The SAP Authorization and Trust Management service lets you manage user authorizations and trust to identity providers. Identity providers are the user base for applications. + +We recommend that you use an Identity Authentication tenant, an SAP on-premise system, or a custom corporate identity provider. User authorizations are managed using technical roles at the application level, which can be aggregated into business-level role collections for large-scale cloud scenarios. + + + +[Access Management](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/access-management) + +User authorizations are managed and can be aggregated into business roles locally in SAP BTP, ABAP environment. + +
+ +[Identity Authentication](https://help.sap.com/docs/identity-authentication/identity-authentication/what-is-identity-authentication?version=Cloud) + +The Identity Authentication service provides you with controlled cloud-based access to business processes, applications, and data. It simplifies your user experience through authentication mechanisms, single sign-on, on-premise integration, and convenient self-service options. + + + +[Identity Authentication](https://help.sap.com/docs/identity-authentication/identity-authentication/what-is-identity-authentication?version=Cloud) + +The Identity Authentication service provides you with controlled cloud-based access to business processes, applications, and data. It simplifies your user experience through authentication mechanisms, single sign-on, on-premise integration, and convenient self-service options. + +Technical users for system-to-system communication are managed locally in the SAP BTP, ABAP environment. SAP BTP, ABAP environment supports mTLS and basic authentication as authentication options for technical users. + +
+ +Audit Logging + + + +[SAP Audit Log Service](https://help.sap.com/docs/btp/sap-business-technology-platform/audit-logging-in-cloud-foundry-environment?version=Cloud) + +SAP Audit Log is a core, security, and compliance-based SAP BTP service to provide means for audit purposes. The default and advanced capabilities of Audit Log Service are available for SAP BTP applications and services. + + + +[Manage Security Audit Log](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/manage-security-audit-log) + +Security audit logging is provided automatically by the SAP BTP, ABAP Environment. It can be configured by the Manage Security Audit Log administration application. + +
+ +[Read Access Logging](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/read-access-logging) + +Read Access Logging \(RAL\) is used to monitor and log read access to sensitive data. This data may be categorized as sensitive by law, by external company policy, or by internal company policy. + +
+ +Security + + + +[SAP Credential Store](https://help.sap.com/docs/credential-store/sap-credential-store/what-is-sap-credential-store) + +SAP Credential Store service provides a repository for passwords, keys and keyrings for applications that are running on SAP BTP. It enables the applications to retrieve credentials and use them for authentication to external services, or to perform cryptographic operations and TLS communication. SAP Credential Store is exposed to the applications via a REST API. + + + +[Communication Management](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/communication-management) + +The ABAP environment offers its Communication Management. It contains a credentials store which allows the applications to perform outbound communication using the credentials for authentication to external services and TLS communication. + +
+ +Identity Management + + + +[Identity Provisioning](https://help.sap.com/docs/identity-provisioning/identity-provisioning/what-is-identity-provisioning?version=Cloud) + +The Identity Provisioning service automates identity lifecycle processes. It helps you provision identities and their authorizations to various cloud and on-premise business applications. + + + +[Identity Provisioning](https://help.sap.com/docs/identity-provisioning/identity-provisioning/what-is-identity-provisioning?version=Cloud) + +The Identity Provisioning service automates identity lifecycle processes. SAP BTP, ABAP environment supports the Identity provisioning service to provision business users and their assignment to business roles. + +
+ diff --git a/docs/continuous-integration-and-continuous-delivery-d973132.md b/docs/continuous-integration-and-continuous-delivery-d973132.md new file mode 100644 index 0000000..60e3336 --- /dev/null +++ b/docs/continuous-integration-and-continuous-delivery-d973132.md @@ -0,0 +1,13 @@ + + +# Continuous Integration and Continuous Delivery + +You can get basic knowledge for setting up and implementing continuous integration and delivery processes together with an overview of the concepts and principles of continuous integration and delivery, so you can plan your own continuous integration and delivery process. See: + +- [Basic Concepts and Principles](https://help.sap.com/docs/CICD_OVERVIEW/ee5a61247061455ab232c19179fe4c3b/af68ca6dddda47dd82782c68fd390f35.html?version=Cloud) + +- [Continuous Integration and Continuous Delivery Processes](https://help.sap.com/docs/CICD_OVERVIEW/ee5a61247061455ab232c19179fe4c3b/6129d7967f124436a9c71e29d9a05e53.html?version=Cloud) + + +You can also learn about the different solutions that SAP offers at the moment that will help you apply continuous integration and delivery in your software development. See [SAP Solutions for Continuous Integration and Delivery](https://help.sap.com/docs/CICD_OVERVIEW/8cacec64ed854b2a88e9a0973e0f97a2/e9fa320181124fa9808d4446a1bf69dd.html?version=Cloud). + diff --git a/docs/deploy-45d5acf.md b/docs/deploy-45d5acf.md new file mode 100644 index 0000000..21de403 --- /dev/null +++ b/docs/deploy-45d5acf.md @@ -0,0 +1,43 @@ + + +# Deploy + +SAP Application Programming Model \(CAP\) applications can be deployed in the SAP BTP, Cloud Foundry runtime or in the SAP BTP, Kyma runtime. Both runtimes can be used to host and run your custom code, while at the same time being connected to SAP BTP Multi-Cloud Services and your on-premise systems. Depending on your use case and the skill set of your developers, choose the runtime that fits your needs. See [Comparison: SAP BTP, Kyma Runtime and SAP BTP, Cloud Foundry Runtime](https://help.sap.com/docs/btp/comparison-kyma-runtime-and-cloud-foundry-runtime/runtime-comparison?version=Cloud). + + + +
+ +## Deploy in Cloud Foundry Runtime + +After completing the functional implementation of the CAP application by following the best practices, you can deploy your application in the cloud for productive usage. The essential steps are illustrated in the following graphic: + +![](images/Deploy_a_CAP_Application_in_Cloud_Foundry_Runtime_50243ce.png) + +With our recommended approach, the actual deployment in your SAP BTP, Cloud Foundry runtime is performed either by your [Continuous Integration and Continuous Delivery](continuous-integration-and-continuous-delivery-d973132.md) pipeline \(such as being provided by SAP Continuous Integration and Delivery service\) or handled by transports \(via [SAP Cloud Transport Management](https://help.sap.com/docs/cloud-transport-management?version=Cloud), optionally orchestrated by SAP Cloud ALM\). + +If you want to perform a manual deployment in the SAP BTP, Cloud Foundry runtime, see [Deploy in Cloud Foundry](https://cap.cloud.sap/docs/guides/deployment/to-cf). + + + + + +## Deploy in Kyma Runtime + +Like Kubernetes, Kyma is a platform to run containerized workloads. The service's files are provided as a container image, commonly referred to as a Docker image. In addition, the containers to be run on Kubernetes, their configuration and everything else that is needed to run them, are described in the Kubernetes resources. + +In consequence, two kinds of artifacts are needed to run applications on Kubernetes: + +- Container images + +- Kubernetes resources + + +The following diagram shows the steps to run on the SAP BTP, Kyma runtime: + +![](images/Deploy_a_CAP_Application_in_the_Kyma_Runtime_d3a3414.png) + +For detailed steps to deploying your application in the SAP BTP, Kyma runtime, see[Deploy in Kyma Runtime](https://cap.cloud.sap/docs/guides/deployment/deploy-to-kyma). + +If you want to perform an automated deployment via pipeline, SAP Continuous Integration and Delivery has a ready-to-use pipeline for CAP on SAP BTP, Kyma runtime. See [Continuous Integration and Continuous Delivery](continuous-integration-and-continuous-delivery-d973132.md). + diff --git a/docs/deploy-d7aec3c.md b/docs/deploy-d7aec3c.md new file mode 100644 index 0000000..dbd04ff --- /dev/null +++ b/docs/deploy-d7aec3c.md @@ -0,0 +1,4 @@ + + +# Deploy + diff --git a/docs/design-314ae3e.md b/docs/design-314ae3e.md new file mode 100644 index 0000000..a2f5470 --- /dev/null +++ b/docs/design-314ae3e.md @@ -0,0 +1,54 @@ + + +# Design + + + + + +## ABAP Cloud Design Principles + +ABAP Cloud is based on a model-driven architecture approach that focuses on improving development efficiency through standardization and formalization of the programming model and the tooling environment ensuring efficiency and scalability. Programming models generally define the design time software architecture with specific technologies, concepts, and development objects. It essentially defines a standard architecture for app and service development from the database to the business service exposure. + +ABAP Cloud builds on the strengths of powerful frameworks and a standardized architecture for different use cases, aiming at saving as much implementation time as possible while providing you with flexibility - you can model your business processes with apps and services based on your business requirements along predefined technical processes. As much as possible is handled by the frameworks to decrease the probability of consistency errors during runtime. This standardized and consistent architecture across all apps and services developed with ABAP Cloud has many advantages from development perspective: + +- Efficiency increase and scalability + + The developer efficiency is increased because standard architecture patterns are easily scalable. Once you are familiar with developing with the ABAP Cloud development model, the additional effort decreases with each developed service or application. + +- Adaptability and maintenance + + A standardized architecture fosters code quality and thus testability and code maintenance. ABAP Cloud comes with specific mock-frameworks for data models and events that support the code quality assurance and avoid regressions on all test levels. + +- High abstraction level + + The development model executes all low-level technical and infrastructure-related tasks. + + +The cloud-optimized ABAP languages like Data Definition Language or the Entity Manipulation Language match the data modeling requirements and are designed to support the modeling and ABAP-specific development process closely as possible. + + + + + +## Benefits of the Model-Driven Approach + +A standardized architecture approach saves you time and scales easily with multiple apps or services. In case of ABAP Cloud, also ensures the separation of concerns between data model behavior, and service exposure ensuring interoperability between different use cases, so that you can reuse data models for different purposes like analytical reports and transactional apps at the same time. + + + + + +## Transactional Consistency Across Applications and Services + +Interoperability is guaranteed because all implementations adhere to the same technical rule set, and the framework determines the technical contracts and process flows. This enables you to design end-to-end processes without having to worry about how to implement an authorization or locking concept for only for one specific part of the process. Instead, you make process design decisions that incorporate the technological advantages of the different ABAP Cloud technologies, frameworks, and building blocks in each step of a process. For more details about transactional consistency, see Transactional Consistency. + +**Related Information** + + +[Design a Transactional Application](design-a-transactional-application-608432c.md "") + +[Design an Analytical Application](design-an-analytical-application-8819cb7.md "") + +[Design an Integration Service](design-an-integration-service-ec2ac31.md "") + diff --git a/docs/design-a-multitenant-application-1ac614d.md b/docs/design-a-multitenant-application-1ac614d.md new file mode 100644 index 0000000..b62c64f --- /dev/null +++ b/docs/design-a-multitenant-application-1ac614d.md @@ -0,0 +1,50 @@ + + +# Design a Multitenant Application + +You can use the multiclient architecture of the ABAP system for multitenancy enablement and list the design principles to reach multitenancy. + +- Store tenant-related data in client-dependent tables of type A, C, or L. + +- Store system-related data in client-independent tables of type S. + +- Always add the selection of the client to ABAP database procedures \(AMDPs\). + + +Make sure consumers cannot modify the client parameter or any other part of the AMDP using the application or by tampering requests. + +- Don't generate development objects or other client-independent data system-locally in the provider system. + +- Don't evaluate the actual value of the 3-digit client field \(IF sy-mandt = ‘nnn’. …. ENDIF\). + + +You have to classify database tables according to their content. There are the following types: + +- Tenant Content \(client-dependent\) + + - Tenant configuration data – tables with delivery class “C” + + - Tenant application data – tables with delivery class “A” + + - Tenant temporary data – tables with delivery class “L” + + + Database tables for tenant content must be client-dependent. This means that the first field of the table must be of datatype “CLNT”. We recommend using the inline declaration „abap.clnt“. + + Only the content of client-dependent “C” and “A” tables is considered during tenant copy and tenant move. Content of client-independent tables that are not delivered from the development system and “L” tables are lost during tenant lifecycle processes such as tenant move. + + During tenant deletion, the content of all client-dependent tables is removed. + + The delivery class must be “C”, “A”, or “L”. + + The delivery classes “E”, “G” and “W” are not supported in the ABAP environment at all. + +- System Content \(client-independent\): System configuration data – tables with delivery class “S” + + Store data that is defined by the service provider and not specific for any tenant in a client-independent “S” table. Define the content in the respective development system and export it as TABU entries via a development transport request. The content is considered as code and imported like other development artifacts into subsequent systems such as the provider system. + + Access to tables and all further ABAP Cloud Syntax is by default tenant aware. + + +See [Multitenancy Development Guideline](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/multitenancy-development-guideline). + diff --git a/docs/design-a-transactional-application-608432c.md b/docs/design-a-transactional-application-608432c.md new file mode 100644 index 0000000..0f7d58e --- /dev/null +++ b/docs/design-a-transactional-application-608432c.md @@ -0,0 +1,20 @@ + + +# Design a Transactional Application + +Transactional applications and services implement use cases where read, create, update, or delete operations on the data set are required. + +A transactional application consists of a client, the business service exposure that defines the service that is consumed by the client, domain-specific models and domain-specific logic that implements behavior. Data is either accessed from the SAP HANA database or with the service consumption model from remote services. + +The following graphic gives you an overview of the main parts of the transactional application’s architecture: + +![](images/Design_a_Transactional_Application_d715f00.png) + +The client is either an SAP Fiori elements or SAPUI5 application or any API consumer. + +In the business service exposure the kind of service that is exposed is defined. A UI service is an OData service specifically designed to cater to SAP Fiori elements consumers but is used for OData UI consumers in general. API services expose the underlying data- and behavior-models as APIs to unspecified clients either with the OData protocol or business events. It is possible to define both UI and API services at the same time. + +The ABAP RESTful Application Programming Model \(RAP\) is used to create UI and API services including the domain model and implementation. The center piece of RAP is the business object. RAP's business objects consist of the data model implemented with the core data services and the transactional behavior implemented with the Entity Manipulation Language \(EML\). + +The architectural separation of concerns between the domain-specific implementation and the business service exposure allows you to expose the same data model for analytical and transactional applications and services. + diff --git a/docs/design-an-analytical-application-8819cb7.md b/docs/design-an-analytical-application-8819cb7.md new file mode 100644 index 0000000..f5d5095 --- /dev/null +++ b/docs/design-an-analytical-application-8819cb7.md @@ -0,0 +1,14 @@ + + +# Design an Analytical Application + +Analytical Applications implement use cases where multi-dimensional data models are queried to analyze business data and derive business KPIs. The main focus is on creating data models to analyze business data in embedded or cross-system setups and to visualize the data in dashboards or as part of apps. + +The following graphic gives you an overview of the main parts of the analytical architecture: + +![](images/Design_an_Analytical_Application_80e21cc.png) + +Analytical data models are CDS-based. The analytical provider consists of a reusable star or snowflake schema \(based on cubes, dimensions, and hierarchies\) and scenario-specific analytical projections \(analytical queries\). + +ABAP Cloud enables you to develop InA-based services for multidimensional user apps. The InA services are either consumed in SAP Fiori UIs or by SAP Analytics Cloud. + diff --git a/docs/design-an-integration-service-ec2ac31.md b/docs/design-an-integration-service-ec2ac31.md new file mode 100644 index 0000000..4db03bc --- /dev/null +++ b/docs/design-an-integration-service-ec2ac31.md @@ -0,0 +1,12 @@ + + +# Design an Integration Service + +Integration Services implement system-to-system communication use cases to enable data or process integration between systems across a range of different protocols and frameworks. + +You can use data integration to exchange data between two or more parties without being part of specific and predefined business process, for example, for analytical use cases. + +Process integration requirements can span data exchange across system boundaries like, for example, to trigger follow-on actions with events when a value in an app is changed. + +![](images/Design_an_Integration_Service_c04a651.png) + diff --git a/docs/design-dcdc2d9.md b/docs/design-dcdc2d9.md new file mode 100644 index 0000000..7b1901c --- /dev/null +++ b/docs/design-dcdc2d9.md @@ -0,0 +1,4 @@ + + +# Design + diff --git a/docs/develop-58df1d6.md b/docs/develop-58df1d6.md new file mode 100644 index 0000000..7820f90 --- /dev/null +++ b/docs/develop-58df1d6.md @@ -0,0 +1,129 @@ + + +# Develop + +Learn more about developing applications on the SAP BTP, Cloud Foundry environment. + +> ### Note: +> Direct reuse from [SAP BTP Core documentation](https://help.sap.com/docs/btp/sap-business-technology-platform/development-in-cloud-foundry-environment?version=Cloud). + + + + + +## Overview + +SAP BTP, Cloud Foundry environment is an open Platform-as-a-Service \(PaaS\) targeted at microservice development and orchestration. + + +

+
+ +Develop polyglot applications + +
+
+ +Build on open standards with SAP Java, Node.js, and Python buildpacks or bring your own language with community buildpacks for PHP, Ruby, Go. + + + +
+ +Manage the lifecycle of applications + +
+
+ +Start, stop, scale, and configure distributed cloud applications using standard Cloud Foundry tools, our web-based administration user interface for SAP BTP, and dev-ops capabilities. + + + +
+ +Optimize development and operations + +
+
+ +Use the rich set of SAP BTP services including messaging, persistence, and many other capabilities, such as built-in security, compliance, elastic scale, and high-availability setup. + + + +
+ +Use the application programming model + +
+
+ +Use programming languages, libraries, and APIs tailored for full-stack application development. + + + +
+ +Manage Cloud Foundry orgs and spaces + +
+
+ +Create and delete Cloud Foundry orgs and spaces and add members. Create, assign, and change space quota plans. + + + +
+ +Use built-in cloud-native capabilities + +
+
+ +Utilize cloud-native principles built into the platform, such as containerization and multitenancy, to create resilient, portable, and efficient applications. + + + +
+
+ + + +The following graphic is designed to help you find the information you need for your programming purposes. The bottom row represents the tools, frameworks, services, and deployment options recommended by SAP. If you want full flexibility you can also bring your own development tools and languages, as shown in the top row. + + + + + +## Development Options Overview + +![](images/Image_Map_Development_Options_Overview_d716bab.png) + + + + + +## The Recommended Path + +This development approach offers guidance for important development decisions and features proven best practices recommended by SAP. You can follow a model path for application and service development that is based on the Cloud Application Programming Model \(CAP\). When working with CAP, we recommend using Java and Node.js because they receive the highest level of tool support and are well suited for most use cases. This path provides you with a list of key aspects to consider, but the order shown in these steps isn't mandatory. You can adapt the steps as you wish to better fit your use case. + + + + + +## Choose Your Own Path + +You're not forced to use one language exclusively, but can choose between Java, Node.js, and Python. + +For more information on the supported programming languages, see: + +- [Developing Java in the Cloud Foundry Environment](https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Validation/en-US/a3f90069d6cd41da82f34a6123d82ce6.html "Find selected information for Java development on SAP BTP, Cloud Foundry and references to more detailed sources.") :arrow_upper_right: + +- [Developing Node.js in the Cloud Foundry Environment](https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Validation/en-US/3a7a0bece0d044eca59495965d8a0237.html "This section offers selected information for Node.js development on SAP BTP, Cloud Foundry and references to more detailed sources.") :arrow_upper_right: + +- [Developing Python in the Cloud Foundry Environment](https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Validation/en-US/acf8f49356d047fbb1a4d04dcec3fd36.html "This section offers selected information for Python development on the SAP BTP, Cloud Foundry environment and references to more detailed sources.") :arrow_upper_right: + + + + +If you already have monolithic applications running on SAP BTP and are looking for a way to run them in the Cloud Foundry environment, read our migration best practice guide. See [Migrating from the Neo Environment to the Multi-Cloud Foundation for SAP BTP (Cloud Foundry and Kyma)](https://help.sap.com/viewer/b017fc4f944e4eb5b31501b3d1b6a1f0/Validation/en-US/aae4e0ae1cdf434b908c3c8cf3ea942a.html "Learn why and how to migrate scenarios from the Neo environment to the multi-cloud foundation for SAP BTP. This guide is for SAP Business Technology Platform (SAP BTP) customers with scenarios in the Neo environment that need to move to the multi-cloud foundation, including the Cloud Foundry environment or the Kyma environment.") :arrow_upper_right:. + diff --git a/docs/develop-a-multitenant-application-3151e2a.md b/docs/develop-a-multitenant-application-3151e2a.md new file mode 100644 index 0000000..cf220ba --- /dev/null +++ b/docs/develop-a-multitenant-application-3151e2a.md @@ -0,0 +1,18 @@ + + +# Develop a Multitenant Application + +Multitenancy in the SAP BTP, ABAP environment enables independent software vendors or partners, which are the application providers, to develop and operate ABAP solutions as software as a service \(SaaS\). It leverages the SAP BTP infrastructure while hosting several consumers on the same ABAP system. The resources on SAP BTP consumed by the solution are paid for by the application provider. + +Application consumers, which are the end customers of the provider, subscribe to a provider’s multitenant application and use it in a specific consumer subaccount, which is called a tenant. Consumers access the provider’s SaaS application via a consumer-specific URL. Consumers cannot see the data of other consumers and Identity and Access Management is kept isolated between different tenants. + +The multitenant application is deployed to the provider subaccount and serves as the entry point for the consumer-specific URLs so that requests are routed to the corresponding consumer tenant in the ABAP system. Only after the multitenant application has been deployed, the application will be available for subscription to consumers. See [Developing Multitenant Applications in the ABAP Environment](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/developing-multitenant-applications-in-abap-environment). + +The ABAP system used to serve the application to the consumers is provisioned in the provider subaccount during the first subscription. See [Creating an ABAP System](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/creating-abap-system). + +Different tenants are created as separate clients in the system. Tenants in the ABAP system have different capabilities represented by the tenant business type and lifecycle status. The ABAP system contains by default a tenant used by the application provider \(client 100\) for system-level operations like the import of software components to the system. For each subscription to the multitenant application, a tenant used by the consumer \(client \>= 200\) is created. If any consumer tenants still exist in the ABAP system, the system cannot be deleted. + +The Landscape Portal functions as a central plane for tenant management that allows providers to perform lifecycle management operations such as add-on updates, creating test tenants or support users, and more. For more information on how to access and use the Landscape Portal, see [Landscape Portal](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/landscape-portal). + +Multitenancy in the SAP BTP, ABAP environment is technically based on client-dependent database tables. Developers need to make sure to define their custom database tables with the CLIENT field and the respective delivery class. The ABAP SQL access takes the current CLIENT of the logged-on user automatically into consideration. See [Multitenancy Development Guideline](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/multitenancy-development-guideline). + diff --git a/docs/develop-c8906e4.md b/docs/develop-c8906e4.md new file mode 100644 index 0000000..ceb93a4 --- /dev/null +++ b/docs/develop-c8906e4.md @@ -0,0 +1,4 @@ + + +# Develop + diff --git a/docs/development-guidance-cc37b7a.md b/docs/development-guidance-cc37b7a.md new file mode 100644 index 0000000..1999b9d --- /dev/null +++ b/docs/development-guidance-cc37b7a.md @@ -0,0 +1,4 @@ + + +# Development Guidance + diff --git a/docs/enterprise-application-building-blocks-03139be.md b/docs/enterprise-application-building-blocks-03139be.md new file mode 100644 index 0000000..c8e5b51 --- /dev/null +++ b/docs/enterprise-application-building-blocks-03139be.md @@ -0,0 +1,6 @@ + + +# Enterprise Application Building Blocks + +![](images/Technical_Architecture_251a03a.png) + diff --git a/docs/from-concept-to-code-a5b8129.md b/docs/from-concept-to-code-a5b8129.md new file mode 100644 index 0000000..55c31d5 --- /dev/null +++ b/docs/from-concept-to-code-a5b8129.md @@ -0,0 +1,376 @@ + + +# From Concept to Code + +Before starting to implement an application on SAP BTP, it's better if you do some planning and research beforehand. + + + + + +## Identify the Business Problem + +A business problem represents a gap between the desired and actual outcome of a task. It can be any hurdle, situation, or variation that prevents a business from achieving its objectives. A business problem may not have an immediately obvious resolution, and may be masked or hidden by perception and assumption. To define a true problem, you need to remove the factors that obscure the real reason behind the problem. + +To solve a problem for an internal or an external customer when using a product, you need to ask questions that can help you understand the customer’s needs, expectations, pain points, and feedback. Some examples of such questions are: + +- What are the tasks that customers are trying to achieve with a product? + +- How do the customers use the product in their daily workflow? + +- What are the main challenges or frustrations that the customers face when the product? + +- How can you improve the product to better serve the customers' needs? + +- How satisfied are the customers with the product and the customer service? + +- What are the benefits or value that the customers get from the product? + +- How do the customers measure the success or impact of the product on their goals? + + + + + + +## Deliver a Cloud Application from Concept to a Final Product + +The columns in the following graphic show for which use cases using a well-modularized architecture suits best, what is the motivation, the steps and the benefits. + +This image is interactive. Hover over the image and click the highlighted areas so you are placed in the respective cell in the table. + +![](images/Well-Modularized_Architecture_53b6d43.png) + + + +### Context + +Let's assume the following scenario: you and your team are tasked to deliver a multitenant application on SAP BTP or SAP S/4HANA Cloud Public Edition and you want to base the application either on SAP Cloud Application Programming Model \(CAP\) or on ABAP Cloud. + + + +### Trigger + +Use the following triggers as a motivation to engage in sophisticated design process: + +- Renovating, evolving or reimplementing an existing solution + + This involves transforming a legacy system into a modern, more efficient and scalable solution. Legacy systems often pose difficulties in terms of maintainability, integration with newer technologies, and can be a bottleneck for a business's growth. This transformation process could involve refactoring code, adopting new architecture patterns like microservices, or completely reimplementing the software with a new technology stack. + +- Designing a new Software-as-a-Service solution based on microservices + + Software-as-a-Service is a model where software is provided over the internet on a subscription basis. When designing a new Software-as-a-Service solution based on microservices, the system is decomposed into a collection of services that are independently deployable, scalable, and can be developed by different teams. Each microservice corresponds to a specific business capability and can be developed, deployed and scaled independently. This architectural style promotes flexibility and scalability, and it can speed up the development process by enabling parallel development across teams. It's important to design these services around the business capabilities. + +- Considering more asynchronous behavior and event-sourced applications + + Asynchronous behavior in an application refers to operations that can be executed independently and don't block the flow of the program. This makes the application more responsive and can improve system-wide performance. Event sourcing is an architectural pattern that stores changes to the application state as a sequence of events, rather than just storing the current state. This can provide a full audit trail, simplify debugging by allowing the state of an application at any point in time to be recreated, and can facilitate asynchronous, message-driven architectures. By integrating these into the system, it can enhance the system's scalability and reliability. + +- Designing a Software-as-a-Service application on SAP BTP + + When designing a Software-as-a-Service application on SAP BTP, the application is built to be delivered over the internet and leverages the services provided by SAP BTP. This can include data storage services, AI and machine learning capabilities, analytics and more. Using such a platform can speed up development time, as many of the underlying infrastructure considerations and services are taken care of by the platform. + + + + +### Steps + +Follow these steps to ensure smooth implementation of your application: + +1. Understand the business domain. + + Understanding the business domain is of the utmost importance. The business domain refers to the area of expertise or business that a software solution is intended to support. This understanding includes the business's processes, rules, norms, and intrinsic challenges. This knowledge forms the basis of the model that the software will encapsulate. Developers should work closely with domain experts to ensure that the software accurately reflects the real-world domain, with all its complexity and nuance. A thorough understanding of the business domain will help in creating software that is useful, flexible, and capable of evolving alongside the business. + +2. Identify the required modules. + + Identifying the required modules means breaking down the overall system into smaller, manageable, and functionally cohesive units. Each module is designed to encapsulate a specific portion of the domain model and is typically aligned with a specific sub-domain or business capability. By identifying the modules, developers can ensure separation of concerns and make the system more maintainable. Each module should be able to operate independently, reducing dependencies and allowing for parallel development and easier testing. + +3. Define the communication between the modules. + + Once the modules are identified, the next step is to define how they will interact with each other. This involves establishing interfaces, contracts, or APIs for communication. This is often guided by the concept of context mapping, which helps to define the relationships and interactions between different related contexts. Communication between modules should be carefully managed to preserve the autonomy of the modules. The communication could be synchronous or asynchronous, and could be based on various patterns like request/response, events, or commands. + +4. Plan the implementation. + + After you have an understanding of the business domain, have identified the required modules, and defined how they will communicate, the next step is to plan the implementation. This is the moment where you decide which technologies, patterns, and practices to use to build each module. This can include selecting the programming languages, databases, message brokers, and other tools that will be used. It also involves choosing the architectural patterns \(like layered architecture, hexagonal architecture, or microservices\) and design patterns that will be applied. The implementation should be guided by the principles of the domain model, encapsulating the business logic in entities, value objects, aggregates, and domain events. Additionally, the implementation should consider non-functional requirements like scalability, performance, security, and maintainability. + + + + +### Value + +If you follow the steps mentioned in the previous section, you will achieve the following benefits: + +- Well-modularized architecture. + + In the context of software development, a well-modularized architecture refers to the design of a system where the different functionalities and responsibilities are partitioned into distinct modules. Each module encapsulates a specific subset of the system's behavior and can be developed, tested, and maintained independently of the others. Modules are often designed to be loosely coupled, meaning that they interact with each other through well-defined interfaces, but their internals are hidden from each other. This encapsulation increases the maintainability of the system because changes inside one module don't impact the others. It also improves the scalability of the system, as individual modules can be scaled up or down based on their individual requirements. Finally, modularization can increase the speed of development because different teams can work on different modules at the same time without interfering with each other. + +- Higher likelihood to delivery value to your customers. + + The focus is on understanding the business domain and creating a software model that reflects and serves that domain. By aligning the software closely with the business needs, there's a higher likelihood of delivering value to the customer. This comes from a deep understanding of the business, its rules, and its needs. This understanding guides the software development process, ensuring that the software solves the right problems and provides the features that the business actually needs. As a result, the software is more likely to be valuable to the end users, who are the ones interacting with the business domain on a daily basis. + +- Better decomposition that would lead to shorter innovation cycles and clearer focus. + + Decomposition in software design is the process of breaking down a complex system into smaller, manageable parts or components. Better decomposition, often achieved through practices like domain-driven design and microservices architecture, allows for clearer focus on individual parts of the system and can lead to shorter innovation cycles. With a well-decomposed system, teams can focus on specific components or services, understand them thoroughly, and make improvements or innovations without having to understand the entire system. This can significantly shorten the time it takes to go from an idea to a working feature, because changes are localized to specific parts of the system and don't require broad, system-wide understanding or modifications. Moreover, better decomposition can lead to clearer focus because each component or service can be designed around a specific business capability or domain concept. This allows the team working on that component to focus on the specific business problems and user needs related to that capability or concept, rather than being distracted by other parts of the system. This kind of focus can lead to better solutions and more valuable software. + + + + + + +## Understand Modularization in General + +Modularization is a general programming concept where you separate program functions into independent pieces, called modules. These modules then act like building blocks, with each block containing all the necessary parts to execute a piece of the functionality. When the modules are put together, they make up the executable program. + +A modular code is: + +- **Easier to maintain** + + It's easier to read, understand, debug, and modify code that is modularized. It also reduces the risk of introducing errors or conflicts when changing or adding new features. A good modularization also enables reuse of existing modules across different products, which saves time and effort. + +- **Easier to test** + + Each module can be tested individually and independently from the rest of the system. This also facilitates automated testing and continuous integration, which improve the quality and reliability of the software product. + +- **Easier to scale** + + Each module can be deployed, updated, or replaced separately, without affecting the whole system. This also allows for parallel development and faster delivery of new features or bug fixes. A good modularization also supports distributed and cloud-based architectures, which enhance the performance and availability of the software product. + +- **More reliable** + + Each module has a clear and well-defined interface and responsibility. This also reduces the coupling and dependency between modules, which minimizes the impact of failures or errors in one module on the rest of the system. A good modularization also enables fault tolerance and recovery mechanisms, which improve the resilience and robustness of the software product. + +- **More adaptable** + + Each module can be easily modified or extended to meet changing requirements or customer needs. This also increases the flexibility and diversity of the software product, as different modules can be combined or configured in various ways. + +- **Easier to evolve** + + Each module can be evolved independently or collaboratively, without affecting the overall functionality. This also promotes innovation and creativity, as new modules can be created or reused to generate novel solutions or features. + + + + + + +## Understand Modularization in the Context of Microservice-Based Architecture + +The right modularization is very important in the context of microservices, because microservices are essentially a form of modular software development. Microservices aim to create small, focused, and independent services that communicate through well-defined interfaces and protocols. Each service is responsible for a specific functionality or domain, and can be developed, deployed, and scaled independently from other services. This way, microservices enable a high degree of modularity, flexibility, and agility in software development. + +However, not all modularizations are equally effective or beneficial for microservices. A poor modularization can lead to problems such as: + +- **High coupling and low cohesion** + + If the services are not well-defined and separated, they may depend on each other too much, or have too many responsibilities. This can result in tight coupling between services, which makes them hard to change, test, or reuse. It can also result in low cohesion within services, which makes them complex, inconsistent, or redundant. High coupling and low cohesion reduce the maintainability, testability, and reliability of microservices. + +- **Service sprawl and fragmentation** + + If the services are too fine-grained and numerous, they may become difficult to manage, monitor, and coordinate. This can result in service sprawl, which increases the operational complexity and overhead of microservices. It can also result in service fragmentation, which reduces the performance and availability of microservices. Service sprawl and fragmentation reduce the scalability and adaptability of microservices. + +- **Lack of alignment and consistency** + + If the services are not aligned with the business domain and goals, they may not deliver the expected value or quality. This can result in lack of alignment, which reduces the relevance and effectiveness of microservices. It can also result in lack of consistency, which reduces the usability and interoperability of microservices. Lack of alignment and consistency reduce the evolution and innovation of microservices. + + +The right modularization is essential if you want to benefit from using microservices. For example: + +- **Maintain modules easily** + + The right modularization helps you create simple, consistent, and reusable services that are easy to read, understand, debug, and modify. It also enables the isolation and decoupling of services, which reduces the risk of errors or conflicts when changing or adding new features. + +- **Test each service individually and independently from the rest of the system** + + The right modularization enables you to use automated testing and continuous integration, which improve the quality and reliability of the software product. + +- **Deploy, update, or replace each service separately, without affecting the whole system** + + The right modularization supports distributed and cloud-based architectures, which enhance the performance and availability of the software product. + +- **Have clear and well-defined interface and responsibility of each service** + + The right modularization reduces the coupling and dependency between services, which minimize the impact of failures or errors in one service on the rest of the system. It also enables fault tolerance and recovery mechanisms, which improve the resilience and robustness of the software product. + +- **Modify or extend each service to meet changing requirements or customer needs** + + The right modularization increases the flexibility and diversity of the software product, as different services can be combined or configured in various ways. + +- **Evolve each service independently or collaboratively, without affecting the overall system functionality** + + The right modularization promotes innovation and creativity, as new services can be created or reused to generate novel solutions or features. + + + + + + +## Learn Why Domain-Driven Design Is an Adequate Approach + +Domain-driven design is a major software design approach, focusing on modeling software to match a domain according to input from that domain's experts. Under domain-driven design, the structure and language of software code \(class names, class methods, class variables\) should match the business domain. + +Domain-driven design helps achieving the traits of a good modularization by: + +- **Placing the project's primary focus on the core domain and domain logic** + + Domain-driven design emphasizes close collaboration between domain experts and developers to create software that accurately models the problem domain. By focusing on the domain's core concepts, relationships, and behavior, domain-driven design enables you to create more robust, flexible, and maintainable systems. + +- **Building complex designs on the model of the domain** + + Domain-driven design helps you to define the boundaries of each module by identifying the core concepts, aggregates, and their associated business logic. This enables teams to develop and maintain these modules independently, promoting scalability and modularization within the overall system. + +- **Initiating a creative collaboration between technical and domain experts to iteratively refine a conceptual model that addresses particular domain problems** + + Domain-driven design fosters a common language shared by domain experts, users, and developers: the ubiquitous language. The ubiquitous language is used in the domain model and for describing system requirements. This enhances the communication and understanding among the stakeholders, and facilitates the adaptation and evolution of the software product. + + + + + + +## Learn About the Domain-Driven Design Starter Modeling Process + +The domain-driven design starter modeling process is a process for learning and applying domain-driven design in practice. It covers eight steps from aligning with the business model to coding the domain model. It is flexible and iterative, and suitable for beginners who want to master domain-driven design. See the [Domain-Driven Design Starter Modeling Process](https://github.com/ddd-crew/ddd-starter-modelling-process) GitHub repository that is part of the [Domain-Driven Design Crew](https://github.com/ddd-crew) GitHub organization. + + + + + +## Check How Complex Your Scenario Is + +Check which requirements your scenario has and sum up the points for the respective requirement. If your score above is 7 or higher, you should evaluate how to leverage the concept and tools of the domain-driven design in your project. + +We also recommend that you follow the domain-driven design modeling process. + +See [Domain-Driven Design Starter Modeling Process](https://github.com/ddd-crew/ddd-starter-modelling-process). + +**** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +Scenario Requirements + + + +Points + + + +Comments + +
+ +For applications that work with the four functions: create, read, update, delete \(CRUD\), and only perform simple database queries, no special design is required. A simple database tool with a user interface is enough. + + + +0 + + + +A simple application does have the complexity to benefit elaborated design methods. + +
+ +You have a simple application if it has up to 30 use cases. You can build it with a CAP application that works with the four functions: create, read, update, delete \(CRUD\). + + + +1 + + + +Just for reference, this means your application does not have more than 30 functions. + +
+ +Your application has between 30 and 40 use cases. + + + +2 + + + +Make sure you don't underestimate any hidden complexities. + +However, having many methods or functions doesn't always mean high complexity. They might be simple and well-structured. It's when a class or module has many responsibilities, indicated by methods or functions that perform widely varying tasks, that complexity becomes a challenge. + +
+ +Your application may not be complex now, but it could grow later. + + + +3 + + + +Talk to domain experts to discuss the complexity of your application. The complexity increases with the number of features that the stakeholders need. + +
+ +Your application will change a lot over time, and you don’t know what kind of changes will happen. + + + +4 + + + +You require a sophisticated design method to manage the complexity of refactoring your model over time. + +
+ +You are building an application in a new and exciting domain that nobody has done before. This means it could be complex and challenging. + + + +5 + + + +You need to collaborate with domain experts and try different models to make your application work. + +
+ +**Related Information** + + +[Domain-Driven Design Crew GitHub Organization](https://github.com/ddd-crew) + +[Domain-Driven Design Community at SAP](https://github.com/SAP/curated-resources-for-domain-driven-design) + diff --git a/docs/hands-on-experience-7fa228f.md b/docs/hands-on-experience-7fa228f.md new file mode 100644 index 0000000..51be17a --- /dev/null +++ b/docs/hands-on-experience-7fa228f.md @@ -0,0 +1,4 @@ + + +# Hands-On Experience + diff --git a/docs/images/CAP_Overview_7e017ac.png b/docs/images/CAP_Overview_7e017ac.png new file mode 100644 index 0000000000000000000000000000000000000000..5f5c0a55b7833ad2c3eaf9bb8a21672085376bc2 GIT binary patch literal 20964 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 BaXSD2 literal 0 HcmV?d00001 diff --git a/docs/images/Deploy_a_CAP_Application_in_the_Kyma_Runtime_d3a3414.png b/docs/images/Deploy_a_CAP_Application_in_the_Kyma_Runtime_d3a3414.png new file mode 100644 index 0000000000000000000000000000000000000000..146dd3ec61ff88fe5ca5ea71585f9496707b93bb GIT binary patch literal 15770 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 literal 0 HcmV?d00001 diff --git a/docs/images/Design_a_Transactional_Application_d715f00.png b/docs/images/Design_a_Transactional_Application_d715f00.png new file mode 100644 index 0000000000000000000000000000000000000000..94a53a5b40d2621e4dcc1341cf25a92ede8ce795 GIT binary patch literal 29832 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

5lDu(W3mgx$Uv_8LC~9>oRxPw5UM zvwR6N)-eV$x4>1?`MM(wf2fo3)pY3tVMGegr{#Je58}lo(&yoCrFDz zoo6QivdM>_FAEuPp#2I60P=qptCE3=pA7TUk2mAzZDixenpSEm+i3UoTg7^?2EnKi z7Y8qTPTBIU2{sSbsFqqbare0-vop~gWhUJ6EKZUCI{OU|!h_9I;5n}H2z+z98T^fq z*8MQTdMVTIn~t0!@!g)1Q2&&*L$-wnh(tsDzC2*q>H&t5s<^Y@)^9jU6i{1R_+2-}I_o%~fLjsDO6 zuFjlylphMazc= zR2{r#JfecsoT?R2nG)owxM)&>QZ=_Gw4OF1GMD2xwq)a7w~ngQ+2=p~d^)MmYusrr zqcs`A&4q6M{`_SI{Cgwjb=r5iP!Y4N-tuf7bo^Qjm3*-;hjIYe&->8(UY&PC@SU{rVW0yJu8dogW{8W2 z?zDSE1ZjBvls%S?1V9o!S`#a8wgC}Zsa+7~eZrN>-G*v<0z5H#q=WUry$(5BRuej6 zT*G^=VTF(4gq>QyS}H;EzymV@PkBs|J%g9=#{UIGmk5J_PAOS z$S5LjydvwvRD6xygnb|A8*ENKIc+S)5{=R^VZpRnXeLyl&wtmSZ)=lAk?UDvw>Imp zS!Lk#QsQXS=1^^-=p$CK2(r7nG5_k8p7$7CyuOErqUGy~>BG~UPqT3kn(BGUV(?JK z2x)VRrW;iNNCh*6Sv=jWNVE8ZlVn_c&DQF#XWkxlZl=liTWUu}-uL3r|1#fH1Vi{B z9+ggHMu+tjf&>RdVS!hE-Sk^p=OHWM*W|3p)jw`f7h{iImbGioQ||AUvt(zVi}k9h z*alVzHMKuDRF53KF z>BJ$WlG#Yus>ORysM#k%rI>bnA$q{s#%HYO`__S0B^}1(tSYJVW3h1W$$Xdk@y3UR zKGGTEQnJINIhGi~NIB6@?iVodns`k|HMHbA{_<6gsR1mAa-*&gFn2DB(+G4BsrN;%l4w_sb`ES{PZe%M(UYGyUjEK`?n z98QY1aDH(w(F8A9W<)IkK1H?q*8K?+A}4IzPxj6S=IQhRi|7ZrpD9*dBM}|s@3_d| zujwvSJU^*Oe_9wrinC-$Y@;Q5${9424Ee2`pNhT`OrAV2mYFB>vT9tz0a(w=3L-?B zeqk7sg<``pP=sf%S=8?Ojl|p-fkE6D^okZF9==7{Dk@9O+yXg@MJXDYtI69a6Tam3 zZ4t_>MOYg=>G@-ta$ol9q&%5Of#c?%|eBn zO^Fy34S01?LEK8m_CW|F`V5DMf3j;~v^g{5Wem*wtb0uRkVUy1{rsf5cw~+v03U?y zY)OL?#3aq;d35T&moxNf0eG6xgj_$ys5VaO)54@?b#6_bE9R?k$RKdxWwlpnK!2iM zOP3b3TGq7>_ELMV5#k|hCIdnbQ7}=YMkEMB8`ywq$b)B0b%d!tt2rMM$a3-qw#d6*fnC(u7GHg`4k!8=|aus%@O0DvFLF0d{&5uewO(fXC6E5Ezqk zR1*;FxGgU4mkpN@3Q0bij|J`^)_|LIQj{ZUO3=7Yh{I^1;#wox!R znFQGwFPln|>G7lY=GN>wW2G%Ph9M!b8~#@Jgq{-9jY5&fg9@i=q6lF8Ji&DA2#fd8 z_-NP0#oVnm*TIszz1hAkOw{y~3Te#Zj*k8WGOO)0iWz?HINx7(^H*I#zWWWz=-J*^ zExmQtlFb|v46#mF2NLkws6YVlu$khb2!| ztw6Yf=@B6fI7L)SrNpcaAjnCySg93viy~z3$#dyoq>PYA<@IUQYz^-A1?bM*M_h(X zTueRV>#Nb>q_xOaY4ph$f#uOa{P!0{0Cfsm&{cT7_QfJy!ThK1%3b}x?(1LG3?)+* zM14u6bN$=ZDMk*SNefc>MRfpVQ5A2B?8Nh^89UQP%V2hsZ0bo3!O#1ohQ~Jd#zTVm zFqO#MECQRw#po~fqDoP84^xO1#5mJeScN+5fcD2IPAkw@*AIp6DpKk~AD8J(u67^I zzwQ^t#-HBDBt+pUGJ~}SG3j8fy77X0i)Yx)Hf07}9@KyG+jaGqs zetM_LJOL=ysadc6q~yDcP^zp5o^Bk!seW-w-|P_>Xc*#9b{Tj~bomWGWL>9s$<$?d z7c^LCc$c_t_4%fqHV$J(KmO@ccdbjk*krirQtlA2at_nS+m4Q=YzSkVU!Lt}F#w(b zAeACgLNz;{awV*M_qb5iR2duQIi+mi-L&);KN+VRPx(qZ)1_BykT-Z>tm>&OqqZ*+ zf(xT`*jjn&>DH5E_5zr&_XQcl{=!MPrFtoU-F%8vTfb5Bt>^2-99|9xjFaNGL3v&G zQ%E7=>cLLJYifStjLh#vSH?^JCITrnUs3xf*^Bor;0$pgKi}5mCBE-U?8V~$xb_G_ z03&~lhq_bRDeTMG4nt}eq(cy;g_rtJ<72;<5%C&qkvC?FSZA@EY7jviI8s(Zc|ZEg z)&1@6J^YX)=zW|Po))S>JX!AQWvrKQQM01vh81{zR@nm!9>p}n9puK4^_&UF=r&_t z31YALqN6jK^*TNSE3dgqwA=_=AhrT*nXy?kR}qpUh8U^c2#MBaigh8oq%ix$2+k2? z{PT=bpGQyPyv1DDJ{c>Y)f;|$%|x+8MEFu^CGzTFSH96|9+pLzttDSP9&GK@Pb;UQ zvEF+66XYP9+%7kcXR4&}L|&|-owvz#R73ykvlKOdy*rai!OC5C6SxC?@)ZCveS>xr zkx>!sgsxEgH+BE~taK4;TUmDB`4M+q!6_7F5txB(vR-sJTcd7@3~DD;e5U`=F07Ym z&#;EkfUzBv-d2(mR8MLiaG%INi&(#TUl; zZ%@-c!(vGD?(i}KIG9LVQo$Z%mB$KM25te~v(#UiNa* z18}zvq+cw!Sw$y8v&%=|MIvcqt209B%)Uh#yRtQfni+-&xQfea4wp+o38i>rGO>E z20*D#5vth3psoX&#F=9U)*=4jh9w#UR1^q!9kkZax0xYTyg`UOn&?{FW>t^rBPIU_ zNsDhy*57I>6}cyd)#+oKI?Wx7nJF+qJs#+8I+kXX6 z*I8H$3zX0OnHJUXsk))3jc)OLRKR@;RLFLIc??;E_xa!DjDZ{Yb*6jCwjKaMO|~o$ zb>RcWEG`9}WVe|KGz%OZsG1Mf&BLjW)mporH$^aGHh*UOTOkbt~I zB*A(d3jg@cb?$i&`9D7cRsj-g*FQ3S*XLiB7llKJAh#%;xaYws4j4V)CgK9>t3Zfs zmWP;IibI?65rSN;-|aSBYhh?v-;Y)%nx+=weHRPN*mYkmfuJE zy`r`~rVEgQ%H6L7ua@GE z1tTp^)VTKiALPAtSXEosH+XA`EH znoi_g?u}H6->diUWhuzwTGGR_+|eII%9Z=_oDq`5=bz=}x~%bkph>+?*YcaL_D+%6 z`V1}PR?oT$47McBJ)05ypZq}wvKju9oQKBQ|Mi*wJ0IfnI4jZ7(W;;AVlgINkdHfP z^4|Xz7NX&7y9kFHTDu+H$6faP+umyWGtTtL$-f8WukAuYz1H)rF*&x8M$f zT|ma2-65i6HS73O3bN59sVodME7^`rYq!_efd1x}?7 zI9>(JAAb4G9cq^h^jiRdcqJb0Lp7VD&m=ZOMr~!~Gc)Jw_JAyNl1~^zb40fcK&0>} zcXqPLB%{I0MjiH~c*oV~{^k7=zfAey$Zi%xc|c(k#iEnZsf4zr;f&RF{BRr*EH*}m zZb_4!;#T)m?aB+o%#b?VpK;6ctm^+#DNHy++@O0#VcEyoX)WZ7bItTHco_?Q_VgO4 ziT3nb$GIJ?wXk-+&(K3^st_-#Ep|B-V&C92c@zol=}*l~G&!o?_#@wC320yndP21D zVK^kQ9Zv~!k#gZ@V?LZ12xG}@`xF4$1r@mR?opx0%D~!3-XC?|hkmMn-dU)9f0;eb zaGmX;MahJ#5I-=Z;bbsD>&8yj8}zWi}Q@r3%-C;EJ$>3K03GdbkaL!5)(I`DdVMX2{dz z7mLMV@GkEaS6=Yf2)U4HB~mL*wm{f^w2)P`r0dm|s|6J%q|S{OH(nnt;;39lGKs2B z>xL1e#4L#;$<$N;`O);N!dOxJTPXn?oM=OOwb(;zzvrL=UGY974G97hVPGfgLcCU& zMkGp*<~5FdQYk{yxy-O`brsu)2!R+k*FndLY>;(6f^eN9hOV#9TUN*8z-*|^SV0SV z;W@r==q8WF>f4+T?ZvktGTe4Hir|^Q{Ytqefy$r3f5NeTYZg8f-XfrAI5p5zD8 zBK?2i_lFQIIvW7{3D6q8-wA=#$^;Gyc^7A>??6h*1Sj?|1$H zlBlGDJXl|7eCe`azYqEFZF6|=1?GZLEq$zvdYpCiIBe>EUswEKpTr8XJDMUHWR++} z6DajOLvOwr=RWFgY47ne8owCfB5s#cO(@^hbCpe7DC;|NsN39&Ny>r&Hr6i_jX)s6 z1mzJ5R2oOeeT&HSZf}ADSQoCn|;&O9&cfKHeK5~0mus&!M0Pn}r>~?o!lshUKtD>!hRDNmR~j0 zngnee+*0*(Xxu~_e#*x?SS3fJvi1Hbi#l`Zx=Q+ox|T#0;cW9(muD^t_0#KDM$7zD z$A?bk%k1Wt?xww!)))fO^%*bvQ{sy)HKCd^KYE^4^=a@l?2ETIKk0Es;V7i%_a8hr zN;AG<7z3{!1du_}?gj1Q#!u*3Kj$$TSu#&xjmPXa##D+naZd?-)~P#o;w)h5V0XI< z6MtKMd&JKl{9fXdgA~-i#4VQ!lKvAfHSw7{c}Lw3`@QaVgM!T$rn}o`Er`B$#$Yf; zD4ZOPN}$D$r#Q{{ed{Ha2{ndiRI|t)x@=IVY3Wh}DP0S~%DTv=-NTb_rlKV-hm;Ql z_i{rK^ueBNpew3;TWW*F9oc|(@`jjAG+k9&1Y4w|`zkdG!6WONgilXbodo)c4+93$ri65D4?hAPD`$HR;b@LA;}i#!JPq4hn?fx9vKckr{0Hnl@o+i_lwKZX65p8NSlu9ns% z%lnM#(%vBo_6Jx52HTaL7D7UtI^}UWcihtA8X(8XRRZqN5CE>i`XCL{27{f{0fU{_ znr}#_wm$-4k+WmRs8vJ0V<0ZbIzDxp_RiPVn!Yl1#WhP5>D{T=K^M9o|7w(Gf0EH`PCYg?%K1(%V@a!2a=2FpMYX;pZF z)I5utkgp{_eHZs8G$h;co=y_V2xH4myPD+^TJJ|T=^@vcQ&x)mp;+@IxmHzo zR1?Xm`8pd6-lZ#I_E&kxi(r2t$CHv+@`-&SsI}aok)qCC=HC>JVJcLHY`yq+LOjs7 zVPU!_=;$v!2=++X%=Fw2s$%Ta5MV^u_{l!h2&%LFAgNW61$F3ZI{XD;F9AXgDZme) zaE_o9R=JFkHcdt(XMq?69dH&>6@;hQ&Y9E-3coRcD zcKuVJs$o1b*#qvgOwE)3)R`z)bd5Jk!Pay>O?bscJ#lOLTYT39SMJ$eDb!qbdbRVn zV-n=wvcqZtFGC3Ev+JVPI{vn@8~n&w6-gwq+6yiCsEao*WAY;jMRo#+GC5MWQOCVb z8FVr8J_3xZi^_AvwNdRMhY7oK6efl~cm`Y>=Nz}NLEWapYNUA})HeN$Sn2yodzJGo z7+86}8&9gF9QLpI#%jl7ML<1;$)l_Q+38fhE!X?^*TQe3(Ahq_f`apIDtE$`5t>5d z230<9*T-uq1t|tO8PeREVsyWI^E~5l7pPHhMwQ@|c2^C;4+)^E3dv+{anH-h5iW{V zzC3D(AJnhM-`;rn8I&v zA&*dm8n#&Z_rMQGB@w&!6<{S(e1Qlqf;f1gHKWz|4<31(2jf@m3;>^Yu>s$NB+xkr zC|U&2Orz(g9_Cf+QYGW6!m!-(G8D2SFR-F z@+S>7(#8VDxjIW1(niX@gLV>HE#}p$>QU&w`O4-ShnP#}GdQ&8TGbM9?pr55Nu&vL zf296t1t^k$GgmEUIku)@fOqrKJ;7v4v#DWL1h+`&UhsQWY?5h0b-YoD-?`y8d<3Ui86?&7*z7X);c9vSZ-7ceyyNl2LjEK6UsUP8+|SgIxY$3jWkwFy}A9VQIz*{d0@iFZpaE$&wPuP(O^?<&>@_f1NF_}f)1cu}Qa ztwnd~o0d}Nv9}3dvmxa+F-VH)YiZeRoj(t03Ycclc~<;onGd>=(^&XkN$K?cM_Rl> zk?JLT?+2|n&HJ9jKT<@C8j=kiq0C-5Fn$;IF;->`FH-8-h~)tDh;!&7_vldF=|*sJ zn$co^Ql;wpXqCG>zPL0eb0K{T_bjdisBr$wH8)}gp@-C;axX|9JoWH6b)q-El4M;) zj+F{KD&xAy51rZmy5~+b|KsR_p@iDAqQoXAJ|f^e*VM%MwcGmsBIAynSw@{L`a-wk zyEK*-q9<`*OW6gVKEf(T)MR*a!$?O&+SJwE7Wd0ZSdo^!g#22=zzM%5rFOB7Lhr2* zmbT@R!_wigJ>=n3_4s!n5`YtFcKL!Yc z3`9wy_iwk{+)zxg6=rnsGQ2-?Y1tlamrY=bp^Qd)kS1mHfVR4_U3_=ae|#&s zX-duCY?ry+bwA}>D1$-d2kq(%x(`G(m4( zqL-&6vhkN^;5UN54(Mwa3E& z%TOTYa;Jj!?t&WYH%b6o-k;LzX=1X^tDhM5$dHK$3A(PP^j+~uB43}TUxD6RMX)wsEZABb?Ji=+4I#QkvO%Q)bE z&)0q3;!F(FeO4{0^P`%@4rCU=8U!;|P&zHIajE7xJ3JK#v>!fg|3Ma}oJqGAK$L3f zS+M-3P$pX9?e=@fpv9L#h4+Mad~UxsJTek3`6`e(({$#vJ`+D^`B%1ZG`9FlGVIoz zBR`WT2pcKt#iGTAdIfH&pUpE*+%JzVEA~Z4Y0k!byu?>ig~O-)nOf-36`sOhvGr#- ztpm+h7EHTlX(3_{9hD`Uf5+q0!k1T%-DK+l;0u-k-*Q9hZ|S057ZZuOgs_GnX>Z=J6fiDS0UM z2lB6NwQd>~Zuh*JN)OV!&KojB!y@T^Tc<7{_crZjg@yuh^l@Q@stSZ@{YVcM68OAdwahXI48< zzN*5w58*NzhY(QCq`*c8$W}5hR4hF$FykRRFyZf_YQce2@4L6Jw!!lCZTF%3j?hV; ziXX~G6LCke6|jXY*Y5-Nsizy9+#pb1`4Yi?|tl_6nk z_7`)2zC567DZ_I!qf(+oxKg@JLV%AzC%YM>P%VNT$!sVK>3TTWm}HUOy_G7{U&JU>|#iTFZMzuB~Gq48#=N643AUt@>BBBb3Q)6y6`O^rX=$kn z8?2K^S)KLjvYaj>{i0Mfk_S@*)!7|?xqwEX%%PCCl_E91qkxmgW$-t8jdTyznC-}d z8TnM5haffy?Mm0<%7#J2!(%G*TN`Uwgd+#x@m6(SJ%e0dlQevD92Ud;EQ&glvGUEzpJdA5if!f!@dsn!Vd!IeRptz`Xf#AlgSY=!Vcf99H;PawxciZEP zm_!;31*RNM$IE(t{4nf&m*Pz;DqoxBVD}w!6e$hhYPw3iX}ok;N8Ic9-PSb5N#o{7 zQs{?W!{v)HE?*G%9r@O!yu{cM6ADLk$0|Z`61PLDaUbqv+hMg0r6HotNB5BBi`~~| zTcEj?uU8n{A3CfMHZX&ClaxI0nHRgFSWYk+;)^m%#bsc`Vg;}lYpnORis0ZKi7?#w zXd5d)gh-dHj~klugQM;=P|`IVepx;C!9m2VD?Xmt?CIUS9iJvJl$7{-hG;(A+uY{+*>_}S+q%Uqy83)uJ}jB4m*V) zl@0T{{4y57I*-Nn5l)s}#q?oJ9-K*~i)O%O-;}2k!I$oDs}}`SP)MdXh4`J?HJN9* z>46oyBcLRUo;VVTRNjrq70L7}&W>j`P|!5mE2CQ82PgZacHBv@_BVe_h3w7+5^e=P zy^;I4^_g*}uhXL`)T8dX{E61duDkVowMNlEy}g_eiHYG$@OKjK?@t`bcPFh(Vudx( zIERP`i@tejqj>TsgFh+Nxs@Tmj$*j`f;$1~O~f0LKJ}W6u}1;=RH}Z)9AePA(Hr`t zDkDkf;8c>>t|`Juq@%bx3etTUO!+CEtFa)U$V7yGKi;aBo`F1zEMhAXkO6gI$4wCC zB3Hzm1tXf!mg1E71S$z``rA@+jP(+{VB=Q(*fiv6O9XGee)YPirf&iq)oSv3toL;d z1|z;1NO0DJA1qSzGa~-9SZr`9JEaHOM00XrU?~t@nrhlm=D^WHa2pn-OgrSgS32Qk zcu_nbP_nkQ8oym)&V=E`M{x3;@hrSEGi=xD{B`Xu5gzllpf@DQPMrlZqsCHRZl1H{ zFq`Z>E!Xb+w@e#BRoTi(vw5MK$P?huNz3tNk;NU!jh{F5i>(3Z#9~E6keAX0?*Q0vM zx1u{&){5rGT=X9`c98=u-v}GJl_+T0BNoZ%9ly8vix_{11ExfLJ?T9I)Nd;&Z7>Kv zRYq=Vh_9**mq@ju@S^7ojt{=1o~>MLHc3EGq2Cwuq+2h-B^V>exvDR*%JiuZsHO;H z7OaomCB+)TDN~Umtd;qr#>v_HwIfGH9WGL~Go+FL;V7XvoM#%zkY~l2t?|1%QSppwd zQIwrN*`^2{M13&5988d!qE6~XXwD%W8SQ2)#c72WacCu%{Wsj!+7mIksH>bqH0pcP z(L53|uV;j@n_Zyf_@YEkC$Qp~+C5vBKCx&oC_z24pvmQt0m`> zU?FR(Y4A8Mo|l_Mo1%2vUJ0qFCYWr22)QaRExi-XAiLKYjr7Uebb!r?()0UVuyus+OHCI*>hPQ z!-ob7=QOE6IV;DK6aL?-2Umgg33--LHePXDikim>hNq|%ML=yj?$xv(ZS47n`|=;W znS3j5i)K6JA0)ex%lIv0{u1UgAMB6WdP(CCk5_4^)`qy`aV|ZJrlBKW?6SNJ@eUN1 z`ekwdQocO3F>zJGi)Yq9l=i}hulG{)+^QubI$vJNK0+4ry}~s4oWJa5p&o&Y#Xc98 zYdy)?19a|~QX2Q(!lK6zX+xgeCCLV$rdZ7Ql>k|~D z4bIt<(7*mzM8GnybA6MPQK1VgF-e>0KNw)3_uxYn{&8iid>Me^K-+TK5xOea+dTtZ zvzagENu1ls>~l?lSdL+q;~Upn-9nnQ>&32|FO{NjR?>5r>+b*Rxjgeu(5-hLPCFdT ziPcVmGU|in9;a(pNKmHsN)PsydpYrduvhJ2D?R+vpXc;nP~0#gnBbeb_MXr|>;Qb6 zOmD0U7Nh*R`F2_I7Z`E)=w7j%_r`KK)926Yp~xHHifz+Fi0CNQ;|x!&uI(F(VE%j> zI}_xV$H@iR=RqHIbNoGRA@^c69)1)ZYya1q0ibEM z2W834hVn;|rF&Q7JPfsqeaPH@8~n7);w@q$$PyuJ=^cBfDDod#v*tioKZ9R^zXUL^ z;nP!x(o}8++ZWd(VN04|=!9B7BLe$_pld@!8mK& z0!)8q1k!=#tES}7OLX$+Ay`lPS#T9XUe{<~Sy;`EGOWCLFjmUqu=Xv}yTL!Ub3T;k)@I#KF44b9xzJGS}+%fj^0IJNEVT z>hW_L0^0D}KeH^~S4A$$>y`BchwTb=ujA1~g@ zT(*JRN?%WFdg3)!_KiKF_?ccgy!tbf^Kt}80muBcFT%l^!hMsySZ37H ztbQw1L!Q}eBX!#u+a5!H)74TR-Q&q9g`$CbEI7CcYp?wd%T32a3}vaLT&1lw;V?uwn6@Y zcPYNnnYV^4t*o@!f=Ez9A>aoY(@)Z$J;_q&^Tb;%MY0omfTPfI*-3>RNIO>cPg4wD=7IeO<5Z6 zNe!GjbiE{@s^)f3(#q%c#&^qPAH{1ITTv`Qafex)>Gk+4kn8!;Cp}at=$o~U>XE_P z$j|SYz%@!xKMKe--2a0QPtDp-x6*NEfF@nf3O_D1&sVa<4MQVettQRkRG~D*a)3&d zI-j|_-4ei#sYyUd&_#U7f&V2qx#U3JVXtmMPf}5a_xylBz?t?Mp`#;#}XQVg>WSvN;> zzTRhk7q5tZDHa>C3(7_0@rZ5<99R{8kKF|XdXw$`E7u=qry>>bJvl(#KUei%oRxRw z^gEtdK#JGnaS&)`0(3X1@DBWlU2IBO!1ztCmO8RV;$_!)`%~sZ;O5e*$#D|#+?YTF z**r1K=1eOyd97tD5pde%EFW4nOXef~paWe`fn$lr7rTJD?eC8|vKVT2+xSSQZROhS z&~ne?FQ=GUuoL;6RG z)yL5P5himS%H!0J-ahUh6}4 z1a+zI+rS<2o#rOX1y`k}j#58@vKlqp7($)o^5Q9%nfQ=e&b6h+Ccl9E|4G;=`p}$R z(v^cp*_Ry_qwfylZ#6na39=1te<*GCmVek6zfU&%R&*qOl_jM|2Fd!BA+d*Etgl~X z9pUcry_uvqiPMS+cPlY5|G81kTrm?~nPt3Dla5HA6Vqc=<$u`Jgh1~zg%x<-LRprb zvZwa>PxKc^$2&o6TJTnN;&S=>(mvj(6`Nf~#z6f73cwL_vLQy5rMIgud zjc2CFrKxG4C;l-z`9C->D*|>Z=WNgxqHQM1)v&+wL6f0*%4h3$Xx z%GbO2e@SP7Ux?`!_zE*cFaa*5m`IVM^TD&M143MlX#GAtS!@9 z%l&Y%Y>Xz;n|eknnrNnPy|FrRpdWSNbJVI>HL|+l&jgvrGKmKqc)1kD&DKFgKKia6 zRKLq9$<$DUJ`V4z_DY7X2!}xg=^`~a=o6j-jFgRnF9IWibx5k=TbteTt!!eb{I>i_ zLjSG!ExJj)QEK(dxZtI!H@h2$y;0c+;-7Yv85*Po{zBwi2j#944GhG>6V-W7zcKZv z3OabN{KG<>d%H)I>GL$*aJZ)Soan?dEri@vN{rEAie^eEL13t*DnEA6{+;86(j^D< z25K$E*Df6x0AM^StO2}FUrWWipCnjeS#5|=!dBue0M!!|u#LeGGLRX0ySMk1t@Ar4 zbIsF^c*_)3h!SI}8n!}&^eK=#kz^DL*0$o5rusq+pZ__DB6992F-kMz$lY4GP{j`> zCXMjc)BY0# zt%5sXDS`V3YT-V62b$^P7Tsvg$sQ(T;Z`&D zWFuq{`j$d>YHm?#34&*423~pkb4@})G4a9_xVieh=i!H^DgM!FAJ35^QtycQ7_yO3v6* z-Z{+9jIb;KG9(4 zsVwG8<-56Q6SJS}gh%UVU?22JZ8`qAcukC({o-ag4qGPo8FHnw?_o6jkdLKMw^*?} zQ#rh|>$g#7?}=5`HF@_?paVu~oO`SLA`AnOeANpJ^kfu&VvWflv^iTiX+;Ek8{CVX zyaJwB<^-2meR`_-zdmS3H0CpoQ(U2u2)M70YLwNBsZ=N%RcF8gl z%-mYBX9|i852FxuJdP3tmMF4NfuykVFYIK3~RZ|OVjz?(cc$Mtv{ zvQKugp5`&(N!s|;X^YR;85&(L9BY4GGqB|dUdAg--j!khJEObVD5Z1hil^4XbxJHn z%PZ-D1=E;be3r>1`6?Y3_lPF1R;n(HK6Xz^epn-_=L2LD3*XW5w075=D2x7(!wNJv z4!n$zm9F%WL&8ooI&>;Kl3UjYrmbE0D)vEP6znN9rB~1#}qZAAw_3H1vw%Xu% z`_hI_;+Bco3RKlF&8>knNjq*Z19Nqrw02ML(<~_qNy^ssLaR;z2-#P-CF3)w`8IWZ zm|^F*Xt$7iRx>$(FxK)6^CG7Y?0UV;W`=9hdrurS!THA4ecwH1`?jJKS9uk$urJnF zC>9pTEsEtdxoMXz*1Nwfv1qIun|wH+U`L~;vh>b zBJ2%geB4+m_VJP+*h!J&8N)J%J6-*LgcEkJI^GMOmVUu-92WlbgAX9~jD7c4&{S9i z$a==s#>-3x`1gwmPcL>d(MUXrKP^6?rYv35H|(qyzV2RX?@}b$dt*EK>UyIBZN4la z5~kCWSABp67vF~I#Q)xLox3cZebV$vs`G&m}e5PO%bhC|eyiYacSSI4rjF#ix*=N`4x;Lo%Z1{E= zIia;?U;$0DKOAgVlh%A-als06%#spd!x(%4nt&&6pu$Q-BOk0o%lEJ-Yg4=vEU7r( zZ8c7iN9{Y9p$u(Z>I=Vof>^)d0b`cq;UD4B?05Y0%1&oI%si%(rgY*uI|H_dHwzE9 z&FjviB8EPHfPzU?@5Qd)AjOMtXyJ>3Z|XZ;!k%j)w#g6`FA@%~9VWc+G;2HPoO?Eg z2g%T;9r9{0y+awrD^a@pWvnbq8BI@?dY+UI)2yvOnM5*K0DSd;sMeRd_Z`fc0QH|4 z+{3ys=)pH%ngs1PSN8<0J1STEv8_b%q?}+o^Dp}xe0MARYC?>HdkR;{gDXPpEHK)H zIA^jOEYU?mdzTU{*JDK?FS5{0VxEUR7xuhp4f^0Y8F4MGh5qDH=)-X#NU6FHa`g7? z)cx84uyq-kaG>#GJW4KcMS^+SX0e&0%UTd@6GxaAUU>x;!aXX%w?UC$?any_Yy*B$ z+C-RsxK&CQhP?z$ilMrs4;y~7``XwY#fhuNte{hLjjJhBv>^ZLPM8*RXd(SKFrMu4 z#1*@Z<+2caYjl0CuT~3{3lw#jwRpUpA8Un@%LV;ZQx{NATzJYN%UKL^FFU%_Jetps z;YnmLXc8Jee)uZKpuntL))xs5(11s*G_trNq?HoN=03ZuWu%g*+?|2a0N;uwqX=NFL34$X`Ov!u9Sj#|`hB7Vf(}ty+-r z?ylS=Az2OYDcdUGFG26be-3|bO9OL}AixWhICeuD`MBcR&f9DrJ>fn6TG8Vpe>+WW zm9^y2qVIn2GRl%hUGIqOfGiZc&wfMXj%d{c`Pk0a=-n10K-B6zZ=218lb1e zKsfyVFw<;Yv_tru9ydQ1zrvHI;8{N_ofmYtZxai0dh#9dL_qf&`{7Sj`)t2sct_X6 zZ>u!US6CSHSHv52MehCylrA@MsnDk$`T{GhOj3W1x`)F*vur@mrP|6m0Bb^03*bq` zMc$9|lhlx=$_-r3vOSqN3`644>8*~YXCXO$BJd)3`OV>yAd#=#{<>RQ?D7-aTaQI2 zs;qUe-J%8Fcw;D&S7?B_Xd@e@N#7&{EG!d`Rd6s>sK_Pf`M&(e7yc-9|3}4HCiVit zWZ(z#=wL7np%d)2g>PIMGMDNxSa}e103hw4KaB7Ne2D9l|Ak<-;f)nsRaT?fZ!K?-C^@HbG&`1p&Q z&{G(CaXH}C-+u$-HLCpwZF&H@`4?d&IEX6$qG|$wLjRD|VJ-o}`G=mR2i)`zF^5_J zIQoYY=c1iRFk0>G@)4iM_4x+l_&V>jFb|J2;dW4jyN%<55|zS?7%^+4v1tAN?sM7eh9-wiH|WcD1YoiF2_VjE5WA>9>LJz?+g+oF>YnvNM!3OuJU2NYdvSM6agn1B6 zJWYA}l=z~%*nP*vrSSZNm@MG|<2#u_ndod!{6pst6wg0-xavZ9zfjeAAy`hQ-ipbL zyb|0XCD{?1tY)MZq0@{U5OTfR_-VQ$EO6YNHjVLZ$=LRaSDIIwhyQ%XB{bh|$b4O> zs?k6ypD!|>BWNJ;gzg>nrUC?h9X_suogwGPTRNgV^!4igOTIEKu#X+i#bT_^;GaEo zs5K?$BNVWcD&XeXZ0&LCQh$R-sUU09{;{Gfd_K4J;0LrZ+VAW|2u zbHO7l|FVpebEcYGk8q@>m_hVQ_Gfq+mFpjJA~J8kR&1}IDPkGR+x_6B4T5|fOZnGCu|#bXuOx6ypPUO!C5;T4~-DCJkWXrX4tXc(Q^QH88*59q)3Q%UR` z_Qr8@&rqXL85BTWeY(ZqPT9|I)v2AH+egt*esy#@pHcm!BS4_lVi%vaNLEk>Pk+F> zmy>x>P}dHY!~+){a1~NfDS}wJT?SCk)%?K9XQ=r8+6cH&)G4RSJe{u1x+_KQd!t|d zD3J&A?eGNxs)^TRh1_h>mnA;IY_-UflFw7rWuSA7tO^cvM*Df(qeaRaUD!{f{H(cuR!Nw67L?D}QrsU;D$q!&e+5hlvUQN28x6k&43^99SZT3dI z{;rBJQA=$hf?s^;p-m{i$jZ&l0dMMyvdLh@XUHTmQjky-19@m}DP1C;f#kj%8AS)w zLHYD`HqH7@vo~*Z?yq3g3fC|;`rn_1Hc;Xq$H}LBKa=}6Q7<4bReDgk6hgGEFe^YQ zf}LU4gV!ft!pc8Ey>tzwYE;*mdV(XYw@A2gocZ;(7Vnf*f9Q44Qts_E!q9#{?5&2D zrfh;g<&=jobkzEGg5vw7tmG!R-T)Mr5`E|tUhZ2}A6Dj{8TKfZ$vpy^D7~Ol#*`z;$i1 z;u@dw^t(q7tvuQ~>}S0%ul=~3vukT`=k9p-nwoZ*b%f?j-9|nXT0}Twb2@MNH5k`c zj8k@`wDoUcd96cJ3_6X}mnzxn^(HpFk8Zv?TZi%;m<>o8IK2+-Kh4`p?k1v#PLFDf z>FLT9VBo=hr3tYKDaNU;MUD^H5UxJH4*j;@Em+Qelvj_e-bjd<`)D)do;b%~=<?L0<22}wq`%Of zTYV>I>hOcM8zi7`HO!0MJ%r(BeFeKtEApiKpr1CdujkZlD1%1HGtQ3G45Zh)1SLzk zJ-wt2I3m)_UAiig>bCyU8+7t!$N(G`F+ImpxH~JC$^-F(NR`&`XdXXxJyFMyeRAYR z`%6|&qJ&R0lk?ZX9Snd4ndq%XKJmIQscjFh7#45<0@4vd;M7HoZqO4pa-18e(kh+4 zXZISlc9ZnYSKqz9SAiexwR4e015mEma+9M#%ReCbHR=acS8fHR4(ju|Nu@RR&B4BA z)J8e?ANBHxl|KMCMpgMKXl@2MpnTba!)9i4>W;mIF6Z84ZGH@^#f`3|-jhFZaD^Rv z#o;v*=xTQ6I>bwNZ9xXID+Av3cB?wTgPs{5WX$3z?+B!&-g!VrZ9|+`y{~}^v?LZ?+Zbq_ty73 zU0#MVn3mw*1u?^A|O?roenaJteVlz_sumd!2IP8C;Dv z;B-urf(OHEv<*vm6$9>gGEWT|x<{E1XL$T|2KK52#iLpd0>7yX9z1}J_Fc-0;;z1N zoJ0AlMy?h9K+p{H&=dZFxc8AQ2EG%E??$95!iqd~?2k)TKg3Z2s}c-TA4@E-W`1{O zJTLnVZvY8Vh38?Py?|)_>B_)q3*IxiNiC|8$;Y zl3u*;fffnSob*VJEUBO$SpHzj+`V&J3SxYR1lE>Wpx$2o?rm(h&pB=L@262Mc1)3p zffh6Z9HIM3Bb>kt=AP_! zNoG;`WH-DYJV@EIBQ`^`z{yyB*n<>4R#aABubtUoL8t5B+gS04^K)dMwRLdB8QK{s zaKDrZ=`X4uVCRRpia2mY0PX972W$>tOQd1j2jp7)aLRqai;t{Oee=Kg-w~Y%DhT9j zkC>kR;V>r35gUe3DV!oporzkbMw4bUlZSh2$oBO8Hg2)hIDsZym#&rWx@~`~`4iW& zK*UaM}@oIgN0boXX+TB~1#d-sowZMCxWtrl_C)y9L zO3@G5<%mA7;5Sm;)cg1kJ9G>wU)AYIYM9p5_dY?MprZD;-h34&vl7#1&WOHo)T$Ru z1!6Kz=MM#AxI_f(yI9%_{^ZQa$Iaf!Vfj94({*2=!&p*3aAc+l`g?pRA5WO!APrQ@y7fZ-c^zS`DLQ4w!3K)Rn)6jdi` zv-X$+n}Pew`hIN;gkcpfvLOa$5vTr-y)TV95;OKmPT-Fk8SD@cpO+L<4>!o` zy`pv`bBrDxHe{1C(9%M*qEjlZGR5n;;KfV0uQUu~$;SVdB^P8M5IKUc6H251?M`uU zE_R?4p9TvrSrKq>!%hR$Y=5AAa@DHPBcfjlS2`ggkvV-GC65H4-NK zW-dlH6g--4q{*{4!)suXg^_Et@B$?0sYstC-=r0)r<%%^-KY5a%WR^Smg%ham`AZK za3hS_X_ZcSPnN`z!^~3`<`J)`3`c9> z_0z7a_?J8>ygs(vG#q{$_(x(-Kd^M!-eAr((u~&J4sRNKhb2tf3{M{TY4)Tfi-VCn zm8qrNM3`1IdDurXRCz1s*${J(ZE=|jUyVYqZSE5yp2}y)YB1O5AiwSpH*7~LW0{ug zN_rIJl*nT;DJ&%V86>5j21Vx9>78Clsb>le&`YmPott-@8Ps*(O9W3hAwFu20CYK{ z3ec)W@#!3^--r2GoYxForEG!F|#*ufsN&i6TT8>(`o%I$<59QrPc*TIwE=LNN;aSkc(7gRihRSYA41J02!dH0OQu56J77f z-c~D4W>IMedsB9c^Z8_Q>tuW<{K`^1v$maF0mwBhshd`>Bad6(n>LRPt(cLGP-Z-Y zv67LuR9RZUEqyJKMGP{oX}s0P+_>Q!(u5A+?T-?&+*Ht0j>!H1Sr%o2s9$0SV>l5@sO?U` zWnIc40JOvfAdkmA)nimxX`!Vm6*=PcIdg|?P|nXXhcvH2Sx7PVM@jT74Q zL)bT&{r)8jqaoPYy4%e~@Zk;bZ(r1L?=K}-XS)f7^rbK-0Z@1OY&23d7$v$^g0Yze zxv~~{!aDrW&5U1V2A0imO8Vt8`KRtU2}CgpUw1sK@R7uyFfCqHL7d8R1=8&=NALFISEB)94%L!B)Qn0i39Q zUFfEhPwY=wB!nt?kX;zf=~Hoj^cUPH(H+8pXI)oRW0gCDsklhqQz?CS&{yHD#n;BZ zBc+KC4Z89ij0|EHh9|rav-19%sUHBW)QFzGJz+ir{l|b%_>3cVMOKLQqy+tb&Y%=E zgYVwSG39Msvwm3^e<1Mi_@g!JM29Q<08q7x5J zyWe&e4pC+7k3sAt^9la^3uhn<;{zCk-2w*)0V0tTejP`|wyyb#?0EFOK)DgLKB<4H z+^E4d-{+_P*PDIhYl64m$0;kZtjF4NvebW0PZ{0dNFK75sM9nZ=kQlkl>U{&a`9n9 zHt%gTOKz9b>nHN#3jr#O*N5-smyae)LKA1xGEgzp`J7n&<`18@h_(Q@@;A9fShS5j zc+K@x^T>}&uS#wZ`<(6gI5E>g9NmLjx*TAac252u^4>Zu%Ja#vFLv$)f^3)E&)-w^h z2JN^P!BM4s=;g=f{M#ExE;W@cWflfEX+|LHmKg4qZF!G_^=6wd3=V7el&SPggxQBi z3FLB!uD{{ye#r(if6T0W2M&uG8vE-YbQIfye(iaG7W_(;%Co?t@O^*9vb<$T&ZG>a zw6Jzev#avedU_M*Vx{}@D2>WKoH)##_h1m_>+E{rQ*L{TN=6F{6E<1k+YEm&dVSzq zR_G3Yo8%zAyC`$q6@_+qpF7(fP1KYNa(AqB;WU3R?(0>_@ENJngraqr4s=@n`ov9? z*e>&w*ii}EYcjjD{v&0rgUWa+{aUYPk@uiQZX)@Jpff~#c(#`^_lR8hZz09 z-dY-B_;I%V)Tu0f*^3`L3T;rk756sIe|UFfGm}m;+Iq|_B?~&?t8V+^jdf@B+@eop zGmI^`*01tJiE9U~bA`wfsbkhd?J3Un(Og*;WvsyknR?k3<7__I7Ehuo;-dzg)mzQ# zY~LFi!ZYDB4xENMed2*egK>(B$x6c?`GDL0M??Su!)rzS@_0DRz`11P`7(ohL`kxH zOp9XXfLq{&6r)&E_q-GBYbKU~wHGvDRIuYJiJfJD3wf(KsQv@k8z0SMsdwz`j+LWC zbJrk}@rOr+swZ%>6=&y1TbG5nvZ2yurWKl<@J(m@^N{BIyL-(gEQL^FcyH!G5b8B` zusLwJp+ml4#+(F(fq<1lb{i+zst5l{-tnI7>4?Q+74Od|g4l|5TIZfHE99*TdC)if zQL)U|iXHXj&=%LKV#=~y?t>VjXY4|ktCJ{+)I`m;W%w)^VOT|zm=h#q`izFrYi+2- z4S6;>^Fz!Ymrpyw1a#R}$|X;Z;I#|l#MC)*4%Np?)pAg2@~0*`W5g^uKx>#GBdHaa zUP&(t*(ctAE_4OvSd*nadO>}gMM1AzshY{L7A-W6hv;DF__)f>qD@B!c58(XGw<=R z^+tv)RsdN%x3f1kGHYTIM633WtI|*K%o_U`D?AbpMn}YJmuUz%ACZDMp zPaVVEyr7mvDG=8w2Z za^X~NOD940EQ8NL5rg4b?rWk7`)`xCH1m3T|thSKUVq-W{D4<;E1%rSf zO8~gx#nQ}eW}q4vTE1WUbDRiJ=d>&fn~%a7E(EvyC;yZePw+i@s5*xpCGzT!%B!yl$ni^FKK)lQbgnbny=Ad86!CY5UA2g^&vewxH;Q^qXHj+UPsCrX3 zH#*;;b(F&k!raEu#ScZCMn;xdVb5npshT;>^g7Dv3|~PnBJ#0aW}#f339ct#fEp~f zjmoYQ4sFW4DRlR2%^a;af?=6gW)GAtD7CYtt3-uNBvN1cXC*nFF$65J6#iJNwRc+T zaa-zGpm+K0tt0Xr8MZcwVCm;`!_K^q%76sb{LUc8nBi)tXy6)(Ncg7W?uL;;1u%Xg znPlU@UWCH%v%81D>|7_(hl*5`*Yups6`epl3|_2uhs-^!+|kP{G!9MDiMvD=VB#Em=?8%PO!J( z=B$Ld+9d6ccu=fAUiw#(fI#+9>%Xi6q?um* zRtrFmNU9v?AJcma15^MY*&pkB3jzrIV}So3EuM)B#Z)8vox94geF`%HaI0H1!4@D3 z0apDbdGf*Ud>3Ln?E(N1f45qJ@du6oC@J}qBMU}QX$yd5e|KO*B+4|DbBTtACO3wBxC*QBt>CFc(ljbt%wwqYpfyAsp2wCwxP!7c2zU8}4LHm%LtBs}$)TY)UBa(9w2e zm+8R<<56RSP$Ufkm*QE;a>o8i)}hiD1kvJ}C*|B<_hkdO#aw@hZ^AQ*WMa zsG6~i64iU6Obxd}4`$Iz>?Xc;FC&UyS$Tl=^4XKaa0eQDY71d)QcqQCad)3ZwQO;V zsJ+gf?wI7vdu3V5B_+Ig8qa@RahX_&oHzDUx+mlBAWp7r9Lw2``*yL&L(TQ0BRMp* zC`CauPqcCXK1PGL%ArY=g5-TI$obN!skf7{ly?^-n;0rmn5k=oKV2x`cKKwiNSAWv{WM zlN6fax0l|#Emkk+Wgf@Ji*$DMh&@Bo@QE5od)Y2=!m%pSL2#9Poh(-Nb$al|wnuL5 z(1B=JF(cBKj0oP@Yc+EX#KQ+(NG8^?tayGabTuOhWAh@)hP53 z|6S`q9SZKVn20E2Ts^V2>a)tIpRwL;?x4)XFjM50$cm%I1V3EOu#k;dOg{ab4Y?FK3{n1IS@JEO*-yVjg>pV@$A2;Vk|ydSh$5p^6IGS0uNaD7IDediA3fjlqGk7sz1HbX-)1EX{2p@Aj6D}zq`pr-quZ1SrA*O>FD-FcU^UVGdlez zD(2A~#Aj`uPY;&m>tRC3!#!;$ChGBnsJf6oJz1vN)O9q0h$ZHootRx*)Cku)veeta z`y;ei{*CMxFI;yIw`(WV$%Cj?y=83V;tDP$P0R=gBCBRQtg=77YRl8^=7w}KkdiKpKe4+?(MMf$UuNb}BZi{e9QVR#G z3u}dD;^XKA%|dD>Qtg!%VM#G}Q@cT_2hhXdDZX*XE-E7@0^3$f$_Z*j+TV5a0fVD^ zTt}QNy=wZ*xB00+r!YBKRmcYZxD?(ls9zW6EQ+J_ig{UYA^*u^?pnm^zq(XKjZkXk0q`9C5vL~5TL z^K13y8mdD%M52MqOn{FT?WZ28K0qAQAjbk^K8M*M40rUwCJ*U!Q5EVI1XHZyL+UyKbTwTiJ|Ji~5TKvFrNNeLBd_kM z@j~sZ+396BueXAR;WEI?vqoLlCH<-c1{6K8cVMzMPcT~rb%Xk1Nq0_F$hfTeStTC5 zyW%F-Y!$AsQ|+5YP<6x2l=qK(h&XZlMT*+PJ|PN_KXxSaRfL_a1O%Nc<}pc3ZQ71`gm7f>iWp#I{O zx@cy={#?q98(zi)TyFHKoao!$*-H;=9+-84WoezK0_iak|I3StoJq{(EZ4%YV{!|~ zP1DVzqopPJ`>C`8UUhhnW9i6oOpsl@AvZjZb|pDHbb&EWTuXUZ98DN{N$E)6W@)KC zG*{Qb=^ZI~-@|qs-1~ps|AM7QwDCbb-ZYuOlC=>l9ZBW|f$rPs(Vp`SR+If3fmOz` z^C|?Me`_bUW5HVHA8B9aKbFs@Dm4B3G2j$P0A|GakB$Am{eQVSEaL#-GX59i``=*S z|EDhza+^H(%|5AM1crg|Po($(WW$CCfk5;8c76izBOd?ueEco3feLZJ?V*2S`rGFL zAPzs^?g0+ZE%1TxcK+8NH7O6JtwbmF&;n}j5Np{AaU2%jL%=6~$kX=PKlFj+5oDDw z6?fIXLtvoTgqE$w(QYWemmLahW!S^~LorT}%sj~-3aN0z>e&BKBtZQ?egPl{>O{|L zL!9CA6!vEu!{A94gb(m%CmGOUwcv4j=%3BVAQ@-k7fAnQSSV_XEJ7Fl{UkIky?s z-BuuofR8@Wl&+e+BT*%^wBS!wd{_)sts&nt`*d3W?dEdzLuII`~v4f+>>)QSRMyy#S zi#TMFa#Na=*PsACQLPHPsm;*}g69&kqc5>rzH58ZX6U^PWo?* zR)A$!gb~Pka(k_e{V3OlISAqh#^2k-^Haf==4s;Zi{xRo>BNH8(8ZWJeJ%mNCL2w7 z8VH_Cu5jE$QbY~S9r?si(Ej_@{uV!5qFiX=47o-F|8q`K%lv_#gF*SPy6&n7)_b6f z8lV%4?o%?jA7;ZlO!)Cn4r$8+|9G>u%UdOx>w_)PVZWE(nj1TeX<#tKpkodz)YbH0(^YJ%UF z2M~`{)1+*w+3nnh9*O32srIZD7xxv4 z2)WWxYDF1{bL2mBUwQ6X{Da)WD4tJ+CLCMi+h-&_Om0il9<2$9GD8~SGBIHIbp{3W z!KFwlJMy-H&R6NrVkc7zHu9CO400sH>;H-S&tRSLqupjAzEk_uxsn@G=_VIr6qCbM z;%>XbstrAO6MRJ`>rDe4ECN`^?n0>pn8a2}hxL-z$Lr|3+mSgjUvQrGg2XFk6(1D7 zV3cX!(0Cd4TWkKl`@j`^j)C=pp(A{5Q~l^;wLPa{Z0D!E7KWST#v4h;f~oSCFnA{1 z&(DwXO}|3}#QypRf#92!tLS#;$1!nR6l7gL9JC+Z!h{cqpcsN9Er{rwb5wZ#jy9tIBYF=kOCzukI-0xB3 z=+aL8tx35uP@yL)JBN7@;1y1v1A_pqwookZ-5vNPq#o<)l9O!X=6nI}R??DIri?3O z`EquGF4isG?11Bk6*i8vEZQKRS3sIrcsm7J8T{xY%G;AMqP|bkYd~RdQxM5{2=z4xuzQN-3IZVPW zxPWwH;^ewhmBn*_QkZ*iP@((CBhso;PxHXM5uSYP-%C zUdCVfdQzBqSD0<9tA#S5mdU3n{k@o>~Any}danD(0FaChkQf zmcMgE%;hQ1x~HRkanv@AxVN*tYq49CB$fIu$L{qfrfrKX-c@ll{(Powrph~)LUg^c zCOv64Ax&cmC9$qM?lbtDW`%z5!O0yryAa2p+xWU%L-oI@Ube>-3lQ*TnFBPUdGh>r1IPAXT>IPZTIMDz_>--JJ7KWGUpHk~@ zHtF2_Z@O+mb)i~2QrGF*qSlP^=(9n&Y3T`=C&htzLBy8WTuPKW&JNG{2A)<9h>6xg z+?PEs-glT*u_?Pt(ZAyEfXeycGxkt(yP3BegHMT1STV-dLwE9H-A*+L;+;-5e6Xp) zSoN?gqU!EBfn;{m+>0$p@Ar&x@07Gk(Ai2>P%=ThNHb?+jaWVJsvm_5^C7`&jI0R? zTHk^Sg$XT3iQ&*d_rd;kQCVpIE8!h}} zA?qbNu}e)9lyBX6FXtu8PP2!=*|BkMK?faCoGZ)BiLW)N{Tcm`iCaYRx8QN(f;b>d zp60J>Qq4uK!5Avw&h~+lI)!!LUAwops{q2Wij`T14kqNasI74-zTLgt6|~`#=Yp-? z!5v}~DD6GS)-Q3to@AWni~oodpt#;QNy`ydg*jl$PXY3FG}38F^yvXwtY!zrg8fgP zZGILHrbJSk)v(SZXc`D7U{4DFM}Q_+%m~1`exf2(*8(|+35yy z_Gsv4RT7?uv+yLg!(ijQ#Gi;o)sS|YH*6q4t-+SXbY+-aPy%8SDE|R#?F~bQ3TF+q zT}f}qY^tu;l&WhNYWJj~1A>Qy-tAH;GfCZ^gH$=J6n#Dvfm@j?zi&36!mi*$q>U?676ZT(?tuDZ-86rG~-Q zi`+ar5T-FPQFh?MwCQ7IK;sGVh$wu(8ZqUFqr{CZgl4;26hS3i&fP`2Rnsb4oo2CP zmt9r*4Uo(Y6dkx!qjs@3-E(!I46%d5sOOZH^L|1qY3>F#h#j2JNlr&yx<5R4RXGWCih7d0nYFXdNi~!9m>`Rb-#g_)JzetCy1i0qhI6jjx=uc)MURs2UBRi{>jr+4RNU%azmMSwfc|BAgI2?4 zOz#LU1$E>qHq^M1K-UB}k_4sS=BxxnMGb6+3-+xyTjLaWneYLH6s>7xFV5H`yNcX# ziP2_hvhQ%vO+_QkzVIxC?4!3}7@tvCksh6EP(|;|3_VO}6_Yg2Rkv`=)RB%Y&TZtY^1j1m+60;Mv+yYE)Fm|uVCyK6|I zB0Taf`#EG33dw07&z7e0ZAi#wotIxQyz&vN^JRDH!m1OW*A(82gs&bbUvT9*7%$n^ z36d*wabJZ^uW3O-#O9lQndaRgGkN6NW+fE6ny@^4jV~%kT}tEmapK|9bsYzVJZ4NBw;8X$JZ*#(Cf*rA) zo!s}pQRv4xqtIUdI?IkotRf%z?>>sKxh@$rI-ExrJZuK2VH^TLI-Y;`et(faS<^!5 zpcY>p>7NxNcA2t`qb~6mSjS;~?CAn19>`lr(o}(tcRb81ocH=Mh+m1PX+ON|r_b>t zx2d69IZ7L_g4jeKFAp%5y%|)p_EW)oeHYED;WXeTEl?#MaS4iDK))thI#$)9n`9=k z7NE6Qw~OU~BcfStw~&5X)mC+@WC!sH>Di z{qVuVY+W8#y$7l>~0F-H_7LIKk4Rk$ZH5AGT6ip957cemeRyY=uzX z;|Rp<0RRJ(+fAl}x$W(K9&DD!(+G&`a}D*n|APJ`{EAgQWe1>O+mvUiWfgJKC&fry z$9x}{imqtyE7F}haNBqKxNo>`Gpg9E*4i_-!<7__|D8NqH@VSn=ULIUviRMv!qASq zEBmYCEIf?^=XK|VLd)e!(bWAD?QIe75C_h2$ERUtBFYx`6bSt=#js6C<3y$Wi5T1`hW8hr7<9q3>Hj^SBzH;ufa4CGEGM z0?8}{1;25N-!%VE{zE1ylol)6ICB!`KQ0!K&Sh~$!qCjWa|=lU*lut@9v1(cpA&j?5S6c zgwU9`8F963)FTjFOK<)Q7!Nny!8Vcvxdwu4nmXsE%gZ1%OkI&~>V5d*z4gRFQ`iV3 z6bZh+#IQEF=}DUw7^V?w+>+VZ;C_8|z?kyuPeA;NnDvTE{sisvzpgS3InUEJ9`qnf zNl9U9?sKRGM+pIKF&pYn=!e#sOCI8;(Q%N_BN?t+PC=Q(BBY*3vC1Uv`)~}fG+v+g zfW*CAe@G8dU;9GH#5^^Tr-g&NFGO{#Dke*OV`6?*miUgCAT_}`U?+wspZXY&^HuJ~#`c#2@d``)Nfq$2b{h5M zUESG6$i7hB$H){Ko#{)fSCb#u9BpE6Fj>@(``6JN)U94jF-ky)kE%;np@a3#V*Qxc z8|QpO(jjvg`^XF94k_jov<(LJ|Fk6UaUC{RKz()1*g-vyY|6!VCxM( z-{~_ry}<-qHlTl z@!vH`>^>-Ky$oWeeH@*UJ|k%+!1w@7##7U*bHXN|_7MKKYfa6(gRzn!h7nuNpOD z3&+Ge4J+2S^Fk}yV{nc?bx}7)K0Y~2K5MsL(K<7>o!6;aTh-gVhP%p<(LnyGi$HTc z>%7mG$Y&fq^SppU@Y`Q?xjwpy(qCV5_-L#wz;$BIImDh&5)OSuholjCDikHmI7B_1 zNU|7Vl5~oEAmR5@2*kfa)BgTsQ;m?t?f!eA;-NvGD$LKGu=aZG@r;J zVkba`_0=vet3AD0%HyI8qv7cd{R54{zS3tUgf_&r%?pDEhDL++H&+V_bHuwEDh_+{ z-3){267Sqi@Uj(ck1fu)f1tCd3R?t7QNTGs=?MtdK?{~2#TQTh(Qv)`}hNx z;+SVeiQb7L{LzN#yR(;}{%?_mKBD1W$UL#q;z*M`2|hWzUjzjY>SeGF(KI2#<8Km$ z!pX$BGdbi=?+kVm@-SkRlXH3})!D-2v_8{q?dQgQ77lkvB3p7E3$dg)f6noOM~TbS zuB+@KK5QVlzx~~oE|CgEpt+m>*i*zn&-Z!gN2AP1rELiM#u082)DdPW&_ybI;B7Uy zG+MPy?p8f8SFEe9PB5GgHYHxyk_$VSJ0!?8#QN1116~OZ(2;?WQ^l*NhzkHUW@Q?Y zxs$7H_LsBE3SXAruTmzLIoQQoQfGM2egZSgtU~}iT{d-P_gIGV?MD=m&G3#Gs|v-D zr{tgQl95DdJkiAST_P{Fv|>J?r8w^>hGUB|ihjuU);P5T?SyAb;Jx1bg&G&Z`asuV zgay@)^{X>W&g#!B49zg3A0x&;Qobq4>pz)}vk3Fz?P!jzTngK~k6KjU%<@dwg~Br} z8u?Xd!P{rm4-2)@QGme7>D#?f=lgQz;rOiqd2hX5eH8?7#vRH0WH}k0f4eBOOoR4sZ4paiy z+PJTx=aFjTm3!blV#`g+jR;UXlS-?X?z8C5rw!af9VtM8dBTq!-I1~haC)h;$A<}U zxC7F#%`8=WvcDz08_UpLIpOgcX;kl@v1CzTW@#+k9Gfhjv~WXFP0pXx7-QLt;^dNtl=pd>DAzd zIhrXt3{nrW2?eM5P=bvn5c!Gqx=Z$}uaP9Rena(P>Re43TU0X?)h})27QTsaWq>4D z#T{oux@{)IBRItjsw*B&SZu>(S%**wx;8!R~;npP_byyRDZbI~P0b$7|=`>S! zA<>{i&Dj9YOfcQ$TxpfdmlOsq48za%_RBKtyDcvAjKfp4_TuFSRmaOHc$JIu`6;hM8dN&=U zD%?!~cb4Bl-ZJiM7LN+d2+h617S;T`dfcIv(y{Yc+-GS>+WCVibDGY~IvM2-GuO)# zPWJ&_c^FSVuC)GJ;vCb^>ew)&$G_+ezr4hkq244`6Gng3P)t2pT!qi#bEWq%WOI|e zvtz33WxmemT$d90d+2%1Bezsp5mQwGV`%I zJ|Y0>21n~G&xKWEm!oyduc!ftW-^lcQvzBAT~ON2r{W_AyW2G3t~zWy>$Gzm&$Q1{ z+pb<4rb$r{z$IC%M%tlEEs*G9^6dL^7wDIh4O3e@V+0EFTWCq*U1&{?4HJJenBcjH z=4TlZGRAbxcGbPAs47^WRT5Xfys_ryREVeP!34NxCLC-$9!XQOl7d_@qJkzd*;oBk zFHZum>2(RqTZyzsp}D^BVI$=V;>FompR39Bs@6?- zEan>qk@^%PRm&XNHf;yIbBe6oE7j;1ch^isOJ=f&JmpKw4~(lQ?(#h7_h82&K0J1u zlEi+E#wDAu*I&)Tqw7uU``tvXtwJrdXJdwrM&ELbuzOQZc4Z>|fx=T_>yp81G5MgV zoJuCpTg^g-(3B7{xkGhX2TV-_w zz1!q_j(R;tA&FZ@ck)TYGRUC=Ph7U*wYe|RKaNI)XKzoB*zCC&-}tlJvg;mwjp1fl z0Oo#0wx&5@B_zHt2t=-VaLd6@;3*2zP~P!;(ZPD&OCRj6HQ?P4Oij6>{Eao7DfVFj zwE*R)aHy^8lOZLK?h_XZE6$dFzT)K0nF2IE%|}-BrZDG^@MW60g}!3 z#y7&G(|GWFT6l0Tso*Y#vl7B@t`dc&85obPxy_vQXV6@B3zle;*>Z)}%EiwGSZ`6+ zh+c&dSu$f0J7q1QZZ|y>n|&;zg+5tdYDw_u%{D6{DcGeZb1ck>zeiP*VpgDLw(JNyL_ky!%a$S&RD!8aCpd|N#0sNITjA0=lIRg{bCuoTH zQ}N&}XHA6nOHFVr3~RAY-G!`Ivx?QWg|>wQ9wKPXWf+oNacn2Bv=B;dlTNy>%D{5m zsIT!8{NB!)=QM~wGwSjhrO50a@7RQIw{W_C=1UBp#i7Myk9XhGZ#eBtzdlA2u37oA z-mHw%crTJ?+3j0ghRHE2Ct8UzTI#VZidG48;$ubBXH!uWrebI!O0N$SYBg@Gp@Cs! zLW}okYf^BPpf5;94}f+jl<#DB)d6D$)C$vn9QB5Nqt8ztjk3wRNitn(9f8=AapS5(u6DX5Q7x|LpRclE z+!kA=m2thsX9=>kI(Fq#EDAIWSh6);Hy&j5Zw3&R&OFTHo5Sy*8En82&kv(i96z;S zQqiJr02;ujT1XbsIr8g3jZ1ZAL3 zY9q9y6gfg_6Yf;6H;w@8;T59B(>|4sP1*w%6UIb+vLsuWkL?uJ|aMx4Aa&=(sdCnF_TvT|s`r*$} z)Dl^4jwZP`)-?Vw8c9EstB|tZRNAO-es8DC9k2~lMI6)j9Rj6=^4D=^W*o}J9i$C$ zCVlAq-XzCoXCFfDNCsAN8)@s-wbR&rqH`<4;y3^3Fl`szTu4`@ZxH$ZSjH@sU~;nh zsfmeso9J>7cXo_~$rjGVi!EGNPhpM1B+$PSBbw3@G3Z4(_eH)iOd%d$+KY0#6f)as z0XrbrHb^rUZ?A0HhyPsZ&MLsMtYctv)0)^ZWB29$aa1tC!jMD*z0kb|U+a}aP0!E; zCCv0EIVIK~DH^(TgX--ETO$Z^;A_|yr@hK@6}`O#acie~ih zvN=9ED%W0?k!%gAo6n9-uj>^bdSEPXZG?l5++?ejZ0f0I%xe!uN3Mm{7_s9-b`{RZZVJ>-ceDy2v#U3v8WO0ywLK&r#8CF8Ipr`_mX zl6Xf!)tqGrc>N8-^21^ELDx)^7@^S*jH)Tb4slwcVrA4?0xwTUWEV|)Ql6v)_cMW% zOt(7z?SOZYdzR9KL)^y5jZ?2zQGk@xvjcKOA1F;@R&Ev2ghutVDiXeQ1>__;Qw(@q zA+)A92bdezJ{^!s!8~KPNokoPUe`C;0gQ`Fi3ui($Ku~Dc@6k3fP?Tyi|#7J4nEwQ z1+ScbAegZVnkMHc$6!_H!;h zGP4E6x0m`=sy1i=p`2PKfe{R%CkeI0P z?g`07yjq9sqO4u&Dy@rM7_?9RLV~N$)@DaN8zAEQMaO za@$|R;*W3A2@D$RFIGdRZ;J$Gd?W$YbyC4J0POpy^?&VwV+^VQ0f;UOVD&c2|8M>? ztbB6)j{UaJ-`|q_QKAZ{AQ(Ww@o}U5j=JGNC_`4K;c1(v!3H;8aX$UU z-FU!B?!4E#aPgBHa$eN9g9`sy-zbx7=cV(P+)T5EqAE^X&2w8SSDzI-Z@68fv83UR zsNv0s;I$uoJ5f8L@fz*&94ig}u`veB&H$tcp0u(g?)@b9xCo8ls=nzRFMyyFA{(Ap zz_$Z*8p|zcm0rO|7XI0FY+vR2gb)t4Xc<6MR%3h9X!C$`OJ#A|?!yZwU?(o<$J&V2 zI{LN_mcCQ6@gO21mK^(=4%zgDMT5-yLv~jIsRVg}$S(=<^nfx4U}&&z0KSQ7EJ_c_ zI{U(PGB;$i7jm@I*vG|0xFP$yxeA?Lpo16cvnlB{cj4SO`V8g=t*soilJr7^XCj7(sq4>AOy-?$It&?S2%*Q$~LzOuAjGY4P z`#(>Ym4`t}$OcQiD2nLVX87k}`&r!ZZ<1&)2{#Pw(JwyQ87XK2kUr4J1za}r)oLwB z(NO%&p{`-&uf{f!^TW!9U-5?5BU&a2I;56wiH0j1IG`_pnaO{CFz$f%aM5rPUb(RE zuo2&Qjib9Tb0oOpb8gr0t@0EPvd&k{2a0f8x}J-#W*YDKnuO@u_zEQe(H^(tt!8gMj}ZE;vk_Df~!?I0_5KL$mCjNmPie>6gbCip6+GWmuULt(4_3M+`gEbeh}pT}u*31p);N683g?f`v< z7B)%`;FB+qlapX2o7&uou5&=l6(y$WiQoL{=iSoh_TSM<_AymvSc-QOZGYhEl_e2b2S^Hn&f%f5!YVFRtsSvbjpuI9ZA*}$i|nmFk=p&t{o*y;2a2YdN-}9~u!F#a*B;9ab2Y{9v);AGj3>h} zX8pNRt2OS)O$}A%;xw{o6W4+1r}I8SJ09LUwROYOe~VTYMH{t4fxR;}KZ&cmIN)EF z#00&#`nhU_?rd}bUSy2XjPJHbPQqO+2d~R~dLP}sQ%iAw z2-D9r&Iqt@kod1$*&(*jh%Mo7zQSZiYQLIot6y@2ay|2UtuvrTK?4-AQbcvq6y4t* ze6*^VuyDYN`S1x3oUKIk$Z@g#kQ~vki7>FDbs@Qe4WUaTlh1vlhY6t@aBPRu;<&>T@NKdP9$R!D~&<(IJ@T+IP)BuvN<^H0?xxd=T7{k++U3K~> zxkz*I0`%>X6$xOqz{{us$c}z#79bWlwt&$=^OEDp8MlclrHH>kBC&Y+{fS zP~l8i|4HTRN%RowNDyz)h_jV4TSl=l4cdDFMb}|-sBlb`MK@;n+<}{)hxJBTu?!dC z#MeQjVgRpeAYqY1*_ZPh+;6F7h3jeHu23GU-MK`0^`>wNI=^)t3z#_0C1sS?Mq50x zR@?;>z?6`}2RrQyfex>}(*h;V=kn+X*lF@vIJlKjMzLc1xYNB0Ip-|`baIH*sR`-A zC9xto^V%MBlQw5PgiV&7J)BK(2ZzgxD-W7Q;&iH*y1%Za7%|zvW%dXa`mXr!7J6Ea z_DD#~4cEBLTp^@1PoYU{RIyX%z}v z)dK{)Buwyn=}ICwMbcu8j3f8zx}Zf&Tr3y8(4t-i>b# zVNL@_ta`rfxlfc;(0iAEyt&RHn%d{c_Hl#tqFaqgzm~FG zXDal*l7I#0k$Xj18~X+?C80DfFv`Q z*SiTI-&LJWZTOaDq47+3=xV5!v-ml}k=A$&GrWA@SGtlPHkPN=+!>maHzz{L_>F4; z^Zr-DTlYMb?a$~z00ctrG1jH6pF>BCZ;>w%m=^-v^7U$c806+V(^Y-yPfYVp9kNI0 z$76O)JK<-e`}-@)xO}}0{5dG z&a=GevwK$Qds(NI3`-w$n*PAvYng_C(GPVR^$g+=X)ePni8awBI7af7yOo&Tiq&)=Gi3vZxW<-f z&1&V&JXpl@(_{Eg{?zXbZwvm7Dpv&<{nwZGTPKD+^>Q-ZJHqMO8{-Lyh;Wr&{%f ztLsOp>Bx?*y_a}h6vpE5$fdJDU19}ue4N_NfDoZCnBc)el)cqxss{4v%U@!gSpnP%d-ZXrtuo_ZEI0IlK7>hUS1oQTzwmuKMNhL65kkt zujiy^4<;)afO?8JRK0j(k5L(W`sd!DUC}bDNGPFb6!KYI(vz{gW4zIUUGt2P1>>X} z^`gvC{@bC8K2R-FhuE0%4tz=?^?dWpi)vIBLf%dBAWckqCd|_p#v({02ZcEi(0z*h z@*?GqF{xd@OSj7_JBHFb+&z3>>+>W!<5l?ykF3_Jgjq583l_KIwa(lvu@Glp!~s|F zW5l{WyDS92bTBr!aE)6?q-7=Z@HbY?UaNP!NSO=y`K-w914)gr#~F`F zf!wQQ9I26J%&3_lU0Vm+5^3PaV_gZ+6;Yt3H|&7P2J!3~bcdM&Zto&Pk6%}KwxYOG zdnQoQ|8gcwL!<0fIexV^msPk^C3I{BqRyjdzI()`!yH2+`c;#_tL-ih9Y17+EiuZ- znfzoR7T{LJ6mo5gkks;_i%$QD5*n7DgVaF<^(G|a_S*nna{^>F^BD`P!o3ceL^)Hk zNsmp771QSDfI+7JqNxZsXogeU z*a=+e{{8ESSt0*&qk&F7V7$k_h{W%4ApiOx#Q2bZ5zN1l?mtT5|J@_Bmg2b=R;TxF z&iv@E*6?Oo&g>c&dwS|FFD2mzQIJI|$VCCSk9F~QoyAA4Mzdhf5Ucl*r;Z-cRh@J;g{Yn8}ifh%}P{bMY`eD@b_O~3-m9D zHnH>{R%*MI)Rfj(&*lN`jPLRm0Zi#YzEmeRc^f7&0%HZ#R}a`?Alx5KIFaYB{a!P@fR#Z z3mx`Ad>IefXJq|CceRX{aw)?`x~A251iXT?Pab|i2D#EGnK_g37*AYZ^}4<=yk3nW zbzif=tD*#Wk}HkC$OLdMZ=Rp6+Ci2A%NFoAitc@0xY|Z*Z`eIl=bQBm+<_~d4Ya_=JAJ6zNNQK6AAClchwn6AHDhDLrVX3z>4*3g zQczycxZY>_g@$)r7&0cvsX&_rf1)l~w&8W}T=dELWf#kLZ1*(t2kWCKB5o&JzfVsp z_(9V(grv{BvE$B=ndwDIK{~v*XwIUsrMSPio}8TWL1`6?B8_e5I_vUle(Ay$My=1< zrSb4WgV*_?;bCg26G%xui=G4RW8;NwIB)bf^6Hm&(j~7GQ#%z3RyBnm+bs8=J3|Lj z>qTy55KtW$#W#j1P86ERAxU;d6>bnXTBG=hMdLYRpnt{0_1#xl#UzzsbM$Q=da(OG zUk{X9B{aSQg7FSw;B`(x&`;*Qly5%6O`ja|2Aq!qjJEDjOKJ(of?|xB78ld2?sBVZ zBm5%->^Y1)c~b<^du95xFC$6cQlPQe>S|l1vB?1UQU5a?#fGk0G7RF(C*k6@La!N8 z#N&{Al7sJjNTPx=jM@3X{Uo({+q-y1u7B+VwenE`+@|?|Es;Pj*2R3`_-YlyQHMMyCnq_6_Ah) zr8@@)1e6p(8W}=BK|-XYJB1NYKw>EA?i#pfKz)7RcdZ-Wx@&#+yZ8DBuEjc>v(G+z z?`QAl7Y}IdLciIBoDWT~cJ#aRG`;)WCVz|2+h&P&lWKJ>ZJ>UdA+&L4(GYyVM)Te6 zFzRB$8x(8#{5@KB(Rh|12xVXRvM56o`y%Q?zt@>` z>gp!`_`^s0LAz+LPKGuu-cX$hdPxPmW30LJcG$m1(Eojp`kzAuhM8cNNJoJG z5lAuIJD|ezI~D*?#h*jWWyAsSj6a8sU!cdI-73)Em&nMU-Na=$`7dyb4Pz(;pp6!s zz6G1v@j<3fdxNK5XNaWW*3?k8xl6?CuWD5XbiWm7nC}rGyzeZUl(I1z!5^WO+3>u` zZzFH{*>xZ*xmQz@d~ao{_milGVY<0jzG`4|^s2`rm!G$!N$=h!qn|J>1&EG+?L7co z(O++~+SYF#nN{@&ma%tHT^!mXPS|6A)z~awt}A(n}ND*e{FYMMnH5OOZLAF3zjnHcr7(m zH9_^-a#kC6c+_{9tcY2YX>|fZ;~uqJ08%!=gD~mBpqkQaLQ;r<*s&i-rsmBYE>Z{9 zQ2^8Wb1wAefhh{c-7%39@6mq`J#Ox;|vC$t8iW=|4ckFpd_nz$hOW$?_!9e$-52XjHQm2P`+I z1w$XL=Q<_axQ~4v6^fSEQ-`V|b9|3%}XCMe1 z+bbbEzf)iT>7bsKk?Uo)DELHY({){vU6G@cm9W`JE^2?@%=3G52F~#3Iix#;Ya=^u zjV{0mlsc3KwX@^Q@!;~~m1}EZ8wrQXn}F0mN(>s@sKCM9#l;+!vF0-8{pAdy?7S5J zK2X^`!i;41r!br@?NwXBU}V$v+}GW`b17Qp4k$q?9)u1z=dXddG8D8=ExB%lM6ksG=wLRGSA{>OuUo1q}T@hO`bckz)s5}KAau)}OK*z&v3EoQ4UWE?&aQ}-YwIEM>nG0omb!t?_9i8 z^}WN`)5_zoyzc8))593ccT2#(SDy7GUYI4w9<;AiL>}AHYQRg$LcDTG8zc=U!mf3n zB%3h!v+7)o8*;;f+aJ~?p`9RtVqP;KT+krkBaPPPDow-M!(D$(mFiEJKQX@}Q$HoD zP)hQz_W>KO7!Q72BS0E2Lpeew#%zscOu=64IV)%m97Tnr17dX?NpYS1+Mc7_QrCO! z4l)tGR$i7#@YP}3He8QM!3t{>N@&@dAd2F5Q;*UC*I)L714iV_YdRGRLK?u+47nt&*?GSru(`vWrBw($@uz~d_|;aP?X_A6Q4F0&mv{LDX;ZR=-HP+3qI$C*2u&ve|K8b2!gV1asapcCNq4a_sI z1Ao@w&^eww7r6OhkpAqHG5dl(_ee%_dVSMK*%<+QrP4$I7xo1oru;t2fU6k z52pxt+QPw-!DqB{Q!KEqZKF5C1C6!~`K1Y5OjX^!Aci zq#uQ8lnPt5!=hL=Z!OM9KaHPH&@AeYZsIK(`-$755V%iuh(|GDslWBtlXZawDk%}B zO0wT>CQUGBg%uM|w}yQ1?voc?uY|muy^ZxHoDH^5BL_RS+t^aq&G5&RQmZ4<2Kcp0 zbVa~AIt)Qn9&6#@20Y}St8uE**XJOG?y1P!@OsUZD)AS7H zt(biCZQY@29(|)FrarkQsG=;N$B}j=7-b>9Dsbs2&zZWiGdxGmZ=81Bf9++s??CJ5 zHiM#<+{HU}-o-q^rEuNZ!`s<6b>Zgr4Rlp_hAryQILnLXf*L~hA!S`1-bc;#bil?J z;QVE}9&6}TC+XEu!)YOZtCp1;5xsLBpL=x)3!O~Hv3ClV$dqe1tNG@_=Tn9 z*}g81^9`oX`v;vZ>jb?-*(_@PBIxya3B%RE>86w8%S-;|BFNTAI-qCh)r(F(96)SUM(&6sDpp8K5yOwT(gbrZ zXQf~ve`#Wz^|@O~DVKc|t20ObeqU``Zc!EUL=Tg~(x8>}$g7Vrtv@b{sq+OX1nU#& zaQjC2=fY-S0p$cCeuz;e%GiD=`szMF5>ny>_Sm_#^(-8b*PLXKW=Ep!Ub#!WGhF7g#x)@>ni+{#A35dm^VMZWP4?r)G2n&qIzyX~hQX zH=A9&2)%2;N0reA$fs`R$K}Tom`@l&z)SBlx}zI0uIDmtrOBBDP!!|oM$$I!yH5z8 z=~+!M%L@XBU3zOvw9kiME_#afFacRCUi0~dmra5vfE1mty~Sv2&aCUsf`*^P(e&ek zkG`kf)HCV^ees_vAKj=AHNQ!Z*$(x306hnMjJ_}XpH28522`KSB{z$pF-eVN0!qd& z{(Y{}7>`r@SN*F`yP3DF0J-+MtrY4>X2UV|ndQ=MAx%mP+3nEV>X*6xDvY3%7M;c< zw#OqZYuKjE!DPrCNxJ-_7bT&xK>5^r!msUUFGpOXNE?ig=X-ty=%+h3lCWE+4y?Oj zh>P!AdX24%tyMcR)lUZRLeB5|&4vOMsL+4yJ)H@vWvMnle^Ay$OEn)b#0v@}m=d); zD%{)Jp*>Z1{xRb=KafYuknfzM+%{@v@Ex9>kw&6*NXJYaVkB11pO8tvsa1#XBy`|63GkQy!Vx|YEnO?Y zTWNc8Hpumj?WnXXU4G6wptDndTg9Gpen+r==Nsk8>Z*1=;xQoGl%igfFKF zP=u`9ya<&`H+)vg?CkrVYrfHK=ucX*?i1$|H7)M5ah`HeyK1uFi z^mm6{C8M99K0GJ9*`N>@r4uKQ1{71F$TEN7GgRk1RtCmJi5}d0mpNCW*7Q=~ERL$|aVW43!pvq6=yqQ`He&{Uz2ETr(ORG3{ z46kaLmpsV00}-J?=rxKbA;_lzQxJqW{a+jv$uV9!0kzIMj% z;+Zj9&{-b9{`_kMtk+y3Ns1=hWMsJc(BLUekPsuPEbe+ZuRvkMjRv;B7k!6>;){Y& zHsC(V8Qu$d_QZwkWRJiX6_gj$Dls;%LN9#s7FSiCr4X?Nu-Zv26p*f5 zwyjYe{A~O&f)(tePXFd^w|7VX1f$V}`05#ncI!yFK659+4>=bPFo#bz&qwobBa8-Q zF|f&8)F?DJXDlnpE(Uo5aq)HD5x|vP@H@lF?Z2y+;p|OBffq|oSy=6If#KGY+`j55 z^KNJ??KyOKN6J$ZXt?-|iUc>W2$OzP`?_@6)BI|sBzlaU*MbH;yG^PcvfzbGLV5^% z@gC+d7Y4vX7N^&DUJuW4TFCv=ZiR+J(Yk|pv2CZU%$>lBLd;#)8VRTOVQF>TjRV3tD6l9+RBB{bnS#z(RQ z80+r6%Sb8LTT3-`LtU{>e#G%pB3mM(B@2SFBVet~_#A;?8c4;wJ8p; zOL72cNeDYZ4$p-pczm40*o?^MxbEiK^EoWir{m^P9%y{?6!ZRP&HmSJuY} z=l5_Fn2IcMMfYi4uOPBxgq@*%{M32$jtBfK)^08&XETt2;l3|{^J%MhRnYlV8pHWn zr`mM59M5dODj2`yylse2mgzGGvZHxGGW9zRU}5nMHy1QmBOCLWpyzJ2bw@3j#wW$d z0{vU!J$kq?|8nQsMj%4cV2Ks;0)@8Iv`V|a?pu+Ri9``?)yb!%-SwI-pXHrM&lulq z3ALyNFzv}unzu_j?)56DM_i0R`xSLdiaZ{Y7mTQJY~KHsUAl-C*nM!M2)&7A`vBU2 zzJDElF(k&L9B}Q_Uk=MNRg)*R?m%hECSi`ZWzBs3c9gy){3bF5ejjIqv*}GaF#rJ0 z#)|K}mcu_e94;Iuj&XN5`)Sf>Kl^iA<%o-bo2Q^rY9IlYqKJP?)G7PsyzPZ1P}uT; z2LGa+!bcXah%1NGBv40hY$94>OROqX3=jIzA8!?W^C zxr;4R`}O>bGv+GGh+1*tL(=Bli7Itu-;01IW&FAayiqESPmru@0RFv*zN0lWReK-W z@G91Pm#3&U5Rar_oHBecRbr==q26;7@b4s7m2M%p7(*|Kati^{pG^@x71)6OLTKxI zj#Rdfd+REa{*6Qd#Z((!EPc_Zg;-pKCl3T}o|d(KUr>cgQxVi!0e6|5J_O^2J5gU| zw`rJl-c4c6NqyVD{riZvpcY#OoW+u`NQFw}!Zyi`Q4j+2Db86Y9(co$yLuDtafC~; z@ROOIfmg)@$V59V!z>v-efsBJ@Z1I-{O0IS?`I~}$!!Rt zjY0$rOb$p|;|Wz`Y5~72(JuvHhOc2)D90s>{qi-sW2fr8H$PM{0{5w$N+VhtXuMdc z-<)}q89D$tC%xGgpHWTc4ah$kz?)zEoqvdnbej0#lg@C*?ZgYG1p_&PU;K9@i0_R4 za=tL0-eZjY5(>Ctz5^%HARz-C=rQria zjagtojc3ICHkPR^N|0vJX6>|7RgCXz)Klk)&YdC=`drXiO zU?S7#tS~*N!yp}S1Wpx041-QOl-kVfSrwm%lZ+kHy7%6c)%=b)8dGJEJ{v7ReqoL3 z-rt>+8R&6f5=$#3TP_ZlxR^!JUl~(^+Zy^mCDkM1H*|2>%$fh( zef|>x6jVZJN6hc;$Y=-{oV6*go39U%?pr{>wBffSGmouYSwd!<%VJ35O;CEjDJeV2 zRSxLKK|@?c?sB@(Qq@phMipcQn@cq20v)ha#6|5hbjsw`EjM~dP%&oD&}_ocey?b` zl+cc-J0y0eUOKbgYPlw3=~mwzK5};Sm=27@Vx!S=EC<#P%-9U`i3C5Uhr+WePw3V- zDVp^--RgQ|RQ`1^aFep%CuOc4y*NH4Xe_VN#}s~Mv*9`ydQd79V=1L#aREMQ7#N{m z_Nb=n{p1K-E$XnCkNbQ*mO*xOyqt_ak~z7pJw^xaYZvwrQsOulX7Oy7XsJ_$ND(U0 zDUnSBZ1Vpm+Bi?=5wWj@yj_>`e_94LWTPRt4zI!!BkFYb;*YVk6#$_HBqlJ!+=gG! z+=5D&jECc7w;$i4^P*Qic{#re2t07E1CZ85$Guzc8<9te_*9Lanysx1O(v49@*FTg@&LwU z3Bp1+X2spkO|)?QHwFakPrExaTRv58?h??;HoYD&MvVnZp9`yap!{o3>OyrF76F@H zwJabqy`;n zwH!6VID_%2&KK&a*&%NShL5i2aklGO(F%xXKDn$mzV(=APZ$?RNk0GEKw*cuOOs-e z1)fi5rMyMDQI=hVU=YBMhpl|ipEi^c63lcF+HK!^tFlFS{kF@p1T2>Rs5M1lo0h$@ z7;7(5hnul#34=h(@rj2~s=L{%t0Po<77{aq)wJ$EsR7`0Sdy8m zIk{Vlxe#SsBqh&czgW7w6;Qnt2h(osS;tibj~N@^$XfjtZ}{+xiV%A_ADh65Z}jmm z4%!9!^EC6hee}pNVn~Poc|YPl&J!fABSmhvh)uWG9#s?8O(TYh)WPVTrJt;T$T2;9 z&0-&`r^YuRJlHl8Huym*^D=UdQ<{-AUFJ9Sjj6Pp$?TjXtSE+cEbL#{lFcs?-+fVG1`*1l;8jQc#>KYVh8Z^J_oBhQvpStT_4h8tGwy}IyJ7I&;_vOcbTv{~4WS`?q3 zZGt9Emw!eg+g$^+Pc`2=M7Y${lFSpUn%Co`aWh*3(DP_7V>`k7sVpPoVp~++(RNy9 z-VqUqHj^j4x%fdCWL>(=VbRSvQ=!N8qfIas?Yn>TU0QF~I{#4GhttM9iQV`s<(A)h zZEHhR7_61U9GP!H0c2qv%?R&TSh~uKnZT7jBtKK{e-(N3SwZ^?t0wA7A^6LH&$5{u z;0-f8L+5Xt8Iptzv1s=?^@*OV{V313d@uKqczZe+sv4iiDf9kP5VMS1-0?E?I?*F} z4WeV#_!SkWFT-AfV0IfTjzzriboIU`NZ6K%WiH}}>jh-$i1SvOr4A8_CZEE4avTb> zC*wk6x1JI`rfIdn0V)LB4T&uMdk2#je5J9lAXSoT4U>yRqn7bqnQ$j?%HfWx;(so5 zf})L`lQRJFY#r553(HSL_4E6QeYiJ~R!O{|0g-<1QJ}{4wSG_io1PA}D#k)@VSu*- zr>e5~oF@K_+XE8L))2o^1%`JNjN$42ULtvllt9T~^h~}0lps1EQ9~Zg&eXJC(Q~^k zDpTc3_k3dT2c*#C51(XO1d}ueI*arit&k z(!`jdRkmQ==(Ot94vOk67XQZF5#i4sEvR=7T%cBnYGa73O3WeArS@~{h~MW~*i$UQ zMV|2HFzb%NDgbVqz?2fC@Z&wwk&3WFx zHmw4av^AU35TXc`-6}Js3CU$;*2P`w6KVgV7K#e2pu_HZ!p-nFnk<*-k6H{{D38 zh0-0K(Jp4#n1fDCxXFBYRwDM^zqKU>t*3u7%$QK~C0bAI1C#6SBl0+qJw84ccAVUo zO(GDlu(@~e7;HZPmDFZd?`7`jX)oAoc}fLIw6gYKic(oT=3l#PO#iUu3;zK5e!x=4 zF*gE|MaQiud2krA7~J^oq$qf{gP9Nj*D8^ID^}xsSUlQieubf*d0}MO|1xu>0Pe)* z`kINSmf2F;*Uzq|EO%$T|-+<ff4)4MGUuZMlBtyk zQ}*texhc8b%|efzaixr**eouCR=!vsQv@O2y=$Ey%#ghoJbE)p__-Wn`H*ZT!?W5D zJ^wSf)a^wRP&tW|EJw#)!X({sd%nzJWHXbeS^s$EOwU+N7~O~In}*5!7vf#!xIQxU z9x#8X@_l)GaB^c@F9&_e_M&_}*oXZ+8ja8ZWWhm|nBu%I0!j2iMG}4fX+;O*AdgNL z^esc_Y(KDA-ZRJa_2jj+RY@Y;#9PvqI3ivpK_)MRev3y`p#J_@x?TX#6fRHIsd2}( zprZe|X5Vb|6|{AEv^E1FR#JbfWVk#5!npB(H^sy)xUIa72?G$RdMM=A+3j(qcPq z2g5&U>wqr-JbN`MPoUXl%Bw&o2lrAfv-o7;Ngb9xh|Id~_9gs+Jnrs_?CJ;L-UEL5 z7cabqr*v*Y7}z$vk~`@;yg05sAEc`_?l|3u!I+2|S*Jam+fB~h+@$*`BL-jh@2zk0 zd3&e9U5qs{dDqBu?ya)V1<}E5poUV>jHe>eHD%88iq-KNFE6Sfl{*2;Yx_t!)o*&7 zBZO`-Z28DCgJPRWu7Ly5a{HAqMehcGVo0G6(G4_7-YHXpF$EEs$ZZ>yservvxFq0& z-ZO7Cxwf6MnQ*lHTF#UjUSgB`wo@-Kyb;wKD5k9Wpp|=jxpD--&h^(SScT@5P7_uV z7Mo=PcN|SQk^0)oVJ{&W?Hr89TkyeU6q8|r<;-EmZv=0$;R!Gz)D8gB;^tTME$r zblw3FRUY0ly`vt7sFwG`_?Q0i#n=neQ{&{dwZIofjo{(cnRIbMI|JqT5HfHcNJL7o z>Ef#qz3a3J*Q|XSRQH37Y(%1l#)EI$`m5W=n?SX6(3IMHilGX1sP1FmTb_a&t`A04 zoAc8@95iCIyn0J^@x**BxDRLsP<@#6YkR1^L#V$d$p}p-u%%>d`vBB_BMG=U=v+|W zw_85*)&PGdDd{Mx;?&w_SwXTa$+8r%UzyjV>GahiWcL=Z;q7~42n0OpbWPFL=f4Ub zPj16XA4L`7K)h7rDfk`p>&IrFKr)w z;TR5frZxy;cC8sg45qwMo? zXTqs_Dz?!glW~H$RSt@FF1jjgyihm6sY`wugVYLPx^e-ZS4(Zp2iEyT3ClZtl_`;e zGLiab(Uzuj@D1Fri(mIBac*ik-Z4grj(k!1agW;05Sl?4KX&l&BNjGkjEZSMh%LoY zj1RuYkI)HQGz}uaX>I%1!>v%%iKr zRd~!rdir*)O`7oDd?aa}2}1^%_sr~T1rtnOzm{eeVZ8tK#G z9v;4|6Zg#!a#G988z({t$=c(65ZBJFYf57S<%Y%diYflpcX>6GI&4EW*_B72Ip8!Php^c3$H!D|OwZyi4c5z$oUjZn{Wq8EpeY`g- zbDj`+u!$P4MXg2QjMH_lM@>PcJ`xhnno*ZQXiLT9aqZoXA~elXQtI03+zg=`x2@dW z0E1uS6A1NRE#=aUkq_S@;Z-^4aLHJg%1D(y6`j($yGzF`C0Wxp!Iixnwf0F7+L}eT zWa1ga$Ilbcon?(b+Nu*iyY|{PCNAX(GfWYhM6X2b_UAKRtZ)TnQ{*Yk}4T}K7B;Ys7Az}O@GTHPL>1pvRjJ8I2-sVwm8PpDoOC9#w~dF>#il7-L+v-V=7^L67h=a)7%CCCy2&qftT5sk8+ zEsas?6<#4_G0%CPO*R%_uj*kkDr=e@^1W|40c0ItiANEUz*70^rrCc!&i~z)0+9q0 z=(qp=kCM2>Z2I4`=Ks(|^gn$S|6gbT95b|&RL`=4AV8K^b}6Z2rC_J-UUj`5zvn}ZEsCaUn?(B)nQ0E zxzQRQ5)vpiyQ*^tv}(wBGY-v@kv?5ca#U_Ra3E7ITRbCVF%~{5C!RuNr}6axcQm3C zCoks7p8yJ{1;}NXq;u`(GbH2EZOTRKa?SVFvX;MoKRx{7WxG|lJ*p@Zw9^H~k8wD> z-fr075aC`NEw9Pphg(^B=l8g}_)?|@)lu{~MJ%dPdRR2NJH7d|?+&L*?<`Z23L*&U z^1$=#2(KgpO)?9CLIaq?ZvUCL&M_(=ndh}(^qDepJFYgBj9PY)h@1eUuXp;!TGCDp z)I<8jLqE3J^Xk&4(?Q4u9Eg9fRYC5TXbZx=?BX~+1W_-OOepn+{v_Z7(e*c(W6Vi8u)YTcde@BAZwz9<%Ov%HdpaLCL6G%%g)(`~u)-=Vxj=W&ppzmGYdTD5#$bFAMe-4PXMRaTnU0OTRr3WCR>Nz5&1wKsaG>6)k+lkCM0&+cSbH_H$m;i z7b1`+0sWW`E^1b7H4Y$cg5OFQAe@F?oZ;r&Ni7cmC<*b*Um__xWToVvdCmWbBz24U z45%U)+tAGp8zmH>Kv8xA`eu8eT%=N$kPJpDs-IIQ!D*$N+r|9x*YoD{oV{rq0GR-P zl+VnR+0iRy?hg`VhNWk}K|wlXUH^Y_9sG|)g0k^|WzCBqhQ#~u#qAQMYrsEs6>a5W IMYG`l27ugN8~^|S literal 0 HcmV?d00001 diff --git a/docs/images/Well-Modularized_Architecture_53b6d43.png b/docs/images/Well-Modularized_Architecture_53b6d43.png new file mode 100644 index 0000000000000000000000000000000000000000..3b313601136a238d1415a003f3b474e140fc408d GIT binary patch literal 33508 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 ~ezN?tPt4s>hL0GkHj%?&L588 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

FBR4FHsv{kf5p-PQd%amdpdk&D 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 literal 0 HcmV?d00001 diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..6b80ab4 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,37 @@ +# SAP BTP Developer's Guide + +- [What Is SAP BTP Developer’s Guide?](what-is-sap-btp-developer-s-guide-ba26ec4.md) +- [What's New for SAP BTP Developer's Guide](what-s-new-for-sap-btp-developer-s-guide-7cf7a39.md) +- [SAP Suite of Business Modules](sap-suite-of-business-modules-4efd0bc.md) +- [From Concept to Code](from-concept-to-code-a5b8129.md) +- [Hands-On Experience](hands-on-experience-7fa228f.md) + - [Tutorials for ABAP Cloud](tutorials-for-abap-cloud-fd87aaa.md) + - [Tutorials for SAP Cloud Application Programming Model](tutorials-for-sap-cloud-application-programming-model-eb7420a.md) +- [Enterprise Application Building Blocks](enterprise-application-building-blocks-03139be.md) + - [Business Application Services](business-application-services-f3641a5.md) + - [Basic Platform Setup](basic-platform-setup-3b774f8.md) + - [Service Cheat Sheet](service-cheat-sheet-511cac8.md) + - [ABAP Cloud Roadmap](abap-cloud-roadmap-48150e1.md) + - [Automated SAP BTP Instrastructure Setup](automated-sap-btp-instrastructure-setup-6dd97e1.md) + - [Operate](operate-f7f2977.md) +- [Development Guidance](development-guidance-cc37b7a.md) + - [ABAP Cloud](abap-cloud-9aaaf65.md) + - [Design](design-314ae3e.md) + - [Design a Transactional Application](design-a-transactional-application-608432c.md) + - [Design an Analytical Application](design-an-analytical-application-8819cb7.md) + - [Design an Integration Service](design-an-integration-service-ec2ac31.md) + - [Design a Multitenant Application](design-a-multitenant-application-1ac614d.md) + - [Develop](develop-c8906e4.md) + - [Transactional Application](transactional-application-373046e.md) + - [Analytical Application](analytical-application-b845c85.md) + - [Integration Service](integration-service-c079f33.md) + - [Develop a Multitenant Application](develop-a-multitenant-application-3151e2a.md) + - [Deploy](deploy-d7aec3c.md) + - [SAP Cloud Application Programming Model](sap-cloud-application-programming-model-696ec23.md) + - [Design](design-dcdc2d9.md) + - [Develop](develop-58df1d6.md) + - [Add User Interface](add-user-interface-9f1d42e.md) + - [Deploy](deploy-45d5acf.md) + - [Continuous Integration and Continuous Delivery](continuous-integration-and-continuous-delivery-d973132.md) + - [Reference Application](reference-application-34065a4.md) + diff --git a/docs/integration-service-c079f33.md b/docs/integration-service-c079f33.md new file mode 100644 index 0000000..3789af4 --- /dev/null +++ b/docs/integration-service-c079f33.md @@ -0,0 +1,4 @@ + + +# Integration Service + diff --git a/docs/operate-f7f2977.md b/docs/operate-f7f2977.md new file mode 100644 index 0000000..c96577c --- /dev/null +++ b/docs/operate-f7f2977.md @@ -0,0 +1,47 @@ + + +# Operate + +SAP Cloud ALM is included in your SAP Cloud Service subscription containing Enterprise Support, cloud editions, in SAP Enterprise Support and in Product Support for Large Enterprises. + +SAP Cloud ALM helps you to implement and operate intelligent cloud and hybrid business solutions. You benefit from an out-of-the-box, native cloud solution running on SAP BTP, designed as the central entry point to manage your complete SAP landscape with content-driven guided implementation and highly automated operations. + +With with the operations solutions in SAP Cloud ALM, you can handle both SAP BTP-based SaaS applications and your own applications. + +SAP Cloud ALM for operations provides a personalized and unified operations user experience. You can use purpose-driven different monitoring, analysis, and management use cases optimized for certain operations aspects. SAP Cloud ALM for operations empowers you to understand the health of your SAP business solutions and acts as collaboration platform between lines of business and IT. + +Under [Supported Solutions](https://help.sap.com/docs/cloud-alm/setup-administration/supported-solutions), you see which monitoring capabilities are available with SAP Cloud ALM. Under *SAP Solution*, filter for BTP and check the supported services from the operations area. + +Benefit from the powerful *Intelligent Event Processing*, embedded analytics, and intelligence functionality with a large variety of inbound and outbound integration. *Synthetic User Monitoring* monitors the performance and availability of web applications from a client-side perspective based on Selenium-based scripts. *Business Service Management* consolidates all operational events at business service level and shows them in a well-arranged event calendar. + +Specifically for Java and Node.js custom-built applications in SAP BTP, Cloud Foundry runtime, there are the Data Collection Instrumentation Libraries based on Open Telemetry designed to enable the data collection infrastructure in SAP Cloud ALM. With these libraries, you can collect data for the following use cases: + +- *Real User Monitoring*: Leverage both front-end and back-end measurements on single request level. + +- *Health Monitoring*: Gain insights on application health based on technical metrics. + +- *Integration and Exception Monitoring*: Collect and react on exceptions raised by the application. + +- *Job and Automation Monitoring*: Monitor SAP Job Scheduling Service jobs. + + +SAP Cloud ALM is the central place to integrate and access the monitoring of your existing IT service management processes, such as ticketing systems. + +Inbound and outbound APIs enable you to integrate data from your own applications. For more information, see the [API Guide for SAP Cloud ALM](https://help.sap.com/docs/cloud-alm/apis/api-reference). + +![](images/SAPCloudALM_operations_d378eed.jpg) + + + + + +## More + +- [Implement SAP Cloud ALM](https://help.sap.com/docs/cloud-alm/setup-administration/provisioning) via SAP for Me + +- Application help for [SAP Cloud ALM for Operations](https://help.sap.com/docs/cloud-alm/applicationhelp/operations) + +- [SAP Cloud ALM for operations](https://support.sap.com/en/alm/sap-cloud-alm/operations.html) \(SAP Support Portal\) +- [Expert Portal for SAP Cloud ALM Operations](https://support.sap.com/en/alm/sap-cloud-alm/operations/expert-portal.html) \(SAP Support Portal\), with detailed configuration instructions + + diff --git a/docs/reference-application-34065a4.md b/docs/reference-application-34065a4.md new file mode 100644 index 0000000..e6c5a9f --- /dev/null +++ b/docs/reference-application-34065a4.md @@ -0,0 +1,4 @@ + + +# Reference Application + diff --git a/docs/sap-cloud-application-programming-model-696ec23.md b/docs/sap-cloud-application-programming-model-696ec23.md new file mode 100644 index 0000000..fb31805 --- /dev/null +++ b/docs/sap-cloud-application-programming-model-696ec23.md @@ -0,0 +1,44 @@ + + +# SAP Cloud Application Programming Model + + + + + +## Overview + +The SAP Cloud Application Programming Model \(CAP\) is a framework of languages, libraries, and tools for building enterprise-grade services and applications. It guides developers along a path of proven best practices and a great wealth of out-of-the-box solutions to recurring tasks. + +CAP-based projects benefit from a primary focus on domain. Instead of delving into overly technical disciplines, CAP focuses on accelerated development and safeguarding investments in a world of rapidly changing cloud technologies. + +The following graphic shows that the CAP framework features a mix of proven and broadly adopted open-source and SAP technologies: + +![](images/CAP_Overview_7e017ac.png) + +On top of open-source technologies, CAP mainly adds: + +- Core Data Services \(CDS\) as its universal modeling language for both domain models and service definitions. + +- Service SDKs and runtimes for Node.js and Java, offering libraries to implement and consume services as well as generic provider implementations serving many requests automatically. + + +CAP also offers mocks for many platform features, which allow fast develop-test-run cycles with minimal development runtime complexity. CAP facilitates integration scenarios by importing an API from, for example SAP S/4HANA backend or from SAP Business Accelerator Hub and running mocks for this locally. + +Over time, one can add things gradually, only when they're needed. For example, you can move ahead to running your applications in close-to-productive setups for integration tests and delivery, without any change in models or code. + +See [Grow as You Go](https://cap.cloud.sap/docs/get-started/grow-as-you-go) in the CAP documentation. + +**Related Information** + + +[Design](design-dcdc2d9.md "") + +[Develop](develop-58df1d6.md "Learn more about developing applications on the SAP BTP, Cloud Foundry environment.") + +[Deploy](deploy-45d5acf.md "") + +[Reference Application](reference-application-34065a4.md "") + +[Operate](operate-f7f2977.md "") + diff --git a/docs/sap-suite-of-business-modules-4efd0bc.md b/docs/sap-suite-of-business-modules-4efd0bc.md new file mode 100644 index 0000000..1e21083 --- /dev/null +++ b/docs/sap-suite-of-business-modules-4efd0bc.md @@ -0,0 +1,4 @@ + + +# SAP Suite of Business Modules + diff --git a/docs/service-cheat-sheet-511cac8.md b/docs/service-cheat-sheet-511cac8.md new file mode 100644 index 0000000..853ef7e --- /dev/null +++ b/docs/service-cheat-sheet-511cac8.md @@ -0,0 +1,137 @@ + + +# Service Cheat Sheet + +**Golden Path Services for the Core Reference Application: Mid June 2023** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +Capability + + + +Service + +
+ +Development Environment + + + +There are two alternatives available: + +- Visual Studio Code and SAP Fiori tools + +- SAP Business Application Studio + + + + +
+ +Programming Model + + + +[SAP Cloud Application Programming Model](https://cap.cloud.sap/docs/) + +
+ +Programming Languages + + + +- Node.js + +- Java + + + + +
+ +User Interface + + + +[SAP Fiori](https://sapui5.hana.ondemand.com/#/topic/03265b0408e2432c9571d6b3feb6b1fd) + +
+ +Database + + + +[SAP HANA Cloud](https://help.sap.com/docs/HANA_CLOUD/f4997718ff9d45f49f90f5d01d16d5a0/2f0c5e3dc11d4eb8a1d6cb878a311f43.html) + +
+ +Runtime + + + +Choose between the following runtimes: + +- Cloud Foundry + +- Kyma + + + + +
+ +Digital Experience Portals + + + +[SAP Cloud Portal service](https://help.sap.com/docs/cloud-portal-service/sap-cloud-portal-service/sap-cloud-portal-service) + +
+ +Continuous Integration and Delivery + + + +[Hyperspace](https://hyperspace.tools.sap/docs/) + +
+ diff --git a/docs/transactional-application-373046e.md b/docs/transactional-application-373046e.md new file mode 100644 index 0000000..fbbbe01 --- /dev/null +++ b/docs/transactional-application-373046e.md @@ -0,0 +1,4 @@ + + +# Transactional Application + diff --git a/docs/tutorials-for-abap-cloud-fd87aaa.md b/docs/tutorials-for-abap-cloud-fd87aaa.md new file mode 100644 index 0000000..534d346 --- /dev/null +++ b/docs/tutorials-for-abap-cloud-fd87aaa.md @@ -0,0 +1,74 @@ + + +# Tutorials for ABAP Cloud + +The ABAP Cloud best practices are documented in the form of step-by-step tutorials for learning how to develop and deploy full-stack transactional and analytical applications using the ABAP RESTful Application Programming Model \(RAP\) and embedded analytics. + +The exercises are based on the Travel sample application of the [Flight Reference Scenario](https://github.com/SAP-samples/abap-platform-refscen-flight) that is the best practice example for developing, deploying, and operating a full-stack application using ABAP RESTful Application Programming Model \(RAP\) and SAP Fiori. + +You can also go through the [Develop a Full-Stack RAP Application Following the SAP BTP Developer’s Guide](https://discovery-center.cloud.sap/missiondetail/4380/4666/) that is based on the Travel sample application. This mission has three main parts. The first part contains the RAP100 basics, for building an SAP Fiori application with RAP. The second part is for creating, developing, and integrating an SAP Fiori application. The third part builds on top of RAP100 basics and contains the intermediate tutorials, with additions such as dynamic feature control and ABAP unit tests. + + + +
+ +## Analytical Scenario + +The analytical scenario shows the end-to-end development of an analytical application. It consists of a business service exposing an analytical query and a report built with SAP Analytics Cloud. The analytical report can be used to analyze complex situations and freely interact with large amounts of data in real time. + +The analytical scenario is provided in the form of tutorials with beginner and intermediate experience levels. + + + + + +## Transactional Scenario + +The transactional scenario shows the end-to-end development of a transactional SAP Fiori elements list report application. It consists of an OData-based business service built with RAP and an SAP Fiori elements-based UI. It also shows the deployment of the SAP Fiori application in the ABAP environment and its integration in the local SAP Fiori launchpad for SAP BTP, ABAP environment. + +You will develop a simple, transactional list report application, the Travel Processing application, that is used by a department responsible for processing worldwide travel for multiple agencies. + +The transactional scenario built with RAP is provided as a tutorial mission, which is divided into three tutorial groups with beginner and intermediate experience levels. + +The following beginner tutorial groups are available for the transactional scenario: + +- Build an SAP Fiori App Using the ABAP RESTful Application Programming Model \(RAP\) – Basics \[RAP100\] + + - [Get to Know the ABAP RESTful Application Programming Model](https://developers.sap.com/tutorials/abap-environment-restful-programming-model.html) + + - [Create Database Table and Generate UI Service](https://developers.sap.com/tutorials/abap-environment-rap100-generate-ui-service.html) + + - [Enhance the Business Object Data Model and Enable OData Streams](https://developers.sap.com/tutorials/abap-environment-rap100-enhance-data-model.html) + + - [Enhance the Business Object Behavior with Unmanaged Internal Numbering](https://developers.sap.com/tutorials/abap-environment-rap100-early-numbering.html) + + - [Enhance the Business Object Behavior with Determinations](https://developers.sap.com/tutorials/abap-environment-rap100-determination.html) + + - [Enhance the Business Object Behavior with Validations](https://developers.sap.com/tutorials/abap-environment-rap100-validation.html) + + +- Create, Deploy and Integrate an SAP Fiori elements App into SAP Fiori Launchpad for SAP BTP, ABAP Environment \[RAP100\] + + - [Create and Deploy an SAP Fiori Elements App to SAP BTP, ABAP Environment](https://developers.sap.com/tutorials/abap-environment-deploy-fiori-elements-ui.html) + + - [Integrate an SAP Fiori Elements App into the SAP Fiori Launchpad for SAP BTP, ABAP Environment](https://developers.sap.com/tutorials/abap-environment-integrate-app-into-flp.html) + + + +The advanced exercises of the transactional scenario are provided as a tutorial group. They are built on top of the exercises of the beginner tutorial groups. + +Build an SAP Fiori App Using the ABAP RESTful Application Programming Model \(RAP\) – Intermediate \[RAP100\]: + +- [Enhance the Business Object Behavior with Instance Actions](https://developers.sap.com/tutorials/abap-environment-rap100-instance-action.html) + +- [Enhance the Business Object Behavior with Factory Action](https://developers.sap.com/tutorials/abap-environment-rap100-factory-action.html) + +- [Enhance the Business Object Behavior with Dynamic Feature Control](https://developers.sap.com/tutorials/abap-environment-rap100-dynamic-feature-control.html) + +- [Write an ABAP Unit Test for the RAP Business Object](https://developers.sap.com/tutorials/abap-environment-rap100-unit-testing.html) + + +The [Develop and Consume Queries on SAP Analytics Cloud](https://developers.sap.com/tutorials/abap-environment-analytics.html) beginner tutorial is available for the analytical scenario. + +The [Develop Queries Based on Booking Supplement and Consume on SAP Analytics Cloud](https://developers.sap.com/tutorials/abap-environment-booking-supplements-analytics.html) tutorial covers the advanced exercises of the analytical scenario. + diff --git a/docs/tutorials-for-sap-cloud-application-programming-model-eb7420a.md b/docs/tutorials-for-sap-cloud-application-programming-model-eb7420a.md new file mode 100644 index 0000000..8c136b7 --- /dev/null +++ b/docs/tutorials-for-sap-cloud-application-programming-model-eb7420a.md @@ -0,0 +1,142 @@ + + +# Tutorials for SAP Cloud Application Programming Model + +The business scenario of the Incident Management application helps a company like ACME, a company dealing with electronics, that hires call center support representatives to process and manage customer incidents. A call center support representative, called a processor, receives a phone call from an existing customer and creates a new incident on behalf of the customer. The newly created incident is based on the customer complaint received during the phone call so the call center support representative also adds the conversation with the customer to the incident. + +This application enables the interaction between the members of the support team who are working on the customer's incident. The application is designed to allow support team members to initiate incident reports which are then processed by other support team members. + +The tutorials are built using the Incident Management application. Where applicable, these tutorials use the free plans of the respective services. + +Before you start using the services or runtimes, you need to manage your entitlements and add quotas to your subaccounts. See [Entitlements and Quotas](https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Validation/en-US/00aa2c23479d42568b18882b1ca90d79.html "When you purchase an enterprise account, you’re entitled to use a specific set of resources, such as the amount of memory that can be allocated to your applications.") :arrow_upper_right:. + +Note that if you want to try out services for free, you need to select free tier service plan, if available. For a list of free services, check the Service Catalog at [SAP Discovery Center](https://discovery-center.cloud.sap/servicessearch/Free%20Tier/). + +> ### Note: +> There is also a free plan for the SAP BTP, Cloud Foundry runtime and SAP BTP, Kyma runtime. To use the free plan of the runtimes, you have to configure the entitlements in the SAP BTP cockpit. You have one free plan for each runtime per global account and you can assign it to one subaccount at a time. + + + +This image is interactive. Click the highlighted areas so you open the respective tutorial or mission. + +![](images/Tutorials_and_Missions_in_Order_12092d9.png) + + + +The tutorials are organized in the following way. + +- Basic groups of tutorials for the Incident Management application. See: + + - [Develop a Full-Stack CAP Application](https://developers.sap.com/group.cap-application-full-stack.html) + + - [Deploy a Full-Stack CAP Application in SAP BTP, Cloud Foundry Runtime](https://developers.sap.com/group.deploy-full-stack-cap-application.html) + + - [Deploy a Full-Stack CAP Application in SAP BTP, Kyma Runtime](https://developers.sap.com/group.deploy-full-stack-cap-kyma-runtime.html) + + +- Additional tutorials for the additional modules based on the Incident Management application. + +- All the tutorials are grouped together in missions in the SAP Discovery Center: + + - [Develop a Full-Stack CAP Application Following the SAP BTP Developer’s Guide](https://discovery-center.cloud.sap/missiondetail/4327/4608/) + + - [Develop a Side-by-Side CAP-Based Extension Application Following the SAP BTP Developer’s Guide](https://discovery-center.cloud.sap/protected/index.html#/missiondetail/4426/4712/) + + - [Implement Observability in a Full-Stack CAP Application Following SAP BTP Developer’s Guide](https://discovery-center.cloud.sap/protected/index.html#/missiondetail/4432/4718/) + + + + + + + +## Develop a Full-Stack CAP Application + +The [Develop a Full-Stack CAP Application](https://developers.sap.com/group.cap-application-full-stack.html) group of tutorials covers the following steps for developing the Incident Management sample application: + +- Setting up the development environment. See [Set Up SAP Business Application Studio](https://developers.sap.com/tutorials/set-up-bas.html). + +- Building a CAP application with SAP Fiori elements user interface and a custom logic. See: + + - [Build a CAP Application](https://developers.sap.com/tutorials/build-cap-app.html) + + - [Add SAP Fiori Elements UIs](https://developers.sap.com/tutorials/add-fiori-elements-uis.html) + + - [Add Custom Logic](https://developers.sap.com/tutorials/add-custom-logic.html) + + +- Adding local launchpad, authorization, tests for local development and preparing for production. See: + + - [Use a Local Launch Page](https://developers.sap.com/tutorials/use-local-launch-page.html) + + - [Add Authorization](https://developers.sap.com/tutorials/add-authorization.html) + + - [Add Test Cases](https://developers.sap.com/tutorials/add-test-cases.html) + + - [Prepare for Production](https://developers.sap.com/tutorials/prep-for-prod.html) + + + + + + + +## Deploy a Full-Stack CAP Application in SAP BTP, Cloud Foundry Runtime + +The [Deploy a Full-Stack CAP Application in SAP BTP, Cloud Foundry Runtime](https://developers.sap.com/group.deploy-full-stack-cap-application.html) group of tutorials covers the following steps for deploying the Incident Management application in the SAP BTP, Cloud Foundry runtime: + +- Deploying the application in a productive account in SAP BTP, Cloud Foundry runtime. See + + - [Prepare for Deployment in the SAP BTP, Cloud Foundry Runtime](https://developers.sap.com/tutorials/prepare-btp-cf.html) + + - [Deploy in SAP BTP, Cloud Foundry Runtime](https://developers.sap.com/tutorials/deploy-to-cf.html) + + - [Assign the User Roles](https://developers.sap.com/tutorials/user-role-assignment.html) + + +- Using SAP Build Work Zone, standard edition. See [Integrate Your Application with SAP Build Work Zone, Standard Edition](https://developers.sap.com/tutorials/integrate-with-work-zone.html). + +- Setting up continuous integration and delivery pipeline in SAP BTP. See [Set Up a CI/CD Pipeline](https://developers.sap.com/tutorials/set-up-cicd.html). + + + + + + +## Deploy a Full-Stack CAP Application in SAP BTP, Kyma Runtime + +The [Deploy a Full-Stack CAP Application in SAP BTP, Kyma Runtime](https://developers.sap.com/group.deploy-full-stack-cap-kyma-runtime.html) group of tutorials covers the following steps for deploying the Incident Management application in the SAP BTP, Kyma runtime: + +- Deploying the application in a productive account in SAP BTP, Kyma runtime. See + + - [Prepare for Deployment in the SAP BTP, Kyma Runtime](https://developers.sap.com/tutorials/prepare-btp-kyma.html) + + - [Deploy in SAP BTP, Kyma Runtime](https://developers.sap.com/tutorials/deploy-to-kyma.html) + + - [Assign the User Roles](https://developers.sap.com/tutorials/user-role-assignment.html) + + +- Using SAP Build Work Zone, standard edition. See [Integrate Your Application with SAP Build Work Zone, Standard Edition](https://developers.sap.com/tutorials/integrate-with-work-zone.html). + +- Setting up continuous integration and delivery pipeline in SAP BTP. See [Set Up a CI/CD Pipeline for SAP BTP, Kyma Runtime](https://developers.sap.com/tutorials/set-up-cicd-kyma.html). + + + + + + +## Additional Modules + +The tutorials for the additional modules are built on top of the basic groups of tutorials. Depending on what you need, you can pick up different modules. For each of these modules, the basic groups of tutorials is a prerequisite. The modules are: + +- [Connect to a Remote Service Using the SAP Destination Service](https://github.com/SAP-samples/btp-developer-guide-cap/blob/main/documentation/remote-service/README.md). + +- [Set Up Eventing Using the SAP Event Mesh Service](https://github.com/SAP-samples/btp-developer-guide-cap/blob/main/documentation/eventing/README.md). + +- [Set Up Audit Logging Using the SAP Audit Log Service](https://github.com/SAP-samples/btp-developer-guide-cap/blob/main/documentation/auditlog/readme.md). + +- [Configure Authorization and Authentication Using the Authorization Management Service and the Identity Authentication Service](https://github.com/SAP-samples/btp-developer-guide-cap/blob/main/documentation/xsuaa-to-ams/README.md). + +- [Implement Change Tracking](https://github.com/SAP-samples/btp-developer-guide-cap/blob/main/documentation/change-tracking/README.md). + + diff --git a/docs/what-is-sap-btp-developer-s-guide-ba26ec4.md b/docs/what-is-sap-btp-developer-s-guide-ba26ec4.md new file mode 100644 index 0000000..9e73cf9 --- /dev/null +++ b/docs/what-is-sap-btp-developer-s-guide-ba26ec4.md @@ -0,0 +1,108 @@ + + +# What Is SAP BTP Developer’s Guide? + +Learn about the SAP BTP Developer’s Guide and how you can use it to improve the process of implementing a business application on SAP BTP. + + + + + +## Overview + +The goal of the SAP BTP Developer’s Guide is to help you implement business applications on SAP BTP. This guide explains the building blocks for developing, delivering, and integrating business applications. + +Development projects for business applications have similar characteristics. Standardized development guidance is driving developer efficiency. + +Based on the experiences of successful business applications, this guide condenses best practices and technologies that can be safely recommended to you. These recommendations include: + +- A blueprint with a curated list of services that implement the standard nucleus of SAP business applications on SAP BTP. + +- An automated SAP BTP Infrastructure setup that handles provisioning, management, and configuration of resources on SAP BTP. + +- A standard set of technologies that ensure smooth integrations. + +- Guidance for delivering SAP cloud qualities and intelligent enterprise suite qualities. + + +The SAP BTP Developer’s Guide recommends the ABAP Cloud and SAP Cloud Application Programming Model \(CAP\) as the best architecture styles to implement for business applications. Both programming models integrate with SAP BTP services. + +![](images/SAP_BTP_Developer_s_Guide_Overview_61b7816.png) + +The SAP BTP Developer’s Guide complements existing documentation, such as the Best Practices for SAP BTP guide, by providing guidance concerning the recommended process to implement business applications on SAP BTP, especially for developers. See [Best Practices for SAP BTP](https://help.sap.com/docs/btp/best-practices/best-practices-for-sap-btp?version=Cloud). + +Another resource is the SAP BTP Guidance Framework - this is the central access point for architects, developers, and administrators to build and run enterprise-grade solutions on SAP BTP. It comprises decision guides, reference architectures, methodologies, recommendations, and DevOps principles. See [SAP BTP Guidance Framework](https://help.sap.com/docs/sap-btp-guidance-framework/guidance-framework/what-is-sap-btp-guidance-framework). + + + + + +## ABAP Cloud + +ABAP Cloud reflects the modern way to develop ABAP. It allows you to build lifecycle-stable and cloud-ready business applications, services, and extensions. + +ABAP Cloud provides tools and techniques that ensure cloud qualities, promotes new technologies, contains a cloud-optimized subset of the ABAP language, and makes upgrade cycles easier by a clear separation between custom code and SAP code by only using released APIs and objects. + + + + + +## SAP Cloud Application Programming Model + +The SAP Cloud Application Programming Model \(CAP\) is a framework of languages, libraries, and tools for building enterprise-grade services and applications. It supports Java \(with Spring Boot\), JavaScript, and TypeScript \(with Node.js\), which are some of the most widely adopted languages. CAP guides developers along a path of proven best practices and a great wealth of out-of-the-box solutions to recurring tasks. + +CAP-based projects benefit from a primary focus on the domain. Instead of delving into overly technical disciplines, CAP focuses on accelerated development and safeguarding investments in a world of rapidly changing cloud technologies. + +Here are some of the benefits that come with the SAP Cloud Application Programming Model \(CAP\): + +- Built-in best practices + +- Support for Visual Studio Code and SAP Business Application Studio tools + +- Safeguarded application development investments + +- No runtimes lock-in + +- Reuse and integration of SAP BTP application services + +- Latest UX and themes + + + + + + +## SAP Build Code + +SAP Build Code offers an AI-powered cloud development environment specifically tailored for SAP Cloud Application Programming Model \(CAP\) and SAPUI5 developers and supporting JavaScript, TypeScript and Java. + +By seamlessly integrating coding, testing, and application management, it streamlines the application development process on SAP BTP. SAP Build Code combines SAP Business Application Studio with the most essential services and SDKs on SAP BTP. + +With the integration of Joule, the innovative AI copilot of SAP, SAP Build Code enables automatic generation of application code, data models, services, and sample data. + +Using SAP Build Code ensures adherence to the best practices and guidance outlined in the SAP BTP Developer's Guide. + + + + + +## Contribute to the SAP BTP Developer’s Guide + +> ### Tip: +> The English version of this guide is open for contributions and feedback using GitHub. This allows you to get in contact with responsible authors of SAP Help Portal pages and the development team to discuss documentation-related issues. To contribute to this guide, or to provide feedback, choose the corresponding option on SAP Help Portal: +> +> - *Feedback* \> *Create issue*: Provide feedback about a documentation page. This option opens an issue on GitHub. +> +> - *Feedback* \> *Edit page*: Contribute to a documentation page. This option opens a pull request on GitHub. +> +> +> You need a GitHub account to use these options. +> +> More information: +> +> - [Contribution Guidelines](https://help.sap.com/docs/open-documentation-initiative/contribution-guidelines/readme.html) +> +> - [Introduction Video](https://www.youtube.com/watch?v=WJ0oarMlVW4) +> +> - [Introduction Blog Post](https://blogs.sap.com/2021/11/29/sap-btp-documentation-goes-github-new-collaboration-process/) + diff --git a/docs/what-s-new-for-sap-btp-developer-s-guide-7cf7a39.md b/docs/what-s-new-for-sap-btp-developer-s-guide-7cf7a39.md new file mode 100644 index 0000000..af6cce8 --- /dev/null +++ b/docs/what-s-new-for-sap-btp-developer-s-guide-7cf7a39.md @@ -0,0 +1,515 @@ + + +# What's New for SAP BTP Developer's Guide + + + + + +**2024** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +Technical Component + + + +Environment + + + +Title + + + +Description + + + +Action + + + +Lifecycle + + + +Type + + + +Line of Business + + + +Modular Business Process + + + +Product + + + +Latest Revision + + + +Available as of + +
+ +SAP BTP Developer's Guide + + + +- Kyma +- Cloud Foundry + + + + + +New Graphic Showing the Order of the Tutorials and Missions for CAP + + + +You can now use an interactive graphic to follow the tutorials and missions related to the SAP Cloud Application Programming Model \(CAP\) and based on the Incident Management sample application. + +See [Tutorials for SAP Cloud Application Programming Model](https://help.sap.com/docs/btp/btp-developers-guide/tutorials-for-sap-cloud-application-programming-model?version=Cloud). + + + +Info only + + + +General Availability + + + +Announcement + + + +Technology + + + +Not applicable + + + +  + + + +2024-08-02 + + + +2024-08-02 + +
+ +SAP BTP Developer's Guide + + + +- Cloud Foundry + + + + + +Tutorials for Consuming Remote Services Moved to Tutorial Navigator + + + +The tutorials that show how to integrate the SAP S/4HANA Cloud Business Partner API to the Incident Management application are now moved to the Tutorial Navigator. There are two main groups depending on whether you have an SAP S/4HANA Cloud tenant, or you use a mock server: + +- [Consume Remote Services from S/4HANA Cloud in Your Full-Stack CAP Application Following the SAP BTP Developer's Guide and Deploy in SAP BTP, Cloud Foundry Runtime](https://developers.sap.com/group.sap-s4hana-consume-remote-services.html) + +- [Consume Remote Services from a Mock Server in Your Full-Stack CAP Application Following the SAP BTP Developer's Guide and Deploy in SAP BTP, Cloud Foundry Runtime](https://developers.sap.com/group.sap-mock-consume-remote-services.html) + + + + + + +Info only + + + +General Availability + + + +Announcement + + + +Technology + + + +Not applicable + + + +  + + + +2024-08-01 + + + +2024-08-01 + +
+ +SAP BTP Developer's Guide + + + +- Kyma +- Cloud Foundry + + + + + +Explore the Develop a Side-by-Side CAP-Based Extension Application Following the SAP BTP Developer’s Guide Mission + + + +There is a new mission published that is part of the hands-on materials for the SAP Cloud Application Programming Model \(CAP\). + +The mission explains how you can implement side-by-side SAP Cloud Application Programming Model \(CAP\)-based extension applications and deploy them in SAP BTP and is based on the Incident Management sample application. + +See: + +- [Tutorials for SAP Cloud Application Programming Model](https://help.sap.com/docs/btp/btp-developers-guide/tutorials-for-sap-cloud-application-programming-model?version=Cloud) + +- [Mission: Develop a Side-by-Side CAP-Based Extension Application Following the SAP BTP Developer’s Guide](https://discovery-center.cloud.sap/protected/index.html#/missiondetail/4426/4712/) + + + + + + +Info only + + + +General Availability + + + +Announcement + + + +Technology + + + +Not applicable + + + +  + + + +2024-06-03 + + + +2024-06-03 + +
+ +SAP BTP Developer's Guide + + + +- Kyma +- Cloud Foundry + + + + + +Explore the Implement Observability in a Full-Stack CAP Application Following SAP BTP Developer’s Guide Mission + + + +There is a new mission published that is part of the hands-on materials for the SAP Cloud Application Programming Model \(CAP\). + +The mission explains how you can add observability to your SAP Cloud Application Programming Model \(CAP\)-based applications and is based on the Incident Management sample application. + +See: + +- [Tutorials for SAP Cloud Application Programming Model](https://help.sap.com/docs/btp/btp-developers-guide/tutorials-for-sap-cloud-application-programming-model?version=Cloud) + +- [Mission: Implement Observability in a Full-Stack CAP Application Following SAP BTP Developer’s Guide](https://discovery-center.cloud.sap/protected/index.html#/missiondetail/4432/4718/) + + + + + + +Info only + + + +General Availability + + + +Announcement + + + +Technology + + + +Not applicable + + + +  + + + +2024-05-31 + + + +2024-05-31 + +
+ +SAP BTP Developer's Guide + + + +- ABAP + + + + + +Explore the Develop a Full-Stack RAP Application Following the SAP BTP Developer’s Guide Mission + + + +There is a new mission published that is part of the hands-on materials for ABAP Cloud: Develop a Full-Stack RAP Application Following the SAP BTP Developer’s Guide. It is based on the Travel sample application of the [Flight Reference Scenario](https://github.com/SAP-samples/abap-platform-refscen-flight) that is the best practice example for developing, deploying, and operating a full-stack application using ABAP RESTful Application Programming Model \(RAP\) and SAP Fiori. + +See [Tutorials for ABAP Cloud](https://help.sap.com/docs/btp/btp-developers-guide/tutorials-for-abap-cloud?version=Cloud). + + + +Info only + + + +General Availability + + + +Announcement + + + +Technology + + + +Not applicable + + + +  + + + +2024-04-18 + + + +2024-04-18 + +
+ +SAP BTP Developer's Guide + + + +- ABAP +- Kyma +- Cloud Foundry + + + + + +Build Your Application from Concept to Code + + + +The SAP BTP Developer's Guide now provides insights on how to deliver a cloud application from concept to a final product. The section **From Concept to Code** outlines a progressive approach that includes the following steps: + +- Identify the business problem + +- Deliver a cloud application from concept to a final product + +- Understand modularization in general + +- Understand modularization in the context of microservice-based architecture + +- Learn why the domain-driven design is an adequate approach + +- Learn about the domain-driven design starter modeling process + +- Check how complex your scenario is + + +For more information, see [From Concept to Code](https://help.sap.com/docs/btp/btp-developers-guide/from-concept-to-code?version=Cloud). + + + +Info only + + + +General Availability + + + +Announcement + + + +Technology + + + +Not applicable + + + +SAP BTP Developer's Guide + + + +2024-03-21 + + + +2024-03-21 + +
+

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 RU;SjL%0mr>GCA|${{;ZCs#yR4 literal 0 HcmV?d00001 diff --git a/docs/images/Design_an_Analytical_Application_80e21cc.png b/docs/images/Design_an_Analytical_Application_80e21cc.png new file mode 100644 index 0000000000000000000000000000000000000000..16c97067ecdf80c789848eb6ed2e225be8567002 GIT binary patch literal 26295 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 Y)6@2CJnIMGrz&SORCJVU6dwowKX*o#lmGw# literal 0 HcmV?d00001 diff --git a/docs/images/Design_an_Integration_Service_c04a651.png b/docs/images/Design_an_Integration_Service_c04a651.png new file mode 100644 index 0000000000000000000000000000000000000000..903c792594bfad5f26e22d19f587099ecc0de8b6 GIT binary patch literal 20243 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 E0MzTYCjbBd literal 0 HcmV?d00001 diff --git a/docs/images/Image_Map_Development_Options_Overview_d716bab.png b/docs/images/Image_Map_Development_Options_Overview_d716bab.png new file mode 100644 index 0000000000000000000000000000000000000000..aa59d027a2a392549a345ecca3d3d89d12e8cb05 GIT binary patch literal 27315 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 literal 0 HcmV?d00001 diff --git a/docs/images/SAPCloudALM_operations_d378eed.jpg b/docs/images/SAPCloudALM_operations_d378eed.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b29a3165ef3c688a7da293c4b5697d254914c447 GIT binary patch literal 206157 zcmeFZby!>5x;~mJEfgqPq(E_p;u54lahKp$971q{LraUh7jJR*1cw%PibJsC5`q@D z%R2k+wf4HtZ=dr!`<#EyJ!|H9l96YQ`F-#BGUmwp$(Xm(w?6^T<)mb#0Qc?z0Qc@* zfZJJs#ND_5+VPu^|C)rmt8c#naGu;hdt~w89u?p|&bj3zF zkEiHpPcR-ndi>!2ZyijZ0|1Zj-<^Jff&S##qx<(U?)u-Iy@&SXDGn|kF~7E3(iA=c z5v5ilymowIlJEry6(2~`J%0?HL%=mYp$10H$s;DC;Q|e+?(C+aRduf7ea9{CI6|lP zA+BzeOTy_+3HhD&`}hA51mMZj$7l~9q5lnpKF%G8I}DGpF`lA5c<|ui1Hiq1LxG0# z1Q(A;D-oaY1tp)V<~vtt0_+aNQvzZhUdNcq8u&hkx(3KCHg0r`ieF4EFuvN!d4!tN zg^OF9hSuamm4EFm0`Tm?opziDH~>*V>$ksK;XnSg#x@{1-F3jG_@GkCqYK`W}Q5s^rl#~Y>?JqRkX}BnD;)yCcwITBLvmc~H3 z?t5xov~Sijz#)X(Jod7J6$fN6nqDxE+? z9I3#NbIe(oNyjf{g#%A_Sec27*66HxRWjHQgubBPOXE+UNnK$fX98dDm3!;nF{?<^ zOC!h0Lx#8Em3N%P)0%2G=^D4ZZ{Ralp3_;*Vr8t=&QmZQZmw~~Gw2E*WOUMRcRfv% zs^*T#eHv?zF|3NspgbcId2B`gA|s1jC9}$hZ2N~)&$G-zX!4<(|B=+kiIr#DQzcEM z+xDVP<+>qs`%TBs4?kVUZSHA)Sn}AWTzh&+KeABz(DuD6+n9*bzM<6*&n7__lAYNz zb$G6LGE26JUHGlgS5dPI;KUbqL(gCjao^rwZpC7xugK(UhU1!Eq;Qj$W0iXL_bucd zoiZI4{5!zV)KFZjdym#5(2CoO4XX}o3!AR{nr&!O+m6O1`tVMavzv9%0yYYQ;^}uX zr9EqKs_u<9Dx3qqdt{4k@BcNBzkZQ_I_LivPc6O`9ha_k_|jL%gCnrioZp>y^ohyIuID&wC^SYu& zoJ>^AW(GSxAINsi2(WV)2}+c{R%)1)Ivh>x?SB4I^IVqtV(*{)Y#uFWLtjPjl{7PL z-2!Sq{Pf<&+b8KCEz7)g=V-oJx0?*S1ztVwExf6yY({)!B1C@t9}*d z-z=bgI4V&7242^j0B-Ivez~koi$`$UH_)RwC$g)xoD~X zI9~EUS)z4r5b8D@+Z{vJPzSFX><+r@;cl4WvD2#uyT$0=WBP{oS!29?X;LHb> z@C*8I3t<0km=1s0@-JKdpSi&Q$a(p3wY-_tqqC%tw>iXhY>Yx=1qC*wZIjUk}wbHv9N^WjzWGW=7~2eY$4e1!{j! zbKOW+QyEj_{X{b7*jdORjw_YR(91|IQgJTh45g9T>rbF|3Ad_DhQ3Yaq}euQk&f)c z?9TL=dMOX#9;qSN^c(iBME!=T`ILQvx*vr)-Jtamw>9 zYfU)QT=QZDp)tyJJUEq;pEIY8Ey3g#K%@7B?_K(0o|Pr zmoYTfaZa0@bpeD@Y_F2U^Xc#5Ne)h@+TVLjpD%{m{&bOEry(WPyRk=CiZx0k_ zZ=4OSixb4b1~dIc&J(m}hFdfJM7v%YZlyDS9lP|D_cr(cpcRwnNme8`34b^I-f?n! z*&$RdHH@+lk}SPQLgWaG)0<2ToUKvp@?46y$$cy>mfQ=qUs#Y0he5y6xhkP(Z`!^m{;98~8sCXZ&Y-OkhFJK0751NDZDd((yLg z1OdGj1mxGLEw19@h{?$g8wn30qlO%%s0%1w9ogeMDRU{}69VqJW)Cs^XI1@Ue~j5* zQwIbq(y2M3&AF1ek5Cujv(SU=!BL8Z(Jac{u5*lV_vt9EnUJGhZ>Zv+&|BxdM+^(k z0R)q*O~1)`{HXabKb!>KvHZ2#gW{{}AS?xQuCaLG^l@{6b_yJ-bTQH%EdMA}MDZaR z{S8h-5u6E(cQD2gw)g(ouLm18TIdNE&BS(D2yl{I8iLpr)3Q*pOB*?gs`xtEAKY8u zrc7=0H9%dJrDUY9a7p}SGM|gODaBg=K$Hh0`!L?X6;BdhU9gy?urEcHCfUgqUsYn` zA(a^&r)k>EcR78tt|5-_RZrc)yh_)Prj~irKOwL}1%7Vxz-o31VKgeu$Rv}^0rRXh zpz$7N2Fz)&ORrA-NrPRZD=;BeB>-^x?Qg~sA{OAE*50T(;$$%~G1X%^ky28eh2jhl z*V1V?ppa8?G&99!c#QEnt`mwh!TM<%jE-sH%BAO|-KD(@C)g@`5nM2fZ0&U=DGEIl zy5zd*Cp$t}xEXo(Bt0z|%rpq&%Ocy9B=_s8UfKlU@+Y=8T(5sqe2zf11+9YH( zT1k=U{Cd^^o2i?r$;ziD;PPOwrlo#aPfcuf+-GJaE!d|_!lX{uz?ezQ0JwPdH{5q& z(;|K30mmBOXUNw>DHVv-1e@#G=fl(i-XG`G44f7p?%8VfO6-;F!8dF@&$o+=X5_7G+>|+)Vg#z5+bKXC?ZVRQ`JxJuYyr?P!m0G2ylEmF0k~Xb8+Mzw0yN zAmv-l`P{R=moQx$?&9kl%0c$#94*y7JJut`>PrOxqm0IYE)6r=kr-2K}mUW@}tADw1q6OZp?b>Gw+xIp49f%~})`EYIx zh?sog%51JmW6Lk>$&%vN0;W2k~_XeuqO0t;#s#5A^XFc7P8Sle%CamcQCM21P7U&t{l z7TPT8VcLV(Ewjd|I=TK(|Lf@5c2;kE*&IRawgsyYtZ4}{Wc>u58lG#m-l5Ti#$qO( zgGJ?Zn&Y~C{$`VD|P6ni5npU+EyOoC>?PSVc-8zNze< zXH%wtvd)Q!m-f6c3F$*VnH`c#`l7Y$2%AF-xfu>UFje3?^YMC#iKI4$g7YfoQ+H*4 z3bCWc)W*&z1v0&2mIirs;96eJ+Ht=PLUp_(Q+kXmx7L)Y)XwIkB!rd%Yim0^^Idp? z&(0@X@08Kujf7ZPBtCJ|g0}-+oL9E5)!ZYzmPMV$B7kY@6 z=A~2>^-7cPZ$tw%=}o%jI*XdBW7{e9AS70`rRg!-u^2^K3`{eeYb@_=0^7G|>dvma zuNS3fPv=R7V}6M^X`OKxtP=EdGz`nUwb&mbaRaVjKA@*ftT?z>2;Lob@KIxlE#0Xi zfc{WiMNcb=e10mpS2RBYoATPce%I3?e9YA%c~AxR+VXNEQ7x+VIMvbzb=aO1)~g;5 zrkrGu*D~8Te3l-hC_6M1=zFF#NN_115zzQ6{xe);jbH)j!c~GQ{WwsR$;UtC@=o)_ z6e3Z>K(M)4v?`1sSM2YqwaMAlY4&e=Z6VW{%Q!ZMGt%GPQ?MXL7Mkl=oQlT_iKwn+ zXI)}W#k_%wG>r3P2#(PfBLw}o6o?OJnYv4P(-zuIeWoML6F`-jI#@T1;rH|^LnF+V zaQVMIPIS=9B-Qe)NUH*!r*@T@Pk(mY-E)CC8r}~~3|%8Hp65<@@h-(Bv8YLj3*sx|?TU?Cj zxK~j=#oZQ4xrRvzhDhi;9RVE+L$yxb(oQ+CSS4NBmCjkJ3EOMDZ)Iu_B`K?2S*LtA ztN0UaQrCcaK(Xz!X1 zmN0Qn+r=aG4^5@>UYVh@XrD=I-xw^rM^#tD3pFuC^YR%;El#bX-Z7G*FPw`qTcwqB zi`C0sup_jtJgEL>jM__)!gT^C*=e;ihffq0{lLVQ^`L!T>Io0Z%wgp}UaQIPjzGFashx zy))M8+$aaCc{GKypW^3Zc!sL7nVbf~boUgX&eAf?{;KNhxfRU$L)x>Og!h?uydFO2 zxXc};vfszTgY5qYf$L=v+r0+ech44~l6VV(*8Si&Hu!rpu;_63n2*DVnPIo)6GbNC^Uhkx6>BhbsC(t01kkCfdmZL6d7p z*klt%i?-{en-Z$P=Cp_}j-|PCZ6Y@-#u=e)yF?OC`|co{?i}r1ytxS?yyQi#C`(xf8ZgeWmzhj!#9^cUZ7l=Pb8TLp)PI zgGSDNFE>831aoF}_|{AxO7THW-Fa7}ni@a zF_yRRdA>{0w#pichZH|oXQZcvjLmGHw_Vy{QeN>0FS_Y7?>Du<2lXze6g>KpQ2p3Z z=w|j7ku1L@*Cg1xByOUlyyUZYYHm7PvQcucmcdcJe3?1mp@*0&-+b+^pu?VC8`0&Rs9b$J$kVhcL9^`ncNRX3Go@r&? zew;6+mho|u@084TXvXGz+SO{Le~B%=l_ScSXBRd$Y?iZj@^Fx&7~W&VCLLs4WcBLc zl4@{(s6N_rf;!n2a+1C!OI*~Dj$-rLFf-BoU{y3n29Cgzsl_yf!8Z_$$Z5s=8f_8g z)^}uJMJ`=2tuXSBH0X(j@=e?opZ>`d&GG_8w2ZhL<$ zGL=g872C>#`SyH}(;@aEFu$UnFv*?zloa4MpEjKJvK!b2e*U0it(C3bbgWpm54b9| zw-PX_Y-=CkQOJMU%A!(WZF9`Yw5Vw)w`MwjEPaTzb-=nA%Y#J!5!yMsN~)96r$y4k zOmwaVnf34{+7{}zKDw_J%vS%Qo7|BrbtD#;lG(`r%f`%u`N$PW>v?~^l0~nq_*wc)Mno@z9}WE3>hO7|K)34ftOuKJwKu>ZGvI) z*f$yW;~mY{L)TQ@g&DZwV8S)yR*t>uq+Un7hb}`0%;E=gO46(}6NW5UGC)F+2Bgahf0DoPziTN>o zjEgIPujX&G$|gzhO2I>Moz%)ZCZ1H6M?T$`PAKmPvqnUw?^)RMbG@*$PT39qY~0}+ zaf=p4GhfRT1_r==WKi0hzX|x)-v7i^Uv76xDoUKwP2AXRiPB|1q?yk=fM(tTj-1%f z7&~LU(pz8JnF)kzyj;}h`E#N-oH5C^p6*U(Z6%`f2!g7*| zimg65bCvQOaI)}2>BcT!ThaS*_WNlGUH5p20nZclF6uXSB?7@mr8gIThh$i{fOYa4l3PGhi;>Ln zE8*H2yw+s%*5VA`RpBq`SN*Kl`bVdf?L6m`w*Vi}bF3i0BWyp+yNm{Vj%PIaEaK_n zK-J>Ju&5LHAIO$cu8@8$nO8v)t>;0lfvszMNu$Ct*bvmiy>%V??TyTO>_0#`4EnmZ zE-K$hd|kY1Uu-uzJni2i&q0I#F}$EZAn{wY3NG&5WqBxn?A^TETPi>ITKg5H_F(oO zhV}=fmt02a_NQaFfap!PTfpnn{i&a$cb~f zCDCw`km@BhEe?r7c+?>=F)_t}`6LAott^*Z@TmE@>{~PQqnP6!0KiXr|Id+-kozas zJXezLBkNn(d)BJYPffi8x`b?{lXp7KPep)q>lsu6r~dKwPXOph!iB%xb@v$x$yC4W z2rEMEmB4iQ(Iw29<&$YYPH}nRRSu`A@oTzBFUPk&dX6}_>#b}N^oIJjF`*m@RhMR6 z%`9$Dr0B+43YoLMHf4u=E^+EEN@BLLX7Gx7%on5(sm2ZTZL8yLE#+GkX7}TwO5WL_ z2_h>eHHZ!9ZRA?qw>9p2{<-Jj#_n#GN=j;an#Ip6kvbpe&kJ3ZCbJdl71?+g#hRhz zB;D9p>wGwBO8GnL2hH2EL_6i^BTa(2KB!paNfoIMeV-wx_|DZ9V}_JfaQbjixM_7k z&dF};yXpf;)Ml+=3 zwJk3!hY!h{ZC7?bO=#ZeA!u!Q9xN^VSiAW#%jrE@{pvuty2fr$r(ccrpfaH_3AJoh zzDWDRP=WxYCeB81AApgxL#}b)r`8k`g=mWY(J*)g-0bPK0HQg75vD!$jCoGD&kqh+ zOP~xB$s&pGaF{MQvSVqMF8O=WSk*yFk#u!OKViKc_~9wg2hMXvTrRD z)-d`onHP_Z!}Q1^HF?R}%EQu#Q>>Z<=92jP_(ixr+!se+N}$2|O#t*xpd9r)>MgviU0>jRfj zjz|D&GjUT*&O((4GH^~1uBVtcGJDKBZt=ZPbW*m`_*|xYSlJuQR;m#}EK5`3RZEx9 z#+pf&Eg31JMNf~HQLUD(5tqd|7!h#+o@4YVz6PY1uZ9fCwL_Rl_l>gI~bcqnX*%fnI5h)!w6*Y59kz#h1I-B(GCHu*DF5RPNl) z*asQ2F1qYLO%%t>c?|5A52PAeJHdDvV`Prhl-~0&dJ2873k~SS0;1%30uxI3CX=R5 znUef2iwafX3FJ!_C6~l)r7y34e4ENQGk@n3x%Ft49Tg`vztzT+mG6{g$>@XQ;oONg z`_77Hb&ovCvx<0xxh88j-41MfJ|o-T)=b0dOsGE~mz>k_a7R9?(xOGLx2?ZI>!B;j z0S!1v{R6zKaZ8p%v&I2vFzIYu#yf`1KN7J4ooQ6pEqr6*MQi8<&x*r)BN`w?jU-5% z-orTS4mJ$|_kR<4d) zdA4z&nVc}dRkFsz5qK!lr6-_p7uGln+}XF%zpJeqhfOo2w0mzwM7b9-Y>|R^18S^J zF$~N#l_rf3m>)r#1*qAdWlIlEnQg|h%n~=&5ZaYJsj{R5%a4n5ZsmDU_etq1m*%QB z4!M94SO}>R>M)`UB}16#!!(vuP1UD##YlX06QasU97!EX%$rBl46eX9-;|sCKRdf+ z3PT6;{RI#2l{REYu$)FrFStdN*A&xrWKh@2na0dG$cDNX17;&54lDSMO$oI=;Glf=$ zRu~Vq=d9wY#*DVd5(~W}vmB?8L>b!diC}BmCP>1SLdrDP=mx{qB*y~+ovi(x;&>X? zbiz{$yOkMs2C}pi1SG5Lp5lY74nE*frY+YyBD(d(T;#UpYe`4JNLy`Rb35=V4AJ`N7C=Hf!(;2eLO@u0Ec zHTcbGfs_P?!7a=y!paOBe*ys4QPF?Ds{mM`DM5#d#aHvAzKT*fh@!5#?QP@2aK)vVWKJ-`4n(gZD3{0-rwF zQeU|RbhB?D{RUwJ(sj|12_m9bPB*@_SF`$EFAB*bj}~zcGdYGxUr1lFTDzfMJiYAK zW`6~^|G7Ks-;z)N@p$fOW-bA4wB4`QCkGF|__t<#GitkcRdH}RSem*f_Q+2Xw(Gqk z@bMO~Pw%nbqjIu+3)p*F=!;i;*{B2n@G(RI{*({Fmw8dURldyJ6~!mx=Oq^$)JVF@ z#<5}|G;BdXTz@db$9;e^+=QR){sy3>4d4G8KBAe)m7x4>yg(Db-pRlAzx6#bL1zb7qGv6MMcE-4>dM=(K2Tt{N>D*#88Cs>6luNlM& zDjn5QqsbD?eY<(=&sY+p6G=@dZ}hU#oripbwJ7nx~Rrvpmd9amW&9=-m_Ej_1m+`6EpcD*|eBm9+% zvFEIO87@4XNP}9fBQHmZ)&$nXB4RcDr#ZVhJ1gmAOMo3Q=o`eg0JJVkeem4e$n?zD zG3Sa@El>ep^Lpje)Hu(SAzUcz9jS=+B{ac9OD1bgTVs)sNBSvE<*fPJ9$Qmk$Btc= zt=Y~fi)|5}O;)`sHZu$+<4OFXt56ceY`3BH3(pEpeVs%m&KL-sOG$h{~s z&0KQGbVKw#pyT{U1NS(Pt%Nsuf^L#efRQ*XuzskiU_At!^w~GOq^2}B`*V~PJ&idn zDPK&C4?X!-|I{YcL0=KSOz4YC-jGqW83(T~7xti3M@{1wMVcq|FqF(JQ>&KC*fbW{ zA*rOpVi*sw6m^5?4#kaFNdP0}rPif|zx93j<2L^<@{7%Dy<5Q6H1@i7`3?h?19kSX z{VgEhSTxzBwc^XGbri)-VA?HUzF+hf@XSHSzJB5sFt@#T9Zq_qQ0Mgp@LWb``VTDs zy!9j;30~&n+2AwuvyH}Gr{XFt4<49GoAeE+-D|38NKaB)WSyKe!JM#FcZu~hKqC`U>%CU3v9wX19Ub9j9?yBd&e zqlI=;eUE$T#fbPvIXcbZsX_y+CJ*(^t(LO+w1F~WaEIGNWmeB)7<&&|LF{|;*B z7QkN`ShyB&nv_(g1gmnDO8vP=$)kCVXedf*f1I$(4k`lG>GJd$mKRJlHm^#>HA65< z_UyjDZJRH_Lkt^(sHQ9-{Y>$1(JB!vHm2mko$+s^JF}Cynk*;hJc^wB(~gV}FP#Vt zTVLe37ky{`lyCvfm>3AC>X(%^Rve+uW^z<{+BKxy2%DiM`7WGdX=qQ$cHUuUCL*#m z5f!ex5eaXRHvH=L$b#7b)nE}dgJ?$4@pP?BUQ!)fm}&%ktkGDp-OJKYo_(>&mJ7mU?p-KH)N>$zu4nL2JRspWdHYSn`+D>Vh{UpwQ6co}y_5Z$6!? ztIhKXOpSh3R5B|@={k#+$K}A)kr(DRXPg1`Q+kc$qPHl?x!i`9Vjz%@V3Z~7+f&VZ zBsGQwo?fQYOj3ngWlFtU#mC=073t$yk3TV&qM64jF0IVUR7bya^QihfNn?n|$WfyR zW~ig4k8N}~uV%TVapz3eta<2@g$NUNYb_D9G(tIB12>p{G8`v)yA;|&cZnqX+GUmN zTezmNwZF~eq^Pg&s0c2Y)U^#*KEq^jArgg--&X>FmD%95K}H7;VjK1Jhho_#6jtD~ zt*RxZdfl@56u^6B`6UGPaFkg}YiKmJ<)BWBEZWY(YZo>ANIiZ#=R7~1@AF{}vqJnU zw?Nl&pJ{O5|;n! z7{ljSZ8Tnxj8d`IV4OXsZN$xM#~{;U(gu`>d$#u}#56T-Ci#(ye#DA${83EcDZ6Oy zUaEAiSvSevXmmd0)+|*}wK#}l+MLPX=JO5>2|ptt`&w;7h%TL{-VXuweDx6jg*pH65{$B? zMd=hJ!K69^aDBf)gNPEPH1=>j&sBu(Fg{9v9*cx4$)vNSEfW3fY(3!fx97-iwruyn zWwgh%&?e3C)g&eXj)Ji|o+&}y!ndwftebD7ldln1>r_g9+TiUqLyXqWnrLWE2NQiv zQfO32l>64AC;h^ZtIu+}x}<`=m$%eParby_2RkX0t}Z59su_Wpf+$Vnm2$tY)ih@1 z;s{a{AdoRnpR^_9WEc~^PByp&1OsTfA9{f!a}a7%%(X}_k*NB*TDws}1ij-tlXpbP z1alnvc5=1CtG06h4E?xr$%68(f-E@*^e}fUSzO0IJRy`R6yA3er+Ew_UgVPnPUbyi-ed|D#p`< zfAai>D|7!9JYUzB(?*+FsqOPbQ(C1}QS-!P?WyG0F-%iWX_~#1j>Ax`THkliq)R`e zDCg8CL>w~DCQ?$Jh-8x8soqmc7)o_6xG9*_BcCV+>lXX%H7eEQNZ1;TMGzQL7t z$hCFOHBrw8?@syUq~da_I953i7T5e@omA+k?9cAN<9xo=3y_g{GBz!&QHNBmaomlO zE86urcU%)GuYr`38jNyp5}&#WPH-xb2=H(@sIW{Jsy2MrFdoM1-RBNYlIAp= z$r%#Zr3^%xcUku}Hm)d&_2s~>MfO`N=TDOwS_(!RyM-f%2AVa+6Kcn`%$B8bN2(a9 zO2V2Q$tsPL;hy8g3IqoRRW|oH-ca9d3OUA~K;&BvY@=rsE;dCpsq-AM=GT07T+dXi zfsJeE!~ri;Kevk1Ep9TzL{eYw?u~Fp%@iJ@MrJw0t6j9PI!%`6PC!x~T-_3g zF8wJcJt>!KQJ+NbvZ}P=leLc>`D(SVVg9Wc{OedY70ZUK;jt65R0_{4#EK3Yz!^-| zM1{oe9l1nA=eFm(xUsBHmUz(TSK=!`3iq@{|BJp6ui@8$7R?{bD!&lQuTGkE3yrJ; zpSzyPhgUx-$kSHYUMeQE;%8DEX$vjzrb~9vCt4r2Y~lHWcE7EtY9@!v+Tea~;@py+ zP1{S42;SXaV{Mf6n04{>&1!M2vbeQHoU;`JLDnEQ*SANp)~qPT9HA)y@>mlWx!@Y7 ztIw+sr5-4Sko*YPw^7aZ{Zwo*9+NnK*>YaGCfRT!qIgXsyy!i7m^JT5L3b0&^BfH{ zYC$oV$Fs`RD!KRK2XLVv<-`1>>5x~e5~V?es z8?3n3H)|Z_l%NZC_m=nDAq8af7D5}1zm{r!_gcUns&=hWaelJcZi_rk1+_-qy{$PB zZvk6e*t_Z^hXh7hr(v5|e<}LQbpO$0h}qm}np}hRHS?&$4w)g-%)I>F71ckSY6aY4 zVh=bO$coQ4P=pRm$Jja<~;0>&yR1}crFRbKv-mfl{x1t@*<i2|$(Rj4p$StI$;1jLf|agqQX6=f?v$&{GlBClD!^@3&RbtRPVg!Aj8 zS6?f4pryOeB%E^&z1C>XnJ%Y$8SkxKhE;Y+zJv1`b=G%7T%}`XY9Rs`)M(nxGr25{ z)cV?aHf}`|a>aVZaU14?itXbJZdK)BgEbP}X*=Cd-G?cV~e6m3Ib<7My4aP?;+jyc&`OuyA5~_J1 zw*r1V-Ru08tMocvuFS^*0;B_WGzYhUn1SeaMzZ|EO~P3-HG)e6CqY~kpGI(8omd-B zU8OnO2|88VuDA$^abQejQl#C2xS$~@WlKc=f$bZ~Pogve9{q|zbyRg`M^Oz?Dpu(q zSqpPd?urat6WbSqn9HlO^LT8QiV!`Vs7n~{ot6C=KZu9 z+tMllY2T40uLpsFu@3iIUQtV%9W#zr3z@I^&aBWPa1W~a7xQ<#hzIeEM|nX6m(r}p zYi3BL9sIB+srrV-q5;7W_vxxie!IcZ@I@{NOB}qPfITm4oA&GGg>%#?mW1KTw%!X@ zFw-$gP!Ttx3jQq5ClhN_T<4N0;{F3;-DM=poItzFnnlPC%}_S9NVaH8WB<#;Pk?dx z4Po~WrHs1SCi;9Z$pm%}xHnQosf!wDXMRHWjK(hUkIKx3{cZMGy*?qdi&2Ac-MO)|3WhE;O)nI`%}D za3pKTbM9E0Mz<=>nG|VbS&4Mo@j~Vr3Kqy_T~oPDpS$4Q2q)#Z(k_W~&EPcTr8jBI z&E~Ukxym87M^6+K>E?~gg&f-M$asx~btR%}J->=X;H2IL)?!dI<`RBL;PKceZ1sWr zHyZ=yv@4zI%S7dk<`~mTd^% zJ7XQ&6L>J!hB+tE?3>>fi@O7dcyg-40z72bbTjjccHph0o)J!Rxj@6wrP=!#LEwzK z@)bDm($rMh&VPrZsD;{0#NJ)q3h<~sO7w36etQ>WvZ3hZEkAOTJ?9}3n27wxNct1m zM$u)|U9e|;)o5QmjOrBV%Riy~c-haUmH0W}Av$6BA9DViS`YqI)sHy%Q{j}EyIbFm zUYDTgU4ks~i}%ODCe>b{L2eaoz@y11{x82nprOuHj=BZBY|Sja1@KOBkS~i1YMk8y z4*Jh87LOp#M20y~;IOxRpLaLEtpUXjEO)U+pMHaJ!6#r z1`T7xOvc7zJ_}B}ffG~V=468HMb4M5tE*&Vx~}+JmW?4jp@S)oP53Pt%NCcb1mqpp zP#rq>bi9(9)jXJ9ZMgc~oETd@o947z!wrN!MsxE_@~dG2=`%nc$7Z+&Y~xA2Q8wXL zX+59!2Im@5*GTfv=q;pvh@sA_x}Lc(1P+ZbGPdD6QsKTR8>!!M=Nz}@&=B@t{-~J| z9h#x^Xr;5?$efxwiqz6k)K-rl*|OJgDRYE7a=N(Tht9H(oAyDtXrvXMfChr-cF~m$|aA;R|o-Oyp9E3sM1N;qZ5Z$pq7&qAr9fo!EcoR=2 z`)x7N-WB|y%vrZRL{vws1WPg-Lq{1KlbGAUKn)hx5a%_Kp4GL*mM*Vw)->bG^7|(c z!KIN)In^S~Jsa41+Pb7V#P$p^H(qLKU`saAiJ4Ax((P99+N_aZUmk@KmUjS_=eMoN zK2CjY8DPK=OI)P_c*3=Wbuz6h8kU0gQHz}Xu;c2(6oGc>3kMqB&^q|2f|~!^ePy^8 zo4m55gyVwU7mM7^4^^t9jK_hp^%Z?0WOHzb9?1yh&{VL|LBF+wm)XQcz8;_6V1Mlw zW1g<6%e;^!sm0u#=5Em%=2YOz;DAxhdG)g5C}!T8H8ze~;mE!NJkNlXP$4S&`3`Pp z$1ea95%h`Gkk8Z84xw_@U zOU|V33!Y|q~0v%PzS*i!{I^!B_m*u;W_*DIfb&D356osNH37 z7jq0ld!nI{@N*=gotzS4Rvk!!VIr_9L>F7T9bvAoi~bV@&T*YG=WLPE*{<5meXNCh z42>l|D)hrXH^-lCDUGpNQ+)0vXBGPukf~z55Xc)3c?k=DhHJ)rPv>${`RYX{zf2p=p47c>*yCghQzksg$$G#qp&?Ou3T>Zq#j8>&`6w_)z;Gkfd zytGAlSzGt3rJbh6Icf^>L0WyFL+o3Q1CoaP;H$KdboOj4 zinqEYRxvSBx!KtHe!`CQA)ol;vf<|ao?Ui2)(tqi$n`Pb+C=Q#b88M6(!f$*o9AFw0dv>9kjfcjVA7Zg6o!w)#A-tpF*`+A>naq)1-Z zCSJ3hOxFGIk=cWiknaZ@#S48{JxN+{rN7vmR3w8Ibc~xayD55!S)V?_vxx<1X>A)Y zsRbxd^Y+Y?KO0H@Bqz1>6Tq0<3yjzZYbLXu7dbH^KF2+^1!Fuw*NAKvNp8xNXf3L4 zg*y`0eLj4$pFB3o)ZfK`0HId{i;IVh>NOem4G~$5Cbpe%QI~v?Y1JEK`4;utCX>0n zTe^=YMmgt53-wMOiSMpcOOC+8he{CxnZ_3e>8e@I7qZLWvk7_H?6pP8C<3Np~UDzuK3i-#Jv!V{5g zY*2((!Gn=FX=)HuMroG@-kHh?Zi8@Il25~orD?1x!y?T2w^}hrkBTgsC1fG`JFGE- zL#p}=+#Rsv{9X8gR>h&Ans1{;(YHkAS@5%$1NTNh2PcNvqT)8Q>CUsZc{nr%@8%uI zU;6FN0`K8)ydDKaXxkY>dUXvby@RRD{tY2KW!@>AI@#d+zyNWKHThwxAwqjvEIeKlJfs z^U5B(O{8AL;oU2?g99-y)j`J@h4y@q$%J4l=|s!`^!OsR!OLq-5f^03yH^tpHYFo% z*1F>5CYF#gah;VJWoeF#aBHTKfUJ4})yf*NZCV4mBUdl3C&kYmrbvoB*=4fe2@j*K zFe8IWsu6v@+XBiocJ+#)ADf~HG1H>)TCNShaV-tMW~F^Kg35YrmU^ zdqOkl+;5&aVK3S}V8^DdyB<#s z$+dg++n4Cm)6If5q7zns~=$fx_4zIIcwv}G|#j+ zjD7tv_T7`tF!9nhgzJY)lQ#s0{GtSgJx-5e*3DBTs8XGIY%R9Tl4YNLNmNy4+#se? zm#5u*8f!_^3yfWLPS?PcoVbc*-Zst={Flx4}pXu~{7*~xZQel-v3WdD#5W?iYVo}k9Ns1p%u2z^8!! zZVr~pxm6csT}hHP;j)rR&wMEjJ_0K58-9TEvv&n!($)(+Eo9c5hd9`4mnVa};3Yf2 zg@MV0l;-AY7`6GL#;EtYX3t3Ss%}=bd-r47wz%*JndUy#9d$NbL4GF4b4rKMyzlYy z6@@EgTN0*^1^t%Orn?lwH^{QD4TV2u(ZwaQ%+VxSdMZMDO5Qed%tW3@J~4@_CO-kD znO2jZ9stmTtmf_7sGPGM$*vc47!xz>o%yVh6DKX%A!B_4?;H9FXE5I7+MJw#Z6<`B z*>s#0k=o~$5E{fdMaMhsN#d^O%5#TsrpcoiVNF_NrgD_vEkOP-E@$c$A4si{Xj^PG zGN+&s!3pGTJ4ELon42aZpZ-2ojyKpd;!KGCdFyhHq3iXT((H`wqVNXnq4SR4-6Opa zF{0nRrrFOZI&T4w&g!~E@#;@2!~F;!Ob=da^0`YlIO*ejZyW*YKhNcm169wR6zSuy zv!VMUi5MfoO)F+lfTGErH8(N=>x_p`;|wbb+dKK`zkLv$u{XqFvtQYjp62uslS2n=~qtGRw?6Enah_PwlT;$nv$HOBh59b+JD<8sc*QTX#_wTph%#NDV@&VrI^%FGr>%b4 z>X3p2DXl!&NT}^2{)WKaa{vAbWb^8KEU#VOAtR3%-(ExTj?^AG4pl;XJkj>N zl7&@S8OMA~Mz4SQyyNJ7(sJhCHEX*&pLAkf!`%uZB9ws2J zICBelVSNj@E77C61^B1wyr`c&=qhsO!@C5X^}GkXQmHZiUDSV9gXHVbA|967dGJgt zElt-{gvy3}ND!lUhwWl)tSNPSiZTa8EO?-1_& zsURcx^#5D2(RNH-x!|>IsJ<@HZnAj`FfV1h&RP=n06$s<0MvcUNyAn&-9O`TZBt#l=U36vk2JoCg z_w^r={+n9QIC=(s_rO+)-K9j9kG#AlPcDiTR%h5=FWdb;?7e4Hn@h7Ui1&5^8*EI@ zCW#Cti42>J$cT&t7!Wy&WWeBUlR*TDoK4O-XOjdXnw-Jp3?>N!#vbAvy6yf^)7PaWN9Z^+&-`|m)AV&U-e`ql^VK%G4ry9za zGi0U!QOZD^(%B3(FDNAhCMS%~%LZ7R($3d+6&tB(aef)Bh>OeUWfwu0FG=s+fK?RMTkT)HS zxE@FAa7&EPqEcq!5^%ZFr889Y54|m4t$B=>Mqx{A;d0>_G|GJTi_K9e{YGwM5I;w& z$cWfpsp^*j&QhI{&rz*|j-YxTA0cx+&+?ii<%egQE*F#co5zr`xYZ^y zT<82bDL~8AZ+!+}N%?tlj{FGXWPQBY2f6|yhW@|5|2L`gYkXOXAW$IGjbGIV3UUx5 z)iGrA-Z{09oKNu=J7^+NYaSftQfr0V$;Li$i`uc9Lvq@m?{fx7-cJB@ zrV?tc4~Fn@6#5Gkj#H+D7$9l3KJW7g)HY6pDu2!`VzMl6C(roUfzRt7A*eC?>1)r$ zgKxGG=Z3}pX#DWsKInI4bOyS2Hff*xac>QK6$fK>^}Wb;jpjzF-kEr{x6eg-{Q9Ct z!7PP5-KwV9!`j$a4*Gw~CYa(;dwuJxZqs}8o1jV+FQqtsce=G6dO8o!FOf=^eAsQIo9B3*&4Dg1eLh_1{PFWw* z>dU6>Ev;!UmT4RR>en-8&~%G!LKAnD#~PYjoIHldo+z~Zw-&lHX?mYDbfPO7qMfi# z5$Ou@bwp+8b+f^$H^u@@%|^=D+im1m(^0OPegmm~)pkOvT$ISY~&~t~tRc zb(Y`E@NdGuysIm0rd^d!W3~Id>d|W!qEGaLJV69v-!0}$O8)#!C@DvJd4q0F{iuci zclhJ`YrmQ7-vkejaqeR_DSwTekl%*Js>JVw*KKdlnNh~oT5sgAiE+<^$j6YjYk32a z{PZL@GFF9Vj5hz+NRF`>rJvySnwNdXWuRtwd49@q8e6ot+R&{xf@BSg->)uaZgVC`*rNd zMA~?$Gc`ED1M4~>ttj#W|AUvmn#-}XP%8s=zv5RQCjJYc3NUZ|FHMuh?Y|&OR=j&j zOT>AZ!**mxh1iOz1G@R!FUaZ7Ul9@UT-K<)s zq{qvTc*g5$GJro?kNx~=DEEH_pwE5(0?Zx1P4S!Z^7$HFJV-Tf|^}H5aLy})g zkLY08ozrx!V+QdtGBQ$gP(SmG@4@xZ8{U7AZW-vspk9#~H#-=_$AMXvpw-bof?8r} zq*I`_lWb2w$!q`x-`5BK9Sj)$7v4fQ|8IAk0sZ!$#o`~jAWaTUq_SsNxXH9ix6tq} zVb~wMC~0GxDZyumcj4NNN=>6}vFqRZzFsUSg(619@+5*9%-FRuA+_@4L!+(oweM8i zXxoyJq)9NC6%3;GJT$`gU_W_~f#EPYnUD-R`Z{>YQaWQ^?2oL95>9H28iXY$D@D*Q zc}l-(0Y%ug#U@4dxXy6}TJFF2IyBeKbG_0XnA24P$(!UD;YU>bsbA4mhT5)e(&J{% zA>l{d+%{r93t9QPExe~rquTW@e)D0MYN#{|tMG;2GIecoH-lVuW})%O_snilYtk6Z z{+0~4g8k4L#+~s>$EcbufuTD1M~yEmR?sWU_=|&Z;Qem zb>>QC$H59)mUU{ZakX<~TXw9z?N52~E~oMKqTKXTALevwCU#0|#R<%AZ?8?SWq_m) zfDnv$Tvb!YXf1gM$0TSb>a`QS#<}lE^!R_#8Q|})v9Dmf(#UVD&=~G;G}Mk@{7@EZ z0Dy6{Jb2$_&}aXq@W-L#vG9m%KzVa0P-Ep#AJFHTn1q%PhH4VU&<(BU!o z1r?s?gMo~nI96hXr#b+*I&H5=x9h4?Rf`c5D>nSKm3r0LfLFe;u_A}M_>WpE>tQB9>a8MdH)uq0^ z>G>Z0D3XMm#XMDnt5!uCHBkpp;AH)y=_gJgmC>nD+IeI5)EEEfccoqI+{V|R=?8GF zt(VdCv~9N9&)j{|T{V;Y>%L7hac{ma4Ebdo-}>c{zPbnfiPME&=FO$<12xl#w>=|BCm8T!(#g7xI8A?ZfqpSmWTum9_o-}m+ziG}$NzL_ca{fT30(;a!V zZKAb)=FE%r?YO`q4DQ0KKXHC(>-)?38Pw!<9-6k|&xoj6uNRjICl%2DsK`RKG}4;W zx3z3>aQRQ|ld8Y*wtxJqkMF-p*HthVjjA9dOdgTZ*c>q*bFG^+{nI%Dp_X)S#pvPI zzPY3Ss6k_aLo)hnLtg{zO;ofq63Km93Ajba7FCuZ=r*_isM+G|C3+f7m+Bo|v-FSR z%+WX;nZLHQ`f$26p+JKB)x{fXs7Fp?VrxUB&-OoE6J9>@*rb&Lp3zyi{L}Sb1dhJc zFD*U$MccxS`--kS-p-U4qyKcxwQX^KK-}MPOLElfu2M_{IZpYzUmBwOWt3fAr=!+P zPL~Du@8;di{HuSD>n{`N7j6H)JFdnRUq2Kp3(G})>wfJpJ3w60sAAXGtVMj5iPnrf zla_r#-gr1dG=T9kylkodi9^dY8kR2KcsZE&3|BqYPrv=8Y+)VcR3O!Wuv~gFe`pA6 zq1AY(MMI6m2vt*ORmSwvs98<)h7WJiw{*AqnOVfQ_#x73xq8!zYCBOW7TlNn0975& z2xn}%H>;!64`upzbE<3sQ?Yuh2(r=Q?FEe9DJL#(ne9r#)^P5mOmjuKY5}4HTSKER zS{4kFPNp5cz`0lYaQAns_@AT^SH#`^hZkYdATrv9u%PQp+x|ZL3Fm)YMo^|f)O+rZ zT!*DQiZZ{g!fPR6hy*op|1D<_O--7mP!Z5S(LDkrK(#4PtCY5>PST_UcSD*pBY&Kg zq|Z?7zZbUc7MQ9#y0HrmX;{n}4ocQ!oI$_vnM>WM%w|=|eLs|2TAg0>S3L%7ACym> zmq4Z4NsBk}CP-EHY@)zn5xb#$bX!SB#L;2gjacnEAynasC$%MwMI;Su<5_w?hzMF{ zFA7iAUTXXyrByKX{48ycNc)Hd2zEix>KklRP*91G%8eR2XjN7-_XM}?*N?DRUGRd` z*@Y|(b+IKYv$h$@vmJ)gdMDkJ>B=80t1A%^Aw5+TG@ct9{yW9V%By;P@Z$7q`BNnefbNi;f|g8eqGtY^G5E$2 ze&94(?(0bdigF>&XoSUb-xij^?Vp z;}@w=5|4JCW!R#v2YMtker3PlExWR4x>w(WcaT@3RaEM`0v)enCc2x>uUA-rpGbOcDqayNx_D4Cp^&jBi=+pcv-kZGP9PHN8l8i zFXDp*9+Shm2pWiEb3?g1#h<5V*z5oF8&4A@6vS0jFzcO1skacSMTopBuJIFxA;KJG z70W2Xq3vksXZUa{#oeC0gmqZuy(CqUk3iulQ`|zCZ~z}zHQFrE5OkMJ1Olsu;`|vX z_WVCBkAI2eIc`pemVMXa!Cmvy!MZ++?`&Vy1b8`Z(2|FU@{TzSW_-Umi&|#}5ubcm z|Lze7;-pZ8n{_9ev5S-QW+wA#7n%zg40ByQYh69ooZte+bM+REnlZESOMYIRHIOb2 zVjmcR*BJq8lhV4Gx(m*GJn=V;0o1n5^>3@hHgL5EDeKJVqf1TjXX&-ZbZ8tZ@dlp#lr|a5lgR2#>Skzk;|41 zV`j>z`xv!L_(Sc6k1NHyX8&S*-B#;e7-=WnhEv_*3B@+K8`z8u9cKg18QbKWD7Xl*|jyDka>fv2YXo(*~ttt)QT3n=_Ebf*bW~t~Ay&Mlr zK_FeD8fzH1@3`3c`*ork+Nk+V3t#?GFbrrAp8L_#-?!J+hG2G0}A%t#lc z%ZAi$!o<9p(p_LzO>7pm_v#^<>nuEEFD+uhlr#je*Q2R|CzISLATKBk2`OGIxP(E7 zW0~pY>o}zIY`~~&{uP~uxU0K6{>@K>^+|yEL|;qoH-y+ZgGX(hQ$6z70Jd6`)Y8dZ z4KMN+mG2JQ|HctLng9D=cKCnU6Q1OS$`Tg8Z^*B<_j^u=;H`yK>~vjH>qd_)X}tV= z<>{)*71z^5k%=qnkv*y01g~UNFH)F0thk&^AmD+Xpk!hOPc|V+q44bev?9|*ATtE$;E-Thbz8as5prQ@|^BbOJz%3)AjJ?|-5rS;? zVxXs$<2q~6J_~Aj^%M%yg$6`{!U1_xDg5TrB zZ+xH3kSgp}Je~rey%#q@)a=O+DnO^k((7gHeaAz;do^_rhnn|V@SQ-n!4X19Al;9% z5^=Ayi-FEBd)=Xe(qOM=>ohg~AFP1H#{}9Vu9@qj0|A=6Pt!LQ^BPqX!(VWs7DM#} z^KX5l@&eVvJzZAwVY1#z4jb}9DawnE>{?WzD}JZx?4y9wmP^xNgzY)j8rb zv?M5M(~QGBKd42OSWq{PDCvf)rjj3``QO*1>8&xR#-VP2q<~R6Ro~L0a>r9#wVr-) z!z(J*YDI*6i^azhYj05z9=pwvC$Sb3EKXvNyzRZUL8k2E<8HjKWn|TrV|*{e;w1MS zs_TSkxSMTV`%;zFxJsP9$KO>$wM`IIM6AFPDs9>9nbc~lU9lf~x$y&H4y=rk^p8Ek zv#;YOI7RDF>7azKcSO~#7?#4nCHEeg%x;#|?xi8z<6Z6Zq9|LaukF}w6gKrt)Z(0I zh$C{}r!##XMH<3iI;1vYT<4)_cQ?2);G?Us0IQ#$i(ny4Pk{Zp_5 zGp86^AQy)R$Nbi0o?Lv&yU2C@@=3LJr+Vor{n?pG)ws8mYN=ETmP!@ju9LL`Mw|Qu zDv?F?q;o_HDn@Eb%=XWpd8G`;R11d)`a9f}n{8j?;pI7DjB81wYhR6m+_11+Qgq(5 zUo2jVbhh~NBckbzJer=?vrj=N0Y3E*{;o>6?dAf4P@XTqfu@|Vc~*^CBMx;m`T>yD zlCcpyBC-t-aaLM^MS@le>Agc;wO7aor~bZq)%ji35u+;(RgC!;)$^IFlxqHwK=2Xp+HHkL2Q)L zk~}S~gyQ3TofB04TjDuPRa#WW4NDF>t2f%WI7= z+}VQy?pCw>!Rc4(Ghr{!*kamyv>SA&b;>xu4vpH!mTLP~tIe@v8KjHV6HIH`03RY6 z=t)JBfKR~%vE;p@wytT<>f~<)FW&kpr#?P=IUp1>h!GUXfs2LP$#Php*WU2-c|38F z^Gb2t(u-9o%aX5jt*CMcA+JjW`RcMiNMq`Q%Xz$@RW?i-rwgNR;!QX=B($vFcj}F& z*|tz}w1se&0Td+PJe)g~4N2ukxTYj;ZX7PR&Bx{IGbMG`zFDQbf^E3WtVf%Dky5GOO!N^VKc6jAt4%;9+D$O!*!mqkzc&m=XITTV6e7f4&sAa zQ;guo-qDjg`K_LpG#9l5_goj96v)OEjM2&x5N2H{c=sQFg&giS#)-~Pbbu&z2ab0aA?}m|$L{PHXDG9?Y z&!urVdlO^@sE_1r5`P=}eexrO?L{~+RkRE=J62PdtH)Yf0ZHh;8!SUe8Zs*M#a{ z@{I;WF)q`BJrkhKtSf^-AeBOGtK8(|7oiDqRaI?YKKcI%6m*L`#aEf>etX}?- zm7Ld$eeU|TrwKvzYcKA8s;nG}Kp;XC{JgAt7fi>TEIU;qJVdLk?@}w`8hgGoQb1ql zjkbf=32t6NZ@%@lA+d~4UAueNWxbQ8R_MP3TN8)b47!#cSkywMb4HT}E$1DJ20zdg%1Ymaz1 z_`U7YmpvKD@knY_5)@O3{6ShKe9c!lH{i{VbQxXX)vCdq0UYAH3R$yxtww!y(4M-_ z)g3~jtRe{<(hebM=uuk)Oq;hR^A_%qc$dv|v(3oaRZ(ZJ1Rczea{$6CBz ze2@o1(%vg}VCwRhrg*uPr!G1HrGKT?Tr0T*`sO`k_wLbd^~3~JYe5e`+6;PBk?Qoh z*Xj}6nm`@KI42e>OA#I2ReY&zsZZ|u@<7H%&^h2GR1NNPOc83R z?B(WK&860Ns01xt3IH8hgcPPPoqDt#OJNMyN)jN zR+u^;NRY*^#;S(iixc=r6)Ojq=zX0$44m8ycQw+^b&?6?D`$YS;H33+-|{5D zylQ+ng5=nKT!2WHkFl|ubt#tP=CdeFv7*1@6%|20;wwMR-fL&h zGY&M2VNqn$f&o`wKrJfT4YP*V%Tn!>W6qqi2>8}W7y4yG!73Ha=!%mC!^uQle)~fX zOKLVGjm>0!?oS-p_?+-q<6zI8UI@8I2(_K8I&lAqYr*q69~_E4#hp~Z&e9}4UE;&s z5z~AXf_a&4;_pT1q=R%x#sc2k$Yu7h{uyR&q9eFNT0Yth0eh2LqO>4T{;5T46Vje& ztDJ6x?`vUT2yo$JXO0`t$4`VOqtpa-v~iyoxL8=K!jeYRjvsZzOWpvYbCNHoJcj49 zS+JLb6`sng4fF)ZZyumF>g!SS#zLwS?O!fai7n6-%8`a_)BTr7(vh(yu^X!CLyF*~ zfGTS1cVk>djn2T+bO_t)Fjxjz;5@4PC9uWoM7c9h(3H+Ic3;&ptm36D;^@_9WL1Uc zyFVf(@tPP{*sH??h*`N-a>D#x7S;LO3-dv42 z(aa$bqp*ju0+gt{m*Y9#7uOr!eDD3#Q0`A%zc!=hngd*BQm7B1^>Zun6kWDuW@pN$ zbp)((hIPq|C*mscDE+y!I8ipVP=2_nhaSs;!bZ|X0%E0G%oE8mh~|Mh2AeO9Bm8NF z=Ii7mVv0d5_r#tAs_{PIdZ8~o0!dL9S%1p&Pk2X>8>xb~PJVfY@-jd_5_!Sc2vhQl zPeEXqLNs%v*hI(On5o zElRL;WuzPoq8d_kukEeMDnr`G+{5$`#wNBD&%A;&V?mVNHWkxFFx712%M=3D)epNQ z#Y&t#g_-SfSDHuQPG2$p1uT_YL3QmCz4?kyL=0s&GOk%Q2S65JUz_=Ht9tGS90ex8 zyYlcurPy0a!5EN_-HkS_lY!b!Z>?V-3xxwA4ZORgTf-&%t5dD>`-gapKp;^H&0YqGKB&G1lA1LnoSaW3DK8Jtlir|EBBHTgqdUX3iRaL~Y1SgH?VZfZLMcpHklw;YX=aYQz(urQ75iN}dPev0)2G=3g7gn4 z&LE+y5D?#Lk>d|nT&6>?)DM_K#<%m=;#gid+?kh-iu#B2Rm(QKH$sSD*}63j4XLVe zpM*&4*7E~fq54lX=eRLF%#x&Q;3rDvGZusTEigF4DG1i@p9fFVJ~L>c^>Ua z9V^xWL|OlQOIO>-c(kIlIPkowzMinSWKQ9t7E_tDM-fTFBc4Ai8`Ze>0?JXS43f($ zVw=yNsia_m+2h{2xwcM0nYPUGNJrW9VygKfebV?w8EGjJbh@_b#~oKDJNZ(cl&!d~ zJceSEW)E-5rA|sL;fywu9v)y`o1!O9I)=4F>nvpqRA?c9o(FT{Be_6$xY8H2YG~0N z&8g(86zk5&_b2{)`CJx>eAa05vcm9;gFgLM+s4o+aKb4@P6Y%Ii7f^d_=EW7)7#AY zBO;fFo2_ZXbotaK!*)u{+kzwe(la)40vA1p0gi<;oRNX0365+qUs4!Ep&e(TX@o7I z>_NZvv|o;C#q7D-h+bWmC%nLSdUbhATbZS5vuev4r|cmb;@%49S(c&oYL# z_2;Hb;heg$(SN7 z!_%?#oK0?DRdkSBv_3Oxtns@Zpju6YIbVyOBa%5j7C{w>ip!6b+jjy+ALa{rDc_wQ zzb;DL-<^h!JT{M) ze`UWy@J95>>0#d6L;L82SKV1(E7IpkPAD)gH>Alj%%cUB=8z&~Z~^iU$RqMaJ_f;} z>V!R9Wqv+|3+76c%#6e+#BkhY>90b6*(mAKemhHPGkY+SVo>-+xS2paMP99FA*XQe zN0h>9W6gYC^4~a*?KuC}r#jy0!R^OZNaRl(whjZo!LtxEaxbGFS~gP0W%@T4e-A-F zpLA>r?LTYscR65$CbfA`UZh2kOxj%qP6&?@_Q}&`NbwFSb7>yygj1uX7f!4KH59~AHIS3{?6NVyI$gN6T6wfWN z`Zhi_8K2Bzi*)1z-TiTO#Py=CMhA}gPi_)Us`ZvBYZj<7(zT|629D+X@VR}q+!OX2 z{kk;{Wyc3>IIF^{@k|JPnr|p(0Q^f3rtLU&y@TtLx&qgGeEq(Ln zBVC@U>3!^~!DawV`TAGM8)4d!uML@*^t$e|EtT)0bqv0eReMHtE|Pk1`vT{<+-pm_ zB)JSRc}g|weLW2vN?XBN0^{6ZtJxrVYA>2b0Ph`)y6j7T(1`W3HklWcdob<90bQbF zVYVw2H0F~Xk(399=I)*Xl=?(-)golbm^G7*AO%sQz7oyIbo?@VqK}0xIU_BhrJ#sA zo2Re;oM~!ozPq}nxFo{ndwq$0L9uAPzD(G|C&d6F`ndXWT&msM3DRS0Z{0IR_6Dj- z1usUb^4x+xRxbJ_SX}HKRryi=xWeDJy>&*+FXJ68L`N`z)bYJB1*R^GnSq{{%q39j zao_Inp~<>q{NZ|HuYTV)yL4Rpx)BXPTsS_xgTrS890BDktP7Rz)U>8tW+rJ_*UcWf z@={#JOSdDa8OE>Sk}uO|tdEQh*COS(wW6s}tsdzzoCwHDM6y*J=qz>c_`tsubSd~0 zomOudZ1WE5(#T`lZnKOAcqdv+Rx9Sz3d6?{Uzl7X^dsm4%$TE=+!N)(6CVMeX3ME= z_gNA1R)Vn{)Tt}ygYhM1y4YSc?cp1_!@~rtaYKRHwMPbnn`GsBYS2wib_?pTg1~`H zXLtr4)PlV4NPuC@u44YZ7H~wYJ zoFc&JLttaTK-KNU?5&;aUA!jQ50SEIzL)s`6JO22y18CEBUrEBh-}}L)b~b|2+W#x z@DdU?#IvsWW9)2gGTgTt2)?X3;18y_NPb!%b~4k5w@FlIaA2V8m>22Ue(=%=69f%AZTFkk<7PMwEf0_Ai$w zCbHd#>vrqv(WO)c9|EG{g|vB#DOhVHgF(#uij$KRTzMe3-AC?QT&ALBGi-bj7kX0R z&c~;Z>|rpylANp|_KbecMb$dyh50KAaYZ(i8?|6x9wM=HwK>9+fp2tKNcJFj4!5v%+W`5FoVSU}L8z`&Dk^$aXUMXbUg?`5>;xJJ*BZ zA>2?8m1K6RsM;H%f>Gs-a?NH80Fj=9@G5Xjv6}K3FH$zz{A@Lq6IQT8%YrN79bA|# zn=US5io4#_sofRKZb|R9812TW+GrvQ+_fn-1`j&NX?QF`i>UNJ#8pbERdIVFXgcS5 z>O8*`5{aOn7R7d1-dzGqrO9Thm)x3%_>yEFw6t!H67OW%l#r(w3*P319I8mpR3FQ(pp(YJNOzzoT-*ZY)_3wQKD*$Fc(|mKuE2WJJ8m4Q5tp8x$m}Pr0Z4uXJLy zit{@cTU}~`++w%u z?{c}Q8Y$X7_}nv3M5CnM^8&apBxwJE%czmdq>V!VP35^DN>C@u&YHJ zU@9Z=e^9D1H7rRYgp8rN!fhqm!O4T;qSGCawb4J^O^V=j#gaqS-j61U^4)C}>aWZFHuOo3otG5HxoaoHqzXx>3z;l>i5qTI^ltDUE^t zoi$5bTDvb1Z#RZe#gea6E!$#3D%GRC8Ts?u@ybaY=+izdH;`^;l-4Pkk371|aj6O3-Xq6pO*mFlEv%brIRuVn zU%mfAT2SLdTpK2#D;eM#K-47EE_xj~IwOcpn#`%qjiwC3eiNK=cemBjqTI90ww6}m zwa7hiNJ0&tZn zYSq+VXk$gke+>*p7N^f%Q3^nY!j?DDTReKK&rLjaClRs*D1A}5n#2M#Un)C zZ#-}fY@x&oPC6oe#R__9JleMO?2n2;ZYA&zr-ui`WiiX+ z+`e|DvZ(fLVjbsF9;abXqBJw4(0vF5C%JObeFYWn^Z0?1tdq_g|hlo2V zqP59Ux=Qx4^rp{V8?d~3nT%3=)1>`!zCPH3(uWUMgrWBmk00sN=cO{nJ;53m)|{<- zCC`7r(6-MW!m!S#0?2L;la;0v54Gd8ZSS1rO$j#DGrs9HFut8) zwA+8o+BBlRf1TztA20jLUd-z6a9^nRrJ`BUrxwO8k)+qvTC;Z9yirr0%|$Y-id>dZ zMe(o2QBDv*?8K!rJp5j*6bspg4onV|@jJg-tv4)HR3_y6xXRx!>N{Zf z(fuTiP$m)Yc?eIc?IsI-`ON&t=eonexQpwg)t2J23>ihdjt}sehF0My?iU<7q#6wp z;b!gX4!&qirBw0f{j(jt+l%a#I(06HQr04yl!A3#Qa08Yr&5(Y2~`Av&gJ&La>= zNJ3=SIZ5G?9|RA2tOzMg?1kmB^{varX=>XAli*K6FKFlz$7Zbb#oXe6HoIJZzkKegiOkq!hn|=AFEd59=HLxyo0NhLp8vptwX6Q1Pn^+zt^A#?k8*23bBMmesO1f^g+`rMwSs z@vZU;&#{>A&5P`tyS;t?Ume^(aT17vI*#n44;Jog{Po`7_$Ll0%aeDDGjwzHk8f=n z2B=f9&V_VdfM+8+qo_B|hwqfzzv+kV;M^-f|NQ0C{x6UB6uC>J2L9|H-EOuXj%P9v z&>AcrJ^lNX|LQ3D%o6ls)O7_04d^Lq_v`B+yp$FrT+6JrJ8lutjFz@=Y^(ovTinR} ziN$v&690-cF6bWT^n&nQ0*$-!V1kQFc#EmXhe#x6r)k_yK8!YB2iZl7CGINV=0Nco zH@F_$EGfjxG#XnS5Ff%nAJ|;%K9~TDRuAoDFCMNFvCD~qk{|9Aq*3o#H>oxrUIwlV zyVMM^m~(h)kA3{SI8>F9l%Q8f`mFj^Fv!=jv$DXSY4(UXOpR+ou5lMGYHX`)r02+8 z@4l`Tp|S5aJsa55BA!EAQCO^V?IU(wIL@%4t2ZiUtsA3|Zp;=h_u<1ahIFJvP#J-{&xraj5*SJ`hXwm19|Gx`iPqBhS#=CVT$^@9a?b_8zkL@34}C+fp>?jH};O0+S-c>AwM&p%5g_4#@fl04{xo? z;~Ce|q6V7yv>Tu$B(m65n8t^srMq~h#Y6Nx+icA={}cDIo$Sg3Y8jfRhC@nmYJGj% zO6ktJ*37n^rfqXPk3+HLwciu(;-z9DO$tz|RP|{0$Ozu5glYVrYkTV$6s1>cL%Sr8@m>x^8Y{KPlYbj0o8QW~RWbQ7oBE^> zUAU3=diYI&_Jr45I0Ta-AScf3gvKB&=5JCQRvBFn*L$gW1TC;yKXw-DGZ8RYTD2*8 zv=@ZphsG)1MD=UW+XzRf6;Kzt%VylrhU}_#>634o2fX=i$tmdcR!C%=H*|$UMD5!Z z(3d|ttNDy4u7xy}vBK$Q;1-rQnE5ESLTMoGfX@2a-PQXCu7OC9CDCAYyajW-?_5pP zm!1J{3_n67OMehaG9Dk!%tE2c0`tXh{E#t}i5bkT1`<0k)Kj%%^<73}`B`WLiQg=k zHzo5oyOG)nOh*yG^YYD^cpQq$j@~9+dy_rkpVTFeiwohluJqDdA{hPv&QE4aYf1(1 zzh2VS%!XQtYV<4_R3-;l_F+UqgZYYt-~n^9K4a-Kpy2Y8;HV{<)fa=FBVfKKT#NB? zs;0fP`zT-1^y-Vj+{2WKI8Qd^cdSK(lWoX$+j;X$D%pC}iK+CaQ_OYkk35^?g0^tR zAPUw%{Fa4sY-~t%MI@$D%`UUrnQBQ8F-cdS~^A=1r9O=!0&n%3>h~ z<&P*~HWzTxp65DE@Q90K4(zlKMfKjNB{H?~s6o&c+>>77>&l=@6r8N4H<-sXMXV)H z-2&2cj0!IS6rl$E!Y+kHlcZ+P0f%1kq~*pl!b`r>1i6h6(&fLMHxj+Vbl?3kVYOD8 zRBMi(qW4_^l{6rjjR_)lJyG9Xv~9Jzj!c6u6_hbfy~_E*ZX9i=<@(f`672ZKYYCvG z0YK@d^C3xn2cfk@PTC-uya;2VMSTd5XcI{mXYpUNwL_1{_&puV^GlvT`$#*FD@eIy zXc$mJcbHqWRI7QgSnJDB@+W8KbQ z9Qr1Z57@-&d6FxGC&?Q|DHQ1t0Gm)N;!R@-(jACM+DqZk+H7D-U17och=p%te5##x zQ>&aGxOl3fqI+6xzePB|j6Ndh<6ufjrq^a`$+kG@h;CS=If^X2F|3_%Iwpz|^u-O~ zKiFmG&M>1IYVj<&sY~w;T@*B1$|~`>>AAW643{KYCqu^OUL4J7c%`dwl^%A(Dfu3}(~=&z>|IV$eiD>wPs%z)8$MOQ#!QX=O{1tK0{C+yj-0=%i*1DE~1>Lf~w1S(@0WIfu5`U<@a0 z_N!@hF$y!9ZYFXVl|!Fuy;rfWH{DZVIK1y00tRC#=)PyYpBlu4=8r+yJF&)sM#8z! zoli^JE(d!OGP}}6#(Mymskt&NpKD6h(tUEFVCsYFJd zZO)2rMx8#hd2xBDbxnGvmFk;7(u8lKQiYLwsCMd>tll|ebfMuN4pnI+wp zE)CeKkVd-_h{f_j4)eKoQgv&^7$FUSNA^zs)C_oXT68!aL|GEG#?;7dIBAei9aMee z`urx`_I|J{yM#w!d1ujATOIYUug;H|dX4+(r^j;u<<0f|72F2?DJM{xDvODabAoE` zG+Q1=_9M) znyMHo5Fex&A7p6j4NLUYH4#GiMXh$$L4sRI4i%;Mh8@8(EpCdnwTF(O)9-8Sb(Fa` zCT1Ehwc((@N?PWpHgX*g*zK z5%_#nvlS-OadsEr8X#DM;z@QO#)s2M>sOAt>+V+)4v%ZG z@%vU!h%Et45o}4{bNcp8oS-Uyz%g%GVVI@q>#jq`RQ|#x&K* z5ypO>m#mxZj|k*G@t4Be$E;c_D~rN!C=U}>H4*Zj9&@RPI}PXP|HN_Y?~!Cs27D?M zL%tnj-I+{90VJy@jgOlI)0dX}vkoFG&Cg!uei$dU+0{K^x;2!W0$oQ()$4&)7m=1O z79t>RGQd$R<|%laPLXXuT~_U&zYW9H-~^|Vd|pJ#u(79tH-IJ~&4Xo7c!7LLIxN5> zj9&GVys=X<)l%XSz6YtqJd4cNg;n-+u zxx`diC&iyQQ}9nYtosAb5^(ZvA)4T56;o}}Ow$bRV%W>ZaVPZbM05_a5Y4Vm z)x`w5cE!(>wW+vBrB&%D7{XzV7A>vgG<%kE69_oh@gLGd3qbl9zIE8OVX+ zio}Xotp{5CvFyzSd_}p*k+ItpBd&9ZcSPUIH$3v~A}uP9I7(}e>Y(K|sF96Iuc`Qf zg124B!FYyD3d|k#;4FmWF83MfUf5Ae9@XH+Skt7OYy9pgK-usA!2JR43i9g?P@*`>D}^5pp`or>wZU6kW&Q zWVK#4AXhsg0<5c9D)$jhQuU;kN%=q6`^u=ewr$OdK|%r~gy0g~A-F?=26rvop>TJS z;O=h0-JuF7Bm{SN3lvTj?w01h*W+Ez>3h!Te&hY<9{v99lC{^j=UQv-C3AkCQcO}z zfks9sq8p^+x;{yN-8LE25HOctqM{|EhW~@xs+80wY;GzXa}lR7yRVA`J2r(!Ly=EW z#Q$fApi^cyE{bM<&!ToCmr_1gL%Bi5A>Oq@Zl)eMI7dWkf)Q@nsn-wc*Uh&dn2C%I zDob`lGF4T{TG#mn*RHP2o{2`T5FJli$egJ>OSxTk(zdLeHlZi8vKzAj7A`sYX)g6d zTHNGXB*#f)FNTnPOKM=Wi}c~@`oL$Q#>CBDZZ>pUM&_&wa#ZW>CEtJ$e=w+IQA9`% ziLxD4Thv>pCUpMPAafd{b?tVHcq?FUdCy%e!sPy}D>8RlqPIp{=2ZX{G~$C&6`qz| z2_>Edxl{gBzKYU#$#9kg@2vG(dy-z3sO8PD4CehBhZMoS;&!Vgb#&?FLMx0c1t`?O*} zN5Q6x13dT}uvl}B?QT+1Nwobv zXPwT$4pg&ckdURJd{x4?#Nnvt;jzm!9CnjNCr&MPv8^kwA>>v#38syYp>*vm1QLy@ znp;>&%?wT|tk&H;D8MbAubi}r`dG}L8DJK9aUo_$sS(K`lo!vy6Eb@PdVnWhLEwi= zNS3K@H&An3UQO6~*oQ4o?q6F>{owfHx^e;acC^5skM{;IU{4OLHs?zG^F7j+Ut9PD zFjrIo0f6U<^tKOg^j~%Tr-M?w5f0rHBF>xqTm5sUAwoaUM<~78S{L^(JRi<(BAXhU z1UHwk^E;;mfzb%aOpN7xkJw0g%qt>t(K!J_)ime9F%-kv(EAznyEocouw~LbL-Hb>nkWV%*)0vD{(wo{+=zI!?o%c^{AF8-WC|MWwb{aM& z?NomyvPhCD@SJUwPVJiIvid$HL4o(Sc8q)McE>rgt?qi&DRk%8^#p?07j)jSi#^$% zJ%Uyd;T1@AaCyJ#FA8)ya8^DlF&xBM8o9aWeBM3Id+_JB^P)LHr0MWZ*}hv zs*|Tm*v3Op7mFTi?{?qxy_1(|A*O8Y@A;gI5nrne#+@<8b^yEVBPNMgF zgm`68e|3xkh%>ydYJ^>>G}OpRRa`2Kq@7X@)Uy;D(2BrwDW1X`tZ!+RbeyIbPMUZD zu^yq!`&{ZmVDQAg`KYP1fJM1ht4~P_#q!;I@Q00?Im%&oN%nYi06;4GaiA~}mur)m z4J#gWjqmjU>`yWEfo_MB-Tw3fQwJxhVK-^rH!oDqp8oohqr@*c`+K9`r zE`?*g2Tz~ut+ib);vUJN-d1d@Eu$Rr0|0Cn%fJ2x=^sOWL%Tw_oiy&`iNt*P#|12l zNHz9&;h|Bk@tni;7vBW7s0{d&&ce0NO=;h30VrH@_!Y|>HXOKs{uYm?(X8}69L-Yc z*&N{}T9C8MCa(S$VnZqGjvh7VdDV%Ya*dp}2Im@xOgCqtC8{u;wV_U}slr_f4MsBS zyhL(JI+K;!K;=M;xdhS5I5UMecZ$ra>R6O}E-8jMptrzs4~hm~*@;aJ<$!EPP_Hpl z{ZFj1MJbcA!z{-46Zb`gsJ}RJp7WWZe_7<;8j3%C?~%cV{KGoq#8mPsN@R$;cJZgi zr8QGY$KD0+5s^|+1B7=fC*vbpz};r}qXYbcX56usTy%%7FBhoeOJUo(ipT_W)+_Wk z5bVj71D7?v0wo7)mojm_FNCPK!+1}Aamu-~=6QW4dQckeKPqYewcq0=o4>KJuNmP6 z;K9FsfQA1-X#xjxs9(*|g05O%+j7)Vy3An1QXRn&;IE&AYh&Eyh3R^IO9i@bE6F-f zYN|uC1@{_Y%Vy7Yg!oaT$7nj;&c}y#up7+Z!x-+j^U@(k_7?7Q;^f$LpK$1TG_t&K z_+8+M<9QB`+Qip~rD3Tu3ly0Nt5;0|Xg7gzJJwc1r-hqQPqJDYU>`k^w)e#xD~g^x zEZxnKS}!HY(0S_WNqC7)GqEtAzN;|&9$DDup+O&(jM;dJZqyk7eT71q^mPIDFYY{qG=wOQD&3$g;^7QW~4$!o7~3{TeCxs zQBqg<$~vRt+F9}9qMb5M#bjkht23g09L9O^ToMutGH*Nl>0@FPawjB6`M&{-F+;oT zwLK1WNY1SoXcJDw*Xie?y$L*ZntuGVMXtk8uLDbCfoWqlf#Y^&>;?Fd#?%Kb% z&6vh{vARSV?a~yG-?pWa2cRh{GAo{kNTZjn4l7`f5ZKJ|;wPP{vcONpSt(qDH5X5K zLT0`#(e=%2k6?QE8LNV0^GBb_jyel8)Rf`+zc+-lZBKf|hH<*Ym<4nP{<36J({a<_ zzRWt!|M8^~w8WNEOphNL!jgJ~YuIhk*YEL|UBYvx>`NEF*pLzrh6KCq$n8y_jKSJE z2Xn=g4$sWIZD=aC0JlYIxJO|5Rp?<()PngqoX-AWkK|;itjavlV+mGP2L$&>PMVLo ze3r_EQ?NsyudB-9Y1|m$lk2jY6+TPYUuYk}gIbd0+ng&-TJ3B@y>Dzc4ET2?n{>*u z8Ao4=Mi`70i~5I=>*!<`m!&t#v_O{q~n1e8? z4tl2+(7)0Yzp~ zLN3iew27-zm27NJ5&CkWp77XH71Jb6t5>59xuzv`mnH7hg`;sPJ)57Ga?@mdx>GAC z2^Tj&aj0%49-{Sa^E79)OGAD$GQ=@7{Pw%*ebqL03|EpWBH1g&>Y)PzrQdq$j3!l- zNgSS}J)UxzX&xM@gKxAz#7U$^o3-Cm^ClEa*GLwS7_UXNIB4IW=!U%|f7yHS6KaQ& zdR(WY5ojjuF( z(MEnQt|XjHpKH1whBYz6Upg~phj3QVn=}=ZAOomp1Ws^wpFqF3efo2{ z&YbsH3s~FIS*Db)o(zB1a{`20@&_-)jfQ}IwG=xmNxHPW@opdX0gZX55Cv+o# zG3{g;mNFG3Ysny7nW0XZ8i06m&i>J@G2C}=-~8tEN+if(n7|!63(+MzAeUzx{i?4YB{~SXL|!N zavi4XX)~PECbF;KE1m^N>qT;{#Ie{bs;jWIW-#h74mfYr!o(-7|)(*)lq(l?f}};mi!DHBUi8mC3!FH-dBe5xx#T z`JDpkrNuw5Z4=}Vw>v4VA;Doo!IMgOXe;l8nk+M9x0~5kr zv*Qttw**xdC5DXlaSbG)X}^kbL`~mvJS$PQ5g^}=K(Z%`2QEi&q(@qC?5wuZJ5hlH zSEnjtMa>nteV1HN9Uj%;;A^+ak2;~$My$>$P)BDoqvBtyi%bk%oHkFz@H&KR;ze|k z?$b}nr4l#|>@OXOtst9+R>Uu6adQV?Y2x?HYXfIqlnQTjqtjsR&~M5(=Hk;V5CB|L zA?6NDz8+-3)z@UPA8xXz`M#{}Rlr2^gGqAC8q3?Cg}2e2GoyQy^eYnZxKY+AT1|MS zEf^lqHILNU~X&OSSE??)b_(TRuiB4O64VK$ z>WNT0ij5th9<#Sh2zS%Vn{Ieh?`-8ZUNJY9G5N|&g#l!S*v6^rVf*f$m1t&3|vX)@61jXS8hCM6+a z-x73*QL60DRUbWv1SJQ>D0iBZ&I;cwxF}~(N$F%;FjsqUBdk4)-YT@)AYBFAKnQZr zXvbc(LrPedirVqD>th`_s$YkX$yzR+X*(MBrZvdt4uI_6>OpqIt$uM-ucoUaP%Xw1 zQuD_bz`HsPbtApq94L0(20N;lFC-)`f<(xvEE9R>Ki91mF_~md8Op}GBlfHAg^#c4 z9k15|T44oPCq6HoO{x}X?A-%ShrZXDhYV$BCb*u-ES7&Pw|PDrZ~U%wVN5wZwlhLV z1^875i=qY|!#%z>YE+Me&~nc_6pF4YYrIl4H2C~sIuWedZEV%JR|1`Jq^xOeCez9& zsC1Fmk_tf;v*30qQ}3@%PO_}k3h6L7DB>RWAnJE?B8QnoLA45%XsqVp;F_Xo8(tG} z>Fso12uSl=ktO+j2z+CrYBbAuwJ^*$XIB;1SxTLNm3H)XjJ*iLVpQd&77Dm!_A2$G zJtzP_F-B{te2)(6a+!YiP))%MjiG0P`vrd8S@X9;wdT?D^!Xs5fO(k86qZ+bgr@s` z%^^E5zQY#@k@CGa)&RlzerIkxJn=*X{ zJyIJyFH*k6@X2e@Axd*{wJf!^aSlfP`j~N-eN&bYV!b4$&Cx^KnD;rL_jaX@C(&Y* zGom&JfiUFpPw}k+DR9i?!tAM|iQ8pZC3e{{t*bsm)hHw^DYtXJy=fOGS7}@$ElR5| z2Y1E#dysW8irNdC9*q}J38HruPA3v3cbD0hjf+{X8|75D4V6GZxWy)S)2i6Eic)M< zS%hZOcGVxyWBa18aw}(oS9N)eEd`{kbkMgzn~cBke%SQxoMeMffs?5UX+U-MYH5}N zcyh56HX7OXnOCNa&67$icGm&+urHOfknIk;?}eDzQd|9!>!r+on|{y%+z-|gUH zQc8Ds&*0fOZNRqIcDLt#FIH}Yb&UuQ83O?74n=daA_@3(*f^8JwU3CNo7e?#t*jnq zH4RwoM;!>Wh6p!Z?7)5|5QALZWxBj&4ey>7Uq7`4JerJv|IMOVtl+PMeV+Vfh!Dp~ zc^f-%9i30(Y0f91yJJXe6)jT>7-s4B@@W53p9^@mQGYjBDRT11)qdnusApDhtI5^Z zb9=p;y|7EFfV=6Fl6`;Ij4uE@Pn(0k0g7qAQ*-m3FYL}E-*Z+`6edd0So#}4jZP+* zv7O1G98G^tcqZDzCz-mr;Q5Kz@og2+J&#TKbxr*96O7AI^ltyelyu+U0MR!{6vx@b zkuRCpd6DlzC=;sBXeZF$m9-31Y2#-=xwh3JP6VwiwQK>;_|ZRp{~JILetI0TD9h*B zKy!CpbIG8K_nx!0s5>%|LU7sHhoS@~@@!=LyoZ3S^A%{IGB90R6`oThAZQ}!S}LYF zqMK+%w+YhntO_7R59A|!cIiCU;#}9=kE1_wAuKc7N}%VB+H|dATe*0}{$t_$UD~+iQi1i$_R4TGY~zrdq;9?^avK-0!85C) zVaCIII@qD=&Ql)Gix@lK0fgXnQ;r={`pM-XISe^@&ga}sY!$^}&|AZ}g;m#WO8o>s z|2E=)3FFX)xeWlo=^6Z=;62wHR}`jCi&FEB#8MWQft=w#|VIMSVgF&`B?42B?Lmj6#P$Z*@$;)#+Q-U*bn9+m>gyYtj z9rlg#8SRw}1J?+PWwn!2q=o0MQoyjC zh$)B=Z=+2rG`KWs{K8Z)*7j`y`Tw;Q}yrzmdk}}VJ&--1$#mn(v?zSx5N=5 zGNWORny|yZu`f6TWn!KSm(h(As%w1(a$(R3hLkO?eLTi5aHsp`JAOu+TryR!h$thAYsOK4p}A z4!I2peiXDG$a^l1e~CN6tBII1rcyR<4sD(V=`c1ei1)r72#OT z9~Z2dia1{cC7dR6MBDWw)K6^v+UZ%5fB6DECQr98mG(I}+`*|xcURnp3RCJGZ8y5b zH?}mo$s7|hDTb$q*G~k4qb*kjWHJbh+mQ?DC&$bgqsQrK%*$2nD-!QH7hyaA>}o(yLs%~GhI?yGSKzDSgOCPFz!UDr%O_p`xBMT zhy0wKa!-dEhmQwX;i7ZOgkFYg=kG7G$~f33`IThc%_JkfLnONGBgUs8rQImj*c#kZNXx5k7#D9!yR2~|(AQX|b7r=*p)El42$poxDOf2y_V zWbHTL9Rixr3>qrS16{}YH{z`*ee;}Cj@z2K=sJw@OH_DXJ42qFNq#7r=W!gch4cOG z=Z7wg&i{sl_(&I1aQ@u%%uAWx{ZC(TMr`a2s;k|)-0v=zcbG5w-Y%RH-z_nm&*Q(# z1v~<+hKm39PWV5`FaA$NQDle(W478tNGi@=nnBjV>B@lbPByNBo}sT*WhH;EW@!O zR{u3}3RUY^5njQcMKij`K|9;JjhDbj>^*n*4ylH{mevwGlKGj->?KX})b)W=GQj3K zBO~9bH}IUf8Z!hTsHylmR5xjhw0JN_Paplgp)t$_t(sUd{8`myY6DkjCz-0V0~%Wc zly9-gch1pGA|zFPxH;N^rh*1hKGF~NcxfD4$8Nn{Q8_KMYBeA_#=*bx_1xw;2R0^m zV8@=0-HuXxQ>diwUU!&Qbl?oo)WH66FMh#(m~xF$nO*M!g)za;>8-t-U62~cITogM4`E5>VPrYwy~n5FpC;5 z8hFadJr5}zqhvdjVr*G6R0b+`SSa8nNP$i88(_vr2xQY~7~v&zwv+)i(tsJ5!Qa^u zR!1sUXcd8h+VGdc)f`_8Zkyd<%wkm?1LRN|91nKVUDI;ujvm(7;CS~ztx|QtDJ`@$ z)rRte9B)e*y8-IPsjRpSB*lfvq}1b@ z2x*ShoM9P@*c!;z>`Ja>lSK*bIt35Jdo11)d4J^eycKb?(c3ZaDCh679gf1YQMGL0 zx4uSHr@Gc2^4~^J__0HkIz@EXmPXx(oh;_6L`>-sVP#&=LLGI4wmJ@-8scyUiLhM# z#O%d_eacQXSFlNEKn(G&Q`C0Tv3MMlhSQUrQ&Y-P+GG3Q;VM*#TH=PZYM`-FP=ege z<(`*cN|hu2@@M|zIeNCkO`El{!wE?ea zyCLnjq_$rF5f#488-x4Mnuv&G&#Rf5TmCbhwsosOPA^zzN}0WqUeEi%CeN0xkY+P0 zk0z&FD5WKI6)kg-)l1c%Acv#JKx|Sc#$@rE1*P&Z$<1xP<{1^rC8t=g z(nG~yk@RQ#?AA5cLMsXzgt2lvI}9u>_gqbUlPM};&NX9KV~q}7(Hd?NG-f?mlvPsf zk$MOfq8Za1G7S4u)ETQu(o~)J#kgifx6EZXAtcZ7>m_DO?#$4MfA*mFgakAxOmSSK za=Wa(=5&04f?YQ;zz&<)(LcfLG(&njgaONXT^*b_(lq?tVn~HSayoUR23YH)$T-p> zX5Nvv3++4Z>|`7nDy?o5lYPCV9<(R+4x7t*uXd#=H9=hiOEO*<6Xei>J3qCyOunyW zwL(R~zLz`O%*ByV9odBFD@(*TblQigd8m~4>dj?3?s9`;&Q0Awi{awqT(tI(j;woYv`v zQJ~^izzkv+sOm+F9;jYS22@j?>?p}k;!_!dw4J(duX{Hec@i~e2)ZP(R#4^E&yc0k!5lf%p@d%kGmfpTy zZ?I|Vk8Bv;D(6>*vEN|Lr4)f6$Eb|cbohgTl{D^M;Tq*xuhryot$}E-@*S9-Xj_UR z9O&OCj27}D^{yawZQh(D5}xa9l^j*a7M>y4&l-yBA@$kwIENr@^J~@GC59A&U5kJb zsS(ZDmsBRC^x==Vz!+V2cvUr7d`2*&35R?h-J>Jfg1*g^M(psLz;U2tRXg3}UInzS zqx{E`ob_bzOyMGk1m74sM$lXwgW@f~FU%&xd5Fa>X;RfZ1)!4LpWOch^1>?LfP!SU zQQ050(s`QCYJNfqBi~z{oVOmNK}g~7ViGzJG9U|dGqS`c#Liu{+xw=6*e;nsNLVq7 zh)majr|vA**!o+R2X9k?k4)7^SHX*!kr(3O<(4$&ZYE=t!e*SamJKMIp9;HKqHW&e zjz)r&=Em*IjO=u?B&+??-0<;KiLk6C(!KZfmIDLi4!HG6#!)~g0hwk^1Qi+E&U?4-awq+7D>64P`HTbwMqN>SO zDI(=A(_N8WaoSQ%a&kJR0{$*2nE=+zlNfAjR^H$}lDs!6ssA-{pHco%oRNFBc`%_$ zSN~r2G}OjpncFmQcFY}FS4=sZqhkfs8Kru%>LwF!leN1eV%=(k&RCXVvF-NNpEgXg zk5))lNRlKsuxIhAaVy+Bn*o}r2Vz)Ouin+()r4itj)bUL90OxD5idcpIZucgh=GuS z3Hqq9@PRH>%E6D2`I6(P>Z-8=MMZ_(^)?b9&{i&LZX_KYez?j9`PQe-$?6Km!0@;zt ztUBE%YIrY>FO^OJtP|Swf}>{Dy3x2yX@+AtZO)TfOrO1~&FRDE${)=$efwr18)!)p*bY`GYkw3-&^Z znjFx@QUb`+@3Qoproc}fHRf2wDw{ewq&)^>wsV>|63Mt^vd+%d^56aL?&?!ag!<;gW1Cvy!H&VKZNL!Ia%!t*#tnT!dHq3ZbaO`Qf zam{gQn&>+0v#DWll`h~Z!PU0moO!#XQ2&kLg16tAe!SklTeGevx{;^G`0J#K*=*y@ z*;t;)K*wjWks_BN1>Ti8a#;FzpH2;EoRSKwM>i!4N5NuUdn9c+pS$7o{h>}s)PS95 z@pW5*FrB7fmPQIJyzgrC^xOpNNqP;(M!pgd!9|BY!(()G7`@#x0IDqJsei_ z_4e{{ zTUY6hly?6O*gZJ6vW4}PL=q*P-pc~5jAbY-Onq7d5sTgbnUG(fe`d95rSN3v(u>UW z2M8Go3M5j|ay{v;xNAjso<`#=5G$InKIA*mb>E)%tAbgs(^*OPqJ*KBk=Ti{Qg#=It}#n$KDO`k)*+2W#oO*m|C^W+a! z4SZNTTHH~_Mm0K_`W2^VOVsx6i@ol5o2cUXF8$khQW>#zDwh@Q5eCh(lEs@LS1%Is zlD>14HJHAuEq8J^@<-Q(7rDI9@Cul<;P>9HlMe}q3#=-PIWOfgW$bh)H_bx`0}@%9!ocxwHQvH$)}W>fLEpmrdO>!%5Xr0xP63O#2`JF!ChPGcdDbmC*bm(94fiTwYbh-6 zgH~~d7wkaMrf0yHxX@=Q2JX%)tb&l-mz3);%Bol2$zY0R`L0k~=Jl4tar;&6jM=ZQ z&nWjkt+^GWG;oZ!XYgv(ieXspVktAr_F{pth8K&M1{WziMhS;rZDM>j&3xFlf9Ps| z=v=}DrBqM?wKR63awKt@Pti#dP`^* z>uG0kWvcW2rVM$f@1ztq8!#=Fl&?(-`qeSfab{@=m{-0PTx31OW?`)^q{zkF!yoQ2 z!)c|)nop>~8BPM8sG_l(XG3LfoUxo+lq?Zx)Lb0wi!K|Mf&&RKocmdEptLe^Ul_cF znja2{Klb=-IhsAt`y=+qocqp#mQk4jx6`qma5wdAi4Hokd6sn|$l%OLMmu%(8(?>~ z$G)}1J$3q(F2H)D3^xxuv7fsWp`NTj<15V`E&2}EpqU`YIJIzHeE1cNTu!x?N zhP}PP*rkS!h^qv`&0S0IKBGa0j??cFo$t>4xw10*obWr?MBn+$P7gt>XiA^gN!aRv z_nF3{KMuvcxs~pCH6niI-FrQ;_B_6VhEm_2DS_~NOY^w@^r-4|YggD#Ke`f8b`bWh zL+Ayvxe1#$AvDB!m!k45Xle^-(_Mmf4J{ND zrec&!V-!ZfP%8tk@u1p5o7&h6>x;QI|5KwKU*L)Q z|2tK#*6aR!b02znD16)M>|;79Wcr7W`sJ>Hw_SRVdXKfB2;9;*8(7giUywn8vZ(`3 z!HEe1DR!mES1O`c|ER`|^a^luTB_WnU(_esZ=ze+OTRxKzacbe&y&fi55&z|O070l zm5FFKYBE``#gF9qi7$2u5_;RBV3Sar3r-1&;IXdlX9h70r}(2lDZXbipB-i(k<+DY zE9(3@rgxg=qQr@TmD}J6E$AE~H(Swaf+;ACb@c#P5i}nhnPGvUT>;0;B`v~juZBK! z|KVKgvr8tSmaAer!UkQUez@`L5MyLhjIink+xCvxF;e~lFII6_<1Ck{C}bJ%e>mG*O!Sx%x#=K7;G)8j?f zjlLL)3|LD~19GsE=XGQd+1@v2vQ9y>$z^BzETV6^JR}zf)yGPeK3m!EJ6art4_Ayg z3iN&hMn%S^bUHP^uGT?j6XG+iR{HlTv@N` z<8U+D8>Q-}ZeB2XsG+CQEK-EW7Vsz~T6k_|!>TkyKAU{YwBhfp(s;hGn*|{hwr)J} zFR+LuVwK}*0Sar690<0-}ir^eeE$l$(>sBMq@(EbLf z5TnMZ6$H1rXHg%45YEibKSdVMh)_8)aGPD~wOMR(LBZ+b(6q$oGtkZ-lF8^Ajgg+m zCTtisK}leaTmUHulSmPkbFfCd8I0U&wTo^!b zd^<)Ebm6{86jwp46ZjDEs|mCf*lK+VeQZf+LnCMLRSL;!$$^E#LN&B19S zKaGw+Gx|fc9ew-I;tDdUljY0^bl=u{IZLRj#%P$ ztKhGzVLxGlwZ8o{d45eE9KdGgLj&+XMEjPmWv{p?oN4?%v*a}Mc>s5B{4&>f_gcpf zkA?*w8o=WLS~N;EuSFF%Jl*{J%pBicfj6%lV(D7!KAxKWxy?oqD{l832iHFZ!j_?q z5lYOm(oL-}+RIbfYPE zp8p0=UbIqgu{^#P#n@E?(>UXVL{dp7bY?Z%hO(E#XV@ber&03n#gchG1>=hhi$l6z zECb_n9ge7$(>xeMkxjos*Q6tt?J#KxuDc;_spSYKW$3hdS({?Ff$wyt8@3&t*I-8+ zO)w=kmL}Yh-@o+{0J5w9cmMdGT$_NRan*U>-H&Pefhdqvx$W8`0+6TcQ;d zWYT1^gW5+o{eG3yAd4?CgeNyI8L5rCc`4PeJwF}l5_034gTBlPym>z+!2aWwPvA0T zc?Bu@upD_CmUi$wyyGW2HOnP z2e)v@0IcdG$KiU;n@;N=1kWBRJjr0;Py4rgxUKf{fvJ0CWwyw0TR}PW78A(Dr(93a z*DKdezDNI2SNqD_nzd|XJ|hqAe`KkR2JR=9-Muy^#{1=+LF_qbbKv{=V*1I+;gIW- zU_T;x<72B#?ZBT@roAF)u03ZC|H$$Cn}jta$L#5hC#kb% z+{ewZNK=9P{JyIXxBmpx{=gpG!vMPvzJ0G+tZH^E|GSC)*Cz5>+flytE8xDwC&4+* z4MkQHv*2)V>tmebqNICG-aBHyutQq(!62!D#gv0LJE^(3eh4Z2%ZtcQ$|0?#S!hAz#y}qQv?yg)*L$tNDO`4pDvFzAHTr!6<<&(4I zXK|A5>MZo7n~l;Pf$wVUHq%&G`Tc+|sD&h?>^f6`=CwuLSaB4RjG6CyXqYwKE|Ek{ zF)~uBVxxI}f^sLE@yW;&#`%kZ5eyPm2|&pux5=!0c?ecq#^RTv_=*ZSDqYF)W+qMZ zxi#iEC5D{RR}35tPh)yp+oCnZR3(e)2>jt~6ZD!C+)xL<-bh!^;Xs#UpKSLht18n| z^2-QorAY|B&@@`GKMi?~@jO_jYoOme%cNh9&4Q`N6Td`uxhIFQK4f@rZNwzQ4!pT` zB=3)>L=t8%q~REJhA~fr-t8Gv(I>LYP+_|MiC7&t@JyJGx2ga3?FcbOc}ul#J9MCR zl>gBo?d~qM7gwRh@CNff19lF2B2oDBTQd5Moo2SbE%VPJ$p2m9zrt1lom-4eQ+bw$ zhg#uN@!3A&q1`To?6hc0WNtMHcF~@-d(Sg z8kc=5G7lHh#L$kei6dgw#qB~}$b6ISbZ~*Z_~q*mN`qfyuz}`#!MGmt zE@J&|T(5iW>_y{^I5WEfpa#YW3?vyQKd=4c%GQ=JY zq`_AW*l%ov}`)AISIs=Bw2;W0X{PgXW33DP!J53>insCxNP_AfeG_4V2 zU}`leXu_&8z%a*paaS4~!%8~m2y7g?^EzwZG-lr>bdH1vbcxG8^gE7`Ljj7GDw)zSAvs7Eq>;m%kyZ7@eNuZX>7{ZFRy zV`j9u!Oydq<{>IZ({&@}v}&SN8XUAzxD?BYsZnQURPbYF zDvZxbX_RO;@@nrjZeI7+rx(o`7yKfxP_#wTwK|kCM@X*ew8t-FhNr4eA2fEc<79vE zGzUH5O17~~Zi=K&u_2qMZ(NtJ9>mKvsw`gT;o@K|@Ia2ZZdK7XsGDk=;%Mxgb3kQ9 z)$$--&g{G9!aX&8*%oobc7Zd)X26}TiFeC z?!}=g*Gp_CHkp^8T%im@#a-az(P%HABaiX!Q9nMq?TrXN&psmv zmWU{l4C|~#Ho{b92}X&rgpkN$I#$ALiePd`(q(9P!6+2Od$PDm!a>PLhtdi3?0s*! z4-V@5qygL*gEI7XrTumT3l#eN1hCQfq^Ma2D+USSTyUIGEp=#goZhSePUqWMcC8Tq zwGYJA6@ly!GIdfmw=udj?n+%@dwni@GA^syYcr*=R2%YeH1Yw!6H=V0hfArKQYYlg zM`wL#-6K=Tea(Z4szSCmqp9wUoTCCqc$Q;n%tOR`u?)5KRN zST)A5P{b-~L{c=jUhC-BVXy7ZKLtFKdpYs%k8vM(*YJlEU)01us9E5RF!sN@WR7q} z${alGPKD2}XK2Ite*@BuLlq90av|t0$ariKqm4qk*mX;%i|)O8ngU0+z7*tZDf*^V z7QGxBWJdO$XVDn=6qNjMBTK=ryx*2{=E=tBGe^ZH9sdw4U)S$ss$^iS!KU7@B;R2+ z`)t4!&Thwy%F@ok0yNJbNtB?r0*}R!kc&u2ehw`aLfA6A7)`$5z~-?|T2aiG={TIV zUu*rO0~<5yEeJT?Z(2=eXP8dcT(GlXWoHn};m;=(|B>EiGm41b#**90`X&1dvUS#T z5=wQVz|gMHP}To@2xpsR&&>k3yDO|q9j9w%n4kKi{^xY^n%-#inMcwk+x3LqRJ%X$ z8XIb>cwSwc;IIfI-f1uP{BE3~nR=^`VCOxGCRwRtJ?$f6q4wZeg&$O$ErH;TR8UBC zo`> zetZZm;guGQtOpE7fIhjQ61vYQyDR&L8{yGWuEiqCN!Y%FaWnagVF)bZc z;2_spQ<*m!&?0oar_dx+T7N=+G_kxBh>du?R`P5E;c_Bkbn&*H;flYSpS1TDlkdd> z)-BO2QMA!r2zmV7`uL$d9IluO1d2_seO~{3IelIX<#JgwF?=&S+gl$e6PwM>EUiZQ z$zkOQ=8PJ}5bM{A;XMSiG8--fuZy~BxM?JaL6iRWs^}Hyl@iP-Ece$T8T~xV=stQ_ zbjcKs?QC0BOm5ckKJvfDX6yPF*f`v`htjDeHjvU+;=(30z+$i|?B;^kw^HOUKX<)8 z>9x?he;;PoG(o*MtsLxSEOs%UCoi)GB-u~Tikg+b?Vnhj#@tj-G`4ahG%U#prafYY zt#O=M%uATZtvL`AE?PdRDQ(9+`FfO$j%Tt>KRK6VxL6M)Y;e+_6p&{bW{|lne9#rm zi2tf9%HqSDZTE_YPR8{VwH1x9&UjyjdT3#ss`Xzps1mNE`%`TM*+XigG%`IzSBBxW zDmDw}YeUjL@uC&)=wmmzyS+HxrJdBSX0?OIiRFO@C1&LnDuD0I&kbJs5gIo~2*@V7SMWK+ zs==_sVin+;y|gAt_BADFMMqx~+$?NPg+tGR>{Y%UJ43I?G#~cEhvNtT(U7&V`bEfe zF#Vq(l&5ZR;R>AC> zhL`bZhS<12{&mBH#Q(D4QL9he=nkCQ;V2TcU^gVYcO^7swxSg?#ztxywVp-y}5~ls)jm z@&{D5z!MK6chT4@>X=>G*-1yYq{j7W5olm<2t*~t>#jGe#?q(wse0-W56bJIR;*!o9ukvsfJ?~JC0!> znjA7JuF-C^V2UHM$Lc5PS#**0uU#YV(qFj7@RYS>-VRK2|^Rc0`eNz8}y|)Z%Yk&8?sZmM` zE$+0qLxJM9i#x?3xLbk-htgf#CBYLY?oO~E#Whfz5Tp=Xix()}59fbo&OZBo{%4+f z-re`i{U)=rX4aZ@{nnbFeXr~DRZTOX!}Vc?i#V}Dz-IrxEwTS&Ti(nq%%+PP$Fj)S zec>Y!BSap1=fCV{$( zKzzLl2|2TcDwQ|Bs&kgrh_b+kAP8HKc2CmesVlScpCtDiq2B74XVBa@8_Uk0|NdiC ztofflMw3tC|GsDV$AFzrC*I^9Der!g5MiOFWNgGyYX&R?`qvsQYpv<%Pv+Be5xiYv zzKczv?q*s&)!gs09JXAB@6$D1|F1Qtq3?y*WIAVIs>S>KLm)1e>YbuL;7*+KhQlzQ z6*);RUeQ9n(BQNj#e0WTtfRK~l;S(wJt?}Wb_-dr(IqdfI&rlOyg^MeIEb4aVhw{e zMKEpkMP#YP|CqFup+oJ(22EGIzhA8@$~Jz&;r^mq`+p^df7Go0|Bx7-?!|g9<#vd? zcfj|tT|OioFS~_>P$9!cYF(X^2HiSk82I3?e)$>umo3PgYfGI;MxAi$z8Q|8 zGNL2XLkfhsopY$}7{rf1%@?JjCHxD={wnM{-O6vX^{zJ+!IFKklH(rgZ@1ybw)06G z34QtJPCXnGMLALIk&Fz=!p)eY=lMpf2k0KQ((y6;yIg4+e@d-E}@~naAdu1 z^QLGYi(~VT*$D2z9H@Uu3JW6LQxjZAX9Us<_Zs3o-OulTy7Ey%Y&%S3d^S+%ULdIc zDQ>(Oykb>?`4^wgjedIcqf7Gdu`9L%`y4pFAdgAraS$HTIqN8|tf1 z)g)_>WAAQl{zGCwVHf?~P@Xd1V83^yO45GKGu=I#IEqwuClu#BbzhaxKbXH)2$0`* z9a69SBXWWNLhiK(YVllGE8URfE)rX4|tC8j5FPhv z=keR=!^Hm(8AKBQZh|j=heyZoRdfeA+#7Ug*kExl5*&vXmFMte@F6n zcyfiJPw6Q9Mcv@#moE3JhuIHs!^mxWuU3=He;^B2{*EN{@9@BpIR9+*PQo;Q3*QW< z%fbH;PO=C84(0Fo2$R0kg3UJ8I(;h8HTSxQ@Be*K|HF&=W}Q(ytPuz8A6K=`rs|FX zIy8um3m#)dCpusbs{_FYi9hTJRlx7POt;FqY&3ke_4f{73QR4&Dr5{<~NwE$w%sCL#X{~oZ!s7pxuDwluPid!>s z)6M5#l^#`+)=065QN3QAf6Z+bDYrK9^!-P(#u|8)$LRniSo)QSkJ}*S>rgl8SyP^; zOGiILb${{42glq){bZAEKHaZxIf!OmoEL<(-ud*IR%~-A>}M90ep4sRyNl^>l(BZ9 zYZIGrmqY5Z=zFEpmA|GO_sZ$^^^oJuTaj4GIcv863nwQdohH#*DNu6Awrz_1m!y?* z+A5VO95jq0!7HPX0napJTdX0Dw1}4d(|X4*lpN5&7B;-5(mqq@1Z>3poJ+bDKl#waKhO+W^Nx zjg)F!X8WH?D>|m{n%kZF^O^oo&V3^uytLbl0uLr?F^kM0SKh`fzB~VA;#0L*WUai4 zE>|2WE{_A)n?a;!)AdO+zpM#R*)BF8_885UN76K>USIadm$*1xUo9rDd)zWKa0?u# zvc(K5_ZF|{c1fzyp$pe-jj;>Y7IYW+9rw<-5SlZSOdIl4)ZzfLMqWW+`Uq^B_FaaE zPuQ9FF+&SdwG9qmbE!gU7ljiK5Iqoiy!%XqK&Bse&NqFVEWYbt$~Bf* z&JP#Q#bM%%91tey>Gmo`ntr(aaD=P+Af=Ssc6vnKA&v$)O{n6|7Pw18IGr6ki+OOF zRAhSaD#?W0xH8~pO3k2}m=z80Ez!!L%x@l2`- zb2-)FK4G}n)mOYgiIGGP_(bjcpV`S&AchpeMzFy@$nVUppxI4sNI zNSoD{wW7hR)7;2UXGGf#$1q-M(rDhIs4+FS$kl-WxqUhAcc&kk&2&uelP9CuLct}_ zAFo)zh$OI3rN2N0b0Es*tFb~vPmvnr!BNEbEu~nh=gBNPdmc@cvN_%=AlCfeuYxla z6wMcDT{VXv0G<78=8F*3d7*=fptqMoq#E5I;W)+oBYCfMjr`cacSYAHk3`#AL|mTNvo0|V z-;V#(i+vy~xTShSPh%uNHeZlxG~itNps};GJO;y=q{%C5$KU}S(Qzf&(Pd5XU`@G2 zgxhQN2Y6AYsh_i-5J_Ffe^_iKi{grj9?CiolNZj8YSBdS6O%XAmsT^r=UxOD1e8DW z65a2iJMLJ~?*@zUJ0!%_t>$IbX;2QyNh?rA3mYf#k2lu>;0h3<?M(1~S?^tVs9 z0Z;Y77c;~ou>2V|^`{Ef$=n5FZLXbm(5Oi|S5<5Nho+)BfD9}bz} z^Rq^-EGIM8Xu$>jW zEvj&cY+<2ic4DL_%MC_^?3f*aZJ{-AbMX<(mv#1Qhwk^`n6<0_&u#qqpMEo*<&QoWlV{! zO?@gKB$%x45Wrb_sYocUfn`VQZy@#+s|9&cZNp7a2Az191KU;RRsgI-zmr5;E?X$f zA#>GIrthO&N5yc+nY!SmL#=?i4PDN}@#~)-w<(W8ekpaJ(SPAAd{oRx7e~?38z>)9 zvg&12JB-IQyo)j4C~Gw2+&G-(2q7($@8f-be1Gkaz3TIDIHhrP_%of#4DxML~2qC4SS7yK#y383%#QBxxO8& zu3N$qnzfmY##zGQ18?gG#WRj1_?IqeP6GMS=mq|PMxyy=KOq896*V5Z8*bmfk*YPK zawGYpsLc>&g-{98B`~l5A9~DXIb3f~j166%gRNXll%XR{(tI_@h?Dl_%Qqfesf;GlF(NXUTN{NG(tG^8#_8Y9A z#)g@*hy_kP@tA>h%;sI-UFM0;8yNyl)#YIfwQ{yC{2p=NTZiw>tG6Fr$o5LlKF(@_ zWw@drkq$M>YV5HyTGQY%q$miDWZ5&+g;Fr{3h3HU4R|CE8AO{9!)g;#XBFC#e6%;p zg*lrXM>(LrYl4T;Ox zn$i@h2Etr%)Y30Ar$tiZDMA#+^UVJ6PreLCS<^mOG==xw8um z(o*!<%B>vAIPa#SktR<#-d5z(nWpw++)w-1s|kUm;e2jZ9&u8&83FbL9dPD@Lp=s2 znp>8sE!Vnn^Gn5Nz78XtRO%!xT%OPY>E}yW)`Qm(=g$hivb)-96!i!0Ek#f6J%Y^l-a5?t>r)0v*efIL;yqs^J32guR!6$HnuZWxA%|biOJ=<1f1JQbvyK z(ty!|KL?y|IcbMkP5;87O15aA`Yj0!YFTIt4j<`Ly&G;yP1A8>>&{ry(}gorc0AI; zEh7+laR5vV+IOF1=+E9n4C;5tYIiWs1XPvQdfl@Ks*Bo6Bjfea^Nkh1!s^vHO6)@H z{PxEeSc~Bj1Ln1!TpCb2YJeTh73tQUBF=+4#e)ADXzmXlhzCFX<ymG4=y~_m;4m|O1b8lkD!H=a_`p?^l-KSsvlM_Y5hk8l#TlZt_ zZTdE0kI)yhG_F${+8+cm+1Nx8bn~brav<<89Pv?#nSc5cQ2YK9ZObtsbZwXR6BWE| zZ1c@E`%>a-yIOzy;N!=l7n3KHS{I+O_w=bpMEt$4fhg^&W+4YsRFz8g>Rv`_47~s2 zBz0J&IqREcvUADwI#bf&TVAm>yv_V&_!Jk#Q(h0)3tRioxLk{mG~6_6I*c1y5VIC` z4HZB3BgQQAd6PkvZ?zX%22YJS1`pS4qt=DQinMDK83+EuR*p28mY9EEUDA6M>=uat z98I9<9pNBJ~Ot1owAKScB*O<(|+Idr479Ge3 zHpMa@R@jj=k=kd^x;G#G*|_c~6m=Jmuyi2{PWEykU*;m1L#lG`a=OoP5T`#M8k~=H zs7>Q&+v2CTw)#ynAeHoSNsFiFBa7zrMaM&v#DLaAKCPwHg@CrEDzh}k9YgQC`s2%h zo@daU+0mNlXm#G*))>2(yGgz7n7WfB{L-n4zygqm1e_+@+Qk)5(Y&BlZ0H4uP~ELs z#r0;JRrJEAOk{r+!o192=Rk~d;h@= z3YONd%~J4v%w5x;y}S&3+I42%AZ}#ZQ{)|do>_|~&43;tyZG20P6JXZwf|tVy;dl@ zl7mxU5BSVr!v-Lr>BRGkYVE#=6ezTkt|{gm$h%^HDWE{`Czqb(R(~{}EeVMH!cdVF ze+@%Qtienxs-dr{H@XPirW~4bb#iC&K9%qkYa5(zQ9+b}IFggHhMQTu^`mF^peaOE34rgS9)o*z;wDUEG+j-g$V1L$v|p?e`PG}W0EYyEW)!| z9v%yr@I3c?tO|%AwXvMNSc!+8<-S zAlz_J%$%R*INic(ZFtEMyOgo;+NMsFr5BE9&|AXr#ouJ@H_oZ#6Y>e;7f?(eO<9f- zRSum@j>bv$+CSlv?|>@Q>*4F2~1+CiY-pU9`)R445qy#x}uu&Qk_d&I{%w2RMvCV)g3B{?#tV=`%a3$BIMx;~~ z9O#Hw0W5CAP&1L4zgXPbF$DwSg~8|8 zZ#Ss4jIcVPW`%uQt{2bsogD4N0|nI{FnOvctN5JlQ5&=EQz_;YpGg-2Yq+CdnjUEv$69BF$wE0*~<`@9oa zzUEiF&-)Ld>2J3E(9^+V@rEY4{$+gLR{ZUUlZ32rT~_ZgqC>Kua3d5|+l|5!F)#oGG<#Xu(zrRZDqK;>LjPqH=F*k+oo)B?rVd}co^4ZYkZ=7-H0K$TmLP}d8L3P>8S@uA8XFlb;)B~< z)w+CVLw!rVNo(k+)V`SxzCFF6xtob%diK1|i%ozXGBPFkg6_3^y0#DdRWCvq_^g3d zv)BybnG+ai7k@pVDdU-jc&@pjnO|_k+3(r2f`0HUFx>6k0R7l(_R!^Y-Ea*$EyYnF zDPWe(F(W3KLX8A>;AQfkdvyE(AHO-67?-uHO$!ZQI<=@&R@zxcNxo-ugdhhhHx+Wsk`o! zzOF=Nx;G-7Y@xXCEyUWG6W#bt=%j*MddvB~Q+ujYN0P+9p!IBU zdZrAhFAR7=Z0J5cY}NK&F6s1rZ73l$@xk2!Sf;X+j&CmP#^cXXze^*i>IgsxNKji( zRJrI?vmdeQ19We)JZKmRQM%1a;!VbOh4ioK7bNsw1g@}82`L`zv3)H~FfhJ2W~kcS zrL#%NYpX>xOMf{u7KP7iMcKGHm@JXTkRDEXBOVOU)uN^nUo#&z4DY*8l1;k8rnz1n z(G#3JN)k~vi*IY$E%(viLcV@YM&Q^uYt)r)M?=O~*yuvsI;@fks7uyY0wsHdE2or9 zc*IfEw#>%QPCqyHWP_(3skx2})S>|ZWWQ4taj({*OTue$2e5yAc{+P`_9M&azD66W zXV3ZY^t8p@@SV&z1#W3LzvKMT*n}(uV0QP$K-N_su|ltFG|TgM$XKZqmYh*SrU|Q` z66$pK2w4FVDg#~2DcdoMET1RdB+M#gC1tvV7E9Hz=d_1!Y-_8o!D|3hO|C_zghg)Y z+OGPcadsuSC$9}yk2syqp3rQu7BReC#1;6^-vg{qiO&!f*I3$!0r;T$J_;-~w#(3g z#6?U{J0mwgc)wh@>`jw#Olp=-@oesoXUIdtRT@hD6{~XVJabgrc#}1N9Lwoc^!@1+ zEyuLecKmk5h|?EWG)4x28m%sI>Z#WV&nhyN&#L44Br;7c(Pi&@=NG63!9FL+l^9ka z8L= zPpF~uD-2*lI+`Efo*n9Y?jqIUFEh&bcntF{*xtt{R+c8E2FJQDwb{c#3q;CmMJvnC zLTUu9?Cm@nUlpe}38pBFbX>#s(@QDtA#1%>b#Lov~hi>O3{U;|Fh14Ha z8LE0bFR*7QIsau{3nH8_)tFb7|6atYyaDf%SSXxUk4p!AhCfVdVf9$R5qxt$C$FaX z5f(BW^x+;Lyqt@^_)xd=zn)o<$VLiTSzN5%%^`_Od|qC8&4k?gHLn7J21z(iYGQck zUikfYyl@=)J5rCoCw!sA+j*MQtf` zt9Wrp-i1A}HyFr8^(m}9t&jnc?QG)uCQW4}E2%O0P$k)s){uFyK7Pvh#V^;R@|))X zK^3ZDZxXDLqN}PPjfh^)N({EDXrpOgP1io(n4yn-C|cg3N%o($Z;Sy?{MtSNIn&Da za{Ex>foZCQMMin>gQfaS{uEoZjk!^A-iWC!x*OK^UMBGMKoB8$F1v`9?`P{(QP>jaAMdg`hS`QW3S1Cdqs?5n$nS`U@%F=JOl>p!%I+mEV(kZM= z$5u2gBavF#_{scg@NCwHY3{~wQEaR>3!W;pfRTyc>KoD8n(p`cUR$MeLz#QF;S!HZ z^Znopo4TvEoy#g$=4~T7-L_rJdU+QYR9HWD`aOI!V$-NZsjFl$M_)tMMr_zqXtSCj zRa;Sgw9@mam=UJN0kJU_puzXIbyidHk>knJ)Bh-z zZj;`SG_t`p*|enPM2<-c&!;2qntf8m@~8(E(~MM5@9-2A_F{i;Z#Y&U;oX$)Ca7=fk<&S9ynNYWQ_hGcuH{pt{{Se)?UCfG$ zO-#$Qh}k`BB*KyUmNRH1lTdL+mNX+;f{um8Lwbx%_$SbvJz_F}J*|#wB9v-u-C8MD z>Lp7XKRJ*&D=Qnz@XVYe%acUQ3*6`_+LU#bHQ_1dSs^;_p#1vgIV-juh|tzV+HpM( z$g`FQQ@pu2u}CMBuBg(jo#?mx`9R;e*YP3!ok&{Do~;Ij?hh474pY`Fm!SdH9e8d` zE57a*{m})t{tqp}5(LLI4UE7|(Y{*~^^d<3R(KRHo_4Aan8kY@R@nc6a7x?mOMjA$ ze~(!5DCq1x0W!5r#{(_!r)K^%`Kjq(sHB!^jTU;m|I37f)1QQse zuH?&t=8~LbBr0$nEU}+Y^;`QAh8Ifp_-t&aylB52s-<#XIwXwm^QrH4 z=TMp7rQ4gCwv8-z%zqq>%jVoPUk&NBy<2tb!YoRSwvO6AOLQ1Ba#uQ3OS$EhRci?t z?c~&Ppu2V*h$f5yA~tdnL+(;EjwzSS%$Xr86-mY@+I8G- zWZ2b?);y;(U|v#m5IFTdvNfrOIIs^62O3mMm{yLm4S4i>bn`olc!Is+W>i%Z4bN79MQPk7@z^J7JXok9z!-+|zE>~O;r zSNKUswoaTC;n?6(EERcdseY(uo76B3kKfaoZw*|4dz{)$NJ)5hc(WqGMQ5pXkD&M9 zJm}=U_Ub^}d2SBThLmmdr#|{4h0^I=Jy2laeb0uEv8T`|hrtw=t%v~WiX7l3%Z1=M zmqF7?^8SJ!2W4Sr$U;?-2sgU&?L8>hBk^{IRf&mTs?{F`GxH4s0y+t;=td zg8D}?_%+wE5g1<2T&c-gZ|x5;G`JJ@2DIn_ujB1zri`O-=>kZ%?FoQ=T*c?l@$}LB z53T-T>izw;^)v`4|A*O`1T8?0&!sv{JhPeQvZ(I)!DSJ$`sm&@Nbb(unjo~%U;CUX zzWXbi)0tzhHB#}EU$5g~U=y(}hvBZL4X`Oi-e5Q%;mxFnY0OFA&8u>YR%~oB6nk+& zLuzZ=2wwb9UrjsQ=8t=%$kIDBYsWBWbTU;|@3Y%ROt8cV36D}|cT4(W!RsrvIXl;7 z-+&tXqknf_+WO0?a+~){V#g6?tWRr9ynB8n)@x;o*YJ{<-KwW`WYlu+iml%^xVceG zJ)xs9*Bzqdr;Z8Qdz~F=pgc$z4Bc{- zn#m5L+O8-6IN2AfUu$hS9=Hb4#(1lRrc)VqvIbc$47y6VOWWloN*yC1r+&o1s$?D| zmU5E&3AWlelf5T>OmEsL9q2KL^l_6`)>LZVg=E$7!>;mX^}z%%kG@q}((aDwr?9?2 zc8=$8T-7lxKG7h)PG|5s#6{OtQ65a)0yfUC(OkYwH$BI+pXiJ$FY{Ey znu1yin5s|6&dYU@A#tY4L#73^YEAE^l@~U0m>39Sqtj!ly77%7r8-VT%l0mQeUa$> z3&+Ov7h3PJS0g;zG6GPSk!m|Lz#oS$3~d^+9k{o@Mk|m-<*45?O@uwom;S=ZW$N`g z!CXBBUr(o3LyrQn=`Q7)J@9UKSzi}!o6?UP;T+GGX{3hLK4Tjw2XKuecY|OiTn2w2 zO9id?jZ^fyqfiXJ^}5F7Dl|+cmvbxE${Mh!8i50YC3bD!gDM1jw4*UHbPpHNi~3=^ zUWHB5pA&F(zpW5E-f*fdQTv(0z(?dNMMk9Cr_Zf2COtN9EWyzi&C>?WY{J@3#Nj-0 zi~1W3#GUzzzUKVi@Z*!kRq3OjQWm@SKy#d~;}7@+%UtN1cYon%22bTtz+3ijTXyGf zkjE>ULJc(z3AoL7Cifr=ahfREx7j%zIil377r>HVJFX0PJ>6izI{K&IS-ZA_^m%u4 zCIER@!TUtN7*>(6u3_v9-`yhUE=JVe=y&!KV`L8Y3H?1hrWJqXc7(vetZ{bTMPYuw z|NR7?ftwW^;G=zE!X@-6pkTw;U{NG7;8%>2vbC&25O++J()MdHU9}lgvrXJMc+Da+ zFnfT7{br+4Rhum=Mql_)XLxJ;RJ-7m4e|zv<))Gnu~++fUxqypgz$badxlvJ%hpFo z-^B4z38i`_yC<4;1QJ8)-_AD3iFyM#y#^f%SWIa;8J(20D>h#T?Iit$6ZKYNDdfX+ zirqMNzr8Hf#Vy1>Q(yBvNOvjnlWxNw5L2kMlhe{?Ml4X327n@LL@<;PI5hIZYE;rA zzjNDZU=5q}prTcr-MBBjG(zXED?fJ&n&2 z1^)Tg)UxYoskrbIcUyyA*TT!zr&lA3jSIJ`5IuYGZR!e>mKS@HeFmdpb^x`q7i;gdI`$x@{I9h&?VU?anm|p08l8#O{ zgz*T`gjUQqR`$mjSI(NWA7p0qrb5bc+U@t0`@a(nEHi)Z9wEthJ;)^@g)AUh22fU1~~#g|^fygBO?PUZ3rzk1ZO_(Zj$ zr!=&uBzn$2@8Hd=lRmgfwIC$}0hwZv46YVL?7_Q*q!~n}NP>iyuV%Iw@MJ!Sqc;1L zqBeLNe?RHh{MyHzyaQ@6VIUay(!x^5`y&#~|0>YDiiNu`o{G+i;L{N=v2;1qrB#t% zm$;#NRh=;v{y39t+TPZX$ul>-tvR~Aa)xW+d*SBq^`EOUHEf)uN*Cx%KwJ7EcryG)3 zGuf7rZp>YxZ7iCUAR091Efq_moR$)fZj6$Z@rvDxV@iqY#arCJ78_ZwRUhVf>G%0F zSVaksazIv~g&##=GHB+F6f&4EJ8-C#a7-RxY5pJ+7S*L_S8l7~^GtQD!_oj4XRyn@ zY(LVXFGMFj@QPKhCv%~KLeET>rNhszCEt5)*nT=*TY|OD{&Q+_XnKgy6YwV~{m`Av zO*;rc)2`i|B!t=6XHvQ9O+IQ0Y>RKmI^u<|VVn+1`e1-e9UGt>sOOB>RL#~q<;e|s zk#wOK);X4FDuzLR?lFP8;b)q zd0@+|y%d#oR8FnZv7lI7=H(m+i#_Pol(9abhZ=VnuMVrLpwwr!>Qh!%VGc7@E;1I9 zp>J0Ff$@NqV4xe^9>aQ!4wxqwlnJ36Uk1j$~7%R8z4P<=D>ny>+p^&sfuFXhp~b#0D~Jw;=yRHZy; zqOzTILhR}8#-xBoV>ipLnyjwSp!yx1T8Rw(PJoQ(p}F2cM}diNVH38)-%`mit@@%7 z!zdo@LT#ixd~+MgoR#_x>H7Vs=yW&_I!>yfQ)p9G5p=n3(1Dd4D1pzAW6Zh?U3r4( z{3_d##DYi3d1hA%g1!}Uit+=M`cXPa`LeqA2D_C8dz;;m(NyVuYp+Wt=MyzwXBuzk zAf%zYYXnk7rDenVM9p&eSq8;Iy!fbUnhS4=&C3I8+GHgKePlRczJl0~+^=3Q)1V&} zT%-l3oKrET+zF7mIxv!?0$=-CJv7N0#X2G${tj6AdE4F#!pe~QX87Z_=ut9nphw&` zd2D&yCfRiTGoPAXNJt?5N>?z>PJy0Cf`0@ovV}`-w0%@^P+XaI`wi_DhbS_e-9` zu=oc!4?6oy{%ecj|G<0z92^^_cmEl{gZyO;V48Rc&b5hs>4Jl^kCB<2Wgvk~rMmL` z!K-6spCXL|^%=P|Pme_1?)Wfx9XK=$=>?tP4L<2$`rvxBveT{L{&J}Gl%S^NGjS#%Zg=+vYh4nD@f)NM%8|lY1;Z^hni1` z079`C+A(94heUM5=!0jf1{bqOku`ce1_7gyDsy!{Nj0?zS=!ay<7=5~4jiA{$YRTu zbF~CE!VMv`Al}lIMG~dv4KR5}+2Q#m=(+ozA#WkW1c%z<{yu;yq6trpmV1V$yo0Sq z)zSQd_^#pFVEWlD#r3qAy0BEQg9l?>n`j1BX+Ocku-NS6%95##3dr>^Z6V(I7Q~{3 z&blLT(`8|vZj3qX(Zsc8UGscDnV0eAqR?Y2Adxs0Msr4r#9b7|X{7&UfC{CgDm%`>nK@~xK!qJCDJnMsGc(%@d+4_2B zS@O|2929)SIElN20iF-hp1ZZ_q!*_BE_xtWdrzI{+P!SHwDds9xG&Lo>MMNAK z3>RKwu%35wp9axr?Mb>+h?~&Un9`0kK_O`iP`M$MK4Z#STWk3yUyi)Ri9g%BrWdzE zFC75*I@cc9NO3WVR-T)=qWbe`8j^TWYtbg)4zG4cOMA_U021H7RS^%2_S)RC4fqcwFMo-RtBGSf(-g*mUsxAbPhZm5|&CnbGe>v?_GBsLo2uyK5a<&dg2l#Yx<@t>cxQf?fJSM=dWgBq= zi-;o~7wR$1Vl;7#JW{_=H`p#Xgv0lgFIYo5*KK1qf3cAcqqb6&go7nbmaD+;&s)?rj4+*&)N}lNGQl>K71+W@ZG?$w7JW0}R ziS@T|GbN2eW~5jgYIkj`dux}R5jlJcou<5q0*^dEMtK{7bmxMyLXhXAot+y` zseRJgrnMTSBrNOEz)PVsAO0G?qHJwp*$Ykqm%b%>BZ07`xFP|m00<@5<2>w^uI(~% z^~(%g_UhfdAiF8s#_LzH1;Y2)z*>OjcV_j-_H0m_c#=1yPQ}q)E51T#DfD{l=r!w{ z|D(6|Q&io_T!vm8m3G95Ie;G%AOwc){nc`sq4BBR+7Xp>gXqP}Zzt4iV>a3@=l|88RXP^ypRrpI=aStkbpG}oN zo)difufYii2Y)RDPw7{B|I5oe^j)t0bNZNno*=-sA{z|I{=zZ4w?}uWqxQYWt!d--iEusQ21D5#?yn@YcPoCC^2>?4 z!a5~?pM#M3GH=dICEHD4U2hsyrqPnhqA2%egg=0GDq@ssxWZ;}3Ztawl(fO-tOwc8 zn@ckx?~9;i?x2=al^c@`6Q7!DOis0FF*LJW+lk_A%yBp zj(ffK6fe#9YQsp+wRfjL(gEYoKe+~4hGWXPc2}QXBmD}2FMgC{7U@*9R8*8aS7_Cs z!BesTq>Cx?WNtu*0oA|X3sAh8nAYXl(t-&xj50y9dD=WTyDIcj1b%%4#T=G@C_{h5 zy$Bnw>^3-0`mGhKkaSk;O?W5>e+DgEOy!<}*Up5pZ~n>18@iGFmbSVnubgXJ*Z7lj zSU}dzuCSv}%KDmr`%ZEOW2a33bk1nVm_I0Dsz9JltxT+(T5C*PgaGS&N;3*QcLv{( zvAelYsZ12sPaTu=#J1X*g}Fio(0&(Kg#M-Y6W%}=Tp>-Hb(b?waO=nN&2eJDR-nTH zdal;HMR-fbxn#g>xRakCEty}#16FyXusgbfY5F5lI)rj-fP?`RB{mz-;C5k&0r{?6 zg1A)HrC9Z?_ch$}D};4^G}!&n+0&&ezNWJePA=pHCW?*48gYfiq{JfRh~_ZAhVB+k z?;~HD8!sJsCql0GLr~~p2o8GmY5Lq)`cbmV(&v)VO@PD^o`1AFREaa4&FPhapGK`z$1d_7azd(D$AyfHfztZKghc!3SI($x#SKOtjEH=g3NwU3S(f4nFMr(2 z^@k6ss|aY!YZMzI!y+AH@fPOrh>(gP8pyN481`bFq#_Qr#PvZ}FAQv3Y}`|-W&eUg zyQ<+9Z{Q|3R^h|^d+hlr^jG88h!j;nV}aLzWw--#QtEhZu&V!+I7VmcRoG>gQlTEe zP?v`vLhYj!^cPMim4W;cF&|q3lXKoo}s>dj4-&8tPl7@}J!I_tH z{YMw@-~ap*>di;ZzB%jgw<%w=L(6eJ@B4MVRcY)x-t8B7)QQ%jknb|AROw6lc+^Kp z?)I63*Ej4@{QteC_Z=d=&ftq*73k6~W@qUFJ*e95n|JGCjs5&8;BM57oR+@2?_}N; z1O7PIdg>5=9?t`a?8R zR&^r;%Mx+FmEsAW6uLLe&F5{d`9N3GcH=uYVF|5uOt5#9wmta^Cjr({GFe4JmYy6) z&p6W$FIIi9q*F(nfG}8&GK*g?PH6#1%>o8S7%k^7L~v0gxs#u03HhDRpunq` ztMu4$)$Z0P8#>CraQOFpVfStk=1W^W0GfC$F%GrO)a&1SGgkpeQ`6^QA>4`d zLIqvgo}&y@QDET$d@5U2w#O(XYxY|$~#75)lXK}gdwiW$1|@#5sF^n zj`#OfO%9-9n<-+T82oRWEO_f27_sYpDOU+oEiv={nn}(>t8zk+Cga8iAWh-v#r$?} z;rX%mX}a5~K-IKC^cQcR{?Z+d+wm1Gm#Rb)-wD)-COW+pr4+o1$P8#$#y)s><~h4F zZg!udo}oC4!8(@K^SrE}o_|#}zh0QML?<>q9pdrS>U=Gw;#;m;X%)j4VT1Ukvl-;a zj;fS0nL3ONxMM6in{!?zP~?LR_pjm7a62)iOx^TR@+S+iLASvj&0N~Lg1G?OL1XU< z<*OjCJsOnRS#t`{R@fO?yh#gR(C6&=Ic7aOJ9pS=gGY0D&z|f&ibISnlZ1(fw%=Y0 z0(=1Teyv?j-&$x~7BDJzfFa*#@Ur%eYHQHJ__Ndsm(^f+AErN-5d%RNZ?(C=;|+6U zi_oB|h|xnJU0j{^?6pb+8QQTHW|Z{YQ=Usq7~+;}JiN z<(lcZ8V=_&6AjCDmSQf=G6_LF<$;EV^*_aGiZBa5PKky5jq+vu)*>s{6NT*oe}H@V zxXJ`iFoJG7hx0*(&I6w2w|pAWmEXM8FXmh~>q@z~F7V?obtcFMus-n9Arpz`iVJ~C z3%*TL{q3Fgs(BPbM6O-Zi6Ap$7nc@6saWe`<>DV)5EIKgaTgjn<%Pyg899$D=r6Bj zPZF9(8fZJKtkv`28oaXGzA1LZ3^Md6mTgfG-~p=_^i}bkG0fIXux}2#ld}O$pDx46}#!;^^m$& z-`9;7@^c04dx!X^QjL#`TM7qFm)+z+frPxo3|rQ&fchFboD&t?#G;ri4Vc&hwG5#c z0YR}iTJIirmXy22g7hCbIZWg6CR6jZ0k3?o#zr>wEq_q&{UHHZcs<&m-=O z?O~wIcO8H5mU`6kJt){;1??Tm>wIxkN8lWJsUm^-T$^PbyR~5oZ|ycvkF^rwkK3k0 zdo68?9=r;f_gw9&i1Xto84Ruop7oXBW8OTiKM#BX<>di6XPr8)!!^HlXJuMhM`an1 z@R!77*)e_{^bZe?O;y#kHu7_*;T6x0G5t6fh%Z4z5hGktI#~KS@jdky zuh2^Gk~0F5oZ+fY8!F2Y%q!+(obT;aFxsuOz?B9f8zOi<9r5U>K5x0J%u}i`XBZtN z>a+ee*4bK+#;i)3E?@Y3e*hRJ7a7B8)Q`Vu8XmA_!GOI?3vC1?F#SL5y#-KQUAHFO z2?+!U5ZocSLvVL@cMH-G+$~rV+@Wy~?$$u#@CJ8xcXw%={QccqHDBKEpSknbf2XEq zYUWfm)u-9#thM*r-RGRWp7lI>yfuZT8M3*Dy?k;tEu4yM+)Afdzquh9tyrJI=|O@IqlaoKHIPW%E;X^%G0oM2TDMl`=Cb}% zPTl&#z0FL5I53dYJ*%;CTg%-}7+A%LE#XwThp*z+9kAe)PDz-8s|s?{*(TRCtP3b% z>@%4Po>1;RO($9^P;;ZC+LN57i^mqKX>my5q77H-nq#3IUzE4hu3#UbveJ=q<~`W3 zQBNjPO`A0k6<_-Fg=&qvjOKM7!YP+S#uMQ#WPWu;!kwE`594k7?nVQCJ+v}i`LoDO z=5Yj9-cqf0W=UasixiMbn9U@^HjVh z^CxF-*`rJ{r+I?IjcWS7If0DeHLyyDg7SJ1GW>ZWei1d}0U^)VG1W0*1= z+2S0(Al04B4Ca?guW&=7ByzOYy~XlEXrg`aSF*!d+7)P6z_euw?~T%ETfGr-6HS}6 za)0-vxcD;*Jn!B&rc?jj{322hN>PSZOn3dXq@|>Ik!&{e)t{nkRKUi%5L#sKr9XQ% zF?-Tn`MovsO_j{!=v!=`i{_J>7D_3YU>Xibt{ zTvAb40r4FPWCyY*Va!(e;^lWWrqm99Oy9`{_hGE)?l`nqY8?8JIh80$RyExfXzk3< z@0l*6aNMw>_?yHf+2$J-oUI<2$%&3p4+_5BOm7HFWXul;VRdjq3>F%3DQGxN$F(zT zZ3+>Z`T_D81r87%pUzJ`lEZ;&2$CrD^%y_(OVO#U+>}wD&p21Y^kwu}V~1ZFN{$he zKQzY6vxfIm{)$*h+)M^|IFK~ymz1Ab>74}E8-FO zn}B7F7PM5vG)v>u*rKARm^2lsjN&G3e#Rn1$Q`l!)LVxmP!{lLvZ!q-K%RoPNQT>n z9C#9|TotP*YOrQl@(&*tAoWnxuIUMnIh9!Iw#IfCG>WnHa3?2s6|p&9pUn3VyPm{0 z>O_6>Hvmhye=r0$>{xNb&8sQ>@OEHP?Q?$DAy-iusqU&Q*e;S>#o$zTP^Z`ykxv0d`jT^P%|pgAY|?Deywy7NNK37_q7kVDi&(qb4AXVygRL`$J9P^erP&I%tnh=EM+sv~H}Vo~w{D?%FB@;J z%MQ`}g<}>7D!uMd0aj3~=YV;C7cKfj`Krh4mm{pRS4|#o%gU$9>uQ%qdgEqmjNGQ` z%i;TG&}WffVtb3f&F%QUVz+4(nb@?z_Pn$kbXy84tof*6ItP>8DGR;M2Iv}sqGv27 zv`;`5_fq||7rCg;7x0y%aql<4EbjvhT4djXUE^JnD!@(1LC!y5&_))J0A8O`wlu3J zlyjK9Pm!?E4dcdwnYg!6lRQ(4*+7cVmk4~KWJX?EZq)n*mh=(rEHN+Q&H(T(o&E+4 zDXm`R_}^rUMzXJLR!-Wdc^}?y z^|KCjb+ZjKxuq(Uuf=4ZNwb(bgZ;6DGE;O|T$fxZ+(BCOHKSLt6(raUB&2bQNue>v z?WhFZVEnu?V;p!i%U5{dDL7OJ5l@33)1onO$`Y58XBDkbXJfHdnkq-(IDp(Rz!b=%v&z;x6-L2gFk^oBJoIkEPbs(Ey% zZ8b7RH zD96kv%l5!kKFMEf8ipT(72~%&n`*iZi3ga)E{tWy%}-s^+c^}K6uHXD=tpQ-ef*-U zmos@lq5;%V8OcE58W~<&R}4PQ>;4nEw}h27xRS%t2dkeaZaQ#yxpTK|-1{Jzb1qhv zN4p8-dNkN8-9@=-39HV-3B%q7S>Y zD~7B5sq5Xtl?-tSY7(B+8v3jv)p&KDe{jc{wY;wsyb0^%8Nl=*wBwOAdz4$^88ysN zHbb3TlI)^g7|2=2bRh^;b@(7lZ!kt~amcBjLAk&#x?_*izv4;bmI_G3<@~(;858Vx9ri$P0$D;_HzEx?$ZYzfPVjK9i%9u=bd` zLnSvXXMZQVI7xyxa%cF9D;B^3=TRwVX99YG{o4iwuuoZFO@z6ZMZsoW{RLPdh9ZEk z7hbQ`GoB0NKIe$Ix^jbKpqI!AK9T9l3aqDODR8K50P_ zy2<61$dy9qWm0OS>>>{zF6V6NU@^^)0g2?9}_9rWT)J{E}<&(eIo;zvt zSKP|*Vm}{TTqY4q=7B0Xs(f77zSr^iDs3fjI?vC}>8yD8f-ZdzStZH^LcwE8JNWgc zxz6DV-kcn^C~_sl5)gR=SsxPvC}ztVJ-0RquY}D0(Mr6=86_0HD$gSH1+~_+lB}E% z?1h_B!pjr-mU^DVUR6UTb+LkDmZxG`*CqaqN+9p$(p}o@%=-mwHMYIV!tGRTajx!g z7t?kyI-h5!I?8UUn-inrOni*1vnQri(4eW@htTNtl=72NW%HRD7SqqF7mLT@2>X5c z-5m;L-es84851_uCVTVtZla$8tcBb9x(e=Pf~W~*x1mCn6{U?mQU@h8a9+MOd708@ z`-3~pOEQ54&r|J7nnxV@w&E72I~2GKhlEydG|zYwDN1mT2jkTH9NfjtD#g#69b$>b zOVwHUAu!26xlKh1+hf5*`=I(?P@oP63dp;C3>^<3{u<4RT;-oL1ks~*`taxQ~v z-__gy^_j1V|89e+(0vxPtoIw>IH=9ovTN)zo=<0A8o5@ds#~NUJ7Sv;N|oi>vp?7@ zh_xcf2Qehq(h0I$n62pY4plsY_zkkf5D2ipNoL4(%-Q;yW9$?=TK?VMeXK1_r>DAFl6_))XV}0_ z1u07cq?f1QhF(rl64JL-Ki+| zvp0wk?;&JP)^*bTPz|dcoaCiQFs^LTh%EFCFEVqn&x|REdAHH@`Ye*x zUPzn{LS0{e%g9>tgcTN;+72@5^bqzrPKf^Es1s&yn#xlZjMeNOYfm#TjZi( zv*|!ZYl9+EEWV~#BQpOiZ*oi|G{*>^Gon!ubds8hY3>rH^rrT5){r;n5Uyd%GfRgb zhTxpOH$E3^YwUC2qOKVT-)oz^!i(J!8>N~|n4_KYr`x44E$uZ~OGjzLmwGNzkVZjV z6>3DJ-r-9qdE<+1`#k2jTdg(o;4jo`7@a24pJ=qI;919WX<^YneC*_$aD_3RGQC3Q zy}o&Sp<|x$xbk=D$DuWYn zi5go7nm^zrCjF_^~@ z#2lJ-C#$K}S-^#Cfi;FfA9H>a30}VXaEfW~BQmm-9q7u1=PXljIIYtk?V~0zja2`u8>VxADRO zGcU>h=g2QN0DpwCXXf94b=>E}R~p_0-kiJH2V>0|2d5fBi(Z9?VWYhmeDo`L-p4-G}JZ- zX7|P2GlEC4*vd+C2h*Q`I4Xm*_G6o;(LO0K9-_N#zt6(y(L% za`6G-$R|(s<8;LV$)wWMY8(_s9!~Ka@BjdiPTc>QRrvS!{|g~>h|V`|U+yY3OjP!hWvs8+JZPb#rXUn+R)J9$o|ln&(+6f z9=*IVTRJz$X>J}=gK~UnA(Z4$4qQtcgRxLM+8@@tN;fUNS4NcMcE9SJ34M67jF(?ynR@{2YrthyHCuv6RQOva z>#vU1Zxt@Z2N68JYPI|N5GkB_H6zTzSXICZ`v4j(@ydbT{mr=(d)w)5QU8@7Y$eQ9%hUHHmIWc5q>-0a-a8L4I0P}$HS^WYScPCYO=57`n(GrITd7)KEMNp$1;=gj*5&=YOsJ2Bzyc3S_2)3M`+ zVv*!Oj@h{2X37LZ=*$MH-HCUvWdis(RPD6}9(m2)KcbvpPwb?}`UXpR1xGm^F;yoS znAG|(tZZOCW<1K@!sIAk+$57_2an2AiZ#P3F|olqZZFX#*?O5z~eTti8AoO61+y?8ydAx!W3MJdio7r@1m*f+WADDBW1C zR&$;dLs!-Pp%4&7e9*Awj|3_uQbyo6BqK8(VJ4IIz?LYvPMOk zk?xV!M5P zR}1c+a}83HTqZ{pYc&MjHZa1-{$1En(^Ii$Bi(b*l2~;I2+<+3A+nA7Eh1=xl)Ba8A^$`yiIh2SsH0X zy_a(r#NFMY3H3)fd$EONMqz9+sot8NR!X%=j$Nrip54sHRUl-+Z7w#>5?PqXGeSO2 zk9wlt&;*5iMV-7wT8rymlT&tK<-^JzQZft^cyi3;bOtM+xvzQ`gYZ=3CfrNzx2-b$ zrrpM=oka0x){wI{F=f)T9lO?$wYI)hPJNHBjBM6Q7`Fl2qJ*_zy3(t*(;(~DnT}iQ zDJ}{Gk&AW*xDL&M{yz-7FwMw%(ET*2f+P)Ry%9PI+P%`Df2727zo&$! z@D6{;3oGU=dGJpnrB9WI;Ov!>>wgeLdvu}~KX+{iw|O72`uy1;fj=zAiL0Q};Ay+* zDxXe2p#6jUdE?!*-^O|NYTHdpyLO;-z>9iw_7=LZGsz!jbBYl#BN>{@i*Bub5&n&k zInY|z@lN^7=waBHp_Ag*Zvfqj@I7u6QXl|=~ zEm#sa(AR$h5>AWmx|Nqh{;*4H{i=Hl>9maQc`;k`-$5(srVFEWwWY*6G`1gxBNs8k&gOII?^5)OyUb_mKjNm@fd*r*Jz_)j^t3>1 zsTHg)KX#NvUY ziKjBQ7F{X^*Xx3&1Z-`_+eYajfx+ghe9TONi%h9CrW0(rE4AhrA|?4C*@OZ*IRi7i zzjAfnM{q5lNoEM6<+1Unl{W8Ahc6Q7)PJ)2+4#^X3(^TqkyDl!@mcm0KjLgGU`(gN zlo3P5nDU)X23{5;AnXq=$nN?H_C zu`i+b>cc79`C|%_{Tah>f^WYX|2B^w+5h*QTjGCCYAjB`rc;oIW&%v4_vh0;7~I=G zL`k2LB0e9j=|=oVBjUu<*-|>_?_MlElez<(DqV!mnI76CG? zAp*xnySC5_FVkdA&sm>nEvyr@+zojM&i;h=*Q!!lhNwTVS2UM~gC6tg%@hHYHyOf$Xmg#a2txt!?Lj+E%Kho@3 z>4`vc7Fs%es|n2qVPZ)?d;|2b5_9D2c8P${X}jil007T%UIca>{5t?CqBoq^P4`8G zM9N=qO31c^T=$g!I3m_Fk$bH1?uXDmjj4b-G|KSSk{*4Z>MEBs2APGEAK@jO{Js31 zgfIz?k+nP8GnOI~@L02$ghAgo)wG#g(A{aWig@2|alUaKfb^B*`#;S7*EWPpXLL1U zP9*ih90l>%yI-Nsr1*5!%q+gJtn}3#0Dif3u9h@B257 zc6@P<7d`jeOk`LBrO70sXI4%;5UpBDi`PYugvzJ%? zt3T1!Z~P0^o?ib3w29EixK>%TPCfJ9$^{y^Z&jUc6&W9%b$Id2j{d#q)cz~fbKS;& z2AqAB(-=sB{C0e_+mrNL8jJ<_LZhY7ThKZra_l*c764e>lKl2B*8kki6#DMRzT`5@ z5i^SYM)dRFcC7`yj>R+Yh=uJ!xo3A?#+uExUbn9B=wkuiN=BUi`&o$of2+8CLll}Z zq~P^vyy;=Fn$kNmn{h~l;^<(?u7G<*CP1<#77LzZi$QIX?XubDVIDL5k&i30(rb4g znz~+!N(Db!9*RcF&Wx~zk==o6%Yk96M(zT^#C6djy1qdr4QWo)6(#!iR5E(Xm2$Fi zFQRGUiVK_caY{LcO>BM19l(n);;!t@$ZDe!j$8Yjy z-;pzf55MM3!u#c;y~gG7pT3dKfB!5aB&h3JmhfJGaH1o_nWxPrhRUlWw$NX>;|3Zj z@d45IoXjQUSy|(&$k_Dvb+J9Phpgi3@7X1AWz31r-y^*AxUWKRE1b5gxG%BB4sKuC zCqjR`VrhTF?D!i{au_3n{}3zi&HyI3sy;&!%YO6G4LDh;!s@^v_2RgBQz?+R`y!V5 z48#7;EwX+Pp}PGmXq5CuQ1t*#SPkJ1hf&L$H3#9DcD}5Q5*gL^fm+x4)rE`J9v-F0 z-@R%7V+=+9bay6Mu1Tb)wSw@zD`K|sQak+~$@2OUhR6HTEec3p`(qGD{`8j*e4tH> z*N~X!&*SuUjzsRtpG@H;+yCeUFZ3hE4B7vw z5#z*7^dVgJ;g*VQ-;v4(c_Zo*aIQ5)pjs-J&4j^w!7|5;x{tVcOh1I@?@!b_EE)X6 zRyzp6Mbjg~9W_y^vMDNhy2IRZjPJAGl$gt=x_$Le(8 zx1`23@N2t48`w@-i^;W*Qo$QS`IKXIi9EIBC&iDZWrE{-1_DKjDV)WNl5e+4q^4Hm zqvyNDW+m?t<>VFPvUk`-(O<+!59G|!-;ybqSqi4mImHvgNPMU8U?A#j*s{d)@Wh0C zJbvwugvNnLGx9@cx%#VevCtIMK4IOL><`ww4j-sh#6kX{sWDD5uK&36<)X-+IGM83ZiW=zKF{K5 zD=GeqhOc~YR=@dnQeCl>PNc>tDhtjbq%ot+V))FNfmc@&tqm(~a-)G+o|VxMNJpbK zl&<(z!4Z=bx2qkScT29dspB|mL@`&F%i^zc&C=`rhvV9E=}!=aZVe1c#Lzj1Fxc&` z`TP}fORTFYP$88Ox3=2L(dX4>B0ZWcWZU9$!Hw{Y8q1rd#H3{W=63vCQMKmzS=4$81j1bCTJN=Ms`g)p%?w06Zpz!9*49$ASb&)P^6^Nyg2YE z8Ba=CYjYiYmwNH)))7%1Q%S3c`Lr1&M6CJg?jVdPBPn$0QrtShk=isRctF7*p=ZoO z&ejsX*Z+EyeIWxTGz*cwqj{kzvSp!eKw!GH_yt<%aB^!KVpaZ8VO9J^w`_SOFg3!9 z@@W2QTfmPzcfP-#?I8J$bIA&}DYF`-y^K-4-L1KysoRjDf^U^%b*&Bj z?5q@>EVt<;_4==Amt7t&>_l*Sd~e}&Wg?4fm?|}Y#wBK@C!8c%DulVOIzW?Tv=b9X z$Fi=qZGF#XBIN~9Q8({Wj3=Vkv!gawN>gtKPIGq|?b@k(sghO{n;L3n9yeQ;;bWSJ z><6;5O%loD$E|=i=ESQF6|!DA@YNN_0U3-g?oM0aKGPtQ031!lHLTkuKW)QbiOV0$ z^H+S0utF*@Xy}^*+RD$GIT6j!K1oY;6_DXmTfqs+J_bP8sm4`V&P&n+n(BL#mX+6L ziRB3ePKV%Ex#<1cSjf{5Wm!;|CC`_^RMsFA=L^m>9{OPWA9Q$`XH?4gC!@{^9%?m_ zSqrX-gLM`obqi-(3mVE5^EZqT6TNP#As}Ri8E(=nA?ZT_U0wS^>RH2p5?Rvzsb#P# zH%OlxB*|Y^NGV^`QP!{~-TzajCNIlQH1??EyA=UtZ3xvDIbsb!e? zIoLB?oSk*4!Kz0$Dr)cf;eGj`5;3fNr~G0rUOn=~V4#QGToGe($T-7wJ+xq9?TR$e zJ8O9R{^Yhd)A>OOv0kfr$NUa4yOE~y&WW0?QOndN=1YEnskv<>}Y$kkRkwjYw9vD(JCCYHIdcK#+< zsfFGG>!+F?52PXH2pTF~r}w|&!0{3b0zRP8$9qG{=@CZ|eWm2ogM5hMimt(~Qt+0y z{><~&%DDpRg%y>W_cPj&tLHqGz~43XUKb zuxWB$A1TSi@ZtKx@N-FtmzC5C6=G8b4xuL1nPNgs<;c?`l5@LCLo1fi7r@f>BOAG2Vy-69TxaYmWJQgcF3ga_9I<)*W+Oray9$$crI?qylfS@~ zO%p^aGs_seJJ#;7dKk@$CU&v;h9u3wq4Y_q()rIXn`F79IJ_ABzbe*pjb+HU+ji0q z!glZ}qZPkjq}zlI-y`??y+05PYdpJ}ejJT#AL<^$Kr{NKq?u>qHs-KpM)6!w!usU~ zS5CT4@$f2Ydu>C2sJL0Ccc3;(dX8SYXo2I#d|p%2*&+5OBVS1#{CRu}9jv`861rj* zCA691Wu?JwDecy{g3MIkUJ}(K1!Qm$lIk%OpQyAsu42wH9g0y#9PD979itoG*|@Md z-fMFmx=4`-Jt@Iq)RH$@Xd`?zEh*_;Yfw3k7~OXLu$534zS1x%Y_AyO)b4b-DCf2l z)sBJ6SHw;~Gv&@kU1lK&a+Z#9-kFq&h;_XYyRAIxXy9#m&!*{6Xo*F^g#+3eomp$) zV~9%^`Z;+-^VT4!ayM-zq8DTGO|a?nlUYOg&R~LbNv=nDhv=>uWg__(Y>R_}m6q~( zdDhI>2Ikv~m8{ec>M=|7z3kYDH5G+paqsdRhv#Zv+wvkMZK|z8<&9%U^p~wN#|UDd zX326gTz({s=xr>N(dQ}(3~+N@?w6I3>k^HI#MzKfw)<%OvXb-gN4YwRqnvxQ&dx%1 zQ>T@+N+_-^+7X)&ny0^GQ*(*YWS2@4rNi)px@EaewASdw$FlBu<4ybt46~Vn_r17hju7cW1s99k+rczu{cW$5rTwR)$kP9?l zaJw82D(EIxpjnQ5P}y`Zu#&G}1l48TNJ!)!!5+MKP(S?npbLAyB9!S;wa#1L+mkoT zM*~`P^Q7S=0~-`~T1eucsd8Ih#A#sjq8dEH2;(9nHp4$S6833FWO;ufT^o6O+v929 zXNNcp)6SukcOh_0%4Kd2!vQq}TE6hFTteI-DUcYKl|JkuuP!;gD99Cc!s7ei0B{hm zJc6GU%Q@#6X1nmkYVsEVKz!r#Km7VnEDaIn;|$I<7o{*UrE{HV{nSFNa6s>^HlU#> z8{hG}U5qhhACAlm9&y|m`>Neak?6hIcKrMcR)YX$7ExZVA~9p^J-sMlBaR@sglO7K z>d0YTp$ytCsYg+Da?n{(EP_-C6n+C}OP>fC;(zSot(u`SU>0m?f2gGB0u`Z?$X92{ z_XBt8%s2IQ^TVV9sL=hy7g;t=cQ%R=g}z@`$Um$LF1K=A7L5xfmiQYWA$*GQbing*(tozWK|$$~+DjuA8er2d z+`|M$L{(SulHx<=HRp(z{dg2}gnajBJ2Vd#6oHa!v;u46x!2#<|FDD>$ijCD2a|{O zb$T}O|FhkzKYdjZfD41rtptm|Og222oCob0{$=WaRw-QmA9l%!tB1e3-+xi-H$Xw? zL+erFd*$bwzMG(@Kf8|5k{q0+@qjQ{&vNu#vmME) z5rLQbKB?SvN99|%zj)G3Gw02PPZ<0QN#7Z{EyL5iJZwF5zWmt??$3e$>4|`8tKRZH zuU zwuy?V%%+nG%m&HZC5Y@CIm*oq8VRX4BXpdp=-I|5ZVy}k9mui8KOx6@r2pd}#{lFH z*#Cgw{I|CMnOu4RI0h?27T<07uHc#GQNfIYPA|H*dAc3(K-3wD&G{4WI_n^(Wo_IdjU{mqnE-+9ob`w8_gr61$kKNO<61U@6)M&t| zr7WPdW+x{r_$iWU!$%CXmBl=^rL0ALPaDN_ueLMb#Ml=_96X@JcQsnU1X;we)|-}< z#ZP^&26wv6nRv-=%2cwdxid8%sxzd zELr1)P5N!kHY515r=5wCddi|soM(r>;}rY5(zTHgN7mleBanPWPfQ` z($e=kRoAb@Fu%2-sfTaxDGi%k4u7ENs`qMAs@JEQ`4~IA(|}|;h216J8#-3zRa1{| zI!{dLyrb81sVJ&&p4Q?8_+yD#5*Ik+;0P{NPtK?d&tnxml(gKOsA0XrC^D~ie$BTb~_0J^)NbCy^P|q1e$z7 z^i+$;nOdkYnSOa zA+?&uY8!26sn|3QaYQs<|Qd8s;NaF3sYS=OtfD<7xbN3MIzWY01GJzdj>Od%gx zo?pA}+0U!0jR8szK6fCefZ-G2$JRWjx4gR@jNmo=s@5aMuP9S~eV({so((DM-vBTL zrhm8lFWvapU5211GSW+9Ea9bFOQ^2~FCv-5<+J4}}WcInwm=Yua6_sUBUC8Z>k)BwFd0>T34+R z#S0FFoT#6Evb`N${@mo8ZmoUmPv+jcP+FU8V%Vm)tRzvJEt;;Ibb@0$gHiNxRq#5U zGUIc9IyHsIY5Xr|gAIc{-ri5|5UtLz{S}DW9Sm=$RvkPWp6Jd=Zm%8M30Dy;MsahI z9grLBuO11x+`7>YvgQhu;<=B#2d2;zo=9J3h274ru6=EIMsM)_%asP|Nu0il`RMI_ z6a1ueFE5h34&S_4_9eoJ3q{^k=LD>dTph|J`eniUO<=9Lt}x|hJdz-Vhishr><{}e zExJKzB+R!eOX8|~+UQ)I{Lz<0)ieA*)E%6Bzke(~tCw$XSk{~+z^Xx>R&*2VVIlt1 zqZ5M86bmI1O;$!woK9WkrwlX6Gf9DG;a9jw9p;&go}?IRYwcI%YadmhJ67sn@=8yd z2mLCL3E>S{2KEn9<9K#$FhQ>IW+KX?vCmSr5AtnQYZZ(-*&ayXO$@xfivs!a+ ztTi-T?joUzW5ZJZkCJ#Rx3#$=C+z*V%4+1w{DZ_3Q3pwf*nRYz9U)k46kqTZCIem%a_Ff(?e~{*QL|FCUkPPg?$B_y{7WPTcP@u0(t7ei8QT(;}0MR1=Rva z4Vk?uxtX0Bp>A4uNBllxc z{Q1^ONJ8??e4AYDs@%IRYO|(MIelM&W^ujYPY)KO;~WdZw|7r`*=Yl0GMS$?xghsj zT5@>ZG_@^qH6{YDMhH5!v}o7uRC@9)wg$sj>gsydaEFpZP zZqVF5ac8}*RK9^KBn~tptbkUFv(nq|T$(>r;;MDaT7NKYI*%mPpedR$=3ch{iWepN zcu5>#42)9)o}$y?3b7o*4e$xm-vbI~=4!N3zFr)-HSgjt<4b-@f!gwJNA4IjgrsI# z9;RL^b6;Z`^DL=a3aW5F%7%YKs~0(#~|)Gev?D z+S1L-$Llc^-$+vt+GNCCrkw?`E;`B2NSj>*$05UU^F7yzzuTL<2rZPXeceKr>b6a8 z=m9S)rXX2!)}PL!o8;e3h~jjpTfjO%tUW~RR>tJCL?9Je4+olFkcwr!Av8C;&O3*y zrScOCJgDmCkFGHdZrWoAa@W*2*(EBLC1$kBVTrgY9Y_&eIW0M3!Ky7UY33;Fm$z%f?wyt6yj8Ht%8_zcFP|5a%a`l6#gi+W_iA2J zpeC|Dl-KLc+8_)QUcD>%Zn{Bbx6tLbf2HSEKt`Lq5;oFKH_nlCHrpyVt8Y&}H1Kwr zbAd~+^RVVvh6f)FxU0rjJX^&=otMiic{Pio7CWR+$B^5hx-`Yf@D|F&Us8lb!)27P z4J&g|zl1y6sGvu8y^X8i!}8!eDSfNl6q^t;w6KdA@BBU{W0$sa@|*2?W{@X{w^zyf z;oDLEelH<2Z#~)Y_W>p5?w!TV>#h2%kpdsNk~r#N&a|xH=DQEMg}h|%>>3YNZPjB+ zR#!>(GsV6$W{1zxPgCm`D-f{t91ccTJn-w@CQcod4S*HA;ZG_UEt+U&8%W&s?i4Qx zqLVDNGROS5h9-HFiyMgfT?mbwX>4R{2NN;@3BLi&!O}h(wfT9+jJvzz(Gf%3A5^T1 z>s*fDNhuE{AxM2pADnMbL5GHYP@m*Y`(>c!Qfk3Iv1&EvO;~)WT(m8Sg|R+F<DKw#YhuEoXX{<^U45;WM&9c20*r`YqYflZ zqrN67AQ+!^Q?%YQCmgd7Ske z+vbQY;i;n<&HI=8&skJadMmq9e;M$(cd=e*wn}MJQc;bk`T2;%d2mdS+_dEm&m>Xk z%@^rQV{@W2z+Yaz1Jl!Q-)k~*D*jUGv^L)x4D9qBxOCZ`A9KrEjo_Hjxjl525_CW1 z=W~Hb+EMKmD(&}cC49QLXCeKFC5Gc+szWN(W?P62lhRr-FDVZXdV&cWIc3D|JgJ-2QjI!gnA=oa^8Og@ zaIrX<>8Tjn7k60FRjT!ZK+o-3gw(+q;@)2$yP0OF_`g0*GPOAZUX2jLmV*AaEoH%Z z9$vVN*}*;D|7^d@L3q{b=Gn9d`TqPgZtSC-bsUp;7Zc%dKPdt+cA2Yr@!E>?XA^_L zUXFEOt6c!3ze9^Ia-$8k{1Xu3vd3J<(&=TAyrUnG39_VFHiRs~J&i?ScWD3eCo3)8F;@)bD-tP|eopHp;x9J{Bqxf}AZELnlkKXMI4JLN5m!GHsW*!k;Em_)~co@Be znPYq_4N6E7Oyk|VUVjC8<=eK#V6l>}Y%!5khr6>RcfUAC%4iZIzA=U%>StJ2m096* z*^B2Y^nu&mp%0HVz(HunfC+i|^e#aCi8abM90tc1i!=KM`-S*hsX6Wl7TY25R@=ZC zzq`ZzLD=`kt(`*c&1RpIHzH`RG&QqmTcuAu<{aaIx1mT$074q6O~_!|kp$P3m#>xP zPrht79V`B7cTKtI_!0RAEJyDbAH0 z&@D{S{+zZ$iR~2MuPDd35`Z@AIQ^p17AFN|FO{a{jE z19pgk9C7SsdhDS-ke-bj$4&yYdqJrAtNIY?ppwVjDX5sy2rBCNPA@^rRB-@K1=_Qt z=kucnwNQPbpw^?=>$D7X`5KL*&J>rHAxlCIcr{Gy`M0YG0PsHzTL?l$n)5{A)>qi`sfZP*Pow5y+Ojid_A0KsPP23H zCIh|zGap|O^saEIhw#!XKL=-`4kR(ah<^t#Jysp#W(IlaWE$L7A6X;ar5y(!^quvu zneLg!F^-ri4Q zwu8sdtjuo!tyGWH%m>&8(j{^!juh+%D*GDR zw~DQ8&2%M83Jvs3muN?DqtLg>F(`BX+Sr0V?~hWaFXV3=o9nkiJmbtF&8k*#k#QMM zqkwAu14_>JC17h097P9}$qOu(Q!UT5oH?p;4Ln9Z@H|6==pw}~rtBMZF;;xNM<|u6 z=5 zEn;iTIxvS9xPlL3dw!jZ9l2R083mE`?slz-mV^6#raLDs&PCM3nQCF(Fw@yFn1O8= z9LyA)x}0ix89&`OPF0rh2N8^Y;|an43hD9!y2&Rk#E++YL9TRpl04Moj5(6Fxh#hH z%OWl8T$rem)l_z5BNc^)5S`U|4)x?oM9#ZR=5{z-v!=nk%X(+Fd^3C-0R&WOOqt|H zV`{Z?3ypJ$^oB~KJz6mzcQYnTObfDl85i>Q+CfpQpDxEbTt-EDuIJ5_70p=c!@xaE}=C z@_V$~%(z+CFA|$36x^)#DNz?8QjrGF(v*}+^Vrt~ZkGmqF7oBQTu>wYY!Z z?U|hTQa6hcE+)!i8D(=Ur-aWF?~6!Afp_vGjxh46d3k@O^4LmQCPyaGw6eVTU}4ZF z%Bw5fw=z-Yv(CenH<1NZ=*bi`ESUj##fyUgm7UgPqYBs#n5Gy;Zm|l65k6N?E|v~v zv&i(;D;rT35DyD%Ho_3Sxs3@%v*o3uYF{?!*cRiRXQY_=r~7|e(l$QKtb0*@O@D_o zoEdoUgm2B%Eq~LSY>1A{DDGE~6&}J`!X%S19cC|?(0OR#YQ3BSa%($yVy+iPOZ3*X zlKfa&x<2N6KmT;B*%WKH$Lme*qrX7>*2L&qI(JqO15W+tpgpu>b#|djEyZ;@yJeS? z{&E&m?bsXJM$7_!>dhuICeUe?oUc}?qlBR3@n{IelpLo44b5JXZ3{Ins8Wob9`DqE zgMakI>`Uwzp-b$XVh5a3u}t?g-L*A_{g77Pc+QI0Y@R_sEs(T-0}+uo`KVujbtD;8 zJ665rWXyy$V~+wZswnJNO+{W5(nMp0jLAaak_z-(QCy>M4iSmza#8#syf6&9g)eS( z^5}#SdSFMDUt2~W;gbZ6VyMjyqYB@0J3=`_z4^hA3zO`@ZWSMuGT0U>u2P^<_6iWM zO=^;N`+wMb%b>WreQ%H_4haxEc!D%eaF+ycpdq+6?lg_NCAdT5PH@+5+=4X@K^ki$ zcyNahB*Qsp>b=joAMVW5Ox>Ax>RlhY)~@>Z-o5r(T}%EyvB3BX7WLupGtQHp^Oq;t z=xpNxKZg>Um;ZK2tFkw4LUHtM=LYhzqw)Qv?-cbLqOG0oxvv<^tcDK%y3O|8C@%TE znqSRL$~I0n?^j4CkBI#>=y%VdVW#klnJ;eI)q_#a-+1orV?T7B!Dt=ge{H>@oP)2#;h9zZAU&N3eOoLtyP2%F&U=+*9{aJye(vbe$$R26 ziq{x_MMZu0S*qLolq(?wH?Y%a0o%diS_ui%+pex!bz)vnkSCENG5W4 z_?P}DK!UQnVs;l{>-Af%(FO?}=k?vg0CNR$aJd~bZ-Co}fxP_S2qXaDx)=zj3y`m> zdJQd7ljbE9})@w(Zu?#mcVpLn>@l zW^1(Tf%D*cz#9UBv#g@?r#({dAF52eXmCc#5_3`}fKCsfsv(r=_2@ zrhHw+va}M~k|)mZZI7Kp;uckmb*jp8m>`6*T6T8`Gv*N}w*72V%cl%-=&s;DKV-EUWL5Lp$g zHFyqqZO~FMq`(O#A-QX5s~U0vIJ2SxB6JkqQ+qWW?`c?EMQeCXFz*XE*^heD;#znY^4VY?Eg*qCkPKYrOOv!SNE*FE z?xcFi$k;`rv_^~hsa88(Ui+?4OkMkah`6_0232ujS+R4}6=n*6{gtyDVe^=vF|5Uv^}^*1KcsXBBvL04kQsoI>K;8b^l<% zLSZ@OhaLBSFuq1>FH?SS*KA%nS+sr6Ah7zaY=fVo-Ze*V>Ds=m*qpbT{y7%o&MoT&tBu zw$U2wQc%&eHanEC1>(}Yc_WcftbMXpOW{6I*|hK-gF#L@Z#BV$Uw3)AjvsY@HRC>X5>|*6wCpP27QRV&USJ#BwKm!FH6P&P`HuwL)yGqNFBnP_Mgt zjK6GcWD`E`wQ)h(7b4mg!B_N|*u-fQ4%ln;SbY{vPM3EG7S!M&Z~REJv0KqHlp0&&LU&77=k;_VP4x8go7K->09JBdYY4j0|pIlPo zFYpbSAH;3(+t=C~MH$js`KwIJ=1biN!n>{H1c}#8$S+S%RC3CZ#+S6!%Ybb|YTDwQ z%@NbWh9xkF)^axPy@q@8Nf=Wnug>;zPZO)3UOPHWj-a!cVMYEgyVP=!iI;>E0H^;k zH)#3qB)%%GY4&#So2q_STYPu*zEe&&7@k(YA`T~`OpdSI zy)TS;2CUK%jBdym#Bn87al@q{C8BBl^vL}AFmKyr_KonI78bnIW*eEfFBIZPv(v zt%P$Sw`2(WSvEefoj)SR9O!U%lC(WNZAXFv3wfgnf@T2e@u00f6jx*E;YX-8mJ4X? zSG?VV!S2EN9VhoteEoCA^sB4kW@&4U{CL~tu!fiU7nGYR@Ab)4u!p20A!V<>S4S=*w*$Six!U@U^~9x(%TKLUKE7-fH>xbMF9)vm435IrezW-9Qgu$RCV*8UPreM6AjO#QlS@*tMhLlJYvYWuW^5&E;ii5?fI+U{|sozX86 z;@SoK%53^(SrhQWm6A}}U)By=Re2kQ30g-t1__fwTJF}u?SPOQU?cqQH{`TsFdAo7 z!C=0QV{n9Mx9zv~<(qPfc;#{@>@fHP!$$*kWr>LSS8t{P=$Lw-W^Z) z+dozd|0xCiKTS>=14D5F{LdErqZR*W%44Vp_Ii2WxF`bmXe;1mEr{aT32JRSd*S)j z*+<_K1MfO9tu-;W&TZhMdEaq^{_E`+&fCEk5AecTBcq20{NI2V{y)t;{ZGyPpNJJI zDEng5%we5@nN&mMePV4?X^@kT`$%!1TM9#$a7Ds1q~nsC+f6r6Fa`YMiCEHvvOqcO z^TLAfKtAIipM?M=;le@%y2w$ye4CHM5j9$SfY~ z(1q`MkGv=rztj;$+Id5&rp+e3_aARFw|biuE~PiwF8{$Gc|p@v*Cf7fj#T&+NOD5O z5;F@mwqnG}ZfR~S>qtW2ujnma>Oy-XvO#3#;Zt<@mYCJnc5%}5daD|usZjw<4l;+j zWhgT&$dBK$%m*$9^0UAJ+XGOI6)U8gts?*EVsM@xWU-vURJBRsa9KieC8#X;PEE+N zOX1#Udxg4ynz^X-DnhgO>n_{7>H{7fOwu>~_44gmPgb&(C^u*hw(t^LhLWb#7sMU% zFmsbbX#X#e{ds9|hGVZo z3_q!@^~#+Yll({4hB9s+Fq)FDE`h!I(}}jnEARB3H|45OI+sR1f`({WguW&It-Fr- zqpzvThM!ixsq^#BCdk(hYiP@<>8@hQ zov3ZL;kjoh$f-uGI}$;fn75;p8?Pvf6t%o+07)tUCe$21+JN7arin4_-PN*gEueyk z<4`l@tj=!ZmE*2(uljhh0hE@uh8q!AZ)3!8)gBhZGCW|7R`h$yQ9HD6TC|sBF?qbT zZ)G2O*=%p8Ao}`beI_;9bAR~~6{G3X=?l%bd@d*)uxhf=Jm%En=L|Jzu{((J#qxU5 z63-&9Ftueno>D%)^EwRn22p`c4np{?fzrZPCjF4|;5JEL!`j;^+`;-@yrx1Ij_dBVX0?F5zc$j zI!ddeMWcI0#C@_7y;8batC1QFl$8E{F zB+H`#53$!ZmtpBIH^|Kx5~OrM(%@=IO4_hwCQa#m>zmGQ2rq3)DI+dsc-BQRp4E-I zDm5QjI9O?Rr}4b1TK2XKDFQ}_(^HOCe(MS*dnY&Q&W0_K)F|KIt29lJ5|ez>C{&zn zEEG692iA=JrG6VvOiwI0So7;nzZ-J_nk`hz4 zIk`6WD{_aDLczl>MLJnQb%~4NTv$j*Qa=0X77P-HQeR4rRN`AMsZ9|Efs&8cm&8c) z1!`$iLUh?_jXv!W{SJ1c0yX29(_52_SnRG4hKI^f(M!e3hSE zXIdlDoK0`yW{y=~!&Kd#Yj-Jgvs>$wZja{xU~&P^xx48iFkw8CT?${S)?HRnGp_1O zPp!g61r~SqA{I>~K(7tr8chikIqS$(qmm1SP+p{;m#6c%S#w3mOq0K&rwq)*u2q{k zXR<2Fq0VsZK7wS&)rQ`lu>GtCTnSn`Oye6ZYPh#oBS6l#&*8xnW+>#}p#J~8$kY{$ z-AnSy2(m);FmF+_nt_Ih;LsRZmbN&*14Tf2s8q2YtLiH2cE*DT(X{!?dDTppwUiATv0!vH7!={>28gMOoW8I(Q*~>G` z_D)G?uZl4a4dM$>U3Ba#i3@rgEw2)idZPu&p`WJXb@K*( zEJ;F{c?ud}V1iM|)n^Qs}9m#tr4_frtej+gXx z-#4z{8+~b2JfQYnZTaQ9L@zf_iGb6sO|t}AKIrkCzAh85`tiWFi<=ZDp>SrK*>Mp> zbMs?QlmVVOH)o=p(IQ_;qZhR1*7f2+CBjD1PUwN65h1@f#_-Fejz(_#nToz%o6 zO{n8_`bg0f4!k#h3jp&arYJNC6Bj^Q-W(P5^nm+KR{_2+2|{#TwdYuLg& zXKO$tE;r&2#^GsnFX49jZQZbsMaNl1?N5Ht4do95`n6@#01OOHSUNWC?&Ch-y_pqp zx?3Y8vVyl1EOQ=ZF}42mR(7zq!$k1V zU#zg@R$R7R{N}cV2sKQ4Ln3dYbqWfdx(F<)h}k)x+0ar2e}ZxJDZJ?ArcqPEc+^gG z7}I+8TFxs=PxtD_mWB~zt9^*Ta~WC1rpz(vo5(adj|c4&S-AeRuxbrO3XS4>9K$; z`u4}L^fD(e1%tSW)DRypL?u6)*w6U^uE7+I%8~KoguJ430TzRwY4OJxuRWD^K65?$E#!RdA5#Z(ohL8Mef zdsh8)LU>VfDYNqD(~C1mAKCPdQ@rTzKNtmqiz!?UWJhZSlO<$y=?NBlfZqv9U5!H? zWm@l|J!0b`dD4`VP8W3CuQm2283F1T&wC+5`H{=5ZK~ORt%{{db%e&{1+48_Uj&Xlozk2^_j$+-7J(Y? z+oVw5tn?aXo_bik(INBdKZQ*#;A!AT893hYt6f9JMsG1*x7YqwYF}VE3*YaUv(?Mo zFu0lUiJ539TV#$@+{sGmpMTb1Ls0>@)@LIZiPxNKD#lHti_vWh?U{M`dg%{Fjqk7+ z?y0!5-LL5F;ia_V!h@C`(0-*_VOhFvyM1(l%+LYZUdc-;WaHY_&PLBLb2JJ%-zwKP z6={JgRYDOiW^RojFfc+U&yj8GUox@RNLD0@ucUiL;rVWC5vvD0{fNeAx@mp6)-UEX zDbMCdC>7Rx@!>irWAUWWA}yqYNtCbsj%KIXxWll z2+Y53Pxq_1-fH%;`eK&+S9Dv`{wbD?=opm$Wyl`7WeTdeg7QPth1o=w?mmd)C%mE$ z++6z7S<4}FkjR+w;b9cgP6pgxnGY>THk9_-zC!_$rZJ+hpYo<)PTMrhwUYflA6hlI z%AiGPQ`T`c_16b!NM!D8q>epDY#Tm(dvLXEe41jpusMy=I;7eIN!42#Ocp}Pg(`(h zFWJiOXKsiH(O9`W3!(=BY&+}ed6qz~utXi`4uMgg?KcdK_tN@TE8Ifi=i~JpE5E&A zx{YD48V+WT|6oW>z9;$>v1pzj?MFT4|EqHk&3fZ5txNQz>?|oK}VT zCPc0N>p$m({|{J&@@}UXFjHjT8MrHt)+ah2P(EpPUCSLjLT$U;qIG1&CXBqJ#gr^M z$SZFi2b76^KT29~T-)r=e1OUj@M!(-X{rA)$^F-r|JP7^m_9#4*Sm*Dl^)~}^TGo0 zuP1Q(gHzJ80v|9c1PVIdL^jVOW>ze;tD?ujnJ(r1UepZ@>;f2%vO~YB{1^gqhD5s?GZ{hEHM)ZGLR2`}Q76f; zIF)ib$|mz*Vm?q1Q6$vZWqk2gd2K9sIbAEsr)~q>ShRVh0UZVR-%x5r>3qp5*QBCX zSaOx`LR^tvAZOzI#S1ELL^IVD(2J`U8;fwda%(0CBH7|EMsNPIZIX+az9p|p54#=D z<`b0mCcl(l&6H-wB+m;$fy6CxbTL>efr-BquO(HwcLn-MdX*4j;x0WVqcQg&$+y1w zj6{A&qS|Y5GBc#GVO}>RA-5F2^}*G7=FpU8)9=?S=3~;~eYNklg0Ez`ZLZi|C{aVBWE)VS3g@W`@ibg5)*3rgBtS5--dV}awKMYLD9lCwNAN;{6tiF zA|_hVDPtNe<~io&7xgXU9~$fZwc~8vquSK%Y$uDDb&8qhnG3EVY{?cg0)^d&HHu|0 zr;l2r&x`GAy-s1^z)8LPs&4A)9P$P|Mz$2(TDufYvNTk78ZEVNonA%Efm4FRkaUBl zs_HO(dKf$cEHQS4E)m)Ie++Rj5@i28jKY7o0wXV=>0sI-Aj?I~}$%*o}h zPp%GvHh5|dZ6W4oS+mDGROB4c0$v?5O?_-_bEgepyJ0DdRx|EB^b^}tdNc58-G*HF z=*gPAL?!WInoMSmymtNpc6Q&uVnsp_K zP@+Bd>J-aL8@E;>=)|LYou`u$L)~2O76hD^>9AUT3XCwHz+Gk5>41AL)ZQF|7B2_O z-(9JNEfJNn-moj>Rum6x%6Wr#f+WnGHH>~$WN*HbE7AZZLluH<3gBN_fA^S8yW_MK z9WWEZ3U?ZZ&h64$-{!lfRkT4eoT|dX+)fe#7ALP#N0;IH!8+vy$sZMsb~ZkUv+nCY zTCd;DOdp9=9m{M>_RmwM*Pi$4RFzpW;eR56cHh&gPoAHNmwJfQq!JczL;=6f}m=0=`tfsJP>6DzmfE(vCt8WY3l zE_{|OKw}S_UNiP-pl@_|04`PQ!A`4@)OODU+sbt&WIH{0v&H| z)dywNI5pHGispIiboKP8kWEd<`i~J+uLdt9q@#R3zD!X?b`kJNCkN9Ux_}F1N~>FT zld?60_ExK}AB!^?f-fFhKn}c{-%^iP6QXrRQd2T3P7ZUCXx?{gBSXuzo`oO{4pSu- z-1qE*FSa#(caji%ZgZ;^Ntw&>XjNN3$qy`_mX8{#T0Wz$Xb+h)u0H9#3a(H$%`g3f z;S8Lg8^q6H(z=8ww(H^HGYz!s3{??gprRF~3p<($F36WMyPEUKi#&2htgxA$@?xsl z???2p|6Ea=v6V`+#|nUMCdgmFCp0y!xBVQD^yW+KKJ~_n>pTo7Y6WfM1~^tbfo~sV zh$=m6i8ssLXY#VFKHoykl$& z;ZaCkhj?Pk#fP<}_;RdhuI`yB#xsxee&#^ zE)ypEJ97T?7k8Ka)3Oo8A(cAn6)asbQmCTs1uZkmZ%B}MB`}$aM*dTDO}7|us-j3! zkwVmJb7DjlAh|C3`SG4W0t#C0_Jf49S$e=`ray3AZ?(;ZhpM@1cc+l;M&jsgKS33_ zwY&nv+tQ;P9_^sdl^x5j;xrL)sHMi7BuU=26|1`6?;!4F@5iPvGTBI#iq7<%xnj1M z{Yp%8U1bQd+bQ2U<0JvO+eo{bEP+%HxR7BwYk;f7o=bUSw_wh9)!@CmL_ba!>xDr* zPnCjQ3icU2@mP_}tSK)O&imB~a<0C=Do!Wu>YsaBwO4c>X^I&wb&bxuUbY~bZ2WCU z4Kf`@dnZ2q7Jb+|RJtFsxe}unRt;=Vu_=pdnx3i$qtW-c;E(hC0bY#>=Q{ID@>=^vPQH zD@2{~v}d>{w86Thra9x48Zp1E< zsZb5@Y=q=3oT~Xs#!^=Bk)LXNg&cErVYsQ6)8>tR_<$-MR8o>md(p?qfcL75g@KK3 zn58a8h5p5fi=w0{wQs}aqB6FC7AiI(1Fa2Zp_-jTb0@W0>RFI$&hKADH&^qQOD-_G z^P#C|D1H4Ot?2Rh>@F_)?v6ed8Ej~gYE*7pnyI~Y~MIt!l@*WaI=~`SjSL;f5LnkfBu%BkyqT%$z=dQKP@HNx# zap?m~zCDp8cbFT{MyV#IT+MvDl8b+iZZJH8Fv~H`nHJY6+BeB~`9u3V%3KcAv{x{5 z3B^ZgLj%L}%U=@|k)2NDDQ)Hx841OQL8$Y)(!OZP3VzJIs&lJp21~{pEc{I*RAKRL z{z25u^t4D8w2|OdThwDWxbj^boC3FGI@7mBN?*v;aQ)&6U@%+VF6Vy#+tFy_nN>1& z#P51H9m|u9_#^G91+`DAh(O<*q%#+Zu-&J!uC9Pl5_+a^LJD4~N3M)nvI2chv*cIi zps|Gu0`~XvTw%)>pn2uQnZ`S}T?-ucE?rfpT>dB^U}h0%oTs6M`C}u~N9&c&6_mV0 z(NAc$1o?T6;LLS!z_+I$N7A+#T$d2@!KR$5C^BdEwRO>&$%<}bO~R|f)%CQpj4LR< zdKwT`vrT{GG3JOx(XsyEwzkj~vU}+c zTr_H_lo6C^62}4>YP1{LTY#R z6Kd;$swp?*QH<~C$xNdfD1GIZzE`SzT-~VWO@|biJ3$Iekp$Qy{mnurs;mY@iUrNy z{I?o8s+yyn4ULcAt+|Vd^UqNRyPz`i4NuBr$$ALazx_()RUNr4qQJWiQl_6`obIRov9EZX)p2x-I5-j_`Gb+<)I$=L+xiECP1t)Z z_z%XWeof!nF|!|Y#j($OIFHDT!L6tBsvdQH8`n(0ZL77Ruu&8 z)mMpW_uzzfV;zqET7P_Ox4lpvoN<%2^4i8fgtNL<4+GbMMydZM(tm!-yZYXM89-FE3zgt zZYK>T5vPX`H$oJ86H+65eRdOCtp=yUeqD#VPuicw!!pfSdGa@-AmnTV+1^`X-NSt> zx6EX_7SH-V&LMnrtW4#qAvS~~ZNVS2`u3Ym#I_(h>DAwK-WKYmX-+cJUACxa_O?PV zc`bhpl@?BR!X}WZCAjlQ8nwt6P1Ao1_J$ts$c=W|kh(h>zlWSL9~G5TCOe3y)7 zDzy~JU@taWwGl6Z=;P6rAi702e(AiwMr}At3Yrbl#%S>OUk~Nd=$vzH(66b!)c$6M zU0zus86(soqLW3#JJ=q2l-6#g`du>>@tQk3+e#g@v7C z`>n|o2x$9Lh^EEK)YyPAXO{K29KZ4Rl)nDK=)>VFsARaOGczqr!&k&~`U)~1n0hDY zN7r{vd?&t7)o4&-VSXs^aHodaz0Nk}Q6M0-jVN#j}<~ zU$#fxqPOvzCg}hg$Di@QCs-|GYWjySY8}w+gk?GSxV_dei$YXy+;k%6yI-+PNrkKle2ZOA`{>fg$LXMTmwKVTN;xh69@2?so5FtSiU^8)0s zBWFE`e8NY@YG~4j|MdCui0q!*O${^i<0$I|$~rSGX1c1EXIVn}GcQLXVDehn-0w)? z+Iv&Nf{L3-Nq5Z1XhR$#qWB) zwV683ctsM8@)_KDc3IYCxKnr-+#RG3NFQK_4duzl6~C)_ut#}Y*Nsj^LP7eA$Mc2u zA1c$}DeP6bR#je)70NzaL-G(uFO-$6vb3ZbqryQ2m&6PzB~`P7Q?8=1riIi>hoWat zX;)hZX!ZBaHg8$IHaLBYvq9{)45HZ5AQv)187og|#2F=VaRXcHL6(|YK3B&KtV7Jy z@Un2Wei9RO18K(Dw0^1q4RW^FHQE#Rxi)))fNE%YmDvsC*1jdV9`+{@K=sd)aqFI3 zDou6nUuA^M1i5<6T#lMPIH78@PJK_M;X1LAX=D*W7{1=(qc--thaGF+kGTT3g*^$k zxvMjjri~7gJuu<#}7g+USy$yO~(_X%oqj<1RFnO17~^-P_@)9eisxb9*Iz42vY2pywX zozoPJdI}rA4pozA?k|iOT+%>D zzieTD!bFft}B&__cw5HJd41$}cRZl6hab`2 z)v1k7Kx>B+kkXg?mQXbn%`F-xI?-{e?M;Qwrgt^45pQ9Ojr9j<(**Wz09*RZtVY4C z4Ci?|BNwR5UbPD|iNqvQ?R}uU2^BH;YE^E>&^`pCq1C2g`$~R z@she(G>gFz7ZhFgo9WFgfZ3`s3S1`E1AGPm=;p;sU)6W$+sh{w6{Q9uIBee)l%1X* zxYQ-J+{E{MQ`(r1x7uXD8=_~;TbgeTRW)wIdpYkM6mRKJrU9{lyw7wq5C zQ4oReuTw7-cQ2BS`Ft#NvZ#d2<$H>5ri(KG>h?`{Kzo}@IsN*R%T~js7V0Q1yJBig zYxuT_lj=q%e080?sa<)}Xf11oWjy@NXpsT!3c4Wgm8vq`7+JW0kX6CGU)jCkg5^lQe1L2T}w+eEd0Sl`=r2InxpFx$H!Kgq1Q3^AD>&Zy2{rD zv%{>Rvf6L8rU_XJ@0XNOUJdKQE>-e-O#^g?M7BhqOG$6baP|9H4~_GK$qOO}Qfx~i zMiRkw+CbjKu7*I5GeF)=bOwpkv|W@Nc_rK{yiQ?I(pnc86I8_+m}zIKauXIYZ1JFU zLc+q6A#f`{)**PD;8ul|t}R?a(MdW7UKH-_h1ND7j1F5@mebcnKIum?({4Lg1Bz$| zs;`=p#O2pnl|q_p2=k1aMkuz1gqb(AY}k2CquIS1aZsY*FJ^>V9EF0K%{p1Pl^o?r zTMaR;gZ3+5ygEKJ`N~?Gh6zmd6pJB{=|ghPEtXezwWY+)Lqc;E`xP2wNJ;-%+l@5p zqdIR_3T@Dwac3>Q3ccfsT&XHkSdnmD#Wn`k zkiDA)9LQMqigkvouO-2rk}67fOdSks&ve^ugX+Ie!c!pQ>nY)9pd~So&PvY93cgce zR!8*+%>;Q@#v_8lnVSxgiDUHa-?4(7aH5)eeegp&xRCHVxSLVt0N1s7dgN=>#4 z4uKBnMM2KwdoMA=yzFH76E$ls*1?alL1_#6T0;`A|6t%u(y~iBsW25i*D@{t#qiNg zWshtS^MN1lZO=HRp=PjQgTC#2(VV0>b$>laKb^!bYWsASBKrGyGbbK6WP@QNHI2}~ zHaZ8mb%F180iJi72ET+Ksvv|6nl;I_cLuS&eq&dfCADTn;8Z#!XPW}j!&wqdvL%|N zVsI*QQ7SxyH&%N3NaP{~S5!-rsb!4oH`mG-oq^sS*11b9#FO?khQzRML9|hsse`Hj ztU%NC`X{RVP$`AB?IT*S?8@3i{A?{7Ux7#k)gbG$f|>8k%V{Gr&EX!Er5HiWHF1_SQ_mc?O@w+ zOTrMIOoY>`@BmH;;BX#?7QkT&lhu@3)ObhcQ-k>fLt;Lz5N;HP>D0TVPEz4$HZ>48 z1#{fpT2S5Q>Z%0EGU4{gQzy|#Ay|SAC#stCRNu1xHgRoODRcThU!uTN7ps<${gIgE zKxvo_?8~Mpmz+F#3lAqVS&V!}r;U>zu!PR4Q;u<_pqci{ZZ+s5x3IM#Ix||6X(#0> znyEYRRu6_wk%$8>^7fb)sF>-aq!hGgv2lr#V#=~6cipz%9~PJj%=X_avy|i-*-oOW zG^J+CrshM#laeZ=+oFfl-ux<7WutmsA^@~hu?3V8G1Sa_Dqte+BBay%6EP%P0jL|_-Nc#^zWH6G3!ceZ>=p|b?oJ!yaygri z83`@zLr;|_F=;47;!mUzA2RDVW(|=k$+tqI;89Ix6F`%{%4lfX&KpuD;@>3(Ntoxk z6YO?HBP*Mv2o36mTxq}mBvX9D${j3LA)5Z)d&j)dsJI0OlnZc9Fs=P->+UFAWUbYd ze%;i(<+DtG6XK_DT%x*^;^Ef1X7+p|p;0O=5%Jc%xLT~p@MUdugyx9+#XO;d+3N!U zPHuG6I^fXpt0_GM-0ZbbqN2A{NIpnk`P22lPL&z2_GI2zrJVa=)LcY$wfc1Ez|Dpv zJ3N!Jo5qCeXFpw!IY-NU@3WsCl-S?KItB1o*^=&3(7(g*h~)tkrW8QzU=svz9XvP+?aq|i9Z`Anw}+OG2N z&J{AzVf+>M>eIv0^51Af{})+Av3_5DI+9llh-2pDkntAf;*FRZol-_YmwH3+^sM0B zU0JqFvjI5{mxgHWFY+Q zK_HG}c?RTUqMGxm?!JSHM;$zOfpSF0I-8=H9S z10A#5gU}P3GQ}YyAyg8X3!yr$FYS7%!7M=7#ehQ1i}2$`2m74Fm5~ z*uT**^f-2Pji9zv9=>Gz1p z-|9j!HpL9rhOh@S(tnzV{IAA6bpQVkdajD(ILLp{=hGhy`=y-ui%*OGe;+HaPf*2~ zLM*8x2q7}#rNYVdi)zAGSD_4yO}Trwt__Ru6s!Ang=o7-4_q;SkxKz`;G_=<9D z$)r{m~{KIma_J|&|@QX?KcDABQQfiyOOm2WM1`!TWbQFA-(GGcPZ*DUox ziNSA=&k6jH91I#DIrCEgF1E^}@nY&OL`x-$S+Mz#bRaG(I@u z|1HVTC`8`f z=i?K#THP4RUb978Qjg71xNF`sa8QDJHn;Xbr7g(JDc?0gOjU!6IUBUdD3L>oq?L2g zm^O^}HQqW+I)!pT*uJON$M2{sf^VJJcnX)~8fU9Ie!7qwUnNOaz<80;zhUwm+Syi`$tFl>WoJ_xMX z`0rM*47!Vb4}Hx>a_3!guh-w6aBC-aIi&V)!GYhlr(gbXBcDvJzR_o|`wMxa_6I}5 z*g&EAGDzTyRp;K4?CG-Te$Kk}RfB5A--D_C_TyJw<8b&Fa(^?|NTKKdf|j z#gk8t%>H1IE4SArF8?k1KR4B}WBLyUN?R-b&^H(7t?v8ZS1PxSvEB^77JLs9i~jyz zo_`rHA^En?U&v;7*#tIw9DP}QU)J50;(YMJ@zI3;Y)kCJxy-yca_R_D$p80P5ggwS z9nX#1nQZ=G)OYW_rTCARD;Y){dEY+m&$hlic+Z#PZO+v8_u#G{&bv>Kg|T-OwC<`% zbTHO^A2NGoHP!TsHxd*d5QZ0r`PcSTm&zxI8#EK>@4>i#@1d4~=i~>V69i-v~&jPki9;-Lcu9*(mbD$+RqP`xKxNF;hvNm}k5p9B;`)uW3JBrHL zCU@nO+G6+7CWr_tRlq6*PwT6paBPo2uFDl69C-K0OQ zX@31yE^){}(gUubChwS-5H1;AD#wej890~s^()3pJR(NE?a#|XZTe^E5BK+0?>iVj zezT`EVD~)u>hI4(vO=`oO1tStyN14ZiDOGyyx8~8_E@JLiTjLUY#?jLuPZ5S2WlD; z#njS0&0@2b=N*iZqS|6(WwqEP0djp%0Q;& z=m!!{-zO6tfJD%z&Px#{0osgU|fz8}b= z$AdkkXsLKmu*anp&)&)5Q-^s>$g-D<4?P|j-)^xSO`?;J?)QZ`;o=uvUs1mfTzaxE z8{s!m-m$+aA^N1lMe=0Te5=^#!JJ3xWBA`uR^f#e?Gg2l`)uvutXeYLRbxUL>+QH` zJrW9xzmz4vKbYDHlx+LK>MHK#8}sBs|GLTFK4~NNrby%sD#@v2l&w#7Vp`FSW^T`h z)^9a`I3!0j&I$MVGO+^HRz42M(-Vl)TQHq3a=#=O*tVD7*lC1D)_)g?`HXQffrl4| z#~JsjLQh7rhr^nLgkn^L1{LJ}gurGr!z}U$5a_l8h?naBRRG{TiZ%J$^99ilX}e*i z<+EJ>Yb{nzk0J8T)2YU`pN97u!>#e$<~LMpS#F*Ykg%SYGuX zisd?;e^)Gj<=C_zpSUDl&vqOEh#FPXH(-TfmBEOCOmfV<1^G`2r6tmM)o2?^-|R4| z;YqC1aXRU5KYAk_v(e1ChOlNZ>lkqxl`)HV+{RzPmXWdmt}r&F;iVBz&6)IW4cWXB zbk3&F;8+)DT7!fu@Z}>KGwJ9?=?aftdr$JxMLi(g{ZwGztPCGr_kgx!;1bfjI=ztH zJ&S{C4X!fPvV=^6Czs2j1eUF;oF^vv6@w?`&mcRM>on?ukR0vF zs=5W&=XVWeHLFZ%c#Cu`Jp+2SKqkP4|5CV1pbkwfQPP7&aX6pp&S6TB|n3 zkqhfONy1Xx7C_?0yKA#MXPQ16mJFjt`z${rz zx<8`{8g5Sh$&;4kXmlwYg0rgBDy2(vTb@}2enrOnS(!!XStT2zotC*Ho(n!b(1z0I zLb|$6&@qN9y(tP*Qp_<({gM){=R>}N=2lgFppk% zVhfFv%o1LN#^U*Ma>?-wxWeDePo#4X0i2h^@;v#7QRKs>JMIKU`NIf0a2ZoCWmTn7 zXhgjln+g;dPnngRYivzxkO^d8{)NU@IrNQc;HaZKP&AtR-5Sc&$Tk7;OPC)BlfwoB zCZW-?g(%y^O7F)4lXkW^0QC1gyxJtw;g&@Gp#dNZv3oow9`V?WP74!2-&~#am6_hm zM;q8L;>KhWs%vdgdZ#&?k>uO3!D=YrM2$4ADmaioe-LlAv^a^fpXQt=YND-}AbAse zG~t>~PhP~PC~!F<^>`tW>9?r`t4<`s&9f;L--I^5V$XMvpI-aj79LYk(YZd*W1hql zglZN_w6Wdrb&`**a*63{RW$_~L_!bSE%QpBvS70gfr)p9NawREO0%LWHnm@U{} z7;KAM=I1iI91NCv?D%9=n&Foo&W#?r79{Upkd@8tL?=mW_s+u%CxP$*^UseJ>_lMtwD8aATs#ytNKut zLDJj+p$O^x-?itJ0>e;C;2Y`yF;sG8%TK`#onr*!HAiDn^D( z^Y`grw(7l3BdVbMnRwM06`#dm;5-pP7*@rwBO|XNUsmCiEh1SMF%045{W)Oz){?5S zOe0VAKs3lnep5Pe{ZuDnv?t6lWo=HvVY8kVI%;xWZ8sv6|7hb(&uqc@!O08Teo;7Nl?h~`th7V3BB=p)^jK9%Z?5_o<_?hKB zgRGjx-Wv*fw(t>YKIE=EL0^Je2e=d3OhT(l2{B)`Hat731UV*^boI*VsDb*Oju=M- z++fRi{IUS8cgiu#jY{^mfbJB^G8cu|xKV_Y<80$r(uRp{j4{gHX7I#01zb-OSwQve@l=Ir|< zK4KP_VwIiJc%*_k4S}3w726<4$`$gC(HQ7yqZSUt*HzW$77gRl>>=C62nL&GnsBf! zNfJ3b33)WU7g)#Un`YRqSxh0`NURdJmXudbZ2VpnFJ-X?qBHZ<^Kcl$XVE(mq?F~= zs6UAAo$O9bGQeA!@Ki{=X%+FY<<{ipR|yM+B^qhv=SF!eHk)r2UbTk)Z|uEgRGVG5HcGvvg%*lyf#A|YAUL$R zdvGak!QG!0D-OZENN^1Vmj{R776{rBT#H+wU-sVPJKyuZW1M~doge4y{8-5xBU$&l z=UOB8T650py6$K5H+|UoXv#9@`2cc1)0xYLb@P?V!EhZtRTgU72l*%bn$sKJf=w0< zh!<>!(EibUhz*hTT1snI#2O<-TF1n)Pwpn~O~;nZDZ;x}Vo{io!>ZI^>O11LN>q-$X`|>}^R&vf3=zbwvQfvrTCZHDx0+JsoI@K;uDmpe5aQIU6MGIZHB8BHF%akc(p^9vB zAClp+D(^!4wxlD$#WksZQHIWOwry_ZVn6mD3hFC_gQ+fW`AO;_gAAMSa10ID_Tj1}g7 z3uf3In2RN zD{yI=Qh^7waFbvvYoNzbHjLUz2S5usq8Zn+Wl{pLC5$abOm7kWi8W{11H7qbpD0N;a))h@H2)YPbwG0d2VbSSWi%X`zgUUzQp+UM%bX-08gxDleFBl zqGeWQIBqkOfhYe^-CJ`@Q_uw|F;}aVN|}~km9$ne2x&eHsHNTz#+CBKAcWW*#nvqp zlvvpKY8s3p!_!^tr&|&}f#X(cMtRbdSP>&*QoN#c8s9St6=G93@)djy&g-(Rgf*!` z$|-pn2@Mix>@Z@(4mdbgk4*mUzYpi%(3eY994m(ub4Dj88xplhFekUZO1#|8yfu?8 z{Ror_Iz=$95d0Ox#6(r=xly*9i=l^yjJKIqduS)`CqC>LFmGG3J_^_`wvz0H@$@w4 z@J%fG%zTfrb3n8y>b;ARf%2%Dd|tSrO&I7omn9vx9Pl+X{Co(1LBLS@B2ba&>KqYV zi`EQNhRr2VD>uN>-=*a9(R6eB{~(^4GUVE-+L@u4bEw&p`Yp^Er&zs|(I*n{89d|q z_IOZ^X|(%Wt&lAEVRguu#h95z-jtHS=R{gF> zJ~pcG{2`m26H7|f0T-npkyrkFAz-qOt6C_|&#)NK2pJJ*~xPrbdw)1RZ4}Vx1 zt4BmAz=gP+(cwz@XBU3=pP+?Q`d^xCKgM#@ENHXR1$Dao!nWmVxNjpKCmy}pGDw2P zBw8F>b1EKqzLyKsKbYU%cE}x(nM+G6r5~0Zn3p&6M;At@=~dUgQ98crBE0~HP8=Q| zT_RLWP9u7keDx#R&nq^o<|hs|?WYs2ZHkDLij1Q2VNibP=hE6`e(zb8K0>v0u7Lei zu?tt=X=-(>?xN~{mEph9>bOua%dF`I z;pWSBLA65E!s!Ags>MQF_eL_``9oAfOIh0k~*GQWW zM^XF^0@KX>X4EAMvVfjv#fA-UY!2!!Dp%mniA9c+^20hTEMPU~uf5$79MF(41@{@c zNHenLu~&u|0SZOI?%ZBx8ABhr#{R>!%O3JUb8MD-YEg&ff@C?{in&+)Of;Ht-;*OL zomGTlQKK+6!;Tkn12=cg6O>HFz!l1YeT*e7pvdLtt2CFk2Z>9X^%p|AUjXS|PS^-BS}|LvkMZJ8eMZk?Q8v+E<`c zijPH+^~-kN%R0*I^A>36rcy8O#emu|CF+F{ zQf8ig!c4pkM;&gDQg7Yj-a6_Y(1UUhl=V?f4fu@9^Y})3_e)PH-aU1gBTMD^w6RY>o z!`3tvb$*o*&xAwL9xeD6?kq2(kg*_A@-er0pa`AXSy-lEtBiedI(5j6{`Ln}c85ee zPbnQW!UnP zcCw7tW`%24OF4@+LDA5UqV6UZ4Kikpl%zcyiOU_0OwsHgL43Pyf1@H=b)L^%^eF=h z8ble*FB>6%g#AzQGSADGD%vDxqY?qtF3TXbl>xVql;5A)yPx_D_1%T`jpnQPxGlRU%MY}Z09W7U!#MXyw{_{PfdUDD>}^sB=I68KrQhW4~j zcw8Urn~JH}hxkD;c~Ud}IfZd%LYx43yNmWZzV6Hp7wj2!1+o8c7|VZ8t`OF_6c3He z^>}oCcK+1qF1+EH<=yPE1;Y849En>QHL(ZjdakZd8_Yj5nu;2YWhAowgYyT6pB}3X zp5-aFVvz+M`_2G(zbX%{gG zV9V?_xhAd`%UOu>nQ7swWu5!i)s!Wfx7IsG1`Rh>vrG+(qNaQYk2gxQ`K4TrKJ3Vh z5%U@9Sd$AT3#QFeFqId@5XDN{X&ynw1Uz%Q?b`srG%v35nxu+X>Sk!_F752)K^)KlZGa+LtEo;~u zW7wCb=16xmBbji9^EBfhoQF6Z)#c6NFn&b`FS_yr!i%ebN{#F`bq)>|O7eDN<3__| z0H7{aJDnnv?I7Sr!+O}$86+qWajgOPIih5MipkanK+AC&pC{FC?BnCZMbDzveBEvE%YYV| zr_=R}D_!>6&&o3w4IqW~7CG{ua0{qi1%_Z$=abJfa#jksy!)#i_ZoP>+}P3bZK-!> zsYB+t&!X7Ra|ebGjCFdoPb}+7x)h}|C^AhxJ;!zD`#Q?9sXb~M_RS7OPktLL5SS2~ z@P@vu7>sLyMJ}XX=7cPYLkF{j~Z;IfTJkhUuPp~36 zh4blizCCpf^0H5yl3ztyYd+!n2*NF%8IRDhoyXnqRE$>vRGhqGpo^pHc7%MC;@DKy znzZurWPe7Jzjv&pB~-`*g-%7AQ!->VxgQhZT5@+vh`HBw6h^+UoSr|we*;1l+v;;> zkJ4;(7_B5!Ze%J6Yd^?3CystN9csNy4(EBDSp%%v!mZM3RibZ&oH}_Q7txl|5>-&r z|Fl?V$N#8C{_AF#f%Tv=*~nu=)l9{{hyY)Q-p+H6mFZTZnj+z?TC}b@g=gCG{`KEa zlK%!L572=chSqf$-Nkwq@8r!Fel1j2xPw6kVGH)2`&JhLL+n-Nm2(b=RtJ4#qD3S^ zz*v6SKb{xO&q+AUqX$g<$$vL-Qx>m}H|H24w}V7CXVCAo?jw2z*Vq&3BgTx^addmE9E?1Q_Q;wcx9-whaN9JB zU7p03R1qyXbx1_Wmv0tdUsN5OMQ3I9Qa0L*w(NNcf{`H%+G9G3?{IBS%2dq{0y&Px z#P*jjTe+-%Zs}2L7TQog7#*D!jrff6+78fZ_{?3yQ3B$w1hKt5$bPS1I?g4PT^AJ+ zVI<{u=&J6bu+D1l{N~q_q>M}s5jWj^CEazc)ZD}#t;krK5d}64mV4;|w^eFkL0n4| zchZnc)&c=U|D`#0u*?@rGR%f?f)+&sV3fENzR{F0QjJb#qsu|$?; z3XHdBectGIi#z>;^CnH@gX_z36E0TG)MZ(xx$$@QsL)+PTt!56uK-7@OL^NiOf z^!eX@CJi%~nxz7UMqEFmx$&YUIj3&?_&;=1HA-&^e$tDZ=rZ$PitSps`pwx_nQxj` zOhAEUNn(51Yf<;OnI zUu-zhjFUxzBTZlHt8-(iGsKZh1-g=8K<$gEp@%J5ImUe14NH6Xi zT1ck?HJ@j|hZwWg?kF=drI{;6=P`rr>e7ZD-%ckbI?FSVzs<_Iz%qkEvHDAo-3EA9 zo~TGl+cRtNHmmPB+U)}vE3*59icCl27-t%iKPqVbY*-k23)3NU6V*d~{Hb42hS zg~+KwpH&V?S3?~9K&Zew*;! z>W(_sgo0L%Oz$)1b6z^aZ;e)5Sj@(^sK~t)Hh2 zl|f6XidiEe7=gjUAaL%+gLUiEW#A?fDjYCy(1a>ncMu9~*z<;5EIIUMkSt6Fd`!-> zQ742Jmc+0re2d1uz74ulb}rlA(e%=q_ODnTNR)e|X6R#U6tntHk{d9N??%}rrYs6M znQXC@irAELukXKcXwdjW>I;EcqT$f^NS~0g6zcvq=e{vQ&AJZe(1j8xRz-bG815A? z)XKdWeeqdUWSUyrAYxqr$ykJ2%?3jinWYQ9h<42Y4PicKTPy<{7P}HFk2;y|#FM~> z*_PkBfNiQguDBJG(JOOHW$lEx^hHc>cf2u03hD7ml$pyrLJ%Rj#YXSyK_RKXw%%X% zblztzi2;=Zc*U-;BCFGx;r+JNMc?duJFHpMec(scfk9p86~LcF)$2J&s){8P(SV=Uc9@SYff!oB?F>1dqQf828mFV6q1d%_8? zv+|@jhdbJ@|KL1B`O_!=P8{9Jq#60oe%x&yjG6qyAp!pwH$LO3phVPYYJlJA{p*S= zY4&U8%yE!t`hWJbJ@F{3^Pe91=fJ5HH(f(XGr4Xqu`{6eD^lk~l|KjK2gLSMIr;sW zV9-B3@{eg1NFCY0eGf7^Kf+Ex-T%zvKbQG`KaT-V{{=Q1cL3JXlP1xVEQ1#dm6er_ z0 zzdSjB`5)NFrF`hg`?VGPy_0J}XAISJZT^ZWH5yCumXS5le8So%nd;f{*s}^f{_c6V zf`(BSsS_u=r7%5^ouoV&pqux4#V?e{@PaCh3;1Ta5hK@budWsByt;?{}Q>R7*S zP%l<+F#fII6H3h4_#ky*|>6za?1;HB#(Cq6so3#@vj;YY0*ai&*f#Csf;SwWDRCO(LT@{05R0gfrULc?5^>x3VJn38p@#Y38 zoFxDmn=!xrtGs4tB>3q(J(N?!E`K968sxfvFk*e|Na#OH1g^^^@Ug6F_A4`MU}Wsl zQ%C^l8U^M&Y`!O{s`6Mh zP@t1yV+@uPsCk%e*n?}u_Z2_OYoJ=qD%F-SQg@f_XW5489~?GUx9^aI<|*#FCHO53 zsv;2!BIaT6dF2QNF=E0alR-H<$e@ahez}WUT3tv*;Cmkacj*J6t>=vb-k1l;|^69 z;?fwJ)B|QDX8#j04t10X=BZP2)8BhOE}8w3#!%12f=;=eMw0(c{GLjll!C%UVLCav z7dA9c)^q8nH@CE-lC=m{iZeB^OwNap*BUBLZb&D@&9@BiHwE)n;?qgx^N1hM`@M?( z57c>$y4GKhT)emXd%+O*ro-D!qB>zvQ~7I`U|!mFWgcQ zk1Rm&jHdAO{W`Uis0L+=SH&N*a$uf>W%1>Vsv(PxNK0OwFeUggQt>tGTGbD{bhc1d zZX?B_CD?~G^U^+&9%O2m3BM-pv2BU8QB+ket^(Z928*C_4JlQhq&m1^DU_6sCLS|Y zf^91!ZCxjj#2p;39t}$eZ@t*C+Rv^^aLXdsGN>rC9Ky22TCCGWMPq30U9xWHFHeB6 zb`*eq)nNqM5Hd z7DX_Zuhnm56g9L0<1Ua(r)f{sQq<6@Z{{)de4e2&+u^}vAJS>Jb#KS`V zXVIV?hxW~)66$yOf-Ri>eriee%46W9r3kqoFIgE%Z;@zbQS~H=ygY9&za8YZ91tQG zMJPPpW)(CqX$Rap4}0}so4OPb;hIzl&rV0CEll#BJSEwE-B-Z&Sa>D8x5>loPQdW^hzi=Mh(f<8k$H4z= zA6Sh4I1hrY{(krer~M;s*X|!2#m=iIe{g*N0@LgmkNOnfxE&@xZ#x(;Ssqa7oLvn( zajDGq6LIG2+(oNiPb^6ggkbABkN?I>KbBjHZ%Mj5mmztXm;LRR_yay{^lq)xOXmLTZkj~g8JB1FxxioaQrI@J9#w>?pLyp61GLiZ>F zQB`KVkS+Zc83>w@QJ7p~@P>xS>Y_1-PF{;y%{Hzb3rA%n<$LxAXKv4tXe>QwXBTWn zW}K&6Z?H?&;(QWgZIDjao=t4dy}XxJFD0-Xh3^D&S_pHf(2n}=L0_ZC{}<>>6W`%v zoa;E}56&38uU<&TWjHRAITWF&(mR>)_0r14qZ8p`+O%iqk>TQ5v6UoUU`NitN1V#PRBcYZ-q(N27x}^XnO6MX8QL3PRJ~GnZa2w+tvEDckByqE~|HJQ} z2KpVvWl?ly3;Qbjyzj?_J4Vy?A#<8fWoIhK0gns<`rD*V3^1K}0d5!0qW?4?@z0dW z`Q3FobZXB2+F{2#R3tmW)5-UW+NM}M-|@=qh!;x8eaq1OENllJh! zXY#sEuDS#9cI|K5Og^GkU8)I0Qm&4+O$_g{UjNge1U#6QQC=oKO5PWJC#2Bh2kjRL z25)Dt-8}toZwx%Wnl6|i#V~6k!>72OrqkkGt zhj82{6TPJUHvC@8;X`Xy)@$S5&H6HXcYLYrz!=l}a2~HtbTr=z(EQT?$vyf%E_6>0 zyJU>^d0IXx+;@iOa7l6ecE~CAKJNvK~J^AD_Aj(vWpYR@NyyA47;Eq1v||X1fZwELYGnc=Zh_ zc!=mb&Nvv)2<7Rd&JX5HInH^iB@}rD*Z&FR@PPets-?zn?6kFW@S7#MMzB6Zu<-~@ z;o#IK$V&`ybSBdlh40#y2ikj)!M!Vk-*3q7|sWCe4)Nx`wTeD61wHSOx4h7~eQAn-NQCOKYr00?MrW67`PrHds7_>K{T|9Q-8$(Zy31sAqBn+6&QcVK^)Us` zWrxOdR79{5A!JMB#~s-cC|NC+TeP|0m`k)db@N!jzB$>w$d>qK|6|b;wyu zfQwRuZlM(o)42QcLIQt$jnYDs+{uTIk$qwJ%&x7+BDYJF)V;Yrp&ze&qmquB&*XFpqUrKHj*MW7fKshNkS*8K6NVz^Swj`kca8fsW>TP(_57o% zCr<6zRT~K@Rk}@!&4vIo7D<86dq=kB7h3jb!&w{8DrUzt^njn6$4ylXy`FJNzmZ;D zKF-PR!_UUDL1|8p)r|l#V|&n=5donvZP)%I-T9Y{j4R_g8!fUtQt~YTR^cQCnKg*88ePdl!-1AvNOq8&`;Ta7=0~cuq~g?Xy@c>T@NkbjMSi1&v^Uz z(zP{SoL!b?m_Z@}+8Ux{w6DLVbwEczd?+mu&6 z4TxTqA1KlT9gzze5UHuw78@a);3-62Mv1v#F4lEZWSp|qM#rYGIX27?;T%iU<+mpL z-qtPtZyeeC&Yk5l#B6Xd2}@>9m+#&e5zlc-j|@UC_An>MQmcYb#a52zVY3&z@69is zwnw_HvhRM9@#9|q(q47M1c?gzGT+W#f7n}jvWC|`u;Bdu+G&teddMdeAapis$yYQ! z1>}86OmOg`5TT-gw`4BZ?)La@AH2dgKPJg00y$vRs|;ID{DDJI3E7!wJqX!y*%Q+} zx}$Bz7MONcU553{{kq}1_ZsoA{OXdR>E+9}rD4EVh=*t;Le8?wG#6_!Wg@!t`F#_$ zrlfK@*kQC(>`yUYd7BmQG=MSst?@0$I+_LBtSQv#iES@O(PXI-tEgD$yW+$W#=S zf<)deCGAp$&Bo~etSe^z)aq`Ua-jHR2zA&hdt1tXbw9IshquHpj#5W!wlTKc53ic;WetRA5jvacQtEnE$jrqm0N0){77FmXXdvGFOshW( zQ^}n55aLMopzQeNmoM;TFpwL}N4++zQ-$*4)b!*sczo`9Y8qR_vPQ7Khhjm!$&Rv- zyGm>3SEcSkazt>a^-TZfT^HM4xf6$9h?g)*YX8ERp+K&@ho-qo{d=Q2FVyUl^wdf~ zoF;@*mmOOx%u93A&4+ps&7K4t`ol~=rc_cvRyWf#x!-1x4fS>NoPNr!m4COveYXtZ z7+U5{FGNh?E8i10%|1*8S9bg=cQQ+njh66Xh7X$Krvm4*PAE1OC!bYr_&0r*y;J@eA8!A$UEa{=g8X2Q7PJ`b{t=8&1 z9t}`VLq54jx(C^;tZ!c);>PeNWPP1AbXeycllg9$tr0vHWY|HuAMrc{z zr>v!nO<{{x3$%SNekEF~i4`%M=34Jbg{~+YhV<9`)GnJ5iEKGxi@ylu(Z&>>ABJ%f z1Eo?DjEeTaxHeBdPpEJtN+$|gvb`q`_;B7*_})`yr_8*>Nmgr@ugA}`c9GJhYFWD( zJn6=LzKkG+d#p^)WU|Ew@>7$u>P4nc8^|Q6F82Ak+H=$B)8myKzV`L5#n_Q$BtUk` z#P+mLF_FTat?-KT<&48h+TwEZHpr%5fw2R=h#o7iA-4;2=F)+9z|=VcQAx=`(d257 zT3=jA&Kt9Yv{()ud|HR{Rk63jZ^wkbH*gZ2mdVCE{kcdPYyy$tL|7ao3@=YR`8c%C zZkahO>;|S?bX<)C-%MJRv#1Qn0x~LKlL^Q;)kgo3wOR8FL+5!ahbDuA88Y@$BoQwg3a|g}7!M4;cUa$ithYE;BaaqU*l`XXn}65N}52p%|Yzp*{OjBgvkbn;j2=|dMpT%$yc z0`XbbU5SRjPzq-R8MygI8T0j|r}AEU8W5iM6rI=Vc7E~WqUYWnvfY;FD6$k0^9`xi6)mJqexup1o`+bngO*L|*ub2* z&&+)@x6kw5Pw96)sHMOW=9ztLIIr|FrLhzRK1vR-k@4kJE-Zh=;A%e z`<7M`UpFzpo?=Js+zbkeXYpoaG7- z8s}Be0{yj@AZ#WsWlx=8Bes=Pqyo{-==_Wg1{WQX<;|_=q=`1RRyk7JN+rfs3;Wna zIGH2|F4qaGAG2TbRCKVPqGML#ACQt7C*1`8)ZXw2;LL4chx%8nXA372rZgqn;#-~< zjpxsvk7{?o2%=|&G}=zcpJps@E=;C+`(YzFgF~11S7CbjQwnyI8Z{pCx<11quqk7Z zXq`Nz#WV{U+Wuv|W*13vf~ii#*Q$EY{dr_L9UdMzO?n-)!74H!WT4}JpZotc^Nfno z*fNQTV{Pkkcn#$VrtcNgUc2Yk@EK$2t^0!$pI#lQN1MJGiHn2N@^kAA1j|p-2D!T2 zQYpXtkydN+ah15TcI(Du^T-Hy*SWlZJTB0Ew{zu16!96}vHl`W5bWOZd?GTl_+Dxw z=z{ll9Icks8hOj`dG&X;&TZ}2h%uZ81`-{n+G|(Z7FU5ZkFF5e*zq79)ID}bQ zSyC}ghCti^DnF+iRfvb=GFbA{$K0$%+tc>@fms;xjZc9P+ggB*AYJBD3-~^>8EY@n zQJ+eopo#|@gP&!d+IhDC!fswWSB`vdpFJJpb4TtRbD|^Y%ajB;^teSixn9;7+S(*7 z^>!kXWi+3{y|b|yw;!Vhe{l8>h_Thc!oue6^(#*>_?L-o#wsvztNLA`c{aa)*I738B7Y2+{vaD< zqN711?M|Y~L|@959{HaeWo#YmVDdH4=%(j{y47YgZZ``!RabTibfhqCi$Q)2r_%xQ z5i$F-UnfDCoWEKfnwiJOQhy$E4IGTwwbTzQI`#9K*{c|)ePn20BGFUJI-^!;UVu<0 zE|>a{UnCTMWK$?{DGO49U>XHU_zEGCDlmQ?bki>cmuKckLe88HBlW|X&=vEt>Qq6N zm3$^?5G!o&n-Ze~9fn!kp`}h?m)UrIo?SM(I^WYMECywF_PoW&$+0-##FxPvrJJcs z9O;hQ|E z(2Kk^eR<$ja~$r(V5#2Yf6Hq8JGa)={QkXbo-l9`a6&mRFiKtZ$-2jHRrST~i)?%} z7DOXC@TqC*@nq>^#F5-(=_<4Bc|&}7S`N@UeZAfr#xHrh7q2H>R=wS*j3qPY?zYXL zUXu))_B$uJwg}BotZwK2{+;W^j}Jdhwv?BTcOUJ`dA}0Sxt{j&_xGrT%?0c_21<`zvRS~{ zmLa@*SDWdsrEldTt5XgVkw{_y(nGj_n8#dzON>PxL?e|#9>21JcaiDSehkq*o?*0I z#p1ECv52V!zt@%Zl0)iC5lm9Djcpv(%dv-NmqS0vU6iYRD?<^&>p4C128z`+Vfqs$ zsSfO0_J;noVI-#8Sh9>6k)6|3;=9(*k>fW1hyD2Fhchi~yqm`T`Y7^#xkk!nneXH! z$1gFy%Q2jE;pkSDA00F!oquq0<|CGI9_X2E;`m7Ush!xVmLT*8oQ4 z{f?SEij79ZAIw-XBGUS>0(cmK@%w`L*D0+=b~l@)!k#Tk@V_dwF4GQbxdL5DVlE+*a_z-nO=2EWCeR15$%$JynIoH#VJeLS!9*9UYUMcxbV?5pgsrp; zgF+JS3iJ|~t7}{~go(ewjWaNKlD6T7DeK8}1ewucGsSasD(RpUjY$^lx8(qYF(&8* z_M5$V4Lh{~?r_Ysbj&7)2%o9JGhgKL|5RL3Jti|{Cq`Z!XmgEA&aLqEQn^~iITdeSlX-6d>_Hcpy%%UKO^2!6lq&k^{0LOgA*xHoJERHE64D)?ArWu@0U=u zm{yI1q^`#dr)8}#)Hk2e?GZO^PQLjd%;U+$#GPR&UCzY$3M$7h&4bmJc`kuj=@;~+~84} z?b77Oi5ME~Xes0QaLc9GQ8dQ8t%oTZn+Ri&(ohO#Gxs&4{G@2ZC8E&9KyI=r;Y&D2 zm%nCRK1vDx0hmZl^x#D}(zzB+34i_$X>!nKXxg&v$p)Z4kMak_e0x{unj2_ewr{DO zSFoPpmB zt?UIlHCJs(o7qBUTqt*?SKQR+WtaU%HnVd~95>`swN+4utF296ew5?J7 z)oem0_^}{gBC}$m_f#R*0P|1X79~$t5|vsJUU^mBhA5k;><_syOrx*bLRyrC;kM`9 zkyVzx0|rPAx}`bP$B5{*Z!t5bA-!478*+UBrk~a{?gHnp1!eh&5qEez)a+0Ofg++) zo;*Bz6Fui!>3!Y1+q!zx#FBxvh0-Bsf_jlEgfrZ$brP_)X3txG4ikoXI@CS?mbwLX zkjpSSb6KnF0G+vRb-eNaeiko%9@4Ams-oNN3GKvKm-&QyQKz(0f`BCsfpC@>g?x+TI z=F5+(Zzm6JQ^W*}x20>2k-v}>4<0Wm$@Gc=nK%lo*!VU2(idM*{SM|IJ592xaleCB zP!7v9hb2M3`6R&)**>k?S9~ubk>t{CQZKuf*1(W~Im!}R7t;DaxO!5O?GMgt34R$O zIqxkSav)cdp)(l;KV$w@QEn#Do)j5orruco+|Nwe`HMme)nj zs+jQ}8%=k`fbP5H@|r~zRK=@A&pxjYHw(LWk4=Ck@;YkrI@gW`z#PsGxWop zlN+ggJ5aLdFP4SoIZJC@6kP~XCqweXxg`@Q4zV;EsmqMqh8M8c01SU4S{!tEh$Mhkq z-OcI){+i_d_z=%@df;mx1aqj7Tk>B2{>#^P$*nYL1k5Xfp^U(m{?K8gFO5gGI!;+U zD+hoUTe%(QOWxmbY8sYD7s1gT0|i&dq<1qJUf!+y>3aBX!fdlya3y3Ok#pQmfx_w`JC~b`k z7YRzr(d>Z4rCP;#8`jvnXaR$|_V}yAI-Thu zJ6enZBs;^lBm&b~WM`KS%-Uy=?qI9w3k?go*d?2%tGF`^e@!Q(6vK%#gP|XeJfASV zcF=TKEZ0J1>K)yrFo8_@Yhx1PY%WHS^b;MT-{IoLCFe|gKY7hqo^$ljU+oAoRa$HY;iVLQ>K;O>Vpcv zSQ1@qu)M_#A+w3j18BrM=dX7+-tCma8sDo#QF)*QXP9zj)k!Vo2-*@fN;f;}=&g#J zuOhkWhi@Npwu}>BJaoJ*9D>4DiN;>!L{i_wl%%v%&Kh0}YQW@@X(IaMto(F))3=P* zIBHw2_G>c3@_DD_%q(K!It^QyVT{F-iQ|3lp6x^9{1mT}ftF9Hba_rZ69{ga$qOmq z2wS9o2g)#lZD2L)cD$9TgK2)Ua|j->2`++TCy@dDsX# z*wfk90(i2Ht|W+jpCrac(t0c3Nt%8+&ARNdR9X*oxDsk;T{2)$saX=r*{IvjXgRQL zL>2S3t)Fp7ad`NG0{99FVU(qW2EdYLrkDMKc21T(Tt7B+0BU8Q13E^QTY^8^1&r%N zqQPVXlS>T=3+F`|HuDth&afum%ub6r9u)B|ZY#(yzi>+R!+byYya#t~|9F$zU^`o2 z(8&MzM-NqOstE2$kWXt7u*Hm-mq?vR zW`3a=5c|P(QFiISM-E=dlPh+Vv}O2QWyQ!d+akiY+yEeO>7^o zftKfsj*Mi^N_^xUHFOg=?(_ZV_;y%%#~TTjsWU*I`^AROHfFcJ+WlHeq+$Tp-@oxa z+%%fmQ_7m4SwhoMd>jR2q*+*~l#WMiFK+5 z`8@?|D!;4Z_}*N?m-3p@^R)v^9p)gZ6uB!_#W)klo{}~M6XGaO%2Lc z?_gRbsv?8ykZTIIWG6XhAd9T`pVTrej$O*;x=sS`s{=8#OrS@}Z(E?FgUZFC`D+Bh zvrtbFf${-9yH=9NMj@!FFF;NQj8OL)v>(oQ+#LRn`(`)P5!AqOk}N*rP=DL~_+R@c zr*K^N<=Y_bYojtmw1%da0aHRL`&){-da|M)@mXP0r&EH%sZZHhFVhC+qA*X#gxiY0 zlGgY4KMjwV-X_I}Hj4Df{r;&Y(>zYV zMO(bMI|Qf2-Cc`IAb5h)7AfvdkQR4Oa47CjoFqs~km3ajv`~7#xu0k6{oMV}{=a+A zyfg3qu-8o1%(Xrwxw0l%S=aA8kKdE!)eXR@DbuBkQ7)RFuDb59!R3QzYlDF77?bjTlTw^fCx4YfSkH{k%`9=xufFoh7C!g}srU z_CixghY+lu&Z|>5x3;g1!LV74)woE#bU3}&xxQOs`AvH{hd2SvB~e0)(~7(f2%cdP z?=;$HVe?=$tC73I(WlI?%%MS#NARQv=#=T@{5}R@5bsAa!EeE&TkmpuC>Yk`Xl1JJ z-zE2!@nWTE|Jg`Ib+N?FiKNUxSc9reIYG7?SvxOB6LV_ImPV&UA4F8oH;!^ta7un0 zY;7&g)R{XYsggY}upLeuvNR?#Dvo^@s~A!G^4*-J2#@MbDAg&<)`!&H zseq=#xoMK{bNMW4SXJo8l#*l-LY9!NC++6fq}(9TH! zmmG;*7W!Pm;1!l$$}51~jX3gSZ+38f;%IeS zto9v`gHC-?DN!YRq7tD>rq7|TDVQF?p=M!6_wtizor9!Mi$ZG-sHd(w!Wc{b|2>H( zkts3zMNyVSWw9Y^lw4 zy|<#S7A!X$y!Z^D;AD7gZSLPqJ9OQtS?A90O83$O+A-nj{Ud#4VtxwWRO^FFi@f7Q z)~S0g9|ldKhW&RtYiz+cB-P;ZB~7rA?2)75muK7bFBHwL3R)V`C!c=JfEQjxpGy3O z4tO=Gwqd#we=lc!eRN@;V^sO*G|LP`;NtkUVVF7hn9*He(yg)HP1tnhUqpIHAJ*lnyJC?&m*He^`=t@G4Xm%YN<`Kks9nT43>(lJf$K_{SYLHb6?wBn z4Bdqhu+cschQFq?U5s@Hu(IE`8^5r^)EKNq&h7;b?IcyWJ?!Y;n0QFmfm-#fvB*~f{$u}NC4ub!>q$;O>#fNggB?~OE(Ej)fGvwo~y4*94LAD z$<5dBQ`5z$ED~*T)f-0!*%z)v1-Q4EPVjNLYhH647!iT$xaywUWYdk9MrY|M1^{qp z?mTO}Re?zHc&Hk%L#))jCtR$4+!}1)FG8lM&1BHJ*Ht!o`p#=v2+De=MTy~->oJb! zX%=!ubgb259&W#P4;0_U`8V?*=c&u;doH91Q6-J=0eMp<8VNb7bF#&}&eR*ZaE0&zi9rRf2XXiG>g5N?Z{AgntB@Dasmr{6-kjy?s!e{KJz?}+ zx?p*98AcQU=E{<|@}vHay+E~e$ib-gBNZQO4=z-vaC9s~SoEv(zZ?NoO{;|uaKxjc zgNtLtaemm(dg9LBc|QtyIw#OUWan{|qqmBZlQcxH>hN4|fOV4Jp;TATZUnwTez2S1 z9*B4^oULOxY_a_oNX~I(LSoM8oa(ePZK|vVJA)aF+t3CC`ty_Dk$ibs>mj0Q4T6`> zayeh|-mY{*#gct=!DAUTdCqLnr#iqr<|^gejB5`o=j;pTc(gnHk@?ZX!f#hOhJ>I` zxkq5vsw;@3iPpfN_AFnJS*=NR|6z21HkN_+ogYsgnh?gk-p>lvOa6svk&It=2 zIyI+Wq-;DTA)_!iG1-q2=Vhf^0`&6H!bk(YcqYQ!47IAsI!xRG9PHdj4kJ8DSr;li zn4F(+?TM6}@Tw}m9ie8ZEz3~4e^h`p>|hC;R3oj+9qecpS$1~?)6_?eqdWXoyD1t%f0kwY6~HXTaD5^YKs z=P?qZl`|%<^#tZr+3=d>gaWUqk7bHcOT2#OmLdeb{u|p+qDKMu#-f$L&^xaAw4N7vt7GUt4BGfJre>fat2ZuT0I(SP%a zq4rCrI)}`7lcqSs>+~*o^QMn^)>FGJ0Y$2117iVGr&%yeViJl9TP0O*32Z(Eav{> z^G`Vl?CZyu>x6V?K9`wrMRAONIdtX66}m%_Bz~$4>G;m1u1{y?e3exzK6aabuaswj zmNC-YUeCA22$7fDv-%2=(rNW!>zOht=k}nu>Z+>Kw0O)^zo#!pi9ZMYd7rL+)pynX zJJZ*EyD_|i#;vY%s?ef!zivOX@C5|^WR9T8zTQ~^-x(r%uN~*dpgfLN6?0urssO2z zM5m9#74?;g7nBuS7sABIBeN$zf-&%WX?+5Nvfr1l%Con zi)MDPVJ^urb|_(VnW=VjtKxdxwPz_9Y}5o%Lnv;zz_}(VEmJA>Oy45pQ?8lae>6hb z%hHIq{lh?YxxC}En_`}^t~ClveWQj39G*Ua5dQz_)@c0tUyrOy!a7B4UR`Y5E_D)@ zLy4|@7GB@@w{Ez(86^WA)W`Br(5%hgoLhOvMbM-zO30uQb|M=D-v_iVh>4l^X%~u7 zk(ZRKK2e9bc_m+p)tUT;HOl%+VnS2^tf4KU2k}LKk>Z!{ed^{4^Ef<>V5)Q z>0r&M?|K}=Yie7?$C8vrS1I%s&zAH{5E<}?>fFTN=C=4;m>1zeqQmJaYwYP=O9&@HEZmg8HQ z7cv~W`)sC*<%xk;IWJpV<9MA9Tm8ZDVUUmO%BLb%qfy|cnZUU=^Q>SR9(BP$S+wf_tIH-Y8!k;$=9BDiZ-S9eJ#EIkwR?nU zuxl^hR+DdzEAfSeBP&uts^B4^&eajQGg`^c2}n58xR+#HXSV2K^XaO$c*mfW_i!-K z=4RevVWe!L5yb60`C)-HsSQP-kikA!3nAN?D(dANh@r8&RE$avq8aV)h2Rw0x0g0# z9Lh`gM_+{wXM3jR2#^6)pd3!TK`ORTjC~tvKUFUg1VIeRyd>!KWE6z4el6qg%<=|( zo^YfL$A%hSq!f^JRc^A|#8roh3&~PT8suPzcpLA5g5szL&r;)2a0;^2$f{3-v&^2> z&|K}Z&58w(Lx0 zBs}~J5Qpt}#{Mr&dEKWaN$=B&Nig{4&URUSiY>W*`N8?)zwajjfV*90uCcYPh5B{n z=RPp~bgB<6Az6yR1YqJC8b@PrrYz(Y1td?kT;G4F^zDR$q>kns(o|`1_(@+}Jd{YZ zV&=((GR=>|_gK3{)wEi<%f8~sZBC;bA^=zY_~S|zN6y$4$yI)mN5-YaTA6bKa&VZ! z*2Y0=nvRi9M5t^r+?%2w0CVT`ADW`e6xZdKo`)84t!L_y;;hrFJeTPLJ zXY<4F9O7q1&7iKKrEa>C7Cp}Gb|-ve&((HagEaQ|>x9sGL$t&|g-B71sL7Z6QMz?% z9*+3kbu!M8PDY1i1YbC$!t?5AdqX11(GDo_u2Sx5g>T{FC1pgb+e=!m!EXSyQF>ET zYC8oPWrs46 z`duzgcvpSyjtndf1-w3*iKF&2AL(4RkY3Pq@lnkk?-@4ZZ_O<+f)~cdE+4x>m-nuA zjg3;imO=391VGjRvb`_0N~++fxpK7G!rR%HT|cqyrORN+ymA_E1K#nWF`f4j3fbDz3vrL=Sn))C1+DP!72yvnksIa4hndJp-x~{m)$dzlO zot=~hkdNogqtl3VgQ&(W8y218*dn6ptVh%$N;XX+N{+qH^_bS*JU@7K_Bv6j?BK&l z=PO!AGb=l5|2w0jXy8bAf~Caj`0=G5ou$Gea*BQJ{uayLo&$21NyV;!2q-qk6LJ2$ zfWS_+B==s#teKzdjK^AB*OfNMRTrE^+JPAEhs`pAySdB@Ea72#FpV1LHRCe)swCIr zLtm-V#8<-06ftn?57a8!y!`^j3RiCb=XVVNc!;G&500d-+aRLGC}rWre~3v&8;LU7 zdgBcWd}0N-{{n2Wx^8AF?*tTuy#esH1q@Ov_S>hMXa4e2WTaFyL@hF>YGjWkLda4z zA{e}qUb6}`hh;sxI?u!0)fMCG2*~dbad25Wl@jP#(`mL^TU$s?32$gJZJMsW_(9Xe zs2QzCDM)fZ?(@zFB#qbhF95M8llmXB5{9KcjcZ;W50bD6in?)7lbXbsUeStX;iH_u z)TK4AbkxDB%aBKgG)R}jUIAQOWA7-}cSY;swu%aa>TAO+Y()LvY5L%ijpy!HldIS< z7mdt{5Q%~&-|2TNn!CuB7E34AT&AQdkoaq~4{hB6|9*>A?pzS5+wNCRn#GgV=FarF z{NVgW%~ImX%8W+ljtn=tTOIj%&{VGEvNOLL)|KCVz$^W0OS@ve?)`7(yux#7_um64 zRP5fr?rvUYmQK-+P`b~dI@(84LeedzH*}jXA{h=I+RpbZe?| z+4wEvn&USUThi)^9&Yo5n?KCVL&i}*NvR!%SgV86#mYz`D_@|PD<(TIdu_1M;4`lH z1wz>sM$BGBt1_y@zBu~ZzOsC4t$7WkxymUqVa=~t^zFc+R%It{hL(lX1K#^`9+t2s ziBb=y({KgV-g>XxB+j(_&PJ4t9HNmzdNybimn(5_t#~7CT&J;2AQgIp+wGl`;j4#jH4jl8=*zPapf1O*sMH#@in6_vp-WKF-_a@XqZq>><}eJn3t; zSlI3`HTXI>N7ig4px3KGfo)Wl#SJ6XK)#lS~vJ?k(Id1b@K}6S;Cw&x$q~O=G#JTrLbb zxPH)aP{%!`?ln}gP|7}u-G(_jQI932p7y&|7d7JDr@1a-7V|Qb7uXz5irpsQA0Pl? zdt!xAdJzoF3h61tPm*N$@}K22~rsGDMjVY;{%*}I$!vewb$6I{4s(*_V(lIkKPKHD~;UVVYr$=(vg zG~O6wp>&B4r^wEa4@6GouPOY{|AaZ|&vuMrZ2Xu4)GRn%R#hs}C6;Ad`wL)RA0A@! z7vQYQZqBq7#|)I<-RGLOj2fz8u_ZAY;NPm>d@C0w`#3|`Y(5c{<0dUizgo{J^aqIwp6+R_&YHy8&T+|>w);y`%rIJ!z02ye- zg?qj(<*QS;62KEfNgI)HN*$5;MlcS zO-tnXNkV6q7qFY(7ST!z8Oo`27lTt}mQv=XJ30nw*ah_#DZVYE3VBEdwUv*`V&zt8 z#AXCaiNi0f=dn=%E<3mkriN`mQb;dlPGw}Iat7S(kJJVbEMagc;iAlkI>Pr`OUv>b z%b2#ejNcinw-(e1C{gCtuaaekflZ=#r=g=Tta#!^0!?WwrY(&HAwS|*T!Ph-2Hc@6 zKxvp;J=Z*VCgz=tRnMlg5InLwm*YO?Q0{dWsB8DC?-pY;U-FVUK*dx8QuJ z@lvqQct5G;3m(FGi$*$0qP%{aE2rK&ZMZh)Z~3!>w>`BvB1zRvb5%_h;w7$mXt-mR z4hXBpc8gy^;-ly?cr7Z1th{ZTjj3i2498<(W*2JlI&J=A>5(#M7nWQv08w4TC%z0e z-AS-74B~J&tYwl3rCOcjs+1?jD%9*?V}fqgt0{)FDnHy5y$vZ;at;L}hC}+Vi>>9y zmx_Q=7R(f|1&g zuahmw)(AHv$^OMrD@EDm%t8`9I+^4=@*Kz%=rxWkZv`$c=xpb#Y%iQ7gC(8bRI4(7 zN_ZOQ!WJX`kjE%zkV}JnJjQP%6-Q-#SXb*d-cOO0>vb)H+b|e0CPAvC@o#z$32O(8#Z`frqHGGsCATX)7n?$%%6>K8JI1|4W#LB1|Q7Wd< zcB8-It|6~Z^v&agN5g?TLl(6>nnIy$^m-t}CdqPfs;NHTn5Pm#;xy1CM8kp-`oHkM+xgcuND8Fa7d`}smG7y6%3L3#g`En zfA$qN!|a9IIJ}mU;Cua2s)PE}c&D)|rY#bBL@5l^;u<@IwhT`t%692Xz!BXPa6`o}C(YLpDJL?^Hd z_Br5(XIIla=2rx28$3>}p!k`lLLU!MbS)BvG!@0|c}VKBtCk%de`2oufLxH)O8~tt zJSPT>!Cgn7pl)(1Zvf)OwSRtwe~<1+gxvk*gxJk?q0i%d6xR30a3Sz~B}(#}L@4@+ zNA1LIq3_7>gMbcC1UmpP?&+#F4kBMYw zo(Rlw#auWf$RHCY?;@y5NiU1@tf;Q1b8K_DVeL{b_7dziCAp`^WH_v0BA_}124eUl zD(xqN7C3fkAoit{R4)M%Z#NQO|39$rpE~?s?0d}Arc%ygbh+i& z0{6S9RYBN#opw|Fu zF)&Sw7tXYQVk9m}Mnrj_C*ydO8r%LdiJEuepvk+LEjp!NSz)}ze|4|Td0UE}O?DiQ z*q)q&TxDAv&&@TZRnb}^^y^W)Rs}380f@j8!_26w%OHEd29Q5C+}v^O2vdaG88AaJ2a&})NxxyWFp+$ z5fp;x=-xQ)yu0gwq-MMY`#dFo5Q9eawU17qYKf2^W#wKf^9itiJ^hwK+z1v-13EKn zMgz!Ow`AIo$-k2JE6LuyUk9@MR2{Iie^(5v+ym#h7q66kl_;WWeqo|_Yf?R-{{bAC zYFot(TEeZUzTZ)}6}?<}#U_dZCp>K{^L_F1dI1PW5^P_H^r||6*`BI4aXc?lpJf4iwQU*RQh=P7Bo5ct83 zc0=5uT{nA=lb6jkm=%@Ld6YAoiz@JTsf%ddS9`$VA4ARzR%mux;7ws~@m^yu-8QhE z9lmg%(r((LiQD%xWUX8W!o_L(LKJZ;-4-o1TYx;Avo=c|NVUj!ExXRkoJ64b+TSyv z0@FU^)^oSC-=hN+qkbIp4=L0Ecg)-=72T!*N4e|U>m7V4Lf5^?v@&h3wMZ?H`wQ^V zHe^xKE~#;8>#(ER22?An(Rn11)anM5-LX3qTm)v=zgjG_-rmmEs>SP93KdQq$y^N_ zrn?obL=a|JO)Dop`EbOllj4_|GR|%*n35kEnTODvIzkq(og#z1B{)-Io^cDhsTMus@h2+lXGQdVQZg#bN}*$HDsQP{#7rPno<8 z@*-Bgpp&Rf^@E((ZJnxIs2W5_4htvTqsySyP2`r^HuXtX01%Ol@DeyXYlOZ6+|jK~ zDh}8i<9%^duB-hsrrDP+eTT4M)gn-4vs8TU*HZTZLCEuAZR?SNg-ftpv8|p_-7Sv& z(sW(!Ch_h2XrPq@?Yq;8Hi;+`0B@xmHBiQk_`0B33_Nhr1K1BGru=q+KgKx(e&|CkVXZ z4cl{ZikvNxj^akS#{~J2Dp%DMVKwG%oGoTs>Lk+D9%bF!mrg1Q{*66(XGP0I4Z_?6 z8DN1>$na09%Z~+VoaTMItjV=)vne{spGbM#+>7i_5>6B$#7E{-=Q+z>@s?%_fctb` z!L-el!6W;7ENn{M)fSzgIw_-zseQFlF%*}xWc4Xwlz!HboP%SOgR}4S=+KrzoWF6C znh;EJ!6$KhU#&d)0ORy5fO%(P{vsnz4cx}m|GjBnvJyOJ#PixI+(E17P`bUEK&~83 zKcU2LW8R1?GU-UJ8<-YP3gV%pIlU3ibe6O=f zXLP_o7`>T0A+_3}Sy14E!lyjY=~j<;FQ=@wWdZUdxI;Ij-M|lc28IdSk!Vc3&?O-o z9)cxmS%PV$zEAq&GL0c76#4ex3B2K8rjH@A^zA}t;`cU@$-4He{6pv{ErTxzMrJmfj z;#Mt)u3X}QF@Rg0W~cnh7F>t-Zo`hQ_4y9NL%hDI6T!QrSuroz1h8fZ!;mnsN9C9o+U&7W zEPgngzyS(91e$!)W~bq;dA9`EG}aim7)D)$>C_hTXfPzP)wtXax2R~vvTr;y^)lYj z>|2x_(1nNGEi(Hck}3;A%q}6y?Q}$m z4w?SlwZHD0bVngyc&QBBJSB%I+vPd#bo8gX1gu2s<;C<$V+09Ea9IyDIRJoXUni8h z&JKp;(>AK7_kJRp5<`mLXYqC!h)Z909T&n}*>_RgME|j_82(Q(AtIX?7d^}a?!33y znyCl8bnV!JE4$`r!~Err0`WmB!_tS=;3JpWA<&^)sDw8&=J)9f+tXS@WtUk?x@hP1 zRJHNWx1T$n%((x=uF>E&+lqD?zW0-G4_A6SIlf&_Vq`ck42s@DdElkJ?>>MAy=&H8 zF!xm^nnjCtE{VzDyZ;Qjjoy254>r7YmgVu&pG95*TVG#oWb^WUGz?B zcj>=i%;~+4nx&E@X9jO*|3)m&(cp+CxwG_2sQd-c^tt(TxoLi0lJtG~MK>YK^jYGD zaK;hezW~b=PN_HnKML)7{$@zazu7rG8f@KFrQfT29Z0vT9_pL&J9qc$!=JAe%s6@W z^5g~Sq2J$-Y!y$Mb?LUuUwcfqA~PrQ=opXb)EDy>zrTxRNsdbf&l$J;8<1^UphCO5 z8It&~x4TF9-^?qDWH&(BBUkM*>tEdHIH9q7UB9#&H~xlWGko;%|Ib8-{xQ8xixc*v zb5*Ok|AUO}81US$Fy>P7Z~AwM7@@~Mrt+Wp(WvKd)AqPehuU|U! zXGy)w-=yxs{~w&F;XiU3xmW)=RkOc1I9Mwm=Qi=BYiy5co4Q)9>k+@E71=_s*Qr z>8l%M{p6tcnpQe%a};UqWXGJ`RpY9=xchjZz-dy~X*z>iNvtHs;Fjj@9LNRe1c==*R$}4F{ z<)sKZ6SY6m>Ob2lk|29O4_S{b6Ks7Hc2I&Orypa8AU>(C^PN+P9BZ#<+}${u z<_9w0SFI_yHOvSpv6UUG%_j-=hOm}R{qSgIDDq-<5qZ7}W^PGMb<8hOQVLQyZLdxU z&~;VkU(=9`MJ{?zWsuOZFA-Zt|7?M?xX72xPXHI3by@iQore_RKP1(V?D`?HHaqWn}{*Mda zMPl=)yJYqr<}R5NXBF4`Ub|!<$knQd#La~Hbges&8h>%t|14&RdC_*##4EdLupxul zqzHPSAAPEg67gHht5ANQH60x)#oe`VNPo>9E%49CKp39YX!PE{7JTUt`*rmKIil9( z_uLs(a1pJs@|Cr@#cR>z>Qdg>VLH$Z4~SjS;pvYslRmQj)5ywq`B`S6H!DL+nU zK9e?vU`#qv<*ha!Jqw@weCCS|{~sgAdtYaYlAvy17CLIZJH9bxKw|Im<)KPN2%_Vu zm52@LJDkxgCyuBVRhln`nLhVXs&|VDg5W{BLA*j~cK6o2h@AK4J$;nio^eS#iW)4o zh_I)gb9FinQ#GxZYb823xQJ&EMHJKYciLazIwsykJ!;dGt0^#$k$g`Ow-}`U>Uhmh z2X);vOX<7ZItm1;pSH*ARanpp*>$SgvNo~xrJ4$|>p!Ira@Bpo}K&{C4U*Z|=@kd5OWYs2DhHRrX z{SL7`{gy?Q^vv|;zM*h8yw?B(O!od3NB+S=MmVQe&JQnWnJlebi^# zY~0lFyOr+1+Q|UWsDoVgwSMg958;<(VM5E6jI2`ByzySeN(I_? zt|_aoc#78Un1v)RlU>Y@KJBdIZM|b2VhuN1kym>ey@GWP&D$P=|WTowdh!!82T_sYz z`$-I1zy>5-t_NfZDe2Um%y9eJ8E#c0SFl5dZ-fvD;~kH0SWk!j77ee6K)yr>}+a|r^D8HgfYRMJ;$DcEn12fh>pesV0 z=N)@r1Bb1|hZmb0gN%yVh>7`faLcNh4_2bnxNsTBj#J*B9pp*8s#s>c*d^9oY2Pm0 zCozu;YS%nhu2effjS%vc+4>Df7uf6woVLsOHUcECE&GQ9Xaww8 z(O7(9g=4AGj~3aTI);?2Vb@UW>BP{}io47ld+)95yQ*29n4Q|0Ip4k>22*+_IfwYv zT;#9IY+Y|ORQNiX3`5HbNMyAQJCBYCJLiG;&?Van3xI}?cuvkHVOV(!*tdT9 zS6Eh)JCEBmW(Gv&b$r%D5_3!-Uc<_Ifcgr<=QWb>8^6u0=oeRoo{NRh+q&E4qg>0} zh?E9mPz*_U67z0Sb5xyqUtSAbw%|Nb*_$6SJq_i}lE+LRCwY9(8Ar0#a@|G-7i8w# zBoDqq#N@z4^Dml#d&zhAimkA=QIVb;ZM2XS>^_PmG|-ew?E<3CRu9*qDhl7N+O{*QjZT;2czB_qU=tfU zulfXKWJU{*Ur>m;v5*|_0*o;I@}V?u(!97PeoZtK8K%}X@Sxy*PnzfNNZoDL_TNNW zgBx%O#8FErWNWEC$hUp)11R_`tu{{t*b!!C=2_2dIk0S*qTGNh?b!&E)Kzv6Z6eo| z2Ut?1IW!?t8Y>-^jd*-Zq^q>>Xz|I0c&#s2ST$F;$B#$?Ei)(6gPHrM^F^E}ZS|<; z)=Wk?RbMu_camF%G?Xn;o=?3EeuDw_=cc<37sy>qZnr%Ak#xDZYQb|+iXZo4AICFjM3X$D3pc%>y(jIMHdlQf+j7N{`7T|+0IHOJ zi@7AuRwp7=2St+3z#*rn*jH3kG3;_s!EUWwQ&APWAoj%eee$ILVR>MBN~j@^GTgnR zSwFF@v|}@UbDZkmT{3>u6-vrJF<-+ygoOXt z?-ej55P!L)YHy&+Sd$AX^C@!MDm93Zd2Ao=W+&cfz$>V+`wYuM-W3~GNIB=qx+YCF zGgdsP#fBJl;M_IV>=u-9Qa%6RTWaImN-t`v7Oqx47Spj&2XQCfoq5pS0}})zM2do`5?W|M2{rU9oOI2J(KJ!KK-6}Kjz{T<-oZ#$w_Wxwm zNV94CQwC_lLvvypfHj*rB~bDLHH!?WF&C2wq9hJLDc7B-SG3i$aROQopsY;$UbWLrJ3Id#d3MQTW)EzheFw36N8{Pi71oBx_w-uvzDlEN={vOI^f ztp>+dSOE#@Q7@^lJ9^>T$K{BFDoen14t31tMtQq_+e|I^*7q_vWeSr$$@7#R*vvA| zZ9xi?a(zJk{(F^_>4y|v%GT!C_3z-~X2|f^T7zMS%)xsN%kMMK8BN3|!70C50^K!r zJ4DmdPrMcVHmDsDj-U7hk;3C80jbC2!VWXuPRUEDb?S8c$Yy)r-w$>Bn2&|rM_V#X z=aO8L(m7`y>q~?~tLp5YPD^4$(#2;59=mP%UnMG?bZ1TjC9RKn5`1ik81uUHC0Uwm zO}m1Nq)#|hL{u@QDsh81b0Gs^c6d+Q_-uNg-ovS%$IsRyWoXZc@2Pg$p(#!S4vk*S zOea|%d5ttiYz5SDIH#h8vabpZluIN%^K0{anTnc3(;dA60CI62s=Jh zLT6pEye79C2vAeK&V`_kdS-EKFYNJ;Q`6eyIScEflIcR7F{YV5kFe7?B3mcO@OktM zC+F`G510dnBJkD}(cR3tBfeR0kNx}H^lhj3h{$`bZ|Cuc1!v!Na*Zz>l%i5)K`oqK zO*b~(aOcb+8&2VRhI0a^|w1@x2Tcx7%` zJ)d8fjNu|5UM-mJBAIQ#7)5oP;M=DU!h1OSof*4AVlHWJ7)^^Rf$lk<{2}@Ry4sW@ zHUh{K)&QPSNpf+`AjuA(MK`6RX0cJ_s0HiVOD?)8g+=EvmBsv=MpUaVb7Cy3HbQUuBrz_)371U6-#mj@4bb7{qOR4OtPY|OT#Y?*iEi>voaTS~=(QwAC ziK7aBunem|bH7-MdfwCB4l{-hay11A2~Yvb^KgVJ^CF~~#q-w# zttj3pVUWYO~5gb2;Vtzj&G{Yo5b06xKBwJt})uV>=_0%X5_b1(Q&*WX$BKeqp! zz!p*Zc#CK2dGPu}e5Gooig@03k4Tm^Gso2-N5x~aoYNu(J-ese)iGqqt5%$eGiCnc zrz)kv4ndnPH@^!YO5Scs|}XjVTlKgf`wF=T2aK8d9Ygz96H!Mi?T4G5S&Im_?cTQJeaNjKz1{LW8BTU zs>13po3WjvGp~>ZyOdhrZ}~xEL8^GkoXdW)9$zO+Z#M>6q&%j{JCELfP>{JoJ91tm?Z@5Y}$ zXo`L!W;9|s3AV`V!IdNciBhZOQR6hP`{3c$9&HteN&+jC9Q%u#hU7h6wwj*sEJD`E z;~r6{qcQ_wjF->X1@2AeSdc}N^4{eKJ$|R5alN*5 zko&F^G{KdiUN=dWT8@YW?xb=pXbmP=)x^<@&$?p9Y`oXuNq0J~VnDuW;q<3mCbKpu zvn$q{jG_hiAgUpy1rKY8gt2L7IxSFHfMP1mHgb5hUbtM}&OT2`#NMbG+IhduLR$Bc z!5Dpf$91|tA*$SBgQ9z*jdWQDB^cUB@x^S7T>X04{~*kz+A^)G1m0Abc+0E!37bt+ zDHpF*u3XE8*$cLf=ALKr12ylI!p(bLPI&e7m2T}YI;`_3WONU@nL!Yys;%BBRei?X z^>(#}<<6WN1T1rj3290;{S&jCrNH-l9P(nS=CUXoQeCZ z56CA3RaC|`1#DIPd%rzm?=&gR()e0t+bZ7!qs{(ugQ+~o)k)umu^S%nJC55H36)aR zG@?6c$6UO5S3CO-m}Ayy;-9J!ZCzPiCCV)joON!#}0pG zt0j}U$#fOM9cX=28MKyN^uSVH*)XPCB!VG=kBLKBs>z8)>}>^zdapTXs(X6mz2%R5 z$sQ5mqK-W>x@uY$ylbH9MP1qE4=6t((4bTNo$j~MX>&$4az(b^XobQ@4m=?6ptLb* zy-3g8O6SsnR?*SVu^;=IWuo$Q$XAhx@4TmSi4gH=mc_JJ)GW-^8LLdM-g@{4MgO>} z`(%imAMkOT63x1%67-0V>1pY*oh}_fzl-kGpsKa;%(q&!3zF!xs90+O)$iDulcOET zy&guq^~#uv_-03L@sz@A8LZ>mx5wV^1C*mGCw^_i(|iHXGFso=yHd&KV0C3Y&K`rC zIdC%x;O&E?Moq`eL)Z4w#z!-X^8W(R+F>PmS+(4>X{kay8b*Q|w0LWp@qr^}D{<^~ z!$ZfmhBN6Z)s5x_7m`%+snoKKbj)S6NvqQMs;`n%4JNr|6ezYW#w-$Zscj&F$9C32 zu&+ywjw^>~tk-*cTV9hKEyM^XUY6jr_$p|cL4|l$^1htqLvlt^o}8fUJhP*%#^>48 z7*T_e6@l!HPZp4`x^yAsCLt@0s{vVKO(9qT z3K>S5l+`V*wq_v;w-`8PU;8B&`Yet@qmgd7U&?qTjXb6)CxKOfdU{+J;PlNYAG zGf-Q~E9}9-3j?XPDRiF#0E9YU{&9%{0PFeCT30scz_kD{rhQX{sOdrz`P#!Sfcm-^<_n=g&=Du3cEzl(Q6Vi zaUNwu^@(?a{HH*o|HHzm(-GJqdb_|9BmEa3-ysg>Ykc~o{BQ>zZv{jos8T_(SH@p_#e9;E=Imy zetl(jsFc6*Vr@qEFTl~}Mo43$*-HRL4||KR046GK_}#fcb&q`C<7xg88YwGb(VPU! zGrC8PUMhZtv=;t)14kZ2s%21^yWN$>cYH`;rt7vCnun(bDL3I!;RA zjPDGLQ>DxK&sBVu0!+_nJ5G##@J&)Q({UJ-Y3POX;s(_F16|lZi}{}q_V~)5esS0- z$A-_d3Uf{^2XxYgP^|{U_TTquyKP42|Jr zLqH+yZW_B=nZ~C4e@Fcou|p~X(Yc#&D85B)R4Ra9BecgDlG=@*tm%gHhc%W~j}8Kl3T)LI9IuA-s9?+{pib!>?H z2%5G zZ!nZP{{`@NN#VqFz^|$125kGs6;cGrTL$n!B*+_AX-+j&=-`GFS`SK%Ut&ElXo-=b~-D}M?uj_K9m}^^L zPn+C=11DPzqVJvmKr`scZ_x?DWQ#r(8d?S@4!yo_LDz0c z_IQR;(oRAbad?7_+7 z5!~9^n6_b?i#e!PFt;MFzgmV}@AcQ2WxefRW%PPHAeKH^r_X z&0RosWPy)ZV|Qf7Co=z;70<@sXpN#8`rDTT_my6L4oAW`>sA#rHcnFxhCbiDEMJxd zdB$l*3F{8eYrZJNNjpf(+3D_GJV4FS#BJw@)!+emuigPk*tMnU&dic`4b-Q!sYtcn zMnttl(U_?P<8eq;=_gV?tbo6&x;bwNxV{I}V>Fxps?cq7jsK0dZl89?6g`)=2NbvV zYf59w=}-Y5m|%aLM_OcVg+Xc+8HGhJt3|ZhdbD$LHUU7v^ck1}PVv6z8moY~R341W zK>!U)GUbZC@3VX4@z@zriq|)q`k2DgXZNqzXd|uq^=m>#RCE} z%LO;mvcsu3ivSRwIB)f#yEGLo9zc~CZ@bS;7VQ~+%?VO*k&Q(6-YmB^p}}zl_t%s< zll=JCavB2nffVZ%(>iOGrO3j1>?&1Om4jOy!&6O=YJ-Oka9WG^Uyr3%uD2bhQw^;@ zjUIr*FAceZ|B-Et_*VR@1m1bvKJxuc$LnNsJP7PNd;IT&qlGA6Ft_lpN51ZC$g-&* za5!}H{!sit)YsmNf`?McR)0g?6_0C|e7$Y(NZ8fkdM9El{Lds~&$mU#(<$Z?15sE1 zx6hk#=l7nU%=nttpwKB|5;-;QREctuL*A~j{ZwHA>%Y;|%;)>CV*Dr`g#9A5gC`Fj zj0RWmS*yma<0!iB3K#bF_b!|79nyV``I5sHy}~!h4_*0|th}V=G)fZN`mSBfC?a#d zW2^pz%@;5~O?qGP>U#Ur4A+nQM$Q($2=d(ThirmNb%oSy=^g=*Nv%3x%aqMZ?SACW z#6fGt8>4B%AM2z$yOL!90VNg0BP9{`cN(~=4t;|-oYmjYM-`41M?BO&M#$o~-ws>% zl-KKgmbYUQDprt_Ug1#bgGlJJV{~)nzT15>9h_8_e!Liy-$-m~s}G4E+g>JOudUDU zmCA`dMVP$N(=Bi?Pq&Ve^!xk+Bpbvh{7T?l>wA>@qom4aT-V(Jt6PG>X(UF-6Q<+1 zlLWq@#Ko7kS3_^%IowvKaxiB?i0kN_eo=uFV`ALLU+fSGOA1J<pErPZGMq7R*VcaX~m~IXkI!smKxUt*A3R6kf z9>@C?JRJt`nu_iYJUrPRG(zy{sih-lmk-Ej%{*|767V(njgIfSYwOtB(k#iLaA(>OrUdHs&Wz5KJqJv`rShr8skWzr6f5c~aw=MFo?k%ocPNwO+ zAXio*i|~QrdTA+wzUX)T)v8=C(*z*#7TztUf~t7RAk3Le%gBNxd-2U$3!74?NK-t8 zYHa~oIYa`Irr{DN%U|E?p;(hNieQb`H+e;6rPh)&H8SWy>q<9@H%M4NPzGrRI42Cm zkG80i2j9^0S>oj$S;|O;VR*3gxG31DEjSk9WW0ZrdEm)6r&#F4H(b$x_p}ZZRn6Y5 ztQJMCNV6e4i~b@pZ8u))u&m%?`#`Ab7h!~k0<9>-w{w>*-EBo^i-fP&cdCUB_Jrd; zQA49Q2_}L?N<$0qA2XZha=(s$A>ew^;xcEmM3V}fl#(b=#|s`4CUCG`;R_@9D7ztg z?q00lxTDcevohGNOB z9Loqwj$Kj}eXrg3p199r1Xx&$q=26px1C&h+Wg{k^@%BR6USQxiE;+rqbloP$LbwaJV8)8D)8wD{dkc7&1KH_V<1ygf`2ClmxLd>3qCe2OTl0oX} zLF}P2Ifj|)^n%4bYG7pa>%h|zcRt4@!iF8K`0qc!?xr3LQ6ky6W~+UGlLx?9gTM#Pyo;HT{o>E=aKToL+OI0~>(22GHrnn zoB2~FNbxt?9*LpEC~K}R*@sfn&uB-_cu>!Y|C8xhG&H`(31iev|7S0Hm9IvTmy2gu zG-p8{-e~`$OA=$~^=8}mxeC%0>!QgIewgy>TP43TK`#nUV0!!cUzdC?c4+0katgZ$ zS?myS#V&sWy8g#59J8j^SJ5oVLAkWxy9PoirzpPN+=(Fd`%gP3vdj;jR-zs_+WAL+cYSwNk8aPJkr-+g#=JQ*s8}VbRkhn3Mr!)%r(_E5o zk0uLP7iXTw?X?jJd5*SJ4>ff=?EI~SJbqi>6tf8&@Kf}9vUmKavFqAsLK?j-X#?`~fKbwAL2wxqM24lLm!M#kuj$9^YX<(>7K|0ZQPR zRP0apyZ^K{${1}&o#443zj*%Ma2$ubTeGZ;rn)%f&-Bp&RZoWpnmM(NRfyU?5Y$6}fFE_<=3&Uv3ubxt~ znll_Vbcn-@o}DRD^*F@VQR$%sj4{+ytcl}JEH+b>617aUHyX}XJ6h>;l$xrc_-l4O zLI`2|q6OSrtsJ;X zS~lLj8Ci=x5*2DZ&JS5wrbuwiNyuV|OI0kE+q?Y_yAju}6y1AQkwBGZGMOp+bc*hI_k%%{Vk$8--H8i% z%@;>ZoczmgPAjMUKum74A{~x|Rv3JK>FYO%{seOI4<$t>t=>3=Cu9H^8Je8t% zGHO50hguF+1!mZo!9=op)RKt@;dk17Pp_VO91d{pbl|YILHbq}3@U%4{VSPvx$l?p z3zbZ(`Y%tW^(}tNh1v@^wx}+a7yaDFS1lQz72Qs*%B)I_5Z-5-YhR$pd^Gc4_OII)_|+#ua1VBf3k>prq;d?hHH ze%tPrrc(&-8veoj;g>kBsJvrl>XK*WpVx5w=hqwu7q^$rS|>+EG6{_Sr+4d)kgmOY zyCP8SXW+|6>17+Oye)c^v6W=Ke_Znm5!9C=5Do<%D#u6Wp{6+#eYefXi>(e$DD4lH^(N0u?>vm!joGKE+L z9piufbL8p^#cResPfM5GR)Jbu6$sW@1mVTp-;#Tc8;4GZ*UQ!xnd6x3pUa>BF;eV> zxaFWS_mprYaJ4sA*DKZ`UAv>AgY*30Q;PxK zYrXd_|B~qY?_mAk2J12M&!mQE=7Bly(6)U;Y9`I74SZbZ<+sw!3GFlpa4}N{I;QH7 zOk|g=BZIm57o;A2g)7`=?vqgpL8|^#q*kZN^pSxDnMJztq~=B6yf{I|sp6y;UIJ?| z_utGa!xfAqh|7Fkgq(@qrMb4E5A;YQ<5qdVv2UhLhgNQdO44fvkf`U%5PBK=zsQ=< z{E;>B_%F+vK*Cd`%#((!O9P=wih0FedC<<+0U%yX6xK`eK4WnB0kSRd8%-cy8FaSL zG33LXbMa0yBRacfnvsVYMnO^Q4PWG`yp?tT2|!j`erFmo}138b@@BN$SMc)zJWGd6Izy7dn{YJb~&}{`331IEpEJ zFQt?XJiJs<5g;%2t`kwLi8(g(73pp&NwbM^XrOFtcMUZuL`{LW#|2u}QB%hVkW?$K zP^lC+>73cDH&;54Yu7;}#=O6Iuy4|A;GC`Pt!d)0yu`SVjNY4Nl;kkWk+wEoI%{TX zCx90f4vQc@+)c$ z2O=6&SZQFm=&7b`HFan4Ss5vIcteKvhQM^(cl}*F@$v50wcIbW+Cho!wk^7Fai$5~iSQn$=}X&@H1|3fZwxgEQ-|B=%V$aT%BdCyYozMVF)JFKQ;MZ%v)oVCybJsO8|}Kc43Qod?LpH<+?i}7 zY@KoBJFE^Tg%pssZQMtjvf=Cd%|%{wUSM1O-QpV~h|kkV1fET$i~Tv6QLaj#EJV0v zzJO&-J_h}M%XI4HLcg_U^%RboY92?}R=q_X>7oylS7DInKojwF{ckja3Qy?`m#}nl zf$}fb>Bhs1SK4DZpMtW>eN2lWr05_rSW{<20O7t%GiS2|?48h>hHam_b>WZ7c!GQ) zx4_hqedbMH7cODF#zU^HkCE6G--j3z8a2jRBHeU26+*>lT3n!N*J=&>KW#OUk=a+t zbtK(Ufv2srY$k!FI_|w(C;Rvf0{&8K$^<@7DaJU)XPtr~=)Uh{b=-)ApaArQw(||7 z*KXDPg13+Bab&y2+3X#OXI1fe~>SF9lT zCjnb44_9*9@Ke_hN)ZueA35pmZI?0|t^9+JDnH$X#p;DOvGu96Go}RQZw+2ouGV1l zMq%|kyW+fJ9;)7ic4OhD+gq(wS7+j-1n|^w(MrsZwk0{AnhB^hb&kZfq~9X?g1dXq zgyNd&eG01e+e9ofkIIz|O$!z)x}e^*k}J!jAJtODRnNgL>HUe|{bPFs@o>@Xp+TeZ zY8U}m(*z&#~DHUD!~nFN=ZXq za3FO^-I93lt@TA9GwI+SRPJ33zrMz=B;HeybSMHTTPJRk&y`!=d$cJK#Awgi<`bIm z#_KW)YD$n+scxnoIn(f*rd0Fo@Qbo6Rl8R&5r;Y9w4~uxx~mFyiMXG19ntNI0gaP| zbB!4r{;^>OiyHH7@X{ue>e!&=J5W_`W}Dr7^W>3*nu98M&y0~^s6sY zPp9nITfU=dJqBlz!jW{<>YR@Gm#o<}2PcCPNIu%F2^{~hl1PJaq!>S0crjsZE~hzy~0q4slTWw#YvcSGB45GKv=<2)ukC8qt<3RSn1jB&DQ}<7n7oW!&X*Zxll7T}Il~j~G-Weh{D&MhT2fl$hJzNC z^5BCiJJmBuoz46n+d$LOGF2N>V(FtFrHUNEUV+gk$|GhRX6*1wgD=ud<6z;Dh3fdC zap_WayR3LMQO71(Njhy*fcvbOzNjk}4P+-S(`gK-vFPJ9_9w8`U)J8($7LXp7}kUn zyOM44x;y6aN*ikZN2St2G=sF^Ya&3gE`~ucdG+|OEd{!(KDNU|-GTUxWH#nhLH@YI z3>!STI1&(e6LP9W1gK_&S4-@~E}9qgEXLqSU{*&FbI}UOj^^%V;K_n}Y$@vFKb|yc z@4eO@t;{?R-Y~BFWviyR(dEI*CZ$1dQ49o3H%$N5+blOzTr&iHe+z%zu{(v#u4S<@TY2-16`q*r0 zfNjVHcovR@!Yx(i!Uj_VwDvR^i}$c%k4tR_`F>@kyNMojjgXBGayw_wS6QRK4kAgO z=QxOnOqH#WusxtF5idi6jF9EJ##YU1Mfzab;zva0-z6u$7b;5@gd3ad@yU)7Z9cnJ zYW{1;gGug3J8ghDSiu%Zv{2cgz>S{)xVCV`RNNQ_8h%X+dwU{%s*;}LCYx7MocE(= zsJI{}kZMRBM!c!96O`{fVmHS|CDbQ+Pcq2L$tAR68ee>qSi7z`V9yhhCDG4{v)#b@ zi^)}yp+I$MB^l#Z*P3P`|b4OqAU4J z+flKpEaxJrZF`}ILm`)kircG%DDWO){R@haUvtQBEO_lrB;9tUW%RR#dp#6;n-FQJ zI7gMi%YB(IztAhMSMU{@E#b38?jyg^5IIqYYm|>%jW|k$x#pB=HTJMQXX;eyf!%qK3q142&;nWJ_$OVdd_l%M&3R+g49Gg z-x5}V<0+8(vB!i<)@@{%VIUZ&4=vqi`vNIR?Q$O+MOL*6FACj?uh^4HFC8Ebs+#+@ zi3_W-2m9~Sv38x7(N49D5j$*?&fXJHwcjYKr5x#~LA3|L;hl|{ZZ4>N@4A%7m1^BQ|w zUgZ5ip?>}^KIk?t7t8>R&oyMb5~DeFqHCVPoy^(y(MES#8J%Fu+>YPbDkJq#B@?=o z$SQ3`$5Wz9K3c$R{hpgO&a+PLpf{2s@4Pjp0`oEj)#;DqzJgwX>GU_eNBg5k+zQ%P z0ZxODr*`q9X<9q>g%!PZ?J20RUmK@&CP)UVpf|%3bR-x0@mFhr$`U{N4%NpkYEK$6 z2vd~4@RAOWW;eJN#LT;py0Dwf6tcRK7W-7zNQziR{FK!}EXu$=dryA~DDFr1ihoUo z<&{{IHjzG3*?y>*J8*{bp+5}VCRaKxOGxjNYCHj}S75W>we}p06pYeKt9E5~6>gO3q%oT#lF(*{2OnRl`2o!#{!J?DfPO7bs3KvRcf$U<*fZ z*0_2wcz$^Cg%oNv$mmJTwar`~51HPjUg7GMY@~t*y);~2G_zVZu^mbbPPL_Pyr%D% zD?1859Bee=1D4!Pq$`osnvaYXJ}JqocPT076lkeSmu-a0mL=p>A)c{do6EcciVEaF z^niTG^lx!B?`pdynrLO`d0%+_<>OMj(etRRgsoL?`yzLw7mC2hPGC;@sm#aae!xed zPITym9F56DO4V8@q>|X`gil@kv<~8=(|VfFr5EOWgTb3#s8=dE_9%Jv1C*LckN<7+ zYWCa>$xfPqlu)!J9Ve~6Z2Fy^C1ql&>RZ^n#uh>kpsBW#&2fROQdUfv<@=bUq`onl zz?u#2J=+opEBKjqrMh@YTj@we+GI6W!O?J&AZ2V4Euhk~vA zDD1;R(Zk@_^&LuBD~k?HmhrZo4L;*-bUjl5`=H&RCvG(_;M&r#;?(pGd%fd@5MUsP zv_Xr~<7$UE-$BDE7lj4K{%nB`3!AAb3t)J4wbGB=g2F9Oia1Y~lpZ))onH7tiOUoTu@GHi^`4Uhs}z-|E!76{jRLvaPU37y zh9vB{`8r*nO*3A&5PUaOOfq1smggQgN1ZL9&Ak6lsm^~KApM^^PcrSf1OF^8y-Et4 zZt>M}H8RetXQjrOy`&IrGlcZ<_LPFza-~a~)GR9bXT=~GJ-SaQOH9ishmG$i_Wbsv#|Lm$1is&L$dBJ>Hm@026HZJkZzqg7$O(y* z%nsN5ZZV8BuiD!Yk%i&G+wDrs?~3C*e`uZkX}s_2%de;Y2r&Yt-)L@Hu;AvxBvn~oCX$C=Cx8}aY%C=WhtKCSU(L4kEWDFg0{-hHiC=?(8VlKT8j zpbJ$ihx;3CUhSr#?c#Dopvc~9V-h};N?7sq-x~XhBdvd_=Qr9VUVHhGj}QD66KUo( zPuXdK)ZQ1P@y>^7ijR8qYrRHS*}udV0){Zn@3c!F&b41YL9M*69L4T~*h{@ujKJOh z?c)EZqZqNAFCxmgNMv28Kf_0!c5aul^($a)-gIr z=m$+M3uF{Tg)cxE>2n$s4!tH?X(Zv^xdfd*rj3BPlmY}SNImjhgok(VSvb?%)l*}wZ{gH z<(b2uz=)X24SBh2aB0W9guT))Ey)AEHqO|qenLt^wrUdz=F34k0_QU>Aw&}u*lzr@IIcem)LNSttYeEoBWtv4HJqAy0Fx{a*5 z!|8rjC~cg@yuJ+SxVVheQhXXA_Izw+Q_AREmFDu-pKXD@pB=6v9)y4ke!sl~B1g$3 z{K3{t$JK}LR}bwI;X9wJE&upcp8wez@LBMiHDXay>_nVN6LH_u&y-u2QkL29YPncf%+dY$BTxTu1Q;+_TTZzB@XD)c$ zn-#EabDC3m!w`4tP5DQg%*@%S#o}E=JWAUa<(oi`efY+*ioo%2G%K&ao$q!2rVT&# zJ}}fkJ!_hyZFBPXL!l}JG%d6(GAv_ zX?uKe$1){z>*g}HY?@YkU)zn0QT0Fe%}KZ$Rv?)CWyt*=p{AP zXq>ORG!#mLQn7-1V)d!qro<7nk^0zDh{{D#qo;fj4R!t#%PPHd?^iW5=j4J)A#*pg z)x>JWonJMGBzv=$r~14&SIC;R5yBzk>7?W*Q`_Mc2ScfYv)WtZR=2B$H*Ll2yU~XC z*M0gVKTnVqg@J4F4cec(qZ^?EYJ6We23+PS-D7PeENW|@jY(lPb@z`ael|0HmhKHV zbJd*OY;lOy;R)jFfyuFQO~OK3DY zr=L%`uMbntKyrjpc#vKA-Pd=K4_*b{2sKIgq8ozn?Fo}ZmgC7^KHrsl+zSs#S`NoF zXuhL8jSdg`Pb>F--zB#F;A>D@nNjX|+DGIpN_Ol_xQUd%UYMg~F$s}aedK0w=lJCp z-`N4MYf5D7D3n*Mn`myn994?INFac^^y7b0{(DbIuw^d`FJ_)KSo}uIOi3Y)7S#p$ zG8c}0mqfb~_aZlb5UL!}lu$zR%V&%%tL5mV; zm?tg-IgY#S?2d|W!g zi5s65qVUw$n`pczf(|TuT3Fuqqt91@RgAY!kKaI2T3=T`zCMk{v8M)Fj1^ZdDYqA% z7o`K@V%hn=w=Ex}iDW|zN8w1E*rvtqaCF1-cor5ykw>XqLmRBMjXMceyetF3_>Wph z;6PhXcFIjbktW-qc_j;QCGTO*ET-b<+>bH>*HDnP*V8`Dnj5+ScUinoPWi8&^Zs>k z8~7WoOCgR1gniDi=OZ|fL0ofbUz=T+@9G*SU$r(TUopM_7Ft+RuNfPVuB+}(`;8{- z(A1-YX!|t8rS!TvgoB9_JUXRaKei|&)VO{P^?Kbd^J>s#!ft&+zQwL6M2BKhVqa1b z6kkx#Yh~}8^tOXG?aGv!wcFYuj+;tx^Q882R?(^thT(d!{c&*c$GUx+AU{_zb#I(; zv6Y(b%*Tc0vM{DG9zlY#vAC!49*unv>g@Yxk2-J-1g{cV;%uMS>0w1oLsThchxQui&GbGS+m6MlQRD6o3?{eon33?t1BRBz;BeQgP$C_hW zl|;UL2Kp+(vYPtJ-)>HEbG0(&PWdsdv8IhHBu?n>Try{s>eSQSffOum z+GcUUN%ybP5^G|^UUAjK0LPU)d!M!hLej(+_*RDvQAB>kXAVCeVB4zs1ur8FXHw-A zw(OdRJ|>MZR};q~j~LBI+z_5!ZTbB^eJk{qoelvjBazCxRah-W$CdUvOr&flBDB)8 z939h&I!0hqyz3CH-X`b_Jo+(UOPmwjGM76^$9x%y*ghxrtJM zp?uOmtr^Kncx8B4B*PENqA4NM29 z&ob!$a!L$?&L>L2*OoC&vEXHKHNn{(sa^X%Bd;U=cUgKMwVA_UV_=UKP0gC2OHaMD zf~%0>zNNK2=&^{?UWFh=O^|`{6t>*9K?KDR`SiKh+GHvKh+B#6&9q`~E_C%~nDX9ju&JJRB556~ae=(b zUtY&q-^oe+JvexBoi|x)CQ~n_ikJ74i*CM-$)~-&zAY)aV*IU)jw+*7YAD0=UJGDq z*%TK`yl4Nb)A(mb&vaN|!k^6E?>yIMi6j9rZ>>6uCL$m+qp2K>T6d#g zu>w0Ow>#cKRh4Q+U=krA?;iD(@+~c9toQrK>LvG!=lu(IkOJsc#7Rq~=>V-|!@Id- zn{tOXz9cvWWRunu7G2g56%lSi6yn@6_ktQB0e7TsnVIg2U3`taOvMPtYoV)b?pj77 zF*O=z_fMm3CZ`e?HZm#WavBNEWkB*$&VyKQS9n{9Lny_Su$o%;!On&J0T%b>x*-*b zQ^)JPY#9w3Qfd3MrTSLcc)`>|v4MgPMyO;uBj3m%OTTWIeXYXeXVOY z0x^xmmxw_wJ>o$` zdD&N~6^>GPgfE6yS5Alf2Ikoe75b-_a>jzq-X4?;lJlx+r}jHbtT!{h4#1^k5WY0D zkzkcI=@A+}$lfxrlgtyCDyFSp!!rP(cAAV#Y}IjbvAyOT=UOWfwE5N4++&75CX+NPK+MiQBZTpiJqAm-rxPxKzj6HyRwtR5;NrE$Y?GAxIidi4iq{x^Xp#?8d@F;9+h zjn3MclAXsb%Rio^{zijKp`nrLTUGs=#S(7eclJIndyn9_>#nb%EdS_6$yADjI(0lL zJg9zlv)F;SQuH>~f)!$#enu;*_WAa&t3LT(N!KGx|3kXo=RcI|eU$%^y)5(*^_COp z+;YvjUsi4OPd_tC(s78KTXsnjdA8GG){5EFsyFfp1^?vYeveXCDZQIP)-OHpxxZ~H z3JT}#*R%Dw1%5)wHN=IE)gJn78hIz^P4&j-h$L0oulCuXs4wfj;7RX0QcZx6Ulk92+D zqFP+3e@y~dmlnJoMc|uwqOg?^^%H7r&D|?T+lr?oUW|hd3g0V8buMQzehm-42H$n zcl%4G7H$oB#af%AH@LX6i_Diq)9Tbpg@eTO@ow^xq*YI>Jfdd&46WUxAKOQ1RqxCi z3Y@aXPU-GhB2s5qu53T-9^Xu^Tj@3^7tCR+of;Iw0Jucv3{f@-gdvk9YqeuVwaEGd zCu%b1&A#wW31QRb;C@q0ivYGn{KJrH-m(5EQq4HP4$On${E!6pX@&twR}FkE{OODRhaxW5gfZm};t=_e=(+EK!u#{$?8${nV?t7YpH0Qih zZbsj1{c>O4D6$ZYQ-vw?p?EuYH||oP8By>uT3&}?dtxxF$rADTWy|z~avrl+Q5ys$sI7eVQy5_jd1R=q>v>It{D8M~lsVnKB_(2SN9nxqq7m8NQ~ z7|+Z~ZXTWHoiguTwYDfag$UJJnonD*Of+Z5`?Vc=-qwJwkgi5eV>e|=QE`6a5`i@J zvc~HrwyrOtSDuj-n}sDL0m%iYxi-CXoR{Dy1wWvScYwO^rm~G|tF;N- zr09BZ2Ds^RtY0k~?k8MAZ5i6C?!h&``9`+pC6d8NZ$d0tKda>cv!ASq-nfymoattk z)t*2_*E!(cGmGl{-t>b&GOUnbhYt|vBTypwAt4-D$Vlf(_il*Q(ck#nW4)VTh^J*( zx=9_l#MS~wPa5KzU3PvBfbnkVDD58vyqm>oofvTfszR=F0k3HU?wc_RvU76`Nipcu zQZ{?Yo^Q2PS~;>?f!TC3n^c$HsnpuZvon1!?jFp=M5iy!_1#Bltdtx~r)6G-D+fOC znKC|0NpJ+@sOa^Bkcneocq7siGm=M@bM7409vbE^4TQDVl<-$rj*t{gLAq@+%y4^l z0ApHkO|8@oon{907BvOVicpRMufeeCJTY_hRpvU4Rz;edpQB3hyTVD$wp7~8b^RF2fFzj_aSrlrZBA}ghEqzqWvW4}8Ikg(BV{XxVI=58 z!tF>|>+<8)ZrYz?>=WT?Gw~(^LHfg5hV!Pr+;M5!7CVQ53v_{AU6 zz-{?$6|qvL&d3CjP*6$%)B`;5HWwfgTcED$ZAN}ZG;VdF&g;=H6qByI%SLB7<@}x8 z%5j9XvzU4fkiM|dxNs84((GDaC1ba||7MVGqdqXf-c9OLkkVP=R989fK3X+f{;pup z=s0mr9@CX@ugg}!oHF12Sbl@E@9~5lKC8w=TBQNl^RjmF<}l2+S&g(nGFEp&xk9-s z|Lp@E%aH;NJHgB{LFAsyREf^0ARjVqA<%FzI6h@&_FC!DfR&wBJ$_h}9n(W~@g+-r zIY=6Td_+(&q1e0}W}MZ|P6efottbVAm!p#}W-T~pIzzAvR@NN6=RJpGmc*KhRvZu9 zwRNO9u~zKbl-FJx?Lb66jh4jM>o8Va**WUSMp(S7?IkBm(P5aGu|nthQE z4OfwdV;;J>KN&&B{LCV`m6s^C63<;f&e)oXPkcUdbv7CYg{1s8cIKa@qj1W_a0r_i zQ|80HJep+65yjCao_Qx0+nPua}bDb^2 zJ?we0E$i3it?||$#je^-LNoF9!L8nmFE%&4Biw-oG;B2>UDl?l^E7v8%ata%2XBSo z>(*;0a;H^4TANe7TVqo@I|sok5D^cwmsC@t-l{J~5%AL7DQKGs@8^8V)*;6C?GG}< zDgtOw6t#hH_@;E&4;0$cFljP*OeG#zn^|4uh_uHM1L@M(zJX712wh&8N0s(UYTEWB z&?E_S0$6zV5r>jm=8h-%d};{L}DxTagfIu36GxM<#CvTf;MpCn%ikNW(G@7A)E z|Jiw6sjXUt7oo98_0NVv+oqJg!*>uGFl`Bv?)womtD|FP!EOz*=!h9b0v5O{PtM&cMaL?(hQStmFo)HH$?flS84#@L&|BpJMWd z_2>J^2DyEufYs&_K=$jji<6`f&gZmqGdhJ_RBxQ$c}!OEv1AFEf%`eAHSxh#Dobi-z`bxX3N~ioW##(Xm~?p2h&07Vh^- zSa#iCIh(?L;@Cf|SlR1*z3}2Q#ZMKpGRl77b@+gFvwTr_aamlAl-kGe0&i4`OmZ|J zcK)ExaY5aTxZfTH>{|JTY=3_i;teq}*ef@Jo0sm*@FwXoK8|GJTsIVP?E@Txvy_@t z_gY0c-e9g=`4)PP`JeMPmE}_r z+?87N$Enl0#I`KyJT!2(7il`Yqst+48mh&PW-@lopi*Pia#&Vuk!q=9ZMh}5Vt*h! zh>l=!S8DMh8g=ZFSfz@Slo%H!M|a_x^jy81=6F)-jBY@d{~+qaEx&NnI&cB(D#<=fvP*r;ytARK9eNwQI$+2cj>IBV{16WC&g&qN2 z@IGEXYZ`*UF*S>cQCc4=>Ohq`((ArX&k4Y*7Y7=N*4bpBIwAv(i5X_uu9V09wSl^2CY3DxAui5ol*KsVK!B56{ zv90-@USdA-8rKq}SgUFzIm8T5FfbHyFq^`zp9LU@1qrNXuxpeFWVd2`C*V26I6d`9 zFKV#mOl$Ms7%vVE?!0ylqHtIwWSIAliujSGHoDj!ySi579muUh+d{0}D zTZN&*pf2MvS7MRqTdNb*Y|;0)DykBblsLyIZUTr7Nm| z04}dR_lbITl4}TDBww{o+n(&}EacNK)6q5pwUwuavw{^ZRo#1o=!0_SZ{yuNd0y`C z2`d4Gha2d@Ev>u?eAY;OwnE3XB{&eQ%r$#Ks;vaxa{x!B!kLt>YGoFeQUfpQ^TUIh zC$|RQqz}anN=p=L=9=)R8FdJyhFAv~7NVgEp7P}2>?W&{EK8_r-a*R?SEW6L5OGp^ zl8H@NLE_;}Zx+fd^zn;xgL|N5P{TbyaKcRQoF1Mb^@G7*GKKsEq_Up8kprhNUpgh* z1XiVad8x>)HEj|5J5svXYwf{Mq(y`UfHa29fiJ2(+wLobgoN%lT4|D#;qFs@I4l+^ z?e9NJ?)_lOy6c+OtX%fOVtTj^sNk>3&C#y@K?)KlFL5Qho!H>xHt;J`$;!?T?vh|z z<_BOTT`s1zoY%Oidk)g5E?liU-|#UqA5*N(zMq%{>GQhgDb575%DuS42@d4G;)E#0 z`hR`V3?u=Bav_@B^JavafTbD$#`*$*%XhcY^5Bhw`0j{ozS%B9V)LG>_^AWYVJ;k4 z1vh<9O=VnkpN4QfNzkXj`R3%z&m-O?%u3?!IfNhNtXosr8fg2r-fqltp!BRrBvZmO zOM-t)LmAe0Umgev54H(+VU?F#+9}zo1{RO)qxS{7N7+Y!oHya59!Lg7Zi}r}_@x?V zRt>G2`JG9brFtGc`Dsp{_Pr>ma(zDaz0jjK=JG@PWy$9+3Eiee^? zqHanVuD4#OpFJ*Oi;k$ld7nJm(b*WIT>GXn(YXt~w4C{T7rh2ffP^CDB;C*D%Boo( zFcvKNlCk?Jm`h9V(#EnFcs|7rnlAbF0)uhhtXf2!P+qRhU67z7fp zw_QwpOA%nZ1cog#1^hkqc0g@#B`qbFyNZ>+hUOJ1uutrQ%p@UlB~? zni6j`_%FrL+4jV%jyu74V6p3|l~8(vXofdasu~mA3A*5(nn6&7Lw|@?;qhyAsNit$ z4mh^*OIvuS-_trtauL1w+Y>2kCg~4(@H<*?rmS!L>;kXj;61ElAf8H!-l?N#Pj(`4 zygs!}Jb3M0e)z ztas<9@s~0#^N@Ve?%A(mW|K(LTH_>lVE2DsdGNhTW^Mwz4nW2TJjOlzwc-q#Qu3zgD#c_UHT|9pD2!DP15 zc6#d0BK`A3b#GH|k=)(X6tUXg+;d)V=l7@&trL|jR2daR86LQx}|M@n`L!@Z1PWst*a zoIz!iSuCH}S%;Ye5nR-J z$SYP5L*8wm3Pew+CAUrBiJ!eNx23LARI1QHt(#ki;)b`(ZsC9|n|gasl$GM(r!T_~Z1Jz!b6$cD4e(xu7TblZ zkXNc9%8nPa$xP{SdZ~JIRM%PDIeY#wRGAY+>-ktu%n?Vv^%Xc$gzmbVN z*sIWs!Qc91e!E2M+BDDv+E`>;x|-Bz%2&+5Qh4i{mVd7-7;F7%tm(I@PX*WVK1OJ# zmF4HFWE5Jhng0FvR4u-f%HL&m_YkYB7FlxTKkA>+NP?o*HKPXzgw%XT@sPE7+6Lw`_&H)$2N61ghJW zufTLz_0tIoa}-pBTLjj3!NGB39LKS#l*x$);#Mxk4UB|%`9HQ+v_K%`{e7_a_$-Au zPJg=g0BO>InH0~Rw|S5otW!tgjEed~?u0gRnh%9Ua|L(37mP*QcKdKKg)QWkZYtG! zSkJx`sz-GlZx~p%qTZeGr4e_pSSo0mH%6FGxu=*Zad&8~UywjW(LH8;@B~}-H)N12gT8TO6U=nl zDp-ywS=I(88w(!uB-Ygw)25i(9uOH)@1`r*bLrS=eR3!hvl>vTDrmT#;zKqna%8d( z#%@ZThUf^SZD0mkGE*DlOvhcQ1vfTfX;d=4BCU>cCp=FvwVJI}d;8S?%XIRO5i(3B z&4#fOCHsRkme0{&szmxE2O5oIaNyhlp`^7olslQh1~BUZ@pzl)6x7J1PItj}l_Ai9 zmyDgg{h8Zb2$+|%xWgab>tM928peVh_r5N#OU|8TM}KaXLX&aT0J9vj(K2_TG!&8K z5WZq_D`>>bm85+*Pwc(U^`1n@YJ4IME!T;9KP2>zVO+&3f#rU zNHPrOl$HSx0wG9bTB$}MxHxCJ-LF%x|N66L61*eyLC!9`)p~ zj6j_>s=lpb*&ryjLr9%+dKW%5m4v^)njI_%dWfg0lt-#1JduZ}4SIXJsBcXhde zmuVdb%G`({V5VEsv>q5lCo%&m3O8bWK`ScJ)A`DS3M@Jk@ijx75*WowD_v0K`EEqu z9Zv<+a)IA*vm{}}t$o4u>?6*O<9I|&@@Q#ylYq7fN8C?99BeHuIm3@|%z~>lIYY8y%WbFV z;IwpUkM|C*(j?4VE|0gC@}y}|ehlqVnsFA247D`!;GEzN)7qdLo^oP1!3l%W?p=NH z7I&k?g4&&*+Qi1>qs2W(r!$cUcGZAxV@0Os>}&8{YBgk<>ohWI{+F94(flY z!oMRs^WYcRnLPJjWM=><%8VcHYeN1_U*#(6_fVj>T*MyLy|?O$X3Ew_$( zi6#EY_cIVk%HRKUOCR)PwA=$_WScLM@1xj13HeO?Nbo*F`*98^5*TevK2<#1TA;^t zoeOWS4^Q(hZn|4v({sC&;8BdztTF2N3213p+xKF5>14WOPgGIk4n;m_4iV^8F14SD z@FtnE_S{<*E`aK3HZcuY>(GJb&I&q=_IdT&GdC02-oXVTvj=c0Bj%}9zc~U2JZ~t| zFza6KwSnkpB;Whlq!MP;{h2iQUY~dCo<4Xc)sz(R7ro$&weP9*DJS?`Fvak$&=VYH zKPVj*^_QE`Lx@`Z0}lu)Yu*ts4N#{C*?B>#Ah2zsbGg{mS`u2 z;8BPi#B{$JH5U}dmFxAs!do3rI~Mxfu8Tp(5u}0y_T>;efczMqeVLjIh=r zU7Fa)eO3XB^I4(df)gJ1;OHknfWx)&TOq;Pj)5ocm=#&UuW7L;c1`iE4lm;ufS??B~Uck<$Sy&VCJ_2%CBOvRgo@ z9}Ml6e^OPUY`0seQ@Q7Qo)e-7n^+J8&7Yf}(ZeVA6T>};kI&rmp9I?yuQe7)*8z}F zwfORwx7Sm>X`RR@pn^4#>k6kM6M{VOi{#lDQ{S;KM`9OG#{ML41A_ zX{G)>xK7FPnbcJ+0Ev|M;TQ1P6J`Y0D@$Ntn7$O;tumUm2k!~-~~i4jD*IT5ZB%JB^F;e#DE5Ck2oSZNjMIu6m%fA zXcxXtF&xT!QoKrgep1(J^L)GP=&Zdbk{*AMC8!2~q(^G>F^@=|b#sf>rk=BlRDPy! zko81XRg>f3TTH#c+QgFTE-XGiFk^anyAjlW_dr-<$H|!oMIw+-Ujte+Q7P^sC#bl= zO}^%RqE$q>L|;0m8&c2V)VS(fmdiAx3}+~-8h<;5CeT~T>}U6N&X6yvPCk(y~BQWBvDWMIG%@L}|o~+|=y~-8E<()^IXN0Uk_s;D-D2|Em1miT@kTJ>B!uwc-d=4bRe*9WH_^o`_4V z;yujofG0q{zZHY=yN!RG`aN1!d`+AfR`L@-i$NijzLUYJ8pU`)f)MZKmr2>0_Yfv? zcv(S8cOy}DQx%7D20${*%6#|7#r|>bW6fc`1Te#vrM5?fKM6(vKMC@c(`b_uq^l2K zfB5p9&P+4$2QT!7`WyQ7j@W>&PUqlqahB8WdMon-7}9IkLCP9^z;^H zC`q?*1DsOdn(B>I$HaF|6R~`5A}KU`7s)B5Olle6Ks{QSr~U(hVX0`+F-8#;Fq4(& zfYJzaF149y7M<0c(L5_t5DhWYsvH8dSRYTj+t=g%6|JxI{g0dcr`*4KMSFI=Lw$C} z@i2-H^OS0?MQ4w9wfXUe0c{d#T{c?-Ujm=kKI@9A(oI#kY%{eZin05yUa*5=sGp*B zxMvdYND6mbpyN}gC?92P8FDvfHhDr(6XR;=fM8!3V>3O_j}k#ZfHpDjhbtyO2>Uo5 zAKw>ZcpuZm9U~GJR2MJK%8(;NF0gj2XN;J*x(B9c%8h2ReY4CfO|SVlu=AV?4iv)|8~17ecs%zn@u)}qurm92a=l5#8k&DD$Dc6X?AB|P2A*(Wqx$>>HEk23x@BEYNjDt0@|mAGL%(~ zqDPxGF|+X-?XC>Q>pA@csO_x|_u#mBlHw}ca()FWOnJSn7xG1#H1a%|4BKAe@DLbJ%K zM~3w$00)bCI4u7M-*`^FmRg^^@#O!Yk9JGhco1S820W7(ZKsV9seu(sj19% zB5@%t3%mq6fuvioAfi|6lEC%!$WrYrMf`f3|5?M;B}dVivCuHcuzcVqzhkaha3gR1JP}v_vI7 zM?qF?jWWVsO0O30wL;lF09hQ1#ucx!PzA4rl?46-bh%U)m$_r>fFs4*nS)isl=yJG z){(=7jHg%Q#m|f-=wLhJ1pKm;YEQ79IEkgoFwZEuGxbL$U9@)>S&&`&!lBka659}q zVDKELG&|APAk<{3tf-G-qjG+os3I@?T4a>}1QrN2e275GI%PbiAKFtfkDU`RxG`6; zO)V4)jv_P$oY+X_WVb+J9&NVH3{3WU|C~a!7D^3uly14}oh{vRkK55qhyn zD$``24=B(V3>x2Mxn}oJl1H{at+$)0XZsr5XGk(KCbjw6{?L%;d+$$x?-NKvI>%ub z8qKh{=R3=*WV9Unjo!33&-~BoD)kcR)-vp3oWv4TPY;rnjAAM09W6k)Pi3Tr43x#c zg;=T|WK9(nys%_A$7*FqosRk{5}w@PDs4c?sTDyGTiEMZn^WBXrYCHhy4KFOMv&H_4&gd1kR^j`Raxs<%Y-5Ke7?r*LpbDfE*~ zs&wf9#L+4>aY)qLZ9eIcwG4|rAX(tXVp^7i#-N9u(Vbxdy`-)Y+5b(P=}Yi77?nk_ z%ncUhzaGmIwbe<*hgHe%`%#5l(xa9us!7Et&L%Q9_Z@(U+x+vtgh&3*owmQf=bsm8 z`UGHfP^JC*HT-hK-yxVp`-NaK>5m8|2{8w~9$5}rs7`0oA5G}^Xi5)SB;Xccs^rE= zS>1q`(^(ekgF(9MT{LS2pDX;Lm=&}Q`3@e|eeGsuaW`|0WlJxs{<8IyQ04JGNoMzG zH4_>YCtTs{_*^M>+ zjtSF_w2lEYnk2^KRNzv2au#`aE^%g?c3EEIhg!LF6iV+qY*^qL4~ zuYa_;4<|B`vGUHqClmU`J<4?Wghkgl#hc?l>?hJrs;n$#U8iE8z-^?3E=z5#X%<`F zYvezimVXx;W%U|Mcm8FT0`FSjw;{t!OXcV`E{KeI7Tc_Rjm_FngPF8rv~|NO!uvoo zqU>+^U>HmP;e=&x{M!rrKib92{6)A;HIUcpQ%1 zjy)nxT$R&4z26Z3S@;9a-Z*lrq?go!dr5YSPI5^YObYxrhxdP{WwZmbwq4k{r7~;rv&J1qb>5ohnpyaK z2;uY?ndnpJmyYd~0lLbXvf;4muhFu$78FXOG%W<8i<>M|wG3B1wS3d#BQ{93X3&aO0$_?eA?yu-xE{E>ET))lF84!R2_%YK& zJThX>lJXlrpw$EZ`b-Zp7|#M{uB#qC;+^u}s1vZ}SEyHTjg{?p_<|I9a{h|c$YxgnlA$6fCH!CgwP-sL%Y~AAN9C>YTIn2gwco@zg zNo71TeV;+IAwX?@sDbpW(K^!)!*O%HvRiJ`-1o_bE}83>??wi9APl{iU6l`_1W^Vv z1r>YUc2f9W|Fy+^ts}_m=(%6(s6FN$xa)yP>(x~FhVBx_@ytN{9-eb z^M~i$nsL_=Pfi>UtG$JmVTV2!l6-mNSB{wU@f= zEoC%S8bP_{1*sP{C*A<9K1mC%w=WuIJ2SO;xO_^lr5CyH&F#;lC3UvQtWRxT5Y4& zY$x_)M^x(56rTXkOPoLaoq_M~?f!k$F{Cs2_i$s-0pDIoq)QyvQ0?Ux!EG7?eicNR z&V?yG<~HC#m$=BMzgPaR`=3F+HZ#wv4^Gxz89w7Bd+x%EcCw%Av2Pg>|F$jj=u>@_ z7x(vDB3DGwih25$b30+iN~q-?@H^lEcF4VC#Q*x=zo0m~>u_~Ux%MP!*89R$Vilcl z=X6!N6N9b#C*a^DtQ~tR`L?pp!=&l7q+**({)S{(muhv<@XG@sgdW?WwKKRaTw8It z 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 literal 0 HcmV?d00001 diff --git a/docs/images/SAP_BTP_Developer_s_Guide_Overview_61b7816.png b/docs/images/SAP_BTP_Developer_s_Guide_Overview_61b7816.png new file mode 100644 index 0000000000000000000000000000000000000000..f66719401ab9664822e63ec1f36d81781da1daea GIT binary patch literal 18845 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⁢VN-0sO8KD!J9KF7lpqH7 z7hr3OAuD492OgD=hL|D+By4!-Rp|Rn6NH!dkUuw~)bQm$la{$ZsyTJGiKccIoe8Zt z4P&n(TQBq&*h97?8d>B^S7e7>OF>0kdxJ^re()`o5`drqruq&~bNi9}Y@^})wI?jg zr+u@g5h@stRH8mP8_1Lg4StX@nD?=Ab+lKxq^Dq`z~Q4`IfL&4rwKPz@VaBP3KoDO z1dlOlt;ukkrw6TpV%lvbo?Gv6;IC(zqHbpy$AZJ#9*5$25wT;GYM&7s=euramD87S z1JN8^4A05Fqewrfs?Q6SG3cfMwfQxM#ryAH!~AdPn(z+p$6sd68wKuZdGrnc1$Zkp zMBogb&OLR2|3En-j#&MYIX1rmxcsLJf5zYdv@Yq{xu08zi-2gAfHoSY4qX4It8Dfh z_aFH8X8@d>zQonxlZnQe(|s@gb5#C2408d%Q*DK?L!E)Jjq(X{gKNwGoL@$iNutaW z`I*0jillJsGX8{Q07Xq5hdS;dRIqVIWdGrT0NdS~cF9RUI}4WX{INH;ec&00m#=9* zUb({_9RscqA{a0xeX)9eHW`v#!TmIG!@K&bK z!bMMe8WCZ5*Y<^xC)UJ!jj)tNA{qK4A}4vjV-N-}i6pK2i(ctkI=I!zkHN;n`nU2^ zpCkY~dRGd@3r(<@RX_$R6TA z6|`J7Du{U;O_CZ?mLm;zcw`lAmf3Yh2B}=pemr-Jzo6Cq*_*z5-eX`B6j3gYBt|rG z#U;P!a8K;(UgBMuejl^iqtB@+c)CPmhL0g)il(D}og2C+YEaA>(Nu6KKi|+8oBaLc z`Nl_8#MCVT>|HCC@$K1y#Xu@Pg4P35iI;AV7_%4V?1DSI)muIm+JI7qWDEF&dSBYP zX-$D~PCjgod6t*giCOMzqy_A@vW3!7^ZHdXLIZfIU)&jAIe2e1#;Wee+FfFI@3}&& z?X`fq{EtxE<4GZ#LMM;M!xqnd=d!=jT|?6lJ;17@7^Ci|%!P;ftbtYLTBCR1$CF($ z4}J%({1luMyy+TdohVVY+hUpbOeH#3$mK0P)V!KIc3XbxdP-4Fd__sjim4+9&e=|~ z!QhdH5e$@fi5cLXuwKCLve}wU;YVHRO*wjgm`~iCnHL>YpCxP|2M>xH z*`K*j3He`@U3oZ^Ya8!`N<`U8&KyfoAv=?agzO9r85){nP1M+CvX+DF*^RLcl|e(s zmKz`b&gnbX^?lzt-~2JxHS<32^SsYI_jAAZ{rmmyc`G&u z_KvjpVm~b-d|f&c;@g09Xeu)U;A0zZqD25nY0gXOunt_at`-8n;4oaE&#}QI^MR5X zUoJ*No|jkfgb4=QK=$lAk+IZ=ULSgJkoTn>D9!l{yITEA6fO@S>st1e9f%jKFmCcU zABqZHE3+Top*@6}oxbF=yB(~jD*e`)(h`^b8ru|_Wa^y!B#s}m7pf*Pqo~|OHRz&G z@4w1qUwRJMh-DJ3K2}zACC~)(rX);hX@{<-e)};a9QiUMXo6Ky0a_zuu78c!xTCak z##|~WRu$GzC28?&&*e%vaCN}`&ZUs#Hy~cK)5QwsQXbHjBPJxegkcgU;m`$L^(Z=X zVvP`h_ZW9Z+Xc;K&LCN<(N`nNI7d&vgZCEM zP;~dy=LUzFH}rVzP`=zVxp|?0F=tTVLF!eXhPq6-C(29rzuTc05KWi(lEdS57Fb}c zefPNwYssvl=x^ga5eiuQg>_BfxNuk%$~#!1^C@qiP2S7_AOtf?0~|#>7NF9p%e(x~ z-LKN9>y6ALM3+rPM zPv56bS50YHN@HqIg4JsxHY6KAMHEb{ZcJVMgTZJsWwtLL;NFOF*Ec|uf11fmo zTe5KOdSt{tkh<3FN96skM{kwTtD#L|M+_D}>S_A8%h31cirxK$8r%xsIkaXgD4lFr z2&>kt@wTa&O1(2h6KbZuGeUa_Bxb5ORNfJOWvoJUOT1buHsgd>BGyT~UUZ zg?847^SSHsEkbZY#Jx|OpTt_J7t}e16Kn8vy}})bSU>fG_@UsQ+QO7-f7D&?7@{Ls zH6&HNLt(J6)Ba*RaTc~{OB^G*__o{-0hm94sW}kw^%(Ca)x&a5hm2243}o%L{(UG- zqKoPxf%7R;^cW~iSeQL>BpBjw_LyA3ie?shn09aBR_v=4gzYbCkn~D(ydoV|X4^Is zcMdwk&MWgZ#j;yYvh-RQBuTGe&C_i5++rTJ-Mq`#@5{{W?C--F zACGz*dS+_PZRAab%zB-t27V(8r-mu zIn?!m$3U(XQ2xM-TwW6dh*1E*fO;B+DSm!}H$GEdE7{>KRr{~Rvz!v9`U?N8Hm95% z+Gu_9Pw1SToDioSANYeU=ODj7sIgZ8|ZW%`#(sit?8gw1Q5*i*F`%{OaESx_y zTb+M=&4JS3z#aNx41Iy4gUq}uUd}Ym_(I8Gv71kvSBJd&$r^iku4c<0`pS0X)Sv>YC^eIv?-qTk}*#Ktv#&j00{=Up-J)yR0nhp zUq?0s!&1N?=Qq;ZV*QXQ%5C3yJTnWX-=p5Tx|(>q-E&z500rzfL#GdX!V>_7Hu5`o z41fZvPn03OF`EqWAKMz>Gv>lYx2VTW#{kNJ07L!w0!W$V7(WqvK6`ver&auk60wi3 z#{`S~AVdF`o&Z2hIXb={G2A~DBK#jGc3QKaUHXOcZAzICux-5TP#7^On# zu^1IB45y%?2eOsLG;W`_P2aQ}OEx5Oc~XVQ7r9L2tou^}NjRrSAd|c|r)c*U9q`u% z7q`RUtXWE?=4B0COUv%SvEUJEGb%>-`N=7=oKBUTPjA%wM{|r2A#Y5fa%@?QxQc}R zC)b>!6jgK3qgKSGSR~?!GG@e=a`~+Yo!)Nt)x7@|H4u$>vBy{Vu zevn>TKU_7C`>3Jo*bXb+P&F;&z|oj*gJ*9l=4)&}&-xTX5?FA3dIV$GC@WEM&iR*Q~ad(CqFd}0v+Bj>8k7TIZL(f9sM5XE56YL5M3;6{dHMr;yn;wX% z!o=Qz96zTPF&#o`T}9utW_Mnb0G`e0BZ5pGZ?=)lts!$L<|1BG{4KX6U0u*}w!L+! z*yyDr?4f7g0aG0l@=V;r?32~bA~qT6lT+foPROBrO{n)gB~#;8S%4z2R&H4k=_5-n zc3{-j+^-V(tcA#Bt-sx<{lH-Rle+V*!hn)DADvszY%9&c_Td6kzqucw>_og+Vt=q3 zzW%yRNW0$Wh(_YT$wsDS|IlYM=jNHgC3a|2YBr?2XZRY2;dv*Ac{qV*U3(uAM%P%+ z2+VRU8#IBIYK=B_PhHV&+LcN*(}k~9>cT2#uap{Ht15hXzBru9_I^Z#*l+6(e({%NeOft3hEreuF$~wt7W3p(wUPrNJZy0{#TNr0uv%adR-!yXrf*t^n{3l}R zcHktDOh_@{^u=?5lubk!xPBl#+|)|{=mZ#agRFXU^>mIAM{g~gPIClGNQ5MAh@m${ z*FQ=`fPMhU1fcZZ+NU=YfDiwy&ZMLIK8=#=sMO!{#Ilhhp8))UzZg~p37)`Zd!mIE zap@oWl4K9_d#n&p{zRw3{0`$wq`4zJ{wAv&8m7*H)O}v_@}!aI?cZ_`q0$w8fv2)g$wty*_8jmG8S`FZRILNa4&5Z{s*!T2l`Em!8CF)$*iop5EKunGY}Fpn zsBLk!6OKrcO26Oz(J5CZPN*W#ZkRGq<9Z;$4rz|-aq>?=AV))8H2U<)q{r3X!<6md zXKKwt>W&ZK+cXPZ41ag5y_&ru-(Ob~sO++)gH42FVt?)gIg1Kql7CSoW#hhLEcn?j zL-FL>5e5kMiDFf1N#}Oih-G2 z)Z$C>7L{zrq4nRn_4iInr3f~n28XP`=XfFBjeB%(X^3NR^9ms@(Pp<@K*3Iw8}?xC z=w7Gs{0nhZPP=mk`B5;z8C!szX-@k|?64Oit?4&1hL!C1399pYH;cknSn zLc~!X6j0Xd|Ab5vc(mNuh%MC^%!Xt=@2j1W@929KqsBt2sB4@+6pZFi$|lra&Ajb$ z%RJ!sa;>xaUeoiAjVA`13kN%I6gQbT7G8($S3MD z)qd|J-1tyPn$KNg!8Rqt_Sxx^_a1Yx0|u{uZxU7w0+ zBJ0CD+6knc!F{6^sX>vMbf|gx!^atK@185c#@|N1y5g~7j7jSMJS;L2{U*t^1i`)` zON+;m?YY9~E33;rjdMRweee$P=k<-NfpkqsVJCvYDZYj9Gcx(^vBPhAyh4tN98z4? zeJI<`ltDO+g16I)$r9a8UXS1=`%wq;`f3BP*~FDVbE2Qn{E89x6?~tQCnjGoERFO| zt^|OHk`q*(C8J8M*#QP4D?)x;KJIZ_Wo?f$7^!NNEm`S65cR*R+Ww)-N+3}G^4zum gUd(&+=+eyEhM|ZwwPQbMWgGA^GlHHW8T=acFP;6p;s5{u literal 0 HcmV?d00001 diff --git a/docs/images/Tutorials_and_Missions_in_Order_12092d9.png b/docs/images/Tutorials_and_Missions_in_Order_12092d9.png new file mode 100644 index 0000000000000000000000000000000000000000..bca20b68b4b40c2f64e8940b54eadcaf74312472 GIT binary patch literal 98114 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≻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 RU;SjL%0mr>GCA|${{;ZCs#yR4 diff --git a/docs/images/Design_an_Analytical_Application_80e21cc.png b/docs/images/Design_an_Analytical_Application_80e21cc.png deleted file mode 100644 index 16c97067ecdf80c789848eb6ed2e225be8567002..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26295 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 Y)6@2CJnIMGrz&SORCJVU6dwowKX*o#lmGw# diff --git a/docs/images/Design_an_Integration_Service_c04a651.png b/docs/images/Design_an_Integration_Service_c04a651.png deleted file mode 100644 index 903c792594bfad5f26e22d19f587099ecc0de8b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20243 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 E0MzTYCjbBd diff --git a/docs/images/Develop_an_Analytical_Application_a994982.png b/docs/images/Develop_an_Analytical_Application_a994982.png deleted file mode 100644 index 938a6e09f4d4ce09361e814314d93022802d268c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31995 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 diff --git a/docs/images/SAPCloudALM_operations_d378eed.png b/docs/images/SAPCloudALM_operations_d378eed.png deleted file mode 100644 index 87b505a6b1dd5bc21f261998e0e1d81caf9ee212..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48853 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 `f$zNQ|}lbTwUGW2|!>PU`w0L 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 NvWk{+(M9v1{{kQ<(#8M) diff --git a/docs/images/SAP_BTP_Developer_s_Guide_Overview_61b7816.png b/docs/images/SAP_BTP_Developer_s_Guide_Overview_61b7816.png deleted file mode 100644 index f66719401ab9664822e63ec1f36d81781da1daea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18845 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