frr-devel-8.4-150500.4.23.1<>,fap?p9|VwfvS1MxU~[#/o$ɞw[c·0jgPFZ0nQw#P=wG_hd, #!h,v ~J ;Id63њxpɝdL-l9k<;=^'Jì^#ՀvJ`[ ŭ L4ϰ'PXWZmh^p#weT320+kΝNvP =eqx:̿Ss8=>;?d   J5 Kk  D  +r ,/1447T7t 7 8m (888(99P(:;(FsGsHv IxxXyYy\y<]{^bGcdnesfvlxuvzL\`fCfrr-devel8.4150500.4.23.1Header and object files for frr developmentThe frr-devel package contains the header and object files necessary for developing OSPF-API and frr applications.fap?h02-armsrv2FWSUSE Linux Enterprise 15SUSE LLC GPL-2.0-or-later AND LGPL-2.1-or-laterhttps://www.suse.com/Development/Libraries/C and C++https://www.frrouting.orglinuxaarch64J#1) $_h4:_ }M ! f#UC)*m%8v$*  S }+  ,(Q O! s  ^!6uL +l]|7-NCAn1 ^ O- @ q  { &xG@%&'} 5{ #/]+Ga i)(z? iA큤A큤A큤A큤A큤fapcc9dcc9dcc9dcc9dcc9dfapcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfapcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfapcc9dfapcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfaocc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfaocc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfapfapfapfapfapfapfapfapc848bb4c5b0e9a0b5c58567c6a854b8c6ff228abfbc15c0078fbcdc0e7bb62509f0a914b91ff407414dd17949089466d8fbae3d3c9a22857bcfe13e144d8c36ddad740e3a8173858fab26a8fd675ff714769b01c12996145e3a80d2aaaa7b7886cbdc34a530795eee4953e9bfb8abdb4f07b152ab99979f24534ff46edcf58927d8c50a0ab8780ff9ab05db804db17a79b184a0f8bf15b4d911d11f3fc7fa361ae776f96bf453b6580120c8aa4a6b5f012e22e2dda5b848356eecfc4dfa40b4d854959b803f10e1983580565e542bbadb5117eb14e918948d44a40c9c698e186a459373df22806f56d43236eaf3ed7f12d9b17b899f801482a8df8062f80317d44e03cb13875f38ed2475cf5776f7dc700e7259b3ba9dc07ddc0a36c1c594e55915503329a36731f0221b01b5253c9f699661c2f656d38298f2dc9aa87a08c5822fd713c8580ae843938c5d34e2e8ebad208301e96d1a5cadffad309985b56cbeb34f62643a9d95ea43d6008b680defd912cb361f6f97c1db3d8f9245e4e71bade9f7d7fa468f6d97414d53d87e6cfb77540dc5d03f4a3a42f173d5493ab1f8a793e04f42d3655aca2f7a2c2a7eb93dc7e1a6a638bd252c99adc6b6b9fb1431134b3307eba542164932283ef8d9f703e7e4a968acaace1a0955d75dfa11680947feec3308492fa73d3fcdf9b0865c0774572fdb287c4427595576afa9943b548ef38f1bd15dfb2861fea92b15216136a52d2faaf17d46cbc0fede33e172d9006c8bc7b7aa372b78dc6ca2f3ef36a97e4760164c50161f7ca8e661a6ba4f5dffe843edb796d5604661ff60a9f6220e5ccd5815d66d83db2eddc9ecf336acd5c46c97a2bf260d434f66f976e1e63701d3a70d44d072726c7e0afb629ab2214b25746c09d83e003e34b130a64e67c6c574c25b482de2d3871292a859904cda0112e0f140e94ac452a91f1dc2646bfa2f68e8ec709b57258586df31a25e29fc2cc5f1f5b13376a95d6990c5a4434748b21d4670d19e6172e3bd7e39db76be4ccf25b70dc6d215d8be9159cd0b5715ca6dbda914594e6a977339c887f776b81a18970f8ef8a5c8d69d7bb8a72bdf4965fdd3eced9aef14d30a3d5c4375bb5fa6441f45826dac68bc7ae6e1f0189d3381f2b511a4c9098e1c2c3b09e78ba5577da65214dd4e419592179964afe78f4b5f3b515b555e7c9ad0f7292551ac3b4fdd7dc51e80cded0bb614045e89b6b7596f68dc7eb7757cd71300a97ce618a92ff04ae1188335df2036b65910c540b26185cb474f8f968dd52668120e979646514f15ccf6cfe0c7ef69af23292e2c95e24add2bda99f7522dfa0716cb5fb704d0ae63714db1ff787e1e6b448fdd0ed463496842c0a5b19181308cdda3bbcb78a79f6737e3da33dfaacde641224913f4adc7830ae50943d88b1304008b1808d920e9e921cb1b3482512704b64a152b8f87b4a1eea26c35ae1051c337f254a0d26db7e7a0d2e934cfc8d027e688d297c5205133e73c414c41a222809c4ecaa3cdcb21c632e03f8a75eea5319e6fc37bd4da9d44af3f582cfa11bcf8da03268acaf131de23496029e33d28ed2de8d942a47ba895f34c5aebd7838889d1544fb834ffadc5e820de3e011a1dde5709d356b3e4b268786f76ef31be1d522fd662c57d8a1577a04208b29931ff32e209aed6825b08ed615eaf14d7d30ef6064548e3e7e2d560569176c39880e4e12d23864d3d224bc4c21ae0cbc0062bdaa9ac230b95e7716e1647347324517940a6a98623e2046b6b29eff5f713ceb3696bd2062946f1569524aeb94e79185394d0d12f0e2b79bc69dc6e6419fc4bd0ef0c343513e61af323b564903d053f0f4e73fe174084ebd506002e3552281fdcd0a418b30c94e3db37f1af63dc1efe340b7bebfa3ac656fb64a694b127d4de98c72bc917dd7848267e98d73beccb3a25afbf321e198dc060ee0390cd87095d3e7e76bddd0794a72e23237ba7c148003b71d9ae4fc24fa53b364e3e6070c88a81cfcde3aa792597534b2852c28220a29810ad2131d0fa560349e2c7e2a4faf1f6a0b60cf2a6df84dea0125e523bc7cb5531ccedd54072c5e00c70e1f75b0cc6625879b44073d730d69882357f8cebff26a5e2eee0faa8dc19fc5199db19fff5988fca2e5ebdb05c0e2d707fedac81f489da251b6e76e6082249d4f873fcdd205f7873ce2297d4338fee6adec65581fa96bb5ab56736a97c510b5be6432abcbeee77174467565ad2cf0111de28934c5140e0a0ce88c8198a727b23c42d4e623903352d48292c56915d489aab60b1297f775d5164e08fa867d86fafc395d8ecdf8d4da6ae2d79c032b1779e7caff905ccab8cc47afb63f25a53a84e28ed1efd64e61994a5673b5d7222e1583c919b82c1d8602074b1610b17c64dcb1e42297291c78302841d89e68952cf2245c2ba0bb0249dd41d091a7175df3e2b14cee529a1c309593d28d258b68f3682071ad2f26016044a3b08dfd8b01d777ca5f738a1474362baa4c0cea0f5bbedb627f1bd1704a818ef5e78105f6b392efa2da33b617c38053e123009e0c58bf238b5c17c692ad3a20bb17a7bc3c0a68357ca1068c7456b7045994f9c02d68824357d5d676ae410dea58545d642a86be93271112bf93ea178648557be7909e12cc8eb28c04fd2824d7dc0c65e980a71d37d97355500ae1adab247599ccb77b2bca70d4fc0c380cc4fbb3293d2d08284b65a8ca981d8658949028b155e7d56da3ecc1da63eceb5a65a3ac287d9aee61f612c098d498ab1f691a73d3778f6f624fd9a45701424533712d06a2215dffb086690238df91f9a968f4ac100c264d8752fe8c1d6fa0d3fa3f983d4b79d7723e7a45382f61e432b323c2cfda66206f880b358fcb628c83317f9392e86313d7e9babe1dacd568a1065157c2cc704c96f17ed7267eb1e5bfa7d5ac74bafddaf59f165de12a9bf057e0e1f0d4a9740bcd40f2e80b923c982f320422c3c7656826d509761f3552c9a2f8bff00b07399239d7665436bbc9c134c9bb82702ba65bac94612a95b176c9714424bcb209df8e1bfbaf640d08b2cebb1f6dc48caeae0d83f7f1bb3d10a07f81bbb00062da077f5e1e4e372dfb5bf7a342f81531f7397615f7c402a134ed23f01afaccfc6b0b597ccc273d736a4a7aac62f554ab6d5cbd93557cdb87edb20ee092089707e588412c13963346fb5b4d394eb11ca1f3afe14263ae84854e305501d94302d7776b3889e5d29ca50d0c8a75c900885619fe7c75d77b7cf61a33946f3556d6055e2ff0b49f7fdb4964160510cd207e717915e531605d5fd8efcce06eda9ab658ae1daa915e55290983cbeec1eff6b817385fb3aa14a1ee01cee25dfe0a4b75a73977b10607bbaa7d2ec7ce6a6dc1382188663aa0a26e924db53ee41df1f79cb1a8749239c81bf14318bd7b4645c791007bfc799a7d55543ebf41a6c0fad6293c1db7833680e8474e94edb86bd299bfdc30cc384d1e9a14c5eb0b17ebf784190f187c89ae444bb25d5e7c3319d4bb471ba56757b61a1ec9b191a321420de167ebb8661427ef4d1228b132c9c91c0cd037aac140fe2a73cae346866f30e2af3fde3a782ef3b7a0f4878479722f06e44f07985c5850882a1f37520aa143affad3930a4d92884abca8201d191c7fef999e6f8948d45bc9452b0135dfa8d2c70bda1ed53ef003e9ce2f242a5e46a90a7ba15d0b3ed042c8e0394539f5ef24012f48c2e4f586ab62f270f14cd1290d5368662b690d6821ee0677a830948c4d467a760da469358e63e574389556699c28a616f1e13a482fd55e41395f9c9068e752b57f41d12327f6a53dee2c93a6a6abcc3a83b7de56f8fccefa8f2ea70a19d426854ebf539ae0c7dabd3c101021dd90602ac7130789b4e5d56a63bf68f11c54d6543c99f94f783de2f84fb9dcacc3f10c0b047fae94171f117bf44470749b3308c930216cef78c197b352fda548ef8f72ecbff31f7bec9a825e5dff9f9d1d98263a638d97a055cc16a88f3a83fa984356dc0c5500e6e1b9e1b705455cbd241b596689dc1f998c6513b1994b26fe6db5034b9cf750f06094b0797716406bf02b898e807e3815cfc1e3e8e7a885284081a0f3b8ca61f8bd4cb8b4657d5233e2fa6a75aa581206a0ad288df15b61fa7852a8433240f28750c22d187067eb36c7c83de65bef2c49073952e13cfcba78e89662c17966a337732b46e5876f1ae17155bd8fcc29ec184b0db6d186ce05a0f3f1cbdc49f628e79354b08ad98df6bdb6cb2b6d6feb517180f12a7034d4605b4266a9b7c6506eb6b934ee9ce94930de822505825b950612e1bdc90c9897553dff667c8851ba4b3442521f42883746c140a3d7d5903a0b27d3d8fc74a1de2e63638072466d896a0fac908c9254680640cb5c1ef612810ba60c6b685c2668a27bd9cd3d1146dd978dfa2e39cca09f8448645884a335f0b533a2155807d640274fd781a69b37b311783c6927bfeead5856804c3a96f0e6cb881f119e75118d2b4e1ceb9ca26c64ea508395f0b18d0e8c5e6e7f63c7522649da629f3049d8960c45e01c2d7125203a97ec993f932b67b971b0d4f188604364e4f3c97b65f3c48c27587fd6dc18c4e2f266a296fe502735e931b5993226e1cd0fafdc8c7343312e5c71fd2de032f9931ba6f22230362d9bb0638abc8dc5a7bf09086e0fa14ab4de07fc8ad5f9f0f875f817f0738bd966eb0df8d563337b4156f81ccdecfe20934e2e510ca443a8ee22cab15cfab986cee3a6c0e57698a1ed1b7840e744c93cd56af0c78a83328092803d2ce2f151a7e9766df1588f5b5b71ece5a2c306ae1914e013b1af70fb515805bdd40967d2dfe5bbefebb8d53c65e60d16940df1aa7c0b08064e99bd85d8203e57e28b5aa4592c26472d84f4ecedb4c51df248a2653ad6c969c84dc88d92e71c38757a8757853438e4cf378e6a926077f21ce13038beb882aa0653e686d5d11ddafc1a59981dc49ee52fce188e1e1d6d3e85ade5274c6975675f6946fb95038028320c0e9e76c8cf65d3ba88ac37e0933435e24bc2ce8c01cc1ba9aff55a6d455f3edafd887858612aae5349c3adf5e07630d2009cf92ebebfbb611c24d4c1ae625ea94de43b81edf9f55b58782491e7b225d105e70c5745a0cef526f11b6b822102bcaa2070648a070c5845b8e6368d3622d1c854f27d9289fa273e84e1f1f27b5443ed84df59dbdfd5a2dada8d3ef31e26c4aeed2f65688a45a01ce9d35371e14318579afdbf214d825e2777f23c57ac4bc88ba88af1c2c60a5f0c9b403bdf3ca492794550dc20e7c6cb18ed72fb3637230a3199863f58c49f7618eff5395eab6699b5c6cdd7b43caf8d86c15c721e797dcad521591da0b6702d04a6a034b19e4fc0cb9feea2e46ce802cf3a2a09210594d83fe139195d548b21b45af360f9e6291c5e8d3dffd567ca0ac1dda91a6b20c2ac8c49c5a54ccc7599c44efbdd0510308f8a70fdf8f04df8506755630c86b2b7216946b0f80ea5dea5e10ab95fd64c2307c4e57b0c14daef75e259ee842b135fb4f143f0775461c3dd8f700e2b816b12bd7dd1e83db00b1d74e8f0dcaf70ad1f566cb526f20d4a8b804f6da3366d2813e638d41bd48a8a3260d956b398cc8a2fb2c5bf23dacea5c300b6c13f108ad461aaac0473e4918e014a4a7e2d0605ce39360fcab3a8805177ccf1ab9a7a127cde118d77e720eb2c1d06a04d131fcafee260a9584147b944377ad3379a703e89a6086acecd650404502f6c4319a31e1dcc8b26eefae3251c81beec3c5947fb2df8bc48b225ac66686508112aedba816abde8d189a3381d7a141660d1a5837e5f48dbbefe1dcccbbc73005b91daa030b11d8e4c367f724a5ea0d72644cc994a6e7a40ee5e7254e6c4ff55fad7ad5023a396c47ba5228bfed601462cc2e7b69f3e09699d6eb384ea4ea3452092a41418bab15794fdba383a33c5ea1d828abb2e3ea5569f200e6fd186d9dbab58a9076e65702ca3172088e9776d4a87bbbc83d1f28373c62e8a8eb1eae1de0a13f916dd4fc0456cab5b59c03e0f21b9afa87a82e69b890518d3c546b139063565e97110baf3ed8c0f415e7f51b387f21a06b6b8e11bdd6623647ff01ccef5ec91c6824b4329e5f94722dd22ac9a5bd463d14a67ba99095e2df758c5fdfb72894986ec949188a61e1588libfrr.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.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootfrr-8.4-150500.4.23.1.src.rpmfrr-develfrr-devel(aarch-64)    libfrr0libfrr_pb0libfrrcares0libfrrfpm_pb0libfrrospfapiclient0libfrrsnmp0libfrrzmq0libmlag_pb0rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)8.48.48.48.48.48.48.48.43.0.4-14.6.0-14.0-15.2-14.14.3f_f(@f@e@em@e?eRd/@dbd*cn9@cb3"b@aaaim@aa@aC1``@_I@___w@^z^Ӝ@^^k@^G@^"@^!^^^ @]@]@]]@\U@mt@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 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 1717661759  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~8.4-150500.4.23.18.4-150500.4.23.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.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:34170/SUSE_SLE-15-SP5_Update/0ea57acde404d46fd222df4ca5c36a01-frr.SUSE_SLE-15-SP5_Updatedrpmxz5aarch64-suse-linuxdirectoryC source, ASCII textC source, UTF-8 Unicode textC source, ASCII text, with very long lines>ǐ{;4_=utf-8ece8d496464824419e1ce3a817e223ac810267ace3fa46f25910a2c897bc0266?P7zXZ !t/㐾]"k%{Huuy:?$ g,% SP6*PIp/!Jh{*jkJROC5lݢuOE\}TA=5b}$&V/%j\gQ0Lm>dlWFH%%=<>E] "u ;x":g ~q _Q\$SQn)u97+gbw{AW wk4g,ڹ W3CVa얟-)qOrkVs' rz#30qû/,%[h0u<_&WLDcj<}1X„량e#GXj{3رcSaBZVl+|tP;DV}@ZZ 6Z';Tqh"Ƿ&H ϋ%Dd8rK{Zšjцb4WslO|VA&%zlץҬ-1Qy0üxDǦ;)ʀZO1SjF%5?q/¸|߳&Vyˏ%giAE=S?Fy)YooXpb&2pxV,Z A a䩒y)/pITe'C[[ Jg`TZ3כ%[]?sk3@ٲa#~G[~g\ia(l4(zY؛?yFuΤ_fu߮ T4}ya+,l1#) RECd#;Lxn;Пt(|w: CF UFq)w)YN2s3p$ΟA7aE %g%7e])ǬGk}N$FxQp'_K[>*] 1ŴV`c${#W^fBad՘os:Aҙ\;z垦OxVb}Y#pQ'glh\w}NdxA%<թnEߣE+*B^~q˲uY[5 -#ZC䀺!I 6)uC'd3إ7A& +} E2l>˱m Q;+Pa &)dsT͌)x _qUHJ>_磲fA vI8&T0TJ*1UB5*tg.!0D` m%K̕Z\ V]JK*匱-"">v(E5SN:HMҥ2_ܙ1 'F5][_$ƜIˎ{hD@"xĹ?eO{}>w>j,dP8‘?BkK8ȉl_F KϣLBڽK7s~o]vB7:URۗoyZ( ЖVgʪť&j΍HjВ[q M/8}=Ѩ@}zp5kyHqkXp)Ms- `<)BVձ&=f=vH5K"i`c RiO^cM'6=,-E!ݿ+P2_Lt.%gU6 g*hj*D( [Y>*R 5vUS+{LR4uV%C]o&rvfz%ļl]Ts xs4%]Sǥ*[콳@^@.֚F*{Uh#Tbj-o{wFbd<8{ݫQ肂U y•h/0˹e 8JR@C/௜a#gT1@q9\΍{|ugлeM,e{oNjF*w%||Ǻ |gA]BRLX+s^.o,DŇR'Vo b  YV9>;7 !vSh|id5L&w+x0 :ݩNs"\!̯t(>f0XObB[FH嵯y4`hf(9@k՗3_(^BQ?]X ;ڑerq> ^tcJeOdFO@;y2j0ۯݧVi+%4*[2wZߨQf !߃n\#IېyAjYkg1˕B)-+^Oҥ<ӔD(H>^}r2H0Mq+(-Y[ܨy+͗o &;>ߨaf$jYӦbF"*;棿]{F̭-*XQ`"<_`sVainpH2$'zQ=}n,RWBigvuKkFTO0 GHUD#lnZZ(Qb[t"g<7'%Ū 2D͒EO`410ǍǑ]i7ngHؽ+C=OS_nf}1[R8v ~NzxA Nbatdz*m}UGL_`UQ)+oH>5G ,iSPMh@ b]Qdٖ;ac6ɾa‚ .􄙺ᷥ\=׳rw6d M4ȶYH_qgUk!^j:tCJimDViB_v$ 1TV$VSAa4?aҷkk98'Ε}4J(VaM.p6+)ge=c" DZb60u" F+ؠUN"08T?1 J%]nES#.V-*Ɋ&^xL/KEh*30ɂL˛TBI87P Egv _pprb8 \0y=! YtS ?ZH"4n9e;3F_R[Zj:ח ρ {7Xp&WEA*,0 ZvV\9ʃ,Va.nv,sK{}쉨k =R{b8w8 hQ$n ڜJY FR@v+cBC 2&Cw>ۖӵM62_:-8LXZ~.}1*m3<s9#k~Lɗ{15GK+=B8:VI3trʠS!r Mo`UQ`5bd/+BfG7ԣCâQʬRfu~~!lfn<e0{ 87xoUɀ0`ҵ Uߣϛ)fe/}q >!L K9"(3rFpg M!!C1P@, p%n\"gi$ 1xV.;~C>&<' X!15~ͰWUX2vv.6/;+ϝ#~Oc(?3Yx |JP$~`&RgAi@O˷o QoЂJP|*xuxN-T`5خ<{[s59!3Ktq.3#u ?Q,).CZ_Ow2հ =)QQdYEAە2H4N[Ec,;߉!PӣUPգ)d.V1ro"}${Úb|'vi)mQ`TP9R߫b 6<[7NE6\O4捧L"B!S:lwﮱѐVٚoJN//7D>d%P(''^H}3YӨD* ܋ :<B~+`N8&Z#? cu@w]¯8kH ظ W.u%?:_Ah%5$ W2ѹscCkC^NQX̢@Rcv--jfsZ?y7EO9ħR╵)@jIy\^yl裶HzTQ#Gr/$(WPJ66fUdxbh7RuLrb`w6fISD%>ӎJ8lkg; 9$:K\Gr1Ih qBOt%-sJ8.9 GdT٧%AظݳdY!4 1*޲ l|P&م" \izA˨;}\1U6=oZ†"5y|/yP*V 9u(NR/-x}o0733CV{-Sݦr.8䡰[_ &wPRJY@fhujz'4] !a\E<2gr螆oWΚ* nSԭ3#K\IJ)=&3ֲcO#[pLg`;ɇҎi5%HQ:+e\,y(TOD? ە &8Ks< mL9,y2QE/yXW토[H]1=sII/Q>MZtt>&q\ iBM!C g:D1 6sŅXnelh]kwx@Q(Ҫiѳ^B*t1 'ES?Βbvq ۿo8.{Sڅ,Na;LBkr9``,YO^tqY$Qg/I Ԡ\dgSb#%fCYE@S/M+Ե`TsխK$lIеQXZ{)%{];B+4_ևwn&qlPC. AMt7Z8z!MV'XyYRHPb·AXq!J'_A#A pkjO@g)5~Wzc7=Srh1t:z4TSM@M!lg?9yVŨ.Z. АR^?NMԸ;"J: 5\c9bZ ^ Jv#5MOKբi^ki~V|C[t>SƚF [\o;v޸s^*d.L"Ab%O]҂hܑؿvo,턱$k#Vuȇz>ZlaII1^XBz L ߢ({\i0^5YM欰v;tHO9غ)8 at#xd+k>CgOᜂR@ e&Pg}4W_9y.7ǁw {!M$'[aOkbPbpm5g0ؽhsQqs Ncd>DBʗW8"@PB2+(Z12pL(:i:cU9F.2E&1:]Ss I qNaB*|\@\p"_[~ӘϹw(99pMp󙽙MUO71s ;יkAjSb/ep[zPK=#>Qgٰ&S9@lLppѢBwy,[E*xBbBT\ݿ_$!7uXIZB(B8 ޓ׏& (j$/ T$v:\[`S?] -Q!Q{E?0r;w+JX4>@V8MxI[KVb@'VmDn)iuqy`aUc'Ö׹(tA9@Zf]![] 12)ɞh$ ZXUAvtۃž+~oNt-w˅g11>K,Jn:Xcɀ[tYqJ:szE/$.'(i:!WCXVD: ) s@ǶF2KH#0Y Wo-ld2NGOw02#r\Ŀ"ơbߘ4WquMaLFJqE::+BE>NՆG$Li7UgK\mp}GY\xG%&@Qc%^c$ͩH*2A[^ WJ8€r( sQh?32M>p ֟`cpngyKͣ䆵w_A %ob gulWo/7櫃%h1聐j"> ûlon8b\I/gTR>u S5HP[䐅"ޓFWi>O"yGP%#fsZ ⦀ktr8h_3=9G<{QRѼQ A1O`|kPh$PABVʸJ3C ^o-NNlt|F>&_i޷]1\hGZ9kŦBSH d,JHK{%|dqA^ 9GDeHHz HJ-?[3Yp)X%DmĭuOG,'C>YD%4#ޝGP-dRH\1GSۖBM Lrk]=Z˗3UX;S+֦ڜ҇ti#%+LIl a\=J`:܊I(sm3'nopU(3M??2+O~,Zt ^5w $WpZ;[ l?`Fs0{Mf29lN^GAi_Վ)hɘ  E>97`QGnz%WqrݬR|qڢWa#dbn2 g36#&/'OL9_h_T*-]P0p!Vvz_| GE_M.q|?{1yoE8V~͸򞰰!|u>ڔ5SWY{{rݞs*J$!pC c`" DN8 Q#Q^,kEz'(՛0?YƣFY>wqԲav#ٕ}/݂4]H!1;NwkeC*^WBDbtW7D ԯx x/Uy~ %2/uDv%~&vf( .q⻍lUqI !X9g8Z?Y~ɱliEqq VKN.3UMwzϝOdⳀto\g*Jm9gnS;dR04\r߾T:d BPʩ|/byj}HHD}mEʧE -4@7=4bP 8e@<^bir' Ҷ8DZ@zʔߊ]njV~ GwtD6DMmFvҦ](<8wB*<7Miqs\-*'h4eK*Y3:Ffnxi*'HH;!Fo+rJ{E4Jb nRkK'YʆA<%޻,N4wퟍyוm[ *=ׂܵa^c~O /EgI;%_sO0 ?%}r - \Mى#ј P kdKWQZnoHd􃀨 3LpfX#H1,ďQӁS|FzdQ%Jsu,Hl()ZTl͈#P(-|2+З Z(b)2\ym?Hj \^~eBwIv-ZR3 ze}G79fZ:Q  Š>n] |3_v_,Ɵ5OKb=9Xx#5K*j}(0pBQ4%9zNQfl@Zǽ^IbEj}`udۮPh5!u4wFUJ`)2hcAAyd[8=C5`g~Hľn;$` I_cnl ,Fַsripcv^@ßZDB]}2֭b5qi; ؗi0VT Cz /*j1 %ِpӽYu1mUmgx^U܊));fT ;/|ܩN&L=3~p M]q|K 7DώA*L2-}]GHPْG *v!*`VriR?|W%қR-zU;Oeɳʲ_dl"A0'zn!̝377nNM)%NBYCrl=u6nĨc&CRsh5 {%$☬ӹu㷚ZN6im8)2 |fgpP x8 o!5uUlqߕC,Z<.l5WjԊޥzBC7c3wLdcN"֓e.z 샮3=e0+ } =TRy[iy`])v:J&jFn "<،r-  2'P4\f| dWn5M ~m5\+5cpv\m= $E1*]c/b=/o"ǥ6&mA_+ $%j[rP,ұZVٴD'6.ǵcXxd s2P]tj iH9;c?4ʡ@z%8t0MCVjj ϒ_h@o[2۟/ L~hͰ*s sjaNLT:ʚVȕNeuАeHQZcVW%D49 y8wǛmIirZ:zj BqWSnԀ-&AP̾_ܭ>k}Y(T[HATp 8Ci Sľ~y)'ڑ)"v{'*gMa=! ݢ6_2WY#_Ld"3a`%\C^Oص:)vbj jeQ({n]L*JMР Hbw9&o b2vH@OCs0rĭ|6 `ՌN&_޻x |.ݎdF\d|Y??w.}菅V0؋R|rq-UkuLrtW$+Ɂ,}E:uMRУ*_AawK-9"~[T㜗eqÛt߫R?6t*O]׏VcSч g^}،ՏcGV/kbKDގG_Ч_?NSp3!DvIRelcO @Bgj}@VOϧ Z!]c;?^NWIe\E}P󇁧 M2ڷШ!?>P6B*yI$x;%(?U0UJsPݲYA>-kV bH^O{I7zNU(fiod!z}ht݄y>cԵQ!vdmhN+nd-0 Ӭ(/&$&Oo Ed{jݐ7.iCa#+uy//e<˩)nsOE2_0 _$-uO6sG-R_w !tZ[wrWFu؆F.!|5e#VtA sx( Lk/T(EgQKG$l32upsj\nQ.&3͎=yy?78s@|]'(,l] pMQ=7#Rnۆ'YD0X+O $ZvDdbca <}-8{sǍnKdz"Q2w13mCd+hO_,SOd(6}h MGu׿ДөP }Y>km 'fڸ")uHfS'Bݜ+ C"ۗqMC|\UIF߂ ACMBUDt ׇB?iׯ]D/CKzfBʸtqN&8E~~FCO&񅞴|wx(8j/Y:47p(A)!.6LB0]0qRee>V %e fۡm̛MؒY:]|@*X9FAtߺ?F2EL'"3 ҒGW!olSyzROlvQ,%d[(B_ >;R@yob 08W^]Q);=}Iljb 1 ?5P)LEy)_,eQEYIUɪ?~"Ь])b-i)qڈS aaMG fKoRGI7>NU߻SH77dA:*w'P7yLZSFAJr* .alf. ;.%7"/f1]{fi.~̞ٝgAD`Pq ޿| {҄ =p5',(f?;c0J,X[$`dm~@0n @fm:f>,`,5EKlc% 5 08'2K5- G|o]b{~k'=}kБg>nE>21{ ~u~Z[Ȃb}H8JOf1l.哟A{j׊^)cw\ˠq"wdStߖ*!Lu]UFx>bv;kE`7& آB;^tWh&;H8ϖ0j#-WSt0Xi[<)+D?]{ ;_.q, A 6N,0:+d<ʻC'X?^M 95p]|[]K+ )vkl0ZM)ڠ7l=xf8 pWC(n 2RDR{cK'أ ~@X׋a$Iʗ\(c#2ppPU4`#0+L6/[?=ZT/Yeʭa7:Lk +YwPF·(n%avDwX<-}H6YNդF϶Ɓ-CN7 E*Ej^G y7S/]%ͬ m&m*jE8"L)4 +ʦ]Uz `$F}h~}Ea5$mp+"wSthB:K11oӛ튵cl1O=B8y/l+@R4PM؆@VˬG|Cp=B ӿe7Y=VP7&1H~D A`\-U`ְB=|ٍ9Jʛɺ„ R2,Z94ȟj8ߟ?JNո2Fb߆IEs+At@75j}:uqa'LaZ< ޿ŭ$|`klE#q)O\R =GoXBRB$%i(ӯl-=t}eA&ISaMilvlȷEVSODL==ƅ߽4bYuȻgJ{KMayN V`Y"0>/+_R~5U]T99jrPZhlR6U3$ :5~xw*v2|` q&SwQ޽JgΨ?EF މ #[<%!ի'>q[R)+vv4ERCc=7)/SRE }W|R dAy#1r:9R-y$÷ YWf;cfx\4S*BiH,IFXQT$axUd *0p%\ 4g\=,Ӳ_p7Z& ո<>?5hLZ*AlPt8& sU:A2 ez-T ZܼC'vtR tq Z z!݋M 8̘Dww#1N" #%Edr쥰Nf_+Z&eB:9Am^&6I@!QGJԜ3cm-::_XEf;Bu6o,xCvoܼ-̻IA짤t2;3^q"q¥;vawwNPՈŖnrlrͿӅ* =B;=EHfw.'>nGE y&Y&27Z8$a7nQ+``8a+mw եW۰XƋiG^&@ |I? NyyY(j9.S_xIlqɤ7Q.ښ-Ss(T2 -Y@V hEzQd4[YfT UjKk|b8NJ xp7[S/Z䒈Ϟ"rJiRu-@!_ܯ_VsjʊE:7s1ՙ?PQq{AOkVJc[ꖿm"> %EAWj<ߔyKGGOT>aC>J=h:F%8%ђ,LoO49{9O'`^nfW*sY ?ԕ#d\1YV 2ύj+]g2VÑڨeܰV":_ibش]J;#$x[7]%:֚9gՉ0x͜MN'zTbWیy G羝uz[;ƧdrCfw\CclJI3Ϩ^JL C+xuOk˪yzc_ qo8||eq`URl6?0 (q_b䇌9 VF6h+#.Bor<[o |ey2OGF] MDDLFaz% {pP etit䂑P_ޙBv. ~CjT>7{FgVUhTFr3}''C"Ӂ0a=|Z풛\ՆcM) c$lV;Yɥ}Tj츠Z7EɌl[Jg\YLHc;JD <ʉ ewi RO+7 #òy'dS+vIG壌}9}i Gs5io@.sՐG V$- 77!t?H9%nC݁ kӢ$$dw;߭xo:+ZE?RaCC*m1fCD Ԡk) D}a^D͙D?TqFt`'e2jַ72,UVv`+F5lVEUl`1c^\\e.eWjzn5}6lJg ٛ} vx?_~!~;QIsv0*^jWq>۪{9lp(n* h<s(Y/i"<)h>c+^wW?œW8K"+Ղ Wd-IA=->"'SMpjG8Stl?0E[_OQKu|H1Ue<&TokR,2^,ٌJ}k .(UϣglK%p?, KwpT-wÅ㻜nsS_@%́dӒq Ϭq UM=Qo<(Vc 4:MoAs@=TAzc%Qχ)|h '!}f^ |X=0p! UhE`xXjCb[wn"$Y&{a? [@KѣYyIJI %Dc`Vl[mc dzs i%;tQt~ SvjwH) aFeVr2v?Iޭ@44Mؖ5PS*&.QL <ɏrW 1|iSBĜpd m7tZIʪf"W9k6$'6ZM8IaGʆ).NjC8hMBw$+vʈAn@݅j`tʡAzb5!-k hޒ[`;odTfWߤX3esLH ))o+(V~ I܆2ԒGc+Y::ۀcutxp; {po/K^pD`( Ӗkn&U#x.3aodσ**8^T?•qiK݌{vpl|Y;{_+:k5_7 !# ݐ:Lv[hx8Ӥ\f8s ٚHkԚ^/g}~髾FWnڔ<$ ț5Pg):H<*< dOR3K|̮r ǒH.I&ĐCLۈyk6jMk_T?8FY_Q1PX nIº<`Ơ{7ɽjVVS@"PBft\~C~ϋ޵yi?]bg!e0(D}~:_8gJ0h2D_M!5TS9񯛝O4'S" `r2Ld1%3}9)U,ȍsO 2 G;mlT~E! 1![pw W{県r/RFb,O  сh)ҏkG+ |l~vm+^)Oֳ@󅈺s&U7JU&|RӪ=&2-3:Mx&|)Fk[N7r%E7~ʑ{ -'m&j ץV'K/rd/mТhKvoA{OMAg h6LúmUԙٽ ?t\.e{59"w WR6^DP|v3bYQ¥^d@uKkѵPB:T'wH~u:k:O9/\wQ elZ8[?l<&ISo{ <0idSjTh[(a|\j;F0two7xF05s&> =rg! 0w.ߙIZXc ~sUԉ}~6zi%̅NqaB 5O;|F- b1;ӭR ȫD>?3ZlDVf5:{%RO :v>(3K唬)LhlҴTA؀WΝKb>%:99aD+y/~*VW mIyv~~% ncDo$84)}Dh>vGS 4FqzAcځ+Y8*Yֈ0د Yn"GϣW#=.e0&4[*o^UH){Z{:>VQx /Gcpn*Pg9,R4!~5`~YXMYke(S%!8!p^keiT(n&[Rb0Bf&+6^ BkLu$iNe[Actp.= (E2?+D]wG֜"ଐ 'J |[ i6AcfcgL+8T}|̃tM_dÁ[@D%VXk535 W+鯼jxt}G Wšu={:a]؁ k=AwBg])@ed1d~Hb%ZV:<_!Cp9˟oC8t a>ij$8Ķ51 li("ZcC`X^2ǂO d2==+Ġ}[!~N GZ5:d[AZ,Cc'@h|vL eðk};izf:2)\"zQs!JhlQ^isvxE5"9v9R܋+XG4iښcPO I]8An, 2P+?:.+2gwF=MtĒM 2ϙ1ŝok{uyVBs_w>>]NUBa-E}MaT>W-qLZ գ[5[T]u~t{k9 +V],Kb٢lʰzwim}p{T8Wu1s]>յ2nx}J涆&ā-&eL "b#Rwgv#uǭϘ04@װTVs*{ fCRYd#騍Գ{LH.l~qC K9 Gdެ eX8P!U>d43|@< O[0©=l׼I[ ^ W=ܕM=m $O^w p^wp󮀵tj(g*6 | r4$GtnY/pf _#p^X^*/f pzgg-Bfi4&şlz茖{EjwȾ$d\(Tc RCFcd- 1T?QdT`Xm3qg/!vwSP+ KFjGչMV{Z*Ѐ $]%Vl%a @-zYW4{ΐVIʀN|Nt(o#c߳i%5b|# Uq4Wn{ o^\W4SA,o?\ڋ}Ef')p)q`zEL·@sTo!'/T)D4+H/tLB P$2}5&:W+OF}\C֣cFN5#BX24zt=k$T۟ӈOԊ;qw8Eؗe㹣| Su>'JW;nP&|s'vߒ}ǷKoia 5=|2`[)C bo A0IĘ@w݈y(< ztfҪqZ eLcNےUآfsgQ[}~h2_/x3PrB M3<ޘ=}j P4Œp61K+0E#nW?Uip&C x|pj +\sv^ϠHA?NЁ" :N[Izw2kSh3;ƶ-"J豍P`Yڈ6|C_ש0ʥB}2^/lN_y8"o+au,0W(Dm}:cDb{ӵREoQ݈N RyX63^&,yD)k&DZ,!xeŐcTi54@V[aڸBgYn qtI_ZK/}4|ehx ~U]r!4FnWsa֊~ Ȟj'Gx\fU?3͒ {;ZW^5sw*|Dr\#zWy"_t"LE/*D_h"D7L?{m4 >^{LT)|!޺ўwTi'HEA(_ץpy?Xq8Jk$X Ğ<7#AS'%Eu[7Nq"$˹>R4L^#}#ʰS bI1/R[˻P©'v)s2`)ON(aĪ>"[OW[{y`h`-G/0v\Jµs"aڒgE#[VtI3S(}0@+\\fX|//}e,uE*@\Vu}%w&|pBL~ܟ"m%/]6{h}u0)pcOcsp}^5.$3Hu%j3VѤ}KNQB=[̴-yp87Yz°CWbY~tlJZ-BuA e[7v^> ѕzM=jRH r5;lpvt.:o®"NDk0nyAs#O %i <]G{HVꋐ^&ƣvLY" Bi߫ [f?n!#N\z 2BDfF1 [a,Zklu|MJ-w2YVZ,,$FB_q;ml+e8Cn3/2.7]ciY#"/Lɯn]_VDt|9W.k"pЎu>FtUC ]UkMڲ5+)[W߮:@Z5=ry9[L 3>5D[>b,LtoiyS5yB|I#bYk3QlŁRixV"Q=ͯm& ѣuՋ^^Uw;[=<+p(]Ǎ1@Ȁ E(m!sy 9% ذE+k~ʬ7b/Aʀ 0Eww rh%#`$ TVd fIKyX'̙P^E'L h[Wl'tSn,gX2LX@U{-C*3=&O @"k9 AD]OF F53,_q~0- |/ 㟨O[T֑ʬ ٶ*[M!?&x& ( |J0'cGH/r\l$\aܞ7[uie zZSxt9]^fQe0r>p. ߉.:2iE/*xMEt/EWb7*7'^NT96>@!Uyw)&Zhԡnِ_A]=5\"KL~3+;C޲yꇼ>G:EwG?c b̐ YU/ՈQ͓'  ĊT֯eIi2 2}WpYi=H@Li ,F[ `NkDH1̶ .h[Bjь>E&ZT֮[\X]79Eu[Thg.kD,?ogpF-LW $.V 辡-*PQaL Wj )ث[.9裥*wP1^rl"FSliDVJK.شuښ|sxi5%avj'&[,dm̘,fmQFVПkq0*Vӛ&};ٔڭU[B gWC Wkx3|69pG&rb?ABқL5D )' gZX)504HΠxg|.P rc"OfD{I3v]( q`ƲM_j+z-9 @ /6Az2xR6OG({i-t<1 TZ]DK1,h?2xQ=TN{ț5΁89x$u:G>b<:{'p1fW`*o)0n7/`k[XLBbOd i#!/\c30єw;\ڬd}-[Qۚ􆇷1{sT W2ɇMah #q 67.@'ۣ&2|@N3llcK{g%]uxK9@B:4ts}9yIE e !U31+ߋD ]8r`=ZWlYC>1IXBl0H|1.M 6Ղ ᠀66GWKzOAr5,~&$S0&K|Lj$b.vE{<y|kqZԦ)se*a:P8}.)ak_ޚ8Bs=S]K^tG#P!B 1|4| ^Rڠf,qLh94IJo9\ uI;_@yܹ y-WyT(#A2ۜ.&bmGyƫ: dG.1DWZʿ(%ۂu*$:fM!EDPvR92c>/ǻyb9%l\每djiy/pk@*~]mF{j wE+w@ն5<iKq8y$!TтsPnm@$XL>7rXQPF K]SGن#h0gt.HOo nhc4F, HuFvvCT ֒3R#37ՠqY Za0ʶ{ `z.Mi.sVԅ9vQ!y1DG$𜐬zԾ5N]2j9KWr19]YȠ%"1ZI ,?Kcxٍ~uMIuJBeU8 7pMCҚv#kB6X ӔGn&f+ЕOtQl<\1;;qʳ ʍ$J|} wQ /rRw`O20ⶴhed={TN먤5b@W2h};QCL;&\~-<1|fIe.?96prT:͜Y DhTi!bQfoY4cGfS% ?5~Y_LȃEJ6UEB΍$B\/xq% NK?eHrCa -Ce#SM+Rdw :k|ؠt+N.4HA9?DQa'Cg\kPfv LZ%bዧGREkmAthZz$ީ')Jډ$eӀl թ7TwL+ +Y\J><~cVKI~_:<.:"X_fxǻ1:GC~L-rBxI< ev5gjPg~3!x3ąwvãwyڸ_1o:XG^ykQښkrK5j_~:kV7ʂ3=`ޤ˺5/7~ 6 WS]AR_V9l lvjȄqT9~ːnX&:M1:j87hi&RuJW`T80U4$`So|TJfH 6tRB^P=R \}fdG[i nC7cZwYY6O Sd6jCG_й&^S %) qWG:F--'mT2~k"fV.l$^7OJyAMe`אp+Z>-9-kF$B9i~!Pծ-UDltaFNNPNnXpZ'x%)> [5ȿԖvxQchmbڌ*g>+GǻA\{\:$sDvuu5K؛ !e=0*IdAm"uNܜp /$'@5Kxmk\3WwnysOa CĶ- }^SmZyMjC~SFA9oԅ=jT=0Q;Yb enk9KMrH99C0 Hd)`)XlWSr QɮHF9W0dYRQ]d= CMc։lBD@o&7=>oV B&˪M"8k g{8Fd Y\~@Z.g/UlpꝲKgiQC^?yrƬf5Vx I%|8A0α;ۙ#ΰ[%M[+MO[99f更劰q6P-Xu]UJZ^tm7jnd[3:rMpYIJT;2|di>OmOoEL׏]Z dm2!1(XbiS;6i*E%kgBSqzv_|nqJ-/[[.l_@!?^:Qh6X1};ŽNiX젣BOOߋT| gn+YEI^KOI=(+uJ鱞#0I-4>bIkG:/>h  IU uӤ@ QzxVZ*T 69 %dOm_2#na{ -$_0,Y@n 8T$. ą-GNosٛʐ% m`Rћ_R9=`#rQQs C5{5.~ 2J$3lE;7?ŐC(PyBF։ oYިe$U{s$׫.6@Rh pT,] Y]g~85ls30y~, rz/_EocI>]fOVFMd1dKˬvp$ƝDr]G~xESs0 nM6 F_P0!Yf%80c蓐6 M@M *LdzʵOV&α!V;g.*F HF*K#DXxL! ]u(f){?~h /S&1$ |8[G W #u<%(~I oG'Y~|De* R֑3ʠZ.Tzr^Gxڽ+7G2泾Q\Lp/i型4c르b0h"4-r4eCo4t9w^D}Ժi}Q cd+"DŽ߼襢z_x/Qk_wۃUs\=»b= cX#C>xSiDB 3t"Cp$Idq7)wN2z\\vi [8'R<{T LcEXM ~P"E.=B3k7<Qwq 'NgJ2jGΰOEW&a C3wFuiAq[jE)MEɑn#ThMu-nK|=)E7TbZFu .#VY^*"ra~\(\k8]4^+|b[wګĩn0b/A tN=ZnIͦbL p ledpNpť)zʴ|xռQޚx!\ G_an&v`du[^1Ye˗'W[[i_=!ɪhOmTآY{oOr(aĭ\MS(auU],KӮi۳=^zPL$'g>QK5w,! ^K {Z,3LBս> +LZC-w|RL^й_eπna#5\?t@-E||I@>S y6EE>̢YwucpJͼ+z&'ĕxR[L٤)6΄ EH/nz}_Fl~= qǐ̾dT<ZW0hE Og+~z%1-=y*9\AmEz?b(P#0Y\*6_O~[̱([(yWj` =xF"mI)ka7u؉s %ƷjZmRw$KI(s1 ۸YA24CaL݌5 ]=:v\."y'cdk$ 1^0m.zЧ憤^q?&>zI U11",-lqn7,.ú> ,poM-y7RnT)WD[OvLL -|rh=PPQDt2}QF(8% ;]StM?=8,'CӐ8}u1Nq6KMnfyM/dS|9Ҵ-U~g{3s, F"Ka11W4l6̇gLhV-5V "@_4VD66#Ps30`y7~;Ǿ/3RDP0ۏۇ D!"Mő_>8Y&Ndo[%TG(\ăIMh&Y* y%mޅckbDR^SatFJ4]YiAX*n@Nb$194_Rv)%^ysQ{55_j. OE \Q}wZԑUeTQsTZW9BI aޫ$51JŜ,&fK{,WOLo?1A'Amcäl`]yFxD\`QfԣwKۗ4p}Y湺PsG8~^ԫF}ֲ62?ol8Ye'wf9kHi%^o0DSeWqѤ(/J8N}<{4GqJRxW4Tyn̹U= b畮!"u0! 1Y](-txhXڃo v&GHyn4@/ ƶH|VBH V傉U[b~ Q(2b<{f'P Dp.OĨxw /?ȼ=scȑ3D34 v OTeZeɮ= pg $4IHm^h>gMu- ֕?Is"k@幜'Y߹6{j~)&rAϬ_sWp2Usm-iGi ǀ r!r_󁸻$z]Pity#WFdݑsk|Uʾ;뢍|l``kϳ(_&eq[mamH #PpJBEhI} Ӕ *b@`.̱ ^^%EI"we>Q$ȿ9Cg(Y |܎|F_WܔCTӉ|:.rSu GO8zP]b(4]$1R_VK .FXݷ wrjs@哯 Hyp40&AzX![  l7J+ $cN5}Z_i8m}kmUWn𐟶H~_a2jc ~=w;F*h2 y&#d"oOb>؃%S(PAwݦq3z\]u)(Ӽ伥&77Nqxڭ gT}?{RBWd a3z.2?*f. (*oc6|r1*8)_KژImA|orSTτx=5XzW`zT C%E-%bGU{ #j]tɮUKkLYqڋa7; goS5 7QuLMc"`NW@?P3Ah傼O mRSP}sNM,q3sCK3 EdF/JW-^:g $ |vތ{CW0OܙݤojŊf2y9`Y~@AwHT+(n6s)u$bF1Jm0}E`B~fz+$~J+)EQwwQlL"}`զ*Ѿb%m֫P5Ļ lBZoʍ4DGq) u,ey_Q+LgAO@3U,WQۧxC}^BL؛5` mW;fl'')/7Cog^= &B9#EcEYYb΃My[9; 8'YAO^kf{KAsY ;dÐ,9'XөX9Oz[ 1>Oi˩;;"y@mKu(6AD๘{3NoǚԶ=Nn~wΨ@%vO9aYmFV3,MsH+DYo3m:\u{C>RI,tԃZ"U D/ Of`hJ#k|AwP\9 ~_d>hϚ T}N5ݿᎦ9•rHȪS@:~P!Ia)[1$VfdE$1㎝{ ȓUa}q9v7F"K|UmVkL-͡!CEƝ=Kƍ`^>nf0eLd nZKX1e9@^9tw }2#Q8j| h'm"PX1f!'~H>.3|a6Sö6103&TqBF%!(-dȍ#-IFU/.B^ex\'Q03ns{*GY^<7uaUE;s^ 2gPՄ0U u\(өI,m5o(= yx4pOiZ͵8eco-pXv}e,H$œR` ޮ/@~ք4 m8ρ?-Ր輍6{#[vNsXE=4z ;1G ]bbPͦ?CX8q2I@:ѹ!V4OI$Yy&" ,34`O+AUD> tY}yTxϰEDʴg~w*vvWSTwʊª&vJҗalRj)wOdpKG zfs!> 0+Ɔ/UdEqL5Ȁy~V~VB&cIM;9ȍ~jPoS1rM Bh*gmOV 9߳HڱK%bb'QǑćƘ7D:;6beM $&քS2l͵!6JThⳒHF)WϻlCNHW4XPTZ2)?\3Z,+frpCҢ3 R_xK:#t)r1 ڎџ7kHCh>ipʆ+e(Ա l0>nO#hhBfdAgwDFQ/`=/rPC"g>j&"Y:1;s,JFs}{A$]&-0LRFxyeS >>(I޸$*-KŭH[du) 'OP=8,zpO]{7HfA" rPכ 'UD= Rp^0o7f$EH虸j>l#xk۰ALɅqfq$`Bo#>#A(\tfp^2zck(~g>SwޠOڻz*M&Z7ГfP&_6Lp{#%}h)vۨ ⻧f6cgee5Ƈ`D~^Ax(68# Ѣ Z%v%@T12XC$fT8ǃiլ$+N,*ʠX(}P1D4wՄf>gpY`(.tS6r\:5ң:RUY{6Ƙ(&N*Mf/k 96n׆$6,fGDط_q ߹PWh kҾ7˞fRqlnۢkklL3Jz[].kԄoԬnuӓ0ˎQ֑8N 悻Gb3k0TB#0<mu\gL|؈1aKuY!9һ6 Bl4%?YdƓ`ic}>n o)0'fYׄW嶷Mv8{cqpes2+Ǜ޴x*qY;Yp6meO^8cyJ()-Mj*ֈdLT.qcZl#Vd8D=4eSoe1tΖ/> e[qH1L4= >~˿~C,\[;Q[?Qu%s.;\^}in]Qݶnf^%Ѧ~F0*ӆ[=JD7cUآuCv뗘L cg 87RňXNE& Н*3}[oM(J0釜eaXKfY-5 +I'̐z 9O 4!ze"A6Y>{@0?hN*Z8t< +5TrtՙؖBa7fւ~6 xg%oKR?Vsr8a 6=IEO  U,1h kPbe] ~Dk$>J5B-m~Zȭi aWyJx̷-m%> u%}Ҿ6W\eUic3z6hR3:MwdGt9I΁g;H]5 @^C4', |4CfeuQg4f."BK޺Oūcx4wwyi7fNþRs3w[l+q|,/ask8bYlL ~6ѳa>WXqS&~uEʾűwŢH\. {/ Z]ev=C]Rx&Nڤɼ̹cd3rK7i155Z:+?h.!H⬠P:zIW`7B=O$&v~jef2|t~BnƚK/IeLTjd&,LmƃYM> {RɥUD r,c &,h+cL`PaB]8^1?8ZΆ41<)kcä=4 ٩X#M<Ne\Qyn&<N!k-Y_?kpRG(XS{}{py)"2 &wE] mr'ESI :"Fg@ J+9Xv|kry[1z[$F꧟kJd])-R21;i o«w٩E8A֧ʛ嫘,AP@jPߩ# Lw(uE`O,cmLqǨ9[Z X,Tՙ[1IAWBo5'I3itî,)Ƣx*pFJ\: k{堡 W)$=WX1-u789{c'S;lWCnH a\?~"g*>Rm tQ>fFNڊSRP%WMȡ- ,*AVnyK[k oq"B3N+n٪?vx7:[U%oPc3QĮ@;-$o\A&g-*+e"ϱG Fd`C$jG5rQ5SyTZfC' wԉ*uN/(闲l,^"uKvp=.TPkG D c9cӲy5J=ʂ|:\$JO3>ߪR1'A[unl.7sL`;@T°Ꙃc4Z}d"7lf"kFd9'p-6('4.W8DR?򱤪{Ҏd LW]_A{ؔqs$f_DF ÍAaiPqxI8L<.u hizClanA;1{R$2R=VKN;g`<؄쐺5MHg:y;&^0QJCp[NP>ZsvW`!tZ֎nA*Kwo%P|ަ;Gؿr47丵E.k2?Fom:ja :ѵ,sj#^ v~zZk%Og|1\wHbyQUHbR\yCn~m߅+Aȅ+~(]\Ra$?>\pjnN}EoY4F( tr\¬=fƵ~A?}n/c@h="W VϴJtLWY}' [[ RguN]'7|Aqb*yr-y%4#Z:ܴqY!p}>Ȫ >ۘв{rRd1rk~;\YB{҃ntU$x]qAs bǮ_G6+4 'Xi2DL<]JNeiYYHn.؟̆g^\ԃqאTF@1G" P]ǠM?[3C15=ݪt5T4tXAv]6KG=`إ[/؇ZNX*btM[jPcuΛm*\kflhM .w@kO@ɻ{s˝M;r~ޮقtJɢeBa9pM4^;_ 01{'qVuv6WLۂSC6c>B49FT2#/s5i_%=q;i[5]P̽߯kc**lx.3^ٍcY(x3FF,5dy# ܸ3UC3I[xFSWq;t;A3Y=OZ۔|llijRt^A&XoeI?~Gc^{oSeBo$hhVJKH@;fKN+>4]Dn2>i~DIa4SK N[EZ՝ʼq3b2.#LF,gqR\UNjT󚕧A N:@4%D͚MNE=\KBmGC6FmOJYg@ v jජNXR}?# bsh_t5oR}}]K~[8Tfyv/1l8%{@g7Q3\c.qs;HPMiJ3ߗ dbd|^ԗpLfE¯>t &=ݒps@ӥSY4f%JlMӄxL:L̑6RI55M-vpID]SeB-)+W;pXdlB| $b>GL:LGǿX ;Loes+su8' ?*W(su<a# ٤;gAYCVtp%ec*sj1PFvz%<|P"" % 7`6LI*Ùxv5+ʗd٠³%N*ȞD.Ŋu&ygQƒv^/Xa=r?Ʀ,/y4cq: j)a_ iwb3:0:M} +Qho!)Că`9Ma{u9Ӻ*o"qғNɉچ[)VGiA Yprkc_Y r,cR4=yj=V]%h}z b5BM_b`z@,dI =i'dZjeݹN݄ڷmto bOPCaHĂ8n?8GKi4 ՘A8l<05k_fiĻ/RJV#JGğ|{yKZ:.JuW۶yJ_ ՛ԵjX tZu$B1@F^NŤ ovԯmo@4q+GWl5օkbFֶrATT4"uTh3Z p4!Edwm7o?ΜK4cEc[}i}4 .' =*,nO!x6}\6<i\^`osv֌`*ݷ׌,eS}R6CeW悜"$-{;pZp7Wr]K±4Hֳ@XE] W8@9g6YpZtqCN٥㌜u95KwtᦵE0c佻1ur5a p#yww׫֞ɰ7mW}oȐΤqs}w\]#8X'bUv_s+X7x'Xac{\lŖӿ^'}0I삠R[*^LM &&n)C 6 bz ۤr 7V(HO]Ob_N(tmIGG%?O'锔 _օ^!QZr^fC(Sfpt>hѨ{:J^_U| DoJj*ӼgXKk_ߠ~q"-[ʾltS\#~;Sp*"E&xR,mb87̭ӇXSd 1ΟS+=Z-1upuCݭVperi0?BqȹO&ư,zzA*-n{kO`z5T{edY\Z&zG4nXv'?pH[m?Q+ojڌ&11|8I䟝s6I %QW3H - ?:ΉKɰ?5pVjc);y[yYi&Գ%?*X2NIATQ749£аF˨n#;;_A=[;:WS︨lKH*!čt 2j>*"v9e3Ruqx@eԲK%W<.ĎQ*Ow­8 {nSfU\=Ό[Hˊ:s.;ۺo`S$o16GRKA՛,;$)ᦥH6%0 ڋf}(.֮ewuٮ%)#LpjPɉ@y|NܭyiFJc/y 1lߥ儔QPc8/l'85S`e?չ_rʖf^:gܯ.O٦2/د]A]l䊉)^UjHAN>g=<`!e^cu-$Y O=khkAO/+QvBZbԯh?mgāV!\#Z9dz0!5 sy5E./J%pҋ^|C` ْ7v5<`X;w$ɪU<~}Ulʫ͈C3["`. d,pꌙڈY@Vf!3)P"4:0W uf%?wed+ 㕲|Ó9*WxK | 3yհ57{.':@|mM.F"η8# p]Tv2zZQ7O@gE|*6?)) ڀ.և7H E|XͼpJ x{g?W*A]ofB Z|JyO^ !J]p!VƶDU\5=1ǬZ?ۍ2/ЉsވQ'FLv\'?ucO^5(q \GOsx]UiP+1/nQqrTT5ءt'ļx Wo:ތ[Cc''Pdw{Ͱ*cZm*lc>HU.!OfR+4=+ uY/呢80\W[| GsGM} &1_!iڿV:Gsp)]nR+xEio"BL9:%?'8P@-4HE5.09ݹ4ȭĐIܤEDj%;,6_|I#S2R 5T3PGJPrߔ1,X?5J*"'CN-@G? 7~t@,i\t: 1kԴ`S:ݫ+;7~1 6JϖH( MC"KF#yJ>ƹe#WWƠjbնxYz(S\Qm|y/rZCOtO(Pu 0Wg8:JGE"rڦ=*СNÜ =Λ m&4M-ܱUrx]Q6Aذr][6]`ҭ?R5.Lręװ\k;WW_j45DBLo{}5Xz\[rkF HS$,B/zQ ~Y׬VoBHl`*TbKJ| }VX b@#Uٙ$zY>B2MJ4 OlrȿR'~NK7l47Tqs[s,L"S,I⇡F'Hg$>S22d(!2?_Y%j@Erȝ{ce}"HټOiOm+wJ5x\p! ˲x!p#71iቤ f^nH ΦSs|.GJSi㭚ut^@[h l{ӽ IL"J^ @5Q&#@ ЙM7ovZ{,fXoUxpGvX6ɜ7h1WY"]ԑTɜg5Y;zK$IqGz >N!@2ǹ;Y#HM=I#z+y Wr-qQMݰRO-oJKXF6~lxܾ9, -A5ErOuJ6Cҿz=kW+o3Ai[ x[ࢢ0g;;s^'J)74NM]|x%qL DtzhwUmpC2$Da;Wi2-a̮j^j'=E:QI/A:1XT)6$6 S`m3 .E#?ֆ4ETT]Cޜz~!w$ ubߔOi9: G#{e4/q0|L_]B]{4gQ %^) =VVu8d$2W^,3Tp30w Ǵ8G+Ekt,XmMS{.FT9^ juK36g=]XyJXKJiu%9)a<2 GaAl48Nޣh _S #;dOґqQwB2\xw / F>`1nT1+O ~7#Pxb;_b>bӳe7Rǃ8q 8>.ҁSb{>QsNw:3oMCXJ-nŕvV_ vf_pLDVԔ8##@d/f;xA7Op<Ƿ1dz\+7%&UTVDPybFܥxLGe3b `z'AENK|ؠ9SI4P-`ꝉNl;V+UbRr?kc&io{]i| S }NE$hSC\H75Wg))ZcFc_h.|{I7h\a)'q:O|R/E̶41DfIP3dX>GcAGW&{84,6ke`: 1Ed{ށ]83.2ʀ||0Oc?{k::ˑ4kxUZwXЇ˔%r`r"rI v'`WrmfA'bf%vFiSw8,5ZoD!dujKtNľм}b]`ˆr ReI/5 Z}[ȃawf]3贉 PH.ڼ %!AeGw5|{)s1W K:]^ S=3Fǯ; v]W4*ۇHHv/w]W;B`?br]D|$Ҡ0_r~R,l( u $7&=Lg ֓_fSFAݾ=3mܵˀG}>T0ѧf%WE3#grL)C SuUht?xU1ͲAWԯ ]F;A?8B-*lbjd3/|MۆaY8AF4monЧk{/]S*LSWT;KW.{8:> 'eU GW]CeaJUQGbԧX TP*\Q ^@mC` vzF2=dCnܬW6[: -Y-V64t s!00ey3@D|-Ml_f5[YɔJ};+Ml  ,Tq3֗ ͙"k}baš7zO W YiQfV6BW fǓ!J=9X4fKB0OibP?S+8>τ"&?QmUUY fU2Z|gl0nSQE2V RXo޵V5e~ ?e-4gyv{OmLt''&]#5z69|:%*~C9X\>8OЈ$BZ4dVsR6l_G>-=ӆmb#fZۤp̱@ڜrSaH%Z= k0\ ~t<1 }7IEnvLt^{Glq4֗}QS [߂R&0[D4̆|NabdpjǏwnsP 8&lͽ4Ϋ: $쩇`f{(r'۴L;nc%$,j}gl A\s-k , E8bߌ5u5K.E{L7-w[VIlKbF4Lf q@SiyKt@|f,0⿥H$OgZf~8mrM\.;Etbe*ߧťTLa2npOc3zpl]bi"L/Չ񃢂X(B̵NL)1?X2}mft`%3$m C =A%thf!ϒZ"VU!Kմ`^ "xGzAgCjeW4\ȍJF=q'V7Z(-h:@)gF}]TX|^:w `PiqYɓ`:<~;\-q,\ p6?cXY0Θ3.]טfoE֝ĩsw珃|!j)ZW/:o=3E\Ev-ω.ClfQzxKo+0w&Q-zF![}'YIni &$|~ϿM*|yh)D4C΋o֊M>)'һsaK  τPZ{o!~ rs1ʵюU̢F6l/V!1Ufr|vDkq޺U1#ҵH'2qVl64g}uWגp?@LHkź7Fȼ}ubx4<j`.ʦWpe0".;Ms/Ϋe!'?[i.o8obc q'y 6U"t?x-aW_qEKnV mdfeڌpZfj"Fu5|WDBR3w xQtl/y!Rr)i!VD4}tND-#՛:Mc"SJ @ է| un3X~5C5ho{Gװ1]Ϟ.6;qӮr?_* lI*:|_ 7+wJ^g 86{6w_oW:9&Yq3$Wr.j=ytkNXr6WWpBz YeTATL'ly]ܸБ$t߉.0 2 $\\M[*'>-i_HK_#;E5Y^LT93E  JPỷ9]Z$boʆAL3}D}8ɰ>x.S! DQe?.p/fa̩=QB놙~lqfIT\HzlJ#Y$>%OܹEG#mIYapvoϲy nW7xozK_w:̄d%|] 9{ʀ?iD?d[o{xCA5 $`֬w څ ?2P_Ny1 lbIX^VsZ,MT]}'r&yk3ɹlIb~'0@X^n[>M!0ItYoyLes)p%pB;hګ7@_#AM1>$'}f+1 r"O9-$g?!py;.i&a__oVj嗢f,CIX4z$w ?nі2]_vw2[*c֨_Kg@xqx[oǦo!4K_YV#wU_ F~\ eHn"++#2F4[Cdް.dtXjd$k/#~yoN.țZ-^#~Qe@7SmJHgWOE,@{,{{mOSA2.trAM]·/䡨M7!!5#q# ġmLɆxpͮF7~Գͣ5Gg{z4&d7cPp bٶtc'B~g:H 1n7+KOv\v%JBayB(zVj,(1KHjMm.PA^A.$mSɕ+]wyH p7} m`{4K_s4|jLE{ GnDzk4 k\6˅QϞ#x}7dETQ/vs"Xh4+:yg52hj.Oӓ ﮁAZo =2;!ܗ.d99V`мpM#jBqGגq9¦@L\@|:,im(I0[bG[]DtÙ{eʏ߫'g]x!Z"@ OQ>6l^U ÎU] cE J-RB4U6f؉IfpRe`V=un%ݥZEyVj,v - UuK!M8 aCF}N2W/6Dtf<ϠfNJ犎5/o s@qsXf5En"\gqd05 v@RxeRݭRA\}~+שw xUmr'X??חJ|A݊7׳KkHZQVC=Z&F11uٚ%M0#*6tφiTJ9O.S=Lm5TCףjBIPџֿB>pQt,ijЅ+" *oeN۩_Y:U]8xe(H!ClEU78c$ m//t^F߲BϑS6U0P!VZkOjx`79,|)iq^v Lɥw8Gß 65a %JW)o<Aȑ/ST<cE\F\"85GmD K!jĀgf[M(i>Vd)S%PYN9:gk@aVj bBNl`)޺3x'2쎑^gr$Z7roVql[wHAF [I wA j#v-Y-o[3IB{g>5 V@?QgwґQ;`2M?Y7uj$k'+hOi4i dck6MHM dlTosbk*QD+CoZ~x`~)w9x-.WWvۦzѯ/"ap|iP7\pѽU(/`"8E+1t61"—( A3w7ar]VUMsC5wFK?CIs%]*MkB\5"us7 " [?”?vR9ޣ!>Dp#'-qk6>[3݆RQzx*G> #o SdewdrL\e$vX|/lx)[*Exҙ+L,;YgV{{QpA7[v} _+"Go]'9O d~6Ut,-wt!NdJ*eͫ@zT_'h}Y \:@Hz,g>`,733jXdHzB..ʠ|VƀOԠxnC6! K@7k x_n$񌋉QYEO/tf!:eb bcl?rBEg1(EWx35WS` leMD7c1tQTIi9'p mOpFoHA:[(Lle{lNzܬwjA,OnY* L@ö YZ