crypto-policies-20241010-1.git8baf557.fc41 sL>s< 6 6_ccccc 3!Flض zE>b$bjgW b$bjѨ7h =u%QڢpPh||@!xY`J?d - I *< KW   D    6 :<@DdDGG G H HII2(IU8I`$9I$:SE$=eH>ePGeXHhPIkHXlYl\lH]o@^y5b|"d~e~f~l~t~8u0v(wx|yt|<@Ccrypto-policies202410101.git8baf557.fc41System-wide crypto policiesThis package provides pre-built configuration files with cryptographic policies for various cryptographic back-ends, such as SSL/TLS libraries.g$buildvm-x86-14.iad2.fedoraproject.org#Fedora ProjectFedora ProjectLGPL-2.1-or-laterFedora ProjectUnspecifiedhttps://gitlab.com/redhat-crypto/fedora-crypto-policieslinuxnoarch# Drop removed javasystem backend; can be dropped in F43 rm -f "/etc/crypto-policies/back-ends/javasystem.config" || : exit 0if not posix.access("/etc/crypto-policies/config") then local policy = "DEFAULT" local cf = io.open("/proc/sys/crypto/fips_enabled", "r") if cf then if cf:read() == "1" then policy = "FIPS" end cf:close() end cf = io.open("/etc/crypto-policies/config", "w") if cf then cf:write(policy.."\n") cf:close() end cf = io.open("/etc/crypto-policies/state/current", "w") if cf then cf:write(policy.."\n") cf:close() end local policypath = "/usr/share/crypto-policies/"..policy for fn in posix.files(policypath) do if fn ~= "." and fn ~= ".." then local backend = fn:gsub(".*/", ""):gsub("%..*", "") local cfgfn = "/etc/crypto-policies/back-ends/"..backend..".config" posix.unlink(cfgfn) posix.symlink(policypath.."/"..fn, cfgfn) end end else if posix.access("/var/lib/rpm-state/crypto-policies/autopolicy-reapplication-needed") then os.execute("/usr/libexec/fips-crypto-policy-overlay >/dev/null 2>/dev/null || :") posix.unlink("/var/lib/rpm-state/crypto-policies/autopolicy-reapplication-needed") end end+-++0-*.4.312. M^ ^e1> o $1l 9gX1| kmE1OKA; 1x!!^ ^e1>  9gX1| kmE1OKA; 1x!!  t    K] Lg@AAAAAA큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg6674c642aa0602e5a2d2fb8533272571b2de6418e2d1e8a8f2b273c7f451ca8867d9e981a93ac7702fdddc7143a05406827fca97c492354ed828a5de6090d90d98842d7aab2119a5258e0931c538111d4eb9099395b539b764dc6de427de8939de64669cdf2f9b5074089e202ea7f0bc04c94087c1e7ee0c3eba753b8c89c6929658d45476815d507ec7598a09b8f32bb67f1f12b1204b0a9ecd9d165a3e811613ae11621cfc9af3a0155266fd6ddb301ff2faf1a36855c76cb2886ac5bfa039eac3d00644f5b9ac59296ff888399c00a568d885fb3188d481a0f3fd7543c7c75370840eb4a8a2ab688cd07aa87110a2beea893c080a398275a93a29775a83a484fd44838e9c1fe6e6d40a8b947b26f7482b73ebbcd2232bc5299cc99c809c7c8fdb614694f4ee9dd51d6a2e147f80925efac42dbedefdc9c7757cb2716b235dca4659ce17bcffe17df66ba0826bf57d531dee67448c64142873610769c0536890e6168cd0e989e0b91776a5dbbc47abe5ccfa1d9935ced35f3190f6f1d9360b14c0ac8298081902c37730227e3385e5db9bdb414fc00469a5453d9d8edbcb89ce58fa596fd447999c0fc9ea20f25072b77621e9eaa5166aa06f030d970b626b243c2700025703aca72f8f12c01850b18039a0b6749d498841917b87103cdeabd297b0d51538f346255917ff015c855a7b3dde943dfa016682ef952e17b9e327395f77c7f1191a1d281b1d6f4b27d31624cdfce2b530ad7cbba907ac04344dd1fc2e702dbf715e75dc6697e99cd190082f32d3ea45ccc4b4bc9f517ceae609e20c10adb579089e21eaedbef17bcd4e920936d43f54220de8844e01420c2dc8b9d8a7887dce46a1c838004aa7d3811ad4817cf41f015c24b186ec240ed7bab603f13c7ed127764aab9e626e84b99061a0c6a6a71ecee3dfe821eefd2f4d970679c7d60e73e3c5fedfa0b073bc159bdef73d34a8ca9c8582b5d1bb4ccdd2b61099e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85540e27fffbbf945b712f85d40e344636fa3aef5722e797874542fdaabd711355c3297ada25f072eafff0a6b217030d100875107296af6fe20ec4f33025e672ead3297ada25f072eafff0a6b217030d100875107296af6fe20ec4f33025e672ead54b281d7eea08898180022510b7c24f4620ae2a2914664075c0c4674fca84f5bce58fa596fd447999c0fc9ea20f25072b77621e9eaa5166aa06f030d970b626b2607667e049b252d85947aa7c5a6ba4bf82988585b530cdd405da2231bf9148d2ec106cc8d7688bb1d51f30a588317a57d5e5fe5b1632e0ae175458a820dbdd12ec106cc8d7688bb1d51f30a588317a57d5e5fe5b1632e0ae175458a820dbdd12d3530ededdc39742969f28ff137f88e429a5b80e55fb9dcb8ed51eabc14ed0d92133dc76f5792f0669c0ec1100ed914fbea3a92af0e5fd9f3e70961b08d817b9848ddbbafe7449588ad3a63120705453829d0bb56fb498a8cb850ab1dff05890c1e430ee375bf679019a42098629b7cccc6ca5a530479d787c5fde204da1cb72e8f98ad2c33c4af58ccbbcc01f9c94d54553fa93d01d22eb35b1eb7ad60b2a002ffdfed2d1cd541a60922cb328539d2dbbe3feef91e5e75c8da8597a2bbf8df99eed64754442bc300514d1ba44c6d14e776e090b3c81b869f8aedd153ecee507838a5257bcaa519c19349292ec2e2231adb98a094ffcc4c963210b76910a2b35021c626a96964cf61c1a3af73b8f78c6f9306f189b2a7f43268bbac90efd0143961091f37cce1a1ed68ac40de462397c3be15df75c2a798142202b83c04333ece58fa596fd447999c0fc9ea20f25072b77621e9eaa5166aa06f030d970b626ba04bff54a6a0acdd9543ee013185f8280cd9bcdbdc0ad5214def11174e39b7373d25d7916e7cef5c8a030a16df5e01e60ca506d6e980d7d3c8ac48487bcd2ab33d25d7916e7cef5c8a030a16df5e01e60ca506d6e980d7d3c8ac48487bcd2ab3a58c1a9dc160a31aa185d74a96538aafa634864b8868129ffac0544e789e03e0d68afbedf284403094b49b6fd6e164af1df71df6bfc7260ac9c2f35d0d4044a0009827940c0b03566a059c7b0c1c194008b31a07acc4914daa9236e4382cf912f8457858da0d1525a481f232b3c17f367fefcde9adba63f5b50089521406507435311c4832fb5e137015f674442a82657c3a6aa5d3a34d48c4436c7851237f8e2239a77f6131ca178c756f58840172fb5c474ad1bff1f68dc43489319eef3404435f6b1ff97210c89fda745290a163de879a79829c82c7ee75067e4e02b1fdedba193a5be3ad53cd60a3b117797519ab4495e6e116c70bbe39d2cb307d0298b1d347ef028b148521aceb54ac3c7124590eaf16a13c9154ade1aa8dfbc3a3e4571ac42d2468598d94dfd32a127384720b34036b1045803848c3c9f4d68992d5c4ce58fa596fd447999c0fc9ea20f25072b77621e9eaa5166aa06f030d970b626b7553527c3c9a88aa1977073a0d70c2c648dcaad1003bcfcf11ce9f5c1ac5621403782831b8aa61e5bda884f5ac55669c208a20d8669a9056c92c4c1e6068210f03782831b8aa61e5bda884f5ac55669c208a20d8669a9056c92c4c1e6068210f76bda255873294ec396bfc30294947c96205d654fa16ca1af40d37e82aeb0ee1c99851c0d1ad4846dd8e941ecb9cefaef41c78452a0e807646b79121b5e1db76703e15e309cab42347138b3cf02bab85d3219da010a799e5e0785b54778381e3eac3d00644f5b9ac59296ff888399c00a568d885fb3188d481a0f3fd7543c7c7526fc087c2349dec3e14f455cba91b29aaa1967c1059117a5b5355bbae4e10722a95792e819fa9d852cac0dd1c4f24e2d11aa4b98f8dc81e9ce092f128ef8406a0f2babf573e99e5c026d5b52d8597062b6b927a13c8a3a98f8c95e18a5ad308e37a92c79c794b700a90bde6be99a921617cf056dae683012f7e89bf405ca0857c8dd04f227af64f9d540572bcf463a0d8890cdb18514ba5df1ccc2e7e0b767f6fee1314ee32515f02917a8863d7a06c9aca49d5b3c9d6a7d4a89037b82b1af9ce58fa596fd447999c0fc9ea20f25072b77621e9eaa5166aa06f030d970b626b1b4368c55c8d348fbb32432349d636ac078f714f838ffbb0b51b9b4c2baba0fced41be86b2ddabfc6d57ee53b75f26e2733b66a2ce0c7a97465cc9dd50786afded41be86b2ddabfc6d57ee53b75f26e2733b66a2ce0c7a97465cc9dd50786afdde64669cdf2f9b5074089e202ea7f0bc04c94087c1e7ee0c3eba753b8c89c6929658d45476815d507ec7598a09b8f32bb67f1f12b1204b0a9ecd9d165a3e811613ae11621cfc9af3a0155266fd6ddb301ff2faf1a36855c76cb2886ac5bfa039eac3d00644f5b9ac59296ff888399c00a568d885fb3188d481a0f3fd7543c7c75370840eb4a8a2ab688cd07aa87110a2beea893c080a398275a93a29775a83a484fd44838e9c1fe6e6d40a8b947b26f7482b73ebbcd2232bc5299cc99c809c7c8fdb614694f4ee9dd51d6a2e147f80925efac42dbedefdc9c7757cb2716b235dca4659ce17bcffe17df66ba0826bf57d531dee67448c64142873610769c0536890e6168cd0e989e0b91776a5dbbc47abe5ccfa1d9935ced35f3190f6f1d9360b14c0ac8298081902c37730227e3385e5db9bdb414fc00469a5453d9d8edbcb89ce58fa596fd447999c0fc9ea20f25072b77621e9eaa5166aa06f030d970b626b243c2700025703aca72f8f12c01850b18039a0b6749d498841917b87103cdeabd297b0d51538f346255917ff015c855a7b3dde943dfa016682ef952e17b9e327395f77c7f1191a1d281b1d6f4b27d31624cdfce2b530ad7cbba907ac04344dd12d3530ededdc39742969f28ff137f88e429a5b80e55fb9dcb8ed51eabc14ed0d92133dc76f5792f0669c0ec1100ed914fbea3a92af0e5fd9f3e70961b08d817b9848ddbbafe7449588ad3a63120705453829d0bb56fb498a8cb850ab1dff05890c1e430ee375bf679019a42098629b7cccc6ca5a530479d787c5fde204da1cb72e8f98ad2c33c4af58ccbbcc01f9c94d54553fa93d01d22eb35b1eb7ad60b2a002ffdfed2d1cd541a60922cb328539d2dbbe3feef91e5e75c8da8597a2bbf8df99eed64754442bc300514d1ba44c6d14e776e090b3c81b869f8aedd153ecee507838a5257bcaa519c19349292ec2e2231adb98a094ffcc4c963210b76910a2b35021c626a96964cf61c1a3af73b8f78c6f9306f189b2a7f43268bbac90efd0143961091f37cce1a1ed68ac40de462397c3be15df75c2a798142202b83c04333ece58fa596fd447999c0fc9ea20f25072b77621e9eaa5166aa06f030d970b626ba04bff54a6a0acdd9543ee013185f8280cd9bcdbdc0ad5214def11174e39b7373d25d7916e7cef5c8a030a16df5e01e60ca506d6e980d7d3c8ac48487bcd2ab33d25d7916e7cef5c8a030a16df5e01e60ca506d6e980d7d3c8ac48487bcd2ab3a58c1a9dc160a31aa185d74a96538aafa634864b8868129ffac0544e789e03e0d68afbedf284403094b49b6fd6e164af1df71df6bfc7260ac9c2f35d0d4044a0009827940c0b03566a059c7b0c1c194008b31a07acc4914daa9236e4382cf912f8457858da0d1525a481f232b3c17f367fefcde9adba63f5b50089521406507435311c4832fb5e137015f674442a82657c3a6aa5d3a34d48c4436c7851237f8e2239a77f6131ca178c756f58840172fb5c474ad1bff1f68dc43489319eef3404435f6b1ff97210c89fda745290a163de879a79829c82c7ee75067e4e02b1fdedba193a5be3ad53cd60a3b117797519ab4495e6e116c70bbe39d2cb307d0298b1d347ef028b148521aceb54ac3c7124590eaf16a13c9154ade1aa8dfbc3a3e4571ac42d2468598d94dfd32a127384720b34036b1045803848c3c9f4d68992d5c4ce58fa596fd447999c0fc9ea20f25072b77621e9eaa5166aa06f030d970b626b7553527c3c9a88aa1977073a0d70c2c648dcaad1003bcfcf11ce9f5c1ac5621403782831b8aa61e5bda884f5ac55669c208a20d8669a9056c92c4c1e6068210f03782831b8aa61e5bda884f5ac55669c208a20d8669a9056c92c4c1e6068210f76bda255873294ec396bfc30294947c96205d654fa16ca1af40d37e82aeb0ee1c99851c0d1ad4846dd8e941ecb9cefaef41c78452a0e807646b79121b5e1db76703e15e309cab42347138b3cf02bab85d3219da010a799e5e0785b54778381e3eac3d00644f5b9ac59296ff888399c00a568d885fb3188d481a0f3fd7543c7c7526fc087c2349dec3e14f455cba91b29aaa1967c1059117a5b5355bbae4e10722a95792e819fa9d852cac0dd1c4f24e2d11aa4b98f8dc81e9ce092f128ef8406a0f2babf573e99e5c026d5b52d8597062b6b927a13c8a3a98f8c95e18a5ad308e37a92c79c794b700a90bde6be99a921617cf056dae683012f7e89bf405ca0857c8dd04f227af64f9d540572bcf463a0d8890cdb18514ba5df1ccc2e7e0b767f6fee1314ee32515f02917a8863d7a06c9aca49d5b3c9d6a7d4a89037b82b1af9ce58fa596fd447999c0fc9ea20f25072b77621e9eaa5166aa06f030d970b626b1b4368c55c8d348fbb32432349d636ac078f714f838ffbb0b51b9b4c2baba0fced41be86b2ddabfc6d57ee53b75f26e2733b66a2ce0c7a97465cc9dd50786afded41be86b2ddabfc6d57ee53b75f26e2733b66a2ce0c7a97465cc9dd50786afd85907f2a81cec2526ecf94651b3aec8c26a84a57276e0f75ad23a3f45cbc01d0858dd9c983a8e87bbb242952b737f33499c99ff5fd8b377b218da3836357c87449d7351907c806ca1ddeefb5b76d3573150b1b404df85e66942a6add912794e7e123f146cc807993fbd5fbdf0afb2ddc058597a2a17c1ff8f00bfb9097893f3717348db5605b98f88f38704b2de8c0eb91a066be19c4c993d2ed0d8dbf411ddda154547d25b2516beb0580719eb100c55eaf1e02d0fffb19f825414d1e101ccc29f6989df6582f645a7ed298f1c214a4c3a02cd72a16a428b337ffd2c935043abe9c5e36c891fe7bd59c163e45f9b37aa09082559f02ac405b3c244aae272cc4118ff07d1ace310f1020c2f87055585bd44ff1e025cba6b761f6844fed268891b70ba97b91a150c259f8fe1dfd0443bcbfc24f35690c517f394f40408afbd6d0e123f146cc807993fbd5fbdf0afb2ddc058597a2a17c1ff8f00bfb9097893f37e123f146cc807993fbd5fbdf0afb2ddc058597a2a17c1ff8f00bfb9097893f373aa0637dd728001daaa20f91a93876d77d23e1e4bc1d7b1dbf970574b120699a661c008361be79add5c086db6aed9e84f7c7b569057023cb548911bb0cec1ee00861bece61f0d8191429427af1ed51c8d68a135c3106060e89a8dcb417afbea5f416bd1231da4520fff34586581ae7590f885ce9e1b86b09d7aad4a3cb7bb3b3304f4728eb3a09a2ec15eedaeffd1ddad83f0afc3bce911538082e74a9e26776c8f9403075c8492980f576253ee5b498d1e77be65df9e3aa3634174aa564646f1f80757db932770a8dda67eb301d6a96b8b6e09452edbc35f2a4dccdc13c2b7e3f8fabdda838f4a7a38099de98d2d86f9616deb83d77f7b9b7a72fbcd4624fd119bd45b5b8e9aa31835d33574754ae112bf5a6706457d20aa95daac0d88c719669121b6719a4a96cb77bf2372cb58a389b08726e4448b1037b70ec9950af10486095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef37ae2b3b85dc5902b418348b5d68f7a9bd551842d0819951925c31545aa58a851/usr/share/crypto-policies/DEFAULT/bind.txt/usr/share/crypto-policies/DEFAULT/gnutls.txt/usr/share/crypto-policies/DEFAULT/java.txt/usr/share/crypto-policies/DEFAULT/krb5.txt/usr/share/crypto-policies/DEFAULT/libreswan.txt/usr/share/crypto-policies/DEFAULT/libssh.txt/usr/share/crypto-policies/DEFAULT/nss.txt/usr/share/crypto-policies/DEFAULT/openssh.txt/usr/share/crypto-policies/DEFAULT/opensshserver.txt/usr/share/crypto-policies/DEFAULT/openssl.txt/usr/share/crypto-policies/DEFAULT/openssl_fips.txt/usr/share/crypto-policies/DEFAULT/opensslcnf.txt/usr/share/crypto-policies/DEFAULT/rpm-sequoia.txt/usr/share/crypto-policies/DEFAULT/sequoia.txtYYYYYYYYYYYYYYY@@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootcrypto-policies-20241010-1.git8baf557.fc41.src.rpmconfig(crypto-policies)crypto-policies@      /bin/sh/usr/bin/bashconfig(crypto-policies)rpmlib(BuiltinLuaScripts)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsZstd)20241010-1.git8baf557.fc414.2.2-13.0.4-14.6.0-14.0.4-14.0-15.4.18-1gnutlslibreswannssopensshopenssl-libs3.8.6-63.283.1019.0p1-53.0.2-24.19.94gf@f@fn@f(@faf@f>@f@f@f`f@f~fLfDeeeeeed@em@eReLeJ&eJ&e d@d@ddA)@c>@c`c0c @clAlexander Sosedkin - 20241010-1.git8baf557Alexander Sosedkin - 20240927-1.git93b7251Alexander Sosedkin - 20240828-1.git5f66e81Alexander Sosedkin - 20240826-1.gite824389Alexander Sosedkin - 20240822-1.git64c9381Alexander Sosedkin - 20240807-1.git5795660Alexander Sosedkin - 20240802-1.git2e5e430Alexander Sosedkin - 20240725-1.git9555558Fedora Release Engineering - 20240717-2.git154fd4eAlexander Sosedkin - 20240717-1.git154fd4eAlexander Sosedkin - 20240715-2.gitf8b6a29Alexander Sosedkin - 20240715-1.gitf8b6a29Alexander Sosedkin - 20240628-1.gitddd11d3Alexander Sosedkin - 20240521-1.gitf71d135Alexander Sosedkin - 20240515-1.gita24a14bAlexander Sosedkin - 20240320-1.git58e3d95Alexander Sosedkin - 20240304-1.git0375239Jiri Vanek - 20240201-2.git9f501f3Alexander Sosedkin - 20240201-1.git9f501f3Fedora Release Engineering - 20231204-3.git1e3a2e4Fedora Release Engineering - 20231204-2.git1e3a2e4Alexander Sosedkin - 20231204-1.git1e3a2e4Clemens Lang - 20231113-1.gitb402e82Clemens Lang - 20231109-1.gitadb5572Clemens Lang - 20231107-1.gitd5877b3Clemens Lang - 20231107-1.git8f49dfaAlexander Sosedkin - 20230920-1.git570ea89Alexander Sosedkin - 20230731-1.git5ed06e0Fedora Release Engineering - 20230614-2.git5f3458eAlexander Sosedkin - 20230614-1.git5f3458eAlexander Sosedkin - 20230420-1.git3d08ae7Alexander Sosedkin - 20230301-1.git2ea6d2aAlexander Sosedkin - 20230220-1.git8c7de04Fedora Release Engineering - 20221215-2.gita4c31a3Alexander Sosedkin - 20221215-1.gita4c31a3Alexander Sosedkin - 20221110-1.git87a75f4- LEGACY: enable 192-bit ciphers for nss pkcs12/smime - openssl: map NULL to TLS_SHA256_SHA256:TLS_SHA384_SHA384- nss: be stricter with new purposes- fips-mode-setup: small Argon2 detection fix- SHA1: add __openssl_block_sha1_signatures = 0- fips-mode-setup: block if LUKS devices using Argon2 are detected- fips-crypto-policy-overlay: a unit to automount FIPS policy when fips=1 - fips-setup-helper: add a libexec helper for anaconda - fips-mode-setup: force --no-bootcfg when UKI is detected- nss: rewrite backend for nss 3.101- gnutls: wire X25519-KYBER768 to GROUP-X25519-KYBER768 - openssh: make dss no longer enableble, support is dropped- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild- Changes/OpenSSLDistrustSHA1SigVer: implement, see below - DEFAULT: switch to rh-allow-sha1-signatures = no... - TEST-FEDORA41: reset to DEFAULT - FEDORA40: introduce with the previous contents of DEFAULT - nss: wire XYBER768D00 to X25519-KYBER768, not KYBER768 - TEST-PQ: disable KYBER768- fix running pre scriptlet in first transaction ever, pre-coreutils- BSI: Update BSI policy for new 2024 minimum recommendations - java: use and include jdk.disabled.namedCurves - ec_min_size: introduce and use in java, default to 256 - java: stop specifying jdk.tls.namedGroups in javasystem - java: drop unused javasystem backend- nss: wire KYBER768 to XYBER768D00 - java: start controlling / disable DTLSv1.0 - java: disable anon ciphersuites, tying them to NULL - java: respect more key size restrictions - java: specify jdk.tls.namedGroups system property - java: make hash, mac and sign more orthogonal - fips-mode-setup: add another scary "unsupported" - fips-mode-setup: flashy ticking warning upon use - BSI: switch to 3072 minimum RSA key size- nss: unconditionally include p11-kit-proxy - TEST-PQ: update algorithm list, mark all PQ algorithms experimental- gnutls: use tls-session-hash option, enforcing EMS in FIPS mode - gnutls: DTLS 0.9 is controllable again - gnutls: remove extraneous newline - openssh: remove support for old names of RequiredRSASize- modules/FEDORA32, FEDORA38, TEST-FEDORA39: drop - openssl: mark liboqsprovider groups optional with ? - TEST-PQ: add more group and sign values, marked experimental - TEST-FEDORA41: add a new policy with __openssl_block_sha1_signatures = 1 - TEST-PQ: also enable sntrup761x25519-sha512@openssh.com- packaging: remove perl build-dependency, it's not needed anymore - packaging: stop linting at check-time, relying on upstream CI instead - packaging: drop stale workarounds - libreswan: do not use up pfs= / ikev2= keywords for default behaviour- Rebuilt for java-21-openjdk as system jdk- fips-finish-install: make sure ostree is detected in chroot - fips-mode-setup: make sure ostree is detected in chroot - java: disable ChaCha20-Poly1305 where applicable- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild- TEST-PQ: add a subpolicy to test post-quantum algorithms. Do not rely on.- fips-mode-setup: Write error messages to stderr - fips-mode-setup: Fix some shellcheck warnings - fips-mode-setup: Fix test for empty /boot - fips-mode-setup: Avoid 'boot=UUID=' if /boot == /- Restore support for scoped ssh_etm directives - Print matches in syntax deprecation warnings- fips-mode-setup: Fix usage with --no-bootcfg- turn ssh_etm into an etm@SSH tri-state - fips-mode-setup: increase chroot-friendliness (rhbz#2164847)- OSPP subpolicy: tighten beyond reason for OSPP 4.3 - fips-mode-setup: more thorough --disable, still unsupported- BSI: start a BSI TR 02102 policy - krb5: sort enctypes mac-first, cipher-second, prioritize SHA-2 ones - FIPS: enforce EMS in FIPS mode - NO-ENFORCE-EMS: add subpolicy to undo the EMS enforcement in FIPS mode - nss: implement EMS enforcement in FIPS mode (not enabled yet) - openssl: implement EMS enforcement in FIPS mode - gnutls: implement EMS enforcement in FIPS mode (not enabled yet) - docs: replace `FIPS 140-2` with just `FIPS 140`- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild- policies: restore group order to old OpenSSL default order- openssl: specify Groups explicitly - openssl: add support for Brainpool curves- rpm-sequoia: add separate rpm-sequoia backend - DEFAULT: allow SHA-1 and 1024 bit DSA in RPM (https://pagure.io/fesco/issue/2960)- Makefile: support asciidoc 10- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild- bind: expand the list of disableable algorithms- sequoia: introduce new backend - migrate license tag to SPDX/bin/sh  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh !"#$%&'()*w;<=>?@ABCDEFGHJKLMNOPQRSTUVWYZ[\]^_`abcdef20241010-1.git8baf557.fc4120241010-1.git8baf557.fc41     crypto-policiesback-endsbind.configgnutls.configjava.configkrb5.configlibreswan.configlibssh.confignss.configopenssh.configopensshserver.configopenssl.configopenssl_fips.configopensslcnf.configrpm-sequoia.configsequoia.configconfiglocal.dpoliciesmodulesstateCURRENT.polcurrentfips-crypto-policy-overlay.servicefips-crypto-policy-overlayfips-setup-helpercrypto-policiesDEFAULTbind.txtgnutls.txtjava.txtkrb5.txtlibreswan.txtlibssh.txtnss.txtopenssh.txtopensshserver.txtopenssl.txtopenssl_fips.txtopensslcnf.txtrpm-sequoia.txtsequoia.txtEMPTYbind.txtgnutls.txtjava.txtkrb5.txtlibreswan.txtlibssh.txtnss.txtopenssh.txtopensshserver.txtopenssl.txtopenssl_fips.txtopensslcnf.txtrpm-sequoia.txtsequoia.txtFIPSbind.txtgnutls.txtjava.txtkrb5.txtlibreswan.txtlibssh.txtnss.txtopenssh.txtopensshserver.txtopenssl.txtopenssl_fips.txtopensslcnf.txtrpm-sequoia.txtsequoia.txtFUTUREbind.txtgnutls.txtjava.txtkrb5.txtlibreswan.txtlibssh.txtnss.txtopenssh.txtopensshserver.txtopenssl.txtopenssl_fips.txtopensslcnf.txtrpm-sequoia.txtsequoia.txtLEGACYbind.txtgnutls.txtjava.txtkrb5.txtlibreswan.txtlibssh.txtnss.txtopenssh.txtopensshserver.txtopenssl.txtopenssl_fips.txtopensslcnf.txtrpm-sequoia.txtsequoia.txtback-endsDEFAULTbind.configgnutls.configjava.configkrb5.configlibreswan.configlibssh.confignss.configopenssh.configopensshserver.configopenssl.configopenssl_fips.configopensslcnf.configrpm-sequoia.configsequoia.configFIPSbind.configgnutls.configjava.configkrb5.configlibreswan.configlibssh.confignss.configopenssh.configopensshserver.configopenssl.configopenssl_fips.configopensslcnf.configrpm-sequoia.configsequoia.configFUTUREbind.configgnutls.configjava.configkrb5.configlibreswan.configlibssh.confignss.configopenssh.configopensshserver.configopenssl.configopenssl_fips.configopensslcnf.configrpm-sequoia.configsequoia.configLEGACYbind.configgnutls.configjava.configkrb5.configlibreswan.configlibssh.confignss.configopenssh.configopensshserver.configopenssl.configopenssl_fips.configopensslcnf.configrpm-sequoia.configsequoia.configdefault-configdefault-fips-configpoliciesBSI.polDEFAULT.polEMPTY.polFEDORA40.polFIPS.polFUTURE.polGOST-ONLY.polLEGACY.polNEXT.polTEST-FEDORA41.polmodulesAD-SUPPORT.pmodECDHE-ONLY.pmodGOST.pmodNO-CAMELLIA.pmodNO-ENFORCE-EMS.pmodNO-SHA1.pmodOSPP.pmodSHA1.pmodTEST-PQ.pmodreload-cmds.shcrypto-policiesCOPYING.LESSERcrypto-policies.7.gz/etc//etc/crypto-policies//etc/crypto-policies/back-ends//etc/crypto-policies/policies//etc/crypto-policies/state//usr/lib/systemd/system//usr/libexec//usr/share//usr/share/crypto-policies//usr/share/crypto-policies/DEFAULT//usr/share/crypto-policies/EMPTY//usr/share/crypto-policies/FIPS//usr/share/crypto-policies/FUTURE//usr/share/crypto-policies/LEGACY//usr/share/crypto-policies/back-ends//usr/share/crypto-policies/back-ends/DEFAULT//usr/share/crypto-policies/back-ends/FIPS//usr/share/crypto-policies/back-ends/FUTURE//usr/share/crypto-policies/back-ends/LEGACY//usr/share/crypto-policies/policies//usr/share/crypto-policies/policies/modules//usr/share/licenses//usr/share/licenses/crypto-policies//usr/share/man/man7/-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointercpiozstd19noarch-redhat-linux-gnu         directoryASCII textemptyBourne-Again shell script, ASCII text executableASCII text, with very long lines (655)ASCII text, with very long lines (339)ASCII text, with very long lines (486)ASCII text, with very long lines (771)ASCII text, with very long lines (491)ASCII text, with very long lines (1158)ASCII text, with very long lines (838)ASCII text, with very long lines (502)ASCII text, with very long lines (304)ASCII text, with very long lines (919)ASCII text, with very long lines (563)ASCII text, with very long lines (359)ASCII text, with very long lines (560)ASCII text, with very long lines (880)ASCII text, with very long lines (528)ASCII text, with very long lines (321)Unicode text, UTF-8 texttroff or preprocessor input, Unicode text, UTF-8 text, with very long lines (687) (gzip compressed data, max compression, from Unix)RRif posix.access("/etc/crypto-policies/config") then local cf = io.open("/etc/crypto-policies/config", "r") if cf then local prev = cf:read() cf:close() local new if prev == "TEST-FEDORA39" or prev:sub(1, 14) == "TEST-FEDORA39:" then new = "DEFAULT" .. prev:sub(14) elseif prev == "FEDORA38" or prev:sub(1, 9) == "FEDORA38:" then new = "DEFAULT" .. prev:sub(9) else new = prev end while new:find(":FEDORA32:") ~= nil do new = new:gsub(":FEDORA32:", ":") end new = new:gsub(":FEDORA32$", "") if new ~= prev then cf = io.open("/etc/crypto-policies/config", "w") if cf then cf:write(new) cf:close() end end end end if arg[2] == 2 then posix.unlink("/var/lib/rpm-state/crypto-policies/autopolicy-reapplication-needed") local mountinfo = io.open("/proc/self/mountinfo", "r"); if mountinfo then local mountpoints = {} for mount in mountinfo:lines() do -- See proc_pid_mountinfo(5) for the format local pos, _, _, _, _, mountroot, mountpoint = string.find(mount, "^(%d+) (%d+) (%d+:%d+) ([^ ]+) ([^ ]+) ") if pos == nil then print("Failed to parse /proc/self/mountinfo line, ignoring:", mount) else mountpoints[mountpoint] = mountroot end end mountinfo:close() local expected_backend_suffix = "/crypto-policies/back-ends/FIPS" local expected_config_suffix = "/crypto-policies/default-fips-config" local backends_automount = mountpoints["/etc/crypto-policies/back-ends"] and string.sub(mountpoints["/etc/crypto-policies/back-ends"], string.len(expected_backend_suffix) * -1, -1) == expected_backend_suffix local config_automount = mountpoints["/etc/crypto-policies/config"] and string.sub(mountpoints["/etc/crypto-policies/config"], string.len(expected_config_suffix) * -1, -1) == expected_config_suffix if backends_automount and config_automount then if posix.access("/usr/bin/umount", "x") then rpm.execute("/usr/bin/umount", "/etc/crypto-policies/config") rpm.execute("/usr/bin/umount", "/etc/crypto-policies/back-ends") end local res, msg, errno = posix.mkdir("/var/lib/rpm-state/crypto-policies") if res ~= 0 and errno ~= 17 then -- 17 is EEXIST print("Failed to create state directory: " .. msg) else local marker, err = io.open("/var/lib/rpm-state/crypto-policies/autopolicy-reapplication-needed", "w+") if not marker then print("Failed to create marker file /var/lib/rpm-state/crypto-policies/autopolicy-reapplication-needed for automatic FIPS policy bind-mount: " .. err) else marker:close() end end end end endhttps://bugz.fedoraproject.org/crypto-policiescrypto-policies-scriptsutf-812a9a87b70d695bfb9aecf45c80b0765ba4f345e249bd2bd2b8d8d288d2fd53127b81f846dd613d1daa42339f174f0b330bb4a5f8027bfa814d000b552f5a6ba?`(/hdLJ@+C K6 &$ @`y߯آ^iHmvS~f>k߽||H>r7|4%y }BI^F-6O w MRU%T%ẍ́5@(S$B]L $ʮe(a(2 +Se8k/cP7u_ljJ+x8(Ƣj~!`y@gp۽61$Rd\4jR}8,`&1¬q/>nٗ^(}4Pӹl8utTȌ ][&5#*h/`Uf:2MJ7 ^D4u=<'ET7{^cS)Rӓ`ޗ$rB?yA6ԠksK' ^nS?C2. T*UuyPT’YL 3{y\`W\ *\2E;SY,1b| f81ƈ/ IKs(N1;G;p{[BDˡ-tރDJ4Q&n:%(&P!yP;C 5q:Q 2I$p<su.&*2叾Q88 bu &gYl8O]kbBM+dX\|0"8M42Ey%/EqU B]Dse0Υ X*T UhBINfo4vi +}}qa^'q,2yU DM @84 mLAL;&$wQzͩOm`c*(P"hi<BXeET\2ɀ<2MLǪdŅ*h*314FNiK<]wQCIߐ߻`8=i}o}}'owa]TibVg#|Z~snhX; UgsaTuЙ` QeM6dG P0y̸~18$TVJIO"` q*n)/h`Tmdn9~oVkPyn4WT8 މ,ic#QSq;eCl={3 g=iAO(Vq,O?4Y&t,Faw % $jp;Pf8 kB2fÑ^PՀo,x%U[;)\l6ͥDLP^Zh yuO!n &HIUa[N/nG$سYUB ]pqx<')"jx Wk ⌡;^:=]Ɛs۔AlSg]Tc:8)C7L9-#1VgܺAL}9qjۿbm:7 ϟq;Q05xbϿZ7wz]Y 3'ŜqH~Vӛ:*4zZiE%8pڎ6^ign mqx%A:ڄ"-﮾ǩw D%ވ)[XDKR!JgѦKo3הX$̔=c NpwFSvTle0⵼:wt=f&?u .h*0ZN$a>PA|0!v|Xg0?(2x#5,ZjP[{TItrha3D)[f,<StceD@3H`'GS!}ӛ&X%@Tn7At-R>ʼ`hVD̢dFB}卺`/#19yٔA|8=KZKC M*s nSq[FRy aQF#ClٝJ::YB*sLP,~o' 킧{/7f0n\uO5EZ=CvL2\$\LV"B0dN1|(27h4mbZ@f[mf綄k$0+0"3#+{ωli8 ZW38WvgTr?ɰ / d!Qkbt+{}ŃFZMST4e){Qs<(]6Kuf@IJncb&#m6H|j4t"a)GC t*Ò|0@s>c'-^1vx 9&P)ޚ Դ.EA%x8CD\jO;d" D3aǰWZ,YS7 4D)Me2䣷WSb=:r8oϱ\EժA"BTyejp-;i*{?[E8: P`] 4~&8e tc4]݇נWw6qe[NN ,#BE|E4eE6h9̭r/%}4!Ù,Na1ր`R\PL{ST*@+q<~Zy^ }*HF.QVˊ[(B;,=LD-wٗTZڃrCIyO+Ti=\9qVpݛ22@Z{#5$\ߴz}F\~^? r#YN﨓Ӽx Z^92Vi=- 1gAƀ(sߚBc6 rVXN(xUlLު^*~XӌHiQJNl0AXd)$/m%-:m2$*jtQW9 :OBV[ouA6އ2(m؊~Hᴊx[cxޔ7_u!#OD/=E&;H7coN oFץvl4t:w=R ‡эDq 7p2ƓyJG U]'AHX4L6~ߪ{vˣ1٬P{e+ei%>I* 1d>2Mtbpb+2t -pYj%Iܒ({\mۨI8M[0vpT%fxG$}^iX~!O)tgLw^e xɏBITAznt<:^#8md*FIݺ Zt0wIFLH__sİwLO$G"Үʳ1jSR m/0C.q,mX8)jG5p6}ܐ@:|"tcKM;  G %urxT/3 J衎p#2**a-fID|f&rVaw5{ldX_˞ܕYD*OػU 2Cx=X-ǰnwnH2!zaU ƾ=@3JIqM0[" p%ggޥ9BYx*&, , 菆NPNAaAsKX WP$}p[A1$g%c#M؟_=tI/JWV1֫|d~Is9kB"P+/Ϭ60nu`/#}K+@s"A3F7xu.vh8¾?` Q|#{ CeiX8B^.%/!3'sW2Ip,m{pɢTԅZEQrAΫԽIi|M^*n $h;#ˆd)xz[ /)3WF>8?8WPՆzU0m 6HvC@ =>5wG,^t${| ?)o|I.ξ,/µH4-NГ&Rt>6a￾{'"b BqN$A.y|ؗiHbx۽21(AD`$6 uFCwcօ^gJ5 \ ~vJ^"M3%C?_s\Z+(A/fK 31< h0VD6 e }14/>K@AՂhI嗃wY%\Ut'Z\a/`cs!t] t C]x#;1WŰJ7s2%PIKjaͯz ۀ(3۵0ϭ4oyKqC:/hP!O2ɟ-^:m?fEYDi3#kQq\"k\`e&MgU鈴!#Ax#62Ì.2JS&:$N X= ca'7~usЋZ臘ņÇ0ݞSF8ZėLDsyE74ԧDpkȔWOBa=,KR4J_yP@Q-FU2Ϳ2xİ85˱1#/}ɏ,D-UQ0E8/l5>vB* Dsɚiopv% 8}5KZ6t#q}D9v>VR4 E[g5GL |7v8bڞ'[Mk3XHOX-T[>¶jSGk'0,ju+n k!ۇW+XIW5WyE #!`HOσ¼I *^`nʀ9# ? [q%|oS ?$}[H"<,>1*At9s}demc_}A:jzH́d02۸CtMw_yD-~_,S' Vjt-;TVe9@p@ǻ.M8p9kЩYPiY9W_TXU)xd` Qw{.PN /sa9=˚y47L5u#3_NI1룵-T$$7y=@߻\6/nz~><> 1\rmovq(muН:{H)HN~ ~:P<[X dXLAĜP3HquDzt6?"Veж<0I'gd;vEMj| Pfb N uln/.h׼Nwy W}>m1.rՑkEwyt‡r2`6BԒ %Vg.-2s[}-ub>}F0:҃eހnk1~3xܟ F@-@PeGxKO[ն[N1XтM蒲.m#]X*:&y!M!plc]yD\ɫCUfq5WmVW:ϩsd,G-0l#$~,)dfU9Xd ׿ƴ( ,ėriKIي:~a 'E_ӝ泗;e︤r$K)iۭ0ɯIN$F;aݮАMVqҜ-T[~-`7t{jq&T ;ɶYvJ7k^^5 AZIDi)JG̩ lWk/_)\j9:E#}|<φ^ "xmRK,X̕J,sǚ.a0Eţ)]cF[UhlZ4=dFf3OUꮙew.r,:v39@*k Avγ\`gN;J8aj6#rp*ϗ%^qގK C`$ WqNAh5ΥKvug/"!#ejIϚ=֤00-$[U4 SCwm[,>x-uCi>h_2" @̩Ư6r`BJTudB3El}&i1@4V[ӟMe >FBLm5V$1t࿻R/hCuRJÀ2j4cS^ySdcE\H7-\l'B-"g4Y.T Fuqi2F>u㍜0 TGXaIw۬JZ~^;/ "[?]`تüzT̩sChk&09]"( &hh*ba SKxNuH$Ѓ"RZL`e8/q !1Oخ 2PB.[ϊY[b.VBqP Kl;}-`zju5 uui2$ZhSIT=8)8}QO*%eYv٤;k]n q==Qʽm[Ne}m0,;WN8 d K _??uQ }2[13wVRTܷZb|>FLȱdL#⠨/jpm9 S+C$ԏ jJvtPI M+>Tr1p7^.I ]IѷQ[Ɲ'>llY'?ʜE c4̪VhiQx'i.\)SU_b<KZ4Tgyf-"%-DGNS.ؚ+(E Qcu[|\ۺ|`;Ai5w5X=WL{gp3^y\Y|*3Y d9~)MU]i [ie3)Է3X~m_IzcpCgƹwul_o`b}(E-.<\Bj! 8(2%GtaK/7f1}<2ݞ49<{$B0$t2{N4cκX[-in|\%V7fޜ:fq~4D\lҏ (+YXRN.CzTm NV=x{uCc]Ԍiv% zVKCYNarjh uv8]'44W"֘BF'19-]ESŇF6J#P* F[RaQɨ8, Âv|77I/tx")f> PfJ+rK3HKdزc Jv@ke#,ŨȁGRޝ%8uuݎ0藦"zBirGkg׾$RC+e`&QN\ wƩYSu/Nəp𖉎 5Sc,8?F"?kA~͢ZSN. "$J?3+N9r gn<&z$~q=J;bG2ėb>U>3E*(r$=\qkv:&zg7^{c:R72k||Ssk> T855[c|tC (Hd4 ñR9)XӈD! RR$@ >2npw$ŦqԆT3>EEy-HA쫟LvKWy/R7둣5+[ߟ% Ixҷ伺l0J,;rKFt!}^,vzɝq`LTlF ĢkDܢ:oE* J}:JILF\7) Yŭ i1Jb~:)Vt>v5wRТ-1vĞ`2|@C `!ZsR)#LQߵ:ܶ㜠fY&/f׷ '&BTƥNhmȇܡ(,o6]2qg!䒂ʧ~C9ۢֆQ-jiezY|9.j%hό)PMba%U L.˞]+'jW*rhvC"(a)C&VEb/6id{(Į i Tld)Q j٣ \BsL%s9ZE(\!)ꚪ52o&ECL)~l N}WWԀE^,3j\XZK^Z-\%?r2 5%l۞~Q@U`#.nB_`Io >QqKDVIs3JETs+лeIUXAT3Cyrrm +ݩAphI&\{.ADn2ol$ެ JaE-`'|Ȳw_¡sE)j`Jw7 8<΁ZӇq<2G*WyELi./٫lpr'*z0ȜWpziz]G081M2qA, [[WgV-2ŝ>ʃˡQh7H䡽_^0t(gU93"a#w e}R'Yz_,Ȏ9vIs9 u iHN$lwi'Qt 2-o-,{`AƝ}=+\ CP8S[MQ Q)HՓz1xfkbݼl >4DHt_'I}b @4l(H  .macSw4 ?5=Ep+AiB0 ALQ/=aVaB~1і;rn;?~z(?5Ԕx_K 70PN<.lC*%b-aʊ<@G+RqA,?eʵ fdU_.EĦB@A@ WWvIp#tF0)$ 1N f"dߓJx Q1LL9|!0K;w'P{HiCSu|Q1l5Rb`٬~$t F#t_ Us:DfFqt蘀X k^l2C{KW3rm/8whhua7c[\Ob`1M_QZ»m?>4Zԣ [ dv7˪+b=ynUx{kHE9fwn!-Bv% ƫF^sj| $8.ɗC#98PƠa@ ǵ~,jM@,pbJar#a%yi:ֵϚSEe@E:XEe`r% A^@-l=kra{oo6M\ew!3JGt޻|hMTf 5%&lERnM !} =+1?4wC3V1!I{Ƹ [CZ^ۃRKmT5aރfzqbT Mh]ܹ)PMUW`G3%=ݠ֒K%g0Ui!Z$M G|DZ[t]n0gxܙU _#l$rZGqRh7ȞX"E]bq2qgAʔ[/"00t\"Y}Q-nl]|c$^OOJR;Z|AzK %V-:9%[ehuaT")l5#'oyoo 3T#ItS7&BqC]/S`ݕWR&kboqxuT1^}j sLZDq$G^rݪ& Ng&e 3~ɯ[Y֓ M\g3@^xe{ٞ*.2!M#TSJ$; ި1Qo-T=<AXԃ*=sKޜ cVsԸ%3$dxd~A%S^˄Pp™1`M 7Jn>xgU^M1CwQ /Km%!,Cw76̪GRj;cCb;mAԔ z-gyz"`/JLH%@4C/ϊ@->\VhZ;_Ae ΋C =&)f—#.BFNQK!ի-q)կ7c0˿ BTaTkWDE)bj=nK%H1&*TENjD g%=ӈ>9.neϰzδ]ԃ@:JGjFljJ>y9.-KdmLX \Gi 5vPDvw]elnj`@_n@ƹD q| '"-vkRMhlsfa}(NF$(!>:df\:xy`ùVg:O&NިPm b<@ 0$),zG"C/i#q鶧;P5=-c eµ \Di;l@(fؚ0C4ieB9s"~ĎN;FxDh ăXdi  c)Z@͞R=4'H43 SpENKY.j{^PQTm,h_,r6PRe}ePuobl|ϼfi6־ _ͳE(X-0Dj^ 5Bz/eO1%Dot))0^/9" 7XMζr}X_FA]3kә xr^ 񩴛Io Nۤᝰv"1aW2vޥPR,a! [B2} [Jn Z”mKEb^l#ǧn\ ;v().h; Seef, eronicpeageeoye) slns;yne`F'wbs)J RanHacker, 10 , PiVat'! e1dfbaman7.7.gz=ksF+|U %)㜲m*QmxCrVxPny`Q^]%tw`y&͓n2Bσ"_% /%WpS"e7|'b[&$eI Z +V1O*Wy̓`-{jыE~g;9ttx9 )~eM" Z_Q ZV={1rڽ<ǣ 5WN z̩^/hoCS`*K,3|T^,;~ݬX\${IF#@@t$Z+H-BOKOm(;$11R~b@1l|pc5Q6 $u#@oW>AD&@~KؚmP,9<\(H?;e+qMD9&5> :5>%",lbz5}8's?l&D͒< P}$ʰ"E]6A ^Q;6:3 5yh72{e cvޯdnxH2%BowiUX젣UԬ%R$4T1+zF/C1'Y"B($Tx';H*]L($@_ ݁~ec-N{#EJPN6{u]9 RGOfR/} %jY3B#'%1cښzڞslX_1lcf|q f1 U9*Zy˦ @wqb ~o*drfo2_N? \@K&2YGÄB(a6xpxЌAsũITf` c-Ǣ1ӟc;\ZdiCt Re_{@vط*BPhi p10 aX MsuJUm^d'o9LL$R*Q6A)<'sHZ}\Ʊ@H$G]`xG eQg)Hoӱv9X3#Wlb@Qaө1xu/aPj4գTp *^)&DFS=J]L2<=̳stjI%.~u}qmZkPKQD`<"IFED:,˸bI3VQĿC FG&[YY%ivpzg^Y,rag,{+FUՒj3xtD@qEt)C=>^aE]"sA"E G+P#/LʙΜ$-z|rڅέf̝Q`Np #dL q+j5 {* 7GLJLi"f{oq|/KF(*o9E5 vWdkNrN(r}GWVR:2 LbiDdo ύTIh%E۫FFUop| r[VGoEpiULXm֬W%|t򕢢8 "5!KJ _HT>~,x^K8[RQӛtL~q!Eje !vcD^o1ƽA &.XMm+$4_*<61 3|o~Dvfίn8jgrC<bDFߣg~|)LA5?m&NQMk :c/.ƔX9j(\`j/eexqCM{N (01f6J#Y;j)j@ \5a~K1;h|; +KN9{Ig 5p2L^nl"%i7X%2uLMډE}%nɪMYVN(2ʇ*xT~LI$iW[¨A`#R?0D5)РߋX{Z d1p5 U535fBk<;[cټU6'j~x>Дy6Ey\[8 ޜ~ݜ\\^-1(?gms9bs"@c=s wEYVz$;\Ҭ15{'_K ]>ݾ-1*>:^ym@ e+Kc``Oc_Nd xRДF5*ԣ iH]2%*znLztQЅ$`_[OPyWs=Z +M/N>wj UtoP@{.RL ~-5JFkVJ/ h}iD+6F\$^vJ}\zV`u沪,T] ]i\.8bzaIXO#GU==&35Mmd7_t!ΦI301ڨ`{)1呣TG||>x57 uoqk2 ͐Tt/[r\@D  EPF˷1oZjΈi7GՇ_9 Sh}~iUqi'+^>廓:STx-ЁqIѭ*,9ZZwۤfAaٺ,"m$.h`;Ml]TjME%NH.PK\8rP`)8 Jhx6qtfl-[3*b abtܖ$ 0ġS0lCYa8!_(֯}HX*%wR;='"[#8EaVso(h2q CXt*Mƍ) I&)S.~x}4\ |^8WW`&=Z ta\!x4WeܟG'7 !:wŎwx#D`]NmJ\^`2rnFC-B^*,ki ?!RJTP%$VB줁 ߂_ݹ8>&qֻ9s%楨<֧ >n8};PهpL WY鄢*}rӆ #,nѕO(2t֑C^Rf}~{ y2^h9B,Ap:p / -KbZAz]o{h1 U3`/݂Gn̢$]i c(8 jL*2! DMF050^5`pRi ȩ4# b4qtvLdI סKH0!DɩOvTFz FPW 'H#51@}3rEVFd.4Djq澐qXTq~Q9#k.6]c<M"ڬqV֪vd$T8 (9:2ƀM t_.=L-j-玣 RTq6VcvzUtmm˚Goyzy~629BQ9!h ! B!b c!r)HC&E7v}h凈Mɖ ` T!mJ*eSelQRL@\XTIמ䝌OR#$DBa89˄/fA"0@iЩCiNL_#Ϙ|o{e[!UNvi9s:=a (c{2؉)♍ ׺I{R q17LAI+9h9>/eb|fG0(>Ɯ&߭!bRPEUNipOՒt04kƁfF(h 5S3CN!QbNP/87pxz+cg[x!F<5j2XKjh>l,Zc~z."tk9C! (^Gɱf,љMaI7=Xut1-&|9I݆!]XW,T$WqjJ-9| ]47wf'hU 5lvvak15bv295drP;X '2i،8 \$JfwJgԝ1}7q l" ?{Xl"6q2*Sr4O^ E2@Ϩ@b,RuJ52}4M &m+:Z10Wڪ c/\e:)FtY/2ƾh9@@d2ç!>x?7xָt[`NSmcc*5HYס*ԛ+q>>_WywN ⩓UT^ Io{ ^wb>,TҾCY}RD"Z%&49!m.j\]sd)mf0y%> Jo(}\Vwmtnky8;i෨,֭5HyE2( ~r M5#eeVuzh*hmHcd)m6gM+r.Ƨ'i>AEwve+G#; L)k6|BPgc(W>u݃$hXs'JELG @FLC P[8 5V=;@0EcV #dGVC/w1,t2f(#ӷ焦FLE3#я {a7 /ao͛Ž!iȱ6 [">W:[ۇpaQLgR#Ϛw`gW)[x&p *I,6Y~-E-8 A!B/i8,5GMmF}R(4m-\ơBRD"{k]GF@<#pp&;\?t$ӄ#ӞlɿJTY9\j'D^e(rs*[4iEU_NO/j s濈,lFFvP!`26:{W$5B,Xi