From ddbc0ab8c6385b5fc426f95100da910ef88c647b Mon Sep 17 00:00:00 2001 From: Radius CI Bot Date: Fri, 21 Jun 2024 20:29:17 +0000 Subject: [PATCH 01/40] Update docs for v0.35.0 Signed-off-by: sk593 --- docs/config.toml | 8 ++++---- docs/layouts/partials/hooks/body-end.html | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/config.toml b/docs/config.toml index 01ff03b9f..5fffad64c 100644 --- a/docs/config.toml +++ b/docs/config.toml @@ -1,4 +1,4 @@ -baseURL = "https://edge.docs.radapp.io/" +baseURL = "https://docs.radapp.io/" languageCode = "en-us" title = "Radius Docs" theme = "docsy" @@ -67,9 +67,9 @@ tag = "tags" [params] copyright = "The Radius Authors. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see the https://linuxfoundation.org/trademark-usage/ page." -version = "edge" +version = "v0.35" tag_version = "latest" -chart_version = "0.26.0" +chart_version = "0.35.0" # Algolia Search algolia_docsearch = true @@ -77,7 +77,7 @@ algolia_docsearch = true # GitHub Information github_repo = "https://github.com/radius-project/docs" github_subdir = "docs" -github_branch = "edge" +github_branch = "v0.35" github_project_repo = "https://github.com/radius-project/radius" # Versioning diff --git a/docs/layouts/partials/hooks/body-end.html b/docs/layouts/partials/hooks/body-end.html index 3f4109e18..f640ff308 100644 --- a/docs/layouts/partials/hooks/body-end.html +++ b/docs/layouts/partials/hooks/body-end.html @@ -5,7 +5,7 @@ container: '#docsearch', appId: 'ED67NSVSZS', apiKey: '21e2920c3a9c29b98cbc382694413f29', - indexName: 'radapp-dev-edge', + indexName: 'radapp-dev', }); {{ end }} From 29491e61d1c1ff40c64fb7577764703a2b319f21 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Jun 2024 13:19:10 -0700 Subject: [PATCH 02/40] Bump braces from 3.0.2 to 3.0.3 in /docs (#1132) Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3. - [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md) - [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3) --- updated-dependencies: - dependency-name: braces dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: sk593 --- docs/package-lock.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/package-lock.json b/docs/package-lock.json index 0b6554ded..8f4440276 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -274,12 +274,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -950,9 +950,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -2703,12 +2703,12 @@ } }, "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "requires": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" } }, "browserslist": { @@ -3223,9 +3223,9 @@ "dev": true }, "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "requires": { "to-regex-range": "^5.0.1" From 874acd60884b367fe7381172b4dbf6ef74398eac Mon Sep 17 00:00:00 2001 From: sk593 Date: Fri, 12 Jul 2024 14:59:37 -0700 Subject: [PATCH 03/40] update bicep references Signed-off-by: sk593 --- .github/config/en-custom.txt | 1 + docs/content/concepts/faq/index.md | 2 +- docs/content/contributing/overview/index.md | 1 - docs/content/getting-started/index.md | 18 ++++++- .../snippets/app-with-redis-snippets.bicep | 2 +- .../snippets/app-with-redis.bicep | 2 +- .../getting-started/snippets/app.bicep | 2 +- .../getting-started/snippets/bicepconfig.json | 11 ++++ .../application/overview/snippets/blank.bicep | 2 +- .../aws/howto-aws-resources/index.md | 2 +- .../howto-aws-resources/snippets/app.bicep | 4 +- .../aws/howto-aws-resources/snippets/s3.bicep | 2 +- .../howto-aws-resources/snippets/s3app.bicep | 4 +- .../aws/overview/snippets/aws.bicep | 4 +- .../azure/howto-azure-resources/index.md | 2 +- .../snippets/container-wi.bicep | 2 +- .../overview/snippets/azure-connection.bicep | 2 +- .../howto-connect-dependencies/index.md | 2 +- .../snippets/app-with-redis.bicep | 2 +- .../snippets/app.bicep | 2 +- .../containers/howto-keyvault-volume/index.md | 4 +- .../snippets/keyvault-wi.bicep | 2 +- .../containers/howto-volumes/index.md | 2 +- .../howto-volumes/snippets/1-app.bicep | 2 +- .../howto-volumes/snippets/2-app.bicep | 2 +- .../custom/howto-extenders/index.md | 2 +- .../snippets/app-container.bicep | 2 +- .../custom/howto-extenders/snippets/app.bicep | 2 +- .../dapr/how-to-dapr-building-block/index.md | 2 +- .../snippets/app-sidecar.bicep | 2 +- .../snippets/app-statestore.bicep | 2 +- .../snippets/app-sidecar.bicep | 2 +- .../how-to-dapr-sidecar/snippets/app.bicep | 2 +- .../snippets/dapr-componentname.bicep | 2 +- .../snippets/service-invocation.bicep | 2 +- .../dapr/overview/snippets/sidecar.bicep | 2 +- .../dapr/overview/snippets/statestore.bicep | 2 +- .../snippets/secrets-container.bicep | 2 +- .../snippets/secrets-patch.bicep | 2 +- .../snippets/app-kubernetes.bicep | 4 +- .../snippets/patch-container.bicep | 2 +- .../snippets/patch-runtime.bicep | 2 +- .../snippets/kubernetes-connection.bicep | 4 +- .../snippets/kubernetes-resource.bicep | 2 +- .../networking/howto-gateways/index.md | 2 +- .../howto-gateways/snippets/app.bicep | 2 +- .../howto-service-networking/index.md | 2 +- .../snippets/1-app.bicep | 2 +- .../snippets/2-app.bicep | 2 +- .../author-apps/networking/howto-tls/index.md | 2 +- .../howto-tls/snippets/app-existing.bicep | 2 +- .../howto-tls/snippets/app-new.bicep | 2 +- .../howto-author-portable-resources/index.md | 2 +- .../snippets/app-redis-manual.bicep | 4 +- .../snippets/app-redis-recipe.bicep | 2 +- .../secrets/howto-new-secretstore/index.md | 2 +- .../snippets/secretstore.bicep | 2 +- .../overview/snippets/secretstore.bicep | 2 +- .../environments/howto-environment/index.md | 4 +- .../overview/snippets/environment.bicep | 2 +- .../howto-deploy/howto-deploy-cicd/index.md | 16 ++++++ .../howto-deploy-cicd/snippets/app.bicep | 2 +- .../snippets/bicepconfig.json | 11 ++++ .../howto-deploy-cicd/snippets/env.bicep | 2 +- .../kubernetes-metadata/snippets/env.bicep | 2 +- .../kubernetes/kubernetes-upgrade/index.md | 2 +- .../recipes/howto-author-recipes/index.md | 2 +- .../snippets/environment.bicep | 2 +- .../snippets/redis-kubernetes.bicep | 2 +- .../howto-author-recipes/snippets/redis.bicep | 2 +- .../guides/recipes/howto-dev-recipes/index.md | 2 +- .../howto-dev-recipes/snippets/app.bicep | 2 +- .../snippets/recipe-link-example.bicep | 2 +- .../terraform/howto-private-registry/index.md | 2 +- .../snippets/env-complete.bicep | 2 +- .../howto-private-registry/snippets/env.bicep | 2 +- .../guides/tooling/rad-cli/overview/index.md | 2 +- .../vscode/howto-vscode-bicep/index.md | 4 +- .../guides/tooling/vscode/overview/index.md | 12 ++--- docs/content/reference/limitations.md | 16 ++---- .../cache/redis/snippets/redis-manual.bicep | 2 +- .../cache/redis/snippets/redis-recipe.bicep | 2 +- .../application-schema/snippets/app.bicep | 2 +- .../container-schema/snippets/container.bicep | 4 +- .../snippets/environment.bicep | 2 +- .../extender/snippets/extender-manual.bicep | 2 +- .../extender/snippets/extender-recipe.bicep | 2 +- .../gateway/snippets/gateway.bicep | 2 +- .../secretstore/snippets/secretstore.bicep | 2 +- .../snippets/volume-keyvault.bicep | 2 +- .../dapr-extension/snippets/dapr.bicep | 2 +- .../snippets/dapr-pubsub-manual.bicep | 2 +- .../snippets/dapr-pubsub-recipe.bicep | 2 +- .../snippets/dapr-secretstore-manual.bicep | 2 +- .../snippets/dapr-secretstore-recipe.bicep | 2 +- .../snippets/dapr-statestore-manual.bicep | 2 +- .../snippets/dapr-statestore-recipe.bicep | 2 +- .../microsoft-sql/snippets/sql-manual.bicep | 2 +- .../microsoft-sql/snippets/sql-recipe.bicep | 2 +- .../mongodb/snippets/mongo-manual.bicep | 2 +- .../mongodb/snippets/mongo-recipe.bicep | 2 +- .../rabbitmq/snippets/rabbitmq-manual.bicep | 2 +- .../rabbitmq/snippets/rabbitmq-recipe.bicep | 2 +- docs/content/tutorials/new-app/index.md | 4 +- .../tutorials/new-app/snippets/1-app.bicep | 2 +- .../new-app/snippets/2-app-mongo.bicep | 2 +- .../new-app/snippets/3-app-backend.bicep | 2 +- .../new-app/snippets/4-app-gateway.bicep | 2 +- docs/content/tutorials/tutorial-dapr/index.md | 2 +- .../tutorial-dapr/snippets/dapr.bicep | 2 +- .../tutorials/tutorial-recipe/index.md | 2 +- .../tutorial-recipe/snippets/app-aws.bicep | 2 +- .../tutorial-recipe/snippets/app-azure.bicep | 2 +- .../tutorial-recipe/snippets/app.bicep | 2 +- .../install-radius/initialize-radius.md | 2 +- .../installation/rad-cli/install-rad-cli.md | 2 +- .../vscode-bicep/install-vscode-bicep.md | 53 ++++++++----------- .../reference-apps/aws-rds/snippets/app.bicep | 4 +- .../reference-apps/aws-sqs/snippets/app.bicep | 4 +- 119 files changed, 210 insertions(+), 175 deletions(-) create mode 100644 docs/content/getting-started/snippets/bicepconfig.json create mode 100644 docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/snippets/bicepconfig.json diff --git a/.github/config/en-custom.txt b/.github/config/en-custom.txt index 3cbab33e9..4019f1adb 100644 --- a/.github/config/en-custom.txt +++ b/.github/config/en-custom.txt @@ -1260,6 +1260,7 @@ postgresenvSecrets RecipeConfigPropertiesEnvSecrets SecretReference ProviderConfigPropertiesSecrets +upstreamed irsa postgres ReadOnly diff --git a/docs/content/concepts/faq/index.md b/docs/content/concepts/faq/index.md index 20d83a04a..cd25d1cc4 100644 --- a/docs/content/concepts/faq/index.md +++ b/docs/content/concepts/faq/index.md @@ -102,7 +102,7 @@ Teams looking to leverage existing Helm charts can use the [Radius annotations a Similar to how you can define Azure resources in Bicep, you can define Radius resources in Bicep. -Radius currently uses a temporary fork of Bicep to add support for the Radius resources, but work is underway to merge extensibility support into the main Bicep repo and eliminate the need for a fork. +Radius uses Bicep to add support for Radius resources. We previously used a temporary fork of Bicep, but have since deprecated it in favor of the main Bicep repo. Teams building or migrating applications on Radius can use Bicep to model their application and deploy to Kubernetes today, as well as future platforms, including serverless platforms. diff --git a/docs/content/contributing/overview/index.md b/docs/content/contributing/overview/index.md index 8b7f84d98..ce9e38d48 100644 --- a/docs/content/contributing/overview/index.md +++ b/docs/content/contributing/overview/index.md @@ -33,4 +33,3 @@ Check out the following table to learn where and how you can contribute: | **Radius** | Main repository that contains source code for [`rad` CLI](https://github.com/radius-project/radius/blob/main/docs/contributing/contributing-code/contributing-code-cli/README.md), [control plane](https://github.com/radius-project/radius/blob/main/docs/contributing/contributing-code/contributing-code-control-plane/README.md) and other components of Radius | [radius-project/radius](https://github.com/radius-project/radius/blob/main/CONTRIBUTING.md)| | **Recipes** | Commonly used [Recipe]({{< ref "guides/recipes/overview">}}) templates for Radius Environments | [radius-project/recipes](https://github.com/radius-project/recipes/blob/main/CONTRIBUTING.md) | | **Dashboard** | The frontend experience for Radius |[radius-project/dashboard](https://github.com/radius-project/dashboard/blob/main/CONTRIBUTING.md) | -| **Bicep** | Temporary fork of the [Bicep repo](https://github.com/azure/bicep) used to inject the Radius types into the Bicep language. Contains both the Bicep CLI and the Bicep VS Code extension. | [radius-project/bicep](https://github.com/radius-project/bicep/blob/radius-compiler/CONTRIBUTING.md) | diff --git a/docs/content/getting-started/index.md b/docs/content/getting-started/index.md index eacfdae70..37fdaf147 100644 --- a/docs/content/getting-started/index.md +++ b/docs/content/getting-started/index.md @@ -69,11 +69,25 @@ Initializing Radius... Initialization complete! Have a RAD time 😎 ``` -In addition to starting Radius services in your Kubernetes cluster, this initialization command creates a default application (`app.bicep`) as your starting point. It contains a single container definition (`demo`). +In addition to starting Radius services in your Kubernetes cluster, this initialization command creates a default application (`app.bicep`) as your starting point. It contains a single container definition (`demo`). {{< rad file="snippets/app.bicep" embed=true markdownConfig="{linenos=table,linenostart=1}" >}} -> This file will run the `ghcr.io/radius-project/samples/demo:latest` image. This image is published by the Radius team to a public registry, you do not need to create it. +> This file will run the `ghcr.io/radius-project/samples/demo:latest` image. This image is published by the Radius team to a public registry, you do not need to create it. `rad init` also creates a `bicepconfig.json` file in your application's directory that has the necessary setup to use Radius with the official Bicep compiler. + +```json +{ + "experimentalFeaturesEnabled": { + "extensibility": true, + "extensionRegistry": true, + "dynamicTypeLoading": true + }, + "extensions": { + "radius": "br:biceptypes.azurecr.io/radius:", + "aws": "br:biceptypes.azurecr.io/aws:" + } +} +``` ## 4. Run the app diff --git a/docs/content/getting-started/snippets/app-with-redis-snippets.bicep b/docs/content/getting-started/snippets/app-with-redis-snippets.bicep index bbc49d237..5024d37af 100644 --- a/docs/content/getting-started/snippets/app-with-redis-snippets.bicep +++ b/docs/content/getting-started/snippets/app-with-redis-snippets.bicep @@ -1,5 +1,5 @@ // Import the set of Radius resources (Applications.*) into Bicep -import radius as radius +extension radius @description('The app ID of your Radius Application. Set automatically by the rad CLI.') param application string diff --git a/docs/content/getting-started/snippets/app-with-redis.bicep b/docs/content/getting-started/snippets/app-with-redis.bicep index 352ae5c22..f819a8630 100644 --- a/docs/content/getting-started/snippets/app-with-redis.bicep +++ b/docs/content/getting-started/snippets/app-with-redis.bicep @@ -1,5 +1,5 @@ // Import the set of Radius resources (Applications.*) into Bicep -import radius as radius +extension radius @description('The app ID of your Radius Application. Set automatically by the rad CLI.') param application string diff --git a/docs/content/getting-started/snippets/app.bicep b/docs/content/getting-started/snippets/app.bicep index 5f976ec14..e6089ac49 100644 --- a/docs/content/getting-started/snippets/app.bicep +++ b/docs/content/getting-started/snippets/app.bicep @@ -1,5 +1,5 @@ // Import the set of Radius resources (Applications.*) into Bicep -import radius as radius +extension radius @description('The app ID of your Radius Application. Set automatically by the rad CLI.') param application string diff --git a/docs/content/getting-started/snippets/bicepconfig.json b/docs/content/getting-started/snippets/bicepconfig.json new file mode 100644 index 000000000..03c324042 --- /dev/null +++ b/docs/content/getting-started/snippets/bicepconfig.json @@ -0,0 +1,11 @@ +{ + "experimentalFeaturesEnabled": { + "extensibility": true, + "extensionRegistry": true, + "dynamicTypeLoading": true + }, + "extensions": { + "radius": "br:biceptypes.azurecr.io/radius:", + "aws": "br:biceptypes.azurecr.io/aws:" + } +} \ No newline at end of file diff --git a/docs/content/guides/author-apps/application/overview/snippets/blank.bicep b/docs/content/guides/author-apps/application/overview/snippets/blank.bicep index bd50b2da0..d6623dbf5 100644 --- a/docs/content/guides/author-apps/application/overview/snippets/blank.bicep +++ b/docs/content/guides/author-apps/application/overview/snippets/blank.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The environment ID of your Radius Application. Set automatically by the rad CLI.') param environment string diff --git a/docs/content/guides/author-apps/aws/howto-aws-resources/index.md b/docs/content/guides/author-apps/aws/howto-aws-resources/index.md index ff3100364..16d00cad4 100644 --- a/docs/content/guides/author-apps/aws/howto-aws-resources/index.md +++ b/docs/content/guides/author-apps/aws/howto-aws-resources/index.md @@ -24,7 +24,7 @@ This how-to guide will show you: - [eksctl CLI](https://docs.aws.amazon.com/eks/latest/userguide/eksctl.html) - [kubectl CLI](https://kubernetes.io/docs/tasks/tools/install-kubectl/) - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Radius Bicep VSCode extension]({{< ref "installation#step-2-install-the-radius-bicep-extension" >}}) +- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-radius-bicep-extension" >}}) ## Step 1: Create an EKS Cluster diff --git a/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/app.bicep b/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/app.bicep index 0673c98a5..818e482b7 100644 --- a/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/app.bicep +++ b/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/app.bicep @@ -1,6 +1,6 @@ -import aws as aws +extension aws -import radius as radius +extension radius @description('The name of your S3 bucket.The AWS S3 Bucket name must follow the [following naming conventions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html).') param bucket string ='mys3bucket' diff --git a/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/s3.bicep b/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/s3.bicep index 522038b3f..65567867a 100644 --- a/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/s3.bicep +++ b/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/s3.bicep @@ -1,4 +1,4 @@ -import aws as aws +extension aws @description('The name of your S3 bucket.The AWS S3 Bucket name must follow the naming conventions described at https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html') param bucket string ='mys3bucket-${uniqueString(resourceGroup().id)}' diff --git a/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/s3app.bicep b/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/s3app.bicep index 53f425470..59c154e54 100644 --- a/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/s3app.bicep +++ b/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/s3app.bicep @@ -1,6 +1,6 @@ -import aws as aws +extension aws -import radius as radius +extension radius @description('The name of your S3 bucket.The AWS S3 Bucket name must follow the [following naming conventions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html).') param bucket string ='mys3bucket' diff --git a/docs/content/guides/author-apps/aws/overview/snippets/aws.bicep b/docs/content/guides/author-apps/aws/overview/snippets/aws.bicep index c1db7cbd4..8dfcfda1e 100644 --- a/docs/content/guides/author-apps/aws/overview/snippets/aws.bicep +++ b/docs/content/guides/author-apps/aws/overview/snippets/aws.bicep @@ -1,6 +1,6 @@ -import aws as aws +extension aws -import radius as radius +extension radius param environment string diff --git a/docs/content/guides/author-apps/azure/howto-azure-resources/index.md b/docs/content/guides/author-apps/azure/howto-azure-resources/index.md index a9608a548..21648b51f 100644 --- a/docs/content/guides/author-apps/azure/howto-azure-resources/index.md +++ b/docs/content/guides/author-apps/azure/howto-azure-resources/index.md @@ -20,7 +20,7 @@ The steps below will showcase a "rad-ified" version of the existing [Azure AD wo ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Radius Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Setup a supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview#supported-clusters" >}}) - [Azure AD Workload Identity](https://azure.github.io/azure-workload-identity/docs/installation.html) installed in your cluster, including the [Mutating Admission Webhook](https://azure.github.io/azure-workload-identity/docs/installation/mutating-admission-webhook.html) diff --git a/docs/content/guides/author-apps/azure/howto-azure-resources/snippets/container-wi.bicep b/docs/content/guides/author-apps/azure/howto-azure-resources/snippets/container-wi.bicep index e57420aad..a6aa33097 100644 --- a/docs/content/guides/author-apps/azure/howto-azure-resources/snippets/container-wi.bicep +++ b/docs/content/guides/author-apps/azure/howto-azure-resources/snippets/container-wi.bicep @@ -1,5 +1,5 @@ //ENVIRONMENT -import radius as radius +extension radius @description('The Azure region to deploy Azure resource(s) into. Defaults to the region of the target Azure resource group.') param azLocation string = resourceGroup().location diff --git a/docs/content/guides/author-apps/azure/overview/snippets/azure-connection.bicep b/docs/content/guides/author-apps/azure/overview/snippets/azure-connection.bicep index ac9a22a43..51b857e96 100644 --- a/docs/content/guides/author-apps/azure/overview/snippets/azure-connection.bicep +++ b/docs/content/guides/author-apps/azure/overview/snippets/azure-connection.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param environment string diff --git a/docs/content/guides/author-apps/containers/howto-connect-dependencies/index.md b/docs/content/guides/author-apps/containers/howto-connect-dependencies/index.md index ed13989f6..53afed39b 100644 --- a/docs/content/guides/author-apps/containers/howto-connect-dependencies/index.md +++ b/docs/content/guides/author-apps/containers/howto-connect-dependencies/index.md @@ -13,7 +13,7 @@ This how-to guide will teach how to connect to your dependencies via [connection ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Radius Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-radius" >}}) ## Step 1: View the container definition diff --git a/docs/content/guides/author-apps/containers/howto-connect-dependencies/snippets/app-with-redis.bicep b/docs/content/guides/author-apps/containers/howto-connect-dependencies/snippets/app-with-redis.bicep index f1f91549d..04f9dd16c 100644 --- a/docs/content/guides/author-apps/containers/howto-connect-dependencies/snippets/app-with-redis.bicep +++ b/docs/content/guides/author-apps/containers/howto-connect-dependencies/snippets/app-with-redis.bicep @@ -1,5 +1,5 @@ // Import the set of Radius resources (Applications.*) into Bicep -import radius as radius +extension radius @description('The app ID of your Radius Application. Set automatically by the rad CLI.') param application string diff --git a/docs/content/guides/author-apps/containers/howto-connect-dependencies/snippets/app.bicep b/docs/content/guides/author-apps/containers/howto-connect-dependencies/snippets/app.bicep index 82919de41..ee5b94ed0 100644 --- a/docs/content/guides/author-apps/containers/howto-connect-dependencies/snippets/app.bicep +++ b/docs/content/guides/author-apps/containers/howto-connect-dependencies/snippets/app.bicep @@ -1,4 +1,4 @@ -import radius as rad +extension radius @description('The app ID of your Radius application. Set automatically by the rad CLI.') param application string diff --git a/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md b/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md index 927fda410..595088c82 100644 --- a/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md +++ b/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md @@ -19,7 +19,7 @@ This how-to guide will provide an overview of how to: ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Radius Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Supported Kubernetes cluster]({{< ref "guides/operations/kubernetes" >}}) - [Azure AD Workload Identity](https://azure.github.io/azure-workload-identity/docs/installation.html) installed on your cluster - [Azure Keyvault Provider](https://azure.github.io/secrets-store-csi-driver-provider-azure/docs/getting-started/installation/) @@ -59,7 +59,7 @@ Deploy your app, specifying the OIDC issuer URL. To retrieve the OIDC issuer URL rad deploy ./app.bicep -p oidcIssuer= ``` -## Step 5: Verify access to the mounted Azure Key Vault +## Step 6: Verify access to the mounted Azure Key Vault 1. Once deployment completes, read the logs from your running container resource: diff --git a/docs/content/guides/author-apps/containers/howto-keyvault-volume/snippets/keyvault-wi.bicep b/docs/content/guides/author-apps/containers/howto-keyvault-volume/snippets/keyvault-wi.bicep index 774c42e21..b7b7a921f 100644 --- a/docs/content/guides/author-apps/containers/howto-keyvault-volume/snippets/keyvault-wi.bicep +++ b/docs/content/guides/author-apps/containers/howto-keyvault-volume/snippets/keyvault-wi.bicep @@ -1,5 +1,5 @@ //ENVIRONMENT -import radius as rad +extension radius @description('The Azure region to deploy Azure resource(s) into. Defaults to the region of the target Azure resource group.') param azLocation string = resourceGroup().location diff --git a/docs/content/guides/author-apps/containers/howto-volumes/index.md b/docs/content/guides/author-apps/containers/howto-volumes/index.md index e510b0818..751a70c00 100644 --- a/docs/content/guides/author-apps/containers/howto-volumes/index.md +++ b/docs/content/guides/author-apps/containers/howto-volumes/index.md @@ -16,7 +16,7 @@ This how-to guide will provide an overview of how to: ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Radius Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-radius" >}}) ## Step 1: Define an app and a container diff --git a/docs/content/guides/author-apps/containers/howto-volumes/snippets/1-app.bicep b/docs/content/guides/author-apps/containers/howto-volumes/snippets/1-app.bicep index 898371cb6..2a6056ffc 100644 --- a/docs/content/guides/author-apps/containers/howto-volumes/snippets/1-app.bicep +++ b/docs/content/guides/author-apps/containers/howto-volumes/snippets/1-app.bicep @@ -1,4 +1,4 @@ -import radius as rad +extension radius param environment string diff --git a/docs/content/guides/author-apps/containers/howto-volumes/snippets/2-app.bicep b/docs/content/guides/author-apps/containers/howto-volumes/snippets/2-app.bicep index 5bb5398d3..b225dcf77 100644 --- a/docs/content/guides/author-apps/containers/howto-volumes/snippets/2-app.bicep +++ b/docs/content/guides/author-apps/containers/howto-volumes/snippets/2-app.bicep @@ -1,4 +1,4 @@ -import radius as rad +extension radius param environment string diff --git a/docs/content/guides/author-apps/custom/howto-extenders/index.md b/docs/content/guides/author-apps/custom/howto-extenders/index.md index 7f593c5d8..f80d205ea 100644 --- a/docs/content/guides/author-apps/custom/howto-extenders/index.md +++ b/docs/content/guides/author-apps/custom/howto-extenders/index.md @@ -11,7 +11,7 @@ This guide will walk you through how to use an [extender]({{< ref "/guides/autho ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Radius Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-radius" >}}) ## Step 1: Register an extender Recipe diff --git a/docs/content/guides/author-apps/custom/howto-extenders/snippets/app-container.bicep b/docs/content/guides/author-apps/custom/howto-extenders/snippets/app-container.bicep index f32c6baff..60e1a5d30 100644 --- a/docs/content/guides/author-apps/custom/howto-extenders/snippets/app-container.bicep +++ b/docs/content/guides/author-apps/custom/howto-extenders/snippets/app-container.bicep @@ -1,4 +1,4 @@ -import radius as rad +extension radius @description('The ID of your Radius environment. Set automatically by the rad CLI.') param environment string diff --git a/docs/content/guides/author-apps/custom/howto-extenders/snippets/app.bicep b/docs/content/guides/author-apps/custom/howto-extenders/snippets/app.bicep index cefd772b1..a3bd4a435 100644 --- a/docs/content/guides/author-apps/custom/howto-extenders/snippets/app.bicep +++ b/docs/content/guides/author-apps/custom/howto-extenders/snippets/app.bicep @@ -1,4 +1,4 @@ -import radius as rad +extension radius @description('The ID of your Radius environment. Set automatically by the rad CLI.') param environment string diff --git a/docs/content/guides/author-apps/dapr/how-to-dapr-building-block/index.md b/docs/content/guides/author-apps/dapr/how-to-dapr-building-block/index.md index e430c5068..2bc985689 100644 --- a/docs/content/guides/author-apps/dapr/how-to-dapr-building-block/index.md +++ b/docs/content/guides/author-apps/dapr/how-to-dapr-building-block/index.md @@ -15,7 +15,7 @@ This how-to guide will provide an overview of how to: ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Radius Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-radius" >}}) - [Radius local-dev Recipes]({{< ref howto-dev-recipes >}}) - [Dapr installed on your Kubernetes cluster](https://docs.dapr.io/operations/hosting/kubernetes/kubernetes-deploy/) diff --git a/docs/content/guides/author-apps/dapr/how-to-dapr-building-block/snippets/app-sidecar.bicep b/docs/content/guides/author-apps/dapr/how-to-dapr-building-block/snippets/app-sidecar.bicep index 56e581cfa..afbc9deb7 100644 --- a/docs/content/guides/author-apps/dapr/how-to-dapr-building-block/snippets/app-sidecar.bicep +++ b/docs/content/guides/author-apps/dapr/how-to-dapr-building-block/snippets/app-sidecar.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The ID of your Radius Application. Automatically injected by the rad CLI.') param application string diff --git a/docs/content/guides/author-apps/dapr/how-to-dapr-building-block/snippets/app-statestore.bicep b/docs/content/guides/author-apps/dapr/how-to-dapr-building-block/snippets/app-statestore.bicep index 0bc148317..b26010fa6 100644 --- a/docs/content/guides/author-apps/dapr/how-to-dapr-building-block/snippets/app-statestore.bicep +++ b/docs/content/guides/author-apps/dapr/how-to-dapr-building-block/snippets/app-statestore.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The ID of your Radius Application. Automatically injected by the rad CLI.') param application string diff --git a/docs/content/guides/author-apps/dapr/how-to-dapr-sidecar/snippets/app-sidecar.bicep b/docs/content/guides/author-apps/dapr/how-to-dapr-sidecar/snippets/app-sidecar.bicep index 90e3ccc1e..e5407de9a 100644 --- a/docs/content/guides/author-apps/dapr/how-to-dapr-sidecar/snippets/app-sidecar.bicep +++ b/docs/content/guides/author-apps/dapr/how-to-dapr-sidecar/snippets/app-sidecar.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The ID of your Radius Application. Automatically injected by the rad CLI.') param application string diff --git a/docs/content/guides/author-apps/dapr/how-to-dapr-sidecar/snippets/app.bicep b/docs/content/guides/author-apps/dapr/how-to-dapr-sidecar/snippets/app.bicep index c767459ed..c4b628010 100644 --- a/docs/content/guides/author-apps/dapr/how-to-dapr-sidecar/snippets/app.bicep +++ b/docs/content/guides/author-apps/dapr/how-to-dapr-sidecar/snippets/app.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The ID of your Radius Application. Automatically injected by the rad CLI.') param application string diff --git a/docs/content/guides/author-apps/dapr/overview/snippets/dapr-componentname.bicep b/docs/content/guides/author-apps/dapr/overview/snippets/dapr-componentname.bicep index 11a12eec0..cd4f9b7d2 100644 --- a/docs/content/guides/author-apps/dapr/overview/snippets/dapr-componentname.bicep +++ b/docs/content/guides/author-apps/dapr/overview/snippets/dapr-componentname.bicep @@ -1,4 +1,4 @@ -import radius as rad +extension radius param environment string diff --git a/docs/content/guides/author-apps/dapr/overview/snippets/service-invocation.bicep b/docs/content/guides/author-apps/dapr/overview/snippets/service-invocation.bicep index 572a6afc4..1728853a6 100644 --- a/docs/content/guides/author-apps/dapr/overview/snippets/service-invocation.bicep +++ b/docs/content/guides/author-apps/dapr/overview/snippets/service-invocation.bicep @@ -1,4 +1,4 @@ -import radius as rad +extension radius resource app 'Applications.Core/applications@2023-10-01-preview' existing = { diff --git a/docs/content/guides/author-apps/dapr/overview/snippets/sidecar.bicep b/docs/content/guides/author-apps/dapr/overview/snippets/sidecar.bicep index 9d5065ba9..04a80a4c3 100644 --- a/docs/content/guides/author-apps/dapr/overview/snippets/sidecar.bicep +++ b/docs/content/guides/author-apps/dapr/overview/snippets/sidecar.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param environment string diff --git a/docs/content/guides/author-apps/dapr/overview/snippets/statestore.bicep b/docs/content/guides/author-apps/dapr/overview/snippets/statestore.bicep index fe7cfbfdf..38908a7e2 100644 --- a/docs/content/guides/author-apps/dapr/overview/snippets/statestore.bicep +++ b/docs/content/guides/author-apps/dapr/overview/snippets/statestore.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param environment string diff --git a/docs/content/guides/author-apps/kubernetes/how-to-access-secrets/snippets/secrets-container.bicep b/docs/content/guides/author-apps/kubernetes/how-to-access-secrets/snippets/secrets-container.bicep index cf50f3d4b..225ed1d51 100644 --- a/docs/content/guides/author-apps/kubernetes/how-to-access-secrets/snippets/secrets-container.bicep +++ b/docs/content/guides/author-apps/kubernetes/how-to-access-secrets/snippets/secrets-container.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the environment for resources.') param environment string diff --git a/docs/content/guides/author-apps/kubernetes/how-to-access-secrets/snippets/secrets-patch.bicep b/docs/content/guides/author-apps/kubernetes/how-to-access-secrets/snippets/secrets-patch.bicep index f832dcfca..9d8eff55d 100644 --- a/docs/content/guides/author-apps/kubernetes/how-to-access-secrets/snippets/secrets-patch.bicep +++ b/docs/content/guides/author-apps/kubernetes/how-to-access-secrets/snippets/secrets-patch.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the environment for resources.') param environment string diff --git a/docs/content/guides/author-apps/kubernetes/how-to-kubernetes-resource/snippets/app-kubernetes.bicep b/docs/content/guides/author-apps/kubernetes/how-to-kubernetes-resource/snippets/app-kubernetes.bicep index 60333de0d..07f83e733 100644 --- a/docs/content/guides/author-apps/kubernetes/how-to-kubernetes-resource/snippets/app-kubernetes.bicep +++ b/docs/content/guides/author-apps/kubernetes/how-to-kubernetes-resource/snippets/app-kubernetes.bicep @@ -2,7 +2,7 @@ @description('Specifies Kubernetes namespace for the user.') param namespace string = 'default-demo' -import kubernetes as kubernetes{ +extension kubernetes{ kubeConfig: '' namespace: namespace } @@ -10,7 +10,7 @@ import kubernetes as kubernetes{ //APPLICATION // Import the set of Radius resources (Applications.*) into Bicep -import radius as radius +extension radius @description('The app ID of your Radius Application. Set automatically by the rad CLI.') param application string diff --git a/docs/content/guides/author-apps/kubernetes/how-to-patch-pod/snippets/patch-container.bicep b/docs/content/guides/author-apps/kubernetes/how-to-patch-pod/snippets/patch-container.bicep index cf50f3d4b..225ed1d51 100644 --- a/docs/content/guides/author-apps/kubernetes/how-to-patch-pod/snippets/patch-container.bicep +++ b/docs/content/guides/author-apps/kubernetes/how-to-patch-pod/snippets/patch-container.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the environment for resources.') param environment string diff --git a/docs/content/guides/author-apps/kubernetes/how-to-patch-pod/snippets/patch-runtime.bicep b/docs/content/guides/author-apps/kubernetes/how-to-patch-pod/snippets/patch-runtime.bicep index 692541563..a90ac38d7 100644 --- a/docs/content/guides/author-apps/kubernetes/how-to-patch-pod/snippets/patch-runtime.bicep +++ b/docs/content/guides/author-apps/kubernetes/how-to-patch-pod/snippets/patch-runtime.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the environment for resources.') param environment string diff --git a/docs/content/guides/author-apps/kubernetes/overview/snippets/kubernetes-connection.bicep b/docs/content/guides/author-apps/kubernetes/overview/snippets/kubernetes-connection.bicep index 5b5d30747..ba1b39a1c 100644 --- a/docs/content/guides/author-apps/kubernetes/overview/snippets/kubernetes-connection.bicep +++ b/docs/content/guides/author-apps/kubernetes/overview/snippets/kubernetes-connection.bicep @@ -1,8 +1,8 @@ -import kubernetes as kubernetes { +extension kubernetes { kubeConfig: '' namespace: 'default' } -import radius as radius +extension radius param environment string diff --git a/docs/content/guides/author-apps/kubernetes/overview/snippets/kubernetes-resource.bicep b/docs/content/guides/author-apps/kubernetes/overview/snippets/kubernetes-resource.bicep index 13824d447..5bd2d58a8 100644 --- a/docs/content/guides/author-apps/kubernetes/overview/snippets/kubernetes-resource.bicep +++ b/docs/content/guides/author-apps/kubernetes/overview/snippets/kubernetes-resource.bicep @@ -1,4 +1,4 @@ -import kubernetes as kubernetes { +extension kubernetes { kubeConfig: '****' namespace: 'default' } diff --git a/docs/content/guides/author-apps/networking/howto-gateways/index.md b/docs/content/guides/author-apps/networking/howto-gateways/index.md index 82d2448cd..cd4db1c77 100644 --- a/docs/content/guides/author-apps/networking/howto-gateways/index.md +++ b/docs/content/guides/author-apps/networking/howto-gateways/index.md @@ -13,7 +13,7 @@ This guide will walk you through how to setup a gateway for routing internet tra ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Radius Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-radius" >}}) ## Step 1: Define a container diff --git a/docs/content/guides/author-apps/networking/howto-gateways/snippets/app.bicep b/docs/content/guides/author-apps/networking/howto-gateways/snippets/app.bicep index 8b90d49c5..b66ab9d99 100644 --- a/docs/content/guides/author-apps/networking/howto-gateways/snippets/app.bicep +++ b/docs/content/guides/author-apps/networking/howto-gateways/snippets/app.bicep @@ -1,5 +1,5 @@ //FRONTEND -import radius as rad +extension radius @description('The application ID being deployed. Injected automtically by the rad CLI') param application string diff --git a/docs/content/guides/author-apps/networking/howto-service-networking/index.md b/docs/content/guides/author-apps/networking/howto-service-networking/index.md index ca2b9cf25..fd05dba77 100644 --- a/docs/content/guides/author-apps/networking/howto-service-networking/index.md +++ b/docs/content/guides/author-apps/networking/howto-service-networking/index.md @@ -15,7 +15,7 @@ This guide will show you how two services can communicate with each other. In th ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Radius Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-radius" >}}) ## Step 1: Define the services diff --git a/docs/content/guides/author-apps/networking/howto-service-networking/snippets/1-app.bicep b/docs/content/guides/author-apps/networking/howto-service-networking/snippets/1-app.bicep index 9bbe002fd..9a9beb278 100644 --- a/docs/content/guides/author-apps/networking/howto-service-networking/snippets/1-app.bicep +++ b/docs/content/guides/author-apps/networking/howto-service-networking/snippets/1-app.bicep @@ -1,4 +1,4 @@ -import radius as rad +extension radius @description('The application ID of the Radius environment. Automatically set by the rad CLI.') param application string diff --git a/docs/content/guides/author-apps/networking/howto-service-networking/snippets/2-app.bicep b/docs/content/guides/author-apps/networking/howto-service-networking/snippets/2-app.bicep index 4d9fe4353..eaef68374 100644 --- a/docs/content/guides/author-apps/networking/howto-service-networking/snippets/2-app.bicep +++ b/docs/content/guides/author-apps/networking/howto-service-networking/snippets/2-app.bicep @@ -1,4 +1,4 @@ -import radius as rad +extension radius @description('The application ID of the Radius environment. Automatically set by the rad CLI.') param application string diff --git a/docs/content/guides/author-apps/networking/howto-tls/index.md b/docs/content/guides/author-apps/networking/howto-tls/index.md index 2c68a3679..f11e647aa 100644 --- a/docs/content/guides/author-apps/networking/howto-tls/index.md +++ b/docs/content/guides/author-apps/networking/howto-tls/index.md @@ -13,7 +13,7 @@ This guide will show you how to add TLS and HTTPS to an application with a gatew ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Radius Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-radius" >}}) - Domain name + DNS A-record pointing to your Kubernetes cluster - If running Radius on an Azure Kubernetes Service (AKS) cluster you can optionally use a [DNS label](https://learn.microsoft.com/azure/virtual-network/ip-services/public-ip-addresses#dns-name-label) to create a DNS A-record pointing to your cluster. diff --git a/docs/content/guides/author-apps/networking/howto-tls/snippets/app-existing.bicep b/docs/content/guides/author-apps/networking/howto-tls/snippets/app-existing.bicep index e848fde02..aec3ebe1e 100644 --- a/docs/content/guides/author-apps/networking/howto-tls/snippets/app-existing.bicep +++ b/docs/content/guides/author-apps/networking/howto-tls/snippets/app-existing.bicep @@ -1,5 +1,5 @@ //FRONTEND -import radius as rad +extension radius @description('The application ID being deployed. Injected automtically by the rad CLI') param application string diff --git a/docs/content/guides/author-apps/networking/howto-tls/snippets/app-new.bicep b/docs/content/guides/author-apps/networking/howto-tls/snippets/app-new.bicep index e01e5aa17..2cf807f1f 100644 --- a/docs/content/guides/author-apps/networking/howto-tls/snippets/app-new.bicep +++ b/docs/content/guides/author-apps/networking/howto-tls/snippets/app-new.bicep @@ -1,5 +1,5 @@ //FRONTEND -import radius as rad +extension radius @description('The application ID being deployed. Injected automtically by the rad CLI') param application string diff --git a/docs/content/guides/author-apps/portable-resources/howto-author-portable-resources/index.md b/docs/content/guides/author-apps/portable-resources/howto-author-portable-resources/index.md index e895a5068..ff70be5dd 100644 --- a/docs/content/guides/author-apps/portable-resources/howto-author-portable-resources/index.md +++ b/docs/content/guides/author-apps/portable-resources/howto-author-portable-resources/index.md @@ -16,7 +16,7 @@ Before you get started, you'll need to make sure you have the following tools an - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-radius" >}}) -- [Radius Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) ## Step 1: Add a portable resource diff --git a/docs/content/guides/author-apps/portable-resources/howto-author-portable-resources/snippets/app-redis-manual.bicep b/docs/content/guides/author-apps/portable-resources/howto-author-portable-resources/snippets/app-redis-manual.bicep index 8384f763c..64d3664ae 100644 --- a/docs/content/guides/author-apps/portable-resources/howto-author-portable-resources/snippets/app-redis-manual.bicep +++ b/docs/content/guides/author-apps/portable-resources/howto-author-portable-resources/snippets/app-redis-manual.bicep @@ -1,5 +1,5 @@ //MANUAL -import radius as radius +extension radius @description('Specifies the environment for resources.') param environment string @@ -32,7 +32,7 @@ resource container 'Applications.Core/containers@2023-10-01-preview' = { image: 'ghcr.io/radius-project/samples/demo:latest' env: { // Manually access Redis connection information - REDIS_CONNECTION: redis.connectionString() + REDIS_CONNECTION: redis.listSecrets().connectionString } ports: { web: { diff --git a/docs/content/guides/author-apps/portable-resources/howto-author-portable-resources/snippets/app-redis-recipe.bicep b/docs/content/guides/author-apps/portable-resources/howto-author-portable-resources/snippets/app-redis-recipe.bicep index c4bea58dc..aa6a8237b 100644 --- a/docs/content/guides/author-apps/portable-resources/howto-author-portable-resources/snippets/app-redis-recipe.bicep +++ b/docs/content/guides/author-apps/portable-resources/howto-author-portable-resources/snippets/app-redis-recipe.bicep @@ -1,5 +1,5 @@ //RECIPE -import radius as radius +extension radius @description('Specifies the environment for resources.') param environment string diff --git a/docs/content/guides/author-apps/secrets/howto-new-secretstore/index.md b/docs/content/guides/author-apps/secrets/howto-new-secretstore/index.md index 9589ceee6..67d85f261 100644 --- a/docs/content/guides/author-apps/secrets/howto-new-secretstore/index.md +++ b/docs/content/guides/author-apps/secrets/howto-new-secretstore/index.md @@ -16,7 +16,7 @@ By default, Radius leverages the hosting platform's secrets management solution - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) - [kubectl CLI](https://kubernetes.io/docs/tasks/tools/install-kubectl/) -- [Radius Bicep VSCode extension]({{< ref "installation#step-2-install-the-radius-bicep-vs-code-extension" >}}) +- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-radius-bicep-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-the-radius-control-plane-and-the-radius-environment" >}}) ## Step 1: Add a Secret Store diff --git a/docs/content/guides/author-apps/secrets/howto-new-secretstore/snippets/secretstore.bicep b/docs/content/guides/author-apps/secrets/howto-new-secretstore/snippets/secretstore.bicep index 274580b63..1487310a3 100644 --- a/docs/content/guides/author-apps/secrets/howto-new-secretstore/snippets/secretstore.bicep +++ b/docs/content/guides/author-apps/secrets/howto-new-secretstore/snippets/secretstore.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The app ID of your Radius Application. Set automatically by the rad CLI.') param application string diff --git a/docs/content/guides/author-apps/secrets/overview/snippets/secretstore.bicep b/docs/content/guides/author-apps/secrets/overview/snippets/secretstore.bicep index 728b04cf1..933c7c77f 100644 --- a/docs/content/guides/author-apps/secrets/overview/snippets/secretstore.bicep +++ b/docs/content/guides/author-apps/secrets/overview/snippets/secretstore.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The ID of your Radius Environment. Injected automatically by the rad CLI.') param environment string diff --git a/docs/content/guides/deploy-apps/environments/howto-environment/index.md b/docs/content/guides/deploy-apps/environments/howto-environment/index.md index 9c5dcbf98..dcb2979a8 100644 --- a/docs/content/guides/deploy-apps/environments/howto-environment/index.md +++ b/docs/content/guides/deploy-apps/environments/howto-environment/index.md @@ -16,7 +16,7 @@ Radius Environments can be setup with the rad CLI via two paths: interactive or - [Setup a supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview#supported-clusters" >}}) - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Radius Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) ## Create a development environment @@ -25,7 +25,7 @@ Radius Environments can be setup with the rad CLI via two paths: interactive or rad init ``` - Select `Yes` to setup the app.bicep in the current directory + Select `Yes` to setup the application in the current directory. This will create `app.bicep` and `bicepconfig.json` files ``` Initializing Radius... diff --git a/docs/content/guides/deploy-apps/environments/overview/snippets/environment.bicep b/docs/content/guides/deploy-apps/environments/overview/snippets/environment.bicep index 5f0c9ce4b..489bd361c 100644 --- a/docs/content/guides/deploy-apps/environments/overview/snippets/environment.bicep +++ b/docs/content/guides/deploy-apps/environments/overview/snippets/environment.bicep @@ -1,4 +1,4 @@ -import radius as rad +extension radius //ENV resource environment 'Applications.Core/environments@2023-10-01-preview' = { diff --git a/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/index.md b/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/index.md index a4f032565..771c05e49 100644 --- a/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/index.md +++ b/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/index.md @@ -28,6 +28,22 @@ Make sure you have the following files checked into your repository under `iac/` {{< rad file="snippets/app.bicep" embed="true" >}} +### `bicepconfig.json` + +```json +{ + "experimentalFeaturesEnabled": { + "extensibility": true, + "extensionRegistry": true, + "dynamicTypeLoading": true + }, + "extensions": { + "radius": "br:biceptypes.azurecr.io/radius:", + "aws": "br:biceptypes.azurecr.io/aws:" + } +} +``` + ## Step 2: Create your workflow file Create a new file named `deploy-radius.yml` under `.github/workflows/` and paste the following: diff --git a/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/snippets/app.bicep b/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/snippets/app.bicep index 145ebd9a4..f470df55e 100644 --- a/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/snippets/app.bicep +++ b/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/snippets/app.bicep @@ -1,4 +1,4 @@ -import radius as rad +extension radius param environment string diff --git a/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/snippets/bicepconfig.json b/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/snippets/bicepconfig.json new file mode 100644 index 000000000..03c324042 --- /dev/null +++ b/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/snippets/bicepconfig.json @@ -0,0 +1,11 @@ +{ + "experimentalFeaturesEnabled": { + "extensibility": true, + "extensionRegistry": true, + "dynamicTypeLoading": true + }, + "extensions": { + "radius": "br:biceptypes.azurecr.io/radius:", + "aws": "br:biceptypes.azurecr.io/aws:" + } +} \ No newline at end of file diff --git a/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/snippets/env.bicep b/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/snippets/env.bicep index 20e71840e..bdd8cea61 100644 --- a/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/snippets/env.bicep +++ b/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/snippets/env.bicep @@ -1,4 +1,4 @@ -import radius as rad +extension radius resource environment 'Applications.Core/environments@2023-10-01-preview' = { name: 'myenv' diff --git a/docs/content/guides/operations/kubernetes/kubernetes-metadata/snippets/env.bicep b/docs/content/guides/operations/kubernetes/kubernetes-metadata/snippets/env.bicep index 06fc79a92..9795c81ea 100644 --- a/docs/content/guides/operations/kubernetes/kubernetes-metadata/snippets/env.bicep +++ b/docs/content/guides/operations/kubernetes/kubernetes-metadata/snippets/env.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius //ENV resource env 'Applications.Core/environments@2023-10-01-preview' = { diff --git a/docs/content/guides/operations/kubernetes/kubernetes-upgrade/index.md b/docs/content/guides/operations/kubernetes/kubernetes-upgrade/index.md index dc942e341..b582d3be3 100644 --- a/docs/content/guides/operations/kubernetes/kubernetes-upgrade/index.md +++ b/docs/content/guides/operations/kubernetes/kubernetes-upgrade/index.md @@ -29,7 +29,7 @@ rad uninstall kubernetes {{< read file= "/shared-content/installation/rad-cli/install-rad-cli.md" >}} -## Step 4: Install the Radius-Bicep VS Code extension +## Step 4: Install the Bicep VS Code extension {{< read file= "/shared-content/installation/vscode-bicep/install-vscode-bicep.md" >}} diff --git a/docs/content/guides/recipes/howto-author-recipes/index.md b/docs/content/guides/recipes/howto-author-recipes/index.md index c6eb30ddc..45ec5389b 100644 --- a/docs/content/guides/recipes/howto-author-recipes/index.md +++ b/docs/content/guides/recipes/howto-author-recipes/index.md @@ -13,7 +13,7 @@ tags: ["recipes"] Before you get started, you'll need to make sure you have the following tools and resources: - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Radius Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-radius" >}}) - [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) diff --git a/docs/content/guides/recipes/howto-author-recipes/snippets/environment.bicep b/docs/content/guides/recipes/howto-author-recipes/snippets/environment.bicep index 8413972d3..0661b9686 100644 --- a/docs/content/guides/recipes/howto-author-recipes/snippets/environment.bicep +++ b/docs/content/guides/recipes/howto-author-recipes/snippets/environment.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius resource env 'Applications.Core/environments@2023-10-01-preview' = { name: 'prod' diff --git a/docs/content/guides/recipes/howto-author-recipes/snippets/redis-kubernetes.bicep b/docs/content/guides/recipes/howto-author-recipes/snippets/redis-kubernetes.bicep index b8d1d2469..986b3c1cc 100644 --- a/docs/content/guides/recipes/howto-author-recipes/snippets/redis-kubernetes.bicep +++ b/docs/content/guides/recipes/howto-author-recipes/snippets/redis-kubernetes.bicep @@ -8,7 +8,7 @@ param port int = 6379 param context object // Import Kubernetes resources into Bicep -import kubernetes as kubernetes { +extension kubernetes { kubeConfig: '' namespace: context.runtime.kubernetes.namespace } diff --git a/docs/content/guides/recipes/howto-author-recipes/snippets/redis.bicep b/docs/content/guides/recipes/howto-author-recipes/snippets/redis.bicep index 389e33c9f..ccbfc08bb 100644 --- a/docs/content/guides/recipes/howto-author-recipes/snippets/redis.bicep +++ b/docs/content/guides/recipes/howto-author-recipes/snippets/redis.bicep @@ -1,4 +1,4 @@ -import radius as rad +extension radius param environment string diff --git a/docs/content/guides/recipes/howto-dev-recipes/index.md b/docs/content/guides/recipes/howto-dev-recipes/index.md index 69714be45..6e9742ad9 100644 --- a/docs/content/guides/recipes/howto-dev-recipes/index.md +++ b/docs/content/guides/recipes/howto-dev-recipes/index.md @@ -13,7 +13,7 @@ Local development environments created by the rad init command include a set of ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Radius Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Setup a supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview#supported-clusters" >}}) ## Step 1: Initialize a Radius environment diff --git a/docs/content/guides/recipes/howto-dev-recipes/snippets/app.bicep b/docs/content/guides/recipes/howto-dev-recipes/snippets/app.bicep index 9cc09ef03..0951be2a1 100644 --- a/docs/content/guides/recipes/howto-dev-recipes/snippets/app.bicep +++ b/docs/content/guides/recipes/howto-dev-recipes/snippets/app.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The ID of your Radius environment. Automatically injected by the rad CLI.') param environment string diff --git a/docs/content/guides/recipes/overview/snippets/recipe-link-example.bicep b/docs/content/guides/recipes/overview/snippets/recipe-link-example.bicep index e776370c6..476da4775 100644 --- a/docs/content/guides/recipes/overview/snippets/recipe-link-example.bicep +++ b/docs/content/guides/recipes/overview/snippets/recipe-link-example.bicep @@ -1,4 +1,4 @@ -import radius as rad +extension radius param environment string param application string diff --git a/docs/content/guides/recipes/terraform/howto-private-registry/index.md b/docs/content/guides/recipes/terraform/howto-private-registry/index.md index 6a37c3a21..bb3d7bdcd 100644 --- a/docs/content/guides/recipes/terraform/howto-private-registry/index.md +++ b/docs/content/guides/recipes/terraform/howto-private-registry/index.md @@ -18,7 +18,7 @@ This how-to guide will describe how to: Before you get started, you'll need to make sure you have the following tools and resources: - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Radius Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) - [Radius initialized with `rad init`]({{< ref howto-environment >}}) diff --git a/docs/content/guides/recipes/terraform/howto-private-registry/snippets/env-complete.bicep b/docs/content/guides/recipes/terraform/howto-private-registry/snippets/env-complete.bicep index 49f7822a0..a6b70b803 100644 --- a/docs/content/guides/recipes/terraform/howto-private-registry/snippets/env-complete.bicep +++ b/docs/content/guides/recipes/terraform/howto-private-registry/snippets/env-complete.bicep @@ -1,5 +1,5 @@ //SECRETSTORE -import radius as radius +extension radius @description('Required value, refers to the personal access token or password of the git platform') @secure() diff --git a/docs/content/guides/recipes/terraform/howto-private-registry/snippets/env.bicep b/docs/content/guides/recipes/terraform/howto-private-registry/snippets/env.bicep index 78fa42ebe..e0217cdd6 100644 --- a/docs/content/guides/recipes/terraform/howto-private-registry/snippets/env.bicep +++ b/docs/content/guides/recipes/terraform/howto-private-registry/snippets/env.bicep @@ -1,5 +1,5 @@ //SECRETSTORE -import radius as radius +extension radius @description('Required value, refers to the personal access token or password of the git platform') @secure() diff --git a/docs/content/guides/tooling/rad-cli/overview/index.md b/docs/content/guides/tooling/rad-cli/overview/index.md index e3b52efab..ff3fad377 100644 --- a/docs/content/guides/tooling/rad-cli/overview/index.md +++ b/docs/content/guides/tooling/rad-cli/overview/index.md @@ -92,7 +92,7 @@ For more information, refer to the [`config.yaml` reference documentation]({{< r ### `rad-bicep` compiler -The rad CLI uses the rad-bicep compiler to compile Bicep files to JSON templates. The rad-bicep compiler is stored as `/bin/rad-bicep` within your configuration directory. +The rad CLI uses the Bicep compiler to compile Bicep files to JSON templates. The Bicep compiler is stored as `/bin/rad-bicep` within your configuration directory. ## Reference documentation diff --git a/docs/content/guides/tooling/vscode/howto-vscode-bicep/index.md b/docs/content/guides/tooling/vscode/howto-vscode-bicep/index.md index 448ce5d12..d42344343 100644 --- a/docs/content/guides/tooling/vscode/howto-vscode-bicep/index.md +++ b/docs/content/guides/tooling/vscode/howto-vscode-bicep/index.md @@ -1,7 +1,7 @@ --- type: docs -title: "How-To: Install the Radius-Bicep VSCode extension" -linkTitle: "Radius Bicep Extension" +title: "How-To: Install the Bicep VSCode extension" +linkTitle: "Bicep Extension" description: "Learn how to use Radius in Visual Studio Code" weight: 200 categories: "How-To" diff --git a/docs/content/guides/tooling/vscode/overview/index.md b/docs/content/guides/tooling/vscode/overview/index.md index d30af41b8..91635d7cd 100644 --- a/docs/content/guides/tooling/vscode/overview/index.md +++ b/docs/content/guides/tooling/vscode/overview/index.md @@ -10,19 +10,19 @@ tags: ["VSCode"] When using Visual Studio Code with Radius there are a set of extensions you can install to help author, validate, and manage your Radius Applications and environments. -## Radius Bicep extension +## Bicep extension -The Radius Bicep extension provides formatting, intellisense, and validation for Bicep templates. +The Bicep extension provides formatting, intellisense, and validation for Bicep templates. -{{< image src="vscode-bicep.png" alt="Screenshot of the Radius Bicep extension showing available Radius resource types" width=600px >}} +{{< image src="vscode-bicep.png" alt="Screenshot of the Bicep extension showing available Radius resource types" width=600px >}}

-{{< button text="Radius Bicep guide" page="howto-vscode-bicep" >}} +{{< button text="Bicep guide" page="howto-vscode-bicep" >}} {{< alert title="Note" color="secondary" >}} -The Radius Bicep extension is a temporary extension that exists to model Radius and AWS resource types. Radius Bicep extension will be deprecated once we upstream our extensibility updates to the official Bicep. Stay tuned for updates. -**The Radius Bicep extension is not compatible with the official Bicep extension.** If you have the official Bicep extension installed you will need to disable or uninstall it before installing the Radius Bicep extension. + +**The official Bicep extension is not compatible with the Radius Bicep extension.** Previously, Radius made use of the Radius Bicep extension, a temporary extension used to model Radius and AWS resource types. The Radius Bicep extension has been deprecated and we have upstreamed our extensibility updates to the official Bicep. If you have the Radius Bicep extension installed you will need to disable or uninstall it before installing the Bicep extension. {{< /alert >}} ## Terraform extension diff --git a/docs/content/reference/limitations.md b/docs/content/reference/limitations.md index 9f470d7bc..50c294b3a 100644 --- a/docs/content/reference/limitations.md +++ b/docs/content/reference/limitations.md @@ -95,16 +95,6 @@ output values object = { ## Bicep & Deployment Engine -### Currently using a forked version of Bicep - -Radius is currently using a forked version of Bicep compiler to support Radius specific features. This is a point-in-time limitation that will be addressed in the future as the Radius team works with the Bicep team and the community to upstream the extensibility updates. This results in the following limitations: - -- The "Bicep" VS Code extension must be disabled in favor of the "Radius Bicep" extension -- The forked Bicep compiler will be out of date compared to the most recent Bicep public build -- `az bicep` and `bicep` are not supported with Radius. Use `rad deploy` instead. - -To use the forked build of Bicep directly, you can reference `~/.rad/bin/rad-bicep` (Linux/macOS) or `%HOMEPATH%\.rad\bin\rad-bicep.exe` (Windows). - ### `environment()` Bicep function collides with `param environment string` We currently use `param environment string` to pass in the Radius environmentId into your Bicep template. This collides with the Bicep `environment()` function. @@ -112,7 +102,7 @@ We currently use `param environment string` to pass in the Radius environmentId To access `environment()`, prefix it with `az.`. For example: ```bicep -import radius as rad +extension radius param environment string @@ -121,9 +111,9 @@ var stgSuffixes = az.environment().suffixes.storage This will be addressed in a future release when we change how the environmentId is passed into the file. -### Radius Bicep AWS limitations +### Bicep AWS limitations -Some of the [AWS resource types](/resource-schema/aws) are 'non-idempotent', this means that this resource type is assigned a primary identifier at deployment time and is currently not supported by Radius Bicep. +Some of the [AWS resource types](/resource-schema/aws) are 'non-idempotent', this means that this resource type is assigned a primary identifier at deployment time and is currently not supported by Bicep. We are currently building support for non-idempotent resources in Radius. Please like and comment on this [this issue](https://github.com/radius-project/radius/issues/6227) if you are interested in the same. diff --git a/docs/content/reference/resource-schema/cache/redis/snippets/redis-manual.bicep b/docs/content/reference/resource-schema/cache/redis/snippets/redis-manual.bicep index ace56121b..19b0e0c9f 100644 --- a/docs/content/reference/resource-schema/cache/redis/snippets/redis-manual.bicep +++ b/docs/content/reference/resource-schema/cache/redis/snippets/redis-manual.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The ID of your Radius Environment. Automatically injected by the rad CLI.') param environment string diff --git a/docs/content/reference/resource-schema/cache/redis/snippets/redis-recipe.bicep b/docs/content/reference/resource-schema/cache/redis/snippets/redis-recipe.bicep index c41b30c84..e335f3840 100644 --- a/docs/content/reference/resource-schema/cache/redis/snippets/redis-recipe.bicep +++ b/docs/content/reference/resource-schema/cache/redis/snippets/redis-recipe.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The ID of your Radius Environment. Automatically injected by the rad CLI.') param environment string diff --git a/docs/content/reference/resource-schema/core-schema/application-schema/snippets/app.bicep b/docs/content/reference/resource-schema/core-schema/application-schema/snippets/app.bicep index 939ed03d5..f84259f50 100644 --- a/docs/content/reference/resource-schema/core-schema/application-schema/snippets/app.bicep +++ b/docs/content/reference/resource-schema/core-schema/application-schema/snippets/app.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param environment string diff --git a/docs/content/reference/resource-schema/core-schema/container-schema/snippets/container.bicep b/docs/content/reference/resource-schema/core-schema/container-schema/snippets/container.bicep index 291167f14..2ce1dfb56 100644 --- a/docs/content/reference/resource-schema/core-schema/container-schema/snippets/container.bicep +++ b/docs/content/reference/resource-schema/core-schema/container-schema/snippets/container.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param environment string @@ -24,7 +24,7 @@ resource frontend 'Applications.Core/containers@2023-10-01-preview' = { image: 'registry/container:tag' env:{ DEPLOYMENT_ENV: 'prod' - DB_CONNECTION: db.connectionString() + DB_CONNECTION: db.listSecrets().connectionString } ports: { http: { diff --git a/docs/content/reference/resource-schema/core-schema/environment-schema/snippets/environment.bicep b/docs/content/reference/resource-schema/core-schema/environment-schema/snippets/environment.bicep index 8beb4ed1a..3ce9bed42 100644 --- a/docs/content/reference/resource-schema/core-schema/environment-schema/snippets/environment.bicep +++ b/docs/content/reference/resource-schema/core-schema/environment-schema/snippets/environment.bicep @@ -1,4 +1,4 @@ -import radius as rad +extension radius param oidcIssuer string diff --git a/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-manual.bicep b/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-manual.bicep index 9a3c03b78..99bb489bb 100644 --- a/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-manual.bicep +++ b/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-manual.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param environment string diff --git a/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-recipe.bicep b/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-recipe.bicep index 8b436cbe9..b9a343bb8 100644 --- a/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-recipe.bicep +++ b/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-recipe.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param application string param environment string diff --git a/docs/content/reference/resource-schema/core-schema/gateway/snippets/gateway.bicep b/docs/content/reference/resource-schema/core-schema/gateway/snippets/gateway.bicep index 063e0cab5..b6776f703 100644 --- a/docs/content/reference/resource-schema/core-schema/gateway/snippets/gateway.bicep +++ b/docs/content/reference/resource-schema/core-schema/gateway/snippets/gateway.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param environment string diff --git a/docs/content/reference/resource-schema/core-schema/secretstore/snippets/secretstore.bicep b/docs/content/reference/resource-schema/core-schema/secretstore/snippets/secretstore.bicep index 07d51231f..d9a9511ad 100644 --- a/docs/content/reference/resource-schema/core-schema/secretstore/snippets/secretstore.bicep +++ b/docs/content/reference/resource-schema/core-schema/secretstore/snippets/secretstore.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/docs/content/reference/resource-schema/core-schema/volumes/volume-azure-keyvault/snippets/volume-keyvault.bicep b/docs/content/reference/resource-schema/core-schema/volumes/volume-azure-keyvault/snippets/volume-keyvault.bicep index 9618054c6..483d6ae71 100644 --- a/docs/content/reference/resource-schema/core-schema/volumes/volume-azure-keyvault/snippets/volume-keyvault.bicep +++ b/docs/content/reference/resource-schema/core-schema/volumes/volume-azure-keyvault/snippets/volume-keyvault.bicep @@ -1,4 +1,4 @@ -import radius as rad +extension radius @description('The Azure region to deploy Azure resource(s) into. Defaults to the region of the target Azure resource group.') param azLocation string = resourceGroup().location diff --git a/docs/content/reference/resource-schema/dapr-schema/dapr-extension/snippets/dapr.bicep b/docs/content/reference/resource-schema/dapr-schema/dapr-extension/snippets/dapr.bicep index ee9035afa..203bc4146 100644 --- a/docs/content/reference/resource-schema/dapr-schema/dapr-extension/snippets/dapr.bicep +++ b/docs/content/reference/resource-schema/dapr-schema/dapr-extension/snippets/dapr.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The ID of your Radius Environment. Automatically injected by the rad CLI.') param environment string diff --git a/docs/content/reference/resource-schema/dapr-schema/dapr-pubsub/snippets/dapr-pubsub-manual.bicep b/docs/content/reference/resource-schema/dapr-schema/dapr-pubsub/snippets/dapr-pubsub-manual.bicep index 203d26d5a..620f011d4 100644 --- a/docs/content/reference/resource-schema/dapr-schema/dapr-pubsub/snippets/dapr-pubsub-manual.bicep +++ b/docs/content/reference/resource-schema/dapr-schema/dapr-pubsub/snippets/dapr-pubsub-manual.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The ID of your Radius Environment. Automatically injected by the rad CLI.') param environment string diff --git a/docs/content/reference/resource-schema/dapr-schema/dapr-pubsub/snippets/dapr-pubsub-recipe.bicep b/docs/content/reference/resource-schema/dapr-schema/dapr-pubsub/snippets/dapr-pubsub-recipe.bicep index 0b7131a55..20571a9dc 100644 --- a/docs/content/reference/resource-schema/dapr-schema/dapr-pubsub/snippets/dapr-pubsub-recipe.bicep +++ b/docs/content/reference/resource-schema/dapr-schema/dapr-pubsub/snippets/dapr-pubsub-recipe.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The ID of your Radius Environment. Automatically injected by the rad CLI.') param environment string diff --git a/docs/content/reference/resource-schema/dapr-schema/dapr-secretstore/snippets/dapr-secretstore-manual.bicep b/docs/content/reference/resource-schema/dapr-schema/dapr-secretstore/snippets/dapr-secretstore-manual.bicep index 9aeefc246..1786b4418 100644 --- a/docs/content/reference/resource-schema/dapr-schema/dapr-secretstore/snippets/dapr-secretstore-manual.bicep +++ b/docs/content/reference/resource-schema/dapr-schema/dapr-secretstore/snippets/dapr-secretstore-manual.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The ID of your Radius Environment. Automatically injected by the rad CLI.') param environment string diff --git a/docs/content/reference/resource-schema/dapr-schema/dapr-secretstore/snippets/dapr-secretstore-recipe.bicep b/docs/content/reference/resource-schema/dapr-schema/dapr-secretstore/snippets/dapr-secretstore-recipe.bicep index 73168cca9..056cb17b5 100644 --- a/docs/content/reference/resource-schema/dapr-schema/dapr-secretstore/snippets/dapr-secretstore-recipe.bicep +++ b/docs/content/reference/resource-schema/dapr-schema/dapr-secretstore/snippets/dapr-secretstore-recipe.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The ID of your Radius Environment. Automatically injected by the rad CLI.') param environment string diff --git a/docs/content/reference/resource-schema/dapr-schema/dapr-statestore/snippets/dapr-statestore-manual.bicep b/docs/content/reference/resource-schema/dapr-schema/dapr-statestore/snippets/dapr-statestore-manual.bicep index eab0d2522..4cb6ae0c6 100644 --- a/docs/content/reference/resource-schema/dapr-schema/dapr-statestore/snippets/dapr-statestore-manual.bicep +++ b/docs/content/reference/resource-schema/dapr-schema/dapr-statestore/snippets/dapr-statestore-manual.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The app ID of your Radius Application. Set automatically by the rad CLI.') param application string diff --git a/docs/content/reference/resource-schema/dapr-schema/dapr-statestore/snippets/dapr-statestore-recipe.bicep b/docs/content/reference/resource-schema/dapr-schema/dapr-statestore/snippets/dapr-statestore-recipe.bicep index 7726cc1c6..0fee12a23 100644 --- a/docs/content/reference/resource-schema/dapr-schema/dapr-statestore/snippets/dapr-statestore-recipe.bicep +++ b/docs/content/reference/resource-schema/dapr-schema/dapr-statestore/snippets/dapr-statestore-recipe.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The app ID of your Radius Application. Set automatically by the rad CLI.') param application string diff --git a/docs/content/reference/resource-schema/databases/microsoft-sql/snippets/sql-manual.bicep b/docs/content/reference/resource-schema/databases/microsoft-sql/snippets/sql-manual.bicep index e9e4ec3a4..60e2bd6c1 100644 --- a/docs/content/reference/resource-schema/databases/microsoft-sql/snippets/sql-manual.bicep +++ b/docs/content/reference/resource-schema/databases/microsoft-sql/snippets/sql-manual.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The ID of your Radius Environment. Automatically injected by the rad CLI.') param environment string diff --git a/docs/content/reference/resource-schema/databases/microsoft-sql/snippets/sql-recipe.bicep b/docs/content/reference/resource-schema/databases/microsoft-sql/snippets/sql-recipe.bicep index d21031988..dba15e1a3 100644 --- a/docs/content/reference/resource-schema/databases/microsoft-sql/snippets/sql-recipe.bicep +++ b/docs/content/reference/resource-schema/databases/microsoft-sql/snippets/sql-recipe.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The ID of your Radius Environment. Automatically injected by the rad CLI.') param environment string diff --git a/docs/content/reference/resource-schema/databases/mongodb/snippets/mongo-manual.bicep b/docs/content/reference/resource-schema/databases/mongodb/snippets/mongo-manual.bicep index 5aec98987..08e322dc9 100644 --- a/docs/content/reference/resource-schema/databases/mongodb/snippets/mongo-manual.bicep +++ b/docs/content/reference/resource-schema/databases/mongodb/snippets/mongo-manual.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The ID of your Radius Environment. Automatically injected by the rad CLI.') param environment string diff --git a/docs/content/reference/resource-schema/databases/mongodb/snippets/mongo-recipe.bicep b/docs/content/reference/resource-schema/databases/mongodb/snippets/mongo-recipe.bicep index 0ac2b6129..cd09b6f8b 100644 --- a/docs/content/reference/resource-schema/databases/mongodb/snippets/mongo-recipe.bicep +++ b/docs/content/reference/resource-schema/databases/mongodb/snippets/mongo-recipe.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The ID of your Radius Environment. Automatically injected by the rad CLI.') param environment string diff --git a/docs/content/reference/resource-schema/messaging/rabbitmq/snippets/rabbitmq-manual.bicep b/docs/content/reference/resource-schema/messaging/rabbitmq/snippets/rabbitmq-manual.bicep index 34047afaa..67cba9033 100644 --- a/docs/content/reference/resource-schema/messaging/rabbitmq/snippets/rabbitmq-manual.bicep +++ b/docs/content/reference/resource-schema/messaging/rabbitmq/snippets/rabbitmq-manual.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The ID of your Radius Environment. Automatically injected by the rad CLI.') param environment string diff --git a/docs/content/reference/resource-schema/messaging/rabbitmq/snippets/rabbitmq-recipe.bicep b/docs/content/reference/resource-schema/messaging/rabbitmq/snippets/rabbitmq-recipe.bicep index 523469033..acc9bc39a 100644 --- a/docs/content/reference/resource-schema/messaging/rabbitmq/snippets/rabbitmq-recipe.bicep +++ b/docs/content/reference/resource-schema/messaging/rabbitmq/snippets/rabbitmq-recipe.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The ID of your Radius Environment. Automatically injected by the rad CLI.') param environment string diff --git a/docs/content/tutorials/new-app/index.md b/docs/content/tutorials/new-app/index.md index 24e8920f1..b3e7151d6 100644 --- a/docs/content/tutorials/new-app/index.md +++ b/docs/content/tutorials/new-app/index.md @@ -23,7 +23,7 @@ By the end of the tutorial, you will have created and deployed a new Radius Appl - [Supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview" >}}) - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Radius Bicep VSCode extension]({{< ref "installation#step-2-install-the-radius-bicep-vs-code-extension" >}}) +- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-radius-bicep-vs-code-extension" >}}) ## Step 1: Initialize a Radius Environment and Application @@ -42,7 +42,7 @@ By the end of the tutorial, you will have created and deployed a new Radius Appl rad init ``` - When asked if you want to create a new application select "Yes". This will create a new file named `app.bicep` in your directory where your application will be defined. + When asked if you want to create a new application select "Yes". This will create a new file named `app.bicep` in your directory where your application will be defined. It will also create `bicepconfig.json` file that will contain the necessary setup to use Radius types with Bicep. {{< alert title="💡 Development Environments" color="info" >}} By default `rad init` gets you up and running with a local, development-focused environment where most of the environment configuration is handled for you, including Recipes (_more on that soon_). If you would like to fully customize your environment, you can run `rad init --full` diff --git a/docs/content/tutorials/new-app/snippets/1-app.bicep b/docs/content/tutorials/new-app/snippets/1-app.bicep index 4ea1ff698..0fd6cc3e2 100644 --- a/docs/content/tutorials/new-app/snippets/1-app.bicep +++ b/docs/content/tutorials/new-app/snippets/1-app.bicep @@ -1,5 +1,5 @@ // Import the set of Radius resources (Applications.*) into Bicep -import radius as radius +extension radius @description('The ID of your Radius Application. Set automatically by the rad CLI.') param application string diff --git a/docs/content/tutorials/new-app/snippets/2-app-mongo.bicep b/docs/content/tutorials/new-app/snippets/2-app-mongo.bicep index 141268a39..44924ab8d 100644 --- a/docs/content/tutorials/new-app/snippets/2-app-mongo.bicep +++ b/docs/content/tutorials/new-app/snippets/2-app-mongo.bicep @@ -1,5 +1,5 @@ // Import the set of Radius resources (Applications.*) into Bicep -import radius as radius +extension radius @description('The ID of your Radius Application. Set automatically by the rad CLI.') param application string diff --git a/docs/content/tutorials/new-app/snippets/3-app-backend.bicep b/docs/content/tutorials/new-app/snippets/3-app-backend.bicep index e3ad8d405..0e34c79d0 100644 --- a/docs/content/tutorials/new-app/snippets/3-app-backend.bicep +++ b/docs/content/tutorials/new-app/snippets/3-app-backend.bicep @@ -1,5 +1,5 @@ // Import the set of Radius resources (Applications.*) into Bicep -import radius as radius +extension radius @description('The ID of your Radius Application. Set automatically by the rad CLI.') param application string diff --git a/docs/content/tutorials/new-app/snippets/4-app-gateway.bicep b/docs/content/tutorials/new-app/snippets/4-app-gateway.bicep index 0d075265a..60443e24e 100644 --- a/docs/content/tutorials/new-app/snippets/4-app-gateway.bicep +++ b/docs/content/tutorials/new-app/snippets/4-app-gateway.bicep @@ -1,5 +1,5 @@ // Import the set of Radius resources (Applications.*) into Bicep -import radius as radius +extension radius @description('The ID of your Radius Application. Set automatically by the rad CLI.') param application string diff --git a/docs/content/tutorials/tutorial-dapr/index.md b/docs/content/tutorials/tutorial-dapr/index.md index 37962f7e5..c02e9408d 100644 --- a/docs/content/tutorials/tutorial-dapr/index.md +++ b/docs/content/tutorials/tutorial-dapr/index.md @@ -19,7 +19,7 @@ For more details on the app and access to the source code, visit the `samples/da ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Radius Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-radius" >}}) - [Setup a supported Kubernetes cluster](https://docs.radapp.io/guides/operations/kubernetes/overview/#supported-clusters) - [Dapr installed on your Kubernetes cluster](https://docs.dapr.io/operations/hosting/kubernetes/kubernetes-deploy/) diff --git a/docs/content/tutorials/tutorial-dapr/snippets/dapr.bicep b/docs/content/tutorials/tutorial-dapr/snippets/dapr.bicep index 3a0777c8b..ae0a8c95b 100644 --- a/docs/content/tutorials/tutorial-dapr/snippets/dapr.bicep +++ b/docs/content/tutorials/tutorial-dapr/snippets/dapr.bicep @@ -1,5 +1,5 @@ //BACKEND -import radius as radius +extension radius @description('Specifies the environment for resources.') param environment string diff --git a/docs/content/tutorials/tutorial-recipe/index.md b/docs/content/tutorials/tutorial-recipe/index.md index fe2deabd2..ad5e03a4e 100644 --- a/docs/content/tutorials/tutorial-recipe/index.md +++ b/docs/content/tutorials/tutorial-recipe/index.md @@ -33,7 +33,7 @@ Developers don't need to specify what cloud resources they're using in their app ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Radius Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Setup a supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview#supported-clusters" >}}) ## Step 1: Initialize a Radius Environment diff --git a/docs/content/tutorials/tutorial-recipe/snippets/app-aws.bicep b/docs/content/tutorials/tutorial-recipe/snippets/app-aws.bicep index f2df05dbf..c736cf647 100644 --- a/docs/content/tutorials/tutorial-recipe/snippets/app-aws.bicep +++ b/docs/content/tutorials/tutorial-recipe/snippets/app-aws.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The ID of your Radius Environment. Automatically injected by the rad CLI.') param environment string diff --git a/docs/content/tutorials/tutorial-recipe/snippets/app-azure.bicep b/docs/content/tutorials/tutorial-recipe/snippets/app-azure.bicep index 5fa999d14..ecd318f50 100644 --- a/docs/content/tutorials/tutorial-recipe/snippets/app-azure.bicep +++ b/docs/content/tutorials/tutorial-recipe/snippets/app-azure.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The ID of your Radius Environment. Automatically injected by the rad CLI.') param environment string diff --git a/docs/content/tutorials/tutorial-recipe/snippets/app.bicep b/docs/content/tutorials/tutorial-recipe/snippets/app.bicep index 7901b942c..24e53c743 100644 --- a/docs/content/tutorials/tutorial-recipe/snippets/app.bicep +++ b/docs/content/tutorials/tutorial-recipe/snippets/app.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The ID of your Radius Environment. Automatically injected by the rad CLI.') param environment string diff --git a/docs/shared-content/installation/install-radius/initialize-radius.md b/docs/shared-content/installation/install-radius/initialize-radius.md index 4f12ce4cf..4d2b9addc 100644 --- a/docs/shared-content/installation/install-radius/initialize-radius.md +++ b/docs/shared-content/installation/install-radius/initialize-radius.md @@ -17,7 +17,7 @@ Initializing Radius installs the Radius control-plane and creates a Radius Envir rad init ``` - Select `Yes` to setup the app.bicep in the current directory + Select `Yes` to setup the application in the current directory. This will create `app.bicep` and `bicepconfig.json` files ``` Initializing Radius... diff --git a/docs/shared-content/installation/rad-cli/install-rad-cli.md b/docs/shared-content/installation/rad-cli/install-rad-cli.md index e4e7df894..5f3dfea9e 100644 --- a/docs/shared-content/installation/rad-cli/install-rad-cli.md +++ b/docs/shared-content/installation/rad-cli/install-rad-cli.md @@ -90,5 +90,5 @@ Verify the rad CLI is installed correctly by running `rad version`. Example output: ``` RELEASE VERSION BICEP COMMIT -{{< param chart_version >}} {{< param version >}} 0.11.13 2e60bfb46de73ec5cc70485d53e67f8eaa914ba7 +{{< param chart_version >}} {{< param version >}} 0.28.1 2e60bfb46de73ec5cc70485d53e67f8eaa914ba7 ``` \ No newline at end of file diff --git a/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md b/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md index e5af7e5f0..fbde509f2 100644 --- a/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md +++ b/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md @@ -1,33 +1,26 @@ -Visual Studio Code offers the best authoring experience for Radius and Bicep. Download and install the Radius Bicep extension to easily author and validate Bicep templates: +Visual Studio Code offers the best authoring experience for Radius and Bicep. Download and install the Bicep extension to easily author and validate Bicep templates: -{{< alert title="Disable the official Bicep extension" color="warning" >}} -You can only have one VSCode Bicep extension installed at a time. To build on Radius, you will need to uninstall the official Bicep and use only the Radius Bicep extension. +{{< alert title="Enable the official Bicep extension" color="warning" >}} +We previously released a version of the official Bicep extension specific to Radius called the Radius Bicep extension. We have since updated Radius to be compatible with the official Bicep extension. You can only have one VSCode Bicep extension installed at a time to build on Radius. If you have the Radius Bicep extension installed, you will need to uninstall it and use only the official Bicep extension. {{< /alert >}} {{< latest >}} -1. To install the Radius Bicep extension, search for Radius Bicep in the Extensions tab in VSCode or in the [Visual Studio marketplace](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.rad-vscode-bicep&ssr=false#overview) - - Screenshot of Radius Bicep extension in VSCode Marketplace

- -1. Select Install - -To verify you've installed the extension, open any file with the .bicep file extension and start [authoring Radius application]({{< ref author-apps >}}) to verify the auto-complete and other validation features. -{{< /latest >}} -{{< edge >}} -1. Visit the [GitHub Actions runs](https://github.com/radius-project/bicep/actions/workflows/radius-build.yml?query=event%3Apush+branch%3Abicep-extensibility) -1. Click on the latest successful run -1. Scroll down to Artifacts and download `release` -1. Extract the archive and Install the `rad-vscode-bicep.vsix` file: - In VSCode, manually install the extension using the *Install from VSIX* command in the Extensions view command drop-down. - - Screenshot of installing a vsix extension
- - You can also import this extension on the [command-line](https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix) with: - - ```bash - code --install-extension rad-vscode-bicep.vsix - ``` - If you're on macOS, make sure to [setup the `code` alias](https://code.visualstudio.com/docs/setup/mac#_launching-from-the-command-line). - -1. If running on Windows Subsystem for Linux (WSL), make sure to install the extension in WSL as well:
- Screenshot of installing a vsix extension in WSL -{{< /edge >}} +1. To install the Bicep extension, refer to their [installation documentation](https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/install#visual-studio-code-and-bicep-extension) + +1. Create a `bicepconfig.json` in your application's directory + +In order to use the features provided by the Bicep extension with Radius, certain properties need to be defined. These are defined in a `bicepconfig.json` file that lives in your application's directory. `release-version` should correspond to the current release version in the form of `major.minor` (e.g. `0.36`). + +```json +{ + "experimentalFeaturesEnabled": { + "extensibility": true, + "extensionRegistry": true, + "dynamicTypeLoading": true + }, + "extensions": { + "radius": "br:biceptypes.azurecr.io/radius:", + "aws": "br:biceptypes.azurecr.io/aws:" + } +} +``` +{{< /latest >}} \ No newline at end of file diff --git a/holding-pen/reference-apps/aws-rds/snippets/app.bicep b/holding-pen/reference-apps/aws-rds/snippets/app.bicep index c0dc30ef4..1fcfcee96 100644 --- a/holding-pen/reference-apps/aws-rds/snippets/app.bicep +++ b/holding-pen/reference-apps/aws-rds/snippets/app.bicep @@ -1,5 +1,5 @@ -import radius as radius -import aws as aws +extension radius +extension aws param environment string diff --git a/holding-pen/reference-apps/aws-sqs/snippets/app.bicep b/holding-pen/reference-apps/aws-sqs/snippets/app.bicep index 9b6bc7a8e..c25cf1aa8 100644 --- a/holding-pen/reference-apps/aws-sqs/snippets/app.bicep +++ b/holding-pen/reference-apps/aws-sqs/snippets/app.bicep @@ -1,5 +1,5 @@ -import aws as aws -import radius as radius +extension aws +extension radius param environment string param queue_name string From df21e6f8553a9ab8c5f488d86bd19301d71cd226 Mon Sep 17 00:00:00 2001 From: sk593 Date: Tue, 16 Jul 2024 14:31:29 -0700 Subject: [PATCH 04/40] update validate bicep Signed-off-by: sk593 --- .github/scripts/validate_bicep.py | 5 +++++ .github/workflows/validate-bicep.yaml | 10 ++++------ docs/bicepconfig.json | 11 +++++++++++ 3 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 docs/bicepconfig.json diff --git a/.github/scripts/validate_bicep.py b/.github/scripts/validate_bicep.py index fc57dfb4b..be1000433 100644 --- a/.github/scripts/validate_bicep.py +++ b/.github/scripts/validate_bicep.py @@ -46,6 +46,11 @@ def validate_file(f): stderr = result.stderr.decode("utf-8") exitcode = result.returncode + warning_prefix = "WARNING: The following experimental Bicep features" + if stderr.startswith(warning_prefix): + stderr = "" + exitcode = 0 + if exitcode != 0: failures.append(f) print(stderr, flush=True) diff --git a/.github/workflows/validate-bicep.yaml b/.github/workflows/validate-bicep.yaml index 5c5b503bc..d3ce22630 100644 --- a/.github/workflows/validate-bicep.yaml +++ b/.github/workflows/validate-bicep.yaml @@ -27,12 +27,10 @@ jobs: steps: - name: Check out repo uses: actions/checkout@v4 - - name: Parse release version and set environment variables - run: python ./.github/scripts/get_docs_version.py - - name: Download rad-bicep + - name: Setup and verify bicep CLI run: | - oras pull ghcr.io/radius-project/radius/bicep/rad-bicep/linux-x64:latest - chmod +x rad-bicep - ./rad-bicep --version + curl -Lo rad-bicep https://github.com/Azure/bicep/releases/latest/download/bicep-linux-x64 + chmod +x ./rad-bicep + bicep --version - name: Verify Bicep files run: python ./.github/scripts/validate_bicep.py diff --git a/docs/bicepconfig.json b/docs/bicepconfig.json new file mode 100644 index 000000000..65aa58442 --- /dev/null +++ b/docs/bicepconfig.json @@ -0,0 +1,11 @@ +{ + "experimentalFeaturesEnabled": { + "extensibility": true, + "extensionRegistry": true, + "dynamicTypeLoading": true + }, + "extensions": { + "radius": "br:biceptypes.azurecr.io/radius:latest", + "aws": "br:biceptypes.azurecr.io/aws:latest" + } +} \ No newline at end of file From 77cfc256428e3bab1f68cbfe03c8804ced1dd614 Mon Sep 17 00:00:00 2001 From: sk593 Date: Tue, 23 Jul 2024 09:36:30 -0700 Subject: [PATCH 05/40] update docs Signed-off-by: sk593 --- .github/workflows/validate-bicep.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/validate-bicep.yaml b/.github/workflows/validate-bicep.yaml index d3ce22630..b09262cfe 100644 --- a/.github/workflows/validate-bicep.yaml +++ b/.github/workflows/validate-bicep.yaml @@ -25,12 +25,13 @@ jobs: name: Validate Bicep Code runs-on: ubuntu-latest steps: - - name: Check out repo - uses: actions/checkout@v4 - name: Setup and verify bicep CLI run: | - curl -Lo rad-bicep https://github.com/Azure/bicep/releases/latest/download/bicep-linux-x64 - chmod +x ./rad-bicep + curl -Lo bicep https://github.com/Azure/bicep/releases/latest/download/bicep-linux-x64 + chmod +x ./bicep + sudo mv ./bicep /usr/local/bin/bicep bicep --version + - name: Check out repo + uses: actions/checkout@v4 - name: Verify Bicep files run: python ./.github/scripts/validate_bicep.py From 9ecd17f7c3d85ba058edcd09e8e5fbca27bf23c9 Mon Sep 17 00:00:00 2001 From: sk593 Date: Thu, 25 Jul 2024 12:12:51 -0700 Subject: [PATCH 06/40] addressing comments Signed-off-by: sk593 --- docs/config.toml | 8 ++++---- docs/content/getting-started/index.md | 2 +- .../getting-started/snippets/bicepconfig.json | 11 ----------- .../aws/howto-aws-resources/index.md | 2 +- .../secrets/howto-new-secretstore/index.md | 2 +- .../snippets/bicepconfig.json | 11 ----------- .../snippets/redis-kubernetes.bicep | 2 +- .../howto-vscode-bicep/vsix-install.png | Bin 63712 -> 0 bytes .../howto-vscode-bicep/wsl-extension.png | Bin 30909 -> 0 bytes .../guides/tooling/vscode/overview/index.md | 7 +++---- .../tooling/vscode/overview/vscode-bicep.png | Bin 103384 -> 128752 bytes docs/content/reference/limitations.md | 4 ++-- docs/content/tutorials/new-app/index.md | 2 +- docs/layouts/partials/hooks/body-end.html | 2 +- .../vscode-bicep/images/radius-bicep.png | Bin 103458 -> 0 bytes .../vscode-bicep/images/vsix-install.png | Bin 63712 -> 0 bytes .../vscode-bicep/images/wsl-extension.png | Bin 30909 -> 0 bytes .../vscode-bicep/install-vscode-bicep.md | 2 +- 18 files changed, 16 insertions(+), 39 deletions(-) delete mode 100644 docs/content/getting-started/snippets/bicepconfig.json delete mode 100644 docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/snippets/bicepconfig.json delete mode 100644 docs/content/guides/tooling/vscode/howto-vscode-bicep/vsix-install.png delete mode 100644 docs/content/guides/tooling/vscode/howto-vscode-bicep/wsl-extension.png delete mode 100644 docs/shared-content/installation/vscode-bicep/images/radius-bicep.png delete mode 100644 docs/shared-content/installation/vscode-bicep/images/vsix-install.png delete mode 100644 docs/shared-content/installation/vscode-bicep/images/wsl-extension.png diff --git a/docs/config.toml b/docs/config.toml index 5fffad64c..01ff03b9f 100644 --- a/docs/config.toml +++ b/docs/config.toml @@ -1,4 +1,4 @@ -baseURL = "https://docs.radapp.io/" +baseURL = "https://edge.docs.radapp.io/" languageCode = "en-us" title = "Radius Docs" theme = "docsy" @@ -67,9 +67,9 @@ tag = "tags" [params] copyright = "The Radius Authors. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see the https://linuxfoundation.org/trademark-usage/ page." -version = "v0.35" +version = "edge" tag_version = "latest" -chart_version = "0.35.0" +chart_version = "0.26.0" # Algolia Search algolia_docsearch = true @@ -77,7 +77,7 @@ algolia_docsearch = true # GitHub Information github_repo = "https://github.com/radius-project/docs" github_subdir = "docs" -github_branch = "v0.35" +github_branch = "edge" github_project_repo = "https://github.com/radius-project/radius" # Versioning diff --git a/docs/content/getting-started/index.md b/docs/content/getting-started/index.md index 37fdaf147..ad579c576 100644 --- a/docs/content/getting-started/index.md +++ b/docs/content/getting-started/index.md @@ -73,7 +73,7 @@ In addition to starting Radius services in your Kubernetes cluster, this initial {{< rad file="snippets/app.bicep" embed=true markdownConfig="{linenos=table,linenostart=1}" >}} -> This file will run the `ghcr.io/radius-project/samples/demo:latest` image. This image is published by the Radius team to a public registry, you do not need to create it. `rad init` also creates a `bicepconfig.json` file in your application's directory that has the necessary setup to use Radius with the official Bicep compiler. +> This file will run the `ghcr.io/radius-project/samples/demo:latest` image. This image is published by the Radius team to a public registry, you do not need to create it. `rad init` also creates a `bicepconfig.json` file in your application's directory that has the necessary setup to use Radius with the official Bicep compiler. The "radius" extension contains the schema information for all Radius-maintained resources, and the "aws" extension contains the schema information for AWS resources. These are enabled by default in the `bicepconfig.json` so that you can use all Radius and AWS resources. ```json { diff --git a/docs/content/getting-started/snippets/bicepconfig.json b/docs/content/getting-started/snippets/bicepconfig.json deleted file mode 100644 index 03c324042..000000000 --- a/docs/content/getting-started/snippets/bicepconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "experimentalFeaturesEnabled": { - "extensibility": true, - "extensionRegistry": true, - "dynamicTypeLoading": true - }, - "extensions": { - "radius": "br:biceptypes.azurecr.io/radius:", - "aws": "br:biceptypes.azurecr.io/aws:" - } -} \ No newline at end of file diff --git a/docs/content/guides/author-apps/aws/howto-aws-resources/index.md b/docs/content/guides/author-apps/aws/howto-aws-resources/index.md index 16d00cad4..70c8e3673 100644 --- a/docs/content/guides/author-apps/aws/howto-aws-resources/index.md +++ b/docs/content/guides/author-apps/aws/howto-aws-resources/index.md @@ -24,7 +24,7 @@ This how-to guide will show you: - [eksctl CLI](https://docs.aws.amazon.com/eks/latest/userguide/eksctl.html) - [kubectl CLI](https://kubernetes.io/docs/tasks/tools/install-kubectl/) - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-radius-bicep-extension" >}}) +- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) ## Step 1: Create an EKS Cluster diff --git a/docs/content/guides/author-apps/secrets/howto-new-secretstore/index.md b/docs/content/guides/author-apps/secrets/howto-new-secretstore/index.md index 67d85f261..ce3a378fb 100644 --- a/docs/content/guides/author-apps/secrets/howto-new-secretstore/index.md +++ b/docs/content/guides/author-apps/secrets/howto-new-secretstore/index.md @@ -16,7 +16,7 @@ By default, Radius leverages the hosting platform's secrets management solution - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) - [kubectl CLI](https://kubernetes.io/docs/tasks/tools/install-kubectl/) -- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-radius-bicep-vs-code-extension" >}}) +- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-the-radius-control-plane-and-the-radius-environment" >}}) ## Step 1: Add a Secret Store diff --git a/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/snippets/bicepconfig.json b/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/snippets/bicepconfig.json deleted file mode 100644 index 03c324042..000000000 --- a/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/snippets/bicepconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "experimentalFeaturesEnabled": { - "extensibility": true, - "extensionRegistry": true, - "dynamicTypeLoading": true - }, - "extensions": { - "radius": "br:biceptypes.azurecr.io/radius:", - "aws": "br:biceptypes.azurecr.io/aws:" - } -} \ No newline at end of file diff --git a/docs/content/guides/recipes/howto-author-recipes/snippets/redis-kubernetes.bicep b/docs/content/guides/recipes/howto-author-recipes/snippets/redis-kubernetes.bicep index 986b3c1cc..5280bb153 100644 --- a/docs/content/guides/recipes/howto-author-recipes/snippets/redis-kubernetes.bicep +++ b/docs/content/guides/recipes/howto-author-recipes/snippets/redis-kubernetes.bicep @@ -8,7 +8,7 @@ param port int = 6379 param context object // Import Kubernetes resources into Bicep -extension kubernetes { +extension kubernetes with { kubeConfig: '' namespace: context.runtime.kubernetes.namespace } diff --git a/docs/content/guides/tooling/vscode/howto-vscode-bicep/vsix-install.png b/docs/content/guides/tooling/vscode/howto-vscode-bicep/vsix-install.png deleted file mode 100644 index edd7e9102721f97c525360303bca74cb41353d83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63712 zcmcedbx>Siu;(GTyIX+Z?lLe02$F>0?h@P`f(3Ub3GObzb#Qlw;BLWfaEBd!zxS%% zzS=*wUe#_D6f>85=icda`ke0Xr#oCxUIqh|6cq*r2IHgb2W1$TH#;yeu*t}X&?CJF zmy6Ipu+GXd5-{asNU~XMM zeh^pn&_7B?^B%o=={K;j>kbJ)k6tWNa@Nu04gcDBEh!hQ>%??N=d_Uu(?jRBwd3X*=drPc(awiE5AS;Cwz=_RueOTuhl}Ty zcBwaTfzQEjkptd(z|eh8m=Hq=c)RS4Kl6eX@OltAzySlti2a{eZ;>g#BRh*@!@vGO zU_K=M=P5{UyLA6OiY)?zv-2MpuEWYUeAw98Tt&Y8eOl=&xWt^JYw6RfPU!P%lB#e{Dj@`w` zPKYwnR;=KF@eZuSMIi7q0xI2s^gkMWM`gLa zi&SfE#Tm4?9oei@_d6ay* zFf}VHy6I4yxU%xEHoBLyn;V(kvGmCXN0XUB5$8VVldXWiW~22EK3m}4mg7k0iR^;s z-jLdr8qWJbS_=^e-1}u6Qgg6E=P(t;T)o-mj4^S6C?))3Eh_CQd$f`BQf@-qD9)@i z!yByj?~N1`N9ly2$+<+5Uo3~`PeqJZDWgrr98KLy?}VaU1J}CfebN&oR8bB?`l*T| zQ+&7AO(XQ2&H7neT9h++-8Jmxe8F6Xd83FG#ngKfzU-r=Ky2YPKYVSR&jP3-60TdW^5s8 z|4yhXDfP@&6gT!Eq=SfQ{@Sk_+f{b$EiyvKs4-U|r{7+7s3O=#>+$hoe7?=68EV_? z_qH>|1QA3WF%|94q)1ql)Ah^q%cXaOM=JGpda5PrUtA|PH#aZqGGy4h=`zH-`o7G6 zt?@ovVX{p{a73GynX!mGC()&UK4un@OWq6EyDenID0$v#g1UQwOKAPxXHoXyKm z32!YYr!Ck6r48D`x=-(~<%Xz_&Q6NT{f0?6;Ki;;pE;^Y0*3T^erIl0x^7|iP|5Y2 zt?^OY{%Ia7A_k(z_Fu`AAkHW;U*Y4r+4s(_pvXQxam1A@po7{knWf#!w;?Y2?zJ+R zgzWlJw{^W?;oTEpaf0PvPVi>{eys|3h~Sv+3~zH=>ia)906&q{Tak~}en8}tI~x7t zVpseXdgK)YFD0VwkMoZqND)rAxpPzMerIv%ryJ3_4JUba$r1UEM>O{v&xN#gJg8k) z-E8rJ>r>9<+Mi}4C+5uZWy84{=e9BG6p}+j4y}1M9Q%YC{vx%%JOdKgbVA(MeCppz zH7edt7b(HnF4l_2(to++3s@JnYpz}J5{Z>k*%FdMD+M((nym?8%3S zvPcKbU+tx5c0PBaHk*d=yxrqyEJv`-k{`JIk_g@rkv9`kkm8LhipCYI=vxN0kNTbf zQmJ#~J<}HX;39!MRE2CZ%0D*ZvQFLUx6wa6tOR##HlNLmx9F=w=XYq}&W&mLP4OI=iPu_S zwIBUv?C*-LRtx}k{VBs^EeB?E+iJv@CHWlXT>6F*JCo_QT08)V_;-2OJrA`kQFKIo6rnH)ZjiwK_JuqW(>(#6osRn3Cb9Qzjd^1QBPlRi{Mah% z>$f*R(i<+{8TFM}2sQ6HOAJrAb=A{%*ZMTUXE+Cq5--Kx3U2S%oT@_spKiW9i^-fJ zTv;R7QPpDA zkE4MbJ!fb{?0Y&v)`R;~g=fPY?dyLBWA91F^E&i7G%eUl;zsM1H1lc2t{AFc_oL{Iouuv~Rp_(4{c_h?N$owA9LJz(wXQ2fE@Yhqt#@A!9+%5cuv#XrweusfYQ?2|I zj1Ij@oSD8kOVR+fNkVy5#Ul%sm?w|p;x4jw-Q!_2;HxM|Yo(r0Q?3h2zC^T*Q6^B_ z{solb55ZH{{%jkA2k>W7RApVZ>P?jB%QFcD^BnznP?c#7@O2-vj(z6)_LvfR-cRL64u^#K!NQ`b4e@|y&XMeCVyWI91Pg~~IFTiOAlB~OD!L~z zng5yS@^sDM_+^A=JWHqEt~ho-s`;ep^Kt)E^dUqoE+074h7ovD)BmrZF{%s1Q#naSu6hXB{k`xOup#MwXMyg~oJKMtf#gYx1uf*%UU`G)v@ED4yd%Kp97P3`OFvgHgan=l6D;b~lnug%UMPA<&Ye-xf?<`(-5M zv4p#6=f|VPdp0-gfYXeJ(@s5CW*SQw5#^|_Uz<-%$>qy}%%ZKg%8^pucKnJ8>NeMP z8N?pQ@8+8KEfCh`E%J}xBhBeOHm`irxz9?4VD?W8!cF8v&<~CGnM^h?&BvA6U&uqLp zti7<7^KGu4xaz6=QOLd@`pdmu{HIPtu16U?qjsNFaifbN?Q^S(`0-~AA{`CF3Q`P3 zT^;oE;rQU#Nn+5;^lueedGK?RV#})Al5O$Iieo>;r|EPtKmG6)T)Iz1*xC4LeBnUM;K^PC)0DSW{QWdBD1Az^@JJo$oOr-{^WmVNsNR>X)2ArkS4j| zM(5q>#@kFhHA~o?HWxI`t}yO{k5>mXj@L(8-Vew1m|M@OdY_ZVnAM7l4wEnX4p%*Q z(~*&p6>q32Hnz9(Y33k{a?J~T@9OW^Er=(>Y3<~Y#A+UoI)&SIDUXE|d~k`2&d0pD z*F<6*L;*IB_Vyb=ebdvbYDmi!62Yh>$AjM=7VJ!({$OSF>#!2?T1>z|_fq!+9}oEg z(4i-00ca^1=)QK^0Uoz5}u9MA=}aLm&;id7Kc;^tiM)+L)2#M^d^ zk7IpFqpGrLrHdw&Y!PyKjL*d3Sbq-uoy7HpEp{82Sd=?BlGOd?h$t}s#|g4D8`(zp0; zsEf#cSgu{8Ay>7*FryhYv}11V>713}6_i!=VqL*;gDx>p>$X0*Z=K(qhRf;!8M~e2 z8HYG*Jifdnps?-NW3HjLC%Q3Fx$@}t=X)Cvb&+o4q6(wVULDSv%oM9>ws{L}Zf(uL zrESjGh!(`(t$LlRZ6*W+J~(SNI??6i=EmRV6D$%&z+{B(F1LEsr$pUP%254&!RNmG zx#Nj(eY#fBgNo4P=!0sDN?ULhO69BghKm6`dsLQ5E?3ANe+vI7O10aClPXofUY#br zAMy>can#+Yb8L8~L?fQF7D`0%|0fm;KUvR3=i`!ikqx}&_aMf?gdgfffK zEZM=&tszPJWZdg59i3FTBbXt=Rwqf`7}>@g($bP(M9jGg>cqqY;Ek{x`kRiwl=94` z-#v47kMRTx0wU7(Mn!7$wKBkcND&@8;V+HQSlD#IAKu4Wow=*u<04DL^0uMC-nmC# zHKBq$=!2>zZl#MS`JYb~=@D&ZKkja;1Gn+PV9=w z(m>-eTI*A_STq<0K1jOD_2?DR9ymN|UsDf|v)^Y<7~sX;V@ky2*=Gh$8fbe#-8?mv z%4ef&(UBV*oe^kzf+T<=f)AXw-RR!b22RxAf#5zSN3+v0Q7(vX8$(9NlVR0W{9-0& z=YIvXwwqBVXT)Wt-|cj9sf>)3U8wA`q&_QusNLRUiE?8lNf5uqI1#RnxB zaVs<_zFsEDo8G>@;<3S-HNT1=#@@<}>K^_M`N=k)2W~<)V@3$0u;0^6^27Tv;&y)& z6qMVensHTa&9M-=#C_wt>gb-Ho+93wW&8FgH`g?l%5+5$6+^#^QGo;97R2n*3=uCUF>3T~2v>d}#V^AyI?%J6;1gErbXH7mb!v^yI=WvNI%0 zf>ZtA9+%3ayO$1sxMEu_3bRBG38iss9{Um6!?=fw4DcMGhgb~;+1*G!r$ToH*{q3P z0^Qiy1ei!$WC}r?ZtShu=bV(0`R(v^Z=8C|P}_=jO2_`oXw1qZgOHgA_9pU(2`49p zgjOL^+JaJvN3Ak}nR|psgL?8e9L(-`RLklzKF;!WPV2SR?N>$^4{4nRH}30k!$wpb zG>+Z6Eh67|cWgvsA_*k0h0KVT!&^LRVxK`Z{yu1|bJ2{TeoNC2XMyb|^$K$+H}%?< zDhggfNn2QJw)JXCVtXg-k2v(+*bt*mDpxpExbj@c2A@cv%LfHg|H%unuHqa0p1u0x zx%VTNIK*5&BnegzQArtk39+}0CZ!J}bI%G9>KBN1{ESWG>_^**ab&te*P`qn+M&r| zP)>=AJMiUG~1fSRI`e^cIfFxs%-yVM}gyl^=SA|*Bh96Jkpu16*w{R-_rw#c@ zGq78Yb7xDnujSiHq~NzQ1e($^G30~JyMc2X$l;9?iVn&!Q_QyPI*OW${Rpgp(JMz`A^~oTk(4IYyYFg`%u1r&#xX-Zi&(mK$BRf5g*g2qnOi5Ly zWmWgce-LaZr0I)>*{At}eCGF!y6D0%vG<_Y1b}^YpvxKO+*`?RkzG+QvpK16 zD=PGP@8D+o&$~xY^3}{hFNGnikp-tuQyOfXZwq7m{kKJMfyn`bWHH^!G{|LuX39am z1|?aUBS&qSR-B2qrWm&1U;c_pRGkcjE>hMyEPgJ* zNr=lCCvb{A?FtEq?D{DUqZ7%QO`N}k$}kPQT@UoQ-3X1J;E7b=SFlh@Rs%=RUBCC zih0LXKI%f2D{JOX=xYYxmezI(upI!S&p&%&x*;BQdVRN@oka*cJjzdhlV)lKApI@dP$O68 z!^kzfL&Q8AKZbsTknFtYhj5OyZ#WhvdhwqZ*C)T#G8a-CrTTofF_J97Eu*WIYiNcb z#X~~pJ&LBRAKbD>t@cM>uIOi=qJc7R)dvH&LaL;*I@t zQf_{=1`~c*`smwYjvmQhaajCg%>EzKw{z(-zO(fi-H+%V^m9SUM$UV0qBoD{is&Mi zV`0|%cP>@VQ*XA81l2ErZLTKJ!k&wDUykEx*|z?oK7rUaI+qCiK#T?;0l%4_aqH!+ zrXV|Et#zppS+KLc*hcnB2PD8wty@e7kH6JVd|2qJc1F5*MtC=ZK}3j#X|EYX(I@I` zLy&MZi@HiNY!7R=z(th#_!UD+vpwmHLXn!E$Xe4kx3gn{sC#z{>lcxVpmLMVs)LK} zN)I)e(A@{xk+D3bisDhu_4pI*yEK{QVvuf>og+ERn)&S@v&Gqag2TK?^Z>~G4_RLD zR)+zXh$i5TVCI3yOc%yb1_;MlwHdZG@NBQ9u|6eKgv{U2{&-dB9s}s))6?{x%a_x+ z2GT#>!8&H?y5ZS)GA>3TMjm{K)RdbiXPHB2p2tpAdcEQ2HE~S$WogGUCry!9>2@CT zCt0PQ3VE_oYGIbCS0UD!43*DU_q(;1=fX#m(TU(-J5GF2e2Fx2^Knw$iNEw~b8ob5 znS4jtu~<2}-7|e3big*9F%*C}g=$-wf$wiJ*y-_u!ov~PFtxxo3}$O?7sf8=w_bz% z#?4QVjc%)EEf*&{|6^ZW!2{!Qia~;T%+V9pBbX|^>Wj_N*jT(4fqCDfXkF~`-Rs8_ z;+^W=`}G)^rQE>dKg^n6ig|T4S^N2oCTB~#1RU?IdZu#ZhV3co>F%eiou6cMsOK$v z2;k7%SoJ{NiNo37FiI*c5$oe56?YRkZTqZ=MN7pf{c6$f(LGTr6evqk49aq=)IPVj zmC*hHkM)(Z^*dI1Bh!$~n2vCwd+2^%+e+D^;vt#plcLG%l6vRMixIi(NsSHQU&{#9 zh(7palggw~MshFbi#Mh3i6WVC@XN7mj;ai^!r4)?e)3r{${{y4Dxa#qI6T026wz3< z;Q=_cxN#$X(Eq*%LvH*g78Pe4?wsJyP! zLW;Mq>pv;Th|M(5NMpH?zXT)MO2FSZcvJViE6w!F=X$O)5TRazCDBNSF{`2g(4YkRcVhRWL@ z{jdaw3yr?bq1aX>niP(9EISv+Dfe^eZMq>vWoLpJ`j~1~p;=PR>K5dA>6bPl{G+5$ zfvuUFH3#LEPlYo@Ne|QN;Q@gN?H+3jFZ|bV`OG@dVO%gWh&LV&QXr~a~_+~s#-cs|ks@Mmc+kv#N&Ykib z51u`|J9(rfoaA~5MS86xW{$|7>8D5Wzmft1k<=}onA*<`Vc?}zRr?Jo4@E4}w-JDqCM;fF4h0R)$8UVXX9TS_g)A3$ zL~NL*qATtBL4;v=jQG|F@Am1&K&JD$)~8fArhjQ4~q<%86fJ8!CunYoi85YI_{SvLTFG=ZiXm zXlQLKv9|Nb6f%NBF*%{fF=q|78%tbFsElFt_G{%8!QTckP1sfTswirXNeMqi&_t;F znjblIBlsT*F8tWd&5uv`LOJXV5j+{^bTsg}ieG%m4y9B!PNWH|>cuE2`$;dIVfg5< zssaMu7Y&h})^W7mO5DAjat*Y<{OdZp&*=~+fJ;ePelBCpWztLrU8Bk+e)i8V;m1YI zcUoWE_*a!A%bv2q?|v5CZR3{ksK)Y?l$q zPQ&VapWrMyoYAgf7G=RO0+{M_aW=^H^{_qZzL;w5wy-Y6k{2=E4YA_|6Fc^!9R5V} zBTJSp$Yf`f1FTT6QGwSqW3i?b4;UN)#IJ+MjeUMWR#LXU)}9OSfCyIu=QFzK0H>w zM}FVlRC9eBZ-~M5Wba{^%R5%ez+J*Vn(bfoR@T9};|+J3RfdEG(Ny8E%pf>UtH;!& zRzsnkR(wl>?L=klW{6M}gi}f0f@J8J6=SBzLcbsoZ;Cz}RLltrRHV?aXhVD1uqGHIy zfmn)$Dw&bFzv266r%(JQVV6#X0fBPrOCX} z&JVg3gwA-Y&lU@=; zrTO}0P+?^xbm70LzuLcRH0qTw2fgWIZHvTb%JIX6o)}ab#uE7!SpwFWaNC&T_0iL) zUjcmfcWk9sQr{5xAJ<@S(~P}Z$NZl!$OvO2)o|7P`ak$iu7B)?ie2-bDDc&o>*)Vj z8v(tyvFabw(*Ae6pFM#c`Ole2tQ^F}x{be{KSG)R09(j##73JFR91}Ie!N4oN_`!f zd76K|*_#iKL$CMO`0o`2K@t+ByRQSt^WX0RJzM;LFCzGVIXESnRhu49JVSA3vtldD zuL5N{z+Jl0Y1`rN0FF=D4ver_CPLt8P`jrr@Qb#v>7YCS`b7SXf4_>b$l-E^Q}_l9&D ze~@Y|6b=$PJ1E(zGVXN}xmm8cCw+AzoY(RhZdKRqq4-OMvFwKruL~H}VF(7SZ(z>+X9K1;oahsEw7D_D`<^1q(4lZ+Z@JzY1b_XZ_7Pm zg=}wczcOV6CaCnQ(1;O6fX_xN=vAz4L{z!MtuMD z3KM)X#Qgjh-C8$y-C3kTl(`v1hjaEFL-8zEYzx^Ag>TK1rKO}SkIn1bq@ashrA#^N zj`#cXPN+Mp@g)xtF!J9i{te;>rg_9n6)Kd3(lPvSY9#?)QhwW`rpvp9$ji%1fBF=$ z*e(@G_{nfS@D14YaQ47MKQs~+0XCOgapK&6kQdS-;+M>A8t1{)jU+fV63RC-q=$l!)96 z>k7GB=VPi)lF!JTt3q0Wt0zn6%#C5RWBM`bpbvl1>q251p(N#DN13Uy%p{<}`9XAv zZrte91B{~&x}gPd#WdWkdZ~p5Q5er+T|7erC1$0;YjGuOtOSDLpZ#a|W9J>`rbzzB zk;ZGRLkn(HUPoLr@{9?dK42sL#N!|RxU*u1KTZ2%;BHJ)x1Z(e+2s6|z_#(6JH8?@ zSJ>p_QEtbJ3$|*g4yD`mO?myRW-&1i|R*`12@#hg$axNgyy?{RxM zrSS8|k1Tk4Dl>dSZ^m=~5obJ9OyD%X?P4CQOKsGjfDt4 zYqd#c+3$^2DlZzSd~ab7=PERoJTMD_BaQTU#(I%hr_A#b(Ry*~&x|BlGFj9WwSV0~ z3e_?;J4x_aT7Ybsms|xCSsq4rTm~a}y@JCLmga^2y9HTmZ9V{8JUpHrVYWtc3d3aX z_S)ykh*9s#vH7Z;+w3HI{K8U&ooETa_A+3|;K3n*=e?P5vW#}jXo6O5%zU=7=)@Z<-NZLxOVPqP z^SSR$NSr8SXf@Sa#-5)ZW(Kf^2Q0i|Ufnn@l_#o&iy0d#`(j;;gH2MUQMK9oV<=SS zY7&86Tb@AeORe(dG2ZhwlRGB^=cT;wW+_^2HdHN07XJL#8*a|3gsV&Bb%vsUitPZ4 z-Cm%Zx5KH<%u#LwF*v7wV54V#PQOxfR3WfI(+=mTNQ@`%`qe`ArsLV!*()F5UZgzL zDhTy7Bm3HjCv&xXVvjL3%s=eb$3HxYZYMA_-NFIrdrbfP)Oo>UFCd|su-V(HY7T-{ zhe$EVzdO|7&Ne)q+;Y5nxSG)bq{R@TLN_jTCsC6hc5l*d2a%|#^rI%u_i{mtbvDXh z&&3BrPfk{vdEhxWK*Cho-nUA5BoL!^sO#EDgwXh7@dIU<&}}xp0aw6jDj3=LFMRv}%{$D9=nDt6^v*W>)d zmt^Xua2c_0;`}eOY@tl(aZkcUQ;24!(aRBZqNMNL4bBX5r!q!UQqxV*pshY zif-q2q(lQbnW5C2RDEyiG+I4ZYKZSI$ zD`Nx=QZ&IfOgkf3E8y63cjT7 zS^GmENSr2pE_~GSZIDMX+r?C?cM8zpxpJ_Mb2sn@RsjKvI^)m&P)sTbQLpQfuzBP6 zkvLR~-Z0KZ^MpX`<8UYF#^2)ac%LJlp9)Dqsuw97=NXndMzD9-GxpXai3Y z`_dk__drr`A^>tPGV505V>neUpDlHRmq7Ov&t%2OuNyr3QM;JY>iACHS+v5sBCuP8 zG{FuofuxuHut&GvTX5=^!smB-!6Qpf0asnZg}2$mA)=bka%jQ7MUBS1=fO<5F-e45 zMq{q{e?_nWvN5^>=K+B29ZdY0T5_mF=I-rjFsZGuVZXFk$L`; z-p2ZRz*05LRaR;21wRvi5KK&~bz}&kTEGEhWz87#jB4q?9UgO{gA)03Pn$QpStDomYmD9-HTii<%r{LpN}je43dBPV85y9;CnRrB8m4lXSB@~bF*XqIE`vvyMs6p*EN!<2^fCi}kvCR`Qb+Bpn=WBC62~S{xMGrbUJ5m3GLavnxOp{P=yc1op0e2OZlX(; zDr5gaeeA(gC~|YpeNRM_AU0f~-UWif+^SzdB5uuv30l7Iooe7Ju4PNYxl4=rso z{yXr~V>eyspsnfU`C+os2(Hdvq6>Crhbdzec!IxkB^MW6#CnKeZfm$^^$`G%kiiG+(@T}a#F zjuw9sAKP0|<~YXK4gi|#twC=G$=pXn|RS;wzAhthV} z0|)dyowLb8Te+PH5}0xqIL|SB>Y!m$k09{tD3+8L#6QI#XP!Xt&3XIFlfvD;%7n`I zD!7lsMa{E|T_Ml&_%tqPM&=>v;!S;uf=gsLT-}p25ylbkwZEDIN6Nqo#9)?k{XpiZ+N;Oli zhrvEQYtdtn@=nib|JFFAR4vsMpJ`J6IT1|5Y-*`lTL3NSEp8ZI6;eK`pF#=PbGrw{p5QHTnec?dwarge~%3oCu{0Hx> zrX`^&q~V|wIp}V$605e*H@|8_+u%WpUyhH3|KkYq=Ouo-tA&_C5L#eXi7}a(Y8+_# zgQ`+q@Kaw5)u~2I(tL@%TL7b3bog2fp}TG!^7#H6BK(yjdy`)EglvnEy* zbK-U{UO|UVhEvJ=>NVL)(X+Oei!nf4@M4zTis1}Uh}42uH%+{AbPc8npyaY7LBuud zzCEPw&M*DA;VDEa$s)wHtWav_cXr@T$2oB@CV}P~&s_f-Ec;Wz_u)9N*gfVJ>Tq8g z|3FhrUF&nbBs^g4?Zl3RpzavbyHF9Pd8YueiQ0mcvOdI+_9no@O=9=8Tq29TQp@aw zKs-B|ci05!m&wm13=H>;sAV7VNxU7Bsge*d4kOuVS?y=*YEVFOR8$RP2f3-q&|1~#3(KON2QPpvW?XLs z4!`-oNdhjl`0cSvX8#RK6P3>Vqag)CP%ob8Y?U`m@)_~549 zpUuuij?gDk#;@hw2~JF|IBwKzCy}>4x+kcW0F~QoIh^wlQF-+N z0$A?agm*vk8tT$*#}5@1iRaoA6y+v_<*o621exHY!Z5upNOG|e`y86e@_%7T0UI=D zYY}-sW{fEqep@XaTecOW&OB7LtUF($3+=0wI6}6Ezwd5H{$j@^=XT%0O2-o+q8bC+ zg1VxP!?&f*P6ri(E`Xa)UEJo$4cv=Hn*L1hMst#HV0)ePjTU^)dWnj8`W|NZeFcND zm$>|h_NJ`8UbyvIUPg#1yjGD)0WuKHCAaR=M+#$~9sIJsl{L}`@2xa%>YrtTyFy*v z-81G}?x6I~t5f)40;J^BPuq!-#TmrH@zWJlIUhIyQV%z~BKxtNk2KkuW&rovB)~2? ztnrdb@`XUatRt92p4XHip`9qCU_3jHGv2Iky|#QQdz+f{6jb47!*gQF z&z&Dwkf^*LtG4+VB`iN~D~f~)-{H~#Wg9vCzTbW4{eU!X-Qx=uNd7gq8~9UfQx0jo z|AHIqvV9xGKi+@1>%tx(iz-YT;w;aJD{F8hcyH35z8+*;{u1Fo&}obcidRZi4f{O=SsPS zpH;mBp+b~^Ly$y}<&N7d8M9UlI$yTYI1-$=NjDw#ieOhuoA39oveVL+ zLpw}bTM*)r5!!I49bHZ|9XJiC+`M9%UvTqmnS4&-kSwY(v3^9v@!F0}T_Z)6msj0w z?Nu!7t0S39MLP^PwR}9`8gD^rPFn0 z_9kT<2Gyv$F0`DJwZEq)(BtU}#VT)N6_+Scs8f)S@5_^0O*A>cjr?Yfs-R91ZMN(| zRcly_!Dj2x*3>I|q5yz%D#>G$>N2=cNv(bOK4b0=PSN6r-^z3=ZWT}gcz~smdqa^` zk^H8;b}4 zs9Jz4TDNaaQwLCH(WWfRiFSf>Vka#cMs*1r{Vk2PJ)waPBT`e%MEe5kx(ErXigqRw z#Q8v$SW)(zPH;KXIORCX_UGB-h4zb?re7b+Ig`YK5fAGatHCon=L-J7kvAvB@>mgf z%i3sV#_cD+f^^Fr`|o8}DHHwa$Dudahj9VP#_7P7n4F%Z4cFzTGNV*8;6j@xn||zE zfoYm)#~Lmim}9JUeGhSJd@Yp>BY`IxruG+)3%%awTb+YXVISbyvcldZA9tzE0o>?g zf5jB9p=MI6s%uK&MvYeaC`?h)xyNv` z=ZFKF#+wN{mwz&h=i4Q5T}(M+u1tHLw2XzRdDsUx2)ZDy#ALhE_7E$f{gy7d+Fv2{ zGVS1T;8GsgF)x4`+rBYB3HKBQMa&qASFOl4++wmS15Ho9V-QamxH7lD_}V8ty*^_g z+4#N^G|FI9y*|3rkM?lt@lVHgm&EvU|FmCt7}rsNoC$D`NeL5j+=L&=5G8wgI(2|H z!00s!CUbSs|49#?6OeJq{tguwRjkPLei1(`qpu`>yYwJOBODoTn7!P$|J^81d+R*? zPj2-u0Qif7>S$t2uP04h)~hFo<9z;?X{h>3J=OigRDgby3)40sG!Qst)S%{Z5#My( z59xW?xf2M=WvUHPX;}&}%F~J880z&DcG1fY+a>>wf=6F`3EkuI`8S7Xkh@$%8>;^i zm1&Is3n^lK?MA%&7pw#=zkS6L&@lD?u6^-;OdhIR?x4%M_yE<2{Yx#ohU3*iJEML} zgEq(O^MS*9|Bua*|Kq#;|3oN^yp*1KY`{kdoLq*;M+0Zu-|A(gX5$&rH){spy-pfs z3{t(IU5k)q=W*l7oM6o=V;h=*OPG+l>_TUHD+Q^GY8oizV6rw;JxHMytXIXX7T}b z?HE+YH>Q_?=q{&5+p#}Fe+|`N2p|3Ug1}yl9+1c4i zz$dnr=X>jW(oTYZN2)Q${j?A=ZvvH9&o*!G5A8Xf{xU*g1(AZ-iUQly{Z)Tobmj&W ze%#{-@I$MjCBt!h)qJ5HHZnfPb=xD!HMi|AUUa$gQQOJph(?FAW%v3g;)y?))tI}7 zOB&jwv8z?8j1gYd{Z}>w?Nnp=cWNycm<}f(V`25L`MpHPvuH34e|2)IZkrj(|D0I) zbr6?Tw?Was*%@-${=)pZ4k~*#{}*`q7Z2aO&+pJl4bS?8`SAP-lda&A0t*?rW46qo ziLPazV+oq)(rp$hWco8?dP_7mSL&AQHU>bUg3)A7@4^RQHU|KNfzn6>?I%*+yt!FZ zFj;9*sPcKxxYtjfhz}{}hq47pXunH5mLN#Tc?Ug#T`y#QUUNHw%jvJIhgV`>saDNd zHS5RR5{D?5$>|U{GhBhT;Gw;l(*Hqg^A1mtB)?aHmHEr&-pUv^@ z(m7 z-uc8OajMjqec4`GZ1eGoW6_Yu!(f=UibO8y1%E~O0hhcFn| zk?C?gv;BJn0gKi4AD!rlBqOb=k%p(ggKN`#f|CiBW^ zt{OxwiOABanFQtcZ*rxhdnnwOvlq!2C{!w)*kNelC+C*XPoud^q@n8)eKAE95E?UB z-F(y%dAgh`mODP1R#EsphJC7cGJb9>6LE7?Y1FOyfkxuyciIWkraWMy(ZJV}9J*(x zJNkfe+!zHbXbT_izU3sT!){%TL-!2{fAJE}XVhYA=<>(LtK^jU?MJyzy}rRAslUH_ zF%mabZS9DB@_7hu2(+$H3CkgZ!VcggEG6oJB6Xi7KE4iKvg?Lc8}fFFir>ljJ>Qwp zy+4@6kcJZFc+(%7QC(rP#;AA^F&|^;O`yka&xbi?9499yZ=rqOP=hUYcXjbrZ3jae z%vg*j%5*foz|>BT`H(=x0vS2EsKq%PXqWfYpQ}3cdZ~EX>;VcMv(hHYsh-OTW}i7d z_urS${eq5GG}Grgnf?P?kxF3r{gyZJFe+a{5Ln zsV8)FT>I_ZsH5>WJ5>Akp|b9zFwpCIso19NZinpn-kqgNFXsb__tVv!l^^PGx!z0e z5FfKu8)?bi2Cs7L=FW$e$bll0|vnTMD@@~he~?Mv=zDnqteSIg+Y5| zO2D6uJm>UWRhLXj)1noLiFdcY8ks*o$6WKAON*Vn0=?>;rvY#8s~JpazDJ>2q^Lhb zCdGO&b`OnRo~*slhZC+O#eLR0{8^8qOuN94omBf`7f8}dvk4Bg=Si5y((<>JpW8av ze(eO}`}PEkhw2n#Qwhgsw>&%#ZKm&gK6;xW=%`z_KnD9C{wqF*s*QYc{`N2SZ3xEX z0ks{Zmq;gGDw?KLo6paOZKCDw>417Plsj~Xi4^^nP6fqQRDkI94~kt~hO;`de&kv3 z7|=3UA|8q;jc&)3N&!iPHch`OxBfDp%*MkmsTdpQSm7a# zu=EN6h~yG+urdhkn)oKPt&tr9?b}!4H~KciT4s@!*a5I+i3B^*yBl15*0X=+2r-W) z$~CLFKY!D7)9n{gepK$ji|};QY+POCvbi{lnh(6e1<3CRZ=aD@Wi3U}er^_Bwq-bi zOeo8r*|#AvZVK41mga9^`HWtH{w;uE^Y$+7?(;m`&*S7QokfJI?eQIi+6TAm3bKMf zwzK6tMuO4&%y1BEgOo?;-#r$Ew@O;2vn>01VYr+ufArC>JD@dEy@Uy&=iuqD{!Y*^((z zuEiwH{bHB@=Da?Tm;@?F-rLQUl4Q-ErN4O`!-4neuXIjGNqM5=HPpH}TEK()5;rtJ z%h%77O5{+^AF@4YXK7fHkD(MT_+PZWRZv`8)GoS1AZYL)0YY#O8eD=q1b3I4@lUw<~`wtCrcm4Pa<- zzsy&T2{+-sFk7$vfSmVY)_`6q&1RA1ZxII9!}*r#m75o3_IeE+!m0Ag_&_U~kh4xi z^N4D`jN>_w(P3*zhCcBrh6;`L>jQusgXQg7 zUIaY#^~>O;Fh^mbny%+te=5nF$5Z<5Xj$8f<9|Mp?aWmU1-6w%B|Bbpz!GlM&T0#~ zyF(5rSKE4!HWvq(*Po=g2ES0kU-i!tfpgd|uvGNcM{z};Wcyrt}SGkG*4G7^F zt!m@iNFvrdUXYE|_~&_&!-b`-o1+KD_Z!`PSjH;vq(!J>)bwypg>EZutZ&)38ZV}p z6+sl99FW6Dr$cJ`F&HnKi~Fh^KykAl?SIJR45<()$_qzJ$u+6NuOHHD9r zdSh@Ocf_mDdw*lM7v1=dgyq8B&6k?D;UrB3UN=>i7iwpx3bPpVO z*iwr;g?|>i7crkQ7sUc_bZRzf%i!}q6<>ts-fiSaxQ&r{dyI;Uix4;mNsZesXetC}Zv+OpSKFp$VW1l!t$!-4>EV&;t8$9}Ri5 z%{|}_xv(a8z`s%AaUV?vnT{VJ=X*-Bi@En=w13%o^NrA5)nqMl*Dn)(t-P!|+uzRA z8+D}gZ6`eWv@Rg4U2v1h>m;X^7)68C7>K1-CpCFlgQ@-5&JO~_eAHH(ffC(%I3t`M zhLa8yvOFa2T!&FbiIC>J0skqPlm2MwzVsrt73ipyq|6s#ISgo+$(!Ci=a_2c^hDSs z4#$D=BEO-Os@DR9sxQ5yUJkOl4oBhf{jUGEnr?4zZ{gj(6s-TUrSG@wb{5M8#YSx4 z)MNv8p6y7{FLGHS(R3WPxc zd1pVQ$rBk5=L?xuJ>AED=F1Q$ z?IxBHid=p2TQcmMTw$yka@rf?T?9+1V%03zo&1RudHFRb;U`f8>&v}N_skn%CT zL8V_~9;|3Q{-QhVe&N1K|EdZym^@!u$Kk#FWM8HMzb%0!$XLy#gm&DlT!?*Z{%Drf zD7Z;&eca+w$bJ>*2!7U3-I_FsjN}c~-~M@ZN;mhCU5b*$5x$^?3}osc6Vn^@+bs~e zUkKmSn@0lQBw&6491hXE>N^*e{IP-@iY1?Y#zYr3()3|#YtqNr5WLpzm)LEF;7OE! zHZaaG_u!RIro;%#O;#Gfk|Ers%VC;SGV6=&Vm2pM2I0bcL*4rmmb4Y7Y>BdIXnT8Y zuKN>;02;I@M5iXl&HW@`MF*lnb z+?%j0FDo?6KbY3|L>b>_-VoPK93`(TKV@}Cgap|jlvcH95L3>a5hW*yGFxRls|w>r zf;6&-vO6 zsC`(_7NxX;iD#CZi0y@SwJkS|G2G7Q)I6UbcuFtY?fC9=CAl9=e5iHuLWy2OPy<9t zKz8_-OEaQY3sy2?QNwq;w31E8jD(nbLjcp_$7z@rPpeimV&3}~PcY=OmDug_tdMlU zmKav)($!>MGRj~|h5O4(a<;g`RLgkNwcr8H%P%~=c?Qpve7!OhnX9cmsKw6rDBKxO z!>^a=uO<#Q%~hS3>N`y2N04!p6fEaD?7FUnT62prX`~73Qne*4gPL(IOCxLbY6(dGi}+{AM*#>tiL;hBMn!f4GRv9?xS@ zkN227YJm_FoZDT4{X#lI!fU^jukR>N;qhzv87Mku=4+!u6TJ^26uAuu3X-3(Q!l&w zvD-;WkwQ8Ue?OGYr^82lYaKjR}ZV zc7Umf6MBJjzqkiCWT3Og&NJwrATLO}eK_H3QPa0BY}>o^t~&rpkR!lv-AHvA0+|Hn z6fhn1K!CnT!ZLq5W+QMvBX{X{x$G~FDhL%$Xe6wek`r3v~%9kX#66P?q)fumoN$wP&$<5q1ab=K6t((W^*S zrc4`>P`)who}7;x$Ef2cjLqoBW0)`i^gtS`2ijbE3+xEJ$p0Mn&xN}f-p}ovyXFPV zynnvk`$fMIt5kOPb9~qUPGI1I+1J1mlIcXgU&dIIS^85-v@>d#Q7@Y)eZL6pojHs2 z=AAB5Di4<41EuIgE9F)4#s(t6-U1W55cVwQjxnQE*0n0_9$v{!HNHf9WF+kUF#$50{0MhlrFn5c6{HqU@>-2 zE7%su7m!|(U3L2pG+l4X-%F@(6KNF{mDcwD=x=|o$_gDh>c?e+E8fo5mgM)9R0gC9JXso3<)8jWp7Po2-Wr2&+@M04xnGy_~*m=|UH*m=TG{5hF7 z`U<)v^_uwMqcfV^AqEpk1nTKm?gt^f=U_a=)1ZjO>(S5ejzgR`F46SVPw_BM8YUxF z4TA^tnLC&%4(^kdylBPZ0|J5e-^+Tk<1hOZ8q@h@Z`KcA4scWaw-rA_!DKe8&>vmy z#{pM{78<;0qaRZPam=~heVu;5h0LBc1bHq#l--A`!1Z>WG(>9(dL=;|!y$un zJ+c0U!coi25mXb*@zp~L=%Y)&(P^)ojl2j@J?8WguNxZ2*go0yNUxebg#BtYr3R1U z<4Il%MW5Y@=w527ZXqVOi(Q#o4NQ)5RSqZ$ykJ;-V_AUuklrXn|q=pYx>iqaYEy zT_}%Tg>^pI)Ps}}t-laUwMxiv9D2_elhjHl1fGPPm~(KE!;bin=57+DucNGF6~jL# zq`v^z)+fYYkN&9Ait!}=whX4wAG2ewoX6Le|BsqzIC(Rs8G=DIz-mT-{?gpP-DFNw z-2d7y{#{|@|J6|Of1lI%KVunu1b+Rm*gqXkky5cAV4c`}zQtZkb2}NI-5DYYujv6Y zLw@&1Q|z1j;K9sL9mY9m{)C2I4F&o_z4HxWlgYf=R^>BN?#i(LF3D=LScMe8Uehcy z=d^)#2YqRM9VNp=&Sj{f3y|8E4Op*t-j3(=gC7vMM7}&ZojZ%6$YDo zKk2_IIvacSE7yQvL)^jb!FahMMJi|*7`^u2?-H1d5TM?_ziwep zHyspcHrm3}0(fwQZS!&6 z;@Yv+=boTI=)W|8q_MrUekDl5s!>?S?ir9r=omKohi*@+R6DV1Zr3dqb@ug%iVWHQ ziAi|7>B`3@ZU7dL!QntLCnx7Ecn5$YX6q5cOy(*gt71-9+X(YzQUw58%g=hNidH4S zpY`XB^L#x>2kuoL_l;H0QohnBkXG5o!L+9w#M!3y#nqp82SB{%s(0O_l3AsJ#>RL! zDbw@SV_@6p=BVCgt^Hl?%J?~uK`Ipfg~uAese#PRlBx!|y;mUeFoF4(mER)b?cqdj zHK!-Q6HI#mzeWLIjG#9v!^XV5Kb=H0Oi_6QfUan0SSVcY0n>w6B(a#REC5g<@jh7x zDvPRIXP0=4N=e$6E9M3mlRL{_*40I{j@E; zH|cxvc$pU0-Q#1ioyW~Q`7_+?Vr-;#TqvDLvZJEt4n!uM_q{Cdy-!li5VuW^&toOs zg1KP*st4Cw(^ragG9>>YnblHYwrm-{4%Tg~52DxgAs{TQcOrN2s&*b80ipYHl&}1x zPnK6L6u3_gG%^+r0g9`(sw4 zq)mdm5A6@8ry7}wD3>{j-D5%fj)G*wsqYt(G}7QPPjDgkEe zs@j{Y%$BJB*VpC)WiVT&b$499S_7NTcGCLz4O|Moi}1YPwvk|&{Qi|{zo3q^&_5HP z-^g-4z6nLg0PetH#h@>29UvFp%vY|zkw0IBpkv%P13k?5cbA0HW1334c}7VnmJb>z zguI&YJ}GOwKoZ*+C;l@KS@-FChqZk33mTa=uq;`D33}A@C+&f0_JM2OFMzoJXc@1Z zlgRyVGlqCC?pu=0c6S)ur0WIgBpBx{L1ga?$Hi?Y@s9*_US3`iI6>5$qgL5r%j)Gq zqCbj^!E8!w35e@*Z3-_K;RhP&m{CY6AMfHjF3ys0{hlDI^MMbvx2A$tEpI6vakdf4_suO``?z71!X8;NJqkZ9XE9ZP=7)rvQcA}Z{>J?i z2maivLQ>5KsLLJ&S)N=G4Fs?5Zo#{Q;&Me-^%|41?ri?WIushY5qD8h(2$9O1=|+D zCmwJO1{sOiy1h0iXqV8}DXgeq4Xz$MaQhKZxuq(&z1gJR_?>Nekx0NHKv2oUn99vp zZV>+A ztYM2olfqtBqLiat%60a5n$O^Jfob`;`!56W3gCs*jDxU+de2#sVydbMHx=~x zLOri9w|qk>9Fly-)#%Pn%MRE8Ka>L>#B%+WtVUv{SVdMXC=vO65SqFs74M42BLS^O zomA>!ak(Sqcsnc~OgoS#bVXw87rlL_yThR>g2{r34`_Gf_7?#zu{Hk_iEK}>o8Ilo zvbx$+8K_d9{`iemum>=6Mc;xP-{`n50h_#|$9s9zl3B^%Og_O1@*emYjT5X^i&~E^|9_%6>%x7U1VeX!o zV@6DctL=Q$Ex3_4_Csg*+EMuM_~v*qHr>P8y5e9h6qi}~7^FH)FdZ4GV)eQijwzME zfc9n_F#?QlpT56K=#1HaV=p=VR?}T}aHl=yd3(b>KfUE_8TDKNHb9kFG??a=8(owY zbEV>yJP{+4ca9%msJNhM+0+X$(9snseC2#hYIUj%3lIJ>oYKBuk>zF^47mOLT0Iod zd@E};a9G*bRKRKQ9EQs*5{q%W`xj^MZ-JetL$?g7=+`^9VRPx!hdc=qz#>Hx|&thDC&j`#OCQdjQ8P zpy!~?mwC>6dAu`Jha7kK)6i`LT*yLHUU}_9iGoi~&QoUjpU*Nn6>H$y;okzmD4Ocy zK=g1Hu$dnMvigakiuV=3F?!ve!(jb^FvI?Gt+CE(7*h|>qj9SD->tD~oTc!;>wr(J zY5H8oyVZQ!s*vTsIIKM2<)xpBB^QK-fEq-_jA>o049?*c$J7oh@r8LeXxtMNtELI7 zx}qt{IC_!&n*#H)CdaO&#bBmHE&G|Tyu4q+YC*{=vpqL1uwTacY2!d#@GfASblz&EC&Gu%|De=WWOfAmApffIH0ppE2>1?Yx> zQ65d>nSMWriwOffxyoISpqB3+0g_R1M!VAlx9%)cOvl0Pr?ZV)t=Y@N=f|H7kN4wM zX+>Wa>YmQ~2qjcws1%eNaT=hW_o;$RV_6XG)C)$_`O0bcLqC6?n#ID$)Tp_V6B9=KevzeME%CV@yQ~c0Mry&3wtbM2sL!Ikd zc8t}Sv&j%%MH1ecuilMmpi!?0Xq_?Z&;N8Euj4UHEcJ2D@tfvftvNZ-b@X!0$~`yL z%-jUaG^4Y-&E+>PO{Crg*D)5d#CH-i8%g3nT{kxNs0iCREd#Vt%}SwZ=k!XWkomU+IS#jvVe;7Rirg}gC55JyY zSF`f%Z+(;17rCKiHf&%=^}2AV^NlV7s++>6AEt7730cCa`a@{$lxdtso&l>kK_l=@ zh|Vs{Sue7w4l?QuE$P&z=MR( zK9(DqAM^>N6wPm%=`?i$$0bll0M!}R(`cvc`H-T!xIu}@wPru7m-s(Rfy4{9Z>)Qb zR{xN|>D_fz-g5I92oa2J$jZF~NDd_|`}Z;TD-L$^%e1!mDU&$Wki%P^8cIrz?Ntrmrn$MTn zdJ(WY3TT=tz`&QzVE*-iiV5c0x_#b+i~B^}9Y|nGD0`%bL>(I@oCNHN=E1d5R zUwAd+9_;`FUD^?=QWO5=2;@*-GIhx}alT!?WpF%VZ$_jjkkj3Q_T|WyX1AqS>pWzX z2;l032n9x21zU*ttQm5O{Gd`9@tFFAAQXq;JF4Tkt$9+TuCRB(E`x6m?SIC>)DE9^ zLn+tkkszmjuf_`T(<5TrVPROxi_WK@$m>M_V9viJVJAMD)xn+ytF=Nl<>>3gS72*O zc0Yx2(yCPng(@~U%-$qLQRz0gvooTHLC&k-Itn8H5<4Y@cSB9O9MNAg7I8QscNI{& zEvC|agBztFH{vk9z<78N=z%3Vb~TvlR#VN0%@x&C;4Pz_jV`!GCJZ!vJ@$z>;61y@ zI4L~lF?LFfBDCzmds$CqupdfJVB5Vfxy}E&g%R>_HYSKdRs5OcTZ4H=4uk$w1mM#C z9!#IFhqg^B$BdbEqx}k6GqI%zFV^A`YeaZ@D7It#k^WN#-;f3N*Q_m!xqXD0L<}=j z(0pt=gh7#jZs7XR-!R~7Q*?zUmGSX?&uoF*vZV@!NH(B239((Z-kKZ#c?tGVsY5H8sZ<=0~ZgRPFZ zrMlwI-)N$9yoow)0tu-I56{@7M?$vH{;56y>sENvDPD(fWF7ki@m%_2Wgp_)8Kxt1 zNwW8?ONQE$ey_>^WyC=DS5!7E-^*QeE34<IIQ{k)kQt0#ci_AUkf>&~LrI6tzxDt7I0_EKZ~km|7up?z^c@)Eymv z;YTuL_gcZ{0~-U_;d4QVO(zUxj>XEQSKq@LPg@^j2QL=5|8hr_sBB&q?8TGz1?${!vb7rJV8EWYcnb84(vH4NX_ z1m7hwlDp#3&ocfUeeA>KUU9TSC|$)|l)BuX99jG(NMZYy=1_d2?`Ikk5~6tfjUsw6 zS@(##M0Uk|=V2(jbPSO{Ra=N+e5bJ;u}3&WhXiWPoRv1Gdn1*I2as&ZUL|8?mqR)t z>vpk1&@X^;y@)}ltbKi%Z8ar`N`c$}h-oU!GN_SHZS8c{}9Uv1p1 zKj34{hi0hKpKrq3p;Ru>SiE>Dg*?jfUhKj*YHuODGq^P&#A)bw33PKbFLA|@j4y)7 zU0Uys+y5rM-P{>U%w94~n2}EA9Srb3LX!Et$-q@wRt~xFq_%|}{SNf@*NNwSxT_1e z?x@vAl&bgEPOM2lc}zhlkD9DAF8il@)1=mY^P@QjgHA{S{~_b0Axd8AtPwl+!%|i1 zXDcQ`&nG_cgr=#I4AArq{KeBL=nRA`wOY*E*0#}%(fJ63SwRC9%Jxp*(_c05xXgJp zh^)dCt0ntlN0&X{F*8mfmvwPzfw=p61Ppv781K`(^{#Qe!U!-oadsR!eP)$bj%uTq zYKjH@J>>c-G+$0%wUuXaxScCnzrTu!-N{LZ7>oWsjy;|!h{x8!&s++^NhN3diIa4y zXW;U9Jdf+OXswqSn-VPypIyVCg?a35o~x#5yXBo~>PQ;8D$tt$d#exF1_3!wUye8i z^8)>0x*ZHM?xgno?Q z4&n0dIn(+dP_a@)usjFQX|(>N4`j^ZV=!hikXE2Qmkz5jww1>vVNBR0UKEf#2f(G+ z3PU&n?QDyACh7-x9sACHm9lnwsT6kc+`$UNOU)4GVHU>Tb8H=Uk3?j>BZDt}BVIJ$ zh-wNH_83~L^;))bD&KsR7{~cjf1zeC`CuN?c*5w;ULRK}4%{(!X$`*EZ4VgL4kxhm z#kT^P9{34tt+amMhynfJPx_E`k23w3Ss*)OiX((okcRnk6z$y%{pBXy13A5F#SiR} z`r?t#TEA6cx$7+rQAIETL@o{eHw2ktbb`RoGUO8b=stWmPpk5{LVCQ`-!jOi)D8hL z38)@3xjqbf?Hjb54JVdJB5<`1v$Bl^S+x2OOIGUF8#Yvoc}dYUHexhdE$368hR_=N z#E>5002G*(1G4F-9S|Xx1S#K1ddeLTi>oNwW71~9Tw>?Q{c9*;UH)-f=n9al7X6Ir z1)(3tpU_wg-YldxS9A@tO3ayW`iu)vw*f?!uKlsbHlxsx5gr=#i1J9W&YGnllEe>2iX z1C^b&?-Nnjy^>X$qbYjvnKZX`= zE9~=+Kd!O2-SjtkI!>VR&F-P16Z%{e1dW7xubn2>ehWVe>=l({>tdyuA24yIJ!r!U zWT?ZVFfxv)wPY`+cuk9DXaxWEKru^M2vhMB?N}ggL1VNccZI=ouxb&lU*?&dLas8< z@GFu@bH%xSWo}jR)UgYWZ)Z@2SguBi2Le^p_!Mm~ef5aK?S+&5l;skPyt3j^ zo(^j}#sW#kC$a~);m{0r^j4}ZQ8lNH<#XfNp3MBS!^yF9j?KVa8sxwfp;z*q&_lnU z4~xmcWd+#o#r|J6=I0ZhEu2Mu6}H2Nv^Q{EGSoO&W68;=#`CYYFj~zx+dFYO^&n;@ zF(_q0{t?q|#aT@dRVii>sds#+t*N`S_M@C-InOj1VsJ>&A`&}<6meE2em&ei3?J+3 z(_et2xVDk}DkAOn#nLP>YWFx$BLfh0#W6#q;|@UB+Jdf(3wR8z49Tn)=I4qx7OI1tLrm}|Kf%NAo}@4 zXv6%`%G>MpNc}XlK2*y+oy5Uaay8E&z8mJ!!j{v$Tex8~=qvE@^?ZsDOxAjM2Tgs))8oDx_q8O}z(x-o1f_?7Ct75z_ zi8*hF>e=z2Wy8YRf}RYM?F@XgF&2} zOi`cvCSpiRn7m*yM2b6+7~e|$gK|)RlILXNHJ)#2EwbB74V7I&5a~g$-}@k>;9{Qj zt%SyQ^^=<4cu`1pWKKDeeRD-z%LxESQ=G7cTjh}JPRH<@rSlua6S4NNWDeA~&Jfv6 z>G-*O3iqV-s8)|o5u1MZ%&PBKx8k43yH_nfMQ1K;lL*efhf-$4^0YT6jKZzm zQAEmG2_A=b;f&%-4;n?my`SY&OZr>qAD_2Zs;@nGyQsd~!3`Tqf-DnsQ5xH(&@k$+03S-vHmU`{%c?rljP z9~Y4($UW3Te5#7hs_S);FD=@cAB<-1NJx2@j61k&fkuz##cS7VU=nYAx0}lic^GGLwa=5lY&-yjozu~y9#DhBE zHrvbyCFPp-4Z9ptzr27ZE-P|$!B$D$k#j&jB~-BKq_~Ah=RGv@$kP2SA)xlLjn&5j!At}b=w3|l>}14&>6l+L(Li)?a|&Oy2P%h?qV-;^(N%@nu7ZTR${0V*O?Cv z1mQ4pApIY+tZ>EHzyFa5qBY$Folq&>4x3%`8k*zDbZ4$gS1BI;EO4s&UJ#RO5b4U@ zD+0+gc!a-9UX#d%Y|ba&d$pApZrbfbqu=hOe?%rDo@ZHDSL&6UrGydJxC(FV^iYhm zz(}3UuG||Woeb~^Bg0)>(TNjQZ1#~(z59-r+!Nb7za{5=wFP}F(@%OWzp@(Q*wPiD zUk0H9hSf;{E|olwTf+^CscyTb+3S;KicOdHQO#Wo`6g>{Bp>?ePfV;6md2W;MFLAJ zNP#X#R4bTTq^$*4+}J@T$hE6YkF>XCM?|&XPmrNT5*4EKQ7xw2l4kJ z8=5y3zAOq2JeV4MjH<@5Xn^hnCRU=Ma3I9Us@2~Bm&%0PX3W41*N zv3LF~pB-?6=UlaA*4Ku*H&aoDTI<=^3jOO1_G_>iErNryN+lSY5<3^~<0wl#Ckk)^ z0^D$qyJ3m6dN;;(RfcMPhkBv$8TZvz$=@@UNd`=lWeLD>hVFSk|3Pzh$T*3YeSK&(80Q>|S&fFD(`H>(Cv+!c}!U04P;#$<& zKTSd)?xu;DtHR)%t>9@lm0{TJZfRy`BslgwkDoUf_fbgIT!AI^`CLuY0fKkayVbf5 z$8bcK*2F1oIjejWHEfYMs3s0J7epUPgvpENTL?)mzZkZ5E{vCEm9*3tjNdU` z+|g5<)ph1_9=@nGqMPYXJY0e8&=S@Ea%ejuW)IqnHyy7f)qCtqzNUv)t>GCb^=VlH z49L_CSdhSXrSGM%u2{OuU)h6CZU0ob(&-PYoqrT@QhFI=Jk7O&J0AoZ%`mGzQI`u6 zC%!bJUJ&{fC$rQ}vKL|V(0 zB%_wRdv|X(of*C>eaxo`^b)dUZ$%Kt$iMJ-V{Lz8@+?(lQT*AD^_vw9?HxLCD^v?W zWgTz{(p)I*h5YgW?5f2MnENQacNszSLu@i{)V~)=75wED_sDpV=Oan?N{&@rPYW0o z^Go15hC}4#%s(|HW&z~Vir>-=KHtcS*r%kzyK%ys8!&IiCRdUY--wQ;h+)6p;Fs{k zcym0Oeb&d8>7EdLa0j`Zq}A2udv zCh9ng>N+=njYgDY(&r5j;bb)!SJ|oC_J4E}H5Ngc2zW6A#RU%3F)YZ3IZ(~{f}V1= zAqIWOfH0v7!N_q-41H%bz5JBu?UBFfCm%B4UG@^%3`|W5I6egO9?H6dS3d7?Jw2ulPEC@MgrOJNFZ^y$1V-o0Yd9 zuy0>vfYR$NH#zM}m=K);mfcjIq^a0S8}2DL7aVg{pt;`@p5N|Dn8?#P%Sio@P|E-x zRxvqJ?;e>i=SFqS|3hd5-KH6Rfx2P;1|x|jJg zqlWvU3p^3QmiHfZSXpeh3M?W~8eZC7!S8_aY*VwUY7l2eZFd_|pj&3?4I{{Rm{Qr( zc-v1p82_DmI?eYs!1TVm?N!}V{eHDcvuC>aHOtusB?a;pPw5POj}`kC-S@9RZHeUn zd&cR15cu0a{r`-m-GUJW-W}$LUW@J?kX|_ZHh2|omg~P<*594zZ^q@$Q1Aat&A`uI zu>YGWtN)uTxThWJVxTtT0Bnao+7F+FFC$ee1T^>nNjZ@-^h)a40dc8z+;G>~&I2dg z*$LAZ!Yb`u?(%6!F)&coqAn7Jp)tR$^+bdS4y|jY8)7t+UaKi^P1h)Jg7>x{4TaX? z3I0gQzdn6N?9B>ol>rKZmA$J4)hn|Nl+`x*2zPe)er(!@I=nzJsU6UtI(PQk`k7BQ zeyyOXzefc16y$223ix!rj3T?;xjnsK*PvR5i5bl{XlZp}r`boVP%3n9NRdv_p>)7} zZ|_Hmq=~viWP-b8@VrOhQ&F}uGunAA`=Ab)$fs}>LhcMHzjm;SXm#aIJIW;BGbGo) za!_8--P5={%hZx|)^eVhk%X^!Mail*#q~wX439oB}CfzBijA_pUa;mIlnDfH5Y|V)ye&9g7oI!&t%iwuGnny(N zrU3iImh|2$V)d@0tq27IvC6_OWVxNSEw!PB$D5e`9Di2&`Jc9`q>Q$ehKMo`6e#su zk@ACwCe4UeHU!xl7wShQ&C{u)B=22|x|aG`^>%TMsxr^2QRfnQ4cm4u{OmlQaMoIg zp1AmrD>wQqot%4ao^ep8z6DpxLDSeS5du{LKoDUKI||HEpJj@l;RKB(qF!G zdsz$GO=rQ+B>xc%kRG!=_*cwq+J-iZxU$Dmgd*VnZgAX0%GruI&PsMf`PV*tGTL{? zB69(qx98*nez$z<_QX$R*Fj(`7Mk{e4Q-!f#{d{`nsbsA#9zH}ojPQFu?x)cmHuzA zZ@H33mbc(qDG!_*q((}|bj`aW?frP83&RuGVUVb2IFTekjpKc=W1iY9nhfjFXK4Ck z?&q3ILzjdZJg<3!&NU~ZFQ-TeNz=7i%c|~oLJScVNU|~kz`Pb@k$jJqbL#*;01;7H zm;W5qrX7TaSj}lX*XPls5PhrP^^_REYp50b2?WiDA83UZDp#Gw2D!3|+!jE%@!&>c zu2XHJq4vofwOdB*)pLBl+Nap8+*!t%0*}k!PX4Ob`e)*Hh`-Hresa}(z*cA}E$puG z`CPGIVOuTZsw^Nn3lzIBJj)63 zG=gau_{r1Uql5u6e@HHVP{#xtHpz_kO32OfPxDogM{)6*Xb-3H%fUwrXDIcNAfbwS zm_S05UYcS{4E=@Ko3x?K7S1lp=A2L-M%TdB38fIG=?Tp5?$mXS)8AN@OwtcxpN9Pm z99Nrd2G>Jz*pE>;Z%#w@8ZoYT-ZncT8X3Bsmt{N>F}Ir>!muvmW4EC?=p3_Gu=nEJ zIl&0bN+!V?C^wRMRJk`2=o%k2{XIG?|7%MF%9Hoez`zkVqlE0O z@b_`qTn!rh)q~8v?`E{bRiWYxmOIa5kv3+btq#+^w1BxSgm z!!1nB2;F}=6cRZ3Rfz7TP47fwtwMZy7MZ|Wh9^+`XqdyyK}Mk6`eLokEuvmqwWSg~ zGcLDUyR90u&_(qJ4JUtEl5oaIT%j@TR(^W{yu=cM;AEJ5-FH@~p86r4-z>@z|4`u& z?w;+)PcD0@Vy|hDJd~SIwz`QYCtvlln9g73!m3jCpkHw2GEY5~Y(k-=kCb3$!MU#M zX>7MPa!;GjeC5fkzGI9ra(>ZUJFEzte|Y?8n3VQHB{MK4J(105;NTU9MGsx;wjz^! z%T4?RPT7*kWtQnyxDoN#E~l%CE>uP^O-Qv?{=w;O>--yrq4y`55i7?Fl;! zkCXUkuKo^G{S<8ojKrfY6k7la0Akp}Ko9C=!4C%0MA9ZMu$wR6)Ck9jMv?jRe^_dn zLB+l3$RfFRxDM@A(r+}rlTD=cj+V}E$rT)PPJ9wV)z~OnO<{P@GeHoXhLZaPmtXf zYu1R9j2?!sA+)`qnGcuOK`OcVkM+WRwiTv%%{`PviO5FYu3MqfzD+&0|2Wem5QmN@ z57J^uXHc%5xtEelauBX9Ta8aA_F`*n{OF;F`q0vMWo|TQC-!1r@_mABr29k5u#*St z(lzqfcOp#wmm1sruQtKW7~xtL>0ptJ>=pq^1(eXDmp^midHXc~K8jpnzAjxeaCz_# zNBkCx23ooO@Fjt}?}zdDhnu&Li8Nbih)5+&T zaMnE!IINtZz}J-#udElS33Ki2LX#=G7qiusQLKcbwY#TC3{*tGC{}#nZ@zPbIErBG z!>cy0^ypp3CRM28Wc%ol@2k4~eQ3We#?N}8fi!2@8ITjhEau7DukB<_LNEkOdHC>x zZ}TihTwkt^op+CMiudRkpni(OzXr3n@R{f4P?QMQlpczEj5pDA7MW)S-lw643V~}s zl}1;n9`K#kGB-8$8?8Ao`5R&-K&jL5)`_}vvG`L&rzW!zg> zJ0!}Z$!&#&nJ%QApxJ?Q02LEx2$y$Zy-u1Q`l6^g!X1<3Flf2DJ)3eEEbiT|wL*1g4ZHND}7SAfKIjQ(WG?sN)^jXeJcm&pGpIngOZb!ke zU5kWt%~!o+jL{5<>+i6^8BfO3c^cBZgea?_Nej%&wkCL4DS@`3YpCX~@*XQuxl7FK zIkB%W&vt)My}c=v_Sar^VKa=TA&OOp(6fbx!}Zc`gQNsNODlK1<0;zU5Sutf5-_S< zx6gjzztRw-_R2vPZ&}sePX!_uz?)UvPJndwh?GJSI=t^E+zNbe`&2Voz#pL-7M^G>!7urXTAJeP9JUlND%!R zV}+d*v)tTo{P*^*FCcsR7kGWU170GDmUan*uK{7$bONf(51={_qb- zzr#z-*+CZ%x|xX5YazS`QozQTVUFiBjriNsS0f@RDx^Dlz9-64*j#&3K~`Obov6Lf zY*?0WbM9kShT7u}ad+BuP`(-a2gr9qMC0(je@e4=!d7hKfAH-rdfEN5SV&Hc308JO zb0g-WBkN08=ZHLHRU2!FtS@TKo%Ve7-(9Q~!o!dOKVQ^qL_*w=SqW!6umPWpWyWC` zQ&=ZiYnA*ek&d_kwI`RvLsnFBD97pXC6dP!-+!&?5rW-mStweLpZoK;anW%Xn3wZh zn0jfUf@Uat?_@3Y5NDQgu6Tp>fh2>VO*F&GfnL=k6gJlLYs1 zq1rjU`EYShlvd56d@Iu6Oje-t;jOvAgX0hm6C8+kJ}gHuIEiJhs(uD7aXs(*)W-o# z8kWSvh^2b*(GJSKtLR=sdDy|il*KGJQiJ{GuSgCKiq<9?SwPN3H^>t8cn5D=EnqCd%3HDvkD5ow2t)77sRqeP_rbyF++0NYq-3kc_~`* zm)O>{K6Xf#6ceDW88~2z$<}^iTiN?!vfI(ZBYscDHCW95bgCTO?8);8QoXjq_WR)` zr#4YqPI6m@nXtUw&4u*x>3X#BH}GP#AxZ)@8Scdfx9LB>5qn&7a-iC;1ej#_w=98> z@6y7za;0727?Fw#pUV|#h~2m-q0!@Mds$aJJ@ob#U)6KkIr@w1is3u8r#18o@Z=1a zOw+|5+s0W2#mEEb(MLe%iWoTofU_qOgF2vwm!aIwkxGufOL;{ z`*nGGWBJVO$2v+Qb<0g&a3-Vo~oE1s$ z$?lTsk3U(8<*|ZRa6IC#rqiGd%IRzUTCU7l|EVUwspIOHzg>YtN?=D{zCN|89ew@u z^S|58*}}&K=L_=9_)9*CjT5r6F-cydiuBU*NGfdoyRMS`Xe1EG+eYq^(d~d#Dvcd} z(s;BF(wccj6X!SQi&4pE~#{pc~~L% zlW7-c&~d~zeN8Uwj!`|0hg7?JkTyJjQ%~jsn22+)i&j3Ak5s35n|jp#LX{6wr(02D z+^#ia_e;Ly1o8GdAbFKD>V=?vn;|z7btYO{uT;%Q*AWKe5(Z|}IFmuDG6M(pc<`-m z`Tw>zCghKlZ<}{G3*C`^UD-afZY{uLguaY3%CotcQcL(G9vSaTpUOqKUME+F!MWY))T?9J>6 zcwoZCq6hJCXBt2bQGSkxRMA&6u=qz7FTHUB#a8;)1)V)N90pj92cmBvpI5Wtr=8NSQY-X*@qpoRjrIW3GM@H6Uf)87H9)X0V zm<%84sONY5HScF3J$-2w6l>k);%pa15R_IkS$+U$ zLy;n15b;zPd;xTMb)_mNm^zAsqMa-XkbXIa(Ij5~KeWANSQhQuuWbNQ(h|}j9fEXA zcXyXahjeq(-AH$bbhos0gLHRy!+WCl|9RH4y=#3~AJ(?@JXuXF5zn_YqB1WdV}Nnttke^H^wc{%IC9 z)Ikf=JBQ6DX@J4WD7s#+UqZkwHQT4Eu#!>@<#f9#wZ)B8Na7Z{+!foHqBX?&hXOUE zsG7RVTCu@x>QF$NC#sn-`Uew(Big{=t+gciTMR?A3om6+7ja|9M$W!9?!djg)%vYG zJ&L^>uUP4`>L*cUyJp)yY?Z>JQmYI%TB_|!3RZ*Dby2mR-Pgcas_rH^q)?>v7EDHU z0|v-XuB-X1(hHpZjo$I`{eu6IXCoc96h-rSl>t;MBdxcFD-8tjS($zW*`OilV#KGY z4Z1moCr7PQX-bc^|A7hK--bW(J6{9|2>7gx#>B+%JV&*XS-~+h_hkE_#`&P@`*r zYU`Z!&Y1S~o#h@5EMat}VDM^5<8J;F=;iPk8D%sVO0*6A^Kjeu;1ludS1K5Xb=sb( z^l#~A5EZ#b_J(@PceLmx5Cex7{D;s(I1RSdo%6xA)vW(lWR}%#4Ar9q3r0ppsBE*d z-Tlp0TAlRk2*`9q=;7vJN4&yld zyf=kNA=_6WD#aZLf;h%ovsw7MIe;CwJ(j}&w!jbUNvhy|K>qX25)Rkf=u;G%Po%%o zA17L=+YKt!^%RDw z?fcbRVa)hxL>`T(;(gT`&cjrf-3(jfy+)z!OjHaE|EtAdxg{G)7A=s#4>N)AHV-$C z-dfI&Xuf5hetUNI%rWGHG^O7B-vz&HfGtTO=_^_2jdc#KFE)00ytYHpbpkTCBX$5O-LNJsB8#Hz#bcE_26M*8y)~m8qC>R%TgE$OF+wo_eaF<286{J ztM`oCSR_OTylr>Dy+YN`NXCT6@665>N0hpj3;2AR7*$r2>EY4>~ z1pirf_1WnSsJEMAP6Ld_)@k-7>fe8ISP{H*x#})Lfapre6HpeF;PfeNxfR<0+MP`? z&iBt?Ih2hb{@dH3tWHq|)|dqaQ!;V@bEvcwj>G1~V0hi#G9O3mdksQd->w!M);a^f zDEbQqq45Gl9Nm{+I(AyG!5D%zUS8j{-i^9uT92cX6CnY?7K=r+#X`fXFUDh$M(}Ua z1VsB66v+uvsY{Xlvf#5Y0xVTbd0qzxz^MkpV?@qZhoP}F>bowg&t3#Y^m+Hwb<16L zU>{T77^ryXqo=lpS^6i?4GXU}SdFiF!0SQ$nGoy0FlOxGi&FiLAVEd?vo8b0ZycW< zd{yeK2wUz?#rKyyKBol73c)4;_M;XLY(8Mz0HYEGV75U5OH=)9+7rM`7IjiX#>})| zkMI{yI29@t7gB!*q>=WiV)b%^esmJ(y~&~?2qc;q7?>&L94uoht$Dachoh;It41|x zGH3az=j0H76Xoc08}u(3UqFm9nzv!v>l@!#x{=(%s+_e6s(DWt64vV8zzE@T(O zDc4Dux0}}7ou8|<>;b&Y2@kcVz{U+sOvgMW=?ewCr)y$JR8on~+lxI#Q0a3OluXWv zFl?kFdgQ!R!I&gf5z_AlIqkFfcua%l;evVAm$jzT7Q2h<)wxn`@;Q-Px^uZIdDSWX zVYu2<;_URZNu{Nw6=B1v4>jzENtP|L8$C7MmyZCPSM)%!-)R33zN;W0I5=GQ=6A2I z`|pHr|9%#pyHE9gCGb>A)WbC+lU;bW%JgtfYAibzpUd@47qYRtydaMZ12Or;seI9k z^FYpZboy)iMeE}&75Yc5#(|NyetW+I({&is zEmC+_9Ouky3Awm5VMM&an6^})rUi?79vo}~{>;>O^JH7KlN~=kS-d~-BlFoRKy1sv zJ+LF#kBqZkuclBLJR}C=Z*pE~dbM8%)o#_&U2kA_-_K8LZ2ie2b%In=z$b$y#kqUn zzybI_M}&rWK<3NqX&O6ciMyRk#Bw}K-;AQ(1P^N=i-ig#l|XCMj5C5r0=NI z9-Ibcmhm~`;|0^Po_TY=aM=-AzilCW8`HE&3^uAST*!o+`(r4Iew>v&r-^4D4PuyP zsRwq(_>`g4#sJVUzm$d*$5*_`nq;qN@3)iQqH1?I&mt}%A)(2HXRNMruQ=P-WS|A! zSCu@&;Z%9Ox@Yp5n*AX{k$FbORRMxeQ3}bk{OdV<$nLREFzbD=dA_ssJ%5ut46CL# zJ3DJ;7P~*_%8zsb;N1R(h>UcP7MqjaUm!!M|4W1ImaP*|?VLQH->lu~)iGRN0nwc@u7f9vV;U*RD*1`e2H9T9x{pdZP9!$S=% z#fmY+P-yP9TR^Ub87$Kp*m3rhf&wP zx3B@Ada>&`T1{BD+jAj>2^UOOt8{T9FYtyvab;pJ^2rs`)Et=`h zX#xh`Byv_GLcb5H2wNcmG}K>?T(~#t4H3~S1-&@0$jg~hZI5?~-lK}JD7OUTyJF&> zifh7RvxK83xY>B|zp5D+vmF2k0JCSGXu)&hr||VE#fXWdrv&-u`Z|91xGZ9$;;#^K zJL7p&wJ2&eST{bIap<;&Wl}-tG)+$UwgvB*c1g_UuM;Sjo-KKMm~T7lzO5~4Ndknd(hTV((dZT(cVO(&9$`qnRr`5=2=K(Jl z7sU4g`rn<_(bGd2H8xfOYXocQ$8QUvNxRLghggzF#{=l4iObv2x3BVYQj}#mlQsL_ zk;7skL}j|3tRhy_M`FV9qm3zM0_Mtg50lGq1jBKu#c^ZvC&tk4AhBCo9w0|F znk@VdtdHP+n0A_$tMUZ`UHCZ*&kh%|%q#0kqwB=51akf|EBBZi-2r3mb@MeRo4}~M zyQk{n;dPbL{~ z9RRxdA8_gwVIZ(2p@~exsEL95Rmmkw*qVddIF@`OEh1Z6V7P7Ra%Y#a)(y`)WWTLM zcDuscf$O!dAT|#lxqr%C$s5RblT~*BY_{M#?K{YuAa_`Pmy3(bxk?6z+Ld-bDmI!1 zA6YdN6nBNp6w6}9U~#|F>?bx3G|Lt?#iG*QXPm`sEdECPe_{yL&Z#*=T;Em&m@qu` zZULfeh#r2W#(Zv~{j$yelfxm79o}uejTb2g+I}+Kqq~+)PmXYSPq|K;tDS|G{_T0~ z@z2+Y`3P$O^?J_bn}qc@^I4K%3QcVKTb=dhV=bK$vwpn1&v>Q?729wRG)_(FYOOC( zFntA9QsUuD_?s(`!LB}|kttnwfV_Pvoy-cOUgH|6+q+r6ooCU+{Sf@ILiiJXNBnem zzjp}6dp2)$J6MhGiy>nLf?6)FyCk92 zz&C|!tBClzqum|9-cwvawHLv*Hwb2$6CV)D@ZGsHAyfGed7XPeu55Nf_xC(aZ4{Cs zJu0HhK6lN^{Bd>he7K|iGs;)St_(Rdg@*hqmlX&f7CZle$|=?!Tcxu(*ZWZTkvAZj z6<&Aa=7x?N>mL1d>f@zCU&bU{=}I|=?cRuD@YGATuwlOz-{d7WQZUdF@E1R-X>D&n zff{mbMb;6iMT4Xzjj=Jq>UEtqoG*>xA!$WfR;#^o8PmUYk{vVMlz7eJ(0I&zgkF>!!w93*Gp*Oj`H}$8ZGE zY#e{Kvb)%E-F3S7)7^i5#j9_-`l&T8s9_Mbf+ASU6S1R?=Aoh2CCGu(+9rNMu>zg@ zMP6k>8)mKpp1`oc`$mekR#m#G&@Y{T>(a>9@ZGgld$u3R0h%6FlN%8qMXI;=4ez~|J~d5>6K{_$I&xA&E4tbSS9N(Ykgb*(&j<&wB}_(X zH`u$JJO7~fDpK-^+l^JxVRM1lTTJmSCYzvzEiD`zp{bzZD>A;r%9|XE#jJ!4X8y3N zbW(#!U(2=Mg0lR}8Gca)GCIv1-sR&A*ZmHX#GS?y5DC2Xzy1TnK8*6F>gVkwRU{`W`=*$MWOIV?GAC?o>Mjg!<^>}RLu8!51`eIl-&2PNW;h3UozRrmNf3rnYSJItyE*o7P^|U^=R+nB&;r3vz@)` zue*(#P2JhZ%8_2WoHlU#{^wwN5g4s+>*KYuE$(7#5kiDB$`skYC$2*9J$3rfS;tmf z=}HB^HwXXD=_0tN+-}GS9(w>LdU&nc;N+Sn$*9;%O;LL1?rqyL3tRCRTqvj^X*L_} z6QN8?v_ad25n|GtQiYx22vQOK$fIAW0E^R!;%PF6Z+1|NV7ba0tK_udX{xHw0bJsrjWhI9I6D<{Ed5;JlQyf6*zy4N)8iqi`@;` z+1MLBBq};e-f?cZxMdU4EH>~=o7a{+tFNEGqO$0E$}a-sY4LK9CkOLrab)M27fv#c=SN?l2;7H*klIxF2#^bW6X+Jskn zjtifm7H2r#*6C!~MBJwfXZl$~J5XFbXvJ=Zvc|ivN&*S9m-J3 zN#h0Xuy_bAT8T*|N4MF2%u^M8h3RJfA4Xnx%!frM>aS{2E8PdySyvHuc8-h5GZ6o! zk-2t2>LO&D&j$*;4{J8bF4o@FqyZ;fvNFg6ZW!7vgR4BbCq>?*&7%vQv0q~ zk?O13kEf|8j&ub!gV#ML;a_!U4&{~lop&gqEhe$E@>&8%BMJNLAoBy~LZTn})f-U7 z;>J0k{`00CG*C9n_J3YJ#8iUerYZEc1HPC>|BYoS*Vw_rWK@rpQmWe?Jx+aEHXH5^ zJ3&OE!-z8q;d5z2q_eg?OnN<7baTm{6shS(#tMjg;kvlS6g<9XJ0?BJfz;J=~$ZRy>p+Zv>*K6KA6L3gg4*0OvY zulHXZC{JKZi-jZE!sUg{uV{`7}f5JKPK3Qdgc{kgckmIP^lsE#^LE#qzf^u{J?s z=N!f3RdwwX&v2yQBkLzAA_!kH%PvO8bD~8F4gI~XrHI6AWhI0be{HU=c@%?*tnF$- zDBxk&`tN5v{+nj}8Y^?B0lQ`LOf8HBl<2_vZ_0uD^D@QXv50MJADaW~j|Mt_)LZJE zuMyTsddx)FQ2#zTbnT>2P8@^Yy+_F%oE$nC!jZt9f}L~<3-&KRY@Tc|(A<-oUqBz0 zPV!bAU+iQwPhiq7bB;uz*(lfEm${1{-&Cx}x|K)`tgozV3i;(yJax*jMBANtq!GIz zBEkBjaX~@gH=Npg!@;%y|4Gz@DFg*!l>hhmyZu8<8M4Hb>)NXlyh&U@xzNA zz(a+QvH8iZ|MXm-0qP@Szr^%FEOWPNlL_za5zOy~WxJ-D4{cl+sYe+4hkgQ>kr>TE zs(i#wz5rgzT(f7|M{$zq5D6~RsMZkfBx~;NVDq z{`qrTe}1dSFa9n(o`1>z<;dp$?^mO-gV1(&g@O39d0aME0t+nXWQx_8o`pOhF8tzZ z-X^?-+3-FJcSsA3J($!jpE<4YkN9Is!Kt0~|y90Gtwc+n?~x?{KJYFSH-4i>$hPa(%t zfeb6A!J!dyq{kUiYy9(`ECFhGV7%AseiknLE2hV!(|M6Ak>K_7=V!MgiOr#u;9tMA z95=q7TmuHxMKue{e&@WMGVVp10p|Png_iXv|Eo>q$2|*GllH(>_4qX;_dg3t0NHh^Y(wZO=Rf+C&CT`Tk1fBfpD_D@Fg*8Yg}Zja9=oYoJWGW>(s7zt z&h+^WxA2)R<)xK$OccmRMn$~>(wb+-=Mp7rrf!E&pIi&TnkBQ_!GaCoUubB%RRWD& zsOKo?L(!ia-D#l5Q}tujX{%j*P?7SJ;K?eBpKrwDum5{Kn)P1#$P=iA(;E)W!`EUQ zPUnal+C73=bkPG?9^vC~Iimrig52uVKP4!C_-LK~^3jt1PkglK+xXb^^)DfKTteDO zFmBr%w%Y-qR$j381PWRK;YJ9s z0IiD`z{PO2dho*f=3}K&K&f#N5`$Lb=Rg8OWW1xuQk0YBDDEbJk4+sGXhB0mkJNtU zo5q~0SvFZ5G+=eRh3C9kM>Ub7_vm3Q?69fOGVc#I=v+Ij&(jjpWWfFQ?VICKGx-Hq zUd?QilZ~C*;TC|r9lnh1I9w>FOsP5Kh8)$>toJwtCGO|49%MJ@s2qcWgfXJF<-FUK z=B?VDObn>CvXUfP)^DIo=Hn{rh2mm+Jei1zVBc@?glD+jUG6pkK}yF;hyS<3c{Y-U zH*cMxczI_YW_v-AEk7{-$p~?&Xm{TAg*@vBzQgtLidgnK#1$5+)jy;`w`%|vZ<4u@ zZT~XwSHw*HHEhW37%y+Q2X8uR_b)l%WW&|e!$ro+*q z(M&~7OWgOx<}|sD_5(8M$J||jojDUbzrIsebjpm#`MG&RPI;4Zhs)!x!6SaSH~r39 z-b0$};sYqB`U4@JG0{=7n6!yW;gn|+BJhllU-fx_8nHj1btqQ5RSvVB{k-#em5?HK zYg&09PixPZ5Eo6BP}))G8j4_UF-Kbpv}Z;KcrDn#zHK_qp21!XFhcDSgx;0&EI)`B zd(6iF#h9(mYW1|C6Ne6SG9Up4UL&R9rnhnRVo~wr4eo;e&5TwlWLH&Z$n>8ne@Lj} z&Dn5^a=qKDJ?tPsspIVJ#d@2(7G@5#$%{P}8AP_jJFqK?E-u5iUdJhY=KiNA)CCKh z#iA2z`^n8#()WKjzOB|(G(@UZAN~ZezV`KA`Kp7owf>K-3jbEeX}gvvV zHzhkSKOT8Jb%6Twxjr*h|D2}7LXLp4iAkb!eDu$s9Kg22WssxK4nJGtrV>aG>j&P# zn`iav*6nT)u2`LntBlY7T&*+@ks*LXQhxhsQx*d7f5igQ-zgOpZZ8iPijER``4Ow- zoYu(y7*nROfZgtI&Ao5ip?VRE`m9jVQhv&52#ap{#`s${d3JRqG2Xxy%aUsr-$FUH zcnrBGz*DLnNb`0}A^IvROt?}52h;&RZnNyF`!l-Bp!w?!y(S=KDstbWT~tX`Hq8_e9&Rp>^T!_Gdt~dh`vj`A zx^vZ-&15b_D^Gkefc-Kx8Hh?YK~GIJg}SFV5KmtyQOCo9gu~WfQ2faaho-@H=M(zJ z#}{Xt%|&CsY|6$>syt!e^${~OOX2dvW;QoiKdrO;Rl~u?0GPD=lbh=&n#IfI*Qv3m zRaFY+qT|zQZd1>q5SS>Qb0!(SFt1L|WXU3Y{M)K^#S#rca5YUnyn+T? z{BUQdfZ1=P;?nZXXgzdp8`X1nzb^Fqu$`7R@cXA5dZG6ii&G^R_JB6Qyl2R2n{!g|0e zRrdD*7<84CZAF8n$<&XWQpo?%#0&vVtPYFK3m0}X6bc^JIkptb{)-REC9+!F40E<`c;OAMO_#4vQlq6TI(DGz5@lm>@* zU$$az9Hl&xX4x!1pcwE)S8qT|fJ9%(hw2xP<|||nbO&Z%N(?n>P@&8Hk?7R6aBBzY zus00UGZ$%mBasG4CCpP5R`{vY(2+)3B^tfXEzel1TB-(buAB8}F`e$NE+Wt^St2$( z9kXZK{mg>MV1{bDmw`$9j1xm=wO%iqMSt&{X5IR&+FNW}dgzj$Ued$Xd@#pD^52u>(0tw5-9_-sIcBa;Up;Wa!{pkbfJa>O&F z(-s4QoDl&vQz7;-Ih`p9-7yR*nJ10SD>g9q|_L zmGDo#xE1SjUoZ1FUCx?P&O*|dqY(o37Z90XTgj;k2yl>m-8ubCKmObSSn=$6_u<^% zpuuP|8*+5i`rIgLmW=Egh48j!JgA3rHi+aFF8U9aes^cYi{oEau7QC;UQqOPcc=}g z>Ts;r4{e9N@MviYG@4kdzKs<%zP%D%QA6i>lGeGB|FumJ=1PAGBWNl0k?Yf#ipsjM z%b?}oXL87HZ^Rmf_Gs?p^JqIrKOdL1&;m@>W2}83Ygg@JE$?>}$ zBjoT#boKjM`Q|~7BFyG=I;Sfo)&Vx|zZ(TnID%5oje=EQ;y5VKD1cnOAQ*sIKzgq8 zQ@4T`n%tC9gAUzT5Y>8(yCyhm*Vc#5&x6G@#(L)PKqG?Mie5DGcY(ZcaVWYxvMj4; zCBOgWtN zO(XzwE&W}wz(PnRx@>3oPaJ>B;;v&C9sI{DM3w}THmp4$l0ASvFeX}HPzGnl<)PIx zt2c$S#QuO_W9W3RbO;jWK@N+=n`m&RTEp{|ucc59x#2lXC5N}u4PY0=;9EZ25{kuW zNRKFjyIyTU#fIs%CSmQL(+{5?0X%L(PCmY8%r6BbM&rzYO1pwzmfN%ZrnDVIpQKp2 zh=~*FW&?`W4d?9MG_26A!VtfmIfG;A2oM2R6Ionj;WJ9i(ZEC25XR_;i1gAyeCu(o zGwi?R>y~y=g+KVJfSt2`&=^wqT7@T|&livg+D@1FV!n zES~{Zg~vuAi=cOwb2x`lN^M`IGYgB;aLD=Jy^0V|No_4y48trK*9=$=rt?+YSy1*{8hM(8CK4{M$_=van6ZwqyMfjj6SQ8P9c~0_fTj=p_zEi z#vo(m09#+@gLPupC0Z`3>^~GigW6M(Fyxq<+2}l$NozRgQb9JT(sbCg; zic*zwIUY*XHAi5`h^6V6OoH60X@6r~q=cC1c88F!&?_xSy@HKzteGpadSV;7B2WyL zK!q$H{Cwt%hJ@*bJv8)R;X=X}2ZLcDMRb0xt;f3#a3g^`Abi3%I9W$}0+snfzooZ0 zU2VCF;Tf~nIv&fO=)3dx!>$Z|48&?UtYu3D7b$w_paU_fPJ`v<^(`4!x0BJ(y;P(A zhYx!>M&sPCB6Bk%!?GW^U7+mR`jYHiO`AYp_N0K#Gt6$WbZNX0SEh3;bZ1nU7zqdG z$2{3HPqTdw*&Xq%`H$01%mwg>Ais47ESd8q+Ik<0ZxlVuT=whe(LKN;3Bzm{lO&;9 z{X-@@M$Pm$KiN&RGS|qcZ%>%wU|MJ889n@~Lc%HSo8Ebi`P8u|u-~dRv&=A+M6KlOKuu$%DLP5@G!J+PdLg8S8zIL!AWCj_uhxLH%|8XBXnDL-u;rfp2A%~*s z6==CAiABxb+Pwo8*Slvl_kna<_rnbH%;??q+LN(e^d0MF6;aX={+Zm5-!xdX)FJJ9 zVHrblH^&C7KDa72N!LqH+_DG08@;v_t}_|LH>378UhRo3H?A{?!-EY59EPfc@$~!) z{zJ?5Qg|Ev;nyxY$^N+i0KcjZAlL4aNVBDokYJjP?V>b)GRd%Kl{ zN)g9trC;~^&j3EbI@OS-YE$FNq*Dq~Hd;O;MPA9z(jW^`De0e??x^K6w+EYieI(N7 zi4{1=-986!Cys_cCphaXtX`=eElL+yDfzg^?@e3ESR&gBS%havYXSVFOa`CRMM{ee zyj?d21+cWbf^1d{ExdYv-tYOVlVtaBk1z zh`m#9!h2iLtioVJni;;gC*n(YzB>n_+xESx%5Zj@ra<)feMxMO+bwM7DOTVc?}ruT zsV2)$C@osSSFt?=;>T&5#N|3x(4WLc63u_@E5J{}C3l2WtK}thi||wC%7WvI+yYmqFUT96{nPk_2mU&j z`-B#olXhN05*^3>cCu1c_t#S<-WeZ-iA1y&kz_Qqo352(F?;V_!Ik6P#ZSB{M;_3& zrDTjI?1SO4Ny%D+=4VC@vhq$YA^UThF2jO|*ToccNukG-h?q*S?T@a-Y56o=v!y(8gw4lf^(^b+H5uvHj||wKc~g))?x8mP&|YhwVPL*Dqc3^N+L< z{?;c)Z0P*>=e27|7XF*V`i{do*PEPN%Ke5Aeu(h?t*YB|ZT%nN-MR%#G=p7pztE{M zS3T`&l+JaG*4IChq-9(r5)NN~W%hIWv}{_`A&RR|BYtlY;=j~Fa7L?bP zl$Vf=W^{ckN6~>Ie&Usp?bYBo)A__{Gt^$O-|iKYK74h?W^F$Nn$};38d{x(7>3Ue z*WZpaHJ+2{mz!zu z<;P4$b|I%Aaow#^F&%q*#dRVmA(0Sp27j|)|Ez=Qr;F)FfuQ75kMJnXQE=yVM)A8S zh~wc>pVR{T{e&q_#9o#e%_ZdO!PRvf1C>_>o#e66L&ikDk<(0cD5^a@)5o^gRn7ZrOGF zcqe7}IqLvsEsBeD;p^mn(cd`S5Yba3Z)lnpBzC`u@DB9!mnp{<39IQbel-&v!e;!5 zccDdYo>Y%{KA;H2RfiMqOX`i+z5cBJe(-ap>6*i;o`}4wS1O_V?vK@@r{hMhZ=V)7w8l~Cb+MGalGz~rdnSpsA`WVLEW(Uk7kpkU zM{LsQg6y&!S$u!Y@;saqYiMe2bV?FiHcx_}_~d6H!*ZyUM%NqbdLHX_Xi(x8PwkLZ z{d3srm8oHEo|N!z1d2?P5}ds3&9gN%aEEK#NRwO~yabx2(;B#O!StsdYGXKKM<9M8IYfugq=zy~R zVc-8PHf?Qb>!N3RI^t=d>+=bt8^5Z@8-Lf)=ze0>TcTw?K#Jy^xh1?Hai3ZlQKk1u zDM?L{M)wH9(k|}Unp}(PG#chX(k_nf#DKQ$qRV!NPY(0yH*MTG=^^g>x>lJ0I2jYt zib>7(otc05h?25bg9?1-XK*bO-~BK@j2hPFIvWNt7#;+v8#R0c``yDO3DGxiKQzEq zT3|p1+GN$`4q`q=^kr{TZ;tqkYz`)^ZKXwT)C-Xdtb#Qe89%8UrqJK5j*^jycQBT< zD!9qCGWL4GVyFE}vUMZ_IzMUeClQ&8RCwijoi1rAZeqF(ehOM70*%*bqw30Ii*IxY zv7tnXs-pj5v`brQ%jnVq-r?YDBu*z%zuC;3!)nbIF5OjcTD9IH>|8&4ui9X_{EjnH zJGP{M%-k_N~jc>uT}STXR7F?vHrYKOm#ZcO*Px;Ne1L^RVra5a5jh%>^hWE$s_sEaq|pm`xM0; z2R%u3uHPy-IOVHH_$noqSWCAqb zU{lvzEz*vZ_QVC|_ApwR%)aF}6zsbd2w^T3M~OY?iSSA1bwBWYVo0+=iI-s_aCA&8TcveB@G-&zF8)_w2`_F4@OPmSFhd7;rCQtm1qn* z7#{CtEylT$n)!D!1R7yr#JTFi8mEm7bdaM%sy0$6=<)GoCPv}EhmK%c7=sv%k`gfZ z^MRm`(vCOf;N8+C>aoaO4fy_!I(kj+G*BxqZ|?IOd|L~H_b6pXtF@hNA0Qm@*i=PW zZNuA!q^UdFB`L1BXUb7z7mNAxQa{4zj*jMpn@D8Li7n+Dp9&6 zv?uOPo<@7k`c;%f$NN|!`XxMy?Kj$dA_DRf)bL!$T&Ng(ReB@#Yifx2(~ zt5nx6V+K79m>4A_rjkWbryU&jxW07H7r11twr4iRD}*SAO{ZjkE=wdNX><+;CEmtO z2pvbF0kT(cR*VP~xv*72{MX+nHCw8T})M81x=&qd=TYjhwra5Cf1kbPbe%&YVnouV1#y`>xVn~snd}c zA!ZW+l&E3l=@!#=1mcL9Fz@(upP1V*z`3<!>ZUrs02<}zqOvN|3Ua6h?zzt>3Jo?$?G z`SRs%p4XQz_kln`v^-yLW76mS2IdR|8ZyAts!HY8w|e>x1;Tw$85tQyv*(Z((XZTk zDk>`@wFFN$z5)`?23*ryJ>O`?ySTVy zf!beLZEX+GK3MHd(IiN%-UE?ON1BILADPbU*DmQ`Gk@1wrXjhQ8q6+~XmFu(sp#yEoH_jtHXm1-U{@j|qs5g$9#x>P?ua1_&)6-k{R3Lhb9geu;nM|3b(xkdT z*C;3TsK{fr3t}RLvcCrEa7fT_UFNB7If8N(epSa626(^rf$iI~V zIV6obD=^+}_H!_aWs(>c7^0$9o3dZU>VkOs>o-;a@cmr5;Y*%Y1Sg2AZZuV}g$RTY zQ|+7c-T>Id5EZ5ridNPt=uZC>wf6oQt&p)v0q>UyJHll&*0g$3`NkgxFzmezbErR1 z@A$LbO`d-WkT&`N#XL!5=YklbnnTK+9zlngUnD%X+7fSJnr76zyi`fGXr_iJr5Kt* z+wh z0nbV!$)ssnFgh_~Z*06(Zn415Ci2O5Hg@(fC$7n63v%S=E=Xq$Ra#=3A-h*V( z?hI_~ZP0z=4$bQYX(1uMMESNVNn?WPMu(3x+O{4n7V{Ba&KJAeuU>PSVx|>CsH9&?uD`}{@g3Ajoli1c)z9d zEDgFG1r1JJL&Ln(NMREb%I*-XB6mGJQnRx7z2z+m0k(__A8F;{is2afs$*<)&j8++ zBlR${?maI$B<+gwJ-w4y)R>hkQEmsXvmFqduvKaV+2kScJmVXzaGdX)+eKY{ZSFMg z5ljl%+bVrauXA}gw^>4aS{L69+ZhL*c6&l6;RgxQbq|D2pq+6w}N#r;^pN9>ADQ^s|HRf zq8L}dhlhu*a>Os(Hroxr*5uFk!KKj7Q2+rYs6op(BFg&JlKWk86K%a@#PO%G5>0iA zzMTeo`Z;rx*O}_IB>?h{G{3N5bN0n>>1X9Iw>RjCixQdz)-LY;6NbAK9xO zVNpF=YZ;OJ%h(4B9^Va(^o`ONMJY)x8b|^dQ|0MdD=RA*8#Vu35xb0*%sm<0f>IIN zmV0X()s|{!r6MIo5TCWOw~yU=*4S8cx0{wWf2|G=e!ZX#ym|)BMp1^cXn9;<<~$^v z=Mj1^snrK4tNQO+tX9145rD}L`(UnC*@jYPMpt)jz3Ek9bUDw?dx++5M5EHfFRCHy z-6DrM-Ev()dHefKynlF5SXkKFq+5U0%?n-{lhw$6)jHKKgz9~&H61gQk^=vPQ{S3? zR-fu`f?We&e!$`T_eSoWY{U-s)flsk9bji{7IOtWsd8oD$mVsaAKMrB44`6{leKzo zd9Kw@FZtzpzuXB_NA?hstO`PS-E-A#a|xB*MbnmFepWv9drO^Jucy>OrYDEUeaQjZ zco&N#3qj5P*zZg~fwlY_BHl6WFX;}J8m`NggSj3LY|^t zqaAA$gi48P;B(IEP_m3_d%i8}dN#=7xS3$MyebC=W+dVPk^NpA-O`KN&u+I4$mu_p z>2<*-cmThU^{E!9*!ukX7O^qH1l>RiLxOTxC5who;bpPZqNx@T+@Pf!!4&Vq9Vk?> zjt&JwiPBY^~1BFJ9maJ??$^oKA4cBAYZX6k+7 z8Lf#S4u@_rS;xb9RpT4xSj~bcsApdpS~`T}HRyIHx%$;wEKriEyuSw1vXz2H8l5(kN{GG(sM`s-65{<|$G^mBw)x`D15#LjdCh{Y3 z0)XmnvDu~ETs=gBMXx~H+#K=r<5nG*P}MN4 zOorn`a<1lSwT>O+!{|2$7 zD%#oNkbx35A|ppjPbp|lIk>TrKBsDl{yH_0;y%a~j#1dKf!6qGv2qbnzG**l-XOY% zgBhfJw&3pJBPJ)Fz(5$eGVF}ISulvvgdQl>;Kw#$k?Rdz(IEHxGfMXtHx|ANqJAqS zrLQdkBp+xC-on|468)-pxL#9pY6e3a`311+Eqt`X2??qdsf&w)6U0s*&T6Td!aXE%} zh{bU{uNt9#HnyNv)wc{ff5Dmkr|nFldHP^we2w4MVgpk74U>M@%Ukh0q^B+%0bDvn z?=QPc?6`TiA$-!>4!`7W&P6yXu=?BeBZ&O47Mq0tR)6C=ccc?DVXJm^c2z%v^~WnF zEMazp&qoOCb%oPoY0~XA?}DiV%=#5d`KGBcUk$MP-o53h+V;&jx`tlKQ~DL*Tg5+D zwqJ%JbUDrI!VYy5#(eV9)e?59#=-w_gb1Seg)`z243C40kx>BokYuQO=nfTZP>)O7 z1is5oiWcTYD*pUr4a=8Yy`#b%^x0-4>Kl__L!vbSPNiXuKp$7lZ-@_MCF2zN7_++? zD>AC0V}{uT?vn$07X%syojO0_<1ghMc?}WOUFW$tdAYE)J~qp}NuA}z=x86+K~Z4v@e$jH zSgrPS)uXinVUM06&+&43JU2RmRyCA#%|?60E^%{sY-WYq464lcsC#OcxVu|6>)ZUz|^?W;7g>-auOm}~PI-Q~OrS4pR^#yhzSj$5bc5byr zl4!*gK2BsL$s5Ebz2dZ-VL%efT1OePrsmBB1($zsFAs)e?z^;;z0*375tqnf5mhTz zY8a14h{x_3Gsf*ozYQbiB`wch>IQR+@pdam$#U zD)C)Ck$fWKYpMrc70?GU;lCFBsn8f2Qfbm6UYlWe>hqL-6MvhUmpFs-R)arJS7&c` zWZcP+!3TPzz1o<-58=#L+lbY#=E8?GxKDyV_ZlHe+iqBQDw82b&*{omJCn!Hhj<_N zqtQpI={}@gp}kE0D_P=^-hB8Voui}kS%ufb%)~3&BQF%GIeo7acz$WaVz~LureS5K z4!%a7np7M#@a-F+=E z)1v$}DUMQplAaEVOldSYoTR&CkL-b46>)VfQMa{vWT~NLc#Bqa8Vad!yV}L5oO6Bz zoD(eCxK%C0$aqt47cDMF@`?^9-V3iS!wz%mrwQzFyg1uJ`21OZl-A*s^&Afq7q*%( z8QOV-9mdl5XTccMn#V&HB)j*dspgWoa@=l5RI^mWmsLNTxY51+QBNIXKdGR2hmYq; z0d)Ia7NdWh0S3ya^F()$^7-BJV7jwZG`>RzN{7agRge{R(x4>K;g9GKvdLAj(aS_U z>eeJ>P?88t4XQEBQ|%;)>Op~nNwp$`5|(fx8c|ey-=Ij=`z11?NYUgP6V$eilh|zh z(7Hc7lK)7hV009bt}T8`UPYq1RuG2E-V_)R&{Z*LoM|k}%Fa#r28xlc-n#3yQj+K* zQWy{UwU_Wj3@0o{>4$hf@oe+$5#2F%&Bhuk=L_f7U+=iVoiD4@snPxb_WZ3mWBP}X zGx+WLyqA%q8^O9k{DkfEa4B{lN-83n`*?+po!1$iLeD&5)C{U&pOc|(6KR|%$8NCf6izHehBJ1mmT$>-F4b0&N- zHN8MZq2|a`9QLKKXrF5I@S&T^{3V%VtM1*qx6^Ww=UrbQAm7TS!cbB0&OFbDQ(=j3~>Meg^#SIp1+pQGdf(Y%|T^F;WoJyxew^1q@R-XG75YK>;l3FWC z_Z{Bhx>|mYeaR-n-7?W0eF>X{%&oN{(6i7R^N_R@W$Cs4QoxbGNcP3`&;(Ncfls8H z>vA?d!9h~}&1_oVQ(R79@`YL^OjNmr8c&mWG?(PkqKY7#ruxS(hiGnQ_a0)dN8a5% z1d5!ri4Bj?`!gOqH@=6%I$ms!jj!2t>= zVi4#R?&Iq`;@I{15k&KeSHQrhx&P7r*A2 zUfZmSykrZ+m-ZkT4XJt^sbY8vC612~N{l8IxB4pew=Wj9L`i9QM@^PODiqT~^LIuD zv79Eky3&x>RLBOqrvxR{$Nyw%B+t8TEMD`vx^Pt_<3967QnhN6Biu`}Qy;W3O-xK#;p}4zKg1ZIR0>P!YLvbk-*CIuNI}|AH zQi?kiDei7E%LWMvJP!B?Z{&%WxQQzV0S?Z#1fpV%q(YL6`HPs4 z-iIU#lqe%Zthtqi0O9o zD74=Ed_6x1{B(EP7c@2!YsFKV7)a>aPYzseccn8@Ypya~y{j3pOwdUNEUxVA=Joy| zm$|W0P9-ZWzkaPODL#d0z*jU7$n)X-;VcO@<^iL?{Qotw8e*rvw%UF-Ap#~(7oZn2KWxzZ5_HbTGsqkF<+OWlzBeDXs zm@#weyLw*~hLSmn`XJ%$8}&(TO(4nN%_?Pm>%H37?SmKw!+j-GveI(HH>1+9ZNI5gorbnvlvh+74B0!GHjku zm|RlbD$mP)NpxK{A|OAYB>jOXlw1Vq5_PcrObb^+550oVi|i|jDOBmh8D}FE2|hI2qHs6 z9j1|};Z{&FZF4hdehCtQmF2fk50yr z94>P?>`P*R9g0!8fWs`+Y*9_uLhjH;O2@a|$x>YCB6*{QZTO`dtYm}4-^9$HpI+zF z3b48dk6Hk}@@x-z)#VpIXrH)xG=z3NTWVCf;09k+Vw#O!L{PAq}hxTxE6HqPH!5_cd&D z%q0UO@w}dEy#@H_(x*+)B&;_>yG|JpSW^0|67GxoL|c$E^IHFJ6hd@95@KRTP(|C@ z0wDf}?MZWT%ILS6Pj|FtM>UWshOLz4*POI&VCX8_V z&=1FI7$V9Tp-0yD?t7fBzhPlCY6(;gKjj0<0tR5EQE@jRb81*_V_K_y#_~@)FvVJ@e683Dc4`!?hH8duyA-u_nuf7t-V3vZLgzcnQ%Y??E*&*zYFOH%W;uI0b&?$Dp}x_n+Svxk`9=b;kMVy z#HG5P_T1Bv?G}+zo*Gi^One7_COJUoW$XCkC<}>DW-T4tNgDSdlMQ&M-OouCoZoYE zR9{j&xvrT==OSI(_ozRcfQ`E6%~~T5DAfj*pP%9aJH0}6S*}-%O@-b3azQ z9tV8+fT%EudbVN+wch7f}&wXhS zA{h3Mhs!+s8c_4T5N>Z!3p6)6angipx>wFz>^(3nZ%5D&CY(`li?8STiRk9HG5#!3 z#qK*Z1vSAc3sr*N+V2mCX^;1_biUyIt)uPe-m>vxfYx1zXnrX_hn`NTCPnlEX=wRp zHjEEu{hxct{hX1$7x!PO|CAusa0RsX0i;dOLesg}h(Y)%jT%5~LvAKkhZ19EFj6!g{vM)? zm7=SRh8{B|0H#9_Ln6Q4ak5!rSCSaB{X&XZ-i?iU52?Mk+7^TG`GAiZ6d}ft*~~Q7 z9}ZE`b<@IAP;S(+lR|Hh2aGG2dlohq3f!Lr368q6TvE5Gy){ZyMn+Rb-}UB7v}07} zg>`HF1a9bhka->b;vku*v&NMTNlE)!_QaDW<2trCF@&gC5muh9x%orem9~Z4GB0tO z;U4S46qx0I7Bfdp=xX;P1nl;L)1)Qv(XS1*=Y%5OSNgUK(d2YAvG7tZvR|U@ zryVe1lsg%S%O^cGxxX-D!R?|J?e2Zke%^tQW{7QWY*esMSoc?v^xEF`EhL6`!pRdR z9O{LiEa_%C>WJ@(*zkY@z^7IQV>~fi#)oWh{?BQeJV#d9$qdu(yw)!8x7>i;jk%@l zL|+%=yPZKTF0r*{b-Uur=W45KFD=KHsB1|Z+ET~vvyR6M#h}S}pK8mcd~^gl(@GBB z&$t`Xzu2G64#h(?G3QKZLPgDr$pzNc)(SxxViTOO-Un#knF&Rizft@(LaBGQ0-keE7b1DI zsg$%a8Qi+4w)lj|$h@J`gVKDm>)4o!R6Cu|FoXEiEat@=6A%}rkUAqu2EuV1nYZD= zrL>W#SK%@?FQAuMY$THCsP~A(Ke-iUM(_^|_WRmh&3<=XA4>O`2;C>MIjpFja_F@U zL?hTR*JNMdlC((W8DF)Z&rP);a(Grh4_Co^WJKQeVqL4pqWa)GIdLX2g|I5h4d7LV zKWBXJf#K0&!#}}*HFN*j4mmexkR;<>`4zt8WzoXI{N#ro@9noJcd6t*5f)B* zKl964#pGbWfI)7TE4^yxKi` zooUGMhHMPMul?P)Uu3pr&Km@Gef+_tVeeN=#b3wGz?wq2agC1*&2nFl%B6WV{D&E= zaoRTBTe&2Jlt{7CWYrIicH=_wU?;^>xG&cAeV_ihfSr^+5+?FSZQj%2jJ8)K!?%Cw zbZGkQW&d=($F#t4tcKIMyta!SA3hDb#)mUeht{gwTs=?e+;rgI#5ExfpZRfUv+1Q} zvHa)_k5V#!EYAf0)v4osAt)noPDPf%Ch7tBBazW(qJMrwi`!EdDJ{Y?#P*o0fjXWWYNArfVR!PBRU1dujG(3|c6}2X+h$;&u);MI84HL?%w{tBjjTP(Qy0nMl5@ zur;}mBq@yR{naj$LYI5SAEUCSB9yPu^GsHDH-M&eG9$t_7zpFTP!tu|6_<}7HZO?v zbjGQn-l`Ljew38mHtWhK`CcXG!NTcRoQvcU&<|G~lt_bU;5{uFq+fj;;ow+8+o^dN0c6d8NeXa7Ud79sl+`Y8`{Fs!5*)er+ z;02#%#_~Xv?>9n+p4vzo0ND0!$%W^bOR}sMB(Z}6)=p8g=5Rplmo93w#zF-1);jAw zU^3i`Ak7IxUfTOscYxf5usg6zhDGL#Dpvw)n2}&GE8!@953lT>QcC`2eY@|jegLh= zfiC&B3!RL>bb?wxFO8)oI^S&4chpLug9ZVEm1Lw^}jA*4LqxJR0*kCI_sQt6tw9d7nX)e6nYZ8G!jw&?Xosqb4y7n}z8 zi7^K=bkd}|q5}=cW3+i3=Cr->b|c|b_jCX8ldoC$_*KOl@W1343e8{s18O=`*ioH(iKiw?RYuSAkNW`k_GYt?xk;OI z-Rft^?q6*9SSRO6kU@xugCqV@Yoy^LU=xFkWOGbGCa)_p`{7nOiJk43Lv$40&lJ44 z-4^V`X+v$##$_=6aR@gA%^7?QmT*m3C)H#EbT;9yDX04#(jS>H>?15{xvfxR-2QQ8 z7CprO0Tj;>pGOR30L=0KltlRpzkKQrPz)SOe|ff6`C<6UUc9h5FYJwK(E7AcUzySC zU!D3i@d;5=!YsEI>tcsm@w}K9i9eLj{~PT<2=|TbNrlYxxap&hINF$;96<5W4$Wj* z1*!X8ng6g-{|XOV5)UcWf6Z(9@1kNls+kC2YyE0X zp7gYyu09A7UD4pRj$mSX%2%lfhPqzJ*JXJM;S;1Y(HaQ@>TVn&IBNt$_2N?WuN51A z31Ie#4L@l0W+Q&U*QNHyka4KrR5$xmQ*6LJv1Td-W?ERs^N~skIr!5{+`If}w?YRZ zF;?$t0E0v~GgGernGW#%AIuJ=MZ=_jH;3;si*|;swQ;hK&s7AF8w>mz8g~( zB=zCH#7tM;sARaP-OU~c%(OO2we)zMR&$(_#SnQaN0~*GJF$G#`A#KG;w=@><~&$Y z^{0D+Obdlyrdlr%jj07w>Q?RQWgj;V<>6@W-=|VKz}O(3juw=ZKdCAzRTsBgaIvJ= zy?18^#J?=*=8`Y7IcRt2Tp!xO|OV=C1J*or(B8`!zdx zDD9&Rx79mTMp>qfgcpSiWLGA$3;r*sgBS-yX7UYaXcym4pE(x$3u6`3$392RX+g2A zh((V--NQpw9}RKvsVs8nl<3AG2oHY^^gxmxfS}Dp3CV=yy6lHMr#gr!_>?$9g8kY- z1@#W6zzI+oq`gME%x@R5<}{MrjT2KIYppn(EME<<|8lEhA9Ee$Iw7Khdmn>c=}caq zocfST{Qs?Pm>R|0Ltm;CQaP!;PW|67rJ%++WB4Tbbw2QU!3&FjMjK`6X_y&~aG66M z?3XkAiJ~=re!9F>kTt@svfU!i+9t3w+*;Tr!th(XNy_Lra6B#^JKV~`?P36pygzvb zA=y!@R*r5o&eE@&+Y&UNa@|R>y|=L-ea)TSzjRTQlu=>>ET#+Gv*SPr=j+?s7@=imQ)tjgx7mBxcvGqnm zdkQ~op^&G>hJ7_RB9;gY$-a!Kus;)VI@N2h+!gXk z>GESzK`b-0=UJi}4Z|aOjIOixA;libbt+vWd5;ss2lk?rF`~1LW0eZV+{hZQzFqqg z@VTGJDEQ{x+!tLaPtNLql2hUu;4y>W?aBgIWpsVHd`a z&tU0)#}d2zj)#Qwn)aAkINEOgXCc-1UkAk<5gWJ9{Y`ql8WRe-Y&EwVB`LAfrdLDT ztIOZ?SGn*t%>T6@= zauIs4&fE%U7Y!SO?pPWOZSp{yg991dHfj5O*sZ?JxNuXV0rCSVc=44*OGm*M6f~b7 zJD2zdUCLs(|Fbc*og*>y)*2@;4X}t8Pl&dIP-$b&?QW*rUg1QSFSc$}C3g9g#Lv|A zV}Gc*1m)M<)p1uJNn`GK#+cVrm&^rguru-## zblz4J*4wsLpq>}&TdwYJ#r+7jvx$wXb`773cyur7p+8!+ywC3^Jsaqf@W9f~{QKxa z9IxsS)sEPk8KA<>#&@nL(PZ>I3490K-eZcOW!If{ZEN|~ zcMz%*8^Qk;B{@w@b8IUo$xnn8@^eXzk85JzxQ?>HJQrTCVZA!m8u{qtc6I}kT2TtM z{11h+WExvc0Fftp&Jj?cEZJr}W(()W_DvS|&6dG(Qh`;82t4rc+jv=BLuk%2(EE=c z3a`# zNSpByT=WmSEYbh##{3)b6Se+-z6`>|DrBF)!vDV0m-_tw<}?mNOoW&Gb^OoBFN^A` z&;32AZ#nJ=jBnjo{Tc%`R5>!g>QKvA+2IsBX9LC_wz^Yht`->gH4tO@{SV|Nq);xr zHfMCuR;S(0+MJPRTTkaBad|q|xl(|IA(O+6fX3HnrD$&)zIujx24JNlTH{?weeJD8pE~6~J`9(y1 z)Wh8lH?`RupSNWqb;&a09Q`jHOIo^8dp7qv+e8v?%dc5S>sV4EZhs3_X6!oVf-<*s zC_T5n=l1*b2#;SLw)HE{NXX}q(Cv6_py9Y_{n5kZD$?3epgMu|Gf+Y8@#Voab(%eW zq4yMd*z|{*g5#8hv!xtLgX$-!leVwQ%T=wWv#*@$8Ac)J@`IF8&?|~lkIJZZY>E9O zF@^8&`>M2Z(*^8^_`El_BpnNMm|9Q&tdvTz@?N;`tBJLC`DtXP8@%G)3QK!V7jKh? zB0@b|M{7*71Dk57gk3!Qy|#?eiS7J+NTMCn*@xSMc-)H$2UhO7sVqC~8e+{!>wHUn z`fQQ7!IYe#{L*DZ9HURGk`K|2w6igr4LJ}?`CgvCrG0!V2i#Ac)4DkePQJ&NVjZlH zHaW7x_C;BsWToE`&iLPZN$Gh#CuF3pGLRMSD4D@7dj-<=YqXF^CvaD2O!0wlo$EM? zyJ(mCwu%&(=Pos#GdFuuDfFtct?3NusRf)Bz`8Ww|!N(m>&xxBWvVUh!$Ujah- z;LNYB-QVvGwX_LeHeIF&jp7PYPn7&>i&4i5gvwWpd3*3!%*JI? zZ3&oG(8Ci&#zIZQxbp5>Bdsh7FmP3HRg$XcXlY8acb&6l)UvtuqzvM6Un8n%mu2)d zZn~*lJ-+0L_LZPUgP)Fe^=0`A7uK*d+@1DR@lT86%Ci87c0UZ|$c*^NlB+r=ejw{+ z3>eNbRm*Mr*V0r&U%m8&S#hr%gg2M?_Jpp6820oYf@=P7JFowC-~^v_{<6IO)N@0}`}q_5V89AnW_3_ zjVNta+U5BV56Ssv1dA9c5OOUo*@wM|0a=u6izqNP$a& zmw4_9-%{+Dy3dwr&cAJ*N#@Bq+*$iVPMSX$7ALfGgw^~Gy)9zWSUBeSegaRvWOJrN z4w}aqYoY0hYQ*Gc>Pt2I-;EQm*J*gWx9#h5gOQ%4cQSIjnboJMEl2>U3UKH8k|1kR zmNuoR7Y0HY-ai#mw2Oq9+44L>i!krVn^AV;5=h%>kH6908L@2(N%WnCXS{ZO=sV;4 z^DuM1;+A{=j`fL7mI7AXV*l$c`o`?$+flOb!ZuMJ4X>3sVL~_wx0Q9GOmW`J7vk}BQMe|~6vTKeNML&0RNUPxY*kX~g$=hz z7+1HBH@zmR4|^80xN6XRz)72yg`}Ed-6i24OerKJX8OvxYej*h#AWzJp!Vff5fR&Z ziS5e5yx7`lAhLSobHWApse&zsue~a?#c@|~hx3RGzWf-_L6EC{t8X4DvvG>VQE12Q zrYr4iOHf|yuoKEWC8k!_KMh8zNO}z`!I?q^S=3riB!*sfL1r_r2bQsQW@XAtY7&bt zD-4=*Tq8g_Ht)cM9iC`;IzPWby)YTr(`HwDviJ^E+DeK}BbZRl>{yy-b>eGOTz!}M9 zRs*$ScTS4#F^*_sDyP`CpVsVi{LhMyDldiGQO-rng7NyqnEyA;a$>$LoqiU@)mX0N#dumO6<+P)u+1j~KSf|3pLVr6Pk=e_dOd~L`V9I+)g%DC?JoKEP z0HuCDtg7!bfd{Wl)~(>JvHtZksA|d&T*5?TUzT?AH$m!x{5ru%0&Sfc7g?-{BLTyI zE}X(v0{_H?&U_vu9>!O@DicXG>%^|ym;O7-_p$D$%)Qm&qknk)c++$uNdTYB;UD> z1Uet$tk(G)MvW$M&fvWJ7#o{Y)$NNhG-aAd47*2*dhZ@n-_bzFDp~sGy6ShU3oJ7; zlg2Hb_I>x>yFpYm$D*K4mY|*O;cogB<(FS?;K}O2#oTSQWcOfM5k$hKL2!_>1=-+< z;wqQ@l?WE8-6vp25DC&3S^c_KqwrEv+(a|s&oTs(C|-Ub@loy_n*T&S;{o6m0_N(g zZ20l#r@jwr*lrq`j~L;GaYz=}ZQ$7b8M*KyI<^OjBEYHa(9Epu$I0-{R_j~k3E!aC z-h}SV4vMeb#JEsMAzsr~rii4`b>Pp+TuMs)hBTuPq;_~D=vFOThS(>1(DL9}EMpIH z_fP3|>7kg}p1=;#OoOA>;paEaRqXg{Z2{2;;3Xnuw4mSVB>ax##=j39B!@E z8-^PktxU-S&Vc1HazaKsjNhyztZ}@*+ zqC3QH-v9;SBXQu$P0c*HlKF-*5*MkmPRoJ)KPd`m;#7A`)&RHdnFtC=;&~Byu=8b}qw1 zj5WtC)3Y>{QEwCB7c#xccy0@Nh9#eyR~wKEqU4=~H_|O~NWh5yhipa|GI#0wnz7~= zt!0&#zZdyR;yn(mS5glG!rt^yUr5sp3?VlAYNKa>jTDDx!(PHO{uuJV>!UC>EIS+J z-pbK`p~b15uOUv-Cc;paE$lcW7i-pLGEu=DFu{2!oDJyPNn-fizZ_?TY#%@k3<_=R z()B405raatP1=LTA5TnK&c^`syb$sh!ny9{xCRowGpj3ydaQk6(a{CvzNMhh9z`~c z$eDZ4N)q9og)ApCVa0&hY;2Ou(A4_DNdimYWufzkh}zR$BR;di>e3hPl|5n1k zZ$_W}H--LxPrsvOjlq%Qpm>(Evk)9i`4Ur)3&3Dc(q&8)W7U}%sJ<+-)W!Gf4j7Dr zj|=29R22ka=s^Vjtn{LoR@>`~zvJ9opo0rl$yxXY<&<)bniNenpxe6_7>&3m?!8&{b9_P5>=E$Ie^Eui(w z5!PY#0lJu5KEdOete57;z z=$i%sdI5rIk?!T0Uy^e@-h34#=qX7fVYlZyMaTT_DnOl!?aTu?&@doJ!QKPJKz}j| z^kp-&@i0X|00UzW>s%{nByk3YKf;7$kA$9U*_Xlj zbXNJ^9DvniYybcUti@`bmU7fEoINBif<6uyUyaFo=#;78>znL~ljjlzNp6x;CkAhI zB7z-qcM4z(m5Y@G;ggX)yEFTq1J}O&Dws!qbb6SK+Pc~~D9~uCxR56`tC=J#VM=kO z0W*tz{hA+eUj&Zgsz6fn?~)Iah)LoUEejJ<*_vN%28!O)L5tm9k*J1!f4}wV#WDNS z#ESb#P8wyGSt4`beg(3Ay%h_hx+*7JL_~y`by8eh-1YI!^9!Waq}Am)0@yVu7b?3z z#-R?Q5Uh8fx<4PA@VVOy7r;XPI}O6kpA0_1QLyYajZw$x>z*NAiXb)FYUy_&{|B~y B#>BR5+qP}YKj-|;^Cg}a-Cfn)*R`vA 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 I%2-DJf6Lb^=Kufz diff --git a/docs/content/guides/tooling/vscode/overview/index.md b/docs/content/guides/tooling/vscode/overview/index.md index 91635d7cd..5b4479ebd 100644 --- a/docs/content/guides/tooling/vscode/overview/index.md +++ b/docs/content/guides/tooling/vscode/overview/index.md @@ -10,6 +10,9 @@ tags: ["VSCode"] When using Visual Studio Code with Radius there are a set of extensions you can install to help author, validate, and manage your Radius Applications and environments. +**The official Bicep extension is not compatible with the Radius Bicep extension.** Previously, Radius made use of the Radius Bicep extension, a temporary extension used to model Radius and AWS resource types. The Radius Bicep extension has been deprecated and we have upstreamed our extensibility updates to the official Bicep. If you have the Radius Bicep extension installed you will need to disable or uninstall it before installing the Bicep extension. +{{< /alert >}} + ## Bicep extension The Bicep extension provides formatting, intellisense, and validation for Bicep templates. @@ -21,10 +24,6 @@ The Bicep extension provides formatting, intellisense, and validation for Bicep {{< alert title="Note" color="secondary" >}} - -**The official Bicep extension is not compatible with the Radius Bicep extension.** Previously, Radius made use of the Radius Bicep extension, a temporary extension used to model Radius and AWS resource types. The Radius Bicep extension has been deprecated and we have upstreamed our extensibility updates to the official Bicep. If you have the Radius Bicep extension installed you will need to disable or uninstall it before installing the Bicep extension. -{{< /alert >}} - ## Terraform extension When authoring [Terraform Recipes]({{< ref "/guides/recipes/overview" >}}) you can use the HashiCorp Terraform extension to help author, validate, and manage your Terraform templates. diff --git a/docs/content/guides/tooling/vscode/overview/vscode-bicep.png b/docs/content/guides/tooling/vscode/overview/vscode-bicep.png index 679f6d4161626289d95fb3acc47ed7a355a8538a..0e4c60f84c93f0535024248a79dcfb038ec7ace8 100644 GIT binary patch literal 128752 zcmd?QWn5g#vOWxi5F`YL;O;KLB@8YDgS%^R4GszJ?i$?Pf+t9DcXxMp_)qrP``q*1 zB#h5(A+Kky^9?sNL zQ0%%SwM@dg2TRJ0DrRRX1XZC8=bAKxBBM~ccF&+MPSGPW51b1WF@%{zpvT!6#W|6T z&kW35AW{4t>zLO_??a05T?Iuz3|Hu;eH2D6gkURG0_)?mboVoZOG7j

jo$VUUo1 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

ilcJyW}P!&%-`^|M*l7J|>rJ zgp(R{BQCy}qfdq;B&3hD)m88OMPC0Jyv%i=0M{;zkN%SFU*z*kR4PI*^-~-w{)k%r zrORKsz#$02kJ&7%F8}(l{xYSYHC|w*yDp9WL*w<4ASjmJAHGxeH`Vx4OJYG(#rEvO ze`x&vHE_Gfz6Cw{|Gn5B18E29EJIuV4~BnPhlH%n*OQrE)j5>;{(c-D5d`#KDS7t>hgb* mjE>5mD)8SL|34S|uJY8=@V2efaa<(ePg~=rdLH6_(EkH}Smk;E literal 103384 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�AVHh;$~+gyc*F z`fB69RAp)JEHMmMgq=LNG4fQ$bVr(Uyy^g= zTQ~WN{w+IyT|b8a(VBheD5`QX9rGfhsKwScft2nWZ_YC| z-I+B0^Lcwai`?kK>&`DWgn@H^MYbI(W^-QYP_xU)QFt z@==#tIE{j0rF@kFgdE#WE^6a7RwZ){GhPs}@o9~JMB+7E+g5>+$oKr=Ul5it+TZy4iC>;epF*yuV z+%A!E0=XAhp7O3ew3ZY4L*C)WX7Hd=Ji0TMM;kKC3aZXqhvCk2BR8#vX(<2MyxU zwopseM_%!Qqg{Kd+>eNjrTp=2m@Bbw3>xR!GHm%f7r?f4wE-F0^>~C?)pH`8nX#DV zb{X8Dt6BohAm+2f2RXs3?V^qC}+V5TlASXdP zqfmb-c(yDSnV03Jq>eG?FY!O75QZKrO;?#$KTcu3W69PpqgBaf=z5-1r|9PU zk3rZ-!TC0|?nFa8#lZWILg&lAp0eQcpW64w_pM{k*do_@BXe2A803M7CC8&EaY15$ zo*JJd(3yYZRg)YEP3zGA-ko8ijCnsh955rSc92miFEltLBCIx4Xm*5B z*j6!nW$EnsB8$jm;2I!-K~#TIY$O5ZQH+bn#KwF`-prS|MPl%KdX2c#`ZR1tI#q#J z^+@OvSu1-r|Kfd#c~t#+=u1@**?$BYwJ^0!me3+=O@o*4Uw=OcAQ#--P%kO*8UiAs zf|bgr1j?_x3a8I#-t|PM_ElBBWW9Jn1(^3VJ`1mSBiV5k!^Ek&9JoIO!jy3g@xmOnmqbDLabV9Lo(D``ytCLx! z=c~HNJQi~xC3pGspFuc#>5=;jmIh(*DbfL8l|l2Y4VlM}CKISJGZPN4=0|HdJQ{ZW zaB5!Vu0uZ@*h(y;M@zP;LbjQ~&0cOQu=^pSe@CSV@gu%7uPp~nB&!(8wtg|~-XhkA z0dsw_;+)88Ju2cXMF?M1;T_FU_KCa4v(4ImtIRchyVcG6Tb=TFh=K`KAyc9MWTAH0 zUQ%w&U3+lp`j}U^kLq7PIpEcuFz2-&}ICl3QdQCCH|Dk3>%{YsYc*nKGdmr?R!h(EnjpF;bAl;aK0{kXXUlFV^mv_=e{l$Ho$OI6 z6tHI=DJc%osw`rFutuGct>%?v@zWtz%2Tk-E3^5QK%Q4l(Oy0p`)KaRN3r&1Te<;r z&?WB1`Sa6Nx(v9>&9r-8*h?xJD71=+<`hr$`7_~a4639UbF69@0VsUx%iZdW0gSPQ zkj|&;F<3los(y*TIIe`uOZEEQb54+WMs5O2eo0GCE_7l?YJFKBdLX1{zcMW$NBI@E(4X<`(5W$(-t$@K1SL6Y;2CxbS>aKS@t+ayraeo`SX7^ajvq7cDD~{cJD*PrJ#D@FON)pYLeF)chx2 zw*_bE3A0n|UqrX9t@nbdeK%@Vu7nWV40>|(@X21OK%*AjJsk3=Avt~$orKUOj($9N z-T@FJd;s(40C`JD{}-hb-TjX{6o4b~HaO&bhg9tR|9A_N|IY-xf1Z6F+=2vrm}$C& z!r7jN-?1~14g9+XROE#V;Hc)(fT8Bm*Ilq8{D`{u@s=GZU^XrrfvoA>jZv*I zs4b4O9)4&3Xj;TOo3g%#e`1ozo6+& zSx%C+Y9dtm$c1jR(gZ-&cN?(PuJPfY*;%{bO{KIzV!sJMw9I`Mcs*SuuaD5YCB&$T!fs4s4;7mFi>|=E!Dm+hyeD;kiefxqQj;` zj|RuFV^?n6IJdfUy=g^I0j}7F=8FNhxe0cfBKTPZZqjJYSS%9&bUN>@DvvE&-Nt04D_`hW@uYW=C$JRgZB)mQZPV4 zhO)f|nu$HQur}0{<19Steku0s?CdODh_0}2jX%brZHN3g{@(yR3P$xH@{Pb?yW=XM+lucqzUD9%ziMoQ@;R|; z-2uxr47p%L=9c7DT`^E}`f++;xGo&cr#!s)fy1RgUk9}NJzt#^Vg)sat%FwWCZ>Ox zs;A=k`f1vGn}>BEDT71Hrpo(5ce-lYXYzTe38jZ0I|RgPoB_d@d(X#((v_)OEB%7s zrExTd?e8KQMCJs_W}2Ft7fivm&UJW2zpBH&H{dE(KTeyV*cZkgrH1!zu{09c8o!s# z7BI@$D$aWeJ!PZ`mkIUc6w2_L+(4dXtog7kG*(E8CbvC!clBuBgjV2+C~|vFk5dDH zk)-chr*2*b=+U|Qy!?&LF6HrTqpbSPg$lM=C7}>4=bt0LM=FZyt`GYUSoxm|+uO-~ zw+qn2$n9%C65HEvtolD6a02JPg5x#a9}H|yr9iyCRr$m>8%Valrj3T>S$O1EeT}4btnr+DGPL*p zn$6JdDQuy>K^jzU9AloIoY7Pm#s_u%+A*gPpU=)d{jg?(0gmH`hs)AX=xosZ5rJsX z^wp^k=kmN_H^ztnbL+|0did=z8*;&&N*Vo4sEXO`P#5e}z-zcwD>>pbN9V=)T<6a> z={ySCwEMDqlMCVL3!OFl-wY3)Z4Y#jv*4<29D>`ZM>O8Q;-UpSA{(znz8%)*H z^^%_eKXkssckPy$Q1aV**;kNnzQ}t{WQ#g}F8-h4or;-4=l=`4%e_5d;ejqq3Yt=V zG*(;1vw!J!qU5ZZnO2_ZzH8z0L&)~nOB)Iq9~@l-Wi{HIx-{9Gtmey$+}lC~qdQSv zWw@~b7~|eHS%#L;nZD>)mjY_o5J2AHRW!Oiib~Xe&%3{f3*K|}Syt7Ll}Iurq;SV3 z;uPJMhP1uv&ia612xwXR>%!vAXF-Ti>X-TWfB678({uyM_yXS(6#5<~189@Ie zi)V#6|9KRWzS@p26Z}-+dgtU#?R!3eE&-mwXRFNxs+lK4P;tWmi0q(%+roJ7#q?$- z#}!((pOcV7#W4T;Yrm;{4)5_(=&P85c31cv5{31j5$ZE^(q zgYI6=@r{JBSl;9a9a!$67;d=AGQff8K1ZMbN&|DfzH1LNqm8CR;zn%mJZ0m7QlM_b zPX*L9_`Xv9GYpjd-!O2}@Bah?O+VbYoA<6_c%GqZQ7CD-%=LtKq;g^BOg9SMJsvi0 z-!FpXYIuWfrAA}1k(cpdA>1FP^t~VCnJ8gI+@Et~x_U`lkDIE|jI88Xj-4 zC#L^H1MlTU?B(rtzb!E=(dYKGMP<^kyWZVa;AOi|Xe3oaZkX3$yUgFKVp!noP1YIQNRd_fqH=ieVLd$Ya=p*Y|e~}ITX9N(q zQm#Bz)?i|_Tq5|4Z!GR(w-;4?&`Ae$&hJbKIJ|&3spA}4o5Da4IPD`)Y-wg{##Lz$ zr>#p*Z;n#~TlU`;h(`juYKm%hB&>KRf%R|$Wh$COeSkbliOyHhY!f$vr9>Ast)aQ9MI zZbio}M|^kiP+hL&)_V%&FQp8pPYmtY)d~i5KPA*h zhSo9`W4T_%Cy1_$?{KCoGyMzbX4x7GameDUqTVgIJ*nb=96Lvvr(sZgt5!XFE% zU^B~9)3y)rtj;Z&TqR|x>;Dze_pNNQG28H})lZeqlYGar!n8PzG}jd~k=s0y*0n7m zOkw57B@ENNQClKm{q+l;Q$T0S5A@U*frg(V_UZ|>{>7o`!26fsY+PBE+ptFbGZwBC z`ts3|h_5g#`x}W?{PHTn{W-f#itrh}7p`~4La9~0YgKU{y04d`aNGf{<19+3n+#*YRJ~E+3uz_$?F37>g%0ax8yPc?2 zT+$Jgei|Gu;>p|mH@J)5-2y_LNixa@ftnK+V1bjhrz`RzUeB!;{SdTX11mKFVj;Rt5t<1KT8k7P zEM0r2OoRQmRyXi&+Z-Zfg)#C=k>;kX^2P4O(yKem=_PxzOOwcMo?2VFX!_F-g-siO zNg}Yyq^`uO@0~)Okg4s_$|Yow&y~FPW;ZJY((qGePuaBgFP-`E2TkA~h4J76X1mq; z_9r>qEK;Lru~uQ2pRY4gN1oyVs%L{X0R|=T#gq(GZu?->I^EQKQ)%C65EP7cs(O5+ zYTv6CpTh!wdZ<3@;P_8Dq*ky*&<6%KAt=cpgnIp-j8)>&uJHP?0D zt$(_!;;_$+{3F@pgFO8Zd1_%@&Mo6I3Pw7az2Efcz6|^0FGQ3+vM~vG2Q0JX%LEhZ2JY`knLo>RInN@P;H6o;_8eRfIiN`G0S8>h zhWBRcpkThnb|Udsrc-_%>H$l_haAxHfCCnQ#2PJ}t#V?*mX_gC1Z-ouC7rfMYm&h^ zJcz`WXSqgEMnK>}yrwIlxeXA023SYS+l84ww_XDl*k^#lNV5FH0&7-F((gIvDrd^{ z!yuxA7Y!vL^64o@!giMR`et6Nzp4xa?X&_tJJSE-t+z0NEEGl#a&l<2eXg)omAxM|I3cz%-bWeC`l7s&z5dWO_#$0D$^6mr-1}ZM(+j6G`8{R=Iky2FQ+|Kz-hB z@N_woVNz>TL2{T(q`CEqHQvWLo5s4%qXao-W7pzw4BXwiZcb$K@J{mcmRliv1?GCs4NXzNTo1Cu2wVboQHP6-=a{VGAi zxQ$UhfOY;g7gtfVl*OLxdIT}#%*Ba68^k!YBNUfG_pDihs}XyM2<2>&PqvnnOxe># z=!o=(#W`{c`JHnV6DFHn?VC@MvS_nx(BK-Yj*+v7g01PNzaPjT2(sLr=3|vIz)!YOEn_MIDkU1mRop%tM)Sib7(&7V2n16q zPDt-w5relcpD%iR+Sa6>I=*k)uyVi9awt#DzX33!{A|&ZF{|p+j`hlvs@uSm;g>4R z$B>a;SA6qLTQ2zv$hsUFcmErnSm?CF)DR4dNum3PCpPr>)N*^I+u(>(o9A01IkA_b zFN4G)3oh0!CmwwVI`QU(V@CwyIfqcB@;JYfpn!V4{So#7&}`>R z`cAO1;_RRBQC_FE{)OwXSC!9u?>%#i8|s?;t8$+ethp~LtgYA}7K6fulF-Vnz_^TN zx>#kLm>nz)J%9C?2I{&bCmhw%ih07PFp?e^ z<3hYw{HB0cOJC`5`& z((F-Oye~BcktsK@xw%YS`e`h6`U)6oCVH^8i6(Y2g%|p~FAg$Q{I6uOF zPc4yoeO`V=BTfK}iMmxgUFfeV2a73t$Hv_=&RW{Jta|_!u>y9HMh_=QBoE&AtY=%g zq;IlA-l^oB!Fo?tDzV=2uI2Wt`!iAz&l8>+(V5qZI{|Gn?`C%VEvg3;8T}_z5E0dN=9xno0J(eEP$obzX4s zp{Y5v_av)LEnsvK>yAoM>S^wr;Wzb_We}m=Vk9@dZep}}<{I~>%T?+0B|JTq3*U~5 zjYOI25t7Ek5b&StHD`fT%lBq3S+j;Z!CzCX8d0-ZiZ6Ud_M#L*%F4tH(;XnS{$i}Q zVrOa!l-vn}uyk<{Ix_%z-^t~_U6Hnf#QOHEE@vE#-b!$#N-RR;lgmSU(Vy3(q~pw+ zZBO%I!*)u3SqC{DL^r+CIpLnNec?m0(ac(&^Frcu)Kz@maw}JvJ=(u%K8cm*)SjSU z7feJB*2X%!`o(T>OfwgQ3qOgt5fg(B{x?iiWY5R_!xERF?y=3^CsM(vJ*^$jBa})a zJ1t{Sg($?J*W&d;#l^zj(~=wBDr?&^)DH5R|CJ#QzMNH^jWxd63J9W1$!P7~-pB*7 zbLZY!Gu<|1t3`rOOqFd9lyr|Ej}33Z?>pNyUXql=X&_XCE_3?r63ZKL<$0RprYIt= zw_L+N;S}}!*#4lB@7|7#fo7D4hAbe~2ZJU~E>AGVt~ee=4zWlMvTiyus%cK3YGQ_j zZe1|kIH7O^Fz;Tn%%D){+AAj&Fa6`t;=-qF1&FNB{#X}`AFjf&tFzkE=`%VAU!NBWGkpCNa*&m#=+C3guxx@%-Sl04b? zWz-nPex)7fFY_zNg=LI4a%k;r8qCEt5RN6u%du9(wwCJNumN6*oJOv zdhz;pZ?;u;Pz=|}Hqz9}N<6E+?B(AF-aZBo1(jQdOP>H5QW>dX1^q5gZ4W&?;O7C$Hz{6hE3;UJwyzV2W%*tha+wG z4SRu`OB56>@;qEO<(AED61th@kHxfY#V{jS&vfyi`6IM8eT8}gO-}!PdP8S?TdO_& zBsb905?u{4v;}Y`zklU@V*Zi;u>813ol?hvrD~f-T|~6yP9*#QGA@)zi2V<8ILH6# zsny*T5+1=jzw>qrIJyHAo!^uRR*cpKS0rb%)O41}H9?N^Aq`DA{irvD|X z`Emi)95=ZB(#kVHLql3HD>%h44chfs%1gF0|8`RMtSb41LV0D5FWDpjh`0J@u|N-j zK|=ldiQLyIv{r9VdF~C$=<|wkr25zwD%d)mN+Zn*TeAP!-($e}cz_t>ffGntZrKjP zgf;g*5?U(=L^J0<>Z`_3_EHb&~2tysimL-{0+_xZ)Dl8<5ruub-I_m)Vq~1E^z}9&8pBi|5>D= z0Dxz@<<1Wb%uD$)lr^YI&Xu|O2%eIidYbeGt35jfRu`01BcbNoQs)|FRj#6yC{jhr zb{ipe4Z`wQyP<@|ldK&80Q==*mfrXXsE}nJO-cG_k*ql~RvgX>)_ADB_MuGCr0v`8 zfwst?QG%k0!+3McJ9y$ajshd1%7_m|d`E-YS@mhjy4{?hQj-yN;~`Kh>{dOder6x= zr?i%61rvs`YI2ecsH3jFnrPOvy9?7F0)5J(deaOeQiC`z}CL%Z>5rZer zK~o7yh<4AwJ7!uWdD3opI9*w0U$R%?YE2cJKdbfn{1A%*Jj9(ho?ugmU+12mQXB&2 zW%RC75~$7S#*sCHwRk%AhBWjA2tdJ$9`)kqTr1=Fw{o}K-Lq(O^CCiqIlYtCVwA-) zxjDBg)XYecP1u{(##Ow$gK9}{SEzuj?UnrS-e0!n#Vij2rphPU1^VPCZ>^Hja9Nv2 zu77xfRK^3cz1-em*BC!=jw&ai@UkRAJ7kkj3>63b zIZv=yazxp0xlKhlu4dztad)mknnB%pKjz!NGbiTXtlHLzQgUd%xS*_40b0PMiRjiu z$r2#ch!jmwOhHLlP20zHmhnDVmuEVkfn<@K(js|2(}gtFQH{I8Nevz>o;-kVqE8O) zBK#wJ+JSe=k?yJw9Zx6`FaNg%dq8z6$DRte8w8A|4n^w1gcuRan5lxsmqj_AliRTj z85a%P?u0bl$BI{xqmSwPtNStBx~L9JU%L0=4_pEIkVU2)8c_uzTp(Qa_-APo3H=Q|G=5q$9YA#@0@(&0~V4fpvrLpTDzwz(Wrw z-g<-zIk3>Z&mZvZJc8ogKHrF6|7ZShl=5L>3I=9Hy3j4n(^4`9bbwYxd-3e1}gIMvdTebQq*mknT@SH?IifZ zOcE|VI1a4I^3`3-_v{q1$WMzrViV1&miAYrWXb$>&1z z{(bd9>wn$>|2**iH3OBV7hJiz*Ss90s?3*Ci|*z?_I6f{*8cpmAnjlJ>OOirUUP%n zZ*dIWol!G*yDxWblX^vWI_T2955-#+X}oJ?S%B8Q9t`hYWP0E0*k8`VeUdMxcccEl z3kP~g=Ne_fm9FHCELw&!vGX^AVzdhez==xOUhS^o)M=@Qr;i>#t%zqha^%FRd+izx zuZnB2u{>xmV%vE|#h+jbZN;dG;NITe((a}U}-WZ+a;!QgM9|3g0TPHlkK z8%IAdq&eTJW+U<#x0OL?V!|6j0}}w@3x{8H+}FP;s0qo&(uHNFSm=EGb<$9;3h!i) z%()AzN6JQMw$~6g8u!MmllA{=MzHcTYwC8t@2?&H{Mh3qP!YF9W7A_TuA`$ z3It@1Htg3ADP{u^>;*t`LyH6z_quhHzRHc&+d(#MXD%ak12&m0s~pIULMCA=4S0#BTpN8ylH;;VtD@|+{@*H1=S-!}T<9$g4$(|~^C zd2G8BaVtsMt=jh^6YE(t|CSg4#xML9tQ!IMUGV?$T*;+B8{nx&!(Vx>#|yg2)NRRn zuKdXpFqmZ{?+S(OL|{-%X{+5#Sw#ny7~L#`pT4ioF7X!Jn_+)rRUWts2j_6ZhWh!E z3mc0OU`CA4;e{!Jliv2b{8E$dw=u_O<9=~5+l14Gji2xM3FVKSL7O*RZ$32TL2~9f zE}X0pE>3$v4xFm?dhq!UMzPW;QzJSHx!ubc?>*DuSQ@YU;{{NXQwyV5Pa#1?@w@Mn z43g%C3hZLaisxO20*k9l(W{M7-vO)kENyMTHJASZiI%Td!I`dG$ng(8yr6i(FI=dn zsJHleAOHZpa;ZBSk+!dc!Ou71-xT-H#5I^?#uirGiEK+>#Np10{9C^>Lp)|jcjiLLG7lzLOveOFEyg+j1oHw#+TjXG7 zmK$wrYT9e%G*VPR`}%pr#KyKnvhgkL(S(wP6KbXlNpV)z2No$fOU;ifgC2G3x!={i z{3pR2r2i%cIBOc@w?0^Gm-E0dE6~B$vzRhmE+h+^m1TH3B*bdM53V3Ug*n0I2)9D* zek%5h5!j@~1p}w;9J*3}CH&vuL*P0KKXP;>&8rB)&i{0OkA_E5JIo;b19^T65BvRR zqJ1fel3VN`)B%2KS7ibkzsX-9;%1)M z6AHp@Z)j`tW%vV~Y1VS7cK?78TGJv1e2X@=Z~i&Bw4-gD*`H=$wiz`36$mVI1GXr^ z#>z+KLMZ|*uIK!uMg$>iRwvN3+uOonP@(DLD>@ObHyt;qFqjb=VX&f&ceNXH-+T&KY1B<{=R?HN7A)tnOh!?d&HYKPdUVWujZ5Jm(Lt1T%S+isuWyv%70ls&@v<|AcXb)(hl}HI;dL|WZNEaYD^u* z|4w}VAL4%mzY(`eQf4qtu2jF$K#&1-(p6=D-E`jDQB1$W-O2!!k~O2&T{W{|Zpggg zVJ}zQx-wn$u=?>Ay_X{A@{J`qA+g*V6MJ3_={~0QA%Ux#>jUFBZzcqh2zcM!-dUkn ztfB<(+y5E&3I7}Sf%3FCrT3DsaG8V)WTukCbX!k?p$?p(3cj{uwSi&*Gi-Qz6jFmq zsMw|Lm+S?1gF8aq9&>(cbq%Z`(zAn`4$cuuAhA)H5*4gjm-3&>(%2+B@xbc zwp5vzQ%wpj9g8NLR{L}G{Ea;V`6(mTixd!5V^`fhgATg^BrgPu?U+legR8{TT zFDxM;-HVQefP&PbyCjqnR6v?VN`rI@QqmwTEvO(NNOvttKtQ^?yYsuzz4yD{_x;W{ z&UeQ7=ZtX}jK_h`bTQXlbKduL{pvdN07Vn#!qxRZ=)7A23`Lx3e=tPgRV_(k*+Ys0 ze%Xbx-?{E(S&^Mm6uU2ob1$)bCRWb`;6L_Qi4VEP;}mT0&vJ=y+wP<4T0TPJdi7&rpQ?)-5CzW#?J zkV@#kI|7;TDfRx7BXIw}I06TwmNHtlXPT}I7tZsG>f42PYT>*C^_&wX_z{v2G!$Up zZwH1Iqpm>^a@#1ryMR^Y{ZD+xtog@~{`%R*I7 zk0>tR!;}q!SbP&78Sh(SlJ>voL}Npd=-m?phdp<_295W7Nq@A3g-G%8E{9SJUs&br zO2RMCNdF0swNJRYI+YEn_tKIelQUzbD~VP_rcW5-wBj`ZoDzw-SxoTLy~kJD$Z2&~ z+!3c338-;Bu_2uJU_osIe9box31uQzySu_y@Vk#vGoGocW_+okdgD4-xd(xnhGBAY zMYWwL1Gli|QuBi;w<#{ot{$;rvNV|U7gimCAykZ0FSgQvc9z#etM)|3Ce$BA+@2H| z`1?2YXz00(p#}?F7(~*Dme|cn#a^{?8zt>s0?fB1EPUy7CEdqvO)U=7#!hz{%XL#E zjZELlb{zx7aB~}BnFMMZnB7#RJ>1djI~5uZh4EYZNsVbrNP%Iy(&Qbgod=WR)9Srx zqGalMTIi5g!znl)9*STO1(c@6vZ&5n0F*Jj zG_q+ju^UgO`m1AYtLe)c%z1lp*XwySpHvUp4Z`kaU|GyC>(gUOY}r{lKGjbnTDi7+ zR74Aa_T(fG`Z^$oVOF)32r5{cO@Wv&}a#QAEM}UYAgg05P zU%P?Af)2DLLgC zwlZP2AC8Zas-G52CrG!Slugqho~Qz00QDzP9@g+Y6~$KD)g($bO-Fi(Ry+DL4C&#? zofZ}GD`W1N;1Mbm#qCO4Y{nAdp{tV-o+)xc8{!T8B11HGH3oyG?*{#mD^W?WK~))Y z6=8{gu{M~OB5@D)R?~Uf&Zj++mKJ>a@xY7>(^AG>t)``fb=@OnGnj@aRl3|=Jf1Al zcj-9?j_o8d5$7~GIuJrfx?0<7e|Y%fJGd?;omca9&0`Uk$1QfTg3oJRF-yY=mySTZ z#>gMB>3?CKv>Q8;c*7xd_7rKCzf&6;OZ{5(8^;We1H-NOM5am%TkhQBdg}ilbYB7w zUwaZx6k)g#p!+-k-S-jRlA>!oI>qvr?PGr?=&*Q*!N9rO))NXMwU%0a^_P2)mIe1b zX#{44@~rF}@4SvUc>@I!#<0%IS+3%zdOEdCXW&@zp>niY3q5(=g| zAbBc|;rkbZ7v&^>Muo!6j>Z6yFt{@FWf0qx>e~LOk!;#vHO9SszEowf%gSyV&eak+ zwVr4}N`@kUP0XDVO0I@Y!^PR05#nJw@Y_IEt={uYiQJKP0j&{&@4$_?g*TCF?Dx_L zU3>)4$Qs^DK5zyQwRG5uKm5L+WN9mlMqw(Z6;N^a2#rklPTAzMr}8(YpY~G!!#+q2 z-9Rp_cI_RzI}}Y?c>6R7-j@FV-QH%Z1Xk{C96i1P0M~y|Xx6V8``J#(M^iTk;b^^s zjDY^7_byG+ah{+dPr@(>-&6Ug7nyW#cY*IxTl*#1Sdi2+t{XVSZNMk5gx5Ol>SJ$rlz8!KR0aT|Cr#?4Gafq znlp@Il?+e|iN?XZK&1ctHGh*;WF$-^BRC z3AtQjQ!})H2y4z8K(AMGk67lnw`+E|7nV6IyT|$n{b$y!wI|V;u^x(zm7=GxzsI%V z=iSw7wXdq(V)obLzc;LJdyz;na`vOz8z5olw`nmlwGUHhA;*;*`zd2XzU+8sw=tp~ zBRtCLz2s5LKT{|VW@j6F?ij$6rnpBlp0eRW6nlmholt@*5*K8Ne5xZJ0=Mbr{ddt(Rz$`t;+-zdF_@;xG!136ztt{iFXVS$A&U+aqlNaN}c z0!WkU`>ej8k;B99?#qkFI-Y;yp+?GDadhgsoBzE8hW@eT{|p9Hwm)CqZNA)2Bccm?%;(02dy0J8kgdjJ!~fCo@Q@~;QbvHGsPcuO;G3U+ON)49|6p@m}v>x(Du zCk$vzZl2hl0{%A40kHgM^75Y%kQW-w@D<|I0zy6`lXGN-$~lO(k|E6FOi*`=hou=CeFm(lLX;|D|f^sF=3TH7Z9*EVsxn+YP503#x8E^mVEDVxN39U z*Ce40gxWo>Jh*5^sbRRzMfPv)*(!h-@7~q<5%1tz=EX)o6ej#e8=2J1(2ZOk+{B(e z+ff1Aq0iBs5c_|a1D||cIQXYI&@=*=0|jb`DYw`FvA2*;(*RPqOv~AaU*KNqG+Zw^ zM83c1@ue+&3)!4)Y{HI+A-Y`qm5q*uM`IOFfG%t{8$6>AjEExFrwd$wp7RGtT}ok~ z2!E^1oXHMVJ3r1BqbxN8>*>dd`diBgnt)vOmfBG{Q-!kk2|z z8d&doM18g7!C(v&xZ^~Ri2HWcFjMf7lG-|~kKAk)-u{c)(4zQJI;kbB;sLK z({eDBZ(x&|%kFokG`gKEZ*M_+K|&>L{r(TJgJgK|((wdqd-d|Eex6Nfs`%BRy63^q zisM%aI}hxOZIS8*o7Z;e=JRBd+N;bG%T(X>`aU%BoEX^FH;0~jf<}#?Kd1$0Ewk9p==Hz zQb=*|I*TyBEEc8Ew?SUkvX-}vgpv8)yX&=!Xfl8Ektp1#YE)@!95pPsVYqaIgpwY3 zFW$Q_eG3l8fQjFEU}xuCif1JugoMhMRvCsjAGZdyPJDgjR@DGcQ}XZj0+}=;!aiaHJcLt}byhO$ zy46FkKR-?qn)O7d9K&`7=EW`^wW=9hG;CxP|0oW9Jx8lc5z06KO(RB2c9I>8TM|o$ zwnhm&`t6MxeHVIB?@k#Z8(R_Y&jB;R3MIc@+FT(JA+o$Glkd5hTEIh ze1}a#EY)j?tLE6L05RLOnbx88EqF)JWYb_FeoTO>F9cpBVAAPOb2Ln7O3CK4;_8YE zDFBet4yS1k_Vzgt zG!yRuN`P~RU<1GOjld}krLT5ab6FWbBIZ@P){UkMXiUxCx=hN6Y1-;IIi_G<7HAR( zWBmdwasAx2*W!@29_983^-1_i3WzR9u`apPBGs<2fuSgybrKr%=2wIX52HK(THq@+ z>mzm4somCmS!=79xSKg<=F;o!pjhyMRb%`qQ9R*DB#00#0BvI4xR=JQsntT&fjgXV z;ac0PKd&AS8HO}t6T-JZrkn2zX0xo0Tm>+?h!Xg%*&x`RF-_3HBun{qg`bMha4>6% z;Xkv7g}Q;!!8uA)gLwed$)z+kLTdz5VWZ0)-^yJ=mQo(wCf{f_@KX$q$lV5~?#=hu zY_hi(=KMR;*ouM>cmEIe@ZVTQo`oI2CCZ;?0W|0zU#|TUqqpzi^*`A}i}$x#e1E^9 zEuY-};=f=2mrMLVflCyprr=$FM9lgUd!;WO(Hasv@cVYi=Qo!Btvq7xuQ=kz?@1r~ zA>aLZ07MS~0mR&Wwv22$TyRe*%_a1h=+F&41n8pV=qhI>w zb<4cqD{f-Wn~829qHpa_md4<`e$$+;6({--iW;phJ~bJSA2A?L(Ir(|9(ASk^N zWO^1`Pw;I{RP=$Q&=%jZj%cXj@(XZf6gk5os_k! z`|I!HfeoP5DRp((9JRkl0&9xgUsBE^@^Ok)+CMyg?Rg%JtCx2Tw$Wx6wGLjsg>X_F zSK>*%^@;esz~p&fK{AlkrR4CK03%NNd zj(z!%;%P;VSi0W#!Ku7(!+)As&xRda#lA8A*kH8@vzoY;WSkv8uo>c}M^Oy-+P z{%+Q1a~$i}TwKiA^HG@WpV^|7?*D(YMGaaKbkT!wY8!z=FJd;Q7s9CSD@y(mmLjuyu&+B;JC zZ58>4Dm7g|aZM5Xu5Gi${fLHZMI79{x%ugiIJ>nJ ziT^o4^u~Q&^yXfJD|?5l4+$N!JD5YIrTY#g}<*Qgx7Cf*tk<(xgZ{p!9~lz0lB z!`-tC2|mVC1K&O&t?&yq zOOU%0ia7m8zejic$rXhU|IHOG&TI?R_!}xpu6#+u#|KbcK#4i&^WWZ#aPV%nVGD!1 zkCulKvo20zsHw0GVC(H!z zmox{)D{a zvwlO`7ZlJ}z?xWXH50VU%nf@v5GcZSvp}nK`f4e?6P11RcL)+jVc)^F>)NLT)zamw zTt(OL{Yp({SDf8fCKUn^nQcOH8tUmG7iUB2D)a&ZqhT|Sz}ucr1$%W8qLW*1dK)ZC z3XPuti=Rc;8HhpPN)K1bmW@o=nXJE38T=6Ys?6Nxk*#sB=t=ZZ%*|3=h@>=H5-zn6 z6%jFfHgxHuxQ`e}O1Qf*ax?$yaRKm@eG_^LB|k%g^1OKF&iWrFjigKm;6eVf97 zsuSMm>z4>KV+V|n`4oynGF>L?=o&3i86C4ZF)^|EIy-tMEx(NjKn>x@irB^__1ppr zdh9)rIVXe!Hta%E-?ex2Q=#3QDv{>wNl6bOMRsr#KAM)69J5LqAAtI4ls@46??UO=CX_IdyIFpQO+Hl&JO}xdjq?_Ce^W>tr^haiO{Z9cJ1SjG3$3 zy#X{sY8tQ6!f(eObSMQVRs6emOu+aDUg#268O1iQVTR2?%OkeePx}5?1F_$MQ@2`J6}nGst4 zQP?FpBUGKKuyIQEKt!W(GB*ooYhfg8nGx=!@fw1V=xHp00}X}}I>O~oKjV2|-LrD4Z)(id*tAK3hP_}UYGx3vrHWgK zu!#rCK~AkFO-+KEE-{fNO&PR(^swJzK)7^4J#q{bhBnCGCRO68xlmRCcCW5M-VaSn z0SZDblhd=CF<~Otl&buB0JqC18w2NhQ51|B6HrS7{65`qg+TMVE#5bg%<~3K2@^HYRrK*g41`G zrO_Y)P4*aQ3g*4A{3Qc?kzFn9BIF50+4&`8po}K$DP93bmoHi;y@@u&5J()TOck@qf#<2+S zfA!kWhcH_}sOimIdCoeqPW%iZf%dyxzdAUvTjblmN9hj0Uw>bIoLtOuau?dTO79t% z3ib9UgKk~yw4^cC-e>M%qHrycX(7+Rz<{VlGrH^8_{!Zu6O)q2A(N8LPy%{7Qn$ru zdTy&xRb61VD&*0_LPu%#G+5~shc7oY`JlnzsF>Ed-mxVaCzzXGjHT?3qL((l zJk`jtoe|?gym%>L6>{G})}KmdQzgb0HPL+b#k&rFh~%m%V;N?eNOaWd*?#u~kXh=g zi70ev%V^sv5sKAt&FkybKusSLsR*Xk%B4c76hKmw8Sv0}g?6xuKll6Gm zEu3MsK_RlYH!8)hK(&j5s@NqT%b?BE7`LgI#TePD6~hIo!E)P~XePfs5aM$5O|VLW z@T0rWOnn1SrnRZUVWmGNjdl+WFAy(Rt!BL+@<8TzM7m!h06$hmxaCICFb^z13Gg!$ zqc`>ta<9e6QSUi4 zm531+U8{4wQF(W#K_25)QZZ-#E9bxi#(RMeTMrh$K3|jHvfOW@Yc(bd zfO3mo{ut5A8$6EX$HIro)1|%`F1pccX<`wERnZe0qXs-XPb~@JSLVU^Xe0vA0rC4i zEYBuSvkLIUMFdR3WV938)4iY;<7Hn$tAfdbA$tN#aq2v%c(%~m?nFOq!+-|YHoALt zyUm)mJ19ENW1oZ^DNe-S621*;uzFACv%Qt%gwOniDT`Jx?s6nV=Tc7_#1?1iy+5R+ zc@nVkjJdgmg@5j~t9A5AM|xjyfBjRAI+=^OerZCdiz3PTY}crYPPG7G*zfPRp+zUrd-$`2d%Qx;v2az(rfPYYYZBl}|2jG< zABF4Qg6mS(i|O%0aMNuDGM2mEGccdO8%3~(q=LfS2zGY~v#kA?W0_5*n;=k7z%mJw12mj2_FM!=J|3K6T58isqhtd>m?QqnesIS@CrfpNw;HP z_%i}Viu{+~)aEeo6~@b|6vgw=`(jL%$^RGqg;9uS`wJ^L=->rN@SLm!sTu50u3 zD0k`+P#6BLxKSJl&rGHX#-$c^9;&!-{Svh+1O;oVvP2?H^Bpt}h4&su)%x8lU>C@F z=gET`09hfBat$Y1Ft4yI+M>Imm(#(TYcE6u~DCa1OZr81%_speoXP%Mu>`vxw$0ng_ndfD{Ks- zkBbs^h0O+W%>ZUdNnkUEM0hXgk{8sz15Og(9Rr}fK41dG6TrTz1xTG|0OXzGwfqd{ zCy^}Emj<3CcHswo;`)fXh9a#<{HDtH@oY)fVMUr%jtqv&JfGD*z0Peuj)`qKV%&WH z<%HUGEsTO!?Sg|QiM;QS9JV`WA25Quz^T@sOIzbqqf(bn6_7Vq^3EKLpYS4i4W=+* zk=Rs{29 z36NGZcuqzMehA`$pt$N72O4h0EEd4!J2t+_2XXiiuki_LQ9LJcTOII?dqf)L@-jq3 zL|E&1MKyqQ`W|qFyo@#l(*X8I;VpHKzBG-}BeBEoa{X`z^KpI`Q;J=3@h+Z)A^mXL z;PV>n?U99SLTvlQgqgyhrF7WqTwGsxFKTr~=!Vl?xs>fp#>%p}1AV;XoN)tiGR?H6tK z65c!8O*1d1lXDr#^gKWaJFVyFNtdzGVc;thzbAe4Dj;I*^E7XXL9Rsex6k5s;)k1K z(g@*7`=#^9?|n%yW+ez&GyPJwPxgplDy$s? z(XiK!O)l&GeYPWbU0tFi45Gxlg&x(nh^jY=^8v_~c|^zYM|{$O2)KQ? zUAA?m+DnnRqAaU7?3DPKEQr9hl#xQsZc1F6s?q3j#3ZntZA8yzy5ARZ(Fiss0iMrV zrGeK>y_oj`uDRN--@(C6MHTZL%+PS&?3j$(p#6r~HThdIspPq_dq-ec`Q|jo!0Kn; zf=fXb(Ok4o&Uc%K9OO8Wr-zB$-|caOn<)`yVJI?Z(kLz;#wYb0&hODR&Nf#v zq@xR}ji!4tv;;*4pX2dHFO1UK#sa9>oSc*Hqp$C;HX$>7m`OF3w4{~LN~+_K>H#fc zUVOW#;rNT)G9GhF@a-@ODKx$B5lAk$*s86CAXKp^i(tu_4noYKCj|=F94EL>*raW} z)}w4W@yxB@=q@%V%i$blAza7-7<%$4j^&ve&a*HDQjK0vX$KbC8wA!I^a`s0{4DAF z$L~n()!JlR0s%<5?s>XeI$B>GD+{s*88w(hqEopV`FuX(84xdoON%i(lvkGLOeLDU zx9qe6Y6~|sdZ3LZL>7|>ykt7Xk0OdAsJM^kYb1u0I$17k}%A5w?^5ao6#ftd(>T8PX zmGNky0d$a3uy+WurPsNMy0VQ)Rw=hjJ?oxYx#MlB0-U&`=K0TP0Qmt5rz2G+ai!Wfn-g><& z@jY7#RCxP#YhLL0y`dC5s^wDw%}bbwJVTl+`CKX-WnW^$mzaZ%+w8IG0ohW#K^%2u z#YOZq-&*vleV}1*-~@pYS)Xu!NPQA5me4w(zrFIw?>~Q!~T|MZzU}u3&tHfXVyf3p!^q>LN>7r7{nqv=_ z6Av~Fidmcq#L{YY?l?!yO{JY25Tvv~jLKdVbQK5`j(-$SH>4ghnS6kMJbc`7Uw7>UU1_LP~RffG`up>I# zflaaL_Ax#z-sQP{aZnlQ1ELEb;MA-_tYlJh;S|4@65$ciKsmhTl6ylddaiJ`<3r2a z#DeQeQWbE@*x`M1RVAdJg88SCcQ#DB{nHKq;CBE2^MWWngSQRTzrH(O{HYE8^)u&y z!JkqLRAYa?qtX6cwtxMTFrGy7+spZ{@0_MTeeJ(q5{mPuIHqEH&O)!2?YY`SyZiEA z2e9pQqkG{o zO*NxJDCs?0{(qiKaNyqqA$IY3>CZ-1u6e5JT1qAmyLZ_22?;d4&4-Ni3 zs}5~cfB@4RirsF^ZULa5>ckVb+O7X|KiME|Q*Qp7 z68c}XD+&SAFV`O7^$ZxWHmrYMl)e7_q_Ckr78oDof&Ah=$m@(+T%07gZO=qHxdi0O z1CV_E4KQ;2pKdtnD}TIMA5s9l8a>E@j|ZCSXCsudBKr$B1mGHMW|;n@IB(!%E*|j) z@8v8k?4In56{(wr_cr-1OlS`eRycNtP4UVM>)f3_0YOGgT-+XCcbBU&YWp?FPI@y2 z<{CcH2jey91WzU%YwK{?L&}$$=ziTm!G|e3|L56^j;yTLlIS8OI`8U1aVe?HHY*M(rdVFvL^+?Y5IW73VHzIae({Z3YM&p&0%^E5Sw~ z^d_;)(&gQxL-)6RKwo%h@1p~;W6~s;ed5qYvSo6+hL5-41;iHW?!4@yY`+4yfJuLb zK8`AbKbrsRab@^bXCe!U~r;4RrBXBPal)#y*wyPr?j((4H zl=eknirzSXaUBBmqvrveFl5)K6+C<$Zhsc24mqn)(&r;r>aRgZxV1|OZ!kC<@s755 zD&swqoihK{fG0;u;_C+-`DiJIx>rn{_rnQ&u#{Mk3?I(*kz*|YgJv|vB%lUsJoh^h z4{3m%RI)A-8(P#4dJ&4yVEI!3Fn6Qi9mW>bzsj1?Iu-Fe#lRux;z+e`CkHDx$ymKt zP3_6_#q_IN96uT~Eo$Nk57cEr0&s46cvy7D?Zbr)wbW#=`m;|K$c(I6 z?@eGCVkLCa(^TRvRD#F-bStB_=HYer45qAH0%k|^k>psVbk0^M(pag=q91u@rqgsp zQh*38C~D%{-is&5(YUp0Q&PsHGEjZft9zyAW>O0VJxBvo={}&(3hPTE0}kK;1bpQt z-5d@}AGUsLGS`OpgYkv&9Y9T)&k&a`6L}!r@pPu%%c;EhkkC;4c$D)B( z8+7Sg2+rIi4V_=gea~{_367NMjp3a!MbcY`Pbi9TW1RSHr==X1XUBX`(2d%_JOQR# zpN3*0r(}b0)&~yKXeTGk2nFvgGr*G$eA9N>(SGx}8+dN>4V556aYUJRfb!$E9_RVn z_j0m7*amm9lgLMa)j0fmd=n3@uSE)-reX@8u4!M|7Iieme%CDKi#%m(94|(mFlRb` zl1zW;z#MVeLH|8YgGPxjuYQCs*SYUD1ucTz^sqb^&ssvSX!&Q~;3Vw2-s5EI#28GE z`f`q|LkmWRs*Eo`dc~7aZatx})RjpoEK>`TuM>0}LUdf`-c^gwRH0)$^1M3g+y~FA zhevy!&&~Bf<(>jJkSF%LQfz+{^%W;L2KG8>6D#_g^N}RAEE&wL8Xy->k9c}>B;-=B z=O|@@dgBV7Qs>TXt(#wR2XAWeyB@pJ!((%@MJTUN8gAU=0_^*Qx_;GpL_Vi6E~Ig# z0<^lKXvrlfJ0_e_(ip$2u? z`Adq0cSpguZD@qMRTknt@`{t2aw6}efz?RFZA%0z{AkyV`P$B21S<<&)+PTXnVUzT zWKZ>4Zi=*%dDfB~{#-Sr1Y(__KP~Hiy!mC`w?$tpVKRl=XsGJQMpAXR)OP0j`Nd8V1V5t5c&RlK>+VcsrQ5McBS-1yS}pAT(ew|H+Bj(L+nA^Y&ouY^Kf;6r8sYkYl$8DzZNtdFKT{0clOY+zd)sh>^D zxB}tYYPLJ0bcYPBzkIOB*bj$g^8gYx?s9YO@|1*T75($G?CMFk73y(u+^)HHk_#@T zFOfdA)$g1l3c}3f0FI&Fj%DZ7zPyK^EjodoXvt=TTaMsjX#&0G2e29Hi3_t=uQL2} z3BYfy%n6HY0ESz4>+%wnmkMQ%s3*ly&~f`$?jg99AsmxF7#03#qQp)*`*ZmM-k)9TdVtv5eRD+xi@n5=ycjXZ{{BK@zV1%Utox6~d zgYF3$1*Z(4kky$~(h6o2xIO3Ik$v`q+0V-)iCy97;)T$xFvHShy;BqJAgj8k0bF84 zZ$k1NTiDNE+3AXVLX8sHKf#>Kr(YcnQgt1F@;9Hf~ zFsx}mRo``D~z16H%t1~K9t6%{A zI@uWeq&}IxXG!@%049+Mut-*?ZGcRIItO6o?E=dxLA8EhQ2XG$Dbnx>n~kirC*U_I z@cyi)ZIGjIqI)LfB_}>>5m+o?vNi8COnk&T;vxW|@SbvB1?9PF+CF8Nh$1ko*n2k~EqS-#`-ILX2V#Cdsw3Kcb zL+`owq*RDuiUV7IPKp5*zno@(YBS6;tw%(I2FZk2y1wPHf(RE8OjE(zMVMoml+>~V zOh8hldm$hgpIn_I+&prbel0klOgE>yOjo@gH4GLz?9U+fC*&N*&<)`^y^RFt-RF9J zMS}ua35H|HLh4*ksMx?L6A|8Gt{j5NR0GsF$Hk6k^wKBHk5)hty=JX|)4tK@hnHK1 zDW00Tr;{nwM(j_#J8pmU$rjpjW}df+ALe^)Lq8e1wNDRW zIJetw4_8rsA&x!|Dc$EPO+Pr5WYn(a5qV0xH7g>9AC1o>5E#YTkl1tt3SHecW~m$e zNTVhpG9=#JTRNip%en=(r+9_!y~7fJpQ8UDyFcFbn98byK>GBjZG&|JXpcNB@g#Id z3NRZ)!K5$GWL3I=q7l86xLhSoJPhy0p~S!YBz$ZpA=~QBR`L=`^?A~mwS~JK8Mx_Q z$>bvb}2Vuag{_VF?t*)*($ zH6KXx)V_`T@oAMV3zPJ$s!P#z;*qeH4S=dv;0@VOCShra7a>2MGxL&7ljWgU zWrpVV!#qJ=etx=iMyo^Ku!w9yZMn|8&gn|vDRMGj7heRx; zSr8d&8hx;CnWG5aN10o(b0~jEuxUwSe_pCh*lEI{6eNXDRJx@TpFdG@!|tsap&rj( zqKI2)pw>V{4`~8MfH|_4cX1}ouXfA@gj@0BTfld1V2ST1d60pED25YM>xxJvY=G(+ zSYX>T-~E5FvqbSrcuMeO2M3QRyw*pIw#!QV?cA_nlXedj+dGZg%rIH!EQATO4jBq- zyoLgsP30UKNzksQ8z^`_Ij&F+bq9R19P!|>S~l=EK-m+idiX*}?E+-a=sx^+;<1z~ znjdSI@AZ_>R)J-b$<_G|FICw0*j30JE0j*Ef2Bl3Gs9u&p%6`CN$PbzS&Jzs!)hJit#5itZR%6APxgVpbb=%t)sh1FOAjjNX5-n%^Pzf9u6Et6=Z;Xb%& zhK|8uPFCiRwb6w!CYa`?{QDavsdxR2w^tyl=6Ik7=fFfT9Mc44oQvC*4F4Qa=ezQ% z?0R`j;=6_T;-(OQ3hHcsfxSJ(3>S2)G(S?4kdQ1ur$E6T>KcZz;vjrWX9uDErL`^W z-acDWW6-z4PpV=wjv^+m%6lx49B7u?$CY~05888{F#2)IO<-pGI@hWw0?}Oa%luse zm;2fIHsKy-5lkuzv4k41X2@c+8&g)PQFQUc6Bk>PusbHQ-4B1E7CAy_{WCFFgfo2o z8c1;!&i3~lv#lm8pS`;iHhH{N)DJJEBxH)szngus-_0>HmP9pFVmVR+5vAH9h+^&Vio9#BK+QcK4}i4cs|U;{ri-q#_028OE77#3D8|Pv9eie1dx}^d zKew>LGk^X;p%+x?RDp7??7HoCrJ%fRA( zdiQ%EZE;5>jsE^3PnA~}yjRCcgCbn)7P^jTP5xQ=Pi;#G<&%R7{EAbRwZLhN9f5=IbkM45pu z&&jjW!>_@2cDP~(<$O%V6j92GZrxb7S?jm!ut*cZ$KE8W&Tv7Dk8NQ#9!@0=CR~(N zJYHN*u^pI%7b?ev_idB=vG9AI2J>|8?$jROQp2~!^7N=$oW?4^g2XjJ!95XAEu@ou zLVChiSpw|FCQELeu%5YXIlBvgN^PCUm1{6Qdc*w|+gbnuc4;4?71U)5Kmgb$7Q0;(d4A#s=Slk*-$UxhoWG3 z)+1E$aV$;%7mBse`E6xVrv-2R#m=-B7Rms%Lc)@%OebfUF^I-7Ic9UZv4Z|)o! zW!zXuk7J@Fe#fN};0!lRV=22!Z?5RGU4*x#RG7#=?J6zmV}vOSa@=S?)A`!>az(3u zmU}C3JG3v(`3;(&&l%7!Gq{16dG!!1$OVAJR0P|PXh)1GPJkX)B-|j5#GI&|>?lt; z?wy!H7(ulxIXa%VfKojJs`$2aS0ZJmMFb`hQx}-6QPBLghD=A_K}7~yx-d33j!ch% z6u1*?4<7a2!^)hij*HeG(7N!|KF}f$)yqAfOOC_rO9KIIau>{MoNr6u`p+ZzwyBR- zuE%QKo~~Z|$R0R9SU+Dka+wIeV{*dG$omyS0d{fS-p6nwP{Hk&ViI>+@Lo%bhQWxUmd~_!7 z?=F6P!GPDN9Djw*jQ1wc&h`XaXFUM@wSe7%k5d68f@v-WdTnkL(L13sYhbwwv}ZB; z!&1q{OKxhNXLX7+ENJKTPDcu26?->8iw9)225p#KVuBW#6Kvju*;x7 zfBBCe0X^kF^1sHK{fj7rSp01e{`Hdb{(tJfAWV`c!9y&x?z`xe0twCI*45%ChJ}E z1kRsp1rE>pQ&G!`wPVVD3JvYiq=>u7Lo-3pL?5h&9NJnpgDd>^H<$dSRMNqdZ_19- z)$j6lzjHj}FeRF8!Ug?>K=l^Y1;1Uf!jmU4V8)?xgvj@-3ML=Py3e#nJb%w>pVSXf zL+EvV;Pqr_GQs}5--1V3Yikk01i9~_a`EufV_Ds#9EB1yb|P|-l#Cy#D><>sF+d5T z0H%~Jt)%mJ`s3lo0WrYuiDZ5tim2eRa7aGcx&w3=Q3?9j;yc<_PvY4g;ED8WtPg)< z1#0SO@L0rwsaEdV2V(z_Z-C205(82L6+px_qoANmdy2hzqo~hvl35ps!Da-t>R3i&B)n_HoR4YV-LY7ThK!K4t9 z*?sy^$hUe2sRElB-{Cqi{m`nk>ColVa39BQZurxa=%a(>!L>w3^Pz%Q%1JyAveo9% z4+COQM!t;NuYD`G%YfX{dx?Ocw?RzvoOK%l!p`ErgxlK%TGvy{fvCZ*V4{-UTy@5| zHWqm$FbGwDB+me<%f69NUV)AvCX6IH0WgHErNoz0)=uDyX#=^1HJ-UT+sF;Pemq`B zY~UXC&I3xM%+%3SSqA#DJYJq4gcQFbVzes6K$ZDQ3%yI|4{ zr0qO1(R)qlQh`xxgT~3On_|y?jXqh> zI)G3CIWH)(vFVsb_xskJ7X1d}7Qp@_edi=`SA|8^A6Lwg9;fI@WI`=v3H&w+VYh$Y z=3OieY>uA-!KORPnK3i{=50Y70A%f80F8x(V4hF4)et8{A{0hlZ`KA(tg8BULn$b~ zH=*+NGArw8M9oiqP&Ou5K=5fGJNvwE5Dp1oD||DA$6pi&f@7cc%6K-K$#TJ3sZ0Mm zCY~%Mi62f%ap4p$Y#)5Vlz+3kg1QN%?z|CY56U{q(okWc&G${z5Lt-3j(7f55Cb{C zcR!yTSlK9@OhE^EJf%&QdO>-5H8K!E%YDyxee&b-_>yZwIdnW`0RW+J_$sgqgo!+O zqgkYPWp#brw*cl*Uws2VXd7r&->tceDeH4MK_U*54*8(-X@U`+{%puO>a^6xI}76c zrGqoCywa@IdVIL^YeE3|qhbH~(I`tVTu1wvK!IZMQ23~M_!{E)qn_~yQS9XILUuVF z0@s2##?k~;BQr*!@R_2$Vn*Yn6meWL{_5I%M4%l+lquk@OnRT{i0#iBkwjm;llyu? zJ}6exeDVYfS5}6}12T~3e9;fuH1#-oKtQAs^9TsSm?P^HoWaS{$O@wvK|*h3gRPh@ zs?V;dON}06CF(vqJzn*mc*YgM9njvoEq4H(SGCjC?x0W3CKI;@;mjhgANn5dYa4V$ zL3YlV#vL8H^pN+`q_Wv>CZUi-oat+>Es`>o3CgVTBXg!FMoO4Q(5arl{=#a4y}n2=$XN%h?Gy3=CbBaU z$DA=REG~-D6p9`jJzATpbBk~nv*oN}p7i!Eh@cf0QxP}L<}ex;=+Qrq(*C_(bhV}? zC(N-Q*ip|r$TUkG+UU+#g+oUV$>|5H-A62P0-H^>tg)+-d)@I&vN)yz0UU5nUtKJ7 z>AHwMKX+0w<+qsy2@kAkom;3g7h)s1DX@pG{p=F#w3&Dft|eM~9zthd(D?EHI7rZ{ ztet-vemR6K*6&!9W^4Z=T|c%HsLQk$M>ZkzVyf}Ph| z$PExOu8ZTImdphDl^>U148jk>xi|!`-{k9yy^E7bB~On3BH2a4X72gAsRFQhv<@Gz z416T~fT2lmhUrv?$icgSO?qb)t^U|@FrNgpN^|mBJ+Z-}YjRY)Rd(#l<9@HpJod3f z@dU}{Gj$)KF9qL{JZ(828J^_xPl9A<|&UhI$3 z5|C7T1*F)TlBg2Qp-j9GEJSf^5TBfLSBmHzc4NILJI{`7iyW7^uU8Q5B`luXa9D4J z=Nl~eX`3%u`{@S^%kN)FT>b=klM5SjiF%7}=pWW&57~saB&Otz;m#-BlGyF3{fW=q z)=x~D0F5dkmfvDvi9z%ftbBK0L;Oid>GgCf6NOcIRw*0M`y6qghC`?6tvT|l4Bo4K zZjcK1VZDV_T~Gf0ckYjJzp5o5ErOQBuSE&dVPBELz|NDsuXMt3oP)!59r40vudrTSr?9FyX7h#XD*EQeL@9)hp z4h(;u4(dGkL4!I6v!QCd_K+(NilV;RS2x}*fA3;1mNu@53n8@Nzr-Q`V6)(+uq7y- zw9dCNGx6D|Hgn#>5h&O8k3-J4=;t8yB@rehoJfCKN6L%b);k^7v@~A%GnIkH8%bdR zqFYfZi~i4XyOv*9IqBZWSgG04V8%}1k~gV5pzi9!m|2+)MqgCcg4%2iHGkxIRi@qv zHIFJCp+)mHj6=?d00}LqhzU5EqgfpMC3gL0Tb}=a(Gm+W(6Im35=Tm{-!?D7Ty1uf zuM%Xu+58Wk8b(i`vGm5cz)Z}B)1v*`Fm=Qzgkr^#=^~b?ooa>aG4U~+AL*6breSe} zkoR9J)+w*y{JdvqJ&zm~p%vRnbO=`6?svuw#7Q_p=Y( zA6-0OO40Pd=P)0+m(s05d za&X8V{-8JexlK}NrpI{k$iDc|h8OWEh>ndl{~|hilaO<|{eJ-DrToC#JhO_JZlwEQ6^&dr$ZzfY6q7SyCH+Pg(V5@o2MJgF7 zHs;dTiXg?tIt(t4=RCr_Q-`oF9N=m)Y9Md*i47JE(htCBqCE0%a-DyblTLk+U#^%q z!pA;}O6Vq>Q~#khp07Vs8x@B~*{E)6q)EwMucdYoDL)7jmCy+8=~n$lk3czY5^Ppz z&S1=#!u)QEB{PK(Kas$opOfa2*_s}MM`H3DFT4m#(>WtkaWux-n3itz5tIgU0`s-u zDMWpCax03qO>gGVT@QO*y`m`*7Yg+um%g9Dhjbz@HBArBrQsAxppi-4JH99`MM&dN zTOGFd-F##VXZuEm$n5=em7`r$sUEN?Xkf~D5lkxFQ57U+K)1CPnapK#qW^+b{FVdq zsw6}*svAsLGo)4lsK_y7H&k(!DreM98jBx$dGdK?VvgpAZnN|U#dzk4XQ+*q9WdAA zSSXFGK^}VVA%;yI2;z!EsGgxQU4m&MB^9*xmg`?$e}(Rd`FEn{y5vsxxRFz-5mM)A zHb8UhYW{_?@2teNv~eOJN%Gt>_-9v|^*Yzh-tLmt#X|=Q0V@i+7{LaIZ^d&rJO$*? zZ3c7{WSJ1(5HVg{kGP0lO9gJY{e@FDfM>xHiBmQWr*W+R6dERo^Xu6iwHdvhe}!nN z(o|*m`85zFuX3Lw_^j)0t?`22K$LC|(!lPBqaIh-8I`MHIx(PJPhk!wa?zRQmZm0P zW|;niQf_$MefMH8lE8?(s4Y|mZ-|qAQ)l!dfkE58pZp~u3#1^qpnpU>cnP~cZf)hJ z&5L7O+DH9eNsIn4lc=t`N6GVr8-q`7$w^93_oL;s83tYL^mIKU6z5|*M#(0Gcd$Yy z*Y;olJ$uyWsUn|Rly3vil6>7_yB476c%VvkOVqColO_4JE^yW3g%ctV0?l~S5ey5x zS$guGc-#~ByF`DjqRN|&5UKH@$wj5rjGvxIml98BypyN#pvkEP_``vhn08U$u-j?^ zauQ+ej}`iD7uLA{Q8DxMi}AP5O0%;|zWxjd-Z_u#$`Ug^Pb^tJYMYHn3Ev5F!H z(vfM7_Lh}4E*|AYCBQHYP41D{()W(L$XF|bT6i@8vx=+LiWt+{PhOQNKv>7iRSOar zl)?n?E1b=-3lv>mQZk-2eH1pl$G4s^(>Bl`#I?p)9n9bg&kUY%^nMb8TNzJd-wSrO zRDa)1aWHxW59Ot&&mIu4DfClerg%c&^;1=wRgqCxo_@pJZ3C=qcEqZ%ukF0TC6xzj zdlkn!quUPm=q_F24ly&yw^K~5wA0MGIUN60&2%L0#JQe%KPLTS*5=Kt+T{vw#NP*KJKf4Ad4>ky$U)w=$ zh7A8mx)(*FR$fsh;Md@`myE_4>y|N9WU8+OnCwgUJog!LB?*DEU#mQSw1}s{ ztk{MTh#g#gX>G7ABK8#sdzeGAR3USBiNYx#mrFL$i`>)o+`hXwwtsP($H3s;bs}xr zM+De(DJ<~ok+;-?{ku}&^PhgUGTFf`y#5x4Z7(mlRC1x-zxSZ##2ptsG=N3HNqK38TteclzEk$LtpQ^y*ARM7PnzTv-A&=3ZMtWvTP9toP1{-8vn z(bZ26s`ebNZ>;-B&gQ8zmYT(EPQBnUDTbZ{gb=W%RUCN`xcL-IULqx(-QYAwFCkw; z=q?^TI&c59Vxal60Xs!+FciK_OwIEx#`8y;`^rA8wa&s*&Jo8rZiL6FJLdJu^g{f8O`pR93~p8Q79=To^9O z`0=q;DKKD&oF1G?=j*q)YPpydOOy0Z>GVc&NPgr2- zHRM!O>mrX)i}7gkB#f#JRceK>3WW;?NlLz=?~tTcH0)4Tm{l|&EzhqPYV#!i+TgQB z9cSJ5&qC-7<-ZD{DKtnSG_&j938AU(D;2$<>t0HW5rZJ1mq8T00<<1$X%w}fMmN=8 zf3ES$Zgtgaa7M8aD9QIPtRt?ijCP3~e$k?Qxpm+}UXs3z!uyCDj{reV7Hcx?;WA`* zZLjWS+gHC3+b08eHM2@sY*WDVEB8*zw9QhBA?##ll>b;cZVk!DinsW^zug>DBZjw< zb?+T#uU#XwiJy<{ZZ2UxAEepZ<<3q8vGXW|l}h+srqaS5RtK4&uu9h~okw0sD%Ai;#K z$=~OAU17>4%AxrbEX=b#^1;~~Z|d%+dtyu*dAE0PBZgK+l%J^lVJ_uZ4jH)wi*Wrz zSGA)nqbLP9zy1q!Iol*z5EDwQxBWS=aDKN^5+fbAPZ)3JdAGC(SuQ>hFDLx3V1pF& zOmK~7d7}EImuY_aY(*4u8uol%!Fb=+P@E;dT=oIz*e&ekK> zoEiz-sBjN;e|p%0Z}hWtv@$aUZ>4fYaAlx%$9``1VbMw~jN{Mn8neOTuGlfRg5HiD z+ja4DvtwLfYDIJksS)yLhxmsm=aTL|oOLC*cDUmyA&v??J>PDNhM8LpMHQ@Gxt9Jd zhCVuTAfjlyX-sz$cC#DpFP&&r2nrHHRD4W$aXBp_6P#)0`A?CTX_pSMlRbP@H# zHkZ<^j%Q?VNt&1Tw zHkV1|OHzuW#bk$0b)#?IRN<%PH76rE^+}Tp^=k%|Yu+b{gWOY{z9?bC+lx7yclpxC z@NlNSHz_GV4@}A9pV7YCUj^QpY%Q>qP;?f#S74R>U6AXu!n+zU3q#{IeK2STKOpv-eYi7MRI9Sy4k#_;FS{fy}VJeI58^*-u>2t1QuWmGCO;qMwR2B!J z229kKVdpC*TkgcwY>vP3;2_ef*j8l(Lo&{;{`r$~?qE6Tx;Xq0rmp^; zkN8TnAJU-e>T1btd`*^}jMH^aL(4;h2Ac4FkwCcVcch4Z+J?yN@1zFMwf%95#Y~Bn8x-p>o0$_kcNQ?9Eb$){+jblGAyflV+wQM~66^azRBbk~RLnUsL1RktD(c&riK(5QSCe z4wKMU_1roGzD^vIEOuZS5>Pz*k~te6B0M69BW{wABo*;p*;T`Bj}m2=A0S?w90>p* z^7nT(JR7X##G0-lzG_n>q^+XO#ebAs6kvQ%x{CM4)^Sv5$7V`DJ|Tgrh5AV{m8-F= zjmn9io4WXt#qaMl%W;0-ttP%(Dkv=xB2r*an1x^sm&slt6|S2*DLZ#>hDTKLD8?Ih zX*2V<@Jm_=bt$sEVgfTx{P(8tjxKSVICNU7D?o<5ExT^h`{{{|1pv#dqbN|`Ko5r= z?}@VE1oj6SG%l|T``>A4g5QVHsO9q&NzhKJ^_=w&YoR@)rERc4=WPd=?fZw@asL05b@ATlBYT(H54M+YuMBZ$mAYu* z$alL-^yz`As1GT(2mL=0YQ?KK$c-R+yVzr&=X!S8L&vFFn z|Au(voqOjjLcq>dN=W^mfJej+u>53b+sV3<3)yFu?X00rXM!1VU^B?B2CDqX`OIT> zgt1eRx%1zu-PM9t!mG~hA{*7yC+>nc91qrnrcpzxr77+TE6s~1lE_a?@P)J6$}A)Q zBWz2IVOBU-mN*X^)%|BhwVDn?k?|+}k&uyrHn6H1{)ZsrCjyyqzbOMQ|J>bJgISW1 zvKlFALPAVX1g%}Ce7!aXG?ljCH9}N8J=l>pqgoID4b^xnsLFB;3Zji~^n-BP&|35V zjAU%Q{7?s`LNE@AUf5r#?S_b_L-Cx+{$HGGdf;=s}=&X*G8Zq}w8gS0iI$~lttZXze( zAnOUfOfO`tywJN^Ei=sd&9lVpUcP&Z5e1*1WQx~;g~hkxtYqN$u0F5X9(?q!14+fv zgtyFD6{={^_uwCo!9u^=N?i78WGjtGL(Bc_G$S7y- zX%ySTe|9Jq{ohKY^clbQm@LMj=&s@iU+m4xsKxr8w+=oNCVUT+eKCNiph0(Kb12*+ zwTNoaLgHr?b?r9OgYUt6q;K|0Y4*7ag2qaBjCROixMt_2N} z`42WA3h)MJMZsJ|L!JVF0z%;iAivuJgMvKzDhp z(DduWV!#7AQ1?1oZtTcDuO;?1daz20Rz26DxnNgYA;_|AD11vi0P8@UG~~_~reK7R zOQX~M1uL1?VEDOyC(&}_n_0LC2QiH=<0;_j2l ztjC%n27p(l8PXrxM=WaQP?gI#!e_jga zk&<_Wb62F@#BUP10WP0qqz_NxtGfH&DmJ@ri3{``*mZfrbc05_%UrmkW=rkp4WPa9E_+`j}1j-$vu$H;xeLcTy^}M z+9y(GIKH`pXb-MkO<@EthWa(d0M0@91uCZspO}&FN~VfcOCJv@EX$07e5y*KZZ+^G zPl{;2t~~X~R=dUv-~78>bMU9G3L6U}Xyy&Xp23<-NS)t=@sa$AI2@N|y8Tayg|3JC z2Ijz;ZI*W@;OAEG#Latk=)w^XdTBg(0hq-kU!|X^)Xnlq*3kLRX%bFN5YZ{dPbYd! zIgSx4tZFy1RbFV5h!K~Q57+2q)MhAmy`kh6LL=nHx>Uc*hiLsets^|@f~U}Js5;>~ zuOo_{qB@^CS?^IA8+q!CD>4=~g!0iLgn>1z!P%xnQS%o|+_#BQfU z%hSzfN}IR`A13+(M!dLGhw>j}q-gwXInmyQbc;K&SgRBPPqS6J)}j=2J_|YgSf~UE zS`qFu8iSuqz}W@^c^VQ5(I_=zsu0+&Sj?srT@BZP&Q=Heuh*$ds=yQ{zd)sDB}7O_ zz{g;a+%4{MyPKJ62t3M=?qWnOJ&HeM)%Syk#Bl9onu1E&wea%+MfFaux|)l-8E$|G z%OH0YZ$qTO#B0OLMnpDLLr>UgJ-1>furX)@YGgA&p6RV}bs#yn)<3;>xVoB^auoy9 z?A7))n=Y;p?hxmQq|?J1JNx-pr?FrJwED~;5<##wQd+Iuq9g))#5dOAQ$@B0BLRIF z>TLJehc*~n`5%uBkJ_I*pjbzpZb>aU0Co{9E|m&p+?8{F3ZO0u+#SoI!o zAyV5Yl_x`qKpe>BiXE=tjdat}Xy98yMHhSC%WTjUZELs=Cy*eVrLY6?wHJ2VxbA(K zc)Mw@irM&rk;r7slxw^?LHL-mFH&%i_zg`)(i~?pKmYNUj2UpD5zBO^p#zPejR4!% zS)W-z!d8OoI|3~|iPvn&ZORQijRg}Noy%;b$>?>7mCY|rz3cn}-D;+-9Y!qjx?0u~ z!X4-;_Zs%sB&601MYuSRJX^{Qj<})-G6+)em`jEzZIm^8@KI7f*Q17&Ha3KoPFK_; zP^u;|k{YGW+Y|CeH1V2w&vQCSYe!xhSx}mK5v%K@9lTEU_8M|lVx&1cxKYWy-hDJi z6Jt|`mchB|O?<~U&$;!43hd9-C$BQoEMoh1=lOtTm7ue0?u0jUz#XkH-Y7~)F7my( zzA>@=ck~$|lnZOMA^aa*k)m>lc|fLt!c286^)zG27h_`Ukoo(|Wm zJ*lcc&!=FAXkgeXC3;bB)4VS5hI+xM9Ls_Ft{DFdX(4YlX>Gq|7J{>{?+(LrS`li( zn6;%0uUM!u7VFRPw%9W^rlot)%UROH7>&~-qKq6rVySLlf97J3!0p28a_BVe9wYuGuWm?ggenJ?_WjZ<8!OX@WSy=79{yAV#KvZc>ah6 zgFKM`^40}^`{DO#m1CZ}I#&e&Fx@^sTN(Prdxoy$Vss?TnR(^YEFW}5d^Aaag_wP9 zV-a{pFCEmnw_d0Kxfq5~Z}WWwiIip|E((PV(?(zVE6TOocB{uimT?3PYUaNqAJ39n`wd}NXK79}NOY}GU1aCK zaF2h(ta)*8Sdi}kiVF2tM^J3z60u{p$B@mfG^)&1Fd$+62v?4oPg``bhBuDWp>(GX|^ z(NT5Gu!=57r%+31>{Veng$$mouV_{k(0IAL$D!DI&;GFF{-KZO`u$Jfi`gQdsuDoD z(iwUGTq`Ki8SX6Ta}75BJikhrl7=`GIV}=|4IZ3y^JTNrLX9!FusBRAW}-$1S{v^( zCpVCXkf+&B+pZA&``}e0;^?QEdY*UV@64Fg*XLWVXHRuN8` zT6@^uRI@@!;Ov*5l$iDShMWd>Tqv@F#p#_P$;&C3M@8Hay&{`In#3X=YQP8inaVWy z2$BhO1m{7Gss8vNN5VJxwC$%1r%0=UF7>-#Y+d0cwYN=w#@$Qas zmUUq{gIm2La;X#YC&>3sR3QUTrb^r$R%)If*rAR!bTMr8vDhjd7;x5Lpf|%cywnU? zzJEiI`+93MbmV*!T;znbt;aKHV49Cso>?IO1v|(Y~R7>lYJ-K&-H_J_b4!D|g{J zf=>64ywXpO6&y=iJHS0!w&L%raNX%c?MZ`l)EDs=u8|Pwngz&2cVJ@lHDJiq(p%US z>h4rsMNYeLjS@?pOH)+-)miin7c;)i z+n>&Pe=f1(n_22FYs_8Ap@JvNe6zD}ev5sOd0gK;S;8B|%|_BzYEky}rGTqdU;Uk( zFMG}RFRwfNm5F-JPxDqV9yQ-O|Mx3`>p7Z*x|UPI3eHiGP6);>Z42lI47;U3>$p6q zB8|KF63+a$nu79c_Y9{gl&!kTcXzKZuQM5r$tqEF@;7VFUfN&ul_yG3>?iKYee{jT zf=FN3yy4pCJtox@MxeiUPy zzMB#9zva@WB4D9mC*J=N6pXaPw6|rO+uRpOsWVD>(mJ5`Xd1TJ1@|q7XzNaS*e7 zUh>4&>sod4Cy=4cenR!(IiXt!in3=e+4g4HB1DH6|IbKcA6M>QNF!nM>@~7qQ&oBV zkM`7|d7jW==@{^jydi>LSRu4v+3xS^fwql6W}YaLdl$Z3Qb@VXvSs%#$*8=zhuGI5 z27ciMNVm(M%2_4epAsE-H|oh+k!bEc(j0lMpzV=6n3R-AyyQ~3r)lr8O+efhCFZw9!dDc?old zuBWKJ`7klNrG7e$bbg)B*&}c~Q?sfdrLsSEqcIuot#9altbDj{lxWvm;b6w9o?h7iFvY3o^^&V zW+a{Ai%*fTA+}UE)Wbe~BUU2t!M++i2TS|JN?d-(F<+KO20JQA$l+Pp$`7~t_D2Ltl$`4Y>xd%{eH?h1S;^)m zi%r6@)R{i*e1K-+eW>kn(*7jo&@%O^WiL(dx41)8cNRqRzl0TOr2i3N8b%c`+_XvX zn+crfLgt_1Fm}-G0)dVkJ1-+z%XpqgHo+r*Vj+H>tjgYRo7<+q27FDulozP-VBMk2;~{|OLjkhk*N zNY(V;XhfGJj`*$U;LLC}5gEXZbXJl`@htxfxptO2X*m0jzeOA5pA}(e^CG3qJ~?Mc|4g3l~XlN z>OvLn->-rD?B`-k_1EtQv&Bs^5=A^u8`r8}OfeD-Z))z-1)coQ$0EC@^P8(ZHx_^JRE9R63S#+{>% zDgV4g9L5`_9Pnn$N~dGWwbiYap8g`(cd(H-j}mJr4>lh3=*&zep_THP*;Yn2H>(Y@ z{_q2JwckG=qYYuMZgr)Z9P-U{4g5z$D07Pbovf19T()>e(vLR$;af>5zmq5Xk{x>$ zd#l|ASaqw)kB&B(UDxV-A@ZOG*hFTyH#}ojQQiDZtq;XI8yg*`^Pb@-5CD)3{cYDSdomb(<*Q*>pe#7 z`@(8v;dCUqR`(FO`(os|ir|<;B&@_csBxW-XnL*r3|?_-Va;P)Z^dA^;k3c25AvEU zcO()s zWwWN2-c+zzJ(7h9>K}Qb)c5?R*QTSh7B}JC(;k31GuI=3$~K?kUH~DX==Aeo@3;7N zh0z55Q5Z4`=V-Sk+FYDQncyYEXk4H>Qq4)|;QaJOgxmpg9_N4smOE)lc@Mwl{gCCC z7cw7l$Kq?YkVZT^x|HzvwqLQ6ri+%y(mkT2-ph2Gm6zLOajTwU78|wTfkITa%Q3@e z*?$Y`(v{b#g!fcM)@6=8u5dxbJydk(aH@%LKZFQhd>f@^06+rS^*$?m2S9l-V1RCU zWpmxr!$#3}i*j$JeQDw8e7RfnX!5f(?D=W;0r{T=zI>~c%B#D@B_2|Wlve$bNm)>4 zG+U2-Ey186=q5x;REcil|F^tR8eJqfcbI%ZJ;@A_68L0%n|6Cp@VO!S&}UczWkJBS zeLW_N0x)PA%~$3)@8v(os&Nzci@ zx&6?qisB{zSMgmnUEi}e<#!E3tNfG>pV?D|q;v-S5~7N=J&7>=1oC8kN5>=|_WNWB zZF(28Zb`D_rBp$UQH{kNz8yWnR+fHMgTItZGXN5)~^iM>#m zadiIt{ij#&B2lJ|3HMcZt4L&|Bm~%L^TS>~g$Fk6>!q_|v)S~M2!m22jwoh!{1Zau zKOa~szSs`NIz5~`3G=Z5^NmvLMqNy99vNc;Yd( zK?%%iBd(9OEjWeGgR7OHf6)^Ns@+vHrr!qDg^8>$a6x?+D?>$3czav#BWqzjaWKs~!&Xy$a(mmO-R8!0*uybl&xe!V5-c%d{}`YRIz=StD) zovpqaZ*PmSJtpK>Gbl{DRRG3KUV33aZK!{Q%+`Rygf2?ci|4xy(T}h87+R& zE#?lE;mYWS@%gPMzy;;HBoU4Y)+u%B;RRb+Edfs%eW_5xo8c#N@p3o?H?*EZFh(WFuv09_BW$tGS(Lfz8d4BoGn08vuIcm`tMJ?P8tG>aRir{+%+9U_!`;YEi ztFhH88A#+BLzSSl#fOegm1P2a0cW0rnlY}32$DV0B!IMj0;&!H9N`53@4E=Jp$p9xS1&l(EspYo{T!E0A5vFD=ebEvVF3R&c*1j&=b@+|({S;Ir348v203=DfXR zRR)I;f7yM2$_L4e3c<5BG17R@8T)iyJ6%R`zsq|i0nQRSxQ_~!M?T!niL!?$kh{Aa zdKwvh)CuEHR?=BJn2}-zqxo|@sQl5Rc#SiB?L2y9$?{l;=j>;2rhO`rut8LgIiGnq zSJtGjmstcgtd!mKdVcg=fsi_i5peM4%$p{^?+yxh4so9Y6Dj2WUagOF<&mM5aJ6Uo z5gyBt6LLVj>(vSX1t(Gr2yUC#z<%ZC4aWrnC#pF#SbaVPoZlQ)(-Aw8d{^(~=UOZ3 zcptES9G-3c>0`taW%6 zBP`N`&KWNIU7M-yE#vbcrMqK&*HvmZ!~^D8yY9Z$X0N>twvUX| z8DGTn-;Y91`}rDwtxs>U8bGM zmm#gN=OkT4khG9+sbh264?7)OE93zNN<<%Yx8%1>@B1z^vOD)QlhG~cc&s;#uz<>4 z92Ki&^DCW~g(rpJZLWjd>y^jMb@!#@8E(l1kf8;ip6sf>LpGtl(rETRUe?QNURc$=rqP64GTG^NAsME6V;y} zGuYc0qD$SVJe_AE1zhAa=c+b4@8Szq#hI(MhwWb46{1l-nMXaEJi6SbiPE~GQ$Q~h)4JyS|DD-AgT(7stS?$6d z%eO#C1oWM|$j3mWi-}9wOd2_czXdSgBEH$P#lD=JS;9QMQ$Yv^IqTSy472m`4bb1} zmiE^ORM00NJb*a0xG16r&HBr<+cA(TUut7PT#Yd_8F+rc%P7vd|adLOOAizM&`7HqN1i_M}MYI9Cv-&^mlh^8%n&i5m+ z?eg6D#_*19h|!oslpuoZOP+8`*Q=M+`zZ@K=(HXRNC)w8=Y3a*ATOB^kw$U{1?W4} zd_V$)C2K~IL9{S<6`vfUYG49u&DagL`gr2;EeA{1bU!H!k4?4Hdwe8rie%Fb* z>*0v-#>s3-G3yp?LrCLq>FWzyZDaT?_94_lSX}yK zN->vFd^3@yn&b;zk(3RdH_a8G*P;J;my&VjDiL)TB4zf1z1+u!k7ljP1N@QANoM@F z)o9zvY+iUqSQJFw|KR4dGpj!(6q{0~l*>k==p~5PLkOOfryD=l8$5RhwQSnQDjce> z8$gaqA&nZZ9Pvxl8;gyX(q^DaZ@`wO5y3(PV^;kr?{c>|7!_XZ6w#vHS&39o130o#2C5?on(@YGx5H)Bs%Hvg(n}JnYpM#wmPlrAe zbP2IQUVn_`KyQ>1-4nv}ghO%6fT`o-UGWh)MMdFl{Y6jTk4$Ofa59^}?t4*}O{9^Ak6@~DVlRSErp4##z7ltyN zi3?t9akaT!I4*CyqYy8cqNyQ5mSP7s2BAU)_7qD#WO7WQJ38qzN%nM>GE(+>8_(&O zWHuYqIWYU`F`@(@byqJ>!$A5v&!U}NokIjyIsh{{C79TuPiNM<#Ct?jwY6et-^zp% z9el&T=vuPawEpwcM*Ca7DwcI(31@yy5(AUyY91a z+KgNxy~jB19YZ-(B%@hhM-Wk-sCe}lav|KbdZj2)ub~~y40C+RZS`#WApT6A{*>j| zkMI`llI-!3VukAudiGwLl67$4QMr*uJq6dTDiWvPj)BeLU!Nsh7pie#p)0grlnEAP zm)oiyBlB^_Hs9N&Ss*wkJ$GM~@kfYT*rwlJT^-#`d^EcA64nGvZew+5g_x$58uD+0fbZZ84Mxa;XCR!s_Tm{eQB^pwME@B5tRNnlcr+2k}T+WC=y%g+p6sk@ZQ5C;I+&Mms59<;M%*nB9d@OHLoFB$JZtfbhkT0UPw|(&lSgf>9 zaa*#;tH0%d)hI5J8Qu)< z+mvr}01E6oZpLTBrgHDM1osbQk^WPK!h(SP@7z`ZK4Hg@?t1yGRC5fH8V-z-1*(`1 zWVPF`RMlO?iTdJ_4No7a)!esJ8;=&dVZ9)CmU4Uj;d7p3ivsS4uLws!E{oF7{Fs_A zv<d%6a9)@u_auq|$Xs?h1CA zFrJjWefp}srHFv_$eku_Q|~ZR%Na=bQoGriZk}?j1k<%6-Ive{hVX@BwY`@wo7y-+ z_(CNr3{JgFlREAj9wgTX>X?v)gkQj7ve2W&XbZznZwVur?yfMO@FZwzV^(77MaM`` z_Qwxl>%4u1u$MAX0^=nyGiF@`GZn0JZZ|XyN6kmQw7W*J;!+iRG$UwV_mYE0Pv_p$ zgc%WP3ZqL~B(1n^s(1v6=_AIp%75G+{s~@`-qB0*W7sXhQ0N<(P!$UJOAEH+B{dL? zMPqb4L#@dHU)P58$FNp%bup1c^a|+-SUfa64|>+f}!7G;AIE?c_IVHfS(Lg zeXAd>a#H)pAu|j8EHev_F^q=3_e0k2a*c*UjNITJP4Q62)Hrt9Ld^EgYI-B)Exiom z*yL?~`w3}ePbJxbxs49+=5NJEFc+s=Jl)oeszG8tD5V048SQV0SwXVa;77S`^@^HF zfWG5&lKpzqJ9x%1wpX{w`Pdp#{c`^GkvbFlT{K_;phJco;Sg|cqJX#hdW)%mO9b6B zefIe7XXJsulXVBy81T_~Lrq9J6$@g_)7T>^1qO{rOCX>2Wz|Ou11uX;52JiT!LrAm zug7`Md-@Jh9sBGenrCL)ZdbkItWi4p9IkAcOd}+evd)tpF;-R-cXCjd%lw5vx&k(2 zj?_*Wg_unaG_-0hT+6I9`X#hoVdhLw5tq!kOcHhr^mM8Xl^>O7QGl@=xp60uUNhWpp zb;PkaD2He4;EIH}HcXli#aA>U8tD${2Bkp-1Pdi3q(Qnvy1TpcyC=H#UVERjzjMa_ zKR$+Q4cAx`m@wb@yw7uA*Y&$>L~GsjCEb!$9fCGY+wc(t%{R&RDKZH5%BynyH#(8I z($Jf8DYjc4nji^GhNlD1Z~=sC-|x30b3+>(HF$AtZa(V!fZ5-e*z}pMbD0-z-7o zV6I(Fiw{AOM?mYcr0gh&>D}-ofqC&bKpDbzRD3u4sr4!X%n%VSvrgT%(1oR1{adY0 z_hI=aZt zUk(gax%n8d2&fVxOZqAOGJMK4^SpT+xT57iqUIatf%-CLeRb{k%NG!nXCk#5XLEnd zj-9QwYpZq{3Gpsa5;7DnBpHuhb)qiJv0gD=Cc`-h=JN7v>7Mubk%pxgmo^z}&^wxk zH7(^(g|l$9sgb!$s_Pw!EPORD+rMTez92W+LA4@WWC?ElS2Kl>=D8hpEo1(BA!Cx< z`H{e(AUF>eW=j@59j5QFbR~Qgx>X3X@H9Y|FuN*I-{Wr#d3dSoAZn3q#9^l2lTbpK zhSi!~I)zq>N@4wh)Mvd~Ug`6_p_*tzh)Lmq`M8f_ovAn-#3-o7!aM1S(QzgV`_wWM z&#JJ79Z8na>=RG5(v?>FZ|(yf?p<#5e(5@FeS#rN96$HtlM{Ui`2%9!(%U+b; z+3uLrQhHgDtVO))df|T~`L@r7=ojtO=+AH6<(%Qxwc4vYZcOn;Vw)(O^;gcz-hBET zml8M7ftKANy-?(`!yA~}+!Pn)yv2EI5omB!=!HWtsLbdDw!aCkfjDU3^od7gh-a(_ zQ3OT>f$Ql3Dh56S_cT%iAL+44da9IxFxK#n2#L^w7*= zl@mFTZjRdwHJ7UxAMz*gSBI;hee)+8{ZputbTZFU7JNeXDDmy&T0wxjFs4G@HvT|? z`zgx7OwvgPo(UtaSfh~TSOssb{=4?e*t|YNdy7)eQGQckIc}G($VR8%gX+<4rrPl7 zSTL44YP^%8?s}-{_d``~fzNu1X}QZd*Wcj#Dsd?RH;xzeF6|_JX*)00;nRAKM;o?* z2w#*#NW@CH9>1A+8Bhy&DGnIBmmD406s`ml9pG7Q7tJQegoy>Nrb{MR;(Fnu;*JuL zz=C@i;XvrQ zy?qK3{2cS)$NhlM9MLm3&1ok{Ts%FoNQ4p^*AG95#^P?aCc{NJpB){s-r(lX9L;zI z;%@mPqtV_ct)|p_DYVg~Tv(Ntvi-l^bwAF5L2d9ao4eElUh9(DG(St>njUx^VMa{Q z%5T(4@nsf*c}(E%c5Xbqa8ty6D&q7b4?%vY2DOk$qm_%Bh;KPXATSN{b6mc0Cb z1pb}md@FfA;>xrX!HGu!FxLKP%=o_z$e4+b7-=Rg?nEl^Gd6exMWv~rSRiMNXMbdI ze>djM(jc~@(<=qL*ONz3BW-}oI^yLaT((VQ+pcA%sp_J};%jVIFJaOKSfxq>9UQ_R0i0sf(n zaFEhyxUrY2HD}4PyRh`h5PA5`n`wPSVx^#4=K=1Lq9e7>yKKXJex0-zV3nT>m) zks(QDIiZEl^*v)#Te)AsG%sV)i^vzNBZ`5f9PIEWRG@OPd;`buuOmGr5NSBWsh3z_ z#d7KSmK<%II*vZQm!q!$skpMc1?ErsbB)4~@5kmO;oiacU6WrQUun9#GBT@WhJSwi z{no)QHBCc+R`t8&v0IBc%LUpQ)4QqNf5Z3Q<6XUG~;`w6iiyUw-m~@8~KevhMlb`#Z=HTEou( z5=l&B9*d?*BcSHwz{vec&le3wWGJ=Zs$TcU`?o(n5WOW%%Jx|8<9*@B;?%d=M?epZ zW=x@AgY4~Yk72Mc9(g^H90jfC&70RBh};boJ81u;tz-im!)Yk8nBUvx0QdYg$j#Eg z`#S;2@f{i24}uD_%$R=Qva*3VEVP7P4WOjkv#q^NHfC~t?=VLi(UB|Nzkq@-wzpxk zFeW>^a}&FW;5Sc%?!$XAjL8T#sB`p#-_B?CY{}Og+V90j{yl%H`!G{wMvrW^6J8qQz3m<0uoqAe5W;(k~KnNDjgQok>q_p(C$83ZUF19 z@n|2XN|qMEF=o*6~Jj0gnD0# zXdnZFUcwVEctgcc9FQE_5t~{R;^P!kMD6%*o9@0p-k{gP%-SEYF51BVD3Z^KLpRYs zRB|0n9Zns@Zd8knX1qz^$zYz6(oM0URG26P&g4AKH;se0701ZyBLZ94PYZ3+z+`%K3cB7J zL5@jvZL2zNhx0WzkS|uT>8U7%?bN>Vp@*I&bs#i!cVGkX%E+eadN40?Z;99V z@##0}NmdMX^_}1+>Bftf9N)aEe_4lh7d^Fk3_Ufq30=SP$D2DR+)QVFTvV>cLFTBj zlh(nVe_(}0FM(si9@=BV?u&d>dF$mwO(v^_S-FPn=>(I95|T!H>B^c=BL|Jg_;9xC zp`9b_ZNVsjHN}*=BJvfKJ`Et}>RB|Qto;BSQu=O-KL(WoobI~Ya4xfkBbooJl;S@3 zUAKP`uO>vO?xmE#$!gVRM)DJ0wLr-?={{Jm9K#&~zCm-|{HTyZMz{UQflt~c=8NG! zkBqPTS9*F?${QX9<{}{D>|&Tq#~iCp!Oc5!n`UX@Pq1Me2h&Xak&sAF-z)9&w~I z1eHz?jc{&r5bfxN;dSxPy6vsE{*{oG*Ks;i#-|R(@PsYKV_5fvx|P1BtuN5LwcMOx zO9RRKy3*LOC%hwm!bJX^#r(0adfrA2T~5~28tp?I2*-ZbF4ux+`-*E2zAeT1fFkZ^rIM?cP%hgS3fo05W?Vex$I6KBp)s3CDsv*3ffD+x@{9X7?*I=>ywM~XWkiN4#=vQk)0`^p&tRQ>$!+@S- zFtxr~Ez@8D-}KYD(^>-1ERXbF=GT6jor)q~%-*U7E52mgfKjSe*OQ5uim;C1K|i|2;!1Gp(Z%Z6%c(YYX4ynW}0_V!hcAV*rA^y zoR_~VIB|e5W%P`?^Tt%E^LkCpyK5g??r0p07k(D09?BgdZY7r;VPquHB?T(_*3H#i z*cL>{RSX)|h0dYYj?xxmtkRUc#Aeedl}Q_Iev^2QpXUB8tTf304>dM6D^m1pjA#1y zibWg)5~lfxd85%tUM|41kH@5wVIN+cQod|j-jMzR&IK4GWcX5@SK}fkVyKUp2)-@% zSHxDGy=dxb%T+H`4}cI?_A!)WC^#P1U4w+T$h%g+{w4+Zx(}>xkQ4!g7?Y*;s_g1- z2=Qu3={p-(%0EPStOs@ka#cEVBB0}!h#PSN`C42iN!>)xU@i&D`c+RZsY30R`0rb6 zWjL#AF=4h#L9~+om+C;v#CB?m`Px3|VPmDVP-FMT4I6*Uot0BFR$&F?x_j&Xi{ILN z{cpko_$-tC*HmuX<@D%WXp`&w{3usN7+tdVL3Oz24#yXIvnsw1XtIcZN!DWW{5@G) zImb|rx9o{h=(uSJ%M3y|Iwfb)bE5Vpohw#AsL{iosi`+7d(wr_JLjX-`N;-w20}RJtp+ z69NluqBn=JgXsM(>$O@zO{EDw?ZzBUXvb=F+jmCE7D!>Rf<&!+^?ebS-A^K2qKm38 zccuig0z8#ZFaE_F-V63?;}f83?6v%;C2l*;D(it+OpEy1038 z#PbgzS`9oj*W8S;n<+b-2;z7_4LvBG5tMD;fJ@F%jl2~Jqx0P`-NjobFA`ONlBj&X;p4j=hY4ZzRe={OKoPjwV zJU}O^aZRCvzA88S*uK?sYCy0BNr9C_5%+P#f#j*UA8u7@_cz;G+cd5~6t#TQM||u8 z_+R}cyfHt-+?ww+*iz&_Rokx&)txwl8WV+x0hPZL6NwSoUgi})=pqSWhhkaqGKO5C zft{OcW-!4b?{RdLN(L&%g=d|*r-Dob4SJ(a&+|pVu1$+JZd=MuM?rU|FP0T~3RbXmu4GX{l|;A3p9uXL|9^7<@O3R z4w;cQHmR*SSgMRL-+TWt*GJw?6e^9?#Tr7rAl1 z`K0!N0ytHPLwfYG!R?#H*}f`Oh^HbnX6~^1jiX5lcqi|?JDqJ!`ZO7LS&c;J=t#$#usoH0Ci6+U>4b8F5o-gGK`RbNu zwNz_VmAQV0z-jUvx5Vmz~yUL7kbhZNGMa0f}9@x6^FTY!xfhmvY!IQ%lU)%o&*`a(&m)ZFN1ww zUaPt0hDfD`DU|em9~u(=_3?hM=93d6A96kH+ecxtLyO=K4kq6X9P#V++&o#YOZkCE zY;s#CaRkH_r_w|>Uoyx=)hl$=TO&{Q6tX%`{~mdbR(v}e`<*2a*9=($tQ0x%vP)?+ zg&bhYoH^$+JmHo;7iJ-HVXfI8L$*4Ws|}FUgQk~7s02v8ZvU;jH8=$34-YYTN<=sf zk7$VzSP1?I-OK)F)qVsID}D2Abktkpx8DbHA_ftmSUBjC(ici(Iqe85D9(yok^6WP z!Sj=Wn3%o4Im+sVhmXZ!)6b=EN{xNL659q@+$v>ZoFS$AzTh)blO*$w?mr@=yv(kd zxyX5kh|hD!CRbg?E7P;kQ~oj#cx~E5ABt-K(=U+ZC(nzR#SS`Qt}4QR+FBbz&L^E= z+HVaG4w}T0oq^|90%ry;j-T@knj}=nbZ0Of1b^EF3V+TDQNLMo+i54C&w^SGx}Wof z$Da@7IwTQ})ON2nXI@^uf-R0M8%VONp^26ZzNr2tYP_ zcI36CGX!?n%VROkJ?fj{gYe&jSpd?uI$0qgSo1w<{oS0M-zX zn-jRoBl&t41t&wP$2w@%S;Y&F*HW+0Q(RYL`a0{+fK2L2^N#4~y_vuZr?dz+xh>+1 zf5T^&@Ib;JR~HeX(#!X}%IW~@TFQF#wEe5PZ+loSOFp z$9+iDbgIZr<~zTQ&0~F)CcaD`Ny9Gapw*K}RK`en>-gzCSz3FdeXpV1%h(nNv(yWh zv41UB2vq9%8gWcwTO`P@?MZFX=MiyKE}dHy8i>@ia~K;lcsb`kI}N;!595K4FgjYU z4r>+LJ?XYmIHb$GdwPWrf6J440Ap3;bQ2q;_xxMX{!c8x9A|a@yTKk=zN+}_FQZsE zZTuFPg4I}Yj`5ed_#SQ2{TBbnK2!{9f&7p6(9HpE4SOvd7LU)z1YlZBrb=X8zIl_z zg&`7*VR&oTDpl&ZQnZQ7^uWTosdOGP+lV@JS&kQ>7%QQDV6NM0p) zT@49hzI?26^J%vcX32eHIb2ubQ~W<5W?=D<*l14kcB61a$rCRZOV{yCS8UP}i`-`~ zFZrTmMb#4Ina>b|D{EN-@$zGsxPM8ZCs8)KC{l;)XD8!)<9;jQ8-?={N?5EhjhA%w z_xsS_ZoH?);LqIg{%T$BY9q_n&iT>QtAev`HIsAi6U<*jlA#{<^xK-)_k2iclLgn_ zpdY-NYCCbt2K7Kyip@k@8XZeF*gtECI>0Gr?ejK{Y(>%B^Mj$)bf0e+{(TV!`jv|T z*%h1Dg+&p})LQ;fBc3sHKsOY1_;MD-afDDg2i3rKV&lDHw$$iQVd&K#bonwQ+Y0Q; z8V4jwM(J$p`NG}Fx-hU*{yiw{^r-77jq=_YFOZ0{(}-+de9aKU+bBvvP8y%@dKk)k zJ~;0E6)Df7%K=KIRR&=*uTCe0Z1p;jgf{wL5Wc(uT{;Le3!L1=8fz7S&DpPq z3B8I8ZVME-JgD~TB9HM9nD$YS7PZN##Dmk8@WZxxUk6!M8;bK`D~V-xwS2X`yh2o|JRA`>f68;g z@ol~Z!R#HO^`C3F_JZdfXFSM$(rpGA_$;}+r4C7cS=a~+x z+$Zw!7?Ci-m^G)C>syp?!-^<0LhQ;pA#Yg0!DnOy=nA+uyKBn4@xm{yuxX72bwPLQ zmonXO218TbbFUm5i#a*_xpLVCI>AM=sS-bVyMgp3Gu6=_U>bkmo=4JI9d@`iCg%of zJl`&c*7cI4R&00$NC@BiMR=+HY=$1j;jhy+I!qIPh56fDHf5`7bzidP} z#RyRyibu+hFFBdodDme>d*m=&E?GPm1T*y@-u)a^cVp>ie7-o3rIPi_JtH+6P8MXi zoBw@Im<$j~ZEN{!ua8ikb=n5s)E?uL6CV@xT^E1?7K=|!*(BwwgrwY3N})z2!A$hK zU)-OqsfT~UB_P9{29QvPZFfl7wTo?zF47a|=YrkeSJ;PpBusTiKbxsLi~9;6uF z31iXB-RsL%Fgr9!ur8NwV#b(KkP4m@TWEhPrCCW?8I>sA4O`hCb48TF>(8@_9=~J< zIXo9TD&!-oBZTIWOm(W1{N|xF8itS1q}_I zZ$3hB5Hrm*+oL4+*3@`^12ovv<*hxK>&hs&@*T>gV(O^KR{%;N9;@Kdls9@uW;jDx zn=ckgg~W3d)05}IA<{a3|D)Q2Y6@jM!_ffVXC#85&!I=E?PABvf+K`Df&oFPn<_3c z*$qlN-z++>Y2QsSd1gghB6jMq$M@DuWyWiV|0cC7{6lJ=tT>a}-?G3sCoIvn=g|*w z-*}QiLgBsE?aW1}#Czu}ZrLi~O?B4-q2pc^PXS{4>wjlAhce{*Gx?)*`vH*CJ%Kx2 z=pM8R|AlUrz7m3HxMLBDh0>K&%uu-^u;ISfBqJ=)hFlt=0l@b24(kwLn@xb$WcC-h zxu1ZJ>acSpODU^uzsbHzp}vJU?xIjf+3hVcOM~g5jsc#_TV#6ZXbJO+bz#)2W&wD5 zaXzL0F1OG6h+AX}x4u zBl4R=&sOdrWDwF~BJmAaJ?sXw1z`3ImCIC^!ggs%Nmr?mxY?m!5^>pT`cCzigY%d0 zk3-F0s3B`oqp9wB-z`SfeO5$|Kq^^Y+(6iTc1r zey|fyeJ~}>{4mS3-h=hSA)H}J52VBg#JiJ3J!%vt9+Do=~mEx|C->8A}&Y zB2H?8Vz9~T&Zy2ETmPgwkF7hX=U%hzw5r%+7?lkmzIvagnnu@ZTL0t5*K)BjHVN*> z@4wg$GL!4PD6;JcmEwGqGxgl;;pK-97AV*k=Xe`laqT7W;W+D^VV$c3r#hz4=~n%o z-yR5glwXLsyt*JoP192fSHFB=0yYoe9R0t*HhD71s&LH30 z$!m>pQ%W1bj9?hB4;aD9`iyvsyb^S&5$K;c<|Yw`HUi+S!#@k51ADU(T+ zMb>>r2DgT5L&W`Rw=+gm$J?1&-M2b^b<@{vlN+QHXqHP;`R(~;oS%%-BYfWkV$DP) zEK+%jfR0{Tc0I>mJD01zE6)G~K9x2Bd-3A+8qu5NR>=|cat$SpnU2erX;xKdyWfmD`(|%4?rxt_xd@|UR0<{!^)rAFGFqUmU4M7{X9IL&h@0^ZB zC$P&&#l3}Abqnmj;WP}a@}m&Wr;n%Uj0fkg2#S1*#7kOwXw!Mesonv%`W>bGFQ@NEqlG- z^*FMydg%df;j=9($6m_od%Gq7RkX)SbI^?tWbukGX9Bp@Qbj3W*jBzmm~zwh4BX<9!*Z-4lf2B%_X};>^JYxlP?IPg~e>H+^P#@3!dLyzf z@h2EBx%?*>&xaLsrfcv2uB-e@jfRN&Um#PZe@gZ6_0Gine?CgH=FIi}TV_XoN4(!> zUgQsW_UHd2`ngtD@+C1HU!xz@5sJmjzrL6(#o3ub09PPa>1OR{EJKvJQX~o~qrzL% z5zN1yLoniZaJ@}}bD>v=COs&S!LO`9L~H8p?Z`Caw`+F)c%bp`2ZmXBseX7z$MYI< z`s9N|f41CIi4)ziMuO!TEed`NS<~Nwf5sk0YTRva?yaOZE;%=tjtv=_c7`P`g_;Z3 zo#0WJMn*$DPmFB!_ez(NIYJY!LabwII4R$|nKyF56ir5t6 z6K7n7D}u>*rlw;~+YT=$z}u-2jbQ5)%sU$)-JrkJM{2M#R0N8?GT@!34i<$K-b%jI zhly4vG#Hk03E@x$NO(_uEkB6_ zi!!bDF*O%1y&lpEb=o_FzBAAUuX;*^YULal3^-caMA4}9xaMBzt&WI-1guf5-T4+a zKM?%Xj}vo^zmq6HtM74RGoQi*=z>hod$WESKq&vfTa@Sjom!6*tX|T5a&l<#D9^Y< zmk|Ma>SH1B(dX>%5zbh1HCReX}? z&8ETI-EC)SCV5!0)fr?BOdtp6_g7ik-W@5mAI>(G!kg*_vd=f-$)8K>A5I3P*D3A< z7EO3|OMSF(4BII)NR$n^a?2BSe13%Rf0JhqnFritBY4-g^C^Vj%%A=2&86!vd)sX|ferB=OPg2-P^ zt3|olt{BWi^~HZXV(7ChE{EsTNQ-GwYH&W@xTo?%@qA;?lX0{4ObrG7TQMHUF#svw z+5$+~ROMBon8 zFUwmjkDvD1>SSS=y=jh-(03>ACVfTtc* zaP?GbSlF&aNz?%uaYnM-thayl8jt2$ioaNP3TsXj>=K?>djl5Z1y^6=1NT#YrL3a& zQnwN`ZGZg&t&J4=WF>u1_z@kIgO`W^{!cIbyY!nnTUSFxszT{3+Fxz){Mf5Q`%vaR z8_~XNn0X+MS4a2_ln)PX(8yc}*m@QRqmWxiY`nB4C1wPFh1s{vz&dxz4j|X;K)FlT z)l^pLtLvL+5J=_#97fw3p!)TLB$}4oJ_h0Rd{OfkIfRKTM+2Y zVWn(X6^rIDK^!SKBA}A|yK+yjSV$+hQg(2Ci=eTd*T3^O;`+`2{2-#NNc6uf6~hC% zB}okFgZx{O?$jJYQUjAVGUj4DZ@h?Tu81Dlsf;|iblS1{+lw%M@WynAwsU97W2v8U zqat{!UC5&D4!6sm-rchZd%@NJfVch+5q27|_eDYQryhVmpXj1fq{BA7Rl5r;w3FCa zk?3WU5C6iomcQ=yTeZg?ZxOLr{g0}BrSBire)kwt^M6$BRWAKEs=cP`|6aA%<;p{o zC4K8H<*P4>lKY&XwgU_YVGD{gkup4GYqE4Eh4i_9gidHhRXF@86ExGAZzlXf6AD+c zBea|k{zj?RUZli17=ujcYfL<)a46z7p;nQlp?;8OgfZgxDU3Nt;YElHMBt@8Mh4D71jjXe0=%|5BR_)V%G} zYT%>3o3$ux9n)doO^xybAf!S&h56pI0&NzOV*p$b1uK+M3ER5WDG#?~-mJM{3iB8> z%h%Ey3Ww7W>gG|~A$|;T`5IE~z?DDdQ^&kGTFw_5mtf#9W{MCfVz7>fVgFjn0Khz}V`Yt&l|+xp5Gt2;Hj)GeGm_ zx8m1{FFWi947q8dpwD_d3#r;rRsEy(UB zSwl=H(_c18AoRe7K!v|*qW*17tPOGm5HIELB7n`iB|L4j9FXna$jsOT+0=UhCg#DE zR?_Otv_AupV*R7f>Rihyz<2Rk@t*!ckV3@SU%MV$x)n)sxJtet?MzRh!r#koz7KLU zh(cnjp0!p`t=ohgJLy4V(t5LY?KxX1^!_{(n?NSnQ+hQ^v8;w|nt^SmLy#OVKP+@7 z>?*YAKmG4jdI`>03Za=7r7_HHJzoa78BBqU(mxOyO`qHLPCA)+toDMg7IaRiq11;c zpIBRTxIubG=A#N{R&R##YP)E+d|O@N>1JEf^#|hyHI8(3SM}?1{f)#6NlQ;L&GFnljHL;;$HQ@vnub>2yXO6@K(9-V_^C7@FGtb*#du)-u&m|53 z32w&?{bRQ#wgP1L_#4bRFk?#9E|LGBg0>rFLy?dp0cA|w=`E2n*}Z6I0RPz*tRuVJ zPFqoLt=7EFtJTw5-1ZG_f3yj=+=+jlrRx2flWc&5a|l3Dc9+f*-hcOj9VPL@&)F*A3T+nl2Fj_ zOXw$^qs0}Y?;MOyNP{bHqT|C~FS1Pb;>Z?=FwFRr|6ox=? zaGB$Do!}XU+dJoP7;f1Hc;A1*Bt>lo4EHUr9F)`$=3IKbGT7ui@+F|os{KYnd9E6r z3#9`^FODn$|1x-bk^?CamWYVfLbOIf>#5A}j;*NIQJh)EIwklNdpfrgd`e5JP!%B> z|LdIn*zx$n?a_k}-Zx4381!tPTw~@OYQqg~h#R6ybE4ut78&;dsaspd%QGm02-6;f zI3x%(Ng|lDm`krV?MhSkC0)kL!JF`MGk4?bR$>?8zjY$#H&?6t^hfR<`%CUdhT}7_ zo2;;Jc8e3|FOQVUy}X7_KbBm5`{fU7QOO<(f3v*ba(5if3lV5Wx$YueEc;-r%yFY3 z1B!$_{C!kVe0B`69Ox#@Hh-(vqq!JwvD^4{TxdB3<&TcR#%P?fX4i)Ev5KSs^>$@+8}DTU_BqHmlvkDDI(5D z2mZAQuDIR6o@jbah&~Wmu!com<&2%GJ76sNnC@-X^B$kkY#a_`~@MoN&3NR(< zK|@sliq^|H@~#cg zaYRvvO1Sbxjkh1oV zDNJmWekcW|_}ZpbOQdBKVcPdiLPlJYeBEtBDwfO4i@z6K&)v>A>)!wqwsBTRt7{kj z%jkkiIWlYHltuGXNP>rXzTz~6L`guRMxtuvHM`=XVxjr)LA&dA%mqFF+o5Z@Ohe+1 z+t8#0q_ls-3D9b6{j)Jxg|K|Qkzi-FoWPl3&G+@UK;t!8{wq_@P|$rq+?_KLM=}M* z6usVtN>I-$h7%cgLF=&$m7~5tF8K|$7-&3a87v{lkwn_2R$G(YYn$Dr*e?fvNAkWS z=CP_tQpI@2zDNo`ol9}C)+2+UI+C#f##qLg!bX!!?>^iE+WuhealYo`|sezA{ zd{+N3D;Z1olW?82cq~rA zfoeqf~puuD%vzBAOiJ{~-_fpPbLjlJAsys% zXxaBo7kQn2n$;A*-4(HT-WoaFc5#f1_>1Di@K?W1Sn+Y`ul%0onN&>9jWkH?uMNJr zQ_Q9?V|zRD_LXTR_1AxN>Q()}bm}g}Oe|WIY{~9-o}?&iJK{Xa%y20tSw0bYmU-AA zXT+K6=#T6a#=HC;*M0lfLu6sb7MmcB#eNsgYy%!=6Hj`4`x2wpCvAdEkjnN7$8|~Lx zZRjI`LZ~JcTX=fjy}A!6=XazvMyQzgm7iL$X)A32uk{m+66N)WSrcCrDI`%jO1Fqz zZ;UlaM_Rilgm*Ctj|-yTQ5q{(n)1SW;H2=K(&w&uKXLLSPN?%cZoB9%#v|Upe@D0H z77hQyV!MaZW&{O4Z<)G%OOb)uVfOEdEd=ywH4Kp||6QT2>f&(u-vRxi_Pk(14rw;x z4QU!#U52lkMU5H>Vo1IE^OIsFQ33g(Msj1^#Vs1#`tz2sKWV36IkChUaUo?QJQeZb z)@9%haZqx+YW62j&S%p36M7FKS?CE-b1{D;iuB`oq47wp&rs{-$cCU5$3$EH|0=g%jFm@eY4DEEE7ajI@4)L-N*qNC(clDG)jDE5ieyqAzceO1P z<7qFoyU(K6xhsONElSogTM|g{B3UMDB&iVS2JV^HW_1${FDLWcF8XfP!#?kTg7ogZ z@Wa+o_tCfR$Cexdy0rn1)^8dci5nK{UHc|qx#CYhFMg)B~spu4*ofQq=6NaMUZ8e%SEGa%wPC_BOrA$W_hty_`<>2r+D?t=p zC!ZNzUM?HWKMe9RhxeRjKcHxs?xp}&sGZ)x+{y9beDv&kg|P%S&Bb)rLzb<+CCo6Q zpTxnnz#r8#GO|{wgN~ve^s1?T-D}y%n&D#N7BtVe5c%NS#bzTV4H^lr;e52XbSLLnzZNY=NV6CZ7nisAWc?eAr7!c3p3OD`+!25 zYkynK2lX`_y*?9y%4zb6a#(a|T?xW#`LsoO?uH+OEBL^e^gyw%dGBDYI;?~(z}v$C z9B~<2an$I=z)5($}|ZM+77keO{4Zs~KKFEfuH`4AfBdH|{Sf0XUHT${*V^E5m6J%_dj1s{^Iij3 z2JbI&OI(5htTxo0j1mfO)$uGvra4YRu}G%*|)uoj=Z7iFTZBGFQT5+zAd_M`KD zM0)=c0N1*ne(TjO8_hpq!L7$bQFjvX9ayY6WXZMRBs(1lO|BEQl$Kh%td`R+j`w>s za<>yZ)_S|X6CC3~pKvlW%>BD=q~rC)JhxPhSrXo{-)5j*cdxSafA`N zIJk>)ymWIeH8c;W(CJ{Ye(zo4SncIDH2&9>?i?!OCEfMQlUd7tu26-c(ir5G=72TU9c|LW3~6Pd*R@B$9aaBD+DMh?pZY*06USFrYF3+q?- zB_H5@#GHy=AhrkUG2jNaisaMOh$0AjeO_DGtUN&r_`VIXv?EqS+Y+pE6W>L`;@8&iDe5vK^(1rO@OlWmL(6!I6E zjCzWe5jGTl5ihwWdu+_J#w)ZW&^Nfdtfct8q!R${=uCiklHbB5p`;@Dprxk)F~cXp8NCaEfp`+ zr$0TY5aUW1xS5$WI;a>W)%Q+k1ML0jFZH z4ehrT7(UClH@wk;slMl$Y(&);Hy^k1aUnUYVDuw?nUWFruT83HVTU!sn3|i%_k5#C zC^>p;VQErGDt@7Q8Qpm94pxER#>|6tFr}vzqutj^$^*h=q0&`K(bw>!%=fW;P_65} zG+LdX9b(!`X&-EB8;{_WR9$2rK7R9UE-{z7Q*47ger8<@_1&-&3v5bJ-BtNq@DMtOL$%~k-VnO?8!5^x65CdeRBMj zC4UEQZl^Z(C~20h0Df@rRy9K(CKZiMnaMI9YcMCAKB^h6QdOi6cAFHARI>Ak^{QYXT+Ou)71_M%=) zliZF(mp`E7^mQxkr~6m+Ib8H_92Kz+K6crhxh$Nb8xd<3mGUBnq@U=Oo%8$D<}X#7 zjrc<&E<5s1F(du`>sxQe$vdlPZ?neZiN~^8l6cjY4l!xwD@xQW*LC?e123 zbRnWQ*rpse!(Jp9B`AKFEE}OL0j!gEc$ZNyyK? zo9_d*cZ$$sZE5L7e>C7#o*a(;$}W#gzko2P3Ejba79S$YU#%D@IxCt>)W&7}W$Jid z**)je*Oli$Jpcavd3ip$IpW!3uRFQ(cT;G@TU?q;4GTPewG0wxPD2zm{IwYRMj;sp2gG<=dcs*(7T2Aix-u|rk zX+NCVbdea6vOFBf#p3rs920_AEjOP2#6E;ftln4uS@)FFy-9)uzUQw+PxhkwSm=Z^ zN_WjC+^BDPu^+-qp?~2D=fNI%E*5EwR)#mel0ZHcq`+&+j_stj!dza=ch*4Hv3ahM zP3Nw9T35HwPUB7iP&qZeKYQiu0z5wmo|o5XF~`E${BgCf^N&*_L&L|Zvd%@PtMW{% z*?OzrgjXpn0NfKQs=?WkK>ZAmM|mnt`fxz@TmIe~THty$q;(jUk|&3FV(*n)tF9^j z7-cU%;vUos6MeeMt_6YJJa}*uOx{Or;6w;)o<*$|= z!^fdxceyo)J!q7>^%mBFBX0R{703SR0pw!(Ks=mPdd6?sr?XmCEV9!Wss}S!`^tCF zLI=JX=q}Q>dRSG|dAMFjz1sP(`h#9h1G4R|fI6B(djvvsX2^5Hu+t)w@cK^@y;W8* z;5UAQlFJI$-q4S*h}n&KVyS~V%tlXt(fI)}h>DGNgJ%4P@KTtqPh8D5x+=b8zhnXb zxa*7ND1+;~0i!zTa5wG2m&fMium-)ydEK;=3%H)XQ|YwKi@d}{{Q+C1lsS*@H=k@O zte~XYmtD{pCDR>Tv)TGyLZQ-TTANO*(Z^q{B+R>`&$S1)U)H6r(2biFUP~9f@X@I& ze%WQstl-YI2Vb%MWINya3&NADI{@pe)#?{S4(E2D>GRhQJJC8AJcst>7GD$k+`SDm zZT;b5ZDZ)P&l(13NY<0yOx0?Gt4QfR+dfEt(!u^G5!-Ny4uqnUzi5|>?F3F4Rr`k6 z4cnp(x%Gb0urF9`iRG%sh^V(dEI%zCGO%iB4O%LJYl3|z#y<_YnnonmFNEmwqc8bi zqkaBedF#3nr_R>kgWN}}v99GcrO}M2vh>0)KdXKTzn`VkQ|{`UC$Ewn1a- z6ob6hwoliuh$SD=Y^9|K3oPsoYJg{mab>vsnuyZ{GRUUT&$|P0pC1+H9?8)KU|)-j zkg3~EkC~}Se)ZxAH1i$cNDo3M?=tYw3x@4Shn3)l-S;Vn=dGKd(U|(-X4}g)>&p?Q z@z@&DX}FDMbW3nU!c0!q&7d+}!8a*r<6k_U4aY%vzUf#i(sf=>Eg?7-)5+^Kr`0%c z?CUYTu{gx7ui?gDeDdLQy-ha%<<7Z|f__NV>w%xd7io{pHnOSH??(@X7CaJX=sJd9 zrP~9joPp>q>66#8bYjT)nR#Cy*jkoB-L~4qOu^8duCs>+tV2gu(FH{CAbY7!2q* z$&8Eb7~x%t^4dN(Y z=a(Ofb;z5QKkn2TK?9`K%3=JC;X%MyMW*5>yPr6M25j_nwKd>#2#5zvcNzWaVp8#$ zngDJw2=tB#l2M*f+)cJi(&o!EnW>>U>`#P>kE0!PHwLl1%w7g~FaG*OI@Ek<->yBN8I06_bA_X@xl5|;;jj*nizv(JG0>%>jk3( zV8*$cAZTM4>a=MVd?V)BJLA{Xg4RBVY>FjZXr$L$MK*CCvgbuXPNrz~ynw3RolJ@$ zIUC`b^vGwf_3uTGx4JaRzd+PHRA@{<`q9a%`)N?AaHBh8TwtoKj9&|#DI@b8Z`a#>rOGdT7MJ8=>1%6D)wpd{scN|W(a*GDR+oHFzwe`LYn;X^ zNlvgz-(`369hu6RZ%UHij25~-!&{~$0hAIn$nsR)oiR=OQ;fY zF~3{52eObWZ3xcKUgu8I<4)Y8P-=~{@CwlPZhBv=Nk|z2i^Rw$qeJh>ZGv1 z_Xpx9#-i&~zr z{pN~pnRz-ym^Ptg{i1tLeM3|v^SReeIT%*!Yh3An{*^80s}VF=&{L-OL|9`#0%!j+ zhx>leplqYhsy=yaZ~}fyM#>E9!yJBa;H2PO-q3ozZrikbPs#C%g@l!n$c*A!k=Lw` z7KFM3jDCg z9=*@IGtGeurDPhwv|!%;W^wtAH@-QP?9@$Pq%xui+jfhZ`A~Lgo-Aq?%4E18GMo! zN{_YyrUKpazUwYkm}?d+UFK!+uq`QSV|$q8qQCzmtMvVKlARW?_SY(jes^`zemZ!> z^|B7O4;#ay=i|Hf(-RHbl9y5WBu)ye^Eb6Z^<1zjJr;gF@3X2qzDh-CaNJV01C)Fj z(op#fR@a30Zs+~K!|~XS_1%dHOP)~=Um?Y!ki!~{@Jwv#@J=oVryR*>jWrE+1vjlLxF6QfyT z#zS@8MoY%LHkTnMWjES%Bj-sO+dU=pCuJuG2@W)j4$Y}cCT-F7|EIb0jB0BA*1d)< zp>HW0LzmzN5du;|7o>?)1=&;~fG8jx=}kdIX##>YDS{{?O1AOR@} zo%6Ey8TbA_-Eqe_U(Wix5=Itlt@oYJ^PA6nPd)_qUj2^Xz2&1h{*y{McSBEn_ol?$ zDwt;pM(ud|bkM}!*+YWZy$|?N;RJ<_v{E&)i6k(}4UpuwTfx(NM-lr@R!6@hofMtf zv3iG-@g%w;Su>CRd?uX9l z)J|aApQ^Dp>8&O+bmh-)m*ycVd1W$a5C8PZN9Hjw&Sn#f76ps#vxRdM7RwW}Le1~F zp=xfzOU?snw^Hig_kLA^7oSddF4Ejcw+ZpO67VG@p%1L4IkJLf11N}(dD3}l5Jo_u zfV5i&uz#vn`Za%UZEeD+aVeSPt&#nlOLkZc>!R)n$+Ii|X6cgSG>H!I$=L;w7aiS+ ztujN*$E&u5(VCfHag@ZkNR=&s5pkZd84KIMFKO`QL#aGE7z>iKw1;EQrfMLumFQ)g zsqHHP{Lw`uJ&3rj!IABkIqw*eq&SHJ?l=?embK;7=xS~y|LlWTp+yg;!qIJKw%VXP zDWNZ(uWwn>Qs2aq7@W-p&&~!jqRYYi?0$f!Qj~kiJ3ou0YL)`3KI(P@d%h-3uCuvd zAVLp#6|7aWVcX8pW`z|0;iTZ)OH@Qgq+W&DA;*umqRtH;dkyKq8~Vl9;aGjS7a!4p z+rfhk7Wc1gbHCMqPA2(orKRIwdggCDi`)qJAF^3MBY0%&0P4?pmx0{{dTWk5`Ey{f zxi$LaSdSD~i{s~AR@gdh3Y^fyfE^2}E?2Q`z%-gbY7hD)OL;`*#G!b{pA%}hwfngcCjI(!Unqsp~Kf}4u;SH4klmm~%0g%pD zDE{%(WX}y(4d!1TTfc8{9A~MvJJwp^ooOIJ0WlqD1OA@KqwS#^C#05_I|3a2V@4VY zR$)r4Zov|m9Eqj=P*oizczhLzFY!>j$hZoYhv&^Hmvg4hNbj`eDFkik4C-Rzjo@wxVIXbw>jH<%(fcV08uV3*n#`~{? z2osYu|H;tJujkNvi&lj5hxRVd5jK_fEvuh=((-D#wMKcdk9B*OXMMzQ(@W=RK#w#P zG18x{Oz8&`G1gzJWD``q3C$@lph zdVQ{vQHsc+xXw3{2`z-m%U=FXKDyX9b(N`|<2z_cnPPI87J2<)$oCJ^e4lpK2m!-q zig&ev)N7i%QG&L16?m$>l%3Ev^!DQdenx`6C#5%+_#&U(*H+$rUvh{cRE6v&SL?UX zvpiDs(vHZ*S=xNrxXFj?0*|9&y5= zx=1(ST+oqHyVgjnm^Lj3c$z>Bf7r+yjiU?gvJf~*=9?gCcu8O0g*AuNVSkSsZfkT%vCIxD2^dcjPq$o{lEPOeWBI?8MJsa`{4108YQ z`9yZ9sMZI6!UU0$eDHF+5Vq#mJ!!fz*+m^AgSRs1&Qh~xB#M|c;?ig<4%rXi_#{1| zX%Y|{2I;8m0g$lO@= z1hj%=mOxF<-6-QdkJVjTW#d)wRIebuFREfHg~+_M3`nKpNVfC(qP7Nh9?!zvX1SGMwZtFgmC?q0xtY0H&kMm;7R+{33gi*h>EzF^q`qMTlW>-gnF@sai^k%x zgGv;_)^n?x1L##G_WWO3OF!DToCxg7+fWPZJ zxaN7)3;3`kK`C4CFRQTus`rmtA`9iH)HwaSi%Cz)8Kb*k0_k64-IO06l6g%R*_s?A zC2RfWx|uwd%PpFNu2Pio>G+_OyK__`!Nl9UZ`hpboNn~LVQf`{GObRvh9~TcVy)S+ zNyzmkA9rk0yJE{jpryn&3x6i8M0hXO>naI(X1=S${P6>Fph%1q;B(q)qk8E!+r{Aj z^ka&Dy4;DrBD5F4HIL^u%tgRff@dy@jj7R4)!H`{sN<`ULDjMmWETX)9 zmsu+dOO5jjRwD-W3SL^=qRy{qY0S&I65k+8Z#321~>fvD1E$+pjg|tw@RqV zVH3}Bcat3miu7AZKZjvT;BO~xCK75N>VS*>^i*U^f$->@yymMtDWk`i;Sg?jr=Ut( zl|ww~=P$e-1rIp(>p`eoFu80u`YZCNGFFpWQRHXorKkF71zUlGdSV7kLX!*6UbcE$ zkAL{ZWfxMl3iW)OYvoN@@vF)S^>?96OCtA}!o`@V-I6Rs!5tP{-?%tB3;il43Dvov z{HW4zJuKe~AGX*B$*E(883vqO(ewS2MMd^ULM96NXh{-T{`PhNwA^9nZv^e~xJ=b= z8ZO`XaDEO!8807O?BFRXTn?r?$l14@3DA*7mb+;%^r0#qQ?UPN_jDk7qdINh#EIJ}`z2FIu-w8u?|@oCa4 zN`k(d(cQ}7LsnMR>4@c|Taciz3ZWS4T))vw(iS(ln|i-J$hoC(_IuTwC8^)_FgH0z zTR>?yw3jE18G$IZ`r#=>RsOD(?vNJ2rnr7lJTZ&YlOXh_Q){MIV_|PfB8HRw%sCH> zS>d|4{TusW(V{6lRsD;6J*jGva}Z@3eY!3!Q4=HZSpAEh^RdO}wQM!NvrD@$wTl^| z)DAZa$7}X(1T@TcqZ+M2sjDy{CN4UrJ z+_Brs1$UbFTPvt;w26&8MpGl`S)LE{>Q(KHPsHrm=h4+;mE^ZP^$ZF8O)a>If~qZz_E;5|E$ zKcXB=i9l0r=v9}38@^u%wT~h9vVLrm^7YzUT(_R|RQi1j-$j5E{4)~XpOAc|4ekT! zrs9xUaei>T=2zh{Hz&wp|+mgq8$I$6p3zAll&Od8U%}!oPFFwAOL5@!`3q+@0IZjqLL-LF+e8O82Q$V?)C|(_bk=kGuakwJ1V_L(!#1KZY_E_#641Bw#t0UgpaA&Cfynob1-+r)xUn|-(N8=X zM$sD^qi#I-14W%ATX1cYBFV>_>nZDFMNCNC(D%$f}Lo`dkrZYnoM&O^*+N)xLr zkJL0$Y3IAyWNmT-XhiaH{OC;g)phlNly&5Y`9g(Y!`G=@BpckP{uG*nI57#^THkGx zJTTdibos;|L-bPqOCm-E#8!&e!M<0qXmKr2BJw{F8W2@K-!Xz4G{P`{#5{^}eD*Xo!59^5a7+U#AK0I8LzML&-CgmBGRx4K zwABtWzP3q*_Vp-(74f}b@am14mf@N;tf(OGcR^GdE{iFTx0XxougpB=ib|hrMoG?K z;ux?l3QsrGC3y^*ih=Xw4q#~c=I}3K-Uttz{QASoR1f|HjqxEZ@yA0oZjyp zLIJoMhuYU-styKec!xDlqW^wjz{a0yVNJYYk&AsSpTm#0@_sWbtS{+H;A*nhx23d} z)2*}@uR@!lH~w?0^eyE=A1*HfIQ zR|(pF>T9pm=uN}J0Cm#SVoju&{tU|s$=SLRE+ay!K$8p`Wz2wiU!T_&PJ1sewUwo# zN)m*T#naslwc1`V5nLDUJyWCXaI)SBr3yn|VWceswl!){p{7TCqPs04_ zmpaA8$6Lgo>x_gKLo77`VtAHSX`sKU7Oime7qd&;3aCLx7m5*D;~9 zM--W+hiDgSPp+t9Zcs92aU3m&Gp`nucKi5b7X2wrI!dDNR@M_1>yo{HUxv<4!YK6#`HZL+$u(8wx7N10y*DHLGa6lgoeLxEFw8_ru)Fw zTB?A&Wb2F*g_A-0!n15oi-7f#XsMv>j8wIEza%gRU*$?~Kaj6u&TcyBXN6BHW2gv! zy$+O7r#pVkVd!}_e%f0(3g?BtZ`ctH`_pg~B(<_CRtE#m<7OXo%xKzpa($pF(wwx+jhyJ}}MrcsT23%J`sE2DHg zVjNL%;^t+~B`EbO8*S0Q(YI*MexCTy`R3P~1FM8P;Y5^3Wl&`smd;d874-(EW?B<`*kLIW$yzt!$liDx}w z^l=tse@x!;-19C`R;*>P)Xu;J5 zw_e!@Y*8M*jJuV`uVox%kiHz?^w4o{6S}3;l|}4ykL;Mj==!i8F9s|;Q#RU|d%PT7)OTc`Hq8bbDhJ@T@o9gD3J1**L>xZy;zV9vI@CN z54;su5<(**xTiW{<58Ne@j%w77N5=dB3&pVHmnOgO?~+AyK6=3KkNPHyHpYbjeqbv zj2{kF|Z8J0}; z82(j!xLRV9M_KiO^Y?cqlDg~3$=AA>I*;fbqyiNJRzaB_b?K{taG&cbdLl5sHBsj* zKKjHbRN|y(Efys0UZuCp^Up_|mttqTgrm=pN@TXYck$|3GI^-r`VB5Ap{>Vv1KT6m zu(BvaAw)P<>}#*Yal^2dmWawJw4zJsFzS?ZwoP}RbRNxbfPiA=?Gtpgv`FmT27@!r zG7ggRi>Mo2Nn)an&SLDEN!*eb0aHNBWW>RCDSC(}*PPp(nci|tI71e{miuG|!67xY zAq&<}mY0??f(Rd)WG5|qu^^r1Wo2(dWK!S*tgL?ahOL&?X32~zpi$ocUwo&U1N?$y z7{^Oa7FbYp*5hDc*myu(VrD_aK$v7w*W*=?qFV#7EHl6kq38<#A)Ve8$^1+66uB7} z{~u=O|H=3yBklpL0!$}v7`OX}sHqk&FjAj-Q*>H9o6>rfWCEDD>llzrfL*d-3x({{ zUi=5lLEHnWX67HvFN54uhc%vmke!LNL9RFd@#!OAjn{fiB0qp;^O1KZ&FY#XE9No} zOySD+Xc5=D@VX_4a-O{uw6s{6FXC zocH0D7I^_JOo4K1{3oPzdIkSI{=ea+|2|*uRQ~z*NESK04gNiJ+5d-Z)c>BZkDNH6 YQoIz@tbIudb_N`J*A2BQuGvTZ7y4)6@c;k- diff --git a/docs/content/reference/limitations.md b/docs/content/reference/limitations.md index 50c294b3a..15de00680 100644 --- a/docs/content/reference/limitations.md +++ b/docs/content/reference/limitations.md @@ -75,10 +75,10 @@ The Bicep deployment engine currently does not output Kubernetes resource (UCP) To fix this, you can manually build and output UCP IDs, which will cause the infrastructure to be linked to the resource: ```bicep -import kubernetes as k8s { +extension kubernetes with { kubeConfig: '' namespace: 'default' -} +} as k8s resource deployment 'apps/Deployment@v1' = {...} diff --git a/docs/content/tutorials/new-app/index.md b/docs/content/tutorials/new-app/index.md index b3e7151d6..6e4daa388 100644 --- a/docs/content/tutorials/new-app/index.md +++ b/docs/content/tutorials/new-app/index.md @@ -23,7 +23,7 @@ By the end of the tutorial, you will have created and deployed a new Radius Appl - [Supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview" >}}) - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-radius-bicep-vs-code-extension" >}}) +- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) ## Step 1: Initialize a Radius Environment and Application diff --git a/docs/layouts/partials/hooks/body-end.html b/docs/layouts/partials/hooks/body-end.html index f640ff308..3f4109e18 100644 --- a/docs/layouts/partials/hooks/body-end.html +++ b/docs/layouts/partials/hooks/body-end.html @@ -5,7 +5,7 @@ container: '#docsearch', appId: 'ED67NSVSZS', apiKey: '21e2920c3a9c29b98cbc382694413f29', - indexName: 'radapp-dev', + indexName: 'radapp-dev-edge', }); {{ end }} diff --git a/docs/shared-content/installation/vscode-bicep/images/radius-bicep.png b/docs/shared-content/installation/vscode-bicep/images/radius-bicep.png deleted file mode 100644 index 2e3776cf119d5070d43c86d68de65a842101f7a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103458 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

OB+b;(` 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 B#>BR5+qP}YKj-|;^Cg}a-Cfn)*R`vA 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 I%2-DJf6Lb^=Kufz diff --git a/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md b/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md index fbde509f2..508e540e2 100644 --- a/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md +++ b/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md @@ -1,6 +1,6 @@ Visual Studio Code offers the best authoring experience for Radius and Bicep. Download and install the Bicep extension to easily author and validate Bicep templates: -{{< alert title="Enable the official Bicep extension" color="warning" >}} +{{< alert title="Disable the Radius Bicep extension" color="warning" >}} We previously released a version of the official Bicep extension specific to Radius called the Radius Bicep extension. We have since updated Radius to be compatible with the official Bicep extension. You can only have one VSCode Bicep extension installed at a time to build on Radius. If you have the Radius Bicep extension installed, you will need to uninstall it and use only the official Bicep extension. {{< /alert >}} {{< latest >}} From bf3761e052dd79cea10627d1f301579397fd71b3 Mon Sep 17 00:00:00 2001 From: sk593 Date: Thu, 25 Jul 2024 15:32:38 -0700 Subject: [PATCH 07/40] update validate bicep script Signed-off-by: sk593 --- .github/scripts/validate_bicep.py | 4 ++-- .github/workflows/validate-bicep.yaml | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/scripts/validate_bicep.py b/.github/scripts/validate_bicep.py index be1000433..1b8e42bd9 100644 --- a/.github/scripts/validate_bicep.py +++ b/.github/scripts/validate_bicep.py @@ -6,10 +6,10 @@ # set the bicep binary name based on the OS if os.name == 'nt': - bicep_bin = 'rad-bicep.exe' + bicep_bin = 'bicep.exe' home_path = os.environ['USERPROFILE'] else: - bicep_bin = 'rad-bicep' + bicep_bin = 'bicep' home_path = os.environ['HOME'] # set the default Bicep path based on the runner diff --git a/.github/workflows/validate-bicep.yaml b/.github/workflows/validate-bicep.yaml index b09262cfe..e5d6d1ef7 100644 --- a/.github/workflows/validate-bicep.yaml +++ b/.github/workflows/validate-bicep.yaml @@ -29,7 +29,6 @@ jobs: run: | curl -Lo bicep https://github.com/Azure/bicep/releases/latest/download/bicep-linux-x64 chmod +x ./bicep - sudo mv ./bicep /usr/local/bin/bicep bicep --version - name: Check out repo uses: actions/checkout@v4 From 8a0c3875f371c51073bb12273face9f88c267968 Mon Sep 17 00:00:00 2001 From: sk593 Date: Tue, 30 Jul 2024 14:18:43 -0700 Subject: [PATCH 08/40] addressing comments Signed-off-by: sk593 --- .github/scripts/validate_bicep.py | 8 ++-- .github/workflows/validate-bicep.yaml | 10 +++-- docs/bicepconfig.json => bicepconfig.json | 0 docs/content/getting-started/index.md | 18 +-------- .../aws/howto-aws-resources/index.md | 3 +- .../azure/howto-azure-resources/index.md | 3 +- .../howto-connect-dependencies/index.md | 2 +- .../containers/howto-keyvault-volume/index.md | 3 +- .../containers/howto-volumes/index.md | 2 +- .../custom/howto-extenders/index.md | 2 +- .../snippets/app-container.bicep | 2 +- .../dapr/how-to-dapr-building-block/index.md | 2 +- .../snippets/app-kubernetes.bicep | 2 +- .../snippets/kubernetes-connection.bicep | 2 +- .../snippets/kubernetes-resource.bicep | 2 +- .../networking/howto-gateways/index.md | 2 +- .../howto-service-networking/index.md | 2 +- .../author-apps/networking/howto-tls/index.md | 2 +- .../howto-author-portable-resources/index.md | 2 +- .../secrets/howto-new-secretstore/index.md | 2 +- .../environments/howto-environment/index.md | 4 +- .../howto-deploy/howto-deploy-cicd/index.md | 2 +- .../recipes/howto-author-recipes/index.md | 2 +- .../guides/recipes/howto-dev-recipes/index.md | 3 +- .../terraform/howto-private-registry/index.md | 2 +- .../extender/snippets/extender-manual.bicep | 4 +- .../extender/snippets/extender-recipe.bicep | 4 +- .../snippets/volume-keyvault.bicep | 2 +- docs/content/tutorials/new-app/index.md | 4 +- docs/content/tutorials/tutorial-dapr/index.md | 2 +- .../tutorials/tutorial-recipe/index.md | 2 +- .../bicepconfig/generate-bicep-config.md | 40 +++++++++++++++++++ .../install-radius/initialize-radius.md | 2 +- .../vscode-bicep/install-vscode-bicep.md | 18 --------- 34 files changed, 89 insertions(+), 73 deletions(-) rename docs/bicepconfig.json => bicepconfig.json (100%) create mode 100644 docs/shared-content/installation/bicepconfig/generate-bicep-config.md diff --git a/.github/scripts/validate_bicep.py b/.github/scripts/validate_bicep.py index 1b8e42bd9..75e369ddf 100644 --- a/.github/scripts/validate_bicep.py +++ b/.github/scripts/validate_bicep.py @@ -6,10 +6,10 @@ # set the bicep binary name based on the OS if os.name == 'nt': - bicep_bin = 'bicep.exe' + bicep_bin = 'rad-bicep.exe' home_path = os.environ['USERPROFILE'] else: - bicep_bin = 'bicep' + bicep_bin = 'rad-bicep' home_path = os.environ['HOME'] # set the default Bicep path based on the runner @@ -45,9 +45,9 @@ def validate_file(f): ) stderr = result.stderr.decode("utf-8") exitcode = result.returncode - + warning_prefix = "WARNING: The following experimental Bicep features" - if stderr.startswith(warning_prefix): + if stderr.startswith(warning_prefix) and "Error" not in stderr: stderr = "" exitcode = 0 diff --git a/.github/workflows/validate-bicep.yaml b/.github/workflows/validate-bicep.yaml index e5d6d1ef7..bc9d4d7b8 100644 --- a/.github/workflows/validate-bicep.yaml +++ b/.github/workflows/validate-bicep.yaml @@ -20,6 +20,10 @@ on: branches: - edge - v* + push: + branches: + - edge + - v* jobs: build: name: Validate Bicep Code @@ -27,9 +31,9 @@ jobs: steps: - name: Setup and verify bicep CLI run: | - curl -Lo bicep https://github.com/Azure/bicep/releases/latest/download/bicep-linux-x64 - chmod +x ./bicep - bicep --version + curl -Lo rad-bicep https://github.com/Azure/bicep/releases/latest/download/bicep-linux-x64 + chmod +x ./rad-bicep + ./rad-bicep --version - name: Check out repo uses: actions/checkout@v4 - name: Verify Bicep files diff --git a/docs/bicepconfig.json b/bicepconfig.json similarity index 100% rename from docs/bicepconfig.json rename to bicepconfig.json diff --git a/docs/content/getting-started/index.md b/docs/content/getting-started/index.md index ad579c576..f5f86857f 100644 --- a/docs/content/getting-started/index.md +++ b/docs/content/getting-started/index.md @@ -69,25 +69,11 @@ Initializing Radius... Initialization complete! Have a RAD time 😎 ``` -In addition to starting Radius services in your Kubernetes cluster, this initialization command creates a default application (`app.bicep`) as your starting point. It contains a single container definition (`demo`). +In addition to starting Radius services in your Kubernetes cluster, this initialization command creates a default application (`app.bicep`) as your starting point. It contains a single container definition (`demo`). `rad init` also creates a [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config.md" >}}) file in your application's directory that has the necessary setup to use Radius with the official Bicep compiler. {{< rad file="snippets/app.bicep" embed=true markdownConfig="{linenos=table,linenostart=1}" >}} -> This file will run the `ghcr.io/radius-project/samples/demo:latest` image. This image is published by the Radius team to a public registry, you do not need to create it. `rad init` also creates a `bicepconfig.json` file in your application's directory that has the necessary setup to use Radius with the official Bicep compiler. The "radius" extension contains the schema information for all Radius-maintained resources, and the "aws" extension contains the schema information for AWS resources. These are enabled by default in the `bicepconfig.json` so that you can use all Radius and AWS resources. - -```json -{ - "experimentalFeaturesEnabled": { - "extensibility": true, - "extensionRegistry": true, - "dynamicTypeLoading": true - }, - "extensions": { - "radius": "br:biceptypes.azurecr.io/radius:", - "aws": "br:biceptypes.azurecr.io/aws:" - } -} -``` +> This file will run the `ghcr.io/radius-project/samples/demo:latest` image. This image is published by the Radius team to a public registry, you do not need to create it. ## 4. Run the app diff --git a/docs/content/guides/author-apps/aws/howto-aws-resources/index.md b/docs/content/guides/author-apps/aws/howto-aws-resources/index.md index 70c8e3673..0bb00498e 100644 --- a/docs/content/guides/author-apps/aws/howto-aws-resources/index.md +++ b/docs/content/guides/author-apps/aws/howto-aws-resources/index.md @@ -24,7 +24,8 @@ This how-to guide will show you: - [eksctl CLI](https://docs.aws.amazon.com/eks/latest/userguide/eksctl.html) - [kubectl CLI](https://kubernetes.io/docs/tasks/tools/install-kubectl/) - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config.md" >}}) file in your application's directory ## Step 1: Create an EKS Cluster diff --git a/docs/content/guides/author-apps/azure/howto-azure-resources/index.md b/docs/content/guides/author-apps/azure/howto-azure-resources/index.md index 21648b51f..9a2e1fdc0 100644 --- a/docs/content/guides/author-apps/azure/howto-azure-resources/index.md +++ b/docs/content/guides/author-apps/azure/howto-azure-resources/index.md @@ -20,7 +20,8 @@ The steps below will showcase a "rad-ified" version of the existing [Azure AD wo ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config.md" >}}) - [Setup a supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview#supported-clusters" >}}) - [Azure AD Workload Identity](https://azure.github.io/azure-workload-identity/docs/installation.html) installed in your cluster, including the [Mutating Admission Webhook](https://azure.github.io/azure-workload-identity/docs/installation/mutating-admission-webhook.html) diff --git a/docs/content/guides/author-apps/containers/howto-connect-dependencies/index.md b/docs/content/guides/author-apps/containers/howto-connect-dependencies/index.md index 53afed39b..b39de88ac 100644 --- a/docs/content/guides/author-apps/containers/howto-connect-dependencies/index.md +++ b/docs/content/guides/author-apps/containers/howto-connect-dependencies/index.md @@ -13,7 +13,7 @@ This how-to guide will teach how to connect to your dependencies via [connection ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-radius" >}}) ## Step 1: View the container definition diff --git a/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md b/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md index 595088c82..fa3cbbe16 100644 --- a/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md +++ b/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md @@ -19,7 +19,8 @@ This how-to guide will provide an overview of how to: ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config.md" >}}) - [Supported Kubernetes cluster]({{< ref "guides/operations/kubernetes" >}}) - [Azure AD Workload Identity](https://azure.github.io/azure-workload-identity/docs/installation.html) installed on your cluster - [Azure Keyvault Provider](https://azure.github.io/secrets-store-csi-driver-provider-azure/docs/getting-started/installation/) diff --git a/docs/content/guides/author-apps/containers/howto-volumes/index.md b/docs/content/guides/author-apps/containers/howto-volumes/index.md index 751a70c00..40b8b60be 100644 --- a/docs/content/guides/author-apps/containers/howto-volumes/index.md +++ b/docs/content/guides/author-apps/containers/howto-volumes/index.md @@ -16,7 +16,7 @@ This how-to guide will provide an overview of how to: ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-radius" >}}) ## Step 1: Define an app and a container diff --git a/docs/content/guides/author-apps/custom/howto-extenders/index.md b/docs/content/guides/author-apps/custom/howto-extenders/index.md index f80d205ea..99742ef36 100644 --- a/docs/content/guides/author-apps/custom/howto-extenders/index.md +++ b/docs/content/guides/author-apps/custom/howto-extenders/index.md @@ -11,7 +11,7 @@ This guide will walk you through how to use an [extender]({{< ref "/guides/autho ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-radius" >}}) ## Step 1: Register an extender Recipe diff --git a/docs/content/guides/author-apps/custom/howto-extenders/snippets/app-container.bicep b/docs/content/guides/author-apps/custom/howto-extenders/snippets/app-container.bicep index 60e1a5d30..6f946c74d 100644 --- a/docs/content/guides/author-apps/custom/howto-extenders/snippets/app-container.bicep +++ b/docs/content/guides/author-apps/custom/howto-extenders/snippets/app-container.bicep @@ -28,7 +28,7 @@ resource demo 'Applications.Core/containers@2023-10-01-preview' = { POSTGRESQL_HOST: extender.properties.host POSTGRESQL_PORT: extender.properties.port POSTGRESQL_USERNAME: extender.properties.username - POSTGRESQL_PASSWORD: extender.secrets('password') + POSTGRESQL_PASSWORD: extender.listSecrets().password } ports: { web: { diff --git a/docs/content/guides/author-apps/dapr/how-to-dapr-building-block/index.md b/docs/content/guides/author-apps/dapr/how-to-dapr-building-block/index.md index 2bc985689..906c99125 100644 --- a/docs/content/guides/author-apps/dapr/how-to-dapr-building-block/index.md +++ b/docs/content/guides/author-apps/dapr/how-to-dapr-building-block/index.md @@ -15,7 +15,7 @@ This how-to guide will provide an overview of how to: ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-radius" >}}) - [Radius local-dev Recipes]({{< ref howto-dev-recipes >}}) - [Dapr installed on your Kubernetes cluster](https://docs.dapr.io/operations/hosting/kubernetes/kubernetes-deploy/) diff --git a/docs/content/guides/author-apps/kubernetes/how-to-kubernetes-resource/snippets/app-kubernetes.bicep b/docs/content/guides/author-apps/kubernetes/how-to-kubernetes-resource/snippets/app-kubernetes.bicep index 07f83e733..bae91823e 100644 --- a/docs/content/guides/author-apps/kubernetes/how-to-kubernetes-resource/snippets/app-kubernetes.bicep +++ b/docs/content/guides/author-apps/kubernetes/how-to-kubernetes-resource/snippets/app-kubernetes.bicep @@ -2,7 +2,7 @@ @description('Specifies Kubernetes namespace for the user.') param namespace string = 'default-demo' -extension kubernetes{ +extension kubernetes with { kubeConfig: '' namespace: namespace } diff --git a/docs/content/guides/author-apps/kubernetes/overview/snippets/kubernetes-connection.bicep b/docs/content/guides/author-apps/kubernetes/overview/snippets/kubernetes-connection.bicep index ba1b39a1c..5de98a196 100644 --- a/docs/content/guides/author-apps/kubernetes/overview/snippets/kubernetes-connection.bicep +++ b/docs/content/guides/author-apps/kubernetes/overview/snippets/kubernetes-connection.bicep @@ -1,4 +1,4 @@ -extension kubernetes { +extension kubernetes with { kubeConfig: '' namespace: 'default' } diff --git a/docs/content/guides/author-apps/kubernetes/overview/snippets/kubernetes-resource.bicep b/docs/content/guides/author-apps/kubernetes/overview/snippets/kubernetes-resource.bicep index 5bd2d58a8..9000378ac 100644 --- a/docs/content/guides/author-apps/kubernetes/overview/snippets/kubernetes-resource.bicep +++ b/docs/content/guides/author-apps/kubernetes/overview/snippets/kubernetes-resource.bicep @@ -1,4 +1,4 @@ -extension kubernetes { +extension kubernetes with { kubeConfig: '****' namespace: 'default' } diff --git a/docs/content/guides/author-apps/networking/howto-gateways/index.md b/docs/content/guides/author-apps/networking/howto-gateways/index.md index cd4db1c77..aa053a75a 100644 --- a/docs/content/guides/author-apps/networking/howto-gateways/index.md +++ b/docs/content/guides/author-apps/networking/howto-gateways/index.md @@ -13,7 +13,7 @@ This guide will walk you through how to setup a gateway for routing internet tra ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-radius" >}}) ## Step 1: Define a container diff --git a/docs/content/guides/author-apps/networking/howto-service-networking/index.md b/docs/content/guides/author-apps/networking/howto-service-networking/index.md index fd05dba77..ab69526d7 100644 --- a/docs/content/guides/author-apps/networking/howto-service-networking/index.md +++ b/docs/content/guides/author-apps/networking/howto-service-networking/index.md @@ -15,7 +15,7 @@ This guide will show you how two services can communicate with each other. In th ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-radius" >}}) ## Step 1: Define the services diff --git a/docs/content/guides/author-apps/networking/howto-tls/index.md b/docs/content/guides/author-apps/networking/howto-tls/index.md index f11e647aa..d03221824 100644 --- a/docs/content/guides/author-apps/networking/howto-tls/index.md +++ b/docs/content/guides/author-apps/networking/howto-tls/index.md @@ -13,7 +13,7 @@ This guide will show you how to add TLS and HTTPS to an application with a gatew ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-radius" >}}) - Domain name + DNS A-record pointing to your Kubernetes cluster - If running Radius on an Azure Kubernetes Service (AKS) cluster you can optionally use a [DNS label](https://learn.microsoft.com/azure/virtual-network/ip-services/public-ip-addresses#dns-name-label) to create a DNS A-record pointing to your cluster. diff --git a/docs/content/guides/author-apps/portable-resources/howto-author-portable-resources/index.md b/docs/content/guides/author-apps/portable-resources/howto-author-portable-resources/index.md index ff70be5dd..415983eeb 100644 --- a/docs/content/guides/author-apps/portable-resources/howto-author-portable-resources/index.md +++ b/docs/content/guides/author-apps/portable-resources/howto-author-portable-resources/index.md @@ -16,7 +16,7 @@ Before you get started, you'll need to make sure you have the following tools an - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-radius" >}}) -- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) ## Step 1: Add a portable resource diff --git a/docs/content/guides/author-apps/secrets/howto-new-secretstore/index.md b/docs/content/guides/author-apps/secrets/howto-new-secretstore/index.md index ce3a378fb..c9499ce58 100644 --- a/docs/content/guides/author-apps/secrets/howto-new-secretstore/index.md +++ b/docs/content/guides/author-apps/secrets/howto-new-secretstore/index.md @@ -16,7 +16,7 @@ By default, Radius leverages the hosting platform's secrets management solution - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) - [kubectl CLI](https://kubernetes.io/docs/tasks/tools/install-kubectl/) -- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-the-radius-control-plane-and-the-radius-environment" >}}) ## Step 1: Add a Secret Store diff --git a/docs/content/guides/deploy-apps/environments/howto-environment/index.md b/docs/content/guides/deploy-apps/environments/howto-environment/index.md index dcb2979a8..d488e7659 100644 --- a/docs/content/guides/deploy-apps/environments/howto-environment/index.md +++ b/docs/content/guides/deploy-apps/environments/howto-environment/index.md @@ -16,7 +16,7 @@ Radius Environments can be setup with the rad CLI via two paths: interactive or - [Setup a supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview#supported-clusters" >}}) - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) ## Create a development environment @@ -25,7 +25,7 @@ Radius Environments can be setup with the rad CLI via two paths: interactive or rad init ``` - Select `Yes` to setup the application in the current directory. This will create `app.bicep` and `bicepconfig.json` files + Select `Yes` to setup the application in the current directory. This will create `app.bicep` and [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config.md" >}}) files ``` Initializing Radius... diff --git a/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/index.md b/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/index.md index 771c05e49..0b14a65e2 100644 --- a/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/index.md +++ b/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/index.md @@ -28,7 +28,7 @@ Make sure you have the following files checked into your repository under `iac/` {{< rad file="snippets/app.bicep" embed="true" >}} -### `bicepconfig.json` +### [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config.md" >}}) ```json { diff --git a/docs/content/guides/recipes/howto-author-recipes/index.md b/docs/content/guides/recipes/howto-author-recipes/index.md index 45ec5389b..fe918eb8d 100644 --- a/docs/content/guides/recipes/howto-author-recipes/index.md +++ b/docs/content/guides/recipes/howto-author-recipes/index.md @@ -13,7 +13,7 @@ tags: ["recipes"] Before you get started, you'll need to make sure you have the following tools and resources: - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-radius" >}}) - [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) diff --git a/docs/content/guides/recipes/howto-dev-recipes/index.md b/docs/content/guides/recipes/howto-dev-recipes/index.md index 6e9742ad9..3b2404f31 100644 --- a/docs/content/guides/recipes/howto-dev-recipes/index.md +++ b/docs/content/guides/recipes/howto-dev-recipes/index.md @@ -13,7 +13,8 @@ Local development environments created by the rad init command include a set of ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config.md" >}}) - [Setup a supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview#supported-clusters" >}}) ## Step 1: Initialize a Radius environment diff --git a/docs/content/guides/recipes/terraform/howto-private-registry/index.md b/docs/content/guides/recipes/terraform/howto-private-registry/index.md index bb3d7bdcd..3bc857c6b 100644 --- a/docs/content/guides/recipes/terraform/howto-private-registry/index.md +++ b/docs/content/guides/recipes/terraform/howto-private-registry/index.md @@ -18,7 +18,7 @@ This how-to guide will describe how to: Before you get started, you'll need to make sure you have the following tools and resources: - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) - [Radius initialized with `rad init`]({{< ref howto-environment >}}) diff --git a/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-manual.bicep b/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-manual.bicep index 99bb489bb..7bd90a8be 100644 --- a/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-manual.bicep +++ b/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-manual.bicep @@ -33,8 +33,8 @@ resource publisher 'Applications.Core/containers@2023-10-01-preview' = { image: 'ghcr.io/radius-project/magpiego:latest' env: { TWILIO_NUMBER: twilio.properties.fromNumber - TWILIO_SID: twilio.secrets('accountSid') - TWILIO_ACCOUNT: twilio.secrets('authToken') + TWILIO_SID: twilio.listSecrets().accountSid + TWILIO_ACCOUNT: twilio.listSecrets().authToken } } } diff --git a/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-recipe.bicep b/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-recipe.bicep index b9a343bb8..e5c7bac07 100644 --- a/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-recipe.bicep +++ b/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-recipe.bicep @@ -24,8 +24,8 @@ resource publisher 'Applications.Core/containers@2023-10-01-preview' = { image: 'ghcr.io/radius-project/magpiego:latest' env: { TWILIO_NUMBER: twilio.properties.fromNumber - TWILIO_SID: twilio.secrets('accountSid') - TWILIO_ACCOUNT: twilio.secrets('authToken') + TWILIO_SID: twilio.listSecrets().accountSid + TWILIO_ACCOUNT: twilio.listSecrets().authToken } } } diff --git a/docs/content/reference/resource-schema/core-schema/volumes/volume-azure-keyvault/snippets/volume-keyvault.bicep b/docs/content/reference/resource-schema/core-schema/volumes/volume-azure-keyvault/snippets/volume-keyvault.bicep index 483d6ae71..fc3552f64 100644 --- a/docs/content/reference/resource-schema/core-schema/volumes/volume-azure-keyvault/snippets/volume-keyvault.bicep +++ b/docs/content/reference/resource-schema/core-schema/volumes/volume-azure-keyvault/snippets/volume-keyvault.bicep @@ -47,7 +47,7 @@ resource volume 'Applications.Core/volumes@2023-10-01-preview' = { version: '1' // optional, defaults to latest version alias: 'certificatealias' // optional, defaults to certificate name (mycertificate) encoding: 'base64' // optional, defaults to utf-8, only available when value is privatekey - value: 'privatekey' // required + certType: 'privatekey' // required format: 'pem' // optional, defaults to pfx } } diff --git a/docs/content/tutorials/new-app/index.md b/docs/content/tutorials/new-app/index.md index 6e4daa388..daa4e5a41 100644 --- a/docs/content/tutorials/new-app/index.md +++ b/docs/content/tutorials/new-app/index.md @@ -23,7 +23,7 @@ By the end of the tutorial, you will have created and deployed a new Radius Appl - [Supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview" >}}) - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) ## Step 1: Initialize a Radius Environment and Application @@ -42,7 +42,7 @@ By the end of the tutorial, you will have created and deployed a new Radius Appl rad init ``` - When asked if you want to create a new application select "Yes". This will create a new file named `app.bicep` in your directory where your application will be defined. It will also create `bicepconfig.json` file that will contain the necessary setup to use Radius types with Bicep. + When asked if you want to create a new application select "Yes". This will create a new file named `app.bicep` in your directory where your application will be defined. It will also create a [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config.md" >}}) file that will contain the necessary setup to use Radius types with Bicep. {{< alert title="💡 Development Environments" color="info" >}} By default `rad init` gets you up and running with a local, development-focused environment where most of the environment configuration is handled for you, including Recipes (_more on that soon_). If you would like to fully customize your environment, you can run `rad init --full` diff --git a/docs/content/tutorials/tutorial-dapr/index.md b/docs/content/tutorials/tutorial-dapr/index.md index c02e9408d..abbad640d 100644 --- a/docs/content/tutorials/tutorial-dapr/index.md +++ b/docs/content/tutorials/tutorial-dapr/index.md @@ -19,7 +19,7 @@ For more details on the app and access to the source code, visit the `samples/da ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Radius environment]({{< ref "installation#step-3-initialize-radius" >}}) - [Setup a supported Kubernetes cluster](https://docs.radapp.io/guides/operations/kubernetes/overview/#supported-clusters) - [Dapr installed on your Kubernetes cluster](https://docs.dapr.io/operations/hosting/kubernetes/kubernetes-deploy/) diff --git a/docs/content/tutorials/tutorial-recipe/index.md b/docs/content/tutorials/tutorial-recipe/index.md index ad5e03a4e..d25dd0cae 100644 --- a/docs/content/tutorials/tutorial-recipe/index.md +++ b/docs/content/tutorials/tutorial-recipe/index.md @@ -33,7 +33,7 @@ Developers don't need to specify what cloud resources they're using in their app ## Prerequisites - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) -- [Bicep VSCode extension and Bicep configuration file]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) +- [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) - [Setup a supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview#supported-clusters" >}}) ## Step 1: Initialize a Radius Environment diff --git a/docs/shared-content/installation/bicepconfig/generate-bicep-config.md b/docs/shared-content/installation/bicepconfig/generate-bicep-config.md new file mode 100644 index 000000000..df30dbf8f --- /dev/null +++ b/docs/shared-content/installation/bicepconfig/generate-bicep-config.md @@ -0,0 +1,40 @@ +In order to use the features provided by the official Bicep compiler with Radius, certain configurations need to be defined. These are defined in a `bicepconfig.json` file that lives in your application's directory. There are two ways to generate a `bicepconfig.json` with Radius. + +## Option 1: Generate a `bicepconfig.json` using Radius + +1. Install Radius CLI + +{{< read file= "/shared-content/installation/rad-cli/install-rad-cli.md" >}} + +1. Create a new directory for your app and navigate into it: + +```bash +mkdir first-app +cd first-app +``` + +Initialize Radius. Select `Yes` when asked to setup application in the current directory. This will automatically generate `bicepconfig.json` with the correct setup in your application's directory. + +```bash +rad init +``` + +## Option 2: Manually create a `bicepconfig.json` + +1. Create a `bicepconfig.json` in your application's directory. `release-version` should correspond to the current release version in the form of `major.minor` (e.g. `0.36`). + +```json +{ + "experimentalFeaturesEnabled": { + "extensibility": true, + "extensionRegistry": true, + "dynamicTypeLoading": true + }, + "extensions": { + "radius": "br:biceptypes.azurecr.io/radius:", + "aws": "br:biceptypes.azurecr.io/aws:" + } +} +``` + +These configurations allow Bicep to consume and use Radius-managed types stored in an OCI registry. There are two extensions that are enabled by default in the `bicepconfig.json` so that you can use Radius and AWS resources. The "radius" extension contains the schema information for all Radius-maintained resources, and the "aws" extension contains the schema information for AWS resources. \ No newline at end of file diff --git a/docs/shared-content/installation/install-radius/initialize-radius.md b/docs/shared-content/installation/install-radius/initialize-radius.md index 4d2b9addc..a92f4f21e 100644 --- a/docs/shared-content/installation/install-radius/initialize-radius.md +++ b/docs/shared-content/installation/install-radius/initialize-radius.md @@ -17,7 +17,7 @@ Initializing Radius installs the Radius control-plane and creates a Radius Envir rad init ``` - Select `Yes` to setup the application in the current directory. This will create `app.bicep` and `bicepconfig.json` files + Select `Yes` to setup the application in the current directory. This will create `app.bicep` and [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config.md" >}}) files ``` Initializing Radius... diff --git a/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md b/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md index 508e540e2..d9e60dc98 100644 --- a/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md +++ b/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md @@ -5,22 +5,4 @@ We previously released a version of the official Bicep extension specific to Rad {{< /alert >}} {{< latest >}} 1. To install the Bicep extension, refer to their [installation documentation](https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/install#visual-studio-code-and-bicep-extension) - -1. Create a `bicepconfig.json` in your application's directory - -In order to use the features provided by the Bicep extension with Radius, certain properties need to be defined. These are defined in a `bicepconfig.json` file that lives in your application's directory. `release-version` should correspond to the current release version in the form of `major.minor` (e.g. `0.36`). - -```json -{ - "experimentalFeaturesEnabled": { - "extensibility": true, - "extensionRegistry": true, - "dynamicTypeLoading": true - }, - "extensions": { - "radius": "br:biceptypes.azurecr.io/radius:", - "aws": "br:biceptypes.azurecr.io/aws:" - } -} -``` {{< /latest >}} \ No newline at end of file From 58217b396f5e3986fb4cf6b45681ed0cc6593275 Mon Sep 17 00:00:00 2001 From: sk593 Date: Tue, 30 Jul 2024 14:29:30 -0700 Subject: [PATCH 09/40] nit Signed-off-by: sk593 --- docs/content/guides/tooling/vscode/overview/index.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/content/guides/tooling/vscode/overview/index.md b/docs/content/guides/tooling/vscode/overview/index.md index 5b4479ebd..3a2d2823b 100644 --- a/docs/content/guides/tooling/vscode/overview/index.md +++ b/docs/content/guides/tooling/vscode/overview/index.md @@ -10,6 +10,7 @@ tags: ["VSCode"] When using Visual Studio Code with Radius there are a set of extensions you can install to help author, validate, and manage your Radius Applications and environments. +{{< alert title="Note" color="secondary" >}} **The official Bicep extension is not compatible with the Radius Bicep extension.** Previously, Radius made use of the Radius Bicep extension, a temporary extension used to model Radius and AWS resource types. The Radius Bicep extension has been deprecated and we have upstreamed our extensibility updates to the official Bicep. If you have the Radius Bicep extension installed you will need to disable or uninstall it before installing the Bicep extension. {{< /alert >}} @@ -22,8 +23,6 @@ The Bicep extension provides formatting, intellisense, and validation for Bicep {{< button text="Bicep guide" page="howto-vscode-bicep" >}} -{{< alert title="Note" color="secondary" >}} - ## Terraform extension When authoring [Terraform Recipes]({{< ref "/guides/recipes/overview" >}}) you can use the HashiCorp Terraform extension to help author, validate, and manage your Terraform templates. From 39d19f1321cc2331f27d765f1bf57a22d83291e6 Mon Sep 17 00:00:00 2001 From: sk593 Date: Tue, 30 Jul 2024 15:54:30 -0700 Subject: [PATCH 10/40] fix Signed-off-by: sk593 --- docs/content/getting-started/index.md | 2 +- .../author-apps/aws/howto-aws-resources/index.md | 2 +- .../author-apps/azure/howto-azure-resources/index.md | 2 +- .../containers/howto-keyvault-volume/index.md | 2 +- .../environments/howto-environment/index.md | 2 +- .../howto-deploy/howto-deploy-cicd/index.md | 2 +- .../content/guides/recipes/howto-dev-recipes/index.md | 2 +- docs/content/tutorials/new-app/index.md | 2 +- .../shared-content/installation/bicepconfig/_index.md | 7 +++++++ .../index.md} | 11 +++++++++++ .../installation/install-radius/initialize-radius.md | 2 +- 11 files changed, 27 insertions(+), 9 deletions(-) create mode 100644 docs/shared-content/installation/bicepconfig/_index.md rename docs/shared-content/installation/bicepconfig/{generate-bicep-config.md => generate-bicep-config/index.md} (88%) diff --git a/docs/content/getting-started/index.md b/docs/content/getting-started/index.md index f5f86857f..649de58e7 100644 --- a/docs/content/getting-started/index.md +++ b/docs/content/getting-started/index.md @@ -69,7 +69,7 @@ Initializing Radius... Initialization complete! Have a RAD time 😎 ``` -In addition to starting Radius services in your Kubernetes cluster, this initialization command creates a default application (`app.bicep`) as your starting point. It contains a single container definition (`demo`). `rad init` also creates a [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config.md" >}}) file in your application's directory that has the necessary setup to use Radius with the official Bicep compiler. +In addition to starting Radius services in your Kubernetes cluster, this initialization command creates a default application (`app.bicep`) as your starting point. It contains a single container definition (`demo`). `rad init` also creates a [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config/index" >}}) file in your application's directory that has the necessary setup to use Radius with the official Bicep compiler. {{< rad file="snippets/app.bicep" embed=true markdownConfig="{linenos=table,linenostart=1}" >}} diff --git a/docs/content/guides/author-apps/aws/howto-aws-resources/index.md b/docs/content/guides/author-apps/aws/howto-aws-resources/index.md index 0bb00498e..aeab7c1dd 100644 --- a/docs/content/guides/author-apps/aws/howto-aws-resources/index.md +++ b/docs/content/guides/author-apps/aws/howto-aws-resources/index.md @@ -25,7 +25,7 @@ This how-to guide will show you: - [kubectl CLI](https://kubernetes.io/docs/tasks/tools/install-kubectl/) - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) - [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) -- [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config.md" >}}) file in your application's directory +- [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config/index" >}}) file in your application's directory ## Step 1: Create an EKS Cluster diff --git a/docs/content/guides/author-apps/azure/howto-azure-resources/index.md b/docs/content/guides/author-apps/azure/howto-azure-resources/index.md index 9a2e1fdc0..2dcbd3905 100644 --- a/docs/content/guides/author-apps/azure/howto-azure-resources/index.md +++ b/docs/content/guides/author-apps/azure/howto-azure-resources/index.md @@ -21,7 +21,7 @@ The steps below will showcase a "rad-ified" version of the existing [Azure AD wo - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) - [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) -- [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config.md" >}}) +- [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config/index" >}}) - [Setup a supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview#supported-clusters" >}}) - [Azure AD Workload Identity](https://azure.github.io/azure-workload-identity/docs/installation.html) installed in your cluster, including the [Mutating Admission Webhook](https://azure.github.io/azure-workload-identity/docs/installation/mutating-admission-webhook.html) diff --git a/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md b/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md index fa3cbbe16..3dc902bbd 100644 --- a/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md +++ b/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md @@ -20,7 +20,7 @@ This how-to guide will provide an overview of how to: - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) - [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) -- [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config.md" >}}) +- [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config/index" >}}) - [Supported Kubernetes cluster]({{< ref "guides/operations/kubernetes" >}}) - [Azure AD Workload Identity](https://azure.github.io/azure-workload-identity/docs/installation.html) installed on your cluster - [Azure Keyvault Provider](https://azure.github.io/secrets-store-csi-driver-provider-azure/docs/getting-started/installation/) diff --git a/docs/content/guides/deploy-apps/environments/howto-environment/index.md b/docs/content/guides/deploy-apps/environments/howto-environment/index.md index d488e7659..2b40df0e5 100644 --- a/docs/content/guides/deploy-apps/environments/howto-environment/index.md +++ b/docs/content/guides/deploy-apps/environments/howto-environment/index.md @@ -25,7 +25,7 @@ Radius Environments can be setup with the rad CLI via two paths: interactive or rad init ``` - Select `Yes` to setup the application in the current directory. This will create `app.bicep` and [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config.md" >}}) files + Select `Yes` to setup the application in the current directory. This will create `app.bicep` and [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config/index" >}}) files ``` Initializing Radius... diff --git a/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/index.md b/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/index.md index 0b14a65e2..c463ae3d3 100644 --- a/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/index.md +++ b/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/index.md @@ -28,7 +28,7 @@ Make sure you have the following files checked into your repository under `iac/` {{< rad file="snippets/app.bicep" embed="true" >}} -### [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config.md" >}}) +### [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config/index" >}}) ```json { diff --git a/docs/content/guides/recipes/howto-dev-recipes/index.md b/docs/content/guides/recipes/howto-dev-recipes/index.md index 3b2404f31..d51f1e381 100644 --- a/docs/content/guides/recipes/howto-dev-recipes/index.md +++ b/docs/content/guides/recipes/howto-dev-recipes/index.md @@ -14,7 +14,7 @@ Local development environments created by the rad init command include a set of - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) - [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) -- [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config.md" >}}) +- [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config/index" >}}) - [Setup a supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview#supported-clusters" >}}) ## Step 1: Initialize a Radius environment diff --git a/docs/content/tutorials/new-app/index.md b/docs/content/tutorials/new-app/index.md index daa4e5a41..aea5f5f42 100644 --- a/docs/content/tutorials/new-app/index.md +++ b/docs/content/tutorials/new-app/index.md @@ -42,7 +42,7 @@ By the end of the tutorial, you will have created and deployed a new Radius Appl rad init ``` - When asked if you want to create a new application select "Yes". This will create a new file named `app.bicep` in your directory where your application will be defined. It will also create a [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config.md" >}}) file that will contain the necessary setup to use Radius types with Bicep. + When asked if you want to create a new application select "Yes". This will create a new file named `app.bicep` in your directory where your application will be defined. It will also create a [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config/index" >}}) file that will contain the necessary setup to use Radius types with Bicep. {{< alert title="💡 Development Environments" color="info" >}} By default `rad init` gets you up and running with a local, development-focused environment where most of the environment configuration is handled for you, including Recipes (_more on that soon_). If you would like to fully customize your environment, you can run `rad init --full` diff --git a/docs/shared-content/installation/bicepconfig/_index.md b/docs/shared-content/installation/bicepconfig/_index.md new file mode 100644 index 000000000..c485de759 --- /dev/null +++ b/docs/shared-content/installation/bicepconfig/_index.md @@ -0,0 +1,7 @@ +--- +type: docs +title: "Bicep configuration file" +linkTitle: "Bicep configuration" +description: "Setup the Bicep configuration file with Radius-managed types" +weight: 100 +--- \ No newline at end of file diff --git a/docs/shared-content/installation/bicepconfig/generate-bicep-config.md b/docs/shared-content/installation/bicepconfig/generate-bicep-config/index.md similarity index 88% rename from docs/shared-content/installation/bicepconfig/generate-bicep-config.md rename to docs/shared-content/installation/bicepconfig/generate-bicep-config/index.md index df30dbf8f..01f732ee9 100644 --- a/docs/shared-content/installation/bicepconfig/generate-bicep-config.md +++ b/docs/shared-content/installation/bicepconfig/generate-bicep-config/index.md @@ -1,3 +1,14 @@ +--- +type: docs +title: "Bicep configuration file" +linkTitle: "Bicep configuration" +description: "Setup the Bicep configuration file with Radius-managed types" +weight: 200 +categories: "Overview" +tags: ["Bicep"] +--- + + In order to use the features provided by the official Bicep compiler with Radius, certain configurations need to be defined. These are defined in a `bicepconfig.json` file that lives in your application's directory. There are two ways to generate a `bicepconfig.json` with Radius. ## Option 1: Generate a `bicepconfig.json` using Radius diff --git a/docs/shared-content/installation/install-radius/initialize-radius.md b/docs/shared-content/installation/install-radius/initialize-radius.md index a92f4f21e..ea0ada74a 100644 --- a/docs/shared-content/installation/install-radius/initialize-radius.md +++ b/docs/shared-content/installation/install-radius/initialize-radius.md @@ -17,7 +17,7 @@ Initializing Radius installs the Radius control-plane and creates a Radius Envir rad init ``` - Select `Yes` to setup the application in the current directory. This will create `app.bicep` and [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config.md" >}}) files + Select `Yes` to setup the application in the current directory. This will create `app.bicep` and [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config/index" >}}) files ``` Initializing Radius... From ea008ecd3b78758b34b677c96619bd40adfb26a7 Mon Sep 17 00:00:00 2001 From: sk593 Date: Wed, 31 Jul 2024 15:53:47 -0700 Subject: [PATCH 11/40] update ref Signed-off-by: sk593 --- docs/content/getting-started/index.md | 2 +- .../guides/author-apps/aws/howto-aws-resources/index.md | 2 +- .../author-apps/azure/howto-azure-resources/index.md | 2 +- .../containers/howto-keyvault-volume/index.md | 2 +- .../deploy-apps/environments/howto-environment/index.md | 2 +- .../deploy-apps/howto-deploy/howto-deploy-cicd/index.md | 2 +- docs/content/guides/recipes/howto-dev-recipes/index.md | 2 +- docs/content/guides/tooling/bicepconfig/_index.md | 7 +++++++ .../guides/tooling/bicepconfig/overview}/index.md | 9 ++++----- docs/content/tutorials/new-app/index.md | 2 +- docs/shared-content/installation/bicepconfig/_index.md | 7 ------- .../installation/install-radius/initialize-radius.md | 2 +- 12 files changed, 20 insertions(+), 21 deletions(-) create mode 100644 docs/content/guides/tooling/bicepconfig/_index.md rename docs/{shared-content/installation/bicepconfig/generate-bicep-config => content/guides/tooling/bicepconfig/overview}/index.md (94%) delete mode 100644 docs/shared-content/installation/bicepconfig/_index.md diff --git a/docs/content/getting-started/index.md b/docs/content/getting-started/index.md index 649de58e7..f9646f054 100644 --- a/docs/content/getting-started/index.md +++ b/docs/content/getting-started/index.md @@ -69,7 +69,7 @@ Initializing Radius... Initialization complete! Have a RAD time 😎 ``` -In addition to starting Radius services in your Kubernetes cluster, this initialization command creates a default application (`app.bicep`) as your starting point. It contains a single container definition (`demo`). `rad init` also creates a [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config/index" >}}) file in your application's directory that has the necessary setup to use Radius with the official Bicep compiler. +In addition to starting Radius services in your Kubernetes cluster, this initialization command creates a default application (`app.bicep`) as your starting point. It contains a single container definition (`demo`). `rad init` also creates a [`bicepconfig.json`]({{< ref "/guides/tooling/bicepconfig/overview" >}}) file in your application's directory that has the necessary setup to use Radius with the official Bicep compiler. {{< rad file="snippets/app.bicep" embed=true markdownConfig="{linenos=table,linenostart=1}" >}} diff --git a/docs/content/guides/author-apps/aws/howto-aws-resources/index.md b/docs/content/guides/author-apps/aws/howto-aws-resources/index.md index aeab7c1dd..2b0bb9692 100644 --- a/docs/content/guides/author-apps/aws/howto-aws-resources/index.md +++ b/docs/content/guides/author-apps/aws/howto-aws-resources/index.md @@ -25,7 +25,7 @@ This how-to guide will show you: - [kubectl CLI](https://kubernetes.io/docs/tasks/tools/install-kubectl/) - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) - [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) -- [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config/index" >}}) file in your application's directory +- [`bicepconfig.json`]({{< ref "/guides/tooling/bicepconfig/overview" >}}) file in your application's directory ## Step 1: Create an EKS Cluster diff --git a/docs/content/guides/author-apps/azure/howto-azure-resources/index.md b/docs/content/guides/author-apps/azure/howto-azure-resources/index.md index 2dcbd3905..19040bc09 100644 --- a/docs/content/guides/author-apps/azure/howto-azure-resources/index.md +++ b/docs/content/guides/author-apps/azure/howto-azure-resources/index.md @@ -21,7 +21,7 @@ The steps below will showcase a "rad-ified" version of the existing [Azure AD wo - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) - [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) -- [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config/index" >}}) +- [`bicepconfig.json`]({{< ref "/guides/tooling/bicepconfig/overview" >}}) - [Setup a supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview#supported-clusters" >}}) - [Azure AD Workload Identity](https://azure.github.io/azure-workload-identity/docs/installation.html) installed in your cluster, including the [Mutating Admission Webhook](https://azure.github.io/azure-workload-identity/docs/installation/mutating-admission-webhook.html) diff --git a/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md b/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md index 3dc902bbd..e9688720d 100644 --- a/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md +++ b/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md @@ -20,7 +20,7 @@ This how-to guide will provide an overview of how to: - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) - [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) -- [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config/index" >}}) +- [`bicepconfig.json`]({{< ref "/guides/tooling/bicepconfig/overview" >}}) - [Supported Kubernetes cluster]({{< ref "guides/operations/kubernetes" >}}) - [Azure AD Workload Identity](https://azure.github.io/azure-workload-identity/docs/installation.html) installed on your cluster - [Azure Keyvault Provider](https://azure.github.io/secrets-store-csi-driver-provider-azure/docs/getting-started/installation/) diff --git a/docs/content/guides/deploy-apps/environments/howto-environment/index.md b/docs/content/guides/deploy-apps/environments/howto-environment/index.md index 2b40df0e5..361eb92ef 100644 --- a/docs/content/guides/deploy-apps/environments/howto-environment/index.md +++ b/docs/content/guides/deploy-apps/environments/howto-environment/index.md @@ -25,7 +25,7 @@ Radius Environments can be setup with the rad CLI via two paths: interactive or rad init ``` - Select `Yes` to setup the application in the current directory. This will create `app.bicep` and [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config/index" >}}) files + Select `Yes` to setup the application in the current directory. This will create `app.bicep` and [`bicepconfig.json`]({{< ref "/guides/tooling/bicepconfig/overview" >}}) files ``` Initializing Radius... diff --git a/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/index.md b/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/index.md index c463ae3d3..76a3f3440 100644 --- a/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/index.md +++ b/docs/content/guides/deploy-apps/howto-deploy/howto-deploy-cicd/index.md @@ -28,7 +28,7 @@ Make sure you have the following files checked into your repository under `iac/` {{< rad file="snippets/app.bicep" embed="true" >}} -### [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config/index" >}}) +### [`bicepconfig.json`]({{< ref "/guides/tooling/bicepconfig/overview" >}}) ```json { diff --git a/docs/content/guides/recipes/howto-dev-recipes/index.md b/docs/content/guides/recipes/howto-dev-recipes/index.md index d51f1e381..0429c2e9b 100644 --- a/docs/content/guides/recipes/howto-dev-recipes/index.md +++ b/docs/content/guides/recipes/howto-dev-recipes/index.md @@ -14,7 +14,7 @@ Local development environments created by the rad init command include a set of - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) - [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) -- [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config/index" >}}) +- [`bicepconfig.json`]({{< ref "/guides/tooling/bicepconfig/overview" >}}) - [Setup a supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview#supported-clusters" >}}) ## Step 1: Initialize a Radius environment diff --git a/docs/content/guides/tooling/bicepconfig/_index.md b/docs/content/guides/tooling/bicepconfig/_index.md new file mode 100644 index 000000000..efeddc947 --- /dev/null +++ b/docs/content/guides/tooling/bicepconfig/_index.md @@ -0,0 +1,7 @@ +--- +type: docs +title: "Bicep configuration file" +linkTitle: "Bicepconfig" +description: "Documentation on the Bicep configuration file" +weight: 100 +--- \ No newline at end of file diff --git a/docs/shared-content/installation/bicepconfig/generate-bicep-config/index.md b/docs/content/guides/tooling/bicepconfig/overview/index.md similarity index 94% rename from docs/shared-content/installation/bicepconfig/generate-bicep-config/index.md rename to docs/content/guides/tooling/bicepconfig/overview/index.md index 01f732ee9..8345bbfbd 100644 --- a/docs/shared-content/installation/bicepconfig/generate-bicep-config/index.md +++ b/docs/content/guides/tooling/bicepconfig/overview/index.md @@ -1,14 +1,13 @@ --- type: docs -title: "Bicep configuration file" -linkTitle: "Bicep configuration" +title: "Overview: Bicep configuration file" +linkTitle: "Overview" description: "Setup the Bicep configuration file with Radius-managed types" -weight: 200 +weight: 100 categories: "Overview" -tags: ["Bicep"] +tags: ["Bicep", "bicepconfig"] --- - In order to use the features provided by the official Bicep compiler with Radius, certain configurations need to be defined. These are defined in a `bicepconfig.json` file that lives in your application's directory. There are two ways to generate a `bicepconfig.json` with Radius. ## Option 1: Generate a `bicepconfig.json` using Radius diff --git a/docs/content/tutorials/new-app/index.md b/docs/content/tutorials/new-app/index.md index aea5f5f42..1b16d1331 100644 --- a/docs/content/tutorials/new-app/index.md +++ b/docs/content/tutorials/new-app/index.md @@ -42,7 +42,7 @@ By the end of the tutorial, you will have created and deployed a new Radius Appl rad init ``` - When asked if you want to create a new application select "Yes". This will create a new file named `app.bicep` in your directory where your application will be defined. It will also create a [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config/index" >}}) file that will contain the necessary setup to use Radius types with Bicep. + When asked if you want to create a new application select "Yes". This will create a new file named `app.bicep` in your directory where your application will be defined. It will also create a [`bicepconfig.json`]({{< ref "/guides/tooling/bicepconfig/overview" >}}) file that will contain the necessary setup to use Radius types with Bicep. {{< alert title="💡 Development Environments" color="info" >}} By default `rad init` gets you up and running with a local, development-focused environment where most of the environment configuration is handled for you, including Recipes (_more on that soon_). If you would like to fully customize your environment, you can run `rad init --full` diff --git a/docs/shared-content/installation/bicepconfig/_index.md b/docs/shared-content/installation/bicepconfig/_index.md deleted file mode 100644 index c485de759..000000000 --- a/docs/shared-content/installation/bicepconfig/_index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -type: docs -title: "Bicep configuration file" -linkTitle: "Bicep configuration" -description: "Setup the Bicep configuration file with Radius-managed types" -weight: 100 ---- \ No newline at end of file diff --git a/docs/shared-content/installation/install-radius/initialize-radius.md b/docs/shared-content/installation/install-radius/initialize-radius.md index ea0ada74a..ea9146d22 100644 --- a/docs/shared-content/installation/install-radius/initialize-radius.md +++ b/docs/shared-content/installation/install-radius/initialize-radius.md @@ -17,7 +17,7 @@ Initializing Radius installs the Radius control-plane and creates a Radius Envir rad init ``` - Select `Yes` to setup the application in the current directory. This will create `app.bicep` and [`bicepconfig.json`]({{< ref "/shared-content/installation/bicepconfig/generate-bicep-config/index" >}}) files + Select `Yes` to setup the application in the current directory. This will create `app.bicep` and [`bicepconfig.json`]({{< ref "/guides/tooling/bicepconfig/overview" >}}) files ``` Initializing Radius... From 9ba1f047cfbfe4917b893e71d68f3465b281fa8e Mon Sep 17 00:00:00 2001 From: sk593 Date: Wed, 31 Jul 2024 16:12:38 -0700 Subject: [PATCH 12/40] nit Signed-off-by: sk593 --- docs/content/guides/tooling/bicepconfig/overview/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/content/guides/tooling/bicepconfig/overview/index.md b/docs/content/guides/tooling/bicepconfig/overview/index.md index 8345bbfbd..a995b60e9 100644 --- a/docs/content/guides/tooling/bicepconfig/overview/index.md +++ b/docs/content/guides/tooling/bicepconfig/overview/index.md @@ -23,7 +23,7 @@ mkdir first-app cd first-app ``` -Initialize Radius. Select `Yes` when asked to setup application in the current directory. This will automatically generate `bicepconfig.json` with the correct setup in your application's directory. +Initialize Radius. Select `Yes` when asked to setup application in the current directory. This will automatically generate a `bicepconfig.json` with the correct setup in your application's directory. ```bash rad init @@ -47,4 +47,4 @@ rad init } ``` -These configurations allow Bicep to consume and use Radius-managed types stored in an OCI registry. There are two extensions that are enabled by default in the `bicepconfig.json` so that you can use Radius and AWS resources. The "radius" extension contains the schema information for all Radius-maintained resources, and the "aws" extension contains the schema information for AWS resources. \ No newline at end of file +A `bicepconfig.json` file is required to use Radius with the official Bicep compiler but you can optionally add any other settings that are relevant to your application. These configurations allow Bicep to consume and use Radius-managed types stored in an OCI registry. There are two extensions that are enabled by default in the `bicepconfig.json` so that you can use Radius and AWS resources. The "radius" extension contains the schema information for all Radius-maintained resources, and the "aws" extension contains the schema information for AWS resources. \ No newline at end of file From 95d8ede2b39db6d3b0d00df5def922ffacf76d8b Mon Sep 17 00:00:00 2001 From: Shruthi Kumar Date: Wed, 7 Aug 2024 11:21:05 -0700 Subject: [PATCH 13/40] Update docs/content/guides/tooling/bicepconfig/overview/index.md Co-authored-by: Reshma Abdul Rahim <61033581+Reshrahim@users.noreply.github.com> Signed-off-by: Shruthi Kumar Signed-off-by: sk593 --- docs/content/guides/tooling/bicepconfig/overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/guides/tooling/bicepconfig/overview/index.md b/docs/content/guides/tooling/bicepconfig/overview/index.md index a995b60e9..400efe29f 100644 --- a/docs/content/guides/tooling/bicepconfig/overview/index.md +++ b/docs/content/guides/tooling/bicepconfig/overview/index.md @@ -1,6 +1,6 @@ --- type: docs -title: "Overview: Bicep configuration file" +title: "Overview: Bicep configuration" linkTitle: "Overview" description: "Setup the Bicep configuration file with Radius-managed types" weight: 100 From 462f74801a6f560b27d8e8bf87ce5d96f23697c6 Mon Sep 17 00:00:00 2001 From: Shruthi Kumar Date: Wed, 7 Aug 2024 11:21:16 -0700 Subject: [PATCH 14/40] Update docs/content/guides/tooling/bicepconfig/overview/index.md Co-authored-by: Reshma Abdul Rahim <61033581+Reshrahim@users.noreply.github.com> Signed-off-by: Shruthi Kumar Signed-off-by: sk593 --- docs/content/guides/tooling/bicepconfig/overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/guides/tooling/bicepconfig/overview/index.md b/docs/content/guides/tooling/bicepconfig/overview/index.md index 400efe29f..cfa098fc1 100644 --- a/docs/content/guides/tooling/bicepconfig/overview/index.md +++ b/docs/content/guides/tooling/bicepconfig/overview/index.md @@ -2,7 +2,7 @@ type: docs title: "Overview: Bicep configuration" linkTitle: "Overview" -description: "Setup the Bicep configuration file with Radius-managed types" +description: "Setup the Bicep configuration file to author and deploy Radius-managed types" weight: 100 categories: "Overview" tags: ["Bicep", "bicepconfig"] From 664052fe1eb287193b006e748270af4f169f153f Mon Sep 17 00:00:00 2001 From: Shruthi Kumar Date: Wed, 7 Aug 2024 11:21:28 -0700 Subject: [PATCH 15/40] Update docs/content/guides/tooling/bicepconfig/overview/index.md Co-authored-by: Reshma Abdul Rahim <61033581+Reshrahim@users.noreply.github.com> Signed-off-by: Shruthi Kumar Signed-off-by: sk593 --- docs/content/guides/tooling/bicepconfig/overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/guides/tooling/bicepconfig/overview/index.md b/docs/content/guides/tooling/bicepconfig/overview/index.md index cfa098fc1..f547fe1fb 100644 --- a/docs/content/guides/tooling/bicepconfig/overview/index.md +++ b/docs/content/guides/tooling/bicepconfig/overview/index.md @@ -5,7 +5,7 @@ linkTitle: "Overview" description: "Setup the Bicep configuration file to author and deploy Radius-managed types" weight: 100 categories: "Overview" -tags: ["Bicep", "bicepconfig"] +tags: ["Bicep"] --- In order to use the features provided by the official Bicep compiler with Radius, certain configurations need to be defined. These are defined in a `bicepconfig.json` file that lives in your application's directory. There are two ways to generate a `bicepconfig.json` with Radius. From e75a143e08542825b15614dc19fbd9ceeb14c3ad Mon Sep 17 00:00:00 2001 From: Shruthi Kumar Date: Wed, 7 Aug 2024 11:21:38 -0700 Subject: [PATCH 16/40] Update docs/content/guides/tooling/bicepconfig/overview/index.md Co-authored-by: Reshma Abdul Rahim <61033581+Reshrahim@users.noreply.github.com> Signed-off-by: Shruthi Kumar Signed-off-by: sk593 --- docs/content/guides/tooling/bicepconfig/overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/guides/tooling/bicepconfig/overview/index.md b/docs/content/guides/tooling/bicepconfig/overview/index.md index f547fe1fb..1fed3b798 100644 --- a/docs/content/guides/tooling/bicepconfig/overview/index.md +++ b/docs/content/guides/tooling/bicepconfig/overview/index.md @@ -10,7 +10,7 @@ tags: ["Bicep"] In order to use the features provided by the official Bicep compiler with Radius, certain configurations need to be defined. These are defined in a `bicepconfig.json` file that lives in your application's directory. There are two ways to generate a `bicepconfig.json` with Radius. -## Option 1: Generate a `bicepconfig.json` using Radius +## Option 1: Automatically generate a `bicepconfig.json` via `rad init` 1. Install Radius CLI From d5ee81538a6a0d13860dfe14f7bb49fe4d9449cf Mon Sep 17 00:00:00 2001 From: Shruthi Kumar Date: Wed, 7 Aug 2024 11:26:07 -0700 Subject: [PATCH 17/40] Update docs/content/guides/tooling/bicepconfig/overview/index.md Co-authored-by: Reshma Abdul Rahim <61033581+Reshrahim@users.noreply.github.com> Signed-off-by: Shruthi Kumar Signed-off-by: sk593 --- docs/content/guides/tooling/bicepconfig/overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/guides/tooling/bicepconfig/overview/index.md b/docs/content/guides/tooling/bicepconfig/overview/index.md index 1fed3b798..5b9ece0f8 100644 --- a/docs/content/guides/tooling/bicepconfig/overview/index.md +++ b/docs/content/guides/tooling/bicepconfig/overview/index.md @@ -23,7 +23,7 @@ mkdir first-app cd first-app ``` -Initialize Radius. Select `Yes` when asked to setup application in the current directory. This will automatically generate a `bicepconfig.json` with the correct setup in your application's directory. +1. Initialize Radius. Select `Yes` when asked to setup application in the current directory. ```bash rad init From b38dfa8dd2ebf7750652b260edef8e16444e8a77 Mon Sep 17 00:00:00 2001 From: Shruthi Kumar Date: Wed, 7 Aug 2024 11:26:17 -0700 Subject: [PATCH 18/40] Update docs/content/guides/tooling/bicepconfig/overview/index.md Co-authored-by: Reshma Abdul Rahim <61033581+Reshrahim@users.noreply.github.com> Signed-off-by: Shruthi Kumar Signed-off-by: sk593 --- docs/content/guides/tooling/bicepconfig/overview/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/content/guides/tooling/bicepconfig/overview/index.md b/docs/content/guides/tooling/bicepconfig/overview/index.md index 5b9ece0f8..6f7d38511 100644 --- a/docs/content/guides/tooling/bicepconfig/overview/index.md +++ b/docs/content/guides/tooling/bicepconfig/overview/index.md @@ -29,6 +29,8 @@ cd first-app rad init ``` +This will automatically generate a `bicepconfig.json` with the correct setup in your application's directory. + ## Option 2: Manually create a `bicepconfig.json` 1. Create a `bicepconfig.json` in your application's directory. `release-version` should correspond to the current release version in the form of `major.minor` (e.g. `0.36`). From 897aa7ff53c357870e6313af1de56492a60aa51e Mon Sep 17 00:00:00 2001 From: Shruthi Kumar Date: Wed, 7 Aug 2024 11:29:29 -0700 Subject: [PATCH 19/40] Update docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md Co-authored-by: Reshma Abdul Rahim <61033581+Reshrahim@users.noreply.github.com> Signed-off-by: Shruthi Kumar Signed-off-by: sk593 --- .../installation/vscode-bicep/install-vscode-bicep.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md b/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md index d9e60dc98..7099c1f50 100644 --- a/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md +++ b/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md @@ -3,6 +3,5 @@ Visual Studio Code offers the best authoring experience for Radius and Bicep. Do {{< alert title="Disable the Radius Bicep extension" color="warning" >}} We previously released a version of the official Bicep extension specific to Radius called the Radius Bicep extension. We have since updated Radius to be compatible with the official Bicep extension. You can only have one VSCode Bicep extension installed at a time to build on Radius. If you have the Radius Bicep extension installed, you will need to uninstall it and use only the official Bicep extension. {{< /alert >}} -{{< latest >}} 1. To install the Bicep extension, refer to their [installation documentation](https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/install#visual-studio-code-and-bicep-extension) {{< /latest >}} \ No newline at end of file From 4f922c3c20d922c157b58fa8c0052b685eb94a4a Mon Sep 17 00:00:00 2001 From: Shruthi Kumar Date: Wed, 7 Aug 2024 11:29:43 -0700 Subject: [PATCH 20/40] Update docs/content/guides/tooling/vscode/overview/index.md Co-authored-by: Reshma Abdul Rahim <61033581+Reshrahim@users.noreply.github.com> Signed-off-by: Shruthi Kumar Signed-off-by: sk593 --- docs/content/guides/tooling/vscode/overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/guides/tooling/vscode/overview/index.md b/docs/content/guides/tooling/vscode/overview/index.md index 3a2d2823b..71eed3fa3 100644 --- a/docs/content/guides/tooling/vscode/overview/index.md +++ b/docs/content/guides/tooling/vscode/overview/index.md @@ -10,7 +10,7 @@ tags: ["VSCode"] When using Visual Studio Code with Radius there are a set of extensions you can install to help author, validate, and manage your Radius Applications and environments. -{{< alert title="Note" color="secondary" >}} +{{< alert title="Note" color="warning" >}} **The official Bicep extension is not compatible with the Radius Bicep extension.** Previously, Radius made use of the Radius Bicep extension, a temporary extension used to model Radius and AWS resource types. The Radius Bicep extension has been deprecated and we have upstreamed our extensibility updates to the official Bicep. If you have the Radius Bicep extension installed you will need to disable or uninstall it before installing the Bicep extension. {{< /alert >}} From 80f6ed107a3c2ad8d1dc7952669182189a3fd07a Mon Sep 17 00:00:00 2001 From: Shruthi Kumar Date: Wed, 7 Aug 2024 11:29:49 -0700 Subject: [PATCH 21/40] Update docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md Co-authored-by: Reshma Abdul Rahim <61033581+Reshrahim@users.noreply.github.com> Signed-off-by: Shruthi Kumar Signed-off-by: sk593 --- .../installation/vscode-bicep/install-vscode-bicep.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md b/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md index 7099c1f50..47c87512c 100644 --- a/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md +++ b/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md @@ -3,5 +3,4 @@ Visual Studio Code offers the best authoring experience for Radius and Bicep. Do {{< alert title="Disable the Radius Bicep extension" color="warning" >}} We previously released a version of the official Bicep extension specific to Radius called the Radius Bicep extension. We have since updated Radius to be compatible with the official Bicep extension. You can only have one VSCode Bicep extension installed at a time to build on Radius. If you have the Radius Bicep extension installed, you will need to uninstall it and use only the official Bicep extension. {{< /alert >}} -1. To install the Bicep extension, refer to their [installation documentation](https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/install#visual-studio-code-and-bicep-extension) -{{< /latest >}} \ No newline at end of file +1. To install the Bicep extension, refer to their [installation documentation](https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/install#visual-studio-code-and-bicep-extension) \ No newline at end of file From 5254c2cdd9f8b62ff0027c126fcbb6c7588e03ca Mon Sep 17 00:00:00 2001 From: Shruthi Kumar Date: Wed, 7 Aug 2024 11:30:08 -0700 Subject: [PATCH 22/40] Update docs/content/guides/tooling/bicepconfig/overview/index.md Co-authored-by: Reshma Abdul Rahim <61033581+Reshrahim@users.noreply.github.com> Signed-off-by: Shruthi Kumar Signed-off-by: sk593 --- docs/content/guides/tooling/bicepconfig/overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/guides/tooling/bicepconfig/overview/index.md b/docs/content/guides/tooling/bicepconfig/overview/index.md index 6f7d38511..348b04ce7 100644 --- a/docs/content/guides/tooling/bicepconfig/overview/index.md +++ b/docs/content/guides/tooling/bicepconfig/overview/index.md @@ -49,4 +49,4 @@ This will automatically generate a `bicepconfig.json` with the correct setup in } ``` -A `bicepconfig.json` file is required to use Radius with the official Bicep compiler but you can optionally add any other settings that are relevant to your application. These configurations allow Bicep to consume and use Radius-managed types stored in an OCI registry. There are two extensions that are enabled by default in the `bicepconfig.json` so that you can use Radius and AWS resources. The "radius" extension contains the schema information for all Radius-maintained resources, and the "aws" extension contains the schema information for AWS resources. \ No newline at end of file +These configurations allow Bicep to consume and use Radius-managed types stored in an OCI registry. There are two extensions that are enabled by default in the `bicepconfig.json` so that you can use Radius and AWS resources. The "radius" extension contains the schema information for all Radius-maintained resources, and the "aws" extension contains the schema information for AWS resources. You can optionally add any other settings that are relevant to your application. \ No newline at end of file From c5ef3c78e7fc7ce2411e8a9faf246f51a0fe284e Mon Sep 17 00:00:00 2001 From: sk593 Date: Mon, 12 Aug 2024 21:25:17 -0700 Subject: [PATCH 23/40] addressing comments Signed-off-by: sk593 --- .../aws/howto-aws-resources/index.md | 15 +++++--- .../azure/howto-azure-resources/index.md | 15 +++++--- .../tooling/bicepconfig/overview/index.md | 35 ++----------------- .../installation/bicepconfig/manual.md | 15 ++++++++ .../installation/bicepconfig/rad-init.md | 18 ++++++++++ 5 files changed, 55 insertions(+), 43 deletions(-) create mode 100644 docs/shared-content/installation/bicepconfig/manual.md create mode 100644 docs/shared-content/installation/bicepconfig/rad-init.md diff --git a/docs/content/guides/author-apps/aws/howto-aws-resources/index.md b/docs/content/guides/author-apps/aws/howto-aws-resources/index.md index 2b0bb9692..ab9fa6739 100644 --- a/docs/content/guides/author-apps/aws/howto-aws-resources/index.md +++ b/docs/content/guides/author-apps/aws/howto-aws-resources/index.md @@ -25,7 +25,6 @@ This how-to guide will show you: - [kubectl CLI](https://kubernetes.io/docs/tasks/tools/install-kubectl/) - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) - [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) -- [`bicepconfig.json`]({{< ref "/guides/tooling/bicepconfig/overview" >}}) file in your application's directory ## Step 1: Create an EKS Cluster @@ -53,7 +52,13 @@ Follow the prompts to install the [control plane services]({{< ref "/concepts/te - **Add AWS provider** - An [AWS cloud provider]({{< ref "/guides/operations/providers/aws-provider" >}}) allows you to deploy and manage AWS resources as part of your application. Follow the how-to guides to [configure the AWS provider]({{< ref "/guides/operations/providers/aws-provider/howto-aws-provider" >}}) with the preferred identity. - **Environment name** - The name of the environment to create. You can specify any name with lowercase letters, such as `myawsenv`. -## Step 3: Create a Bicep file to model AWS Simple Storage Service (S3) +## Step 3: Create a `bicepconfig.json` in your application's directory + +{{< read file= "/shared-content/installation/bicepconfig/manual.md" >}} + +More information on how to setup a `bicepconfig.json` can be found [here]({{< ref "/guides/tooling/bicepconfig/overview" >}}) + +## Step 4: Create a Bicep file to model AWS Simple Storage Service (S3) Create a new file called `app.bicep` and add the following bicep code to model an AWS S3 Bucket: @@ -61,7 +66,7 @@ Create a new file called `app.bicep` and add the following bicep code to model a Radius uses the [AWS Cloud Control API](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/what-is-cloudcontrolapi.html) to interact with AWS resources. This means that you can model your AWS resources in Bicep and Radius will be able to deploy and manage them. You can find the list of supported AWS resources in the [AWS resource library]({{< ref "guides/author-apps/aws/overview#resource-library" >}}). -## Step 4: Add a Radius container to interact with the AWS S3 Bucket +## Step 5: Add a Radius container to interact with the AWS S3 Bucket Open the `app.bicep` and append the following Radius resources: @@ -73,7 +78,7 @@ Your final `app.bicep` file should look like this This creates a container that will be deployed to your Kubernetes cluster. This container will interact with the AWS S3 Bucket you created in the previous step. -## Step 5: Deploy the application +## Step 6: Deploy the application 1. Deploy your application to your environment: @@ -96,7 +101,7 @@ This creates a container that will be deployed to your Kubernetes cluster. This {{< image src="s3app.png" alt="Screenshot of the sample application to interact with s3 bucket " width=900 >}} -## Step 6: Cleanup +## Step 7: Cleanup 1. When you're done with testing, you can use the rad CLI to [delete an environment]({{< ref rad_env_delete.md >}}) to delete all Radius resources running on the EKS Cluster. diff --git a/docs/content/guides/author-apps/azure/howto-azure-resources/index.md b/docs/content/guides/author-apps/azure/howto-azure-resources/index.md index 19040bc09..e06f8822b 100644 --- a/docs/content/guides/author-apps/azure/howto-azure-resources/index.md +++ b/docs/content/guides/author-apps/azure/howto-azure-resources/index.md @@ -21,7 +21,6 @@ The steps below will showcase a "rad-ified" version of the existing [Azure AD wo - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) - [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) -- [`bicepconfig.json`]({{< ref "/guides/tooling/bicepconfig/overview" >}}) - [Setup a supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview#supported-clusters" >}}) - [Azure AD Workload Identity](https://azure.github.io/azure-workload-identity/docs/installation.html) installed in your cluster, including the [Mutating Admission Webhook](https://azure.github.io/azure-workload-identity/docs/installation/mutating-admission-webhook.html) @@ -33,19 +32,25 @@ Begin by running [`rad init --full`]({{< ref rad_init >}}). Make sure to configu rad init --full ``` -## Step 2: Define a Radius Environment +## Step 2: Create a `bicepconfig.json` in your application's directory + +{{< read file= "/shared-content/installation/bicepconfig/manual.md" >}} + +More information on how to setup a `bicepconfig.json` can be found [here]({{< ref "/guides/tooling/bicepconfig/overview" >}}) + +## Step 3: Define a Radius Environment Create a file named `app.bicep` and define a Radius Environment with [identity property]({{< ref "/guides/deploy-apps/environments/overview" >}}) set. This configures your environment to use your Azure AD workload identity installation with your cluster's OIDC endpoint: {{< rad file="snippets/container-wi.bicep" embed=true marker="//ENVIRONMENT">}} -## Step 3: Define an app and a container +## Step 4: Define an app and a container Add a Radius Application, a Radius [container]({{< ref "guides/author-apps/containers" >}}), and an Azure Key Vault to your `app.bicep` file. Note the connection from the container to the Key Vault, with an iam property set for the Azure AD RBAC role: {{< rad file="snippets/container-wi.bicep" embed=true marker="//CONTAINER" >}} -## Step 4: Deploy the app and container +## Step 5: Deploy the app and container Deploy your app by specifying the OIDC issuer URL. To retrieve the OIDC issuer URL, follow the [Azure Workload Identity installation guide](https://azure.github.io/azure-workload-identity/docs/installation.html). @@ -53,7 +58,7 @@ Deploy your app by specifying the OIDC issuer URL. To retrieve the OIDC issuer U rad deploy ./app.bicep -p oidcIssuer= ``` -## Step 5: Verify access to the Key Vault +## Step 6: Verify access to the Key Vault 1. Once deployment completes, read the logs from your running container resource: diff --git a/docs/content/guides/tooling/bicepconfig/overview/index.md b/docs/content/guides/tooling/bicepconfig/overview/index.md index 348b04ce7..31dec820c 100644 --- a/docs/content/guides/tooling/bicepconfig/overview/index.md +++ b/docs/content/guides/tooling/bicepconfig/overview/index.md @@ -12,41 +12,10 @@ In order to use the features provided by the official Bicep compiler with Radius ## Option 1: Automatically generate a `bicepconfig.json` via `rad init` -1. Install Radius CLI - -{{< read file= "/shared-content/installation/rad-cli/install-rad-cli.md" >}} - -1. Create a new directory for your app and navigate into it: - -```bash -mkdir first-app -cd first-app -``` - -1. Initialize Radius. Select `Yes` when asked to setup application in the current directory. - -```bash -rad init -``` - -This will automatically generate a `bicepconfig.json` with the correct setup in your application's directory. +{{< read file= "/shared-content/installation/bicepconfig/rad-init.md" >}} ## Option 2: Manually create a `bicepconfig.json` -1. Create a `bicepconfig.json` in your application's directory. `release-version` should correspond to the current release version in the form of `major.minor` (e.g. `0.36`). - -```json -{ - "experimentalFeaturesEnabled": { - "extensibility": true, - "extensionRegistry": true, - "dynamicTypeLoading": true - }, - "extensions": { - "radius": "br:biceptypes.azurecr.io/radius:", - "aws": "br:biceptypes.azurecr.io/aws:" - } -} -``` +{{< read file= "/shared-content/installation/bicepconfig/manual.md" >}} These configurations allow Bicep to consume and use Radius-managed types stored in an OCI registry. There are two extensions that are enabled by default in the `bicepconfig.json` so that you can use Radius and AWS resources. The "radius" extension contains the schema information for all Radius-maintained resources, and the "aws" extension contains the schema information for AWS resources. You can optionally add any other settings that are relevant to your application. \ No newline at end of file diff --git a/docs/shared-content/installation/bicepconfig/manual.md b/docs/shared-content/installation/bicepconfig/manual.md new file mode 100644 index 000000000..df9c5c154 --- /dev/null +++ b/docs/shared-content/installation/bicepconfig/manual.md @@ -0,0 +1,15 @@ +1. Create a `bicepconfig.json` in your application's directory. `release-version` should correspond to the current release version in the form of `major.minor` (e.g. `0.36`). + +```json +{ + "experimentalFeaturesEnabled": { + "extensibility": true, + "extensionRegistry": true, + "dynamicTypeLoading": true + }, + "extensions": { + "radius": "br:biceptypes.azurecr.io/radius:", + "aws": "br:biceptypes.azurecr.io/aws:" + } +} +``` \ No newline at end of file diff --git a/docs/shared-content/installation/bicepconfig/rad-init.md b/docs/shared-content/installation/bicepconfig/rad-init.md new file mode 100644 index 000000000..148815186 --- /dev/null +++ b/docs/shared-content/installation/bicepconfig/rad-init.md @@ -0,0 +1,18 @@ +1. Install Radius CLI + +{{< read file= "/shared-content/installation/rad-cli/install-rad-cli.md" >}} + +1. Create a new directory for your app and navigate into it: + +```bash +mkdir first-app +cd first-app +``` + +1. Initialize Radius. Select `Yes` when asked to setup application in the current directory. + +```bash +rad init +``` + +This will automatically generate a `bicepconfig.json` with the correct setup in your application's directory. \ No newline at end of file From a89a9fa2d639b7e02dac77548b567fd6625880d1 Mon Sep 17 00:00:00 2001 From: sk593 Date: Mon, 12 Aug 2024 21:28:46 -0700 Subject: [PATCH 24/40] update spelling Signed-off-by: sk593 --- .github/config/en-custom.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/config/en-custom.txt b/.github/config/en-custom.txt index 4019f1adb..aa415d233 100644 --- a/.github/config/en-custom.txt +++ b/.github/config/en-custom.txt @@ -1262,6 +1262,8 @@ SecretReference ProviderConfigPropertiesSecrets upstreamed irsa +bicepconfig +Bicepconfig postgres ReadOnly DeployTimeConstant \ No newline at end of file From 49a26fa0bc3955fa1e521ebf35249adc05dccf57 Mon Sep 17 00:00:00 2001 From: sk593 Date: Tue, 13 Aug 2024 13:49:50 -0700 Subject: [PATCH 25/40] update comments Signed-off-by: sk593 --- bicepconfig.json | 1 + .../content/guides/author-apps/aws/howto-aws-resources/index.md | 2 ++ .../guides/author-apps/azure/howto-azure-resources/index.md | 2 ++ 3 files changed, 5 insertions(+) diff --git a/bicepconfig.json b/bicepconfig.json index 65aa58442..d772ad944 100644 --- a/bicepconfig.json +++ b/bicepconfig.json @@ -1,3 +1,4 @@ +// The bicepconfig.json file is needed so the bicep files in the repo can be compiled with the correct setup { "experimentalFeaturesEnabled": { "extensibility": true, diff --git a/docs/content/guides/author-apps/aws/howto-aws-resources/index.md b/docs/content/guides/author-apps/aws/howto-aws-resources/index.md index ab9fa6739..6757a20e4 100644 --- a/docs/content/guides/author-apps/aws/howto-aws-resources/index.md +++ b/docs/content/guides/author-apps/aws/howto-aws-resources/index.md @@ -52,6 +52,8 @@ Follow the prompts to install the [control plane services]({{< ref "/concepts/te - **Add AWS provider** - An [AWS cloud provider]({{< ref "/guides/operations/providers/aws-provider" >}}) allows you to deploy and manage AWS resources as part of your application. Follow the how-to guides to [configure the AWS provider]({{< ref "/guides/operations/providers/aws-provider/howto-aws-provider" >}}) with the preferred identity. - **Environment name** - The name of the environment to create. You can specify any name with lowercase letters, such as `myawsenv`. +Select 'No' when asked to setup application in the current directory. + ## Step 3: Create a `bicepconfig.json` in your application's directory {{< read file= "/shared-content/installation/bicepconfig/manual.md" >}} diff --git a/docs/content/guides/author-apps/azure/howto-azure-resources/index.md b/docs/content/guides/author-apps/azure/howto-azure-resources/index.md index e06f8822b..e610a4ed9 100644 --- a/docs/content/guides/author-apps/azure/howto-azure-resources/index.md +++ b/docs/content/guides/author-apps/azure/howto-azure-resources/index.md @@ -32,6 +32,8 @@ Begin by running [`rad init --full`]({{< ref rad_init >}}). Make sure to configu rad init --full ``` +Select 'No' when asked to setup application in the current directory. + ## Step 2: Create a `bicepconfig.json` in your application's directory {{< read file= "/shared-content/installation/bicepconfig/manual.md" >}} From d4c70ebff47ac5811a260611948d451adeebdf65 Mon Sep 17 00:00:00 2001 From: Shruthi Kumar Date: Tue, 13 Aug 2024 13:51:09 -0700 Subject: [PATCH 26/40] Update docs/content/getting-started/index.md Co-authored-by: Reshma Abdul Rahim <61033581+Reshrahim@users.noreply.github.com> Signed-off-by: Shruthi Kumar Signed-off-by: sk593 --- docs/content/getting-started/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/getting-started/index.md b/docs/content/getting-started/index.md index f9646f054..942df2189 100644 --- a/docs/content/getting-started/index.md +++ b/docs/content/getting-started/index.md @@ -73,7 +73,7 @@ In addition to starting Radius services in your Kubernetes cluster, this initial {{< rad file="snippets/app.bicep" embed=true markdownConfig="{linenos=table,linenostart=1}" >}} -> This file will run the `ghcr.io/radius-project/samples/demo:latest` image. This image is published by the Radius team to a public registry, you do not need to create it. +> This file will run the `ghcr.io/radius-project/samples/demo:latest` image. This image is published by the Radius team to a public registry, you do not need to create it. ## 4. Run the app From c4888440a1019cbc12d6213fa0eaa0e19ed21507 Mon Sep 17 00:00:00 2001 From: sk593 Date: Tue, 13 Aug 2024 13:54:17 -0700 Subject: [PATCH 27/40] update comments Signed-off-by: sk593 --- .../containers/howto-keyvault-volume/index.md | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md b/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md index e9688720d..628b41751 100644 --- a/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md +++ b/docs/content/guides/author-apps/containers/howto-keyvault-volume/index.md @@ -20,7 +20,6 @@ This how-to guide will provide an overview of how to: - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) - [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) -- [`bicepconfig.json`]({{< ref "/guides/tooling/bicepconfig/overview" >}}) - [Supported Kubernetes cluster]({{< ref "guides/operations/kubernetes" >}}) - [Azure AD Workload Identity](https://azure.github.io/azure-workload-identity/docs/installation.html) installed on your cluster - [Azure Keyvault Provider](https://azure.github.io/secrets-store-csi-driver-provider-azure/docs/getting-started/installation/) @@ -34,25 +33,33 @@ Begin by running [`rad init --full`]({{< ref rad_init >}}). Make sure to configu rad init --full ``` -## Step 2: Define a Radius Environment +Select 'No' when asked to setup application in the current directory. + +## Step 2: Create a `bicepconfig.json` in your application's directory + +{{< read file= "/shared-content/installation/bicepconfig/manual.md" >}} + +More information on how to setup a `bicepconfig.json` can be found [here]({{< ref "/guides/tooling/bicepconfig/overview" >}}) + +## Step 3: Define a Radius Environment Create a file named `app.bicep` and define a Radius Environment with the identity property set: {{< rad file="snippets/keyvault-wi.bicep" embed=true marker="//ENVIRONMENT">}} -## Step 3: Define an app, Key Vault, and volume +## Step 4: Define an app, Key Vault, and volume Add a Radius Application, an Azure Key Vault, and a Radius volume which uses the Key Vault to your `app.bicep` file: {{< rad file="snippets/keyvault-wi.bicep" embed=true marker="//APP" >}} -## Step 4: Define an app, Key Vault, and volume +## Step 5: Define an app, Key Vault, and volume Now add a Radius [container]({{< ref "guides/author-apps/containers" >}}) with a volume mount for the Radius volume: {{< rad file="snippets/keyvault-wi.bicep" embed=true marker="//CONTAINER" >}} -## Step 5: Deploy the app +## Step 6: Deploy the app Deploy your app, specifying the OIDC issuer URL. To retrieve the OIDC issuer URL, follow the [Azure Workload Identity installation guide](https://azure.github.io/azure-workload-identity/docs/installation.html). @@ -60,7 +67,7 @@ Deploy your app, specifying the OIDC issuer URL. To retrieve the OIDC issuer URL rad deploy ./app.bicep -p oidcIssuer= ``` -## Step 6: Verify access to the mounted Azure Key Vault +## Step 7: Verify access to the mounted Azure Key Vault 1. Once deployment completes, read the logs from your running container resource: From af02a73458af5de32910062ce30e7481fff74811 Mon Sep 17 00:00:00 2001 From: sk593 Date: Tue, 13 Aug 2024 13:58:20 -0700 Subject: [PATCH 28/40] update comments Signed-off-by: sk593 --- .../guides/recipes/howto-dev-recipes/index.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/content/guides/recipes/howto-dev-recipes/index.md b/docs/content/guides/recipes/howto-dev-recipes/index.md index 0429c2e9b..50217dd6e 100644 --- a/docs/content/guides/recipes/howto-dev-recipes/index.md +++ b/docs/content/guides/recipes/howto-dev-recipes/index.md @@ -14,7 +14,6 @@ Local development environments created by the rad init command include a set of - [rad CLI]({{< ref "installation#step-1-install-the-rad-cli" >}}) - [Bicep VSCode extension]({{< ref "installation#step-2-install-the-vs-code-extension" >}}) -- [`bicepconfig.json`]({{< ref "/guides/tooling/bicepconfig/overview" >}}) - [Setup a supported Kubernetes cluster]({{< ref "/guides/operations/kubernetes/overview#supported-clusters" >}}) ## Step 1: Initialize a Radius environment @@ -56,7 +55,13 @@ Local development environments created by the rad init command include a set of When a Recipe is named "default" it will be used automatically when a resource doesn't specify a Recipe name. This makes it easy for applications to fully defer to the Environment for how to manage infrastructure. -## Step 2: Define your application +## Step 2: Create a `bicepconfig.json` in your application's directory + +{{< read file= "/shared-content/installation/bicepconfig/manual.md" >}} + +More information on how to setup a `bicepconfig.json` can be found [here]({{< ref "/guides/tooling/bicepconfig/overview" >}}) + +## Step 3: Define your application Create a file named `app.bicep` with the following set of resources: @@ -64,7 +69,7 @@ Create a file named `app.bicep` with the following set of resources: Note that no Recipe name is specified within 'db', so it will be using the default Recipe for Redis in your environment. -## Step 3: Deploy your application +## Step 4: Deploy your application 1. Run [`rad run`]({{< ref rad_run >}}) to deploy your application: @@ -94,7 +99,7 @@ Note that no Recipe name is specified within 'db', so it will be using the defau Your application is now deployed and running in your Kubernetes cluster. -## Step 4: Verify Redis containers are deployed +## Step 5: Verify Redis containers are deployed 1. Visit [`http://localhost:3000`](http://localhost:3000) in your browser. From d195dc8a4d618990936c800a10eba92529890257 Mon Sep 17 00:00:00 2001 From: Reshma Abdul Rahim Date: Wed, 14 Aug 2024 15:46:32 -0400 Subject: [PATCH 29/40] Update bicepconfig page Signed-off-by: Reshma Abdul Rahim Signed-off-by: sk593 --- .../guides/tooling/bicepconfig/_index.md | 4 ++-- .../tooling/bicepconfig/overview/index.md | 20 +++++++++++++++---- .../bicepconfig/overview/snippets/app.bicep | 11 ++++++++++ .../guides/tooling/dashboard/_index.md | 2 +- .../installation/bicepconfig/rad-init.md | 18 ++++++++--------- 5 files changed, 38 insertions(+), 17 deletions(-) create mode 100644 docs/content/guides/tooling/bicepconfig/overview/snippets/app.bicep diff --git a/docs/content/guides/tooling/bicepconfig/_index.md b/docs/content/guides/tooling/bicepconfig/_index.md index efeddc947..70644d6e3 100644 --- a/docs/content/guides/tooling/bicepconfig/_index.md +++ b/docs/content/guides/tooling/bicepconfig/_index.md @@ -1,7 +1,7 @@ --- type: docs title: "Bicep configuration file" -linkTitle: "Bicepconfig" +linkTitle: "Bicep config" description: "Documentation on the Bicep configuration file" -weight: 100 +weight: 300 --- \ No newline at end of file diff --git a/docs/content/guides/tooling/bicepconfig/overview/index.md b/docs/content/guides/tooling/bicepconfig/overview/index.md index 31dec820c..2c07fb11c 100644 --- a/docs/content/guides/tooling/bicepconfig/overview/index.md +++ b/docs/content/guides/tooling/bicepconfig/overview/index.md @@ -8,14 +8,26 @@ categories: "Overview" tags: ["Bicep"] --- -In order to use the features provided by the official Bicep compiler with Radius, certain configurations need to be defined. These are defined in a `bicepconfig.json` file that lives in your application's directory. There are two ways to generate a `bicepconfig.json` with Radius. +To use the features provided by the official Bicep compiler with Radius, certain configurations need to be defined. These are defined in a `bicepconfig.json` file that lives in your application's directory. -## Option 1: Automatically generate a `bicepconfig.json` via `rad init` +## What is a `bicepconfig.json`? + +The `bicepconfig.json` allows Bicep compiler to consume and use Radius-managed types stored in an OCI registry. There are two extensions that are enabled by default in the `bicepconfig.json` so that you can use Radius and AWS resources. The "radius" extension contains the schema information for all Radius-maintained resources, and the "aws" extension contains the schema information for AWS resources. You can optionally add any other settings that are relevant to your application. There are two ways to generate a `bicepconfig.json` with Radius. + + +## Automatically generate a `bicepconfig.json` via `rad init` {{< read file= "/shared-content/installation/bicepconfig/rad-init.md" >}} -## Option 2: Manually create a `bicepconfig.json` +## Manually create a `bicepconfig.json` {{< read file= "/shared-content/installation/bicepconfig/manual.md" >}} -These configurations allow Bicep to consume and use Radius-managed types stored in an OCI registry. There are two extensions that are enabled by default in the `bicepconfig.json` so that you can use Radius and AWS resources. The "radius" extension contains the schema information for all Radius-maintained resources, and the "aws" extension contains the schema information for AWS resources. You can optionally add any other settings that are relevant to your application. \ No newline at end of file +## Author and deploy Radius-managed types + +{{< alert title="Replace import statements with extension" color="warning" >}} Radius is now merged with the official Bicep. If you have bicep files with `import radius as radius` statements please replace them with `extension radius` to use Radius-managed types . +{{< /alert >}} + +Once you have a `bicepconfig.json` file in your application's directory, you can author and deploy Radius-managed types. + +{{< rad file="snippets/app.bicep" embed=true >}} \ No newline at end of file diff --git a/docs/content/guides/tooling/bicepconfig/overview/snippets/app.bicep b/docs/content/guides/tooling/bicepconfig/overview/snippets/app.bicep new file mode 100644 index 000000000..d6623dbf5 --- /dev/null +++ b/docs/content/guides/tooling/bicepconfig/overview/snippets/app.bicep @@ -0,0 +1,11 @@ +extension radius + +@description('The environment ID of your Radius Application. Set automatically by the rad CLI.') +param environment string + +resource myapp 'Applications.Core/applications@2023-10-01-preview' = { + name: 'my-application' + properties: { + environment: environment + } +} diff --git a/docs/content/guides/tooling/dashboard/_index.md b/docs/content/guides/tooling/dashboard/_index.md index a9e78650d..699794ba9 100644 --- a/docs/content/guides/tooling/dashboard/_index.md +++ b/docs/content/guides/tooling/dashboard/_index.md @@ -3,5 +3,5 @@ type: docs title: "Radius dashboard" linkTitle: "Dashboard" description: "Documentation on the Radius dashboard" -weight: 100 +weight: 400 --- diff --git a/docs/shared-content/installation/bicepconfig/rad-init.md b/docs/shared-content/installation/bicepconfig/rad-init.md index 148815186..e1ac3b39a 100644 --- a/docs/shared-content/installation/bicepconfig/rad-init.md +++ b/docs/shared-content/installation/bicepconfig/rad-init.md @@ -1,18 +1,16 @@ 1. Install Radius CLI -{{< read file= "/shared-content/installation/rad-cli/install-rad-cli.md" >}} - 1. Create a new directory for your app and navigate into it: -```bash -mkdir first-app -cd first-app -``` + ```bash + mkdir first-app + cd first-app + ``` 1. Initialize Radius. Select `Yes` when asked to setup application in the current directory. -```bash -rad init -``` - + ```bash + rad init + ``` + This will automatically generate a `bicepconfig.json` with the correct setup in your application's directory. \ No newline at end of file From 1747c9b92a0c253c7486ed17a7baddcd4db45d03 Mon Sep 17 00:00:00 2001 From: Reshma Abdul Rahim Date: Wed, 14 Aug 2024 15:55:15 -0400 Subject: [PATCH 30/40] reNAME rADIUS-TYPES Signed-off-by: Reshma Abdul Rahim Signed-off-by: sk593 --- .../guides/tooling/bicepconfig/overview/index.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/content/guides/tooling/bicepconfig/overview/index.md b/docs/content/guides/tooling/bicepconfig/overview/index.md index 2c07fb11c..61e269666 100644 --- a/docs/content/guides/tooling/bicepconfig/overview/index.md +++ b/docs/content/guides/tooling/bicepconfig/overview/index.md @@ -2,7 +2,7 @@ type: docs title: "Overview: Bicep configuration" linkTitle: "Overview" -description: "Setup the Bicep configuration file to author and deploy Radius-managed types" +description: "Setup the Bicep configuration file to author and deploy Radius-types" weight: 100 categories: "Overview" tags: ["Bicep"] @@ -12,7 +12,7 @@ To use the features provided by the official Bicep compiler with Radius, certain ## What is a `bicepconfig.json`? -The `bicepconfig.json` allows Bicep compiler to consume and use Radius-managed types stored in an OCI registry. There are two extensions that are enabled by default in the `bicepconfig.json` so that you can use Radius and AWS resources. The "radius" extension contains the schema information for all Radius-maintained resources, and the "aws" extension contains the schema information for AWS resources. You can optionally add any other settings that are relevant to your application. There are two ways to generate a `bicepconfig.json` with Radius. +The `bicepconfig.json` allows Bicep compiler to consume and use Radius-types stored in an OCI registry. There are two extensions that are enabled by default in the `bicepconfig.json` so that you can use Radius and AWS resources. The "radius" extension contains the schema information for all Radius-maintained resources, and the "aws" extension contains the schema information for AWS resources. You can optionally add any other settings that are relevant to your application. There are two ways to generate a `bicepconfig.json` with Radius. ## Automatically generate a `bicepconfig.json` via `rad init` @@ -23,11 +23,11 @@ The `bicepconfig.json` allows Bicep compiler to consume and use Radius-managed t {{< read file= "/shared-content/installation/bicepconfig/manual.md" >}} -## Author and deploy Radius-managed types +## Author and deploy Radius-types -{{< alert title="Replace import statements with extension" color="warning" >}} Radius is now merged with the official Bicep. If you have bicep files with `import radius as radius` statements please replace them with `extension radius` to use Radius-managed types . +{{< alert title="Replace import statements with extension" color="warning" >}} Radius is now merged with the official Bicep. If you have bicep files with `import radius as radius` statements please replace them with `extension radius` to use Radius-types . {{< /alert >}} -Once you have a `bicepconfig.json` file in your application's directory, you can author and deploy Radius-managed types. +Once you have a `bicepconfig.json` file in your application's directory, you can author and deploy Radius-types. {{< rad file="snippets/app.bicep" embed=true >}} \ No newline at end of file From e6ba4ac86cb10c5fa164ef1bb9e1f17ac2a29749 Mon Sep 17 00:00:00 2001 From: Reshma Abdul Rahim <61033581+Reshrahim@users.noreply.github.com> Date: Wed, 14 Aug 2024 15:56:31 -0400 Subject: [PATCH 31/40] Apply suggestions from code review Signed-off-by: Reshma Abdul Rahim <61033581+Reshrahim@users.noreply.github.com> Signed-off-by: sk593 --- docs/content/guides/tooling/bicepconfig/overview/index.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/content/guides/tooling/bicepconfig/overview/index.md b/docs/content/guides/tooling/bicepconfig/overview/index.md index 61e269666..d94c95953 100644 --- a/docs/content/guides/tooling/bicepconfig/overview/index.md +++ b/docs/content/guides/tooling/bicepconfig/overview/index.md @@ -14,7 +14,6 @@ To use the features provided by the official Bicep compiler with Radius, certain The `bicepconfig.json` allows Bicep compiler to consume and use Radius-types stored in an OCI registry. There are two extensions that are enabled by default in the `bicepconfig.json` so that you can use Radius and AWS resources. The "radius" extension contains the schema information for all Radius-maintained resources, and the "aws" extension contains the schema information for AWS resources. You can optionally add any other settings that are relevant to your application. There are two ways to generate a `bicepconfig.json` with Radius. - ## Automatically generate a `bicepconfig.json` via `rad init` {{< read file= "/shared-content/installation/bicepconfig/rad-init.md" >}} From 7fd2749be5b9622cc44a910aa577046de809178a Mon Sep 17 00:00:00 2001 From: Shruthi Kumar Date: Wed, 14 Aug 2024 13:11:25 -0700 Subject: [PATCH 32/40] Update docs/content/guides/tooling/vscode/overview/index.md Co-authored-by: Reshma Abdul Rahim <61033581+Reshrahim@users.noreply.github.com> Signed-off-by: Shruthi Kumar Signed-off-by: sk593 --- docs/content/guides/tooling/vscode/overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/guides/tooling/vscode/overview/index.md b/docs/content/guides/tooling/vscode/overview/index.md index 71eed3fa3..e533d2cc2 100644 --- a/docs/content/guides/tooling/vscode/overview/index.md +++ b/docs/content/guides/tooling/vscode/overview/index.md @@ -10,7 +10,7 @@ tags: ["VSCode"] When using Visual Studio Code with Radius there are a set of extensions you can install to help author, validate, and manage your Radius Applications and environments. -{{< alert title="Note" color="warning" >}} +{{< alert title="Disable the Radius Bicep extension" color="warning" >}} **The official Bicep extension is not compatible with the Radius Bicep extension.** Previously, Radius made use of the Radius Bicep extension, a temporary extension used to model Radius and AWS resource types. The Radius Bicep extension has been deprecated and we have upstreamed our extensibility updates to the official Bicep. If you have the Radius Bicep extension installed you will need to disable or uninstall it before installing the Bicep extension. {{< /alert >}} From 35187d9a9911965290f61ac69e424dea9d33cddc Mon Sep 17 00:00:00 2001 From: Shruthi Kumar Date: Wed, 14 Aug 2024 13:11:44 -0700 Subject: [PATCH 33/40] Update docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md Co-authored-by: Reshma Abdul Rahim <61033581+Reshrahim@users.noreply.github.com> Signed-off-by: Shruthi Kumar Signed-off-by: sk593 --- .../installation/vscode-bicep/install-vscode-bicep.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md b/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md index 47c87512c..b453c8e9b 100644 --- a/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md +++ b/docs/shared-content/installation/vscode-bicep/install-vscode-bicep.md @@ -3,4 +3,5 @@ Visual Studio Code offers the best authoring experience for Radius and Bicep. Do {{< alert title="Disable the Radius Bicep extension" color="warning" >}} We previously released a version of the official Bicep extension specific to Radius called the Radius Bicep extension. We have since updated Radius to be compatible with the official Bicep extension. You can only have one VSCode Bicep extension installed at a time to build on Radius. If you have the Radius Bicep extension installed, you will need to uninstall it and use only the official Bicep extension. {{< /alert >}} -1. To install the Bicep extension, refer to their [installation documentation](https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/install#visual-studio-code-and-bicep-extension) \ No newline at end of file + +To install the Bicep extension, refer to their [installation documentation](https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/install#visual-studio-code-and-bicep-extension) \ No newline at end of file From 830bebc991d7df6038096ffd962d034087e7ac9f Mon Sep 17 00:00:00 2001 From: Shruthi Kumar Date: Wed, 14 Aug 2024 13:12:04 -0700 Subject: [PATCH 34/40] Update docs/content/guides/tooling/vscode/overview/index.md Co-authored-by: Reshma Abdul Rahim <61033581+Reshrahim@users.noreply.github.com> Signed-off-by: Shruthi Kumar Signed-off-by: sk593 --- docs/content/guides/tooling/vscode/overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/guides/tooling/vscode/overview/index.md b/docs/content/guides/tooling/vscode/overview/index.md index e533d2cc2..f4f0e5f95 100644 --- a/docs/content/guides/tooling/vscode/overview/index.md +++ b/docs/content/guides/tooling/vscode/overview/index.md @@ -11,7 +11,7 @@ tags: ["VSCode"] When using Visual Studio Code with Radius there are a set of extensions you can install to help author, validate, and manage your Radius Applications and environments. {{< alert title="Disable the Radius Bicep extension" color="warning" >}} -**The official Bicep extension is not compatible with the Radius Bicep extension.** Previously, Radius made use of the Radius Bicep extension, a temporary extension used to model Radius and AWS resource types. The Radius Bicep extension has been deprecated and we have upstreamed our extensibility updates to the official Bicep. If you have the Radius Bicep extension installed you will need to disable or uninstall it before installing the Bicep extension. +Previously, Radius made use of the Radius Bicep extension, a temporary extension used to model Radius and AWS resource types. The Radius Bicep extension has been deprecated and we have upstreamed our extensibility updates to the official Bicep. If you have the Radius Bicep extension installed you will need to disable or uninstall it before installing the Bicep extension. {{< /alert >}} ## Bicep extension From 62119252a8ba4ed286ecd754af6a5a27b9091e37 Mon Sep 17 00:00:00 2001 From: sk593 Date: Wed, 14 Aug 2024 13:22:21 -0700 Subject: [PATCH 35/40] remove package lock Signed-off-by: sk593 --- docs/package-lock.json | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/docs/package-lock.json b/docs/package-lock.json index 8f4440276..93f1fd239 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -274,12 +274,12 @@ } }, "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "dependencies": { - "fill-range": "^7.1.1" + "fill-range": "^7.0.1" }, "engines": { "node": ">=8" @@ -950,9 +950,9 @@ } }, "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -2703,12 +2703,12 @@ } }, "braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { - "fill-range": "^7.1.1" + "fill-range": "^7.0.1" } }, "browserslist": { @@ -3223,9 +3223,9 @@ "dev": true }, "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { "to-regex-range": "^5.0.1" @@ -4418,4 +4418,4 @@ } } } -} +} \ No newline at end of file From 495b3ae2078c6dc2b7b8a4effad9a2c47ed46d3d Mon Sep 17 00:00:00 2001 From: sk593 Date: Wed, 14 Aug 2024 13:24:17 -0700 Subject: [PATCH 36/40] nit Signed-off-by: sk593 --- docs/content/guides/tooling/bicepconfig/overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/guides/tooling/bicepconfig/overview/index.md b/docs/content/guides/tooling/bicepconfig/overview/index.md index d94c95953..68063a21a 100644 --- a/docs/content/guides/tooling/bicepconfig/overview/index.md +++ b/docs/content/guides/tooling/bicepconfig/overview/index.md @@ -12,7 +12,7 @@ To use the features provided by the official Bicep compiler with Radius, certain ## What is a `bicepconfig.json`? -The `bicepconfig.json` allows Bicep compiler to consume and use Radius-types stored in an OCI registry. There are two extensions that are enabled by default in the `bicepconfig.json` so that you can use Radius and AWS resources. The "radius" extension contains the schema information for all Radius-maintained resources, and the "aws" extension contains the schema information for AWS resources. You can optionally add any other settings that are relevant to your application. There are two ways to generate a `bicepconfig.json` with Radius. +The `bicepconfig.json` allows the Bicep compiler to consume and use Radius-types stored in an OCI registry. There are two extensions that are enabled by default in the `bicepconfig.json` so that you can use Radius and AWS resources. The "radius" extension contains the schema information for all Radius-maintained resources, and the "aws" extension contains the schema information for AWS resources. You can optionally add any other settings that are relevant to your application. There are two ways to generate a `bicepconfig.json` with Radius. ## Automatically generate a `bicepconfig.json` via `rad init` From 294216ba0951f10ce35dbce32c089dd7214d666c Mon Sep 17 00:00:00 2001 From: Reshma Abdul Rahim <61033581+Reshrahim@users.noreply.github.com> Date: Wed, 14 Aug 2024 16:27:40 -0400 Subject: [PATCH 37/40] Update docs/content/guides/tooling/bicepconfig/overview/index.md Co-authored-by: Shruthi Kumar Signed-off-by: Reshma Abdul Rahim <61033581+Reshrahim@users.noreply.github.com> --- docs/content/guides/tooling/bicepconfig/overview/index.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/content/guides/tooling/bicepconfig/overview/index.md b/docs/content/guides/tooling/bicepconfig/overview/index.md index 68063a21a..ac6bb911c 100644 --- a/docs/content/guides/tooling/bicepconfig/overview/index.md +++ b/docs/content/guides/tooling/bicepconfig/overview/index.md @@ -24,7 +24,11 @@ The `bicepconfig.json` allows the Bicep compiler to consume and use Radius-types ## Author and deploy Radius-types -{{< alert title="Replace import statements with extension" color="warning" >}} Radius is now merged with the official Bicep. If you have bicep files with `import radius as radius` statements please replace them with `extension radius` to use Radius-types . +{{< alert title="Replace import statements with extension" color="warning" >}} Radius is now merged with the official Bicep. If you have bicep files with the following import statements, please replace them with as needed. + + 1. `import radius as radius` should become `extension radius` to use Radius types + 1. `import aws as aws` should become `extension aws` to use AWS types + 1. `import kubernetes as kubernetes {}` should become `extension kubernetes with {} as kubernetes` to use Kubernetes types {{< /alert >}} Once you have a `bicepconfig.json` file in your application's directory, you can author and deploy Radius-types. From 8560b7a17f633967d03d34440a01fd8ed125f4ac Mon Sep 17 00:00:00 2001 From: Reshma Abdul Rahim <61033581+Reshrahim@users.noreply.github.com> Date: Wed, 14 Aug 2024 16:34:04 -0400 Subject: [PATCH 38/40] Update docs/content/guides/tooling/bicepconfig/overview/index.md Signed-off-by: Reshma Abdul Rahim <61033581+Reshrahim@users.noreply.github.com> --- docs/content/guides/tooling/bicepconfig/overview/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/guides/tooling/bicepconfig/overview/index.md b/docs/content/guides/tooling/bicepconfig/overview/index.md index ac6bb911c..5a90ceacc 100644 --- a/docs/content/guides/tooling/bicepconfig/overview/index.md +++ b/docs/content/guides/tooling/bicepconfig/overview/index.md @@ -24,7 +24,7 @@ The `bicepconfig.json` allows the Bicep compiler to consume and use Radius-types ## Author and deploy Radius-types -{{< alert title="Replace import statements with extension" color="warning" >}} Radius is now merged with the official Bicep. If you have bicep files with the following import statements, please replace them with as needed. +{{< alert title="Replace import statements with extension" color="warning" >}} Radius is now merged with the official Bicep. If you have bicep files with the following import statements, please replace them as needed. 1. `import radius as radius` should become `extension radius` to use Radius types 1. `import aws as aws` should become `extension aws` to use AWS types From 444fa75e2161a8e4240701644328b17dc56295d0 Mon Sep 17 00:00:00 2001 From: sk593 Date: Wed, 14 Aug 2024 13:37:15 -0700 Subject: [PATCH 39/40] nit Signed-off-by: sk593 --- docs/package-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/package-lock.json b/docs/package-lock.json index 93f1fd239..0b6554ded 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -4418,4 +4418,4 @@ } } } -} \ No newline at end of file +} From 376db0fe083d164b4018add7b57e2a1d440b8156 Mon Sep 17 00:00:00 2001 From: sk593 Date: Wed, 14 Aug 2024 14:40:56 -0700 Subject: [PATCH 40/40] update imports Signed-off-by: sk593 --- .../terraform/howto-custom-provider/snippets/env-complete.bicep | 2 +- .../recipes/terraform/howto-custom-provider/snippets/env.bicep | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/content/guides/recipes/terraform/howto-custom-provider/snippets/env-complete.bicep b/docs/content/guides/recipes/terraform/howto-custom-provider/snippets/env-complete.bicep index 5d163c92c..8e49cb3af 100644 --- a/docs/content/guides/recipes/terraform/howto-custom-provider/snippets/env-complete.bicep +++ b/docs/content/guides/recipes/terraform/howto-custom-provider/snippets/env-complete.bicep @@ -1,5 +1,5 @@ //SECRETSTORE -import radius as radius +extension radius @description('username for postgres db') @secure() diff --git a/docs/content/guides/recipes/terraform/howto-custom-provider/snippets/env.bicep b/docs/content/guides/recipes/terraform/howto-custom-provider/snippets/env.bicep index baa2814bd..b238d6d5a 100644 --- a/docs/content/guides/recipes/terraform/howto-custom-provider/snippets/env.bicep +++ b/docs/content/guides/recipes/terraform/howto-custom-provider/snippets/env.bicep @@ -1,5 +1,5 @@ //SECRETSTORE -import radius as radius +extension radius @description('username for PostgreSQL db') @secure()