frr-devel-8.4-150500.4.23.1<>,fap.p9|l<JDvlW> Fn޺@ uX*LYOҗXqm3$z7<Ф U3\sVh#LkhFP][Y}Y >'EJobs[ (ْ>;?d   J5 Kk  D  +r ,/1447T7p 7 8i (888(99L(:;(FsGsHvIxpXyYy\y4]{^b?cdfekfnlpuvzDTX^Cfrr-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.h03-ch2cFSSUSE 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.orglinuxx86_64J#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큤fapcc9dcc9dcc9dcc9dcc9dfapcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfapcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfapcc9dfapcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfaocc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfaocc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfapfapfapfapfapfapfapfapc848bb4c5b0e9a0b5c58567c6a854b8c6ff228abfbc15c0078fbcdc0e7bb62509f0a914b91ff407414dd17949089466d8fbae3d3c9a22857bcfe13e144d8c36ddad740e3a8173858fab26a8fd675ff714769b01c12996145e3a80d2aaaa7b7886cbdc34a530795eee4953e9bfb8abdb4f07b152ab99979f24534ff46edcf58927d8c50a0ab8780ff9ab05db804db17a79b184a0f8bf15b4d911d11f3fc7fa361ae776f96bf453b6580120c8aa4a6b5f012e22e2dda5b848356eecfc4dfa40b4d854959b803f10e1983580565e542bbadb5117eb14e918948d44a40c9c698e186a459373df22806f56d43236eaf3ed7f12d9b17b899f801482a8df8062f80317d44e03cb13875f38ed2475cf5776f7dc700e7259b3ba9dc07ddc0a36c1c594e55915503329a36731f0221b01b5253c9f699661c2f656d38298f2dc9aa87a08c5822fd713c8580ae843938c5d34e2e8ebad208301e96d1a5cadffad309985b56cbeb34f62643a9d95ea43d6008b680defd912cb361f6f97c1db3d8f9245e4e71bade9f7d7fa468f6d97414d53d87e6cfb77540dc5d03f4a3a42f173d5493ab1f8a793e04f42d3655aca2f7a2c2a7eb93dc7e1a6a638bd252c99adc6b6b9fb1431134b3307eba542164932283ef8d9f703e7e4a968acaace1a0955d75dfa11680947feec3308492fa73d3fcdf9b0865c0774572fdb287c4427595576afa9943b548ef38f1bd15dfb2861fea92b15216136a52d2faaf17d46cbc0fede33e172d9006c8bc7b7aa372b78dc6ca2f3ef36a97e4760164c50161f7ca8e661a6ba4f5dffe843edb796d5604661ff60a9f6220e5ccd5815d66d83db2eddc9ecf336acd5c46c97a2bf260d434f66f976e1e63701d3a70d44d072726c7e0afb629ab2214b25746c09d83e003e34b130a64e67c6c574c25b482de2d3871292a859904cda0112e0f140e94ac452a91f1dc2646bfa2f68e8ec709b57258586df31a25e29fc2cc5f1f5b13376a95d6990c5a4434748b21d4670d19e6172e3bd7e39db76be4ccf25b70dc6d215d8be9159cd0b5715ca6dbda914594e6a977339c887f776b81a18970f8ef8a5c8d69d7bb8a72bdf4965fdd3eced9aef14d30a3d5c4375bb5fa6441f45826dac68bc7ae6e1f0189d3381f2b511a4c9098e1c2c3b09e78ba5577da65214dd4e419592179964afe78f4b5f3b515b555e7c9ad0f7292551ac3b4fdd7dc51e80cded0bb614045e89b6b7596f68dc7eb7757cd71300a97ce618a92ff04ae1188335df2036b65910c540b26185cb474f8f968dd52668120e979646514f15ccf6cfe0c7ef69af23292e2c95e24add2bda99f7522dfa0716cb5fb704d0ae63714db1ff787e1e6b448fdd0ed463496842c0a5b19181308cdda3bbcb78a79f6737e3da33dfaacde641224913f4adc7830ae50943d88b1304008b1808d920e9e921cb1b3482512704b64a152b8f87b4a1eea26c35ae1051c337f254a0d26db7e7a0d2e934cfc8d027e688d297c5205133e73c414c41a222809c4ecaa3cdcb21c632e03f8a75eea5319e6fc37bd4da9d44af3f582cfa11bcf8da03268acaf131de23496029e33d28ed2de8d942a47ba895f34c5aebd7838889d1544fb834ffadc5e820de3e011a1dde5709d356b3e4b268786f76ef31be1d522fd662c57d8a1577a04208b29931ff32e209aed6825b08ed615eaf14d7d30ef6064548e3e7e2d560569176c39880e4e12d23864d3d224bc4c21ae0cbc0062bdaa9ac230b95e7716e1647347324517940a6a98623e2046b6b29eff5f713ceb3696bd2062946f1569524aeb94e79185394d0d12f0e2b79bc69dc6e6419fc4bd0ef0c343513e61af323b564903d053f0f4e73fe174084ebd506002e3552281fdcd0a418b30c94e3db37f1af63dc1efe340b7bebfa3ac656fb64a694b127d4de98c72bc917dd7848267e98d73beccb3a25afbf321e198dc060ee0390cd87095d3e7e76bddd0794a72e23237ba7c148003b71d9ae4fc24fa53b364e3e6070c88a81cfcde3aa792597534b2852c28220a29810ad2131d0fa560349e2c7e2a4faf1f6a0b60cf2a6df84dea0125e523bc7cb5531ccedd54072c5e00c70e1f75b0cc6625879b44073d730d69882357f8cebff26a5e2eee0faa8dc19fc5199db19fff5988fca2e5ebdb05c0e2d707fedac81f489da251b6e76e6082249d4f873fcdd205f7873ce2297d4338fee6adec65581fa96bb5ab56736a97c510b5be6432abcbeee77174467565ad2cf0111de28934c5140e0a0ce88c8198a727b23c42d4e623903352d48292c56915d489aab60b1297f775d5164e08fa867d86fafc395d8ecdf8d4da6ae2d79c032b1779e7caff905ccab8cc47afb63f25a53a84e28ed1efd64e61994a5673b5d7222e1583c919b82c1d8602074b1610b17c64dcb1e42297291c78302841d89e68952cf2245c2ba0bb0249dd41d091a7175df3e2b14cee529a1c309593d28d258b68f3682071ad2f26016044a3b08dfd8b01d777ca5f738a1474362baa4c0cea0f5bbedb627f1bd1704a818ef5e78105f6b392efa2da33b617c38053e123009e0c58bf238b5c17c692ad3a20bb17a7bc3c0a68357ca1068c7456b7045994f9c02d68824357d5d676ae410dea58545d642a86be93271112bf93ea178648557be7909e12cc8eb28c04fd2824d7dc0c65e980a71d37d97355500ae1adab247599ccb77b2bca70d4fc0c380cc4fbb3293d2d08284b65a8ca981d8658949028b155e7d56da3ecc1da63eceb5a65a3ac287d9aee61f612c098d498ab1f691a73d3778f6f624fd9a45701424533712d06a2215dffb086690238df91f9a968f4ac100c264d8752fe8c1d6fa0d3fa3f983d4b79d7723e7a45382f61e432b323c2cfda66206f880b358fcb628c83317f9392e86313d7e9babe1dacd568a1065157c2cc704c96f17ed7267eb1e5bfa7d5ac74bafddaf59f165de12a9bf057e0e1f0d4a9740bcd40f2e80b923c982f320422c3c7656826d509761f3552c9a2f8bff00b07399239d7665436bbc9c134c9bb82702ba65bac94612a95b176c9714424bcb209df8e1bfbaf640d08b2cebb1f6dc48caeae0d83f7f1bb3d10a07f81bbb00062da077f5e1e4e372dfb5bf7a342f81531f7397615f7c402a134ed23f01afaccfc6b0b597ccc273d736a4a7aac62f554ab6d5cbd93557cdb87edb20ee092089707e588412c13963346fb5b4d394eb11ca1f3afe14263ae84854e305501d94302d7776b3889e5d29ca50d0c8a75c900885619fe7c75d77b7cf61a33946f3556d6055e2ff0b49f7fdb4964160510cd207e717915e531605d5fd8efcce06eda9ab658ae1daa915e55290983cbeec1eff6b817385fb3aa14a1ee01cee25dfe0a4b75a73977b10607bbaa7d2ec7ce6a6dc1382188663aa0a26e924db53ee41df1f79cb1a8749239c81bf14318bd7b4645c791007bfc799a7d55543ebf41a6c0fad6293c1db7833680e8474e94edb86bd299bfdc30cc384d1e9a14c5eb0b17ebf784190f187c89ae444bb25d5e7c3319d4bb471ba56757b61a1ec9b191a321420de167ebb8661427ef4d1228b132c9c91c0cd037aac140fe2a73cae346866f30e2af3fde3a782ef3b7a0f4878479722f06e44f07985c5850882a1f37520aa143affad3930a4d92884abca8201d191c7fef999e6f8948d45bc9452b0135dfa8d2c70bda1ed53ef003e9ce2f242a5e46a90a7ba15d0b3ed042c8e0394539f5ef24012f48c2e4f586ab62f270f14cd1290d5368662b690d6821ee0677a830948c4d467a760da469358e63e574389556699c28a616f1e13a482fd55e41395f9c9068e752b57f41d12327f6a53dee2c93a6a6abcc3a83b7de56f8fccefa8f2ea70a19d426854ebf539ae0c7dabd3c101021dd90602ac7130789b4e5d56a63bf68f11c54d6543c99f94f783de2f84fb9dcacc3f10c0b047fae94171f117bf44470749b3308c930216cef78c197b352fda548ef8f72ecbff31f7bec9a825e5dff9f9d1d98263a638d97a055cc16a88f3a83fa984356dc0c5500e6e1b9e1b705455cbd241b596689dc1f998c6513b1994b26fe6db5034b9cf750f06094b0797716406bf02b898e807e3815cfc1e3e8e7a885284081a0f3b8ca61f8bd4cb8b4657d5233e2fa6a75aa581206a0ad288df15b61fa7852a8433240f28750c22d187067eb36c7c83de65bef2c49073952e13cfcba78e89662c17966a337732b46e5876f1ae17155bd8fcc29ec184b0db6d186ce05a0f3f1cbdc49f628e79354b08ad98df6bdb6cb2b6d6feb517180f12a7034d4605b4266a9b7c6506eb6b934ee9ce94930de822505825b950612e1bdc90c9897553dff667c8851ba4b3442521f42883746c140a3d7d5903a0b27d3d8fc74a1de2e63638072466d896a0fac908c9254680640cb5c1ef612810ba60c6b685c2668a27bd9cd3d1146dd978dfa2e39cca09f8448645884a335f0b533a2155807d640274fd781a69b37b311783c6927bfeead5856804c3a96f0e6cb881f119e75118d2b4e1ceb9ca26c64ea508395f0b18d0e8c5e6e7f63c7522649da629f3049d8960c45e01c2d7125203a97ec993f932b67b971b0d4f188604364e4f3c97b65f3c48c27587fd6dc18c4e2f266a296fe502735e931b5993226e1cd0fafdc8c7343312e5c71fd2de032f9931ba6f22230362d9bb0638abc8dc5a7bf09086e0fa14ab4de07fc8ad5f9f0f875f817f0738bd966eb0df8d563337b4156f81ccdecfe20934e2e510ca443a8ee22cab15cfab986cee3a6c0e57698a1ed1b7840e744c93cd56af0c78a83328092803d2ce2f151a7e9766df1588f5b5b71ece5a2c306ae1914e013b1af70fb515805bdd40967d2dfe5bbefebb8d53c65e60d16940df1aa7c0b08064e99bd85d8203e57e28b5aa4592c26472d84f4ecedb4c51df248a2653ad6c969c84dc88d92e71c38757a8757853438e4cf378e6a926077f21ce13038beb882aa0653e686d5d11ddafc1a59981dc49ee52fce188e1e1d6d3e85ade5274c6975675f6946fb95038028320c0e9e76c8cf65d3ba88ac37e0933435e24bc2ce8c01cc1ba9aff55a6d455f3edafd887858612aae5349c3adf5e07630d2009cf92ebebfbb611c24d4c1ae625ea94de43b81edf9f55b58782491e7b225d105e70c5745a0cef526f11b6b822102bcaa2070648a070c5845b8e6368d3622d1c854f27d9289fa273e84e1f1f27b5443ed84df59dbdfd5a2dada8d3ef31e26c4aeed2f65688a45a01ce9d35371e14318579afdbf214d825e2777f23c57ac4bc88ba88af1c2c60a5f0c9b403bdf3ca492794550dc20e7c6cb18ed72fb3637230a3199863f58c49f7618eff5395eab6699b5c6cdd7b43caf8d86c15c721e797dcad52159bb78e8948e9a47f36d55d662ad527ed429c1a2f971c6350a6696f07caf589124195d548b21b45af360f9e6291c5e8d3dffd567ca0ac1dda91a6b20c2ac8c49c5a54ccc7599c44efbdd0510308f8a70fdf8f04df8506755630c86b2b7216946b0f80ea5dea5e10ab95fd64c2307c4e57b0c14daef75e259ee842b135fb4f143f0775461c3dd8f700e2b816b12bd7dd1e83db00b1d74e8f0dcaf70ad1f566cb526f20d4a8b804f6da3366d2813e638d41bd48a8a3260d956b398cc8a2fb2c5bf23dacea5c300b6c13f108ad461aaac0473e4918e014a4a7e2d0605ce39360fcab3a8805177ccf1ab9a7a127cde118d77e720eb2c1d06a04d131fcafee260a9584147b944377ad3379a703e89a6086acecd650404502f6c4319a31e1dcc8b26eefae3251c81beec3c5947fb2df8bc48b225ac66686508112aedba816abde8d189a3381d7a141660d1a5837e5f48dbbefe1dcccbbc73005b91daa030b11d8e4c367f724a5ea0d72644cc994a6e7a40ee5e7254e6c4ff55fad7ad5023a396c47ba5228bfed601462cc2e7b69f3e09699d6eb384ea4ea3452092a41418bab15794fdba383a33c5ea1d828abb2e3ea5569f200e6fd186d9dbab58a9076e65702ca3172088e9776d4a87bbbc83d1f28373c62e8a8eb1eae1de0a13f916dd4fc0456cab5b59c03e0f21b9afa87a82e69b890518d3c546b139063565e97110baf3ed8c0f415e7f51b387f21a06b6b8e11bdd6623647ff01ccef5ec91c6824b4329e5f94722dd22ac9a5bd463d14a67ba99095e2df758c5fdfb72894986ec949188a61e1588libfrr.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(x86-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.2h03-ch2c 1717661742  !"#$%&'()*+,-./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_Updatedrpmxz5x86_64-suse-linuxdirectoryC source, ASCII textC source, UTF-8 Unicode textC source, ASCII text, with very long lines-qlф"5utf-8c30d62cb5e0f12e7ff541565b549a0fd9c6909bb512de64b03061f6882c57491?P7zXZ !t/㏦]"k%{Huuy:?$ g,% SPvWH˄Eu7{OcQT5s-+cݞ|Y9S«$oה{7piQ`g}60k 11jUchK|27=[=4Y,lgbpa<(9.#:}l+:b乼Ϸ)! oZK]1IJ7ʻ16yºJ25gڻ R?V'").i:}=Ɉ΁_2ꄀ'Wɫ4J8}I({rz=-˘OUAl0.l.{S P$hX~eA4x7WtpQCaH_x|#~=qP S>[K$.z$f#v7mm):([gn"~{h;,'8嘶'*]aɦ۾heSL~AlD}9ӳOa؅$P0ۓv;'EM셑:sb E*Lf]Oj` ͦSYVC骪0 MlKE:j$3 ^wКyuKལ.Zeܭg8Q_$ 0]n9&,k JfZ@|5ǚWﱶox†7T#%!MMYI?xg04;;Q+lPsnuT7$]3CT=+q5q\Hi>LM8N?:`orRӂȖ^+9Uu:kAṧizh*֙[2jm[ꋈUbHR`>fCOQDޝ7Q}x虯u]q*z%FPNŪURkfENQ ;A5KkJi@pohѮ"L v]ʢh6:ObVvu:1 WSZ6SٱȐ(ӯ8X\'U2w9o]!O^6wUHHEၦu\$u ˞gߏP´*#]vi+6j<@yA^ۦsg$I tU$2B5tUhCi(>r%@LppN?V)\I>Zxӧ&K"4<Ú&/V\pҵqhӯ>z:C;Gf ^e!C%|=Q(g4)S!gl<8A頌|#k9[]<%8jpmOg,qK+ry!Dw4 !$Qd%t8eĉAIFWdi+j;vzvLG 4ܙ`8 _j7Գf7U ^45 -UmxJIM"j!Y6ݗMaޙvl9?㈹p>]rPFܑ4?'km=Nںq10zs@};T‘^A7 3+.'v>"j^jl+FĖNXM̩E @ JBLiM'gPj"krʋ/9o`\C[Έ%,>3eTgs4JUAa{{!v t;{(Ty*:[:Uڕ<E,cHհߛM6qGrO>``vL>| *:%0XAR۶EWBz QqS֠øemD݀ `rʱO}gUV,kvf$CD9вo~ȭOE*!r-W) yiX.୤A6,+tW{MŦ|>c/UҡZ$k=@?V1RF7K($:C"*zm)K]!f3ӷF}9w:Ei9*oԶ%|tNF1%"(.L⨖Y۝bLZْv5&~+zOĜb:۹QOku, B\C!L׵2Cq4^J(ؾ]@' 3̕o\od?OCkp Wvmzet]ժ| Hr&ūP>jg[PT}IcJS=ךj iM>[6ܳ"s *(t#lwxwu)B' \W<9kT-Y8{7կU/y DYe\sR4cQǹ#ϩytt3x ֮Z[M`$ k*af ?kjˀ+uW_jH(zU@fF87l4$joivqY&ogg#,R1O! 5%u7OwQ뗿I0qZ{N6y/3 !JO0,f] ~as[WfxYX @4@ׂ{j^kJMT"_sߣh w8X+b!'O+*jXNtBcOpr-bak4d/ 񠞧"ޖ߇ J0MπN(4 w2Q)QdBKb?/cs=qT㈮L]G8DR1[7ȢAZi<;;dEôvG/F7aPc` _sGGx~bik5UR"fz#h=a(88~ grj?w5 j"tm("d]8C1շw>MpƬ\D>/ph=)MkK,\#d8"98[K~7%G Wa6~JVC z~~cL*D(w, FJٯI8&zZ> ñ!+ Ԭ*\nJ=uMe/{;UWAEF4c8h)[GM}վ#hW.5/pY|Z/нʣ|LC]ypaƝ$9vSi- 8isή6P9r( Z}9'[X^pluujJ;1u9/7}uPHk7  f]2rךMOPR>;u=;Ǹ G2 k5*'!<~H"0ψlQFF!lz t"3e:(0);ȓ9o鲱Q◪gc<YJL(BvSgqci[IJe( :L% l7زA# /] ^lO@7F ɦsֆk*a77PXV*7|rk{:SCAP]Jǧ:?QG Av(eRǑeU~wO]-K5eK=fe{{ˎlJg 6It=-nU61 َna/-Hr̋,fU2uָZ, xI?drK"dxq00+Up~{5j]f|I3)Da0{6W?BAPIPI.t&k&]LSaD 14O:6ׅZynn+f^;ӊ]Li{R< \ΩҒG@Y.sa,pZo& @qLHAz!OSZ򌊧*M\׀p+ +A2?+fTjnqkR,qj?i4ApܹX؆";cjőku&]MQg nf^e\f+ U`G6wU$e`Gs!p#$` Y8Un_*ED5Jmi^i&8ۖ)<' $ڥz1BE3 hP}a3ng.hJKPWȆR-\RDSl?A$ GFz<}6V됷 gKּwg$LRasWZF8"~ R;4U6*gNBASC#_^='ߢ3+C6>Ž`kfrK$OQZw+vlr.d %}&9{UYuԶCr\zSP a[J|o=Wqu;ҟ!HI}{="='~y_{XYAz*pF讉VXf םT -L^: ? v'<0/ (ײ:[0UuŤa%8E*cPwJ1u>$y+谚2oɭ-D k>>KF#el0f]BL;8^cS[O @21M\寔|qbɲ50/8}Սx{Dqs$hoG|AéHTYau^cYy`"g 6>#aÖ0L94r։1<9X(Rɍn)ғT~z*dnRWJߡ#f#_ncPx\{(F#[+ 'pzf#cu\%p㏃f&g0yr5dK?&ˏ վC!/.]њڋï&XidcheQcN xBbY !wό_ epXXAc؏̡{>^"X(:#/5ԨPH>Q¡fBiLO^0a~jXv%UqQavh ksuAT1)Cl'Ɇs>(SzxE3xRhYJ.DU `?7zpvq 2JZ w`[6 ȣw֋&Y7g|4L7Auڭ*&L(vpnHR w%.uјI{t9>$NI5p ʯM< 堾Ca ŸxHic›t#D3Y ł]]j5/ 1ƫ4j߈ b@1HkZo۱[M)X@G`6Z;*|HQx~璋={sEܟ=0W b)_ğy)p$n|S&2M0>!KFʵCRLV |@O)ٔD]n0$qw75 g&fah,`q ˪ KcqoRU+LlY/Zfk0\ {%teBN'Uɼ 7_QJ Ff+:!V0L=v1BZG*pJ 4}^DcNmClOYt#k\-u m 4f3Nh^Tk3mIlBܵ!xV|?C[8IŮx>Y>Ҁ>ZfvVl G|@:/7MErs|e2d۶$9h]á)c`A(G\ 9;+"J@e ղ\(m z>S, IFy3kyT'Aj:fuRCN^ZPϠp`-EޛVש g| 8q8VSkAC{&lv]熥YP+8QdWP]LIOxl*EYþ_.i`)7/{2vhl*m)?䈢G}nЄ?_F^Yf0v'ԍ*C6f1W x|x~eL\նnzUM:\2qL\Q+wT <^5r+85(3 >!_+TxHta>Z*낹kyͩ2V\Lm/-ȿ!I@'}@PefTx!h|ZÞwPc]-+$KLI*r^ $@>~k`9+?qFg˥+\~Z~K!޵ڡr7%:\ cR*bũ 9H#(lFԻRƮ2lV?eVG X zBp:ãp&4,GLFIvmȨ\wYf+l5 x˙h:4ncdnIf LV# !LK]Q ;2MR@^*<VIKd5![8M1!W(BʋRq%zs=Tj +Yʝb~RqPÑ)@ RuOj#~OG-p^ 'f籒FvmP2jkGCH t\7ԣUf/ô"ܤCs}?>Z i%u4tvVR 3¿Qv"y& q|2/͙05Nq|>sO{͜%5<vY˳/&Mea;@~ﮑ, Ժv`9 Kh웏gI2t΋J0,"p'P MpH#sJ> ҪP:d?cp1P@y]_s|r= . O Uq@^;kv8l(HxcZ!. ;t>Q̒T}傕oyyUwG6M[LÐ/oew1{Yt!sV-zM)mry* *:a" j>v!n,5 WL9›I;p,iW9V)Z<7 δ1m£r.TN ¨ v|UGM`|E,lu`=b&,z=x(4U~)(os܂$^L ź( i|#&o{0_. %|#[aYev]aK\g5e[.vE}-z<"[0|TAX].o_pHԖDG|/ŋV+d`f~?O,YgbPnH-D5S*ܪCo][_[VHL,ʳQ2rxqy[$sCc$ ہ󔬬Y4ĢAɎ7b-X9Vdp{,+=ۀ]g sk1@?CAm+ƴ`y\Ṟ cѱ[/ '1n$X,SBIi12h:ѧ@krF3ыɨ韝U'E\ЅүY[4VK A _.}ϛ# 'AA61_g Nܑ|j!K@KJ+Tt]i~$7*|](|-1S BC>V/o.GmG_1&mqZH e=Px*!AoOYGt$b=.LL=rհBoXB[Y,lb-#fp1l*_%$l`$S^gS;ߐhj ;'z =eXŬ suUf'|CKzie'Zdj~EнOV'$# bW|mWB P{D윣8ǦrU\dԟ_j=$c"6Ncf#f8@c}2R{S0\z*ÓPs<:h8f,^|+R-4 Ph BtHL/-V̩9&.q/QrxB(_?*fP|1vٍ/;"1l=r^Dfu~e^Le8-sj`gx}'HJ`DVUTЬ4,RNM_qJ~}8I͑~[UB?kة2@5o~ vk|L;lt"{!Zi);OPuzpo9}|{Amݏ$x~Up#?_yUUOd:]~I;1!ihnt)l=}H`|W.Oufj ]\{lrg cs{;6+&M<^BWi[MX#VAI<_k'iӝ`qONnG ;W~lK fBO)GȖņSr_cvDs_şA D|<vda<bo L`3b”E c^Jt^z6.=rIUDnJ+|[~%2$3ePF( v[f> +MuPcQe?LrlP. `y."iVh.B' y"XmaG6ǔnR/yWz_t>LeOY}k}<VauZN3%XzCP_z$mO$)Na6%,h:S{" V`&7MnLY[Uio>]-L?(4 "D#LK/GCkJFNc~AnȓNB{1 l P<7_CVKe_ՠVFkFyw0.fuڡH k̀Ĥh8,?/[+k1LR+۶}U%;X(j` D\kNs"(BN) qTG[J:ei 49zg >Y914-^Gd E# iuX`둡g~[OwLx/w'?FPJIYsϾR&g1-4.@szswNTuMCR)&{o%D=yevqKlA:*"-NhO]]3-Z BQJPT^H%@v0@$S@SPDd<.ܳfu0v|%M? uOa%$2ܪh0 aoEK PA*?]GNr'7[n4:t8+50qѽ+8N~Iө&Ph2E/{ZPɔ /3_ͧ^8eJ(}@ eH~%[곱,$8#Yk8,O0q}\1eWrjk~5>(Lш"'Kfּa]m870XX3AEi:tKCL^ ,[*;g=5jShG.mTC\>I3ЗNJ X4CS70-KtX)`mjIYk՜P}XUy;>ɬ^wf5z

7)yHY#L]t+CtmW .!AC4 o\yĽrs#@N:*fk:X/8]9̸Id9F{`ɡ0}Q6ODHsx{ IJaI͘hڰ&>LX)H7ЅC`@l0e<TO+ **d}7ˌOƝx\tslwjuIC1`LK2sh#x!v3&04t"8yn&UL IJ*^vcsD읪Þrkxoj?\dIQsFjJ֨HQcfr " ӑTo+DFjY^+CqCM"rD~Gv\XHLؕ%F@/eM{C/ D7R|;Eq= sA 76`9S^Jzh=]S9RC}t:݃lG[+4Q@Ify1vM/ȯhSrJF@} I.+"q[^4 Ajjsit+ *pbE#VM5,CfXχOGi\C,5X HX~ e/XM+ { zI/5%p"՝AH5 ZsM$2ZBz)([7gg kΐ87y_>?Z?گ`UQ(N1W@ɟoـepބ}BS 0n X"zK%RFRyBȢV_XPZ9q$e+i1MDrؖ$_1V׻2cS$BB2K;ngVI,.c2]d0i6u: ;XU ]|&جFZ4԰L{D2}U% l};m0snWH#ZH߾87osg.gk\.yEŤ̪ c7 HoS@k!}!GPWYN"+FNjݴ9DOH .nܢu,߮93cYJL0dmc"̕r.U kb vsLӱӬ(Nm{QA`1 HҷqF;G$8,kaXcʵa&契 42iѸ>yUś*J |nxS爼Qqح& T\3;–~$$q K܁vu@=P), Y}^BFB}kO}2@$(< *c{iN2 ᧻0d%^[qq" YB8\Jٹ SHxZ\{;rE`{6UBNVhW*vrOZ]#ew?MQ-UOK,)X26o=Zz41v7C*0ah8rR ĸ}܆qlF/, Әպrݭ [ 6nʆzS GyT0_ Av crǛ-ZXTD,Օ8@@H¥=Lawx$+7ĐrI̫5N7y1z)[/pQٱbCFbfEXF;׫g64/ ho{Џ|]p Iq#u_(둎LzF,a+˜څWm8ig'זgoUI`UJ;ϹOO 4O0/(Xɂ {* +q%=\ 2>3 l|^\jSkҰ4Mx֮^x:TcMiMHCi`~|R =-FY 6:gS^o9w:<ӥ͊IKnX'wzIA\|)YV)QD)ǵOV26*d:|E~0 &Yx[#$Csrm|hSG9kT|NggU+N;("UesthH;sef7VMc5-tb&Bσ?ŵY H!U }*!Ô,0C)?u~zRp2-5`&_T6 4d߶@,x/z0n1%"V)PCBFZز:m~Ekh2W97(x0nں])ւh*{-X3ߔ4_Zī9mW*„S]an͢OL't|Ǿ]q*jE Ij]CC7"$$) zՁ@io>-f)] :"o8|s%d J):'N*Meid$Y#4$j7dTY*Atmf0U(ls#[B6Tuy.n_ |]U-Il4mGkto`VCBFgaRql]6#=N7t<j21/cy;uP_M9@*-+sX-57?U ?9;كCLğ-~sk:W}TÖ"lwWʮ9E> z| ?֨j\!XY:TŖP){]Ku&px)NN {w8jB]CG ojwD˗(pgK|֟JwL uY]Cݸ=}/1͑L^_LbgY/FF$t,kmuK0Q,Ӄ8'e/N/4Q\Iܽ 嵄OXBJPTNg / ĝOw~Dt6"h<{ sU8C{~|{%[H.}}g9  `֍)R٦KVdqmo<1Cj#b%cj5yR֙Octb4^u1I;qk@C#GgpP+@3ɴ-^ԽhF0O]T@iƴ&Q*9q|ԱR.JRJɽ~oE-{]:UjQ9pԾ/tJ@Їfy%~Lx Ƽ^O$TzRCTJX2ƃ ]bOgm1WBtgRޛek)ILM.Bw^QP)m3e\y T2' maC_̋ >xm#NA~2aZ6Hggu1 {zNR~E0V )1vS0&fAHpL#E_; c3nek|4g!6 5(iٓB5P"JKlaj^R5sĐ? cIpp71VX"d^uʳ?ߍ ;#}'/GɢMfw|ǞkNî ᔈ×`-O +;. e;^?:%GR%nDw 0fo6([oyۆHze6_2t9"o=3 %HV_FCWnK63_JO%tox(c(ttmkӗ1 5ݲDžP]KidQT&O0nl,&)_.B\߲8ŭKw%]=?vTA!<)n%rdlԩJJX& -y+am[`0N2w(u)');qs_⵬L,?޴lV'z=+zr;:WH۽0,lA?xʣ-8% ÐQ)7ĩA$/kp+3 4D10V ɤFρ<ԣ <|e)DvΙs-;VfHVRݶyW F ݎӅ1QI U:޺x$KZ8Wm+  d<Ɛ7#GE0[Ȳشu)5fS9?$Wߖ o@][~Y}uU왌qE=R&O7֣GJGJ;gq)o9k #JfNH*vafX6**4 XS9mGflfIjx `txbREgz>"HxHF֔&TSQF Y"~qoVIcCI|cc lEMP!l$U]3e@Wcͤv{ZPEPAh`B-μ"_K B;\ "흚T l>W`'9 \)hY=7aSՈ4/UOPI\7 Oo!i_B( YD@PpyĚ3 sE&[|;BN+O}׺€)'257 L sg; O&aJn zUoR >g.96swJh #h\ *Dqwj2|AĈ"ƚz4Z >E޺=Ye9Hs5|xl_HvcB˼b❉D=f[޽?ryS`ɐ'%)ONJ*EQ4x)e8XV")S∶7[~ѰTOG;&@` ]51TW7.畃}9^|+MNzXD2S |]QOUPPs,I=Mp>FH_L3hHfZ2(:a>|hQč&$;_?xºE%`byCў0zZ [V3Z"~b<6)bڞ0<ʵ^S% اtYqY2rI +6*y-EKcfv,CGTm$.hyC⮢,`٭΁|,Gb,8W\@֝۶PQKԑ^1,VW&{%JG6s|X*ѹ1GwWt.rS$Bj1/,EvЀ <۠!c℩Us(YKǁTzd[^(D3zm*7رFlɳdl3wSظ+RIm;p5|x2A(G8hto_QDLh6N` h-„ XAiԺ{ Wg}Gx7*%鮃ciֲ] N'(ё 1oZaokkɋG8FGw Q@ KK{4/hXK]j{܆MԖ%auU,0;Vo%3V7A?6{t>_5αxE&8uʨI$1Ag=eY)|H#22br9V7?aק ]%-p5<ʼnaPYۛϗƸo"G !眖C8# xyBӚ@c MUo. ;㙬ǰ`|G ݫ$rPW\tCEkh?kCO)Oc쮑R[a8H#vW[Q|WR% V~k]tt{wg3}#Cjo^7Q0; -bTA-{d=u8f2/(qӑ@vi>lk<_n"iHi:ؑ_n *"R.`sxoO ر9Ra˂S4?Kˆ(T곧2]LQl(~lU`[FN/;cylik\8+AY`/(07å"3\,ҿ=&u夙\Bp%8*,(2h7-a7719SDPxУ #Ŝ.x;csʯwxñIǍD(c67:'Ln([[Y(z>iCκ:q]a |djBlz@>i**n QȔ>@eQKeU ރ]cCm ͔^dbf'5D5sS]\OZ.V=I_ YYE9KWA(瀘V/2I(T:䤬3Ѷ)(`.h8ͻճ0k0|gvonڤϸ<8/.w9t_Nk!XͰ$T{cިNH ?QM+K?ȸOlUh4La{ZtgꙧZ_`q=ׅSvx !ҹ?"C 5V(i~&_f&jջgNV*cQ^^A¹l(,@=Ahcb5oIDVӿd}\;-a=Rc[4(9aW^W v:vf(sFFz"6RL?Dqnz4Ӽ{( yI$?>i,8T; HIBZM3J ?]GԒzq\$l 9|MkRt;Nm0ɸP͍]i;5'P %ˆ0Qv '\]?&[\f~k뱊0CVr o@i vz+B6Nm +(Cf"'?%$.xbN鵠(wIYZK 8m{ۖWRSAjArug{챵>-%~酆3ot<œ}.cKʠ-y l3 Oۑ5&)FG.0Bubt|HU-8~vTq-kT I~|;an ÜpV"Xl.m?g`ZbV\鮶Hh5CRBZ6 eXr>Dᖌ < [T^w^#5gLK cӮ:W*xd5QlKOS )JlV0T$o;T/3q¯'h?-_R ͊5Enx$NԽʵE(oi;.%{867)uw_<˕ga_d=PMT"ֱ$* *UZ0$0 ^𚖱\YzHxj{7QBLnyf& 1Ѯ6BWdwm6~S~mL@C2e}PLz1REh73vh Y 28|'7Q_RofI}x a<,8GReX+/ Ͳd~xR :uιO+O3.LЕq:`֬+wy[: )Ю\J FA WL n{Gsw"p[sXǠX6C?#Tj ̢ rezvDT;C2Ysw.WjR4aZ]CZp6b%)&O@ɉםghѭ:"JTk~酜bI4MI!b)h25lﺔ*N$w)Y17 e^Tgc`-TzV](ĘS!E N8(D ^ ,J5E=~{t ϩcbFVGum8KT꘯RoPYsUH6Ph*o{BZB(! h>Ư_GgAiJ 8b5d$ѣʩc1]Rd1z*<^L@U}2UuD~}N&$(OM["d*G ΝU$xkj?×uN AMDi>ڎ\8rH%)OݱiN%n^ 8׃'DvI2 B QK`ӳAXIX6f\201Qg$j;fRύUX|oRd @M.sŬ{<^ICזl \k)Qj ) R~a&XԖ,c[NBj@\ 9rT;j;A\Gۧwܧyz~?w2)2P֜ S5kXTdoNAG~}XLAmGrl1{%BI Od41ݔSߠz*~S?rjq;z9i{+ZK5Ə]| "v^px/;r ) Idj-u"ߪY @ .ond 9&΄8b̂Y_pЬvӠOM=y&DXAon8gާiMB)Mɲyg/O>-ԀZ Z Rn Y5x1|՜ya2hIFiQm %ko+x^9g!/-fb!h`碓E^ܭ .t~eFTkҖa0ḐYKyO$F%g f+S1D} ޽mos/×Is+X7hJZQ Z ʞzIXش!}]T k% ./Fp$}LW6M]2,rywn >e¦_ ;6VݥW;[~d֑p|(Y\")[)3O*1L* VY*SnI3$C !؂N, Jp,-i2 d1wMSkvu|"=|&RLƣ$FCE|I`0b ~ G+Sw #=)HLg U cPGc1]W$3kRO9huԝ(b%OȞ|gh͐y_hxplAC;+ꑋE*[w$Rm@Ûy<`A.жgH)NQ1%T+ Ea;qގ$2[+=n KIGf^k& "VrgPcLrV͌c\VQS0^'saN ^xE]{ Z6egbv&bqϟuc+~L7Ņؙ~?Q)~2_f#U/?l'[uf "|([K6fHcWB{k#! B!s9G*[QvMrw?)|ypd9BްЀfEΨߞD ڹS2Gw#(~GByg^9S¸_L^nG! -*_TP!:=-"JotC9'0YB}J&f[sniɥ44|)CVBe[_A=ϯ+VS5<#$-@7x+S@wd}VkWvCO8@*403Zw #D/Qy &v`i+3Q Ѣ uS4 `T1iքuB.YM'0ߋZPֲ\OJyy.2C5ZBܣʣZַkU:8{VOdt#1[13x0VY93&W 8 ZV\'l/ҧ9_[{a֘OB{0<}Ts]!ɾ؀xxԊIRӥ<02 9 Z .OG2-=BI(b%Gi`M"K†^z{hB)9*/NcgLj8[Pgm:NU>؇0P_URB20a *|c0kJ^ąE %p'(2BwcyaD7=Bβ`mk cm [(J[@OE-rFf 1[U<$Ͷ)]M_rO5QGSΧ兆 @eUKE:HdCxzCF C{5Y9* /;)*8!dp6C3wg뫽dqkH'6v韾Ehi"X`~΅ͮ\){ss .o bn@RT?r%z,k w|]HeUEYj`c(f@f}(>!8(J39/v<>d x, Xv Ց:NǻG]k U+&bofe)В}a6?3*K!%waQ`b|j/"a5j/#?r'52Mϝt e@ʦhgbv lg4Py7@ U7W!tX?_xuŹGo5mU:}ےdr\bG/khmX]uZ6^ y*y9ycSa3`#pJu"188ثo3QBkF< ܂K,jw/`sFIYNLH_Cl d Wpb)h:L#c-Z׿L]f XmG+2mY"w߻ERQ>,0(P03EܷG`rQ:3?5k s!/xZ:`4&9" _27wl^G[ h$q~MXQ3.JD|l4ZyO}5\oN`%n;cŒ x\ *l}yxjnXF3#q(orgRSWƘo&~LbȪ~fV^`h0NrlܮpIIjU0̣CkO@l=Kpt"$b-Rg:qqx$"KO2k[N{rB U\7 =nkA[ SH҆}u/Y/MޮsNMlMEF@x&=?? /qP[T2*EXwzו539/Y%{+"-zC;8o` tqs .4d4ksZ9d/eba?_&a+\7lZf Yn8XT˚m"ގZt>)}XN~G.f5I{.Πʞ Kyo"F#m>>1L  Q. S04--:F e'bqBrHIa[B<"ˎnsBsb?cJf@s$94<Mh߃/M)6*?ܿ~?vg[Jib%s/ߐ[ZGM y#UyM=*v/wN[@]U0e(#'Z%\"Cn>K,J91]Z>q8+ s(s*غJćWt 8@_Q `ݬ/ .3SE>hz2$cX{NW\;;Jo"΋%P?k[=vNpZ;cgߨ+"IҠigiP_i\^%hnfp6g9خFCOm,d1Fk$Z:"y @=pns@7(Ԁ ڄRQs-~ M)Nn9K8HÂFR*5~ivSėOh`73k&n4jW]Pi^cH:1 MS33=]A&|ZM.{Bϟu'IHj̖HZkUT}_9d\~>hڕ3~-@LnV 㖮|.A"$XOТ/']!D -e/#H]9$+S?5Reik;6kwRupur}V)n "} }e~S34VPv-Y`x4"Wqs@leuB1K7I2zf$gr8B|80Ar{^DX)7dY* }Ai *Qܫ]I٬5eT(>妾[- G*Cm-%}yׂhю*"\ @d+|ϔĭ.V)d"ꭌOiRUIt-: BA ȝK #~Ə^DFxt۸ffL{==Iz"2{1 F,\J)Mx]4C<6ykPY6= `PH.8)Uݠg)/Tb4w<VYGG,wSW1k@?-xD׃qCۙ]bN*&+*~9NO Q-.ƿJN. BNBOyCf=rN ug0TɖR|6SeP&\$fHh(dא}'"̽ɋo`k|-P{ud^ #x2xcjHYѐrR6Oz8*ϰ _kr]qz$੐5yJ^s mrޙ.n-ZpZjW$g8%RTJ2+éHm Fbgvkݷ(LMnJqkTT3_bI^yTN0#]Smy֦2mGe" |F32ԚL#?#ؔDdk) {52P#" 6,b}_/G=Ot^iU |\Q)X8Qҡ:U=׮qU%0 VP?.\"QԊUFh"׬z_@Z|Ҏx5uA,Iq'H|>ldL`<&N5gG>19H4v F$M/_Qmge JU(M%Z#I2gN1NLű԰&=ɤ6%[07/!SYB,Um:vw­I_*pNڕ% \ĭ(0i2|MihCo*p0Rt-w!=?C໵£R,ނp;j"~l1K> MNߨ*)L v>zM ~~=qBEyKֶ ӐaBm,u1 > s C%xłNxm# '0ÒbKR>4G00)|q,5?߇{/K5HI5"gztF)dIi*O-Q v[dMb'<[Jͮ2y!DZmVM!"j꼦Ej%ߨW(KY(&&kg6Lhu_XŴ˦)jԶns.C nGW((axgsltfޠkw[}bIgl9j^ C9q&!~8a/!Lx'!~&\>6"JFOŮl{wLbjۈF?(ꄢ3+ͰaQMka ވP|-țU9vj$?ԦהD\,ڀN5 d{V: #2`K\?]T EjA i@ǃ,1E':$rLMKB]i@B@:&$7ٙ|d^Sn.1iӮ7_Iq.^a~:[l6hdEr2 |uc˟nחXut7?9>Ԗ Mg1hB2Ml4(or|zەu ֗y]=h?є`:TgEnk_mh_b)3þ-c9*ѩL{Ǔ v>o{2S# 94H:XRe92[A{pCIDbˍ Tsn3HI>'s+`mߍ@VBY XUI|%P C)HsZ;=dmX$ 7:zY6\ńr \S6baBhRJ.𻄶_O sjKjj=*Kǒ8F Ft{*9мiiq5uF:v) -=)۩F:)IDٟ{#i]b2p3't`ð4"-ݔE)MFrtiCMfCެ?3P_DD_H?W&/\r܉O6xrbOo4+sՂW2_,$| ٜ-3a[{^_-}o&ߕhSkƂ_>9QNvvsEeġ.Іx;mWp y?ZwvE@{ vgbS9B[iL1\vpb;٭ZI&d)ʱKܫfH֮@IJRD (Bˏ8ȥ| &Z3pzŃc>IV)u? -Z:}2Yq⦡h*T\k-?'22)tX:?fnrn"/>5(]L{U،iOڍ.ψWV.]Yq8-nl,u!BKIEq=PܻE,iacG#xF,~5%#W 09X_#_ײAFBe ymTa,mUэ@e9;gdT,.l!v $ơ) Į&?}܏C }STۧ?tj<8c$̨C^/80G4Xb.ڠO]iJ\*9׊^^U2QB^#3e]89BuR'5LHFmVEq,Ț1A3|CH.;R'2ujap.'V92x.H!{V7Ӻʬ+/miܡJ&ُYQn'zu{ͺXZf^;1L|7q&y ' T  Dy_{FrgEj Gw9}B;ݗre~ Q[=^tD{tQ6y]T'V5 ta#ܖf җ *͵D'C7l ͵|(x%) 7[Q|WP`Ŭ"3uj=sQ 'sEdB*+6َKÀMG9qCBs16!)F畊s0U^1?8։+ǹZ_oRI,:76<޼ Ƌ䄾4H8B>T`~Wr+~oq>]" qpVSRGr== TB27.0 rr0cl ~ԏ?c 7!v^ේ.dkaG). OM}MdO4g-tCFd(1εv 5l~3?\:?t\hkU집q[a #:Hsz#=K}ru\ <j¤vjzl7=}W*q*\ݿ5ɕ 7{yvëim3<)+5llp1RUyO,[Pu]x /bVAi~0Gƨt"|H ~.Zg3\k\y@Mt?Qߛ26(g0z;e;UFxֆ_K痿#W${H4v782KU^l-O*  •]wr$7U^MPϵoN;# $G" A+]4`sƻ10$%Ϟ5P7fVu0KG/hV+8cziԦD4n E4J`&CwU}Cu1fKB 񃞡 OŖ;[n opdZ.9\ydEEsS1H}+HN: һ<鄃 JetTJIU6o24_(1'D ?&rʈzW]:,Mj~f4 C5̋}X:`<\WA@Nx<2F4 []đi_ S[-LW7Jc*}3S;wC'7k:+VT]fHKPQ҆v}75نFTLGLLmTp5|809lA">ާy/ӼsXn %IT|biROnIeU.cbsDE7KY߲0Flf COƶwpMccӭ$nfzAƟ29$b|)j ?"=oOF 6|=0FaCK*#dVE m=AW nskn*K環cFzUdZ|3 i% !\spa[.DB{7fl.=۬ګRW2ӥԧ5ct& 3au+C1܅ze$jC7ɪzu\a`dZksyjNG?bxףp&쫉HR]1o\WYMuzLb8s4S_.8 (|?["o`i}J*v*Ts̘̐$%R}zJ/Q0x1FMԊ/-B }P.}&:P %VMY S ]8Fc'Oal" ~~bk[oVoWd9Y%YڃУ/"'>~r -87M BIҝLފ)"Ss9ֻkMT\'My0 S/Swo^kbNPKD,=$EB8VYmQ`(t m^Cê) 5#CXC婘k+#jYOg]Mdԅ,l= 2crEJY*tRP̵gh Ʈ#˓}e{xSv]v&ԻM 3'l&I0ZՎi.-]XAI9]׽R]eL]ىؠp 95u.aqiP!_}ko)Sg5ND,֑VS&Н Wn2xl2{@z^"ۇV|#҈5}9)hRٮsG[rGDTJ]H㒵kJ6U Xi.fhb@1wFM7O6ܐ%O_}CWK 'Ay^SI9%?AJ"mg u]lW0˹lgNYa`^6ZV@AXЫn7>Ek{ {/x?DhMmr_OǴk%2/z2n;}߾BIY5ؙ .;TM?s IW[lWPM/s^˹ J5FTDkqAiV%R+? Y7o`рNjpA] g0AQXTxW#63p-^EIdFL|lqY7Ii {^0 }~nr*6xEG@912cyOhq(6ЬWB}u=4piά$n']yqAfΘxD Ckgد4GF|A箟WSA v&pBICzRR,_4\) +O՛4|9_y DVJ^ C$ϊߔ;P`=0>}Xțu2=k[{8(Ujҋb" 7u Y^%_<\o#BV?zҩ'卵6"!L6$P's~k*j9@~]BJwe60bKimDDU%p:y:+v!U(GVVY9muP†γ ZEl `:_%e|eGdi-ʃ.-5i.8/G\mZ}Vzl`1>+^[_"#%;QFhYN䰘IK94jC!η COa63Β`6͆NO5N;+ⳓ%X* c(cEsS51<%eA_e}Y3]`kYZ34 9ݔ]xwSѩ| Tr?NGe9Ô.g^'E+K@*}$yb~+QLbO9Zwh5'FAUƫ6LO4uO܈+B#n&w[=#ּ s\qhrk0I_K؈%ADy+wr),%l'Ri8+UHdP(#<,t6A\K̪5܏^߅JyiZpId8i}W%E0:KG"u*@cS,өNAM)GHD+YLo Bg>H,rc&e60By'=xG+qR}Ip/b|dqw 0&t!]2F64%lk(LUV OHGyc-l،ͷ6ˍރwy~N,WuV<=cj"y^V̘+u){mQ x'd/[>)و-T+< ?^A=)w;0N=@溃Ź*2K0K`!Y߼emPg)Uu-B9ǞT3D~9hq>}tm/nv'|zWzĆp skIZHs+Y݈l1h"G+kŴޗ]sSЕl.lu6 Fݑ5aȁYeΛ5Zz%; 9,n7I V'55 Θ`㐈+{oKםuZ nFLL/YgoÞdߺ!>$tǓN6aOCi;/_ah dyM+.P<'bd>a8a\&SwK9ֲk`ꟆF'Cd  P^J<PV_zXg/x-><܋`Ko12'Wȥ+(E\ 2 ۮ7dr5xGݳ:+YF/ m<ڒ3r w{G|QyPa =~He2+ #/>!a6 ˒`Nz˘msSN6QcAs="g R4:ӛ]nI7à#&$ ӕ\Y&dk`m~ #7 dpm 81;%EM(\!0uͽe%Q-Z?6(1簛+N|_-M JWoKiZiӻ-OΩ$!q$ºS3uj:Flml*bHZ"KBBή71NRE9Ү:gkzL8 BE2Ir?g=sDk;?k̉y0ȱԃ(skR) ͱ*)Qoj]OL__6W=oHU½"`^Q}OI 3 ZzR.uόSYyhaq`Q #6yv3;O^%-)%kp`+Q>&|[OfP{eXsIcS$sAo8{Y6U3ɬLJm'› '#?Ke=@Zmpfl}2xL ׽S:z(iU7ڷ} 5y)r+daO6м}NA$Fڳ6thDțT]*1ˎ&m8bYb]#cr+AX~Wꀾ4H10$ ?ޗ",ȃHPC[(CJ`àEO$aY5Wr w"YJd}?tN͏ώE<7n38'0O\*̡<[!`j*B;-Ѡ&(ɋVs Ћb٥3hxu`Dk5$͠YvrS+YBnA_`TYPF}/RD~@``>p :#0o+/q)7-'TtߙW5ALJ͡sxO7?@F*퀯SraHEr6=*1`_pTΒ7=ᖝ :5}Jӓ숉5W^ ZYl[~B!T GaV']ƤÅ=Mˍz@j^F9b׉RWBGocH3YH?H"qmoͮ/k!بNjv Zmˠ,RbQ@BB.W:|NݞjL7Z&lG̈́)L]uGز,J7j&`I[ ϙb쥶P.eѳ*ǞG ]_V@9@+E}ԡڗe^•Y<St FeJ߁DO`5Vu25S,Tk,spk=\7c*ɝzz̬R$c@7/͵ԝ6Nj,kzˌSMjeU#]kn/#ڂ]Dw2yS `BEL(tW%bW"<$ g2ϜT_\]3[ݢrS}@-mS%Tfh$wAtU˂ej%0= =&C!0b轌hkryN7lZ 5P2~=euEhBzyn[UBF&C{P- k]*; Aѷ aZ'_FN>Gc_ jCWg@B 1-S\N»f)8_ndžM"7{]؍,e36a!fޖ$ї_[o\"~y'.Kb~V͉Hwۖj!Br͇4$0+ ` W^f[.Ȝj,nYi;>$#@[a>)3y+QE1r=;Ņz}LTZxTA,۟}!d#߯ܛ~ϱ mYjnwVUl':0:.QvA~fb.Jbן܏wksC}Cߴ@g:e)ABGns?0Q;o͔ [i<"/?Eo8 偏Y&1cb- jQ͏2~qL$=WHCEN+[2%.<,EIkAڂ5,bE-63oʶBgH9or3J݊rEKłw;x7E[Cy`񘸴0}ńX@J:>rg.skZpT5XڙX^T__/Be(? "/N 3%%TC镰1Guަ$> x?iTs^c8`pD7Zh,&u':,~xla1J2dg.}ͰMFA(㌎436%\U'{LD2#_,qݠo fۄ PPp SBv0k1 Kw^FH w\])B-"VHMyO CWw!aT0C)A5Rg;7qP|7U9Pkz3ؗSL/?k!Dc4J>_nWc魮!zl39D4'K7g296VEIˬTaOUI mn}ytPEzaM)+Ѱ+Bp"1}`& <ߘ~:051" ܫ_Pꑛ)#iRT` !5؎{ӧ11BtY4\]mHKVh6DŽJ[%jw83Bk]q'_R+Ak{ S\eSSD.DhG-͖Zwޒk_ғQ-ݏzMnV(GE> ۫E6{$Q(\ 'L{\uք&gMG>u@yI$nYMՓ=`/Mx@cXQcZ5Gʢn.'8W^Z q4 Gycj~='۹*3w{9`n2q7I@'N=]`[YI;5c bNLbE~%ߵhZ @,ڸX'DCzS LxZ9ZS $+,soCHZCɶMɸ,OòIҘOkz},izr6}I0ח~#"KHpu;zfw!v4'ܓ^,lMk5>SrlH0 r'C,?7ȯԊ^mhV؜s`Byw7>$<7kG`Uھ`vW\naOQ?XB/j,Ë>ֆiaX,<PRiƒ4v!/wm' ,(ӱV%.g>`-! 3Ǿ/yWs} yIFЧ+///Eԑ4 5$dlD @)&ʾΙѣB~aX RiqW|cWFׯ6Trl$јC0{΋8C Ն1*V^E:-;_@g䛺vY.v:20(\ȃŤsē&4t3% p34P>5'Tl[DsJ t(~V aM*eL H Y/9&C/c;e-Q<RhZ<A @b[3#ם2E1bHw+`=.…h0г u TN8"̋>xy I̬SB|Ş58t&^D{=e9or~kw~d\oUOxQSk>/bmw[ܕewG*f+^Dj` s}>|| lHeUODqt( a_ݏb-t1Te r7p" Yi?%%HLȜ`2 5 'Myh&־7%b)5@. g!S#=-zÔ4HHxksF΀<)T%4wpЌnFAuۼđD\/ɌvCu2D1IVsL7H=c/>sΰiE&o ӫ>gtۉI)mng ^fh,Ɔ5dy%YWFI8@0?Q"aUoʾ뉢lc`8b{!_~:#u;Re^bZ)?wr,ۧ4pkbZ*n i*!7]婳Ld$?".x~ Oݵ(n ? .H1 IqMs*|C>O;JaG!4vCG=I;ۢ$Mx|ZAB|aE=L~"חxO+i7z%!FghiM$wCD[u 鮽75.5}qQ>7 q]"w}f"oJM N|60U$K*\c55AȂ /~ajؘ<{g]$cSuq˽Fi=A.p1&1SNg 5IEIm'wY/d|bMw[%zM68*JڑYk,:(˸u7[=Tw7Si{O*ʤG}ZWQ8^7_Ufҫ}>v7ոv*c0C7QC45ut`7j,t{m%a uJG5=X >pӅˊ\;O%IcotB2VH^싮z on@ 9ud+^dg/-A<}x{bnS M*QHWMƦQU (?U%#i&XWP܁/o|2ĄN!S:Z.Ճ /,YS[#YQ0)47MSd3+nV DSt[uswV,eH{G6_)խ2(VXu ーʙsդOw!*jҕą:"`kP֣}KIg[Z5&Ƶ3HLHnE~T`F0~#5BCV?"L2ߧzq$~@RYL!͗\NijFcaj6BW7{Ey]fA0-y8g]Ə^'D߁Zz ڙ1/ߢd_~;/YO!P_ڮEG<& wlz5rS/`Qא% `x};h>-cH@8t%ޔf1țR=8AYշomds՚7_cZ<_DZՀ 8Pr#h,4'gϛ86MOl V0=R{Yν #ő9ıa h41B‡P &0cE"tRdhɇL=~q"sO?i+[.ɤ7\P:6tΝ #-]|,*VM}?3MK 03%#"؟s09R+^Uώ'ᾔOa&[ٱ, ehꂮ< 3sItxPD}wk x.j PeYYf$V^ !7ǧ zj)pbvp3H#| WzYgt ˬTP|+A4I^O٦ꋺ7 pŔ}^'CD(JW,4h;/OB2RްBҒ4f:#5l1ƸI@}\H˶63?=Ê)q(#u~=6/L :39 7E1'2FܧAnn؁5גk*vSf%EUsX_v& )(AcA7idzb}j[u:!Fq.Em,-W]b=Y>R {"?gZX:p,;AF+6T)+|Udw@sL8If[]~(bjYl. B 7FF.S΃Eʐ0X۰FLb>F귄:4d0P/P&A8b΋A5^r.uĩ_~SQ_0c uavqm$ޢ_5p2 jZaHqVs$+ugưOR^ЩMoP:D?Xp]qh4)gpHq:h4ehQ9-w} U[c1?82t_Lky)V}8)F{P`&zCK˨r3ZV:e#[G$0\qrV3)&o_#(qػv=J )R{q)cżB:ɄVϢA~lcTq$Dζ7&nQ?_ʍV9>N})?>B8$-.?l3~PR<ˣBC(-u|2q$$)1UNg*rۍ#VfVHq|5CBcLM²d##N?{#_`Y$xK8=Pjp|)qփOl7T-9+89o=W<x}b(a8GON~dv]H{zZ@p|1'i8FkloNF&S?ʻdufMuU'&> \8 SUϮ*ɇGry@YEb ~x$"G$c2bcXl6; ڀxoI4T)ݘ6A_u2 J"4q(GCI{.kݗ iW? Ē@ 5SqC -/Ş-v{ l8bmH#XC xV m'4,gâlU nUr2@揯L5nflO&.iOXKv~[D'뀋?gݨPfoҍ)Hd2GsN q돭}"^w'Erb[ΊDymqVi nn=7=1zɩ6:7-*`m8Scf#aU;f)g^2pC^ё~278J Ի)UHBTUϑtiOz^xP$c .Hzmw,'G7HH~1xHb &{ϔއ L6ƣ܇K2C@RѴ فS@6ᣗm{oVk*8gHu[4#KqҼ[!~=벁{InJ}!a[w-+7GnF!ʹk|`u!rԦ5]+QIZ*ͦq:~7? Ct,)kM{cvZr L(¨J-9Ax^anbr`D,̪=м nXi&,h?ҏ1 ȴ=kR$*le?.7%xP&#p]CGVHZhQ [VLD{i_t-N[4s s}DWKhwG^^a..sXG_]Bv|ٲ5 홣TxIZBb%ڸQ[hu0}8ψ'-/'}A{ x?WŅ0cuՓhA{m'Ls!H,FvHyxWݨ +O&8HV[t;2ȑG5`rצFUA(zYNcrDPM wWB @Ctw|<'xPJv(ys7iF5^J⹵8ܦ63L(# {{!.({fL{|> ~ dӘ[H:jJ(saLR L}eI<kNc| .z4.E>tx$csj&ѕƹmyog" ad̒D=Mǀ}G&k"<?AIۘȬ8CG8D_&ӔeZ}1x^>gR9o!qh|Oo \&Q,<}cGwz`ۈ,=|CUfSSD~) , ~4nN_PI;"V sщ ?EϜ"@zWZŇDTqAAH K9YGhGx"C5ʾ($4?迌آD Z(?į͵J'$h[rp}4v^KRk8S9RŐXh|?Htr~1@C^PO|Vn;]djɮ>jݖ%†+waiE pT(b^urdFCu<?>|)*5?zPDy _g|x+J:(-jF÷wO[)F9Ei9 u`H#P^;$%tNm Q& '2yt``.ZJ+A߰"}W8qRT{g5sQطc f7ꦮYC\`,=nm`9B5+r8N6E]=4nC.\QWM岴ljq˿r!ȉ/8ƋT·x ';WW뼐SIq?G/Rè0 5w>g3 Kl`ikS2j@qpiUt`ѳ$K/[8閩-R3Y:kIr[ٽ v(3^D\5 sff%#.Gksiw>Ci-[oy C'//03:AjsUkU띀+M蹉8=)5K(t+_d—J[)e.u"P !gdmn1v[wHٺd/%|^(ɜ~'1a7۬bרg쟱=kepF/U8ـDU xdӸkZW(icUo].ʸ1_2UKئW kçE@u$!؇IԆ`v(tNjO fo +^A55ݦGkmǑn&@h'Kney)8Ugpq db~|a/.`5@2}_b(T(r<ɋ)Ѡ^(b| Y}}_ [ etY\g#tI Q,vհa zHHݟť8RWjp3R)<4dm{wxAX}'Nඡ.BbƭL(IͧQc8Ha",A@ HZP}n.oħj:,udGjE2cqYޖccf5mĐhllgp*:;D8gŌ,1CIU!ܝIή:jܦFW-̶p"p9yNrי\F>3>d>8[P']Cژ+VCj|c t*Dv{,hv~ѸypuJr>UA P(n-Е hkOӣ%{h ֠(]E=TR:]^N 7ҩiQ4F3_?$ *eMb +-:Ad\qkg $rĔ+1 );͋ί4*f ٧a{@+,X~=aե.c^V{D귂o-?/\{ N~:8%Oe8(koA{My8bJqLjٖ0? |wOd0og1Mp8 ]f:ya0]|㈨ൿ]rM,컏,!VdeǞJ._OvJS42G"R/et Oc?/.cCΞo3t.r!? >wHO}'C2M'gV/ry+4t Ҧ _5Q2Uk&DH+ރ+BJsџ#b ٌ>LbdI%{L<3jYBN e(;xᓬ(0<ӽ6>,^$=.XQÆM MdӰ'w+@6a_By6[Z~q5Q3JAݏFkEvINke\ߝgCG<1Q lcU' n;=e>Ϻd3_=Oɠs?7X|MBE(xI$q}Meć;#E}aih5!#iZunRmLSWxUkt"(5kxU|تjZ.=]¤9 /^+W/!95}cX]mV,=W5bǛdN:0 f ěYAN #+MSDxKUwW[ t}΄}rZΔ SbK(KEv)'Bnpܷ/^4Ά^5Ƒɉ[KEM{o_ΡiZ=-(oϽ>z@/6<8g&Z b7iF;dAS{CFomoeYMV eZ6ޓX:B2i(ͥ16lͥ 0eKa^lyHSSEÈ,UR;ar `ύIb=x?’ Tjao@/ւUfxMTS_&Iq`EyR~1,x(/T;#|݈꼶+i㜉h@S%  :vsOκV|uWw9a0N od3)pg/^?/nQeXRP[-q9û7΍': 8O敚bY} sfXRH bF @PzSR@̙#5夿U;^خUwe1Z(?eQk``%$|ȭ!(>IؿFuR1"k ;mM4da*Q d,l5* ;cc:2 J-l72Ej p$ABᱍs&Ϫ5><0wa8! JsxٯZ_ù HJV3Q=~^igڷ}#VCt6M#~x/:E0ގxgޅT6Nr4;Rfg8AuB!J@b,6TLiDBӉVqAo:>b}Pϟyi"1#$5ą[cֲcYe.W rϷYky< ;:֕7KӚă1X=d+R{kXrCDNCnlj~t"-^O$^FeBkg'cUO)&{a=w@PEK)kY~wjUj[A飑P|' QV7Y !Q4a=v%n"*8Y85Xo/ }EsbɧS|*/!wi3)AZq +.E/ _&6~[7[RFJ?J_h w2 /g)2k6"R:;LI~G犊 G W>Q(@$K'oHۑ;ĿjqR *˓}=UPCD `__ψp OFٔ_OQ9Dz׷.#(6y'"!Zϋ@qSŴrIi#*Үycۗ QNܚ12Ր-D&D-?V$*$^v dX$ N"u:M{ynG+0nU7}cV|DRXi_IƎ wzӪ\a~f, QnC XLd#:i-iВ_O.%YJzKW72؏1EF Q.c YRNː\G9eM1߸ ?-ntSqGѯ ]<ý0ڭc)) &^rlF~ȲsT^| !j2qIF3gŶDTA= (i=Ld˧6`kVV% 0h#тlf(Қ:ip͆Iuw=ŝNÚݩ:\ ?Lr^H1$V.O!sȰqM-|\T*G%]5Gsl Os8GQB9[0"aUQ2oAT$J2<[0D>Y %4xC5TI ^|K5;kZ m ܤ7as]$-bF1xH܏f8R*TRqe=c֪[;*8DžsuS5i@ێ3s2H)*b+ŮMڜmVA>ݸMw֏NRbŹɒ{{.%ᛊVkO&;\517j: Ѐs|ˬ3dzANٝ^Ov-8; cWvBdΈLTkB^~L}2k&A TvތNb28ܿ ~$|48‡>@t1A+yZK< ace] HzXG/n8@C%Wzkg^BcH&( /:溱ni܆8WzE_1cJ۶)t5 F&BX: n2aM{;Q }za.dA]9 mY ݤWCs DXnx,`VI&'+# MY((wRٮ_JhV,gB2v#Ls*OmpngjoQܖhB[ii;s0KI_6ƨj!VbslE£/Ү譭3@8`!$hZU@u* ncwvvٛ^}:^5Gjz:`rΌԝaN_H${;bn@ uOYϤ^NoqP[r tI 6~lG=URuYQQ༡iBRA- `ZDniY:s,cLjYC*G> R_@.#*ν;?f?~FՄTWA b6^Zi(?y5펥X) e1uCk &5$嬼B^X<`͈O]Ӫd;IK|tF Ơ'ύA9 >λ/M}KY5g:6=T70OGLYq*,G*!!lq]~R+GGR h[UT{dfy<ڈR#XQz9ËYPD`l8n"*4M"bxh8- \t!us*4ٍȺII:`Zn?ˊhSү{.F ~Sr1ȸ9 _Kyt:=XDP%dkch/5F7fk;H÷mrRv(vRI(x-5+8"q foXy4仔vR6?"&Nۼ.z`QZ_`$6[ iYs&r̬*nœ3zǐVp`=FZG'F|!\e䯨r#`,?'&D,AN},=T48.`"3'Qh%QglMޡ&՜b'qۏJ5yJ~PPa"/}FyQ䳩,me#A@8" ƒF!^G )|GwpXⴎA$ωsN8,lE ˏۭxs4#kEՓKM9'nkC4E`❓*a&{J_A26:+b-#xL̉m)ɶ YZ