strongswan-libs0-5.9.12-150600.3.11.1<>,ԉiqp9|bBL,#|+("NݽmÑ+&q[mz^Bm~`~7դtu}9$ F?5֑ gW9̏E|7IǪ4\^Bh|G]etDZ?lYǢD~,Tsig 'If}G2Ab: f^-CJsM_7uyE3Zw5%inPF1)M*o$0z>D?d ( L 5Vrx$LTL  L  L L _L aLgLmLtt0Ly`e<33]3(8,9,:S,>@'F6GPLHLILXeYe\4L]dL^Obcd>eCfFlHu\LviwLxLy0z@PTZCstrongswan-libs05.9.12150600.3.11.1OpenSource IPsec-based VPN SolutionStrongSwan is an OpenSource IPsec-based VPN Solution for Linux This package provides the strongswan library and plugins.iqh04-armsrv28SUSE Linux Enterprise 15SUSE LLC GPL-2.0+https://www.suse.com/Productivity/Networking/Securityhttps://www.strongswan.org/linuxaarch64/sbin/ldconfig [ -z "${TRANSACTIONAL_UPDATE}" -a -x /usr/bin/systemd-tmpfiles ] && /usr/bin/systemd-tmpfiles --create /usr/lib/tmpfiles.d/strongswan.conf || : L3XNjpNu% < Zo! Oa[fg)q!h` L8X X C$   p( p` ( 8p ((  p  0$Ppp@   X P   XNjpNu% < Zo! Oa[fg) L3Xqw)pAA큀AAAAAAA큤A큤AA큤Aiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiqiq0a043e77911c7e831b4f5e155c5265749fbffaeef9e2f91c6115955d27fb62fd693d34ab5bce20b358ef4745b5bda89dd3ed24349629a419f8853fe8fc89aa04523e90fe53bfba3fdf7abb31862df9dc01d12fbbf0d193d4a68a563626fdfe644f937794c9642ef2f38fbb4c166dfc4bee5bbe032db5c402c1d1e469521db0794228279fcfe9eaad01ae1546a0a20760b43348f3f340cde9483f70521a03cdae8bd9a074a1f69c99b9c99d1d67894f93033e0de1148b56378328611730ac535feede7a2c856d211d7cdf6c640205ff7f624a6788c3341f7861703033fa6ea632e2aacc6c685603d0f002e051195efda64369620359628609a4ea8d203a91464c216ceafa2fbc641f66bf5d432e2d32e6b4cbd9898bf581f1bfa1952819bc19e2de5b1352fca26393787fcb9a0f427890750da799994b8e3e2d7534771bb26fcbd19da97d486de5635fd94fced561ef14cd4b2dd086dab7b20078a2fca78482045341de935f4d6c7deb35015876731d7f6ac6dc04f9a94433b514d6aa7253f3abe43f0388bdfdb6261e2a687a48544b2180102b4020ae29ca56c5ee48b07683f052ee0931362b04f207f04c559538031d5a98d7515e7c6ac5e67552959ab072ed96462246ee685cb52bc978bdd21ae745aeca2194811773c511ae4f361c1f731f9b9d5149d1bab38de57f66507b210fb69a007a2a41076301b3f512f04e6129a5923b8da7566f85cde3225285737685ae2999c06085bc2b4f7fc754bb756d69d2ed6bcf981ae90b5f250af77953fc02ab866af983cc50f16ee6c67251f693289ff38db10ce54bc19704f180279f04a2ed0ec4494ea2b1bd95af202818488c9952a62c4cdcc8dce3449d3e8cc2a54ee76c1cf7f5d44d453c93fd3c171f40414e2964d613715f092c3594daab03d8cb9d4a5364856bcc79cd62b2ef816b2b9f7227c634b2522ec7087d0c95832e840a0f78eee04c928dd15fa68f5fa2772ae4938aa69be0eb15914bf444c45e9ecbca06ad2f797ae44610c21344ccc6d90a088dd0f777ba568f2d812bbdaa7da4173a5bcae89feb7008806994efacaa8355590059641678e50a0eeafac556447be3b77bb3d00910c0b6645b7ad24a4b586547be1036aeeb72f7b1d230ec18b7041cb487627b930450a69eeb2c84a41473b2cfdf7687cd3d6e80b5bcf906231975ede88eaedf037e29642d37b88eb0d2cc6cf4458cfa2fc6437eee93117d14a408c3ce9108d46b652cd9b716143589f5266b5a71a16a4d0be5f56ff1273390428f74be3457a8b93ffcf0eed562170bfb01b070b07b2e140b248c24ccedacddc8a12fd4633985478ea42152473f57a414987848d5f4c796af8a832453b4e6d5291896d145188f47a335596290a86d4989019d4876ae508f2314f836a8aa53d51161084a9d08c94a7b6290048bb8858677ba0aa9b566e0c628d3ce24f9c1f719e8f304508d029b60c0fbfbbb0106eb0db5a8c65006e6eb73408e37717d432eb6e2f3448a67c24ff4ba64d81cb01bbabd48716760698b1353eb2b3322211acdf5d226bd7385640ae8479407a50f92983c96f7a8a4e4e934c72fe23a96bbfc0c413044061b2a5720006036e1973cab610d98726329ba1c630c4597a8badeb621bca71df6e34967ab1a60fa286a4d1b8798320f64f389997339109366f7cb2ed5568fdf6b1ed0de1dcae0d7717daf7b389a1c2f59b7d4fe1f23c407bccbd5e0c9baeeb2cb4f96d7649e79f26e744d55d7ba38e3518f0ca46f8e2193b238fb4525a3afb4ce5df4692daf440f6b108b0957cc0ea2f7aaef23ddd8e7029faba9f030c7af773c25dfa08f0e3918d04f22baf463ae1d42c1ece7e9dc5a1c0cec658d9ff1f47751fe8f2c01629899387229b1fcd8b8db97a012e3597672a984e5719653557a733b1ec48447dec59d59bcb987bac5e88e4373150d93f1897abbb8f05cf872659dc936abbe7f5fb4b85263c026c8c842cc740aeec00a63b46bb2d9216e04660a8e3421a37d191f1c00063aa1a331fe16c933e5ade6f07b1f650e3258957430207ed716ab0c603f0c32a22d5573126380bfbac15ca59efc489b7fd8d134b3080b4b1f7151672ad4f74364bc0f38ee6e947fc953c8d698bc1d9c730f26a79f40b767b90af1c6e70595ae23aab5836af58fd09d375d0084eadd5ba62dc9ba36ea55920fbadae570bce8a27df5e9521391c0847982ae3425e00777722d6996497705a62a2b370ed57172239d361cdd96ed85b3c2e12027ad15325bd6b5547bb4290b5c79471073c09c5b466e0e1116ab562185b69b81980212115621444e755592edc33a129003e4b848407a9b0fdcecf7f286c973f340bb7cfa582f1ab5231bffdb5c26fd67a91c6f1f71252bae10faf256d5b61bfbbae7fc7da842f11baca0423cc837c8c38a22c76003b5ce0cf0b27aebbe00590c9f9f8814ade7d1ab8e96a35fdeef5e5671e0bfe58952d491dd8727499d47b9308e780289cffd41740ce2e93aacb757ad7a47916e9608a8b4dac75364f5f519e2fb368d854c71772b5ff7944f2ba44d39078db6f359e76ce99e7e265614ea8e08bf8db1fc0b946e9cdb755388fc7d9ba3bab6f1878a9da33e68ca673a55aac60306cdc4e90ab0feb2f7d21e56a78ab7e25a71e7357c4696c904258d9ea3bce0f53296033afafd1df6b7a669ab0893cedd0d02b2477416f76eca3afdee32160c9024ccf44b258ccb50387e5857326f7d409e9cc577a2b189e92928b3637e8ca103e10d3d617f8dd04fb4187fcc734d14b65aff671384b35a966539703e8296c8cc34dc55171623878868387f213ad56383dc2eb335ce2801fa47cc0139ef23c604e0616baa1afd3ff24ab1e70524fbd092c558fad3d5a4728e08710ee31ec98abedbddfdc7aaba0439ecdaa532b95031f55e7e7a096725af27e75406ceda5c6c77bb1ce442d1b0a183932c1a63c9127ee1dea30719eee4388404c14f3d56f36c9003733412ce60b190b028264c5039bfdfa8168ab23b804ec38dd546ae5e68d20049882d48fe43de2bb9c75cf884f50c8c895e9b759896f86c896fe9bdf123e9ffb6de71f8992f8826bc67ca67191c608ae2f5654af61ad948b25615d4542a9fe9864be94f58f3b2e7f134f65da40aef2b4f6079688f7879eb51ef3f3b4a1b32d93c61e7093777734e1ee6168bc934688215038a6c02bae294d13f77d30b964526688c9ae90f987facb99671a18ecf2cdb33ca527e15a3ad94918d26625222b283df3ad355a9a8723ec1c623b5ae7147998bc0e6128ea28f596caac4c9a83addf81b149f76469a823ce2d06b22076c2610373f4cfae17c8133abd11130acfe21823b941bc9436b5164766d743c4d6f0a1d3ba04afc8547a6440f67499bb163d5c498b6f14653a4075b7e9ad7aee29ba45e861e97fd2a98f73781508710f1d825e23e501bdc99087873ad65cfd9e925341b4f9f47c1571d3d4249887453f17cf9b59dca30b7266f5a8e5a2c5156581a52b9d4a807c70c91715bc00f67f941c6811c2707a87854ee75ce8f49db54ea4190113389e521a9ecb569cf4ef053216ca18c295b32a9bf2fc3865dd7051498feb72bdd574b06fa174575976ffa1911d93f863ec18d3c2d9c12c73449ddc85fbec1dce621cd16909f87e5255dcafed6fd3ee9ed87b7786cc1dcc6ac0c6220ed08b22fba112ca95df3fe3812d3dfe6eb0260bb4dd6df273ca748f565b0d325a55d1162f9b5519b4e465339e8e3a478359b8e52162c73e54dbd8423a836cc0bcad68f2f9e78f182fb6c6e1714b6438ac3b9cad88112dc981b741112908d2f79eef929e77d792fd524c4e49ccac779fc7ea2c886ec96b907cc9b633231893a96eff89e7732dfa2642752e277cf3fa3ca456b92ddc0c42365dc5eb851f6a45c5f57e0515d0658fdc2c6f422f6f7d391f88b007d1e23bc1642c442c92bc40f4e6f14aac930f0781e40849c5ca594abde8d3f6eea6b54501700e1ca58851c122b3d5f47ca93a36ced5af12f4e423453007a262eb7a15c2344020b7fd64d8e41942c1364642d8c4caa3a187e38c2d434d053e0d1f3d1a0a301d7edc23130e7417d1a0831f0fece3683862d81d3c548865d5ebcfd6673a4331c85ff786010e47c601d70e82bf2981daebdb71e8bfc89bd9f5aa2c7173530c7b503000db4765c16ecf6019a9565ea3c4ad0c9d1a6bd7b45728354f9329296210f488f7407a7888c925f2d8d77cdd68695ab8e96cdbf80ca9e6cf3c363ae1fdf2683201de93e27680718e8c373200f837c8524bb1be8ec1c404067676301f9a0279fbc221f2ef924b7e72ff75b20dced2df99cd2e1dccce5e17c995255196e101bfbc548ef119a848bd6d1dac1c893ba935a9b4df14a09b6a11418509294f17e258e98e695c5f62d6ed61b9911c1a80f451c500a2ad34b6de60696b16bac38c70f7227d05c18455e908d321268c34c0c1693dc31717037db273509f039caa652023aa3ee63810d6ca4567b3520ec95dd779f1fd354ffff5f2f15d88ee17f26d5a96f5924d4568097860b483d23937cc83c7f869a36ea0d2dffd23920a0a8b6a741efe5371f11d5289cf50499e97e2a4a058a10c87fc3ecd908ecc0b7f6557355fd8bcc04fbcdbc6480267329e327b8e0668fdba2acf6a637c26cd3fe24cc1bae4c3e4f8dde1f26f99c7b975041a8e64a83dd8d67ecf14eedc510a0a5410df93d3695a90cc5f58c454135ac0b6a86a92eded8bfd9b4725e857f228ca1debedbe55074604c7db02cecd4850a51cffc3ba8d0223d08e441e8410175696b1d00a22891c55327b2a636d6c7eb5c6fcea1809a00240b21e516bc6abc308fb12b45b2d5cecfe90740085c1d9115fba456f5b0bdc40f9dd274375b051f33e1917f78c7c81e00f39d2c1029f83f6ee01eeb3e3b0434168554e3ccedf4aad6a9d004fe81833808f15f7daa068440b9bf409c2bd467c490d631334e049735fee2169fa9f44bba9f98659a9f7ee94938b64bfc554f07d792c3869c3d8653ae9fecb3361561e9d7abb2451452ddf35ef69d87af8dbe1d334d1ba601edf19cfec8cd21ef5522e3ef8dbb38d7354c2a74f6ed5afca30d3d1ae111f015ca89c7b5eeea0225e6bbec48ef6366c6b6d4f9c9874d1c8e3abe19a5b05b797e4afa03748befd2eb99cd03b79ad7f505ad1297cf4692afcce26769780e09a43645b02d92f200b51717164d432cbb32d67ba2d0592e30c111bbcfea7be42cb4cdba17facbfeb1c56ca9eea792d2787387e1273545cc8296969e0e90b7a72d4ff965e0923e045b383d75b2d85c42b9d72022677662c2b8f101a0e96971c466ba7c596d4c6ccaff75d54c6e2983d914fa5a5444136bd18e974b9d7a6afeca0acf9bc38a7124723a932477eb297698b36a23188bbb7d33547d6d334088a888a185f5c289e25bf74723ae88bbdb1f27513d7a4d58fc2bf94e27530d0adfbe77d182c399f8123686a648c98349510f8541d034a32eb4ef4e10a1840aa0e6e1ca938620b4fa7b56a8e67dc0193a202c206d7ff8685b34a938af088b8c9885561a264664fc789870d23a74f7cf13c060d1963bb8d26f2954a0dfc71cc5cba5165ca65f5db599437dc3dd3ef78f9dd94c2ae518506920b3f3431edee17a39fb47fa33a7d12cc97dfbaf2d26a92fd3aa75a1b91d0c24070062934609b2361d9173eb2b49da2b012b3bd035870055694a0bb1a6f0cdaad59a673db70e31c6d367acf6e1afb452d35d4738b59409a99211489939ed2ea058fe05b4c6c08bbf1c5284593cd82d81a1d3421b63edf02ee4991abbd45a56dbcb12accbe0d49b762a037b67283f73dc1291dc86ac93c5b486e3d9083f668dd23f64ca89e44ad5e4e3697391a923e6cb99011e2c41b87695b22d47149142858d2709801e9a8607bb1ec8f39d2b2677276df66c61a52eee30a96f14d6c1eb5d40c717cde48bfdfd92e36a4f993fcf3a7f607c5462d751adea6577bf86a5ca3cdcc2896b266e2dac9d19121d28a5390ff9f22ab1c510cf70a368a33666747d9cdd827dca265e92f9d165f5985cf12d0a555f4e04340940878906dd5034f65131228f2e774be9d3d5e9a10d78e3bf001eec3da7797efd6d74d1d6c9f093adcb41f099b7e0cc6884cdd3fd135a5b41927838091627623c2ab0bd505420439805959473a3e972df93668bff734b0cb0739fa736b47e2bd13d742116c96a38665fe2ffd0e8a050edbeccecfdaede8bf19d41be72a63cdeb44de77749dba3ff68df68984772b731aecab33836f8e8a34fd94b5e06ad2e40cb59e06bfa30401ff528dbbd72ee4ef82900d43f578f7ee51361585d7d656ed1895ef40899cd9ba05424e39751dbc5d4522d546d6ce67a6aaa13829698874423917311193d76961bba55e534221562a3ac2a9367120a3bfa6c7e30312e848cecdfdbc1c433ca040a44ab1d5780253764c6319cb15f8128daadf638e370ee498c6229728a025cde728535b191afcb0d2bde7c44cbb9fac5190532e2f9f89418997e0615e05d080638b6fe71e1e247631ef8a4fa811df67fd3feb6fa3734be77bc9f1f03cd5778ea75606f538ee587734e6582e5f8f057a543b1ad6dc67ecde4d103b6453d6241325dac861e01cce41424291b2ebe14490e140f3be801ca40e14f03ee005ba294c4e33e1b128ec3370553fb1100d1e8a5e9da82be44e245d993a7fafdd318753e85a52119a4dffb81cd69ade504a78a535510dc677a1ffb6702a520e21dc2bb41a1f8b5687bf98a11131e5bf2b307191eade3f20b552ecd56c6d35e4129b3d6b398693c02e453c3fd9ad972ab14ccf6e55da3e7b549df0ed09a54904fec99e57e8205f01921d0e74c89b35a592164115c1fc0f80d62f70c15f3d16270afb625314361c5af34223a6b01e425c8964982e6488dee976945d7c9731a275bbf9982f9879349fa863e819d3cdb92d0a9827a6fb1facb86a7d4c63a4c29e64869c3ba83b80cdd842115fec8403f1352e963e6604f28d679c8c66c770d124d60bf40fd2f6bc01c60daa91a6059feeeb3e157d343b219d9464d958b536dabec2b8ce6670985691ffa0ab30b98d90c717b15749592166601239bd295876eb12a847a44afa5c3c3423176d0164d78f901781bb5ea3dbc841da519ed8fa0e1ef8095fb6cc335be6315ea2464f043d9538f232debe23d44d9ca8e73764ceb7c140f8a3bee4ae590ceb8ba2fa2690e8619fde0b6e08e6d83d07927c95e8e2688e6772b689a123568dcbe5007d1ae2ef0e2439eb22ea30d3fbefb8405d1b2b6e11ba773d562fe73fc9cf44920cac43e6fef69fb08b3b796a6627aac0d431753fe82748fad25b0a288e030ac2b23d3cae8643b7ab29e12035350e63de117c63e244449cfc5cff3f58274bb294c04684e76ba795a48a0e27ddfc35f1b8d632fcade24d853e8daeee2b1762da47022cac6cf688056d12ff98b9165344221f20565d70cff027f798823d4816a7cebf840a69cdfb573127d50e72c6246234c0cb8885030dcc1877a4bb7bdc30920f36bb4c3d3d61084f8a238650c1df1dfc6648ba450732344d6bd0ef498ac3598e0a5504991c77f6d5d1310b56ad93eadca0f298ee7198b1cd2d12fb395fb2c8aca459096f2581a9243fb14e645a1fc3b301b990be61d5e33f1c58682d7aa12c38577cd6cdea86b7b54500b015d069a934c77a559e038a55e61f40019d00e46250161ffcea4d4c6d2ed9bb4c4cd3e361c2c1c4c3eff07972b18fbce2e5d30679f4cbca6e724880b325cde56514cbbb6ac054bb1bc4603067857bf953db9ff9bed09e723e3877e5fb046087e7c10cc22b25f45b676a04fd735a84bc2e4b0b6eab5c541d595a5fced56109af1884b01f7e1c9f4e4088f767d16037677dadf4446cd8f08becda3a0e0270114a22cd7e27299dbc7f060a79bf6b3ef6a41ed6bdd56fc8baa7bb8dc384a3665fc1471d66c8f130a79751f815b984e95dc3e765c964d95119172e77639725ec8a810e0e0614307897e94d09558847a8014a217f8474b8dce33e43536ce362e33cac6a1576fbe4c94d8899b3bab6436fd7a148bf2557fe138885000a5b0a772f53dbca84d69c19f693cb1691f9ef426e1b676323c778d443af210565fba727452ef0ee8c6f2bc58238891cf868488b5b030b4752295a7d695f036787fdeb30b17368d38ed465c53acf09a70b70749e8469087429c5c2cb31cbdf169c1b80b9f65ed17501c82b0299b1591fa408d682ba6ded4fedc3e61be216369cf4998da8e00263f2385118b319f8ac116e4b2523a5ce7694cb074945cc9b0f7ef4731e89a106474e831d8c74f98dad90be14c8415eb814a4e0c3f870ee5485533a3e50701998f0cfd19f271efc938a1dfb074fc540da455823ffc7764a5335f29ca41686f7c85cce1db0581b3b9c4d959caae91354974cd53bb3a45d40f0b2d65a007746e8a3a678888f3fd511fbf7edfafd296183c6a7ed7d2584c0beba5f17e0a4408a9385bc986089897da678d9e6e8deaa9491af8ff09fbc439129ed23769425dcf30d036335d5816b8070945660314501483d2ac2ca35f83da59dda47d5b3cc9b8a193d5eaa01fa76a3ed0134a519c75d2f2ecddb1e3b4d0bee84263fc65a9e33b9eb93976340b3815b9e3d80a76505332951cfbff4700178778460307edf1c5f1097e5d32dba15909db42b9ad38d72c9b994d88950dc659e8f3969d6cf39f94fa9b53441b6558466e8b97efd48d4ec5763dfdf665dce050fe3ffe45b762550fbdfe49275af1553b7031461e354d8d99743dfd32138314573d995a68cf38b6181f59d8bc2261538c2a4373ffd1c28a65552527e691a1e8b297d21ea0b62eb6fa7a44ce4fa023196766dfe6906851611caacc1025b3009d0791bdfef1836f6d42eee145b19df5197b6fff1c19b19257c22e512d175ee8a1273092e60833c5420c82b3d2c004da62d3e3f8e39c6156b6316c61e4321b6bedc4316ce2e98d782bb814efa85ad0fdcd8e444812486a39c79b0f6d708535544890e4ef92d53d1b774267de81449a902b123ba3ee4fc86cb076ff78e71d8081b0e3602680a2cd5876e79b33ad98f38cdfb56edbf8628f0bf46a327d503a9a4c64e79b072cd72ab646bc8e51c7ae50e1bc38783807a23102eb378291832908fd492c338a6190dd66d81350500c864536d9f157918a899f03e0b869e948b3e05066efecc23db97a92888a590b010cc24d5187854fba1358e41a8a04dd946b7e4228279fcfe9eaad01ae1546a0a20760b43348f3f340cde9483f70521a03cdae8bd9a074a1f69c99b9c99d1d67894f93033e0de1148b56378328611730ac535feede7a2c856d211d7cdf6c640205ff7f624a6788c3341f7861703033fa6ea632e2aacc6c685603d0f002e051195efda64369620359628609a4ea8d203a91464c216ceafa2fbc641f66bf5d432e2d32e6b4cbd9898bf581f1bfa1952819bc19e2de5b1352fca26393787fcb9a0f427890750da799994b8e3e2d7534771bb26fcbd19da97d486de5635fd94fced561ef14cd4b2dd086dab7b20078a2fca78482045341de935f4d6c7deb35015876731d7f6ac6dc04f9a94433b514d6aa7253f3abe43f0388bdfdb6261e2a687a48544b2180102b4020ae29ca56c5ee48b07683f052ee0931362b04f207f04c559538031d5a98d7515e7c6ac5e67552959ab072ed96462246ee685cb52bc978bdd21ae745aeca2194811773c511ae4f361c1f731f9b9d5149d1bab38de57f66507b210fb69a007a2a41076301b3f512f04e6129a5923b8da7566f85cde3225285737685ae2999c06085bc2b4f7fc754bb756d69d2ed6bcf981ae90b5f250af77953fc02ab866af983cc50f16ee6c67251f693289ff38db10ce54bc19704f180279f04a2ed0ec4494ea2b1bd95af202818488c9952a62c4cdcc8dce3449d3e8cc2a54ee76c1cf7f5d44d453c93fd3c171f40414e2964d613715f092c3594daab03d8cb9d4a5364856bcc79cd62b2ef816b2b9f7227c634b2522ec7087d0c95832e840a0f78eee04c928dd15fa68f5fa2772ae4938aa69be0eb15914bf444c45e9ecbca06ad2f797ae44610c21344ccc6d90a088dd0f777ba568f2d812bbdaa7da4173a5bcae89feb7008806994efacaa8355590059641678e50a0eeafac556447be3b77bb3d00910c0b6645b7ad24a4b586547be1036aeeb72f7b1d230ec18b7041cb487627b930450a69eeb2c84a41473b2cfdf7687cd3d6e80b5bcf906231975ede88eaedf037e29642d37b88eb0d2cc6cf4458cfa2fc6437eee93117d14a408c3ce9108d46b652cd9b716143589f5266b5a71a16a4d0be5f56ff1273390428f74be3457a8b93ffcf0eed562170bfb01b070b07b2e140b248c24ccedacddc8a12fd4633985478ea42152473f57a414987848d5f4c796af8a832453b4e6d5291896d145188f47a335596290a86d4989019d4876ae508f2314f836a8aa53d51161084a9d08c94a7b6290048bb8858677ba0aa9b566e0c628d3ce24f9c1f719e8f304508d029b60c0fbfbbb0106eb0db5a8c65006e6eb73408e37717d432eb6e2f3448a67c24ff4ba64d81cb01bbabd48716760698b1353eb2b3322211acdf5d226bd7385640ae8479407a50f92983c96f7a8a4e4e934c72fe23a96bbfc0c413044061b2a5720006036e1973cab610d98726329ba1c630c4597a8badeb621bca71df6e34967ab1a60fa286a4d1b8798320f64f389997339109366f7cb2ed5568fdf6b1ed0de1dcae0d7717daf7b389a1c2f59b7d4fe1f23c407bccbd5e0c9baeeb2cb4f96d7649e79f26e744d55d7ba38e3518f0ca46f8e2193b238fb4525a3afb4ce5df4692daf440f6b108b0957cc0ea2f7aaef23ddd8e7029faba9f030c7af773c25dfa08f0e3918d04f22baf463ae1d42c1ece7e9dc5a1c0cec658d9ff1f47751fe8f2c01629899387229b1fcd8b8db97a012e3597672a984e5719653557a733b1ec48447dec59d59bcb987bac5e88e4373150d93f1897abbb8f05cf872659dc936abbe7f5fb4b85263c026c8c842cc740aeec00a63b46bb2d9216e04660a8e3421a37d191f1c00063aa1a331fe16c933e5ade6f07b1f650e3258957430207ed716ab0c603f0c32a22d5573126380bfbac15ca59efc489b7fd8d134b3080b4b1f7151672ad4f74364bc0f38ee6e947fc953c8d698bc1d9c730f26a79f40b767b90af1c6e70595ae23aab5836af58fd09d375d0084eadd5ba62dc9ba36ea55920fbadae570bce8a27df5e9521391c0847982ae3425e00777722d6996497705a62a2b370ed57172239d361cdd96ed85b3c2e12027ad15325bd6b5547bb4290b5c79471073c09c5b466e0e1116ab562185b69b81980212115621444e755592edc33a129003e4b848407a9b0fdcecf7f286c973f340bb7cfa582f1ab5231bffdb5c26fd67a91c6f1f71252bae10faf256d5b61bfbbae7fc7da842f11baca0423cc837c8c38a22c76003b5ce0cf0b27aebbe00590c9f9f8814ade7d1ab8e96a35fdeef5e5671e0bfe58952d491dd8727499d47b9308e780289cffd41740ce2e93aacb757ad7a47916e9608a8b4dac75364f5f519e2fb368d854c71772b5ff7944f2ba44d39078db6f359e76ce99e7e265614ea8e08bf8db1fc0b946e9cdb755388fc7d9ba3bab6f1878a9da33e68ca673a55aac60306cdc4e90ab0feb2f7d21e56a78ab7e25a71e7357c4696c904258d9ea3bce0f53296033afafd1df6b7a669ab0893cedd0d02b2477416f76eca3afdee32160c9024ccf44b258ccb50387e5857326f7d409e9cc577a2b189e92928b3637e8ca103e10d3d617f8dd04fb4187fcc734d14b65aff671384b35a966539703e8296c8cc34dc55171623878868387f213ad56383dc2eb335ce2801fa47cc0139ef23c604e0616baa1afd3ff24ab1e70524fbd092c558fad3d5a4728e08710ee31ec98abedbddfdc7aaba0439ecdaa532b95031f55e7e7a096725af27e75406ceda5c6c77bb1ce442d1b0a183932c1a63c9127ee1dea30719eee4388404c14f3d56f36c9003733412ce60b190b028264c5039bfdfa8168ab23b804ec38dd546ae5e68d20049882d48fe43de2bb9c75cf884f50c8c895e9b759896f86c896fe9bdf123e9ffb6de71f8992f8826bc67ca67191c608ae2f5654af61ad948b25615d4542a9fe9864be94f58f3b2e7f134f65da40aef2b4f6079688f7879eb51ef3f3b4a1b32d93c61e7093777734e1ee6168bc934688215038a6c02bae294d13f77d30b964526688c9ae90f987facb99671a18ecf2cdb33ca527e15a3ad94918d26625222b283df3ad355a9a8723ec1c623b5ae7147998bc0e6128ea28f596caac4c9a83addf81b149f76469a823ce2d06b22076c2610373f4cfae17c8133abd11130acfe21823b941bc9436b5164766d743c4d6f0a1d3ba04afc8547a6440f67499bb163d5c498b6f14653a4075b7e9ad7aee29ba45e861e97fd2a98f73781508710f1d825e23e501bdc99087873ad65cfd9e925341b4f9f47c1571d3d4249887453f17cf9b59dca30b7266f5a8e5a2c5156581a52b9d4a807c70c91715bc00f67f941c6811c2707a87854ee75ce8f49db54ea4190113389e521a9ecb569cf4ef053216ca18c295b32a9bf2fc3865dd7051498feb72bdd574b06fa174575976ffa1911d93f863ec18d3c2d9c12c73449ddc85fbec1dce621cd16909f87e5255dcafed6fd3ee9ed87b7786cc1dcc6ac0c6220ed08b22fba112ca95df3fe3812d3dfe6eb0260bb4dd6df273ca748f565b0d325a55d1162f9b5519b4e465339e8e3a478359b8e52162c73e54dbd8423a836cc0bcad68f2f9e78f182fb6c6e1714b6438ac3b9cad88112dc981b741112908d2f79eef929e77d792fd524c4e49ccac779fc7ea2c886ec96b907cc9b633231893a96eff89e7732dfa2642752e277cf3fa3ca456b92ddc0c42365dc5eb851f6a45c5f57e0515d0658fdc2c6f422f6f7d391f88b007d1e23bc1642c442c92bc40f4e6f14aac930f0781e40849c5ca594abde8d3f6eea6b54501700e1ca58851c122b3d5f47ca93a36ced5af12f4e423453007a262eb7a15c2344020b7fd64d8e41942c1364642d8c4caa3a187e38c2d434d053e0d1f3d1a0a301d7edc23130e7417d1a0831f0fece3683862d81d3c548865d5ebcfd6673a4331c85ff786010e47c601d70e82bf2981daebdb71e8bfc89bd9f5aa2c7173530c7b503000db4765c16ecf6019a9565ea3c4ad0c9d1a6bd7b45728354f9329296210f488f7407a7888c925f2d8d77cdd68695ab8e96cdbf80ca9e6cf3c363ae1fdf2683201de93e27680718e8c373200f837c8524bb1be8ec1c404067676301f90a043e77911c7e831b4f5e155c5265749fbffaeef9e2f91c6115955d27fb62fd693d34ab5bce20b358ef4745b5bda89dd3ed24349629a419f8853fe8fc89aa04523e90fe53bfba3fdf7abb31862df9dc01d12fbbf0d193d4a68a563626fdfe644f937794c9642ef2f38fbb4c166dfc4bee5bbe032db5c402c1d1e469521db079a0279fbc221f2ef924b7e72ff75b20dced2df99cd2e1dccce5e17c995255196e101bfbc548ef119a848bd6d1dac1c893ba935a9b4df14a09b6a11418509294f17e258e98e695c5f62d6ed61b9911c1a80f451c500a2ad34b6de60696b16bac38c70f7227d05c18455e908d321268c34c0c1693dc31717037db273509f039caa652023aa3ee63810d6ca4567b3520ec95dd779f1fd354ffff5f2f15d88ee17f26d5a96f5924d4568097860b483d23937cc83c7f869a36ea0d2dffd23920a0a8b6cfbb70a189fd7ee5af57b0225dd2f98343e5cda24374f3438dc7506112a1f88fc77fda566c42635f1f183eb38d3ffe33c93ac54b09661581f767cbac19a5ead7libcharon.so.0.0.0libimcv.so.0.0.0libpttls.so.0.0.0libradius.so.0.0.0libsimaka.so.0.0.0libstrongswan.so.0.0.0libtls.so.0.0.0libtnccs.so.0.0.0libtpmtss.so.0.0.0libtpmtss.so.0.0.0libvici.so.0.0.0libvici.so.0.0.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootstrongswan-5.9.12-150600.3.11.1.src.rpmconfig(strongswan-libs0)libcharon.so.0()(64bit)libimcv.so.0()(64bit)libpttls.so.0()(64bit)libradius.so.0()(64bit)libsimaka.so.0()(64bit)libstrongswan-addrblock.so()(64bit)libstrongswan-aes.so()(64bit)libstrongswan-af-alg.so()(64bit)libstrongswan-agent.so()(64bit)libstrongswan-attr-sql.so()(64bit)libstrongswan-attr.so()(64bit)libstrongswan-blowfish.so()(64bit)libstrongswan-ccm.so()(64bit)libstrongswan-certexpire.so()(64bit)libstrongswan-cmac.so()(64bit)libstrongswan-constraints.so()(64bit)libstrongswan-counters.so()(64bit)libstrongswan-coupling.so()(64bit)libstrongswan-ctr.so()(64bit)libstrongswan-curl.so()(64bit)libstrongswan-curve25519.so()(64bit)libstrongswan-des.so()(64bit)libstrongswan-dhcp.so()(64bit)libstrongswan-dnskey.so()(64bit)libstrongswan-duplicheck.so()(64bit)libstrongswan-eap-aka-3gpp2.so()(64bit)libstrongswan-eap-aka.so()(64bit)libstrongswan-eap-dynamic.so()(64bit)libstrongswan-eap-gtc.so()(64bit)libstrongswan-eap-identity.so()(64bit)libstrongswan-eap-md5.so()(64bit)libstrongswan-eap-mschapv2.so()(64bit)libstrongswan-eap-peap.so()(64bit)libstrongswan-eap-radius.so()(64bit)libstrongswan-eap-sim-file.so()(64bit)libstrongswan-eap-sim-pcsc.so()(64bit)libstrongswan-eap-sim.so()(64bit)libstrongswan-eap-simaka-pseudonym.so()(64bit)libstrongswan-eap-simaka-reauth.so()(64bit)libstrongswan-eap-simaka-sql.so()(64bit)libstrongswan-eap-tls.so()(64bit)libstrongswan-eap-tnc.so()(64bit)libstrongswan-eap-ttls.so()(64bit)libstrongswan-farp.so()(64bit)libstrongswan-fips-prf.so()(64bit)libstrongswan-gcm.so()(64bit)libstrongswan-gcrypt.so()(64bit)libstrongswan-gmp.so()(64bit)libstrongswan-ha.so()(64bit)libstrongswan-hmac.so()(64bit)libstrongswan-kdf.so()(64bit)libstrongswan-kernel-netlink.so()(64bit)libstrongswan-ldap.so()(64bit)libstrongswan-led.so()(64bit)libstrongswan-md4.so()(64bit)libstrongswan-md5.so()(64bit)libstrongswan-mgf1.so()(64bit)libstrongswan-nonce.so()(64bit)libstrongswan-openssl.so()(64bit)libstrongswan-pem.so()(64bit)libstrongswan-pgp.so()(64bit)libstrongswan-pkcs1.so()(64bit)libstrongswan-pkcs11.so()(64bit)libstrongswan-pkcs12.so()(64bit)libstrongswan-pkcs7.so()(64bit)libstrongswan-pkcs8.so()(64bit)libstrongswan-pubkey.so()(64bit)libstrongswan-radattr.so()(64bit)libstrongswan-random.so()(64bit)libstrongswan-rc2.so()(64bit)libstrongswan-resolve.so()(64bit)libstrongswan-revocation.so()(64bit)libstrongswan-sha1.so()(64bit)libstrongswan-sha2.so()(64bit)libstrongswan-smp.so()(64bit)libstrongswan-socket-default.so()(64bit)libstrongswan-soup.so()(64bit)libstrongswan-sql.so()(64bit)libstrongswan-sshkey.so()(64bit)libstrongswan-tnc-imc.so()(64bit)libstrongswan-tnc-imv.so()(64bit)libstrongswan-tnc-pdp.so()(64bit)libstrongswan-tnc-tnccs.so()(64bit)libstrongswan-tnccs-11.so()(64bit)libstrongswan-tnccs-20.so()(64bit)libstrongswan-tnccs-dynamic.so()(64bit)libstrongswan-unity.so()(64bit)libstrongswan-vici.so()(64bit)libstrongswan-x509.so()(64bit)libstrongswan-xauth-eap.so()(64bit)libstrongswan-xauth-generic.so()(64bit)libstrongswan-xauth-pam.so()(64bit)libstrongswan-xcbc.so()(64bit)libstrongswan.so.0()(64bit)libtls.so.0()(64bit)libtnccs.so.0()(64bit)libtpmtss.so.0()(64bit)libvici.so.0()(64bit)strongswan-libs0strongswan-libs0(aarch-64)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    /bin/sh/sbin/ldconfigconfig(strongswan-libs0)ld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.22)(64bit)libc.so.6(GLIBC_2.25)(64bit)libc.so.6(GLIBC_2.27)(64bit)libc.so.6(GLIBC_2.30)(64bit)libc.so.6(GLIBC_2.33)(64bit)libc.so.6(GLIBC_2.34)(64bit)libc.so.6(GLIBC_2.38)(64bit)libcap.so.2()(64bit)libcrypto.so.3()(64bit)libcrypto.so.3(OPENSSL_3.0.0)(64bit)libcurl.so.4()(64bit)libgcrypt.so.20()(64bit)libgcrypt.so.20(GCRYPT_1.6)(64bit)libglib-2.0.so.0()(64bit)libgmp.so.10()(64bit)libgobject-2.0.so.0()(64bit)libgpg-error.so.0()(64bit)libgpg-error.so.0(GPG_ERROR_1.0)(64bit)libimcv.so.0()(64bit)liblber-2.4.so.2()(64bit)libldap_r-2.4.so.2()(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.29)(64bit)libpam.so.0()(64bit)libpam.so.0(LIBPAM_1.0)(64bit)libpcsclite.so.1()(64bit)libpttls.so.0()(64bit)libradius.so.0()(64bit)libsimaka.so.0()(64bit)libsoup-2.4.so.1()(64bit)libstrongswan.so.0()(64bit)libsystemd.so.0()(64bit)libsystemd.so.0(LIBSYSTEMD_227)(64bit)libtls.so.0()(64bit)libtnccs.so.0()(64bit)libtpmtss.so.0()(64bit)libxml2.so.2()(64bit)libxml2.so.2(LIBXML2_2.4.30)(64bit)libxml2.so.2(LIBXML2_2.5.0)(64bit)libxml2.so.2(LIBXML2_2.6.0)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)5.9.12-150600.3.11.13.0.4-14.6.0-14.0-15.2-1strongswan5.9.124.14.3iY@i@he]@eSa@d-@dK@d&@cc@c@b@b<]@aaexa`+``j`a@`a@``^|@^0"@]A]@]@]@ZYYYY$$@WzOVEUp=UlI@T|Tp@T@Tto@To)@Tmrahul.jain@suse.comrahul.jain@suse.comrahul.jain@suse.commohd.saquib@suse.commohd.saquib@suse.commohd.saquib@suse.commohd.saquib@suse.commohd.saquib@suse.commohd.saquib@suse.commohd.saquib@suse.commeissner@suse.comhare@suse.demeissner@suse.commeissner@suse.comabergmann@suse.comhare@suse.demt@suse.commt@suse.commbuil@suse.commbuil@suse.commbuil@suse.commbuil@suse.commbuil@suse.commmnelemane@suse.commmnelemane@suse.commmnelemane@suse.commmnelemane@suse.commmnelemane@suse.commmnelemane@suse.commmnelemane@suse.comndas@suse.dendas@suse.dendas@suse.dendas@suse.dedoug@uq.edu.aumt@suse.demt@suse.demt@suse.demt@suse.demt@suse.demt@suse.demt@suse.demt@suse.demt@suse.de- FIX:CVE-2026-25075: strongswan: Integer Underflow When Handling EAP-TTLS AVP (bsc#1259472) [+ 0001-FIX-CVE-2026-25075-strongswan-Integer-Underflow-When.patch]- Fix rpm scripts to not break swanctl.conf use (bsc#1252002): - Guard rpm migration scripts migrating strongswan.service using ipsec.conf on < 5.8 to strongswan-starter.service by checking the ipsec.service alias provider. - Call systemd macros for both, strongswan-starter and the strongswan service.- (CVE-2025-62291) Buffer Overflow When Handling EAP-MSCHAPv2 Failure Requests (bsc#1251941) [+ strongswan-4.4.0-6.0.2_eap_mschapv2_failure_request_len.patch]- Updated to version 5.9.12 (jsc#PED-5765 bsc#1216901) * Fixed a buffer overflow in charon-tkm [CVE-2023-41913] * Support for ``nameConstraints`` of type ``iPAddress`` are now supported by the "x509", "openssl" and "constraints" plugins * Support for encoding subjectAlternativeName extensions of type uniformResourceIdentifier in X.509 certificates has been added. * Make the NetworkManager plugin (charon-nm) actually use the XFRM interface it creates since 5.9.10. This involves setting interface IDs on SAs and policies, and installing routes via the interface. To avoid routing loops if the remote traffic selectors include the VPN server, IKE and ESP packets are marked to bypass the routing table that contains the routes via XFRM interface. * The kernel-libipsec plugin now always installs routes to remote networks even if no address is found in the local traffic selectors, which allows forwarding traffic from networks the VPN host is not part of. * Fixed issues while reestablishing multiple CHILD_SAs (e.g. after a DPD timeout) that could cause a reqid to get assigned to multiple CHILD_SAs with unrelated traffic selectors. - Removed following patch which is part of updated package [- strongswan-5.9.7-5.9.11_charon_tkm_dh_len.patch]- (CVE-2023-41913) Fixed a bug in charon-tkm related to handling DH public values that can lead to remote code execution (bsc#1216901) [+ strongswan-5.9.7-5.9.11_charon_tkm_dh_len.patch]- Updated to version 5.9.11 (jsc#PED-4589) - Removed Marvell auth-els patch (bsc#1211715) [- 0001-marvell-auth-els-strongswan-5.9.7-v1.patch] - Fixed strongswan fails IPSEC IKEv2 test related to the USGv6 certification (bsc#1211711) - Dropped following patches due to irrelevance in the updated version: [- 0055-vici-dont-lock-connection-in-write-mode-when-enabling-on_write-callback.patch] - Renamed following patch: [- 0005-ikev1-Don-t-retransmit-Aggressive-Mode-response.patch] [+ 0001-ikev1-Don-t-retransmit-Aggressive-Mode-response.patch] - Version 5.9.11 changelog: =================================== * https://github.com/strongswan/strongswan/releases/tag/5.9.11- Fix crash when swanctl command gets stuck intermittently (bsc#1207489) [+ 0055-vici-dont-lock-connection-in-write-mode-when-enabling-on_write-callback.patch] - Modified README file to reflect rcipsec usage- Allow to use stroke aka ipsec interface by default instead of vici aka swanctl interface which is current upstream's default. strongswan.service which enables swanctl interface is masked to stop interfering with the ipsec interface (bsc#1184144) - Removes deprecated SysV support- Updated to version 5.9.7 (jsc#PED-1539) - Added following Marvell auth-els patch for strongswan 5.9.7 [+ 0001-marvell-auth-els-strongswan-5.9.7-v1.patch] - Dropped following patches due to irrelevance in the updated version: [- 0001-Modularize-the-IKEv2-key-derivation-so-it-can-be-pro.patch] [- 0006-Resolve-multiple-definition-of-swanctl_dir.patch] [- 0007-Fix-typo-in-README.patch] [- 0008-gcrypt-Use-a-dummy-buffer-to-initialize-static-alloc.patch] [- 0009-strongswan-openssl-aead-add-ccm-support.patch] [- 0051-libcharon-fixed-strongswan-crash-in-packet-sender.patch] [- strongswan-4.4.1-5.9.3_cert-cache-random.patch] [- strongswan-5.5.0-5.9.4_eap_success-CVE-2021-45079.patch] [- strongswan-5.6.1-5.9.3_gmp-rsa-ssa-salt-len.patch] [- strongswan-CVE-2022-40617.patch] [- strongswan-marvell-auth-els.patch] - Version 5.9.7 ================ * The IKEv2 key derivation is now delayed until the keys are actually needed to process or send the next message. So instead of deriving the keys directly while processing an IKE_SA_INIT request (which could come from a spoofed address), it is delayed until the corresponding IKE_AUTH request is received. See below for required changes for Diffie-Hellman implementations. * Inbound IKEv2 messages, in particular requests, are now processed differently. Instead of parsing all inbound messages right away (which might trigger a key derivation or require keys we don't have anymore in the multi-KE use case), we now first check a request's message ID and compare its hash to that of the previous request to decide if it's a valid retransmit. For fragmented messages we only keep track of the first fragment so we can send the corresponding response immediately if a retransmit of it is received, instead of waiting for all fragments and reconstructing the message, which we did before. * The retransmission logic in the dhcp plugin has been fixed (#1154). As originally intended, four retransmits are now sent over a total of 15 seconds for each DHCP request. Previously, it could happen that some or all of the five messages were sent at basically the same time, without any delay to wait for a response. * The connmark plugin now considers configured masks in installed firewall rules (#1087). For instance, with mark_in = mark_out = %unique/0x0000ffff, mark values in the upper two bytes would not get reset by the rules installed by the plugin and could be used for other purposes. However, note that in this example the daemon would have to get restarted after 65'535 CHILD_SAs (at the latest) to reset the global 32-bit counter for unique marks as that's unaware of any masks. * Child config selection has been fixed as responder in cases where multiple children use transport mode traffic selectors (#1143). * The outbound SA/policy is now also removed after IKEv1 CHILD_SA rekeyings (#1041). * The openssl plugin supports AES and Camellia in CTR mode (112bb46). * The AES-XCBC/CMAC PRFs are demoted in the default proposal (after HMAC-based PRFs) since they were never widely adopted (RFC 8247 only mentions AES-XCBC and recommends it exclusively for IoT deployments). * The kdf plugin is now automatically enabled if any of the aesni, cmac or xcbc plugins are enabled, or if none of the plugins that directly provide HMAC-based KDFs are enabled (botan, openssl or wolfssl). * The CALLBACK macros (and some other issues) have been fixed when compiling with GCC 12 (#1053). * Support for GTK 4 was added to the NetworkManager plugin (#961), the necessary changes were released separately with version 1.6.0 of the plugin.- Fix crash in packet sender in libcharon library caused by marvell-auth-els patch (bsc#1199205) [+ 0051-libcharon-fixed-strongswan-crash-in-packet-sender.patch]- strongswan-CVE-2022-40617.patch: Fixed that using untrusted URIs for revocation checking could lead to denial of service (CVE-2022-40617 bsc#1203556)- Enable Marvell plugin (jsc#SLE-20151)- 0001-Modularize-the-IKEv2-key-derivation-so-it-can-be-pro.patch: Outsource the IKE key deriviation to openssl for FIPS certification. (bsc#1195919)- strongswan-5.5.0-5.9.4_eap_success-CVE-2021-45079.patch: Fixed authentication bypass in EAP authentication (CVE-2021-45079 bsc#1194471)- Fix integer overflow in gmp plugin (bsc#1191367, CVE-2021-41990) [* strongswan-5.6.1-5.9.3_gmp-rsa-ssa-salt-len.patch] - Fix integer overflow when replacing certificates in cache (bsc#1191435, CVE-2021-41991) [* strongswan-4.4.1-5.9.3_cert-cache-random.patch]- Add auth_els plugin to support Marvell FC-SP encryption (jsc#SLE-20151) [* strongswan-marvell-auth-els.patch]- Replace AEAD AES CCM patch with upstream variant (cc/fips,bsc#1185363) [* 0009-strongswan-openssl-aead-add-ccm-support.patch]- Add support for AES CCM aead algorithms to openssl plugin (cc/fips,bsc#1185363) [+ 0009-strongswan-openssl-aead-add-ccm-support.patch]- Add config to run ipsec on namespaces (bsc #1183670)- Information added in README about the rcstrongswan-starter- Keep using ipsec as the main binary. Therefore, make strongswan.service point to it instead of swanctl- Fix FIPS bug (bsc #1180801) [+ 0008-gcrypt-Use-a-dummy-buffer-to-initialize-static-alloc.patch ]- Fix typo in README (bsc #1167880) [+ 0007-Fix-typo-in-README.patch ]- Fix for to resolve multiple definition of swanctl_dir (bsc #1164493) [+ 0006-Resolve-multiple-definition-of-swanctl_dir.patch]- Updated to version 5.8.2 (jsc#SLE-11370) - Dropped following patches due to irrelevance in the updated version: [- strongswan_modprobe_syslog.patch ] [- strongswan_fipsfilter.patch ] [- 0006-fix-compilation-error-by-adding-stdint.h.patch ] [- 0007-strongswan-5.3.1-5.6.0_gmp-pkcs1-verify.patch ] [- 0008-strongswan-5.1.2-5.6.2_stroke_msg_len.patch ] [- 0009-strongswan-5.5.0-5.6.2_skeyseed_init.patch ] [- 0010-strongswan-4.4.0-5.7.0_gmp-pkcs1-overflow.patch ] - Version 5.8.2 =============== * Identity-based CA constraints, which enforce that the certificate chain of the remote peer contains a CA certificate with a specific identity, are supported via vici/swanctl.conf. This is similar to the existing CA constraints but doesn't require that the CA certificate is locally installed, for instance, intermediate CA certificates received from the peers. Wildcard identity matching (e.g. ..., OU=Research, CN=*) could also be used for the latter but requires trust in the intermediate CAs to only issue certificates with legitimate subject DNs (e.g. the "Sales" CA must not issue certificates with OU=Research). With the new constraint that's not necessary as long as a path length basic constraint (--pathlen for pki --issue) prevents intermediate CAs from issuing further intermediate CAs. * Intermediate CA certificates may now be sent in hash-and-URL encoding by configuring a base URL for the parent CA (#3234, swanctl/rw-hash-and-url-multi-level). * Implemented NIST SP-800-90A Deterministic Random Bit Generator (DRBG) based on AES-CTR and SHA2-HMAC modes. Currently used by the gmp and ntru plugins. * Random nonces sent in an OCSP requests are now expected in the corresponding OCSP responses. * The kernel-netlink plugin now ignores deprecated IPv6 addresses for MOBIKE. Whether temporary or permanent IPv6 addresses are included now depends on the charon.prefer_temporary_addrs setting (#3192). * Extended Sequence Numbers (ESN) are configured via PF_KEY if supported by the kernel. * The PF_KEY socket's receive buffer in the kernel-pfkey plugin is now cleared before sending requests, as many of the messages sent by the kernel are sent as broadcasts to all PF_KEY sockets. This is an issue if an external tool is used to manage SAs/policies unrelated to IPsec (#3225). * The vici plugin now uses unique section names for CHILD_SAs in child-updown events (7c74ce9190). * For individually deleted CHILD_SAs (in particular for IKEv1) the vici child-updown event now includes more information about the CHILD_SAs such as traffic statistics (#3198). * Custom loggers are correctly re-registered if log levels are changed via stroke loglevel (#3182). * Avoid lockups during startup on low entropy systems when using OpenSSL 1.1.1 (095a2c2eac). * Instead of failing later when setting a key, creating HMACs via openssl plugin now fails instantly if the underlying hash algorithm isn't supported (e.g. MD5 in FIPS-mode) so fallbacks to other plugins work properly (#3284). * Exponents of RSA keys read from TPM 2.0 via SAPI are correctly converted (8ee1242f1438). * Routing table IDs > 255 are supported for custom routes on Linux. * To avoid races, the check for hardware offloading support in the kernel-netlink plugin is performed during initialization of the plugin (a605452c03). * The D-Bus config file for charon-nm is now installed in $(datadir)/dbus-1/system.d instead of $(sysconfdir)/dbus-1/system.d, which is intended for sysadmin overrides. INVALID_MAJOR_VERSION notifies are now correctly sent in messages of the same exchange type and with the same message ID as the request. * IKEv2 SAs are now immediately destroyed when sending or receiving INVALID_SYNTAX notifies in authenticated messages. * For developers working from the repository the configure script now aborts if GNU gperf is not found. - Version 5.8.1 =============== * RDNs in DNs of X.509 certificates can now optionally be matched less strict. The global strongswan.conf option charon.rdn_matching takes two alternative values that cause the matching algorithm to either ignore the order of matched RDNs (reordered) or additionally (relaxed) accept DNs that contain more RDNs than configured (unmatched RDNs are treated like wildcard matches). * The updown plugin now passes the same interface to the script that is also used for the automatically installed routes, that is, the interface over which the peer is reached instead of the interface on which the local address is found (#3095). * TPM 2.0 contexts are now protected by a mutex to prevent issues if multiple IKE_SAs use the same private key concurrently (4b25885025). * Do a rekey check after the third QM message was received (#3060). * If available, explicit_bzero() is now used as memwipe() instead of our own implementation. * An .editorconfig file has been added, mainly so Github shows files with proper indentation (68346b6962). * The internal certificate of the load-tester plugin has been modified so it can again be used as end-entity cert with 5.6.3 and later (#3139). * The maximum data length of received COOKIE notifies (64 bytes) is now enforced (#3160). - Version 5.8.0 =============== * The systemd service units have been renamed. The modern unit, which was called strongswan-swanctl, is now called strongswan (the previous name is configured as alias in the unit, for which a symlink is created when the unit is enabled). The legacy unit is now called strongswan-starter. * Support for XFRM interfaces (available since Linux 4.19) has been added, which are intended to replace VTI devices (they are similar but offer several advantages, for instance, they are not bound to an address or address family). * IPsec SAs and policies are associated with such interfaces via interface IDs that can be configured in swanctl.conf (dynamic IDs may optionally be allocated for each SA and even direction). It's possible to use separate interfaces for in- and outbound traffic (or only use an interface in one direction and regular policies in the other). * Interfaces may be created dynamically via updown/vici scripts, or statically before or after establishing the SAs. Routes must be added manually as needed (the daemon will not install any routes for outbound policies with an interface ID). * When moving XFRM interfaces to other network namespaces they retain access to the SAs and policies installed in the original namespace, which allows providing IPsec tunnels for processes in other network namespaces without giving them access to the IPsec keys or IKE credentials. More information can be found on the page about route-based VPNs. * Initiation of childless IKE_SAs is supported (RFC 6023). If enabled and supported by the responder, no CHILD_SA is established during IKE_AUTH. Instead, all CHILD_SAs are created with CREATE_CHILD_SA exchanges. This allows using a separate DH exchange even for the first CHILD_SA, which is otherwise created during IKE_AUTH with keys derived from the IKE_SA's key material. * The swanctl --initiate command may be used to initiate only the IKE_SA via --ike option if --child is omitted and the peer supports this extension. * The NetworkManager backend and plugin support IPv6. * The new wolfssl plugin is a wrapper around the wolfSSL crypto library. Thanks to Sean Parkinson of wolfSSL Inc. for the initial patch. * IKE SPIs may optionally be labeled via the charon.spi_mask|label options in strongswan.conf. This feature was extracted from charon-tkm, however, now applies the mask/label in network order. * The openssl plugin supports ChaCha20-Poly1305 when built with OpenSSL 1.1.0. * The PB-TNC finite state machine according to section 3.2 of RFC 5793 was not correctly implemented when sending either a CRETRY or SRETRY batch. These batches can only be sent in the "Decided" state and a CRETRY batch can immediately carry all messages usually transported by a CDATA batch. It is currently not possible to send a SRETRY batch since full-duplex mode for PT-TLS transport is not supported. * Instead of marking IPv6 virtual IPs as deprecated, the kernel-netlink plugin now uses address labels to avoid that such addresses are used for non-VPN traffic (00a953d090). * The agent plugin now creates sockets to the ssh/gpg-agent dynamically and does not keep them open, which otherwise might prevent the agent from getting terminated. * To avoid broadcast loops the forecast plugin now only reinjects packets that are marked or received from the configured interface. * UTF-8 encoded passwords are supported via EAP-MSCHAPv2, which internally uses an UTF-16LE encoding to calculate the NT hash (#3014). * Properly delete temporary drop policies (used when updating IP addresses of SAs) if manual priorities are used, which was broken since 5.6.2 (8e31d65730). * Avoid overwriting start_action when parsing the inactivity timeout in the vici plugin (#2954). * Fixed the automatic termination of reloaded vici connections with start_action=start, which was broken since 5.6.3 (71b22c250f). * The lookup for shared secrets for IKEv1 SAs via sql plugin should now work better (6ec9f68f32). * Fixed a race condition in the trap manager between installation and removal of a policy (69cbe2ca3f). * Compilation of the kernel-netlink plugin has been fixed on old kernels (< 2.6.39), which was caused by the HW offload changes (c7f579fa17). * The IPsec stack detection and module loading in starter has been removed (it wasn't enforced anyway and loading modules doesn't seem necessary, also KLIPS hasn't been supported for a long time and PF_KEY will eventually be removed from the Linux kernel, ba817d2917). * Several IKEv2 protocol details are now handled more strictly: Unrequested virtual IPs are ignored, CFG_REPLY payloads are ignored if no CFG_REQUEST payloads were sent, a USE TRANSPORT_MODE notify received from the responder is checked against the local configuration. * The keys and certificates used by the scenarios in the testing environment are now generated dynamically. Running the testing/scripts/build-certs script after creating the base and root images uses the pki utility installed in the latter to create the keys and certificates for all the CAs and in some cases for individual scenarios. These credentials are stored in the source tree, not the image, so this has to be called only once even if the images are later rebuilt. The script automatically (re-)rebuilds the guest images as that generates fresh CRLs and signs the DNS zones. The only keys/certificates currently not generated are the very large ones used by the ikev2/rw-eap-tls-fragments scenario. - Version 5.7.2 =============== * For RSA with PSS padding, the TPM 2.0 specification mandates the maximum salt length (as defined by the length of the key and hash). However, if the TPM is FIPS-168-4 compliant, the salt length equals the hash length. This is assumed for FIPS-140-2 compliant TPMs, but if that's not the case, it might be necessary to manually enable charon.plugins.tpm.fips_186_4 if the TPM doesn't use the maximum salt length. * Directories for credentials loaded by swanctl are now accessed relative to the loaded swanctl.conf file, in particular, when loading it from a custom location via --file argument. * The base directory, which is used if no custom location for swanctl.conf is specified, is now also configurable at runtime via SWANCTL_DIR environment variable. * If RADIUS Accounting is enabled, the eap-radius plugin will add the session ID (Acct-Session-Id) to Access-Request messages, which e.g. simplifies associating database entries for IP leases and accounting with sessions (the session ID does not change when IKE_SAs are rekeyed, #2853). * All IP addresses assigned by a RADIUS server are included in Accounting-Stop messages even if the client did not claim them, allowing to release them early in case of connection errors (#2856). * Selectors installed on transport mode SAs by the kernel-netlink plugin are now updated if an IP address changes (e.g. via MOBIKE) and it was part of the selectors. * No deletes are sent anymore when a rekeyed CHILD_SA expires (#2815). * The bypass-lan plugin now tracks interfaces to handle subnets that move from one interface to another and properly update associated routes (#2820). * Only valid and expected inbound IKEv2 messages are used to update the timestamp of the last received message (previously, retransmits also triggered an update). * IKEv2 requests from responders are now ignored until the IKE_SA is fully established (e.g. if a DPD request from the peer arrives before the IKE_AUTH response does, 46bea1add9). Delayed IKE_SA_INIT responses with COOKIE notifies we already recevied are ignored, they caused another reset of the IKE_SA previously (#2837). * Active and queued Quick Mode tasks are now adopted if the peer reauthenticates an IKEv1 SA while creating lots of CHILD_SAs. * Newer versions of the FreeBSD kernel add an SADB_X_EXT_SA2 extension to SADB_ACQUIRE messages, which allows the kernel-pfkey plugin to determine the reqid of the policy even if it wasn't installed by the daemon previously (e.g. when using FreeBSD's if_ipsec(4) VTIs, which install policies themselves, 872b9b3e8d). * Added support for RSA signatures with SHA-256 and SHA-512 to the agent plugin. For older versions of ssh/gpg-agent that only support SHA-1, IKEv2 signature authentication has to be disabled via charon.signature_authentication. * The sshkey and agent plugins support Ed25519/Ed448 SSH keys and signatures. * The openssl plugin supports X25519/X448 Diffie-Hellman and Ed25519/Ed448 keys and signatures when built against OpenSSL 1.1.1. * Support for Ed25519, ChaCha20/Poly1305, SHA-3 and AES-CCM were added to the botan plugin. * The mysql plugin now properly handles database connections with transactions under heavy load (#2779). * IP addresses in ha pools are now distributed evenly among all segments (#2828). * Private key implementations may optionally provide a list of supported signature schemes, which, as described above, is used by the tpm plugin because for each key on a TPM 2.0 the hash algorithm and for RSA also the padding scheme is predefined. * The testing environment is now based on Debian 9 (stretch) by default. This required some changes, in particular, updating to FreeRADIUS 3.x (which forced us to abandon the TNC@FHH patches and scenarios, 2fbe44bef3) and removing FIPS-enabled versions of OpenSSL (the FIPS module only supports OpenSSL 1.0.2). * Most test scenarios were migrated to swanctl. - Version 5.7.1 =============== * Fixes a vulnerability in the gmp plugin triggered by crafted certificates with RSA keys with very small moduli. When verifying signatures with such keys, the code patched with the fix for CVE-2018-16151/2 caused an integer underflow and subsequent heap buffer overflow that results in a crash of the daemon. * The vulnerability has been registered as CVE-2018-17540. - Version 5.7.0 =============== * Fixes a potential authorization bypass vulnerability in the gmp plugin that was caused by a too lenient verification of PKCS#1 v1.5 signatures. Several flaws could be exploited by a Bleichenbacher-style attack to forge signatures for low-exponent keys (i.e. with e=3). * CVE-2018-16151 has been assigned to the problem of accepting random bytes after the OID of the hash function in such signatures, and CVE-2018-16152 has been assigned to the issue of not verifying that the parameters in the ASN.1 algorithmIdentitifer structure is empty. Other flaws that don't lead to a vulnerability directly (e.g. not checking for at least 8 bytes of padding) have no separate CVE assigned. * Dots are not allowed anymore in section names in swanctl.conf and strongswan.conf. This mainly affects the configuration of file loggers. If the path for such a log file contains dots it now has to be configured in the new path setting within the arbitrarily renamed subsection in the filelog section. * Sections in swanctl.conf and strongswan.conf may now reference other sections. All settings and subsections from such a section are inherited. This allows to simplify configs as redundant information has only to be specified once and may then be included in other sections (see strongswan.conf for an example). * The originally selected IKE config (based on the IPs and IKE version) can now change if no matching algorithm proposal is found. This way the order of the configs doesn't matter that much anymore and it's easily possible to specify separate configs for clients that require weaker algorithms (instead of having to also add them in other configs that might be selected). * Support for Postquantum Preshared Keys for IKEv2 (draft-ietf-ipsecme-qr-ikev2) has been added. For an example refer to the swanctl/rw-cert-ppk scenario (or with EAP, or PSK authentication). * The new botan plugin is a wrapper around the Botan C++ crypto library. It requires a fairly recent build from Botan's master branch (or the upcoming 2.8.0 release). Thanks to René Korthaus and his team from Rohde & Schwarz Cybersecurity for the initial patch and to Jack Lloyd for quickly adding missing functions to Botan's FFI (C89) interface. * Implementation of RFC 8412 "Software Inventory Message and Attributes (SWIMA) for PA-TNC". * SWIMA subscription option sets CLOSE_WRITE trigger on apt history.log file resulting in a ClientRetry PB-TNC batch to initialize a new measurement cycle. The new imv/imc-swima plugins replace the previous imv/imc-swid plugins, which were removed. * Added support for fuzzing the PA-TNC (RFC 5792) and PB-TNC (RFC 5793) NEA protocols on Google's OSS-Fuzz infrastructure. * Support for version 2 of Intel's TPM2-TSS TGC Software Stack. The presence of the in-kernel /dev/tpmrm0 resource manager is automatically detected. * The pki tool accepts a xmppAddr otherName as a subjectAlternativeName using the syntax --san xmppaddr:. * swanctl.conf supports the configuration of marks the in- and/or outbound SA should apply to packets after processing on Linux. Configuring such a mark for outbound SAs requires at least a 4.14 kernel. The ability to set a mask and configuring a mark/mask for inbound SAs will be added with the upcoming 4.19 kernel. * New options in swanctl.conf allow configuring how/whether DF, ECN and DS fields in the IP headers are copied during IPsec processing. Controlling this is currently only possible on Linux. * The handling of sequence numbers in IKEv1 DPDs has been improved (#2714). * To avoid conflicts, the dhcp plugin now only uses the DHCP server port if explicitly configured. - Version 5.6.3 =============== * Fixed a DoS vulnerability in the IKEv2 key derivation if the openssl plugin is used in FIPS mode and HMAC-MD5 is negotiated as PRF. This vulnerability has been registered as CVE-2018-10811. * Fixed a vulnerability in the stroke plugin, which did not check the received length before reading a message from the socket. Unless a group is configured, root privileges are required to access that socket, so in the default configuration this shouldn't be an issue. This vulnerability has been registered as CVE-2018-5388. * CRLs that are not yet valid are now ignored to avoid problems in scenarios where expired certificates are removed from new CRLs and the clock on the host doing the revocation check is trailing behind that of the host issuing CRLs. Not doing this could result in accepting a revoked and expired certificate, if it's still valid according to the trailing clock but not contained anymore in not yet valid CRLs. * The issuer of fetched CRLs is now compared to the issuer of the checked certificate (#2608). * CRL validation results other than revocation (e.g. a skipped check because the CRL couldn't be fetched) are now stored also for intermediate CA certificates and not only for end-entity certificates, so a strict CRL policy can be enforced in such cases. * In compliance with RFC 4945, section 5.1.3.2, certificates used for IKE must now either not contain a keyUsage extension (like the ones generated by pki), or have at least one of the digitalSignature or nonRepudiation bits set. * New options for vici/swanctl allow forcing the local termination of an IKE_SA. This might be useful in situations where it's known the other end is not reachable anymore, or that it already removed the IKE_SA, so retransmitting a DELETE and waiting for a response would be pointless. * Waiting only a certain amount of time for a response (i.e. shorter than all retransmits would be) before destroying the IKE_SA is also possible by additionally specifying a timeout in the forced termination request. * When removing routes, the kernel-netlink plugin now checks if it tracks other routes for the same destination and replaces the installed route instead of just removing it. Same during installation, where existing routes previously weren't replaced. This should allow using traps with virtual IPs on Linux (#2162). * The dhcp plugin now only sends the client identifier DHCP option if the identity_lease setting is enabled (7b660944b6). It can also send identities of up to 255 bytes length, instead of the previous 64 bytes (30e886fe3b, 0e5b94d038). If a server address is configured, DHCP requests are now sent from port 67 instead of 68 to avoid ICMP port unreachables (becf027cd9). * The handling of faulty INVALID_KE_PAYLOAD notifies (e.g. one containing a DH group that wasn't proposed) during CREATE_CHILD_SA exchanges has been improved (#2536). * Roam events are now completely ignored for IKEv1 SAs (there is no MOBIKE to handle such changes properly). * ChaCha20/Poly1305 is now correctly proposed without key length (#2614). For compatibility with older releases the chacha20poly1305compat keyword may be included in proposals to also propose the algorithm with a key length (c58434aeff). * Configuration of hardware offload of IPsec SAs is now more flexible and allows a new setting (auto), which automatically uses it if the kernel and device both support it. If hw offload is set to yes and offloading is not supported, the CHILD_SA installation now fails. * The kernel-pfkey plugin optionally installs routes via internal interface (one with an IP in the local traffic selector). On FreeBSD, enabling this selects the correct source IP when sending packets from the gateway itself (e811659323). * SHA-2 based PRFs are supported in PKCS#8 files as generated by OpenSSL 1.1 (#2574). * The pki --verify tool may load CA certificates and CRLs from directories. * The IKE daemon now also switches to port 4500 if the remote port is not 500 (e.g. because the remote maps the response to a different port, as might happen on Azure), as long as the local port is 500 (85bfab621d). * Fixed an issue with DNS servers passed to NetworkManager in charon-nm (ee8c25516a). * Logged traffic selectors now always contain the protocol if either protocol or port are set (a36d8097ed). * Only the inbound SA/policy will be updated as reaction to IP address changes for rekeyed CHILD_SAs that are kept around. * The parser for strongswan.conf/swanctl.conf now accepts = characters in values without having to put the value in quotes (e.g. for Base64 encoded shared secrets). Notes for developers: * trap_manager_t: Trap policies are now unistalled by peer/child name and not the reqid. * No reqid is returned anymore when installing trap policies. * child_sa_t: A new state (CHILD_DELETED) is used for CHILD_SAs that have been deleted but not yet destroyed (after a rekeying CHILD_SAs are kept around for a while to process delayed packets). This way child_updown events are not triggered anymore for such SAs when an IKE_SA that has such CHILD_SAs assigned is deleted. - Version 5.6.2 =============== * Fixed a DoS vulnerability in the parser for PKCS#1 RSASSA-PSS signatures that was caused by insufficient input validation. One of the configurable parameters in algorithm identifier structures for RSASSA-PSS signatures is the mask generation function (MGF). Only MGF1 is currently specified for this purpose. However, this in turn takes itself a parameter that specifies the underlying hash function. strongSwan's parser did not correctly handle the case of this parameter being absent, causing an undefined data read. This vulnerability has been registered as CVE-2018-6459. * When rekeying IKEv2 IKE_SAs the previously negotiated DH group will be reused, instead of using the first configured group, which avoids an additional exchange if the peer previously selected a different DH group via INVALID_KE_PAYLOAD notify. The same is also done when rekeying CHILD_SAs except for the first rekeying of the CHILD_SA that was created with the IKE_SA, where no DH group was negotiated yet. Also, the selected DH group is moved to the front in all sent proposals that contain it and all proposals that don't are moved to the back in order to convey the preference for this group to the peer. * Handling of MOBIKE task queuing has been improved. In particular, the response to an address update (with NAT-D payloads) is not ignored anymore if only an address list update or DPD is queued as that could prevent updating the UDP encapsulation in the kernel. * On Linux, roam events may optionally be triggered by changes to the routing rules, which can be useful if routing rules (instead of e.g. route metrics) are used to switch from one to another interface (i.e. from one to another routing table). Since routing rules are currently not evaluated when doing route lookups this is only useful if the kernel-based route lookup is used (4664992f7d). * The fallback drop policies installed to avoid traffic leaks when replacing addresses in installed policies are now replaced by temporary drop policies, which also prevent acquires because we currently delete and reinstall IPsec SAs to update their addresses (35ef1b032d). * Access X.509 certificates held in non-volatile storage of a TPM 2.0 referenced via the NV index. Adding the --keyid parameter to pki --print allows to print private keys or certificates stored in a smartcard or a TPM 2.0. * Fixed proposal selection if a peer incorrectly sends DH groups in the ESP proposal during IKE_AUTH and also if a DH group is configured in the local ESP proposal and charon.prefer configured_proposals is disabled (d058fd3c32). * The lookup for PSK secrets for IKEv1 has been improved for certain scenarios (see #2497 for details). * MSKs received via RADIUS are now padded to 64 bytes to avoid compatibility issues with EAP-MSCHAPv2 and PRFs that have a block size < 64 bytes (e.g. AES-XCBC-PRF-128, see 73cbce6013). * The tpm_extendpcr command line tool extends a digest into a TPM PCR. * Ported the NetworkManager backend from the deprecated libnm-glib to libnm. * The save-keys debugging/development plugin saves IKE and/or ESP keys to files compatible with Wireshark. - Version 5.6.1 =============== * Several algorithms were removed from the default ESP/AH and IKE proposals in compliance with RFC 8221 and RFC 8247, respectively. Removed from the default ESP/AH proposal were the 3DES and Blowfish encryption algorithms and the HMAC-MD5 integrity algorithm. From the IKE default proposal the HMAC-MD5 integrity algorithm and the MODP-1024 Diffie-Hellman group were removed (the latter is significant for Windows clients in their default configuration). These algorithms may still be used in custom proposals. * Support for RSASSA-PSS signatures has been added. For compatibility with previous releases they are currently not used automatically, by default, to change that charon.rsa_pss may be enabled. To explicitly use or require such signatures during IKEv2 signature authentication (RFC 7427) ike:rsa/pss... authentication constraints may be used for specific connections (regardless of whether the strongswan.conf option above is enabled). Only the hash algorithm can be specified in such constraints, the MGF1 will be based on that hash and the salt length will equal the hash length (when verifying the salt length is not enforced). To enforce such signatures during PKI verification use rsa/pss... authentication constraints. * All pki commands that create certificates/CRLs can be made to sign with RSASSA-PSS instead of the classing PKCS#1 scheme with the --rsa-padding pss option. As with signatures during authentication, only the hash algorithm is configurable (via --digest option), the MGF1 will be based on that and the salt length will equal the hash length. * These signatures are supported by all RSA backends except pkcs11 (i.e. gmp, gcrypt, openssl). The gmp plugin requires the mgf1 plugin. Note that RSASSA-PSS algorithm identifiers and parameters in keys (public keys in certificates or private keys in PKCS#8 files) are currently not used as constraints. * The sec-updater tool checks for security updates in dpkg-based repositories (e.g. Debian/Ubuntu) and sets the security flags in the IMV policy database accordingly. Additionally for each new package version a SWID tag for the given OS and HW architecture is created and stored in the database. * Using the sec-updater.sh script template the lookup can be automated (e.g. via an hourly cron job). * When restarting an IKEv2 negotiation after receiving an INVALID_KE_PAYLOAD notify (or due to other reasons like too many retransmits) a new initiator SPI is allocated. This prevents issues caused by retransmits for IKE_SA_INIT messages. * Because the initiator SPI was previously reused when restarting the connection delayed responses for previous connection attempts were processed and might have caused fatal errors due to a failed DH negotiation or because of the internal retry counter in the ike-init task. For instance, if we proposed a DH group the responder rejected we might have later received delayed responses that either contained INVALID_KE_PAYLOAD notifies with the DH group we already switched to, or, if we retransmitted an IKE_SA_INIT with the requested group but then had to restart again, a KE payload with a group different from the one we proposed. * The introduction of file versions in the IMV database scheme broke file reference hash measurements. This has been fixed by creating generic product versions having an empty package name. * A new timeout option for the systime-fix plugin stops periodic system time checks after a while and enforces a certificate verification, closing or reauthenticating all SAs with invalid certificates. * The IKE event counters, previously only available via ipsec listcounters command, may now also be queried and reset via vici and the new swanctl --counters command. They are collected and provided by the optional counters plugin (enabled by default for backwards compatibility if the stroke plugin is built). * Class attributes received in RADIUS Access-Accept messages may optionally be added to RADIUS accounting messages (655924074b). * Basic support for systemd sockets has been added, which may be used for privilege separation (59db98fb94). * Inbound marks may optionally be installed in the SA again (was removed with 5.5.2) by enabling the mark_in_sa option in swanctl.conf. * The timeout of leases in pools configured via pool utility may be configured in other units than hours. INITIAL_CONTACT notifies are now only omitted if never is configured as uniqueness policy. * Outbound FWD policies for shunts are not installed anymore, by default (as is the case for other policies since 5.5.1). * Don't consider a DH group mismatch during CHILD_SA rekeying as failure as responder (e7276f78aa). * Handling of fragmented IPv4 and IPv6 packets in libipsec has been improved (e138003de9). * Trigger expire events for the correct IPsec SA in libipsec (6e861947a0). * A crash in CRL verification via openssl plugin using OpenSSL 1.1 has been fixed (78acaba6a1). * No hard-coded default proposals are passed from starter to the stroke plugin anymore (the IKE proposal used curve25519 since 5.5.2, which is an optional plugin). * A workaround for an issue with virtual IPs on macOS 10.13 (High Sierra) has been added (039b85dd43). * Handling of IKE_SA rekey collisions in charon-tkm has been fixed. * Instead of failing or just silently doing nothing unit tests may now warn about certain conditions (e.g. if a test was not executed due to external dependencies).- Added patch to fix vulnerability: CVE-2018-17540 (bsc#1109845) [+ 0010-strongswan-4.4.0-5.7.0_gmp-pkcs1-overflow.patch]- Added patch to fix vulnerability: CVE-2018-10811 (bsc#1093536) - denial-of-service vulnerability [+ 0009-strongswan-5.5.0-5.6.2_skeyseed_init.patch]- Added patch to fix vulnerability: CVE-2018-5388 (bsc#1094462) - Buffer Underflow in stroke_socket.c [+ 0008-strongswan-5.1.2-5.6.2_stroke_msg_len.patch]- Added patch to fix vulnerability: CVE-2018-16151,CVE-2018-16152 (bsc#1107874) - Insufficient input validation in gmp plugin [+ 0007-strongswan-5.3.1-5.6.0_gmp-pkcs1-verify.patch]- Removed unused requires and macro calls(bsc#1083261)- Updated to strongSwan 5.6.0 providing the following changes: * Fixed a DoS vulnerability in the gmp plugin that was caused by insufficient input validation when verifying RSA signatures, which requires decryption with the operation m^e mod n, where m is the signature, and e and n are the exponent and modulus of the public key. The value m is an integer between 0 and n-1, however, the gmp plugin did not verify this. So if m equals n the calculation results in 0, in which case mpz_export() returns NULL. This result wasn't handled properly causing a null-pointer dereference. This vulnerability has been registered as CVE-2017-11185. (bsc#1051222) * New SWIMA IMC/IMV pair implements the draft-ietf-sacm-nea-swima-patnc Internet Draft and has been demonstrated at the IETF 99 Prague Hackathon. * The IMV database template has been adapted to achieve full compliance with the ISO 19770-2:2015 SWID tag standard. * The pt-tls-client can attach and use TPM 2.0 protected private keys via the --keyid parameter. * By default the /etc/swanctl/conf.d directory is created and *.conf files in it are included in the default swanctl.conf file. * The curl plugin now follows HTTP redirects (configurable via strongswan.conf). * The CHILD_SA rekeying was fixed in charon-tkm and the behavior is refined a bit more since 5.5.3 * libtpmtss supports Intel's TSS2 Architecture Broker and Resource Manager interface (tcti-tabrmd). * more on https://wiki.strongswan.org/versions/66- fix "uintptr_t’ undeclared" compilation error. [+0006-fix-compilation-error-by-adding-stdint.h.patch]- Updated to strongSwan 5.3.5(bsc#1050691) providing the following changes: * Fixed a DoS vulnerability in the gmp plugin that was caused by insufficient input validation when verifying RSA signatures. More specifically, mpz_powm_sec() has two requirements regarding the passed exponent and modulus that the plugin did not enforce, if these are not met the calculation will result in a floating point exception that crashes the whole process. This vulnerability has been registered as CVE-2017-9022. Please refer to our blog for details. * Fixed a DoS vulnerability in the x509 plugin that was caused because the ASN.1 parser didn't handle ASN.1 CHOICE types properly, which could result in an infinite loop when parsing X.509 extensions that use such types. This vulnerability has been registered as CVE-2017-9023. Please refer to our blog for details. * The behavior during IKEv2 CHILD_SA rekeying has been changed in order to avoid traffic loss. When responding to a CREATE_CHILD_SA request to rekey a CHILD_SA the responder already has everything available to install and use the new CHILD_SA. However, this could lead to lost traffic as the initiator won't be able to process inbound packets until it processed the CREATE_CHILD_SA response and updated the inbound SA. To avoid this the responder now only installs the new inbound SA and delays installing the outbound SA until it receives the DELETE for the replaced CHILD_SA. * The messages transporting these DELETEs could reach the peer before packets sent with the deleted outbound SAs reach it. To reduce the chance of traffic loss due to this the inbound SA of the replaced CHILD_SA is not removed for a configurable amount of seconds (charon.delete_rekeyed_delay) after the DELETE has been processed. * The code base has been ported to Apple's ARM64 iOS platform, which required several changes regarding the use of variadic functions. This was necessary because the calling conventions for variadic and regular functions are different there. This means that assigning a non-variadic function to a variadic function pointer, as we did with our enumerator_t::enumerate() implementations and several callbacks, will result in crashes as the called function accesses the arguments differently than the caller provided them. To avoid this issue the enumerator_t interface has been changed and the signature of the callback functions for enumerator_create_filter() and two methods on linked_list_t have been changed. Refer to the developer notes below for details. * Adds support for fuzzing the certificate parser provided by the default plugins (x509, pem, gmp etc.) on Google's OSS-Fuzz infrastructure (or generally with libFuzzer). Several issues found while fuzzing these plugins were fixed. * Two new options have been added to charon's retransmission settings: retransmit_limit and retransmit_jitter. The former adds an upper limit to the calculated retransmission timeout, the latter randomly reduces it. Refer to Retransmission for details. * A bug in swanctl's --load-creds command was fixed that caused unencrypted private keys to get unloaded if the command was called multiple times. The load-key VICI command now returns the key ID of the loaded key on success. * The credential manager now enumerates local credential sets before global ones. This means certificates supplied by the peer will now be preferred over certificates with the same identity that may be locally stored (e.g. in the certificate cache). * Adds support for hardware offload of IPsec SAs as introduced by Linux 4.11 for specific hardware that supports this. * The pki tool loads the curve25519 plugin by default. [- 0006-Make-sure-the-modulus-is-odd-and-the-exponent-not-zero.patch, - 0007-asn1-parser-Fix-CHOICE-parsing.patch] - libhydra is removed as all kernel plugins moved to libcharon- Applied patch for "Don't retransmit Aggressive Mode response" bsc#985012. - Applied upstream patch for "Insufficient Input Validation in gmp Plugin" bsc#1039514(CVE-2017-9022). - Applied upstream patch for "Incorrect x509 ASN.1 parser error handling" bsc#1039515(CVE-2017-9023). [+0005-ikev1-Don-t-retransmit-Aggressive-Mode-response.patch, +0006-Make-sure-the-modulus-is-odd-and-the-exponent-not-zero.patch, +0007-asn1-parser-Fix-CHOICE-parsing.patch]- Updated to strongSwan 5.3.5 providing the following changes: Changes in version 5.3.5: * Properly handle potential EINTR errors in sigwaitinfo(2) calls that replaced sigwait(3) calls with 5.3.4. * RADIUS retransmission timeouts are now configurable, courtesy of Thom Troy. Changes in version 5.3.4: * Fixed an authentication bypass vulnerability in the eap-mschapv2 plugin that was caused by insufficient verification of the internal state when handling MSCHAPv2 Success messages received by the client. This vulnerability has been registered as CVE-2015-8023. * The sha3 plugin implements the SHA3 Keccak-F1600 hash algorithm family. Within the strongSwan framework SHA3 is currently used for BLISS signatures only because the OIDs for other signature algorithms haven't been defined yet. Also the use of SHA3 for IKEv2 has not been standardized yet. Changes in version 5.3.3: * Added support for the ChaCha20/Poly1305 AEAD cipher specified in RFC 7539 and RFC 7634 using the chacha20poly1305 ike/esp proposal keyword. The new chapoly plugin implements the cipher, if possible SSE-accelerated on x86/x64 architectures. It is usable both in IKEv2 and the strongSwan libipsec ESP backend. On Linux 4.2 or newer the kernel-netlink plugin can configure the cipher for ESP SAs. * The vici interface now supports the configuration of auxiliary certification authority information as CRL and OCSP URIs. * In the bliss plugin the c_indices derivation using a SHA-512 based random oracle has been fixed, generalized and standardized by employing the MGF1 mask generation function with SHA-512. As a consequence BLISS signatures unsing the improved oracle are not compatible with the earlier implementation. * Support for auto=route with right=%any for transport mode connections has been added (the ikev2/trap-any scenario provides examples). * The starter daemon does not flush IPsec policies and SAs anymore when it is stopped. Already existing duplicate policies are now overwritten by the IKE daemon when it installs its policies. * Init limits (like charon.init_limit_half_open) can now optionally be enforced when initiating SAs via VICI. For this, IKE_SAs initiated by the daemon are now also counted as half open SAs, which, as a side-effect, fixes the status output while connecting (e.g. in ipsec status). * Symmetric configuration of EAP methods in left|rightauth is now possible when mutual EAP-only authentication is used (previously, the client had to configure rightauth=eap or rightauth=any, which prevented it from using this same config as responder). * The initiator flag in the IKEv2 header is compared again (wasn't the case since 5.0.0) and packets that have the flag set incorrectly are again ignored. * Implemented a demo Hardcopy Device IMC/IMV pair based on the "Hardcopy Device Health Assessment Trusted Network Connect Binding" (HCD-TNC) document drafted by the IEEE Printer Working Group (PWG). * Fixed IF-M segmentation which failed in the presence of multiple small attributes in front of a huge attribute to be segmented. Changes in version 5.3.2: * Fixed a vulnerability that allowed rogue servers with a valid certificate accepted by the client to trick it into disclosing its username and even password (if the client accepts EAP-GTC). This was caused because constraints against the responder's authentication were enforced too late. This vulnerability has been registered as CVE-2015-4171. Changes in version 5.3.1: * Fixed a denial-of-service and potential remote code execution vulnerability triggered by IKEv1/IKEv2 messages that contain payloads for the respective other IKE version. Such payload are treated specially since 5.2.2 but because they were still identified by their original payload type they were used as such in some places causing invalid function pointer dereferences. The vulnerability has been registered as CVE-2015-3991. * The new aesni plugin provides CBC, CTR, XCBC, CMAC, CCM and GCM crypto primitives for AES-128/192/256. The plugin requires AES-NI and PCLMULQDQ instructions and works on both x86 and x64 architectures. It provides superior crypto performance in userland without any external libraries. Changes in version 5.3.0: * Added support for IKEv2 make-before-break reauthentication. By using a global CHILD_SA reqid allocation mechanism, charon supports overlapping CHILD_SAs. This allows the use of make-before-break instead of the previously supported break-before-make reauthentication, avoiding connectivity gaps during that procedure. As the new mechanism may fail with peers not supporting it (such as any previous strongSwan release) it must be explicitly enabled using the charon.make_before_break strongswan.conf option. * Support for "Signature Authentication in IKEv2" (RFC 7427) has been added. This allows the use of stronger hash algorithms for public key authentication. By default, signature schemes are chosen based on the strength of the signature key, but specific hash algorithms may be configured in leftauth. * Key types and hash algorithms specified in rightauth are now also checked against IKEv2 signature schemes. If such constraints are used for certificate chain validation in existing configurations, in particular with peers that don't support RFC 7427, it may be necessary to disable this feature with the charon.signature_authentication_constraints setting, because the signature scheme used in classic IKEv2 public key authentication may not be strong enough. * The new connmark plugin allows a host to bind conntrack flows to a specific CHILD_SA by applying and restoring the SA mark to conntrack entries. This allows a peer to handle multiple transport mode connections coming over the same NAT device for client-initiated flows. A common use case is to protect L2TP/IPsec, as supported by some systems. * The forecast plugin can forward broadcast and multicast messages between connected clients and a LAN. For CHILD_SA using unique marks, it sets up the required Netfilter rules and uses a multicast/broadcast listener that forwards such messages to all connected clients. This plugin is designed for Windows 7 IKEv2 clients, which announces its services over the tunnel if the negotiated IPsec policy allows it. * For the vici plugin a Python Egg has been added to allow Python applications to control or monitor the IKE daemon using the VICI interface, similar to the existing ruby gem. The Python library has been contributed by Björn Schuberg. * EAP server methods now can fulfill public key constraints, such as rightcert or rightca. Additionally, public key and signature constraints can be specified for EAP methods in the rightauth keyword. Currently the EAP-TLS and EAP-TTLS methods provide verification details to constraints checking. * Upgrade of the BLISS post-quantum signature algorithm to the improved BLISS-B variant. Can be used in conjunction with the SHA256, SHA384 and SHA512 hash algorithms with SHA512 being the default. * The IF-IMV 1.4 interface now makes the IP address of the TNC access requestor as seen by the TNC server available to all IMVs. This information can be forwarded to policy enforcement points (e.g. firewalls or routers). * The new mutual tnccs-20 plugin parameter activates mutual TNC measurements in PB-TNC half-duplex mode between two endpoints over either a PT-EAP or PT-TLS transport medium. - Adjusted file lists and removed obsolete patches [- 0005-strongswan-5.2.2-5.3.0_unknown_payload.patch, - 0006-strongswan-5.1.0-5.3.1_enforce_remote_auth.patch, - 0007-strongswan-4.4.0-5.3.3_eap_mschapv2_state.patch]- Applied upstream fix for a authentication bypass vulnerability in the eap-mschapv2 plugin (CVE-2015-8023,bsc#953817). [+ 0007-strongswan-4.4.0-5.3.3_eap_mschapv2_state.patch]- Applied upstream fix for a rogue servers vulnerability, that may enable rogue servers able to authenticate itself with certificate issued by any CA the client trusts, to gain user credentials from a client in certain IKEv2 setups (bsc#933591,CVE-2015-4171). [+ 0006-strongswan-5.1.0-5.3.1_enforce_remote_auth.patch] - Fix to apply unknown_payload patch if fips is disabled (<= 13.1) and renamed it to use number prefix corresponding with patch nr. [- strongswan-5.2.2-5.3.0_unknown_payload.patch, + 0005-strongswan-5.2.2-5.3.0_unknown_payload.patch]- Applied upstream fix for a DoS and potential remote code execution vulnerability through payload type (bsc#931272,CVE-2015-3991) [+ strongswan-5.2.2-5.3.0_unknown_payload.patch]- Updated to strongSwan 5.2.2 providing the following changes: Changes in version 5.2.2: * Fixed a denial-of-service vulnerability triggered by an IKEv2 Key Exchange payload that contains the Diffie-Hellman group 1025. This identifier was used internally for DH groups with custom generator and prime. Because these arguments are missing when creating DH objects based on the KE payload an invalid pointer dereference occurred. This allowed an attacker to crash the IKE daemon with a single IKE_SA_INIT message containing such a KE payload. The vulnerability has been registered as CVE-2014-9221. * The left/rightid options in ipsec.conf, or any other identity in strongSwan, now accept prefixes to enforce an explicit type, such as email: or fqdn:. Note that no conversion is done for the remaining string, refer to ipsec.conf(5) for details. * The post-quantum Bimodal Lattice Signature Scheme (BLISS) can be used as an IKEv2 public key authentication method. The pki tool offers full support for the generation of BLISS key pairs and certificates. * Fixed mapping of integrity algorithms negotiated for AH via IKEv1. This could cause interoperability issues when connecting to older versions of charon. Changes in version 5.2.1: * The new charon-systemd IKE daemon implements an IKE daemon tailored for use with systemd. It avoids the dependency on ipsec starter and uses swanctl as configuration backend, building a simple and lightweight solution. It supports native systemd journal logging. * Support for IKEv2 fragmentation as per RFC 7383 has been added. Like IKEv1 fragmentation it can be enabled by setting fragmentation=yes in ipsec.conf. * Support of the TCG TNC IF-M Attribute Segmentation specification proposal. All attributes can be segmented. Additionally TCG/SWID Tag, TCG/SWID Tag ID and IETF/Installed Packages attributes can be processed incrementally on a per segment basis. * The new ext-auth plugin calls an external script to implement custom IKE_SA authorization logic, courtesy of Vyronas Tsingaras. * For the vici plugin a ruby gem has been added to allow ruby applications to control or monitor the IKE daemon. The vici documentation has been updated to include a description of the available operations and some simple examples using both the libvici C interface and the ruby gem. Changes in version 5.2.0: * strongSwan has been ported to the Windows platform. Using a MinGW toolchain, many parts of the strongSwan codebase run natively on Windows 7 / 2008 R2 and newer releases. charon-svc implements a Windows IKE service based on libcharon, the kernel-iph and kernel-wfp plugins act as networking and IPsec backend on the Windows platform. socket-win provides a native IKE socket implementation, while winhttp fetches CRL and OCSP information using the WinHTTP API. * The new vici plugin provides a Versatile IKE Configuration Interface for charon. Using the stable IPC interface, external applications can configure, control and monitor the IKE daemon. Instead of scripting the ipsec tool and generating ipsec.conf, third party applications can use the new interface for more control and better reliability. * Built upon the libvici client library, swanctl implements the first user of the VICI interface. Together with a swanctl.conf configuration file, connections can be defined, loaded and managed. swanctl provides a portable, complete IKE configuration and control interface for the command line. The first six swanctl example scenarios have been added. * The SWID IMV implements a JSON-based REST API which allows the exchange of SWID tags and Software IDs with the strongTNC policy manager. * The SWID IMC can extract all installed packages from the dpkg (Debian, Ubuntu, Linux Mint etc.), rpm (Fedora, RedHat, OpenSUSE, etc.), or pacman (Arch Linux, Manjaro, etc.) package managers, respectively, using the swidGenerator (https://github.com/strongswan/swidGenerator) which generates SWID tags according to the new ISO/IEC 19770-2:2014 standard. * All IMVs now share the access requestor ID, device ID and product info of an access requestor via a common imv_session object. * The Attestation IMC/IMV pair supports the IMA-NG measurement format introduced with the Linux 3.13 kernel. * The aikgen tool generates an Attestation Identity Key bound to a TPM. * Implemented the PT-EAP transport protocol (RFC 7171) for Trusted Network Connect. * The ipsec.conf replay_window option defines connection specific IPsec replay windows. Original patch courtesy of Zheng Zhong and Christophe Gouault from 6Wind. - Adjusted file lists and removed obsolete patches [- 0005-restore-registration-algorithm-order.bug897512.patch, - 0006-strongswan-5.1.2-5.2.1_modp_custom.CVE-2014-9221.patch] - Adopted/Merged fipscheck patches [* strongswan_fipscheck.patch, strongswan_fipsfilter.patch]- Disallow brainpool elliptic curve groups in fips mode (bnc#856322). [* strongswan_fipsfilter.patch]- Applied an upstream fix for a denial-of-service vulnerability, which can be triggered by an IKEv2 Key Exchange payload, that contains the Diffie-Hellman group 1025 (bsc#910491,CVE-2014-9221). [+ 0006-strongswan-5.1.2-5.2.1_modp_custom.CVE-2014-9221.patch] - Adjusted whilelist of approved algorithms in fips mode (bsc#856322). [* strongswan_fipsfilter.patch] - Renamed patch file to match it's patch number: [- 0001-restore-registration-algorithm-order.bug897512.patch, + 0005-restore-registration-algorithm-order.bug897512.patch]- Updated strongswan-hmac package description (bsc#856322).- Disabled explicit gpg validation; osc source_validator does it. - Guarded fipscheck and hmac package in the spec file for >13.1.- Added generation of fips hmac hash files using fipshmac utility and a _fipscheck script to verify binaries/libraries/plugings shipped in the strongswan-hmac package. With enabled fips in the kernel, the ipsec script will call it before any action or in a enforced/manual "ipsec _fipscheck" call. Added config file to load openssl and kernel af-alg plugins, but not all the other modules which provide further/alternative algs. Applied a filter disallowing non-approved algorithms in fips mode. (fate#316931,bnc#856322). [+ strongswan_fipscheck.patch, strongswan_fipsfilter.patch] - Fixed file list in the optional (disabled) strongswan-test package. - Fixed build of the strongswan built-in integrity checksum library and enabled building it only on architectures tested to work. - Fix to use bug number 897048 instead 856322 in last changes entry. - Applied an upstream patch reverting to store algorithms in the registration order again as ordering them by identifier caused weaker algorithms to be proposed first by default (bsc#897512). [+0001-restore-registration-algorithm-order.bug897512.patch]/bin/sh/sbin/ldconfigh04-armsrv2 1773302218  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL5.9.12-150600.3.11.15.9.12-150600.3.11.15.9.12-150600.3.11.1 strongswan.confstrongswan.dcharoncharon-logging.confcharon-systemd.confcharon.confaddrblock.confaes.confaf-alg.confagent.confattr-sql.confattr.confblowfish.confccm.confcertexpire.confcmac.confconstraints.confcounters.confcoupling.confctr.confcurl.confcurve25519.confdes.confdhcp.confdnskey.confdrbg.confduplicheck.confeap-aka-3gpp2.confeap-aka.confeap-dynamic.confeap-gtc.confeap-identity.confeap-md5.confeap-mschapv2.confeap-peap.confeap-radius.confeap-sim-file.confeap-sim-pcsc.confeap-sim.confeap-simaka-pseudonym.confeap-simaka-reauth.confeap-simaka-sql.confeap-tls.confeap-tnc.confeap-ttls.conffarp.conffips-prf.confgcm.confgcrypt.confgmp.confha.confhmac.confkdf.confkernel-netlink.confldap.confled.confmd4.confmd5.confmgf1.confnonce.confopenssl.confpem.confpgp.confpkcs1.confpkcs11.confpkcs12.confpkcs7.confpkcs8.confpubkey.confradattr.confrandom.confrc2.confresolve.confrevocation.confsha1.confsha2.confsmp.confsocket-default.confsoup.confsql.confsshkey.confstroke.conftnc-imc.conftnc-imv.conftnc-pdp.conftnc-tnccs.conftnccs-11.conftnccs-20.conftnccs-dynamic.confunity.confupdown.confvici.confx509.confxauth-eap.confxauth-generic.confxauth-pam.confxcbc.confimcv.confpki.confpool.confstarter.confswanctl.conftnc.confstrongswan.confipsecimcvsimc-scanner.soimc-test.soimv-scanner.soimv-test.solibcharon.so.0libcharon.so.0.0.0libimcv.so.0libimcv.so.0.0.0libpttls.so.0libpttls.so.0.0.0libradius.so.0libradius.so.0.0.0libsimaka.so.0libsimaka.so.0.0.0libstrongswan.so.0libstrongswan.so.0.0.0libtls.so.0libtls.so.0.0.0libtnccs.so.0libtnccs.so.0.0.0libtpmtss.solibtpmtss.so.0libtpmtss.so.0.0.0libvici.solibvici.so.0libvici.so.0.0.0pluginslibstrongswan-addrblock.solibstrongswan-aes.solibstrongswan-af-alg.solibstrongswan-agent.solibstrongswan-attr-sql.solibstrongswan-attr.solibstrongswan-blowfish.solibstrongswan-ccm.solibstrongswan-certexpire.solibstrongswan-cmac.solibstrongswan-constraints.solibstrongswan-counters.solibstrongswan-coupling.solibstrongswan-ctr.solibstrongswan-curl.solibstrongswan-curve25519.solibstrongswan-des.solibstrongswan-dhcp.solibstrongswan-dnskey.solibstrongswan-duplicheck.solibstrongswan-eap-aka-3gpp2.solibstrongswan-eap-aka.solibstrongswan-eap-dynamic.solibstrongswan-eap-gtc.solibstrongswan-eap-identity.solibstrongswan-eap-md5.solibstrongswan-eap-mschapv2.solibstrongswan-eap-peap.solibstrongswan-eap-radius.solibstrongswan-eap-sim-file.solibstrongswan-eap-sim-pcsc.solibstrongswan-eap-sim.solibstrongswan-eap-simaka-pseudonym.solibstrongswan-eap-simaka-reauth.solibstrongswan-eap-simaka-sql.solibstrongswan-eap-tls.solibstrongswan-eap-tnc.solibstrongswan-eap-ttls.solibstrongswan-farp.solibstrongswan-fips-prf.solibstrongswan-gcm.solibstrongswan-gcrypt.solibstrongswan-gmp.solibstrongswan-ha.solibstrongswan-hmac.solibstrongswan-kdf.solibstrongswan-kernel-netlink.solibstrongswan-ldap.solibstrongswan-led.solibstrongswan-md4.solibstrongswan-md5.solibstrongswan-mgf1.solibstrongswan-nonce.solibstrongswan-openssl.solibstrongswan-pem.solibstrongswan-pgp.solibstrongswan-pkcs1.solibstrongswan-pkcs11.solibstrongswan-pkcs12.solibstrongswan-pkcs7.solibstrongswan-pkcs8.solibstrongswan-pubkey.solibstrongswan-radattr.solibstrongswan-random.solibstrongswan-rc2.solibstrongswan-resolve.solibstrongswan-revocation.solibstrongswan-sha1.solibstrongswan-sha2.solibstrongswan-smp.solibstrongswan-socket-default.solibstrongswan-soup.solibstrongswan-sql.solibstrongswan-sshkey.solibstrongswan-tnc-imc.solibstrongswan-tnc-imv.solibstrongswan-tnc-pdp.solibstrongswan-tnc-tnccs.solibstrongswan-tnccs-11.solibstrongswan-tnccs-20.solibstrongswan-tnccs-dynamic.solibstrongswan-unity.solibstrongswan-vici.solibstrongswan-x509.solibstrongswan-xauth-eap.solibstrongswan-xauth-generic.solibstrongswan-xauth-pam.solibstrongswan-xcbc.sostrongswantemplatesconfigpluginsaddrblock.confaes.confaf-alg.confagent.confattr-sql.confattr.confblowfish.confccm.confcertexpire.confcmac.confconstraints.confcounters.confcoupling.confctr.confcurl.confcurve25519.confdes.confdhcp.confdnskey.confdrbg.confduplicheck.confeap-aka-3gpp2.confeap-aka.confeap-dynamic.confeap-gtc.confeap-identity.confeap-md5.confeap-mschapv2.confeap-peap.confeap-radius.confeap-sim-file.confeap-sim-pcsc.confeap-sim.confeap-simaka-pseudonym.confeap-simaka-reauth.confeap-simaka-sql.confeap-tls.confeap-tnc.confeap-ttls.conffarp.conffips-prf.confgcm.confgcrypt.confgmp.confha.confhmac.confkdf.confkernel-netlink.confldap.confled.confmd4.confmd5.confmgf1.confnonce.confopenssl.confpem.confpgp.confpkcs1.confpkcs11.confpkcs12.confpkcs7.confpkcs8.confpubkey.confradattr.confrandom.confrc2.confresolve.confrevocation.confsha1.confsha2.confsmp.confsocket-default.confsoup.confsql.confsshkey.confstroke.conftnc-imc.conftnc-imv.conftnc-pdp.conftnc-tnccs.conftnccs-11.conftnccs-20.conftnccs-dynamic.confunity.confupdown.confvici.confx509.confxauth-eap.confxauth-generic.confxauth-pam.confxcbc.confstrongswan.confstrongswan.dcharon-logging.confcharon-systemd.confcharon.confimcv.confpki.confpool.confstarter.confswanctl.conftnc.confdatabaseimvdata.sqltables.sqlsql/etc//etc/strongswan.d//etc/strongswan.d/charon//usr/lib/tmpfiles.d//usr/lib64//usr/lib64/ipsec//usr/lib64/ipsec/imcvs//usr/lib64/ipsec/plugins//usr/share//usr/share/strongswan//usr/share/strongswan/templates//usr/share/strongswan/templates/config//usr/share/strongswan/templates/config/plugins//usr/share/strongswan/templates/config/strongswan.d//usr/share/strongswan/templates/database//usr/share/strongswan/templates/database/imv/-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:43148/SUSE_SLE-15-SP6_Update/94769ddc3f18e01182f2e6cc29f77353-strongswan.SUSE_SLE-15-SP6_Updatedrpmxz5aarch64-suse-linux      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghASCII textdirectoryELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=aae8d343cb2af15759dac546fdf6547c6810ddaa, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=3a9ec2a6fb4f5c9f849e0bf8ae5ec03fbad7499a, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b0dd263bd9571a784c79c4badf395db484160076, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=a6c2e1e4f7665f15365ab4c7f717eac4ee992d86, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=55ed496b7439cb1b483d1cd2643fd65817f5ed0c, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=8a276002da1025c687c0a778623ed4677e30b58f, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=211699533ccb52450849ed7c184b0dc5706181d1, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=00e5f69a4b323b6ea3fdd7e7901fe9837ed5561c, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=6b71bee2a001577101e41d878be718eba4df3c50, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5fb3347cb1a15a3582f70cc908f19cad8ad569be, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=80de94661b070731f608ef6019b165c0aeb1e943, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=a960f3c4b79a2ef1d9e09fe9382868c1566d61fc, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=34079760cdca9a76080e4ba7d815eb0efc0a8377, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0fb34c9edc1f776f0df24dff32b5378ea018d496, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=48f22eec0443e5d2eee811e2e7362ca58379c049, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=2573ca089c1fae2d792218aa64eaf2d08c0a7e7b, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=e5a7713c07d94c2c335a4f7dde07f5f5106367fd, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=810452fd26013daaacc4eb9e39f8806bb29c0d7b, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=750ad2dbf81a685b06701409de2deb93da1d88ef, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=e86b3d900abe6b68fb5179a0440d8b610930f16a, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=196b4e9ba5c3f6232bf27c73e62cec4d747584d3, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=bdb3ec37f53c15a94e5d10e16e4cfbe7db7de431, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4f37d833d48d6d4ec52bdc037e2049f8d14e8195, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=a2174f2bc6c22be3cb7a6070189522d6b52e7976, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=f56f2f9989c9e04688a632b9b75b380d74beb975, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=44d477f891055380460cb0afa78abf3d4305c06a, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=cf662d98ba42cce9e612e76f40ea90ad3551c32a, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=67c0899e3056b9b48b23eff66188540fe0a46d86, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=6cbed3dec91732b62eef98ce90b2052bda714b6f, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=2990cdd725d2012f8dac3c639e43b919323a8f3b, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=7999575733f20bf537d364e96bbcde0d6baf9f51, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=a144d867ffa0e68a3a3f96ea428094e4c22dfdd3, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ae5d292c604fb2f69c1673075e0621f42a69b3c9, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=1b6f3193adaacb9f5c82896fdcba6062616daea9, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=7c542d9ee6b692927fd9751a9360f51775dff971, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=6f786afe620e52c69166e22f8b1d8d879c46f680, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=6168cf44e29420216f564a14d6f0f028cec943f7, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=113f5e81214e35db6e2b066aca48f488fbd7675f, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=cfe961ad9bb37e163727a7e4182283e0da3bc6c5, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=efcd56d24797682842c43ef7b775e5ece14adb77, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=e132014d0b8c07b6e904aaadc8bee78a7bbb1677, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0622ad1e3bc68d846fee6a8200d75944756d5d0e, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=9b979162209974ae0388ac0d16f0409ba928ce6f, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=1f65570601b21bdabb6620ae4007854e3381c07b, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5f080466492ad15d39065ffbae7b74ae777d8e38, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=2a29b99229188e8fde732389df3049297ed798ff, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=6abfe3d288a4364215b39d5c8b02f4d17c45b6bb, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=f12e992e3b469fb7637ecad849502a93073b3b44, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=9c260bed65d2466d121a5cad5727fc3ea2d5a57f, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=f20b48611dae295a3e567704e4b16e470adef4c6, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=7ece440be641fce0edf35247cf3112a58fdc7b7e, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=1c703d2b29f59ed0edb494f6469d59da7f16cd0c, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=120cc825be7f5c1421343088819301f776615898, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=2899e8bfa3f271c4a89a8637bdc129dca764d343, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=14cfe9c817ff78ea26c2cdf0978c7e9dc7515896, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=787db9087dcd7acb80cbee352c969e45ac2851b3, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=17373fd15a72c2bcb4e708ebde0480320b2fa93e, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=6146e7eb549d3ed1f00692c47736df5c6a842608, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=aeb1a56893715f9cdb9e29427d29478c4a38fa82, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4642c0518213d5b076763b827b831c29ff1826f2, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=d0bcbc3baf8e032bceafea69f10ddcc41aca29dd, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=3f518abcb30e5d4b69284167ae6f367f36e7d3cb, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=e513725ab929b3143cfdf980cac9f54a51277313, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=af95375470b7e3c8aa285ca1ff49120dc3197fc8, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c366bcfd08faa42db656aa94c736d9b66e0ca513, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=6c454d62ace4d466323d2a5e0dd8e5dd8b7061aa, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=919c08f89ed5d1da5c965e0e4f20f7e657b2af11, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=a53a3a1b16d712826e056d92f0c8764844d6a6db, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=1b92911f57fb10d3dc98503b1bd9aad55dd49ba9, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=8d660595e979828c4cb56af6681494e37243793f, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5f1b89a2cbbae8e791b18942b3ce582074c96e73, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4fa8781bf138f3ec368cd5cacb448d96fbf0a1d2, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=546d5b396dbed57bab2fb5af52d3e65dd7746415, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=e7e5bd0a9d7d55c09f481f3b42675a17faa3a660, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5faf60a17f7602a85d2f50a9788c0a08896005dd, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=3c0cfc94a473c8075a9d595f174fb4f0605e778e, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=86a87ef8cb0fe30306719c5d2392496f86fe4605, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=d2031e261d0b016cdd1a21623bb01f8d5a12480d, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=3fa2a3990379b2256f19db83d63bd6fc80a38bee, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=780917d07f0f62debf039ab059baf0670098bc2f, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=59f4916a7844fc0aae28340c26934e944a741c9d, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=e515d1ac7dc32590541b0eb5a1d46722066c34d1, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=e9f503a0e4b9ffafdcabd4c76b8d8bb007ea1591, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=8fe583433f8e6e5a67120e64d82b048767b6a1d4, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=9bd74701d0e8b6be1a53dfc95fe5d0aa70a873f3, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=e3af609c825fa171fb19b8d30814800aa3e86658, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c9ed167a883cbbc0c1612e8a497d3f3a6c8839a1, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=dc12a669d53bf46a1f67e4e543292677e4495b37, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=8e0f8735a2a23b103384dd3d8ee8447f3979e76c, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c8b9c82b04f2867b555d6aed1dc390709689899a, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b56b0d02eb897cb732f4be17989b77280c4c5d7a, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b1bf87def4d2f4a5f570385d7f694191ae097f8e, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=8e65cba16751c820f83cfff4c254a855270a8fcb, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=86c71aeca59863b0662231f16e989eb6365a3cc2, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=124e8800e1d6d760a32db6480df1b276acdad5d3, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=2e5085462f8e47445314a11d535ca43d3df17f64, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=a527064814745715bc76f9bd668726141c574d17, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=8c5d028f0503ca33988c8a17922102ec3bdef3e5, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c56b11cab821d998644dc2a2a4ec3cb2c10cf580, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b1492e4d9cdc48ae48abd330f93cfe8ad5299b04, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=604cff36b9a3cd80ac5aaa62b46c9914e4701cb2, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=fb13baf2977f3ca6be8172f4ed0f5abe75372349, stripped !*1:AOV\binrw| ")07>FMRW]gnu{ "*3<CLSZ_glqv~      RRRR%RRRRRR%RRRRRR%RRRRRR%RRPRRRRR%RRRPRRR RR*R%RRPRRR(R%RRPRRRRR%RRRPRRRR%RRP^RR'R RR R R R RRR&RRP_RRRR%RRP`RRR%RRPaRRR%RRPbRRRR%RRPRRRRPRRRPRRRRP RRRRP RRRRP RRRRP RRRRRP RRRRRPRRRRPRRRRRPRRRRPRRRRPRRRRPRRRRPRRRRRPRRRRRPRRRRRPRRRRPRRRRPRRRRPRRRR#R%RRPRRRR#R%RRPRRRRPRRRRPRRRRPRRRRP RRRRRP!RRR(R%RRP"RRRR"R%RRP#RRR#R%RRP$RRR R#R%RRP%RRRR#R%RRP&RRR#R%RRP'RRR#R%RRP(RRR#R%RRP)RRR(R%RRP*RRR(R)R%RRP+RRR(R%RRP,RRRRP-RRRRP.RRRRRP/RRRRRRRRRP0RRRRRRP1RRR RRRP2RRRRRP3RRRRRP4RR RR RRRP5RRRRRRP6RRRRP7RRRRP8RRRRP9RRRP:RRP;RRRRRRRPRRRRP?RRR RRRP@RRRRRPARRRRRPBRRRRRPCRRRRPDRRR"R%RRPERRPFRRRRRPGRR RRRPHRRRRPIRRRRPJRRRRPKRRR-R,R.R+RRPLRRRRPMRRR$RRRRPNRRRRPORRRRRPPRR RR)R%RRPQRRR RR)R%RRPRRRR"R!R)R%RRPSRRR)R%RRPTRRR,R+R)R%RRPURRR)R%RRPVRRR)R%RRPWRRRRPXRRR RR RRPYRRRRPZRRRRP[RRRRP\RRRRRRRP]RRRRRQ7;ds]o=Iutf-85e7d233da6629e9f22d7d0e139816c638fd63626dde67734f600242b341a2462?7zXZ !t/]"k%Fc֘f1/x9+.ut) @,ܛ6Sg=\rJrDhGtvBf*[ E,( ~4-oƗq8h(r _LKcm`B,J2]޹ qv$V3m1X5.B9`VTƹ vۮrzk:Sjω$lVjӋz֎efNɗw>N '٬q$UJ{TA&P}525$ P/(d9~"9W1J|3ïNb_Onc "Ȍ$kd#˿O*fr,ghb7;&4+?fAw8)j1IJS3(PhpC ]֑Ülg@m<<}D)R9"ދ%p")Z*a悚.(ru!-޶MRXAiPxp?4H/EsA] c{΢r 1. ß [QTp):}HoK[^ 6ժ]@g.<=ِ9U= QʮwE3 |.W,2[wDC űrV3vmʎ?"nV[Z0%Ht+sY${*_0!ON]?uIuߢLbNf&c B4|zm̶fL}qnڏb zB"".`93W4if6 k/)}W#o̮)ڒ/@$ OZ`?;n H&a2ϴ*a\OnEvBd')$.zkK3T\ wL :o1q/:xP-`+±Cp8dvgj فBqeDMj]C&M֫ÊnO&0>Zv{u_Qo# bd/"H3ǹLaPN ؟S?f|2Y *>>?,ps=e~Kli =lz ydB2m$B!f1ctY4 Fh!:0\l!E1+4?Ү-%-UϵaE'~I^8~8,rw ۀ,4f@H`a8qVϝkyJbQ$0£z yp1q%⦂#Om5\n^zLnXKfiꊷdeZ?3dzrDB"; /쫑EeoARb@UgԼ/F*}"!XE2Gn)j*PK";PqNli9-Q[נ\qV!k-ad"ߠ ǘiC9x i2 pKW-V<`1) Vddz~f&Ɇ1Pb )-]٢.`f)Bה; @?,icA>{8YuX[)F5sBu\N&յ\}Iă~!8s[j*BAyv,uPIM$˗m̌/yOl..dh}lTF;-E(6F9EK|ѕplo5nҥ$^B.Q~DTIC M'(" .-"m|l1HJ2:\ܕPPaCuNS2ՙ2]fϜ60&RYABT_&\"sDwuʍ&\S҇""ZwJva?X!T L`\s]9ҰΞAl#Hr:NKPVN@ic}w#b\$"D)'[:QZ'8FФȏMI_o98c)tnk( 85(.PtPCn6У\-]9-&vDzC ͱHG(sÙlЖ1hx..?Bf<pޖܾcFE%&NalW'zf쩆* k\EE!r ͉ :0hH9od2K T~7?X8.ڟ H6o(!s6 bUo'yOm+]д7_]r&AN ?)7fLp ~*c8/- vU߬~ W 6q2i! HR6c7#iRM|PnFo"Ѓ-Mβ!}g7TmjRy41FbWqCӛ: 4^$rR@~*kEC(+A cf2Qp|I%o;ȏO~1Dm~[Zʕ#?)Mv.ldX OdTe:uBvyT37K\L}_$?~=H#s6}˅$-% 0Xdjx0SP%\;_'oڜ/dH⦩8 ;t>JkWM^#=k#~4OeM.+ً:4<}mdaLW}Ǧ8qcEJ| cCAW`8+u>bpS͉8vV;2k<,Ё&7QFX_!k[)d{^ 0ϴA1?@29ԃ;wV ]{(k8f&BRmOpࠥ?;:1gjcJT'~QoUG! sg Q[Ws~a3Z*_9uNVݍ^Ma첦N%hM;Ey< j5B^xےUQg!{eb[琗I/>#(lcrU ELd_ ìT3qKЅ-hcšguV2'a=S.s%omQ6U8o>p 0XYSn[)<-p={ L*йh,C (g5Xp,eUcO*(E 5ev /09 w*ש %ă&S;y*<<@u 3 z=6xҼEl 0p񞲵a4#S&M"hT|W/"j1b>̿ɿ&J4%'nBL辴؊#0emW]MSˆ19κ 7+fL!9}䱇@ʈYk-$9K.e&P tߥ-f_cE NAm~,HmC[ަjț7gas^t{7{+ U4qKiںEшOOOj{5<L'$B_!  tq{by`"- |&4΅Ξĵ)ZDI!-;F0OQns ;>-M V s )܃VÚ!: O`5c-G;}\^ GH6&igЌ#%GN9Q\ :3vثboN5(i.e&՗7K,߯K_u@Q/۰w0 P,j"YPn \I꿆Xcٍ!GEְ}.Ow:rM@u8^ \!4 {Ww;/ElkUCDk ;31ĕjcsq'J nC51ZWYejoR1$՜q|:[Lyq){ߙݢ(=(e d[TZ\SS&!$Kx8Zc:(qw\FԊi][)jD$D-fniޜG"3Vd'fD=F؝ @ƞgYJNcmUx(T%M,i#"fow~ph0z9Lfl\ :9k}W*y[RNEIbswezA0MtK NԪɅ,l V>$>ڛlbSZS%;Ge$̭܄q^[G>#qAz F?^0B!,Ҋs\C-@[ m\( Q~pnnFW^dsN++a{c?vUQ8pT8W)%!FP'#QԩhƐ^[9h$t@hzMr Ǘo\pDRVJV}J@oXMm I{x-pj,%< z $,#b13J<>$BKfE.M :);u63x> //V "q1`(b|9ш fh-Wrȯ8~ Lorͳ(0@?e@=ug[[¶zWdW\>@ZYpPr2]^.rs6zρg[KlwpccIw HWb"䝮7\Kˈس"\V1 IgN;vQ@*)N[r4V%^TOx9Y.a<*#&]^'iq~e9j+Va75Ea)1U8TDSNY!J0w;Pvd`|}1BY`.>t ܦ4Cod?5OE`T陰 ԅ`sy#x^vyiK оp2 YydZg̷(#nga[F(p﫫93c;b BucȰA߅caԓfIhaq_8znzMo?'9X߆n=yr7'x8ya4 իj1]'[c|O.5*ʎ"'%`AiZ ,ybaWfL42@"%cn'6uW;96ZN*+ ZVNJ22{ RAPrӱV UGP?ľ&sI6c!$V4=@mF\C݉Ut#<ѩet.&ia5F]U-w׬W2N/nYGkR5Ց-e(k2|)fש(~MNJ-ǒ }}c 4R9*N> h6k,X⋽,l wRY]32WSiһe #G.srZ{Y+G)ZC*2d镕KL񡆧T %/2*I8{\xl/@91h;G:lsJiyՉ{nЁ":}T Lkr'7rp6}NaoG;OqlFxo1V러~v ! T4#L#?#5U2qnP9hfP>cW[U9Y@g^Z6iX ՗5DLʈ0ado(C"]4w'y/DcKoo}bA`Z$]Y$@p;Oi\#A8 '(k-]};'#ΧO,mmބQB02mV ON~*a]uo),@`M'^5x(& NC"N;GQ3~twOdţf|O0 SץlnP OjXi Me$N.uت"Iknlk7|M@C3hppo88j>IҪ +SBXЀ!?]VL]Py2 3IZ%mƭQy A+ x5Ed?$=vT ~fY2:=(U.n0( opTu_0#{KK lhjz0\t^֫= #Sg?r` ʠJ)OK1щ7Ҁ(₻F̱q$lOT7i5XUF$x7ڷqg%X A#\]Y߾CL 3ui:,N c+"69_W.GIR }zH& .{-<,ҪmOH" u'5^e/yѨ8q/nDxXV_&^asd6Vtз45=$W6)4+Lâyz6F *"/zwN0{tѺ5>ocBZv _O0 tt̘P W@co{L*_ :Du>샙;\DئnjF-S4w *A,NI7mgkLb˃vRԭ+;hyy1u#O@0Θaj.R4rݸv.w?/pJ-4_-j,aWv{tVN24՜xLz'"U~9?s1=S\H M_fh h ~Xk@tҊ~NR|>g,W0nHEd%p42)Um[$o_c|âl6tOWd~fR=ݡ49ʟ Wu -#r>833')oFA℧YȇWI(uڎ"bA8%J+m``J~ތkxS0%\^^IBN)^캚IBOK A/أL' 3i Q8]vb 1 /zqv M[lp/̈́%Z-!Ufo敫vQ 32{Õn s$xGt@%m?i ŴZxyW)kݠ,R̈́[6H@ (yWduҚUU@/ݴ,9qG`-4#[ve1:^ڙm,֏DFIs*c|z3ʴ}eh.}S ɽpt}C(T27-H9ךTh1îJQH@XL˻qdfuT\!gbJWDtJ7br_ѓ SŁR]M8~1_ gL wS(_2qwӟMvP3&D4ik x9;g) Yv)yݾRDxO ~O,zE 134t/G3i@blNvy 9_Dn&y#֖tXoh/vnt,i#OřcR.=L 0Gzz \L35V{Kđ@ޯ d ^~>?Sz*h/\I~6=.4IANeT=hۢ˻WJ\a9y9CV)`d ǜY,^4dR@1C%WֈAk>y8TEܲ%ʋGuL*?ځެN|r.zyͅP1,xG.ڎyV߫OKvTM)Ubb-Ob*G,RqkO;QtaJIPVpѐ)䭼h)&* 4 4,Yg6\1R j֍-Hr<7fĆ9nq8N?4κ]''es8+ܹŞGv1gxٲ@+ߕ]s@یV@u;P,m`m?,@iF>wGk!m9)ʬf^ąa0ł$P9`k`rjYc%!=z`M <`3TEK-]\+OMz&j`4"aj>B iCqprۂ:SΣynJ5 H.*\%A6#yE1_ܨwײM/)8"fs4?D2t/BqoMOb0H?'V+;"h%ӬYD&Y{v*]Ƶg|a0E_P$YPb%CրIAݎ_D\Hg^i{ӃC(f0ڦl['˦`e ް(\o>3&aZ7rTO6lZmM'iÖt=OL 􉬟F@iCŖM|D Ԛ` w8HTMNJgW-uRNS蒫 j;CX`P-DOØRjzQ$?Jóc$B ^}TVijJm`J5^ A.eW;|~&ҟ׿-$H./DYx Y]4-wHqQ u`y3#ȶ$d&(GI"J酔Alib|X\?S{dA3ʠѷb7 3 :/'qU\V&EɎKZz[g6">2'7qxbZ^hܘc\;5 n\< DtŒ0}O`R+}mL34oŅQCz-c)!%P 7%ޝcY:(o*q" ~FaNIӌ;_y339 K=I֢x iH^&ӻz]6c{bf2#?6G.jۯDtq5Pf{7լTE:E-ݨ6(qLpAYE̖41%>xvcNk;6᳉>2۷z^ KEg|=@\m1pU OK?H8OQ)`hX:K)\ӓ̤>BY}2/@;*;sJ t: ` do)7? f1Dh(4ĄԽϿ~`l^b D}ka_/_gfDhI_' }R{_U"Dq5;62=@ь>`H'瓮4Xb3Xi[Pȳ2e1M{ OV./^l#\rx }XdYc>]?Mp_?Ɩ`Vv/2lT"AJg 2ME75mg&XN ŲOuh#6#SnpO a-̭$l*J4Ld 3=?~ٍ&6Dya:EȯȈCA̳̜}Hağ?@Z0X1AaKPʁ֐j4B?#%_9Aà$0$L;`r ^fZ`\޳]Tg0 Du0z2?d+|t/[BHrZ͎t{M01>7#ЎKz.b0/k(BZ Еhh_R Wc\j܊f귏F%!KuBH.JVu~Ožo(jGKƱ|8 V w->z\@E +閼u&k)5B+Ѵ Pfk]DGoJX6$G'U$&XD.${*r:֠[i[+_zfJN%u3­9h3%&ݐ Q ߣ\tĘ2qd 4Ds8I痽50$.Zw1/YWY$F+^&ѦoXIj8}70XHkI$`u9zX:_;j_zZ`p> XxQk@~ζY5C}ŭdd(AB^PHieaB-^@A>R/Rteu7bKɝ8qИ]{ M0zsq}kMk6 pT^#'Ďxش]89ǻ% O*T8ag YGsiahCxmA]޼m/F>=g Hig&.)̲F/2 WJ@CE6EԲɥP%u RA}B&B&[e&ߒ$F=ԺU,cW-|&.?h\TtQg2Z-c(}O7C_5a@6Gsho*)23EQ*|w.8a(wY5Q6@E`eT; -rbBD ΖfAۘ^FN@EhbeQ|zRcqnӠuh4jkI<06ۦbo'zqy6>dV^+"ݱϗ0~FY0M!9ͮjU( ~*+/ugMH C_*d+d^#MwQL-@ZdPD2!j\o`_Ͻ֡s~+ɩue l- eQGn/.b=%^@5ÁPnǫViFl*Gsa-N~]X4>5S_'?--W8z#X{Fj {!yKk03YfJ⬴זGh oq*k>Έk`G]V2n ydޢ$ ޯ `#\u%X SyT`}W€OJ%1x)&lyOhNJL3Sk6(ߖ`<#pa.== DRV?HșYh!ƞQ.{jxE#%mȀH#f[Ra>0CojW3JH(KkIlPw KpIhZrؑZ|&BjlLOs,j|Z*, qV_eZtc!ZGR$C1OV,y=2!.(v;](@ގ0;ueֳRMZ # ײw:=jKz8kre" |zo'ksҞ4;Z|k7J-{YxKrƷDݿB ۩2hFз=4#.ݎS TGs>H`\y=^˼5^\܋,΢|TBtk ISQ):3:ݥTṍzlƮ7S(_.m .NU.X1nk\ -ՙq> Oi9n~pdj-BQ'o%W8R},HƄ%spx;gǐ(Z^z}K&Izj"`)V♁ #!XhDTS氷ǯ_B}8_JUCwgW^"V3]HE6ӟXG0بTE#MÏKg*#aaS 9~Y f+cY)[8!jn!FW)*ĥ xkPn& Aoa;D<݇/|Y\}b-!VCpwt/Z|}j~ Hxp1oSg T:؝0wL9L{_R3'%"H7-LoTwx"e:5ݒU,EaRPL߲A[Ly/JR]qeHB]׋?X쥞%hDXsjx}%Fr [:+Uâ(Lۄ|1,5z"|_+]uw }<0:(S,vY$t[&T݂%^2 ,=Yڵ͈,"j=uG[ۺS0Jd)(4(7eLV7.:[nOvqdCChu+bv(1Mؐjq_BqX+"N v,*``5ato~9cfvަ,3OA}ğ'9Zi{ei*hąTq#TDHs~Lߩ˹8>a}~/8IG[Nx$O#T6^[S1p3'Jy u౲OǜH5yV;4}facXG?;M8c[\YlSz'2;<&j]$\0y1ύ;D՜*b0>޵<sypҲG1O+/\9\" {.:XDX>(l>z03<>Yf[U,,{O8cI\y#tUͨ8'SqF&N~_a1 Ym~Sr n-ʭ)[fvOQYI=T(҃?HȬ5ݻ2*b .49Cjc+7QYwPq]|X:P?|0`3"flg.Y,5`/2[c>HIInLnut&e>^nm’#;_rKք%?RPDU:UB0i=seAk6Ĵ'$nj.Bw(nbu(ú#mzr%}L,r=f9si\ :O7OVgmaB硯%;_k2DfFYV8rq)y8)ۏAD 'ؖO$^wƷ [p{GS k[c)cc{)(`*)[C8. RE$Un]`ܱlQ> Y?s϶U{jգr{R_嶽o/zoBsD)72HذRJ8 enKmxnO,,Iq68GV{!#}I0]㣙& t=}`jnUY;6~&(e'X@ ssnBΰax! p[͚Ɂp+){NфjM9tnlle>m0_*dRI ]٘ @~\JԇY?Ux؝-JI|ܲwnbMbm $!ђҹP* -'eDrL,3\w_kȮ" Qi+3k>YYnBmu20R\|\ތmɚ_$XWѮ ;ܠ^BoArQB`7+ 0+-# mwS:>TZQ tPHwM9kZA\M\xY I"'1BCxؓE-L-Dg]6sXJI/"6#EtlwmpP*ver /JY;7Jߣ'yUu[ >u]SgzBmWV3.Rn{:8>$>Fz,se:Q֍`o I}kHFariPi"H:Ze[gcψUxXjEi@e'9 })^k$]O 'Z(;}U*˔£ÿ4"Fk!D@~Κebܺ1S\lߝs1hȅ^+8" ^ opwfY #c^yS@ELd<FoJYaj2Z,'HU;PCVظ8!r' pԏ"QG I]{Jrg%r| a8Lf cr^ "4plN4XwRxϑ\PFf.cP&Dm`"&@Lc#^˶/#ҵ/qJ+̔h*?` T"*d}i&Nof&Ô}*/ /cǵ`Td#=Kpz<`Mb'm%A(% cP.x23`Uzlh:SD Ȁ_!B'ЃE9nٞU=y5cgvj 聁^VTw+)Ɯ̶٭Wu @~qQI‚.JZa~a*%=rh _T~MtVSZڝOpsU+<K3j@>^LՍx%$(?i (4|ԋ q5Q[STYR~S困V9ܲ$/nA-y.P!^{@Qso'qKRy =F"O8Ĺr|Mhxs@ѵySĉ.(T;ז#$OmL3\ϐ(7\umk7,A.ƉqhFiN ))Dabܬ.Z b/" t&n+0녢R!`b/>9SЭkm ՙND*1(?yMڱՙtis3` ܗgt‘&b:aXd6-Q̓D!CLcJē-;@@ "IHq2h4XFtyR.92.&=)#/.>/SQD=|0$H5:OAz1nKu4MQhKI"x}Io~ Nz&W)pm)rvr䫅gՂuV%ze=)2TNXHДR39(@Wy0AqJڌ&[_YUư2xX)04Kֆ'z-lF,QJ{DNqgGjrfM{HT"=MwD9,Ͱ;BHSdCZC y#eCI0:'LWykN01Mp'CR,AkČCO|Al| f'^j>]XmڃEn:5Ih&FfXFLir%ZS6[P2 js4YCq?Z%J28Ӫv"~]xW/h r2g:M Fq6*oH"~OӊAM]@t].>OO.YQZ r5wbL)=ژ7Jx " r쳹Hi!XI< \$WﱣWTjc+,wͽq-ݬWqlEO.Cbk5M:MnX2jq ( L!M:ůZD _{o/D3E٣ij`QߊVi噶@u=)i+D~SmV ":!*}4xG!p!H U7%L$FkD{7~L>ἢzhFyUTM1J/7^v8Hxѭy$HAۿCHTg/1\l0@:>Qo jC 4$+-+AZ$iX P6=b>{-Gk$9[X#.XewΤ1i ʿ&s8czws<؀dȒbOubGQ7욐}tU"vad)uXȯ48`3R"$OȒ X= P s0Vչ8y>,jR Y3GW7&ߙCotpK;grMM6+a2kilZ^w2Rmc\!.f0ਈ.r7a3Rsc0}UCYlP='0c֢r:hA%} p,@<%ǭ-E\ؕ1-E𞆈Fud@p:ZjFih۸~c'n籋#"W0Kk] SYΔ0*`Q&yH͖~DOjטYC5{&mPS|dہE^+tnx]n/=Vk" 9UVgT68-Fݶ2^FXKc9;4ovxG$yBZB 8Z`Ucptv0}fa_k&kppCB~sh^xs@Y |Op\V56k /uHsWH'5!{ qaIxCy#ۛM *逃v6!>!N W8sGp,$O/AvߺΦ$|,{0YӆٜS6YCooR|EA9`ۅ U>:Sh=n'@FvzZ[聏y^_c{8B!YwD3n}ٴY ;/@F$>#t8覶^D:Ɍ/BߧXhB}r٧5g4E$CӨ^3* 2-d(sdм'y' UC<" u|§krޮF'J=C|ߎ:q[ hƍwpEPEנ1boxx|hlWmx0nMgD^wJNWh-UveHGTV?)'UiktyD?K QhlA 3L.8(4̽7ѿ?.VRPJUR2Eb%]p>zCAkԀE:0h kX(T24s Agz87ӷ̮-AF2ĸC"U)̖G:T?ݷ:5iL!W[{Ύp`V|K-PH76%_wF(($\]2-"P;p ]Eu~4chAV?NzWQŲAC qvIRNbD%Y\CK 2tzŅ#'A'\M"Z*R3>Jrc&Z"bw %_6yE Fi&I'(58RkXb\0[ɚ쳱ߚWIq׹8u<m< S13bB[Oh[s3u2P1;ih) }WS^\OӬޛa`ݔ t5^Y[Щ4oTν8kC|X Y}g 鬩@\K-7ϑ䎽w(EQڵ];ߩMYHh cfE]̷ƞ8 e]L!CݶL_рNjUb+dˁ'āY{9XbNZEݲ$O E_37qS|/z 'RJN c(8ya@sIFq__dytw\[53lLӭ3`̥nA+c]'!oΦZglsv l^;JAæEto4弟- #r߷~0c; % ,˵ot};̷]I'ZcaC y=HDR0b- vvIig1z_YTt# 7᛹X]smŁ!k^\i,ID;^́6r%ƿ>!v'dۀ=nyQfǍF.>څ*2 =(J ҸZf5 6mP걐9וCede=ӫ"NԸh \+/̰4]\V/{2/b&<|x-&ٕvIqօ~ͲRwoGbki_-3X ìPNU@x_5ICo RُVH3+.ꢩrx +H>FT</= @3<B :&)W+'Ƈ*-tx@z A ԒML s6ʊɃe& &(}b6QH~i|^v`F`ȿ2ˌ+ayu!r$Qj ˇjV ȭ}'`: g/ My3αڬ󓭈c@J#|C.4\*(t*`s4~5V):)_g.?-:;4*&QTy|-l-fd%G4%.äi(*S0Ȓ:$򧿠&lQC58\"U'>7I#*Tsm)Y. @-7cmUX{,3ǒbb] rW'~Hk;f`85ȾpѦwg+Nocl耥f)ِ+MNCIe~SՒtPƕGb6{wO1r6ABz ;,]M*(sf>lc:Pzw ]Ԧ`|MbGQ3E,4^U 'AϿx>_҆RTZFdFI-/Q6PP C9l d /V&@d, Fn ЕgoA,h0{P vI;r! ɀl(MDp(~MC,v;P A:[ǦA-ac V2qn$e {p|O'q+NM[~Vx?g$gR 4$/>PDN4չgZAON9 K(PS4Zebh-ڈ߬EX Xw%4fN{J |y7 @/ 95ps2˜Ucm@x;Iz!T{i*>%qT& b{g8?X۫F;ٷ|5ZDI/^,hLSUFpX̛@\kA4q_ *'O{2bkcy"'&}B\'޻슳]G;i wNUBT9?o7fE}Е<~X0sYL}#jo@aD;x%w,Sf@x/`riSOVSП 3it$lV%q-V1aQmIa\0U7Z%w fvi|5D]w q qUH ޟ1l཭ZOלvJ4An`-c=.7$k̳da:QWSW6G|[PHLCd s\;f4W/; .|xqQ7:'_JAXwX:::."&nAdݎ6".6`,''ۀпXΜxACF}t| sYib+atHl`cqk5(>@b|4V0 g؈3"cD"tڧlyC h6-IJ:._*{e1SpeWV@plCtlzQdL|KjOET\>$\gZF w4:TNs}y5ƴ{WT%{S pfU`8_ MefZI1Q.8 h$ 7՟ K+JϷ|'`_rN&; y^e92 ^ڽxg-~r 7C6#BJǀB;=+إ*.,7RylȺW*hVF3 Bzg uUJ?N_z,.4f(1Bmf5_:?)/y ':F XJ9VʋՏ#g, Tk?P4U喊\ŌYPSsJ_ZO;+/+Y|u5s隬T"7ok ɏvnZ7"2\|\U.ԅ%/? Z&]%l>4%ag(Vn[]_cRe.M4NmM6|Gl6xQ6ܪ-*!ylXvTwpK;sZ˚H?7"״&ܷٽ=U P :!^7}|M?uQem#H9 J? \ҩ8$[ iQUj0iV|6Nvi0e,{uue n# B{;-B3љ 7O"x0:4s&g8fo1Nͪ_Yw>Ȝ#v">kui }BLkYXe2 4ef^Bre塸 |wM*9ϭfVŗ;lN3u!dlէwl3;a=101E`#x|"\Gų4![KkkHhA lMz9e}0Noԡ¼<2l7,6UgҽPR ,US3>tRp'R]ϸ>X]bC=H= ,;-Ԅh# x y"Iw<ޫ۵5"R1uJA'],81Ċ6o1e.uF=ߢS<ߚ&dX%ܤelHɷo#U~ѫøW&6 ]Ԟ )dmum+ZR xvGi: 4gs@ 1+@i5i,1 F>e8[7_ί@&JGAȣ)`"ղ}H coG,Y.18LtW x%qa''EEqMp fCF|6-" +t KvP{9 De)axQ%Ʋ W}h6SvJk[5"2Gu7ǔ* J]*O|.G>eUqv$M "93_:UPH9 mbh!LC1\U䃤g=WJ&7R4%{JQf =YN lJ<'8:'koT ݊2|qhU H[kA)wXq<[2ҶaJv\)uRجYڪ_ CVbr;KD<]D} =Y䐺mp_,UfzY鲦,.#9g7==j깖bBɠO\/u}No|դ[N¢z=9&7yˉRɖ䖉h7b fW`aIbB8Ntlߝ SG_ΙJ] #Q=61OoYT\hiMZd ䷾3-6lɺ1xѰf -qƢϣ_F`\i1%hᏴ xu)m`iVAwlQr6pfu`ĂmWyʪ*Wvm(]&rk?'0yD2*:I'뒋w+%V:K} 2/kP.dy@\BUqVΠ X &zJ_Uq#Ó\)j!fvP G-5 Q6F/qm$ΈbϫJqmCdrlv8Dʁ1A3j\= }[;\!MGߦBe-zkU:/֥>L#6@{7R=?GkpqnbBN?H >lMqOwr!*OD#T)x9S\@'XW偞g)ɼ g EXBX06i.8F?FU} }q郊|^:@IFSBTOդqD\dhISmb ,t,GTAE /R]#,g];/-5%I/_%n&wC*NDٓ ٌōʝG_A]ƇA4l~<͈4D*zstޚ^"[f*55QL8QSY[P<7itAL~zcz?`_.Rg@'wm0R3?As>fe?|q)f_wRwFa/ڕWyO6.\SZ^fOaqW4GW;ޑ>-}sU;}R7٩!/~)F>+!tTg'Y),#GqH%OgttA#B6]sWY.J[J!D~$MmVB!(>7ɓաP9ax7<ғ])"[wtn0nKV.gԺh &zZmSĮrX߂c+ }*'6RKJkjzX|{0Eأ(!}$?K}e&HwVǣU᪩$So^ ǾA4퇈Ӟ 4Jc:h ``ݯvv~FnŸfRڋu[CHՎ RF/ Y.7K3ԏ }RL \ ƒ="]w>Iɋ ?Pl&iEqU ׌D)qD-D*`eyBg_)-GAi鉜,n+ ԛ <rfaߙ*kﶔWtcGcBsʫWSGG$dJ*Duy3l?49jC!$KbҶ4"I0߃swkU> |IJ:+^5ꁃN>>r#=U2YCq6#o1UIG9cj|uu!L?/h`kei_X7~!xO:>(t6bqۿ,<ޠcA"?MYI_%|HgD%YYc=T-a㴛 Am΀ [):\z7%߱#3+TaECX#hܝmrn=F#xK(ƻ*U@UWDHQt4Vn*жS XC.,tCXqlDPxr+:.k6\0WG#uRT2Y> v -w͔$RE(tx{c: X^/ ۣJ~^{UURQCKxxɆQ(k4؀&01 X8i}[[FxٹavĶL?M~|È: ze09QܒPjh|: QdTNlm&&hG&+E*1)iv9pozMQX'*-lG >j:7HQjwX`m|3pNH@g,_( P)XkM*hAj:e5&wuTNT6λ=QߑA) dL0F?5K͐lrіI#%FM7}u>6ux&U tU 0T7ȓ~Y5B\8 9Qn?`!/1͓`ҿ􍺈_0}6(o| tSkUUq0;Y\*8Q@ܑzU]JWXcNF{ğ]c 7(cewX'uf! ;+XgkO+) <5_hߙӮt}o¤^ (iՙP^룾H7M׮<Ts]LMRFAkmODrYoulha"sV85K(JP2/WeWU;>0OUtAPETyaCDO(T6raC2G9 ]E `V+sBD"{X 5Oj4N?:|m05ljw߽sه$?)Lٸ@Л+:Y+ D:I=Q>Jn17^Op4:| G6 rA@`uĝWfֳ%muh`l&B%ۚH3~w1Xsig4 my.r2g[{؃_-ǟUu6{-qJf,w ~$a1ped/.ߣ!q=ZDDŽͱÑtW:AIE/VӋ,#I] YzOEպ[=9hptXKؚwkiW7qيꝸ^W5QuYbqfeu}D J]Z;)MdSԵi+ľY6Ry^({2o8afBpqٝ)uJj=PUrrخKSHDXITi,3L%,xmS0/GR10$˫g?Ba]9.cN!+NU.~ GaPʮV l>b s[hMޏX?v}x*;d3X=DSfil&GNVW Gv,M#@b 5ixe LyK:Aĩ6wTyrojŧܣCChR壇܏+̈́ lq)6Ԭ͹9-%a9'}LvJժK?Qjgfq/̵ϼAյ?kUPWM #84Q_%#넷]z<05xAK~o=@:g0P`4X9 .U\F##jTƁ:Um|EYXCy[(r\Tƽd?)C~ƛީƋ352Q#[;{LdLJ`YhE!I۟Y qqS z>4$g>~MUg8@ǘy`W` V]%9[.kGJ B/Qd+ NhaUD(ȮbM O.4>[VB"q"6|7liPaBZ Y}Vc̓'߰O4X_d5~З;-^`qXuqU8'T=le)S=Qi )r*tn9ތ aZ*ix' r1Q(TyXG%>oZ.uPt{cuSϒπ+?1rӗJ]Sr&b/0Xdt޸~p Gt&o As9ˡFL:パ('#]xVjCZ"0v;VEZ$Oj-h6QmaNK0kUZם,F\P23o=ܠ^z60K+ G=&X@T5WoQU;~>cBieJt۶9}[{ڡ{ow\5| 1 q-7X{fGH`W4aBs.] 89]DYTA %Q5Dt}ӛKG[Q/jJA yG>\nԱAN{朘;uZы4ȘFXhKc7I_o[d.Ahj%&&*dɈJlN: $no ?p@wx׿xXꕃ+1=Y?&m}iy@~5n R?^"+s:2ʹ'S hm$WK!~4D-am(["t.%h~Hp MT  |l3e2zBlaݝlsDWnIfJ~Ɛpݱuij?Z@/ ;s22u8PGheu21פQesj)SX7yn"hxiNti^{jZ8u!H.m64rt3+:p`sev'xqZSzkɹBILCOheZI"ᬹeDߙ0=f1D8_tQJ~##kM ,Ϧr&WwGHV4 ,[ ˴D N (u;5[ÖMsڇ^rghZ')=ёާO1x{%=>Aν7?l40t5>mYlE}G/ Rl?CLKJx\)-L08?0V!T"-F H3A{o9+#Q,9P-IgTj!wi~ï]Wx07A$Hs/-T?OiI TEf`yc.K2C=_u$mKB;A߉TrLL8[,NB b3)F},%`K*vuτfTm18&"1;=mC1\z緌V:-6|3scjfm)lce HF`zJy^</Ȣd&|i9HuO|Ѭ14^?'dMޢR#Ud_3^-e*M03uzBF٭jz671dDv +T eu"EMvL &LXMTõ"]Cw#yQpǶ)}(u 5Ca!f3 xDag o&ix9c.p߿?,1#Fpd/y ]hÉ$ЙgS]k;˕>Qm4Ӕ4T-1:*p@kӶ8&PU^Ll|`Aڽn~AFri+ᆉB%ӱJ z\6P1}LΤí=?ՒaM{2 .H׳bꅿ.͔2] xz_>y7|N Žij M1Ly`dhٗ:~[,gxFp b%޳)}q& > g -U `cvUOl)z@~vU!:y0D_'WwXa(㐌CwNiSKO ;3Kyt͞faoJ̮KGфSuUB$$BWJ7L)p.c 4\\,OZT,|T?sj٭;Kq;Bp3?N"I\m׮*1fgY\|@w)A:Pntwfc9ԁKQu[?K}ƃ7ejPR Uͷg+{]pR~O|El>|3â4TC B?ދնT]5:ڬOjM-Fb#4[序1)ղ݅ چ1w|x,_ɀrp;hxNox焇}(Toʉl._=-Rnc&q!78xfP)b?{L?+W0J4AXCPI7Ľ] u=}Ϟ2eO[[6nLg;}?lm&D"ʁ#ឩ <@J1qG!?.>xi[ʴz]?a]Aی\)qҍaC|[( o H# v0Hq⾇d{8 ?!?[MzZLCSTzas^KRG vu.0jLV3'Tr_hR--=f0|ǒ^[8{Ʒ+b4"6͓P~di$?7~Lklw}r+QEEH|x؅&aWGԦ|w,k>P~1PȥuDrE0 (?](J9'ow9? x@B!-"#%(Tl3py{|6-=kj#/K+gL[h.꠪W^5UT $5HVk8=Ykz,IaZ^ ܺ:gi/k{ީZuϯZ5EEN2䚣VwP,dDB)jY[UnWNHfB@kH*9}4=nR3_d䍯Hz!­ O{R/p ^QC|Tk&TұaJzMlT tѕ8Ǒ^wйs`Z?vVhJPMR1d-]N \,xNA~ؒ0"Xm/&2jFb5aR];aG9,}өW:e#5d\+W1Hro}@E5kaW3=}DԾ6ܙ'akd!,\QӹBI p[y^êfѡ!΀ :Vn$8_vU蕀҂uvϽdaN*,ėN{FB-hfVB/4؉jo6 k7k|)|0UA<◣xN't wS8G]0d]q*Nv Bq+<6+dQ .JOfBjZ^ ^mX:Lkd `^30l86)OseA hϰY } 5#S^v0>XiS[Ey%. Ex87fk[:>9-NqX聨,HI&3Ꟶ& &>ZtwLyaX$|1lOd_2 AVF}8r~FƝ#w*i,ks1ؼkE(\la$)MpM+grom)w((ͽ-ׂ(*N[)-ݸ+J*3jg?=zxto^zXUPWN|v^ )g#(ԴN*vI9^ ]~a'gD(YjH22. T Yᱽr4:^"Kke S;,NB.cmNא=6S"sithjbN.He ~Z1F8 +[# ߺ +>;4Y: ڪܰn_"[E`__LhE~rCZ cdK=L2>~>um| NhNFJϾ:=毵/BN=潪3uS,s u3a&qQ5|DAiUAXUR ɡ."n<:1B#/@ƕU%e:BbL~KM%-yk^jZY⋬*@2d+C{6v#pK*^ _ Ր'V *At ^P@L̑Rwxh8W0+lqv 9k7F +d׏_^X._ 'e~{HWǫrp-?72WWAmw4|NHC-+4`‰ܘejn ~$nC׮f|gCF;4QLJfNWtq8gfʁ|%^o0Qc3z )a.!J?Iř%:/ pxtteM#8p&ZQ^ȼh>®7c=3T04ZYǑ-qu Ցfϰ^)޺}gX7:CCep@"`@ڭ+!N3lۚa<5LG{vrvx0I&NR nõbZVxopJK*vdC^҆gBĆ7;,_7Gj*o'^Zwgd"imj&_!+4JA8P}.ڶٺJڇPMܓ,2Ru֩8Ls%mlb6Gv7}!%ƛAxȾt"Z)Qj.w?Og\TgF# @j=ƾL}2}-y+sX%@;ix?ݜV`Q00dh?^8<B !ڔN{9RɤeMuFӫ]Q Yhi XLKB')UiZ2jgxPavdy.!=/MC T}^-iV+墏HOSvJh,֣{Za.Oΐ[fgR/z"B4KPC fDKg2iؿU`AG?at{pm*C=&eo69~ܶOɾJRA({wYjh2v +<> <: &Aq -wktȑJ o{F3QXl* ]!00ɺsqo3,LhNHn*:̧a`%4Xm>MwH&Rgc8fwQCAČ0R+Sx<]IE;.}D3 9pol|I׮ςN Hb*c?Vax:2ު}*t|+6qG,ˬV$E4t XA*.%{HW7y<##?am-E69|:t#sn,@|іC-wT{&Q*+4~V%2u7XyYCr|? ^[V1C[P#VjNm)z(6f&6H' %\VȆKQ3(KQ={E !u}3){V[w RC`xuOy$ mM.qeCP[.+ ` =y!ø2/c[F8chVl5/|(N9WZ=#Xn*.{~y{t+J8<']&Hu*9<&˙2Us776>. 8EiS!=kȴ7r <䦔%Ak F K,ڈ`cK(J Nhr3rGOeg"!l2eXT5FIr3L%f`?@Y2c^SIW[9P~מz~ ]jX3霕jyvkߨ-='K'!Bk2 jM< *|:-caheU0׬me~ՍlΏefui+^v|Ԧt;n{vt[Ʒe&Шy/A#y$Ymf~EJa%#i8` zwAN|0aT422|rڨgNezJ6plOL(cEcҊ-#q>!9=7Ȏ%1~v8.[)FZ;hTKLm ^m FdSN!KP|}~;,W(6(W/5L+E.Z~d^mr pY9bnD&wqQRkPA[&s@=ޡdpu jOcoq>(P+yBzo6sQioZΒ !)zo"OjoXAv5kC-㕨i4e;ìzHTf}/%)2Q-9Ho$cmF-_m1j WQuwH1fPpKWOҨħl=\ye+1qb@*.Ln 9P$pz;;QM JʧM8Ymէ7]  ;Is1o7cx}Y蓫b )hn!}Lg5>GΔ}2O/`&#e`,i@TS IKWI:x3'(=X.s^A qAZ5j|♊XJk0#bݠ\?մ*W4$\&!(-'.JzH񷩇b!8di+*՚b_7 9n-Dn@_"2>'@dy#%17HÌݺ䯏d9=jM0Xa0snyt512B`E ՈmwI).)B~OXHĩe=bk`ZKJ8-ɛY7(~P`LO,t'&^$5R,.IXoX~]y_l/dw&P v/wDEaq֣֞rYM1?M ) 6O^Jy%BbS~N!vQee @%{'j$\f3a1]*jh4{@t{~1=mw6HKY~Kk.`1vZK7_I׫p~Z`'b2A0̦ws U? m7 uܲPG= _BY8ȑC_Hǜ9Sg=IZfF|.9{B'\+mI ƟX oCvmpj$O,7\sFɂj+sM3Nt)Υ2 X3̧\q}] x9_)cּZǰ,5 #?,#];CR;F۸%8#`  w sBJbP ktqr7($vz5m#D4#΂wklHɛ 4pq^_Pm̖a;6ޖ"f8zmd'ØB>V7:ԴsE±TyOAx#G>F,#71#B*jhm'{~~5hcP-$Q>Sۼ*!*iYQkR꤂dek@ò}eg_gZ"g PFz5~%m]š96UGdXD l\E粚b(yfDI1k(qT 8z'^Q'\c}Ff> mA*mC& ~PIu'!*kI)33\Y^AZ8іV!Mޤ`3HOLKrFW5# xzD`zاԫ݆tCYh<Vi^rte °ly~@+)wwP,ay}{ӔyP 3f3(%OͱHFwµM-*" /wsJ.e;:tF#xpR\$Ù3.lџ<E"Ǚ}C{|>z?8b󮪉tRx*`L1k%h<[l6[B7AiWL7:((^7҆i".^ KLi/)  9J񤩲2ã͐xbf_\EMtTDo5M(k`;3oѥ`X;~£&㊷TI Gr@׵Ky r1$qY lm|4V3WgF-Jjo%0~D3w$|AAR0l *es}鸻:)Y @ዖ.\> C}u1B;ێS-]׆z!ךFCV׿}َkz׬zz`f"|[ƛ~3D4uꁼÁӋ)aS}0v UkvAX`8<ŲMg{w<Ü3qYŘ(Nn3hQ %Hy@Sgw3n9 4y/i[GͰp9*r ?q#i,aRmǷS^=9fS<ϹTHnNE?j?G[ɞƠKn. EJМxS؞8CG5w:M'Ğ(!΂AtkP[s`WݮyHBUz(WP+i zr#kd0J y-^.%HewQej]{M~51jAK jbyy!\B作z Z}{ %CR?D qh{ߌljI/ ԷQ:J@L U\2$9C+ie( Dv bK(ӣrw W(tCwTM"Gi]x,ʐ3Y*02?4ܟy bj x u~.᧣yPz|`[B6%P,XTofK'В%vNNg Krm\ r㥱Ibi l55Hj fH90s"hl@ w#0A/&3οr*࠘VO/.΢B:&֎@Y&&6|X-aio7Cu.y 7x%A9LxCQEg'ټQaӒd8s׻cЇ.-H<"9Tt~hxv+d \j,yZD`(yt]șX//Bݫ$ >#t!+*I̴ =/;,,i@C%"@~ |ë,8G 8?jVSD(hO {oa ʤUAbKq'z6r:d,/AYlռVRZY3}Y=V]D^dm)Y귺G[yӁmyt|fiX`b ,'[s谕nZ[/}"p/ߕTP$_EE[ |knd=9^`"bA8M9!ѴFq.~HX!WNwFo @+lB$Q]U8IGe^7@]ž*qܢ&K3i+E%LRO<›m4"B~vN_ن=7$X!*9j%!e: Kr9,uI2}nIO}UD¸^*y$z1˄8=-@0p`ċaきYV].b@I*Z'|WUھBr8awT] ${1>m"P!mx!py` '|Q̏3x;;}ΖTu$Wuݟ xDmuA$dЪ [Yz/x Ƙ+DljkF2?at!Ӭ!oP B8mdkS"n x}|ZPK^ԃ=_lXP/j)wq5#~w #t*80Ctz2M6VPL%쏈mPO*ȸQJc}[HL=D mb-D?Uu0Q9#$6'fɷq(Q=.T( 3٪\K̸n#fQ04ᬍaTY50 ?p̚ٺAr,w >iRYrÒ@/R1:7?)^7[=)JqUUđHqgt)&iR3,G$8槜XML [畣I, zQ9ds"9Vǁ$Y 65!-hZH>1olaF12n_BC ucV-ab_&Oy0%xwD<[BwO|Δ~S 渡XH3r̃ GǮ~ Y$'%T_7N &p^P GH"jwNMWfLA5P<h_jVRPq[kc? ̇g 0$SUz5(EmNQr$Nf5w3od[twdSC}EbH){ 2BrYF{2"l m*oH[P"=d~TV`EN߁#֟0ݫ5տHGdk9A~16FirE-җJd8mkIoBE"^ y"ƻȶn1bQ:2TF Jﰰl@iYxw9b M3(x '=/_nDQϪiӴ́H #ړ@3!:aeV[rO`[^\c.j"uVA $ԍwxq& uEP|%#r5u`T9lNРF)}o> wzHѪ6ؘ94e[)y%.J-4"^nn`d,2<5cŶ8%ka\琛(ItBE#fJL`hŸgScA+@.,6KL S):D!ig2/R01@ԀX~RƧ/&ƀr=1Up=\1e* k{* 4(64`XL,y?1@ۧT{켼Kzl/%>ӎ*[fMԄcs2meBe!hkM.ginm$+zg?aNT]9&ellPF}v)o}D⣌8ib%)C(,ȿB$9c8-!oE=d;c8-iQlǮ)"kީޜ==ܵ]Ϡj <}En/!ÔT}kp;)D?dFwS~'{4eI$~7!QY0"&lxw=wܸ^#3i1x 2V˟l(ܬk%'ku,!$K‘˳R8= ~ wU,d0?u8=I%# d( $o/vjŻRʽyb H0l\v,V,)Dydcr5yj.t|I' I t/J'OWfS0Y$!Oʎ|0_dcݺ*soSUb M.)r -&vw.5N q0@@0x D}%&@iGY:*+G/$1Z9k9Kw.4S, y+P]@HK)H)e2/d B%5Lݗu(x #Z w[h`*~6(yɳKh\֪Mzb3Ry`kEl:ugE;uN);48P+3JkKv龙'+,W@wsh>cca2ԵDh!K'3i=.+Dم0 %s VK!tL) di? zr_e/up;k\t 99:R`u)uBdu5@>xM%kT3o@&2xL2m&Ͳ*:YurZ+ e04F.XcTضNgfE#IAdWs0G+n2#a\_-NYW)2ܴzQIms,'KױGkgX*"_ΙMƊtFAD>0hD.DLI[>'Eڲ|Q_>+ֿiS"c}p=W k.^#zrF#4(i0ُt:Vi䘐JSCЃz}A@oەt{+ۆf@޻W"n&$N9T=m=1NYu'{ߤq; :HD/b6[H#,m(jB0$ȪF=7[\٠]ӆX~`212fwp5nK3cO yc@ y3A h(F#q,ھAc Z .iI| g@C A#3LKgBJ)O&'YbA؜k~ԝ2* aty1I}V^Zz7e56 1Ug<2O zRܑ\,Ud1pƊ?h-GFVȑyU?:ּ͈S8lq V)Sɾb؁V&[څ?hWDIϰlOqNo#<]oϴ 嘍#lJXkG(Z`n2H4O/杻D\/0 CyHr`wĭ塚ϴ |q!> COe (^ e*¸o{]E57A<z:q;f^8g38YiЇ _zCEݕry+2DUḂ8:8!nztrͪ&f*M:maȐKוTy뷰$8lng. Tya9x7~6 :#ϔ-;#϶`Y!iPCu$v>8=uP#:5=Ea<[6^Mj]0ƌlM#GH*Pt~o`KРw7TVry{ &PK;_[Cp\"Fx%?vC|3գE1"T2#^$P2Ck!J$=)KśR`7.')8>S5K;D_JvN'UߤḼw{cMD  q%+j񰒀0Bt۔mIkm;|nbs1@`*E.nܪC wNU55S"7Fo~n>"{"jܽŀ5$c3DYW=+H LJl"Ⱥebywfػ|s<1nPE_YHXdNSW.Π*XR aK!R3f&̘RimC ޵V[7ocL iJN䮳"BfLiVjgO*lo K iU"폒%UvۆГ;'P! W+Z{iD@=w_ .ciүEj Vg׹wm[dn hkROu˙ˣhh֔pE?âDC&+F2д<>*SUI{xE!b{T($]`/l36vb[W*}X7U8Di@7hOgn;IެT8FAʶ@ A#lOQlueN j_fj@VPŠ/T}{?UumD^A #] hƿ/S5 -[(rt{HKYΆ[,.'N* n XtZ̮7\VFg `؁[J򙺚fXyH^-!c_!įz娈Z5C8^z$'on% ΜJ6KhiʤAUqeGYol+~~L$Y^ ܈sZ1_'R #,:|mm2"$ O螺M*%J-,T@qwckyž "Q, EuZ$1:"^ DY+xsGpg5+C5< 2Of&әڑ!CR_ﳒL>VsTt8tTJW^1ZɭJR: Uv'=M~pۊyU."UJؓ-څu/G.I47(Ԑȏ|-&Avx8-V^F0(#mĂaay>{ZpḦ́/l!zpЬ%{7j4g]ήQb9hjפ`tт3k]=Nܾ ;k-RQ_`xPPH2fts륷NT^`9Fg81[D-mK{iwyd .Ԋ}Ӱ*\:I}(A-P]H@uS m jw3mJd50dvJ8xLhc)0_A^Jw+l?g-l}bE:⧤@Ȳ, '^1 XP;SN)!pHyJN%gu|N,Rn$AeܙjY8!]\#~(DHѼWo߷G&Bxӽ FƒҸώ]>v`hW Ɇ (Ը0ƹJθPMe.ZCoB׎?Q<24_pHjA_H'PRv¬i#2bö0ec2u^y w`o7Pk9$RqjB "%3,Dz"cz24\!j :HtIrl'SDC(p#o+٠e.r/HrtS $bUQ-w]oL۰6ƅHVYbdS!$dOm"|HTJ`T')"P+ER1{:_5=R+iR0)xjԞvKWUέaQ!4YG:瞊%eH@%5XW㮟v+F4݉)ߨ_iv~e`ZNՆ[=nl>SܸozuM$MurP)[a0]M5T;σҮ9+ ]l//>nC ŕį#3gN$"Q8 |ψ@aWIg\mB"LQʔ4T-_jS\L!:cb cQ%]yh쨨ŷfbf<*&~h5OY9@IO <6FD=.bJK}@#A/rݘ Jl'߅FK9/xP.9(@x( ;\:{|-ү~-ԦH?|l ?6&j^8:!÷s\혓&י\@|*;9Vޚ2s8%WWdi(|<00ި~q5TtTB/rsR>N&< 1Cp5v ;l[U. >yG%9m OBW8**=O4$gwqE#0 )GhErL\?zf_xtK'G.%yfʰ9Ҝ3-ff72B+P}qn-fra@g;L 'Kza9%$>rN dci~ӸeSxb_h֌ۡ6 yS̋|;f ړAINŠ.m1i0 y`*0a 9 r,*觺Xhw,W'z[ZX,5Ζ9O+P= mfyr 98$k4]ۉ ϶i F H(a-x֨i{Y'3to_ TC[%!XB* к 9t|K/5YR>şyf')IHR(,0NLxI-zd}eDߕ˄S:ݵy)>5ixQNK .V>va`TΞ"'d_˛%]se{.72@S] 9JGyA)ji# !zMF4G6 gjh83!prFd$+ I%Q|Ie sRݪ9ƏlؾeIC ¸onM Wn3˙9||iuK.+G>^-j)!OA2%bn޴2FX厲@4*}1{S'їڧ~ɦ/Lsyd17Ϣˮ xd.~HT? ?,}OwKl8C) rשT`bąFCڷh|wswY-~Wo)Qkp}S7 _U[/R;u1fpnaƈk?.rTzZbR}ֺI#KC{fΎ2m+SD :7No/tnw(.NM#h1^u**y3l>|x9E++㖣A`[DKܝCw^{TX13NɊăovJchP3kRp^®X}VF< ޺hym"e\#P:)?1y5U4~s7wpgso6mԕLc&ndDbQ$8@:pb~0J7j8\V;POd&V-a2{nTiH3ZCXj~FXzILY.=y;lɎS4QGws}ҊO$ ;ɖu8<+ "333jDҠko23 D$c cV?&QEt&Э" g*DDαvppz_yd])S[.S;%} r8.uړzl7[VklfƷem! %̑SY/z8hb<*+nNcNG2Azz<ЋRy.W _f6.)!Vg/ 1Uq(?l|b΢c0=Uaٯkdd*B(yIqRO qR;l3ǍF='ĆNwdns}DS]֚?ck9ݿoqT,i^[/eby7rUxnS!U3]G?(_wY[5Ӱ=-g`Cpc_]NG5x6]^>Q8U7HȘtQX[&aC{f[Ræ^ '0$$lWgYn?XUEGbN$:,܆v!VH40SɔDUkfG/j&/.C`o^/oERѫ`.!NɼZbi"~lUe Uc3zw}D#۬Dܐ!AC8~/C+!"/oAXm^) 5Q᷉%oxCXma< 5yz_ְ5a0=9RrY qQY7kC -]]j>V5Ryb_Kz?|\aϺǝV]y.UrODu[q埿@P1~1x YD ryjƤtH+楈ey{W(٥E&;va)`q+24f/1@C AR+ktAQ|Q4bcL3>zt px/OOx͹Vh)qKt|ӃM1u/Wrkઢ*jJt\63C@|^[l!^ψ'~Nbk( kMp+y=YXU(+DD8?i@<تQ.BM. Π@#0]I`\ zЪ%D˫j/jMG#KY@oj[\ "Ic#mCsR..υ}:|1\.2ΑiXhnnг|Dyճ>QIF%PN *>WmJ){Tme-7xjP5Eum vrg(#,"NÐ,LY;zH Wcn+V0F18Aغzg)c*۲Gh~lr$Q-v!B>VkHT}$7kQP6?vT,?iN򜵡6 jfyo4}+V#Sjz[/\#үKFeZ'>= Z ̛1:eg'}Eg}7ktmdݬȮ(oz$ٻTҴ#1b8Y,52hó$4$_"0 ,FaZ I`GԐBC\DI_OO=z!sZ3Dx!RVnhƨ0 = ["Pz3}CCCh4rW3e:(2 @"BO2IX(EPȫb{(VVzʈA?)ASGYA}A ES_+*fB›'UU5E>4A>zCer{w f cL$}g+&*num0ֳZ5=֣e EM6 Bŝg0Ќ\~uN)G " zJzVUmoVˢGLTɝ)^R!(XQz?WޗNI\6dSeo,WAI~Er열zJ#33 &@!!=8fO[gQz4("$dfan{?_j]ʯ4[>V kaKEs22 #m?I=BJ>N.%bl)4c9Y*baS*<56 $8o_6@edb Z7&%Clؘ[m0ߎ+7" R bS2QcT%؋csZ)0LS!ZdjzØј?/ۦsnɷ{/廏cdك=SH{b@߬ʙˍ入CL, v7Z㧴MÖb'n , T bvU?Jq'zU#G<}?Ϲ˳-_J,8^Ťc]-h& 2@DpC?z=H12h"OIXXU4 HyB/N(V{s6(9mYRGKgc-eۻ~nH:Ѝ7(}Ĕcs:g+ x֭͆zW_pWH7VϻK9y`L0 [fT!kCɜfFJa'vnbsca 2(s̶ ~m%@O//&u[p0¡5, 1J<HDx 2,RH/J#ϓ;/1As>(D# aCY[d` Rֱoha?Rz>vM;K%w@2\ 1eh;inǮ53En2p0(,L~gWnFOBXX"8d) 1 T- Bmh}uh44o/%Eyi 轏krcbY5{Vud_r"wߐ2<5 (/~V.%}j{X.dⵑ7S:nag u#2Q!c,Θ;Pwu0{:ֳjkۉӇ+/?cF!S07{n]YIʑ vƛvvhkK;-`TGijo:oۦϵxho/ D ɑeWvמUJf/:/e>EQe054[)yJ۸1dRKA.TY!I5~=u|׼&5]c߷nBe]E&LHVіU{ʖkWV7OT(Շ;z0m-\}' ɀW!À }Q(vDMD_&[/Sso܌E" q~$UOAł" R  @a ݶ%0$0aS5~|=?ҹ:~z^M!!hA%,t] 60u ura5M͋!qE/M ۂ]|qH ʈ*#?ixqp3Y#ˠeP'/T4mN3,,e8@"U=~Ԏω:J" Uޞ}yl `.ܻy NQji]݊jms8nV]av4Q V-;6 |y Zpn7}XP=4< bK7Ar  C"WР@"U J& bkA1(tY#(>)f_m۷զ@\_~S3K)TQKh7EUN 7k.E^,=.wUʑ=0L:fqȌ15nRLmɗlQ@ >eHccrخ\CRFK.;hզ!#Y ;G.U'lD|;.X5CróߝHP"۶24b1$@Lj< ?b/_?&|"xB!,evA}#}rE"IP<=L}A}B 5&t'fE׈OgYU6ɚU ef ձ$ギ5",R!WxIM^Mw;ky9;;CF$Hv~fV? >?#R'5J%a Jը`0p:~|z7",kH\l4ګ/_n (P_5V-C<N5>蝹`DOCV ⻨!# v3q78u@tỦB5z@v( \GeZArԸB|}F?ͶSQe7OM{UeN49p1y}LxXZuEwh~Ke@?Z yvFvRE8~E (H)Ew\>_7Vm1eQOc 1bqJ!"g1/0Me6*-=t 1qdd \1M s@af>gǞCâ:h , ^wu<) !G74♢Q>ʀ!͈7E'E U> 85|#@P-DSNR @aو<p}S8ib4}r_|)0KApPGs4RI\̰ _̋n OD7RuұmBtJ>ťq XJ'S;4!&' 2iXXP^!ocTŶދJpvP9lp1ihSF{Mm% YE $tFc&LVUJP} V1T* 7?{s$dNiA Ouf2!Jiaa p_ Toc5Vp-RhJ:t?7fL  mjpPhoY6tv1hrUrՈU=6MXVsL;oD+_9vf:cjH~t" 3-|YC̉ D8_lo @DDB#Ou~PR2[k.q&16(hsr Q6@Ԏ'kj{^֎.YK)F6jAkxLH "Ҧ/UuDh1C5;&5ge5±dB~(N Ղ @1jbK||Q;}.wX|ڰ^*1(dޚJ&!w xD#KH̻S Cr8G_̬/"?{+υ9x3*t{ v!v/t.z`o.G9˪T//E4Vpȱe)'l8iPbFoYUI.4ܐmCn i~evGY<`=e"CtUu U0wt=]/}T,-Cd8]VG[z/3d`/wui>L;BP *fF *r3?InT>*AAC;hEbE) Ȱ^ 9l../3ny=lFl; B߹CZ4+O7P<'(x)-ÆQB澞toYfZ2hI;_{lC@v "$>=CzW\*n S({InI;pG3 q@T2 3b%3L3lrKD4 Ey-v)1-&eATDSmu W5Ij9t?ct|.b Jh`0C8?e<\.*uoK RI(=ڡ~V,6Œr%q8 o]%wd_;__Crhy}Cn:(ȁ"X17w@}c\bkJa$ 9dnY\ Q[ݺv!3"ؚ]`gS&s<Þ"yylvApL=!`?"7d r>52>"#~~qn,BM.ipvfP2 HF8p "?N;HOySƸSV2r.SPC4:͍,ak=H4?ٷ{vw]E[}Y]&4]n+C \ZJ*tUl܆I*TW\]mǪ:.Μ-v:Rg5Cxd`Z!d~bnքHʋ;MN dtϋ_{O9BPO_Ҁ)e;8jb$")SLEYQ,ssM(fgW"~>sЗT"՗!NĄs{M!6PBlhZU8/w3_l PjN2Aw8|fNy-$N'6(TaLX_!!aB&a0L |Epx` bAx# WBn`]8;\ 5J;[  m~ @)LkL p|ytCh Ę1g|6Fq"K^_Ly֪{aG(.`%LYXL]`\f ެ*cڏ3@Kj-ZҪ/>9 ߔAQʐs'Ǜ VE>$?waAtbG⃽a-;ۛxjpXLC[O7OjW@9 v2< @nJy9Xuf`{%24R4DߢϕPc]L+PU?z0f Ҋ]Dqgydžw(v+p3vq a8Ε /ORn2\5zdHCY g5]}b]F#]! 0d kRj1ĉ~!8DapLn ( O|pCthW9䍶3Oo.ߴdž3@ncP2`138]?<$T@ {t`z*7eJvrq mKQ?l݌6Tg~ tj,{`ɤݦoSϛ3^G'I{|)}c艉f+; )]5Ahՙi]a۲.MGĘ1mPe'i!0U8 Fr©?@褛4^ӭ#f 3mt>>S5R2?̖9*H9$b6P"FӁ0׼G{[| Fk^*{3xAiN9i2w8";noϻzvf ^Pcr.22II AY (eUjk>;zNBĞF`YK@>0#GA<nBR5-s[(ݤb"XҬtziQAp,x"g=6ꙓMm$2sZrvsgVtjbd>M;9mnҚgGx#,7Q_wZ²/>gdU[\~LB5pw'5z=]]c3gaN=-!ڽWw 5NfS+[qs{KF.ƿ#GL,Z i -Cm!k[|w%58X^_ ޶Y~K {<-ƯRBY]5 ~ \GzGԂk&i\;r(gVo\zֻoOM>~#?CCaPt9o^dyN[geɂY'hݕE]Dp+[{ake)FԹqUBI&5yKDN,. gAI-+hć 愭v )ZS&@Fg7vz`$%֍uOa\YNs:Rq㛚GoޢMٌ6Woy Hи)㧑MŒ$s7>}"HCiuu*_Tatt?6=jiil/1̗>{U%RvM;{Y]>`5jc[LGŃR! }^]L SE5 %#"cqOX㽆U:9ӚQH7D!SݢЇ~3?-7.IZW ^8w3^rrS%28=if6^SFx?{X_M5ez7?&’#v C:6%fF;sgƅz^= di3e~FI1.>CYw /Cnl^h3o!x0=uׯ9~?εSOAfNwsuuI=m}u .;L:> 9:,1|,O*= 2brJ̟u@C 3寺<&<"U ;w/sFŚڭg}m5zZҠu\=};>~>qM**TTbj&S^wx5+e:\⌚t ɜlv;XE>1Y}tro B<(8Eƅ^XqECoȫ/,N0a`Bųh%!TzSJh#RAGZ*m UmK|ƞa0&vC\QMM)һ6ݎq1 ~.}v죜`q(z]zNEgF8C̑"?aD'*ܺ8-E+n&qES;@]^pIQCf6[nL6|goP3 QC8KŸ ~ozhda:)VWWA֙mhϥ*k*M mo/%l%ZVu)mr#٭f{|S UWAQnΟC6#k,{}3 y^/B"swx"wRBI(G,-{,tG5 DAA|xprcOejF1CԦR`ma>n2e lTV3jA \fBP,uY/m^ EhsXשQ/p9Қ')en7H,(LJ U~J&Tm7hR;M2kzY+zpR+ܯawe?_dKTEj6=כ"2jQ:hubT\RظP$1V.Afx c^ێM|OS`"fڥq&3 NcwΫ7hcrߨiѬ'n( NAۼLk6Vm(D]l]⊱]'KHB *iByKi#!P|˂g9S"2tF_ DBL*K ݙ~ߟKŪv*`\yXtCCP0̈Zho"=m7}i I #^ljt@vYL^ѠٔJΕEz a (`4QcBܞaQ>`v ./8L`;#7Fڭ~x^7}5=9z]Kbjk}7SDBA!Ʀe٘I=ν́7ȁs;9qPwP=> pE"*s9;oJm ICH"~& R`6&v{jopˇ&$1zf=BPfd9`*ЂQlЏzH?+]moc AvԄQJ~fތS[n[ <C.s1_yS/JoL }?`NT: 4gkIEHG^ɛiY]DzFD0\++ڢR`=w+e0, ބ=;ϻ|3{βKAjQ >h+15P|+@y1=.sEuz﹪yؿ(m;$Ѳnt8jqJr\ۅd4 5 ߮rɇw?PGeGq~5?~Tzf# <㔜(Q{%q) f=/jN[Vj*p wPyJ ⁵`ETĊ{hna\~anQ(Ocq0b*0'΀4KG/U * Ał@}t-r%kځিcB㎊twlq1)\nQ y 'NQ?!8Fd(r9{:-6y? b~8[>r&2ZUde|@S:XēKcB6vA`~& `d'O~a9N,t܎ %d4dy_G=x [/cPBԡTPu؉ض{κ>_tq]XD}'[тa?L.'Ђ09ddD6> Lp4- i;>x*(J!LUHKb-cu/y=9=7Qr6sgA=-f:,2^ XL(Ka@+[fs |&D~K}O˦pXYin'k:M3'sI@|a߶>e[Ƹ2 eqn A>)4}OZw}W/Qȉ[  LmhgmljQ L[9-> h ,Q:\'D7^ҏɂ&P4:ed?qP/}ς mh㌆/6i+D:,5 j8!h26^ (z*8[̈́?h qNǟK/р!CQ}dv'M/㖯 =5Ӷ/=W;.C2dhlhC0fddnևf> 8xm:xjNP(HݔՂ\'&U A>m` 8:iO&M@xE ق %P&kO^وCj^E/[][/+;;;jw#)i3 -SS@OE~H~7b[Ar`F|,ۆb3[m1WE W Z=߲27L _U7:ؗó}ҕ=E\~{qj"Sˇ&ھpG~w,LMfvYG?LqqB̕5]V +bβ0Kq um.& 2  ;*Qx;$y^IG/LݔJ"jSR('_K#&gz=6"\FzaumŝjCg@#AH(?J>S3>wDf%;5;gb$I UecnOc e%ٶi-.XuUCƋE,D@"Õo"ʟł'"O ʏ?"_H."}r%tqP:C)99HU[ot\YW>5PAy n0i3sK>j]K .ÞlRӴE@ էIoP$ͺw0OMR)L_0L&oa -僌Y 鐾PYPV AE!lߍg@(p3,?)ֽ!7f;};~R=t=-{@@Fhvz 8a-1vCM#􌷕|%A@Y_>ylp}eXN(;c]ϸƔ}o N`W~l'&`5c '!̭7 v) ~_}U!C??=b\E[s ;Ts0fr?jr;`f:;?͉w76jQł$??f/;{ȣrQOC)4Qyx<ܘն젔ȺWA7N-"h>,"hGJGlr}Dx(܀/kwF_eC~;m |7%iMFYs8|qX<]6WIsfW;ͩ7G00Z#n-0scECdVi^WCZ|{RPvhS::Rh@H.sG.Ax4(HD.֟I=I )B,Ž-]S"fm 9cYJrHv6Hg-̶/w ,d.PDE0b>|*AsGdC0 Xc0ԠDi:Lߛr׺us`m 8 #|Ϩ^Mm Y 2 (E56 n6~tm"@*\zȇ՝\"|h{dǐ{M]wV/Ƣ 苜B+Xr(:CWb`X&.m)tIFw^a$PaOH|vk,K=Hvؓ!f]$naH>cnhi q ;W wo|ō,9yc6g0Af)8v6M{N12x28"UΛ NJ!XKIo!HM=DoIPk}v#EQSqL6X͓]`:]rT0BxM^G|gqV!uDT|ny+`z4'"?w.q5.NGR!( +>"=B ,PLxi`9=t%:1Q[2X69S 4m@" ۠HuBJ HK|Cg 7dE6oQ322oz݉ncW},}!"Fa gNke%Ѫ]-.7ᯞ ɐrQDѰ0Y1@?ltPBu?#KFzA `9XsT"@"  e5>{8m@|t |G.=vOYDQ1Ljb_G4(L<*^VZX'>j|5>jʵ s^27v ?ךV 9%rB;/@;\P|}:w_qX(iP,;Kg%g|ZBwu+d]~Jz^EG({j``Kֶ It帙WtѤ€C0wngP ) fu7& '+!4 P i^]ɢJT:^u]WLl00uJDWWKMZm&d4К0JFH](oK%fȤX&Pyb]Y.4^no}ƞ˵N6L?Jj¤r kaqK:Ø< , =_JJ糣 %G/wlCr) Btָͱ5oǕ׿C<ϠD=NDF B@A8j|yH s6O4(Ado 6Τ|%| w\y\L dJ_c?oA_m!?q-/ww-)oaq\5}ZSpFL^feփ n¾m_T'+hHZ{ݯa7<6BU8oN+t몟^勛O6bɐ~LQIir |*Tp`";9^l%~LˉldzXr1sMpshN >PϬ| ʃ(IՃ5.`օ+>w;6w}?jo}3Rc y6p^Azކg"" XI KHO'|fp?Ǧin L[>&Z,>$MnjXiz:k>)'~kNg I!M=J*yG0О4& 8d `OcL룍G BC!s ҡYUÅ㨹 d"*s_K `TݝcAjd @4 ??X&₧Mq-7(!xp{Z0@a$*5'&J87qæq`yu ('u4{j.!@~,4qb tO9/B"z:J0 3E TAiuki5U.d>rnA zj{U!86NxWμpPϔE4Iz& qGmC ,єarYgI$9]2Yyͮ!.CGpy[hH\wo2y:Y@412:?yPXlaͺR_a_Gg<'=Y ɦݔTnUXa C,(T16ehҊCTS dHQ !@.VrS('Ӽ P< a], ړO/"~S[9t륣u'.=+f-FjO>A;U lNj*S-dz[ݛ.fxwqBD}JMXɇyp/;!D *U.g'Ok,W]DG#WNbL o]FN#4u?³&s(kz*rV*$10A&FdKqQA=3jJ˵CnE >`m`l5C}IgCϊ~6 xDD]|SIna\}Ӝ9뭓9NUOeG/Dp:r ۟Ѣg::gufb}TSӜwbIᲩv%|=d"o҄Cʛgs^Z8(id}*w 1嗌bqHyĪ?~ėz&>K3lOg:jٻ:)۹(RLp ҳRښK=ЂL$ug{bVb0&1٘ *0E:H9+aU{06Cts;̦ tT HP/ߌȈjcq??e[K S+&1".fjS1 XlB)6 _')2ԟm"wH0~]yq]W:$mr)>T ~bsP ts>FeB0@+ ]v6ؼ%ΓqBQ%l긲XigrF%&C<NIbJyP]Ќ fzUO81mK, t`{X`T" ?рY9ŠVx޲72 ?AymS\7DC'҉4~tLSҘ|Sa'' ?AͦЇl8Oo^VyIPI/!F>(>F,O;ʱ˳\?ZvNތ!bе*b⥺w]Nb ?Z&.+Sh2a,TNہQ g/GsK-jTdjMlReGE#9ԏ uB+Jwx^PÃ4ؠc~n*>PB^'^j4N~R ۠t` &fN SɮDJ2ϥ9>s!rb۫z?^X&h@ yߓY:X !@J//=5 d7Z@dTlQ12(Ο-RƲS;ͦ҈'-ޑwn!]ď< @I}?P8 &BBs=]3o$@rGo_h Y 'jO[#!+[($ dcE28x\l],3՚ BwȚQSҡ!Jh  =3~=|h4k7P<ٍ !bӬ*$?w:"3}ͶfB>B 54mmO1j^;dVQRd4bX0 <*Z;W+0 ì6 ٶ|g> dW(6MSje'2??F.wWwQ>/aSaqKvSy|gyY~r,r6Gp7Tp K%*23"g[QժauB:{0f$4󯴻S>S=LBZD8tF+N˲ݿ PuE$# `$d" 2 0a128N[\*flh&3/78P6身=ݎH F ! )7.|-Aj/VO^`|dr&ujqԨGzrw2JMO\Quw ~o)IEvQd.<3.h}Ѧf`i/lF ¨0eM4_xN28"fe%;06A;%\!A,;;91;O5w[6  QS\4=ĞT%uHuӔkd{ȡN(mwny/͎ˢpK j[xN]' 5K <}7Sg\kX92${ߏ\:E^?9Ԏ-zv vS^q={˓L >Eᐂܫ(lXҬ !*QeoBVZbU8HwhSكO.gc OWiBeibس'tY\=x>qo/}f|Ώс.whg}lo?gp|TK8{T ?c ~{ۧ0#JBl*,؉ˡzCʢ,S{920d(*{ۍ:6bq8˕Z<}Dm#RtTC!3[gb0XFb Il6"H֠ C"ŀD2UNxٿaд%7a*qd2~O_/>j=I:ِB!y~o?z-q6s'M[{jg=(IG cP1,`=ee-FCXi%q=:$ ]JCqNHDovj+ hl2׏]=D W0\}u= :鱙p;bA{F<% C:x@&2ֵs00&cazSx7 ]ns^JRʖp#OȲF#h/j+ii)i-6:S4c@4e5cj[pu|\*k%p^g5ooPsP&t?#/W=vvvvtly7JwI u@J'e{)O:عC\|+ EZ45X_KY WrK Xzbۛ$|/|;"(E(1U5ֈ;R+6fϫF8:); *JMЮcx2mz_JηKlj|_.ɤm琜4 WQB1Z4<֭Ypխ܌ms#F2(H sABy+an{K >,1rTqWx&YIZK;MsxrumeZ1)Ȃ Nj:?3yU5*AҭP޽ĀD @ ]dIO@4N߼ACV@&($!@I!Om '_u!!{,|2i&uC`}o'^2<~>Y$1Ϧ@crq3|i;8ĥTRK5A?aTe#16uɒ 2h"R@n PꄀYݟq=G'b{ Vv:? 4jJ}H`-Rt@Cr ĠG&_?Ν.AT#2~as_'Jb៴GomL=Zz 2x]ftH4ڑp8`ACսpUY #H2gv3[&2hxnqp(N7D~j=_OPl~qIM2̚dn?b7<)D'bm>^ Nɧ0H׾.!E:br=E({w%0d D`fw2(K}ΰv~T~oQ~-lw|__Z;F=涳sn^ǠN#sGs^&^m?[پg?Wl/M8l[ IĮ/Q [,ɰc @O*ϨmmkQ\\brl)"" B,Cr`d +rd/k!6UbPQQ` a@  Cbeٟ3̟[K<+< ϵcPE*+(li%7Zaf'o^HjoL1X (H-q?. !jyXFjqjAHTU嘒 Ɓݨ ^rW}-Mj"eg,$d)h.T_P>d?d\j''w,@zտc}L{~/GeHJ/݆fʿq.ȵw-/pe *.?XZ6o]}_E3s5C=g@OBŽG(I:}UGH*c"fv e#@qEf2hcg~mVՍh̩&5<8S!:-q->>dxCڸ(Ze+a*#Q\J2N^F©y$R?α[ @I.-,ݏ}oY5ncCH_Yd<F] 2)jbÿ^L02 T=׻@~c@Sà*S`#S$i˼/\gD(&EsPYWlP'2ߐ Ty$ /J ӆбY\+וK:19$bR¶xVkmb,$(i:0|8hCP>w0HzV|2x045dEEf7YAcj aZ'9J7E?N,` lMDgP3SA !0H1Ny4?!ʤ0I}E"ʟVHGb&+ V16%sa~!^ x.\57 )21[t0 5'_KkKIByv\go}2 S.b=gT;+B^1*))ѕ7٘o͊3.~`e+?ТYuUqT*'eިDpP+ >._ƕ\Ycb d:8jP(;# cWKkCB/ :Bs W]ң01ޤ?"ǽ8I|><k\2S;7>]b#HuӼZvlڋ! 0d.Ʌe¯ϹU,j%x6hC`MD!ob)?N wN~q >t}IgO|%zsI)".{GK=΃31܏ntͅ,%%m~ٚ O|y{_]Uȯܨ nraqwkrpo(S(8(Jk^((Y /< ?2pJ)k1Keצv^u;3Ӳ롸1*wvU⌚H 5)U!Z []^crt {-ƃ_dVs:)bf`ϫ{P*[(~ve"/T)^T") 9 |3mJ;\,syNjъ]n2'=/-.ѻηGg``@ɣhCZMq|Ϩpl&no4KZY[Cn0LN|µqpŔ1ZPf.H0b̿~ٛjq+^On©3J\Bzfm}YY3gR RQS&VM줮'(~ahܔuVSϙ`f:gB4Q:̈FH'aFִ'> }l j=glqeŢ|Os$e񽿙RbE:G0:zwtOaI sGL:sfRPh &z|7dՈ-O{ѹY:V{vVuLl5I, hQAנnZc)E>qdʀP3<щĩM F|rb{x޷UJS3u1)[M=YO]߿[&"/E9]G[g*AAI:C|,f poR%G?S`4 Ju/1;lSd2l1[^|x\|)m;ό$PUX0ѬswK#e9XP|zuTB DymCkIF:$4u0!3h;) HR0MdZy!8V鎋@ݞ踌)e4<iORSU.U4QxXءYa"H  tavSkO)S33OjW HpӕSװG`A=$aB*)J5nYU:Q3 4WP IrvI6V܌j?@q:5ic07pGw#|=,ܣcX\ z 0} 8W2/%B@L`mdTKl=_D֌OF"9?TQ6zO2o=c!Ye|V.;8CniX)"áI.aurN5 &!vd:dV'd爦>(㏟bSQZbތ"eѴ[ peZbr *vEݲ0A]#pcauIiE > 3 vq &IxiTîڲ{X~#ɩ.8:BN¨cZ/kݺ>{Ad-$WB6G ͐ !~ĩ%W<_Ȏ_#:L/?N^nY-4ǡgwo˘qT%g^}\ K_9Ү$,COeX[J% cZj'a=Ⰺj$.&iWXU!P[#u= +5"@zL&݆-.4G\<|@>Mbl$4+5M³)03yzJ h %ŋȨ6 }MNBՖsV ࠫ AE)W&O.I;Ss0zΗU9J|UJRTE[YWn ZWaDP48t,t0͟JgE m/fQH?;\5РJBPZ>_almyB#PEv(iwVi혰s7ͳK1{9AnzM+4; gxx>|Y%Δz=|_8"!x{hFP#~U#m ȗA"4k*baaE11ia3|Z>{Vi !Ac`}EꐬTsMUg}=d :R#Ub} Ͽ6oF7s\t |=;UUf0 =LCġ w A*4S8֥PeF d b1"L`!(׉'w]$'Q4XDGqg@57r~=K1 Q,opadS &LBn QN?Yf.ڳwnj̐eUP=}/f1"` #ˤ EUY9}lD:ߛN0P·/opy1_ڻ`X > IMb$O)@+&[)?*n;:JOCh$bbQi֫nM1%2.ۨOT6'}(o`Y|r\ݳKkhz5܄iKeؙ GQ[pd,zeTtn)C .q [gɁۂE P۹L_tA陧L^́kkwo#j*K"m~fhUrėboΚ5D2Q@{ȳ;k2K;Ho|5@lS OS͇17N pNT7F' A\pNb]%O:f4rܼnT@,LjOKȚy7B_e^jyGG&HiZM\1KY/H4S>sŇ7Ol^ozl9Od.ji֌`:^+9~S厽+Eŵ{W Rٹ^Y/|yMkޅ֣E|އc N4/o}j]#\8'},U%zn^u FvN)۟v>VjݚሏY D20Qfzwx_ 39 "QC2 (2ciAC6by]܃ W+p.8J ht#X'7EWy @bjBFq]ω]N}# '5Ǖ" =tS$˝OcaMBt)#2P1!o3kuvyl]i视uE@ 2zdFHo#XM)P\(ÒiR y~'N+ Hx`yDcR{97oW\ݽ[EyIָc79|"22LZГHel">#iCV!]uf&`-BGY5h ͣb[Rl7h /os7jM:G/\,R FhH1H J)acs߻eR0=A*?"&,֚hUf~sz )NS'[oyf Jg01X82xne>'A2f, B{EEq{ͥL.Dx-&‚1A\]Q {WF`&(b]Z}MnY nQ0Nx(KqA$ɷg9q80ϭSÍ>Xj~~9y1um3xMEX,5쾺ƦDƵ_;ٿ߿vBq(]rӄ٣~>B<;^&λݞen"N&rBS(?XoQ_Ot~͊"Lz:T[@k5P!7Mu.Dv Z%nM"큘;5%OsYfhaK)5SiAla}f -HGWm9Kj4m:>k骙E}Y1G~3̭]e5US=S\elz{1) M.$!X`CH8[ u ~76bM ern%nLz]fk5&fz1 6϶HuZ >GI¹ $0.=G:M^ƮƁrum+QvLH+ćZUҁIH*S_0Cejw|}y5YaLcߤmҁ::v9IʮrvIz =rC -Y]`u(˲NR0>_V| T(HL Sӹ %'@!BG"#zCa.q Z(V1bCat&7{=LoIpo$L#?5i#/ %䲿ۡ*o͇}ƒ Fc-a3pG6?tw8 _9&l%MLDU`ҨyH)/#gn^o[সM/ፎe^nܼ -xTc J<ӑKd9;&=h1n^q%wRtO?0װ{8_Ǒ!` Pe5[8̾_[sa;J(~3?t? pCtW('<Ҫ- lفQI-jVSY4;5BۨQRp^mfO)F]QA6ᶺ9;zotNDd0T)F¸gM4 BK6= ġ/k LuW0H! @ zs@:ǃ7YvxU(rPuH,'ΊIu;b@c Dw^&Cmܒʟ2MGj51r!FfS8L_Y;Ύ&-~3{T$lBpYl7WpmHIRtSR*@A6VU fPA?'625?K }*IzM *1!0;j c&W '{#AJѪ[nӱU*қUx, Mh]2i p9IS;,]+ch*v1 Bȼ1di?Y/ t#,EXMm!% xf|%ڹwUws-c((#1z4DyRQɠYht.kۍOZ~-X˫M#wuEaHԩ4d; A PE_i0^ǣTC+}mv1fK;2$1S76< ]kF|:*xѬ"û~v{ GZe<ޭ+0.9p9R%/d}?Jް<;aL'sA~oG_OE[_'uxdgԯ:jK-0-&b~YwQt"\(BŧPdUpdUi8Ab;GLck _ܫ!pP_+U Sm>AK:dBlB=Iª-Uџ)HXAtÄȱ3T%2Uo&*(cYᤒئ{C0kX6=ue,/p}⧳T_D[3gKݳ˾5P(iקQ/xsVkiѪ̯[hP4C#" 8N*؊vANVd&if{ ƻlǕܼVQ #)sYz ̳~։% ?lkWa{`!fI 6*9MosN+;_ hf{ˆusrzAzd$Ǘ(ñXO[eۆLo߯&4;Q}qNd ('Fbe|Hߥ[FMJeXW*pyIvFi鱮SrUvވHH HR<~. ȴI*%=:xb ?Sʤ ITYBA.9+ Nr+cB /%ƬJrX-{Kaan0Ξ۳0W$P+ @>Bd#):BO:2&ڨ;k\;Zlw^ڀaEED" DXb(H"XN)VX((_7 *,*AY*B\Y 'bU6Zca,R I*OI !Qb("߰JXXiX؇9sH o9[) }uQQ#f4k֬P=Jzc~?:;hkRŗAkM~\Ģ Li1oG6,f /;6eLxspD@bk]]4Ym mRƏغΡeݎm;"pݴja$ 3r]zk%8UYǥ X)U`T"P>v!Np ӫJe.,҅=cipjIS_7HƘN >:q6}T 36f-q1+JvſQe71~w$\>īLTJEתMEM\˸1oI\YIO QC_T;:00 䗅V*?jL%M#>' X/0_J6Mt [<4j*s=aWmR#z(wzoa] >x*G6 Pc/n/A:/Dryi+y+Hm/q":a||K.@N+U!2= GoLS~ȿW"C$J䩜QUXORħ\հoT1pQ. Ll-"ZJi=??A1v{dhSVz.ZyT0# ,grN|.ո_dq((/WN8G}˩ޢ.d| #b8?{~ٮ|4f(I1#8gC%{9)WПԅ)RF,o_+O \e5$75{X(w7܋ǝċ V͈ㅟiȫt,aHel9E4[p6}u;Z-u\ j92R Qch07nH%.8/ .KAm (- =S&4c0j9}-f9l$ƴ< FF'c Yo nаoК &AV yӰ2& mLwXƁEzf4z_%0cƧ/; :ekmGp`/踷LMGw4T1Bz{{*44js&yU@ܮXa\xP6w{z^Cnw=~ilǠ1f(R"1lQUXAkаEEQTmU6%֠XEUjk;Gb Np[[edEAv%XknaQOch"NaRvttD QaU򯲸F. zOjy-::r-:ٳf*%43cc918PS>F+-f͡[4ɕ1-58L`mvF5j vh"cETw`J}#3ڴ7o?=/ot]9uarGY_ep5WL05ZG `JUH36E1AVV%2K/OJA* "M䬙]PpG?JMSV 8JsSNJ"Xs2{ɉEW&5]7d-XX{;b %Zc ߨ  2ZTΥ35!a5dmPYEɳf4CD&4B.0z} 2vq@]'`k(`w@2caʆuϮ3N `oU tIrZnt5 i) oY|71@ψtTϊ9Pt4~?;"3!Dnr ^*%1$8Q~| SLmnA+Ԓ1݌mD|`Rec*J; gIdj!sT8qTZb)^CÓ2g`'6,Z/|v‹zC!]I:^k%!k4`y.]njYBjlQ~7&5grur֥Ӧg mQNܖ:<=U-v`(Uk 0G@DK- 4|oWe_Rue1Y\+ggn$|nsh4ͨT^9?Bx/ʐXyq g'@5T};s tiݨ]Q9c$ mTaYdH P1I=>jq>ޫO=}ǓN !ZlH 6=^cE2 ȍXW'e~O?@HG{Lqh W7V3xusj@`T\/5y}} F&Fyv#1o%cglafkO\kRΈ0AR&"L m Oz3Ο]ΎY~]]wigF 9 8rnBI1d־I %R7f)  Nv$f=n"Ar0aE };a'O6O7e*[\]_5ųZ6~3̃zÈ ?S8U'K I$'?UL4`MaI8ZU=uEB|nʟ!x#|iP"}DG9@>ĶuZԜ}ӫc>]aoF LKc,Npcy^8}^h\v,yH+ Z濷r#g6 j ?6D0!O-a{6ID2ĥ&e\ɿkb<}dp9zov* $[9[c>oZX [A2c?ǗLj{eȡ)TSni}Id5 {z*^ޫ= Ffտ|d,9_ɍoof›8mw^Ҳ;_Gv^y ?xX86O{6L C/"}{Ok<˶<1s4Yˬڽ~@>YCF-?G˱aW1!J~zݥlυ)[{o⥷nnv [WCxLwc-/0ELe+Nt;SֱZdɣD$GIUEFu7?k}`¥Y v><t5,M:(nN+u{Lƫcv=8 $:z4k>ρS JJ[c/##,oýw/bz33>} ;%7$'#"(jԙ2_y;ZX)_ZvJ3>dXt P8PQ%h` CS)-e` uc: 5oU~b L3SUSQ39_BpCq"=Q7[ r.ĜnG輝bmQN{Jȥw%eWYi3+-IY߽rK2jI۔]\"& hhm sar>VR ek,JI 2BsJ)Kp(|鈸&^ܻ!+aԈĺ6T\t01f|O G? Qxjѣ4tY%$rr7MwzAM̀LSIeu"R- \)'}.Ui53:do~ڎzoIco7b.r[Xrc+sñ][~T (Ry'$p'[(ۈu=ΰ}1Z8l#$~o/Cy;#[Cԝ 8{:Z{1-;ܗ3l*L+7cCxNJH[W6&ߖhDqw8."_*𶭫wy> D2iԢRXAv&Z'P ~iRiQE.yzRKJ)dD¤3lcGzT.8iϵbCmW=k2j̬MLդf^2%=FS{z欘kRSPZ-9'>φ4Ǵ8A>SFg?=#pPA}o60tvoOꄸ>|p#A EGG> ll {R$/_gτ[J9N_c;.xyʌ a*f2Q}Cu_SN}?`cVʃ/UGnOReʚ(*~alEY/$['EAUZ6c1>n %͠nhIRpF ΜTF2T?;ihnYT$:}cYi=#5+0BqWb!TbO{iT&-T)Eԩ l&HaU(%I1T,b-I' r<\2E2HZɆքUP BY"(TbEXEU570QQJ1HJ tMbAPWeEaAI!g,DZX*0AE Mn3Ȟ׮i.ħ'eP$P7" T[& I14*|: 48He7==#>-xo?H EB HD0fATq1JSgMw/9 mu[2eOHyXYZz%Fb- Bޝ)M=@259R̨#슦;y|ӡ ${klN>.}652ceOQ( J`VdTS>ld1?4}zZpk_ c 0M=3Ai'§5_`IN@GzEtS^9xS 0oX @Isi9Q:1Yf»Z4T+\9&ǥ~fxy0c4;+EDjF˝%עh{\9*0t].KD=N,oGK!?^]ڏBzXN }MA @ǬVTBm*], sz,4/19Qkސ\ )Ti))?fZw-|<DhƩ-S,/J5\݅~tNҏ;Ofc†TItc8$ +tHW5/ƌeϜnc%?v1w6\Ok\ڦdcKX5)|<asY؜X)xu!j2E{3S~?nC=@PTV[|zoLţxaҙr]w3-v:_5wxsޫRIݨ]Kn`rdm@!0O;ӱ1|g|xvrp,Tg+c(o €kyoqsVNs* hˣ3 H"tV>ZhU] Hoxٙ Sô. %ɥ[GnCSv )E7AZ ^.f]AvDV8Z[F'_=0" af\^ϵdTfЃdx-^_oבSxNx9'd<  ccm* _x[|OW6U+URp; [PC3u6-NK4}$,=|cFcn+yQ?==]֒## H0IW_$q`}žۓo]. "2 DHE 0f>sr͙3  .% /_QwCA8C͌;PӇtfkϖys.@<84<_ZǙÜ)~VXqP5{KM{k{l@O'Q@{:nSK'ifx` 2KǾ"E8y.`MU*ݩۿ (Sl: 4!U4NC4֙\/ ڌM ]"{e!=gfQ`@MOG|Ϟ]'[w~~;^lmۚ$NDepM0rUc zPfZ.RunHfL.b6^?-><LYnb,C-Xc(D8 AKɺo};8ƕGNvãto b-СGoV"hiuPZozݔD1I0 `0X#Ad$Vl2%l 2yz0WՉ 7-!Zn)ˡ^lVv.y ?L8ױcL4808 D|Q?6ɦma͑@ʠe<_Lu_%:P<Ʉf{!.4=Iw/pZE*@AER_^3JI$JOIi܁`IU;YFjQk]FqaD4anwLB&@%^xn~"[ЮCO@myF-xl1kx|> ߶l[ldSK#JТdqrl_+(EGYHFeLѿlls8 |#0@KC+3( ASeWZN2yzVarCw+z~#kelkmld % ߱~B9V}76B*)uoiӖH vJ[ ކafȇNH\@1lz 7f5UzY21$ wdRxB$&EdzT^b-?jyLq $' NXbPQ)OQ xձ0ʲq@ڮG‚VvnM8@CEAh`#PZ :6 $h))}QG[6K^F`fA0C+_{E/=Ć&usyQdHm@~6xB@ibbɸ*!WAi-}<}erӍ s{Ahq?{F:[ _+%9)h[/q>wFFwfq ^:B][J\Q`%Ȃ"He As0xcT7ر'u?ȇF#{wApHfHo6wmD & ^mpd;VìgZpZi*d(>d-AC]sk^wױJvSwyEҤ;ō|;Ĥ pKUʑ ף@#C/œzjJczywse`"ۺd,YPQ"IḦD*"TU.|L^ęwN%XADYRAw7vFRpsᳲa"/6Ɉ8FAC K!}FQt=V% 2gA9N{ )O2aS Z?#[o8bXw;ka!7 E/Ş.k$EA" DtZ!,_6P;C@LlNCޯhDB"y7mLK3x@:UO]Evͣ!>屙8nY蔐5?"-YG2`רe@\A^m2^`ɤ v [wfV_фJⲰ<ɲcoif/a$H@z5N91 [mS>W._j$to-\:6#n2^I q33lg~ me鵹"_{[M'k]ĬO |`{}b#cC8Qossg̷T°Q3?&dga9zˮ>O98d RZTI@1X*o@UD5K0Th=3a)M;+e50@՚<5z;x!?vj_ȊvkvU:vMTuOnA}H D?CZFӤ$VɨCWIs|aL˅Ov $fno_Bz|RhgٝTy(U[TDZz"O[;T &v!X_yݷr@Cd0߿Kh$s"5Vvm)5q/7$]Fr+lHٵ*qR؞) ʙ#w/2`9mJtFI@xtܕsID/X>H0?In|&JjDXj~Nӽ4/}G#5cz Mqkp~=tx]bQ0PI$M(vQ@"qPRx4bP~DAu0KI x WN-d> ތ'aDYjC"sB (u.f^ >$-$mR/m.pȤ[L vPA E$IuŵZ r0G H݂yQG/쥽Mݒ_0=[:,TR}rU^9yb("#2ŤaC{sz]?}^ů&jVUC+߭^e(xǻJ@[8'3 +X37 [*mnG7ߓb>.m^ @hUOLZ,[Dw! @fƋѢ!uL NcͲ6fÍ"ɞ(uc)5L~DĊSFVPJ%CldVWƴ c@1>Ý8AfQSgX1?D*_}g>pc;C *2a.eUX(z V)=XȠQToyw|r~\Svh"ۘdYSTnXt~v6Ci) #uհک9$ x$rN$@[ٸM컎v ̮=Hnw5":ƅ%KN/ wjH> =G>\*YXU];{N5ӣĐtﯴ 1 .wkl0ՒV9m.o`\p"qy9S-o }R|֐8Q͙bU8b0ajYCk>m9Y}K.qo@Zd -ɸ8yގv7&1j=Yk_КOȱa͙W2.^:rMgl0rY5Ԩ3/%K*uTYhҍ|m0= 8ۮ9dε 2"Ǜ5^sE4kCcSm#Z̉r1dn%(Sɪ. BuC qث :l+ˉE1$~! ݴhMk9 5BLGjLq^7CTEζ'šM*iSkΣ} ~( F#Zܢ0L:Vf 2{Pm̤}Fcm2w/(v \k ֙-:J|ITKqpryUxnw"nPd8ܺ;;TnRvݏϻ^^w̤h Y2ӶpEȊ߯UXҕ\`az{t5l;~5,hƺĞ]d5rxwxO45DS ڟf%y̽ϐP5fݟ3״[hѵ+fN}[:(1+)RiTDzZw g re mq7N+R@? [#!r<޿C-\ϕ |NɮF˲hbNI PCdUHoma3-v02Z2r{})RԻRi62ab%NsGl[ھwcm(tg֠T4B@IBP1s( (u8@eʠ8PEVA,D9sۭ]1tr$h^=eהхY~% O# >*^vid1 JJ )ߋG6m) 15^ ׁQvÃg"d VE( "}]$!Ћ0Ȍ̚@ØϺgq4%Te><=uhlzFvp&@k!6 II:GmE-8D @hWd{ϖC ~BAT,'䪳rD!!+'a`~읞n*A))u/J%iIwjm(b#pl*$W(e˻ȩdI1B!^Q;72aꉖ:M ;y?><i^ &M CזPzW?g)BYtCs|;= X_>)\jd7]&Zks O㮎pamvڇ.7mkWjѵf뷣y<פS,|arX:c"k,,ɐeV.peu+?0T= ,v%]VV`_p= f7*~=ҼSfPޣħHQc;WU#D "k]/>~1%r;ė-+(_2Oo~N҄ Ug rKhTmB$ ̩8{51Gt'ok<@o4?wfW33 B\JQG?+ }dSlݷy^/&ĥ2GʟfT~;JZ0=Sx1v=3Mв+|F= 9=Cnt^+Sŭ vyXBd7S3"дvcb!^(4_cW%y8Ms#:pl8.><J GK 4xT7N`P.r$(LGM!P!8@Pw$7*fYBX)z v"܍0 d- DW$ p@. }!|Y"H+" @Ȉ htPQM8G*HD=@XSwTYf}_E#p `IFNrV.(N+K/D~AkulOl0Anp-ò"Y[އ_k` 7߀\]=aqUBh =#ۢ.y Y2BQ, lx_X.xd 55u*Z4N,iYI=}zd~ E/x֔WL,H C:;rAw[pՎ3mg[򻘇ꪪmp*@L2+^SY|BeE%i)4d.%J~ ^goCtWhmL έlrg/s<$BIa~Wa L5a}vj{>='gesm_ܶ̓{`ژc?Gf+sp*Wc{/'qE]+ل(A({a$UUUUW * UTU\*U{VU\&PR` D*a3  El1.꫟HϠ*O8 f/eKXEL`g]wn0 No c{[: `[$zh+~yl c;sy28.G0&#8T@QEtr uCf@2##3 9|hί'>o:x"Cd!d!P* D!?Gl 4,@AsW'! &VQ/́}^"Oqp̳̽n7=I$T訦Sm63bY(GjCa+ #=AA/bDH3vQn/X3g1G\ \?򹐺BbK*z8FK)xP*3㦘׋1C+G~hiEHffh D Zx6K,?8vW1.5R$By "j(P3f!ϭwT)@} ?w`"pQ#|wG3N"JD%̄%2;^D$ }* a: X0lR LUr` _36͇-#x {31I g7ru)2̼x ˧=/P`O@`JxġUo@|`蔡xNmy_AR+9K`96@SҡR|Nf .PU|?ëLW@``=sU W~V]T7މWVr͔ =+ux/#VoM*A6QuԻgL}w;e˒Q9!Uwęw4=89,)w<8sȉ rtʯn99BsJ*F@'[@( M6tĸ|,g}\"v2sB0C njQTtzG)1K T\/l<8|t>YTHK'Cԫr Z%gRE.b^q*UYÝ$%A=#`ZY~tLDױ,n~W";pZu^+OBÁ̭K5W ?͓L=HZʻx$T9sv$CA+dREDXش#۷'QG" P瞉`Fq8_f>pzHԎM變XABt^ Р Cgm(UzpKWgBVoxt}g),] H+Xy dIW+^m Z7ZQ`1JS>u =GMvb'jޥ[2s>wt5W@Ud-㠼bƬT- ŀ[mñiWk̶Y?L"x[xZ7eݴUT2lg9ӷXDfEz@1x6fE_zJZߜeORpF,ZY2gM'J_F#r~U6(dՓm] `W-6 .kJqk&C'&yg8#V Vkva/ J7C% ]P`T惨p4ZUc e? lU H3L_ljQ*º=łv;l2 PsASr.UZ>8Q(iBaLzV?`aDI󕎷k":QW+ca8xnFxp>asK0y3hDR ?OmiedFB3ϽF.31AD3VCWҽtW %#; 1a)7K*iZFsDxxpbܨB@JIuM%AH &J)D/AF!zL8%vU_AGw k`m_kltPRn 9h 7CHԒ6QYyDlu~Q5۩g=?w^U nsHMLVtpX8`pKV\"|^sHS_y*( fK\$4$98Hv]b}S d5&uSf*Yٷ eljXvCQ>j"7?nIE? Ŏ#q|Sl͐I#?Ӊ_I+[ ~ E'dyՐc |Y1rHO]9L]p@ jBffu"]}~䊠ղ\MU>َYS) dkp]@v6RW9gҀc%iѸE]FЊZӭ.5D:xgnXoòQ)-zEʨǑ4Q8qV!WMC0Q/CE] w ݓ-J6gD>[{x%.^э?x`r7S,Z_/@MA6`@Z",a腪촜ȫ Eޛ,ݖ x-ҹ5*z-CroV>C}pӢQb.z-"co=ɪOf||\}ad<'l. 1m(B٨Bn (-ʱ Om4\Ă ҵ"2)26ζ^ @ĸ8n۰ڔr֗d6=5StL)z0>hB&ł{cо(ƺ[FQ9KRLS"wY<2w~[ _O6? ^=6`3^jg-ϳxӢ l;a(L5XM<Ǿ=\շg?d)mw{ ]'$=QQsl?\ T׷f?Bj_BϺ#-T|4g01ØkuFŅ"w)fӶlQ{fG00jM3s d|PYYPB=n*2̨z#'2=@>N!>ŀEAZIJKm3 Sep$ 73#իQ$w΂K\ӄu=#th_)CǾ*2!8Q^qYGk|c) `nNQA(,}m (H;*,jp۹ m)&NgӅ$M:Ox[_W.ö49N܃gL>IaOM1+6E8xNMdu;қlwgBiP_3 ]Kb|SM!2czY8DI0fIQT-dN#N6zNIwɎ3f[U\VGaOZ1?U|DURLR8RA˴ .Ӟ8ՈU8hfky#_GC:F-6r|W{?_z"4jɳ'jLXCɰ##ꉟAϲVقT`Fܿy fΖ?qBfBD,r*hZQU 0D~ݸ(oS*7h'6C2&8{AD1W?FKէYaeulVPhOX,}q,->WgTHMoSa%\v@fȕBNm 2 >ӎ%v%^KiMK0w_^p%Ey8MCDq=l=='E~.`G0cK97TDR2yEH|+& dW;AhP5D\VWL7 יv=RNAkh D*XJưewXӹwI=@HB#Nw&uF6NswA8R+O4;GOd ',il=%>HO*V Ccʓb'#&XDq 3Vgݙ@.krC omY7W5&:I&3&+3밃y1lzom-I^%giw:;ϖ@K!QĩZ=T۸%3pqF̘RNa XAt`O/smgO#N U=-bgrc2I-_Koe,[ ءO}bUVID lbߠzF샢^JX o{P+Ym:EEvWb?TGZGJĶ]X e5@AIz86 va\H+4o/Ohe'3O~kQP]כ{ zʩ㑮B GɅY. $"j̥/x':qЅj=˽zdà+""EJ}p8<2Q&K(+hsYU9q]UQ Is/ل+eRX-1q/i:r[/_hhPJ՛.cbQ'7f,wH' 1Ά(yhT!ѓMSܕ;1|%`y|K'l#HȢ{߃# weVN KGjX!ΣgUgMsB2j1YRXZQ+8xH{/ҰJ]ҜrPGI i Z)V<}MOQ;$tAyp+pո S ?z^< _(̅7,oVif6Ѯw!im]GϳU[v?Xnn8ap?9c /{(XW eOP{np/ulxNyxyrĦ+ȮVB{kk`'Y4HUֻc\J?jjCo3}.Ɣ)x0ӹߵt7aT,g =dg,; I{+CI3N!:F| &0s*IhM`j'8Wz=f2Κܪepu;Nu<6" ^-usSLY3'׳13IbqT]jUoRu@ck]r>olDν"oZZxS,yyb8v/%ЬOE%Yk ?EO%JQHڵWפV |:buP|mx K|t"ߍ[0aH]NӋ-zM5i목yCïRgtk,S("cO`=>ͮ3aH^});o U}5-£E{vCU NH,vL^i v\8坉mk .QΎ(_Uxս(N&D`a|oRAC4nl {s= `y-K ߷k%4gDo*O%kWJm6>n:дeVХ c=g[kX.e((-S#򽄬pVAc[oetQ|R.t'Z BtǿqN)&F#q?X8Dďa8mc1$,kEV)uQOa/dlGxQ'z .3 'f NJF)l{M ԛJ({?zXHm-,&9+o0UL"UE3KoFWJ@8.GÈ}ЦZ:Nuca{3sڅ6mWz~;7-tVUGw pSj:,xF~W)xC˛4"ɤJ"&lے ;yqJg|W%'c_,ZP!Ƌ@~v8Nsv*]w¿ P]-T,L&}z EIy _;,3 h#EWdܑnfؒϫv';ŋ!dHk=TH@ !N^km.l2(T N.wi9:Gb?4U3t,ݽ֠jKk@HB>e׸ZrRAuE;َ$b|Gj֦# Lū8獲sE##fP"{#j%UyY"V2(տXՔi&C҆x=vOJ4 ADvbj&Yx|qLjeC냵yB#øC͑/mam8Mρ]qB(MU0I[!>'G嚯 <Wx8 ӵTy ĩy_9#_!a Ž>lJ* "e~TEp7]8n(Y}~CTf?-ysaZBГ8KB8,6#} d.srɋȏL'z"5' KhI.hI2)}2]}Τ5i1)sLlq?Aܚ?FdX^Tnni!p-p!U˲,gKU"ON Ϣn"#}oޛ0KD Qu6 D6y G3ES禊<"$Ea?`9wQ,%8ⲗL9|Pɟd/)p~Kh]*3GE~dLrM^ޮ@}& $Koi3o 'Y4~V/Z$_=[r9'+̺`IU^-p;3ܝՀ/hr+=llC7TOTvDě[K>ZLTr8AfrB4gu0x;'bThA xUwihY1eD JDhWnژti"2,ՒS"Ibb,gk?k =(oWMubuR`|/jBԚkbXhG\{86/zbmdSn|'=|ʓˡ:*l><΃\-d^Z44[αEYZN$,pL{olat[A]4hjt B4l_@ar۩w2^mYi|$xّ TaTATe$pG!+ϕ}BuN"tu/ZT+fze::n 2m8aѧ'I b.>3g\X: 䈩I 7!V a>\V6]˜͙~p E8sMX8V%5ޙ.)hѧFW A>'6p(Od岆tVQ TҀ{oHRvӥbutX]75T+R 8B'or6c;4ߐQ7-F]KBd$tA3Jπ\ZC]dnkƺݩɻ'u܄&]i!(`RHyJMhwT/SW;SWg}OQꩋD8AٿI|$Gl#F2>D]p'Z+!:Nb5ڐ5P7݃YJzCkU2<_ΰLҸ౫Q!SZcol7LXcglOL-Κ4AL@֋/Bf{qy4TĈ@M_p%4)0NuavJ sH9-J[5,UُU6U`)$.{rE%Sb&^ȈMRbav)0J}ˆFp`r)ΦYC k#~U8( ҈QIE4楽#OeTYv'.#Ǩ$Bhh'-%> 3Ͳ䐳oڛy&:ᮈOsAQqKl1էQhMu@ rgGA_~obc[QWҒ phOqμ^OBʆ:00~/CߩeiHAؤ5z՟& ֣XE|t%iR([`K.k!_0jN5∥#y`y'sDiސǀu2&9îؗW8 E.+ ?;V{&Xm%=u"܃4 %~;ΈS=WRN?Z !hhSIGrqb!|[ dgvEP1[]RYiB砿tGcwe7Zй:PW}JOU1,^}|b&z՘O KV( pb b'.h~ UaR8С!XГpi-|kpKnE'DSδAA! ؤT(u2ֈ<:~!`ң( nHt6Y9:WԒÞo43&XtK$-~d4/gJQBoi8AJ+9j_Qf5A)FYI9^,ʂ < EFԘOCm&uTnvj(˔/EチlV1ʐ UvHgĈg+ wl|yaԗ Nt=R+";6`q]srGHAU_0>5^dNh-O΄hKqd OI/r3 ġk`pGyghl'ŠjF,)ΉjC+ 01?jE?hE >Sy]Z0<Ƕ?rNa^7Ne7 baEߏ1.hJD~Aށn\{+]l礠))ʖ   v?7}qz uc P($ާ4Z+nǙ÷1!vZzT +^Ws%۝Zrea)bg,۵<3L[SB4 ר͹j@ PSR\p _r/&puV`rMuZ73 GC`y*Ns09~X&_O T0LuA+^p% n6FcĎTQg;gATVxbu }/!una5!i6:Tެ,YB CYƂl>>.Ɇ3xjtk>J# py >κP<L Hf# Kkԛ+x!Q&&ha&U{&]#(Hؒ2aC<{fm_uqVK%>[,񜭮vNpQx\϶tL)4>bP~9P[g_& ?2Ȝ (KouMCtV`娱HmO2u2D+#j@{AZ)K2{GR[gdٸ٧)rkŁ*P!D]^0,U[$K_Kwkxvu3ZnAH T_>©+=*X:oR #x<[il3L| io܊Dѱ\_ נG-G:z@3ܪ,:LAqALƂܑlYyO:M*i/:hhOQ߿mGNBF v8N]6!:S:wpv]? y&mMG Arcl?4Y}7N1G9z`lP"䉯8{P吊/N.7"\ åwX}/flтy{`;S%;4bܤ/sVc"Ψ"fmd}JT)Lg: @5[tc!C=Blף\L'"RÊP)9T{ħѷ]lF0 : ( ߍ:am@҂L0yCZup@]gw^"nt}\T'&2"gF%Ԙ%-{̌ Pʨ%" ,o:, "(;`x wU/AY:BWrq]#7졙5B $)T;׸rȋ:l-H]6Uç(I_M-7zu !Z9q7U(If_{$X>t;WձJ`w7T5.eJT3)'>F'`GJY~ڠLk'WfZvz̓G,߲kjT+K炽WULk6.@ѭͶ.i_!} \zJa_h@k("Eܨ #>67x eXp%NGl>Avd*^$eQ}p/"nǽ܇DqY jX}9}=O fD3N8ׄdbR7?KxH %۶6'{Ҥz!o{ 5e&}oa6͋<ǭ|VrfEM*].4|VHSg-/\H!⡱foι+͠N: 2q!K& ?qg<9[jP ?ZLjWtmڲ ,990o>57Jl" λvۍ@Dw;f:gI˷Q? v)zբy};s僋n)cki4^ڶhcPmd:Kb^o~VF$ϡE*h}EQvCd[;_10J4Z?iҷZE.pdžT,t&7qދtoX Buݍ gx?dHeDE!D!|OK+ GD7f2nвa9Bp2B7S9R"ZzOƧ`y(ԀJ@ o +>a9$4Wu[\v%$q0LY@Dy V5FF" )]G۾c:pD{?ZWhnrb#"5 ѸĞQ@d׎`sv3EX>-h$v6muzNXMlȒK(SM(# &;aGE"Tu?|]=H@F蒻;:9[0:z8@ mÑSq,ZST͑7y)؏?׃6쇁A~< 뿄&FomPjÜP&->mEAvc^pc(W,H ]HOǼz'Jߕxܮ)UsN_AY|j\UֺIQWlXJx[/Q=txGB\Gq׫h/ƌH:Bj̼IxG'P 8.͇¾6Pjbn?G mMr.0W.Ͷ$5 {&; ]: {3. {sC$V ޡ􇮥#4LRoZTP3q^ F;5#;YG $f'sr+לv)hvIL6v?~~1KyףqXSFpeţ3J0|a '{2MU=>TΫMsL;9O<`qTɘva 7rcY}Uqll(RNz&>1!ޡS,@^j/b#k0s[ `;Q5^NSHHz-m\Дx N6z$صk8P6c]T,[ݠ !loo1d],4l}{\ok#1Fu# 氭:" +j 2CpY=J 8woKm[wW㘿u 0Gz XA%5f) {h0L=-gPIA!O_ xi4 o9T%RhWmBLB%=$"=1-|񆢻VFIqRvԪѨk]CPzGvs4:؇`|_&>Z> Ƽ`NXA@b2E͝k0&Ss]xt>Ψ{ 5p'Ȃ0Rx/DrZ6_SqQڥa {ED#9pN1&yzCF:0^o@-EY;+'qEVku$<=;=9aqH):Ge#G< -g8#+DNhtB~)9~/: #?'E/xw0ĺ Oq$͌ ശT$8ʟ{'8.E :Y(vȂ~q-U)\u| <ͳÁ/kC{nTau H\k#@/32$`jɗ&}5uG sHLpRi &bSSWqe;ϰOkyZr4JT\X6U!H|p@*8垖wBCah#y״,&p-H> ތ$#M1\V`DYhn $];^w6^t8-|dE*쀯v>7`PXISW|o/A C 7Z>2̡.6I~-n17dH RVU D\ eGg% :+G913L`ڏϠ;b7w-Z~}b0N5s0YɎ+'Ff/Q\j9u)a1 ɔ/ESJp ۍ)?#si$\qa>nԑ5 P#Oji"W4, Q<g ua)mHp?N)|˂km뒯\b= & $nߩ=;?^=I?ԒqmJ>S^s7K&ï0̣`X@z#滘#HQ@dwA/4S* ."ag`W-bnw*]\dAVvJ~d7+~p mKC eq -zj 25+͂4V(\W:#dKs`vַ d'}q)Ym\ոd7'Qdt=Xp+tBÑ S.NNh d_2;SKFdh݆qGF9] -"?XI%2+ nI~#df_L ]ؿ+vˡ_j"%/R쿘Tm ѱ} +9&~l](uӦpyj[pG)0LE[Su:eZxl]R#D  ܘ # F;㔕[g9zD"K1pxDoQB"{ j3ql'D|뙗eAK']|q፮w'cCyoՌo/?FSΑW3&s1Yx$'pP+* :V `l>,~-у+aΘjn)u|)ϐځ(X`-ӟbaBw[U%>b.OvCdF:nZD'{VEVΪ,?ד [B6CGbYeuzϧkMurd۞N(u9!&O8z@iϐq"@:]ZU>Af8!(̆zUC١ Ŋ"b+D7Y$v10EKRvރKu!S6\G͌Dn|BFkM!LZj)fG6$22KǮB;-¸FPV_Xu%;.N @\*C3>_\uP.^hoAj<6re7FIܰ g4ۥkj#J[pW_ ~Freo?^{BYŖ\`=byGJ,0,c &ˤ3QxMTjl'`rE׮ص}Ǹa?Rt^C_8^n;^vk$ 4tnoˏ{$$Э +-JA.Ԭe%>ik.blRNG 7sgtƔ< {7rO!1z,BY܃֋1&ɚ0TesW/I*%v5O וO11 XFp!vsUKBY@ʕ(C#~v>}7xmfԤwIQ;%`TmJ6h1B@LE@Ey\ 9sva?W>1İW;=;%YPChGemD]~ɖ]eL֫pIA£\Q0'QVs>xHbҠm 8Όȯsa?IJq~hL<%FN-ɷJփ^7xky e>:#kvMgLh!_P/ ^7L&EMŀ| dN?U}cwڄudR<$a8RXQْ\K('UJƲbP,݋sT3+ac.c2[&U%0,CܑY9=(nřщ ]C9QpQ6)oq {V'`Zf~ᾪ~u+"3 r-ޞtAz8޳.  &#`6}D!DE ͱo4r7dsқϊӜxbYW %#tW2 B|5`1T:yit%s^~"-.ڏxkˆ؅n}a)Ƥ]Gxs4V߫yw5e2YMowǍxu~{8F[E NϚcyXbY'@Kb,NM<y F+zxv/uwU&q} R#D!no Fڞ.F~xst߹s`jwiI;5C$lct."=z{-.E_ myHٍ5ٲg8;KF$Yqg~uOq1T&C_Sc}SbDaS`1B~4 ؿf˨ BXgqs&"3?wh@WEk"'RrU ivUqe?CTuo5N֐3i';Ue|>_5D}G"++KΧ# ƣ6ST9h`U4`hT=,a;h J<-UIcg3Tab?Bjm}v_e㷸dQl:)3; H^n֏ǏT07g=#B+HE5fYY˔硯+EYpKN}n5iAs+nvsr2ɶ #%Mzʦ] dolpϚĈHD<'/mA)?\)[D5%Oui2n{lt./nxx]NV ¥2|4&x4'RCT@dc 23F%z^I ψ늙-3'_*"fORM%]̍ߚ;_i қm*BP74☬J!WKjA[bH]8sN&P Z9+h{BFD*ź\/?/cb/?`DD(Yl3j\5*X,~2$ʇI?.vSCcȫũN"]S[٭6Q/2:{S8U뎇a<6Hi?5J3ڙ78ҽ, Tr8ѡ S$zλуk~g7A K6ڧkHt/Jj>u_,1fi3p#Jg)0nវwtF(8O [UXCH*VF8^y=Rmo ZZݕacBޯ~~e6dBf%bhy9#ȳuQ|+~ RA cΦuwج^Bf: 1SLd5FJAG8V\as#!m8?2gEiFQ  "*ˇU(D&"U?vʉe {%XJ2 = ߿,Jz+y@L8RBc4Ɔ /l7pnd-HG ERMĥe?24y꛲ڑ\(7-DUrGd Ud[VLLwM11eOye7rG# acYֵ)b,]ڠ:o'+VP3)%|%N_$X2wk Tm~+1x(dgRC^ETa56X܅ɋc ,B`=J_i6R%N j@MɅj [$'\ҜC0oˋĩ\0|;|k~WY{į$\d~HvNӕ'!An1THo<qz]% hq_3 0UC6eWizREA" WQz^w '0Q7k1"O5Q=ck|b p!wlǁO~0\jɇHѹJ7G%d**^" $2P{۠X6*f):I)ј[YUOܳ%f℩&mbxm۸W$0-%` :y蕀T/\ kɑF06f󭐦6Uf{.TP/Jݹ $t1SffHz@Q z=ߊnuCϕ+(@@s҈Fb[8AMv]\h$= #JOwVF; ڹ35`{6bqe]=XkL2 :s(B-d#4>)NnE"2n72Gx&aj3f)y& |7?ّ54X4f"7~ P֤`<Y"r >2[5@U7}uqD"iV%i9.RgfpZ`d"gGʽ`6׬ViVuyzSPY ̟ZۻtYgcX_nX"0ɓ`#M3+9uOLd(uPK IԞ6NςdьcĆy&T%22y>L?\(f#ٳGY|45[[uCV5b eҸfFғ | DcؑjxP5~ZhkǜO38s/yu^kMK؁!0n $ Di0*Lik z׊V.QCnsmX{1V^TW^C-| 0^ (>¯8ig^;,re|+%c2}ctC[}v$C/#bN7 Wrwy2zU} %ߚ]`N4һ}W254W9(hl3NEg}vdV=r#Vy8.}$)'|4NU=X=z2ŖK\/ON$2dj~G&O1xcd)4?= H^d5Rcbǩy;vG?-jQ:_ 3)Up͠jfW 0{2>!/ T鏃Gv O)Df5q5m FdS|٣o' fOAc!TIgLm`.]ޭ=6*nYQ<feA6C;D3(` E{a4 =:|Xgg3~{jűy)ζԉµ$&nC} lw8/ K~fڎe~bTgO5b>%\XTH ٔJ7/d瘂PbKQWbu: 5綆"Ni`2bFDΰ."G~ZLIʴ`eqV+&Fj]m̭NUC- 5.7UWqXnkT 5iG&$>0!g52g6JBľUbCAFC ;j% j4yrJ`;ApC͊5\t NHTC K[v7b4:5HR.~4 iF;H姲b-N0^ Hqm+^'Xh&1UBB,,PN7LA(tU\ieDȞ#Ӽo 5AŀJAǓ+,"<"|ɲ˽:A.M3Txg(ohRu6^x83mLdQ5^Y_Pu%)#s]}ޡ!fLJm4ԸY!^%+N66Fjf(Cxj_:r~cJJ$|/%u g#bND>EDzN3 S A>YYeȬ pCsN`NEN3?S-:ylך6F͂y[,XKyTFoI|hO`S{Pd] s/4NͱkSH.O'l{C6푖Ke9"Nϖ2ԢjX$Ŋw`:U1m0x}Q 3b8VI@Q?1OIaUnV4D+ѾI3:# =,fڻZl|_4^:EHʠ=M2׸タsR#}[pս+H ³TYWԢ 4k%#aJZCFw=j +ВJ>4XҺeXɺ$(SFiru4Jo|^b euq˗<.9)Vu36*CV~ØFKT#W"O9,d!1Wy |y/#,t(gNb" AUkg[AЇuo,7gMa0"^*OS&j%GI$>!aY3yP(Uɣ-O:.:1Q=.cEZ9{L1dXL OG{E6?H=P\ &LKyT b W%>4 ~[zDLFf?An'A 4a Tbz箤}r_@* tQ dl[Ϭ4xPԪS-+ ޭlYuĊk*duCX\ .y6üqq-h;-=܇or?e>;#8n(7/ubD"!@r7FGVЃz9u*~j iԆ"~Vi3\V030G\ Rbfګj@>8P(};E-阡s{yhowmݾӇ:٧lE:8{Hj5"_*xe"BDKp>@;{Oj:V@CdQEO蜉A n M87^4gWlQyQh"EN(F8o~m}О G=OuaD(>E81~LMPAAl@urun''xqȖ^Qqop7{&x5hrB_P*$;vߛ u> 2P IYqɷ tǕT|'I?HSێIzl읕V_"~L;,r<V 1bc=R:s^/H%KpLFsbbI63F#P<4=bo{A|gp+K3)?þI4aFsL/wM:;4>̃J:SfFcD6ף 2B_7Ł(ABUsemy8T$Rt>⺌LN{-F\7t+:jʉbȥn~IFj}X6{ahcvzx&?DҜ= 3q(?t( %_4< hO$ mz#AVfjFRST(IOnw%g޶5YEǞ I//W['ɕpIXSa:fYL6cӚd,: L@Q$na^ƭPuC]lk$a߀L󦃸sMbMmٸA!S[^n$߭`RBa\BFu:1_Lgnjkr}/>,-w}T;n*vqvN:3x>;JJK\/#YIESE b T,ۺ쮭Hk\[w Auz.>^-V4pOp:& #Qsݕ'Jdd`)Ǒ<9> 7r-]]RMsYJ.gW=%PǽM PT#g*i>rJ(Rp;7$9i0<rKҹ])Ai+78&{DCvxB劻IgRs[y̵&އˑW|7k!03bg7MD2pdq_#H`IcXLQmvxO_*..7-X2`kGvsq2{ ?2zf kXeB (e(cA*&RP=Aq x6sg9~`Ki$1qPD%;|/ϏaQRkū_VC?L0ݷ?A@{b6-D}QnmF PޕjDٍ)hLA ku^܃ '&뙓Z(q},*e#$g@el3F'}ʉ 绗7]яPo\X ah%9F8;}g?۝L1~h(jZZ$!J}y9(=~a-23N)K={PTE6hDZA7{k3x1`38GhD?YXp@ApF?m Dwd_N+ZU#)aj4xs]^+~F6S-:×ؘko(Tpy~R6];$o@jۚv\Tf6Bl@*۸0' -1Jʨ-긙lbC봆?ja=`8 o /zB۔YHPyIH &jp]iCU>Do2$fIt j?duLyW\Zŵ۴5%3{G??y[^çȒ(|la O~ڝFV:OV(.T R<)tcZG"!CWȎshD]U$Spsv|Flv"*^>)y"Yr=0P eKyʽ b`%Riiz$cM|/޸+T6ؠw^f'3%){d9sMe0ڲ(ɰhfJ$` 1^hdcbHsf(+?\P4q @LНOl,'jpHJC$zhSp R z2s_Bѿ+cV&CuA&5C$J%E3fl /MkReqH! ha=9wϘxkW:Oe ؼ-nUfnVtxwҸKw/x+K;eFذ=БQ4Pz9+DH@4q\4)wKH?CS6˳fN 7jȇ03 k=a-h`]qA m2En{V5Wz3ܾ+#Jg߭"!mE=y>X8C0=JY4VK ja-^cE?tHY# Hp9ip [?J [CmP,U^BkA =;kҿU->g<F!H900jP[?M& gC֏;jM T!_3&wO"J[T jJ"[!_<P=dvg`bɇf|)HKښ`!NnA(y,H' 'G/>dZ\晾Ǿjs'TXT MP^ ) ] n9`A٨'o"> }Eգ'9lx̱ Hy=tЬ֡(g햛p阁w610?a@f"G$r= 2B7wi)T]wINU4y;-رzC%eУW\-iX|Q%Z6J)OrVc{_9$"xzZT G|&/TqeI8Wwj.zmR2O g$֖_fYM9/WX9ZY$)_d{2Dj)QfշOx,+G1uִLR T:duT93E,>&pHop<%X)E4<tzy=rMrf7($Jж#yYkwʃv> .'u 4Vt@q58ij~6 YEgm/A: rQSwߝ  σ4 s`vvNy$5*G`0"Zvo=}vs^m v}Tm"B|-?/l'l8.ycJ4Ҳ*S5*)Oޛopo#@DURk3m'(j%u۫X3䛏"zO 2i>ݒ8X]՛i5a`r_ˤz{nPB^3;\t]^Yp$#yuniyo:nKh)xn Ҋ`ɗ]o_W_5o*ȴG+1)O zmI7 T _ #b 罪1831 Iعd3E_i\aS f& njI'QmGcUሆN[6D`%d{*aA$ExGeh7k7hc5 n7iSN =^w8Cfi _|쏅u5ѯ09:~77#o]* | |u@w± ·%#켮&&\J\\ RL V}6i`P<*Zׯ0w,W)}rAe#}.2~amʓ;Mn񔼰-S1>$3oM:A k8{D)VEd.Z6-nf|7qwO ֮8\ĎЃׂw W, hawf4էYQCBݒ:\G)"< `3ڈɔB(BW^ş;CzcJ9drx#tet*oFېaAaWBA5I m: l{Uzm1Z][ K } $kL乽Wvi1 4ȿg-i.jKUl[Ճ!ȃERI;7g'"FZJ+Gz}_rQ#'moNܑ-DAj@ZH>aK#8fe5څ鈴' . RKaC@NRoQ׽]YyscXYpbN69Tȴ|]߂Rܪdk]-E+: 5k$7=!nϯ8Mnm>`_| B ?0%t29P> &EяJ9 ) qea*=prM*τڳ0| "xWGC&xG>1'e@@g}2}梑 Wq2^ c}M6nie+c3m3/shDͰ𡇗땢, s C}$rO>M͡.ϑR<=Y!(wZޮ1ص+gEF" wȉ&5s#M+)gYdycZPs-KH!҃ou2 l.B(LTk#\B$U@RǪF [@o{=ȸR/g#'{ pŢv>C|S9&msl0#N}6<=oLqBʽE@#CqFOgPNC '*HD1BYy劭^Iu<0N})65O8 ĺ˼/aU$[+<| thLEwGU6;2.C2WZ> ӍOq tTM4C#~m'M>&[Oiأ  e/(HL!K! X`JZL?eR(ȵnQ9H*oel{?is$V.u GՔZEf-@3D|Vo,r%\Y\H,pn?@;,%h0  .{gSf" 꽤! F¡/ETD k^ٓ¶1d볼zˤ—ﶔŽN y[Iyn"Afiy+M-BtcyOWʰNdj͏KxA|ގls .fl%o*pWJr!>r4Ob0UmŜZ7Y~L/yq|n-5TNn~LWtg Aڗ,?w@;TPXJ+ED2P@DlWCQLUӦ֚\ְ;;V0RA=J]Qd;Sv Ft5G"B΄rXb"̾֩S9B"]5~OA 蟁=r}ִpώ c-ީԓ*o|%ˊ]u"؀Lڎ&LA$U@o7)(^#z+K~ZdΠ#/$S٨"{WƤ}Iolج|/NzFGu{:TLH[~V㾳<ۋrN/MB[΍!|mQ }8#yMޜWٟ&>Nx\؂!ƆO)tvIqMZU1435&$#30`;$X2uMe ÒfF"tw3ޫ^]]`#nqA}svm`A!3ӷ A9IgA{aHs_ $-MKu],Y\hzsV2+~}y2k+VtmO)N0Wz' eD?v `1m-t|SC5X(LjTȝ4*ׄQLե~ɽ#I3gx*6}gKy=і8/bAJފv@}P *?," peTtQהrN7 e ڦn 'XƕG; r '""&52ٲq2S/sb\ٵ7wdmj\d[= T1o(s4P}*̲?+6J F/XF]Ne"/, jѱC^_ n*y"a5d]L]vI`q.YpM~t%[mj y#co5:C tXJ(>E e%5u|ϟ))=ϥX4< 9x~/ )0, ўĈZF[Bc['iyK#g8B]DyOs*+ %zf +XX+yV C /Y6I./-$jrxA?VfCiGD˵#NM*X r;>uToE5 xڃ{z>vMX 취>5vdYo`D2{AGX57 !wlZF= ߱eO&i;Q$(A%s-3o/L M|GG46R|u8*W&r'D:S]v@3 w[&Zo}]/C!;M.sw0AEM=~Pt|? ﵦUzmIEapX='iYy,n6Xk !'2#s"$~KQ@?qY*HN@.qN|znRA3c< *FZyUӰzpA#O OF!MrDV<45V*~CVWJe y4)Pw$oʱq}?S؜ u^~bE#j+6g`ݴI_F#M o'H9d{.Uоa)02%F&j*Ht%&ؔKZ ,y؃wSOLeC p0:6vx[iJ+J P,yFSD\oFk5 aެpDt2grkeFƗeeT[h3yǦ0JtzqMCI%ag^HKFlBMvx{*:!-Cs@r}j8`\imAEY̥{t!~nG ƂfA?o3߇dP|<=`.P{#Ed ^ԗ"8lz_J"]JW!U\~rEH 67rNRY= qZ D@ums=(6V-UQb :]#׉0[p0+#9?*Ԅ% $d vXv d@`P̨tW:]İp.4ESXR j"9a LWVBtDh.>K S*7M۲XY3뚵ub I pʬ:G<1 ,L| Jx ~'ۧeC#|R*,лK8mSg(2!3ULly`]+JVWYo랖sq{t96L!Lg5$Ff] BnGMTy, l3k3ڟDlH8Y}W`u SgE>/PQ8}0u$te X_t Rsfÿʡp0m] lޟؤ@^950@ӖRuc3 :hke"-oڔl)@d1 Wlzvn>lװf*Ӊ%īĜ}B{9hTV;ѴI$> #Pm^{;ÂpǙ("C?|y)۲脓3IB*+#:.@ *8'ĒMYX0ȍ200X8 \, *QKLpgAJ 1אO|vkШڪtYU6 Q][Q<Q32c-asi?2K5z3]Y(ҿ [yxMpǺfM1%B=-9TD7 S5#lMx ݯ_Wv&>E6>j2F!sCa;A׀3u&$4)>Nm_D"}!;zrx/bMqf{H0KEF-Ss~+H'S vg⤊E =Twfs,\WվΏCe/z`ngUHkAĦ6-F٦mK@РfjU 0>, ԙɩ7Y[2rpr Z/ :F[0(Ֆ=_┵n. 1$r![ 1h$-6 -R|6ݲDn3+|;:J0Q„br #g3WyoNqyv6#'YMqRX"e 6F%#|k+!U xu夿C-'R4r^Y uW팯 WL!ǻ XAѯ&.Q͋TPbŐz'C-gͥiUrԸh0p!yB4KE_rD4urgD%pȨyJGsYJcϠ8nS*2J`U<4XYWm}d}@zZ>(,1-izf sWzq'E~F .EfQ!mGtBr&DM1UA8T@gkS`EPq,V.gK]]O;ta'&Ҹ[Zi{Mt :@@jI?KMٽ{;^3Ҋt"](pBC?)h<4`XD- tw plO&/;ydMe˶@*xF=<+56?{(&m43n#VAdK 8':,[.*xPѥbt4cڬ`:٩ӻfUdbEԹQl +|y9Sa95@ϐ/"upnh=@+RWpq=<7 JEW}fnwz?1ĝз["0%KrAYPUЈ?b{KAphe'^î6e]k/gœYy)2&\?0LX*޽0H@4q $Y bDo9屻s]ʊ7M9\f&$ưy{Vآ&0tkV/r$87QL>_:"1k7Qp Q;T ?TttR%qm$at\+eg>|[~3u0cXS5dssi&AɛcG IjaICo"^]9lԭU " ,.wGN&~y17p)H.YmO/RA#{.Z|dI%Fz4L%]®#$4cyܺFs_СEQs2ClbvdxZ<'~"/HI-Ʒyɸ^,d9"iMGY.Mkq*pAЂF$VG&Ԩ}! P/ bǹHit ]㯈9LcI!!)*#"ܣ|P] _52=~  %uXy !x6]4HrQ2B =":7p3ˍƲяr,zxY ,*K|pI*A' =/;dGYwx^/,q~\.8@#Yf0o9R_6k|!]Z3o GBƒm[hp m ƫ j]wH4!䫏oV(r|e|H;yQ(h޿<JW`L/a(W/vlc9Q$bqS- -ZM˹!]|+^r9@KД"CyЈ*~u"C<?WR[s޷ǝ ?)yvo7g9N~НH3hT7z&W).fU"Z OT9jqDrp2jX}Rm۽>;.p; NLơ}K93Q2;To;~0䜃2gO>}(z, ZWyej& h,W|dwd+`Lsn= tbZ 8߈ Cӗ +v{WiwtɁ #HasY=%OyWISs_D+;ϚX}8 |kW + Oy%c~E$ͧ -%h5 q S$}ph|1~^>]}[+kYh{6R;IIRMx%zC_]I܃l %wi_U]($'3ι2T( ZOaQ}zJ-R {41(SSb|_KI*P5Ӣz)o8(?Y9%ü5{Kc==럷ڑتu̴j%7{vXL`O]Mt8xά/=\(bN˗8:iM wYF(ܓ# _`,HbI}姠kmz~ IXDTsq:Fϩr/Ԭ @f4sO-G#c+rtMy-FiW_oZh4TOVOohMYD%XK/ Apa Qeȓq4c= s@M[JRGaDX>S,uSw, ]3iHaj V2jmf~{ WɄ7=L6*"ih&h?WlNw18h5$QFٳbS 8T.,l>(5,$  g x]Pjic h-R#܆$YJh#a_EE5fWtJU =QʜV;=T5GBAʅsR&VVNsUMLG`? (SLN[>6B,R À5:p$ultNpoy/Ac)zI(B*l"MdjۿЭF76yv 9:ńMd CFIJ 6^(mYmOnG涔.K¼S>D>{:K(5/TUa>1[VÌc)Ob h0^^ [l}k <J/tr4Rv*IcV%c f8PҞs hMwM1yՍ.=U)ysȥjꎒ5wlG=vfغ9qmC`f.SP]"tIVk8@ TrgzÓAuqWhP>r ,4=@]4PaD(ꢳ_BPi(\;gȺ/N"ƌ9uMYQ?'U,.OΡтlGa@y@._UGIXt]īx5+W߲ǁXϢ|tMK1'` |gI"l4{` [\PV J^](hZ Ry[bY@d&7ּ0ε zM4ԋevdXfyN/*5d}7utœO-Y8Κً^t//+*j Mˋ 6OS_ߧ|#,>RzDH*]q]<* [R 6u[KsHٖxã4EjPt4ۥv`7H@ͯ3Me*[-sݡz=_? )K, g]%|YþFpey]oP N<}c#5MIz:Xdeb!\ߍ%U.;ags z}_wɄvU5 s#:cdl裒4H9kרr~9M`zRDSbO[Ƴ; @vU b Az ap*OSI``cukC;pFbwjg%ROT 3|E_&5F5S^FҀ3DnAY֜#APLo׾iaCI--n衘wuOܓRTVZZU׌{ 'm\a2({S8|GTԳ {9|_J̧{HeWűE&yّ+D(i0DMFD2Äh֚ޖnQ >zh]~SkkYLsZҗYlh7Rk7@n[ qaAO"WjDJIvԷ qZ Mն _u vK*vPr\NΫf<םy^h/պ*\S=y'dӨp4>o@hRC7>O? ;=yEIk VB&lWȈF  5$LʂXMOFW6?m-GOat.Z̹bSnh;L u0+P'`sv!@ R9:e숡M-IDŽ Uݶo/K;dN'Zaތhsř !NM:~4QZN>tw'ks>.#W a~]y/-|`-`O=N͈csyY,@;!{kMό\;> 1p^ X YZ