frr-devel-8.5.6-150500.4.33.1<>,lh{1p9|8',2Am @Hv{+^NMa6x&pBkC:0wE6lj(ѓ m7I :Ag-vJFĿ訐歫#<zM`o ~TRV>;?xd   L5 Kk  L  + ,/P2C565X77 8 8 (989 +99+:GPL-2.0-or-later AND LGPL-2.1-or-laterhttps://www.suse.com/Development/Libraries/C and C++https://www.frrouting.orglinuxaarch64J#4) $_g4@2_  }M ! f#OUC)*m%8v$*  UZ 3}+ %Q O! s "-uL5 +l]|7-QCAn1 ^ M- @ q.  {] &xH@%& |'} 5{ #0C- Gxa##)(? iA큤A큤A큤A큤A큤h{ fL3fL3fL3fL3fL3h{ fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3h{ fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3h{ fL3h{ fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3hzfL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3hzfL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3h{ h{ h{ h{ h{ h{ h{ h{ c848bb4c5b0e9a0b5c58567c6a854b8c6ff228abfbc15c0078fbcdc0e7bb62509f0a914b91ff407414dd17949089466d8fbae3d3c9a22857bcfe13e144d8c36ddad740e3a8173858fab26a8fd675ff714769b01c12996145e3a80d2aaaa7b7886cbdc34a530795eee4953e9bfb8abdb4f07b152ab99979f24534ff46edcf589200c8ed7146d80cf2bad9ce0f42a8b89c64a6d264340bbecf314a702d1c6dbdb9ae776f96bf453b6580120c8aa4a6b5f012e22e2dda5b848356eecfc4dfa40b4d854959b803f10e1983580565e542bbadb5117eb14e918948d44a40c9c698e186a459373df22806f56d43236eaf3ed7f12d9b17b899f801482a8df8062f80317d44e03cb13875f38ed2475cf5776f7dc700e7259b3ba9dc07ddc0a36c1c594e5525b478e4cd82ac76c33b32db3655938c8ef9b02b12733c250b32a590e3aaaa28ca56a0c40884a24688bd23bc2399b77e6b8d5508e41dd303c6675057747904b7eb34f62643a9d95ea43d6008b680defd912cb361f6f97c1db3d8f9245e4e71baf1ffa8b32be495b4ab483c3550a1caecde73ea5aad8955e3857d80e850b87471793e04f42d3655aca2f7a2c2a7eb93dc7e1a6a638bd252c99adc6b6b9fb1431134b3307eba542164932283ef8d9f703e7e4a968acaace1a0955d75dfa1168094364e02c114772ef43795cf627baf39b92858c76f9995da58eb566310bc9fb64def38f1bd15dfb2861fea92b15216136a52d2faaf17d46cbc0fede33e172d9006c8bc7b7aa372b78dc6ca2f3ef36a97e4760164c50161f7ca8e661a6ba4f5dffe843edb796d5604661ff60a9f6220e5ccd5815d66d83db2eddc9ecf336acd5c46c97a2bf260d434f66f976e1e63701d3a70d44d072726c7e0afb629ab2214b25746c09d83e003e34b130a64e67c6c574c25b482de2d3871292a859904cda0112e0f140e94ac452a91f1dc2646bfa2f68e8ec709b57258586df31a25e29fc2cc5fdff9b3516d2f0e0d4e137437fbca293fc025bbd40778afd0f4fbb3ac402b349670dc6d215d8be9159cd0b5715ca6dbda914594e6a977339c887f776b81a18970f8ef8a5c8d69d7bb8a72bdf4965fdd3eced9aef14d30a3d5c4375bb5fa6441f45826dac68bc7ae6e1f0189d3381f2b511a4c9098e1c2c3b09e78ba5577da65214dd4e419592179964afe78f4b5f3b515b555e7c9ad0f7292551ac3b4fdd7dc51e80cded0bb614045e89b6b7596f68dc7eb7757cd71300a97ce618a92ff04ae1188335df2036b65910c540b26185cb474f8f968dd52668120e979646514f15ccf6cfe0c7ef69af23292e2c95e24add2bda99f7522dfa0716cb5fb704d0ae63714b27cd0ab838facd4b47655416a35ce105ecae35b142ad06a86cc91bef1839baf9412cc6b4a2876c6de1f33c3d353cdba63068f798c68f0ed20264742931226a8b1b3482512704b64a152b8f87b4a1eea26c35ae1051c337f254a0d26db7e7a0d2e934cfc8d027e688d297c5205133e73c414c41a222809c4ecaa3cdcb21c632e03f8a75eea5319e6fc37bd4da9d44af3f582cfa11bcf8da03268acaf131de23496029e33d28ed2de8d942a47ba895f34c5aebd7838889d1544fb834ffadc5e820de3e011a1dde5709d356b3e4b268786f76ef31be1d522fd662c57d8a1577a04208b29931ff32e209aed6825b08ed615eaf14d7d30ef6064548e3e7e2d5605698d2691f1cfc7c38d6e31b2efe124e166f479f64bcecdceb6c63812ddc8c8e2707347324517940a6a98623e2046b6b29eff5f713ceb3696bd2062946f1569524aeb94e79185394d0d12f0e2b79bc69dc6e6419fc4bd0ef0c343513e61af323b565cc1cc69cf49f1aedf991c4b8cd246428db7b7e2992669ee08f348ab1903fadcf63dc1efe340b7bebfa3ac656fb64a694b127d4de98c72bc917dd7848267e98d73beccb3a25afbf321e198dc060ee0390cd87095d3e7e76bddd0794a72e23237ba7c148003b71d9ae4fc24fa53b364e3e6070c88a81cfcde3aa792597534b2852c28220a29810ad2131d0fa560349e2c7e2a4faf1f6a0b60cf2a6df84dea0125e523bc7cb5531ccedd54072c5e00c70e1f75b0cc6625879b44073d730d69882357f8cebff26a5e2eee0faa8dc19fc5199db19fff5988fca2e5ebdb05c0e2d707fedac81f489da251b6e76e6082249d4f873fcdd205f7873ce2297d4338fee6adec65581fa96bb5ab56736a97c510b5be6432abcbeee77174467565ad2cf0111d3958325667a82ddd1bccbb8659dfbdbe39429606f98ce5d7a3d4e91600a63dc6b60b1297f775d5164e08fa867d86fafc395d8ecdf8d4da6ae2d79c032b1779e785cf831c9bbe911bb5d7cf3b41d197295226a5356195eb60545e09f049ed2f87c919b82c1d8602074b1610b17c64dcb1e42297291c78302841d89e68952cf2245c2ba0bb0249dd41d091a7175df3e2b14cee529a1c309593d28d258b68f3682071ad2f26016044a3b08dfd8b01d777ca5f738a1474362baa4c0cea0f5bbedb627f1bd1704a818ef5e78105f6b392efa2da33b617c38053e123009e0c58bf238b5c17c692ad3a20bb17a7bc3c0a68357ca1068c7456b7045994f9c02d68824357d5d676ae410dea58545d642a86be93271112bf93ea178648557be7909e12cc8eb28c04fd2824d7dc0c65e980a71d37d97355500ae1adab247599ccb77b2bca70d4fc0c380cc4fbb3293d2d08284b65a8ca981d8658949028b155e7d56da3ecc1016ef50e7a062b7aa96a174f79beaffca5006a0d10fdcddab5a4bc4b1837231cb22fe6428fb5c0e7a8fef16b7eed367feb525b8554d0df113f5bb66bdc868536314014239704e2e67cdcbaa6b75c346fd61d77fdfeb6537395896e91ad490584cb628c83317f9392e86313d7e9babe1dacd568a1065157c2cc704c96f17ed7267eb1e5bfa7d5ac74bafddaf59f165de12a9bf057e0e1f0d4a9740bcd40f2e80b83fbec55ed9912d0db7171af4f973e50e1845aebe9a15e158bae1b4bbe2cadaebbc9c134c9bb82702ba65bac94612a95b176c9714424bcb209df8e1bfbaf640d08b2cebb1f6dc48caeae0d83f7f1bb3d10a07f81bbb00062da077f5e1e4e372dfb5bf7a342f81531f7397615f7c402a134ed23f01afaccfc6b0b597ccc273d736a4a7aac62f554ab6d5cbd93557cdb87edb20ee092089707e588412c13963346fb5b4d394eb11ca1f3afe14263ae84854e305501d94302d7776b3889e5d29ca5ff5464f11952c1e576e1f7a8c1afba9c1091235cd15aa3a0db1f6fecd9cc813e64160510cd207e717915e531605d5fd8efcce06eda9ab658ae1daa915e55290983cbeec1eff6b817385fb3aa14a1ee01cee25dfe0a4b75a73977b10607bbaa7d2ec7ce6a6dc1382188663aa0a26e924db53ee41df1f79cb1a8749239c81bf14318bd7b4645c791007bfc799a7d55543ebf41a6c0fad6293c1db7833680e8474e94edb86bd299bfdc30cc384d1e9a14c5eb0b17ebf784190f187c89ae444bb25d5e7c3319d4bb471ba56757b61a1ec9b191a321420de167ebb8661427ef4d1228b132c9c91c0cd037aac140fe2a73cae346866f30e2af3fde3a782ef3b7a0f4878479722f06e44f07985c5850882a1f37520aa143affad3930a4d92884abca8201d191c7fef999e6f8948d45bc9452b0135dfa8d2c70bda1ed53ef003e9ce2f242a5e46a90a7ba15d0b3ed042c8e0394539f5ef24012f48c2e4f586ab62f270f14cd1290d5368662b690d6821ee0677a830948c4d467a760da469358e63e57438f6beaa5e17ce086999034e7056c832e55521a9f4b7c8d3dd99c370c42f66781a2c93a6a6abcc3a83b7de56f8fccefa8f2ea70a19d426854ebf539ae0c7dabd3c101021dd90602ac7130789b4e5d56a63bf68f11c54d6543c99f94f783de2f84fb9dcacc3f10c0b047fae94171f117bf44470749b3308c930216cef78c197b352fda548ef8f72ecbff31f7bec9a825e5dff9f9d1d98263a638d97a055cc16a88f3a83fa984356dc0c5500e6e1b9e1b705455cbd241b596689dc1f998c6513b1994b26fe6db5034b9cf750f06094b0797716406bf02b898e807e3815cfc1e3e8e7a885284081a0f3b8ca61f8bd4cb8b4657d5233e2fa6a75aa581206a0ad288df15b61fa7852a8433240f28750c22d187067eb36c7c83de65bef2c49073952e13cfcba78e89662c17966a337732b46e5876f1ae17155bd8fcc29ec184b0db6d186ce05a0f3f1cbdc49f628e79354b08ad98df6bdb6cb2b6d6feb517180f12a7034d4605b4266a9b7c6506eb6b934ee9ce94930de822505825b950612e1bdc90c986584e55d004faae40046870bfb28a927dd5711d0290d7ba78c2f7a3339d05b43de2e63638072466d896a0fac908c9254680640cb5c1ef612810ba60c6b685c2668a27bd9cd3d1146dd978dfa2e39cca09f8448645884a335f0b533a2155807d640274fd781a69b37b311783c6927bfeead5856804c3a96f0e6cb881f119e75118d2b4e1ceb9ca26c64ea508395f0b18d0e8c5e6e7f63c7522649da629f3049d8960c45e01c2d7125203a97ec993f932b67b971b0d4f188604364e4f3c97b65f3c48c27587fd6dc18c4e2f266a296fe502735e931b5993226e1cd0fafdc8c734382a69b9b4d874887a8506bf52587c6a032525e963adf6d232d12e4a5fdf26d5123cc98b2196d045516e8d0018b3950c511b4850ea129ce4b4795256bd8edcd53934e2e510ca443a8ee22cab15cfab986cee3a6c0e57698a1ed1b7840e744c93cd56af0c78a83328092803d2ce2f151a7e9766df1588f5b5b71ece5a2c306ae1914e013b1af70fb515805bdd40967d2dfe5bbefebb8d53c65e60d16940df1aa7c0b08064e99bd85d8203e57e28b5aa4592c26472d84f4ecedb4c51df248a2653a05210b8db0440d05eaa08f10cfa27fd1b420ddd11ecb7dab74a15c3f8ff7f17139c6623cca5c55d29252a19d33c4594dda87e7b3f55aa979b14a47b4a15e41a46975675f6946fb95038028320c0e9e76c8cf65d3ba88ac37e0933435e24bc2ce8c01cc1ba9aff55a6d455f3edafd887858612aae5349c3adf5e07630d2009cf98c24cd632dd7e692544e181e1c00aa894320ecaecd7f4f9b5cd6bf07c96ee2152ebebfbb611c24d4c1ae625ea94de43b81edf9f55b58782491e7b225d105e70c5745a0cef526f11b6b822102bcaa2070648a070c5845b8e6368d3622d1c854f27d9289fa273e84e1f1f27b5443ed84df59dbdfd5a2dada8d3ef31e26c4aeed2f65688a45a01ce9d35371e14318579afdbf214d825e2777f23c57ac4bc88ba88a9bb74edcc4f56894967c3cca96ab0b80118adcf3ff3699a0991e7cc0db4430f13f58c49f7618eff5395eab6699b5c6cdd7b43caf8d86c15c721e797dcad5215938f346426dc371b2087ffe984a49127ea70e0dc682484ff4756769b8eba1bd73195d548b21b45af360f9e6291c5e8d3dffd567ca0ac1dda91a6b20c2ac8c49c5a54ccc7599c44efbdd0510308f8a70fdf8f04df8506755630c86b2b7216946b0f80ea5dea5e10ab95fd64c2307c4e57b0c14daef75e259ee842b135fb4f143f04b47f371b4ebc0c49c8ed9f990f77883a07705c662da4eabac6b27c114eba0aaf20d4a8b804f6da3366d2813e638d41bd48a8a3260d956b398cc8a2fb2c5bf233b43e20ac1735251b9b6f3cb043decbba20f21ae2e125d3e42b3de0ac7428d7ef516e557a94946bfb5a3e5bda29d737971a6aec16bdebac33805285d8f76398be00387781ec072743c608215859b51de244ea0e98505342999e0d2887e8bb0360aba0aad2bb2cca38cc0aff9af6e82122a32d0d7894d44ed5296ce1645a46a2d381d7a141660d1a5837e5f48dbbefe1dcccbbc73005b91daa030b11d8e4c367fe0f43039338bd927a6dfe728564564e47fc99227bb8fd3b169a22a79469990e6472c9c17f3fec580a56e0be7efaaf2dea08ea052557322ea47e26b917626242a826ab637f16b040469e41ffbc8dd3d2483c40ec1364947a7ae13b5cf4e14518d32aafb044cea9fbd0b014b84a60b5444fa0a6495f974f5ff268c00f458e6bbb759c03e0f21b9afa87a82e69b890518d3c546b139063565e97110baf3ed8c0f415e7f51b387f21a06b6b8e11bdd6623647ff01ccef5ec91c6824b4329e5f94722dd22ac9a5bd463d14a67ba99095e2df758c5fdfb72894986ec949188a61e1588libfrr.so.0.0.0libfrr_pb.so.0.0.0libfrrcares.so.0.0.0libfrrfpm_pb.so.0.0.0libfrrospfapiclient.so.0.0.0libfrrsnmp.so.0.0.0libfrrzmq.so.0.0.0libmlag_pb.so.0.0.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootfrr-8.5.6-150500.4.33.1.src.rpmfrr-develfrr-devel(aarch-64)    libfrr0libfrr_pb0libfrrcares0libfrrfpm_pb0libfrrospfapiclient0libfrrsnmp0libfrrzmq0libmlag_pb0rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)8.5.68.5.68.5.68.5.68.5.68.5.68.5.68.5.63.0.4-14.6.0-14.0-15.2-14.14.3h@gf(@f_f(@f@e@em@e?eRd/@dbd*cn9@cb3"b@aaaim@aa@aC1``@_I@___w@^z^Ӝ@^^k@^G@^"@^!^^^ @]@]@]]@\U@mt@suse.commt@suse.commt@suse.commt@suse.commt@suse.comcfamullaconrad@suse.comdimstar@opensuse.orgmt@suse.commt@suse.commt@suse.commt@suse.commt@suse.commt@suse.commt@suse.commt@suse.comdimstar@opensuse.orgmt@suse.comjsegitz@suse.comlinnaea@lavia.moejsegitz@suse.comlinnaea@lavia.moejsegitz@suse.commt@suse.commardnh@gmx.deolaf@aepfle.dertorreromarijnissen@suse.commardnh@gmx.demt@suse.commardnh@gmx.deerico.mendonca@suse.commardnh@gmx.demrueckert@suse.demardnh@gmx.demardnh@gmx.demardnh@gmx.demardnh@gmx.deidonmez@suse.commardnh@gmx.deerico.mendonca@suse.comerico.mendonca@suse.comerico.mendonca@suse.commardnh@gmx.demardnh@gmx.de- Apply backported bgpd fix to validate only affected RPKI prefixes instead of a full RIB (bsc#1235237,CVE-2024-55553), potentially leading to a Denial of Service (DoS) scenario. [+ 0004-bgpd-Validate-only-affected-RPKI-prefixes-instead-of.patch]- Update to frr 8.5.6 (jsc#PED-11092) including fixes for CVE-2024-44070,CVE-2024-34088,CVE-2024-31951,CVE-2024-31950, CVE-2024-31948,CVE-2024-27913,CVE-2023-47235,CVE-2023-47234, CVE-2023-46753,CVE-2023-46752,CVE-2023-41909,CVE-2023-41360, CVE-2023-41358,CVE-2023-38802,CVE-2023-38407,CVE-2023-38406, CVE-2023-3748,CVE-2023-31490,CVE-2023-31489 and other bugfixes. See https://frrouting.org/release/8.5.6/ for details. The most recent frr 8.x series provides several new features, improvements and bug fixes for various protocols and daemons, especially for PIM/PIMv6/BGP and VRF support. See https://frrouting.org/release/8.5/ for details and links. - Removed patch included in the sources: - 0004-tools-remove-backslash-from-declare-check-regex.patch - 0005-root-ok-in-account-frr.pam.patch - 0006-bgpd-Check-7-bytes-for-Long-lived-Graceful-Restart-c.patch - 0007-bgpd-Ensure-stream-received-has-enough-data.patch - 0008-bgpd-Don-t-read-the-first-byte-of-ORF-header-if-we-a.patch - 0009-bgpd-Do-not-process-NLRIs-if-the-attribute-length-is.patch - 0010-bgpd-Use-treat-as-withdraw-for-tunnel-encapsulation-.patch - 0011-babeld-fix-11808-to-avoid-infinite-loops.patch - 0012-bgpd-Limit-flowspec-to-no-attribute-means-a-implicit.patch - 0013-bgpd-Check-mandatory-attributes-more-carefully-for-U.patch - 0014-bgpd-Handle-MP_REACH_NLRI-malformed-packets-with-ses.patch - 0015-bgpd-Treat-EOR-as-withdrawn-to-avoid-unwanted-handli.patch - 0016-bgpd-Ignore-handling-NLRIs-if-we-received-MP_UNREACH.patch - 0017-bgpd-Fix-use-beyond-end-of-stream-of-labeled-unicast.patch - 0018-bgpd-Flowspec-overflow-issue.patch - 0019-bgpd-fix-error-handling-when-receiving-BGP-Prefix-SID-attribute.patch - 0020-ospfd-Solved-crash-in-OSPF-TE-parsing.patch - 0021-ospfd-Solved-crash-in-RI-parsing-with-OSPF-TE.patch - 0022-ospfd-Correct-Opaque-LSA-Extended-parser.patch - 0023-ospfd-protect-call-to-get_edge-in-ospf_te.c.patch - 0024-bgpd-Check-the-actual-remaining-stream-length-before.patch - Add RPM_OPT_FLAGS to CFLAGS- Apply upstream fix for crash in bgp_attr_encap that were missing a check of the actual remaining stream length before taking the TLV value (CVE-2024-44070,bsc#1229438,gh#FRRouting/frr#16506): - 0024-bgpd-Check-the-actual-remaining-stream-length-before.patch- Apply upstream fix solving ospfd denial of service via get_edge() function returning a NULL pointer (CVE-2024-34088,bsc#1223786, gh#FRRouting/frr#16088). [+ 0023-ospfd-protect-call-to-get_edge-in-ospf_te.c.patch] - Apply upstream fix solving ospfd buffer overflow and daemon crash in ospf_te_parse_ext_link for OSPF LSA packets during an attempt to read Segment Routing Adjacency SID subTLVs (CVE-2024-31951, bsc#1222528,gh#FRRouting/frr#16088). [+ 0022-ospfd-Correct-Opaque-LSA-Extended-parser.patch] - Apply upstream fix solving ospfd buffer overflow and daemon crash in RI parsing with OSPF TE (CVE-2024-31950,bsc#1222526, gh#FRRouting/frr#16088). [+ 0021-ospfd-Solved-crash-in-RI-parsing-with-OSPF-TE.patch]- Apply upstream fix solving crash in OSPF TE parsing (bsc#1220548, CVE-2024-27913, gh#FRRouting/frr#15431) [+ 0020-ospfd-Solved-crash-in-OSPF-TE-parsing.patch]- Apply upstream fix on error handling when receiving BGP Prefix SID attribute (bsc#1222518,CVE-2024-31948,gh#FRRouting/frr#15628) [+ 0019-bgpd-fix-error-handling-when-receiving-BGP-Prefix-SID-attribute.patch]- Fix build with RPM 4.19: a stray %-escape sequence was found in the files section.- Apply upstream fix for a crash on malformed BGP UPDATE message with an EOR, because the presence of EOR does not lead to a treat-as-withdraw outcome (CVE-2023-47235,bsc#1216896,https://github.com/FRRouting/frr/pull/14716/commits/6814f2e0138a6ea5e1f83bdd9085d9a77999900b) [+ 0015-bgpd-Treat-EOR-as-withdrawn-to-avoid-unwanted-handli.patch] - Apply upstream fix for a crash on crafted BGP UPDATE message with a MP_UNREACH_NLRI attribute and additional NLRI data (CVE-2023-47234, bsc#1216897,https://github.com/FRRouting/frr/pull/14716/commits/c37119df45bbf4ef713bc10475af2ee06e12f3bf) [+ 0016-bgpd-Ignore-handling-NLRIs-if-we-received-MP_UNREACH.patch] - Apply upstream fix for attempts to read beyond the end of the stream during labeled unicast parsing (CVE-2023-38407,bsc#1216899,https://github.com/FRRouting/frr/pull/12956/commits/ab362eae68edec12c175d9bc488bcc3f8b73d36f) [+ 0017-bgpd-Fix-use-beyond-end-of-stream-of-labeled-unicast.patch] - Apply upstream fix for an nlri length of zero mishandling, aka "flowspec overflow" (CVE-2023-38406,bsc#1216900,https://github.com/FRRouting/frr/pull/12884/commits/0b999c886e241c52bd1f7ef0066700e4b618ebb3) [+ 0018-bgpd-Flowspec-overflow-issue.patch]- Apply upstream fix for a crash due to a crafted BGP UPDATE message (CVE-2023-46753,bsc#1216626,https://github.com/FRRouting/frr/pull/14655/commits/21418d64af11553c402f932b0311c812d98ac3e4). [+ 0013-bgpd-Check-mandatory-attributes-more-carefully-for-U.patch] - Apply upstream fix for a crash due to mishandled malformed MP_REACH_NLRI data (CVE-2023-46752,bsc#1216627,https://github.com/FRRouting/frr/pull/14645/commits/b08afc81c60607a4f736f418f2e3eb06087f1a35). [+ 0014-bgpd-Handle-MP_REACH_NLRI-malformed-packets-with-ses.patch]- Apply upstream fix for NULL pointer dereference due to processing of malformed requests with no attributes in bgp_nlri_parse_flowspec (CVE-2023-41909,bsc#1215065,https://github.com/FRRouting/frr/pull/13222/commits/cfd04dcb3e689754a72507d086ba3b9709fc5ed8). [+ 0012-bgpd-Limit-flowspec-to-no-attribute-means-a-implicit.patch]- Removed protobuf-c BuildRequires (source package name) breaking build-system setup with libprotobuf-c-devel 1.3.2 updates. - Apply upstream fix for bgpd: Don't read initial byte of the ORF header in an ahead-of-stream situation (CVE-2023-41360, bsc#1214739,https://github.com/FRRouting/frr/pull/14245) [+ 0008-bgpd-Don-t-read-the-first-byte-of-ORF-header-if-we-a.patch] - Apply upstream fix for bgpd: Do not process NLRIs if the attribute length is zero (CVE-2023-41358,bsc#1214735, https://github.com/FRRouting/frr/pull/14260) [+ 0009-bgpd-Do-not-process-NLRIs-if-the-attribute-length-is.patch] - Apply upstream fix bgpd: Use treat-as-withdraw for tunnel encapsulation attribute instead of session reset (CVE-2023-38802,bsc#1213284, https://github.com/FRRouting/frr/pull/14290) [+ 0010-bgpd-Use-treat-as-withdraw-for-tunnel-encapsulation-.patch] - Apply upstream fix babeld: avoid infinite loops (CVE-2023-3748,bsc#1213434, gh#FRRouting/frr#11808,https://github.com/FRRouting/frr/pull/12952) [+ 0011-babeld-fix-11808-to-avoid-infinite-loops.patch]- Apply upstream fix for denial of service via the bgp_capability_llgr() function (bsc#1211248,CVE-2023-31489,gh#FRRouting/frr#13098). [+ 0006-bgpd-Check-7-bytes-for-Long-lived-Graceful-Restart-c.patch] - Apply upstream fix for denial of service via the bgp_attr_psid_sub() function (bsc#1211249,CVE-2023-31490,gh#FRRouting/frr#13099). [+ 0007-bgpd-Ensure-stream-received-has-enough-data.patch]- Enable pim6d providing PIMv6 support (bsc#1206234)- Migration to /usr/etc: Conditionally moved /etc/logrotate.d/frr file to vendor specific directory /usr/etc/logrotate.d and added saving of user changed configuration files in /etc and restoring them while an RPM update. - Declare root as sufficient also in the pam account verification; without vtysh use causes to log a pam frr:account warnings (https://github.com/FRRouting/frr/pull/12308) [+ 0005-root-ok-in-account-frr.pam.patch] - Applied fix removing a not needed backslash causing to log a warning (https://github.com/FRRouting/frr/pull/12307) [+ 0004-tools-remove-backslash-from-declare-check-regex.patch] - Applied upstream fixes for frrinit.sh to avoid a privilege escalation from frr to root in frr config creation (bsc#1204124,CVE-2022-42917, https://github.com/FRRouting/frr/pull/12157). [+ 0003-tools-Run-as-FRR_USER-install-chown-commands-to-avoi.patch] - Removed obsolete patches provided in the 8.4 source archive: [- 0003-babeld-fix-10487-by-adding-a-check-on-packet-length.patch, - 0004-babeld-fix-10502-10503-by-repairing-the-checks-on-le.patch, - 0005-isisd-fix-router-capability-TLV-parsing-issues.patch, - 0006-isisd-fix-10505-using-base64-encoding.patch, - 0007-bgpd-Make-sure-hdr-length-is-at-a-minimum-of-what-is.patch, - 0008-isisd-Ensure-rcap-is-freed-in-error-case.patch] - Update to version 8.4, see https://frrouting.org/release/8.4/ * New BGP command (neighbor PEER soo) to configure SoO to prevent routing loops and suboptimal routing on dual-homed sites. * Command debug bgp allow-martian replaced to bgp allow-martian-nexthop because previously we allowed using martian next-hops when debug is turned on. * Implement BGP Prefix Origin Validation State Extended Community rfc8097 * Implement Route Leak Prevention and Detection Using Roles in UPDATE and OPEN Messages rfc9234 * BMP L3VPN support * PIMv6 support * MLD support * New command to enable using reserved IPv4 ranges as normal addresses for BGP next-hops, interface addresses, etc. * As usual, lots of bugs and memory leaks were fixed \m/ such as a fix for a possible use-after-free due to a race condition related to bgp_notify_send_with_data() and bgp_process_packet() in bgp_packet.c. This could lead to Remote Code Execution or Information Disclosure by sending crafted BGP packets (CVE-2022-37035,bsc#1202085). - Update to version 8.3, see https://frrouting.org/release/8.3/ * Notification Message support for BGP Graceful Restart * BGP Cease Notification Subcode For BFD * Send Hold Timer for BGP * RFC5424 syslog support * PIM passive command - Update to version 8.2.2, see https://frrouting.org/release/8.2.2/ * BGP Long-lived graceful restart capability * BGP Extended Optional Parameters Length for BGP OPEN Message * BGP Extended BGP Administrative Shutdown Communication * IS-IS Link State Traffic Engineering support * OSPFv3 Support for NSSA Type-7 address ranges * PBR VLAN actions support- Apply upstream fix for out-of-bounds read in the BGP daemon that may lead to information disclosure or denial of service (bsc#1202023,CVE-2022-37032) [+ 0007-bgpd-Make-sure-hdr-length-is-at-a-minimum-of-what-is.patch] - Apply upstream fix for a memory leak in the IS-IS daemon that may lead to server memory exhaustion (bsc#1202022,CVE-2019-25074) [+ 0008-isisd-Ensure-rcap-is-freed-in-error-case.patch]- Make build a bit cheaper: do only BuildRequire the primary python interpreter and its modules (python3-FOO) instead of all available versions as done using %{python_module FOO}- Apply fix for a buffer overflow in isisd due to the use of strdup with a non-zero-terminated binary string (bsc#1196506,CVE-2022-26126) [+ 0006-isisd-fix-10505-using-base64-encoding.patch] - Apply fix for a buffer overflow in isisd due to wrong checks on the input packet length (bsc#1196505,CVE-2022-26125) with workaround for the GIT binary patch to tests/isisd/test_fuzz_isis_tlv_tests.h.gz [+ 0005-isisd-fix-router-capability-TLV-parsing-issues.patch] - Apply fix for a buffer overflow in babeld due to wrong checks on the input packet length in the packet_examin and subtlv parsing (bsc#1196504,bsc#1196507,CVE-2022-26128,CVE-2022-26129) [+ 0004-babeld-fix-10502-10503-by-repairing-the-checks-on-le.patch] - Apply fix for a heap buffer overflow in babeld due to missing check on the input packet length (bsc#1196503,CVE-2022-26127) [+ 0003-babeld-fix-10487-by-adding-a-check-on-packet-length.patch]- Add ReadWritePaths=/etc/frr to harden_frr.service.patch (bsc#1181400).- Update to version 8.1 * Graceful Restart for OSPFv2 and OSPFv3 * OSPFv3 NSSA and NSSA-TSA support * OSPFv3 ASBR Summarisation Support * BGP SRv6 and Prefix-SID Type 5 improvements * BGP EVPN type-5 gateway IP overlay Index * Lua hook support * See: https://frrouting.org/release/8.1/- Drop ProtectClock hardening, can cause issues if other device acceess is needed- Update to version 8.0.1 * refreshed patch: - 0001-disable-zmq-test.patch - harden_frr.service.patch * LDP gained SNMP support * OSPFv3 gained VRF support * EVPN Multihoming is now fully supported * TI-LFA implemented in IS-IS and OSPS * New Segment Routing daemon * See: https://frrouting.org/release/8.0/ and https://github.com/FRRouting/frr/releases/tag/frr-8.0.1- Added hardening to systemd service(s) (bsc#1181400). Added patch(es): * harden_frr.service.patch- Use skip, not xfail in 0001-disable-zmq-test.patch to disable zmq test as it is not expected to fail but hangs (bsc#1180217)- Update to version 7.5.1 * Maintenance release See: https://github.com/FRRouting/frr/blob/stable/7.5/changelog-auto.in- Requires libyang 1.0.184- Disable ZeroMQ tests due to sporadic timeouts during package builds (bsc#1180217) [+ 0001-disable-zmq-test.patch]- Update to version 7.5 * Upstream does not provide a changelog - Make grpc support optional and don't enable it by default- add build condition disabling mininet build require by default, needed by the optional topology tests. - removed one occurrence of vrrpd binary listed twice in file list- Update to version 7.4 * Upstream does not provide a changelog - Drop patch (fixed upstream): * 0001-build-use-configfile-mode-in-init-script.patch- 0001-build-use-configfile-mode-in-init-script.patch: Fix CVE-2020-12831 (boo#1171658).- Update to version 7.3.1 Bugfix/maintenance release * Upstream does not provide a changelog- enable verbose make rules - enable grpc support. new subpackage libfrrgrpc_pb0, new BR: pkgconfig(grpc) - enable config rollbacks. new BR: pkgconfig(sqlite3) - enable realms support - enable shell access - make sure we use system openssl - fix shebang line of the frr-reload.py and generate_support_bundle.py script so we dont pull python2 - do not delete users and groups. - add Requires for libyang-extentions- Update to version 7.3 * Upstream does not provide a changelog this time - Remove patch: * fix_tests.patch (not longer needed)- Update to version 7.2.1: BGPd * Fix Addpath issue * Do not apply eBGP policy for iBGP peers * Show ip and fqdn in json output for show [ip] bgp json * Fix large route-distinguisher's format * Fix no bgp listen range ... configuration command * Autocomplete neighbor for clear bgp * Reflect the distance in RIB when it is changed for an arbitrary afi/safi * Notify "Peer De-configured" after entering 'no neighbor cmd * Fix per afi/safi addpath peer counting * Rework BGP dampening to be per AFI/SAFI * Do not send next-hop as :: in MP_REACH_NLRI if no link-local exists * Override peer's TTL only if peer-group is configured with TTL * Remove error message for unkown afi/safi combination * Keep the session down if maximum-prefix is reached OSPFd * Fix BFD down not tearing down OSPF adjacency for point-to-point net BFDd * Fix multiple VRF handling * VRF security improvement PIMd * Fix rp crash NHRPd * Make sure no ip nhrp map works as expected LDPd * Add missing sanity check in the parsing of label messages Zebra * Use correct state when installing evpn macs * Capture dplane plugin flags lib * Fix interface config when vrf changes * Fix Interface Infinite Loop Walk (for special interfaces such as bond) Others * Rename man pages (to avoid conflicts with other packages) * Various other fixes for code cleanup and memory leaks- Fix license tag- Build with support for pcre, protobuf, rpki and zeromq by default- Cleanup spec file- Fix build-time dependencies - Remove superflous comments- fix_tests.patch: correct syntax for Python 3 imports in tests. - Enabling tests- Update to version frr7.2: * zebra: use correct state when installing evpn macs * lib: set entry to xpath in if_update_to_new_vrf * zebra: capture dplane plugin flags * bgpd: Autocomplete neighbor for clear bgp * ospfd,eigrpd: don't take address of packed struct member * bgpd: Prevent crash in bgp_table_range_lookup * bgpd: Fix memory leak in json output of show commands * tests: Test if `distance bgp (1-255) (1-255) (1-255)` works * bgpd: Reflect the distance in RIB when it is changed for an arbitrary afi/safi * bfdd: fix multiple VRF handling- Updating to version 7.2 - Adding systemd scripts - Fixing build and permission issues- Update to version 7.0.1- Initial package, version 6.0.2h02-armsrv2 1756724017  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~8.5.6-150500.4.33.18.5.6-150500.4.33.1frragg_table.hassert.hatomlist.hbase64.hbfd.hbfddbfddp_packet.hbitfield.hbuffer.hchecksum.hcommand.hcommand_graph.hcommand_match.hcompiler.hcspf.hcsv.hdb.hdebug.hdefaults.hdistribute.heigrpdeigrp_dump.heigrp_topology.heigrpd.hferr.hfilter.hfreebsd-queue.hfrr_pthread.hfrr_zmq.hfrratomic.hfrrcu.hfrrlua.hfrrscript.hfrrstr.hgetopt.hgraph.hhash.hhook.hiana_afi.hid_alloc.hif.hif_rmap.himsg.hipaddr.hjhash.hjson.hkeychain.hldp_sync.hlib_errors.hlib_vty.hlibfrr.hlibfrr_trace.hlibospf.hlink_state.hlinklist.hlog.hlog_vty.hmd5.hmemory.hmlag.hmodule.hmonotime.hmpls.hnetwork.hnexthop.hnexthop_group.hnexthop_group_private.hnorthbound.hnorthbound_cli.hnorthbound_db.hns.hopenbsd-queue.hopenbsd-tree.hospfapiospf_apiclient.hospfdospf_api.hospf_asbr.hospf_dump.hospf_dump_api.hospf_ism.hospf_lsa.hospf_lsdb.hospf_nsm.hospf_opaque.hospfd.hpbr.hplist.hprefix.hprintfrr.hprivs.hptm_lib.hpullwr.hpw.hqobj.hqueue.hresolver.hringbuf.hroute_opaque.hroute_types.hroutemap.hrouting_nb.hsbuf.hseqlock.hsha256.hsigevent.hskiplist.hsmux.hsockopt.hsockunion.hspf_backoff.hsrcdest_table.hsrte.hsrv6.hstream.hsystemd.htable.htc.htermtable.hthread.htrace.htyperb.htypesafe.hvector.hversion.hvlan.hvrf.hvrf_int.hvty.hvxlan.hwheel.hworkqueue.hxref.hyang.hyang_translator.hyang_wrappers.hzclient.hzebra.hzlog.hzlog_5424.hzlog_live.hzlog_targets.hlibfrr.solibfrr_pb.solibfrrcares.solibfrrfpm_pb.solibfrrospfapiclient.solibfrrsnmp.solibfrrzmq.solibmlag_pb.so/usr/include//usr/include/frr//usr/include/frr/bfdd//usr/include/frr/eigrpd//usr/include/frr/ospfapi//usr/include/frr/ospfd//usr/lib64/-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.suse.de/SUSE:Maintenance:40391/SUSE_SLE-15-SP5_Update/77a3ceb5e1706531f6ce4334bd029178-frr.SUSE_SLE-15-SP5_Updatedrpmxz5aarch64-suse-linuxdirectoryC source, ASCII textC source, UTF-8 Unicode textC source, ASCII text, with very long lineszƢqUIx3D+w쒲utf-85bf6b2001fa9cca1a70544f006fe39b9769a3fdd64123f2af2255cb70a3afd64?P7zXZ !t/]"k%U8uy:?$ g,02]K!ef&oYwժhT JT3V9- ^9)V&!hDpRH3tlR;mcQ_*'@ z<$H|x۝X!4ɣ reQ?Jo 8AdŮ \vUSC{3ņU v`/eM,dMܳeZ 6vE\35l4Cvy}aS 52-T\63xxηQ%s :54Ŕe۸6mk ؋Wʡ.nw蛁ht"o(Q3xj UYN]^Ex8g ^E?3ڤmDt=H>}=Tyo~{pQ|.4ʀ:岿)<,. lK!? VͮGdᣤM~Fx047e:\2tIM8WY83ESep8/UCZL.zQ;e',)mۡ#5v"ys7$cZ0tάE˓R_6 s\',iQ\zBPiB\FoUHs`Jda8tRf@ $)olvmhRD836i,bMntuX {quhxu܃@L+n0$)pvGHFhKr^j$ePS2$tQx_>_); ΋iJDQ:jsq=St,̯0Ma>Kd!h q ^ 6mfjڕâ @gL)]ȺNf]|#"k˴x|H%7S'?uɍ^x$lwCi'R]i'yeNQsH_&֪zGKOCO߻JvI xaԘRCw-&lPWdLjDE1QfyĖYON)ǺXްƹ`aؓ& 1:BuuK0x0R l( DX˥-pDs`}me|0"YmCRo4y٢v{ccc)kNwPG7a"?9Aɾ7 Js?J/}ON<} ٳ`dނYα"GP -LʅL9QNڔ7 {82y7b?b&H+.2f؀|BlOSi82ɬ9ualo}oCہP-;jVtWS͉MBj,r~a3qr, GpoWfEcۆCKpjX34C렧CZ\ :<o|ͫ@.LzaNxV6U cxgdy^JG)ZҭGh:gjoQ1tt:t*Fdb[ b{ DsM tخnXcUxtsJ ?'۰ O܀ e\߮TIش niO@H4T)Ε èbIZlpO oWf-$ X#_- ̤81lGK@pEW1e.]Vj:c#1J 5j{a(5yە'VRT31 cFv@&ھH`5v> haDŽϓi9yA1U^|^Qy2NS)\NZ8^(Gv:7a(ODݳ]Uԇ2LY*(cEoG R& 05Afm5pbCS` )?5\yxߕ9E59np+]KJKXQ m 7n8-g&Sa}b);*3ovO.4_?/a˽a`tc'ut n-l#=S}`Gr%Gd>jޝ>R Jy%^tWJX XU,`_Ն\m~,O`yI"sYin~sgOɭf/iol =F]Sd .~P/rR]CLgVBy-NjCOxk_%!3{^6)/L]7'z"E0 3]I\g*M|VT[ԃHqR %EkB7H gK‘AB[^fIt3+olJ\щ09#][_aC῵-8#]p(ڧ:Ҧo&%^l{Cٲõq)4h ޻?6[2nF"]뢑QypG:ɀs ,~׍C,$:fʇ¼ƾOe~\II1*j.w ~LPIXZrJ\sIÌk K}G 0%~iBh+\!)PJ*0{|P9j,tr*(hj(=j."* 8"t\̐x_}`cۓ((-* nd 8ɖ3M1p $5*z+W%ID lnn+5/:R>=&Ć64H|H(!|/U(~ EJƕ&Ў2.qd\3RC,}d;:h¬ &;{);F>DQ[ԩ*2xO|=1wOS.>vғQeۮUw^fONG%-E͘SD&nR_8Yl'8)p=U(u\Tk!9QL[.ݟ8dӬGnz)erWӡ_f^ P }!E6ۘlYsS%nLVcW#RWolW Š/.ژy`)_JKud~6`ϗ(taF篖K6Cr@XZt xab$-֎L,("g1c^ק!82wH!G,$p>tЇu@tL1یsw{V\ez~N(ͼc ZPeҲ7!2#&<w9|oIU3a z.(`GB[뙵hgH#4 jt=Irf MVtSg*EV]yHiU(ɟ.sb0X`(e@=oƯ#]NӪ(6qJe# pV!Jt1ŕ ͊Ңu͊}p#ܰ!MDb4 vn-NIHeI #SaS%R@rǪ]? 6?ra8|'j-$9,baޒJY?MFMYM`gX9ަfy">is6h$|fnXXfɃx!kmbXTWtyB\+CD,KGN2;;XQJWG:_l ˶:IOV]G4QAVIXMNC^6(RkNZẰr20j-Zluݎk3HGy Ƣ'/[N(\1w. V7|-P:Ἵ%ƞN-۬lfpq#-pأؗJsy1QoS ᫦W!alѶdK6yGHyc,A{AF>5H? e4L%$`)-m+xCBB +\KuF:gn 2I^$x\MO'*5v+v9,(z]Ljw=*@-;MKmOd1S?bi\ x{x{wCJ{R^(J O_a.n!px14ȩ5ncS`5FQNajm_Bi.Ҫy8!USzƁ:H>kؐv[Xl5;͍ɾXZ ɉc Zr2-Ⳅ3ifu_D q6h8etmCxvjf+IIk4jJ[Jˆ%N6r/!\I(x\uU-?b5R׎}d8ޑҕԕejQX{=(zn)}Rzސ6 G)jvB$4!6v1%Aɣ"3R; +VUq VJb>݉-y&FmBƙ ,ѭSMh=єK uFǜwΦ,8yڋx HWS.ܺj/[qhe̅K~ײe+1.5eI=\ax@U \DG悽)09r2̈́ 9v&@bms YMحaiKJr[c*!E3(un}coJJ:(X1'y4Vm;{T̥sm3K+a7s*7pF*5 [h,jvc 9Ƶ_w: ײ0F'PiRYBpML]f9kK ^m] SM}RodhbE+z/t׊Kp-<49r9ϵ 1}nSd]fRE)ޞG?m=EcT]cŗT ~ 殦TH$e?$A>8_F&k"}UNFSE]Ʊ/VH'|Gd?ɏ\  zpAbDԿ >}~d(§" ѡyf?y2983g9Ӆi[dgNG" #~V \UX*ay )֯:IjYe<`Ldx# @fdԄISyK\?i'Yz/v5Xlٴ6y(4"мxL{^>V e$NǑ79. vSʵصiGwV^D`yk1[ m"*迒OV ]l׮}}g!fj*䛾6{֧>nQCԙ" * d@d UJ Տsu:?Wb&Ჹͯ 5qAyxt~ *X~XxȖe_ιxs@cG"9KHPtkg%A! _YU &,s:uX7U -ENS@X\CߐL)& 4=z9ƃ S)'M&AdCsΥaϸU^/Yά;iUr?Rz`'usTHâ/Μ1YM xO'7eQNequWf􅖓̑~)?,9<xNXwPzHNrdfrNhTůqlUz GR솣Ճ5Q}t1(MU,5YDOsE4FĆy?ޚѠ&pZ!; ᧈTa2!-|0jd6:LSW*4Ba̳`[PIni($ 內ixL:^bbMx/֋5מOtT+soZZ͝9`S'ʛo$\H] "_!Hr·&kk^Z5$ߣ|6T[_xEV˾LӸQ^JSFD_]N\':cFo7n"EE3;۲̶P'eX_w|^YG`t"֛&jdUtÇ ,zoL|at ? 1-BB}Q\cNtI]EuP4:\Y<,K}9m7E.z4c~ =a(Es$E`,r7vz"܊hvR7RxL]Q/ ;: v;zTh8E(DFxvnCpA}2t׆Ny5 y9qsT #w0E@ d8˪l+6(^zE[Rix3̺Q[,oyPlPIE>CYYTB\]T4_kNJ`e(6A6[egO-dϮU胹ZϲޮkIdxNv4`#*դi"oǨ8(gAl*ӀMDrEDו1mNv5D:_ 롆e<XnOf[e}<26C.vh]0.=5<2^ǢH#QL҂ +y雪f.3tgi ɻŋ3fFJUILk`ҴrqFM:Y '|0 a!2' cHPq,`(ygU&^-Q3Vz_AYO3}Wb@\Jp,v ]eKrsI}tUk~6BkYL^_zo͎mx31`VjxӣeO2Ekv3wtR}0&'Ũ~ ?/59Tը])A|Z~4vcŴ9ef4<`jк> K^fe#3ϟޘu`XCYƦ= nzo֤Z! M u-Yı-y]tMuaZB:lld䥃|@!O"=b4ilO#$u6rgNh Fu[cad_-B%kPO^4n}uSTꞦO~h&cXa+V/di jP|dln( "GͳBΖ+EmxE5ʘKha841Ali9Jeԓ9wYZ'(?va"mu\qf,s LD[T,Ej~ |TiKZ(:|,qO_V% T]W1:K9CGNeai j #A~ ƋL04 UơoҚ$|̝S٢F ~9ab>) t\ͤk(qV*c3&1۲D7y0^^S6 CDh7-Dy>B]޲ ^tнj>:P.=q&@)FDJy5ab=hpȨ}Ejm@Y 8ٍxG\r s0}RG2T$:X&+=U4%SSM n{{= %5ađEk+RuOLE9ھft,l4DLe N<1J41ؼWиoKhAOHVB'`iDQy[T .8Ď*}YBH ¾ĕajU-ۻ0@W[|cj\Gy|  hԭf? %0q%Q(o2@%#g dɪv@q`1@ʚ4kBJ0mr>FܾcnH{+Þܢ5VewH#oba/) +:MNq_Y{ $DJ6EzJ'ę8oN c\[V`s3@.,tꐇ>j!Yo\d>]dT I2x7c@OJ)5'_L lgW9_sCJ:śT[-UD jvEVFŞ0>4awr@7l`"2"ɑj6%A^T”uQUJ}y˦ _凯|{"Ld\񧱻@9sj"x9AiiMs&l@W@̉֨5;;Ζ2!Zg'Tw;N81)2l2go `͛KL΄2 Q0`^&C_uў1F/*+vOC[%4vW&߭:zrֱkVhU*ل|7p<d@|SCd\brBG0P(%a?r[l)\?@Ņt ɑȹKƞW !قpAD[e /qMRh 7Z=QZeVO~c~~笌nGEqZ.."ٶcl'Nx"(TU×F]mzJMT!X"RŃ+T 0~Em0Vzhe IKXۿTik)VRfiM|@Vj.UdhhdM&e)_GT(7Z(HT[Qd#ڤCG#| >F-U?"x g0[=xRr(?tAvqEް$֦_!FPiUZj|U1@F%M4x;OTKy_Gy:W*śo CS^xC`:#&&aT*0AT"i-3ݺN i \S)_$,/pT|6uAqR9U?'#Wfd(ADSW$&ҤpVbf?2AD$@rI=m1/PZjʫK赤/璂SGozFGP!h{Pzި@/>W ex|sGAeo9ww-vAx ;W{F>5'gT߁l~X _I6+:}JQz*qloY'*HnrEu~gLՋԬ~c*|rN}r8^M,Y̗TpHu N*s;eI%nӶlYt3ooϷҢ<g|-vgP-OP&4lkr̅`'u342ٲZ1%p!|1H4a%t֕)uRVæ7~iiN艘w {#P _s,G~IPPl[fr턆uuFk(EpűHciQ:7c~eo Y $=}Zr٠Zz  <;E^';KPlxqZ> `.dkDRKfd/(ʢ#" R2$mIZzy ?k~|pc3텢5b&!nM<دBUѠ]%S r5%a@hWjve͏'mp{XHjGL {J23YF$ײ ~/&]g#;Cqbh_=}v1' ֋0~-+kСm013 8 q`l_+8DW<ҘB/*?'qƛp+mĿ>+k-&WW+Vv @d J1!"4j gK}H5ftvX9H=(MA&u3u!ȼ|a\Vۜ\1|[$8YW,}G: 6 )Y؀%q=U$K}6:ҔSol nizkY;Fmvx,&OPRn8#]fx!Er\xzTѕuPODzSpK!1$ W <v J-X00!H=)pWzER>.&$ />&X,Ze*[F;pXxhTW*kd*mS5%-4xoC?ӏd>)LhW%ة*T\oeCi^r҂&L d* fPA%=^Dn1mW<:<%&WL}Z*&J%ܵ% ͆(\汕tO?j5['3{<\~ GJy5^@ 9Qm*B(6vlqNpQ*fL^7ma}2Fp}H/G)oѥC}5fk{9Gmﱕ c%oITxQwqUft̉1HӤўtĄaaohK\jS!f}ǭ14M[t 7Cשٜڂޑ#i[A[-zT |r;I1^d4O7y^rr%Vdog` ZQpB* W,Xl*HF:Z쁾# m#E3)]&2",5F$,.+9 N;;PpDUOJpnUah*AkՒNQIw+NfR\yҁg'W4>D~i6"G/.CJu., 9 ס:.c;9Jh՟ -̓9IP>~%nrv178uUG:Q | hd ɞ b]O+ft\w-u =߳0=r%G1[qMpE|Ji_J)ʎ]xSJDžV0@P^Ul8Y ۫=#W?kœ jg7I>µ,{SԨ•ߵφ ((j[a^G2uN~onS82Ј;8CNR,ܷlٲ)L|>ѐNIJI>|h kҿTwiյ8ÝkgƚɌ$f@q}݌Lc5d׿Vj=g2>2ޥk.O(ӽq9NY»3"EtqtkK/UsCv:J^s:}.`~tԚ2Fq]_y1Qh: !}L[(H8Xu~== Uȡ; d))JcKn ͿB8]fZn")'هƳ#je&/^uEėj< UsV3Fˎ2PSTҀ<}*ӏಁʦS $;vdQ^܀ƁjM}4F5H ?޹tGZ@DPB+O)N50;W|N ౪JQv"ol"덑~\F=.iUN7i直h/dM.!p߬!P'vCjV=݌3HвW2,w>hPyU3Wn7*%(yfSj -?;rWFQ/8~v>v?Vj1/!scBS&wގ0:R:9omiMD& gD1 ܾb _,̄ >xzyz5y5jT\p0:ѨA8YWq #7CԸ͠d~ HHY u)8W4'U<ٌRU)*{*M,5Q~%pE]"ĬbqѦyzxe[l1۵Mb)_Y+}H:.+24~jSԮ,JY{U4{Z_:<z>˅0p5^^}96TWRc+ yjƁOYl.8M D:L}aBEX;Los)u-vr4PFgS [fo<\ ^ 0jØQ@wڢ4W}ZȜEL]ɷ:7ȉb*ߴbXFMeTUW-t?]R3KB\W,SDxbA`j"ŽH8-pN2p`VpBLR̋/)ZsGkD'1ib7[ X#G&G Dxh]anzs+P *5l/?({J{gPcC;>k(H!2WbwKtL`kId,0m*Cw Q94Xk*uS[<۟ &"Ж+wQN nIkr4B6{y)? +SUŽ`5_g {9tfQ"4{d]\3Q 7OZ(;A)pK[X 7\=b'<&f(^|A$l$(ez  )Oɼ<^\eIaWMT-;"-OWU}`F,Ǜae;aJ -V *ȻN @eVs:ԘȽ9V(gL )E0 cz/ӻoC ;kٗU5,z8 {@`ߚ4tb>mbLnL:yG6ԕI 9 6Ls|}\gU?}G_Fl~GgP)4ݻ@1w4BhQh1K="0Cab(%.sQ^-+몱o:)$;\ {]-ٺXi?l{P Qx{(Nf댅ucZSX#:,trb{yvhԖ(} >[G% DjX G8LjI5U]+L}ohTH~[ `!~!␊bB3,P*Ms_֩?~^旙XOCWV\86_W.S>*Ri+ȬsAKC/a AL GsΪ F÷!7(n"L~F/DgFNd0;#! L4's!U]h{"p٥§afsXWJ%SV`5n ^eYǫW2 S4< H'FY])"6`|XaAyZgt&2t@r6%!6Vq Oc>JCn}Z'?6@VfA's֍hc~uM+B3#{9@Zg#楟q?k@ s/`j|<;ȖH#ڑG)F<,QLwDA#xܻIΑ.*^E@pQ_b ĞAQMRTљ} nhi]W61.oP%'57`qw#{WPO 6 ${[` ZtNV36q op;TADrM Dvfk2oVE"|,~Ŭ66\QFb'/[ &YpڎWg2dž.s'p^,(+ƶf-Þs 8ҝ@+"-pXbBKX6O gD7tR1b'i*WۙBS[T9 Jt:\~&%Vx I IJnx nL?؃23gz ¬^ ìˈA󩍸3qc6fCMX˽ՐvvG+ﳰ1Zaѓ C$Y|dq]tIb h5 gn(>'w$g(˫Bl =lΒ%m^IOFY6~fy1(5|*Fm 5LW#k!;N(mZ C~>8Ɣ_Q9UgXq'2:gz./5LǓ4N}4+!pܕ_-ΡIx\k _8fF>A%9yP_Xd)-g-L9K8u=Ho Qq{Q7a>Dڗ(ULI_܊#XN "yH4/=[+\:]M/;8d^W=pDVk"XE]k}eOtќDhi|#s=ME=Ϧ`J2I"ȝ3>yE<6iDES^o|exaBY-23AhPƽ#OrWT >Di cO> V/ĥ|ء- pVxwQeBe{#쓁qk0NP1oe7!\riлPPs4,J EsG;ĺU`XJkyꥡևH&ڜ,Ҳ$ ǒMC.P&!J{NZ.56ӄNsD,4z4o{e48;7䫭+cl>u #^]mө, -$K>FMдLǥri7hYXkuqwD=h)/.[$#q6&HHk~돍m$j(G޽,4K1HsOz-PLw'u:YO'B&C;o&]I{ha`H89{ 8;S/Bfz=O]mEuóσN q.M;\4Ca]DFmJkE6AIl:$Fi*E]hs$"x0 2Tk17{JcTZI٬Xrʾy^熷 bt$ Y'D/  U29h^*;)`\I !2?Z"_ ȑ官co?ۚۧWR0 n8Q@YJ19R$ 9k#0e+f? {;NdK2ĝ[Cc-==mв`t0.'p.3د:W tIxMn?3m]A!HKȡ+k wl'/ĪC_Dv\ d/@] @,J/ӖPKh; ԭ>d 1)UشHa4&b9+L&"b"{Kp붷 ͜h;N(e;6)F%(z`KcxܰC fV)ZR+Wȃ, fdfH2kŅ(vÔ?]]: tQ-p;3ebKa?`A/iLvǫdy6adk&q"C3͹Gg0?^ 򾼏m0G(fOkywWa(} `qۘmz 7sEJ\u"jzP txxjcVVkBr(5>95{YJp[\pܩTGbCHS_ڱPQt3\ݖ*nn֗F0#@1x8S'nC%f #w+Q}'dDzwI(~18NgK@ktK;7(лn(zҾW_ej|ԅlN=WaE _ξ# t7uM78rE`Vj(t2Q̮~vDž~ҐdɹI.dU_"5戕xaxR "-׸(% $u0_񘫨|53 UYi=>)pSHTjv/P׷噰وgn&9aL5YFy,V$ O vb(xxUϥzX{XF^wdSv|]rmI2; mEѷŴS.dmFH7' !Yʠ7l8PԣFT=uh~ E+m'L u%W+m)y}mE5SzݦR=nx~gK/2 1$S\WF ;%2!*vRnF9C[m?jAUO[Q5Oh^T{Rgq{Lw29-%<(hP헦}2S1`{kzյzoWoa|:a6'Bm@]ŞM⟶N l xg? ^%#TӹyrdhYn_/cVDN%MCWex )Y}w1ȓSfi׫>߆5DfJ[$:CR>.ST7w[}9S3|Q BFR+v.sqA*q%&ͩ2^-o5:kr-O<žAY'SeP镞8ڬ@x۔ hC}/PvTk.BWJyC4u(~>Ĵ8BAe1s&,ڡdi;3Ǵ Բ\F5KEG')|XМe>Mj-D;/,Ӱ < <u@zҾuj-G4ѵ;أ0@۵d^ :ɺi\i1,R.x\#jfJ.`Όz=1!$MR|?#쓣zy_3|f4s  mC=3fGPpXB>xS7ȎqrEfX}in#7OyJH/R)gǣ0^pcLVjRy`:3 j>L^sЉ(ޗI};g)570Ձ0H$ݭEO~(r+A MY>*f̸3Z, ilgZ>XM[TsI7qX{7WRim@ Vvkװ7\ eހT ϋi;ܢ?%ᕻ5/؟](qĸ,dNu]m3X]? Y -k'`5=%>Y4\vC,@K.^Qk<،CMQes\jTѽBCbٞճ|ϧ=De_3) pЧp7Bo:*-<-S4C刾dLҦ/5Q[MKW0`d.9X5BILzA1&%xӹX jn\zfq+|}w3$8+=]<Fڅ4pqd8ɖsR˸C.Vd¨ε\DDr350\|ɋkA,D{I?Cn۱zY]khTbZ?w>9fꏄN6LJOݸ#OcįpKE v}mebfQ`Rwfbط cY+=LJel axu6+<[1e5Lœzq 7?DNRN)ee7Q݌PO{NN賓>p&[K ?wpyKu&B' s&;OԌ ACÅdi&ak%kf4ϯy3o 9hy^6Ss#E8l;0T:t?9O}AQ"z֏N1Te.5^:Q5,C AT']gR(2p)~ݰ*x}5Y\L,LQ$sx-LÊm[ W?+V/oֺKz_#k-E?㸰MCOh_b!gY5Mq|(kS+,8kSV]) W?Ba ,]0?x4LbH։/ pj>d^1?%ExoI*L4|;j,&JqO7J R>~j$>|E?|jVcqc64iYܴ&4NT,r,lbV[ Ey,a롿嗚n,1V"A܌E2'+iZ(du _=@[Mx\cxT5y /P2y0F Z]T 8 R%,# :U'ҫhU=/w_Wv(1vdsv6ІO d>` DѦBNbʟ6EcٚH-1Ow`u4[[&*FiY0==u v+PQx8h !4Er;5Q',B8)tL'yUM8<8D1ְ t\O^ l-,;,ಋsAV AC ^vqтxk OeXV/l(V/06ħ@S8}mޑnow/ЁABz:ğP_J΂iYA`\-/đ,mELڥ-T /9$hw oD B"L%ͥK^,E~O<Mm'iM\}eёSaՑ-2ADC:^ir8?LAD r%Ð;FBZYeY)jQ0 m/*PTOIP2`ALEȎ,Glh/IvRntnJkn6W“+ @Dmhx.vG\9/Z \rQT?=7mI7%ߝM oV@>3/0=\+ Ͳ͓y{@ZEDUHqff+ N#ft7$h>MZ?_R P4 .v]8=~Mq)z[P PjJz}(vk5b٤8!dv@Ii )`PAȖu+vd?xr?}\0 %9#*m5l?~(GuZJ@GV+tȉ4۳)H/!֓xӻPJ !G4L(I:!C BIyưy [#s ;ݖ{R glt|;̽l Gs|$zL_L=FСcх2x0BJiy&rb@/%%N9컍~ihte|CxߒMzt\̧̔k8w@RRy:?+l:μ@7MRC_g궫Y03H:3tvT~TE{­i8(wY]ɷZ!`]! ~Xr*y7:O=ŋyP%aCrFG0OC?Xޏ]ήNgۯ gSa zj\+: !u.<2`\y%@]iMti@gs!`*&ĸ.Qk}k/ˑ1d + =)R٪P;rF`_@JedxRz=K'ߑbvTasej0\Z)˷wL:R MfALoqZ]j. M'[_SZ=-$؝A5ZϠw{Z;Q4'KecNBD`5v,d n<%è"nB!ߏ(;>ˤ'@z(,u//NQ8j !sn|K֑|ipP o2ma9F˜bQ+ZKq4T[Ԅ9wwHQ$E;~lUW(9tWE8t6pgmȀ+JS(+J,!MYW#Ea_kLpmze~>%xdǖn"5H^K͇kZgۧ tS2"aJKj\݃@* %\zgˉ"ʆa uw+-ž!>5ږ]o3' &yBo!Z *jLPC"&?,JN˘s7nWu^#o_;˅nt{HWа%_?x 6˞֕'k."җf#5FLx ]HT=[V#mEmB~h=Ս>o^fº"C B[ ƿJTw_ =F·bz<~CaD1%C"vyArl- U$'I)( DcftnYy cӨ!\7Osv.Q%߼oi,(FUDR{( yGzuEBӡaVMuZ8 %N>Qۙ.H#G;aN/z;p|:8) "YqEĝXJ%2;s7dW[|^d ǛOSmG,?c3iɉMUe^~7mhMR&S(c JU}P]R2r-xB+ZE"^Hyʥ Ц,UJf쨶C"mkd]4 0&Ǯt_g%L<@NwL̊a%=(Z^xa6y/9xc=k1)(#JxOSi ;>y%1:ydSה57B-(Q -FyJ GGgQ) 1WSK֋JoG 0PV'p+qίJ@5ٮqƳ:G-x9 7R,sC 쟲{t\1OI|1e}@LZ-tD{FJO,h j01% c` oRcm|D/~@$^En`|=LMN10l xJ|jܮ>$t+!+P! 7]`8#VhAlg^Ղ , ~EZxtGiK8ZD)Xr~MLg\5a[qpa'-;G| F+zB(,DrJj@F, hvl1 mV2ҟ`xjwύ$, W'vd2rXe;B,z·-Y=աm[x@7h+֜E:-݊o'~|OFu3Vu+(;a[sǯ6UA-*E#?{,.̟!+EL0Zx9BwQ'>Z\JZTNݍ26VEͅWPW MGx.0C \wh$½Úe>4^I' nFd?ic8^!(O5Hz~qpx|4%+[~Cᾐ\3a=pL2Zpb 3 W6mN6tI ; psҹ9P'"m,}[qfkE&_P .\`g6i*[Rds*/^Si p:bH-[/*f ͶZV\3$.T~eݠgAL0&!l;i8&w7*Y:;HDc2??!m].I>gh7NX>.9f1&Q rZrv6躪@^ \%ئɅgO>[8V៾9RBawY6`Mbv?Jz&ڷ1H=V!N44w92 Y#(+u?52院+K7qhKI|ld0vLm8:Ma|S3BM`"8^@ L%&V~VN}jJM$ ˻v ֜D"%Efsug.YS(M\cݐ' *A΋Ģ< oۢC)Ş. d˅_qb܀M)syUlBv,r<6󌥧B>iGQL?>.Ñv y K;aʼ->=8qcIql>Ξ2 w=!l{P{KQOlܓ#\:x}_MUڀsV"-ҭ;Og^)̔G',Iz5isJR"" cgc|l /1+JDFJpwzWRx-z}׷缟Lkq3]lplEyxMTe)]T5JexGM5ĺQJ/*J"Τl_NaJoFdCH/ڥ*.G3'6,ibĠ}a .!j{-:}o+z xS-/!t.da{bfNfq6cIt+]|ϰ[Vmآ7*{Ty_ݪGj= 5 ժD(-b?:=k9P6-4!qCxr>,6`AT3me 8-&|(x~dC6^[FpovP]w5Xv7 r&@bIn3e' #"g,990@eLu~4xGhi1t^,  1xl`l+jD{3h&xLdQ"x&VxY_e}\ sxh3K6.&51Ha$^ݽ4 ܏g!Ek(W { u.zG+/;ґYe\&v}OPrYCrMAh@)ԥ+VN^(e.ήKm)9OBh 2嗟=:g4;ՠEB8ߊؚ)3%~gR DiDIߞ*/ڹ5H )okM!чA`鷔ouY5 "ed#m#U>a*t0*hײ[cyЖАB,t:.~u:XDKH)lt9j>Qb9b^)4IF:md-18u׃끔G u4DU @cJ >;~\|;1BU4d[0D!܂Oq1l|*??+p|˵w\↟K,{g*@Gz>88JW/ E=;aq L|?hhJ4Njʊ0Xj쏕fY ci}a7jgp5M->ť@>]HI_d'S|UYl|&Ͱ80.ᔺ- 8 Ⱦ3d'jG:3L@2u6vNk>=&Ԯǂ(jy/hoGZc l@8/j+#E>zBoG 5fWXjc׳]+|O []=6B~D"0JEN `τ{,m|j}?')斏W!SYiTtx%=Ѥmh}z [8Ǭ:kRՏ[هGx]yiLpl/WƴEH(.#0eP2k RQ(JUf"Gno(f{{?xL5aWRՐqFymXu%~Zv EF0?S7OqVJg Hncܞ>=Gzqn_wcA%ޘ_vyet]R!ǚZ]0X0XJ;.tZ[ j'c۾J&Xv/da'Ǎ[i *8O^kw,Ed PGgn:T|=<4g$C€f'0#4MhePnU֚FGin%5c B`em`{pId28!ZKv*DXϳ_W51@Huו,-0a%;f}3, 6K*s4iK>,2LC`~X|Il9lMrk`ГqChe_i 1 {JW(6*E+_#n"HpB鹕ic͌ImM_b_p vF<s);[7ivVd׫[ȕ(l+r q-#hM`NoUlz?3wd&Gq.,8haV#"n,:6XWۋzZ6?eKҖ &3X:|UM˷seR뎗 0bhlG3VHG=TɳB/Qlx8tJ ~ 2c_bZVTň5H+i3ʾTi~+ژ&3 zQ9{տ6*oz*Jˏ«d͕5yΒ!?1.~<Unjc.h:ђ?򭮸Ô^SW[{9l}Z xC?w0B)yq>aBA\Wҽ1~ @+\-3E"%kB̩Y6UHJ3&^n:[:p={ !Vث@$tLsoe[c Ő+U䊌"9^C |]{!DSLSU] ~7G yd"y33< [dUa'Og;JlgmL_78~ P9U kӚ2 %eZk|F0f;R5D^xaYєfiQ"!w(yF!Y+ w;cNF\Z]r*h+ENHDd " WSl`^;Kx=tNM+|70"h=t ;. +F4+k߀)=Խ7^93'JD9btW:P}R\:<)@L c1A<6>EC*5c5w(z '7VNx)'ҙwN#S*q;pϤ$8Ӧj"N) zaX evxOT:? _rvE zXbZ $D-A N݉L&orfcTwm7!;8|̆YŮAp OGλLv?!Dڷ +f n[6UĀ@+fS3A%LQ\LI0`l- udZ0}nr' ϵ˖M;*bRDq7 E~d# GSR@m\gosزgt͋!iYwj/`5oJ?{Mٲߣ {q- mBG;W}L.1{M'VҥVQ5AĴZ}Ђ}˯Q^7']-:2^_wS_I SwhG+`Ex/UD{Iq0Ǩ&:w8UY!+edG$<2qjg@T1uJX;Yl.GۓԠȱIM bl" #ƍK)gV7y;ͽVM0m`ߓ87|Tm*3v|pUgZ`H)&!hjs:N?^kݤƷҏ@XIpq$gԲb!Uvx-MA)/z"pŇx14  { x _ ^ =4و:Pq/D}q:Afߠk&r(: TFv޲MbB<*9r Uխ ,m[>W.4/ܴzK+ccL̚Zgؔo(=Q8Ph'l[,M@5'\){1讹 ZJIu}.Y .x"HM3166aĪH14l>g*"▮D 7<O*K[>#AP9$|5*<spuSb.CMN|^羜sX8_v-#9U( 3?6D)@7оunOzZ.l+Wka*I3M<{qx(?.K6` rO? $wM*ש# /߽jaXmҤAڧ޼kT &xc+!ĽJ:-H{`*2:ž8 lo"@۫^&r.W' EG`āƿ^)ǃ(30L7 ;MS%y&7e~)nimZָ"!FKBݟK_`!qn(LvZ&xۇ^fVfsEq5V^g 8HAUd&p$1'J [P?ߚjPeT4c-gtR`  FAȧ+,MSЊp|;u]UR ZqVX=jdjt@NwN.dCA"`W<˿'/#:ߊ|r1Eq!p}ƧG@G,YaVZ$>a[kh`:x!/˽LƵ'Wu~PsR̉hoEL?NLu6 k##&YI?'l\OZ`(s;PődE5Hqrx퍵=2Cth /(/5vY4֋*ooP}{S^ȑ "%êBp@Ms p;5I%#e$8wR $)ZsFɈۗȶGLJ8qX 3ĕ)phܡ9O_Ōᶅ1aM;>N~FL[`M (9Xwѝ9Ζ$?qq%i|}T >q'zxS=P:fM=bJoq,Aed;%- T @}0AvKJ3Y6ʆi!o|G 4{lL}\t`#g5~> R_AA.95ʗZJwljF+,h#7қh¹s d40+A`ID%o<׏3)˻T?}ٟ=jf;>UfsetSe>Dd&_GJx6Rtͭ3¬uw⡧eC(TVW \T9r8M_HwQM7z7 _͏QS穠[&]נrw"%q&{e$:dT*Y0kҚvb $%7-Uj_JݗW>.l/Lg*[{#"CRwf550%Tbi xN* Zolwb=I`DɆ*UYuU<ak>!𠛱P i9\2GK%epJW/[-wWIA:?\\lf/a ò 9d= 1̹7\ %сjW~ /z\9P=Q.)BCi5A^ aum|ͳa]Rl3n ͏Qt&zn59-c ~QJ%9>ЙPT;@pDݡ} & eU@=*1A,ңT)OX8t)b F)ޚ4sQx:qxX)+OW 5Gd C )}.]5W]mDKX_sp׆5ېj$ΒJ{I\j'fȑ>5lѵ/-ڨWpQ"S=_ݪk0qFC?m}ƒdL:"9z_FDUF Y,VkIQBx̆?Hc'xt|j᥷κH;F-syKݞ\?!BK||x睊}WHV@CNɭ@}I!>z:!6yZ*B4p/Ҳtqz˜_=bTʌd GE`_UqKy-k9%c +_?  Es<$@vd-NxB AW;(l }1 ,tTdHy=#&[!Vy\Zoc*+\9زTh #|uv2߶C~kuM| UV!3=@3 s#@&7U{F`6G _]o}뱹+9#h)noqdBҢUτn, 'ol!hg?6Μb̡ 5"= J}*ʸ [l1A `qu)ݣnF5=JB8H/1c)uތāp}tXTz T8 5^ #!zކjJ:?"3(^T95 :v 6/0B}/ &l裵Z=\!Qݖ^wBa?$r<\WS+Q Q>P^ |dgץa[2<[;Qi 7*X{#}{$Ά@ Ӭ#ĕ3m2f:xq3tw+wÞ4`D`V_rR-gӽmlѠ·wovJi<}$H2\M ukhiE R qz_{<:Zh)s<(#nz *~ ]}!f7Y|qbJ%fܹ?Q6bZ}L\kj^Iub` Mu'z7 9 %L[*FU(o&mhkL]҆=To|BV զԫ~]6 [rg8PAHA,j*8]5@˵d+-@}XMZ%d:FRgxʲy-5#.R8 Y5n+؝I)a@e x|@-y_AmcF,/,e |3pai[CL%ϡejIhN]NY^*H({m$ S6\K]'2ZYߩ^aoqM7G1@"8tB//&pN`h|ī5x]Ej)Hq\<+˲E=v8o}fT΃5dr B.NFR|ݒW_%u0-iJOJ \oez`fU ZyP_Ѹ86* d>Ӓ 1.̍}w̦ʼ>m*x[0ciAۃ ꅁ#}U0D)VF|&c)GʽBDo ĝଉʅ%1_ԤNH'0j@1Lu"yn1vY5j)ʝ~|&^ĚmB98n~i4H-~ăE:Z޾ײI>ô b'ՠ(U(L'h(Qs&6M=iY+D/*:bF(4EYk8鳕cע&&bW/5drk0r ƌV^q\O(&9浸ݕ_ ^aL-䪕H.4D88ʕԣXƩ"uy4̥ԑo4gp P`@LbI:8`Jٕh_].ͽOmU)Q2셴W7T)fů`2=̆1&n9[U[c*#NGIɀ I1gܸ ~$!z1=3l30r֓޷춏1\qȉp( Bqì$TBAEq߽ 9ԺE"-[S..M <1o-z` LY)wvTo4M~{e7*<4mPo>;QQn#$ø4huC|cs%=bGI:..9͂-^,*bўM{x6h j&_̆!)O-`{"4쿛K>fZV O0 nШؚD|q #l]>@5a_^5mλfⶃ(@}+ĸlHȪP|դZQf }J/\}໹鴤5)ёQn|޴Zǘ3AGZJW>AUBkʘב}%Û=&Q@a&'6?ӻ3X-B]i|R;ЮfH%EeŃQ=b)H9"iG&o.eXvYA{蜑1T``B9`3Zs]V( z!kf4GT2!35suk;'Ӗ[<ONKL!+Ş~>d~U\xta$uH[l; gF߶=9=bF"w3yԣ&85 *{5mwᐤYnI W;TpO (>+jqo~idLfH+)ޝI.bsjW$RJ׹:ӜBSoED PⴍBqev8QE ADzQEmmx6Ûq+p.ʍ\HtabSkDWG҇=]9P=*[ jŶCcO{,c;-lUr,\!7wm7WY˴'(? mdyjobt`1y<@. rI#)y#˨8<˸0?ʬL NK=.-,6\M5aY6J);5b{mNN!V!;|)1+O?xqBv(=|]FHM$yﶭfb0?`7uF,4\<ۻ-R:">? N v7;A.42s=8ƼC8|:D)LXj/ Vd]4VfwBΖyBOki~7tW *^V6D`22` = ua0{+s%ɋ9 I{f9uĞ/'ڸC ABH#qbK᥼7]}DI7B^A8KMw/+X}!p !Mjr,8eks}FlYp dƆ z*ׇĔ|&sbӘN]xdU dBePCd\;Wɍb#5O̜W]`rnF !N\講ubn;n zJ¬?p[EKRmm`l)"lk.; D\F/)G׍KlG͸HpI+nt,=YAhXnb-e6At-t5 )b̈cǔ)7ltڏ>B] Nɢ,PI @ƨt!0Zy=o 3͘F R \)@ e($ME.:W[ZP˔6TzNPxs.$gj2Ws?IT̮8DH[DRߤ)7kF-vVD7gkWq8 ۠n;:-ϕTw&UEt>+6 ➗!Ȼ]:(giFJkb<)V@_0bn0KofLeS1O \4d,;|l6VI.Bs ZIe=LP grHqFjVQmƸ~?(X|+#ޞ[`Nyf }E6 .hYkvf*п5k~D ;Hwv^XX~$*>EjȋUWƾ`yE\KY0i|#J(8 ?ȤYzO^BBڒ/Np,>iQLnU_v\(PyՔu웲6慫m=G \f@9}(5W,Us5S*{\O9Yekc:]Zhs֬ ň`iEymFubsgj`E%lGAJ?i_#f?E)me*sfI&2Yӽt _`WA,H)g۩ (]Bǜ>.g s`G sPr\\Bpn27dgK 3U/r=l1$ \miC_iKM&a[ L;R=iRB e  \;\ZN0שk% f6_FYGZɳiJ rGʠ*G̺zć1Q͌_4 CmkXU}[=ᅬ@-c7ccth#,+iQ-ԸfkCS3%hւ|_Kc+{Aq[:S6K:1A{Ɨ(F5r}J 3튞pT YdzVN流Fo D3QAiB@n%&v83{ -cXoݩ lH-G>䁧dʌ6iQm ʎ_y"Ǔ\@ TYcDؓr VQg ]'4 /?0t˸m W߲|C-MTM^wA :AIqNY8mt^AT&%kc';T$v =RZn%qмYJf$ݰo~HL|NSA8 aX'EFt}>V4N0+jIQq>{L*?Ў$ H;G'@IOtIR-Y*|v=3U_I~ͱ:`$b6pbǻ7${t'#7sQe,j1sLHs;MVaތRrd.Q " 8?B(}Nx:v%<\ƒeX0F8U~ҹАgβ}C5Nqv9UMV 'iFDerC)A"T["y%G{<ˮ@D>['kg}MxZTMd-;Zt|Z'[>fǜdE=k+<i618$S#1eqCVTcv7Fx☓bIDI _XZ4u%"@mPt!(Bt3A5>Vr֜Yȷ.H#w'=RU1S:[G^RQ$:5&pryY"]/cu+&;seIDtmĶS.4b;1ɮzFx.D4Q\t ߸[eIHMϭc:͔ڮ98c5ڬl2#g6d_NC+O]I޾Ye8?8Ւ@; Tuasx8;8z"9(`r;6Hxr Btzp*N/ ݻ.A6n!c*&U>t#;H p{0?{iUYY.$:j ~t|h5?k"?ro/L)8K;`1sL0h,jBR`^'צ3{Cׯ$WAFo`*cr–mw c^i[1{8:s"VUyĭYϢ1^/>$S;s'RA \cv3 ƎؘQw/$\ONc]Z{=io%zM>&twʜUr %EFŮ6 E}qh)2KtWosrD< 7`.F/YA35Y](g fl-;3&24!ۯC"-]RE!uWk4x"Ul>3.uwӡLp{kr. w^ ğDJk4{O2nMA(EZa/󯭉֡h y #0s`Gɻ9`P_H"A׾ uˌwwxȯG9+y:X>L!{+݁Nαp@<dRE˞wG"CQT-sgcغ$\ w>HlFK6Q!(=Ĺet0zWʒX~C7ax)pGqo$y'd"/AW/gR{aWmY~Ht 2^EwGykAv~V@xq{e6\xCy*@m,Ds]@w;V]&rX[rkO1I]EFz8B7sKscاOZ.` _Zj~eZ,HƼ -T[6 ,z5msF;XstWe/wf烑 XjO;z˾7t8GQGq ~Wʹ&t^-N2\ts[9fB"܅> K0\7Mٌ=#ZGENkЦ֋mt9l]D3 [3/kO疺(<*A+ya;)j FNT~AGn6qG 69fcb6C ""sxhp%n_1? >vtj&:i2'y 쳥?;wG"\#҂?mυzJž|8G.tN`%%n+rmV$.^37$15P06RloJ#nc7XdLWE'6|%@όDR˖W:92$̔,n6ڄPp-s{XoYn"aۛ)=gqL"Ko#M-|q -9,b1\V+ӕq`4y*עfL%,g.rh{WVbCZ3W#PLVY%Ç%2 >`e 2 fӏX)b4E}FxI]1=sȽ'&D)X?9mF XrSzdJGU ;3m*򄟑$˙ySq~#i;ۜ!;B .*&geR>X ޭ##u$PKpϣHB^c!ܷP0}#Js@=-vZc[n%4|[pz5L3.5''=rhDb^Ixkyai) p*;U4% -q)1`y(aj_d#=iM]q<|Y>jEe`w}2~A"g:02wRn"/'C pIo(M"l"N6@e"c;{E]H5@o.9ě!*#pZkd!؍S0~5INF ثez#¹K`Ӱ'nptsۥFiΞٸ^:ӅIv%AM k BONg+b(!ٖb ~.yHs>([¼D`X- EhM 4>ΆW..W\N?L >#M84ObJi*] J-.#ΐA 2-pEd5fԚg/ӜNӚXr5ƍ<~ev*ʈ 5H x/$f)eI $\Fe^b3#傋d;~jKw!C 8FOuJ֜2&*cb٩;s!٫ȬSếH ܖ {*u ,s /#yqoڲ)1.e{AnGA@}9C$¸ip~1MZ^ wu?=(60s][B *<oL\J'I1=O7WWkơ9w]jXl"D~7Y GM"i`MiDAN@#&xZr*Dpyc0iHe:)={h(pHwg3a+SQ!@T0k _CSnkos.!tF.,-_4>n{QwINqfbƏ&zhjn|.wI[l#T3d-%u(v\Q;(o}rLjo*\$l Fs[MSw"\3l Ox^Υ ?X]neICH7#5jr 41sxS>2qf8k r^07@jkk/EbM+jݎ[@0)(ؽ;N X;WeKbRyZ?s),j7E8gk1W~ԈNz/_ DP}]/^9_\ɠŪh8cz2n.:u5aZ;U#=€6\;wǫa&\;4ؖl>7hXuvoLb`n? A񗶅fV;bͺ{IO` {0¨H: -yz0ܧ1DNt/m%y :,߭Ѝ^pkDSɦ+d&$E7p(bx5&L*% pTY+IcOq"i0c֣C,<Mݪg O4ݞ!$&l4OX^pvCY|Qwu#Y۶ -m_{ڻyѼfzebf_Y֘W0p(qfkK&7#2oŪ791?nVOs6,X;\:xXO%v)鎒{S.*|9˙n['EmVFA^5ڰXAk@˵Lnd:ߠ h*s0K {N,Ό9 *Y G Afjƀ e{qq+T@kTv>ؖpD3!ʶ[xDs ƒXJ~AQP;B <"8MsE];>fpWr5ೊ*!h9(G11I} Nl\l|!CXɫJQJiPtNޒa\DŽMgO}WJA,O]X\;5|@\U{\J5D[rD!7wq~K{nW"'T!Sh\/au``3t0(jeHĶPdj?//wzITPHE (*TDQ$edPdِ4iuq)9|Dd:WG[HtAtNv6GrKS0ZO|Wgtwk ;6!mzbݹ:"XіTnKBڼ;l,>Agk&:D!9+Ҵ:iW~iu`"Dݙ=yUZˌJi-6ȡh<$#Z G/8a\-k Lা@VӐorvcTbxo[̷ &Bw>FA)T#" 49yi&yM p!vP5=ݸd/|*R.f= *$٬L\AQ1Ko+9%@v[9MH \AD7Kl~|4tZgˀ0b.KZ+Dp_n?nyumlT`n 71MLU,(<ϼԅȱӥ )}KйYc^hҕ)^5qL+"P~p阘gl3xtXicJ9'J(Aק.]/gyw2 %="$XG~!h:표nya \*=9C{6~ՌTUZ-YP]69H֋!x(0+ъ<b(( .k\+ݴ  iJ%Ó?hG6ҝ*T%1l. ղj]Gw^흷߮7 BS*>ԆZo< /ABƵa:3L6w{_/İn)h6x-^϶|ͨS4ErX5ĵkXWڟāN$Eܺa0yTVXU؃l>aO6_]vl\!QBNG[ޜ3~r\d4M@K#p^|zzXt {qu([K"sCdDo rӨ`Na@85/u~Ե! '"/K ],?n [Wj ?$I/FM.|$u!0AC06F<42'C"bm]+1I~FPʎڭmG DSxK*sND+HB@K'N{]7JrMe$)숬49XӲl5λNGH2awW0L=bz I`IO#9)qQ+(Ŧ}`RD6iǿ=Zq@^ܢ4$Іp1m9wU)ͰQl,(†#e΅[i+ y*\l᚝݆IFC vRqٝHxA9ި1ARcQZ֭Sxk~:P7*l 'F}s:/(:;]2FTBҁR6(`CB*F)$ea]@<FU0d3ߎ}˟M WAH P*M4$H6`}@W dm+!h xHՓt!:5)@Dҩ.}܇/@j/OUXˆ)\ O3IS*rt\2zMx\9wXīѷJîY+ UF@+Ў몳z@YPvR)a)@j4H)YU: !t˞#IX=i,"F6ʼn>z sf}]VT9PY!r0"]zj, {HlFs.Y,HW,JQH+e=ec -1M]YV˞#'hœ<*D+&bX!t<+H0%fa~5uǼ:ni$}a}b9F5N6͊3=ӝrr/OR)up/zoOiU@µ"$qX2cU=k,\ҭJ7M,ku*̖)ugM@2 5bASĎ'&1F! }T:#'3Esoy9cK (h3iXk1"Xy~+W=Suw2cG՜D߽fa)K}ϣ*ܩB˧w=^MIfb=Q@+6yTFмg2Ye_Nb%\˻q9xSШAEp!ȤcA&F Plpɋ Cr3L2u+XCh;\?Ȁl8U ~ -+hE!˦m4g*԰kM [g◠Ugѳeܷ"O1EwxpEr-l!/_YiRR\PHW9nElms4n-c>J(~)Yve>p~!][W#/+NT}ZwbtArZz̭Ɲ{$' J: k7pr6hϼg>nc+-!dLs! Y,2?8XeKɀl-Z„mSyU͋ dAuGMW&2SmY}n'NKo""%,V6=0Jg`BFBDE@ |z?7y`gxrfq"ڌp%=R~qos]wR.1!;>^(1l^!.F']IKA9 xYL1 2qXV`X'e:6˟5Ze`vI!ݔ0Q!!F/pZR7nXLl̩ U'!%R0-RZ+lڍq~85-XÏKq75IiJCN6,2f; B/U,.hYߢQ`c51 }JV = ΍=xX"ؓ&<R%.ҌlKs9E_GaT,=Px\v~O=_V u tĝ#ꩉC/hчy"`ܕߺyQDN]ƛ$7΢n~a~-+iQӆALcQxU=6ڸ!`LrϨ*cRE1`7o=]>wA&)v  H-#ϮK;}P2u_]^VQ/#[֕!K,GP J(ؒ~G8_4Y"Y%5 H ]_Zt5ji[F^ ۤ4^vD-LwW0n8<+_'u֔. G4VtC uc,6(7zΎQ2 _:!WDxtTu/A@큱42oDюbmfλôШ0ɂ,cMCΙ&qۂN;Ay,ehK"hVK@dp0LhO6izre69^-s8JCOLQesX'zD5fZA4;??a#(F@XݠeY~w70FG%cle}.coc^Z"v i',.HajJ|k7W(!bdכ֢ڱJId;E~ G;e[[ ">w$F}{|^FבdGKg_"$ƽ[U𷿞uktx efv@6cj8W'aMLT;mB{7*gLO* wMZ *lS9۟VIL i'sf߮o!R\/1X$+k.!)X ˦qlM(k9"Dx* 6IbŇ}EV5)KཻlL.p}k 4t\,3,$LhȕsH7pH|BJR2 (1< /{s٬XYf}yH#EaDĢ,_6A~t' m2G=5X­xΐ|N\?lMꓭ^Hm@hqXVmD`˲DTʱsqm珆%эʗ9aLJkAD d[ί-3f5:} m[ 0x&<C ڤ'#! zFoBk"!jŠssyvN_f<`eBpYbh:+O0 ~'IT2~ɢ`3$ÆuPK|Z6q z6Rvt~X]#Cujh3[ pȶşO iGx I[8_AM4ΡlҊQ+}'Qim|Ռ6:_؄b黝r_dR^UXxM##R/I\97^&NH+ӌ L"E[1}j]*0T}qVF9͛s=)#,KG VDbRWQM}^SCk2UP֙3 @\QU I_ \BRP@ ;UfB&<ȯ1R֐#?Zʡ_]D=C_3h#@J;T$\:r0_OT]J~Y#QM p$c W&Ӱ DU%=6/Ŋ[̈́L* 6#V`ӼoLy10̕+Em,4AS>-F|KK0}ϓɍAyR4hqxe7E|\cP1xˇtcXswl{ r༓ Ԣv^F{wex < LL|(8})o*} 5;fk(X}`0+/Xf#&Bp=Sꕀjk_uG\}2Ŀ%].xc`㿅j\@#e.[V9w5c(q#lpt XxA7\fN}s,D %fNwk:c8XJ1S}6K+.&>K |ןZ[5=^6R i*#!FO`x9׵1ޞ1зŗ*'۸e/]`r?Zc~?>~~]WOD!T?"[v 3>\ˁzC`j)uԟ0Kq3;J-w]]:YX1#3K(try Jf'fF̲@2Ej92 wA{"O szńc_+2i1d⿞çגՎcPmA,Mۨ׏ELGՖqd0Ѩt{ľ bb^ hUf /w|j@tCݘ~e#j5ZԐ1ch۶na'XR;"{Ɋd)H2U}ۇ@QjQt^(\ Y S.R V07@69FiJ)`-:鴳k'SQ\_Uˉ9XQ })>T4w\"e$gmЪSqsNeԏlh,t1)NEᰨzךbxPJzS* Oq,.,3Pe~/WǍSj--tJAu܁eidP1P6=+1 efP/;Xfv~"p{~kY>/t"0*E.0~>:?Zݽׅ ۲tkQP) zĢ2i)!oOp`MLjU$ C g.ZS8$NX*MO:Ή) Z*˧! <' y>OQ6Y:EH$GyьIWLciPyS;~ފf #MwNaV}l%(<2y,!LءvH2'$Pq_O*C4L~+˚匈Qr ެG7y/S nAu~1zJ 25t+ nB<.u?Z6 H5!믜 F uMx^P+9ˢOҖ!&1w"J-g{]w a C,6 r܆Tr$|CA7&T%g^9uQR 6X IܘQQڀGWKBSݬI\-R{|~yOE*xFd.E-=W"01 ~$QW\^!]\r`#O7ZZ8IsESj3oG7Qkߛ+Nhi:ĉq̊)NjG(K\35a6K,`R"qcps1t}d 2Iჿ@Ov|ϙ8 eFvhYU;L]nƲUُ B"2_/ޘ檖1R-AvGp+SdzJJ4y~o)u69v[r̰'|T*cHh}L;9^-Y <¼Hd.ic8Dj } -Gm-kͭ:u SY_"ߨ+̜cricyL2m6'@ I)bF8L)څ_e #ϼ_c}/6`/+)JBWŐ_90]!mUFI Ѯ-|fc"lR $R>ݾd!3kZ]n:i0Uco2oB]Uܾχg;K_d>OX7Ɨ16 *c;ad5(}OTP/ EkSnCV <%B2 /{:1kT_i d_ぅ[HHt Gc0$SLiLc ڪdCd텡"d A`]ԆHLj(~ Jp~NP9&yرC5!p@yêGAl9d;/9e~hGI=HMKƛƾVPf6E)FLB*϶`9$Y 6FB.uL7B'shy8(?Tkatpaz (s\6T[,A?2]p W__c<>Xfd,_@/Hdh~W1O]qm[`0J }ɾudC0Hx\om v?.UBcEolRڌ[u{}>3='g9 pDUoN{k c,dqRs-QIXmϫT$@kɪ|*DӽyCLK(lNGwe!H |M(=Ϋ pf7s2;e2*g'I6nQ8ۏZ<`XRc71 ~n{ְ od>yʴi}_YP7d qUr /Qd T[yMÕr5[Ъb =>㕯F>@#QPMnP(px.&O+Av[^.n;"aT&X5l7`@o2W2S0IՇ~Ce9E%rmIckĦ \%iO2(9nb rvl?o۞UJY̐ԡagT\u]-M1 I@v.:nDV)^A:[b2߆B.emrvby\*&;'Z|Ū4Ĕp/ lbD;\_2QrPK㮔 [~eLcB3hV}ڨ% RM⽉8@"RaMJO/Js;@Iv5c9YKdUB5jXQ$7t^"[zaj 'mjnp؃3useU Rn̴?4* p2kgHy P} VqtWU !8bm F?_p#ruS'/A)d!+3yf+?%E8'yw:ϲv>"8*Ҫ#DP.qi* :3]IςĕjI lzl`0\,&(xE[[t udmAǃkPAt] F}:[FVǀ\Q?f\U][3ܣ^'mg"kb*+Q)'F:r1Km@ aVGĸmy$=׭<ǂg8u7'8/F4 j&PZ+$$FC dGG0)CDH't4gGظ&?yBpHdž_&\~'iPR4 |Ko]{ A麆R,gy=[҆"/FKU2+qlqL?& . ަ`І]>VK{I;T[ȷ@7|?"Wv, ^gl lKj҉h xԠ,Jw߄J JV@s3>_2p%ZvZ,?ɱ Xd; :ZI2vZӈwZ(BPcXS@ 9 $V$5 9U%s*SMeV7`l͕hBɈ\L0,UR;.)E`HW8(0e26@xU{V[VNi8%l)x\~D5pPWp} x Kr&nְ;aZz^5 _ϵܝ fejq%2Xjb s[u I崊ŕۭE*@SK!)Jn2B`igU?ǂ wdDJ|g-Lxl[j\lj*`+ކ2xIWJcڝIcobM,8U&ZmyQfM:?aa_j=3ISpěn] x]( J#S ~=fPN/6"_}1YB<ɹccgΕ8oFCc6],9IDg7+{WJAIuI2(3W(3]!yů&y&3 ," (G1OSŐtKx/$-Gs