ansible-test-2.9.21-bp153.2.3.1<>,b[!M@eee*-@w ۠; g VlM6|ÐznnNHa'FbЗHu} YHۛ+E#Ʈ(nvts=AlvlϘY$t 1WC慁7N5 J舮@0(iOo#ٞ訽\Bדut/ . rZo kR.>~w*xPeKXr80"# wmHt |]ݜ i>JC>>t?dd " R-6G `}    < h  jpHx $4 X  (-84_9_:_F]zG]HcIiXkYk\k]q^<bncdefluv wTxyz`Cansible-test2.9.21bp153.2.3.1Tool for testing ansible plugin and module codeThis package installs the ansible-test command for testing modules and plugins developed for ansible. Ansible is a radically simple model-driven configuration management, multi-node deployment, and remote task execution system. Ansible works over SSH and does not require any software or daemons to be installed on remote nodes. Extension modules can be written in any language and are transferred to managed machines automatically.b[lamb05USUSE Linux Enterprise 15openSUSEGPL-3.0-or-laterhttp://bugs.opensuse.orgDevelopment/Languages/Pythonhttps://ansible.com/linuxnoarchB1>`-# 1V ? 0?"D  Jh@SoAg!Q2V~ 86 NA<VJj3J:oJovoXozo`Xco;o]?`ebVd_2F*P`{  5 u g 1 -w|O2 1,c $<=y]$(~kP MJT)=)G 9'  q'L ,&' K9ysYF'td_ "AW '':04f "hn\  Y  z&W t01O>R!j~ 9 cT\0{1&]6..%&( F)  W$Ub ccr ~-t 0"j 5 W  73` # 4 \X9J4 Je44e&A큤A큤AA큤AA큤A큤AA큤큤A큤A큤AA큤A큤큤AAA큤큤큤큤큤큤큤큤큤큤큤큤큤큤큤큤큤큤큤큤AA큤AA큤AA큤A큤A큤AA큤AA큤A큤A큤AA큤A큤A큤큤AA큤A큤A큤큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤b4b`7@bbbbbbbb%bbb`7@bb%b%b%b%b%bbbbbbbbbbbbbbbbb`7@b%b%b%bb%b%bb%bbbb`7@`7@bb%b%b%b%b%b%b%b%b%b%b%b%b%b%b%b%b%bbbbbbbbbbbbbbbbbbbbbbbb%`7@b%`7@b%`7@b%`7@b%`7@b%`7@b%`7@b%`7@b%`7@b%`7@b%`7@b%`7@b%`7@b%`7@b%`7@b%`7@b%`7@b%`7@b%`7@b%`7@bbb`7@bbb`7@bbb`7@bb%bb%b%bbb%b%b%b%bbbbb`7@`7@`7@bb%bb%bbb`7@bb`7@bbbbbb`7@`7@b%`7@`7@bbbbb%b%b%`7@bb%b%b%b%b%`7@`7@`7@b`7@bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb`7@`7@b`7@bbbbb`7@`7@`7@`7@`7@b`7@bbbbbbbbbbbbbbbbbb`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@b`7@bb`7@`7@`7@`7@`7@b`7@bbb`7@bbbb`7@`7@b`7@bbbbb`7@`7@`7@b`7@bbbbbbbbbbbbbbbb`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@`7@b`7@bb`7@`7@`7@bb$b$b$b$b$b$b$b$b$b$b$b$b$b$1eeffa9ef01984e5ed202e82aeb18f5ed0752ed6f6f912777109b41469b8bb00e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855862efe09ed84328b629b73a88c141c8a677e327a35cbf6291b589cfbeb16ef950c1403d17d484de5e1c93945aa179c3e0f7aeb2622280c2bdab73fe826efef65cab3d8de776ad429c4630d2f047a073e333ee6dcacef2c0a376fafbae370ea6fc2a80968b21d9ebd2aa6b0b67afd1359782a867bfec61d8d76b6ddfad0432bb1e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855c7f2ae177620e199c082de3587b447b94e4854bf27ebb485a7a6b6aa13fb343a2b1e5cca1ff3aaca3f2f92f0e0ce4cf9ff18509c4334e30b1dcac6bbbec018b22f4b71bce4e2a6236c32fdd8acaf22e768b819b0a094505cad68baa1698477b4066463bdd290ccd4dd8edbc81558db4a2d1799742a7ab868bfab7fc22b8687ca3775e1c4c0f0d6a2d49f2a1ff0db12ee45a78e6bf79a167fe319ea346be6b61dd1b68ecc17a9f6391e83d36eddf2d3e40bc43b966af967d7c9774f91d2710191e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855bc6bf9b0213b865699cebc3965ac796ef97a8a159226cca57186777a1124ac5df1a1e4731b4b1d9c4f0ffa50fe7f721d90bd1b0d010460ba1c56feffd583134c3fae17783b3dfb5feffc44eddb7bf35aa8dee90f2808b8d5950b5a67ba9a4dd8319f85e2e1a1cac361770bee79611235a213e2c3025decf2943e2780ec4529bf228ff585100c69f98f3d35daaecd7141ec42c524b14e2f57a2a0edd27b528e6f510435375d72481c4e2f05530999231d494c505682a71a81fdd6422f9045b4c4f5ebab10c43ab8f17fdf60d422214245abf834e444b32e0d2c23063637419922cc0bb39924952377e444d2aa39ced08038f5c702fd77d2e4fae95f8a1b712480aebb6053a9f1e038d848db1358be6db5c850368269c1099c3ac22c085b80a9c20c56cb0c97b16cde1ff60ad2615a48d1b9bce3c4c1aab0993dd6fb75a88fb02185f4b225420f5deac041d9dec7ca3ecb55c70272390a43c138fd6c956be79569519c6d0ebccd201039d0986acf0bdc18ef3dd1964f3f3524ea52f87b0b5d7de536be7661b54fec1c08e2eea6659a6d64860601f9aacf3cad75b0bdf254ebe4ab57d6f62d32d9d6c5db7db7fa5ed9e2a5f90033a80ea58a436f05611c14c59460a5291ba27a79d5178c4bc797b864d9106f2afcf64bc3e775aca5dece77253002063872888beeb1be4e264a825e3467713177b28285fa60ce6f2fa1c645b0c2fd30108460e426b660e8c18c79b5c38a0573a5fb181ee46617c941f4ef3dca1c8ac92eadfb75c1c1265bc6e13c9bb7979d2b1af35f275ccd32e882fabe34d5be1e143636fbae5fd14dac9c20f71536c122b42e3b4b855a7f217fef6fa0a5bf629f86e756d004efcd12fa9ccb177047fc46f607ead7f6c6372a0b9f1fb668e6db2955fb25c4faa774de799493c0f9ca57dae363e19d91e1358131ec9a0cc326f1e946ce5ce699dcbfb34045afac0c6ecb732fd007c1ee69f3a5ebd84aaeba7ac711769daf10b2de4a874f616593071b5d21d35be683cac1a49e44f877158330ef2b833a2e00d4907ef9a3c5c4587222ed46f6fe8d73c8d0099b3d642567a4afa768693e1eeafb68db734e05a81119e43799759a4b08339b23de160375c8e3afd7b4e8ad4ce46997c2f1d83ff3826fcf4586720eae19b2384c4c6f1c75519c2024c5be21d8e70d542f2ff85e93cef8096960d06dbe76360b86389089493901ee0fc7ac9ff02f51f5d17db9bd44a524bab9dfb5c51447bbb1177d957692401fbcf2aae4a32399ccd15163bbd40ca4b289409da8748c4a1aa2c095dd99b5ecde10b16d878e3b96b131dbadc23c702489d8b3718ab20b113bbe624e69441aa6d43e700903ae10d508d6030c1c155ee48b81c077b91115558fae5e4095352988a5b4206bc1db54f089e7dca1bbbcc0a1b9bcadf153247cf0e48009c98ea308e8ccc117ad1f37dd622d3486cdc0e50759313f12f2a45f1a387108fe3aa6f8e1d3911e714473982fcb88120819abbd802cd91710ab3a8e7cb0f1c70c60aabfa52c1533661f4ce05002d6c6374cde26800a8745cefb86b4aef124cde65af290903117077efbb1ad96658e1865f7355ff33b3c73308907ee658fd045b59d4ed41d124140dbd5cce63a17401121c1920533a0269233f4d68022ef6abf5b620abfcd94c4148201eb277fbb40e4bf4f8b94078a78c69945d3c168c5d6a0d5b48101fc163cf3a3d15f881d883e029feed44524c9574c0a8f4e183e478a7e632d2c00d5338bdb8575a180b5bbd7579172095edaca219473db9f7adb0d2775d100bd6a25cd290872184a11fcd3f632a158621bdc859df238c368640e7e4414e920478a4b06e7d84a9c492ee35982bc2fef373ee48f95b152b5e7d6434643a3cd566e932c25271b13c8f3a55fe94ecdca1a506d4c5482a090a695b51b68134b30ed7ccf7b06e7016befd6516a62b45a19fa2469a110ce39a14c61924b584ceb703238ee8fe9b3460c3a00e927e7033d1a940d6307eb17e06a34fc4673beea58fc5db2495de31128bc895c2ac493ee854108890c37722ef5d9a60857322413413acb97e931d5c89f4b6afcb586285147ae04851fba2f7ef51585c34be93f3ca6b0e614f1d3f63bf9e9367429a41b0c97a9da1edcb454d37a0c257722c27151bd8f23b325454ee519a8cafc4f4863c1d97375f14f686fc8b7fa1911c6104325ccf67f505b4a8b74a7cb2375b61c5e159c7df08e0fb6549b35c16f94e02ff71c6ff90996580311f7187c84505aef775c5283c28dbdaa96c98d057134eece0ec176c69117752e9a18bb6629580f687cddc4ace593f290cedce682096439f2ad09ce605e8651090eb6a57ec77651a2bdec1125c7bd114cc00e6457d7452c0d00fd7fdc5d18946356c7e63ad5f3451f85cdf557f0f0c68c09b4c5a02d22444fc7e08a0506bd79edcedee60cb8c6f08ef845ab7cecce90537edf10ea3bd0e0837c3195082b0f4ccfb0f921ce48c756e23e3cc7eca4f4580d5b74118cd611d86356ad47469292c3c0172839ed8502d2d5587ea9270d4392914b63c55e6f4cf555f4aed946b349b6ffb195aa4da2c05bfde18a40418b71256a2ebea5ce43050577e86fdb220b19a46b9b78ec7794c6f08ef845ab7cecce90537edf10ea3bd0e0837c3195082b0f4ccfb0f921ce48bac15c03e9b05beef10c7bf3617dbe4f55079ffea80e249116175589327e8eb32ca8332bdd8c542f0b9b0239c5fbaef335fd10e3c180e954d0b6457443f5afbb2448c8cbec8476374ac85bb5ef40856ac1784019c657500755ac399516e060cf4ac099d542e5e873c605c3295de0931f9fa735553d8d1f9949e372e1fa2da4d6e91b3120fde23a94aefa7dafd092624fb9d22667ab5ae17d4e8eb6f510834e054ac099d542e5e873c605c3295de0931f9fa735553d8d1f9949e372e1fa2da4d698a564e278c2db229e411ada8f09617344cd68e8538afd9a1bce14bc3757c06f4ac099d542e5e873c605c3295de0931f9fa735553d8d1f9949e372e1fa2da4d6bf6b1109b5ced24ffe2323cdc6a2d59daaba404530aa4cbeeec646b92c2c21f14ac099d542e5e873c605c3295de0931f9fa735553d8d1f9949e372e1fa2da4d617a1669c146820a8da6fa04f7bfd9a7c557dd765075e8a554507b44d4aa883e14ac099d542e5e873c605c3295de0931f9fa735553d8d1f9949e372e1fa2da4d6dde4bc179170f71838a16abe1145227e2ef8360fe1982e387c8d0eb7ba3b95d92646a5817e7668a1942aa8ca1b93feebc174b5799432095d3eb34092730dd85922e417305600c81610631595a613631e40ed2c4bb7f7700c0f2df52cba6c5d392ca8332bdd8c542f0b9b0239c5fbaef335fd10e3c180e954d0b6457443f5afbbb40eca5119ba5384cba4a6c3e4f62e8ba9db3caf65efd2953810105a0b896aabf7eaa7cd6473ee21650de12c85a9f61e674aab91b5e6496123a57491f2c8b4a132d9e35440c47be5375330330b5b89c1ec1924f125240795f292d2a723468fde4ac099d542e5e873c605c3295de0931f9fa735553d8d1f9949e372e1fa2da4d661d9a91f46e5a2ad156a213debca405096669473e281f619bb507dd6a5baebd44ac099d542e5e873c605c3295de0931f9fa735553d8d1f9949e372e1fa2da4d6e8a93fd7bae6285e93081b738b2a8c6bc2adf913b110ecb44ec6041417b64cd7defb4dce8a30339de08b62998bda5e20a54853bf6e950637144d2361c48fefb3ed2841ab1b12d592e87b5d85d0bd5d20977b54385e488db3df60f3df5607a3522646a5817e7668a1942aa8ca1b93feebc174b5799432095d3eb34092730dd859b8591f85e5227f1263f42d9b2f797c3c108780309f6fd86e65cda71eb41471b2be52dc37c2e672e0d21700f778e4a6337332f74d0b983236044f2731f107e40c93b72ac35bc538c62cc61f1a87acbd8eff357ebc3cbf0eebd743a43890c64be9105cce6e92d269ae7ca07c746f64f2fb23ce2c7caec4e9b42146cbcbb1b7c19d5d09491740784774f7b6faa2de89b05f65b3040d8b0ff9646957686a9e123d3fe84eecb1f52dc021a0f08667e2e6cd5171c41750ba9550dc74406ebf57321fb35c9cc52a91c221a44f3c05d334dd2839ec20653bc1bbc81551a56a5ff8f7fce8b15939d11abd44a2f06a9495f9278997f48fbfafc09124fb616a732856bdb7f5f30e3059d0596a2fba7f26e5885ea4abc5efa469908ccc792170865c23f25850b2d67757b12726faf9d0c7268b277ffa442f0487c8c0c1cff3893d3fa34b3008703ff14fb3c3926f2840d278a005c948de7cecde9a900ea3a4f3021de1d547f1ec9efd67bca952cd00384632e1d89dba6689234cf9068ebd579bbc799d4cd817b622eeb5f7b35e886270ad47fe2bc242132deb714d752f97e7996dfba882857472a43c5afc6835824c06ef4241ff37f14c7f47d5bd4aa831a57933bc13ab46f9e4615c7452b7720655eb71e0ce7575a0a4172cca49c9a46f93eb062f6bfca0cd9c858b30eb035ef4bc342c1eb0f6a121a1e3819c5c308dca3631a5883b4eee61245242dac51dbfa2f2c0c9d2d07b5f9c6c62659f47986dfddc5c15b9967180e126bd99f0ecda5fc7f77d27a1caf7ca68e2f31a4a07d20d9c1675af0ca6db5c1982cf24d6484e73ebd0bf396b9162d367c1f0139918c36e88b1b4b3cf5014412f2786c72560bd50f3f977a15a5d0adc32c30db2df9d3c19988bacfdc3e5411d0d36a03a3c7aad624d00a8ccabf84b743bec6fb7c8bae09e1f00325cc3fff0b917f57d7b66f7fe8b7b1d113632fb7083fc20a886eaa303f6cb2931a9fb830f72f3ada2ec219ed18cda42c1065178c2ef2b42bc745b5b036495887488207cf1e502ace2d10a3f8bbd975dcc4a1f820c6c1b7d391685ff3a55d2998b18beca50206d35d2bc0d597f8e426d774535bd16164493d915766adc2c887961402353f94c78fa27726efa5978e1d57d1f2eb28c8235d34b0f95a968a41e3fd9a0ce06a732948ebfe3173e556097a2836a1ed4286ea8b56eecf34fd4cd7b615d572e460513d3e2dfcabc98d40dc2db2185f1dcb9a16ed6c1a2f9d183615183f0bbf61f24ea2b37c4e901ab24161aa0e4d16ef1c1aec2e1bc29ed80588babfa6c5371df8ffc65ca1970fcfe5d3a87ff285553de7e197a74aedcac9a2912d4c6cc33f8a88a575cac31082016fd6bc3e86b70f9538706d57cbb1ad0d486a2dc748b62252bc87583ef45802713d4c7e0d922371826fe143575c372b47fcb7c8f84a534c6c413691ec331463b6541c9d2508b3a776d1d0b809f9e252a96b9623ae7a0d8eeeb8ff452f7a3fcafaa3c3b023888d0e164d1f8e461bd8ed5ea5fc8980c602580842b16e2087eb74e246be9e9c4d5fb1ba44c6dbfb2806b44c7e6049e496928bcc04484d7e78e3d1c94a337c1f18639190c5c16d2e0d06dd913706cfe32efdbd2a87ce0a765332f0743d4b0e607c94622a2f50dcd920994b64a4f66cc0794a5f44bb1a6305b0d9ba85a06341be2bb6e210eda431eaf7e32335571eae69a054ca3d94cf6217f4a736046eb8aa9cc72fb0c562ee9fda71ec2c44fbc01612c687136f3f49f9712ca5ce760bbd2e4e25c85bcfd9700507fbf1a437b8817e5017057d3d205a251d7d213a9dfd45ba3d5828c57d02fcdeb9c76ce9e0be73439c56274634a78048ebcc5af7c1dd53afb9c0a34e6678fda707df0a026131cfc38e24c2beb3c5734fa459e5dc8c2fe44b62916c4955dd38c5fd02edae29adede074f600a1eaa4fec83a2ba83de22792ac6bae1f2e0dd54effa908e81933757d7871ce46c25dbd6a2e855ec2fb3093d82e90d51dc86fc2769839d4e77c43075ec6fb4afde9c695ff6054f14a1658ee32e39725d9d335808710784bbbf5e4b7ca4ff19320888ae8bfa4ccb6bb38057e7687eff06e0dda816b85f2be414d2a2b1bb5c744d4ba14a52e521e4ae97ff82952b4d9d5aaa3ca9fd89db288ed5ac04478d5a72977c83ae20be334facf9e8afc5c0f229c731626750af8974c9d37a133605567a431a7122bbfac10c10ebf4a2f959757d7e33b3bb300d310f8da16b0958268f8a0dfa78a8bd3df97416c1237df815c75f3eca54c11f877b4e9c507faef73b89272b9293dbc6105887e0c9e9d6d80c0d676c7b1b30087a970417fc7d249c40272145d3b6cd4c8040c535061aebce1e455fe68f694ba850ef29eda8ccd78b8855c9c43ec8f610a2348c0bb4a81e4f74465cee196604780377af12de141b3406c80b8a99bd05dc921a9294b265e236fefb11f3e427d66ca96f32efbb90feec2b514e458b73199d07ffbb630479626d2208d80510d5758449f9eef44532b203efd790540290f8c6ba76cad167b680b449fcaebcaa8cb866faf49b3a954a6b0025b123d01dba618534af269cbe6e3e83481c63e5b33716cf75bf9318401188ffa3c37acc4d69a0e4459a0fb1b9e7214688d6c2e52ea2f3f4e2d5ddc4794073150fd4716e881a2e81b159d005cd020d32f01087ac5bbb5c7ddd90a405313c4981d90786a928dcb662be006d969026010c1a3b4777a9eca2cfc15731ef087dee8ea175b793021240aa09afe91a5f4c7b743992367b2315caefd86028c1e549e548841ad8eb42471405c45f515e66d58e3b1676b25031a3f23629c29886fc72827a33b06326eed0cd0cd7e0ea5ad72f832c9fd1da359ca4e8b563139b6ba62f955eddd343ff0260fcecf1bfedfc1f65f98bbe474d58cf43491d3ed9e9db69fef88631c3309c28bb6ed5da10ce33ef2908795167a47ea4a6f7a698492a1b4c93fe13b66bad4657edf69ce2e29b36d8026cd6d5c4afa3712f40b8447f93d488d345d6e7b8afd25c276376f6e53cf5230079ad36cbef5c2ba48e6c8353bb9cc0f93fe4322db41a6ac9c41686d2ea9baf60d9e763d0cdf73a7a5288ace9643e7d1b2abaddf4148f28071a369c0432fa9d1b37ebd1e11d74692680cc51d134ea9c7272c07a58d1d6b99672ef7c4e4e5552fcf502eb869f608e147083cff910587f7c0d821503f26ef4dbffa2e66032783a2c7929fc29f86f43b7d083b5c48a24bb33cd932b6231afe513e2112f9d6dbf589ea5f8f83cca30e014469852eb3487189cdc5e44a7483b17853c2e61743a69c84a742c4c786ad2e19a801815c40ba5d4c6d38142593e3322496ae59f222fa954c6f5215f59e8a67abf8ac9a5f81e23365efcfc714da991cc9fc619211d1a46a676b81a5bd8fe206f96fcad2fecce048f34afd6ecac7a14bc81f6fd23cdda01ef8b0834d697cbc1c5426acb5ad35c0315831e671f9c3247aaf0918edcfef7de8643674c3fc86d33730a918bda0879abc5fa3cd50869e3c2f8a8882618059b0de066ce15901f05abc8439004ce70830b5bff97f63ecf02462972044e5898cf5a4467ab802c279a7905b307f996cfa0226f1c5b1e0143422dba073e4063567c50d57c1402de718b918310ae0e3c0c09b85240649efc0bafe854492b5ce83dd0d435a576375c3a44e0f609e69027c4ea0dd2cbf899d40ef0018183481032cb425bd36bf92f58afdcaee252a513c2e56d4e3929c83de1b9b3120a8f1a67cf8ab484d569b06a2dc0bc07ace8cf945b92b106347a2fb1efeacd3da647b0e90e31758570798baee43c1c9b9087e9d47a4985aef55bed30e2daed4e57340f6133d2d63fa3c1bfa6dc5a09e55ddbff2d4125ff2b44c80ed4092f968a6ee37274fba4a422f8763943c4fb2abad9554f97a6583419c6fb2a66c8fc7e5e57cd52efa1810f7ab9d2083a037739655ab8fda448ed7eb59498618ca76b9c2fe7b233474bf9173e9e15f8b0b3f37e171c9ff5f90a4438605e647001343f032336b424f17e5a202d08723312121dfebfae40aca556f091e77dd568cfb30d9195c623a2cc5e60e896c07fdf91f3c1620ea3e4a9c06ff5a4a51e1e2f445de81016182512aca7f780497632e7cd83b5e77f3754b8b356d97416e009ef492a6978f1aff4344003502dcec3ea7a2af1d420d4551cc1fc831b33dd4887b15f9d262f401cd490e1ab2e70ebab8fbea71be916323ea9a2c3d4ca6d66d31fccc932d9e8dcf283cf2ef06965b6462dba0f3bb793ef943ffc3158d948462641caea6abcc95e65c542f5e6c3daf02fb33fadb63adb34f7f7d516620db02402a75155e96d5ad4a125de7f867cd02abd8638ddf731011fc24a89b7646414de1fb3cee5a575f1d26e313f2aa01434a40611296b663e2367578ebf2836eba611225dbdf4ad4d6fe6ccc0ea85963338603fea9a9136d32adae20d49855c87ce0de35b6d0c81da8517ef3fac8bd2f21d78abc0d39761507ac80257cf0de94b6fc23a810b96ad42a88f18a904952d1fb3317d3c1ddf871236dfdf8e6c25f721aa75f301f00b8e213097147b1ce6f517594a2792379686b9b6c85a772e48c1fb28ffa07a7cc0408c327e2639106df2ed2160584d09445f56a215d94fa728df23b39de1b0a1057dae7dcb837fba6692ce7ac6cb342598139b6f21ec1222f9f2eb1929d799f3a566c13f42f4e800fb2bfd5b5f311eb2925bb22cdeb4887faf6a08c21043e053ff25a5415d44ac4a8b050f9cc40cc6d729c88b56ddb5ee7a33483442921310ebbfcbd94af07aa71d345ed0a21ef5613fd27355824304dbad4947c37e2f8888f55ddbf51394c755e1efc4d28c08c7321afeb093455b07912407eff027e38dc276abc987ac41dbb7150c221a9746362efbf70c2d5d932c31361d0f791d14a1911184566ae5dca6aa8f51a0b88c2be574e085ed6041a249b1f4e3fc68055e5d0e7a1d4840f75ada266d1b03b14d98c83f8cf1e0359b67242ab363a1c5f46fe018edd82dcee66d8d0aaf1d9f50247c7f99919cd3649491ccd2fbe27ee6ff36cda96840c8e7dedb72ed9ba8be10c2aa0aa8950a1f474a786965d9d81fb26d6a46ac67e9ce1bf5d21f16721176f8bc69f1faba0194081dc83c066f143c151a5183bfa098ed0b11b10170be5ae2ea86d514341c99cb1b4853545a4229586dddca1867f2433b20388dfb85084939e8a354818ed6616da534e04286aa749e7c7756b2c529be68f56914b27f4f42a46f352447c327767479d75c6363d21f65d7489dcfcff9dd4773cb652b4eaa9224d40fb280866afdfeee8e6ff7f52d9f33cb70e9e0cd148d183a02c450cb6dec439e56e659294ba5a36abf0be3abfb1165881ffbd63e73787a8036da43c6cd4464bc9822e8b1e0c5939a44c22b1426e1631a1a8093e255a7aea8ad49a1ae70b81e1bc38de0847aa4cde50c29543e993f8e8af1c56b3192abd11188f1cc8335e8fd5c70e8fcb1544e80d70a110432d03387f1d07f75ded1843ebc287a705ca72177f35db929e1c9c46c226371738f07bfebc77bd36e03e67c50f212f4a33d6f0333685589acb422ccdbbd34bbe59c1ffa5b84d6ccad6735027e585a24762c518b0da0bcec9459eca4e96969b80ce82acf67fbb3985b3bef2119a897d63a3f9a740ff4ffe8a8d81719529979424da9d7ddda7df0e62a2f8e55c3bed3a8b735e11291144b3ac998ea6fb491d7f92961ac3b6b6dc5948bf6e1d385a36c4ed44499edb195397aa27a4c79c884d50616b0309a6c790058d15c89a1f64868c3f615ff45eb0f82ff6be72763e69b351d0b276c31b17e9e8a7e586fce7283673111b92b4373c8b20a59cbdde243d973773ae60c390f31ace3802b950eb5dcb273d01f6ca67ae8b7798ddde9b64319914d6b440a9d2f3d20fddd079e348f30274a3efbc1f8f57623b9fe31ae5ac4783485de5545e87fa4424ac5096452b87808252958b93c443531e24a5f1df8043dabcdf5b8871ec0a3b782399d3c7ab12867a06e2567711e611f3db984720ab1138632ebe6be1daa954b03f5e03991280d72445f2f6fb281e5548b81ac26c39e5e593b83f3532060142421b7fb805eca235473d92fb6bdc9d4947c4380bb7f628690c3161417efe37b7832eb8ae1c521f65777b6f7f863da20ad7665f66c70ccc3ea59f05d039ee8bd1a1ff3108baf2ec27bce8c9504012d1275e451e8f2cfbb524d87cbd00a299f89479e235c7ff7ac3d2dfb2a8936559c17396c25eb733289e250b94a1531147ac21621ae0b5e25ed9231bf1d6c997dad30656c5466431c19b05241f7aaa6f486403d99997e559cb4c8e5e486ec34168c0b52306ee82f89771f27f35a67d43d6004ecc850a346d5fb01d29efb9340c4f4bcdb05ef2a4ca436613415ace32adf305b6d33e2c2a4b4689eab8d78466f571c0f178d83cfe3cc29be27b1e9f92dd09fc079a115c2fe0feb7b2a7fcee13732c57949e0d7eff5f6ff72a6a1607a4b9c9034617c05639015ff6f3fbd2fa801f4870b635b7a3c10cad315cdfec8506f6df46b374244d0706019e715fd74b8a8cc3e926754c18ac27a1c18d0194a46160d9875056748097f328706e3819a221e7dd87d2072993973059269df9ce92e84bf55af6c4365b84e9e6a643bb108857165c97d1fb9b7c3990a4817cb2f49084ab4d846ce80d7602fb990cf963e76f465116f4be7718a282110a498449f402134fe5f0b4a414337151e656358ae59b335c72619065a8c2d3063c0fa44ff9ac64975b3a8af321b5ae5ca2603366b66cf923e0946e9958f23070e533df47e17663abdf1cf2b6bcd60ee126fec88b65e2c6aaa502ae028477311eff333fe7b89a02934f2db3d59c5e7feefb22878a0dfe3b41e1c631f0161ed35ef8dcc4453be0356bf9c0bc3fcd54879c7bce533a369b1bfd663a41f78fd3255d7df1110fe0716a7b61c57161c96c8b9332ec6773444c8bd2a07cdd7ca707a292b3f8735971a4c31fe6deba7b61040263c2b72b74e9a9f750c3b092d9fa4e03bb6ae418d1313b41da8c153502f109b34f444418687908ba8601afdabf76ff3dd4349dc46444262a44bc6a84cfa20c9ab9bbb638881da440d4b9c7bf03c90100702c261cee71766ab8bcfe291d4ec0f2838582eae420cdbbe92f9c1b84bd2aefe85513b50dea905afe9f6b841c8dd8d52cc23b748d743f43fba1b9146b8df37f693f399649f7978cf8dfbd2622888b4fee1d6fc5ea5ea7fe925f88c92a7fdf22ac5883a95a382c74f146f9c8b0b43b1106972e14f6e0265481033c993a330a078b5738a53912a54f0e379ab03e186d3b9f2cda7f6a4b4945433dabaf4281609d57ae3daba2a05314d33ea166d94a5a97a4616eb7cabdf590d9bfee57761e9b185d442ef65ffb53ad4b1c8142099b77f3e248215cf8da373b3c64dd44b4d25bf0f6acf2f8e4d1d1633810007c03018113ccef5f449b460e00eba2b51bba9143733d750cb2c4f231ea69c9449a80bcef5ceeb3dddb82a369a7f8d42e43581f9b68eabd8796dd2a4690e962e30f09dbaec9b30d6e33d5603c74a6dfbae1830e7827419b17ad2db7f1491ccff64354f2edf96acf3ae8cf846b1f001976fe2ee37188ac8810e840c9ce0974c16a2825aac7e5600f3d49f348355229ea3b7cb43860ed37a9d07506d0daa515364baa056701a93195daf94e59605bac01f676b38f0d307fc43eaf7d932a7f22dd94830ea208e1c92f0237c60ddde1d1dac2549828854e486a614a44566116a469e0e6c8fad5232afb684a1c54d46e32075200c3d067d45652383c31c783f1dd81cdc570ded9d601c9bec8dba325223ea2ac08150a184d9d55c27ceeb29b641be2f05af2eca81724f5508bf01ad27260dec8b47baf43bfe66cf015e1af2d350623d6ce6d8e7cbee6dac339c12fd6a8c46ad57b85ec9869f9c7a141288ea6234d8a9c575e8eab29605890e600f34271918a02f69f23f164c946853092c3af6fcbdaacf880a54aad92ab6dd0e8a44da98b1f3db7c04fdc280864311418fa4f0fb5bbdcaa9b9750ab83c68c4d75a58c616e2f31b2cb294410327c9dddb8769f4974ebe2998dc1b240eb76af99d282bb96904167d798201f6ed4c590e9a8227fc3504b0a3b239c83e11a6e5d2707102d80ed8e1553cd2fc4fe794bbe5b9c97715e801576fdd19ba8b0c4b890f0225c03cea8b4d70a3385f8578b36cf33ad09fa12fecc43d38b895c34cce12d678a106f597ee63595d2fd07f98bebaa34b3cb14d5ef9bef5d0d80fbb457acce27a012837f28d507c7301c539955992b89369e053905d6bcba6125ce9127a17f8ad1d639cfb9612c36582309ac30cd47018ba5ee2749e2acc86f5fae5bdad7a89e00a9fbd65aa3cbe881598d4463e7face1a05e1370ea9ef0867faf5fa0e0cedb2cc7ac8673a4fe1a4126667602a46a86b15125a1ee29008b565ea4b761edb190d86bf2a36f067917b4050a8a9d87411f708bc67a2225fc6191539040519d3b3afd898a612b3c39efe918a4141d00dc6274b49cd319338916bad7b39073470948e9630d31051bbf2a59e439e97df1d802971b8670df9a8ae5b05f863b0a5f879d6b47ff8e7c51378ba64279eda7fa0767c5d1f9b261ac08c3a22a50a6280e6a255c7df26d55ef970f78868d13daba0ddd8f04609030a697b929c384ff67da885cce74fc9daff793f83ae9511148077e69bcf81f30692de6014a0e2cac8de4376586feae83e871094113bce97fbbe4beb8098d76118f33437d13c4873924f2ec7ee0d009f7c248985dd1a2534ab051b0b85a105d12ab739e876bdcebfcf0e5787958c445ab89264b61dfd3d7ff3e7e692100a5cf611b2384d6cc870bcca4a7489e26a29951d65165e5a0395ff3f5b476bf53098c6e7f1f6ce61f43a9fc2335d336652b5c85185f868fa0bc87def3ee2936d84590343059dea2cea443cf4fb96a13ef9c642c93ee1c9ea53023d4d5e0e21dd056284094ca5cd218f72a6226e60d73e36588b3a622ef4aef0c64e11bbc3febc55dc925378f8e5a2409d2c33f573cc9943c2461f2b3c3e3f9cbe6f14acf28249f2ff89eb0a8a9ddbe1edc82f6c8424c02d56ef5cffa05a64fb02b920b1e435ef5ce59c0d14e497ab09754488b8db77ef2a73ac718a4fad4d8ee1c5917328d184a45e48915fdd54f6914015d74a25c30e1fd5eba0a2173d67d19f57be284a4581cd23800bbe528c3b93a88b841ecda5a94914eaf9acea93c82c3958b5d419e1bc6414d833b5941f0ed31f43490768619d5cba47bf56d3776cb5d6d6ed7090263720949e0399bf869e32cc323d4e42bb5ef7d476194228729073453e3baea825fa25dcde3af23dad1a649a180b4e7981adbd72a8a855d3337d2cf206f86f6811cb0569ad97896d05b6573838fde028eea31770d02016300af0a3e77148ef7942ed7dd6a57ca2ccc83d2c771314aa659ae956fbfad7724d5c5b42e39a729476516de7619978ba3b6b50884f2520caee025511dacd14cce49580eeb2b7bc7685d237bc4f63f737db4fd85ed9c85e098286b8c341bdce0461dfab27b66e5c5049bf7ca5c0162b1e59383f1141acf6890f5fe43f0d97ac6e60f4b2f60c9d94fa347586e6746e455b033936030d93aae7a42418c0e63dd15caa1393e821c0b273a209514a7b37be07cf04d9e3c099ccd9eb2ad7d5383d8e5d6f5019aa6f3bb3ee71e905c151c420db86a9a16a9dd05110570fe2b48a56037f67a2c10c45bb8649a8f79bf923eb9fdf6560b217dfaaaee819fb00f49551faac8bcf2bbaedbcf5a80138100ff3530c370138ba08d99fd3f4d57f173a3ccdc43c98e52ac7445026ff5b1a68cdac961f04c87870a445e355fe1fd29dcc76bf4a7696796dca021f6ee4e6f9272e7822abec4e33d84bb5d71ef6b40dbcddba55fe83bace06edb128d91f0c7d7e232fbd445aaf3b641b10d623035dba8aa997e3a7ac1997c42d9fe5868deb1f01f909267317e93739e6d998b19db5df1b9c78a59c5050faea5d243286f929f0b8a61168008164c36e1c2a12ced9efdaaf4d44a82e121984c1d390f1d3265b3794fad8dc3401eed0e2924787825081dd545ee5edd35cabd27c8ed97cfbe80cb791b1b9e235fbcbcf8f4f9425ddb32700e2a3147b429f3410abd0ef1d7ebb94386390aa654fbb78c48424e482cc06cf38bd6b98afc040e42e6fccda2d41f5161fc128f0be07f733e1ffe41af914efe49decbf90c44f9a88209python.pypython.pypython.pypython.pypython.pypython.pypython.pypython.pypython.pypython.pypython.pypython.pypython.pymain.pyrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootansible-2.9.21-bp153.2.3.1.src.rpmansible-test@@@    /usr/bin/python/usr/bin/python3ansiblepython(abi)python3-virtualenvrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.9.213.63.0.4-14.6.0-14.0-15.2-14.14.3`7@`y|@`y|@`u`P`/@`_إ@_F@_|\@_N7_3_2@__ L^@^ϧ^^^^@^^`^E:@^0"@^ P@^@]@]|@]@]Γ@]@]@]]@]{]J@\@\9\\6\@\r@\^\Db\>@\@\@[@[S@[F[@[[^[:[:[2*[#@Z@Z2@ZZZvZYY{YLY@YY7YXP@XX|Xv@X@Wڍ@WrfWJW-V@VVwVO@VVU@UK@U?v@U:T@T@T|X@Tw@TN3Michael Ströder Alexander Graul Alexander Graul Michael Ströder Michael Ströder Michael Ströder Michael Ströder Michael Ströder Michael Ströder Michael Ströder Michael Ströder Michael Ströder Michael Ströder Michael Ströder Andrey Karepin Michael Ströder Matej Cepl Matej Cepl Michael Ströder Michael Ströder Michael Ströder lars@linux-schulserver.de - 2.9.6Michael Ströder Michael Ströder Michael Ströder Michael Ströder Lars Vogdt Michael Ströder Lars Vogdt Lars Vogdt lars@linux-schulserver.de - 2.9.1Johannes Kastl Johannes Kastl lars@linux-schulserver.deLars Vogdt Matej Cepl Lars Vogdt Marcel Kuehlhorn Michael Ströder Michael Ströder Lars Vogdt Michael Ströder Matthias Eliasson Matthias Eliasson Matthias Eliasson Matthias Eliasson Matthias Eliasson Matthias Eliasson sean@suspend.netsean@suspend.netlars@linux-schulserver.dematthias.eliasson@gmail.comlars@linux-schulserver.demrueckert@suse.deboris@steki.netmrueckert@suse.dekbabioch@suse.comlars@linux-schulserver.delars@linux-schulserver.delars@linux-schulserver.detbechtold@suse.commardnh@gmx.detbechtold@suse.commatthias.eliasson@gmail.comjengelh@inai.delars@linux-schulserver.dejohannes.grassler@suse.commichael@stroeder.commatthias.eliasson@gmail.comlars@linux-schulserver.demichael@stroeder.commichael@stroeder.commichael@stroeder.comboris@steki.netmichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.comlars@linux-schulserver.deeshmarnev@suse.comerwin.vandevelde@gmail.comlars@linux-schulserver.delars@linux-schulserver.dem0ses@samaxi.derobin.roth@kit.edulars@linux-schulserver.deboris@steki.netboris@steki.netboris@steki.netboris@steki.netboris@steki.netboris@steki.netkgronlund@suse.com- update to 2.9.21- Drop python-coverage run-time requirement from openSUSE/SLE- Switch to python3-cryptography in openSUSE/SLE- update to version 2.9.20 maintenance release containing numerous bugfixes- update to version 2.9.19 with minor changes and a few bug fixes- update to version 2.9.18 * CVE-2021-20228 where default and fallback values for no_log parameters to modules were not previously masked. * CVE-2021-20178 where several parameters to the snmp_facts module were logged and displayed despite containing sensitive information. * CVE-2021-20180 where several parameters to the bitbucket_pipeline_variable were logged and displayed despite containing sensitive information. * CVE-2021-20191 which addresses a number of modules whose parameters were logged and displayed despite containing sensitive information. For the full list of affected modules, refer to the changelog linked below.- update to version 2.9.17 with minor changes and a few bug fixes- update to version 2.9.16 with minor changes and many bug fixes- update to version 2.9.15 with following breaking change: * ansible-galaxy login command has been removed- update to version 2.9.14 with many small improvements and bug fixes, most notably: * kubectl - connection plugin now redact kubectl_token and kubectl_password in console log (CVE-2020-1753). - avoid trailing comments after %endif- update to version 2.9.13 with many bug fixes, most notably: * A security issue was addressed in the "dnf" module, which previously did not check GPG signatures of packages. * A bug in the "cron" module was fixed. In some cases prior to this fix, the module would inadvertently remove cron entries. - removed obsolete fix-cron-regression-71207.patch- added fix-cron-regression-71207.patch- update to version 2.9.12 with many bug fixes, most notably the following security fixes: * security issue - copy - Redact the value of the no_log 'content' parameter in the result's invocation.module_args in check mode. Previously when used with check mode and with '-vvv', the module would not censor the content if a change would be made to the destination path. (CVE-2020-14332) * security issue atomic_move - change default permissions when creating temporary files so they are not world readable (https://github.com/ansible/ansible/issues/67794) (CVE-2020-1736) * Fix warning for default permission change when no mode is specified. Follow up to https://github.com/ansible/ansible/issues/67794. (CVE-2020-1736) * Sanitize no_log values from any response keys that might be returned from the uri module (CVE-2020-14330). * reset logging level to INFO due to CVE-2019-14846.- update to version 2.9.11 with many bug fixes - removed ansible_bugfix_640.diff obsoleted by upstream update- added ansible_bugfix_640.diff to fix gh#ansible-collections/community.general#640- update to version 2.9.10 with many bug fixes. - removed CVE-2020-1744_avoid_mkdir_p.patch obsoleted by upstream update- Correct ID of CVE and rename the patch to CVE-2020-1744_avoid_mkdir_p.patch- Add CVE-2020-1733_avoid_mkdir_p.patch to fix CVE-2020-1733 (bsc#1164140) - Add metadata information to this file to mark which SUSE bugzilla have been already fixed.- update to version 2.9.9 * fix for a regression introduced in 2.9.8- update to version 2.9.8 maintenance release containing numerous bugfixes- update to version 2.9.7 with many bug fixes, especially for these security issues: - bsc#1164140 CVE-2020-1733 - insecure temporary directory when running become_user from become directive - bsc#1164139 CVE-2020-1734 shell enabled by default in a pipe lookup plugin subprocess - bsc#1164137 CVE-2020-1735 - path injection on dest parameter in fetch module - bsc#1164134 CVE-2020-1736 atomic_move primitive sets permissive permissions - bsc#1164138 CVE-2020-1737 - Extract-Zip function in win_unzip module does not check extracted path - bsc#1164136 CVE-2020-1738 module package can be selected by the ansible facts - bsc#1164133 CVE-2020-1739 - svn module leaks password when specified as a parameter - bsc#1164135 CVE-2020-1740 - secrets readable after ansible-vault edit - bsc#1165393 CVE-2020-1746 - information disclosure issue in ldap_attr and ldap_entry modules - bsc#1166389 CVE-2020-1753 - kubectl connection plugin leaks sensitive information - bsc#1167532 CVE-2020-10684 - code injection when using ansible_facts as a subkey - bsc#1167440 CVE-2020-10685 - modules which use files encrypted with vault are not properly cleaned up - CVE-2020-10691 - archive traversal vulnerability in ansible-galaxy collection install [2]- create missing (empty) template and files directories for 'ansible-galaxy init' during package build (fixes boo#1137479) - require python-xml on python 2 systems (boo#1142542)- update to version 2.9.6 (maintenance release) including these security issues: - bsc#1171162 CVE-2020-10729 two random password lookups in same task return same value- update to version 2.9.5 (maintenance release)- update to version 2.9.4 (maintenance release) - fix in yum module - security fixes: - bsc#1157968 CVE-2019-14904 vulnerability in solaris_zone module via crafted solaris zone - bsc#1157969 CVE-2019-14905 malicious code could craft filename in nxos_file_copy module- update to version 2.9.3 (maintenance release) * security fixes - CVE-2019-14904 (solaris_zone module) (boo#1157968) - CVE-2019-14905 (nxos_file_copy module) (boo#1157969) * various bugfixes- sync with upstream spec file (especially for RHEL & Fedora builds) - ran spec-cleaner - remove old SUSE targets (SLE-11, Leap 42.3 and below) This simplifies the spec file and makes building easier - Additional required packages for building: + python-boto3 and python-botocore for Amazon EC2 + python-jmespath for json queries + python-memcached for cloud modules and local caching of JSON formatted, per host records + python-redis for cloud modules and local caching of JSON formatted, per host records + python-requests for many web-based modules (cloud, network, netapp) => as the need for those packages depends on the usage of the tool, they are just recommended on openSUSE/SUSE machines - made dependencies for gitlab, vmware and winrm modules configurable, as most of their dependencies are not (yet) available on current openSUSE/SUSE distributions - exclude /usr/bin/pwsh from the automatic dependency generation, as the Windows Power Shell is not available (yet) on openSUSE/SUSE - build additional docs and split up ansible-doc package; moving changelogs, contrib and example directories there - prepare for building HTML documentation, but disable this per default for the moment, as not all package dependencies are available in openSUSE/SUSE (yet) - package some test scripts with executable permissions- update to version 2.9.2 maintenance release containing numerous bugfixes- Create system directories that Ansible defines as default locations in ansible/config/base.yml - rephrase the summary line - Disable shebang munging for specific paths. These files are data files. ansible-test munges the shebangs itself.- split out ansible-test package for module developers- update to version 2.9.1 Full changelog is packaged at /usr/share/doc/packages/ansible/changelogs/ and also available online at https://github.com/ansible/ansible/blob/stable-2.9/changelogs/CHANGELOG-v2.9.rst + CVE-2019-14864: fixed Splunk and Sumologic callback plugins leak sensitive data in logs (boo#1154830) - replace all #!/usr/bin/env lines to use #!/usr/bin/$1 directly- added file '/usr/bin/ansible-test' to spec file- Update to version 2.9.0: Full changelog is packaged at /usr/share/doc/packages/ansible/changelogs/ and also available online at https://github.com/ansible/ansible/blob/stable-2.9/changelogs/CHANGELOG-v2.9.rst - Fixed among other this security bug: - bsc#1112959 CVE-2018-16837 Information leak in "user" module patch added- include the sha checksum file in the source, which allows to verify the original sources- Update to version 2.8.6: Full changelog is packaged at /usr/share/doc/packages/ansible/changelogs/ and also available online at https://github.com/ansible/ansible/blob/stable-2.8/changelogs/CHANGELOG-v2.8.rst Included security fixes: * CVE-2019-14846: Fixed secrets disclosure on logs due to display is hardcoded to DEBUG level (bsc#1153452) * CVE-2019-14856: Fixed insufficient fix for CVE-2019-10206 (bsc#1154232) * CVE-2019-14858: Fixed data in the sub parameter fields that will not be masked and will be displayed when run with increased verbosity (bsc#1154231)- Update to version 2.8.5: Full changelog is packaged at /usr/share/doc/packages/ansible/changelogs/ and also available online at https://github.com/ansible/ansible/blob/stable-2.8/changelogs/CHANGELOG-v2.8.rst - removed patches fixed upstream: + CVE-2019-10206-data-disclosure.patch + CVE-2019-10217-gcp-modules-sensitive-fields.patch- Update to version 2.8.3: Full changelog is packaged, but also at https://github.com/ansible/ansible/blob/stable-2.8/changelogs/CHANGELOG-v2.8.rst - (bsc#1137528) CVE-2019-10156: ansible: templating causing an unexpected key file to be set on remote node - (bsc#1142690) Adds CVE-2019-10206-data-disclosure.patch fixing CVE-2019-10206: ansible-playbook -k and ansible cli tools prompt passwords by expanding them from templates as they could contain special characters. Passwords should be wrapped to prevent templates trigger and exposing them. - (bsc#1144453) Adds CVE-2019-10217-gcp-modules-sensitive-fields.patch CVE-2019-10217: Fields managing sensitive data should be set as such by no_log feature. Some of these fields in GCP modules are not set properly. service_account_contents() which is common class for all gcp modules is not setting no_log to True. Any sensitive data managed by that function would be leak as an output when running ansible playbooks.- Update to version 2.8.1 Full changelog is at /usr/share/doc/packages/ansible/changelogs/ Bugfixes - ------- - ACI - DO not encode query_string - ACI modules - Fix non-signature authentication - Add missing directory provided via ``--playbook-dir`` to adjacent collection loading - Fix "Interface not found" errors when using eos_l2_interface with nonexistant interfaces configured - Fix cannot get credential when `source_auth` set to `credential_file`. - Fix netconf_config backup string issue - Fix privilege escalation support for the docker connection plugin when credentials need to be supplied (e.g. sudo with password). - Fix vyos cli prompt inspection - Fixed loading namespaced documentation fragments from collections. - Fixing bug came up after running cnos_vrf module against coverity. - Properly handle data importer failures on PVC creation, instead of timing out. - To fix the ios static route TC failure in CI - To fix the nios member module params - To fix the nios_zone module idempotency failure - add terminal initial prompt for initial connection - allow include_role to work with ansible command - allow python_requirements_facts to report on dependencies containing dashes - asa_config fix - azure_rm_roledefinition - fix a small error in build scope. - azure_rm_virtualnetworkpeering - fix cross subscriptions virtual network peering. - cgroup_perf_recap - When not using file_per_task, make sure we don't prematurely close the perf files - display underlying error when reporting an invalid ``tasks:`` block. - dnf - fix wildcard matching for state: absent - docker connection plugin - accept version ``dev`` as 'newest version' and print warning. - docker_container - ``oom_killer`` and ``oom_score_adj`` options are available since docker-py 1.8.0, not 2.0.0 as assumed by the version check. - docker_container - fix network creation when ``networks_cli_compatible`` is enabled. - docker_container - use docker API's ``restart`` instead of ``stop``/``start`` to restart a container. - docker_image - if ``build`` was not specified, the wrong default for ``build.rm`` is used. - docker_image - if ``nocache`` set to ``yes`` but not ``build.nocache``, the module failed. - docker_image - module failed when ``source: build`` was set but ``build.path`` options not specified. - docker_network module - fix idempotency when using ``aux_addresses`` in ``ipam_config``. - ec2_instance - make Name tag idempotent - eos: don't fail modules without become set, instead show message and continue - eos_config: check for session support when asked to 'diff_against: session' - eos_eapi: fix idempotency issues when vrf was unspecified. - fix bugs for ce - more info see - fix incorrect uses of to_native that should be to_text instead. - hcloud_volume - Fix idempotency when attaching a server to a volume. - ibm_storage - Added a check for null fields in ibm_storage utils module. - include_tasks - whitelist ``listen`` as a valid keyword - k8s - resource updates applied with force work correctly now - keep results subset also when not no_log. - meraki_switchport - improve reliability with native VLAN functionality. - netapp_e_iscsi_target - fix netapp_e_iscsi_target chap secret size and clearing functionality - netapp_e_volumes - fix workload profileId indexing when no previous workload tags exist on the storage array. - nxos_acl some platforms/versions raise when no ACLs are present - nxos_facts fix - nxos_file_copy fix passwordless workflow - nxos_interface Fix admin_state check for n6k - nxos_snmp_traps fix group all for N35 platforms - nxos_snmp_user fix platform fixes for get_snmp_user - nxos_vlan mode idempotence bug - nxos_vlan vlan names containing regex ctl chars should be escaped - nxos_vtp_* modules fix n6k issues - openssl_certificate - fix private key passphrase handling for ``cryptography`` backend. - openssl_pkcs12 - fixes crash when private key has a passphrase and the module is run a second time. - os_stack - Apply tags conditionally so that the module does not throw up an error when using an older distro of openstacksdk - pass correct loading context to persistent connections other than local - pkg_mgr - Ansible 2.8.0 failing to install yum packages on Amazon Linux - postgresql - added initial SSL related tests - postgresql - added missing_required_libs, removed excess param mapping - postgresql - move connect_to_db and get_pg_version into module_utils/postgres.py (https://github.com/ansible/ansible/pull/55514) - postgresql_db - add note to the documentation about state dump and the incorrect rc (https://github.com/ansible/ansible/pull/57297) - postgresql_db - fix for postgresql_db fails if stderr contains output - postgresql_ping - fixed a typo in the module documentation - preserve actual ssh error when we cannot connect. - route53_facts - the module did not advertise check mode support, causing it not to be run in check mode. - sysctl: the module now also checks the output of STDERR to report if values are correctly set (https://github.com/ansible/ansible/pull/55695) - ufw - correctly check status when logging is off - uri - always return a value for status even during failure - urls - Handle redirects properly for IPv6 address by not splitting on ``:`` and rely on already parsed hostname and port values - vmware_vm_facts - fix the support with regular ESXi - vyos_interface fix - we don't really need to template vars on definition as we do this on demand in templating. - win_acl - Fix qualifier parser when using UNC paths - - win_hostname - Fix non netbios compliant name handling - winrm - Fix issue when attempting to parse CLIXML on send input failure - xenserver_guest - fixed an issue where VM whould be powered off even though check mode is used if reconfiguration requires VM to be powered off. - xenserver_guest - proper error message is shown when maximum number of network interfaces is reached and multiple network interfaces are added at once. - yum - Fix false error message about autoremove not being supported - yum - fix failure when using ``update_cache`` standalone - yum - handle special "_none_" value for proxy in yum.conf and .repo files- Update to version 2.8.0 Major changes: * Experimental support for Ansible Collections and content namespacing - Ansible content can now be packaged in a collection and addressed via namespaces. This allows for easier sharing, distribution, and installation of bundled modules/roles/plugins, and consistent rules for accessing specific content via namespaces. * Python interpreter discovery - The first time a Python module runs on a target, Ansible will attempt to discover the proper default Python interpreter to use for the target platform/version (instead of immediately defaulting to /usr/bin/python). You can override this behavior by setting ansible_python_interpreter or via config. (see https://github.com/ansible/ansible/pull/50163) * become - The deprecated CLI arguments for --sudo, --sudo-user, - -ask-sudo-pass, -su, --su-user, and --ask-su-pass have been removed, in favor of the more generic --become, --become-user, --become-method, and - -ask-become-pass. * become - become functionality has been migrated to a plugin architecture, to allow customization of become functionality and 3rd party become methods (https://github.com/ansible/ansible/pull/50991) - addresses CVE-2018-16859, CVE-2018-16876, CVE-2019-3828, CVE-2018-16837 For the full changelog see /usr/share/doc/packages/ansible/changelogs or online: https://github.com/ansible/ansible/blob/stable-2.8/changelogs/CHANGELOG-v2.8.rst- Update to version 2.7.10 Minor Changes - Catch all connection timeout related exceptions and raise AnsibleConnectionError instead - openssl_pkcs12, openssl_privatekey, openssl_publickey - These modules no longer delete the output file before starting to regenerate the output, or when generating the output failed. Bugfixes - Backport of https://github.com/ansible/ansible/pull/54105, pamd - fix idempotence issue when removing rules - Use custom JSON encoder in conneciton.py so that ansible objects (AnsibleVaultEncryptedUnicode, for example) can be sent to the persistent connection process - allow 'dict()' jinja2 global to function the same even though it has changed in jinja2 versions - azure_rm inventory plugin - fix missing hostvars properties (https://github.com/ansible/ansible/pull/53046) - azure_rm inventory plugin - fix no nic type in vmss nic. (https://github.com/ansible/ansible/pull/53496) - deprecate {Get/Set}ManagerAttributes commands (https://github.com/ansible/ansible/issues/47590) - flatpak_remote - Handle empty output in remote_exists, fixes https://github.com/ansible/ansible/issues/51481 - foreman - fix Foreman returning host parameters - get_url - Fix issue with checksum validation when using a file to ensure we skip lines in the file that do not contain exactly 2 parts. Also restrict exception handling to the minimum number of necessary lines (https://github.com/ansible/ansible/issues/48790) - grafana_datasource - Fixed an issue when running Python3 and using basic auth (https://github.com/ansible/ansible/issues/49147) - include_tasks - Fixed an unexpected exception if no file was given to include. - openssl_certificate - fix ``state=absent``. - openssl_certificate, openssl_csr, openssl_pkcs12, openssl_privatekey, openssl_publickey - The modules are now able to overwrite write-protected files (https://github.com/ansible/ansible/issues/48656). - openssl_dhparam - fix ``state=absent`` idempotency and ``changed`` flag. - openssl_pkcs12, openssl_privatekey - These modules now accept the output file mode in symbolic form or as a octal string (https://github.com/ansible/ansible/issues/53476). - openssl_publickey - fixed crash on Python 3 when OpenSSH private keys were used with passphrases. - openstack inventory plugin: allow "constructed" functionality (``compose``, ``groups``, and ``keyed_groups``) to work as documented. - random_mac - generate a proper MAC address when the provided vendor prefix is two or four characters (https://github.com/ansible/ansible/issues/50838) - replace - fix behavior when ``before`` and ``after`` are used together (https://github.com/ansible/ansible/issues/31354) - report correct CPU information on ARM systems (https://github.com/ansible/ansible/pull/52884) - slurp - Fix issues when using paths on Windows with glob like characters, e.g. ``[``, ``]`` - ssh - Check the return code of the ssh process before raising AnsibleConnectionFailure, as the error message for the ssh process will likely contain more useful information. This will improve the missing interpreter messaging when using modules such as setup which have a larger payload to transfer when combined with pipelining. (https://github.com/ansible/ansible/issues/53487) - tower_settings - 'name' and 'value' parameters are always required, module can not be used in order to get a setting - win_acl - Fix issues when using paths with glob like characters, e.g. ``[``, ``]`` - win_acl_inheritance - Fix issues when using paths with glob like characters, e.g. ``[``, ``]`` - win_certificate_store - Fix issues when using paths with glob like characters, e.g. ``[``, ``]`` - win_chocolatey - Fix incompatibilities with the latest release of Chocolatey ``v0.10.12+`` - win_copy - Fix issues when using paths with glob like characters, e.g. ``[``, ``]`` - win_file - Fix issues when using paths with glob like characters, e.g. ``[``, ``]`` - win_find - Ensure found files are sorted alphabetically by the path instead of it being random - win_find - Fix issues when using paths with glob like characters, e.g. ``[``, ``]`` - win_owner - Fix issues when using paths with glob like characters, e.g. ``[``, ``]`` - win_psexec - Support executables with a space in the path - win_reboot - Fix reboot command validation failure when running under the psrp connection plugin - win_tempfile - Always return the full NTFS absolute path and not a DOS 8.3 path. - win_user_right - Fix output containing non json data - https://github.com/ansible/ansible/issues/54413 - windows - Fixed various module utils that did not work with path that had glob like chars - yum - fix disable_excludes on systems with yum rhn plugin enabled (https://github.com/ansible/ansible/issues/53134)- Update to version 2.7.9 Minor Changes * Add missing import for ConnectionError in edge and routeros module_utils. * ``to_yaml`` filter updated to maintain formatting consistency when used with ``pyyaml`` versions 5.1 and later (https://github.com/ansible/ansible/pull/53772) * docker_image * set ``changed`` to ``false`` when using ``force: yes`` to tag or push an image that ends up being identical to one already present on the Docker host or Docker registry. * jenkins_plugin * Set new default value for the update_url parameter (https://github.com/ansible/ansible/issues/52086) Bugfixes * Fix bug where some inventory parsing tracebacks were missing or reported under the wrong plugin. * Fix rabbitmq_plugin idempotence due to information message in new version of rabbitmq (https://github.com/ansible/ansible/pull/52166) * Fixed KeyError issue in vmware_host_config_manager when a supported option isn't already set (https://github.com/ansible/ansible/issues/44561). * Fixed issue related to --yaml flag in vmware_vm_inventory. Also fixed caching issue in vmware_vm_inventory (https://github.com/ansible/ansible/issues/52381). * If large integers are passed as options to modules under Python 2, module argument parsing will reject them as they are of type ``long`` and not of type ``int``. * allow nice error to work when auto plugin reads file w/o `plugin` field * ansible-doc * Fix traceback on providing arguemnt --all to ansible-doc command * azure_rm_virtualmachine_facts * fixed crash related to attached managed disks (https://github.com/ansible/ansible/issues/52181) * basic * modify the correct variable when determining available hashing algorithms to avoid errors when md5 is not available (https://github.com/ansible/ansible/issues/51355) * cloudscale * Fix compatibilty with Python3 in version 3.5 and lower. * convert input into text to ensure valid comparisons in nmap inventory plugin * dict2items * Allow dict2items to work with hostvars * dnsimple * fixed a KeyError exception related to record types handling. * docker_container * now returns warnings from docker daemon on container creation and updating. * docker_swarm * Fixed node_id parameter not working for node removal (https://github.com/ansible/ansible/issues/53501) * docker_swarm * do not crash with older docker daemons (https://github.com/ansible/ansible/issues/51175). * docker_swarm * fixes idempotency for the ``ca_force_rotate`` option. * docker_swarm * improve Swarm detection. * docker_swarm * improve idempotency checking; ``rotate_worker_token`` and ``rotate_manager_token`` are now also used when all other parameters have not changed. * docker_swarm * now supports docker-py 1.10.0 and newer for most operations, instead only docker 2.6.0 and newer. * docker_swarm * properly implement check mode (it did apply changes). * docker_swarm * the ``force`` option was ignored when ``state: present``. * docker_swarm_service * do basic validation of ``publish`` option if specified (must be list of dicts). * docker_swarm_service * don't crash when ``publish`` is not specified. * docker_swarm_service * fix problem with docker daemons which do not return ``UpdateConfig`` in the swarm service spec. * docker_swarm_service * the return value was documented as ``ansible_swarm_service``, but the module actually returned ``ansible_docker_service``. Documentation and code have been updated so that the variable is now called ``swarm_service``. In Ansible 2.7.x, the old name ``ansible_docker_service`` can still be used to access the result. * ec2 * if the private_ip has been provided for the new network interface it shouldn't also be added to top level parameters for run_instances() * fix DNSimple to ensure check works even when the number of records is larger than 100 * get_url * return no change in check mode when checksum matches * inventory plugins * Fix creating groups from composed variables by getting the latest host variables * inventory_aws_ec2 * fix no_log indentation so AWS temporary credentials aren't displayed in tests * jenkins_plugin * Prevent plugin to be reinstalled when state=present (https://github.com/ansible/ansible/issues/43728) * lvol * fixed ValueError when using float size (https://github.com/ansible/ansible/issues/32886, https://github.com/ansible/ansible/issues/29429) * mysql * MySQLdb doesn't import the cursors module for its own purposes so it has to be imported in MySQL module utilities before it can be used in dependent modules like the proxysql module family. * mysql * fixing unexpected keyword argument 'cursorclass' issue after migration from MySQLdb to PyMySQL. * mysql_user: match backticks, single and double quotes when checking user privileges. * onepassword_facts * Fixes issues which prevented this module working with 1Password CLI version 0.5.5 (or greater). Older versions of the CLI were deprecated by 1Password and will no longer function. * openssl_certificate * ``has_expired`` correctly checks if the certificate is expired or not * openssl_certificate * fix Python 3 string/bytes problems for `notBefore`/`notAfter` for self-signed and ownCA providers. * openssl_certificate * make sure that extensions are actually present when their values should be checked. * openssl_csr * improve ``subject`` validation. * openssl_csr * improve error messages for invalid SANs. * play order is now applied under all circumstances, fixes * remote_management foreman * Fixed issue where it was impossible to createdelete a product because product was missing in dict choices ( https://github.com/ansible/ansible/issues/48594 ) * rhsm_repository * handle systems without any repos * skip invalid plugin after warning in loader * urpmi module * fixed issue * win_certificate_store * Fix exception handling typo * win_chocolatey * Fix issue when parsing a beta Chocolatey install * https://github.com/ansible/ansible/issues/52331 * win_chocolatey_source * fix bug where a Chocolatey source could not be disabled unless ``source`` was also set * https://github.com/ansible/ansible/issues/50133 * win_domain * Do not fail if DC is already promoted but a reboot is required, return ``reboot_required: True`` * win_domain * Fix when running without credential delegated authentication * https://github.com/ansible/ansible/issues/53182 * win_file * Fix issue when managing hidden files and directories * https://github.com/ansible/ansible/issues/42466 * winrm * attempt to recover from a WinRM send input failure if possible * zabbix_hostmacro: fixes truncation of macro contexts that contain colons (see https://github.com/ansible/ansible/pull/51853) New Plugins * vmware_vm_inventory * VMware Guest inventory source- update URL (use SSL version of the URL) - prepare update for multiple releases (bsc#1102126, bsc#1109957)- Update to version 2.7.8 Minor Changes: * Raise AnsibleConnectionError on winrm connnection errors Bugfixes: * Backport of https://github.com/ansible/ansible/pull/46478 , fixes name collision in haproxy module * Fix aws_ec2 inventory plugin code to automatically populate regions when missing as documentation states, also leverage config system vs self default/type validation * Fix unexpected error when using Jinja2 native types with non-strict constructed keyed_groups (https://github.com/ansible/ansible/issues/52158). * If an ios module uses a section filter on a device which does not support it, retry the command without the filter. * acme_challenge_cert_helper * the module no longer crashes when the required ``cryptography`` library cannot be found. * azure_rm_managed_disk_facts * added missing implementation of listing managed disks by resource group * azure_rm_mysqlserver * fixed issues with passing parameters while updating existing server instance * azure_rm_postgresqldatabase * fix force_update bug (https://github.com/ansible/ansible/issues/50978). * azure_rm_postgresqldatabase * fix force_update bug. * azure_rm_postgresqlserver * fixed issues with passing parameters while updating existing server instance * azure_rm_sqlserver * fix for tags support * azure_rm_virtualmachine * fixed several crashes in module * azure_rm_virtualmachine_facts * fix crash when vm created from custom image * azure_rm_virtualmachine_facts * fixed crash related to VM with managed disk attached * ec2 * Correctly sets the end date of the Spot Instance request. Sets `ValidUntil` value in proper way so it will be auto-canceled through `spot_wait_timeout` interval. * openssl_csr * fixes idempotence problem with PyOpenSSL backend when no Subject Alternative Names were specified. * openstack inventory plugin * send logs from sdk to stderr so they do not combine with output * psrp * do not display bootstrap wrapper for each module exec run * redfish_utils * get standard properties for firmware entries (https://github.com/ansible/ansible/issues/49832) * remote home directory * Disallow use of remote home directories that include relative pathing by means of `..` (CVE-2019-3828, bsc#1126503) (https://github.com/ansible/ansible/pull/52133) * ufw * when using ``state: reset`` in check mode, ``ufw --dry-run reset`` was executed, which causes a loss of firewall rules. The ``ufw`` module was adjusted to no longer run ``ufw --dry-run reset`` to prevent this from happening. * ufw: make sure that only valid values for ``direction`` are passed on. * update GetBiosBootOrder to use standard Redfish resources (https://github.com/ansible/ansible/issues/47571) * win become * Fix some scenarios where become failed to create an elevated process * win_psmodule * the NuGet package provider will be updated, if needed, to avoid issue under adding a repository * yum * Remove incorrect disable_includes error message when using disable_excludes (https://github.com/ansible/ansible/issues/51697) * yum * properly handle a proxy config in yum.conf for an unauthenticated proxy- Update to version 2.7.7 Minor Changes: * Allow check_mode with supports_generate_diff capability in cli_config. (https://github.com/ansible/ansible/pull/51417) * Fixed typo in vmware documentation fragment. Changed "supported added" to "support added". Bugfixes: * All K8S_AUTH_* environment variables are now properly loaded by the k8s lookup plugin * Change backup file globbing for network _config modules so backing up one host's config will not delete the backed up config of any host whose hostname is a subset of the first host's hostname (e.g., switch1 and switch11) * Fixes bug where nios_a_record wasn't getting deleted if an uppercase named a_record was being passed. (https://github.com/ansible/ansible/pull/51539) * aci_aaa_user - Fix setting user description (https://github.com/ansible/ansible/issues/51406) * apt_repository - fixed failure under Python 3.7 (https://github.com/ansible/ansible/pull/47219) * archive - Fix check if archive is created in path to be removed * azure_rm inventory plugin - fix azure batch request (https://github.com/ansible/ansible/pull/50006) * cnos_backup - fixed syntax error (https://github.com/ansible/ansible/pull/47219) * cnos_image - fixed syntax error (https://github.com/ansible/ansible/pull/47219) * consul_kv - minor error-handling bugfix under Python 3.7 (https://github.com/ansible/ansible/pull/47219) * copy - align invocation in return value between check and normal mode * delegate_facts - fix to work properly under block and include_role (https://github.com/ansible/ansible/pull/51553) * docker_swarm_service - fix endpoint_mode and publish idempotency. * ec2_instance - Correctly adds description when adding a single ENI to the instance * ensure we have a XDG_RUNTIME_DIR, as it is not handled correctly by some privilege escalation configurations * file - Allow state=touch on file the user does not own https://github.com/ansible/ansible/issues/50943 * fix ansible-pull hanlding of extra args, complex quoting is needed for inline JSON * fix ansible_connect_timeout variable in network_cli,netconf,httpapi and nxos_install_os timeout check * netapp_e_storagepool - fixed failure under Python 3.7 (https://github.com/ansible/ansible/pull/47219) * onepassword_facts - Fix an issue looking up some 1Password items which have a 'password' attribute alongside the 'fields' attribute, not inside it. * prevent import_role from inserting dupe into roles: execution when duplicate signature role already exists in the section. * reboot - Fix bug where the connection timeout was not reset in the same task after rebooting * ssh connection - do not retry with invalid credentials to prevent account lockout (https://github.com/ansible/ansible/issues/48422) * systemd - warn when exeuting in a chroot environment rather than failing (https://github.com/ansible/ansible/pull/43904) * win_chocolatey - Fix hang when used with proxy for the first time - https://github.com/ansible/ansible/issues/47669 * win_power_plan - Fix issue where win_power_plan failed on newer Windows 10 builds - https://github.com/ansible/ansible/issues/43827- update to version 2.7.6 Minor Changes: * Added documentation about using VMware dynamic inventory plugin. * Fixed bug around populating host_ip in hostvars in vmware_vm_inventory. * Image reference change in Azure VMSS is detected and applied correctly. * docker_volume - reverted changed behavior of force, which was released in Ansible 2.7.1 to 2.7.5, and Ansible 2.6.8 to 2.6.11. Volumes are now only recreated if the parameters changed and force is set to true (instead of or). This is the behavior which has been described in the documentation all the time. * set ansible_os_family from name variable in os-release * yum and dnf can now handle installing packages from URIs that are proxy redirects and don't end in the .rpm file extension Bugfixes: * Added log message at -vvvv when using netconf connection listing connection details. * Changes how ansible-connection names socket lock files. They now use the same name as the socket itself, and as such do not lock other attempts on connections to the same host, or cause issues with overly-long hostnames. * Fix mandatory statement error for junos modules (https://github.com/ansible/ansible/pull/50138) * Moved error in netconf connection plugin from at import to on connection. * This reverts some changes from commit 723daf3. If a line is found in the file, exactly or via regexp matching, it must not be added again. insertafter/insertbefore options are used only when a line is to be inserted, to specify where it must be added. * allow using openstack inventory plugin w/o a cache * callbacks - Do not filter out exception, warnings, deprecations on failure when using debug (https://github.com/ansible/ansible/issues/47576) * certificate_complete_chain - fix behavior when invalid file is parsed while reading intermediate or root certificates. * copy - Ensure that the src file contents is converted to unicode in diff information so that it is properly wrapped by AnsibleUnsafeText to prevent unexpected templating of diff data in Python3 (https://github.com/ansible/ansible/issues/45717) * correct behaviour of verify_file for vmware inventory plugin, it was always returning True * dnf - fix issue where conf_file was not being loaded properly * dnf - fix update_cache combined with install operation to not cause dnf transaction failure * docker_container - fix network_mode idempotency if the container: form is used (as opposed to container:) (https://github.com/ansible/ansible/issues/49794) * docker_container - warning when non-string env values are found, avoiding YAML parsing issues. Will be made an error in Ansible 2.8. (https://github.com/ansible/ansible/issues/49802) * docker_swarm_service - Document labels and container_labels with correct type. * docker_swarm_service - Document limit_memory and reserve_memory correctly on how to specify sizes. * docker_swarm_service - Document minimal API version for configs and secrets. * docker_swarm_service - fix use of Docker API so that services are not detected as present if there is an existing service whose name is a substring of the desired service * docker_swarm_service - fixing falsely reporting update_order as changed when option is not used. * document old option that was initally missed * ec2_instance now respects check mode https://github.com/ansible/ansible/pull/46774 * fix for network_cli - ansible_command_timeout not working as expected (#49466) * fix handling of firewalld port if protocol is missing * fix lastpass lookup failure on python 3 (https://github.com/ansible/ansible/issues/42062) * flatpak - Fixed Python 2/3 compatibility * flatpak - Fixed issue where newer versions of flatpak failed on flatpak removal * flatpak_remote - Fixed Python 2/3 compatibility * gcp_compute_instance - fix crash when the instance metadata is not set * grafana_dashboard - Fix a pair of unicode string handling issues with version checking (https://github.com/ansible/ansible/pull/49194) * host execution order - Fix reverse_inventory not to change the order of the items before reversing on python2 and to not backtrace on python3 * icinga2_host - fixed the issue with not working use_proxy option of the module. * influxdb_user - An unspecified password now sets the password to blank, except on existing users. This previously caused an unhandled exception. * influxdb_user - Fixed unhandled exception when using invalid login credentials (https://github.com/ansible/ansible/issues/50131) * openssl_* - fix error when path contains a file name without path. * openssl_csr - fix problem with idempotency of keyUsage option. * openssl_pkcs12 - now does proper path expansion for ca_certificates. * os_security_group_rule - os_security_group_rule doesn't exit properly when secgroup doesn't exist and state=absent (https://github.com/ansible/ansible/issues/50057) * paramiko_ssh - add auth_timeout parameter to ssh.connect when supported by installed paramiko version. This will prevent "Authentication timeout" errors when a slow authentication step (>30s) happens with a host (https://github.com/ansible/ansible/issues/42596) * purefa_facts and purefb_facts now correctly adds facts into main ansible_fact dictionary (https://github.com/ansible/ansible/pull/50349) * reboot - add appropriate commands to make the plugin work with VMware ESXi (https://github.com/ansible/ansible/issues/48425) * reboot - add support for rebooting AIX (https://github.com/ansible/ansible/issues/49712) * reboot - gather distribution information in order to support Alpine and other distributions (https://github.com/ansible/ansible/issues/46723) * reboot - search common paths for the shutdown command and use the full path to the binary rather than depending on the PATH of the remote system (https://github.com/ansible/ansible/issues/47131) * reboot - use a common set of commands for older and newer Solaris and SunOS variants (https://github.com/ansible/ansible/pull/48986) * redfish_utils - fix reference to local variable 'systems_service' * setup - fix the rounding of the ansible_memtotal_mb value on VMWare vm's (https://github.com/ansible/ansible/issues/49608) * vultr_server - fixed multiple ssh keys were not handled. * win_copy - Fix copy of a dir that contains an empty directory - https://github.com/ansible/ansible/issues/50077 * win_firewall_rule - Remove invalid 'bypass' action * win_lineinfile - Fix issue where a malformed json block was returned causing an error * win_updates - Correctly report changes on success- update to version 2.7.5 Minor Changes: * Add warning about falling back to jinja2_native=false when Jinja2 version is lower than 2.10. * Change the position to search os-release since clearlinux new versions are providing /etc/os-release too * Fixed typo in ansible-galaxy info command. * Improve the deprecation message for squashing, to not give misleading advice * Update docs and return section of vmware_host_service_facts module. * ansible-galaxy: properly warn when git isn't found in an installed bin path instead of traceback * dnf module properly load and initialize dnf package manager plugins * docker_swarm_service: use docker defaults for the user parameter if it is set to null Bugfixes: * bsc#1118896 CVE-2018-16876 Information disclosure in vvv+ mode with no_log on (https://github.com/ansible/ansible/pull/49569) * ACME modules: improve error messages in some cases (include error returned by server). * Added unit test for VMware module_utils. * Also check stdout for interpreter errors for more intelligent messages to user * Backported support for Devuan-based distribution * Convert hostvars data in OpenShift inventory plugin to be serializable by ansible-inventory * Fix AttributeError (Python 3 only) when an exception occurs while rendering a template * Fix N3K power supply facts (https://github.com/ansible/ansible/pull/49150). * Fix NameError nxos_facts (https://github.com/ansible/ansible/pull/48981). * Fix VMware module utils for self usage. * Fix error in OpenShift inventory plugin when a pod has errored and is empty * Fix if the route table changed to none (https://github.com/ansible/ansible/pull/49533) * Fix iosxr netconf plugin response namespace (https://github.com/ansible/ansible/pull/49300) * Fix issues with nxos_install_os module for nxapi (https://github.com/ansible/ansible/pull/48811). * Fix lldp and cdp neighbors information (https://github.com/ansible/ansible/pull/48318)(https://github.com/ansible/ansible/pull/48087)(https://github.com/ansible/ansible/pull/49024). * Fix nxos_interface and nxos_linkagg Idempotence issue (https://github.com/ansible/ansible/pull/46437). * Fix traceback when updating facts and the fact cache plugin was nonfunctional * Fix using vault encrypted data with jinja2_native (https://github.com/ansible/ansible/issues/48950) * Fixed: Make sure that the files excluded when extracting the archive are not checked. https://github.com/ansible/ansible/pull/45122 * Fixes issue where a password parameter was not set to no_log * Respect no_log on retry and high verbosity (CVE-2018-16876) * aci_rest - Fix issue ignoring custom port * acme_account, acme_account_facts - in some cases, it could happen that the modules return information on disabled accounts accidentally returned by the ACME server. * docker_swarm - decreased minimal required API version from 1.35 to 1.25; some features require API version 1.30 though. * docker_swarm_service: fails because of default "user: root" (https://github.com/ansible/ansible/issues/49199) * ec2_metadata_facts - Parse IAM role name from the security credential field since the instance profile name is different * fix azure_rm_image module use positional parameter (https://github.com/ansible/ansible/pull/49394) * fixes an issue with dict_merge in network utils (https://github.com/ansible/ansible/pull/49474) * gcp_utils - fix google auth scoping issue with application default credentials or google cloud engine credentials. Only scope credentials that can be scoped. * mail - fix python 2.7 regression * openstack - fix parameter handling when cloud provided as dict https://github.com/ansible/ansible/issues/42858 * os_user - Include domain parameter in user deletion https://github.com/ansible/ansible/issues/42901 * os_user - Include domain parameter in user lookup https://github.com/ansible/ansible/issues/42901 * ovirt_storage_connection - comparing passwords breaks idempotency in update_check (https://github.com/ansible/ansible/issues/48933) * paramiko_ssh - improve log message to state the connection type * reboot - use IndexError instead of TypeError in exception * redis cache - Support version 3 of the redis python library (https://github.com/ansible/ansible/issues/49341) * sensu_silence - Cast int for expire field to avoid call failure to sensu API. * vmware_host_service_facts - handle exception when service package does not have package name. * win_nssm - Switched to Argv-ToString for escaping NSSM credentials (https://github.com/ansible/ansible/issues/48728) * zabbix_hostmacro - Added missing validate_certs logic for running module against Zabbix servers with untrused SSL certificates (https://github.com/ansible/ansible/issues/47611) * zabbix_hostmacro - Fixed support for user macros with context (https://github.com/ansible/ansible/issues/46953)- update to version 2.7.4 Bugfixes: * powershell - add lib/ansible/executor/powershell to the packaging data- update to version 2.7.3 Minor Changes: * Document Path and Port are mutually exclusive parameters in wait_for module * Puppet module remove --ignorecache to allow Puppet 6 support * dnf properly support modularity appstream installation via overloaded group modifier syntax * proxmox_kvm - fix exception * win_security_policy - warn users to use win_user_right instead when editing Privilege Rights Bugfixes: * Fix the issue that FTD HTTP API retries authentication-related HTTP requests * Fix the issue that module fails when the Swagger model does not have required fields * Fix the issue with comparing string-like objects * Fix using omit on play keywords * Windows - prevent sensitive content from appearing in scriptblock logging (CVE-2018-16859) * apt_key - Disable TTY requirement in GnuPG for the module to work correctly when SSH pipelining is enabled * better error message when bad type in config, deal with EVNAR= more gracefully * configuration retrieval would fail on non primed plugins * cs_template - Fixed a KeyError on state=extracted * docker_container - fix idempotency problems with docker-py caused by previous init idempotency fix * docker_container - fix interplay of docker-py version check with argument_spec validation improvements * docker_network - driver_options containing Python booleans would cause Docker to throw exceptions * ec2_group - Fix comparison of determining which rules to purge by ignoring descriptions * pip module - fix setuptools/distutils replacement * sysvinit - enabling a service should use "defaults" if no runlevels are specified- update to version 2.7.2 Minor changes: * Fix documentation for cloning template * Parsing plugin filter may raise TypeError, gracefully handle this exception and let user know about the syntax error in plugin filter file * Scenario guide for VMware HTTP API usage * Update plugin filter documentation * fix yum and dnf autoremove input sanitization to properly warn user if invalid options passed and update documentation to match * improve readability and fix privileges names on vmware scenario_clone_template * k8s - updated module documentation to mention how to avoid SSL validation errors * yum - when checking for updates, now properly include Obsoletes (both old and new) package data in the module JSON output- update to 2.7.1 Minor changes: * Fix yum module to properly check for empty conf_file value * added capability to set the scheme for the consul_kv lookup * added optional certificate and certificate validation for consul_kv lookups * dnf - properly handle modifying the enable/disable excludes data field * dnf appropriately handles disable_excludes repoid argument * dnf proerly honors disable_gpg_check for local package installation * fix yum module to handle list argument optional empty strings properly * netconf_config - Make default_operation optional in netconf_config module * yum - properly handle proxy password and username embedded in url * yum/dnf - fail when space separated string of names- update to 2.7.0 Major changes: * Allow config to enable native jinja types * Remove support for simplejson * yum and dnf modules now at feature parity Minor changes: * Changed the prefix of all Vultr modules from vr to vultr * Enable installroot tests for yum4(dnf) integration testing, dnf backend now supports that * Fixed timer in exponential backoff algorithm in vmware.py Bugfixes: * Security Fix - avoid loading host/group vars from cwd when not specifying a playbook or playbook base dir * Security Fix - avoid using ansible.cfg in a world writable dir * Some connection exception would cause no_log specified on a task to be ignored (stdout info disclosure) * Fix glob path of rc.d (SUSE-specific) * Fix lambda_policy updates * Fix alt linux detection/matching- update to 2.6.4 Minor Changes: * add azure_rm_storageaccount support to StorageV2 kind. * import_tasks - Do not allow import_tasks to transition to dynamic if the file is missing Bugfixes: * Add md5sum check in nxos_file_copy module * Allow arbitrary log_driver for docker_container * Fix Python2.6 regex bug terminal plugin nxos, iosxr * Fix check_mode in nxos_static_route module * Fix glob path of rc.d Some distribtuions like SUSE has the rc%.d directories under /etc/init.d * Fix network config diff issue for lines * Fixed an issue where ansible_facts.pkg_mgr would incorrectly set to zypper on Debian/Ubuntu systems that happened to have the command installed * The docker_* modules respect the DOCKER_* environment variables again * The fix for CVE-2018-10875 prints out a warning message about skipping a config file from a world writable current working directory. However, if the user is in a world writable current working directory which does not contain a config file, it should not print a warning message. This release fixes that extaneous warning. * To resolve nios_network issue where vendor-encapsulated-options can not have a use_option flag. * To resolve the issue of handling exception for Nios lookup gracefully. * always correctly template no log for tasks * ansible-galaxy - properly list all roles in roles_path * basic.py - catch ValueError in case a FIPS enabled platform raises this exception * docker_container: fixing working_dir idempotency problem * docker_container: makes unit parsing for memory sizes more consistent, and fixes idempotency problem when kernel_memory is set * fix example code for AWS lightsail documentation * fix the enable_snat parameter that is only supposed to be used by an user with the right policies. * fixes docker_container check and debug mode * improves docker_container idempotency * ios_l2_interface - fix bug when list of vlans ends with comma * ios_l2_interface - fix issue with certain interface types * ios_user - fix unable to delete user admin issue * ios_vlan - fix unable to work on certain interface types issue * nxos_facts test lldp feature and fix nxapi check_rc * nxos_interface port-channel idempotence fix for mode * nxos_linkagg mode fix * nxos_system idempotence fix * nxos_vlan refactor to support non structured output * one_host - fixes settings via environment variables * use retry_json nxos_banner * user - Strip trailing comments in /etc/default/passwd * user - when creating a new user without an expiration date, properly set no expiration rather that expirining the account * win_domain_computer - fixed deletion of computer active directory object that have dependent objects * win_domain_computer - fixed error in diff_support * win_domain_computer - fixed error when description parameter is empty * win_psexec - changed code to not escape the command option when building the args * win_uri -- Fix support for JSON output when charset is set * win_wait_for - fix issue where timeout doesn't wait unless state=drained- update to 2.6.3 Bugfixes: * Fix lxd module to be idempotent when the given configuration for the lxd container has not changed * Fix setting value type to str to avoid conversion during template read. Fix Idempotency in case of 'no key'. * Fix the mount module's handling of swap entries in fstab * The fix for (CVE-2018-10875) prints out a warning message about skipping a config file from a world writable current working directory. However, if the user explicitly specifies that the config file should be used via the ANSIBLE_CONFIG environment variable then Ansible would honor that but still print out the warning message. This has been fixed so that Ansible honors the user's explicit wishes and does not print a warning message in that circumstance. * To fix the bug where existing host_record was deleted when existing record name is used with different IP. * VMware handle pnic in proxyswitch * fix azure security group cannot add rules when purge_rule set to false. * fix azure_rm_deployment collect tags from existing Resource Group. * fix azure_rm_loadbalancer_facts list takes at least 2 arguments. * fix for the bundled selectors module (used in the ssh and local connection plugins) when a syscall is restarted after being interrupted by a signal * get_url - fix the bug that get_url does not change mode when checksum matches * nicer error when multiprocessing breaks * openssl_certificate - Convert valid_date to bytes for conversion * openstack_inventory.py dynamic inventory file fixed the plugin to the script so that it will work with current ansible-inventory. Also redirect stdout before dumping the ouptput, because not doing so will cause JSON parse errors in some cases. * slack callback - Fix invocation by looking up data from cli.options * sysvinit module: handle values of optional parameters. Don't disable service when enabled parameter isn't set. Fix command when arguments parameter isn't set. * vars_prompt - properly template play level variables in vars_prompt * win_domain - ensure the Netlogon service is up and running after promoting host to controller * win_domain_controller - ensure the Netlogon service is up and running after promoting host to controller- update to 2.6.2 Minor Changes + Sceanrio guide for removing an existing virtual machine is added. + lineinfile - add warning when using an empty regexp + Restore module_utils.basic.BOOLEANS variable for backwards compatibility with the module API in older ansible releases. Bugfixes: + Includes fix for bsc#1099808 (CVE-2018-10875) ansible.cfg is being read from current working directory allowing possible code execution + Add text output along with structured output in nxos_facts + Allow more than one page of results by using the right pagination indicator ('NextMarker' instead of 'NextToken'). + Fix an atomic_move error that is 'true', but misleading. Now we show all 3 files involved and clarify what happened. + Fix eos_l2_interface eapi. + Fix fetching old style facts in junos_facts module + Fix get_device_info nxos zero or more whitespace regex + Fix nxos CI failures + Fix nxos_nxapi default http behavior + Fix nxos_vxlan_vtep_vni + Fix regex network_os_platform nxos + Refactor nxos cliconf get_device_info for non structured output supported devices + To fix the NoneType error raised in ios_l2_interface when Access Mode VLAN is unassigned + emtpy host/group name is an error + fix default SSL version for docker modules + fix mail module when using starttls + fix nmap config example + fix ps detection of service + fix the remote tmp folder permissions issue when becoming a non admin user + fix typoe in sysvinit that breaks update.rc-d detection + fixes docker_container compatibilty with docker-py < 2.2 + get_capabilities in nxapi module_utils should not return empty dictionary + inventory - When using an inventory directory, ensure extension comparison uses text types + ios_vlan - fix unable to identify correct vlans issue + nxos_facts warning message improved + openvswitch_db - make 'key' argument optional + pause - do not set stdout to raw mode when redirecting to a file + pause - nest try except when importing curses to gracefully fail if curses is not present + plugins/inventory/openstack.py - Do not create group with empty name if region is not set + preseve delegation info on nolog + remove ambiguity when it comes to 'the source' + remove dupes from var precedence + restores filtering out conflicting facts + user - fix bug that resulted in module always reporting a change when specifiying the home directory on FreeBSD + user - use correct attribute name in FreeBSD for creat_home + vultr - Do not fail trying to load configuration from ini files if required variables have been set as environment variables. + vyos_command correcting conditionals looping + win_chocolatey - enable TLSv1.2 support when downloading the Chocolatey installer + win_reboot - fix for handling an already scheduled reboot and other minor log formatting issues + win_reboot - fix issue when overridding connection timeout hung the post reboot uptime check + win_reboot - handle post reboots when running test_command + win_security_policy - allows an empty string to reset a policy value + win_share - discard any cmdlet output we don't use to ensure only the return json is received by Ansible + win_unzip - discard any cmdlet output we don't use to ensure only the return json is received by Ansible + win_updates - fixed module return value is lost in error in some cases + win_user - Use LogonUser to validate the password as it does not rely on SMB/RPC to be available + Security Fix - avoid loading host/group vars from cwd when not specifying a playbook or playbook base dir + Security Fix - avoid using ansible.cfg in a world writable dir. + Fix junos_config confirm commit timeout issue (https://github.com/ansible/ansible/pull/41527) + file module - The touch subcommand had its diff output broken during the 2.6.x development cycle. This is now fixed. + inventory manager - This fixes required options being populated before the inventory config file is read, so the required options may be set in the config file. + nsupdate - allow hmac-sha384 https://github.com/ansible/ansible/pull/42209 + win_domain - fixes typo in one of the AD cmdlets https://github.com/ansible/ansible/issues/41536 + win_group_membership - uses the internal Ansible SID conversion logic and uses that when comparing group membership instead of the name - use fdupes to save some space in python_sitelib - define BuildRoot on older distributions like SLE-11 - be a bit more flexible with the ending of manpage files to allow Fedora builds to succeed- revert some unneeded changes from spec-cleaner- updated to latest release 2.6.0 - New Plugins: + Callback: - cgroup_memory_recap - grafana_annotations - sumologic + Connection: - httpapi + Inventory: - foreman - gcp_compute - generator - nmap + Lookup: - onepassword - onepassword_raw - Modules updates too many to mention here please look at package documentation directory (/usr/share/doc/packages/.../changelogs) - bug fixes: - **Security Fix** - Some connection exceptions would cause no_log specified on a task to be ignored. If this happened, the task information, including any private information coul d have been displayed to stdout and (if enabled, not the default) logged to a log file specified in ansible.cfg's log_path. Additionally, sites which redirected stdout from ansible runs to a log file may have stored that private information onto disk that way as well. (https://github.com/ansible/ansible/pull/41414) - Changed the admin_users config option to not include "admin" by default as admin is frequently used for a non-privileged account (https://github.com/ansible/ansible/pull/41164) - Changed the output to "text" for "show vrf" command as default "json" output format with respect to "eapi" transport was failing (https://github.com/ansible/ansible/pull/41470) - Document mode=preserve for both the copy and template module - Fix added for Digital Ocean Volumes API change causing Ansible to recieve an unexpected value in the response. (https://github.com/ansible/ansible/pull/41431) - Fix an encoding issue when parsing the examples from a plugins' documentation - Fix iosxr_config module to handle route-policy, community-set, prefix-set, as-path-set and rd-set blocks. All these blocks are part of route-policy language of iosxr. - Fix mode=preserve with remote_src=True for the copy module - Implement mode=preserve for the template module - The yaml callback plugin now allows non-ascii characters to be displayed. - Various grafana_* modules - Port away from the deprecated b64encodestring function to the b64encode function instead. https://github.com/ansible/ansible/pull/38388 - added missing 'raise' to exception definition https://github.com/ansible/ansible/pull/41690 - allow custom endpoints to be used in the aws_s3 module (https://github.com/ansible/ansible/pull/36832) - allow set_options to be called multiple times https://github.com/ansible/ansible/pull/41913 - ansible-doc - fixed traceback on missing plugins (https://github.com/ansible/ansible/pull/41167) - cast the device_mapping volume size to an int in the ec2_ami module (https://github.com/ansible/ansible/pull/40938) - copy - fixed copy to only follow symlinks for files in the non-recursive case - copy module - The copy module was attempting to change the mode of files for remote_src=True even if mode was not set as a parameter. This failed on filesystems which do not have permission bits (https://github.com/ansible/ansible/pull/40099) - copy module - fixed recursive copy with relative paths (https://github.com/ansible/ansible/pull/40166) - correct debug display for all cases https://github.com/ansible/ansible/pull/41331 - correctly check hostvars for vars term https://github.com/ansible/ansible/pull/41819 - correctly handle yaml inventory files when entries are null dicts https://github.com/ansible/ansible/issues/41692 - dynamic includes - Allow inheriting attributes from static parents (https://github.com/ansible/ansible/pull/38827) - dynamic includes - Don't treat undefined vars for conditional includes as truthy (https://github.com/ansible/ansible/pull/39377) - dynamic includes - Fix IncludedFile comparison for free strategy (https://github.com/ansible/ansible/pull/37083) - dynamic includes - Improved performance by fixing re-parenting on copy (https://github.com/ansible/ansible/pull/38747) - dynamic includes - Use the copied and merged task for calculating task vars (https://github.com/ansible/ansible/pull/39762) - file - fixed the default follow behaviour of file to be true - file module - Eliminate an error if we're asked to remove a file but something removes it while we are processing the request (https://github.com/ansible/ansible/pull/39466) - file module - Fix error when recursively assigning permissions and a symlink to a nonexistent file is present in the directory tree (https://github.com/ansible/ansible/issues/39456) - file module - Fix error when running a task which assures a symlink to a nonexistent file exists for the second and subsequent times (https://github.com/ansible/ansible/issues/39558) - file module - The file module allowed the user to specify src as a parameter when state was not link or hard. This is documented as only applying to state=link or state=hard but in previous Ansible, this could have an effect in rare cornercases. For instance, "ansible -m file -a 'state=directory path=/tmp src=/var/lib'" would create /tmp/lib. This has been disabled and a warning emitted (will change to an error in Ansible-2.10). - file module - The touch subcommand had its diff output broken during the 2.6.x development cycle. This is now fixed (https://github.com/ansible/ansible/issues/41755) - fix BotoCoreError exception handling - fix apt-mark on debian6 (https://github.com/ansible/ansible/pull/41530) - fix async for the aws_s3 module by adding async support to the action plugin (https://github.com/ansible/ansible/pull/40826) - fix decrypting vault files for the aws_s3 module (https://github.com/ansible/ansible/pull/39634) - fix errors with S3-compatible APIs if they cannot use ACLs for buckets or objects - fix permission handling to try to download a file even if the user does not have permission to list all objects in the bucket - fixed config required handling, specifically for _terms in lookups https://github.com/ansible/ansible/pull/41740 - gce_net - Fix sorting of allowed ports (https://github.com/ansible/ansible/pull/41567) - group_by - support implicit localhost (https://github.com/ansible/ansible/pull/41860) - import/include - Ensure role handlers have the proper parent, allowing for correct attribute inheritance (https://github.com/ansible/ansible/pull/39426) - import_playbook - Pass vars applied to import_playbook into parsing of the playbook as they may be needed to parse the imported plays (https://github.com/ansible/ansible/pull/39521) - include_role/import_role - Don't overwrite included role handlers with play handlers on parse (https://github.com/ansible/ansible/pull/39563) - include_role/import_role - Fix parameter templating (https://github.com/ansible/ansible/pull/36372) - include_role/import_role - Use the computed role name for include_role/import_role so to diffentiate between names computed from host vars (https://github.com/ansible/ansible/pull/39516)- include_role/import_role - improved performance and recursion depth (https://github.com/ansible/ansible/pull/36470) - lineinfile - fix insertbefore when used with BOF to not insert duplicate lines (https://github.com/ansible/ansible/issues/38219) - password lookup - Do not load password lookup in network filters, allowing the password lookup to be overriden (https://github.com/ansible/ansible/pull/41907) - pause - ensure ctrl+c interrupt works in all cases (https://github.com/ansible/ansible/issues/35372) - powershell - use the tmpdir set by `remote_tmp` for become/async tasks instead of the generic $env:TEMP - https://github.com/ansible/ansible/pull/40210 - selinux - correct check mode behavior to report same changes as normal mode (https://github.com/ansible/ansible/pull/40721) - spwd - With python 3.6 spwd.getspnam returns PermissionError instead of KeyError if user does not have privileges (https://github.com/ansible/ansible/issues/39472) - synchronize - Ensure the local connection created by synchronize uses _remote_is_local=True, which causes ActionBase to build a local tmpdir (https://github.com/ansible/ansible/pull/40833) - template - Fix for encoding issues when a template path contains non-ascii characters and using the template path in ansible_managed (https://github.com/ansible/ansible/issues/27262) - template action plugin - fix the encoding of filenames to avoid tracebacks on Python2 when characters that are not present in the user's locale are present. (https://github.com/ansible/ansible/pull/39424) - user - only change the expiration time when necessary (https://github.com/ansible/ansible/issues/13235) - uses correct conn info for reset_connection https://github.com/ansible/ansible/issues/27520 - win_environment - Fix for issue where the environment value was deleted when a null value or empty string was set - https://github.com/ansible/ansible/issues/40450 - win_file - fix issue where special chars like [ and ] were not being handled correctly https://github.com/ansible/ansible/pull/37901 - win_get_url - fixed a few bugs around authentication and force no when using an FTP URL - win_iis_webapppool - redirect some module output to null so Ansible can read the output JSON https://github.com/ansible/ansible/issues/40874 - win_template - fix when specifying the dest option as a directory with and without the trailing slash https://github.com/ansible/ansible/issues/39886 - win_updates - Added the ability to run on a scheduled task for older hosts so async starts working again - https://github.com/ansible/ansible/issues/38364 - win_updates - Fix logic when using a whitelist for multiple updates - win_updates - Fix typo that hid the download error when a download failed - win_updates - Fixed issue where running win_updates on async fails without any error - windows become - Show better error messages when the become process fails - winrm - Add better error handling when the kinit process fails - winrm - allow `ansible_user` or `ansible_winrm_user` to override `ansible_ssh_user` when both are defined in an inventory - https://github.com/ansible/ansible/issues/39844 - winrm - ensure pexpect is set to not echo the input on a failure and have a manual sanity check afterwards https://github.com/ansible/ansible/issues/41865 - winrm connection plugin - Fix exception messages sometimes raising a traceback when the winrm connection plugin encounters an unrecoverable error. https://github.com/ansible/ansible/pull/39333 - xenserver_facts - ensure module works with newer versions of XenServer (https://github.com/ansible/ansible/pull/35821)- use python3 on (open)SUSE 15 or newer- Update to 2.5.5 - Fixed the honouration of the no_log option with failed task iterations (CVE-2018-10855 boo#1097775) - Bufixes: - Changed the admin_users config option to not include "admin" by default as admin is frequently used for a non-privileged account - aws_s3 - add async support to the action plugin - aws_s3 - fix decrypting vault files - ec2_ami - cast the device_mapping volume size to an int - eos_logging - fix idempotency issues - cache plugins - A cache timeout of 0 means the cache will not expire. - ios_logging - fix idempotency issues - ios/nxos/eos_config - don't retrieve config in running_config when config is provided for diff - nxos_banner - fix multiline banner issue - nxos terminal plugin - fix output truncation - nxos_l3_interface - fix no switchport issue with loopback and svi interfaces - nxos_snapshot - fix compare_option - Applied spec-cleaner- Update to 2.5.1 Minor Changes + Updated example in vcenter_license module. + Updated virtual machine facts with instanceUUID which is unique for each VM irrespective of name and BIOS UUID. + A lot of Bugfixes, please refer to the Changelog installed in /usr/share/doc/packages/ansible/changelogs/CHANGELOG-v2.5.rst- Update to 2.5.0: Major Changes * Ansible Network improvements + Created new connection plugins network_cli and netconf to replace connection=local. connection=local will continue to work for a number of Ansible releases. + No more unable to open shell. A clear and descriptive message will be displayed in normal ansible-playbook output without needing to enable debug mode + Loads of documentation, see Ansible for Network Automation Documentation. + Refactor common network shared code into package under module_utils/network/ + Filters: Add a filter to convert XML response from a network device to JSON object. + Loads of bug fixes. + Plus lots more. * New simpler and more intuitive 'loop' keyword for task loops. The with_ loops will likely be deprecated in the near future and eventually removed. * Added fact namespacing; from now on facts will be available under ansible_facts namespace (for example: ansible_facts.os_distribution) without the ansible_ prefix. They will continue to be added into the main namespace directly, but now with a configuration toggle to enable this. This is currently on by default, but in the future it will default to off. * Added a configuration file that a site administrator can use to specify modules to exclude from being used. Minor Changes * please refer to /share/doc/packages/ansible/changelogs/CHANGELOG-v2.5.rst Deprecated Features * Previously deprecated 'hostfile' config settings have been 're-deprecated' because previously code did not warn about deprecated configuration settings. * Using Ansible-provided Jinja tests as filters is deprecated and will be removed in Ansible 2.9. * The stat and win_stat modules have deprecated get_md5 and the md5 return values. These options will become undocumented in Ansible 2.9 and removed in a later version. * The redis_kv lookup has been deprecated in favor of new redis lookup * Passing arbitrary parameters that begin with HEADER_ to the uri module, used for passing http headers, is deprecated. Use the headers parameter with a dictionary of header names to value instead. This will be removed in Ansible 2.9 * Passing arbitrary parameters to the zfs module to set zfs properties is deprecated. Use the extra_zfs_properties parameter with a dictionary of property names to values instead. This will be removed in Ansible 2.9. * Use of the AnsibleModule parameter check\_invalid\_arguments in custom modules is deprecated. In the future, all parameters will be checked to see whether they are listed in the arg spec and an error raised if they are not listed. This behaviour is the current and future default so most custom modules can simply remove check\_invalid\_arguments if they set it to the default value of True. The check\_invalid\_arguments parameter will be removed in Ansible 2.9. * The nxos_ip_interface module is deprecated in Ansible 2.5. Use nxos_l3_interface module instead. * The nxos_portchannel module is deprecated in Ansible 2.5. Use nxos_linkagg module instead. * The nxos_switchport module is deprecated in Ansible 2.5. Use nxos_l2_interface module instead. * The ec2_ami_find has been deprecated; use ec2_ami_facts instead. * panos_security_policy: Use panos_security_rule - the old module uses deprecated API calls * vsphere_guest is deprecated in Ansible 2.5 and will be removed in Ansible-2.9. Use vmware_guest module instead. Removed Features (previously deprecated) * accelerate. * boundary_meter: There was no deprecation period for this but the hosted service it relied on has gone away so the module has been removed. #29387 * cl_ : cl_interface, cl_interface_policy, cl_bridge, cl_img_install, cl_ports, cl_license, cl_bond. Use nclu instead * docker. Use docker_container and docker_image instead. * ec2_vpc. * ec2_ami_search, use ec2_ami_facts instead. * nxos_mtu. Use nxos_system's system_mtu option instead. To specify an interface's MTU use nxos_interface. * panos_nat_policy: Use panos_nat_rule the old module uses deprecated API calls - also package the changelogs directory below /usr/share/doc/packages/ansible/ for better reference- License changed to GPL-3.0-or-later, as mentioned in the source (former license focues on GPL-3.0 only)- Add python-passlib as Requires (bsc#1080682) passlib is needed for the "vars_prompt" feature of ansible- Update to version 2.4.3.0: * Fix `pamd` rule args regexp to match file paths. * Check if SELinux policy exists before setting. * Set locale to `C` in `letsencrypt` module to fix date parsing errors. * Fix include in loop when stategy=free. * Fix save parameter in asa_config. * Fix --vault-id support in ansible-pull. * In nxos_interface_ospf, fail nicely if loopback is used with passive_interface. * Fix quote filter when given an integer to quote. * nxos_vrf_interface fix when validating the interface. * Fix for win_copy when sourcing files from an SMBv1 share. * correctly report callback plugin file. * restrict revaulting to vault cli. * Fix python3 tracebacks in letsencrypt module. * Fix ansible_*_interpreter variables to be templated prior to being used. * Fix setting of environment in a task that uses a loop * Fix fetch on Windows failing to fetch files or particular block size. * preserve certain fields during no log. * fix issue with order of declaration of sections in ini inventory. * Fix win_iis_webapppool to correctly stop a apppool. * Fix CloudEngine host failed. * Fix ios_config save issue. * Handle vault filenames with nonascii chars when displaying messages. * Fix win_iis_webapppool to not return passwords. * Fix extended file attributes detection and changing. * correctly ensure 'ungrouped' membership rules. * made warnings less noisy when empty/no inventory is supplied. * Fixes a failure which prevents to create servers in module cloudscale_server. * Fix win_firewall_rule "Specified cast is invalid" error when modifying a rule with all of Domain/Public/Private profiles set. * Fix case for multilib when installing from a file in the yum module. * Fix WinRM parsing/escaping of IPv6 addresses. * Fix win_package to detect MSI regardless of the extension case. * Updated win_mapped_drive docs to clarify what it is used for. * Fix file related modules run in check_mode when the file being operated on does not exist. * Make eos_vlan idempotent. * Fix win_iis_website to properly check attributes before setting. * Fixed the removal date for ios_config save and force parameters. * cloudstack: fix timeout from ini config file being ignored. * fixes memory usage issues with many blocks/includes. * Fixes maximum recursion depth exceeded with include_role. * Fix to win_dns_client module to take ordering of DNS servers to resolve into account. * Fix for the nxos_banner module where some nxos images nest the output inside of an additional dict. * Fix failure message "got multiple values for keyword argument id" in the azure_rm_securitygroup module (caused by changes to the azure python API). * Bump Azure storage client minimum to 1.5.0 to fix deserialization issues. This will break Azure Stack until it receives storage API version 2017-10-01 or changes are made to support multiple versions. * Flush stdin when passing the become password. Fixes some cases of timeout on Python 3 with the ssh connection plugin.update to version v2.4.2.0: * lock azure containerservice to below 2.0.0 * ovirt_host_networks: Fix label assignment * Fix vault --ask-vault-pass with no tty (#31493) * cherry-pick changes of azure_rm_common from devel to 2.4 (#32607) * Fixes #31090. In network parse_cli filter plugin, this change moves the creation of a (#31092) (#32458) * Use an abspath for network inventory ssh key path. * Remove toLower on source (#31983) * Add k8s_common.py logging fixes to the changelog * inserts enable cmd hash with auth_pass used (#32107) * Fix exception upon display.warn() (#31876) * ios_system: Fix typo in unit test (#32284) * yum: use the C locale when screen scraping (#32203) * Use region derived from get_aws_connection_info() in dynamodb_table to fix tagging bug (#32557) * fix item var in delegation (#32986) * Add changelog entry for elb_application_lb fix * Add a validate example to blockinfile. (#32088) * Correct formatting --arguments (#31808) * Add changelog for URI/get_url fix * [cloud] Bugfix for aws_s3 empty directory creation (#32198) * Fix junos integration test fixes as per connection refactor (#33050) (#33055) * Update win_copy for #32677 (#32682) * ios_interface testfix (#32381) * Add proper check mode support to the script module (#31852) * Add galaxy --force fix to changelog * Fix non-ascii errors in config manager * Add python3 urllib fixes to changelog * Add changelog entry for the stdin py3 fix * Update version info for the 2.4.2 release * Add max_fail_percentage fix to changelog * Changelog entry for script inventory plugin fix. * Make RPM spec compatible with RHEL 6 (#31653) * Add changelog entry for the yum locale fix * Use vyos/1.1.8 in CI. * Fix patching to epel package * Pass proper error value to to_text (#33030) * Fix and re-enable zypper* integration tests in CI. * avoid chroot paths (#32778) * Add changelog entry for inventory nonascii paths fix * Fix ios_config integration test failures (#32959) (#32970) * Fix ios_config file prompt issue (#32744) (#32780) * Mdd module unit test docs (#31373) * dont add all group vars to implicit on create * Fix nxos_banner removal idempotence issue in N1 images (#31259) * Clarify the release and maintenance cycle (#32402) * Add ansible_distribution_major_version to macOS (#31708) * Docs (#32718) * Keep newlines when reading LXC container config file (#32219) * Updated changelog for vmware logon error handling * New release v2.4.2.0-0.2.beta2 * added doc notes about vars plugins in precedence * revert module_utils/nxos change from #32846 (#32956) * [cloud] add boto3 requirement to `cloudformation` module docs (#31135) * Fixes #31056 (#31057) * - Fix logging module issue where facility is being deleted along with host (#32234) * Get the moid in a more failsafe manner (#32671) * Integration Tests only: add static route, snmp_user, snapshot and hsrp it cases (#28933) * Add the change to when we escape backslashes (for the template lookup plugin) to changelog * correctly deal with changed (#31812) * Add the template lookup escaping to the 2.4 porting guide (#32760) * tests for InventoryModule error conditions (#31381) * Disable pylint rules for stable-2.4. * fix typo * Enable TLS1.1 and TLS1.2 for win_package (#32184) * Add remove host fix to changelog * ios_interface provider issue testfix (#32335) * win_service: quoted path fix (#32469) * Add changes to succeeded/failed tests to the 2.4 porting guide (#33201) * Run OS X tests in 3 groups in CI. * ini inventory: document value parsing workaround * Change netconf port in testcase as per test enviornment (#32883) (#32889) * fix inventory loading for ansible-doc * jsonify inventory (#32990) * firewalld: don't reference undefined variable in error case (#31949) * change ports to non well known ports and drop time_range for N1 (#31261) * make vars only group declarations an error * Add changelog for os_floating_ip fix * Fix example on comparing master config (#32406) * py2/py3 safer shas on hostvars (#31788) * ensure we always have a basedir * Add missing ansible-test --remote-terminate support. (#32918) * Use show command to support wider platform set for nxos_interface module (#33037) * ios_logging: change IOS command pipe to section to include (#33100) (#33116) * win_find: allow module to skip on files it fails to check (#32105) * New release v2.4.2.0-0.4.beta4 * multiple nxos fixes (#32905) * Add changelog entry for git archive fix * Add changelog entries for a myriad of 2.4.2 bugfixes * iosxr integration testfix (#32344) * Fix #31694: running with closed stdin on python 3 (#31695) * Add eos_user fix to changelog * updated changelog with win_find fix * Added urls python3 fix to changelog * [cloud] Support changeset_name parameter on CloudFormation stack create (#31436) * use configured ansible_shell_executable * New release v2.4.2.0-0.3.beta3 * Fix ec2_lc failing to create multi-volume configurations (#32191) * Changelog win_package TLS fix * Fix wrong prompt issue for network modules (#32426) (#32442) * New release v2.4.2.0-0.1.beta1 * Exclude stack policy when running in check mode. * change inventory_hostname to ansible_host to fix test (#32890) (#32891) * Add azure_rm_acs check mode fix * Updated changelog for win_copy fix * corrected package docs * make sure patterns are strings * Add more bugfixes to changelog * Fix junos netconf port issue in integration test (#32610) (#32668) * fixed .loads error for non decoded json in Python 3 (#32065) * nxos_config and nxos_facts - fixes for N35 platform. (#32762) (#32875) * Add changelog entry for #32219 * Remove provider from ios integration test (#31037) (#32230) * added note about serial behaviour (#32461) * Fixes ios_logging unit test (#32240) * Avoid AttributeError: internal_network on os_floating_ip (#32887) * use to_str instead of json.dumps when serializing k8s object for logging * Prefer the stdlib SSLContext over urllib3 context * git: fix archive when update is set to no (#31829) * Add elb_target_group port fix to the changelog * Changelog entry for aws_s3 issue #32144 * Add error handling for user login (#32613) * Move asa provider to suboptions (#32356) * fix dci failure nxos (#32877) (#32878) * Add inventory jsonification to the changelog * eos_eapi: adding the desired state config to the new vrf fixes #32111 (#32112) (#32452) * Handle ip name-server lines containing multiple nameservers (#32235) (#32373) * Remove provider from prepare_ios_tests integration test (#31038) * Add last minute bugfixes and doc updates for rc1 * Fix snmp bugs on Nexus 3500 platform (#32773) (#32847) * validate that existing dest is valid directory * Update the release data for 2.4.1 in the changelog * add check mode for acs delete (#32063) * More fixes added to changelog * Add wait_for fix to the changelog * removed psobject to hashtables that were missed (#32710) * wait_for: treat broken connections as "unready" (#28839) * Return all elements in a more robust way * fix ios_interface test (#32372) * Add missing packages to default docker image. * fix nxos_igmp_snooping (#31688) * - Fix to return error message back to the module. (#31035) * Ensure that readonly result members are serialized (#33170) * Keywords docs (#32807) * remove hosts from removed when rescuing * Add panos_security_rule docs typo fix to changelog * Update vyos completion in network.txt. * move to use ansible logging * ovirt_clusters: Fix fencing and kuma comparision * Documentation typo fixes (#32473) * [fix] issue #30516 : take care about autoremove in upgrade function * Enable ECHO in prompt module (#32083) * calculate max fail against all hosts in batch * Fix urlparse import for Python3 (#31240) * Bunch of changelog updates for cherry-picks * restore hostpattern regex/glob behaviour * Better handling of malformed vault data envelope (#32515) * Updated changelog regarding win_service quoted path fix * nxos_interface error handling (#32846) * An availability zone will be selected if none is provided. Set az to an empty string if it's None to avoid traceback. (#32216) * Use to_native when validating proxy result (#32596) * vmware_guest: refactor spec serialization (#32681) * Add new default Docker container for ansible-test. (#31944) * warn on bad keys in group * NXOS: Integration tests to Ansible (part 3) (#29030) * Add spec file fix to changelog * eos_user testfix (#32264) * iam.py: return iam.role dict when creating roles (#28964) * Add networking bug fixes to changelog (#32201) * [cloud] sns_topic: Fix unreferenced variable * Fix service_mgr fact collection (#32086) * Fix include_role unit tests (#31920) * Updated changelog for win_iis_* modules things * handle ignore_errors in loop * adjust nohome param when using luser * better cleanup on task results display (#27175) * Improve python 2/3 ABC fallback for pylint. (#31848) * fix html formatting * Add ansible_shell_executable fix to changelog * Move resource pool login to a separate function and fix undefined var reference (#32674) * Update ansible-test sanity command. (#31958) * ios_ping test fix (#32342) * fix CI failure yaml syntax (#32374) * Scan group_vars/host_vars in sorted order * luseradd defaults to creating w/o need for -m (#32411) * Integration Tests only: nxos_udld, nxos_udld_interface, nxos_vxlan_vtep_vni (#29143) (#32962) * Fix: modifying existing application lb using certificates now properly sets certificates (#28217) * ios_logging: Fix some smaller issues, add unit test (#32321) * Fix nxos_snmp_host bug (#32916) (#32958) * ovirt_hosts: Don't fail upgrade when NON_RESPONSIVE state * ini plugin should recursively instantiate pending * eos_user: sends user secret first on user creation fixes #31680 (#32162) * Cast target port to an int in elb_target_group. Fixes #32098 (#32202) * New release v2.4.2.0-0.5.rc1 * remove misleading group vars as they are flat (#32276) * Fix typo * Avoid default inventory proccessing for pull (#32135) * Fix ansible-test default image. (#31966) * removed superfluous `type` field from RecordSet constructor (#33167) * Update k8s_common.py * Add ios_logging fixes to changelog 2.4.2beta2 (#32447) * Revert "Removed a force conditional (#28851)" (#32282) * Add new documentation on writing unittests to the changelog * Fix ansible-test race calling get_coverage_path. * New release v2.4.2.0-1- Update to 2.4.1.0: * CVE-2017-7550: Prevent jenkins_plugin module from exposing passwords in remote host logs (bsc#1065872) * Various bug fixes and improvements- Remove radical wording from descriptions. Use improved find syntax.- update to 2.4.0.0 (final) Major Changes + Support for Python-2.4 and Python-2.5 on the managed system's side was dropped. If you need to manage a system that ships with Python-2.4 or Python-2.5, you'll need to install Python-2.6 or better on the managed system or run Ansible-2.3 until you can upgrade the system. + New import/include keywords to replace the old bare include directives. The use of static: {yes|no} on such includes is now deprecated. ++ Using import_* (import_playbook, import_tasks, import_role) directives are static. ++ Using include_* (include_tasks, include_role) directives are dynamic. This is done to avoid collisions and possible security issues as facts come from the remote targets and they might be compromised. + New order play level keyword that allows the user to change the order in which Ansible processes hosts when dispatching tasks. + Users can now set group merge priority for groups of the same depth (parent child relationship), using the new ansible_group_priority variable, when values are the same or don't exist it will fallback to the previous sorting by name'. + Inventory has been revamped: ++ Inventory classes have been split to allow for better management and deduplication ++ Logic that each inventory source duplicated is now common and pushed up to reconciliation ++ VariableManager has been updated for better interaction with inventory ++ Updated CLI with helper method to initialize base objects for plays ++ New inventory plugins for creating inventory ++ Old inventory formats are still supported via plugins ++ Inline host_list is also an inventory plugin, an example alternative advanced_host_list is also provided (it supports ranges) ++ New configuration option to list enabled plugins and precedence order: whitelist_inventory in ansible.cfg ++ vars_plugins have been reworked, they are now run from Vars manager and API has changed (need docs) ++ Loading group_vars/host_vars is now a vars plugin and can be overridden ++ It is now possible to specify mulitple inventory sources in the command line (-i /etc/hosts1 -i /opt/hosts2) ++ Inventory plugins can use the cache plugin (i.e. virtualbox) and is affected by meta: refresh_inventory ++ Group variable precedence is now configurable via new 'precedence' option in ansible.cfg (needs docs) ++ Improved warnings and error messages across the board + Configuration has been changed from a hardcoded listing in the constants module to dynamically loaded from yaml definitions ++ Also added an ansible-config CLI to allow for listing config options and dumping current config (including origin) ++ TODO: build upon this to add many features detailed in ansible-config proposal https://github.com/ansible/proposals/issues/35 + Windows modules now support the use of multiple shared module_utils files in the form of Powershell modules (.psm1), via [#]Requires -Module Ansible.ModuleUtils.Whatever.psm1 + Python module argument_spec now supports custom validation logic by accepting a callable as the type argument. + Windows become_method: runas now works across all authtypes and will auto-elevate under UAC if WinRM user has "Act as part of the operating system" privilege - please refer to /usr/share/doc/packages/ansible/CHANGELOG.md for further changes - added ansible-inventory and ansible-config binaries and manpages - package contrib and examples directories in docdir - package all *md files as documentation for now - recommend the following new packages for (open)SUSE: + python-httplib2 + python-keyczar + python-six - enable/fix build for RHEL and Fedora by redefining __python2 and adding/enhancing the needed (build)requires if needed- update to 2.2.3.0 (bsc#1056094) * Fixes for CVE-2017-7466 and CVE-2017-7481 * Various minor bug fixes- update to 2.3.2.0 (final) - replaced hard-coded version by var- update to 2.3.1.0 (final) - clean up of spec file with spec-cleaner- update to 2.3.1 RC1 (package version 2.3.0.1) (bsc#1056094): * SECURITY (MODERATE): fix for CVE-2017-7481, in which data for lookup plugins used as variables was not being correctly marked as "unsafe". * SECURITY (MODERATE): fix for CVE-2017-7466, which finally fixes an arbitrary command execution vulnerability- update to 2.3.0.0 for full list of changes see /usr/share/doc/packages/ansible/CHANGELOG.md- update to 2.2.2.0 This release fixes a few bugs introduced in the previous version, as well as another small tweak to catch an additional way in which CVE-2016-9587 could be triggered.- update to 2.2.1.0 (final)- security update to rc4 of 2.2.1.0 version CVE-2016-9587, CVE-2016-8628 and CVE-2016-8614 for full list of changes see /usr/share/doc/packages/ansible/CHANGELOG.md- update to 2.2.0.0 (see /usr/share/doc/packages/ansible/CHANGELOG.md for details)- update to 2.1.2.0 (see /usr/share/doc/packages/ansible/CHANGELOG.md for details)- update to 2.1.1.0 (see /usr/share/doc/packages/ansible/CHANGELOG.md for details) - changed download link to https://releases.ansible.com- update to 2.1.0.0 (see /usr/share/doc/packages/ansible/CHANGELOG.md for details) - on SuSE platforms recommend package python-dnspython for DNS lookups in playbooks- update to 2.0.2.0: * Backport of the 2.1 feature to ensure per-item callbacks are sent as they occur, rather than all at once at the end of the task. * Fixed bugs related to the iteration of tasks when certain combinations of roles, blocks, and includes were used, especially when handling errors in rescue/always portions of blocks. * Fixed handling of redirects in our helper code, and ported the uri module to use this helper code. This removes the httplib dependency for this module while fixing some bugs related to redirects and SSL certs. * Fixed some bugs related to the incorrect creation of extra temp directories for uploading files, which were not cleaned up properly. * Improved error reporting in certain situations, to provide more information such as the playbook file/line. * Fixed a bug related to the variable precedence of role parameters, especially when a role may be used both as a dependency of a role and directly by itself within the same play. * Fixed some bugs in the 2.0 implementation of do/until. * Fixed some bugs related to run_once: - Ensure that all hosts are marked as failed if a task marked as run_once fails. - Show a warning when using the free strategy when a run_once task is encountered, as there is no way for the free strategy to guarantee the task is not run more than once. * Fixed a bug where the assemble module was not honoring check mode in some situations. * Fixed a bug related to delegate_to, where we were incorrectly using variables from the inventory host rather than the delegated-to host. * The 'package' meta-module now properly squashes items down to a single execution (as the apt/yum/other package modules do). * Fixed a bug related to the ansible-galaxy CLI command dealing with paged results from the Galaxy server. * Pipelining support is now available for the local and jail connection plugins, which is useful for users who do not wish to have temp files/directories created when running tasks with these connection types. * Improvements in support for additional shell types. * Improvements in the code which is used to calculate checksums for remote files. * Some speed ups and bug fixes related to the variable merging code. * Workaround bug in python subprocess on El Capitan that was making vault fail when attempting to encrypt a file * Fix lxc_container module having predictable temp file names and setting file permissions on the temporary file too leniently on a temporary file that was executed as a script. Addresses CVE-2016-3096 * Fix a bug in the uri module where setting headers via module params that start with HEADER_ were causing a traceback. * Fix bug in the free strategy that was causing it to synchronize its workers after every task (making it a lot more like linear than it should have been).- update to 2.0.1.0: * Fixes a major compatibility break in the synchronize module shipped with 2.0.0.x. That version of synchronize ran sudo on the controller prior to running rsync. In 1.9.x and previous, sudo was run on the host that rsync connected to. 2.0.1 restores the 1.9.x behaviour. * Additionally, several other problems with where synchronize chose to run when combined with delegate_to were fixed. In particular, if a playbook targetted localhost and then delegated_to a remote host the prior behavior (in 1.9.x and 2.0.0.x) was to copy files between the src and destination directories on the delegated host. This has now been fixed to copy between localhost and the delegated host. * Fix a regression where synchronize was unable to deal with unicode paths. * Fix a regression where synchronize deals with inventory hosts that use localhost but with an alternate port. * Fixes a regression where the retry files feature was not implemented. * Fixes a regression where the any_errors_fatal option was implemented in 2.0 incorrectly, and also adds a feature where any_errors_fatal can be set at the block level. * Fix tracebacks when playbooks or ansible itself were located in directories with unicode characters. * Fix bug when sending unicode characters to an external pager for display. * Fix a bug with squashing loops for special modules (mostly package managers). The optimization was squashing when the loop did not apply to the selection of packages. This has now been fixed. * Temp files created when using vault are now "shredded" using the unix shred program which overwrites the file with random data. * Some fixes to cloudstack modules for case sensitivity * Fix non-newstyle modules (non-python modules and old-style modules) to disabled pipelining. * Fix fetch module failing even if fail_on_missing is set to False * Fix for cornercase when local connections, sudo, and raw were used together. * Fix dnf module to remove dependent packages when state=absent is specified. This was a feature of the 1.9.x version that was left out by mistake when the module was rewritten for 2.0. * Fix bugs with non-english locales in yum, git, and apt modules * Fix a bug with the dnf module where state=latest could only upgrade, not install.- fix_zypper_errorhandling.patch is being deleted- update to 2.0.0.2 Version 2.0 is a new major version with a lot of changes, among which: + New modules for cloud-based services and many more + The new block/rescue/always directives allow for making task blocks and exception-like semantics + Many API changes - more info at: https://github.com/ansible/ansible/blob/devel/CHANGELOG.md#20-over-the-hills-and-far-away- build again on SLE-11-SP4 by ignoring some dependencies that are not available in the official OBS repository: python-paramiko, python-Jinja2, python-PyYAML, python-pycrypto- update to 1.9.4 This release addresses several bugs, most notably those related to the yum module (introduced in 1.9.3): + Fixes a bug where yum state=latest would error if there were no updates to install. + Fixes a bug where yum state=latest did not work with wildcard package names. + Fixes a bug in lineinfile relating to escape sequences. + Fixes a bug where vars_prompt was not keeping passwords private by default. + Fix ansible-galaxy and the hipchat callback plugin to check that the host it is contacting matches its TLS Certificate.- Added fix_zypper_errorhandling.patch as it`s have not been accepted upstream, in lack of an reviewer. See patch for more comments- update to 1.9.3: - Fixes a bug related to keyczar messing up encodings internally, resulting in decrypted messages coming out as empty strings. - AES Keys generated for use in accelerated mode are now 256-bit by default instead of 128. - Fix url fetching for SNI with python-2.7.9 or greater. SNI does not work with python < 2.7.9. The best workaround is probably to use the command module with curl or wget. - Fix url fetching to allow tls-1.1 and tls-1.2 if the system's openssl library supports those protocols - Fix ec2_ami_search module to check TLS Certificates - Fix the following extras modules to check TLS Certificates: - campfire - layman - librarto_annotate - twilio - typetalk - Fix docker module's parsing of docker-py version for dev checkouts - Fix docker module to work with docker server api 1.19 - Change yum module's state=latest feature to update all packages specified in a single transaction. This is the same type of fix as was made for yum's state=installed in 1.9.2 and both solves the same problems and with the same caveats. - Fixed a bug where stdout from a module might be blank when there were were non-printable ASCII characters contained within it- update to 1.9.2: - Security fixes to check that hostnames match certificates with https urls (CVE-2015-3908; bnc #938161): + get_url and uri modules + url and etcd lookup plugins - Security fixes to the zone (Solaris containers), jail (bsd containers), and chroot connection plugins. These plugins can be used to connect to their respective container types in leiu of the standard ssh connection. Prior to this fix being applied these connection plugins didn't properly handle symlinks within the containers which could lead to files intended to be written to or read from the container being written to or read from the host system instead. (CVE pending) - Fixed a bug in the service module where init scripts were being incorrectly used instead of upstart/systemd. - Fixed a bug where sudo/su settings were not inherited from ansible.cfg correctly. - Fixed a bug in the rds module where a traceback may occur due to an unbound variable. - Fixed a bug where certain remote file systems where the SELinux context was not being properly set. - Re-enabled several windows modules which had been partially merged (via action plugins): + win_copy.ps1 + win_copy.py + win_file.ps1 + win_file.py + win_template.py - Fix bug using with_sequence and a count that is zero. Also allows counting backwards isntead of forwards - Fix get_url module bug preventing use of custom ports with https urls - Fix bug disabling repositories in the yum module. - Fix giving yum module a url to install a package from on RHEL/CENTOS5 - Fix bug in dnf module preventing it from working when yum-utils was not already installed- updated to version 1.9.1 * Fixed a bug related to Kerberos auth when using winrm with a domain account. * Fixing several bugs in the s3 module. * Fixed a bug with upstart service detection in the service module. * Fixed several bugs with the user module when used on OSX. * Fixed unicode handling in some module situations (assert and shell/command execution). * Fixed a bug in redhat_subscription when using the activationkey parameter. * Fixed a traceback in the gce module on EL6 distros when multiple pycrypto installations are available. * Added support for PostgreSQL 9.4 in rds_param_group * Several other minor fixes.- updated to version 1.9.0.1 * Added kerberos support to winrm connection plugin. * Tags rehaul: added 'all', 'always', 'untagged' and 'tagged' special tags and normalized tag resolution. Added tag information to - -list-tasks and new --list-tags option. * Privilege Escalation generalization, new 'Become' system and variables now will handle existing and new methods. Sudo and su have been kept for backwards compatibility. New methods pbrun and pfexec in 'alpha' state, planned adding 'runas' for winrm connection plugin. * Improved ssh connection error reporting, now you get back the specific message from ssh. * Added facility to document task module return values for registered vars, both for ansible-doc and the docsite. Documented copy, stats and acl modules, the rest must be updated individually (we will start doing so incrementally). * Optimize the plugin loader to cache available plugins much more efficiently. For some use cases this can lead to dramatic improvements in startup time. * Overhaul of the checksum system, now supports more systems and more cases more reliably and uniformly. * Fix skipped tasks to not display their parameters if no_log is specified. * Many fixes to unicode support, standarized functions to make it easier to add to input/output boundries. * Added travis integration to github for basic tests, this should speed up ticket triage and merging. * environment: directive now can also be applied to play and is inhertited by tasks, which can still override it. * expanded facts and OS/distribution support for existing facts and improved performance with pypy. * new 'wantlist' option to lookups allows for selecting a list typed variable vs a command delimited string as the return. * the shared module code for file backups now uses a timestamp resolution of seconds (previouslly minutes). * allow for empty inventories, this is now a warning and not an error (for those using localhost and cloud modules). * sped up YAML parsing in ansible by up to 25% by switching to CParser loader. - more info at: https://github.com/ansible/ansible/blob/devel/CHANGELOG.md#19-dancing-in-the-street---mar-25-2015- updated to version 1.8.4 from 1.8.2 * Fixed regressions in ec2 and mount modules, introduced in 1.8.3 * Fixing a security bug related to the default permissions set on a tempoary file created when using "ansible-vault view ". * Many bug fixes, for both core code and core modules.- updated to version 1.8.2 from 1.8.1 * Windows modules should now be packaged correctly. * A bug regarding wildcard grant strings in the mysql_user module has been fixed. * Several other bugs regarding the postgresql modules have also been fixed.- enable build for older RHEL and SLE distributions- updated package to latest release ## 1.8.1 "You Really Got Me" * Various bug fixes in postgresql and mysql modules. * Fixed a bug related to lookup plugins used within roles not finding files based on the relative paths to the roles files/ directory. * Fixed a bug related to vars specified in plays being templated too early, resulting in incorrect variable interpolation. * Fixed a bug related to git submodules in bare repos. * fact caching support, pluggable, initially supports Redis (DOCS pending) * 'serial' size in a rolling update can be specified as a percentage * added new Jinja2 filters, 'min' and 'max' that take lists * new 'ansible_version' variable available contains a dictionary of version info * For ec2 dynamic inventory, ec2.ini can has various new configuration options * 'ansible vault view filename.yml' opens filename.yml decrypted in a pager. * no_log parameter now surpressess data from callbacks/output as well as syslog * ansible-galaxy install -f requirements.yml allows advanced options and installs from non-galaxy SCM sources and tarballs. * command_warnings feature will warn about when usage of the shell/command module can be simplified to use core modules - this can be enabled in ansible.cfg * new omit value can be used to leave off a parameter when not set, like so module_name: a=1 b={{ c | default(omit) }}, would not pass value for b (not even an empty value) if c was not set. * developers: 'baby JSON' in module responses, originally intended for writing modules in bash, is removed as a feature to simplify logic, script module remains available for running bash scripts. * async jobs started in "fire & forget" mode can now be checked on at a later time. * added ability to subcategorize modules for docs.ansible.com * added ability for shipped modules to have aliases with symlinks * added ability to deprecate older modules by starting with "_" and including "deprecated: message why" in module docs + New Modules: * cloud: rax_cdb - manages Rackspace Cloud Database instances * cloud: rax_cdb_database - manages Rackspace Cloud Databases * cloud: rax_cdb_user - manages Rackspace Cloud Database users * monitoring: zabbix_maintaince - handles outage windows with Zabbix * monitoring: bigpanda - support for bigpanda * net_infrastructure: a10_server - manages server objects on A10 devices * net_infrastructure: a10_service_group - manages service group objects on A10 devices * net_infrastructure: a10_virtual_server - manages virtual server objects on A10 devices * system: getent - read getent databases + Some other notable changes: * added the ability to set "instance filters" in the ec2.ini to limit results from the inventory plugin. * upgrades for various variable precedence items and parsing related items * added a new "follow" parameter to the file and copy modules, which allows actions to be taken on the target of a symlink rather than the symlink itself. * if a module should ever traceback, it will return a standard error, catchable by ignore_errors, versus an 'unreachable' * ec2_lc: added support for multiple new parameters like kernel_id, ramdisk_id and ebs_optimized. * ec2_elb_lb: added support for the connection_draining_timeout and cross_az_load_balancing options. * support for symbolic representations (ie. u+rw) for file permission modes (file/copy/template modules etc.). * docker: Added support for specifying the net type of the container. * docker: support for specifying read-only volumes. * docker: support for specifying the API version to use for the remote connection. * openstack modules: various improvements * irc: ssl support for the notification module * npm: fix flags passed to package installation * windows: improved error handling * setup: additional facts on System Z * apt_repository: certificate validation can be disabled if requested * pagerduty module: misc improvements * ec2_lc: public_ip boolean configurable in launch configurations * ec2_asg: fixes related to proper termination of an autoscaling group * win_setup: total memory fact correction * ec2_vol: ability to list existing volumes * ec2: can set optimized flag * various parser improvements * produce a friendly error message if the SSH key is too permissive * ec2_ami_search: support for SSD and IOPS provisioned EBS images * can set ansible_sudo_exe as an inventory variable which allows specifying a different sudo (or equivalent) command * git module: Submodule handling has changed. Previously if you used the "recursive" parameter to handle submodules, ansible would track the submodule upstream's head revision. This has been changed to checkout the version of the submodule specified in the superproject's git repository. This is inline with what git submodule update does. If you want the old behaviour use the new module parameter track_submodules=yes * Checksumming of transferred files has been made more portable and now uses the sha1 algorithm instead of md5 to be compatible with FIPS-140. + As a small side effect, the fetch module no longer returns a useful value in remote_md5. If you need a replacement, switch to using remote_checksum which returns the sha1sum of the remote file. * ansible-doc CLI tool contains various improvements for working with different terminals- update to 1.7.2: - Fixes a bug in accelerate mode which caused a traceback when trying to use that connection method. - Fixes a bug in vault where the password file option was not being used correctly internally. - Improved multi-line parsing when using YAML literal blocks (using > or |). - Fixed a bug with the file module and the creation of relative symlinks. - Fixed a bug where checkmode was not being honored during the templating of files. - Other various bug fixes. - Switch to xz for source packagelamb05 1645793883  !"#$%&'(*,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~2.9.21-bp153.2.3.1     !"!!!##$$$$$#####%&%'''%(((())**********************************)))++,,,,+++)))--.................----------------))))))))))))))))))//0))))))112133444331556666555)7788888888888888877777777777777)))))99:)));;;;;;;;;;;;;;ansible-testansible_test__init__.py__pycache____init__.cpython-36.pyc_data__pycache__versions.cpython-36.pycvirtualenvcheck.cpython-36.pycyamlcheck.cpython-36.pycansible.cfgcli__pycache__ansible_test_cli_stub.cpython-36.pycansible_test_cli_stub.pycompletiondocker.txtnetwork.txtremote.txtwindows.txtcoveragercinjector__pycache__importer.cpython-36.pycpython.cpython-36.pycansibleansible-configansible-connectionansible-consoleansible-docansible-galaxyansible-inventoryansible-playbookansible-pullansible-testansible-vaultimporter.pypytestpython.pyvirtualenv-isolated.shvirtualenv.shinventoryplaybookswindows_coverage_setup.ymlwindows_coverage_teardown.ymlpytestpytest.iniplugins__pycache__ansible_pytest_collections.cpython-36.pycansible_pytest_coverage.cpython-36.pycansible_pytest_collections.pyansible_pytest_coverage.pyrequirementsansible-test.txtconstraints.txtcoverage.txtintegration.cloud.aws.txtintegration.cloud.azure.txtintegration.cloud.cs.txtintegration.cloud.hcloud.txtintegration.cloud.nios.txtintegration.cloud.opennebula.txtintegration.cloud.openshift.txtintegration.cloud.vcenter.txtintegration.txtnetwork-integration.txtsanity.ps1sanity.txtunits.txtwindows-integration.txtsanitycode-smell__pycache__action-plugin-docs.cpython-36.pycempty-init.cpython-36.pycfuture-import-boilerplate.cpython-36.pycline-endings.cpython-36.pycmetaclass-boilerplate.cpython-36.pycno-assert.cpython-36.pycno-basestring.cpython-36.pycno-dict-iteritems.cpython-36.pycno-dict-iterkeys.cpython-36.pycno-dict-itervalues.cpython-36.pycno-get-exception.cpython-36.pycno-illegal-filenames.cpython-36.pycno-main-display.cpython-36.pycno-smart-quotes.cpython-36.pycno-unicode-literals.cpython-36.pycreplace-urlopen.cpython-36.pycshebang.cpython-36.pycsymlinks.cpython-36.pycuse-argspec-type-path.cpython-36.pycuse-compat-six.cpython-36.pycaction-plugin-docs.jsonaction-plugin-docs.pyempty-init.jsonempty-init.pyfuture-import-boilerplate.jsonfuture-import-boilerplate.pyline-endings.jsonline-endings.pymetaclass-boilerplate.jsonmetaclass-boilerplate.pyno-assert.jsonno-assert.pyno-basestring.jsonno-basestring.pyno-dict-iteritems.jsonno-dict-iteritems.pyno-dict-iterkeys.jsonno-dict-iterkeys.pyno-dict-itervalues.jsonno-dict-itervalues.pyno-get-exception.jsonno-get-exception.pyno-illegal-filenames.jsonno-illegal-filenames.pyno-main-display.jsonno-main-display.pyno-smart-quotes.jsonno-smart-quotes.pyno-unicode-literals.jsonno-unicode-literals.pyreplace-urlopen.jsonreplace-urlopen.pyshebang.jsonshebang.pysymlinks.jsonsymlinks.pyuse-argspec-type-path.jsonuse-argspec-type-path.pyuse-compat-six.jsonuse-compat-six.pycompile__pycache__compile.cpython-36.pyccompile.pyimport__pycache__importer.cpython-36.pycimporter.pyintegration-aliases__pycache__yaml_to_json.cpython-36.pycyaml_to_json.pypep8current-ignore.txtpslintpslint.ps1settings.psd1pylintconfigansible-test.cfgcollection.cfgdefault.cfgsanity.cfgplugins__pycache__blacklist.cpython-36.pycdeprecated.cpython-36.pycstring_format.cpython-36.pycblacklist.pydeprecated.pystring_format.pyrstcheckignore-substitutions.txtshellcheckexclude.txtvalidate-modules__pycache__main.cpython-36.pycmain.pyvalidate-modulesvalidate_modules__init__.py__pycache____init__.cpython-36.pycmain.cpython-36.pycmodule_args.cpython-36.pycschema.cpython-36.pycutils.cpython-36.pycmain.pymodule_args.pyps_argspec.ps1schema.pyutils.pyyamllint__pycache__yamllinter.cpython-36.pycconfigdefault.ymlmodules.ymlplugins.ymlyamllinter.pysetupConfigureRemotingForAnsible.ps1docker.shremote.shwindows-httptester.ps1tox.iniversions.pyvirtualenvcheck.pyyamlcheck.py_internal__init__.py__pycache____init__.cpython-36.pycansible_util.cpython-36.pyccache.cpython-36.pycclassification.cpython-36.pyccli.cpython-36.pycconfig.cpython-36.pycconstants.cpython-36.pyccore_ci.cpython-36.pyccover.cpython-36.pyccoverage_util.cpython-36.pyccsharp_import_analysis.cpython-36.pycdata.cpython-36.pycdelegation.cpython-36.pycdiff.cpython-36.pycdocker_util.cpython-36.pycencoding.cpython-36.pycenv.cpython-36.pycexecutor.cpython-36.pycgit.cpython-36.pychttp.cpython-36.pycimport_analysis.cpython-36.pycinit.cpython-36.pycio.cpython-36.pycmanage_ci.cpython-36.pycmetadata.cpython-36.pycpayload.cpython-36.pycpowershell_import_analysis.cpython-36.pyctarget.cpython-36.pyctest.cpython-36.pycthread.cpython-36.pyctypes.cpython-36.pycutil.cpython-36.pycutil_common.cpython-36.pycvenv.cpython-36.pycansible_util.pycache.pyci__init__.py__pycache____init__.cpython-36.pycazp.cpython-36.pyclocal.cpython-36.pycshippable.cpython-36.pycazp.pylocal.pyshippable.pyclassification.pycli.pycloud__init__.py__pycache____init__.cpython-36.pycacme.cpython-36.pycaws.cpython-36.pycazure.cpython-36.pyccloudscale.cpython-36.pyccs.cpython-36.pycfallaxy.cpython-36.pycforeman.cpython-36.pycgcp.cpython-36.pychcloud.cpython-36.pycnios.cpython-36.pycopennebula.cpython-36.pycopenshift.cpython-36.pycscaleway.cpython-36.pyctower.cpython-36.pycvcenter.cpython-36.pycvultr.cpython-36.pycacme.pyaws.pyazure.pycloudscale.pycs.pyfallaxy.pyforeman.pygcp.pyhcloud.pynios.pyopennebula.pyopenshift.pyscaleway.pytower.pyvcenter.pyvultr.pyconfig.pyconstants.pycore_ci.pycover.pycoverage_util.pycsharp_import_analysis.pydata.pydelegation.pydiff.pydocker_util.pyencoding.pyenv.pyexecutor.pygit.pyhttp.pyimport_analysis.pyinit.pyintegration__init__.py__pycache____init__.cpython-36.pycio.pymanage_ci.pymetadata.pypayload.pypowershell_import_analysis.pyprovider__init__.py__pycache____init__.cpython-36.pyclayout__init__.py__pycache____init__.cpython-36.pycansible.cpython-36.pyccollection.cpython-36.pycansible.pycollection.pysource__init__.py__pycache____init__.cpython-36.pycgit.cpython-36.pycinstalled.cpython-36.pycunversioned.cpython-36.pycgit.pyinstalled.pyunversioned.pysanity__init__.py__pycache____init__.cpython-36.pycansible_doc.cpython-36.pycbin_symlinks.cpython-36.pyccompile.cpython-36.pycignores.cpython-36.pycimport.cpython-36.pycintegration_aliases.cpython-36.pycpep8.cpython-36.pycpslint.cpython-36.pycpylint.cpython-36.pycrstcheck.cpython-36.pycsanity_docs.cpython-36.pycshellcheck.cpython-36.pycvalidate_modules.cpython-36.pycyamllint.cpython-36.pycansible_doc.pybin_symlinks.pycompile.pyignores.pyimport.pyintegration_aliases.pypep8.pypslint.pypylint.pyrstcheck.pysanity_docs.pyshellcheck.pyvalidate_modules.pyyamllint.pytarget.pytest.pythread.pytypes.pyunits__init__.py__pycache____init__.cpython-36.pycutil.pyutil_common.pyvenv.pyconfigcloud-config-aws.ini.templatecloud-config-azure.ini.templatecloud-config-cloudscale.ini.templatecloud-config-cs.ini.templatecloud-config-gcp.ini.templatecloud-config-hcloud.ini.templatecloud-config-opennebula.ini.templatecloud-config-openshift.kubeconfig.templatecloud-config-scaleway.ini.templatecloud-config-tower.ini.templatecloud-config-vcenter.ini.templatecloud-config-vultr.ini.templateinventory.networking.templateinventory.winrm.template/usr/bin//usr/lib/python3.6/site-packages//usr/lib/python3.6/site-packages/ansible_test//usr/lib/python3.6/site-packages/ansible_test/__pycache__//usr/lib/python3.6/site-packages/ansible_test/_data//usr/lib/python3.6/site-packages/ansible_test/_data/__pycache__//usr/lib/python3.6/site-packages/ansible_test/_data/cli//usr/lib/python3.6/site-packages/ansible_test/_data/cli/__pycache__//usr/lib/python3.6/site-packages/ansible_test/_data/completion//usr/lib/python3.6/site-packages/ansible_test/_data/injector//usr/lib/python3.6/site-packages/ansible_test/_data/injector/__pycache__//usr/lib/python3.6/site-packages/ansible_test/_data/playbooks//usr/lib/python3.6/site-packages/ansible_test/_data/pytest//usr/lib/python3.6/site-packages/ansible_test/_data/pytest/plugins//usr/lib/python3.6/site-packages/ansible_test/_data/pytest/plugins/__pycache__//usr/lib/python3.6/site-packages/ansible_test/_data/requirements//usr/lib/python3.6/site-packages/ansible_test/_data/sanity//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/code-smell//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/code-smell/__pycache__//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/compile//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/compile/__pycache__//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/import//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/import/__pycache__//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/integration-aliases//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/integration-aliases/__pycache__//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/pep8//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/pslint//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/pylint//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/pylint/config//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/pylint/plugins//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/pylint/plugins/__pycache__//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/rstcheck//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/shellcheck//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/validate-modules//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/validate-modules/__pycache__//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/validate-modules/validate_modules//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/validate-modules/validate_modules/__pycache__//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/yamllint//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/yamllint/__pycache__//usr/lib/python3.6/site-packages/ansible_test/_data/sanity/yamllint/config//usr/lib/python3.6/site-packages/ansible_test/_data/setup//usr/lib/python3.6/site-packages/ansible_test/_internal//usr/lib/python3.6/site-packages/ansible_test/_internal/__pycache__//usr/lib/python3.6/site-packages/ansible_test/_internal/ci//usr/lib/python3.6/site-packages/ansible_test/_internal/ci/__pycache__//usr/lib/python3.6/site-packages/ansible_test/_internal/cloud//usr/lib/python3.6/site-packages/ansible_test/_internal/cloud/__pycache__//usr/lib/python3.6/site-packages/ansible_test/_internal/integration//usr/lib/python3.6/site-packages/ansible_test/_internal/integration/__pycache__//usr/lib/python3.6/site-packages/ansible_test/_internal/provider//usr/lib/python3.6/site-packages/ansible_test/_internal/provider/__pycache__//usr/lib/python3.6/site-packages/ansible_test/_internal/provider/layout//usr/lib/python3.6/site-packages/ansible_test/_internal/provider/layout/__pycache__//usr/lib/python3.6/site-packages/ansible_test/_internal/provider/source//usr/lib/python3.6/site-packages/ansible_test/_internal/provider/source/__pycache__//usr/lib/python3.6/site-packages/ansible_test/_internal/sanity//usr/lib/python3.6/site-packages/ansible_test/_internal/sanity/__pycache__//usr/lib/python3.6/site-packages/ansible_test/_internal/units//usr/lib/python3.6/site-packages/ansible_test/_internal/units/__pycache__//usr/lib/python3.6/site-packages/ansible_test/config/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protectionobs://build.opensuse.org/openSUSE:Maintenance:17411/openSUSE_Backports_SLE-15-SP3_Update/679d76e0ed50ac6f83936eb085a8a7fa-ansible.openSUSE_Backports_SLE-15-SP3_Updatedrpmxz5noarch-suse-linux  Python script, ASCII text executabledirectoryemptypython 3.6 byte-compiledASCII textBourne-Again shell script, ASCII text executableASCII text, with no line terminatorsa /usr/bin/pwsh script, ASCII text executablePython script, UTF-8 Unicode text executableUTF-8 Unicode textPOSIX shell script, ASCII text executable  !"#$%&(*,.02468:<>@BDFHJLNOQRTUVWXYZ[\]_`abcdefghijlnprstuvwxyz{|}~     RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR#"k(5utf-827a5b9c212eba24ff7fc1ccb6404d986355fd265b225780d5b5ec8308477caaa? 7zXZ !t/b']]"k%C8ɾ `l JgƱz l~.cN7RۜA &ąMc]Ӵwf)Lu*p1'g' f oTb@vZhU}b8ᚽϢ s ǪNs}DRa?U"Qu4^~-*U\nF u? F5g*.´ฦ hvX*c}VRaNrN@g$V_|X&l;MBFOʁ( |m7(jr =&xEHObNrA{0\Y_NRnGp 2?n0z;+5 BJK< t}ʶmHe yAb݊īu+[D #1ܷ/e~ 499LoӖS[|P0W?y4x!(l'F)Vl5*ho:uyuvdҨUB;KA'm;e&^وP`/6^a  laG#n9Ta7xosoIP>b ՗:kf ?Ek/P&O2han{|lRYfky@)ڥb*@z9C]= 3cy%8 U7 9Az(i=h*2MU>*Yr$[e,q-7uZ!B!@f `]C0I]qr7bT94MutH͚n(d.LhjsY.58t!pN1JĔ͆ )1^lJ]"4mϻ9zu?;/$݈ l2O;4BHu}'Ns3g=!-1Е1`yƵZJmV$ .R ̓K^PK TKMdEh'Hk.fUDKV.8 WX/fر<祺 dɇc@ke+voMv@Ş J:wBiKibl6k^ Μ Ծi_FGn.(Ƅr0v#5[& jr'S3Mm6U>,~@͐^̡*+XPRߖm" C~ޘVßWXB& eẌ́1.g7~^;;Ftɲ2DvWmwc@ 2ℎ]{OP#䣳Zԝ;.V݈K"Y#X[T_0pSaMTwgM90^.0=Qg?lLhxqDŽZx8KV γ2\x_v|j{d. ta}c m(1V zD#t ]UxzZQj<3pIpԳjp'Dgld p!f ," $.V=XD&42H dɁ!Ix[#ܡZg?ON_[#N>yȪ1Q_q_E=ka$fjMS"[ɜYG̈́NcGNq1Å?Z;T#6r+Rk&njoCeB}?YheD*[aiR@3 f' |C?Zgxj& fؼr'_<2vY7j^jgQ հxnJd wx%q=5 vR"yYEfAbL$lR@{p֞"Th4tA9n鮲fqfdz5W\7M~g-%LTm0&̼)G a?96@!gҖuhzgúe cF{dHtI*]B6J6:y ] 갳$sTۡ`P%'˱<ܐg3 B,lJbI.(h9 B{pԓ ?j K8"x]Z,S8^9f?d"L¿8߻ ]bg} #U $IЛ# &P'6! Ns;,p_:D019=~Kaw_sn<nD 211y'Ek_j{xDv/5>xuߴ([ FIIN5,9GީUuB "T>^j{ }f:"Ypp?!g+1Nqş{ D:'(('=V0S=h^-=/Aŝ1঍ok.UFH<8;,^zL4"*NblMYXĔUGC WUˀG^%͇cKYOW8>F#iӇoBy*/ -2*XIG\~(EqSb;_r :&LN*N %,@cM Rf33fR;S֗,Ts;|+ 0L$.UZOvWz*Zzݐ2wo"I7W0.Bq,ٰK( ؀4^F?c})t]D*SvNuC(heJLCbݦNӔA?QF0E_UMuQ4/]Ö ݗh#Q$g)6φiڹnݝBIҙLǡuHПqIDhKE{uݽj#[OFT"1 b @r\usL2Hq֯qz3n,ܛ1Ԏԩ )6÷oh33͞ƽ.X)Hvh[ꋮ!!ȿ| ~s5ճn!^z@QEPFƅΣ&H|SnڨCo8XX(ۏILUy, d֯l,.e{7#h /_ rZ|Ro^27Ux]Pd' !HYS~` ܿMZmCA qPIk_*=%TIy$FkTro'۝'D4UR0VC$D3!NiBYBI-s5 X+F¶F㴹-&݉uqF'r/_sZ?]o~t̽\!n/:kP$ ED IZ杝u=xJUBT+`̕Y2LK~hj{h~LWHf X"j'7NV@Åx :MZ '}iAZb6e=7ы9ܘ.BV O6x<<=$1[Ei-|%Ey?ĺ=N+c?ɲ 3)@#HTψ7toWUC@˦],I3AHuƀi=\J܊K_XCWmө g$JD55Z<~C`]; ξ>L)i+DY-kOte mhz0զLzNmGLGv1]8A,#O-zjCFA4dـ5o8WWQrmVq,OSOTczC|DW[Ga,isQd  b"!yG"h+GPg w(9;HX8#&pPzqvͮ~Q.8�#\yM=Y\&= {![%>p#JS"&pg2-Ua`q1tEQP;Z6Gf@jܭYrپ2x%M 13ͻ[鏖$qZB9vj(! \9(g+_ ~-nHf]D9@KI- Гm-'*e퉪,5%mЩ+C&h>*1BrӴj1'3FdžRtWNFO) _w?^q#w_`̹b>YyddF!W}4:Ǣ4CpjAY1?dhaC@O1#2 x2 6w+i~Sq ot2*Eԡ6rҦg; XVjYu YevvVD"-<9˝BiZ.T@fWW n^1?AI&`5'5[-!fbT>z#;:Wə+W[;ԑT2-cԯ|8R ) 4@ w}UZ!%boRHnnTOWo ΗCã,KE/2D{mH"*Y7'ݡY){&רu"} ?e€~O*WIU>!zף R` ŽLDH2pUhK^;96ɞu5H˦.]zvzWbo=@}m-B r5W5vv:;ߎzmcJ/Bdoؘ"8QO$e}nN 2sиxDob;ѵ`œORmy4@^I* qfΆg !ӝO;sXZ`A0'''Ixa2o-t"K; 1>Msmlj|TBQ`4K.dd_k]37ɠrbE+0664[GMٹ qy^g٠0(ipq֛ڣ]XqM]"]ejijxNF. ˡ+(^n_aINP{Xx}ο/~,N-Z>eptPz@S(``$kJ黝6X-p)M%]O *) aDL-0!;y>h(َL>@sQqϥMchо2)_jk'>+6uɅG*1>ix4Bx+߁xa?xF<7>X=?^ < ,*:8f@lu 6lHthʸ[MގUf̆za1nI-Nj\Jﻖ̯ 5ڦsL @0Ѧ h{F/y|g݆ǃ M7Ofz2.w&$]syR]+Kr;+on5eyȉЧ˚;*>)U`5G|U +/(އjNUSo.@6Q") /-Z:}(Ag}f+9C@7W7o/.K9 $OL.*5"Tm%Sx x6lAM=7fӦZ/+U8xJ ssGܫ>+==#[w_DF)yÆZ"ss.`af-fZ #DOB"X6Z[ƪLrrl֙Lt71mB p8>-U]jDpqnjVY׽dTŗ Zά䂺=M ؤ7\~2s(a6gX,(ˮU'c$X[t[˱G/9'N1 5RָKiaMd^ꎘvƃL0g F;8nEaJ']=ѯ+nYn(6YYBz$"8BhnvnwNs&:I{cICMeՄg(BE?,`) ]jfd.>`P':$sʎ/,l:0?%˼wzRX#PU%aF*-Gr3Z<@M]\ѓ(:{ù x7 ~hV2Λ%tgt vg۟KBG9T%ap{adž6a_HVwD#B/ՔrsMb7=JNf-uuvԧ?娵p![cX]ڈzb3\)e}G0^I!{$M){ w!vY=W㰧L+8w#&l2P~5ٞ-Osj-v/厰A@<]KPV2 ko5i2[ FgY"vx:s A1RtT˱ >[aNk 縴?&SL؉;s7 "FbǪg{*k23A:XÂS^ J73?@)Y?:R"TV]l~(p]kſeV.Ymd n+>Z()ڡgɷ ds/ㄸyOa(>[bd697z3޿M Ѓ3)S0,P JO`WƬ_0%G.YGF+ hŜ'ײ3xKM("m6@us9a^y,+dplJ,)&Ȕ\[Aj~o6ŭH|+#<22W@vYu V+ Ӧ PHϵja^kat P^ڪȘ| *9O?^~H9=V:0 cb=o2; 8ӘRj{A{v1ktpg!+%+T& X3e- (ނClySB9 2 zdWo僵Xb{n㘤*F*׹W0 57#8<C@XW{1R, nT(5*"=])?aF<ܧ:O)po7l!s{I2|on%%d/+Ad C_ \k:$f%E[j[R E{7h/1:<}< ڕ KJ TV6xCsm=1FUtȚ%.x>,`2/TK/'s4ʧmDEzH-uWbAfAI(nAQ>5Ԉ"Fҝ ]PwB͞<%Sa0tdJ_96Mdps%VEF5k&E jrb˖*4z>qb5`57K| ;N6d 3A momMTм!BbȡUy>y6kvV^7+ffm@?a1r$4sAD-!FKQM# _ т: m>ZPw亰DJxȥԖ]<RWd8ʯf!˴/h-~^?'* 9B h|㲈* ئ^b&zU@@A<;/aWWA?lA zVm"4y8xbsI:&r`Szs@J?ߥ`6{RLCHE ul-^Ĭ.q?kzPhOQ$uGV}/K͍G 4F~y, :}jj yn^Bfhg1S׼ƹ.an۔Ⱥu69ۡr3.KJU.+jXEaL yiutk-#Et*%v_>zHdA~S ZjoAka%-ϛF;`}w/=oiC.X \Ўbt`۞MSy2_ HUCbU^&p _ ,k#vw >6e‰;;@Jh@Qj {s:{iV$dа F˺a]`#H` ޖcKT)Ǥ) V[TBknS@;N/x̽a&vc*HXQ%zxfvc#=p&@2Zҋ4JvLCx?Bsxox| . : !#zEs.E'eZwGpeم6trGh. ƻ1&x-L&u~tb&K晫q@1(:W+%3$Tf25n't{%Uv7\q?6|VkMM5e=d#S6,Aj0gm0**ދ^I' _%n~sFrP9VlߢJ23p0#*08|BkU__gEZ{U8SQ Fby\ջlv(]8xC79l$^_Bak:Km[x&:Rd2l(&/Y6OUEKFu=h#D"ҹ8y[nqCoo׌`27eŏKyWeSN˴gzH)3F§ȟ+ڝ&t-}ĺJ9=D'߮69.5\ʒ0n=6HHѵORАu 죶/yf`{N8ŲM i;]Bip^Y@yk=g%%fKYQ6=u/Zy^uj@ԇUh ;,$MMnW #W3(msd,\.-rò(S@̣q%Ӟ@Z.9`{o!@HR6&KYmͽ5Az["\ؽ7ODƬ+##d&navQ<=MX-XCБUp}CǛ:sÒ \p\˴@ah|F~£ldT`\63^;[&<̳]J>4FX_m!wa~/ pzPO#7]Ld[nѠI4a3ښS|u0sjyY7(}M}E-I(?eSMۡ%.-֧f!ak0VeN{$]mD_o,L\Gq9_e-ܩ`h̪ *Ԇ?~35($鎶3TYrG <5܊ HTzْt>tYf66QsH 6Op;C㆙zU2zҐL nI=$C:|oܴ†>ncz![*V 4LH%ƆYE dK*Na<-DtMC4R"WIm)?ƽ!$dox- %Rj/,uS=#.! }D3!WͫQ9Nc]8?)2#V!bVD: S4Qk.kShm[XA;GJ9PN'+m'H,fFw lj0Z+܀ŰKä l1*O+ |B4k?YX2{I%s--24˾26ݿVs8̳z&[-y2MSԝugA)e6)t]Y̢3&qfŲ&0L@ h: 5XAmJ㔒8hrr&u2+(MBQ'^iKxb ~t7F–! Ug?}j+/Ob ]iu34%dPbP +3bkJUB8R|sY&^+csk {M/I1`"E] cSfѕn+?42k]DQ{?˩ڕX9U~uVƇc8g5o%;~ޭ/.H?(`䉸ڙtRwFvo=>IKmz1Uc:!vmN.iqvɺud` ;ٯt!ȋ%]DRNj"|73 p҉ T叮G$Mt-3sy[b֚v- A /c3j$_Nh;y n,% U,o냳.l_ Cge'Ŋ va L9f7 h"Jݜl6vcF% 0ɭzNZTw.s/l ME*憉(.LyS8 Zijϟ> -S9Π"8MV|Xdy!fVatRdȌbo dg(ŷh1 ^³|㷚D? n>[Vk^-_;dm;mcrUVNо _jKV JgshIGJ1Y[! \' 5AV'?z), k¶۞ܯPT`7W }wK]hLv0cOVF}{C-qA!)DK0Uz?"mT)}%"3qY럲郐ufĀ[G%2uEod#V\/cR4g}t`Fd7 ݋ȒGK cBM[ףN~hh#nq9WN%O!VIQ|tp8B %~"z wFoCmix~a29WUHFC$*5/c8GxfӤS=Iڼ;5Me9Q d8y> ;x[on*( G65=\9t^@lbWB}WѺ2ÜJ)B 8y"Y$9ͤڭc~g\5AM?q{/o~a}Do.p ȩ 8g Ᾰ{/JF\r`EDR+=./Vc'zIƨu:pKft$QZ̬7Hn(>} ZC 6 HC۹UXGnd [¢a@o/e.}ꑰSkMKe,fLJ grZ-+Tv[GvrI4^^pؾmedE B: ]rlN3ĊgJe8,ɷiga 3}R=GFٻ=\p)~Xv ˞S_6opuq(6?;;rYEz;QkX BYjW>ԟKPt.!\8Ɓg 6?kpN[g^P&KWN pf+B2-KfQQҠ';\5z}˖^K"P%;⑃_NF{`tR$.NʷUƵ#.7j?7)qWB) Eμ66uL"N|%*P+ST6?l@B14`I)հZT#/MYvžj"9dm 26Mٽ?}Y Ŷc"% ylrdD_5^Ha,T, VJWLaQʆn(XQ=CYw4DK\®ks ? tx# :+)TALi2W9ەsX׊㳣 @ -D0X/Ppn)$_噆ä G7Z~*f9iJ}:bx^Zʅh5&uxvQZuhgbG3^-z ?Mj2ƴB6ՀJ*O"c@`'ic7s/u)7bȹOUYˣP.v j149auٽ ɘX{N-uOxtMvZ̴xq\t ^"o$lP^? zZDpO6-301Dǚwin#cz&b;\ب?~|h;2Y4022͌7ҭւ5VB.xE&nHKA\XB^ճ{)ځ^JRfXcB[N^Ӓ ۤ+sWuTghCxS#/$om ]f}tѢ{})?%r.89 ,fy_q4V>*X6mfctub1O;f`p/@]oRKRRboYFLNk?Ӌ}a go}uY+@u) UD#^17dSo.+8ezfMW4>M@!-c2CGZWv}W I‹RF]5AB|.ߺ8f3Dn(214Ra"@] v s>by! wS|-܃٩(-ҹ?&+v&#if^8]O c a4(}qܭmɈYV`o6.wG"ts 8*aj,.~yi,Ul<3 hڒ#2<^r'p8+Fʞ&[BuvYp~6qbM6r+qDdf^` *cenrc[yqz.?R]PR=|E:G\rؘ(@*lÚO - 8 ƌg YHfBe% ȼ0lnѿX * auu3Ώ$vcN*%9L8 l֠xX>3СV'|z|ې߈G]IMֿ|7(v>@vr~]]+uAR;CLA?3I JmBTBO,nמmQړ3~ކWpjy7HatTaױOc0WC2_!H;pBsػd+Z7dpy Ir9up 1Z0U0&<]sORHGvP7!nBUj{n~rUʳrBhѢD,Sm)KCʢCTQQԭ 1G{9Tk+Pq۰hô>?PD㳈лd/;Og.m,]{&Ib\K%_}$,b,WT|9"?iƐ77H]%v^7p^G`5   /Kvz3g-) !UOHCL7:NM{D]<,m`TCWbѳfXq1'Rt&LG0 gj(ùQGSYQtT~CAsɡHwIi!ŲPIUL!2TlOݔz4Jf5PPkg8p%u>ҲCsi(vϙ$6~ pwGCdҎO1{hW&4N jNFON>u{Q+OL3m]n.߆s8o25JY@!{cWn%a2bɴ LB1:~p?7vlFR־1O?  Q!iVb.th5_ ԇ:ha8DU ~̓g4NcPafP:sʏsJha}d{f;݈e}X"bkEtHY^3ɿs. -k Gb˘}idAg+hjp6ótxG.!১7O*/뤿Ydi:c2jf 4ߏXRt R">ゎ BA/… r5q0U%h\H%fk">aZıBR PdMP;d)8s MD ?[nspnlF^+&.]($i6E>\YR{JEf $w4;B}Ql($<C#.LHuR|Ɣ1b>9Q͂?"_}.'AC4-doQWE ZY} UɛeoN^pgcy aAP\{#6i]]EqZn"Jm`"F]QϔDɸ/Y K^RˉiP8~x4y\{K]૞Xb>>Bp 8#+?`Դ-=#$Ðۼb^n蘽0q ^Q.֨\'fEЖNэ?,^J^)b woU,!*gIt2Ts&/MBJ|&g)݈Q(i^ |~?slF֊ ʡb'$F 2JsDwCWy$Dk%D4|{dڛ~h n=5`n\ɮHG5UW) ruH>1Js L{ Lw1.u(^lmT5OsZA = &x!\5?dZddBr'`er(/L-#@Ɩr/oLÖAݍ{4[ )!1EdJVV,DET6E=FCRmlOLUOѐ./K蝋6]gl~3lisc);Jal <~w*EDxJ uQP0=1Ex:X=:Fl^n*/#:h0HH^"bMAOL>0UqKE6f1+3S{V8ą4 |Q2% E-K(s2 =ZVWώbwE d*'5*9)U9A: Xx\!k@Ht[ YN\~WȆs3kSNvԤNXlĀ!Ͼx櫲[NOq+ҘӅ H)VC MH=$xZSpUIDPw|qoDgαb{<~VҥDNRD :Y*?D-jWGL>}_KCgXiNԅ_e% sZk@y\]N1#?[e|1}m7*ő0񽢮S;;޻@W F~󾢊Z\3Lp`M:,!/~<0pKWiF,&Ґ͖jtX} ܧ8N([D䇖>]hqipy GJw2V2`W{Z/ɍ! m $\@ p^# ? S7+U}㷎|\/^unP0ǫ€"]P:Ä]W?am̭}He\~Z`N}HNӠ5w41OJh3*wڌ1p3Fs^ U2t|v@D܇KjS\dl}Гƣz֊AG: qgg c3N'Gq."?vƜq_ꍂKro8֍mEKpuAv>,7}^q?ɚMC]hiEt8A`썜{ {exFൃ_^֘6h_!g:Ujif;^bpg6j.zøJ: V?Կ ۟zmcN=@H5&:ňD_[*zT&|wjH(RYWqE '6ܨ+nE-B a?pj\:ΨYՇ3:Msʈ&҂@/Un(IrH|LX4܆ D(AW"ZYX= 07Mӽ^.%Kv'MUo3(OzFdܱ[pވqyL׹U} H+yvf}:Hb(` ia9hMop%hj<iln S 4lq2͵^bU~s9-eҷ{ur0uE uRǼ7#E4mQtL @56Qr_p)x?ddxdK$m4W[pF4T{'Z3"1پz#'Wj`XnkRd}TOҢ_oVBImԭ=ȝI-dKbd!*,IA$EY%M8RI>y9R}[{V?Ƿ NA^{o.pt˦=Z_ڮkؖJtp%avD\ rB?U?8,u%19J,l=:G_soNu{nv;[ !꽗"WŔ*\FfuX7m#( ўF6͇Qze7Gu%QP̩d&Akt `GB =tI]wX}ml6&E%U9ř*|UӰwqɱ[a.M)9}D=!J#*G:}_J=TDā~NX7X )@y&U"9FⲕFi VYuz+Fw)/y Ve'*g@G+VG-IzPzG#U˶IHW,^q52O'6 FX6*JX 饿Cņ<\MO" 昮 !h7;(q=jγ c,4}GvRSHdo;!.نo ]L,ÙH Ti>V,6Q lta7d0>Z J`cbӐ<"B2_M3aX#\3靔?zLF=6lbBt* mh;7b,Y?tl&ebhβvi" t !Τw6Dn`RRD~sH|?:"BòoXG#d~A=وo}ubԅ3;. >\,jGq׮  )U}YQCx<+VrC>&oJr&"u zӗ}ְCrT6v+bWb;mP?R^ʛAl,La*dh{4Nd ,L\~6Py5Y3>ÊSnhB`-J =u[T޳Dg5~mMS#|E&< tL4WF$ ˭f۶WkJ. -}e2dJm;߭ǭOMr\k- KH:XgtoXOi*K]ߌ_iܨюLLEen-'F#D7E8doC2aʮ§uR5bh؅BFH4=ڞnXnJn~91V77]*,*Eo'7`^U9c+>ƇEz9zi,ߚNF՗#(6sV4ܷ2ra82~Z 4WwF.! xD2*3bB%%m%GX^$C7O$ RsH1^Lz&X\wqg3ZcFp nnF*jIWQ-L"3 Dm, \ԣ)wgrXZc_s9H?T((;~0emo?(vn PK Ძhy^l\7.9Ӧ28A 2k_+Oa;6rXͺOץpe,aKRnF"GzXB[EZ(6CӒUNPf2 \NTt*g K b(VTClt UrD1cmexGEe1M#{rAUo#lf=[Cj]x~n#s#-ᗥ 9WZQgN NGԶbBtR]YkNVjLJZ$#Yi1:D4EML|)[tչ˝^$H=(^V+<ށ]CjqzbX#xYT[izKޤ6<&g̼w .%0f]IFk*7DD nwze\JhR T%&O̝K>=\ 9?cWicA˰M"sPXKBbܣXu[[}p[<\;*H?SSE$#ϙF9g _>ru>?7`[!9l0l3X IeLK@Lӓ%7D_gfaqJZߦt{bLTC<ϱ86iCu+sH:E%N/<$!{5fK/ِVӅJ gR 'ə "a!SJ¬VH.{07 AIZV`d,E+}QQ¯2R:ڧL;2[{C I1>6wF2.+zR(pƗ΃6$ ӉoK@?k gSVW _iY<~2]@*7]Y\!i 1v&fn^73 `j_ 9* [R#3QS`~1l4hw45B TNד/%$mutm7Va Iyem>6-B9r ReUy΃c!MYpV9lR_H/Y G6ì9fi?,]֭{ wIiOU3'|tY=)?lAФ5\^9YLM!.=>Ӛw ZKS1ُ3oax`Qx^ Ey P<@ϑTzk0Dn'5i:9\n0D7o;rJ?UlA)'ܣ`(pySS_7RA9|B 0$aޢͻ9c\Q0Yk^t.̱V1IW~p(Bz@`"Nwh 5q8ef!?5c =BDn&Kwjhu3;k? ]d_ϊbΧI%([7 WH@LI 罖N $m6Rs5\L!yQ,6ӡe"i%<,ż@ CƗu/'>)˗4;L(TZO_:ݬ!ညX%?9;@sQeR!2gˣgW@MH(”uC%z`R6}M.욃(85vP>Ot{F-|c+xgBDuII5̲g=KF"z&,VYy祣<پz3(] = fYHtnuXف7hX<, WkድSУ;#Vf˔X9kfn9N@֨m0=8 +ACc~eryvAa'6e>0NaD(#tjk?]2y P;ʷNtO=9P{rߟG; f6h%aTRѷ Y؍uVVX,mu֝49ͷ؍b,q>RU 5uvXCq7=(4Jt#5MR^N_٧X6Mڠ _R9F,+Ͳ[YHGht: ˈjuh]&C.z{a8ҠhvEK;i 0g@+\喽G۞"- M7iDO)ElB#w_ٟ| iwA)~2C=v:m1JLcnGR&B xЂ 2w<\¾-ƶ4jbi0ٶ.j3iULBSM‰Z?(~n*4;7CPlKn궩mpka ٙĵ Ȅj) 9 x|c_SҀ%*Q{oVACzXv$6&}?B~>8-ft+Vbyi+ht"qҍL)4Kj&+ swuȸ:`DӐ^Pd6d9XFyQd0hO,U}5nqPg@ǝf$փ0~M@#(5Y4x!H^Kn! ce$GnH|?Ւ 7{'׆_p"nc ⿺Y[Յ¤./y ڙI&6EVdzM ~ת.e|tᡑ.4*3ޅ)ΎB2ai4#XFEj~ ROԴڻg%hqzJ^|nৢ,P͢3g9^ɜB7vM4ZGprwlǎm[0[z O7}W|ۂw秭X>19*dT[^sso^x0GT,pg0^aˉ%t'FS|J]+RZkkǐⱦ77uNF "#pY\D&Jm3th\NE,n]P.A *@)vc(ߛL*JIo. ց;PȾuiюÕHuCMJNI 4Wb.};֫ru׍ &RX@iʞ&021 ?{OFdjYtA266E?I^i9B1:Zg?%1V1G1r6 t9waWompƤ3)a S֪c>m#4C}Ο=N,q.z-Y/}"Y3fQߐLZVcGt ;=aD/i,硆"ĿY`Yt^Nx⳯^ͤϾ^b UItd?^0g[r"@g5iIyxF h"SN#-c;i IS @-;)CYhhTt|:b(`1{->1CӐ~|sU`B%2`8Ko1x[q8 礁y^FK| 1^;6uҐ4RlmنA?#?deOP U7}V"0벝4͂kv2@2(s=3o{n"Oەघ;ķU~3@{ۦnױȫօwqNhh9 WA+o+RE.WvT !ǣ~Wro1eG8 ̞=١QYI&#ǙjW j9 6ɻDHU)3cLʛ=߄ԨǮD.?ܖw{rp)I <d'ɵ57\"ޑa2Sp$M4 ΤяW* tx(BBK7ALiE|b6t779`Ai2(+[K;HO^MaBL2]l?3ۊegy#e'vqUΝɜFFbtKh\!0sU+NFYN ڮ3~D++S. 6,>8noKk`͏Xa+P ¾7>em7_t5xC!kь'wƫJ%7][EF_o1h,\GfkQ3dqC#m|;DtQL]O׭܌"ܻݦM4Tׁ M<~fK.piP3|x ӋdmLJmPAS)2U"~vr[F<_͈:DoIX&)6) 8 LZm1d:MQ~𰌳ΫpBc~P`&$ZЀ+o<~vyzxhJr/v!B, JOp7'oVMMDs2LF Z3{fd* _N[E\+ 7Cw!^J#Gt{<Eg1ɦ12U(8~%UUIQy>^7l e!h/g'yuӝԛ'2Cx+́2ďD\ͮ ȵ+O׽A fԿoy)DR~gp%7""}z!@'?e%w{^}O!4dQ\ /1֐MD*qAؽo^L9ฎdhMlz s exV޴ Fc#=qq$ly"r3WXm:O'i|sՃ>iJ4/XEۯO 5qP?iCM%c i.pDkgLcd) ~1@0No?Dh)php#FWn.'|}/$3 f1Q"5Ckk G '_q3m+W/::zD@?tӍϫ EɅyH3,妊XICfm/ݹ M4_ȪAq?" M`uvXl}w)a x4,:d?5:9.~rېnv*(=e?xY@,$F8ưbd|Y| O#357%~rҮQ' W=ZNeLޟ¹9Yg`2_;qe gD!P;3ւY_Il;ۀîva$s 4`l?uĎjײ.m”gĕ*b{>ǐ4Ht̄ݿ>b'?Sw CoW6wI˥t!Brtg QPL z D%B'4ZC(ISWlN&e l}<}*ax~C!Dx=M# [ f"N SiP۝mQ5#&mjkEC!^J׍YlO{ xùjAwqKw׺ S)ğj#QB :ȕh$ݫA]6x0$ nr'i1U4&I]Ҕ6o*gs,eD8 -Oe3qJMvR!GYk ifK:_<Ό {fW =nDH~k519\w+zړ+'CL2c͸/3]pkm<(C*Got&ujTʵ ;cp8^iQʌzQ8xధ#wU*H9objx٣ VLjŕ`0A[ QJΦɡ Tܱ\ɗ ⵌ_NTHFh<1?E.ԔdȲka6' *#du-ȻDϲ8_^E# c#k74E4M 3Qƒkpn]8,$ fohH#|E`Hm\5V5fD4 {Uρ7")9BeیÒfFUCXኢO';q+ZƢwK'Gg.ybAg|_X{%s&Nd ~T]C@q7KU͕hlQjSmg|hdʚ;I"l? ->|EF9ߠ2d++.e\$Kh[tV4r4v^OWY5Mydw JFƌ^9qe*tIc]Iҝ2lzTH j蒠c͔w_h(tF@{'} ueT1˜Mb`K笚_rlĬ:oO@nTLc0’wKj3ubZ<1(\>GDb᤬`z˘^|}t*O/+w~Q4nF1KmTQҩO@;H/c ̙ =2xk[KY x2\Z ƧxbGk#*|#RaZ(1 +".\sja  {/iW=҅s!#Q=:l&ޫGD_ TZnL,acY/_ q3m UFa2?Y0O1uѾ@lF~(PJH2LܹiΥO%H%ԜX,r*$pznV,p=Ygr2d#8T56|v0kQzFgq͆'&zG{2f@Ex[@=iY?iV%ori\ۑ{16v}t́q&SmA Xlxk?QZNL}g;C_[ ~ d_.!h; k[ QZ¹[F͘҂'i~֫˫ Qv#I7R`a>czzGw  >#{OfX/+O;><|/)`Vm 2ᎦåF3mˌFR .곏8Z/t7)=V?M̜di0)SH%'M+zoI *\]<}B!iq_c|Mœ6[?#e嗷X:&)& ;VpպGg+d1j X?.ծ5hHtTU&ޚ-k@ }q0>-ӊz~Vt]e_6THmErV~X`:tvT#A _ D` ^GG5!:'O0T]Au Ir)9cps- qp M5ū؏5xsP5mU fO4/q^1ЖǮFfq 8ߚ#4i }x>|2fY#[\]ӅQқ9,VLkH3EȿADgyDP1nRW): j<],g̗@\}((f[v/u5VNX @Ȗf|1Ffgyx.5Ojv[JAW fݟJE$Cwra#{cwE3)nL[^^~h‘aDQLg=G]O2#0 <0ׂtz&a~]DHNѷZ1Pbw/NHN٫u&7cźxm׻>o*˗ѼL@ fGPYn/<%Շ#l*@^h_1RZʛN1ǿs'R2RcgFt8 Հ=CYx6YJB{1Riw`ՙ?6u"^ jl 1>b^HNs-x^@f\O'Cc lmr0ײUh*:ZEࢫ5 )>8쬡3b.Rf% ^S=ORڻSXƛ:c)WaL?[LVp.)0!qqXX;eE7eҥ`:0N\ū*K)?gԪH ,VW+[ B.S8`θJkv52JҚE@6$8m8}LCA=~$4gt>,o%$E.PXɍgccre?3N#4_"6|o4|6I]. r0+@1ũfcmy_ZAyJZ28p&mFhD%6"m, S:9_ Yfo3>0E23\XuB !YS ,Zp'b6$$4;߂yT-a4kAH[s0@Xs' fgZ8-~](6!lFn&qYJ dWsm)ue-___9r?564ͪK U7f,iԕX+8 E.!<G> &z}Ⱦ4w{LxOaUE9I4Xr *)/oŃGjQ:<b]npI5%++Ӽ^ J#s,0?]=mG S}_]/t+afd . 6 rݢ$r_cFa fʛ4[`/R8jO&)ϊWH^ ;>>pqds! ޼ֺ0QUt6%#+9䠀^]xdƝiN?E.KUgCGi}vT Ҟ&h;4 Ǒ^L-_k~44QS1~i>?"!P_fÛ{ dV ǟ3O>rэSGz` e UK`'-x-ԤD9`:̂#ɕMᧅJ F.G_\mG/ulHQ~w~HݐuBm&Vd72Y4PcesܜGql\IgbFnRhfʒ"UEC ے!6=r8)e.ԨveV!Hz"s:Ļt~@ CF0#ǖLv@$me{zI \iPӺ wܔK ncS}a,oX٘y!z$H9WĴ,-bHUeyt%3(psĮuYpfjmB("I|w>¥޷z%?ze($<Ie1辪 HU|8uF_bF!Rz,WLHŗ!^< DET><gg#W[ }й7DWz´lV{1P9.4 o(9p+bqZrFD\js zHQ&:rQlL[E!ǯ񀱍<D{tЂy1 3!J9bb؁Z;kxa5nD2IA93YǴNPD(iaWݘ-JbiH2ְӉj68˔ hA4#*1nLEDl>U)Xe/t'YgQCHa4z3cf}o:]yն\:0";itnE/-7:ȃ!D"ؕu(za$>jeR+ifX_43 R)O_Je'+̆ ln Z[5;n!`{٧y BJl9?_xmrI)E2E82K*~F@*[X[^u- "p=g:Uph8h"#)-9"'eZnFL:0t,GH,vіpHTz@#cǥS2!-+K ex;A%!_x+t=<~4K9CVh5{Ųcf7J~{Aↇ7^~|w#]R PPʉNmqch* ^EA_4痵{Ԥ!ݮ{Z^>R@ +p 0?q-ɼUmD7T\`~߲й* Ue9~-7F#㰉8^a(KW>`%cl]+Bbo9&$ DƳ^tkqR[Z&Rv}#QQ)SIףBihȧd&r8!Gr5]`mg'm}ϺO9dMxy 4]]WAqm8t5Lsm@ѡ(Mǚ/yQĜM[2kÉ+0w=^w,Z]Ӄw ?/\-*w`cOEJ ŋW1ҀsBvfwwBa-q{krYyZkY#>xx9P&M7^oLVā>@X7L1~|}as&@Q!J轙ҐA V*T橤ľ7g:zh$Ը 6 Bm0"PI޲F&.džCڮ*^佄n܆N+$8a?݌TlP(Q@ jz#Ugѐ ¨WuLix -g\n(jEzF0uBCUP seE8bS}d^ 4ªʑY"C6ndC0ph[Ù@eKc^4o\_廕~NK3s3<ݹiф>7@rEܜx&^*JB/uQ$v\l⮋I: k9 a*;TxP+!9U7>IxH;ը >[p~Љ[q6+Pu{j8sOkNl(;Y`ݾ¤ z.G!_/8e5 L/;](nH'X cpIgɍ6i\|o&UhW!_Ag[oHr5Ex-/\Uy;H޼u߉D1V:.2WQK(NArrftӂXC }GPojmRu+׳Ft.R(UN}!vԜ5_-V-ذKשc:h)L NrPnaweuԴ[@So$0p̉@*=hi ey:%*)SR0 jLk]jzHêN+~D3-4[溵Ϧ3q A%Lu"o3t\#x_?=zKYCۗ/][q2xR3_@*mU7bC+)}z0Z;2sw^\>{fQ`42lX?)BKËOP뒕tr0׿l֜HAI+iDWpaɱ=ۓrQ#DfPC')rr%~?b+fRfz-TLJ_ɂW !󒣟l;Ij)Zn8~9CJЯw>4rxHI# @<0V&6Mr)<`”*g'z'逽[jxM_b9ĤH2%DA=d(5ۘ}y4p&~J#SK(R(W2P@Wb7Ͻ 28OH'nT(6+7j;ez a L?~/^FoXl}xrK(SRϳ 5 y" 6ёQZptM(dW/ G Gc6Uпi g@twYT'oM: :#mϽkU1 -cS+M6 eJJ$e_٠U.OSHb#ay촃(&_QmSv;~ U v:@pǕM l^+NirzmP3/c5寅o2o/NWD .s! w=CSx ȠmD{N5esa|;) Lw.F=Y- xۃLՓΣg JURͭdDEUJ73EijUFXAiCvl Nq{#/s1mKt7#jKC!G%x}hPj X+7Y1Uiv2&ڲ Qa7 KMn&J]'zϓFf_ZTv!Fol:nMT`׼?Nc-Mb7F*M% @9{nӦyOgem:xVBj>Ԥ5-@1iW$}.hg:t|*ÄDr`\royk'6oـ[*}E6#A &s3q{tD.P WYKi(/ইfJ㱇eC@Z3[@)FBG8EV S76H/Pv IG %`g_B/ ݛ~QP6E'nB['nS t5ˀLqd' kNOs[3-EOȇ%glz6-+S:r%WGRV}nЇ{) 3Scj&}i#r>3ҠeTbƓ7uྐྵ'*$N/M-iy :q/n )q1r$Ԓ6ɿL:1"R;/d5ǝ LTC(@xi3P1B 1*gxDȮ%,o`<\FUṕXpGJ|SEk}k36L,7^Z 2o\@^o4)P;#`X`MRMy!`k;2XXGߐTZ)MhGeCA8Q]l4V s}tY˜g r^.gO8yREG[-kӛV0;CG(kWnT I>}r<||v*lGq5F,qK ._Aι`xaEԹ+~@)1n˜:&xg2sm44E5&(Gq3/ 6aFnyj g33=3į rR=XU5Ic-sQiLܛ_!?ʞ-L l26cy"EN8vgN}Q,H67wne 2nh,зYOSa^xy<ėq 4t\ )c>*|#n1]G:TQQs~/2"JfOFUb?X+cɗ`q/Ծ ;KڵXٝxw:LCpL^GC3:2ch/_m2E*Կ,hK[!YMcoS\1uN ztDMop9Н__4)ڂ+jGntt ~o!cr/}CO4G8gOU\,螵]$g̍#~)!CsUZN  'JM[f}s $V OOÈIzq" 0WYx+__8AbTڦf9{\@ts ?kc^c;U|DLp84<\.R.ep+s"/e?^/>~2_QfL#Wp('& U{!:V$š݌5'Z[R;Z^Cy `|8^+h7-um,8Ӣ,s^nAC_a2 fMui &v$vS;e<#RgN :9JBϵߏAV'aքFt,ru șn Qxof*`6d~Bq%R- 2A~dd[r@Bu kH\$k*l bEM$Ìk33mRFu0]#w>K?f<JT~$M )gEhxaXD.3Lp2Kx9>ww{33k܇ *xj /5|brf3_Ze`6!x:&E޳\UfwֳV$3;{kTZR\ʶ֝($[՝CX|_1ޮls%t+ ,ߚ%>Ojn cXIؼxڍ)ٺ)+3qj(vEEުԿ+fMXNW:@s]$A'U7=47KA-]E>w:f]5 C Ǐ#w++gvヿȰZGi]xF61ifMI=$ubZsU|zfx= 2ϛ{**vﳨ钅cfnye(íΜ@m{tj 3>d''@sܔ'6+V A/6w@kq}#qѴ$XO6"ejF)RHa*6 $O1`+:5!acח̯JY[~a0_zH4u}~o٦c,/.}f%2E>SxbJ̊K0T+c גito͓A.sG*$?+Qtt_'W!#j~?*| m֍xX[Ѹoq?*>y!@DpQ?:vwR=$Jch;%dߎQ؀kT;C^qt` Bw:)ONA,G_fZsebqYj37G&AH)yRK>~3c}+E`J,&G=a v&Cwg %w* ٠N7e'G XmU:q5FPzލ "e;4L*c[;YD̊VG]r/_VC>QKidS*н^hm6g(VSey bxl$P.Nx`&2=>?.HdsZu׃pTWG[W٤Mp8\׷#gj&^FC#@w[J}lB%gugYXҭj C!d_̨)~q.F=dz鵳&oU_myuaru6&{:>z$\(jK?tdص{L0J"t$^>Ж__%9HVVi+{ e;Bj͍6?B[R.Y95SqՌge=IIPDx*S'zUc$C6Sh|-ʝ>QH(xSs|3Q"jެyk_fN|Ȝo Rk3ԇ?n^H2ŨaB K햎 aG13~eqD+i- bgŶH_{'oQt:1(Cu$NGؗ th#Y,X^eE)eN&JX{k''F=/G IL&}W%um?@W@O7DI^5}m \ "B%bV^̯/kj<,\قE8(MĊ<-i31*Y][S.#­<>*hr-`bf h_M"Htb^/\'m=z5+.p"(r{9xNCDh@X5+*n7ca$b`lOhV؄zႽ:cL{O ѧsˀHѾ Ih|sG O|Ey3O ϷD |ҵ :Z0rܵX/M;fMꭶ)ΏJhgYNeJ H@>Yqy"RɵziAhUQ8jV;פTEVE7h_xogq̊㖑ЩC5uO-JY;:2; L/@H˺^-4(2HrC*5Ҥxq{T@2Yg; =&S.>7 Q4 =xb{_:`p5c`p >o>#UI6xz2qw|#pKJI .Fy Gv/efo%ufPx -ﳩzbxvg݃:7 [*-4 U$8S2qH(?٭>V˶ѤtZw260zkLN"iP+Z?TʺM@Gܵ0I3"ܺeݭO"<(@Y0?)W%/a =# #rTv| PC 5B`nQ5vG+v֞m0 MBhaFNSJbЙ -f*1HlV@^ssÃO*. }!5(\w#FO"O(%:XLY֍O,1 9X9+Y`b_؈װ VrF-*O5-ݼ&YWpG]"JR6z tﶧV{w*29PW5Bz@aKD_!M:J?#Ӽ働,wgXgU})X Mzƌo$йۇcUq3jb~ &yY8fMfDL3zvG SlU\4G8BB'ֺ"ۄ8<3Ie͍}3=k9\%i 0l@RObF·6U,R F.q;9;Tt.($>Z1!]YŬk$LCboU %HCb ى ֱۀEʒ< E~/+M~ -p6w\[~F_Py;Y PEy&c)5hK%- 9RbL{()@" K[SHo^'E#5/,Yԡ&MsYt&थ> 4gMAto[b )PShRiisE2 `3/Be.(&Pz1Jv!O~E7OeK5.Nז$qp= 2r$5Q-MMCg ;G}$l29(7?Q d]BR+a5Ln-!Ҹ :#xsk1 IuHhjpzXgP3df, Jc nz׿O ;>r_'4:DZTȅ޴V3f@#M.ܙWmU4sJ)`z|s<:’ q>QGPz` P0jr͉E:,;vZ+*׎ԫgQ# y\iQ^2N^u;UL|ݤ!͵Sȸ쭛̨wx'A4"f^SS-Hw ktw{4Hk #Bqij&'0-;&le'Q!LJØ%i}+-2ޕiCž0*h>/,)| 0,લ?P[-=p3)7A B3APҙF/4΃:hPPI\ Xt`iY;cgxrE29'SPn3JP;?߽ Y|*a;I14I@ĨA"6 &x7$}lF nds>+8& Yuz{II)8vf}.bLMqGJmxmfIYsX%[#ɜ#(&${=2/\FؚWkl37-bE hvtFl@bϽ*Y5ǰ^a`;8q s<Jq;tz]3E 33ebqv~d^Dsc>kMchtAz6bvg6<_/h%̄d)N>ڥ}q~lNt/‡r W{>~~ a p48Utb͵^ !^g`'.+C!YQp@4=l)!I,  յ>=ΦCy7 XR%JPz9 u4i 3_\)=mh|tU?O˶͋`{wB/a"|/Awy mIwdY%ao"ЦXLŇ>{[+P]qvz |Ѷұ8 =c.Rx|Z~{ws!ŕr01F+N }m%.BU8kSA# Q?}uIi]8 ;NM!Fh䣂0D\f 9r'LN/[W/mmBڏs/gV5i~Jεd iGaq .8lT A| D{i5%D tb#6:QlM˹}3b܌ևs?JrO @Sg€mhW=_.9tx!%V/ Cnj9#Q8TzYiRm$wCfocY{szXnG"^:WUA(kZKEVID+πBoUzYï:)$+jU T K>S7DsdA/g*Gcy\>!0s!͑Lc>OIQ N_JϨ1Yxf>wM~sZ,ўjwΆw;MOLfL[94@͌ALB"M7gGP-/- *\];aTEZO ?FEM3\SМMJbZORN=V#ځ#S`Ǖd'0z$2,D~ _ >i1;qz̠yW.QDz#nh ͂v(6^pQ.;u%C+\H> +qF6*uTp;LV Cב 2;L {glz%0aAɖ<d?vd%&W2ky"B ygu[KD{l"\W^='3!ܡ.;*yjр0v]~V| Mk<4Yebɋ֏~(]etX`uEi?S&ۨ;UOJim47gŪ4+(S W*2(|2^O.tRc3[[L?$o6-J4i ƉnmRKXg?{F`id^# }€nә -a~m Ng2E(6,oQ *Ba"G&N-6sYd7E I Ad^*C`u$/Ùu0, U &z' 3&g$9 A\'=L8WD;^#\[8M1v4ZLd GC 9m4)Yk.|A}˯i]-=\'$UGzPr&n*epÃ41 N YZ