rook-ceph-helm-charts-1.6.2+git0.ge8fd65f08-bp155.3.59 >  A dk\(I%z Kā@紐M'TP@]1ls:P0/7p.o]>*g'ԢSs:P'HH~| =Tq -bmlE ʼڡčBgV:K)(iIk>(ÉMc\s3uM Bb骭:6S2JRܖg9Nw nH&(9 [g>_6z{%jcU-Ρ%dZ;  q;o#-Yx nŗ5JM kOf^@ocp5v4H56pΔIu( c\XQS?Nm "N[j}lL#O0PM5GFed<CARY ]u@׾O&AP`$G ޸8/!L i2//M]v ZmȑE J${[<,.C'w0Uf50a8a35c6099a0f271f2346876d397374084c40ffbe527e25dd7837e12c2cfa26734315bf02c72ccb6269955bbbfbb01bcc8fc6|dk\(I%z Sy0(@zcEe~rZ3)Q(7P7iۨtOHAS6,Wo):ɫTHBcjw%N}m+;YWqї($n\r3%W#75J&c\n,D;'o/gm\!逶Vw!z=Z  RZ#ꏃ 0Ѕm̅9] p;ڜ?ڌd. 9 X !28@ee e he e !e ee!e##e%X%p%%(%8&P9'HP:3PFsGLjeHeIʰeXY\@e]e^: bmcd|eׁfׄl׆uטev,z)<@FڈCrook-ceph-helm-charts1.6.2+git0.ge8fd65f08bp155.3.59Rook Ceph operator helm chartsHelm helps manage Kubernetes applications. Helm Charts define, install, and upgrade Kubernetes applications. Rook is a cloud-native storage orchestrator for Kubernetes, providing the platform, framework, and support for a diverse set of storage solutions to integrate with cloud-native environments. This package contains Helm Charts for Rook.dk[lamb26%SUSE Linux Enterprise 15 SP5openSUSEApache-2.0https://bugs.opensuse.orgSystem/Managementhttps://rook.io/linuxnoarchN 7H % uλ A 6*; 4!: v h o;''F{(KK.IUPC zL R U'p-  ^2AA큤A큤AA큤A큤A큤A큤A큤A큤dk[dk[dk[`'dk[`'dk[dk[dk[dk[dk[dk[`'`'`'`'`'`'dk[`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'dk[`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'dk[dk[dk[`'`'`'`'`'`'`'`'`'`'`'`'dk[dk[`'dk[`'`'`'`'`'`'`'`'`'dk[662f1fb774f216d0e9a52c7bccb253ea0e964e0b1733550f393277a7f5cf736450ed3a862fa42f86c9a14da36827b9ae25d31c8e36fc893d3c4dab2f302c8b8a75d1e1035f2d73dc379057c5a4cf476b90f319fcc65cae33a1b63d3eceb6523da7c4fc9a4a912139cf02579d867ecb9600792fd7df138d45c61d2aac7baad718ba9d93fd4be8488d98affd3fb822b00770fdecd5cb667d0dbcbaf2d834528b5b6efc3b828b9029d114edf0d6a7b06e2659caf7d0b8e6e19152037ce0a6e778e6cf9b8bac10ca75e95215130882652d94f1966a28cf2586ee59fa3585dec0b53bb5de216aad77f81dc0ed8e500efcc35effb65b5302c1c01bf875f8d58a734882172dbef2f1f97fd9d551faf75f6135d25df2763699e48b2f2d27595df42c426a5c11b9ed5c07c60ea4660fce8c1fd3ccb47fbf023f2d54d75b37ef32b1c9db23569c459a2726eeafe1d415148033d4fcf48e785d06388898855bb5097cf712a487a791216c3dea1bc35e9752f5e64d65c6acbf6dcddf5f137210c752c956a86b84059b8f3b67d6452513ff481cbf4e83a3be1b11e04f4debe22fa129d30dbe87946809499a6e264ff39cc1181e01038c7bfe8a7b22c39de9ce1fedc556cff4219b2a358c8743515de87b68f54084aa40415d3c7f4fdf09449a8efbb11fa6bef39914219fdfeaa3b891b7fb46b1a39fc9e97cc9171b384a265421c60d07dacd0ac84549aac5940fde7a4c104c1126681e1781ab5a7753a8d3738a5757a6b37d0d21407d25272df873dbc470e70f47e5f32cdde33921fb0542ac5610497c7b9b2e4340366bdc2bd925cf3e000ea4ce559acbe2fe32dc3ddb26959bcd1163aed1c163fc8f26631fd20152e5a39602665ae05e03bbb152fb7f0ce73a57ca7f764a8e15164cb75873d435572c3753ee37e29f5022cef3b83910dcb8c43a63fd515d874d7634e739a90320eef65acdb212bc236edf10a6648df32e9689c1e25fc26fe15580c7814e2fb33eb6f634c191056123154dbea5ca2815c06e98939dd91bcee833ec14c785979fe92f1e6c48b76a7c4c4092331c0db02a06098c206c7aafdbb61331cb3605c9914111c825eb81b82995ddac6e34ad510c98ce90e3b50cad8f55aebe29693b630f3fa10f2d14d855afe8d2ad0cc1f5f74d4a86d5bfeb0f199a47c1e02fd4897e1f04f09234acf88420ee3da751fb0b5b998f097d6fd0cc7a2d5c1f254174cc08ff1abb82c7af2b852d2d42638cf43951f6e814629c2359d9910c70618e60de6ba03394c77a7f41498554abff0ba21a08a9d81574ee083e43618b1e6333628a013991857be4b0486bc016ecb13a1c76846897b1458c58e763eaee598e5a58d1b91fa65d6377ebd9594ee04cfa21eef6b30bc396aa2d6d115360af23084aa2ead82330065d4d23474d7644716af202ed6cd91ad60f0ab1402be053dee705f1bfd9d31565bb685ff8f67422251cd0b94436d03c187387cd304bf31b7027c6a75ea539af3d89946e70122611f1fdb5316ec6471afdd1fa73741f03ceaa1173ab7f20381a602e2b31485c3dc3a3476254b592a22535d4b6f2e8440cba749ce423317e0f530987b02b22e9a368c1f515f7ffcb5e2734f55e7cc19b929af49045a65d2fb9e0f8531a4dd0ba6eaac144a831a74c4ee7354dc7c233310e494cde9814da2211356c8f93437dc41f4bb556c170207353b5b6882447a1ec860ef5b19aa12faec611ca1bcae1923e0653eb759e7d43f6751b9998821542b5e94165a6184a6dbc090ad2a67e702dde830558e5885987fda571aa3333ed9b1240247916773f9d1cc1b82823f0763f3dd10742731e3402f1ba298ada08a1fb7c4cff3dab97c3adc49f7e1c049d3eed79986fd849d9005aec28eee6b5005fdf85f7bc14e190e7ff8645d7a666fd4aec29aba2f209a2561e2314dbdf9b9e1e59c56b235b2c23d328ad91bf36fbbda9b81d219b5c9f6b0d6c4f1a9a5a1d2159b0253e7c29dc89cd447b076cad8547083e11f5ea7e7912bfb2258b2fb665eed5d169ecc548fd5cb2f7754c410b5536f2a0a5dcb08f0897330bc36de6789714df4ba0aa0aa632ebe572099a96d27ae827aa6774dfff81a2fb5dda6fefa6e3ebcde466668d5c0c94ac146930cf7b2d9a6f810f3c3c4029f5aeb1e5ab9aac57a9a440653536dd438da5317395ed7acfe4641608c89c877f2bfd946623269925910784bf3cebff10dda34f702ec5ad03505a1f32883020f996298e4c55bc9646cd7a12ece646e7e9df9bde7f2866b0512ee149cdee59f666280b06805cd4707b944202e730153cb3fd75f10cfa18985361046b1bb86d0c76f0f880dc92590062192871a8698ed9901dee35d1ddf225e5555bd38c98f330d6e71447dc92b3f305622c4dc0586439d14b384fde2cb9461288febd66d184552f868549c8819ed690cc17a89836c91de217c41829183557ea862b9698c28cc80f99f432ed2d1d77f0db988e058623afc14396bbd6ebf1fd173f2c4c06ce28e3b7fbb9168b615bf050b3de060b6a6af1a36bcfdd8889d7d2dc77295ef1176a69997e8e0956dc63f220b3b46489f0561314cb6be27c082efa1867de36de28c59df3f53532d90e8b80fa066500a658ec471e169852cf92411bde0e183e113e3262f853fdccae59786b5d3a6b7e9c1ed308bfdde605c02767c9b59b695184e9168dc7a9fac381e56e8a48a99a79101dacd188037d59fad449a5b84753c277212f5fb58885a7e096a4b7c51e4e9bb7f1f68278573cd4106cc342258e7212414ec5f5e5efbc10cd0fbe45f3dab7b44c900e3c7b0cefd9a22aaed7328ae0c6cdcaadf8e6203836faf98f434449497679b45c58c807e5371cd2c156e5f879f151c8d7e28a11f0e78e5a982b6dfe55ca0e0e5543acd539b4e3a4b47c4931630769475eb55ef88dbade3028bf38093fd935c01e26385e75a112871f2be88e95ec1ddfb19b8915264bd7611b579ec81b919c1d668d08ed5b5ce1efc627983d383bbef670be2ded20fe30526c75c0fdd5af5d817127a7c950b0226e35b00a701d84dd29d4bbfa57ca13c331c7f6e35d9c31afc4dd1a3191b1537023b99eb7d2c9a7ed8bc28aa18bc858998e7b2a7f198b18fc780fcb6ff6c1b239a688f722fc9cfcfc2a2771a5539a3d70d89bccabd6671ecae70b9ff00df74f67293ca948efe5928873664b267d3264d4582dd6d89158da537f61316a75c32ac8fa24c0db99a1633446d1fa0533302a7ca7fb1a06431dbf4cd6ab56ded1e967cdd628e361f3d02178fd7637c03f2f5d9e744139e0730bb0f95eeed860cbf1c621cb5bba354ab92344d9496071f03b504b40963af2af825d006db8fe562b5e058aa40619f154e632ea7f049d128de583da91e2854abad77bdc42f606c8e35b4094a67ef443072a3ebfbae8f65cc93b67b110f756ac9dd3c7b1797193807dadf189e139fc038e15954a3ff03f4a8afba56efaff5e8a84bb21224c57dfe9a350e69e4b41a224884da6e8729373e6cfec5aebf3094b4c8640afec4defcd99400f91d65abfe65aa6bbb8fcee7af60db23ad3d39fb15962d21ab5a126d93073bea06964633286f1b4ac41f05b3fd13e1d8e91871d68dba239309810006738dae352a72de7301aa46237ca859145439cb8e0ca54613472a2fb4bebd09028f21039dd294c28966ee0816e340fc299490833571da0721654a8705e7d0c9f42ea07bcce9c136ae7a03873bb64626471c913425799e444436ab0f969472e30aafd06cd03acde97016bda4b03fc20f90959650507866414759310c455f81b584bf1b1db02afa96ee58aa484a6054b2e0ba9f7b7a9f6d588a356f39d2efba604862de70eaadaf98b0f436b2fcd54bbf05ebdff6cd8556e80c8c3fabf43e023ed5eea0b712153a64abe3fc222d09bd33631a7e02bf17eaf6f64654c27ff52df4800prometheus-ceph-v14-rules-external.yamlprometheus-ceph-v14-rules.yamlprometheus-ceph-v14-rules-external.yamlprometheus-ceph-v14-rules.yamlrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrook-1.6.2+git0.ge8fd65f08-bp155.3.59.src.rpmrook-ceph-helm-charts    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3b@`+``?z@_ _:_]@_@_@_P_|\@_|\@_w@_s!_s!_h_cO_cO_`_\@_Z@_16^V@^1^^0^r @^g@^Nt^K^4^.^@]]N@]µ]d@]@]?]@]@]V]V]V]y@]{]v>]v>]_@]V]R@]QT]D%]B@]B@]:@]6]5@]/ ](v@](v@]'$]$]#0@]]@]@]@]@]]\@\@\7\P@@\@n@\Stefan Haas Stefan Haas Stefan Haas Mike Latimer Mike Latimer Mike Latimer Mike Latimer Mike Latimer Mike Latimer Mike Latimer Joshua Hesketh Mike Latimer Mike Latimer Mike Latimer Stefan Haas Mike Latimer Mike Latimer Mike Latimer Mike Latimer Mike Latimer Stefan Haas Stefan Haas Stefan Haas Stefan Haas Kristoffer Gronlund Kristoffer Gronlund Kristoffer Gronlund Kristoffer Gronlund Kristoffer Gronlund Kristoffer Gronlund Kristoffer Gronlund Kristoffer Gronlund Kristoffer Gronlund Kristoffer Gronlund Kristoffer Gronlund Kristoffer Gronlund Kristoffer Gronlund Blaine Gardner Blaine Gardner Blaine Gardner Blaine Gardner Kristoffer Gronlund Blaine Gardner Kristoffer Gronlund Blaine Gardner Blaine Gardner Blaine Gardner Kristoffer Gronlund Jan Engelhardt Denis Kondratenko Denis Kondratenko Blaine Gardner Blaine Gardner Blaine Gardner Denis Kondratenko Denis Kondratenko Denis Kondratenko Denis Kondratenko Denis Kondratenko Denis Kondratenko Denis Kondratenko Denis Kondratenko Blaine Gardner Denis Kondratenko Denis Kondratenko Denis Kondratenko Denis Kondratenko Denis Kondratenko Denis Kondratenko Denis Kondratenko Denis Kondratenko Jan Fajerski Jan Fajerski Jan Fajerski Jan Fajerski Jan Fajerski Jan Fajerski blaine.gardner@suse.comblaine.gardner@suse.com- avoid bashism in post scripts (bsc#1195391)- Update to v1.6.2 * Set base Ceph operator image and example deployments to v16.2.2 * Update snapshot APIs from v1beta1 to v1 * Documentation for creating static PVs * Allow setting primary-affinity for the OSD * Remove unneeded debug log statements * Preserve volume claim template annotations during upgrade * Allow re-creating erasure coded pool with different settings * Double mon failover timeout during a node drain * Remove unused volumesource schema from CephCluster CRD * Set the device class on raw mode osds * External cluster schema fix to allow not setting mons * Add phase to the CephFilesystem CRD * Generate full schema for volumeClaimTemplates in the CephCluster CRD * Automate upgrades for the MDS daemon to properly scale down and scale up * Add Vault KMS support for object stores * Ensure object store endpoint is initialized when creating an object user * Support for OBC operations when RGW is configured with TLS * Preserve the OSD topology affinity during upgrade for clusters on PVCs * Unify timeouts for various Ceph commands * Allow setting annotations on RGW service * Expand PVC size of mon daemons if requested - Update to v1.6.1 * Disable host networking by default in the CSI plugin with option to enable * Fix the schema for erasure-coded pools so replication size is not required * Improve node watcher for adding new OSDs * Operator base image updated to v16.2.1 * Deployment examples updated to Ceph v15.2.11 * Update Ceph-CSI to v3.3.1 * Allow any device class for the OSDs in a pool instead of restricting the schema * Fix metadata OSDs for Ceph Pacific * Allow setting the initial CRUSH weight for an OSD * Fix object store health check in case SSL is enabled * Upgrades now ensure latest config flags are set for MDS and RGW * Suppress noisy RGW log entry for radosgw-admin commands - Update to v1.6.0 * Removed Storage Providers * CockroachDB * EdgeFS * YugabyteDB * Ceph * Support for creating OSDs via Drive Groups was removed. * Ceph Pacific (v16) support * CephFilesystemMirror CRD to support mirroring of CephFS volumes with Pacific * Ceph CSI Driver * CSI v3.3.0 driver enabled by default * Volume Replication Controller for improved RBD replication support * Multus support * GRPC metrics disabled by default * Ceph RGW * Extended the support of vault KMS configuration * Scale with multiple daemons with a single deployment instead of a separate deployment for each rgw daemon * OSDs * LVM is no longer used to provision OSDs * More efficient updates for multiple OSDs at the same time * Multiple Ceph mgr daemons are supported for stretch clusters and other clusters where HA of the mgr is critical (set count: 2 under mgr in the CephCluster CR) * Pod Disruption Budgets (PDBs) are enabled by default for Mon, RGW, MDS, and OSD daemons. See the disruption management settings. * Monitor failover can be disabled, for scenarios where maintenance is planned and automatic mon failover is not desired * CephClient CRD has been converted to use the controller-runtime library- Update to v1.5.10 * Ceph * Update Ceph-CSI to v3.2.1 (#7506) * Use latest Ceph API for setting dashboard and rgw credentials (#7641) * Redact secret info from reconcile diffs in debug logs (#7630) * Continue to get available devices if failed to get a device info (#7608) * Include RGW pods in list for rescheduling from failed node (#7537) * Enforce pg_auto_scaler on rgw pools (#7513) * Prevent voluntary mon drain while another mon is failing over (#7442) * Avoid restarting all encrypted OSDs on cluster growth (#7489) * Set secret type on external cluster script (#7473) * Fix init container "expand-encrypted-bluefs" for encrypted OSDs (#7466) * Fail pool creation if the sub failure domain is the same as the failure domain (#7284) * Set default backend for vault and remove temp key for encrypted OSDs (#7454)- Update to v1.5.7 * Ceph * CSI Troubleshooting Guide (#7157) * Print device information in OSD prepare logs (#7194) * Expose vault curl error in the OSD init container for KCS configurations (#7193) * Prevent re-using a device to configure an OSD on PVC from a previous cluster (#7170) * Remove crash collector if all Ceph pods moved off a node (#7160) * Add helm annotation to keep CRDs in the helm chart during uninstall (#7162) * Bind mgr modules to all interfaces instead of pod ip (#7151) * Check for orchestration cancellation while waiting for all OSDs to start (#7112) * Skip pdb reconcile on create and delete events (#7155) * Silence harmless errors in log when the operator is still initializing (#7056) * Add --extra-create-metadata flag to the CSI driver (#7147) * Add deviceClass to the object store schema (#7132) * Simplify the log-collector container name (#7133) * Skip csi detection if CSI is disabled (#6866) * Remove Rook pods stuck in terminating state on a failed node (#6999) * Timeout for rgw configuration to prevent stuck object store when no healthy OSDs (#7075) * Update lib bucket provisioner for OBCs (#7086) - Drop csi-images-SUSE.patch- Derive CSI and sidecar image versions from code defaults rather than images found in the build service- Update to v1.4.7 * Ceph * Log warning about v14.2.13 being an unsupported Ceph version due to errors creating new OSDs (#6545) * Disaster recovery guide for PVCs (#6452) * Set the deviceClass for OSDs in non-PVC clusters (#6545) * External cluster script to fail if prometheus port is not default (#6504) * Remove the osd pvc from the osd purge job (#6533) * External cluster script added additional checks for monitoring endpoint (#6473) * Ignore Ceph health error MDS_ALL_DOWN during reconciliation (#6494) * Add optional labels to mon pods (#6515) * Assert type for logging errors before using it (#6503) * Check for orphaned mon resources with every reconcile (#6493) * Update the mon PDBs if the maxUnavailable changed (#6469) * NFS * Update documentation and examples (#6455)- Drop OFFSET from cephcsi image tag- Update helm chart to use appropriate version prefix for the final registry destination (e.g. registry.suse.com or registry.opensuse.org) - Improve consistency with image tags- Update to v1.4.6 * Support IPv6 single-stack (#6283) * Only start a single CSI provisioner in single-node test clusters (#6437) * Raw mode OSD on LV-backed PVC (#6184) * Capture ceph-volume detailed log in non-pvc scenario on failure (#6426) * Add --upgrade option to external cluster script (#6392) * Capture stderr when executing ceph commands and write to log (#6395) * Reduce the retry count for the bucket health check for more accurate status (#6408) * Prevent closing of monitoring channel more than once (#6369) * Check underlying block status for encrypted OSDs (#6367) - Add 'latest' and appVersion tags to helm chart - Include sample manifests in helm chart- Set the helm chart version to the rook version- Minor fix to helm chart to ensure SemVer formatting - Fix typo in sample cluster.yaml- Update the operator.yaml ConfigMap to reflect the default SUSE images that are used rather than upstreams. - Fix indentation of patch tabs to match original- Update to v1.4.5 * Update the CSI driver to v3.1.1 (#6340) * Fix drive group deployment failure (#6267) * Fix OBC upgrade from 1.3 to 1.4 external cluster (#6353) * Remove user unlink while deleting OBC (#6338) * Enable RBAC in the helm chart for enabling monitoring (#6352) * Disable encryption keyring parameter not necessary after opening block (#6350) * Improve reconcile performance in clusters with many OSDs on PVCs (#6330) * Only one external cluster secret supported in import script (#6343) * Allow OSD PVC template name to be set to any value (#6307) * OSD prepare job was failing due to low aio-max-nr setting (#6284) * During upgrade assume a pod spec changed if diff checking fails (#6272) * Merge config from rook-config-override configmap to the default global config file (#6252) - Package all sample yaml files in rook-k8s-yaml- Update helm chart version to match rook product version plus the current release number- Update to v1.4.4 * Upgrade to v1.4.3 for cluster-on-pvc hung due to changing label selectors on the mons (#6256) * Remove osd status configmap for nodes with long names (#6235) * Allow running rgw daemons from an external cluster (#6226) - Create symlinks in /usr/local/bin for toolbox.sh and rook to ensure compatibility with upstream sample yamls- fixed spec-file: * operator.yaml does not get changed to use the SUSE-images- helm chart, manifests: * fixed tolerations * Update SUSE documentation URL in NOTES.txt- ceph: fix drive group deployment failure (bsc#1176170) - helm chart, manifests: * Add tolerations to cluster & CRDs * Require kubeVersion >= 1.11 * Use rbac.authorization.k8s.io/v1 * Add affinities for label schema * Set Rook log level to DEBUG * Remove FlexVolume agent * Require currentNamespaceOnly=true * Replace NOTES.txt with SUSE specific version- Include operator and common yamls in manifest package- Update to v1.4.3 * The Ceph-CSI driver was being unexpectedly removed by the garbage collector in some clusters. For more details to apply a fix during the upgrade to this patch release, see these steps. (#616) * Add storageClassDeviceSet label to osd pods (#6225) * DNS suffix issue for OBCs in custom DNS suffix clusters (#6234) * Cleanup mon canary pvc if the failover failed (#6224) * Only enable mgr init container if the dashboard is enabled (#6198) * cephobjectstore monitoring goroutine must be stopped during uninstall (#6208) * Remove NParts and Cache_Size from MDCACHE block in the NFS configuration (#6207) * Purge a down osd with a job created by the admin (#6127) * Do not use label selector on external mgr service (#6142) * Allow uninstall even if volumes still exist with a new CephCluster setting (#6145)- Update to v1.4.2 - Patch release focusing on small feature additions and bug fixes. * Improve check for LVM on the host to allow installing of OSDs (#6175) * Set the OSD prepare resource limits (#6118) * Allow memory limits below recommended settings (#6116) * Use full DNS suffix for object endpoint with OBCs (#6170) * Remove the CSI driver lifecycle preStop hook (#6141) * External cluster optional settings for provisioners (#6048) * Operator watches nodes that match OSD placement rules (#6156) * Allow user to add labels to the cluster daemon pods (#6084 #6082) * Fix vulnerability in package golang.org/x/text (#6136) * Add expansion support for encrypted osd on pvc (#6126) * Do not use realPath for OSDs on PVCs (#6120, @leseb) * Example object store manifests updated for consistency (#6123) * Separate topology spread constrinats for osd prepare jobs and osd daemons (#6103) * Pass CSI resources as strings in the helm chart (#6104) * Improve callCephVolume() for list and prepare (#6059) * Improved multus support for the CSI driver configuration (#5740) * Object store healthcheck yaml examples (#6090) * Add support for wal encrypted device on pvc (#6062) * Updated helm usage in documentation (#6086) * More details for RBD Mirroring documentation (#6083) - Build process changes: - Set CSI sidecar versions through _service, and set all versions in code through a single patch file + csi-images-SUSE.patch - csi-dummy-images.patch - Use github.com/SUSE/rook and suse-release-1.4 tag in update.sh - Create module dependencies through _service, and store these dependencies in vendor.tar.gz (replacing rook-[version]-vendor.tar.xz) - Modify build commands to include "-mod=vendor" to use new vendor tarball - Add CSI sidecars as BuildRequires, in order to determine versions through _service process - Replace %setup of vendor tarball with a simple tar extraction - Move registry detection to %prep, and set correct registry through a search and replace on the SUSE_REGISTRY string - Use variables to track rook, ceph and cephcsi versions - Add '#!BuildTag', and 'appVersion' to chart.yaml - Add required versioning to helm chart - Leave ceph-csi templates in /etc, and include them in main rook package. - csi-template-paths.patch - Include only designated yaml examples in rook-k8s-yaml package- Update to v1.4.0: * Ceph-CSI 3.0 is deployed by default * Multi Architecture docker images are published (amd64 and arm64) * Create/Delete beta snapshot for RBD, while support for Alpha snapshots is removed. * Create PVCs from RBD snapshots and PVCs * Support ROX volumes for RBD and CephFS * The dashboard for the ceph object store will be enabled if the dashboard module is enabled. * An admission controller enhances CRD validations (Experimental) * The admission controller is not enabled by default. * Support for Ceph CRDs is provided. Some validations for CephClusters are included and a framework for additional validations is in place for other CRDs. * RGW Multisite is available through new CRDs for zones, zone groups, and realms. (Experimental) * CephObjectStore CRD changes: * Health displayed in the Status field * Run health checks on the object store endpoint by creating a bucket and writing to it periodically. * The endpoint is stored for reference in the Status field * OSD changes: * OSDs on PVC now support multipath and crypt device types. * OSDs on PVC can now be encrypted by setting encrypted: true on the storageClassDeviceSet. * OSDs can now be provisioned using Ceph's Drive Groups definitions for Ceph Octopus v15.2.5+. * OSDs can be provisioned on the device path such as /dev/disk/by-path/pci-HHHH:HH:HH.H with colons (:) * A new CephRBDMirror CR will configure the RBD mirroring daemons. The RBD mirror settings were previously included in the CephCluster CR. * Multus support is improved, though still in experimental mode * Added support for the Whereabouts IPAM * CephCluster CRD changes: * Converted to use the controller-runtime framework * Added settings to configure health checks as well as pod liveness probes. * CephBlockPool CRD has a new field called parameters which allows to set any Ceph pool property on a given pool * OBC changes: * Updated the lib bucket provisioner version to support multithreading * Added support for quota, have options for object count and total size. * Prometheus monitoring for external clusters is now possible, refer to the external cluster section * The operator will check for the presence of the lvm2 package on the host where OSDs will run. If not available, the prepare job will fail. This will prevent issues of OSDs not restarting on node reboot. * Added a new label ceph_daemon_type to Ceph daemon pods. * Added a toolbox job example for running a script with Ceph commands, similar to running commands in the Rook toolbox.- Update to v1.3.4: * Finalizer for OBC cleanup (#5436) * Remove invalid MDS deactivate command during upgrade (#5278) * Enable verbose logging for LVM commands (#5515) * Set external creds if admin key is available (#5507) * Fail more gracefully for an unsupported Ceph version (#5503) * Set pg_num_min on new rgw metadata pools (#5489) * Object store deployment failed to start on openshift (#5468) * Relax OBC error handling and user deletion (#5465) * Create missing secret on external cluster (#5450) * Python script to generate needed external cluster resources (#5388) * Docs: clarify required version of helm for upgrades (#5445) * CSI priority class example update (#5443) * Set test default pool size to one (#5428) * Remove invalid verbose params from lv activate (#5438)- Update to v1.3.1: * Stop the pool controller from staying in a reconcile loop (#5173) * Update the rgw service port during upgrade (#5228) - Removed orchestrator-cli-rename.patch as it got merged- Update to v1.3.0: * Ceph: revert mgr to minimal privilege (#5183) * Enable the Ceph CSI v2.0.1 driver by default in Rook (#5162) * ceph: add liveness probe to mon, mds and osd daemons (#5128) * Ceph: prevent pre-existing lvms from wipe (#4966)- Update to v1.2.7 (bsc#1168160): * Apply the expected lower PG count for rgw metadata pools (#5091) * Reject devices smaller than 5GiB for OSDs (#5089) * Add extra check for filesystem to skip boot volumes for OSD configuration (#5022) * Avoid duplication of mon pod anti-affinity (#4998) * Update service monitor definition during upgrade (#5078) * Resizer container fix due to misinterpretation of the cephcsi version (#5073-1) * Set ResourceVersion for Prometheus rules (#4528) * Upgrade doc clarification for RBAC related to the helm chart (#5054)- Update to v1.2.6: * Update default Ceph version to v14.2.8 (#4960) * Fix for OSDs on PVCs that were crashing on Ceph v14.2.8 (#4960) * Mount /udev so the osds can discover device info (#5001) * Query for the topology.kubernetes.io labels in K8s 1.17 or newer for the CRUSH hierarchy (#4989) * Log a warning when useAllNodes is true, but nodes are defined in the cluster CR ([commit](https://github.com/rook/rook/pull/4974/commits/69c9ed4206f47644687733396d87022e93d312a3))- ceph: orchestrator cli name change * Add orchestrator-cli-rename.patch- ceph: populate CSI configmap for external cluster- Update to v1.2.4: * Stop garbage collector from deleting the CSI driver unexpectedly (#4820) * Upgrade legacy OSDs created with partitions created by Rook (#4799) * Ability to set the pool target_size_ratio (#4803) * Improve detection of drain-canaries and log significant nodedrain scheduling events (#4679) * Sort flexvolume docs and update for kubespray (#4747) * Add OpenShift common issues documentation (#4764) * Improved integration test when cleaning devices (#4796)- Package helm charts for the rook operator for ceph (SES-799)- Update to v1.2.2: * Allow multiple clusters to set useAllDevices (#4692) * Operator start all mons before checking quorum if they are all down (#4531) * Ability to disable the crash controller (#4533) * Document monitoring options for the cluster CR (#4698) * Apply node topology labels to PV-backed OSDs in upgrade from v1.1 (#4616) * Update examples to Ceph version v14.2.6 (#4653) * Allow integration tests in minimal config to run on multiple K8s versions (#4674) * Wrong pod name and hostname shown in alert CephMonHighNumberOfLeaderChanges (#4665) * Set hostname properly in the CRUSH map for non-portable OSDs on PVCs (#4658) * Update OpenShift example manifest to watch all namespaces for clusters (#4668) * Use min_size defaults set by Ceph instead of overriding with Rook's defaults (#4638) * CSI driver handling of upgrade from OCP 4.2 to OCP 4.3 (#4650-1) * Add support for the k8s 1.17 failure domain labels (#4626) * Add option to the cluster CR to continue upgrade even with unclean PGs (#4617) * Add K8s 1.11 back to the integration tests as the minimum version (#4673) * Fixed replication factor flag and the master addresses (#4625)- Update to v1.2.1: * Add missing env var `ROOK_CEPH_MON_HOST` for OSDs (#4589) * Avoid logging sensitive info when debug logging is enabled (#4568) * Add missing vol mount for encrypted osds (#4583) * Bumping ceph-operator memory limit to 256Mi (#4561) * Fix object bucket provisioner when rgw not on port 80 (#4508)- Update to v1.2.0: * Security audit completed by Trail of Bits found no major concerns * Ceph: Added a new "crash collector" daemon to send crash telemetry to the Ceph dashboard, support for priority classes, and a new CephClient resource to create user credentials * The minimum version of Kubernetes supported by Rook changed from 1.11 to 1.12. * Device filtering is now configurable for the user by adding an environment variable + A new environment variable DISCOVER_DAEMON_UDEV_BLACKLIST is added through which the user can blacklist the devices + If no device is specified, the default values will be used to blacklist the devices * The topology setting has been removed from the CephCluster CR. To configure the OSD topology, node labels must be applied. * See the OSD topology topic. This setting only affects OSDs when they are first created, thus OSDs will not be impacted during upgrade. * The topology settings only apply to bluestore OSDs on raw devices. The topology labels are not applied to directory-based OSDs. * Creation of new Filestore OSDs on disks is now deprecated. Filestore is in sustaining mode in Ceph. + The storeType storage config setting is now ignored + New OSDs created in directories are always Filestore type + New OSDs created on disks are always Bluestore type + Preexisting disks provisioned as Filestore OSDs will remain as Filestore OSDs * Rook will no longer automatically remove OSDs if nodes are removed from the cluster CR to avoid the risk of destroying OSDs unintentionally. To remove OSDs manually, see the new doc on OSD Management - Update csi-dummy-images.patch - Update flexvolume-dir.patch - Drop outdated patch 0001-bsc-1152690-ceph-csi-Driver-will-fail-with-error.patch- Update rook to v1.1.7: * Skip osd prepare job creation if osd daemon exists for the pvc (#4277) * Stop osd process more quickly during pod shutdown to reduce IO unresponsiveness (#4328) * Add osd anti-affinity to the example of OSDs on PVCs (#4326) * Properly set app name on the cmdreporter (#4323) * Ensure disruption draining state is set and checked correctly (#4319) * Update LVM filter for OSDs on PVCs (#4312) * Fix topology logic for disruption drains (#4221) * Skip restorecon during ceph-volume configuration (#4260) * Added a note around snapshot CRD cleanup (#4302) * Storage utilization alert threshold and timing updated (#4286) * Silence disruption errors if necessary and add missing errors (#4288) * Create csi keys and secrets for external cluster (#4276) * Add retry to ObjectUser creation (#4149)- Update rook to v1.1.6: * Flex driver should not allow attach before detach on a different node (#3582) * Properly set the ceph-mgr annotations (#4195) * Only trigger an orchestration if the cluster CR changed (#4252) * Fix setting rbdGrpcMetricsPort in the helm chart (#4202) * Document all helm chart settings (#4202) * Support all layers of CRUSH map with node labels (#4236) * Skip orchestration restart on device config map update for osd on pvc (#4124) * Deduplicate tolerations collected for the drain canary pods (#4220) * Role bindings are missing for pod security policies (#3851) * Continue with orchestration if a single mon pod fails to start (#4146) * OSDs cannot call 'restorecon' when selinux is enabled (#4214) * Use the rook image for drain canary pods (#4213) * Allow setting of osd prepare resource limits (#4182) * Documentation for object bucket provisioning (#3882)- Update rook to v1.1.4: * OSD config overrides were ignored for some upgraded OSDs (#4161) * Enable restoring a cluster after disaster recovery (#4021) * Enable upgrade of OSDs configured on PVCs (#3996) * Automatically removing OSDs requires setting: removeOSDsIfOutAndSafeToRemove(#4116) * Rework csi keys and secrets to use minimal privileges (#4086) * Expose OSD prepare pod resource limits (#4083) * Minimum K8s version for running OSDs on PVCs is 1.13 (#4009) * Add 'rgw.buckets.non-ec' to list of RGW metadataPools (#4087) * Hide wrong error for clusterdisruption controller (#4094) * Multiple integration test fixes to improve CI stability (#4098) * Detect mount fstype more accurately in the flex driver (#4109) * Do not override mgr annotations (#4110) * Add OSDs to proper buckets in crush hierarchy with topology awareness (#4099) * More robust removal of cluster finalizer (#4090) * Take activeStandby into account for the CephFileSystem disruption budget (#4075) * Update the CSI CephFS registration directory name (#4070) * Fix incorrect Ceph CSI doc links (#4081) * Remove decimal places for osdMemoryTargetValue monitoring setting (#4046) * Relax pre-requisites for external cluster to allow connections to Luminous (#4025) * Avoid nodes getting stuck in OrchestrationStatusStarting during OSD config (#3817) * Make metrics and liveness port configurable (#4005) * Correct system namespace for CSI driver settings during upgrade (#4040) - Update csi-dummy-images.patch - Update csi-template-paths.patch - Update 0001-bsc-1152690-ceph-csi-Driver-will-fail-with-error.patch- Force use of ceph kernel client driver (bsc#1152690) - Add 0001-bsc-1152690-ceph-csi-Driver-will-fail-with-error.patch- Define build shell as /bin/bash for usage of `=~` conditional (bsc#1152559)- Fix csi-dummy-images.patch to work with Go linker's -X flag (bsc#1152559) + update linker flags themselves to remove comments from flags + add test to spec file to verify linker flags are working in future- Fix 2 improper RPM spec variable references in specfile (bsc#1151909)- Use lightweight git tags when determining Rook version from source in tarball script (bsc#1151909) + Build should now be tagged appropriately as version 1.1.1.0 instead of 1.1.0.x - Override some Rook defaults with linker flags at build time: + CSI image -> SUSE image + FlexVolume dir (for Kubic) - Add patches for: + updating CSI image to a dummy value later changed at linker time + updating CSI template paths to the ones installed by rook-k8s-manifests + update the FlexVolume dir path to be compatible with Kubic - Remove previously applied SUSE-specific changes that are now taken care of by the above patches - Add patch: csi-dummy-images.patch - Add patch: csi-template-paths.patch - Add patch: flexvolume-dir.patch- rook-k8s-yaml: Fix YAML indentation of cephcsi image value (bsc#1152008)- Update Rook to match upstream version v1.1.1 (bsc#1151909) + Disable the flex driver by default in new clusters + MDB controller to use namespace for checking ceph status + CSI liveness container socket file + Add list of unusable directories paths + Remove helm incompatible chars from values.yaml + Fail NFS-ganesha if CephFS is not configured + Make lifecycle hook chown less verbose for OSDs + Configure LVM settings for rhel8 base image + Make kubelet path configurable in operator for csi (#392 + OSD pods should always use hostname for node selector + Deactivate device from lvm when OSD pods are shutting down + Add CephNFS to OLM's CSV + Tolerations for drain detection canaries + Enable ceph-volume debug logs + Add documentation for CSI upgrades from v1.0 (#386 + Add a new skipUpgradeChecks property to allow forcing upgrades + Include CSI image in helm chart values (#385 + Use HTTP port if SSL is disabled + Enable SSL for dashboard by default + Enable msgr2 properly during upgrades + Nautilus v14.2.4 is the default Ceph image + Ensure the ceph-csi secret exists on upgrade + Disable the min PG warning if the pg_autoscaler is enabled + Disable the warning for bluestore warn on legacy statfs - add SUSE-specific changes to manifests: + uncomment ROOK_CSI_CEPH_IMAGE var + set FlexVolume dir path for Kubic + add ROOK_CSI_*_TEMPLATE_PATH configs- rook-k8s-yaml: Revert to buildrequire for ceph (bsc#1151479)- Update tar creation script + build rook tag 'v1.1.0' from 'suse-release-1.1' branch - Update Rook to tag 'v1.1.0' (bsc#1151479) + fix HighMonLeaderChanges alert + add leases rules to CSI rules + only schedule node drain canaries on nodes with OSDs + increase sidecar timeout from 60s to 150s + use combined (stdout+stderr) output from ceph-volume + set command property for the OSD prepare init container blkdevmapper + change OSD DOWN message to debug level + discovery daemon: ignore updates on nbd devices- Support upstream beta tags by replacing hyphens in release tag with tildes + RPMs sorts tildes before anything else to support vX.Y.0~beta.B coming before vX.Y.0- Update tar creation script + fail on more types of script errors + exit properly on error + allow checking out tags + allow parsing tag versions with hyphens (e.g., v1.1.0-beta.1) + use revision (tag) 'v1.1.0-beta.1' from ('suse-release-1.1' branch) - Update Rook to tag 'v1.1.0-beta.1' + support external Ceph clusters + fix osdsPerDevice config + add portable failure-domain label to OSD deployments + add bucket provisioner + use deployment with leader election instead of stateful set for CSI drivers + fix alerting & recording rules + fix race in create ObjectUser + support mon migrations without rebuilds when using PVCs + allow CRUSH map to be based on PVCs for PVC-based OSDs + fix md and dev ordering for ceph-volume batch operations + improve upgrades when a mon is down + fix service account name for CSI RBD provisioner + add -pidlimit flag for CephFS and RBD plugins for CSI driver + add image pull secrets option to manifests + remove OSD pods marked out if pod is more than an hour old + add --db-devices flag to ceph-volume provisioning & fix MB size bug + implement GRPC metrics for cephcsi + clean up verbose Ceph logging + update upgrade documentation for v1.1 release + remove unused attacher service account + add dynamic expansion to FlexVolume driver + fix random OSD pod failures when using PVCs + fix osd prepare panic + lower minimum OSD memory to 2GB + add ability to enable mgr modules via CRD (notably the pg_autoscaler module) + fix topologyAware on PVC-based OSDs + add support for OpenShift machine disruption budgets- Make rook-k8s-yaml require the matching ceph version - Update rook to commit 692553221d8b18fec8aa3ccdc5872e51f05ca372: + uncomment ROOK_CSI_CEPH_IMAGE var- Trim redundant wording from description.- Tech preview release for containers (bsc#1145433)- Update Rook to commit e9abbf4831673a9a5545971532ae326e95f3ea60 + enable the ceph-csi driver by default + remove csi default settings from yaml + add option to disable flex driver + allow the discovery daemon to be optional + automatically create the csi secret with the cluster + Allow to launch pods when memory request is set (but no memory limit) + ceph: chown with init container + ceph: when mons use pvc mount volume at subpath - csi was merged to operator.yaml, sed to correct file- Fix build broken with creation of new rook-integration helper files - Put helper files into /usr/share/rook-integration dir - Change name of 'integration' binary to 'rook-integration'- Generate files which contain the names of all images used in the manifests produced by this build which are installed with the rook-integration package to assist the integration tooling.- Update spec file to build rook-integration binary - Building test binaries is different from building main binaries, so manual steps needed - Apply linker flags to rookflex binary also (just in case) - Slightly rework rook-k8s-yaml summary description- Correct toolbox location in manifest files- Update Rook to commit 7a48482f5cd92397eef068d097ad233739ceae06 + ceph: run ceph processes with the 'ceph' user + Correct typo about skipVolumeForDirectory's code comment + Fix: topologyAware does not pick up failure domains. + Correct typo about skipVolumeForDirectory's code comment- Update Rook to commit 0141cfea50a7f80ff1ee67aa8cc7ad28edc79a64 + OSD startup on SDN for error "Cannot assign requested address" + Change default frontend on nautilus to beast + RGW daemon updates: ~ Remove support for AllNodes where we would deploy one rgw per node on all the nodes ~ Each rgw deployed has its own cephx key ~ Upgrades will automatically transition these changes to the rgw daemons + Correct --ms-learn-addr-from-peer=false argument for ceph-osd + When updating the CephCluster CR to run unsupported octopus, fix operator panic + Add metrics for the flexvolume driver + Set the fully qualified apiVersion on the OwnerReferences for cleanup on OpenShift + Stop enforcing crush tunables for octopus warning + Apply the osd nautilus flag for upgrade + RGW: Set proper port syntax for beast in nautilus deployments + Stop creating initial crushmap to avoid incorrect crush map warning + Use correct rounding of PV size for binding of PVCs (for example G or Gi) - Add psp to common.yaml- Use ceph-base pattern instead of packages- Fix sed expression to replace correct link- Add ceph-csi as a dependency and update manifest link with it- correct version for Rook build that doesn's support "+"- noarch for the rook-k8s-yaml package - update rook to a265cdf commit + added ROOK_CSI_* template pathes - modify update script for none Go enviroment- Fix subtly broken dependency (vendor dir) generation - Generate two tarballs for builds to follow latest upstream best practices for Golang RPM builds + primary source tarball is unmodified from source code, and vendor dir is a separate tarball - Add Rook toolbox script to main rook package - Update manifests to use SUSE image for toolbox - Update spec file dependencies + remove old Rook dependencies + add missing dependencies from the upstream Ceph image (notably nfs-ganesha and CSI requirements) - Update build to include go build linker flag to set rook binary's internal version representation - Remove FlexVolume config from manifests, as we intend to use CSI henceforth - Update Rook to commit c4a3763b6415a118aedaee52eaf76cbdf6b0dabb + delay starting Rook system daemons until a CephCluster is created + stop setting CRUSH tunable automatically + use --ms-learn-addr-from-peer flag for OSDs for Ceph v14.2.2 and up - https://github.com/rook/rook/issues/3140 + when appropriate, look for rook and tini binaries in PATH if not found in default location + set fully qualified apiVersion on OwnerReferences + OSDs marked out by Ceph will have their Kubernetes resources automatically cleaned up (will not be removed from CRUSH map) + add NodeAffinity to system daemons- restore package name and correct unique containers tags- changing package name as it couldn't comply to the container tag name + https://github.com/containers/image/issues/649- Ceph added as a requirement to get it version for the container image - Added service to strip Ceph version from ceph package - Fixed sed for the container images names- Update Rook to commit ad89e4f47e744c484b8e264e351f6276a42eedfc + change csi template path to match rook-k8s-yaml package files - Fix update-tarball.sh to delete right files - Add all manifests to the rook-k8s-yaml packages - Fix rook binary location from /usr/local/bin/ to /usr/bin/- Fix update-tarball.sh to ignore errors where is needed - Update spec to include additional ceph-csi config files- Adding additional files as Source to spec- Update tarball generation script to get correct version - Correct tarball name, spec version and package name - Add new k8s-yaml package to distribute manifests files- Update rook to commit 700cdd36fe9107733a717fac934c2bedd91fd290 - build from https://github.com/SUSE/rook/tree/suse-master - based on Rook v1.0.0 - Ceph: + Ceph Nautilus (v14) is now supported by Rook + The Ceph-CSI driver is available for experimental mode + A CephNFS CRD will start NFS daemon(s) for exporting CephFS volumes or RGW buckets + The number of mons can be increased automatically when new nodes come online + OSDs provisioned by ceph-volume now supports metadataDevice and databaseSizeMB options- Update rook to commit c43b57844e37a7909beb362d08ef85fffdd5fed4 - build from https://github.com/SUSE/rook/tree/suse-master - Ceph: + Improve rbd hotplug selection + set default version to nautilus + improved OSD removal + clean shutdown of CephFS + improve logging + improved upgrade ochestration- Update rook to commit 69936c170cb3913a539eacf963993e9bb3545e8a - Cassandra: Fix the mount point for th - Ceph: + Improve mon failover cleanup and operator restart during failover + Enable host ipc for osd encryption + Add missing "host path requires privileged" setting to the helm chart- Update rook to commit 8e263cd9c31b0a310b0d1180e58ac843b432b14b - Correctly capture and log the stderr output from child processes - Allow disabling setting fsgroup when mounting a volume - Allow configuration of SELinux relabeling - Correctly set the secretKey used for cephfs mounts - Set ceph-mgr privileges to prevent the dashboard from failing on rbd mirroring settings - Correctly configure the ssl certificate for the RGW service - Allow configuration of the dashboard port - Allow disabling of ssl on the dashboard- Update rook to commit d0cd8cec72176bf28a3ac0ba1457297151004f79 - Ceph CRDs have been declared stable V1. - Ceph versioning is decoupled from the Rook version. Luminous and Mimic can be run in production, or Nautilus in experimental mode. - Ceph upgrades are greatly simplified - The minimum version of Kubernetes supported by Rook changed from 1.7 to 1.8- install to /usr/local/bin as rook hardcodes this path for rookflex- Update rook to commit bf2759e317c44c0ad0aaf635e04cbd72a002a5a0 - Refactor ceph containers to disconnect rook and ceph versions- Update Rook build to use '-buildmode=pie' flag - Version at commit e11b3d863728667ea018aa329f3ad907360473cf- Initial submission - Version at commit 71514921ad8e41ede6f2814e7004f0465e3dd0f7 - Modifications to upstream Rook to support SLE: - Nonelamb26 1684757413  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef1.6.2+git0.ge8fd65f08-bp155.3.59  rook-ceph-helm-chartsoperatorChart.yamlREADME.mdexamplesceph-client.yamlcluster-external-management.yamlcluster-external.yamlcluster-on-pvc.yamlcluster-stretched.yamlcluster-test.yamlcluster.yamlcommon-external.yamlcommon-second-cluster.yamlcommon.yamlcrds.yamlcreate-external-cluster-resources.pycreate-external-cluster-resources.shcsicephfskube-registry.yamlpod.yamlpvc-clone.yamlpvc-restore.yamlpvc.yamlsnapshot.yamlsnapshotclass.yamlstorageclass.yamlrbdpod.yamlpvc-clone.yamlpvc-restore.yamlpvc.yamlsnapshot.yamlsnapshotclass.yamlstorageclass-ec.yamlstorageclass-test.yamlstorageclass.yamldashboard-external-http.yamldashboard-external-https.yamldashboard-ingress-https.yamldashboard-loadbalancer.yamldirect-mount.yamlfilesystem-ec.yamlfilesystem-mirror.yamlfilesystem-test.yamlfilesystem.yamlimport-external-cluster.shmonitoringcsi-metrics-service-monitor.yamlprometheus-ceph-v14-rules-external.yamlprometheus-ceph-v14-rules.yamlprometheus-ceph-v15-rules-external.yamlprometheus-ceph-v15-rules.yamlprometheus-ceph-v16-rules-external.yamlprometheus-ceph-v16-rules.yamlprometheus-service.yamlprometheus.yamlrbac.yamlservice-monitor.yamlnfs-test.yamlnfs.yamlobject-bucket-claim-delete.yamlobject-bucket-claim-retain.yamlobject-ec.yamlobject-external.yamlobject-multisite-pull-realm.yamlobject-multisite.yamlobject-openshift.yamlobject-test.yamlobject-user.yamlobject.yamloperator-openshift.yamloperator.yamlosd-purge.yamlpool-ec.yamlpool-test.yamlpool.yamlpre-k8s-1.16crds.yamlrbdmirror.yamlrgw-external.yamlscc.yamlstorageclass-bucket-delete.yamlstorageclass-bucket-retain.yamltest-dataceph-status-outtoolbox-job.yamltoolbox.yamltemplatesNOTES.txt_helpers.tplclusterrole.yamlclusterrolebinding.yamldeployment.yamlpsp.yamlresources.yamlrole.yamlrolebinding.yamlserviceaccount.yamlvalues.yaml/usr/share//usr/share/rook-ceph-helm-charts//usr/share/rook-ceph-helm-charts/operator//usr/share/rook-ceph-helm-charts/operator/examples//usr/share/rook-ceph-helm-charts/operator/examples/csi//usr/share/rook-ceph-helm-charts/operator/examples/csi/cephfs//usr/share/rook-ceph-helm-charts/operator/examples/csi/rbd//usr/share/rook-ceph-helm-charts/operator/examples/monitoring//usr/share/rook-ceph-helm-charts/operator/examples/pre-k8s-1.16//usr/share/rook-ceph-helm-charts/operator/examples/test-data//usr/share/rook-ceph-helm-charts/operator/templates/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Backports:SLE-15-SP5/standard/2ddb084675271bf3516c21241402b8a3-rookcpioxz5x86_64-suse-linuxdirectoryASCII textASCII text, with very long linesPython script, ASCII text executable, with very long linesBourne-Again shell script, ASCII text executable, with very long linesBourne-Again shell script, ASCII text executableUTF-8 Unicode textͥ}X:VZJFutf-818a8489262ab6d0e75dad80f40a54ca172039f20dc5395064236853852294973?P7zXZ !t/] crt:bLL ؝.#{TJgi˙Gjt^:Vͤ5THDx1b~ۤJ_ZGM}pWIɯE,\ I;*6M /D~nAbv,$>t6GӉֵ4sF^/k/dəԜd n|| ͮT@6i]}PB-|,?5w…I fO7!iL@LEV$MteezQ17Z g />u[F:WؕiZ ֏u1i99aj?\D6lұӥ0n>uo}ݰ˰/;/w4zür _G}-1eۏf;o?7$legY(E * gH.n&?cQ8(9Q&n[r>% ,Nq[rJ*F5&z,PB׎"»#<},@%VIPIO0cߠߌ]0*󥇨!8s*}鱔 #1X9"gLf*,ꍣkY~z,Oy[YR8α$W)x])BĊ/k^NKȻ[zߵO=ۙf$ƞ=e*4V/,jGC9Cuv}Z+BF4V?a# )ޖ/ 8j [rB*ATX7B0ZPHBe_?FlW_+ G&=骎[_s<ʾtaz/,hmA_<fFA"j=is=p"9}lXBdi_l2^%RuLÜh"&ۧe)ˆ*ԀAtEI%ŪtDJ+ܤ"' I񂼯]ML,p^8GCK,~PeBn!6^< w̙{:@lm mrITţr dC.b嚷{eT[vhMcBY.[5OWb_ ̅PRPxBhG* /&8wFj5mw! /;>A\4/}3q{/j0# !@b̝V]m!j;_61g|Q5OV`cYLdlX9s$UY/see~z,Ki4;JB)į8 ri8pKO)aӨUo6{<0"caJQ6~iǣڥe=\#Mgn_u&^i44õ ,?a ID"t25Ax+C@HIr搛?[Jʎ:W9Jf<%-p5OyޙpNW+b;O~+X{)5C}1f20,Zs"!ӧ٦x5s2fwwy(V^ q9SE`IíosJ 6%"ԁQxl9?oIb 3φmr]FVvd$.<~dž  PpMykj6%ˆZw\^yL 7꾸zӢh Nfw}2-PCi#Jhv)v &,ƹZt9': Z h}vk@$% {q\E~AFg +pmnD/ =GokV)/3gÁe .}w !39JM-kOȆbAXq֢LZ󱈪︛h^'iS;)D9Uh6AN)7.:܍i,ʼn@t^xJnͯڂ;9C( R.DT6 MKiKHxd \LZD3I)^Xm`v-4W_ns^f`u"pWp,!:đtjx&򞰧gtgk;2U1 v>klϭDwXPImwTvm}gLĴ]nJ1˧Dևؓk\c<1A;|c=(Sc!ɨ tzsU,kB1hXDX:QZ5_vi9-#AfQoܠµA}9 at {Eظ4Ovl|@ ,rV%p[`WgŮncQ 탮´Wg0Sp#ZY,rún[JKfI[x6M:O9dv!˘M>Cŝ8:3jR7FrP=ZEh,y|VOmp_SĤy=6H%G*c჋ R@wA8>(7lx'fW~¨Wyq?Psbe'6Z3 Sq7$jPa`>drNZ}Y+' SL[$KI?Ad3ƻ&?xBpyO{g斅,ZdYATVeq >kfb-gY4z%^6ZN|7J;({{@M,4 :{"X>!xmdpQ<c".dPihkobLGֈMI1!Ƞ`OF[b%+sϾ|KYXt_Mz@qlv'-*D(T%=>Tsm4ICSTNQx(B Q-G#)o^oBrq5cO,7ȟQdFx5T, 6U407m@AcTW%(*yTY$^ 6:#;hm)9N@DddbeNЩSWt#Rcu`{`cx07M ֢/azL&=\'Lx[ϱn u*BjC.NJd3L\3@ #Qն&c*uuC\yas[q*xV޲1+z Aw2yO3N 4 @IF je QUS>.ҿrG?=R&x'DAI't|znz|Q#ͨLSʊsz N+v0|yGܝ{-^0)ŐQc)3ƁC/C`Ƕ5!3#xz|/}k򿾆~-ǹF1\ 1ɽvhT_AE}n]~G)No#=XӼm6lv<@-<[`a a)jt@OUߦr02Ka4"ВE0 ۘ=Qx Z{*"Z Rn #Tj<+1@CİtFxև~cmj5v?2D="Q"x,2GM``grPBk0`(9e _#6w*ˈ1zwqlzsNբ-7W{rL*cNrAZi5Lqۀ m뼵HW9=HMd|al5r"lj9 KUgߒOս3B ={+&#MfN :H q ?34%ʲ1m#(o 'kL8m@ !QvXDjIƌ|DvnkǖL%&QsY˥gdVMc1)}@h)mz\nh,<3FU؀ bF02zBp736(w9WJ@a6D,/A.)f1=hxx,!Y<,i JH8gz\BogȓEESBZOQ);#1b-Ume0M )GW~A#%֕v6z<-[J$I&m$+HV~N?M!`/{A\a&H\X_-l*)bi0?UYyࠕD#Y.*cDIup0s0kʪ 1v w{2L F-:V3\Fϸ,4-#U&e3tb'x]z.g}/̯BF0׻dٛ.<Nw8LMY kޛ(EP0mX67lęv @@?.BY^GpT~v{Jqw nF-1/#Aw1+RtܹRч(&4+ A˷?à*zI~2T kWH19+9(?\vhGvltŕǂ9NZipX6 Ix o3 N#ВeŹg3:S~a6J:*6޹m%`Q*|hiB{S,НP<͢t(j^-Yئ 7KHCyhmi@=̴גv(_:lBSs1]">`/UI[8+򼅼]@9`Li1 s;ŌGZ\NEYB9´3VZy]Nҵ["/ 8p0F\`?f;wFCȲĞTnU~=p=Uxѐ=n y JNFj3lQJ -RKUAc_7 y})Bծ3h}]W%S@C}I9i_;y%,Hy%u!|nJT ^=}Ņ<~GE9 _ZL6n4ج OrgaFuM#*>"N83f̀UQREÙ1N I 8Ad-< ܏]̡CU ,Fu=[HzPaoˑy(N֮FDi_Z*!GĘ?BdI)a!L0 67 j oJwYY{?!E5~~LR/'uvyfsmV_>; Wou{S^v:R U25n2}@E<-s:!30 OM/P?6ۛ|2Ԭ0 EA( c >[폁x~:sߩʴQ];irc@ϛr6p\n&{rgZ& Eǿ&HL/iŵ,ӫغ}gXJSlɰ B^nkDWY:5`7j=œ-4]c$y/,{荈~עxlb *FS4k-R-74DspNF3g!}Cy09C@CBPd?|*â|C{r(SsUǞS:w$m_|S5aD[:\$LSaYra6nR PcǛ!磈^{1:BzPOPL#weLw򮼬B*'!cbI'>0rΙ7S2vi溯@>ToWGܪ*#MIO^u0WOzC["{&Ѩ:F(ٔ/4=5.ijֺd]#kvb,yD~rj|)gm=;2$p'% ~nO^HtLLz&|7R%æLZȓ\w]<2`!L= D&?=-{*4,ߧOCV0k8]"lF QDe\7=F;R$8@YⳚ|2ʯ?Α>.5GK{d7@tCډ*j+zsɝ[woCV٘ ύD} TH>[<%]N&|Dj"yZ>֚ "Ofsb.:.fWy[XEP6įAFWTbB4g=C@|oN/ɇxi @;9%8g6,C`BHd~/e2^QvEB'&f㨹6E1lm?bBxR0K7,. )IOVg7D~!sR D jTeבOḼaXj@uQ?Z$)mAC}oHcLZayL{¨[æMk5"#?\¯ IV'd8a =mBY[3C5ۜ%L{=ډʙ*s4{*fAz,\/Kq62SiKvudp>&fxZF8l@ez*@+ձ[{Jxב~O2lS[?!\NGPR`ՀWGq&Iͩ? -5Qa-ekݤ; +g!NzE)ܠo\l(9YƋ/h/(vަ n6yncyvMҚ `]"Xg*LnLo b[N_YoۛٽIجs'z;nCM.LsŰX|C+%B > n?#d-{:ݬI/ Z啕<6KgU< 6!y_Ej'5өźd" |7gۚ#NZ"_ߓ!0.[{?=Pm3ce,w>;-~[ Jf^mVɹE@kq^=.Zŷ{$܌ӡP-Q7Ȳ q&F~i^{H"*:jUz/&ce~ |T\(uɌB2/j^8rP2{Q^Y9>aׄQ\lp$9 oHNLI'k,J[ΚfW[G3 ZZn$@@9|mB HNlM̬nö'gk'2a nBKߤH)<}슄? e~( Kw| Φ6e~A"Ss7ֻ 1h6 dgA/KD|tz)]G$[Tf=kce8x#-FŠՇN`x$n3N,'U_X̉1 MVPd_ uN`LȖ65&nf!fju\jhf5g*| {F;틹U`;Ǿw -SY9qU X5;8:S2>ew*c}S82W^x>}$AHv6$,Њx>K2Zw ez> @ A#2q&ɱI{AI xk *q"!-ѓ\o=%aM/"c |Lц5kB?u(6+lb %϶2ʘXf;g: po\O.y"}%bszyW12/*|}D]!Kd8m:;9b5dt:;9q @Xaw#Lkxڟ ˗:JNR<<%WιA}'Ics-ܵnwX2"3xnyJ6BWQUJ2:0Rl,Syӛ;I?+X}N6p=Y:ơ+X#轨t<;}v݃wD{BtwNRHU/!M78BNFߕ@>l%PLZռ*󶌁b>E$+ Ah3vD]U_烷KypS/VUqn)7mN Պ-!"3]nvv@U(.a"vrX avlxR> Λpˊ^ \?&4yD)Qbb:2=:;򹦙Fќ| "f>mvؚVpDS)3DeuPfŕ9VwRo M /i뛾{1I;aKi@?0FxqT(~6ENd\ZuNJ.Q e')f@H_ WdhoېºU`1K;hkLUܪ"oE|(Ym31}4(] My8@*XxTj4G#>g΄{n&/w$}16J,ZD8lBcO[߁ 標A*ƀ)nq*jm͛{  Ȃ3b9)M95(eda$eM,hz^{#;"׻ <:X[0t}kB4 |E۳(,EoƛэHYZ ^̄m%5&}ԻT_%h{( Be tzW=yD\NAyӠ;=n[8['&q;_iMhd8b:'5Xοob(\P Si?A缸°$Ϛqh:m,G;jҹ 'hUYu:kcf𗸴,wlS\ytD'I$2Yȸent/~v5kMEJܔwIsKq 3mv[#$g%gq4&j Y4I4Z0Y^n9P\p,rA@p0`Mο x!;fs608e@l!"|O.cryMI}iwW S+֣iBSNP5pd>М2 Ҽ J^T5?鿂+v.\i+:8c l(rCOw @9Rİ a.w(K;pxB QDv]L7mB||7ه- ~uCnl]DA%!x0a5kd쟃M/"{Űe6+D,(@D/Y#[9{O90@8\ ݶ:tb!URVJ,wI61KΊ Ġ蜠qTmHO$FO- *G-J)!Q'O (o!%@o.ncNl[TJٹӨbLvۦ^4g,"h~V 9ha(2W~NgN+Lj&|mB0Q}Y;Vm(NY>^Q)u<7༕Pdq [ڰdREN%* .+\svtF._Uq%¦]]: q]1;l~yC=)y( GCNRhǂl.e Ul}d:HYh0<)8bppw0cDA[X5)5ΊcgʗAAS㤚: W$3\!G$HnC3h圞AR~ZH,[Q#_ }15oԸ(iE'\`3\WSfzojGC*v'% w|% ΣCR< 3q?I=7b0w v*z|WD!.~O;v6Y{ĤD\g-')vԇH0:@JM,gnͶ[kZ/,q'EɊ,\x[U|\kAW M`XGє5[7 IDάN|dl2(oKx)R}^| 4qP9n[K sZzG$ .Jn5 忱ɴՌ dPh;G|<^%}g r-<y&<:[Kj1g&% ײg{4g{R 2' ^ ^%\;ZXTT Nm.V)G@e!$B!c*b:$yG'v![*\.j ?_kY}`p(z^ Úrl" !\b2st0 tC F<$xC̤Col󆹟zH#7;#V)N.Xu 3m1֢q>6C3s)y/OB< c1sdh2f='6 ;1܅%qܴtGqs|Dw+7{QuRWo!ȣchc+̷rkqߑuqigt$UIF:Ȼ¸ rMʕ;ՃYa%e&hq#Uoj,lPT=nn(HNEHbx~2[>c/q58Glz2tau3< )o&87`k}ڮLX i("X_u ~,짏~u\+<wmnvfQo8ub|S8jQ:w XN]%07 O>6/=! _q)l`W@\ &v3&oe ^⊄ Tx|cN!Ғ4WQ/gmMeO%^SӢ9& (*c7IЭ J^G֓A/(j> _FP=HȘfyKl&'cf}J:n ? >Sa^MKOq_kIّ趇/us3$u{%5܃㢗V䧭=_ءΑ"bT<  z0#u7yb3%¸gx;ֹ&4(@ȄqSa|b1 T}$cB!Dx@6 KH{T^=B"d"p|7I61[w("w$^V޵J/aw :hԾkL{ohx1xnY_ n傂T0\ *:>v|j6x)V&f@|ݔdI҈D%>W"z8zrW_,?}EW5*=KY9B!w40FjGгU/׃4k˲V"%,˖,]uD؍琋=]+??65b{6(_c<`%IVOL1Gz(^Dail4B YttRx>뼍F}*1-U a/أѣ61;QuøU&aXU2}b.{+vm8#.h|D;`}i\ 1(3l}+ NtܓBt(M`0.4k> BV8edpDu6|kh1 v,'Lap>\u6[~U.7)a!a"Jg(3','6:%mV\DBo6/k=;H"$MNY pq׊!MZio e*[P 0JyLCb&N3**ed+Œ0A,?bOlBulǂ,OWy-9O]03o' X4,H^5y3ti 䈊(tuWCԜ.ۗuKX(99u dgkMjz'9.D,lE1eO;ۡO/P1:y"++%Y馠⚯et(GA_i:OijR5' HMSax_bF9%0=2Ot^5L +˜wµ|thܰZV#u6 K,^SgNEN&2g`&0M|٤Ia;;9()(o_n7'<%.#&C\_!E3R?ss&4F&G_38g}[Cy% ː8X۠"ULkK`EnL9*FrBF0'kfiп[a:ʐ6XO.Flլ[#wăkKF|) J5K8$~>;٭\8Eɔ%hE5UL8,45^?e _(-?z`V\pq,WI'^'c4$͢֌tQKL~^phɚS݇\s9yϽ3^-)t>Wt_bXaW}Rsa|;pK^!N8ibWĚF5gro"|fGٜz*>(vf8ʪ*rꜼ3Y5_ʅ#bM$'2% >t% Tp u&%4C]>oi" 8ù.KE]h: A "R/ی[W;o3qt;-_iD}6Ϯ ohfG8Ԁ&P9Rw@1w/zix8^gMNB  UǛ@q%4Ej7RQvo| jtIGVrLʶ^NUO6ީNEE5}a,|PQPw8=?mll?+<ȇ8Ppxλ=c>vicB2Oňhޣ`$@ipC &C:V #}w\ r|u#UW7*/-R!һ^{w5w[)cSm4,^=%wKt'iN.]Ryˢ_+cafMJ75H mfaR. MUc+5#&Vki4W n \4#'*/Եguve_4u9WOE'd4 TD'@W0F#iؑUACv,YLD!Hq:SNJQ3QcVKqm$ggfA#}W-T S/ 0Ǖ[,5K;>Ă"a1*Z|$͌+5"gxN9vux? _I٘){uoѱ<)gZR7oIr f‹\̒}zO붖.x K_JIg+VӢȀPaW ) ,IH8wiIږB\z.*۱ L^!8{0QqqZ.{. w67Qa`3i;Jb=D}7fC=1t8h$l"-w5]ֶvC2hGo߁}uZaKA|gC'vtG!S\ؒI9=yN_}"(H JNJu_W{"6mݾQԹ&{Ѹ€WHmP5zSdeqwpw\LUJ CcepǛm^&ڽ\+̄~zX13&YE'Ջ$a R.bY)I= 826)TP5?/bTYD{qJ97l\a8(*YUEPm0soMf =Ot]qs]`nyʫ of[tXW/{HNxɰ|Ho©rG< 1Ӊ71EWm*Q+$ FaNE(.qt 1!Q"ܿצAa`(Xݟ_)'v׬fN$e3F9w#$.]*SHxl@= حyK& SN?-rn2IݶuOTW069mX0W!֙ a>ُM'^V0S I[]l4R^[*lр7J{)4i~ a3L26l:M{>R۾ xr&B4DZ%?ЪCDi4ܸ=-mXuZWn;v)j`0JZ)}%ӸG#f2˕+hG&gFh`p\s͛z(jR'ҙvq gU5QAqcr 8=|R?4U?. -GkM{~,l4‹ ~g$Y|5cŒq5ˆ#_wEApiΜ۪0 /%7`A\d`2/j9YNx(iLej6z+9D\6 ' 5Pwޡ˚#0hR0Jb LHW|ޕ(_Ac_#o qsEX+)qC8wHJNarViM=baoP ?*bu?za(i4;2P@bw*||9>G:=ab&Ĵ8)&K# 5.%w\̼f}Hɐ$D 2fZ)L*Q9+YXX_7 NsX<_ 7w>1E=m{}CbI Z\C>٧(il )1|<)ITP`7}snj BY-Ĥ4.=wwn*4hUBM@s⏏N LdCW0ǩCiBB5T"{d= }:Gl`Țe/.U?˨Lm $e'>W>hedހymGuJn 1Q F/AfDgBkn[͑7HԒ!Q5.F*@)O QyE$Zps+y,lDȴo!yo 6aTisl^lAT@uGTA6QH59DXnǖ o/p[o}?J,Ad8B!: %瘏$ 9D$ ـ%CoFu8rѱ]B !Z6oO5@$ Ƣǖ=!V1nH| QrA0lؤ O6y03"@25laĜ~/Qa ~!lUv},}A6ѭ4|V%b2RCheCct˵iR|Q"]Kڈ&}%W$8Vn Vnl2PP$FKó4Ŗ-oݢYq]>"{F  tk-O xgYwT+іG/1{9~kH S%v $ CPʍf׼ԛ>x‰uYDB ;˓D$1,:-5%N t8#IvիQTAʁJ_xY=s~NNm*`"]lԢ14L>6X?wI]"w|zZVqĦ2蘫v,2,+銚5N%7"i3'p|DNG1b#哇,y6!cCQ3w=cfm2\X5C8t>{6wa/ARW`D2f- xs u+83t0Xj1LryF`_ 3~W{g?^|V|oA9Ty1Yja`a> 4)ZHGHs-ų5~bUڗh[5e~}{}A`{brVvUx#~ދ&?v k-'(42JB.7oCհ@$iMKB#! sWc/I܊ϣ"`cS5M¶$qSNT8eT^mDi 1{eM!pMfݖ h8QSE.)A>*PKj/[oKhpN]eP! $'5q[ ,^G:q-KoO#+!YyCB-q6nC#NVj[iNF2=_T7l'Zuo8Y:yG'se4l 7ˮn8Z"J]y@ӕǑ;Z!TRpJm$<'$_p\dާ% ミ2 N/^ܣ|3?&I"jŸRz.dg+63|'zAl(d;Wq&:vQS{"2KP̥ܠO/16C[~|;9a,5.EyGxY֫sUQg+ MK:~F:=. \ÙȍUuFgצji6N+aUl0IϖM'0!2婿5DE؍d3} ƅY"_6 \Ua,yOp4.`RpKy"BI yp~IwT a4ԄC[,`ݷ*#\k'*eKl;ڇhiS=&P1ò5sD/]G_S bby:>2=NL|)ql3yHLI2Gi .Be% -U7R7|LمY 4բO3CR@d`A,VgݤDӘ-rtn$ 4,)QZ{,PnOZ}&s=y9mkyRNWfBL T>},N:FF PYJV_N-;I#x8SbMդ?΢;JX= f[> t:bx*jv]?PĆ܈<(>y첯i=,b½]Upz7 \%h:ab(#2-rLPK o"Hb)EKsI^:ir4"C@ Cag.I|@͝x-(;-jfҧ wMffSVE ȉpyq8O(J*@z RXKc]Twjk5L?u9#kĔ]®y8Z$3ɮt,bW*x  ]x2"٩O1FNa Q3ٽ5;m#< #(Oɷ"0GVbьi& ] '+N-yH򬮙:Ǵ5=mV)c #9 *} !~D#-'2ICVM#הd,2A?C0(ֹ r\>r{șIw;sj:No7f,k['!&Âͦk@["z%QӶ ?M5h?١oUaWnhv|5UAwXD< g92PX[I7ն58/88qYf]AO S0g#f!5]+J4^ ޲ y9Vqkr ށFbj}V4OݸIz_pYM,^M1]ill͜TBhe腳ِJCqXNhAFvDtcTN[  j|-ȕh?n?p-J읇9?< Fb:'ŠW%4̓:\`]5%Ãy$OҜ,+fP>&>/e\Rl$ ,P3? [ᥗ4hK5+ea Izg"5b2BJ3y-Gd)nkh{O0+vy@ʀ!(UqRR+v:Ab[fi sbHNbX:Z%HyT8krے ~xh:,u;iD,͘Dt4 /cF.s3XֱsKjVىm˙zZ=z7:)}4i(νlV~hs?*),/~٧,V^X){n₦uJuI4-KNp # [$3B~; aDZ RK:d`s./;[8/F0CT?XΰL-r|tytޢ6,G7]}L`Kg4JR V)Cy'v/ڎ'Ela&P1 mr!qN.Qmx' IȐׂoh{uMqNFIɫ!5E/Ű_6vV_X|2)~Dgǒ`ObO1R6t8/MF* -'$Z|~gk &R?bKezJ;L]atps+a|>f`a_f+G)Hw4MjMx(HvEn5seTn%_E_6ѯf9zRy z_ht%jpIX|X.2V|(kouv.*6R?]OӐIp8w:"*46݀D7/4j_ '9(zllRHwhe5,u;D6Xg>@ź C ֜W(U^wul4ZK{szO.{=U%%O hysKh{cd4.#9vs6x4A92ý|GXl?~|܂\- CէasC/Քe.{~dOϢ "TSVs 6b&BG+:w4qNܪcv[~XWAf;ٔr)J|1ny3oi/#$hk]/_X֟!Ȥ8zYbp饌Dt\&Q %3̷ȼsndKq` hLZ x/ Xee|wRNrЦ`l.*Wr)(jGw] W]OQK:BQ #b^" "6-oed 4(yCP,r:2 8 Io8P[b*d EpecoU>=k0k/a1 mH^b4Y7~Iݕ_>< & yu,gss4,4xA1s xy\?۳H;h4ZjWtV߀" joDqli1rGI4"U_nE_I5j 1{oQ":wP|yib!V.9\-7Hy6o~GZCHEv3n5lGZ}cw2ʰ5}uZԛBqTgiӼ^S/M!'8jˤ[@#g@Mȸ!S^NJFlb7Olu/i%c4u:7W_ɵIB+oly*cK&r tPޛr}xE$*{@>?m0ic>ǜ˓_C>gۍR`-_$2]W Fqnʩ]`8AAh&GOTgR㔣}LL_Z9,jso5䤾q԰Wzmx>83SV͓ {ir^wj=VSK|W$mfRMGlBbW I?}s)x m.]^ʦ-8Iο7V.H`j.P=ٺ,ֹeVG@hwM8wu95E&k!*my6Xc2]By*D0닓3?,pqWΩLriLC${EK'*>fW*).tm< ݯc'N-L3LvTsiK'ǜ׌饮t=5&x{; rCvs-9qz(x)|$ ~ѦvF`Aev,C_,u菍Iㄣf!2c!Rf5 eJ4&:b`1B<((ßo`J $&?MaCLƝE,Xڔ,Ȯ!c4. Hk?~KSBKTsGPzr,z7>S)|I 2wjOe=chؖlY \a`Ff6;Yi>46"^t' VPTNn|6Ⴌe{K?M79ȡ;y %UH$6A8WT I;O޴gW\uCefq<ܼ%bCWj0R y0recIr8/JD{\|S39|qT$HcZ#҇#6nX [6<eC0j/W*= v4^0 WTZf'zEI6y]6P,]lAK_$Ѕ;O =OW*Fwt!shSr&;$}dFnx@w " WbMg@\tW'ȦU*skLT"\3BV!lbmXnut"e*uAYO{q'-Q,1Q=|LRAH Y$;G|"Xw褏B 6f x\K`*l ~nٙ!nϐ _7kaWC|e#ñ~ 7"vOV#ã33䛵1v@@iq%SOYXW!vI,4>j%ﵰUxMRS$&}aM5Ҟ%4DKhR.-F߫5zZ2M43b~k|WnCP$0f-U'Vբ^ GD% HqYIC@! ªH㢤t)5į`g*WR)`{-=I;uW7bX b=X3,6xCڃ"!HqԮ4µ1D ԌVhLֽgLJ}lg=އJF{YMsO zzş:q]=$&_J&S?N"Psj=(vt+s C5Q %_Mi)r _f:k¾ K/j]37UW|B_ޞԘ)~CN*q"Š{U(1? ,ԗ,·1 +Ѩ~LLrsߣ,,2% {``{l.suRð|}s259q k.'r(m0B!mS3< /@]>D?b)w=yVAGR{r)nŗ?!GrSd"C6IN| :C3clM5* ˬpSEq-|85,mlhkLfU c)d@?#u[AL=?U1.Gd {)ĸQa(Idekm9 * "c|W{'RPUEUcy]/W]G7qi] G>>=SF2RG$vfU]2]7}$a/<-"3WꚣK` xR˷~x'&sc<e!ݏ=vW!T=ʿ[H ?Fjgs @}o}bWݻ_X]*2a2#L1HRK '6BjknBC(  h/>tR!ۣJ;;rw`eojmM71;JP,wZQ 5؍+PGiz}( q/ %" h]PDx5]uA:faрb&صHҟ%F7ǍH}U/C}7&$ň'@m] CiqܐsgXjL/4xl"?-ubXf bsu<ǢHlZh{iOW-mr_՝r R 08MLx`A!RS1S!]ÒB78"ZpO[}WCAذO5esQ?(<DLb,@KI<[ RC .Y-`pQy$Fb2. !C<cU-jyw^d7 . 2>M[av:;U 4)LI55!- M7Tw|+ؖ*E,8[ VFVc\Aq 39JAvFF6&ş`aos>[82۩FX,L5k{IFÒ0bI80G[d.k_ySPAڋM:Ii.4w/2L(,Lp_7fe 撨,xwT%ֳ`d ~n A K!]DH}sAȹD)1AH-$I=R!x3sb _.@cV +Ueak`jE  x%z| EשNBKl܂ O2 1tV薠j I;~f2gZ:S29ؓҚW-7Z(ͼ|ìP `8j |VZÃ+3!/Ti)H#XsI|@Qg,-&zf=z2}rڂ5O! 3lp4T 7NXιmc8Ajv@ƌTh!AZB8}%)犣h2?8>Ze'LV~Pq3 5iI_(ؿ̻/[5Q̵f Fvv[OJfeW+'wC~yq9,٪ACRy=`}\ [q )ui`k=RARS-PyT3|X2㶸rvbUMV@̯u'9fe8a/{ڊ ;vHPwtwٍ_p5|Ci1S ~B_:v=ozh0 }k^70XlMɤk"t0KHT_e3יTTST F7Fw>jԗҜR|^~BS`xN9B&ΚA֍WRKXex[ո6Ţc0vĈ37K|D<jDZ$fr<׺{ |ϝ9] P`z.([YA?^ h^ӿFP>8r=DI:.EX(]+[p "R;Lkv "S,-o>xB#?Ok K'NOarIx.~Qe}]Ti 0x::ǚhwo~LVV&QEyri|L_lw>K޽Te W˰Rx(O@*&}#-̩HŐ^#Gb&Ӵoշ&.`Ar5Û%ƫ?&Q$ lEXRpikγNyDYkG U5AȾBɺ |*pa; n!֠_H´ V@yv>?|aas^>b,oOW&K\>^wu5$yвX"Iڏz 84dENPq rlHRv!mֹt):bFH'n4Dz̦zfLuC^{jWkf; (SO3/dO QS:g,g;-H-5ky̐c^J; >ȣXJגzY}X3Fd8FW_Xf[ryJo qd6uKIZ E$xP=fB5-q cTL{b_EBu/5:ةT^^]ֻk ~ljMt4]xSl؟&@kPxo1gW:wy89fP"U+)ʤ*3aC6g|gm)i.Ob ^((P$}Խ, k/oJko;-r9`EyKսaW/I`U?oЉ= ;$`f#'!c:`+EWƝBY ANQaSA@e`_檁a&DՓ:T q`xbH{/IT8J麉Ĥ*/F%s0SVV8|!;:D>̒{QE)is sFׅ<'SC-=T/Ī !rɊV@]NO !f^^^Bs4- gh-X+.8q7vzhm#eQ{o(jH^iKzk~G8hՂBV\!WBh]p#D&/ܼF1$+*V Vtzضy4hS95[vY=1LZ|1pTSl3. SyWdL!F0xDYdZ|':N~Wj(V?d;jX!pͷx'v*Fh{ 3:^HhE/U~=vJ+5V_y,X4.v2z(;&)@9:vp>tsj= hXHi9 ɷxg vzS'$rcy{e0DdS2 ح{LY_wvo_MeNƶuĤ}R eNOJƕ8@`\H:ǧhxyf~ A7+.1xEUfPշa-9(xty;zmV0wXn_ z#"NKk>݃)==oLNK n=u8ǒKzsM!9;*{lI9nI˖[zi[P7kެyGO\{. ʠ6gCE5I!`a0d' ' eNMeM6A4Zܣn?pf> iYO !wRzJd nYjx4]d6p尾55xGWL{1'8JVt.ZK HtUZװzYćǭSjt@: ݁i!_L+'af*VԸz"鼗 2!\ajC-HV)m^{(´e%Ǥ>5UX+(HR,#|(x o&6l> 唆6)nd=9  u98$crAxuVqʡQj՟aoN`16KE97l_-LsGӋWz/nX 6F~nyk4'.{%9iIl5U -~Cqe1M*3+f&E~jE M(m?/DX{X:I6yʗP{(Ix[FãMC Y^\3\P *.>d8vjԊIo h;-H8(, @hITR-E[TN, 6VD6rg٣!^EFpbA$M=|C8jE^B1 W6ĄMg/r8=8mt:0GkHcD[&yN:}%,cXĤA';78w[$Z~6e:.7iZw+D;qj1[y^ٚv|^ 75t Ҙ|7hPfHnl<6nif\VpO纙ys~+X_12X?f[ =0^X8WڠtNZIBoZ2z_at;pq<07ξF?HGP=*}986DʑWʼnɰu@j=p(;5 H>v?CL"}饸+Q{VW]@S W7țR"w6ybM&4'8ñ̨uωA{9kVRFW4ʴSřިfiPE&v,bEH|{#0ri9W-S_< 7 ;ֻi Sj\lHG%cF\EHu|\5PBZx|4R)0(oo ̻ˢ=oˊ e9:"^wJwս-6yQwˠ9B٨iO` aԴWϗl4B .Ι)_Y0J6ʣDR#rpeцOP7# X=.( #A߀؝,#wZK;1B+:,w?|G< k0ߗJ)6QTM)w"TT8O2U;4fM2v/aJ',\!W~}[IYyrf]cıӊd+sy &lViDb/*L!y̘KU)& Xf/eE==lZlƮir4`1`YΔ4,xI3U' Gu*ic*,v[m zw$,ͅg*"$_xY74FrAjx8 B{d5LL5U22Q I,06tѸQd)ö dhB+w& YF#^_HBys'/R&˟) NqX-?dʵ;_}hυd V1 9D;|L,l )Fv?̶/;/PΗF&;|ܒ^ UR1.2W4}ټwT=YfCG~ttIƋ6bX*ʫģOAkRXٮژ!^VeIg%l@ςxXg&v7(uxK!t}wt~"FE&]]T)^+mI`:kaQyϻ2 eb P?drgU+ʔnh-Pǐ5): <>:F1m+] |/aNI 5 5]Porz238?w[@&6pTCЪP\jnc1wEP صپ#Q ]wu=R*XbbJܒe8YМ; ʒz8P1!BуcBk_0cL /d",D|m @@rh3N8iuZ$qCЄMu) mK~I/e M1|s%1vuc"l%x}v*POKFfI=$kvY>#zTZ`1.8/ ڥ UUrUkؐO.g}'?/ ;*+B˯-O͚ -'S ׷G?W$QbVr:RfFqxfL2o k^s lo)@5ІW-$9$/ǘ>7_gRͧRGamz2Dh c+|4пjIǢ*g}^ZJP;T+x>mrj%ǔпO-'$ZtAq3-<" #G }f%d߻(yrHL輟{}-EJK}(aWJ@oͣ2}J$g݌2O n]"4ƃdBX M8}@۶c- &0n-@PqV8Ÿ,ʋzʺq1ŀ5cHW\{ٙ[Hjk3tVjYKq9&6[w2)r_KF9oXB"^. xv3FBzJqd., BԤH LY"DD-Ӫ+kBgv)e빷oTEՕ ]{ɏt@;u3N *l ]|shYT9̀g_*5B򧋙 p&. E9d)b"ճw7MsQeQ _"C9ΆN?<-wZK*.LԱG 0;ao5}%^ , c/A~lm CRo&/2"5Nr`iϭK<iy0îz _?9@&'0x^b$/oEح 3ed8م|,AR#LL<{Rs8e` {*wku䢧Ol'v0Xx4\t(qtx;ǛM%ޜ.&He`[gD˪|o-ptGFw&sYV1XhHo]SS,۶x(+R>Ij_e[.#e6vp|h}Ԡ(NJ7!m |"hsa몎 _6l@1;Nf A I%7(+=.Q۴ˬ+UvNkwPM`> p %:kҷ-" L}ϑ6ɑˀsq0BD$gZXLFA1>~n][yA7@X*r<"7ޯ", q?.穔]ΥTE4!.Zq&FQR6ZAŞ;+h-L?4PN]f'N#R0b[n'+S_.̅B)MUHx[DX=y~)ES0VjArlr{v&ы NkI\g㜲LH\eNrw2 _{F;97h{5_v5@iCsYY!fS"7k O#n`]H$(Qmh$XKVzG'i2Jzث]rceޫLChdz|flϷE { ";En"ij8~f>TD. OyH;F(sE/jDc"TR0S ofʙ7\ߛ3sOuG '3xlc!1d#i%+"[>QaؼgYVHIBK( < u-JKvѩ ;檙śKAg8s+E9 2 $E֞u61%A/(L4VH;"iաi|G^,طflU(q C :A,6LjaV@c+=@ 2Kxa1F=_8M 3P U@ ǦHɱ1Vnx {!gqo33˱TH;XTWp1~sIZK~Ruq;HacDmA4ݸ͔f)ztgK8Oq#hU߿]W@%^5~H_] tĆ+H3CF[f0[&@KzFG l&HyAĩS/}b=;,G^fSSR f,}V/=<8ip jG@9ղv]kwUMg>11l `>xK'q1HEJ/k^I=Ӹ3<#=1X" qg ː}VTDpbc #@gF7r[3rcPׁ$cd9 ?}%zﮦ9}2Nf9O2`**]H}L- I_D&QRb'gĀuRClY?YpeQW?7 ]--Z ]n^!=5:oML03 yR9NBMcoih͒YA`GZP1fS[Xb}y4=djQ8$ UoL;Ra"3QS4"M>&&j{' 0WS+#ݰ&N˟ܰUi.&U^(lW_O&gEy2 AW1UxF&7ȕ9e)o@x.ʭ9 zJNĴPN_d/D3gcu ;Ynk")1ٛTr}19{5te:_1U6!uy1#\]XjBS<2(fb( K:oEӍ̵-  J\\jK7V!{P[-|PLu  cʞ>M sGމ!P n5¹CuLMڠdٞM8\F~w ǡ*{Q @? %?X{B`3Wy1$ Gy:Q^܌.ͫn.Ftg~4!$m@f]nw ,_O0;vED7(v~Ux佨ʻFV'X K@2TH;<bhtn2H]D8i/4 oMnB=S,f(T<:q5EFt#*+۸js/}TkHQ-J+n)e٥7MiICU| O<ۣkU.n̑@]a}af5ԫ3_]҉i`)8^:iYe3?zmS8ڦRS> y`#r-KʜC6"4 ܵބ#4e\u kg,2FBNۏw2lJrl*p>w{eLr-nR6wl3.^n>P nrt .qX=JuܑE `沦1YQNcSrod^1k;^K/ʀ/9.65+Ԙ\[q8yeubӉץn͒KTA< xr8u޵">zrxL/͛,&ګ,x@[%F` Z2̗{Ů`P-y 뇭*<.'B3+0Eb0Ʀ+$#+du gbj7F_}4 Rz0h([x/QԢP"c"F2Ն҇t:Ci̐35Y@x*# it%W&1^>i6M:C'B3-sddžΎ4z'θ+B)k, L$ʜ=@ERI(QCcfoQE<1U l98O.zk|wGQtΦCIގZtZ++<4CC~LQjmF: i˒+!MIbڢ0 RI0'k ilO_n}}V-Gw(dۑOIxAfM0QgxahF#Rܨ 8^q )e?ϛdR`1@=қ,6#.?!Y C e4?P+H,ʾfaǢG|]! btR lΥl.β9~qrpshst&/ V _xtS FAN1Q$;uyur\nEQ Äl/FК;LPGnlrnA',$l x]#VXUZ]:jfe%u_Ybͅ;یkXln:-Ԗ%-̀\{AEW{_z ̒L .^G-1§~){S0HTv5Aq?4Q>?d:Ī9 M&<=Ƴ,ܸ$ zĮPLHS:lA-Z;P4rJόdDثn;\W~N-`ߒD %!_zyO <L"0 L4;f:,2 \qnNkt2)BiDJJ:;>Ltw疞rb?U"O&$<[C hdbg5wnnjB/=* @%WUIi|YlF &!R&gn*(pjkҙO#c$Tm"sy1:LSf|*1I baCwGĪW)G1+Q;z)k-3*WGNU|mr)B T ǒkH2)/R]7˕A6^g% ^d [ݜj~q }.K ѦE>8OZ?5rzH x9ՒpRX޾i~C?w@pجq񬟔+q%6uoĿw䀽=5?@QNѣL\JNz45nc֣#)Q՜;':fKg3Y 4zod1b"*oglb0@q{ⰵ}q"BatwIJ(*hI@t>[DqL4.df/dK_"p{o9IY{&K?\Z[D l^tB",rGHBJWG/O(}I2<2aQ3.y:}("ّ{j"t'*U,*,bLe>m?sʴA> 8%WfMDQk$ЏT1on"0R#q&JDl!GG*(]';e Ɍݰ Ée@̕ nH76틅$d; %HEGHd'9$Ƀ{aT9&BM ²ʘ=Ou͆^F +tLBKz4`Wm!ˇ]3ISf'3;TBY09#$ޏce"-zl9L_2g wK<|/gw}@,# cY |.hSsDGhT%Gx FP'2^!}׬_Kz*u&a6W7aWfA1(c|w tzO7@hNRΓ~וּ[~1F`&@Y 6ZѠ?pl?,L!b.CpMhOƃӵݱ$<:tƟ"pdPnafTVIbI- X,3kqֲ~AxYC~J:h->wDY A٘e!j J"C_CF:^ 3FmokP#` &qO0xE}m=:53i6͙bBb }^^ {B'C5tǃ^Z~oF|hs1Kw^†͒ܐdm m`3`k&E$,"wmc']}.w Deys67 5C/][@~N|ӿm1 <Jm*`E a2n2kMg6ND=P`C2}N;ݡl!fи!hbøS^p2h)QZE#SgU?RA,O7PZ|xΦ+%.$@>~d5*ȈXqOjt`H(QVJ=oeV*"oj} C\> "4|}-T϶0GiNC3: %JkPnn[_f}PENpoMf:.j0M4ݽ((a(f(30e{sS,;)tf0)h2=Ygl2}hBr]+䔻Z%0/ ]O9MxyL#"0'tϚbbU3;1QfN /sUv* y:&AX 2g %+>/)22PEZ|Y(zv>?YhW l!XE⢏F> hhLŞܲ⍩]] E5}W*F #T߿BSNV%m9u,rwҜ :?Mdi%S9ڑ /a?v F@ Í$I2~"gunjgo9€Ib0 npb!(ێ'P ^\tyw:z6byɒK2(LCX |6dJpWbuH}ձz,G KDlsB@ž0'[1̛/|(@i4Gf5}nxaoE\K4bg+ fT0Ww[6Y EW_mɂT&w.ojRY6 >-Mk!_CP2PTN9kF^z*t5|ygl\5Y?^VZ){7agQm1to&B6kQxbuH,Moڋ8ޑ 5Q*˩h!iuߤDphQmߎh=j龰)dw;Z|b^Ve~nB@`3Iqo??/v 2T8 t=vT_F/YSKF]ҵ6T>[@jBAWϖ/7h0ˁJxEg' eUSNU;YFn]A8ݹ0'96Tԥ9zĜ<]yFh^(X=c5&6Y\}Ty&lc]/BT~A]pİ\QRzO:i*J qT8O+USk h # LX3G%bM; ZuODܒ]L?pރ:fJ 問 % 6aI)-'ѻZ*%?8;%SϓkIG*q 3\ /lfȒ{G!Uk߁e^LoW ,h.0Ĵ!\Rxq:?PT}H !GGV}Do{B$fἰ1.95ިW}#FVW 1& MRC3$iQA#Lgxq[}\^$/͉Ql`өг,o z/=>44ףTb/Y.m)wB{ї TCL&_p@nÒSDoI[xH8o.~ 5 J&H~nHMr,GI:coD=}7MƵF;ƫP-/6E30#WuS83#ݐa2WxW-E@NE}MK?hP޽ w#g2V|rřӮB*v%R,]o؋YD3!yqב^a*i:!.[ UxL6%`/Ŵߕ_vf5#X5AMò_^I@Y.C~ 0?X"q%*;MLJBgwTMn ߲?{]7|+7. ZѢܒg%>3CϨt ؼJluUNѡ~{#H I;EPu?E&O yHJ(]|Q)G;8(hV$ `(oWLO8IP[CՃگ:TCg$Ǜk'H1 i9Efljc'Cx/QdJ9 Q/*-ZϞcQKzg7>=~5nj4LͺcfBas-}W[ Hxbf_rX:p"#I#7jG,0öO3tc^.U ڗqsX;&mk#MBTCMܤ5sӗ$Kۤii̮sIO q_)DK 7@ˁ nU]%$,!nֆJ9+IC8'VB?+Z'Ed “А fzzaUyM=)FkTu$A:OȨQ3=Rf -<6hqljW'evM 4?Q1pMOQR4w* n Ą kR3a25F(p\] o "q]ijK~xU ?.jqE7;l Bw& Up1`әUG/uV^Qm ~7o7}zUFklz&v=Ys>WtZ,$4])hd_ڟrCB uakf-]+|GC3/㗗+Qat1vC_Oh4<r/ DT\wrQ @z(U*6h[}k!͍>Bu vxAm3cAj#.2!x̜ Y=VI# u^>wRwKloH0,4چ~q[}?SNQ-?hwQqHwd#ߗ&xkFinqooc<%{% 0Uշ}MB9bHeΌnق P2&2m" u<ܑ f]4QB: >{HGQ 5DRe ۊcZêui2!c8㊭@d0AO'ZIO'rmu7o@h|P,3b3%mD>Q5KPsJJ^P^AbBP̢ G\ݦǬ* YC= pX|5)4XC0KO\~z-ߧb%-L|(^Q8γG@Q 'h+o'U ѫ*jcy l޽V5]#Ad7~skോDY3VCgH*HC2kUjf/ 5W^y#(\t£.p)l&+.XtIٖ&C%лKc>%{qjm\PMۏ=cXOY1}g{Ⱥ[{ ;*򲖟;"OLGWMd%7 {W³;NTab.F:$$rX|kbuX;u>:`yA`Q>!`d7E%Cw~)1ن"翘4޳]Gzw?Q\.t .]3-S!jܢ-LfK\4 {/ 6 u^='z qnld6AF낝,`& qA$6z4'1L96!p^M0GFV~%FۇL̮$Ɣ'ﺡLy(zIf8| Lݳ%7v"NGuE3`7˦!my'JɁ͉vrpu +3+`QKNe~G>sao T;2 +C/ͨේJ5TSDKJb #4PWE]VdV (0^$lzڿm;Ljt-*=9<Yi!Cmrb1ug$%Ev 幮.(6shY&]E5OGxG)TI Ik(h [x w^+ՙ ŕoJ>}i>/ }?IbDngRpN8ύ2.: OML׎) z ' o'8:iM!םl-.AATk<{}GKY$E߼ns7z8Eqa&?u.Km|a]D.Y#@S]w}Z'(Nhs$giUY-fdžBOM*I LjKd4XMY5IJTJ8ߏl=ڄjh}74vHiW. ?0n"-);ҫƿD#ߥ祺?eU;4j^%* JbgGx +Gםbw  O7'7Zr/|?\;VgբDž0m@/F4V#cq]{칭+O*bFTYu3L4vݮղirf {OK!$ԯ7h_[ y;L2|f7ƟVny3ˆv ]QLxs\;@qN]cDD$}WzcR{13T#`+k݄KX`TU K%|,Pxuљ%G`۰.e*`.J ͟>|>IF_4ED|s 4r8J~gOPrƆ΁u?ɏmn#W},_K*!BۚQ3+U<|I+Sf$z2Ӫ"hFCta= ,j=^m)Do.nd`1c~R\qw%ofUHH x1 A"0m Bw|RԲsplRٳe)]27͌X;n.Ȳ`wlސ,0\MwM |m#|D7Pl܂r b sfe9%fPU!HDjc9Co]d`?ixmƃ=۳3Vߣe'x(C#+\lwt[֢sD2bCJ uZh""ļgjilbڲ"BLJr?q߯}O B9{쓉|%NH{P_\;Ug[(<6xer啍ݍ;l'9eh0' *i UMwv+u}Zo!ƉK9Qε;, S&wg{Y<\SXӀlֿT8[i7ڧ?\[{G-Rݛ_=nj3KtgGXỳqxQ5ͣi|@ES{+"{g+fd9.:;@DϚt GJaSal}͋8&wXHOyUnXYelÊ)YFaڨ\0j 2@A qn 8gv)(#Ӱnc$\`U#|N:I!|S=ۥnҟ>0h@> •#Z].}Rx@/} IFLn݉b k7;p|%1ށlt~..^Ky헩[85AG>Ј:fY"qV_XDno7}9K#p깯[pth,z4O&#f%Ub M~t!<ˈvnO=S^7LڽvbQ0a_GsɋN=TYnK8*2INgqZ$qi0 y4*zNcC+pk)hD҆? t&،m##rv.1t FWwc7AlD9-XXn-@O_0 ,dQ=rSqMQhAr?: !U?=q5zauII*h܏_L )~Km6'i2*ҡe0CseGUN2 -Bkck$-7zC{f'R t5%U!rc&Ush"g}`c EHhSE.aב'`<䕱ZjlJzB WUM) wD\ ;9,;21Z#S4 kbF.h drG+ H9lrhމne5.Ec:{#)om_qH7aRv&C g5"vvbzP[p?jcCs{~Eby,cmuH ث1?'3cam[N1ALOl`E:Q?)\b. d8HǏiT"Fo:-і{S3t˓uw jfnY'h2iy\m}aSJ6r^T,(]aExWWfxV67[&@/߄hr^-3OqP*by;ec>EE6I0$0ø&U}"Sc6J3+m9 v"<QJ͝l#i-rGOy,  PhPOL*l{L'VrXjrٷZ^P MUr} !b6A+ <ks~Q<6$knYЏl[T.)Z/ʵBOR˿!+ߜ(:eeF!fﴡ+q wK}?O\/;ђz~0({bL%#VR iU-&VhAYܕt=LȂOYMưAc=Y(^NrisnK&6}aډ \۝1*ugW@ECcD*(q<0~Iq39BR 9 A`inX>Z^-NT($)066 ye!l/TT@71I~pɹǞu1֥ѲXp+i;e;X'c""ޔ̮o)GG^ǻ3žٴ4S*|kbunDM;1/Kp<ۖÿ H5" W[m=e =Uf"u%!h͸SկN Ofpqc;A/ k&yfܫoq]>ȕ+ɯnٵ"zjzXÍ zU^lO-r/{nYԤd 'H- I;LeS(Or Haԝ8SXx#O'@lL] TXKe[&Y͙xfG밍[5Wyn<̟{1 gWϲ1rd h ZQ 6ɫ깓/(h\&oWE* /@/tR 1%uo9W^CK&^r{וީX|s_R.j5 su' F BTÔ 6b6Zo(hbAz 㰒"|Ǭ[&Xh}ԣ_:X: frJD`_]><%")m^+>Ka@O)mq=L eA ~vguQ +INR!.19_8hZu-q(&"'q?? )wEK*(2(5ayIo"ރqpҹkG&]^|2zkdv"2N0{5:$-t}s|eMߒDbmnSdI'ѭ_}(8җ;W7d2u=:,vqP!K6#{qjԽ~y܆k}&xbRJvmʺe+!('geRN]Ci|5{}kW(A9_.St09Mxt(!2"K:wu׵b_,z3mlorwYņc!݃j `7s}+ۏVCИsJ#u׈=ؔlq bm.uN]^?ՈmN(E6ɺ2C= v@q<}JM/!2U4nCeVda*{Slx-9;[re 's* H~!؈Щk&SAoxyZ<@s¶53ܸ7G9#|I6 FF-G)ݗ2 IBVD8y 7T rrzd${ޫBv'c:U|0i[9#k 3r )H@(R!>A?Q?PnyȖ9bPĀ CRÆ g%kX7Z#6l΋`/sxzAaz~˜0p*lwOW~Oۨ4M P{辒fhЬ$ztTDWd'#H$%Gte~ /-[#ϐ =XX(Č$uJ `Ivy !_(RAxq9+jAl&#4_0C.K mp5+ɓ\{kom;e̕cQ_T^xM(Y.KWtaHJOeIڧC{+hxWѷ X 絖9gLnA%rC,#ʉnSft>-+O=߳)aW}}_) ?ᓓa*.=YtDDZRH}?׸AvCZLpu G!Ϗoh& 3Swjik=gt[մ E;QgVM[?:8AŏS=Ffxa!"o%sc|v/@WS*6x۠cKʻ(&$Nl㖍AO-7]Qt2F:>5h`|EQk}r(33gBHZ:Rft7*]phfS/r'l9?>xm $ψgoh-v%-YC͖'< Ҩ7O0MQ\qbI'bF: 0D,ckU}ޗI 4l3̓z[&."=+2%724c[Tx0iJ<!X(YZc;@XwF :d L20x9 Kg"\b@ ON=с~y _ˋ:ɮ-ԸA<7 ]sAUl!%7EݳG]5'rHPB\ jJH]p2c{0pTaU$ fןm:Jpc^_9+Nь_ Y/o=?#6r?]Yrg\#̪SûgH"$ AFmPͰ?SZvҫO`U"e}M?6SBW62aIw" _4)a"8Ob1}y_E3BNޜh%%OfC/m6^<rz Z&β(n;MQWb|Pңi)}ެ Ggb.Ғv'=SKOX':8)P^>%ezv̴4ǁ\n>-&1WL SaUgiqVi/٩4]hF82'nN^TsƼ,`8xZ24Q79^|ԀuA V-$VLu_64gZv1`mK|tRh;Km*ܓVjSzI7Fs#P2`Ԩ6{eUJReC'Xr:Qq -HM}N.svbpYݟ rq/fT4{)~q_{oŜt|e]x[< RX3Yw$G)Js~4sґU4`.U݃Q[KU^nսZ<22,N\U|auMAj|YKi 3.M4Qn/A&KnrT {ڀJYobhy)f.~H/_4ϝ.#KD3eƥ ?Z+1@?"X7mL49#]*R|Ma!^s>&@EC 1$)CEv>LONr}FS:~A*keŘz3]TFӛPToix"21d9MV3x􎒝zQ&d0 M%$J-WFcc)BBBZ>DcKE,Z8b{)5@!GQiwc-Yx {UBơŅFlL>TD9VD%Z@r)`͜#@,`ݒM=0{qڑ9\0,$-\W!;ژԃ]a $gĨu5pׇbb0rE˭gIN5qz%ѲS%Yb)o a=Hl?d 5e;hb۶[xP"fk% f} qR5OCwЩplo%$ݾu PW<ذ5Lc9so;=U&ƤLor&^]ͫP^zUhx%`uHng-sv3C8jކ\xl!0sոIɍ5դv5o cTG-@D[8U SZQ[=K[Ы2)v/vdnQE,r[9? I#!HPE1Zv'$( *g7}D %ʻáke%R!N>|6說EeL;V 17<7$w9)O>?*25ѣULxa&Vݴ>D~yz{ 6Kņ[!X{@ώz_V7qN7[!/J,jLMmh_Ia=MbR迱#^08o4YGc G{ Xr6:)D[Tj9쟏ṇ r(w30[KjxUW4l-J͇^vxm,ւ^f[Ǔv8A讃~ONY@̕7 c{ͪq<"I\dVfso%,[gLʈWF~`=a(+t_j0uD6J9rxGEQG%A{axΨ[Y8Ufʮ -QGas+GNܣG%6!*60ՊR}SԄbQ!'ɱ%hy_ B#"y3ξQ@ɻlHCK{6HQ +W YN׺˜ZKБr99=!7gc=PʗO30fv@Y;~5 iRSq4ؚQ0+ zu KkJ󑩛׎؇3IS~ PbRue2Y@z$qaB̂:ni+Ϋ7>s֊￵OC5}Ub(oQW|,կQ+hD7"w2!ڃRZo_B^di ~xcZBMaTu1lыz3j`cܛ,s1r+CO~ |:g@ֺ2oaDNh}W"x>~}_?5)9Щsex_う 29-?=#x{+Q! ):A =i*0Uj 0^0S$ fQƇ=N6v*0Σ[Z;R}2r*`n_^ÎL-?>$P;v-W QdJy9bn=f &?5x;0顙\U~7Q_V%jZC>>^Yhg43{Tiջ%[%&boZrX+\mݼQ S^婝_$-KM'*ݤݶhie%2>ªx |]b{/+j2#%ա3c&n'-vNe)cs?I<%ϻ+IoSX{mSWv<5WʐRcft#f#v5,2sDC6{r )1&gJϝZwgM~Ua,H[mK. V 2QH_GLAK~} ޭ;KIOHrCn/Rz4O{W5w&2`ڬzچ_{b$T!>P%g"2%koMzR>u';W ϓ;cO#'XZZKadA~@T AŹZqw@yyjHF7A/i<ӹcDi^Vs.G{6eTWT˷/uJVY/ip].VeD)* ZuKW5.8M8 A!ZKCjIa*f[C%W%W@ExYy/1sRh~%Oh1X|?B>JfrN<ݛOM9Wd>RjOFŽUU Iu&ܚbQǏ9RcFh!ҩlv InBe3).wL%6)>]gv+KFXͱȰg\7L0K{[Q={s԰8 GtБ@m8d"#,[C`[Dh_Ȅ'xx8T OGXzHQ*R]?%b)c4d<v^"{ʹu$9BXvpVq@8y3Zhl͙j^[mQKgwӴH3+eNwUylٙPjbv*c 9vcHi(nU@o)T)ܖgrpM݌k6ipT8"MnF.t9m]/ 2p% 9vuQɈQ'idBl63֗GRqPɶw05$p%_plfAH?Yx'k* :⒚It%V 6*rc~WRAm$Vch3W^sf|3Qpޣ{vp 0Yw?@5ٸk W_W8"®聡CEmxB9 (\@0A&Wr qK!cW&@>s!=\&mV.,FD/uac{ٽiE\b{Kd *ءh虘/Ffx$%:h I,io4IdHg6ay.vX #G>~֊ !gSd ev]2ykt6, fN di<-m'vA K&ێ]Xi_a hTغ Gͮ"X*k$齲 ߂t$. {VÇO^p|r<( gϗ],m N="T!VsQjlOZLI~t%Yr ,+Ňt|ic3?Y?+ `fG4|jFeSR{jY=g*qM81[þfKuX=_B6,XA'}bKP>g%d)%ݦ7Cf$!- /*>m~u"0Э+p|;'O1A>Ubf6Cj2,ëN*[RymJif{Sq~VYSah7tl;JS%-ݽ1j!"9i,$.bITR`% !Y,\JPŬXiԚ*6:6 הXpaHRh%j;m NAʾ&v2@]j0NT)FB/?dD %Ӕ\#!XR-7& XnH]i3“?2ʬkLł 3.($IFQ3f8 b3IͻmɬOܑ_ Hu-rJ-a];P5 ≺v 9kM+gq9~Vg 6l xMRVI[qonúU`,iT_UŁ*'`|}*!TT-^pD!q;\vR܃1"΅ɛe1 *z0 {?0 :핊׏Aqz&I\M+*4P1e^TEETa 8ţzB^tpmO7"G;n ;h-"^ {ix9\1`f7h=Tnj{Q#3WD}ͺjڞQ2BEBM&`ڊzRn׿dOQb$dK9 @\*-ovc ?'6'#[3]eڑ,GH]I ́^:Cs0:jhEhpuּ:m_NfN_lsI!_ΓTҝ{ Ԛ fV`B0Ks)!ENKL_S V &IV>$[lήE'!u:(,eH uhܐo-&d۠Ea%E1N} Cuf Q$G =^:by .We$w[M bC`}}{+ WpUKМ0vxr:`L\o{KQMlO^=-:V" Orv}˳=&TBhuс/\6cip' Ke6Qm4e%lq<5FdWLQ8/Q듔#Q 0AHXmlkDz 흸¼/jerӡBe!BoD3N0vd4 }b)^+L\[Q'% MꟘZFAPԥq7Y½E MR0DP {ؠuV[I]<FOv<9(hbm`"Iow{CJ5ɍ\¦8oѰ89Ded6tjÔx˸ԦWjy`BW.Vo[YN. wW"r(hraɾʔ@OXcj̞ISxkXT]-92ã^h@OV4f,p_Jt7baq_N\3P6O} WŘfWͭ+JTST5QXTL/ocTp\-N8I"#d>}Uv0ad3 d"듇fDZV7?eLiF,̎֞KErڰ$a&=Ŀ%xIz79l@x.iqx"?$+T9chUߐHQem?9ʢ֍-eEHJ~l´owFҋ7&)u^ o@6V#ҵHҚ2SMHfq}("Vp+ȔID܆_uі9| <_ky>dz \2 :| r('ŹAQk30my6XhV~&T'GY\kt+!P'gb*MO .6V5쾂1EZF ӓڻ]~'˩X(D=cӆa) YZ