From 1ed7df159306bba7cd59b1ffce17532a8c18340f Mon Sep 17 00:00:00 2001 From: Yao Cui Date: Thu, 10 Jul 2025 19:14:59 +0000 Subject: [PATCH 1/4] feat(licensemanager): generate library --- external/googleapis/update_libraries.sh | 1 + generator/generator_config.textproto | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/external/googleapis/update_libraries.sh b/external/googleapis/update_libraries.sh index bc22853b39cbc..b2aeb43c471cb 100755 --- a/external/googleapis/update_libraries.sh +++ b/external/googleapis/update_libraries.sh @@ -186,6 +186,7 @@ declare -A -r LIBRARIES=( "@com_google_googleapis//google/cloud/language/v1:language_cc_grpc" \ "@com_google_googleapis//google/cloud/language/v2:language_cc_grpc" )" + ["licensemanager"]="@com_google_googleapis//google/cloud/licensemanager/v1:licensemanager_cc_grpc" ["logging_type"]="@com_google_googleapis//google/logging/type:type_cc_grpc" ["logging"]="@com_google_googleapis//google/logging/v2:logging_cc_grpc" ["lustre"]="@com_google_googleapis//google/cloud/lustre/v1:lustre_cc_grpc" diff --git a/generator/generator_config.textproto b/generator/generator_config.textproto index 833e1bddaa3c3..1ea838112d254 100644 --- a/generator/generator_config.textproto +++ b/generator/generator_config.textproto @@ -2811,6 +2811,14 @@ service { retryable_status_codes: ["kUnavailable"] } +# Liscense Manager +service { + service_proto_path: "google/cloud/licensemanager/v1/licensemanager.proto" + product_path: "google/cloud/licensemanager/v1" + initial_copyright_year: "2025" + retryable_status_codes: ["kUnavailable"] +} + # Logging service { service_proto_path: "google/logging/v2/logging.proto" From 0f3fab1fd78901d048c8c11f358a6351b1d412fc Mon Sep 17 00:00:00 2001 From: Yao Cui Date: Thu, 10 Jul 2025 19:21:28 +0000 Subject: [PATCH 2/4] Run generators and format their outputs --- README.md | 3 + ci/etc/expected_install_directories | 6 + .../googleapis/protodeps/licensemanager.deps | 9 + .../googleapis/protolists/licensemanager.list | 2 + google/cloud/licensemanager/BUILD.bazel | 31 + google/cloud/licensemanager/CMakeLists.txt | 36 + google/cloud/licensemanager/README.md | 62 + .../doc/environment-variables.dox | 50 + google/cloud/licensemanager/doc/main.dox | 48 + google/cloud/licensemanager/doc/options.dox | 10 + .../doc/override-authentication.dox | 35 + .../licensemanager/doc/override-endpoint.dox | 25 + .../doc/override-retry-policies.dox | 108 ++ .../cloud/licensemanager/quickstart/.bazelrc | 30 + .../licensemanager/quickstart/BUILD.bazel | 25 + .../licensemanager/quickstart/CMakeLists.txt | 32 + .../cloud/licensemanager/quickstart/Makefile | 35 + .../cloud/licensemanager/quickstart/README.md | 135 ++ .../licensemanager/quickstart/WORKSPACE.bazel | 53 + .../licensemanager/quickstart/quickstart.cc | 42 + .../licensemanager/v1/.repo-metadata.json | 14 + .../license_manager_auth_decorator.cc | 353 ++++ .../internal/license_manager_auth_decorator.h | 191 ++ .../license_manager_connection_impl.cc | 876 +++++++++ .../license_manager_connection_impl.h | 184 ++ .../license_manager_logging_decorator.cc | 428 +++++ .../license_manager_logging_decorator.h | 191 ++ .../license_manager_metadata_decorator.cc | 330 ++++ .../license_manager_metadata_decorator.h | 196 ++ .../license_manager_option_defaults.cc | 81 + .../license_manager_option_defaults.h | 37 + .../internal/license_manager_retry_traits.h | 43 + .../v1/internal/license_manager_sources.cc | 32 + .../v1/internal/license_manager_stub.cc | 417 +++++ .../v1/internal/license_manager_stub.h | 356 ++++ .../internal/license_manager_stub_factory.cc | 77 + .../internal/license_manager_stub_factory.h | 42 + .../license_manager_tracing_connection.cc | 360 ++++ .../license_manager_tracing_connection.h | 182 ++ .../internal/license_manager_tracing_stub.cc | 399 +++++ .../internal/license_manager_tracing_stub.h | 202 +++ .../v1/license_manager_client.cc | 486 +++++ .../v1/license_manager_client.h | 1570 +++++++++++++++++ .../v1/license_manager_connection.cc | 277 +++ .../v1/license_manager_connection.h | 333 ++++ ...e_manager_connection_idempotency_policy.cc | 142 ++ ...se_manager_connection_idempotency_policy.h | 115 ++ .../v1/license_manager_options.h | 87 + .../mocks/mock_license_manager_connection.h | 335 ++++ .../samples/license_manager_client_samples.cc | 206 +++ 50 files changed, 9319 insertions(+) create mode 100644 external/googleapis/protodeps/licensemanager.deps create mode 100644 external/googleapis/protolists/licensemanager.list create mode 100644 google/cloud/licensemanager/BUILD.bazel create mode 100644 google/cloud/licensemanager/CMakeLists.txt create mode 100644 google/cloud/licensemanager/README.md create mode 100644 google/cloud/licensemanager/doc/environment-variables.dox create mode 100644 google/cloud/licensemanager/doc/main.dox create mode 100644 google/cloud/licensemanager/doc/options.dox create mode 100644 google/cloud/licensemanager/doc/override-authentication.dox create mode 100644 google/cloud/licensemanager/doc/override-endpoint.dox create mode 100644 google/cloud/licensemanager/doc/override-retry-policies.dox create mode 100644 google/cloud/licensemanager/quickstart/.bazelrc create mode 100644 google/cloud/licensemanager/quickstart/BUILD.bazel create mode 100644 google/cloud/licensemanager/quickstart/CMakeLists.txt create mode 100644 google/cloud/licensemanager/quickstart/Makefile create mode 100644 google/cloud/licensemanager/quickstart/README.md create mode 100644 google/cloud/licensemanager/quickstart/WORKSPACE.bazel create mode 100644 google/cloud/licensemanager/quickstart/quickstart.cc create mode 100644 google/cloud/licensemanager/v1/.repo-metadata.json create mode 100644 google/cloud/licensemanager/v1/internal/license_manager_auth_decorator.cc create mode 100644 google/cloud/licensemanager/v1/internal/license_manager_auth_decorator.h create mode 100644 google/cloud/licensemanager/v1/internal/license_manager_connection_impl.cc create mode 100644 google/cloud/licensemanager/v1/internal/license_manager_connection_impl.h create mode 100644 google/cloud/licensemanager/v1/internal/license_manager_logging_decorator.cc create mode 100644 google/cloud/licensemanager/v1/internal/license_manager_logging_decorator.h create mode 100644 google/cloud/licensemanager/v1/internal/license_manager_metadata_decorator.cc create mode 100644 google/cloud/licensemanager/v1/internal/license_manager_metadata_decorator.h create mode 100644 google/cloud/licensemanager/v1/internal/license_manager_option_defaults.cc create mode 100644 google/cloud/licensemanager/v1/internal/license_manager_option_defaults.h create mode 100644 google/cloud/licensemanager/v1/internal/license_manager_retry_traits.h create mode 100644 google/cloud/licensemanager/v1/internal/license_manager_sources.cc create mode 100644 google/cloud/licensemanager/v1/internal/license_manager_stub.cc create mode 100644 google/cloud/licensemanager/v1/internal/license_manager_stub.h create mode 100644 google/cloud/licensemanager/v1/internal/license_manager_stub_factory.cc create mode 100644 google/cloud/licensemanager/v1/internal/license_manager_stub_factory.h create mode 100644 google/cloud/licensemanager/v1/internal/license_manager_tracing_connection.cc create mode 100644 google/cloud/licensemanager/v1/internal/license_manager_tracing_connection.h create mode 100644 google/cloud/licensemanager/v1/internal/license_manager_tracing_stub.cc create mode 100644 google/cloud/licensemanager/v1/internal/license_manager_tracing_stub.h create mode 100644 google/cloud/licensemanager/v1/license_manager_client.cc create mode 100644 google/cloud/licensemanager/v1/license_manager_client.h create mode 100644 google/cloud/licensemanager/v1/license_manager_connection.cc create mode 100644 google/cloud/licensemanager/v1/license_manager_connection.h create mode 100644 google/cloud/licensemanager/v1/license_manager_connection_idempotency_policy.cc create mode 100644 google/cloud/licensemanager/v1/license_manager_connection_idempotency_policy.h create mode 100644 google/cloud/licensemanager/v1/license_manager_options.h create mode 100644 google/cloud/licensemanager/v1/mocks/mock_license_manager_connection.h create mode 100644 google/cloud/licensemanager/v1/samples/license_manager_client_samples.cc diff --git a/README.md b/README.md index 10f68f73f7320..64f25099db52a 100644 --- a/README.md +++ b/README.md @@ -299,6 +299,9 @@ See each library's `README.md` file for more information about: - [Cloud Natural Language API](google/cloud/language/README.md) [[quickstart]](google/cloud/language/quickstart/README.md) [[reference]](https://cloud.google.com/cpp/docs/reference/language/latest) +- [License Manager API](google/cloud/licensemanager/README.md) + [[quickstart]](google/cloud/licensemanager/quickstart/README.md) + [[reference]](https://cloud.google.com/cpp/docs/reference/licensemanager/latest) - [Google Cloud Logging](google/cloud/logging/README.md) [[quickstart]](google/cloud/logging/quickstart/README.md) [[reference]](https://cloud.google.com/cpp/docs/reference/logging/latest) diff --git a/ci/etc/expected_install_directories b/ci/etc/expected_install_directories index b071b41bb61da..96e969a3fa672 100644 --- a/ci/etc/expected_install_directories +++ b/ci/etc/expected_install_directories @@ -857,6 +857,10 @@ ./include/google/cloud/language/v2 ./include/google/cloud/language/v2/internal ./include/google/cloud/language/v2/mocks +./include/google/cloud/licensemanager +./include/google/cloud/licensemanager/v1 +./include/google/cloud/licensemanager/v1/internal +./include/google/cloud/licensemanager/v1/mocks ./include/google/cloud/logging ./include/google/cloud/logging/mocks ./include/google/cloud/logging/v2 @@ -1466,6 +1470,8 @@ ./lib64/cmake/google_cloud_cpp_kms_mocks ./lib64/cmake/google_cloud_cpp_language ./lib64/cmake/google_cloud_cpp_language_mocks +./lib64/cmake/google_cloud_cpp_licensemanager +./lib64/cmake/google_cloud_cpp_licensemanager_mocks ./lib64/cmake/google_cloud_cpp_logging ./lib64/cmake/google_cloud_cpp_logging_mocks ./lib64/cmake/google_cloud_cpp_lustre diff --git a/external/googleapis/protodeps/licensemanager.deps b/external/googleapis/protodeps/licensemanager.deps new file mode 100644 index 0000000000000..3797f67d24463 --- /dev/null +++ b/external/googleapis/protodeps/licensemanager.deps @@ -0,0 +1,9 @@ +@com_google_googleapis//google/api:annotations_proto +@com_google_googleapis//google/api:client_proto +@com_google_googleapis//google/api:field_behavior_proto +@com_google_googleapis//google/api:field_info_proto +@com_google_googleapis//google/api:http_proto +@com_google_googleapis//google/api:launch_stage_proto +@com_google_googleapis//google/api:resource_proto +@com_google_googleapis//google/longrunning:operations_proto +@com_google_googleapis//google/rpc:status_proto diff --git a/external/googleapis/protolists/licensemanager.list b/external/googleapis/protolists/licensemanager.list new file mode 100644 index 0000000000000..b8b737b22443a --- /dev/null +++ b/external/googleapis/protolists/licensemanager.list @@ -0,0 +1,2 @@ +@com_google_googleapis//google/cloud/licensemanager/v1:api_entities.proto +@com_google_googleapis//google/cloud/licensemanager/v1:licensemanager.proto diff --git a/google/cloud/licensemanager/BUILD.bazel b/google/cloud/licensemanager/BUILD.bazel new file mode 100644 index 0000000000000..0f37940349329 --- /dev/null +++ b/google/cloud/licensemanager/BUILD.bazel @@ -0,0 +1,31 @@ +# Copyright 2025 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +load("//bazel:gapic.bzl", "cc_gapic_library") + +package(default_visibility = ["//visibility:private"]) + +licenses(["notice"]) # Apache 2.0 + +service_dirs = ["v1/"] + +googleapis_deps = [ + "@com_google_googleapis//google/cloud/licensemanager/v1:licensemanager_cc_grpc", +] + +cc_gapic_library( + name = "licensemanager", + googleapis_deps = googleapis_deps, + service_dirs = service_dirs, +) diff --git a/google/cloud/licensemanager/CMakeLists.txt b/google/cloud/licensemanager/CMakeLists.txt new file mode 100644 index 0000000000000..e2d626a6d983e --- /dev/null +++ b/google/cloud/licensemanager/CMakeLists.txt @@ -0,0 +1,36 @@ +# ~~~ +# Copyright 2025 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ~~~ + +include(GoogleCloudCppLibrary) + +google_cloud_cpp_add_gapic_library(licensemanager "License Manager API" + SERVICE_DIRS "v1/") + +if (BUILD_TESTING AND GOOGLE_CLOUD_CPP_ENABLE_CXX_EXCEPTIONS) + add_executable(licensemanager_quickstart "quickstart/quickstart.cc") + target_link_libraries(licensemanager_quickstart + PRIVATE google-cloud-cpp::licensemanager) + google_cloud_cpp_add_common_options(licensemanager_quickstart) + add_test( + NAME licensemanager_quickstart + COMMAND + cmake -P "${PROJECT_SOURCE_DIR}/cmake/quickstart-runner.cmake" + $ GOOGLE_CLOUD_PROJECT + GOOGLE_CLOUD_CPP_TEST_REGION # EDIT HERE + ) + set_tests_properties(licensemanager_quickstart + PROPERTIES LABELS "integration-test;quickstart") +endif () diff --git a/google/cloud/licensemanager/README.md b/google/cloud/licensemanager/README.md new file mode 100644 index 0000000000000..11bca8a396c12 --- /dev/null +++ b/google/cloud/licensemanager/README.md @@ -0,0 +1,62 @@ +# License Manager API C++ Client Library + +This directory contains an idiomatic C++ client library for the +[License Manager API][cloud-service-docs]. + +License Manager is a tool to manage and track third-party licenses on Google +Cloud. + +While this library is **GA**, please note that the Google Cloud C++ client +libraries do **not** follow [Semantic Versioning](https://semver.org/). + +## Quickstart + +The [quickstart/](quickstart/README.md) directory contains a minimal environment +to get started using this client library in a larger project. The following +"Hello World" program is used in this quickstart, and should give you a taste of +this library. + + + +```cc +#include "google/cloud/licensemanager/v1/ EDIT HERE _client.h" +#include "google/cloud/location.h" +#include + +int main(int argc, char* argv[]) try { + if (argc != 3) { + std::cerr << "Usage: " << argv[0] << " project-id location-id\n"; + return 1; + } + + auto const location = google::cloud::Location(argv[1], argv[2]); + + namespace licensemanager = ::google::cloud::licensemanager_v1; + auto client = licensemanager::ServiceClient( + licensemanager::MakeServiceConnection()); // EDIT HERE + + for (auto r : client.List /*EDIT HERE*/ (location.FullName())) { + if (!r) throw std::move(r).status(); + std::cout << r->DebugString() << "\n"; + } + + return 0; +} catch (google::cloud::Status const& status) { + std::cerr << "google::cloud::Status thrown: " << status << "\n"; + return 1; +} +``` + + + +## More Information + +- Official documentation about the [License Manager API][cloud-service-docs] + service +- [Reference doxygen documentation][doxygen-link] for each release of this + client library +- Detailed header comments in our [public `.h`][source-link] files + +[cloud-service-docs]: https://cloud.google.com/compute/docs/instances/windows/ms-licensing +[doxygen-link]: https://cloud.google.com/cpp/docs/reference/licensemanager/latest/ +[source-link]: https://github.com/googleapis/google-cloud-cpp/tree/main/google/cloud/licensemanager diff --git a/google/cloud/licensemanager/doc/environment-variables.dox b/google/cloud/licensemanager/doc/environment-variables.dox new file mode 100644 index 0000000000000..2618230a06b23 --- /dev/null +++ b/google/cloud/licensemanager/doc/environment-variables.dox @@ -0,0 +1,50 @@ +/*! + +@page licensemanager-env Environment Variables + +A number of environment variables can be used to configure the behavior of +the library. There are also functions to configure this behavior in code. The +environment variables are convenient when troubleshooting problems. + +@section licensemanager-env-endpoint Endpoint Overrides + + + +- `GOOGLE_CLOUD_CPP_LICENSE_MANAGER_ENDPOINT=...` overrides the + `EndpointOption` (which defaults to "licensemanager.googleapis.com") + used by `MakeLicenseManagerConnection()`. + + + +@see google::cloud::EndpointOption + +@section licensemanager-env-logging Logging + +`GOOGLE_CLOUD_CPP_ENABLE_TRACING=rpc`: turns on tracing for most gRPC +calls. The library injects an additional Stub decorator that prints each gRPC +request and response. Unless you have configured your own logging backend, +you should also set `GOOGLE_CLOUD_CPP_ENABLE_CLOG` to produce any output on +the program's console. + +@see google::cloud::LoggingComponentsOption + +`GOOGLE_CLOUD_CPP_TRACING_OPTIONS=...`: modifies the behavior of gRPC tracing, +including whether messages will be output on multiple lines, or whether +string/bytes fields will be truncated. + +@see google::cloud::GrpcTracingOptionsOption + +`GOOGLE_CLOUD_CPP_ENABLE_CLOG=yes`: turns on logging in the library, basically +the library always "logs" but the logging infrastructure has no backend to +actually print anything until the application sets a backend or they set this +environment variable. + +@see google::cloud::LogBackend +@see google::cloud::LogSink + +@section licensemanager-env-project Setting the Default Project + +`GOOGLE_CLOUD_PROJECT=...`: is used in examples and integration tests to +configure the GCP project. This has no effect in the library. + +*/ diff --git a/google/cloud/licensemanager/doc/main.dox b/google/cloud/licensemanager/doc/main.dox new file mode 100644 index 0000000000000..930fc598d4b69 --- /dev/null +++ b/google/cloud/licensemanager/doc/main.dox @@ -0,0 +1,48 @@ +/*! + +@mainpage License Manager API C++ Client Library + +An idiomatic C++ client library for the [License Manager API][cloud-service-docs]. + +License Manager is a tool to manage and track third-party licenses on +Google Cloud. + +While this library is **GA**, please note that the Google Cloud C++ client libraries do **not** follow +[Semantic Versioning](https://semver.org/). + +@tableofcontents{HTML:2} + +## Quickstart + +The following shows the code that you'll run in the +`google/cloud/licensemanager/quickstart/` directory, +which should give you a taste of the License Manager API C++ client library API. + +@snippet quickstart.cc all + +## Main classes + + +The main class in this library is +[`licensemanager_v1::LicenseManagerClient`](@ref google::cloud::licensemanager_v1::LicenseManagerClient). All RPCs are exposed +as member functions of this class. Other classes provide helpers, configuration +parameters, and infrastructure to mock +[`licensemanager_v1::LicenseManagerClient`](@ref google::cloud::licensemanager_v1::LicenseManagerClient) when testing your +application. + + +## More Information + +- @ref common-error-handling - describes how the library reports errors. +- @ref licensemanager-override-endpoint - describes how to override the default + endpoint. +- @ref licensemanager-override-authentication - describes how to change the + authentication credentials used by the library. +- @ref licensemanager-override-retry - describes how to change the default retry + policies. +- @ref licensemanager-env - describes environment variables that can configure the + behavior of the library. + +[cloud-service-docs]: https://cloud.google.com/compute/docs/instances/windows/ms-licensing + +*/ diff --git a/google/cloud/licensemanager/doc/options.dox b/google/cloud/licensemanager/doc/options.dox new file mode 100644 index 0000000000000..0052851856eff --- /dev/null +++ b/google/cloud/licensemanager/doc/options.dox @@ -0,0 +1,10 @@ +/*! +@defgroup google-cloud-licensemanager-options License Manager API Configuration Options + +This library uses the same mechanism (`google::cloud::Options`) and the common +[options](@ref options) as all other C++ client libraries for its configuration. +Some `*Option` classes, which are only used in this library, are documented in +this page. + +@see @ref options - for an overview of client library configuration. +*/ diff --git a/google/cloud/licensemanager/doc/override-authentication.dox b/google/cloud/licensemanager/doc/override-authentication.dox new file mode 100644 index 0000000000000..cc969df1248ab --- /dev/null +++ b/google/cloud/licensemanager/doc/override-authentication.dox @@ -0,0 +1,35 @@ +/*! +@page licensemanager-override-authentication How to Override the Authentication Credentials + +Unless otherwise configured, the client libraries use +[Application Default Credentials] to authenticate with Google Cloud Services. +While this works for most applications, in some cases you may need to override +this default. You can do so by providing the +[UnifiedCredentialsOption](@ref google::cloud::UnifiedCredentialsOption) +The following example shows how to explicitly load a service account key file: + + +@snippet license_manager_client_samples.cc with-service-account + + + +Keep in mind that we chose this as an example because it is relatively easy to +understand. Consult the [Best practices for managing service account keys] +guide for more details. + +@see @ref guac - for more information on the factory functions to create +`google::cloud::Credentials` objects. + +[Best practices for managing service account keys]: https://cloud.google.com/iam/docs/best-practices-for-managing-service-account-keys +[Application Default Credentials]: https://cloud.google.com/docs/authentication#adc + +*/ + +// + +/*! @page licensemanager_v1::LicenseManagerClient-service-account-snippet Override licensemanager_v1::LicenseManagerClient Authentication Defaults + +@snippet google/cloud/licensemanager/v1/samples/license_manager_client_samples.cc with-service-account + +*/ +// diff --git a/google/cloud/licensemanager/doc/override-endpoint.dox b/google/cloud/licensemanager/doc/override-endpoint.dox new file mode 100644 index 0000000000000..326d296fd7798 --- /dev/null +++ b/google/cloud/licensemanager/doc/override-endpoint.dox @@ -0,0 +1,25 @@ +/*! +@page licensemanager-override-endpoint How to Override the Default Endpoint + +In some cases, you may need to override the default endpoint used by the client +library. Use the +[EndpointOption](@ref google::cloud::EndpointOption) when initializing the +client library to change this default. + + +For example, this will override the default endpoint for `licensemanager_v1::LicenseManagerClient`: + +@snippet license_manager_client_samples.cc set-client-endpoint + + + +*/ + +// + +/*! @page licensemanager_v1::LicenseManagerClient-endpoint-snippet Override licensemanager_v1::LicenseManagerClient Endpoint Configuration + +@snippet google/cloud/licensemanager/v1/samples/license_manager_client_samples.cc set-client-endpoint + +*/ +// diff --git a/google/cloud/licensemanager/doc/override-retry-policies.dox b/google/cloud/licensemanager/doc/override-retry-policies.dox new file mode 100644 index 0000000000000..507977d655039 --- /dev/null +++ b/google/cloud/licensemanager/doc/override-retry-policies.dox @@ -0,0 +1,108 @@ +/*! +@page licensemanager-override-retry Override Retry, Backoff, and Idempotency Policies + +When it is safe to do so, the library automatically retries requests that fail +due to a transient error. The library then uses [exponential backoff] to backoff +before trying again. Which operations are considered safe to retry, which +errors are treated as transient failures, the details of the exponential backoff +algorithm, and for how long the library retries are all configurable via +policies. + +This document provides examples showing how to override the default policies. + +The policies can be set when the `*Connection` object is created. The library +provides default policies for any policy that is not set. The application can +also override some (or all) policies when the `*Client` object is created. This +can be useful if multiple `*Client` objects share the same `*Connection` object, +but you want different retry behavior in some of the clients. Finally, the +application can override some retry policies when calling a specific member +function. + +The library uses three different options to control the retry loop. The options +have per-client names. + +@section licensemanager-override-retry-retry-policy Configuring the transient errors and retry duration + +The `*RetryPolicyOption` controls: + +- Which errors are to be treated as transient errors. +- How long the library will keep retrying transient errors. + +You can provide your own class for this option. The library also provides two +built-in policies: + +- `*LimitedErrorCountRetryPolicy`: stops retrying after a specified number + of transient errors. +- `*LimitedTimeRetryPolicy`: stops retrying after a specified time. + +Note that a library may have more than one version of these classes. Their name +match the `*Client` and `*Connection` object they are intended to be used +with. Some `*Client` objects treat different error codes as transient errors. +In most cases, only [kUnavailable](@ref google::cloud::StatusCode) is treated +as a transient error. + +@section licensemanager-override-retry-backoff-policy Controlling the backoff algorithm + +The `*BackoffPolicyOption` controls how long the client library will wait +before retrying a request that failed with a transient error. You can provide +your own class for this option. + +The only built-in backoff policy is +[`ExponentialBackoffPolicy`](@ref google::cloud::ExponentialBackoffPolicy). +This class implements a truncated exponential backoff algorithm, with jitter. +In summary, it doubles the current backoff time after each failure. The actual +backoff time for an RPC is chosen at random, but never exceeds the current +backoff. The current backoff is doubled after each failure, but never exceeds +(or is "truncated") if it reaches a prescribed maximum. + +@section licensemanager-override-retry-idempotency-policy Controlling which operations are retryable + +The `*IdempotencyPolicyOption` controls which requests are retryable, as some +requests are never safe to retry. + +Only one built-in idempotency policy is provided by the library. The name +matches the name of the client it is intended for. For example, `FooBarClient` +will use `FooBarIdempotencyPolicy`. This policy is very conservative. + +@section licensemanager-override-retry-example Example + + +For example, this will override the retry policies for `licensemanager_v1::LicenseManagerClient`: + +@snippet license_manager_client_samples.cc set-retry-policy + +This assumes you have created a custom idempotency policy. Such as: + +@snippet license_manager_client_samples.cc custom-idempotency-policy + +This will override the polling policies for `licensemanager_v1::LicenseManagerClient` + +@snippet license_manager_client_samples.cc set-polling-policy + + + + +@section licensemanager-override-retry-more-information More Information + +@see google::cloud::Options +@see google::cloud::BackoffPolicy +@see google::cloud::ExponentialBackoffPolicy + +[exponential backoff]: https://en.wikipedia.org/wiki/Exponential_backoff + +*/ + +// + +/*! @page licensemanager_v1::LicenseManagerClient-retry-snippet Override licensemanager_v1::LicenseManagerClient Retry Policies + +This shows how to override the retry policies for licensemanager_v1::LicenseManagerClient: + +@snippet google/cloud/licensemanager/v1/samples/license_manager_client_samples.cc set-retry-policy + +Assuming you have created a custom idempotency policy. Such as: + +@snippet google/cloud/licensemanager/v1/samples/license_manager_client_samples.cc custom-idempotency-policy + +*/ +// diff --git a/google/cloud/licensemanager/quickstart/.bazelrc b/google/cloud/licensemanager/quickstart/.bazelrc new file mode 100644 index 0000000000000..8431873b6fcba --- /dev/null +++ b/google/cloud/licensemanager/quickstart/.bazelrc @@ -0,0 +1,30 @@ +# Copyright 2025 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Use host-OS-specific config lines from bazelrc files. +build --enable_platform_specific_config=true + +# The project requires C++ >= 14. By default Bazel adds `-std=c++0x` which +# disables C++14 features, even if the compilers defaults to C++ >= 14 +build:linux --cxxopt=-std=c++14 +build:macos --cxxopt=-std=c++14 +# Protobuf and gRPC require (or soon will require) C++14 to compile the "host" +# targets, such as protoc and the grpc plugin. +build:linux --host_cxxopt=-std=c++14 +build:macos --host_cxxopt=-std=c++14 + +# Do not create the convenience links. They are inconvenient when the build +# runs inside a docker image or if one builds a quickstart and then builds +# the project separately. +build --experimental_convenience_symlinks=ignore diff --git a/google/cloud/licensemanager/quickstart/BUILD.bazel b/google/cloud/licensemanager/quickstart/BUILD.bazel new file mode 100644 index 0000000000000..e8cf605f33a51 --- /dev/null +++ b/google/cloud/licensemanager/quickstart/BUILD.bazel @@ -0,0 +1,25 @@ +# Copyright 2025 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +licenses(["notice"]) # Apache 2.0 + +cc_binary( + name = "quickstart", + srcs = [ + "quickstart.cc", + ], + deps = [ + "@google_cloud_cpp//:licensemanager", + ], +) diff --git a/google/cloud/licensemanager/quickstart/CMakeLists.txt b/google/cloud/licensemanager/quickstart/CMakeLists.txt new file mode 100644 index 0000000000000..a842b149d5dee --- /dev/null +++ b/google/cloud/licensemanager/quickstart/CMakeLists.txt @@ -0,0 +1,32 @@ +# Copyright 2025 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. + +# This file shows how to use the License Manager API C++ client library from a +# larger CMake project. + +cmake_minimum_required(VERSION 3.10...3.24) +project(google-cloud-cpp-licensemanager-quickstart CXX) + +find_package(google_cloud_cpp_licensemanager REQUIRED) + +# MSVC requires some additional code to select the correct runtime library +if (VCPKG_TARGET_TRIPLET MATCHES "-static$") + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") +else () + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>DLL") +endif () + +# Define your targets. +add_executable(quickstart quickstart.cc) +target_link_libraries(quickstart google-cloud-cpp::licensemanager) diff --git a/google/cloud/licensemanager/quickstart/Makefile b/google/cloud/licensemanager/quickstart/Makefile new file mode 100644 index 0000000000000..cf50f4d7fac11 --- /dev/null +++ b/google/cloud/licensemanager/quickstart/Makefile @@ -0,0 +1,35 @@ +# Copyright 2025 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# This is a minimal Makefile to show how to use the License Manager API C++ client +# for developers who use make(1) as their build system. + +# The CXX, CXXFLAGS and CXXLD variables are hard-coded. These values work for +# our tests, but applications would typically make them configurable parameters. +CXX=g++ +CXXFLAGS= +CXXLD=$(CXX) +BIN=. + +all: $(BIN)/quickstart + +# Configuration variables to compile and link against the License Manager API C++ +# client library. +CLIENT_MODULE := google_cloud_cpp_licensemanager +CLIENT_CXXFLAGS := $(shell pkg-config $(CLIENT_MODULE) --cflags) +CLIENT_CXXLDFLAGS := $(shell pkg-config $(CLIENT_MODULE) --libs-only-L) +CLIENT_LIBS := $(shell pkg-config $(CLIENT_MODULE) --libs-only-l) + +$(BIN)/quickstart: quickstart.cc + $(CXXLD) $(CXXFLAGS) $(CLIENT_CXXFLAGS) $(CLIENT_CXXLDFLAGS) -o $@ $^ $(CLIENT_LIBS) diff --git a/google/cloud/licensemanager/quickstart/README.md b/google/cloud/licensemanager/quickstart/README.md new file mode 100644 index 0000000000000..464959ba8219c --- /dev/null +++ b/google/cloud/licensemanager/quickstart/README.md @@ -0,0 +1,135 @@ +# HOWTO: using the License Manager API C++ client in your project + +This directory contains small examples showing how to use the License Manager +API C++ client library in your own project. These instructions assume that you +have some experience as a C++ developer and that you have a working C++ +toolchain (compiler, linker, etc.) installed on your platform. + +- Packaging maintainers or developers who prefer to install the library in a + fixed directory (such as `/usr/local` or `/opt`) should consult the + [packaging guide](/doc/packaging.md). +- Developers who prefer using a package manager such as + [vcpkg](https://vcpkg.io), or [Conda](https://conda.io), should follow the + instructions for their package manager. +- Developers wanting to use the libraries as part of a larger CMake or Bazel + project should consult the current document. Note that there are similar + documents for each library in their corresponding directories. +- Developers wanting to compile the library just to run some examples or tests + should consult the + [building and installing](/README.md#building-and-installing) section of the + top-level README file. +- Contributors and developers to `google-cloud-cpp` should consult the guide to + [set up a development workstation][howto-setup-dev-workstation]. + +## Before you begin + +To run the quickstart examples you will need a working Google Cloud Platform +(GCP) project. + +## Configuring authentication for the C++ Client Library + +Like most Google Cloud Platform (GCP) services, License Manager API requires +that your application authenticates with the service before accessing any data. +If you are not familiar with GCP authentication please take this opportunity to +review the [Authentication methods at Google][authentication-quickstart]. + +## Using with Bazel + +> :warning: If you are using Windows or macOS there are additional instructions +> at the end of this document. + +1. Install Bazel using [the instructions][bazel-install] from the `bazel.build` + website. + +1. Compile this example using Bazel: + + ```bash + cd $HOME/google-cloud-cpp/google/cloud/licensemanager/quickstart + bazel build ... + ``` + + Note that Bazel automatically downloads and compiles all dependencies of the + project. As it is often the case with C++ libraries, compiling these + dependencies may take several minutes. + +1. Run the example, changing the placeholder(s) to appropriate values: + + ```bash + bazel run :quickstart -- [...] + ``` + +## Using with CMake + +> :warning: If you are using Windows or macOS there are additional instructions +> at the end of this document. + +1. Install CMake. The package managers for most Linux distributions include a + package for CMake. Likewise, you can install CMake on Windows using a package + manager such as [chocolatey][choco-cmake-link], and on macOS using + [homebrew][homebrew-cmake-link]. You can also obtain the software directly + from the [cmake.org](https://cmake.org/download/). + +1. Install the dependencies with your favorite tools. As an example, if you use + [vcpkg](https://github.com/Microsoft/vcpkg.git): + + ```bash + cd $HOME/vcpkg + ./vcpkg install google-cloud-cpp[core,licensemanager] + ``` + + Note that, as it is often the case with C++ libraries, compiling these + dependencies may take several minutes. + +1. Configure CMake, if necessary, configure the directory where you installed + the dependencies: + + ```bash + cd $HOME/google-cloud-cpp/google/cloud/licensemanager/quickstart + cmake -S . -B .build -DCMAKE_TOOLCHAIN_FILE=$HOME/vcpkg/scripts/buildsystems/vcpkg.cmake + cmake --build .build + ``` + +1. Run the example, changing the placeholder(s) to appropriate values: + + ```bash + .build/quickstart [...] + ``` + +## Platform Specific Notes + +### macOS + +gRPC [requires][grpc-roots-pem-bug] an environment variable to configure the +trust store for SSL certificates, you can download and configure this using: + +```bash +curl -Lo roots.pem https://pki.google.com/roots.pem +export GRPC_DEFAULT_SSL_ROOTS_FILE_PATH="$PWD/roots.pem" +``` + +### Windows + +Bazel tends to create very long file names and paths. You may need to use a +short directory to store the build output, such as `c:\b`, and instruct Bazel to +use it via: + +```shell +bazel --output_user_root=c:\b build ... +``` + +gRPC [requires][grpc-roots-pem-bug] an environment variable to configure the +trust store for SSL certificates, you can download and configure this using: + +```console +@powershell -NoProfile -ExecutionPolicy unrestricted -Command ^ + (new-object System.Net.WebClient).Downloadfile( ^ + 'https://pki.google.com/roots.pem', 'roots.pem') +set GRPC_DEFAULT_SSL_ROOTS_FILE_PATH=%cd%\roots.pem +``` + +[authentication-quickstart]: https://cloud.google.com/docs/authentication/client-libraries "Authenticate for using client libraries" +[bazel-install]: https://docs.bazel.build/versions/main/install.html +[choco-cmake-link]: https://chocolatey.org/packages/cmake +[grpc-roots-pem-bug]: https://github.com/grpc/grpc/issues/16571 +[homebrew-cmake-link]: https://formulae.brew.sh/formula/cmake +[howto-setup-dev-workstation]: /doc/contributor/howto-guide-setup-development-workstation.md diff --git a/google/cloud/licensemanager/quickstart/WORKSPACE.bazel b/google/cloud/licensemanager/quickstart/WORKSPACE.bazel new file mode 100644 index 0000000000000..712cada0e6b24 --- /dev/null +++ b/google/cloud/licensemanager/quickstart/WORKSPACE.bazel @@ -0,0 +1,53 @@ +# Copyright 2025 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# A minimal WORKSPACE file showing how to use the License Manager API +# C++ client library in Bazel-based projects. +workspace(name = "qs") + +# Add the necessary Starlark functions to fetch google-cloud-cpp. +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + +# Fetch the Google Cloud C++ libraries. +# NOTE: Update this version and SHA256 as needed. +http_archive( + name = "google_cloud_cpp", + sha256 = "10867580483cb338e7d50920c2383698f3572cc6b4c7d072e38d5f43755cbd80", + strip_prefix = "google-cloud-cpp-2.37.0", + url = "https://github.com/googleapis/google-cloud-cpp/archive/v2.37.0.tar.gz", +) + +load("@google_cloud_cpp//bazel:workspace0.bzl", "gl_cpp_workspace0") + +gl_cpp_workspace0() + +load("@google_cloud_cpp//bazel:workspace1.bzl", "gl_cpp_workspace1") + +gl_cpp_workspace1() + +load("@google_cloud_cpp//bazel:workspace2.bzl", "gl_cpp_workspace2") + +gl_cpp_workspace2() + +load("@google_cloud_cpp//bazel:workspace3.bzl", "gl_cpp_workspace3") + +gl_cpp_workspace3() + +load("@google_cloud_cpp//bazel:workspace4.bzl", "gl_cpp_workspace4") + +gl_cpp_workspace4() + +load("@google_cloud_cpp//bazel:workspace5.bzl", "gl_cpp_workspace5") + +gl_cpp_workspace5() diff --git a/google/cloud/licensemanager/quickstart/quickstart.cc b/google/cloud/licensemanager/quickstart/quickstart.cc new file mode 100644 index 0000000000000..f4e350228107b --- /dev/null +++ b/google/cloud/licensemanager/quickstart/quickstart.cc @@ -0,0 +1,42 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! [all] +#include "google/cloud/licensemanager/v1/ EDIT HERE _client.h" +#include "google/cloud/location.h" +#include + +int main(int argc, char* argv[]) try { + if (argc != 3) { + std::cerr << "Usage: " << argv[0] << " project-id location-id\n"; + return 1; + } + + auto const location = google::cloud::Location(argv[1], argv[2]); + + namespace licensemanager = ::google::cloud::licensemanager_v1; + auto client = licensemanager::ServiceClient( + licensemanager::MakeServiceConnection()); // EDIT HERE + + for (auto r : client.List /*EDIT HERE*/ (location.FullName())) { + if (!r) throw std::move(r).status(); + std::cout << r->DebugString() << "\n"; + } + + return 0; +} catch (google::cloud::Status const& status) { + std::cerr << "google::cloud::Status thrown: " << status << "\n"; + return 1; +} +//! [all] diff --git a/google/cloud/licensemanager/v1/.repo-metadata.json b/google/cloud/licensemanager/v1/.repo-metadata.json new file mode 100644 index 0000000000000..1f69a72224ec9 --- /dev/null +++ b/google/cloud/licensemanager/v1/.repo-metadata.json @@ -0,0 +1,14 @@ +{ + "api_id": "licensemanager.googleapis.com", + "api_shortname": "licensemanager", + "client_documentation": "https://cloud.google.com/cpp/docs/reference/licensemanager/latest", + "distribution_name": "google-cloud-cpp", + "issue_tracker": "https://issuetracker.google.com/issues?q=componentid:1659587%20status=open", + "language": "cpp", + "library_type": "GAPIC_AUTO", + "name_pretty": "License Manager API", + "product_documentation": "https://cloud.google.com/compute/docs/instances/windows/ms-licensing", + "release_level": "stable", + "repo": "googleapis/google-cloud-cpp", + "requires_billing": true +} diff --git a/google/cloud/licensemanager/v1/internal/license_manager_auth_decorator.cc b/google/cloud/licensemanager/v1/internal/license_manager_auth_decorator.cc new file mode 100644 index 0000000000000..f71588fe3987c --- /dev/null +++ b/google/cloud/licensemanager/v1/internal/license_manager_auth_decorator.cc @@ -0,0 +1,353 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#include "google/cloud/licensemanager/v1/internal/license_manager_auth_decorator.h" +#include +#include +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +LicenseManagerAuth::LicenseManagerAuth( + std::shared_ptr auth, + std::shared_ptr child) + : auth_(std::move(auth)), child_(std::move(child)) {} + +StatusOr +LicenseManagerAuth::ListConfigurations( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListConfigurationsRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListConfigurations(context, options, request); +} + +StatusOr +LicenseManagerAuth::GetConfiguration( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetConfigurationRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetConfiguration(context, options, request); +} + +future> +LicenseManagerAuth::AsyncCreateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) { + using ReturnType = StatusOr; + return auth_->AsyncConfigureContext(std::move(context)) + .then([cq, child = child_, options = std::move(options), + request](future>> + f) mutable { + auto context = f.get(); + if (!context) { + return make_ready_future(ReturnType(std::move(context).status())); + } + return child->AsyncCreateConfiguration(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr +LicenseManagerAuth::CreateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->CreateConfiguration(context, options, request); +} + +future> +LicenseManagerAuth::AsyncUpdateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) { + using ReturnType = StatusOr; + return auth_->AsyncConfigureContext(std::move(context)) + .then([cq, child = child_, options = std::move(options), + request](future>> + f) mutable { + auto context = f.get(); + if (!context) { + return make_ready_future(ReturnType(std::move(context).status())); + } + return child->AsyncUpdateConfiguration(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr +LicenseManagerAuth::UpdateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->UpdateConfiguration(context, options, request); +} + +future> +LicenseManagerAuth::AsyncDeleteConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) { + using ReturnType = StatusOr; + return auth_->AsyncConfigureContext(std::move(context)) + .then([cq, child = child_, options = std::move(options), + request](future>> + f) mutable { + auto context = f.get(); + if (!context) { + return make_ready_future(ReturnType(std::move(context).status())); + } + return child->AsyncDeleteConfiguration(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr +LicenseManagerAuth::DeleteConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->DeleteConfiguration(context, options, request); +} + +StatusOr +LicenseManagerAuth::ListInstances( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListInstancesRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListInstances(context, options, request); +} + +StatusOr +LicenseManagerAuth::GetInstance( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetInstanceRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetInstance(context, options, request); +} + +future> +LicenseManagerAuth::AsyncDeactivateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) { + using ReturnType = StatusOr; + return auth_->AsyncConfigureContext(std::move(context)) + .then([cq, child = child_, options = std::move(options), + request](future>> + f) mutable { + auto context = f.get(); + if (!context) { + return make_ready_future(ReturnType(std::move(context).status())); + } + return child->AsyncDeactivateConfiguration(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr +LicenseManagerAuth::DeactivateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->DeactivateConfiguration(context, options, request); +} + +future> +LicenseManagerAuth::AsyncReactivateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) { + using ReturnType = StatusOr; + return auth_->AsyncConfigureContext(std::move(context)) + .then([cq, child = child_, options = std::move(options), + request](future>> + f) mutable { + auto context = f.get(); + if (!context) { + return make_ready_future(ReturnType(std::move(context).status())); + } + return child->AsyncReactivateConfiguration(cq, *std::move(context), + std::move(options), request); + }); +} + +StatusOr +LicenseManagerAuth::ReactivateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ReactivateConfiguration(context, options, request); +} + +StatusOr< + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageResponse> +LicenseManagerAuth::QueryConfigurationLicenseUsage( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->QueryConfigurationLicenseUsage(context, options, request); +} + +StatusOr +LicenseManagerAuth::AggregateUsage( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::AggregateUsageRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->AggregateUsage(context, options, request); +} + +StatusOr +LicenseManagerAuth::ListProducts( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListProductsRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListProducts(context, options, request); +} + +StatusOr +LicenseManagerAuth::GetProduct( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetProductRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetProduct(context, options, request); +} + +StatusOr +LicenseManagerAuth::ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListLocations(context, options, request); +} + +StatusOr LicenseManagerAuth::GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetLocation(context, options, request); +} + +StatusOr +LicenseManagerAuth::ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->ListOperations(context, options, request); +} + +StatusOr LicenseManagerAuth::GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->GetOperation(context, options, request); +} + +Status LicenseManagerAuth::DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->DeleteOperation(context, options, request); +} + +Status LicenseManagerAuth::CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) { + auto status = auth_->ConfigureContext(context); + if (!status.ok()) return status; + return child_->CancelOperation(context, options, request); +} + +future> +LicenseManagerAuth::AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) { + using ReturnType = StatusOr; + return auth_->AsyncConfigureContext(std::move(context)) + .then([cq, child = child_, options = std::move(options), + request](future>> + f) mutable { + auto context = f.get(); + if (!context) { + return make_ready_future(ReturnType(std::move(context).status())); + } + return child->AsyncGetOperation(cq, *std::move(context), + std::move(options), request); + }); +} + +future LicenseManagerAuth::AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + return auth_->AsyncConfigureContext(std::move(context)) + .then([cq, child = child_, options = std::move(options), + request](future>> + f) mutable { + auto context = f.get(); + if (!context) return make_ready_future(std::move(context).status()); + return child->AsyncCancelOperation(cq, *std::move(context), + std::move(options), request); + }); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/licensemanager/v1/internal/license_manager_auth_decorator.h b/google/cloud/licensemanager/v1/internal/license_manager_auth_decorator.h new file mode 100644 index 0000000000000..7d3bc9dc392ea --- /dev/null +++ b/google/cloud/licensemanager/v1/internal/license_manager_auth_decorator.h @@ -0,0 +1,191 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_AUTH_DECORATOR_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_AUTH_DECORATOR_H + +#include "google/cloud/licensemanager/v1/internal/license_manager_stub.h" +#include "google/cloud/internal/unified_grpc_credentials.h" +#include "google/cloud/version.h" +#include +#include +#include +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class LicenseManagerAuth : public LicenseManagerStub { + public: + ~LicenseManagerAuth() override = default; + LicenseManagerAuth( + std::shared_ptr auth, + std::shared_ptr child); + + StatusOr + ListConfigurations( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListConfigurationsRequest const& + request) override; + + StatusOr GetConfiguration( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetConfigurationRequest const& request) + override; + + future> AsyncCreateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) override; + + StatusOr CreateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) override; + + future> AsyncUpdateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) override; + + StatusOr UpdateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) override; + + future> AsyncDeleteConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) override; + + StatusOr DeleteConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) override; + + StatusOr + ListInstances(grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListInstancesRequest const& + request) override; + + StatusOr GetInstance( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetInstanceRequest const& request) + override; + + future> AsyncDeactivateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) override; + + StatusOr DeactivateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) override; + + future> AsyncReactivateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) override; + + StatusOr ReactivateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) override; + + StatusOr< + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageResponse> + QueryConfigurationLicenseUsage( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const& request) override; + + StatusOr + AggregateUsage(grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::AggregateUsageRequest const& + request) override; + + StatusOr + ListProducts(grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListProductsRequest const& + request) override; + + StatusOr GetProduct( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetProductRequest const& request) + override; + + StatusOr ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) override; + + StatusOr GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) override; + + StatusOr ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) override; + + StatusOr GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) override; + + Status DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) override; + + Status CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) override; + + future> AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) override; + + future AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) override; + + private: + std::shared_ptr auth_; + std::shared_ptr child_; +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_AUTH_DECORATOR_H diff --git a/google/cloud/licensemanager/v1/internal/license_manager_connection_impl.cc b/google/cloud/licensemanager/v1/internal/license_manager_connection_impl.cc new file mode 100644 index 0000000000000..71dd61a419327 --- /dev/null +++ b/google/cloud/licensemanager/v1/internal/license_manager_connection_impl.cc @@ -0,0 +1,876 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#include "google/cloud/licensemanager/v1/internal/license_manager_connection_impl.h" +#include "google/cloud/licensemanager/v1/internal/license_manager_option_defaults.h" +#include "google/cloud/background_threads.h" +#include "google/cloud/common_options.h" +#include "google/cloud/grpc_options.h" +#include "google/cloud/internal/async_long_running_operation.h" +#include "google/cloud/internal/pagination_range.h" +#include "google/cloud/internal/retry_loop.h" +#include +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN +namespace { + +std::unique_ptr retry_policy( + Options const& options) { + return options.get() + ->clone(); +} + +std::unique_ptr backoff_policy(Options const& options) { + return options.get() + ->clone(); +} + +std::unique_ptr +idempotency_policy(Options const& options) { + return options + .get() + ->clone(); +} + +std::unique_ptr polling_policy(Options const& options) { + return options.get() + ->clone(); +} + +} // namespace + +LicenseManagerConnectionImpl::LicenseManagerConnectionImpl( + std::unique_ptr background, + std::shared_ptr stub, + Options options) + : background_(std::move(background)), + stub_(std::move(stub)), + options_(internal::MergeOptions(std::move(options), + LicenseManagerConnection::options())) {} + +StreamRange +LicenseManagerConnectionImpl::ListConfigurations( + google::cloud::licensemanager::v1::ListConfigurationsRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->ListConfigurations(request); + char const* function_name = __func__; + return google::cloud::internal::MakePaginationRange< + StreamRange>( + current, std::move(request), + [idempotency, function_name, stub = stub_, + retry = std::shared_ptr( + retry_policy(*current)), + backoff = std::shared_ptr(backoff_policy(*current))]( + Options const& options, + google::cloud::licensemanager::v1::ListConfigurationsRequest const& + r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub](grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1:: + ListConfigurationsRequest const& request) { + return stub->ListConfigurations(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::licensemanager::v1::ListConfigurationsResponse r) { + std::vector result( + r.configurations().size()); + auto& messages = *r.mutable_configurations(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr +LicenseManagerConnectionImpl::GetConfiguration( + google::cloud::licensemanager::v1::GetConfigurationRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetConfiguration(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetConfigurationRequest const& + request) { + return stub_->GetConfiguration(context, options, request); + }, + *current, request, __func__); +} + +future> +LicenseManagerConnectionImpl::CreateConfiguration( + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->CreateConfiguration(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::licensemanager::v1::Configuration>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) { + return stub->AsyncCreateConfiguration(cq, std::move(context), + std::move(options), request); + }, + [stub = stub_](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) { + return stub->AsyncGetOperation(cq, std::move(context), + std::move(options), request); + }, + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + return stub->AsyncCancelOperation(cq, std::move(context), + std::move(options), request); + }, + &google::cloud::internal::ExtractLongRunningResultResponse< + google::cloud::licensemanager::v1::Configuration>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +LicenseManagerConnectionImpl::CreateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->CreateConfiguration(request), + [this]( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) { + return stub_->CreateConfiguration(context, options, request); + }, + *current, request, __func__); +} + +future> +LicenseManagerConnectionImpl::CreateConfiguration( + google::longrunning::Operation const& operation) { + auto current = google::cloud::internal::SaveCurrentOptions(); + if (!operation.metadata() + .Is()) { + return make_ready_future< + StatusOr>( + internal::InvalidArgumentError( + "operation does not correspond to CreateConfiguration", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::licensemanager::v1::Configuration>( + background_->cq(), current, operation, + [stub = stub_](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) { + return stub->AsyncGetOperation(cq, std::move(context), + std::move(options), request); + }, + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + return stub->AsyncCancelOperation(cq, std::move(context), + std::move(options), request); + }, + &google::cloud::internal::ExtractLongRunningResultResponse< + google::cloud::licensemanager::v1::Configuration>, + polling_policy(*current), __func__); +} + +future> +LicenseManagerConnectionImpl::UpdateConfiguration( + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->UpdateConfiguration(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::licensemanager::v1::Configuration>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) { + return stub->AsyncUpdateConfiguration(cq, std::move(context), + std::move(options), request); + }, + [stub = stub_](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) { + return stub->AsyncGetOperation(cq, std::move(context), + std::move(options), request); + }, + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + return stub->AsyncCancelOperation(cq, std::move(context), + std::move(options), request); + }, + &google::cloud::internal::ExtractLongRunningResultResponse< + google::cloud::licensemanager::v1::Configuration>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +LicenseManagerConnectionImpl::UpdateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->UpdateConfiguration(request), + [this]( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) { + return stub_->UpdateConfiguration(context, options, request); + }, + *current, request, __func__); +} + +future> +LicenseManagerConnectionImpl::UpdateConfiguration( + google::longrunning::Operation const& operation) { + auto current = google::cloud::internal::SaveCurrentOptions(); + if (!operation.metadata() + .Is()) { + return make_ready_future< + StatusOr>( + internal::InvalidArgumentError( + "operation does not correspond to UpdateConfiguration", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::licensemanager::v1::Configuration>( + background_->cq(), current, operation, + [stub = stub_](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) { + return stub->AsyncGetOperation(cq, std::move(context), + std::move(options), request); + }, + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + return stub->AsyncCancelOperation(cq, std::move(context), + std::move(options), request); + }, + &google::cloud::internal::ExtractLongRunningResultResponse< + google::cloud::licensemanager::v1::Configuration>, + polling_policy(*current), __func__); +} + +future> +LicenseManagerConnectionImpl::DeleteConfiguration( + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->DeleteConfiguration(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::licensemanager::v1::OperationMetadata>( + background_->cq(), current, std::move(request_copy), + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) { + return stub->AsyncDeleteConfiguration(cq, std::move(context), + std::move(options), request); + }, + [stub = stub_](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) { + return stub->AsyncGetOperation(cq, std::move(context), + std::move(options), request); + }, + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + return stub->AsyncCancelOperation(cq, std::move(context), + std::move(options), request); + }, + &google::cloud::internal::ExtractLongRunningResultMetadata< + google::cloud::licensemanager::v1::OperationMetadata>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +LicenseManagerConnectionImpl::DeleteConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->DeleteConfiguration(request), + [this]( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) { + return stub_->DeleteConfiguration(context, options, request); + }, + *current, request, __func__); +} + +future> +LicenseManagerConnectionImpl::DeleteConfiguration( + google::longrunning::Operation const& operation) { + auto current = google::cloud::internal::SaveCurrentOptions(); + if (!operation.metadata() + .Is()) { + return make_ready_future< + StatusOr>( + internal::InvalidArgumentError( + "operation does not correspond to DeleteConfiguration", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::licensemanager::v1::OperationMetadata>( + background_->cq(), current, operation, + [stub = stub_](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) { + return stub->AsyncGetOperation(cq, std::move(context), + std::move(options), request); + }, + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + return stub->AsyncCancelOperation(cq, std::move(context), + std::move(options), request); + }, + &google::cloud::internal::ExtractLongRunningResultMetadata< + google::cloud::licensemanager::v1::OperationMetadata>, + polling_policy(*current), __func__); +} + +StreamRange +LicenseManagerConnectionImpl::ListInstances( + google::cloud::licensemanager::v1::ListInstancesRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->ListInstances(request); + char const* function_name = __func__; + return google::cloud::internal::MakePaginationRange< + StreamRange>( + current, std::move(request), + [idempotency, function_name, stub = stub_, + retry = std::shared_ptr( + retry_policy(*current)), + backoff = std::shared_ptr(backoff_policy(*current))]( + Options const& options, + google::cloud::licensemanager::v1::ListInstancesRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub]( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListInstancesRequest const& + request) { + return stub->ListInstances(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::licensemanager::v1::ListInstancesResponse r) { + std::vector result( + r.instances().size()); + auto& messages = *r.mutable_instances(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr +LicenseManagerConnectionImpl::GetInstance( + google::cloud::licensemanager::v1::GetInstanceRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetInstance(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetInstanceRequest const& + request) { + return stub_->GetInstance(context, options, request); + }, + *current, request, __func__); +} + +future> +LicenseManagerConnectionImpl::DeactivateConfiguration( + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->DeactivateConfiguration(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::licensemanager::v1::Configuration>( + background_->cq(), current, std::move(request_copy), + [stub = stub_](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1:: + DeactivateConfigurationRequest const& request) { + return stub->AsyncDeactivateConfiguration(cq, std::move(context), + std::move(options), request); + }, + [stub = stub_](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) { + return stub->AsyncGetOperation(cq, std::move(context), + std::move(options), request); + }, + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + return stub->AsyncCancelOperation(cq, std::move(context), + std::move(options), request); + }, + &google::cloud::internal::ExtractLongRunningResultResponse< + google::cloud::licensemanager::v1::Configuration>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +LicenseManagerConnectionImpl::DeactivateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->DeactivateConfiguration(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1:: + DeactivateConfigurationRequest const& request) { + return stub_->DeactivateConfiguration(context, options, request); + }, + *current, request, __func__); +} + +future> +LicenseManagerConnectionImpl::DeactivateConfiguration( + google::longrunning::Operation const& operation) { + auto current = google::cloud::internal::SaveCurrentOptions(); + if (!operation.metadata() + .Is()) { + return make_ready_future< + StatusOr>( + internal::InvalidArgumentError( + "operation does not correspond to DeactivateConfiguration", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::licensemanager::v1::Configuration>( + background_->cq(), current, operation, + [stub = stub_](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) { + return stub->AsyncGetOperation(cq, std::move(context), + std::move(options), request); + }, + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + return stub->AsyncCancelOperation(cq, std::move(context), + std::move(options), request); + }, + &google::cloud::internal::ExtractLongRunningResultResponse< + google::cloud::licensemanager::v1::Configuration>, + polling_policy(*current), __func__); +} + +future> +LicenseManagerConnectionImpl::ReactivateConfiguration( + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + auto request_copy = request; + auto const idempotent = + idempotency_policy(*current)->ReactivateConfiguration(request_copy); + return google::cloud::internal::AsyncLongRunningOperation< + google::cloud::licensemanager::v1::Configuration>( + background_->cq(), current, std::move(request_copy), + [stub = stub_](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1:: + ReactivateConfigurationRequest const& request) { + return stub->AsyncReactivateConfiguration(cq, std::move(context), + std::move(options), request); + }, + [stub = stub_](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) { + return stub->AsyncGetOperation(cq, std::move(context), + std::move(options), request); + }, + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + return stub->AsyncCancelOperation(cq, std::move(context), + std::move(options), request); + }, + &google::cloud::internal::ExtractLongRunningResultResponse< + google::cloud::licensemanager::v1::Configuration>, + retry_policy(*current), backoff_policy(*current), idempotent, + polling_policy(*current), __func__); +} + +StatusOr +LicenseManagerConnectionImpl::ReactivateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->ReactivateConfiguration(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1:: + ReactivateConfigurationRequest const& request) { + return stub_->ReactivateConfiguration(context, options, request); + }, + *current, request, __func__); +} + +future> +LicenseManagerConnectionImpl::ReactivateConfiguration( + google::longrunning::Operation const& operation) { + auto current = google::cloud::internal::SaveCurrentOptions(); + if (!operation.metadata() + .Is()) { + return make_ready_future< + StatusOr>( + internal::InvalidArgumentError( + "operation does not correspond to ReactivateConfiguration", + GCP_ERROR_INFO().WithMetadata("operation", + operation.metadata().DebugString()))); + } + + return google::cloud::internal::AsyncAwaitLongRunningOperation< + google::cloud::licensemanager::v1::Configuration>( + background_->cq(), current, operation, + [stub = stub_](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) { + return stub->AsyncGetOperation(cq, std::move(context), + std::move(options), request); + }, + [stub = stub_]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + return stub->AsyncCancelOperation(cq, std::move(context), + std::move(options), request); + }, + &google::cloud::internal::ExtractLongRunningResultResponse< + google::cloud::licensemanager::v1::Configuration>, + polling_policy(*current), __func__); +} + +StatusOr< + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageResponse> +LicenseManagerConnectionImpl::QueryConfigurationLicenseUsage( + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->QueryConfigurationLicenseUsage(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const& request) { + return stub_->QueryConfigurationLicenseUsage(context, options, request); + }, + *current, request, __func__); +} + +StreamRange +LicenseManagerConnectionImpl::AggregateUsage( + google::cloud::licensemanager::v1::AggregateUsageRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->AggregateUsage(request); + char const* function_name = __func__; + return google::cloud::internal::MakePaginationRange< + StreamRange>( + current, std::move(request), + [idempotency, function_name, stub = stub_, + retry = std::shared_ptr( + retry_policy(*current)), + backoff = std::shared_ptr(backoff_policy(*current))]( + Options const& options, + google::cloud::licensemanager::v1::AggregateUsageRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub]( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::AggregateUsageRequest const& + request) { + return stub->AggregateUsage(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::licensemanager::v1::AggregateUsageResponse r) { + std::vector result( + r.usages().size()); + auto& messages = *r.mutable_usages(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StreamRange +LicenseManagerConnectionImpl::ListProducts( + google::cloud::licensemanager::v1::ListProductsRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->ListProducts(request); + char const* function_name = __func__; + return google::cloud::internal::MakePaginationRange< + StreamRange>( + current, std::move(request), + [idempotency, function_name, stub = stub_, + retry = std::shared_ptr( + retry_policy(*current)), + backoff = std::shared_ptr(backoff_policy(*current))]( + Options const& options, + google::cloud::licensemanager::v1::ListProductsRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub](grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListProductsRequest const& + request) { + return stub->ListProducts(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::licensemanager::v1::ListProductsResponse r) { + std::vector result( + r.products().size()); + auto& messages = *r.mutable_products(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr +LicenseManagerConnectionImpl::GetProduct( + google::cloud::licensemanager::v1::GetProductRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetProduct(request), + [this]( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetProductRequest const& request) { + return stub_->GetProduct(context, options, request); + }, + *current, request, __func__); +} + +StreamRange +LicenseManagerConnectionImpl::ListLocations( + google::cloud::location::ListLocationsRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->ListLocations(request); + char const* function_name = __func__; + return google::cloud::internal::MakePaginationRange< + StreamRange>( + current, std::move(request), + [idempotency, function_name, stub = stub_, + retry = std::shared_ptr( + retry_policy(*current)), + backoff = std::shared_ptr(backoff_policy(*current))]( + Options const& options, + google::cloud::location::ListLocationsRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub]( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) { + return stub->ListLocations(context, options, request); + }, + options, r, function_name); + }, + [](google::cloud::location::ListLocationsResponse r) { + std::vector result( + r.locations().size()); + auto& messages = *r.mutable_locations(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr +LicenseManagerConnectionImpl::GetLocation( + google::cloud::location::GetLocationRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetLocation(request), + [this](grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) { + return stub_->GetLocation(context, options, request); + }, + *current, request, __func__); +} + +StreamRange +LicenseManagerConnectionImpl::ListOperations( + google::longrunning::ListOperationsRequest request) { + request.clear_page_token(); + auto current = google::cloud::internal::SaveCurrentOptions(); + auto idempotency = idempotency_policy(*current)->ListOperations(request); + char const* function_name = __func__; + return google::cloud::internal::MakePaginationRange< + StreamRange>( + current, std::move(request), + [idempotency, function_name, stub = stub_, + retry = std::shared_ptr( + retry_policy(*current)), + backoff = std::shared_ptr(backoff_policy(*current))]( + Options const& options, + google::longrunning::ListOperationsRequest const& r) { + return google::cloud::internal::RetryLoop( + retry->clone(), backoff->clone(), idempotency, + [stub](grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) { + return stub->ListOperations(context, options, request); + }, + options, r, function_name); + }, + [](google::longrunning::ListOperationsResponse r) { + std::vector result( + r.operations().size()); + auto& messages = *r.mutable_operations(); + std::move(messages.begin(), messages.end(), result.begin()); + return result; + }); +} + +StatusOr +LicenseManagerConnectionImpl::GetOperation( + google::longrunning::GetOperationRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->GetOperation(request), + [this](grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) { + return stub_->GetOperation(context, options, request); + }, + *current, request, __func__); +} + +Status LicenseManagerConnectionImpl::DeleteOperation( + google::longrunning::DeleteOperationRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->DeleteOperation(request), + [this](grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) { + return stub_->DeleteOperation(context, options, request); + }, + *current, request, __func__); +} + +Status LicenseManagerConnectionImpl::CancelOperation( + google::longrunning::CancelOperationRequest const& request) { + auto current = google::cloud::internal::SaveCurrentOptions(); + return google::cloud::internal::RetryLoop( + retry_policy(*current), backoff_policy(*current), + idempotency_policy(*current)->CancelOperation(request), + [this](grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) { + return stub_->CancelOperation(context, options, request); + }, + *current, request, __func__); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/licensemanager/v1/internal/license_manager_connection_impl.h b/google/cloud/licensemanager/v1/internal/license_manager_connection_impl.h new file mode 100644 index 0000000000000..d1ba9ddc81152 --- /dev/null +++ b/google/cloud/licensemanager/v1/internal/license_manager_connection_impl.h @@ -0,0 +1,184 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_CONNECTION_IMPL_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_CONNECTION_IMPL_H + +#include "google/cloud/licensemanager/v1/internal/license_manager_retry_traits.h" +#include "google/cloud/licensemanager/v1/internal/license_manager_stub.h" +#include "google/cloud/licensemanager/v1/license_manager_connection.h" +#include "google/cloud/licensemanager/v1/license_manager_connection_idempotency_policy.h" +#include "google/cloud/licensemanager/v1/license_manager_options.h" +#include "google/cloud/background_threads.h" +#include "google/cloud/backoff_policy.h" +#include "google/cloud/future.h" +#include "google/cloud/options.h" +#include "google/cloud/polling_policy.h" +#include "google/cloud/status_or.h" +#include "google/cloud/stream_range.h" +#include "google/cloud/version.h" +#include +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class LicenseManagerConnectionImpl + : public licensemanager_v1::LicenseManagerConnection { + public: + ~LicenseManagerConnectionImpl() override = default; + + LicenseManagerConnectionImpl( + std::unique_ptr background, + std::shared_ptr stub, + Options options); + + Options options() override { return options_; } + + StreamRange + ListConfigurations( + google::cloud::licensemanager::v1::ListConfigurationsRequest request) + override; + + StatusOr GetConfiguration( + google::cloud::licensemanager::v1::GetConfigurationRequest const& request) + override; + + future> + CreateConfiguration( + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) override; + + StatusOr CreateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) override; + + future> + CreateConfiguration(google::longrunning::Operation const& operation) override; + + future> + UpdateConfiguration( + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) override; + + StatusOr UpdateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) override; + + future> + UpdateConfiguration(google::longrunning::Operation const& operation) override; + + future> + DeleteConfiguration( + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) override; + + StatusOr DeleteConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) override; + + future> + DeleteConfiguration(google::longrunning::Operation const& operation) override; + + StreamRange ListInstances( + google::cloud::licensemanager::v1::ListInstancesRequest request) override; + + StatusOr GetInstance( + google::cloud::licensemanager::v1::GetInstanceRequest const& request) + override; + + future> + DeactivateConfiguration( + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) override; + + StatusOr DeactivateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) override; + + future> + DeactivateConfiguration( + google::longrunning::Operation const& operation) override; + + future> + ReactivateConfiguration( + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) override; + + StatusOr ReactivateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) override; + + future> + ReactivateConfiguration( + google::longrunning::Operation const& operation) override; + + StatusOr< + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageResponse> + QueryConfigurationLicenseUsage( + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const& request) override; + + StreamRange AggregateUsage( + google::cloud::licensemanager::v1::AggregateUsageRequest request) + override; + + StreamRange ListProducts( + google::cloud::licensemanager::v1::ListProductsRequest request) override; + + StatusOr GetProduct( + google::cloud::licensemanager::v1::GetProductRequest const& request) + override; + + StreamRange ListLocations( + google::cloud::location::ListLocationsRequest request) override; + + StatusOr GetLocation( + google::cloud::location::GetLocationRequest const& request) override; + + StreamRange ListOperations( + google::longrunning::ListOperationsRequest request) override; + + StatusOr GetOperation( + google::longrunning::GetOperationRequest const& request) override; + + Status DeleteOperation( + google::longrunning::DeleteOperationRequest const& request) override; + + Status CancelOperation( + google::longrunning::CancelOperationRequest const& request) override; + + private: + std::unique_ptr background_; + std::shared_ptr stub_; + Options options_; +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_CONNECTION_IMPL_H diff --git a/google/cloud/licensemanager/v1/internal/license_manager_logging_decorator.cc b/google/cloud/licensemanager/v1/internal/license_manager_logging_decorator.cc new file mode 100644 index 0000000000000..733e6d27317cd --- /dev/null +++ b/google/cloud/licensemanager/v1/internal/license_manager_logging_decorator.cc @@ -0,0 +1,428 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#include "google/cloud/licensemanager/v1/internal/license_manager_logging_decorator.h" +#include "google/cloud/internal/log_wrapper.h" +#include "google/cloud/status_or.h" +#include +#include +#include +#include +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +LicenseManagerLogging::LicenseManagerLogging( + std::shared_ptr child, TracingOptions tracing_options, + std::set const&) + : child_(std::move(child)), tracing_options_(std::move(tracing_options)) {} + +StatusOr +LicenseManagerLogging::ListConfigurations( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListConfigurationsRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListConfigurationsRequest const& + request) { + return child_->ListConfigurations(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +LicenseManagerLogging::GetConfiguration( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetConfigurationRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetConfigurationRequest const& + request) { + return child_->GetConfiguration(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +LicenseManagerLogging::AsyncCreateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) { + return child_->AsyncCreateConfiguration(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr +LicenseManagerLogging::CreateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this]( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) { + return child_->CreateConfiguration(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +LicenseManagerLogging::AsyncUpdateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) { + return child_->AsyncUpdateConfiguration(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr +LicenseManagerLogging::UpdateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this]( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) { + return child_->UpdateConfiguration(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +LicenseManagerLogging::AsyncDeleteConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this]( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) { + return child_->AsyncDeleteConfiguration(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr +LicenseManagerLogging::DeleteConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this]( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) { + return child_->DeleteConfiguration(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +LicenseManagerLogging::ListInstances( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListInstancesRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListInstancesRequest const& + request) { + return child_->ListInstances(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +LicenseManagerLogging::GetInstance( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetInstanceRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetInstanceRequest const& + request) { + return child_->GetInstance(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +LicenseManagerLogging::AsyncDeactivateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1:: + DeactivateConfigurationRequest const& request) { + return child_->AsyncDeactivateConfiguration( + cq, std::move(context), std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr +LicenseManagerLogging::DeactivateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1:: + DeactivateConfigurationRequest const& request) { + return child_->DeactivateConfiguration(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +LicenseManagerLogging::AsyncReactivateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1:: + ReactivateConfigurationRequest const& request) { + return child_->AsyncReactivateConfiguration( + cq, std::move(context), std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +StatusOr +LicenseManagerLogging::ReactivateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1:: + ReactivateConfigurationRequest const& request) { + return child_->ReactivateConfiguration(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr< + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageResponse> +LicenseManagerLogging::QueryConfigurationLicenseUsage( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const& request) { + return child_->QueryConfigurationLicenseUsage(context, options, + request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +LicenseManagerLogging::AggregateUsage( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::AggregateUsageRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::AggregateUsageRequest const& + request) { + return child_->AggregateUsage(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +LicenseManagerLogging::ListProducts( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListProductsRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListProductsRequest const& + request) { + return child_->ListProducts(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +LicenseManagerLogging::GetProduct( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetProductRequest const& request) { + return google::cloud::internal::LogWrapper( + [this]( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetProductRequest const& request) { + return child_->GetProduct(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +LicenseManagerLogging::ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) { + return child_->ListLocations(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr LicenseManagerLogging::GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) { + return child_->GetLocation(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr +LicenseManagerLogging::ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) { + return child_->ListOperations(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +StatusOr LicenseManagerLogging::GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) { + return child_->GetOperation(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +Status LicenseManagerLogging::DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) { + return child_->DeleteOperation(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +Status LicenseManagerLogging::CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) { + return child_->CancelOperation(context, options, request); + }, + context, options, request, __func__, tracing_options_); +} + +future> +LicenseManagerLogging::AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) { + return child_->AsyncGetOperation(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +future LicenseManagerLogging::AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + return google::cloud::internal::LogWrapper( + [this](google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + return child_->AsyncCancelOperation(cq, std::move(context), + std::move(options), request); + }, + cq, std::move(context), std::move(options), request, __func__, + tracing_options_); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/licensemanager/v1/internal/license_manager_logging_decorator.h b/google/cloud/licensemanager/v1/internal/license_manager_logging_decorator.h new file mode 100644 index 0000000000000..2e74aca799234 --- /dev/null +++ b/google/cloud/licensemanager/v1/internal/license_manager_logging_decorator.h @@ -0,0 +1,191 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_LOGGING_DECORATOR_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_LOGGING_DECORATOR_H + +#include "google/cloud/licensemanager/v1/internal/license_manager_stub.h" +#include "google/cloud/tracing_options.h" +#include "google/cloud/version.h" +#include +#include +#include +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class LicenseManagerLogging : public LicenseManagerStub { + public: + ~LicenseManagerLogging() override = default; + LicenseManagerLogging(std::shared_ptr child, + TracingOptions tracing_options, + std::set const& components); + + StatusOr + ListConfigurations( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListConfigurationsRequest const& + request) override; + + StatusOr GetConfiguration( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetConfigurationRequest const& request) + override; + + future> AsyncCreateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) override; + + StatusOr CreateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) override; + + future> AsyncUpdateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) override; + + StatusOr UpdateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) override; + + future> AsyncDeleteConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) override; + + StatusOr DeleteConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) override; + + StatusOr + ListInstances(grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListInstancesRequest const& + request) override; + + StatusOr GetInstance( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetInstanceRequest const& request) + override; + + future> AsyncDeactivateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) override; + + StatusOr DeactivateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) override; + + future> AsyncReactivateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) override; + + StatusOr ReactivateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) override; + + StatusOr< + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageResponse> + QueryConfigurationLicenseUsage( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const& request) override; + + StatusOr + AggregateUsage(grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::AggregateUsageRequest const& + request) override; + + StatusOr + ListProducts(grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListProductsRequest const& + request) override; + + StatusOr GetProduct( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetProductRequest const& request) + override; + + StatusOr ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) override; + + StatusOr GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) override; + + StatusOr ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) override; + + StatusOr GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) override; + + Status DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) override; + + Status CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) override; + + future> AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) override; + + future AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) override; + + private: + std::shared_ptr child_; + TracingOptions tracing_options_; +}; // LicenseManagerLogging + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_LOGGING_DECORATOR_H diff --git a/google/cloud/licensemanager/v1/internal/license_manager_metadata_decorator.cc b/google/cloud/licensemanager/v1/internal/license_manager_metadata_decorator.cc new file mode 100644 index 0000000000000..43e3f444fd677 --- /dev/null +++ b/google/cloud/licensemanager/v1/internal/license_manager_metadata_decorator.cc @@ -0,0 +1,330 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#include "google/cloud/licensemanager/v1/internal/license_manager_metadata_decorator.h" +#include "google/cloud/grpc_options.h" +#include "google/cloud/internal/absl_str_cat_quiet.h" +#include "google/cloud/internal/api_client_header.h" +#include "google/cloud/internal/url_encode.h" +#include "google/cloud/status_or.h" +#include +#include +#include +#include +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +LicenseManagerMetadata::LicenseManagerMetadata( + std::shared_ptr child, + std::multimap fixed_metadata, + std::string api_client_header) + : child_(std::move(child)), + fixed_metadata_(std::move(fixed_metadata)), + api_client_header_( + api_client_header.empty() + ? google::cloud::internal::GeneratedLibClientHeader() + : std::move(api_client_header)) {} + +StatusOr +LicenseManagerMetadata::ListConfigurations( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListConfigurationsRequest const& + request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->ListConfigurations(context, options, request); +} + +StatusOr +LicenseManagerMetadata::GetConfiguration( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetConfigurationRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetConfiguration(context, options, request); +} + +future> +LicenseManagerMetadata::AsyncCreateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) { + SetMetadata(*context, *options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->AsyncCreateConfiguration(cq, std::move(context), + std::move(options), request); +} + +StatusOr +LicenseManagerMetadata::CreateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->CreateConfiguration(context, options, request); +} + +future> +LicenseManagerMetadata::AsyncUpdateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) { + SetMetadata( + *context, *options, + absl::StrCat("configuration.name=", + internal::UrlEncode(request.configuration().name()))); + return child_->AsyncUpdateConfiguration(cq, std::move(context), + std::move(options), request); +} + +StatusOr +LicenseManagerMetadata::UpdateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) { + SetMetadata( + context, options, + absl::StrCat("configuration.name=", + internal::UrlEncode(request.configuration().name()))); + return child_->UpdateConfiguration(context, options, request); +} + +future> +LicenseManagerMetadata::AsyncDeleteConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) { + SetMetadata(*context, *options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->AsyncDeleteConfiguration(cq, std::move(context), + std::move(options), request); +} + +StatusOr +LicenseManagerMetadata::DeleteConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->DeleteConfiguration(context, options, request); +} + +StatusOr +LicenseManagerMetadata::ListInstances( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListInstancesRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->ListInstances(context, options, request); +} + +StatusOr +LicenseManagerMetadata::GetInstance( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetInstanceRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetInstance(context, options, request); +} + +future> +LicenseManagerMetadata::AsyncDeactivateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) { + SetMetadata(*context, *options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->AsyncDeactivateConfiguration(cq, std::move(context), + std::move(options), request); +} + +StatusOr +LicenseManagerMetadata::DeactivateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->DeactivateConfiguration(context, options, request); +} + +future> +LicenseManagerMetadata::AsyncReactivateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) { + SetMetadata(*context, *options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->AsyncReactivateConfiguration(cq, std::move(context), + std::move(options), request); +} + +StatusOr +LicenseManagerMetadata::ReactivateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->ReactivateConfiguration(context, options, request); +} + +StatusOr< + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageResponse> +LicenseManagerMetadata::QueryConfigurationLicenseUsage( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->QueryConfigurationLicenseUsage(context, options, request); +} + +StatusOr +LicenseManagerMetadata::AggregateUsage( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::AggregateUsageRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->AggregateUsage(context, options, request); +} + +StatusOr +LicenseManagerMetadata::ListProducts( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListProductsRequest const& request) { + SetMetadata(context, options, + absl::StrCat("parent=", internal::UrlEncode(request.parent()))); + return child_->ListProducts(context, options, request); +} + +StatusOr +LicenseManagerMetadata::GetProduct( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetProductRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetProduct(context, options, request); +} + +StatusOr +LicenseManagerMetadata::ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->ListLocations(context, options, request); +} + +StatusOr LicenseManagerMetadata::GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetLocation(context, options, request); +} + +StatusOr +LicenseManagerMetadata::ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->ListOperations(context, options, request); +} + +StatusOr LicenseManagerMetadata::GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->GetOperation(context, options, request); +} + +Status LicenseManagerMetadata::DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->DeleteOperation(context, options, request); +} + +Status LicenseManagerMetadata::CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) { + SetMetadata(context, options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->CancelOperation(context, options, request); +} + +future> +LicenseManagerMetadata::AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) { + SetMetadata(*context, *options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->AsyncGetOperation(cq, std::move(context), std::move(options), + request); +} + +future LicenseManagerMetadata::AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + SetMetadata(*context, *options, + absl::StrCat("name=", internal::UrlEncode(request.name()))); + return child_->AsyncCancelOperation(cq, std::move(context), + std::move(options), request); +} + +void LicenseManagerMetadata::SetMetadata(grpc::ClientContext& context, + Options const& options, + std::string const& request_params) { + context.AddMetadata("x-goog-request-params", request_params); + SetMetadata(context, options); +} + +void LicenseManagerMetadata::SetMetadata(grpc::ClientContext& context, + Options const& options) { + google::cloud::internal::SetMetadata(context, options, fixed_metadata_, + api_client_header_); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/licensemanager/v1/internal/license_manager_metadata_decorator.h b/google/cloud/licensemanager/v1/internal/license_manager_metadata_decorator.h new file mode 100644 index 0000000000000..a1779c4eac38a --- /dev/null +++ b/google/cloud/licensemanager/v1/internal/license_manager_metadata_decorator.h @@ -0,0 +1,196 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_METADATA_DECORATOR_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_METADATA_DECORATOR_H + +#include "google/cloud/licensemanager/v1/internal/license_manager_stub.h" +#include "google/cloud/options.h" +#include "google/cloud/version.h" +#include +#include +#include +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class LicenseManagerMetadata : public LicenseManagerStub { + public: + ~LicenseManagerMetadata() override = default; + LicenseManagerMetadata(std::shared_ptr child, + std::multimap fixed_metadata, + std::string api_client_header = ""); + + StatusOr + ListConfigurations( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListConfigurationsRequest const& + request) override; + + StatusOr GetConfiguration( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetConfigurationRequest const& request) + override; + + future> AsyncCreateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) override; + + StatusOr CreateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) override; + + future> AsyncUpdateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) override; + + StatusOr UpdateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) override; + + future> AsyncDeleteConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) override; + + StatusOr DeleteConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) override; + + StatusOr + ListInstances(grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListInstancesRequest const& + request) override; + + StatusOr GetInstance( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetInstanceRequest const& request) + override; + + future> AsyncDeactivateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) override; + + StatusOr DeactivateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) override; + + future> AsyncReactivateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) override; + + StatusOr ReactivateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) override; + + StatusOr< + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageResponse> + QueryConfigurationLicenseUsage( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const& request) override; + + StatusOr + AggregateUsage(grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::AggregateUsageRequest const& + request) override; + + StatusOr + ListProducts(grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListProductsRequest const& + request) override; + + StatusOr GetProduct( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetProductRequest const& request) + override; + + StatusOr ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) override; + + StatusOr GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) override; + + StatusOr ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) override; + + StatusOr GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) override; + + Status DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) override; + + Status CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) override; + + future> AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) override; + + future AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) override; + + private: + void SetMetadata(grpc::ClientContext& context, Options const& options, + std::string const& request_params); + void SetMetadata(grpc::ClientContext& context, Options const& options); + + std::shared_ptr child_; + std::multimap fixed_metadata_; + std::string api_client_header_; +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_METADATA_DECORATOR_H diff --git a/google/cloud/licensemanager/v1/internal/license_manager_option_defaults.cc b/google/cloud/licensemanager/v1/internal/license_manager_option_defaults.cc new file mode 100644 index 0000000000000..fe9003b6f64d4 --- /dev/null +++ b/google/cloud/licensemanager/v1/internal/license_manager_option_defaults.cc @@ -0,0 +1,81 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#include "google/cloud/licensemanager/v1/internal/license_manager_option_defaults.h" +#include "google/cloud/licensemanager/v1/license_manager_connection.h" +#include "google/cloud/licensemanager/v1/license_manager_options.h" +#include "google/cloud/internal/populate_common_options.h" +#include "google/cloud/internal/populate_grpc_options.h" +#include +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +namespace { +auto constexpr kBackoffScaling = 2.0; +} // namespace + +Options LicenseManagerDefaultOptions(Options options) { + options = internal::PopulateCommonOptions( + std::move(options), "GOOGLE_CLOUD_CPP_LICENSE_MANAGER_ENDPOINT", "", + "GOOGLE_CLOUD_CPP_LICENSE_MANAGER_AUTHORITY", + "licensemanager.googleapis.com"); + options = internal::PopulateGrpcOptions(std::move(options)); + if (!options.has()) { + options.set( + licensemanager_v1::LicenseManagerLimitedTimeRetryPolicy( + std::chrono::minutes(30)) + .clone()); + } + if (!options.has()) { + options.set( + ExponentialBackoffPolicy( + std::chrono::seconds(0), std::chrono::seconds(1), + std::chrono::minutes(5), kBackoffScaling, kBackoffScaling) + .clone()); + } + if (!options.has()) { + options.set( + GenericPollingPolicy< + licensemanager_v1::LicenseManagerRetryPolicyOption::Type, + licensemanager_v1::LicenseManagerBackoffPolicyOption::Type>( + options.get() + ->clone(), + ExponentialBackoffPolicy(std::chrono::seconds(1), + std::chrono::minutes(5), kBackoffScaling) + .clone()) + .clone()); + } + if (!options.has()) { + options.set< + licensemanager_v1::LicenseManagerConnectionIdempotencyPolicyOption>( + licensemanager_v1:: + MakeDefaultLicenseManagerConnectionIdempotencyPolicy()); + } + + return options; +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/licensemanager/v1/internal/license_manager_option_defaults.h b/google/cloud/licensemanager/v1/internal/license_manager_option_defaults.h new file mode 100644 index 0000000000000..7983b05c44101 --- /dev/null +++ b/google/cloud/licensemanager/v1/internal/license_manager_option_defaults.h @@ -0,0 +1,37 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_OPTION_DEFAULTS_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_OPTION_DEFAULTS_H + +#include "google/cloud/options.h" +#include "google/cloud/version.h" + +namespace google { +namespace cloud { +namespace licensemanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +Options LicenseManagerDefaultOptions(Options options); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_OPTION_DEFAULTS_H diff --git a/google/cloud/licensemanager/v1/internal/license_manager_retry_traits.h b/google/cloud/licensemanager/v1/internal/license_manager_retry_traits.h new file mode 100644 index 0000000000000..f8fdb8c1a5d33 --- /dev/null +++ b/google/cloud/licensemanager/v1/internal/license_manager_retry_traits.h @@ -0,0 +1,43 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_RETRY_TRAITS_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_RETRY_TRAITS_H + +#include "google/cloud/status.h" +#include "google/cloud/version.h" + +namespace google { +namespace cloud { +namespace licensemanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/// Define the gRPC status code semantics for retrying requests. +struct LicenseManagerRetryTraits { + static bool IsPermanentFailure(google::cloud::Status const& status) { + return status.code() != StatusCode::kOk && + status.code() != StatusCode::kUnavailable; + } +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_RETRY_TRAITS_H diff --git a/google/cloud/licensemanager/v1/internal/license_manager_sources.cc b/google/cloud/licensemanager/v1/internal/license_manager_sources.cc new file mode 100644 index 0000000000000..8bd403255fdce --- /dev/null +++ b/google/cloud/licensemanager/v1/internal/license_manager_sources.cc @@ -0,0 +1,32 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +// NOLINTBEGIN(bugprone-suspicious-include) +#include "google/cloud/licensemanager/v1/internal/license_manager_auth_decorator.cc" +#include "google/cloud/licensemanager/v1/internal/license_manager_connection_impl.cc" +#include "google/cloud/licensemanager/v1/internal/license_manager_logging_decorator.cc" +#include "google/cloud/licensemanager/v1/internal/license_manager_metadata_decorator.cc" +#include "google/cloud/licensemanager/v1/internal/license_manager_option_defaults.cc" +#include "google/cloud/licensemanager/v1/internal/license_manager_stub.cc" +#include "google/cloud/licensemanager/v1/internal/license_manager_stub_factory.cc" +#include "google/cloud/licensemanager/v1/internal/license_manager_tracing_connection.cc" +#include "google/cloud/licensemanager/v1/internal/license_manager_tracing_stub.cc" +#include "google/cloud/licensemanager/v1/license_manager_client.cc" +#include "google/cloud/licensemanager/v1/license_manager_connection.cc" +#include "google/cloud/licensemanager/v1/license_manager_connection_idempotency_policy.cc" +// NOLINTEND(bugprone-suspicious-include) diff --git a/google/cloud/licensemanager/v1/internal/license_manager_stub.cc b/google/cloud/licensemanager/v1/internal/license_manager_stub.cc new file mode 100644 index 0000000000000..9e5a3841c92ff --- /dev/null +++ b/google/cloud/licensemanager/v1/internal/license_manager_stub.cc @@ -0,0 +1,417 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#include "google/cloud/licensemanager/v1/internal/license_manager_stub.h" +#include "google/cloud/grpc_error_delegate.h" +#include "google/cloud/status_or.h" +#include +#include +#include +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +LicenseManagerStub::~LicenseManagerStub() = default; + +StatusOr +DefaultLicenseManagerStub::ListConfigurations( + grpc::ClientContext& context, Options const&, + google::cloud::licensemanager::v1::ListConfigurationsRequest const& + request) { + google::cloud::licensemanager::v1::ListConfigurationsResponse response; + auto status = grpc_stub_->ListConfigurations(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultLicenseManagerStub::GetConfiguration( + grpc::ClientContext& context, Options const&, + google::cloud::licensemanager::v1::GetConfigurationRequest const& request) { + google::cloud::licensemanager::v1::Configuration response; + auto status = grpc_stub_->GetConfiguration(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultLicenseManagerStub::AsyncCreateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) { + return internal::MakeUnaryRpcImpl< + google::cloud::licensemanager::v1::CreateConfigurationRequest, + google::longrunning::Operation>( + cq, + [this]( + grpc::ClientContext* context, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncCreateConfiguration(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultLicenseManagerStub::CreateConfiguration( + grpc::ClientContext& context, Options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) { + google::longrunning::Operation response; + auto status = grpc_stub_->CreateConfiguration(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultLicenseManagerStub::AsyncUpdateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) { + return internal::MakeUnaryRpcImpl< + google::cloud::licensemanager::v1::UpdateConfigurationRequest, + google::longrunning::Operation>( + cq, + [this]( + grpc::ClientContext* context, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncUpdateConfiguration(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultLicenseManagerStub::UpdateConfiguration( + grpc::ClientContext& context, Options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) { + google::longrunning::Operation response; + auto status = grpc_stub_->UpdateConfiguration(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultLicenseManagerStub::AsyncDeleteConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) { + return internal::MakeUnaryRpcImpl< + google::cloud::licensemanager::v1::DeleteConfigurationRequest, + google::longrunning::Operation>( + cq, + [this]( + grpc::ClientContext* context, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncDeleteConfiguration(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultLicenseManagerStub::DeleteConfiguration( + grpc::ClientContext& context, Options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) { + google::longrunning::Operation response; + auto status = grpc_stub_->DeleteConfiguration(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultLicenseManagerStub::ListInstances( + grpc::ClientContext& context, Options const&, + google::cloud::licensemanager::v1::ListInstancesRequest const& request) { + google::cloud::licensemanager::v1::ListInstancesResponse response; + auto status = grpc_stub_->ListInstances(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultLicenseManagerStub::GetInstance( + grpc::ClientContext& context, Options const&, + google::cloud::licensemanager::v1::GetInstanceRequest const& request) { + google::cloud::licensemanager::v1::Instance response; + auto status = grpc_stub_->GetInstance(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultLicenseManagerStub::AsyncDeactivateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) { + return internal::MakeUnaryRpcImpl< + google::cloud::licensemanager::v1::DeactivateConfigurationRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::licensemanager::v1:: + DeactivateConfigurationRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncDeactivateConfiguration(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultLicenseManagerStub::DeactivateConfiguration( + grpc::ClientContext& context, Options, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) { + google::longrunning::Operation response; + auto status = + grpc_stub_->DeactivateConfiguration(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +future> +DefaultLicenseManagerStub::AsyncReactivateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) { + return internal::MakeUnaryRpcImpl< + google::cloud::licensemanager::v1::ReactivateConfigurationRequest, + google::longrunning::Operation>( + cq, + [this](grpc::ClientContext* context, + google::cloud::licensemanager::v1:: + ReactivateConfigurationRequest const& request, + grpc::CompletionQueue* cq) { + return grpc_stub_->AsyncReactivateConfiguration(context, request, cq); + }, + request, std::move(context)); +} + +StatusOr +DefaultLicenseManagerStub::ReactivateConfiguration( + grpc::ClientContext& context, Options, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) { + google::longrunning::Operation response; + auto status = + grpc_stub_->ReactivateConfiguration(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr< + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageResponse> +DefaultLicenseManagerStub::QueryConfigurationLicenseUsage( + grpc::ClientContext& context, Options const&, + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const& request) { + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageResponse + response; + auto status = + grpc_stub_->QueryConfigurationLicenseUsage(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultLicenseManagerStub::AggregateUsage( + grpc::ClientContext& context, Options const&, + google::cloud::licensemanager::v1::AggregateUsageRequest const& request) { + google::cloud::licensemanager::v1::AggregateUsageResponse response; + auto status = grpc_stub_->AggregateUsage(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultLicenseManagerStub::ListProducts( + grpc::ClientContext& context, Options const&, + google::cloud::licensemanager::v1::ListProductsRequest const& request) { + google::cloud::licensemanager::v1::ListProductsResponse response; + auto status = grpc_stub_->ListProducts(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultLicenseManagerStub::GetProduct( + grpc::ClientContext& context, Options const&, + google::cloud::licensemanager::v1::GetProductRequest const& request) { + google::cloud::licensemanager::v1::Product response; + auto status = grpc_stub_->GetProduct(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultLicenseManagerStub::ListLocations( + grpc::ClientContext& context, Options const&, + google::cloud::location::ListLocationsRequest const& request) { + google::cloud::location::ListLocationsResponse response; + auto status = locations_stub_->ListLocations(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultLicenseManagerStub::GetLocation( + grpc::ClientContext& context, Options const&, + google::cloud::location::GetLocationRequest const& request) { + google::cloud::location::Location response; + auto status = locations_stub_->GetLocation(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultLicenseManagerStub::ListOperations( + grpc::ClientContext& context, Options const&, + google::longrunning::ListOperationsRequest const& request) { + google::longrunning::ListOperationsResponse response; + auto status = operations_stub_->ListOperations(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +StatusOr +DefaultLicenseManagerStub::GetOperation( + grpc::ClientContext& context, Options const&, + google::longrunning::GetOperationRequest const& request) { + google::longrunning::Operation response; + auto status = operations_stub_->GetOperation(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return response; +} + +Status DefaultLicenseManagerStub::DeleteOperation( + grpc::ClientContext& context, Options const&, + google::longrunning::DeleteOperationRequest const& request) { + google::protobuf::Empty response; + auto status = operations_stub_->DeleteOperation(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return google::cloud::Status(); +} + +Status DefaultLicenseManagerStub::CancelOperation( + grpc::ClientContext& context, Options const&, + google::longrunning::CancelOperationRequest const& request) { + google::protobuf::Empty response; + auto status = operations_stub_->CancelOperation(&context, request, &response); + if (!status.ok()) { + return google::cloud::MakeStatusFromRpcError(status); + } + return google::cloud::Status(); +} + +future> +DefaultLicenseManagerStub::AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + // NOLINTNEXTLINE(performance-unnecessary-value-param) + google::cloud::internal::ImmutableOptions, + google::longrunning::GetOperationRequest const& request) { + return internal::MakeUnaryRpcImpl( + cq, + [this](grpc::ClientContext* context, + google::longrunning::GetOperationRequest const& request, + grpc::CompletionQueue* cq) { + return operations_stub_->AsyncGetOperation(context, request, cq); + }, + request, std::move(context)); +} + +future DefaultLicenseManagerStub::AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + // NOLINTNEXTLINE(performance-unnecessary-value-param) + google::cloud::internal::ImmutableOptions, + google::longrunning::CancelOperationRequest const& request) { + return internal::MakeUnaryRpcImpl( + cq, + [this](grpc::ClientContext* context, + google::longrunning::CancelOperationRequest const& request, + grpc::CompletionQueue* cq) { + return operations_stub_->AsyncCancelOperation(context, request, + cq); + }, + request, std::move(context)) + .then([](future> f) { + return f.get().status(); + }); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/licensemanager/v1/internal/license_manager_stub.h b/google/cloud/licensemanager/v1/internal/license_manager_stub.h new file mode 100644 index 0000000000000..a1cd8f07b3277 --- /dev/null +++ b/google/cloud/licensemanager/v1/internal/license_manager_stub.h @@ -0,0 +1,356 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_STUB_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_STUB_H + +#include "google/cloud/completion_queue.h" +#include "google/cloud/future.h" +#include "google/cloud/options.h" +#include "google/cloud/status_or.h" +#include "google/cloud/version.h" +#include +#include +#include +#include +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class LicenseManagerStub { + public: + virtual ~LicenseManagerStub() = 0; + + virtual StatusOr< + google::cloud::licensemanager::v1::ListConfigurationsResponse> + ListConfigurations( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListConfigurationsRequest const& + request) = 0; + + virtual StatusOr + GetConfiguration( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetConfigurationRequest const& + request) = 0; + + virtual future> + AsyncCreateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) = 0; + + virtual StatusOr CreateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) = 0; + + virtual future> + AsyncUpdateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) = 0; + + virtual StatusOr UpdateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) = 0; + + virtual future> + AsyncDeleteConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) = 0; + + virtual StatusOr DeleteConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) = 0; + + virtual StatusOr + ListInstances(grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListInstancesRequest const& + request) = 0; + + virtual StatusOr GetInstance( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetInstanceRequest const& request) = 0; + + virtual future> + AsyncDeactivateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) = 0; + + virtual StatusOr DeactivateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) = 0; + + virtual future> + AsyncReactivateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) = 0; + + virtual StatusOr ReactivateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) = 0; + + virtual StatusOr< + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageResponse> + QueryConfigurationLicenseUsage( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const& request) = 0; + + virtual StatusOr + AggregateUsage(grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::AggregateUsageRequest const& + request) = 0; + + virtual StatusOr + ListProducts(grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListProductsRequest const& + request) = 0; + + virtual StatusOr GetProduct( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetProductRequest const& request) = 0; + + virtual StatusOr + ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) = 0; + + virtual StatusOr GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) = 0; + + virtual StatusOr ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) = 0; + + virtual StatusOr GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) = 0; + + virtual Status DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) = 0; + + virtual Status CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) = 0; + + virtual future> AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) = 0; + + virtual future AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) = 0; +}; + +class DefaultLicenseManagerStub : public LicenseManagerStub { + public: + DefaultLicenseManagerStub( + std::unique_ptr< + google::cloud::licensemanager::v1::LicenseManager::StubInterface> + grpc_stub, + std::unique_ptr + locations_stub, + std::unique_ptr + operations_stub) + : grpc_stub_(std::move(grpc_stub)), + locations_stub_(std::move(locations_stub)), + operations_stub_(std::move(operations_stub)) {} + + StatusOr + ListConfigurations( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListConfigurationsRequest const& + request) override; + + StatusOr GetConfiguration( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetConfigurationRequest const& request) + override; + + future> AsyncCreateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) override; + + StatusOr CreateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) override; + + future> AsyncUpdateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) override; + + StatusOr UpdateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) override; + + future> AsyncDeleteConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) override; + + StatusOr DeleteConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) override; + + StatusOr + ListInstances(grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListInstancesRequest const& + request) override; + + StatusOr GetInstance( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetInstanceRequest const& request) + override; + + future> AsyncDeactivateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) override; + + StatusOr DeactivateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) override; + + future> AsyncReactivateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) override; + + StatusOr ReactivateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) override; + + StatusOr< + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageResponse> + QueryConfigurationLicenseUsage( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const& request) override; + + StatusOr + AggregateUsage(grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::AggregateUsageRequest const& + request) override; + + StatusOr + ListProducts(grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListProductsRequest const& + request) override; + + StatusOr GetProduct( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetProductRequest const& request) + override; + + StatusOr ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) override; + + StatusOr GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) override; + + StatusOr ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) override; + + StatusOr GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) override; + + Status DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) override; + + Status CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) override; + + future> AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) override; + + future AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) override; + + private: + std::unique_ptr< + google::cloud::licensemanager::v1::LicenseManager::StubInterface> + grpc_stub_; + std::unique_ptr + locations_stub_; + std::unique_ptr + operations_stub_; +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_STUB_H diff --git a/google/cloud/licensemanager/v1/internal/license_manager_stub_factory.cc b/google/cloud/licensemanager/v1/internal/license_manager_stub_factory.cc new file mode 100644 index 0000000000000..f6bb2abff4011 --- /dev/null +++ b/google/cloud/licensemanager/v1/internal/license_manager_stub_factory.cc @@ -0,0 +1,77 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#include "google/cloud/licensemanager/v1/internal/license_manager_stub_factory.h" +#include "google/cloud/licensemanager/v1/internal/license_manager_auth_decorator.h" +#include "google/cloud/licensemanager/v1/internal/license_manager_logging_decorator.h" +#include "google/cloud/licensemanager/v1/internal/license_manager_metadata_decorator.h" +#include "google/cloud/licensemanager/v1/internal/license_manager_stub.h" +#include "google/cloud/licensemanager/v1/internal/license_manager_tracing_stub.h" +#include "google/cloud/common_options.h" +#include "google/cloud/grpc_options.h" +#include "google/cloud/internal/algorithm.h" +#include "google/cloud/internal/opentelemetry.h" +#include "google/cloud/log.h" +#include "google/cloud/options.h" +#include +#include +#include +#include +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +std::shared_ptr CreateDefaultLicenseManagerStub( + std::shared_ptr auth, + Options const& options) { + auto channel = auth->CreateChannel(options.get(), + internal::MakeChannelArguments(options)); + auto service_grpc_stub = + google::cloud::licensemanager::v1::LicenseManager::NewStub(channel); + auto service_locations_stub = + google::cloud::location::Locations::NewStub(channel); + std::shared_ptr stub = + std::make_shared( + std::move(service_grpc_stub), std::move(service_locations_stub), + google::longrunning::Operations::NewStub(channel)); + + if (auth->RequiresConfigureContext()) { + stub = + std::make_shared(std::move(auth), std::move(stub)); + } + stub = std::make_shared( + std::move(stub), std::multimap{}); + if (internal::Contains(options.get(), "rpc")) { + GCP_LOG(INFO) << "Enabled logging for gRPC calls"; + stub = std::make_shared( + std::move(stub), options.get(), + options.get()); + } + if (internal::TracingEnabled(options)) { + stub = MakeLicenseManagerTracingStub(std::move(stub)); + } + return stub; +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/licensemanager/v1/internal/license_manager_stub_factory.h b/google/cloud/licensemanager/v1/internal/license_manager_stub_factory.h new file mode 100644 index 0000000000000..f576fa03de059 --- /dev/null +++ b/google/cloud/licensemanager/v1/internal/license_manager_stub_factory.h @@ -0,0 +1,42 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_STUB_FACTORY_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_STUB_FACTORY_H + +#include "google/cloud/licensemanager/v1/internal/license_manager_stub.h" +#include "google/cloud/internal/unified_grpc_credentials.h" +#include "google/cloud/options.h" +#include "google/cloud/version.h" +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +std::shared_ptr CreateDefaultLicenseManagerStub( + std::shared_ptr auth, + Options const& options); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_STUB_FACTORY_H diff --git a/google/cloud/licensemanager/v1/internal/license_manager_tracing_connection.cc b/google/cloud/licensemanager/v1/internal/license_manager_tracing_connection.cc new file mode 100644 index 0000000000000..4509c8cd2df1e --- /dev/null +++ b/google/cloud/licensemanager/v1/internal/license_manager_tracing_connection.cc @@ -0,0 +1,360 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#include "google/cloud/licensemanager/v1/internal/license_manager_tracing_connection.h" +#include "google/cloud/internal/opentelemetry.h" +#include "google/cloud/internal/traced_stream_range.h" +#include +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +#ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY + +LicenseManagerTracingConnection::LicenseManagerTracingConnection( + std::shared_ptr child) + : child_(std::move(child)) {} + +StreamRange +LicenseManagerTracingConnection::ListConfigurations( + google::cloud::licensemanager::v1::ListConfigurationsRequest request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::ListConfigurations"); + internal::OTelScope scope(span); + auto sr = child_->ListConfigurations(std::move(request)); + return internal::MakeTracedStreamRange< + google::cloud::licensemanager::v1::Configuration>(std::move(span), + std::move(sr)); +} + +StatusOr +LicenseManagerTracingConnection::GetConfiguration( + google::cloud::licensemanager::v1::GetConfigurationRequest const& request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::GetConfiguration"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetConfiguration(request)); +} + +future> +LicenseManagerTracingConnection::CreateConfiguration( + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::CreateConfiguration"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->CreateConfiguration(request)); +} + +StatusOr +LicenseManagerTracingConnection::CreateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::CreateConfiguration"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, + child_->CreateConfiguration(NoAwaitTag{}, request)); +} + +future> +LicenseManagerTracingConnection::CreateConfiguration( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::CreateConfiguration"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->CreateConfiguration(operation)); +} + +future> +LicenseManagerTracingConnection::UpdateConfiguration( + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::UpdateConfiguration"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->UpdateConfiguration(request)); +} + +StatusOr +LicenseManagerTracingConnection::UpdateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::UpdateConfiguration"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, + child_->UpdateConfiguration(NoAwaitTag{}, request)); +} + +future> +LicenseManagerTracingConnection::UpdateConfiguration( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::UpdateConfiguration"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->UpdateConfiguration(operation)); +} + +future> +LicenseManagerTracingConnection::DeleteConfiguration( + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::DeleteConfiguration"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->DeleteConfiguration(request)); +} + +StatusOr +LicenseManagerTracingConnection::DeleteConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::DeleteConfiguration"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan(*span, + child_->DeleteConfiguration(NoAwaitTag{}, request)); +} + +future> +LicenseManagerTracingConnection::DeleteConfiguration( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::DeleteConfiguration"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->DeleteConfiguration(operation)); +} + +StreamRange +LicenseManagerTracingConnection::ListInstances( + google::cloud::licensemanager::v1::ListInstancesRequest request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::ListInstances"); + internal::OTelScope scope(span); + auto sr = child_->ListInstances(std::move(request)); + return internal::MakeTracedStreamRange< + google::cloud::licensemanager::v1::Instance>(std::move(span), + std::move(sr)); +} + +StatusOr +LicenseManagerTracingConnection::GetInstance( + google::cloud::licensemanager::v1::GetInstanceRequest const& request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::GetInstance"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetInstance(request)); +} + +future> +LicenseManagerTracingConnection::DeactivateConfiguration( + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::DeactivateConfiguration"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->DeactivateConfiguration(request)); +} + +StatusOr +LicenseManagerTracingConnection::DeactivateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::DeactivateConfiguration"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan( + *span, child_->DeactivateConfiguration(NoAwaitTag{}, request)); +} + +future> +LicenseManagerTracingConnection::DeactivateConfiguration( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::DeactivateConfiguration"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->DeactivateConfiguration(operation)); +} + +future> +LicenseManagerTracingConnection::ReactivateConfiguration( + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::ReactivateConfiguration"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->ReactivateConfiguration(request)); +} + +StatusOr +LicenseManagerTracingConnection::ReactivateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::ReactivateConfiguration"); + opentelemetry::trace::Scope scope(span); + return internal::EndSpan( + *span, child_->ReactivateConfiguration(NoAwaitTag{}, request)); +} + +future> +LicenseManagerTracingConnection::ReactivateConfiguration( + google::longrunning::Operation const& operation) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::ReactivateConfiguration"); + internal::OTelScope scope(span); + return internal::EndSpan(std::move(span), + child_->ReactivateConfiguration(operation)); +} + +StatusOr< + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageResponse> +LicenseManagerTracingConnection::QueryConfigurationLicenseUsage( + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const& request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::" + "QueryConfigurationLicenseUsage"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, + child_->QueryConfigurationLicenseUsage(request)); +} + +StreamRange +LicenseManagerTracingConnection::AggregateUsage( + google::cloud::licensemanager::v1::AggregateUsageRequest request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::AggregateUsage"); + internal::OTelScope scope(span); + auto sr = child_->AggregateUsage(std::move(request)); + return internal::MakeTracedStreamRange< + google::cloud::licensemanager::v1::Usage>(std::move(span), std::move(sr)); +} + +StreamRange +LicenseManagerTracingConnection::ListProducts( + google::cloud::licensemanager::v1::ListProductsRequest request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::ListProducts"); + internal::OTelScope scope(span); + auto sr = child_->ListProducts(std::move(request)); + return internal::MakeTracedStreamRange< + google::cloud::licensemanager::v1::Product>(std::move(span), + std::move(sr)); +} + +StatusOr +LicenseManagerTracingConnection::GetProduct( + google::cloud::licensemanager::v1::GetProductRequest const& request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::GetProduct"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetProduct(request)); +} + +StreamRange +LicenseManagerTracingConnection::ListLocations( + google::cloud::location::ListLocationsRequest request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::ListLocations"); + internal::OTelScope scope(span); + auto sr = child_->ListLocations(std::move(request)); + return internal::MakeTracedStreamRange( + std::move(span), std::move(sr)); +} + +StatusOr +LicenseManagerTracingConnection::GetLocation( + google::cloud::location::GetLocationRequest const& request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::GetLocation"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetLocation(request)); +} + +StreamRange +LicenseManagerTracingConnection::ListOperations( + google::longrunning::ListOperationsRequest request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::ListOperations"); + internal::OTelScope scope(span); + auto sr = child_->ListOperations(std::move(request)); + return internal::MakeTracedStreamRange( + std::move(span), std::move(sr)); +} + +StatusOr +LicenseManagerTracingConnection::GetOperation( + google::longrunning::GetOperationRequest const& request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::GetOperation"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->GetOperation(request)); +} + +Status LicenseManagerTracingConnection::DeleteOperation( + google::longrunning::DeleteOperationRequest const& request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::DeleteOperation"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->DeleteOperation(request)); +} + +Status LicenseManagerTracingConnection::CancelOperation( + google::longrunning::CancelOperationRequest const& request) { + auto span = internal::MakeSpan( + "licensemanager_v1::LicenseManagerConnection::CancelOperation"); + auto scope = opentelemetry::trace::Scope(span); + return internal::EndSpan(*span, child_->CancelOperation(request)); +} + +#endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY + +std::shared_ptr +MakeLicenseManagerTracingConnection( + std::shared_ptr conn) { +#ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY + if (internal::TracingEnabled(conn->options())) { + conn = std::make_shared(std::move(conn)); + } +#endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY + return conn; +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/licensemanager/v1/internal/license_manager_tracing_connection.h b/google/cloud/licensemanager/v1/internal/license_manager_tracing_connection.h new file mode 100644 index 0000000000000..f1795d3457518 --- /dev/null +++ b/google/cloud/licensemanager/v1/internal/license_manager_tracing_connection.h @@ -0,0 +1,182 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_TRACING_CONNECTION_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_TRACING_CONNECTION_H + +#include "google/cloud/licensemanager/v1/license_manager_connection.h" +#include "google/cloud/version.h" +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +#ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY + +class LicenseManagerTracingConnection + : public licensemanager_v1::LicenseManagerConnection { + public: + ~LicenseManagerTracingConnection() override = default; + + explicit LicenseManagerTracingConnection( + std::shared_ptr child); + + Options options() override { return child_->options(); } + + StreamRange + ListConfigurations( + google::cloud::licensemanager::v1::ListConfigurationsRequest request) + override; + + StatusOr GetConfiguration( + google::cloud::licensemanager::v1::GetConfigurationRequest const& request) + override; + + future> + CreateConfiguration( + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) override; + + StatusOr CreateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) override; + + future> + CreateConfiguration(google::longrunning::Operation const& operation) override; + + future> + UpdateConfiguration( + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) override; + + StatusOr UpdateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) override; + + future> + UpdateConfiguration(google::longrunning::Operation const& operation) override; + + future> + DeleteConfiguration( + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) override; + + StatusOr DeleteConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) override; + + future> + DeleteConfiguration(google::longrunning::Operation const& operation) override; + + StreamRange ListInstances( + google::cloud::licensemanager::v1::ListInstancesRequest request) override; + + StatusOr GetInstance( + google::cloud::licensemanager::v1::GetInstanceRequest const& request) + override; + + future> + DeactivateConfiguration( + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) override; + + StatusOr DeactivateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) override; + + future> + DeactivateConfiguration( + google::longrunning::Operation const& operation) override; + + future> + ReactivateConfiguration( + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) override; + + StatusOr ReactivateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) override; + + future> + ReactivateConfiguration( + google::longrunning::Operation const& operation) override; + + StatusOr< + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageResponse> + QueryConfigurationLicenseUsage( + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const& request) override; + + StreamRange AggregateUsage( + google::cloud::licensemanager::v1::AggregateUsageRequest request) + override; + + StreamRange ListProducts( + google::cloud::licensemanager::v1::ListProductsRequest request) override; + + StatusOr GetProduct( + google::cloud::licensemanager::v1::GetProductRequest const& request) + override; + + StreamRange ListLocations( + google::cloud::location::ListLocationsRequest request) override; + + StatusOr GetLocation( + google::cloud::location::GetLocationRequest const& request) override; + + StreamRange ListOperations( + google::longrunning::ListOperationsRequest request) override; + + StatusOr GetOperation( + google::longrunning::GetOperationRequest const& request) override; + + Status DeleteOperation( + google::longrunning::DeleteOperationRequest const& request) override; + + Status CancelOperation( + google::longrunning::CancelOperationRequest const& request) override; + + private: + std::shared_ptr child_; +}; + +#endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY + +/** + * Conditionally applies the tracing decorator to the given connection. + * + * The connection is only decorated if tracing is enabled (as determined by the + * connection's options). + */ +std::shared_ptr +MakeLicenseManagerTracingConnection( + std::shared_ptr conn); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_TRACING_CONNECTION_H diff --git a/google/cloud/licensemanager/v1/internal/license_manager_tracing_stub.cc b/google/cloud/licensemanager/v1/internal/license_manager_tracing_stub.cc new file mode 100644 index 0000000000000..949cdab31f318 --- /dev/null +++ b/google/cloud/licensemanager/v1/internal/license_manager_tracing_stub.cc @@ -0,0 +1,399 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#include "google/cloud/licensemanager/v1/internal/license_manager_tracing_stub.h" +#include "google/cloud/internal/grpc_opentelemetry.h" +#include +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +#ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY + +LicenseManagerTracingStub::LicenseManagerTracingStub( + std::shared_ptr child) + : child_(std::move(child)), propagator_(internal::MakePropagator()) {} + +StatusOr +LicenseManagerTracingStub::ListConfigurations( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListConfigurationsRequest const& + request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.licensemanager.v1.LicenseManager", "ListConfigurations"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, child_->ListConfigurations(context, options, request)); +} + +StatusOr +LicenseManagerTracingStub::GetConfiguration( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetConfigurationRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.licensemanager.v1.LicenseManager", "GetConfiguration"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetConfiguration(context, options, request)); +} + +future> +LicenseManagerTracingStub::AsyncCreateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.licensemanager.v1.LicenseManager", "CreateConfiguration"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncCreateConfiguration(cq, context, std::move(options), + request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +LicenseManagerTracingStub::CreateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.licensemanager.v1.LicenseManager", "CreateConfiguration"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, child_->CreateConfiguration(context, options, request)); +} + +future> +LicenseManagerTracingStub::AsyncUpdateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.licensemanager.v1.LicenseManager", "UpdateConfiguration"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncUpdateConfiguration(cq, context, std::move(options), + request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +LicenseManagerTracingStub::UpdateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.licensemanager.v1.LicenseManager", "UpdateConfiguration"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, child_->UpdateConfiguration(context, options, request)); +} + +future> +LicenseManagerTracingStub::AsyncDeleteConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.licensemanager.v1.LicenseManager", "DeleteConfiguration"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncDeleteConfiguration(cq, context, std::move(options), + request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +LicenseManagerTracingStub::DeleteConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.licensemanager.v1.LicenseManager", "DeleteConfiguration"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, child_->DeleteConfiguration(context, options, request)); +} + +StatusOr +LicenseManagerTracingStub::ListInstances( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListInstancesRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.licensemanager.v1.LicenseManager", "ListInstances"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->ListInstances(context, options, request)); +} + +StatusOr +LicenseManagerTracingStub::GetInstance( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetInstanceRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.licensemanager.v1.LicenseManager", "GetInstance"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetInstance(context, options, request)); +} + +future> +LicenseManagerTracingStub::AsyncDeactivateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) { + auto span = + internal::MakeSpanGrpc("google.cloud.licensemanager.v1.LicenseManager", + "DeactivateConfiguration"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncDeactivateConfiguration(cq, context, std::move(options), + request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +LicenseManagerTracingStub::DeactivateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) { + auto span = + internal::MakeSpanGrpc("google.cloud.licensemanager.v1.LicenseManager", + "DeactivateConfiguration"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->DeactivateConfiguration(context, options, request)); +} + +future> +LicenseManagerTracingStub::AsyncReactivateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) { + auto span = + internal::MakeSpanGrpc("google.cloud.licensemanager.v1.LicenseManager", + "ReactivateConfiguration"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncReactivateConfiguration(cq, context, std::move(options), + request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +StatusOr +LicenseManagerTracingStub::ReactivateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) { + auto span = + internal::MakeSpanGrpc("google.cloud.licensemanager.v1.LicenseManager", + "ReactivateConfiguration"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->ReactivateConfiguration(context, options, request)); +} + +StatusOr< + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageResponse> +LicenseManagerTracingStub::QueryConfigurationLicenseUsage( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const& request) { + auto span = + internal::MakeSpanGrpc("google.cloud.licensemanager.v1.LicenseManager", + "QueryConfigurationLicenseUsage"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan( + context, *span, + child_->QueryConfigurationLicenseUsage(context, options, request)); +} + +StatusOr +LicenseManagerTracingStub::AggregateUsage( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::AggregateUsageRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.licensemanager.v1.LicenseManager", "AggregateUsage"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->AggregateUsage(context, options, request)); +} + +StatusOr +LicenseManagerTracingStub::ListProducts( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListProductsRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.licensemanager.v1.LicenseManager", "ListProducts"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->ListProducts(context, options, request)); +} + +StatusOr +LicenseManagerTracingStub::GetProduct( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetProductRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.licensemanager.v1.LicenseManager", "GetProduct"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetProduct(context, options, request)); +} + +StatusOr +LicenseManagerTracingStub::ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.licensemanager.v1.LicenseManager", "ListLocations"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->ListLocations(context, options, request)); +} + +StatusOr +LicenseManagerTracingStub::GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.licensemanager.v1.LicenseManager", "GetLocation"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetLocation(context, options, request)); +} + +StatusOr +LicenseManagerTracingStub::ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.licensemanager.v1.LicenseManager", "ListOperations"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->ListOperations(context, options, request)); +} + +StatusOr +LicenseManagerTracingStub::GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.licensemanager.v1.LicenseManager", "GetOperation"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->GetOperation(context, options, request)); +} + +Status LicenseManagerTracingStub::DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.licensemanager.v1.LicenseManager", "DeleteOperation"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->DeleteOperation(context, options, request)); +} + +Status LicenseManagerTracingStub::CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) { + auto span = internal::MakeSpanGrpc( + "google.cloud.licensemanager.v1.LicenseManager", "CancelOperation"); + auto scope = opentelemetry::trace::Scope(span); + internal::InjectTraceContext(context, *propagator_); + return internal::EndSpan(context, *span, + child_->CancelOperation(context, options, request)); +} + +future> +LicenseManagerTracingStub::AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) { + auto span = + internal::MakeSpanGrpc("google.longrunning.Operations", "GetOperation"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = child_->AsyncGetOperation(cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +future LicenseManagerTracingStub::AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) { + auto span = internal::MakeSpanGrpc("google.longrunning.Operations", + "CancelOperation"); + internal::OTelScope scope(span); + internal::InjectTraceContext(*context, *propagator_); + auto f = + child_->AsyncCancelOperation(cq, context, std::move(options), request); + return internal::EndSpan(std::move(context), std::move(span), std::move(f)); +} + +#endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY + +std::shared_ptr MakeLicenseManagerTracingStub( + std::shared_ptr stub) { +#ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY + return std::make_shared(std::move(stub)); +#else + return stub; +#endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1_internal +} // namespace cloud +} // namespace google diff --git a/google/cloud/licensemanager/v1/internal/license_manager_tracing_stub.h b/google/cloud/licensemanager/v1/internal/license_manager_tracing_stub.h new file mode 100644 index 0000000000000..a71808ceb4c29 --- /dev/null +++ b/google/cloud/licensemanager/v1/internal/license_manager_tracing_stub.h @@ -0,0 +1,202 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_TRACING_STUB_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_TRACING_STUB_H + +#include "google/cloud/licensemanager/v1/internal/license_manager_stub.h" +#include "google/cloud/internal/trace_propagator.h" +#include "google/cloud/options.h" +#include "google/cloud/version.h" +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1_internal { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +#ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY + +class LicenseManagerTracingStub : public LicenseManagerStub { + public: + ~LicenseManagerTracingStub() override = default; + + explicit LicenseManagerTracingStub(std::shared_ptr child); + + StatusOr + ListConfigurations( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListConfigurationsRequest const& + request) override; + + StatusOr GetConfiguration( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetConfigurationRequest const& request) + override; + + future> AsyncCreateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) override; + + StatusOr CreateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request) override; + + future> AsyncUpdateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) override; + + StatusOr UpdateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request) override; + + future> AsyncDeleteConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) override; + + StatusOr DeleteConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request) override; + + StatusOr + ListInstances(grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListInstancesRequest const& + request) override; + + StatusOr GetInstance( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetInstanceRequest const& request) + override; + + future> AsyncDeactivateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) override; + + StatusOr DeactivateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request) override; + + future> AsyncReactivateConfiguration( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) override; + + StatusOr ReactivateConfiguration( + grpc::ClientContext& context, Options options, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request) override; + + StatusOr< + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageResponse> + QueryConfigurationLicenseUsage( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const& request) override; + + StatusOr + AggregateUsage(grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::AggregateUsageRequest const& + request) override; + + StatusOr + ListProducts(grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::ListProductsRequest const& + request) override; + + StatusOr GetProduct( + grpc::ClientContext& context, Options const& options, + google::cloud::licensemanager::v1::GetProductRequest const& request) + override; + + StatusOr ListLocations( + grpc::ClientContext& context, Options const& options, + google::cloud::location::ListLocationsRequest const& request) override; + + StatusOr GetLocation( + grpc::ClientContext& context, Options const& options, + google::cloud::location::GetLocationRequest const& request) override; + + StatusOr ListOperations( + grpc::ClientContext& context, Options const& options, + google::longrunning::ListOperationsRequest const& request) override; + + StatusOr GetOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::GetOperationRequest const& request) override; + + Status DeleteOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::DeleteOperationRequest const& request) override; + + Status CancelOperation( + grpc::ClientContext& context, Options const& options, + google::longrunning::CancelOperationRequest const& request) override; + + future> AsyncGetOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::GetOperationRequest const& request) override; + + future AsyncCancelOperation( + google::cloud::CompletionQueue& cq, + std::shared_ptr context, + google::cloud::internal::ImmutableOptions options, + google::longrunning::CancelOperationRequest const& request) override; + + private: + std::shared_ptr child_; + std::shared_ptr + propagator_; +}; + +#endif // GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY + +/** + * Applies the tracing decorator to the given stub. + * + * The stub is only decorated if the library has been compiled with + * OpenTelemetry. + */ +std::shared_ptr MakeLicenseManagerTracingStub( + std::shared_ptr stub); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1_internal +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_INTERNAL_LICENSE_MANAGER_TRACING_STUB_H diff --git a/google/cloud/licensemanager/v1/license_manager_client.cc b/google/cloud/licensemanager/v1/license_manager_client.cc new file mode 100644 index 0000000000000..8fd112f307678 --- /dev/null +++ b/google/cloud/licensemanager/v1/license_manager_client.cc @@ -0,0 +1,486 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#include "google/cloud/licensemanager/v1/license_manager_client.h" +#include +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +LicenseManagerClient::LicenseManagerClient( + std::shared_ptr connection, Options opts) + : connection_(std::move(connection)), + options_( + internal::MergeOptions(std::move(opts), connection_->options())) {} +LicenseManagerClient::~LicenseManagerClient() = default; + +StreamRange +LicenseManagerClient::ListConfigurations(std::string const& parent, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::licensemanager::v1::ListConfigurationsRequest request; + request.set_parent(parent); + return connection_->ListConfigurations(request); +} + +StreamRange +LicenseManagerClient::ListConfigurations( + google::cloud::licensemanager::v1::ListConfigurationsRequest request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListConfigurations(std::move(request)); +} + +StatusOr +LicenseManagerClient::GetConfiguration(std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::licensemanager::v1::GetConfigurationRequest request; + request.set_name(name); + return connection_->GetConfiguration(request); +} + +StatusOr +LicenseManagerClient::GetConfiguration( + google::cloud::licensemanager::v1::GetConfigurationRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetConfiguration(request); +} + +future> +LicenseManagerClient::CreateConfiguration( + std::string const& parent, + google::cloud::licensemanager::v1::Configuration const& configuration, + std::string const& configuration_id, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::licensemanager::v1::CreateConfigurationRequest request; + request.set_parent(parent); + *request.mutable_configuration() = configuration; + request.set_configuration_id(configuration_id); + return connection_->CreateConfiguration(request); +} + +StatusOr +LicenseManagerClient::CreateConfiguration( + NoAwaitTag, std::string const& parent, + google::cloud::licensemanager::v1::Configuration const& configuration, + std::string const& configuration_id, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::licensemanager::v1::CreateConfigurationRequest request; + request.set_parent(parent); + *request.mutable_configuration() = configuration; + request.set_configuration_id(configuration_id); + return connection_->CreateConfiguration(NoAwaitTag{}, request); +} + +future> +LicenseManagerClient::CreateConfiguration( + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateConfiguration(request); +} + +StatusOr +LicenseManagerClient::CreateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateConfiguration(NoAwaitTag{}, request); +} + +future> +LicenseManagerClient::CreateConfiguration( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CreateConfiguration(operation); +} + +future> +LicenseManagerClient::UpdateConfiguration( + google::cloud::licensemanager::v1::Configuration const& configuration, + google::protobuf::FieldMask const& update_mask, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::licensemanager::v1::UpdateConfigurationRequest request; + *request.mutable_configuration() = configuration; + *request.mutable_update_mask() = update_mask; + return connection_->UpdateConfiguration(request); +} + +StatusOr +LicenseManagerClient::UpdateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::Configuration const& configuration, + google::protobuf::FieldMask const& update_mask, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::licensemanager::v1::UpdateConfigurationRequest request; + *request.mutable_configuration() = configuration; + *request.mutable_update_mask() = update_mask; + return connection_->UpdateConfiguration(NoAwaitTag{}, request); +} + +future> +LicenseManagerClient::UpdateConfiguration( + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateConfiguration(request); +} + +StatusOr +LicenseManagerClient::UpdateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateConfiguration(NoAwaitTag{}, request); +} + +future> +LicenseManagerClient::UpdateConfiguration( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->UpdateConfiguration(operation); +} + +future> +LicenseManagerClient::DeleteConfiguration(std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::licensemanager::v1::DeleteConfigurationRequest request; + request.set_name(name); + return connection_->DeleteConfiguration(request); +} + +StatusOr +LicenseManagerClient::DeleteConfiguration(NoAwaitTag, std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::licensemanager::v1::DeleteConfigurationRequest request; + request.set_name(name); + return connection_->DeleteConfiguration(NoAwaitTag{}, request); +} + +future> +LicenseManagerClient::DeleteConfiguration( + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteConfiguration(request); +} + +StatusOr +LicenseManagerClient::DeleteConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteConfiguration(NoAwaitTag{}, request); +} + +future> +LicenseManagerClient::DeleteConfiguration( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteConfiguration(operation); +} + +StreamRange +LicenseManagerClient::ListInstances(std::string const& parent, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::licensemanager::v1::ListInstancesRequest request; + request.set_parent(parent); + return connection_->ListInstances(request); +} + +StreamRange +LicenseManagerClient::ListInstances( + google::cloud::licensemanager::v1::ListInstancesRequest request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListInstances(std::move(request)); +} + +StatusOr +LicenseManagerClient::GetInstance(std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::licensemanager::v1::GetInstanceRequest request; + request.set_name(name); + return connection_->GetInstance(request); +} + +StatusOr +LicenseManagerClient::GetInstance( + google::cloud::licensemanager::v1::GetInstanceRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetInstance(request); +} + +future> +LicenseManagerClient::DeactivateConfiguration(std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::licensemanager::v1::DeactivateConfigurationRequest request; + request.set_name(name); + return connection_->DeactivateConfiguration(request); +} + +StatusOr +LicenseManagerClient::DeactivateConfiguration(NoAwaitTag, + std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::licensemanager::v1::DeactivateConfigurationRequest request; + request.set_name(name); + return connection_->DeactivateConfiguration(NoAwaitTag{}, request); +} + +future> +LicenseManagerClient::DeactivateConfiguration( + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeactivateConfiguration(request); +} + +StatusOr +LicenseManagerClient::DeactivateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeactivateConfiguration(NoAwaitTag{}, request); +} + +future> +LicenseManagerClient::DeactivateConfiguration( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeactivateConfiguration(operation); +} + +future> +LicenseManagerClient::ReactivateConfiguration(std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::licensemanager::v1::ReactivateConfigurationRequest request; + request.set_name(name); + return connection_->ReactivateConfiguration(request); +} + +StatusOr +LicenseManagerClient::ReactivateConfiguration(NoAwaitTag, + std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::licensemanager::v1::ReactivateConfigurationRequest request; + request.set_name(name); + return connection_->ReactivateConfiguration(NoAwaitTag{}, request); +} + +future> +LicenseManagerClient::ReactivateConfiguration( + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ReactivateConfiguration(request); +} + +StatusOr +LicenseManagerClient::ReactivateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ReactivateConfiguration(NoAwaitTag{}, request); +} + +future> +LicenseManagerClient::ReactivateConfiguration( + google::longrunning::Operation const& operation, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ReactivateConfiguration(operation); +} + +StatusOr< + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageResponse> +LicenseManagerClient::QueryConfigurationLicenseUsage( + std::string const& name, google::protobuf::Timestamp const& start_time, + google::protobuf::Timestamp const& end_time, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageRequest + request; + request.set_name(name); + *request.mutable_start_time() = start_time; + *request.mutable_end_time() = end_time; + return connection_->QueryConfigurationLicenseUsage(request); +} + +StatusOr< + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageResponse> +LicenseManagerClient::QueryConfigurationLicenseUsage( + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->QueryConfigurationLicenseUsage(request); +} + +StreamRange +LicenseManagerClient::AggregateUsage( + std::string const& name, google::protobuf::Timestamp const& start_time, + google::protobuf::Timestamp const& end_time, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::licensemanager::v1::AggregateUsageRequest request; + request.set_name(name); + *request.mutable_start_time() = start_time; + *request.mutable_end_time() = end_time; + return connection_->AggregateUsage(request); +} + +StreamRange +LicenseManagerClient::AggregateUsage( + google::cloud::licensemanager::v1::AggregateUsageRequest request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->AggregateUsage(std::move(request)); +} + +StreamRange +LicenseManagerClient::ListProducts(std::string const& parent, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::licensemanager::v1::ListProductsRequest request; + request.set_parent(parent); + return connection_->ListProducts(request); +} + +StreamRange +LicenseManagerClient::ListProducts( + google::cloud::licensemanager::v1::ListProductsRequest request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListProducts(std::move(request)); +} + +StatusOr +LicenseManagerClient::GetProduct(std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::cloud::licensemanager::v1::GetProductRequest request; + request.set_name(name); + return connection_->GetProduct(request); +} + +StatusOr +LicenseManagerClient::GetProduct( + google::cloud::licensemanager::v1::GetProductRequest const& request, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetProduct(request); +} + +StreamRange +LicenseManagerClient::ListLocations( + google::cloud::location::ListLocationsRequest request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListLocations(std::move(request)); +} + +StatusOr LicenseManagerClient::GetLocation( + google::cloud::location::GetLocationRequest const& request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetLocation(request); +} + +StreamRange +LicenseManagerClient::ListOperations(std::string const& name, + std::string const& filter, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::longrunning::ListOperationsRequest request; + request.set_name(name); + request.set_filter(filter); + return connection_->ListOperations(request); +} + +StreamRange +LicenseManagerClient::ListOperations( + google::longrunning::ListOperationsRequest request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->ListOperations(std::move(request)); +} + +StatusOr LicenseManagerClient::GetOperation( + std::string const& name, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::longrunning::GetOperationRequest request; + request.set_name(name); + return connection_->GetOperation(request); +} + +StatusOr LicenseManagerClient::GetOperation( + google::longrunning::GetOperationRequest const& request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->GetOperation(request); +} + +Status LicenseManagerClient::DeleteOperation(std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::longrunning::DeleteOperationRequest request; + request.set_name(name); + return connection_->DeleteOperation(request); +} + +Status LicenseManagerClient::DeleteOperation( + google::longrunning::DeleteOperationRequest const& request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->DeleteOperation(request); +} + +Status LicenseManagerClient::CancelOperation(std::string const& name, + Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + google::longrunning::CancelOperationRequest request; + request.set_name(name); + return connection_->CancelOperation(request); +} + +Status LicenseManagerClient::CancelOperation( + google::longrunning::CancelOperationRequest const& request, Options opts) { + internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_)); + return connection_->CancelOperation(request); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1 +} // namespace cloud +} // namespace google diff --git a/google/cloud/licensemanager/v1/license_manager_client.h b/google/cloud/licensemanager/v1/license_manager_client.h new file mode 100644 index 0000000000000..d55791efdd313 --- /dev/null +++ b/google/cloud/licensemanager/v1/license_manager_client.h @@ -0,0 +1,1570 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_LICENSE_MANAGER_CLIENT_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_LICENSE_MANAGER_CLIENT_H + +#include "google/cloud/licensemanager/v1/license_manager_connection.h" +#include "google/cloud/future.h" +#include "google/cloud/no_await_tag.h" +#include "google/cloud/options.h" +#include "google/cloud/polling_policy.h" +#include "google/cloud/status_or.h" +#include "google/cloud/version.h" +#include +#include +#include +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/// +/// Service describing handlers for resources +/// +/// @par Equality +/// +/// Instances of this class created via copy-construction or copy-assignment +/// always compare equal. Instances created with equal +/// `std::shared_ptr<*Connection>` objects compare equal. Objects that compare +/// equal share the same underlying resources. +/// +/// @par Performance +/// +/// Creating a new instance of this class is a relatively expensive operation, +/// new objects establish new connections to the service. In contrast, +/// copy-construction, move-construction, and the corresponding assignment +/// operations are relatively efficient as the copies share all underlying +/// resources. +/// +/// @par Thread Safety +/// +/// Concurrent access to different instances of this class, even if they compare +/// equal, is guaranteed to work. Two or more threads operating on the same +/// instance of this class is not guaranteed to work. Since copy-construction +/// and move-construction is a relatively efficient operation, consider using +/// such a copy when using this class from multiple threads. +/// +class LicenseManagerClient { + public: + explicit LicenseManagerClient( + std::shared_ptr connection, Options opts = {}); + ~LicenseManagerClient(); + + ///@{ + /// @name Copy and move support + LicenseManagerClient(LicenseManagerClient const&) = default; + LicenseManagerClient& operator=(LicenseManagerClient const&) = default; + LicenseManagerClient(LicenseManagerClient&&) = default; + LicenseManagerClient& operator=(LicenseManagerClient&&) = default; + ///@} + + ///@{ + /// @name Equality + friend bool operator==(LicenseManagerClient const& a, + LicenseManagerClient const& b) { + return a.connection_ == b.connection_; + } + friend bool operator!=(LicenseManagerClient const& a, + LicenseManagerClient const& b) { + return !(a == b); + } + ///@} + + // clang-format off + /// + /// Lists Configurations in a given project and location. + /// + /// @param parent Required. Parent value for ListConfigurationsRequest + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [StreamRange](@ref google::cloud::StreamRange) + /// to iterate of the results. See the documentation of this type for + /// details. In brief, this class has `begin()` and `end()` member + /// functions returning a iterator class meeting the + /// [input iterator requirements]. The value type for this iterator is a + /// [`StatusOr`] as the iteration may fail even after some values are + /// retrieved successfully, for example, if there is a network disconnect. + /// An empty set of results does not indicate an error, it indicates + /// that there are no resources meeting the request criteria. + /// On a successful iteration the `StatusOr` contains elements of type + /// [google.cloud.licensemanager.v1.Configuration], or rather, + /// the C++ class generated by Protobuf from that type. Please consult the + /// Protobuf documentation for details on the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.Configuration]: @googleapis_reference_link{google/cloud/licensemanager/v1/api_entities.proto#L68} + /// [google.cloud.licensemanager.v1.ListConfigurationsRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L186} + /// + // clang-format on + StreamRange + ListConfigurations(std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Lists Configurations in a given project and location. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.licensemanager.v1.ListConfigurationsRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [StreamRange](@ref google::cloud::StreamRange) + /// to iterate of the results. See the documentation of this type for + /// details. In brief, this class has `begin()` and `end()` member + /// functions returning a iterator class meeting the + /// [input iterator requirements]. The value type for this iterator is a + /// [`StatusOr`] as the iteration may fail even after some values are + /// retrieved successfully, for example, if there is a network disconnect. + /// An empty set of results does not indicate an error, it indicates + /// that there are no resources meeting the request criteria. + /// On a successful iteration the `StatusOr` contains elements of type + /// [google.cloud.licensemanager.v1.Configuration], or rather, + /// the C++ class generated by Protobuf from that type. Please consult the + /// Protobuf documentation for details on the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.Configuration]: @googleapis_reference_link{google/cloud/licensemanager/v1/api_entities.proto#L68} + /// [google.cloud.licensemanager.v1.ListConfigurationsRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L186} + /// + // clang-format on + StreamRange + ListConfigurations( + google::cloud::licensemanager::v1::ListConfigurationsRequest request, + Options opts = {}); + + // clang-format off + /// + /// Gets details of a single Configuration. + /// + /// @param name Required. Name of the resource + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return the result of the RPC. The response message type + /// ([google.cloud.licensemanager.v1.Configuration]) + /// is mapped to a C++ class using the [Protobuf mapping rules]. + /// If the request fails, the [`StatusOr`] contains the error details. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.Configuration]: @googleapis_reference_link{google/cloud/licensemanager/v1/api_entities.proto#L68} + /// [google.cloud.licensemanager.v1.GetConfigurationRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L222} + /// + // clang-format on + StatusOr GetConfiguration( + std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Gets details of a single Configuration. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.licensemanager.v1.GetConfigurationRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return the result of the RPC. The response message type + /// ([google.cloud.licensemanager.v1.Configuration]) + /// is mapped to a C++ class using the [Protobuf mapping rules]. + /// If the request fails, the [`StatusOr`] contains the error details. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.Configuration]: @googleapis_reference_link{google/cloud/licensemanager/v1/api_entities.proto#L68} + /// [google.cloud.licensemanager.v1.GetConfigurationRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L222} + /// + // clang-format on + StatusOr GetConfiguration( + google::cloud::licensemanager::v1::GetConfigurationRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Creates a new Configuration in a given project and location. + /// + /// @param parent Required. Value for parent. + /// @param configuration Required. The resource being created + /// @param configuration_id Required. Id of the requesting object + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return A [`future`] that becomes satisfied when the LRO + /// ([Long Running Operation]) completes or the polling policy in effect + /// for this call is exhausted. The future is satisfied with an error if + /// the LRO completes with an error or the polling policy is exhausted. + /// In this case the [`StatusOr`] returned by the future contains the + /// error. If the LRO completes successfully the value of the future + /// contains the LRO's result. For this RPC the result is a + /// [google.cloud.licensemanager.v1.Configuration] proto message. + /// The C++ class representing this message is created by Protobuf, using + /// the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [Long Running Operation]: https://google.aip.dev/151 + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.Configuration]: @googleapis_reference_link{google/cloud/licensemanager/v1/api_entities.proto#L68} + /// [google.cloud.licensemanager.v1.CreateConfigurationRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L233} + /// + // clang-format on + future> + CreateConfiguration( + std::string const& parent, + google::cloud::licensemanager::v1::Configuration const& configuration, + std::string const& configuration_id, Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateConfiguration + /// + /// Specifying the [`NoAwaitTag`] immediately returns the + /// [`google::longrunning::Operation`] that corresponds to the Long Running + /// Operation that has been started. No polling for operation status occurs. + /// + /// [`NoAwaitTag`]: @ref google::cloud::NoAwaitTag + /// + // clang-format on + StatusOr CreateConfiguration( + NoAwaitTag, std::string const& parent, + google::cloud::licensemanager::v1::Configuration const& configuration, + std::string const& configuration_id, Options opts = {}); + + // clang-format off + /// + /// Creates a new Configuration in a given project and location. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.licensemanager.v1.CreateConfigurationRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return A [`future`] that becomes satisfied when the LRO + /// ([Long Running Operation]) completes or the polling policy in effect + /// for this call is exhausted. The future is satisfied with an error if + /// the LRO completes with an error or the polling policy is exhausted. + /// In this case the [`StatusOr`] returned by the future contains the + /// error. If the LRO completes successfully the value of the future + /// contains the LRO's result. For this RPC the result is a + /// [google.cloud.licensemanager.v1.Configuration] proto message. + /// The C++ class representing this message is created by Protobuf, using + /// the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [Long Running Operation]: https://google.aip.dev/151 + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.Configuration]: @googleapis_reference_link{google/cloud/licensemanager/v1/api_entities.proto#L68} + /// [google.cloud.licensemanager.v1.CreateConfigurationRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L233} + /// + // clang-format on + future> + CreateConfiguration( + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateConfiguration + /// + /// Specifying the [`NoAwaitTag`] immediately returns the + /// [`google::longrunning::Operation`] that corresponds to the Long Running + /// Operation that has been started. No polling for operation status occurs. + /// + /// [`NoAwaitTag`]: @ref google::cloud::NoAwaitTag + /// + // clang-format on + StatusOr CreateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief CreateConfiguration + /// + /// This method accepts a `google::longrunning::Operation` that corresponds + /// to a previously started Long Running Operation (LRO) and polls the status + /// of the LRO in the background. + /// + // clang-format on + future> + CreateConfiguration(google::longrunning::Operation const& operation, + Options opts = {}); + + // clang-format off + /// + /// Updates the parameters of a single Configuration. + /// + /// @param configuration Required. The resource being updated + /// @param update_mask Optional. Field mask is used to specify the fields to be overwritten in the + /// Configuration resource by the update. + /// The fields specified in the update_mask are relative to the resource, not + /// the full request. A field will be overwritten if it is in the mask. If the + /// user does not provide a mask then all fields will be overwritten. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return A [`future`] that becomes satisfied when the LRO + /// ([Long Running Operation]) completes or the polling policy in effect + /// for this call is exhausted. The future is satisfied with an error if + /// the LRO completes with an error or the polling policy is exhausted. + /// In this case the [`StatusOr`] returned by the future contains the + /// error. If the LRO completes successfully the value of the future + /// contains the LRO's result. For this RPC the result is a + /// [google.cloud.licensemanager.v1.Configuration] proto message. + /// The C++ class representing this message is created by Protobuf, using + /// the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [Long Running Operation]: https://google.aip.dev/151 + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.Configuration]: @googleapis_reference_link{google/cloud/licensemanager/v1/api_entities.proto#L68} + /// [google.cloud.licensemanager.v1.UpdateConfigurationRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L268} + /// + // clang-format on + future> + UpdateConfiguration( + google::cloud::licensemanager::v1::Configuration const& configuration, + google::protobuf::FieldMask const& update_mask, Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateConfiguration + /// + /// Specifying the [`NoAwaitTag`] immediately returns the + /// [`google::longrunning::Operation`] that corresponds to the Long Running + /// Operation that has been started. No polling for operation status occurs. + /// + /// [`NoAwaitTag`]: @ref google::cloud::NoAwaitTag + /// + // clang-format on + StatusOr UpdateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::Configuration const& configuration, + google::protobuf::FieldMask const& update_mask, Options opts = {}); + + // clang-format off + /// + /// Updates the parameters of a single Configuration. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.licensemanager.v1.UpdateConfigurationRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return A [`future`] that becomes satisfied when the LRO + /// ([Long Running Operation]) completes or the polling policy in effect + /// for this call is exhausted. The future is satisfied with an error if + /// the LRO completes with an error or the polling policy is exhausted. + /// In this case the [`StatusOr`] returned by the future contains the + /// error. If the LRO completes successfully the value of the future + /// contains the LRO's result. For this RPC the result is a + /// [google.cloud.licensemanager.v1.Configuration] proto message. + /// The C++ class representing this message is created by Protobuf, using + /// the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [Long Running Operation]: https://google.aip.dev/151 + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.Configuration]: @googleapis_reference_link{google/cloud/licensemanager/v1/api_entities.proto#L68} + /// [google.cloud.licensemanager.v1.UpdateConfigurationRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L268} + /// + // clang-format on + future> + UpdateConfiguration( + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateConfiguration + /// + /// Specifying the [`NoAwaitTag`] immediately returns the + /// [`google::longrunning::Operation`] that corresponds to the Long Running + /// Operation that has been started. No polling for operation status occurs. + /// + /// [`NoAwaitTag`]: @ref google::cloud::NoAwaitTag + /// + // clang-format on + StatusOr UpdateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief UpdateConfiguration + /// + /// This method accepts a `google::longrunning::Operation` that corresponds + /// to a previously started Long Running Operation (LRO) and polls the status + /// of the LRO in the background. + /// + // clang-format on + future> + UpdateConfiguration(google::longrunning::Operation const& operation, + Options opts = {}); + + // clang-format off + /// + /// Deletes a single Configuration. + /// + /// @param name Required. Name of the resource + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return A [`future`] that becomes satisfied when the LRO + /// ([Long Running Operation]) completes or the polling policy in effect + /// for this call is exhausted. The future is satisfied with an error if + /// the LRO completes with an error or the polling policy is exhausted. + /// In this case the [`StatusOr`] returned by the future contains the + /// error. If the LRO completes successfully the value of the future + /// contains the LRO's result. For this RPC the result is a + /// [google.cloud.licensemanager.v1.OperationMetadata] proto message. + /// The C++ class representing this message is created by Protobuf, using + /// the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [Long Running Operation]: https://google.aip.dev/151 + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.DeleteConfigurationRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L300} + /// [google.cloud.licensemanager.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L558} + /// + // clang-format on + future> + DeleteConfiguration(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteConfiguration + /// + /// Specifying the [`NoAwaitTag`] immediately returns the + /// [`google::longrunning::Operation`] that corresponds to the Long Running + /// Operation that has been started. No polling for operation status occurs. + /// + /// [`NoAwaitTag`]: @ref google::cloud::NoAwaitTag + /// + // clang-format on + StatusOr DeleteConfiguration( + NoAwaitTag, std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Deletes a single Configuration. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.licensemanager.v1.DeleteConfigurationRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return A [`future`] that becomes satisfied when the LRO + /// ([Long Running Operation]) completes or the polling policy in effect + /// for this call is exhausted. The future is satisfied with an error if + /// the LRO completes with an error or the polling policy is exhausted. + /// In this case the [`StatusOr`] returned by the future contains the + /// error. If the LRO completes successfully the value of the future + /// contains the LRO's result. For this RPC the result is a + /// [google.cloud.licensemanager.v1.OperationMetadata] proto message. + /// The C++ class representing this message is created by Protobuf, using + /// the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [Long Running Operation]: https://google.aip.dev/151 + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.DeleteConfigurationRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L300} + /// [google.cloud.licensemanager.v1.OperationMetadata]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L558} + /// + // clang-format on + future> + DeleteConfiguration( + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteConfiguration + /// + /// Specifying the [`NoAwaitTag`] immediately returns the + /// [`google::longrunning::Operation`] that corresponds to the Long Running + /// Operation that has been started. No polling for operation status occurs. + /// + /// [`NoAwaitTag`]: @ref google::cloud::NoAwaitTag + /// + // clang-format on + StatusOr DeleteConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeleteConfiguration + /// + /// This method accepts a `google::longrunning::Operation` that corresponds + /// to a previously started Long Running Operation (LRO) and polls the status + /// of the LRO in the background. + /// + // clang-format on + future> + DeleteConfiguration(google::longrunning::Operation const& operation, + Options opts = {}); + + // clang-format off + /// + /// Lists Instances in a given project and location. + /// + /// @param parent Required. Parent value for ListInstancesRequest + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [StreamRange](@ref google::cloud::StreamRange) + /// to iterate of the results. See the documentation of this type for + /// details. In brief, this class has `begin()` and `end()` member + /// functions returning a iterator class meeting the + /// [input iterator requirements]. The value type for this iterator is a + /// [`StatusOr`] as the iteration may fail even after some values are + /// retrieved successfully, for example, if there is a network disconnect. + /// An empty set of results does not indicate an error, it indicates + /// that there are no resources meeting the request criteria. + /// On a successful iteration the `StatusOr` contains elements of type + /// [google.cloud.licensemanager.v1.Instance], or rather, + /// the C++ class generated by Protobuf from that type. Please consult the + /// Protobuf documentation for details on the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.Instance]: @googleapis_reference_link{google/cloud/licensemanager/v1/api_entities.proto#L211} + /// [google.cloud.licensemanager.v1.ListInstancesRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L329} + /// + // clang-format on + StreamRange ListInstances( + std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Lists Instances in a given project and location. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.licensemanager.v1.ListInstancesRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [StreamRange](@ref google::cloud::StreamRange) + /// to iterate of the results. See the documentation of this type for + /// details. In brief, this class has `begin()` and `end()` member + /// functions returning a iterator class meeting the + /// [input iterator requirements]. The value type for this iterator is a + /// [`StatusOr`] as the iteration may fail even after some values are + /// retrieved successfully, for example, if there is a network disconnect. + /// An empty set of results does not indicate an error, it indicates + /// that there are no resources meeting the request criteria. + /// On a successful iteration the `StatusOr` contains elements of type + /// [google.cloud.licensemanager.v1.Instance], or rather, + /// the C++ class generated by Protobuf from that type. Please consult the + /// Protobuf documentation for details on the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.Instance]: @googleapis_reference_link{google/cloud/licensemanager/v1/api_entities.proto#L211} + /// [google.cloud.licensemanager.v1.ListInstancesRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L329} + /// + // clang-format on + StreamRange ListInstances( + google::cloud::licensemanager::v1::ListInstancesRequest request, + Options opts = {}); + + // clang-format off + /// + /// Gets details of a single Instance. + /// + /// @param name Required. Name of the resource + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return the result of the RPC. The response message type + /// ([google.cloud.licensemanager.v1.Instance]) + /// is mapped to a C++ class using the [Protobuf mapping rules]. + /// If the request fails, the [`StatusOr`] contains the error details. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.GetInstanceRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L365} + /// [google.cloud.licensemanager.v1.Instance]: @googleapis_reference_link{google/cloud/licensemanager/v1/api_entities.proto#L211} + /// + // clang-format on + StatusOr GetInstance( + std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Gets details of a single Instance. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.licensemanager.v1.GetInstanceRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return the result of the RPC. The response message type + /// ([google.cloud.licensemanager.v1.Instance]) + /// is mapped to a C++ class using the [Protobuf mapping rules]. + /// If the request fails, the [`StatusOr`] contains the error details. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.GetInstanceRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L365} + /// [google.cloud.licensemanager.v1.Instance]: @googleapis_reference_link{google/cloud/licensemanager/v1/api_entities.proto#L211} + /// + // clang-format on + StatusOr GetInstance( + google::cloud::licensemanager::v1::GetInstanceRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Deactivates the given configuration. + /// + /// @param name Required. Name of the resource. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return A [`future`] that becomes satisfied when the LRO + /// ([Long Running Operation]) completes or the polling policy in effect + /// for this call is exhausted. The future is satisfied with an error if + /// the LRO completes with an error or the polling policy is exhausted. + /// In this case the [`StatusOr`] returned by the future contains the + /// error. If the LRO completes successfully the value of the future + /// contains the LRO's result. For this RPC the result is a + /// [google.cloud.licensemanager.v1.Configuration] proto message. + /// The C++ class representing this message is created by Protobuf, using + /// the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [Long Running Operation]: https://google.aip.dev/151 + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.Configuration]: @googleapis_reference_link{google/cloud/licensemanager/v1/api_entities.proto#L68} + /// [google.cloud.licensemanager.v1.DeactivateConfigurationRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L407} + /// + // clang-format on + future> + DeactivateConfiguration(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// @copybrief DeactivateConfiguration + /// + /// Specifying the [`NoAwaitTag`] immediately returns the + /// [`google::longrunning::Operation`] that corresponds to the Long Running + /// Operation that has been started. No polling for operation status occurs. + /// + /// [`NoAwaitTag`]: @ref google::cloud::NoAwaitTag + /// + // clang-format on + StatusOr DeactivateConfiguration( + NoAwaitTag, std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Deactivates the given configuration. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.licensemanager.v1.DeactivateConfigurationRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return A [`future`] that becomes satisfied when the LRO + /// ([Long Running Operation]) completes or the polling policy in effect + /// for this call is exhausted. The future is satisfied with an error if + /// the LRO completes with an error or the polling policy is exhausted. + /// In this case the [`StatusOr`] returned by the future contains the + /// error. If the LRO completes successfully the value of the future + /// contains the LRO's result. For this RPC the result is a + /// [google.cloud.licensemanager.v1.Configuration] proto message. + /// The C++ class representing this message is created by Protobuf, using + /// the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [Long Running Operation]: https://google.aip.dev/151 + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.Configuration]: @googleapis_reference_link{google/cloud/licensemanager/v1/api_entities.proto#L68} + /// [google.cloud.licensemanager.v1.DeactivateConfigurationRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L407} + /// + // clang-format on + future> + DeactivateConfiguration( + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeactivateConfiguration + /// + /// Specifying the [`NoAwaitTag`] immediately returns the + /// [`google::longrunning::Operation`] that corresponds to the Long Running + /// Operation that has been started. No polling for operation status occurs. + /// + /// [`NoAwaitTag`]: @ref google::cloud::NoAwaitTag + /// + // clang-format on + StatusOr DeactivateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief DeactivateConfiguration + /// + /// This method accepts a `google::longrunning::Operation` that corresponds + /// to a previously started Long Running Operation (LRO) and polls the status + /// of the LRO in the background. + /// + // clang-format on + future> + DeactivateConfiguration(google::longrunning::Operation const& operation, + Options opts = {}); + + // clang-format off + /// + /// Reactivates the given configuration. + /// + /// @param name Required. Name of the resource. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return A [`future`] that becomes satisfied when the LRO + /// ([Long Running Operation]) completes or the polling policy in effect + /// for this call is exhausted. The future is satisfied with an error if + /// the LRO completes with an error or the polling policy is exhausted. + /// In this case the [`StatusOr`] returned by the future contains the + /// error. If the LRO completes successfully the value of the future + /// contains the LRO's result. For this RPC the result is a + /// [google.cloud.licensemanager.v1.Configuration] proto message. + /// The C++ class representing this message is created by Protobuf, using + /// the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [Long Running Operation]: https://google.aip.dev/151 + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.Configuration]: @googleapis_reference_link{google/cloud/licensemanager/v1/api_entities.proto#L68} + /// [google.cloud.licensemanager.v1.ReactivateConfigurationRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L436} + /// + // clang-format on + future> + ReactivateConfiguration(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// @copybrief ReactivateConfiguration + /// + /// Specifying the [`NoAwaitTag`] immediately returns the + /// [`google::longrunning::Operation`] that corresponds to the Long Running + /// Operation that has been started. No polling for operation status occurs. + /// + /// [`NoAwaitTag`]: @ref google::cloud::NoAwaitTag + /// + // clang-format on + StatusOr ReactivateConfiguration( + NoAwaitTag, std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Reactivates the given configuration. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.licensemanager.v1.ReactivateConfigurationRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return A [`future`] that becomes satisfied when the LRO + /// ([Long Running Operation]) completes or the polling policy in effect + /// for this call is exhausted. The future is satisfied with an error if + /// the LRO completes with an error or the polling policy is exhausted. + /// In this case the [`StatusOr`] returned by the future contains the + /// error. If the LRO completes successfully the value of the future + /// contains the LRO's result. For this RPC the result is a + /// [google.cloud.licensemanager.v1.Configuration] proto message. + /// The C++ class representing this message is created by Protobuf, using + /// the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [Long Running Operation]: https://google.aip.dev/151 + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.Configuration]: @googleapis_reference_link{google/cloud/licensemanager/v1/api_entities.proto#L68} + /// [google.cloud.licensemanager.v1.ReactivateConfigurationRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L436} + /// + // clang-format on + future> + ReactivateConfiguration( + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief ReactivateConfiguration + /// + /// Specifying the [`NoAwaitTag`] immediately returns the + /// [`google::longrunning::Operation`] that corresponds to the Long Running + /// Operation that has been started. No polling for operation status occurs. + /// + /// [`NoAwaitTag`]: @ref google::cloud::NoAwaitTag + /// + // clang-format on + StatusOr ReactivateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request, + Options opts = {}); + + // clang-format off + /// + /// @copybrief ReactivateConfiguration + /// + /// This method accepts a `google::longrunning::Operation` that corresponds + /// to a previously started Long Running Operation (LRO) and polls the status + /// of the LRO in the background. + /// + // clang-format on + future> + ReactivateConfiguration(google::longrunning::Operation const& operation, + Options opts = {}); + + // clang-format off + /// + /// License Usage information for a Configuration. + /// + /// @param name Required. The resource path of the Configuration. + /// @param start_time Required. The start time for retrieving the usage. If not specified, we + /// will use the first day of the current billing period. + /// @param end_time Required. The end time for retrieving the usage. If not specified, we will + /// use the last day of the current billing period. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return the result of the RPC. The response message type + /// ([google.cloud.licensemanager.v1.QueryConfigurationLicenseUsageResponse]) + /// is mapped to a C++ class using the [Protobuf mapping rules]. + /// If the request fails, the [`StatusOr`] contains the error details. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.QueryConfigurationLicenseUsageRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L376} + /// [google.cloud.licensemanager.v1.QueryConfigurationLicenseUsageResponse]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L397} + /// + // clang-format on + StatusOr< + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageResponse> + QueryConfigurationLicenseUsage(std::string const& name, + google::protobuf::Timestamp const& start_time, + google::protobuf::Timestamp const& end_time, + Options opts = {}); + + // clang-format off + /// + /// License Usage information for a Configuration. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.licensemanager.v1.QueryConfigurationLicenseUsageRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return the result of the RPC. The response message type + /// ([google.cloud.licensemanager.v1.QueryConfigurationLicenseUsageResponse]) + /// is mapped to a C++ class using the [Protobuf mapping rules]. + /// If the request fails, the [`StatusOr`] contains the error details. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.QueryConfigurationLicenseUsageRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L376} + /// [google.cloud.licensemanager.v1.QueryConfigurationLicenseUsageResponse]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L397} + /// + // clang-format on + StatusOr< + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageResponse> + QueryConfigurationLicenseUsage( + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Aggregates Usage per Instance for a Configuration. + /// + /// @param name Required. Parent value for AggregateUsageRequest + /// @param start_time Required. Licenses are purchased per month - so usage track needs start + /// time of a month. + /// @param end_time Required. Usage track is always for a month. This parameter is for the end + /// time of the month. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [StreamRange](@ref google::cloud::StreamRange) + /// to iterate of the results. See the documentation of this type for + /// details. In brief, this class has `begin()` and `end()` member + /// functions returning a iterator class meeting the + /// [input iterator requirements]. The value type for this iterator is a + /// [`StatusOr`] as the iteration may fail even after some values are + /// retrieved successfully, for example, if there is a network disconnect. + /// An empty set of results does not indicate an error, it indicates + /// that there are no resources meeting the request criteria. + /// On a successful iteration the `StatusOr` contains elements of type + /// [google.cloud.licensemanager.v1.Usage], or rather, + /// the C++ class generated by Protobuf from that type. Please consult the + /// Protobuf documentation for details on the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.AggregateUsageRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L465} + /// [google.cloud.licensemanager.v1.Usage]: @googleapis_reference_link{google/cloud/licensemanager/v1/api_entities.proto#L286} + /// + // clang-format on + StreamRange AggregateUsage( + std::string const& name, google::protobuf::Timestamp const& start_time, + google::protobuf::Timestamp const& end_time, Options opts = {}); + + // clang-format off + /// + /// Aggregates Usage per Instance for a Configuration. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.licensemanager.v1.AggregateUsageRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [StreamRange](@ref google::cloud::StreamRange) + /// to iterate of the results. See the documentation of this type for + /// details. In brief, this class has `begin()` and `end()` member + /// functions returning a iterator class meeting the + /// [input iterator requirements]. The value type for this iterator is a + /// [`StatusOr`] as the iteration may fail even after some values are + /// retrieved successfully, for example, if there is a network disconnect. + /// An empty set of results does not indicate an error, it indicates + /// that there are no resources meeting the request criteria. + /// On a successful iteration the `StatusOr` contains elements of type + /// [google.cloud.licensemanager.v1.Usage], or rather, + /// the C++ class generated by Protobuf from that type. Please consult the + /// Protobuf documentation for details on the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.AggregateUsageRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L465} + /// [google.cloud.licensemanager.v1.Usage]: @googleapis_reference_link{google/cloud/licensemanager/v1/api_entities.proto#L286} + /// + // clang-format on + StreamRange AggregateUsage( + google::cloud::licensemanager::v1::AggregateUsageRequest request, + Options opts = {}); + + // clang-format off + /// + /// Lists Products in a given project and location. + /// + /// @param parent Required. Parent value for ListProductsRequest + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [StreamRange](@ref google::cloud::StreamRange) + /// to iterate of the results. See the documentation of this type for + /// details. In brief, this class has `begin()` and `end()` member + /// functions returning a iterator class meeting the + /// [input iterator requirements]. The value type for this iterator is a + /// [`StatusOr`] as the iteration may fail even after some values are + /// retrieved successfully, for example, if there is a network disconnect. + /// An empty set of results does not indicate an error, it indicates + /// that there are no resources meeting the request criteria. + /// On a successful iteration the `StatusOr` contains elements of type + /// [google.cloud.licensemanager.v1.Product], or rather, + /// the C++ class generated by Protobuf from that type. Please consult the + /// Protobuf documentation for details on the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.ListProductsRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L511} + /// [google.cloud.licensemanager.v1.Product]: @googleapis_reference_link{google/cloud/licensemanager/v1/api_entities.proto#L161} + /// + // clang-format on + StreamRange ListProducts( + std::string const& parent, Options opts = {}); + + // clang-format off + /// + /// Lists Products in a given project and location. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.licensemanager.v1.ListProductsRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [StreamRange](@ref google::cloud::StreamRange) + /// to iterate of the results. See the documentation of this type for + /// details. In brief, this class has `begin()` and `end()` member + /// functions returning a iterator class meeting the + /// [input iterator requirements]. The value type for this iterator is a + /// [`StatusOr`] as the iteration may fail even after some values are + /// retrieved successfully, for example, if there is a network disconnect. + /// An empty set of results does not indicate an error, it indicates + /// that there are no resources meeting the request criteria. + /// On a successful iteration the `StatusOr` contains elements of type + /// [google.cloud.licensemanager.v1.Product], or rather, + /// the C++ class generated by Protobuf from that type. Please consult the + /// Protobuf documentation for details on the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.ListProductsRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L511} + /// [google.cloud.licensemanager.v1.Product]: @googleapis_reference_link{google/cloud/licensemanager/v1/api_entities.proto#L161} + /// + // clang-format on + StreamRange ListProducts( + google::cloud::licensemanager::v1::ListProductsRequest request, + Options opts = {}); + + // clang-format off + /// + /// Gets details of a single Product. + /// + /// @param name Required. Name of the resource + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return the result of the RPC. The response message type + /// ([google.cloud.licensemanager.v1.Product]) + /// is mapped to a C++ class using the [Protobuf mapping rules]. + /// If the request fails, the [`StatusOr`] contains the error details. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.GetProductRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L547} + /// [google.cloud.licensemanager.v1.Product]: @googleapis_reference_link{google/cloud/licensemanager/v1/api_entities.proto#L161} + /// + // clang-format on + StatusOr GetProduct( + std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Gets details of a single Product. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.licensemanager.v1.GetProductRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return the result of the RPC. The response message type + /// ([google.cloud.licensemanager.v1.Product]) + /// is mapped to a C++ class using the [Protobuf mapping rules]. + /// If the request fails, the [`StatusOr`] contains the error details. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.licensemanager.v1.GetProductRequest]: @googleapis_reference_link{google/cloud/licensemanager/v1/licensemanager.proto#L547} + /// [google.cloud.licensemanager.v1.Product]: @googleapis_reference_link{google/cloud/licensemanager/v1/api_entities.proto#L161} + /// + // clang-format on + StatusOr GetProduct( + google::cloud::licensemanager::v1::GetProductRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Lists information about the supported locations for this service. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.location.ListLocationsRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [StreamRange](@ref google::cloud::StreamRange) + /// to iterate of the results. See the documentation of this type for + /// details. In brief, this class has `begin()` and `end()` member + /// functions returning a iterator class meeting the + /// [input iterator requirements]. The value type for this iterator is a + /// [`StatusOr`] as the iteration may fail even after some values are + /// retrieved successfully, for example, if there is a network disconnect. + /// An empty set of results does not indicate an error, it indicates + /// that there are no resources meeting the request criteria. + /// On a successful iteration the `StatusOr` contains elements of type + /// [google.cloud.location.Location], or rather, + /// the C++ class generated by Protobuf from that type. Please consult the + /// Protobuf documentation for details on the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.location.ListLocationsRequest]: @googleapis_reference_link{google/cloud/location/locations.proto#L58} + /// [google.cloud.location.Location]: @googleapis_reference_link{google/cloud/location/locations.proto#L88} + /// + // clang-format on + StreamRange ListLocations( + google::cloud::location::ListLocationsRequest request, Options opts = {}); + + // clang-format off + /// + /// Gets information about a location. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.cloud.location.GetLocationRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return the result of the RPC. The response message type + /// ([google.cloud.location.Location]) + /// is mapped to a C++ class using the [Protobuf mapping rules]. + /// If the request fails, the [`StatusOr`] contains the error details. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.cloud.location.GetLocationRequest]: @googleapis_reference_link{google/cloud/location/locations.proto#L82} + /// [google.cloud.location.Location]: @googleapis_reference_link{google/cloud/location/locations.proto#L88} + /// + // clang-format on + StatusOr GetLocation( + google::cloud::location::GetLocationRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Lists operations that match the specified filter in the request. If the + /// server doesn't support this method, it returns `UNIMPLEMENTED`. + /// + /// @param name The name of the operation's parent resource. + /// @param filter The standard list filter. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [StreamRange](@ref google::cloud::StreamRange) + /// to iterate of the results. See the documentation of this type for + /// details. In brief, this class has `begin()` and `end()` member + /// functions returning a iterator class meeting the + /// [input iterator requirements]. The value type for this iterator is a + /// [`StatusOr`] as the iteration may fail even after some values are + /// retrieved successfully, for example, if there is a network disconnect. + /// An empty set of results does not indicate an error, it indicates + /// that there are no resources meeting the request criteria. + /// On a successful iteration the `StatusOr` contains elements of type + /// [google.longrunning.Operation], or rather, + /// the C++ class generated by Protobuf from that type. Please consult the + /// Protobuf documentation for details on the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.ListOperationsRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L167} + /// [google.longrunning.Operation]: @googleapis_reference_link{google/longrunning/operations.proto#L121} + /// + // clang-format on + StreamRange ListOperations( + std::string const& name, std::string const& filter, Options opts = {}); + + // clang-format off + /// + /// Lists operations that match the specified filter in the request. If the + /// server doesn't support this method, it returns `UNIMPLEMENTED`. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.longrunning.ListOperationsRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [StreamRange](@ref google::cloud::StreamRange) + /// to iterate of the results. See the documentation of this type for + /// details. In brief, this class has `begin()` and `end()` member + /// functions returning a iterator class meeting the + /// [input iterator requirements]. The value type for this iterator is a + /// [`StatusOr`] as the iteration may fail even after some values are + /// retrieved successfully, for example, if there is a network disconnect. + /// An empty set of results does not indicate an error, it indicates + /// that there are no resources meeting the request criteria. + /// On a successful iteration the `StatusOr` contains elements of type + /// [google.longrunning.Operation], or rather, + /// the C++ class generated by Protobuf from that type. Please consult the + /// Protobuf documentation for details on the [Protobuf mapping rules]. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.ListOperationsRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L167} + /// [google.longrunning.Operation]: @googleapis_reference_link{google/longrunning/operations.proto#L121} + /// + // clang-format on + StreamRange ListOperations( + google::longrunning::ListOperationsRequest request, Options opts = {}); + + // clang-format off + /// + /// Gets the latest state of a long-running operation. Clients can use this + /// method to poll the operation result at intervals as recommended by the API + /// service. + /// + /// @param name The name of the operation resource. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return the result of the RPC. The response message type + /// ([google.longrunning.Operation]) + /// is mapped to a C++ class using the [Protobuf mapping rules]. + /// If the request fails, the [`StatusOr`] contains the error details. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.GetOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L160} + /// [google.longrunning.Operation]: @googleapis_reference_link{google/longrunning/operations.proto#L121} + /// + // clang-format on + StatusOr GetOperation(std::string const& name, + Options opts = {}); + + // clang-format off + /// + /// Gets the latest state of a long-running operation. Clients can use this + /// method to poll the operation result at intervals as recommended by the API + /// service. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.longrunning.GetOperationRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return the result of the RPC. The response message type + /// ([google.longrunning.Operation]) + /// is mapped to a C++ class using the [Protobuf mapping rules]. + /// If the request fails, the [`StatusOr`] contains the error details. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.GetOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L160} + /// [google.longrunning.Operation]: @googleapis_reference_link{google/longrunning/operations.proto#L121} + /// + // clang-format on + StatusOr GetOperation( + google::longrunning::GetOperationRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Deletes a long-running operation. This method indicates that the client is + /// no longer interested in the operation result. It does not cancel the + /// operation. If the server doesn't support this method, it returns + /// `google.rpc.Code.UNIMPLEMENTED`. + /// + /// @param name The name of the operation resource to be deleted. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [`Status`] object. If the request failed, the + /// status contains the details of the failure. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.DeleteOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L200} + /// + // clang-format on + Status DeleteOperation(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Deletes a long-running operation. This method indicates that the client is + /// no longer interested in the operation result. It does not cancel the + /// operation. If the server doesn't support this method, it returns + /// `google.rpc.Code.UNIMPLEMENTED`. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.longrunning.DeleteOperationRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [`Status`] object. If the request failed, the + /// status contains the details of the failure. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.DeleteOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L200} + /// + // clang-format on + Status DeleteOperation( + google::longrunning::DeleteOperationRequest const& request, + Options opts = {}); + + // clang-format off + /// + /// Starts asynchronous cancellation on a long-running operation. The server + /// makes a best effort to cancel the operation, but success is not + /// guaranteed. If the server doesn't support this method, it returns + /// `google.rpc.Code.UNIMPLEMENTED`. Clients can use + /// [Operations.GetOperation][google.longrunning.Operations.GetOperation] or + /// other methods to check whether the cancellation succeeded or whether the + /// operation completed despite cancellation. On successful cancellation, + /// the operation is not deleted; instead, it becomes an operation with + /// an [Operation.error][google.longrunning.Operation.error] value with a + /// [google.rpc.Status.code][google.rpc.Status.code] of `1`, corresponding to + /// `Code.CANCELLED`. + /// + /// @param name The name of the operation resource to be cancelled. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [`Status`] object. If the request failed, the + /// status contains the details of the failure. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.CancelOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L193} + /// [google.longrunning.Operation.error]: @googleapis_reference_link{google/longrunning/operations.proto#L144} + /// [google.longrunning.Operations.GetOperation]: @googleapis_reference_link{google/longrunning/operations.proto#L70} + /// [google.rpc.Status.code]: @googleapis_reference_link{google/rpc/status.proto#L38} + /// + // clang-format on + Status CancelOperation(std::string const& name, Options opts = {}); + + // clang-format off + /// + /// Starts asynchronous cancellation on a long-running operation. The server + /// makes a best effort to cancel the operation, but success is not + /// guaranteed. If the server doesn't support this method, it returns + /// `google.rpc.Code.UNIMPLEMENTED`. Clients can use + /// [Operations.GetOperation][google.longrunning.Operations.GetOperation] or + /// other methods to check whether the cancellation succeeded or whether the + /// operation completed despite cancellation. On successful cancellation, + /// the operation is not deleted; instead, it becomes an operation with + /// an [Operation.error][google.longrunning.Operation.error] value with a + /// [google.rpc.Status.code][google.rpc.Status.code] of `1`, corresponding to + /// `Code.CANCELLED`. + /// + /// @param request Unary RPCs, such as the one wrapped by this + /// function, receive a single `request` proto message which includes all + /// the inputs for the RPC. In this case, the proto message is a + /// [google.longrunning.CancelOperationRequest]. + /// Proto messages are converted to C++ classes by Protobuf, using the + /// [Protobuf mapping rules]. + /// @param opts Optional. Override the class-level options, such as retry and + /// backoff policies. + /// @return a [`Status`] object. If the request failed, the + /// status contains the details of the failure. + /// + /// [Protobuf mapping rules]: https://protobuf.dev/reference/cpp/cpp-generated/ + /// [input iterator requirements]: https://en.cppreference.com/w/cpp/named_req/InputIterator + /// [`std::string`]: https://en.cppreference.com/w/cpp/string/basic_string + /// [`future`]: @ref google::cloud::future + /// [`StatusOr`]: @ref google::cloud::StatusOr + /// [`Status`]: @ref google::cloud::Status + /// [google.longrunning.CancelOperationRequest]: @googleapis_reference_link{google/longrunning/operations.proto#L193} + /// [google.longrunning.Operation.error]: @googleapis_reference_link{google/longrunning/operations.proto#L144} + /// [google.longrunning.Operations.GetOperation]: @googleapis_reference_link{google/longrunning/operations.proto#L70} + /// [google.rpc.Status.code]: @googleapis_reference_link{google/rpc/status.proto#L38} + /// + // clang-format on + Status CancelOperation( + google::longrunning::CancelOperationRequest const& request, + Options opts = {}); + + private: + std::shared_ptr connection_; + Options options_; +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1 +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_LICENSE_MANAGER_CLIENT_H diff --git a/google/cloud/licensemanager/v1/license_manager_connection.cc b/google/cloud/licensemanager/v1/license_manager_connection.cc new file mode 100644 index 0000000000000..d97da0b6f5354 --- /dev/null +++ b/google/cloud/licensemanager/v1/license_manager_connection.cc @@ -0,0 +1,277 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#include "google/cloud/licensemanager/v1/license_manager_connection.h" +#include "google/cloud/licensemanager/v1/internal/license_manager_connection_impl.h" +#include "google/cloud/licensemanager/v1/internal/license_manager_option_defaults.h" +#include "google/cloud/licensemanager/v1/internal/license_manager_stub_factory.h" +#include "google/cloud/licensemanager/v1/internal/license_manager_tracing_connection.h" +#include "google/cloud/licensemanager/v1/license_manager_options.h" +#include "google/cloud/background_threads.h" +#include "google/cloud/common_options.h" +#include "google/cloud/credentials.h" +#include "google/cloud/grpc_options.h" +#include "google/cloud/internal/pagination_range.h" +#include "google/cloud/internal/unified_grpc_credentials.h" +#include +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +LicenseManagerConnection::~LicenseManagerConnection() = default; + +StreamRange +LicenseManagerConnection::ListConfigurations( + google::cloud::licensemanager::v1:: + ListConfigurationsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr +LicenseManagerConnection::GetConfiguration( + google::cloud::licensemanager::v1::GetConfigurationRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +future> +LicenseManagerConnection::CreateConfiguration( + google::cloud::licensemanager::v1::CreateConfigurationRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr +LicenseManagerConnection::CreateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::CreateConfigurationRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +LicenseManagerConnection::CreateConfiguration( + google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +LicenseManagerConnection::UpdateConfiguration( + google::cloud::licensemanager::v1::UpdateConfigurationRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr +LicenseManagerConnection::UpdateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +LicenseManagerConnection::UpdateConfiguration( + google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +LicenseManagerConnection::DeleteConfiguration( + google::cloud::licensemanager::v1::DeleteConfigurationRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr +LicenseManagerConnection::DeleteConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +LicenseManagerConnection::DeleteConfiguration( + google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StreamRange +LicenseManagerConnection::ListInstances( + google::cloud::licensemanager::v1:: + ListInstancesRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr +LicenseManagerConnection::GetInstance( + google::cloud::licensemanager::v1::GetInstanceRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +future> +LicenseManagerConnection::DeactivateConfiguration( + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr +LicenseManagerConnection::DeactivateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +LicenseManagerConnection::DeactivateConfiguration( + google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +LicenseManagerConnection::ReactivateConfiguration( + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr +LicenseManagerConnection::ReactivateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const&) { + return StatusOr( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +future> +LicenseManagerConnection::ReactivateConfiguration( + google::longrunning::Operation const&) { + return google::cloud::make_ready_future< + StatusOr>( + Status(StatusCode::kUnimplemented, "not implemented")); +} + +StatusOr< + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageResponse> +LicenseManagerConnection::QueryConfigurationLicenseUsage( + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +StreamRange +LicenseManagerConnection::AggregateUsage( + google::cloud::licensemanager::v1:: + AggregateUsageRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StreamRange +LicenseManagerConnection::ListProducts( + google::cloud::licensemanager::v1:: + ListProductsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr +LicenseManagerConnection::GetProduct( + google::cloud::licensemanager::v1::GetProductRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +StreamRange +LicenseManagerConnection::ListLocations( + google::cloud::location:: + ListLocationsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr +LicenseManagerConnection::GetLocation( + google::cloud::location::GetLocationRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +StreamRange +LicenseManagerConnection::ListOperations( + google::longrunning:: + ListOperationsRequest) { // NOLINT(performance-unnecessary-value-param) + return google::cloud::internal::MakeUnimplementedPaginationRange< + StreamRange>(); +} + +StatusOr LicenseManagerConnection::GetOperation( + google::longrunning::GetOperationRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +Status LicenseManagerConnection::DeleteOperation( + google::longrunning::DeleteOperationRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +Status LicenseManagerConnection::CancelOperation( + google::longrunning::CancelOperationRequest const&) { + return Status(StatusCode::kUnimplemented, "not implemented"); +} + +std::shared_ptr MakeLicenseManagerConnection( + Options options) { + internal::CheckExpectedOptions(options, + __func__); + options = licensemanager_v1_internal::LicenseManagerDefaultOptions( + std::move(options)); + auto background = internal::MakeBackgroundThreadsFactory(options)(); + auto auth = internal::CreateAuthenticationStrategy(background->cq(), options); + auto stub = licensemanager_v1_internal::CreateDefaultLicenseManagerStub( + std::move(auth), options); + return licensemanager_v1_internal::MakeLicenseManagerTracingConnection( + std::make_shared< + licensemanager_v1_internal::LicenseManagerConnectionImpl>( + std::move(background), std::move(stub), std::move(options))); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1 +} // namespace cloud +} // namespace google diff --git a/google/cloud/licensemanager/v1/license_manager_connection.h b/google/cloud/licensemanager/v1/license_manager_connection.h new file mode 100644 index 0000000000000..7954f4e929e83 --- /dev/null +++ b/google/cloud/licensemanager/v1/license_manager_connection.h @@ -0,0 +1,333 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_LICENSE_MANAGER_CONNECTION_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_LICENSE_MANAGER_CONNECTION_H + +#include "google/cloud/licensemanager/v1/internal/license_manager_retry_traits.h" +#include "google/cloud/licensemanager/v1/license_manager_connection_idempotency_policy.h" +#include "google/cloud/backoff_policy.h" +#include "google/cloud/future.h" +#include "google/cloud/internal/retry_policy_impl.h" +#include "google/cloud/no_await_tag.h" +#include "google/cloud/options.h" +#include "google/cloud/polling_policy.h" +#include "google/cloud/status_or.h" +#include "google/cloud/stream_range.h" +#include "google/cloud/version.h" +#include +#include +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/// The retry policy for `LicenseManagerConnection`. +class LicenseManagerRetryPolicy : public ::google::cloud::RetryPolicy { + public: + /// Creates a new instance of the policy, reset to the initial state. + virtual std::unique_ptr clone() const = 0; +}; + +/** + * A retry policy for `LicenseManagerConnection` based on counting errors. + * + * This policy stops retrying if: + * - An RPC returns a non-transient error. + * - More than a prescribed number of transient failures is detected. + * + * In this class the following status codes are treated as transient errors: + * - [`kUnavailable`](@ref google::cloud::StatusCode) + */ +class LicenseManagerLimitedErrorCountRetryPolicy + : public LicenseManagerRetryPolicy { + public: + /** + * Create an instance that tolerates up to @p maximum_failures transient + * errors. + * + * @note Disable the retry loop by providing an instance of this policy with + * @p maximum_failures == 0. + */ + explicit LicenseManagerLimitedErrorCountRetryPolicy(int maximum_failures) + : impl_(maximum_failures) {} + + LicenseManagerLimitedErrorCountRetryPolicy( + LicenseManagerLimitedErrorCountRetryPolicy&& rhs) noexcept + : LicenseManagerLimitedErrorCountRetryPolicy(rhs.maximum_failures()) {} + LicenseManagerLimitedErrorCountRetryPolicy( + LicenseManagerLimitedErrorCountRetryPolicy const& rhs) noexcept + : LicenseManagerLimitedErrorCountRetryPolicy(rhs.maximum_failures()) {} + + int maximum_failures() const { return impl_.maximum_failures(); } + + bool OnFailure(Status const& status) override { + return impl_.OnFailure(status); + } + bool IsExhausted() const override { return impl_.IsExhausted(); } + bool IsPermanentFailure(Status const& status) const override { + return impl_.IsPermanentFailure(status); + } + std::unique_ptr clone() const override { + return std::make_unique( + maximum_failures()); + } + + // This is provided only for backwards compatibility. + using BaseType = LicenseManagerRetryPolicy; + + private: + google::cloud::internal::LimitedErrorCountRetryPolicy< + licensemanager_v1_internal::LicenseManagerRetryTraits> + impl_; +}; + +/** + * A retry policy for `LicenseManagerConnection` based on elapsed time. + * + * This policy stops retrying if: + * - An RPC returns a non-transient error. + * - The elapsed time in the retry loop exceeds a prescribed duration. + * + * In this class the following status codes are treated as transient errors: + * - [`kUnavailable`](@ref google::cloud::StatusCode) + */ +class LicenseManagerLimitedTimeRetryPolicy : public LicenseManagerRetryPolicy { + public: + /** + * Constructor given a `std::chrono::duration<>` object. + * + * @tparam DurationRep a placeholder to match the `Rep` tparam for @p + * duration's type. The semantics of this template parameter are + * documented in `std::chrono::duration<>`. In brief, the underlying + * arithmetic type used to store the number of ticks. For our purposes it + * is simply a formal parameter. + * @tparam DurationPeriod a placeholder to match the `Period` tparam for @p + * duration's type. The semantics of this template parameter are + * documented in `std::chrono::duration<>`. In brief, the length of the + * tick in seconds, expressed as a `std::ratio<>`. For our purposes it is + * simply a formal parameter. + * @param maximum_duration the maximum time allowed before the policy expires. + * While the application can express this time in any units they desire, + * the class truncates to milliseconds. + * + * @see https://en.cppreference.com/w/cpp/chrono/duration for more information + * about `std::chrono::duration`. + */ + template + explicit LicenseManagerLimitedTimeRetryPolicy( + std::chrono::duration maximum_duration) + : impl_(maximum_duration) {} + + LicenseManagerLimitedTimeRetryPolicy( + LicenseManagerLimitedTimeRetryPolicy&& rhs) noexcept + : LicenseManagerLimitedTimeRetryPolicy(rhs.maximum_duration()) {} + LicenseManagerLimitedTimeRetryPolicy( + LicenseManagerLimitedTimeRetryPolicy const& rhs) noexcept + : LicenseManagerLimitedTimeRetryPolicy(rhs.maximum_duration()) {} + + std::chrono::milliseconds maximum_duration() const { + return impl_.maximum_duration(); + } + + bool OnFailure(Status const& status) override { + return impl_.OnFailure(status); + } + bool IsExhausted() const override { return impl_.IsExhausted(); } + bool IsPermanentFailure(Status const& status) const override { + return impl_.IsPermanentFailure(status); + } + std::unique_ptr clone() const override { + return std::make_unique( + maximum_duration()); + } + + // This is provided only for backwards compatibility. + using BaseType = LicenseManagerRetryPolicy; + + private: + google::cloud::internal::LimitedTimeRetryPolicy< + licensemanager_v1_internal::LicenseManagerRetryTraits> + impl_; +}; + +/** + * The `LicenseManagerConnection` object for `LicenseManagerClient`. + * + * This interface defines virtual methods for each of the user-facing overload + * sets in `LicenseManagerClient`. This allows users to inject custom behavior + * (e.g., with a Google Mock object) when writing tests that use objects of type + * `LicenseManagerClient`. + * + * To create a concrete instance, see `MakeLicenseManagerConnection()`. + * + * For mocking, see `licensemanager_v1_mocks::MockLicenseManagerConnection`. + */ +class LicenseManagerConnection { + public: + virtual ~LicenseManagerConnection() = 0; + + virtual Options options() { return Options{}; } + + virtual StreamRange + ListConfigurations( + google::cloud::licensemanager::v1::ListConfigurationsRequest request); + + virtual StatusOr + GetConfiguration( + google::cloud::licensemanager::v1::GetConfigurationRequest const& + request); + + virtual future> + CreateConfiguration( + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request); + + virtual StatusOr CreateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request); + + virtual future> + CreateConfiguration(google::longrunning::Operation const& operation); + + virtual future> + UpdateConfiguration( + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request); + + virtual StatusOr UpdateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request); + + virtual future> + UpdateConfiguration(google::longrunning::Operation const& operation); + + virtual future> + DeleteConfiguration( + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request); + + virtual StatusOr DeleteConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request); + + virtual future> + DeleteConfiguration(google::longrunning::Operation const& operation); + + virtual StreamRange + ListInstances( + google::cloud::licensemanager::v1::ListInstancesRequest request); + + virtual StatusOr GetInstance( + google::cloud::licensemanager::v1::GetInstanceRequest const& request); + + virtual future> + DeactivateConfiguration( + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request); + + virtual StatusOr DeactivateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request); + + virtual future> + DeactivateConfiguration(google::longrunning::Operation const& operation); + + virtual future> + ReactivateConfiguration( + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request); + + virtual StatusOr ReactivateConfiguration( + NoAwaitTag, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request); + + virtual future> + ReactivateConfiguration(google::longrunning::Operation const& operation); + + virtual StatusOr< + google::cloud::licensemanager::v1::QueryConfigurationLicenseUsageResponse> + QueryConfigurationLicenseUsage( + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const& request); + + virtual StreamRange AggregateUsage( + google::cloud::licensemanager::v1::AggregateUsageRequest request); + + virtual StreamRange ListProducts( + google::cloud::licensemanager::v1::ListProductsRequest request); + + virtual StatusOr GetProduct( + google::cloud::licensemanager::v1::GetProductRequest const& request); + + virtual StreamRange ListLocations( + google::cloud::location::ListLocationsRequest request); + + virtual StatusOr GetLocation( + google::cloud::location::GetLocationRequest const& request); + + virtual StreamRange ListOperations( + google::longrunning::ListOperationsRequest request); + + virtual StatusOr GetOperation( + google::longrunning::GetOperationRequest const& request); + + virtual Status DeleteOperation( + google::longrunning::DeleteOperationRequest const& request); + + virtual Status CancelOperation( + google::longrunning::CancelOperationRequest const& request); +}; + +/** + * A factory function to construct an object of type `LicenseManagerConnection`. + * + * The returned connection object should not be used directly; instead it + * should be passed as an argument to the constructor of LicenseManagerClient. + * + * The optional @p options argument may be used to configure aspects of the + * returned `LicenseManagerConnection`. Expected options are any of the types in + * the following option lists: + * + * - `google::cloud::CommonOptionList` + * - `google::cloud::GrpcOptionList` + * - `google::cloud::UnifiedCredentialsOptionList` + * - `google::cloud::licensemanager_v1::LicenseManagerPolicyOptionList` + * + * @note Unexpected options will be ignored. To log unexpected options instead, + * set `GOOGLE_CLOUD_CPP_ENABLE_CLOG=yes` in the environment. + * + * @param options (optional) Configure the `LicenseManagerConnection` created by + * this function. + */ +std::shared_ptr MakeLicenseManagerConnection( + Options options = {}); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1 +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_LICENSE_MANAGER_CONNECTION_H diff --git a/google/cloud/licensemanager/v1/license_manager_connection_idempotency_policy.cc b/google/cloud/licensemanager/v1/license_manager_connection_idempotency_policy.cc new file mode 100644 index 0000000000000..97002f1679576 --- /dev/null +++ b/google/cloud/licensemanager/v1/license_manager_connection_idempotency_policy.cc @@ -0,0 +1,142 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#include "google/cloud/licensemanager/v1/license_manager_connection_idempotency_policy.h" +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +using ::google::cloud::Idempotency; + +LicenseManagerConnectionIdempotencyPolicy:: + ~LicenseManagerConnectionIdempotencyPolicy() = default; + +std::unique_ptr +LicenseManagerConnectionIdempotencyPolicy::clone() const { + return std::make_unique(*this); +} + +Idempotency LicenseManagerConnectionIdempotencyPolicy::ListConfigurations( + google::cloud::licensemanager::v1::ListConfigurationsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency LicenseManagerConnectionIdempotencyPolicy::GetConfiguration( + google::cloud::licensemanager::v1::GetConfigurationRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency LicenseManagerConnectionIdempotencyPolicy::CreateConfiguration( + google::cloud::licensemanager::v1::CreateConfigurationRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency LicenseManagerConnectionIdempotencyPolicy::UpdateConfiguration( + google::cloud::licensemanager::v1::UpdateConfigurationRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency LicenseManagerConnectionIdempotencyPolicy::DeleteConfiguration( + google::cloud::licensemanager::v1::DeleteConfigurationRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency LicenseManagerConnectionIdempotencyPolicy::ListInstances( + google::cloud::licensemanager::v1::ListInstancesRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency LicenseManagerConnectionIdempotencyPolicy::GetInstance( + google::cloud::licensemanager::v1::GetInstanceRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency LicenseManagerConnectionIdempotencyPolicy::DeactivateConfiguration( + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency LicenseManagerConnectionIdempotencyPolicy::ReactivateConfiguration( + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency +LicenseManagerConnectionIdempotencyPolicy::QueryConfigurationLicenseUsage( + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency LicenseManagerConnectionIdempotencyPolicy::AggregateUsage( + google::cloud::licensemanager::v1::AggregateUsageRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency LicenseManagerConnectionIdempotencyPolicy::ListProducts( + google::cloud::licensemanager::v1::ListProductsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency LicenseManagerConnectionIdempotencyPolicy::GetProduct( + google::cloud::licensemanager::v1::GetProductRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency LicenseManagerConnectionIdempotencyPolicy::ListLocations( + google::cloud::location::ListLocationsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency LicenseManagerConnectionIdempotencyPolicy::GetLocation( + google::cloud::location::GetLocationRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency LicenseManagerConnectionIdempotencyPolicy::ListOperations( + google::longrunning::ListOperationsRequest) { // NOLINT + return Idempotency::kIdempotent; +} + +Idempotency LicenseManagerConnectionIdempotencyPolicy::GetOperation( + google::longrunning::GetOperationRequest const&) { + return Idempotency::kIdempotent; +} + +Idempotency LicenseManagerConnectionIdempotencyPolicy::DeleteOperation( + google::longrunning::DeleteOperationRequest const&) { + return Idempotency::kNonIdempotent; +} + +Idempotency LicenseManagerConnectionIdempotencyPolicy::CancelOperation( + google::longrunning::CancelOperationRequest const&) { + return Idempotency::kNonIdempotent; +} + +std::unique_ptr +MakeDefaultLicenseManagerConnectionIdempotencyPolicy() { + return std::make_unique(); +} + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1 +} // namespace cloud +} // namespace google diff --git a/google/cloud/licensemanager/v1/license_manager_connection_idempotency_policy.h b/google/cloud/licensemanager/v1/license_manager_connection_idempotency_policy.h new file mode 100644 index 0000000000000..19e8f5de55d3e --- /dev/null +++ b/google/cloud/licensemanager/v1/license_manager_connection_idempotency_policy.h @@ -0,0 +1,115 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_LICENSE_MANAGER_CONNECTION_IDEMPOTENCY_POLICY_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_LICENSE_MANAGER_CONNECTION_IDEMPOTENCY_POLICY_H + +#include "google/cloud/idempotency.h" +#include "google/cloud/version.h" +#include +#include +#include +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +class LicenseManagerConnectionIdempotencyPolicy { + public: + virtual ~LicenseManagerConnectionIdempotencyPolicy(); + + /// Create a new copy of this object. + virtual std::unique_ptr clone() + const; + + virtual google::cloud::Idempotency ListConfigurations( + google::cloud::licensemanager::v1::ListConfigurationsRequest request); + + virtual google::cloud::Idempotency GetConfiguration( + google::cloud::licensemanager::v1::GetConfigurationRequest const& + request); + + virtual google::cloud::Idempotency CreateConfiguration( + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request); + + virtual google::cloud::Idempotency UpdateConfiguration( + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request); + + virtual google::cloud::Idempotency DeleteConfiguration( + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request); + + virtual google::cloud::Idempotency ListInstances( + google::cloud::licensemanager::v1::ListInstancesRequest request); + + virtual google::cloud::Idempotency GetInstance( + google::cloud::licensemanager::v1::GetInstanceRequest const& request); + + virtual google::cloud::Idempotency DeactivateConfiguration( + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request); + + virtual google::cloud::Idempotency ReactivateConfiguration( + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request); + + virtual google::cloud::Idempotency QueryConfigurationLicenseUsage( + google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const& request); + + virtual google::cloud::Idempotency AggregateUsage( + google::cloud::licensemanager::v1::AggregateUsageRequest request); + + virtual google::cloud::Idempotency ListProducts( + google::cloud::licensemanager::v1::ListProductsRequest request); + + virtual google::cloud::Idempotency GetProduct( + google::cloud::licensemanager::v1::GetProductRequest const& request); + + virtual google::cloud::Idempotency ListLocations( + google::cloud::location::ListLocationsRequest request); + + virtual google::cloud::Idempotency GetLocation( + google::cloud::location::GetLocationRequest const& request); + + virtual google::cloud::Idempotency ListOperations( + google::longrunning::ListOperationsRequest request); + + virtual google::cloud::Idempotency GetOperation( + google::longrunning::GetOperationRequest const& request); + + virtual google::cloud::Idempotency DeleteOperation( + google::longrunning::DeleteOperationRequest const& request); + + virtual google::cloud::Idempotency CancelOperation( + google::longrunning::CancelOperationRequest const& request); +}; + +std::unique_ptr +MakeDefaultLicenseManagerConnectionIdempotencyPolicy(); + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1 +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_LICENSE_MANAGER_CONNECTION_IDEMPOTENCY_POLICY_H diff --git a/google/cloud/licensemanager/v1/license_manager_options.h b/google/cloud/licensemanager/v1/license_manager_options.h new file mode 100644 index 0000000000000..121f95922f9fe --- /dev/null +++ b/google/cloud/licensemanager/v1/license_manager_options.h @@ -0,0 +1,87 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_LICENSE_MANAGER_OPTIONS_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_LICENSE_MANAGER_OPTIONS_H + +#include "google/cloud/licensemanager/v1/license_manager_connection.h" +#include "google/cloud/licensemanager/v1/license_manager_connection_idempotency_policy.h" +#include "google/cloud/backoff_policy.h" +#include "google/cloud/options.h" +#include "google/cloud/version.h" +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1 { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/** + * Use with `google::cloud::Options` to configure the retry policy. + * + * @ingroup google-cloud-licensemanager-options + */ +struct LicenseManagerRetryPolicyOption { + using Type = std::shared_ptr; +}; + +/** + * Use with `google::cloud::Options` to configure the backoff policy. + * + * @ingroup google-cloud-licensemanager-options + */ +struct LicenseManagerBackoffPolicyOption { + using Type = std::shared_ptr; +}; + +/** + * Use with `google::cloud::Options` to configure which operations are retried. + * + * @ingroup google-cloud-licensemanager-options + */ +struct LicenseManagerConnectionIdempotencyPolicyOption { + using Type = std::shared_ptr; +}; + +/** + * Use with `google::cloud::Options` to configure the long-running operations + * polling policy. + * + * @ingroup google-cloud-licensemanager-options + */ +struct LicenseManagerPollingPolicyOption { + using Type = std::shared_ptr; +}; + +/** + * The options applicable to LicenseManager. + * + * @ingroup google-cloud-licensemanager-options + */ +using LicenseManagerPolicyOptionList = + OptionList; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1 +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_LICENSE_MANAGER_OPTIONS_H diff --git a/google/cloud/licensemanager/v1/mocks/mock_license_manager_connection.h b/google/cloud/licensemanager/v1/mocks/mock_license_manager_connection.h new file mode 100644 index 0000000000000..2f92b90dec532 --- /dev/null +++ b/google/cloud/licensemanager/v1/mocks/mock_license_manager_connection.h @@ -0,0 +1,335 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_MOCKS_MOCK_LICENSE_MANAGER_CONNECTION_H +#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_MOCKS_MOCK_LICENSE_MANAGER_CONNECTION_H + +#include "google/cloud/licensemanager/v1/license_manager_connection.h" +#include + +namespace google { +namespace cloud { +namespace licensemanager_v1_mocks { +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN + +/** + * A class to mock `LicenseManagerConnection`. + * + * Application developers may want to test their code with simulated responses, + * including errors, from an object of type `LicenseManagerClient`. To do so, + * construct an object of type `LicenseManagerClient` with an instance of this + * class. Then use the Google Test framework functions to program the behavior + * of this mock. + * + * @see [This example][bq-mock] for how to test your application with GoogleTest. + * While the example showcases types from the BigQuery library, the underlying + * principles apply for any pair of `*Client` and `*Connection`. + * + * [bq-mock]: @cloud_cpp_docs_link{bigquery,bigquery-read-mock} + */ +class MockLicenseManagerConnection + : public licensemanager_v1::LicenseManagerConnection { + public: + MOCK_METHOD(Options, options, (), (override)); + + MOCK_METHOD( + (StreamRange), + ListConfigurations, + (google::cloud::licensemanager::v1::ListConfigurationsRequest request), + (override)); + + MOCK_METHOD(StatusOr, + GetConfiguration, + (google::cloud::licensemanager::v1::GetConfigurationRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// CreateConfiguration(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + CreateConfiguration, + (google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, CreateConfiguration(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, CreateConfiguration, + (NoAwaitTag, + google::cloud::licensemanager::v1::CreateConfigurationRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// CreateConfiguration(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + CreateConfiguration, (google::longrunning::Operation const& operation), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// UpdateConfiguration(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + UpdateConfiguration, + (google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, UpdateConfiguration(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, UpdateConfiguration, + (NoAwaitTag, + google::cloud::licensemanager::v1::UpdateConfigurationRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// UpdateConfiguration(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + UpdateConfiguration, (google::longrunning::Operation const& operation), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// DeleteConfiguration(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + DeleteConfiguration, + (google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, DeleteConfiguration(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, DeleteConfiguration, + (NoAwaitTag, + google::cloud::licensemanager::v1::DeleteConfigurationRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// DeleteConfiguration(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + DeleteConfiguration, (google::longrunning::Operation const& operation), + (override)); + + MOCK_METHOD((StreamRange), + ListInstances, + (google::cloud::licensemanager::v1::ListInstancesRequest request), + (override)); + + MOCK_METHOD( + StatusOr, GetInstance, + (google::cloud::licensemanager::v1::GetInstanceRequest const& request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// DeactivateConfiguration(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + DeactivateConfiguration, + (google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, DeactivateConfiguration(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, DeactivateConfiguration, + (NoAwaitTag, + google::cloud::licensemanager::v1::DeactivateConfigurationRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// DeactivateConfiguration(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + DeactivateConfiguration, + (google::longrunning::Operation const& operation), (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// ReactivateConfiguration(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + ReactivateConfiguration, + (google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// EXPECT_CALL(*mock, ReactivateConfiguration(_, _)) + /// @endcode + MOCK_METHOD( + StatusOr, ReactivateConfiguration, + (NoAwaitTag, + google::cloud::licensemanager::v1::ReactivateConfigurationRequest const& + request), + (override)); + + /// To disambiguate calls, use: + /// + /// @code + /// using ::testing::_; + /// using ::testing::Matcher; + /// EXPECT_CALL(*mock, + /// ReactivateConfiguration(Matcher(_))) + /// @endcode + MOCK_METHOD( + future>, + ReactivateConfiguration, + (google::longrunning::Operation const& operation), (override)); + + MOCK_METHOD(StatusOr, + QueryConfigurationLicenseUsage, + (google::cloud::licensemanager::v1:: + QueryConfigurationLicenseUsageRequest const& request), + (override)); + + MOCK_METHOD( + (StreamRange), AggregateUsage, + (google::cloud::licensemanager::v1::AggregateUsageRequest request), + (override)); + + MOCK_METHOD((StreamRange), + ListProducts, + (google::cloud::licensemanager::v1::ListProductsRequest request), + (override)); + + MOCK_METHOD( + StatusOr, GetProduct, + (google::cloud::licensemanager::v1::GetProductRequest const& request), + (override)); + + MOCK_METHOD((StreamRange), ListLocations, + (google::cloud::location::ListLocationsRequest request), + (override)); + + MOCK_METHOD(StatusOr, GetLocation, + (google::cloud::location::GetLocationRequest const& request), + (override)); + + MOCK_METHOD((StreamRange), ListOperations, + (google::longrunning::ListOperationsRequest request), (override)); + + MOCK_METHOD(StatusOr, GetOperation, + (google::longrunning::GetOperationRequest const& request), + (override)); + + MOCK_METHOD(Status, DeleteOperation, + (google::longrunning::DeleteOperationRequest const& request), + (override)); + + MOCK_METHOD(Status, CancelOperation, + (google::longrunning::CancelOperationRequest const& request), + (override)); +}; + +GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END +} // namespace licensemanager_v1_mocks +} // namespace cloud +} // namespace google + +#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_LICENSEMANAGER_V1_MOCKS_MOCK_LICENSE_MANAGER_CONNECTION_H diff --git a/google/cloud/licensemanager/v1/samples/license_manager_client_samples.cc b/google/cloud/licensemanager/v1/samples/license_manager_client_samples.cc new file mode 100644 index 0000000000000..f05e83a5f6149 --- /dev/null +++ b/google/cloud/licensemanager/v1/samples/license_manager_client_samples.cc @@ -0,0 +1,206 @@ +// Copyright 2025 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by the Codegen C++ plugin. +// If you make any local changes, they will be lost. +// source: google/cloud/licensemanager/v1/licensemanager.proto + +#include "google/cloud/licensemanager/v1/license_manager_client.h" +#include "google/cloud/licensemanager/v1/license_manager_connection_idempotency_policy.h" +#include "google/cloud/licensemanager/v1/license_manager_options.h" +#include "google/cloud/common_options.h" +#include "google/cloud/credentials.h" +#include "google/cloud/internal/getenv.h" +#include "google/cloud/polling_policy.h" +#include "google/cloud/testing_util/example_driver.h" +#include +#include +#include +#include + +// clang-format off +// main-dox-marker: licensemanager_v1::LicenseManagerClient +// lro-marker: true +// clang-format on +namespace { + +void SetClientEndpoint(std::vector const& argv) { + if (!argv.empty()) { + throw google::cloud::testing_util::Usage{"set-client-endpoint"}; + } + //! [set-client-endpoint] + // This configuration is common with Private Google Access: + // https://cloud.google.com/vpc/docs/private-google-access + auto options = google::cloud::Options{}.set( + "private.googleapis.com"); + auto vpc_client = google::cloud::licensemanager_v1::LicenseManagerClient( + google::cloud::licensemanager_v1::MakeLicenseManagerConnection(options)); + //! [set-client-endpoint] +} + +//! [custom-idempotency-policy] +class CustomIdempotencyPolicy : public google::cloud::licensemanager_v1:: + LicenseManagerConnectionIdempotencyPolicy { + public: + ~CustomIdempotencyPolicy() override = default; + std::unique_ptr + clone() const override { + return std::make_unique(*this); + } + // Override inherited functions to define as needed. +}; +//! [custom-idempotency-policy] + +void SetRetryPolicy(std::vector const& argv) { + if (!argv.empty()) { + throw google::cloud::testing_util::Usage{"set-client-retry-policy"}; + } + //! [set-retry-policy] + auto options = google::cloud::Options{} + .set( + CustomIdempotencyPolicy().clone()) + .set( + google::cloud::licensemanager_v1:: + LicenseManagerLimitedErrorCountRetryPolicy(3) + .clone()) + .set( + google::cloud::ExponentialBackoffPolicy( + /*initial_delay=*/std::chrono::milliseconds(200), + /*maximum_delay=*/std::chrono::seconds(45), + /*scaling=*/2.0) + .clone()); + auto connection = + google::cloud::licensemanager_v1::MakeLicenseManagerConnection(options); + + // c1 and c2 share the same retry policies + auto c1 = google::cloud::licensemanager_v1::LicenseManagerClient(connection); + auto c2 = google::cloud::licensemanager_v1::LicenseManagerClient(connection); + + // You can override any of the policies in a new client. This new client + // will share the policies from c1 (or c2) *except* for the retry policy. + auto c3 = google::cloud::licensemanager_v1::LicenseManagerClient( + connection, + google::cloud::Options{} + .set( + google::cloud::licensemanager_v1:: + LicenseManagerLimitedTimeRetryPolicy(std::chrono::minutes(5)) + .clone())); + + // You can also override the policies in a single call: + // c3.SomeRpc(..., google::cloud::Options{} + // .set( + // google::cloud::licensemanager_v1::LicenseManagerLimitedErrorCountRetryPolicy(10).clone())); + //! [set-retry-policy] +} + +void SetPollingPolicy(std::vector const& argv) { + if (!argv.empty()) { + throw google::cloud::testing_util::Usage{"set-client-policy-policy"}; + } + //! [set-polling-policy] + + // The polling policy controls how the client waits for long-running + // operations. `GenericPollingPolicy<>` combines existing policies. + // In this case, keep polling until the operation completes (with success + // or error) or 45 minutes, whichever happens first. Initially pause for + // 10 seconds between polling requests, increasing the pause by a factor + // of 4 until it becomes 2 minutes. + auto options = + google::cloud::Options{} + .set( + google::cloud::GenericPollingPolicy< + google::cloud::licensemanager_v1:: + LicenseManagerRetryPolicyOption::Type, + google::cloud::licensemanager_v1:: + LicenseManagerBackoffPolicyOption::Type>( + google::cloud::licensemanager_v1:: + LicenseManagerLimitedTimeRetryPolicy( + /*maximum_duration=*/std::chrono::minutes(45)) + .clone(), + google::cloud::ExponentialBackoffPolicy( + /*initial_delay=*/std::chrono::seconds(10), + /*maximum_delay=*/std::chrono::minutes(2), + /*scaling=*/4.0) + .clone()) + .clone()); + + auto connection = + google::cloud::licensemanager_v1::MakeLicenseManagerConnection(options); + + // c1 and c2 share the same polling policies. + auto c1 = google::cloud::licensemanager_v1::LicenseManagerClient(connection); + auto c2 = google::cloud::licensemanager_v1::LicenseManagerClient(connection); + //! [set-polling-policy] +} + +void WithServiceAccount(std::vector const& argv) { + if (argv.size() != 1 || argv[0] == "--help") { + throw google::cloud::testing_util::Usage{"with-service-account "}; + } + //! [with-service-account] + [](std::string const& keyfile) { + auto is = std::ifstream(keyfile); + is.exceptions(std::ios::badbit); // Minimal error handling in examples + auto contents = std::string(std::istreambuf_iterator(is.rdbuf()), {}); + auto options = + google::cloud::Options{}.set( + google::cloud::MakeServiceAccountCredentials(contents)); + return google::cloud::licensemanager_v1::LicenseManagerClient( + google::cloud::licensemanager_v1::MakeLicenseManagerConnection( + options)); + } + //! [with-service-account] + (argv.at(0)); +} + +void AutoRun(std::vector const& argv) { + namespace examples = ::google::cloud::testing_util; + using ::google::cloud::internal::GetEnv; + if (!argv.empty()) throw examples::Usage{"auto"}; + examples::CheckEnvironmentVariablesAreSet( + {"GOOGLE_CLOUD_CPP_TEST_SERVICE_ACCOUNT_KEYFILE"}); + auto const keyfile = + GetEnv("GOOGLE_CLOUD_CPP_TEST_SERVICE_ACCOUNT_KEYFILE").value(); + + std::cout << "\nRunning SetClientEndpoint() example" << std::endl; + SetClientEndpoint({}); + + std::cout << "\nRunning SetRetryPolicy() example" << std::endl; + SetRetryPolicy({}); + + std::cout << "\nRunning SetPollingPolicy() example" << std::endl; + SetPollingPolicy({}); + + std::cout << "\nRunning WithServiceAccount() example" << std::endl; + WithServiceAccount({keyfile}); +} + +} // namespace + +int main(int argc, char* argv[]) { // NOLINT(bugprone-exception-escape) + google::cloud::testing_util::Example example({ + {"set-client-endpoint", SetClientEndpoint}, + {"set-retry-policy", SetRetryPolicy}, + {"set-polling-policy", SetPollingPolicy}, + {"with-service-account", WithServiceAccount}, + {"auto", AutoRun}, + }); + return example.Run(argc, argv); +} From c459b3ee2419c513fb3730fb91b7d5466a87a84b Mon Sep 17 00:00:00 2001 From: Yao Cui Date: Thu, 10 Jul 2025 19:57:36 +0000 Subject: [PATCH 3/4] Manually update READMEs, quickstart, and top-level stuff --- CHANGELOG.md | 7 +++++++ cmake/GoogleCloudCppFeatures.cmake | 1 + generator/generator_config.textproto | 2 +- google/cloud/licensemanager/CMakeLists.txt | 7 ++----- google/cloud/licensemanager/README.md | 14 +++++++------- .../cloud/licensemanager/quickstart/quickstart.cc | 14 +++++++------- libraries.bzl | 1 + 7 files changed, 26 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0fdd579264eaa..87d22e0eb0bd0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,13 @@ breaking changes in the upcoming 3.x release. This release is scheduled for ## v2.40.0 - TBD +### New Libraries + +We are happy to announce the following GA libraries. Unless specifically noted, +the APIs in these libraries are stable, and are ready for production use. + +- [License Manager API](/google/cloud/licensemanager/README.md) + ### Updated Libraries - [ManagedKafka](/google/cloud/managedkafka/README.md) - add schemaregistry to the library diff --git a/cmake/GoogleCloudCppFeatures.cmake b/cmake/GoogleCloudCppFeatures.cmake index fdbe64d22819b..91aa70cdabd3e 100644 --- a/cmake/GoogleCloudCppFeatures.cmake +++ b/cmake/GoogleCloudCppFeatures.cmake @@ -113,6 +113,7 @@ set(GOOGLE_CLOUD_CPP_GA_LIBRARIES "ids" "kms" "language" + "licensemanager" "logging" "lustre" "managedidentities" diff --git a/generator/generator_config.textproto b/generator/generator_config.textproto index 1ea838112d254..4d634332e4abe 100644 --- a/generator/generator_config.textproto +++ b/generator/generator_config.textproto @@ -2811,7 +2811,7 @@ service { retryable_status_codes: ["kUnavailable"] } -# Liscense Manager +# License Manager service { service_proto_path: "google/cloud/licensemanager/v1/licensemanager.proto" product_path: "google/cloud/licensemanager/v1" diff --git a/google/cloud/licensemanager/CMakeLists.txt b/google/cloud/licensemanager/CMakeLists.txt index e2d626a6d983e..7a8dac3684eea 100644 --- a/google/cloud/licensemanager/CMakeLists.txt +++ b/google/cloud/licensemanager/CMakeLists.txt @@ -26,11 +26,8 @@ if (BUILD_TESTING AND GOOGLE_CLOUD_CPP_ENABLE_CXX_EXCEPTIONS) google_cloud_cpp_add_common_options(licensemanager_quickstart) add_test( NAME licensemanager_quickstart - COMMAND - cmake -P "${PROJECT_SOURCE_DIR}/cmake/quickstart-runner.cmake" - $ GOOGLE_CLOUD_PROJECT - GOOGLE_CLOUD_CPP_TEST_REGION # EDIT HERE - ) + COMMAND cmake -P "${PROJECT_SOURCE_DIR}/cmake/quickstart-runner.cmake" + $ GOOGLE_CLOUD_PROJECT) set_tests_properties(licensemanager_quickstart PROPERTIES LABELS "integration-test;quickstart") endif () diff --git a/google/cloud/licensemanager/README.md b/google/cloud/licensemanager/README.md index 11bca8a396c12..7f7a4c47ec6ba 100644 --- a/google/cloud/licensemanager/README.md +++ b/google/cloud/licensemanager/README.md @@ -19,23 +19,23 @@ this library. ```cc -#include "google/cloud/licensemanager/v1/ EDIT HERE _client.h" +#include "google/cloud/licensemanager/v1/license_manager_client.h" #include "google/cloud/location.h" #include int main(int argc, char* argv[]) try { - if (argc != 3) { - std::cerr << "Usage: " << argv[0] << " project-id location-id\n"; + if (argc != 2) { + std::cerr << "Usage: " << argv[0] << " project-id\n"; return 1; } - auto const location = google::cloud::Location(argv[1], argv[2]); + auto const location = google::cloud::Location(argv[1], "-"); namespace licensemanager = ::google::cloud::licensemanager_v1; - auto client = licensemanager::ServiceClient( - licensemanager::MakeServiceConnection()); // EDIT HERE + auto client = licensemanager::LicenseManagerClient( + licensemanager::MakeLicenseManagerConnection()); - for (auto r : client.List /*EDIT HERE*/ (location.FullName())) { + for (auto r : client.ListConfigurations(location.FullName())) { if (!r) throw std::move(r).status(); std::cout << r->DebugString() << "\n"; } diff --git a/google/cloud/licensemanager/quickstart/quickstart.cc b/google/cloud/licensemanager/quickstart/quickstart.cc index f4e350228107b..1846a42f151ac 100644 --- a/google/cloud/licensemanager/quickstart/quickstart.cc +++ b/google/cloud/licensemanager/quickstart/quickstart.cc @@ -13,23 +13,23 @@ // limitations under the License. //! [all] -#include "google/cloud/licensemanager/v1/ EDIT HERE _client.h" +#include "google/cloud/licensemanager/v1/license_manager_client.h" #include "google/cloud/location.h" #include int main(int argc, char* argv[]) try { - if (argc != 3) { - std::cerr << "Usage: " << argv[0] << " project-id location-id\n"; + if (argc != 2) { + std::cerr << "Usage: " << argv[0] << " project-id\n"; return 1; } - auto const location = google::cloud::Location(argv[1], argv[2]); + auto const location = google::cloud::Location(argv[1], "-"); namespace licensemanager = ::google::cloud::licensemanager_v1; - auto client = licensemanager::ServiceClient( - licensemanager::MakeServiceConnection()); // EDIT HERE + auto client = licensemanager::LicenseManagerClient( + licensemanager::MakeLicenseManagerConnection()); - for (auto r : client.List /*EDIT HERE*/ (location.FullName())) { + for (auto r : client.ListConfigurations(location.FullName())) { if (!r) throw std::move(r).status(); std::cout << r->DebugString() << "\n"; } diff --git a/libraries.bzl b/libraries.bzl index 4b867399fabf8..1778d281f9480 100644 --- a/libraries.bzl +++ b/libraries.bzl @@ -173,6 +173,7 @@ GOOGLE_CLOUD_CPP_GA_LIBRARIES = [ "ids", "kms", "language", + "licensemanager", "logging", "lustre", "managedidentities", From 2640dc6ac89751df65a51d8c006c4620378bac8d Mon Sep 17 00:00:00 2001 From: Yao Cui Date: Thu, 10 Jul 2025 19:58:05 +0000 Subject: [PATCH 4/4] Add API baseline --- ...oud_cpp_licensemanager.expected.abi.dump.gz | Bin 0 -> 688732 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 ci/abi-dumps/google_cloud_cpp_licensemanager.expected.abi.dump.gz diff --git a/ci/abi-dumps/google_cloud_cpp_licensemanager.expected.abi.dump.gz b/ci/abi-dumps/google_cloud_cpp_licensemanager.expected.abi.dump.gz new file mode 100644 index 0000000000000000000000000000000000000000..01be5bf38fba22456f81e1b97fe0628b78c6683c GIT binary patch literal 688732 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

da($+c6i!7H?9P& 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

(! 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ోM}^*lTRff9 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
    !gNCoT5}hqk$HXZ)6zU!HsPp zILmPb7~JbjYR6v0xL;Bi6t43SA4yWj-jioIM1Y)|E}C-X!t$l)nyy&Qag4`SusP36 z831X#UPNAn;woxntRlEef`!=pU~AFzcgZR>)mgy)j}c=A-H(+zVXB(CkXS>EA3Af> zY;7l`xKtUZ$N@{MS!nE0q8aJ8wqCRGE9}NX3M)3A+MF3hj%@VN3cIk1&wjY*Q`pH2 z#ZY~qkO>Ne&97KCZRBzX_>A9V!Ko1+|2LwW0R!Yq^%U?H_OVjKazXJ@I-al%80Vl! zQW047KEu@G=O!zC#3&FvEHKYdJ&}LhlMKIX>pkX#S7FGBU!9`81Bqo35N_aQLt2b1 zIbDK#0^nNOd0}i}+;9S&lUZh_6Svi6L25Moa+%#KfpygJYdSMe{}=EiWVYHhX#)OoF6!+lD~;LnohDewjx|MXmHhJ{2ob`EUk^+*fQm{P3>I z{0#cdD<1xb4qn~e#B&8q0pm+^GVahYHx8LN`HiO{>B%ut~%gTaXB#=YL@D73+!C7 zK}=g}TPN&{0r24abVgKZL`YNtSYOCJw1py@eK0eQeTO&VWgdxFWf~rwT(bQ<{cfKk zs9advVVRdc2U-By;I;?-SF8TlTo)id^>vd6;{!coK$)DDm4IR+pnw| z(RUrHTG5du)vq1RU!j(e?dV?iQ8X5C9k>)*$u|yeeUElFYWU3qXIj3GjkBQQrh4)Xfr($ z6~$@OdH()5a}PIa_y2-pmr8qYoGet#0pKd&-QRkd$dzC&aE^ft$Fg#AKF`uHAP@wF zX_zn*LhZ_gSAAZYs(^G&_&GjuXjjTl?alJg-{TGTaQFx5g-rC|%V_xO8RiVtO!efP zx0%m!rH@s@@5lN&UtUnkptUJ|9agyq@PnMS)n$tj8M1+~0HSwEsFgtk(5l6b2<{woJY+lYF&gPmD(3pCt~ z(AgSybk_o#nhT*BV*lHe2jc6xv8xGA+8f=v3o4uJS;_MIfgf05KXFe!Q@DxdNQb7b zE3Q&3y*>!1RMp2f{~SxL%yLqPu9riZt4!&^;0D9b8QRmWhidp@!FHf3wd#N^X8A|O9PCEKReC;*JZ-e zK~bugbd~c$FXoF_4{S`!f}zk4Qxg7N#|uWDZ3qs=^4 zdd<*oq}tUl+8cf#DC}d>r!%#X7zpxU(;=cMebbxiXV>XQuzh$bUUY_0X~Y?GOH&v{ zy?+={BH=@LPCnD)&;o6yxlPBJ)sY2%fxCd2NW7}^lqR9MjKcY5Ai`xsPo1MV+~%nt z#DB3O=%Iny(GoeC05alk=D>M6j7MyF=};~Sp>uirRzNyK9a!5xG1hkp5|sFIa(X6= zz}w4hS)h2MH7N5OanIzhkvYKO zuu`Z`mK%g;9RuoA+iG`khjALchnR(DG-s%ceH9Yt;!adv_W-KE&}qRGjF2w*RC^@u zIB1T(otV63x=+mb%W@a-Oq=Bae2dr)cPC50Q|w%aSD8FjbsHNuvwe)*kvg@V_##Wd z8i4AXj^W!(%#D0ViTRz3!AB$YoY?)@8q4&@sa4UtQR1^{;;J|A@MfpA3W`Q?OfcNq zTC=1N3T!U%u?6&zaHz+k3|{f_@W^Ma?p^KlRMMs=aM$_tq-I{0Kgw7 z_0BGnfYrb?z!Q=-{W{bLok9p+1E z@p0=(Hw{(?@xqA@)4=6e{*~`CL#ek!IDzzI-bDKh^qBA}IG(s;pt044Iy;C?9-mujGRW`^Cv-nShWIxGO+3%f zvr`psIC%k{QjPnsA%-pm>bFt*VZCkZcAAm3(oE!DQ$am(+O@QBZ4C8CvUi<<<9t{5 zrT|7?Z&Y%ozP_>!9_C_SXC|SGnaYE`pCY0bpjPDE@D>MdHF}@hZRHAP_Nj-qSbe`Z z;zRj_YJ(V`P&IE-hJ+p94K7sCffw(rzFal=KT>|M>ge{_A%ak0JWLRkO)~3?#9&AQ zyt=hBoux%Dx=Yn2b{JIu+vnKoP2!|8&$9W`=Q#fn%07E<%^adEZaI?nuk@p4_U|=S zi`~x~P|R$PMKE5cUX z?9x9v3RrH<=UI_T0K_9KsutkB=3mw~+ZTTT5(z}EKLC9NAL6HX1f7p50ajc7bTLI% z_&juT&fZf}V9n)S#%cU*YnPxnbzCw(5XOBXs2OR(FjD18{JO_evIM(3Lo*pKbclCW&h+sKE@0UafEIfxS_3M0S1LY z$kGFGofVU(*h9g)3_jvI2qPL+@Tq+HQDYN(ah>%vrgM3TF}M7uGjGPguiNke_5)On zqLG4=5n^#lqy=g%Wy<=Fl9?|)%*KPp1Iq`84fW$u&p75(61%V`{(*C)&h6ikdN4xZ zA*+qN^N4liGXb)+y%m7Dhw6C9+!V-3QmuJJD}kM>rilk`BV69Xglq8FI41d?V|KGY zn+BL1YO6#^Z_titK}7A)F$4~1xZY7~Du|#GlinP}qbh#r%zR~$<#iVE2Y{Ijx*%PNV9B}q zU{e;;c+=-0?(w+`ALdu@^fDZ=o8~g5e=)?$N6q7WN@C7Azg*<-8$g#?aN|l5Hx*7D zMVX51lvM-nOBj%H0g5TLj?U9mq?JM5gRaNU4gDL}3(gKg+u+~aLP^0@%jFVBlJQ1L z5)@b+@^?Cv7*Zs%I+W_9FyF%dd)x`SWk=azO-b;nW6!Tz8aB9i%XO`8UBdDM;z?>F z@USh|#COoyADG;p!BzwI@#I9dzZ29>r24P9O?z_6H4x}ah0#|E{d!02V3&8qAc{Xl zT}C#SO7`}@`n%X8@9?-oaqa|Z%*0Ey)t=& zo@8(mt<{gpMDmOG{YCy5z3RSTYHIZ)*Nd$tQvblbNYnw{(MgvynUYZdZ>~IyHaV7zRQxg-nDiY z%ad}S^%Xu6#sb{VNnY_S0NM}z1Gs!%fa$qS8-N!3k#d!8G5@*f82ct)@Hfwt4{Wu0 z=;5mJKtA!Mo1?ED>2q>|T8@c)+n4AX{v@O|4JOAVWL};MHGtMdut#$~Xioxfj3ay)g8zE{TRJ zw11mxq=xl5EUmSa!2F63$)Zg7Phn!n&F4bP9CZ~?Z9RRB^||B zyDvZIcVg$%xeL;n=X?c!Vmpc3Ia~+QV#DH+mixKm?BbS7dGo}GsX1<;N0InxYRf?C zO#N8onmNKcz$Nu#I}eAnM})8YS)}lNb#*?kRN4;v=@7(muisvC~H%*rUgQIBbrp zBMIO2bn&;GJNLjDfNicAm(EF@UD)+y_?D;aTN2{gUEh6y;p>Iy`E?e+XuZzV7p{*X zn(+Q1b<-S7PsaDNdVTo$iEytm4(kk{X5eedjq{<;p7dJkiO}y6O2#Xig;XdT;eyYx~D9WBh(m2cgCB^?{?6?^ynf>f(p}GSbxiiPU&Z`R$pnX;hQsx z7%nJTTMqyqpG4Qds+Ozcsg^YArGJj$9Sb2pCu@<7zQ(sn6A16)iF5Y=!FM>P+Gd}bKQ9XH z;;mNsu5|~LK6Ge2j?vASwd})wZFZH@Rb(`%aj<%mz}=k%g_JMhu65% zUH{|gmq#I2yo5Wg3EXE0?4VKrd!j^iWENp?YOjr+W1^VfZ9))JFe$|a!mo;uZBNFo zEY}CeUq=k%Q_45!QB&*VE-Fn2S_u|s9|(@kZ=KwE-_cBxCLT5E^Q#i8=3SbUZlnz# zt3^{M6HPLDUaa-#o>D#i4|#7P=;^%A_0wL6v)**(n^x2MT6-j5RX9A$$hyG@`-h`W zrt`~@rs{i{C7X~HkAanL-BD(ndE2dJ`A7>CE5MzAhSfl&%=SYc0*#&Twub6JYMRHLB5ZMHYO#pX!a ze*@v@zNbVwT4|$7m^No$pU@#{6oYOQOXzC@Yq5Z@={gSz)P0#bY`dO4lKP$bp6`5C z-iD%lOA0#B#(o`UoMVvA3(lK$70$eSF8gWpkAUyz^g4#PmUmhcbp=T z+4~Rs)ZM2*>{kZpYv+-iZYG;B_VhIH)TB{; zy^K2E9VhKYM{U=nmRUhtFdn0f^8U&y0X4G0x|{VsdH*D11|l{Q$U~n;qw=*3<7PQp zd9^`;|569;E;wMIJ|ns}zB%ZONA8Nc{}YXWUAd83CyKbn&WdKiq#8q@#Hjd>u(|hw zh;!G}_aq$1t(lXg+R}*bHGZUJ-tYS96mR7ja3kHjwtc5z>9aOFZSV&>2N0>!a7p)m zcJ#BXORBUAmd7lY($ag8et=?~yNu%e(`L{b9!F^E>n<4M&$1^kBz!9TcU{!%Z_{l; znPrtdSs6$*xk3!}da^b(YZxo%o{nbF1q#$uZ5h<5-}ccH)Ee(uxvu+ zhCiDSu9+P7O4x!iWai1r&hl_yP^>R2gUcSs^nva#vUzGySL zXp@8i%}Pt(;&?%L>AX?%q3C$@-hu4sigDEM>%un5z3Vyh;{}Q-DAcJbq#oZ$(nR+C z(k;GR+k#y-79Z;00-)GP5klQx57*4)j4^YGU1w($IaIg`(%+)9z!&`dJLZ1syzkC&FR;P8=rJ10Z4Y!SfUvS`)N0;xnhO>SWFVW=e z%kAQ%uBoxGPg&Nze8Ir&4CD{i^EHfUHc0h3$A7RIEA9V+<*iC|X-u|ygf*@bpWa0= z`#=n#pYGVQf(pM>At}Zjh@8E{){;Mui3?x-RV{ubVZE5rv~=a13t1SWT!f}V%gZ7u z4rrzuD}3o6qjV+#*YYajJ^5K-FCSOts;C7T}BnTX%(GSUu>r2ztW1h|#dTjw zqw2tNvCguJKDXKnK9lZQGLP4bGMXie#;w_i?)oQo@XK^~n=Jj$G=WpUE%V(E2Gx52_ zzyH@FTVyX^m^g!M@7%b5+FEnHzz>5EJhyN346;lj0Ee%FAXHlBf}gu$kYzIFuh2V%KP4UL+}4||jKTM)mMitm4G^U?d>ctnvj@Se^S zvmdhh%h^8eIReK0+G=29N8%^72de=j3G=12ctnbqIU7u|< z{q!4;D4GUeFKu`zkW4#`H-caO2rw2h{BJ=8|ihrP-A zu4jDL);s@^)%S0X^3n`hoAVy zgl<&!9G%(A$ERC)GO-at+YthZL#!96kDS{>?D8@85Ni*yyB=x}v4_2BFfM9Vm38@T zaXA{jy_wZNuzb_Q$ErG|v$PmzQ+slK^u{APx$>hP=Jgz3RZI`U;gCD7QgDxdaOKCg z^h!QlKxj{`PkdvPQ>zlOT0FG|%J=m>KC}8N!6_XrIZ-`D!o{z2ggij_s#VZOxy4x6 z=$=h9KQi)(m?df6Vy*O3-`u{`ss zN6yOmo%$j?P(RNlzFFWa55Ye5$op>wo^Y2hz&CSa#*nTSSw8aqn}N%{^3{G)Ycr53 zXVMg;Q|%-=<7!#-hlcs?1MIbe2IiGqmALL$@=A<_k;jj`BSLw*#g0%YP)aOOIyIPo zYE|AV@wg)gX{hh3~E#}#8OzP+wD_?m2*jg*iPt(&D<4rd6J@_2` z@_gEAm<&0^tH!Hso#L4v!Y<3ZO{+XDYVE@eXSyA1LJt<>`eZ4r)yGKEX`NL?TIaXf zYj-hywf)bpm;ZHB7UjGaHdD>g4&|()qNIa8>YU>qb(A9Xz0bQ%rz`aYpP95j4b~O4 zEgmaf7BTP@tQ{XKFB)rsX*e|&);(}ioI8Q9rp>sf7nb1Hwz;E`VpPA=@^)qPdokL& z5%vMZ4H)d!p82j@?oi0D{nRdE-|B%ABvYh_(xY&PM z{8%;g+llJ~A2RsP*kbr!y@MST*L)O9Ts_U2u}L0Tzng!CK9KI~1XE`Bxbm3<#)&Fqm}l`&4u5-yispW9z=R^LCG(wpoX9 zJ&zk!hr#Z?4`UB}0W`txdvycc@$em{J0RAVAI71w?J*@VU^Xy#_&ysL9R9rfzyQ33 z*#-vBzDy4c;CE*d3=Gr_aGQZa%kBVT&RcZwQQ(nXuCqg;cGO<$WqrEpi?mO-qxRBp zYK%l2rBCm6)E?jH6Fbt!zUmOwqXq`%#!4Hj@hfxQv0YqQl#|S^mVfpe1B!C3Ro8rn zGlc8Sn%yqFxeBE_Fb{GSMmCWT#ftlm3%z&1jbqkxe}&S~kAfAKx71i8{@gc4>8w!e zv1`%z!^5pc*^g6EAXkIvG63~%5FvlnW8#i*+w*%4w~wx2wU}pBom5%9s0wScpZ&&z zjJp~5CN;T* z>lcf(nYt0)Ap2eN^K&L7m)&L)bLvOKsspX739-+7K|`a83Aj^blKtulqMq1a=9Bf+ z@>Wy!KBOg0@!>1r22h!_+JE=dM*D;Qecu5Cqz9|LH4%qBqy-ZZg%QH_>4UQny;?ox zos;_>WUb!aQs7!S7?WG>UU^I1@)mVE|uWRkQJEbT-YiqCP8yDf?bG2R&=+ zo_$CQwvIVYF%GWWpPz4 ziXtzrMx&22xk*CUOKas0c}P1!QV{Z(mYuUE!I%33dp8LfL6Wr_gR~noqobZpp^c7O zGKIsAj;swk;2~|)%i<`A;iKn+GGbQWg}y^u-8aK27sBnS6$~H{{93ng zz(Z_kyZ=E0@^m(`ZOPLOF0!5GikVw_pyr1zlh46N(Ght3RVeg9#>0j&Qz7k{>t*L%w)s0s&cXz*Ov5p58Af#j&tnMjXOL$Uyhqo+GzA{^(V`9y$5Y_ z-Dj}_Kb@G(b#FKZe$T{%CA!vwHi#})3$SB1>fYdt`o47CtSamB+v0LGdV4dgf7p!N zArEOM7;>0vM+JAh47UXX*sX|}-?s)s{bf`5PdsQyHqfT0kD+j%IsAh#^Y}L1=w6Rr7meSzZ%38QX9@0+W#Cc%X zneTWRZVt>|-)U{eaBT+7sHkT%XrrQ*%-~R?qU{C6#(Gl{R|8FKY+&ELFcuTBKJSFdIbjXh5u^bj=5S={qt zcub&W#;wH@7LUkEQfn4>zMqa+Bp6UyOTQBq8{4*I=~ZvmeYk@$_97lfO7>^-Ze77R zLE8UVi2o^+uGZbWTbHXWGu(7J^4CU*$_ho8^<3{?WJK+M1QP;Cp>*Ly zS17LR_;)CjuVx?c6$)Y-UEYgAsnM@hh0+*n+M!U2R`szEKnkS`C%Qsu%*{Mjs8G#A z;44%JkY(WYqEKova;pmEyBG>3m;@67NTGD$L{}(3LQtqkjnF$3YMQ0jiCoYNd!OcnFwl* zb_WrTKHlOQ`#T?p2yxFuaMfJXcDQF_goX$l8hA^KARf{$5g-R?8zd~5;3CvrJg?_d zgR92GT}(LoD1m#>@{43b*z>u;g=DL3n6P9*0MB)YVF)cAX>&l)8f{04mo_}$T%*zS z0RhCJLs1nm37{6CJ|;jfS$sE;V{5;z-h#O8K8Sgyko%8 zhXF2w=MTdWT=LdtKmaKV**HKlfI}090kk1cU;3crfDHnq_`xOm9>ovJ2-pZfiXU8^ z?@|1qG=O#gQv3lpGuUeY7y>HDv${HV>4zB2*pfpqA&_Xzalw`N{w!&zn@d?(J(8ja z*WT|41e5{^Me-bkE^IG?)-AP_DF&paZqn~Zu1lWAt%8qrNpc7#1RAQOaRb?7Rf?hA zVfv~B=>oC3ERi z>rZ@IRp}2*3O=#k7Zxk0g=5UwoWn4+p^M9zg>y(69BO z&_KKDzox;>qR#q>4Hc)@T4h5FA0di;Pyd*W!v@_^vNapTL9ZXn;0?z#_zps^c&zw^ z@X4T?h~DrJaxZ{aQp=Jt(Zp)pL5F9K5EEjQeFMIt zFH-}VLT=dyuOf&du3dOM0Oe%{p8%l)D4{z6`fnWr{TbKa1p_zCf9o9I+vU<&RFp$7 zm0L#HY!ZiXlk91iuN!z}t~|+$%aV-sjZngg5EM>4M3qGR5Mu!AX*;$@=|BQpjfbZH zX4}&MoE7ureog?K>2z9-)4Hr)%UaaWBrt_@G;;N=X|)*F%gy7fMAPLoy)s|*1BPKu zrEqY8rQoRo2BvJx9sL8?PGm{gSMY|K7Hom(kRouE={6$o>@W=Q*JpIo7t2G>|l1Ugx4kPBqC>UkC8O+`X}hMflrcEJn~IE{`I%AoKhfmj6!Vf zDU0U-ra<8kz9NTtk!~BrGYAui0Ye8KP`73x42PB>P#2I6eiB+bN5YVScPO-MAqZg1 z!IASyQZ1rP!rgHMGRJMgOemQYx(MO1;&qsh+94jHEdNq2$dRQy!yO=e?=|xsjOcg? zGL>^j=%H9+7sE_!Axpvnd+?P^zK2a(3MUO89uDJM1Jg0ZAS<>VAQT}4@CCgs83PL7 zVx-SP#evvE;U(eA;Mde~UweH2Nqi|CBf!-=i86i)O?*!Z!7jLH7kh!?6}E?>OCc%) z7w6g|ui?ld4EP6%gS>|#OUU?wYj7=_2lFA0z$LglLA3`mg=j4Tm*S+sXc1*XF12K*cumg3>5Et$JZQwi5x5K&`;LR*>^5K}5Cli?svACC4Tlt5TN6}e z7}4(rq=ftzytF3Z#g7&4+qQ`qTyUi=4w?3KsRzPL!2rXHZtc_AaERgMH$i2LDY_>h zCS;)DmAQ^A2LY_%Rk~0-rvt1houJ`YSNV?iPT}X!CUlgB*YHB7y|i~nAWbdAgIDiD zPkZw2IeaO^cJKmTiv%_uTMY8ztwtal&B1GVq1Qr{Ne)L-u)**mUM%-nwE`~z6CA^b z=-Q*N>Cj?O7h{LY4ru8Z;22)7YuQ3jz!*;Dz`;*htT85Ze2(FzywG>_GoHIqrgLnL z;UzsmX2i&tNT?RW>w0m_F%0o0t`uT4ctx)T!Wxb#ynH9finrj7TvP@x+r@F4MGh)P z7hJnz4tG!nIi3QVf)$3B?K)tz;TVI#s4tFEOxm|j39=M>_E{RP?7lptW z5#CO8$#^~2(WvZg+`;qfv`lNo+gjlld!83^h59@nqXMCRx%xvO6uWrfd}sv-7J`9b zia9TYYm{4of~#Moym>*@B_S-B<3Ph>&O8n@$@Pu-CYNz_OY`Wi_9)an-z{%QCjg^} zPvJ0X?`>VeNaU78mj}=*;{}*8;Lhcxb_-1BvusQN&k$-YMF1ND^1vc;9bZ>vQI1BF zMU~3?QC}}_LTUc3`J2~l`szg3_0?f4^n^k)>*fTxq|g;%$QodH}5(tdDH zChLe$3io21K7>|9MJ#EBP)7Hek5Wx(RcusZ0E7a(5f;&KwSpJw9p6)&G*Av00*6kT z!-Lo5S90qLateX5hfs_Un2S>LI0SS89@|4G$#-d5Oh?;5f)lXj@LKpvc%9--!lWaV zvHgJQZ`M*oo=mdCgO{O&sqwl3=F&y+_8Z% z9B+goa1SIWVAbKZ;Fb6~MxKOeN2m=4ZkHaFP6P=r5KDv8MOmKG46X;S4zGmQDefeU z4MKr93|M#5SX4quglcc+md13*O{F>k3lFclt|Zt!_$16cLOC^b;+AV358x*gR{HSL zDsuxLv}z$qZWeX+y;&7&zCH2bWz&^hupp&iC46{gl(}I9s$6V>N<#PH^-omYHyllP zSyM1H2BFztNx+1{%akjDfUzWDJK@Dg<~e|?aqrM1VKm`YMI1FZ97cGNQ23qzG}^oA zd*pu=BGSLjnrjIN*id*uP$+!}bnZgoC%0)u08V(lZzU8IJW04EcqNZ{9&C2`9#Imm z30|GUQ+d;&M2JAS7wcwZljN$tuCjE}z)4}pwGS_(G0#=pBfpQF%lQ_$pV@Gl!b@b* zgks!gKglk$Dv=XGB-jeCfeBzyt{tkYA4y#jLKcCtKA;78<35~8IjiXa3$J5|$3(Ct z8N$5gvVf8ZBb%q+C|oP#qwMANfqQu$154ou5Fk{a-9PpXn6ZefKZ5P30U*}SAa5Z7r@5t_MuC{iNUK?g1xYXS$ptZ z{a^EM+I0hj8kQe>Ab++8WD3y&LQ$(N&(=Azx9N0|A>)fs?drfp5O8(~Rj)S91ObFm z3Sj}P5cVX*Bw`AL+L#~1R(B=I{5q{NS%O#;^=nQc7KT^IR>DEWl>}qq6*KNc9w>xJ zlE1R_k9%Ax1ZME68F$KPqr0|kiOH?J`x8Oyym4xuYCE>i_wKM6w zVBLrpvn8?uVcC&LBj7?Qo&~Vt*)C)$ur`EO&p7iqsIR-Jo?k7}YCTfg|I2E zJ>ZhyF1(f|xC_gO?S_|5&OC&d)i?`$(2;C6#sp3fA-t^ClJPYiS1@T^T~HUrJijWk z$%*hL1Y8)rWG2)fc5B13iFq{2Clv5R2?=1^uQmWB5eC2uW70)|4qi)03GfqM`{JCt zpz)6-mJ}N3LU^4EiJ2rS;32%Ag$1YCw1ii%P?em3*~BPZxiM&S?t{V=0Z>uaCWf%J zi4RdF5ir3ESJ-T&;h#{dSGc&E?Wo`-t5*5}2-sGXg@qw(Vc||_Nf=mo#Y)Ckpbo;z zMKNyH5Z;#gQmTefJC4bArz(1 zfi;_|2$iT-EC2zwg|dh+f-NH4jV%e^rBR_;gVVtA^2JY!Lf+TCj7m?7AIT)G(^Urg zh0+)Olve4D>Id3>g!1><^PGC~6eL%P9E|$z*Z*q0{YeQvcnPCcFREhop*tq#uR=vW z)u@`UQS5s_P0P#YUxVi5Hoq{*<%MvM&0rJR_uag+x=PaVIGfL3UzO$6G#ib^({dqx zU_N8y(Gm|^5GrQA&s z842Ua5%erJN6#pjMvmam3^I)*j&QMiT>i{(6?5S#7U=H)Xr$Fuz(~U;dQkO>eeP=C z=yRZmn#E5Fq9G6z!n;gX(jAsyNQ8di){!CV42@_3+!HcL(U|RGz#Se!CLz~N!nY(7 z3cerQuQ6D`5C{OkZ5eSKM%oLYb_2c?Ni)kpA;yCDPpkyh8pb5TC2+q(97jxh>&cTS zKQ96*X%vJO1_sDiF6SxIZ*yU+n+pYtI$4|Vukv3HHS$Yv>MGA}GZJP9p-F)Sj`jsk zh@v6l7Z5rQSil_Jp5#LWvMP>d-^bakxutVfSEJF^f0{1|&w)1(2&)ywx>r3MB8la{ z-jqezWDrT94(7khA}7*s+i0%&egLe|XD!bGm*r!h`GC8N8b}W}+xI`mauo#FxOQ^;c3Jqj}4npnBGO9$(Z-o`|prj#YivnSQU8;s|5C1cw zcwgQ&k|6EE8OBI@Bgx)mK*4V_gcQn zX5){rK3^z-r`ySMKv;A-pXXNvedi3XYp>+lvm{8kXn1*h5NbigQDc<2!^r7d7!=$! z!tVJ&=!M}@z)^@6BiCbb+9f_ha7mDG+8AZ(0jLEDr_C`c)It_59_)_AX>*L? z^bqvIY$?F&(k_b_L#YB0bj2K{=FD+w&NLk?M;Xr!a5APOEj7GS+@g)35tqR0z->Zo zHhtkW-nQ)n0Y8UQ#N{|e+&v(ZaCQh)+JHN{c4D==p&7!MWS8k;S|^iinjNrXULaBD z#Uia0H?I-649DXrgU?)h@VOtckIjq?QjuF|5W5@wqhbo zwTE&L6+w_+7PD!V7f*PZ}XD!Xkmt3v?$?_Jp*KlxJ)Catf9erESI4Zd>U|ZX`@7#$EDFF>8or zD8s`~ge3-H=mT$<=~$~s$n6Nd7>)P?r`ctAMR~&&3gKD+^AyT#ks&Nu5WWi~IlXZ- zvohQB%%#lWY8J5=J9}vZj%Njj(EJicuD-H$D>3oQ&Wr1;%4^f_M0F9CJ%o|3pONfO za3>V>4xz2ZJSRsWUj^@LSxMh4!BI$9c?exB=II=X)3t}tuo7|YRbP$FYALeT3NbHj zUH0MY09wG?UsmL@ydYNK^$_}LBHvN_I@Fm#An^7O8gr~Cq1Zv-A>7AdnL(;4(?jSI z3S6$ctZsGH=Ay{|l-Fu5j|*){%f_D%Ux)AmBO4%DW(h(z5QTR*SsOw;^1#?BWGO;3 z1VQNJ3Ow!2>cqJ*8qJnLf$1bcndj4Q_ajXbBI}qulnylyu#V{nSVAIVMd+D}e4Lj2 zHC-lYof4u80egb7hRW0Kcs&xHkgzBi?Sa;!9K%rr0K0;TfwH#FAK_8>>)3SqF4Co{5J&Pe@ zom6Q-B-ibu-1_Eg-}*+KAS410gig@d39SuzTvT2Dk}9bMRE9emgr?Bgi9oFxM?ew^ zBb`1%v#5<=};K(W0+?(PAf3BB4zPErYQa>EEl;R9IJXkTuqHJkI9xXN7UN z0GB`c`gR#cygK0`<`luoO;*$t4kqw!J{|`SY;jM=@}puS5&G-QRy_hTL|9T62R^VZ ze=WmSg-1bL@GIyY4!H29OL0*+FC(;p8KYjNiweP;86zqZHFbnutvJ?hpzBs*C>nW~dd3;4y%A%@`srvy}?ow;~K60~x^9 z0}dMI58O5q`);6p!To`W(@!7#a?r2c{rrvE%5{a8cxCagu(U3txGgR(V>~$=Z8cHI{%x8yrsaJ99!6^B zg@<56?>Yg>r2RL5vKpcBUIo5=kRj203~`nyrc)K^477|4Q85_n%u4-n|YHA%YTyp>9EQ z7$T(L72!os^Hq_+nF3ySHD8Q0q8oS#SQu9A9NC`e#*u==&!17yJP#+SiQC!(PHGzN z)qJ=TaYwu1tz#u3Aux<^(iE#l!%=~IH-=WtFZ058JQHkGjUR-BYUS|{2C5E75;{Tf@F#@aR zeHWp5#2`mTAYFmbLSm4>NSw4hgoY9BY0n%t!m6dL@YA+0ZI=K3bqEm)M^IPrGcQLk@o7l7Oo4ozI@N?05V{7 zrdcx3@!uHDZ2zbUb6(_iLIP)mv#&To>o&{p1^E82#&uaO=PZBP`@`dM z_9LmQG_U6`916Axq0^1~`uDuIAr%U~9HHH8Xv#t&gXbf(d<{-8W~&N9+m*Cnx<};a zC6dnP`Biaro&}-riTe@P-J;cwTqyV!jLxIMDGUwog3d0?i~^PzYxAT;;9yd?#luJF+wdWC{r7NEC{y?dT@RRO z63};q_5sgX4~Vvv-hK$=g;5EWj&UdaX%RuV1>q4w)VA*lAd2G)G0 z1_*0mu=U?;w;#awtH`G?grIaZx=hDey;6SyWJRc1iiiq@teeOZ02bvS6{B!=+g}j? z7opbZg&ZXoXrfjURu-XB*aD~o*b1-oHBUi7wlT6492Y{dPDEMyH>*6t)O<)0>TEvu zK}$&Ta^92#3^%3V!dRg8MdV_4!G-3ne~o2V@_+m_zD}$EyjFV5yS!Naepgp9mcKnw zI~0Ga^4qk|PJcOX9>Thnz5LSzSN?vCVeu93l6_19ZSi{m@mFavKX&;G$-(3wdy%U> zYmvwTs>>5Hhp8}f;hxD0K+}%GE9K*)oYz&B-n^E^)$nq37)4N$au#dPd`!#Y%5VT< zI4gs|1Fq>RvcHmaDnrq_tX?;NIZN}^pOR$!{X1iK>=oqAi>oDh8`JRWf8Sa2Mf*QH8{+^4r#6m@FTm-cltb7dD9T!D+K&k#+&ZmL)IT5U6B>%V? z4OmKM_4n)NuH^NsOjRF9<4hcR2>R)VpmUbl9H3wbJZlJGBrsh5K7tX5B8=EJ`*V>_ zle&D?QPYW#e6aGZMA!rRBu?T1oc)pGpj;s>K~ApI`So%na>E=wFgwR|ga}X+1Zhn< zzJN&RPzcqbkU^#gHYGI4>NKBB^(ph(y; zgkFotVIA5rvrSkG?w1I85CWHq?9z;6Tu!oOu>711UbT^@fA#27U1Za2T(kSPAFQGe zAN0PQBvo2mWzB&={OIE!d9&Iz-2B+2`8irPIfgfYtk`Rr*D3QTIGGsS;v(a=7Qz8b zz1`F!VDI2vxOoXI&v#*DNn=qkrtx$z?j7XB4swF}PJp zh%mzFgy~v@>#)Oc34)uMY`oE_={KEj7zRVXE93BNm-9-weoQAKgm+M_WIbp(kqDwN z`keadb1~eKfg6lO>YhP&uGYy&jCuR+Rw>hKd`HAU}-^Cd5M)dp)d&$gIl=nRKwDm4y{SJNO0?0=z49` z#x1Y=;x(0E9o{Xt(htjRV%#QSxDom?ZJbSt+=d?^23L&id!D*>j&H z74cJ*-(*RZHDgY*a+;5SXld)}|BOaA>1-x`n_Na}y8a@ZBqC&oWYyTJaR+K_{Anq0 z;63uLALuvWShclk+k^N0Bm2>~UIN#X2o;7qVBZ5S&9f?ORk$A&rf@5H;J~LgTpzHO z)atO+;eHRnBs?*A5GHg(?4p`gW~`231zQ!OB0+e3XXt( zgpdBL2w0S`Fa9P3e@ri=7gReoi&JKr7B<2qpyo=N0 z3~LR*aT2L%rjvJ8G(Se+fCug`6{O-=o1HAFR-__v*n=<6x6u@0G)3UV2k*W0To=?d zaP(BVH&)V25ug;jFWB?Ar4$OKzfKu@0X)gfuBW!cz zyqITIZI@Qqr4^5U2y1D@QiHGWe$ep45d1C&FF?7$%_^}~;x3h#fae8IHH2Q|V4V@H z(pshM!1Fc*3_7_;_>CNaxtOF>ypwwm0YCR0iM!fzn)BdfqxfsIpO3c3q- zz6`q%_*QZ%uYXv@wTjz@;?f!@;qWU+n(ZGrM_{YFR(CtueZG-?rf>@8;Hg9AxemY+ zZ?f^JX&%FriQ3c`M;IS;ofy<=dK^367 z!cyO@s#;YYvZ_*;M&t%4#cA%hv(wig5GEQt7R}T74b7zLM~;@cV7t z$aC$<)oSdZHFhhJy_^9tJmmx)g|{gutGL5gToQXLIQ$ALHwppEF0Ha!W$nbv60GgO zuP<|>$mXD|?hajdAMf=c;d{XwGi(mo>hJLNmx8MWZz5rC%$W_7t*Q=MRY#*gvL8tU z0f`71elev@MOn2SyxJPBrQqc`!nwxWI#;WugVxfeb0w2~g5NpoIlcp$SFl=ZwYIbD z6Ro8i9DW0Tz&7HE{&Wq{BCAXD6Wl_t=bM;ZSVJ3)6iS^ZP}h1bNwBY zLI#VXtR`6{q<53f4prUfe?pCQ3alnE)dgO!a>t(I5 z3WqEgVW)%VMEci^8Oi`sMJN|xVT0$yphTI8B%s%@=OSF#9EjI(F@b{M5oY_3FZw5O z@N*Fc#g9<*W~)2GwDFPJdGk;FE_`m)^Bo_wpUXVq)2fZT@DWJQi;s^3v~s>Ke74T> z+3_9xXcgLB_>`7lL3Cunz$Oc57z2c1A3x$pmkJc0bS6Hq`FmSk_y~!J3*Dph2Bg|I zT=+nOumbLpWdpXX0Ew6Y-0>dAk>}~253b7cYMPBk<7v4N=-=|hb4H`LRaI8!#brt0 z435y7yp&Qq0F$V0gBwT%hl5CWquw(RpHRsrA@uu+$V2~bErD%bJ%px-!3oA}RY7QA5Ee|obiE;wFN@hUOL770af<|@n;?uF{Q^=OBB9__ z5X$?5QxyU+FhbFNaAKk1?GY;B!jS2=L+teSjugxR2@?vc0pGf|N^Z5AmNMKgAXK6w zC(!Q%hS8jY1mKH~`ZP2&j6FgXyX6$P;Uq^WJ@-j+!@)b&AwSC{srPAVblSq$v0ngwnMMN=3s0 zB9ya@5SH00g;3%SA_p{IktB;E|1+7@)iP3e9`@sQSO_I>qeMo-93m9R&61kgb`ha) z9>lP91)Yj(G@30fmFaRr>28Ew>(Qm$h|J;mDAjl=eX|5dVe-VssPP9eN~8B$f|ImP zZ78|_xsBuydIL<99F2$)p{c+~;h7zvfIAgh9ym1}UIe9xBH*19`JanSYJ>GZ`=2YN z6=3u(7$PkaJ}1EFbTCC=MjOHap&=snpqKA-BPk+h-~gd@VkvlIWJclm8zA&s#K6|0 zuB0a4C4agiu#hxBXwisS2;4>4hukRinFR=K8%Fsz)5V3bXDQIW2J$JG2?P!ZtrklW zwSX=O7Z2`|h~-`JZLpVwEeCfrv}PPk2X?Slmqt1S+$GSmT_E7wFgC_Ff@%$85*`j? zBYVr+tPQut@G80M#-6KN`ANUcr=!twlW}sJXMYi}4G87yrC_iiC1DESb!FG%j`sD9 zk5DC{{qO;GTD2 z3St8N1R=&0IA8_#a|jb~WFbP4vP}{jjxNURcH0Ct-cE!Le7eK+d_T~g##wqfxg#iP zzFLt^o6~MlUZetj3IHR-XMParE@XNJU?S04=pf`2ynu69w01E|i{;%&1Q3O%6kJdE zNSI|9vN$czXyjFVqyS%tFEZSw^Mu3T0M)FgY-==kT`pbFq45lY{wSLnz&hk$a zT-mz}D0{`Nqlj|X?b=;hz+MEetMDxd-t&|NzlJdRRqBq*zjti-&I?&pnCD|mBzz7= zBJgyPP`sC;Whep%;V8nP_w6lDBz1nXnfV!y>;I9h*L9kU|GLbx>BRiDUxB!ffVi)H zW7q*ukMrAnn#dn{eZWu8GZ7I@k~+O2a5QHjf?W@2+@}Qs~oRWf=E(>zXLBL|U7zz>r zTP$}9rTNSMDT|B($_UhFzV^QBLr^9W4|&69v*`$%!ejzg!$)8<^R-t8KZkX569Eac z;iHf`Y=P9|POJ#!XP<$uJv_vW+=qizTFmo0FAD-D1)&x#n66#@KMZ%dPmPQbN2o7% ziMZkB1)<{Qvq1ZPk|o-27F8yTJCQJ3J{^R2QQJgT_$9vBapJc-q;tX3xR5 zbe@lsQk>he^oGj#vI{STti*$iEP?$!p^H({;I8(}(b58Z5r-=RM8zmvh(j5y6-r`B z!Z%@*Cs3GaI*!9)B>_FhC^hgXfR!2~qW_OX!Pmv8Cv(tQ?_uxemFOIYuUN$c!e{j><67OkwwNb7X=)ceA^Ykj) z{PUZ%P6^}!J$OmQi(~D4HJ&J_s0Knw#&cPuYjC#0xI@9G06RuXTnevC*eT@8J$RL8 z7{0*lK*xjEgnY+iK(o_`A(0!r61kT7HCybt5miw(Clow2ys$JNPi?rizzb8p6KL<3 zYh7C?hzMTo8ni*9a5bh75^b+zxC+6`a?;A_ZoJr%&X>h(nkD(oY-+`GFCGNtiGAQK zON-*6;Dz9I!(posfw&r8jvTg#XhaI|@}@9$f$mQGJ&}SVg`}9Yp`bGG8t5wL)_Jzf zaCZVPmimlCaYxYt64Jm3zy@KHX!rk#iniPHCPz9?y! zRd|~L5owxjUolz{oKU~5bSPpRjb=-WXSh5unif1qKNCC@c@i1U^5K0C;uNVpSi6;& zS&MZdFt%aPuGaw)#b~G?BvBgC5JF!DDWRI}L^19v?Rp~CbjaZf#2ptDw@AHNWKwgi zZ`<{HUWx%iM~LZCB;n5jgoYC11!=TF4G?-zc)*O7Adxd*fY86ff&D9ei&8#8zOzbd z@vRJ3O@!7L?sEMpy1~hlLPJx4&_YAP;2JJQgk|dD?5CYUeHwED&J5lbvyxIP_)^$! z6d-I}_q<4ZLgHzNN!WUXeeCTS3B$3)*v#&^5$uK_f#yYC{6WCpYII#Ze{ag)etP-h zr@jC9Lh0LoN~`on^)qfiLYXmpo>Ol+89$8Ng9Wks^}kwge^RIqUPAfmMOAEn=x#at z>!KKcs!=(s(OYr|XDwl$dl^93ZQ^0FE)1Zo%gcE)4Z1du_kTl#Vu8oZqnP~A#@ob* z;jz*ju+M)}vYPNx(=22*(@s`fypkY@@Rl+2um zk^UZzrrBxy{X1iKQN0N2^Wy5;;*!d}sUbt5GHVlL5>)00c3C#UBbtn}>umhT$Jxqk z{IbZWldK{@X^ui^j%l5DLrsF%E}Ymw;DV+fSGg9m)6$^}rESa^cXhMU($rE|Cm4EQ zK6-KFV=S7G>VH+G)1-klE$Y{cVxC_W+2mwe7FVxM*kVehg(&pkr#s*C0dd4eN3+1R zPV*wGHZ1VnpM)@OW|gqR*(7PErbnZTx~zm%-XWb=Czt7To>7SNe7KqRy%5kn(x!Z< zD3K3UqEJ^pTiC8D=oI>l!vK7QjC6g0pa%g?25`e3g<%A{d2?KiT|Q1I;2FXVaTLZO ztoz^&PYS&<;x!VeqItX6n^LgOHR-qmM~Bx6G9Yl$i{KSN-*tTbyI+73 zAP|v6@cLk{N?#zh4tflyJwk;s61szvfjtCoD&c(uFF5vsyy1L@ z7aoO~2i#XI%>2>DnBZEaz@BS2GXSusKzw+GvnS%4jyneFLr|x~J?=?erFlJn4UmSM zk>7Zp@mmifc!^WUM>`GNfqY1~ZE%e<=AN&;);CG6iiK=9lxMUCT_j00wMzFv{8(si84hlCKMestd?>T;7Nj?(y;6?D#Z@+3_IQ;Nxao06A z0(J*pOdf#UAs`3y3e1LE8+d7X)fdohMc;g?$MBMJFUXtC_ZXpy?0O-nj(N1veT-2= z4ge(`eefwzA6`4|i~5EG4=*D79&>=b6Y^?_W!7i;$5KfIuT&hx&!bT`&2F-yCXl;} z;e}`+y;%QfuyIMqn@lc>%?13bI;14OzbXAR3D1O3_x7R)ILI|x2o-kXs%*G` z5vusdpvD9YHbUQk=WB0d8nlSTC%ed|mxik{LgRrCsX{zbWw~`vO~%0L>K(ssX4B?U zI09M=?o$v#jR4mV4^OBR3g1e~Qqm z5jX&O_9@6Ov%6k4BK>DEyz_&QcG57o2z@1i6Ji`wdsa{y;)J)S_(A09pI>?tCzZ4j z!X^bjfL+Sjj{uFAUF0C_UG$9F$_2qG_+X?y{{sc@8#>)LD1l~NlA7K(KMp?q&9*b!h zZJh1=?SX7Ig;BQjvrvD5*nv~dpR*YWlL4<#cVLzYxIcu8x8-`;))!R>UYn0LL%4uj zS`qzJ$-!t}j?0Dk#|aVK!7LYtdKa|)F)#8uPp1N%Dw*c<`p61J3|?pr91m7#1&M%& z!Drw?smo$my{@^r@imRyH$z#hA4a;(u6K84R+9}1-&ya|V)E-Wy_yqXEyfo8*a>wr zg9pJ(B_?DDw{}agf#YpEF_)&9Mo0p$SFS|W9>@gl9E%vjmES&hv}frT0@f(0|KzU_d`sE%S;jH2QY`On%VgKZ&^AK-(Z>SCNmfbrDLGJL zLsV7W?X1~;TjrCWUcUHACFp;lWJH~HP+L*guaN-3wGiChDeeS!cXy|_JHZ`_6pCA0 z+}+)+xKn6xcfGvt{l0tu%*>hW%$bupd$0BUo>eMbqUl@ogxE~F6TI0KsMMKri~Emh znetux_*6OOruXR&_lGZGs#L^Nv#3v^c6 z4I@5;(O<947{F;fwmIC2wnejtFUav28>noe){Yv)B*98h4(K5}Bo@wZCN=a8*lyDx zCqlG_FQ96~Of1r{H6{tg%8FVVDCgiF+pTDi_~Fk`sWsER`Fsw%Ed|go)Fw1w0NQih zA-Bw_kk0$GkBcr=4^QYE?_Z~bBV5uCdQ@jb!^*ASMR%ik{x*%CBfE9?@|sT*NuJ3E zK<#&MtVPSyQ@Z_R##{Npd7sYo7IS?PClPNI0*RY9*|q$-O(rJ3lAEL%h>52Ch57>2 ziumNbyrHc z-ZQxUQ|-9FK#;m;h72sq(=*B-ESfQPsVTt(Lh*DjdWzgu6U7N@^o~jawRjep&i=jt z3V`!%_Ux4lge6kJENk(YpqK=DXg7ke*0!Ttr*io<|2QFpiH*gwx%W>8xwts26?W$h z+b;Wo^@cQkVW&s!nI(hAv;|H~2q6xQ!vQ#Ye;oMyVC-R3+JV0l0#5y#2pUI&oq*kw z2`7T+A!~s+jkq6goG;gmy0rON*FGef%P=mRo6E~WyMUUz-V>>nul+5a+&YRA%tKxm zji=0{nox9%PEk&nmT?})A>{$u!}WAQPEwSk%Vu%m$bHWR_dJgMicmHWS>cQ5I}r%3 zpyy98#?N&fua&;W)~O9sT^ffE=(@)I_UUZc+YO1eW@5`n>6m3uobZkP7~ZG@ZldZk zH_rsuYeLSe?n$V-pP{dN*?Bi|tY7e!&WLwoo_$vZMjl97j<9%*P$o8+zhGC7XZv@^ z<%|)I@(f(imv9DECd!T<%-78RfXI3b&En#0@4G(pMU*}OsL|lGjnls<$a3~fQATb zvN|{PZjSK?2m3|eJ|5|L!3;>*7~j5#`r$s)S2X`rgtmwLU0n83X_Dc}eDlg$nyll1 z(dKvrIabvs)~l6?-5c_~nZN0C=cqv8$r*0T;NCa3Gwlm!neJ&y2u6sh;w{E$lz>t|9GfRFc^{lB-7q5=jHBnUG$8L>v zvy9Yy+WZnTtp!s<(U30JjueZ+eZo+np}S3~f;(@G?_>b`l?<0MmxEXa#|S2*gQo<5 zBcx&dmmuMbC12W-w< z{oZMW6ZE}0-2ppz5%#);*anpcodn+e4=CMk3z`u>b=&-+i7Ob@x;n9Eb3}{{$>M-u zd*)MDtf%DCw5^Ne&P7Cxu=It-^V8BsONyyuRF7T;bUVfQj3Oi0R6D9q-`xWBULOenvxMR=jWsY;!#tZGJr;3PShB7wxQ(r>o=f_;g-tCGv&MTUhaec7t zx+%8pZz|H>qif(NEhKL4Q0?Crk8*_#*uAkf%w+c5x;qPXABARUY~<=BL}$Z6mM|ex z=w2iX0BfSGzYvN)=_aWYe;r*T8$6?+oCTr|blfhUS?-#%RpIXrwoF;dV(?Grf*xCL z=H9^yy1&7wD}Auc)kdYga^B?Q9_Gr=ZE2V3laaZuve+V&#+e z5@4?C`4PjV8qa&eo8P=Iu!&vOzsDqBN9cV8>IAMp-@F<}&x>X$9M#F~9hEF4+Poi0 z0K@v^7Jz};kf`3wJMKg-W)5CBVr46mSapR zl{aDwI2%&Hwna7!ToUtMM>LUcM>WwtM8Kkf2}Fkc8%TitQ}Z1@l?iw2w2{c{?GSU1 zRiXLQ#W5*=-?!k-ZP0fs;R>ETj0!{v*V9w+Ub4f_@X=Z`m;t?EecF|}L< z<3&@#Vs|X*i-vY}dhGnLSN$r*R1)o>HmyLyvOtQWNTQT0e^#GO^Y|{C$;_-198r@< z^p#qq(DcfK6m;sEbBM9b@#$*)kzGj$g`IY!yXNK>4DNzbeI z$Y(>3@0OZA{~=C8`2p&BMr@?Ve;>8*Ce#l-vAbZxTiXIyB6WdCLToM;q0HRG=5EUh zJ)SlWTWeARci@%rVuU6^(u(}zVCu|P#^|12hd1Tns9dgYY}Dyxm;7}JyHk$bEEqX} zo$KENeinR}S~B)6lOeSJC`0_Ek`jrzea<9_o#L|W=nNTn5=1IKK_=9Goiz<%v~Qah z*Dh((M|Dpc>FN}{DLwchwebylgWn+MUM_T%Yf&$tqx%*ATqDcwQuC0eN4z8?i0Vj% z5b-rrAC=8Xh%J$`_Oo0%O@v~KZdNrx{QqVFOyqNfUFsCOf$k76;h4_O>$LOjV%{?x;=#|UaG&z$<%9FE;w}8 zG)iaGnVh9e+{Ssc6)hljx+4Ln;kWJb{9mlybamfbejI*XG)E}%{d=k6b#r;h0&k`h zW^X-ScHkLTu?m`~{>}v=&F|6uHjxMcfZ-zL$DMq#tLLxAuz025a2|{K;kjzGr~nQqHT+ zNkU-{3O)YbCQ1nF_wMzb&u)kFbuARBB^JV&zoF4{v{Xw?@?UpSSDYcR0E*9|A#TQ@ zDe0|14DXYt2T4@3zZ68m-(WCxCTa}^7KM0AU-*mY1?X8y`tpD3 zNsZ2-WUJIJJVtXzs&rt|qJ0hntSP%)R;Fb2K)TRLrj~r$-F15v3crc%{}|bs=fUzlHB3}CeWUJd z8>2x_#`|3aB>?}&uvEaIs@EGPzkk>baFBd=g~(i$%FcN)n^T4V#q)0(CDY*X;Lj{H z0r=^Cq`!+MU*>XcRrBzCa>~@9^B;Nehlqp`sa%#eqdjbA5S`Eb`EV$_c#Vc0jUbUq0v1pz{(UDXuF8 z?P8b8AJHUP3Hl3Lic#ybL8MFb&vj2lkBbA6ANB`{;kEU8u^X$LEmjIPT4>H87*hHw z&ydoYm+ijhH$F_{)uF7=ThASP==K`Yh_JXC_L|Sa*lY_IgCVHvZR&-Qxm!QIr5>(& z(q`I%vmrqebgoiNcAxi*D3ykOk$vT%K4?o#MhJehH<~<-|3eKoql%VM;NCrrWKgUfOdw7#NCPx$0c9ORH6pxek0@hA6IAJ^6rT$_ zlY!AK4z3pvI&6$poKVk3F}chs3Q#5q;B zJH~|njZO~AfD5iSFG*dLPJ9UMhJllr{G%1QlO|Vy!@hfYm$}Z-;e_v+pmw7QmlrA$ zfyeb+*tOHsZ=Vx-M^ZDdi0lm}0U2SRF5F=xL3QXbEI?6`ETlk{5W#g667XX#oiEKL zLD%x)82O-XV3Y`YKeU<@!R5rMhGy7?6PclGp(MeQ&+qj!cJ#?VY?PjH!-2&BApY5A zM~*d-hYNm}kGcx~3mrr7)=VJX3xo&;{PWxKmNHTjbY;|n^bgKhnV&_loa~7x)%1~F zk!o`41G%A$Qgk%;;{N?EkxPkihXDgxt(5LvK(0L!RCH+Q9^_#)L^c>zVrUgP1u~5U zA(`XWHeeK7K8VnN&6r;%_z)=IC!jAV1LXwK?8J<1;87Q8jeKnzn;Vt%{f4RY}hJ43R| zsXq+nOg|!WL`#>nppI~W?$jx=EHN(wIW5dFSmhro@u^43X-woyEsrQ2{Ik)FBl`ms zA7&B?ING}ge(EGuDp*CBq;L+z@(ChWr;_PpZHbyDFu6TK4!3B8x5GeDP9RKP=siE-!jay57(DQFWCJeCw=0Wn~c zRq592etZ7M4Fk?BMkA*zu}LAvB{%;%)&6rIO9dvbuXVg1t*6v^QY+ZG-BCLLDTgv3 zTL}-JW0M!|`s_flr?5wUzg()(Q-1@1JQ8vl99%*Ov6 z^a6j7SkI657ZRh0xD)P#==npxY%Pof&V)VABg&g{A4>W zTGVgM7QN3Rj3M1kX4Bq~4!JsuVcz~C(W(r?jnEJ-(i_Y+WBl(>s^f%kmxcJ&Rj;w>ZmRx~EGYd8^ArvW{|Y;8!df;l+@G zVV+ceNweRJMu+p!uVMC%*C|mEimo;jyORwca3qEPCpG(ufZ5@+rYmFSd4bm}U*A^@ zn2{u!uHr1l`Px%nt+W@$O3X*(iX|9{XYdS_1GTnextR9Q2A2yV49C;mzofM>hg+HY zGhL6EsZBd;CYQg5(;Hg_=5Up;&`BvUYuFxK9@1~9{e0~(YX9V%^yf5FXy$bZWrnEzW231AIhMyAXoWs2CSrVYQ|Lr`7(Dm1Md zM85c^dFNrvimMs$BBl35yH|{8=U7s+LUN{(`9EcnK_9gFESm-t!3LVeuRppg=yd~; z?ByC1Mw?_s8xU%-%>Z-In-1svKm770{~c<2YFXMEVvS@CD|~wus6p%FcGX?eQRk~0 zKndG;N`+P?@9H3wER=$>PUt<+@e{ma`%aG&VwTW*;FLtuV~;msKlC~?*k0pkS+=#$ zMV{3A)hPOxP!c^=iWz#ZjC8H%gUd)?VJ$Co%vNS#w$+t(YC%hx(&ef8y|QxM%@;rP z?I22Ls4o~Of^xJMe+dU8a&!?~%|0nWJzKEc!!~cTprEtBQTNX5vOaMT{Z`4TMt680 z$6I{Szka{qvbh!+SdBz6yyd#o*Hy~X>embmi5VO0(gl1H^Bh@FT0MoMhv^8RMN_!@ z6+&sGVi-78uII5Ch-#b@`Olq7b%7cB;XpZK@Mc$Z{>Bx<7OFs-fSNYWJWaE*leJv0 z+>7`aQ{IkR&IhXv<#?1~pEGBA3*#UZ&&K{Mt)^psqf>cCBbpV+6q#<#Cq-uIPe%QJZS2LM=XElgX;#6!vvfa=N$fs0Q0txM z+P~;nrHh*DA9eYjFI`lpac?CJEe}z{ztK@8pfQ>54M5lS($R7_ve{9?&l8i(>kzf} zqv=xK9Pljyh3@O5Y;LPq;#K@GQT^cuqs{&{x7?iym%JUD@t4dP_H9$rE8(<}U${nx zv6Zn?lCv#=lyxc71G7JLW7M?GK6gvX1fZ0QX!*M=%P)pJcLrRRw$qzWm<;HHs&i_p z@0L)X5PaT%1~Pq)o!*;P8yZH$^;|KnyUX@|R@lD{x@CFwKh{Rgbqi}q#I#_L5Bj>I zroX??-)gKhir$y+Is<_XE?9i~)rmrOh{61^dfakt0*teLy`Itd3ktIJ5$?VVO|l=e z71q}OoF07h7MAucl&ISW@nP1?3!V&3wpsujBW`TR+E>RQpKC8P*$Z}?Esx7ks6#`x z!*Ao}5le*6eC^+@{(Lmv`9b~9iH0IEmrj2T)-X9hesn`?gYExzFo&on8X`?g!)oG> zIo;2%Ohsz(I9aYSuVxRf0?9}R!{^aGyWV3FlK(yBp1VcHYM%o(Dn9xvQA^h;CoBIC!5oNcB!R-7%;#=Kr zX=Wnm`KkAl)A~{sxXa8Z;HtTE4zOCp3a;u=moPEJ=XfA4(oR16D~I*@*zQpw6Jp7j zAlhFy*fuBS4d{GhgAC11i5!?s5Y>GsE}<9C1x>#zUf6!_9kFv{zEb!$3w*D*@hPFL zsA9w#$=9{jA;14|&M1T%7l+ZphZKR%|NiB2dl#s#Gaf&pskE&yzw;jfN46tZ50p_P zNu?k-7pcieoYh^4mb(z3>A|oV_tTo#+bSsk0k0d%;%(GeFFDNBjThNodNb2KeTEJy zs7>5A^~xm`NC=GC4lEj%hq1A%K=y%H;n1_B`?hGER8-JV^+41<|7DsZ3Ge!zZmUQG zNGurms>87X^jBj6#>e=vhfeM(_^qm(xp?}3BffWqnQ*nf-82t;zM$JdKCnw#x38=#U49;NF!{$!k4)od?o8?^Hu0~ zH{Pv(sXs4PCAU2=q`V1%ciV~)+bl4>=DN%d2p509O2OEmPdVg`3vjMN`}#nNLO8$A zb>Uq#`4=e!r}nIn2Er`4Loh=Rn=ngfP)-nl8fUw|!P~(g6C#X$V72Zx`|qOJkFEmc ztifJbxdXd(ZFxJ6c*H1<=zy%9NtLR<`zj68=Z>~T;fV-oob4=qJd9Kzeb1-XDh_u5 z3POtsZO->yj#o$8kJ-qiJ@y_cO)Q(-WyB5CIC*f}dPZSham|e<(SXm;Exm(XXgk~j zzkwJGAsb?forN6rfC3}2x+s4Bbuq8bcn-+9Be0oa(SWv30$80!C5rlJF1?I3AVCX|L9T#)Hq6>^d+ zz#6FTZK!yL#YVbKKr*v{?*zgaItJ+a==zwqQ1VYC+c zfAuE(_|1JDpVyKXO2&y{;ZWss#FN_${3CPaozi-s(aUl4W5gdcR`|Pcfp8O=&?Q9b zm#A^K+|az>WNA8F{>jET!)--NHs(9g7od@LTuZf3 zw=dKXP9Y9Nw%aq>fwyZLY<_T@%f(Z}Nh|?KIa00@$>Jinb=={Sum!p^!XcO_^sas| zs?6BmhVTKxk4xMWR`WVV6)p43uMOc7>eA85wp`Owa+h0M#~Ana-`vM8HKfuJLu6pV733OMpEnu;%_s%kV*rL_*?y^{ZLr<&Y zSNgB+W)VFHQ#IUM2E!QeWoyxxVib4cfqBg%TvC)-V$dCfF~zph3Nj zw;ZY_M`716vqUi8XFAQN5o}s8wZ--E11=ZqS=rE6isi28wU5)3-dCUZnn zcN)v4jyLdYGgt$C<2Ifhgq5r7ynJ#x{XGgZIQ={dtz6Mw9{+mz%XTY%md$%kY;432 z6YWw$T0!&&^R)|qPV)bOFLU~3Z#Sq&lXq!}M~$W6#Am8B?nP&_eD>ob_pD!T{hO4S zgup(kS0jh!+fONv#x7rr`n3f;5&PGZer2=Qld69@BG2pNPb;^ywSk^&CHuTu+%}2) zrh?MXi#d}@nN+g>ai)nJT^IZ8m2j}(4?}+!o9JCu3Htg0)c>awg00gwK!o5F*Ft(w zN|pFc4re6HB(j2bzDZn4TU#>ti=wjf340DNofU!(wXobS29iH-#4YrCnj7TAb_gjW zMZtoi*ZK1RyOJr&pQaM(_=I3Fz)1pfvq0d%@m8caq@nE+EO#q*#`qxOe558sM1IwwR34kYYDFTe1r9t?>t zl~82P9xS;V@$?1g|6V|cc_RFA%zC=%clkLa<98FW^KIQ}@VK(+8uY!;a1*TXJ%O4) z{)5zapMj-Gl$!foz5?G4@s|6|r6A?Ba|V(i%zE8*f4~;#Ie913N(R4s)qnA61p6XA6phVcRl2mkXZ$oR&Fl%Tl@i9!3abzZ` z2i}Y&_u6Xi!uV?LepyYEwF!Qg3Lk41VLgeh-$Grz=%~ynw1ML#CF3%wp~#j+m6zLT?bu|)++gIaPY9XwdcVs9k<%FP1M9W zdC-}VwS2s7ESMIVVli3(@Ex*Z$$6H404dX#(m#^WjjP{t%`(E=ZaCVxAph<})XuQ@ zcHV7yDB&Nj`PN)95cHwup~-pu*EnXrxj*0 zI%Ct-N@y?9$L@izC-X{Yf&BkBKqk0NO#4xRpZ|y{3*vpq{OZ(RulfoTC#6L93IBg6 zuZu(7`#5X=N;$P3b%opxA+bKQUz|!ns*kHitQEe$ch4kHDiCxe&5w=0@L!;w>yz1tVAB2gPWr;v;} zyHEcj7KpAAcnNJ_Kba0NU)bX zG0c%k8xTXIzzfrzC2Y;TZ6t}h7vrlbhSaD(!Vbp|t${8TW|gNW#P7yfqM70=ESP_v zcxDCTFQi6fq3vtp@e(h<+bl<#A@*ATEXl{G?`hvotUe}rrHkBF%iQPxisiWzTUf{( zUX{v@Y(wn5jT-3I`GH()rv4>X=83&8T4M|rb`pC8T7yvi1p5ae-MNEpSWchk@tk^x z2i;3tj{v?FmRK*ggi3(MEIvV)b&QaYZKRWv?_sG@S^e=%|L&0g`8gjQQ@n??5XrVI zdHg><5Ker+#&s`uG0v|b68}l;!ny2({flMUp13|dHc4nVwzH*7tLw+hJu|_FHtHqx zf>NiNZw&%tt#ZFEJ6Q3i$MgfGy{j>he zKMElNJdC#c8_`Pgjb@F5=z~%AeU8Zp&+vMq@%iv$-0pADf~&JzabW}(b%1kx6I2XR zxrvx5-gGKKZ|R(yNhxA?J1#eBGL_r%yJW;x5b9JCow6Xwu$kuKPWLL(O6 z4Wp6`QnC6FG9V$q$T33#Oh8BIEN+JtDHjD`)wlKx_p9cOfc*8ZON;9JL5%7qy`x$#%NZIFfGNnZrXy9 z>QJ(-noJhR5R}WNyG3`g4*$S4P`Hm2sevoD8L+jAWIHNErfCBKZy!D%D?*>z zduQraJn#4)5%*t1PcAe=PLucasp_ADPV;mi8PSl;P(#uq4GETV-+4VQ>mwXm^ow>nV= zA_?k8_yfoZli?Y3Wy=|TkdBMdZ+@F~jtDz;{Ai7@cAnlhzl``^cI)JK+9{p7FKjYY zlL4x;QgJDrc(lPiDiSldZm!WH^G1hWpeY<~2HA5ie<{KQ7ZhtZ1W>As)vzUt$SzewGlF~{!lPkfX*(+*M*X#R)w8N2P3*E#+` zeeQk2Wn8qp6}yb_20`;@?ME33C#9R?ck(CB=&5-X(|{cfm|ju&{Lp-;HHecsbc*jK5_}w0bF8I!*IAL} zUPcpk0}iPpB84c&yKemaM0^S+qhwx~d*dF{oDiC3UsgdG%#k|cNfS}IOZ(jT^!8wR z8}LY9(ZzW5O!g;~E;K6!mNA3F{7C`(Z`psMs3WZOwD=?Y#%6L6(*8vwm-OZK_Gf&d zTl1&zaR_u?EhJTuQW>a}@r13UkrIo)Pkj=&Jf=J09giYF-y{g`o9v}&6yYxy)D0N~ zxZQLd4Lc)>D}{^P$@ETd$sK%GW9vAjrpQRPvM@%*vy%Rb>tKVaeP=WK4D|Cpu!s#7 zE2Pih9<3xs%c~J~`TD&dATNa70@z!Q!7xFfn?Y4T>#e4)kz)O<&Hv7xsLZ)tGjqB2 ztpINcwEghLdBZuW4)o zQYVKsh0EnRvV{sULRPE({rENvdpb&7##-mg`J}er?87fq`N7Ee8zt!q;M?NllFIjZ zxW~tK0q9H;djh8|PtD(1Uh_!L>mLO>$IjkEpx)SHzAbGsynx=PSD56Ft;E6Rm&PJ* z$!Va?eGjSaGYFlODl~#O!sSku^SiMIk?2WJS}^J`tFYx-=s3MFN*j%`^KO?L#>iWTBou#fbAdMN|sEf04=W;VZX&2ToK@s z_rTAhY_n`ZI%XVQTxQP%NC}aKldajf^`B}uJqyK32Q7?|q{^2Tp<7>Z7|!_=h6US; z|1d#1Lddb^A1Qv^PE+JDsVd4oU*7udojR5B*iezG`+4R@nYmL1XT+P3vwsJ;4*jqQ@=?Q^^>iSF46)OA;p8AHdlrOs(-J7_BAK7;d z7)Kx&1iRllE0rg3;akp#o>I9%?!i0!Q-|0aUrUepln^#AZG?0s(a*Lx)t%<;Em?H$ zT{wjpGh>|Cdv-C+KFEVL!&VuLV-dDZLxx{zWq$i{{w^sQJAX>Lh0%h630Vp)8bOSp zz(8UlHR2&ji2<>oe64duQGns$NXDwY8-v#V9xf_)DzH-v2ktcrVO$DR!$fLUMEpi( zGa77R))d+kd*A{wtw|}Si*@J%8PAjPbqKP6mvlt9u6R}W^{P==)1@)*pYh<}f>5fn z(Z!ij@L)TLSYS0bpdSob9&9SHJC=#V#efsb6j7m}9--Q`kp;M%V7j=Y8?s{41~s;? za!qB91-b22cU`^Wo>oNlw5Asf&5XHy9&oo3#7!#`bbVC}o!?j`Z)%Evzj*Pd@uZBg ze`=U-?Erm!?)}i9yYo+{FKm{1f(sjwb7pKu{-6}iOs}<&u5-kS-sf-QMeMr@Z4^Gt zgV(4sB08STsCpwLcfPZssOmee1ERno6riR7H+Q#H4SEXUSEg(gpw+e_bqZN-Bl#LY zH^&cCcGZg5^m)o;cBuGsUeZ&j&0p zq;USUxB0=`rT#fn9_4&hWyuQHyL$hReNDb#F?QvK-jf&>&Nzo@K*aC^wl98sxPSkT zxFReCP-F2|y?YmQ(fw?B)v3K3J6SJ+r^`NNw1sT;f#gTN{w~MZ7Z7$S@*AdpP$SdyQDoE1w`L_>WEv-M6TUTGHum>w`!N&}|2;mK9%8CkbGChry+!1laE>qy35Dv$^}*q!_?=B_1X4h%WDR4FmJ?w6 z2TUIwS`1#!f{HW%WbgSgH+&_9j!Zv>{~1^7jOUQxu$JffVR1e423gU?oaic!qinq6 zG9))eV&F@<#2H%{&(Y((uK;g<_}nA8Ami`W0}bAWThW`#3MiW&^x=5HaQUt+mze9K z6X2IK{c<>Xn~;Z}X~8l?9|;ucY#VIE;mFPgak(?54Cttr`QEigu%q1Lym4xR(KAX1 z&q*%@^mV0JEjk{E)M;Jd;+xJIRFPuq#75Z6{s8>C=pwUU47Q4w=zu>rs_Q>~>OZEU1Dw~U zpv^6u2hV#YS>Fd;OTJ0glX<;|k-WGQ4w5armd1a1{-)H2x`{~h&kMgx{}_DtcYIo0 z*N?ykVSKs;yDry)GbJHq1Q!|I{N5IWm-+ObLY@Ll zydkEX)$k#^jcMt^gotDe_M1Z9MW+muwm*xrCRrAgSb;?gBln!7N;>A^~_2(d;s-QHc ze=@%PFyJ`UTUFl&U0$%Q6`izTTFAoGV#9uI-5xCl;vH#v-Irey`eT0sZ8KRW z;Q@$xNA9I3pP;k5fqC9lkPJM>Kq0YK(ih9!i`^%Vc4O+u-ZGzXG4Zn8tRDjs%p?gc z_YI(3-z*KBw{tVg{--2B!<#&H?ZQ!A-qGSK)TP8o(9%!1Xg-X7%L<x)+0!!A{dDv{C zlWvaKUp}SWj69smav^`MgqP=PGXfd&SE5=}t&;)=4!PRQFw~|e-se}b-;<0>say56 zoE~7Mm3oAljc)=Dx?2IoFIL=&AG*7&pj_bgAW z!Nh4<*~|{!!H8{*&s|t$Q6@F4G!YhjiQrp}_X%s-0D##bXGFMuREhHvs}wL0VY0vB zzY86FZ+}1)JVyO0DaCXo=j3&P7hv7u4i(D(8K;8-nQ0p^6J6DX^Mw&cE)aRXfoRaTj4MiE!EA zr*E+)U~kjZ(N%ns>ZQz}l%NcUKT6OpC`H7s8$Zt3ch`W`6v9~Wa7Ks6Xm&6Y5lb7( zYBn~)9P-DKX@(YD_;EXMP3i31>lS1hzx{_iD32zKqt>+~gKI93@ZEeW;t$lJ;o;md z!B!$M9@)CN;0y>~a7KrodG+Cl82~xCDElQS?&LppU)jNK%ntu$lapqTmd{&I(ie5) z$V9_%N`@pU{j|L{-h)YSRn-Bbz2@IVaCLoTS-0?eW5bv(%p|T~nsnAN2Jj2uK@WjZ z89}MM?=0n$IK5J`YzWMtV~^ZNH}2_QYYt$BNg{F$z$aZ1hQH9cvw`HxkaLI$#%BY9zZ%*R!0>)ll6OTvmzWq~(46>}ZtMb+0B|Sl4f#Bu zExdmbnyyxn{@)-RtO@XEm;iARDdmJv44qN4(@)qg|9%HVK!^|;dmm?URL~7vjaFz0 zPD1a-5b#e@^0;#fyt_!;;OSZdrV1S z&jmM-^8)MWERJ1@@)fFf?F~94nv;1L*CafdDAoy~d!SUbEtW{)+jRdX1EjecjANL8)oE!IrbFDvbT}VPq7t z3ssvtQSPycg2Iz&a7M{;DJyEwKYqH@l&ej`J*{QO2HPnC#2Zza&C*ZgP#i-i#X#ytebd&MM5v5bo}VArfU;fgVJCMhDkO#B=6v!F)k%GCsPsGVBEhkhV7ja&9Z5B)%R z%0xW))bq6uC9co}gJXi2^48<=M|Nzm<`5kkQt_n{P2vPxnloC7;BwOjS@376keOjY zdyxiW95(KL;p|g5e7S-eMVjmcR-{g{wPiLmZ4DU9Sz?zKAvRxENy$+k1x-sf?8V{vS7Ru4TpoHzm7g+Y7=z z(P%c5>qFH1I8n&eCzWTGj*%@I+~=(*MHNd`h^0^*5%@z2O^)@C@=uOgvtoor4R`}l zlxpK8$JYB)0<0|Z{JiEBi!&rHTLu?wqb&1-4N5dCoaOaPhs}@foczpz-|?FFbyA*h z9lt3D>b<>I$C@!s#$M=*cL!cx$CfAr3bO~5r;KBG{*)piOxOAG1EnM7fF0BEh?~h) zJ{aoeVs2M1*id}yB`@Jp#6FOg<_QoGz9Y>92`E=Bu0+@O6A2oh8+ARW(pNAx9gl`+ zOE1syD^xo*;krO3E7`-0BA4TFlQHl@3GmHs-WFSbI9c*=*Y&V@4rEcV)oUV~R#((O zKz^2~|CO#>Wv~2>IqLmPs7mfo953{>j8)UM1C@NO!Ye)^9 zHb^4w(*~hx1SMQ)9#3Ju>_y)b!|js%+>~=QY<2IjOa4axQi_@i21iZ-J6WKa}?X^Vo&3xad}R1w?5NI1+H+I9kEhtdh%{XGNJ(9Iy=R#jke#Xb*(X5=2Ka{val3xI5A41h(qKoDJXa+Z$32L z?9+TqJ!{`@@!Uk7&i~?On75z@CDlrBziIpuJH&>jMRe*VXEY#4z%0s+{NX>@G`4L; zcE%>%ejYFqTH>k#$MXqs0gn3PFSU z!RxZ&bfC7_n$_5elj%v>RDymu+YG<}H!%Ae3gT!*bO_v>$HGIidRUossYlynzTls+ zVmu+W46`qe9INMs5@Gy$@60A4P=e|bEY99*+kr^a#osG?_e%zwJ{!KW579Q&62+qU zL$0_IooVoIEJb^upMmY1Ez>5SJD;%f>kTHQb^Jdb0X_c^Dj*WGgE089J&4xytzcRD zN9a8(0v0WRwBUf*zbSC^AdqXiw`Xmy{FoAF)DR)*@IcHC=LH@7xXx)=WJ-;RbUcJO z<)GP5*ZO%qo-Q)<3-R}lEC0rSB1KJ&R_)-?3bk5OiklNoywPWS#vx9QH~CmB501#= zQs0_`iUYDo$t3DbOj`2ksn?2(aIC^8QUP<{N+N7#(WHZH(lh45GfJtHA5|K^ zfUs|0nC@m-2gk&4;m9Lu55piWB!zM(7Y1^MOc`$7P>X`0$F)AfrDP|OU;_;fi$r#~ zI1u;$+N1*qG$gM&4>|jKWE_F>*M>wllfVB!~%K=h!^Ns(aP4S)5%20M~b9;Tj`DczZO$3GrKq8 z9Hns=25{T{R_=QAv~xB>_Zj#owS4V$wn`Xth6;j)uFe@9+Q8-t2?j_;&K2(d!qDRp z91cefr2Yu#*TJ_DLaY4wb>~vr3^;efDq1`EZJR#FZb|ixkaHS66ikQEZiok$%}8NV zG^joVa;oIj>C67$#etk5iQMGx4~ft47)bY^Vi{&rVVw~ctQ0W%ruGo7chuYf#L+S~ z-yV-3>PYE5%qVKoV1yQmXP;$Rh}?w$t$~O$JTZeKBQQ-AaowxtW~8;_PFL6>?92gc1yt*o{4i%7&-QyglIc zLy(C=TL;&04g`4b)jxOJvdHshv=ikq%{ji^goOVVAmDsO-7WjOk{4S6vPNGc{H{%_ z@cjki^7bt*H38#^2uxzv+*vrD5-fwk59;e#IwRjgcTamuGbp>ZFCf3gzM9E(^Yc)l zczn!DLCne}g8yc81hk}&=<07~0@Nl!L9^clwoLSXfvW=u1_u|-lCGe0#Bx%^Dbljs zyH}&uTL4m2!Cy70eni#I5AH+1DdEWvhMgAjnwF{)I7qO^B|A9|)?tneJqMNiDaYiW zJ$Y>1x~@M&X|T2q!oUZagoq-Gh}1_eo~GpPa1;2P*#j zn4fkxvW`t0>zblkNEzV~N4cSjFE33-jOh3$4&y0VJR|a9ZGjn&>xw5LG9DPeT0qM2 zVud3=6gDEWZx#kDh&1#*ST4nQzMIjwo0bMn-t;Nk-#hC`72@Pia>uf_L1d2?}EhK?^i)2Y_|B&tOY` zF6s;Abv|7#F;(JedVb{D(?#S=M<}FPs^*bHy8xnl8rc1jD47_cWyd4vy;)FW7fMfQ z6?zh_rtZTkc^^qKY@4FWww*{AXJbw;fA|)(0Mx+$nEbIYKU$gD;W4XNr&T#}pW)ZO1k-h*EKUK$6oaZF zUe^M$b?!q1y8BcUr0`HLu@+g^;3F{E$M2(b4Gt~XxyN)0!TE^ZGaMFdePQwCql*WN z32jgEloxBS9WwO4!uH+92A-I$r~j1pxVGHp1L|Y?aq-~9btS>Hpv(q_t~(b}8kjG$ z&Z0(=4lcs-n1~?pB_aetT-~-gwjEP2Ug&xCof~z5y{1oc`H5ZLe|%hWG<|XuQSe|| zK+NGiVtx=zh^UEb3`Y2&Qtv~5)jt!B%4d%WDkUhOq}@*5?YI!kyVajtvC*cC;T+Lh zB1ov`HY^7ov0Q9uo*125cA)`h1v&U~4HWXNQV&S&!V2_Qnyb=#`QN?Ei8JtG_^byb z=I@79G{RPb?pHP~U%ew0xOD^B{Pk{FSb`?d#I{i(gIF$->R_>E%2L|AW!SC9!{0{^ zS!Fe0iQ@Z*{9630cyXk&&1Vf?DvD1LGkPW!Q1PC=D4Pj0Pa4HLKuUK?Kmj@uW3e0) z$4{I^Vqyw*fR{zmfK3ZoTopnp#HvYE!X^=DxQse!C>J}z9!t)t0qKc|VHu>^q7BOJ z=~E{c0HnD!z;@%kl%a(S#v7l;XioqLjngp)(}W2U;lfU*UDHZtNV`SEPFxN zvIoum`_#@CY3C#SKeqV=iLU5kc_D|=KVi6NcI_8KdA%$DQY$Bf*vpfC!|U(31#U7iMXmw6#8Dn{Z9GmaXN^s}%&eL(osmV;h?0sqw< zV2ox`7zmP6;q*B%v{O2z;EJSlw0!D#rTH14rM1%P5YnPhc73uCE%D~0d4U$4^h1Db zy`7CLBuND;!5OtT$-=BbWE9qm7m=u}c6$IttB%QCPmw8oo=8TEElnh~OwrJ4vtqn$2gs2w0*M<&g%{lL{KHLmo4Ddx;7Orio zGO+44u}|l5BQ|!@?Ou^S(XIxXFz(t>58Q5pa?k#X@Q4#oh&aGdXLb7D|2~UE;iOeq zyzE8SkdT=N*A1ewu)^g?mDurZ2O=pu|Gnr%3jV#T*;@v-_cOA>$xE~vAprNIW1OS{ z`Fm?R5M(3T?| zh7>k}br|xf2r#}U+SRzZ6Cistq6MXve6IJNE)<=A81|2*z+>i&QEZ>bq&v*Y+y*_K zkL8CNvrKi~=)|6(clKtHao(|hj90(_xBbYu%4|)^bk8VMI_916jYPgLLg(VckB{wR zbyexO*PF>UY-Xa}%WjYVrb#f_0|!)&b$iJ#GyRDM{>w2{+Kj{5fC&u%j=@f5hrr*+ zDs1l^#L=t}DhRpXw6JrV)`-WYp5P-WO^8I+vTpx$NT`Eavv#ABDln2fYevEODOB(= zocWmw!t_SRC7VIy%R?Jr^^G2}&HD zQDEE9kp=bwWBr`&dMAzQO~x_o)|=!uKoag8bZ@fW0@Cn5;Hma*yLk=P+!Pm9x{}wI zkr?TX>X*+&gX2H>yi*Mpr7_q3suD0P3%XZpxhTs}vllz#W;m8OtScw>J!nNJ6z?~C zg={5t9*&)yCBF;oh;=6~7;Q{im-H7HbVlr0z`H{;g44lL>Dtf(6L+SX1Oe6pg0ndB z5pBDwvYZIq&?%?S?|*MyIKId;DfaJ7Q`9ubu1h?s=&RJJ_nwU*=D`G7an^F1acoO= zfUd9~Z(308ix{*=h`NT!M^ke;B9E1`U!%So@buY0ipw((EAI_7aeT0>KSIqp95*je z521hJNJV0B6Nl+WMh&F{ok7vSR+AE{N(me=IFJ^WR^-P}-t!+&fmSX+necyy2(6JV zmVv33%*O}aPZ3vCmR;K5_p~Lav?mUXQ|^7Z#=aJk#+W2*^)PrD|7G}h9h#FLhlHj< z6?Oxc6ucA0xunDMz@Crj2gtJ`%&YsB(4lBAHssD%I4ND+Zat`*z^J{vmr+;oJ2%-r z)Rj5PT}0!1rB(_uB=D08PCZyWOdYtr-$0(2ar0X*b;~Amxc8<*+0^BT!jsL|7VUX9 zM@~l)kvQVGRsOcE_SQxc&`e$aa5QTOpnD|y1{7?aY1uu8`;ZC1JqM{%S7b(;h`le8 zcG~_Uz71Bivj@o?!X|je^>u4Ge6i<}&u3r}vUrBo(r-^HBAY@+BO|oQTLB}=b7pN? zoU(g$ry>5qj5@?>X@}e>3&En~&o)7YVW{-7X45D738|eDMna^VfsMT5WlMn>;6{B_ zu-DQ)USEV_=x*~0w{s2~0)gqxJNx%M1}=sz z2bTNV14?>Q#x-rw*_Jgg_mlbgE95A5LYWd>$-_q48J^YN*Ompq5MxP)pKP=Sh}h)h z%xFYX#Rl81HkVWKFMk5n4M}bw=;jLWEK8*lIZsU?DOEbP$%=Y*;dM*`cix+e5Gl3U zXes0RzhJhb?PArzOBis=$^NXQ@h_7lIEdxr%HxUYEuO4^a_m z3Dl>emBQl1x%`vT)3xwj7I52rjf!Z|S#iTh#+SbY!`@dXZ{vL^$wGS|-M_^DDt9m$ zGZz#!SuzA)XQCKBl5L_N>kmp(_JlFVTtPG1U1~md2(qjHP$#>HoA`Msxo_@FdXS~d zj|urXcil8o(N}dO?gsW-I4$6xUwX$bC{BNE7V(R0%kGK!Bq-`LYQAh0cfRfO%&bk| z>JmwR+Dn1m?T-x^EQ2T+B{gF_5%JrrE~xh)Zjfp{jM+Cu+e-SyPin7U3tb0Qo-goeGp_BQlc3&F~Go!%Z4-C6dx6Z6WUQZ z4Ay=5<*c887lZ51v@#bB>4U<%@WokmWBt=AO10gp8Eu%5yHP#+yeKteej;k8)ACh6 z4v&rnGv?M1Z6TaO%LoCQYS!lW6!t6j6yED6vgZw8z@|%4r*ZS;J$J0pRt$!dN8A=? zA9*=*fCP+QsFjYFw2u9+Sx^nVzuzCj+G+x`0^#D4+af>1?m&1jt*9tHv8@KcD*wh-{2Vpe^>6{ z*Njz2SSR|1jzwh6-2^A{bs(pzYo_Xbw1vG#z>1|&E6O89Pv<19hp&xs)r%LS>FLXk zUh&O^f~s%k(&{PG@zlWT?)3uM7S!cIE)}%OHOL;REc-7$Yq~{q8_IqjrvW+ge&bMn zBE*z@iuoOue#wZ#6MJsUW>7JlkUB=++5?LD0@On7>U|dAWrfpkj;^S*A<>4$5>?Tv zrqm6XR_;Eh4Bnv9SZMC2Trt%B5}VvcXRd&0xfr!fL{x_!SF^;v7{tN8;4-i#Uk*Tf zs@4<=D90)D_h02(6e?@)B25J`V7W4O*k7{sY5h(;Hcg~&GFT{{mB2L8HrV5qmk9`@ zbaFGMT6O{+_}u00tm>F!XyHBJ==-9N>R|I;&ak~dl?#}HQSss^r|L7syX2(#>6bEt z@nYRa$&<5WIzR#QS%Rbvq#?WsAe8-jh(s{KYtTgirnbEQJ#CddzCI*%Tkq zvuu5Wo!fT8`wn0kc_CcdrTDg&TNI%3>AoIoFJz}DSh9u3`_Or!k9*V{=JsVur86p8g;E6^D@4``HhAa zF`ZA8;zWN;SQPimTS>R4S9@LflOd14z#E4mhnFNqi+I|4r{wjF=f)^%Bu8^#j%1)m zaWm~idHqgv-vp#)omXN6fpmhfgWx+Hq@%(+?)??^|z5b^P< zHzAD!cz^EVc~whM!5dyNqYuV2`X5Y9J?Z*=)+6WNF6M)3gDsO}2;5+|cxRB@!Vg8S zu%u#XylguCEH}%iL5p!s0jpQnPJ~)-Q9dSC+k!bZL0#kO_FeC&jvD^1^1r;0gDh!R z@9p8laSW@Fom>v=uePj%&v}E#@(?K^PD|PU*Ack5diMd0Zmzd+(ak=9WMcGN;D&i| z1Ls$PU8sj5CCUl3Ez^mL63DhTB=bk@-oO|!?;3s`XS~9Jjdg@Sm)GXTa1}KY8rBaX z#V`Segk2s~l9S*HcN9x?Y8pw(V7j4RddvtGM685+l2AJ7;5?e@nhqW_8Iu2F{Nrpm zb&!D&76ZGK!>y7G4wQ&E{Q(!S!zmuo4MmBG7L&sZbB5;Lu5rsBv(=Ug^z*n&2{E;T zFGjAIRX;^z&WOnNlG=y%-mJ`JmxQroL446TC<|hRhDI-+=(t-OH`3Y96j*ch^o1M> zyxMR)?5sH&t+}{KT}0BxLU=J>rVo&BG8hS6{CH6fesd(SVp5(1qGRv>H)9}+4HCGE zT|)#Zl>al4JSqL%2@E2p7H8<_D~mY-*b1$g(*37LlU%Wy@?qw1N)0XEPxg#<>ikt1 zsiLPxZ`gA?tSC8K<&%L;xspJ4$210c)G18?3~mcWS5eSaMQDJs7ydT{}cfh?MX3?lSVVkg27A^S1*Mf@QDc8?e7Y`$ev)`qgHgmK z3!xU*KQWM#oi^Ek%j*iqAE4XewdexQ+#@pdn|)qXZ88u>NiU)uysxv5*AQ_~*bR{Zsc-Q^-#;~>FAIIEDT-4??4>Fvqttf5*OMuigpyn(%O9^wG8pTkLGMRD++BG z1E@@|bgxVZ9qMk-`iI>J3}-wdZTHzh@_AWsT;|MAMmtkgj@-zf8h~b&?-{Fqc2A5< zYTL37G{-)!_i~SkcKjg6#SJ~!&%a+sjup(tR!5$51$w$#B?Y`cZqyFpFMT}$T5aB) z;2rj|&tU9D?|`Shhoj4yYx$lXks;4O>DAwtzLNr_U$@`Wg86%cUj1V>*d+kB@0XX? zj|sbLronBW&l^b0pF3TCn#*55Hs4yFbb#wGcU!sXzA-?$1W-{wetwQm>GWPUZU^Au z{XFdS-~ilvT9(W*!xjMU)9Y`yF@Hl?3X93us&wQBfUy8y?xk~`Gs#sdG6{%_ ztf!*L;agpwpO?J&Sp4pj0Q0W*mu(JaO~E6J+N~ZRqr$>Rqa3L7mV3Vsj?z|1Y=#>6 z#+w1jnFnUaj7?LOATr1c6tu024mgfCWKz+~gpkuBb5idpZvmfWNLN`qhy z(pJ~z-)IG|ApCK?s*$N$CINB82Pgp~1HBIb(PW*N39ioBcBe z)#$A5ytyqasC+rm8OY%p1R)3eG|@jyd)V!NY~yuA~ksf*}BFmW|zp zT3SuhmAe}27HZmy(%Zhz=vpe?JvH8p?eU*ah0{ktG5nt^5#Ua;7lkW7=OPK?E(-Qm zTrv&JSNw3wIS@<{_XA?rmDSr4*EL6~pl$oB7OdOf9o9k3afYe1B%*10uH#TQ*`!fL zoR(#}0DM>nVuX~BJ+1F{Q`MS7j^l4ZxoWC!;ONq*bfqF5;rCZjxeW94fynhWD8oq6 zlXj`GY{QGd#+uOw0b7sTy9At30c`$L^q_{_AXtaBUi_}NS>mk|#NP}_OAA!rZi03o zZHNy~6%ITyBOagN*f#28pO?N{AhY6j+m`#*XMoYQA8y4LzOoblP@Bj$ua5cI*5k({ z06mh?LT;cKo=GqVSJg-@^zbyexZu7A^QK5n! zw&!)b3h(qb&FTGiACdfj_Vu#2Ph{p)*GZT=6Q2bIeB`IMeE8nY?!NZJV)X=kxda;; zM9xPpz|QX10d9KJ+v~5V(IXfAr-0)Yvt#U5<~dvxG-fF@9dDjb=FU6qH*;!OI}G>`o%q7;HpIeu@N6kpYiLmqKNm z>fV}f=PqD&YK0OYK()g-dn?XBEZK?ceB#9Hkem~}@wre{jq#Bnhd}9p+$OjiQuLZN zvp^$PrOspz7Q7+7KjsN5>Me<5NCv7IE+XPyJ%3!imyjg~RrDz5$WBCUp|f>h^tlmr zrRh8dd5i0r7hpTw4vA$>AkoZP}=5 zYFb_}tIOvZ$sGH#FUFr^qrX(`;X6;{TmW4qdpk{2(~<6#`kab7vshEDbsarGFloPC`s`~ zThFm@2dbCT+aa6B^X(oOE>jO@XAN5cl}@hQOVGHRks_q`k{aT?@eb ze(DKV-$ydpm$XHw>)rQpAvq!I=5G1=`uRGL%I}J>2xgI68R=>HBsKJQ5I1m!f4&`Z z8l2C}$g{{xYblBAQK%3dZhoe1hWq$>-QJ!b|FpRC`5USbqdYF1} z|Ko}hWHv#LX-TzONFy32Z7DO%#&CBTu^Qv|@}MD2$r@Y{wAzwBYoorU=;K6G+`rRw z0e5AS`^t90rv!!E$sCK1ZsCjOzTwfQAP!F~9KQwSr8;4<0QKZAcIVo@$OYcUD15IjPK15Sj%U-^nEL$=v-R^b z%DZ;IIOlbeyK=CwGzzyQ=L`#ELyy_&x!s*L zPf{~|W1d!*&bxAr;+KOVoBUNSPWPh6Ihj#L+9}P;F7B(ra)$v=-uvMX#t(%n^qeS- z&O2r4p?8@ZX+5X&SgP7)86|o3EW|$$bS-Wel~IOp=xOW&(oxKv?dtZ^DO2`&@fi1+ zrHfc{cJ;C%w(`P|Q@vu0yn*-kJq_}E_4qBZM)n5%StDb|{cY7v@QD?cf`F4opb&;PkX`7gh*@xy7;swLcMSFR zLhv+Ug&A$6mS;ufOC9w$+7_SWuc>iR_^?UfY{=)Nfr=Lnd7f&>eGqOq#3UQD$@a~B z+Kq;C8Y-g?1wmSr6FVt6^3yBrOH(^Vl(dPnpo%?nH}c=8(iN8C$((WZB~J zz9JFaZ;vNiPw>4lu_Jf-OS=eA#E9%ZGB&ecpH{KK*=oR_RBnbZ0_@s447ld|b#exs z5mvl^2yev?L?yNm-H4UWpLv&~)?A@6J@PDN1d+l0nZI6)FxlOd;Y1kbamT4r(Y~!e ze&Ta1+FGiu!f`8JJsW;AaVZqt#3|~DK&{?H_+9gNQ2slhJ!DcqX#dzr6uNL#2n}A9 zhPoUY0mD5x1}DtF!jh9%NvLi;I)r2yYD)tJb~*{>W?Rn^Pg@HF?F z@s7twjNPL0(tlw$Fs=q*fr}zzIl8cA2)}xrIX+N)?nz}H%cIq#x zaooo!51=-Q-trFSMZ-&dU^zUa#o(&lj*Z?J!%e=td#_5=Bg3zJ4wUxbyvk8A?b78* z_I%Z-TR?+0(^!@#r||nfD>-aORqE?2w%aTViBpSxkV&6H5v4-5_%lvFk4E_gT-&ye zj5rLv4hasgsGHk$ncxsLMLJ5d$0>rsiS{MRNxz<|+V_GeU6PL;wVB3710_xVT-GsX zS{o&ACbeiNo1|(aWA0z9il_8^TK^GIri6TcW&$ra9Jf}yM@(R{@2PXKzD++5y2i5V zNGPpphc>SsZr>Ss#Mgkd%=f*o-~W4BlKex0EsAuw9x=V=y3TMs?a5{limLaqe z!GNLaeEb$M5?zed-|3SFG5X4ZqV}vuBi3~#TMTvJQbQ?J&e)J=rL3w|H$g2c>fH>O zS}7Y!T0=iO?ZLY;!Tp%57M4HgeaEqTvPCbkIyYzV;kHg5Cx*WdJYGl*uVfgRI?Ct*Y2zbL{wzeCT-Nw@O?a-ba3B(%My1sUr;Vflr{#R5u zx8?F({;|5~KU>IvBX5*_hX#r8e^O0145$HVPj1Fr0Q zj28&mUlWxZoIa-Z+Kh1j0^hHo*YM7BMyyG)|8nuygz>Sh;IEw6ic%MCeom^HL5V_z zb{=b+C2*t)x?BfCH5AmvlfJ;L68u7)wjaiBfy{!j0h6K;F=#iXYcU$KxB4i!|AFYrQOz-=iB3E>H(1adwnrPp%v?auoMWTw8N_6XR-dgyfp)sjR2j@SAXFS8llyjjQoHY6%P)j>LqKtwefFl zb< z^z%Bx9U%6LESv?sVrTaFU`VP;hS{}Su?m>q&)bh{YbO5YqOc0~k+|A;_$q&gIluhw ztLlh{Ul#0o_k2>oFRmfJ$0=w4xLx~li;0gd;B2ZP- zS~opC0q;eyi}6cAV8j6aMD`xDff2OLvlFOp;f6zQi#S*#8YqapN+zR5wOPbU?TH>x zG3V3iqp_|KrvGub7(v1v(hmm z4R|^QuA>DDdP~1tObejg^EFPyeg1G>R0bi-kfXxj+%`y6-#IgMYl8zuh;17z8P#i$ zITIJQZ}I%Vz>xiMkt8PH{&9LPyiz^Ox z`E`efbh~Lek#F$T5KcSwkEIxANo`?*HzaEWZGT1MeV(4FbKY9nyPBuA;eYeiR1_@oVdEvq(JA+omAKPvGJhW%Do~y>bHHrdH7`I zI!Ef60e;8fT)tp%k9$eFKK!#_S_z|vRATTlXF8d!@E`!`DmTC%hQldt+(Yp^8sffd zHu&JQ_PY}RMaJ9Bac+t3f_~WKDb_W)9uMN>O!!s*+mUT7q?lMALH86d9v$EcU-p97 zp>?vO{{8uC<-N7D*Kjv0 zu*uLtj<#~ivBd4Uz~W-uOewg4Voj37E1&i917l%t%@a-6J~!~niC&fPJfa;A%Kx6s zNv$FCN&E;4xzzh@>g*{e>$>~LzM7T_dZM?Xy=t?Nz$5?dt6ZY3UeZObO*#pAJPVQ1 z;Ye&ezc+Iq++JOep>3D z;ZJch5uGMN%*%fw|Ky(uirR{qj^1u=@81D#W5B$SD}>Ky8oPkmb;jvVBvbBoPIpVg zu~w``q4Vw2{k5H7OE6mc*gf!tlGPF%FYNO1etVjoQ}?=$y@)TH;~d}an>z3Aia|#m z>UJ1ytO>!50roHQK@|1CTM41l@#t&oJkzetl`Mk%+As^|$k!%%D-G=b*NGf@= z$b*z=49{L!5MiI|s^YabD(fpdB7^#{AZNJ@g}GgJ^(J`Di_f{afAfXGOLj`E2@~_j z=FKZJo+C2R!b;qELE5pp7)QJta|I+nPZy#{^CRbeap5k&YDaBs;3sRWof|t62PeR7WsDj zIz@b77-yy@hjYKX&^Pf#)UC}K>IAHKm)fV;O@?Mv!GheMS|;;mhEBZ`EoORmI%rF;5_EJ=#7Bfzjf^SQ8!>SYg`FR8A&(>s)D<*EoJqZZwiEOnf*i?{UL4lG z2HzLJ^BL`4o;dPwr-I!BdZ8XdqegCY$4sUn=Hi3Uq}~`YIpYVlC0r)%z*E~hd1|Ga zq8l`H$`Nm^*>BU@42mx4C8K@1`@3W2-1r6v{U*q)4Qz1kWNT`{yP{1p;~)Om_~Sc@ zus+zN?B9y=YK?|xhF>V8g=%YbuI+JNEEL{E+v+*8?U(OG_o8Z%#yiFG!DRsfVaeAV z>z`>UCLY<}en9ccgBs@1?5c3#23FlWiw>-#C~sXzIY(>jdw^B`+w6wsu}Q$iJAK6+ zzJt4MF;k||1Mo@jY^C2#FPs9BE)5e8%S>rj5djiO-M(C(AAUA%`ky!*JdbfBD~n}e ze8b_3W&F7`oN{x5g8Ivhh-Y*wrGosZVo~B;6DDj%;LURxUP*-ol zT`Z&RAaE9@jR7yIF@XLlt;~?ZTKgYGx?Y|B`9(3-$E>i)VC3^BUd_BICNUdAIL^;>zh!)yy=UdHZKf zjk4abE!OJ^OqW68l-T6u$v8jc_ZuwOmI5=0o&G;9@qdt%fJp9Up}Em+ubzfAv|Pu< zgXN%u0uN!dRD*oK>Eb*v*$L)$eLft1?1vq+#1el;R0a2n?)%>%N5eInE{#!;Ts z6(?G+YU2OEu!>o2TfFz5;t-D>v0^`Yn94C&1y#piDyzY_jfeW>nzsNXGHj7nz$ZB7 z*gPA#LS|N#>*^7rj4$t8_)ao*uFdkBXZE4YUmd$?Bz4mJ(oF~ojA`kiy7oV4ml8>q zZ>l$e{BIQfd8QRn2W*QeUy$dxGf*nM6VT^DpvG@*lmGH@WUx0+s8JLfxqS4tXWUrR{_|#ih}5 zKR#nGMx>dhsiob>u06Ig20%M)njMO0JX9|2!RdNBBN`V_f0v?8hL{%R8?!DEJruCu zx|-;OfaoiAe*5@t3N`+*|0+Zua2|G(nVR}k z?K1N5wP2Um``0D3H_zj8P&5F#JwgTG_qmJFA=lMXZ50ZDdee94z3vaq{klWa+V!uh z2T8JT7vxk**z_3dh{ay{eDD4G10v4Vm8*s0BMYnmC3uVF=0@-_!SJ_fF*qA;n}Oad z_`V@O1x{Xw;?s$b$?|3S{XdD(?vZZF_{q_M%$5?nt!zK{%+60iGrR3>VS(DXbk8`b zv*lPl!JU3l)A8MhO|!njZ#qe5-&@EQpWNxFf%Tc|879VqU)z~2#MANY(UVC*;dDK| zuW~Er_YEphqT_16X0g*}&F}?!x?Wx$@6*}Vd$N7IdZFNWz~>F9e2iKRRxQ2NdshT8jgzLrYBEA(Y z(j3|9g$eys)9{;!Y%ZdzD9jq`C zU};nd2E;W6bBu{aB^OLynXg3wbwRJx`LJoyHJTQ-Fiy;U194q}u&1BdHxnhYK1E^dyDrJ7QLvpHbsP=lZ-WlNIeAR2H z$CC9)h{dAvDsUsm@2HKW#qS9ngNwZssl0K2J5bu%VTXTWg{H7^tc`AWN(uCQx+sz# z64LIP(p6COn>+KQdxw@}yI^E0t5gt+)ixvMX=bbf+8u_jQ(H=|D-CUFkHoV7sZ?al zbmgc|ttc^x?35MXF1Jj)D^JfPM7kZDwJvMnRA*ac$0`-98mZ5c^p4W9m6+d*K_n^8 z3X<vflacSn%HJh9IHhBNbQpt?cb$RXm^LZ_!6W3F3d!rstb7 z#coyNF_st$PS1Fe$p>~ds(ddNnYYozqXz1u;9foIbMc;^ok%@wRiH{`9smv!qL0>h zsKM^17d*!hvJEzz%^;jQA&-jTeVXD3S*1dmX!owBRxSO7O+xaH__{vVK@o@oj)LGw zqdyl22JG{THpTn@?m!d#OgUH^vpyywJEs8_j){vFKLvD5_UU{63({eR`-|?oQ&uuq zq(9X&md8vqU_FWxiAVc?pYg7Iw&ug2({0$A%-f3QoECItX3 zJN9DXGGD~{p{BjvEIFdVVs~X=DN!n&p6R2oQQi+hbgfYS2N)4EEPANPCP?UFYP2#2 zy#pAcfuWwiOd7Pks_c3_X5F04dwn$X9i0|{K#AbVjRAJ)lfwqSrF!0*Hmqk2&AK-! zqxFf;fh%yRJ-NiDZ@SzuMK_{^Dpl1ZF$!>sq16~4d1bu`18h46QHOP*TK-ZYdDV3DsX9C&s{Ry^k49F*4~<=y~Qsw2b`*E96mlGcH28B2uvLq$Eu@~ zRmE87w8k2iI%s?b#5;MC=mv`|tdzm|J3CzMn(MVE0yzqnP5R#Kim?oTnzF~ea>CmU zv)qBP;uU^m%TIG&{K&*hlZdLa$=wx34r9hn zifTH=qR6kcZby@*GD39*CC)O(nZvG4^AKlLg9+tM4H9^i-K2KHi{Wa(vba%^4BEQd zuO#Dv6cp6y!j<&U?i$Ank?{RS95a=NcCIT`?yg}TNjLfCE^^)A8bD{SZf~$X$tp)x z0Q!RqCGLDx8Uwtt+MtOVOjlcT=%XB-PK1@-94Mi zjE%*U6AEKcg@b2??B1DD%JPa|`w)k(tBWxc8Uvg$^sX)CZZntvQ zpDm%z{fSh?;&SyOSmpIB$f)&<*htZCRbAKBP2Bg4%NUJXEoq=J9MI}5cxG3VFFTy8 z+JA~sZ?HvxX%TSE@Wey?~7y7JgT&X*<3h!RI1JB--?Y| zyY|~g!hp9z4)Ue^(+{WRU&Z#^*WkS(6Z>+5g{O>RuDk9#XRoMToIt)WIA84VYGHo; zu=>p=PeZpVTE3W_>P0L@FTpFhivCk`?Vqn)AtVZBk^#&Cyr>lAXW50lt&;Dop(R8S zxcDv(y=(0zbsB%+1UjH)qknfObJy26TBX+plyv>6Q=47$h;7RlZ?dU3Yzol|8^bj2 z1cBMlU^*JE?FhSuiU*uoIwWE~63h=aVs7XQa?u=0(feU@sFx1n~z~%dRN;niFICfwoaFKPA56i#QtO^ zEb>uAPWHvI?WG96Olc$-%^~GVFWE=E7x>;Sc`^Ye3S1BO-g_&P)YTIX;&Q zDpia`l9tF28SMxl?mOdYGJZojXUh+^4Vx&yzz&fh@fXQ$O-Lw9(o~}fu5lw)H(MHS zHyKyN-Zn|np?B0JPea;d5Y0%K7g%FpXq1vLRUk9fAKtNr?ewKgjA*L%co#Kk*T*VF zt4buq*l-Nx*Vz0bTDWwwD#ZP%`mmz_-lo4>kLYD7gKbn zOJ7eHzAhcSV-k1tLVf^5G8%KLgl_r+X{bcd?RiblB0nW!``+uqrC5Q_ zlp$D#)c@6mt`yMbhA|dqs}^q}m5;d)KQJ@vl$V;~a(bsGxAM-HOW--_I~F;{G~o_@ z2HUsga!9zSLq1OvcV)=c<(HfxGT)k;gvWXJPX2)bYJ2qP?|qvWN4zVocI^mcI*%F}(w2lHF|#=miU_*aE%b zDzL3YNud8B8xH$Bd8F&Md4g?yK>iqLojA4@K;Nc+-@y5B+I6mw5&l?4=D{g>QC5(L) zc(}8eVo_&D-zvZboaEu9^xOQ%Tx98jZYnVfG(fsBmDzWpKV!rPovpLb&{mBs7>%r$ zJK3jiz=L#eDp8_G@^(GYop4&9b_hFcGEQ@6G&J*wFOEhrr~xicBX0f^#?i~{(S+Lr z^G&?`4QKzJ^EiS;mqA^xaBFm{PjO?vHG#b7DwUOvLj|AgNaFf##0N{2*Zz~02I3q$ z&!_!|v-0r+W#0=P`rvs(J8K^YWx~9_sJ*t!RD!C2;VtvcOl%ibUaL{rSnfdCP&VgE) z#rkA(;8ea^K?oTnxUA(0*no$)O zQQ28;EnB3td{{&+6OLaa*2&!VVOguSLx&|qhJm50dyYH!8F#hpCZiKeNm{Dq_Wn{a zpM?01pW$2{3|&hdi+&m{kX}ut1_H+;IpPSOoy!nK1{H!D|K`0EBc+E7!w6fHLtiR#XL}Wfoav915{dTfJOx_-kj`IEOT4W!-qBv*=J7KCGa5y%h(04MvM*>BdTTXj z;$9(MKI99AyX(T8;iaVh^)s!s{VZ%!q7+IOp)IDpO*IZI2?ipXU zF$W?^AkfMA2QHheRB88c^T3Giwn}G}N6#`g>G^wQHzPH0L{JoW0vDdI>D-$08b3Em z{QkUgoC;Wm)2%^jUA9m%2E4aEnt>g0EVa%Zu!I?5(>Zn>Gh?pf^Ww-Z2>?$lpTM4) zct~09Me}(U{7pYS0FWgLMc0UC&DuhcwhQpZIoC8td?=gENtg2iL)(E_h}DjR-%RR7 zpH%_DC+|-oI|s3Wt8+uBo^TlE?}2w!2}kSu*D-A!u`3ir=dlU8$vxk4>Kt#dk4W7t zq|Mn<8OYi80-^nOz7(h;L=bSH3-aruhW>M3s?$#z$Qp}}>hZ%C{Hi91%mpSYUq;~Z zsxh=_F`kB9oZlmW`6*NqUXfM%A62daRH#uwk$-jUGsJtr7&%?RnpUasv;&iTSs`A> z%sMGx6~Yyh5xUX_#?9{A$0I9>#u;H>_<{qCPa=;=NTu_MNukuq95gK1GID|xZ3oRt zZ!?(e#q`UFJ$k9Q+ddOO(sl~+L4LycQ`q!U=nF$;1?^IWkozC|!+W{AXUNG07Z8@` zpfhK~>^p)f6GNRc37%b~4jul}?(O`#KU-G@!3}81A2Hz9veF-m!#0Xygz*n`iKc`6 zg=!iL#&iQ3PPGk@H^xaDPKGeaa2Oa&11TA1E{}*@g#xw5ELV1FZirzksyP46kw~Yg zYd2VVgbm9NZGb0VE?`aBw?u{h>JHay$jkxOjEAwRC&gpa3|UjQ?%xHc@k0@(@DHX{ z>;z#H8)OL-;~y7M%K;^E8pE*?5NIJzR7!nH=JG$NfNG0tkVSV{ToDHN^iqh72#87; zwPw07asMHhAx2}Y%*!4ekv1y}ZTl%O&~h@2?lqw$`|iLB{rN4+>lmvGhDT96(KIzD zLOsqYd!X1NJc_w!i7_5=1lxdP%499te*J~&zYd0vN6^yTkIqK{fEykRcdy5lbmT$@ z0nKk7oK_NSr(Cc0w$~|*vcmu|B{I1nG{`Ct_1hwXMtlX7Lm?45l;RC-WDf7g8U(foQl^j34$fMm`0^Q9m&a$tyoEQ0yC4r}`dcK$|C=y_|@%B4a3dj$sbv zmhXiRr^urwxckXwtH*44_Vf!nPysVoc4?03sRkEFw?O#pg~-R^SU_3Eq0wDt`fIAA z2SGPwBkm1E$ld7PE6MLOMra9&+~HlZwLUuZh+S=@ng`Dq@D1t}Ajl&goe#mPSX-06 zfDnsPk7#_P;M5r*et|J@Aq!lwuG{oh%n!`t;u$b^Y7;_{-gssu|1K7xNs7cL&@Ffp zAs+d4Ig|l1d2`l?ZMBW%MKVc&40Ti9crDZcmIIxmR!A6@TFT41Q@n5Oe@lg$(0T)A z0WFCyXNs+h@R*JA8(y_xfh`=7Dg5ovzh-L1T=*N9EKVJF1C`9({c~r?lb+URJ2{-T z3|OuIpXYzdEktpB5D;(#YdjLbQM@99q)q(yhgtVIh}=yK)|y7fHYFdCt(2e3-OaU> zF_O-9SR~m(HweB021J21CrJTTaU`f1od&fv7LygM)QT$Qc~LM)%HHj z8HN>;n2m-221dAw8p(i3p{9qIHlrh0a^ZgWtN(w1DJ#p1%&C)K*hS$c17fd3vLmexA;WI1E+Qnk zgZCVlG;II8+lNVI><E}slDu8);`%nxR?p>}Xq7up+XagHeLXH9P1gB$#18W6G-Q{<@-sey7leaZQKj`N9hB?;tXr zfXJ~94#*oZ!!ZW8MDOAY%x37)tcw&6+Sj7QNj3sFar3XkwAW@`XKLbK!74Dtla6rF zDyHvZ!L|#EF_;>xgeGEZ66Pt0;5+|UA`w{Ng~%r`%LN;p%Acai8IHGh7y5&OoYaTa21SvnJj;XF53u3^lUF z0`T-mnenbXNJ2p*(BD-1F}9SuhH#CcAZ<~P^J4`dLDI7Re@wk)P@4_Zc8e1{xJ!al z++BhfcXxL$S~R#7E$+oB6e#Xap+J!$#a)WKm6PXt&-vc-Gc)&(Oft9aYhP>8zzZRq zitzIC){1m#eKVR#Ecb&u|8=rnopr8`==Yh-*ICvNiD%Xz!@| z0(09=;6GTt!wA)k1cwSBdMuveeKcfTf?HJ{?4p_NweUo9-`(Xs?tFH0@?KrR%|Tj zFHc#8!yay2v?)?Il{%U?`W;`$M~YznnqijswFE@7iec-VaXwoCn_}APHMVklOa<{N$IFztBTx6`7XXJ0lMyu+ zyuy$e3~2I_C1l=$+SkV88uRB((VhXaC*dB7k%l>=2>yNoEUxN1;Bu}WgY&@u#0&X6 zz@?BAMJR6{CWvm4OQ`_zHbP2(uW!y<@U8l^N3Fz*wq{Zj2LAhtDc4rOKtpRR0@NJ9 zDS;q6lY5*fjN?rCuyeon)aK zQMYRwTksx?QoI}!DQ~kUUz+R94{LhgP!*rVM)s|X&y}e;l z7cS>8iHbo12AT6{3Nr2nNmy=67V(v2VBt94@_%WlXSP)8PLJK3@yn5M@SF!f{>bT~ zH|xK9`D=mCM}jcPbBSTdz&$5~18aTxA&B!{09w+D?R@gG; zt@&Ygo;np}e773&a+4cleGGO=U~_Q4 zi=6K)RZEeA3@tzmV%y1s@Dw%k$`jOS-*yhMUqKThZ%e3TB51qcSKUQXh=&qOA7*pO zbYcob06wxq)Qj8)%f+a=v2iKFquSy3jiXik@+jzpph@_MI#b@opvqiS5h-e3%(Y0S zDwPg-z$s1f!M6SG1yrecmpUv^-12NR%vFO&@oStcY`NBiL66Kkng)hTJGI3iUY!O- zk{@GlVw$wk-4GY6&_T=Q`R};i3dUI;JUNWy!E0-)3xpYGJs!b4xeT7C9gm|GBo=%r zd-z0!3JFO=falZ!fcjWV`brT2as@H1H-iB!ETY3az>D&+e3CxSR8nHcjmZZJw}3~( zPDKR8u|L9)x$LodN0!h#E~iwWGG5{Zxy5H)K>og{IGKw9Jy-_9sg$X}3C=!U0zSP# z{P({2I9JPnfhM%P406Hda|*}1pjkFjT4$E{ys?7mq%K=3D_##nfpTd^vM^qVn*%}r zl}sy^TL(VnH%X%6ab9%urfd_XPoZz}_MC~^OH5TMH@yI{3NA0n*qF0Dg&H^JsMgF5 z)=>Jij!Y2RH_F1DQd}?a4H_AvV4BWP-_3kKTSJ8%L=})Q6mB?HN~_=_3KIcq`8f@5 zwk)o|4@p;$0rPfS~1$*kg(PN$=ek}Fi> zy0jp4xxBUzT}V~^<@o@4pp)CRQ_Tavo#R!+?_y01#q}i0hAehM?j@p4} z;Vd@?>OX&@Myb!=mP&?{lC_9``h*q^!5o)Msr2FWd-O5a)*x{V_=xu!ELx@ky0W0PPrdOG0V*36#74@%~pYv3|?l&J1~mbe~8 zn{2Vz{;&IQ=gxR(C{-~5#o-1Lc0@tATIBRvN7(tHmKlcMWx@5f;foWD88u36VapHH z{EHKUUW$!boW7ciNaOA;Tgh~P5TYn^2SB#oijvX`Uch@i@U-Db7C0HlJ)SH^920M5 zr$s1$(h?Lz*D28brIfFf!7*00t-+OZ$blz{_@Pdd;&R`36ikZU%v-F|#|4_N!@?!P z+KJYf<(DzFHIhmY7Qm76{r-Wj64vuLE>bvZLn|p!thJz|xklX|y3sX9oA5gZBmGCzeyj!@h@`GF^mvfsFSmJy~q&rdU;wFg%4jW#&iXtP!Y%l5TI+b zw_P*s7gu~7l}a@xjJJMy?NpAd`+CD2k4H}YBU=T@og|9+}$o{+1_mxx@{)*6E1EY#N1h#%P)m6ss*Lw$*hQYObGOQUve@ftN#OEHnbdG zX#u>$ zBZw^8FN_m~qMQl#8GLe4jD@@hQyx+cU=L?`1e#LA(KFv2`;n;J{LaVO<0()#VB7{x z!n>Du>r|wSy9|z6#APoPBUsRc4u={Yqq4gocmM}D;d~Jr@fb*rXeLqJIS}e*C|f2S zZhZp)R&eQcf{A^Y783Lhpxn9v0NY9rek$LxcB3YMa%vSrQe-Zgb-xam0#BE`SS<^q zNkwn-#?V95ebi-Ay71`3s;i0_p^ZWg0@}~m{Sg{Zj8WN!;&Ocj*E~d}~l7tR_Y{8@Z@aC|&ly1!q+kf8_cRqQ%C{wa_ zWDGse#I5*E@@4TOo3+2w0uZV!*+bF|vffjoEr%TPf>845*4 zR0+M-%l!8ZwDW)NjYl>3s#^`AGe(0Zl5~%l14s%Kmd#_$3YK_1;zRcS4*1qh%n37X zvmF_n8zj-2!FV1w@uiaYG>wt(;019zgxXHRlYG>^=??kLDWmwQbjiWHLG{5&l78oM zxspXh;93WFA@dSji8caDUg#}4o5p83zo-WMVz!{44D18w5&W%apz9ODLOaUwm@imM*+80+E`B;Na*jG)@Oj&-{<ww=gWD)fIjV<@P)$glLwrc=HPxTrRNMb`N1{HXXR)(O|09PQ8|X&7^RfJ? zs+Fopxq2;``OJUzMRDuh-(XXJf1&B)J^YM)%nuS@*Y%U9+fJyIbMxyN+i&Ja&6mst zM)8cBGYCBIcTmFl-H=bMa|rdmrv{t{pD`RdD#DrqMx|#wG~2@Gy0~*7SJ`pQ;OeVC z%~Pr<&{=Zh~<2a)pgWO5^vHXr91Fbfuf38zUs|Ks(k3C3bSk8!a6*(G*P`fMBBT@QkD9~5_h*yll6mV2W{%{_FR(Uav z-WHZV>6JsRxF(WOid|LKDmPZ>clelwD!y^E#A5rycAGgJiNWX21d9;h^T(Pdp0h+1 zrE7N|w}q_BDMfr$79OoFGzdpwA9a^Yo~C%vWDQwtg05S6rb5pl|MT!@_REG4ytN6^ zeoJWWvQ6^R@McZ@8pAgn9qzlnh{nvouhUY9Qi|NYsx{8D%F5+C9{hz8i=_5~Rbot4 z$cJG#t8X4~huR8f>0UX@QEMkAB5Uuq2S2%mSI0|Fa z^w3VpKI*eMKft}(f3CsQ%lq@~ij54b%fUTf>Nh{B!FX^w)i8#(s$bF-0azNkT}nKV zR5(4L95w}z9s7NxOsgtYDczFXylgGUBpTp3K@YcG(M^k%7N+iV136tkw&T|JJeXYG z&x30pVr^q#-b_Z=Y&4>Oh=p!o7V9s+yJU`m3wz-*)!AnLi&m7V{^zC}@N-_&$!fCY zFJ|%jGGRNGJXvwuGU+S z0D@kG@_gW+27-w|{hmO76$0R92$&Mp|Nae~<+UV&UfB}s=c?F4Q_HENXyz{S3h68a zfj=^XC&OGKVZ`E8)rvj+GyQ<>mx<|()c;UoOpMD{^|lVd_sQJ67S6m+ng8oTA$os# z%@Xc^HmaKQCf_$4ep2kq%BdAf5M@FFspEq)(^~utU?$Ok;(cwGoA+KWW}fkluef??B@3>=#fq6@R!VAdh2pv+}fL zNr6cAN!W0>P)$B6eIh4#L6eh)sZ?;XErglXA^!7Li!cM3HEg?O)^Rwt%2_}>=>;EE zAbC~MhXet%rP=?H!Fd^iO*|gfr*)wVU}KbmvpBFzv8XV+27ZfG+9OBR9DEaADEjK1Z` z?sl4AQ9MAbKAe4|L6M>_^WF%nnJfk`u>d&M)p3ym-ngV(@@dzlt&=;pr%OTOA{GUG zs2JBptHZl1h0>L1LHm2v+oWrvbg`aeROyNLEO`cLHK8^?Ehq*u`Ha|_4J#`m8~IGx zQyDx2q0`MPgIjQZ{^`{UQg1+pXz9^KxA-R5mr&avTz^BPjE>>@?(*)TyXl&VFjYn( zH{N|bVxjNfkzXE}eam%(+4GjjYEvv}O~6N)QqP57SK|73!N8vKK|6NDwT2H(S-&4u zghjMT3wKGwxY_+QM)S>4Y4P!N#2y;43;oaB%OF?gSiSWlzOv>LBp{7XXhDs^`s`6r zJJHkn*vc%n@6dvJTtlPcB{@+FzhCXGEcB1r@H!@-Q6}T`ipl`Su2Gn2@CrsEaGV}Q ztp~YWnsazWp;I5JFyD(dYw}V-jC^4mWvxNIUF$b6@??{vPk&XADB4+sh|jQAR?SDF zCA<|L5A3(hq_?H;ETk>~u?f_pteejg`5ab83c%34-qFNa)m#)s{*>gXYm(Sx*^|Y% zL*IsEzHpcxfI{%){O*6LAmF*dy^=?Y%7&pqt3R;;y6xS68$_l0^1c7Ui;b68kthD+ zV(a}fCvwltSX4lj7hNYvF!EM-b`Y%BDk&r!HYy}AaHJ)SGUU# zUK<2`u{_1so4zW=1ET_@;;DJ~m|?HO_?LWVr-t0qBk?TtAuk8tXT4y9=wq$6j`s2W z#ftc+j!|{(e-7bJMzl$|@s1oJ{?Oxw?HQ&aN%=tJD=Ke*ej3Spk+VS67>}QWh-n4E zxdL)QEUY8D_s*<=zcWJw>gNpeK9ez_I~+-Tktnwj_V*benv?(Ns@5AFXO~?31R5HH z>(-G5(&A>^P_{7wOA@@rr0noYX;?5@>5#>}H8kvfZnAHEqVDk@G5e>HG53VY{psHK z#76g;#+OL6r*c+MNJ%Nma78&W%g<=y&TGzVqHp`)&Zk%6GW^Qf>HIx$M%b`ieFCa< zMOxzQ1}(z^25%qIbiz}wdTAL9J;OqH!;WZHLv+){)@r54zdNNvlf1)9wAJXF=zmY{ zMb2ZZDVWpFu3`vy`T7)}jssSb(t4r-e*&eBM9X_KY=H0OA)iRL>W+S=MbXMQ_;3|F z+P3`&%XL+#%v1TFEsuXaS==+^HW4e;@-P*_x z=`yIfFs*#A$)>5g;nSC5lNkCGt2$p~fS6?%qQWEG&dK9 z|0pcnVW4_URNTMdQd)ZKlp&>$PTBhUOP&*#sr>|8Iz$^YumXcvbso2zH3vlPIqmEY4*QF6!x(rL`&x-&$P%&O^G z;q1P;x?Rm8uo4!)GF3AV`WbKkGID*_62*ZJ;8p&}Vb#GDOxNV>>`01~h|zRm(# z)-*s_^E0Yy5ji^>7n_}rX`G-pElu~^yJfNz7!ZZVne{&4&%h_5Z;|z*)PLp(HY7mkBYgk)ooFleN^d;%i?&`(IXG;M z&PTLImVXx1K6g?TX*WpdA2L@ zNVZ*X!8tEsf`vS>@w}<_hg)MwCedHkn&TI4>I$C^u)69GsheR|N{LsIc}&fWjksh_ zSWfrUx^`HUTYfE6KB=t&@q)nH=Red*?LG(wyekxVcc5fXQ8Zg{cvKhu+p+QW{0f25 zgT=9DFW_QZqMq>K{@&N$!*0tsW9TjnL!e;eH}=xi*C!7FUcDF94BwM?Rd=?J@W?D7 z))JW;G>_a`-&_KzT0c~KP>f5xpBpUT6L)jJ#O3GORexRxnEAF9#ZIOb>Wc;W%REuJ zFjK5~eL9NIZqK^!qNiF|eZ~KI{nw9^el2o;hrfL;8m5IqtrKodzK>l~=z!PWd23`9rOd;8dcF?PzqTs5uk2G-JE?)HDC61 zwyU6b9re30R?FpJ`FR%pCM~C7!TJ+?VJI~w<;AYzByHi*oe1N&&Nl^^8*swPFyahk zX&-RLd_gT*0Pa8N(2`KUP=tNx8+eUDW)gs~>cO)MP_9b-vp?F%WIbC4b0|7iuOMy9 zUtCNSAweu?n7#Y7xF8H)HSy(hxj`1KeQDf-n)pqT@Km`ePg^3d7!jdwl9jS@Jrx`n zDxje3wMcVq@H=Sr9%p)Z6plQTXIv9X?HJku23e|PW$YaXT9XTYn>9-*qnW@7e4`4I zF>l-a4;Tw8P)K#Aata-nhDoxoGbt6YZ`RMZ_Ky`8%Pm12kYuvtzxBZ%bxf?eIgd@c z5-^JSNo*yo;gKj0q#a@Py3$XzKFc$MSu9C`%FbjMlE703#*A1DL!7c;EQu!33MDlD zGc3?WXNeM}&MSlZ+qrt6Ciqkz4j~Kya>v--ac1R!v)(q8K zLCUcB{6{>G(cs^gJfL!%XKLL)qq_x8ezMp(Z*kSkcTuJj5gHNT!*>EWP{^E!nHA2N z<|o~a02~77pe^2#W+plo7UX(mGFrC5TXfS7Oqd2x^a8%|j^M+mF<|4QTw&n2{wU!pZqtWYJ3=Ta_gSZ-p6F)iQJx;U+#lVzX z1mO*;1#QfiA|cpRLk3;7q+@U^@`f`mlys*5$5U7mEGdN)QShk$x@rH3L~iJLcYCeD?Cwg>61lC?7)&SPkCWZn<^3?oB9bfV0vZ~~*MG$9= z#p9f#kn%|$QP%p@y0GQ)i_A66r0ri6Max$={j0K)N_M$fz1fH?YvyJ}zk-Do%0|9b zfyrbg5qq@`}NQO$j-Ef-oeLN&VFcsFkwQyiPW5(mUt zH3G%Lb)LrpaGAVW{Xp~VL!x(9Ciew&dc%+@{;{$p$CnM(_s$8uB&tZ2CO{bg#Tq^t zJ@``t#-=L676XmLoY;K}w)#uwqAlhL&)1gP+E3~67-_IB7gAEiW+vyv9Q?--F;V(o zdIw?8$4EM~l5?S798tCDw_b3`@ar^SQNgO6cH(|z@{9qg9Hx!h_dRuc)zI)o#~@|3{#1~-r>O`BfRXVJiO|{ZhM;4oV`2#>u)=# zmcS5jG8KJAI&K`jMLP-K#?Cq|v@1q5giQ!QglCWV*@I&MyHe9YE#Ma8$KPjJJBM*n zZ=zr?o5;*RiF|}|!Tr$9lQTy-J7QqBZqgwsmd$;65=8h#0*P)qajNg9?#dcpliZ=b zLF;5^bo#E?vK=box_6^f8z?pL`$k7YSKx?u9C=?_C7(^@`8Zp8pC!^;67HQK1FJ~+lBMH)V|`&K0fDg#%0Um-A|+I{P!NeV@~@n)f&#jff0WyvLb@*k zRFxe6zn}rsJURrDUk<&p;mWoBDO#T~`;?uS-Z$~i|4>jlM8HR0vt+XvXqcj`&V&#q z2r)`QOD(}w?#qoRL!RgOd4|bA!Thcp6NroqX_N5H?mH2^wQWldtFObLwCIW|#YBSQ z4cs?lO+r%KDL`$PrO8jBTh(wIt$e&XoW@in|G@L7Y|F$)RNo{w>4Pj5gVN!B>B7`6 zHZRy9#XC<=j^Rw$mu0Ywv#Vl?Axa6kM^0XWKGcQMNs5J_<5AiVqi=>H{&DmQxQ@oj zTRbBe+lTQsdlcbXUh_rthC7zS<)7c{s$9Xv*RYw`|1V{T5FiF>s*~{(uSZBKmf6-Y z%GHDqO709Of)A8-y~nvLN&8~Z;N{WJU5l9X$xuj2DZ`8Y3mHiA@e?Ax>QWV{%a<18N6kko39grD>}l3 zV15cu=$|cwG5UsxKZa6+@4>8JffWSmBqFTeexQz{Y9nPf$pe%)!?Pj+_@Y=%(ASW0 zArjbLmI>@t`P{;ts`21l%@sC$5bqyOq7SG-DOxa`xxyUt0#++4fQ_3Kj*inuE{%FT z6w(2P*vB2MZ<0&}Lq`aSWSQoMfOly?WQ12#^BDU)65JeF6cA>U4#N6As1E=Q#6U<6KbFl<40zp$8-GKi<7XryFhvUf~6`&h0KE|y$#u0xwtI)jGuJASSHZ6V+}O}OQCWo9ovswX;l zQ~HKv&slo!ZPiW~P8k;nxg6o|B9pg_*MHlvM5-CHa=z z><=DB%1?YQhzKeMoIqnUJvCU1g=^ppu!yEkHtLIA@TUQ;IKp}iuLMXbgAExRFN(Bo z#K)VJTI$>MU%A~|YamNvhUmpjd|V~O7(HVJqZa$v*lQMV(Ex>wQ5Z>@ut*@+@#LWM zm~YXka=ZX6ZuSN#6eC_J|98M64a{z`4?;POJHVe8T zkD)5PpP$Qs6&bV!kgys*r#72eJLk{^#%2r6&iTqmOaio{J=6N7RDQw8T zSeydh>ii3v0X}52VfUC1QUqZPB<#e)ZBrB5|6^m_$H+{a<6vsD_4~PjW6~%3mj{4< z(V+a@>qSF$3Fk#0+2ZCAiI9f66L-^mz<&OwEn);;xFA_F+g%;uqYCk3#rPJIIJ9?= ze}GPu5>X(j8MASjfn*&r+w+-6BFmgi4CItfW^CH?;Gh9W*Tp?^xGX(lGqQ<1m#h5T z27CAANbh+Hjq3ZYWt1S2;7{f4tOOr@s#a1<5?Ii5nMj8(GY0n}XXvKaFSV2vpg~xJ zv-a)km8G`7f=uU;_bHf)sc=E`_VYs5LTAUXE*Go;ZR#*`PTbwdf?x)Fqi!ad<^l{9 z-WU@U#AY-PbbqW_17=l^?1a95PAP1S97lvA=nUXBoB7P=8QRWVx;GVtML4UJzv$s zlNmw=c_dudg;?T~`dV`^Bi)*AdJt30Q`-S39sy5Of*px!YH8np-A1ht9J{jW?*A)2 z)E6C`bGbCOWW#|5cxHfYJ zQI5o?n3%D}!SG-%Asln_=ANR@l?jU!D7iLl9*iS5dLcN>m;5)1_RIp9Uus<8&$JCq z=#1|3h21A~!n#Sz^&yhxFNM!c->^oIuJJ;)u@|Cw#CCB<_7tWERr=FVP=5XKuGFYZ z^bmW#R>!}}2jy+884{ppS*eSS#1P>OwzuQxh3g5X$DY^=TpIvdnE8?A%|x}$AYueiXL1Kx2YYx*4& z#JG)qs_XvfEST?kclWImCn4xrfA@*Pp2&&=^W$3M*neoA$S$Er;kti>uboz2eug?n zILcNeLo;65Kq<#S{N>oJMSo$!CGBw-0jJ)VgY0L|bR$dec${HUHmh`%ZQ7w=F52jg z6TaH3pgm62c4>@rr?)f?`-#HygYBo50zBdH!a1ZkD?$_|+Nyrv8S}NYkBxrKZu85>s|;)^D4|G01x)Dbb-741<=at(SpTdf!lOg{YF&BrvNcKu4u~UoE62lUna5;Je0aaE}@H7gMo0NU)DZ zfi}->mu2-lm5w~Hm=lj{_!v`$aC%OPYn)}8yFUr$z)l<5)>fWbkv_p=#iU{;^y(l> zPWP5Oy81)<#ga^~fRWTz<_}^Wb>e~EZMVvXFJ8!=-{a##+WB=Z%uV*CC%BO|>iNM% zV!B=~-tmJ;a*lwq?V?)9Zp9kv+RM_y{(-59^Bu*Epe@&qbN#-Q?3%Vl91T6g*q#CQ z(GO(G;bW#SR6?!CJ2I-~Iib@s_X0~I%YqYCgqK>4X_foFOQPk7nB&J-nMrNl74zXq#c)FKVu{G=}ic{HzO|`kla-Rm44S8v#%>UO>z>EeIRIh$ccT*x5<}U%h&MD zbf)5lvPWVTW3Ze@{LpIi7jod+y@;6c@13sB&O&vb%^nDrzoXr)HY(KlQ;1Q%zP#OO z3x2TI5O@>r$X8?B;rM{k`CLCSk$Zgi`=w)l?%8!91|LmO8(9fEGl)v*?hTp|drtRv zO_FoVd_X*hb1;?*-)wa(ULQk#1Z4+nB=Ao8DfwxFA<~UZZB4;ffh-Ts9q|c6f=m5iJx3lt#=L|Gu|WH2I*M>*@x zbvSo(vbW-QZb?SN{~)-Cft>hezJHwb)DxcLq%_pha2`3lNtZWDinXz#($#zLXpqtv z-u%2OVCJGd%O0OO7++<4sz6u1f`@oR;vsW=!+3glcU{g2{rTH0 z;sP0pr60Rlt~$Zmo)mc)&oQ1fR;ao*W&Mc8GTkM<``TZ|%I>h%r&i-=`)ZO5R`ntI^0BKUQj3Gw-BaW?#IGhXk?J#>5eP4`j%4m4k7)76u6X))VYHG8|Z!Vr3SJhi^_!B)bBl`t8~9XjkX?ipYAC7 z_4C9jahr*fyEFA1pB0&f=<2K6mC&a$YY56uf7>kBfDt-Hl; zo+RQ0Bx>Gp%#tI<;>B-Ub-o*t7e4Ioe^?pGUJog}1iQ?)J;wB|>F#t+FYm9Nx3Js~ znyokUn~L<_9&Bvr#2?F9i;&FmOh1->md*=_UoUYCj{}46qb?ik|V}Z z(!@TGYvx%G^C)kFXT#z5`t2ir-MJr`2TJ|8rou7*W^s6l^yjwk12alJLFmUcjg)cr zXXHSvyMQG92?3@?;Is<&z7hI91?n}{eqfLG@YNh~-0W=@6%}-5$Zf zrRudzaBkk#?>?=c0M0d_EqGaiu8XFpMId*&^*_%{Xvh*J2PMSIM2ovN7~`ezku_I}XrZAU(7Ayv-FJNQrTLsVzowIQzv61n|2aNpeGVEO?de2Z2ogWH@+1XiMiRALZjUvp zyJbX3QNszXz{V$X&b;9?b*!{pzv^O2FuQ<3rFi5=!8(`{-r-{gG%b5B&F}0-5PufA zlUaT+;_*}PmWWVfT)I-_8mvQOHnAlQu8My9p23aBvl7RYbeatI#*T=SH=mb2<4T<^ zC>Y9ibZ@YjP*67gQ=_k*TyZRwk`%}61nLkaHv#0uWK|LUpitu*zOF@-RCwok(lW0~ zPF8!aBSwjs*LMXU)EJfBm%u%Ui_nK`C15*^i-Kw85~meP;+lvMCL#;$=GVVNLmaL` z<)rzh-Jus~E@To@WfdqHI2zv1O%U#uIh23#^DKTfWLVE~dzq^KtE@`#VyM5}M?1;j zgCcZJx!Or3K*gDxkI#28r^;LHU{M-(IZKu~DofN~#TRCwRR*fowFM$vkIvQHaUcsM z7Y2gEnJALDPNMh9HXg*(y;$<%*i{}*cZ8dPeJ?#d`M*oYf1dKvSba)Kre-N+jmW|z zBaMooEqvIi-2&!04oyaijj#_$d(@^}1MX!rN~rzmkncFdNNpdIi9z^=HHe z-URYKBZm(-#C9G%KfM{S+!xsCU$LdzXqSHiSk&KRN{$8YW6K~U6=5D_7nb@Qw*DC1 zwr#^_ITu0!ycJ5ZoZYJe5D}%;#RNtVOWc5f5_i_~5`m-*Dl`z%{+gRD^~tcc4s3}T z8uT+m3QYKOR~FRoj?16vJ7xkP`1hH`(jz$t$8K7IbDqW0UuhM&rbw`5`0CC#O*Zyy zxt0u5mBT88ctrurHD>2SM2}gY#)E|9n`jc!zk1?Bl35{1yEO^BaomI58kZpGl$#f# z@gc{s*HO-&?w@PxE~$Pa7(GaeacvsCdWdScWn;Q<0+(VfkfcM@Hm7r*sNiTRp+Dxi zZx3kedwZw+oc>AR?SK%|rF)lW*%WJTNlXi&q1iPGvB9xVzvE8+ z2wJUntM=nsq{Q-_j}g)^JL5?nU2HHgt5Tqa;zQuREHXQRZPW7X&XUeGiHzQxRx9wH zwH2a8A&sL#byETM^siy^Dehz0Oa&`c@~I%k`UmvF4Un4nO0j|9mzTlBGR#cL4}Nsv zlvHB03b-%3&Y4}xp3i(@-4;t-?f!F?P56UeW-N>?Bm_!0ACII7NWWsx!41TZdi?Ub z*wtdbf*9y2o#}PutqBZz9Dl;MBztQ4G=F2yhdk;ysYiT%aLp`jp`hBvyrayy8*3_0 z0!A@UP;jT4W{y300+nO#*_bYw?b{f2DFbzBZc33Fv!F7JBrHOPlQuslAe?wna^yMZ zTu$P_*Ici@#DZKcI~yrWzI=IWdte>X~FegU$v$Sg4W!T`V`|6L8vB3Di&11k3!G3tftT zA-yUfXkb>t@a0U9d;3}=fs%P!7Mh_icTu7-bV^XTnUDcFB&l*%)iA2kY9sBdephGp z%;k5wH??U6r&Krf*Gh0U&>!{RU(b7^U+}qQ-kEV%5Bx%ykzTm>X%o#cb#A9rnO6)J zSvqs|Fs^4y4(=}7_PK^5!82ezwF zO5vZ>@-?!225i(tAMS@JH91O_@51P00gs*;+zai8Ew%NBJR}mEjW_Cv8(zEc_lW3?;hMODA9Y1Efw|- zM37SCTX9S&^%b?~#)c(R1r7b_F0bb`xKpC4DbEF$Zg}%}>f~53i6~So!Are8 zt(!7>7GAJi>S(IcI~Y|DNrhhx_-877mQqhRJPk4QHP^>OU_`*;|Cm^vlHPNLz!K{X`EZxY{0P zj1DPaTh?Z&c-l%pHapUC1E#{ zWlq~@S7F8Rr@HlA=y5wOVQWTW_x^7vmT;hr5Eb0MJ+eS>1yO+r+9RZePSwX%qR3-s zpyqz!Xm2m53DTqyQ_olbwEyAOrunt%O>z6}JHdxpcB$Uy4-%|I3&cfTN*UvO`A4(A z-%%6ZEcQB%h$Vcb!Ye7{OT$_4Ho&*$v8jbyRz_@an&C|F;jn^k5&VXZ%*~Ldw$lN< zVmtXhhmk5GaHfjBcPSMj!4H?#uNv0fPW@BDWSx=2lJ4h9Qze?fv~$mC-o@k{)o79( zcN>Db+AgDto6FN)GMe(k1%spR%M|bjPkM=7D-fVGQv0WX zv(%sW>x$0(0!=vAy|s*UH39uJ?h5Og-an$dIXvQ;zudf^5cA#pqCGhM&iSn=gF6mf z6;Ax#;g{{eufu9n9emoYUvIf)3ue#7F7mU^FFzf;9CYJ-USC^aRHbhEgTNsBPw9rq zQjInh7h?*=1#t9z>f_VcMk*I1vTxT>C<;|v`wqsE`+;KN9<(OpQ;HZA0vQHWr3Ahs z*SzD_*YJTTDQwztokxj2=!z24!pmo%+nyc=bAtQLYi-7v)!Ub-abC>oFm2cDY{+Wx zA-O>ucQL&7Bpgk%28zCPaHs5|SIE14YPu0S#umOkD`L3k_i?5sU4_#Xn07>5%h&B+j;{QX`TZTo|hF!yZ zhGD3oLAtxUYv^uNL_kVP8fnF$yE{a>LmH$;K-x2iy^nRS zbHz%lKAreUxZizD=<7J%W!1Y?kE=dcpHJ?eAio!{=kE4Ch?9M~PGvB`Z{DMTSR{U;Eh)S=_}ngq2eXkzHU)7dOXb7YQ+r2t3Nu6) z)k=d!dH*rOS-#nPQE+Wn0XhykUC$Qq2;hVgwX66SrG4TWHp##V1&LjuBL_8_(c-GB zH_5f*YJWD+aO|<#b91K>bw9>Mh%CS5GBkjKu`0Sp2FcpOREY(i-s@j> zl7?+X$GmW51lBwqbz_t=#0iS@R=I!(3k7RD%@zv7J#!VW#^Zy?I*ef!);8{r^(qePQ(@=J_K1QtLQ#P4m3xhN59o9E+z&|& zhD^~$Y9;%CwkfsmZh{aUo+-h)Q>_)QgU)gpgTsCM_s_Kti={PMQIt_yqU?;aRaZDw zdCd41u9KH8gP0K-Y4c--tvrVls|N@6e#ttA`xQx`T$M{8yHVhlZ0w4fcb_v#-H(7x z?i9mC1@yjRWL|74r54?B@PyS?!=iu(`JstTJZ5UkU_GXGXcgD`A~f zytEt~4fh0rsgW9VZVIOE(yQOszk-ha{-IlT&5-i0>{Z$yH8+3?0;9h)efjMw`gfDK z*|_ymwCRi5;)^AiEB?6d$e^L{@D8JS))zm4TSFe^ikm^N43undwxyh3Mmr?11svO| zoS8gAN;-V1+4`S4k;4?@IwPA34O|{GDz`dP2W&KHPTmpym*ny1dtJgQ0|AK$p zP8o|6;A8eb&7`wmyklYcZz-6%74>zjR19}AS{fI#)!fige&ggmeQF`dFQA(qCyO5Z zM^J~A^7^^NT=?RMYv!Ju;K%9!OB3h5XzZ1kh^!gz_3!K7dZ`>sXwMf-A{Lij%L|6_ zISnT*TxFI>RdOP5I7M|bY2H2f$bPLCCG;AhuyVuK&*QKn^*zjJX+Fu8xTM0n=KBG6 zt5&3w8FhBTrcJs&Iz99?>Ee5gvUIkC?)~^1hoXFgW&1+{2>Ip2hW36fNhM+r&kd$B zxoo`jiD#;=VW-#-{R?~tVd`gG%zsld2h7b1?jWrF5=$=~SVa*SviZp%Y&`An_g5@>@a~RcixAE^}`;cRr5S#|8h~-M@@}2pMTR#Uy*Yt{o9r(Xzg^ zP@4!Px;CcU&Im|NOIv)uW@fVe_Zu6y#m8Ck87S@M#9yt?)jC)0j0#gir0py}7% z>D!_HzVC|+hlkH~r;*lAhReABH>_Y?#oVOQI)=_AW!nMJgPSuArUM|;lEOsS;YQ$ z%sour8u4yYHDS(l%iC0}gGaTZwDFsa@M_Sxkl|TC+SIcn3m3j!L$BD{v6&o>I?lwP#kbk0uswzc)|RB@p?!z; zw!IQ2)R|4R&RoZ_uIyQ1mX8(-vgWmlv41%68A`8CwqIyL=|Wl@N|!@I+Ox#Xcw5X| zc-pgtMOhduxyvFwiOGT@PTq`WuzFoAm}qb^F@D3bwBT*L=SW{TF+qt9Eea0r5?r-y zupjENsg+rEYo1Q%$Kz0Sv?y^uuK5IMT;WGB;WG5_QsF2 zv``6XE3D!DQqdC(*a5Q!JyZ7UlaXGG5{0vMQm)jQHp$x>j22_05#;(h<4$ z%a0kO6&&EIm*I%`d1o-ezr59o!$VE3z_r47Rv$@LtV0V5bhN-JIRXLF;8Rj~v@9t} zAt_#w(lZke<+BWd zajSHcUpEy_=Wmk+bktbO#f$U$%TChwBE&Ru6vD|bnp#)%L66d{WoZ=$JE^kmuU>Eb z)2G*3QS(_JvR<@GxaZ1Re)w%sU)OnzMm_v<{)Kwf>HDwOgl?OagT2f6#7wTQ)Hb(q zKJQx@kELE|3RP4ehRCX$m_BTt_($&Is4Ri_>a-G7$l+fSuG)Uwm5br>sk~m=u`T?p z*mPA+Sa|;vy)`pNEcx})#GFp6x^dCgyNiv-dA=l@P>Jxf?&ZCc45oImTDfhkvte-p z8poV-;vJ4p>Bco9Vs-NkohU3TF*h z^YE-{rB=LgI;;Zoe5%qk?b=ci1f&A_xhzW?9@{zzg;Od)nV&QIXy4vX?c}PmIl;Yh zha0X&0)sXlYE?5zvNx1$z1VRgaC`3`tC+K^A>(YU0=J_#vgV(N1;c{zmAj4C#Z8r+ z|58H(5FS|(HKE4|N7yKlD8>Im)AbY$teXVU#9*)ol@CId&Y!m0?mot$5iwx6A%%F+ zJ|sNWilwdMEPkKo!GnRs)Beh46{O9HP(2e2s2=kBB9Sbfz!QQwM3F;P&a1o!5fqak zs{J)@jdm2j`@&fd4PI0DO>t|xGdYu8vKmXKG>Y7&nWu&|bG|P3X$kp& zO}V_1JHxe9MTXk%3t{_YEB3>)Oa+D;H0dz)2ViFGJ>&MA6vN|V^>2<3jw>Q}pH~y2C;WD{iLiEy2hz7-7;_<2vvA zY_4Nb_3v`c42TiXBFl$J+UgNbvX9AnuKC8&w~a16iDOrm57Bkys^?#Ik~6##r0|ei4Q7I>GOK7Dd%IBoEHM z*5Zo=JjkEqr*5>B@~CCXRc#-y)Rzh=e@$t29b<6la@X+D|0DSjgnTaVTUX?rzHc`a zX*hVxlrQAhM63(D_-X6&3n!$kA+BZR^|SIGmFu3XtNc#kKKgH2Tuf_DHL>sK*OyoN zx=UII^uS8=B3J4D>esioU9b*f6`N)vFHc)5!}zyO2H){XVyzp4BmpQ3<%d^G12~ zx4ZZ$q1SEkl2t_cNU_0bjM2G^P+MX5k49`T(sAf@^N9Yp_QAR|;pdM((5ctE1kS6j zrch72`thZfv0ZFtJXQ&bk=`~`DT-k+2<1yhyG&kJi0y@ail>;%DNXas_MSg5ARapp z89DN6;vDio>5A=zf^XVFltaOnGhfI`HLCt`O$1%gXr*O&-IF;&zf{aDz)}CXOwZ1= zzUz6{TWSs;KhLl#`BL8WDDZo`Ar+=tc_f}yCgwzq$8gkjEczScJl1WFUNsXEDN@<# zv}Ok{pbd(xxR>_Vd(4-1>+D6m(kWTUiPv~)v(K0xnC0v`KD6ebj_VS>W&BYkq@}H* zprwb;Ijm5d)+>6}YtCDy{Hn8r4-qirD~~*AV7T@^X3&1EM`zUS$}EkLD!GlyY~d=~ z`e<&V@YdWU({L#^Cc0w(_eY_J&1T>8GE>r5H3ws`9FwI>&1l;ytY1SZy89EhFCP7@ zwj^j?R$Omf{fC4kLaPxi+gXCYW*t@2$NE#hbA;b^n6Opvx)FPMNIW+J*U+A+v=ZTS@W^2HbvyVFPVh~fyY@4xdD{+H2yLz8^@<1eoN zR3QZ+gw9XwAnzxE9nU zv|riMC2X+?zFCSC%whTUN9-#9RZy*F)#Ix;ijs>JNq>&hmn6!%bB||RJD%e9!lHy* z5gX7V1|6M-C`(tAsa##7xQ(BAvg<{?Rhlm~dYnmnrAB`;6D$g1fKg<#@w_Aniwqp% z`nQc$8P+ko?$&>jUkjhyz_GQ&nr%xhY(fSEv|udoK>hvbeUhfFlxAUoy0!vd zFbLZq<&}0`Q?i8W7xq*ULrt)iN%gx^S9FfzaMPptdmQEVl-2qX*oS=Ke-Op2Pty-xl7^Ez>W1qr!;aB>~h*13*>?$V5c;mo{*>0 z8V*kPGbm^59w{-bVV)Wq+PUtU9lHLl-*LA3$`+ZK!9Q5l_vVBhM?2*H@%5-pTH5Ke z9jr&UwpNRuxzptQpIJFVxT*^_s-F#IsxDpBhj0_T?V7W9PdI9xxw+RWh2WsnX(=q$ z5c<&Tg-Udh^BVpv?EZ86fkr)Lo4O5pbiW7xn$z|iD4L{v#FLDvxRGznsaAS<)nGbP z<0ax%lH}WTV}AWscx6@nv9Y@P;768Ho3z2^O){TqA5W`(gOLy-VqYvg=QW)fujb~0 zRYHqO~$X+NL(%qBRZVFN6P ztOZ!$TD=a`1yuM_>#zER=mcQI#n$eh#f4~EjE;e?-TX%dI9FRh%-(o^26NKRF;9Ai zBq8|~UIUBi(+(I~5{NSW!Zp1uJvOt46xWd^_g`^adb%j5t(aPn7ny??pf=0`v_{#k zg14CIn<-Ya&y87Nv0xXWu2I@tbT=3f8b1@?6;11;;0ks!ewHYM3!Je!$+)?ZL! zE)h!ZgEuZi-vA!`H{X7&ZE|0^?3uCR@u@FQ8DY8%;$@+wtdFy|S`XeWD7a|N9y-^7 z!kZVk0t=5w0<*qw)mzXGU3AztdZGl#m#do!oW@X1Pc!A?mjG{LS-()q8o;177ajyN z2B?j)jpAI%8g`6LSDfS{R@sw5rB1GSihfI><#LSfwERdTb*kO?*Op$H(?`{0(aiX) z_y`bbGArX086uGMw=Gi41DY%C%X`z~6%V|qcGsPKV%WYp4g2w?YQ|dw=xMU9&`cxR z^c-0)XsQ-qTV$6EEh4kFLxo$<$nhTnjV0I1Bd5lAoMD3i%;>XC{)l_fOFAgKCv@#B zR7F^U{ta{uMlm8AU3`Goheql~nF?w!d33p4n(Zx|*SzMh*CcC`4@Ktm_D)N6kDB-J zei20(hfnR4qx=@Xe-$b&^(TO60t-2$k>d6N{n2uZbW#zZ;pejG&p%l?jt6Ta=<5DG zkJM7Zp~b$SJ!o{@0WNY}o5H`}+t9pK4P!#cr?H`ufmUQvAqfI#@$=r%Q;!U)+&ig! z>jMdxpmf`eNV?4~@$Bz^OP6}gq7cU^i-|c|KSakEXb|sGn8d8QZ^%X>L1MuAfP7d# z{xI;4hssgM+sObRh>KI&7PE~fg|ASzip2;A=+Uo4i80gvhp_IM-9-`NC=*GyWM=;|czYPCTkFwD+gQY*%*D^iVy z9KCr%YM^+cA6O1!PC-3e4s1HJX#ng$XStI}_Msvxhn};k(Mn|6Pj?LvY=HrsH#)cn z|8Uo^pxEot*MPJ|&g=U9*5^S*+#p)%9k~sLs#x9;S1tfDWK5D@)r6u;1eJCInR$fH z^$Y))>0e^?4@RTPkI6%RiZ_Y0l&w!;;dQE(W ze{C6Fs?n6lEpqyzuzo%TNuXljWeB(a& zS=Pw5oKc5rW6XIrqb}NIvl`P|U7JjayX5Vi`uL*LhLJMT`k{;0lVfH>@j^r|P|9u=0y)kKu2Ek{mz4ou9F6hJoqIVb0K2~o$gf_gp+GTEGBi?WxWz9 zGrBr|ii+%aZ?nJV&iuL>K9jY;YCihr}Ic6MhzWUzPRXX&C5MvkLu7X2 zmZ}bw{4L*Jl9J^!BH&8qiI81vWSuG|s~A5ufU0qb&c9yX zv+m~gg93_0boup9qu6e_eU7piu&ipsX2tl=CprQo2%Pux;P&IU0Bz5f-*I_6sR2eY zHpN?Frt#jWt+P|xf+EyNKp|1k?b99gt5DEd;+|vzHl`?{v829@K2lWRa|wN{ElnvO zp5W8Qg>MX;_4qc12(Ee#6O2qU#H7tlFYK))%kyFl!TBEa3j-5m)?8Sd3;S7w2RkQ) zCt`31R$L~7TZCm{#O6nP0%A??$mX&L{~0cP_{D!ocjW1rgG8<1|l4i4bs_M=~#Z4mPy?SI~j>!QXvK^Rq5eU&02ixuKFAG*3DN> zbu*}uWD$OQ_n;W_R68gwuC*Nwb(>3SfFMhoek3|ZF4$U4Ogib-N`)-Z5ctHyVd3|X zLy|fK2qF^uPV?EmF_0llMS#+KVH-f1n}eWt_`H4$pv3EUlOIh9gvoo7T7~Yx%qp;v z*%(?nh>!>rAd>+XMQ6c{Sl(LELp1t$T8<>>D)QR)mc7L0N_DJ&1HqljB4%aQgcYg+ zVxt$@IjxSeF_ZGBTaNF@c@yrC3_;|^B)oQ^)(--Srah^#1P`?MHvp} z<~mg+jgUYH7O#FyIDLOi7YL~1;UMBw(W_Q>FwNx1 zWuoV-UH`nQY|jOghQH0D>p7(Yr_g-^w|olTIe3gHhE(n`K~m|RpWuMb8qXTVuu!mXD!Nv z!WifDq{qfi5h^+s3Hly)q4AqrEG#>MWighPpW@7)`BIOyYw0`_Lt~9_lWlbp9qh*2 z-0sa^GYXydNUBc>?1Tky>C=aP7fLH;>_g)0!l*&qj66?w#>sn=n{$OwqSeFC9c5iZ z33J~=)Dol7*eYw0nYBYGT zpU$nLO-2hTJRaI_26#y*Q#%9L)Q+BV^2dh;ZtK2&(GgHo<2U1v3+i;yr5H zmvr>$+wXJ|!@i0}e(#YQ<)_^bw=4{Ia3e2@aLCxKKZpbR;|&Mrqg5$)|2Qb2RV4y1 zm`W%o#a>5_h9?q&uMt;^1|UhP%>exRvoUG0#AkYlgkmzQ@g{+Ieud{iMa-zdy-W}5 z^^K0Sp;#Rg@QO>zy}z&;r*Dgjo1D+EI9;Nt23Oo<{!)@1+;8NHFR%3F%W6L>pio%R z>8lzGN1GGh_r&UTCq&T+l@#Xdszv$gu>p2ZD;pZ{ELZSD8DJO zg>Cr19#1#_K@U)Iu#T7o5+JsV_}{S)tTlvKft{ms;}zAKSY6=u^8BXEPz@>dhAZf{ zJ2vvYrXM;H8nPHGQeZro6uyP^O`xHj6i)Tt7a4MT1~`aM<=@p8ywa_n=aanva@nD8 z$#l9AX3EfyWbj0Q*8D&eCz3xKjE?x7fv)-mWrDPL{u>{{GBY{C_VAQ;CNvxNAE?>nfv9Y>-T~fsDqqUJ*Fez>OYdD%je-WpGSM^jMWU}*8h6ck3L0xmmWO!k zuuE4$z)o+MTvBP1Q$GAel3G4l4KP+p8Wfj4y2lX+G~fmCVtBk-5WraeDuu}i`nlUh zQnaVV2pmwMr211ZBGA*6@GanX^I;qWdFWU=Y+Sgb5{) zasUUh`&N?EO6PeP;YMew1L=|WaMJ?GmN7?>5A`}wSu8jc@3UgV#{?Y)APhB2G|J;( zPUZL28EdU{Aap^0vcz2%It${RL9H}~dD}B^ywc?4J-)B;04hQx(K_Pj;L&G%BZIsG zq(3mJ5tW`Rh4_i=nMTl=`=bgyMv;-jWzL^`XoTs|cufuIjk)Bp8rqOl!tMQB3d5BWqAOrFS#Vy z6DV+M%yQXhN`N3^6@yLR*`ESJ#!Y=8#B8BE*W!v&2_>U|oS>QU^J2ID#w?s&;!w%o zGzNiO zw+tk(X%3lb)Z zhim*4$CV&X-2dR&VK`>}q&nE%=4lqf1uT?Sp@_-?RIQSmN)cvngL+rZ?do1w8@8aL zvf`e8?tD)-A~gNiY;J<06!dRb&EbzUH2kgOKP3;ff-=2UVix)HP>vbP+{g7BU)?t^ zIiwwEDNqCsnW%CRmsT|(6n?x4RX+_>Z|16!i*ucXbF+*_ta=HKhj%7CFG)CsEcilf z{e@Idh+r9nNW@sQx_Z8fqUJUJ(?$tI2EKbx3u`q9g)`rmUyzcRUCKcM^ z%p=z$3=pOOo`8e~Wq5t>pNDa_?RiDVScmCU+8zC)ydzu))Uto;wl=e{-`B7QL-cO* zPvjCQf4_L;uzw&E0Kv4x6WP=ZOlHYAUK%8H`S%o8R3Z$8|MkOq`-xVEG^l-uipkD; zOwM+>c9S3FDU1}$f@Y(H7g5LrXjjY~j}DHV*HP!6vr+HwU0nRrD66@gR-wV=Mf8|C!DL}Mx;P{6)k`ZnRICuGOt z*Yppz26dp5>^fshezWo@V$+yE)cr%-L&#K9x|W0oIDX*Dz6Z;i6NNi<&Atu8U;kxJ zidwk+#bf?L1_K?l0Qh~MM1NeD`X3K5u@Yo)7_3-#_>aU~BxO4N&zv|?vCrjZoiZ6FhodHZWNBine z5BLA0D9POFu~EoxUX|K?vhn_*i1rthYsum1Y^aTAz%}{UNMTYqFktQe@2Zkd>Xwhl zSgC7Ou87da$GJOVz5Cj(PU=QZ(covf#(QTy`_~E5f3hXmj(a5ZRD8&*_VU)b;lP{P$T1{s^E%IrVZOny2ZqciAjS7+bA zpU`KO4n(9Y*@cM+QkxnTUEGNU`=oolVwL9ph`|8~=5|z5lMyN;~fc0KYDeL{B*x?#r6&o}F)BzOM;$ zojn~0Y|U<%MQ>Lyak*x9DcJV&5s08b>Z)6!a%?Z{|2@&BlzVpA!2aC21ILADYw^bi zp{I1~ao%@MSy=@yPhUiJX&vm(Bt-~lyU>yfCJmL@NbueU2hf)fw%U|ysBw8*&@+-! zCS`lgc3ECffdl8@wOUMR&3;s_YLGng$bD=Hs{57Z3?oj z$jO5Z(Aq|udhJMr`zk+O&HVW);N?MBM}cEWX5P4Icvg{WVoBihw_eR{I&Hl50H({B(o}u&NiC;e2-C?!h%@LUG_CI^m7oVqs-urQlk&XT^0_!i;a%n47M=Qp? zQB|C#_2KZXt^${<$h<-oXWj9$-vo`MdJ3+G^K)kTN6qGKmO(JvNQyZ@>XZUE&Xdr~ zwf$!E$gKUCtQf~v*tm$hj~^wfl#{X+?cf*ZheV7Z<_xyp{dO-#GWz0{lrhV6NEja9 zI|Q0$B&3vxkVtrC)>C{Z0m5p3c2wCQZx+V1rS;9sK%?ZXNEd@CTd_K658jxGRgg@|q85ICyhvho93wg8PsQ96z#&X@V$aCs1T< z&T&Ly3CR)ddOv5k%dxF1pmn3{-K!y<-J8GI>_I9fjkyLtOP|5;$>H@FCxLZuP-%}K zBf0d^$-sfOQ&;lGEZo@4k?9fB14penVk5c%?>lit86d48&|gQH7*J&^MYrEv9r z&w#r?`#=8^8Ls*^>MG7AQ4gd9TRscaB~WPW@!jbSy4n6*ZT!37`K zWEW&eA(xs{Dx-H(x~2#guJ>ZmJEK*)3bbMZ+RCaMJG3VfrKE}CVzOElDvN|$zKw#I z0H}DUs-m#;oMvY_$_gB+OzL>we zlVM}!iy3$ah+U9~?U%V0#EU8Zb2WQ|#Q~dTe#6*Ykt(LQdm-sNpekcj#ALPSmKNFr z5F^4jgW@*PRS;Ef)ybDqA{1g*y}0$~luRm=fyN^HW)IJ>H2`oZ`)8`8pD8?mC@K5U z+q5AG)ClVXoANFBGT4iva2g-!N>bZMHEGVlIE12(8=xcBj)>gcg3vmp6ZOQj#=NP; zX#5wIghX?ZwP0dZzQ&T4*FeQnh1%Z`Rm(uX>V!si{R*W)Vdd0KoO8b1x9**x&c(aq z(V7GUB-VRINPILPIrBS5;3^1&9Ef;-urNMdZx0Oo8zO}tM_kA?4Gg+JrzI1@AKE3^ z7mcM8Q9KjamuvDq^@!x}zn9a2<`?3_<1lZK@e<(Dm$An0{!*d?m+Z4@$*txrt-*L7 zpALcnx!*3t2nJ3RQcL++P!|J$2z-{dt@GVRtO=#xu{QpxOY#}-NI*2GvQ;!rf#aE- zK|p{K8A^+fd>mfqJ7A+FN14h5-Lb=B=Fx>~XU!3)T~V{aMIRGH8V(2R>y}6M`!)_n zs5#&5xOvDXmM~k~%u|26#Q1DJZ9#ASiR^9MW`F9{;%E=yUTeBdqw+E5MX`=6UxD4` znEE1}fU@Gl>eb7LdLMVBXC0TzE`eA`KFXZ9D!bX?+RtjO|0{TEuHH{u^gU-?wAq_v z1YX3vjKBV9s@2<`Hgc}9SZ65#3PDEp{!Wr=;r=d%pSXop-Vn?C>r-30qhID!LAU`R zrj+8rA`Vw-o1;JS?MrZ~jgCf+Q@XX5aC_2g5Zy#*ZqI~stEAGyve8#zxh+38$ zRN==Va&lSKb1cEwBvJ&zB9UN1jd%$3gC&nh9D-|F!U~~P*F=5G%N=4C-UlRVxZoRq zX2D)tfPAK1_q7GyvJ6y87^V9(mB5J;BhYH}1yNkQ*lnS9Fwl5ppxZbqAt28-ATYn8 zB3DJ5@wo;+xkRN&D@IpJrMmweva?Z8lh(_7`*Zp&GN3xNQL>fEpf$r6xR0ZV7qm(|vq$0nPk@;9s z5357rs$U71C3J%I)x(hO=c5~<1gd}{v$k9R7XQ92k|jk6T7qtv+oU+JiC}G~vC1;C zH@OE=wxqOg0EcMFD7wwlbI)!74?()_RJg7J<=qOW_KV8NLPuP$eU0#r#is8xbHa%% zp`8psA=Nifh>b4YihcmP6>>P{kK%B0*E1@zLDqk^o>CIpy<+fCjwMla=qPa%AWRf| zBo?^!1?ald4!|&4SXKCjXeNpZj$+|W`pY{=!uYks#S+(e_&50i?kyDo?-fd9IqQbT zd&g0fN(}xPN@Ncy;&CT@2JsXigRlcvUJQ2CrdUHPP}YDDA% zvgs93G?d8_Kf5cq^bRM{1)O-XD#Li}e%|3i923b7#Vo{C^Q<_ur2;=&Exp2_`?D2T z#$vjml`sSnRa7*VbHY?(F%2tN{Pl|sDeoX1#M}2#E~ondKe%-Ll~kWB4!n_^{*OP) zAH;-kht|%8$sLfT{`MGmfO9O9Q^O;EoDO082QtQ?Lv1`TZf zW!?tBw%JnF+!|%zNd|IQ$k>{y6&R{pC}2vPZtFvL;OGk$pCXR~%c^nQERK&;9Krq; zVgj!mRce>r8$b$;^aEIn+4rcFMviiH{dItT6pVcKwoywl$XNG2azysQc)bwtR?6IA3M2r~2ikvnAsgYtUfCT^w>0Ad%M3Mr1NN zq~nukX_tSoS16x5YVq?2HFc#KTk;Dn7v7auyE>Q2^o>qAi%I|I3K>xck;n~& zqIOkV09w(*lO(jE%rnBSg+a+uio5VMmsETA-DSi#;>TMA?Zb_ z-TT%1CZn!LBQus#s?_)uZ??S{uW+1@HgH4jkf;Yf&9g`7yt%%d=iGY~{1B>$*FEf$ zt}hl$gHq&V%~;}F>5Hz6@%g|+)&S|{x-I{XNJbtcdV}@&^rB(qgiSGOT~7tW4kc~Y zaZMUt;1Y<4Am!ej&he9TJrq+dU=88)6php6LqJKz)?fb1Z@Dr63om&?vsSH{znq(W zu!Oemewv(|0Z3`nnV5Wc;o;WGUs`1~J4yOP1QY0LsKajWOP=w!2w)H?aL+79pKu?TA$2A*P`l9sc} zT&Sp4o*TP-(%3vr&`DE*8VEzPGiYo%my?G6>lCqdI-4;!LM-pSg5wx$o(*CD{iI23 zqyB>lRA$^it1i1QZ^-cLhokXsSvpoaVu^oCTubrp6<7Z-$Ih(#2Z+p6f0}V-)7x|O zp2dErJ@NSW!i_$fJE^;qZijH1vh6$ePWY`%nXPK5NV@wl#{f}ab^S#4IzlU<9po*i zhLvh5Sx6)4G@?z z$Uj#s`_eI*HX~4{F&R<5jWtb#L4^1%1Zmq*$;A6zONTi2DuoV@MOc1MvDMbGX7ix` zv+9s+jpwZoafE!SoTkrAzzrunz7tMIvG8I`-`!{0fq7*SnY|x3+h{%28H$nAqE~o+ ziTYt@bA+5GXz)Z^{aXj$t7ua0hVRp;qND_03`eKcEU6^SX&C$BNNbJlP$~t|bqpiZ ze;4Kpj_NN41XaD&Hp9Rh)pZyVv*&TcR7B(TH&)HK(=xS0(&n~Af0y6U%5k~jmxL{M z7;2=?%OCTq5&2`oU0m5`u9lwabpa+t|I*^rog3s(e;ZXG2Q3Wsx zclCU% zKTOq3StZ;q-rC!3IkuoE!g};SrQbm4Ap$`fX%SUXlBrZET>^Cq(yL6Gkwon{)3Z3N zfO#Yl(RYdOf>&d6gTI#`!0jhWeo$8}Uh}!gIY=+-gB|P-fQ+XIjpg(E1eozEyo0C7 zuo2D+G66)A9BKqeSae~7wXa7YI*PLl==~WLCgVdIoZuP~K~)(`+pUA53UK*_RR(YV zL$e(_WF*iWkd*v+_ZA}e`rYjkcI*cCgDJ%wG_hM7d~+{8BGs%K+JJ{dKU-~e>s3YG zP=i_Tg_VIk+S$N~yq7$T>Jk)i0#xh7f|BKS>3 zfhFE1^i3$|&fy^uCw|H+uC>(`6lTR8aPEoA9J6v$pxM0(a^I^TGJK-a=Vl}Bcn;s7GPj~9$5A%;sB&rKh@M;Yy zB&LN4Cr0}4sipXoJM3#6L$u9M@P4Y8NI_#NUnT>mvmdIoZEYm77v} zdD9ESOsWiqSLZg5*cFIQVDKLeIevKFC3C<(n9IUO5Vg~#u70_ zd+jI(cq*hO$H(wFGC#+KQX|f{_^h@pSk8DA=zyf}c7*hz_wW{svRsZ?F(slt8ekD= zr@o=G2ONP2lW3>3;-W#)wcx?E`QGCPsY0Aw+4UaUAgRn3-Pf5w&hAqv4~0)5^4(1( zCjyL}xd+Fu5>T;xaL`okN|8a)$ahh^zK6;!MLJsqnlbicT>6Fu1}`zX#k?Y?R}7?; zv_WWntfrr@q-4X9e2veKGz>9jyJcn|$AMyggzj~>5lG(ExL952LM1dz5J7pp3800O z>N&JNGTdv{Skhp} zFN|da3yZKLY0C z>7KX#6-QN6&=n%VvoJ;^&`ZhU*-17l$0kE$k>^w@UGfZOI7$fvvv+@DXw|=K4tLLU z1phVEgQx-wCE@P)83oRQ8L7BifSVRRmi3ZY7)#IR2uk=uUig>J9#-K|&OxiiMx}!7 zK6~9aj)V3y-o`v>aerk#L@JAaYhSX$skis_xn7N0JjXqp>GN&MbRdztYvLE3`Sr%s zr1$3%EMH`2m2{~jJ19xf=UH0_p85d>*~0|WVYWLCZ&H?NVY(HnIyqAD?C$iJ#Q<d`6|M3s~*h?Z`1~teZ z9sg1GUwKfO8n!tkCP6rLvNxQuyLuVcQl8OCNMe4+iK|~zNZ=f@vG(4&N7uj_KYbZ; z21c(X8%1WI_&GcYaJqjC*l=5^CPuXc+nSLsks`F#GATAiAAwTTQP5^{88C;c zN^dDIuP=!C$W%;Ts!}oS>)T&1N;+SmbT*U{QT*SAW!dESo5Ss@Yo4*inWA)~@sd3@ zi{KA$lnF}2NuCT$D?Bk-8LPtJ>f*nW+8>_`Py7oH(~m?Gj|-9Q%e!s=f3QYj`;Z3r z=~FC5*dpcs25V%-R=>FX;hECXuV8BOp|p5t;Zfh5S`pKgozqd?OS=W1k^=iZdeT(L zF*;%@7b~<$UL6E;3~EKQ)lE;6OMjWeh6`LiHvE4~y=72b;kI_$jk^=vJ-9<~cb5cr z4GzJjad&qQ?gV#t*WeBzxclwwbM|-7kM64e*Hx?5T650#nPVhM)va`OT!kRvwE=B- zcE+9OW%u*xW7NkR##oC?!&po)!dDzz^V$Hg66JY7n1X_VCK+UjATpd8Cq%~~BS)y0 zB-$W%JHoOR9`e9oPE=va7etgpEn>4cYhi00WMPmndMmqdk;7*v%oRzdrsysrEUAg9 z1OL9fJQ1G1o_F0<<%^zAW%G;=gPw(vcn{o?~0Jzbw!? zA_v07#`I3Bla7SSYJZgXTY+ZRELfR)j3KYf_)sC@q?nn*D8o5ud11G_eMqvWC)BEF zxS}3R&4Gdf=u(wTuPCrNnZo`o{yCj!BH~Pgl4w+4B5cQdY!4L0f2b6%KxCL}LSS@C z6b3O0L{ms-mp4}V_n;d|f8B#Kq_(mXn883s5P8O@_n2`Qb$*J0`AV1%ckYP9g1+4G zNhB!sVcTuH4GK{r4X1fMae`3XCS9+jI>e*C`ftDIFa3oVZYJaerM9bK<(w&t<;Xi5 zu5>*xPQyv(f~E5@$0k0dSJV0j%o>NkLdQ9Q&L;~5tJC2nTOTRM;>#gpEhA@v;vaBw2-Eb`bd>2!;g(a4n3ik{qXRCm7|f@d0IuaVsax^N}kz(%CzZTEMC0JAj+nt27EopB=UCbd4;Ix6j`{Fx+)^F z=8bMe5mjPI7ol76<0GA537EZ1VP4!X;zc4|>)Ju8_|FRL{P%-MFeOc49t0jH`uav43~ z`8cFCTOiFpcuQ}Hc@tk$QU3GDVi-)S;l@8 z8b!Vl7kjm$TUBd&OC)I=sUf|E%#T)B-=(?5$d3g>Ndmx-&?=v{6efNAhT#qfrka!` zIalK^Gh(tEPE8e3q`9k1pKUJ}s^Mw@b82J&rYViJT_uN~2N=R>f_^7#moh5$%AuP8 z#c@1w6bwfIpX9YoYrRx`_D+QgzF5PTIubP}K3m@~{djJ6kJ>GGS7%PSv#htCTLf?H ztVqAMU+9dO-3)BmRa|YDtaZF>7+;TC_M`fF%s*GWzE^9jbK4^C?115gZ!6B4Zi|iI zI8(>WlwO4@nuRLNQ4JnUX22b@(pyJ~C0kJ}b)hToK^86sBC?@}nUyT2BOE>~zVM^5 zEV;K7dr=VTjA?0$6#$t*Z3$cLNZ5>T*osvoilrQ*2O&Sf>ig&P!WPy2UQoKKN79NN z9)G_=eZE<*vF2|W}sNjj0?%Mr{=W7wqSukhaDfR#r3H`>z{}$DGos zJ~!!AAas;Eezt+40`w&GGhV-gBpqjP)M9-aIAbOxCg|=_xVptM(#UkV?$6ZGj#ln)v$0MFUt*JaNoE6HR8k;^(B+NFFnC|r14`OuGOt9 zG3)XZHx8&c-N?`^r;M6r;qde{#NeQ9tM|7xln&>JY;t|b!`eYd^i@@@O3G=p_=EYy zsS8UUVeeY`7kc9(+s3I_=Y8MCD&kVOTdb(q=gA ze78`~o05w8yGtxitOhQMWD6F}JD{A!Ng)LF@?D|^+K9fO+Bt*vRJ?pxIx(WE_EN_8JKe7baE=SHYjmwZ+s~aP)v?{^L8{c?v^gyZuAIv5Jq# z7@w`c?zXZYe^avC_qOSqH8yuRDy`qHPNO2-No_Dl!HHvNl8IW=Vmx&Ug1BmWf_84RBN+#XLI)k87{Wxuj)qi5`lSeQ;6rZj=f3a+IOs)a z_=Wz~+E+l2l>ww&j`mQ?0%PuD9ywp6|#HZnw6ByCbk(2#q$Nt_6EN%DzEg_IeJjc5U$0 zyq@0{VFfXb)xpo%!`VHw71cpyCAG!xZ>*1_DeUfjy%gvvTQ-tl8m0^)Yv@N1R)3k= zX7VOlqV4zNP_mVLEGNW3)FL)bLwXYyZ*XGL!)?t7b61*Vf5Rb_?D`7?_VrL}FE!-y zyUGe$5nOP~weF>tLy8~gVfc>VF|q|YfNlG`RZkz?Ji!Vm)INdvFpZb&(`u?+xvV)@VucaBE@TlfCS@cS? zk>+dF)AWHEyV$@-Wd<QPkK`ye;4M=$Ctye-KA12LT*Uv_`-8AbOSDNhVMw)AP3+Q%>|A2HqR>*D3XpvM$_^XJ+BKm<&Q!gUvJ^`bD*$9RpmyZVWMv4)Kxj%OZQ&p#n%X6 zke3gk2uz}Qj(BpmDfK*alVd%oo^Z)Bv~RzMrx9Ub9AprXlz&4lE%v@t#KJB=csxl3 z`FyI3!`|>a|0E9e!5>-2Eq*3~BoRTQwAq8S9gXc_?lqq0{PR}GuEyI`mgI58pU!9Q z6e}5a;UHq5t9P?*>_eS^^Iquy)%$PWHBG0YvPVx515q)$W$HB9H3t95) zazz!yLo-l7+SlRni~tqeBBXDdN#ghOMAJdoV(22bZqS#oO5%ly`JfSkL=M6_$&$Ju#2)y}fTNNx4FQm= z&$=^*N(UJGEWw!K?Bq+s?%Tfn2hRs()BjcAcYC?L-B$z2wcKZtWDD?f&i+PIF8rhR zo4P?9#s%ILUkR;FgJJnSM;BE}I;Qi-TMoT1gz_u#28zhG!az9* zmCUDAeE~}{CvupGS#9wf8UG@?*$u-n0nUP@1>t{fXR9Rw3raEO8o{+NKd#ffIx#7s zqec#7{OkZy3~mk(sULhGj5c!cc12VjLn?|sIe2zyUaocWm$W_Ys#fB#O!{r|p-Q|A!g|Lf4CqE+oK#s|J#0N++lBfa;gTe5DnJv2K zf9ZQ#>NjlJsd)z|m!^klm>3sjBUmcq>_YhiuWu(zm>lq zr6ErN$mG#+j@86C_;@ENWp=AOX^8m)1ce!nO5IOb>DZ>fDLPzX@^>qs^u>%WJXy+= z1gygVi?ID|nNZ1JU?|Lh%5W4LLGLU1_ zAha*HKsMsW2my?Pa1>{p(*OhTLWTt+4EqBJv4nXaClU~3Dg#TlJ?wjfaVC^bed0+; zGDuEgp)61T8`7hOFd(Bi58c__fu#az;p^;o_C}F+k>VoM zy;a%}iurH$04jqRH)ALyj5M8c0(#q{Sl&9$d&o;;kX?LTxZl1o z4il}QDBaHeyp0C2moeTM!IkA65+IQT!_ezMBa68LWt<`Erx;El7^wZ$#J##-W%8RM zC&cA0k+}VNLP`+Xa+}_S`;Ae3UjV{dICV>=H$NeiG?zVLv zI#}==kmOd4UKxU`RzFzV?t0kUk0E=5vGdC*RiwZ{AG#;aW#P*6#3(}<$V#UC9RVIW zcqa+2U#9-O^+)WCQ7ItFc-(QmOofoUA&g@md>3g^qHiD?Cw5b7cSpKNl8d#tPnk%g8v|{^43;6j)q+WA79E|!L2oaz&;c(B zo?OQ^+!kIB!}^s96sztg;#Th;7*Z^M-OcA1)n166VbR=J?smy${;cNq4+%CL`o!j% zX}a$bxTN-Sxv}R-=1ndojYOGsd~IsPW?_=fe)1VdwgI6v@$}GPgUIW4kb`K2&cQ6@ z1$$JT{hY(y|;qF8`l9E_h9w?cHafcP(iLb1N>q51}FHq>Cs=7Mr z%)YD7lj~`@jd-K_(?85vX&^Y}sR&nvQXut{M|Y8={LY25t-R!}+_!Tv>E!h}C!r(T z;6s-=6FB+s@tQcBcCq&U{;wfjMs-~L7w}9}S}cFxVYb&s+;A-#Xt!3`X#BMnI&H~U zzPIB1UfONb-Fy77#`Vd0-?75WSAwQonPzQnXZb^`^G&PW`?1a9soORQhkKhsX<&AK zV?SgUDVt{Cq~yq7ZCq`-McquQUnD0KM0U4qJin3;MqSf6y{Owk$Y5EmnL)C_;U+w& z+d;lPk;cGfKM}(4fBlfJd{@D@fVPhQd(&s0E|+=~m!Sib0pXajK-Xu>^l&c_ssnMx zJn-AkHMbw#60xs!*_sFo{`)4wvJf3-$Jdvzn*`RQ&BXW`J-028uV(@j;>N4rY z5~3CLB%|qTIjnh&Jq^yfst;TuQpOGNA}eXjid8Hlw;eCxu>TRHylT@cq5PGF+g^gd zb0gP1%pllqT!;6#xblI}EetuhVGeFyX5MZGFR8Z(Ef9!}3JgktEBIn0}lVHA?BB=H% zV;|TOtv<2%!9)mbx}7NYs@|s(9i2Y=_KI3)MyYv28?6yeWB>PEd|;WDqAtchgU{j! z_R=)ESaiV~pY$aFL>9?_-Gf$NAcO^1KgO2A_pYBEf3f?(|H(moAIcD_laD;0mf?c_ zV&*S4Y{UwKJw*i@z1m4u-~S&QPZ_-)x9v2{=++z~=(E7&2(AG~M>D4i&hK|0fxZLq zfGdszIgbyw&|m$uDg*H1UwI;{M%@?*;`-Uh|FtEx&MV4kF&#QK@-zZCSEbPWNI%d$ z3|3XThvElE31+JM_L^5oGZsFJ*6i?!ydzx^&s1!Ry8G^^LAi+EXk+8KU(V58KL{D8 z#&-m7q@EhVjY__6w)swD8*EN!npI<-ylr4oDzKdlhY>o|Z-Vj8@t6b4YzYtLUePsB zp3L@NbC(w##5Lu;wEx=bTSlVn#+mhiTHdR@7Q}d6lH)s6h{`&&Mi=;qkwRHKxYw}1 z9`K@Fb2YOID-Sq$h^^86r%cH{{coAVcuL7$g0=RY_91nf;ZNpMi6_VV?JLUCEX|La zw+6AR{~3{w{5wP#A16sMFyH&AzPNljtc7{y>2A$lnnZo|(W^NX>iq4S^`El{&P;!O z17^G7!=s;Iz6Kkh^3Qa|g@GQS@9zyMFK6cleT|EfJLXKtzt`tPsOo>;X_uz3qNZr<*3Gjlhu%x zk+FljaZdOtO6;CA)z4fW)Wj`wO6o#f1F(JXZyvJX29+COj-tE*UBgcolww2y;K7V+ zcBmm5r2~ldMTh?dOs-eJRHIz4MU3HLJ{07E2-(UPoiL?s;GnD1H9*9|Eoe$h-A2QL z%GXg83M=55s%;NZBCW_?|I|c+!ETrU*XdMC ziU$`i#=Xv)JW!@Gg0Nl81QzI18^SSfa%$ct{)jb;$Lf$za&Qzj9L9?%FuG-56N_7_ zJb=dql}qU!l7@KlRcBi9_%-J}cF{&xiKx5$<5(lu`~)qyMblnQC_HPp2fFYWe(_wd|{il&>kNVZy-X{wSWadFkf*pa{=!ET0TY zsAo{uru=O6F36Pmkx8eQBx`{j%qOQoEOm0I;Bn&@$rBMNTB4F4xsrvQ=yLODdJ|hd zbC^ss`5~k5jD9eC$bLLI-#|J4dDJ*@=7fPcvDAY}EQ9_h;kO24V$ydZm_HxClFTc| zUA2ZbLO+b^O1nr0wLUvuPO;-{SiL&3=1wv**DUEgJUv@?aWT0a^>h0@XmcWv*y^hx zoIBg70~~beB_J7XD5o7X<;Yu?aDKOanA3X&xNwFKSZ{@PU+Er?8T@$Inx{e7IUzuL zK@$pYj|IvoqOWO&*Z?gR7n*U96opc>LA*l;jLznVCWL{Cl&YCXQZKMycG|xHbj6iJ zz5evf%*!Tj2%mrVF#_xTiMn5^Y0MfZ^S7t-5b??SBw^rEZ(Soyf%uh!gIUma}x z17VYu@>m9gKO#4>(!gfJA74nFWIccyVZ@39AD}UIB4da z5dhxzw^+SggB-OF8x@!mMOV8^=f9^nyT>w zi@g4{b$uM=mTTPkthpQ#BiUNtH;qovu?Y7u6cu@1R1_`iH@+DHMKbk@4u=ue-VPKMFovru%c`+VQu{t%$&WOd}(@i|9Fevo^(?x z`^R-(_w`>J+*kWmzINQxYcbXJ=k@qVg}%n|((wkBB<0TfrAKqf?b51(Z#uJlA}gJ8 z`sKfdGNmcYLP_9NfBa&vQtcYQqR zXY$ofizg4L^yqyja4(D2{K5m6ymi80Y@?hW850)E9*R>ecq}Ghm^1y!RSC_6XTu_F z_RIS>Jc-*eGw8$x?*)BR5U+{coijjeP2dW-^4`>s^?iK+Bp>Cvv=y`)0QIlUSolzm3f(tj2 zaA|5BUMX~Ucy6=!fN#q^;9pISH7$IEyr%hjzFont)5AU?&k9UGcaya;baJV6!m~+d z1C)=QPAR1M9Mz7wLC=SM>C+c%(kQs*sXwh^3>Us#!1BT%Lt2o+)-Go8#(CM%1Mao7 z^DJ`vY=R-kKy@vrlRVa)fWC}z+$URM(1GXB;9Un|_$ML&38PvX@Ix=JAI%>?$dQU1 zMw%Zou{{pW{@4~0R`3Oo)^$`*L-JqdFOqm9ve*}gs-J1hJ{uV!!ftGC+Uy_j#APRaNY>NPm+eGk$?<9qYj_p3E zWssIESP(j?X*oUdhiw|uM2h+L^W`p1A%3~*Pvhgr3aS1g7vtDL#GmNA!9E(LuO*?& zYOk;gE(f&8K-w>dF6K%fEuOwmZ>%Sw_a`VqtUeYs(7q7T@oK(`!HPpfaV5L&<12kniOKuBxCg2@A)sBVl`tm>`ieyjXKLf^4Pb2 z77q=_k)jHPIyiQ2#wCv^DF%IB77D|Xfd`T8H8VO129R0Kt9J!xoU#LJXiHOTtFyqtW*MiSA z4IP4k1Q89yTRIgILSB?@A!C3Pf7AebKSTpD9?Bnt??ZrM#UeoM`L~~vNU$u>mSUMm zqg}{8cdznWp=>0s-=)G|=Dh|sU?cnbfu74|OluTw#4WfO?7~88s8S>7&43qDe*ba% z22ou}<|)>IJO6dq9LuoG9j{{n(P;8LVO@rY@!vcJc)Luk7A;RiOK9BF;}h>){ZBxX zH27{2l)iSM{vbbGCnTH=g8hA6f1>v;5vlkLfIFO7j@Ws77KaN@7A)7aZEfU1>bV>K zHiRPtvF(2+24)SuOO(L0(U?*cE=aNSuOd zT*Ne-Bj_k{H{ltMjyl#DZ(#4qB`jOFSeo~tFuIwnx->tDCS`KzH~GISVi)MvSiSO! z*R%yZ7p|9VwZ=+pFg}4wMI6YIEOQYYbk@ z0%cZH<(9z(J%SG0=aBF;K;7^r%?hn_G@<|vhg zzZkrkeL~x>T%5e=1y^xs*TsVqha#dd+v=qds_p_LrbsFZg3SFwY7{)#;WF4>mz{ml zyY4WC8txX3gyEDRB_rc?JeaUGb$`4La?=n=^0fR}R#B{X)Ou%f$!L;hyEONlhtU!P ztU8QZw)S6GFhKxu_|QURDM=8S?Ct97-MaJu5?piifU^TBD~zhUkJ0Z-!0aqwNIWas z?9;8X8UWc)alrBS2?CJb#=VK(@+k`rQiX}Yc9ByYDb%PI&o1QDXYZ-P$xuWM`Yw@l% z0IVi(Oj#8AkmjaH5H{Tk_^e74%X%m*%^<2G3#puTe_eUJRr)DImXeWqv_Sq4(-T4! zLRLak<9LDZqK-qN4f`ydv0`PrF5&*Cb4oQ8j-bDV&}u5LP&wrJke5-r zsw}b>`#%77RsjD+vBP%D?-9A(Gwdrq5u`H6Gv{<|NLdRU4X0hobo6v=*zrp9+t4WT%%!AX>$wvdcG_Ws!3$fZF&c0f^SZn zj9SA8&6BUys+#>BOejC$!Yl@irK1|67fk>%(v|`=>MTSf4uT+8>5{)Rs{PUGpjD(X z4$++Nt8)uc)`eq$6U~yX3RnBaLyH6@Y;jGdb;D6OKlh`X$Q%ZDC}}AEt?$}*G8&>+B$PiwRvl)={s3%dBp?N4Cl1N_ z5A#9aGAW9p3jdPfq~7`qDG&k&w>|S{1A;0MgrlOyR5pGNiQ8R)HEemb2_-C}1yv_- zx%K3gm6~cE#20V`u3;t0-G{ZKehLl@isF*33PpFFS-j$RhGG$((`8|Nx4G{Jd;&r3 zN}29TQ?gK^NolX-WTF_p$I$%T<5diEPZH6b@TVS3gn%{-H2v&9!F!BL8!`a|4=eno zxqK^4(%kPM4?sY+GWf4ud4mpyRIVg6PPEBA)5^j$yo*mlu2;}cJ z(6EYds#(SJLvH47IlNh>+m_zT$8;Jcw%|<=lSz_8-BtIG0 zA1w!qV{DlK~z#eJ;V+rFWKsbP(=W(L2R2vbm!Y5nAZcv%4u7p2)PUuaf5AG zt9pq*>A_|EM|B2zdLC+kqeOmn%k)4QA|cv@*VtJ7WWcyr@Rz?SsRqgl-wFfxJ_N70 z%k;_YKAuAP#3{A^w$f0B%YcLidEt3OEw@7SUL$?(b?k^^=5(afG8WdDPA(9>|Pk>upjt$VagTwBk2ZEHoiN|?3PY3=IJ7ivb zj6EIn7HEHd+bgK9PC=4#2h`Lk2XHPKBYktChO4PYyZj?8t&GL7&%Qyfv0r>9Uyezo zn0FUvWP_}`fsi3u23)W7?XNmIK>;Ca6!E%GZIlIS#RiDZjsTPs2}c6>n^Akb8w;fW zP6z3&!a{QaARTAj969s>Sa{sCS8J94%;_jGF`Mmryg|iCIrzNlB!qt2{#{WtE7=}2 zcJAn*502KL2?qKd_HndrmaI!T0I*+SEnj+G79i9&Ks3_v`v_K;q$-e=hjm03tPb`F zNhmz3Bb<3+PK2nB9MRmNGmHxj?g9gm0U(=ir(J71t!)Oz5KaL93zDqxP5S~H#%CBlra1~qt=BG#064u>7{Tp z6%Px~JOxCCQ2sTKPek{CEPwJPy%_Wh1fH0(>CX@|$PpZ=jGpJPA~EeFpG7aRlJ?6D zx6o9JSe%H(@gxH92xw3hk&nW}rZ)`3(hzEAq5MROY9)Ay`ki(5c{D~=3A_4_-K;;G z`)8R|haQQhB=U{X#)v~dVS}7<`MOg3C@I5`)qK#d1>LbQkBkHYT{zNR-|*EG0uz#{B$QQ zZpOzK_lNcmqa{0iFCPm1hEh|Ui`YXnag2P|Br_2XAP5jqo0C; z;8c7(q$Uc->CG!Jnj&fh2bWT2sdA*gzsj>aOJ9GATd*=ChAU_7b!XFn^Dk(2(YkA8 zD*ps{{1vBSu#NgS?lZ5CFpZ;~fZ-L{ijVN<%#o(CZ-5A^OclEjj1Z%MWKp_T{)DtB#^K=YWjJl!?csToYC1J_F!upr~dp+FApZw+V(jnuf zetqsRWi#6OL1T;{bom7Bn>byllxpK1Z~e-C-@qa=lghpt&)Sb8nBM=2E&N)mntSjkx_Dnf z|D%3;N(U2ke!P_sJ&(sO7Igh~BExAmxpAJC5zxWA0<+yKE>K?=dP{^X!~OiY0r$Nn zuNR(ocY*KPAOCncd=c}_NF_|Xs1_w9B7MI z^XvJr_jsg7ao(Y*PE|)=U5!9HykxSjgjDdVzP!oyC6yx6Ul!OSI!IVTX;rn?RP_}D zw=VLGdau1?glSJ-&e!ah*l&(DC~HW}4Y(LKvI|IbT1+gm{l45f)2tljzAtQw>Ht6f z6HF!Zd<>Jmy>CCNJfHZyxyc?caIJObeV<7C%Kf`Fv#U!b>O-68`HfSlluOY(I*M=H~c7_%B1n(_KRg97=0MnEOT-HPm}v%>mT)pC*o-gS*fk zMA!K)Wx!weS!fUXp2026Udz0DoBfZ_Nc!Qjz`-v0Mhs>BAjg)z>;Ei+?k@RYG{?lk z{&9~chQY2^BMZUM!x(>4p3}ueku@zAhpKv@jQ>)AHb(hbd{$d2ArAGfT->*vl+jIu zECRj|S46g|Skba3N+cG_Q#}4_$(aB~9?zM_{GG=g+}+U`{X*`ApiHR{i5H5`8}Cic zyNx34*_bWUybtdUb5=WTLeejhid1cU+2%|X5S4igPgMH z7`0oSp9k;g#>2vkCW?%e68OjJ^$#I)VX!8>4T!>Ri_%RjJGK6{@`jX%^s-#aOBpAw z8m&?wAQgY90vzTg&bfBtK)?lX)oU7i9dFR93^)j#LOxN9%hNC)1W+;kH^RQQs)2i(%Y zdkA93ii{b1ZrAJ5m&K82n(Em-i|d`bd)8bX%sbrmp6vqPr@V;Wt$Q=wO$&R4y9H@* zkL8$4kQ>=WzvJUv%d;wo2QAGWpOX*#&mq>8PuTzQ+<^B~p0x|X@x#>I<_}}aj>l^| zJKxvw|7W2DODRidKXp4lOO6;9)lZ}}&a$d9l=+f#mIy4M6pA}S%mBVSeJTm{jqR!A zAeB9cFD-Q;VMLRM>M2rX|J{Fz%Z4S$l&ljCZ^=RuiX@tI%B;({s$MzR7a`7&DXCDZL~a|X8zPR}Y{&mMlY+ z2!zpiA@&iz-X zx}Sz$>C*h-@fcy)S0%3c?B8Qtb&i_$L+Kr@;AGuVg(ug~UB7+MVH0=QQ|{&=sL3s5 z-?v9X^~)$()s^lHzL1b5(oveO@1WqAisWDmuYryP@g(r`LJ`8oL^}c z{q3H-?!s|Hg!37kfVW-7Ex)^6Y`rx3rk@Z=aPOsei6@D$3~%}Nl055mE(9d>=f}9k zA!Ol)!9^c{nC>T)0wS`&_jvt#X8|(FVxjh%z2M%vy0VuFM<>rXgdgvIAOwN((y;EE z9d$u*WS_@MkRI(Lpi0C>3@fx+PR8%Y(D9<_4s_v=@5CIjuo|^U4*r zB@kJYO;P{Nh9BivA5yzJ5le}Q^fsO@(Qq}Lj1`xS{4W&*24gh zxZZ5!-MtV|jB#B9f`L|_tn zB45N%M1gt5-9%H&)U5*xz2p;aW1pu8o2rgx+ z(>qT_8RmjFh6)s(NHv$QbGo{3kf}A6$xni+CQZ`arKkcwklvYO`+a*3K7_wsd?F7% zCx9W67QMkSKy#)DGpv`d4eNZIR5f&be9ad0pvO%5u=H*PmR?oMzMOUH2jeR4-w-p5A}=%yBRW!awlYYG2v|~Dn2(;MC9;uN5i(p= z-k$X;RVx*dcnQpJ5fjER`}%bOiY$w%=r$wd7{98u8VjBnC+Bf8k*ji~(4biBmC5@! zO7zjzMWQGGMr`{y3`w4aC{7kCb{VjQl;pWYmQK)FwcKz;3rUox9Bl}Tf69{&Sc-TX3>W3o{b@!z71g{l_(5mzwlzBlI zrILYxSeSywQ{O8Te2RyE6W!Ieuf}u1{-UF7kU%WT1L)ut%I4mBC0txKGb(clp8X6s zB(aGfEDi&6pQo-|PH|C?5~K*v2wtZcJrTGmsY!47)q%z|>|I)%_zwx{6uhNQ4gNoHVM4Y}!zJ-J0 zaOeME9~W{z)=X~tYB!(&S` zyKRk;M85K+T2sl57<#`98jDS@ zk&x7ER0MDVHI?;x4Fs6S(sgr$T7?MW!Wg%t$nF=9XZv<3f4;viS-<7;GU;hv)S{F0 z(EoSbTw+rZ+;S);c+;14R(x7iShIh)M2|l{bDP%MpmQapGefznml8z$+mI{1(;d$g zQIGY%rDwQ!#hr1}$4vMV;|0`c)kDn?Ri}=KKozvf=#+2Z70jN%{dJE!2|n2jM56Tg zX~*ZeJb}Wn1oB=HzHr&5KkY{#T2ML<44l|63Ke6qQ8`R(+l|zZ&<)BISqHTQG)1QL z#SdbQ`4jJT4%5(;-*Omrfvf(j^e9LY!Ibej;)D_fqo&4`xCx|;oba&xi5Fz$1Lt_LBB!eConzTH&?iiQ$7OT(Rr#;tO${)ZK@ch*(5RP&C z2OOA@cLK)2e~?L!zcll4l1ZfP#1#*o8Cui-JT|p<3|%$MN@*(mq&u8OhWp*IA!9A- z4Tc*$o}p=@gq%sNP0i8m&Q;B>sY;hTRK8qZDO+LIenOyiWhJ#r&V0=HWPlLN%Bpop5f=@&x zBVv?GnIytUee@SQ5Jn9_PJ+dEY~*3@Gs%kx#fms39mX&#Ob@>-o0ieZJdAWEFkQU_ zm9=h!G~Z-)pGb!i4g;Ol#4^?hO!^$b1BmApp#^=4r`bikD@$uOxumUv{f>CGO+H!- z@Ki_{i->Oe#u7%-<9$NUp=Me}2Wp!k0Qgo28a|5F>GRmmA2NCoUFc;Eys$&W~P?=5>>0<*Etu@sC4y;=!RXpozwkvL6Ib@;oYONiCe~Y3dnrZk(<#$sXJ1ojDduyPEdSp>2&n zd{EDorw=1Dt-oZf1YB=aZ+-W2GT!bl-c`KNr{@6_JN(?ushcw+OwP;iX6_$Sb`+jS zp=HBhHzLkkSSHx()dawtt z0o~k7A>lW8Hn5!{4;JqsIi2t{bh#i61@>(Kf2(Pc5%7G$XB5(me71IJ*N!T`YSCwk ztrTqQKl<-R?AJrA&ECG7uQ+wQIm`3UKXay5zk3HGlx$Q`Rbe(wQ2b;O-ZIAItBIN8Ir zjLH7V^nvAq+A!&1WBI|}Gr7dCa=$0LF__Ba2cw&97SjU-CsuuAUVqxEC?+2-16d8g zk)d2KdAw+Q?w1IAQ*3tX`LRnLuXo`(<&EcV*6NM!e^k&Oiefyz z9Sbachks)ooaKhqO|=+UvJZq_A7BpF;UJQW<|V9q^z=(N^8ojDyy&B1YWDy*jG}Ji zA+X=1V<47%6nnmuzezYINNOVX8c(FVKR4}6-Mm$G?lkXBcsQ;rtW~aSPb#i|gicna zl05n@SLaxC?&-Kyr-xLg#C@~36;L?Bb`Xdf6+gIC*u==C0CDmsbSUB)yLxr9Q^cpIj`O=ZGA1B=vRQsiIN&$?0a25y&ATz zlk@GOau|j-9rR%O<~WrPhh*0Uh_Ys4$2*(w(;(%+#Re@|!J%Mzhyss)!Dw8r69GKy z$(Z7>bP-1OgG6hqv!w}W>m?(pFXg1XfS~_*yuUY!?S`(V&VuETu8{o(dLw}M`CP@2 z7Hs~Da)}@Fno+1E=;52b4_S-Z`9txl+PRhVp$5~|GynUPztNTI^eM!Bj~-K}atZ^- zLL`x>DYU9^8hlt;<|M|~ES$O@zGAX(R^{c-1PIOMA0gT)T_V_B41RU+T64>uKND~< zklsozW_n^u{FP02Lw%{FlEfLMP5i-u_1%>%d{pQAasG{W2$iz?jw};x%tfo3KdHFC zMJ{GR4qZu*@oYj-+BzgZTTceESIqW_{- z<^wqrCzpH`XB!uAp**C@ev2=M4MQ^ zEif%5W1ZMd39V3C?Y4Fzih@;UFy#=((pRb;%g9*5bUdA(Tl<}cM22#T_!sz<$EDu7 zwSjFQXDPH?QErrQc}B_>CKtUxnxkW%d=`svJ=F(cY4G%SzFPv^~I13elH{BFwmL7qW+{z!%eKWEGu_`L>h(^xwGHNr|OM~7Sr zgYr=4DW+g+M|mQL?b2*XP4Fc&maG`vIUkpWas-SDf}d*frJ^j9l{fk=c7bY%wOW#v zwt%anWq6^LZLy5*tbj6m!4TnUP}W{{pcIe57wcN1<^t?>vgG(o3mG^bJ9wsEg~3=@ z?^p`in@=a%s4tdBy6TrS5T?sQkTB5FVA4 z>j@aBMU}Znh!oNH4jv?3bNi)o87fw!z%sg~fk~)K6*utdH8Q5tz`-ZrtAh`7SHS67 z*J)ODO~upG|Hsu^M#a@cTf2>0LvVM8;1DE8a1HLk-QB&hV8Pwp-QC^Yo!}bW0^H7f z&Ufw49;1Kt?&_)gJHn zHK2Nnxi~rbc3r$?(b-wzmS%+Bc(rk+7?jJ)cY$e7y zZyXvU=^RlJdQ^y#(Zjzq?H2-g7(kbN{n}sU(`) zQiFobN#0Gmt4f0>#i0-C>-I(PUvQF~rLTASP*W-%5pmM%6p&a`9`OpkNT1xC`vTt) z+hNw#zeJ`&+kutSNK6y!8kRj|AD+aum3eFEOObcb>GFtb0RQx3OW18b@R{WPOM$~B z{`2bWIHnvus3m0OS5$+p;Pu?`$baTr;P0Af0k^>1j>(pJa9_Z9EW`atIwQjH5cqp za3WPVm!I|*mPs5tTifgyGX{l^7vrBC)MC!$aViE#Y)pnW?|ESs`G+^{+Ygz-X@nyE z89hq}LvK1dm7op;=?h?D+c;(CJ^>L;0lYITE)c2*D7A91`@W`I*O!%JKG6 z2!=^H{M7#0+_8hvv| zAWm5T|XUCe( z{ks{zZT+2o^w?!l3xD3L9$#zg=9J9Chj#qvwPk#Rc+EK2BnZx2m|agt89Qv6e)@N+*{+l{Lc z-UB3KN5WI-f0(Qt%_AV(GT|ueKAi6G#9^w1<;*0MW)I5<$O%R1AG&A$u_qJ+KxZ+; zWBCZ!>{xk_Wt{#YJv`z-h#;L<^%soM4-Mn;dIIz6!-D`l#iNKq(6ui7-n|{DPWnJh z6IWYyeWMgCK$mptSeZXI3yUOi56uY~q;f$H42WbV!+N0ouVZ-Qci{ccQx$zrDon9!dyH#ILD4W7)14T1P+B( zHE9p#u{q+|^4<4s_gx@c?`*y8$KpTa`J3cWt|mf(jJ00#F(%Q^HYG9=m7KkjRhCO) zK?Y)!xfRBNd5iYI(7u=fqV=JeJmEI2Dx`#odRMz!J{#<2gKl$upe|-6g2GGABPdX z-s=_ohgb$yLL*#j?45>M_f?H3EaG>1>+@R`>htj2U%c*b#;+Oy3(69EZC-(nb63b{rlI`S-rxCxBIs*6y*?D__1|-JEU?U*TQck^cHBmtLG4Gi8e5`Ps7+mu@S-U_8v~nl`~`1; zLJE`%(v6e4z8Twcr{$CFDiJ+z&24RLX${Zl<@Xm2wix%@a;9FbjdT+4&qptZK3XpA zAMcWX4%>?-E-mxEMGN5bSl={oBHI6{{a<15j@s|_PXabB-^dtm_Kk^n?_T~>2A6-* z8@46m`r6bPSh1w6V7Si7`f<^Ozio14v-M`n`m9oUO7ebF)abDJoX9D3I^Eq3KI2D9 z4zp4lX5C7>nV3=7RSC#6KKlzar>FVtJ5XP5B56ESU|YT)Q#9N!3}-pfoDAva7|?YHN3~yIo&27O;A;(ev3@?zSvijjCD$TCEuK zRx=5x%u|WLTE0V#2qxYubzhR@jmRhmky)5%3GyQslBLPRvXY#oJLy1(7;xbAnX}on z1Is9^;a`O4akL^ME`RMJmi7K*TX45!30~26j>B4dB_;`AD?qHIA2_V(znX|E4&9*= zytp+zoAU^sM$MC{-Fn<}pf$87d_K8+Q+wuyEb-Rc8v2kV_*^?DA*KD}il0w)i&vO9 zI9t&$GTN{g-vN^*Q1IDEl&G|~-i#7=Zi-txCHU=03KJLF!aQRnFaU{o%ng%!4_abo z2|nI_fEP{F)+4&T7WoX8KBjLNm3jZdT79Lm3kre-NdlA;iochX&ZBcY;2V8^XgO8! z{#df;iIH}j*-_pE1-8U1XPgf3a~MI0nRffB1pq|MvEAl8?*y|VbT=fc;w5(|RmB4?bI#jB3yM{K7|%^*|D!9TBJE8+0cFjNl~bjA4S`k8967`IIN;%85;_*mI4vt2)UJT zl{zQb&$aip@)R`w+UbrPfQd1KA%COo>>!P<&%=k3lbu;mmmWBG%P3X^WiDzaMOViD z|J|ocZkcj?GFF)zP{*>V$VZrOKC7rLnAfs}lS5pjo6Y z8gp)QacOh&GRL3vKht>4U=+tARNvW_Qu zDAfM=lu1^+r)HUYOgoC|=45s|C|fU7%80vt@lt9d&je=h}@|eD%peaG~~-kQUcozO*#1+%MPj$SRP_iL6xQ5Wz&#v_jRKf^?x8oWO1THmn3XqciFMqyfMd(nd=yEb4 z)_^X2t->t6=~f-6DT?Osm+JKN&+Jbtmm(*IF_CK#2s0TN8EYSuF8suIPq^4^^Kz%P zri~va3sfXA(s#>Q`JUAgO|x6n0d_@il)|EwVZu>4D929ypnEZBZ4t4smt|XrEsSVU zf?g(1`Mh}8(IL2EA%w1ufKJ8w$)FmG5Tvv(X=oW(JGe(oHA3V4qNR|P$LQWRy5*B5*_dT%OA3*?V4wDm)jB0!ec`I`A>!b-r1!o z*P@5e_fCtOgt@Jl3KmjHhJlPUe$OK;J~3)Q&R9Yzsk_DtQ6CG_VKXiz+bRks0cA^x zQEnYibrTvfG29__9+ty_Dpg%8Mwi;dB^ryRK4CfH>vL` z0VLpFy142jFCZ>VXQxNwfF4%%iSu>aeX6Ih;~-<8G)ID56hz6EaMKGRjaBHL!)E^p zJvLIXt+&vHt3}2h*HWs`dq=RoM~SDQCvLJ+=toPT3sSRF5bcEIMuyFVq^6k>QNTc5 zWHn~9_V@thrq9Kfwcc4@3KWdy3QRZc$Fv>hP|QoEjYgZM8!XKbt>*^?Rux3R?I)#7 zks;+fBMyeroR;f$b-3x+foV=YW)OCMBdIF5C!wbfwXz@i-&s)MOe&uZ&X}IA zY|930wCFPrI_^}zA%Xyr-9-W*qPbLS7ciaU1_F9J)R~#r4S=Kc*kB`d=PhCu8Dcqf z&TXo_sEXAr`@p7X*_{tJ!L&(Lr>ZL?b2XW+ZuaWPk8}IqKg~a93c=_@6`o_;;r`woqR8Xi&G8PFHa=)Uqk^PZOW2IHHE4sL{&E)%ajeyNOrO)?^ zcsq{=ifsRmY-G%HIA)g{BZ9ygd|e@CM~BVz3=DVJy8PT4L@uK6YjH+)*69hAbLDNQ zn`!6vTV~kc=5r^?6Fi9+HO1vE!K+N7x%Q?3Irkn#h2;&nQ<{ic$-jit$3!Sh(aVkJ7~`vDMJLu^C^9?G zeT4slXayC+=lrA1&-?e8-!Nb(^xG)B#N4Nx_=2zs4M$_pta566;iX|yC|YOud1Ybb zF#H zg$JiW(jVnS2K4Df^REpTwmvW*b=ZIPSU8Cbmmc53`(vj zZz7K9)xsK!`}+I#`bj6J2il%ju~;z0DK70e#W76gW=FZLC6^Kk!&-ba@#9CQ>#+9` z5Sgu^c8!&(_AU>I-SkNF|A6*}isuTaDrsaofWZC}BKtG``stKuTReu;^cIsgxb4py zv>RzHtEcKOJI#IzH(tJz+JD$91XBJ#ILCF;ueDoV_WR(unv*pB_$AcTY=y~%Sk#01 z$=u;{D2^s%JJw?==W&+7=FIb~$uWhc18;e6GhcsI&Fzkiqtfh+0AA}Vx<12IyCT(S z7O$a4dzBFT)ubT;5OFSLes3s)9~zjL#=*4zQ-Lz|B87t$5n9tAjnbEwVteoti@)yR zbdSRqme5q+!a63rZ|&tloUp~E8uxB9nTn^F23%0)Uetsv3v!o0f6n-_*Hs^|J7W4x z#R+mcON6ieK3v&rR=MR7GVd|Z3Q0uT2r;w{hunlj15z21gKs${Qc^@xM_TaIktuqw zxuhOGXD!$oWv0}sFw3Hs#pY#<9Q1%whg4%PiHpCM8n-5$YFsL?o>mRP62wN;m@@4}|E{5e0NK*jg(87qO8FuIu7)JM94;blGv z=gcCXmi<3;psvdB`1<`YZ=GAh8P7#}w9LQJOzwO95s*KMzoOj%849NMP7ZMD6Y0|| zoL%dhH$D2SkYa4jY;Az%g0z-gH%Oa9lG0XfEVvlh%Pb zorDmuKTX2a$ZUm@q>?PwTODa^dbxqUu~@hR8O6dI{u>mR0vbT3YE(C-L?+d$f{6Mk zL1B9~X29dft%gw5gPRp9<%uR4nEhk$2>nmecp3i^N8x^njE2Qtnfv>W)6YXo7Q31t z*RH&mS0Ra{T+HW7n-2e~UK0WHUsvC^WXr!2{OxQr3Sj5{8BE)VC{Y3mgrOwuz6hEQ zC)swdP)hVY@b1-F6PghE{kwqvtcTwa2t9H2>7rj6aG-|+V<-xQ1fpZmL2URgD_n2L z0V@0gL%|4XIac|s_F!>a1`EuHP`us0H+QK7)&LyD3=V>A1EG}f7URV{7Mv`o3{A6B zR6A|LWyZ-?Ucu4+gPM?4LIq#3S9f~*Pmh-$VdvY3ClA%XU`qrTL$SoOGD2hQc?w4M zt^kttz1caZ(V(=8rI31)I=$-Q+xkL#h#)U_+)q#ta-cSL9X5OT-26da07#(;+ywQ{obIyK0rF?8|)#E8lWlY zy5s?A@6vFoL6?aOG_wx{hzew-9yyKbeE(4N!;3uPY8D^Y`xf_AsA7a15T8rn@~|dr zj0TE`DTO9mo>xf~Is`QJYHq^ytHd)vq9U**g6)4<(moX1>fF>*m$LcWrxyIWr3Z+q zsGXkYZ&}|>VYpzrPfhDp1KElojxjWq$bIZ)B>lzNf~Wy5l-yEoDsdE!Q1Gm&QRlaX zIg!PdzdzFT7TqSlqF+F@4CMImn`dvw;tGn5C7@U?*RG)viU7__zkgO#{brsP97wS< zYKjJeS4;ZQBt=WREoiPNz6t1J`W)Eia&?AZ%Vl@H(GB75-rAHUf{S@+9BlQKl(Jd= z*V5>wc4(Pdcv)6CK8PUoL`ifHv5a#>##Q_gbu(On;^fC8_h}EH$x@+-oi=@&30bg~ zv7Rjh=j*3p8b1sJeclCK{;%f9<*nY!o&=+RQf{ELREtVPP^_e->%*Y zD!z|~`NKx!P5%ljJ3XPImdM zDu1PVy8}eNsY#Yna`ILAfiYiNdUp0i)#OKIdHS*uh7jEk4(YATFQbM_H1G_zaJ3#j zfo5Rb7dMT=8Jirs&9{*qO8?jDyV@4KR=9F4A@&kyp!wGaLc6!AEu-gzf(7HNP)5!C z?#0E$5y>{+%B6XAHWl2P9E}a6EsAquZp{I8ay zj*t~0XWA(C8#2VIAD<-Zs7bi=4L_OY-0Rd~`ve~a#Zd(k#5cFQX*?i61$PJB4WwIs z;GN!O(Wrr%+~a5-panov$~`-N&^z#hDP8VIjKb54ME0u9ZZ41b{?PW!%TGQd(nDSn z0R}>(T#$^d2q7R4=>s)L+(U_Wc2dC$Fd^TW>QjLeuj+Haivr3~psZuOLnXvzilYQ! zyI(={edLLfU;1D5g84f?%S0iM-5+hyFhd%kXEv6kIWgTAN$m{_JwxPghi5GnW!1(R z3FXDDFT&pA>fG1$hGqk$2Yl{34Pi1{c22yhKvi9Gjfs>@C=AC78HRb%cJy7Bbzo3 zf$njh{Ti^*-v)IH*3s>9*LrmV^L|c5N9Q@;NCEaBgqgZAjq+ZKy>dO@qFZ*zidnR?q$Bl_1)o!a;s zmmkl?mZ}%=W1QI+DA{Uyqv%-}GjujH7FOEPzE)t@G6pe!HGVWQrPl5S6Ezqxu_=BV z{q4!M%gfTa?hB#MTlOGE7R=S|xcT5kLD!nM_TrvRq!gGl^PH4!MP=iBb79;xKdRE~ zz!{esU5VUqarE-VuyXoio77kvljbkNqnGV#$V}A?k84Ym1f3_We@*+PKaJyUvFt^S9n?< z^4c*pVA}32i)U+MsorV7c60`ROg6y|ml$Unw5m zoa!oc3oK55I60xv`5rC}PUi$DVHua;?%%A{I0Sud&dkMZP$&t8u58lQ<^1$@r5y!b z)cBfcvXc{z|6K7CU0klcZU@N3@ME0~=9R zAJ_@l>9kB~Ze~{Y*@v`50*zkzBFVXbj^L92rkh5Hy$)6n{iXL!GW1tc?6pA<)X!#e zi}Ag$J=P4r;Rne1{S_YPIS={w7yqSUJ$6&8P})dog;)v)->VW*;sS$Xg=MbIHPl-`C>B4&wy6~NG8haasqrxNyV5_DF_YJG-%?5kW7Az z#F!q1YO@^ccYl>cjYX!brnAZlyb0wcxDd?c1Q>LJ#{&git zK+Fh29-;6dWE%Xy(Tz%6W8WkZ&RvjO2x7W@@W240kpD)iM#by)jX}jD zvJyUu9RtW7vt898WMV?g9`l83y%q-s4>MqTi^61&d4I?Ub|BlRC|I5g!FZ_)UCC^F zB!u$s%B2S4KNSCjPPEGpa||iTFR3})fsswHA{VhOIcPPQ5y82OA^mDqE5BjkJTsW( z5=$;xe4#@j_O>~FcxUkg$y14T@SC?B?O-=}U@^0YcLi4RlV1zn;nEkVC7Y&KX#Kxvfy4dPb@fK?8m;xs)u^Ks#0%4@AbOmW4Q&B(8 zV$v7sj>~8(fTjGGf#Ui^N zEGR%F6A7}u%|Ip7a}S1pz7Gt7KlxGr;~=<0Q^#0mt0D^H=ly0Y{ST{;-T>ovJN6Os znLxL9x6YTBL;t%1q*7TpS>EI#G|Xn1TD|oX>zSsh#>hNx9rBHIroOV9OROkTy9f%= zE$oF0>(fI&$w-RYkaap+h1S~=LJ{pqRWAt%#cS6lM(;MqCNB|MgMTAx03OlGAf2DD zYSFrv$u&CGH$!DUd17cc!W~H0Oatxt)u>lp;Q#(g+iGJxxs)40qt&Cn)@3%q@}DV8)ApIJZWTh5Pamlu zefv?tY+-!%7}R&$e*}IYF%Kh7o1k4H@_S~s|EY*jY1C5MHO_Ce&Q|rnKNZeEa$p*0 z1+TIxAMh%h(j01?!mkLky@1Q&(5R<9xsj`gGW-c^m8aZVkoaZV2czU_(ogtpL#H&uCOVEXnvs zx)^_9V*5r99knnSV%z}YKPjaBM@)TOOS*n@-GQEp>!F@X)2ggkeo^%R=NF9hq?1dN z$i6Bqz&S%psmnyqt7i3qq5x{C;(dFY-DjuKF}1|rnSk855NW7fn^!|91HB=4A^X3} zh>CVL4L$Mzx(#z+P4ArNuKYAA8}}?OIvl@C9;SqNCXffk)7Cd^<1b=jc+D9N!oi;` zLs(ghsE0MqznSnWUbh4n{^XJzgXih|OH5!Xv|Kpdm&Q+Lygs=k1*tQZjjTEkg&JmSP)cH6Udsfc^-?p8#ms6;ig}&HGMzT< zcku}_i|<7ZOcEM`6oZjeBslZp31bmOY0M&*u^|5G$$^PT+n}+Wn$nE#u>%(IajR+q z>0V~-XXCf)G|93%ltDKE&R1x2l!G&T{){{Mi7%B}s?S z+^h)uS;C+V(2=WKv#}cF5gO6=un{Zj0S$ zGt-!+{;`SOc$r!O38@0~(jYC@b9j~Zpn`d-B;Lom9lW_S21we@aLgpHKY8Z}a~BNg zRz4(`Lr%G$nSJ=gyeIdOm$$%j2O&-jF7u)3L@~65)Zg9);>%A9XUF`Gi1C5_n<+h%#Eo}2Qe6{yUgBg-ZqK|o7@8>sOFZqxv zup^Y@4R`l$a&ppBwKIFE+ggrFCOzzQTUWO$OO5NQx{QKESNhM((qA)PlT5+#K^?{X z#o8vSh-`zj!i=e5P7`j7W(Q9MP1HzD69Xo?R0&=jA9#_G8Ax3^JI^9Gsc_W_Y&5g^_u~FY$}9V zt3k3N{oWHIQiZnyCDFv3SkFfM2;Uxx4EK~$%S(oP(;NYKhI#J4py9%y{S^g5`?_Pn z>rH5-d2d#Sc11W<{}Tg<#AGV&!6bm!@McV1*q#I?FtT1Qu4|C+O>a=X4K zprjid&Ex+G`cI_vsH+V(H3JWfagMkxzd}B{F>V$7;SB;|>{LBvuQ5t7xu8DQjXxpp z)6{2o#6mb!{SCzJtmRLrqKV{9_d<`?xc`Cg3LzV_x&i`39p*$)Wj4m^_?k(0h$th- zNA9O>FG3(bLpS!r=?y!~NPy`wg5y^C^!o`&zX3?ERzZ*YFaL*jXVG)=&fd%o0jV0d zigL_NAqO2>h8j=l%}W0nJ~aWES`Qa;xHgeDsBFTQfv64khe!k-Jej{MM_PE zXHU_4U{BL)L%hgmC{z>Kf*GHRAB2H+J?IjIr;$~dvLkv{#1Drp1L`LCrBp^VO4GR#QQ%2+#t=n~wP$WB!1-F+8_5_*s zTY~{B1P&R3hrI@jK@fz{M}1O{gZ2fSe`>^WrYB)p;wYoO7)$<|q!lpK2lP@0Z{vNM zHH|>g=L^d>6^UVlGELw{M3G%qpu&@9q(U=wh#LG2Zl9)+}|nU z7A!$EJQw39K8BKxQB*%7Azz4#_|IGxe>-2FVJm`pdm8Ww> z?3LMqN$p5_4gPK#0!kO0I^WC}wU7qrIQSNIPK>_6W~xfK>D2l!A5 z$Ji#V?Ow7e?I0s@;u#AeQA#uY7yiY?>h&?K7PlM~I z20#u_Dl!xPua7VXNZh?0ayHD~ZxFwnXFL`TCYp~v(*t42FMF?$^fQyI_@dE32FPvS zFPM$P5;Gy81-XwGf7^5WI&{Af-aAgK63s+iYA(JdeapeK`O9xeF*(a4wGS9UCY43M zi@D7e)9#`4=a6no&3g=Z@-W4t23Y_s62_`1pcM3XG^s(@uG9YhJ1Y^##*c)VbaIfO zp+7BBhArI{4o|II$j8RdVG0V%pDRXdJO~o~eDUq!gnvN&v+HUMM3FvVn1_JTB!n_xxZgzmi1+J;e`wxVI%EmHW<{{pw|1y7rgkU=_Kaw0XcmZL9L*#o zgBP%U-XHGd|FO?^|Gx0H_8r{dy9Os<^1$fBizQ)^9~y8S4%$1S&vQPY@`j=e<|454 zl1D=)C$#s6^fp6KYjK~hbH_RKOdzRWU$5H(pjd8bF2?VN)VvC4!-33qzj% z*68{eTLFqdt9Tw2L0l(o{ox09h`6b{(NbtTFge2ewG3z2*uf}Jg8<}!hAqH3At&%? z5!mA}LM77JCLBUqI}Q+qrRhvNssT`IwjdyhAdo@TVBe^$Pb*v^5;bKoLfPYNMDhWj z0Kn3OL~l`|4v}N~=1Vp}G8wbeY=K0L5LyO^jn&BDzZ_6PUjSwBq%V31$iUtR02^Rs z`-`F(_I%hL1-DxkMv!ZzBJ-q}S>m)Czz`@*Gxf#8w@O`=y(hGiE*U}tPAo0#GTSW@ zXFM0PN950V11<|xiu%%-N%e1iv>u8g%5$NAXgMc(P?Q37)DKjVKDZnb?z7#0sf|wx zm{^Vgs9aj(+rY0Pp^VAn5DC!D6lf6Q0AJx$$&iVjGGRA(2d*nefJ5$gL-jUMuN8PX z$<~z8n&IUy=C~*lJfLEQG{WgG_PE;kpy-`EncpMr5P_H((8G4|5DMthyJd{-r{cTg zfPx@4^{FpmTT|85H1$?ZS-L1W^a;Vverm<`wS?*rn6TBr2ml+PHGj+CM0bc;^{mPMdf)0j3K(XmLFnC_%7*A|dB zzPDci)0~eAB?@pFBPSEB@tjcyweWfbXUys=DCfoYx!03(<6#*-^bzY0#~5&ffB%{= zabj=@$^rx@@csMLcl+6FMaqp}@9=>5l_wh(N9h0ulfse2+;~nz3F;$?eR?G`J47O( zA<-R8e%lB9I+rU%9xgI<=?Er#H(1Qk)do~{tOv<-HMC+4A)x z9&wxXI{(XaqwMfWfHg#D^=27N(V@=t=zP}u=jlItQ3z=0-~0dbw5pjn?K;*jJBj}j zGiSdXUNLul9BTcPMkuh*8%uj&B9)582yOo>RcgriwTK%;CE`d{1f%ez9;HE7gki6L z(kv7n2FF*GNP6af?nG!|+1N&MSH*RM29Q2WhD zbEWa?e~=rKKmWIxI8};}uJC?Tki_>bdvQHmHBEvUgHi2l@Z72;Qfo^uiC{o4lFPk0 z;42RjvD61O+WGE5^6SGNg=z2~d35yKzH^!KnZd7+^c^=A?|;-IPrrm8Rb}~+x9yLAU2e1drodPjKk)9o2Q6on zsJTsBzQs(ST!I~M*@Uk;9~q<`FMoe#ZX?I_>HYcs!EX~xmqPx&t>^9M(Rwn+7L;-r zN+(J#myRMqbEML+YR{37kb=ESU`kj-eJBRLZ(J6V4zoamW!6c0-w{*tQZ-Z)h01V7 zdF1goI&-20%lG7DlU4_J5hJ%@M8wHW<(`6YBsj^76y0G`w^Kt?6m$2!Q)TH7#s!C- zU=>a|oz-HUtvWjLmsc|l!G?Z}-hKQ)(f2o zZLo8Ni=4Pq&+kcrxk>%iwtVzbKL2nyp{>JPkCDd62q6MY;BtW)RvUC{Hp_ahMT*)d zwex8_6l_*wQ>X-225T+!a2h()=D!~TiDZEEq(#ZErk)(?nd7GQLBQTVO5eVmW{hXm z&N6ChErPeoAHIZO@xZ;g6AK<5>M815mVg_SJ_4&yZ$NApSpiGGlI>3m%Wl^$GoVzT z0ilq!Vok^r0wErdEvf*v^p`{*A3 zHkz?$ZCsiyhBQotcsGEC^!K0x%QbfBD~c=2RnwvD&H_ejSg`}y_%I)6-Fs~N^aO5N zme0a&&rQQ8O}?sYHQd%q0M93F;lniLF_F?lgdmRpX5zMM?H-4h;2tZY`0ucEG6JP# zM<#>1o9@1+18-Ny-%4HYG8|E<7WblVsozH54W3Or>Y=5s|N2neNrqwjWRluM;ZhMt zlW?`?i>U|E)Q?&!$wnGu=a-`KmNTPGSKE0v*HuSl(_3P5k!P{m?GrUqKJXp2b2%19 zr|jka5kC#HkAEoLOC%tsJ)$*{jDzI@R`e}5nRY*ov1sZW?&%0E4E3Bsa`mpAcz1K9Mh+N z+jd;CSZ7gr7vKCL3J4L6<#Q9I%VANL4l^vy{OC_C+H~UTG1&|44%}wn$7PbEOx-v| z#6n6BF&mDeIy}5dD;26n8t3)SZZ;T>q^>W2xgGRr(B1g*GH$~j>FVL}3?|0Eb7t!< z4wE00+8y!OA1EPhSa;3p2$=zs z$Yw{*0X?hkQpGgN?yft~JE)G}a9AWikF` zh%%KbHWkYdp8EMHscqXMFU8JqAhYlYgG=UtyePbcTdv_A7<@l5a<|Ji#qP6D{NubQ zly0fw{1 zhu%s{S-5OhJB@5Pr%LkK8i900A4b@FBK8~c@g~Mvuk|tc#-pn)yED^&C{edk`*gQ% zt?vS=8`CHxdzc#<=LA}b}H8ZVI6<0`GkKQz2j;|v3zE~U@H&vUm;9bgEfv)rGt%DHYHNYgd;r0`&rBbl-Z3%^_Ylek02H>hfP@(y>MM8V?84z z0JeKyjPaHzsDChbBEZ@qryeKE(7dz;(FJQI>5Z;{bpTdao>|lp&x%9+mM8jRAr-OU zqZMyBy`|&6FsfsMnK7^%xfV4(YXvy##7$OKYZ)yHz=b5FWeVF7lZnW1&Ua}-tf zYaj(tkkFV}RGZ|t%o9?AusP^s65PsyT5ze6T=Ny{wTjU09zqx4;%rYag>;#y=Pw%B zY1JfWuCm$|D|hNQlo_KY5Lx3HOVlK5U8grrF?)1QzH^v-J61o@Ljom=fJeCj=)qv7Mj_SxX(G}xEOlyYQtE+-rIndB&Q(i}IC~f$ zr=}`fbCsL&m1ZQC?CwNKFdOCTU>7D?WjAvVWyDO_X8GMtWuYoS3c=) zi&|B~`)>_fqz{MOo308a5ZETRwO~a#Y%wlWigMx9g^Y=rrsp$x5|9&D#G2(NL-_@s z4B~jgZAv&TdCm85_Ml!2LGm?A7`PlvPI}Wn39aFY7cr^zd*b^3hNct5P9!^dHO$b@ zL1eu5t&jTp3Gzq`3DSlG_rKVgtpy;o5SQsqwa@Q^unZC17>Wf@iKO@*M;)Vta>wBP z3*%wO0kz(mpIug{a$dPeq0UqAjJstu1gs|AEnr$#ye|*d0zvAw9S%{fx-`2cp?xawr@35S=GG&zXOzZ}@A)41qI#ulWFW(ILhZ!Z4JdG5ZKaeNOZ7(TIku{M`-- zpN=f{$O_Ju4*Iqr0CZfEM8iNqHe*gefKpz9xxVB!OPc&2(}!B!?`rpnSLS0j?25JK zkZCgJFW=Dn^$~N3W1-~&>M~Ni8q^UWIp|Iu0YzwGE{+MXfC6$Nq%l`@9R_({JbsB6 zb7*4S39YqqgPEM&hjoba5*5cG;wBW<41B;wIqER%6dYQ7djJY@(oQ)eoE6ce4fjnqr6YXrV-5%gTe#c!7F|cyqd`sPW+eY{-17kP0vqs%uko2tV#z zGTtvZJ+5^!Q6CMByoOX1Xo^m3@P(5W>ab#jvQvHzTL6mLVIn6^>@6CZ!^L*;NpCM2 zzU1|E4AX@@w`UPayF^&wpjw}k8oj<0r=aO5qKX~=NXOfNv z+lMrQcnKRqDQaQtlLEOAM=N0M3j>LfdHi7}+$S)wFljmH09N$PFSsgncQhOzzDz2% zzSW+@lU+-%>3%|xL?)HA^Jm_Yd43ne7VIp@r$sV1{Fg7eDif7V?1c#;>z#U{Qy<1$ z!4nVPE6uzf0`Nt2Q^QaChStu9X&?OwMxWV&t#Rclxqy#wM8TU7xV0W}@CZx1_Gv%8 z{>4xqMBt5|l-T;A$1HZVh04}hqnD+7Hj#6C6&gO2`Rkh1J)6D@PVZF>LeFw``M#Lt&+8>t8SU|3L<2GG{c0zCwDd6V_xHh#{q>SbrVVv{6dwgl?c$&( z2)hGSzsHAt?0pMu0hgEy?PV_Yfg!&gl{0wh7gT%h!V34mf&k2Tdolc?qZ%A?0i!C@ zw*Q3&5+Y$o`R(*KLJuY5xS-VTT$?|BQ66?JU)?{x!#xy zNG8IIem7VpSPslNFwTrErBh*##*RZ5o@#lujN;?cteILi>{EnK(5YU)V}^nl-} z9zuBK>54+Sg7{+Maq~3f^BxC6@l@!sVYYsN;wV@D>EClKh2J3Q#>QZUrZx1X#Of%j zoYy&(<|B1_@2Xs?s4Y2F#`w4GdR(e-RlqzYu_a0XX$bUk96Qso0L)#2HM|pOw3q*Tot87)0?guLXRAkys~4)( z&pS&0?lh7*y5GD+PhviI{ja_anSSkYc2F+3mA?2=KVQHowm&(%d?3J-fYjADM&ZbD z^buHB$>VUPBb$AZV$L*kj>)87j&7Cz zSqlYY(~@gReW_@MPaX2~M7z%zp1E=dAu2$fj>Bqk7u3>v2!A`BnQ=rI)7r)Bww?;jDox6NZ<^I1V6CpxT))>EG|~M(J*(~6(2v=}4p6x?mJyvq;T>1=ouRjH zQ~FW9iN1CGX&im!Ka*MrCX-xPiNq1T^?sX?l>1ApM0w4~-VfMz1g@N~5&rIG)6Vq# zDq?Tq9gOj|EquS};phFZ<)%8RIT4ckcxA)Ex%c~XNs6Q`3EF__`(w@vXkg~g>twH|JqeEca!HKwTdfznu7Kusrzn-FW0QEp1de<%~n|%fH+K3*6V|*F8e2>2iB8t3QbOT zDr=n!@Mu6~jin(EwEQ_Nl~OM84M%~QcR46Pb~#=K_?$qE5$@#>%Ur}>FSEY7^H+eZrb2@&A6ZuL#yrt1kW86M zJZgcpa}gjT9F|Es&4L^NZ+@YVKU_h$79OSjAvcCSOWJeprX-0YQ(HG?Xz2L2KrE@?|Y1CJ0;~Xip!n?(Rj3{cH-#>*=Mt(K{tLo`uh67Yf($2F2ZC-8IbiYn+ z{Cpf^iNXh_mf5jL1(_HdM$bF`P9(h4J^uh04_7dyb`kTdstH^+e3&l~IsXA8LYaRC z6!{EQRg=%tV+*|A2xasWq4^L_2misugXl}6u~W~=`_21;bNxPJLBhOplvc#t^ywYx zC0j`)uqjBWJo%)58uNKxjy|0eNJ!^7EM|I-Jp3-$z(;0oU3#CbKOw8U1@A*6|QcZog@JbkAY=$H2)I-MmQL+0?#7h47{()pHMT%Pq8__ z8q02mY{1?THj+^}iv{Y>YVwP7pC9aRS`yA%hnLLnvQvOxz9`?lRvrJZtLlm6tr6*o1v0I-&4DW$%^z>W&~ejrmNzQ} zWmn%*f;N@L|Ed@EJH2m@tc3jCRXU9bs=xlKJ+ppXdbpXqak0MMdd&;0(46sHYdNvi z1DGt$1mH*U)qcIBqcapaklCe)p&#}B;+&PGQb zKb)oP$8YaLyAkD~!^|(jZ~)xj0{%fhlWH}2>3#lvWBSCzBh$$3ar@5oSkTdL#257* z?|feM3$ib?*fClR2>S=+yn^2}(Y|IsbNo-V&E%|?cl%Fro1*B!RqxFGm@n|JQS+Md z_3mNA^555v$HUqNP3XJfEny9{xWooGr}$VHc^@GT8M5O1wD<77A5ib(OW5LpI~us; zg=oyEby=ugnBsv?;jePseKf<;()77BFJ1Q< z#Co;U$E&!VfhG~kjHlt01-+5P3A+NCB?a$xA6xz@f!HD@aPa;La+1voaR45nfg;D; zhjJIT<)gin%SV2GOq=K4o8^GnKdl%mwP7o_sPy%DO58QdlS&BEOgA&t)yXa^9_9~T zFZJ=2vo=+5gBi-o2*HA-GOe74K0>5I77S6hqq8n9`WsMoxnka#zF>$cO4D#d<0FKI z1*60ruB~KaFSG}U=`C>y`c%H`oV7?MWvso4vf?`|BpTb>hFI>N=AHdvX`28ZG57=v zyhLwj4<7{^Zk{SJyz^XxQvAImqp)H5wQag*L7?Jm{BJHNWNR-R@|sGnkL%O{$cF5( zP&oTC9;Ypp<5*fwL$n+Qj6@;mzTOeiFtrWsWE(h zd8wS)Qu`skK*TUS+4zI4AFx!gfABsY=N^Gb$YhlQT zO=m_cKq4&`ff%kru-=h953>RZurvyNjY1ld_NGywKfX4#Y*+1eht|$Y3@!Ve2gQ@DM z^6$H)eRM&bw9-Prz<*RP8<)$x)P#QGzdXO7Mn$vwej=#BP^Jnr&7GL?hnArU%3NT# z<2o0hhH{E<(~n^n>%QpzNA_Ypi4DzWMS~f~d|`+#8!^8P?ouP+45p9=I@Qz{2QB-x zsztx|I(nC200W@e^J!al#V`&4;g+Jx!y%T&e9{1I8!^HTkxw|LaM_es*M5=E#_>;u0~B&cj}KH#T$Sk5BU~kPKx81KqeS0D z<(K8YTt#bm=2FXC@x}*eDT<)=hqMb;f3d6k-5;^PN2B_#@`Li9)1u3MD;0u}wbl@! zu$|`lLiX-st%J-rk?sl(iFhlCUkpZx9<2oC@mjppqGtFrIQiStRQ#CG-D!Q18UjLk^O1>gqfiHu<={ zi{wNc4i{oJpvZT_@%7z5bnvXh)i4^WkDo3wz@e02k>Ih0#!kavW-A6U<80!5Wp{z%JClC3;f|wj%C59n}^w7`W z1z9j^lg-8q2F267AMMzSJ#H1j+?wbI-nw8gQC{2s%_+h&UrR3FP5Luwcg+b-*Q=IzuIoJqTQW&cGQB!SPGEg-SA1_ z-~vFGP)1X7a37qumaC-D!A6EX+T7vKoP=kZnkm19rV0%HIG&)AJj!9K8x9K$9UTjMs8k>DsUa>0;#&!4J#zvq4amIfAx@E~c%zuK>ME?`aVPB_vwtgs~LF$w!Q ze>J=bu+Bbp3lM5^?fJhFzgJ2#6+W%3wI_S`?@}KL5rr(Y^LJk*vtMQZLYy$)Ax@ps z>)dI{zKF~JaGY-Zb$mZvW80h!0*HPW#Wrg=@ljOUtkbTO*Dk*^JZ}3oYZO<6FX!S@ z-d;Wn`F^hBIAag=aUeUHJ$tM7dMR#g`5!%xhU;A8YsaD+F{zLRKmLE{cF5PU?|^hA zk^ld1`pSjY+*cPp7VZ}9ZoX%P!0ap~BOa0SJNM3-x5jqnr(PL~ACc;R zjHSCee24xg549+GyAk={RCL^m?#>QBp=yU!BMlkhX9Tu8vjro+x9W#Uoq*qYfL|}0 z&!xLsudMAh$O|r?l+S^G2`~hESe?4g5bzRaXfgoj=iK-@vLzwbu($+Hs3YoAN$UuJ zUneQ_03VCO?P+;+bu$VQKiSd{XINT(aJB?LHYb%=NYGV^+i2irs$5Aw^3&8lQVF)c z6@-sUO-v$$7R0MZqlU$(Ky5Tg^rzfdzb6{*e|BrI=ihPH`H-w+r|}_S(H|e;ckC&h zSo>c_e-k&ELuX!ASi1-|4Ga5y+diE$g}CEZPYEq4JBK~(=>j_q0e6?P&sr1B=so+% z9Ua!W6r)3t6*5G)nkm2^6~0ALVv&sQQNc}LhKF_{qTr&ffXs5j-{&N`mK8I_=+HwK z$(SjqEQvr01w2^4<%NA)5ey4w`a`FQ06uaQq&7qp8hV`<`sUkuQ=y}cn)ngBwiJ0w zRqE+EjxETcyHh#U+o44gB^-ZM$xTI`rC~xZk?Y@|k2Wls?^Ac#f^18HI|ZwBpa06` zq778cXmgER`>oAHn`p{Wbm_Hgb>wr<9wJMv1C}Xb+yiQah+l0{B-{YX-zD5^3OI;mODLMND zB)#ygVGxOM2Hg^7lt)pS)B6Et=Ai2Blq!^xm#o;P8$}+Ts_&s3Eb<&8As2eA1ZTi` zX|w;>&u({ge&BpGxixpwsIGXa&e6p1)?%v2YR-Gwpj>pY=ey0GF@R=HNd5C@=7ie) zI(c|933%BzxAST;9QPpArPUoe(R3QQxvw4EU9GP3Szb+K^itaa5oVtKx|JE!4x&1@9X zy(`F46>(Bx-y8My6Ii{(Mi{($aE*G9PFLL(S>|2tYrJ+E%eq0hIl z)}Nu%jtvUi7INF45&rQ(AMeynBKw$(aB!>n2*R)h>uRPi1z(pc(=T){SEQ!ueD&4T zno=p;@|fVkjjgm^Tn#R=6T*88-UCVm9_(}#cxs7^>uI@@e%CY4#TvbhKz*7p2=Nn~ zM1N>iX~-vs=L)0fW+^t59FQZDYW`Rs|Agl7u)Gv~lehpa{%33f7<`frrR}D<=ySJc z@-U)3X=?v#;jHuqu8;>_a|;EACMuSx{Rat_0&)Pe8YuLGi(V*y#BY(7z-cGt!`(Zf zu`WS+(;o}kC1CE^^)q}IEDK!9KS)m->ZKtqo@rMDZ&{O?u_L8&H_tU%aD6f45!jyg z+BoydnTowO{8;w;C83Oww4PuRz^F`#wf&H*KCAR+-|1Ia{eaxSMF@L75g9h&D5@q8 zQ~~IjJ}ucv@(CHNjDfx6q6f)j4ZDvU`}hneu^hXcDPuYo7ziCly4PX^hcids**)HN z7YP?eQA4R~e~O17qt61RVkVL80>F%DP1yJ2H>1uC4Q5M3on9qP9~-%`)BY`#NLG4V z->23N%ZSV-oCrdRp!l-~0*I>a66fMBQA&W%T)lnQ#9}W9F(jvj>0=YxXg?ux50{}G z%sLE+e?c2G+??AI#YrcqK$gc zzL(kc1g2>0D0N6}SNN5`jJ#^F$|RD(urchi-Fe6z*Ot4TY zn@z5ZbNQipHhR=d{O!mgHIZ#&?riVsV6H&$e`QgT3%Fliz~LQ&{sGBPXNHKwJN4pT zKdY+e>HXq5hV8I~e{}KNQhSFicO+>g`+gA!ZuwD$xhCg8Sz62SyV+$qvAwe7E>`67sVcUZzC0Wh{-FJuu}4~fH^{)v1m~0 z^zHp+k|@13nV07M`eeh0pBVQsGtXD(Rh!A9G{%u{T}E5aTI6p#TVpi@_h#Z*?LEco zLvsE8B4!yrt@CexNzQ8#G37MXbOg9?h>lnd7uIOrzzFe~8(#;v2PcH{rm&?*Vc=n_y@)JnH76vf6a{do9!Q0(w+e%IFD&_B@b;qOXIfU9eR zp~m|oHH|3+>F zS@*e#yT|_WAWF649E8Lnc=@ErHn1mRGq-DH?ojH#T{`$GIWALdd)YFO;puv{Wt6~V z?SJhr@IVphW4-LEj1^bN`JTQ3g+5#-rOdxvCC=FClRgAX1U^lcbiNoZDa=`5+$(bL z^4bZXX>z-S2Ru&w7Zcs@<*pCX`QN~x*UQbl#m?{OrO88c@I3gdn)_>=WwfNTyT~`s zWIr>mCSuRN0vyYWgS7_azG>G+|HxEg5O&oEbIuYZgyOXb#@f|7189oih^7 z47X&boM%4Tec2_KvXKw(4vhF&A)X%GE567?QZ_B0?t82|*h)&a+E z|HvIwwQJ$D9j%4B7tQ_n=Aq$Cq7aa{DcVrk!ih^&1(;o{5tojB2~o-!f2Z&NsHVqo zLMVzzI4(}(*Zx}wL1;%%+8UxOggtE=x$Bh|%%f|QfC6~h88iqq>k?AW*z3~@zW^KL6 zI_E`c{B>B?Zf#0N8N_h%0B?Evi)F!qFlN)MYa$(4{qSq*Q(|kFMwU*+ARGwPSPYgy zvImTAL^gsbaIEnrgi|J%EAQaHB`cE`*ePAeUFG$qk-Uj4J)HQVE+EMGfE3%1Z7o&m zy{bAcbR4rT(k`7L)Ue)HGxjg&cNJpIX9=sGzi#mnD8e(@nzd%~&4UM=w#(yVsGv%8 zYuJ~TzKTu4^~A|Tjkkh1V0iYVgfLSsLULhE?~*MYu#uhNYr)^mi&QvLYQGM*2rb

    )ewU0?H4;Z2A`VJl*x)0bUQoZ^J|$CqK{poEmONg;i0$bf5e@u=h9LaXK=_I5UF!E<#y%vp zv`kBc%!$#c(ag?)LS|8#J_5+p;2m*esL_l{_j8^>gxAb}6+CJ&u@uMo@4P))&gP-B z!xg0lB5^Y!Vd2G+A|$j=qJw5gIPH1Md4h~cJ9K4Rl>Tr*O^fX7%Kk_ccC9pXiPV%W zp$AeED*MXD9=!VIpd8}xOO#p@k(rEbt*^CN=-Y{mnf|T%eJfCG17Qjh%xHqVpS(I> z#03h0lK|Pa%ZB(0!Z(^Od}Rx3>rSz4YOqL^){&HuZa@{z&5V`xIX~QUou{qMaHEO6 zko`P55&fk;TXN@kz2FbxscpC~jHPD74&L^idaKl|^mdq#K4x`_4(XQA$^r%TE$2@C zu1utygm>`gijiof$Mrbs!yvk zBp5&OajXI6IPfxk)Z4jn-$l}f?Q;U2aW`>8wrIwY{!;qq9O-oO(-=PY?Q;yE5!-~K z)Q_0Yj0`V2%i`?r?hJ1bu%${!eGPb`1lA$hbc8yeUNU$;NF`RsF?y*>=RTbU<5LkhZI zEQ`QzH{MNUgOv|*G0)erXUz7UUa?gV`@5dqOPqe=?SrJ11Gi)TcPBeLN7n9FuNC|h z10Eh;+DU_(T`SAv+xw!WL8xx{mbdz0n8;@ZfOz5Z-#I9!kasTNzc0My?J5!;t4=lx zSMP^Jy&}^an7s#W2~_%n;FcF%!V~=(kJ;(Sp-MHQ4k-kw* z;4za~1|6KKU|2TCBYWGplVJtkouD@ebE$VMCNdHSzE+K&u|{@`c$xkEhpj>5bnGcSAKMUli6rJGsnPjL_SPJXU_mU0kw+?I(u zf(@Z`WUV53sH^XcK*p$cw}Le>wn(r=-5iE#?f0fm{zTSrY#2DDwC_RPr`&^7FHIQr zsBKtPq3>m2L|^GTeZ-@Juc-NQ#?_|6WB*ZB<3Rg{Mst{TSAPHAA#(9%d1jxr#Qmjd zqq|V)mpnE7xbZnVV@4&BrRUa%y@WZ%%Z-IaQ!y&428CdKu=+9DUbhGgIEgO$OVj~P z^nrEG)AG;{sif?#NBhS^2YkuklaL|-!lrU zb1Gzh>F_YG`t4SYNF|pqVudI0zP#njSinSx(bZ&5Na4k~51w~~3@4-tmBTIYV5+0jh|95y@?!R=n#kd`GvwI)gSkJA{x@B zTxn&ryaDwmpSX}cO=Z%*g``25-JWZWGSH*qA5pYr`P|Sk>o%lE=}@1Iku(xCk=*&A z5&`$aRP?D_u)gPQAI1BRo%1l*!s|XDIz^c&s;Loasj-U1wSH@3GGKMDx@e$limOh| z7-*lI6yB6lUghlRnjlEO==qI~>7*$cWUz&h$jma@%a|$T zmkT4Vr?M@geuYR;Wpd0yhgZePElX0c_RHF`$0MNv+26UpV(kW%x@{6=Z~-Fw{M68s z&=v*mN#>1gl%_0@p6V<%$6Gaie8< zwHK|qjrwS)%iF;);NyIB88SU6H3ETS_G4cA))#LQZ$Q`DmlI+cx4XbwXcBQ-8kj_h z_FGG|esZt|3^ZQqVAN53>u;-{2+jJDBp*rJgk-)ISbECu1=x_YT6Lmlbz&MPN(KZ& zVyx;hkd5VsEnUjOYFJ97S|UiqoH~JP{Xs6D$l=L&BVyEIbQE;c2*~a zAy@vIKesL=)|=(if|wa|4S2=|LzK%BdK+<}N`xqXb)ORj-%V;JNL()E`LjkQVX*J= zBCjFYff}47h9yC8S&7uNP7LCa1`)(sSq_1>q9o#aAqrSa?Vo=LaOag0%^eLBdp3cH z5!s`~{J0}>sjunciol>8B%&i{Oyj!-v`t9HvvXmUr-cyhaIAY1^VP+nn&$5G#pv)c z+lFs<2Im(%%nU+NUKV*o=Q?1@k$d(>TO(E?YmAXH>ddy)f{+MNxqUhStsqwN%iu^v z>hGAU5_7W@xh`EHLedkKqX|b6#)!uag>S5@KzA)~74%^;>dbO`C~~!VH`zI8v4M5U zsgecWWj0ixXfP`@KQgr4u5Z2*5(?IKqA?byaaQ^CC9Ts21^Rx+D*@D;d1C(a>u4^( zU6vxrrB53eAReU839=aXAw>a0K?6d${zBq0wz{v58*IV%9)ewrvs)t>EW3mqdJ5yX z+L?2KFA37cQ4n^NCg2YR15Okw8*fmt61DMNl*4Fl$R=f6@U7Z~bukD8lvNryYhI+R zLra??%Q`c}lI`0J^$z5>=B^=4C77xL2t_9$0NtE&iLDV*&X>tEgJtxG6$uZ(io^1S ztWCuI>|O^L=Y8avMSHRPnNYM-cYE`lJeOYsszwFdACoMn{aEC>xCVI`XdXht3)=%8R_rv~S+xC! z-&%fYrA;7d$-l#zT_jh)TOq`P6HA!u$_RwY78GH1UqQLS5#kxLQBDPuild`)=&byB z8o{y!3q;?_$b&GQ5DFv+VRq>AlbmGNO(m(~HGXuyo&!GsPbIK>EyO&8C!q)2 zOpWbsSiPc=vV*rrUmt%o<@BM!I)nhw{P&Xv$-I%NsQl1-?V{*V#U9Y@GnJiqK@wE+ z8-lPH1fEQwP#QcMrQUvfju2KKiWuzSxv2>sS+8$&Q^ryKH}iT>lFYLMKBTs`SdDtrQzg@2a067IJEO89A&oLXKlm^kj5Pw-Jy8e6s2=P>090k}Oi;7C6 znk4J;90Uhy`6Ll#Ofavu?1Ko{FavR+64&8jhK>G6K6Iqdwe6JzZ{4l=w=>5Lb1w}K z*2dOuwWVFML6b<2cS>FhGc;6o$#~zPL+|gjOqM%nXu^r(A@q?vP{rgvQvu!x%Q


    Wt2~m+xPuTNCfFE40*KIyceBNtcAj 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≫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
    2e@UJ;EZ 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

    RpP^L$UGXtC_iOf-AA#ly%M$ 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

    TeTondy>4*Ui(0B7l6O!(}BHP5qr(fOi!8 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%0D# zWD!Q?jAOZFIJj>i;$2SkEt8AAC|~Kl+bo)+q`~VQ$80I zff1CW7`iC&`{EE>H&OM0N4t_Ox_;iBMBP!<^Ogs&B^iT>Zo#hc{JBo)MMUF?hMRcs zb0Ja0Ln`K<8lreM~11V8#p{KA89X ziEG>=j9>CHy;8@FToQmF`|d`lm?ssb>I^Hhi|{G$YL=Vp;X5BSjNXo?hRYH-J-c=~ zXQ1VuKR=1N+Q%E?wYJm&JOJouE{(XlQ{{rG-%IbwzTIM7%WRa&%+Yc1QHJHpx+!FE zDKnZUk!0mIZ&oUrQxMh6eCNHTnZy%zZpo{C{M#3(a#H2_2{l05!0GpHSuI==LoF4AnEdbeMRlz)?)VHDq~tEpzeCcCA6-7gm~pO z;Qsz~&2wHIl~`fPSJCqA!A&yy8t^JYm}GrHb}7ht>ZA!Yn?vda9jGsW5N z4+_^X^HSZY@(ufodLuupPXdex(uMYMq`OagsqwloYLRz2%29DEY(70qnXdycIq5I3 z1Bj8kOC$b)p7D$T|JqlQzaZe|NgV(8_{Hx~@enb^(Cq+CCCWM2Jhn2K;Tfz97^!>U zXql03T&;z+_mhYQGt2;E&TuSTq7zcM$&{GaIKkG4aNKEphJZC%f0bHcL_>qMML;MC zjkxGK6Sfl!XuSGBO0j>2Ql-cr#SB~p233cVSZIvY`?-3>m_%ej%=32aZL@vjDqyA< zq0ctczY`|=xghleT*KZLNgkKCwq;Uyk6gWLSr4=2rcGbkj=LfX!oBbK#0EasME3qi z4FusyW$*?c0VDeK(#rVbi;*CXZ)(3_C(sSU_BUh&^%>*cX!%>sVpNGx(rg{!G6!9E zWBjNOHvW{?<+t}d{v?tbAeaXuhW&+iay*JR-(WBN_M8Y7s1w-;863~o!q%SP*ImOQ zcvh(m##miW(hIJ}Lq4<4iT8u=EuP+wQajODcHI_y}h z?xQ;#z+N5na4Kg~O~$P37-zly`EIRD#YKBpZeJ~UB&GeZ-G=R$z{V=@)lpM7(g~%j z&;)+Y7u-meCF3-o>RGgsz2i&I6&$Np>mw0_rwF8JlC$S<64qGfB7#sslL6%t-EXhf zWl|;F%{V9~0|HZccK^umc`#bcTI;N+`PpSe^5tnqPk{lGO4GZB(REByfo~q-YRk_H zWi^6ohKP8~ewjLkO82v@2--;_s_%_&}|Nly-2e^-c0p$nK&Ox_K! zYA(GkAZp@Z?#|wmo?572;we7zWXrRQC;u_XVv<*J21@yFfO4^`X z2eRKwD`XCzbaKXd=83vt38+rbL@Jjw{7MNx;3W#J6C>HXuzxwf?*YCm{5lHM>tJ2B zo|I03+DHOfJn_vP{M13Mqhs1pR5IsLy!Uw4C5uA3+1{94iNOtvX2jZ0LD7uzTTvWT z)KeRkeAu8vekMC9@1d;y!CyrFomjP|AA6b&bM&OU0VUQPY^)zClV4O=SMLvIT#KRX z{2y2$`UCH)xR8IVf;DzhHTNP{U8r#zVoI%dM}4OQH83V@+IzFXvB}O&4sL7*E1s2Y z$G^4wzXAxdl*_=xrzDyr7IRjo?q>yl-19p;Xaz`*yNZmL2F9iON0`*P>lM+hT12wq zmNP{U_AGDGZ0UCP=`b%*0ym}Kg?QhJ7d0y@3sJXR+>ICz(;eRUO4=xp=?NK15B*Ot z=4%R$O~{-}K*+d-|Lg^W|Lz5+>JKT>gihv|VVeX)JW!FNFMTqH_?{y6-q^>u>L->y z<^1XF!4vBGreH3EYR#{{I8TR*Hs(uKXRA=AvM>uP-Y9-44D|IvD{d&f#}ea;B=o9r zA~Vu?oIK8~LutGtMK^7GL^-B1IDMoD$46x(KVPKLjXT8={Y4a4*t#;MVerVgHGIh$ zXO&q-IgsYmxwKt4BY()05j=JTxj4{l$- zsJy5c)zsv(faFNBJ3!~`6!WJEW(kIP2AGC*3rs`v@|HMMHnWD$mj0#DYSR1f9jRt* zqP7W@1wr9}3H~auj=bv5IpcQB));N%9fxV~35}Y2B{6!eS-RDqQ={H21LcIzedBN~ zN_CxS0&oEwt21H*>yZw1a1=EHPfF{5 z*0?be6@D1YB@^UBO7t=1?;50VVWueg>S4aKMt{zb{+be6{aODDQ+G6WZ%CVqi(D};^3=VE$pdhZRyqPjySi=OFm@ln48GxH`Me-l`J_zEL2F*0fSc@ z{Za}Xb!50|O1&l~G2*#pBRTbQO{@Z_{4h0<^r(o*ap&EhdzRG;(nr>vio3rQYxlRA zz8RpZ)qM7S;%1zueaWa?#M7o7iCEZ0hOfoS6#Zg2G1R~X#j&A<#j!f!e(05VAn@I0 zPZ(w#;O@Horg~fK>~RvItc1D0hTPl;&NDeC&XxwTOYZwDuf_lA`~JY*PGzmTJBCp zN0}|g=?6e|1z1ow6>)0auct(Ixc2Kib010vOv8T)c3N3 z+kmoo`8OlpC2&<>8TuSyzrOI)YkU7@QHGRS1*_2Ji4|q2Y7-R>4$dc9s>m+ogpxbJLK<)3#_6=DyV{Mrho{ z8zUn;H9kOv+GYUq&$hiv-6U;OCR=@*T%h2r44oAXp$0Ne<%=)|t4@-PA;mh5HZ^I@ z^(}t{2FhR_x8Rqm;~%f^<=dSaxq(EB*r@5cju1bzich~&R`|UbA-?sk{?-bu&VgDr zkAonvwA*&m=C6j6>6CfZ2|nNSwB3ZU>QHM=Wf8R10%)o3sf3-PF}OO2b%5}sUYK=hB?6s zZ4~Y|$^yyKwjN_LL=LgmyrqgvoN1D1kw;dK?Qt>+pSTaIcM}lF_B$N9z7H-g>Csxr z`PiYIvq-6lO#H}#MmMfAT-ljBo0b0Opck^lELJrkLfPvZkGJ*olalE8=-x}@84ZnN z>n;U=3K^}(bb(7mG@!?DNzA?YRq}y@#lpgUvy}u6-Py$VQcjy z-Rhxp=Y+<>k?KU_j9o*GAc=C6@&do2mpYYdep*sdP;%*SBtE;y%m}qgVj}4=Z&~66 z4~BfbExw$l`(n<3h$i4Z=VtCaOv7nw!fLE-qp5S*00PG+Y@}i{4lJ(3Hi>Gpq_zQ1 z$qMs76WoPW504ElmpjgRXcMi-$CJ;g-@6ZqFAVP)_03yP0r}RXWtG`t$M|N$haS4* zYneQf_KS_%682wP@KQ&Aj@{)RoaEutwqO$_eU&>u)jYj03WFSsnQJs8@A_ic1v?n& zUHOOlS_rPD(^B=f6 zKNyovYTu`j$#kH9nUEvM>C1gg*=Ow+D4+(i9u^YvcT6`qmu>RH;BUzA7&^D76=rlf zkWy)qnuixrH^a3s1P{jNCv!G#es8T{r^$$J*KMnz25CFo5|g@A=Sd%a6I>e zS2XCP_EuF;?uD2guhUS#lBg#5SLsE zO5YC+Y=}cmZ~6GCyb1{z7=059^o6a&X!~p*s#Z&m2`#W@?a;8A-*$NP9T4g*?7t>Z z%Jt`ISS?kn14dkA-mww;PyU*fL|A=30%wi&!jCn+oSWR_vPN2c&Z(?=Z!ytM>f!*a zh78YSNEA2tbs_Zh32eu&hfuQ|PJCU}uWxQm_cwo?a@H7_(W7fGj}Jdr*CIsvycz#t zCW-kj#GyaM3hhP&J`1`U`zR||tb>KMgTS^VO=c` zLX`#t)BW6Pk1%NB9?>T3Igj}(r?Ju5*o0W$_Iq`VQ(CiLctXlaPEV>Y&E?;u>4nFn z?R_ITNIkB%^mD^ZDdNRu=ie7^pvcNupfMFNGxB0b^2o#nM9b@DgvpIS=Uw)&OsWNd z9XLO-h^m+IV;viJ3#7w%oFRbRp@#_KB`jzAOr6&4=uF7iUmi^38Mx{t^h^Tn>`~uu zU(zq+K4tnfr5@jb&PB{t4sAx?rP`2aKa8brE%Wg3e`?N7iZKnk5-lF|VnWTVH@wsk z`06~M1#g@Zm8?O6cRdyC8S3~1bVpgmUI^PxiLW$CwqV3Jc>!9<(7Ng(E(VgVKUD^F z7~*u?Pk0S*B}12S@mU+T={EcgLhlH3wzqG75-N9w|CNmf`MS%sz+8j?4+YAPBIIH^ z`aYrm1d4K2cxvFDy*$}s1S9#^6P{Uk&33&1^Qbw>9qO9I`ZboiKwu+_Sc@}6#U=4n zN`)tpS@;sQ?A7Dpie1g`;cDKCaz}{$@U$0>=6fnOFFF(zn5fYsDFsQYM5hf2b|WSJBzW!_F+( z?}*$@RDVawLuFVRI?tZ@j^<;ct!x@3WnxM%fE+b=VtkMr=TUps?dqW&u1ykYq1j;ZOph_n6aj33Eh z4hTnM^?n%auh6NVZR0`50E5CD%(1K|#?n6Mv==R*dM&|pVtWdw zohDKx+*oNFx|3z%BdxT3d0}{^DfB|aQbE|66oTyaEO37&v43Cgx;8N7KGosUrWqPJUM&5rr$t*zK7X6DQ!m4;4KD= zH54}A{Mbc~VYEyVxup2a_JA?z4fP!C-QOrDZ-aQovizkxI-`^j`3o_4@M;OIYSMPv z;J)H9!OxR^aZYZAa$c@lEqOcptqF5c5S0{kSeIRQugrgQrt;LXg>yFF=bL}z9Vb-P z)EtX3r#Og9b2`ojNmLV)IfIT5|HA*Or818vU2Kkj?P6CnqUko{6YEkoV z@F1?b`7^^%Y2SWrCu4+n8EzH;kq+d9nOt-*9XIe|EQ zE&Q-nC5jJs)Bx`7s-*iqai6O{#- zuG5cpt1EWy2xi(x5@D>2=%^eXB_y(?I}Jt^R$UWj3P{h=-H>S&Ry~uIrXD@%pv^^e z@Mf3D`1lsaPP#9>CDuEVd+Gzp=h0EFJoNEtQ5&&@%HWMcPj#QN_S zF%u8(s!FLYmI*x-h)0FdZF7jH7<>nHjJ5kDQa0@w+qfDy>{ojE=f&n;%(Pozf`b}V zlhEZjnN|%wMn4^nNr3P;ppOqVD9hp6cI_V7Ran#n`2D;;GRi>-cOCYKUHRlC{X~9+ z^Vfs|TUlZ14VU(wDEx^~$0-gDTW0NpsB0HElcsxM4Xq4s#P4%{f*qWl!xKRyA_duFiA zyiB>CyPuUbpTJbv%itSlln~Q42JJ*s=Z{E$Uywon-&8KFGWi_@FhVc`ZRJ#(kC>c- zqY8O_setVp=T~FL?>c`vpMZ2^g7S5mh4m9!i!BcYIE0tq@kTuPewv)R?C)h|6TeEe z>>f2Q=sqRitF(?5jX2ixT2y*Aqgh>>_CFT?; zG&>o95g^^q-&Ea7k|`&k+|}3JVFWUujH)+mBt2Dye1QCJ=Ru)JptsZtUGrLo_Pb|MV#Q$xdzTy~06p#yAPj5W2%{3LXsQpXvDi+5?_pBE58#R^r5 z80Q)kK=2Sc?sny{kOU; zMS?`NWV3GL%NRj&aFLGW*67z{9Nn7S7P`x4#_sd><`NA6B9S9>4c^?QMkiQg4NuRl-bw%eX88gH-kST7o%6`mpx z(w#cMeq?G#vQX<- za0R(TMG0GZnHra^QXFL}x_gg86XRXXKJy2J4S%xqr)|VytH%hK8DCZs`q?BCD@tDQ@ zMC{ie|I6EA8;&&-5@A8@i^>OeReqLv6^6!N9)hjdx$Pa2>)^7LbqE>1&IkWQO4D!o z=SN+ZdF<(;?6mssA;&y|ltK*BAf=EF+E}l1T=s?@&)M4?xyUHET|H76SPH*9K7Z`| zFL9t_r-n`F)p;e=rn%uM?wd0$s#326LdWUS?@^>(5M(~MY1lr(QTIKI1aYW+>anRzx93GJq`YN$>=bJHAdAb`QlY7>S5(&K0I~& za}Z(hLHl{&p^fW>kmRS%T6iy9f%?2OkYx*B7%6IDaXSLvy27}oRt=bhEV85*)hShv z(}6YeDYBi8$#dq1-P5J-leSSNfGZIela{;})rxi25)jM-)9 ziZniJy00pitc~Ok%@uywt~#9~52C(1N8tOr){s;^0s-9c-A~aj)HI|9HZww!n%UrqCcHd3385=maHbA^M&Z+JhcO zX#YCG+i1P+Z^YdGu9Oi)6n^vxBSv)JEVUSBMpAC?*ef}*L;Vfu+*;>qdxR zDlVRw3BHrbs$2+BoaGUoO&f&CLtU7xfK>e2nfuJ${)Nu+F;TYdnM)|wiH_c*lxGpF z-r8rP={5g?n}$E{qXz{0-lJi zl^i3ftb0lt{9mZFO%(?`+b%3SjU_i~FB=pj_Cntw(vcDto}{9rDQ4wOwxXujEWOt; z1s~>-+a1nI>#-BFS`RX6iKVtH(l8)%AOdyPNecUUCx?FP=uuo42+Hpb;Ctvcl(u&# zYh$}@yJAh}UlT62dnxdX)*Mzq-K^D2B*sp zS2qw&_2?3B7-r7O-LbN@*ExDUJ>*2bKL)V|zJ#ihZhw5URsS*{DQ0nf?$@PdU4^fY z*Tvbd;}XX_V&FCYSh2ijFmZ<3b{FJ1;G)t zVkMe!AGcW?80x` zy2TDX-3>2vV0Z7SQe3WyK>Q5(dE*ewR1JR98Xd$yt<_!uDkx0?1bFevb0ET-c+g>s zX-}!3cCI)Z?EnSoKu?R*11{mhem~AJ6^v6^_)bxLuXbv2P;p(zOO0q7{LDr=f<%Y0 zOL}>DNDe@e{A1bXv2%QJpYGo3b!(k5w*e9ui@IdCWEHi+)+)l-Xy`ym?K*vRVJeQ! zB7P$A&#O6{5>Q==w6F+<)=SsS+lOEk*R6w;z6BMjSGlhn0mf|RO1Eo zv7c!e_k;hIK-RvHQBVmS&j<@d*+P6+{>gW%=6WE%SIg%1Mc#fd^}0%DniNqpKR3T{4JSQgd{h{*@83 z{t~{0i3l{M;0y9q|7G>y4{9}HN%=?}ZM~PMvoEQ0(14anG>V0*mSvE677_ExSRar= z#=F({t}rKO_3czB6m^2t-QVdJ_BZ$>GARB6`m-~n4HoJzz;%n2kY*kAqH7^uCa`n; znEj`p{9&(NMO~;((tZNH$LPV>*^f^r4Si$i4Mo)9DbG6r_UN(!QHJ@+CE(EYeoAZjbielvlIQ*GZY;~)%1$q&&X0XXP3r&_lntU-4P5M7o#T+xk025g`K+39%AKn zy%w?6`juMLOAJ-%yIF(KFc?anAS52e*;S>)hSmn(uu(Xk36pWY-W#1a&|ZgVHk=yI{tImWebuMY~A9KCDw4H_l=dg4|QoLDuf z$<$R)?)UKT0E%a1kV4S&b;c>HLKQ|e%O+*ZY@idO$Re9-9CZR6xO?9-GrnGSm0-Nq zr=-?cJ+YbctTnm06uX&n04Ox>BR>JQADMAx+jfpN+X0(Qb+&0fIy`9Ekj;n6GMOWB z!Uq1sKMekJUA;Q7L?}Yn+hu88?%sZpn?W>ms+Iid^xJ^s%AFFJMHm3<*)gy#iADoz z(7{GPm`O=yuZGi*JxN`(hmauSy@QyJQ;~A$82XP$Gv}Kw3aC>J zXdwuN&p&Ia91qB+Q|3N36a0$%v|Qwxjm>>dGPYr5ZssqZeQ021d=KM}?Ld>=ig*W(X6R^U>)<{)t{-AYsI)&m-Me0 z_C|wKJ^_eFL?8xeRm);mB3V2zJ44Id7a|yQr!i+Sb^Dl%b_#(=lzM-k9nW)zA{r_c z?`#-qTFUur`=1)qVtfpyRXng@8I439a%0_QT>e=_Cf1TgnClXdk~wZA(~dQD^!-oyjSaOrv%yPHayL#o!q3x-9LYVG_PH|1=suryO$STmE~><$GgwyNuMNmu1&a z>{M4?21dFXTkrN$kLtr86sB-~*0L8a+qqT)_ePRaf}YY%@7tNlC1mD0>q` zLD#`_O+77w9sUB|D8^!UQ3o4FR3&UfEyhL*OF{IM7x)~Gv+ox}hn_0;;jI&>#zn!0I4d^A~?)!MmGgv#9PK7()FHqp&$K zE(VJ?&j0tz04osr65iLn?bJi-o5H~TzA)BY-)`sw#@zUjCGnF;%xzQ`%B=5V{T|7C-6`6Oy5U0t&r436GL@`HVw-M$@sdVO=TLv*nS;p|w(1vb zSc3VFWLQyAXqrO!K3j;M$7k${1wuKdm=FP!ansJWyS@77zdIPAr8vx*t*3a98hs=& z`{mz+k=0anY15mpV7@Lqs}QR!2$bZsPpN zVF26!@8=1W=@|W$KdIci{wEp>4Sb4#D44X*mBcL8yQ?T=9LDSqF;Uv(NQ9B;yHE!x zUmb06)}$1(b7}|WD8@`1G;fgM#^eEs^`A@zV%D0Q$xeJy1?=>7u{qTySe=>G^!C!U zFE3U}1u^Ip95MzGAW@cB43`3#@WF0G7!U-sIRAVT3}k^j9+b>eXwA3%yCFiy;M3b-8&AcdLeLe6a5hNaR64CBu z4ELVcKTUk|;!;?$W|jGE;6^eJN(vb1UO>mUV+|r!yT_trH;oA)K3uRZ*)3JdK5j*c z2UKLLcaF`DhL$EP=4$l1^pNsd_MdCySR$o-b*(=fIHVuxwE1CYYm6Do)5nPyB2N6Q z9Kz_0hF&No8=ybS080spgPd)7c8zy-3!_ZR-itD<)Q)_U9O2@^x%_P=3UDXpuTPq{ z>LeUDI&}6#bUXh=C)7`sMd=%o_E%0~BNDqJJNygq#t?BN!0fLakwn5eg*K&xo|b z85yDGs)-vZ;q@k7XAqAn<6P9ZO9^H@1wMbmYYn#j!9y>I0_`=G=d`{P1&Z4hh!Ad0bItoZv~rvb)|qkPhNGOI;YwiIqVWVwIaLlbbO*M?KoN+6sp<;FQ_F!#oty*?> zOR08xPG1Sq_bmTfkOt80EU<*8otbh;?r$1G8hCRJN{}UQc4sqqOdLy#~>`V_(;qZ2#!1u;~d~7oT zwY8aAXERUN`(JCajVAT~q92?eJy_D;HTo=XhFEC`UQf(IK?7vOLgDl{)QF)W&3BED zpo=A|i`={Pm~wE*ure5LR%=jui&2;x91viD3>)nB%> zp0NkF#3>A|HchN)v;7Qqd+5$y6GHy0ej8 z=GN7T(_UQl*zI$dI3}Fx%J;{1+Iu*7#+BOb}{=3a`e|x+|J^$~P=V|r1<)j&N zh-PwE^-7$7`((PydLa&_ylUOz{kT2fjko>0S+WfP!u8^3<1tuNg6!IUTWwBMmhzj%qR^^dLeo`MYPBAubS_MyS;Y%WuL85v=oT7=`^F;vZ*7Kiqu)dNUhTWL!lR=;e$+v+?Uh#THRd zN68bqTIkDzpcL=lqnvUdIwon&>^H+&4Q$Sff9iXg#e;3- z*@z6w>0aZvM)p7$@i)o2 zNN~hd!w?C}ibM5#>ytYQb7uia@-{-<@tuXYqi&j7PiVD><5;IOuC7~f8W{foC$x9?jSyac zpg+uMY`1n4Uim}`2m*aJHE4qd*(<;PtyoCbT7^c0{6oR*x1iG-A#ZX&tWT<22AaC! z&WF!cBzj zn(dO}JBPCqomKo$l19_Pn)+@*JTY`FW@C2}6}G|YS{-zN)d22$LZM%}c~&ZuOMfl)Zn)guZ48&d zA589KCZysdO|rH^$beNVpk8J`-SJv*&POOE~{t9MglNzPj8Ba>9~QR zf@cv}#tspQQsMETlGcgDP0UDeF<}~f15V%?Fa6-^Gd3fZLO4?-~x_~)Pe33j{dQRzLXU5#zL|g@sC~1MI*3sH|v*IY; z_swY!)q$nFdt={jKSBn55%XWC#tM8MBTXvo1{T}? zQMt5LKl4KTRqAIZT!I+IRKTXwisCWrwH}dCbMEg@EwMGAtD0^!tZ`pM1rf<6ulb9G z@>6;%p`8#9=s>@JYQkKz6CETr@L6$Az3}tc<~cddcsG04X6jI-Q1Hf4`?nqrhG=C$ zJ~UcX?9siA<0LcDuMNZC*^obtmOAXqHpUT+iz=gr9qUo~8s^+_gcM}x1X*>>A_D6+ z3vk>9IvBN293k!dKc;2Bfk!4Nxym9g{zBXTLNiD5f@xs^jnAcU`5#|g-gGUw3tL_M zZsVHp@?!wAtRl`aNC+f0<_wxZtKn!eDkW!%N9SEOYHZ2Yk<__$IouJw2@`p7r4V$z ztDMNR^K3Ye{tzj|wRhfVrCn<9pug*y9odQq4PEjR`k3BSs6X5{O4v`R*0KevnnJS> zq$nA~5#WHc|lsDDgt%YpwG=YM(C(55@qR2c4hV}hs;S=$WKYGk8K|dK2{ddhb z+?}-^&zG55V*H6}<*8P$7D@h<^V#NZ<%q5b*XB;j=8h-NKY#CUVY=HeHw)i_v>zyxtZd8JN5Gz}d+*k|L zSaSsMHE@*q2OvRSI!@T)s6*U>#!h{e*W5EcwS5E7Ngd!&)1!Jd^|U>>@Mr_^=?o&2 zAUl5B((0;94f)f;Cz=h4;j}&S2{*K|?9X1=s|#-`sqJ9Js%8wp05Rky#f0J+(M-w5}q7Pk=BZP z0;x`|$3w<`dQfjA+dFr)ofsj`9?Siq`>IITIY0HkO$f=6VU>mul#fB^bdpv>K(jG) zj`)B_h+UEZlb|_B3`efG0Dv|*sgVmIoeAw6&n1Kw^X$j`1O2=&^><~@%Vh_x>rOs; zL-7c?Ea_5()SDpgtu4{tg&j6=>@8Jb3$-h%f0<8#A1c|#C7Db>6({Qqr7N%!r4+m3$v zVy>ls+l~q30no|jx)%hA1ou?)W2*<%NFC2=zslLM4m(b0P6d_|dM5P4h=e$b6M85s z$1WLQEK0ZISD0Vjo&D|jCpL5j*3@u|cam{&fBjWf^jz!Tr^}cIWIJ#;W2u(3B_42W z3NsqmWOs1g7`DsPH4I2zzBVKt1sJF^dMYcB}H7*Ea^d6x-{2`y6O0g4hY)E zYP7CPF4ONWtH}m6@LQmDQlHGgUN&#Kp>$funkFFSAEh|TsL-p0 zm4^gR0p2R*$D4~~vCi4@9}h)X-tgnX#DH}4nT?44P@t-8w#^-4tNPZBWLLRp)0gts zDwDOrn!c%8Z++SiU~MP}eXzY53Hq`v2-`K0rNw8O+ZYbgBz3ji558+{E*pVTcirsz zvquvNZZ;p9@(~h^Q{~!!#&WLgj2yLYni{a1lJ}@ z(k=@$G9&Mk42eP_z~f|94-arI{aD{u6*;%CN{(_28X3%v5+d+}2Ho;wI7&z=)y8Cb zxF*gJbjbm)Cg(X<++Ju>dLXTX{th$Zb!9LIb7TIRNX&%vi!rdz(Uji_r5J+7t_YK1!M@d9-xKu)+Enk2RH10 zZ@3?#MGAA8d}<0z-R)JoyIFTzw$UN0+^xN;w%@6}0x2Y;gJUYYC9)zyjDPELZIjM; zF%e;Oe8>~ZDEdB2;o{a^rIPsbez;iue|)`VR2*TmH3|fGf(-8N?oROF?ry=|AvnP$ zxVyW%1$TFMceihn_nh$NXTXdAetHPd!z;_TFWyYb2*j7OjD<8JsXFxIZgk z(*MIUdxhDw_J+zYg*UKNCD>l17!wU19HLR8+)GNG6koGvYw|I=Co5qRd4HFDkr;rs zMASIkFh*e??1y4#1>JM-D?twC_74`Ms+P=LB2zr@uQ6O96l=5qs43(*?DHRMqhT_F zFc(7WvF9F$#MJ*6_W5x+BCUuK>kGtug2vmVZ$&>EOV7NuXuNI|L-^gT*(oD;km856 z7@W9O&%$X`$P@Okjk(dgd0GpGS{GNT6N&T6TltC^BS{t!bk0-u*Pp%qK|XZQ3%XyQ zxiS{_qXw9{YS4F+(}51N960=G2*4?U9q8BF|FY}CoCs(Fs->^-ONxUK?s9Ef+HV%A zeDXbEW?XLm&34AmvUzC8D5KqLwLXSelMXrS1R)5>J4W-~#1!>@(T~KhKh&xRrzOauxUpMu1K^K6PW^>4l{aw`LcaSMF!e@ZBj`3Yp>zQHzy!_SCk99#uZ;*jxPXIIN@8b5eVObM$^)Q5)jG5A!z;H~)*no2ssiA}rztiF(;anXt;0LpcVE0E*HTQHR_SM{DEU zQp9~IR|F2h!oMm z*Mo{9=SfpY1@vrzLLr^=1x?*RUZHJq#RGZcR8DaKtURPLwjL|qUpu8a5y3&Ty1V4Xp)Uw$bWfl9{f?ealD1@T|iYv%Ser@wBZT*?5MbgMRX2wwi zroGEUA*ufl$Y@1H2CFNZd9coRdqs6p$_9_Zi}m-jj1E}Wr1t*{Ai@hy)yq7O_>d~< z${6>U)ly-eV%-76(o zvbxen5kWt;sM1c;_M@E~=wa(rK(ksL$wu_e0!=E|DVo4pm}aW^(ZQA4S0PghnMb$S zu2;;##}21n43UvL7ETtiE;r5Mrg~hu3Oo+5&VcR$;#e(*{pGJ?4je4t?Gdg5z95|h zum#8x9}I~8f=qr+HX4aaVOQ~s_mmHwa?-}{!dbxF8ZnPkSU5kuY93FWjITnK^~$Pb z4`o2rqh^0)$}}3dH=rvedKQ{MRcR$_*lJoeC$1;BBlqc$eXx+n5ilxVVwmnWE#iAhJ`cCp=N66*`cUJ3_PoBjdbvC#SbMd2XxFx?^}10h3u-B~ zvNYW_LMyDk29EIFHEO+H-dy+q!Y)P2BCQ#=aTestu}0+VTGTlxX>_V+>{^9sbWtfw zPr$=>^Gb88ud!;bm!nghs94wcr-V8jek>F@d>fJV<5r)P1*L)IfhgpGz>Td19^E$} zt^zy*i{Y+gO#iIUxs;E3%kZ&8W7kM8^{SpKT4Pt?svhFU|6ZC)LOhk*i3C>rO7m)0 zDAz=Q$`!LVgb{zs49O2Yh!1?04;)c$`F~x_Hlhf-mgfJ@<#L@crVm}31~|Xo*QL^h z^;%Y#@^no!;;PWL%`Uj`LB*nf2cqr@6{#J)KZFFJdHlwUJ{AShNS@g&V<93^RLevg z2k8nj&x2Of68|q?QT-pl0^iljicB1hh=%Kj3ErC3lNGz2>Fxu2n%QJ;f$T_HFf*}N zzP|K#Lup_N%Xe;Le_dqpAP7OjG&X=Q6n5IY4jSZd#;)sECV+B*>25#3c~+ z29l&S;=Grk<%Vd<=4_fVSfCO(e;jOu_0SsY=>XszvR88@@-$%K!%s{m_i zdC^l_Zu9ZEJ&dF0`HE~nY(vXNydT#i3eNoyh{5|j-FK-(DF0`|_p6O-fPP$be@!j~ z{XbT!D8=!@^-3qICcgv0WwvM7zj5C=`3e$QMBKZz|2)C1ozG^g zcT=8V@1>?yZS?rg0);cG!J=zl+OVc~cO zq6i4FD99wolHf(5Jb|4MQzyB2?$=_Voi-cS3K69p5c_n%2?-* zoW@)U4;cW3%Ul15<`3=BLB$KW$L=3#-rJZ}&%JGPEuXiG5weT4yL$8zRwNnk$0 zXZ_{^Ig9{!ya9KZno9&tIAY6V!?ZF%sT3#^@O`#5-f^H!+hPBM3Y;QIq?j|fhVIy; zSBabF|5v!Rq7ZECSzL&V{bQFUX|Cu-_TRzw`8*_5gb(}Gf5ZtZa=qNzJ9@x|ho@wE zdA(C{HNu(wG{jbAnD_F{y3^ka;#zG=+m{yn)reK~E}?7(ZVZrYZT<*YmGAVI(iL*F zrewS%F%v>6c^zj34m97N_ltRay|+Tl_PWpaxc>{Ae3z$}NCjMc843Rb3er9auqW`s z{mE!SnUr=f`SbJJRhPJ3qFIw5May=OV zgJ?)(bZJ=cfZ3mcLqa@@lkbQCcDYycf#TCZn@4=h9mJ0doya1ZeX)&JhFsU70da{h zpKgef%L?EQqqthO9{M7`3gdtEnjCUIes!c}#0NwhfvTcKL41#fNDejpU+af>{#v%O z2okeu1b%s|6q`m))Bk$ zKzygF_HQdN#mgpAO@J0(z~r=mv#*7LEMsrMvYZ^t#Jw z5!ZnXMbS~*9d}o49e!6&#}h`Uw!Tktw%_3H-c3CU=bY%3{#BM`{2RrP_r-L`uO8== z{FepE?6S`F!}1#? zO%;rG_U&049LtbJx=0x>FCZZfC)UV?1h02!$b!3fdN>h~n6MjK^7?IC-A;N?Wp#-Y zKbL15{>FbjtQF54Wx~KUHn0moLO{X~#z^0aRPxGdW z%Td}X^W+V`s{|4R0tW-q=hFdBlY}A5>pPX|!Phe7xAzRvlJ@`9s%^sLD@p8pkOCRi z{O(e>$Gl|&^3v?^v0p78G!11V34SK?9azLl6c!Y< zb6!mklLbAsDV6|eW<(scd1^&6+&E?|OfunU(c}8Wzq+ltM&Nc=biqg6KUMUqk~=$g z8^o2LAi6y_8Q-jsDK>(AGN!cO<0641A0GPSdEo=Y)zfbgIj}3z-U)n00|8@L5gNo8 zrg$`BCn#`9Uh|*;O8-a(Qn_L{Gr*)b>3>OF(CwVcCp0TD()!;YwjUmn4)+ge>If>B zS+jR^M%hz7LJe8p6*9K;(b+3Quwo>Fz*%XBkek2x(`I5faDzttF3OBv%}D4nPl8Ma zd2O@PDFRciy?a)2$A7QC@lCGafV$LlJ>BVgyC`K$GvA@rC#KyTLYdw)SbVi=6pt~n9wbZ zM}S(|0F8kj!)RbZMXPS8+$M%Y+gZlI2Gk!ZZpJHKf$2mVBUF(l_CQ74!u67 z8Qg`7Or<~1NqE9WIO8>@4?S9m$MEV{aq)|-FX=s!D?I1ip@&HT&7@B7ot6cjgmb$y zTH?P1dGxL>U;JycfO5RjvDStR*SW~|>#m^Kl?~q_9BGcfpP)w1`#nJdy<*w-jb=Ie z>h#{7lb%&EA)D{=C+<}Y_9UGT-rODh<0Ls)&kS#Dl-;D2wb?*kqKk)VBXU7hUcx0l zJ=l-nC$v6+syt#|--#QUf-gzKF%u_KRBxBmky@oZL)nk?aaf)JGk!4d01W&4M!-^H zB+gM;gCk0xIB^E@a8LlVpiuN-_Tq{q$UbXSIQ`~=@*t&)LYXnEz8EZ!1U?k*w=|!% z@IA;WzDF4vNSvyhfkOYP(b%Ibapt!>h)SK$+k>J=lmz-fy#|HQ89h?iXUWP+&O^`t zX(PK+(8Q84Ed)7>1tccn3nMuNTZSCDuVC{)+eZ|#z)~3PIf-TI^MM=Wgk59BzJAr1 zs*zcd|9Yrq%tSD)0C|f7{I?A;2CqOPI}0&m_aWvtAO#JDVA{X3BMv2Sh@V<1D!sW7 z3U&JJDvhsa;E@>$crr)izbq&rB;3GDY+fXW+Unb@AA^SZxZk=My=5MR@B&!K&H7z> z(h{b_p$!KQM8O^G@^*;*?|k^WI^NSOO-q_P$LXpLKN~jOeUu)eI=NOXs=pJM0o~%` z|Ce<`wdZ-K^h@_DatBCQ6~S3MlK^{8WmVQ9k*Ez-7-fA zi3YSw4EgXyfU>XlnoQ=5N>Ebo{qj3hpCK@Ks=s-Qc+QLXexJTza2#R`mA-i}8+pO@ zBeXB40aMW~*E(AGsSX`hD`%?g1l6;;x}TeF@sr?k1L-D;%0GhF?%+k9Dx8KdTT#la zvqwsU1s7&~2Q-Kc)pY)KcFbA9p$e$R$9%*Qmw0GnMTyRXzZ6!YWon=& zJ3Oxg`#)~(*9gh2=J5vV4MBXVxY9`T7z$QeM`B2k_RQTFQep~LelIX+w2eQ(Xr0GJ zvp@uLcZQc5y74$*lXRCdY7Gz3K;m$DZhh$g91-?a3rAdY!t4cM%38g~wgh3;Smtra z42Hs}m7*EK!!3IMHaRl-DYpN|ZEKrR6T^abcKM|80xs3-*$~L<+SvsTKy*8#^`+$r z_`yg0@pQAXGg(CAINIf{gC|Q7L&LXXG8G@Mc^uLcED)30XC%cJMi1*%kc(j*)i>9k z4`<8AH+(ke2iGd@p)z2e*ZZEhXzmCC?|#p zDBXp_;=Ov>AW0f(=wtl-5c-?in6Pit=L8p$3CU=L(2XDMsew8mdnUSY#JT+mr}FP} zSoZHZM7yDeU5x4&Vp|e|iE&i4q%gBmLF3MOR|#Wu;zsUAQ1`{hY#(;B${%-VSfagX zLTYO2;$`5_OR2C(=&?co{sh{aWB=3^yUgtHrG%0nHepELaFyjR#zcSvV+vz13n3#LJ1`;D~5=R{`wYUI< z#XpfFRbf44pvq=Ch&+V{b&}-u+y88koIPKcJ3HRx-`59|x@a1|bWy{`(_1qqI{|sG z_O2d8I);P#Gi2Se4~`v6E`tih0R!un5g^CQxDmr_&~`EnrAqYb9Y=Fj2pFSY(m+ya z6OdHONqFZKZo699vU|P@!ed$fU@$PyL~hSPJQu)hc_BiJko?=!O0(=q*mq#9WIm zg6X&KGzx!4*aE(Q;=sjxfKOi&`~e3sT#NGjy*C4<%CUsn@AHJUqc10e#(N}4Domv? zb$&lfbE}wV2^&h5Ql>t$_|&LA5}{H z*PcZC^jn3Cnb-TbhX=>j)Pmkrwa@$ZA;4**VBwV>^@Vj58R-Q%mPsq-2V zQ?2u<8lCl58DORP_9ldL))rK~qsP9l{CsOT!Uu4t=3l5<9d}81*W=za&8i*$k?1{9 zDA4Jir^O44!&@cK+p4uy&^2R@7B6%r(&h&(LYkn3gEf#r5X8~4A&3ap;kBdlj8mda zR4X-eG6sTFD)gD!B@wQ7~tQ4*cMzuU-@aha9X zly>Kn3EbCsWI{M^YXnR_mrYN{Wsb``pC29`Y%=*br0Ug^# zRXejl&zBLv(xr04NO6xxU$Mc%?4~#ZJ?9B9)cWULf4kj-5ZASWSQ;x@= zO9kNCn-7>KX3+Y);HK7WF#fojy<}iL&C5^j04#hPAo6)R>!|+swpxHXz7i2w`Of~& z9Vs9^k94_wX4w>>SYz3!)&D~DG^zCCf2K1rWC;F8yC_AW>w9zow2FVfE-1c>HeuGV z3ex?3LJXX+*xBWHJcIY7WBza#9Vvfu_(Ml238n8cD6{C9^t5@^pu^q0ueFn!*|yw8 zs>5qDUdfIy%(t`h@a@?ZK<$~7A4mIy1}Ebm^!t8u_bp=zRz9N3m_LvlIL+iAL~I^Z z3D}+}m^>gF#+Bfy*CN4Qx6Vk}^8gzQip<(yo$1NGL2veNmw{A^3D7;+OZO}$1iH)L zjLC2hvOByyj>1G``+H$lUleHTc(<{X#>^4SB0HGF<^go#c12&GD6cyD&lDxQnj@;t zNs9Fb0KuZ9CY9pohGsxV`xFBcFEMo#bZW#1PID1H1t?V^FW#f2`?rfRR(rz&Ph8ip z{q|xIDGH#yUrDQa<#IyW7ZQ}@9n9y0RVq)V5g5AndfS&Atj&`|19R*M%gEK_Om9DtUA;UX71lP1biHK+UmWcOI=7yHWg$OgnfRc)s{*F zVGP~(foP5M!Eyp`c7LW2uU`YszdC0#?Z=R0xC1_l@9)JUG4*Gt3M!%68F}YF%uBt` zu9aVbMMB}qYpms-vL{D%ji)hnX<&dEdo?aE&SP@FuQ`9&>TPZrYDfE`5oNC0c?bS_ z>y0J@<>f2qBRku#>TBxw5|l=Ohhli{gU-neC6jEVvp^_-E3=1enR`6s$&zc{Ubs6Y zdi<8?>6nIzp!a79b2&!@_S;=Z26djG*NC@l0_TNeD{0Z7{eGnpkmkS2Pr(3m&pEW; zKQqSqVY)ob{CwH zXSS&Y*)M~ZWSo{q1Gq5a_aGoafNh8!rcw;L&{fzw}Y|YGx-23YpNH>;-4EST})O%7*J(tF|Yo2jBQDadu$@3?9hUIi4PFQ4jvO zC#lgy?)gjPe}Sd^JO9nNPRcCp9!V~vYXTn?&24?tncp^(^uGt9#=Saapnq16T$nxA z&-_{>Xnh6F9`r50=YKXz`HrEL11M+>ZEH-2yR1fk^aXI(z6_cs6ijA~+;aL1wt&TT zE$mEYNXhtkcxjtN3-^pP%>hJDGENJcb(TjL`MAKLav#k)4&eqjfz#hq;zoqFSddwt zp%fLpqQANd(+HyM#2tgB8ux7cV-Dw>^B~@6lWwd%(~>EHpAXp#YJV*VviLS(sR=gCrKJL*3MnF@LPqj>>uS~z=j084C_ z`@%zF*lUeVy2LswSXCV2LVAa`#abQ06X0I#3@Um2BN0}-^`+`iv{OA?I=N%6ob2yb z+$&^{Wc$~j>TAAJ^Df?2G4s?vnsJd;U8+e|T}ksrtBIlhRkl1ixvvVg44Y^k+MhP} zR$ZkO|L*Ia-I6F4uy^|6DxaW%o%djpK&goX4D zsZ$_e5a& zFSOce!c|ig`<^ee4JCWF1z(J#;kP?dcr^`zOZ?pxX-Hb+4aw>&B*=YdvwyeqV14nt z%>?MMxfq3%hA?B&SC<$Ab*gPQT$CF{VGai{9`;2fd%ipFrkSMa_TTaxKQHs9gqm37 z*S_B$Y6hV=GW2(OCG$+HNt@q!-z1(glj-01t1M`Xhw_@P$^usxmzhpE3=o&U5s}K;op( ztBg4VxrXQ^{hPv}$q1$=@a;9>ff&DiF261wG)9_OV}8)Q>~WU3p-(_1j;L%*jMV8g zWf=2Zzl8ZqNbKOi?hy+Oemq`+1b(}MesBs%?qPLZe{`_2|AyFF#sBEMRr;p+d2?uD zUVxf7XXlxAaQiksz~5dH`}DjScg;IlH?B20aq1g6Xe-PEl6`L9WPErFf*3!b%XLI1 zs7t(M-7VzodP|0lnri?3h$kod4>*-XGcF3LXAS*NU?D7q4rvdm2Ff76-Cim7ah+}0 zz=-S8_?T^W<2!S`dHd=)aiHr0Y33-z;0#9cVpRzk%o*;tVi0pFXv?u3zU)`vOk0Jl zT^w3a1bdI6ZNG%KsIm@kS|$c}2w31Tvtz&aXW>kP1=b*}Q)WuQknEPEyXASLp@V~%Gc4FNllJsa)B0bObcZP}(zdi&C1 zrpSp)g)3i1G-vmQe3bHB`8}5+MCDv!Kl{MxZsb&PiFHQRpQS65v+v0qtQ@VQGOJ?ZG}yz=`0! zjFlb?`BxFhZP9?r5Rj1zjk|Wyv=T%_NLDC^{lZzVThoIGdLmN0ofGgQeUawf;ci;Q z1K_eT3=;=8u?7BD3&}Di1gCS>4@n^*jMVb2;DI7IgYXz6_ti4#baV=SLqKdCh7-M+dO@#+b1b==to-kxhjrBvwcl&?_^rRR`GybeIxbPD?lW4-9 z*<)0o0~1L)oi-=?Mo(m6j`^aK5(a7$TJ=TDDrWMRs!0?PAh6P*qsoUQBUB4VX$be{d3symesUId>| zU+z=qBMe~p*un>V(cGBZ-!tu@N(6q~kH6O{Q0*LW(b!F~=FTL6)BVWcHuIFclrkaj zAf~AI-=K%qd=YS-c<|?+VK@5|b*PzNQ5jW}fnU(lRqKiG77Lfz&Etq);z>`TyzhEr zZJzCT(4KS|Xx-b%M6(AHsalHSa25y!*DhX*iYKU<9hD_^x^Cx0h=mt=c>{{UjX(JZ z@j#dq44?7aeM)Ho+bxP0#iVY{fMbSWYFR4urZ-LkHGag|<@vXw;wkt88#LR@%W^c- zAPJ8+Znepmef=Nw-Sz6?qDhn|M5XbVX55aM2BH8bmH-6H!ll`DKMZ+2ieZsX*@4Z@ zUzd0G{2x3T%C=9jA@wVh*&|JdeXOWv#-npqhQ<&>kkczJOff<~zu#h@5V7emCXDR# z{_1x@jbe1Ye0oXpb}94brf~#Mv36L+Qf6;i64&;o#W<&q9}0WHb0+sA0>lH1-j;We zmX%rcN^y&kig~zew|N8AZId^8dd4KGzp};#u^Uagu99>Y$KFO;y?p>dIolycx9n|> z*1`QosEslyj%{(n4&Fp->Sb~q$URGw$)%{+p|5b0OHdULIfEEurbMd#90^QoWfQ3IK>wX=XvyxNQ zU{}ptv2a-c^(L9|_tZ2!!7j~JcX||cLvOy@#)&(&M(@4MpWN0q=_BU+5Nc$)Rcj(W;9^qs zyo`R+2j458BMf=qp&E1B)j$@@U54tvO&+pgJbD5rCSCu0G2_l5gY_;Ols44NO^oiT z|F)IXi2gYes<(Wsn%XNaTkHc3p8t$1afdI#NT(1|{|$Tt;q{F#7Qq5_1yha)O$1fZ z0i->=tDm$*?{L?Udy;6YO(Yydf*AkkxayvvYD@3U_1K8?KKaZ#b@G-Y?K+X;9{l{a z3#MlB*6MbF+2E$?`bp;K8^|x7N_n0vD7)l(v=K5Rn4KTF)vep-YOWlEgAp>bs4qF^ z#Nylq>35@%(WLnGy+ZmTSuwE@hTf~!r?-K}rZXYcFsz7R<{wAd+#2Yu!DVo*jvl|n z*Tkj3`H!6sc>89cR_s0Qi?he(3It(bC*}$Y|6r!EhiE{DIR}mVbdQejmAoU%*fzY7 zPWrjlj$IT!8~e`c(!oN_Xa+;fdNH9gPElL?hW_-vF{>GyDVm)3PT!0oldbMgOT7K{ zv?Q>peN{(LRF?bkJb!rBb!tU++c_`nhKeO)x$(>APhOJmb589NRZzOy8tF*9(!`r$ zqNa(o7-|2@K!sOMd%_f=2#%WE>74EFwdSd?(<__qzAJjcdrPFjl(`OqhBZ&b-w>wK zbK< zq@bLfe83ExEo`ojod!3-7&#CObMp{|a|MY=Ud#1Z`9ZVUx&LQt-$n+fk-o6b;#z0H zg{$(8zdQK+rNXUz?Ly0wkH?(0B2qbCI8{b*6bmnz)Q}rM2Z90UmN;I@EZeQAv z2H8cGfDol;UnvogR@CwSin?uj+auCDNAAkwn$nmhbO}zXeOH6{zg?MR?m2r}MhBgT+rTlD7qx;hQ^I ziHW-p_71J_k(~{PR9F=5kE2i88N&|4qTGA<{a>cmllQz(Ez?qFMu#Zn4W%~n3oG06 zdLBcvx|bH^^XP&hknFsorN{eYvk7I#eh6|f8T^sedle%6S`HceQPMcs=J|RU68ykN zGtv4*MfdaRR>m>Kr1d2;I^N`XlC198>$+-?Bg&-4-j*w1qxqA|dkA8P4hH+X3v8(U zR$h?~de~zLyXS@SJKktReb@^X2h4Ng<(6WZI>&%L-|=$JfpE@z>yO2iz1c~wuU)pQ zP-eGp1}zh}79Wh*@0~-57BDHe8}*qvK5j-DLgo&9ldiEX?T0vLH0>zOKP8V*zJMw8 zR0;gfO<@LU$XMJ#E1Bjp z7#!#zN192qYO52Vw`ekQRW(S7nPnnC~+v^>z}zOVK^p>h7YC_GT;)C3blu`CLy1rKzDkh6Z@QNvXDm zgxzOpYKJY4D31`Y(Ry`Q!*_+o$=N87hHBwRDD8K}gKD#KM&)r}?MWS;1`n6s6pSKX zh#_kx*VaApWaKryDIXn?-)BJGVaE0@|8!CpUHKStQsMnvI?kOfAutOrU*}*FS$JM# z#Hz&|jf#DoF@f#G38vi)X<);<^La`_va-7jkqs5tfDl4L%=Qa1VeV~{_U zTe4v{OLm=?HauE&r%wmJ!VJE6G$28VW`C~|Y2nMlmw+}wFr@L?mS22a*akBD=7Ig< z!*U$?^sz&S^eDZW3)f_jT6i1JkG0hIH!LA4<#ht1<3w$?I|nhhRetOtoI-)CcNIpC z5_?eE<^5=uB&+*|=lu*aVGWg+say^O0cjk~>Yi8l^b48cws6-)uzU=WC9<@)+~{LA zzPE$VeRYnjE=#AoX4b?)dr<4a+5L)dvm3s+0qA_kf(peYe$EQv@ zW8#hPMp(|SFDZIhK3!G1v1TsnHySr=&6|aLj=$RPBR-_}B4{FLu-7i5ME6hl%NWb5 zZ64cpv6EMlLGncfl8b;nbL5FzC+xWaNKUb$nR{w2vNKZ;`Y2kbRi%Xf{r1d6@emEm ziB}r*mN8>JM|eM!Z{pB_6`)JQ14T9;GXN7&UadpW?sZOC-xtuIlYWErI8qi4C`Zl~*O(U>4EKd8*X)3ZAtV z{kIH?A9@?nit=w{i7NC~oM29nsH5}Txz^-~!hYAG>~;DQUP?>vUawD8UK{8&nqBX9 ze}yD^u{^yQVm<+dtlwYm?^pS4KK5r1^!UyCZ(a!;uXi^&4m;i@In=?w@0CD=uZA9S z+!@nD@tRE>Gj7$8ur60mfXd-Y72JGqHw#H7eMMMEcJK62z+Mt_Esd4Mk)92Jqg$+5 zsAO+63AhDUCMnO9iD9qc7mORPEuv*eg$ZWKu+xD-$)_mEo3vAUCuoy7oXmDji=%3j z5eKp=TClq0%nozCClM-^)T@RYwU1tc`q zGXJc=VC9B*5IBCie17Mn=pkf~_5bVJ>6k&D>R!gM$^Y~UeE@RTpv-*n}NkoyGZXo!0;d7r@ zjG#mNt!!!r+Zmmq?m8EfaECw0U|fzpOVzodD{?|Six8pCGzn-5a;>_cNDNja#_bPh z7;cUH4_CJNfi?#xc+W6QzhIdobQDw-bHeohsWcC*=RX?%ag{X{w;${58J1*ytQH7o7$nG?b z5~Cqvg^~32djZl^`0o6E3~`6|iY)#C%>UFII&wXQQd$A$(V^Yy1%RdmM0CV`8A!`|=~_%_I*kziBVn z05h;d=PL@4=Wg6a!pL_IQCagGPu6^fQ1e%ZU0@~oQ2nox)R~N`L0~HA>8uUFbBjf) zv`^={?C%+PFx`}}jBJ*q0ExcIq+^ zIiisS$J0+fs`D56@dFR1Q`)L3>ZnB)L~7LeXH91$^*Ie`hv!~BTE9q8XU0y)gN_Oe z9#3HEeqXI%iZgz21j)^3H@F-J1jsdK6+za}cft&=Nk%>V^$NqjR+EQ%xn+m7Q&RV# z#o?z_j_VTsi9uhA@Dl`q8*PGq?`X3(Xeyjm^E zn(syZQrw^rj;T>qr51lk=R;cN)zOw~8#07UmczW~W(R*vT~OJtRc~VHeI@jxOW`qT zg!Cgc-tF#d#SmHT#+ww2GV1OS_TT_ziD9B;+IZ#%=UOsYkJ|Z=bCrtHYu5vXuw1sM zYn$d1yQ?mbNY3H?ibFUV#xHnGnzo6v(2se#D=Kjw)xmfpw5oA*k5h+hs&4qkOQ-k2 zIu99cupUzqc435$r(01ZH?O}?gCHHzZvm_x6SYAhlB_qg7wp`$SX=$_@EM6Lw~qA7 zZ5^u(GKiFQHnJlhi`2`&?f$!ZG*!nGL>@HNKK#Lz_XWF@VkM;vdY#s{?;C7UG|m-> zeyy$vS?ZK*i@U**VCm1IC@&OA#}=AEn}A1&t2>*Gn6~U!A|GiI!w3N z9`kUzX@Sjb<7@-y$sPOjg-A0LTkGK8$dO)GF@(3YnP_=s@mzSXXk&G5!&qZ=&_Ild z-?_UE6Do7K=11tIcbI;MT<|SzsSOY7p@#Cihs-^jfe^Onc6&?w$IZ)LNuYYI9ecU?F1rPg>ORU3&X9{oOUABFx%~E$t9#)HxH5h)$G$^$l~J`U$n|B3gHA zKV*bD;CI%qN9JD`>-nq%R#1im4x5GZfNrb{Z+a)J}prydxst=|1t2~HLPmhRwpCI(9^-Wmk( zZ2^AO8_%9lj`6`_g_Y>25mzDJN^uW8h`gB7YCk>Q7+o!>BbG2+B-Fk8Jj}zAM@6nFSd-`7>F?=+cAoUC6_jA^ zXgty9)DHdmK}+Y6dMRHzg7%d-u%w%%g}#)3bgwmyL7%jx@|0@`GByeVcOrlpSt(m% zJhQ|zYtnM!OvB|U*X#l9WaKiil>-+lZ13d({wUq1D$i*vTi6dj553Q#8voN?bO&@n_ zWmgjAg67NlZHas<-hp+MT)Q=A{WKGgkV1cJfov;w zmj!mSKYp$4O1`DCOH(7RZhc-*z@3pHLxk59F`tJVWZhu24E3M*W!fbw-_#!lfK7om zR%^n2Lm}9WPYFHpZRNfO!4pevEys2?H@i6NrUEgFCp+TS?MD1ta?9p(edj?SGQ{m( zVoE2Z99*=N1Ws%64;lJ3bhyw;>=P;%YtJJCEF-641*YkxLZ?tGIldRWzcho|o=Ys0 zm4g$k%%kaIa>tnFDT#N6=C|M$W+Lg{h)HkJuNSQ|+Nl`{3K*T|KTR#KNp__kL?vT{ z9p|}DxOW~o(`$>3gg1KgP={|G7&0_AT|7gQ<)N{<<&pnN5VpqNF>UCKFVQd*fV`Y0 z%u{KC0ejdu>S91HEsOVS@+IeF<80HJsWP?VFljm+5|`&6-g=d7=^IzCqN%<{=;JRp zNFHndiJ@}oscof3dIlS5G^Dm!BS{eVi4AgF?Eq1>?xDgYd9mnzFHg9=HF1IUQ_c|? z{^M^)gum~reY|Fz&8$~u*RtD??M2x@cNo}~UbOAECphHzU8dEEDo9*%ItK?ELO+1S z9yq&p{K>_^)BOH;xxD%fD9Jkq)#IMS%7dRxS$a+ByA)dkTh`>REmm!0rl!DduTa*FM3%tN=))x=x_UzMXmPv zhiBX02|15^byJt%Wt1FwBU0m&cER;NbmoEVCA*tX-VVx%V*QX!gARQ zeq*Fx6VhnE`rDcnwT%?CLaa9pJ@OlpoZKmKN1BNOKTDc`&^u!u6l}nxRcOJ=-Siar7i1ykroU