cfengine-examples-3.11.0-lp150.2.3 >  A Zq/=„~3Uc __ =r_a>@du" % v @kbʶwd i1Eդ1esF.Ջ|?m\=`ͪ%sHحYO^^}w34꣝vJh9tYȇ~2*|[Y&{W~j-I)uiR /p{jaҍ\VaPߋ—BQ̉nJPHmyMA/d5b4cd0c78341e49a7bd0ebe49af849207c09aa4456240cb09b1ec8b3a8ca1ef8d204c6a0a5d59ced1a9c235b22d9c67e63fd3354Zq/=„}f֍V5"4i~zKgp(򐩱՝y* R$BuчG C={3}һ`“G0 1<6 {t78h$%MEᮑIC*}'5s$_)'dH߀V>ZL-D-HPHx+jcbx8y%#Q篯E&W~2Ƿ^~26Tإ"26C>c8_Pa7 S>p;?|d % ?hltx tt  t  t `t pt rtwtt`tT(8Y9|Y:YFO GO4tHUtIZtX\HY\P\\tt]bDt^zbzc{d|e|f|l| u|tvz,06xCcfengine-examples3.11.0lp150.2.3CFEngine example promisesLots of example promises for CFEngine.Z%8lamb22 XeopenSUSE Leap 15.0openSUSEGPL-3.0https://bugs.opensuse.orgDocumentation/Otherhttp://www.cfengine.org/linuxx86_64u!Z R3yy u ~%  xT8 B (  B  QI |B cUKf cB ~Ff!-=/G4 ?N B'eF;'h*[w`u L ^xE^ywH w  M  5_sj688 -4av-r 65`t=f g Bl   ?zY  O< hO[ _ $ l ND Q )[ D! b 1 M JN|54F 9+ H itjv xbhX}*le h| zM$  1 tA큤ZVZ-Z,Z,Z,Z,Z-Z,Z,Z,Z,Z,Z,Z-Z-Z-Z,Z-Z,Z,Z,Z-Z,Z,Z,Z-Z-Z,Z-Z-Z-Z-Z-Z-Z-Z,Z,Z-Z,Z,Z-Z,Z-Z,Z,Z-Z,Z-Z,Z,Z-Z,Z,Z-Z-Z-Z,Z,Z-Z-Z,Z-Z-Z-Z,Z-Z-Z,Z,Z-Z,Z,Z,Z-Z-Z-Z-Z-Z,Z,Z-Z-Z-Z-Z,Z-Z-Z-Z-Z,Z,Z,Z-Z,Z,Z-Z,Z-Z-Z,Z-Z,Z-Z,Z,Z,Z,Z,Z-Z,Z,Z,Z,Z-Z,Z-Z,Z-Z-Z,Z-Z,Z-Z,Z,Z-Z-Z,Z-Z,Z,Z-Z,Z,Z,Z,Z,Z-Z,Z,Z,Z-Z-Z-Z-Z,Z-Z,Z-Z,Z-Z-Z,Z-Z-Z-Z,Z,Z-Z-Z,Z,Z-Z-Z-Z,Z,Z,Z,Z-Z,Z,Z,Z,Z-Z-Z-Z-Z-Z-Z-Z,Z-Z,Z,Z,Z-Z-Z,Z-Z,Z,Z,Z-Z,Z,Z,Z-Z,Z,Z,Z-Z,Z,Z-Z-Z-Z-Z-Z-Z,Z,Z-Z-Z,Z,Z,Z-Z-Z-Z-Z,Z,Z,Z-Z-Z,Z-Z,Z-Z,Z,Z-Z-Z,Z-Z,Z-Z-Z-Z-Z-Z,Z,Z,Z-Z-Z-Z,Z,Z-Z-Z,Z,Z,Z-Z,Z,Z-Z,Z-Z-Z,Z,Z-Z,Z,Z-Z,Z-Z-Z-Z-Z-Z,Z-Z,Z-Z,Z-Z-Z,Z,Z-Z-Z-Z-Z,Z-Z,Z-Z,Z-Z-Z-Z,Z,Z-Z-Z-Z-Z,Z,Z-Z-Z,Z-Z,Z,Z-Z-Z,Z-Z,Z,Z-Z,Z,Z-Z-Z,Z-Z,Z,Z,Z,Z,Z-Z,Z,Z,Z,Z,Z,Z-Z,Z,Z,Z,Z,Z,Z,Z-Z-Z-Z-Z,Z,Z-Z,Z,Z-Z,Z,Z,Z-Z,Z,Z,Z,Z,Z,Z,Z-Z-Z-Z-Z-Z,Z-Z,Z,ab8aab5dd9d3104344fbe4cd3be890e461081809bda632dd2f3862cb9729384d62dedaebeb8ea358433111166f4163e1f22674d380f59cf9e20aabb62b0479b6d27ddcd28a7f3bb8b3634c11040a38170f83e370f7c952855008ec52988cef97ebc001b175e925c23207c14af20ae1c51af8887d65be925117fcba332313f98276cd3be1e5e4873de423bde790a28fa040f6eb950901332f89a2134855ab1caa47a4767c8ff77f7f68b996f116c2082ffdc055f4a18c82e967ef4933817e261895842a9f4fe1656de14d29a6ee513960c1deaac2d3fdc24faf51a7061d042a6a07facd217f0533cec0e9f3fab4f568b67c8e5929b4c5c55c5b35d5a04ef65878dbe5e90b1144a27b61afe061640d774860432eb94662089431dcb7474456cff499405241138539ba1444699a5d0a13992a1fadd9f1f4d00ad942826ba4777516bb840e21a72015c50de78539f9b87fae8db3e584b6f9e26987ed259bdc61f8f1ed4a443ae6bf4625c33a22a03c96ce7ea7490fc7d14a2d340ea30a689ca6a55f9a6ca7d3d9343373d1a64dba2235b90374580a8a547e37c9af09a36fee910eab7dc09cdbcf2f089601549bd3884b4f35623497b5dd72f5cdc9152e1a08a9cdd68b61dead07feca72682b7920bb549c5d761fce24206033edb2f5963b35ebc522418283b5b3066c249eedea4d0b53c1d1e7fe9d8ef468be5a20e58519cd56e6f8ad40252281802ef54db233c63b4690a0ea902f159bb550f26d72f3e312a7f17d86602b717c1bedb1355ccf049631770e5e90a9a08ce3d43450585f027506393ebbe901ecb70a729789184784c6690109e63eefc8f9df030a22e2813ba6a0f07c1acf30ea0bfec5c31a67081bbe76a9392012b0c6982e5c62855f7482fa31c06fcd7e5eafd2262577a516c8bfc1d74bca492ec125b0589c59ae3238192052253aed981e09a03929c3b545a794f06de98b106fa3e2d43ff84d289ceb8633080f329d8f0a34e57933c95df384624cc15035b07a828c05e78700f44045d77a6e4ff3f2d1911ac5e92953f81ea0a25348563d71bf128eb69cf93629988dcd5167d989634e6a612db8cd18d277204525d914c02fed0fe1e327bef9273f743362936918605221dd3b2bd52870aeabd4790ab917a0857a03255b8e4a955515f92642414e5d44b9e49ee75f1b280d4c048b7581dd21ae34d75c3bbd7a1086de9d198e38081c8249f86155be4991c950876f09094136aa4a330e5ac1f65a46af9dffc16873c15c0b761a3c3178f74b54d5009a308379bc4cb1d853a91a9e8159b79ba61f7e17e88030cfd7fd2f316214881eddee0b968944df0081c8d2f9d958aa3ab16d56c7d22e5804d272e94ac1e26dce5cb95e20a22fe46fc50f819c43ae35718d59773ff151ebd8dca7337608ac2c099493278de6c7180f9568061a6f1e4af36bed088ba0acc32fc95b1069e0e5dbbc5a45e379dfce378bd21e31288f42bb9664387322a48aae57a77de6b9f55c2010b296848a5f064276cd960d74b448eb1edb9122a049f4122da752106f44604764506c4daf53f08dc5f20b7e8b32d2030ebdec33c2a86a683198fbad87510cd94c6f2afb65667c8f4afb32649b3326b90e75cdc1d426af4af722109c4db67d59ab7ec975465db2d66a2fab7714f27086b05bd90d4c93a7ed4afaf0bcdb119ace9260e98a648dc74359a8437303d6ed665cc135e099a517e3916904caf222fdf8ac17312e50895981bc107d698736288d1eb5e7c1bcf9aa679eb01f0e27125488487460afe0db2fa99f9abb15b2e1db69822d67f7adb1ebb7153b7ff79b8d9efdac75e46ca2f663767e136c230ffa1536f60ec0401eb9353b799ff12d57d74b62ad384972c27810c8c90007686d1bf88fef7c3d82a899992951c516a50b010f1bb0c019c72cbfe691230bc9b3e432fcea5ce57f408af2a6af3a903fa1d67a44ccdb35506260fdcf317439e534db2cbd30f1aa4f889e34c6946e37d61d7e6194788df12adb0cd06eb2fb5433b7df0217f85167f56a2ebe18d8c22c89354a77aa8a96f788920c47d1ca74165ebf2d8400bb687cd2115b44f4e77822481cf4fb49d4203df72256847e2bb2bdc86eef4879442ead2f84fe7d2c9032d86feda02665bed1ece215990ed7db196f230bc3536804e65df53d9b7235610673f27f1ad1f61b43a58a23a7baca180cc40b7e4191f812c30075bcbeff025d7f13b9017e98ee2bee08ae963c388fca105b327e648c41d6410b9052c8cab007ff603e460bdc2150d9b4f9560d09cfaf776cd63937917c3ff29ce7af648ff77330fffe583c5e1d7699e9ad31c0ddc264996022c1ac2c144f40b590c95d304aa794749108ca5f21542a664f3f53f589d6aa03e4baa8c0b68100914a8f59e63192203d70dbfe576a331398f0d6b7a3a10334554310157301a01cda8e3c600806bbd234562ef7625ffe605d66a0b4f4808bd40e43cac2b033e9c4a6e74cc33eb0b6b40344ad41ea06afafb105444b75e779da8347c721b99652f1ad9a5db4f11085b38cf61e7bd762f162f18cf4d027af8a9433b102240b95d2b98de3fa2932560064c74ced3f0fb7e052a0a96f3e6814c91215c48eae4bd38936cd80bac1393c83c88ae3e2fe6f052f200c2b57102461ff389801fba6e00e1ed66b8c07af95292ad0593a79112d058327fa9e59c51442815e9e2e03f2dbea083c72b7c7e10926a2f68604218b2343a21ab98144d2e3ff5a67fee1af66266e5a186c04acd95a72cff1846023e63988086c2fdde81b8fa58fd55d418764564ce078306faef3e73da47ecf5c54ddf703f86e597525a12de1685a7902f951971dcf59f34166985dcaaa37a2d0fafc42377c87b9297dd7a8adb580524ab9be2382fa62e7751835f87c7b268abde45a10d573aed4f02544a79137d4b4555e93e143e53a54f52d2027496195125a383ee67d041eee5d979864edbb5e067a0d20f650c5c85a832b0f88376d3e689ed293f4b8332c06f71a7c6f4135b02d44831ab97364c1d9be212abb5601c2f0a91bc566d2f8b852a6213a13507ed438a1b83bb0da6de725a303782068502df103ebc209be89846d8cdb8d80e8a1bbef3e98413807af58ba15e65c2275887215dbfd5a2ce47f549314a435911b70295c3ec280392fe060bcf249266c56e096a348fae4acb6005151661adf6fc3313125a0ddfbd03d969c09611f44865ba9189ae8f5eea33665d97d4e500c01a095870f538e1830d23eadbb4e0628e12bd0272377891c87102a4bfd6bc60fb7e5982e9cc41e01f3b3ff92a59084609fbfb0241fd60cfddce98969820f2baa4991a3374c850f6f3b2b42170bd1e1d9e1ef032a074b41fbcc4c1819f1862a938152232cab2acb67302b36fa2308af30e94abb45f3fae98a85e68ba1355621f6a86a19f0ccbc222615e5d593bc91c9f50e7343a8d89d7612d9f28f5e6ffb01a1987b03cdb704127c4ef9d361b8f1afa49e1905ce88c4f5bec961a622fb1cb434d86ab00a8d586f9e7c3709e5171af6de1195d3ce06ca60c3831aefab7acf91f722c60e098283905765cd2759e478bb57c98576e00e66b413eae53c7fef4999d2c694d2dbdaf4839f55ec1770778b45eb654775021b1ac5f391c0a59f08e460c5a1281b739082bdbe1499f717f4b42dd3a92d7ad3d394542213f587cd5d2fca6999c2259cfb38d3c2428eb93de3c6183c20ba8006a84aa2bd52b900f7a3c78307ed1ea557fd61de2547e106c34d405c9d8de6e5a9507c431ce6312103a22d61d3f7749a406aa8e554cb14048a82c7673d8ae7ae521080928741f6cda4647f51b795db48fdba1f7967978580fa66ee7b1868eb0c6d9e82711380e93c0cb8773e7cf42783a69dd2ad352818a73496732a5597fc52eee7017b3cde76f94eb335d0b4218568d81c60ed432be5c1022e7f0f4cc6124e8dbcf9734c9991fc69f7eba71d554350c8fd22163e2a877d8ec908c3d875d4dbe030cf3c73e36f213e90142e55d926ae680bd644c6954be70644382259a4dcb4bcac5ebab679d0eef68de789d5a862d1220cef45310d84f97dce71781102a98644c84fda5d35df76c7d429b616052eb8a067112b8323466581efb112810087300b96ef6b3323033f5e5aca469d6be12a7785afd5cacaeb6f99b49d633c4c09bf3064c381fa34c6ba2bed00e853b1f89650e6f73aeec96e52a851cb292bd321cb7955829070519d1e7793a037d7a13348d468c2770104925bdd4dcd59b0f7f8330d88e2ec8aece3498ec8912989d369b91535ffc88170eada5e0775f98dc97ace37cb71bc3b73b316b968adb509158facc8cf49f92fecea7cc49701777bf20c186cb1ca86470975aa3b5783b021eb6133912bb3f0a67f2628692755e1cda50df7bb3d63f6ae10f9c4537d8c260af22f66e0097134742e34556db367747a8ba8db1e9cea3f09ed3951be8afdb9fe7a51c087f84e752f0061ebc45aeea15295e1076653a5d9544c303e6f985050c127940c11923fccb9e37a3e20801103e852bd4f05b4724fac61aba950779529d26956652a6892431b513dcedcc7561caec1830a5adf887bf5591c7defa27b4184de1c2c2fccdd97ffc16f9a356a3e7b2f7f5de3e04d0ec7f72a9c56de54b48da439841ff567558a8232db53bef81ec21d84292e792024534a41c818dc4858e10ddde36b5c957f5037b6a1ed803d37518219a6b3b2844ed9e1b622f1d3b3256be7aef166c5bc2cc26e7edd49796f58cdee5027a377d6b8633b5a125e3543e6e568b2084958ba678d984c50fa3bf6258623ee43efdc022bbc947d2aaf6bbd026d79c0419dea5d9285d68b4f8bd8f8d30bfa0e84b93e1b0525cc94d7130e5ee2bc95dc0633661de95b10cb0d6787f12ecfad3e01a24f95f826ec0f613a4199b22bb9f03f08052eb33337b32c0935a2a17f0be13d152d676149b9ce4a531d62507a8db91c65d7239f8207dc0ccb947e4f96b616d6ea1b9d38f1eae0c18fc607840f05fdfd79c919110453a1ec9a0ed66048f284d577849cb87bf3d252ad73aa7b8c34adb97cc7080e6d64c8033cd2637805d840debb7f971f883cf649f0e76167119e26c01e58dc6c681625bfc637c85ff61d8ac753c4a4d3efaa931b7992012a9a76563c03dbbb44590ed64b122ad55c70833542d251ca3e42fef06ee0bb549eb73064d96dbb11b06902212c2a4b7500731798338fd3a37e163af77e33f230d1ac526526535bff3216ce850cb3c2a490a1a4f07e2eff64c5b501a2e7a2cc8597061623ced2c3cac19eabe399fb7032a9b94cc607ef0840a840a3b9e20fdee989ae7262fc359e3bec2606a9472be070a64657095769f2026d7ac1a6a16d46d0b1d46ec421f0ba1d1ef92b37ba40da587587cd55b68b4c437e99e5d48f5b4271c96fda67dbef745907f01b9858557ccdc298dc423bf31b37bbac1a3d7c61b9bbb16c619bc0ab9bf30b8a9d04da5b27899be395945aef48588ff482a87125fb29f923b70a636b17ea2dda6ebbfe45824066650e234224b809ab2c307273c21cf5920f1c526fbec0918eb197c04d7c6a40fe3ff30504922cc1c3758a9fed29651523c5e5f524253ace42d354ca453c692376574da0e96900679ecac6245186b2401701b7f6d05f9b79432fec65abb3665f2709639796da2b89b2c01b82ca85106cc0cdb327ae115bc21fe215f8311f85ea782e319f73e8dc0f73bc2f2a9a6768b56fbda80d470ad2221c30184e2a5eb8c650880d255130d9fa5679731fa29cdf371a053d83785665b209afe623b80bd3cb0e444e37613e9e972775190d5720cf151fea9a1d70b3f34565cbf0e397f29330f85e967e4d8c6d13274e676e94987275726f6475c54b1aa89b370f363bad3656c33a45e5cfd1ba72b4bb8d190aad7f500c58dfdcbbb8de8ae7ff91cf2da20db47155a38c100757202a5ff0bf0a991214915e7c02bbf9894927b03f989afa492069c933d0c5ad0d015bf4870565c4b1135a316e5b496c9e913630d5e38f0df0d946f88e23dcc0f27cc071a3fde1a9192b0ffa20b116d153bbeaf67a6ac0da530a8531eb6a0d79cbca8995394dcf01532ac4a2a89dcd544efb1c598e583e21d77d3809958ef0a39c105ed097ac3fee15ddfbbb007156e8d644091a99125005048266d5c5e64ed6e090a3fd53a0802895ef9ca322e0b6eb6d1551b7ef14c147fce49220545e50211965339356534eda793c2f6ee9f23184d2d4d42e4c5323438c0f98835d27f1ed52dc4ca7c4090894beaa01584e02ab41976f0cca2854f1b3031a7aca18884f729f7331dc0d87d4972ed0dde146d348e926e760cdc125dca70f83003ee8d9f765f3b2c5c67149f06d4b1430c92d8b80c33b57b582cbded94f7ce90f42b6d91a3d5ca0241ca661345777134108666b8bbb986f08ee3eb1c1f3b56318824415e08f20cef2d55ca2746546609ca3b93f73b09d4fcb8b74407854129d4c862bc13240c4e48994a40cb438800b85d89d5c36591f6551503a24548ed062be4bbd29b7f6977c7801a54fc16fbd0f37d16daa04aa73bcc7aead0e950e553cb956e1284e322b80e10eab3b1f00fd60039f6b93c620dacac0d007b9754ea877b6ee998c93946eaf53e43a3bdfeaa6daaf2987cdb6b70949ce0d8a2f9ffe00b77ce6b4e1217d0c4a7784b4d7b2084bcd5a48c3d59875744e997e4e72e6ff7266bb8f57798c05d04c2d527d927063ed4d5e261b6314a7bb04e28ff3cf017c11957cdf23f5a716620fe68d317d31dc81b8dbd1993259d696f1ad562671745018b51df77345b690f6e45520ec859f3828db3a5bba4dbd2e9e60d0b92bbadffc4aaf2885eccf7d5bfff52cfaa078726aa7fee3fc8d28794a0d43377e2b11770e0c839d4668d3281423da0f3345b2b45eecd28bddd8eff4f976ff045fe23c60c945de5d8ddeb14188c2971398540246661795df333456e533784ac2408296fd6f3b06f598b5482b3a44829cb91aa93a59838903916c67c52382d789a966b733cbd5d83cc0a8c237770ada637cd3a3ddb19f70d4c2ff052af85aac1eeb50e9f45c620bad09813a468b449659c8c04115aa02851614c59b6b845ff791ca7d53c0a40ac2335bb6d548c19993b0e4d6c2e6eb09b8212a466905f1f4bedf54c3ff1f72c9f40067691089197c4bcf9651d058db9f19353470730a657f57990afe9e62b216e5cf508f9f2cb37bd469704ee25783f77f1cea2c13e80f4fd451699b0cd25a3c105d6fb48e9498eca6d5bdba62256786c017773dfe637f149f65be0ea2b4cd754f618379e436dd2565019379b99cfad468ed96cf96d18ede9975ce5f69f8e8bd71362fed41edec14973b445c4747eaff1d6e435be9bb19dc70150f8ed3f8df2800ab0486d18b25c0c25e4b28f8d5e6e39fb7927bf72fa98f0246b66bbded419d16642900e6cab0547ba195ad624eea4f2ff37a4355be6f6284a56d9698f760fb21cc8a95c9530624eb5978af42f7605cfb7c843a1fafdb626be964338e52de8c92c76de6b889c2660aea698a41a68efce3d98e9d8e3bad18aa21683c242a72e3d3445b529c4f90e0eaa7a556ff55dad9d019bb835137ac88dda8b982cf4832976b6ff4032e731bca0d4f4c2592f3ef9ad6fc5cc5f939a8ca45d1ec2e8f496221f6024c0cf9de31fd050d23c19dbce7169b42756fbfaee709f1ea6f8df578bcb07ae3200bfa8282c5fe607f6f94aa344d75e62545f520bcf2e392489945623f3bc0231f501c012a0fad5dbfb1978803c4867e9baf6a141cb473bba05bcf7bc3f016ea4e2a15d213f687e4203cf8bb85fa4f99ecda51eb4a1c115c12f88920e2d68d4947c5b29355a30e596a8474d2f718df98ba3fc4caa38fcaa1f1ffd6d95e0027dca6fef41380763f517112a83a5d287f6a24ba32d6fffc1d7849965291bce4d7d9d800ab79ec080bc71a201610279ab83d0a9182133df0603c17547d1bd63f7388348e3aa55662acf77e88a9fa0cf737fb8496a7b9345de57d1da7145e1da183fb49bf1a692578dea377ac4140b885b0d8ce2b02a3f2a34cb3b9f66037339e5ed92b19142bce2649e2118de63b1241b61c502445331f036c1b3f324aa7c647120bb81274dd1a944f2045564ab41beed6a581eb1b44d097762c63623efe891cf400f71e9a6e3430ad5fcd87e34162089a7f2a2b51e37b3baa7d6ce5c967f4240cdcefeed06b1a3b1d1cc4fc76820766d8707f10b731bfb323c738ce1ab7a681aaa279d71a656653f5ad883c170713362a6bc5d3955b54d126c727187b716d79bbe7825a59a8f672e974e87a54e505004627993cd0a5b85775bff418b6f3018dac27abddd25c989ab7737732ac5e98490650ae762d032534f841a74c2dfc2b099fd2582fc4fe6788e7f6d9e914110215ceeb2fb19b677dc08e14a33531406c9686952a8e17abfab1ec0426093c19828d728c51c5e0a86f26a6ffe664075c41a00292b79cd91a62552677cb482f70841419867e7ed4e81238f5813016ccb41dff917e128870b8a18185e671f8d33c3ee36b3eded039af0b25a57729093adbe4a047ac7cf97fcfe05b65cb4ae3c3122bbba43c42252b88cc69e86f29481d7a5deaa4bc43f2b210041d8cab3f7008b3ce4bbebceed0c46cfcefd6395f31fa19323f5d6b75c787133f43a86eac3fb558f331be5e278f174cf4aee5d393242c61408edad0d967958cc5775587ba519a817b4e6913de11e04416e881f741aaa17a71780da44a67e0f807bb4aded66a9ae3fc66dd0613d629cb90022992b556618acd2c0fef52c050ed1a93889937626a53a2cac82fe2497d9db36d2ed533786fa381f6d807d4743f4b2e719869bdeef02f35aa1f22fecc43a5aa91fa03aa5ba56874ca2d0eaab3d773fb5ccfe90f81e55b30ba740f1d4e943d633005e9e044e18bd3f892aeb5fd043eeb5e34ebfd791182a7791cc8143ab89ec3c1c15ed7e69aa1e5eaa6f6962a02d740373851f457f31af2021603e400a5950c3e1c1424d65629d0bc4e897996e866669a613425dad680b4bd5f91b841d9e27465dfab13b800a38e324778f79673cd89f4e9c345c534ae1e9962de2a7e3489b297db885867e48d52299f920dd5d64934ec314cf4eaea804ab17df28e79c24579778deade1ca10f2843312a474050f153cfa468e4c425cdefb039591c69224d0dcee110ebe1a76075a1a44696e5d18b7d077c270af829aa297b65c06c7840a186b804dc15cf7e6d0f43811e28be7b62806906cc22c7d8adb09ac4d49d0c12aea75f8e4d41d27e9fa9ac7290c5845026e0821b97e7afb5d4459fed123b4ad84e103fc49ce16aaa580cf4d6cc8596aabaf807ebaa1db9c719b1b5637d9290e8cfa5b971d8bac8e0b57dbae859fa97e507d584cffd400bb01f0aa0bd173d388bf4ba82112ebc62c0e598dff51eb9cfbde62959cab2349d8daffab417667a977cac8d9814b2c64bcd644e23ce9cd6c99799e5e55e480a005b5c3413a21f528ff3e50b0a350f0a7fb86106229d7044fb3345b9b880e01f20ee9ddf177280f4af073e28d55b433357a75f3ee057c67df8608f6f6d276fc836339aede5efc398c171b12b5c836ea52184afba58f8f12fea8ea7f1c2b7710ccf898e12effc4bf3d40a8139bd8988ccbf18993f2d406ada853e5dac8bf9ce7e64b439f52267b822852bd0a2de86c3b7355cb2adfcec4c2c5611af8c3b64fbeb45b0a05cae5e3ea83f82146d846b806894b781018f0a15041d0933113571ec6e65483a400fffe69c56df08146d52f6737797715e780bacef9a5248d37cdbc625d26ecba71830effecfe69efab2fa4168468cb8f63bb0a1939e1d8b7c9a4c93d93eb03cffb9550b394fac80fb984297fa14ccffcf09deeeb4bacd9ea09b52c126c6118ccbdd77778745a2a23ef451bdd9e6413f96ccbb5bebb34e2500b48a5dc43479f467aab7400cd762afef1f6ad57b8578fc6ddfe886d4d66c8a9caeb2c14f0d40b41753da03998faea50478f8728eb40c4c9baff1d95b36abd4153a127619c5d783df1cd3eec601814e5ee8d8840b50c454e1205adca8bb2a60b682873736785f844424a83d8c2af8a8b79453a6e97f6f18d0619d344030e3a758ea48f1bf14f3066fba4c32303a524aa53b057be33869050c3c8decfb275580c270a67706502519e90ec1653c7f15194628640bf3ffe1d1b55f12a6e1f258c839ce0275c8dfe2c986f04c7275f6accbb324615354fc249e1a87dd05313fa35331d0e33a9b8833e85810b7fbfddecd71895fee4b8cc82c0388e79ee16435a42f7b5b10e04a8cd642d4807eceb4fdde466a423192b9a16cb74748ebc109192d93c556813bf822b040ba9c9e40ac50fa3885e874f68c5b6c443640de0c2fe8e4ef445a41e5ebabd45bfad3d050aa14d9aaa749aa0ad832f0e9a785893ae767e09d192389955f45a42cd1ddf60a96525ed713ea128cd2032a07c30559a5acf99abd5d61707cb93495a799054692aa2773a5753a53165f17852ab5a90eb3fdb9e029556225007c46bc913e09d7b2a0c03c4aead536743d8b50c10e03b05f8153ffbfc3c4d1a41d13ae7c1a4354eb8056786e9826c4ae975ab5edb6ce3946d4c2ff58f6a0354337d7d044f595c9a03689d34c6693f70e52dd27541d7b63509bdae9c56f3b768f458fb794ca0dd65d31b365b50af0965857399a6fc14a618dfccb1d77a2a9487ae47437c587914fc0bcd531816ada736f7c9b0b4336f26dd6a575da1aa71df891a8cede3acf903d947743d271567dd757e677538be3b2f1e4dad86a30541a3004e3c923be48099e990f72723da984813ea7dce9d426e0f67408d4198a59ba72084a676641c1eaea13e9d3f20c39af1471475914bd9543d6e97ef2833d78c89cd18cc11d68c0a2566115cc211a69a09d1b80ab05317ed9ca072ab2ee2c757c049b8549ca9ce2e6f6b34fc7429a8b1452484dea226fb0d28dbadd2c8d3f1fa6e9f2206ab1d59e0745562fb7cbd9d7d91d651afc8d409b21b915eb14418adb8ea87514ad0a3078bbe45dde7aa05aad95cb8dffd227f54dbeb09c5627b5324f0c868e8474356e8c06722488b58086860c26aa409b1ccef2e527af9132f4b39abc6c9eeee00aa05eb0860c21b833c9d3d65d51d222d6e3293e80ae5ed26873d94df7f7babc0e165ed4e7b71c54e750830a2ddffeb9327114c288057a96eba19bc6dd57dcd807be2d8d757a3a482f198f629af8c73e1276e24c48280996eba19bc6dd57dcd807be2d8d757a3a482f198f629af8c73e1276e24c48280996eba19bc6dd57dcd807be2d8d757a3a482f198f629af8c73e1276e24c482809a033589f5ecf0d57e34b8b954a0a99e821149d0dcf67ee9b44cdad6e092997458c4128f3b644c17bfc1a6ee5dfa71df057600b6ba296f5d8aa7024d79e056a6f3362dc1623b7cf67af4c0c8d168239b962ddbca76f22c989013a0f5fda3d5de7067d920d89d285cf67e4ac7649b0f569ad8b77d9c78e4de45308477d441a25ff4994c9bdb5669ef5e4f730d5a1293454c147148a290b1e13ed3b8d6cae3c6c9e019b601801ad39935730629d8916e7f36154a6f89602bf7f5a47603814d8311c3d6e8e5fb97477b51f773c220f17e684b746a887ebee18fda7ab16b7e1c84007fd66b446039577cab002058a4bdfdc9b56cdb4053fb22d8caab29ee978b9fe570edef848140bb17d7c4550f96f87847dd27bf50621120aa8a395765cedbb62f5ecc503d2b8008ec98c76d32cf0384a5228d6e802684eb8149f45bf7cf7fedd840dd44a5abf8022f5150c5714780b7c1718d4bfe9fa94e5df5c34a49c37e8dbff0cc2a3b311ba973aee4ab76fb9a817b68afde7ec4fcda5a7809b6efb1cf5b043917479fc0bb3e9e9bfa4440ad634b959d6db4081cf7d9e2e14c58fdbf3ca4a63dd2455a31b81f61ec814bdf16d0fdbfd799618b0cc84c6575e1af82916488701063f7e1c77a7c8a6206cfe91a6d6103ccf238c3d53d42270da7edd17b7915ba0d0f837ccb90e1435e1d5bf2f55d2efe31f96f7498c4ff53e6c058d137acd2af65bdc161e4c48d5cb0fde47938668deb175dc10fb7cb0c992e21b30346d775ad6e1aa3acd1dd4de97bd2fface8c37dd6600c0979d881e760d558d359b2e1763110b4ee0db47ae96d1cddf759e8ee16802ee0ac0b615cfada2fc6e115232f0b83f26f7022c2fb06e513b5a8ce2078c5932ef6f2d7db35eeb09d89f9d8054df46b2db8ca724cdc2572978ab0dfd4e75d92dc2b314381243b2080023d05db697be38afc8d0ee0336ca3884bc00d52bec27b685320f848875b435c6ecb51ed1c764a2014c2a5781ccceac77b86d36a7e6b9bb525175f6f606269ffc164651a433246fe166d5b08d25e2c2927201d24b493709c7a771dd85a159b9311eb690dcddf6367505c956d458fd5ac54a2a7904829e3650c65d7bb7ff99ad6c4873a85e4c3a5368733306cf184e01c4baaed9db8917fe3d4510f96f105f8ea7a79bae7009a57ae5c36aa2355be0c9da3e913fa72a81fce5590f8fa3167808f22d2923e23f3907a7f8db6b9b94788a8923120f6fbda635df29c30a35145855d2565194a33d415a1d1a7755adcd2564748ec58697a9fcf414a7b2968b611e811e1a15b05ec2df74b9b59e92e47522e71810ca6cc901dee92820d3ff0ab786f7c0419d28a2d374a786af072bf2863d53151fc3dda0ae38ebe1c16b224de5975f1d7494110c40dad4b02b2bbda1085412ca14df96dbb77394192617358de1fc8d92a61fc46303416b12db7f8961cebde5dbf4c7ed7b2130c5b01093ff644b2aa8b359a197e10ddfe4c323c7ee58297000a54ef9b41045019c5f0b0c62ab351abf0b01153092014f3bd8e855716cb5d828511be88971f947f8e78b14eb36ae11d71e59c28a5d71b9890566fac5707e64c419b89bf5473cd42c85e7b785944f4043c5af831023ec03e5a51270306342511541f7e31fc7b44d9ca565f1fab868cb5a4f3186aa3c1bf6c3ccf0e1f056c55c326de62fcecb71c91cad1c1a203b80a5a066237e6b5f8ff15abed0b6c95bcde0386e3f51ed64648031a6f96a6d21315ef4c9a27b4b7d90d6552b37d16726bbc8d65a4e2da4833c0037b04b59ebefa96d281fecf34244bd2f6ef4004484e15bea8b436732d862e082fd32890a59f63807b06931bdacb798e0d446261dc88604e1fa391dd19f334844abe838a9f060fb134bd594cef68873a0d6fd64bc6e34f45f1e8ed20db6b7c7030acb6c7dad2426ecc68210a8a4b74d82d2d6a5402a81931333e9174e0465c09eadf708855decad35ed5c174af88e9d4b5bd4fa54f034211c96814e07095f31e6b0b46d1aa0a95f4067e7c6afee7b6b57f35cbeae1a5051f95e470b66b8428054d4071ff4896187e54fa820162fd4262d39718a0369cd7f981a5c20181d0b400fe49b553e022800257dfa55275eafe6839f40f71eea8ee9b73162c7cf63f77c179f2e35f16c3b92833facc1352f110ad7b112cec257c2b0b8cec8a431b9739bce56304128ac4a1e99fc6576f0cc2265043e651667ca1e56e790702584c617b3a6cec4a07bca8972e7d4775e308c43c42828e7ddb63e478feae7b62eaa3267de5d469c96182ca3ed3753de79e525e9f014e0955fc1c3c61f388a1c5fab672920ef83d91b17d28c8b1a96c0b37856ba7a4d4bc2127cd19e5d1d1f2d333793d7a8b0f431b4a7492ca4512c124d111bd9f7b139eea2cb1df064ef7302f8a582e29e2eb2730e49f4ac6ae3034edf94956856698355747cdffdb5eace610ed245469704555b1409ce2e51a2b5901a6923b1a76528be0b5b56870fbd66280636b3fc59fbadca94f3c331e0b00133c28454fe7888bb258303404f00eadd9b937a2e7f34fbefc16a555f75d4db862bf107f03500ee2406234576459cc49b11f33f3d347969f82fd7e50061e1b4f7beb837d530c0e5d0cceb2ebcee5074d97bfad5ef6224efd4291189ff220a6e0f5edf601d63396134c2d327d07f97f0cb58c6edcfbdcff52e8cf724733e57e4c4a69974869c767656f366f682cc937f90aa2a586032389cc4f91477e88a63535d3ac921eceec9d14d290bad258088688e9b35987afe05ea07330e66c0dbdb9bedc47af8b906e43a2ca177e1f9fbd43d118c431439d6316bcdfa22df1b04ccb5cf5812e76c5281cdc83b46d9ac1fae38147c4c72c2d6d2446725be4fa8dc351c406bece60894afa29fefefac44a4056babe05779f2046e450c5f84ee0aec721409ee9d99c9a564ca2bd7e8ae7edaca06bde187f5909870c7b9e6028d5f8d76fd3543271f9b468f883ca385af76ddabfa32067625db7c095b20b7271cd1fc423b04f94727ebc9767445ee74a40b8e8c551d9998b2f4fd7e733e89aa32ab0ed7014a0d0067ee6a440ad4fd91cc148882f7aab04ba41f3c6ab91b753e8eba786e51877ec3d2b6245712dc3daf2ce4948c1ed73f7d3bb205801b77a60045a4ef69c35c791c9e3f25dbd9cf4442484e3cd685daaa8aecf51a2ccabebb89a1f4d6c80a49418958ec7ae380513cfa511a31a39563723a92597918f9ef62a80cd47622eca75dc438c3bf6ee1e2f781aebad6edca0a6e98b10ac8cbb03affc2a5ac0ee085a5ddcc3a9de0e05bbe6f1eecf8360068f27602b18471f1a066faa4d076c04751f8311afabb74ac9f014d6494ecd6ac0064b924028d8f3160996a0f3893b24d6733a134f266a3e5b7623486f38dfd2a2efb45f6d379eb8b8cdb516fc836f08aaee98a6608f24a23db411f301dc46c04504b28fae1ab7ad1151d036d61c9453b691a093c0dc0a7b9ef94abc34ecfd8a66c8558709fdc5e64daee8990623279e3125c0bb7d16289ba3fb0a57288c2bf388c8bde43257c11b24b7a821f38f7cd0672d7cdc338922fb50f9c1dddf8de70a0b06153c9c7dea8c4588a09930f244979a4bf6a2cd6fa89d86322ce6950f10682970082ecdf5693f0622be64d16266bbb6a914ad318a7a842e32061c265b37c2736f77af011f6f615abc2270c337ef4e29c01ff31c2c879be355484e8a65feb2a566875a58510cee13991e2be4fd7be3dd16c0c9ac8795017b5afd6a022de52ecf68ccf5453c3a9d07975caaec7bd64021d6bcb443857c1e831f558e94d01f2b01fb5911b7f4f0873421faa2b0f48112cc62a632046bc364e47c7b5498396395deeda06024003a900497a417452b1491f41206b4d0bd3d86c50ad29f2ea4e08f8b83eb2d27c22feab990167e1dc7aaf36578b3ac0b384d0f6d19cc1e126a285079485321e1ba657dfd1a776fd01cb750fc424e60ac8d5c98da90f5a8806f49d507347011e5da77b7816596e5719234240298fa6dff0c6f3d8a99bfa716f5575bcb5102757fe3e1c2c9f3b477ed3cb5fd404ef1aec66316a02090e436daa9d86602bc29c4f7b36be54dad5088139116ebb0353653796964d2cc1f8a8382f86352380fe9096d83e72c8f8d99db38092f250f59acf69bb7a0c18480ac0b4ffcd9c56d19c836e8daf00fac736a63c610b6b64ccda50351f9dc91fd2037a7381b9a38b8aad5ea4117b91ff36f5877171ba3df44d85792b82747e6967e560fd88f6d2548e9a3b9d712675c2d5c7fdfe386d520211e237b77b1407c6b63bfbd7c887fe29b4d98f0bc6d41242e262d96621f839c186b66a31bf2c27d8c28a970a2926b4b98aeb8363b3ae9761f20454a6bfacb0b413e2d418a84c36151f9369a064f68785ae71a4f1da14e8006eaa2b2fe2ec7857ff10ef90598a234a4ddd2ec979ba66eeaf9fbc7dde5c0bac7298a868d19bbc23b92e64fd4960fa2e5c68eb9d4a72de1439255fa9c3c885a2e19766703c250d2d173e3e8e947a11984aa59dc281f4484c450f411af64267fb4101841d6a8b0cdb89690a558b31b2ca760c9d3f3d7cca845142e412c1c7b6c153a51f99bf95a2b3765feeb40b2867e3d34f5a0cb7b4c94d278e641686effae529cc924e9f5e88fd22245eb27307bcf277ce2072f6ad3053bde904f0e786f61f7e99f09b8a80838633b3565d41b24ab8fbb11dcf27de95e2942f46c1140d7ffdc3b864e78b43f381e276a3c3c04db907e2701625c54aa01bbe4f3090bb8a997faddd276a9fb203183ccfa318a8aad3bfc834ec6f47ae3236cdd94f8ad824dd5231f658a6386dd951ec4a690560a219188a01eee48b856a23c852ad152554097ace271c02ab106b3ec60b345ec9e9df60f0778a234aaec816307fa1b29b66fab226f2801c3ccd1b6874652a13e21f2aa3e85f9ade0086b1c87666c6b651c4bff11f63a084ce25ccadd840bd56baa8c327cd8d101e8b3397aa0b5e6a0eea6383a2cfaa809dcffc810878ae1048ee97279f65a4dd28cf1164003542cfabfd8cc70aaf5019c445046ad47e281db8757dc5c1f9faff72073e38cceb793f7db4a21e033396cc8444d0c36541fd079318552addba55b81d1abf8705342b814c8c3ba99ed65b83cba23f277495fbe4a82aee3cd142e0bbd89bdb90f8f1468048f6f11e036ac855328713c83cb14412be10a54fd1e702cff19715c440103a16cc486a469061c436195151897a80f603bb1e8bc56d66c8c3facaee6fda93efca0f4bb76e7738a6cefe78a7f958836a7553c9cfc24ee3c906dd100330e56debc01f3c2ed98482151fd2b07cd23dc166329cf0689c2fc93fd782a5366e40129e4a03edfa195fcb0bf5cefeba76f9dfe3eaf3b9701c1525f9e5dd278bff4c3102ba24d786169bcec3772a91b348302a0fee2d611e4cf803dce895d8f0fed3b027872a839353078285d14f5030c4279fd3f24846f8e91df230rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootcfengine-3.11.0-lp150.2.3.src.rpmcfengine-examplescfengine-examples(x86-64)    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1Z%8Y@YX@Y@XDX@XfL@XdX,J@WWaC@WVHVetU@UUa@U@U hU hU hU@U@U@TgT@TT6xT&@S;@SES@SrScSG@SFS>S=M@S=M@S;S2@S2@S(5@S(5@S@RmR@RRSR@R @Q@Qޞ@Q@Q@Q@QxQm=@QkQGQ @PP@PPN@PPr@Pmz@OWMO;@O2cO1@O&@OO@ONT@N/N@NtN^"@N[@NTNA!@N?LrbK&(JJ I4kkaempf@suse.comkkaempf@suse.combwiedemann@suse.comjengelh@inai.dekkaempf@suse.combwiedemann@suse.comadam.majer@suse.dekkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comkkaempf@suse.comdimstar@opensuse.orgkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comaeszter@gwdg.dechris@computersalat.dekkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comcoolo@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comchris@computersalat.dechris@computersalat.dechris@computersalat.dechris@computersalat.dechris@computersalat.dechris@computersalat.dechris@computersalat.dechris@computersalat.dechris@computersalat.dechris@computersalat.decoolo@suse.comjengelh@medozas.dechris@computersalat.dechris@computersalat.dechris@computersalat.dechris@computersalat.dechris@computersalat.deanicka@suse.czanicka@suse.czanicka@suse.czanicka@suse.czanicka@suse.cz- add 0003-CFE-2629-Openssl-1.1-compatibility.patch for openssl-1.1.0 compatibility- Update to 3.11.0 New Features: - allow function calls in promiser using universal "with" attribute. (CFE-1092) - add example of with attribute (CFE-1092) - Detect Amazon Linux and set "AmazonLinux" hard class and sys.flavour variable. - New sysctlvalue() and data_sysctlvalues() functions from /proc/sys (CFE-2513) - readdata() also auto-detects .yml files as YAML - Added support for ENV and CSV file parsing (CFE-1881) - Added vars and classes for CoreOS (ENT-3043) - cf-agent: implement --show-evaluated-vars and - -show-evaluated-classes - Support for custom ports and host names as policy hub (CFE-953) - cf-promises: allows --show-vars and --show-classes to take an optional filter - Added a new tool: cf-net. cf-net is a CLI for the CFEngine network protocol, useful for debugging, testing etc. (CFE-2493) - New policy variable: sys.cf_net contains path to cf-net binary - Read /etc/os-release into sys.os_release (CFE-1881) - Full changelog at https://github.com/cfengine/core/blob/3.11.0/ChangeLog- Use gzip -n to not add timestamps to .gz header - Add reproducible.patch to override man page date to make package build fully reproducible- Reword description to have less marketing speak. - Remove two unnecessary ldconfig calls.- Update to 3.10.1 New features/additions: - "make tar-package" should create a tarball with the contents of "make install" (ENT-3041) Bugfixes: - Fix rare output truncation on Solaris 10/11 (CFE-2527) - Change: Don't error during dry run for proposed execution. (CFE-2561) - prevent LMDB assertion on AIX by ensuring nested DB calls are not occuring during signal handler cleanup (CFE-1996) - Detect Amazon Linux and set "AmazonLinux" hard class and sys.flavour variable. - Fix "lastseenexpireafter" 32-bit signed int overflow. - Add missing pcre build flags to cf-key (CFE-2525) - Fix a bug which could cause cf-execd to believe there was an error when sending the email report, when there really wasn't. - cf-serverd: Auto configure max open files ulimit according to maxconnections (CFE-2575) - Added vars and classes for CoreOS (ENT-3043)- Fix build with rpm-4.13- make_home_dir_for_tests.patch: Make cfengine home directory to avoid spamming logfiles during unit tests (bnc#1016848)- Update to 3.10.0 (final) - LTS until Dec 2019 See https://cfengine.com/company/blog-detail/cfengine-3-10-lts-released/ and https://github.com/cfengine/core/blob/3.10.0/ChangeLog for full changelog. New features/additions: - All new features/additions for 3.8 and 3.9 are also included in 3.10. - Add: Classes body tailored for use with diff - New feature: Classes promise: allow classes without an expression to default to defined. - Support for custom ports and host names as policy hub (CFE-953) - Add: Definition of from_cfexecd for cf-execd initiated runs (CFE-2386) - Add < <= > >= operators to eval(). - Add testing jUnit and TAP bundles and include them in stdlib.cf - New function isipinsubnet() (ENT-7949) - LogDebug(): implement module-based debug logging. Now most DEBUG messages are *not* printed even when "-d" is in use, but the specific debug module has to be enabled on the command line. For example to enable all log modules, run: cf-agent -d --log-modules=all - Add: edit_line contains_literal_string to stdlib - add variablesmatching_as_data() function paralleling variablesmatching() (Redmine #7885) - Allow specifying agent maxconnections via def.json (CFE-2461) - Add getuserinfo() function - Add body agent control select_end_match_eof option. (CFE-2390) - rename 0001-Simplify-and-fix-parsing-of-etc-SuSE-release-fixes-i.patch to 0002-Simplify-and-fix-parsing-of-etc-SuSE-release-fixes-i.patch - drop cfengine-3.10.0b1.patch, upstream- Update to 3.10.0 (beta1) - LTS until Dec 2019 See https://github.com/cfengine/core/blob/3.10.0b1/ChangeLog for full ChangeLog - Add cfengine-3.10.0b1.patch to find libacl during build- Update to 3.9.1 - Change: Log level for keeping verbatim JSON to DEBUG (CFE-2141) - Change (masterfiles): Definition of from_cfexecd for cf-execd initiated runs (CFE-2386) - Change: Switch processes restart_class logging to verbose - Change: Enable agent component management policy on systemd hosts (CFE-2429) - Change: Remove executable bit from systemd units (CFE-2436) - Change: Require network before cfengine services (CFE-2435) - Fix 'contain' attribute 'no_output' having no effect when the 'commands' promise is using 'module => "true"'. (CFE-2412) - Fix: Services starting or stopping unnecessarily (CFE-2421) - Fix occasional segfault when running getindices() on a variable that has indices of multiple depths (e.g. both "a[x]" and "a[x][y]"). (CFE-2397) - Fix bug in files promise when multiple owners are promised but first one doesn't exist, and improve logging . (CFE-2432) - fix: memory leaks- Update to 3.9.0 Full changelog at https://github.com/cfengine/core/blob/3.9.0/ChangeLog New features: - Classes promise: allow classes without an expression to default to defined. - Add optional interface parameter to iprange() to match only one interface. - Allow '=' in symbolic modes (Redmine #7826) - Add: FreeBSD ports package module - New package module for FreeBSD pkg package manager. - Add support for adding/removing fifos in policy - Add Linux parsing of /proc/net/ data. - sys.inet - sys.inet6 - sys.interface_data - Data is returned as a data container. - See documentation for more details. (Jira CFE-1991) - sys.ip2iface: new reverse mapping variable from IP to interface name - Namespaced classes can now be specified on the command line. - namespaces can now be passed to cf-runagent -D and --remote-bundles (Redmine #7856) - Add 'cf-full' and 'json-full' to cf-promises '-p' option. They generate output based on the entire policy. The existing 'cf' already behaved this way, and it has now been changed to generate output only for a single file, which the existing 'json' option already does. - New language functions: processexists() and findprocesses() (Redmine #7633) - Implement new regex_replace() function. (Redmine #7346) - Add log rotation policy for state/classes.jsonl log. (Redmine #7951) - Added collect_vars utility bundle to stdlib - Intoduce report_class_log attribute to body agent common. (Redmine #7951) - Add standard_services service_method allowing for explicit usage - cf-promises --show-vars can now show JSON variables. - Add json_pipe mode to mapdata(), which allows piping a JSON container to an external program for manipulation and receiving JSON back. The jq tool is a good example where this mode can be useful. A corresponding $(def.jq) variable has also been added with a default path to this tool. See documentation for mapdata() for more information and examples. (Jira CFE-2071) - behaviour change: "true" is always defined and "false" is never defined in a context expression. - Add: nimclient package module for AIX This module provides basic functionality for using nimclient as a means to ensure packages are either present or absent. It does not support listing package updates available or provide any special caching. - Add callstack_callers() and callstack_promisers() functions. - Log variable definitions in debug output. (Redmine #7137) - Add: Memory information to host info report (Jira CFE-1177) - In Mustache templates, one can now use {{#-top-}} and {{/-top-}} tags to iterate over the top level element in a container. (Redmine #6545) - Add network_connections() function that parses /proc/net - Provide new -w argument to override the workdir for testing - New feature: Emails sent by cf-execd can be filtered to get rid of emails for unwanted log messages. The attributes mailfilter_include and mailfilter_exclude in body executor control control what to include. See documentation for cf-execd for more information. (Jira CFE-2283) - Add: file_make_mustache bundle to render mustache templates - Add '-n' flag to cf-key to avoid host name lookups. - cf-agent, cf-execd, cf-promises, cf-runagent and cf-serverd honor multiple -D, -N and -s arguments (Redmine #7191) - Add "canonify" mode to mapdata(). - Add: printfile bodies to stdlib - Add: New results classes body [] (Redmine #7418, #7481) - Implement cf-runagent --remote-bundles and cf-serverd "bundle" access promise. (Redmine #7581) - Add commands promise arglist attribute, augmenting args attribute. - It's now possible to reference variables in inline JSON, for example: mergedata('[ thing, { "mykey": otherthing[123] } ]'). thing and otherthing[123] will be resolved as variables, since they are unquoted. See the documentation for more details. (Redmine #7871) - Allow inline JSON to be used in the following function calls: - data_expand() - difference() - every() - filter() - format() - getindices() - getvalues() - grep() - intersection() - join() - length() - makerule() - mapdata() - maplist() - mean() - mergedata() - none() - nth() - parsejson() - product() - regarray() - reglist() - reverse() - shuffle() - some() - sort() - storejson() - string_mustache() - sublist() - sum() - unique() - url_get() - variance() For example: mergedata('[ "thing", { "mykey": "myvalue" }]') See the documentation for more details. (Jira CFE-2253) - Add: edit_line contains_literal_string to stdlib - Add body agent control select_end_match_eof option. (Jira CFE-2390)- Update to 3.8.2 Fixes: - Reduce verbosity of apt_get package module (Redmine #7485) - Reduce verbosity of yum package module (Redmine #7485) - The isvariable() function call now correctly accepts all array variables when specified inline. Previously it would not accept certain special characters, even though they could be specified indirectly by using a variable to hold it. (Redmine #7088) - Don't follow symbolic links when copying extended attributes. - Fix a bug which sometimes caused package promises to be skipped with "XX Another cf-agent seems to have done this since I started" messages in the log, most notably in long running cf-agent runs (longer than one minute). (Redmine #7933) - Fix bug which could render host unable to recover from a syntax error, even if failsafe.cf was utilized. This could happen if the file containing the syntax error was specified in the def.json special file. (Redmine #7961) - Change: Policy files specified in the "inputs" section of def.json will no longer be auto-loaded. One has to refer to the $(def.augments_inputs) variable in the policy (the standard masterfiles policies include this by default). This only affects installations which are not based on the standard masterfiles, and which are using the "inputs" field inside def.json. (Redmine #7961) - Fix file descriptor leak when there are network errors. - Fix cf-serverd error messages with classic protocol clients (Redmine #7818) - Installing packages containing version numbers using yum now works correctly. (Redmine #7825) - Fix ps options for FreeBSD to check processes only in current host and not in jails - fix build failure on FreeBSD 7.1 (Redmine #7415) - Show errors regarding failure to copy extended attributes when doing a local file copy. Errors could happen when copying across two different mount points where the support for extended attributes is different between the mount points. - Fix classes being set because of hash collision in the implementation. (Redmine #7912) - Allow def.json up to 5MB instead of 4K. - Fix a regression which would sometimes cause "Permission denied" errors on files inside directories with very restricted permissions. (Redmine #7808) - Change: Suppress standard services noise on SUSE (Redmine #6968) Changes: - Change: classesmatching(): order of classes changed- Update to 3.8.1 Changes: - Upgrade CFEngine dependencies to the following versions: - OpenSSL 1.0.2e - PCRE 8.38 - libxml2 2.9.3 - OpenLDAP 2.4.43 - libcurl 7.46.0 - Upgrade LMDB to version 0.9.17. (Redmine #7879) Bug fixes: - @if minimum_version now correctly ignores lines starting with '@' (Redmine #7862) - Add guard for binary upgrade during bootstrap (Redmine #7861) - Namespaced classes can now be specified on the command line. - Fix bad option nlwp to vzps on Proxmox / OpenVZ. (Redmine #6961) - Fix two cases where action_policy warn still produces errors (Redmine #7274) - Parse def.json vars, classes and inputs from the C code. This fixes a bug where certain entries in this file would be parsed too late to have any effect on the evaluation. (Redmine #7453, #7615) - Fix HP-UX specific bug that caused a lot of log output to disappear. - Check for empty server response in RemoteDirList after decryption (Redmine #7908) - getvalues() will now return a list also for data containers, and will descend recursively into the containers. (Redmine #7116) - Define (bootstrap|failsafe)_mode during update.cf when triggerd from failsafe.cf (Redmine #7861)- Update to 3.8.0 New features/additions: - New feature: Bodies can now inherit attribute values from other bodies by specifying "inherit_from" with the name of the body to inherit from, plus any arguments it accepts. For example: body classes myclasses { inherit_from => classes_generic("myname"); } (Redmine #4309) - Add url_get() function. (Redmine #6480) - Add @if feature() syntax @if feature work like @if minimum_version but allows distinguishing between features choosen at compile time. - Extend module protocol to create persistent classes. To use it, have the module print a line with "^persistence=" before printing any class names. "persistence=0" goes back to non- persistent classes. (Redmine #7302) - Add: New results classes body (Redmine #7418) - Add: Debug reports in cfe_internal_cleanup_agent_reports - Add: Path to svcprop in stdlib - Add: masterfiles-stage script to contrib - Whitespace is now allowed in class expressions for readability, between class names and operators. (Redmine #7152) - Add: New results classes body [Redmine#7481] (Redmine #7418) Changes: - Change: Clarify bootstrap/failsafe reports - Change: Improve in-line docs for internal log maintenance - Change: Improve efficiency and debug reports (Redmine #7527) - Remove: 3.5 support from masterfiles policy framework - Long promiser strings with multiple lines are now abbreviated in logs. (Redmine #3964) - Change: Reunify Version based policy split - Change: Seperate binary details from policy update (Redmine #7662) - Remove /var/cfengine/cf3..runlog. (Redmine #6957) - Change: sys.libdir and sys.local_libdir to non version specific path - sys.libdir now resolves to $(sys.inputdir)/lib - sys.local_libdir now resolves to lib (Redmine #7559) - Moved the following files to /var/cfengine/log/: - /var/cfengine/promise_summary.log - /var/cfengine/cfagent..log - Change: Seperate binary details from policy update (Redmine #7662) - Remove: Support for email settings from augments_file (Redmine #7682) Many bug fixes.- Update to 3.7.1 (LTS release) - Fix daemons not restarting correctly on upgrade on AIX. (Redmine #7550) - Fix upgrade causing error message under systemd because of open ports. - Fix build with musl libc. (Redmine #7455) - Long promiser strings with multiple lines are now abbreviated in logs. (Redmine #3964) - Fixed a bug which could cause daemons to not to be killed correctly when upgrading or manually running "service cfengine3 stop". (Redmine #7193) - Package promise: Fix inability to install certain packages with numbers. - Fix package promise not removing dependant packages. (Redmine #7424) - Fix warning "Failed to parse csv file entry" with certain very long commands promises. (Redmine #7400) - Fix misaligned help output in cf-hub. (Redmine #7273) - Augmenting inputs from the augments_file (Redmine #7420) - Add support for failover to 3rd HA node located outside cluster. - Upgrade all dependencies for patch release. - Fix a bug which caused daemons not to be restarted on upgrade. (Redmine #7528)- Update to 3.7.0 See https://github.com/cfengine/core/blob/3.7.x/ChangeLog for full changelog New features: - New package promise implementation. The syntax is much simpler, to try it out, check out the syntax: packages: "mypackage" policy => "absent/present", [#] Optional, default taken from common control package_module => apt_get, [#] Optional, will only match exact version. May be [#] "latest". version => "32.0", [#] Optional. architecture => "x86_64"; - Full systemd support for all relevant platforms - New classes to determine whether certain features are enabled: * feature_yaml * feature_xml For the official CFEngine packages, these are always enabled, but packages from other sources may be built without the support. - New readdata() support for generic data input (CSV, YAML, JSON, or auto) - YAML support: new readyaml() function and in readdata() - CSV support: new readcsv() function and in readdata() - New string_mustache() function - New data_regextract() function - eval() can now be called with "class" as the "mode" argument, which will cause it to return true ("any") if the calculated result is non-zero, and false ("!any") if it is zero. - New list_ifelse() function - New mapjson() function as well as JSON support in maparray(). - filestat() function now supports "xattr" argument for extended attributes. - "ifvarclass" now has "if" as an alias, and "unless" as an inverse alias. - Ability to expand JSON variables directory in Mustache templates: Prefix the name with '%' for multiline expansion, '$' for compact expansion. - Ability to expand the iteration *key* in Mustache templates with @ - Canonical JSON output: JSON output has reliably sorted keys so the same data structure will produce the same JSON every time. - New "@if minimum_version(x.x)" syntax in order to hide future language improvements from versions that don't understand them. - compile time option (--with-statedir) to override the default state/ directory path. - Fix error messages/ handling in process signalling which no longer allowed any signals to fail silently - Also enable shortcut keyword for cf-serverd classic protocol, eg to simplify the bootstrap process for clients that have different sys.masterdir settings (Redmine #3697) - methods promises now accepts the bundle name in the promiser string, as long as it doesn't have any parameters. - In a services promise, if the service_method bundle is not specified, it defaults to the promiser string (canonified) with "service_" as a prefix. The bundle must be in the same namespace as the promise. - inline JSON in policy files: surrounding with parsejson() is now optional *when creating a new data container*. - New data_expand() function to interpolate variables in a data container. - Add configurable network bandwidth limit for all outgoing connections ("bwlimit" attribute in "body common control") . To enforce it in both directions, make sure the attribute is set on both sides of the connection. - Secure bootstrap has been facilitated by use of "cf-agent --boostrap HUB_ADDRESS --trust-server=no" - Implement new TLS-relevant options (Redmine #6883): - body common control: tls_min_version - body server control: allowtlsversion - body common control: tls_ciphers - body server control: allowciphers (preexisting) - Drop patches, both upstream 0001-Do-not-use-insecure-MD5-but-rather-SHA256.patch cfengine-fips.patch- Fix Fedora/RHEL builds- Partial fix for bnc#923417: * 0001-Do-not-use-insecure-MD5-but-rather-SHA256.patch- Enable tests, 1 fail so document it- Enable pam and disable silent rules for make- Proceed bit more with cleaning, the RH sections are failing to build for couple of years. Better readability without them so prune it out - Convert the in-spec build switches to %bcond - Provide rcbla links to systemd services- Add patch to use proper SSL exponent bnc#922571 * cfengine-fips.patch- Format with spec-cleaner, this is just reordering, no factical change here- Update to 3.6.5 Features: - Introduced "systemd" hard class. (Redmine #6995) - Added paths to dtrace, zfs and zpool on FreeBSD in masterfiles. Bug fixes: - Fixed build error on certain RHEL5 and SLES10 setups. (Redmine #6841) - Fixed a bug which caused dangling symlinks not to be removed. (Redmine #6582) - Fixed data_readstringarrayidx function not preserving the order of the array it's producing. (Redmine #6920) - Fixed a bug which sometimes caused CFEngine to kill the wrong daemon if both the host and a container inside the host were running CFEngine. (Redmine #6906) - Made sure the rm_rf_depth bundle also deletes the base directory. (Redmine #7009) - Fixed monitord reporting wrongly on open ports. (Redmine #6926) - Skip adding the class when its name is longer than 1024 characters. Fixed core dump when the name is too large. (Redmine #7013) - Fixed detection of stopped process on Solaris. (Redmine #6946) - Fixed infinite loop (Redmine #6992) plus a couple more minor bugs in edit_xml promises.- Remove install-info calls in post/postun: there is no info page being installed. - rop texlive BuildRequires (there is no info page, and even if, makeinfo would be sufficien).- Update to 3.6.4 Features: - Introduced users promises support on HP-UX platform. - Introduced process promises support on HP-UX platform. Bug fixes: - Fixed bug on FreeBSD which sometimes led to the wrong process being killed (Redmine #2330) - Fixed package version comparison sometimes failing with rpm package manager (Redmine #6807) - Fixed a bug in users promises which would sometimes set the wrong password hash if the user would also be unlocked at the same time. - Fixed a bug on AIX which would occationally kill the wrong process. - Improved error message for functions that require an absolute path. (Redmine #6877) - Fixed some spelling errors in examples. - Fixed error in out-of-tree builds when building cf-upgrade. - Fixed a bug which would make cf-agent exit with an error if it was built with a custom log directory, and that directory did not exist. - Fixed ordering of evaluating promises when depends_on is used. (Redmine #6484, Redmine #5462) - Skip non-empty directories silently when recursively deleting. (Redmine #6331) - Fix memory exhaustion with list larger than 4994 items. (Redmine # 6672) - Fix cf-execd segfault on IP address detection (Redmine #6905). - Fix hard class detection of RHEL6 ComputeNode (Redmine #3148).- Update to 3.6.3 New features: - support for HP-UX 11.23 and later - experimental support for Red Hat Enterprise Linux 7 Bug fixes: - fix getindices on multi-dimensional arrays (Redmine #6779) - fix mustache template method to run in dryrun mode (Redmine #6739) - set mailto and mailfrom settings for execd in def.cf (Redmine #6702) - fix conflation of multi-index entries in arrays (Redmine #6674) - fix promise locking when transfering using update.cf (Redmine #6623) - update JSON parser to return an error on truncation (Redmine #6608) - fix sys.hardware_addresses not expanded (Redmine #6603) - fix opening database txn /var/cfengine/cf_lastseen.lmdb: MDB_READERS_FULL when running cf-keys --show-hosts (Redmine #6602) - fix segfault (Null pointer dereference) when select_end in delete_lines never matches (Redmine #6589) - fix max_file_size => "0" not disabling or allowing any size (Redmine #6588) - fix ifvarclass, with iteration over list, failing when deleting files with time condition (Redmine #6577) - fix classes defined with "or" constraint are never set if any value doesn't evaluate to a scalar (Redmine #6569) - update "mailfrom" default in default policy (Redmine #6567) - fix logrotate ambiguity of filename (Redmine #6563) - fix parsing JSON files (Redmine #6549) - reduce write count activity to /var partition (Redmine #6523) - fix files delete attribute incorrectly triggering promise_kept (Redmine #6509) - update services bundle output related to chkconfig when run in inform mode. (Redmine #6492) - fix Solaris serverd tests (Redmine #6406) - fix broken bechaviour of merging arrays with readstringarray (Redmine #6369) - fix ifelapsed bug with bundle nesting (Redmine #6334) - fix handling cf_null in bundlesequence (Redmine #6119) - fix maparray reading whole input array when using subarray (Redmine #6033) - fix directories being randomly changed to files (Redmine #6027) - update defaults promise type to work with classes (Redmine #5748) - systemd integration in services promises (Redmine #5415) - fix touch attribute ignoring action = warn_only (Redmine #3172) - fix 4KB string limit in functions readfile, string_downcase, string_head, string_reverse, string_length, string_tail, string_upcase (Redmine #2912)- Update to 3.6.2 - don't regenerate software_packages.csv every time (Redmine #6441) - improve verbose message for package_list_command - fix missing log output on AIX (Redmine #6434) - assorted fixes to dirname() esp on Windows (Redmine #4716) - fix package manager detection - fix build issues on FreeBSD - allow copying of dead symbolic links (Redmine #6175) - preserve order in readstringarrayidx (Redmine #6466) - fix passing of unexpanded variable references to arrays (Redmine #5893) - use entries for new {admin,deny}_{ips,hostnames} constraints in the relevant legacy lists (Redmine #6542) - cope with ps's numeric fields overflowing to the right - interpret failing function calls in ifvarclass as class not set (Redmine #6327) - remove unexpanded lists when extending lists (Redmine #6541) - infer start-time of a process from elapsed when needed (Redmine #4094) - fix input range definition for laterthan() function (Redmine #6530) - don't add trailing delimiter when join()'ing lists ending with a null-value (Redmine #6552) - 9999999999 (ten 9s) or higher has been historically used as an upper bound in CFEngine code and policy but because of overflow on 32-bit platforms it caused problems with big numbers. Fixed in two ways: first change all existing policy uses to 999999999 (nine 9s instead of eleven 9s), second fix the C code to not wrap-around in case of overflow, but use the LONG_MAX value (Redmine #6531). - cf-serverd and other daemons no longer reload their configuration every minute if CFEngine is built with an inputs directory outside of the work directory (not the default). (Redmine #6551)- Update to 3.6.2-build5 pre-release- Update to 3.6.1 New features: - Introduced Solaris and AIX support into the 3.6 series, with many associated build and bug fixes. Changes: - Short-circuit evaluation of classes promises if class is already set (Redmine #5241) - fix to assume all non-specified return codes are failed in commands promises (Redmine #5986) - cf-serverd logs reconfiguration message to NOTICE (was INFO) so that it's always logged in syslog Bug fixes: - File monitoring has been completely rewritten (changes attribute in files promise), which eliminates many bugs, particularly regarding files that are deleted. Upgrading will keep all monitoring data, but downgrading again will reinitialize the DB, so all files will be reported as if they were new. (Redmine #2917) - $(this.promiser) expands in files promises for 'transformer', 'edit_template', 'copy_from.source', 'file_select.exec_program', 'classes' and 'action' bodies (Redmine #1554, #1496, #3530, #1563) - 'body changes' notifies about disappeared files in file monitoring (Redmine #2917) - Set not-kept classes when files or commands promise should be repaired, but is warn-only (Redmine #2359) - Fixed CFEngine template producing a zero-sized file (Redmine #6088) - Add 0-9 A-Z _ to allowed context of module protocol (Redmine #6063) - Extend ps command column width on Solaris and filter on zone rather than adding it to the ps output. - Fixed strftime() function on Solaris when called with certain specifiers. - Fixed users promise bug regarding password hashes in a NIS/NSS setup. - Fixed $(sys.uptime), $(sys.systime) and $(sys.sysday) in AIX. (Redmine #5148, #5206) - Fixed processes_select complaining about "Unacceptable model uncertainty examining processes" (Redmine #6337) - ps command for linux has been changed to cope with big rss values (Redmine #6337) - Address ps -axo shift on FreeBSD 10 and later (Redmine #5667) - methods and services promises respect action_policy => "warn" (Redmine #5924) - LMDB should no longer deadlock if an agent is killed on the hub while holding the DB lock. Note that the change only affects binary packages shipped by CFEngine, since the upstream LMDB project has not yet integrated the change. (Redmine #6013)- Decrease install size, drop mysql, postgresql, and libvirt adapters- Upgrade to 3.6.0 final Bugfixes - remove drop-revision.patch, included upstream- Upgrade to 3.6.0rc2 Bugfix release- Set sys.bindir to /usr/sbin, expect cf-* components there Add 0001-Set-sys.bindir-to-usr-sbin-expect-cf-components-ther.patch- Upgrade to 3.6.0rc Bugfix release Full ChangeLog at https://raw.githubusercontent.com/cfengine/core/3.6.x/ChangeLog- add 0001-Simplify-and-fix-parsing-of-etc-SuSE-release-fixes-i.patch * add 'suse' class for consistency with other vendor classes (fixes #5417) * distinction between "SUSE Linux Enterprise Server" (sles) and "... Desktop" (sled) * distinction between SUSE Linux Enterprise products (suse) and openSUSE (opensuse) * extract version from VERSION and PATCHLEVEL lines instead of first line of /etc/SuSE-release- merge cfengine-server with cfengine. A policy server only gets cfengine-masterfiles but is otherwise identical to a client.- install cfengine.SuSEfirewall2- install cfengine-masterfiles together with cfengine-server only. A cfengine client will get the masterfiles from the server.- clean up /var/cfengine/inputs cache on removal.- remove '.unknown' from reported version add drop-revision.patch- Fix all .service files, type is forking.- Update to 3.6.0b2 - performance has been significantly improved, with a 10-20% speed increase over 3.5 when using the default masterfiles - agents support the legacy protocol without TLS envelope This allows upgrading of an agent before the policy server. - several general improvements and bug fixes too numerous to list here. - remove cfengine-bootstrap.patch, included upstream - split masterfiles off as cfengine-masterfiles package- fix build for RHEL * MySQL connector: disabled * docs go into versioned directory- merge with my last (not committed changes) * bootstrap patch - fix changes file * update 3.0.4b2 -> 3.4.0b2 - fix docs install - fix build for SLE_11 (MySQL connector: disabled)- use lmdb instead of tokyocabinet - add primer.pdf- split off -examples sub-package- Upgrade to 3.6.0b1 - New promise type "users" for managing local user accounts. - TLS authentication and fully encrypted network protocol - New attributes in 'bundle server access_rules' - New variable type 'data' for handling of structured data - Tagging of classes and variables with meta data - Many new built-in variables - Many new functions - Replace tokyocabinet with lmdb database- Fix packaging - rename cfengine-devel to libpromises-devel - rename libpromises1 to libpromises3- Update to 3.5.3 - Improved security checks of symlink ownership. A symlink created by a user pointing to resources owned by a different user will no longer be followed. - Changed the way package versions are compared in package promises. (Redmine #3314) In previous versions the comparison was inconsistent. This has been fixed, but may also lead to behavior changes in certain cases. In CFEngine 3.5.3, the comparison works as follows: For instance: apache-2.2.31 ">=" "2.2.0" will result in the package being installed. Bug fixes: - fix cf-monitord crash due to incorrect array initialization (Redmine [#3180]) - fix cf-serverd stat()'ing the file tree every second (Redmine #3479) - correctly populate sys.hardware_addresses variable (Redmine #2936) - add support for Debian's GNU/kfreebsd to build system (Redmine #3500) - fix possible stack corruption in guest_environments promises (Redmine [#3552]) - work-around hostname trunctation in HP-UX's uname (Redmine #3517) - fix body copy purging of empty directories (Redmine #3429) - make discovery and loading of avahi libraries more robust - compile and packaging fixes for HP-UX, AIX and Solaris - fix fatal error in lsdir() when directory doesn't exist (Redmine [#3273]) - fix epoch calculation for stime inrange calculation (Redmine #2921)- Update to 3.5.2 Bug-fixes in the CFEngine Core: - fix delayed abortclasses checking (Redmine #2316, #3114, #3003) - fix maplist arguments bug (Redmine #3256) - fix segfaults in cf-pomises (Redmine #3173, 3194) - fix build on Solaris 10/SmartOS (Redmine #3097) - sanitize characters from /etc/issue in sys.flavor for Debian (Redmine #2988) - Fix segfault when dealing with files or data > 4K (Redmine #2912, 2698) - Don't truncate keys to 126 characters in getindices (Redmine #2626) - files created via log_* actions now have mode 600 (Redmine #1578) - fix wrong log message when a promise is ignored due to 'ifvarclass' not matching - fix lifetime of persistent classes (Redmine #3259) - fix segfault when process_select body had no process_result attribute - Default to AND'ed expression of all specified attributes (Redmine #3224) - include system message in output when acl promises fail - fix invocation of standard_services bundle and corresponding promise compliance (Redmine #2869) - run fdupes after install- Fix SLE 11 build Add remove-am_subst_notmake.patch- Update to 3.5.1 Core Changes: - the CFEngine Standard Library in masterfiles/libraries is now split into promise-type specific policy files, and lives in a version-specific directory. This should have no impact on current code, but allows more granular include of needed stdlib elements (Redmine #3044) - file changes are logged with log level Notice, not Error Bug fixes: - fix recursive copying of files (Redmine #2965) - respect classes in templates (Redmine ##2928) - fix timestamps on Windows (Redmine #2933) - fix non-root cf-agent flooding syslog (Redmine #2980) - fix email flood from cf-execd due to timestamps in agent output (Redmine #3011) - Preserve security context when editing or copying local files (Redmine #2728) - fix path for sys.crontab on redhat systems (Redmine #2553) - prevent incorrect "insert_lines promise uses the same select_line_matching anchor" warning (Redmine #2778) - Fix regression of setting VIPADDRESS to 127.0.0.1 (Redmine #3010) - Fix "changes" promise not receiving status when file is missing (Redmine #2820) - Fix symlinks being destroyed when editing them (Redmine #2363) - Fix missing "promise kept" status for the last line in a file (Redmine #2943)- explicitly enable postgres, pthreads, openssl, pcre, libvirt and libacl - add libacl-headers.patch to adapt to libacl-devel packaging- Update to 3.5.0 - Final See http://cfengine.com/docs/3.5/whats-new.html- Update to 3.5.0 - Release Candidate- add rpmlintrc file- Build with libvirt - run cf-key on first install- Update to 3.5.0 - Beta 1- Update to 3.5.0 - Alpha 2 New features: - new built-in functions: classesmatching, strftime, filestat, ifelse, maparray - cf-promises flag --parse-tree is replaced by --policy-output-format=, requiring the user to specify the output format (none, cf, json) - cf-promises allows partial check of policy (without body common control) without integrity check; - -full-check enforces integrity check - agent binaries support JSON input format (.json file as generated by cf-promises) - cf-key: new options --trust-key/-t and --print-digest/-p - Class "failsafe_fallback" is defined in failsafe.cf when main policy contains errors and failsafe is run because of this - add scope attribute for body classes (Redmine #2013) Changes: - action_policy => "warn" causes not_kept classes to be set on promise needing repair. - command line option version (-V) now prints a shorter parsable version without graphic - implicit execution of server and common bundles taking arguments is skipped in cf-serverd. - WARNING: option --policy-server removed, require option to - -bootstrap instead - process promises don't log if processes are out of range unless you run in verbose mode - reports promises are now allowed in any context (Redmine #2005) - cf-report has been removed - cf-execd: --once implies --no-fork Bugfixes: - ifvarclass checked from classes promises in common bundles - do not wait for splaytime when executing only once - disable xml editing functionality when libxml2 doesn't provide necessary APIs (Redmine #1937)- Update to 3.5.0 - Alpha 1 New Features: - Enable zeroconf-discovery of policy hubs for automatic bootstrapping if Avahi is present - Support for sys.cpus on more platforms than Linux & HPUX Changes: - Make parser output in GCC compatible format the only supported format (remove --gcc-brief-format flag) - Silence license warnings in Enterprise Free25 installations Bugfixes: - Allocate memory dynamically to avoid out-of-buffer or out-of-hash situations - fix edit_xml update of existing attributes (Redmine #2034) - use failsafe policy from compile-time specified workdir (Redmine #1991) - Update to 3.4.2 (Bugfix and Stability release) Bugfixes: - Fixes to policies in masterfiles (see masterfiles/Changelog for details) - Fixes for OpenBSD (GitHub #278) - Do not canonify values specified in abortbundleclasses/abortclasses (Redmine #1786) - Fix build issues on NetBSD, SLES 12.2 - Improve error message when libxml2 support is not compiled (Redmine #1799) - fix potential segmentation fault when trimming network socket data (GitHub #233) - fix potential segmentation fault when address-lookups in lastseen db failed (GitHub #233) - execute background promise serially when max_children was reached, rather than skipping them (GitHub #233) - fix segmentation fault in cf-promises when invoked with --reports (Redmine #1931) - fix compilation with Sun Studio 12 (Redmine #1901) - silence type-pun warning when building on HP-UX (GitHub #287)- remove suse_update_config- update to 3.4.1 final remove cfengine-3.4.0.patch, was accepted upstream 3.4.1 (Bugfix and Stability release) New feature/behavior: - cf-execd terminates agent processes that are not responsive for a configurable amount of time (see agent_expireafter in body executor control), defaulting to 1 week Bugfixes: - fix regression of classmatch() failing with hard classes (Redmine #1834) - create promise-defined and persistent classes in correct namespace (Redmine #1836) - several fixes to namespace support - fix several crash bugs caused by buffer overflow and race conditions in cf-serverd - regenerate time classes in cf-execd for each run (Redmine #1838) - edit_xml: fix select_xpath implementation and update documentation NOTE: code that uses select_xpath_region needs to be changed to select_xpath - edit_xml: make sure that text-modification functions don't overwrite child nodes - edit_xml: improve error logging- update to 3.4.0 final- fix systemd check (use systemd for openSUSE 12.1 too)- workaround for potential buffer overflow- honor filesystem hierachy standard (FHS): - build with --enable-fhs - honor documentation - install in /var/cfengine - support systemd where applicable - update to 3.4.0b2 New features: - XML editing capabilities. See the documentation for edit_xml body. Note the new dependency: libxml2. - Implement inheritance of local classes by bundles called using "usebundle". By default classes are not inherited. See the examples/unit_inherit.cf for an example. - Moved from Nova/Enterprise: - POSIX ACL support, - "outputs" promise type, - remote syslog support. - packages_default_arch_command hook in packages promises, to specify default architecture of the packages on the system. - packages_version_less_command / packages_version_equal_command hooks in packages promises, to specify external command for native package manager versions comparison - Running in Solaris zone is now detected and classes "zone" and "zone_" are created in this case. - VirtualBox support added to guest_environment promises. - guest_environment promises are supported under OS X. - The "depends_on" attribute is now active, for the partal ordering of promises. If a promise depends on another (referred by handle) it will only be considered if the depends_on list is either kept or repaired already. * * WARNING: When upgrading, make sure that any existing use of depends_on does not make some promises being unintentionally ignored. This can happen if you are currently refering to non-existant or never-run handles in depends_on attributes. - methods return values, initial implementation - New format for cf-key -s, includes timestamp of last connection Changed functionality: - cf-execd -F switch no longer implies 'run once'. New -O/--once option is added to achieve this behaviour. This makes cf-execd easier to run from systemd, launchd and other supervision systems.- add bootstrap patch * set correct "workdir"- update to 3.2.4 * Fixed failure in network transfer in case of misbehaving peer * A few tiny memory leaks on error paths fixed - fix post/-un for SLE_10 (install_info) - fix deps for SLE_10 * {libsoname} Req glibc - provide default *.cf files in inputs DIR otherwise init scripts will fail- fix pre/post scripts * RHEL/CentOS does not know "SuSE macros" :(- fix deps for CentOS/RHEL (cron) * Req vixie-cron- fix cron file- change workdir to /var/lib/cfengine/work * adapt init scripts * add new dirs o /var/lib/cfengine/{backup,failsafe,config} - add cron file as Source10- move "server" stuff to subpkg- fix init scripts * check for existing "promises.cf, failsafe.cf" - create symlinks for sbin_PROGRAMS- update to 3.2.3 * A few tiny memory leaks fixed * Improved performance of cf-serverd under heavy load with TokyoCabinet database * Full list of issues fixed is available on https://cfengine.com/bugtracker/changelog_page.php - fix License: GPLv2+ -> GPLv3- update to 3.2.1 * ATM no "uptodate" ChangeLog available :(- add libtool as buildrequire to make the spec file more reliable- Remove redundant tags/sections from specfile- lib pkging policy * new subpkg: libpromises1, devel * disable-static lib - rpmlint * incorrect-fsf-address * run-level 4, init scripts - subpkg doc * documentation * added cf3-Reference.pdf as {S:1}- update to 3.2.0 * New bootstrap method with single-command bootstrapping: - cf-agent --bootstrap --policy-server 123.456.789.123 - Associated policy template files are added, partially maintained by CFEngine - See for upgrade procedure * Bug fixes for file-editing, package versioning, and embedded database corruption (We recommend using TokyoCabinet instead of BerkeleyDB if building from source). * Improved upgrade path for Nova. * Patches for improved run-agent concurrency * Reorganization of documentation and community resources * 100% on regression test suite on 3 operating systems (Ubuntu, Debian, SuSE on x86-64 hardware) * Support for multiple release environments * package_policy update and addupdate now check if user-supplied version is larger than currently installed - updates only if so * Help text of cf-report -r corrected - a list of key hashes is required, not ip addresses. * New Emacs mode for CFEngine policy files (thanks to Ted Zlatanov!) - After beta 1: * Warnings are on edit_line changes can now give greater degree of information without spamming promise logs * Class expressions parser accepts '||' as an alias for '|' again. * Invalidation of package list cache on installation/removal of packages. - After beta 2: * New option cf-key -r to remove host key by IP or hostname. * Added detection of network interfaces which belong to BSD jails. * Improve robustness of multi-threaded code, in particular fix problems with spurious acces denials in server and losing of authentication rules after policy reload. * cf-promises accepts option -b matching cf-agent, which causes it to do not complain about missing bundlesequence. * New functions and(), not(), or() and concat() to ease use of ifvarclass() clause. * Full list of issues fixed is available on https://cfengine.com/bugtracker/changelog_page.php - some cleanup * ./configure .... -> %configure with default datadir * macro usage * use default install to docdir, add missing AUTHORS, LICENSE- fix init scripts o RH, CentOS: fix return of checkproc, start_daemon- update init scripts o complete rewrite, used skeleton.compat- update to 3.1.5 * New class parser, '||' is no longer allowed in expressions (use '|'). * Class setting in the promise types insert_lines, delete_lines, replace_patterns, field_edits, vars, classes is restored. * suspiciousnames implemented. * New function getvalues(). * New functions parse{read,int,string}array to match read{read,int,string}array. * Testsuite added to check for core functionality. * Syslog prefix is fixed to say 'cf3' instead of 'community'. - see ChangeLog file for more info - {name} macro - add BuildReq postgresql-devel (PostgreSQL connector) - remove Author from desc - no autoreconf - keep libs - build support for CentOS, RHEL- update to 3.05p1 * bugfixes- update to 3.02 * cfengine3 is a major rewrite, much simpler but with many new features - added new init scripts - remove all the patches- fixed resource leak (bnc#533579)- fixed memory leak (bnc#523789)- fix %preun script (bnc#487781)lamb22 1512388800  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst3.11.0-lp150.2.33.11.0-lp150.2.3cfengine-examplesabort.cfaccessed_before.cfaccessedbefore.cfaccumulated_time.cfacl.cfacl_generic.cfacl_ntfs.cfacl_secret.cfactive_directory.cfactivedirectory_listusers.cfactivedirectory_showuser.cfago.cfapp_baseline.cfappgroups.cfarrays.cfaugment.cfbackreferences_files.cfbadpromise.cfbadtype.cfbsdflags.cfbundle_return_values.cfbundlesmatching.cfbundlestate.cfcanonify.cfcf2_integration.cfchange_detect.cfchangedbefore.cfchdir.cfclasses_global.cfclassesmatching.cfclassmatch.cfclassvar_convergence.cfcommands.cfcompare.cfcontainer_iteration.cfcontainer_key_iteration.cfcontrol_expand.cfcontrolclasses.cfcopy.cfcopy_classes.cfcopy_copbl.cfcopy_edit.cfcopydir_copbl.cfcopylinks.cfcountclassesmatching.cfcountlinesmatching.cfcreate_filedir.cfcreatedb.cfcustomize_by_named_list.cfdata_expand.cfdata_readstringarray.cfdata_regextract.cfdatastate.cfdefaults.cfdefaults2.cfdefaults3.cfdefinitions.cfdeletelines.cfdepends_on.cfdepends_on2.cfdifference.cfdirname.cfdisable.cfdisable_and_rotate_files.cfdiskfree.cfdollar.cfedit_column_files.cfedit_comment_lines.cfedit_deletenotmatch.cfedit_insert_fuzzylines.cfedit_insert_lines.cfedit_insert_lines_silly.cfedit_passwd_file.cfedit_passwd_file_basic.cfedit_replace_string.cfedit_sectioned_file.cfedit_setvar.cfedit_template.cfedit_triggerclass.cfedit_xml.cfensure_line_present_prepend_append.cfenv.cfepimenides.cfescape.cfeval.cfevery.cfexec_args.cfexec_in_sequence.cfexecd.cfexecresult.cfexpand.cffailedcommand.cffailsafe.cffile_change_detection.cffile_hash.cffile_owner_list_template.cffileexists.cffilenames.cffileperms.cffilesexist.cffilesexist2.cffilesize.cffilestat.cffilter.cffindfiles.cffix_names.cfformat.cfgetclassmetatags.cfgetenv.cfgetfields.cfgetgid.cfgetindices.cfgetindices_and_values.cfgetmacaddress.cfgetregistry.cfgetuid.cfgetuserinfo.cfgetusers.cfgetvalues.cfgetvariablemetatags.cfglobal_list_expansion.cfglobal_list_expansion_2.cfgrep.cfgroupexists.cfguest_environment_kvm.cfhash.cfhashcomment.cfhashmatch.cfhashuncomment.cfhelloworld.cfhost2ip.cfhostrange.cfhostsseen.cfhostswithclass.cfhub.cfid.cfinherit.cfinsert_users.cfintarray.cfintersection.cfinventory_cpu.cfip2host.cfiprange.cfirange.cfisdir.cfisexecutable.cfisgreaterthan.cfisipinsubnet.cfislessthan.cfislink.cfisnewerthan.cfisplain.cfisvariable.cfiteration.cfjoin.cfkill_process_running_wrong_user.cfknowledge_driver.cfknowledge_txt.cflastnode.cfldap.cflength.cflinking.cfliteral_server.cflocal_group_present.cflocal_user_password.cflocal_user_secondary_group_member.cflocal_users_absent.cflocal_users_locked.cflocal_users_present.cflocate_files_and_compress.cflog_private.cfloops.cflsdir.cfmaparray.cfmapdata.cfmapdata_jsonpipe.cfmaplist.cfmax-min-mean-variance.cfmeasure_log.cfmeasurements.cfmenu.cfmergedata.cfmeta.cfmethod.cfmethod_polymorph.cfmethod_validate.cfmethod_var.cfmethod_var2.cfmodule_exec.cfmodule_exec_2.cfmonitord.cfmount_fs.cfmultipassvars.cfmultiple_outcomes.cfmustache_comments.cfmustache_extension_compact_json.cfmustache_extension_expand_key.cfmustache_extension_multiline_json.cfmustache_extension_top.cfmustache_sections_empty_list.cfmustache_sections_inverted.cfmustache_sections_non_empty_list.cfmustache_sections_non_false_value.cfmustache_set_delimiters.cfmustache_template_motd.cfmustache_variables.cfnamespace.cfnamespace1.cfnamespace2.cfnamespace3.cfnamespace_class1.cfnamespace_classes.cfnamespace_var_meta.cfnamespace_var_meta2.cfneighbourhood_watch.cfnone.cfnth.cfnull_config.cfoccurrences.cforchestrate_chain1.cforchestrate_chain2.cforchestrate_delay_trigger.cforchestrate_dominoes1.cforchestrate_dominoes2.cforchestrate_dragon.cforchestrate_dragon_load_balancer.cforchestrate_n_of_m.cforchestration_hostlist.cfordering.cfpackage_apt.cfpackage_bundles.cfpackage_freebsd.cfpackage_latest.cfpackage_msi_file.cfpackage_msi_version.cfpackage_rpm.cfpackage_solaris.cfpackage_windows_feature.cfpackage_yum.cfpackage_zypper.cfpackagesmatching.cfparallel_exec.cfparseintrealstringarray.cfparsestringarray.cfparsestringarrayidx.cfpathtype.cfpattern_and_edit.cfpeerleader.cfpeerleaders.cfpeers.cfpostfix.cfprocess_kill.cfprocess_matching.cfprocess_matching2.cfprocess_matching3.cfprocess_restart.cfprocess_restart_basic.cfprocess_signalling.cfprocesses_define_class_based_on_process_runtime.cfproduct.cfpromise_knowledge.cfpromises.cfquoting.cfrandomint.cfreadcsv.cfreaddata.cfreadenvfile.cfreadfile.cfreadintrealstringlist.cfreadlist.cfreadtcp.cfreg_multiline.cfregarray.cfregcmp.cfregex_replace.cfregex_win.cfregextract.cfregistry.cfregistry_cache.cfregistryvalue.cfregline.cfreglist.cfremoteclasses.cfremoteclasses2.cfremotescalar.cfremove_deadlinks.cfrename.cfrepairedcommand.cfreport_custom.cfreport_diffs.cfreport_state.cfreporting.cfreports.cfreporttofile.cfresolveconf.cfreturnszero.cfreverse.cfroot_passwd.cfselect_class.cfselect_mode.cfselect_region.cfselect_size.cfselectservers.cfserver_callback.cfserver_copy_localhost.cfserver_copy_purge.cfserver_copy_remote.cfserver_flatcopy_localhost.cfservice_catalogue.cfservice_catalogue_separate.cfservice_disable.cfservice_start.cfservices.cfservices_concept.cfservices_default_service_bundle.cfservices_win.cfsetuidlog.cfsetvar.cfshuffle.cfsimple_ssh_key_distribution.cfsoftware_dist.cfsoftware_update_version_yum.cfsome.cfsort.cfsplitstring.cfsql_table_structure.cfstorage.cfstrcmp.cfstrftime.cfstring_downcase.cfstring_head.cfstring_length.cfstring_mustache.cfstring_reverse.cfstring_split.cfstring_tail.cfstring_upcase.cfstringarray.cfsublist.cfsum.cfswitchcase.cfsymlink.cfsymlink_children.cfsyslog.cfsyslog2.cftemplate.cftemplate2.cftest_environment.cftidy_all_files.cftranslatepath.cfunique.cfunpack_method_calls.cfupdate.cfuser_edit.cfuser_edit_method.cfuserexists.cfusers_type.cfvarclass.cfvarexpansion.cfvariablesmatching.cfvariablesmatching_as_data.cfvarnet.cfvars.cfwarnifline.cfwebserver.cfwin_dns_client.cfwin_emergency.cfwin_registry.cfwin_schedule.cfwith.cfzenoss.cf/usr/share/doc/packages//usr/share/doc/packages/cfengine-examples/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Leap:15.0/standard/b87afc64fa310a52c280111565ddc8c7-cfenginecpioxz5x86_64-suse-linuxdirectoryASCII textHTML document, ASCII text|Ck&?z=]utf-85048e2933fa81f85eaced219a303e8c27aa30172ee376a826c91b19d313e0bd7?P7zXZ !t/ ] crt:bLL ~ao^)B| ,Na*je-47y%Qrͧ?8Ĩ@%>E֒%ƭz" ]+*׈@9ed;;',GSt6ט*UG XuĊ H6Qc.Lʓe$ dzgu]k"6JsNݐ]x/& ƽT\)G5U~/_Df0Ud_ N;eLϝAJA* UP#4uN*ÇdXq l0 TdZ5n^FlT @Jң'3"%ܓ@e@xYFs"ޓ Bd>m,݅|X}!#LH1u*:6vO=k"8L}FFotpI+tHX(؊aXh_œ2*gkAQ^~f.?Es٬ꌷjrPj =G"A92l뵪[<-sV3bT0Wq?Sd*ga[xmBݰӳ{_Ľg#^)`u;N\K:}5ۦ1z&: mT CE)#RmYF>3'5z0oq}+Fz7DrՓ熼ȴtTsD9 [q\-@[a>@/Lk;.N0<@6uOiuY%%jڅ$u[aɏ6tT(*D;HOYO+Oj _t@b (kR$8ITr9آ2͈OTXQFT;v,{Py #6Ybp,dy!tqUM;R rXl5^ W6Cc5p ,eQE!M5yuc(6k8ŽN;Sx] ~h |Fa.Uj,.Jɷɗ1Inz]H:aUf=ufõisPJҺs1ݒd㥳2* n/7\r<O}Ge4>юF 7ra>)O+ۖ+M W9avIf*mVeT<3C}Xn6iz;oO#[oنPuUmQs&3M|kB}TX< {L =SArE9L -Ewk DVc y3@GeC}VS S{ڊJ{IxVOp^F85 R>!>A!e ,͈Ƌ-7ks**@1ɶ] z%|+xsGIXIŒ/+.hV (N6UUf4C7UZ( OCޢaXՓP/M#(ݧÏ[_,/1'L#yԍ؝jb)(w*V0W3}kOQ]senF#4LLGXH4#_mM2C]Pr)*̏Wv W=N;Ȥ |6] gߋ I5ggHQ=ˇrMg%N5Ӯ`Vgz)9]g\՚@\'RzSgZv11 #`3KN]{zo[6UFn;^5.hEnqJU mD<,].jyb(0\O/9Sh#o!٤GƕFқھo;x4Qk,)&DŸ6*#qOS. hV>&; xw$_U Fۈ‰HaEh}rߜKE:0gR+I]q:̩ ۥ8[tx3.jO~!])W4<0Y 4cU TXQSH>H wf*7puCl93J%{r~+i;S}*ml0# (p~A[0"O<1jnǀ+EӾ s}0(/If -<!F,ByB`Ծ";&H 2-I$U`o9&7ǧT}c|d(oAم`f,P"#( aħshtۊhpV"Q%13l$DG`^d>Y+1s_ tPg݋1=5ӓ9c8?n5ި0.=$q{aGe 3TS۞;"^1)mp.C!sN8Dݞy`lQBFەܘa8v E ]{6DnYMH*S愥`Jڄ=:ІeXPal<묥XwMkO>]Q. ۵Ds*<4fag&_vqُgs9s>b*Zp}m'6C4yMy̒π҆<NƁۉOY' XhFVR Xsُ5P HLyk]H Y-›gy_l FI`0:;Yc-^1hL#u`[a)rƎmt}=6cv]ӳjWx:O;}Aa[NMid'Y.>9zkSk]`~+@>A<- e.J[gZf-p„xsр+mlפ:vAuJ=),ex7d6|̍)Q/reH^JDStKdɉO` .61Iz >D?9[)Kg^<ࣲn~ \VE2fL"UL7HS is|c:5Z,p2Χ( '//ykgt "e01*if_"iO|\u-p A}V^Kr{g[nG^>dp~ԑ d̨̾G;pfs{9.N#U9%[yg>MRxf#bRhLpp.K!DbD] ~Lpޚ2G-F][V* [z>Qt3XK椼$~&Oi`w# [ gam¿`w*7FJb:#"q#لֈz̀4=߹R#F_HK_b6*;Ox40g:>(ʊQ9.6|5y iG-Fz]%]x(~r ,`uʰKL/Im?_s,2ƊkH)ͺ!NV,T-)-+@h[0I tSA 1PNmseľOQT˟vlbc!O:`5iVy)c`RJBœF*V%?GG{ a9u#6cFH3.tO5_J(Ac:O[30 T9Iz\DY_\B ?|!S~Xe5 eo8#z(T] (֞ScV@[d?/쵈q7Q6;q:Znn^aBi"6CԾxxO8h =Gg}_6RȀqVǻQno1s6f<ǐ)6L[И`-"nhVaN>CZN&X({->sjF:51FܶQp IJYoÔ!vs,@ _;HV aťbsUKaHԨ20&iݘT  eo_T`>YK[^ܝ*M|;q\_X ɐGiJ6W#{g=cCNMXv;(oDh굴Ou;1 &8ev O[~z$| f RCyYߍ7N L:>Nўތ)${ K-Ď0a`r&_ys}+:}<݂.%DTyؕ,[3GE=3ckhCro`/xǵME1kG-Ʌp? !5K<ZIĩ_򹏞Z>TŸgU['%fA ?rɠPe*!|&[s,T#=u!MȔ|`- 6C'`vww tA@mCR5Rtx+j O=} ]IfZ#y i_+pܑ*\U74n&v-7͌b|1иQ7|;T#dt  47:`{=s񯊅i'Ra~(Hb)PJ=kiID ~KEg\ !|wn&e'@X@ٷQA浌5noJ,˸:b-`i{ :^Gpƈ/-ПxBl #:Ӭ\17L*5HANqcB:%\D[BumΨij57/LʮR R _3) 11zh3䗬†8g_k&Ը@%ʓaq|Mul'c4$eⵝ6_5>WS;6&׽`;@QM˅Tڱm5ƺPhg -7 QP<FRNcrHah@v[Vܢпh\[3U:Y_h '!e\^/_Rojˍ[tdHN>&,U -ܵWV8.⣤~9IUh/_e텫Y.#= 7~r <ܢ3hVVq:frrš|x_%a$J4+iKWݏISEOï5=.C#BTiO?WݐV |6I$7sKp0=vQ(5ynt:R':e~1t{ ?ʒߩD TW̜;T|@IڔpXe%`yVLT%ê!Q|Q]hQ3~jtmH'1XX/z{͍k r/Bݲ~訒Sg fG9EUzGWwCF+#񒁞vf`'z:X5v%K)j LTM̾Hu,M"@N#җV-^S%VJWL+~X櫄./;lQfö]2VMw@澥JHQH[jMnyR{,0&B/'kPaq̕ώ|ii X9*2:! qs11ܭ#Xհi\4q\YjrV Sȣ:]^|~Q+L9HR WM=5׆N'eo4E,c\\IFKK9SwGhCF{=[\#[4b\F\JN%M3 dVX=T0^ PЇ=uDxq֡ 5)&N޾@^)_66IDC\5N*D)%1iS3\5UݐSZzEK(j8'|h%5T9j[Bd).̱9u7$\EӾ B7mX2&gW~``dqX8PMz6ӂvy#yGeHGYCݛZle*NZ*ڇ$lUCFJ!T AޣsHo`$ u -$f끕:j-Rk]ج  _=L > *wK7#'vFu! t3v$`Mk%ǭӄZ]b9Vla.D臁b!-б @nbT<ϦDoR,%:!jzFJ'3bDX(@d臥،YεTP2&ڠl'T{ M7`ZۿuN'iMGWULuS򭭁q%} דk$(7;)Z0L֊Ԙ[ǝl]gti/u%\C ]|`DӑM/3GXfX7.N.m^eP5+!^"(T-~N;7SG]du3-C90qEŴg6A ӝmAF?BҶ~T9"N\#^6,J5(.&--FLHR1C㉒e|EBBA/5!;= /@8eށ8Z̬q [Wɯ' 'A#wc6et܈ 4IɆL_4St'28CNy, FHOȯo._>cRU]c}gU2cw_A ]Z;!EJ<~er*z^ܬٮr~3`I>2V}νas,@>*M7礿^jx 7v = ZVdɳJV) '; Q) {Av0IH.Kѥ*8(>YkeR~f{Jp)4yOg޿OE+b084U'/NU+p:(Ϝ9CۄEg4z˻ PP`u-\G;cدeDõsi($$K䅒Y5d[^qnEْ24v%݉u'$|ݠ=fɇ9XMMPn-/ipc YinDq[O'*l20bjeu'fƧ7 d(U6C+tJm{LKVinHVqRΞ $K6"5wV S^ݳ.@Fz?.$RbjJ9Tރ#Ķ\oR/zD SfB ULYw|AIBcKrcya35u ;ܜ%Ͷ$ղ1<$/Ԡ 鷧.?-b>U=߸ =K>(l7!d]Ϻ}%HĵMiJog>5TC@7Cg5(-*@-[}=L$;;<`R[MD)v׿SFXW%fVЕ:L{VFH E guh{PgFFtwUc䵞]Bnbճs,/Qz!1;@ˏ}TJ y..`T14?yEDp_)~C5|ȼUghHg4 p/Hq{a7[Gq_ReB"|x y+H۰ ]I3P=eu,E Hq3S%:Nks`YӠYmc4?Ngޞ2㊛.[ji{"cdwuKI$l|ĺ*z88H;' U@GTU`Z!6O+SUDOԃYkSciUDETR/J`~*? Su. 4W;(]x!oj pX2J ̭6y\Blu sk,%Z|鄶m4o4g :86G6{%t8R U m[{ W@(Fw^޸nid2SφNwwa 0op$} %~>]J^iOtY]-2[pw,eW7d|~j8CgRf""5h䕁&:ߛUYSJBLq#aB/H+)Myo4^MKǠs8$5!mG-׿-\bU:h7`[Ke 9qs K?tyf4RBP jňchafi%cvg-Pc\? caahEp[ѝM|-U }فgt`y7Q;K]VU+Z_N/x;R1ues7nKzE|rӈ}>s]nEj΢_z6x%V!argp\"*ɇRHmS njp|] 讉xFln.yr=5h;g so~o^]ga?޶NKjl8wVUu<@Z4eZpm:4tعVOZ8=k!ė E6/8ؤ TI-UEef Jq )r0 00󦘎g}L<8fNUI?+P;=s2[[[ςyf(LB&dV?7bF%h\?wz'?Nw W@H*4 Q2-[o[O}r$56xo0;b#V >1rx'R&2´@M_jOMY/P揢}uIe);~a[H~9#y8NƷ7ᬍg!lT:"87qu0~>!/S77KY<!3T>|Xj2T|wDl$7@_h_,-E4bZIr|+n9&n+q9be%q#FQ'$iW\+ #~mD/y q1-%]֚>>?79N]cs*yWJ{SY#L)oY] B U@ ~*Bar_0Q[D~YʏsՀϬJFJ}d<QnYϨR)I~=tk(Ƚ^f,Lؔ$\o6f> _-iM` ZS7¬F$sACz(߲k1zp]&vqY2 f%3@ HMG)?BQw2I*mAn;8`CS':-ds٣QXoEL\iƂExCk-:&pR r]q48,=>7f+*M?pТ9ݨ|;IYai*jM,)Ar -81{F.j o(F_ ԓZQزft g-(ʳ>ZsaA3eK@m)%y(x@lqۄ{|!K8ըY7k&` 2yO)bB8@5/R}(T) !C8v7ː XxՍQjs 2shZPi4{&?uma˜apM F;7^7V|BGdg|%jQ|610!*Ce9I 6n 7,D6yG51('J(sb/eqە7cP'v歅I9}A\+>ԨjhsXk^,MؐD7 N*Bsx N|zQ{@B,61%h0okelqo\9p'2@ 2 bvy}'x5p|u_'IyYtf(v8j|-+5i\f8zχB@˳>?w,X)yN@r؆|bSQWs=DOz[+slxX.l}Ks $>~XPxDf? E]$ڮ<𩄳͂ l#[I/z 4N N\*Pڷ.g%޾>:`tv(ZmRzP$'>XQBtӮd1AVZ5!>peEμ%ey,Oi3Ubg7;pq-M&XL=FW4D#n޼`'z9nloHxNU{qAQ_[9‹h961(wB?]]?TR@I0Oj}{1=`>fw^rG3*” x=x 3i>Rxw0s|F8i?gQc4]+5eFAnme=ȄເŸx:2H;zB-q?"[SLIzKL{ʌk4.1S#5uYkӹ*jzCnK%}+A]cxUiPo++L3/2saH]@wԴ!7;|lGs-5MFxfܑdMSſV/^XZbj*s.tCeWzQ7=}Vl)%l 2Y!1 :{q 3 w; ]:f-8&S_1 4̙/xo„2F[ұBiYi}(pmn 7уԀ屓@r 6#XXhvk\Jj_%*}pJ ,\ELTQ.g.q|ʹ70͢X.}v,Zh|ƪWF =,}YI+^\ *A.cTWp=2Ij*ٲpApt %(Yyw=jA~n!8S`nlA^PW9a\G@$oO&_̭D9e @2O O]Mu(yszсWKh.zs4GNn+u(CH:+A7JA3Tn"n=ذ"KٖvjA=$Y*jJ6\??%Yfi -<֘e|&F"~[@B3W^9Q%uz_:WgM fSGHTm\* 6TsPoQ.b.栫@HCӿSO3zPZ=5 V-S8|GdrR^IM`D̏2xQ/{w]w%餏 CңGkTm~- Sp. {S9/VlwSJI)Ƅπ@Ta_{7a <# :6AkFV l""x% dLp:L©X]NJfKbČ1/3%}"캫SA2BrcePО ‡.8Fk*T`z`Rg8pʷB\>rė k7a}~:21fOfaP-3XeSNJ[SmܜHAo)x5 0V=:E(Fڃ_\> 7v^?qt괇~B+#>r8唭:73(o7@t_6~vv4w6D_O##B(lk|)vr_`@MZEUNV^Xh><%bnI>kp"8a]ʊ.|S}ʜZu+ˈL{kp29nc"[r&{3J5GX~%EgGDrl3- !oZN2?R"֓%OicMh*`Bλ+ VEpw)Z!6pa5$ɬX H'^;M,JnNՖwF{#r ] V[Jm;N\{]X3!Ӟ2!Zy{\ tOEAg'UsYtP)zċ^w jPMy/&`\k=3vjFfh EsOg68ꄘ#\e:围(oiJI'{29bKGgNȣ ZUۏn ߡ&@Y ?=G/q:ݣKcYK'^d_5(_R1JdFV?!s~҈mEᧁªI XI%ߓ^'`\W.#߃+܆{vʦ _ijbh7 b|ieq$Y(sa"xtRx8w>za دvwcTX>jd&fȐMj<$3鳝{S|߀jduG~s-C;>ո|/d2YYoTﰗ1֯=J8;aY|Da&j6\;7Ř^4 u jmQt^닗q% 4Xu5 !^_6l vﱕsguvllo;>f8.|)EB+'_%IHaikeWfחsd|VT Q"p$1|MWժz-h KF5#Z4J,40XԁhS]LU(Fi!K>41VxbH] qqE$`] ɻˁHڀ*Kgɭ噌+ZݟF?q0у4]W`g>DΆPQ>feG1wPIߠ6z4 8D+Y{Iwȉc?x}h|}=}m4=4G;ۢI1ɠ0łps oZccw~ubYb`+c!1Q7X[o:P:^𾩰^u7u /Tk,A_wj>uޑ˧̡͂NJ.}ə* G[$ Ӌ㡩s H78 ڽfd7>Bmluޮof\"Yά&gIVO<%055`q5w6,!Bk@J1k 5~6Wf_ԋDGV^iD%@> ;iYqs/5QYh*q#6CzZPZ/MrOC7^׏[01PެIPIz`_Yif^8df6C)NeU>kB q=UuJp] jԛ!LL6e/A[+۝~4ckvʏe6XXJh{U#ZK]fhfgy5WTv66P)(?ES rUKجΦ9̺HjK\ɉd,֔NUU9Xܣx_OK71>0+j4{>Zjf%r B 36C?fQ'ܢ."9/_mă#Tl[>#s;,79łl{sQ|p[3k"iAd149\i.Ϩu]b—5l]ni5ʐuBϺ[3z]$Gf?T=51>Ʋ t] U!}:!qL0q !Myځ1I0EdU+I3 {ZS٣`  ]f84</ *D{""Hm'>ȐY&X"c|RZi= trqS3+Tũ͘=Is>Ui7}5 Ss,wzd lt2S~IXpB,g!uh]c;?rL@ yyXyXv^Nd콺 IQHRoL8 e(WKi} ?z 2KA}j @eI9W\YtM{wr!Ograxe6i{׮)3b9T:Ф4bps8Eצ5/um`[Zȵ Z6kݦ ŨI}oT+ qtDŽ /wcaMc A)l}Hكmyc_Vչ`u jZLHGށb~|ѷ@5zoyV~"}2埝VB 6|(qkc1Ujxy̜2haFy:3]+I4Wz)[퀛A,MُY.80ʂbTJ]R]-]=ql+ept[zߚ>ws] ZVѲ2=r7o4,} 66aGj n5?׋,F4 i_:p̉n/T]];,? 'W XjDNwQq$0p__\ dV=EW(X wJ\4ն{Ta,(ssPyAk`zbӈbmX iЂ -AV شCibQoB + PAҾ=\AK~~z@yY|W$zBN2Q*=# 5 U[@%J|,scr$ӷfEo2C9(UnHKv яc)5AEȜ铼+h+%3%dacZ`1!M ^k `F/k=i#ړW|2.m0@;IjtEM[ e8P;)*'zCxmnC*8qp=:䵏B8R"w)fyO9-wvRͶ)\@?Քn 55eyAAxWX#݀d& !_ivI~p|5C&F(GO~jE\C$[;"/{+BE]UM8:ec(=L ?mcRDCD%@xş&gجkye/ ɲ -+fv?qi\w~ At֗5Oˇ59 "6H%*p[Er$u |u}/CJJ弖$C@D7I˥2m'>%V:2w9⎽N|҈ m`d,`_oc[sZJ*Vh *|rB|"zAχxS H=t\`#e汿Q"H l xo#)GNsbZvU-zWO?zߪ톊Pբo:{pEid :AP2BA#h4;oN˰z"OGsZ&>qRl.ќK!S7] Ы-q(ʙhD3MuD/nwrX@uV1:1rROQ?Nfg}^\뵷9Ξ S^0!*娝Cw4N+Xf㏅~[~Nv +:[B , Ԝ jU&E8_dbmnM3]ݳʗ:uo=abk)ʳ3pCxl{ExC#,2LlCjkНP_%^w]̱,'L 7IGfrZB BP`N؂LݽʕZ<2%pjEB)/OJb|qI$.<} "/xi nّ|ڪ9*65]t LEefh!J]߄~ĪfKqr ꟔jїG1#ƿ-&>ehF =r@1WrTRFn !`9 &'nHg]kp\n7KR\'y!+C:M6٘r{,ڌ/G2eOLPHh-B싀tn6#";-&UϟArh#ŴNQ3tFMv^0H@9kKgWԡqA. Pܪ\ôPJQҠOX" $\N /ak|e34/ը%%UXMcchv5OX~R/W=Q5{WVO+_.ԡNY9!>zvzѹ7=; >P'!O@8p% ,6NU%V/%NAU)=ο%yZ'_|L& ~culWK/<5X>y#sL&ElUlF}Qs!,|@My+&anUsmbt}U`֩*'g'jVOAPԮ% /d H89$,lMu,K A#u ){,r7oLC| x|R܊#m*<YvVQ n .FyuI8/4p0Jgc@;D$}Z^,%,aY|[^7'v, ⽢{52(t9^f4N79 'Mi1rz 0IفVq_u1:kS ݹ(>3LӒjZ "s0^7)`& U}à1՝=O'ȋufbG^Vp|VC_K`~r5S Jeɠl$f n>$#z\[! TmB"GXC?0^oCl #{PCk>t^"q Z9WkqFT7/MO]BqI9W8<k,rލK­p(=|]wE|9:|3KJnq\0U٫ksnNP:ʼnKYz "ͣ|b2Iv4:Rj)2,Y/3;Bh# ևٯK CX5Y[kˮ20D5#?$ה:atp@X}څ<˵ x֖iHXP2x|%Un<`^?6'aUb&=RI(/d"՟Ӷz$=ш[RZDV=I j Qp|t;P<NM?xB4z0qbDm$hwSU_L|Zwӟj:{իnʘ 5LHpZr[Qы15ͧ8H6<Xr Y(7ӯC%l-qF;l%pOI5I=">s[5'2E _zӕ+xRv-"`))x||}LiǸBDp辅70AN,”~bJyکrSz ԄGTj,{I"01Z|0'kLM0.^nF6im]LcX-0K屖ЪL1e ro@N _ Gx䰄*J'ӞkR4|.>k o%QPWVXbEx*E ѪV $|h^"' u'F%3k[k?K}Vԋh2..jAt底^w 0p22i|t=! &lF_|o'V ":2m ʰ(.Llӡ$5+gdy-skOhV¢R7ro_ӿװL9XTYZqt8i9 )Zm'/%KUKHGL ! ->=P,-xAOûJ3#Sw7cQ[#vEq_׋jemuƷ {;PY8p=~Sd\ (p9Ct> -) oCjZȗGoSl`yEQ= 1F6ʒ}sa;z7o lYFߪ&XnlǕZi.ZGVrUr/0#Swy5,"q L7WGy8g jPZ>quw.qtb0s/̻[bHڌ2^5I]Zdµrp4 CXL31}HG\)tl:R7;t`k I1DiAH4>^@b;֌#1dbԬ=ˊ: eYknNUU Vle4*] bXv3l7[iş.]xq%r;cJjT1SX Yr&~/)*M#+֡u5+U )ؤ- dc`zT3uvѬzMܡ,b({UU|\B`bPi{"IX!A~10:ADuPy ,BWvepm 8s4=Pa=n50kyyqU-7`뭃K8gAv͏Һ}Ujs ]Ӌ?vwgq\Q!ӊ%X uvKU/E&7$ÂHMc՗ ܉1Mc~ V:2vd`Ҩ.E p~˂U("rhXOٹ[[F$pE>S0-nqZ>BRK#xӈ9YvqC.Iv=8\6'֩f*9j O8V`EUMTc"VLX""3h5po!*^4T@;|U>ϗO<}FRqAQzCp啘 j`!@2F2ڊ߼7rh؊< #E*(y֧ݟO֕u:ڝT|3HY#1>:eJI7Y#&D'%,--Rd[7Z&KBo}.j~o?+FόN*E_H n/V;T {5<Y gk s)ZSqҕ/q^9rpjRą=o|?7 N,񇳙&H m/BHX&u+,(rl/jN+ C-(I%7nkq‹_d4 1zz<%-ќ%yX?efY~Ms{~S^9)zi%̀pX&m0Wv@mAY39_\K\s^'0^H ެ˾ +0unF33|W͛\Kۤ'plMyU :;2u̱߫*t~6G/oĢ~Y<bhbX@jV\״vuf$K+;q"t9%_Yqd .:da\cf}L K$i'щ"|5! >T>gB ᫋ۃ"(g@ CQ2-^&;?y O`/$Ryǔ=8$p% +zTd0T+vVk0rf< o !f~ d2fAĐDucߤ5fTzRD"Nc?<@i@UA}0zfI! PRGx RO빦_K'z#|h`KP^[i] } MOB<3Cfºe%]3 ^xf񬆅I{|;)HoMJK}gdb ˲$TBZl V"}+Aእ#!.lɺ (7Zl.á:_b zu2;hs4<2U 塖!ZlEeR ᚃe _(<דûM=ďh!7޶C ned|ճ;2{`IV7Bѐ'Y nt*r'N?دlclWb$'"T$}\r mB]+L IpO]ħf/Q7:J*9.!I7[%BVx:/*n1~'Pr PoEK#ȯdzJ !/)$hJf?wƭT/+f˽"wEu(cuO)Jѧ2gG17Y[9\ *9GŀQ nQsXT34 Lw/>cup_PѴ6ƑFi#%=UMJίn"e=xkx{GozM9laB՟2[p:Z;6tJ?r[-5#d{ w*vG :WӖd=ݔ*mۙokՖ5 { ~F"0eݎ,][1]r)hݸ()n?ֺ[Tf5PuH2183>{`}># QB4gwpW8 ! W/ UL3ǃtDj%AVג=|6 +jmĔOlPqXD%\|k(Q6I5"۷ ]P 5a ֖L2~[ H1^vgYx8 .\~L{xHC1 )nQ /yjH-o^`Y{}83 2 ´vf0 w$~׈|ߌqllNLtNPZ ?"PjמȗJ^V΀1t1oWOs kO ,KMxtJhn>JGZF_J} #i1 R!wԝ}¿)AI$1 fl PԮ +AioV4foN<9I 4X"Ds#ŵiO o"nKػҭ +GX<#ua=b@rJ0|*s"SeeBzvTx q1QS.GpO\\ B&P$ج]iv/hۀg/T Y˯Q< $ ^;@|=þ7EK"0L⮱|.?QQe{n*ʩz+ZoOa.3gWZ>.@-"zT/(V݈#Y hgue=gPx@y-s>B1i`;0JOyx|4݋9ww aСoX2`2!<1ȁx0'|!1`ˉ1QCx,ATNcS=T Y*L?6L\t?F Kҹf]^EUKXbTj~n8_wۂ"XNcS%)1j~n┄ls%5UpY@Bo$ã==b?85MwO3aRKKAJl 78-~YޖG5b> x5|4b."cH֋+aŬ1qJMr%n,E;dskd>ڨ0Ӂ.6(FW?9#J]dD 4FYؐU sC0l]U řt1<6z.̳i|&ATt[mÎe w%b9tc8Bͯ>n\ie:m GMU#;ЪfoiR<~a]GWg~I֤,89e(Ce$˷4Wq a3(%S),Xֽ[a8TňQR$T`M#Z,gIt) KPF=ϩGdBND>o/IphBmKyUk/xޝte`5"|\ %녅;o%-Y2Q<{MjE~1M.SNW]r3 .yܛv*TE 3\Kl$~/X!4 }U"T_&.\.s5LQS`+_<!_?v/OAՊh!$Omϴ_q` .R>܊)y;ŒvYcmEd(#|KiETb$4duj ` NFpQ;)=V- PjvGA#n?QP\i rY+2R%׌Xӗ,/T/Kcې14\jsV)|-V3+N <=*aZ8藐ERyeڵKX̸< sIۈHu5C=;BmX-p˝Mڽ!NVt9 7Y TRr5HKW-Lhn eo`*h_{6x+2Wf͖IbyVImd)g?;gfRzkfq[M ~:OwrD<6QaI6P1Y|D/D|@#/{Hw' Q>R1&]wH9=T9 e+MCSzW?+hN-9l,獒݌i=cJ2%25@Pc\a!HC2qCwCh'1~S3Ri¦;Vο01>IBweR&jYe t2M#xCϚa=q{('~^//łRf0ݙE!ll^Z6eDyOU0|E}Glϓb".% T6{dq!ƨNyttFo帖XEO,}tLwSS D~>3rjm*SI7)UˠX</ϸ;AhJOT  EPiFC` ot¤DHeo͗¬@k@@qӶqv֏wDżFo$֎]#tjS=QV."cC ui_;j}g$RM]MC$mE8,N^ai|u;U]2sͣwAv_jRLml7%fFUl\Ej?ģ#}P#˔?Оo[̒j5Km!(}C0^͒N-Fs]i KKX6]G+~[%CmN?~*(DN N^ײMȆ%NNjkF]CdUAG˻.K<[R:JL q`yPnH^.;/}=8"0[z;˜+v83eMzy'ξ@^0XTnlAO>}+4B} JMu!쐜$F.;l".nEfOfSq ԗx[kXi- X MqY-vُ +hXWTN6U@M8,9LT+hE;i\ݒ-қjW6zUYl> <08G).Gp}zEqRs-rcfA DO)xBWBr|a`tuN Ls؋/,Ǖ%8} ӯ J*̷|r-SP/p9xCą`޸Nm㳖~f|6kD4/04x; ugs,cDq??}_vWSqDEKU?i,رuw3?9@+4fSf|&oX|:t[';HC?B'3V5kay:|/m{H;ze. ]'u;惗1BU;&'3Db9)׀?:`X0 zW)7ue.@T*g*i՜puM +Meq-3F哫 bC0s g3Xp(|Rxٯ&hoGs<<@Zd40DW$񨁎9F_pi13`ЃCTn^L;F*;(1dձ D )F!vip >Ȇ!*0Y+-vHbWkuĔ2{3ih/O aWp}`Zk"E  J#u^"u D][`FhBVe[Z, x(gUDi+Wh˕LDRtUʫgKu^lA e AHqqWg/%j` H,h5)J$J.-&/^saH8,JQ|=Ȥ@@xv kП3h f\ojW` RȈ?bo(̏lLfx86 =dE>̇-𗝣P[ݠvCsk7Z[BbUʸ6~Dr*^l^Dqm :X9d|=`aWP=~7Ͷg]J`;l3o pfx*>9U竗+FlEv]m*\/mFMޑp %V̀.,ƅOG G֟uuxh ,I˾ @qy27XQ#bcIc%ڳ`MV^YYE`gj9+زI=n-U~i9H<5${\ۡDsBe!3NxL8 iOO-]2bpy99cBA+22篈t9{eaJp>XV7= ^|5];mSП| \wPKհ@;Q*8 $66]wu\3DQ@ŴVe#0ˢ1gB*J,־䖿']RP\$efz{'x· C ہXK`hm"kZ-L }-7V^ g/Y9 ЍzZwn:_k:]ݝ1MKҫl_4κ*U82#G3 &n C1X1bb]o)IװkYmk wP)w+m4$d';X{: G}u?:5'WT%Qi\ƸiԶ}I0в`wNn.xdu!^ZUJe]$aa+ږy$mNqW`-o.ד TWr0D * /5p{?W=?!''Ե$:v+Kl5*M;R兹E1.C*Ko-T-i$a uN̾O7kjBbF @\$&+;[*Sʾyѡ n Cf[l3gWⲼ*tk)+A1-5A/AО H(]OC^Wu vMCݜRnן6( 91Ql/殳_ĥ+5FɅ~u2ZyߤRĤ_kKꗍ`#s#Wy`am@ `{Xʑ>ԁdU$f ui:M}ahlC`d.{CC@(M\ءGqq._܏ZmslUdak[ [D٭Qy_:1qP5K*}dK矲8͖b:1yk@ ֲGM0z(Dѽ.P{\(KkZ$pc1FҎn{ eϦI7*g&~=]7{ dbX&ri 6+{ a<4v]דޟ/Ϻ7C8x_)jmY Oٱڧ\S7_mA0K;{ҧ;Hܧ:9rĮPΪ(qvoK6z<4Ż_NG؏_,1x@z \$Dz::tf"TWRAC93G^u+~a -( t%z7\#yw3N@t=-xc6 Tȩd#b|g6Sn_E|ku@zfU"@}קcҗþi0+245*cEj;o_yC ƝY״+ytc:VЬ~w+Rk 2>6 2壘+-۷OL4uti}~XD*(8n@D>17rlwqLӗ{ pHȺ*<:H!ͽcVb2#UٿbYz0\c :aQ̓D}jP~)mߐq=fbS^Snj4Ekg:=C^@2Μ /6k=0AN'fn&ПdK3qH]x'tQp^6. אqzWDDp"j{iWC|nGMyIx5tU9-؝S_+F>TdQbzR 0j:n̽Bu^,M27 J 𧚊ڐo[r@[ %|oo~R"y*t6]Tك& 'SNpL0'\5?rI?1l]ܘ5c}T2E0= !vʻym_V`i zbrz&p 􀍈&}oGroOO>QҙOKYI76i@8^p0.Zq@!PDEo:GҨɍH18A/*$,^duڄT$b},g/r[qhDDj܏h4x؛N!0$!nUowl.;Ak^N^\+@>Vny#"S6T ڟ&|x$!bW:('uTM G ÐM.{*$s&xԛHuʜtQzN)t/ғ `AKlսlmp3p )}"3maDR.1x4ROnƧs%sgT1:j$$H>]Lg2هsWGɚ. q.|/ MJH;w ; lQ0(R{X]iZ 1i <qj׃hmVgA9ij'K)["@'pF)Gw LZm/\hFCVD  &`4b[$ڮz=x!>DljA,u>o(+3kgz7 Qڧ{X-; u8m<\3!;3V[6~`H/#,;ʎ:xa2 Wom)^gl(+IprE6jc[)4!X;)%osdzZ0cl<(_itJy}=>; Y~R~.</a-~o0+TØ{qdžsK2r̐y<`(MjNRSkBC+(j@䀮IpU3)v/֊0WҍH$KM>߫m *6`Ţ߾wpJ$aaw;7놘Z6dYPQ93mGk&1Vqyz>>sU4fR{(ΔRaFv̂2UۇYQGS` P={IO -;[ڢTkqyU4 vq{d+~1PW*(o J$IIKA*F` @5"m}@%L !L;Uv|%8PZ fIfz֯C`&CVS,:W;@ Vc:Msb{U/_G]_0#i}:"rUG'BinX^bDb*tܗުG} Gfѫ ˜Mo{\tJ]K~پHfZ[~,8۫L{/H)m86*ZNֱ^οrb3%z|n`LC;Ouy;{ qs?d, 7'Yh D#?"Qˠ$P'a?k97sK[,oIqg6IgYOb@#5gh֙8>k)OQ"30Q񚑍- b{+s:qTNS%~/TgJvnl.5Ut5}*ZouekіQ' pN{o v<:nf ZAůҺ($Ww7}RtD-D'Zls̔k4nX~Y3]F1EJ3/{(-;viZCnqx EckK7?UTmOWi{gcm[q OGs`C0֑.՝U0jaB?`͊jkΛ-r5M1Qof5:PTIU3f,L9q|VtHi<;MjƱ' gw\Ônҹ`A2-_+ތXT hٔ(pwn25;!ؐh,h{‰1{R|?e ; z0U!KLFYA((Bx:vc*Y<*;)zS " q1d$. u'nە~}Lu6Q> DXP)Y-mHy3S mQԯ"M"Sʀb`{S]h5#vWKBDMaMIX_}ұ 8"fQ0M(S H/ x9g/j<\\UZ_E%vdRǗ& ْ ~xY>H yٷ|uH  } 0CJS= LdysfDz$wkWLXn._~#׆J1/eWA>^;$-| B1Sh.=B:uf ^*Iz\݇G/ QNa7T%}gJW-Љ˷aP?gpcW\ڴj$],uDst+ 5Γ۱MuYgŽ p92;; bsO{?y5^oܵ1S;h6[ԍ~@h.Ah6ELƒMW!*R)[< 3mSgtq?';A~#S[t7N0 2G}q6v}T7\u-j,m :hCGo[,ƽRm`%ջFtn~ɐ갫v3H<3LjJyc ZZPOI҅ ř:O-0P_9$#oJƽcMGwTrIf o;*DdfϪgw ^:_i :g]igɶ~6gҒYw!'+#LچIST\T*(y03]%H_'eƝ_CBc$!.۪ͅ¼{ԳufR!ݢghH~n,* ~tKg#YĂdfTA\"nʊl5Z8IcPc8s=Ξ6U?''ҚVޭn;e}F!;"[kCu""85{HPY+8锷WCWH (X W2;+y<I='9`Ɉ%j+nF|)wB T0ϐN<4+0yu臘ӕF҇wS.EezV;~H|1%f(`C-g&`nlfuVeGئ+`mCniު܍`yRP_q<_9qIv4K~VSeAkHr-rS#>#f˦X1ь7n=S evQ;{ү{v:>B #_ֵ%H5*P$ S - BUc݊xj(dFeN +_yf<7Bj_ux̊ʛodPo D)Y]{k(nq8fz'kIj@e=8P]fscʙݫML7(Jk:s$^إtմ\%?n$hڌ vEbLP`p\S^9>cӼFLjU}VTH= ͝LQN3$kGF*GB=i<}|L?dtGzA]77i(L`]7DUr.H]qAw_)*%uwUQƐ^VЖY_v%| ,^qN=8S4jj88'T,Uc' 9NW>5}/CG{ "3UU5/hΉyک{鈾?i/0AM6N Mp 1NLay'YM pDĉpPa^t)^ Wß_7W/)*. 4$EKp;MLwuw(/hg*cc\ >pS1M񾙧tu}6>%M8P ߿"6!:Zgo5?c" A;lԭ1 *m)rL| *m L6<'yG<:-W?:}70Y]qb=JNYiVdZ0DxLHw73RG1OC>gb=MTjѮ#Ȼ.J*. c)k?-A3'׺+njX? 텣x̺n, ˧y^!4g7< 'z@-j.% ,L(R@.ӽ :/j/9ŢMWp-kF)herDG\~ 8$A户bfHIp!CR,ZČF :3?m88NېqbN@CeBv2{׍r3q|u|HmNxGHS~R~vkBJ*FkjqQ53ieD2ytPآy]şڲ-5F PRTi L#u2P%ϓ3@jM"JChWp`ӛӒ fX.L>;N}?2&Ҭi¨ h +"s9%/0\حwnV\D(awU׫FzZg7Q4}u ub_ :}nJgϲR9 2lRH&e2)d\ݩ8ײCl7v Y+$cX0=Ѫ=&\u婏H)R1,hд[tkٔ (Lb%Ó\¶{A<8I [Ol?`b|7up4S٨uŐ$T`(YVRelU&&2i:#Uܰ4 z=[]o It:+%رdmsAJox9˼ .0Z&3pLf~.%05 JoZ 4czgq3kՇ=u0TLwUy?sوț  Cm4k4I{6(šd;@u+=s4~cJXʿW6Ƅ+9 ZtEFvS4\<={%FgQ;Z3^pHA, ^| ^{2JG5mv2 ULmP JET/weHƾGs:SA&p 㘓J>eu m<@U(7“#ڣ=e7 d^n ts܆ˏ_SFܨʜH\v~;#yoM4 ~E .# aխ 8 FN7yR kz L /oI{,Ĥ[8@b<`7XRʋ7k:oߏ kLdž. ;91+0pM6. k0>"]ĽR?qkFaۜw64>KU#D/&1iIMh6Z}M2"}k%#|O|w .N<9Q`q$EJ&`xc:ʕ/Ӝə9Wza#e 6gs C X%E)f=@`_V^q B /4ULq\`{v#--pB6hVFu-1|jLe =Ur2ӀL+d|OҖ;t=@4r4'Oe߄{&O+$"PU0ͺgO9 ZK 1Ǟd}Ǯ8w8a\ȻVTK˴9N% `,g`9$< pUA{N:#dVݢM qΙ>Ŷ_e;j4|ͅW/@exQ»FZ ׷;im+!SRe ™o5e!e_aOg~Y!GL!aCETR*vF="ϝ0D"@>4 {"K"/ؾNЙCSAXոo4( GMyLŠb MtY.F&P3 CD[mc ͌x'V]afnbd 4pSmoSBHPf8Ʈ2M;H/Ê~|SF;1Z^9m >Y@JRkc1 H4 W!`F7:Z˦L`\1,5kX -JG7` хY22&ڭ]5+4UWVg֟2$%.b(2a wA[7wjp?m^E" ,SuYL:~ȰkNt'@p7tJ$( R:W Nvd 9+!|s\5~h*K?gQb-JSDQ@ruKG$b-k Dng@m~AǸ_Kg/uhSe-,oYYPuhH(Sju D6@S>v ~ mkhzX!b|b%GDF ų9sFՖV.utmղJ5qB 5ZJ%{ c,-5?J uCWu>݄J9֢N~ ͞ǵv| LQXjQyiq=t+(E 7(vY^&_ocfd6*q6@ :ͦEF 'PBok8Ҙ 8OrB/BApuUCz:#$h ZL]X5o&ksh1e_A@M8%OScDCe 8)_xd\o1 \ʭf{] )5X@lrtmr#È~1F?cc{@ 42 Fɣ5n-h1RdѵrEkytEFX-jzC!pAx@s!~w[_mǹ,1sN ɇ37nƑ'\)&x\1I@, 8Tv{)G&`.fNV0UKG(Rq&s Yŷ,~|@zZ1E\򬾿X>-5tB 珻JݬB . _gvV ޜȰåԧ HϘo}Qˬ3s><\5u+wz=[qǎLz !Q 4U/W}S Y n 3 [fݘBCΆYfFq]֊BҠ/2=^ӘqŌ>x,0̉K^88J M8\Ӕө٥~--G)lV`[4TE@ɆTIoG0,1:490xpc7|yO#fAFIC*bៜ݄G{'ˉ +b`v12p2\!iSBjbHhhҕ6RWc=ćʯ;TYd1תPA׍j|s X&c|Db2Gp/y0/;h&ci& wއ|?zilwZɡę Np$ҬIErk7^s*W1 tč!t/Ӿyt=4]`h3B ifY_k,۰_E&B{+1P? eB/": RP;q,q/i'cg˦1$ Ol`-!S]TS41oAvl +"qe*Q, W Fji*a"8Mqd>(&Ff{S-r Sq byI mmkym$&s>WTW$,'YG 3}\KcP/j20կXaPnצl"ѝNxg١-nؘ]bESI(@VA|I@\k S[cZK2\gbt#h8UBv'\D<Ɯq>:Ɂvf3? MRNr>]ofh7f*zPL:\,ouP*H; s$t^d:P8@V3Ʋ^%?(' (@2@]k?!뺏Q62puAJ󩇊SukgbSlREd\x6:a46e]%:L#cN ܭH֯2߈o]Ogu%ëMmqU!6]^ZڕےzfReIfEM &;-:ɕת B7Ae;[RDg/FM5îK;$y)`;.yzXO4\>/w(6 R!ӦK!4H^r ~9r[ˇ{rS>π-_8U/+%>{_O`_\ʙ;7^KyYv RDq>!=:#M"R[w琅 l޺+`Eۮ98(* C_g؟@#s % Z.JV=6W-0͙u3l\qӵe02汘hͷly^ց¿?jF%_m Y#1,|NT6}I"I?wdo#,u)sר7Zj_} s5f +Be=&&bu8p3]͍Рp)-T[ {ÆgpaG'O*Z$c/w&aߖ*#}=E)ߎ'g}V<l<@.m-i/! Ux *uUb:}U H݀;Mæg$B+#K&h+m*2~IJnh}A?eyKditr2Ŵ״SxVjrDž_䣶>\`}%"">!os ›ּ7CݟGfNi fk,/Y|S (qSgVPOkm WQn+cb?z !{޿ 6®~c:(]LVPծz ҧ-aZ~ޞ0e@daץ";ND3sb -uϭ!M,OM6ĬsG^'syzfeΆԤ{C.< 83@?\U #eNyRžFs:_fs?_Zl*C6[_#5ث_/А)3D=C8g}K)i/PּygK69h[*;紤A]$~gL Jo4\:TxC[ޠ/Ų/NDF {p!:l +*#Ӥ{Յ2^-\؝?C[s HWr^w, ܙ&1s3dlyM=g+¦򹩪V3;z!V(v\Ӽi&O[ Fx֚* xc͝ZfT4DtөDNdz&װ>`ĉ*.`A6gֽEW5{ 6YcĘOزW(TMPxֵ6tM_1JZg 7C.E$?>̆I _ya :컣u&<# (M ԟYکO.ǰD0rNn NoѢ9]?B }Pp4<2k+^7e%M`'qiUۦ@t1w. Lw?}c+vvd ³[&sZ+a"I8.շ=pl5}YX2(6(h;^5YT5iqkFϷ󯻁 .;Rfga?z/BN}9 |&,30X 'E7>ԊM~ W^ A "ϾL iD[rјfߝ妙l1kGyTyw{pqW0l`+y xJqjb}4PFv6t\r~dnr,cGِ^r󵾉gf!ߦ倩^rȱgb6r8 aĕu=D_Jzo W?B(Ň 1b٦fOYؒ<;FI҇˸P&c§O ~ ygqʖ\L,xfԽ쌬WNwM+AܷR}>ɤӡg]S*?a@ <'OSHlEt\OP1L Hs.v#=Xj> ^W8_5?.S[{E^WQٯ΋>̂J'Mgީ&vƾ{ n^n! OՉZ\jD\)x*L s 'ՅnWa J_cK5Դ dU :AGun )½:瀩c>WO풣pB1 ާCPBYH҃cb5G0ϐo>W;չe-$9EhiHo7q JႈpѢ:486k9 'l/( ]blf̀**ewB?i5(Q%?{r{+5;}vx%:_~&v$~ 6P䮉.[ s> EƧP=A 8oƙ) YE;I,aZ{?o5wm4vY_i&*Lm * 1[V._4kI1,t`2rZAf I %1i0jTe+\|+ S]v)wWՈ7,6萶_1(ˍ_n+$ ݋m]~ε%?夡#P&8mZWWe^-*XM0c OQ,̉Z$LEE6Įd_4|ʿ)}~:bMMku =pC*F8<.sRj8~#bh)XK;KBXP{ҋqWdoL~˙G(pO "]Qn9!dR"O]\(p  !J{$v82hۻ 7tOOV:ϯ/mV{/>="!h;t?qYeÇ!W$?u$: +}v-ٮ&Xy~iGEul>$}a*qSX1A>q8a>MBuH^K*:0X]H{=EF$ԴF18L>c4"a{{Fa+ *O2:;N:CF?t zoe&R@FIEGmaHM*\H+!0"؍V E@S)7}em݈wq$1=PZJ崮s:qFZ4KY>74{-N|/1ۇcƨ!Cs+aJPwpcwײs`4UHQBF:,}*?0~ s+ XpsFc+>]5+@9'tiEW㽿5(D"Wa 9qن*?:r%;NF{@}+xV;ٖݤ첺J:;Bna=*Trwh9 Z˘K2)<[J֍+eDկw^)noT4#H}$[:h4;WW3e铱O4!Π*̊݋{ߕܨx=}!~tZ-Y8-걅{F$-dH&h-p!ݽn#d$-^Nho$dy >0ߎߡG%"qk}M#N;: !Ҏ}7# I# %9m Hy0@Ȅ?ǰ<@U2ICQ _q7 OQh_vwv^w&>w/$m'vOUh[&(lI۬I,@$zȗGhǀ ooy?6Wf4е.w/ ? 2vW_iDچ:I{E~z@Ҧ FY̷։#Bq)üӿL$Mr{8A(fNw)Ӂr&e䴖q]|7ƫnKAW:I`jDFV^Tӏda2{~Dz;Oխp Zm}rVy fLw:`{eϠ_'ˆ1-HZ#t&Uk1\Ȉt07PoFIXޛ3Iw.+_g~'US`<"ayC]M`xG=^q[5bt5-m\$ uM)sgvGuZS*T/.WA{]Rr / Vָkl%a<29ؽ"nFN#aʪ 0p|3#EK!,e1 m/ϔϰЙ ܮ&.-ᲑuC16]nҨSDeTZ諾ǻQi ǣM*d k%ngTdtr+c tEdY0Xdׯ3FҔ0D[Zˠ=<+9!.Gb`Qiڪ-c !rt%|.%'(1 1b,v(Zt#}Y 7> 8\vڞyҦ;JBd9T|c-piF*q֞e \7"99o\"tH'Wf!a>nLawJ|z\0~{AO8r2n9`r'iyMY">gA*MׁgnP/Қ+$c{VS [IIX~u4@;j+D?`%sca{A4zAJjZwjso*\ޫm#UmEWna^r\⦧r ##f97=n-_*=~>ZЖQ7O0l`E]Y ڝw&~+ EnTŸ(bIuhS7"k@p(bew|= 靠H "q!jv@i`"Nc}#M<-Sp 2ڛ\bKycd[2/+7 Vg .FtW?eyߧwlw=1D3TFTy |}V؀'MDz]Q}iEfF#`N$fQ/+͈&|auLy]"(5lך =vw(wC~Tvd(ŭ!}E ~~n;?g'UbZ]լ4_I fΛǘ,v:gvJ/a( =pg: L,v Td"ߍീ[6f.وe*gd]5vg-XrM<".QC3 If31%^֘]B **y< [!7K,֖}[fu~ ޶Ր -yOU]r71\BLUZr_qGeA-0O]&[V,lox{Wj8nai&|GR?ݩT?De(ɂa<5qnQ  &KG(BE>q&y&qhDEx|PQN."{u7i4#Uq#$ ;6V794RBiXbǭE)Aoa G"arA{Q bb2z wֹ@_A}O◞)@:֓?-.5]&aH-\|Ptģ֋ndmr_[-tdj,lh?C?\c. u.,$ |ij叧mˎg'ۋ?M\mERؼxnKZ !g1lBeP>Qӣj0ƢWy%gJ=Ĩ;xEÔ3SP">'sb BΞ(P cz7"F 'b` 6`gKRoFkIyYثuAߣX1L{%uȥNs p{.x\3R( ($km $aPÝ1WB D,e9AQa{4.ʯk7.WA˃9Rr5DL.N먹TL<_߯mըVFPc% 9!t<Rв"/,Ip!!!DΎ1R΋oBbLb0a{?6 CKf内M!2pE%QLJ=0Xct#HM841WnI2O+|Gy65k% jFiE6T6o;|fee=93ׂ7̉zkQj9:F HlL+_5 3Y:^]vjrmi56ߠPdF]ߍ 7C?vVf2wZA}HOva"6R0ڣ"Xg3a\YgV2rD~f&K Px}B.=sqW MH_hj*L:xuEY `a&&XRK)v+8i$ʐ{m*ҀtLyոs ?YNdJ9igѝFe=7Asunj%b9Ud23-now8͞;iĮt'l(U7,!:~3?,ňd5/ViF~W?%>UB4Rgwzhw_!J8(?Dԙ-x4<؊,2oQaɝp$VB߻RFܛ6|M@ީʀb^-怾Lusӷ/ֶ??:sc~|@m]-;琽۵Yw N/oHM9wa!ſ5sI\Apo/ס`5ƅ]Me9xq%Oݣx;,+@a<.u`G?oxj<E _Srp"Y0'>u!5 ,CX`0Qi9<4%, L۲ntXd-x op[dr"&`X{ i ӭsRqsWxoVX0gӛH!NDpH4\O<%@:8LFlqpa.<$K  ў=6:=56wV3  jc4JO%A*V$.Jh6će9Ƒ r V$Of#nPqĊ|m%~œq\%AGH([(x-Gmwt~^ 4ӴG^UX^9S:Q EpN/\sܖYTD+|)l\q[LD-wEN~nw"/5DQ ŚN  n!4ir-o%1f% A-WiZ;26$HZ4'_Yޜ-0Xqu1yam8d1ɸoLbd㔎,rVԵ:]*<6 dFfaMLyRL*E@<cԞw_1vQZA2od'@H%h/5׺0{z KG&].P\5bQ+E_@,UP?Tʾ~6L.]c %}2m*^O¿rt q#p᪈44%;ڒYdv3?҈ЧlqÌd* l%Wag3I ehG@%LjpDHB%HzZ]7WMysqd (D۔;Mؔr 6fMl1bucĢe:S^ Q}c5C#5C?BdkRq?LX.Υ;s&u?~BI$)t42pi{U \Ce.V8>0Ui}+"*7 3|S$_]Ox1ͤ`-yOt'™f[ݡ]+CQH5zhvBE`3hQs(8D]- A T0W@8}Xd)Jvo̍M[+.H:p]T| ^KPh*׈0j<@D<o^@̳>^3)ȔՔ=#;Tم`2oT.]R!K5݅@+^MJ.*~6^s?~Uӌݟt@(Z <Mﯗ! {(sk C",lZYpk(o0} AUMN@ \= SXdn0V7|6C\b k͘J]O;{G17ʚ P^ەM"8ݲ\.,t%z4vBdݳB|eaǶ8A>Z9hZ4CY@ghQK(eVWut{q=5_\0D D&Y5g!7 B;_e9m)G=Fh!æX0.x )2wdC; [?QʫyAR [ObL5A$:wR' $'kbx!C `iEJ?Ά ->3a>2Ac঩v,'\b[d{:0Ma%&Xc(˪`lg4׺580l ,GHs*46Tc::cLiUotz^I ` 4* )"' ͉ĂsJ7TkGA_/Z=],0.K~4)|r;]#wj}ؐ0`!.{UdEm|v®{T!P٘y ʢS];"7)><d 6 iW,}{s6+(a:9%FL\ϋܧ|_=F.̂(+wNQ"^$|:uc@"l@"9zժzpX(nshЪʿQdMmg- B-9XU2Q%aBIc[:5iqȔ{ޟWlM1,uƷAֵ6/?H=,MY 9䒀>#3m\hi}gSN~̿rn)ӒTSָּb. _.%Yj\LȵC](w@8Y?U &u:ĹEK9MƄ̆VKB&SFXs<&}Yߑ/Ny"M< ]: HpVe.9XX̡AE|tC/uЊa3 PpaGqë`HO%%eB2YX?W=A̒r wx:J!/VI\bPcR/c/n<}$+Őe&RQd?BF av D3xX"^> sA,>.޸uFdo3 u'FaV^ѽ,$JulZbD:VQl[Gg`OO&}ӫr: FuE ݇41yMI:ᓥ` nx oYa +zE*$;/>L#_,snRS/׼(u`)$E`~ mvR,P?ʖV Q *܄aR#S/ .(@xϯdlmM~v9B*j_ i3)5t ۞9(U>uaQ.]76WhP #ڬl+}WNQd %i<"s9JAH^׵B< QbazpLLrs4eci|s ()?pb nt&-|ʍx qEaZCߠO sR$oV8/W`yI+%3,J^ CIcNɎ%W k߫t4/!/pƄcNk)wrHz@ kBAڗp/$CIv3IAݮ;}]Tg^ f)0ދfZ˙,C4A5Wv r]c>=L| OِYpވxIz5:8lwMTS/5y  5a1AVnTb I9Ifst22y>,^LŜON$ }4`??jɰK"z:w vܿaJ|a9B_Ts l>O>x:-aW)DRX#—cm0(WX}B)\&(G<7M; ?Rty=U^q8/T/0G)S-GшXF#m)؅fW/Xξ,sg++#,)΢&, JS5M>[ljpQZS|Q7nul|y: 7.;"Ϲ&c=*6ŹWʠ Oy$@V=b֞5-aF))it1GNth_U[m&)l~]qqrPuu;N|Վ%mVo6a%L dگBgZl!K٬{;vIe+?R9?|L6ʍ}E).rMLh#nd|)_P*&{/Y2K"?ȎCO~yu'"L)Uм;DŽTg=tJNWXt?g =֠4$$-pBQ0/ ̆\ZK *zm)S}}V0AjGҦNJ^ φnČCX,:Ny(^7XՋd:Y顼ZRѦ])hF.x?IOCO2gL>7̓"p4_L,ȀIw{+R@jgH7M'>E 71D4~ze _vdZ@ x|CNG&sC: 7(^\xaq[ϷZE zrh#.}y9&Jܨ  &7}o\2ϼ1&Tq-rumEU#vi3 (ms,126Aa+4|Z =ݜ־fmؕ.Dph7nbX\2h_XEmeŸIg.?)Ѕ|sB61u&ZM^_IH/9)heߦxQ&3Lֆz◲Iz5:U~šu kEwUYd@,ڠE9߹ͫ/iOGu ̦՘{ їOZ0`qkhǟ6,T'ؤc`1+Kj슅YDL>"v*}- >+݆*Q]<;wx5YӉsލ v=ŭ1y#tspQ>E ǟ'~ͮo#L \* %WPVPPdǒ~*`ԇv6 xm9Vkxīʉ:%gw7A$a`PݪgGpksRO#A[{֍AڞA}Ek_Srj&# |fP-n({[e&Yt=M%o bZ[A冑1.Xݦ|ځuosĝ?nGJɘ[,U-ֆ_v#C17Ͽu}YKmeQ=I9BމjK,[USS7F=2/'CA^0ơJ!X94d ' "UjjmJl{*[-iaJv~zUz 56XaF_8i1 <Ƨ4 G' )CzGI#R֥O|O :{gc&T+)i,.K)fa1MЅ6L]E@!T=W3d7Z;iHZhQkD8u>^8 jng\D!%5L۸;e 7UnU.-Z֠IIksk91i=D˓ ( PyM,\?nx+$'F1=,]7e>ۨ:Qv21O(uAӑ̊լ)‚883?JXzґq- Y,eA],y)߶V4H:51< m٢qZhy|L tQ[.q||Dzl];0R̪-q2K Mw/v13!.[q8D>hk0#q$J3EiM&Xet]qXXX^H@R6-ᱪw[o4 4 /RRJ=hݒ,0 +. a` c>?2hvN:ZB)T])hNe'pLh%Ë}E3PwQ^*hA'J0$: ++RpL[w̅=uT t/#ߎ^嶄Q<ʴ4tΝ$nQ *Do Vٹ=uڗIuUIhqީTz5B~S?q<1#~7MQTA[!Z= TO"o2u8üߍe~zߙ+8G2 nނ#vqf<" OZ &B>~}Z=>W! ՞}+)/{Ezѽu:gCdS7T]3>PiAUPq|J;Pq-Goz%ݢ9') ; !@7 q~hۤ{@A6yYua@ԗ79mgG$ Bqf&#hcYΒ5Q֘Z5<1y+\9 |LD@M{"M f@ 6ؾt; 5 &3'SD!~YE͵pDW_/6ϫ!TDLpz꾓tIԷqdȈˆIAjQQA͵ؽ@fzXO~Ο Y{5C]_Pz3W ;ْ9vbbg 4c/05x~(}I:d3u2]Pw4a BBV؟tA9 X䌖$ɏ\n׌۟B%YlU[%4d@6 {ul‡ FPaEJ۫3L|u*gW='FV(jv^`0\f?CLR?=|LkFA;HT5)uZo}Քo wMS+bө .mWe&.i_XӵUa3Wgx\6hQ;@/񨪎&FEx)QZ.>O\c3K-˿qb}[8gD?gOg.V(6_^O ,S mQ5%njvv`ɍ ִQ8 ~UG`i8r g(6Gߘz.pLZ-)볩nNM @5]*mz <`>rW{ܹ"_e"ykeTh8mܫ"su = $_̊B~b8mӎdR&r -sλ\qࡏљ'."g~[dr7$m9b$R[I@,Y'FN+^/}+a.|+a tHnLԏm^TxK8h"7 !q Ӿj=DЍQ@xR>ӦOۦ+Ń`AzXy H=!'i(*c-TčdzFKVWxviq.FR5V56<Rf0xlN,d?%V4۴Ѳ@54_2{"ZuqE)͉cU)+QjpbQ AnfB7͚$m€P=%-6qx0Tbr% JG;pO{+ԓ]l!x51=&dp*Ex1U:VA'Gyawdu:ō]>ȇ0ZX!EFF DU*5*xOsca~+t"dد.OwϤ ) vW4{e9˟6W?x<  )HV>]+%1%T{dIVcp"TaMR3?Kp"cC7U8:ځz]@}|o 潴}l^JCA>*J U7ci8:8vCLD.* L1h/ aA튄m'#I $\7pՏ>&o'ǩm#gJR4b}t= u¾RBNlF3t\(q{$&"X '(@8-Wl볛. )lf`U"dP~%4) $B;u2̦N1(/m"5^oUڂi7[f̅s|פ4-rOLS^CrO|Xw'W1\(qEsOY%L6{8l7Z&0jq*fsw0VGw@ C]+~]L!>~$Ɵ 4r[tv" ?+:~od'_9Чf㰺 D/Y `_W˲|@Kp ~/|Ć8e]Daí( *Ge!`vrJw頶=Q *1laLt6>ʷ`dvȥy/13/k[>48o+gDaRWﻌ0i'v9 pS$[bνV򣟡}AjmQđ LyƗc#R/س׈t8%)ܛ \£5Pl /v*SD۬r0-Zf!G ˻Tkgv5T9&ئ^B, ttQ [ď_>)` + m`eM_cd=Y S.Xq͵Rcf S$4WGp0% h#a8s,zkd^=΋qb#ąPT)%H'`ag/.8I74J.{ݺ4C}| l)Z~Ojv6tV.ьPU.WL`$`}Ў.0L䇲3+Pw:agL6#ϓh AEÃ@ ZC<pmW`0냐}hk$)i:|SP0Cs& V$˅ ܤ/2u kδɰt6&OΎ igIH( qçW"Μ3ͤj ޗ%ʸ?ke(2k>K!.)4f &OOi=+hQZQx0JU녆mv%kw2U~Ê9)L7n-h6J4CiLznU%G.40) i^]~FeN߾vdJϵËm]3> IqxR6#6ޏ_prz&F -% vw_?U_I*w= SՂbGǗ"(&sH   Qm N*mB,"nz(-ƂBc[unPL_@oHb(=&9QV3_ 80@;eIS" ]Zoşl"{g6-=7j{XOCXI >:1vI9̂ mvct2u+-&X,&&*Qx,'ZFryc%hr}STl\.n}\ѱ22Mq9} >->Jd895Hxle\4,sͧ[}07ӽ(î2Fؽ ͸" HY> ŏgAFڽԟ0B5ڠuݹ'i4J6_[+?$qNBxאj#L(z}Ӭgr05McqW6HNS 0* flboݣg; aiqMފ:N62 "%) FrSwW4K2ֆ[k抯 t-K 1t ?p, y?tȐoCSBpȯN@!gj ~ ӝYNGϳ9@F{}ߢ1!E/ %\&yl\YȇmAQ`' i5Bw3+/NygHn'X97@vft߾\]qgPLK5Q+A[@$( >L)vgt>t%.0u;y*Ue Y)sA bH!YZɧv(ݴSozqt="Bs䦴IKӬթnM@YAةĢQy$jƳʗ९H#ÌK7i;DbJ쬃,$+aAX0ʵ5[Z(FrL|:'̮Y\K3fA=mmIE\g >mSvJE6~Ťmg7k>{&Ѝ3 ;̛DlukV , g+}8#ޱ`ȑJ#w ywi '?|Ei|D]qq|wֿ{㈒2\GleRĞEU uXN4c2$4VUlr_Wsv o5ޑ"cGN\9]'V]ۙ$ÁSfmzHҫ 6EǭZl*$)>y w_ Eh{=W&?|K uRcZ]p;ՈNPu;[\఺]l¿}(: J"$q^ rcF7|*nŒZq Px"9JXh,ۚonc-bSߛ!|s]P8yN*}h~lIPJ.8Rty~ _:ls xu?Ui"s褍HL-NS8kttY#-n2::T|(*{n5갫Sa蛔0y^FV!Թ+pX`wL)X.sVX7ƒZv+^~: wخO|F57;;b/=+JlX\ ̇{]nξ07yr P̪ թF1P̔|!yŋ>zU f+`jjTƗV z߾!  v nw: Xڢ[OI;nt _X􅐬i*J3zvgoAQ'ؑ-:äz[uǩ#oR[[G綉 ُ?x族Ap3ð{ b,ēx9krHc_סxD́>Zd`,y/T!)= nl^mN[x)2_.Zrev8Z\r Xhur5Im5UjcUoobJ"gi<,uSJr+TZSaILPoR_9jGpӶ+@ý1SBQA׽8|+c] ;)VS* ʊ VZtLGzs%yP/U;P{~a8$M,LV OXHw}q&N<0"5] ψ[Fu˅HF C F )?U䔹1*uPݞa->,2"22ј&<Q-=-M5+n#D6$-cƙon#,SmVf̲H֌uĬc&3o,lQ5IM=rj].n) JoR, /EclGtJC@BE@;h|¸#ȿM=ypv ~gERD{4/þ7)޻Xy~r}l86_ɫR +嬎n8[+Ve7鎇>!uS:W,"*k{j~ۑ-#^16=InIB$GbwRq=}ņ'$־ tSdK<7#*m/a玢{>q6=C8ߣSzh߾/<*f ),ޖ>gRYUX@F9,]\eא˩pn]?3pU͞7pg=': 뗜GZ8ᔄT_oֳybΏP9;Җ2#3;qGUax^( iE$s%Cb>Ҽ}e0>h!k!MJ p H*?'fx`vG߷Gj͸/MjSmK;P vGgbk լ+[fZ]p22!p" [. r88gH̀h.2=]lˣ?_of\gmev8/>xeEb#;ϐM$U+5^)􊪩r) Q4uvڧq,R> pu.Z? [% a%[ń_Sč5ˉ  YZ