From 6fb46ddbd26db5607d5bebe043a90fec5a60d07c Mon Sep 17 00:00:00 2001 From: Laura Hinson Date: Mon, 19 Aug 2024 16:26:36 -0400 Subject: [PATCH] Moving HCP disconnected docs --- _topic_maps/_topic_map.yml | 15 +- .../hcp-deploy-disconnected.adoc | 7 - .../hcp-disconnected/_attributes | 1 + .../hcp-disconnected/hcp-dc-monitor.adoc | 13 + .../hcp-disconnected/hcp-deploy-dc-bm.adoc | 54 ++++ .../hcp-disconnected/hcp-deploy-dc-virt.adoc | 67 ++++ .../hcp-disconnected/hcp-deploy-dc.adoc | 21 ++ hosted_control_planes/hcp-disconnected/images | 1 + .../hcp-disconnected/modules | 1 + .../hcp-disconnected/snippets | 1 + .../hcp-prepare-disconnected.adoc | 7 - ...89_RHACM_HyperShift_on_bare_metal_1223.png | Bin 0 -> 297381 bytes modules/hcp-agentserviceconfig.adoc | 124 ++++++++ modules/hcp-bm-hosts.adoc | 121 ++++++++ modules/hcp-dc-addon.adoc | 41 +++ modules/hcp-dc-apply-objects.adoc | 63 ++++ modules/hcp-dc-bm-arch.adoc | 70 +++++ modules/hcp-dc-bm-reqs.adoc | 20 ++ modules/hcp-dc-extract.adoc | 26 ++ modules/hcp-dc-hypervisor.adoc | 170 ++++++++++ modules/hcp-dc-image-mirror.adoc | 108 +++++++ modules/hcp-dc-infraenv.adoc | 46 +++ modules/hcp-dc-mgmt-cluster.adoc | 147 +++++++++ modules/hcp-dc-registry.adoc | 121 ++++++++ modules/hcp-dc-scale-np.adoc | 47 +++ modules/hcp-dc-tls-hosted.adoc | 50 +++ modules/hcp-dc-tls-mgmt.adoc | 51 +++ modules/hcp-dc-usr-wkld.adoc | 46 +++ modules/hcp-dc-verify.adoc | 47 +++ modules/hcp-dc-web-server.adoc | 48 +++ modules/hcp-hc-objects.adoc | 290 ++++++++++++++++++ modules/hcp-metallb.adoc | 5 +- modules/hcp-monitor-cp.adoc | 30 ++ modules/hcp-monitor-dp.adoc | 29 ++ modules/hcp-nodepool-hc.adoc | 58 ++++ modules/hcp-virt-add-networks.adoc | 2 +- modules/hcp-virt-addl-network.adoc | 2 +- modules/hcp-virt-create-hc-cli.adoc | 3 +- modules/hcp-virt-create-hc-console.adoc | 2 +- modules/hcp-virt-create-hc-ext-infra.adoc | 2 +- modules/hcp-virt-guaranteed-cpus.adoc | 2 +- modules/hcp-virt-ingress-dns.adoc | 2 +- modules/hcp-virt-sched-vms.adoc | 2 +- modules/hcp-worker-hc.adoc | 116 +++++++ 44 files changed, 2052 insertions(+), 27 deletions(-) delete mode 100644 hosted_control_planes/hcp-deploy-disconnected.adoc create mode 120000 hosted_control_planes/hcp-disconnected/_attributes create mode 100644 hosted_control_planes/hcp-disconnected/hcp-dc-monitor.adoc create mode 100644 hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc create mode 100644 hosted_control_planes/hcp-disconnected/hcp-deploy-dc-virt.adoc create mode 100644 hosted_control_planes/hcp-disconnected/hcp-deploy-dc.adoc create mode 120000 hosted_control_planes/hcp-disconnected/images create mode 120000 hosted_control_planes/hcp-disconnected/modules create mode 120000 hosted_control_planes/hcp-disconnected/snippets delete mode 100644 hosted_control_planes/hcp-prepare-disconnected.adoc create mode 100644 images/489_RHACM_HyperShift_on_bare_metal_1223.png create mode 100644 modules/hcp-agentserviceconfig.adoc create mode 100644 modules/hcp-bm-hosts.adoc create mode 100644 modules/hcp-dc-addon.adoc create mode 100644 modules/hcp-dc-apply-objects.adoc create mode 100644 modules/hcp-dc-bm-arch.adoc create mode 100644 modules/hcp-dc-bm-reqs.adoc create mode 100644 modules/hcp-dc-extract.adoc create mode 100644 modules/hcp-dc-hypervisor.adoc create mode 100644 modules/hcp-dc-image-mirror.adoc create mode 100644 modules/hcp-dc-infraenv.adoc create mode 100644 modules/hcp-dc-mgmt-cluster.adoc create mode 100644 modules/hcp-dc-registry.adoc create mode 100644 modules/hcp-dc-scale-np.adoc create mode 100644 modules/hcp-dc-tls-hosted.adoc create mode 100644 modules/hcp-dc-tls-mgmt.adoc create mode 100644 modules/hcp-dc-usr-wkld.adoc create mode 100644 modules/hcp-dc-verify.adoc create mode 100644 modules/hcp-dc-web-server.adoc create mode 100644 modules/hcp-hc-objects.adoc create mode 100644 modules/hcp-monitor-cp.adoc create mode 100644 modules/hcp-monitor-dp.adoc create mode 100644 modules/hcp-nodepool-hc.adoc create mode 100644 modules/hcp-worker-hc.adoc diff --git a/_topic_maps/_topic_map.yml b/_topic_maps/_topic_map.yml index f5997e50d0..3ced2cc28b 100644 --- a/_topic_maps/_topic_map.yml +++ b/_topic_maps/_topic_map.yml @@ -2424,7 +2424,7 @@ Topics: File: hcp-deploy-aws - Name: Deploying hosted control planes on bare metal File: hcp-deploy-bm - - Name: Deploying hosted conrol planes on OpenShift Virtualization + - Name: Deploying hosted control planes on OpenShift Virtualization File: hcp-deploy-virt - Name: Deploying hosted control planes on non-bare metal agent machines File: hcp-deploy-non-bm @@ -2445,10 +2445,17 @@ Topics: File: hcp-manage-non-bm - Name: Managing hosted control planes on IBM Power File: hcp-manage-ibmpower -- Name: Preparing to deploy hosted control planes in a disconnected environment - File: hcp-prepare-disconnected - Name: Deploying hosted control planes in a disconnected environment - File: hcp-deploy-disconnected + Dir: hcp-disconnected + Topics: + - Name: Introduction to hosted control planes in a disconnected environment + File: hcp-deploy-dc + - Name: Deploying hosted control planes on OpenShift Virtualization in a disconnected environment + File: hcp-deploy-dc-virt + - Name: Deploying hosted control planes on bare metal in a disconnected environment + File: hcp-deploy-dc-bm + - Name: Monitoring user workload in a disconnected environment + File: hcp-dc-monitor - Name: Updating hosted control planes File: hcp-updating - Name: High availability for hosted control planes diff --git a/hosted_control_planes/hcp-deploy-disconnected.adoc b/hosted_control_planes/hcp-deploy-disconnected.adoc deleted file mode 100644 index fea2b7ace9..0000000000 --- a/hosted_control_planes/hcp-deploy-disconnected.adoc +++ /dev/null @@ -1,7 +0,0 @@ -:_mod-docs-content-type: ASSEMBLY -[id="hcp-deploy-disconnected"] -include::_attributes/common-attributes.adoc[] -= Deploying {hcp} in a disconnected environment -:context: hcp-deploy-disconnected - -toc::[] \ No newline at end of file diff --git a/hosted_control_planes/hcp-disconnected/_attributes b/hosted_control_planes/hcp-disconnected/_attributes new file mode 120000 index 0000000000..20cc1dcb77 --- /dev/null +++ b/hosted_control_planes/hcp-disconnected/_attributes @@ -0,0 +1 @@ +../../_attributes/ \ No newline at end of file diff --git a/hosted_control_planes/hcp-disconnected/hcp-dc-monitor.adoc b/hosted_control_planes/hcp-disconnected/hcp-dc-monitor.adoc new file mode 100644 index 0000000000..ae143cb6bf --- /dev/null +++ b/hosted_control_planes/hcp-disconnected/hcp-dc-monitor.adoc @@ -0,0 +1,13 @@ +:_mod-docs-content-type: ASSEMBLY +[id="hcp-dc-monitor"] +include::_attributes/common-attributes.adoc[] += Monitoring user workload in a disconnected environment +:context: hcp-dc-monitor + +toc::[] + +The `hypershift-addon` managed cluster add-on enables the `--enable-uwm-telemetry-remote-write` option in the HyperShift Operator. By enabling that option, you ensure that user workload monitoring is enabled and that it can remotely write telemetry metrics from control planes. + +include::modules/hcp-dc-usr-wkld.adoc[leveloffset=+1] +include::modules/hcp-dc-verify.adoc[leveloffset=+1] +include::modules/hcp-dc-addon.adoc[leveloffset=+1] \ No newline at end of file diff --git a/hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc b/hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc new file mode 100644 index 0000000000..e2884d74dc --- /dev/null +++ b/hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc @@ -0,0 +1,54 @@ +:_mod-docs-content-type: ASSEMBLY +[id="hcp-deploy-dc-bm"] +include::_attributes/common-attributes.adoc[] += Deploying {hcp} on bare metal in a disconnected environment +:context: hcp-deploy-dc-bm + +toc::[] + +When you provision hosted control planes on bare metal, you use the Agent platform. The Agent platform and {mce} work together to enable disconnected deployments. The Agent platform uses the central infrastructure management service to add worker nodes to a hosted cluster. For an introduction to the central infrastructure management service, see link:https://docs.redhat.com/en/documentation/red_hat_advanced_cluster_management_for_kubernetes/2.11/html/clusters/cluster_mce_overview#enable-cim[Enabling the central infrastructure management service]. + +include::modules/hcp-dc-bm-arch.adoc[leveloffset=+1] +include::modules/hcp-dc-bm-reqs.adoc[leveloffset=+1] +include::modules/hcp-dc-extract.adoc[leveloffset=+1] +include::modules/hcp-dc-hypervisor.adoc[leveloffset=+1] +include::modules/hcp-bm-dns.adoc[leveloffset=+1] +include::modules/hcp-dc-registry.adoc[leveloffset=+1] +include::modules/hcp-dc-mgmt-cluster.adoc[leveloffset=+1] +include::modules/hcp-dc-web-server.adoc[leveloffset=+1] +include::modules/hcp-dc-image-mirror.adoc[leveloffset=+1] +include::modules/hcp-dc-apply-objects.adoc[leveloffset=+1] + +[role="_additional-resources"] +.Additional resources +* xref:../../disconnected/mirroring/installing-mirroring-disconnected.adoc#installing-mirroring-disconnected[Mirroring images for a disconnected installation using the oc-mirror plugin]. + +[id="hcp-dc-mce-bm"] +== Deploying {mce-short} for a disconnected installation of {hcp} + +The {mce} plays a crucial role in deploying clusters across providers. If you do not have {mce-short} installed, review the following documentation to understand the prerequisites and steps to install it: + +* link:https://docs.redhat.com/en/documentation/red_hat_advanced_cluster_management_for_kubernetes/2.11/html/clusters/cluster_mce_overview#mce-intro[About cluster lifecycle with multicluster engine operator] +* link:https://docs.redhat.com/en/documentation/red_hat_advanced_cluster_management_for_kubernetes/2.11/html/clusters/cluster_mce_overview#mce-install-intro[Installing and upgrading multicluster engine operator] + +include::modules/hcp-agentserviceconfig.adoc[leveloffset=+2] + +[id="hcp-dc-tls-bm"] +== Configuring TLS certificates for a disconnected installation of {hcp} + +To ensure proper function in a disconnected deployment, you need to configure the registry CA certificates in the management cluster and the worker nodes for the hosted cluster. + +include::modules/hcp-dc-tls-mgmt.adoc[leveloffset=+2] +include::modules/hcp-dc-tls-hosted.adoc[leveloffset=+2] + +[id="hcp-dc-bm-hosted"] +== Creating a hosted cluster on bare metal + +A hosted cluster is an {product-title} cluster with its control plane and API endpoint hosted on a management cluster. The hosted cluster includes the control plane and its corresponding data plane. + +include::modules/hcp-hc-objects.adoc[leveloffset=+2] +include::modules/hcp-nodepool-hc.adoc[leveloffset=+2] +include::modules/hcp-dc-infraenv.adoc[leveloffset=+2] +include::modules/hcp-worker-hc.adoc[leveloffset=+2] +include::modules/hcp-bm-hosts.adoc[leveloffset=+2] +include::modules/hcp-dc-scale-np.adoc[leveloffset=+2] \ No newline at end of file diff --git a/hosted_control_planes/hcp-disconnected/hcp-deploy-dc-virt.adoc b/hosted_control_planes/hcp-disconnected/hcp-deploy-dc-virt.adoc new file mode 100644 index 0000000000..21ea540def --- /dev/null +++ b/hosted_control_planes/hcp-disconnected/hcp-deploy-dc-virt.adoc @@ -0,0 +1,67 @@ +:_mod-docs-content-type: ASSEMBLY +[id="hcp-deploy-dc-virt"] +include::_attributes/common-attributes.adoc[] += Deploying {hcp} on {VirtProductName} in a disconnected environment +:context: hcp-deploy-dc-virt + +toc::[] + +When you deploy {hcp} in a disconnected environment, some of the steps differ depending on the platform you use. The following procedures are specific to deployments on {VirtProductName}. + +:FeatureName: {hcp-capital} on {VirtProductName} in a disconnected environment +include::snippets/technology-preview.adoc[] + +[id="prerequisites_{context}"] +== Prerequisites + +* You have a disconnected {product-title} environment serving as your management cluster. +* You have an internal registry to mirror images on. For more information, see xref:../../disconnected/mirroring/index.adoc#installing-mirroring-disconnected-about[About disconnected installation mirroring]. + +include::modules/hcp-dc-image-mirror.adoc[leveloffset=+1] +include::modules/hcp-dc-apply-objects.adoc[leveloffset=+1] + +[role="_additional-resources"] +.Additional resources +* xref:../../disconnected/mirroring/installing-mirroring-disconnected.adoc#installing-mirroring-disconnected[Mirroring images for a disconnected installation using the oc-mirror plugin]. + +[id="hcp-dc-mce-virt"] +== Deploying {mce-short} for a disconnected installation of {hcp} + +The {mce} plays a crucial role in deploying clusters across providers. If you do not have {mce-short} installed, review the following documentation to understand the prerequisites and steps to install it: + +* link:https://docs.redhat.com/en/documentation/red_hat_advanced_cluster_management_for_kubernetes/2.11/html/clusters/cluster_mce_overview#mce-intro[About cluster lifecycle with multicluster engine operator] +* link:https://docs.redhat.com/en/documentation/red_hat_advanced_cluster_management_for_kubernetes/2.11/html/clusters/cluster_mce_overview#mce-install-intro[Installing and upgrading multicluster engine operator] + +[id="hcp-dc-tls-virt"] +== Configuring TLS certificates for a disconnected installation of {hcp} + +To ensure proper function in a disconnected deployment, you need to configure the registry CA certificates in the management cluster and the worker nodes for the hosted cluster. + +include::modules/hcp-dc-tls-mgmt.adoc[leveloffset=+2] +include::modules/hcp-dc-tls-hosted.adoc[leveloffset=+2] + +[id="hcp-dc-virt-hosted"] +== Creating a hosted cluster on {VirtProductName} + +A hosted cluster is an {product-title} cluster with its control plane and API endpoint hosted on a management cluster. The hosted cluster includes the control plane and its corresponding data plane. + +include::modules/hcp-virt-reqs.adoc[leveloffset=+2] +include::modules/hcp-virt-create-hc-cli.adoc[leveloffset=+2] +include::modules/hcp-virt-ingress-dns.adoc[leveloffset=+2] + +[id="hcp-dc-virt-ingress-dns-custom"] +=== Customizing ingress and DNS behavior + +If you do not want to use the default ingress and DNS behavior, you can configure a KubeVirt hosted cluster with a unique base domain at creation time. This option requires manual configuration steps during creation and involves three main steps: cluster creation, load balancer creation, and wildcard DNS configuration. + +include::modules/hcp-virt-hc-base-domain.adoc[leveloffset=+3] +include::modules/hcp-virt-load-balancer.adoc[leveloffset=+3] +include::modules/hcp-virt-wildcard-dns.adoc[leveloffset=+3] + +[id="hcp-dc-finish"] +== Finishing the deployment + +You can monitor the deployment of a hosted cluster from two perspectives: the control plane and the data plane. + +include::modules/hcp-monitor-cp.adoc[leveloffset=+2] +include::modules/hcp-monitor-dp.adoc[leveloffset=+2] \ No newline at end of file diff --git a/hosted_control_planes/hcp-disconnected/hcp-deploy-dc.adoc b/hosted_control_planes/hcp-disconnected/hcp-deploy-dc.adoc new file mode 100644 index 0000000000..95b1af3077 --- /dev/null +++ b/hosted_control_planes/hcp-disconnected/hcp-deploy-dc.adoc @@ -0,0 +1,21 @@ +:_mod-docs-content-type: ASSEMBLY +[id="hcp-deploy-dc"] +include::_attributes/common-attributes.adoc[] += Introduction to {hcp} in a disconnected environment +:context: hcp-deploy-dc + +toc::[] + +In the context of {hcp}, a disconnected environment is an {product-title} deployment that is not connected to the internet and that uses {hcp} as a base. You can deploy {hcp} in a disconnected environment on bare metal or {VirtProductName}. + +{hcp-capital} in disconnected environments function differently than in standalone {product-title}: + +* The control plane is in the management cluster. The control plane is where the pods of the hosted control plane are run and managed by the Control Plane Operator. +* The data plane is in the workers of the hosted cluster. The data plane is where the workloads and other pods run, all managed by the HostedClusterConfig Operator. + +Depending on where the pods are running, they are affected by the `ImageDigestMirrorSet` (IDMS) or `ImageContentSourcePolicy` (ICSP) that is created in the management cluster or by the `ImageContentSource` that is set in the `spec` field of the manifest for the hosted cluster. The `spec` field is translated into an IDMS object on the hosted cluster. + +You can deploy {hcp} in a disconnected environment on IPv4, IPv6, and dual-stack networks. IPv4 is one of the simplest network configurations to deploy {hcp} in a disconnected environment. IPv4 ranges require fewer external components than IPv6 or dual-stack setups. For {hcp} on {VirtProductName} in a disconnected environment, use either an IPv4 or a dual-stack network. + +:FeatureName: {hcp-capital} in a disconnected environment on a dual-stack network +include::snippets/technology-preview.adoc[] \ No newline at end of file diff --git a/hosted_control_planes/hcp-disconnected/images b/hosted_control_planes/hcp-disconnected/images new file mode 120000 index 0000000000..5fa6987088 --- /dev/null +++ b/hosted_control_planes/hcp-disconnected/images @@ -0,0 +1 @@ +../../images \ No newline at end of file diff --git a/hosted_control_planes/hcp-disconnected/modules b/hosted_control_planes/hcp-disconnected/modules new file mode 120000 index 0000000000..8b0e854007 --- /dev/null +++ b/hosted_control_planes/hcp-disconnected/modules @@ -0,0 +1 @@ +../../modules \ No newline at end of file diff --git a/hosted_control_planes/hcp-disconnected/snippets b/hosted_control_planes/hcp-disconnected/snippets new file mode 120000 index 0000000000..7bf6da9a51 --- /dev/null +++ b/hosted_control_planes/hcp-disconnected/snippets @@ -0,0 +1 @@ +../../snippets \ No newline at end of file diff --git a/hosted_control_planes/hcp-prepare-disconnected.adoc b/hosted_control_planes/hcp-prepare-disconnected.adoc deleted file mode 100644 index 4ffad73e78..0000000000 --- a/hosted_control_planes/hcp-prepare-disconnected.adoc +++ /dev/null @@ -1,7 +0,0 @@ -:_mod-docs-content-type: ASSEMBLY -[id="hcp-prepare-disconnected"] -include::_attributes/common-attributes.adoc[] -= Preparing to deploy {hcp} in a disconnected environment -:context: hcp-prepare-disconnected - -toc::[] \ No newline at end of file diff --git a/images/489_RHACM_HyperShift_on_bare_metal_1223.png b/images/489_RHACM_HyperShift_on_bare_metal_1223.png new file mode 100644 index 0000000000000000000000000000000000000000..6aeddb25ec0df2d0e21700303aa8b693702ad1b8 GIT binary patch literal 297381 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

XqVcp?@;z+R% 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

  • ma|BxffMygaxQwy~!2VO7Y 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�rckjdJd-fjf){Se;R)E7$LW= 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
    {aiGib3x*g!J}kkPCd#PL1$dv(5{Pt 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

    PJPdrD3P+ywVw~Q=3fY(}OXU=9S zpLV3FEWX_c$W1-fo-ZnNHT2OX3_ zIcu6vBi@r43<2lCncW(cJ(bUTKJ63aEwHfz**4srwqe;`?qPgU{m-6=m0_j75-|~T z{V@3>)$ttfP>8t{U{3u(12usHpIZap2RtcwrR(&G<@TS?l{WrMpLwbHb=!GOeVx~( zNR<0V%xqyS{T1>mj)P1kQ_y0Te``;nl)T(VCUy9W{UmLhZH4RR#7F&O7nFwlhs8dg7l^{O{=At-Qf6wF^gn?KLRp_vEV@T00((1?q zg^u-8LwC13aWef%2Jft?EDz34r{J92A}w!iJBh%1>nML5gu~zY#UVedW|G>}g`VNk z%+IaCdUfB1UT$l4HKFP%MSZXMnJ=6@%)ApGz~#3OQ^9@uL!fwYZyv5-KX68cg1mZm z$yVB=N>#5styjEL)}%OW<)#N&vzu=0x8-Jou5PXyo!s&%MamV8Zn@PjK+&U{uDeto zB=u)6W-FPlV{1mY>n|$B%NlE6b2+R79wv)aXJ`8H?O{N)D%ovkEY6`7gHSklGYdqe zJUym3o8mU1dmmv0;wK*VneQdlW;r8UEJbT99Ku1fnmv^gqGhNBb%~b#M!MJ0Fa+Q=k&T&y9@7sVMKKh%$owKa2ED7t)Exlaufv;2>q2wZRtb#6J z_$?4F(c^ch->8JziMaBThXc#v?b6Qz6E1^@&EY1E_=n>Bn#KFZIsAsdDBJ<7g{w6W zo^kK2+GMTHDB^u!`71m7Q8-8gtPWCBD;V7-_B)`;8@1|_?^TfRX$qxJ0e3pXS`byG*G#e`eV<#X@`6KM?XT7&&GiJPSQOfv2aA@Xr<$^7LXr^@& zfQn0>u$-k%8{H&yxJ`KJ9XKB5Q}xh<{?U-=+f{1E_6^tirPfx5=3A24DM> zXXD>e(iHM*@Ryexy;%*?^zF#M)M0TDsnEWjbgP^YDkHhDh1RK_>+uXTkyd?tM~ z%&5?NsvGJD6c)Hs&0GNBM?Q)M*ImcUO{P>w^++O>Eze6UrW4`41R(FVV!Ps13!3tL zS4{AaehFy<(G}jnmSwdM{G{Rf+JL*FCbf$uD?diIa9tZsH?y_}6p!kY%)N%kSghvI^iBy?Pw4&$sq1^q7=ge6yM-k?RRY z1V4VTDUeeHhaEPr|vJGlH_y%lZo|ipBB&%AivBGSCMQ}VnzIkRS{rCZ9bdSfe-9r-- zJ0PvxYOGwQ60uTmkXp#PUTL;~UvJ*tfGb`gv>svnc4OYhZt)I!%{LqC-6BGRJec)k zNb{Mf%LAl@b9$G5W_xMvh42>%eN&cHD+W~!8$WkLAB7n|m9wqk5RkALB?V19Ok$>@ z#fXR*I_D`=Hi!_)U9T{Vtc3Kq1Pt49%Qj(516fmFzduz9+*$Bz?fTkFL;e3T_SRup zw@ce7sf2_`cPSw)-Q7qCNOy^dl!$bvNP~nlf*_5AbSZ+Aihu$F(%sVRx$$|{yS{fH z-#)f~Jd4GB^NTBH&N=6tYxWrX&hzuTK3;5Y%+!h1yYGLXxEk#^Dn7aHvN-4P=UFqT zVJ#Joj~8U7Q>IY}5^c-_`sJit$$b=^)?k@B-qM#Ki5OK1^Oz z$b8}FW42?*?!o0p23`}H{o@VL^1NHlYXC&7^@3hctYs}9gKWKoqov?yB^l(5>dm9R zF0Xtk_#G7U0{A%U7=ic|rFhC2P3_J5qWNk+zkMAP-d;bVVK>}aUy%?Hq}&D-o&58b z?Ut*djYf_pqLK-qtrG0;7B3$x)GFZVR8(t(ncus6pTO=BZDW#>%KO2_m%Kaahr-wbXf5*y1GBweIvh_ zefaRL_=dX|FS#1ri06IHee^)=LeGh*v)1)w#%&Tm<<;Z|%Ph)H=p)np`N)o6jDL>7I_C;ILb@On_fHfA+s__fR^_=yU!-NnHE8H{EWvA(9y_s;WG;x8zW&`PTaiNVq)6E;F5#a z?D=Wq8C;dAgG>#^)OA1aDVQ+udR4A%d-#}`ItgcL7%ck#JUNRT{SAexPe}BdSItt} z=U!-iyTNaT}+NM8#Q7Zx17F4gOUi=B|qA*yZ9#BlG_L zBZ$O{^?CyJAAw%W#`{%D+^d&Dqr5Q0{;hEmq=XJ~Oz`vnfB9Kg`1SuKKLbHpC!D(c zf6C98A7(wU%Rxr+KPJBxjCc>Y$AkZoXD+49YoepD-ptn8-2;JOY#&0_m-gP~<i6A)X-&(3^B$q)_SlRQ{-p#GY&E!#>0UraS0adRZ3e>9=+(|;@MKL1sO_V)HtdoJZbk_58d5q76{0)`~u^6YBMKn*nfobg0#F({%S0v2 z5Xe5NLr8}u@8k`0O^Q1$A?D5Za0bo}d5V}f7$srKPr)z79TqU*&x(@a9CbLsDggCr zJVIUh! zMoMGm*-=2lq?)cUY;Y-H>tlN5MgUvMKMF2Ojt;-yinl%*R-l2C-BnUJ_(-pzp&@C6 zIi)-S#q2+#%;_zICXa3CqAL5~yVZ6~Pr&VcI1jm{cu zq@mB^Ki?U!J0CuUm4llH@A>9lp}lk$CvY$J zX?m!F`IZxD^WGN~h?ICj-kP@hLSL&cG{g{IS_s^fiHQlAeUNKxsYP}3Jl&XBTXUdC zj6Kp}7zj_p`l<)T8{w2-s9bD$^K}_YwSe(gwnBUX=>i`y0EgQjX%+{w9#@asPd#{N zKmwhLp}*BEDw1F}^Z|p$%a5j-QvVf2lV>q1B`~QUcs7&w|C+LxeLc8{eG$QojC7Ea zntIfM%?V9m{%&0YVaeYoP~MQjY3f+1cW{v~?r=U6Ml%IrUoIMwpxwXH>`^mXG|Atr zw{NHOSV!J1yjL=Ea-lQ9a?T4)U}xcM2N-Qgmhu8-mFI^8VR0z+Tu_4?^=#mN>)e9nJf@jxHPhMs_J6<+Ro0EcMD6rpy<(1ON$2@ zhSFa_Dq_LM2+xYl{m--K=|dB^ju31}WHM6xbf{IAICFzO(Oo!58te=VmeXwk5fKsp zs&-JLyYCU~@7T@octi*^nMtTQJjXc1lJd4Y`1NlN*OUnf+ zPNGa-t7m1##!9}u{LTfXOqsuYwr&aD0h3aEhfG-)CmI%#M&18==5fncxOG(%Q9&bY zW3zzG*#w=bB>!8a?Q|f~fqnxS2{ft*wY_9bk>xc`_+PdErFw?@{*^7m#?6#b_&*iO zh}{FtQ@FX~{#)s-csYW|AW=u!&qeq;`1k)=Ctz)D{S<<;h5mF*^r6!Ve=7eE-T6K6 zR|q*hz=qT_Xtgs|$uNwR#+x-*$H52(zC$;!`uh6f;$8>-I*es#H}MDhCho6T^O8pp z`O91uCHy0*&db5$8wxHpZanD3lQ@NTI?!;judnaSxAkt}jm?L!&!>KaEX1qJrn0hf zd3hN`b?1=0^y$E4!WTfokwX|FT7&Rau|TK>fW81e=SPbvZ2DEUgVcG$MPHZS>aMm= zjaISQT3eUuS1%;pH(CB!w+Zcx?g}q6T42z+cwbzujEnHm)mOX^zI2nAo_;rc{7f|S zopbkumy6Cp7 zj!x2~`}_2OJ)2K_%}4{&fIsI-^iklGxiTvJWWVVDuv+YhS8$xA*< z(n4{(T&lp7hb0^?Ds@HU>ZNB#8sds)jHVKC-(MNgE#VW@tEvok6^1TxdGgUNjg!IT zZS8*@w}0p}Q0j}HZgtA9rQd@Z7SmdXacJCw!RH_J530dIbY6S1qMbLa_px~HB4fn< z6~GC^iW2lky&OS&b}-|B!Z^x)`7;YZB_?#t4rK& z@hZ@c@znPMxlXfWq>9ZC^5C$x4N4EpS}rG zz^6}dEDtD$w{AqYeM(?@3cX4<{+tLcX551=^&g+zORR>K3SBXw19wIbYSGzsXSAQU zsbj)|anr=2x_2gA2R~J@L7`(YJ+0jo^n4kyzlqx>@$ANRG}>NvlP1CVI{Qh~D(##m zb;fzScR!#-GWhU{RtBLtWvUKW{{^*-V#Gq+*81Zi+BDt%4or)h0lb-w&1)`CZQr$*)U+7;33(GztIrv4tjb%L`aJk%fD{jJ{`cR|yL$yLYpAulv3PZJ(TE_lL ze@Bt@*I#Q{Lu7pR+Ac0ttlz{I0k-m_s_rM}>6V=NUO;MVKzNmH7H|4-)}3Ju%xyYr z{`6GY8%SwO`-Oe;u&Q_?pFe*Nr2>q%ZXvD=trFx8#oS7dZi-T?4`zxzuAd3r>Id~Z zXZ(iHh#YhUh?+(%3Zc7?ge2Y;U27(_`!1E={%`<@-)rBQe4@(|7J?NwgTRY-shiDy3fMUpmq*bX*DnNvyz zh{>SMYW0*{|3d;V!k?gBD*XDX+JA}3WOue-T6)p+Z``AxRr*HW-)_N4ko*`Q4wjgD zwrK1=ZatHZ4Opbrx4GX&B=~ISF0#grzm+hWy1EBrmNC)fe8tcaSHTwTWiqzr`LXKV zyN*L8+M0wx?OZmWUv6plLcPGoM1%0FvYZn&6&38@EjC*FIH%J;{}gvYKkGX-pX)*H z95WF7qJDPLufUep6V@iwvx!i?fTzbuSpon!YUJAAu$W2Ff&hf2Ce81qCS3{TDh*0! z??^R?kn?I_9}2t~vG>EsITZNk(lbW#!BO-At(F4h(cIkJP1o@IUx*!y!C`o3fVNcE^yk0Rkb-ybyvb$ZYNv(gtOrdQvxZ&o5v-uzp6 zB$?0AFh>y8oy)8|nSOM34pn!Cjt$+5yU&`ZzI^#IUTrJjhP4F~H@aH>eucFI*Uay- zo(aic5$x#d+v)*>T8GpT`%=q0Kx;Dhf+6mFL!%V$zBxtpNwPEzmL_yXR~K35Mf~YM zQP5#W`PAccWJ)P$0tYcBqFxTdhrGt644_tHli07l*2} z(@41Ce_ahA1y8V%(2rP|*}teI{EOW!)tAsY$XooE`Hzran{@`IF=7X#ldedVd)49i za5vz++}3~WM=)i^GA=tkkGqD3a<_07)G@;IiTD27AGibdiiRe}#l@_mDt9ff7bK;m z{PJ8a%~OcE)q}M1Zw%j^uaqDkO|AnTOYh80Rw%ayQe$w&PV^Q^5ygKNFhBJ4>`xcC zftCH{C7dG3E)y~lSm2icKj~}|b`!j@gmkYCCjAV%2K zvet9YcLv7#`pbV#7`(H`s=zm#HUU_cINSRQbAf;eU#=$Hmd0UpSrrm4Ccx z^zV#VFxMRVRda<|z6Q`6T1qN_l3+@bB0eqc2Yhl5kU4}8pL=>}9g%R6|CY5~3{E|3 zlY8Rk<6)jMRpM_UC3Srbo#MlkS5)PnDHV(7l{YJ+(#9;>!;ROBH7m_fr8G5*QRo#n zE7BC8h-`$;kk-*2tM}_6el`Hwofwbc2SWAcwm1t6lL}M<+1@A7nrSMIuP+0)|(Cgr%X|4># zdtH8xZyf?@P&_go*jmBbm#xf#E$o7EFMpENZ~y#xZLHEV|LSEcqR0^WC2c3DA-!|w zj>KMxEIpLfU5}7;sPwt~`0_+++Fo?RA(nDz_7WZ*zPIOw{s5Oscy4a)8%$riz~kPt zMCd``xxey)N`&8WVr+QWxjhg)Un`dj9A>obNON2*WQrK|8Kr%1Z zEj^~wL@lTg&CvKd8kB@=-!g6oN$3O#I zLBLY4?5;He;HTWE!NS4C9Z5+65ONd0^zv@!{=F za~XB@O=y44Y0?y{=Cr$@R=;`}q4HYNVD_tK%X%X6pO?wW#2b>1W)QU|(_-Xy;N#<0 zz*_;JO<=v8Hw{%e>YU%3n-adKhh1H=GBPqA&z&@24xjtUNK4Z*FwDGNSX}J1`7%0s z0WPeytVmN+lY@hUoSYmbpbb*90K#B95=6`a^qiWSg7xj`=_wO>jpfZlF+Js(-RYSht;d+{29;CQ%j19ij>>A&(+k_COJY}N9!CX(^66j-@N%W zK#PO!CVsoOj!H=dcCw8*gT4MA<;&fk_ALD2|<53^o5EbMoFWQ({g-^1jTl*Re^r1*FgLs;|%FJ8QWg$_-^wKX*>-@Suq z(LD~mQs;4QUfxV19J%_=anj&Bh8HyWE-&ZA3K{(YA%K{en7aBPbaOhaR0LK>EqQJE zYau>Shn0A^y?<*X(yV6V|~`vl|@sIYEbsfkB2o?qymUL^3=g zA}6p9An;+veiD`e1_penJUTQz0zL%MVK!e$O>KVnNRW(#>y+dYj*kQ;exqiRcXD#l z(7?C<__~y4M)bNd#I>E@U&q3dT#2~JJE?sy1Kg7Z-eBtjVwn4Tx*fC&&j7kmod{}gfwU59f!x07ZJkIcCH@9yiBOzIDUca_+aF}TJg5F$NE||E~ zq8MQ}c(M}#+{I7`;5M{J$X(z1iAN>e6;CDTgoHUnj1Q;fSh^HQ3T^o|NI($w+)DBJ zTM&DlvK(WY^zZhBxQP9r7ggc|v2Y0aS67S_2OODw*eq!)9E zQo=2GEw(oYvh>4nJ7M=V45e8Aetj7}SXf|ylj7p&ZXdu*YL-FY`^-%0E(&pP!7p}7 zm34Jtk@bl)GcybdFM{vtZDH^H92HQz+5pP%AGYwPY?DLE!^#FR{lT9!DK zb!EaK5f1xpRi!9F*M(~Y6%RD(SBLCjyDJ{-%=Zzzqe5i`hLGheX}ZAT^fXeXYkoy6 zj_k^4IgLuINml>z4Yrp*?B;|dtjj^+2t&hUSG!FdO*aMG%>0jTzX}?Fb=3eqKY4N8C zZb{z_ZDAyGm)rzYV%ezQ!cpX4Vho+LVlp1f0xZTs=V6L?GwLW+FwTof;J z96WFdp2O;Ul496Ib}YNz(a`~t#cUHC7N;LMbS<(mAo#==0O0 zk812kSj#2=9H?fAi?Om|3CXx5`a<0hgq{rQwV}L!j0wwgHi6!O1?vuGa)Ck_kEdYN6thAreeYPOkOXwpdzZh-?%4^cr7Y zLE*RhT&T)GhETP6=an)#?8BYt^J_oetpZ0Uh3z8q;V;~P|FZHE zx%Z9$qIsEzVG0Jj!6~pe={B&q6nAfl`gsg*l|39O?k>efy{HC+58faI+jG8`sD3sy zG!%5gD-c&*oS!)ZR2cL-Sr<4=WzGecvK1Zo34$RaYHDgSvIZd98Et$y`|vlIPqpe_ zZ3$h#*$WW~OE$uT50_;y09sCH{ z&q?e&>QjDw6HYS}R8+5Ssw7uTz77lw+)99ULy0W+wh|!A5EnQ6{>f@pb#ii?7ViTB-iQ*gv2jYk)7_;n0chEQ`t-?@q{e)3MGW%K{WGY9-HHIi z6PQAH1u2@MwZ^BLcQXVl?S|jzosKCI%k-KHbX9eCs z$qtVRHpH-%gFF#=8B}x>r9g{zSR&(+1ml_;iV<1aCW#_m2M!`4A~hJ~7`8yld@nT= zn4riAJ|r;!|EdcaUpz`dr{5oNCba8aV|T#~Ijw`60{}BT zZ>R%AB22_l!`VX=KM2?La%-_MF#JPP9dlyagRW9gP~@T0NccW?fp;*mA`O3t+mJ+6 zpP(9GN61Uh`+U(60Hx@%5xXdEEE@fcx{8WQ_m||onU0%)`-10~ud~cA%tFiPM9wiL zeDp>=f-Kzk+IpT#%B*lU${!q5iT2NuF}q->0I=mgEi-$fPzb%~DG3Nr46Tp%mgk#= zE8d#%!*Sd>GiIihgO=cY0Pz0-h|lGvsGuD8V4BcGFNTG~w!9wkBuF zQAjrdKH5qhAEU{1BSi3+Gub8$F6afnnXJMS>aqO5qJQt~M8#c)^zYnC5$#}yB;Ho^ zvoA9$OQ*4|Z{93FC%aRR2A*zONr2B*B}>oHuzEGM$iPPacE@2@tzP8EJ)4;d_zR$rVq_1tW|qlCpReitokf^VU{HXGnsi|o|d z-@muN&UA*|;o%vZ%Ldd@-A4J-aB^fs$DO1Cq9E8t3^x;7AAG&_npc;Zr@a*pfUp`S zmUnmO4>ql|Kz{*;ivB1w79mVaPZzQ1!XQo!{0ykUCa)PDO`;6L)^-t0)HLZ+GgZ~k z5I&FTTI=iUFDxwFv~NVciVK9>%Ia!ffs-i?DVIN!F{{_d7gUhx3VqT?ofU&hWaUgu znau(_o=*}hrLCt&v9ji-PklCW&Hk4Hl?O8rr?4U|Y3XOY($-wbz9Tn^V4nQ_k!suN zuhH#IYY6@s2P5+k_$s+Sk+|e%JBt`gw7apfvDw+Q(7%op$&|+i?WY4QjS7e1;it=A z=2fn^nR#TN_yUk}pwsgyNJ4Bm^M^Tnj~pE2W2n^xgb+*S4Q++qwVytinZ>20rA8@O;#4oxolQ2wKK%?4y?qdN)TYw zrvR*W5ohw94J6^S|5i~`a}5t~@sooka#luvrRV9Pv!31Ad60>UONvd~&k5upsRZ_6P#T>RX`tNl-CzP;>Tofi~@(#O(peSPM6lKgD(=YR=Y(kE4tM2*Gyaut;}M$W(*x;%Yqn>Le6s$5IuYw?uRu^3E^OAaxF94%uI?M|DHs;^48i7&`}X9Na{jCXBii!W&bb z?9Svx%j$gV^+-;9MRGCEnv@ih&pRB(?-MN~!%7*=%*_06F{t>{Vqh(4Q<8%@*jv(U z8Xvx$CGxaPr$pBU69oljnz%zwmd5hI1562{fs#bE&;5oo#5B;=&+3YlhsPo8o`w<0 zA(5&Lv|G~V3h#S9TR-3kAqsXB7ZmgWQ#V>}I{NL~^N5ImyxSB*nmmJ?NS^m(WI9>y zy>8RCh(eZ{2G_GI&SfXc!Qlwn328Ov5b?|Ah zr0nT_E}n}qo*`kKO8PBjvRN>;@s)B2fPOa97H_csTt8@CU0irJ=HPj=#Jq@YcsFbZ zp6jxiL{M|^ay0kDHVnseJ~>#w&LE$C;{Ovb4}Fqj^^tRSNl8=?xajs<e9V3$T=CUyGKF2BJ5hVTiXxTQjf z#V02wJP+1b8sl+A$4RcHbKUT$qB+RG?`X46V*{8nm+_;@x8b z)d)LHw*dkfG6%<3(NhpbiZH1F#LRoa`~q)9U8@b&3?g4W!Pog{SFT8_XyDd>6VYz< z^_fHE1^_Tt$489C&CmYAZA0!{g9@{@kK1Ai=O(Gb7+AET^B|Wo|=(!!_ zac800r2GcD&gX16rjZlspI6$RB^Hc@N-1!P1Q(A*`WY=n_Xl2R@J6qXY~{QsOr_vu zxQ)5eC!c-0UODwZC;Ll$u6MzhFALUQUj7!El!oMDLPcF24IF|4a086t%v1~{-@$r= z3mP3Beg=slun%MWs!O9_Zw833BtKyRCJm>q6=)I<^M-~7;C8M|G9I5?!69E-U1h+j z+S%G_OBZHjM0>mi@TB@70F;<4Wmfhsy-JI2Xv6`m8A^JdVVxu7K6{97^?=t)wT$rt z3*PF#qIZbOxl~ib+w@hlEM8o~4OQ$u*s`AB_N=L7`nc!j3Z?YxH-UTn>NY3>pmH z*#mJe;|Ke>I`xii6$d*Hj}|kb%W$x|zTLtdq8!zqGc6tLo@d8Tie`Zp1Bys~c`4qs z+4G(A?+-Mv7G-7#_}Syw2cLfoV{f7&CWe4+AOq{#HQ8pH!OZ@%ad?*CV6+-RwA;Er zzWDrI5*gr?uUx&_DJX?!Sa_Fe?8#xu*|&02i9L;_tLD)aI_TJ86d)@a%7c7zZpq5e zI?mC?N8?rV@Q@DH)|A!OF`42%?;rmX2fw+ObcmT8QC)p!O*k=JBJNr!Rus*4{?DWi za;c}+REQ*i*NT}xoo+|9+Bw{|e2M(}_3I@N#lO@jP$nAq6n1Tie)vJH4p~`QNbO!F>O#K5Xm+r-GJAQxe; z>Daw|C&JUpfS!rM##=<9_Vum)oo^{8#5YqYikp1TJV_tpUwMRxI@DIRmw_VFDX2$oH}RBwtHYM5<)PExiOvZOfu z8kW-6_I5h(rL?sEK3YRxzy8j}^JqTsHAB5E3cs&8|y zyjDvG>0j6={ZuVb5^{bBhKn$AU=uds(xy3a4b*UN{u(UhUAj7A)fklb81w{4=fNTE z#DCb6K@QeIFLiYY5-)fKQq4oxs~+=#gMQ-T64-Hec4lc|F~-_@Gbyz{O}-XHJFq50 zlZOoRND@z)g51ZOy#$2sEV+XDO5rf(;o%7kb(WyLIzAKuM35?)Hd*rmtbE`tbG%=g z)}u|XK%9u_x_INGqTdVp#K$5eCae8g7QG+&kQ|AAhT)qNAPq< zK(^~oWE{$Z3};Nyc297r73@=+oGU5tv%x7GwphJ^j<{50o;USkfDo8Cnx38pbCM%c zqM3Ik9g<}S>ktim`0xSF8Y##3Sq1KN<_IX@0-OFcu3aD?a!N}2zT?O$Y_6_GJ)Fs9 zVq$XTpMem4z=nn)VQb5&eu(LAhUDN_&4YUj1t&^UA0yumu{%OgZqb9w&pCyRk3m2{ zFg?Oxi_w`J5v=2WxMjW}qO7e=D7*(oqN<%w5Y@a4tmMi!min{LtoT?Vz*Gl@#qdrb z;d`7E@vJ%ZghtX{twDL~OzbVCmgA(ITJ5T_SMU5A4CYntms4hPZCoGjRRFWVF%HNR zLYK3pVTJ=LTp`I44e__ix^8jVLPM%t{Mlu|FE%zd0{-fpn^sczm=}N`(?;mRVA`^T zTtib6n=XOg7LtzE!ElDy1}8XL?V%sfoPZa+ThLqc zxRQ0=5sBXmm&KW+vhuXPaY$I?>BicZ0&I2R7xJmf+_8he??3-ObA`BlPZ+3eSbAIX z7PmQwZi`+9a%#_`qlbSX41h1KCq`4|G*>mONe_|@tcLmjxT+I3}UW4!w6ITS+l>FEl_pt;DXj<*<0D8YQy zQt@Fk0ey%&!0#2rAfu=SBs6eQRVi=cpY>+O8TN#}vcm4|8KL4_68AZ-*uE|(PxHL4 zb^=;(t2ju$cDS`Pv-Krq@=ASW|!m7JWs)blZh1~Rna2Xdp>_pU`yQBsZ(^i_R+$^9FQE@0m_ zoUOg(dygMK#`x4?os%Nxhlx5XL(VaQFPC|mNFS-)vh(PwPPR(uc9%ACx_@dCmz~)| zX#&!>A$?EW-5rN>LjVLPhALo&qF)OE6UBg>d8^Ex>vr6grzp?;0r5zaGFtX&4!#me zG0ZdysL48XLWJWF0SXTp;!q04g2j@yvs;42Gu*r|H^=*UD&uFrGBNrvWu}|e?PCSE zl%)tO3A1TZCVj?`qdEvrK^qx#Gz_#P#5FnP-Vk^_kA|45dMoVRyLWkc3|bv)<~DlZ z3!H_pv1pN-wh=teGikF4q@|r$)Ez0J>HB$Ktqk2OJdnRkI|e93J5r^%s$6A7#R|EP zrwKd*H330wX)3^hf1(Am*pmYc_CzBv60K@hcg z?k?b<1u4Vg>(wr{Iw3C6+PH#bCu^6dRiIqqm7|4$_aJ8w=0K)dSr?1Uq~0k2r%a)t zUSgXQ8<$>PG2BvH<5PM9Z8)bYde$F|ltZA-op851tg8*lwn#y#3XED3*rk>&ou$s9 zSJ^7n)zzI3am!ey3Kc*JE#&&zp$bG5fG8Y$V(FGpwk_m%n$}jnmo|c5hGWb=9ngQq zowjMIIP(3jAm|RZ0xnSlv7?lIF-bf9NcmN`RMm<%LH|$G4ao;M#V%J1PUS`l2%`$XnynZL>CFw-sB<772k zC-Lr7Xmr7m$eL2Mzl4}ds(sfQn)lhw;^7~~829J>L21Sy=^ zRXCvQ8BjS04$~{8_stT#?gudqKt_}gRoZVVdPDgAk_3zQ^Q*bfE%b(q_aYBtcaj`L zkce_f6fEg(xVO$A)$#5HsgBvlxy;Xs|AO8_;LP*|uiy;>|1@sPY@=6EyubdFgeRNN zTuhQ6U$)t76hT6}`^P{1p&(%dG0r>{an9>eg9mXO=*P0AsEr$U9vOvDbFs6pgCcFI zTB8drko(5OCwERU$nwHzk$Se#K_JoKG^&p!qdpw%?ncKIy~}SmL<{mth|@%uU($}T z!m5zI?{TzaEjZW%`2-~27NdNYn>Ve&NSK(II2|Ig7#u`Xd>P)Y7kC4Zw(B#AdO>Y` z=eate^Y*M9VLNf46j3Y_wwO_)d$gP@Xy1VmX;6@cLvO75m(%sHpmZK=uq8Z{8;=eU;|yt5E_Oe-+M#!_&+X`B9ye)X+mhgv>Tf#2jh>EJm*x;i#Q`jQaXHgF-TtalCO--U%rs>g7U zEfB6<^Eem89Ly?pWd8XboO#%TkW3<-&R70-Ao8^d(wO^jd*%lMgDLK5K_sQ1zvde3 zFjQC(YOU@<5lGCkt3Z+?c?4um9>`|EDfvO38Zwd(S=x*+CP?Lyv9}>x&`B&*MjygN zWj-K^ugmA+}~kh+mJ7yoZbd@^o2urQry9BY7PincW@sy8@=z@2;5_d`b9($ zYH6xJcBt$2b*bAdT2NRRB8Ifmmz@bOqL3Xra2u7?u}+9GMc0r8=eANso~#6m6JA|& z#rCv!>j#WMJGeVJ`7;d`Z-GA3)61(m!Ul2!a(FMK=@{8Y5LVU3?azLJppcOB zv29+M-hhKF*L`az*gE+EWJpiiY4`s8Q9#!$hnWFwP^BEZ2&C+u#iGsylvV-jZKHLt z`HRLK<(iPSZjk&iq+u;;$AMplP1OHE$+_<8j!}!Z&>}YA*lRT6l=Hdz<|b9y&mA0r z$zvw@z}V%_-euD!<&qH`@U7Zb-PF{S(v?-G$|p*PB}{`^*4Y8?5Xi3$Q1ITmbtPWX zjK4qHhlQ4>pGajTb;C%b7=!!5L%0h{Aocri8IvC);=NOkeueYy?o{Oq!z@PNStppbMTN#AIcy#`b&=}&S@ z-P=3nt2-4r^F24>KYsX7CC1(GQhLUh3j!xTJ{`xUN=3$akswv8sN{EkW5F9RB~l(e z({po-C6%B~{MGdA2Clcaw`k1|h-N@pAogrW*3j?-hy)O=Tb3Xo*kdrm8P9^et^V{T zM&FjY@9?Frwbc(u^7`xc7A#=b92~CCnIpdfO=_?H!``dcvt`_oj_9n6j55~BK`~I& z2VtXAW`C$(?9af~FAZ zqadCni@?h5lUKq|W_c1{^}T++W!FErjX-C}RDp*idM+x-Y*I|x4KDMLE6Jw7#=^3| zW^6|y7jm(x{AopiNW*KssHm+4YV$kbyfI;Ch(&-&4K_*xf~@Z0=-t#9w5s3lus>c0 znWwqEJ%S4$M2kto!3_+kwCN{jV8{apL6R;+vSv3{K}WIKIZ)ls1G=BB4C{HeCeqx5 zgd25H$qq|W8(SE-)Kv)S*uaM1;H|5b_}6Zza#ZX%C)}WGm{{=wmIePMjz0TZFqQCSU}T=dhQiv zWo3bI2=bvMLvc7adj=ks-7CcXIY`IEWDAfA@;%Iyf@TBND99g_j=DtfuV?{N0AjM4 ztY5&SLY;=%qtK7O;N$sS3SH)V9r9H{9S0H=lvD&%G@5MnyMXAT2l=C5C%Rj`L0_m@ zEYWQYCe5d{q+Co_43EN%?QCs7=DL8gzX9@C6z1qsU6~IOEI!?TN z74zc7hyD-58=58_fwauoyCZE6i$Lw*VLtO{1hiaQirtpryZHI}mq-}s=^@=c^oNv! zVickPFtzZi3}*;YkSUd58CX$W8yDUj#w`g@VtdVWp!@io?d|P>H{STw+6th+N!Oe} z)aO|H{(TZ$S6|*QP6N#Q?Uav*`+0|t?l{+bU*3*ptf`b zV-EocdZo1hdXVn;1f|^?m<;%~05`W(AS4I#vSI7dgWQg@P&F0G%8VcZTJ#ijxxg_l zy5C%#Z2SYXi<1%@iviAkC>&%i&$gzKgRQU|y)Arx&(4nV@``#Eky8-QZEl**Ev3iE z90B>N1*)O37nbnWYfy$PFaH4s5(O32xe)4}aY?z5MxKG<3SmHun?0euF(Q#~hkc4E z@(cl&s^Cn<8G#>9&m6O%uS49336e6=*OA zUpUy=y?ptyr?%P(oBg*m<>~3}AiR5{^Y74*5IIO8#R~HB63RiRj{VJFrr-VKGac0Q z4+mincF%*C4;yWE7_R~-0&zOD0OE0uY7-ad(2F z_77lOK~~UngPOXF#0&ZvbA?BIdo3mSi!P^VB!OUwQJ z{WzIm!taSrnTwxOccDtlspA{CL=d6_8ntTSHL`F-o`k`W9sp0#>amS7E2p4PT`3A2 z2Vhji&n{+OmAm=(J}4JQ(wAGmvw1Q@Y!1#qDkAo(uL#B0cAE)FO&D1lcWo!9iudn@ zUDuH7&R+xtp?>LcWak0-973h)b3(ivcdgsGvYPMV_iS3?B(rUlTKO0_IKFO*ivU&# zI*QSIw+NqvAVt`cwG|bD&a-IebBrmd>w5K4`kws8Q6Y1XAm;^Dgf`hH2qT{WwB=QX zfdX~vScll!4|-QirVwem!XkPdh`w2M-vH}hr%&-kyWGSWq?<6FqRaVAL!hHzj_fzO zSEZE=S`I|)Vf&O|gk!)*(nsD9{Y3E`9y_I{<2+(IMW?0e=VL z`>rlDeNf*32RWaaI5ea&7n21ILLiSeo+EQrUul}_@mNJWsD6PQbI6Y=EoB#Yp9A?i zz|Y|P>s=RdPoIGp_VfoZ8vt0U(0Yi)-GOeLSQdV=lBkGD^S&11zaqX8YyoeX`}d!M zfrOlXliRWuz^$%OX$bI9%8)nKXgk#Ol}p09=K3O<|biGu(|`VM_u5ljv2WEl`q zj}+_7Go}>uT#@UA)T!iAEE;-c0$5S7^+IWU3=F84$A30s-q!=XaMt@fe{t99kngX; z1gf5}mTUF+KZIS^2#{tX6%xkvZ?bj9$JGHL1T-FlU51SU`FL*LAS)blUQ$tyiZz?O zZY*{Dt`r4y&W~^3zJ-Kxj>JhkdLBc2U!a`(u*`I+RGcv)rom_)gb$Ns{LM8D5Z+ z0@31oyvO303CZaU$ih6wkjFP&^)VsV12zMCnjxBGLs6RVOzs0dmrLn(c$G8=&LYY05kKAi=tN2Ut}u;z_kOncc!3np*SBRYcNkz)x`t%fKSFbiT*~a?Vvxuy zdeUOd{(6e?1`_Z8s?afVy%8uD@r&@PKw0{k^P88SX&|Ay{ryre7BsVl!g(Hk{#)>< zu#<8~4P^daJol}cqa(1z&RGE|8spZ z1VTi7gZXy;>(_`P5H_~w|JEEJjO*p@)y2TTK(P0!s@LB9y~2EbC2t zh&g63P|L0lE zY;6UAHUguqg?>3Gk=JAYGwWcB5nfd6?>n*m=gnn?u=Fpl%8aVka2b&OGi1!R|6cj; zFLE=a?)`lM+FmShtW zHHSgb4~?+}i*!rVBqcYW1v0Cnp`kedW83DBOgMDpwzIqYH8|c#N&K16XTkg(-~U=1y;v|aCn=XJRT`e|-z73O zJ`QB~(Ae0^f0u}zrq$)x!1{&UHPF4w0hi0!;_@jF>wzqg|NZ5lN|V|35?xNp z3I)j{Dq_41FAGyJD78y;)o8O#{@ozGH+iMud1rr0)5mqG3J zwe^3WP^s5QauM7dK-a?1zb}0`27!n8)*RV42nl)3+Wa9|jgE$#x*)RI(z`gg@uoAJnsI|iP~CBte7)4|E?vE_P#)kfeYwd|g<$y0ql|J%kR<(TbE@F7Oznt%K+g@}&U3 ztOd_kju3li9s}yz0k4x&P^6FqK+Xgq2LuuZg0sxD7k$&ia2Wjh{@op9 zzd#d;Iflkx*-u0+X!82Q0mLtlpomC{?)9Dn$ZdlP9Jsgh#5lf!Bs|2Jyx>!f{ zkp~Fh3dGN_$U2Z-N%);_&2&PIMQKisW@IXZK<%j-*{937R47tpQ9!{)LxG47q==vo zfrS1lbTa!Ej@U2}9$V8=kcC0;6qJL@`UIkW z_Dwr4-oHOa;K%;7{p0vp6fv*LjLt0u|B=JYFwn+l0 zM^#MD%HkxBnkOcoUNdvgWM_SDnVXpBh5t!(>jK_#va`SFcYMyQzKP^eW* zW-5@qQ#-e#po_0XFPG~5vZy}4=S$Mt76;E3Li7g+JCdsh5zAN1sdk+*974P1CF|qTBAVQWA*jnV^KOGQ33+8};0@e4t(6lv1I8ze-3l6Bscd zy#QUM-&lTEQ?s+PLn~wz9upIGdXs#*b3W!REgdd|Fc8q|jSxyuDaPk^h3#2E{3{0o}Dr0|0+%#eYOvM*X4!UcPV_f}Ok_Erf zcaboNiA_SXV@m9_1&Ym~EGu#$kr0`LgGJ3q*QnYC=bR8LWUZ;T7T8|sfGh&=FC{TCIK92M z*B5KfJP+&WjmY&e0X>WOu2%b92^pm zLm2M-XTzAX&VHn~zrX+M*Mz z&1pDv3t?^#(Lotf8%QAO{M6L?iP;T6+usbCHaU*P7Ye9HULGD3O>mIvPl^;t6^-!b zW-%96clQrEz1k8?OkwwIBqiHG&e7b|l>LZ#sJ-1BDoH@OAgjx(jqnd8)0>;EZp&Xl zNjBYWa<`<7xI;xv?QFg77jP0G9KKLKT2paTswZLa-l)d?QH}mjadXNN-9Fa8jqcr3 zi)QNmL=xeWkH=$bsGv5`Kx{+eEyx&?&P)Witb=3=P@)|;Qsq)uM?L(RcZj>YWu>c_hu0Y{9BO?RUz_5i$NJv1D1UyMbL{yZB z-?=wv?9!3pH8>BMFt3pWDThZ#gFwv(9vqek(Eo$o6;@fed)ctG6nFqZ zeM5twP{ABD;1Hf@22y!3kr^X{`?kVH*mFJjljs5yt5}_d;Ejp z|KaT|gR0QKuu&To1w}$ZK&6q8Zjcs{l5V9N=>`Sql9q0X4QxWXM7q06K)O3O+=b`= ze!Ab@xpSFu#&d+tj$f?xtS7!*ek7kjx-e2^pB^>+8NzD|IF)DB3S?I|jm8FX{dY5ueWdD!hwV@&`@ptw=SpP{m(}3C<=m+B71SvByw88O z(n{~xe38mSAXL|uu9U2>oE^hVsGe&Qz`A8RBXQ@epi0@IPxy$2=8d`js&Vqpk{(FQ z;L-50u)y!62;?G46>y5?<>f&a=#lOd#&>>1;@|a$?st7+T%0r9PyjXP>geQXRG$C{ z1qc4+!iLX3FdzVoScuhlUC-?K_-f(oIy)FQKazd+;I^kgY4XbGQ%#>dA;L_{!Ra)-SFB_2>kzJ7U$!jC&;<+U)Neq{3|Vf+Ezb;+ZI^Mx}143y&!DSi}-?asx2v zD0aIz2m0cHysE{?4x{0pmu*z+P6ss3z1;;Ad!nCl_jh)n#8E8heRBJrei?8m!Q}yF z32eevZ6qe{p#Y`?v}h$>W!{E^40Uz}b{HVMNlh@d~U9AT*FF$9rBU?cR2jqJ(w)$z1-nX$T4^dm@ZRlSeOtcHoV!7@SyiAWS0S< z%UyTFaj1oWWdy-&Xs zAdoo$h(ihLC9i)~`q9px{k$JPY@vdXl9IBfgweIt<%CuWAb+^}T#vS%>mNL0;AFJ+ z%=diDcAp)J=}hxmY$u*@Feeqg?*85NOAnN=A?j_pEe|391KJsdl?jM0bWeOA zf8T)G)W~?20PR-l>!cs#e~b-{qaKO|Ab)$jdhm{>i;00Hmeo$iEbq1eIR%-$M&z>X!Z-Hr)ygRi!{`iW?&^!1iP*C(vIM(}Z9~^XbcIHAk1pBkUukQo? ztQ1I=0OL#Kb>W1m;Hy{pupuX`JWD^r7?BbCqlwAA@rOuE)(BtI;6~Gx23C9Ovm1p4 zOcN_DGw*L)tAjIJ+RV|B(}|4*)Yt%!ew%?uGr>p=#sB3`^YW$tJm!-RBAei$1aC>E zA1HVlr>zI}U;_NDLHd$?1hrb%^=Tb;Won%Y!&sWHQfO2>aBHF3{@^5Nk;T_CwqU2NJM-?WxV!5* z9498?JHM?S`dK^w*@xK-Qf)#e^Pw6OFiMfq*2?{!*QSZ?-)X-UgAb-Bpg{Pz-QyvX z2WubWywL-e^<) zdz67IiHX9-{ujHqFt1Tj!N=Ijv3y@p#|2|H8h!wqq1g^SZtt=Z5|(CpTn0@Z4E}{{ z2BiI=_@9;ciJ8s)!UXL-{IIYqzPy?XrL4L-40Wy+#BsOFVAWvjm^=9upXm4cQROktm`|fZ993&3&+V{E z<9;aAJ;1cc6B3pemXNr~`bIJ+b8C!2t&Q8F=C#DlS`w=+>iP>~10w^2v+m4x92{)9 zeC6ybtn$2x$QRgtyjo)TEXD58tFzn((wRPunF3uGR^;+>H=MtCkzdrRWWGgEwRWP? z}T9+Pb4!Se_O(a$T96&Csh1@T(`z1_h-5@pFi$XyM!5nMKF+RyGu;AVM7x8En4=}J^fj2S>z9%vF-qvbpD?Y%s4hp91TSMtxk z{4N2DYa}EjFfq8f`l@fZ%uk}u{j+j(R98jD4^lRx*}pwWAxdibOYakuoHrV_kID{h z4}v6f<3>YY8m+ASURzTgrsvz;6?^B?-_!Fm&rG&frr$9z23Brs(AjS(W##BM%bSZ~ z385w*<;$Ul(W4#PN+TXm`-pdL#YgPMXa41NV8;6o@|T?tQEovImAbj4qVqXK61*D9}B-*Wv`w~NfTCbVysslxJyulO1kPtxXhlm z{OZXRj7m@$W8-HoEX`@0=3^24R7fI`KsLyvt_ED~d{^{TLTCOyTP;d-2jHVGnOeRWxq^st@P% z>g=o~oLHcTE(ve&j-zK+fRP1xb;Rjs3{|@3si_20r>u@Ev?*&OSiadH%YuYD*yup> zr&lh#fdZt=%U*MPt;?)6=wW{?c@n7dYhOVrprsk6AL_m|8oNO`k+Y?sN ze_Gp0p+|V-I9AeeKec6LUb&)G%K*Zjo09|fDNsaBAQb6YrLgGnefG9y1aJ43S!lPU z>ezcmU=T#n*5|+k3?{feJw5KOr8226=*z)3Bw*pWpcfcvCalw(!(51zjBI_PyeRF& zyY#a_YHBLXz_wEwPQzUiJgKFrehNrpxX4|?N`9jJ%-%Ik@@Jnh5)(s0Y77UF4`*i3 zU6n^O9d_M62W3;6_^#6-t|gqh@ma=Mono-x5q!z;-0V1*iJLAS$G0H{f90mtVxxoC zty_UH#cF5cUNN>d-xo1usb?jYh-*74t#-3tiIV<7`0bM3Iysp#S}n_geQgxbu6Sn7w2nY8o>-P1fC8|!`2Hd8c=)Y}R@3~a;k zvBNciw;#=)J1NG-M%%1%*&j%W-w%A(IIA||KhAn)F}qb`XHN1gBKxjXXt(U6EyVap zo>Fb`z8#_eQ}evX-!+yEv-monu3BtAMdvj%H2P`K@46gA%UZnl?Kw5NyvdQaVe!gf zY^f0so>1y#UjCD26lZsIlyM0fYe+&g#s}W+>l-WrszxIVpvPI?KTG?x0vv%MZqDGALP_Odb=X}&{$a1It=aEgL1%y2l5kUB+UiR+GzM;(~Ag~!BX zr^|2kQbAQqPA<}lrJHI9&7!rHm7w|p%%6dD2Sdvj;CJxn5rrgRP~x^<`7R;RaO@NO z!*%KWrQ(DduZkEiuODks&(zhc-RE74?<$N4zo>bgZ-X+A>Q1mW={Y);c|@%&hkLh3 zv)bNq|17KQuy>5JV(t9|wV3Z6^o(GavmV3`({)}CFZnDL685de(K)o>^7YQHHnq}D zaEhdFYc-y%Daxz4N@v0M7yl8?lSin7!$$OM1tiCZrKJfq85JYOwF9<-X_R@bt= zz9IG!w`o6O{e=ZzJ>J#9~tJ4&pH3Dc*>fSXdpEzJ|&*&l4yrrxTwjcsOdcrsk$RB`Sv@z)fbz6Bl<+X z-7@>8_T4dhD~e6_Pwzz)Yd^F_c#$*T<7qeHP<%BjCN3^J{Y$#|gMaWvv1js^I?w)Q zd^Yp)gKl-I)>i!qOkv?FTfU{S98ar6enHPZLyJ{KI^MMkL0NHx==7IP)nYLziAu|j zzvDh^D`doJsXAf3W#$4w0O?dzRwjbP8Gv12hIkkY@(2r~FX`y&&fH|vY54|1sgQ~G zyJBEI7!=e6-|h-+CUiYVCnvma=Myb0w_Wb2@KI6SA=Ch{0A}{G;KC7CP*|t}V@uEw zByu}2YBl)4q!SW9Z=#{0d;W&Xu`_{(fQM4`TUiUQ;0w=Hp;2sVG&D4G^G)bQ50?8y z0l+qo1VX4QB^oxf-B7?wp8c+}O>^>wnwLzRQzR zUc$9@WyQrTewXR+9UTqZKq5}QF;ZtzLm7p6epySv!A=K;j<#z`ps5D05dbowRBV$7 zrY<>=#tttB{~5~u?rw9qFM6&gc8e-NzW`g1&wA-wR+izD(X*gSd|b3=m_6kcfSSu$ zS=}fi$nJX=jp{FB5PUD3f8FBzw64DSPEk=#4x(^bcm?16x>L!i!!%MMbzx!BJGRt} z26y|&s7hhl=FH+`#28P~Zj~iz@pGMW^r%EUpwydj@l@p&$7@J?`yPT^bk3{Hd3V$M`3G(nk0_39r{@;BR`*> z;fqnR@o9WtzuBz%*qOgZC^Yuv`NzEm+xSWjW`h*O%Wr0~jYUOvYQ;LPN}rNyky48Z z)$F@jBbHBKyb_U{D?O^08?zvO*X!&lU(dl|qW&rG4yViBucPH6an27alpPyWc0DV6 zb_fLG7oFKq_IgKwAl9t5`E*&I{+9H8i9n}PvpDWTO?5%5y)@R33-m)s&Mt&o@A%KB{69F*4Ey%|KLzn{HBFy?{2qIBDxj=oI9;e~sBO&o{ zNH7p*CSq%QO^P)$41f@=QhriPwQG1eN2X!>O_=hEh=@ShXbSoy>8g*8Fc2T1TIcxk*9VI=^4g9LcMzyTCQvqAV)vjb8ajO3f8O6*spFa3h098Xp@Yr=Y;= z`f|ORUV{M~D*)(`gMovJiVD!(;bu(-NeFK7N5&lB(*nQ-gBQ!Fc3n?&z;w6(?f^a* z)FbjhtPvFS@Ly<|_vnxb0geaU!Y>&a3;#Gt&bM8Ha&O-J5|>uLYn|@AZ*eI}yaao{ zaIkw!7!728xoc_jZ%9ezWVJ=5Ip^c|v?t^ZbMa5Fz*zjJkN?=T&m|8_kZ3ch^HgWE z7_q{Yl6vtCpJmf&z9$Vd25w*>AhtUe5hu0}e2U+s=S`w{fpb$hWqp64tMah#h(Py9(GR ziT>$o3HeLdFe`2?yrVYKaDP$8S4qiHsZJUkLsSQ zSrM+f?K8@7G+K!A+C1=5u^eW{)To3PetijB+UfutDktaefkjJu{S&&o z^*SF2EL$VwkIwZG!ec;t9~&!l*17)LbN6F?IJBJ&IJDSzVdw=w@%ODa(kUzL)M2BK zT7*jIF6ZOPkM{_d*ujes)*u%!lY`IkMZ@i|-DL3e7WbC8MhXk}179vC@a+e>5`;X! zJ7t~iTwhh}O5`rISo~74kH00Cwjfm}L6&8rK3Nrd6Hlup3ggz7C$fzdj{N+dYl7cp zgz5TVOgmoSl!#w!)PCaK_sZLd4AG`0Crm^8=GlX1%DhsnyJuD040y>cot?+1D2ENS z!|W`>f!t|nsp((S!>4`AbJTq-Pxw+MFmL>_zgQq=bJG;&{PiQP_owr*)MN)Qc6eLr z$sPDeJdZajH&sf_AOKzlX3Z2*2|Xv6x;#m;q(2kqOHCe9AM1Xmwa@!A{31%^TzZ;H zkkUxe7@6xy%1uP+AVZNPwqafukgG-If< z?}}Riy1aZ%+Xd#Qzl(S|^TR0;{tLM(X+L!IbalW9l6TuR->y>pO;3B6=)tgg6&Z!7 ziI$O>j?PmQYhRZ9xaPT1NMuaZMWVxx2I3{-P(#__J`eK7d>H@I{1 z6hjDWU^OqJncj;0?YY}8fmX{4*(mDLF-iV4K~KD+opPa2eFGgW6D_}rLZ5)N51O>{ zI7FvUyH1y$-;0buBx%&qCuWdm7#c16H1CX4OKcCI(Y4R%oL;&xT)yvf@*6oKx~CeqtpZU6ulaAE{D(qP3)m#-M4jDB_3STjoMh;#F7oV zN{vU}cw@oAc`{M^vIA>**?46oYyNgo5o4cj;8UCXftjTDC+CAys))p4_rU@u``yxF0AK=CF!Qx-GTfnvTVOkEy%ic(%1stxDv4wbszz4gOf|iby5QyIhpiCLW$qrFsP=7^pV$ zlVVSmTR>lyN?5UfGO6nw85!hvck?)`xjT`!E9!3sDFwi$Ubm{PCkyDgULtE2@nAf%~aaAFX&w=^C#X2eh1q1$&i}@l7@S$jh!n|hydZEc5k?}!! zQeW%**Cr3nh@B3vP759Led2Ca*R!LVG@-nCL+IuWew|j!KS#+a z?*7j=i2cyd{oJqJ^~?03yzS?1^6&{Gj<9Ykwn~y`p^C~|(F3w$K11f(F@dZWgR$;Y zPljr4yKbv#@%~El1g8Yd9NZ!imjul)hmUHW@0d1sJThe-;XyUo=1N{PB~J0?$P1KluRjq zy+-wgY?ok@2?0Ci)jjzy^vlZ^J(c0$og5X;-fq~FR0md=a>A{IW_DnSe6?+EyCszQ zZ!P`Cc+s5n*cW8&cUHS0>p&3~ZRGguBcrvc;(EOzNAu_Joib?I9tSS`K5N|!ise0? z{PRt^ahW?l3J(kG>{k+nIZ8^iveT))tbaK`{LSOj^Sy`NycP3NiBrz=H$60vl#-3} z7?_yB*+e9UIx<;PNvivkvxiee>(%Z%l4#Ty`Fh7=^6ibm)tglr>dlfDl*y?(3)XSh z6P&xU*lUmW>TRa!HBV8N)0V0H(*?$dc$!Y_*w`k;BS@pkgDGz!)LN?DG{NCmTy!E> zp1ZrBHQ*O>n+1<*Jq)}Mjh7Mn=sl@nz&e~QuNwImFOeuMOxHWbKsSruGAv|nDp=g7 zRKy9N^@;dnc3?|K$J56hd>-iG1K-jfOp^o0&>j4@5>mec+~m?{f~6wcY|$Xt7c1m>kH$H9cO>DJ+f%W)i$jw8s=S0oM+RPH7_bY zqL2hb@SUxE@frQA#)HN^1;*Va!*-AxaZdD<6_M*|ncB*d5|Sx_=*L z8l~TR9?p{W{rJj*6+&$6zp)bXKX;;|G>nI4V_05B>FFoj#<;&euud+MI&$dlUUhPx z0F|08JoAG#ul!=B&SsTuZLqRC^k$JAszx{tpVg>uZRlcxAnLn8@yI#1xm>uuhGX?; z#Bh$vcJ8E6V4zgl=@)+1qET!tENtwjL=Uql=}MbTnPWDVPXDxaJklyUkMyBno3f6* z{h^**!UdfWL)7}+1Q)Se`C6<)?fK8C<^18isDZ;T{I%xCv<~ZjUJ@}8Q|Oh0uBVfz z7pd7um5QZ?f>felt^$Qg40T8Lr+Jn{jIOeu{e@i0>8Kjf?10tdHnsyi3FS!oqsXgC zeXh=ls4&?$1T>lI+=jq7TJB2JtyM|p?Y=5^(^I%1!<(IoCHfush~gQw`;A+%H_uo* zJ+7bAdgLbYQzdXR@6FT(<2cl$~-df4SZ)o#rS^E;_JLpJRm)n~IU z>55fRn3_ewZXv~47vCQDY|wZdz`2drZB(#w|5k2}ExX#S)U;k7$4QLJ)HC_hLjf5% z+sgK&sHc*fKOxGe>7!l5_paZHNCO{nnY~-1%UfL6#j>kK01L{@XyLUGrZ2}*RLO`>T;IvULuEw%Bap`d1 zl~~^%YyD|--8S~{+LYSTj;7H`8DySBJu=r5MIPFlU*lXItPz*Fi;i8alG^VZn($jd z)wf+yrgPLxm2Xp(SV))^f%FW0X4|O!a+JFO54T7{4f!^74V%mK5O<40^L&|BvGFja z$Ei8;@SHhg?w+Rj=_*c#n=nbYObTk__cc{tSYdiaxz@W?R@T@R=VM7l2J~_YtICH0 zH=0*E!?Rp=<5fF^n__iE1$3Y3+{pc_3YPw(Jxo7 z+t*U0Ar{uGZ6!y=6>7FXFO5j}x7RrG9FI6f zQbPnG1`ocdU)D_iOTPNQc(wuWZeK|Xg}j&>SFhX%7M(xHJbHISI$G-NHb0KSJQk;4 z%2QtFk!5Sky6Z`n=Q4^2b-Jjd@P4CWq3f^Zf5;%RZ?@9~dt32di8#wnATZBfOGX-T zt=U!<6&9}9a={xL@%_k$B>8%hUw`J{47o2mJY58JR8NR5RBo;FmXLuV?d!lzBo^90 zL6rRO)udC~)-2p_Q|5?zr?%OpZ^yTaOJ^=|MDuXT)FZ1zc?SbZ@n&a z9pLM~ZI5g`A0UwSW0xSoh%@o_z}GIVLC_2O^Gc z>G<(2g4bl^ytDuPf~$dFyQb@(x5G%9F3Ml}O6COYyF~kj%e8Y`IRTc=;FXdVD?|p|NHO{s3iSDH%L2Fh2d-p= z{^x|R)91I#Br1%On}h^pSpH>$yiQM3z(bKdxI(>+Mu>WVV5}+p_t^gzpY#7~jel-y zGAahI6CY6l8RdV!4U+o`IlyBWAdCi*kP!tLI7D}Zb^oPN!BhDEVt-`g zA_il^!Y&{8Pd4S{O7E<@^7(ZG8Z435zb>B$w8o7j$+y)kg$=$o&rwlQ{t1QM8j^AQ zGTZC+vz6Khe!s{RzuAtMuwvZ0a%1DpRsPGjhc4YOv}Z=^@~`lc;^_1RyfseXudnAJ z?urE;7M*-ekqZQGiG_}@TUPRX>HDCJ+x(k$tLp}JbbDma!$caeXn<{>)ED2tOcG5Y8RH&69#$~B86%R4o68$&!A(la&Q9tRhaugn z1}QPEIU?KQlB(ublD?ZyoYenAIV*h@Pn-jUuq9R zMT+=XT*gb{1M$h!PsRp~itA@4ieAqD`XV@7TuDw{5hHG)p06GTqMQu3V?%#ZalhH@ zBf-yp+94K4N0Aa-q^(ZvIOdW`JO4XN-FuC6;}z)Jqhg@LiS7*y0@Msfp zqaHY2eZ-laQrUV>#Dn^io^^<>Sc6a_HuGz;|5nE@;ba9TtGoDOmQ-{zG`dx(2S&{J zG7amNiKZX$-59nD#bqWoYCDndnacv-hLR!%6_gBoeY42h3zgn8`vknjrl}sa9C~@z zr_)dILPAoAIn|z^?YtnjLn4ANZ3 zKt>~ntc}|5_v5Tz=|cZ99DjK($h4{`BZrB3t!XH@*jV!%_m|#y*DIe*5ksWptCe+D z(WV*go5!BL3^KEcN@k^8Z%sNrFtZZ|kvwUZnvWY=w%Oihn0c6tFQ#2I=JMogN~a@s zBbP=njks33mTyW~cnT5cO6}tFs(t)DjOL4#T%t$mG6+*vr|q}?Cv!_uiwpYt^Gksz zCpJdLHYx?0*>2xQ9@1KKs%sh7upW&qjMvah$uZxI5Dh(#lYc$%B4IJ1jmz=xSB*6j z0h2dxz8R=){|p*ee=(ji+)zOCaQ%DPN^)|YzDYo)BqBoiYa?!)WaF?~#u>wQ zSzJ;<2(L1I-=(Qoc`y|6ORGz8KnAnn_Mon!D^wmKw)NlF=|9mGJTq zJFQ%eS6E%;o?RWfu)N)EdtB%RwkH)0tjmkpdu-W=U`~a`bDCEUay|UYy zSaFPLD2=cJdToVnzpDA>P>H&@2fu#7$SuAz=eC6Fj;R{lm>8@aPrF1G0G*s-90)Nb#OnP7|Y*czmb#l*KXZy!=TSsgUeEeL7d z?2O|vwy-^*3RLMoZnDiqnm#wy)f~&5u;?L@NwqV~_b#v;qf4vywd;5)o-a#s6wf)}6ooY#n5?$sMzGx0!)SsDx zR6cI!rOeyy`B7fn+)G57aaYx@{a0kDy@54WFh)eoebzEF$50?MYs7aruw0PJ`)TB9 zy(sUzr32ILP?|so6bf@X*04ZHP{3U$H_nNAvppJ}E$6~?_U|yKjiE6VxUK$V{qb~7F~8NR#|BqaMk?Uv&u*p6YVG*+P&q+M^`5gKJdPyj7aAO`lnll=dgl9bxM~{b8MeV9?V$`m85osBxpd>SPW_#G+ zVKq(C9N!i9JeXUf$EDZE7eEf9Qoja`&->-zezY60TOV;^e3{|8KE~xbU1YxbMO#!V zjkqH-Oi6I9y~ZUgzOwk`%6Af9t>F944vPoXobjxbBcv)d^9Bn;om?g6<4k&IaG$TO zPLjk>9JEutqzKZVU&PZ(XmQ;>X3KEfkrxvBno<@-#Ia$`DQ->Lm&r0^(zS@5;HLLe zX?}U}*2MTG>okw-ysvL|rs}u)<-i~8xE!P9GJ_;TIb&N*En>$GH|w7BXGkqB{{4Gm zwjhwSWzW5rdDr0od^Dj=PMZ*yJ=}G)GWqS>AHv!ThPCM7eoP|eSBI6SL}k??xe$1! z!EQd9W|x8B&gMOw*joz2gr~JJao#+x{bOyc;Bb^e^VD%We9Q*xU!<2Tg_{HQ;vQ4| zt@Fe3tD$T0`O7*A2T_Ui?-7HF8iNf+#mm-XhkQh|k+A_yYrR z3z~8n)O6`a7rS+iIzmB}ZL??9hBbCBm?tYfua<88gV)>i@72SUk0NiEL8UT#ATihi7{Z)*kWJQuT|Hly@B3 zv!5s*hRh_o90%1UC35L6Z!I?a5xScH{z>3uU3T$>Yxa>=KL!!w<9q4mQG%XiK{Yh( zyYB1L)XPlLKzr)g$xpJ0Hhg+7i|x1@e% z?Nfd6rt>RCcJ`KKIegYkVDR^EZe;Xf=ygQzcWw<=xj1y_8T0ce(})csM7>16LRFhf z(=6xjIKO|Pl3P;i6)Gbt^c6mVu-?a5Sbqt>|1c1PtH?=)s9Bx)XFg>TWu75%cNdrX zr*=~|N&7?j+_#q5;SHHbSxi$99;s1!vRJN3>tHj`Ln12W%;V&%wEaW1qKaX|Ve?Zh zoni*YuK7A*wob)S&0|Cw=i zs@sUq`Z$wJRJvFiIG*tMtmg~LJ3vHm@}&4DzQbVKeFC>JEG+ypHzbeMbhRD!SZ8S3 z6Q*-A|IvfvfMctgvxS6Hr{T;e^s~6wCVhswMUCX`q2}bs*2JpOotOoM%2HL?RPy@` zL6zrkmwaxm?v05NOA>R;63Vy^j4Yz@jw#+y_?a8W@Pv2AP$r91EM)M7`@5-U{y0`v zJ4E=_hnWoZaz+ueat#mhwjVayU!eH`JL^)`{PpXDyZ_bvTf@3uG1f^O1pyiWjLEtg$Ef`0u5qGk0taEq+#%G};W8o}ILl)uK)+&40~p zZT0AN5}1xxt**0CAeBmZ%VnxniXW}AWDcISHErK1U>#5NcyW4*&(;X%Vp3kqw?FIX zR{SwStZ!R8I_nezZp1$y`a7bnaus4L3<5O6S|1ZVBp<8VUd)vg<_M1ru~_=9@N(Kh zQA#Wn9lcY_1~If?8x^GL~^@Y z*b^*{M$QL*!sSXHQ=olH{6tw4GlLj3BSC?=8}G|mFDle;Br6yF&6^xwRNirk#+Ut8 zU|u_pORr{erZki=nPsywWX&FD7Bx;~+q)bu|MqO8z-rt$&(M_t< zwqvx1hlF1{%i8>N$&5nVK`B1-kt(y!ZY^zcS!n@*HJ-ym*R?D(p_#rS$HWkk(48GH zpXneEvuK@_FVc6J>+Z6bBMR&N(6gG0i|EwD1Du3bM&_Z#Hba*d$wD}hsgN8Y4$kOL z2a*eGnHo>WcuC~&Imh*=arsmQ0Xb`(le&QT@k6~t?!n}_;#;Zb?a}@vCQ~6{@dS9p z1dmkJEh<63wqaY2XciI{`g&UUCOc)uGDSNzC0nt*{bdJlv{jS(Bd%Gwt{AC@&rc3w z2k`?dG_=+w)segQ6Le9{rK|G+zJo^ScNuXLr?U-;AbDB7>(BMF$NzOxW!Bu(cGBM% zC|e+Fe!1fjg+FHM%LHPsnB@ceJ;&-^1Gsej1bqW@d6!d%`!V!Prc1bJ*L~<|3(Ysr z8IZNa4<8=1{HbZoXrT5OU&pw^;OhvZp#7z}!)a^aO25n=G%9V^z0106t)d)x|CS5? z7Y?q~a8fZ{lYYIT!ii>MhHxyvoC zPmjD_RWR@9;GcJ@AQQ4kf3jug%YwP7QG`$LjrjR^?vRfBb?yIa$Ak>&Kdf zsXE;-iN}U=;nHb%HCn<`?%7mB?QD7ft^3q+UEd)XQ!_ZhO^*Jvf8f6s{j+%Uvc+J| z6XL`NkU4^yEJbWC^~u}ot+43TG1-w8amJAIo7CvF4O(A(Ay638C%gKEsq~>Y6@1s!`<3(|pe#PDE~pc7sYhu_Kf^a4Sc#(3fOz1%kvH`s`!0kreh1=bhx$aVhp9&ttg@V~ zT1BIqRR~3dG16IU%cmIOMzqr+PW+BgJy+%Hsd6So;77f$$v zi_cpz!T&lyMhFpB*>B<6TuE0zDAJvNoFEA6^u*0okdzQ3;Bfw({F5YP@OLAk=A*^E zTPQpx+^VBB0xBm=&Zm-K>3TMNv#8mIoGdRTmepK`RdsiFXO(Qw*XN$U zf3W1c03KIn*^FUwvf)Rb!nAA$RmmSMt0yL^6g3mJ+M8$#X?zzt&z#RYx)&<36{85o z+1}-?64)rIr8{{S%1oU5+is^G*_99^!Kyi&vN=Vho)ci}s8sJXQxK#0ibhlVmmAI_ zDaadx;w$ZG$zs0v{m4X9XyIsX1O6JeIp1#_pQU67%>LZoYB$+#*AlS|Dx^DBLW(@kTTGWE5 zH>N&~a#gm2KlvSB23y2jsb*>V8jn(jWNzg~^Lwq?mW{CKAAs!`|gl`QL{`t)OFT2&US z@(BipL3rnbN{A`~m{LMkf>)6ne0X>Lw`wzmyiEX9#mg@ea6^Fqny`pr} zO5+6L^Y7+5FH(EAmYX#t5}0L?!-*YjckbNRsIi_juRSwkRW+|II&DYtlG*MewYT+0 z8dC>N319uy*glJhYDTJ+xQ_IvPP>|a)j+<~eS7>t?yg#yXnOFkzZKKD%V4C}P+;o9cEe>sItZSSzq>q|87w9k-~sS%Of%%XKri zm)LByYIiuX)Ne=;fjhOB5S!>^@kz}&!2AzEftjlYzvEcQvoIM%|BAJWe`8FdCM6N1 zWL)qfD#q|^3p&;hModaXZyoYPyBO^_G2wQok{i$W&L!Y|q?da4Q$?BibfotYD3)0s z-xJ2WNPsG{>aZ>Po@7Q*!BS z9v7mqh2SsZLG;+p26)8&d7+`6Ie2`0Gs9}P@ur*gI~EI>MXoaFy>%k(ynd|o4&J*} zy@@XrNoH|uM~PZG5BC5ZYi>3*mem-W=!sGB$Qd4$mU>vLL9r4OV^BthE?f>w`1fsA z26Lv9A~lfo37y+a(f7(TcI-BeNOpxvrjn5A6a^xI?1H@y+Rxi1d%fb~CMLOL8KvTw zZ$4QaM93rgX~iN<6e``gIO9v}-Aku?Lgt<)*9FEfL+j&>NoZ9$2_p<=3z>5DgfQh% z00+rSDrnkk_Bva`IQZ-MdwU1{r1r@UO7nZ-3hCFSRlG#{n2jc0|LmMQI5I2QLF3r8 z=J%b(?@jpgK~_ko%&m&RDtR94xEkv>Ds|W1G+7kjNoFuTXOLVAH+L9ic&Pd)u%oTR zq8xj0deiC=z3;mJCksOd4qom_5%pqe?caPV#z1d`xZMR%ObiIC{4^-AoPWEGF8`6Q z`(;__l%p|-59gW!VbZhsUnN3neJz4itdIuh{@qmU_T)?#Hf#3yuGvEkUvxg@)%6~d zyFT-?gR`a5$2j{ZRMhFcKBgyT($w0&O=J}0773X~=Hgk@EGqo;-*rhZ&=6pE_Amde zdFyhs3Xv(kAzYqUIq>3I;Zb7$%$}$4TF^*VN`v2fPOp@Fkv^Xi-_JfPZ`F!XPyS-b zpK&yGUX+lRB+de}L#Fo`xUtx&t1mU041?mt|7O}ChJydj<`zKl?7O{s;^rZh0ghA;@l-?n_9&*FsN6v!!(* z+N9dqY>(3n>rz^9XBLwIeE_z1{qwh;B1R2-O@=q62S?TqKwRuR+u#eLCGxPWwHeEX z41o4Q%U5JRVtFR};xpJ}Q;}%e%KRG#WKsf*!wq&j@-kY#wF=&SfAtXz25O=p5^fWs zLcmTQmv0fbQ6%8;c8?%tgp7#EVjUXsQx>Cew^m?5Xn@tj>@+23d>2H_(AONjpr+0~ z)9tDhBWqLpMGmGqs|C$OOpos=Al66mZt)$?rsDcX9O8V=7IdEC-Dx4IJwHLT>QHxo z;^2&@gY;ow-hSOU%N$%uQT{tIyWKY|c?s_(rHp`^EXdcvMG3q`u!XZUYilmZEHus& zFU~~cQcsykX7^-}!{7v(7r>aEf;1WjqoXR^f;Jd`Qb(TF%3xcMRGp=Ve1B@98qbj7+=W@2c^;!@Rh-a8|)%|FsG~zo^IQ7i=-BSja3S% zRd*usG>@@*g?0Hod8-ci(5QX>x9!ZUwwr*h*jUbz`YR6YVmQrqm`Q_rQhQqzZ(lv8 z2)+z5mwN!j)pbZCYmcP8(^%V#Qn->`1}l|bDgOg-sX^jQPf5AuqAwlOJZDj^_Vwih zi*}sL7xnz#x$Ul+cSTN1zj8kNE0{#P$&rF+7&hb4FHY9jTrgJy(@LF%o!1STFw438 zsa!CN#?!F>2vpg_DJSIkdWjNELz?BY%SsCdGi1YH`X|MEtOFOvu!d9as7cBAdIM<> z!^T7S*PGx}ANu{f0b_J_%Xx+WQ37JnNG#MI^A8pjr?)(&^oq(Sr>;`!C=aa`lQpME zJ2m54aK`z)x3qug(VNt3zjz;u9w;763d#M3#VVt+%&&brjSd5?pX2(@Pm!@YEq_cP zZ5^lHZZNYu@qWYhc>l6C-&Q8<5Dg)y3$R?!Ffy5@j^uYFB-bES*#SK!C22S z4aZPUPK4|M5qF%cT&fJTC%B55ADQtRD$ouxG6-9GmWyfgDqgUYX4*@Ns-Y6vS|>|% zOYIXT(p&`ua_r@E3ZctR`6RdBQluLs9T8!5FP^Ebs|zZ~S#ZLE?Sbl-;zOM>Skp}{ za&&nSal!|KBMebo5Ny-0T&y>K;8NRC8c@c(=Qs&cOmE)fvEL5Ufsc=;le;m)b-@dP zjR!S?;O7_do?N!9MDgJ6-Ex8A2VhX{BVSh)Wth0)2af5p_qXfg3g@o_0(Xqs5gLq7A?@IN2I6cFkM>oGD&$!rZCttmFySY~5` z(ougllj$iB)P}=bZnr}Z#m!YW@1yji6@OtVUe4Ky16qoAj>VGIF|3F{5}zFiPEE6q z5)l@T- z_j#U3CwuT=U%%6KRm{ZD11_#4h%=oyp>NTdTW*#y~N#xX3>5rw0ZpkC9p~c?;Oac=~7r&d6D+v8uovTg$PZV3ZdNv zmmz8~<$^)1E z5Y}=bI3u3)FW};Sue7c_@2Ygf z!N!fGTiCXrXv~^W$tA^YE5ydd&8CiwD;OsnE-~y)S9RLf>B5`F#*JYKEnN+qG)iQ# z`Z8)#o@_OaK{!5Q8pKFfB>qyJk+1eo6A|IYQh&Q%QFk0GJzs5p00!@sY;4|3js~?K zsPNqQx^I8(v*t8ytMQ0+og~6Gsko@)(oyEsJ|AH7lj!9ORCsAVc6QofxND-|)IQV+ zRQ12+bHnykhdPs1)44M<$?$%!pU(4LLJT>omD}DnwO*dyyv$p4$}gR`^}G6T5le0t zT|;347Ue?1gQ`7I1mwO3N^tj#)zjA-I2$V*m0a6YDGK zHWRWdrRyK0A2M(xt`nV;IsmE>=IOLU!p51bm;FRF{(>YH5=-J#ch zEOyj;=famVN*VoLUY_AZbwle1H_*^nY72XVS6wAWqnf@^mOaB323{=iU?ALBh~)Ku z1PbY6-KV^CM31nvyA^)v71!>ZxWyJ5n3OtLQHPQewz9Ljti-|Ku3))zy`Ptum_V_* zL7iHmG89k6yJH90dpLu%}EJYg}>))I@8dst&>hJ_us5@1_l|w*&X`f z<-b2Yo&XkV69oz=dU*?k~2*7;{_J8Zeca|bPjXMcWG4(E*? z)sJa51kcQToZ8?hT;mY`-8haE4JEQa;*$s?80WbdkC8D|+3lBN%IM}&MT_%kd9@wd zX;!LY3fDjc>^!kCb-?Sx_h%#C#BqE!TP$45T zGbFM@_G(B7mAzMXl4NC7k|KMTk-f9`de3h?&+)$R|9D@=@f=V6$oIZK_vgMo*L7a! zb)J4vKif?8%slOTC!+Opf;wrk+tq(Fu`-=s-K1jiQ1QummTq#TK40XBujETcztaRN zVsHex0ea9#$J%pDsN)E1`RIgC+xJgRbG|(NlJ%~^&GhwI9hlJ%dIj7J<3Hm2mF9NS z$a_PEYso1Ae)h_12jz-7t%aydR%Pzo$*me7-M4Sg-o3U3p)tD%d71#cm1rOvguz_d zJnUl5gT;&)4g;E0V$+-Bk?!pJIxGykqCB_d?`@jL+@may7-=Pz%fgCzH=pIDy$qLpK*f{c)yw&_C$_RcP)L^}+5i@M5p{x#mu;=iSSu za_{|Hm&e9GXH3P!7B1bM_0Sl--Msfxveo{+Oa|vy{=HT~979b51D1T7){EDXJB@XX zJ#kv?G|y2#YpS?K^U%L0yb=|Ie}!qT&2UrF^+FS_mtU7#Df_6N$1{0x_X=;AM#?7V zsC^qGFnOUo!I#px+<5*fDnp5w&0oBi3yjXS(-9K?)wZG#e>(R!80CtFDfxY$Bt-80 z_o(#{HlVK6^*3w~2nOIT5)VuaXhQ~!FG^MnFMp-vzuNOT<250bwrhb~2%_be{<4k! zAJjM&(xhzsn*m0hH{MhshMU(46{j_yMSQu)5+s?CMxDX??e=SAC?9u`k~R>ZEP)W& zXdpdouf$T=s9zeoo8I5E4><(MH3$R_*2Z*0+wAW(oYwjJq1o8t=Rof%8{903592im z^`Aht^E)#CXGKVpU(6P0J8?ZsHXS692_UWJXeXCK8;d=y&A?W@qHT`8`PUC3lmP|RH~Xqj*wMiN&8k)(=uX1?g^bl zE!IfPL&6=oJOHC~hA}R=6rL`y^U{;6@TF~q+R!W?ok`2<1L?G6J3^|Ux|MQ)A$5Iq zv2^P59=%7lg~jj>wClVdqGk`J?K3gXGjC25EpH)EJ?1++6&>?EGHwgO-TJpp4^b%# z8+mnObuvRGT{5A5Y`%9zhjndvC`M#;JR80YUaG#5edQ^RpqV4WBl*C*@7?xyiS4F` z_LTeU>gsyOKRpw~Hx896dd}Ne3Mk*qz&f+G&yo(Bp+H7pQbKVr{bu%{(`2#ghhR7# z!JwyGb?^zT`P8{c*co79B&gySDj1xe>EJm?9NQQ@fJ|AQfzhT2W?@c4QFfSdmU`I) z)CV>XkR3rmjOl!6!U>%`+1IS9bH6|{vv}cWd5Q~mt6m@8(BjoUh3k8uL%Ckf+YP?9 z8%g{OE5wM$ee!k=~(m+jP^s+4Rf32Cj1a!fy@rnP;=BX zD*C3~hWKG649_ay2m5GwSXo%SU5Vu&!JQx`cEupOJ=%3;q^U{i(Wj|4egC~jg*$*+ zX~TSV67%HI_Pt(^KhrQT7&yT#nxW!T(a`Dk2562H-9lt!B!u3*D~L8D&{LUnJMO^X zS%zRGF8=h4-ZJV?pT)TY!pr>uP-KHM)wP$-#WBueVq)+iK#JGpve+4-?FdyZ6$l>o zwBngced$vuC{I1~fFOTYWUwg4ilJBD;60(jF$t0mMK#bqaJ8t>bNc^F2Sst=v$60)2poT8qcA=zJ8;gcT*Q*50XYZY=Shtt;tv{_ z8M7jYj`gK(rR92P{=->5NUe11SH9OkB zGQ81#wZsA^nEkDr8{_V*Rjr!V)p)NVQ#Z!Wg9ku-c#vb|=AOrO466 z+qdT?eyN(C!}u91t0`pjh(HljBN1PT5=6nChal5i0bpwNpa4RNBfPD7&3@j_Qd5$M zaug3E-on7v9b|m^Vim2=0LhubivSi5@d8AWCyln_NFp{T^jF{zA(0lZEvA<&>CbR3 zcT$5xP|yi)Lj1z(*Q}c@;)1L5W4z`ad|BI-6+Tq75*^LhH1nrIbX=#Y4t{bTO-+WX z%HWu@lKQ1fpCFA^9sv2cii(QOh_W92ykDzxBPV~p#kRp~ziQ!!m{JSlEN~OEcQV-D z0_>TXcZh;w=F34jpv4Z~U!JPHxTpzbvZJJEjif-~khjxD(cYdfZfWt^hh2}@9`b>4 zKJ1|uq&)w)1_F8I+e<6@3I@YXjDbo;D`U)k5ku>4FBypvpx8-3{U9b=kF8@nS-i*w zwFba(C3+wF1^=#bQ> zD4fjNjs`J~fo7e{Whvg(*7tx>A}SFb=py^ERZntoOhXM5;)5#b&Cq7rSbZrq#SJ!s z8}LIKLEG1o31OJx#S-D1SO*3^Z1aKmVBfyAgu)1}$7#M<6*ha55oRo0TupjePw(Tk z?13s+eGTl+h-);{|Gigp_WPNbIo=yh!Z66f`g?njd-lPLQR@12szTP5d8)H!P~p+L z@`bGfQ2XYLN%}SXmB8J8E3$55@4^(~A*yao(f)SJje`mBXoGBM^m>6U`nU zA0I`kz15A-t%E$`$ovXc_pyhEmj`0{KH(*pc6`E0Iq#;Al3j#|5J1yz_0O@F9+?-< ztJMF57Ps(1oBoFN_4H-|=+3BWJCuhg30U<%WrFh6s9l%C6(yUmMbFxFe99YeR|t>T z;R=z}cMk5F?lk8GRY4_gOs zCAeFqjPg>Y`vjJ*;q(JqjK?Kt+{AMsG#ft+A=_ z4!7OO&N1)&8B%>f01-X=&UJKv3b}ur5f<($4c>qFaC_2qT7|EsJk%B$YF4dUcFTpk zPMtpON6Y&LqOa&TXu*KwaD>fp-SKHAb!9!P7B@#e?}L|Mo8&ee=lKQVg=$3Q=gg87 z40=92rRUIo-1z7FRD0-!97CN*JTTqmn@dT&@%8j6fY!&8vN6_o4%$w3P1q7Od5<1E zsOanfDN>mB*kYfqs za4<58kDE@@dA2>xthhc+Rs{#=l8u!yL~i`Ur@?j*b-^;l?>+VId|G@LN4c9RWMOaI zc*#@*_~b%v1@D^th&kWpoMm83soN%cPjHzw`u*`i?=3I=9@>GSNQuL2R=%0R zarn4rS(ekHdA;ehCM*AtdWm?%E@`i01cId(6(wcS+DsL+*dJrWHnOjw(0j5}J%i|~ zC7X;Ry9s-;me1T=N~#jU(WMr^DPCHr)F5^9;?&!N&examL24;YO-)pJR1(v*i~|YH z#?p%+1;>a91~E>pjAiN|LnXecco(39ggkcn*`xZv;btrJ&me4f?d4jdXUKjks>GG_ zn3__4Izz@>`BGPxtT*D~?s&?BeLa+wF;@^`jkrhx$&x!1`R+6xL@74CTqC)4@I1P%I z{xONF?vsR%rO9{RlveuPr7W79!O4iy;f-d26*^WT>vM{z0cd$lhiwFKFu&I=+mYSQ zT9Xbtt$J7rO*dRz?6_c18Hm#WdGdR_H^`)LQB)?|w{PD|FECeh_yuB`Rx(g| zn-gh(DPkk^!{4iCAlPO+eN{E!xYXn6@@Q{J3nc%tu0Z9ewz}FEFXUv|z1**h6Tj@x zmg>zCa!O;WL<>yWZLcpGfpDf<`9WC^)2gfkVV8|8d&|^SIEf za&jV;zuh-aJ^J)KFmMj%Xotg4RLLo#L{LOEt^*ao;%T|)aX~7m%^yYCg3Uj!qYyYP zvf}l*H-rVs(MwD`hO8r21!(W4wY{yxX4_oq^N(>D48sz%>bQ00P38VF_j&rX4GK-| zwiC~27uVI+2ATaU6y@b(nY=gch!Sx``Cu4dJI#*n35<(*_G1$lu^BUDiU8=l$)+kGam{vP=Xel@e*jue&q8TpeD!rdjKMRHOuX8g%Op zg)Aa`pmmG97-5aK+u8c|?N_C@;Y$I1beM$|J1<+^W4Of`M$}M74oa~uh>{@~5@G3Y zKBO&u#@R(q$0y&UT%=KXSQ?h3@G$ze_@z|-{VQZNI?mJO*y<9+c+%rt#jDqOJ6|zX zw!2E#=HKi7OlzM1sq~8xSC?J43v!Iv5Xkf_py301x_2=5L`nmD1>_`~SUEI6(@{K5 zXXAuiX^>_wMn#Fb2`AxIm`>pw#+oWizArz7Gh}KYLZf#ZLy8jN$08Fh5-h^0_WZ#K`1xa)j&_IQcr zh(L1HY{k8Z%YXx-%k@IIjFl7k9w|6QyS*~wiLm$`YCZ1J=-}X4uS}VUB}4&m1lNGF zgZp4XP=O1+uI)Op0i9$q5Rf& zkV-6xV_;0XcVEC#)kdGcNG|$*-s4uf2ktc=mzBDHS`jAbiK%&WlraQ({>){cK<(%k zFYcl3kNUp_M|`YEZ91ppaO6#g(?cp$E_v3>8uwwShQyjuqzo14BmzF7Er=%U`uR0| z&MBx&@l84$#t=S7+0u-oz|DQ@XTA`2v^7eHbw7CB1P$wneglu?ImNqZijmeA&4dIrQ%;74%_86$vz z)=&<82K(O+q}yi@8!oQTHKOoG&KG`Om*nCb00WmyO~)bBP1A(;pidS>06berq#-MFO>Ylx-525=FmlFUqG=ok3Ea9>->xbhJ)3GPM?ggZj!UP)ilYK{{gM%fR z2n1@Xt!1htb9H~egQAlgX*FyD;Pm2Yq$x@6SvF!ru@j@ao#tnDJ@{jF+D1rXlf-C5_BWL*x@uGuq^7(<^9TN9N8uD`z3pK;T5XaL(=>3tCjfRHh{AE%NEhZ3hLck zd^w1?mitRpK25ZKSol_6;Et3iOE_$t{qYThzw7~dg(i4X09S-=ATc2b^!i`ckKq^3{D;o*-`Q;9`b7NiZ^$cb+rE9oMxYn}rsi6SCY46ipCBhvR`NVammc0f z(T?2pm&-A$b1H_4s#yQyGe?d=t zhe`sjm#AdyU|RBb@otOBYnq$CslEe-66PGn=i8rtM!*R+0A1625qpSQ{>~j@UQ0*5 z^FPbe7Zee(T28IQs`Y^joqz$WYcDAe9<;9JZY9>FC@-`m%nN=^v=~)3S3`458MQXe zg*!4hYicYqFEZ2;vp#qkAuxtk-^mgW1i54#ITKN**v%;kCl|7Gq+BYQ+EICj2!ze2 zOV+Fm%`y|X{2GtPexul*2>Tj^wi)*3oME?bs!$rh*+cI;%H*FwnNZ*j0Ov}PH! z7g`WFb!xy*a3iL8)!jedsE^=WoJ8GlclYD2M-89qD7Po_ZVx;?aQVQc!~~m50!$L3 zQcPl^jsab-&OCqKb*#91V6@9+va{FW^mDO#nvL3heFhe`ws&l;+Z`?lHu{vzEU!V} z@;;D1SS=m#9fX!CI?z|8q{4+=1O}iDX=+6-USn~Q+G*RpnHQoE)YFSXmXB!3=p%p#`uy*KD^Jq zQ2z?#>MK_&KxE9tHZwYsP;U>|0&bS_8^XfETkec&jEsz6HDakv_us}LnU$3VZ_I_o zMRtx&q~~z=ig-umB~DfbcaGMwvdfvRcF2EV=PBWn<+|=Dr31fAcs;(Wk9^l6z{eL# zdUF3R;g#V8xcX2^$?;pXzdOawUc2%=6ZXTnQ+@monLN$;TkeU(w^&{Xat)=u_2@Vd z1;pZ>b2g3G1W$A0 zsWKm_gCbV)+?*b=Wo>QkS_P9wpY~Hyit9kWvJ^#Wa?-sEXW!pL9gSoS04~Kujqngr znd6i(q@fT@0or*b5tgVysbh$#7_i*C&y%dTS3%>JUZ~;sEbavc+Qfxy=-+J7u-NVK zd1}g%C0mmXdcyCZHY=GB=S`VGA9S3R^~bMYg#brtRmTAHr=&0?)VBfMgyLafiS8+i zYsi?{(RPQ+cG@u)pQAk3cNEjh&L12^1qqayOF_SfyXFh5LAlZMx|-aKo?4@-A@!9k zwbzX!8`e}?+*?15G1MLK633P5)8GkQz+nevpCrixyEK15%#jNgCDO-EGBVyCX-E`{ zv;6w(Fp7cgg&gP4TLPRUc0hhV+J_YEvc@4cO?z}{enwI3qvLzN9*UlxD&i0Tf^(jL zE9VM(@KOe6T}b?1nsd|A5^R9yQBj@1O^S<)W0VV_Rm&1oiI9+0A3v0GADtd^bGCIo zc&9L%V8MUEtA*#U8(|ig^t~;3%7nljol%Dll5*@#=b(vU*ZBHzt;n_Y)A|{PQ%Uk{ zRt0kzei^4-)>Gxbxs?d{T%-%B=o1;!N~ph@H^$dWkSAl+sF{Z04H8Zw|5ED%CEit7 zbv=JRh1d?e*0*opA_Qni3Lh1)dCJ3M((=PGI1FxTP!%=7WRGoB`d3ix+AbD%?6hheW{zc!uu<&hW1s(iHcQ-ju)loXB-iKE z3F)45DTnqRY1z2bvKgIlh%mJxDp~<&%e?amt#dD6j6~1Cuz})qyt@?pc@;XWKi}$Z zEtbfXIB}r(SF+qu>7q#2RFq$hK9GxAS-~0dAU*pf4pwy82r=?4h7lK}Ssuh6EKOejg!5%f!%7ntl8Br7C$R5$u1S zUFs4GXX!&D7V)t z>>=1^9E(+)OVIpMGxG~*E39~+5k88PoYdp<*RPW4%^S-;{h75kPju75AS)ZC&tP|% z>4D7Yv(suGk_y40ZZ~&U4bMCJIj9c|y~)YWw#KWBa)t=fVdW4%f;NWrvO@QYWR+u| zx>HDqi$hn}0O)scImecd;h%0%k}fBFbq);S1M37x&}YxI6C=TZh6Z+2q!{ z^XJsL>y4{~#(YJO*+&M3zjz^$*O5@+(sb&rONnHUMgnO_nR03q`%Dp4=VuXax-ZmI ziJZ*zb|24NOjDXo`mE6vudb9axK5WtaBn3g5r{;vR(hkkoO)s7Lt!E9aM^0@km~yS zI$DrEK2-p{MgkU73+mY*xrin#M4FvPtp>}Pu5Y+)cFKRAm528T-E3?eb?W@{svU9@ zN)w5xptjoX-+06CsBlDJXvbTHiBv^l#lw4s58X_t506pm^)5f*CH{qmY`auY-P$gy zG8!Yhl>^!0a?d3FG}*YzRrqeCD(P*cv$U2~`BwD!h>KNLe>^`Pqki4(U68bcX7s=o z_R5xT9N`O`p_1>$<{hPXJt;}-+^ydgMJ~nLW}K5WeDx@c%;vssw{&F_#hwiFIcDC< z(!iW!N<3R)G7V{FwcUEA^Etzs)>6V%GFpTuO-a!$F8;G63Lqj-5~6D!+FEG(oun)7$-5JCB$*l{GrAzMQt8b|U18S^W!zp0#VTkC56M!DT4G~pxaXB|4 z2UG-j(y23NpvN3mX%VFiPCl5!zP`TmLYJ`RUP7_TcgSV9tIIB9$_BHS8)Z(!6cmXOxVFKgmv;<_5+ zEw%gg9*cFAyT-bHr#N;l#(eu;W4&l;*4lHuajT|WJim~X<=j+zQOBBk4(x(5JhNsA zyM~qMu_0XwZT|0I7jmp{-fvaX4iO3jT8BnBi;=cfHK2ng5)EXhMJo zjg%=?e|dEk99($c^&z_;^?2xKg&a?8OB9@VE7On-M@L65T_YX@?rtyDScP5t$L+FR zrxq8bWt@wgzkdzvrzH10LrKcJLG#|Zniw@wn~zB48vTL5`^N9k!JGpEg`t1KsH?Tg zXriCxq$)HnHhE}S(caXy+6dW<2zVJ@$?c)NoNGIyCF{MpRc=y zAp@y+j|^0X#zt$rN-!`J(pyk%+_epre>B)nm^fsm#d4+JNCkRB%#-0tgt1$d^pV*) zG{>Y8U+&H4GHoNW4)C+U)ftV9_$U!Utg3&+k+NNc2ppUF8M#8R-!gQQrNJ>a`=jL?mYmX3YC ze2&A5dPFD~IQeeS_(j8e?_M3VfgKT?u@5NRz>C_>7Aj zonTBrkoD5X5wCzN@3zqYT>rgsaBh=VgKKO?*2#B=zcmRS&;!eY4!kDYckGDf@qs-? zZ7ub#ZRY0Ycp9iX@{p(AcZ7K{ngBMS81V7&9Y6j+_yhtJIsp^Ff?FM}4p$Q0^pM(> z+#d@Ti@Rk#h9-=U&z=gQYt^U&+NnJ%6)V>!CMK9?(H!q6b_!{LkEcg-Fb<$6^& z#)x4sUd%0Tr#toDF&dfUFORBJkN+&#TBiHNpMlSIiT6_}L$Mt%>j|Nxd)X^#B=he3 zoa&<92A;fVJ<{u^v(Tu$btAm#NfnJub^{K3T8-tl+9#C`Gv@?t=>;q~FI*H{yEK>E zc~(7#{JA%yL#1<~Sh?_5<;1i_xd>_phl16X6qfTBuYUKDmO0YqG#;gaX*Rz3p1Q6U ze`W9T_+@LAhFam)xgqUGGHji8_Lqxy}-A45|WT@1QG!%U-1(ocO)~BWV*ysN3FD~+g-5z{Mj($ ziIh6!0 zrhiC~aqF9?`ESRtj!e;-Y;G-?_X+moWM%mu1e)LUg=F3swsF+ZaHuVr+%_qgq;#l% zfZ1X2l%&#jV@0XMm)YCos}#@V#A#?Y243VmNt?rA#g{$kdSFQ5zu4YgqFtWdN^SY~^YswGn7TB!dG|hp3K&`rc`dkj%^%aoxc5L6y&&OA{ z=L1K%1S(2-DYQe{;70@?yq=Q4?(^x^TUO!n^E*$cYr0DB_o_( z&G2H8?1=*+`9~dYb$dD49i?Oe+e|c}Vk=Q)TX* za%}DTq@sHJ(+q`4T)mNit+7^PspGfew_Bb3?Z%rVUt|h7|E5f6-DztMVfykFes)3% z&HlR7r6jo+1}dr?6raG+;TG~6tx3oG6%eo?%DJOA!g$CBXHHw(<(=fJM=wkh3~UBc2qq>C2_NLfZsT-apc4N zaK1y|pI2Y{11f4NDo(?}uz2>5Mm5QilxF)b(pVBP(V-m7g%D4CAc-aOEgG3~qR5-T zhmpH_)d-kKIGF4Ng7)?oSHJa5Zxed}XU7V8K4)RMAJk*zWFckEBXbhe0WSA!j)iHm z41GUE!6Eoik}c$?x9MZCOAl_8lRrS-=-^O!08vbk?AeOE`}*wmBzg2NhKY7Oa=f=ahMNNP2EJQjt(v&z+CCnz5cq59>(U1Jz{LDGr;`t|+cgl5_ICL9v<(h3i zd6aPRas-*AprAt#i*}yHV+K;;`8!of(C_|HQ^{}HvlONn620<`${^=nr{Bq)a*8#< zzH>jzs?5F&KQIU%_LTbEH|w}KX1nxzq-}Ux*Aab-?oO7u(qN`ruN%!OZywCjDlwke+Dkk9r8cR zXYJsh9*DVwTVMa%r8av6Auk|b7Ifx#r_dExxK z&P%2D_&kR4Q+p-_P3=V({8f|GQ<}qhHF#1L^S%aE@$%F4IZfK7^$)&`$@~(uRsQ(# zzcstO_N$~M^i4rT;@bXE@vyJt1NZLa?!s$c-{rJqR1)fWjMe?4-sGFRY;Jkv=xDF< z@+#wwN6bgWew{5SAY*9o)Nb4}cGK6#!DsfiF7t?InWLe>o!RYf^KoQ59$jU$v9f*p zEE9s7*TY+WEsurkmc?uSHGToX%c}<0$%Q z^`P9j&U%}(dFEGgSu5chA|qu@RkOso0KixXo0g-?odm_uEXD8O03ZVh3Cg|^kR+dM zSsFg`f)W(r> zWg6ZNW3_!&W~Ti@<~?0|2GW&S4i8#fHvOXaLZ0bWUxTfn6K!!cc81=As}{GIID$OL zuiSk_k;?xl`4-s@sk`TCs+9IDXr;b1Fj>lP8bTNs+MmEc^WRa zN)A8W-XWV~HZNIocEvu<)a=yKI#G+3ApgnnZIcCS&*2k19}#)?_{!btjqcmH2Fp9I5M@8*7I`$V5Hn zGq>9;3BBiE1a97=?uSWc9r79@0jwcxK$BoPTi5)=#6FVIp9iU}K zirwL8sS&(AmEYk12$enn5`ZXFeS*6L@dwK<|9g+=TY2IRe}Tbw=-hH?a{^rVsz; zGTe#yuc*VP0jqN$PUFHJ{QWQZ)Bo?&c0BqtL%g6^n*V-2+#@mioRgP#MG^m9bb6Z+ z@fO{!fR^-qe6W>d%bz;p&u_~o_VWl#SHw>oI70j^smE9TE&}ntZs`A8DB_=&{4f0{ zn8-6xg53Sg$LI3D-~8Xj1b-PgWiKXN2D(Px9J|2o%d}gMZ2O zxk?|XFkPbv!JTx4!&9!HmG<8<$#0p?7dx&~IiQz+kf5X{ned?YU>v=+#=n~r-OhM` zUrL;OsgawYbi3os=BKgUTZku!`^>|r%bx3`>>brT!ppc{`2)ISEck|~L(kaQuS98T zbR)QkpHDfdLmQ`mp0i;4G{mujeE0VWd~;qB;`q-CXK!y$CuA>w>?4gaewgV~seR$C zCR(l?34fZm+dPvLxTi={V%l0CKTj8gjjj^FVl zs7s%Hx)qx##IVu7KyiM@x%JC}n92A$v^y(*)@09?s8W8bexis1B7L$F%ZLWbEbytx zXwHA^?%oXQ`p{D{QThj9GY0Lo-rl+du6T4`yZ{PwG=a){OI`NU`bvh$v;b~LuA-Et zKZ|$e*z;aK?fvDM_9@NmbBxt+0w<@WAD!1%EIZR7lG_AyjZ@z4uj7DlH3}y?@QwW|Oi=dX?$_4WQ%zi!X9m!~ zg1P-tghffc5f^%Uj$S(xe}tUV7#tse-8y!Ubfd5)MnnY5IzB!QijX}Z_gXuJ-P=gQ zWKL6(f?qb;*Qd{Qgn#gW09uWFZ~z3ka} zg#F&*v1M_x^FuLivh)^NYC;(HK*NUUuVk_JFlT>HnP*>xKfWe^=8RQcd;_rlD&tG3 zMA%^R?b%d-aX9QQW#r^Qs{4rRV%on;yFWg@803d8Fj&TX_Z(tf0#ilo@@24N7jNSG=vK(UZgr{727 zkFNQ}#qJOHP0$w*?Av|6Q!YmMIy=eMty)@I=hiKMh6V&QqMZp!V;1dw0eS-%#+dzV zMf(IKmvidx_j`%Y9h#q=>?oM6IO;yLpwP2n84ASk7-hZPnSP!X}A8E|qH6cjkaUIPOJHi4EUd*G9< z#2-h6ozZ5Kriu%%9I&b?Of*%NeuqAFgud$`*pAwQM}{K#ww;&1zlht0Gkng2UV$Ig zbOddYmU5;nf%3?lWI*<1=uWP!t)U-dpc41Z(8u3^fGTj#+h0O&U|LTn)mbNdz^ zUd4-K`q6!hDcu(e$Jpp)G?QUMK2#mCh>`!sVAurXYgbgpOAkUurlC0oOqZ+?+el>Cb@Q$H$b4Cmm5czc}o zXTDy!H*t(bSU9@VgJokd!h-GQJH}(jVr4Rnul?uo(4kqRjZ2K!JG=%GF1UH{O1k57 zeE+UdaIhU_Zl_VkScLD*`Z7xC*5b_*B^C!sm3_sr#mE4nSL0b2f`U0;N!_dn8jift z*MaDQQxXVQeAU(%128AHuK(e)pNgG7`gh`Nf1QIj+JflDjGp7g$P9=Mr}9D^-W*); zFgO`fh0a96Il!8ooF*--qj&R+n~l+d1(Xlk&zzZ>8cm@p0*Ad&SDEL&5kFt6)m|TV zO)V|7b~7{CD}+SM!4Uh?RV+=vfk~};-%fyYm<}O=bwN@&M)fCb*Z07^FICAANFBlw zh+?zLYZzxZB`oZUkOoaE+OqS+i8ZmfSYI&0&@M~=cx1{q=YwZ?GX?r4!*!0u(HBjy zWO1DG*NAT?cj7r=xRH7-J8hVef(lW@e(GaY)fl#u+Y6sc^|*Rb zsYELfSpg5)NVYlNESjwm#LG#xZ=VQUEop~vMtaAEzKA0R*nmzS z$Dpf*Mk%xqtp|VL1lJ6ADztCJX2H26$-aY(=B;rvi|vn^{nnp0 ze=#yJP=20lLbkaGVGB=EnME1xwf2;N?NQwztTq%Xk!>TA*6^jxThv;#p_v^Lovg;1 zM81rD%C21$`ts#xj(v}rDXC+%1)Pi$Z`^Ia>g7+zFSZIt%g+=l`*&?a*m>1SMJj=A z^r@VEmycXcB!Xu&coq;q@co~QPjv1)Z(~!L{4&A?d!i2s$PHzn}C^j7c zS=0tQf}|30WY0`ZAqYxdy}HZnMb&__un1lQz|CO7E1mRPKFoCG$`#uX+y;Ukwwep5 zlfl=l!+FdE?lv&S$=hSyQ&Lji@np&-gU=A2*wX*|(<6vSA-bb^cRPXq3;GP`!sEa^ zd;LBR)RE2xjB%nEn9ISTH|~6y-BrO$JRX!L;+I(csxH z&oq3?w?R!#!Ib$)M#cn4rT~d~ZB>peSgL36h=_=sIPtKOIDZDeZ)6l?^a8MnZ3KI% zwKWfW5XhzeNhvTBP-4{9X4WyX<4BJUmXni1_c%}Hq?VK^cSc^FLdx|~>^AU?_0)4h zN98%Nyy`94lI>PMtalW@_VFgw5A*Ys%E6m~V-S1jjdt-$>IgE3k@v7HulJ*g*+-D) zV4}p7!)CN=R`7fr3KMs+CgU8m9HbJ1Z?eWdyd+vtfU^YWQW0pRpjc<0Ad%a9mU5O& zaCa4M?8J!^I0@1C#3UPWHVv#BdH>>2`om9jlX=;GiX@+VA4P$3L|QcYd3<{0k!pmQ zIQn+IT^?d9X;`nx8(V(nnx)qpwGn&+0uDCc!xKkG7TQ=|-rl4bM}p5NSPOXFnD+{< zpC3>hwsgMW=fIrake7CU`gLjIKISxij-xjcU(4RCJwkgu`}LKLUTWnygDOZ5f=^}% z2C8uvUOnpTwQTmavSH7_?Q{1&&c$W3Fy4;sBTg)_wB;Qg9c^sh11*-0ytS<|2t1(6 zS}SOl4I^%cg@qw_wPPTley7H;AtHs3)=Mv6e@bt`IyQ-l(jv3qm>4;J#Y|Ul@8D3W ziFqKLCfJ9s_uPt#C@d^YPdCxi>&5G^CxcryOun@fnVOMve_}SJKHRAh`gA#%5j8;r ztT``(ff8fmQ6eAjwc0&gBvNx=oA1#pYvP1Ln^aN1B}(p8nbZ1157=DNg@Z~< zMPh3GpFMlUNvWP(^tzdO;AVDHlz#N-L^$z(N!|fI_gy=rJi--kwNwM8N)#COTX=+k=?|ZdS`=G`}^G z|8&%O>Jzeuc3Rd2hA|WwE$gF2MM7gv?4!Zi0dJ90W82Il=ZfYu@cwk`R?M_+@wOhI6FgOL++Az4u{d4Irct?Mj$As2n1`TWCXKmrKzMdpIR+aX4aU$*_Ke}rSabA z#ry(@;GhJVB+_2zQ*sSICwBM6=|4d_dbHV zAPn3H_MN-xw%H85$JpNJcST;JFC!3UqwbR8QsPihA%JKi=WceExf)}Q2WV)9$Hp`; z+l34nDSvxg8y6P20U`Q> z`}d1#Ao%7297lUkesKfJ?|~v_#6cI7$eE!ETbMKipZpd)F6axBF(*1OFMYq4d#74;~kKI8m3NXE1%aG2MQTgP2o7JK4 z%btE>d(jrgR9|t~vrcmaT4V`4_FjMA@0Nc(U6AxJ??)UXD`02wa~OG(tl~?Kxv0Dt zw+#n8P~s#k#{O9?6sm|lN0uACGQa*Ux4XNnhXnl+HXkw`*b6No{{n%t$#ZdL#u%cM z*jUJr&oP7Q)!);Tg>wXR%;;|*j1Z>)e_51XM=zo6?ePks98v=-#0M1iH{`Tam0D2n zVs)Wrh>ZQca4!}ZS-^EqP@ZwO21B=xgPHIes)qm-5Mv||A`3B*@IqiS*ob`OXU^Fm zZ-KRzoLjuP#xQsBupL2G3YbPCH$FOi-x#)?3055yERhis6*bY{-vplEmaRK5iTLRH zRFCJ;hF~mvcm6%-KSWgx*n+)>&u=MvN=HwhdIH!BKQIGl=OUTY2`w~2_Lg{QGW?bG z(ye|d_7JOC7lo9Rg$3eVOgzcv!Y>P)MxZ#6wj&W`kz-C*tV9NclNlKS#&59t$p@9@ z3X&Uil$4$rDo-X$329)^u+Z_d)d67RLnZPvfr&{*Eg}=3qP0(M;gINA%%L?C) z1Yzj|2Iogp$TCxmWvz6!Z1RT~Vz4Gw`@I^g>nE}EWN2O8=Df*qx9tE^tw6AP2HQTL zA5`JZOQ{3>Rt4pGG=fdT%C+RN&Bh*Ly3<#f|Hir3C^d-E4K`mu`O|pvt7z26TeH}a z$P@uYiYcF2)E!fob`a!sLA1^QCmySW^gHuf5Y?SIp9piQk&sM~7NrZF>R&N8F>A8j z3E%2YT4ls_RieiBMrLwJ1o&(iGX=onb|)xZbaYaKY;rsGE_(0Z|Hz zj>dLe1hCedOht%2fg~UK&Cjue)qqUhhn~2Tf82xlZ;V7=?Ct9#qEUDn=(b@CE{rsu zVPt#-EEXJ@zS(6yBFciV%;P`ewoZwG7L6%F#vmz(E<|BOEp1;2Jaa*XrlHBlrZv3& z=O3IXF9gEajntHrin0u(4~E?Fi9S{~HpDs=P5JhmV(nBU2;Zuz(h*wFTQhR_`ziLq z;4`D>1RA{ggG_LW<@bxT?jfSb_S@hUJsNua>9!p^PK0lT@C)=IaE9(gZY2&__hb4( z?VQf<=Ko^880*_dPA)4g{Xa0@w)Q_9Ll^N;fy3QVmn)1m{sEryJ2c@D(07<@2ZVQe z(!TagFKx!9DLhzqR(z29EuVAC#d9&ODtu1-@S4@j*zP6 zu;GmEmsh`-I*VttSUPB4V}4ohTO|68+DrVaVMhb4FP*RYWv|pcIYIR^7mhqr&+zMV ztXXxQWy&3YO@|&KCF$84GM+UDbdG(i{C3DoB1!V>qH@C61KBI;#!r-3f-7H9v6t+S zk6w4$LQk&B_`DA=E`gwS-@Tstp=#T-3d^21I>iZ%qb_OoDsM&&ZplnjvV~Ng|8cbS z&*0EmJhV~X*NHdMHkg=icCK)HoY0-=dq4b*ud9)P;+4-$Mv9gURmIaG1_lE{yBv(J z-QhaYZ*{X;y@Z_H);QoS2adebkuWi!`w1Fo{F7v765bV?LcNLKB7(PNeRM{J8u zVuO&K%;;g|gB};3MhY9;Gd1lUjTy`}?UYHp5i;cCT~l5@+j^*4BZ6krzWRwn#!oKQ zRHdbxTbC+swObJvaz>1WdoQo3;K!;H6uW&T{bZ99TE$*W)t3dnxO~R&m7&`O>y9tq z6G%yATrAMaR2fTl$(b5Fdi?s<(W87T*0>#tfC=)A`mU~pwf6KF-!SF?X?{s^|Jsv* zFY7Nz`n@0r?72J^H~;2MjVfCwU7ZQ*sS6ha%R+m3DZKKfxF>bXR_E!buxPq8No4di z!t6qCCYTog*0E;ls>A1V1TMZ2>IH^h=r|n)ENxf+(tJS;5ULdMu zEmKr{=mZUxd zSs2W{MYhWo{^7ylFWD%If9!f)Pe&a9rbOk&!Le(!)t8u314&ueJom^LiU^(^nzBf~ zuAg}Rg;3F(^M6&8Vmms*c5lP!BQE%HPcMiW1#@k2-6BVMtIEqcn3k>>8t$ypcxBWb zk()IcC>*AqK|bDb`nT`bK<^K8W3A>oB{rD)UiZ$iHg1_|H0BDd`Bbl6JKRo|qdxIX zZl@p31+|3wCmxcl;d!UI`j1cCC`em;?!U?uw7phKr)0NWreX9vfl~Rg1%v39P@&o5 zsb{_~IYT~|^1H9u-bzLhoflC-V}pOhMBWBZL?&P4yjj^7t`W5PuuP^+PmPm#L!;{E zp)cvQPk&WVfIcEV9~oRTzktkAK2Q1{W9B*tWJr-V4QHL0Y%NkRsk zsd@f|A$f&)A)Zmi=gi{#>`w7g+a?rVIb~h+J994Z>#xSnva+0CPV}v2>S_hv)MnjF zeKqgjlS$oNpb$FD@G>HTn*MMmi+sJwLKgejFu{y+*S5QN!@w3>UY7DwVs-ra_K24_ z>weOPM$WRyD__M=8F8sgUE5^s+1|)^B6{Sg&d20H%|nx!nR3;2EBSi&dbl;(>LRpj z>%uC(*97hQQRero_8wbXM|9xBRl^S7^{%;dn-rz>N+Q=Cj zx?ZAPS}RpAj1^V>@tp3()!UW6tNr&%IdiVnt0Wc=ONgx{^j}FG4>Db;96)7XzqI5|9zNThWIJZSxg5glomc8O)x(}o- z>i(GfHl>!O^!l4(<-mNd~E}f2H-sX&r!i%T6T*?1Cu+2%2ow->}!p3CFV`9YWAhysc%2vBVm)j zSL6@h{WWJ56}Fh##f9l%-nUMZu9NcR^NtsP9gE-{SI@f>p>(2W&l32|hLd>}ezXFs zzY;6RW57n8U0l@4)_s%Vt6FbK#y!)e<*CZro>Fh*>CZ6LQ>Q&Ra$m~)V4A(8W6NVX zL&h`7VUNs{v|7wVH-{A}dmT*l^(cl{mh~!A;$r3uemV3fKQdlX-5jjie(BevK0S(3 z9gc*1jgB_!eb$73O;>lfOPZRI5fP}IB@{((ejj-E?P;6E>1q+jew#;6?hmbuMJbJI7Pfq`LSbTlw5EZ~1} z^%hW7ZS5N`qKE>bqJ$uzG+RPiT2VofX455|f^>r@ihzJfcXxM-NOyOMba&T%w|c(+ zz1K0$8Rs})$69O7`PTD$zI_vL9FdW8Guqd`@Wi88gZ?W|zLp^%;qqi2Ynu*>@Rt)=}6f zhapFKf>ewAZC2L&I=npfl=;n4F!wDE75+}dje(IqHs;h3Ln%)svzZ+8UQhD)J}oay zwDz~RQ`6JiZ-0uFZR}uHVwsNGN2jl{-?g3olJkACRG{ex(cP$(HzqoQS>tO92KqeD zl*k@y+jcfLSJ+ch@iX?8hz3=ZkdJ-8LrjWKND`n}-^+_&-CK+L3X>%SSReVw1b=Jp zluGxSo|^mVt4l;P`IUycXM~tdlv$sT9%|&b_Qv%#gKrq5_rYr6KDQ%nD zPJabIPmdvE%%BsuPGK|;_P<*{PXJ^WXbiy7_wF59;pM>l6T~x@jhA9VLP5cOo_?n5kXdj3wvfsNQt8rvNFp@ z6~bxUbgA11$UW6+`#t~UvP9uY-wGp7sGYq2?=c|^{`L(@ zNeTU0Mv`>X{8jH_LO1MwA8=1;N<%7kWV#th+@GO4I~TYe^sQ8tQsqZx=2-q(#^CY; zh0RDF%gPeJ6y>bNP1BHrp+rLsMo|d~@z1WR<0Y)tyIh&0Fu0>qY+AgOQkJ|JW_|Q& zcL_ck5s!hE&NGv)y$>3lL@9biNirZA7U3UF?{})?<0raUJHJ^qHonY|ZAkXBHpzv# zC@~@e+d1fEBCfB^ipdkx_$FiW+sUgVGW@VKV4h4(bJu+JT>(QTK*pNmP*+- zJ6vQ|y!v3*?s(dJK4*Qx-ry+ns$W2_jVX4rQ~CE^m(8ukmHbJLbouFR3}=Tgg#zY$ zWL*4=Y`nZ7`bFI@>VLoGs~Shm5&n#SQaj>kL+0iAQpx~-|0x9o_jLV586}Nh?h=zm z-SdCpbeisE_mhp5S?!Un&qNfD@z2KEBYXonK7kyi$IeEnYP`5B2f7+D7uFpd%9gEo z9355sGZOM2Gv2@=;!o%|7&KEFOP716Y@BWuki45_&QL%s>sF7qDH%~L8Ik|Fg>AaR zb6Sw3g@#Ty!inEGQa&T$!SHykI1>j4s~i^_rG8geGHqab zHCZJ;ibQwwayi0wMu!0j4O{Xvml~e1l^p-uNb@vgzVkW)K}8~+uGAV*J4;1FMN35^ z^1PvHTm7|_&e-_qbuwM5#ztxfyV7#UQr5e*yBQ@M#BatOI412&o~paOk75yF3UOx7 z+=qOPmO6>Alw2t(y##g>+m{&}ONGf#9wQrnbY!U%VKp_kIxa2V@D`Uu!n9{}`r+=5 zIb|ab6P?}Gm@NJ1vm}{qyX0OGkAd)~FOVXRw4)Gv^}IwPq7QM1b-zVNAC9-pHu^>H zZrQ}_j@RLmsus_;RFVro|fqpbG_AzzHEAGgj*cq~hF-5;C4AJ$< zR@S19HC#CNdp>4dxZo3#9o|nB>n0OdSNRYsEU2^u?L?n1Oj2ige|tW2EZ4NLNi%@f znZsyB|EYZ??JL5oZK*jCVgA}m2_t;z^|6DCK9>_f3l`;b&9CzTcUV-G{IQT<;pdO> zy^YK;7k%~P`%ga0m3F)51Y=X76d0hV%Nj^d(Z_dqPtQR;&c5vPqD~+uv3IGeYTR|K z@E$A0+FpCtP^f!pXdUK0WkSMleaYjRj)A!ZzvFadlCoQ?!9$oVonbYEka9y36GV(v z>5p~87{bmvAAZTo@{yvNiJ+n4yw=v-(#BM%Zg(Hb5Big~<@+l#bisP;KHfJM+n!1< zoXA^P?rmfSev7m@DCx!Z-2*$#E`vf6S1g|M<0249%D;(d)sgv719EhIEWKI!z?S#4 z+vE|oEM88!>Zacf<+XbYl&RUxq>(w-J@y0~7Q~*}?bMmGDdfaJi?bFtfL=EuRKJQP z_^i~5tX|7}Bd0N0LWzhlqN~8RWc;2_2&IhrEkrf~c0{Q4`j{A^gv%43Hc0~zS9CF#_CK{AxNobDB8 z9n&cRoP5%*V6)X(SXjUB7`e9tm&QNZ{$yjF|G4svGPY``)O1}VfBDma`^Q5Pp6 zDU(t9F%?dBhWD!O8gYO2WGq2UXF?#PnA##v&c7E9GZaj(9VV{Jx=K8!xX=69vvFFw z-wLV1KRvg$BsWaSO2Ij6uACzACKcam&LCXsUg97hu0mEn5zz;a5Qy)MolX)08kwwC z`abz&N!_p4lJ@t*=)EW|L%(mRdAl~?CXWM*KsOKOwA5p}CMN62r~QT=el|i%7UMcO z9~{5y>l&w>X*Nq67$+W6-L~uQMW(%c%*-*kjQFCyqyiCPVXG@MzcgA0^U(lYWE|mhYfxo3^)2kk_bACv=mK_j0_tTCB3=TQe*T5Kcx0_^oi%Lbo|hyb5}EG#;>8Sp8~L?i(>&hC9Xlg5n3()PTP8*uzd zFtH@wWunx$uTcZSUj%{oIoGB(t-i>s8&gRS<%+*;V^&qjl$%&8?&S^eoTmZue!b8WVdb_FB87L}~b>TM6k)syNK=IeR`63mPw&@0#IgD)78h&3Xz!JVt8sOHW^;bH=W08D&>p`mMaSB1 zi45n=!yO34tvekxFRT2CnM9Q=H&Y)^{XnndWY1DGSz3D{GUb`&jD@{tFPT2{@{8Q& zj+lRvq6*jlzv>)@qq*qwCxfP>Hl<~-Z>gz94Q(%84T9vO9)d+rITR-VqF?+4JD>Enngi++mMOf`|!KLb)7uM!OzQ@XTC@#sNXdQF5<f`8DW#qV6CPW#mbg%$ea$!X`e5jcXMVd zoI4RgqH0pHE|4#b*zV@X3}%iU9WSm{I%=Db_Js&1YLI`ft=pb$MXc-{;9V3sT66R`7>|iUh821naEba7 zK=g+UO%ce(fIbCO9Vq-4l&&tgXRDN~!Q2?|MZBfxoHi-*2`@HW`a2!JaWoEfQfTc6 z@&0(VC{KSIW0z!rlL#j`C2Yr`DkEci#AkcHL)rYOuYRX6voH{+dK>Cu_T`G_eaovpa?qM~gB<1q=S7_64aU0>5fw%Vs}kmCMR5 zCVPCM=j1R`Jj|$3PthtNiLLqJ7gZ*;D$R-f`eobolU0y#H@ww=N`Lw^*PQFqqw7m? z99fe(Mz;tR8p9@CzE6kz;w=%{U+4ZwgrkZpVoGT?`u&hlR+#IW!E5!(ldI|ZIT}Ih z1ma43W>6;iJ&Wy1B;H#`bTOPu$0M7lefxrB6!%2?xbF6m8l;s%PsuE}RY^#OE5>>K zj!i(Q0m0xXhK? zILOuj&5tbkunw9SGh&J7S7$83UQqqsEVYW4m1PaYNKd}7yEvZ0S#hY<`z7ij(4dwZ z`$vnbQgfX5S##Q_~H!}uVSj(WXqkJ7#OYFiE zrP>B-q^{rP?*b@Dko`W)Kmh`S$Mx(4hO!Oqb+(>&QG@Dwcz)U|<_?xR0n>YZRAjbc zCLNkbiWVlOr?0=CZy|5gb9?DF6JeCs&s1A+joLL4=$$aoNy%AQ0v1X*$Y?@2s>6X! z)U!FYHaH>xc#t)YBW#aANKJRc;jmN|Q!(Cf%0fmgZ$d!EKTrdP|N4V zg$*w*DrxzD-qN2pOZHijrgMX8v?`N!$}v8c`1WH+DEM)_JKEZkKX4k!gs6QPvrygE zdf8LS_gvLP#>7fUUfvgp*xb#K$?%O4V=Btbdm~O0kesADQFbT%+czfv&lz(2Y0Be` z4Z^0)0WD8QWxw^Vk2^osnB`=Z{Z!;!ua#$Q*Ti@0;r1^V9T}ngtSIqX;i4o~L*z4t z+K1`_WWmaT=^Bk3{Bj|Ip)j@XjBxB;OklJxJM<$@85tgyiBJ^m6Xw>}pYLk+@p%~= z?G#ncVLZ6Y#$U9fzvB012Ik|1Xa`@jkBp9%msR9r6sTStXz!Tch67glo2FQSfx>oH zn}mRxR)o}r)D1s8St|$9!6k04ghMx0X0z*gitZD}Q{?OkPY@Qx0S-ZiIWYAA(^q%- z?7m(*;V>OLfLR7B3iZ;54MKxd5;y*;JRrnI=V30o{$tw9UFiF}P7YhlR6+pedGBG1 ziZ#q{e-wJcQpLMXMxR}mJlQW8eiNiUr`P5&xhs;H{1cUJu1J8L(_`S>nwM4mW<9Gw$mSfg;<^3m@LQQ!#)6AdQg zE($Y`J;Yx76p-m`80WNL8*&qKVEIX zdWA7y5Lkq`6oCG$%~-bP-alzx?(&ykpGZ(MZGe&U(*t^%MVTs10RMv|druw#<(29y ze`GQ6s_(GgYlcFXoKY!%1}2j5JQEKVElO3P8{Y=IleP8p-XPDK*9U@*wr%l`Zq#3h z{2ca`&P&Gwp(~Zhhqk){l zFdKU5i6T=746*W&Rj5unuIwFyNA#jiMHUuD5;AyJJ%8c=f2$If;@&*kEF{7NO(|59Xw`-{ zrjz%iT>6hV&5qzvAR$PwK25HJIVMOT3WhiM%=!)1+IZb>WL(k~P3iTDkCdQYwh*N^ z-gKz4)#{kHd`N_I30)q?yK~m!8j>DS2jCv?*hcxwWO@CT<-aK$)NgcRWL?&9uWmt;R@ zaeq?ab_05%ZOWl#VZOBjmtL<6{0c9hICl%Ey7G$i{X6XEHE+~@Wjf~MkQ()uD;Q_J zQ6n`X%_Ek>3zznoc%h-20_%H03Ko{@O8deV z(UFd@2cf=p@cZw#amo0I*ksW`tPSHuZ(!mX#?;eb7RAPV!|-i`zA^uOO#<+WxU5lh0WG!-Fc7BAFeer(MTZrmh^c<{ zuL@2P*c+dLiUmwM67dUC!Omn%3KaO3k0J@Hsc-gH>>T_gWw?ef!*Ek!;4NAzI>?qR zfrkydQE7QO0c)PbRTzXFuTCFjXbsxc{wHA!rht(v1VS`RK7k&s#q05pL8BrF2YZ*V zsjj(}3+~8-W$-!j>{vAk5_YJ8f?YKmqu$DnFZvk;fv0;i<6T^j7N@zs`W2Ip4<~Kj zY59vL!HgNq&4vM8?eRUBwqp#?2@=(X`Bq`!%lx2iL&of7){*~{8Ro{Gkt`R)!8^N4 z(IM$9^u*7d461FR%#66Pv0eSZ|1;n-xSW0^cAHi1S3e1WS~~@SH)G1XU;9^%>ECv^;4kV@tR`FRL$sl#a?w7Edmv#2ATaP}nSC1@u$9w||Yiw%w zM0&^F2BwZW*R>xK$;kE;Dn}_Y{62Y=)q``l$8x*aY`K4*+mXhqrctBYl)yTINbz<# z`XZJzd^;!gF4deFdf{8B=Ued#r?*ZKaT>0a1QlL)ST*xmxnasPibI{6z6s}Yy8Lst zG|ZSzL5mIK$TSKQ(|)ECUsS|EfB&$qn@#A#`C%WZ`kx^N7I)I<7d!Dn1R{b%BWPVk zLLKU5(%i{z-I5^_t~cUPb_jDt*XFz`F(G{yvR3lFg{IKJz(xxHhv%!WcLYeOZ*0*A zoOmemlUVv6D@W*g2fG-UnU$>PBpjddFa>`$FQ3v?C$Mo(ck`n`eeB#DFa)`_wnlMt zt{#o<4Xu0%+e!YWUuN6N#A*4-de+%6R=umk6DL&3dFo<{!5~y!0ZAAqJ?%g%87Y{% zUpJb7xqWbQV!Q)^ugLXjmyz7lpTiHr!iJf$C2ECtit>V7tE{TBvUUfJ2?o;U6Qqq5 z-RE-zub-bSuQh!Z;mPW#Z#VoAyOz*^8_-Ne>?6-WpiyRJIk3}7*SkKz?B)0B#9`4d zEzOW3E?3PXxIi#$0VXaElleRB%vyfBy9YMHl+8~G&^5zIXPp%B^jBX zpO24Bb9?G=QmJ{&Ok%sUFz$aoiGK0%^YpqH&A$cX+}l3H9OX8v;U7L+3`dV;cNePp zu(8nP%>`+66U)=*6mdeEG1g87t%CE}T>`Mn(yWOQI-Wp zB$DQ8h57o(Y_74wPkER9w4$QG)>#OMWC-x`?Ao~mqj=0~1|+iO4P^p)UCym-+Y%1M zt8=VUHIGg1N*Ogw_gPg<{Ft&xrGg$}8Fve_(?&}qE*E?U%b2_dIbBGD<-L3GnZ^#+S|vU`$rYHcAEEQvP0{LmR5hw zqjhb}<=4W(!{Y=`kEg|vk1Dh$^x5(YZlhn&2;{2q=`XO3rRFUmS1daL(Bn?`NgAe~ zS@O9;w$g%hul0V6N3~Mk)bM=xwu!{85jW;vA|iDsJEMal5^uPzewPTGR(RF_#GcQ& zD`*kkI6KTcbh_8L? zc%D_DBEy;S{8VZx(f##vts-I{y^czHe)V-7Gqcej)oYE|$voV=#Mc^lHLrgWri|&d zw6#rB>J9SJe@H}U+!?+Wt#0Zo!69aA(`8du#E|P56V!e1%Y_}CM+zNeEC>XGni@k~ zTGUAZW%mVzg`lq-%H*g$04+UqXo$)ob8&IcDf8*Q8+S)sx6F+ke2Dk(JP+y?3t&xB z+_bkV^?DZX?mp9dpHSpGn|pah;r4KEoKX?Yz1*4&t|NqnrJ~8_##zXZ&dx6#o_KU` z`jItw*8NtV;E;@}_%VPV|HZ^4OHGv&wz9Qx&np|oKlbL|K4LXalS%0@vcCM(x4=6g zBSO|h44oI8Ph|#>R0Q8a*F+q}d48md^Co4)ylgBn5t$@YKWl+=xh(~^{>R!ah8t_{ z3fTVw6d{0~msupie5Xa(-K+~z#9@;83*G(wX+Nxz_{f;~Pn+{7_3J3&M3ch#E&V~| zz(UUC*EqjjsGLz%;fG5)5y8k49s1R%izG7Acxa@h;9QN?yQj@H0c+6fc;=-%XcEL| zl&UOx2VV^;<=ys?kJPs{Gyfv2EqoMkQs1?Fetx&%^2H?mLd025_a3f|)s=n{VW?g|{HAf+^Wp4m8oHz)?z&k$ao|+F#LbYpBf8mg16- zCL=0y)OmfMJi)(ln&19gSm;-$=@C$x*G6z$k8PKbz*S{Zh-+#l!Kme6qzS4fG0A0Z z(ZLH73lB(eGTWl1 z?GTlc5&<=-ao+2!F?!b)hMyX?^)K%h`hBH!*y|q1kTdd`kg6QkA7)gj)Q_$=j;>CF zXV=Ffuc!zVE%Ir7j~3B_K*hQ5y!6FkZ9l3uGl!+D2E$1lljiyN{{ z$0HHf#B%NRO|MJR{w(K_)h$!XMay0B-(zx~QG9FFU2*k)F_i4=efioFk&ir#D7}=B z;2`p;I=0SIOBsOSWWlhiosFp*A8KBZcYUqyJg?lm?)K~4g>-Onm&sJ(!>8SN$@TT> zHTAt+TO}o|58a|!11o3CU6O)tWYgF$JF}n{A<@YEB1#B&XeoY6+t~On3}4g2z&wyr zTj(Awq47RIdz^&YmAt%UG9KJd^}6{tUY6=V;L2vciQSTJqru1em`vG^XfJ(f26frxuCuSq1lc1M#|Dh#oiISMtYD_EOHa3N+i*?a zk=Tbhba8H&is!Hx+!jel?47Ge6okywtE`M4=diG*6)LqhSQ2(f&5l2V_EA89jM*gC z{HC3oI59DcJ?`V#IKMbKYKYqY+#0|=(1Sy9?8^^4yOp=5WpT+*BHB}GXUzdgu)od^ zYP_Z6Lr%jbGiBScXBquA&Q%|(K4b|ejGxYH`X~c>1ruj!bGoy2w9rffbE4c{P=LvB zhWBZ5wV-g+IumV`I2uPJw{?#wQTir>)!{9jcJC-{*R#Cx|8O8^E%nUj+ODQa=`hg zB(&J_A6Nb)zOQP^ErD7Q8wkkCj10^3C*$y?Cyz$gAka8CaLC_iZ|TS0yFnIYvbo^1*dfhOoy!~=ofs)z6 zHq&ja0aHaG`qAOh(Bz+SnIs2;qj~z{N#0!F@MMkpa`&&Nc1|R{=XVY-Gd$%4`RME} z^e~U;f)J5b?~MKx8D60vAizdeQBh&Xcub$xzvRD;GjTqc2VG`H<%89un2=2j7=Rth zl~%(Isik1(B-eE+?s`;W%14zuGIVHWTxZ>`sGyBhL(!O zn}6#iucp@4P!2RFw=B^fHyaf35OU3z#k7ZRbch`9-7Ux~iryc_At70wH!E=XZWioH z&J+T&#<_N-DV4?yXOG})(+)(?k;Otg>F6HG&gFCAT|PcltHbz*Rxpz1tXbHEU{2ot zIh)GPOfNUVASl}V3WmgcjT9J^D%OrCpHobESklT~06mp?`2~dkGm5G02egIn|Kv~a zFm8I+8(ezF8rLRmy*_N-?8Qy)x-lzBQY_=QoMASffn3r$jby^Z?mQzsI%cjYOYhfAms2eTl z!M%I0ArFU4J?nqD^*cn9fi4muXXbks;))8*(_#n}`?(IglU66_ZeL)w|LD?O!bqP6VH$EI|(5nAt~wV z^71m2oX2b#mnJRk?tJ-EJ4j^*-%ZdCRl%2rn!;iQN0pAo$3@47&b6jPxp4q=2U$6& zin`^|s8=_MLH_A-un{Md23kiDb3C^kN~n3=wP;1*j}n4K&XOYErXaO(^2Sn=V}TUk-vEco@0zw;66+BK9S9zHut{z^*9c;gBb`*m5v zo>9cDzfTq!5gL6?A?@UJ0_rSG9HK5@6#&LN?gGq)Gl+m+01#VDC%>z0DpCHeEI#?` z>)8ujP!LyHKDrA$1pgP$B(b>NC*TmUD2wcz2d2A4SL_pz?n{DjMH_fPitj<+2+)Qi z<^Ox7n*dti1z!fxf^}OO8yho~*lE-nxQ2-}OmCt9Gw=>TFpYf)p9DdAYFONId?ES2 zm^yY$t@N!XusA>;jgs3%Xk4u>H!lnP33|cH*U6lI{kXsm<<-YUAO9?k$A?Eidzk?J zHE_DiRMly&0-6slG)R~C0MTv$769*-{-KO4Zj+GknvRtQ2Hs9X8nFit^VCxK!vhE6 z$4$6K20HMwEk6mOGXiJl|7Lr1%tl2HQ04)-4-igp61cx8GC&}VQpiFzN*3C&NGuS$ zLdgj9h)Ab_f261o(28yXE8e24vMqtzy{E9a_&fM>0878S4`Pm>f50fnB-8&}XLN+1 zeMh;DJ)>Ybzfq;0)4S-!VWL740O8=fhrBq9ujKcf~VsPgrh?E*ftb#dGh;s z

    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 L4c}A0>u~O09w|%< literal 0 HcmV?d00001 diff --git a/modules/hcp-agentserviceconfig.adoc b/modules/hcp-agentserviceconfig.adoc new file mode 100644 index 0000000000..d5539b52f3 --- /dev/null +++ b/modules/hcp-agentserviceconfig.adoc @@ -0,0 +1,124 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc + +:_mod-docs-content-type: PROCEDURE +[id="hcp-agentserviceconfig_{context}"] += Deploying AgentServiceConfig resources + +The `AgentServiceConfig` custom resource is an essential component of the Assisted Service add-on that is part of {mce-short}. It is responsible for bare metal cluster deployment. When the add-on is enabled, you deploy the `AgentServiceConfig` resource to configure the add-on. + +In addition to configuring the `AgentServiceConfig` resource, you need to include additional config maps to ensure that {mce-short} functions properly in a disconnected environment. + +.Procedure + +. Configure the custom registries by adding the following config map, which contains the disconnected details to customize the deployment: ++ +[source,yaml] +---- +apiVersion: v1 +kind: ConfigMap +metadata: + name: custom-registries + namespace: multicluster-engine + labels: + app: assisted-service +data: + ca-bundle.crt: | + -----BEGIN CERTIFICATE----- + -----END CERTIFICATE----- + registries.conf: | + unqualified-search-registries = ["registry.access.redhat.com", "docker.io"] + + [[registry]] + prefix = "" + location = "registry.redhat.io/openshift4" + mirror-by-digest-only = true + + [[registry.mirror]] + location = "registry.dns.base.domain.name:5000/openshift4" <1> + + [[registry]] + prefix = "" + location = "registry.redhat.io/rhacm2" + mirror-by-digest-only = true + # ... + # ... +---- ++ +<1> Replace `dns.base.domain.name` with the DNS base domain name. ++ +The object contains two fields: + +* Custom CAs: This field contains the Certificate Authorities (CAs) that are loaded into the various processes of the deployment. +* Registries: The `Registries.conf` field contains information about images and namespaces that need to be consumed from a mirror registry rather than the original source registry. + +. Configure the Assisted Service by adding the `AssistedServiceConfig` object, as shown in the following example: ++ +[source,yaml] +---- +apiVersion: agent-install.openshift.io/v1beta1 +kind: AgentServiceConfig +metadata: + annotations: + unsupported.agent-install.openshift.io/assisted-service-configmap: assisted-service-config <1> + name: agent + namespace: multicluster-engine +spec: + mirrorRegistryRef: + name: custom-registries <2> + databaseStorage: + storageClassName: lvms-vg1 + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + filesystemStorage: + storageClassName: lvms-vg1 + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 20Gi + osImages: <3> + - cpuArchitecture: x86_64 <4> + openshiftVersion: "4.14" + rootFSUrl: http://registry.dns.base.domain.name:8080/images/rhcos-414.92.202308281054-0-live-rootfs.x86_64.img <5> + url: http://registry.dns.base.domain.name:8080/images/rhcos-414.92.202308281054-0-live.x86_64.iso + version: 414.92.202308281054-0 + - cpuArchitecture: x86_64 + openshiftVersion: "4.15" + rootFSUrl: http://registry.dns.base.domain.name:8080/images/rhcos-415.92.202403270524-0-live-rootfs.x86_64.img + url: http://registry.dns.base.domain.name:8080/images/rhcos-415.92.202403270524-0-live.x86_64.iso + version: 415.92.202403270524-0 +---- ++ +<1> The `metadata.annotations["unsupported.agent-install.openshift.io/assisted-service-configmap"]` annotation references the config map name that the Operator consumes to customize behavior. +<2> The `spec.mirrorRegistryRef.name` annotation points to the config map that contains disconnected registry information that the Assisted Service Operator consumes. This config map adds those resources during the deployment process. +<3> The `spec.osImages` field contains different versions available for deployment by this Operator. This field is mandatory. This example assumes that you already downloaded the `RootFS` and `LiveISO` files. +<4> Add a `cpuArchitecture` subsection for every {product-title} release that you want to deploy. In this example, `cpuArchitecture` subsections are included for 4.14 and 4.15. +<5> In the `rootFSUrl` and `url` fields, replace `dns.base.domain.name` with the DNS base domain name. + +. Deploy all of the objects by concatenating them into a single file and applying them to the management cluster. To do so, enter the following command: ++ +[source,terminal] +---- +$ oc apply -f agentServiceConfig.yaml +---- ++ +The command triggers two pods. ++ +.Example output +[source,terminal] +---- +assisted-image-service-0 1/1 Running 2 11d <1> +assisted-service-668b49548-9m7xw 2/2 Running 5 11d <2> +---- ++ +<1> The `assisted-image-service` pod is responsible for creating the Red Hat Enterprise Linux CoreOS (RHCOS) boot image template, which is customized for each cluster that you deploy. +<2> The `assisted-service` refers to the Operator. + +.Next steps + +Configure TLS certificates by completing the steps in _Configuring TLS certificates for a disconnected installation of {hcp}_. diff --git a/modules/hcp-bm-hosts.adoc b/modules/hcp-bm-hosts.adoc new file mode 100644 index 0000000000..8f2ffe2502 --- /dev/null +++ b/modules/hcp-bm-hosts.adoc @@ -0,0 +1,121 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc + +:_mod-docs-content-type: PROCEDURE +[id="hcp-bm-hosts_{context}"] += Creating bare metal hosts for the hosted cluster + +A _bare metal host_ is an `openshift-machine-api` object that encompasses physical and logical details so that it can be identified by a Metal3 Operator. Those details are associated with other Assisted Service objects, known as _agents_. + +.Prerequisites + +Before you create the bare metal host and destination nodes, you must have the destination machines ready. + +.Procedure + +To create a bare metal host, complete the following steps: + +. Create a YAML file with the following information: ++ +Because you have at least one secret that holds the bare metal host credentials, you need to create at least two objects for each worker node. ++ +[source,yaml] +---- +apiVersion: v1 +kind: Secret +metadata: + name: -worker0-bmc-secret \// <1> + namespace: - \// <2> +data: + password: YWRtaW4= \// <3> + username: YWRtaW4= \// <4> +type: Opaque +# ... +apiVersion: metal3.io/v1alpha1 +kind: BareMetalHost +metadata: + name: -worker0 + namespace: - \// <2> + labels: + infraenvs.agent-install.openshift.io: \// <5> + annotations: + inspect.metal3.io: disabled + bmac.agent-install.openshift.io/hostname: -worker0 \// <6> +spec: + automatedCleaningMode: disabled \// <7> + bmc: + disableCertificateVerification: true \// <8> + address: redfish-virtualmedia://[192.168.126.1]:9000/redfish/v1/Systems/local/-worker0 \// <9> + credentialsName: -worker0-bmc-secret \// <10> + bootMACAddress: aa:aa:aa:aa:02:11 \// <11> + online: true // <12> +---- ++ +<1> Replace `` with your hosted cluster. +<2> Replace `` with your hosted cluster. Replace `` with the name of your hosted cluster namespace. +<3> Specify the password of the baseboard management controller (BMC) in Base64 format. +<4> Specify the user name of the BMC in Base64 format. +<5> Replace `` with your hosted cluster. The `infraenvs.agent-install.openshift.io` field serves as the link between the Assisted Installer and the `BareMetalHost` objects. +<6> Replace `` with your hosted cluster. The `bmac.agent-install.openshift.io/hostname` field represents the node name that is adopted during deployment. +<7> The `automatedCleaningMode` field prevents the node from being erased by the Metal3 Operator. +<8> The `disableCertificateVerification` field is set to `true` to bypass certificate validation from the client. +<9> Replace `` with your hosted cluster. The `address` field denotes the BMC address of the worker node. +<10> Replace `` with your hosted cluster. The `credentialsName` field points to the secret where the user and password credentials are stored. +<11> The `bootMACAddress` field indicates the interface MAC address that the node starts from. +<12> The `online` field defines the state of the node after the `BareMetalHost` object is created. + +. Deploy the `BareMetalHost` object by entering the following command: ++ +[source,terminal] +---- +$ oc apply -f 04-bmh.yaml +---- ++ +During the process, you can view the following output: ++ +* This output indicates that the process is trying to reach the nodes: ++ +.Example output +[source,terminal] +---- +NAMESPACE NAME STATE CONSUMER ONLINE ERROR AGE +clusters-hosted hosted-worker0 registering true 2s +clusters-hosted hosted-worker1 registering true 2s +clusters-hosted hosted-worker2 registering true 2s +---- ++ +* This output indicates that the nodes are starting: ++ +.Example output +[source,terminal] +---- +NAMESPACE NAME STATE CONSUMER ONLINE ERROR AGE +clusters-hosted hosted-worker0 provisioning true 16s +clusters-hosted hosted-worker1 provisioning true 16s +clusters-hosted hosted-worker2 provisioning true 16s +---- ++ +* This output indicates that the nodes started successfully: ++ +.Example output +[source,terminal] +---- +NAMESPACE NAME STATE CONSUMER ONLINE ERROR AGE +clusters-hosted hosted-worker0 provisioned true 67s +clusters-hosted hosted-worker1 provisioned true 67s +clusters-hosted hosted-worker2 provisioned true 67s +---- + +. After the nodes start, notice the agents in the namespace, as shown in this example: ++ +.Example output +[source,terminal] +---- +NAMESPACE NAME CLUSTER APPROVED ROLE STAGE +clusters-hosted aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa0411 true auto-assign +clusters-hosted aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa0412 true auto-assign +clusters-hosted aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa0413 true auto-assign +---- ++ +The agents represent nodes that are available for installation. To assign the nodes to a hosted cluster, scale up the node pool. \ No newline at end of file diff --git a/modules/hcp-dc-addon.adoc b/modules/hcp-dc-addon.adoc new file mode 100644 index 0000000000..a3d50b6ba3 --- /dev/null +++ b/modules/hcp-dc-addon.adoc @@ -0,0 +1,41 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-dc-monitor.adoc + +:_mod-docs-content-type: PROCEDURE +[id="hcp-dc-addon_{context}"] += Configuring the hypershift-addon managed cluster add-on to run on an infrastructure node + +By default, no node placement preference is specified for the `hypershift-addon` managed cluster add-on. Consider running the add-ons on the infrastructure nodes, because by doing so, you can prevent incurring billing costs against subscription counts and separate maintenance and management tasks. + +.Procedure + +. Log in to the hub cluster. + +. Open the `hypershift-addon-deploy-config` add-on deployment configuration specification for editing by entering the following command: ++ +[source,terminal] +---- +$ oc edit addondeploymentconfig hypershift-addon-deploy-config -n multicluster-engine +---- + +. Add the `nodePlacement` field to the specification, as shown in the following example: ++ +[source,yaml] +---- +apiVersion: addon.open-cluster-management.io/v1alpha1 +kind: AddOnDeploymentConfig +metadata: + name: hypershift-addon-deploy-config + namespace: multicluster-engine +spec: + nodePlacement: + nodeSelector: + node-role.kubernetes.io/infra: "" + tolerations: + - effect: NoSchedule + key: node-role.kubernetes.io/infra + operator: Exists +---- + +. Save the changes. The `hypershift-addon` managed cluster add-on is deployed on an infrastructure node for new and existing managed clusters. \ No newline at end of file diff --git a/modules/hcp-dc-apply-objects.adoc b/modules/hcp-dc-apply-objects.adoc new file mode 100644 index 0000000000..cb5e7be60e --- /dev/null +++ b/modules/hcp-dc-apply-objects.adoc @@ -0,0 +1,63 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-virt.adoc + +:_mod-docs-content-type: PROCEDURE +[id="hcp-dc-apply-objects_{context}"] += Applying objects in the management cluster + +After the mirroring process is complete, you need to apply two objects in the management cluster: + +* `ImageContentSourcePolicy` (ICSP) or `ImageDigestMirrorSet` (IDMS) +* Catalog sources + +When you use the `oc-mirror` tool, the output artifacts are in a folder named `oc-mirror-workspace/results-XXXXXX/`. + +The ICSP or IDMS initiates a `MachineConfig` change that does not restart your nodes but restarts the kubelet on each of them. After the nodes are marked as `READY`, you need to apply the newly generated catalog sources. + +The catalog sources initiate actions in the `openshift-marketplace` Operator, such as downloading the catalog image and processing it to retrieve all the `PackageManifests` that are included in that image. + +.Procedure + +. To check the new sources, run the following command by using the new `CatalogSource` as a source: ++ +[source,terminal] +---- +$ oc get packagemanifest +---- + +. To apply the artifacts, complete the following steps: + +.. Create the ICSP or IDMS artifacts by entering the following command: ++ +[source,terminal] +---- +$ oc apply -f oc-mirror-workspace/results-XXXXXX/imageContentSourcePolicy.yaml +---- + +.. Wait for the nodes to become ready, and then enter the following command: ++ +[source,terminal] +---- +$ oc apply -f catalogSource-XXXXXXXX-index.yaml +---- + +. Mirror the OLM catalogs and configure the hosted cluster to point to the mirror. ++ +When you use the `management` (default) OLMCatalogPlacement mode, the image stream that is used for OLM catalogs is not automatically amended with override information from the ICSP on the management cluster. ++ +.. If the OLM catalogs are properly mirrored to an internal registry by using the original name and tag, add the `hypershift.openshift.io/olm-catalogs-is-registry-overrides` annotation to the `HostedCluster` resource. The format is `"sr1=dr1,sr2=dr2"`, where the source registry string is a key and the destination registry is a value. + +.. To bypass the OLM catalog image stream mechanism, use the following four annotations on the `HostedCluster` resource to directly specify the addresses of the four images to use for OLM Operator catalogs: + +** `hypershift.openshift.io/certified-operators-catalog-image` +** `hypershift.openshift.io/community-operators-catalog-image` +** `hypershift.openshift.io/redhat-marketplace-catalog-image` +** `hypershift.openshift.io/redhat-operators-catalog-image` + +In this case, the image stream is not created, and you must update the value of the annotations when the internal mirror is refreshed to pull in Operator updates. + +.Next steps + +Deploy the {mce-short} by completing the steps in _Deploying {mce-short} for a disconnected installation of {hcp}_. \ No newline at end of file diff --git a/modules/hcp-dc-bm-arch.adoc b/modules/hcp-dc-bm-arch.adoc new file mode 100644 index 0000000000..a39b669d11 --- /dev/null +++ b/modules/hcp-dc-bm-arch.adoc @@ -0,0 +1,70 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc + +:_mod-docs-content-type: CONCEPT +[id="hcp-dc-bm-arch_{context}"] += Disconnected environment architecture for bare metal + +The following diagram illustrates an example architecture of a disconnected environment: + +image:../images/489_RHACM_HyperShift_on_bare_metal_1223.png[Disconnected architecture diagram] + +. Configure infrastructure services, including the registry certificate deployment with TLS support, web server, and DNS, to ensure that the disconnected deployment works. +. Create a config map in the `openshift-config` namespace. In this example, the config map is named `registry-config`. The content of the config map is the Registry CA certificate. The data field of the config map must contain the following key/value: + +* Key: `..`, for example, `registry.hypershiftdomain.lab..5000:`. Ensure that you place `..` after the registry DNS domain name when you specify a port. +* Value: The certificate content ++ +For more information about creating a config map, see _Configuring TLS certificates for a disconnected installation of {hcp}_. +. Modify the `images.config.openshift.io` custom resource (CR) specification and adds a new field named `additionalTrustedCA` with a value of `name: registry-config`. +. Create a config map that contains two data fields. One field contains the `registries.conf` file in `RAW` format, and the other field contains the Registry CA and is named `ca-bundle.crt`. The config map belongs to the `multicluster-engine` namespace, and the config map name is referenced in other objects. For an example of a config map, see the following sample configuration: ++ +[source,yaml] +---- +apiVersion: v1 +kind: ConfigMap +metadata: + name: custom-registries + namespace: multicluster-engine + labels: + app: assisted-service +data: + ca-bundle.crt: | + -----BEGIN CERTIFICATE----- + # ... + -----END CERTIFICATE----- + registries.conf: | + unqualified-search-registries = ["registry.access.redhat.com", "docker.io"] + + [[registry]] + prefix = "" + location = "registry.redhat.io/openshift4" + mirror-by-digest-only = true + + [[registry.mirror]] + location = "registry.ocp-edge-cluster-0.qe.lab.redhat.com:5000/openshift4" + + [[registry]] + prefix = "" + location = "registry.redhat.io/rhacm2" + mirror-by-digest-only = true +# ... +# ... +---- + +. In the {mce-short} namespace, you create the `multiclusterengine` CR, which enables both the Agent and `hypershift-addon` add-ons. The {mce-short} namespace must contain the config maps to modify behavior in a disconnected deployment. The namespace also contains the `multicluster-engine`, `assisted-service`, and `hypershift-addon-manager` pods. +. Create the following objects that are necessary to deploy the hosted cluster: + +** Secrets: Secrets contain the pull secret, SSH key, and etcd encryption key. +** Config map: The config map contains the CA certificate of the private registry. +** `HostedCluster`: The `HostedCluster` resource defines the configuration of the cluster that the user intends to create. +** `NodePool`: The `NodePool` resource identifies the node pool that references the machines to use for the data plane. + +. After you create the hosted cluster objects, the HyperShift Operator establishes the `HostedControlPlane` namespace to accommodate control plane pods. The namespace also hosts components such as Agents, bare metal hosts (BMHs), and the `InfraEnv` resource. Later, you create the `InfraEnv` resource, and after ISO creation, you create the BMHs and their secrets that contain baseboard management controller (BMC) credentials. + +. The Metal3 Operator in the `openshift-machine-api` namespace inspects the new BMHs. Then, the Metal3 Operator tries to connect to the BMCs to start them by using the configured `LiveISO` and `RootFS` values that are specified through the `AgentServiceConfig` CR in the {mce-short} namespace. + +. After the worker nodes of the `HostedCluster` resource are started, an Agent container is started. This agent establishes contact with the Assisted Service, which orchestrates the actions to complete the deployment. Initially, you need to scale the `NodePool` resource to the number of worker nodes for the `HostedCluster` resource. The Assisted Service manages the remaining tasks. + +. At this point, you wait for the deployment process to be completed. \ No newline at end of file diff --git a/modules/hcp-dc-bm-reqs.adoc b/modules/hcp-dc-bm-reqs.adoc new file mode 100644 index 0000000000..c175ec3846 --- /dev/null +++ b/modules/hcp-dc-bm-reqs.adoc @@ -0,0 +1,20 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc + +:_mod-docs-content-type: CONCEPT +[id="hcp-dc-bm-reqs_{context}"] += Requirements to deploy {hcp} on bare metal in a disconnected environment + +To configure {hcp} in a disconnected environment, you must meet the following prerequisites: + +- CPU: The number of CPUs provided determines how many hosted clusters can run concurrently. In general, use 16 CPUs for each node for 3 nodes. For minimal development, you can use 12 CPUs for each node for 3 nodes. +- Memory: The amount of RAM affects how many hosted clusters can be hosted. Use 48 GB of RAM for each node. For minimal development, 18 GB of RAM might be sufficient. +- Storage: Use SSD storage for {mce-short}. +* Management cluster: 250 GB. +* Registry: The storage needed depends on the number of releases, operators, and images that are hosted. An acceptable number might be 500 GB, preferably separated from the disk that hosts the hosted cluster. +* Web server: The storage needed depends on the number of ISOs and images that are hosted. An acceptable number might be 500 GB. +- Production: For a production environment, separate the management cluster, the registry, and the web server on different disks. This example illustrates a possible configuration for production: +* Registry: 2 TB +* Management cluster: 500 GB +* Web server: 2 TB \ No newline at end of file diff --git a/modules/hcp-dc-extract.adoc b/modules/hcp-dc-extract.adoc new file mode 100644 index 0000000000..33c4e49d0c --- /dev/null +++ b/modules/hcp-dc-extract.adoc @@ -0,0 +1,26 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc + +:_mod-docs-content-type: CONCEPT +[id="hcp-dc-extract_{context}"] += Extracting the release image digest + +You can extract the {product-title} release image digest by using the tagged image. + +.Procedure + +* Obtain the image digest by running the following command: ++ +[source,terminal] +---- +$ oc adm release info | grep "Pull From" +---- ++ +Replace `` with the tagged image for the supported {product-title} version, for example, `quay.io/openshift-release-dev/ocp-release:4.14.0-x8_64`. ++ +.Example output ++ +---- +Pull From: quay.io/openshift-release-dev/ocp-release@sha256:69d1292f64a2b67227c5592c1a7d499c7d00376e498634ff8e1946bc9ccdddfe +---- \ No newline at end of file diff --git a/modules/hcp-dc-hypervisor.adoc b/modules/hcp-dc-hypervisor.adoc new file mode 100644 index 0000000000..88ef593a41 --- /dev/null +++ b/modules/hcp-dc-hypervisor.adoc @@ -0,0 +1,170 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc + +:_mod-docs-content-type: PROCEDURE +[id="hcp-dc-hypervisor_{context}"] += Configuring the hypervisor for a disconnected installation of {hcp} + +The following information applies to virtual machine environments only. + +.Procedure + +. To deploy a virtual management cluster, access the required packages by entering the following command: ++ +[source,terminal] +---- +$ sudo dnf install dnsmasq radvd vim golang podman bind-utils net-tools httpd-tools tree htop strace tmux -y +---- + +. Enable and start the Podman service by entering the following command: ++ +[source,terminal] +---- +$ systemctl enable --now podman +---- + +. To use `kcli` to deploy the management cluster and other virtual components, install and configure the hypervisor by entering the following commands: ++ +[source,terminal] +---- +$ sudo yum -y install libvirt libvirt-daemon-driver-qemu qemu-kvm +---- ++ +[source,terminal] +---- +$ sudo usermod -aG qemu,libvirt $(id -un) +---- ++ +[source,terminal] +---- +$ sudo newgrp libvirt +---- ++ +[source,terminal] +---- +$ sudo systemctl enable --now libvirtd +---- ++ +[source,terminal] +---- +$ sudo dnf -y copr enable karmab/kcli +---- ++ +[source,terminal] +---- +$ sudo dnf -y install kcli +---- ++ +[source,terminal] +---- +$ sudo kcli create pool -p /var/lib/libvirt/images default +---- ++ +[source,terminal] +---- +$ kcli create host kvm -H 127.0.0.1 local +---- ++ +[source,terminal] +---- +$ sudo setfacl -m u:$(id -un):rwx /var/lib/libvirt/images +---- ++ +[source,terminal] +---- +$ kcli create network -c 192.168.122.0/24 default +---- + +. Enable the network manager dispatcher to ensure that virtual machines can resolve the required domains, routes, and registries. To enable the network manager dispatcher, in the `/etc/NetworkManager/dispatcher.d/` directory, create a script named `forcedns` that contains the following content: ++ +[source,bash] +---- +#!/bin/bash + +export IP="192.168.126.1" <1> +export BASE_RESOLV_CONF="/run/NetworkManager/resolv.conf" + +if ! [[ `grep -q "$IP" /etc/resolv.conf` ]]; then +export TMP_FILE=$(mktemp /etc/forcedns_resolv.conf.XXXXXX) +cp $BASE_RESOLV_CONF $TMP_FILE +chmod --reference=$BASE_RESOLV_CONF $TMP_FILE +sed -i -e "s/dns.base.domain.name//" -e "s/search /& dns.base.domain.name /" -e "0,/nameserver/s/nameserver/& $IP\n&/" $TMP_FILE <2> +mv $TMP_FILE /etc/resolv.conf +fi +echo "ok" +---- ++ +<1> Modify the `IP` variable to point to the IP address of the hypervisor interface that hosts the {product-title} management cluster. +<2> Replace `dns.base.domain.name` with the DNS base domain name. + +. After you create the file, add permissions by entering the following command: ++ +[source,terminal] +---- +$ chmod 755 /etc/NetworkManager/dispatcher.d/forcedns +---- + +. Run the script and verify that the output returns `ok`. + +. Configure `ksushy` to simulate baseboard management controllers (BMCs) for the virtual machines. Enter the following commands: ++ +[source,terminal] +---- +$ sudo dnf install python3-pyOpenSSL.noarch python3-cherrypy -y +---- ++ +[source,terminal] +---- +$ kcli create sushy-service --ssl --ipv6 --port 9000 +---- ++ +[source,terminal] +---- +$ sudo systemctl daemon-reload +---- ++ +[source,terminal] +---- +$ systemctl enable --now ksushy +---- + +. Test whether the service is correctly functioning by entering the following command: ++ +[source,terminal] +---- +$ systemctl status ksushy +---- + +. If you are working in a development environment, configure the hypervisor system to allow various types of connections through different virtual networks within the environment. ++ +[NOTE] +==== +If you are working in a production environment, you must establish proper rules for the `firewalld` service and configure SELinux policies to maintain a secure environment. +==== + +* For SELinux, enter the following command: ++ +[source,terminal] +---- +$ sed -i s/^SELINUX=.*$/SELINUX=permissive/ /etc/selinux/config; setenforce 0 +---- + +* For `firewalld`, enter the following command: ++ +[source,terminal] +---- +$ systemctl disable --now firewalld +---- + +* For `libvirtd`, enter the following commands: ++ +[source,terminal] +---- +$ systemctl restart libvirtd +---- ++ +[source,terminal] +---- +$ systemctl enable --now libvirtd +---- \ No newline at end of file diff --git a/modules/hcp-dc-image-mirror.adoc b/modules/hcp-dc-image-mirror.adoc new file mode 100644 index 0000000000..9a0a9eb127 --- /dev/null +++ b/modules/hcp-dc-image-mirror.adoc @@ -0,0 +1,108 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-virt.adoc + +:_mod-docs-content-type: PROCEDURE +[id="hcp-dc-image-mirror_{context}"] += Configuring image mirroring for {hcp} in a disconnected environment + +Image mirroring is the process of fetching images from external registries, such as `registry.redhat.com` or `quay.io`, and storing them in your private registry. + +In the following procedures, the `oc-mirror` tool is used, which is a binary that uses the `ImageSetConfiguration` object. In the file, you can specify the following information: + +* The {product-title} versions to mirror. The versions are in `quay.io`. +* The additional Operators to mirror. Select packages individually. +* The extra images that you want to add to the repository. + +.Prerequisites + +Ensure that the registry server is running before you start the mirroring process. + +.Procedure + +To configure image mirroring, complete the following steps: + +. Ensure that your `${HOME}/.docker/config.json` file is updated with the registries that you are going to mirror from and with the private registry that you plan to push the images to. + +. By using the following example, create an `ImageSetConfiguration` object to use for mirroring. Replace values as needed to match your environment: ++ +[source,yaml] +---- +apiVersion: mirror.openshift.io/v1alpha2 +kind: ImageSetConfiguration +storageConfig: + registry: + imageURL: registry.:5000/openshift/release/metadata:latest <1> +mirror: + platform: + channels: + - name: candidate-4.17 + minVersion: 4.x.y-build <2> + maxVersion: 4.x.y-build <2> + type: ocp + kubeVirtContainer: true <3> + graph: true + additionalImages: + - name: quay.io/karmab/origin-keepalived-ipfailover:latest + - name: quay.io/karmab/kubectl:latest + - name: quay.io/karmab/haproxy:latest + - name: quay.io/karmab/mdns-publisher:latest + - name: quay.io/karmab/origin-coredns:latest + - name: quay.io/karmab/curl:latest + - name: quay.io/karmab/kcli:latest + - name: quay.io/user-name/trbsht:latest + - name: quay.io/user-name/hypershift:BMSelfManage-v4.17 + - name: registry.redhat.io/openshift4/ose-kube-rbac-proxy:v4.10 + operators: + - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.17 + packages: + - name: lvms-operator + - name: local-storage-operator + - name: odf-csi-addons-operator + - name: odf-operator + - name: mcg-operator + - name: ocs-operator + - name: metallb-operator + - name: kubevirt-hyperconverged <4> +---- ++ +<1> Replace `` with the DNS base domain name. +<2> Replace `4.x.y-build` with the supported {product-title} version you want to use. +<3> Set this optional flag to `true` if you want to also mirror the container disk image for the {op-system-first} boot image for the KubeVirt provider. This flag is available with oc-mirror v2 only. +<4> For deployments that use the KubeVirt provider, include this line. + +. Start the mirroring process by entering the following command: ++ +[source,terminal] +---- +$ oc-mirror --v2 --config imagesetconfig.yaml docker://${REGISTRY} +---- ++ +After the mirroring process is finished, you have a new folder named `oc-mirror-workspace/results-XXXXXX/`, which contains the IDMS and the catalog sources to apply on the hosted cluster. + +. Mirror the nightly or CI versions of {product-title} by configuring the `imagesetconfig.yaml` file as follows: ++ +[source,yaml] +---- +apiVersion: mirror.openshift.io/v2alpha1 +kind: ImageSetConfiguration +mirror: + platform: + graph: true + release: registry.ci.openshift.org/ocp/release:4.x.y-build <1> + kubeVirtContainer: true <2> +# ... +---- ++ +<1> Replace `4.x.y-build` with the supported {product-title} version you want to use. +<2> Set this optional flag to `true` if you want to also mirror the container disk image for the {op-system-first} boot image for the KubeVirt provider. This flag is available with oc-mirror v2 only. + +. Apply the changes to the file by entering the following command: ++ +[source,terminal] +---- +$ oc-mirror --v2 --config imagesetconfig.yaml docker://${REGISTRY} +---- + +. Mirror the latest {mce-short} images by following the steps in link:https://docs.redhat.com/en/documentation/red_hat_advanced_cluster_management_for_kubernetes/2.11/html/clusters/cluster_mce_overview#install-on-disconnected-networks[Install on disconnected networks]. \ No newline at end of file diff --git a/modules/hcp-dc-infraenv.adoc b/modules/hcp-dc-infraenv.adoc new file mode 100644 index 0000000000..3d34f87716 --- /dev/null +++ b/modules/hcp-dc-infraenv.adoc @@ -0,0 +1,46 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc + +:_mod-docs-content-type: PROCEDURE +[id="hcp-dc-infraenv_{context}"] += Creating an InfraEnv resource for the hosted cluster + +The `InfraEnv` resource is an Assisted Service object that includes essential details, such as the `pullSecretRef` and the `sshAuthorizedKey`. Those details are used to create the Red Hat Enterprise Linux CoreOS (RHCOS) boot image that is customized for the hosted cluster. + +You can host more than one `InfraEnv` resource, and each one can adopt certain types of hosts. For example, you might want to divide your server farm between a host that has greater RAM capacity. + +.Procedure + +. Create a YAML file with the following information about the `InfraEnv` resource, replacing values as necessary: ++ +[source,yaml] +---- +apiVersion: agent-install.openshift.io/v1beta1 +kind: InfraEnv +metadata: + name: + namespace: - <1> <2> +spec: + pullSecretRef: <3> + name: pull-secret + sshAuthorizedKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDk7ICaUE+/k4zTpxLk4+xFdHi4ZuDi5qjeF52afsNkw0w/glILHhwpL5gnp5WkRuL8GwJuZ1VqLC9EKrdmegn4MrmUlq7WTsP0VFOZFBfq2XRUxo1wrRdor2z0Bbh93ytR+ZsDbbLlGngXaMa0Vbt+z74FqlcajbHTZ6zBmTpBVq5RHtDPgKITdpE1fongp7+ZXQNBlkaavaqv8bnyrP4BWahLP4iO9/xJF9lQYboYwEEDzmnKLMW1VtCE6nJzEgWCufACTbxpNS7GvKtoHT/OVzw8ArEXhZXQUS1UY8zKsX2iXwmyhw5Sj6YboA8WICs4z+TrFP89LmxXY0j6536TQFyRz1iB4WWvCbH5n6W+ABV2e8ssJB1AmEy8QYNwpJQJNpSxzoKBjI73XxvPYYC/IjPFMySwZqrSZCkJYqQ023ySkaQxWZT7in4KeMu7eS2tC+Kn4deJ7KwwUycx8n6RHMeD8Qg9flTHCv3gmab8JKZJqN3hW1D378JuvmIX4V0= <4> +---- ++ +<1> Replace `` with your hosted cluster. +<2> Replace `` with the name of your hosted cluster namespace. +<3> The `pullSecretRef` refers to the config map reference in the same namespace as the `InfraEnv`, where the pull secret is used. +<4> The `sshAuthorizedKey` represents the SSH public key that is placed in the boot image. The SSH key allows access to the worker nodes as the `core` user. + +. Create the `InfraEnv` resource by entering the following command: ++ +[source,terminal] +---- +$ oc apply -f 03-infraenv.yaml +---- ++ +.Example output +---- +NAMESPACE NAME ISO CREATED AT +clusters-hosted-dual hosted 2023-09-11T15:14:10Z +---- \ No newline at end of file diff --git a/modules/hcp-dc-mgmt-cluster.adoc b/modules/hcp-dc-mgmt-cluster.adoc new file mode 100644 index 0000000000..f53e148643 --- /dev/null +++ b/modules/hcp-dc-mgmt-cluster.adoc @@ -0,0 +1,147 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc + +:_mod-docs-content-type: PROCEDURE +[id="hcp-dc-mgmt-cluster_{context}"] += Setting up a management cluster for {hcp} in a disconnected environment + +To set up an {product-title} management cluster, you can use dev-scripts, or if you are based on virtual machines, you can use the `kcli` tool. The following instructions are specific to the `kcli` tool. + +.Procedure + +. Ensure that the right networks are prepared for use in the hypervisor. The networks will host both the management and hosted clusters. Enter the following `kcli` command: ++ +[source,terminal] +---- +$ kcli create network -c 192.168.126.0/24 -P dhcp=false -P dns=false -d 2620:52:0:1306::0/64 --domain dns.base.domain.name --nodhcp dual +---- ++ +where: + +* `-c` specifies the CIDR for the network. +* `-P dhcp=false` configures the network to disable the DHCP, which is handled by the `dnsmasq` that you configured. +* `-P dns=false` configures the network to disable the DNS, which is also handled by the `dnsmasq` that you configured. +* `--domain` sets the domain to search. +* `dns.base.domain.name` is the DNS base domain name. +* `dual` is the name of the network that you are creating. + +. After the network is created, review the following output: ++ +[source,terminal] +---- +[root@hypershiftbm ~]# kcli list network +Listing Networks... ++---------+--------+---------------------+-------+------------------+------+ +| Network | Type | Cidr | Dhcp | Domain | Mode | ++---------+--------+---------------------+-------+------------------+------+ +| default | routed | 192.168.122.0/24 | True | default | nat | +| ipv4 | routed | 2620:52:0:1306::/64 | False | dns.base.domain.name | nat | +| ipv4 | routed | 192.168.125.0/24 | False | dns.base.domain.name | nat | +| ipv6 | routed | 2620:52:0:1305::/64 | False | dns.base.domain.name | nat | ++---------+--------+---------------------+-------+------------------+------+ +---- + ++ +[source,terminal] +---- +[root@hypershiftbm ~]# kcli info network ipv6 +Providing information about network ipv6... +cidr: 2620:52:0:1306::/64 +dhcp: false +domain: dns.base.domain.name +mode: nat +plan: kvirt +type: routed +---- + +. Ensure that the pull secret and `kcli` plan files are in place so that you can deploy the {product-title} management cluster: + +.. Confirm that the pull secret is in the same folder as the `kcli` plan, and that the pull secret file is named `openshift_pull.json`. + +.. Add the `kcli` plan, which contains the {product-title} definition, in the `mgmt-compact-hub-dual.yaml` file. Ensure that you update the file contents to match your environment: ++ +[source,yaml] +---- +plan: hub-dual +force: true +version: stable +tag: "4.x.y-x86_64" <1> +cluster: "hub-dual" +dualstack: true +domain: dns.base.domain.name +api_ip: 192.168.126.10 +ingress_ip: 192.168.126.11 +service_networks: +- 172.30.0.0/16 +- fd02::/112 +cluster_networks: +- 10.132.0.0/14 +- fd01::/48 +disconnected_url: registry.dns.base.domain.name:5000 +disconnected_update: true +disconnected_user: dummy +disconnected_password: dummy +disconnected_operators_version: v4.14 +disconnected_operators: +- name: metallb-operator +- name: lvms-operator + channels: + - name: stable-4.14 +disconnected_extra_images: +- quay.io/user-name/trbsht:latest +- quay.io/user-name/hypershift:BMSelfManage-v4.14-rc-v3 +- registry.redhat.io/openshift4/ose-kube-rbac-proxy:v4.10 +dualstack: true +disk_size: 200 +extra_disks: [200] +memory: 48000 +numcpus: 16 +ctlplanes: 3 +workers: 0 +manifests: extra-manifests +metal3: true +network: dual +users_dev: developer +users_devpassword: developer +users_admin: admin +users_adminpassword: admin +metallb_pool: dual-virtual-network +metallb_ranges: +- 192.168.126.150-192.168.126.190 +metallb_autoassign: true +apps: +- users +- lvms-operator +- metallb-operator +vmrules: +- hub-bootstrap: + nets: + - name: ipv6 + mac: aa:aa:aa:aa:10:07 +- hub-ctlplane-0: + nets: + - name: ipv6 + mac: aa:aa:aa:aa:10:01 +- hub-ctlplane-1: + nets: + - name: ipv6 + mac: aa:aa:aa:aa:10:02 +- hub-ctlplane-2: + nets: + - name: ipv6 + mac: aa:aa:aa:aa:10:03 +---- ++ +<1> Replace `4.x.y` with the supported {product-title} version you want to use. + +. To provision the management cluster, enter the following command: ++ +[source,terminal] +---- +$ kcli create cluster openshift --pf mgmt-compact-hub-dual.yaml +---- + +.Next steps + +Next, configure the web server. \ No newline at end of file diff --git a/modules/hcp-dc-registry.adoc b/modules/hcp-dc-registry.adoc new file mode 100644 index 0000000000..e099586207 --- /dev/null +++ b/modules/hcp-dc-registry.adoc @@ -0,0 +1,121 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc + +:_mod-docs-content-type: PROCEDURE +[id="hcp-dc-registry_{context}"] += Deploying a registry for {hcp} in a disconnected environment + +For development environments, deploy a small, self-hosted registry by using a Podman container. For production environments, deploy an enterprise-hosted registry, such as {quay}, Nexus, or Artifactory. + +.Procedure + +To deploy a small registry by using Podman, complete the following steps: + +. As a privileged user, access the `${HOME}` directory and create the following script: ++ +[source,bash] +---- +#!/usr/bin/env bash + +set -euo pipefail + +PRIMARY_NIC=$(ls -1 /sys/class/net | grep -v podman | head -1) +export PATH=/root/bin:$PATH +export PULL_SECRET="/root/baremetal/hub/openshift_pull.json" <1> + +if [[ ! -f $PULL_SECRET ]];then + echo "Pull Secret not found, exiting..." + exit 1 +fi + +dnf -y install podman httpd httpd-tools jq skopeo libseccomp-devel +export IP=$(ip -o addr show $PRIMARY_NIC | head -1 | awk '{print $4}' | cut -d'/' -f1) +REGISTRY_NAME=registry.$(hostname --long) +REGISTRY_USER=dummy +REGISTRY_PASSWORD=dummy +KEY=$(echo -n $REGISTRY_USER:$REGISTRY_PASSWORD | base64) +echo "{\"auths\": {\"$REGISTRY_NAME:5000\": {\"auth\": \"$KEY\", \"email\": \"sample-email@domain.ltd\"}}}" > /root/disconnected_pull.json +mv ${PULL_SECRET} /root/openshift_pull.json.old +jq ".auths += {\"$REGISTRY_NAME:5000\": {\"auth\": \"$KEY\",\"email\": \"sample-email@domain.ltd\"}}" < /root/openshift_pull.json.old > $PULL_SECRET +mkdir -p /opt/registry/{auth,certs,data,conf} +cat < /opt/registry/conf/config.yml +version: 0.1 +log: + fields: + service: registry +storage: + cache: + blobdescriptor: inmemory + filesystem: + rootdirectory: /var/lib/registry + delete: + enabled: true +http: + addr: :5000 + headers: + X-Content-Type-Options: [nosniff] +health: + storagedriver: + enabled: true + interval: 10s + threshold: 3 +compatibility: + schema1: + enabled: true +EOF +openssl req -newkey rsa:4096 -nodes -sha256 -keyout /opt/registry/certs/domain.key -x509 -days 3650 -out /opt/registry/certs/domain.crt -subj "/C=US/ST=Madrid/L=San Bernardo/O=Karmalabs/OU=Guitar/CN=$REGISTRY_NAME" -addext "subjectAltName=DNS:$REGISTRY_NAME" +cp /opt/registry/certs/domain.crt /etc/pki/ca-trust/source/anchors/ +update-ca-trust extract +htpasswd -bBc /opt/registry/auth/htpasswd $REGISTRY_USER $REGISTRY_PASSWORD +podman create --name registry --net host --security-opt label=disable --replace -v /opt/registry/data:/var/lib/registry:z -v /opt/registry/auth:/auth:z -v /opt/registry/conf/config.yml:/etc/docker/registry/config.yml -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry" -e "REGISTRY_HTTP_SECRET=ALongRandomSecretForRegistry" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd -v /opt/registry/certs:/certs:z -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key docker.io/library/registry:latest +[ "$?" == "0" ] || !! +systemctl enable --now registry +---- ++ +<1> Replace the location of the `PULL_SECRET` with the appropriate location for your setup. + +. Name the script file `registry.sh` and save it. When you run the script, it pulls in the following information: ++ +* The registry name, based on the hypervisor hostname +* The necessary credentials and user access details + +. Adjust permissions by adding the execution flag as follows: ++ +[source,terminal] +---- +$ chmod u+x ${HOME}/registry.sh +---- + +. To run the script without any parameters, enter the following command: ++ +[source,terminal] +---- +$ ${HOME}/registry.sh +---- ++ +The script starts the server. The script uses a `systemd` service for management purposes. + +. If you need to manage the script, you can use the following commands: ++ +[source,terminal] +---- +$ systemctl status +---- ++ +[source,terminal] +---- +$ systemctl start +---- ++ +[source,terminal] +---- +$ systemctl stop +---- + +The root folder for the registry is in the `/opt/registry` directory and contains the following subdirectories: + +* `certs` contains the TLS certificates. +* `auth` contains the credentials. +* `data` contains the registry images. +* `conf` contains the registry configuration. \ No newline at end of file diff --git a/modules/hcp-dc-scale-np.adoc b/modules/hcp-dc-scale-np.adoc new file mode 100644 index 0000000000..c85d81e73b --- /dev/null +++ b/modules/hcp-dc-scale-np.adoc @@ -0,0 +1,47 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc + +:_mod-docs-content-type: PROCEDURE +[id="hcp-dc-scale-np_{context}"] += Scaling up the node pool + +After you create the bare metal hosts, their statuses change from `Registering` to `Provisioning` to `Provisioned`. The nodes start with the `LiveISO` of the agent and a default pod that is named `agent`. That agent is responsible for receiving instructions from the Assisted Service Operator to install the {product-title} payload. + +.Procedure + +. To scale up the node pool, enter the following command: ++ +[source,terminal] +---- +$ oc -n scale nodepool --replicas 3 +---- ++ +where: + +* `` is the name of the hosted cluster namespace. +* `` is the name of the hosted cluster. + +. After the scaling process is complete, notice that the agents are assigned to a hosted cluster: ++ +.Example output +[source,terminal] +---- +NAMESPACE NAME CLUSTER APPROVED ROLE STAGE +clusters-hosted aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa0411 hosted true auto-assign +clusters-hosted aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa0412 hosted true auto-assign +clusters-hosted aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa0413 hosted true auto-assign +---- + +. Also notice that the node pool replicas are set: ++ +.Example output +[source,terminal] +---- +NAMESPACE NAME CLUSTER DESIRED NODES CURRENT NODES AUTOSCALING AUTOREPAIR VERSION UPDATINGVERSION UPDATINGCONFIG MESSAGE +clusters hosted hosted 3 False False 4.x.y-x86_64 Minimum availability requires 3 replicas, current 0 available +---- ++ +Replace `4.x.y` with the supported {product-title} version that you want to use. + +. Wait until the nodes join the cluster. During the process, the agents provide updates on their stage and status. \ No newline at end of file diff --git a/modules/hcp-dc-tls-hosted.adoc b/modules/hcp-dc-tls-hosted.adoc new file mode 100644 index 0000000000..c1158e0201 --- /dev/null +++ b/modules/hcp-dc-tls-hosted.adoc @@ -0,0 +1,50 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-virt.adoc + +:_mod-docs-content-type: PROCEDURE +[id="hcp-dc-tls-hosted_{context}"] += Adding the registry CA to the worker nodes for the hosted cluster + +In order for the data plane workers in the hosted cluster to be able to retrieve images from the private registry, you need to add the registry CA to the worker nodes. + +.Procedure + +. In the `hc.spec.additionalTrustBundle` file, add the following specification: ++ +[source,yaml] +---- +spec: + additionalTrustBundle: + - name: user-ca-bundle <1> +---- ++ +<1> The `user-ca-bundle` entry is a config map that you create in the next step. + +. In the same namespace where the `HostedCluster` object is created, create the `user-ca-bundle` config map. The config map resembles the following example: ++ +[source,yaml] +---- +apiVersion: v1 +data: + ca-bundle.crt: | + // Registry1 CA + -----BEGIN CERTIFICATE----- + -----END CERTIFICATE----- + + // Registry2 CA + -----BEGIN CERTIFICATE----- + -----END CERTIFICATE----- + + // Registry3 CA + -----BEGIN CERTIFICATE----- + -----END CERTIFICATE----- + +kind: ConfigMap +metadata: + name: user-ca-bundle + namespace: <1> +---- ++ +<1> Specify the namespace where the `HostedCluster` object is created. \ No newline at end of file diff --git a/modules/hcp-dc-tls-mgmt.adoc b/modules/hcp-dc-tls-mgmt.adoc new file mode 100644 index 0000000000..fbd1e83256 --- /dev/null +++ b/modules/hcp-dc-tls-mgmt.adoc @@ -0,0 +1,51 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-virt.adoc + +:_mod-docs-content-type: PROCEDURE +[id="hcp-dc-tls-mgmt_{context}"] += Adding the registry CA to the management cluster + +To add the registry CA to the management cluster, complete the following steps. + +.Procedure + +. Create a config map that resembles the following example: ++ +[source,yaml] +---- +apiVersion: v1 +kind: ConfigMap +metadata: + name: <1> + namespace: <2> +data: <3> + ..: | <4> + -----BEGIN CERTIFICATE----- + -----END CERTIFICATE----- + ..: | + -----BEGIN CERTIFICATE----- + -----END CERTIFICATE----- + ..: | + -----BEGIN CERTIFICATE----- + -----END CERTIFICATE----- +---- ++ +<1> Specify the name of the config map. +<2> Specify the namespace for the config map. +<3> In the `data` field, specify the registry names and the registry certificate content. Replace `` with the port where the registry server is running; for example, `5000`. +<4> Ensure that the data in the config map is defined by using `|` only instead of other methods, such as `| -`. If you use other methods, issues can occur when the pod reads the certificates. + +. Patch the cluster-wide object, `image.config.openshift.io` to include the following specification: ++ +[source,yaml] +---- +spec: + additionalTrustedCA: + - name: registry-config +---- ++ +As a result of this patch, the control plane nodes can retrieve images from the private registry and the HyperShift Operator can extract the {product-title} payload for hosted cluster deployments. ++ +The process to patch the object might take several minutes to be completed. \ No newline at end of file diff --git a/modules/hcp-dc-usr-wkld.adoc b/modules/hcp-dc-usr-wkld.adoc new file mode 100644 index 0000000000..dd1ab8ab6f --- /dev/null +++ b/modules/hcp-dc-usr-wkld.adoc @@ -0,0 +1,46 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-dc-monitor.adoc + +:_mod-docs-content-type: PROCEDURE +[id="hcp-dc-usr-wkld_{context}"] += Resolving user workload monitoring issues + +If you installed {mce-short} on {product-title} clusters that are not connected to the internet, when you try to run the user workload monitoring feature of the HyperShift Operator by entering the following command, the feature fails with an error: + +[source,terminal] +---- +$ oc get events -n hypershift +---- + +.Example error +[source,terminal] +---- +LAST SEEN TYPE REASON OBJECT MESSAGE +4m46s Warning ReconcileError deployment/operator Failed to ensure UWM telemetry remote write: cannot get telemeter client secret: Secret "telemeter-client" not found +---- + +To resolve the error, you must disable the user workload monitoring option by creating a config map in the `local-cluster` namespace. You can create the config map either before or after you enable the add-on. The add-on agent reconfigures the HyperShift Operator. + +.Procedure + +. Create the following config map: ++ +[source,yaml] +---- +kind: ConfigMap +apiVersion: v1 +metadata: + name: hypershift-operator-install-flags + namespace: local-cluster +data: + installFlagsToAdd: "" + installFlagsToRemove: "--enable-uwm-telemetry-remote-write" +---- + +. Apply the config map by running the following command: ++ +[source,terminal] +---- +$ oc apply -f .yaml +---- \ No newline at end of file diff --git a/modules/hcp-dc-verify.adoc b/modules/hcp-dc-verify.adoc new file mode 100644 index 0000000000..7924eababe --- /dev/null +++ b/modules/hcp-dc-verify.adoc @@ -0,0 +1,47 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-dc-monitor.adoc + +:_mod-docs-content-type: PROCEDURE +[id="hcp-dc-verify_{context}"] += Verifying the status of the hosted control plane feature + +The hosted control plane feature is enabled by default. + +.Procedure + +. If the feature is disabled and you want to enable it, enter the following command. Replace `` with the name of your {mce-short} instance: ++ +[source,terminal] +---- +$ oc patch mce --type=merge -p '{"spec":{"overrides":{"components":[{"name":"hypershift","enabled": true}]}}}' +---- ++ +When you enable the feature, the `hypershift-addon` managed cluster add-on is installed in the `local-cluster` managed cluster, and the add-on agent installs the HyperShift Operator on the {mce-short} hub cluster. + +. Confirm that the `hypershift-addon` managed cluster add-on is installed by entering the following command: ++ +[source,terminal] +---- +$ oc get managedclusteraddons -n local-cluster hypershift-addon +---- ++ +.Example output +---- +NAME AVAILABLE DEGRADED PROGRESSING +hypershift-addon True False +---- + +. To avoid a timeout during this process, enter the following commands: ++ +[source,terminal] +---- +$ oc wait --for=condition=Degraded=True managedclusteraddons/hypershift-addon -n local-cluster --timeout=5m +---- ++ +[source,terminal] +---- +$ oc wait --for=condition=Available=True managedclusteraddons/hypershift-addon -n local-cluster --timeout=5m +---- ++ +When the process is complete, the `hypershift-addon` managed cluster add-on and the HyperShift Operator are installed, and the `local-cluster` managed cluster is available to host and manage hosted clusters. \ No newline at end of file diff --git a/modules/hcp-dc-web-server.adoc b/modules/hcp-dc-web-server.adoc new file mode 100644 index 0000000000..0098500d2b --- /dev/null +++ b/modules/hcp-dc-web-server.adoc @@ -0,0 +1,48 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc + +:_mod-docs-content-type: PROCEDURE +[id="hcp-dc-web-server_{context}"] += Configuring the web server for {hcp} in a disconnected environment + +You need to configure an additional web server to host the {op-system-first} images that are associated with the {product-title} release that you are deploying as a hosted cluster. + +.Procedure + +To configure the web server, complete the following steps: + +. Extract the `openshift-install` binary from the {product-title} release that you want to use by entering the following command: ++ +[source,terminal] +---- +$ oc adm -a ${LOCAL_SECRET_JSON} release extract --command=openshift-install "${LOCAL_REGISTRY}/${LOCAL_REPOSITORY}:${OCP_RELEASE}-${ARCHITECTURE}" +---- + +. Run the following script. The script creates a folder in the `/opt/srv` directory. The folder contains the {op-system} images to provision the worker nodes. ++ +[source,bash] +---- +#!/bin/bash + +WEBSRV_FOLDER=/opt/srv +ROOTFS_IMG_URL="$(./openshift-install coreos print-stream-json | jq -r '.architectures.x86_64.artifacts.metal.formats.pxe.rootfs.location')" <1> +LIVE_ISO_URL="$(./openshift-install coreos print-stream-json | jq -r '.architectures.x86_64.artifacts.metal.formats.iso.disk.location')" <2> + +mkdir -p ${WEBSRV_FOLDER}/images +curl -Lk ${ROOTFS_IMG_URL} -o ${WEBSRV_FOLDER}/images/${ROOTFS_IMG_URL##*/} +curl -Lk ${LIVE_ISO_URL} -o ${WEBSRV_FOLDER}/images/${LIVE_ISO_URL##*/} +chmod -R 755 ${WEBSRV_FOLDER}/* + +## Run Webserver +podman ps --noheading | grep -q websrv-ai +if [[ $? == 0 ]];then + echo "Launching Registry pod..." + /usr/bin/podman run --name websrv-ai --net host -v /opt/srv:/usr/local/apache2/htdocs:z quay.io/alosadag/httpd:p8080 +fi +---- ++ +<1> You can find the `ROOTFS_IMG_URL` value on the OpenShift CI Release page. +<2> You can find the `LIVE_ISO_URL` value on the OpenShift CI Release page. + +After the download is completed, a container runs to host the images on a web server. The container uses a variation of the official HTTPd image, which also enables it to work with IPv6 networks. \ No newline at end of file diff --git a/modules/hcp-hc-objects.adoc b/modules/hcp-hc-objects.adoc new file mode 100644 index 0000000000..92007cc45f --- /dev/null +++ b/modules/hcp-hc-objects.adoc @@ -0,0 +1,290 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc + +:_mod-docs-content-type: PROCEDURE +[id="hcp-hc-objects_{context}"] += Deploying hosted cluster objects + +Typically, the HyperShift Operator creates the `HostedControlPlane` namespace. However, in this case, you want to include all the objects before the HyperShift Operator begins to reconcile the `HostedCluster` object. Then, when the Operator starts the reconciliation process, it can find all of the objects in place. + +.Procedure + +. Create a YAML file with the following information about the namespaces: ++ +[source,yaml] +---- +--- +apiVersion: v1 +kind: Namespace +metadata: + creationTimestamp: null + name: - <1> +spec: {} +status: {} +--- +apiVersion: v1 +kind: Namespace +metadata: + creationTimestamp: null + name: <2> +spec: {} +status: {} +---- ++ +<1> Replace `` with your hosted cluster. +<2> Replace `` with the name of your hosted cluster namespace. + +. Create a YAML file with the following information about the config maps and secrets to include in the `HostedCluster` deployment: ++ +[source,yaml] +---- +--- +apiVersion: v1 +data: + ca-bundle.crt: | + -----BEGIN CERTIFICATE----- + -----END CERTIFICATE----- +kind: ConfigMap +metadata: + name: user-ca-bundle + namespace: <1> +--- +apiVersion: v1 +data: + .dockerconfigjson: xxxxxxxxx +kind: Secret +metadata: + creationTimestamp: null + name: -pull-secret <2> + namespace: <1> +--- +apiVersion: v1 +kind: Secret +metadata: + name: sshkey-cluster- <2> + namespace: <1> +stringData: + id_rsa.pub: ssh-rsa xxxxxxxxx +--- +apiVersion: v1 +data: + key: nTPtVBEt03owkrKhIdmSW8jrWRxU57KO/fnZa8oaG0Y= +kind: Secret +metadata: + creationTimestamp: null + name: -etcd-encryption-key <2> + namespace: <1> +type: Opaque +---- ++ +<1> Replace `` with the name of your hosted cluster namespace. +<2> Replace `` with your hosted cluster. + +. Create a YAML file that contains the RBAC roles so that Assisted Service agents can be in the same `HostedControlPlane` namespace as the hosted control plane and still be managed by the cluster API: ++ +[source,yaml] +---- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + creationTimestamp: null + name: capi-provider-role + namespace: - <1> <2> +rules: +- apiGroups: + - agent-install.openshift.io + resources: + - agents + verbs: + - '*' +---- ++ +<1> Replace `` with the name of your hosted cluster namespace. +<2> Replace `` with your hosted cluster. + +. Create a YAML file with information about the `HostedCluster` object, replacing values as necessary: ++ +[source,yaml] +---- +apiVersion: hypershift.openshift.io/v1beta1 +kind: HostedCluster +metadata: + name: <1> + namespace: <2> +spec: + additionalTrustBundle: + name: "user-ca-bundle" + olmCatalogPlacement: guest + imageContentSources: <3> + - source: quay.io/openshift-release-dev/ocp-v4.0-art-dev + mirrors: + - registry.:5000/openshift/release <4> + - source: quay.io/openshift-release-dev/ocp-release + mirrors: + - registry.:5000/openshift/release-images <4> + - mirrors: + ... + ... + autoscaling: {} + controllerAvailabilityPolicy: SingleReplica + dns: + baseDomain: <4> + etcd: + managed: + storage: + persistentVolume: + size: 8Gi + restoreSnapshotURL: null + type: PersistentVolume + managementType: Managed + fips: false + networking: + clusterNetwork: + - cidr: 10.132.0.0/14 + - cidr: fd01::/48 + networkType: OVNKubernetes + serviceNetwork: + - cidr: 172.31.0.0/16 + - cidr: fd02::/112 + platform: + agent: + agentNamespace: - <1> <2> + type: Agent + pullSecret: + name: -pull-secret <1> + release: + image: registry.:5000/openshift/release-images:4.x.y-x86_64 <4> <5> + secretEncryption: + aescbc: + activeKey: + name: -etcd-encryption-key <1> + type: aescbc + services: + - service: APIServer + servicePublishingStrategy: + type: LoadBalancer + - service: OAuthServer + servicePublishingStrategy: + type: Route + - service: OIDC + servicePublishingStrategy: + type: Route + - service: Konnectivity + servicePublishingStrategy: + type: Route + - service: Ignition + servicePublishingStrategy: + type: Route + sshKey: + name: sshkey-cluster- <1> +status: + controlPlaneEndpoint: + host: "" + port: 0 +---- ++ +<1> Replace `` with your hosted cluster. +<2> Replace `` with the name of your hosted cluster namespace. +<3> The `imageContentSources` section contains mirror references for user workloads within the hosted cluster. +<4> Replace `` with the DNS base domain name. +<5> Replace `4.x.y` with the supported {product-title} version you want to use. + +. Add an annotation in the `HostedCluster` object that points to the HyperShift Operator release in the {product-title} release: + +.. Obtain the image payload by entering the following command: ++ +[source,terminal] +---- +$ oc adm release info registry.:5000/openshift-release-dev/ocp-release:4.x.y-x86_64 | grep hypershift +---- ++ +where `` is the DNS base domain name and `4.x.y` is the supported {product-title} version you want to use. ++ +.Example output +[source,terminal] +---- +hypershift sha256:31149e3e5f8c5e5b5b100ff2d89975cf5f7a73801b2c06c639bf6648766117f8 +---- + +.. By using the {product-title} Images namespace, check the digest by entering the following command: ++ +[source,terminal] +---- +podman pull registry.:5000/openshift-release-dev/ocp-v4.0-art-dev@sha256:31149e3e5f8c5e5b5b100ff2d89975cf5f7a73801b2c06c639bf6648766117f8 +---- ++ +where `` is the DNS base domain name. ++ +.Example output +[source,terminal] +---- +podman pull registry.dns.base.domain.name:5000/openshift/release@sha256:31149e3e5f8c5e5b5b100ff2d89975cf5f7a73801b2c06c639bf6648766117f8 +Trying to pull registry.dns.base.domain.name:5000/openshift/release@sha256:31149e3e5f8c5e5b5b100ff2d89975cf5f7a73801b2c06c639bf6648766117f8... +Getting image source signatures +Copying blob d8190195889e skipped: already exists +Copying blob c71d2589fba7 skipped: already exists +Copying blob d4dc6e74b6ce skipped: already exists +Copying blob 97da74cc6d8f skipped: already exists +Copying blob b70007a560c9 done +Copying config 3a62961e6e done +Writing manifest to image destination +Storing signatures +3a62961e6ed6edab46d5ec8429ff1f41d6bb68de51271f037c6cb8941a007fde +---- ++ +The release image that is set in the `HostedCluster` object must use the digest rather than the tag; for example, `quay.io/openshift-release-dev/ocp-release@sha256:e3ba11bd1e5e8ea5a0b36a75791c90f29afb0fdbe4125be4e48f69c76a5c47a0`. + +. Create all of the objects that you defined in the YAML files by concatenating them into a file and applying them against the management cluster. To do so, enter the following command: ++ +[source,terminal] +---- +$ oc apply -f 01-4.14-hosted_cluster-nodeport.yaml +---- ++ +.Example output +[source,terminal] +---- +NAME READY STATUS RESTARTS AGE +capi-provider-5b57dbd6d5-pxlqc 1/1 Running 0 3m57s +catalog-operator-9694884dd-m7zzv 2/2 Running 0 93s +cluster-api-f98b9467c-9hfrq 1/1 Running 0 3m57s +cluster-autoscaler-d7f95dd5-d8m5d 1/1 Running 0 93s +cluster-image-registry-operator-5ff5944b4b-648ht 1/2 Running 0 93s +cluster-network-operator-77b896ddc-wpkq8 1/1 Running 0 94s +cluster-node-tuning-operator-84956cd484-4hfgf 1/1 Running 0 94s +cluster-policy-controller-5fd8595d97-rhbwf 1/1 Running 0 95s +cluster-storage-operator-54dcf584b5-xrnts 1/1 Running 0 93s +cluster-version-operator-9c554b999-l22s7 1/1 Running 0 95s +control-plane-operator-6fdc9c569-t7hr4 1/1 Running 0 3m57s +csi-snapshot-controller-785c6dc77c-8ljmr 1/1 Running 0 77s +csi-snapshot-controller-operator-7c6674bc5b-d9dtp 1/1 Running 0 93s +csi-snapshot-webhook-5b8584875f-2492j 1/1 Running 0 77s +dns-operator-6874b577f-9tc6b 1/1 Running 0 94s +etcd-0 3/3 Running 0 3m39s +hosted-cluster-config-operator-f5cf5c464-4nmbh 1/1 Running 0 93s +ignition-server-6b689748fc-zdqzk 1/1 Running 0 95s +ignition-server-proxy-54d4bb9b9b-6zkg7 1/1 Running 0 95s +ingress-operator-6548dc758b-f9gtg 1/2 Running 0 94s +konnectivity-agent-7767cdc6f5-tw782 1/1 Running 0 95s +kube-apiserver-7b5799b6c8-9f5bp 4/4 Running 0 3m7s +kube-controller-manager-5465bc4dd6-zpdlk 1/1 Running 0 44s +kube-scheduler-5dd5f78b94-bbbck 1/1 Running 0 2m36s +machine-approver-846c69f56-jxvfr 1/1 Running 0 92s +oauth-openshift-79c7bf44bf-j975g 2/2 Running 0 62s +olm-operator-767f9584c-4lcl2 2/2 Running 0 93s +openshift-apiserver-5d469778c6-pl8tj 3/3 Running 0 2m36s +openshift-controller-manager-6475fdff58-hl4f7 1/1 Running 0 95s +openshift-oauth-apiserver-dbbc5cc5f-98574 2/2 Running 0 95s +openshift-route-controller-manager-5f6997b48f-s9vdc 1/1 Running 0 95s +packageserver-67c87d4d4f-kl7qh 2/2 Running 0 93s +---- ++ +When the hosted cluster is available, the output looks like the following example. ++ +.Example output +[source,terminal] +---- +NAMESPACE NAME VERSION KUBECONFIG PROGRESS AVAILABLE PROGRESSING MESSAGE +clusters hosted-dual hosted-admin-kubeconfig Partial True False The hosted control plane is available +---- \ No newline at end of file diff --git a/modules/hcp-metallb.adoc b/modules/hcp-metallb.adoc index 7fcab92815..efd613a4e4 100644 --- a/modules/hcp-metallb.adoc +++ b/modules/hcp-metallb.adoc @@ -31,6 +31,7 @@ $ oc apply -f configure-metallb.yaml ---- + .Example output +[source,terminal] ---- metallb.metallb.io/metallb created ---- @@ -55,10 +56,11 @@ spec: + [source,terminal] ---- -oc apply -f create-ip-address-pool.yaml +$ oc apply -f create-ip-address-pool.yaml ---- + .Example output +[source,terminal] ---- ipaddresspool.metallb.io/metallb created ---- @@ -85,6 +87,7 @@ $ oc apply -f l2advertisement.yaml ---- + .Example output +[source,terminal] ---- l2advertisement.metallb.io/metallb created ---- \ No newline at end of file diff --git a/modules/hcp-monitor-cp.adoc b/modules/hcp-monitor-cp.adoc new file mode 100644 index 0000000000..93c49b3877 --- /dev/null +++ b/modules/hcp-monitor-cp.adoc @@ -0,0 +1,30 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-virt.adoc + +:_mod-docs-content-type: PROCEDURE +[id="hcp-monitor-cp_{context}"] += Monitoring the control plane + +While the deployment proceeds, you can monitor the control plane by gathering information about the following artifacts: + +* The HyperShift Operator +* The `HostedControlPlane` pod +* The bare metal hosts +* The agents +* The `InfraEnv` resource +* The `HostedCluster` and `NodePool` resources + +.Procedure + +* Enter the following commands to monitor the control plane: ++ +[source,terminal] +---- +$ export KUBECONFIG=/root/.kcli/clusters/hub-ipv4/auth/kubeconfig +---- ++ +[source,terminal] +---- +$ watch "oc get pod -n hypershift;echo;echo;oc get pod -n clusters-hosted-ipv4;echo;echo;oc get bmh -A;echo;echo;oc get agent -A;echo;echo;oc get infraenv -A;echo;echo;oc get hostedcluster -A;echo;echo;oc get nodepool -A;echo;echo;" +---- \ No newline at end of file diff --git a/modules/hcp-monitor-dp.adoc b/modules/hcp-monitor-dp.adoc new file mode 100644 index 0000000000..1308863bb5 --- /dev/null +++ b/modules/hcp-monitor-dp.adoc @@ -0,0 +1,29 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-virt.adoc + +:_mod-docs-content-type: PROCEDURE +[id="hcp-monitor-dp_{context}"] += Monitoring the data plane + +While the deployment proceeds, you can monitor the data plane by gathering information about the following artifacts: + +* The cluster version +* The nodes, specifically, about whether the nodes joined the cluster +* The cluster Operators + +.Procedure + +* Enter the following commands: ++ +---- +$ oc get secret -n clusters-hosted-ipv4 admin-kubeconfig -o jsonpath='{.data.kubeconfig}' |base64 -d > /root/hc_admin_kubeconfig.yaml +---- ++ +---- +$ export KUBECONFIG=/root/hc_admin_kubeconfig.yaml +---- ++ +---- +$ watch "oc get clusterversion,nodes,co" +---- \ No newline at end of file diff --git a/modules/hcp-nodepool-hc.adoc b/modules/hcp-nodepool-hc.adoc new file mode 100644 index 0000000000..456a740d7c --- /dev/null +++ b/modules/hcp-nodepool-hc.adoc @@ -0,0 +1,58 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc + +:_mod-docs-content-type: PROCEDURE +[id="hcp-nodepool-hc_{context}"] += Creating a NodePool object for the hosted cluster + +A `NodePool` is a scalable set of worker nodes that is associated with a hosted cluster. `NodePool` machine architectures remain consistent within a specific pool and are independent of the machine architecture of the control plane. + +.Procedure + +. Create a YAML file with the following information about the `NodePool` object, replacing values as necessary: ++ +[source,yaml] +---- +apiVersion: hypershift.openshift.io/v1beta1 +kind: NodePool +metadata: + creationTimestamp: null + name: \// <1> + namespace: \// <2> +spec: + arch: amd64 + clusterName: + management: + autoRepair: false \// <3> + upgradeType: InPlace \// <4> + nodeDrainTimeout: 0s + platform: + type: Agent + release: + image: registry.:5000/openshift/release-images:4.x.y-x86_64 \// <5> + replicas: 0 +status: + replicas: 0 // <6> +---- ++ +<1> Replace `` with your hosted cluster. +<2> Replace `` with the name of your hosted cluster namespace. +<3> The `autoRepair` field is set to `false` because the node will not be re-created if it is removed. +<4> The `upgradeType` is set to `InPlace`, which indicates that the same bare metal node is reused during an upgrade. +<5> All of the nodes included in this `NodePool` are based on the following {product-title} version: `4.x.y-x86_64`. Replace the `` value with your DNS base domain name and the `4.x.y` value with the supported {product-title} version you want to use. +<6> The `replicas` value is set to `0` so that you can scale them when needed. It is important to keep the `NodePool` replicas at 0 until all steps are completed. + +. Create the `NodePool` object by entering the following command: ++ +[source,terminal] +---- +$ oc apply -f 02-nodepool.yaml +---- ++ +.Example output +[source,terminal] +---- +NAMESPACE NAME CLUSTER DESIRED NODES CURRENT NODES AUTOSCALING AUTOREPAIR VERSION UPDATINGVERSION UPDATINGCONFIG MESSAGE +clusters hosted-dual hosted 0 False False 4.x.y-x86_64 +---- \ No newline at end of file diff --git a/modules/hcp-virt-add-networks.adoc b/modules/hcp-virt-add-networks.adoc index 3261bee305..bdac1203ef 100644 --- a/modules/hcp-virt-add-networks.adoc +++ b/modules/hcp-virt-add-networks.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * hosted_control_planes/hcp-deploy-disconnected.adoc +// * hosted_control_planes/hcp-deploy/hcp-deploy-virt.adoc :_mod-docs-content-type: PROCEDURE [id="hcp-virt-add-networks_{context}"] diff --git a/modules/hcp-virt-addl-network.adoc b/modules/hcp-virt-addl-network.adoc index 3fdccec7fd..14351b2638 100644 --- a/modules/hcp-virt-addl-network.adoc +++ b/modules/hcp-virt-addl-network.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * hosted_control_planes/hcp-deploy-disconnected.adoc +// * hosted_control_planes/hcp-deploy/hcp-deploy-virt.adoc :_mod-docs-content-type: PROCEDURE [id="hcp-virt-addl-network_{context}"] diff --git a/modules/hcp-virt-create-hc-cli.adoc b/modules/hcp-virt-create-hc-cli.adoc index b0cef0f5b6..30952679e8 100644 --- a/modules/hcp-virt-create-hc-cli.adoc +++ b/modules/hcp-virt-create-hc-cli.adoc @@ -1,6 +1,7 @@ // Module included in the following assemblies: // -// * hosted_control_planes/hcp-deploy-disconnected.adoc +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-virt.adoc +// * hosted_control_planes/hcp-deploy/hcp-deploy-virt.adoc :_mod-docs-content-type: PROCEDURE [id="hcp-virt-create-hc-cli_{context}"] diff --git a/modules/hcp-virt-create-hc-console.adoc b/modules/hcp-virt-create-hc-console.adoc index 7aeca9ff4d..aa1082bc7a 100644 --- a/modules/hcp-virt-create-hc-console.adoc +++ b/modules/hcp-virt-create-hc-console.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * hosted_control_planes/hcp-deploy-disconnected.adoc +// * hosted_control_planes/hcp-deploy/hcp-deploy-virt.adoc :_mod-docs-content-type: PROCEDURE [id="hcp-virt-create-hc-console_{context}"] diff --git a/modules/hcp-virt-create-hc-ext-infra.adoc b/modules/hcp-virt-create-hc-ext-infra.adoc index 8e35c36ad6..16f97ea215 100644 --- a/modules/hcp-virt-create-hc-ext-infra.adoc +++ b/modules/hcp-virt-create-hc-ext-infra.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * hosted_control_planes/hcp-deploy-disconnected.adoc +// * hosted_control_planes/hcp-deploy/hcp-deploy-virt.adoc :_mod-docs-content-type: PROCEDURE [id="hcp-virt-create-hc-ext-infra_{context}"] diff --git a/modules/hcp-virt-guaranteed-cpus.adoc b/modules/hcp-virt-guaranteed-cpus.adoc index a61c6b47cc..0c095e7123 100644 --- a/modules/hcp-virt-guaranteed-cpus.adoc +++ b/modules/hcp-virt-guaranteed-cpus.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * hosted_control_planes/hcp-deploy-disconnected.adoc +// * hosted_control_planes/hcp-deploy/hcp-deploy-virt.adoc :_mod-docs-content-type: PROCEDURE [id="hcp-virt-guaranteed-cpus_{context}"] diff --git a/modules/hcp-virt-ingress-dns.adoc b/modules/hcp-virt-ingress-dns.adoc index a35471a833..9691d11387 100644 --- a/modules/hcp-virt-ingress-dns.adoc +++ b/modules/hcp-virt-ingress-dns.adoc @@ -32,7 +32,7 @@ For the default ingress DNS to work properly, the cluster that hosts the KubeVir ---- $ oc patch ingresscontroller -n openshift-ingress-operator default --type=json -p '[{ "op": "add", "path": "/spec/routeAdmission", "value": {wildcardPolicy: "WildcardsAllowed"}}]' ---- -+ + [NOTE] ==== When you use the default hosted cluster ingress, connectivity is limited to HTTPS traffic over port 443. Plain HTTP traffic over port 80 is rejected. This limitation applies to only the default ingress behavior. diff --git a/modules/hcp-virt-sched-vms.adoc b/modules/hcp-virt-sched-vms.adoc index 11ae6a408a..9853520ce7 100644 --- a/modules/hcp-virt-sched-vms.adoc +++ b/modules/hcp-virt-sched-vms.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * hosted_control_planes/hcp-deploy-disconnected.adoc +// * hosted_control_planes/hcp-deploy/hcp-deploy-virt.adoc :_mod-docs-content-type: PROCEDURE [id="hcp-virt-sched-vms_{context}"] diff --git a/modules/hcp-worker-hc.adoc b/modules/hcp-worker-hc.adoc new file mode 100644 index 0000000000..d8e7028c14 --- /dev/null +++ b/modules/hcp-worker-hc.adoc @@ -0,0 +1,116 @@ +// Module included in the following assemblies: +// +// * hosted_control_planes/hcp-disconnected/hcp-deploy-dc-bm.adoc + +:_mod-docs-content-type: PROCEDURE +[id="hcp-worker-hc_{context}"] += Creating worker nodes for the hosted cluster + +If you are working on a bare metal platform, creating worker nodes is crucial to ensure that the details in the `BareMetalHost` are correctly configured. + +If you are working with virtual machines, you can complete the following steps to create empty worker nodes for the Metal3 Operator to consume. To do so, you use the `kcli` tool. + +.Procedure + +. If this is not your first attempt to create worker nodes, you must first delete your previous setup. To do so, delete the plan by entering the following command: ++ +[source,terminal] +---- +$ kcli delete plan <1> +---- ++ +<1> Replace `` with the name of your hosted cluster. + +.. When you are prompted to confirm whether you want to delete the plan, type `y`. + +.. Confirm that you see a message stating that the plan was deleted. + +. Create the virtual machines by entering the following commands: + +.. Enter the following command to create the first virtual machine: ++ +[source,terminal] +---- +$ kcli create vm \ + -P start=False \// <1> + -P uefi_legacy=true \// <2> + -P plan= \// <3> + -P memory=8192 -P numcpus=16 \// <4> + -P disks=[200,200] \// <5> + -P nets=["{\"name\": \"\", \"mac\": \"aa:aa:aa:aa:11:01\"}"] \// <6> + -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1101 \ + -P name=-worker0 // <7> +---- ++ +<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation. +<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations. +<3> Replace `` with the name of your hosted cluster. The `plan=` statement indicates the plan name, which identifies a group of machines as a cluster. +<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU. +<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM. +<6> Include `nets=[{"name": "", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface. +<7> Replace `` with the name of your hosted cluster. + +.. Enter the following command to create the second virtual machine: ++ +[source,terminal] +---- +$ kcli create vm \ + -P start=False \// <1> + -P uefi_legacy=true \// <2> + -P plan= \// <3> + -P memory=8192 -P numcpus=16 \// <4> + -P disks=[200,200] \// <5> + -P nets=["{\"name\": \"\", \"mac\": \"aa:aa:aa:aa:11:02\"}"] \// <6> + -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1102 + -P name=-worker1 // <7> +---- ++ +<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation. +<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations. +<3> Replace `` with the name of your hosted cluster. The `plan=` statement indicates the plan name, which identifies a group of machines as a cluster. +<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU. +<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM. +<6> Include `nets=[{"name": "", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface. +<7> Replace `` with the name of your hosted cluster. + +.. Enter the following command to create the third virtual machine: ++ +[source,terminal] +---- +$ kcli create vm \ + -P start=False \// <1> + -P uefi_legacy=true \// <2> + -P plan= \// <3> + -P memory=8192 -P numcpus=16 \// <4> + -P disks=[200,200] \// <5> + -P nets=["{\"name\": \"\", \"mac\": \"aa:aa:aa:aa:11:03\"}"] \// <6> + -P uuid=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa1103 + -P name=-worker2 // <7> +---- ++ +<1> Include `start=False` if you do not want the virtual machine (VM) to automatically start upon creation. +<2> Include `uefi_legacy=true` to indicate that you will use UEFI legacy boot to ensure compatibility with previous UEFI implementations. +<3> Replace `` with the name of your hosted cluster. The `plan=` statement indicates the plan name, which identifies a group of machines as a cluster. +<4> Include the `memory=8192` and `numcpus=16` parameters to specify the resources for the VM, including the RAM and CPU. +<5> Include `disks=[200,200]` to indicate that you are creating two thin-provisioned disks in the VM. +<6> Include `nets=[{"name": "", "mac": "aa:aa:aa:aa:02:13"}]` to provide network details, including the network name to connect to, the type of network (`ipv4`, `ipv6`, or `dual`), and the MAC address of the primary interface. +<7> Replace `` with the name of your hosted cluster. + +. Enter the `restart ksushy` command to restart the `ksushy` tool to ensure that the tool detects the VMs that you added: ++ +[source,terminal] +---- +$ systemctl restart ksushy +---- ++ +.Example output +[source,terminal] +---- ++---------------------+--------+-------------------+----------------------------------------------------+-------------+---------+ +| Name | Status | Ip | Source | Plan | Profile | ++---------------------+--------+-------------------+----------------------------------------------------+-------------+---------+ +| hosted-worker0 | down | | | hosted-dual | kvirt | +| hosted-worker1 | down | | | hosted-dual | kvirt | +| hosted-worker2 | down | | | hosted-dual | kvirt | ++---------------------+--------+-------------------+----------------------------------------------------+-------------+---------+ +---- \ No newline at end of file