grub2-x86_64-efi-2.04-150300.22.37.1<>,L̉d08p9|I-8 ZX(wcŭ0UDe~F'ZoU쯱 x!Oܨ 6QhCln VSGx+- ]LT2zW<Vy2)'론gsX?=߈2|$fj@OD D^!Eq5{Ü[R(%=T1;܌+y B Kw끳Y{9jt% Tܸ?JcB]!$€x<%Kt>@ ?d ' ]lpx|  P     p V Wd[a<ffk8kT k l% (lP8lX9o:~>fBfGfHjIoXXppYpxZp[p\p]u^Lbcsdefluvp Cgrub2-x86_64-efi2.04150300.22.37.1Bootloader with support for Linux, Multiboot and moreThe GRand Unified Bootloader (GRUB) is a highly configurable and customizable bootloader with modular architecture. It supports rich variety of kernel formats, file systems, computer architectures and hardware devices. This subpackage provides support for EFI systems.d08goat16aiSUSE Linux Enterprise 15SUSE LLC GPL-3.0-or-laterhttps://www.suse.com/System/Boothttp://www.gnu.org/software/grub/linuxnoarch loader_type=`sed -n \ "/^[^#]*LOADER_TYPE=/{s@.*=\(.*\)@\1@;s@^[\"']@@;s@[\"']\\$@@;p;q}" \ /etc/sysconfig/bootloader \ 2>/dev/null || :` for bl in grub2-efi; do if test "x${bl}" == "x$loader_type"; then mkdir -p /run/update-bootloader/ touch /run/update-bootloader/reinit break fi done%< H ZhPH$p %x @h  ( h@8 P(  =x  X ` (Ch 1)d0`p#('h G`h#0o9.A 8 xO 5A@04X%!0B@H01 !(x'+%1#)8~ 8 P x=0"`x%8(`@ P x'&(0 X `(P p'   Xdp`&@>P>x 0  @  op X P@,( 8 P 8 *6h:X  ! (0 XxXXI(0 h! P0H3p@@'X>+x  XH&'xnx8X ) hMx5A큤AA$A큤d081d081d081d081d081d081d081d086d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d084d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d084d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d08d08d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d084d084d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d081d0813c8650ddc9353227c98744051bbac05865f9217c4e64ab1f843e2ca2d337952fe3e557c4eae8c1103e94808a606172693233c05f1338f23e577829e4b7654dccd41b6f6995c787f4bdc63607f59980588a2b90c56cfc312b198836e83303df143b57a285cb5341932e3828a7091ba442f027eade265d6059159c7d96eebe5c84086d87b86aa0c02d13d4aad4acf559657b8c90abedeefce46fedd00ddca94dd649615af173321d33e01ee587f6cfed75dbc0f82115c355fb3a08bee937a0fe288ea7272ac03fe4803675667b16ff98c717af6b65fd9197e1282a0231d8f108831a4e5295d9df3b4345e1e57a39ed94ede0ae5d2c3374da74f3914dc293832312c4af9a77433ab15765cb4d78e15e933741afecdacf034a9a5a9d9a9bea748ed9fd9a3b55483e18375aa150c58963fdc7415e93ba782749160e1d999aeba181d877cf7e5d01f91fe815fb51400c3fe74bf376515d26e35ec55c6ef139cefc61eb47f105992e1fb23bba61202c6660f37a35c9c82fee1826500909e0353a792ef32123455daaf77f0f87dd99050a23f528c3ee1bc3380affb33c3bb365d440b281711e0f07ea501d259f46cd9412367617a3448abc846544575b3b79e0e73913c019a68e15559456fc1138e455b99f1e76362aa9c69fc757ce6f8c71c156c67a2f14e58c31ffd13a7bbb7c37a2ee114da89906bcd94d43600992048c570fbad79f7667bb7071970ad6aa42f938cccbf5ebebaf6b9cf8a4732648a25e677801b44d33c65bbeec72e50d034ed04c3c2af4ee307b4f88a3b4ded93d94f2bc4f59bb8c41f2bc2dd7f0a4e407ea9c475cc6efd534b964e29b23fe5f48f282bcaa3c65e36d5e7eb1396a6177e386319d6a94cd367f14fc5bdf108a12901a8a3208b953eb2544d3f4973770f57a5f942d46753f34149a31e9c743115a36a1a19b0cd9f76168105200e67b1ba24787399a35ab3bfe9ccc4edd84b199f8757ce345b87d7344a93729db9a5cc07472d44d7d5449aa0497553cc304ab478907050552248034d62d6334b8ad65c51b669e27265d367d6b500870be871826c5c0092be07d3368df37ec29d3a162af0dd2ddf4dcd1c514e8677c561e0d163aaf2a08d1aa67e5bcc41a5a5a9eb4c1cf4a6c6ba9b9736d7a88dc4535fa4eb31330e5becaf2ec7bf23cd60a3981dffaffb2c3b9d6ac1c19918149b3fb50144424c334f416fc7cb43b57336f5d60ddd3a63affb5966ece595ef96e93e8bac6725a2bb3e41e3f9d360914bd90113b81d949da47526a10bd331acd68453a3830383a6ba6a88c915933717ff3b1d10c0e565d0ca0df91e7b8b3711988a945906ae123874d22390ad8e0d6d1945472418f7f00f42c2cf8d5b009de59070cc9d1643eee006a0214be05ee018fe616f36f00fe8dfb4f043f82d3f1fac15132244f0dbdd47b07cde58ef5d473f43cc25af2b8232b3ce49b8e2983918d063d9c36f8c42097bee2f452e86401d8441f6894f1f3d44c26fad1ee5343e6ca9a43a783dcb5696d371fa9a6805489cfe4a70a448000fde474c52879c9e317df2cedb4ae006656b03a2cc998d1f7d30a375f7c7f94124c66cb45c1a583308cd12e8767c7c049ccb07ebb0166ece38ab83359f1307162f8e27350e59825ccdca78316a4b1d7c5bf90e5678b1f3dc947050a6230ca42938900c3b003eb948a1c2995298a513f1d0a5919d5cb730c714a1c3a9d2deffb1f26c0d83eb71817dd4d01e3c6c6e7ffcb810ee9828a5b0b32c0acf3243dc4d30ede04c0dd70e3568b0046082689b8e547e5caa5e532fd915d6d77651b766f38a94927fe9b7bc1e809f0363e778e14c601e800faea271a2e75d3fc437a9a625e7580ea10d63fb8c66d33f8dbd8527f7dab4d5a2b1e2e5d78f7b867162e02f636c1f74786ec84d9c21649c2574c2f5bdbbdc2bfaa4ef3d9566e43b34e0e6be0940a8f83c742ff62e14b318dd1792c01c496d193790cb73b4f010b5747f3c5c96f46b405940c687e4bcd9322478f3392afef3401e5559f48b2090719f6c0eba8479046fe08c0df3ec384cc91d379432c7b92a3baafbe2952ad66ef11c747f913cd949052444e24431d2d44bdb0a55919861424937725a8cabf3746087334082c6ebbc5c46a871dcca56749d0fdc87f95c92261e43a5676ab2d6b5fe873df1e5555bb2ef96c168314c11d1be98b5d193ca019bb78267d89cee2abdff12badcf8a4fd35b0f69441347dfcdd584f4039b84d621fedb11118af5edcbd03a69457c3d1818c6733a818f33cbc674f11707f099385273c288e20c187650f65f5d1555111d5a281b7ee0d92b1c0e36c2904cd52921b8eb02fd3aca5c1854cb3e05215fc646a8638210db99fa77afabddc74fc54fa5f9bbe2ee41dcf658fc4cdc9405330ca536aa7366eb67a24fad886e6344a3c539b3693ab12e9ac8bc9cc9cbf5c969d12cd4546790b1124326eb54137547993d6f8c2d202e7a8fa4e2ec673a7a3283b391d3dc841ff6a534b49e08c604d350d3e7e9d1ff18951ee258956224278f1529e96310bbfc5707b476464be1d93201e2b06fff8eef6ce46e4591f0c380e670695b157c16e21893e07f6ffbb0031d42d0f2f4b538aecfeac30ac8f9c0fb1638cdda492106711dba5d440ae9cfbe6a8f5a971c94a1a1d792e807da3a2047ce6f845ad4519603767401aad0a56dda51f03c4afc1ab2a768fdc5c8138eedec665dda6dfa95ce8d96f230381c8a350f55098a0c153e51138b685bbe41a224478c5e94307fbb26c9a59d055ec1c1ec07d9fff2f699bc312cb30462d314236beba9af9377dc0e7443f4067b691eb1de792cb28ecc3265fc9ceb982c2d62317aa36f9a0bae50bdd2160d57bb07b6e3293ab1bbee79315d3eb731c4b693f6d112caa08f58f636f0768fbd27e1af347e8572806354c88deb6c1210ce66de18f661ccf3417c845203533b346c6199efe399c9c4f2c3ec0f1f6d9d2d2de37f6b306c16df4cde6aba559e2ad78aa5df9e0e7064525522b61aabe3b3cc6e5ea35068d613e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8551d5a0f9529f44a2ba3d7f26d8896a1d25bc0a3ffa558ae9f8b0d3371373509118c272d7af3d594c7d8f34e87f8ef8c496b0ad17b1559de5323010e63dd2ac4297c09c90dfc9ca07c4ff0665bae24417e324d43807d5d379022ba973db001089732fc7f5de8c0a5dc0b1e7eb609ca31a77eb3475539e1d97a4543dca1b9b26c57c06256028ce2554eb888bf25d393b1594b2cc891e40f8075c36a9e707dd6eabe71fb07558d53450873191161de4c9a96b2a062e96b3d03d371fab0c9aee4736b446946278b52f07ab25cfe160892409f3ababd6a5f47989bcdbb5c3ab9d62891682adf1f2520931444bb8c06f8016becca29c0eee44f096ba30d7d85c2ffcfb41fa8e642d4508a811835f60b275b4270910ce5636af69e1e682beddd5221c8eb0d0de1b6ab45d7ca7d2e4bb9f80e3feff4226dd0454d44d7a70fb78b8e92a138de5fd3f4bdfe05b982b9a17158a4a905d67df2e4ec983b46b2903c223703ce54807ec8fdfdbf45246174a1e47510375ebde260b56deb3f20eccf6a5086a6914afb22d7677f98180aeb02def27c3d7473ec74299907f24dc21ce77748e085864e46dd98fa97cb746f02cb3a7d229e68a231663a4d6aa7dd290b864dc2d1d422d0ea2e8c4625a7c64fb64cb4ca73ee26a8ea2c3c964e5dbad352c2e6cf47df7dc88f4214fef82af09cf2b60cd87d5811702169136ff181b172fc315d63aa90c9d2f79cfe493f65cc68b359e4fb5c63df5c0ad7e91a921bbfeb0b1693db9cd2a8c8f4c31130bc6a4e95367b4b3980a9d668658118648d4ddf0497f26d5481c1f7558bf983ba714c1dbcedf2bd75705361d654422e2fde74299ea422d0dc3073333dec922c32e3c100338e6a246ad117c19c2890469a45ceff337036ebc1f8223e04a6eb5b12a5db604c3ec1cafc1ba786e319f21cbb828cf1d0386c892cfbe97dab0b0d965b89077c14b32cb0bc361882f773bcfc0a872d5940a8b3eb482b231147dda54957e33e932bbdd3b8492fe309aa389004b4feb8197face1dca2b744f0a322cdae482fad2b2b41731cd18be8dd7c1bf81cdfab57f6a496f6b8ca6d7d3406a723250bee7bbf93980d80177ed263228d27dfd8e9d5e6c6f08f65e1490898bf0fe3be9335e5c0f90ece9551b2ca63244f0a4e87b102e69f419a6bfc90a5af679d3c34a6e7c25fdac2942ba5bfe4552c0d3d819c11020d6ef7e9d937668b138c54ddd2e1233ed6f994da6ef6f8f3108c119d3c984383e54fb5c976262c11d7a3c52efffe713ae1974302c33acf863a0ebcbd2a5822071e52f95d936f1df723422b88c65030a4a7a4a2430386c8fe134fcb8e1e0eec301cf8dd184b2f4468164fec5f7d91b26b93f56d05b772e590b024b9af4b133b43d924d635c2ae303a862c83763ae04420695837647da899a531b9e3a7afea6e69bb5d6c275670058f85f8418d59133abb7428543826deb252d1bf2e41ecc7a8063fcf8d7f37eeb9f5dde5d06cf9487ea77ce07bd00b071eaa4d64fa36f9b03550d2227911bf5562acc299fa3d2a0c88d19f7f2094c003b2d10ff21ecc870d85b16ce5463d1832ee08b3a8614c800d721a196c0fa71c63e935092e4ff5251108887d92ea695a4b3c58175094af109fc27e5b8f68097e74591e35a6e684dff818bbbae45a61a46471ada3ce2a587abdce4674b02a3e6604c04b6a4f57f2c0fc5d071a2f66c0903b85b43bd43f25abe243b576e6c71295e61737a2fa304551bcd62bede4c239e52145de43319ac2bac88a0890a0c9db34c4c39fa7763a672796d2a5f5a5357dcb4be30e48f433fb9cf498468b3f14794ba4bdb718c60f976ec4f4a71654eb4861c575f58fb0ada1a4119488fbf000f2ee0f3343a33bb76cbc589edf458284552ee57271d14add2fe4273e0a86c4cc54970ccdbfd2a4b308bc7012e54fa33c7b3ff29d7f9583428a68ab4ca8ec9b3e5b1e761170f05460277fd489f0edf4afed843524f9fd22c927ea9d1a1a8dc78ad8afda8b7e837d0cc758885a43fad93c685069682269bbc37c2d0e8c3182f15d14aaa6fe6d44e07379446864808aca670c65655516af76f1622b63c7224e613dfc4a281fdb1ffd3c0e2b2038bf263e5e30d3622dc49635fbf0cce21face1a10a93d33505737d249b9ce887d21850716d4d59c248f96dc54d66315c4e476f27c40992c77da0eaa9ff97b9e127761f4bafcd1cb548262676af03e8bdf360fd182a23e8cc0adda5e0219f5223a3bdede627edd438360b852cc4cacacab16921fef6b78517503f98f17fc77dc1eb2f6b54045f4d19d10e70a91ce5949a7387852d89119b6c131e1121513e6a5baa11c9fed97ef8658495be6bc9d8d122393c051ca969101893ca831c11634eb6847d87c27929ff55ba7e109ef567b1abe0837a66d5852e978551262f31bccad449b13edb75c524b6b4635a87a507b24a64bc01224c9dc4c1588cbaef1b239b83642daceefdfc2a586535e016fb06b5aeb3b30a278e66723ffa252c711298b616f1e29aa079d4eb21b05be649c548e2711c162bbb6b43dff003f685fe6a7586f5463be5db99c475d7500daf2f8be71d08c4f082d9df68edabbafc7db77bd0d30473ad0b8240b54a9eba41208bcd2ec42118e9e009c395926ffe19af9d62e073a1c4d7527f1f251438f5f7daedfc3d6427f8cc42ed60eac8fc7e0c34b411cd9f865a5bd1668ed9479b1b12c21bfd36be79d4c01780610a767b786fa32cdea3333c4384bcdefaa2c51c05f5c9cff3e7251b55648223f469f86310a26e82da09874442a17a4809e7c20d92915799e3a55065f1d8f3b5a5cb3d1f1bbe52a89b666775d40d88bed418f6d1cdf2bd0992ed5379487f1c117f74a01c1394a8b9a25f2b21b578a5369f15408fd3ef071f2e1497ba0d2abeab195bb16a38f9cf7d2f73c6df6cc4fdfd7ba8206d0bf5e4e3534ec2f07fa2203e555dadb3ce7f2b94bab97c6301543fcd5342f0f2f935491959a4d3818321301150314755a51710fea05c88bce5bf2fc036506a116c34f03142caaca1bd4e00a5b363c8595fd1e560d8204edb9beab10643eca474d67fe100325c37169f8014693ddd8eb4bb4ea2ea47446dc2ea4cb4fae8d21b03fd281dd9e627e07c6fc319c11b02c3dfe87a47feb5a926729dfe5e17f8fad630ec22cd97f2870a98b24d41e36391d0f59ee1fa6215c45ca152eff84613340f6ae2096a723a34cc6aad682ce8d63b59218bd41278f73caddc8d35aca333be8fda719514f248dae4bb74ff9c5c392a55cf850b67e0dda0342c2875edeadd9e087f7c800d0a77e264b343782d9a48b49201382c4cc0c834b96d71b114445730d7dab47e010661ba40ebcfd9087a8c11494cb56e6c85bea729c03e9e2c791fa05a37622594f8307e747da510b500dc73fc54143bd43c2157f17fc59e8b9dfbc911681d773b87ad16a2dffe852f97cb0c9b77b6036e4a1b28a0547f6918736c534e2d404f97a3554a01808af1046200325a973dd0d60432380f0c3481b0c16c949fdfe4fe572f44bd9141922ce385980403e57291eda5794222a8312a8235446a8ae73b6adb4b5fd626fde1d66bfacedea4cf0ae7484ddb8e9f660778ec7c468a1ea53d22cf75a0bafa5cc649838977b0a38a0562b27665b4f87ae0522922c348175e53b5dafd5fa2fd65c899193bce305cf73f2a4ab24aa103e1923316d2bf5eb550cf83b661fa758342feda6b8f318e64b5df38e689f7b672c68a9436f463e84e2d4d4df4f589682f3a76a9411a6614fc330b273c9b79ff1d6d1bafa7f484519678fcef20cd561067e2cb6de86999cf41efd885c8cda39d11cfd0f98b11c67ded75febfccd1e5ac9b2bb5d69d0f8fa40fd158ea6b9f47138f61a5c7e13ce5a709dd1ee1d5ad2405d70c35fef634f7eb6f372647c9ee25dc0f7df16364d715c6f5a64a583385f27bfed2ac223ff03ea219fd4cd3d9f7c78898efd2bcb7e56038edef54223acd7b9ec555f488e41450a297e271b7296818f99ebcdc988ffa684ff98011c68481b42dc52ec4e4cbe025c1abc483c9b5617a955f2a0a8b61f4b35a79c7e64b2cc42949344428ee9d230fb9adf33640442262a74b27d0492dcb04820e3097e2df14c75792bd2b77ba55dbad75b23a0808a8b7e80b3d0c30828e2c12e47572f31f6ea0748f4817ea3dd8c2622c9d1a781bf0c54de307fb6fdf75405242c0af6d7cd3dfd5133b8657c62411b7fc01b05f9974ebecdefc3fb3c112165b5d51919e8f9a46f47745f43c3e8b750fbaa0c138ddcb9fa7f2514fc3dbce788d300eab9e33a268147dcd101f0e0f87765e7aac2a77c4155caa87629e761d545b9063e98884195fd6c9df0788beab119bce8c132f4b81800c8dfd1d24496c3e3b16b8a9dfc6443e37d1e7796ad8b3b8269237586fa83f84ab8ecc1ae679392395a124cb0cbcef72daf9e801e396f93ee5705533ce70739f5c9b33b4f14eba56c68b161ae7311df2535ccfb9238a178ba4bbe69bb1907e3d8c43263f548883e0a7ab537042480104fd3a33fc6af5e719f23e310707797247a572ce6cdce9d5fd37254ad0579bfdcfac5315bf93093076c2582714e7165cff06f3fee52977b46555b95043fdd9608955860c0bcf2ebac6945b6861fae21fb83c27a553818755531c290415e23a2aad5ffcd6eb3d72dbc8f21e613dc17ea100a0b5c1e641e5158af766aea7adf0ae0aa537fffe83d940763ae064efcdc081bc812aff2d66e785ae0f99cc69e3e37fe1ef5ba05a1116b9ac8e0437c1ab08bf3ee9ca26e40370d87478fc5ad8d7611c39d6dc5e450069b9e4e0619d1a4e161e9aa3778883127919e0b68a11fa1e30a7ad50556dcdb0f3ac828db2f4402f15edb52e6470f2fe099be5ce4190ae37395bd253ded035fd710dbbbc54030c96f4b7908743f24eb73131f2ec5190137b987acc83c5bef3710a3e32b2273edb6bcf2f177c08cef32b39c3880525b7ba9a417ae03073898d07489bdc4b3b3542da6230b9fc40228c40b423d05c5e3c974834ebcc8147be438edc092d10b358ce2e1280684bd1d2c400d7d032870a2c33819bdf8b5292183ac3ab28619862e07d47a89f79b0d358b167dc0b9014d7486fecea3d60a9b3815db00c493678d706d4f21b7ed0c55b2db6b035662ec245f24f41d54aa266fcdf1d2c096b9d16bc6483714971ea9c7d7132e4468b7a46e4fe5575d2ca17263fd3e3f6b3e7924b723d52accc6928f925cd87396f6c9353e3c9c51fb01c225230614978330c0bc8107679e953e50df0210b14413bdfb74499cb825cf93d588d74054c752ae21e78421df3553b308ed917d117eae02ebc473c9a8925ab97efe855e03a97b0056894be3bd06962a714f9008133926d86d62beb7fb2a765ca65fc8d076e0ddfd3bd83b104790893879edc5654c628ab80715d955984b9eea885a3d5f84d20723a27c1442b861be44fbf58a4525eefe2ccbb2b5f7ceb21e8be6de6036ef0dc8a908e4cc248ef1d8aab87172e722d8c5bad9e137fd43994e0fe8a25770de78278bad1d73acb1706aa329cbed8206d6416eba361401004ba184e49a4a51523cebd2fc08eac8b6a9289aae65bd3e3b31987618c85eb396b9214b5cd5b2a169b5c8dae1dbc918c9bfcd312b535d44e309339023341be0a25758dacfeeb6de3665defac54fe0bb5896a18ee994405b2fb6068dda2db4ecf8400456dd00ccc2a30dee3b47cab51a9b99083f4c67c3aad23aedbc5757342cd4826778a39a6decf770fc1af3e889d61a3b8fc4a6a292e03cf340ab41646acc3a51cf1cd29eeac818cfb31d2096bd4c39d6bccea68b09336a6ecf61fa3c9841d459a5b3f30e3d143398d206d8a3f03161483bfda449924a2daf823c1cb95cd42a032eb274d4b83f4a34c55d6cd9fb785f72e95cc1ab8c2dbe033d2c575262eb7faf96100897bff9c5945f267d58ca4ad7a4fab4b070af9023f3b6fb995e93b71ac05949561e07177b8c9185c031ccec3d57bb7d534205ad99aa585ceb3805dcaf89906ddd2de9a472f5f219a019f0d35267943edc9adc593ed77c6f56b79d2bf212aa8e4cb6e1448f4db0b6d7747f971dce6a01f57657ad25654126ee1549f30b90d49e2fe2cfd6210b733c228d815a5e1cdb763e2cda83e011cc73b8924ea9acab1773e2d6125b024147f3999fac5af91aa97c0e79e2fb430675eb7133d8d791f1794ca7caeaf98e3b27956cbe40849ecb7ad146fd27e11e4de98fd069de8d72278aab8fcb1a6217fa1ab706c7090ea690698d32826f802773b841d4da09636ab348c8e270fa6a1fe7ab0243be67303b40824cff7381e01cf80a5871e1e291e52643866a89a69d4ade896cc2c41a9640a106698773c33c4984f4a88946214537aadcd3736daba48ed7a3e5341b1c1c0919c6782a602904394108e56400032d0d841fc7624d67a1ec34ce7760b4316df5b87bea9b9988ae4a07403af68d67ffad06e4548c0b270f0de665868622332c4077c405316ef9937a8f3aa1983bc25c54b697e40d2a5344af7be4a06b3e040783f271a6989ae86bccd402a0025a86182d04b9f3964640237080e8d6101beae82d03c9ec330ebda3a3df6831a3188d02d180f5c3d0d108f13424fa5f426eede7356b0b7a9680ec813b9a86bb2dedeeb30a5f08177146c835fe429d8e708e4b575cc98383aecc16bae429560d7ca120bb894af248b7f40dba4a8d90f1e5a77d1eaaa1c06512c7345eee63c0ba53c73b34d1870fac2d20bb9c23c281edbe4e20542073cf1f9f5a56137fcfedb482f89db712d5573eccce0b3d85a83c0f86f8000cf55d920e04a19db061911c7cabfc6ad6913c1d384c0ce1959d714b5fa38b2f3b621abe880f693f771ad201af621c9cee064431261c8a472d750df6bc20436955256fc80a6d040f0d4db4ba0b528be8a4aa3066972b5951f4dcf33a35237d0353094f45c7825e24d1319d5731b5a618af6b45f16633e01f78f198108c009ad3b133cb205d06730b828480b52eefcf0712a87dcf8253a3830d206fa1e78fcd12c230aea8fe304a3cd72fe2693c49f0f3ae75f1820144b3c923ee447fed58e937bc4f566f62e1a9646119469ef46168406bc3cd69905b86ca11fcc043daec3b6c29f7a411982cfc092cae72561324f5742bb929a519706eb78c051dee57b718aadc73e7a0cd67a272a00b6b80c665703109d7f235d7e57f502654c914ad2b577fa5032f85f36bfb8a4218674f4b05ff05cddfb03242d5273a3fd4bbd57f111ab168b64220a8b35f822a4d23d5582ee7a81cd5fa49ab3462779fa6417f387b0e1125a101e14777736551d5671f7caa8b00b962758a69619e46578cb065e5c3eb823ad925f242c5d7fab28d2ec795d2f465706bc5d58dab807dbc674d8c88eb7b349b298b1ef42f2856bc499eab6a1521bdcbb467e354fef75d012dcba1224b3456c4b293af8b1c60b61aa987addb8662c53ff9ecb0d5946f888c52f36baf9b62d60bc8d06426a314aad5a0ff86a4362a91c2512a1df9c3beed9bc7f228ecd83d7b6871cde06af6ba90faf2af7f8e23b7c59ca5d2684250cca4b1813a273b03dadf0ad704b35a4035e442a676e8c43b613ff4fef88cb43204e834efa5e576cc3a18144153f8a67cdf0e7f730292cfe9e22689d01c8a8e29e6ef15706f7ec95b9883906ffe9affd42f95647c69795110f76d516a0c5ae589b1f2ccdc497f6eaeeb9aaed95d870a3a146352efa96124966c09a163ef42650815c2041292f687da8d3e52f4a1e27a41a8c7745d715a8d1421856612305b5fd1f9934aa8a9c6cc395f420538bdfa38e0a6cd88755179152076a0f3b0dffaae737abbffc95ccf0c8c42612012a045f7abef7ccc688f62a39ba865911b881c55110c21803529df07e88a86be28b7abc0bb50f97fcc019d3f9c0156f83b56c2121cf5cb7b7252dc3710d5f3c81d48eef220327df679452dc75a11d5118f8318ca52fc151bf98fd5d52279b1bd3e06b8af7a552dbda671e114d1bce2008989dbcbff06d65cf2c998356784442cb44769dd01e58994febb9c6fde8a723825d7c716f7a50544fdcbea21d3c1f50cf95a657792f5f60fd07712a322ea956a69e702a918402a850edd0a77bcffdfafb21c8f22a89ac2b252f1802a6291bfc72200d488c02a4d13a82b9d90aff5d30f42cd5622f84e82e0038595e8b42dfda6ab0d250ff8b6916f8ca2b67a22750a7d4fcb9ef6c5302fa3aef62927775cedcf17877227b38725d468be1a4c2f54fe91e410b89cfadc46032a2311229a69a7abd34e5c55cd62f6bbf39858520e63de83919df873efa77c573c674724fb0bcc5892554920828036a3cef1e3c043fadd8d430aab88a7341bbc9e051382aae77fe16ea9efee69293dca3219653583171ff0ad19cf8e6cdb44650568cf944757bf6aac214700b3eabe0499c39c20e2016e4b87158dd3107e2223e5dc1b011068079e25e1ef0026201dd311ae771aeb3bb0f0e8d1a0db346adcd3a788666d30859e128edb27be5c3234df249265780e7ab3987ca8f2b807cdf5961546c3d386aa976c958a5bab62539ae030a403944b121cc848e509c75f0156a40f4054b5d61de9bb78a78402135162948bd3a8d76a9ded1e4af350604bcf8a4b3f881500490fe54c3fbc716042346ea08f81277588506f77457ea5e0550d3762b65b79863e807c19482e4d6b26c97f6c4e452634e8f83bf46f5fd3de4f99f618f580af36bc45c2a10b8b5861aebbea4fffeaaeae4cdd1f11faa2fd512821f8b00d9e6d8877a08340ccc84e45b108d61959af8f8c0235336e057616dc180ee45f006704c33b7f10f9fb330144ffae7c7149c01513670e331d445679b32ac774afde77d686368083cb12f394cf49213ad1d533ddf977a2af65e4e2d0710ea51f1fc291df7c09501957039eb68027d96c3b39e18e4bbbb2806a5d3fd31e5730fc04ac52878b5fc328bd5f8e4bbc4320e5ca039e1ced3b5c6cd9850f78ee4e75f98fb74d78c7b9f96b35dcb8c48c407446fce9b1bb5cfea5c27ac141b5a9e4ea54cedf721f5428c70c897136c1045e2394ea0d995d80b58d502a34ede86fa3b582d096a6c7e4e81b1b0dfcb03fd4fed01b6f355f30a537d0ae5236c074e8b466db404795da319d8d80b38b805584e745e45827892273e9036af37085749b63ac9aaa5c204f0a343c8cbacc9fff009925463332d4c60bc4e342b8742a1905b6f4f6e8ba5eaaa21d71579c93236041adf631921e0eacba3660d75a3b24696417df6375a798b6f61c679638aecddd5abdf665e9ca2eb5e731d6942bf9329e0a7ff3f466404e86902b845e96f0aff1eab../../share/grub2/x86_64-efi/grub.efi../../grub2/x86_64-efi/grub.efirootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootgrub2-2.04-150300.22.37.1.src.rpmgrub2-efigrub2-x86_64-efi      /bin/sh/bin/shefibootmgrefibootmgrgrub2grub2perl-Bootloaderrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.042.043.0.4-14.6.0-14.0-15.2-14.14.3d.@d?@d@c@c#@cdb@b@b+9b)@a@a@ada@`ٹ`"@`@``}p`n@`P`J@`8`3`.V`U` l__t@_@__m_X_G@_A_?@_;_5+@__A@^x^U@^H^y@^t@^oj@^j$@^g@^Y^K^9\]e@]{@]@]@]W]]V]0_@]@]]@\ޢ@\ޢ@\-@\\\mA@\b@\N\J@\J@\I\HW@\@[@[@[[@[t[Q@[-[~[l,[j@[h8@[W[L[D[<[3|@[*A[#@[@Z@ZK@ZZJ@Z̧@Z@Z&ZZkZZ@Z@Zz@ZyZxG@Zg#Z*~ZOZ ZZNYeYA@YX@YY@YYYn@Yu@Y[@Y0YR@Y@X׭@Xg@X@XX~@XO@XZXXXX@XBX@XYXpXX@X|Xv@XlXfL@X=X @W@WiWWF@W@WWW@Wq@Wi,@WPW>@W=W'A@W!@WV@VՄ@VՄ@V@VT@VVvV$@VrVqR@VhVetVa@VV@VLh@V5V3[V2 @V#V @VV@UU@Uc@U@UUzUt2@Uq@Un@U]U[%UPUOH@U@U.RU/@UTTT[@T T@T@TT@T5TLTy@TeTR(@TR(@mchang@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comnormand@linux.vnet.ibm.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comlnussel@suse.defvogt@suse.comlnussel@suse.derw@suse.commchang@suse.commchang@suse.comolaf@aepfle.demchang@suse.combwiedemann@suse.comschwab@suse.demchang@suse.comrw@suse.commchang@suse.commchang@suse.commsuchanek@suse.demchang@suse.commchang@suse.comrw@suse.comrw@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comguillaume.gardet@opensuse.orgjengelh@inai.demchang@suse.commchang@suse.comrw@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comdimstar@opensuse.orgjosef.moellers@suse.commchang@suse.commchang@suse.comjbohac@suse.czjosef.moellers@suse.comjosef.moellers@suse.comjosef.moellers@suse.comjosef.moellers@suse.comkukuk@suse.deThomas.Blume@suse.comidonmez@suse.commchang@suse.commchang@suse.comjdelvare@suse.demchang@suse.commchang@suse.commsuchanek@suse.commchang@suse.commchang@suse.comiforster@suse.commchang@suse.commchang@suse.commchang@suse.comolaf@aepfle.demchang@suse.commchang@suse.commchang@suse.commchang@suse.comolaf@aepfle.dejmatejek@suse.commsuchanek@suse.commchang@suse.commlatimer@suse.commlatimer@suse.comagraf@suse.commchang@suse.commchang@suse.comrw@suse.combwiedemann@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.comarvidjaar@gmail.comarvidjaar@gmail.comarvidjaar@gmail.commchang@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commsuchanek@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.comagraf@suse.comschwab@linux-m68k.orgmatwey.kornilov@gmail.commchang@suse.commchang@suse.comsor.alexei@meowr.rumchang@suse.commchang@suse.comdmueller@suse.commchang@suse.commatz@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comro@suse.demchang@suse.comarvidjaar@gmail.comjengelh@inai.deagraf@suse.comolaf@aepfle.deagraf@suse.commchang@suse.commchang@suse.comarvidjaar@gmail.comagraf@suse.comagraf@suse.commchang@suse.comdvaleev@suse.commchang@suse.comarvidjaar@gmail.comolaf@aepfle.dearvidjaar@gmail.comarvidjaar@gmail.comolaf@aepfle.deolaf@aepfle.demchang@suse.comarvidjaar@gmail.comarvidjaar@gmail.commchang@suse.commchang@suse.comeich@suse.commchang@suse.commchang@suse.comdmueller@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.comagraf@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.comarvidjaar@gmail.comdmueller@suse.commchang@suse.commchang@suse.comschwab@suse.demchang@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.commchang@suse.commpluskal@suse.comschwab@suse.deschwab@suse.deschwab@suse.deagraf@suse.comledest@gmail.comledest@gmail.comjdelvare@suse.demchang@suse.com- Fix unknown filesystem error on disks with 4096 sector size (bsc#1207064) (bsc#1209234) * 0001-grub-core-modify-sector-by-sysfs-as-disk-sector.patch - Fix installation over serial console ends up in infinite boot loop (bsc#1187810) (bsc#1209667) (bsc#1209372) * 0001-Fix-infinite-boot-loop-on-headless-system-in-qemu.patch- Fix aarch64 kiwi image's file not found due to '/@' prepended to path in btrfs filesystem. (bsc#1209165) * grub2-btrfs-05-grub2-mkconfig.patch- Make grub more robust against storage race condition causing system boot failures (bsc#1189036) * 0001-ieee1275-ofdisk-retry-on-open-and-read-failure.patch- Make grub.cfg invariant to efi and legacy platforms (bsc#1205200) - Removed patch linuxefi * grub2-secureboot-provide-linuxefi-config.patch * grub2-secureboot-use-linuxefi-on-uefi-in-os-prober.patch * grub2-secureboot-use-linuxefi-on-uefi.patch - Rediff * grub2-btrfs-05-grub2-mkconfig.patch * grub2-efi-xen-cmdline.patch * grub2-s390x-05-grub2-mkconfig.patch * grub2-suse-remove-linux-root-param.patch- Move unsupported zfs modules into 'extras' packages (bsc#1205554) (PED-2947)- Security fixes and hardenings * 0001-font-Reject-glyphs-exceeds-font-max_glyph_width-or-f.patch * 0002-font-Fix-size-overflow-in-grub_font_get_glyph_intern.patch - Fix CVE-2022-2601 (bsc#1205178) * 0003-font-Fix-several-integer-overflows-in-grub_font_cons.patch * 0004-font-Remove-grub_font_dup_glyph.patch * 0005-font-Fix-integer-overflow-in-ensure_comb_space.patch * 0006-font-Fix-integer-overflow-in-BMP-index.patch * 0007-font-Fix-integer-underflow-in-binary-search-of-char-.patch * 0008-fbutil-Fix-integer-overflow.patch - Fix CVE-2022-3775 (bsc#1205182) * 0009-font-Fix-an-integer-underflow-in-blit_comb.patch * 0010-font-Harden-grub_font_blit_glyph-and-grub_font_blit_.patch * 0011-font-Assign-null_font-to-glyphs-in-ascii_font_glyph.patch * 0012-normal-charset-Fix-an-integer-overflow-in-grub_unico.patch - Bump upstream SBAT generation to 3- Security fixes and hardenings for boothole 3 / boothole 2022 (bsc#1198581) * 0001-video-Remove-trailing-whitespaces.patch * 0002-video-readers-jpeg-Test-for-an-invalid-next-marker-r.patch * 0003-video-readers-jpeg-Catch-files-with-unsupported-quan.patch * 0004-video-readers-jpeg-Catch-OOB-reads-writes-in-grub_jp.patch * 0005-video-readers-jpeg-Don-t-decode-data-before-start-of.patch * 0006-misc-Format-string-for-grub_error-should-be-a-litera.patch * 0007-loader-efi-chainloader-Simplify-the-loader-state.patch * 0008-commands-boot-Add-API-to-pass-context-to-loader.patch - Fix CVE-2022-28736 (bsc#1198496) * 0009-loader-efi-chainloader-Use-grub_loader_set_ex.patch - Fix CVE-2022-28735 (bsc#1198495) * 0010-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch * 0011-kern-file-Do-not-leak-device_name-on-error-in-grub_f.patch * 0012-video-readers-png-Abort-sooner-if-a-read-operation-f.patch * 0013-video-readers-png-Refuse-to-handle-multiple-image-he.patch - Fix CVE-2021-3695 (bsc#1191184) * 0014-video-readers-png-Drop-greyscale-support-to-fix-heap.patch - Fix CVE-2021-3696 (bsc#1191185) * 0015-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff-.patch * 0016-video-readers-png-Sanity-check-some-huffman-codes.patch * 0017-video-readers-jpeg-Abort-sooner-if-a-read-operation-.patch * 0018-video-readers-jpeg-Do-not-reallocate-a-given-huff-ta.patch * 0019-video-readers-jpeg-Refuse-to-handle-multiple-start-o.patch - Fix CVE-2021-3697 (bsc#1191186) * 0020-video-readers-jpeg-Block-int-underflow-wild-pointer-.patch * 0021-normal-charset-Fix-array-out-of-bounds-formatting-un.patch - Fix CVE-2022-28733 (bsc#1198460) * 0022-net-ip-Do-IP-fragment-maths-safely.patch * 0023-net-netbuff-Block-overly-large-netbuff-allocs.patch * 0024-net-dns-Fix-double-free-addresses-on-corrupt-DNS-res.patch * 0025-net-dns-Don-t-read-past-the-end-of-the-string-we-re-.patch * 0026-net-tftp-Prevent-a-UAF-and-double-free-from-a-failed.patch * 0027-net-tftp-Avoid-a-trivial-UAF.patch * 0028-net-http-Do-not-tear-down-socket-if-it-s-already-bee.patch - Fix CVE-2022-28734 (bsc#1198493) * 0029-net-http-Fix-OOB-write-for-split-http-headers.patch - Fix CVE-2022-28734 (bsc#1198493) * 0030-net-http-Error-out-on-headers-with-LF-without-CR.patch * 0031-fs-f2fs-Do-not-read-past-the-end-of-nat-journal-entr.patch * 0032-fs-f2fs-Do-not-read-past-the-end-of-nat-bitmap.patch * 0033-fs-f2fs-Do-not-copy-file-names-that-are-too-long.patch * 0034-fs-btrfs-Fix-several-fuzz-issues-with-invalid-dir-it.patch * 0035-fs-btrfs-Fix-more-ASAN-and-SEGV-issues-found-with-fu.patch * 0036-fs-btrfs-Fix-more-fuzz-issues-related-to-chunks.patch * 0037-Use-grub_loader_set_ex-for-secureboot-chainloader.patch - Update SBAT security contact (boo#1193282) - Bump grub's SBAT generation to 2- Use boot disks in OpenFirmware, fixing regression caused by 0001-ieee1275-implement-FCP-methods-for-WWPN-and-LUNs.patch, when the root LV is completely in the boot LUN (bsc#1197948) * 0001-ofdisk-improve-boot-time-by-lookup-boot-disk-first.patch- Fix grub-install error when efi system partition is created as mdadm software raid1 device (bsc#1179981) (bsc#1195204) * 0001-install-fix-software-raid1-on-esp.patch- Fix error in grub-install when linux root device is on lvm thin volume (bsc#1192622) (bsc#1191974) * 0001-grub-install-bailout-root-device-probing.patch- Fix wrong default entry when booting snapshot (bsc#1159205) * grub2-btrfs-08-workaround-snapshot-menu-default-entry.patch- Improve support for SLE Micro 5.1 on s390x. (bsc#1190395) * grub2-s390x-04-grub2-install.patch - Patch refreshed * grub2-s390x-11-secureboot.patch- Add support for simplefb (boo#1193532). * grub2-simplefb.patch- Fix error lvmid disk cannot be found after second disk added to the root volume group (bsc#1189874) (bsc#1071559) * 0001-ieee1275-implement-FCP-methods-for-WWPN-and-LUNs.patch - Fix error /boot/grub2/locale/POSIX.gmo not found (bsc#1189769) * 0001-grub-install-Fix-inverted-test-for-NLS-enabled-when-.patch * 0001-Filter-out-POSIX-locale-for-translation.patch - Fix unknown TPM error on buggy uefi firmware (bsc#1191504) * 0001-tpm-Pass-unknown-error-as-non-fatal-but-debug-print-.patch - Fix arm64 kernel image not aligned on 64k boundary (bsc#1192522) * 0001-arm64-Fix-EFI-loader-kernel-image-allocation.patch * 0002-Arm-check-for-the-PE-magic-for-the-compiled-arch.patch- Fix error not a btrfs filesystem on s390x (bsc#1187645) * 80_suse_btrfs_snapshot- Fix error gfxterm isn't found with multiple terminals (bsc#1187565) * grub2-fix-error-terminal-gfxterm-isn-t-found.patch- Fix boot failure after kdump due to the content of grub.cfg is not completed with pending modificaton in xfs journal (bsc#1186975) * grub-install-force-journal-draining-to-ensure-data-i.patch - Patch refreshed * grub2-mkconfig-default-entry-correction.patch- Fix obsolete syslog in systemd unit file and updating to use journal as StandardOutput (bsc#1185149) * grub2-once.service- Fix build error on armv6/armv7 (bsc#1184712) * 0001-emu-fix-executable-stack-marking.patch- Fix error grub_file_filters not found in Azure virtual machine (bsc#1182012) * 0001-Workaround-volatile-efi-boot-variable.patch- Fix powerpc-ieee1275 lpar takes long time to boot with increasing number of nvme namespace (bsc#1177751) 0001-ieee1275-Avoiding-many-unecessary-open-close.patch- Fix chainloading windows on dual boot machine (bsc#1183073) * 0001-kern-efi-sb-Add-chainloaded-image-as-shim-s-verifiab.patch- VUL-0: grub2,shim: implement new SBAT method (bsc#1182057) * 0031-util-mkimage-Remove-unused-code-to-add-BSS-section.patch * 0032-util-mkimage-Use-grub_host_to_target32-instead-of-gr.patch * 0033-util-mkimage-Always-use-grub_host_to_target32-to-ini.patch * 0034-util-mkimage-Unify-more-of-the-PE32-and-PE32-header-.patch * 0035-util-mkimage-Reorder-PE-optional-header-fields-set-u.patch * 0036-util-mkimage-Improve-data_size-value-calculation.patch * 0037-util-mkimage-Refactor-section-setup-to-use-a-helper.patch * 0038-util-mkimage-Add-an-option-to-import-SBAT-metadata-i.patch * 0039-grub-install-common-Add-sbat-option.patch - Fix CVE-2021-20225 (bsc#1182262) * 0022-lib-arg-Block-repeated-short-options-that-require-an.patch - Fix CVE-2020-27749 (bsc#1179264) * 0024-kern-parser-Fix-resource-leak-if-argc-0.patch * 0025-kern-parser-Fix-a-memory-leak.patch * 0026-kern-parser-Introduce-process_char-helper.patch * 0027-kern-parser-Introduce-terminate_arg-helper.patch * 0028-kern-parser-Refactor-grub_parser_split_cmdline-clean.patch * 0029-kern-buffer-Add-variable-sized-heap-buffer.patch * 0030-kern-parser-Fix-a-stack-buffer-overflow.patch - Fix CVE-2021-20233 (bsc#1182263) * 0023-commands-menuentry-Fix-quoting-in-setparams_prefix.patch - Fix CVE-2020-25647 (bsc#1177883) * 0021-usb-Avoid-possible-out-of-bound-accesses-caused-by-m.patch - Fix CVE-2020-25632 (bsc#1176711) * 0020-dl-Only-allow-unloading-modules-that-are-not-depende.patch - Fix CVE-2020-27779, CVE-2020-14372 (bsc#1179265) (bsc#1175970) * 0001-include-grub-i386-linux.h-Include-missing-grub-types.patch * 0002-efi-Make-shim_lock-GUID-and-protocol-type-public.patch * 0003-efi-Return-grub_efi_status_t-from-grub_efi_get_varia.patch * 0004-efi-Add-a-function-to-read-EFI-variables-with-attrib.patch * 0005-efi-Add-secure-boot-detection.patch * 0006-efi-Only-register-shim_lock-verifier-if-shim_lock-pr.patch * 0007-verifiers-Move-verifiers-API-to-kernel-image.patch * 0008-efi-Move-the-shim_lock-verifier-to-the-GRUB-core.patch * 0009-kern-Add-lockdown-support.patch * 0010-kern-lockdown-Set-a-variable-if-the-GRUB-is-locked-d.patch * 0011-efi-Lockdown-the-GRUB-when-the-UEFI-Secure-Boot-is-e.patch * 0012-efi-Use-grub_is_lockdown-instead-of-hardcoding-a-dis.patch * 0013-acpi-Don-t-register-the-acpi-command-when-locked-dow.patch * 0014-mmap-Don-t-register-cutmem-and-badram-commands-when-.patch * 0015-commands-Restrict-commands-that-can-load-BIOS-or-DT-.patch * 0016-commands-setpci-Restrict-setpci-command-when-locked-.patch * 0017-commands-hdparm-Restrict-hdparm-command-when-locked-.patch * 0018-gdb-Restrict-GDB-access-when-locked-down.patch * 0019-loader-xnu-Don-t-allow-loading-extension-and-package.patch * 0040-shim_lock-Only-skip-loading-shim_lock-verifier-with-.patch * 0041-squash-Add-secureboot-support-on-efi-chainloader.patch * 0042-squash-grub2-efi-chainload-harder.patch * 0043-squash-Don-t-allow-insmod-when-secure-boot-is-enable.patch * 0044-squash-kern-Add-lockdown-support.patch * 0045-squash-Add-support-for-Linux-EFI-stub-loading-on-aar.patch * 0046-squash-verifiers-Move-verifiers-API-to-kernel-image.patch - Drop patch supersceded by the new backport * 0001-linuxefi-fail-kernel-validation-without-shim-protoco.patch * 0001-shim_lock-Disable-GRUB_VERIFY_FLAGS_DEFER_AUTH-if-se.patch * 0007-linuxefi-fail-kernel-validation-without-shim-protoco.patch - Add SBAT metadata section to grub.efi - Drop shim_lock module as it is part of core of grub.efi * grub2.spec- Fix build error in binutils 2.36 (bsc#1181741) * 0001-Fix-build-error-in-binutils-2.36.patch - Fix executable stack in grub-emu (bsc#1181696) * 0001-emu-fix-executable-stack-marking.patch- Restore compatibilty sym-links * grub2.spec - Use rpmlintrc to filter out rpmlint 2.0 error (bsc#1179044) * grub2.rpmlintrc- Complete Secure Boot support on aarch64 (jsc#SLE-15020) * 0001-Add-support-for-Linux-EFI-stub-loading-on-aarch64.patch * 0002-arm64-make-sure-fdt-has-address-cells-and-size-cells.patch * 0003-Make-grub_error-more-verbose.patch * 0004-arm-arm64-loader-Better-memory-allocation-and-error-.patch * 0005-Make-linux_arm_kernel_header.hdr_offset-be-at-the-ri.patch * 0006-efi-Set-image-base-address-before-jumping-to-the-PE-.patch * 0007-linuxefi-fail-kernel-validation-without-shim-protoco.patch * 0008-squash-Add-support-for-Linux-EFI-stub-loading-on-aar.patch * 0009-squash-Add-support-for-linuxefi.patch- Fix rpmlint 2.0 error for having arch specific path in noarch package aiming for compatibility with old package (bsc#1179044) * grub2.spec - Fix non POSIX sed argument which failed in sed from busybox (bsc#1181091) * grub2-check-default.sh- Fix boot failure in blocklist installation (bsc#1178278) * Modified 0002-grub-install-Avoid-incompleted-install-on-i386-pc.patch- Fix grub2-install error with "failed to get canonical path of `/boot/grub2/i386-pc'." (bsc#1177957) * Modified 0002-grub-install-Avoid-incompleted-install-on-i386-pc.patch- Fix https boot interrupted by unrecognised network address error message (bsc#1172952) * 0001-add-support-for-UEFI-network-protocols.patch- grub2.spec: Fix bare words used as string in expression which is no longer allowed in rpm 4.16- Improve the error handling when grub2-install fails with short mbr gap (bsc#1176062) * 0001-Warn-if-MBR-gap-is-small-and-user-uses-advanced-modu.patch * 0002-grub-install-Avoid-incompleted-install-on-i386-pc.patch- Make efi hand off the default entry point of the linux command (bsc#1176134) * 0001-efi-linux-provide-linux-command.patch- Fix verification requested but nobody cares error when loading external module in secure boot off (bsc#1175766) * 0001-shim_lock-Disable-GRUB_VERIFY_FLAGS_DEFER_AUTH-if-se.patch- Make consistent check to enable relative path on btrfs (bsc#1174567) * 0001-Unify-the-check-to-enable-btrfs-relative-path.patch- Add fibre channel device's ofpath support to grub-ofpathname and search hint to speed up root device discovery (bsc#1172745) * 0001-ieee1275-powerpc-implements-fibre-channel-discovery-.patch * 0002-ieee1275-powerpc-enables-device-mapper-discovery.patch- Fix for CVE-2020-15705 (bsc#1174421) * 0001-linuxefi-fail-kernel-validation-without-shim-protoco.patch * 0002-cmdline-Provide-cmdline-functions-as-module.patch- Make grub-calloc inline to avoid symbol not found error as the system may not use updated grub to boot the system (bsc#1174782) (bsc#1175060) (bsc#1175036) * 0001-kern-mm.c-Make-grub_calloc-inline.patch- Fix for CVE-2020-10713 (bsc#1168994) * 0001-yylex-Make-lexer-fatal-errors-actually-be-fatal.patch - Fix for CVE-2020-14308 CVE-2020-14309, CVE-2020-14310, CVE-2020-14311 (bsc#1173812) * 0002-safemath-Add-some-arithmetic-primitives-that-check-f.patch * 0003-calloc-Make-sure-we-always-have-an-overflow-checking.patch * 0004-calloc-Use-calloc-at-most-places.patch * 0005-malloc-Use-overflow-checking-primitives-where-we-do-.patch * 0006-iso9660-Don-t-leak-memory-on-realloc-failures.patch * 0007-font-Do-not-load-more-than-one-NAME-section.patch - Fix CVE-2020-15706 (bsc#1174463) * 0008-script-Remove-unused-fields-from-grub_script_functio.patch * 0009-script-Avoid-a-use-after-free-when-redefining-a-func.patch - Fix CVE-2020-15707 (bsc#1174570) * 0010-linux-Fix-integer-overflows-in-initrd-size-handling.patch - Use overflow checking primitives where the arithmetic expression for buffer allocations may include unvalidated data - Use grub_calloc for overflow check and return NULL when it would occur * 0001-add-support-for-UEFI-network-protocols.patch * 0003-bootp-New-net_bootp6-command.patch * grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch * grub2-btrfs-09-get-default-subvolume.patch * grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch * grub2-grubenv-in-btrfs-header.patch- No 95_textmode for PowerPC (boo#1174166)- Skip zfcpdump kernel from the grub boot menu (bsc#1166513) * grub2-s390x-skip-zfcpdump-image.patch- Fix boot failure as journaled data not get drained due to abrupt power off after grub-install (bsc#1167756) * grub-install-force-journal-draining-to-ensure-data-i.patch- Fix executable stack in grub-probe and other grub utility (bsc#1169137) * grub2-btrfs-06-subvol-mount.patch- Fix GCC 10 build fail (bsc#1158189) * 0001-mdraid1x_linux-Fix-gcc10-error-Werror-array-bounds.patch * 0002-zfs-Fix-gcc10-error-Werror-zero-length-bounds.patch- Backport to support searching for specific config files for netboot (bsc#1166409) * 0001-normal-Move-common-datetime-functions-out-of-the-nor.patch * 0002-kern-Add-X-option-to-printf-functions.patch * 0003-normal-main-Search-for-specific-config-files-for-net.patch * 0004-datetime-Enable-the-datetime-module-for-the-emu-plat.patch- move *.module files to separate -debug subpackage (boo#1166578)- Fix EFI console detection to make it a runtime decision (bsc#1164385) * grub2-SUSE-Add-the-t-hotkey.patch- Downgrade mtools to Suggests for consistency with xorriso (boo#1165839) - remove info requirements, file triggers are used now (boo#1152105)- Add secure boot support for s390x. (jsc#SLE-9425) * grub2-s390x-11-secureboot.patch- Fix grub hangs after loading rogue image without valid signature for uefi secure boot (bsc#1159102) * grub2-verifiers-fix-system-freeze-if-verify-failed.patch- From Stefan Seyfried : Fix grub2-install fails with "not a directory" error (boo#1161641, bsc#1162403) * grub2-install-fix-not-a-directory-error.patch- Correct awk pattern in 20_linux_xen (bsc#900418, bsc#1157912) - Correct linux and initrd handling in 20_linux_xen (bsc#1157912) M grub2-efi-xen-cfg-unquote.patch M grub2-efi-xen-chainload.patch M grub2-efi-xen-cmdline.patch M grub2-efi-xen-removable.patch- Disable btrfs zstd support for i386-pc to workaround core.img too large to be embedded in btrfs bootloader area or MBR gap (boo#1154809) * 0001-btrfs-disable-zstd-support-for-i386-pc.patch- Fix grub2.sleep to load old kernel after hibernation (boo#1154783)- Enable support for riscv64 - Backports from upstream: * risc-v-fix-computation-of-pc-relative-relocation-offset.patch * risc-v-add-clzdi2-symbol.patch * grub-install-define-default-platform-for-risc-v.patch- Version bump to 2.04 * removed - translations-20170427.tar.xz * grub2.spec - Make signed grub-tpm.efi specific to x86_64-efi build, the platform currently shipped with tpm module from upstream codebase - Add shim_lock to signed grub.efi in x86_64-efi build - x86_64: linuxefi now depends on linux, both will verify kernel via shim_lock - Remove translation tarball and po file hacks as it's been included in upstream tarball * rediff - grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch - grub2-commands-introduce-read_file-subcommand.patch - grub2-secureboot-add-linuxefi.patch - 0001-add-support-for-UEFI-network-protocols.patch - grub2-efi-HP-workaround.patch - grub2-secureboot-install-signed-grub.patch - grub2-linux.patch - use-grub2-as-a-package-name.patch - grub2-pass-corret-root-for-nfsroot.patch - grub2-secureboot-use-linuxefi-on-uefi.patch - grub2-secureboot-no-insmod-on-sb.patch - grub2-secureboot-provide-linuxefi-config.patch - grub2-secureboot-chainloader.patch - grub2-s390x-01-Changes-made-and-files-added-in-order-to-allow-s390x.patch - grub2-s390x-02-kexec-module-added-to-emu.patch - grub2-s390x-04-grub2-install.patch - grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch - grub2-efi-chainloader-root.patch - grub2-ppc64le-disable-video.patch - grub2-ppc64-cas-reboot-support.patch - grub2-Fix-incorrect-netmask-on-ppc64.patch - 0003-bootp-New-net_bootp6-command.patch - 0006-bootp-Add-processing-DHCPACK-packet-from-HTTP-Boot.patch - 0012-tpm-Build-tpm-as-module.patch - grub2-emu-4-all.patch - grub2-btrfs-09-get-default-subvolume.patch - grub2-ppc64le-memory-map.patch - grub2-ppc64-cas-fix-double-free.patch - 0008-efinet-Setting-DNS-server-from-UEFI-protocol.patch * drop upstream patches - grub2-fix-locale-en.mo.gz-not-found-error-message.patch - grub2-fix-build-with-flex-2.6.4.patch - grub2-accept-empty-module.patch - 0001-Fix-packed-not-aligned-error-on-GCC-8.patch - 0001-Fix-PCIe-LER-when-GRUB2-accesses-non-enabled-MMIO-da.patch - unix-exec-avoid-atexit-handlers-when-child-exits.patch - 0001-xfs-Accept-filesystem-with-sparse-inodes.patch - grub2-binutils2.31.patch - grub2-msdos-fix-overflow.patch - 0001-tsc-Change-default-tsc-calibration-method-to-pmtimer.patch - grub2-efi-Move-grub_reboot-into-kernel.patch - grub2-efi-Free-malloc-regions-on-exit.patch - grub2-move-initrd-upper.patch - 0002-Add-Virtual-LAN-support.patch - 0001-ofnet-Initialize-structs-in-bootpath-parser.patch - 0001-misc-fix-invalid-character-recongition-in-strto-l.patch - 0001-tpm-Core-TPM-support.patch - 0002-tpm-Measure-kernel-initrd.patch - 0003-tpm-Add-BIOS-boot-measurement.patch - 0004-tpm-Rework-linux-command.patch - 0005-tpm-Rework-linux16-command.patch - 0006-tpm-Measure-kernel-and-initrd-on-BIOS-systems.patch - 0007-tpm-Measure-the-kernel-commandline.patch - 0008-tpm-Measure-commands.patch - 0009-tpm-Measure-multiboot-images-and-modules.patch - 0010-tpm-Fix-boot-when-there-s-no-TPM.patch - 0011-tpm-Fix-build-error.patch - 0013-tpm-i386-pc-diskboot-img.patch - grub2-freetype-pkgconfig.patch - 0001-cpio-Disable-gcc9-Waddress-of-packed-member.patch - 0002-jfs-Disable-gcc9-Waddress-of-packed-member.patch - 0003-hfs-Fix-gcc9-error-Waddress-of-packed-member.patch - 0004-hfsplus-Fix-gcc9-error-with-Waddress-of-packed-membe.patch - 0005-acpi-Fix-gcc9-error-Waddress-of-packed-member.patch - 0006-usbtest-Disable-gcc9-Waddress-of-packed-member.patch - 0007-chainloader-Fix-gcc9-error-Waddress-of-packed-member.patch - 0008-efi-Fix-gcc9-error-Waddress-of-packed-member.patch- Consistently find btrfs snapshots on s390x. (bsc#1136970) * grub2-s390x-04-grub2-install.patch- Fix fallback embed doesn't work when no post mbr gap at all (boo#1142229) * Refresh grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch- Revert grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch until merged by upstream (bsc#1134287, bsc#1139345, LTC#177836, LTC#174229).- Fix iteration of FCP LUNs (bsc#1134287, bsc#1139345, LTC#177836, LTC#174229). * Refresh grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch- Use grub2-install to handle signed grub installation for UEFI secure boot and also provide options to override default (bsc#1136601) * grub2-secureboot-install-signed-grub.patch - Remove arm64 linuxefi patches as it's not needed for secure boot * 0001-efi-refactor-grub_efi_allocate_pages.patch * 0002-Remove-grub_efi_allocate_pages.patch * 0003-arm64-efi-move-EFI_PAGE-definitions-to-efi-memory.h.patch * 0004-efi-Add-central-copy-of-grub_efi_find_mmap_size.patch * 0005-efi-Add-grub_efi_get_ram_base-function-for-arm64.patch * 0006-Add-support-for-EFI-handover-on-ARM64.patch- Avoid high resolution when trying to keep current mode (bsc#1133842) * grub2-video-limit-the-resolution-for-fixed-bimap-font.patch - Make GRUB_SAVEDEFAULT working with btrfs (bsc#1128592) * grub2-grubenv-in-btrfs-header.patch- Check/refresh zipl-kernel before hibernate on s390x. (bsc#940457) (Getting rid of hardcoded 'vmlinuz', which failed on PPC as well.) * grub2-systemd-sleep.sh- Try to refresh zipl-kernel on failed kexec. (bsc#1127293) * grub2-s390x-04-grub2-install.patch - Fully support "previous" zipl-kernel, with 'mem=1G' being available on dedicated entries. (bsc#928131) * grub2-s390x-09-improve-zipl-setup.patch - Refresh * grub2-zipl-setup-fix-btrfs-multipledev.patch- Fix GCC 9 build failure (bsc#1121208) * 0001-cpio-Disable-gcc9-Waddress-of-packed-member.patch * 0002-jfs-Disable-gcc9-Waddress-of-packed-member.patch * 0003-hfs-Fix-gcc9-error-Waddress-of-packed-member.patch * 0004-hfsplus-Fix-gcc9-error-with-Waddress-of-packed-membe.patch * 0005-acpi-Fix-gcc9-error-Waddress-of-packed-member.patch * 0006-usbtest-Disable-gcc9-Waddress-of-packed-member.patch * 0007-chainloader-Fix-gcc9-error-Waddress-of-packed-member.patch * 0008-efi-Fix-gcc9-error-Waddress-of-packed-member.patch- Use %doc for older products for compatibility, or may end up with unsuccessful build result * grub2.spec- Revert grub2-ieee1275-open-raw-mode.patch for regression of crashing lvm on multipath SAN (bsc#1113702) * deleted grub2-ieee1275-open-raw-mode.patch - Add exception handling to FCP lun enumeration (bsc#1113702) * grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch- Fix LOADER_TYPE parsing in grub2-once (boo#1122569)- Create compatibility sym-link of grub.xen in the old location to which old VM definition is pointing (bsc#1123942)- Add patch to fix ARM boot, when kernel become too big: * grub2-move-initrd-upper.patch (boo#1123350)- Replace old $RPM_* shell vars.- Support long menu entry by scrolling its text left and right through the key stroke ctrl+l and ctrl+r (FATE#325760) * grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch- Improved hiDPI device support (FATE#326680) * grub2-video-limit-the-resolution-for-fixed-bimap-font.patch- Build platform-packages 'noarch' and move to '/usr/share/efi' for SUSE Manager. (FATE#326960) * grub2-efi-xen-chainload.patch (bsc#1122563) * grub2-efi-xen-removable.patch (refresh)- Support for UEFI Secure Boot on AArch64 (FATE#326541) * 0001-efi-refactor-grub_efi_allocate_pages.patch * 0002-Remove-grub_efi_allocate_pages.patch * 0003-arm64-efi-move-EFI_PAGE-definitions-to-efi-memory.h.patch * 0004-efi-Add-central-copy-of-grub_efi_find_mmap_size.patch * 0005-efi-Add-grub_efi_get_ram_base-function-for-arm64.patch * 0006-Add-support-for-EFI-handover-on-ARM64.patch- Change default tsc calibration method to pmtimer on EFI (bsc#1114754) * 0001-tsc-Change-default-tsc-calibration-method-to-pmtimer.patch- ieee1275: Fix double free in CAS reboot (bsc#1111955) * grub2-ppc64-cas-fix-double-free.patch- Support NVDIMM device names (bsc#1110073) * grub2-getroot-support-nvdimm.patch- Translate caret back to space as the initrd stanza could use space to delimit multiple files loaded (bsc#1101942) * grub2-util-30_os-prober-multiple-initrd.patch- ieee1275: implement FCP methods for WWPN and LUNs (bsc#1093145) * grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch- Fix broken network interface with random address and same name (bsc#1084508) * 0001-ofnet-Initialize-structs-in-bootpath-parser.patch- Fix outputting invalid btrfs subvol path on non btrfs filesystem due to bogus return code handling. (bsc#1106381) * modified grub2-btrfs-10-config-directory.patch- Fix overflow in sector count calculation (bsc#1105163) * grub2-msdos-fix-overflow.patch- Downgrade libburnia-tools to suggest as minimal system can't afford pulling in tcl/tk and half of the x11 stack (bsc#1102515) * modified grub2.spec- Add grub2-binutils2.31.patch: x86-64: Treat R_X86_64_PLT32 as R_X86_64_PC32. Starting from binutils commit bd7ab16b x86-64 assembler generates R_X86_64_PLT32, instead of R_X86_64_PC32, for 32-bit PC-relative branches. Grub2 should treat R_X86_64_PLT32 as R_X86_64_PC32.- The grubxenarch packages are now architecture-independent. [bsc#953297, grub2.spec, grub2-rpmlintrc]- Fix config_directory on btrfs to follow path scheme (bsc#1063443) * grub2-btrfs-10-config-directory.patch - Fix grub2-install --root-directory does not work for /boot/grub2/ on separate btrfs subvolume (boo#1098420) * grub2-btrfs-06-subvol-mount.patch - Fix setparams doesn't work as expected from boot-last-label NVRAM var, after inital CAS reboot on ieee1275 (bsc#1088830) * grub2-ppc64-cas-new-scope.patch- Fix install on xfs error (bsc#1101283) * 0001-xfs-Accept-filesystem-with-sparse-inodes.patch- grub2.spec: change %config to %config(noreplace) Don't overwrite user changes to config files on upgrades.- Marked %{_sysconfdir}/grub.d/40_custom as (noreplace) [bsc#1079332, grub2.spec]- Replace "GRUB_DISABLE_LINUX_RECOVERY" by "GRUB_DISABLE_RECOVERY" in /etc/default/grub and remove test from s390x install section in upec file. [bsc#1042433, grub.default, grub2.spec]- Added "# needssslcertforbuild", which got lost somewhere, to spec file [grub2.spec]- Replace confusing menu on btrfs "snapper rollback" by help text. [bsc#1027588, grub2-btrfs-help-on-snapper-rollback.patch]- Use %license instead of %doc [bsc#1082318]- grub2-emu on s390 keep network during kexec boot (bsc#1089493) * grub2-s390x-10-keep-network-at-kexec.patch- Add grub2-freetype-pkgconfig.patch to fix build with new freetype use pkgconfig to find Freetype libraries.- Fallback to raw mode if Open Firmware returns invalid ihandler (bsc#1071559) * grub2-ieee1275-open-raw-mode.patch- Fix error of essential directory not found on UEFI Xen host (bsc#1085842) * add grub2-efi-xen-removable.patch * rediff grub2-suse-remove-linux-root-param.patch- Fix corruption of "grub2-install --help" and grub2-install manual page (bsc#1086670) * unix-exec-avoid-atexit-handlers-when-child-exits.patch- Fix Nvidia GPU in legacy I/O slot 2 disappears during system startup (bsc#1082914) * 0001-Fix-PCIe-LER-when-GRUB2-accesses-non-enabled-MMIO-da.patch- Fix packed-not-aligned error on GCC 8 (bsc#1084632) * 0001-Fix-packed-not-aligned-error-on-GCC-8.patch- Fix incorrect netmask on ppc64 (bsc#1085419) * grub2-Fix-incorrect-netmask-on-ppc64.patch- Fix UEFI HTTPS Boot from ISO installation image (bsc#1076132) * 0001-add-support-for-UEFI-network-protocols.patch- fix wrong command output when default subvolume is toplevel tree with id 5 (bsc#1078775) * grub2-btrfs-09-get-default-subvolume.patch - insert mdraid modules to support software RAID (bsc#1078775) * grub2-xen-pv-firmware.cfg- Rename grub2-btrfs-workaround-grub2-once.patch to grub2-grubenv-in-btrfs-header.patch - Store GRUB environment variable health_checker_flag in Btrfs header- Fix incorrect check preventing the script from running (bsc#1078481) * 80_suse_btrfs_snapshot- Fix disappeared snapshot menu entry (bsc#1078481) * 80_suse_btrfs_snapshot- Fix unquoted string error and add some more checks (bsc#1079330) * grub2-check-default.sh- The %prep section applies patches, the %build section builds. Remove mixup of patching and building from %prep for quilt setup Related to bsc#1065703- Check if default entry need to be corrected for updated distributor version and/or use fallback entry if default kernel entry removed (bsc#1065349) * grub2-check-default.sh * grub2-mkconfig-default-entry-correction.patch - Fix grub2-mkconfig warning when disk is LVM PV (bsc#1071239) * grub2-getroot-scan-disk-pv.patch- Filter out autofs and securityfs from /proc/self/mountinfo to speed up nfsroot test in large number of autofs mounts (bsc#1069094) * modified grub2-pass-corret-root-for-nfsroot.patch- Fix http(s) boot security review (bsc#1058090) * 0002-AUDIT-0-http-boot-tracker-bug.patch- 0001-add-support-for-UEFI-network-protocols.patch: * Workaround http data access in firmware * Fix DNS device path parsing for efinet device * Relaxed UEFI Protocol requirement * Support Intel OPA (Omni-Path Architecture) PXE Boot (bsc#1015589)- grub2-xen-pv-firmware.cfg: remove linemode=1 from cmdline for SUSE installer. openQA expects ncurses interface. (bsc#1066919)- use python3 for autogen.sh (fate#323526)- Do not check that PReP partition does not contain an ELF during installation (bsc#1065738). * grub2-install-remove-useless-check-PReP-partition-is-empty.patch- Build diskboot_tpm.img as separate image to diskboot.img to prevent failure in booting on some bogus firmware. To use the TPM image you have to use suse-enable-tpm option of grub2-install (bsc#1052401) * 0013-tpm-i386-pc-diskboot-img.patch- Use /boot//loader/linux to determine if install media is SUSE instead of /contents file (bsc#1054453)- Use the pvops-enabled default kernel if the traditional xen pv kernel and initrd are not found (bsc#1054453)- Fix reboot in UEFI environments (bsc#1047331) * Add grub2-efi-Move-grub_reboot-into-kernel.patch * Refresh grub2-efi-Free-malloc-regions-on-exit.patch- Add preliminary patch for UEFI HTTPS and related network protocol support (fate#320130) * 0001-add-support-for-UEFI-network-protocols.patch- grub2-s390x-04-grub2-install.patch : remove arybase dependency in grub2-zipl-setup by not referencing to $[ (bsc#1055280)- Fix minor oversights in and the exit value of the grub2-install helper on s390x. (bsc#1055343, fate#323298) * grub2-s390x-09-improve-zipl-setup.patch- Make grub2.info build reproducible (boo#1047218)- add grub2-fix-build-with-flex-2.6.4.patch - fix build with flex 2.6.4+ that removed explicit (void) cast from fprintf call in yy_fatal_error.- Support LVM physical volume created without metadatacopies (bsc#1027526) * grub2-diskfilter-support-pv-without-metadatacopies.patch - Fix page fault exception when grub loads with Nvidia cards (bsc#1038533) * grub2-efi-uga-64bit-fb.patch - Require 'kexec-tools' for System z. (bsc#944358) * modified grub2.spec- grub2-xen-pv-firmware.cfg: insmod lvm module as it's not auto-loaded to support booting from lvm volume (bsc#1004324) - Grub not working correctly with xen and btrfs snapshots (bsc#1026511) * Add grub2-btrfs-09-get-default-subvolume.patch * grub2-xen-pv-firmware.cfg : search path in default subvolume- new upstream version 2.02 * rediff - use-grub2-as-a-package-name.patch * drop upstream patches - grub2-fix-uninitialized-variable-in-btrfs-with-GCC7.patch - grub2-add-FALLTHROUGH-annotations.patch - update translations- update grub2-btrfs-workaround-grub2-once.patch to also store saved_entry in additional environment block (boo#1031025)- fix building with GCC (bsc#1030247) * add grub2-fix-uninitialized-variable-in-btrfs-with-GCC7.patch * grub2-add-FALLTHROUGH-annotations.patch- Fix out of memory error on lvm detection (bsc#1016536) (bsc#1027401) * grub2-lvm-allocate-metadata-buffer-from-raw-contents.patch - Fix boot failure if /boot is separate btrfs partition (bsc#1023160) * grub2-btrfs-06-subvol-mount.patch- 0004-tpm-Rework-linux-command.patch : Fix out of bound memory copy (bsc#1029187)- new upstream version 2.02~rc2 * rediff - use-grub2-as-a-package-name.patch - grub2-linguas.sh-no-rsync.patch * drop upstream patches - 0001-efi-strip-off-final-NULL-from-File-Path-in-grub_efi_.patch- TPM Support (FATE#315831) * 0001-tpm-Core-TPM-support.patch * 0002-tpm-Measure-kernel-initrd.patch * 0003-tpm-Add-BIOS-boot-measurement.patch * 0004-tpm-Rework-linux-command.patch * 0005-tpm-Rework-linux16-command.patch * 0006-tpm-Measure-kernel-and-initrd-on-BIOS-systems.patch * 0007-tpm-Measure-the-kernel-commandline.patch * 0008-tpm-Measure-commands.patch * 0009-tpm-Measure-multiboot-images-and-modules.patch * 0010-tpm-Fix-boot-when-there-s-no-TPM.patch * 0011-tpm-Fix-build-error.patch * 0012-tpm-Build-tpm-as-module.patch - grub2.spec : Add grub-tpm.efi for Secure Boot- Fix invalid Xen EFI config files if xen_args include GRUB2 quoting (bsc#900418) (bsc#951748) * grub2-efi-xen-cfg-unquote.patch - Fix linuxefi erroneously initialize linux's boot_params with non-zero values. (bsc#1025563) * grub2-linuxefi-fix-boot-params.patch - Removed grub2-fix-multi-device-root-kernel-argument.patch as it has regression on how GRUB_DISABLE_LINUX_UUID=true interpreted (bsc#1015138)- Fix for openQA UEFI USB Boot failure with upstream patch (bsc#1026344) * added 0001-efi-strip-off-final-NULL-from-File-Path-in-grub_efi_.patch * removed 0001-Revert-efi-properly-terminate-filepath-with-NULL-in-.patch- Temporary fix for openQA UEFI USB Boot failure (bsc#1026344) * 0001-Revert-efi-properly-terminate-filepath-with-NULL-in-.patch- grub2.spec: fix s390x file list.- require efibootmgr in efi package (boo#1025520)- Merge changes from SLE12 - add grub2-emu-4-all.patch * Build 'grub2-emu' wherever possible, to allow a better implementation of that feature. - add grub2-s390x-06-loadparm.patch, - add grub2-commands-introduce-read_file-subcommand.patch: * allow s390x to telecontrol grub2. (bsc#891946, bsc#892852) - add grub2-s390x-06-loadparm.patch: * ignore case and fix transliteration of parameter. (bsc#891946) - add grub2-s390x-07-add-image-param-for-zipl-setup.patch * Add --image switch to force zipl update to specific kernel (bsc#928131) - add grub2-s390x-08-workaround-part-to-disk.patch * Ignore partition tables on s390x. (bsc#935127) - add grub2-efi-chainload-harder.patch: * allow XEN to be chain-loaded despite firmware flaws. (bnc#887793) * Do not use shim lock protocol for reading pe header, it won't be available when secure boot disabled (bsc#943380) * Make firmware flaw condition be more precisely detected and add debug message for the case * Check msdos header to find PE file header (bsc#954126) - grub2-s390x-04-grub2-install.patch: * streamline boot to grub menu. (bsc#898198) * Force '/usr' to read-only before calling kexec. (bsc#932951) - grub2-once: * add '--enum' option to enumerate boot-entries in a way actually understood by 'grub2'. (bsc#892852, bsc#892811) * Examine variables from grub environment in 'grub2-once'. (fate#319632)- new upstream version 2.02~rc1 * rediff - use-grub2-as-a-package-name.patch - grub2-s390x-04-grub2-install.patch - grub2-accept-empty-module.patch - grub2-btrfs-04-grub2-install.patch - grub2-btrfs-06-subvol-mount.patch * drop upstream patches - 0001-dns-fix-buffer-overflow-for-data-addresses-in-recv_h.patch - 0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch - 0002-configure-fix-check-for-sys-sysmacros.h-under-glibc-.patch - 0001-Fix-fwpath-in-efi-netboot.patch - 0001-arm64-Move-firmware-fdt-search-into-global-function.patch - 0002-arm-efi-Use-fdt-from-firmware-when-available.patch - grub2-arm64-mknetdir-add-suport-for-arm64-efi.patch - 0001-10_linux-Fix-grouping-of-tests-for-GRUB_DEVICE.patch - 0002-20_linux_xen-fix-test-for-GRUB_DEVICE.patch - 0001-xen-make-xen-loader-callable-multiple-times.patch - 0002-xen-avoid-memleaks-on-error.patch - 0003-xen-reduce-number-of-global-variables-in-xen-loader.patch - 0004-xen-add-elfnote.h-to-avoid-using-numbers-instead-of-.patch - 0005-xen-synchronize-xen-header.patch - 0006-xen-factor-out-p2m-list-allocation-into-separate-fun.patch - 0007-xen-factor-out-allocation-of-special-pages-into-sepa.patch - 0008-xen-factor-out-allocation-of-page-tables-into-separa.patch - 0009-xen-add-capability-to-load-initrd-outside-of-initial.patch - 0010-xen-modify-page-table-construction.patch - 0011-xen-add-capability-to-load-p2m-list-outside-of-kerne.patch * add - fix-grub2-use-stat-instead-of-udevadm-for-partition-lookup-with-new-glibc.patch fix compilation with new glibc- Fix build error on glibc-2.25 * 0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch * 0002-configure-fix-check-for-sys-sysmacros.h-under-glibc-.patch - Fix fwpath in efi netboot (fate#321993) (bsc#1022294) * 0001-Fix-fwpath-in-efi-netboot.patch- grub2-systemd-sleep.sh: Fix prematurely abort by commands error return code and skip the offending menu entry (bsc#1022880)- Add support for BLT only EFI GOP adapters (FATE#322332) * grub2-efi-gop-add-blt.patch- info-dir-entry.patch: Update info dir entry to follow renaming to grub2- Add serial module to efi image. Serial terminal is still useful even with EFI Secure Boot- Support %posttrans with marcos provided by update-bootloader-rpm-macros package (bsc#997317)- Remove outdated README.openSUSE (bsc#907693)- 20_memtest86+: avoid adding memtest86+ to the list with UEFI booting.- Fix new line character in distributor (bsc#1007212) * modified grub2-default-distributor.patch- From Juergen Gross : grub-xen: support booting huge pv-domains (bsc#1004398) (bsc#899465) * 0001-xen-make-xen-loader-callable-multiple-times.patch * 0002-xen-avoid-memleaks-on-error.patch * 0003-xen-reduce-number-of-global-variables-in-xen-loader.patch * 0004-xen-add-elfnote.h-to-avoid-using-numbers-instead-of-.patch * 0005-xen-synchronize-xen-header.patch * 0006-xen-factor-out-p2m-list-allocation-into-separate-fun.patch * 0007-xen-factor-out-allocation-of-special-pages-into-sepa.patch * 0008-xen-factor-out-allocation-of-page-tables-into-separa.patch * 0009-xen-add-capability-to-load-initrd-outside-of-initial.patch * 0010-xen-modify-page-table-construction.patch * 0011-xen-add-capability-to-load-p2m-list-outside-of-kerne.patch- add support for netboot on arm64-efi platforms (bsc#998097) * grub2-arm64-mknetdir-add-suport-for-arm64-efi.patch- use $PRETTY_NAME instead of $NAME $VERSION for $GRUB_DISTRIBUTOR in openSUSE Tumbleweed (bsc#995549) * modified grub2-default-distributor.patch - grub2.spec: add http module to grub.efi (fate#320129)- binutils 2.27 creates empty modules without a symtab. Add patch grub2-accept-empty-module.patch to not reject them.- since version 1.7 cryptsetup defaults to SHA256 for LUKS - include gcry_sha256 in signed EFI image- Workaround default entry in snapshot menu (bsc#956046) * grub2-btrfs-08-workaround-snapshot-menu-default-entry.patch - grub2.spec: Add true command to grub.efi (bsc#993274)- grub.default: Empty GRUB_CMDLINE_LINUX_DEFAULT, the value will be fully taken from YaST settings. (bsc#989803)- Add patches from Roberto Sassu - Fix grub2-10_linux-avoid-multi-device-root-kernel-argument.patch, device path is not tested if GRUB_DISABLE_LINUX_UUID="true" - added grub2-fix-multi-device-root-kernel-argument.patch (bsc#960776) - grub2-zipl-setup: avoid multi-device root= kernel argument * added grub2-zipl-setup-fix-btrfs-multipledev.patch (bsc#960776) - Add SUSE_REMOVE_LINUX_ROOT_PARAM configuration option to /etc/default/grub, to remove root= and rootflags= from the kernel command line in /boot/grub2/grub.cfg and /boot/zipl/config - added grub2-suse-remove-linux-root-param.patch (bsc#962585)- Support HTTP Boot IPv4 and IPv6 (fate#320129) * 0001-misc-fix-invalid-character-recongition-in-strto-l.patch * 0002-net-read-bracketed-ipv6-addrs-and-port-numbers.patch * 0003-bootp-New-net_bootp6-command.patch * 0004-efinet-UEFI-IPv6-PXE-support.patch * 0005-grub.texi-Add-net_bootp6-doument.patch * 0006-bootp-Add-processing-DHCPACK-packet-from-HTTP-Boot.patch * 0007-efinet-Setting-network-from-UEFI-device-path.patch * 0008-efinet-Setting-DNS-server-from-UEFI-protocol.patch - Fix heap corruption after dns lookup * 0001-dns-fix-buffer-overflow-for-data-addresses-in-recv_h.patch- fix filelist for s390x- Fix grub2-editenv error on encrypted lvm installation (bsc#981621) * modified grub2-btrfs-workaround-grub2-once.patch - Add missing closing bracket in 'grub2-snapper-plugin.sh'. - Fix snapshot booting on s390x (bsc#955115) * modified grub2-snapper-plugin.sh - Fallback to old subvol name scheme to support old snapshot config (bsc#953538) * added grub2-btrfs-07-subvol-fallback.patch- update grub2-once with patch from Björn Voigt - skip comments in /etc/sysconfig/bootloader (boo#963610)- Make sure all systemd unit files are passed to %service_ macros.- Add patch to free memory on exit in efi environments (bsc#980739) * grub2-efi-Free-malloc-regions-on-exit.patch- Remove xen-devel from BuildRequires required headers are included in grub-2.0.2- Add support for "t" hotkey to switch to text mode (bsc#976836) * added grub2-SUSE-Add-the-t-hotkey.patch - Add support for hidden menu entries (bsc#976836) * added grub2-Add-hidden-menu-entries.patch- Correct show user defined comments in menu for snapshots (bsc#956698) * modified grub2-snapper-plugin.sh- Fix GRUB_DISABLE_LINUX_UUID to be ignore and also fallback kernel device won't be used if fs uuid not detected (bsc#971867) * added 0001-10_linux-Fix-grouping-of-tests-for-GRUB_DEVICE.patch * added 0002-20_linux_xen-fix-test-for-GRUB_DEVICE.patch- new upstream version 2.02~beta3 * highlights of user visible changes not yet present in openSUSE package - arm-uboot now generates position independent self relocating image, so single binary should run on all supported systems - loader for Xen on aarch64. grub-mkconfig support was not in time for beta3 yet. - improved ZFS support (extensible_dataset, large_blocks, embedded_data, hole_birth features) - support for IPv6 Router Advertisements - support for persistent memory (we do not overwrite it and pass correct information to OS) - try to display more specific icons for os-prober generated menu entries - grub-install detects EFI bit size and selects correct platform (x86_64-efi or i386-efi) independent of OS bit size; needs kernel 4.0 or higher. - LVM RAID1 support - xnu loader fixes which should make OS X menu entry generated by os-prober work again - key modifiers (Ctrl-X etc) should work on EFI too - ... and lot of fixes over entire tree * rediff - rename-grub-info-file-to-grub2.patch - use-grub2-as-a-package-name.patch - grub2-GRUB_CMDLINE_LINUX_RECOVERY-for-recovery-mode.patch - grub2-fix-menu-in-xen-host-server.patch - grub2-efi-HP-workaround.patch - grub2-secureboot-chainloader.patch - grub2-s390x-02-kexec-module-added-to-emu.patch - grub2-s390x-04-grub2-install.patch - grub2-s390x-05-grub2-mkconfig.patch - grub2-efi-xen-chainload.patch - grub2-mkconfig-aarch64.patch - grub2-btrfs-04-grub2-install.patch - grub2-ppc64-cas-reboot-support.patch - 0002-Add-Virtual-LAN-support.patch * fix grub2-secureboot-add-linuxefi.patch - use grub_memset and grub_memcpy instead of memset and memcpy (caused errors due to compiler warning) * drop upstream patches - 0001-grub-core-kern-efi-efi.c-Ensure-that-the-result-star.patch - 0001-look-for-DejaVu-also-in-usr-share-fonts-truetype.patch - 0001-efidisk-move-device-path-helpers-in-core-for-efinet.patch - 0002-efinet-skip-virtual-IPv4-and-IPv6-devices-when-enume.patch - 0003-efinet-open-Simple-Network-Protocol-exclusively.patch - 0001-efinet-Check-for-immediate-completition.patch - 0001-efinet-enable-hardware-filters-when-opening-interfac.patch - grub2-xen-legacy-config-device-name.patch - grub2-getroot-support-NVMe-device-names.patch - grub2-netboot-hang.patch - grub2-btrfs-fix-incorrect-address-reference.patch - aarch64-reloc.patch - grub2-glibc-2.20.patch (related code dropped upstream) - grub2-Initialized-initrd_ctx-so-we-don-t-free-a-random-poi.patch - grub2-btrfs-fix-get_root-key-comparison-failures-due-to-en.patch - grub2-getroot-fix-get-btrfs-fs-prefix-big-endian.patch - grub2-ppc64-qemu.patch - grub2-xfs-Add-helper-for-inode-size.patch - grub2-xfs-Fix-termination-loop-for-directory-iteration.patch - grub2-xfs-Convert-inode-numbers-to-cpu-endianity-immediate.patch - grub2-xfs-V5-filesystem-format-support.patch - 0001-Add-bootargs-parser-for-open-firmware.patch - grub2-arm64-set-correct-length.patch - grub2-arm64-setjmp-Add-missing-license-macro.patch - grub2-arm64-efinet-handle-get_status-on-buggy-firmware-properly.patch - 0001-unix-password-Fix-file-descriptor-leak.patch - 0002-linux-getroot-fix-descriptor-leak.patch - 0003-util-grub-mount-fix-descriptor-leak.patch - 0004-linux-ofpath-fix-descriptor-leak.patch - 0005-grub-fstest-fix-descriptor-leak.patch - ppc64le.patch - libgcc-prereq.patch - libgcc.patch - 0001-Fix-security-issue-when-reading-username-and-passwor.patch - 0001-menu-fix-line-count-calculation-for-long-lines.patch - grub2-arm64-Reduce-timer-event-frequency-by-10.patch - 0001-unix-do-not-close-stdin-in-grub_passwd_get.patch - 0001-grub-core-kern-i386-tsc.c-calibrate_tsc-Ensure-that.patch - 0002-i386-tsc-Fix-unused-function-warning-on-xen.patch - 0003-acpi-do-not-skip-BIOS-scan-if-EBDA-length-is-zero.patch - 0004-tsc-Use-alternative-delay-sources-whenever-appropria.patch - 0005-i386-fix-TSC-calibration-using-PIT.patch - biendian.patch - ppc64_opt.patch * drop workarounds for gdb_grub and grub.chrp, they are now installed under fixed name * do not patch docs/Makefile.in, it is regenerated anyway- Make mkconfig search for zImage on arm * grub2-mkconfig-arm.patch- Add support to directly pass an EFI FDT table to a kernel on 32bit arm * 0001-arm64-Move-firmware-fdt-search-into-global-function.patch * 0002-arm-efi-Use-fdt-from-firmware-when-available.patch- Add config option to set efi xen loader command line option (bsc#957383) * added grub2-efi-xen-cmdline.patch- Drop ppc64le patches. Build stage1 as BE for Power Droped patches: - grub2-ppc64le-01-Add-Little-Endian-support-for-Power64-to-the-build.patch - grub2-ppc64le-02-Build-grub-as-O1-until-we-add-savegpr-and-restgpr-ro.patch - grub2-ppc64le-03-disable-creation-of-vsx-and-altivec-instructions.patch - grub2-ppc64le-04-powerpc64-LE-s-linker-knows-how-to-handle-the-undefi.patch - grub2-ppc64le-05-grub-install-can-now-recognize-and-install-a-LE-grub.patch - grub2-ppc64le-06-set-the-ABI-version-to-0x02-in-the-e_flag-of-the-PPC.patch - grub2-ppc64le-07-Add-IEEE1275_ADDR-helper.patch - grub2-ppc64le-08-Fix-some-more-warnings-when-casting.patch - grub2-ppc64le-09-Add-powerpc64-types.patch - grub2-ppc64le-10-powerpc64-is-not-necessarily-BigEndian-anymore.patch - grub2-ppc64le-11-Fix-warnings-when-building-powerpc-linux-loader-64bi.patch - grub2-ppc64le-12-GRUB_ELF_R_PPC_-processing-is-applicable-only-for-32.patch - grub2-ppc64le-13-Fix-powerpc-setjmp-longjmp-64bit-issues.patch - grub2-ppc64le-14-Add-powerpc64-ieee1275-trampoline.patch - grub2-ppc64le-15-Add-64bit-support-to-powerpc-startup-code.patch - grub2-ppc64le-16-Add-grub_dl_find_section_addr.patch - grub2-ppc64le-17-Add-ppc64-relocations.patch - grub2-ppc64le-18-ppc64-doesn-t-need-libgcc-routines.patch - grub2-ppc64le-19-Use-FUNC_START-FUNC_END-for-powerpc-function-definit.patch - grub2-ppc64le-20-.TOC.-symbol-is-special-in-ppc64le-.-It-maps-to-the-.patch - grub2-ppc64le-21-the-.toc-section-in-powerpc64le-modules-are-sometime.patch - grub2-ppc64le-22-all-parameter-to-firmware-calls-should-to-be-BigEndi.patch - grub2-ppc64le-fix-64bit-trampoline-in-dyn-linker.patch - grub2-ppc64le-timeout.patch - grub2-ppc64-build-ppc64-32bit.patch - Added patches: - biendian.patch - grub2-ppc64-cas-reboot-support.patch - libgcc-prereq.patch - libgcc.patch - ppc64_opt.patch - ppc64le.patch- Backport upstream patches for HyperV gen2 TSC timer calbration without RTC (bsc#904647) * added 0001-grub-core-kern-i386-tsc.c-calibrate_tsc-Ensure-that.patch * added 0002-i386-tsc-Fix-unused-function-warning-on-xen.patch * added 0003-acpi-do-not-skip-BIOS-scan-if-EBDA-length-is-zero.patch * added 0004-tsc-Use-alternative-delay-sources-whenever-appropria.patch * added 0005-i386-fix-TSC-calibration-using-PIT.patch- Add 0001-menu-fix-line-count-calculation-for-long-lines.patch (bsc#943585)- grub2-xen-pv-firmware.cfg: fix hd boot (boo#926795)- Add 0001-Fix-security-issue-when-reading-username-and-passwor.patch Fix for CVE-2015-8370 [boo#956631]- Update grub2-efi-xen-chainload.patch - fix copying of Linux kernel and initrd to ESP (boo#958193)- Rename grub2-xen.cfg to grub2-xen-pv-firmware.cfg (boo#926795)- grub2-xen.cfg: to handle grub1 menu.lst in PV guest (boo#926795)- Expand list of grub.cfg search path in PV Xen guest for systems installed to btrfs snapshot. (bsc#946148) (bsc#952539) * modified grub2-xen.cfg - drop grub2-fix-Grub2-with-SUSE-Xen-package-install.patch (bsc#774666)- Add 0001-unix-do-not-close-stdin-in-grub_passwd_get.patch Fix reading password by grub2-mkpasswd-pbdk2 without controlling tty, e.g. when called from Xfce menu (boo#954519)- Modify grub2-linguas.sh-no-rsync.patch to re-enable en@quot catalog (boo#953022). Other autogenerated catalogs still fail to build due to missing C.UTF-8 locale.- Allow to execute menuentry unrestricted as default (fate#318574) * added grub2-menu-unrestricted.patch- Add missing quoting for linuxefi (bsc#951962) * modified grub2-secureboot-use-linuxefi-on-uefi.patch * refreshed grub2-secureboot-provide-linuxefi-config.patch- Include custom.cfg into the files scanned by grub2-once. Allows to chose manually added entries as well (FATE#319632).- Upstream patches for fixing file descriptor leakage (bsc#943784) * added 0001-unix-password-Fix-file-descriptor-leak.patch * added 0002-linux-getroot-fix-descriptor-leak.patch * added 0003-util-grub-mount-fix-descriptor-leak.patch * added 0004-linux-ofpath-fix-descriptor-leak.patch * added 0005-grub-fstest-fix-descriptor-leak.patch- Do not force ro option in linuxefi patch (bsc#948555) * modified grub2-secureboot-use-linuxefi-on-uefi.patch * refrehed grub2-secureboot-provide-linuxefi-config.patch- add 0001-efinet-Check-for-immediate-completition.patch, 0001-efinet-enable-hardware-filters-when-opening-interfac.patch, grub2-arm64-efinet-handle-get_status-on-buggy-firmware-properly.patch (bsc#947203)- Set default GRUB_DISTRIBUTOR from /etc/os-release if it is empty or not set by user (bsc#942519) * added grub2-default-distributor.patch * modified grub.default- add systemd-sleep-plugin subpackage (bsc#941758) - evaluate the menu entry's title string by printf * modified grub2-once * added grub2-systemd-sleep.sh- fix for 'rollback' hint (bsc#901487) * modified grub2-btrfs-05-grub2-mkconfig.patch:- Replace 12.1 with 12 SP1 for the list of snapshots (bsc#934252) * modified grub2-snapper-plugin.sh- Fix btrfs subvol detection on BigEndian systems (bsc#933541) * modified grub2-btrfs-06-subvol-mount.patch - Fix grub2-mkrelpath outputs wrong path on BigEndian system * added grub2-getroot-fix-get-btrfs-fs-prefix-big-endian.patch- If we have a post entry and the description field is empty, we should use the "Pre" number and add that description to the post entry. (fate#317972) - Show user defined comments in grub2 menu for snapshots (fate#318101) * modified grub2-snapper-plugin.sh- add 0001-grub-core-kern-efi-efi.c-Ensure-that-the-result-star.patch make sure firmware path starts with '/' (boo#902982)- Fix btrfs patch on BigEndian systems (bsc#933541) * modified grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch * modified grub2-btrfs-06-subvol-mount.patch- Fix license for setjmp module * added grub2-arm64-setjmp-Add-missing-license-macro.patch- Fix install into snapper controlled btrfs subvolume and can't load grub modules from separate subvolume (fate#318392) * added grub2-btrfs-06-subvol-mount.patch * grub2-snapper-plugin.sh: use absolute subvol name- also Recommends mtools for grub2-mkrescue (used to create EFI boot image) in addition to libburnia-tools.- Support booting opensuse installer as PV DomU (boo#926795) * added grub2-xen.cfg for tracking default pvgrub2 xen configs rather than generating it from spec file * grub2-xen.cfg: from Olaf Hering - replace grub2-efinet-reopen-SNP-protocol-for-exclusive-use-by-grub.patch with upstream version: * 0001-efidisk-move-device-path-helpers-in-core-for-efinet.patch * 0002-efinet-skip-virtual-IPv4-and-IPv6-devices-when-enume.patch * 0003-efinet-open-Simple-Network-Protocol-exclusively.patch Fixes EFI network boot in some QEMU configurations.- fix grub2-mkconfig-aarch64.patch: fix arch detection broken by malformed patch rediffing- Cleanup patch not applied * remove grub2-enable-theme-for-terminal-window.patch * grub2.rpmlintrc: remove addFilter("patch-not-applied")- Merge changes from SLE12 - Do not pass root= when root is on nfs (bnc#894374) * modified grub2-pass-corret-root-for-nfsroot.patch * modified grub2-secureboot-provide-linuxefi-config.patch * modified grub2-secureboot-use-linuxefi-on-uefi.patch - Fix xen pvops kernel not appear on menu (bnc#895286) * modified grub2-fix-menu-in-xen-host-server.patch - Workaround grub2-once (bnc#892358) * added grub2-btrfs-workaround-grub2-once.patch * added grub2-once.service * modified grub2-once - Fix busy-loop and hang while network booting (bnc#870613) * added grub2-netboot-hang.patch - Add warning in grubenv file about editing it directly (bnc#887008) * added grub2-editenv-add-warning-message.patch - Fix broken graphics with efifb on QEMU/KVM and nomodeset (bnc#884558) * added grub2-efi-disable-video-cirrus-and-bochus.patch - Disable video support on Power (bnc#877142) * added grub2-ppc64le-disable-video.patch - Track occupied memory so it can be released on exit (bnc#885026) * added grub2-ppc64le-memory-map.patch - Fix grub.xen config searching path on boot partition (bnc#884828) - Add linux16 and initrd16 to grub.xen (bnc#884830) * added grub2-xen-linux16.patch - VLAN tag support (fate#315753) * added 0001-Add-bootargs-parser-for-open-firmware.patch * added 0002-Add-Virtual-LAN-support.patch - Use chainloader to boot xen.efi under UEFI (bnc#871857) * added grub2-efi-xen-chainload.patch - Use device part of chainloader target, if present (bnc#871857) * added grub2-efi-chainloader-root.patch - Create only hypervisor pointed by /boot/xen.gz symlink (bnc#877040) * modified grub2-fix-Grub2-with-SUSE-Xen-package-install.patch - Fix xen and native entries differ in grub.cfg (bnc#872014) * modified grub2-linux.patch - Fix install error on ddf md device (bnc#872360) * added grub2-getroot-treat-mdadm-ddf-as-simple-device.patch - Fix booting from NVMe device (bnc#873132) * added grub2-getroot-support-NVMe-device-names.patch - Document peculiarities of s390 terminals * added README.ibm3215 - Grub2 for System z (fate#314213) * added grub2-s390x-02-kexec-module-added-to-emu.patch * added grub2-s390x-03-output-7-bit-ascii.patch * added grub2-s390x-04-grub2-install.patch * added grub2-s390x-05-grub2-mkconfig.patch- grub2-arm64-set-correct-length.patch: arm64: set correct length of device path end entry- grub2-efi-HP-workaround.patch: * try to read config from all-uppercase prefix as last resort. (bnc#872503) (boo#902982)- add luks, gcry_rijndael, gcry_sha1 to signed EFI image to support LUKS partition in default setup (boo#917427)- enable i386-xen (boo#891043)- Downgrade os-prober dependency to Recommends (boo#898610)- grub2-snapper-plugin.sh: cleanup grub-snapshot.cfg not referring to any snapshot (boo#909359)- Require efibootmgr also on i586- Require efibootmgr also on aarch64- grub2-snapper-plugin.sh: fix use of printf without format string; fix quoting- grub2-arm64-Reduce-timer-event-frequency-by-10.patch: fix periodic timer on arm64- enable 32bit arm targets for uboot and efi- Replace 'echo -e' command in grub2-snapper-plugin.sh script to 'printf' command. '-e' option of 'echo' command may be unsupported in some POSIX-complete shells.- fix bashism in post script- grub2.spec: Fix conditional construct which wasn't supported by older versions of rpmbuild (caused error message "parseExpressionBoolean returns -1".)- fix errors when boot is btrfs with Windows partition scheme. The first partition is created on cylinder boundary that can't offer enough room for core.img and also the installation has to be in logical paritition which made MBR the only location to install. (bnc#841247) * add grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch/bin/shgrub2-efi  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     2.04-150300.22.37.12.04-150300.22.37.12.04-150300.22.37.1efiDEPRECATEDgrub.efiefix86_64grub.dergrub.efix86_64-efiacpi.modadler32.modaffs.modafs.modahci.modall_video.modaout.modappleldr.modarchelp.modat_keyboard.modata.modbacktrace.modbfs.modbitmap.modbitmap_scale.modblocklist.modboot.modbsd.modbswap_test.modbtrfs.modbufio.modcat.modcbfs.modcbls.modcbmemc.modcbtable.modcbtime.modchain.modcmdline.modcmdline_cat_test.modcmp.modcmp_test.modcommand.lstconfigfile.modcpio.modcpio_be.modcpuid.modcrc64.modcrypto.lstcrypto.modcryptodisk.modcs5536.modctz_test.moddate.moddatehook.moddatetime.moddisk.moddiskfilter.moddiv.moddiv_test.moddm_nv.modecho.modefi_gop.modefi_uga.modefifwsetup.modefinet.modehci.modelf.modeval.modexfat.modexfctest.modext2.modextcmd.modf2fs.modfat.modfdt.lstfile.modfixvideo.modfont.modfs.lstfshelp.modfunctional_test.modgcry_arcfour.modgcry_blowfish.modgcry_camellia.modgcry_cast5.modgcry_crc.modgcry_des.modgcry_dsa.modgcry_idea.modgcry_md4.modgcry_md5.modgcry_rfc2268.modgcry_rijndael.modgcry_rmd160.modgcry_rsa.modgcry_seed.modgcry_serpent.modgcry_sha1.modgcry_sha256.modgcry_sha512.modgcry_tiger.modgcry_twofish.modgcry_whirlpool.modgeli.modgettext.modgfxmenu.modgfxterm.modgfxterm_background.modgfxterm_menu.modgptsync.modgrub-tpm.efigrub.efigzio.modhalt.modhashsum.modhdparm.modhello.modhelp.modhexdump.modhfs.modhfsplus.modhfspluscomp.modhttp.modiorw.modiso9660.modjfs.modjpeg.modkernel.execkernel.imgkeylayouts.modkeystatus.modldm.modlegacy_password_test.modlegacycfg.modlinux.modlinux16.modlinuxefi.modloadbios.modloadenv.modloopback.modls.modlsacpi.modlsefi.modlsefimmap.modlsefisystab.modlsmmap.modlspci.modlssal.modluks.modlvm.modlzopio.modmacbless.modmacho.modmdraid09.modmdraid09_be.modmdraid1x.modmemdisk.modmemrw.modminicmd.modminix.modminix2.modminix2_be.modminix3.modminix3_be.modminix_be.modmmap.modmoddep.lstmodinfo.shmorse.modmpi.modmsdospart.modmul_test.modmultiboot.modmultiboot2.modnativedisk.modnet.modnewc.modnilfs2.modnormal.modntfs.modntfscomp.mododc.modoffsetio.modohci.modpart_acorn.modpart_amiga.modpart_apple.modpart_bsd.modpart_dfly.modpart_dvh.modpart_gpt.modpart_msdos.modpart_plan.modpart_sun.modpart_sunpc.modpartmap.lstparttool.lstparttool.modpassword.modpassword_pbkdf2.modpata.modpbkdf2.modpbkdf2_test.modpcidump.modpgp.modplay.modpng.modpriority_queue.modprobe.modprocfs.modprogress.modraid5rec.modraid6rec.modrandom.modrdmsr.modread.modreboot.modregexp.modreiserfs.modrelocator.modromfs.modscsi.modsearch.modsearch_fs_file.modsearch_fs_uuid.modsearch_label.modserial.modsetjmp.modsetjmp_test.modsetpci.modsfs.modshift_test.modsignature_test.modsleep.modsleep_test.modspkmodem.modsquash4.modstrtoull_test.modsyslinuxcfg.modtar.modterminal.lstterminal.modterminfo.modtest.modtest_blockarg.modtestload.modtestspeed.modtftp.modtga.modtime.modtpm.modtr.modtrig.modtrue.modudf.modufs1.modufs1_be.modufs2.moduhci.modusb.modusb_keyboard.modusbms.modusbserial_common.modusbserial_ftdi.modusbserial_pl2303.modusbserial_usbdebug.modusbtest.modvideo.lstvideo.modvideo_colors.modvideo_fb.modvideoinfo.modvideotest.modvideotest_checksum.modwrmsr.modxfs.modxnu.modxnu_uuid.modxnu_uuid_test.modxzio.modzstd.mod/usr/lib64//usr/lib64/efi//usr/share//usr/share/efi//usr/share/efi/x86_64//usr/share/grub2//usr/share/grub2/x86_64-efi/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:28511/SUSE_SLE-15-SP3_Update/2815dace31a4228e3745bf1f3585b602-grub2.SUSE_SLE-15-SP3_Updatedrpmxz5x86_64-suse-linuxdirectoryASCII textELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not strippedELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), strippedemptyELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), with debug_info, not strippedPOSIX shell script, ASCII text executable, with very long lines if test -f /run/update-bootloader/reinit; then rm -f /run/update-bootloader/{reinit,refresh} /sbin/update-bootloader --reinit || : elif test -f /run/update-bootloader/refresh; then rm -f /run/update-bootloader/refresh /sbin/update-bootloader --refresh || : fi/bin/shutf-8d136e8e7db3a9946eb24f821c0654c3bd6cfb601d200ca47634905b61f8ad7a1?7zXZ !t/]"k%wDQۏ척H%pR2qO!fl5kp%w_d][5\\ȧ/7E4AJe0Ͻk^Kgdbpumw!3O]jPG@UbK+#bʳ\X3)n`)Eq |Ws\s/ZC*&u^ndfO> 5 `?ɩ{BY5B^r00v~aWf[;wNw~أ|tבba"Yim, vav@u;]<o ckEeQ=TS#|ZJ \EyII7{g; I@,Ԛ9ϡn"4uoT+RK* Y"BihqT W>FHDD3ݽ"j*L4֟qq@↥% J6!1&kt x`y"W.ק :xT ,FF߄B)evK(5m2k>3hya `yZA쑬#0fgL(m `Χ[rBSqȬ++_цk KTR).$SYEj u_j񸏵!XLipZ6sxE-LrtH*+%h&<_fA@xW`VKxds#2@. F\rzzxtkDkC9Ɛh}}2,>[b۠ci,Wh=m/^U Azv71SAg\! >mzY(}jO _ I3<Ƽ,2~GrOރzV!A1%:fdiӢ#:E;sk08_[#n&Tq-TMuَg}WġyP^{?].%Qt4b 9}OUҽT0Tqzy]Z47,(? ,3>MD)Rr[5d 6E㥮^[u*jeT!f>xXu#)DqDFk1v2mT++.rB+;+VWLn[iL(@rXOHhVf.dx-*[.c|>( !:-3 eZ"4fĂ)} c;|q7P^,F)22_yjO—dTb6޶e1#Fiͺ2,&R)_m V>x]iZnOQ9O9Յ L4f[{6^5TbXb^}܊,ң-?T8.#=;G z| q'ce\Oq]JW-FMҮMl(pO1SZt sES>ˏ3*Վ^\1Xoc\i[7gķl@>`BjƘV'`"v͋F3LCgOpr/5nGf2VGYMk!bKÍYVYF$͗Bi耢.O$Rt gnwj-`(O={{x_2./7" !zhSxutxpw "C n;5U>?m @XJzCp@>I:Gzk9QMܪc~Y!{bgൿb5+t*oM?yP'=r~a^XF6 -t&"j]} A#LРYrЁ]e9b'vHDFVA 6ćni׏ H?7`ֲ [lE]Wnv]1  *f 6OUL'вAf~Ӽ^1y_:uVt1EMWQHJhiC"@ PPo6Z 1x=H9_|,;NhLuA#m-AyfKg|. ḱr*-8\V!ɮ 8О%u7z>Ws-ՖDb\q Aa'DB7zݶq2<ſƳbߨ_s>o7ͧ0/K<%ݦ=1{.%6_yλ%xdo &ߌ'189<0Jg\åH w`կL\Qc#md]0}G:m&ѡOE wKЅ(aQx6}^0ODЦ2QJLN'+ EUsfkF'tP]M@`L(q?X۞/c9 ubbÊaTalWF Pb0w| B_L4Usƒkǔn͢QzȦ)1,q &5E}j鄡e@G^پ9X 6L41k񇋦&Nd [* 8 f7,/!oPtk2Ct0{˹a//l!nPqK5iBq|ԾࡍRMMz$7-_]"S/q`!Oylc7>AW}e`FMvٔ1& Uq *jxچ'-%.}"i$5ɽ ;F&QtSL_ԗuakagL#Vٿ{l)ժ%Uhyo{w{rzA4.3jR ܽw)pxR\qXI渱 EOBk]_{sgd:{H5PH 4+FIӺ"<딄$Mϙ>NfclU82t[E*(HJv]/ۃ7vOg#o~3C[X?#=a-)jH+?]4Ͷȶ4 )c{OJÐNuh4c5\OA` sNRi6}'z5GDŽ#ʼnC/X$il4Ur03",mb!ؠ| i.-Z#,ArliLnc^ 8lWwߞn6 $YG0?=R#4R%/o$~4ez,Z/%Dl`?թȎHI0{a"iލi359׶^?{wc@4(Qk36nC=F/@uMNA(¥~ex'֊sworоV % pCh [Zݺ=ncU(0U'tHлa)|dVTcOL,kPq^HA~iH5k UyZ<fW$qd\QTBHo-Z0? 9.tYll2RnQmutroQm @2oٿ`2iL!ޕg*ұD"}ЅѯStm8Oܚ_j6 &FSz-K+:*=-F?Inv/.1XO?їX=L *H]5u|gɦ`m#L-GGJ~?՟27#3uüF\= $qDٸ9XӸ{v|BX-:;Lע͗D!qe2pom4sm FrպEI4VRiۂ( 1O]|d\( zJߵ T"5ܗ]*+ h+zg Yh OeÇ>J`}>8 FwJղ;vudN"c+3H՝MIjV3nA) t\]u+Xǟށ,U ҇mWh2en*AN~]|LFish$G(b'PĈS2wF榲Q@lwoo ELB+{k|L exL ~ɧ ^PG$TkƮ}o7s%5X\Skv{\f/ ~?rs76E);@jiJ/SWb\GK/~m3dfSݠ!Ǘ)_1uTrh(4%)Qmp8pir)`HY5ͬ܂G`k,#^-Gc.ӯ5օ4Ko_jp^D>&ըy%񅾀bDe'7EqLs3jڵ[-pc0?T($ծ!z&O|[/4D2︩6M./d=K͟BQc "q% Ȅb</$h񣋧4 4WB= ,oh/)ԁPU siɼpDԶi(NB<$J*x/SdЛFI\ X*S fMhߣ (Gh8T۸uÖBl!˱ߒpmg曝Ċ@{ƃʚ[Jq;mvvRŜ[~&=fkܗbWdSYVE(E < 8|dkY|vqv!=)]f|~B!B)v]b$$yoYV8 .ڶO[y&:B ^{XbdEI^0J1A1Rv(̈́ne6&5AǦGU" r]WH>30`皜{%|՚:951%l PG;:sGhFWD(jbq9Rs-Խ7JR'j  Ė|y2^m9u M!7v}hHڌ(^[F*E܋mp 1) 9(rD5]yXXnp0-w4drYٙ7)8e{ei٣g "zu z$/>è q'S^d~XNNUD\>@OĴhj NCxynQfEXַ0^Zh?x]0w%)Uys'??\COI|75"t m! iC O1X yr5LL!nўrn]j\SA?Qp$k(2<6_X݅QˈB;n/S{Od݌3͙4rv)€));*zNMjQnī*¦w]6,/-F,}5D;KNDBzE \6l:zGuQv PT|7K9D#yzLoEY;~!k;}_;dŸ ' y)5 f: "b7u3#o8)kA~ꉇ&A-90Բ 1PvQD+3:`pfK|nҔOFk> tܦsxBJsѯЀfԛQ=Lw8kw=VG iT^t/HpieM_680,X:Y\=t,|H!dMUؚI/ 8?uO쳆l۔B>җmz0\m GsL4rژs) xUgpjT"VbS.aKlƧn,m$ͮptXwM)52ok w:BTy#`%qI9a™<{5{M-HeHyq9SFJ`L 8o%ׅAtɂcD9b髎.vJvM$Ct(v.tBC$-zNgd0r.t#JD-̋вV~Dnw7jNum2?\Qad^~ ]^4vI}RvvfaĿ/5Lakэ*Sׄ/t'{T9ֱQo`:̘PlP#P i({xc|v6Xÿ|?>;!Ȋ7jËQO2݉MN4_cSK tlw/|rGa][VՋa+BL v~nQ0 v*,W 95NS*?yۣ5kjv'|DUҥ{13D9?d̔$K&UB|F bքqt=/28zQ8+ ,e"%F."R۲q&9pUKaPrrjWA&ja2 )ŊXk0EPc)x楁I3@,YAi[KXҟXx*_ىVE|{{g{aoBBޛc^K#%1^G)hw=)Z9{Q0}ءx81xFFÓFRDP"v .Q(E *y"y 81}yP>?huUkDә -LdoqPCex]Uu%`R5ju,!\^}K\@WF A%,iZyVTv: 5*fV7QJsafc N/ā|\KJY&t%]̯qƪжm\A۶`b=$I ڃѩ,[rU,|t_s6GV ?63Fcb\B/UէznO?{uF3uS~ Qhp =n Fj,O+"Al˜È.Wr4sVt} Dy q_ 6hؽ2EK ]0G ;>統drPo΂[4t5o~s5ji&gxRvqP#f4޵;P/^ X^Z^mB&sw@xp^Yt\w˩52IF$R@ !95b6R A| 3śS7v*z0 : tM.ڮs29&}7n%}ylZ1BdA([w::ͼk`%&لŚ46Vn#]iߏa c{ƏPlPJjCV>QK~# 50?!orai"l O ]hdBmv"22(2Rꓢ&Vb 67V]u-$L^uq$"Zѥ3qǚ HgҺ4l@J{fi[ey쥾|'ߥ;p;w ^D -ӊqܖ~viqNPi$b9D#rXZs&("5q-E<ܮp?Sm &f_IF`IuV'iń邹T}2w) tkѤd #]dZʿhq,?*3d7_3!C?sӤv^BBQܜ@a.:]}ga~dY}B>gx1yZ,„MіT]v~4Ax$@]9(Y#ש6?ޔq2=hEz%!Piwk~M~pE< XmϿH ޭ8pQ`3~J\o g:T@FG;vK_)᠄|sWZ7Hi%JD&,5SBV֮z8UNMJUݟ&f[kba j]m})O/^i*Zxi']i^0Ok\D-{O}"!uXҤ>0Xuhs:2Mɷ, &wC@[ 6JA13NSPc )iXق4)PhB.eK~*﷊siw-IK፷YH7:cm;tPevj:tnz<:;K" Gs Bg:m!F~G1V7+^O'Óz}  >\ x4#º41yuN6) ސlvjgK `E%NlL?.5(SD@0\/LJLΑ.g)N(Kv2'7U>Qۇ5;$7M,*8ke24TAuR#lCm)*`kw0Q<_~TTެnPЪs~)u6F9)?EҁOb.E+\Ë`"7TTcܒJOØ,"}ni* jMdzOb;"  %Ҍ: Cp^$%2d3n5O1 zYe}9W(eanbݡ''g;F~d| L;\;7<Y3 ks4s/2}/98mI˦6;|,算%sPp)Kӟ%-Dߣ)/Z+`ҝ1̓mN>6x?<gBA{yF6 , NQ. A"KݴVJmiC0ڵ(L 8k6[7"JC FNCYno JZrP͆*8C5/$k`fF6]W:̂{|R*o'n[KL4EQ~jS/8k GT>&E/!gI U))V^B$oF(wC-k,F7`f{-rǟ5X$TU|?@Vz]75HQ2ZGdPġUȨ G\AvQf䭡ڟcHWyv7;WQIb +?js!_qaKNp;ד{pylB&N9dJ,XPkV[, 4dVRSDTl0QλB]a-:#ݍFBrV'jgRq~V@?NXS\z0\琫59ΉÚtm5)K[On/EVCfqu(K';$\V?.QIO|XOXtK֭wДЩaC)V>V ;UeH́VI?p\镐GЗ®|ʼml-kNzGܵuju= ?gS\ LLKs76;Ru[IB0X2.=Z:W?q"'Њ{WV6b;:A] 3#ɶ:OOJ<}c%H"g%Zo̬(e* z;N-VV)1OWPOsTꪌ}8FK ,sO4 ^Qofk&enP^6ǃ=] lOqQPLs%c4jXQ j F\Nu aNłnw 2ꤽ#H{\xa=dKCw:PA[hyU]A.sS`N]>qd@Ɂr=,$P>AmY}B~7ێĀ 8WQq:1TJqHwQZw $H: 5x8OHIX[|:-4;KDXlD^T"/tQzɟ ן[URzw;!jjZFAH1XloH6}t!w}* lVB`am̷""!tʤV",]c BRIm!Kl6wtAA W[Tq W=NR=Sʂ|1 iF:B40UĜ+T ^M 0@ޣě)}|1l@j sş,.`4k<-Bk RLYPMwLߟjݸ@/f5gBr`̰G{=rIȇ~tƥq?#X<r#_*R9iͶ^894ӛ.ptų)s! H1u^V$|ҹgF|! 51 Gȴsx.eGQ% Z`nd*!~L|%8Z]i XIҨXxG=;>tZ3[xW)ȥqo22蠽OBإӶ|s5_sC@;kؘ3h^$Iyp0vjldL 5Ӫ8mjBX5' "H4CEo *CGYnQ=bwM&,#k,WyO3칎x FQɜAw:'cِF {Jd>X)mNM]ڂ+9I]yUpK}njj+O#@HӇ˩jytfC'RQۘ3/ؒS5|nۥ)i݆ :a|gve5^yˑ%"KoctR]P4coRoސ&R48`ō F>J.RbĈUQ)x3?yTs3<$:@ޡ`u&B5ISU@ h m Λ'v=V`<q͟11.)$oK){7lGCx2(y82&% j<ʙvpMpM?p7_a}]%>*@ґF:XA^#&q|JZ0<"Dۨ0j baT`~dScDGtBr,_w!"N4~h+eљqH:h<5 qbR[C&ū#l޾gw`<%Svsq+FeKgӒ!F=FG6"$IMSN֔\3 `HNj0n; 8ŀ}b%߃cg-tR)[K:R7"UxYINQ Ko N;s lya7 54;6Q(ԠE†ZN)MMSGJt2[b.BM- HHLJLkZk/Zဲ;~cҳډE4={xY9?Uſa~ 󂴨Ls*liޕ ރt[%@%l_0Afc4ha+gGiFy2ʕA\xkLXDe}wC9{~߯jKv!.N閱g0{g;b%Cx}} ia flÓx-# *Mw Ҋ=}R;]$F;FHϖ7ҿа!?I PtMaΗ8myW9#aʍTm>Y?-u-\_>ڏHRljjO Gj}_xMlC=+ȟz`#o`hOܩNr!|סΔssV0Mߊ@XnjLۄ [u8dt9ja:!E$Uuo+Ll |h;I, OW`):șȝTf/A,##p<)-9q"H "L!K WdY|R 2=O1Ȗj5^f;(v/"u.^ ;u+YJ :H/䀟qE9ޓ6DSZb 1S -uثi_ݡIEP ВA.;^v׬&Rm߭(TʶGV'3 mՍg~ã@h,R}?5cY<`'v{;8<@v揻!`d(Ws_ L]<\,.}?H sUD|v* wCIUN[uMҞ[0'>U)/3 'OF]^<9?i7xSiK bBיi52ΪwHi%Θa.-\b=zS@K vxuی]_ ?~gm}F8h6Rlu-"j䎃B/qQ$JMh9n$A-icJny!+"b/3 "XA:)=ޮ&ދ0.$MoI Ϙx NgC }{C ijU#waX< rV B^G)X}-)ENPBE\ n4M$sHvp d:$$Q5 ]lmi#@ $!G}`OHV 8^Bbo'~l TuN狄L׌A(KoVDRzm٠0@-w6Mw0,̲`BF QJ8}`3#VRSr '/5qZT?I@/1ֵ["5H-\i┸BpVKڻZZҒ6@-iyPwnxDڠ 3r4ftιv`^Bn|V>fY8v*'sO!UMX\ÉpkFs~9П,mK`X맪s.mSg$BqmjSj&0I6>"Sh ^S.$?Na񳕩GMt;E3]r?vm &I ?VDrx^b1~{[^5 N[$vB66]WL,ٖ8'U\8W; ٮrxz5!qz ߸ዝXuЭ3-WgeD_)Jych= ]1LyFes-'0آ]'\ifUa7(\ON܅, uRݭUdb8NFcb]Ho*V&M&4C/I˫wr Q] ʤ OZѝ#j|ij"y?9cfdowȚl茘ވiL1QB`Je!̍}#|ɑ6`mˇn<^!ڕUI&iPyb:ᄍHA5&*`wQJ?z'lkXWs֎&״М0׭ *t!Wb!_^hҡ_Sa+88}5MFvl 7nFz(atv] ;Vo3sZܦ95Fpg+Ǎsj}j-SUa?lH>m &䦥[oQ zN'.!zo0)M +PR%F@w Juq2 \Y̱Fb_C8Ip+X Uϙb.qp'b#~IۆJ$(cRݕp[`> ,w-+PSO1@bn.&'[/ V`+ɏjZh פoF맍mu14`*$R d 5yܐSWAb(&fb t+OQNwfTvɱ[̓$X`N:t3:`:Ev]Bp(W/9;UĖnHptniYqiT-N# /:585wi 1IG{Z/ kI1fO.&EN7HOMG Ÿ OƝsa|noRhsHgg# ٦ ?!o_n-SqUl(%W@ #-:xÌbe1Ⱥd76p)}]S隐<.*ە K!kg4);ӃA7Yέa}WKtA+cSipFٙr8hZEYtg4 q_rj# N5͡O % Eqh@ݣ,y,Ph9vC^jy~Sm<1B^ QIuQq e$'LⵖIw<]UO1C%(M @ GJMl!C1qEXczrTjL71yrϳ͏n% Ѓ (N&#3=P.gZn |Eq)P[$hd.ByG«f%2aoP8U] 7i;Jc?(/GqzϳREX~ _bx(jaqy)z:XtSy:j⹉|* õ(;pArBn'kɅ,4a<1z2TC37a'[e[ӂd>/{5SΜ$Ufy͊wښl ^"E b5,CKwQf5‚KYh̲"2FM(YWITQa:=SūDjZȟn9[u=N"=Ċ :DNp4國-}_=6nVlK#r`6B#,Jsd.1 2r 'Dw~GI6o;rP aTݸse[%ZP7mż&T^0>ImiV\r f?pd!oIP1if-T6lG_\PT͘< Nkamۼ([-*2P@ƃW& }E4.yHΙO8 rZO;j(.7мklv_AsllB MN1am+bľݝ'JIS*S%8rjCTʨj%܃ƈ&ȿ9lo f-r=Nz1HꝉHBZ2Ko!B:?ߊ'.`H:밼i qރlNO\m:i ,c#7LKr'ϴQ6^c%|6!gCYHlmXnz$Yͱj@;RUS+RndH)"lu8Ue!gl{&tc* csWv1( NvOKW"4D-wB7őmXۧ NjF#]}_]յ2\mb챳B<3p#_pwȢu/C#! 0fY)*4uq_Ɛ 3Tpp{QT/(oY {bS[뮵j$^P/<4:|Nێ3'(k\Аe_k(Cv/93},+cr~#z|- D#}Qu'xsBۄ*s.G^N3rbg ™+Fh,~k0_=ϴ11K`2"şk!gF4:B8eKq:'0`_q6b")DoQ:,m&rNOiYj-cuc*EL6vw]ϗKIm{Y* ;9%xDz$FPSJj8ZE^sK4bb]l{VqyV뱚31h\hˉzkAu\Pij;KoiӟM.ue(jnIi.~JyAvxPU6'~Z#Ir|ڮcY\c:,VL[`9:jY;A`׶vdTGbMQЁ8JF&:jJJ]PʻE^Ⓔq(Vis33z- 0G}DVwۃrAz 8ʚjsvQx)ٵI^6Gm% =ʊ6kϥJm<ppA-E.fLZu=sy.nC݅b*m{Pbvyey8p Аںr'EzM:·ԕ &je50^uG˲\߳xᇈ3;xj 7A(KLAgh,fB7}pL%$K4,,d܀dXNͻRꥬGk'B={^;LkXD4uk/n>+uM&B!XH&π/o3'˕6>z S䔿-v5*CJ^<^\,TdѨB>a:ަWdpW\|@o 'CR$ JQ[ĤB _LHT&o gyđζxMvܿ`SF(SPʯr+'^u@uj˃Ւ;=wvEGga3bcv8@V;kI.@g?N6|oöMy}Gж (RN13^4MBΌ>QmQ)=IB _W_z" ]gU0{mבeyums4+(o4\תQOuiqB}a3q387'Gkzs5 'u>?,89: 'Yowe^nvJt|o`qdZ=': x$ ]t/ }`)J&O*CrpS'-Ibm9ߓF#ɕc;lȂ4Q:]6KPpu䝕[*3IVGw0VySElX u4DnTBn߰($͗t 7" 8H^ތ vt ~Z9/)B#~V7gqbk Xм@yk'3-w%F\fhej[Õ7R4&mΌ{̏(փ%aH>'<*@זmK]L:5b`\ H@噲PY qBrUY9couX曾\ג_)G:dBBO3~ҺR8-N˹ߋc Sd]4eRaw:RL&<9]6nts[\!=vEQ%;ZfX,pD+սb3 xH.Z3Y &WP#/lLIc>Hh,lvm\]3(̼V[=2-rꯌT/sB ^;R ,MjцI!:&CJ8 蚋qke8ni!ђT 'nrVA NZȔN12w+>dځlzU5N =,d3a@rc—;:6EyYVofܤʧ`eϜxE/)ZѶ 3r.ƒ=O7ܬךG%fU!Tf>+ BO"c1:4ݍdz5YjQ 'kN[v4po_UTZ""5A4p:&2V[7ܖ|T=qL~ ,3` Fu j1Ǔ/N<|09T^ _ow">ɅrWԑ-ꀤjE81j M2;GP'h俩i. ;+FCۿ4; PP2" >I-纩&;K olI3;ɶ[ah*lm7G WY?'z_Y,sJ.=|F+'U eޤ5=u{ ]m)\ά]3OkxUz"#G8n<ϘJ{)}3 L= RÁm W(=L\33f}Aŧ\i1BymZG wJ*+S.=bU,*`DڿrA 7P+ࡶkL/&z,*8|/>M}lKGTf À=ֳ WߖwF$Eܞ~t YnP2.R›=aUeRwmA=vΐdUhc$Yث06*9#z^,z騝p4F*3tP0͜mz,#9WY-L~$Qn/@9?Ktp gXl먳 7KnLfQH5*YbZA%{`+H!9 >AwdSXBOϜpc. Pi,,Wx7̴u˃:LdLfBDۗK="2ɬ9ta}JaqB5#wi5BgTյOveʮQ{B2MH %&x_aT/zt Q_`{",kS1LO ,d!y)(;Nrm]WC H l1]%IP|= J"ԌTOgc=hmZ2d.A GKrL5j|Ȕ&~JVSCAnppIþc"szoغ (ddo78 ^FrrEƌc'k 8g(~E ;FOgK%'  ўG̻ 9!e)I[P $O3$½3;:#p{k@moݗMj.4WN0X6n͈\_2h#mݶy)HZ 9 +nMcy` h,Tr_r\RJ 1-2O#P M (9LKQah$MpgC%Oesu>FCbQk\Hoxcj@+ lۂKe';k+WWq iZ1=mm4}Fy"mX?=m $u?y֎Qn,6u4vp̱4S_8mG~vAȃv${ ŔtR7\|`;E'C`q&> XOS` )Nx ],}Xi+"YV+ZjU%^|\Nej8E)MGpۿV8Cv_QCTf(Qh%Ŗ v}Į#6- J2]KnŽ%'m(iٔvDKm8"̭:^h*Ӵ ^9ٍb)e6N[34E ^J*n)ji.y([؏~EV%0t;P@EX$h{y~HA2lzO?7 f.P&]+ƪ1L ( DwsgKN/(d]L+[|83Q`ڍ;L]FHU'`3TgL`{@+|aԬ3"U+`  /r&[tm.S!!KfX'm]yfœ*4iY`0#50KϨ!lY Pom w"\}v8]>p;X, ] 9>_UWS];`_YIKtá>MoK@ jhŌ{N:W&[ƣ8 (|<`HVǽa(+tºhn1:86o`tT 1i<2;%_&~LU8⫡Mo'knZ]#t-%&Fœ3`5(M_KNRЭT:u[|ױ)yk'͋vB&`}|k nX75͠n"3slWf=-ֆ@y)uhX  j7X ?{e u*Z)wb2eea^㑡`UC oh˗wjSW^k vG[TD2!XF&Bz:h8GQh($+z9*hGQqd9cUTB$'Y>&> [Dz^v^j0au?)eMv3ܘ74iRIڃ/o?,gv~.՚o݄w!sn%jH}p4e.\z|s[(sGY\ z@abnlnL҄&t^c HG p5~h| /.nPh`iÜ 6(%k#ـӤ\|97}#Ъ +1XE7ȳz4j 1$ϒepGHmvI*b?OyH|iB\h 3aůÆ*qo%bYn2nX] ^/\ToH,yϿ5 @ۯJ{=j2]R7\|P;Sc\5[wvS{H uǢM=y`j7nHn/ȼQ_%(1F]_>7x=*YڊQ)@hyʙI[\N2AϞ "AM,U{ne,1߃־iANt.߬ Y}F9]f!cɿQY26_exntwﭓJ,ɋ8#;ڒ]M ؉2Sytq 9"fxx|mZH F;ÂJv@/UfGy 'ꈠB8WooCo3m>7 $rІ>O1yNN wݧ D|N- F5;tF*dcwKґ0 !E> @V/ $D׍|W\Ӏ 7[+_P*.ya%)A$:?Yj,Wu@' jN )C JϬ`AБ`[ecsWlv˚Jت1 ȊN$i/7aJ $m]mSERRi4W²+9in+)vmTxNGoq$*[Fٲ],YޑhK$d𳶹MOȹ-|bθ x0_bok,`5\7t =#x%dGYjO7xUwO" [ @eHJ zu=Iq=Pg7j2.ow|FdMag`[tM/7cA C'уȱxݤ' ׈'Řy&j6xM,oQ缐a7\ْ KgKaTͷT5-uP*Q^w渭~Â;;Px֓O3GhN/ bS3WXLjxUX`<WRfjMjVbZs@§yZ^WtiO_ń])2٦Q`tV ,uM^Yy X$:TtjfEfL?un_$xX֢lb7lR hU1BL,P+jnjhkE*IWH섄P.%Xz((w}c8< =2Naf 4RO=OG Z"gfv$37YЙ!5,cra/I5Rؑ߂h&x|~e_ld֮hY4Ł}7vF #|'b2whDZi^ .,|:ƀ{YF@~z _).tًEaz~Lܹ}\lhIz`MkH H*ɗ|3'aBOdSbEQ9D>.yl DoH)AVQH.W|R6#Rњ1(GIpFLE+3(`[؄"K 6y7z{d>'⚸ά"te> NY):RFzon ̶3F{/y;MHʍ!scq[Jq.r`I;1OB֤Uq,~X!LX @!c$s ? GZ]Ά䞿{\[D~}GwX&&x>Dbz~#%ti}zqx֬2{vdP:/6yF8_K:<[OQRPL":1D ,/xcc" +X0Wa\L{.Inwy4lyQ75=OH-U~ 5rќl°Ji!=4#XnւB]Elضhx(} Bb.maJ[ R," CZj9eo܉!c_:28<^q|ӈ wd9F,fTE dj:x~}eGa_mS1y&TPCVe1RH`U?gpBn~͹ XZgԧRݏ/Fu%( g*L}^OlŪ\Y@p.\ᑱv# |L^bUc{u ?TPYMGҴj㔐9FNC5X c&ǦǞ&~d@FT[ #1YqPFi֖$3NA3>kJAѼIme*wY>l!Y~26U6Gܽ*Oܷ+u[mpu;nI R}Fzݍy1c;XBaRtIs]< ̮JKGc±q7?;-%aIXij&0aN#L"6CHwA"|le':r|g[A@ &C~xEQ3c+gs南!`3PSm})X^1Vh#K_ׁٻ +g/znަ^C=v-A\ mܻe&qtT?ԭor MvhHvo5c}_j=n?I˨@Sp\Fb!mJ]fp%N;;}+ceccϵi4Nof/t ^I a|]QsYm .sAnA: EX[;DܡP-&s.. Qm^3kd+,/q&."opvlZ7z ^)Ʊ4RލiYQWMN:( T?lP'hp c}Y\ Od-|hRQǥz}MF$Hg\5i`Ϫ2>F>AQT'm`",G-b X>.t֛*Eq \6JJtWoxEW5zMOoRwfMPw|NoN޷hZD5|d9~W)IzПR '8愻OC馴 qE)0*™DO5^Jf2vvamH÷..؂gu (STD7E{يx(ac߾~ 1"eri{Ңʤ)!=6ó~N5Ac%UVk:2/@̓bS.yx%xl`ة:.U pQRȗT {nդW}l'FNJF%-0\N8ڒ"Ff@L !#(НGZ)LxUH\<__MlU#Df0 fƞ%z&EuzRe+(ޅ[1gZɖo9c&Аn9L9]]6)"Ho:[҇d_"V]wdp k;%JBť8od,_&PL}ȖX5y/*yq$bosw$/Æ*]9P-wǏ`}K8AWܬ Q o{-*Y,w *0ٺ&M&]*f?ȔJp$dGʸZ3?=txjh&'sbv j䧭CAN7-3mD!h&.4y74DNjF~C Hɫ_eB_!d2pb}u*']1!HOoοc4:BRBUQDoprUNi|N!&%?)pߍ%hJZ{` $ +YIwky %%?@!d}xU)֬|vH6Ce1r,SV>m;ٯ|ki„/6EA?g 3`_I_'Fxp;I6[XyC}I #4z^?bL}ϓ3jƃKqi|bu4` ӭ3u&PaڴR$O0:+XA֮D@en*L#Xu}1GVD"g1iD2đl\`NnoIOE$MW k0`fB?=hӿΈAMVihjnKN'v$' "O^>ЯAǧ]NN <PJ"ysYv?7Ԉp_#@Uuu07ql>P2Ó,7Dϕ=7'~пz1rv;j1Tn9)Bx}4NMHԡX Vj -q}{YDK$ڕuL[)W3 lkw~т~w2DK8ÜUxM86+'J8Vd_ҧ6++#ߣ da1Qox=f9 xV1ݶ$FQgl('XӪf4߿ 4 24[߳6䥤N+gqSe{LdunCs'Cnux}1pM O\V@9KMXjM9<~x>uMhC?Q4YE|hsoh[?h۱URӠIdGM,>Z6ӎ`oÒ BxC`Ouh'фNti%q,=֝[!AK&yHAݲh| =Ԩ<|%t_Yʛ#~ߧjsyzZM:{w_+SP 6A4+.s3^%^dyNeEH(﨓t??GV?FHAaeq4e}ő5IQYvh+)gET' MN7=UG EcNjjݤ8#Ba<3u l: |頄")uy58ĭ ;1LV6>)rR鍔6ŝ@l01V1F02 mӟE-醬m-pF-FVqF3K]5nS\'#\h}*"7$I0߆{$Ro+ov~ #Q$^9߂Yא}97 WJ^vDN]E暼 h˳ߣVWNwo?wBIqdg&Mm_'|U]PYdvҲ-7p}# $PVq=dж&2ecs{{ vYG Ip~ o*: j0 8Y%CY}|C|U! rƤ*>qr^ ,l,8qanL;y 5AJ<ΨTJߘjbfT<"9 |}t6Q8)fXUo"nϼ8Mhq vzʂ5_QZ@.ExUI \x y8Q[b/qJw=khDnI7%g0#+0SQnwgXXrd *Z@ufA=+W}%1cKl6 F^. sH ,o"!2rԯl=dê |W{^ ^-64AP#ڡ4:;)EKjD +BRN+/䉳;#|4ĉp3}P!ҷ{E螮|֜1!. yLSط>=ܘRQXhs0UOʜ]WwBI%Yͥv3.SOro|IW]B(]rB_Wv,&oMyn>UR2˄B_6K`YӷRLlc 2o3}eKk$rԝ||ה3_Xl9D/ IvD{(/4N W=T*|U'`MJk롓NOk"ݑ߻/ӳ%NWfgACSLI)%X Oab&?vSVtK?A+Jԟ|XS &ŃJpGf텢ҐnEL~9BbyNWjl- vKJws^Gjih<Ҟ_5 ťeCV#q`Fxp2{R)[,@ӗh^GtTYZzrtTy%o[{Q,QZ/]OFMevd>o˲v2藪UGw=Co0YG8p4q(v$qԦɖ'm#\e`_ DCbK" uaΚ%cXc&xtYm?YЗpB\ WG@| ՗ýty"M,'k./l%_l.(mzM>/tE': t|c]!fH Y!qߌ'\dkP!lN;} E0X*K~iH56\E]# U \{;Z@ 'j3:RQMe߸BTZM?COKLy׀d,K[ы53X aS TO pI{" 6ƥ`76ϴĻ/KLRTwz]ݘB3" G_Ik@4LS"k{jH3*\'PD~lc~DoE nG,5%crr"}ee:11OV8(Ji0+ sR-"8JuJ3%B=l91jil4N lnjthJW^5<]p6ZO#U&W^s rJT^ɧXoOW5c{v040Fʈ h.ED` =9x7YW332iZ}xBTݛc4[J/Iw0V## +j+sp,rg ֌囓-{rq"?_O_ϛ26hI])إ2Zkzy.xIz+7cP6횩=£lRHr[FT5#9gq~!B}kdԔj`y{<ɒf(p~Dvwly^x50݆xsW~eb!yZ2f;%PWAZ%}A5;т>*\F0CT [/;@Ҡ(mEV=[/tor )+1b `X9&QSNflFiX?J|+Q1<ULU(Yw*Aڸ'_S,I^ 0)" r8~]ZF}`@;^8b@愿]ڔ |-[p>YĀ4oTe2]B$ʚ/`ɬsZzy-FWKFYI'0'Q* R+KܚAy8XVDg1iڔQ,*!ZH{յt/tX~ӕlDqSʃt)7;,.}<yҕ_Y R [KRVnވ5M`i<\3TsYD|7t`YX$m \ɦ#=gcص`S 4_#7<,Ω*]i nD=qA6QUj4SEE6xX$ O}N1ww@mIF:6Uc߶Om>=Vp tP$&ˬɗzbU|fp%4. umGn9CV.>n!y,yk0:\ɠjh@0wpiX\V]XFD '-:/*eO qɌ=/=EDMVIyD<6>]Yb:څ_ Z 1 *'(NEhvD ,^#3zt)${۳Th-+f+NoWȠų`!X tflX:jDe@[1iВJE0xt]$$8ЯB\ֻ$ o ,xQ#.& 1UHSmG3{ݬ@6= җ|o4N2ױtkL# 8!$[=D K?zgO$ZUa*UPTzQ)h 0&N,dzx`vJȱLőSOll'8vˢLm!dxl gb<]FeNPC1 &KbUψF [f.RFiطӻ.,ڥI4ReB:x;S*GO1GsB* Rsi!]#@U7Ro!Ofk5H2Jc> RmOs6I? <†Cٍ[=Eg悂Rn3=]ym ֝IZ#Jχuof'崪Fxa*R8ޣ/o>/ QʋBAƬlcV 1>ąJa>.'4|0 s\)ldR<͐;NYOˁ?g":,g )k |d.+!ax`pyD':}`'5gu"mXa`e]VAyp$-FU4_e@nǺrXP|m)kCsٸ ȾpN`b.3f,j侏Ժ AĴt N[/>'S\듛ϭ/dtUfdVe ;z"A'rt $IH= M`c_>ےjJ oaF.dBwQ_#=5߅nJ`="/a = qٙeXĢl7b{ Z8:Ӧ5بRNdk=q cώf%9.- [sS;s!|#*e&5dl-؃ZFG*6P:ԏbfR ibP@ m J1F≠=~WH%@iGM. 3Xb6"evԱ}C zS=8}XF4V3F?UR;NvQ|\.%Z" KgdKoA L]S"-vwUIGċW$L>G }R4 9x0ıO158]w][zVh<ȟg`/euFq)5Y0cIp=JӮSQD3<2"##N)+U%!RW]ͷvAn\+-wIܵP;͙AۗJ}[slm\ٷG2zoP*E+#G]ﯖ^\^ "ѬՙÏ-a_0P|b^o`P"o'ʠMmE]~z[rv5I,1& wb;glmBdk'=@:vr=>,fBS_vD bi/C`riif\E;Fߝ +WZhKTŲZ`& U~k]NWuhK@ k.' = „D;j%#/ }1fz.>cOBp8YmhwIXeo;YǏRe ``!aeYb6O"gѤ0n#SYG&И# 8y`5GJk 9'IHaSVXa)'ށ*K|W{T3ZS40h|cڅp,E%ơI?0KYˍDS@L4m]s벑Za !6%3-y\kxuaBpKz cb[gv. OkaBz՚X!EZ;،?PwWdY'qxGH  ѫŠ-Nz^ n!lIN{|Ot׹3y@n*>;56T3P?p(.&N#7ufo+W} u|%v]d)ڴZ_oC;2'M#)ShPʁ+h|6 J@_ll;$zݘ(fE)nVlUF)ر<3kOmG*PgǢl--0O_ٟJA:dנ3g"gED3ft.=G#̍G^Sv {ב([K}5}0:-}:W:PHf( SzCIs6p(ZMZef<25m55d 0NDvUD9 An M2:s$yؑ{̪k ͮD!z%].QbxKp <>F[$t7BוL/Xמ2pBe9Ҩ,\;apVK_v/]dB# d9qT:l!m6i kX2XMC,a&ئc ϬqȬ(jZYA]f:@np3_SrȊC~3x9FM@'v@-.Ȯ{PeUlQ-JtS>6dx1q .[$4A!_yzExy", G0`?O$Bee9/EO y88nsQQ?Zװ4˰0fi܊ xic[ rM N=`ꎰ6 t-V{-2MLS,seJ %  =tRdcbr]?['ZVі/UhZ :э7'g"GNK7{~_o 6O_$ŵ ?^NRb %`r\I0JN;SSz#Ҷ2\#[;Os`}e> z%ObCnv`0{M$wt >lAt=F)oߔJ:KRE<8慾nOTh&ߨߋOQd'M>e. qB ʦt$6@s{<<eza~YӮ7q[\s0-F<,fx[ %%S~π!7篅kf7@Yo8rF96p\^x ۛ搶L)c)Zt%(S@v5v,ZKZL?-yLu 9O=ɓUXAg!7ȷEJT_3؍зhƓtݺA tM@ТLi/]y>p'$j掱έRצazg&Lc0rKv ݧs+T47f$7W/mF ~Nhؓ48 RG_h˰p  CC-uKu|΂s:|do M61E8fIfXI-Oe:=h6)qc"HHxGh n]\qyàYV.["kcaVw1,S",CV9—ĊQTTyhǻ)g#Tq$`蔸I x+k Jy*v'kP?}8% :T?zݔ`7Ed2 $9,BYMvhf3.V/prk oM2X3fPͬNZvZ_SPpl&// ڪ6 m8kg4-rph4^a]7&}_nI7Sj??}uPcΞD`EQŒ^Q4ﭮ00^M9rρmAA&%v=L?Q#t"ocdR{>y!JИ Sd} xZ,1M:kƕn&ii ˬ`_#Ѱ7C$mw:Br lB7Vu <M+uh.PxLPF@<[ w)=*d[1;=wE*WD-Ss0if!y1rτ4Cf06x[7ެE7^}ԿN@;(mb5|j֒r. Z3uS\'=%Qk$ QhQx>'iθP:'kO<1pHTyO[v՞A9Թ O.-x[(5ba}efކPń{{s| ^Cp ̥Q#9*[FƞE oaM4m^wЭ 6 wa}1nwspK_H$/$q7m[A&ߠaܿZJݴ}_gYʗw$'qʆ@95ĩ#!gp${k)tBj~i@%w;in8]O X>kgB3dtL4L&͚Ra*rSCr?f9jKx29kyB:-&iQ=MVD8~BpGZkqtj?-8=Q %a DL^ @WN^:j@Rw7Uxbc}?E@i )D/#S>QA Kp;O4\ɯ%B7YB4_P=G@ 4"RP~0<_uʩ Tfx d7kwq`v?$h?4J n䔏]pnz?= Y{rdQ5*^ P0ٺ&Os·oLW8*ˑ x6pW:SOJY{BiۛPUȽ@ea>9 rߕ*!T?\i&ܥe_n-ħS`.9m ŚRuZ&P:p("A끬sm$5hP(<&,}J݉bʛ! *Lҋ O쁩͊BL5PMyVC_h] ђ%)@{qQA:Ԇ~Rc_⓿{1CT⒰P2>_ؽþU:RAy  m{b6?A!US\`ZarBӊP;5j`t3M~{q/~u%ٓD7@ UlUİt1_~2z(.CIt]*ۊ0^LNaic\cua@tdRUTsWP'!N}Y G(AK$?A]dq/Z(|9@ Fq;]p prEgӋ9&[rŮ:>gbiRa"zH;_<;"NȾ$v•9c~is'd0wr4|I2rbz V8dS^S +Lxw3:剘~a.~CۮOH$VKP%p; eMgúqbe Զ+ʶL EDo1іM4%4%7Hy^,N5E(M4,rgKT =2K#Q.ٰjLlw Km^6rn)G.M8ڃ1|,]n&6mF|ܷ+gN'+*EM1ȉcu dXHлv`!`6Q $ՠboq:ݰ[9hY^{:lwH0y( -Ԏe'pKVN^^dzne_i~W{J "/~q#~)G׽V&&s_uJ:-g#,ٷQao}̹qNȄ+䨣z;Cy"" Rԟkwkf~V^~tj<Qn e/Q>| 26a2k)^xzl:o1 NXGFց[4O}HS I~'߯|Kk`.|8fS*գKP;&?o>Ή=&SPzo%/ʙycAh1%@0wtpx*]Q ntjW|Z=G. xW vfZs *Y>Y |([/[z>U@CѡuZĽH 6v؜Jq5t ^܍pB?vr.%|”U.oJ8܅Dž(g:/1}xz!b4.)eV2;ylB_WAY|kq#[1t3eat7y02+uZ]#s&I#p1v4#A@cxš\tR (`\i5'mm0ţtRv?t,k[oSL<z~Uh)αպ#?dꗯ'h od`  ;6up ߧ[MsòR)cfIq`ְ))cy}-YPɼlR@N,:_5O~t4ØTʱtop g*:RM+_h [Rw;'PT1{Qi›͑G6nMk?LշUC{BYf,^`W.V$u|I5a) $5o<=^p? drskA)1sEČF-K|W֎Y:yטmt?~pˠ7]LL[WdR#e-{w1NVgp! NE4'K5KB}p@ψ F766߼8 gӺm1fLZ!+trۻE9J 'nd'%^F1I3C*a ` N{U(~kOguLˣ&uԥ^[Ka*헋fȹ #o B:×cN5ͅ"qTGekr,drْͮobӿ#BLЊvb0vE&qpy{t:V7!_&5J(7WaNz4T>j!CJ35]p#sxoS4ݼ:Tg0fm)1`8}IY60\+0OfFEҥ6SY,ВcyȶFPJmak}`S&t-C%+јM&>}.PY9>MO› 1@[v}Rݜ2qfupUAH}vd\|Dй->*RXeƿVw0[cIQ O2 ,c!@m Ea)2t b쀢oGۆo?,` J|}׭`tIa;լ[[ ۰͏zQv#y<(QN1qu9N M|nYmt"E0wό0]!Fޚd]!j M6_elv)R-n:izȒ쌡zTqy\ #Nȕ!l \FCjK‰S4J=Dz͈qSTo{weNY&\Ng \'դ@6^1|lys[<[tjV>w"0 ы]V! 1єZ h3E*oKmrYƤ-3fXv?;XG^!jy/&&O2э\1)"/| -c_Lar'{DYK>Bu peC2io\)1ZՒE@U;zF=u$)̺ j= Y?[r*AC<"2ʹ 6JQ{3p9 Z;eMh[aj w/y[\#.60fQۅ:X.% #}TyW͑2Xin@d3>'-Td `z%w6`Bo\.,0Ѣ y*"p5Bj=8`6#r߂ە<.) mE1B&nI03>ڬ-*o@ǤBi2ߴ脯2&S2̎(/ZI̍_M%Mr8 >D \(+af6Tp.n0(-Z50'-8VPPƢ"ezɂNО[qėMA2de1{[$2-3|<ؖ8cFloI븰0=+v5᧥MFBҵӻgRĉ XhΎ*Ka5p^ f`jD1OF_8(fmn%8丞a>9KlBgвnGl+i%.F!Y;Q Fzp}wItJr!F"KbUk⊽wH>C$Lj> 3S>'|1nby`xunr6| gja2  C&|1Q>l-̧bu~Gc䎕Ay"lEL2< ; {& n34׸¼V$kza/`9x VOL+2B %e@ UBMAPDU |ɡ{ZtR vr>|Kw}&^ydC9-UEjxJrқ_4;(ţ]8< .B|v,kξV6cŚG]4 ;,`="oi+EpDv44., _u&"Ms勥~70]Ÿ&+uǴT(m3{hA,S{W捁?oH.m{T;Apأ[h gz$+(khX]'E pťhȁgnx-h,P]L~;ڤ~Ti5JO8qC<9m/X@^DP"N]/aFT w/Qpp &)$b!܊G.3qCHxj8JP{;G 1(^b[I`C9hu)}UR(vZRpB6|%RӁH{v.OmĔD0nUsy8Rڐ<2 M| c I};2󎢵9SԍHT^{@'axH ñ|H1y]yXɪg.ӿ̌sJW7pٮc4Nd?ә̀ oBFbɾ1RR dz WQGbyj[N0Ʀ)قd__{N^dtul1Niqqt͠,7O YEgys}2!090"J6cOd-q,C0Cͳ78ܤb&]VҶp#(ퟘe7y &wIu^D(%kTMD=R7wKo_'S:9qԎ@RWK)g,㭳V--r>Qt1?t>uzjЖ6?hy.Oh%󐫪=\B6,ܤ5ex∑;^[@el/:39k,BX-=NjLNoT%C̡>paE/;xm/Gi+72j)w<$%(}>S/N8bhwz8dE_&<'|H/Xl(lItp!!% )):+2P1?I+y f ~WWIۺCS_#PL㘽0/7uV]WYu4l.;34ҋ~xiTXtSrx6 NUvaɸÓ(q*VZm(lJ:i&UIޱwqWHߦT`<5W{8u1esf݋!+c"9G#|18W>ҰK֠ZL4;B=Gp8aWtiɍa~lwI0f_szEX~f] 2aqcZid@B{~g5& OլG5ܥTÖ8^?_,>)luX5P,:3ʦrJv$DrMwBFd(6Ё>~\8p6h ub͟'҇'^437=1#g]'E9m]'jMP5'XwhA`2j)6Gxn~$tBB=iEH7S$vJ¾NqQw@>`+E]#tK>G3˺:7F n VW7#fH`KD/Fh MKjD4;dÈ|kA~ࡽ#tH;@f %G--WO1EYV*tk9M\ 7#$}Ka 88',0 DD~eFz4t89.a G2'?y6]0:EL'<:fڷ{kQLR ^ "Z^OcqĬG-2BE@Ij uĚ|*X%ҍ0L/⚄)C8N"_&!'Mst%p$έL,too!?. 5j gr?YC 9^?'pB'DTtu BLٱ[y}X/+M>![*o)ejT->;6᳠Gм͠2T]\'a*R؋gQ\S(}ХwvI cr`|o])K_&FN}a vu%ԟiAO e4/]}CD )$'H3F+h TӋC\9K•_nz r,)+KNk18{@e;sGvr>{ ԇI`}pKQ K[B;21tmX}Uś0!z5)DGo߾um$ 3Ȭl;R} jTJK^f {},ݛH@BeҾu$yx_a02;tBL?.B!"141-ShESBqHfjp@Q/eiTID5m$w!nW;1`^B6Tt.\|6tp/؍{Mݟ;r)B]LGB;0'D7-Y!DUACq0n}{V@._\ y͛ ꌺ,x+.K`-Zz? sv߳gj@"1mͫ'C-@Ne@>]\Xf H+0"b]Tc \dN닱CkdoRaO[,Vד'°Ce 'u|/~1-$NBKص)?:Mp=~e?cc>7DCr t|7MSC{GM:g#t$!вq8TbzW<&]u"}cr*o yk]dѼׄzإKtSX’*r H ^zF֣lƬ-M8ΑoA @;|JQH!|XvGRĔu2+EnD0FkDK^nfĠF|{~fkȦoC1$LQ%!|t/-XNbJ {xstۋRf0Fyk Ϣe@yVJ&Un8`4>,9+[ BiZE%J/aOBDEKdM>_\wfC#00 )`!nNy$QME-wDʼnvY>a A\Zte̩Dj4<kHU_aNIz;(H"LCԐF_` 8INqǯjx[ Lޠ_~G'%ɑPvL.U+#D[Xj#Q}ݡ-]~ryc~ct> z1ācTN@Sant:{^u{EL =oYȂWVSuBP?\GqGY탗*uJM2baS $n< fqp- Wՠ7:h椧JL%_nj-7A־#[d }}>JxX> 1k$ q$0FCM(-5V)dyC:j~QzJ{S*}0}\-D)$ٍcǞw]TiFHt Wi/NH)yR;8GcF xԜJOHccavH 2]4T Fu9q7AېV6! m2 ,xrR>32 i%uy8R)տPpQ~\.'1fdŅXQ"r%+ J6k'.ӌa7xHWG4^j Z V+txM8ΤQ)*y'/[kǼ7!Ol.#FV7 hiKZV-s`1":dt_M9mΩV|͢G3l=2$2A8DDA>uICp^۪?<?Ξ}"WgEZ׽ۖנlKOF8,+>LcCk1ɫ)/!v2Qg [? x164~Sĸ̗6\zyMA2Ͼ95So';FJh9ll` qYp  kBbX0_ہSrBCJ}f5J `>TW~Q;q~zu E/6uKG^ʋ펅-7: K`.ݼ}fҦ瀼gJ|b/B~c<,=\Tӗߏtx;t2D!wDں n\}`͢DϷQ7c4n4D_+!9Wg-ӲDһ2o -Hsu翵< O屶Ԍ^bq;C_3y]>Z0z r'3ub4j-U {sLo'BqX 28S"2 I: I|~mm{4nڭLKg*'G*FWW[//Rq_{S- l `H% HD~9luOjVs9"Nd`o urBxeCٳ9f3/aK!xI(霝-h!Y@EpmA tD k1+I9lxhʳ#T?XS?d%a>)2F ȣWgm ;'#k+Ձ5C7j:;93Rz\RaX6L Tͪ-\({Lc7APTTIr#IȊ(@rɺ⮨MNbp )C-}afY-Cܔ`3%`䋇gad]N.N'v&U.ԟB׷,r'.gWӞ6+oSQ8-SOfl&/;ѼSW鿦Y[CՈq) RfF mM04xTD(u^)X&J)Q^ ^7,z-fOqK2T"g8^vtGWW\Z,݅Cɭ^zʆ-,2eg^rUn%~h^1WKl#V Gˏ>Ң{9z3A## c6ꚶ]*GFT/aߕQ?-3#Sm"}G a?.<6=抒׵TN 4ބ(f)ڕg~)C0gNr6w/m} eg`zq!K<8N&;9Iyv##As/͕qm }jW$wM=l׬JR+'8u2I`;>lFÕ&a+d0e_8+3{W :X@nr2`^G<[H[C`#8,ϲ=ʌ^ARRWc"?m\rgRH'29g2F+Imnp zq$SvR8=w 4D*-ڔ}/%oTIGK g`p䂲ɕ^@q]>'o"!ZBQ/ol!ܖ2Ke)L|d%ӼVSͬfeGA!C51~w#R0S:ΘZxMrQ6 ơXxbRE#;ް!j݀Mȧӿl`*\[JѬADԹ rX2b?ɘ P %vǃvBf-HE |cBd-^R\>;堬d̵ND |:`@K_'B ].Lr5꨹{vn(?ϪɅ ?aQ3MX>,yP+(4C7Żpեw ,:a$I>̳!Rl!/-  ͈C釒^`:LҰ~*R6C ij>gO|0AO1j7[6Q%IG)aU-uj\ +-PY |糒l kK5IP~.NФCe 9#Z;pǕ8nsd.+!7GvlrGWõӆl/4lt:<1.l{-!dr0uP27$%fFZGw0v,d͆ټ4@HcR+hptܬwHR;Q]7tO 5_;?Pb';؍Fy>lZ O$\6\QE$ t cBC+;]P#~.; |3]Ղ@Kd&Sg Ũ>NqZNL=2sUׁ;^$U%+|HTsWqj e dU%},_j]ڜ%8~Y"hqnnќc7H)kމCvJsE9 ].HԌa8 1'UWv@c^]6]p{L264A%6Y [ BΓ=_ta[tzwRh6'ix,I >`~{˶a⸀ @AԬUo [;J{FVbŹ?lZn]l>ARfffo?V#j UlHU?pכXiH.㵟ii5JNLsQ|E-^5^A'R>o:+\3^=36jj{niwnr 0~LdF$ QڬֶO7r&S:Q}{9 A*JO#; oI[='P*D @lq)KVX̬3 ۭ5rǷ1HZeMQoij5=p%Hj^c3FrZzܱ?G2ņa~?vm < n~%eJCQ,,|.S'kpuTSB/A"jT t-Pr!,f\Ab9"=kV\K&yDJHK<ѰnD߭\۱CT0LQM#ߏi)P'Ƿ FWކRjI|Fz6p.mL3m;պa3B^==Ahf^юOƈn`(\@\.d"jF]ҽy=l 8A/\q-NƟ/|EB5$ڢ1038Y1W4 2eDpg }M,QIzI?D!@ ĐE͜/_$f"]!PK@*ʰ]j56@V!^>&{_H*<~-xu9 *`].',e&! spKV F Ϳ]L'=DVA2/֐Qf[{MRcŧg!R{*764"ESĤ'dXE`;N3ÿ6bq$#&F`1@5u` (pن zzE m1fĸih2i 6E\>n ( _X'C+4:IN1K Wx,YqG"pZҖ$1eS픔:ϔ]Qy1k,>r1eF^nK#,"PLte{1׀YCgFdh\n((ϳAc"WW"w o!(uʜ(fB7(.pgVz݊G*9pKz0Р#뵤d:C9.N0끱6*LV8}Ӕ(fS='PcIr}FX3'PR0ă)lyx8$KPdtw)@ 2aM']!~pw-c0w oI{L6BWO"ޯ.gDA }n0!5;k6AYL.Sި17rYo۔ٺ: ,)gXY$}I,!3I[X77DLCҴl3^c%:3XI7Ɋ޹^O׬5~N>}}271w=rqj'‰^Jm|B/6=&$^`{md٭єu/T) cnԿ%%l.?' eO@drݯgQ&~+l6 ێࣞF ?,&_݉0awFM6MJ7mP(7gtl}WZWu:ζ)/cχ29zxg$?rO}}7CTtC0u?>bfIS$%ی1IH47I pR:\AW<#V!KPKecZs*!o̕)y[pM(3Y/t"xfR9⥵Pv0`΋ugm 9" ލY ,(k3w5 kR=# L)Zg旟/,NWq0,tT:8N ԊR;j!㾈&&j9 .jɔ: o`9bC(/#*xY)jwd*]†lAEUX24mn.22,QR:BGe3?8$϶`ZwxaaLI- eh/;~2J71Jq"%5[v^ 6Z(TV[7]tRꝊDB=9;"3"y@IagM&fm)+* rLy}I+Q&)dū@[3Vʖ]%?7Vgdo'?qZ1%KrXiZ%Գ3׀VS"[Y BēHF`|Cb <=rt"/q$+paEC ¾7n'5ڿT0s#9mPQD! ?獱oHvVt<- W`bXRBv~n4hmeQrnvj13{{Հp~Wp؏|"DL $NpM4F¡QrM-pd/cB`–G4aS2ȯz]zDkU- 2s4O_hr7dj8_e@E%Q1xdx+#lL\\oe棕.+%Qg/j3$\{TRz$}|]/ץSnu j THK`(.ƙIP<.Z߉'h2Y6J TÁa%ˆk\>&g\6Zŧ9*xs❿ "um[BN4|LjsC>^5q<Z`΁+fk8֜{e*p _wy)S5L\1@D_TÕrCoUfx߳gO;5.߹YH`1*;vvI 7O`d9%Uj 諌yAm牰|| ZH-w1-{hC(N׺ǫj7 BRkOCp,Oc&\;[7g}96NJW^zbP>"m V@-,|]"P!CWn0xɰa"Qg:7? e >#B-`w7vE O$Ǡgѝ,KyB$"-IR~R[hXcq"?U\қ4?e.?PIL_#'FYOLuܑP@'nW:6^E^ʥ 4vbыkAFS,unq)_OOitazh/f8!?I@1kʍvH_N#[y6)|&>U.\)ܢJ.MW'dZX2Vbc/D̦:r%C*˘|>{  ul*O͢XNVȤ :;)Ncd)~8xHϰd1ržf!زzO.c".cd :;q 'еWyQ8Za5CB(&~'2S B {p^\pbJQbtRBU)z+."fjѪ }3y5N.9t i/2Sŵ›sG gvC]hKw:#5(HB$T._  ),n̦͢M}p 3Ru .M;ir7ag;:T(&~sD׍h{kSeuO1 o>dzțLs\$4%pL}'\0 Qa*(Ebيp%6gj^(s>bf%:I:G2aUXZfǴo!^@|L ZS !#5xy %5]{N(XGjiۗ5mXȵ !TA8Ju`:V' ]JRFkTEua@Zϕw26F`iQ_$c[-feЮn"}8ZF8W)93XЫ4e rX 񓆽Ο,VT̘Js0 ә7Lt3$!u<\rraL^ bȾxpΡ0t \j~ɾ?gee8*Byr{dnZo5Aخ.?N谚m? ^hpZ- mE W- 587dzhvg+[2 vPeAMhlT^5Wc.ͪΗ4HV 5LMϭϚJ32Ur(~4c8S2mn@ǫ_8LL ,3&E&̧S hxEqQUuz𚱽A˶ bϋfOjj*B+`ȬY@mf!.#g W[[*(i"BtR-ԊT@ &{;#`&ThcZV-0d _c}?hL?"M.mБi&{B 4B,q_yԩڥ9aZ#C1>o;<y;RyQy:烬ϥ̿e,hjb^G}L&E*i%۟;ڡ E0&anmU+9~RuIZ<Q6Xļ%m)? ա*0g̗Fj4eaHdEd0%9tdBt7x#OEsH>lH_0$Q2Λ@1WUWՋZI9k y6g EV<:W y U>B3+#F'eެiɄ)Eg2'SX@03*٘2A2-/Q]]]؀K=Y|{0$@{[&Av_٢:0jZ?m Wl™ u$(*v}m骝f9l}d\߲O;>s ͢<9\']]'1,EpIbgk{*7a鞙>ն4:5thDE e5ܱ75 Vy-np6lzVbyaŝ(cSVv3u+.+/fVK h*8V0`Ye?mgΓEP}F;@{<W_~™^pռYAIow6Wќ#34MNhJ[O7_TULg!"~m8瞙nhٗZ4EBѥWaOG–_Cyg,)x/ Kd91FCRaE#4cKetT-Vк  @>1}ܓcѨ}J?S"jJ!djDN)t\–@|欌ē-mـؓ"_p,g툒 .& O]`ȼ^:dN"A#ug;M(nP`ܔ" ŪSjq&čĀg>E#$m{ꍴܰyД:-M0c=I6Ak' t jcHg=d|Wj%%Vei,.5n.cցaЖx5h%YcՑ^O= 패xݗ<\dc;z eBYaߴE:* _BY!Hq^t9[6jx0o:D/V"N|87fŒ&yLj],$q]D(/:p4ՆubDםNF] 4B>:NJKi̝e W`U~4CX)oR<,JH `R T)l}c%Lީ~s{nS6MEO2rϹ &x_mH,QV`ʫL 2 h`TYQn:tǿFeMU -RKC615Z^"%/~\խC(!)+(wq?YHgsvDrֱ0'7P' ޥtnL:\oFCNkLcp)f?_|Vp:Lө^[BlfIF(3bOVlf H pôHefe,TS mӬc'˂'ҷܨP6&Ƞk;F U <]nWPo}Px#Ցv.u_2OߠuҢT\?+<}]p j$RaIFzr2z GKFsfan8/Bئ/M_)-ޭ!:u!GO Sw5rD.;/ { jʐM+.  )t|$>DrbNz򩨖`qJV^ bwҲM}#WY\ _uYjN]\ Лj`p;&toNܥό!u1:pd`I3ҧ|I$)V7#CovUp=PuͷVA**?_,yQ՘__x;f|viFΆ0<3ҧW^֒Btى\N؁:-'YyK)R_2I| --2-|>BY)%`. ='tI,HU縲k;XB$1 j֑3018Y20A(zy ^VdDŽڬnH~/wU;T6Lz 8Y尐EPy|S'VC#p 11ӥ6ǟ^1(Ra*Rs5K$X=C- I&!k^s{w<]hyA+/,jֻ)}9GD+Ֆ@'s0^cn3NY_{%;l; m3n)2)i{mccd3 ? fkAF;Ґ4eA^6g4CnMūL?W" ', %;7'W"Fnu =WAy(pA=ZL ݣrq-Ux6 vfKKLYBl8,I-.2[#FCC OzHL)?l[嵲x-H^kok k%Xd5\;P G&'b A.}F[e c WKX!s{ >Km>smdtl T4J.t7ɳ,#cO#8Ag 6j˻yS)"<#MniJς:q3;7n4%/{)Rj V&Ys8!uzge.F/{5 /v>!DxkƵRJ<8j"!݄!q0{šdʲޑ?gT nwN v$P ZvkScZΌ ,3^q l ŲxA9 ]W l) Rڽ7"$[>Wcn㥪Cj c,OҤfj̟iz6#AZ^`GEt3Tn(^'jlG2bAnWۛս +|iI[GA3{WT|O (G{Af@@^ZJ ‚%fT*꯭/R[BVӦW=e4ƳӼ _i^\*S1"?عZ3pE`Q35$|w]D/0F(\( vۃ|YA>PI$KMrA;-$@{ ZVTn#X$!)3c)"pC,u3ى.A"yH=ZF+ 6Q"z,3j3Q,x!WJxHk 3M\¿ %~Y!#HD;۽ :.9 z'<葭=Bb'G$]nv~p2+,dx|?!ʯ@r[BXCS$"tS(Sbhdi)89M7rI<T(/<1K.;-2jϔu|׉\Ċylǃ}AxC- 8F1M2l͂cuN Rmc>}MD=qBi:FzKH=]`o^d/Rlf0y'ݞRQ1Q y1^hu8}Ev!-A%57GDɰ^P4b맻SSwݭ ަ4}Ķ Ӆ"`s T/6xwlѱHdYNivp$Mk(X+IpAG\gZ` .sl§5ܸ",ֈk .]ՙ4uYRi'8YjudGOD3uZ3mܤ +b"p60:\ -+r $?ѦTR&~exEYI*9n8lNLLFfZ96 2l3$!@2@OZWqB.2DEJ!bUӈ31gfG0nؔ2{-BGV|Y= ~u]j! t5U%楞Q"vǾ?~5[SXy7j=\W 4Wn\`t{&eb־C"7EtkyX%hR}L؍|T@ԟpTΞZOlGQؚP'!,&hWð7AZ€DG- 6n[4ڤ*t \iԢ}Mg0U/jd>},Rt8߹.[0DX`- oǝ`SN@ ɦs5*@z|4N`*Z+cQOa'm˜YWgpV\>r,7^]ON1мŃo,8ꃴ\%E hь'VЧ.c{E`ϒ` cSї- Aݳ,'ZT yΐDŽJ굞}hEӬ%e[0|qxщ/G&4L(xQ *3ouhy>6 Uw9]9r%SHBG}CvaNBavbXI(CFbzǘy\#>͟EEܚs<xٸRX%TDN%)&Hxw?/Co,{od^A^9px I&BR 䩎GjBO1w(1!i/8rscs!!}+xYt 2Cw&!&$ lNP6K̗Wp ̣NEҷ"ȳeH[\7L}ڧ>g7PH@pP̧ô$`qBPQ mL]`vad͙{, 9/qԋɗg NϾXwی AX[ð&"'sxuYt嬘̾ N˕}w׃}|.7EqY8 B"̐m£'$kB!\6hpcF{9zCmyiGbhfRۙV]F5 բcZҸg#g,#s 6@F~eShR} Zgv֐9Фn"dwxvGf/τnR'yxB]~Q@$'e?^t=,R 騎Z^q'F$2]"A/&~ 87[%$8L!7 Z.,O6b:KO"}/J_-:y$ˍ8FX4,t EVmϺ1xhٍG dez2CFhS [`sn},өi\F!CLשY-.#O~0- {RFQ[^pr"-@8Ȃz3 4-jq2ܣllm (oEE^oB3l 7A1Dx8l ǂӍѨӶKy]FvځG/cKw gt$/oI)Q 2%T?vbijžWzWk܁F5 kc6' Eaqcג'4=c_@ӏt\!EB}9@LoPl 31u95a#BTN^vEP.t&%I찆9FRz,Yg:*Ι{$h?rs *\Sˉssvhh[SM h,z_xX$<fVzf?HYi#$jCRrD8@7W|~rɧN#Y!Y>,d'-C?x6t1f[>ۊ<..i2_m<𠛨ؿz5w%FGo9/Gh2bֆS]g3F!CVwJL\ƾ$pt\JוT|9|dHNoVwͨPq, L> o9:̱89S޽f!WF)[1_b%toUnjp%*KRcS< U3 l͝6 }éXk@В \߬ajb%?~Q4ж<6d5/qXLcImv9l^$7@&&hU{Zr(eDxDQ(a$+j1[͙u.dXsDلUz%}Ehza؝['|uZtxc4o70=VW8LuRҧ:?Gÿ<U9^nt34%]8SAvPMwOg ʐ ; ~h.dNH0G] ([3lER09TBD1oL).O~7C0ܾ~Ew6Goz?Xra[AO},z s˧;Dm3DŽ*U/:SU^A[v1__Yd%~_VaQ7:ᐭkx:8/3yҗ(-:GS׾on* Px@ﰜ+3ѫ.r6+SMG]5Udìr}aw;h"Ɍ!ԐHl%MmoN;Re5(%ZLU?SOFuJ\"/bmGb4?cNanﱫ:\Y nB%-rʐ,^B׵jv{ZOʹ>"d"q y?c:MEL߈ &J(uc^$(Dn xj}Q~1ϠD9ɾ,-0ˌmXʁ^ڶr.gLɠq pgܼ]O9K(h6s8w1˸SHI~Hq h˥=QOܭN8#SR+2D.G%2hZap{zǶo<wZ`+4!0j:_=UK˛eq  ^>HjCGd ؍#9],5˰f {f/4; .,@rz 4t>,Ht|࿐Q+#xH׫h/D-HŹ,J`TPzX/$ 6%ĂLҜ+w/C]/=OsfCKΛO7#lJZoň-Å Pc~&K ٌsDdst2/; ㎐q췺#۹g,;uqvl7Xd%.Oۭzb_1\2$joY'+&9& )ܤ[oC3oA&otpT v}_)?~D46 ǰeR;ZOB-'A]GtˡNe0BTabF&m;{)&LʹmHM'| sG;p k8VP…{{3uy|F=%vJܴi0yb! &1$j>oc/<2ych["1UenIcdl#՗!/X(ϼ_Ðw\PEpEeg(,*yѸr&gg<92JZ/t~4RChS'ē 9c[Ҏ#iS9$XWMR|mi5BY4\jXLUk@œ$~!@oSZJ0ˠtry59zn&/%ݧRK DuI|Y'60 0w1>dLY<)S8tD)i=JȥRya!%X}e1J8Γ *YcS^'N+?wJbݹUjW!~|E4xBD/X;,!pZ5 I.&(gx~X@Wzoe$"?)r)/sinnMoϺq6dyA͡ I.e*Z|EL٤ {zfZAF,Po"ʾZ`_fDïm''Iͤ 8je?iկ̞ =0=fo |(;(BזG~Eϑ]Yg9WL#_<7ƀϡ:Tȝ aa[?eXkYK '\> w1Ө_ Zr;K_c+Ѣ§83BX T'(sd tgOMT/i/**W`#/ #meܟ8~ԫgc(%dž]y:^F+ѹX/o7%uZ$L}ylmXzR`lHRgA`d +QP]7RKPAr*gm"MfkHo@ Xhs*4(}jV$Yʅ0+'G'̿jz565ukmM$4Ύe_x ЩZ PZI2MNIi6U:MZ6;W0 CUl*ZWsߖCNYF|ޗ&7sqaMF5֛ 1FjO W}G]?g{zt, Y;hMF3zDr3V:Oh=H.MxAI\<~j!~MoM04!3p><yz"qbN΃Nw?PG@61`?h Xê,jN#L ĭ)JnWۭf2JdU%W8m% 63FkW:C&ش!1 GpsI?rnϲmJ%A/ w U Ϲj5MTrϹ0n"I2] q2Tvd}x* dj:o:K4=Č+N=C>xK~'fX Sά7QurBL$ &!+yAL%ERJ)`'`{G̟CM{Ԉ'™O\6Da&8Bu;0Sh"NNQB /9D{EցK5sD VN]߅BE`r،>b}˷_8y`$<֋~]*`0`;vr=Vrq9a+^V= ]گڮ 6g3؜Uw BjReH%_}`_ Bzs{gCyazz.LxCjޫJ<Ϩu"68S-w~^g3" YV&ό!Ie|%>X|,;9}8]j~=UV6Nގ\9+1CІ<PFj%뙍{s wEmhCJqwe$!*o&Ta ӏԴcyl)phwt \I(j%K9W0jjǶl|cűbbjs8AEr'pܒxO˖ݎl\1Qhù0w]19YfҶL]y\Yɚ֕KxV6z*tXe0`tYޟWffB(njB[t->FܧhhkE )~@^ B G+ -;@} &Tp 3c{<7(~w2˄ED36Ht^Hg6)eeH^:uY߃ !O>:Mos6U&><⺥q{H^zû"qa8rVF AԶ&YO~bI7 IxQ.ô s6]M|zL[L?91@NEINJ?B}[)TxZGsDUFPJ!*'J,Biu~6lj-eوhV8*EId-fHJ":l!M' oInoep XHQ6kY$_p:ct|W:Ў#b9 cOy#Qw5JD~C>+Fg=7 IbaF}$O!S8g?Q/b RLQND{4dwc}tb[?$+@q'Qs .w*nCf?kš>Hx-$na8Ë8şC|4:nGXb-A;u0ȆSj=Q|S| ~Jh2s$0vD$m15r^ȱ'F%O 1-eL*a#"~+QH7/pSH/?݆=և?ˏ3өX,cH<'[^lN9aq_:0j5R|YmۏXk^hAw~,TEx/kEYu?-pC]8EM`؇!T2Naj*=:>4IaՆpVR1d7eߤI(jLo\Q|-qV!_k륩R! ci}n O 8ˀYFVpl hщ/N¾/mJhP%{8iZWO*l-4yоO|>=.g: 'B[%(pD$]1:Bυ3{D`Rf@K>SzD].%ĥ9cśH*-*q|1>>k@=\rYWPqY|IAꇼRArwTG7'_ jD3L5_9>MόL ?“#%MI1~?7=ؐu+ {8Z)]=sît8aK0wWZ'YR^[Wgۅ!DpD%9A` zcN2?Ǜ BS0cEcS[h$4&}yHLcΉ[ɝN t\?:k2vS&LTKv.kBi+sJk,|nBR8ĉlH/U$ΐ45Lb N{9.Eiqb;MF<_^P` 9yKàe$j1`ތ)QWjsd[үՍeNE!):Ƈƥ,Fh|=T64I+`9yJ/nWUlBkyK mG_I@B o&v I hrٳYoʓ("v:j4eW%"mH3bF5 *e<ۣԥ8pB3ÈӸf$X,[ m$*2UJ`)=)Yo^E3'LגzSxĦnwuR7jV0\0PѢc'X,t:~X=i?=)TI) 𔾒/N|Q1x4 Ie b'@% %GǸnx:Piv032֐i>?U:\)D+P{u~J&e7WkkZ']@t0rcnYnplW!8(r\ fqx@EDV L1aϊ8\ؕ!rOu b21I=+ 4-dgPK9 g#3nh𜻷DoRj[r9s{v-I"x9FF5 IUP艤֜9r\Re6,@Ȫ_\[aa!t*`\E0F xܾL,pP!Qc Qh{ђSzC>@?][O+4 xA;f n`խpgen%~/ZA-rsj<^.CD hЇ P-8?Ff!%  l)WF]NDQ5ZTObkBZac4sE0j&,쉻I\KL wu.{-,bԟSGAx)k*V#̹ReE6ឌ3`4m$BMH#7v6 !d`'kHGOGuQО ۴.ۼx帗s NrM\ޟt V|?Vxft&-OP(63/ОTLe8-b 6=e0E道 P۴q?4Hx ȉjoЩfnG]$L;'hn<5eFQ-8Sem)Vn!D}0#@%x8>GoZo,@9Z@8$v`3E"7::q"nDRy>7͢,7l":0|I Ƿצ2T l3َ4BDԺ`Vlq$~S,Dn vŸCH>k$9!ܴ.ʇ*mf0.E}F+(0o!-MʥNCOQV(V6휵C\ˤ){ďn .B$$ip]~I֫{#;1vQZᱦ7hB] i~#]vll*śoYEKYC8Kx#-9h[SARP-vpB-A~t_J8lBu,K@XMj0ySVo 9>=4w#(C,E_&:uƯҺ|/Il⴮c L .bp>vtQ9c=bS\c"UZ3a:z,y lv'BU&t;ágm+j)Aw|D \{$Sm2?n N5mHabPq~O_dm4к23L#HbevQ6񪴖=<^%>kh6zD^xaqÞEVp\㌰.2b>c%-o[DU._c+ >ȳV'xի!yt1T1Lz4׭f0 @+)1, D6bG(T+޹\ӑkzhV{`Υ0X7֖Siwr}SC}*bi ia %_i# *M *:8Pajx9`12lCٍ5Tez-8pvv$ҊEpߌ$uv!8b`{_^Xэi3ߛc0Х^M5'3kHuL$k $zڊ!zj_(@#aJ3tQrPrDGF wOîV g^fMꀼPYhr! ^sab˭=0=6;sudtj{]ɨ$u&F${S "%N@Pt4Bыn=)ZV䣚ٞ=5&E"ʫr| _}!gK_\݊:SE5;QM83bf*''EPy)(LM4} Dy Fp$ ۹t_1.V~n(tkoUe] Xp˫qׂo2ffP/+#7K HB2B`τdsbe;xP"< <؅9I@jZCt'_PxivZ.fbQ?hu$lY Za^ w\>z  &v7C= c,Ӟ4"茩Ҳ׷U>/0w̙J-oBPuYU+-=n߬rux0gLI\)y5ZV: 4p$uoXtJYPAM@>OĴZi[7POFYG}ܗw}"Vˡ[ԉ" oYDwYZA?,,Dspi5||9Y /+E@oSbqDLFrl1ֹN: uy 0kVM{LgI݅ν0IIdl{Bit˲ʔ5e)6ds[L7üWϹxuWO}rS-K6ٝRFKUP_|`g1"rJ IhH}ShdN@q e \- NObgJqƉp,wڃr\aqO]CPDB-~9&^+.ABÆF7o BvgfF~GQHPUnT l\b:5㴠(?"pIxK;ǒlRWw~iC,׍ޓ߶mq@sIڿO(ơ2r/$zNJ&U0ILy*&c5Xq!嬊V:qK3c&],?@ H24+DdHOC_R JKߤv39f'[v6'L:^ ?e έ%"g%X'pٷ`v%EcGF=qOc7:&Q.4?7h_42'3|l.)<%|ʂ ^y 2!uEO7NVF:T9oO Wsi[``>me2bHAJ,S;Ƒ焏JoCz4~K}RYѹ:,U lp ޔ9ш+ 0U˳Bl\ 4\NLt$ܿ 㟎bXCc3 \ sĕ"s r k EhwnbC^C{Fd\f8E~kJr}&ax>;I(q_FS3ϗ~Im{6Rkv%cyz<#dh6̔˛XE~A"c͂!4b~ G[a"'u(9+42f5CW{AsP)#'w 7_ZQ7D_ˬl0xv;֠M<t5yb@&U)\}p){nIUgL'pahBMzPȵvޒRY+iB#FGq*홸;[2m)${FE(lR}S%iB]BdShzjS&dq~ٓv/dt5Y@+xh q>̓~ҿ{Sѣjb _ e9ov)kDF9Ȉ:+c w΍T V|`^f LU6tnំo6 [IN{b %ߕg/ yV<ufn:8\ۤj%.w'(crlc( gKB-W!u̝{Tנ |ƿ%+Z(:٣OOHz(j; Ꮊܩ4AdߧopT~cƹgHy: _fcH['#a^Om`Hlfעx5(K܏5%׾"6{Qt$nўLW]]M4v:P6_wthQFV5s3xy~ ^NIpMͪdhFn M%10Mܟɯ}hBL%q1W6J-ذu#gnFO<ɖd>rLZPy4H ;-Xg/ -]".rx)Y^0@ IOc)pȒra<34)MLӫ^}eT9 96pR;^4c o}릀;"΄c:',Enݣ9RC]wK6*\-#t #SM)% :2-}Ţ4jafS`D1 Tl1lebP{8tNe@LbF rLԊT\6MQhZԇhe"maB|u݈3k?[Ԛ!ƽlt2ZqQaUCf9k\,1B4|&HHfTZ.հfoN#ͬWfY9DrH+Fi5Jo/}(j͙^eD`V5t؆jv I_ EE[k7';Jm m b(e!p&2=B1s~ ;ߌXWʇ:cWxWɂ̷OD!I$ڎVwtJiOJ37#8r̞ubK"I=hy/c,'UԷ~/EemT}tFG<ϠI "X>;VThJttVt%" t]Չ4Uj7Fᝤ>M-g<)aT1qޭ[yR|3e)S C;iJ>D2 Z .0H1 "AMNHϡt&g YoSCY} ikj85Kyz|\:LtasY\QK^&(CC4R7@8ma$6%#EEEe?Wc'0'AC44w֮T1a@MD T`8O^-{诓Q ~/wHߍ|f1phjOR?F. .$5e?L @0g2!4f'p#A @ -@-g"3i$֛El)unnB^(ed5Q69'ΐ2 4fTbqqA{ qY.Q`#~'cWcrd}"o!/+!^Zp(1rdR4?:-۲9>!q ة`ۤ^,EXUvݲR R3%fv"!]8e`/4]{' u!Iz*= fާe6Hf\7xFN2e|)`rf~4/=@]QU>h]Ѽ"\#攈,~SXUm:o71j"5amh`{ٷFȎZj.7͙_! ~⧴zWiZy1$ p2n~U1C0΄I+߫ #oNE 8^]#tR qB5V׎OxMzmaDNEuRl4+2Jvwte.W (b/6Pq'+X| I,8r+ vG}dH^y.L7PyQztH3;R$O̖n̿쨼)[|ZUM_ʮ?N|{D]'wtd['p;%=En@8?-K>/Yxq"bٳ'>-i{!A,F`Nqa,PV30GG7]0낅KAc}0Dx9 F tEhǹI+K vE*gחװgI#`还gj4K% t:5|vgzr&N+?+K6N^P14W#^Hzf$)C9@=/aqE BeΆZַX)p~h)Q:Yf"2USlE{ J2U" VWJ'+Kjr R<@@,t "s2A 6 ##ⰳwjG` Nc_J~`Kd>}cnh}L4i˄Xa#W6@YLQ $1~:ډBI /;Tf#= 7ϡKX^ K9/>@wWƄFgTlPӲ د©)lL$I[.ZȨЕ..# hLCRmXN,ێr"#0A4,lMbiJ@vƥⱠm)]9QͲ euKV˰sF?BAap|Aq|-t냝0eҞAC5?6֬4e{){)N"9ܣb.Iѩ=ת|Wq#8-/l߆>Bl0rfiqêu*گ{S}-v N 4. KwmN'Re=Yݶdmʫ!՚+3).-@i6i,23۞ k߾|M9'm-1.$lW1J},o+Cw|\ Ϫ.@VNBDtEN%7O5.RGl*ƋCTx LpYlEIK\D }!RWi7m3``Xha]Ƌ6kQ} yDЖwmXoJ+0nr~%^R9%sA&V*D΍ !?{8˱p\0 *{\Mp1E H_)w~Ĺq^Ttu ' La@k0MP0bi(22xb_3܀i)7D^$_1|N&kO3H͖Vl}-4i`Gh_+C~꽳urI1\jrcESJ#VngAX~Ir{ӗ#Bi|ATC?jϤl7yʨSO#2 `)ycAKl ߽Ӑ/ּ^lpo2uW `⸮jk#QL"`[Hu=U.h1VZ҄#tV$Y\\~A mjT;Q#<#KG5&O00NXEVS:ة^@re_VobtZįqb>k=k$T)GB&⨙[>(,C KQn̈́h*mR^|Uqw4vG=nǟzA9PVhbCWX`"^ k0fxmĜ@~²SДnR솣tZk'!Z^J5JsZKX|&v%ٻ LTC/jcU{5Ic7>ѳݺi*$u79z)+||_DJ'4=N#L2~7+|PD~7m &) (]X\B2Q(YnP_j*rB>/vVcF:h$XG' xGq߬B/f5/DŽaBui"3LDC^t~hs}yoמ,IcQx8bta7 VZnHJ\3o\|x싦[Xӊjm#?\bs2;.T5gs9w~z$]F1,ZuSGKVUL䌋Ko7$r_{Z0f̗Հ 7b.lqÈQ.vt5!WeVh?'m@ U$xp˘h>hPZz(E,~ JY RbYN4Ngccu1fw)]0Zg.=&gsOX]Clͧ,}_ޜ0}c+ե\"qЯĘ} U/N(l2/&@ٱ^ã/6sFgl RUddv"`cx^EV\.Z\ݾ vxD *Jq˳9 9.t|mu,>9=^!Y'y-u}Q],upm',1n`s0]Z'*M_&x=[X'7>09"mM%6 Z\nȼ(>6t3Rna.@ n. &Y&3 LȪܝ:H 2@N7ԕ vsCb~"'.%?GFݽ!ry"ɂ,ڗ$a#5dy^?@NNZO n}O$=j9Hǩ'DellQчLkǰ rFtagNݡՒ*6` [*agLD,O5 0TԖ_"U}@ i& ؍a=HfSGsOHsŽAPF:E>O{յOy2M]rdY&һ@ `B*?@1f3 >u=e&\@U e:օU8}kPxO`]8<0 14Ѩl1`K&H[-כG`ؼE8TMۑ⒢>heXLB=IW6<t+n\+$9suCȅq/it)QMitYYFy{C|%Ilqԍ+G/ ]NQnB9; Jwn7G/$YY<3h{!dD!8حu-Itaaa