From dae1487c43bcd0f7eaf9ed266b7ad07065bbf144 Mon Sep 17 00:00:00 2001 From: Valentin Widmer Date: Thu, 14 Dec 2023 11:49:02 +0100 Subject: [PATCH 01/25] add vpc lattice pattern --- patterns/vpc-lattice/README.md | 38 ++ patterns/vpc-lattice/assets/diagram.png | Bin 0 -> 72248 bytes .../vpc-lattice/assets/server-response.jpeg | Bin 0 -> 65916 bytes .../charts/demo-application/.helmignore | 23 ++ .../charts/demo-application/Chart.yaml | 5 + .../templates/deployment.yaml | 22 + .../templates/gateway-class.yaml | 6 + .../demo-application/templates/gateway.yaml | 11 + .../demo-application/templates/httproute.yaml | 20 + .../demo-application/templates/service.yaml | 11 + patterns/vpc-lattice/main.tf | 377 ++++++++++++++++++ patterns/vpc-lattice/outputs.tf | 4 + patterns/vpc-lattice/variables.tf | 0 patterns/vpc-lattice/versions.tf | 18 + 14 files changed, 535 insertions(+) create mode 100644 patterns/vpc-lattice/README.md create mode 100644 patterns/vpc-lattice/assets/diagram.png create mode 100644 patterns/vpc-lattice/assets/server-response.jpeg create mode 100644 patterns/vpc-lattice/charts/demo-application/.helmignore create mode 100644 patterns/vpc-lattice/charts/demo-application/Chart.yaml create mode 100644 patterns/vpc-lattice/charts/demo-application/templates/deployment.yaml create mode 100644 patterns/vpc-lattice/charts/demo-application/templates/gateway-class.yaml create mode 100644 patterns/vpc-lattice/charts/demo-application/templates/gateway.yaml create mode 100644 patterns/vpc-lattice/charts/demo-application/templates/httproute.yaml create mode 100644 patterns/vpc-lattice/charts/demo-application/templates/service.yaml create mode 100644 patterns/vpc-lattice/main.tf create mode 100644 patterns/vpc-lattice/outputs.tf create mode 100644 patterns/vpc-lattice/variables.tf create mode 100644 patterns/vpc-lattice/versions.tf diff --git a/patterns/vpc-lattice/README.md b/patterns/vpc-lattice/README.md new file mode 100644 index 0000000000..e2ce19544d --- /dev/null +++ b/patterns/vpc-lattice/README.md @@ -0,0 +1,38 @@ +# Amazon VPC Lattice + +This pattern demonstrates how to expose an EKS cluster hosted application to an internal consumer through Amazon VPC Lattice. + +- [Documentation](https://docs.aws.amazon.com/vpc-lattice/latest/ug/what-is-vpc-lattice.html) +- [AWS Gateway API Controller](https://www.gateway-api-controller.eks.aws.dev/) + +## Scenario + +With this soluton we showcase how to configure Amazon VPC Lattice using the AWS Gateway API Controller in order to manage Amazon VPC Lattice resources through native K8S Gateway API objects. This pattern deploys two distinct VPCs with a client application running in one of them and a server application in the other. The server application is deployed inside an EKS cluster and made exposed to the client application through Amazon VPC Lattice which establishes connectivity between the two applications. Further we demonstrate how to configure a custom domain name for the exposed service using Amazon Route53. + +![diagram](assets/diagram.png) + + +## Deploy + +See [here](https://aws-ia.github.io/terraform-aws-eks-blueprints/getting-started/#prerequisites) for the prerequisites and steps to deploy this pattern. + +## Validate + +In order to test the connectivty between the client and server, please follow the steps outlined below: + +1. Login to the management console of your AWS account and navigate to the EC2 service +2. Select your the EC2 Instance with the name **client**, click **Connect**, choose **Session Manager** and click **Connect** +3. Within the console test the connecvity to the server application by entering the following command: + + ```sh + curl -I http://server.example.com + ``` + + If everythign works as expected yous should receive the following response: + ![output](assets/server-response.jpeg) + +## Destroy + +{% + include-markdown "../../docs/_partials/destroy.md" +%} diff --git a/patterns/vpc-lattice/assets/diagram.png b/patterns/vpc-lattice/assets/diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..1c74adbfe59baccc70c49ffdff5f913ac01641b6 GIT binary patch literal 72248 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
  • $oQX?znBNepSt^D$)eR?>qD)ao?fz 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 bM5pJ}_$BWgOQ$?O1AfWNC`;!{8o&ErC6k>$ literal 0 HcmV?d00001 diff --git a/patterns/vpc-lattice/charts/demo-application/.helmignore b/patterns/vpc-lattice/charts/demo-application/.helmignore new file mode 100644 index 0000000000..0e8a0eb36f --- /dev/null +++ b/patterns/vpc-lattice/charts/demo-application/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/patterns/vpc-lattice/charts/demo-application/Chart.yaml b/patterns/vpc-lattice/charts/demo-application/Chart.yaml new file mode 100644 index 0000000000..7e6d29f9b3 --- /dev/null +++ b/patterns/vpc-lattice/charts/demo-application/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v2 +name: demo-application +description: A Helm chart to deploy the demo-application +type: application +version: 1.0.0 diff --git a/patterns/vpc-lattice/charts/demo-application/templates/deployment.yaml b/patterns/vpc-lattice/charts/demo-application/templates/deployment.yaml new file mode 100644 index 0000000000..a2dc1de5b6 --- /dev/null +++ b/patterns/vpc-lattice/charts/demo-application/templates/deployment.yaml @@ -0,0 +1,22 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: server + labels: + app: server +spec: + replicas: 2 + selector: + matchLabels: + app: server + template: + metadata: + labels: + app: server + spec: + containers: + - name: server + image: public.ecr.aws/x2j8p8w7/http-server:latest + env: + - name: PodName + value: "server pod" \ No newline at end of file diff --git a/patterns/vpc-lattice/charts/demo-application/templates/gateway-class.yaml b/patterns/vpc-lattice/charts/demo-application/templates/gateway-class.yaml new file mode 100644 index 0000000000..23f16a9ef0 --- /dev/null +++ b/patterns/vpc-lattice/charts/demo-application/templates/gateway-class.yaml @@ -0,0 +1,6 @@ +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: GatewayClass +metadata: + name: amazon-vpc-lattice +spec: + controllerName: application-networking.k8s.aws/gateway-api-controller \ No newline at end of file diff --git a/patterns/vpc-lattice/charts/demo-application/templates/gateway.yaml b/patterns/vpc-lattice/charts/demo-application/templates/gateway.yaml new file mode 100644 index 0000000000..ca0e22f54c --- /dev/null +++ b/patterns/vpc-lattice/charts/demo-application/templates/gateway.yaml @@ -0,0 +1,11 @@ +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: Gateway +metadata: + name: my-services + namespace: apps +spec: + gatewayClassName: amazon-vpc-lattice + listeners: + - name: http + protocol: HTTP + port: 80 \ No newline at end of file diff --git a/patterns/vpc-lattice/charts/demo-application/templates/httproute.yaml b/patterns/vpc-lattice/charts/demo-application/templates/httproute.yaml new file mode 100644 index 0000000000..862a2eeef1 --- /dev/null +++ b/patterns/vpc-lattice/charts/demo-application/templates/httproute.yaml @@ -0,0 +1,20 @@ +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: HTTPRoute +metadata: + name: server + namespace: apps +spec: + hostnames: + - server.example.com + parentRefs: + - name: my-services + sectionName: http + rules: + - backendRefs: + - name: server + kind: Service + port: 8090 + matches: + - path: + type: PathPrefix + value: / \ No newline at end of file diff --git a/patterns/vpc-lattice/charts/demo-application/templates/service.yaml b/patterns/vpc-lattice/charts/demo-application/templates/service.yaml new file mode 100644 index 0000000000..39680474aa --- /dev/null +++ b/patterns/vpc-lattice/charts/demo-application/templates/service.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: server +spec: + selector: + app: server + ports: + - protocol: TCP + port: 8090 + targetPort: 8090 \ No newline at end of file diff --git a/patterns/vpc-lattice/main.tf b/patterns/vpc-lattice/main.tf new file mode 100644 index 0000000000..7f215bcd4c --- /dev/null +++ b/patterns/vpc-lattice/main.tf @@ -0,0 +1,377 @@ +provider "aws" { + region = local.region +} + +data "aws_caller_identity" "current" {} + +data "aws_availability_zones" "available" {} + +provider "kubernetes" { + host = module.eks.cluster_endpoint + cluster_ca_certificate = base64decode(module.eks.cluster_certificate_authority_data) + + exec { + api_version = "client.authentication.k8s.io/v1beta1" + command = "aws" + # This requires the awscli to be installed locally where Terraform is executed + args = ["eks", "get-token", "--cluster-name", module.eks.cluster_name] + } +} + +provider "helm" { + kubernetes { + host = module.eks.cluster_endpoint + cluster_ca_certificate = base64decode(module.eks.cluster_certificate_authority_data) + + exec { + api_version = "client.authentication.k8s.io/v1beta1" + command = "aws" + # This requires the awscli to be installed locally where Terraform is executed + args = ["eks", "get-token", "--cluster-name", module.eks.cluster_name] + } + } +} + +locals { + name = basename(path.cwd) + region = "us-west-2" + + cluster_vpc_cidr = "10.0.0.0/16" + client_vpc_cidr = "10.1.0.0/16" + azs = slice(data.aws_availability_zones.available.names, 0, 3) + + tags = { + Blueprint = local.name + GithubRepo = "github.com/aws-ia/terraform-aws-eks-blueprints" + } +} + +################################################################################ +# Cluster +################################################################################ + +module "eks" { + source = "terraform-aws-modules/eks/aws" + version = "~> 19.21" + + cluster_name = local.name + cluster_version = "1.28" + cluster_endpoint_public_access = true + enable_irsa = true + + vpc_id = module.cluster_vpc.vpc_id + subnet_ids = module.cluster_vpc.private_subnets + + eks_managed_node_groups = { + initial = { + instance_types = ["m5.large"] + + min_size = 3 + max_size = 10 + desired_size = 3 + } + } + + tags = local.tags +} + +################################################################################ +# Cluster VPC +################################################################################ + +module "cluster_vpc" { + source = "terraform-aws-modules/vpc/aws" + version = "~> 5.4" + + name = local.name + cidr = local.cluster_vpc_cidr + + azs = local.azs + private_subnets = [for k, v in local.azs : cidrsubnet(local.cluster_vpc_cidr, 4, k)] + public_subnets = [for k, v in local.azs : cidrsubnet(local.cluster_vpc_cidr, 8, k + 48)] + + enable_nat_gateway = true + single_nat_gateway = true + + public_subnet_tags = { + "kubernetes.io/role/elb" = 1 + } + + private_subnet_tags = { + "kubernetes.io/role/internal-elb" = 1 + } + + tags = local.tags +} + +################################################################################ +# Client VPC +################################################################################ + +module "client_vpc" { + source = "terraform-aws-modules/vpc/aws" + version = "~> 5.4" + + name = local.name + cidr = local.client_vpc_cidr + + azs = local.azs + private_subnets = [for k, v in local.azs : cidrsubnet(local.client_vpc_cidr, 4, k)] + + tags = local.tags +} + +################################################################################ +# EKS Addons (AWS Gateway API Controller) +################################################################################ + +module "addons" { + source = "aws-ia/eks-blueprints-addons/aws" + version = "~> 1.12" + + cluster_name = module.eks.cluster_name + cluster_endpoint = module.eks.cluster_endpoint + cluster_version = module.eks.cluster_version + oidc_provider_arn = module.eks.oidc_provider_arn + + enable_aws_gateway_api_controller = true + aws_gateway_api_controller = { + chart_version = "v1.0.1" + create_namespace = true + namespace = "aws-application-networking-system" + source_policy_documents = [data.aws_iam_policy_document.gateway_api_controller.json] + set = [ + { + name = "clusterName" + value = module.eks.cluster_name + }, + { + name = "log.level" + value = "debug" + }, + { + name = "clusterVpcId" + value = module.cluster_vpc.vpc_id + }, ] + + } + + tags = local.tags +} + +resource "null_resource" "wait_for_crd_registration" { + triggers = { + build_number = "$(timestamp())" + } + + provisioner "local-exec" { + command = < + { + service = service + subnet_ids = module.client_vpc.private_subnets + private_dns_enabled = true + tags = { Name = "${local.name}-${service}" } + } + } + + security_group_ids = [module.endpoint_sg.security_group_id] + + tags = local.tags +} + +module "client_sg" { + source = "terraform-aws-modules/security-group/aws" + version = "~> 5.0" + + name = "client" + description = "Security Group for EC2 Instance Egress" + + vpc_id = module.client_vpc.vpc_id + + egress_with_cidr_blocks = [ + { + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = "0.0.0.0/0" + + }, + ] + + tags = local.tags +} + +module "endpoint_sg" { + source = "terraform-aws-modules/security-group/aws" + version = "~> 5.0" + + name = "ssm-endpoint" + description = "Security Group for EC2 Instance Egress" + + vpc_id = module.client_vpc.vpc_id + + ingress_with_cidr_blocks = [for subnet in module.client_vpc.private_subnets_cidr_blocks : + { + from_port = 443 + to_port = 443 + protocol = "TCP" + cidr_blocks = subnet + } + ] + + tags = local.tags +} \ No newline at end of file diff --git a/patterns/vpc-lattice/outputs.tf b/patterns/vpc-lattice/outputs.tf new file mode 100644 index 0000000000..b1a50fa2de --- /dev/null +++ b/patterns/vpc-lattice/outputs.tf @@ -0,0 +1,4 @@ +output "configure_kubectl" { + description = "Configure kubectl: make sure you're logged in with the correct AWS profile and run the following command to update your kubeconfig" + value = "aws eks update-kubeconfig --name ${module.eks.cluster_name} --alias ${module.eks.cluster_name} --region ${local.region}" +} \ No newline at end of file diff --git a/patterns/vpc-lattice/variables.tf b/patterns/vpc-lattice/variables.tf new file mode 100644 index 0000000000..e69de29bb2 diff --git a/patterns/vpc-lattice/versions.tf b/patterns/vpc-lattice/versions.tf new file mode 100644 index 0000000000..b26b395e43 --- /dev/null +++ b/patterns/vpc-lattice/versions.tf @@ -0,0 +1,18 @@ +terraform { + required_version = ">= 1.0" + + required_providers { + aws = { + source = "hashicorp/aws" + version = ">= 5.30" + } + helm = { + source = "hashicorp/helm" + version = ">= 2.9" + } + kubernetes = { + source = "hashicorp/kubernetes" + version = ">= 2.24" + } + } +} From f29f3a4e9b306e5750ac1dd99089d8024039d962 Mon Sep 17 00:00:00 2001 From: Valentin Widmer Date: Thu, 14 Dec 2023 11:53:32 +0100 Subject: [PATCH 02/25] Add vpc lattice pattern --- docs/patterns/vpc-lattice.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 docs/patterns/vpc-lattice.md diff --git a/docs/patterns/vpc-lattice.md b/docs/patterns/vpc-lattice.md new file mode 100644 index 0000000000..76cf5e399f --- /dev/null +++ b/docs/patterns/vpc-lattice.md @@ -0,0 +1,7 @@ +--- +title: Amazon VPC Lattice +--- + +{% + include-markdown "../../patterns/vpc-lattice/README.md" +%} From fe703c94d4145226b56c84096ab12d2c11d85236 Mon Sep 17 00:00:00 2001 From: Valentin Widmer Date: Thu, 14 Dec 2023 12:01:32 +0100 Subject: [PATCH 03/25] feat: Add pattern for Amazon VPC Lattice --- patterns/aws-vpc-cni-network-policy/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patterns/aws-vpc-cni-network-policy/main.tf b/patterns/aws-vpc-cni-network-policy/main.tf index 204407c62f..1b29e90d85 100644 --- a/patterns/aws-vpc-cni-network-policy/main.tf +++ b/patterns/aws-vpc-cni-network-policy/main.tf @@ -101,7 +101,7 @@ module "vpc" { } ################################################################################ -# EKS Addons (demo application) +# EKS Addons (demo application + lattice resources) ################################################################################ module "addons" { From be99939a8ff025c95a6b9c0347dbcb698a2691da Mon Sep 17 00:00:00 2001 From: Valentin Widmer Date: Thu, 14 Dec 2023 12:09:42 +0100 Subject: [PATCH 04/25] Add version constraint for null provider --- patterns/aws-vpc-cni-network-policy/versions.tf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/patterns/aws-vpc-cni-network-policy/versions.tf b/patterns/aws-vpc-cni-network-policy/versions.tf index 4b98ab82b1..d8ad33d5c8 100644 --- a/patterns/aws-vpc-cni-network-policy/versions.tf +++ b/patterns/aws-vpc-cni-network-policy/versions.tf @@ -14,5 +14,9 @@ terraform { source = "hashicorp/kubernetes" version = ">= 2.20" } + null = { + source = "hashicorp/null" + version = ">= 3.2" + } } } From 15a4f6c2af85c00cddbc5bfda8b601f18e9ecc77 Mon Sep 17 00:00:00 2001 From: Valentin Widmer Date: Tue, 19 Dec 2023 16:25:51 +0100 Subject: [PATCH 05/25] Small bugfixes and improvements --- patterns/aws-vpc-cni-network-policy/main.tf | 2 +- patterns/vpc-lattice/main.tf | 35 ++++++--------------- patterns/vpc-lattice/versions.tf | 4 +++ 3 files changed, 14 insertions(+), 27 deletions(-) diff --git a/patterns/aws-vpc-cni-network-policy/main.tf b/patterns/aws-vpc-cni-network-policy/main.tf index 1b29e90d85..204407c62f 100644 --- a/patterns/aws-vpc-cni-network-policy/main.tf +++ b/patterns/aws-vpc-cni-network-policy/main.tf @@ -101,7 +101,7 @@ module "vpc" { } ################################################################################ -# EKS Addons (demo application + lattice resources) +# EKS Addons (demo application) ################################################################################ module "addons" { diff --git a/patterns/vpc-lattice/main.tf b/patterns/vpc-lattice/main.tf index 7f215bcd4c..42c6a681a3 100644 --- a/patterns/vpc-lattice/main.tf +++ b/patterns/vpc-lattice/main.tf @@ -159,26 +159,17 @@ module "addons" { tags = local.tags } -resource "null_resource" "wait_for_crd_registration" { - triggers = { - build_number = "$(timestamp())" - } - - provisioner "local-exec" { - command = < Date: Tue, 19 Dec 2023 16:30:39 +0100 Subject: [PATCH 06/25] Fix typo --- patterns/vpc-lattice/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patterns/vpc-lattice/main.tf b/patterns/vpc-lattice/main.tf index 42c6a681a3..c946c2e78c 100644 --- a/patterns/vpc-lattice/main.tf +++ b/patterns/vpc-lattice/main.tf @@ -169,7 +169,7 @@ data "aws_iam_policy_document" "gateway_api_controller" { statement { sid = "" effect = "Allow" - resources = ["*"] # For testing purposes only - highly recommended limit access to specific resources for production usage + resources = ["*"] # For testing purposes only (highly recommended limit access to specific resources for production usage) actions = [ "vpc-lattice:*", From 3d73dfc7be59c66005679f0f0eb48a59dc125967 Mon Sep 17 00:00:00 2001 From: Valentin Widmer Date: Tue, 19 Dec 2023 17:24:53 +0100 Subject: [PATCH 07/25] Remove unused data source --- patterns/vpc-lattice/main.tf | 2 -- 1 file changed, 2 deletions(-) diff --git a/patterns/vpc-lattice/main.tf b/patterns/vpc-lattice/main.tf index c946c2e78c..3a524a522b 100644 --- a/patterns/vpc-lattice/main.tf +++ b/patterns/vpc-lattice/main.tf @@ -2,8 +2,6 @@ provider "aws" { region = local.region } -data "aws_caller_identity" "current" {} - data "aws_availability_zones" "available" {} provider "kubernetes" { From 39b20d5c2663486344328bbad0d2b7444cdfd856 Mon Sep 17 00:00:00 2001 From: Valentin Widmer Date: Thu, 21 Dec 2023 13:23:46 +0100 Subject: [PATCH 08/25] Replace waiting condition and remove unused code blocks --- patterns/aws-vpc-cni-network-policy/versions.tf | 4 ---- patterns/vpc-lattice/main.tf | 11 ++--------- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/patterns/aws-vpc-cni-network-policy/versions.tf b/patterns/aws-vpc-cni-network-policy/versions.tf index d8ad33d5c8..4b98ab82b1 100644 --- a/patterns/aws-vpc-cni-network-policy/versions.tf +++ b/patterns/aws-vpc-cni-network-policy/versions.tf @@ -14,9 +14,5 @@ terraform { source = "hashicorp/kubernetes" version = ">= 2.20" } - null = { - source = "hashicorp/null" - version = ">= 3.2" - } } } diff --git a/patterns/vpc-lattice/main.tf b/patterns/vpc-lattice/main.tf index 3a524a522b..bf415ae060 100644 --- a/patterns/vpc-lattice/main.tf +++ b/patterns/vpc-lattice/main.tf @@ -151,16 +151,11 @@ module "addons" { name = "clusterVpcId" value = module.cluster_vpc.vpc_id }, ] - + wait = true } - tags = local.tags -} - -resource "time_sleep" "wait_for_crd_registration" { - depends_on = [module.addons] - create_duration = "30s" + tags = local.tags } data "aws_iam_policy_document" "gateway_api_controller" { @@ -195,8 +190,6 @@ resource "helm_release" "demo_application" { chart = "./charts/demo-application" create_namespace = true namespace = "apps" - - depends_on = [time_sleep.wait_for_crd_registration] } ################################################################################ From 403868507219511c90b36754bc6fb4ac16051672 Mon Sep 17 00:00:00 2001 From: Valentin Widmer Date: Thu, 21 Dec 2023 13:29:24 +0100 Subject: [PATCH 09/25] Converted response image into code --- patterns/vpc-lattice/README.md | 9 ++++++++- .../vpc-lattice/assets/server-response.jpeg | Bin 65916 -> 0 bytes 2 files changed, 8 insertions(+), 1 deletion(-) delete mode 100644 patterns/vpc-lattice/assets/server-response.jpeg diff --git a/patterns/vpc-lattice/README.md b/patterns/vpc-lattice/README.md index e2ce19544d..d773a88bdc 100644 --- a/patterns/vpc-lattice/README.md +++ b/patterns/vpc-lattice/README.md @@ -25,7 +25,14 @@ In order to test the connectivty between the client and server, please follow th 3. Within the console test the connecvity to the server application by entering the following command: ```sh - curl -I http://server.example.com + $ curl -I http://server.example.com + HTTP/1.1 200 OK + date: Thu, 14 Dec 2023 08:29:39 GMT + content-length: 54 + content-type: text/plain; charset=utf-8 + + Requesting to Pod(server-6f487b9bcd-5qm4v): server pod + ``` If everythign works as expected yous should receive the following response: diff --git a/patterns/vpc-lattice/assets/server-response.jpeg b/patterns/vpc-lattice/assets/server-response.jpeg deleted file mode 100644 index 32058e26ec612f1e02c6dab58dacb01292086321..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65916 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
  • $oQX?znBNepSt^D$)eR?>qD)ao?fz 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 bM5pJ}_$BWgOQ$?O1AfWNC`;!{8o&ErC6k>$ From d556fa051c0a6e735db362a9ed268ddae56abf54 Mon Sep 17 00:00:00 2001 From: Valentin Widmer Date: Thu, 21 Dec 2023 13:49:57 +0100 Subject: [PATCH 10/25] Fix format issue --- patterns/vpc-lattice/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patterns/vpc-lattice/README.md b/patterns/vpc-lattice/README.md index d773a88bdc..a8240ecb3c 100644 --- a/patterns/vpc-lattice/README.md +++ b/patterns/vpc-lattice/README.md @@ -42,4 +42,4 @@ In order to test the connectivty between the client and server, please follow th {% include-markdown "../../docs/_partials/destroy.md" -%} +%} \ No newline at end of file From 2de06d629b6de8b05fa371037e88ecdf276326a3 Mon Sep 17 00:00:00 2001 From: Valentin Widmer Date: Fri, 22 Dec 2023 17:25:59 +0100 Subject: [PATCH 11/25] Add missing dependency --- patterns/vpc-lattice/main.tf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/patterns/vpc-lattice/main.tf b/patterns/vpc-lattice/main.tf index bf415ae060..232332756b 100644 --- a/patterns/vpc-lattice/main.tf +++ b/patterns/vpc-lattice/main.tf @@ -190,6 +190,8 @@ resource "helm_release" "demo_application" { chart = "./charts/demo-application" create_namespace = true namespace = "apps" + + depends_on = [module.addons] } ################################################################################ From fc1bd856896d79127108d863e3e0878264c216a5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 22 Dec 2023 07:43:25 -0500 Subject: [PATCH 12/25] chore(deps): Bump github/codeql-action from 3.22.11 to 3.22.12 (#1850) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/scorecards.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index a79ba35311..975049c1be 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -71,6 +71,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@b374143c1149a9115d881581d29b8390bbcbb59c # v3.22.11 + uses: github/codeql-action/upload-sarif@012739e5082ff0c22ca6d6ab32e07c36df03c4a4 # v3.22.12 with: sarif_file: results.sarif From be4605470033e0fc4287b97744ed388be0c03d15 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jan 2024 07:21:05 -0500 Subject: [PATCH 13/25] chore(deps): Bump actions/dependency-review-action from 3.1.4 to 3.1.5 (#1854) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/dependency-review.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 7e7129fe19..f416ae29c6 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -24,4 +24,4 @@ jobs: - name: 'Checkout Repository' uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.5.4 - name: 'Dependency Review' - uses: actions/dependency-review-action@01bc87099ba56df1e897b6874784491ea6309bc4 # v3.1.4 + uses: actions/dependency-review-action@c74b580d73376b7750d3d2a50bfb8adc2c937507 # v3.1.5 From 71e838edee90a3fc7496b168f514816d8b324429 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Jan 2024 07:47:57 -0500 Subject: [PATCH 14/25] chore(deps): Bump github/codeql-action from 3.22.12 to 3.23.0 (#1855) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/scorecards.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index 975049c1be..ec850c7f4f 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -71,6 +71,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@012739e5082ff0c22ca6d6ab32e07c36df03c4a4 # v3.22.12 + uses: github/codeql-action/upload-sarif@e5f05b81d5b6ff8cfa111c80c22c5fd02a384118 # v3.23.0 with: sarif_file: results.sarif From fb7305bc6f33ae954207ee0e8df8ef172c019352 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Jan 2024 08:07:21 -0500 Subject: [PATCH 15/25] chore(deps): Bump actions/upload-artifact from 4.0.0 to 4.1.0 (#1857) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/scorecards.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index ec850c7f4f..51e4a2b6a8 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -63,7 +63,7 @@ jobs: # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF # format to the repository Actions tab. - name: "Upload artifact" - uses: actions/upload-artifact@c7d193f32edcb7bfad88892161225aeda64e9392 # v4.0.0 + uses: actions/upload-artifact@1eb3cb2b3e0f29609092a73eb033bb759a334595 # v4.1.0 with: name: SARIF file path: results.sarif From cbd827c72924bf2dab22501a961caf55eb424a73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Allamand?= Date: Mon, 15 Jan 2024 14:08:48 +0100 Subject: [PATCH 16/25] fix: Change image path in blue/green pattern (#1856) --- patterns/blue-green-upgrade/README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/patterns/blue-green-upgrade/README.md b/patterns/blue-green-upgrade/README.md index 9c4182b0d0..29444c7f7d 100644 --- a/patterns/blue-green-upgrade/README.md +++ b/patterns/blue-green-upgrade/README.md @@ -36,7 +36,7 @@ We are leveraging [the existing EKS Blueprints Workloads GitHub repository sampl See the Architecture of what we are building

    - +

    Our sample is composed of four main directory: @@ -55,7 +55,7 @@ We are leveraging the [gitops-bridge-argocd-bootstrap](https://github.com/gitops The gitops-bridge will create a secret in the EKS cluster containing all metadatas that will be dynamically used by ArgoCD ApplicationSets at deployment time, so that we can adapt their configuration to our EKS cluster context. - + Our objective here is to show you how Application teams and Platform teams can configure their infrastructure and workloads so that application teams are able to deploy autonomously their workloads to the EKS clusters thanks to ArgoCD, and platform team can keep the control of migrating production workloads from one cluster to another without having to synchronized operations with applications teams, or asking them to build a complicated CD pipeline. @@ -71,7 +71,7 @@ Our objective here is to show you how Application teams and Platform teams can c - Before moving to the next step, you will need to register a parent domain with AWS Route 53 (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html) in case you don’t have one created yet. - Accessing GitOps git repositories with SSH access requiring an SSH key for authentication. In this example our workloads repositories are stored in GitHub, you can see in GitHub documentation on how to [connect with SSH](https://docs.github.com/en/authentication/connecting-to-github-with-ssh). - Your GitHub private ssh key value is supposed to be stored in plain text in AWS Secret Manager in a secret named `github-blueprint-ssh-key`, but you can change it using the terraform variable `workload_repo_secret` in [terraform.tfvars.example](terraform.tfvars.example). - - + - ## Quick Start @@ -140,7 +140,7 @@ Our clusters are configured with existing ArgoCD Github repository that is synch - [Workloads repository](https://github.com/aws-samples/eks-blueprints-workloads)

    - +

    We are going to look after one of the application deployed from the workload repository as example to demonstrate our migration automation: the `Burnham` workload in the team-burnham namespace. @@ -266,11 +266,11 @@ Now that we have setup our 2 clusters, deployed with ArgoCD and that the weighed 1. At first, 100% of burnham traffic is set to the **eks-blue** cluster, this is controlled from the `eks-blue/main.tf` & `eks-green/main.tf` files with the parameter `route53_weight = "100"`. The same parameter is set to 0 in cluster eks-green.

    - +

    Which correspond to :

    - +

    All requests to our endpoint should response with `eks-blueprint-blue` we can test it with the following command: @@ -289,11 +289,11 @@ eks-blueprint-blue 2. Let's change traffic to 50% eks-blue and 50% eks-green by activating also value 100 in **eks-green** locals.tf (`route53_weight = "100"`) and let's `terraform apply` to let terraform update the configuration

    - +

    Which correspond to :

    - +

    All records have weight of 100, so we will have 50% requests on each clusters. @@ -325,11 +325,11 @@ The default TTL is for 60 seconds, and you have 50% chance to have blue or green 3. Now that we see that our green cluster is taking requests correctly, we can update the eks-blue cluster configuration to have the weight to 0 and apply again. after a few moment, your route53 records should look like the below screenshot, and all requests should now reach eks-green cluster.

    - +

    Which correspond to :

    - +

    At this step, once all DNS TTL will be up to date, all the traffic will be coming on the eks-green cluster. You can either, delete the eks-blue cluster, or decide to make upgrades on the blue cluster and send back traffic on eks-blue afterward, or simply keep it as a possibility for rollback if needed. From 64860358074d1efe86e2e50587834e2f2b5b4f73 Mon Sep 17 00:00:00 2001 From: Valentin Widmer Date: Tue, 16 Jan 2024 10:40:26 +0100 Subject: [PATCH 17/25] Minor fixes and improvements --- patterns/vpc-lattice/README.md | 5 +---- patterns/vpc-lattice/main.tf | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/patterns/vpc-lattice/README.md b/patterns/vpc-lattice/README.md index a8240ecb3c..8de670084b 100644 --- a/patterns/vpc-lattice/README.md +++ b/patterns/vpc-lattice/README.md @@ -25,7 +25,7 @@ In order to test the connectivty between the client and server, please follow th 3. Within the console test the connecvity to the server application by entering the following command: ```sh - $ curl -I http://server.example.com + $ curl -i http://server.example.com HTTP/1.1 200 OK date: Thu, 14 Dec 2023 08:29:39 GMT content-length: 54 @@ -35,9 +35,6 @@ In order to test the connectivty between the client and server, please follow th ``` - If everythign works as expected yous should receive the following response: - ![output](assets/server-response.jpeg) - ## Destroy {% diff --git a/patterns/vpc-lattice/main.tf b/patterns/vpc-lattice/main.tf index 232332756b..bb97073942 100644 --- a/patterns/vpc-lattice/main.tf +++ b/patterns/vpc-lattice/main.tf @@ -134,7 +134,7 @@ module "addons" { enable_aws_gateway_api_controller = true aws_gateway_api_controller = { - chart_version = "v1.0.1" + chart_version = "v1.0.2" create_namespace = true namespace = "aws-application-networking-system" source_policy_documents = [data.aws_iam_policy_document.gateway_api_controller.json] From 90deacebcec16a37659cd7a0ffc058b1648e97a2 Mon Sep 17 00:00:00 2001 From: Valentin Widmer Date: Tue, 16 Jan 2024 10:50:33 +0100 Subject: [PATCH 18/25] Re-run pre-commit hooks --- patterns/vpc-lattice/README.md | 4 ++-- .../charts/demo-application/templates/deployment.yaml | 2 +- .../charts/demo-application/templates/gateway-class.yaml | 2 +- .../charts/demo-application/templates/gateway.yaml | 2 +- .../charts/demo-application/templates/httproute.yaml | 2 +- .../charts/demo-application/templates/service.yaml | 2 +- patterns/vpc-lattice/main.tf | 2 +- patterns/vpc-lattice/outputs.tf | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/patterns/vpc-lattice/README.md b/patterns/vpc-lattice/README.md index 8de670084b..ed0c46eb0c 100644 --- a/patterns/vpc-lattice/README.md +++ b/patterns/vpc-lattice/README.md @@ -7,7 +7,7 @@ This pattern demonstrates how to expose an EKS cluster hosted application to an ## Scenario -With this soluton we showcase how to configure Amazon VPC Lattice using the AWS Gateway API Controller in order to manage Amazon VPC Lattice resources through native K8S Gateway API objects. This pattern deploys two distinct VPCs with a client application running in one of them and a server application in the other. The server application is deployed inside an EKS cluster and made exposed to the client application through Amazon VPC Lattice which establishes connectivity between the two applications. Further we demonstrate how to configure a custom domain name for the exposed service using Amazon Route53. +With this soluton we showcase how to configure Amazon VPC Lattice using the AWS Gateway API Controller in order to manage Amazon VPC Lattice resources through native K8S Gateway API objects. This pattern deploys two distinct VPCs with a client application running in one of them and a server application in the other. The server application is deployed inside an EKS cluster and made exposed to the client application through Amazon VPC Lattice which establishes connectivity between the two applications. Further we demonstrate how to configure a custom domain name for the exposed service using Amazon Route53. ![diagram](assets/diagram.png) @@ -39,4 +39,4 @@ In order to test the connectivty between the client and server, please follow th {% include-markdown "../../docs/_partials/destroy.md" -%} \ No newline at end of file +%} diff --git a/patterns/vpc-lattice/charts/demo-application/templates/deployment.yaml b/patterns/vpc-lattice/charts/demo-application/templates/deployment.yaml index a2dc1de5b6..1b8e744907 100644 --- a/patterns/vpc-lattice/charts/demo-application/templates/deployment.yaml +++ b/patterns/vpc-lattice/charts/demo-application/templates/deployment.yaml @@ -19,4 +19,4 @@ spec: image: public.ecr.aws/x2j8p8w7/http-server:latest env: - name: PodName - value: "server pod" \ No newline at end of file + value: "server pod" diff --git a/patterns/vpc-lattice/charts/demo-application/templates/gateway-class.yaml b/patterns/vpc-lattice/charts/demo-application/templates/gateway-class.yaml index 23f16a9ef0..d4a925745f 100644 --- a/patterns/vpc-lattice/charts/demo-application/templates/gateway-class.yaml +++ b/patterns/vpc-lattice/charts/demo-application/templates/gateway-class.yaml @@ -3,4 +3,4 @@ kind: GatewayClass metadata: name: amazon-vpc-lattice spec: - controllerName: application-networking.k8s.aws/gateway-api-controller \ No newline at end of file + controllerName: application-networking.k8s.aws/gateway-api-controller diff --git a/patterns/vpc-lattice/charts/demo-application/templates/gateway.yaml b/patterns/vpc-lattice/charts/demo-application/templates/gateway.yaml index ca0e22f54c..29e842cbeb 100644 --- a/patterns/vpc-lattice/charts/demo-application/templates/gateway.yaml +++ b/patterns/vpc-lattice/charts/demo-application/templates/gateway.yaml @@ -8,4 +8,4 @@ spec: listeners: - name: http protocol: HTTP - port: 80 \ No newline at end of file + port: 80 diff --git a/patterns/vpc-lattice/charts/demo-application/templates/httproute.yaml b/patterns/vpc-lattice/charts/demo-application/templates/httproute.yaml index 862a2eeef1..e708960296 100644 --- a/patterns/vpc-lattice/charts/demo-application/templates/httproute.yaml +++ b/patterns/vpc-lattice/charts/demo-application/templates/httproute.yaml @@ -17,4 +17,4 @@ spec: matches: - path: type: PathPrefix - value: / \ No newline at end of file + value: / diff --git a/patterns/vpc-lattice/charts/demo-application/templates/service.yaml b/patterns/vpc-lattice/charts/demo-application/templates/service.yaml index 39680474aa..e6fed42551 100644 --- a/patterns/vpc-lattice/charts/demo-application/templates/service.yaml +++ b/patterns/vpc-lattice/charts/demo-application/templates/service.yaml @@ -8,4 +8,4 @@ spec: ports: - protocol: TCP port: 8090 - targetPort: 8090 \ No newline at end of file + targetPort: 8090 diff --git a/patterns/vpc-lattice/main.tf b/patterns/vpc-lattice/main.tf index bb97073942..c97ac3e641 100644 --- a/patterns/vpc-lattice/main.tf +++ b/patterns/vpc-lattice/main.tf @@ -350,4 +350,4 @@ module "endpoint_sg" { ] tags = local.tags -} \ No newline at end of file +} diff --git a/patterns/vpc-lattice/outputs.tf b/patterns/vpc-lattice/outputs.tf index b1a50fa2de..c952ef95d0 100644 --- a/patterns/vpc-lattice/outputs.tf +++ b/patterns/vpc-lattice/outputs.tf @@ -1,4 +1,4 @@ output "configure_kubectl" { description = "Configure kubectl: make sure you're logged in with the correct AWS profile and run the following command to update your kubeconfig" value = "aws eks update-kubeconfig --name ${module.eks.cluster_name} --alias ${module.eks.cluster_name} --region ${local.region}" -} \ No newline at end of file +} From afb29ae307891f30425431760d89d477139176f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Allamand?= Date: Mon, 15 Jan 2024 17:24:12 +0000 Subject: [PATCH 19/25] using external-dns to create DNS records --- patterns/vpc-lattice/main.tf | 73 ++++++++++++++++++++++++++++++------ 1 file changed, 62 insertions(+), 11 deletions(-) diff --git a/patterns/vpc-lattice/main.tf b/patterns/vpc-lattice/main.tf index c97ac3e641..e042877055 100644 --- a/patterns/vpc-lattice/main.tf +++ b/patterns/vpc-lattice/main.tf @@ -2,7 +2,14 @@ provider "aws" { region = local.region } -data "aws_availability_zones" "available" {} +data "aws_availability_zones" "available" { + #Do not include local zones + filter { + name = "opt-in-status" + values = ["opt-in-not-required"] + } +} + provider "kubernetes" { host = module.eks.cluster_endpoint @@ -150,10 +157,60 @@ module "addons" { { name = "clusterVpcId" value = module.cluster_vpc.vpc_id - }, ] + }, + { + name = "defaultServiceNetwork" + value = "" + }, + { + name = "latticeEndpoint" + value = "https://vpc-lattice.${local.region}.amazonaws.com" + } + ] wait = true } - + enable_external_dns = true + external_dns_route53_zone_arns = try([aws_route53_zone.primary.arn], []) + external_dns = { + set = [ + { + name = "domainFilters[0]" + value = "example.com" + }, + { + name = "policy" + value = "sync" + }, + { + name = "sources[0]" + value = "crd" + }, + { + name = "sources[1]" + value = "ingress" + }, + { + name = "txtPrefix" + value = module.eks.cluster_name + }, + { + name = "extraArgs[0]" + value = "--crd-source-apiversion=externaldns.k8s.io/v1alpha1" + }, + { + name = "extraArgs[1]" + value = "--crd-source-kind=DNSEndpoint" + }, + { + name = "crdSourceApiversion" + value = "externaldns.k8s.io/v1alpha1" + }, + { + name = "crdSourceKind" + value = "DNSEndpoint" + } + ] + } tags = local.tags } @@ -246,6 +303,8 @@ data "aws_vpclattice_service" "server" { ################################################################################ # Custom domain name for VPC lattice service +# Records will be created by external-dns using DNSEndpoint objects which +# are created by the VPC Lattice gateway api controller when creating HTTPRoutes ################################################################################ resource "aws_route53_zone" "primary" { @@ -258,14 +317,6 @@ resource "aws_route53_zone" "primary" { tags = local.tags } -resource "aws_route53_record" "record" { - zone_id = aws_route53_zone.primary.zone_id - name = "server.example.com" - type = "CNAME" - ttl = 300 - records = [lookup(data.aws_vpclattice_service.server.dns_entry[0], "domain_name", "")] -} - ################################################################################ # Client application (with private access over SSM Systems Manager) ################################################################################ From a6a4c429142b798c80918ab0e3557689c319309e Mon Sep 17 00:00:00 2001 From: Valentin Widmer Date: Tue, 16 Jan 2024 14:05:54 +0100 Subject: [PATCH 20/25] Re-run pre-commit --- patterns/vpc-lattice/main.tf | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/patterns/vpc-lattice/main.tf b/patterns/vpc-lattice/main.tf index e042877055..1fb532e36f 100644 --- a/patterns/vpc-lattice/main.tf +++ b/patterns/vpc-lattice/main.tf @@ -159,18 +159,18 @@ module "addons" { value = module.cluster_vpc.vpc_id }, { - name = "defaultServiceNetwork" + name = "defaultServiceNetwork" value = "" }, { - name = "latticeEndpoint" + name = "latticeEndpoint" value = "https://vpc-lattice.${local.region}.amazonaws.com" } ] wait = true } - enable_external_dns = true - external_dns_route53_zone_arns = try([aws_route53_zone.primary.arn], []) + enable_external_dns = true + external_dns_route53_zone_arns = try([aws_route53_zone.primary.arn], []) external_dns = { set = [ { @@ -293,14 +293,6 @@ resource "time_sleep" "wait_for_lattice_resources" { create_duration = "120s" } -data "aws_vpclattice_service" "server" { - name = "server-apps" - - tags = local.tags - - depends_on = [time_sleep.wait_for_lattice_resources] -} - ################################################################################ # Custom domain name for VPC lattice service # Records will be created by external-dns using DNSEndpoint objects which From fe90f4f71283cc8ce227b3e5259cce5940abaec6 Mon Sep 17 00:00:00 2001 From: Valentin Widmer Date: Tue, 16 Jan 2024 17:32:06 +0100 Subject: [PATCH 21/25] Update diagram for readme.md --- patterns/vpc-lattice/README.md | 2 +- patterns/vpc-lattice/assets/diagram.png | Bin 72248 -> 159372 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/patterns/vpc-lattice/README.md b/patterns/vpc-lattice/README.md index ed0c46eb0c..58ed00c581 100644 --- a/patterns/vpc-lattice/README.md +++ b/patterns/vpc-lattice/README.md @@ -7,7 +7,7 @@ This pattern demonstrates how to expose an EKS cluster hosted application to an ## Scenario -With this soluton we showcase how to configure Amazon VPC Lattice using the AWS Gateway API Controller in order to manage Amazon VPC Lattice resources through native K8S Gateway API objects. This pattern deploys two distinct VPCs with a client application running in one of them and a server application in the other. The server application is deployed inside an EKS cluster and made exposed to the client application through Amazon VPC Lattice which establishes connectivity between the two applications. Further we demonstrate how to configure a custom domain name for the exposed service using Amazon Route53. +With this soluton we showcase how to configure Amazon VPC Lattice using the AWS Gateway API Controller in order to manage Amazon VPC Lattice resources through native K8S Gateway API objects. This pattern deploys two distinct VPCs with a client application running in one of them and a server application in the other. The server application is deployed inside an EKS cluster and made exposed to the client application through Amazon VPC Lattice which establishes connectivity between the two applications. Further we demonstrate how to configure a custom domain name for the exposed service using Amazon Route53 and the external-dns project. ![diagram](assets/diagram.png) diff --git a/patterns/vpc-lattice/assets/diagram.png b/patterns/vpc-lattice/assets/diagram.png index 1c74adbfe59baccc70c49ffdff5f913ac01641b6..6cea6fd4892916092ff97b01fcc4acd121aa1028 100644 GIT binary patch literal 159372 zcmeEu^;?u{*R~=cp&%eApwb~JAl*nQNJtJT$dChwNH>Z~gLIb?5(7iGA|;LFkVRaeth@)?0tNH!25&8feQEB_qx}$*168}T==Uf$z8^yz&m&D+~xc7(vQxa!B7H_CIeS83kCrLJ1g zzy02>_`;CqT zw(A}f_G>$NM>!=n<5do?yw71$pF58uaSr3kfBBNy43mYXYd(mV$@kyBPaES6Y7FPU zUEud+eQuCQBzAK>Rl4|(p9Q{EB60rKf4Pg_7dekJ6MJsTJ;cXe=$~%*$G1+2?ETx_ zN>I08UYWPQl-MWvpDX|G09=``y!bDnIfo(0=q-@)Mnc2|NWqUJmfRQb9Q1a9|dpz zTT+~}OLqIWz)^=i0r?<^-L?3~mH+pbAZ0H6d}bdJBInsCtqxt=TIdIjT+`hVE6!q6 zm+-s=eIgkMu7nZEw-ZDmoG{~$r;`r`sbD!KfcG={Vcb5YRzvY=_g=@7^O#01X6TmN znD%F@nxZ=Sl`CxtUP=_;JXH7cabn@R}B7F;P z#;;~Yk>bbQY~BC1*+RvC;UdAMn^N7$qQR%k5w|{ZrD!dkb=SJ?Sfai#rCi6=6J9Ne zAgy3|c6_)DpDXE8;z7-I7GEDU^zuLrKM9Rvd>B82*`5a}Ry;dBc{0D$mlayMKNV>I z%tq<0E=G-EX17~MEZ1CSf=z(KJ1?qdtu%{HH_|R958#BEWBke%2|tjehH0GQ5wFpS z;p2X#;&3UqlXpljVxyl}WVFQMiB7qVwN4q#;;cX|OQ~UcYg{6(Kw12xBu5LLjI=Hv z-x5tM=@z#hxof}pK4#>S9g{S8qS3pS{miR%fu%2o486v;7kV=~HujKaRQBDXdov~v zbZT5doZAx>hVFOctLk7rI62`S)l$F@e3-z;ZclMyDyzwn^P6y|r$1c)r z?&AeQHvY)!wW@Z5*8vppy2B5GbFoj_9-e_qbokc>lVNWwx=g<$QMz+Y@2R9rEj@$q zI%`2i!qq;k{7yGQq_IF2ZZS#dF_+YUHS!co^W9#|O4u|Tw zziOo`(Tm))Yb27DY9$a}3Cni*3b(S8Og}CiGDz4iLTvQXN^v!xzj)*E`eoaNQpyR`uqqXWmWiOCT9sXGI&De%g zH$9G4%Vo(o;(}oHhNjQ*7I)w8t=)7QE7IflINIgCrvF^EYMe<#>{_>FgJjQt>eJOb zpuS?%30%7T<7grjzI`SXFEK9T&(%-wOcb=|e!J+=Om3zf7?Txj#ATph7Uc|q`&Db=^b@6oMd|FX zhDLo2-ESr1?0@tgiBClPYt`!=;Lj}~4pQrJ%iR1&xAu0145?THme!@oQ|aVFO2nf# zPC9tHF_Y!6O9=g6**G)G|6d#i_)gTs4}J9Np~Kun(?YM2Vz^hBh`Jf?sYawW=(*H8_z%X^hJ(d z<+HXY^B?l5!d};|+%)Y@wmws0G->Cun`&%DE>GDnq`juV6*lTcKo$B5^o3c~ ztPCSk|3Lgl{kDacKZ=`%I5%xLe8^!KHKT&7X|`=wr6UzmblI(x~tMkGZv?sL}d zH@F`zX3e#8*57T9;Ur9~hrKI#A+sw9J~yC)dF9|M53856zOYNP)g?oZ9gS}uIYn)m zb02aG5Ic-|+1|x$umDNI8o(&`LNZC=H#TQmib$~L`yVZ6|jmT6Gy zx=TJ#{K2fr@X6=o2Av{>naxaHmc6 zDw)vR2qmE}iC(7%w}aIUhT95vUSmFk-f-h_n;pGLUy{4A^!+u}Emuz{Z{7A+g+VIA zXf9Q2GxdI6RlXVo<81D&$hf@o_uo~54$>BE+nX-4Yi9H$T;i_vNJ(Vu+%&a+*(pZF z#aqs)ad#~qiM>)&nNJjPK?ttbpt$)MAzz*^er0&%)m9gCj>`5s^CP)4s~JxE+$196 zZ_|Ejmj`mGpDCnXndG!rpgt(}*zT2+b&%&KZK3k2soZG5r*nu|HRJtCZI1aDu){-_ zUmrv2S3f~AlJ02}sa9-)ZJpo-W*c4#*Av+XOj??&7YIdE)`roQzvG_m3g{wyy1i70 z$nf_Pkt*lgL&Z;rTfa_&CU%KkYWc8gZ^F&G*-ZtFedOJ7+dE>ya$L;QXqbs1-$jmA ziY;8e$$by^=L0d!(y!U%ysPKF*_5fAA{Hkg^Jy>bXbBWTZk^Ugj8$t~xE||uM>Y!$ z4?jdu@Y^JYpS1!g*sAwhY#E}d4vRo{&PxP zr~%BrxR6NvqkiMP@W#aQ7d0ZUAf}xSPEwSYhk-Gs@}BRp$Lx#o8W+?v>+(?>VJnLW zOZhNzE@NrE(8EHEd}Yy{Nb)<6CBEe_w2E)F(wP=_@&yW)6g_E)r?jo%Dh$qZFj-Yw z*aYPzp61@GNXj{IDaGmLV0@4L+o8(cFUev`1V|kCW!sogH=NH-_H+|&lg5kgjoII` ze#&jf;YHQfkRs$@Sy`}CmwL3*CA`koLaWwfR?L<1Xtfw50qTnme$J4-Q&RqHc#b~3 z>KxrDOD#Xy*J29jSjms`|050j9)Oad0>3o>>u>(A;0_rJYpFBLtQiRdf4q&isqlCqvXP&m#JTi$#3(4AG+ zz5Zku|Ees5?1P?AT1D`e(K*l_@EhMXlo(BUDRDSAMr^Mj`^diUyu!nLO^O#hY%R&J zHkcofW@*PXng(-V*S4T}P9uVJa=y$9=QsEQY5sduBu)O9t(uV+ zS|uLYOKI9ojJcZZwpJ8<<5a~6naVZ_D)U(Ol}zz%zX{#Dd{OxH@Ta&afG(U;vuY2w zO^aGs$CzwAp>LT;5TYukb>b#;^h$m=w#*4wnkh}O)LZTEo5EuBp7~d66|S)J@9rD)o(njDt8lF zVxE-eXCSmk*z%(VfNrUx4SE9pvg;j+AK`1g-~%Z(jXOO#iV-eG;4nlU@l3pUmEB=T z3em4~cd3lgkg$JonU8r7MZJ6#d9ig*G)^V6ys-|f6R2avbDQ#ip4ej%XVCdj6bl>zlK^@GejIxc%1d_?L z^`KG=k*-<>F3^=0xmzypNOw+Xaud`WrL3o8g8jv3WH>pGr7lDHS(ir)ANP_`Jp6*W*R&US|$wG$Llo5fqY$T&7s)J{cFH1!V(hMePHm!QoA-q&GV8%o_24VDObdIl;$LrD>cP4#IgvtGs;JIIyI-`O|MO zViF2k^zQIio}U9M(RpiD!ZtoC5$C7bX4MH3@w`@wN4u*Rij5hZu@BlFu!Wt-iAiBB zgE92#s4RSS50S9>dPH=0_zA8xLBkw%x2IQh&B}G(<1y4HnuSE2)Ub`2Q1`$(1Z_Ch zTkgUa(iUgVrOfZJ{G9!iUd(a!j&fdVPnSi;+!T6VD3wCn5px#%B!p|kCF}v3Lm2#U zFK&W^o^5dqF`;5w%leqDIwuuX1E7y)4d=@+KgG#9j|)zH^b{!qt+cEfw#Og?uGc!f zCvN)|6MOCbzCFuH)-y$#T0=$(uYzO^mv}0#<4x!qrzjo5VQH+=K5kN&WqZZ&U9ZEg zn3ezBtVeBZ@_?QQzLBQ+mpcyDrEW^=wmK%q8=na~H@<&foy7A{LK7D4kZ%jMnQnV) zY4w!-S+F^TMM6}Yo*?#*1O=Rg7Y^X1n11n6L0n*fFW&Lrc@5Jyp}E58i}|ortGSZ9 z8sR00C2 z{gP_nRpUswiYVrQj69z@jsU68;6b`=^=g@EjJ{)0HJ`5(Mk-10*zzLTu|`>uw!%v- zyV*im_nq$5!lptKTc449UCGE&G?`RCE8i=jDcS!i6sQ`lYDF$qiSm-=Maa?@-EcP+G? zqq<`Z9JyJ~Q-B&r(&I@P==r`(w5G(ZUAyE3j2mNuLW1-> z?$)_U+xin2(G={pW2HIGM=In-q9GVmN{JpZR<67tmKiqIN}oQ4w+kDh?laQ&6I{PT z9d}P^wC&6w4(WHrZ`+f+F{3AC08CvIb=UUq?V9JTb-i&loY{ixgxuEZ_Jxhqkl9J< zne4sylU+6WYKD!}w=gpK-r#4)^+5t&5YE3{xBQSEhqdlje^H*3iGu8J3iIzxfW+qx z-0rfR;maLA0p~g0~+Ft%<4R{e(6vxva7^jp%F8ekwLd}4bl#;n5B3)&a`K_ zNkl_1e^XC>G5}H*7F^8uIc16vZ{XQY7_};UPBr?^%93$f85qXyG>NeFo2is}^e?hz z=wqZDuYgmC8m97ygX>p2_S?XOt^K{$Yxml2*f$c%#pc56gmOFsYK!tP=wG?s6TW<0 zcYsWu2Wet@xU(En_$K@Ky+iGe+@5#MVAL!-{F&D~D}Iu@W~3b3x*YG+Ot{Glj2wtL z>W`mQ-=im?`QB-$r#U3!s4Q9JylJfaj>ll3@{y?2oic9}Q-*xEaFN9=`K>Gj+H z9KAO&)_VZnN4ATE?9FQXCSdlZ?gI)i__!wH6}O{?v90fPvz@Wk-N9FOH zI-#(`l+<(_a0pXd{j|PouM3;RR+Gc62e2t&SB66aj@qP{vU>`X1JOMDiEFd4WLm9Z zRS{WVF@QtRJc>)%kYu)%!?5mmkROv{we zv392kO5%C9oh4|A{p~0~G^GuB-iI38xbSnHWi~}~x$ZmHg?}WXNu+mU^qn**EJ0<# z*~sC8Z5bVd2}$2rr%{)lbDv*6E*&UpYwQz<#7(+SBz9>K&@nKRmhYD#hOKz-(_fO& z`Z~%10^_0}dq7U!p4(a_)0Jv6vyucFMUw$Z#N$VH)2Ry+wbhk#@mAc9_o3n6_F}p< z=G0z>MU_gw&7Q96l@)TZiR zl1$rs%k`u=7O*21>k3e}BMh4iPtx|N{mTzRq}=MCiv%n}E|bhd6=n^++qQSQnu?d2 z6PL|sI&ALyRcM3>j|(j46$e=k(UY(of53tw2TnjcoFy1o4=aS7nRMOL{awzv<$%;; z&$fvBqYXar_J*;R3`|nBd8_f&6g$7s+TKiieG5UpW<(=N&%FGwOo+J6{w6{=Y}JRK z*kx|sH3%s(39mo3bewRRf0otyid3=2C0kZ9wlJ?q-sGYBu*T^YA{-}BaYXwiu3Tkn zqG8qZ93)^S+aK~o#Gxe1_=Jp9RAq4Oj80d!oC&s$b_orzgiF;v`%Tyb6#S%i@w3!a zRe?(wPSz8XcKT5|=xCYM5XYQHe$%;CM2}R+inFiOt^@+N&FSjM(R=5sqs1)BD5KA> zqN*dor*$_KfAF83hJ@kV0(6U-!Rd%hl;SuME^4bn>m~d3B{3X?K-->u*TFC9pEM5O zDw(>&j+;Ni(ME(r!qu;WQHIcE7;#wWp;74%cqFZg^^LydkS=a2G_L0PNHl!);8cYy zJ>W~U>q|&LE2p-vDTmY`ErJu57y?yD=h6fN;+jeW9;Yi|+f2xtRGFJetk3;4kx^Hp<0W|>xl0bhq@P;KI#b#}PSX=PLd2zgz8slDU?;TC-8C&pq* zDPhVIl<~pVEH07Eml5UR``8rV>7iU=xklu(EKl>Mz9WP5L~{?E$$TfMxDRe!XFR>A z&so24OLL}9g=`$*(%sAdvo5C&1JrYEl=Ml>4`>;tfzejicWo^-jQ?o3=t*Y~IZseo z{zaLqlKia%^bv*&5m@x%Ck6V|(ZY&Ya;5mx9mI4<)K$wP>hsdHnH4i_wnu<&$KR&Y z+AZOJ4H(MLFZZXAFlR!?Kt)_(#h!0yd5L)Mm`Ecr#`&E-e%mEDU@#wjKG>fQeb^Fm zv;8I=wrXu`lxUsJxR6?|W`2+TMN--ww-yD(NsFu`j3b;68sYuY(|1onS3{IJGveQZ zY+jZ6_3(%`JeI2`t#qNot`}6Lx-Ek#c;B9Sgaw-MQg!=I2m`X{#v6_$x5u<=I%9!| zFvfOK$oc`@0uq!W*t2c#xhCUMsq&F{1XCS_Xp%P*)HCADp9#> zp!>S8i$2rJ=sOz!J)A<`-&yQyF_#PEAEQk=LL#8;7=dMNEcbV{kO8b)_(Q6JX6C;*n~Uk zAsQz26lfLbLDmf3K4tzSV)>HPN)$|boqpF0u9qjI+Ia!4lS|xj{Sz@msaqrENawd& zO;*jkJAhWb?bMYW=%6~kVtXxe0M3V&slrp^gT{lGbs_yA3b__w{QmH{ZQsss*Ao)d z{b7k73~IS!rQzA*fODuAQe2mG&D76smelTDN)36onKw5L!D%1t?qA5QTuJQE_xXqCo#p0+PjY=NfOiY3FMX$e;`NtQw_5 z$EhPl0;Z7J9#MZN84Wg2vm$e}&1nr-Py{4~_N$fSmG<+`%B1|s+)JF_Ei))2qz(gO zJ}5xTb7w%y2kx}g|Ah>r0B|!b3sO$H%zb)+x<*`{$NSGPTv?{vRr1e~b`RLRDcoNz zpX>nQp~@N*cZ9g?#14>Ax<@y?T0`~s-q23)qgSVX)@Cv`vt*Y{{V-g7WW^4U9mm?g z1fY=any4MNmoAI=gP@i?X7~Pz%bwhSXw-D)46q^@`Dbl)ktr38CdedM-ek-?L5!|F; zo|7d{!NWcUBJ3Q1nEVK_-jE=DMh>-L*yGO#O9E9o{~2NPG=+6tNt#@=pFz5|^TMbf zq#&ngV*YsuGk)&9SC@)-MQiLp#h}F9{txPw1T)K>f(scx!;V3}ftKHDfNX**$9Vpp z?~_Oz)>}DGNUT*uzj`r_$hT_HDAsd&YEQO(TQ4WOaf_z|5bLTZU80pB4fJe1;jczbsqO@^WM zuNAGmC`=N#a$%$HxSV8~Z)uzKHAASVIAEvjT39y~8{GRcA6g4TD<51Z!0(ik3Y&{n zd^z4e0-?cwmx@D@*c@`xivB7i$$YY#P3oS5wk8}gSE~E5K0;y$&0`amSmEW0fA1EE zo~(C_XvAlKDc?W&Bve!}U#IkKoMmO%$No=0rTb z!_GfZ7T{hwh=DDOP1*H_+~Pw_du1kgH6{6F4^VPqcLsGizjjPp`-N6L6#eS|6}Am{ zcHLznWU>kC+fv!qW`ShqDO|d>0~|Q@&AHXYm5S%$VnACNENG-GHtpm-Iocy!Rcg8Y zLX6z&`DzeO8=qElHcb5(>tbnks#LXPcw6li#DQVBw!p;H>R84{xHBB>!OavGf})Dj2=?^Q2eV zoHi7!>3patYSgi9UDp%N@FlyhmXi_IX~t{V-Ee$>>Lil8L9{O)bW3z(5aT{m1KZH< zn0>dr1N~U#XEF$P_;^a!vA|#F{S0s}-Q&O9DL6FL^)}GzSCH2WcW|E*FQv=Yz^Z{K zK*y&fOv-RYE|`LJ$trnCn*m!PtkcO308+e3?VZJM9&V|^bkyTF*51a)y>9D z=O>rja2!@O77&1$HU09Ip-j8Lee!eilVCV7^Z8`qp_b~vTeBvs<1dMjatDl3@-{E5 zFEhCGHL>!+x>YY-@aYtHLT_++~;- z+V3#zeYiMEbRib>TpYFXhtD}6EwGC3uT%;BOWgoLX6^CvIc=LqwjcJH2Yg-<-|4ic z_}O>AYZP`${PZuELh&x-YWl#U^ji5?vc2;ShG>H^`_*GJh36Eh471l`n)dS;b!S8t zbS!<~fIPZyIQO&1PC>g^GsNP2w~Qo8wbx6%)M_uB+*0E6U1{XzZ8m9}#w6&%UF)210zooXh9#<}X$juXXi0tu5?bvDxye4O1kogc%t>mk8x+Oy!G?!gp>xFi&Y|D``iJu)8ld9Gq%u!}^ z3;-amQ>13Fhq&ni{3ftWSCu#Kn+wf*X@v=(mi$03HC4%^Z9VEv6N~acnF{0_sRTZo zHeeF`EWfYJsBWTBO_TnLta=8S@A8h)*c~X`2|zxUU3xHdU-)uKVR%r_{-|v|GEdF! z>;7kvr5D&Vs^~_C2owX9VBp=ZLRm!Z+mk4K+NQTg zD@dP)dPj|yhgU$so&Z%WO|S%Ma#6%;T-Q#qn@6$v}b$vpXb# zA&UqCVT1Y?+trm<+2Dw#H=e(!i37C%fN&|1 znDeUf1{5&>H=OLx)#4nm5g@?8l9ZTOWvQYdBW{ZF$W`=O&1^Mkr7|QV-bD1x62k4B zmIv9>IK3EK=GH-7J4GNDSVD5eS)3_Ko4v1h#qqSjikirZY<9%bn?$+ZTqA~*3d;#& zm+aFD)BBMH*X>W?9~sa~inY-`#U9MDLXaU*s|P#+WxX} zp!ubA`zBkg()Mu_nUIMSZ%#SuSFl4`L-u&J6aVX5uI61$GbVFs`d5itpd<`|%&XEHoOfH( zWl>gR6?T;c8h16MELjGnz6AA^cD@!!X%i4+O#BEu7e*Wv-+Z|Pg%CpFNg9BG=#-_j zj^uR*Eysln;fP$g{u^_%p&<&bUezyw6Wk$bus6)xB(4u=QgZEi>5%*c8#uLS>;&K{{iOVUWGG$ia9OLU#aHOcP4 zCE}T?Tk>Ve8p(dfl}Fc^eiAh2Fhb4&BRR(Jzo83OK%zHHRDDL1mm5I@ta_#7hnSdn zN$0wy(hO;ue>>Z~W6(c$;m@CY@X{Oh%!KQm@4%+}KFPy!XnXWvw7etJ*4HivQ-}1; zO(9HTqHhp+={G}vSz$53r0@5X^!op}5VyQUv;dE3#~m=s` z4~~lyiE%#J?@>iS$N8VpQ>g+nxx(HEH_z|)jhMS-!0(RJo@L)sIZ{#d-ef0;h*>Yw{K*o03njG z&$-V0XRQCc47kTgJdodyD&KZo_?1up^KO3LW56rWgnIQ@u<`!e|Ngq-dnquJs29+q z{(R(L5B2*|ef}>@{}-nJ%clQ3bpKbI{(nojg+I!w4r1{Erpdo$5@CHdG#dDDM?XP& zE#=j}G>CIP#?)ca0-T$AL>dxWM+5Cz@jCiCa>g0EUUj9zWy+>R)Q{%x{_E1(jK74= zR84bYz&8$`x@Mb)w76?H+b&f+0_^|NPE3L&My6`CQoEzSaR?_)CMViron%7}A#}1W z|9ZD~aZRKXoiIGO$?kr^TeF0p=JMqQN~Fxm%s>5?4%f=*6XcJIm*v28g7(n$% zU-_4h3A^PZKXptPF&|6C*d6>lvn`4R>1Z{SAJ}gY{9KW5RPGke<=^AN_W1h_lXo(lX+JS0+$ue4SO)T_Sc%XEG5w0p09!T<)|<!Wp6} z2U+PrK4m1XrCU2^y}sTz8g6y=xzBclihl+9sb4V7qp6~*%0Q|Oqgg=L3vf*2vWLpi&7e5Ew*g$ z=aI8HeEw=6d$w-)r@tYGKOR0?029H|HDrlwG%a_Nu|F|X^%!FGiPU!^edf^M7ItTy zz!9T%L_k%1V%EM)_zjA5p3yAxpWgvqu*6`K%fn&T3Z^z2r&WdyIij&70r<4#${@WB zUk&$ejKPU_Eq3rLs++L`hUVAaZ2t4Dc}px3wfYNi!ibxptR$wY(=y92Tl$_BlCjz{ zej$U^C_AdisC6=&M1e`z?sehJ!rk{yIdMe)^0uzx`6RwU5%+eBLt|Ywr~Mo!Her_A zRU^5lA4?dt_jvz<+-~KmIkf1jj@_(FwUq znK(?tIb*6X+PhNvT{E)_cXjpPWXjzDyXpSFEcW z%6W-0MBK#LQPqP1T+zwT4dUYV);fO(<-8UmyU;^^I%esTHACxCf zupWlwwg)?J@qpPKTmkE1WBUJ`M1Yr-M`xuiH$o0}#b~MqW~=9;4efbN8t4E)5pU`n z0>RFQeSe7%`rS#aHpS(8hM(rg$t)LzggE$Vy}&Zr=osnCVCmcMRLgC~J38WcI(y}) ztTUC8;vZ>Q4HfW4v1*05tpFCN6TMQ0_MjD;d?D^Dw>9hodQN1QRxe>ZFw}+5_5y8l)F+ub-AxVjjNN5`TP_R3LB$HvQrs@*x{{!89#y573Ljez0d;EvX{ADE1lTpNNNq5#w z*QA|s54+SRSUVJEoE&+H#~A8Dh4MlxzxnoZ`FMdcG)UW0iV8ppg%+1u+&wlQq6IxQ@MbE;Ln(OMZe{HQ?`9`jhB!L` zUnKxevm3lKCP#Om^L6y3-Fpc1bVWdYD}MuKVm@FGtRh{2-k1L8bZx!plNW$0 z)#2k((wqF&NZ{y6JYP%3dwM^&R%C%;Od-h0@hh$s&)A0V&G1JOFRH z3KtD4_wq++={rOTF20N4w$nNMqpAGu%PTPwN{ueTA6>dw+x0Q3NCu~am7;mUts0NI z70)GU1eb>nw0o5p*O82k?un!)&VxQti)ED5?ZHjHjrL=sw~hlv)Lnji0agkVc&$vy z*mX=!=4OTAzWHb~ghwZ9msR;kv_agl48K(Eh~TDBEV9^al!^*0XU>65sE{2GunnC6 z_J{7k%L^TG-_(*_DI0sHV3nl?c1b>R)q>2Mi!)2+0*q9h^*qe=IJng68xRM%26DB^ zJ%BrgH^crIE!6^_Gn*~$npvWqY~?AGR;rmY^y6=}>SwXK`yKXP2+H?WiXsPdRGv%3D;gBEf z@#zlS3t7qRIA+%p+v2%CQQHX;#@dS`To3=^2v(~3*LVJqB4a<&NnUYeoB7boa_@qX z+qwFAiMI74Vw;U5nPAsp4!u(k7{}~YWxl(Bc;)0N%Lox_TjLAUIxey3%j+pxp?ah z?j$fw#<&3ML;eQqd2Qnw5+qn2)uc0WL$CUzqr6U0R95RGWNlZpH0!u)ljJ!P$Z(Io zyd)!hZqW4Y(+g|OLrq<4=ruWY_cE`u)46C}o7;WwrES zTi|mJ zV=w=T!TO)7@_8H+Uo_^$MQKnD@^YZ`jjOd1y^ixXi)afts`Y8B3=@Y;qKM#puKFID zlco2WFEGuC0}N;31>4geRc~~`{V2Rr_(F6D8l!J2;{>SO46hD4y zrNQHQ?7YmxDNK5exH4*$olB2~3o^*^QMLA%lthBmh>p zGcGyu%R%Y|M&rTaO4AB3aTTfEeqsOzHtC^9gWNji8=Ms8y)wI^ZI)UBMTUdieOb!< z02XoZ9IGjd4y;|eVu-t9yx7^}6wEM#?$V|UR*8sn;CC=6=W*J_2|E>>#7TSlZ?-i% zrTLMtrW^A7j6)TinKT^$Pg9erPVR=4c5Av!`W6tQ@+K=`#`J6eHyssSvbo7x zq)l6m_;!L^B3>)SNzHStZweBIlT;*$DuE?Npi1$Jy6xU2uGhz|m)@!KIEvmZi(v?o zwr>LajWEsHx%Vq4EE*p$lONnVW?A~+40K8KiuhF_dVa@s44?8Mm`|o+oU!1C$17-^ zrFIJHFfE1LP%_tItY@<{;i0dl@xydO4#N;%7}47H+`9-R?zXw1Ne-Y$uqQw`6K?5K z`OWp#xY*mzgv*Vb{%76ok5l;bOC%$Jk)9DRMq=aH;~NoEpBr7E+QN1d374tpyV`eU z8%|lpIk~FO45}4nYp5dI6SdBW<3HmyG+)TOWP@7`XocyCkr*!TQs~cGFaaJ26l5 zRZJ`J`ebpDQ_Q)B#$|Y^ZDgiEz0$@=c7c!hCjT?#p_*)zfB*#tgY|F&g^^- zp9#InzO$u;*1$APv^rA6CqX4^CJP|FaBb_O?QmgQQs|1)^OVKJws(6RD$+&@l>bZ@ zEy%5JTd~4`3!ONG8< ztJ!u40jvK=G`1)U9`*T_661KzoJc}b2r=Btr6Y31soXj3Ng{tOrWa(tV&x1Vl>{JY zAZA%do|!oUijzGSzJMf&V1~gS}v3%fs|@a5N?;toX3ijd)AJS zJ=4l8ks@O=Ffx#;K3#AalEpZ|x)xN{QhDj%UUNtx9K7O|R^-Ut+M^Zj`5m6f+8~h$ zG(h7Sc!6nikgi}7Q<%qQ>PBZ$i-GQO zy9v~T{vqvIv$K9RWn|Iq=?SVSr|Dq+_}$gf(GCxGz1FNrKLahk+D2#GMULm=3{?Q> zt`1VjLsr{-*9Y?xN{f5ffTpGqZU7z66@b5Vv^6KXH?#pjARpMV4X%AB69csMD2rUT zrNyiij(NWnHmi|;90sqvkwT+%Y#JZWlNY1IoAS>!DmwO^Uqn7;u^TUq8vf8>cg>*p zG)8!CnC%4cb~>y#>+^$!oBdIj-5lR6>%uQtL*VlJ`2awCyQ7t-ZM14_5BS z>Iw|WtfRW(D7+?Bjz^3m%un=a9Zn8+9s&S^QLP6AEq#*>*A|7?A>JMW3}_D8qqVEe zE?)ySp84<%(oRdS(*#~eo-9np!=(&%iHG#Fl~2NBZ}CMdc0l&xkC#u94|Hzy(7tX? zm3ifPa)`u0bcu_T%xC_K47G^^fY{Kv8a`f*>XV)LGm~c*{kRwQ_G?32X6NCGS>I1! zWi`^qUIIRz{YD-g*`HloF!!XV+^35!Df8+Y)e_?sfVSrPT zAi%jC=j>b2UO=^X_(U_7kYrx}RZaPwJj}hWtUZNXY8Zv0;MIST+Ni-W)YWu=o_8)h zBVQhHI%z2$qg0BG@rFN*=CWT;uptoIJ*#bxB1caHoX1t`1l7?*^U#P4dye|`ln##= z!S0jaUZelrY0>gEuTNqis(?DL@foCNUv!e8V|m_Sl+yOQmP>d01bQ^(OE4gskz40p zG6PH%-XZZE!>-rhJYM60-Xt`U@Lz7e?FyQYGjc~KHVNoV!BTKRp9yIBMaYCRmh1W@ zV&u4d;-uB*{5-#qL;Zd``Y92@zkUVK-^U=(^k$;ajM6K!8`gkPvW~=sX9LtOVP_!z zoR5!qe%htCy;+vFcBFK)?mg)kXY$jB)Dkg*XZx+2re`O+Xh=5hl7>tii3L=?LQm(o7acPz{{|;Qy`GozuC>woiZc^UUnwG`036<#DQ)m39 z54Ixn__KpgZv2<$|HWRgaQNi;qY`fPH^chNYe`2LvTdIlzphc)4M0(NqY`aJ9KCbu ztoCUo46xh(ok;vo8J`uODi@iZpExUYnayJ0n;!S$$DdFhJ&P|!;8wG=rE67Oa(7DZ z&5(-`Y-H_PzK)!_^3OL22su4s@aos4?GM^OLm*!+z=6dItZ}a;c?6#-MK0cIDxdI2 zb()6y2TMMAt3mK*g8DpSC|n6$@0eTWWgb}M;{5aAUcKp)=#NrL)xxeha?<9~;%qWx z>I^;@Y{^*0s}l+rRovbi9a#{-0_ya5^`+mI2%u_TI*&Ww?sYa;Qc$h%PB7=hmuiyh zwatXsqoV`XN#4VZT~#dCq2Mc=n~ccdgD0C@p3z4J$24 zi!BCRA=Z8zcoqYLC~babDaN-;bEBP z;R51M*GY`!+9;Y2KJ({Q=A2ZrSxiAD797mPGoFwjr!kZ0CVB?yX;te19!j^X+5IG* zQoFw5p-*gL{-@8tr-Ay;_xvxiDWic(iJX_*zh?j{dYiRz|F2psVL`GHfQksI9bBoK zEhxfO81{rA$6~K@aET_@*Pv3J8r-iEjpLsBk67NY38$VA7>iAU*B-9B9Z?Hs?R6z; zja-XB{_(pGBk6r2l5eOcPPyktpJ@*_jXU|vjE#=# zmJD^W0Gvy(NEfo8idX+YT1#F&l&JzNA^NXwVmf&>*POz4^Z9I4Gga~oW1SS8Zk4B; z%&&YRjQ+9`s$;@uIP?njr*lLCGe9%ZDQ?koecw5Tw^djyyB1YI$g;m=3rDeRFYR01ZWF`2j=4=ODK0NfNHX^M&~Ew}`PS5;XnhQvWd8LHLF%%{ zsnbXNf(0rZ7pDK5{3V!u-d>r{z?<$e6YD*pwlh$L7B?dIRgV;(D;fOwy==c;ummHn zbWy1tMn!u7A@SG?>Fqn8P6nIQ^5oaL^Y-x9HZeW9Hb&N%Bg9~v9}@)YzqL56fQyMo zh%Dm&nX7S(D%(@;nLa&Ke<~FJkFl?gigNAVRzv}j4n?|=Jc@J+2nZ6=EveGo4N8}^ zq@aL+bjc7(i=@QRAT_|yL+9^)@Vw`E*7wi1)-0CGrOfl}d*3^+eeEay;>rBf<^)7a zL3l*#&Jmik(MkTBRRf`P*)nBQ+hHi3=i>FGaiRFo^xyV}cxcF!ve*M@zyZeaEBR#Vpy9rI-Blpk$%mDB; z;R}!MEBtvk86>~5_2R8Myx0{9^U ziGf>x9$K5!SFYa7pV>7ehWj@dM+l11ZSw)+KX0e30)SF^?jQFSTip$qR=dnt8F!AH&T97!411&y{mAbT_Y(G1 z+Qt9K2>nk9LzsJo{0)4O6|c0usc+uWBR^wTQPGAsi6%YfU@a6SGVArceZwg#3Vu*3 z**e11ba3~@AF6*zs(EvgsouNB-SJ4sd}_wBC+rE^Xa0+WO<$SSm5Je*)W^*`{UHR&T?4HoQmk2k@k1ex-^KUyTvQ_BCg`JKZ582h8B6#_K;d}VaPP*lJ# zlF1x~7?yd_u-Of%T^0?V>4-D8Y9R@-lVX}RedZ~Ai&WM3oPu$e$kyMNl7$rMgnp;*Z^xDyK0S@ZATzXQpR9S~C;G*6fgfDNSACyL%w~+QvYzD&HGA z_$IZg=`1dx@gxz}?xA(w;krMA1GiLOdNF@28NELY+6fC`RnpMb~i%afXOYK9^t&qW`R_KKS!9&#`gWuTjC%0czT z`X5gL0^%4hNKkJN!cf-^M5k|^!m-Mz^k~^?7_|)P=FDima7p!6h<0hr>E2c<;}r}Y zXBw<=Wh*=P-pEPP_V@W&2B+&~cK7Y40GC3%4!!&=TwrS39)yI-!sv6MC<)U025fh2 zZ`6rW8@T;?ZN5}BNT}GTJwd5(5u5jpyABW6s<5x)=CIn6U2W}k!m$mvwj-9;7DS4E zH~w>%Y5lD%uZSsRSo$OjcUb*|HH>|54X))byd)(KU24pqm!0?k3e=(R%oq3E=IRxf z8;O@^jC8#lt~oZQt4tIqCq76eHbQH-2$!ob`j7=zto6-zH~BuXRNm5if9joc*G(D0 z-@xeSXk+JXw_GvBv*z%D8$IuHHcDCc!G3p=;qg_^?%Q=|pX>Weqc>2;_j@3xBt;#vm`)s{o&TBM{wU^{SFo3qlG!u8lUlSpm zuhmA-V6AL>aW&8#Ls8lG_=)tcTL7#ad1ma}pOjT9n#S+D(5U~JfAgmME3eQ-agvE^ zU)>MZCE$A7)LiVSX`$W`P zeM9+It9yyGLOqwLgyCP!tvga;@apHx?>dBDs7+AXE_p4EtFPUrynemBOg~BrZW=57KSZ5~W7@yFnkb7%P&G}|toe$lyK#CUDQDz)lc}ygyTDLbe zd)6ORSk&J-&aW1l4k-1~z-fHZbh05-0hn+r087U0i>E!e{!wA^Py*=L-nSmn5Qr#f z;Smk!dotI;xH!&IDQ>$V-J6COx*A;#EA^_MB~v#NAr=Kdq6idOctd{e%X7iYUV|cUslk=*>D1t*pJ?yL3hhOxEwU|QDE9R`3Qwb#o-3e0iom~wr2(1}i3@y^q73#Cg4ZewV-R7url{RZB&rRbmS?`Nn<&jE8P(ol< zaa=6ZliQBCdCi|dej-e?H8Eb>=e#XiQ?P}MXUVJbVMkYXg^cTSt zTdkPO)UMWzv+feaXkUV0@Q(sb!__8a483u)cZ_rn^+$PLfs^U*b@|P70WOYlh!qej zcDsXttR9G-x$$_FZLrixlFb~CQm|5C22deJfi7t})CBET*VI>EssaRulMvC#{tMgs z?KiK$a9j%9IU_H_qf6o4!|%e!%QnqNy%dPyQ0=qMFvOf_1lHWxy_*5{0SCdOWQ<-HEtv_M@o zKuzSN=ZSGP9vV9W!U*ZRY?1%mxGU(*Sf;wySYFvTuH#xOOi=3T)`gZ&47ZbXg^g=G zf;IBDodnFyJfYxX6I-sz>b_U+Yt@Xcy1>fu>_r8$9Obc(S$l~yIFBS2K{^x zG(kSt#(};ML;x^Kg)pSCOBdKaPjl=oyY7*2ucSZ951>rGN4Ww@j3qGM9+K|c9E4^5 z)$eNA#f;P7Q;4;@;zA5e8d!_z=xJ5HjIEkE0`*zrd07uair;OGOF2FNTf#oG(;cY= zsb}->WLdidkMHsfAd3PH;;(NaR&4eUrVsAIW)O|2bdjE)BtIgA5d;YLJSc~W(Y=)O z#F!l~)K1bQz4<>ZKqeGX-Az3aUO8RZOQ{A!$S$KhPw{TPh}H5`8BQ)Ob~*1pJf~Nx z8rxbunTLx$q>lo)gHGRR>S@PgvDD)U4{O^r#AysY2E(cF#`=rS7+S!xmO%kkjcefXDr5+@Jf-6?@O-$l}W5Q}N0mf_a6be<9x5_xis>B92v0)6h$y{^s+e`01G|| z0(KvQDZ|b#&)X|MLYi&O<~imH;PWJ1Kata1JmvLrYD2?jiYq?`aVnVUdT*cQ^nhf* z-$N>7qWU=Y| zOqZ>fxuDNUFUiEpkZ@zzFnK*n>{T1+>7~Jw3CAP^!zy0%@j^7xgkL~&=`Ps@U{W)( z7%6%+Q8-#4ykN$bQ{)!!2aqy8t!Ie;Iy4dZaw?w<1ov_X?GHeT&{~y{Y|$oGl|{y4auPhrFWv0|31)3M>LgI_stjT-igiu zFrx1bf%`rh2{@5bUhb{Fr>hu?O91Ev;*^7mPp%!Gh<>H7M+Uhg3}>wRD1R_~MfW~; zp7SctKy}$b%-Bx>$9)epo$ZR%scVpZ1{jRYrCrR@*#Klf26DEe5%ySch_t`T`Do_{ z*JtNQD+A)L=bB6~KtbpWsIA`ta$3&)w`+FspJ#yf#BX4ecqM!-k-mB~1BR`7_UC)7 zE&zhyDIi_yk-(rd&2V2LgN0;890N4cs0;Yd#Z`#yb_l@$EDfHJ3>X(li(?<^V$C>?ZpWGPyZ}^W}6gQBxg=Oe)AraTOcc8r#71b2+#wcPoZ?RFch-Z z)XG({-j`+0YqgJ92C9U}hC^N^kB1*(ZVU?(C$^u~ZWRXJ`2iKmN1oi5F!V=M62I@_ zE>fW|QnyujX3w3!yS+V?fGgReu@*GN4=$Hl*zGmeU=}G5+e6}0#f>^`Gp+V8`sntC|pWm@oGvlK%o8-p@ zySvW952n7?ld=BMvMc^;mq8o|F!fmv7Nsu|mor{^em;3isMP9OBW6r97_m}X}= zXk#w&y-4EF#NYp4+&(=e(|2hym7^d51%gBbV03?n!YQgcyPVwaB_SK$5(eA)!4w2U zlYuS)td`Rxp--iTxOO|_Y3#2X59c*q+*4BI5fP%+Uvl!XH*nnHBo2zShPEXDZV*mX zIlDf95}J80BwXcE(JcevTm?Yvy#tN#WYDne*xk@i%nAEYuw^miw%vBS2Z-W@wB73m zs7$Y&?^@L!Lq2IC#jgXXeGb2odOE+hTqJ`ibtlSfp^-h*O9_eUhtO&V2(?wj=d;+A z@FVS+3vYSV_RUk34k@8O#I%439B+QiTs^0MMTlH{*#<{*0`LoA%c12vXA?dxUK@c$ zP9X5(vIl`5d(!*(Nsh;sm;Yb(4I~|AZqjj}Ol?m=(E{n1PE;HibVP%Fm(g_@m3_he znJw(@>zEot`1G*qllV@D#TIy~ZpWn6*)j?6&}_XjW!_GRqyva>=qVVUEz*xXp8*s@ zTK6YQ-Sq(<=3>yHfa6l~{`wE|U726m?56-WHPL+vaAjKZ>88fu#qMt&1FxF`ASlfW zY5W6#5WDSMmsW^;Y`oJ)Mngp9QQ~8WK3hLatMs|Qemu<|F-N)NWyVB|(0|XaU!KLq zz47e0B4(lI%W3qcLd)LW*7AUbFDu8}6VpLh8{3V^=wlm)O;!T-P>Kr5&$c!-*JZ}2 z($aO~4WM9JjU953dSx#k=whl_q50^hc2yOQ_T>^z?tLjol2Wo~(QNC99WccnuA8Ru zZ>r1=*JHe5sS{8 za{#tsgX>Z46CO0s_PKIgSw?vwdeg5d-FMy4W9w!+6}puj@x7i6 zn2*%2jG=A_Te7I}n{gHG8h!aUJ=&#HPri)&K`EMhVBV}2`J?l*33GA^ToJqBnPQsl zR8zV@!^y1pg~Ddi-I~Af`<^g^`krRmjQ0s)yHh~p0qP?FG%=^u&Zk8;h|wD&cJ@gsg*{vBsYOe)D92=I9)s2dMzhn9(43@&6TjXMNGjKVMa2u@_wqf6b49wcGU; zPO5La93GDCZpC?WHZe+SaHeON@i>~w`eHwrPxoF}2vwg;2U{;&3+t2j<4zeY){6Ta8T_hmbrngn3X`U?RgTHq0O%CYXfRN8@;0bBC8h+?Z^t7`hNR9v5WdWKP6s` z5(8_I#VLUefO&QVp+ajNfv5f8+&3`I{Z{P&aOU`v3A>e6wPS^Y4t@$iBr*+iMgBjz z=UY<5#72Mnt;rL&)FYz!sriP1deVoS;j$&c*7PHm$Inoc_3q~9pScq6g^=trc9A3u zCuK`Xmrf?J9Z0iuk37C^)b#0CaTnNTz1^0V!R)zW3^RHJ_L0k}jy!dAm-UO&zd?o)(!|=D< zb==SE-tqa#g|M+Y93fV76C$N#P0xetvKPgmzSrY15Nz^VGt1S`bXQu=&|~gs5`!dc zxUb%@KyT?Z_QZwfn$A8}<0 zfc$jxLJ!fpmtxp=-+)%wzy)?=&cM}YPhzf-yp(7VhAZ-uWpFAJpYY-R8W^|i798<> zy*i%XcQa0P{e@YQ09W6UTXodApF@=XU2yh2>{szGYGVUEbZ3PN8p8BrQMv z371pXznFaa+-guZ4Qt>pSdSt?Bp3~U*3K&uV^vJsoPyPS0sK!DK8=s~{ToNU0F4kY zH+E+4qguL%t7xx*i)l*6evuo24nkMntG-M12af4*?rHDG@v@mLFntq^6JGL~(w1n= z)`!~m)0WorN>l@1K&(M_kYRb7L~p5H7!g>$UeWXKilR%qje8mQarN2`yUCwOixX`A zh-gexaCa!!+gE!WULFkUttEaNja$pMzVC}@{0($N^-14?4Mi6{;~UR?tg8hR2{Ku* zpCBBu(fGRSrs~TUthrZ4EhBF>o70UHX`95qSIc=E=`huBevHfo`O^|W_EbriIgp8+ zZUvG(Fbz2ZcG$YkY2|H&s%3GP-A_^rlF^?$aR;voK!od?3; z+mTnk#MqyCe^Gd_0yR)wlHRfYBA7*&obR07VwILtLR=!9w zsXwATs*bV|8*Z|!8Rci{_B2G1COS9n5&lYu+~i{{=L~+xKESqTRb6}XVEG2hcP$+wSxtKUbrUYpcNK90ViFYv zng>|{0^w+dS;c5!e)%Dm?L7Y3e#L&AOZ9c7=K7B9hQuV-vWx3VX)w{=wtT?7a4g8< z9Co#Fok>~QSXmL>~ ze})PO&L(V|yCx6vFbFkY-g>M8*JBWop(N#g@_kL$chtjYqtH1ljf;aL0q|_7QMoU~ zTBx>+0>a|@NukVdij2=1ZxK@GEIn;^JkQ#qdv#3MZn1dMU*Wqp9#fR&2=aYX)p<<$*I zv|?b7*jEi0XmlIBzF77R2|i8a0|NXIAzpCtSDw|ZRWiCP%{*pnMb-U4nddbj2PydV zJ_z9R zDKVtb7{vegQNH%KG~pR2m+7V8yHY<}_LsUO=Hp{*m>h-=emU~2 ziYNqo(HuakQ8KyHGruod(5I zElP!1`S5*kWK9q-u6$6D0LdWi-w(#WARPI1G|@xjZa^@h0^hqDJaNB*3M)o@i9mLb zdZ|10z6_8}3@h3;Ve{$%&hd&oN~9o8JX2Px1|k3GWSg*Z^&lgZZqGSLY&fNcZVgEKoH5Fu9 zeyAMCP=UX@P9XQvP=@T)uW5yHGbQ41%klkoVnjovck!Ctt{0W}t_qmN!XApoPsI~j z`)f~xumP8xSHT<4GZi2pbupbjoPu$RJoKIQiJBk4q-0s?(%3ZtQvA^UG90ov=Yd#nOcy$1 zpV$RsMxTJiXifQbrJt^1ha3RTI2cWH6JY0Z09DrS080MR;AA0A=>sU`u8K;HLX|=} zceJm2LE5oESsBrvodpXp2AbypeIt|mN+oas^VJ_3jK?3^6h!bM@9ZD%(U;K^?2cvz2I(9)ORSCKPGr~9>TEHoa)SevRLxP-w0 zTaQvDjweOL;=3StDfMKiBo5!atT%4E$yfyH{zJ#ox?q=9*zRNh*$DK~I$=1NQUogAJuko4$Y!&j3SDps3LT$!o*|8uf1TKKu z{v0}H1g{F7&U=d*s>PM&eS44ob~xJ)XU!F=VeE0! zA)ulzl8WL+n#=gB)fc0P(wHk)5B1PKowrQdeYaZxBIRLxevsC2A~;I_$V%p0Trz$g z(V|SjtETToc+u{dD4m!ZnY{_3=2Zbk$6Hq6|LP^s(Pz>$!*|6M!%!|_ig_Kc_X6Gx zh~&0)6*e{Ghz2cZi-kmNI4JU59pS8)pfHlRD&SZvd3mm z3bzc_4t^|PPeNH7(AJ%RIiw`8Y48akZGM3i%w8a1JO|a{E&!{gsu4T<98D>tA)S@F zICF7clLl%Hs~>$&=c%7*Xyj%O#%7Tu3gDyqgi#79V7b}OYc4LXq;G*3g`FsXVq+Wd z0`907akr3eJoq)<+DrViV(jd#Z8d*UrvW)Tdk6)u`ACG_l4fq+5*Un;2CWJJtJW@V z*w^_sc%6tzAqI>&aadsHN9PfTg@-Q!qNvX(;n6GL?w?)W{o_PkQIin8H>hOC|!Rvg0znPnxTTy^yg&-_H$(71)K=e#xs< zC`Hus6~8ulifBIm*S-SfjKPIWtb<}2{LxWCo=@mbl#KC+Y6ngj;pBSs)H@aVd|T0_ zaF=cW>neMPTc*)PH7ApnMuxuq&F1CIS#20ByVt@gDuCjPFk5>PS(-eGf5Yz$CK+_7 zP&T~VfN}Rz{nU&*f)ea^?DR)(-L-8zdK|i6_qBuayJ-~(j_?GnpXJ3Kz}AMskqMmo zb@_sYnk5>|HTM?i3(g>X|G3nUhk-%HF`3WNxKC$KZTc#d2v^aK+sE{mnaJEX95mQH z7N^q?bECULRS1nJm6zXRWi4NNEg*UNg7zw5ry``5Y3W1!Y`{-5qbbhS`xs)_3#-I` znUbM85Y(RF7YTiZM>R0d9jMiPU+8F(xjg^do@Hjnhj(OrZcdR!cfOeXX*p$Sh%i6s zT>PE!~{5y)0`pp`3NOzECC~t7wI*w@8^IPL| z9iMPGM(E#RJrWCR;DCLOB#&09%*kmnbo+IkjNk5g_B|~)vtnAlFp6MX|Jk!_1DR)I zV1|&*pVEcD)WY8z$7_UEfj*S|blJ#yFh>T@Il6eF;)N1Py6=#R4A$GyY-k@DD^{Uu zvl>Td3zCY?O+Q?e;;Td(V88!BcS!BNKp+6_ZNhsOg|$x+_=?4D8)ZE{l4jI|wv1M9$+ z8BM3bY_K=ujGBo0U{nXMbW>}%yho}?Ojxxlp8gvcfgmX#$6w9ziZ(}Yw1`u!cov+R zY6yc=GTD`|e=qp%NlvSlFh{Q?ImOvG%!}0yFK1(Rm~VrKgXnZH8EhSgZh6zgDA&0& ztL^A}-cx)AT>1D@d0SzQa?l%I+^K0g>)G=O(*F^EPgRY$J_-|#rHJUuED@dqQxF0Y zAL=5YUH)RxX&rHnwW|iSZUxp1uU?D6v@7|WoRJ!@z$zuAeMbRi z(-9zvl#Ik`+=k}L3M@R+FX4jnI0r`uQ~S>xS|7Qj6K+4XpI%X!)1r=Fqpo(!+{&VM-n+B+{&6@e@Fbn}+P^e5#W1#FWwff9O{H2}U>Ge@c&&BR7V1fBjV>O54YOcXfNH!5j_~?+$;x+JWD+PQ zX)(&<+z3x@Lzk8F^0Mkz@{@yz z+znm9UUd3IP}NSx)2-=_(j9n!XErnM-e?-TrE#QglV;nAAz!u7_{fb6RA_t8)T93h zG3D{48wo+_U|t|nFW$m>8+o4a^WB~#9@wrUo!pzR%jJ)j(%#2oSVrU>iFG9ewoC8% zFViuzk;CveiLZb3-XQqw+f^&ED%q2l*_XtX=u01x7R+xLw*zv*d(lqBQZ@8pKA<7_ zOhttj(A6e^!AR`WA!tEvAy9MrY|7Ym7BID@d4NkTsz>FqO#9=u4_J@33N3qL1FYQ2 zDl1Un&X@%V;eS5i4fh0$;`a-wBd)3JZutd!M{t7BMZIwk`!;7h2o{yF4)Oa`Vw6V^ zs9|*fg2K}2hPXdtjG35Q#KxO=JJezP4xj6fa4qSgi~=Gl$dMh z%=jXMO2dnf^Lazu@UVcJ|K~Hrc6pz$)N>@kEM({cDs&7f_=@b|045zm)ZF*zw=lH4eVb$ul;0w zA}Ft8V1mFf=ZQu*+ICZIt(JF5<}JGkQNq#Qhm*p;5KpMpmc{% zft7*>_-1QNe#W54;V7SyFlGrN_l8tD4?1f16VG8S(Sx#SwvO_tfz75WgmBx@_!|DS z@DU|<+&;}ue|6r? z@tz~{c6&r0N|$OJimD1tg9p9|i3lnNo;Jhl{0PBH#`ZQd0GqHQ0|aCvr_a{|LY$?B z=b=W0|Q*Z?F4VFiIw1)%eiCwS$rwj)qS z>H;-9BK6x~zB|brdH%k?hGPdq^ms4ELU}cI{sF3`4ydm0b(?BP66TyOdW0zu3w$Wp?pBhg50{Lg^Y4 z=k2T43AV-hF7D?Vimavp$W`Cz@UTh8v5N8TFH_%~j(5Q&?r985hD<7CSpTAAB#)H5|9zaIvyJE8#Mz*TNNCreV{eFcy@u4%r4fq+*~M zxUiuPqAO)#gZ%hycuH=g<6pU{UHGrD?WO(?3jlaqiYs`!!NmSO&}~<5_LY#37>co@ zxq6j4QTRJc=pj=MUbO^p7F3rOE={|2 z$#j-#7a}<1^e6K7!Qmn6wls$U4+g1lfkAOu0oNJsYxC9&cr4!?Bq2$kpYw zx^sV71&aer$G*?DNI);*Qhev3VkpW6%m(3!9)3Mmo(KFpVWaR8Tj1)-J0<-8x=8X* zD!_X{Z*FJ~?!Mh=iK((iy1473S~eK22p+I%vTaQqZ1%X?QSR-FE`TaaoO* zk&Sm>^chsbi1v#^)W4Fr1`ymK#n(Of40d(C2J=&Kxk(ZAZ_3?&Xt^ z95$*%?Y;kJi9#GL6blLl0-`$-Oxdhs7-Wf)Z6Oa&~@&egf4L_Fh;(%M(br{eG8^ckOY@d#FSeBVH6# znmfC(z-GI7V^e(!b7Q~r2w)n|8Z3k}J*@{`K0ZL6lz4l*y~|11%;a&QE9q4PVv@_e z^Y_ntml7^)JDQ%tO_b}1#eZJA7Wu-H>!DoH876Zbdu?bQWpmK_-a@x&~gU8$4&x|aG zHeT?>d-vGCh0>)!#+X&HZXD8E7(fKdCQz(@FFWU(TY%@&R)?BLUfBmtOGJ6w?YTxT zbyMvFWjgj+O706!{~;_OvR9YES7DnwLy$;A$9Iiq8dAh7Qrd_#ekuI-QQ2+o4H<0m zn)1Qf=~5S|FVj`<+CEczXYbohRhE}cY$VT}_F4-vC= zWVydz9RH>%!8}7z2hl(}`>RQ<(Jb7J$Rst=NlRmxNf;_L1FiE7&mzU2IY)W8cma=J z(QQP>KIMCtpt#%2>^3z0ma(Ggx)>N}Izt^2e%kLS`kzR5r&8tQuJ<93#A z+XNIl^@e(bz%)jj6CVly^qzML0BK2Kj1!)^xU3%eX9H25 z%^Na!Dk2({v8t_caedzPEG*VA$IXf8&af&rGrJ~Lv#$mnC`m=8vvvo_uWBnn0;-^* zVU|T>cuoNPkp8$+OuDXXOa=$6gQ2p(DYCA*+$qwD#e!`;e7yZ*=y5)I$oIZIr`o_eR)o zRNO2TmrCM_qwV;{@_9P%8dh}X$5trIP@WUUz6^K7k1?TK=-9kD102d~s^7g{_<`25 zDY3RAH6rtqKQG%qkvq6-8qxjl26l9`HU}Jh?@MpFg_d`R9BKtLOkc?rk8YfI_geL= zTvw!vRvH5J%_Iu3XYFggHmv)U6AYIYGDHHB3RVWVd;me6)-;>I_Tfe0*~08ThUs1_ zP=t(O)cnGKv;@Q_Kubsw82kKk9wB7scN1XbCaO;u2PL1oZkIT7-od)zyF+P{B>YS`h23-4Nx-0fn7fJ%P zQ&)GkLS0ATe~ohe8w_5m#jU@~wK7AeA54lv!=m^EQUhSA%lqRDT|dv-h$ediuY!1; ztJ_;W6cvq=PAgQig74^a`Wa-Hz$M6vLN-S6JYM8@DZEce`GDoc7-N`ptImAdL=tl$$clB%tZan@0yvVNT)^Q-xO z`$vJQVt6^{$fNHf$->%6bh> z#28dHG0lH8*+I0vjwZtHuzNLNKP`{H@51*|3dfiB`}jpG6$pV=!>_a*9nwSUIa5t@ zJ^0b0b9pj1FHa`yK9pkncQc6Fi*mzXLy7vop7rWeDE-k0N8vBIu1~6zJrtRl4_$Wo zCSu?uG|qGVpk#zAUTS(TcedEtcFx*0on^!-X-@b81H>pm6qhCoX=}cg0;DvB&eEHg z%6~%t=kND_cWDIn=7fb2>u9i71oM>?=5uhVf%V!M1$J_-?ZO5dI$E*ceqUhhvy(;j zuvY4&5Wa#+z=e?u_YKHEcH*KDBPvWN1+f2kc>gsokZxsbw|<<&`~z67>sUsbC+Bv~qq8=!GSc6cf$s7k z@_h|}&U8{iZ}NgefapJO!T`O=i&pnRd8z=n`VhCl{Tq+G*}0Cie0CKBU=u7yQgUWx zJyoB37(1fl!4-_&8SLvdyw)2A$?8GyWeDA?AV3ICT8#+Y35#YcP@nljomT&s=(-Sy zWXw{@OVu=G$V%~@3{~^-jW&gyfNCH|29gCM_y&O#|c>UZ%2P$c-o z{yadlIHrF;i(=B|;sg7m+=l_3K2nD{yW@K_jNPhfeeuJ;_`z>*cnuvb;-*Y*9J;JH zgZ`Y?Vaq4N^XGSC|NESZ_*)eA32ssKg7+Msf}kk@^lT_6H?FuJwhG0SV_F6M{WuRV zBeYlG4JK)0TMWb=5cI`C_DPfrQ=R zEByCxKsSK~Xrr``=*HbDV`2n(fBT~HZxgBq?!e|<5;hRRFwn%jn)7lyd$vvCl>u|s zeW2MKE*3WAO5bm*#gr(%xq~l0Y&$l#_g>;D5|+wh`KKp&cnAFcd%b+gJzf4#>_&mb(a2A0YV#N4Te%uN@^B5hEiC^#S=2#5i$&f zA8pwf85u(#cOw7R=gXUglX9iaJq(58e&Mk8`|m@sl+%>DLwLY}OcLbV+Bd2)yCy!| zFpoQ`O61T@JPKUE{L@ERDEZAnrGrhXX}L?W_TytJr`ci_w%&g$-a@0CIVViF6nu*; zTU_9Ae9I=~^+X<__hoRZR9 zA(XxAA3=(^FE1$-4G8p%sG9j30VaP!dY3-{W)h&8CwZm9*VADf=f@BcS|a~UHQmlb zzf^{5Io(&heg;+w}T-(1RD5?yoQ*>=Z;JV~H^$*!8SKBFmL{$vHDud?q{Y$=$;2O%u$GC*b6{Q$*a0;+?EFMSoe3tn({| z{Cfw=(=NrP-Pk4|0$IvVcku0wKG^s`AtS}x!%&LGUbnu9W{CIrD*|&p2weQ zr2DqzcQPUS07z5rM%R)oO)!>e5dTb-cdMg;OnOH}NSRD6R|>gy18^+liQlLAqLNlh zygn9ioR}96N0TD{%G34Ng zfTfB|@72CctTv!v3})Gv5(n0fnuhUtlrQCwZ}gqXd?d(RwxDh~rSO5)JX zZFQeSu>3R;-k&2b+cbr#?h$|Oe^s(Biz#m}sy&gk{;!1rZS^dEC3{hn3nSE5hxAeb zoMW6^oOP_Y4N>PEd!OF4kn{-b3m0y8Hgs?9<|(=4;LOt)XNt> zrTUlFH!)A4FxWID!7mKL4EbY=c0Qt6qh1`Byc2k8rS>vp}6g8OrIip27LM;~l-c^_ZC*rh>A zk-z-z?x}PNvdgIFWvR2n}vnvTsL2EIO*A+|B4-6op23_bB@aKtq-IY*`O3O zA|-0xfk*xEF8-JA@};y-03<=+vYSEg;=U)~N+`?eA8{KYT_jaDc$V(+~%e>{*BpU>hUwSoLlZr<8Rb=TVZEzEZ8?jJ^y{nAKs zyEr;L|NVM$v>>X#cV`R}%7xr|JIbrR-Q-AN%WM?Y71fQiW%L?0t|e@ZBsBB9_I_HH zU6+G)Z7%u)sxx?aN)|JGZozSL*_(@Q_;gwRiRpglh6(@|j5=M&dQBicypNTCY%0b_ z|L@nwh$rG-UI+Q=2YHtn00Tbc9c*wwIAKcAx!ifg=$HUM+0|?;&&5`9Up%lOsx}E- zb~O}K1{FJbtnHAu7dvu{*{*_r8GBxfoeA^dvwlUvZm~AG?z0=E!AEBthFa#z=Z5 z4!_CN#x%hypkXT2=d{%S!TFYkh7(M67e=@;p&<)mg5eM31ZRVJdHMN16jxfGkdl)K z`1bP9aR{0n_0H}78y3;X0LKhWY>sZ`An1$G_@_aFf06i(h|xcus1wtkD)BGPbSoh5 z>GeS|gFGo)=5OR^4TOEVE*g*O?qv%xMNsxjj!lXa*I;k#FS~Ng>CSmk(CSkY)6`L) zF%cq6q(}0+-Xq@!fY-kWLGJ`T4a?dN)t(>}T|2oFA=@Yd97kDWs3K=ZASXmI{wCG7)#a6z5E+7-~=5 zqGo6~6O&;~j2tI?vmQx$Xfn2OOQ2XvdIa&7UktFzK`fbzfbF^0e}+L3fMNa@%@$lf zMW5mC1i*g{#Lc2Gcv1zuzY}36gZ(t&Kq0!T{1%m%=p45#DTCK*enXPs;_S6Nr5cN5 zUVd5D!kbpMH2L%@MNhK~%S}U_SZ;R0`;=~1UjISP_|w&z3x86bP;-#CV@bv~N?jXK zxn?!o!5^%coZvWj3bsMhDv2I_I0buyS0;b1{ecNtO}e~4*nU23%CDR+zyQ-vFo$N! z^WEhi>B`awTpBB-UPWWJ-*-Ia38*;a7T@ZSM#G5~Zx2D$7*ecL0?lsCT}mh^II0bv zNioGj;@2C=TqA!sMh}zG?N`G>C7j?TKr?&*q{jqm<5?7dO}7gdgJ9RSsb1V%_~>nw z9n`lN`K+rema4&rzx+#P(=>9Pco8abxmeKma_QHpX}6pr#4chZ$@#i6JU8wE(Cgc| zIb)vQu&|qLm?%N8E3T-l32Zc64ZY^25BLT~kl&swHv)2AcQEw206K7G2EL%a{ZY5Z zrkMA>)EV5s^Qq7I(F^S+p9a9vOJ$*8{sm0-EP#%jQs`%#?43>6rl@wkTiM~6kEV$^ z<8N;d{glPNGy#L<1EW~KkGBE%W<%TMvHMu2l#s)KRVR(bb+juCSukl=Wg`pO%@u%q zK2xPn2v+`WCP?D>dvx;50BCT+j$tB8pE;>;l6Yv|9m&RTc?#E&!A9 z9dLAWn3yX89U=JHBf!NsM zh^}n{z_G}RUYt6<8n65$==SYSSXkKGDUykQ3oxMi0@>?EbD=j?zwOA~yFiLK)@}R- zgq?b5DRjMk?m~0hHl&_!)wQOQ4L0)08GHLua%^hoMhd+a0nW=4!Z;39f$2NN&@Wq$ zz^Jn<-Ixj98bd{~kl~K}8zD}$D$^46YN0Mt8P93Wu~`=T^U91^Ni=KE3e)0SWR6vq zeeRgOI&LxyCtJT-K5CX2tj^MKaVeSiWpD&jID~|0$P5JE!Y_;#+TfRHt&cK>Mgqj(W;w5#nsEjw+&6N?9wrk~&h zD$$ZbJH!$0n@vtU>YtC+_;$mK57iC>({RXgsG796t++XST4{7Xf|?jMYo70 zfC^hYP#a4 z3yRDP&KPNu3_QbkOq!On!xw^x6qQ{!8|3BP_cJeIa$%3HY}9tNr0O-LCy}BXjrLxr zt(E%6;fjZXAb0rKCji$9zE+0=QiaAmyw;`-S%F z?f?=ZZg}Jdc+%Mi?i%mk@1V%Zo(J#Z;!N{io}VHSjQ6u-y2R_dPN|>oBsD>J(N&!f zc<5-X#!X=Mrb~W$emlQ<>o``1>Qnaq-XNwMW$;zEC%=H%i|y)qk`Pe?TEMHb-`MfL z>sDKR%3j-!_j@%T=x*FIn}Royaof;KrOICt^KeU2kB>N6k$`N4206T;waK;Yu*^+ZHo^(1Ft>F5fne)FzbE%RytR!*$FI_IpYasJHe9lxR ze+v43<<_Ho(6g`A#M)KCGAa@L@@^dm{XqMmH~wCq@B5&|#UDv*O?!`DyYK8{U&QF| zbA%e$Glad?6ro%GWl7C^|8rd#YuQ>qRs~%(&w*0HTOxXbMf1=nm=o1>4xhUCW(;mO zZv)Q%9N{6OfpVKE!NQvcfu*=A+RQZ~fQQ#?AX^%3n=I78DD;|=M;=<{A($QfTK-N# zSGGRflZXVsn2UcgmShU|ABdmAjT?M$=J?*i>D-Y(IJCaUgPEq#?szeMNZ;>Gq=Q*= zCBRX0eec7Sn?(+P;f0)-51gGM4KLn;$)qO$o=Z6f=3NVLfTsFtYCL|9ai1E?s!X%; z;v7UJoU&TsQq3V<9fLRVH_G_z@XLX+|O-(=X0if!1RqZG^SBv zeTaiXMjlzr!qGbf8~ClXUP-MluML+pE(@oij%8G|5R)PjPi{oIJl1FIM=tM^UDOz0 zb(tIMoJ2}Sv4tY=T4%(&5A9>n zX!fZ`V@m?~9W|_LT^lUomBYni|ghz))C`7p^|@Ug$sXOdQnHW6USA^4#p4x^+L2haD2-E z>LVb(YjHf^56=;q;bSKJBjD3Lh~@H|0x+4+poTG1;gFD;4u+4xl6 zeR~+rp)x{HNgxq@AJp$6gG#!pZ&dSE8;^~*mNwikw8T3AI55qzA)0bwjeBft;ZIg? zs*pc&1KbaK>(uGOq~2e1L=DF3-79ung886*rzKvK^CVhRUmszP2;*PScBhISmLdgq z`z6(#gfh@sI5{;)MYr;Uuj6%H#h}RAkP)f)I(;LU5u(R8lLWEGO#boKC-{hTEd~b3 z@fI2eA%vcS=0#TbfO#DxVb*|*y}tsJUp*Zd-AUlJ9?$0@1%CrofPp&@v6XO9`km_= zgEUU{R&r0AI4%Lm^{KFoB17EVnk0!c&!wb-UQ^0dl^dma9q$s839eVw&It#3N|~fy zANYxHp2}ytFG)OnTb8&uey*JB0W@e$@dt#p*pZ(pU z!0i@5$*d#_!-Qe!5nG0!8@1Xn&;zrCSo#-$b{6}y$!Y3!aYSH%J5v=Y5`y1Si?3#o zu5`Rq+Z1fFf-3G6_{Zut9F5Itc>wFnbBm$Ul(!R5N(BDgqm^jvNdTOrz}yg-ezR8) zt0`1N0L>Rd_gn*wW7ogU(gHjM$iIBcA_~A90-Xi+GPl-qWYhC)k$ylboaHHH{8=IT z4TZ-tHW|OFYv5PRKTo@_q=6bII69wR!Cmpa;-V1SonjibIPQ0}(fyZ8(I648m9SkwL6ks%v-v+^PFBSFcV97bLA=qp`EhjvJ#3KDycv)#rqs$ z*ju0FfA7ijn2csQ4sqV3BsdsJ=e&)BvO@^EblAB2Y~uo}^%@El)}%C($``h=dl^Gk zbPX6gdvk#EIe}q8#aBjdGv@t0zXA3b2h?{oVUh(Kt(1xxL7`YZ9}t_|DsH7QJThUH zoI9{BVo+kHpojziLkAZyNz)Gz2q%m8kd!uK%ozd+-m@JqW17~XpfM9&8LlUb8hWBZQ4U~`xcOFkvo z`(8{^)&KYhBNFamWq!MdG4Z3SH?qHJB`LCwNz6bv^!99LLIL_0nE$d;OXImmhu1*x zrO5G(=SFf$EYuDgL2$M=@R9JI#b8>&hdg$-pH&9HA1-DuJp}p&WjnNuM&2iRcIM^< z5iBy}B3UoRyPAh(9a%H~4x1SL=helXJ@_cY*GfaE4@t=wn3J+b8ZgEfNQc+Q77mLOTpu@1rbvZ=c5+Gn}pWqZJY}rPs#hk8q!;t$(TC zbD<1zN7-+r$Q?961&k-90PyYbT{SmBl=Mq&`9nZV->DRqKvxZ142rjOvze_!TMjxF zS$X{`n)yi{`Xv6UP*#*Ujqbi;?AASK*=6-69iNgnCuY;3`eXjGU66{KQiTB4RS_pH zMbBxrsKvbfk)v7YsY(FP_z#D9x;UkOi}B^|XT!fo@HHc_aZLc5qtZp>ewi_aYJzDZ z!eZ*X>SEph&P9l(nBCFv1~ifvBf1cb8;soRpz_)=W(v92&IaVbka~kf|26X`{__-0 zUGF!g%l8*6p6ZEU`NAVKN96GB2mEWqyug3@? zdx2ET)*QaygTJEwNrI=j(1nG)In;OoRI%L7iz$UGQaOhURRN~HQg2?z2;BV3YWp^& zJ^$yPbAlVQ=?9AiiT)SwX=joVhR0mV$dqD}k~A2ad*_87S*;4&l~yOU*S&M`W_yS8 z$3!F#(HGf~;^K2Qu(Lue?~6Yb)~4~>&(5};|E|Z2IQcRAoyW!kG+p!$eF2kyd7z0C zuxKgA4`uppeUqaiZa78zHU9cqG?wX|xo$KNwtrxONiAGQWw)sGt*R{Qfo8W_Mn%L&?I7=DMxR%?vkJ&sJb%*N zLH8GOsilMO{VYPm%@J{N_-SD{jR-s-dX@)xrvNkwry>nt#qCdo8B@zcPTOIM{!_obFXsd8$rWJcHfp0XeB%Wf~Ha z?sVTFz&%Soyv-00g0AViL@?KvkQNKCDB&)A|0$6#+>=&;<*r zwD0=ntHO_PDQ+Ka2akW3?o1vo7rIc(pu6^2HJdHLCJb@)Ay1gqO7-stWop0B?8)!BJEp-`_08=la^_Nk#LK zEjq!5JSe!V7w>b@=vw#xm)m)Y75G+nYTUd>SyBY?8q7djv^ob-ZlNMEG!@Ya03e_c z*if@3pbvWv`b1y}Wcxt@GdwxMz*o4NoAY8ddLiCPWrG{3+EO_5mD--YQqp|*buYuW zG+lqi#pLsqS-T+PEX40=GN$nOZtbgG&nn1H7_`1f(3x!CTm%`$>BW32-{U_?O;svbF6rpOTHS_~FPB9OkMWAk5z~texaKS!{O}l^ro*Z>x6z*n; z@MfOyl06y6Shj~6>ITkF@<`?gO7CFJZacm_nd`;-?BoDZUp2DRYTp7yYSmx8FEh)Z^)) z2)?%Ok6SVTy8=8jWji0`G}v3}1OXq>J+j%>O!Xc@$Jrnuj56xpTIy1e@lozsbGetSzhvO`>E0sb-o+D=n85}X< zRDR%2q?5vKjEwYX4((=Z+W%C_j{F6wMytJ>y>BYPpB^DAAe_B?I7MD_K6{{_71#+X zc5us@I&T+{^*6fTTX*lCL3-EX9r)kuzl6qc5ZpCu3$K=GO@McqxT2S}Uc{+FTlx=S zlk~OZ0=et2?3q>pWf2Bf%9hoi62p&dH$q)Y;{9HyTS}ho$Np$1wYbb;Ven!)e_8zH z%R957iis?myK<+xccsaG2%ngStRqPvOE_Cc911+~i?4QyksOf~pUexb*W(SuQi##w zQHGmpO5Y#c<+jb;ZB57^w=dX*2j|yjqeR%!6Ouk8M@D*wu7=PoHKsg8-tD;y zN8`E*CE8GOY+0kGY3BIvn>}G10x<*AlABNKB`s@^;TRXY)pvJjBN1(fLEZD#A63Oq zyZkno4^@}cKJuj?O?_=WPL9}`>OL-X*J~-h!pP)QB*&UYx;?Gn_x=aU$??Gh0bdow z(FNPgo9B6(pp+%C_rxMYZPRTA4)v|bgE9Z+m*^Y>vsrO#usxlF+s4`C!lRF&eYc42 zC|Vn>%;sn)(@9&|tgyvLyL|TQ%-S&Qms`Zi!TBR=0eqNuLGb&`p#;$ja)#4|TUL$^ z-0~BO18h3aKme7e|3)AU*ns;V1at~+FW_~II|KUEj!T6|!{l^*^ zv94hvG!$Z;I6d0tJZ6g)5xXAbK|V}mywa`}9wInfC38z#ZpAff=9>8N7w#yhDV8V` zi#P{n;V0LIzS$y9i%<#yaR@~o&ole3>vz2#?l_#bwqzCQS|Xa~{2v#eHIoP&+VxJV zlmSa{nEkXW(6PFpN~V5}-Kv;As;oLkO`1HRK`{P9FZ5c3E1`eK%S{bd;N2023wxw2 zdZBgG)7}=xrCkE?eK|BWENW2!TW-~C#QVDmw1&OA^$m&9A9@_Sb6pDag8rVNXLmn6 z^(R~sfid`D0@M|x-p|#t`)=+!Kd(CcAn~vYAF4D26#hBUv!E(;7?VM?>1sPY`_UA7 zXJLT73N^awm5ng4se^8dP|y$QpLLbwZk~x8Nqc>ZsqS&)$8gx0BiPLBDd+`RtHGO& zKY4t69o{Ki6awLO*#L#atiR zciU#j5@C2Vl9y(X51#i(WiHwk_TPent%`pO`#i}D#C)$^N?1ZX2fi*scIp^&YiKS@ zut>KAjEsab?j9V~JAAnh{MZr{ros_Kn-;Ib|2!|r-EbxMC3mGBpOVS1yBW$;VhAn! zE7Fbo78Y3n49h3d>Axq~6}8@KI$No)D*2>XhDZ3E>o|!fUi#7c2;3 zhHjeA;cYRyJT-*fBd*xWV75rmJ+~BMD8T z@+ulQ*4rglBaD^BRgqgM!*{torV+>e9q+_rcWU{#Y@8i9b8>e|5(d>XDk{i_9w^3~ zd(<~qs};wqV89(_7X^82-zD&(3VDBXa1fI-SM1w-x5TD4GFOyvJ?kdTKgY^($$9AEE-J$AqP{Koau|AeiEUS>@^O(3WF5?xh{=<{%N({am+~??NooeQ`M#;cgBU8y=db?o{EHC$7o_ zHG++`i}#LJEF>bMclWaDas0_U(`f_mvB{o=n6hj=%$FH_G7diWCm$*pM$`RHX9p-u z8@7cGsY-iKliiOyrxf3PTX0lhQFLtaJLmI;B}zfBhQoP=s{&`mdl2fWXxU)t)xEd( zytRJWJ2xj|q?g~z)AY+|%+jmr5O6zb<#fB7WdFXc-I#O7!?!hi__lvS5AEYO87ji% z*0_9@7oZ0hH)UAK0pt<2y=rR56tM{_)bqQ!_}#_+@oZXdIvXDmT0OB3YA!5>CT-V! z#z{DNJ4bub2Po3nTLj5eD`ajyr`-{DRW7Qzch}CO8YoI%N4frcL_pFfH3`UuoHgwv zMNKdZihNkU-yYL=y*dq}f@a6!Pw8!0>7bW+OuJ+n((ZU09CPl9bl2pqbM;g0v5R_K zwoQ*>y=hGijX-_$zWLufLZyK+u9d;pTM>HY=u0|fsps~&<$a)R8j(ky^j~Srw3ZWa zmxC2h2J$Pz3y-{%L68P8i?9Ch{GJa!2RzK2v2%A_S=j5_qMo=>i>7Qs@lY_i#PHxL znL!dIzC3RczveT$9k)V8-ORr9@MpKx+ZeMj7Ud5*Dvtm6Ak(T9S0`1;bg`Puzr!`F zs`hRnz35DM>D`mpg0~%pod9!IJj$=%&*&cbc}lq6q#do%8hiw3ZLZ!;uE6xc7RyA} z73M&0-sP_Kqe`QHRwfC5%gJKBjb9hZjmJ*f3*|(tv?!^U*v6S)jry`FeCz9>PqkLe z{yN6LoqhMsIrm{_^B#5bf{tZB>|R8qu9G@*|U$ zrrKG5`D3+RUfkw1IiqABw`*3T9~RcfWg*opKdd#?bxVBnY*DUe#TFgQeg-3jNrCr5 z8yPWtwxj~H{Xh6PL1B4QGkv4$Yh8ogNrfzLvirUMmmR5)?9=vlSB^>rYj?p-#3fT- zvwr<-#Hu1U8s?bI;uNH~$TQ3}y~qr^5Kio1$nDt`fDt;~R~h$6%j*yR0rG=?(C6kz z;Vv*Uy*1@_i|(C9?)!17S&j%@pG05Hb=*Hb&hhMpnX51SDAymiE01UiYb9m!IL^&OXJzJg?j5 z-pWq5a-r<{^Xa6v&>Lp~E1m-3F3MBi+}X3QioHq97m9^^sLwX+pRJR`H1HWFT|HI+nZ6$ zM?`#$Ie^-%Tq_Lm8)Iy;=;j*@vB*Kgf3DxCGF(t2(d>c?R=lt3h3O{{UMdI@^;rxI zXwpGHjT1`VIWML5L>1OuJaVM${@zhkG!e7lo)v#$r1V@#&x6NjYY*v zpT`U}@8wVGR-W+b$Wk~`@SE5t;Sj|z zEj2mv=xkHfgsz57`RPb!D*-XA1p2sX!Bn`a)Vo^heTw1^Y0wl5@h*&#$b`#;{K z6M4Lq9_}gjf`(MpW3Ls<2X5I@5W!%J)65FgHiGdx@UQ06l_uQ&_dc-U%V=K4i8cT7 z=4E`?_WxXMOPmKo_r-o`j?J0jj)<0;ZC16q+I%HfpB;ra{&-Zg+F3qO&ZNMD*OegF zKKixS2|d}fxZ40D$rg4zG@eifj#VR$&)nI!EjEb+AN0e&Ru_1n^C>VvHHB9g;_pS^ z<13e**5jSkAjJ>|dAL&E=zJR=Ihc)JWR5T##8MD!)IvrwJn}@RBRG}Uz0%sQbT9C@ zwatf)RN%2K$oQDx8Zoh%i~}K*HCEz^Lu}?Dd)8!g!s_!2^&_np_$nm4LWUFN@9#8> zb?&Bn7mDioJ_BoOJL^>ltgR1CB#Fk0*iCrsm}{?rq1@a<{P3+W!y*a&3`{&V3nuG6 zG`X;Te{qBv`J6AfJ86=_j)qesG)?E}_Ik_76&wr9)P1v%6U*__Oz>dhd^1C`{ifU0 zly?Y|YBukJ;0F0O0pYMHhMAYu|1w~u&0YT`5x8L>r2FpizIXcD^DYQ~h0k)c8~nU( zMyl#346+#sEa9?-q?`T%sy8^OOtHcyY&6LDdZaF?lq6!_>rVcyOL*=yhF@C!y9uP%9Q$3bA9$b(mG!+P(a zBdks#AdT{Z=*T2S&Tvu>0SNY_oOvGavHL?>ofso&!H2uy9J4kL;>Uj3zhmCXErB=v zu^XCI`0S|!xxs2p$?n!QPf?_|LDUn!6Q=JqKTelWVjjrx1lb(kAI7eSJh+=R$(YjD zu`g?s_ycDnPQD!8f~p;r+U%%y~} zG=i~5pl*@~hMybZNVEdYiiw71X-prmvZDZ{0K+q#bBm$MAekWSj}D970}!jzAC~lH zzbSn^8(&*z6*^oeMHc&gnQbW5d+JAa#f+xl1qWV5g?a?5o=owz@iszwx&kh0L`Vc; zIS2LMm&}+p@wYtW8!;qT(?Njbl zrs-DSGk?yJJr*A9-bIDTBG6o-@emz7Moi(`FgH0Ov`aO9@9gO^ugA=m2i}hho(#P+ z=AmHqugZ>Hmmh*h&g4?rpJQRXS?Z4XXX7yA#cgFAe%3Io3PU$6e$LSp5pC|boVd!P zkzzdFfT?*Cifu>*lGiFur7wj~e;G-qOXX z!>s8#b~iQXzk+E`1OBBJjWl86?O}(kOkw@#KM!h-CXCol0APDDp zLvKoKm+(3DfM&n(MPk3EVT1K4<0|?d1BHFTalr+menc;RQf1u>FAS5A`I5l)6@!_f z>0T1+l$7Y`2)EeFiMcXc8rx8sS|L0<$O**{Z3N#|HR|nIF}5t@te=e=-puDNc-cwJ z_P*xal+TiKDqbNhItdio3vD|lY13`RBR`v=yGm9n?en}`+D))$_`&0`c3ti(jb$OJ znhYr+Yb22%)HPk?u9#Bs-DI-kk0rX(^!G?YM-|ZT~ z6vtk*V@OB)1Ko&Y(AEr6+4}jpxsqwTwk$ehYcWE~=S%+n4FKZF_Y!}t@F8&~S{+6+ z&Il#t{iB5nS%I&5fMPZ5X`s)j5sflqc*Ih1Avba#TThfw#(mqf@D>}Se+J&pRvP8Y zSB85)L#qw?yLLHAAgT4@S$avy#fJXvSXp(Or#dO0J+KyG-EQ6qlNI zEOH;A;C0i?6w6BLWoS2hC&vQWhmyHN>0xd3qZOR4E4iw#k(|7U87_l z@wT66l3z(b9jfZ0K1cq;Qbv%R#pzP#zjqRK)#uvcf2l4xsxw5ZbPOWe0cl5ywc^Ob zTOiw7iue`<$^-_1XK#RswuwMxl);rNVS6{LG*Ci1>|+dqP@2g3bl#AX7)S{^Z6s^= z`~ST$I&&Qo*z9X`-F+@8h0)OTzd{U-nN)gGI7@{1Iu z5-IMDQuER8rO_VEq18P0H6G}}tJvP%+9R(Jx?6vQx*yQkHeD60UVP!+zim**S=0|w z2lhxx2JgIWpjn+R!-%~@ggfyR2w`!&VZWiAkv8V?Kdj6lKuU)UH%WASHa)t!?SCn@ zd?NQrjHy}qNWP+-v>V@w`64=qKb8@mhTI+QpjX`nUUU3S*dmf^ahid7QnRgKsm4dJs$&l3x#*z?`;CS}y2n)m)-5=QxEWCUO>v{E>jJQU!3{eUXzC=A4z1(ZN}?vmQG z)?2410#0v}0w@lz0S!w9#myvSXLk?h6=eXLF?4Avg+rH$;^rIiH=w# zL_xBA3IQ)=rEZVKo6?Xj-4DCJ>zjY_7sFOWA8UHHs{~4x7|R89rsS&)rz3;1f(^qf z^_F7QgO)AlBTct>RgdJ$d{r=R%%eXHO?p|%i2kE2UdMG(rV`E>C)T0Xkw>je3npPv zp|?G!QS|T{x@lW~&SQEylOwNz?lsH^#@B2V-vfgm6Bfiuf3F`dX$dRC>biF54(J_`;b}o#BWqgNDYpi z$v_Z7{5`C(C>UE*=MF>dG6?;dYM2t_yeI2}CVKgUw4Z&p%c%Tli?4SB03-`?a>P;3 zDMGz0Yk3H?ZeYIa)3y z@5)zQ-|(R)^eCtED#_$9He$W|Sl7Qmn=9>4Hw$Acll;YO?Aj1bg-R{`0Ltr1;xuEP zT67&r%%O!$g!9`~g6m6 z){omMu8`VrtX+1?>iPl0Lb%-A7z}y*l&E>S<6&ZIJ<kYiI{e>96x3s%>rtedQQFPzBfHG z@xrx3OS*H(p%YW970}_5!alQVRExA~&$0-9wd{wN)Ap0ypYgkhH|!LbBstvAT30ah z)-AZDo5CCVwHm>I^epvyKs1g2B{e>LgiE=hWMuzduS@__xQA8NuKEWAj~mcJtXS`);F#un_7YZ}gY%}=M~;@vSOb$!+oWZ&u7UW=o^vR{atHwOcL+eK68egaT6xT z%DK_`YMP2lUlkX+nTOJPYQ~?)s5|{QbP{jaZb4bwO+exJK{2Vg17qichRVbE?soAbPxZ9ZCt@~_>QV86t|8oHW zqjC51zx+pXz?;o8SEzQ&zs00NH2TeEati}9I(>eJP)N*(RvRoNW5?@_wuwVIi- zroM%o*wL&g8Qn;qSq#nTS*tA~s;1^wDzgSy?g5aA8J8Fcc&hG+Zq}7rSfUf$~$_dxJZQ=~wdu51ew6UHL=(?otKh{f3grjnVj1j7V_SmDWVk1R4>Qv^#npOhIk>j6p7 z0{KLSenVv3Jr%LL?-AdDp6X*uY$UDcAmWQjE3U;GrMMvB$X!4BOIX=+O?6DJcG|}b z7f4z0$^6f9`%bty8Nu@QV}dBc1_WbkXCTyG@+j!B5v;@0{!jWxe2~%uzaXGN5ZZ)! zeAZN1b2R}TFzdYaLr4K;1T%xSm-L4PXo-tZX_d{D2vy>+K8q3p1*&%k-k%oK)Ob8HArye)~bpL9^buMJTV`2`V)T zCTdx)ANLpJRLb=$JfacJMiiOrPOQ^Jd#WvWcyD07!e{;Vu3z{FnN-n`lkW3z0D)Ip zWba{Wr5ID-FCzLORv|L7r)>(dx?7eNo)yPw6@`TatsF+zhU(Nel!k0s;yU+kD^@=^ ztQqc&KYK_~9EE9Cw!Z#to5#LL`L)>5lD57ww=JyJL*$@XzH9;{kBi&;0SK0iIxi-_45;N0OJEUss zsc)RZk6FW#F+&buYN~qQE!8lqVxq!g1rm~S%VU;bzI8X4Q~CY{XNtOhx6s3Ya*`Wo z&apmVcUFvYWItB;7*hOLh(xE^IOAr&F57ExTM*Gn`fJ{^y|=0d4Vx4Vz!gs>$H|?h z{@%$*p|*3*ZQ6wb+LsHx$s%A=1dBiH;@k`dg)~;ucKi+FO!Yo&)<(U()b+mZOh69z zsM4yBk@Gb$wg_oxn|-Wu)RusZ%vH%3#Dj~)RcQ#xvHueaGgpsW!v!9W9aUgGEDV~X z!rA=mIKW*}%{(N!(TC)Y%&uq2@v zZXf-i$Hz_%#eXbm@tpjq5g$he4{BGtmZfaGdRdiu#7=M;E9 zmDkl(_31XRZn3E%Qyo&p3VhM0_V*g0A+Pdj5j{dC)R-cG&BHuDV^s6LG4 zH+vu`B_Szi398~0^)0axwp3NZ$>%9b=o%wZ@d5ETdn~vn{zn%ZF-t&jVeocT-7YY=~;IzVQG38Ky=%<^xzL(Tf!qe_y$-M6fD5fF zwb|RJ>8BVuhfE%T=CT^QI=h8pHb<9J5kz}-Ve67ljo&Hlv$pVgd4V9ZhT#sx?+{Gk z6l}W$GTiGh73BMCoC0d~-Jq_LN{{w>n9!d29R8so&G^2lK$jiREdev``ll$6$#6!f zz1EBYIl#XqE-@~G#TBPdPi!JF zoT*ecT^d;m&wN47wl`qTQ~{PTkS+X5_^YJ_+d81oiwr{?atN?~D@tSnlIOSEq;TDzg8*R_Abu#X=d7mE1x8cXFMks@xswj`nF#VS{ z3oFPRqVeJ_uYYqSRx(m8vKzb|{WDeIWTyRoUXCu{*9qhWg=3)hs!tW(=1S!D8FE1m zCsTSqpJE=bguq5ddA0kY@DTwr{oa|Pc_?Jbh{Z5lt{!jXyfO{D-~R7Wzdi?B>Y125 z@seA-fV!!!;u;p$N`3oWV6Oj|ky82Kn1-@mL?gkcjek%*qZCOSw*aG!mt za6xDUpV0kVe%gqlss@#sru9_^MQg|-eng#T_Ys*Jfr?WRt+|rjs6Sd^2UR?GM- zVEym(jB0>(2eIe5A}q}vj%um4xKy1-R_mW?#mA3&tX$TEx2=CUuq|c(=rKT9d<_)y zo{Pn`a){}?n;e}JQTywqv_f7%d#dDkpCPcj{*6xhV6NBXJP^ee<&=NR@#Mv0#5W!# zp!w{k+G#_9K8yAV8=@N>o(!p68k#je6pL%>XJWv`Fn@lKT$J3Qj@k;za~oY86KoD= zj{<8oLEZgcJxX@3ykRc09%;=nRKxf__EAt_ zG{hy7iMZvqK8ClV`Fxfsl8P*%t>v-b3BPmzN^B$0=-1SG!B5t1g39LZcY7o|@RtI= zJ@65mCFrK=_>3MDf+hS%e8WDrO57z(6Eopg?s6QQo7A85!(X3+^|HYP+5s@WtL%4N z@ba`-tfq<}zswEeb!K1TF6=y6jDJ`+{+EbOP=*DE`89-_!4wr_-iD+Cx20NrE-Y8n ztsXvvcp&W(QiikX8z^Tt6=1|7Qh;~98D8;|W7i+0e}T`J5y`OCV}LXqnc`0t8oi#k zh~d!(bo#v`1w#or7LoLPl~!J-wj=iZZi-~Qb8(%p97Cq`$w=tMr0JDOJHz&b3YG0yjl+M$(-0@UQqIOBcEqf?JN%pip zs*Klq8q9qY{}pN(D++Xl^J#{u$!JY|Kya^4<6x`6GAG;R4K6!7rMt5ae^kK2z=Le8 z1>|Jb4tWaaGu9kM66nHVK5!jxH$j4K<9aTBf3M+6ISbEc06ItVbGN8F*3ik?32={A z9CQFV%`uqHr#-U&4)t;HPSIoOxpb8tnjOkqF)UT8twZ3_PufD-ddYs)*4oVEUXQFP zemC5j5>1i5c)RZU!1OqoIjR0j?8}4p#6|M{ilqfAl?CW{@m|%;^t8y9`)dqEUE^m8v82uH8LA}nv@AJqXpah+V(fL$=YY!yAN41NaZo7D%%yjM&-HIg z?!Pq~qv~#{t5Ak&lLa*9KeY+B9lwv~YAN3?Z;5UovsGclt9{vf z)}2aP-TRZXhG)udyhS*_&&cATgz>+>{N-oUS)RaJ@*+ny(q|~L6C0`j{`WdBRf-pHBsDr|H}3KDq<>Y?_SC5u zvG$n5GRI$actYB+70k`EE>C1?%gdA8jr7>Ep)Ja3g!{}{s^T5(AZ#*PmVgK)jCj$t z7Rs@_EwL%mVK6wiW(fYU&phZpkg95^Q=3#C|0Q}(&Z9|I%l9ze0%VuWNl&`<7vBgY zNnDL>WxlQJtdke_QEw>K`J!~G2L5y!&%l?fnBbbnkcqwSe}`)?E(}S#FfRAR!}6vl zKr0DG@wm2>Fhu`zDPT0SxyJ-c1dqHb1c_jLtw5LpZJ#DWCE`dem9ep&$H!OdgueT9 zqt>y&Ic4X?c0RS_w?p1>dc_76-Ln-nUpcDeypz*aak)TxX; ztJ!NU1Hq~G)b-yj_(zX*Gij|49rG=+G!kx;< zue7Wi?Oh*CRfCIs_61{sD(+dZ&C|1wA%(37W1FYleruTGsZ@xXZ57l6MIo|-vfIOG zhMuR$1Qq90`g>>^tig0YAeMr3GUBhaakyO&(O4Y&ukL>NhlCt+FPHTys8#nw2JF@R zX0#Oj_yJA|(spXe>8l25kRbExha>a&7)0VZ%*xe>%L-h{g#zp2p3x7hvTA0k%#^B9FJ_k zIxf{O87ZAE{F6wvnlB~E!yvbnRhkmPEX7Tznl;lXXK~X#!Ki>zd!(h%)Qm zRLD-S_=ci6a1h=zBIxTVS*86mJ<(5c!3WHCn){P)=J1UO3oJ?!x1Ouud}{akU3&;> z^IbJlhSpa*jEWy;=TCkPhIseaBVcSk8M3%lbqoW4cN8;bM5zh(eJGg@13cnG$OnJoYEA| zn9rYL5%%8{;}Ij~s)R9OCvX_EDuG)_7@k6O0#TN1a8Eq7#v9+ghWkZLyOgHA-9xo_ zv#DoeNG}zI7S|!l)ED}!@7MORIG3uKO<0CeaNh7rR+o#gzc-h{lm}JX3;&29 z#@(lnaJFdL0xaK7HA}TM`rz!8StG_nM4QudTEJOxCz^9+2Zz_w-NO#Hvhf5teOF@T zdx7|}=j|A>E?x}y&F|DJ-o|BJGs-OqX$LW?PZrAhF>J;cwag=Uezow?2sasnKdJTG zz8|vv_&6x}fhpe<=1< zi3`lM=nP9&cf?a!q2=D=%^zit{OYD!^zp#=^Wwl>DJDTYwj+LJnHyF48k46LAyH*J zJQ!;qRqV*^xQbW`&Zm$~4G5YfZ!HQ@<}sXxe38GrF*scL`8@VzEIi&T6*`J-<*~?q zomMD9c8gB1Evcz$2%DuIhAEpdeFZ(^(}vB*w=03|0q<68grqKA31`N;;Kt18>!P0s zQuUOERG_tAHo7CheUT@|OF2?1YgUokx8>(hYp#DD=W0tGuOi}W4M^v;18A)#SbW<8 z;n)FitTGJ(&(SvUFABKiR4P*xtmz*sok3r0QmXL2P|uc+yHU0oPhfbGq0-&+rApxI z308RO@Uyl+5kl6gUGhlQqm^0CETM0#UYl~iFpU+HV+M>k>TWkE)6!yty_oB7{59)6 zov@Vs+=N;<Qkyyo333V<{O;8|!5C5I+jh_Z>cq9tFC3M& z6G#GoAlQtOn-ZO4Pur96F*@(-A(GUT$-5t%T}(74PrUdcXW36Zu2ziV%nr~|g{UL~ zbx1ljRnP(^9}O?IP;|3ae;$8%ukR*YL$#n6yU%R&Rk8WykXO@A>axJ$mh-X>s_akI zdE2K`R<1}SLv@Yo!c^c&yGSDSIWInOd^NJU{ZeJ_823eDyVbz|Sb(qGUn(q!Wm4@T zUKDdjXDZ8|=GCnTpUEt{0XA&gC4GcO}o|9NYZ01X9)wFQlZ`Vl6=m;nLU^(d?$U{;V~b|AI>F<(Zb_;(+<( zTi-Pc8b?3y2%JJi_UvC`qr3N@eb0Z`p}O^})t3LB+*w1IAv&ibrm&)o?JZ z%>A(|wl_l;d@^7(6h@`hNl?3b?0J*BE2nU;_qcWOQ5;W_&E%g0boxs_dEDE3Nr)yI z!Ut5PQHQN=ZiZI_@F+vswS?;R#KkzlUsYxKUkBaZOJw}F9IPv3}I;u&`;l(O=umdDRO+u2HxkQ~;%2k6(&l3EWMr2o!G8W{f zT;-C^($K+z=a-4oWH54Ov(VKAzBlg@kLmqH$58XW8OjaOJ=swJGs;?%I31T7T$Rc~6XfyguL*1ca2 z2a)ENOWg~9`ipUtXL`eeDcK~XAN{6?4}MSUgVOy<_*gR<>DXS3g?KLbvEK}CrvOJ% zLt6EiMV1r2stMQL)MCLE5(CBGDZ@t1CP!#ZTB{4+ljp?1E`@10uLR>q)?n!)KQ#W2rQOgNZ z)bD9qrk_wrgzDs&{eEuBp7EEkn-$@G`_=4iz3Zx?sYt1F3wj_6KQ*N+Sp5oH&BzrW zedZ<69)o5to@XtWrZ)5SxB#GiJ_O3IkE!lK`*wGRfb;U1R~0CcDZ?uCKk?Awy zVnEM@yCi6@E*H2jvh}#R2;It}4_w4(Z0>2JuShmI?;^YX5^FWHG=K4)(9n>u<7SiC z^lvDA`4`K%nO~na5G%{+))Y$H%7M|h;2*9)fAA-D0%OX+v*3P{jP18kW%gRQweJgW*B{}>=fBOIz#q)pHH7u3yjjavPPawwm_!vGUQao2zUmK=Mr2a<1vMMXv4ej_r( zu#SH+`RvB=`5?kV4JvZZ#gB*Hg4Oq`Pdmd^>{Y%pXH4?Ct=|IJDND=9j+6&^ttfjT zJjPuJJLm-Q{<*>Y^c+rxn6p16mcI>Y^=tTvk!uvcYteUbxMlYi$QN2i)(!7u1~ueu z#-^W={Iu|LZ)jC6d3d2S&;OisJQ$xXI@k+cH!|3HKFT-;6qB2_A42pjA3Myp@G)b$zH~`C8?hNg4Wg0Icpq{-vucbnI zU*Hfby=vqRP}A`4z{lsZpXK{wIrEDiw~xx}7)&`~@vw{V_I$_E$DT zzdgAB@*pBOw99M#5>i=LUQ&`lvVh6TY~{qS61{r1HoTvJvWeO0pfeA*(UX!7td)Hm zd#s9hPFP5?BHzkVT`114S6c{FPg!0`1Uw^A#egryk&=GFbroR~C0s=MTB_GpL%Rc? zJ%qZ5QyMp-T$13$#~@T(E=yC4t4BO<8jUNFuKs#$*TqHLv_nu;y`N(78-=VAwnVjE zJ#OSL^SA1*UJ;&|B@=j_^*u)M1{N(^c~?7cD#Jz(5tTAnDlH{OYbYx#=Vk2|MdMW5 zf%Vn-^Y?QYMF;rew$W=x9&wqOnab|+bHBRZfT6pN0OVNdA+`U$6E`>r)T1Imkh%

    7I2+rBIQ;vr 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

    ?NGc9mI zRX^$n?r=#R-?Ij8CeOVryfbKTDYQEv`5s@UR$>BJA`Jmv8g)|RU6cw-rAtwJ<(3fd ztlm}3+F4oEa#UKqFX{j~u^uhOAOb}%y{1wSpyK#k#v*cRL9$ki3Lazl(00nb;4AtD z<@?)bD^gIN@Z88T^?2L6IYnwok8}QfqMb=O_ziU0KnTGs^u;ddf+Xm428fW0nWpDe zGyq4meSqn?ug$+X?!GJgX8zVG3?43;Jo5p9@a{MKy8~hnw8eh^ zogV%$l5s+TaZ6Fxa5n__`_M18zAk=QUzg9G7+(X@$9Mpg*AoCeYZyIUV{ojBpZF=M zdOZ(G9GuNq4wT044WG$G+0gXX-G8lZdJnS`$W8{|ajtI1guM05kfFAb!e(*vCr>#` z{CXFJPR>2@%c@2S+1-;|IcsYTyy1*w-}Jl(!F1a5dO;_K@|d^|P?_d8<~GamXYS55 zmx$h9Lu_L=?$F)uDiR4>!hQhsY;rc+V@!KBbVVSE##x?+{Nz`<0#zq&z9Q-+dv`9c zU2YTQBCKEwt|yE5fqiTr>RF(fSni7tZQow4-p);Dl=?lc!pV1%Iav2Ob>gCZz!rNO z_;{u{^9U?LEqhQ1@D;2J1f7;}_rx|CiOa)PS-t;mu90vVs-mHui_-*aXNLvOWCrGH zzf_Rco`ixv8tf1kk{C=2toC}-#@5Jb>&**w4BrJy!JP%p11m_lB3M2kjuE_Ef%6LpbH==@ zkFS%_YA` z^8E^g*aywIhXX+q&GyR{{tb~-JxA8U-prNV%zq~n6D%>;`5@vf!*=}S`;V-nTp)ao zI|~#15m2mT{ZO_OMkuz!F(2H4>x+FV=>l81^ktm5R;359(|Xhl5*o!SQ%;D9jOF~ZVe z*YX{LtS!W_QLTO`T5+m)p+IH^l#6Pbks0|^1t>5^8%D}xOkr|JxXdPWeFI@IDO1hx zEu&cSu3#R>9ZMYV&K3)Bbm^IVx`1(cXvNd)cBN_ z1zfZ~xGUYrNBT}|va;*f^lHtnp7>wQdX~J<6KBqSnkC{I{WVL}=gwKFud&2cP3>;0 znUtGWiJW|1x>wiyr%tV}0pp?xIu+p^%P+Y!<~UtghNrnPLKz?{e^tniljO`r_28;w z9dY~AS@7vG)pOOUgH+_@2V>1}b=z?{j6Va!9G?pwBsKVR*2L;;wmxMH8CWK2AL}@A zEAa~Bc&Zm`@APfrz4M`2tcm|Xd$&02=w=9xz1*gjQS0qEC$I*;U@ zxdZfW(*XAa4L+LBtHHAsTBE>vGV{D)U9@P+4_kx;SX$QL_A`wG_W4x>UO$$c)e3}i~u%hgu$ z>~}hf#CjiH`{W`u&M@b_X141LE*Qx4KX=H@q-o6d#YXn(MLzh>zSAhGHM3omUO9x5 zkcM=u*|O|ANsFI&JdRzB=^zKkv2+eI!_TKazo_r{QMa!`ah7fSk)<~zqC=J1fvc*R z^_ONReBQGV(WXCi+^h#0>NY#rBiuWzwvJFH2vA%dq-khbF5hZav2gYKR@sbuy8a>S z{L&?9aOd*TkJqztrc{?si)2mG=Xi$IBr5TkCGfj=G0O)=jKj#oU((n1hU@b_yY+a1 zNok$h6!t`bQpWDUb+nLQz7p77<#G21U?j5cnWWE+07d}5i z@fpehVFAt+-kF0}O$POv&d;~o#z%mH^=I4a?}HdObX9=n0;lx~u(kyk&i7K&_52C2 zolplhLn&X)Qvp?VnMRu_#PJl)9An(758qY!Jdc^6;ZPDWDJ2oQ#MDEi&KlsK?Ck{* zbqG{NL_U`?+=`H*;36~*-LI1CXLydY!n`lxH*gUOvyEc)cv`;esJ%Sdz-6$m?U4jS$LrFIbC5;Hu-7<7{NXO8iGz^`;!}EE+@Bb{; znse@R@4c^mMW3H2F;`VI98P#WRRu;^_4T5f3qzOc-Gho(l)}6@?Uq(7;t^bQCVHCL zz|zY-3+C9&=F=STV-vDnx~Fp~GjOf*I<5I!viJ5q*(zF&rfg?D!{p^uQ)a&ex z*6j{E5jDa;|^&cZ7O=@+{vKDnM9w3Ddi76hYKsUb~@S*YzrJik65fb##+7&FBe~( zic!H&Ny6=08m;i{%jGbDqx8KMWl5;ih^9o)r zxs9v<9_S3p$s9acf1M@o2 zSoJukJ*B@5zV!y;+c45!uXc>Nr}(j@r`)qJ8b%C#lKr^}sU!=@@LL_UB?va&65)Qe z_mcQHrYHLIPmg}E2kv)!N<#|6P{uxEt(Df7H!ChTYb@zY?tAto>u|>|d;1#xYdaRf zQe0>8C83j_0uRUeYYQ7X;buF?g51G|M6EaP_Z=Ml?C+b;OJDbyCj3qi>aa3ZMg_i~ z>l}qGQ^9n~$vsYyg9dlkMe99W+CaQQc6c7t!tVoJv$J8T(#=~gvcoQ+FMshRNB>YV zzkZU`_5=25T)=biA@`1h7e8K}Yi%HWKlY*7>K6I&d(!FAHk5F8vf5NT0{k;tboNt&L#|s z2rnn&%%(=6@4p^BfF%6BVOu9Uc8@J8v^Gd~IU0XmONP&0#IZ$GwfuSL=4wVh4)Ig2 z`*Kcw?CqvynMj-@WP^2($4dG1#A9aJER@QM_%ujYZ`pN-({;C~K&}Tl__nM8PR_K* z`7buV=R1$Z=D0K-e}(av3E6LBqQ%~z=YZ`tGdk6mxB>R|J?#QD)mLui(*J_jhkCy* zIx^#lp2h70dd_Y2i5t>99*lE9w?EEu-9ka=fc4g{_MGLdPt!sD;_yFY^F_yoB<5_$ zq=SqL+ZteD6Fmn6F94uJ#ffoH2J?wi3YYQbS||-jpwwgOvwR#ElabuO^~X3=x}73S zSKr9448u-%Jz-=v@2OOpWpp^>#zxU1Sz29hKwNmz@O0-Y{@Dq1Fl0|H;6N>C=gy+b zg1K!ZighT>M1n>7!v>unAlH>YTdbQ}4aTJa^{WXVFaWnetmZUASkdq#t6}%*_ON*@ zuHRr%;!PW%ED!PDUZWKEzT2hoyZbC{5KAKtuMJIl;Xa2ho_Ni`SR=ne^qlC_8<3|m z#m|Q`XR)yBmBs<~HNz}-ngy}cqC$3$fBBw2ACp7H^APzi)wof#(%@|Bmb(f#0>uFX z&Crt*k;`ml&f2e2Anp+q{ssJwA%NXJ1>JJ$5HOPnp<4uxivqp{mJ7AEXv|Zm4oZ#8 zI7a)LLx6q3!)ZG*9s`o>YPHfRdLSFM;E_*TW8LpfSD9*qSXVJ#ItLO~jykqnu3K_( z(w9=B@|PJNi)u20rZXO5I@%7dtqf>_rhIP%k3Q@t&bPaW+$Ck;)tj)FBtj8M!I14b z3RPBh^+1L89) z@`Wy)w?orqUzK zGZS`wKx38QyK`WlGDOeZMEzGcDOy4V3NJ}(xaTaKkk~bb(XSmAL}sis+45iOS9onR z{7Eo(WO>!+`A?++mkw|34)Do)C6yj3vW-Wdg)VI(FWKra&->?4 z-_+-mg5%U*&>V{=aOgh4VPH(;P)@vJo`)YY%(QdYRQV*uH#YZOU$=qlhZoN~?i%hN z6)FKc9c14EQbDl|Z#80Y{ej^^Gt2u>@E?%BquF1h*j|JJEsF0aG4=aK^gQknn1k!D zscxwqf=jDc7P;_d3;z!7?a|<>Fzy6$){L!~FyP@_&qznOIfgOd?Mj-~MeRWPvHBPk zf%bsIKCJUwv6exj?$!>I_IdH5Mf|*P7UIXA^vt_@uH8#0BEDYq0n@z1%x?qhT3Pq( z2NCkLGST{n?{BU#Q3tQf2F!b44W-;ZZ?hrgi*^94$DYm6jHf8IJDvC{b}gm(SBA{Wl$IX7FV_g(KcBZ54#K0yR&Lc!~SnzOiem(^X3 zGDYKO(OLRVO}$|Wx$D2@?vUGdYeWg(%uvZng>qqR6;^XABJodNC2OD_`yf9`Vurq} z*zC-g`WWWY3>tnZuPis8eY5Tp=h()%6Q}?~Q>aTr9^0dZwgr;;(*1nVcp~;I5ga2w z%Vvp!XRs{9^Yn4^=lH8E2w);~g3MQ`7XfqPREg*K_VW?w31#$?KWWryW+-#wCD3R% zrS8#X)3tzIgbr%|4DZE_6awL5K*%!RTE|GQuD&rNcgva9_YC=gQ64LZ-3DqpYTOaf zt(v6fp4^0PjRIa|=H z$=`&0%E_W~?4{o}=4JUHC=L}9mdkoDaaC{kLAum)ZoB_#pgQVX?z=-oP%pUj=Jt{3QT7HnFcO=6GxhGaL8TLb)2oqyI504`NpT~ zix_~^!-Z|jIE?C=mSkG?gvY#%5<1b+yf_nMF<1mEHX&l=wf&>71NkMZ6Zu zacEz{vgpJ9Z2NjoTU-lo*2zoO2J76BESb{V^})94jQl-;?O6*%=9u) zB(&T4&#&lJo-jfmAX2mUGVAKH?UD1zwqhjkN1c!4JxTXAS`R8454WK6EqRF_<+R-M z3&3CM6*dL2+1#bX@1GaUpZ9=gVFRK^!+G@)^s@3oQa1z_uj5_gi`>kg@VVWO7J)nL z-;IIk@Dt(YX5=sP80uO)Mdx43ladTl(%qxL`E!aCtYDr zc1D4|Q}vvJxiEwJB_b_0Keu6)MUci}v`%LocyihAteSjfc`dy;CRxeoS!a2+YiTZB z%Ad8zkOfHNcRafk#(0Y_KUbMvJ2x?RCk^XuN!49=vN>?rmb1@3J?SQ>>ZVxoFstcO zlB_l`UsZ z&5QJZO3?O=!I>@hQf-a}MZq0%WTFeI&%{|%PJ2644y*zd-W5$KcUnM&cSj@`_j-(+jL9xLi%G#@gGFqnpbT= z6ARnd&&R};s(w7{h~_sFsm~>6t&>VR&{%fG` zV-o)wXfWjRdkoh*n?(IhyU&aBkH~*{mT{zOcsF5aM+xK3?Q*b6SAcVHnBwDJ- zutvkz=r`*UWXMZ*^THQ*_y|(pdtCJA$U*6 zaP;H2U_k%MvP4{Vn%g|1N3&kcvX&NExgN9B~;Hw3@7 z^`Bm<8ohqlK9Kso5H}q+6Sq6J+$g#J9x{8PD(@3an6df;_eiVXt0dXQN7|9f*Zrm= zU=Z?eGGA`%5Sq%;w|*YWdp1(Mdh(I6h(qlBFa!lpL}b%EFi>4YzFjjT09AhQnrx{( z*tc0A)#2;7xEki%>vbb!lQU9pntoppb74v&&;q}Pj`5Phm=6>KPr0yxdzj892~l4= zYXPsTI;jaisj=ZH1~dOFDf=_G^zq0X;w-hMy1!db5M5fJ!odxh#p*ka@avpSNU(I)XI!abqKSSA zlSuhtZ6<0#XY_K0mRIYPi{AmPk(WLc@0FxY9}$j5%K!tu zJyJV^JSk8jcLsFE8`h$l>x&Q;C}R`n;(USfO?hU6XUtvvon@;jBjlyGTL_BnurCb+ z)n?{%m@6rnV_vr;@ZOaKg^qTb|Vml)XO6|&J|ZycbyCTuoSps!l< zlQLB;=(wa|C!U*-#zPWBZt;z3irz4h^r$$WT2$GH<^l3NK%oqxy0=_vwch5i(yve$ z{R>^Jzr-fxdaK9D@(ZKi{o#Z*)B|>&D83d%ln2bCaz1$TFV>=vsBd37U)9M9IvCM5 zsRNhFKOkq1_8Az%GO)c_u)Rm}wolV>>WDHaWG;^@M*C+F9=X$cjkdbzH2#@`?~}LX z+-6Q?-vhcZof^m7#u`g!DKEUZ>s?j*ua469HJgB~8i)dIZXu5?F#|6o4~nSzj0MaT zPQ*`__SPqTR>qwg`&Q^b&L#s|ivi>fCoy!oEl2P0ID}r0Vs0m%Re7u;*A}~Gtd0LI zap~>cxQ7LRjeSN%1_rUW1&GE+AX}U}4@ey*aHrLfSRQTZ&yftIH`#ay_7(-9-!0(L z$AmG%CC=I#4}sCgWpU}X`@zDr!S=@)fTLU&O#`t-$Mk2i}M@6?LxcmD~uTHbBbEs>VPISdv{6*ZO*4}w&whaQs?`_`Fe zemT^JyZY>Cj@fI?MVU@6bPP)T4`Z}gwoU&;z#=`G@-m!uX@g~^sXH-LLj26M%8W~Q zmSRg}6DR@sJD;s@O!>T}{vI9Ry>KL#K{RpuICg)ZmlKRl5k+a4-GNVS%{#adb;eME zzvhgf8p|gIK8x@s3|-4U6r**?d+81-o`Mg=aHT#Ndmq$UsQ_T|Z_Pn;+!!K6rGhJn zqVQ64(+%nQ=}Iq9B!-Vz{;&x>y%JBae(>3eF1?UH;T!!VLlfLLtCW-DS zx?w?*vC_cxU{*kc?TYGB3I?mQx3weA`uR-p4yPoIPSU@bY;HZwIk;qJF3Y7HP+}<_ z<6yp*wqew?@aso^ra!7ntlv9KbzgHWDfz{*Sm)TL&heSD9hm4XewVH z{v`gy$&G;f?v&>cC%Y*+vYLuPJo;tIlCuTsrUzCTEO66%DIKE~=DvM;9_~5f{h6h7 zMQ`^-+6K1zc!I1iDV|tPd81-u_T3G)_I`N9Bk!i@j6g}`ozGFr?C*2t8ngEEG-40} z{yYOlmqPjYmKWuJ7=K*;_siulxlsy2?-@@ET%s{GCI@e1MfLSrmezB#Z!JU5EEv0x z=jP&f6u8@DYJDT_Sx{OWX{JTGVRSpnKKrjZz)F3aPPC1iFhvZ*-*g()5GMsNO&2-y z5os*VGe$!hB~YkIht^M8t&TLT;Zh%LEN6SOga|KfU3vQZjpxLs5DF|f?x{1$3?Z1EG+SwBw-1Psxb8w``^n`n?k}mj%)xyGS z>v$C8RH6>-7f1QGO5+z%)8BIHt^o~{=~|q=QegRS9!+~xA6Ld1WeWLsqC4 zktkBH)Lva(pL*X8w{SAQto(Qey&5J-Cj$hAe4CW%JQxb^I@&MaF&nl>9#IuUZ|r3i+W>_Z!K798<94mFII!8J8Io4ybA1vd78#5h5z*9|F0rTC!51Px>7Pc zS~ji)UuqsOPH;XyOu@hCqUh4&`$RY)74$QXdEMY&V^Fgx^gZx*dwhew>TQE@i02Dq zx3b93)#Vfs;^I#6P%SB6#F2KM=Nd{pCq@3ki~D?~gi(6xT#lm?#Its39Nz-Z1$6M= z0j4|PV*?rbJ+zwaf;d#6x-*2!I)qze9pqswNx##eHX{F&|MGt*k!ZO*Ny1xjnYKgy zH>ZuW085Sx0IEb&n@D9HorbOYtz+hypP8;y;Mef)w4_YZ7oLuUv^xWtdEscXT7b4T zsOO6nXw5$L0r;c%=(VF;d6OlYa1^ z@i|;6mDlg5<|KL*-A0;a62iz{z~LnGs5P{>Zm9WU&|9?N^W67l0NoriOft!4``_Er zwO8C@r9o=VLd^9wGJJj8DM}uG_|xT*DTy;7>}8Lr?>X*b(7t_c(UEefy`zUw>@Bb! zOVk`qU(dhiDR?Gg=PAAgn~%cyxTP(&S+i=Vk7}yaE!`>IF5OBBa8mEuz&t^B1@!3x zayZ3$D}DJN3bgZb>?}_!I9@e<<&k|FE9hzK$Ymu6@ELd9{0JI1A-t9N`kspb->>BcaL!SwzJOMFozdJrGt@epq_Q$=Mj~)*a zQP`B|jLf>z{3#y`n!Z0B;@WSD7L-KqY(qWIH%VG4CH# zfFt<4KU(H=9xyRqfPrDH#V?VA1c0KH+yBc!~SLs$i zA(&WA-ZtT2(%{B?2o+_T{wk!2RXn9YWzJ&Wr6+heR%9<_uS5l4Nd+&I%M=OvJ%B?r zc2BZ;o{k57_J)9hf>d(WLTth^&?&u1YP7;YpM%KHn3d+f(g@@Trxz9GPc+FSSKJV4 zQWV;HXl6ZsZPe!50z02El*$SKa)_~;VxAISiU6l)x^B8&@3X&jPbTqnO9TA=zwd$1 zi~mu&oyN7Fjw#e1SHZ`XJnr4AX6*heAm`$H3f(f@sRms9=I>7?Jbxc22(U_sVtfHk zS73s4pps(jdX{fpC-|CYnr#5)yjR)bEMi}8&U%c61}H|Xu^kgUYdghE(6!p?%RE8VOWx}c%o~- zVEUDdD*T(n{f1n09JO~XZqZ_ySDSRK3-4TE7D8uL5EY+kN4S9~0Us1&F1|&iK|q35 z`{M`ugwFB6mzv%z((puLi=524t+=DB>BY)6(lFu~d-h;lp)g{dq)xPhyh>m6x)DX3 zWh~Azpr`LFi)KX# zJ2L5#Ui?YtWN5|->i6LM3nqH6ZadqUOxe^|?|SMxlJAocq0W@;L|Oar5hEwW*s5L`AP%|XEo#4M)-^(^`LMlLSFPf^sce? zT@jd#TTuPfhES&_rplQ99n~o?J}l2U|H!zk0V@^PkbNaMdJk`Qh^V4Vj`%xMmJW7y zg9b+nfF@|i|42eN?8kbk5qcFSqKKw%_qt^t>W1&Co?k84SEMdEf~lUC8`-nY{y5~2 z?*O<+pC?z@dNgtKijlRXp^UVO?2U#i$b<^ju-6 z&JVf`$LHmap)e?2Nwy&oOmybv~~xK*Qln^5}sCrmhpc8s;_K&939q=wC}sLvsA~7R5g;eB-aSKrB@6 zUAX6|Zlq}ygnU@c^Y-Pf^3^$w+sYL7NVczNnK2NUw-zSuD%`1Rl1No54|oC^;yf76 z7^}FSKM$S8jhF^3vj+?Yk0EkU)3(Z&AW~CE)!o@2btW1jlT(&MI)$piHJW=c;KQz( z3UD|l7$SOldt347RuePSopg0k1f4nUt|%GNXz<0`WMbu$$zyLUJMUpxJbtPBGrt{L zgKW;7<|;cF*h9J*y)F+O9a1%XNngHX`a`v1KbN6YP|1@TW4>sCkUch0OOh8!*4xaY zMeiP9&gS^@OEqDyym|C4D}t8p?Iq#d{BdeGQ?9_P#SwuOhf|9;1x3~Sin5RF`7fSG zNfn8~1<}cp?f-F1Uboz2lci)dyyUs6CYpfFACTghf|w|Sn^T@$)=i$AG+nBi*vr?N zXGKxC2R;Er^OhgAX@7Y@{;~R>{Mk{e2+a#HO-qTU9_q>PiN40uB3Zm(!I0c(Hl)A9(1V{tR@HU$ZL{)bK5K(li#{r@Jm)OuYsl@lD-VUGTVkm7R)~TYc zMfHRXB4n^Z1C74BQ$>O$R%*U_8>R!+X86KYHvFiXqs-Ey==WmBdnvbIQL9}kLA#^m zlK>XZfCFfqd}nny%7FV`2#6#XRgcqcXOzD{6!uAQng@JpxpszmL{pk-u=v!?&VPA= z&gqLY#eBRxiK1lYWpdA%EhxII<^WrD8m4-6!7bt%f*m;+Zm>-Sg1TkDdZ^PRA=pd4FEyXx$>UV zDN>IE_Ueii57uNPcXNFq=t{dnhcN+$nD;7lJII8`IKoMww~7@XH=Z9|wUuCr*|NAD zNCCZzqnx`)gv1sd0Gw=@nG$fi@e;Z_B`~R4E;#SyJz|$2@lyohVClpcXmCIWRYit= zAw9Aw3#uc{a_^KTXOmVWY@Zh^uPoOm%`DDDy~3?%0XA^Fx3TAwRkn`*TBVWa>v}-N z5$aZEn-lzTTL!}rAfQVw7)ujRaqL4V3(Z@bxRdn0z+0#?7mx2D%Vvuu`Rtl;bSIU4 z8hd#oJzE4IGf6c94AfnxH08Z)ZP-OZg%vuFU0mTC8`6 zTP;Hq0^R|P|E&-Tr#H!*rOIjnb0f?q*2w!nLJm&-K(HpKb+-7c;Se+nm*;d-BC(_A&!w;NhA_XzM3 z*rGH1P9l3;AN#OzPg)%_?OgXTskZt>2XA)PS=;JuYFK~j@fR5}ejpw5D%7Rhqg|ur z(kzyml>90=DOoCA=y9;1OU`eXNNjWEyJ6;>h3S0>QZm4R0Y2`73;~R^gOwB~M4uU_ zZK#b<0x;(lQ0j;x(Ujvxw9=PIT&a()Jqxl2l}EkXXqHaUGEG3=-`z_hS?(E*D&nVn z43Pc_rSl7tqZB7p4Ua9?KF z077ve|48%$7=C_@Z6?x^aU2PQ$o?`f#VC)e#AR-cG>70a0i3-St$w6Z*NMin2)JW8LSH+9&+T2%-?C<=r zf#T5SR`FUNMeC_gE0TNbwyQkj45tbxiBXyErwu+#t?ixN{zcyp);ZxzDNR_>d#PCC zHJxwYd^6doRu{I`!gsF@cHE_@{xTw$(0{&vxTw6NcOsgh9UMRN6T|;m9#!`hP}8~i ztcEcHzfDqWQD=ku%TLjQm{3^jNy?GP=n1Ap@_c@QJyJY||H0t)%z7rSzQ@nqwK}ebd3D=v@8*x82z9@c0-QO4CX}4gCZG|RU{!{2a)5Xw*(iLllEN&KLTzph@n+z1XCR-{X*m=DZVNuEnBa#(ZYCjVb2fA2rN zrxhuoL*t>`=<%1pbXhHhV+~#zt=XA!lHt*OklgdYq(}I{+JZI2C?z#QNVJ&{b24lxJTX$$W!id1!vZ9@$x@HJgc^aJQ~F!Hbf zAWb{ia(ghcbZJN84s5UU6qJ2+(s%r^xN!s)l@$uiw*G3K4& zREvJwuuT9X9zcwVJ1baH6v7U+ClXn;apqrCdBedw0|1M2NQJnYm-;AH^y2$Twl(tV zZb`*U`+w$&yOw)+zj-UGJ0?R~tI7Ot`~U!C+f}WtJ;lY`|Kp#WPeaMQQfNpIz;+&l zi$KMu+%IRrOI^-aPI*J8c53s+OuM46us?&X@$Pi!)A4G@FWmi7g+m+y zr*NN}klgIc*5>#A{NwzyMnpV1ivqh1Vh972AA_MEndQ+Ck~Flt*A#ARzFFhWAX?fJ zK@!W2C*Dt<$mZk!ap^R^^HpR#trM)_#lvINJu20^_-8zrUvk*%T6jSGRf&l5GF4!S z9GPx|(js3)bGTPXFp0?Mx0IUNNMGWQIEZ0feccZh+0h@yzPIS|f8_4$|9xs0i5~FV#!6EH7NozS{SA-_&aG0$%ka9{vr=!_+{0%sU(r68mpB|a`@HgPn^)oV1@=P$D8Nz zIAl1Vae1(L@H8Whv5V~!R~cwzNn*@zfd>Op`pjX-(R2`F4RqWgZ{(72->WR&y=aOW z%#s=0DiX)|n#|%cw4jPs`uX8$sq=^DX)}$kP)vPpl{Jgj}n!m;-@2T;(s)9$Z!z~t@NQi;r=SHx_$#k z?-2eu_+O!y$|o>{b#L60w@7??KNeF4naa?v^Nhim{Rfa(}dl> z%Oz7qJWv)E-+Y9&>S){P79rTLmp8Qm5=c2$6_DY+`gOAYGs8&?o9`}+zuI=_<$Qsv zsBRClFxV>-xG+$pXmvMXjt(imrZ<0^oYO1Z&~Dz@a&r<99~NO$6o`KP>-ZzF z9)_O$mf;hlU^Qb9U1Ze<$&qMWEKI3;B=h^Q*D-JGy!*Y|+IP2pr8{A@$uu7<)bX_y z8yjuU-OQx;qhm_>*aPzP(_Fr8!^I^+y7j?V!Hz7aXp$V zO7Co|J(t7`Zeh12BiC*czp38n1O#k&<~-+K4`nbADBD|-+-?KDQ6ghi_k;OfK#~m&(`ive_1G8yFTDo< z!hFU1N-K?_Xb$$#<68@sB_Epy@tK~nY_sNg*y%t*j(W}U20Y2$wEyf&r|v@ohHY9U~R}IHII4FweV~_L(-8;zf=D`z$OV! z*pVu9BY##+ZGzF}iKHUnv}B|9va;iOR)$s%u6@3=;BkmVpG8(1LcAm70f-j<2;vF@ zI8`$+G%y~kI&>CLaogq zBT};Y;lv1p&*jB5LxeF8w~pU!;K(n@IdOQ6n`0la`=VVZk3AUu-Jq7JS_3DZH%fdU zA&&DecwPKW{qc(p_Le;Gkt*OcRY~)h>oQ&u=eA2kca8WIe@kEa;t6v_gtuADmK%?p z{E3L*G_3!QPE8EDa&qmWVwl5_lN%<>DTs_2O%Sq`Nqcori(OFWy%w*%Awrb zrO*S4sW@t3ejRhM)bI&=00*MY$GCEo`IY6$n2cL|-lK=VC-sXelG z$swbF#>nGV&i7{VOpye|Kej(}JHkB~b&D0CL1D(zD>Wcs8d3bE%xjR&km5Ce+{=Z| zPN8!>hp`r{?u$8S5e9y&`9CfIayOd4Kx2x8EFK)BF(>`tu{*_D8qrWOA^s5WGJ8+4 zk^4Y9W+n3TcsMC$r(9-MadIo^iP-nA=O^he;^*R>!o}#YFuFD{2ARN(qJ=3DC)n;C z-G1qb+}fdTsXRqcii^k4eEn+>nnQqAaEp(GYitr&fMRLoHOBpfdWgtzW>BT9_ECJU zVppE!#)o+5DHtBymkWB!YTWhV{Wd^phuAnZp1giP1?+Y0`aiX`m&92lvdA0B%E9KB zft(w~-)BHva(a3{pfnm`Q9gdZdF99!`141hrUup;&3nxb)$17HLz}d&J;HO%xM!rq zKu}RKL&2YZlcy;T-V{0GR+6@Jt`mna;q9%*W|c;2r&UsPHoXr656ZmWvF0-7?lQ?{ z-0=NiRxAWwv2y*KtvA^k?$xsc$C@EvMQRF_s2ziy#(dfNHJxV?jbw)GKi6cdd;Qt= zGq~iu1@8TgEwdYT@T}Mw)~6Zd)~5ckM(UeBWUNe9wHjH?<6iQ{eSk6Ldlipdn|}r% zefi^)07ok_9nvBEkHKxKsH~oTPKzIJS!b=zGw9lP(S!Y+ak&BFBCXOX`Ypp$Oh9Ul z+L5p`PcYmZSR^n+)cHgUgm;DFkyb~iv#9DA%2k=#8T0u%?!_&%x(SmBpYB&;tvFgN zFBT{b{La_9TeR*VIip6(y19d`>OQA&2A!Wf$kC<@fH6G8>=jPCADa(<+fNm_`Y>pY zNGSAR#SFPlK`j!ibSQ|J)e-^xqLalP)^Vbw{59Vkw+ZDM(0^FPlGDo4f4quJ8lzL+|Vjr|FC~E z#UVLiUyup^W+~ctT552JdlBF2sVe%+JgmYM?IEF) zMPr5kIJ}TSNq$?yq)@>wAN;VNVl&h7@ggXWWVGEZBxC2T#M{Np%5SYU(=+5q3*!>) z%1OIgfY50dHT%yI6IBLjfDzM<@j9ttnhhJF0z?G6DW1v1>mTFKoT?cRbB4<|fPB)+ zpmT~Q7UN0w^$6ZFY#%qmKpXMW=oSDa(1f65mRkV9I-5z5xWjce#A9YxU zv^V`iFQMECji%}s?RMQ!z85!R;z-|o9Ve{j>(%%fx7?iPcf*tj z+5^)PydVYUp8~dmyOd_i+JJTyATA zU|hNg>L8M31UA9%Wg#4d%X3SKUgOQlLLnKK*vkC^b`$^{l;U@~pgmdg_+GAxgtP0n zBOs$Z*>8}o4~kjU{r>^~-E9xu4(pNX*%&>1q$ZWogsJmxB6XbC;oP~|(NW6l(zS?Z z*b_KwOZm#AU_kGoN;UV#g)fra_wMTC8+sltj1U;G=8lgFVd?-Rc6?+ooO98ea394t zis6hB_k~TD%>_hK{(F~gLtYTr%V0JC3#sk$fKogdbnMOOXXSmEyNv?$5#?SxRejWa z@-cLGrT|>%LNq}w!uGf9=g8Gl5j*6>*8e>E*Y|zxha1sL{ndaQ*0l{*F}gE4XBd!! z0!4h8B)pG9toS_wQr51S$N>2ts3ZaVlFuq^L^7I~+qXx1KcyI3LG|=xR^MkvIeW;S zan3F%Y`ay#US%va)h~J4`24$BC4Aq?#d8kx=t{;#18F%6ff%~SS!j?L0=I%#kKEx1 zxaUa^=@u|Yg7mTs-0dte|GUVt8I}2Wn%^_gIpB0s5iYZ=$f^+H6Zr-SM|g4AF1fyd z5=2~i?tU$2=ltW{Pej)Sgan$4-)Us2`rEMi6mXllip99XO|)P()jE#98`xIe9x{I* ztDru;j6ggYVHu&5VZO2NC>ror?_6>qXA|!NaHKDERPr@*5Z8tTz6g;sH-?$9 z@;>J`9|3~VY}yDeRA*ir>jW*vXB?mkFbW^kCTOm1{22>J0U^&F9}8FESE%`j`aJCs z#2na5tU%qBC^gI$f92^d;{>kl=?8FHux?})^0Q6+ywm4qgtG=a^%iwew8Gl~nTiue z1HdTcHsZuQXzHU&r9U!*3jGqsXI}#EWPWQ25hY7G1R=_N2^*m8NeY{M{JQU!AqGBz z;Mj%g%X?+Q`ufjpM016i0v<6-?z@LYyJ<78&Ebd)8LGE78e}3*a%>Bvss>RSr=FgfP2jk99^AzzsOvNJxhlJoCGt^zj1C1 zKDG5OMcqM1^K81gJJy~6rFi82r4)J)p74I9G+X-YZzY0Pw|}tyEf@W`=8PY+D1|0z^>Xj?miU-B@7)#qXD_Gs(Z zqkTno-|u3Q08ijF0rYqne{O|74pQqT#P*L_Clzn&TTO?cvgn4$81t5>PPk!xqD+0S9fx=q(97I!yX~wL?5@e2}@@nnIxV5 zO)k#^(m3=C2MNhdw0jt!D+=D@|MtX)bt$cGvDD!0w^!|Iq+19?LurY& z2{*mp^}4KewCp?B4K~%9hG=xx8G-1J0VP~7qy zaKH2Ezel>Hb>DOHd9>buN^s zPLMRNk4IeKGAb@>(Vw0P_ziGomnIW^E#cIsG18xL;D`saN9Kbw*(NW;#gXtPmfvg% zuby1C#&@94M88WSY2@WB#Mq?x-}UNjFQ(l`5t&gi){9tHydzJ^=(8|ks0Y{++l32d zO5$mq%T+C(6J{@V{j5?q%UZj=h!?4}>xZ8G>@I*~jDewl>bdRJLd`v!<`dvAgNC!B#YYcht`1+21}>g=W?3JK|H zj_yS-m$d6we7zBAjQfJUqo2RFJ);4=d#4ncM%^Ps@l0l%p#m@l;Bb4pvYc^jPm1Te z;D!uc-AquA>8Dz4eeolfT=VsljtaexjY4?=aOgP-Ul`Vz`hLIfkOsILFlflC`qyi( zVU(J-!3(DkJYGhC5A7SdpCm=850y=$17h~KeIECLcw(>g7MceZ4tgNWP+>H~RzS@< z1ms$fYaRjnOy|RfQL$SGGBJo}w><`<4W75;x7%M&zcGrRYQUb=+VT1A#eqG?*_{j$ z$qQFBP`~vlqHPA+fgaR7R#B0 zR)_Uz*uVF5Tb*LFcC>Emq~a0EXb&2i7Tq0y)}?Q)$|s}A^@z&4?|i5Elr5w@={v~h zvQwKwANTKn*Tb)h3CKTF6<4@sLm;~4R{%ddkGVwr@_5DxtWUKY4H+MPJo4%{W14x_ zvSC~=q(J|k5Ff40Qq*HIR&g%ltfE!n2xfC9RBY&=Oh!qF#UVhNY#P7A4NnsKvXfSy z*Eud~P{&xr2r|)!rwOCt-(F?^yy;A#c1_DJlR5w%9tN{qPg^UXq_EABq$0PF@zYwfNdom_%U!5pkVS)2sjkG6bFpw z)ks=>wkKoUA?jkMP_}rqyx$>W{6px5JYw(A-FY~fNi{75(~GbaO*HfER;SfubY};n~*q}I@>IYG82OSuPCPh8GSJ!-3lmK zJAn5?VPi2+Hp>{X@xDI+k)Jf}PW&-GM_L!xHH7o;lrQW9y9d0I!9PuEv~^&cZON3N z5=oI6M?a1E8Z${3olK%9D~v40Yqg0Fd7^JCSYlPJfAebt$9Pl`F$1kmoV(#sKp=`u|b()nQd;U$}^fASx+{ zbR!Z93eq45DkVy%lF|awtq3C0Aks=mw{$5Y9U|RIO2?t|uJ159^ZVmI&%J-l%;Ry+ z`S!Q>+AH7nE($~Hw-^K@!9=m|^PDh-CL-`VTCp?>OShW~Sgxi8|`Lz6ly_Qw7Cbk7PP&}!pcH*b%h9DSg z6>f>;x2(o+H{iCFgng;~y{X=RL`R`Mst0{)H-sX(3TTrOnfQelJ zx*VrY(Mz1qFh1nEOh}GGIhPraYmf`3`JJ%;lF?@K1FvPWw|Zl$L6o;?kyy_vu{@!r zf5rUWMp=|u+g^yryppumdGwK2Q?^KR$r1u3V;ESqNQncn(i2^Ug5E4C;0I;*nv2$T+*E# zLQgZyl)ewX)TTQ1FQ{)g37q66KgEyr45kk(`e&9(Gc~*@VA>oQo;oo~%`qdOw3_xi z>D%ShSiSH$zwO^)YVFKf5+lClKVpH5}v2^Z2(-_E`H1qZf(!pFj%erftw?2Re#&0OS`fKi!d^s)%@K?3y4Y z*k-i2cfU;ET0g7`MfG|&F3ejc3g630p~u?ed*W@pF5ZK0qaB00+Rn2nYxNXX+nadb zs)Qd$E~3KQ4^jMY?9LKi_u`%0FU#eKob~5z@)-|ZnX!26b>|@ZWr5y-in7odmpl8p z?s!vY=}gQwGENn^KU~0{Raf;{qVRxF?W5af^^R6?YVHp|-`;GTNs?oG{t!>V|MY~$ zw|>UVe0Dv0l2vN|i)7eJXLS@lD}9!XW5nYA#rjLGcJQK~Aw#`EE(#T^swZ-xE7^_} z6Why`Ziat40MkEDI%9{thYUY))0SBIowAyQN(HX$3r=$Cdv~*5uf=!NJ|kM+{P3>& zLwpIvN%7s+8?8w8=FXE!J#8Yh_1~Q~1BQ{emGp5}pV;AFy!yHSWEl%#Yv1RE0iS0x zc86ua{-bivN|z;ylY+6oUrl#c)2gb+vCB5pOR_*Eq~QjP?ESz$Lcn$NoLH6p;Xv|= zzrl>C&R*GmIiTZ&Dl{9g`8z}-AK_+nFZ@U>k1chvC^H+sq+V%MIP4)SVWN|IU&_6_ zp5PvV*vL?Cu;y-WWZY5VO@jCCb(PMor=QE?O<`an1Vj8&zIt)X8Zw?Jn1tL!loU8K zI*rr`6Hinx?;J|L|BQWo3jYe#7yJC-0}d-D?lBh!E+;uhJTq1^qx!c3>_iF$dxcUq6!g}g zXL|jTAShC(DEw@skA>^JUC$m=w(y;r8h-mab;=|PdJ8T}dMDhLo86co3%>){wOZWA zG9s1N`rrMyPNR`cA1s42iN_!0z*e0;>iJ$u+3KsZo{KJ?z%nJF!@PHJ^<=0FRsm~| zc!3JF4iGIk)~1cTz@|vo`igyOj+a8{v$PAX$5Po$Gvm|3K5K(`U+3_Z*!Y6SO)F1u zRp?Mod0WgOh4)-l2|KW{OhukgR<}mVP0Dagm4+l&8jyxbT!Z0{wxWr$|s67{X^`KC7@6sBCIEL-7+Y0O_NOxQhrT8D0 zXsqqx&rju1ncjOW?nO7_p{>GhmqB)CjOFl^e<01Zj@$PzzP*&ko5aCfx_r|I1PXKh z62&Vl+G(eF{jb9t{#&(=I83q6Q?mBy(iGg=z?Kvm8{qAibZ}c-JUGR2p$6*BD{f~F z#3Vl-cnbS9U}L6kt<*F$OEEZM5i$K96H3Y_vEU4;5w2n1kxJ5<-EIA-;f@hrY=)Zigs9%$U-!(P{I0Tyj>mzTMqt?wfRn4BgvGdQFE7Zk(wjF)mekfn=7X)hJWfBw4^Zd&zf z+Vm5D4|DmIN0RHyW4eI?bF3419;i0Hm>TPaIA24evJdVozbW2|Qi?V-j9|0zH@m#3 zE2xxu{~PeX9}y3j(eK6CpO^N^U9yEuezGmymGtKhdb;Q}>WY#p>=YMk<$Ln|vrzZY zPbI9TiT+o9Qa>b^xw(RmSXXa6Kw9_Gzj9NUt`V)T?$3-}`mQDtt(T`{gM&>H2xGHFq{C!8OFa;HYAJv2%DVy-4U*q}u3$?8dL zHQXg;kD_W2mQR(Bd!rGz>=r+D|D%MbZLU}#>DHldte{p)Jzuj!meI{lQjV1{-^Ljo zzugg9zSdwmi8p#QW;e}O)52T`DTei*Esu_DciIMhaeJN+N4rJ4o(V7olOhATDOV*U z?VKvP%8p41!QSu*hfF58y!0vB_M$O6@jq?V7tJ4>$ya%6b?ir1XYa^TSs}>cTh8Dq zhoBU3wyyGzmBqcGI52o686@FOAxN&Yt1XKTJ8n+ASve~{9uM6oggidnu{FdxOb&?;{V!4W zI0`YT0SyY)P@F;SMybN2b6`~A>gN~v6<&|#f4&n`>o>5nH5#s_bcB^B zatKy8OI@M;v-L%l^4!pFcbGs(1aU75E>d>ZIq@g!+s zI5}EYy;RYXxc)_P|k~BVY*5eD&ji@-Z)<;GFG96vF6rvxd1W(Oe1YYW_><273tn>yO$q+eD~1Q z978sSx6M2eMPA^zs%NV!{uJ~3Xv|8S)v1%w?}hu7p1w8#j0^6-5LPC?kpsqe@dpmkBx3`>npi!L`(44jAvz+z>oUn(=EC9=Buta4u_OI^z{;@z7eQo zi!D59LaXpC@$TKidS7#g;eZnf<=Qsx3;JK(EF8G?KYk*6Ew)J)tT5@SsHo`8!mq;l z*0q?&S9GpZn#RKY+tw$A1d*xuZYR_jcNt1)!jWA1J>-U}x zL3s_CSwPQN-+bx@G49Cyj3F__K;`puE__+|*#{K(y{vr}dE_Tn7s>KNdj=s z8X0~-+tG>)!4{>PE@Z~Ogx1+&%?Wio?9*`cKmBYR>0Pi{hmm@!U&y3C@58bo{QQMO z*vR(QC@FKKu2plPcIMJDVWgwq?eBaUkcU`QlG*Ifi56P>rlDS7?+*o#djhYb-Sw^g z_RB2&@A9hMr+rX)gXS?-DHvBa9+cI=>?>kvPsuEt)Avh;uzq*n;v_R4>o?DY;BNdv zBN*(;Pj+aOWepj2Y}`0}rIBeBPQJaWoR;IS$=iHh#O zs=jI0z_7+pf8A74spjBptiWO@eef#IBr$)7!TZtr^QR0;=JA&0NqR4{HfcS$89|Ku zrB!iFNz}k*VXs5GRj;hyqSCbx#tsZ`#J4eztp?o`36I zg~M?83z9M04q-Rp_2se|>afo}*!W$>@lHmv-$bg`uRc`QUwe8ymv1$*ohJJ%lRYCOXhk{ z>ZG7*y{|>5<3e%&4h!9+26GxWk7!?Ppui2B*61581ix6Pk}MvieoXmUL_$V}Cn>x| zk6>hPejuwP<-ipWT6Pf-3EDZk>2H~B+L&_MTV7z!gjxH=Yq2wg=;9O!Crfq)C5|N1 zOnMj7@TxJ*fl`0Mh+HF?r*9CYLhS+8Hlbh8dKp%@vcpv_AgC_9hH-cKNq@mpOx7lT zQ>Mw(owBCb?%9;9i7s7zK%6Xw4fRmWD&D>1zR!;jOCK2vE$Ayt9Lr<(^2H_PzRm@aORo$?yA=?{>eBOg?#{@!i4sC5G%6i;Z;oqUY31 zY05@=E@^LZXW!k;en@y9%jU$1Zq!~;2Hi*^>qyrPDdo0QJoRiotK&1O)ZQoOU4hQo zB%cyV=kIiNvh4+WI%&~97P8!tz^3Y#J5#X{v*p~dN4QkT;yuTxn9Vo*5F>3}hPcO_ z+ahq)@MCUu>WSy)RayW)CPohX)OY&>j(7Mv9x3}(dojnwq-`#CcBLmo2#^WuL`(iS z!PI2_%BbeY*YCF&rj>6b==IyB+6Z$y2w-oylu%*nL1E z*z^~Z5trbx@4<)=w|36vKEkA{W2uGvj+*J~Y59*{^~};|5s@kZCKTC&tl_a` zc7;CEN9Qy%qK_Pgb97qW%jVkO^}aEoh*QaeJ^E*>UW=VNjyNuq4u49&h~wR~qsWll zKy4vm;P}QHqWya4O4F)YM=lMEip$8j(tlt}DX8(q=yf2Zc{ zLP8{*w^c<|9QiZVLy?!D7E*yjO{GvdF@56k^eIMBGRUGNLYt~hiR=i{o2zgkR3nJ& z1mqIsMAGh{5uC^dA%ER<>_EzMt*~E;o#!7*YTwV(8zmU;Bw5uV5`O)f>SE&M&X#@Q z_=rH1Gp$`k(THEtf&-dxEzsi(t^c%2MFx%%FT9)T=GiBEuf>+omEG2qK*?hf{3D4c zkD&->)qDm|5r&<;@Z5Q!(H4~8e92%J5cKK?|JL~-#OY@_U%SNIYvdVsxo<`!elakH zmDguc{$1?yKo{$bemv&)3!nrragolLTTe|MBT5KS$DQ1WT)~zrl;@bwp_jCG4%#i%|~6;n=tj z-we5cx^*a|oq1gI~|pZX|dh<~6u{0lp0s6$%hp56fW>jS`c z{~M0^64%x*=8?ih_WBH`M01f1$|tOt)(Dcf@a-LI>wFRt5~Z6Tkgntw2rVWdB^8OV z4xSfWpnduB<=q!3=v+cD(}pu~4sS)=cF~N8dy6Fr*Ufs_X9bAMR?<`BL!l

    fk} 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

    }H0x_2vO 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 LokZO;JstgTKcWt9 literal 72248 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 Date: Fri, 19 Jan 2024 14:40:37 +0100 Subject: [PATCH 22/25] Refactor folder structure to accomodate multiple patterns --- .../01_client-server-communication/README.md | 39 ++++++++++++++++ .../assets/diagram.png | Bin .../charts/demo-application/.helmignore | 0 .../charts/demo-application/Chart.yaml | 0 .../templates/deployment.yaml | 0 .../templates/gateway-class.yaml | 0 .../demo-application/templates/gateway.yaml | 0 .../demo-application/templates/httproute.yaml | 0 .../demo-application/templates/service.yaml | 0 .../main.tf | 0 .../outputs.tf | 0 .../variables.tf | 0 .../versions.tf | 0 patterns/vpc-lattice/README.md | 43 +++--------------- 14 files changed, 46 insertions(+), 36 deletions(-) create mode 100644 patterns/vpc-lattice/01_client-server-communication/README.md rename patterns/vpc-lattice/{ => 01_client-server-communication}/assets/diagram.png (100%) rename patterns/vpc-lattice/{ => 01_client-server-communication}/charts/demo-application/.helmignore (100%) rename patterns/vpc-lattice/{ => 01_client-server-communication}/charts/demo-application/Chart.yaml (100%) rename patterns/vpc-lattice/{ => 01_client-server-communication}/charts/demo-application/templates/deployment.yaml (100%) rename patterns/vpc-lattice/{ => 01_client-server-communication}/charts/demo-application/templates/gateway-class.yaml (100%) rename patterns/vpc-lattice/{ => 01_client-server-communication}/charts/demo-application/templates/gateway.yaml (100%) rename patterns/vpc-lattice/{ => 01_client-server-communication}/charts/demo-application/templates/httproute.yaml (100%) rename patterns/vpc-lattice/{ => 01_client-server-communication}/charts/demo-application/templates/service.yaml (100%) rename patterns/vpc-lattice/{ => 01_client-server-communication}/main.tf (100%) rename patterns/vpc-lattice/{ => 01_client-server-communication}/outputs.tf (100%) rename patterns/vpc-lattice/{ => 01_client-server-communication}/variables.tf (100%) rename patterns/vpc-lattice/{ => 01_client-server-communication}/versions.tf (100%) diff --git a/patterns/vpc-lattice/01_client-server-communication/README.md b/patterns/vpc-lattice/01_client-server-communication/README.md new file mode 100644 index 0000000000..e79a725494 --- /dev/null +++ b/patterns/vpc-lattice/01_client-server-communication/README.md @@ -0,0 +1,39 @@ +# Amazon VPC Lattice - Simple Client to Server Communication + +This pattern demonstrates how to expose an EKS cluster hosted application to an internal consumer through Amazon VPC Lattice. + +## Scenario + +With this soluton we showcase how to configure Amazon VPC Lattice using the AWS Gateway API Controller in order to manage Amazon VPC Lattice resources through native K8S Gateway API objects. This pattern deploys two distinct VPCs with a client application running in one of them and a server application in the other. The server application is deployed inside an EKS cluster and made exposed to the client application through Amazon VPC Lattice which establishes connectivity between the two applications. Further we demonstrate how to configure a custom domain name for the exposed service using Amazon Route53 and the external-dns project. + +![diagram](assets/diagram.png) + + +## Deploy + +See [here](https://aws-ia.github.io/terraform-aws-eks-blueprints/getting-started/#prerequisites) for the prerequisites and steps to deploy this pattern. + +## Validate + +In order to test the connectivty between the client and server, please follow the steps outlined below: + +1. Login to the management console of your AWS account and navigate to the EC2 service +2. Select your the EC2 Instance with the name **client**, click **Connect**, choose **Session Manager** and click **Connect** +3. Within the console test the connecvity to the server application by entering the following command: + + ```sh + $ curl -i http://server.example.com + HTTP/1.1 200 OK + date: Thu, 14 Dec 2023 08:29:39 GMT + content-length: 54 + content-type: text/plain; charset=utf-8 + + Requesting to Pod(server-6f487b9bcd-5qm4v): server pod + + ``` + +## Destroy + +{% + include-markdown "../../../docs/_partials/destroy.md" +%} diff --git a/patterns/vpc-lattice/assets/diagram.png b/patterns/vpc-lattice/01_client-server-communication/assets/diagram.png similarity index 100% rename from patterns/vpc-lattice/assets/diagram.png rename to patterns/vpc-lattice/01_client-server-communication/assets/diagram.png diff --git a/patterns/vpc-lattice/charts/demo-application/.helmignore b/patterns/vpc-lattice/01_client-server-communication/charts/demo-application/.helmignore similarity index 100% rename from patterns/vpc-lattice/charts/demo-application/.helmignore rename to patterns/vpc-lattice/01_client-server-communication/charts/demo-application/.helmignore diff --git a/patterns/vpc-lattice/charts/demo-application/Chart.yaml b/patterns/vpc-lattice/01_client-server-communication/charts/demo-application/Chart.yaml similarity index 100% rename from patterns/vpc-lattice/charts/demo-application/Chart.yaml rename to patterns/vpc-lattice/01_client-server-communication/charts/demo-application/Chart.yaml diff --git a/patterns/vpc-lattice/charts/demo-application/templates/deployment.yaml b/patterns/vpc-lattice/01_client-server-communication/charts/demo-application/templates/deployment.yaml similarity index 100% rename from patterns/vpc-lattice/charts/demo-application/templates/deployment.yaml rename to patterns/vpc-lattice/01_client-server-communication/charts/demo-application/templates/deployment.yaml diff --git a/patterns/vpc-lattice/charts/demo-application/templates/gateway-class.yaml b/patterns/vpc-lattice/01_client-server-communication/charts/demo-application/templates/gateway-class.yaml similarity index 100% rename from patterns/vpc-lattice/charts/demo-application/templates/gateway-class.yaml rename to patterns/vpc-lattice/01_client-server-communication/charts/demo-application/templates/gateway-class.yaml diff --git a/patterns/vpc-lattice/charts/demo-application/templates/gateway.yaml b/patterns/vpc-lattice/01_client-server-communication/charts/demo-application/templates/gateway.yaml similarity index 100% rename from patterns/vpc-lattice/charts/demo-application/templates/gateway.yaml rename to patterns/vpc-lattice/01_client-server-communication/charts/demo-application/templates/gateway.yaml diff --git a/patterns/vpc-lattice/charts/demo-application/templates/httproute.yaml b/patterns/vpc-lattice/01_client-server-communication/charts/demo-application/templates/httproute.yaml similarity index 100% rename from patterns/vpc-lattice/charts/demo-application/templates/httproute.yaml rename to patterns/vpc-lattice/01_client-server-communication/charts/demo-application/templates/httproute.yaml diff --git a/patterns/vpc-lattice/charts/demo-application/templates/service.yaml b/patterns/vpc-lattice/01_client-server-communication/charts/demo-application/templates/service.yaml similarity index 100% rename from patterns/vpc-lattice/charts/demo-application/templates/service.yaml rename to patterns/vpc-lattice/01_client-server-communication/charts/demo-application/templates/service.yaml diff --git a/patterns/vpc-lattice/main.tf b/patterns/vpc-lattice/01_client-server-communication/main.tf similarity index 100% rename from patterns/vpc-lattice/main.tf rename to patterns/vpc-lattice/01_client-server-communication/main.tf diff --git a/patterns/vpc-lattice/outputs.tf b/patterns/vpc-lattice/01_client-server-communication/outputs.tf similarity index 100% rename from patterns/vpc-lattice/outputs.tf rename to patterns/vpc-lattice/01_client-server-communication/outputs.tf diff --git a/patterns/vpc-lattice/variables.tf b/patterns/vpc-lattice/01_client-server-communication/variables.tf similarity index 100% rename from patterns/vpc-lattice/variables.tf rename to patterns/vpc-lattice/01_client-server-communication/variables.tf diff --git a/patterns/vpc-lattice/versions.tf b/patterns/vpc-lattice/01_client-server-communication/versions.tf similarity index 100% rename from patterns/vpc-lattice/versions.tf rename to patterns/vpc-lattice/01_client-server-communication/versions.tf diff --git a/patterns/vpc-lattice/README.md b/patterns/vpc-lattice/README.md index 58ed00c581..f329fd3556 100644 --- a/patterns/vpc-lattice/README.md +++ b/patterns/vpc-lattice/README.md @@ -1,42 +1,13 @@ # Amazon VPC Lattice -This pattern demonstrates how to expose an EKS cluster hosted application to an internal consumer through Amazon VPC Lattice. +This folder contains use case-driven patterns covering different featues of the Amazon VPC Lattice service. -- [Documentation](https://docs.aws.amazon.com/vpc-lattice/latest/ug/what-is-vpc-lattice.html) -- [AWS Gateway API Controller](https://www.gateway-api-controller.eks.aws.dev/) - -## Scenario - -With this soluton we showcase how to configure Amazon VPC Lattice using the AWS Gateway API Controller in order to manage Amazon VPC Lattice resources through native K8S Gateway API objects. This pattern deploys two distinct VPCs with a client application running in one of them and a server application in the other. The server application is deployed inside an EKS cluster and made exposed to the client application through Amazon VPC Lattice which establishes connectivity between the two applications. Further we demonstrate how to configure a custom domain name for the exposed service using Amazon Route53 and the external-dns project. - -![diagram](assets/diagram.png) - - -## Deploy - -See [here](https://aws-ia.github.io/terraform-aws-eks-blueprints/getting-started/#prerequisites) for the prerequisites and steps to deploy this pattern. +## Use cases -## Validate +- [Simple Client to Server Communication](./01_client-server-communication/) + This pattern describes how to expose a simple API within an Amazon EKS cluster deployed in VPC A to a client application hosted in VPC B through Amazon VPC Lattice. -In order to test the connectivty between the client and server, please follow the steps outlined below: +## Supporting resources -1. Login to the management console of your AWS account and navigate to the EC2 service -2. Select your the EC2 Instance with the name **client**, click **Connect**, choose **Session Manager** and click **Connect** -3. Within the console test the connecvity to the server application by entering the following command: - - ```sh - $ curl -i http://server.example.com - HTTP/1.1 200 OK - date: Thu, 14 Dec 2023 08:29:39 GMT - content-length: 54 - content-type: text/plain; charset=utf-8 - - Requesting to Pod(server-6f487b9bcd-5qm4v): server pod - - ``` - -## Destroy - -{% - include-markdown "../../docs/_partials/destroy.md" -%} +- [Documentation](https://docs.aws.amazon.com/vpc-lattice/latest/ug/what-is-vpc-lattice.html) +- [AWS Gateway API Controller](https://www.gateway-api-controller.eks.aws.dev/) From 5a4594ffc82a4a95cf30a691881d35cd26ffbfd9 Mon Sep 17 00:00:00 2001 From: Valentin Widmer Date: Mon, 22 Jan 2024 11:29:00 +0100 Subject: [PATCH 23/25] Update gateway api controller to v1.0.3 --- patterns/vpc-lattice/01_client-server-communication/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patterns/vpc-lattice/01_client-server-communication/main.tf b/patterns/vpc-lattice/01_client-server-communication/main.tf index 1fb532e36f..c0b1d7777d 100644 --- a/patterns/vpc-lattice/01_client-server-communication/main.tf +++ b/patterns/vpc-lattice/01_client-server-communication/main.tf @@ -141,7 +141,7 @@ module "addons" { enable_aws_gateway_api_controller = true aws_gateway_api_controller = { - chart_version = "v1.0.2" + chart_version = "v1.0.3" create_namespace = true namespace = "aws-application-networking-system" source_policy_documents = [data.aws_iam_policy_document.gateway_api_controller.json] From 62f879c31c7d7957c0d3a4537e811e76fdf28834 Mon Sep 17 00:00:00 2001 From: Valentin Widmer Date: Tue, 23 Jan 2024 10:46:09 +0100 Subject: [PATCH 24/25] Rename subfolder and split TF resources into seperate files --- .../01_client-server-communication/main.tf | 396 ------------------ patterns/vpc-lattice/README.md | 8 +- .../README.md | 0 .../assets/diagram.png | Bin .../charts/demo-application/.helmignore | 0 .../charts/demo-application/Chart.yaml | 0 .../templates/deployment.yaml | 0 .../templates/gateway-class.yaml | 0 .../demo-application/templates/gateway.yaml | 0 .../demo-application/templates/httproute.yaml | 0 .../demo-application/templates/service.yaml | 0 .../client-server-communication/client.tf | 102 +++++ .../client-server-communication/eks.tf | 197 +++++++++ .../client-server-communication/lattice.tf | 42 ++ .../client-server-communication/main.tf | 54 +++ .../outputs.tf | 0 .../variables.tf | 0 .../versions.tf | 0 18 files changed, 400 insertions(+), 399 deletions(-) delete mode 100644 patterns/vpc-lattice/01_client-server-communication/main.tf rename patterns/vpc-lattice/{01_client-server-communication => client-server-communication}/README.md (100%) rename patterns/vpc-lattice/{01_client-server-communication => client-server-communication}/assets/diagram.png (100%) rename patterns/vpc-lattice/{01_client-server-communication => client-server-communication}/charts/demo-application/.helmignore (100%) rename patterns/vpc-lattice/{01_client-server-communication => client-server-communication}/charts/demo-application/Chart.yaml (100%) rename patterns/vpc-lattice/{01_client-server-communication => client-server-communication}/charts/demo-application/templates/deployment.yaml (100%) rename patterns/vpc-lattice/{01_client-server-communication => client-server-communication}/charts/demo-application/templates/gateway-class.yaml (100%) rename patterns/vpc-lattice/{01_client-server-communication => client-server-communication}/charts/demo-application/templates/gateway.yaml (100%) rename patterns/vpc-lattice/{01_client-server-communication => client-server-communication}/charts/demo-application/templates/httproute.yaml (100%) rename patterns/vpc-lattice/{01_client-server-communication => client-server-communication}/charts/demo-application/templates/service.yaml (100%) create mode 100644 patterns/vpc-lattice/client-server-communication/client.tf create mode 100644 patterns/vpc-lattice/client-server-communication/eks.tf create mode 100644 patterns/vpc-lattice/client-server-communication/lattice.tf create mode 100644 patterns/vpc-lattice/client-server-communication/main.tf rename patterns/vpc-lattice/{01_client-server-communication => client-server-communication}/outputs.tf (100%) rename patterns/vpc-lattice/{01_client-server-communication => client-server-communication}/variables.tf (100%) rename patterns/vpc-lattice/{01_client-server-communication => client-server-communication}/versions.tf (100%) diff --git a/patterns/vpc-lattice/01_client-server-communication/main.tf b/patterns/vpc-lattice/01_client-server-communication/main.tf deleted file mode 100644 index c0b1d7777d..0000000000 --- a/patterns/vpc-lattice/01_client-server-communication/main.tf +++ /dev/null @@ -1,396 +0,0 @@ -provider "aws" { - region = local.region -} - -data "aws_availability_zones" "available" { - #Do not include local zones - filter { - name = "opt-in-status" - values = ["opt-in-not-required"] - } -} - - -provider "kubernetes" { - host = module.eks.cluster_endpoint - cluster_ca_certificate = base64decode(module.eks.cluster_certificate_authority_data) - - exec { - api_version = "client.authentication.k8s.io/v1beta1" - command = "aws" - # This requires the awscli to be installed locally where Terraform is executed - args = ["eks", "get-token", "--cluster-name", module.eks.cluster_name] - } -} - -provider "helm" { - kubernetes { - host = module.eks.cluster_endpoint - cluster_ca_certificate = base64decode(module.eks.cluster_certificate_authority_data) - - exec { - api_version = "client.authentication.k8s.io/v1beta1" - command = "aws" - # This requires the awscli to be installed locally where Terraform is executed - args = ["eks", "get-token", "--cluster-name", module.eks.cluster_name] - } - } -} - -locals { - name = basename(path.cwd) - region = "us-west-2" - - cluster_vpc_cidr = "10.0.0.0/16" - client_vpc_cidr = "10.1.0.0/16" - azs = slice(data.aws_availability_zones.available.names, 0, 3) - - tags = { - Blueprint = local.name - GithubRepo = "github.com/aws-ia/terraform-aws-eks-blueprints" - } -} - -################################################################################ -# Cluster -################################################################################ - -module "eks" { - source = "terraform-aws-modules/eks/aws" - version = "~> 19.21" - - cluster_name = local.name - cluster_version = "1.28" - cluster_endpoint_public_access = true - enable_irsa = true - - vpc_id = module.cluster_vpc.vpc_id - subnet_ids = module.cluster_vpc.private_subnets - - eks_managed_node_groups = { - initial = { - instance_types = ["m5.large"] - - min_size = 3 - max_size = 10 - desired_size = 3 - } - } - - tags = local.tags -} - -################################################################################ -# Cluster VPC -################################################################################ - -module "cluster_vpc" { - source = "terraform-aws-modules/vpc/aws" - version = "~> 5.4" - - name = local.name - cidr = local.cluster_vpc_cidr - - azs = local.azs - private_subnets = [for k, v in local.azs : cidrsubnet(local.cluster_vpc_cidr, 4, k)] - public_subnets = [for k, v in local.azs : cidrsubnet(local.cluster_vpc_cidr, 8, k + 48)] - - enable_nat_gateway = true - single_nat_gateway = true - - public_subnet_tags = { - "kubernetes.io/role/elb" = 1 - } - - private_subnet_tags = { - "kubernetes.io/role/internal-elb" = 1 - } - - tags = local.tags -} - -################################################################################ -# Client VPC -################################################################################ - -module "client_vpc" { - source = "terraform-aws-modules/vpc/aws" - version = "~> 5.4" - - name = local.name - cidr = local.client_vpc_cidr - - azs = local.azs - private_subnets = [for k, v in local.azs : cidrsubnet(local.client_vpc_cidr, 4, k)] - - tags = local.tags -} - -################################################################################ -# EKS Addons (AWS Gateway API Controller) -################################################################################ - -module "addons" { - source = "aws-ia/eks-blueprints-addons/aws" - version = "~> 1.12" - - cluster_name = module.eks.cluster_name - cluster_endpoint = module.eks.cluster_endpoint - cluster_version = module.eks.cluster_version - oidc_provider_arn = module.eks.oidc_provider_arn - - enable_aws_gateway_api_controller = true - aws_gateway_api_controller = { - chart_version = "v1.0.3" - create_namespace = true - namespace = "aws-application-networking-system" - source_policy_documents = [data.aws_iam_policy_document.gateway_api_controller.json] - set = [ - { - name = "clusterName" - value = module.eks.cluster_name - }, - { - name = "log.level" - value = "debug" - }, - { - name = "clusterVpcId" - value = module.cluster_vpc.vpc_id - }, - { - name = "defaultServiceNetwork" - value = "" - }, - { - name = "latticeEndpoint" - value = "https://vpc-lattice.${local.region}.amazonaws.com" - } - ] - wait = true - } - enable_external_dns = true - external_dns_route53_zone_arns = try([aws_route53_zone.primary.arn], []) - external_dns = { - set = [ - { - name = "domainFilters[0]" - value = "example.com" - }, - { - name = "policy" - value = "sync" - }, - { - name = "sources[0]" - value = "crd" - }, - { - name = "sources[1]" - value = "ingress" - }, - { - name = "txtPrefix" - value = module.eks.cluster_name - }, - { - name = "extraArgs[0]" - value = "--crd-source-apiversion=externaldns.k8s.io/v1alpha1" - }, - { - name = "extraArgs[1]" - value = "--crd-source-kind=DNSEndpoint" - }, - { - name = "crdSourceApiversion" - value = "externaldns.k8s.io/v1alpha1" - }, - { - name = "crdSourceKind" - value = "DNSEndpoint" - } - ] - } - - tags = local.tags -} - -data "aws_iam_policy_document" "gateway_api_controller" { - statement { - sid = "" - effect = "Allow" - resources = ["*"] # For testing purposes only (highly recommended limit access to specific resources for production usage) - - actions = [ - "vpc-lattice:*", - "iam:CreateServiceLinkedRole", - "ec2:DescribeVpcs", - "ec2:DescribeSubnets", - "ec2:DescribeTags", - "ec2:DescribeSecurityGroups", - "logs:CreateLogDelivery", - "logs:GetLogDelivery", - "logs:UpdateLogDelivery", - "logs:DeleteLogDelivery", - "logs:ListLogDeliveries", - "tag:GetResources", - ] - } -} - -################################################################################ -# Demo applications -################################################################################ - -resource "helm_release" "demo_application" { - name = "demo-application" - chart = "./charts/demo-application" - create_namespace = true - namespace = "apps" - - depends_on = [module.addons] -} - -################################################################################ -# Update cluster security group to allow access from VPC Lattice -################################################################################ - -data "aws_ec2_managed_prefix_list" "vpc_lattice_ipv4" { - name = "com.amazonaws.${local.region}.vpc-lattice" -} - -resource "aws_vpc_security_group_ingress_rule" "cluster_sg_ingress" { - security_group_id = module.eks.node_security_group_id - - prefix_list_id = data.aws_ec2_managed_prefix_list.vpc_lattice_ipv4.id - ip_protocol = "-1" -} - -################################################################################ -# VPC Lattice service network -################################################################################ - -resource "aws_vpclattice_service_network" "this" { - name = "my-services" - auth_type = "NONE" - - tags = local.tags -} - -resource "aws_vpclattice_service_network_vpc_association" "cluster_vpc" { - vpc_identifier = module.cluster_vpc.vpc_id - service_network_identifier = aws_vpclattice_service_network.this.id -} - -resource "aws_vpclattice_service_network_vpc_association" "client_vpc" { - vpc_identifier = module.client_vpc.vpc_id - service_network_identifier = aws_vpclattice_service_network.this.id -} - -resource "time_sleep" "wait_for_lattice_resources" { - depends_on = [helm_release.demo_application] - - create_duration = "120s" -} - -################################################################################ -# Custom domain name for VPC lattice service -# Records will be created by external-dns using DNSEndpoint objects which -# are created by the VPC Lattice gateway api controller when creating HTTPRoutes -################################################################################ - -resource "aws_route53_zone" "primary" { - name = "example.com" - - vpc { - vpc_id = module.client_vpc.vpc_id - } - - tags = local.tags -} - -################################################################################ -# Client application (with private access over SSM Systems Manager) -################################################################################ - -module "client" { - source = "terraform-aws-modules/ec2-instance/aws" - version = "5.5.0" - - name = "client" - - instance_type = "t2.micro" - subnet_id = module.client_vpc.private_subnets[0] - create_iam_instance_profile = true - iam_role_description = "IAM role for client" - iam_role_policies = { - AmazonSSMManagedInstanceCore = "arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore" - } - vpc_security_group_ids = [module.client_sg.security_group_id] - - tags = local.tags -} - -module "vpc_endpoints" { - source = "terraform-aws-modules/vpc/aws//modules/vpc-endpoints" - version = "~> 5.0" - - vpc_id = module.client_vpc.vpc_id - - endpoints = { for service in toset(["ssm", "ssmmessages", "ec2messages"]) : - replace(service, ".", "_") => - { - service = service - subnet_ids = module.client_vpc.private_subnets - private_dns_enabled = true - tags = { Name = "${local.name}-${service}" } - } - } - - security_group_ids = [module.endpoint_sg.security_group_id] - - tags = local.tags -} - -module "client_sg" { - source = "terraform-aws-modules/security-group/aws" - version = "~> 5.0" - - name = "client" - description = "Security Group for EC2 Instance Egress" - - vpc_id = module.client_vpc.vpc_id - - egress_with_cidr_blocks = [ - { - from_port = 0 - to_port = 0 - protocol = "-1" - cidr_blocks = "0.0.0.0/0" - - }, - ] - - tags = local.tags -} - -module "endpoint_sg" { - source = "terraform-aws-modules/security-group/aws" - version = "~> 5.0" - - name = "ssm-endpoint" - description = "Security Group for EC2 Instance Egress" - - vpc_id = module.client_vpc.vpc_id - - ingress_with_cidr_blocks = [for subnet in module.client_vpc.private_subnets_cidr_blocks : - { - from_port = 443 - to_port = 443 - protocol = "TCP" - cidr_blocks = subnet - } - ] - - tags = local.tags -} diff --git a/patterns/vpc-lattice/README.md b/patterns/vpc-lattice/README.md index f329fd3556..cf3d14c099 100644 --- a/patterns/vpc-lattice/README.md +++ b/patterns/vpc-lattice/README.md @@ -1,13 +1,15 @@ # Amazon VPC Lattice -This folder contains use case-driven patterns covering different featues of the Amazon VPC Lattice service. +This folder contains use case-driven patterns covering different aspects of the Amazon VPC Lattice service. ## Use cases -- [Simple Client to Server Communication](./01_client-server-communication/) - This pattern describes how to expose a simple API within an Amazon EKS cluster deployed in VPC A to a client application hosted in VPC B through Amazon VPC Lattice. +- [Simple Client to Server Communication](./client-server-communication/) + + This pattern describes how to expose a simple API within an Amazon EKS cluster deployed in VPC A to a client application hosted in VPC B through Amazon VPC Lattice. ## Supporting resources - [Documentation](https://docs.aws.amazon.com/vpc-lattice/latest/ug/what-is-vpc-lattice.html) - [AWS Gateway API Controller](https://www.gateway-api-controller.eks.aws.dev/) + diff --git a/patterns/vpc-lattice/01_client-server-communication/README.md b/patterns/vpc-lattice/client-server-communication/README.md similarity index 100% rename from patterns/vpc-lattice/01_client-server-communication/README.md rename to patterns/vpc-lattice/client-server-communication/README.md diff --git a/patterns/vpc-lattice/01_client-server-communication/assets/diagram.png b/patterns/vpc-lattice/client-server-communication/assets/diagram.png similarity index 100% rename from patterns/vpc-lattice/01_client-server-communication/assets/diagram.png rename to patterns/vpc-lattice/client-server-communication/assets/diagram.png diff --git a/patterns/vpc-lattice/01_client-server-communication/charts/demo-application/.helmignore b/patterns/vpc-lattice/client-server-communication/charts/demo-application/.helmignore similarity index 100% rename from patterns/vpc-lattice/01_client-server-communication/charts/demo-application/.helmignore rename to patterns/vpc-lattice/client-server-communication/charts/demo-application/.helmignore diff --git a/patterns/vpc-lattice/01_client-server-communication/charts/demo-application/Chart.yaml b/patterns/vpc-lattice/client-server-communication/charts/demo-application/Chart.yaml similarity index 100% rename from patterns/vpc-lattice/01_client-server-communication/charts/demo-application/Chart.yaml rename to patterns/vpc-lattice/client-server-communication/charts/demo-application/Chart.yaml diff --git a/patterns/vpc-lattice/01_client-server-communication/charts/demo-application/templates/deployment.yaml b/patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/deployment.yaml similarity index 100% rename from patterns/vpc-lattice/01_client-server-communication/charts/demo-application/templates/deployment.yaml rename to patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/deployment.yaml diff --git a/patterns/vpc-lattice/01_client-server-communication/charts/demo-application/templates/gateway-class.yaml b/patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/gateway-class.yaml similarity index 100% rename from patterns/vpc-lattice/01_client-server-communication/charts/demo-application/templates/gateway-class.yaml rename to patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/gateway-class.yaml diff --git a/patterns/vpc-lattice/01_client-server-communication/charts/demo-application/templates/gateway.yaml b/patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/gateway.yaml similarity index 100% rename from patterns/vpc-lattice/01_client-server-communication/charts/demo-application/templates/gateway.yaml rename to patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/gateway.yaml diff --git a/patterns/vpc-lattice/01_client-server-communication/charts/demo-application/templates/httproute.yaml b/patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/httproute.yaml similarity index 100% rename from patterns/vpc-lattice/01_client-server-communication/charts/demo-application/templates/httproute.yaml rename to patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/httproute.yaml diff --git a/patterns/vpc-lattice/01_client-server-communication/charts/demo-application/templates/service.yaml b/patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/service.yaml similarity index 100% rename from patterns/vpc-lattice/01_client-server-communication/charts/demo-application/templates/service.yaml rename to patterns/vpc-lattice/client-server-communication/charts/demo-application/templates/service.yaml diff --git a/patterns/vpc-lattice/client-server-communication/client.tf b/patterns/vpc-lattice/client-server-communication/client.tf new file mode 100644 index 0000000000..9dec44546d --- /dev/null +++ b/patterns/vpc-lattice/client-server-communication/client.tf @@ -0,0 +1,102 @@ +################################################################################ +# Client application (with private access over SSM Systems Manager) +################################################################################ + +module "client" { + source = "terraform-aws-modules/ec2-instance/aws" + version = "5.5.0" + + name = "client" + + instance_type = "t2.micro" + subnet_id = module.client_vpc.private_subnets[0] + create_iam_instance_profile = true + iam_role_description = "IAM role for client" + iam_role_policies = { + AmazonSSMManagedInstanceCore = "arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore" + } + vpc_security_group_ids = [module.client_sg.security_group_id] + + tags = local.tags +} + +module "vpc_endpoints" { + source = "terraform-aws-modules/vpc/aws//modules/vpc-endpoints" + version = "~> 5.0" + + vpc_id = module.client_vpc.vpc_id + + endpoints = { for service in toset(["ssm", "ssmmessages", "ec2messages"]) : + replace(service, ".", "_") => + { + service = service + subnet_ids = module.client_vpc.private_subnets + private_dns_enabled = true + tags = { Name = "${local.name}-${service}" } + } + } + + security_group_ids = [module.endpoint_sg.security_group_id] + + tags = local.tags +} + +module "client_sg" { + source = "terraform-aws-modules/security-group/aws" + version = "~> 5.0" + + name = "client" + description = "Security Group for EC2 Instance Egress" + + vpc_id = module.client_vpc.vpc_id + + egress_with_cidr_blocks = [ + { + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = "0.0.0.0/0" + + }, + ] + + tags = local.tags +} + +module "endpoint_sg" { + source = "terraform-aws-modules/security-group/aws" + version = "~> 5.0" + + name = "ssm-endpoint" + description = "Security Group for EC2 Instance Egress" + + vpc_id = module.client_vpc.vpc_id + + ingress_with_cidr_blocks = [for subnet in module.client_vpc.private_subnets_cidr_blocks : + { + from_port = 443 + to_port = 443 + protocol = "TCP" + cidr_blocks = subnet + } + ] + + tags = local.tags +} + +################################################################################ +# Client VPC +################################################################################ + +module "client_vpc" { + source = "terraform-aws-modules/vpc/aws" + version = "~> 5.4" + + name = local.name + cidr = local.client_vpc_cidr + + azs = local.azs + private_subnets = [for k, v in local.azs : cidrsubnet(local.client_vpc_cidr, 4, k)] + + tags = local.tags +} \ No newline at end of file diff --git a/patterns/vpc-lattice/client-server-communication/eks.tf b/patterns/vpc-lattice/client-server-communication/eks.tf new file mode 100644 index 0000000000..3547ea9d6c --- /dev/null +++ b/patterns/vpc-lattice/client-server-communication/eks.tf @@ -0,0 +1,197 @@ +################################################################################ +# Cluster +################################################################################ + +module "eks" { + source = "terraform-aws-modules/eks/aws" + version = "~> 19.21" + + cluster_name = local.name + cluster_version = "1.28" + cluster_endpoint_public_access = true + enable_irsa = true + + vpc_id = module.cluster_vpc.vpc_id + subnet_ids = module.cluster_vpc.private_subnets + + eks_managed_node_groups = { + initial = { + instance_types = ["m5.large"] + + min_size = 3 + max_size = 10 + desired_size = 3 + } + } + + tags = local.tags +} + +################################################################################ +# Cluster VPC +################################################################################ + +module "cluster_vpc" { + source = "terraform-aws-modules/vpc/aws" + version = "~> 5.4" + + name = local.name + cidr = local.cluster_vpc_cidr + + azs = local.azs + private_subnets = [for k, v in local.azs : cidrsubnet(local.cluster_vpc_cidr, 4, k)] + public_subnets = [for k, v in local.azs : cidrsubnet(local.cluster_vpc_cidr, 8, k + 48)] + + enable_nat_gateway = true + single_nat_gateway = true + + public_subnet_tags = { + "kubernetes.io/role/elb" = 1 + } + + private_subnet_tags = { + "kubernetes.io/role/internal-elb" = 1 + } + + tags = local.tags +} + +################################################################################ +# EKS Addons (AWS Gateway API Controller) +################################################################################ + +module "addons" { + source = "aws-ia/eks-blueprints-addons/aws" + version = "~> 1.12" + + cluster_name = module.eks.cluster_name + cluster_endpoint = module.eks.cluster_endpoint + cluster_version = module.eks.cluster_version + oidc_provider_arn = module.eks.oidc_provider_arn + + enable_aws_gateway_api_controller = true + aws_gateway_api_controller = { + chart_version = "v1.0.3" + create_namespace = true + namespace = "aws-application-networking-system" + source_policy_documents = [data.aws_iam_policy_document.gateway_api_controller.json] + set = [ + { + name = "clusterName" + value = module.eks.cluster_name + }, + { + name = "log.level" + value = "debug" + }, + { + name = "clusterVpcId" + value = module.cluster_vpc.vpc_id + }, + { + name = "defaultServiceNetwork" + value = "" + }, + { + name = "latticeEndpoint" + value = "https://vpc-lattice.${local.region}.amazonaws.com" + } + ] + wait = true + } + enable_external_dns = true + external_dns_route53_zone_arns = try([aws_route53_zone.primary.arn], []) + external_dns = { + set = [ + { + name = "domainFilters[0]" + value = "example.com" + }, + { + name = "policy" + value = "sync" + }, + { + name = "sources[0]" + value = "crd" + }, + { + name = "sources[1]" + value = "ingress" + }, + { + name = "txtPrefix" + value = module.eks.cluster_name + }, + { + name = "extraArgs[0]" + value = "--crd-source-apiversion=externaldns.k8s.io/v1alpha1" + }, + { + name = "extraArgs[1]" + value = "--crd-source-kind=DNSEndpoint" + }, + { + name = "crdSourceApiversion" + value = "externaldns.k8s.io/v1alpha1" + }, + { + name = "crdSourceKind" + value = "DNSEndpoint" + } + ] + } + + tags = local.tags +} + +data "aws_iam_policy_document" "gateway_api_controller" { + statement { + sid = "" + effect = "Allow" + resources = ["*"] # For testing purposes only (highly recommended limit access to specific resources for production usage) + + actions = [ + "vpc-lattice:*", + "iam:CreateServiceLinkedRole", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeTags", + "ec2:DescribeSecurityGroups", + "logs:CreateLogDelivery", + "logs:GetLogDelivery", + "logs:UpdateLogDelivery", + "logs:DeleteLogDelivery", + "logs:ListLogDeliveries", + "tag:GetResources", + ] + } +} + +################################################################################ +# Demo applications +################################################################################ + +resource "helm_release" "demo_application" { + name = "demo-application" + chart = "./charts/demo-application" + create_namespace = true + namespace = "apps" + + depends_on = [module.addons] +} + +################################################################################ +# Update cluster security group to allow access from VPC Lattice +################################################################################ + +data "aws_ec2_managed_prefix_list" "vpc_lattice_ipv4" { + name = "com.amazonaws.${local.region}.vpc-lattice" +} + +resource "aws_vpc_security_group_ingress_rule" "cluster_sg_ingress" { + security_group_id = module.eks.node_security_group_id + + prefix_list_id = data.aws_ec2_managed_prefix_list.vpc_lattice_ipv4.id + ip_protocol = "-1" +} \ No newline at end of file diff --git a/patterns/vpc-lattice/client-server-communication/lattice.tf b/patterns/vpc-lattice/client-server-communication/lattice.tf new file mode 100644 index 0000000000..3a53f16b12 --- /dev/null +++ b/patterns/vpc-lattice/client-server-communication/lattice.tf @@ -0,0 +1,42 @@ +################################################################################ +# VPC Lattice service network +################################################################################ + +resource "aws_vpclattice_service_network" "this" { + name = "my-services" + auth_type = "NONE" + + tags = local.tags +} + +resource "aws_vpclattice_service_network_vpc_association" "cluster_vpc" { + vpc_identifier = module.cluster_vpc.vpc_id + service_network_identifier = aws_vpclattice_service_network.this.id +} + +resource "aws_vpclattice_service_network_vpc_association" "client_vpc" { + vpc_identifier = module.client_vpc.vpc_id + service_network_identifier = aws_vpclattice_service_network.this.id +} + +resource "time_sleep" "wait_for_lattice_resources" { + depends_on = [helm_release.demo_application] + + create_duration = "120s" +} + +################################################################################ +# Custom domain name for VPC lattice service +# Records will be created by external-dns using DNSEndpoint objects which +# are created by the VPC Lattice gateway api controller when creating HTTPRoutes +################################################################################ + +resource "aws_route53_zone" "primary" { + name = "example.com" + + vpc { + vpc_id = module.client_vpc.vpc_id + } + + tags = local.tags +} \ No newline at end of file diff --git a/patterns/vpc-lattice/client-server-communication/main.tf b/patterns/vpc-lattice/client-server-communication/main.tf new file mode 100644 index 0000000000..9c37c42c17 --- /dev/null +++ b/patterns/vpc-lattice/client-server-communication/main.tf @@ -0,0 +1,54 @@ +provider "aws" { + region = local.region +} + +data "aws_availability_zones" "available" { + #Do not include local zones + filter { + name = "opt-in-status" + values = ["opt-in-not-required"] + } +} + + +provider "kubernetes" { + host = module.eks.cluster_endpoint + cluster_ca_certificate = base64decode(module.eks.cluster_certificate_authority_data) + + exec { + api_version = "client.authentication.k8s.io/v1beta1" + command = "aws" + # This requires the awscli to be installed locally where Terraform is executed + args = ["eks", "get-token", "--cluster-name", module.eks.cluster_name] + } +} + +provider "helm" { + kubernetes { + host = module.eks.cluster_endpoint + cluster_ca_certificate = base64decode(module.eks.cluster_certificate_authority_data) + + exec { + api_version = "client.authentication.k8s.io/v1beta1" + command = "aws" + # This requires the awscli to be installed locally where Terraform is executed + args = ["eks", "get-token", "--cluster-name", module.eks.cluster_name] + } + } +} + +locals { + name = basename(path.cwd) + region = "us-west-2" + + cluster_vpc_cidr = "10.0.0.0/16" + client_vpc_cidr = "10.1.0.0/16" + azs = slice(data.aws_availability_zones.available.names, 0, 3) + + tags = { + Blueprint = local.name + GithubRepo = "github.com/aws-ia/terraform-aws-eks-blueprints" + } +} + + diff --git a/patterns/vpc-lattice/01_client-server-communication/outputs.tf b/patterns/vpc-lattice/client-server-communication/outputs.tf similarity index 100% rename from patterns/vpc-lattice/01_client-server-communication/outputs.tf rename to patterns/vpc-lattice/client-server-communication/outputs.tf diff --git a/patterns/vpc-lattice/01_client-server-communication/variables.tf b/patterns/vpc-lattice/client-server-communication/variables.tf similarity index 100% rename from patterns/vpc-lattice/01_client-server-communication/variables.tf rename to patterns/vpc-lattice/client-server-communication/variables.tf diff --git a/patterns/vpc-lattice/01_client-server-communication/versions.tf b/patterns/vpc-lattice/client-server-communication/versions.tf similarity index 100% rename from patterns/vpc-lattice/01_client-server-communication/versions.tf rename to patterns/vpc-lattice/client-server-communication/versions.tf From 081d611f326181b80115d2ea62bd985528f34752 Mon Sep 17 00:00:00 2001 From: Valentin Widmer Date: Tue, 23 Jan 2024 10:49:42 +0100 Subject: [PATCH 25/25] Fix formatting issues --- patterns/vpc-lattice/README.md | 3 +-- patterns/vpc-lattice/client-server-communication/client.tf | 2 +- patterns/vpc-lattice/client-server-communication/eks.tf | 2 +- patterns/vpc-lattice/client-server-communication/lattice.tf | 2 +- patterns/vpc-lattice/client-server-communication/main.tf | 2 -- 5 files changed, 4 insertions(+), 7 deletions(-) diff --git a/patterns/vpc-lattice/README.md b/patterns/vpc-lattice/README.md index cf3d14c099..19cf4489b6 100644 --- a/patterns/vpc-lattice/README.md +++ b/patterns/vpc-lattice/README.md @@ -1,6 +1,6 @@ # Amazon VPC Lattice -This folder contains use case-driven patterns covering different aspects of the Amazon VPC Lattice service. +This folder contains use case-driven patterns covering different aspects of the Amazon VPC Lattice service. ## Use cases @@ -12,4 +12,3 @@ This folder contains use case-driven patterns covering different aspects of the - [Documentation](https://docs.aws.amazon.com/vpc-lattice/latest/ug/what-is-vpc-lattice.html) - [AWS Gateway API Controller](https://www.gateway-api-controller.eks.aws.dev/) - diff --git a/patterns/vpc-lattice/client-server-communication/client.tf b/patterns/vpc-lattice/client-server-communication/client.tf index 9dec44546d..145db1ecf6 100644 --- a/patterns/vpc-lattice/client-server-communication/client.tf +++ b/patterns/vpc-lattice/client-server-communication/client.tf @@ -99,4 +99,4 @@ module "client_vpc" { private_subnets = [for k, v in local.azs : cidrsubnet(local.client_vpc_cidr, 4, k)] tags = local.tags -} \ No newline at end of file +} diff --git a/patterns/vpc-lattice/client-server-communication/eks.tf b/patterns/vpc-lattice/client-server-communication/eks.tf index 3547ea9d6c..0f50052063 100644 --- a/patterns/vpc-lattice/client-server-communication/eks.tf +++ b/patterns/vpc-lattice/client-server-communication/eks.tf @@ -194,4 +194,4 @@ resource "aws_vpc_security_group_ingress_rule" "cluster_sg_ingress" { prefix_list_id = data.aws_ec2_managed_prefix_list.vpc_lattice_ipv4.id ip_protocol = "-1" -} \ No newline at end of file +} diff --git a/patterns/vpc-lattice/client-server-communication/lattice.tf b/patterns/vpc-lattice/client-server-communication/lattice.tf index 3a53f16b12..c8ddd7f661 100644 --- a/patterns/vpc-lattice/client-server-communication/lattice.tf +++ b/patterns/vpc-lattice/client-server-communication/lattice.tf @@ -39,4 +39,4 @@ resource "aws_route53_zone" "primary" { } tags = local.tags -} \ No newline at end of file +} diff --git a/patterns/vpc-lattice/client-server-communication/main.tf b/patterns/vpc-lattice/client-server-communication/main.tf index 9c37c42c17..4412f1b1dd 100644 --- a/patterns/vpc-lattice/client-server-communication/main.tf +++ b/patterns/vpc-lattice/client-server-communication/main.tf @@ -50,5 +50,3 @@ locals { GithubRepo = "github.com/aws-ia/terraform-aws-eks-blueprints" } } - -