ghostscript-9.52-150000.197.1<>,f p9|#vvMkB/Q"fe.*r@-3P8@MLf]dv|_2mL(T?(Dd  SX\lp  gww w w "\w w Hw$wwww ho(8 =9=:=>?@BF!G<wHwIwXl YΔ Z[\w]w^9bcd)e.f1l3uHwv$@w$wxwy&1z'''''''(@Cghostscript9.52150000.197.1The Ghostscript interpreter for PostScript and PDFGhostscript is a package of software that provides: An interpreter for the PostScript language, with the ability to convert PostScript language files to many raster formats, view them on displays, and print them on printers that don't have PostScript language capability built in. An interpreter for Portable Document Format (PDF) files, with the same abilities. The ability to convert PostScript language files to PDF (with some limitations) and vice versa. A set of C procedures (the Ghostscript library) that implement the graphics and filtering (data compression / decompression / conversion) capabilities that appear as primitive operations in the PostScript language and in PDF. For information how to use Ghostscript see /usr/share/ghostscript/9.52/doc/Use.htmf ibs-power9-178>[SUSE Linux Enterprise 15SUSE LLC AGPL-3.0-onlyhttps://www.suse.com/System/Librarieshttps://www.ghostscript.com/linuxppc64le/sbin/ldconfig /usr/sbin/update-alternatives \ --install /usr/bin/gs gs /usr/bin/gs.bin 15if test $1 -eq 0 ; then /usr/sbin/update-alternatives \ --remove gs /usr/bin/gs.bin fi^``a^^w 6E !8 7np #E i>dtG G,xG&xwZas8C6J.(6Q"1F|.I, ;8 c: 9:0 @:K;4:_sss[ ! ut R S y a >=  04#0  Z \ & <=<  a' ID Vcs D \ i Q u m[) R 5 5& @ [ J 0W   . !-I_ / >> . /1P - CXI  ݊ v %mM 0  r : O pF ) K  *  ITrM1<Mp. I  9 I Zhm s,6 !E  T :^E6OaXZA.$A&+ A_<yBvpcz-^/$/ )m2lS0d9A!97KH V"Cb$<,} O ]p JLt WWE G 00Ѣ{*6M`O VbX  D cbJ)ycX W 33 `4\ 2(44(  dv]dt[[u[t[[t[l||+, N J^Hd+ G I  R\Y]c P J{/ZW1-.;-"W"!\0CzuVQjp8WX=oo[GKn[Iyc f b;(*pp ] u6   2XX  :AAAA큤A큤AAAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤fffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff ff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff f f f f f f f f f f f f f f f f f f f f f f f f f f f f ffffffffffffffff fffffffffff f f f f f f f f f ffffffffff f ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff f f f ffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffff61d1edb71afb82fae807e88dff81727ab8e9fb4f6733891222565d55e80cc6362134a13d558b4e27f2079f93c246b20c4afeee9e080b525166b286bcb917d904541bd4678421025801d2c2b4c73f5517b252a4cdbcc4ca09b6da278721b7435073b93bb5880989dc8163c5a988e2cf8973b0634ecb2b6f0998382e27558daf509c56bdf6d8ce23909e947e39385e6bfd7fc8ec7c5e98ff2f0ddb12896357a9400cd91333efe62fe105c834145cb3e1d301d54022f6f3546e69e11c51f55bbbc317f2c028789d01e46ff751d2f1046570b8915f7d2901fd1a3a010532ddfa4e5e7597509e1fa96d1ee307cd067aef40f820ffabacdf11e6e1e14a58b7a1f79f6e577bec95c32036730167a13d6a5cd9d1c97ff46709de39ed08d6e46c03a6afdda2f5b4cb9230b88a664a077e817b6832c01b1c4f72a3877dee6253d9b840b853fae867267482717a6ae8e5a429dabd6ae8496dc8e83bcdf52d6040df4c31b6f2c153d8fbc178ea6e576ddca45edcc23ed933bf9dc715fdd074148041107d5de8af4ae09119119350e7704749ff0ce8a9fbcabb6f41a747534854130fbdc307643c72b0295a853070356bf25c297da945df3cd16c235c0f37fd37516a4659f321da21938d181db66ad8755c53f2964b9f60291bc2a21a24eabc05bdf3c6aa7348e436c093aa5d4da2aaa0a471e34ea1dc1d31bb6dad3a249b5130229802d6dd7493144a4e033d9bf737ada3716aa3022a4ba8374fa72b3431a40635e8dd8eb83da51c63938dce645e3af81868a5cfebdff1dad6f8e6f48c748923ed82fcb189ce1db131fe92b5106fcbe9bf1539cea9af6595085dbbabffc30ec408222d89b63b224b3536d3abfe57f42b95d5d0ef23170505e93fcfff8dc8240ba246e18d302da3d0653159e64a9ed338947366605bcbb9de751571203d62aba385d50bb46e0ff41ae340a9faad07c77fd89ce3abda0beeb498f253398edf4d315f9277828f62bf5bc07dea0984b18293d32f4545448e3b6da8059b11066660b17453d42498921d7ec533b1d29c587b1485ee5f58d60599cc4a25afa7db018d4ba00679caa5c600d9eb918871124f72c14404158d08db63c24c38a9f426fbc0a556b4d7febab21a280c011c113d1741aed0b5e14b8a14c5ef6c38e599dc0248a452367c99ef938cf08259d149ff3a37f65cf3cf8ce17679c68488686fa332127326168ffaf86f7dacf19b8b29b63aeed8e0526b824d343a48993c3fbe80128dbfd65ac5fb03b73b280f0d00c12002d4194da2c92d0616064ad3415a66552bf55055bef50bb3e026bb109799a69308dfaf3c226f95c0703e001e9274c51cfb26dc3f63339ba50757c8ff33c9c0cfc3ef00e650a1cc910d7ee479a8bc509f6c9209a7c2a11399d69ffb94bc857e4aa71d273e24661887adf7bef808ec1df19b186f6128f5ac80274a5689ce42385ebfcfd9b7bf8f54c38cbf7efaa76ee4d4d397bcd6a8102d197a1c92ad1954326a39bffa812a5ce04e9f26a94051b0c3674a59d41e2b3ea897835291362bf951f4f319f7de0080c818051700e6220e4c63b91250d63f7fc13685a194686e4c7bca939ae09d94999d358523b6b928f547f7e8703342bc4e4d84fa7ee32f7073696f03272db9880127283165e73def54393643ad3f17c91763112808bcc0e639baaaf59971d70cf72ecec2e34d0a9df21b6f65f95dc79be59455a3a639f2f68073eacbc848b2f8fe1f7102d61a0b40ccee3aa4b37fbf2236757a7c63d7651287476d0fdcdf439c795c2c2b24d92f77b06c2935a6eeccfc74b9b51c232b2359bd707fc6626d0d7949ed58e45255be4ea6b211d1c1d8e4187e43f40c6f852249f975287b3efd43a5883875e47fa9f3125e2f1b18b5c09517ac30ecf2871fd298ccbd4b70aabfb87f4841750aa43e806533557c41f800b89b6f287ed4b28efdcf4a52de79fe4fcce9562c9a1a2b6e1970d8513a5ccd596e74658f455ad8662f554bfd0634dc8b2738fb3073f7f829c04450c93c9843e684353b5428b021128abe1cb24bf12e3935a580877981ca23bf7d4c46e1d1b77a7b916408e5c1a377146eb2b9072e77c04db7fa70cc92da9da63179eb942b3b31d75158ad96298007880f20111f9de90a99040e27942c2b30fafa3acaf52818894ce4e9bc4e6ca6fa6cfa6cea8632686ba0e3701d8dd690462ca83e69f39445a6d3773a6f5b7224378bac99f8e5220d73dddc80944e14eba2601103f47703b992960a90ebe2a9979bfd350cfe21df557bbd949f690b8267e435dedbfe63183405eae61c7f889f29f541e3a43bf792d67de70a11d05b126dbe4eeee257f90e71715c1336393006108967d38adac6e8313e37036a414d96ac7e965dac2cc4951d15aeef1c8688d3fb2869534d4069cf7d2a0d45fecbd383c24d4bfb920824d622eb0fa4ec0f089ff28aeac7eb59a052d3ca90b512c9edd3d64b7783275627545b6dc6a5172918c63134a8a21122d4cbf0d73cfa7a7633d4dd1cca1772254bcb961c61b4d52fe504015d5e412747328eb979f444c80f8f3baacdcaa00a7cb0c80b2f45b257f3d7235ac3df312b6953052e458d1057d7a27d9984466daa07b64eab572e18d7357bbe019175a9b93d6232ea8679064250f2847c97dff3f2ff449e3cf422c9430327f64165b7513e593bdd264d52840d5352cea9ba4a5a60ab0e6edafd00066e914afcbe5e859c1f8ac8561d67d2d5bf74a123667f9678ae4e60904c6e25b7ff2207baae0d3d2cefcc36e840a85808b0dd60a8df9e833410ad75b080fd13b8dbeaaa7b83737e42e7478ed20197ebbd7b7275b66d6dc3449a74826077c14932d53d1e8c6be9028e30e3a4ec3ed7bc2ddf662fcb60d292476367d501d843a5853c3944fbb2c1a320a2fc94a1eaf912e6152b48c11aa4c8ae76fde5870ce6a1ade7f4c9b6eafb9ab03132faa325c3600d058367fac70a9b6b67831e161026cbfc320524069c2720aab81125d2d6324666f9aee1627b63a0add917680ecb80906129af3376993ac7acc3b0da8a8dc60ce7b2caf88fa1f73a5aaf4db89b533e03812be539d0979aac1e09657c531e59175ff2b1ada0656bf1fccc959966c79512ff7d2a1edf77effde102ebf9c69f62ca52b7954220414859c10055a18e1bebcf99c9c4a53c30ad5d913bdb0bbec952393f5af59fc759cdfff1259ae0788754483948c008ada2e20d2c0e351bd4480f6b8718e1e2733bf53aeaf6a01cbe998b974382b3f844378dd3c2eba2932639b98adcad726d03fbb34ec4c42b4936fa6cc4044ab976e0f018aabc20bfe6b814a4718f480fd1c8f5357f30c6e527ed3db206ecaf6267b79204f25d158617452671555eb2897c356c33a19bd25763291cbaae064bb9a7caca15b9477b004a3aa5e3dd8e180bb0b3cca24b4d9caba5e9e1acb51f015694111f38190165455456a5c0de80cc71dc62e10a5618249074235c2ce5087e768b3ef3ce599a95f59ad0e08f7b7c64ba98d7f9d6a44eed32b6f201f32753cf57be08f6e03fb8c7d01b4de16d16568a0363baaf07ed5eab707fa465c2fcd0a2fc38918b492aa05623925bead77a7a1738d8833bc7904543b0b9073e12e5ad52350b02729091d7b3458ddac484ae09cd39df8e5b63c6e98cafdc405c7edcbe21d45db4df6a5451ade2f7afc3e2d25179244e11e9451a66f3be4ca453b37c5af62655ca9a3eef14a2de9b77fca27d06d870fbcfe77a744903a6389117803d257a50071c3e61b815da44646d1ebe1d5a82cb12d4d03338bb20165dced195a8c20caa30d553560c4509c053c340bfdc1b55f035c560720037d4b605378acc42a09b5125c94c9abde96aef63b304ff7bb3f407f17aafd03db6a83e56f007bfec596437d2440afeccb6f5c0c6b51b6c2622163a7bbf1b95fac4ba1f187c63f69519eb6889e58befaac7ca172c356e54ca78117fe3b917b2f499b6acc96a4d5e6086fa49bea5492cfe0086967d226175ee3c245eae11ed28b52f02e055200e78696304b7adf0863c09c0bf348a9a9edacccd6f20a2666b7c29f3e6f5cb7ad4d82d32df4d618ec2eb1b5b2f4adce2e24115bae9b8fb372a9999f0c14885026934c239350a84fa5c1d67bf476a368fb824bdbe7b1d55462035af1aef546960a6ed0dafe389c42cb136236164da0174dfe99e6f7bed1e07da1f65933c71a7bdf89755c7fd3f94a68ab40f3e3f4e1bf423096a19419985a1b1333f13eb8f432442512f582813a81a7eff6da168bad2b4155c440e884c3db013b7703cac7e64a41840a2ada1ff6721549cb49a6d7a2b9b6de7c66e896b5261f29f08f2ef55dbd34adf7b7fcc3d5dde146a79c62514b4e17c9d06cbce6666beb98adef9af726ec452c2ad98b1fbd6db200501445cdf5af4f829cb2f06e3273f751d5ea4e938227a43aaabd0daf079a67f5a90b4b5de5fbc416ef820a017cd9a8a384b48fb155a0535c355ac23636376f73590f3a154b1e6cb0bf5e0d4a0733322935a3763abfe6296ebc89d0df77b516f843260f8509a55a7f33d064aa5519109d37f51b669f590313fc2a892a202abe76a402984a6ef190fc1a8799911db676afb9a75842cdd56913aa589094bc97098ac195c3561d3dccec9ddc3b50a9bff852c93fd84e2f857af03ee2ca367b05c0538a3bc570a107ea27c5da2faf0a52fe4da991e9676943ca7b61d96e24c50a21a24208e28f4f83ffafc51249f84c26d8e81cd3fbbd79a38f34aa5bc5bdc3774321ae01648104eefc93ef3498c4fcfe9ae8f2c82060529733e46902a0761966a329275020677b3dcbd727b22810d292916644dfbecc61d007ebf2c5a9f7928792b4dd38c7624b197302855c610a5cef41b11d5dc27440e77d9a6d8e2fe4dba69cd6013ed0891cd5ad6d5b0047b4628274c226edc472394ef9fbecbc2edd8efd3f6955d5c194a86f9f4809900d3d39fb7286f13a1346c1506ab2f7b278c7d723e32fad657055a1a73e060160949b2c32018c94e2d3560ed6b7fecf7b405b139dd5602d5805607081eeb3d6ee2319e952e8c89dca44492b035978846508c074e5105369ff57d9be61bb5fbb45e7230e6eadb0a110a97aa1635309fc0a913f75e5a50120ed7cfe49004ba11ad60c2f81ffff21d7574109a5edb5509ca5e1bc47c0c0c48b19cd2f35c83346b9bdcc1dbd77d72094c3acb63c2a9ec9ab9fca1bb251d42e101979a0bc9c6be70953a4fb48c08125b9bd5796ae28e94db895cc4be95b8f616944e888715094c26df1022793ba36fa0bc8c85f24afe24a54f4335bec7949427c3c553839905f70ae472002a450e81d0191341c468d981ebbfbabb13f3c30cb00105360968d79687a65c662b00ffa681ad07a22a52e24a09cde6e8702f0130e9780d32da47e1076233f42f7372437f1664f9ff38422b178ae6c70367f328674db5f201ffa7bab006640318e8107bd3f5bddd5a4782b37c595a6e4a91dcaa276da943c2c94d6b864fdac00655039dbe55fb930d0b084e17ee9653be1d4b9aa516640777886d060d95672f5540fbe516921d8df391e4008ffe471575e6ae325b1ec4caaabbad15d664de0aac9de15deb960b7a2e499b4a63eb33df35e63f96ab4b6a5cfa48d4ab4d338c749da5a7a408c1663debc5651c215006d18c14a46709abe0d58600175a4e1b647485f2e605cea4ff0e972251290088db09b2f0e9d437137f438899e74080e4c4e33d63382b3530fbd33f95eea6131cf544a78d41eeae45dfd4dd3d80909617d1d04c3d659dd96eaa78f134cdeead81df2a09af2d043164954e43edfcaaa43552d2aafcffc9806046b8e861269b44802eab6da3e7f5eacbc9b80c2f9096b2ed94a9755285707f0c5239771793698146363836fc26f6ffc55726932bd3f47a03d39f6e20cad2c8d84bd1c0a7ba72bf1b3234bcb14a1fbb100077690941547738958c6758b85371e11655e561357a4a1d85e18966d772b92ee213d0e2be252073f3e486b35aa0fd4dc82058c6958f3fef94a40b8308308059b22edcae6f33e1da8ba48d43e793f7df819fd715d9e40f2c6e4818a0cf271cafae78a401b5193fefc349c6166d29a1f3833c25a4cd01c7ef34966f24e332d625b43b3ed32619db0dfaa1636c1dc97cbc5a9fa030946e746db7176727fcea0297ad85dcca85a6275777d0d8f7ad8b26166a31869d3f05858033af9ce5f950aa76fbc7b5b1b0d84d82e6337e0ea4bc3fb94dd6ab6ae51f4d2dffa5560a8e8942fc95a2749269afc07fa63100b4c3731b6345e34a0b5f07e7f7eb9813a96d756bd494ee5faad71d5da1fac88e55cc0c464b610fec2da9803685ec9bca4d1be1b91ba64c909efddebfcdfdedb397555814afac92a6d970886742df475bae39bf3c612d6d586dc942c1376c65ddc95b328c848a946a71e65ae26135a08efcf617e3df925bbf8f994690078b32f6025add6be32bf481838fe87c932aae898dca5a611b285dd8769282d17dca5d6263dec33795ae760121ea0872f1907a13b578b7033abe0e628cae3a09ac4a1d5667290289e936573bcef88a47489fd53236f4189d95e712012d2750f69990371163a036acbc05dacc1b9763e4ccd5a075a86f547e75a96093339ea10427072542fe744b60dccf8feae19756b4011ddf1263cb8fb14bb7804b4f55b6a49578508243311fe265886577feb58db4be8a32419ca14821ae996f487ca0df80ded68409a5e739dabc6f541f773c801bc2a7c12b2b095598f008c8fe4915c1eb45774cd3978b3d313f0996624f70da4645167a278b3f71796a8d58963883d2c0837bf6e413b599b7f9721876741f90e28f0fd6e674efe34de91743889f07ce4eed8f21762ba53ff8b521a0fbae9885931ca483fe612a0f371ef1c0318a5f743509646b13d5d532e995c90e81c6b90b42101a726a81df413a8958183a7ffb5e1081b99075b008cb5bd89fd58041e86fdf6830a50a543cc2ae4800fb9f1a0c2ee95a5a858a476b1d5b240bd88cdc2c39a78ba36dbbcb507813bdbef47e9ecd5b3d675f58fd12680d40ee301fc40a44d12da58af8b31d6a72a3f4de11cdcc373c941c10885b6f5000700318783139146e1a69d560a36d00e61b1e95d224eb370b6ad06c17c89d334ad1d22233c13e9348ee809de419ec26056a9a490592a6a014b61b8e778da66f27f837558e4de8b40081c821909afd88cf1b9cf4cef3a4e8d3f2519befe65a3e5e252a694f46064c8ccf85e4f1a3b6552c87bd1b9a7bc1141455dd83628eaf56d9f3f3d445a0f7bab55f5408cadd7f83ba1a23eaf025561a5a8b82f9ed16f7113b008c5e8facc1d811e52956a0c27d4a4b6de7bbcb904587b138fb1af351d67361e7be5c2347df1f91d80d1d3791683017cbb67434405cab79a75f65d929820de47709def818e3554014b9949567f1042c04bb39e9707a68b0068f230b87ab75d5b94e3190fcdce980bf7aa4a3f719e2a2a1c57564b5409224f5dc4a65b57a98c62421e24f96cd7f578a557b6c4a6461603e805564f989ddc7a14dc27dea2f79cb71196f9a769d364772dc5fa834b4bf83c87406329162ed9b58b0b929da8a3a45673d9e3fefeb2c9507877b021671ed24c3ab961f6a666ba8cdf6bb864be230b4f2c5f8b86d728c014282afc2bfeb1e9f8d744518528514fcd79fa2c3717bc842d8846674d90d317c2567565ce03f803cda9e6e22876a6dfe6b23d7c4cbb06263b6d9af1c6fd695c87ac621f28eba30410a9ea065c17bf75113515995c9aa02e72caace50a071bb77ced7ec9481ca04ddc7c828857a1fc7d7daf76ec060b0a612fd59478c8cc3ad132c4037e1f7c458ca72dd8cdfbe88ea9804c86a5a4385641b919dc7497d97aa2a742951b18acfa6bebb4651c5c5ea059a6cd3e52696b078092150ad23c43598ea691b5eaedd017e785f428edfd391ef33ef315d2f83774c11a1e511be244387490c54eea9ac80f31f83b4c285a8ea129695bf162aaada682df35b3002f4a620dcc3907ac49247b664ae702c203a82ea124e9b96590f821db6fbf8754e2c4547a9dba0e82f94739e955146c44dc5a91bfc77bfb9e801b862202ada11ae0b2204618b7b58770e91abeb89a85daf7031e93c883e76b9168a226dfd585bf5506e9e1956772163f15cb082f268fb79ed2a9736105c13d1f1ec55e814f9c426130c588817b1c356fbb6be4f2c421315c0dc7061b6c6f01a8792d3b2421637186b5e1ffbb88c928592f9b6f2c4bf1c81d9be92aaacc73fcd3d882e6f9126d39c53e8b989a5b8a324a9e3f2c1988f68daa2bc7e6ddb1675197ba84f4f8811c860f10001e509fdbfb6b89accbad07529d048d9d2f2bc861ec54179e5459ed6e7f02a480db55658ad9392079930013e39d47d83e3378e0894574196e8900bb83523a3755fc64fb1fb28eb0306537f49fab977946f9263c3cf799d93e63e6de384080516cf624180ab4eb8e777c6a6e08f9dec9d166cf5f5248b026bba11a0f937b7dc4b6998d8b312a17a7b7039e7d891149f7054ec649605cba58b06ed1a4a569993ac6c0d7bf58c96ebe4123d06b2a89bd60c6bca8d39aa265bba92d70d8c69d328a8ab3b45634ec11a7bfd018e6f3620a2d4a8845ce37c2625a4c7adecc8c8740a914870482dac0b718849dc4e4b603f56a8f3d662f41d3f254a8e75da6f81d1b5da037a50142e986504907220daaf43624eb0b6e51d247cdb866c92aaf6288149108f5a0845d6e7df344f40e4f8fab917521b9a0970040ce3fccdf780d7bd6cb01eecf6ae55a1847a4eb347afdc1749c1f4fc4fbc3d4381f74b4fa8f2305a452f9b8bf91105c0673a922144be15fb87786a01ae6b0096fa65e73db6e14957629c96db003f60a8cf6130398f0d14f150e1212035294e38454dd4999086ef35ae55d2e93718e54625aadd4b095218ce791fb8ba8d5718abacdd26eeac248431154e3b089069e72671bb282cc698185949aee0a566e2ce65c679ba55c126f5ce062ef627e91aa2b0da633f27a571e2fbead52496de8bee9d226a44fb6b62b57fe3ae67666862570480a631fed49639758966038a16df391727ab57bfd88747a5cc20d58ac0d890b10d2e884b8c4276fd2aaac5d39fb41fcd3fb2b74bfd38abbea04d70cfa52fa7c2b2098d5d0ef9f0a49ec0ec33868bed513c387998a9a2798046a857fed70bc9a50a203df50db413e750bd315a4521f9c7689635043b55e3651502f856a0cc0d939ce6c2d8e74bbd3db8f54925b5828617888d39282b79a907bfaa540183d2b0177d98cbc7afe5991c5226cc284c0eba1525b94e5aef164e4ccc59ad2add36eaa5d2a06fe1f0c22edb1040ea7beffc704a6047954bdcf12522ffb9d1de627f4a9814366f3b9267c080ba51e12123b3cb2bf15ba1742f387ff53bc586d87d0387b59d682322b9607e6e9e52b6584275e8fd9a2ffa018fc16166e010b1d8c15f4f31fc463f7ec8be09c645ad7410bfce8b51eb99d4a028bba2bdb22de9273f1c620685bba844c552344bb405038a609fb81043c4f1cc05eaf2815d86a5451d3fc2af945dfba5f59f3b0c1c5eb788a9c688835c88a9fb28c57b547af8ba570b4b5dcece2093759abde7174ce641781b4bf8ffba70dc7a55ceb5245d98d97e65a7a515035782c5b7b58ad871c0e25b7e834bcc860f8963053a119e61bf4a2500e486381f6aea5ad081c1ec8f28e047cd18c8bd7c31a25134f7818bb8743c8cc8bbf06c5176f9b9bf3be3bd1556d73c3402c2a3208959b0ba2da29047c828af98adbdfe861778f6f66268585cbd8b55d9b4c336c7f234cd0dc312fa1f7006a79ff0dd9ff100d4fa9b13e8159de4aa6a87097bfc84c5b8b9fec2cb30a822fab0f62c4f96b9a9ba065d5189b7cc51aaf30dc6d79e89225adb89429d8c97db7522f89bebc039d83a83cd2ff1aad88d70a9ee130fa601a0445ffa661fe2fd3dc988fb1f6874265b7708760bc73255974de7d53edd82e0402106926dd06bd4396276c9868e37f1aaf7303ea0b4f9ecec6ccdeb58531b783e80d3bb2e571b8899e9aa6caecae5fa23844a9668ab170554e2a8ed50e03b499f69ae24b9e0c1cb61f64cc5a240317fd2397af69342b408e95553f7cfeba7ea97cbbc51f22f153107ffadf08d847caae92c2856b25391bd5656fea80c31b0ffb9e1e40914edf67e67780779d6332801019c16511ce5576c9289642a55ddb1c2bffcd457e4db9e04ae4c7eeaef18cdcdd13e47e9e4bf80a15d685af734879535f67fcfcd2884cfc56430ebe50cef00129f616f0da30b23aa43926dfd044310243f4d464798c2f8130509a4936dd03c3408a77c3c4de011b160769c22abdf97710ff5fce1ae1cdd7813a292ed7772c4c34ca3ac541d12ba2f7951e9ee771ee63a7d7f2309716a663ea5470510ac30a1df84a9f11929dfdbfe5dc6e9bae41dfc6ae2c1cf7b667f5b69b897c8f14eb91da493937673ad552351e38d552d2b7571266b51b5a3e47eb279f6775df48740ce80d3440c126c1615ac00d22b393a97df98bd0f5fa295f986b21bb81c60ce18b3820ebe766d87fc22322e86586dc991fa469eccd39388c4acb71598697b842f53a98a86f0a11bd78b0e821fd39d7ce8a94ed930a85cadd10c6270dcb046334c2c9aafba1f5bb11bb4c19c067e77bd88ee4ccc96e6c7edc3a82874b5dd74f9d87896c4179c4c85fa69df4e79456770b63ec76eef768a991b5a62602c7ebc3a49c51ad054cf0a00d7068a17ba9cfd8dd51b069d893cec683683a0add94eebb531edcd89f79d1e661e940afce75c10f66af74066c602e13ee7abc527c0694007bf78b8632192088d597e58c8121160707048ec7691fca0a61e61bef8cd2995cbc78f030a83830980881c579b684c90a047d24d54cdf8212c1d33937604ffef2e815f5381b1075726bc4d47e8f42ea138fd204fcade407f2917594c4095e6c95edbf2002cb865505979f806902daafce9c0527fa405f3fe69451852f0283f7c6069ecec76626440bc1d4f02179c932b9735483f4ee35c04b0401bfbc9db509ea9ca380426a32fdfdd4c8ec06cd1677e49e7f6aad47d491f97dd206b046fb70ff32894d0798f9e997a13816489a51c29a645ed845e1fa05ac15d5600ef6dff14501f9341be672a02924a686e77e18a5585b414adf50d2f2d73c739d7b409485ad94bee0f723e559c98cdcfb4f72386433e4791f40ddf43017261ccdb8c991fb8a33e77b5862be1fdea8eeb8dcc605936b4bedc5a8ba4cbfc834c8f9ae4b704c921f2fb5d400cf93b26a4aca90868f9cb28fa24b67d9acd713aff3b33264370d6afd0beed1e4891b3a31f6e3fa353f366c581adc9266178ad5868af9b1c2b0a8fda5b7e65a6ff9c6b7790301c000f4ffc3b1ce7b5511cf9686983385b5a8e2ee7564e204f40b77939ed2cc23ad632133ccdd9e6c641bc8f8df4a98871088c4e4eb66fdb4b96c9dc048eea3990962a4c5dd9565fcdfd30497747b6004940bb8d71fa2e0b0669eb9237124b0772da80467db395b6e01e8b515e9938412028fff3d5778421d4528020a287b8a25d4044b8163ed63cb369d8a70890445564436a94b7da63a6b3152931ba95ed112d867c91700888a62dca22d854e262e352cf5c59f076c9e76b664ada68c8bd16d89eb52cae57cdcdec8dd0311b41cae8463c10bd9d7fedde3c457d4558513dacad0c84bfebd5afd21ed5eb0feb54ef10edd2d7c9cd8eea7f31ff365fb8f95317c2e40c6c315522388c8325c474112d289afb00f8d1a262ee4c815119bc18bbcc9c2f622be555b5205686209b6d6387d7124eee97086c5a8271974f7d77f003aa540df6e69e78081ff83a2fb5f15dcb2c02960be2bb8837a344f1091df80488e44b20dea1b2da22d479a70a529e2530d46125b743acce6c1d642846e50473c9ca3e5f4e1a7ace10f298461dcf139dcd960d6feac47b82732e8fe1dbdc9ef30e423f6dcb03738a21df774b0adb0d8a990acf74c36752490aeeae67f437407691810a2d0402c1b1fe5d8016340260c2cdd64b56fe7ab485f0ca784417160b32c30e9c6125aa1890e3941889853bb13a09179c22f97277272f19847666775bf11fafae2a397ba86f6b248965558646deebcd30f37e5bbd2fcf473ea094defd7999d2a47bee91e9d92a0beb3b6600a713e7382ca202db0c1052259fe967babcba270d23ab8edeb2a82a14132bd7d4b4a4bb79d0f9f0d4246e1448485554a8819c843a5c30685cf9ec8d73d73bc3b77298ee59bf57c110ad10a1a8ebcd8f654a2e4029593161b3ef55ff2050f46845353202decf570c448852f089f39963529affa20b04fc4cb94f1ed4500ba24188e6be000c3a9d8ede3d277d1f2a0e89f7c8f7aafd96bbb8ef07792d33302fb4905bfe7a47888b08782d95f6f1b8a388f5ee78110e7b34a1e89c86f010ae1fb87d3cffba73bbd557374bd16dfd41bdc3c60f304c523c14d49e90733a73c301055377a0176d4b5b087b6fd2ef74d723348fe2be8224624a91fc315b66bbf640e18ebddc79076937bdb3bbb5b96aaf90ec84c551cc2fe0953718f9fc93e0de7853a700557cc8d0cd58089c9a2d531d06c8fa4b63e2c80d0e6983c68dd986f7044944e9f58463f8bb118c21fb4372c298906b18f9006fd0749c906fe51a570bb246883e0af127eff2ca13cdbd250db3e5a1cec90db4cd31b146794a931de48ca15f8bad3252ad744deb651a582f75af4c7ae8dfb1c0f23ba9732ee495ea52658684dc36064d3c439ac81b7dfcf922e790e5160f4d31149fe14fb8fb9f84f8c6171eb90a654b6f7c4db8213a6e501b32e712e2904a305bcf1950e2db6bb03ed68715a74930d00d630661d6e0c03375b3cc9838880c5cc5161c325440ed7a9de00869535e8f10f0eeccf1e65dbcd2c387ffbc1eb4cd63681b669f41d2b1cc828a6e26eeeee668ae3f9144f6ae2c1bad971fc146f2ebf5ba685a44a194cc61ba3e34a1bf4718980871e5b72304ba9633411c7d639174df6934c2b4fe514c5d4a46f4c1b8c610d5111858699507e751214e9f0e61dc578119f948a32217ce8153c7964e063215b4c2af068d5f7dea8da765893826d8779a9c820bbe8b470d36e77bcf949eef7bf1b889184274ba0f51da4c8c883cfaa383bbf4d6f8887a8ccda9e5ad2d6b2b6353c0620f4a29f49b27d68177d84ee2df4df8204bc5ac63dc13162e9a604adadebb779fd524d6f457fec118d530af31eb92b8ab971fe2b53882b05948127940f23c3003b6f6f3f7bb25d6ed226a652e77561ac22852f0c289012e3e8578ff56afe016d3bcae05a33562369cb675127f8e56ad1e6b08c6c931d4ff93fa4388abc6ea5be8c6a0ab23d0fdf9a504c1cdba557c1aad252d91a3ae4a19acf18277657cb34cd02caead1ea1d686961678cfd8d384c8219f35cee51693c0ee09247fbf395910f7e6259e0956a90ab5173a8dbf99a8259f8eaec4604ad8794dc63e67b0d4fe189bdf6acbd1a7047dbe1ef9c86fb2f78d6ad103708a4483f75087c6ecb71753e9210170c14462b37ef05a3f957abaee9214653525ad01de0bc326e3c11b7826c51567336619517d50eab313e37bc2877b3b139dec0544fa9b924517ccaa30600a206e89a9b9f89707ee003cbdfe17c7e83cf66537d631a9e0920af9bfa37c8db1a40e29d951869c3562100174caab7166058aefa485d11109195a0736633c17e5ad2164083492d94418ee0a657eaebc5a18ff50235f0850b3812d86a29d18932c4bb8a097b004b8abafc433a39503dd97fc09205d48cfb02cb00e1bb181cb10b1aeadef814ac107de21eb91c0b483cb6f17a042dea63345e222593be1a1ccb13ded278482d13f6511cad0768c54bcd4c23341a2324459079f8757f6761cfc0c95781d61a4baf4132453ba80a83284ff513d45b7255ddc1ac0bad4b03b1a0fd055f9093617034b59d333ec77b1b6907b85c6371729ca6052f2f2bc4388a5a37c22d43d095a91112334390b55acf78dbddadcc1fb0296b0af08872d6f0a6c092dfcc12774ad09a6e2b615f86acfeb8102a09e7cd52cabe7156c2265ff3af442c6e0fd1a40e5193547f3bb953dca45a722b43ba6ea2d4c9e3e2209a28f2c8b32f27fab0c749bc1a02f7b4c492d2a57cfa62295e6197c53ba4f9225cd7f1490648196416012180f83a690b7d000463761c0e0e8684575dd9cada02dce8b0629be7d48a893e2897f7a6193dd014b21715edeaeaf4c1b2230e2459f66c74e35d5ad1b67bfd347740969a6bfec50aae3bf9d90bc0b8d37d751e45e7098fc8d0b224823e4e74ee1b6749394e0cb4bccb446115cda4e752b3838fd4dac14362c48e9bedf3fd4894d2a73a7753fed677ea6c6e72b21d45d52d2b7c85a0f0d7267c712304bf2372e4acda7b218eed0b0c85ef6b316c29173809a4091fe179f7f6fa6da581f8b7405560ae0334c25dc30fe6dd64ad15a75e2da74701298ebff2879945378e7f1ceb7738d1b1aed14798c956a1ed15d79a92f45fb49b46022cc414024ab9e1291b2286342b91ca5556945f72c513eda91ffc8fd3f7ada1d444f665061138406bd7dba594ff9440821b49aadf0ad5bfe80add51ae9e948b38ca8825243d83e409df0ffcaac02dea14bd5a3d20e28216bcf220ad8d15e887e6e96e08b0d782c7f896af9cc0c681a97396e8913ad94dd2c48c61cf7fb85c829973891ca501897a7da32dd1bbfa25ee523ee71dd743b543fe99338aa5f6b2e26df6ef696778a566a10ec5e69ffb1ce27e91ffb226302026a0f392e8de5908551bf99b99f457d0838110494da833c6e066918774d0bdfd5ea1c45de7c95965339739cf4e24d7938e24fc3f193e9dd81c1f6d98f4f5e8b42d2c0db6740b7089ab1abcd14d842c8ddff745ccb7b1faa8e534c8f07e0c78d2d32a84962da4722b4dc1ca6e8bbb30acec0d6084c3c3f9ef7c94da3c2564b1edfcc2cea7195a424a9ea2d810b6b7806ac45d23fa09db353fbde14e47547e9efa7cbcdf2cfdae4ffc55ddb713f95219cea17b30b331b906e46b1ab618f937408c15523f7941bbcad01a5cfa2f965f45895f042bd5f88a9d9784001c1b3bbc8d477b3eedab89d5caa45d25d16b13d7e7430a460ec55af6c6ce59bf3292e712a6f3e5c2fe866bbff1ff4b45f1ada73b9a3f6899c7e0c3028ef228c77fb4dbee634fc24347e3e95d000fa384611d0abb9176b33f0609da697892b0234c52f0f4bdfaca5c98d4ebc97928c9db522db05c3211bb3585780b622b11e863919b29a4be0cc71aca87624c9adb13a10dbfa9702f107b3388840ce8327035681aa72f0994d942bfccf290d9eabadca72e64ce3a588335f80f7afbe4e2b49fec07af1469c2ae58544e854c2bc91ef3a4b52b868222823efff22c09102578b8f48f9a88051d9cf03f943364c9ccd798ccab3b159ef91d2c98f8f2564cdd57332d603e19ab3a618779c4b385f10d554e303eecbb4ed321f9fa82a9fbc259de4cac6ae02362f9ad550b846946eb95c092701d5033601fe5a4ae7895031760bd7ad369a231827a099b17f5ba5b225a85e67d0ddd50f13a310cc96e9501a54014e3f8238a1a0559943182e657d58c203eb46d81b25f6ee8570d532855e0b6a896a199328efe4f8370138ef172161bc7b5a195b00b752e3768507da5f6ffb318134dc5158a427a43c8646cb6ea22ed6461141aa613b31e7837bd4bef353e3ed6e0ce9b62e851509d46a4c6fb8b0fc1b626c4124a51567417410791d34a3bee207cbd06c94ceb60f1bca3f4c74eaa08c1e3e0fbe8c8a5845293c267adfade025e8b382232a9a6f8f514bbac294ae39fbaee9ab3bbbf66c1cc00e6b594722d05ec731987cf7d16da68670fb89301cae829563eb9a2c4782fbdfe4422054f28ab70ea15624429ccc4413908dcc18a6eeb7337f4b13a294dac06c3ca3c63af8ab6484af3fff6eaff87a71d61407895dba55346fb8dce3d4f90358790a78efed3c3e6fbdc550ed875d8169f1cd5215439506dd5db03e6510def5640fcc83847cf957d12307f4d168aa4b4efcaf9ea187b48cfede08632d0c2ca4a6a93ab4e852f814253c37883d99ab653b75bfd8b7a023da8d1f2dda9597b5aeaa8ddc05672f82a5f5de31defc314ba1835941c77b8326f415dede05da8375f275ad24a14259e82759aae72f8be41266b015f97bc8cb7aeca0eac9be1eef70ccd2788714cbd586d3dab6311caa265aa24a07de5e12ba07ed82fc80b00ea9b4bcecccb0e042c75a258f528665341bb5f2c6a9b1e1b6e3d5ebfb27298706354ff8ff41f441b2edce2e7f1ef23b8a3f3d66acdbde4783905672f449ea69004408440183cfe13bf8119b54819c706864f60cc8f5981c59d747830c3e4c597efcc3583524b66df10b5e881d1fc30ab0f470beb8958ad2f47b4e0568f7b847b329437aef6037f190ba9d14fe04ef16602949b134ab31fd9a7344ed4e35ff1b54b04ddfe2cd83c79dc168f041cc082de7275793361c5be1e07163b0a238908e4891e80bf8f34d7927b61050daadb7f9766508c31210827edb3a181e7306c1f336efe9b3028be6f427841d242c8370c3a1d20aa56c3bd660f2f8df43ba71831473c62d34df654aedfc9f67b57fa39838654fce6711deecfe4ae3335df8c20e2fc767fd50595349514bd9c6994b2c3c4dc7cd8261a2e810d4d0ac953ed7480e9150d747edef7c509cb524680c7e46db535b8905414e5bd4a7c2195a751a4ceefc264d2b758f3cb9bfe214a124e8b12255572441439fa414dad6dc824e9ac0f189b51e272571677d07f8dc240e17d3812a0848b86bb97d885bba0fe8672362b04788ab22b1f3bd24463ab6522fa579f49c6d91e720b9a0f7076230c1e0ec5febdce483b79293fe87d15dfc4ee87731ec88321f2d30e96037b7375a67f3b9b3d067f01b078159be5a173c6646cc19c3aa3359a9b1cfd33427b6c5916dd549414f18d76486b7b39c1146ec4bf7b2e88b9141ff1c629113407fb91a39797ef744c8d774c8751e9a988119d5565fc40ad29e96825564a2c7d88adba9737263a55e904af97a0efd5018fcabe41ac665b11773d214d539fa73084337ec43773a6cdb6d5102a225fdf2ab63fe9abc93e8fe94128951ecb84e9f00c34098c8e8eb8c8c5f8624008d1c29b4a46af4187fd8cca00e32b268ebe37155039e70f0689453a7bb3b97e03bd79728bd4127c594cadde21cfac87665ea80ec494c7c9f1752d1bf43e0422d7cd57bb71cc00128b97dbfc9dfd92053f664e26befb7c8ccf795bd3cfe8e4124ce61657558648097e2e329fcb7225505e3c56f37691df252c423e86ff131afa54680994028810ee67d7d1f4aa4242f241fed664d429874cdd5543766bca7ba4268f5e10f16ecf42509e030d6a2821e88a61deafdb0dfd25064b56b933710b8aedebc86a66543f7a0e3ca6309c7b53571368e309bff646ec21a8b185f27f1e5d6a7c12b8051ad85ce1825b23ec282529339f5e0c751faddc74893296542779f00bf2af5253f9b9db192391c627db351313ded8930d048eafe83c704919d3d3992ba6be1920bf54b8826422df9f5f13ccba11d593a959949011faea5038d2f4bbbac5b463c5987a52b6d018c89e1f50c4bed62e6672032b739f1d9123acb4fa0e9280290273813964f57d7758e317f038d88d5cd10768ed8852c36f99f48d3bbc952aae3977025bb2d20289e72d3fb56a538d50e8dda741bdc98e4313fae31ae39c1efc9c816d3ef22e18c4789f3fda487688b7e8295b5108178625122c6650ed54f4baddec3be417fad532accc2699132a708033d7a8df1bee7c5a472ac6157014d8b1839df3789903aaf55649b6ee7a03a0a76dc08fabb97a91e4fa347142dbaf766884113afb7d2d26738cee2bf4fc1c3b4798a106cf27482abc5e51b862fd562aa62064da3914c369eae2f7e8e453a50875e56e206795ef8d49f3898da50bf02a6f05513e51ef10701b5b8d0929cf8dbb54156ef06a690373ae3afdee16564e490c1f2c4008ff1d3eeb91af1df0bcab5796ca7ac56b1535d6d6aa2bd211a806eb28f4a21590130cbbda72db5f49e7ac44d0dc0995b8b196223f1c029c013b04d0ee11bce3d3dd8a23f814cac73e50ac0719a8472fa1493a024b800b67dee9424835ec0c41ab79490200ae8ec4a689fd1b9a9d3aaaa8ad45ec8a0108fd393a07488073ee24561fd5ed2d1f88c59771278cabdeddaf344b5edea13269e0d20055f335610e5e0b6e33e6e536f2701bc18c5f7d54e09b5549edaff8a229e385306215991481b7d70f02d3ed891cfcd78f196e3598f122dead5f0b823d92575ef131e706f20df34f2b4fe13547c77acdd9d334252ba46e78e9723a02b36ec823c8df90ac3f2e9272a52980c6f5ad403068609286f020236a6458406743848a12c6be280e54bcd0fd8e2d4bea9c4899410cef98cb2184719ed5960bc9350022c724e3c35be20569fc3b15be3e41cd42d219d4672a22f83ca112acedf317291315a14e856556e7e36594c601c639a6cae751d491d5f52f5eade48da10b9ddfe132e6f30ac111b8764acb1228b7a8c5a4033cc6ff072c338c5e2fb5cf9baa2d4bb79325a54337de7c6ae8dabc4ca79aa42d8341d81720976fe7bc0f118a47c89747cb707c6f76044b48baf670dad811d0514bc2c4214eddaf344b5edea13269e0d20055f335610e5e0b6e33e6e536f2701bc18c5f7d573940856f6f55604abb2fdb972818743c37fb1226474c073654764281dd6fe8118b4c0aec559c09be62e9248698306eef41dfbe16358e40c9ef34d8d1a55cbffdc7e64eeae8c5d8cf73f84df5c2253c52763d27f1349ded5272079a9151d3e83331839fe23ffc984cef1f4508dbaf86debb1e83bbd5a2e13c4d84f4048c1f81b5894bf8d3cff80ed2af9f4c07dad9d5b6b64240f84ce9395985f658c705223aea298b48f4884d699b2b7870fa0480c7bf01b5e5366373586ae67a88abc98f5a24392e35a366868b70288092705712a969b1232ae503781b9c549cb25bf538bf2f186e701f39b823a08eed3a3ecf470458c5a47a8424f52478cf3c825a356019299d93da14739bf2d348e1b0a1d154ad9f78775a5d0685a49205e258f54fe3027bb669c51242ab07868baefbc922ed23cdd904ed67bb91ad1803a0d14d86ba7e1e38b279d4e81e0306e3c558cfc2ce331dd35742cdac8da0ae5c3909b7aacfadd86c6b33c60cfd85e398ac9945e2fba92c70883daf0fa2faded77d084f2cff64de1b35dab50d0a45804dd2fe616f31a29bf06535f4d8405616436f617083c0549045fb1b17a9a02e3535e61e5a347df05318c4a7863321bbfb792e3b9a8bcfb310644a3ca98f5d7816f38c4ff8618ee0261227d4d06c3e74ea594be012fb5a39d268f482c512d569304a271a7a69d84df375dc4fc7c37389c3e481b447c7ab39934044914ec00f76814495d6eb5d9a4e2d86217000d7d22348774c8dbfb0d141c78fb41be8fecdad119c600033d3e149cf48cd516797068333e8e7ba3b40f599e64675ddde6513f23b857cbd0c635d41598ba1aec61c7b30963c1e4e5514c56fcde67687b49b74d5a97f453486eaffc3b2ae028fc0aad838f2a9757918a84978c4f3aa79817806dc00b5ec34309cc7613e4440941b48a097b1ee24463fe5af20787ef8b183b611248c2cc8567a7f2f6bdc2ab7fee975d0bf87fb7dd12bc6dcd1f1e6113001d6fc5dcfb94a2b06653dd69d6eda966159627b9b7aae659a260ed9e0971d8c684eeef96006ddeaf4bf4a656e753cb5ea93522f8d36db963ebecef828d18eb8f26dce23db0c870c33e8fb7dee880c46e6c224e1e8547d6aca9538e4cea04a1bdc5506da3fe1a770796b4e5b717d75ca2ee3e6fa4f3196328188df79eed6ae6cde403a8e394c62e028f863879d2f4decf45965946b74d40b89d27e810265390ef8a4b203e86c9d65c309177a4131210f54055c7f9aa8f804ca90da971cdafd54e1f176564709d428d1f1adc519ff9d40d08eb69600d68c06111a4368e00c972ad4d3636d9fd3db0f43f6343c38c6569dafbf48781d0634988cc9d96c0190ac4eb1be70c2ef6e9058c8fe31cd55e497d423def8a4c300a9b89d6e1a3f04cbfa40eae203fe068c1a154bc3bb1c39d659d8ed8dc840060630259faa1cd2f810220f0bd4309dece1587c98431ad744880292b09db3c78250710cf9461605157dbd7b910cf4097ec3781e43bb0b066f6356deba8086e6392e9fbdd0c036b2bada21961a86254d4d8003e7f6399ec14bc211a84e152af23356ee0f6a06bd0e88f39800fec647cd4e4c10dde12752b7443a06e7672080eb37f60416d9ff63b9cfda6bc2931f878b6b40bdde6d1714de93a2400122ea105253d509492e6bcabe279c1eba4460dcf6af066a922cdfd33da03c9964b8f942a6cff64c4db665eb781f18a01fc50e55745c47ce03782fb3125eac8e39317b53ecd7c70cd9220abf728a422df1e096044bd651b62c5991b55f05025466a5b068944eaf226ed4bd7311b8b3d347099f5e58671b6e12a93485449ef429d7d8243dba941d9e7209f79c7bf0e90cfd91fd0bc9f44272912e1d950f6d3e7c291f8c83fa237bc70f05cc1dad886c5d2c36d74de5ce9abbcbfe0564a1cecf14313c2a61a6ec357180c81b006a81ab92424301325d4b8c4feff1eb8bb0e667eac88369943cf70dfcb7d4be854b46569f80d84d84749b17b4211a56c9f37246e02131df72bca13cd82820d8781b3d387bda50edfaef50f9223021adfc2460caab9ec067992e88fb25d87ac86ccdc62c3cd85acc7b33705ce3ad3662c8430644715ebd3096eeaf62bfe137d0e109eb9e5e3a803c247d1e34fa26b4afae57c2ff3353bcd0a4f5e1fa0e722f95088dc64c31de3938fa8076d14985417dd50a001d74e62d3626d2f158d6031f9e00c82e7c73109d85db98ee0c508e34840e856018faf09fd3c7772172386db9d5866b19307cbd9932dfd799b833680ed51b44d620a75e9b2993a79b93c822aef9df926f11d410acdd0abac139c842c09d864e63366791edf0bc70ef9e009c9b396e531ce93569357edfa20d04a3184e537287618529af45f2e5e2ffcc1bad05d941831078ca799128617eb5e1d29a4c38a8d5ab01ae1bf40fdb568ef5332526a248a3c9e918e4739cbd11d3779b6dc66526eeff420bf236b51d3f51148faa711365ac4aab47831317229c6dfcdb52e5e280400d6f0f50ce8e6a3067f20788f0a1f41a0655fb643172514aee24fc5a0cf412e6404c733ba0ca9269b7b6562f1a1cd9bf482a578078abcfb4bcffd378b3ac0c5b4ae09bfa39be8a13cdca5fa61e182ac1e22d2986a0629ea7b9e279eb4b203b48d25026460c3343a785e9b496c53c600a6baf55e20954249060cf9249f7afcba7300c9d56d283040ed6efcf474f8a35ef228caffc525563b252c36b0fe7dd0100361c809c9c1e8a9430261b580bf4b587aef6b8e51eefdaa206a25b916b8a3839c876b49c1e2289a025c0cd19d7399674cdcf7f8e88c9fcbe75e870ae85f2e5d29ec40c23c780108bfa99cc7cf2864ec16695a19206c3b14cec3ea0c47635057cb4c2543aeb666df05b973f928b07b3b4b18179c7d310ae05252d4df5170e0cf5816c1377df52ae81aca4af2790785a6e9057cf8a5c04643e3ee5b7a142ea2041d73962d5ff080c7974ab7bb2f50d634e9fc59c26def746ed3ad28ad9ed70fc1b75055688b42f97aa3eaf9ef522eed0dd8f6fd376366042384bc39677d306dc0371d439147f7a5a9c2adcc7d68193736ecc2c75908097a02b1f9dccf8b732bc1003a9df20c0920bbf2c4056b23fefa660682aeeabff6a5f375e3097f4cb51986f3d98988316c18a3128f47876b9cb0e430599fb7d27249a957b126e32734000e558e87aba3da4c3aeb60997399f909223ae5f468d6370111399618b78bed865b7f5a913b922754aafe0e783c4475dbbf4c7b255806a18b67ca77ae48958c53e672deaf1da5202588f76a92db43cd93e25483a2cc50c827166fdefcc8f5a3a1fb59d3e1eea5e5a7c31276ff165bd32fd94eb314eb8b372a6d4eccfc8e5c707a0c0ac5d3893b964f21758874a3e1f21fb948aae679c392cb58f89927007fd5f2d42e686c9aa45e3c8aabeb794c635c3e450f8dfd0b7cec0e1d5eb0b9605c3a5914b9c1cbf181c102140ea282650ce7d324ddcf42461b5d011b0360142f17628ad17d9c066068e45e0399e1b88257c00bf8b7cd6f58f5d43276a1b8788db6250d30f8fd971c35c7843ffe79de337ea400a727e0e68139137ec2fc8abc1b835a70be795cf575921bd13c607304535724cd3ab4f2412cb0aedbe85f185e7cfd72e6e261760a000de1a58297abfc71237a87ae58d5278e6fdf9a0d662be81522c77a75085103202435cd257c15f1a934d16c289daa453ea30fc6ed8bef8081091c2969c05b44ed71aa112b543f6bc57d72706fb5749b0c52bb997a82bbbc9dfceee90baf7cb3b22b9643cbb3b0ce22664d115200fcb96364c7ce45b6e1f15db8014dd704444ac8e611aaa8f8ac7d08482f9577d6baf1f10ccc728f30d1ce5c1e79566b18e920e1f4112749109d058133975e973719e050012ca6a0893a47c6f716f6accf0afc3200113c7573e388be32b33f0bf25ee19e2ecea9b303c6810e029f2ba85181f1d65e08e2375de3de3a10193b333695dd151aff119653e9fa61763293eac3ccd38ab257499c94733ef91299e5edb500149f5c8529f77d7ec67232cbdb5f1e473b7723f08e187ac822ed3f478d745798fa0d167f8fac47b0d342f77b740722ef71bdeceeb5a8afda27f813238d4b8418bb0b3fdfee77abdb3892154f5166dc3e9dc84176ad1d7d473887db1151ea978f1d0fb2b8379867db1887b8776169aba6890c06fbe477b48deba4c3df2f3b6cf448b1d6ddc0bf172778bf23381cc8e336f08c917358710b3ccf2f4c3b698787c0506b85fb2967f09533007cdcf892a702511e00c52e6906c35a39c6b9aa478aeb6e1a625db95f69c22c2e0063a2a1f25f57a2708347ac9b275c65bdc8c7bb97c2f3ccdfba6f3544327771d6bd45d54250bf05f7ca65f328029f3bcd91c0aaa709e7de56e46ed17e246bb65b31d99bea28b03b32cd0560303bf6d04fd874301fc4087f209e5acbcdda01921222cb04b46017d738c80e5c842b1e603aada79f83253c4a45cdd97e15027ead70cf3a6c51346e25d765c43665a1d5ddd82d26e3a3e35862c73d283222ff32dbc031b1b7f9f520345bea1f6bca65db881d0f85c99245531e1d00a12a5aefb2f23da412a851d954a2737380d1edc1ff88c7fb213ec3edb5b9c213b40f6d9d64580f931c545f5fa90dd185f2dc4b15e783eac9c19446e79d4747c5392532c902bff45cefb7f3f645c765b1e828d1f3b1601840ba63b6f437eabb758facae9c10d064e081c944ee207f2c2d26167cd84c1b848b6f90cda28915c7682f6350f7c5decf1b6eaa34bdadb59815e08755c10a2ad178d5f50c97b20b1a1012d2488b0deb2c4b94784ca1cb898bd09e77e0197cf8ebde0471a9eed86dc1b4af515566ebab5f3b8fdf76154350d274eb2e29812c677af6b43d5f6c7031170881dca72e5fd8b7163074804e8fe7322d9b82c6bad93b9ee35571480b2612027544ce1fc878c28e0c9aa2d2d3031b9cbb73033fa3a0503a2e680c1b7e1446624ded72531065f748b84805ca6424b6dc0d6b05b33bb9869c4af722fdd081922618dd159b54bc21778ce326f6cd6933eb9a12574bccce2cf21c04e6afd935cd5ae2565c1107601ec2501703aa27b161b37fb8aa9efbaadb931188e6857576a1c03e420d85d3fd3916e44a95e5c6539165e36aa1cb55e45446bf1fd626ab17a5a51e7348ea73884703544c0841690cc3388f4665745f59fcbe29df21127090e923a47e1c0910ae4167c56ab5283fcfbc88595199b8fd1df9cd1a6b14322155e58ac44cbc41e9d9e94d838da4058db39eed036f5591bc355b5dbe814cd601b3a4fd615aa11247917ea6c8002eae723007ae664d59c21534fee197b8fc6446b3bf1c57f92c2235cc2342e449affe1664988ac609f566133913ce963dbee164de0f0e8baf1c730f723a39bc18dbb9a294c6eede14af728ac2c6fe4d8e27b9247d754856b9615613aab92aa89a84de5e42ac4740f9756d001b22d4488512fbfc8a80c1936ce51a2bad1a5e85a4be12c502c3529fb75642c815d6d5ed26691021e117ce4eadf813c3ee269d165c994785fb7b5926dbf997e4851000603965bc6fdc33e38660e3dda0a404c0052490f96ea6da22318a84441e56d53ddecad9ab41a85f3a0bf7885c87accf148c8474a4ef444c2f49a915e6c2e7d564a94f0eddaf6f2d136e880ce0e2ce911c33dd6bd41adbb5bffb976d90a04587c625277997eb5289c412586d316a9458a852672d8d6b3f3afa79d3a6a80cc1168642f62b9429dd2819ecede70eb20fab8ac1e18981f2dc602a57f2fa99431f57a9d60befda6564a9e4e1f7e1ada4f33ba25323f47b5683d3fc3601bb193ebf47785fb1b2dda551d8d5fab7e6a1eeec78ba74c0311e2ce192109af1398346986d3bc8d87ca94d7b8032c41ca4a06f93fa233fd2fdf3246dd97501ad49b729246babf8a550326b91ef9e999c01a0e2448a7ffa9d878f281f23c7681062c71e7435adc4f977bc3169f3ee3785e2300b3c68eae6e4a95e48c686d5b3d098a019a13b1ac039fa1d6148b5fa462c886f82c4c520c95c9f4b68802d5660e49c4806450027be62a20c8ba67e9f7be498834512bc64c04469492973fd3272914d01262a8abb0ce9d47c7cce3acf50695b8153c3102fe275f56a013f62951502a0794496ee5a593748b5cc472d6bfeb66b0f6cde0a423e7e8ae0de0f61105c348b813769ef98ef58426ddd8f952868db0697cd010ce75e83d4b32aff69733c896a7f71b0234974a4109ac1940cd5c900f597842a1118dc9643865fcd06caa63f7ed87cca9b2794f4381f4e4f78576d00346a5cb6961daa5e99570cc91c06975dc9414d41144e2cfa3e32e91b3d96cfe1a1da5021e0564e761575aea4963b087a240d158a6e1c78423eb8dee624e837ad678deceefa2820dc5358a6725ce9b40d549da599529d184a809e27f353a5bd71c3d1fa7c983782a13c47462b7837efde44b83e02a93df3210ece3160fe8b0d2eaf906d71bbcabb848585f6ccbf132c683bdf14fc86f24a8ed0f9b6a061c5011a6c2a6840777fe9c569520152ffe3b0e9f86e55b79d73fe76ef469b92f4219483016ec0e2995d0a660cd4477c2b79b8c2cfac3d8e60781fdefccd3e296ac215a4c39b7eef5953a6a60e6492d4f70e286f82a4e8a818db5c051fd0adb21f996a9496ee062dec2c9f7f23725ac300bf7014e60409c8c4bfe1dbab6520693832a6af1a09a679a61208e5a0d4e2376c4bdc90c3273cdb195b9537a14960c0e2f027c00acb40299979106bf0c13e98d4754338592005fb4c7a522d8ab577faa98581aa500af1f228c6ae329832855d50f46f90cf0a55fa2f0cacbe31a44b75406837d7292122552d8a7c409e72d830aa3adfcaf2ece1a13ff8072e6f0bfddd7b2a52a2a03107f64d64884adde0ef9c1d2ae77403431fc981a33e77f730b838c47022f78fc06d83615c3876a9f65009304612177247ced88f8419ee1a764bf120d5edeed1092adba7524e9b8ec85f416b47e2f13b2b87b1a85c62e9aea7a7ef4ddfefe72490e30ef5ec5ec3db03d5be7070fed4364dcf5ed15f3c5d6cf3d13c629fb7c6b5aa741a474ab51dcb39870d63dedf4052d2cf6a39f338e4961a3624a3af0c532846385970442273d30d984e7e870087087f3e7277d2986a70e66b00d4f6d80819b0d4660e6c513560b5b9dffd743f6140cbd9c68a2cdb50dcff84250d62887acc842c02f0422313e9e3de982367b8d07890075f46e72c47487180957b76018cfd80205783d5e47bb01e2850793ccb42e7c12cae653f615c43d5b75833358888b5f43082e023eac7ad96efdd59b0c0995229f7d1c162ae73c371b611db0892aba93cc4b183203539545e448dbb4b7c08e428a1ab9a8a27143f09cffb0681e1181b526f08ec2c3bb5e556931f6783b7008bc5a2713c1966a5eae783d910c8dddf5315cf8f1883d9ea7eb2383e77e830c00f398c39be8d164fa582f76016f664284a0a3b58ec50da0c094c42b1fb77d07ba3c97365c1359c70706a72a7a4fde0138fd30af9334da49ea770487f076cb78bbee50a9807007b7bd2fbc1f6630e6f0b9a8a66b9db5a99094642b231ed0549c18e54cfaed87967f92c60e33553d81690bcaf03b2bd514902f0a1b9dd04877aac5274063b2e7a8688464b4558e31c9a743f3e6580c2611a455010a44eea519283ef7a0fae6f59828aee932ea6dfaaac62b095194e2bfbc3171efe3373dd1125b93aef7566a276fcab6100d56c1066b5ac9cef60f303d79fefba8abff53de3dde373404512c400ae8a489839d4c16ce10752701a395f9a2ed3a5f7c865704702a8fbbc9ebf52a07dcaba3d7599e98e458b0336acec22f737ef68048dc5239558cad715d457a3149c6aa4be94e7eb19c18f64385b65f9089098972ed9703358ec36fbfa50fa5f526c28630cefb26bc506fe8fb5c8ba6a280f2f1fc1c49785bd5eb48ef9bb560133862c1268232499f2a8867c6d66de290b3051330c293c9982bbd7c1f51eb313ed2aefb0a977bb4e107eafddebfa2c361d10a5f50d30a001f557900bc757583237be46929bc4308109d937fa40fe73775536dbadd571552d65bb2e8b21cd3fc393dffc74acbed21bb24a020d9aa065e7a8c40cd4b25ab65988173d28feb136738cff9f7cf1/usr/bin/gs.bin/etc/alternatives/gslibgs.so.9.52../ghostscript/9.52ps2ps.1.gzps2pdf.1.gzps2pdf.1.gzps2pdf.1.gzps2ps.1.gzgslp.1.gzgslp.1.gzgslp.1.gzgslp.1.gzps2pdf.1.gzps2pdf.1.gzps2pdf.1.gzArootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootghostscript-9.52-150000.197.1.src.rpmconfig(ghostscript)ghostscriptghostscript(ppc-64)ghostscript-libraryghostscript_anygsgs_liblibgs.so.9()(64bit)libijs-0.35.so()(64bit)pstoraster @@@@@@@@@@@@@@@@@@@    /bin/sh/bin/sh/bin/sh/sbin/ldconfigconfig(ghostscript)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libcups.so.2()(64bit)libcupsimage.so.2()(64bit)libdl.so.2()(64bit)libdl.so.2(GLIBC_2.17)(64bit)libfontconfig.so.1()(64bit)libfreetype.so.6()(64bit)libgs.so.9()(64bit)libjpeg.so.8()(64bit)libjpeg.so.8(LIBJPEG_8.0)(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.17)(64bit)libpng16.so.16()(64bit)libpng16.so.16(PNG16_0)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)libtiff.so.5()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)update-alternativesupdate-alternatives9.52-150000.197.13.0.4-14.6.0-14.0-15.2-1ghostscript-x11ghostscript-x119.52-150000.197.19.52-150000.197.14.14.1f`f~fuk@f8@e}@eexK@e @d dr@d*aq@aTU@a;H`_^]M@]y@]y@]{]QT\\\@n@\&@[v[[Q@[Q@[{@ZZZ`@ZZH@Z@Y5Yo@Y1S@YtXXsXwoX@W@Wڍ@V@VVLh@V;DV3[VVV }@VU@U@U@U U jsmeix@suse.comjsmeix@suse.comjsmeix@suse.comjsmeix@suse.comjsmeix@suse.comjsmeix@suse.comjsmeix@suse.comjsmeix@suse.comjsmeix@suse.comjsmeix@suse.comjsmeix@suse.comjsmeix@suse.dewerner@suse.dejsmeix@suse.dewolfgang.frisch@suse.comjsmeix@suse.dejsmeix@suse.dejsmeix@suse.dewerner@suse.dewerner@suse.dewerner@suse.dewerner@suse.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.destefan.bruens@rwth-aachen.denovell@mirell.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.dedaniel.molkentin@suse.comjsmeix@suse.dejsmeix@suse.dejsmeix@suse.destefan.bruens@rwth-aachen.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.deschwab@suse.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.dejsmeix@suse.de- CVE-2024-29508.patch is for Ghostscript-9.52 derived from https://git.ghostscript.com/?p=ghostpdl.git;h=ff1013a0ab485b66783b70145e342a82c670906a therein only the part that addresses CVE-2024-29508 i.e. the change in gdevpdtb.c which "uses a fixed name for fonts which have no name instead of using the pointer to the address of the font" see https://bugs.ghostscript.com/show_bug.cgi?id=707510 to fix bsc#1227380 "heap pointer leak in pdf_base_font_alloc()"- CVE-2024-29510.patch is for Ghostscript-9.52 from https://cgit.ghostscript.com/cgi-bin/cgit.cgi/ghostpdl.git/commit/?id=3b1735085ecef20b29e8db3416ab36de93e86d1f "Uniprint device - prevent string configuration changes when SAFER" to fix bsc#1226945 "format string injection leads to shell command execution (SAFER bypass)" - CVE-2024-33870.patch is for Ghostscript-9.52 from https://cgit.ghostscript.com/cgi-bin/cgit.cgi/ghostpdl.git/commit/?id=79aef19c685984dc3da2dc090450407d9fbcff80 see https://bugs.ghostscript.com/show_bug.cgi?id=707686 to fix bsc#1226944 "path traversal to arbitrary files if the current directory is in the permitted paths" - CVE-2024-33869.patch is for Ghostscript-9.52 from https://cgit.ghostscript.com/cgi-bin/cgit.cgi/ghostpdl.git/commit/?id=5ae2e320d69a7d0973011796bd388cd5befa1a43 and https://cgit.ghostscript.com/cgi-bin/cgit.cgi/ghostpdl.git/commit/?id=f5336e5b4154f515ac83bc5b9eba94302e6618d4 see https://bugs.ghostscript.com/show_bug.cgi?id=707691 to fix bsc#1226946 "path traversal and command execution due to path reduction"- CVE-2024-33871.patch is for Ghostscript-9.52 from https://cgit.ghostscript.com/cgi-bin/cgit.cgi/ghostpdl.git/commit/?id=7145885041bb52cc23964f0aa2aec1b1c82b5908 "OPVP device - prevent unsafe parameter change with SAFER" to fix bsc#1225491 "OPVP device arbitrary code execution via custom Driver library"- CVE-2023-52722.patch is for Ghostscript-9.52 from https://cgit.ghostscript.com/cgi-bin/cgit.cgi/ghostpdl.git/commit/?id=afd7188f74918cb51b5fb89f52b54eb16e8acfd1 "In SAFER (default) don't allow eexec seeds other than the Type 1 standard" to fix bsc#1223852 "ghostscript: eexec seeds other than the Type 1 standard are allowed while using SAFER mode"- bsc1219357.patch is derived for Ghostscript-9.52 from https://github.com/ArtifexSoftware/ghostpdl/commit/4ceaf92815302863a8c86fcfcf2347e0118dd3a5 to fix bsc#1219357 "Ghostscript segfaults in gs_heap_free_object()"- txtwrite_use_after_free.patch is https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8c7bd787defa071c96289b7da9397f673fddb874 to fix https://bugs.ghostscript.com/show_bug.cgi?id=702229 "txtwrite: use after free in 9.51 on some files" which fixes CVE-2020-36773 (bsc#1219554) "out-of-bounds write and use-after-free in devices/vector/gdevtxtw.c (for txtwrite)" see also https://bugzilla.opensuse.org/show_bug.cgi?id=1177922 (bsc#1191841)- CVE-2023-46751.patch is derived for Ghostscript-9.52 from https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=dcdbc595c13 (there is no "device initialization redesign" in Ghostscript-9.52) that fixes CVE-2023-46751 "dangling pointer in gdev_prn_open_printer_seekable()" see https://bugs.ghostscript.com/show_bug.cgi?id=707264 (bsc#1217871)- CVE-2023-43115.patch is derived for Ghostscript-9.52 from https://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=e59216049cac290fb437a04c4f41ea46826cfba5 that fixes CVE-2023-43115 "remote code execution via crafted PostScript documents in gdevijs.c" see https://bugs.ghostscript.com/show_bug.cgi?id=707051 (bsc#1215466)- CVE-2023-38559.patch fixes CVE-2023-38559 "out of bounds read devn_pcx_write_rle() could result in DoS" see bsc#1213637 and https://bugs.ghostscript.com/show_bug.cgi?id=706897 which is in base/gdevdevn.c the same issue "ordering in if expression to avoid out-of-bounds access" as the already fixed CVE-2020-16305 in devices/gdevpcx.c see https://bugs.ghostscript.com/show_bug.cgi?id=701819- CVE-2023-36664.patch fixes CVE-2023-36664 see https://bugs.ghostscript.com/show_bug.cgi?id=706761 "OS command injection in %pipe% access" and https://bugs.ghostscript.com/show_bug.cgi?id=706778 "%pipe% allowed_path bypass" and bsc#1212711 "permission validation mishandling for pipe devices (with the %pipe% prefix or the | pipe character prefix)"- CVE-2023-28879.patch fixes CVE-2023-28879 Buffer Overflow in s_xBCPE_process cf. https://bugs.ghostscript.com/show_bug.cgi?id=706494 (bsc#1210062) - 41ef9a0bc36b9db7115fbe9623f989bfb47bbade.patch fixes compilation with FreeType 2.10.3+ cf. https://bugs.ghostscript.com/show_bug.cgi?id=702985- CVE-2021-45944.patch fixes CVE-2021-45944 use-after-free in sampled_data_sample cf. https://github.com/google/oss-fuzz-vulns/blob/main/vulns/ghostscript/OSV-2021-237.yaml (bsc#1194303) - CVE-2021-45949.patch fixes CVE-2021-45949 heap-based buffer overflow in sampled_data_finish cf. https://github.com/google/oss-fuzz-vulns/blob/main/vulns/ghostscript/OSV-2021-803.yaml (bsc#1194304)- Use update-alternatives to get the real ghostscript binary from /usr/bin/gs to /usr/bin/gs.bin and allow the gswrap package to use this with its wrapper script (jira#PM-3037)- CVE-2021-3781.patch fixes CVE-2021-3781 Trivial -dSAFER bypass cf. https://bugs.ghostscript.com/show_bug.cgi?id=704342 (bsc#1190381)- Hardening: link as position independent executable (bsc#1184123).- CVE-2020-15900.patch fixes CVE-2020-15900 Memory Corruption (SAFER Sandbox Breakout) cf. https://bugs.ghostscript.com/show_bug.cgi?id=702582 (bsc#1174415)- The version upgrade to 9.52 fixes in particular CVE-2020-12268: jbic2dec: heap-based buffer overflow in jbig2_image_compose (bsc#1170603) - Version upgrade to 9.52 Highlights in this release include: * The 9.52 release replaces the 9.51 release after a problem was reported with 9.51 which warranted the quick turnaround. Thus, like 9.51, 9.52 is primarily a maintenance release, consolidating the changes we introduced in 9.50. * IMPORTANT: We have forked LittleCMS2 into LittleCMS2mt (the "mt" indicating "multi-thread"). LCMS2 is not thread-safe, and cannot be made thread-safe without breaking the ABI. Our fork will be thread-safe and include performance enhancements (these changes have all been offered and rejected upstream). We will maintain compatibility between Ghostscript and LCMS2 for a time, but not in perpetuity. If there is sufficient interest, our fork will be available as its own package separately from Ghostscript (and MuPDF). * The usual round of bug fixes, compatibility changes, and incremental improvements. Incompatible changes: * New option -dALLOWPSTRANSPARENCY: The transparency compositor (and related features), whilst we are improving it, remains sensitive to being driven correctly, and incorrect use can have unexpected/undefined results. Hence, as part of improving security, we limited access to these operators, originally using the -dSAFER feature. As we made "SAFER" the default mode, that became unacceptable, hence the new option -dALLOWPSTRANSPARENCY which enables access to the operators, cf. https://www.ghostscript.com/doc/9.52/Use.htm#ALLOWPSTRANSPARENCY For a release summary see: https://www.ghostscript.com/doc/9.52/News.htm For details see the News.htm and History9.htm files. - Version upgrade to 9.51 Highlights in this release include: * 9.51 is primarily a maintainance release, consolidating the changes we introduced in 9.50. * We have continued our work on code hygiene for this release, with a focus on the static analysis tool Coverity (from Synopsys, Inc) and we are now maintaining a policy of zero Coverity issues in the Ghostscript/GhostPDL source base. * IMPORTANT: In consultation with a representative of OpenPrinting (http://www.openprinting.org/) it is our intention to deprecate and, in the not distant future, remove the OpenPrinting Vector/Raster Printer Drivers (that is, the opvp and oprp devices). If you rely on either of these devices, please get in touch with us (i.e. Ghostscript upstream), so we can discuss your use case, and revise our plans accordingly. * We (i.e. Ghostscript upstream) are in the process of forking LittleCMS, cf. the other release notes entries below. * The usual round of bug fixes, compatibility changes, and incremental improvements. For a release summary see: https://www.ghostscript.com/doc/9.51/News.htm For details see the News.htm and History9.htm files. - Version upgrade to 9.50 Highlights in this release include: * The change to version 9.50 follows recognition of the extent and importance of the file access control redesign/reimplementation outlined below. * The file access control capability (enable with -dSAFER) has been completely rewritten, with a ground-up rethink of the design. For more details, see: "SAFER" at https://www.ghostscript.com/doc/9.50/Use.htm#Safer * It is important to note that -dSAFER now only enables the file access controls, and no longer applies restrictions to standard Postscript functionality (specifically, restrictions on setpagedevice). If your application relies on these Postscript restrictions, see "OLDSAFER" at https://www.ghostscript.com/doc/9.50/Use.htm#OldSafer and please get in touch, as we do plan to remove those Postscript restrictions unless we have reason not to. IMPORTANT: File access controls are now enabled by default. In order to run Ghostscript without these controls, see "NOSAFER" at https://www.ghostscript.com/doc/9.50/Use.htm#NoSafer * We (i.e. Ghostscript upstream) are in the process of forking LittleCMS, cf. the other release notes entries below. * The usual round of bug fixes, compatibility changes, and incremental improvements. Incompatible changes: * There are a couple of subtle incompatibilities between the old and new SAFER implementations. Firstly, as mentioned above, SAFER now leaves standard Postcript functionality unchanged (except for the file access limitations). Secondly, the interaction with save/restore operations, see "SAFER" at https://www.ghostscript.com/doc/9.50/Use.htm#Safer * The following is not strictly speaking new to 9.50, as not much has changed since 9.27 in this area, but for those who don't upgrade with every release: The process of "tidying" the Postscript name space should have removed only non-standard and undocumented operators. Nevertheless, it is possible that any integrations or utilities that rely on those non-standard and undocumented operators may stop working, or may change behaviour. If you encounter such a case, please contact us (i.e. Ghostscript upstream, either the #ghostscript IRC channel or the gs-devel mailing list would be best), and we'll work with you to either find an alternative solution or return the previous functionality, if there is genuinely no other option. One case we know this has occurred is GSView 5 (and earlier). GSView 5 support for PDF files relied upon internal use only features which are no longer available. GSView 5 will still work as previously for Postscript files. For PDF files, users are encouraged to look at MuPDF https://www.mupdf.com/ For a release summary see: https://www.ghostscript.com/doc/9.50/News.htm For details see the News.htm and History9.htm files. - CVE-2019-10216.patch CVE-2019-14869.patch gs-CVE-2019-14811-885444fc.patch gs-CVE-2019-14817-cd1b1cac.patch openjpeg4gs-CVE-2018-6616-8ee33522.patch are fixed in the version 9.52 upstream sources.- CVE-2019-14869.patch contains commit from Ghostscript upstream https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=485904772c5f to fix CVE-2019-14869 "-dSAFER escape in .charkeys" (bsc#1156275)- Port latest ghostscript 9.27 from factory including latest security patches to SLES15/SLES12 * Port patch CVE-2019-10216.patch to 9.27 which is the orignal upstream commit now * Drop patch CVE-2019-3838.patch as now part of 9.27- Add patch gs-CVE-2019-14811-885444fc.patch to fix bsc#1146882 for CVE-2019-14811,CVE-2019-14812,CVE-2019-14813 - Add patch gs-CVE-2019-14817-cd1b1cac.patch to fix bsc#1146884 for CVE-2019-14817- Add patch openjpeg4gs-CVE-2018-6616-8ee33522.patch to fix bsc#1140359 for CVE-2019-12973- CVE-2019-10216.patch fixes CVE-2019-10216 forceput/superexec in .buildfont1 is still accessible https://bugzilla.suse.com/show_bug.cgi?id=1144621 bsc#1144621 https://bugs.ghostscript.com/show_bug.cgi?id=701394- Version upgrade to 9.27 Highlights in this release include: * We (i.e. Ghostscript upstream) have extensively cleaned up the Postscript name space: removing access to internal and/or undocumented Postscript operators, procedures and data. This has benefits for security and maintainability. Incompatible changes: The process of "tidying" the Postscript name space should have removed only non-standard and undocumented operators. Nevertheless, it is possible that any integrations or utilities that rely on those non-standard and undocumented operators may stop working, or may change behaviour. If you encounter such a case, please contact us (i.e. Ghostscript upstream) - (either the #ghostscript IRC channel, or the gs-devel mailing list would be best), and we'll work with you to either find an alternative solution. * Fontmap can now reference invidual fonts in a TrueType Collection for font subsitution. Previously, a Fontmap entry could only reference a TrueType collection and use the default (first) font. Now, the Fontmap syntax allows for specifying a specific index in a TTC. See the comments at the top of (the default) Fontmap.GS for details. * The usual round of bug fixes, compatibility changes, and incremental improvements. IMPORTANT: It is our intention, within the next 12 months (ideally sooner, in time for the next release) to make SAFER the default mode of operation. For many users this will have no effect, since they use SAFER explicitly, but some niche uses which rely on SAFER being disabled may need to start explicitly adding the "-dNOSAFER" option. IMPORTANT: We (i.e. Ghostscript upstream) are in the process of forking LittleCMS. LCMS2 is not thread safe, and cannot be made thread safe without breaking the ABI. Our fork will be thread safe, and include performance enhancements (these changes have all be been offered and rejected upstream). We will maintain compatibility between Ghostscript and LCMS2 for a time, but not in perpetuity. Our fork will be available as its own package separately from Ghostscript (and MuPDF). For a release summary see: http://www.ghostscript.com/doc/9.27/News.htm For details see the News.htm and History9.htm files. The Ghostscript 9.27 release should fix (cf. the entry below dated 'Fri Sep 14 10:47:33 CEST 2018' what "should fix" means) in particular those security issues: * CVE-2019-3838 forceput in DefineResource is still accessible https://bugzilla.suse.com/show_bug.cgi?id=1129186 bsc#1129186 https://bugs.ghostscript.com/show_bug.cgi?id=700576 * CVE-2019-3835: superexec operator is available https://bugzilla.suse.com/show_bug.cgi?id=1129180 bsc#1129180 https://bugs.ghostscript.com/show_bug.cgi?id=700585- CVE-2019-3838.patch fixes CVE-2019-3838 forceput in DefineResource is still accessible https://bugzilla.suse.com/show_bug.cgi?id=1129186 bsc#1129186 https://bugs.ghostscript.com/show_bug.cgi?id=700576- Version upgrade to 9.26a The version 9.26a is a special security bugfix version to fix * CVE-2019-6116: subroutines within pseudo-operators must themselves be pseudo-operators https://bugs.ghostscript.com/show_bug.cgi?id=700317 https://bugzilla.suse.com/show_bug.cgi?id=1122319 bsc#1122319- Version upgrade to 9.26 Highlights in this release include: * Security issues have been the primary focus of this release, including solving several (well publicised) real and potential exploits. Thanks to Man Yue Mo of Semmle Security Research Team, Jens Mueller of Ruhr-Universitaet Bochum and Tavis Ormandy of Google's Project Zero for their help to identify specific security issues. PLEASE NOTE: We (i.e. Ghostscript upstream) strongly urge users to upgrade to this latest release to avoid these issues. * The usual round of bug fixes, compatibility changes, and incremental improvements. For a release summary see: http://www.ghostscript.com/doc/9.26/News.htm For details see the News.htm and History9.htm files. The Ghostscript 9.26 release should fix (cf. the entry below dated 'Fri Sep 14 10:47:33 CEST 2018' what "should fix" means) in particular those security issues (bsc#1117331) * CVE-2018-19475: psi/zdevice2.c allows attackers to bypass intended access restrictions https://bugs.ghostscript.com/show_bug.cgi?id=700153 https://bugzilla.suse.com/show_bug.cgi?id=1117327 bsc#1117327 * CVE-2018-19476: psi/zicc.c allows attackers to bypass intended access restrictions because of a setcolorspace type confusion https://bugs.ghostscript.com/show_bug.cgi?id=700169 https://bugzilla.suse.com/show_bug.cgi?id=1117313 bsc#1117313 * CVE-2018-19477: psi/zfjbig2.c allows attackers to bypass intended access restrictions because of a JBIG2Decode type confusion https://bugs.ghostscript.com/show_bug.cgi?id=700168 https://bugzilla.suse.com/show_bug.cgi?id=1117274 bsc#1117274 * CVE-2018-19409: LockSafetyParams is not checked correctly if another device is used https://bugs.ghostscript.com/show_bug.cgi?id=700176 https://bugzilla.suse.com/show_bug.cgi?id=1117022 bsc#1117022 and those security issues * CVE-2018-18284: 1Policy operator gives access to .forceput https://bugs.ghostscript.com/show_bug.cgi?id=69963 https://bugzilla.suse.com/show_bug.cgi?id=1112229 bsc#1112229 * CVE-2018-18073: saved execution stacks can leak operator arrays https://bugs.ghostscript.com/show_bug.cgi?id=699927 https://bugzilla.suse.com/show_bug.cgi?id=1111480 bsc#1111480 * CVE-2018-17961: bypassing executeonly to escape -dSAFER sandbox https://bugs.ghostscript.com/show_bug.cgi?id=699816 https://bugzilla.suse.com/show_bug.cgi?id=1111479 bsc#1111479 * CVE-2018-17183: remote attackers could be able to supply crafted PostScript to potentially overwrite or replace error handlers to inject code https://bugs.ghostscript.com/show_bug.cgi?id=699708 https://bugzilla.suse.com/show_bug.cgi?id=1109105 bsc#1109105- Version upgrade to 9.26rc1 (first release candidate for 9.26). Highlights in this release include: * Purely security and a few bug fixes, there are no new features, and no API changes to report.- Version upgrade to 9.25 For the highlights in this release see the highlights in the 9.25rc1 first release candidate for 9.25 entry below. PLEASE NOTE: We (i.e. Ghostscript upstream) strongly urge users to upgrade to this latest release to avoid these issues. For a release summary see: http://www.ghostscript.com/doc/9.25/News.htm For details see the News.htm and History9.htm files. The Ghostscript 9.25 release should fix (see below) in particular those security issues: * CVE-2018-15909: shading_param incomplete type checking https://bugs.ghostscript.com/show_bug.cgi?id=699660 https://bugzilla.suse.com/show_bug.cgi?id=1106172 bsc#1106172 * CVE-2018-15908: .tempfile file permission issues https://bugs.ghostscript.com/show_bug.cgi?id=699657 https://bugzilla.suse.com/show_bug.cgi?id=1106171 bsc#1106171 * CVE-2018-15910: LockDistillerParams type confusion https://bugs.ghostscript.com/show_bug.cgi?id=699656 https://bugzilla.suse.com/show_bug.cgi?id=1106173 bsc#1106173 * CVE-2018-15911: uninitialized memory access in the aesdecode https://bugs.ghostscript.com/show_bug.cgi?id=699665 https://bugzilla.suse.com/show_bug.cgi?id=1106195 bsc#1106195 * CVE-2018-16513: setcolor missing type check https://bugs.ghostscript.com/show_bug.cgi?id=699655 https://bugzilla.suse.com/show_bug.cgi?id=1107412 bsc#1107412 * CVE-2018-16509: /invalidaccess bypass after failed restore https://bugs.ghostscript.com/show_bug.cgi?id=699654 https://bugzilla.suse.com/show_bug.cgi?id=1107410 bsc#1107410 * CVE-2018-16510: Incorrect exec stack handling in the "CS" and "SC" PDF primitives https://bugs.ghostscript.com/show_bug.cgi?id=699671 https://bugzilla.suse.com/show_bug.cgi?id=1107411 bsc#1107411 * CVE-2018-16542: .definemodifiedfont memory corruption if /typecheck is handled https://bugs.ghostscript.com/show_bug.cgi?id=699668 https://bugzilla.suse.com/show_bug.cgi?id=1107413 bsc#1107413 * CVE-2018-16541 incorrect free logic in pagedevice replacement https://bugs.ghostscript.com/show_bug.cgi?id=699664 https://bugzilla.suse.com/show_bug.cgi?id=1107421 bsc#1107421 * CVE-2018-16540 use-after-free in copydevice handling https://bugs.ghostscript.com/show_bug.cgi?id=699661 https://bugzilla.suse.com/show_bug.cgi?id=1107420 bsc#1107420 * CVE-2018-16539: incorrect access checking in temp file handling to disclose contents of files https://bugs.ghostscript.com/show_bug.cgi?id=699658 https://bugzilla.suse.com/show_bug.cgi?id=1107422 bsc#1107422 * CVE-2018-16543: gssetresolution and gsgetresolution allow for unspecified impact https://bugs.ghostscript.com/show_bug.cgi?id=699670 https://bugzilla.suse.com/show_bug.cgi?id=1107423 bsc#1107423 * CVE-2018-16511: type confusion in "ztype" could be used by remote attackers able to supply crafted PostScript to crash the interpreter or possibly have unspecified other impact https://bugs.ghostscript.com/show_bug.cgi?id=699659 https://bugzilla.suse.com/show_bug.cgi?id=1107426 bsc#1107426 * CVE-2018-16585 .setdistillerkeys PostScript command is accepted even though it is not intended for use https://bugzilla.suse.com/show_bug.cgi?id=1107581 bsc#1107581 * CVE-2018-16802: Incorrect"restoration of privilege" checking when running out of stack during exceptionhandling could be used by attackers able to supply crafted PostScript to execute code using the "pipe" instruction. This is due to an incomplete fix for CVE-2018-16509 https://bugs.ghostscript.com/show_bug.cgi?id=699714 https://bugs.ghostscript.com/show_bug.cgi?id=699718 https://bugzilla.suse.com/show_bug.cgi?id=1108027 bnc#1108027 Regarding what the above "should fix" means: PostScript is a general purpose Turing-complete programming language (cf. https://en.wikipedia.org/wiki/PostScript) that supports in particular file access on the system disk. When Ghostscript processes PostScript it runs a PostScript program as the user who runs Ghostscript. When Ghostscript processes an arbitrary PostScript file, the user who runs Ghostscript runs an arbitrary program which can do anything on the system where Ghostscript runs that this user is allowed to do on that system. To make it safer when Ghostscript runs a PostScript program the Ghostscript command line option '-dSAFER' disables certain file access functionality, for details see /usr/share/doc/ghostscript/9.25/Use.htm Its name 'SAFER' says everything: It makes it 'safer' to let Ghostscript run a PostScript program, but it does not make it completely safe. In theory software is safe against misuse (i.e. has no bugs). In practice there is an endless sequence of various kind of security issues (i.e. software can be misused to do more than what is intended) that get fixed issue by issue ad infinitum. In the end all that means: In practice the user who runs Ghostscript must not let it process arbitrary PostScript files from untrusted origin. In particular Ghostscript is usually run when printing documents (with the '-dSAFER' option set), see the part about "It is crucial to limit access to CUPS to trusted users" in https://en.opensuse.org/SDB:CUPS_and_SANE_Firewall_settings- Version upgrade to 9.25rc1 (first release candidate for 9.25). Highlights in this release include: * This release fixes problems with argument handling, some unintended results of the security fixes to the SAFER file access restrictions (specifically accessing ICC profile files), and some additional security issues over the 9.24 release. * Security issues have been the primary focus of this release, including solving several (well publicised) real and potential exploits. PLEASE NOTE: We (i.e. Ghostscript upstream) strongly urge users to upgrade to this latest release to avoid these issues. * Avoid that ps2epsi fails with 'Error: /undefined in --setpagedevice--' Recent changes required to harden SAFER mode mean that it is no longer possible to run ps2epsi in SAFER mode, because it relies upon unsafe Ghostscript non-standard extension operators. Removing SAFER and DELAYSAFER, and the code to reset SAFER, allow ps2epsi to run as well as it ever did (ie badly). This program (i.e. ps2epsi) should now be considered unsafe, you should not use it on untrusted PostScript programs. Likely we (i.e. Ghostscript upstream) will deprecate and remove this program in future. For details see the News.htm and History9.htm files. Regarding installing packages (in particular release candidates) from the openSUSE build service development project "Printing" see https://build.opensuse.org/project/show/Printing- Version upgrade to 9.24 Highlights in this release include: * Security issues have been the primary focus of this release, including solving several (well publicised) real and potential exploits. PLEASE NOTE: We (i.e. Ghostscript upstream) strongly urge users to upgrade to this latest release to avoid these issues. * As well as Ghostscript itself, jbig2dec has had a significant amount of work improving its robustness in the face of out specification files. * IMPORTANT: We (i.e. Ghostscript upstream) are in the process of forking LittleCMS. LCMS2 is not thread safe, and cannot be made thread safe without breaking the ABI. Our fork will be thread safe, and include performance enhancements (these changes have all be been offered and rejected upstream). We will maintain compatibility between Ghostscript and LCMS2 for a time, but not in perpetuity. Our fork will be available as its own package separately from Ghostscript (and MuPDF). * The usual round of bug fixes, compatibility changes, and incremental improvements. For a release summary see: http://www.ghostscript.com/doc/9.24/News.htm For details see the News.htm and History9.htm files. - fix_ln_docdir_gsdatadir.patch is no longer needed because the issue is fixed in the upstream sources. - CVE-2018-10194.patch is no longer needed because the issue is fixed in the upstream sources.- CVE-2018-10194.patch fixes stack-based buffer overflow in gdevpdts.c (bsc#1090099), see https://bugs.ghostscript.com/show_bug.cgi?id=699255 and http://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=39b1e54b2968620723bf32e96764c88797714879- Version upgrade to 9.23 Highlights in this release include: * Ghostscript now has a family of 'pdfimage' devices (pdfimage8, pdfimage24 and pdfimage32) which produce rendered output wrapped up as an image in a PDF. Additionally, there is a 'pclm' device which produces PCLm format output. * There is now a ColorAccuracy parameter allowing the user to decide between speed or accuracy in ICC color transforms. * JPEG Passthrough: devices which support it can now receive the 'raw' JPEG stream from the interpreter. The main use of this is the pdfwrite/ps2write family of devices that can now take JPEG streams from the input file(s) and write them unchanged to the output (thus avoiding additional quantization effects). * PDF transparency performance improvements * IMPORTANT: We (i.e. Ghostscript upstream) are in the process of forking LittleCMS. LCMS2 is not thread safe, and cannot be made thread safe without breaking the ABI. Our fork will be thread safe, and include performance enhancements (these changes have all be been offered and rejected upstream). We will maintain compatibility between Ghostscript and LCMS2 for a time, but not in perpetuity. Our fork will be available as its own package separately from Ghostscript (and MuPDF). * We have continued the focus on code hygiene in this release cleaning up security issues, ignored return values, and compiler warnings. * The usual round of bug fixes, compatibility changes, and incremental improvements. Incompatible changes * The planned device API tidy has, unfortunately, been indefinitely postponed, until appropriate resources are available. For a release summary see: http://www.ghostscript.com/doc/9.23/News.htm For details see the News.htm and History9.htm files. See also the entries below since "Version upgrade to 9.22" (boo#1082896 and boo#1074266).- For now use lcms2 from SUSE because that is what currently Ghostscript upstream recommends according to https://ghostscript.com/pipermail/gs-devel/2018-March/010061.html because since Ghostscript 9.23rc1 there is no longer lcms2 in Ghostscript but now it is lcms2art which is the beginning of a lcms2 fork, see News.htm that reads in particular "LCMS2 is not thread safe ... Our fork will be thread safe ... We will maintain compatibility between Ghostscript and LCMS2 for a time, but not in perpetuity", see also https://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c14 - On SLE11 and on SLE12-SP1 there is liblcms2-2-2.5 which is too old so that configure fails there with configure: error: lcms2 not found, or too old but there is no configure option to build it without lcms2 so that for SLE11 and SLE12-SP1 it is built with the lcms2art in Ghostscript. - ppc64le-support.patch is no longer needed because it only contained a fix for lcms2art/include/lcms2art.h in Ghostscript but currently lcms2 from SUSE is used instead (see above). - Do no longer require any fonts packages in particular neither require ghostscript-fonts-std because the PostScript Base35 fonts are provided by Ghostscript (in 'Resource') nor require ghostscript-fonts-other (provides Bitream Charter, Adobe Utopia, URW Antiqua, URW Grotesq and Hershey fonts where all but the last are also provided by texlive--fonts) and those fonts are not required for PostScript compliance, see https://bugzilla.opensuse.org/show_bug.cgi?id=1082896#c13- Version upgrade to 9.23rc1 (first release candidate for 9.23). For details see the News.htm and History9.htm files. Regarding installing packages (in particular release candidates) from the openSUSE build service development project "Printing" see https://build.opensuse.org/project/show/Printing - Adapted ppc64le-support.patch: In Ghostscript 9.23 there is now lcms2art/include/lcms2art.h (instead of lcms2/include/lcms2.h). - ghostscript-fix-debug-use.patch is no longer needed because the issue is fixed in the upstream sources. - fix_ln_docdir_gsdatadir.patch avoids "base/unixinst.mak:162: recipe for target 'install-doc' failed" - Adapted spec file to the new Ghostscript upstream documentation directory /usr/share/doc/ghostscript/9.23/- Use -p /sbin/ldconfig instead of shell post(un) scriptlet, drop explicit Prereq for ldconfig - Use shared libgs library for gs binary instead of static linked version - Use --disable-compile-inits, to allow unbundling of Resource files - Remove --disable-omni switch, has been removed in GS 9.20 - Keep patch ordering in full/mini consistent - Remove patch backup files to avoid packaging- Add ghostscript-fix-debug-use.patch from upstream to fix broken printing with some drivers (especially Dell Printers) from https://bugs.ghostscript.com/show_bug.cgi?id=698837 - Fix build for SLE targets- Version upgrade to 9.22. For details see the News.htm and History9.htm files. Highlights in this release include: * Ghostscript can now consume and produce (via the pdfwrite device) PDF 2.0 compliant files. * The main focus of this release has been security and code cleanliness. Hence many AddressSanitizer, Valgrind and Coverity issues have been addressed. * The usual round of bug fixes, compatibility changes, and incremental improvements. Incompatible changes * The planned device API tidy (still!) did not happen for this release, due to time pressures, but we still intend to undertake the following: We plan to somewhat tidy up the device API. We intend to remove deprecated device procs (methods/function pointers) and change the device API so every device proc takes a graphics state parameter (rather than the current scheme where only a very few procs take an imager state parameter). This should serve as notice to anyone maintaining a Ghostscript device outside the canonical source tree that you may (probably will) need to update your device(s) when these changes happen. Devices using only the non-deprecated procs should be trivial to update. - Up to 9.22rc1 it "just built" for all openSUSE versions but since 9.22rc2 the libijs part does no longer buid for any released openSUSE version where if fails with messages like libtool: Version mismatch error. This is libtool 2.4.6 Debian-2.4.6-2, but the definition of this LT_INIT comes from libtool 2.4.2. You should recreate aclocal.m4 with macros from libtool 2.4.6 Debian-2.4.6-2 and run autoconf again. Makefile: recipe for target 'ijs.lo' failed so that currently it only builds for Tumbleweed/Factory. Presumably it is not too complicated to make it build again also for released openSUSE versions but currently I have less than zero energy to fix such "latest breaking changes" so that for now Ghostscript 9.22 is only provided for openSUSE Tumbleweed/Factory and the upcoming SLE15/Leap15.- Version upgrade to 9.22rc2 (second release candidate for 9.22). For details see the News.htm and History9.htm files. Regarding installing packages (in particular release candidates) from the openSUSE build service development project "Printing" see https://build.opensuse.org/project/show/Printing- Version upgrade to 9.22rc1 (first release candidate for 9.22). For details see the News.htm and History9.htm files. Regarding installing packages (in particular release candidates) from the openSUSE build service development project "Printing" see https://build.opensuse.org/project/show/Printing - Since Ghostscript 9.22rc1 font2c and wftopfa are removed. - CVE-2017-5951.patch CVE-2017-7207.patch CVE-2017-8291.patch and CVE-2017-9216.patch are fixed in the version 9.22rc1 upstream sources.- CVE-2017-7207.patch fixes a NULL pointer dereference in mem_get_bits_rectangle see https://bugs.ghostscript.com/show_bug.cgi?id=697676 (bsc#1030263) - CVE-2017-9216.patch fixes a NULL pointer dereference in jbig2_huffman_get see https://bugs.ghostscript.com/show_bug.cgi?id=697934 (bsc#1040643)- CVE-2017-8291.patch fixes a type confusion in .rsdparams and .eqproc see https://bugs.ghostscript.com/show_bug.cgi?id=697808 and https://bugs.ghostscript.com/show_bug.cgi?id=697799 (bsc#1036453).- CVE-2016-10317 (bsc#1032230) heap buffer overflow in fill_threshhold_buffer() is not yet fixed because there is no fix available at https://bugs.ghostscript.com/show_bug.cgi?id=697459 - CVE-2016-10219 (bsc#1032138) divide by zero in intersect() https://bugs.ghostscript.com/show_bug.cgi?id=697453 is fixed in the version 9.21 upstream sources - CVE-2016-10218 (bsc#1032135) null pointer dereference in pdf14_pop_transparency_group() https://bugs.ghostscript.com/show_bug.cgi?id=697444 is fixed in the version 9.21 upstream sources. - CVE-2016-10217 (bsc#1032130) use-after-free in pdf14_cleanup_parent_color_profiles() that is related to pdf14_open() in base/gdevp14.c https://bugs.ghostscript.com/show_bug.cgi?id=697456 is fixed in the version 9.21 upstream sources. - CVE-2016-10220 (bsc#1032120) null pointer dereference in gx_device_finalize() that is related to gs_makewordimagedevice() in base/gsdevmem.c https://bugs.ghostscript.com/show_bug.cgi?id=697450 is fixed in the version 9.21 upstream sources. - CVE-2017-5951.patch fixes null pointer dereference in ref_stack_index() that is related to mem_get_bits_rectangle() in base/gdevmem.c https://bugs.ghostscript.com/show_bug.cgi?id=697548 (bsc#1032114)- Version upgrade to 9.21. For details see the News.htm and History9.htm files. Highlights in this release include: * pdfwrite now preserves annotations from input PDFs (where possible). * The GhostXPS interpreter now provides the pdfwrite device with the data it requires to emit a ToUnicode CMap: thus allowing fully searchable PDFs to be created from XPS input (in the vast majority of cases). * Ghostscript now allows the default color space for PDF transparency blends. * The Ghostscript/GhostPDL configure script now has much better/fuller support for cross compiling. * The tiffscaled and tiffscaled4 devices can now use ETS (Even Tone Screening) * The toolbin/pdf_info.ps utility can now emit the PDF XML metadata. * Ghostscript has a new scan converter available (currently optional, but will become the default in a near future release). It can be enabled by using the command line option: '-dSCANCONVERTERTYPE=2'. This new implementation provides vastly improved performance with large and complex paths. * The usual round of bug fixes, compatibility changes, and incremental improvements. Incompatible changes: * The planned device API tidy (still!) did not happen for this release, due to time pressures, but we still intend to undertake the following: We plan to somewhat tidy up the device API. We intend to remove deprecated device procs (methods/function pointers) and change the device API so every device proc takes a graphics state parameter (rather than the current scheme where only a very few procs take an imager state parameter). This should serve as notice to anyone maintaining a Ghostscript device outside the canonical source tree that you may (probably will) need to update your device(s) when these changes happen. Devices using only the non-deprecated procs should be trivial to update. - CVE-2016-7976.patch and CVE-2016-7977.patch and CVE-2016-7978.patch and CVE-2016-7979.patch and CVE-2016-8602.patch are no longer needed because those issues are fixed in the upstream sources. - 0001-mkromfs-make-build-reproducible-use-buildtime-from-S.patch and 0002-mkromfs-sort-gp_enumerate_files-output-for-determini.patch are no longer needed because both are included in the upstream sources, see the upstream issue https://bugs.ghostscript.com/show_bug.cgi?id=697484 - Again use the zlib sources from Ghostscript upstream and disable remove-zlib-h-dependency.patch because Ghostscript 9.21 does no longer build this way, cf. the entry below dated "Wed Nov 18 11:46:58 UTC 2015"- Set SOURCE_DATE_EPOCH based on changelog head - Add 0001-mkromfs-make-build-reproducible-use-buildtime-from-S.patch * Use SOURCE_DATE_EPOCH for mkromfs output for reproducible build - Add 0002-mkromfs-sort-gp_enumerate_files-output-for-determini.patch * Sort ROM contents for deterministic output- CVE-2013-5653 (getenv and filenameforall ignore -dSAFER) is fixed in the Ghostscript 9.20 upstream sources see http://bugs.ghostscript.com/show_bug.cgi?id=694724 (bsc#1001951). - CVE-2016-7976.patch fixes that various userparams allow %pipe% in paths, allowing remote shell command execution see http://bugs.ghostscript.com/show_bug.cgi?id=697178 (bsc#1001951). - CVE-2016-7977.patch fixes that .libfile doesn't check PermitFileReading array, allowing remote file disclosure see http://bugs.ghostscript.com/show_bug.cgi?id=697169 (bsc#1001951). - CVE-2016-7978.patch fixes that reference leak in .setdevice allows use-after-free and remote code execution see http://bugs.ghostscript.com/show_bug.cgi?id=697179 (bsc#1001951). - CVE-2016-7979.patch fixes that type confusion in .initialize_dsc_parser allows remote code execution see http://bugs.ghostscript.com/show_bug.cgi?id=697190 (bsc#1001951). - CVE-2016-8602.patch fixes a NULL dereference in .sethalftone5 see http://bugs.ghostscript.com/show_bug.cgi?id=697203 (bsc#1004237).- Version upgrade to 9.20. Purely a maintenance release. For details see the News.htm and History9.htm files. Highlights in this release include: * The usual round of bug fixes, compatibility changes, and incremental improvements. Incompatible changes: * The planned device API tidy did not happen for this release, due to time pressures, but we still intend to undertake the following: We plan to somewhat tidy up the device API. We intend to remove deprecated device procs (methods/function pointers) and change the device API so every device proc takes a graphics state parameter (rather than the current scheme where only a very few procs take an imager state parameter). This should serve as notice to anyone maintaining a Ghostscript device outside the canonical source tree that you may (probably will) need to update your device(s) when these changes happen. Devices using only the non-deprecated procs should be trivial to update.- Version upgrade to 9.20rc1 (first release candidate for 9.20). For details see the News.htm and History9.htm files. Regarding installing packages (in particular release candidates) from the openSUSE build service development project "Printing" see https://build.opensuse.org/project/show/Printing- Version upgrade to 9.19. Mainly a maintenance release. For details see the News.htm and History9.htm files. Highlights in this release include: * Metadata pdfmark is now implemented. This allows the user to specify an XMP stream which will be written to the Catalog of the PDF file. A new pdfmark 'Ext_Metadata' has been defined. This takes a string parameter which contains XML to be add to the XMP normally created by pdfwrite. See "pdfwrite pdfmark extensions" for more information. * An experimental, rudimentary raster trapping implementation has been added to the Ghostscript graphics library. See "Trapping" for details. Incompatible changes: * (Minor) API change: copy_alpha now supports 8 bit depth (as well as the previous 2 and 4). * The gs man pages are woefully out of date and basically unmaintained. With the release following 9.19, we intend to replace their contents with a very limited summary of (unlikely to ever change aspects of) calling Ghostscript, and a pointer to the (maintained) HTML documentation. That is, unless a volunteer is willing to update, and commit to maintaining the man pages. * ijs-config is no longer provided Planned incompatible changes: * We plan (ideally for the release following 9.19) to somewhat tidy up the device API. We plan to remove deprecated device procs (methods/function pointers). We also intend to merge the imager state and graphics state (thus eliminating the imager state), and change the device API so every device proc takes a graphics state parameter (rather than the current scheme where only a very few procs take an imager state parameter). This should serve as notice to anyone maintaining a Ghostscript device outside the canonical source tree that you may (probably will) need to update your device(s) when these changes happen. Devices using only the non-deprecated procs should be trivial to update. - fix_make_install.patch fixes and add_brackets_for_old_autoconf.patch are no longer needed because both issues are fixed in the upstream sources.- Version upgrade to 9.19rc1 (first release candidate for 9.19). For details see the News.htm and History9.htm files. Regarding installing packages (in particular release candidates) from the openSUSE build service development project "Printing" see https://build.opensuse.org/project/show/Printing - ijs-config is no longer provided - fix_make_install.patch fixes an install error and add_brackets_for_old_autoconf.patch fixes an autoconf error see http://bugs.ghostscript.com/show_bug.cgi?id=696665 - fix_ijs_and_x11_for_FirstPage_and_LastPage.patch is no longer needed because it is fixed in the upstream sources. - install_gserrors.h.patch is no longer needed because it is fixed in the upstream sources.- Do not use library sources for freetype jpeg libpng tiff zlib from the Ghostscript upstream tarball because we prefer to use for long-established standard libraries the ones from SUSE in particular to automatically get SUSE security updates for standard libraries. In contrast we use e.g. lcms2 from the Ghostscript upstream tarball because this one is specially modified to work with Ghostscript so that we cannot use lcms2 from SUSE. - remove-zlib-h-dependency.patch removes dependency on zlib/zlib.h in makefiles as we do not use the zlib sources from the Ghostscript upstream tarball.- An incompatible change appeared when building other software with Ghostscript 9.18. Since version 9.18 Ghostscript does no longer provide e_ (e.g. e_NeedInput) in its header files (gserrors.h and ierrors.h). When building other software with Ghostscript 9.18 gs_error_ (e.g. gs_error_NeedInput) must be used, see boo#953149 and http://bugs.ghostscript.com/show_bug.cgi?id=696317- install_gserrors.h.patch installs gserrors.h to fix http://bugs.ghostscript.com/show_bug.cgi?id=696301 because without gserrors.h several other packages fail to build (in particular texlive, libspectre, gimp,...).- fix_ijs_and_x11_for_FirstPage_and_LastPage.patch fixes the Ghostscript device ijs and the x11* devices so that they also work when -dFirstPage/-dLastPage is used, see http://bugs.ghostscript.com/show_bug.cgi?id=696246- Version upgrade to 9.18. A maintenance release. There are no recorded incompatible changes (as of this writing). Highlights in this release include: * A substantial revision of the build system and GhostPDL directory structure. Ghostscript-only users should not be affected by this change. * A new method of internally inserting devices into the device chain has been developed, named "device subclassing". This allows suitably written devices to be more easily and consistently as "filter" devices. The first fruit of this is a new implementation of the "-dFirstPage"/"-dLastPage" feature which functions a device filter in the Ghostscript graphics library, meaning it works consistently with all input languages. * Plus the usual round of bug fixes, compatibility changes, and incremental improvements. See http://www.ghostscript.com/doc/9.18/News.htm For details see the News.htm and History9.htm files.- Version upgrade to 9.18rc2 (second release candidate for 9.18). For details see the News.htm and History9.htm files. Regarding installing packages (in particular release candidates) from the openSUSE build service development project "Printing" see https://build.opensuse.org/project/show/Printing - assign_pointer_not_value_in_gximono.c.patch is no longer needed because it is fixed in the upstream sources.- Version upgrade to 9.18rc1 (first release candidate for 9.18). For details see the News.htm and History9.htm files. Regarding installing packages (in particular release candidates) from the openSUSE build service development project "Printing" see https://build.opensuse.org/project/show/Printing - CVE-2015-3228.patch is no longer needed because it is fixed in the upstream sources. - assign_pointer_not_value_in_gximono.c.patch attempts to fix a "assignment makes pointer from integer without a cast" compiler warning by assigning the pointer and not the integer value. - Removed --disable-compile-inits from configure, see http://bugs.ghostscript.com/show_bug.cgi?id=696223 and "Precompiled run-time data" in /usr/share/ghostscript/9.18/doc/Make.htm- CVE-2015-3228.patch fixes out of bound read/write cause by integer overflow in gsmalloc.c (boo#939342).- Version upgrade to 9.16. Primarily a maintenance release. There are no recorded incompatible changes (as of this writing). Highlights in this release include: * "LockColorants" command line option for tiffsep and psdcmyk devices. * Improved high level devices handling of Forms. See http://www.ghostscript.com/doc/9.16/News.htm For details see the News.htm and History9.htm files. - fix.including.pread.pwrite.pthread_mutexattr_settype.diff is no longer needed because it is fixed in the upstream sources.- fix.including.pread.pwrite.pthread_mutexattr_settype.diff fixes on SLE11 implicit declaration of function warnings for 'pread' 'pwrite' 'pthread_mutexattr_settype' see http://bugs.ghostscript.com/show_bug.cgi?id=695882 - ppc64le-support.patch is a remainder of the previous patch now the hunk for LCMS (lcms/include/lcms.h) is removed because LCMS 1.x is removed since Ghostscript 9.16 but the hunk for LCMS2 (lcms2/include/lcms2.h) is still needed see http://bugs.ghostscript.com/show_bug.cgi?id=695544- Version upgrade to 9.16rc2 (second release candidate for 9.16). For details see the News.htm and History9.htm files. Regarding installing packages (in particular release candidates) from the openSUSE build service development project "Printing" see https://build.opensuse.org/project/show/Printing- For SLE12 build it with traditional CUPS 1.5.4 to ensure it works on SLE12 both with CUPS 1.7.5 and CUPS 1.5.4./bin/sh/bin/sh/sbin/ldconfigghostscript-libraryghostscript-libraryghostscript-miniibs-power9-17 1721142560 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy9.52-150000.197.19.52-150000.197.19.52-150000.197.19.529.529.52            gsdvipdfeps2epsgsgs.bingsbjgsdjgsdj500gsljgslpgsndlprsetup.shpdf2dscpdf2pspf2afmpfbtopfapphsprintafmps2asciips2epsips2pdfps2pdf12ps2pdf13ps2pdf14ps2pdfwrps2psps2ps2unix-lpr.shghostscript9.52libgs.so.9libgs.so.9.52libijs-0.35.soghostscript9.52API.htmC-style.htmCOPYINGCommprod.htmDLL.htmDeprecated.htmDevelop.htmDevices.htmDrivers.htmFonts.htmGS9_Color_Management.pdfHistory9.htmInstall.htmLICENSELanguage.htmLib.htmMake.htmNews.htmPs-style.htmPs2epsi.htmPsfiles.htmReadme.htmRelease.htmSavedPages.htmSource.htmUnix-lpr.htmUse.htmVectorDevices.htmWhatIsGS.htmcatalog.devicesgdevds32.cgs-style.cssimagesArtifex_logo.pngfavicon.pngghostscript_logo.pnghamburger-light.pngx-light.pngindex.htmlindex.jspscet_status.txtsample_downscale_device.htmstyle.csssubclass.htmthirdparty.htmghostscriptghostscript9.52ResourceCIDFSubstDroidSansFallback.ttfCIDFontArtifexBulletCMap78-EUC-H78-EUC-V78-H78-RKSJ-H78-RKSJ-V78-V78ms-RKSJ-H78ms-RKSJ-V83pv-RKSJ-H90ms-RKSJ-H90ms-RKSJ-V90msp-RKSJ-H90msp-RKSJ-V90pv-RKSJ-H90pv-RKSJ-VAdd-HAdd-RKSJ-HAdd-RKSJ-VAdd-VAdobe-CNS1-0Adobe-CNS1-1Adobe-CNS1-2Adobe-CNS1-3Adobe-CNS1-4Adobe-CNS1-5Adobe-CNS1-6Adobe-CNS1-7Adobe-GB1-0Adobe-GB1-1Adobe-GB1-2Adobe-GB1-3Adobe-GB1-4Adobe-GB1-5Adobe-Japan1-0Adobe-Japan1-1Adobe-Japan1-2Adobe-Japan1-3Adobe-Japan1-4Adobe-Japan1-5Adobe-Japan1-6Adobe-Japan2-0Adobe-Korea1-0Adobe-Korea1-1Adobe-Korea1-2B5-HB5-VB5pc-HB5pc-VCNS-EUC-HCNS-EUC-VCNS1-HCNS1-VCNS2-HCNS2-VETHK-B5-HETHK-B5-VETen-B5-HETen-B5-VETenms-B5-HETenms-B5-VEUC-HEUC-VExt-HExt-RKSJ-HExt-RKSJ-VExt-VGB-EUC-HGB-EUC-VGB-HGB-VGBK-EUC-HGBK-EUC-VGBK2K-HGBK2K-VGBKp-EUC-HGBKp-EUC-VGBT-EUC-HGBT-EUC-VGBT-HGBT-VGBTpc-EUC-HGBTpc-EUC-VGBpc-EUC-HGBpc-EUC-VHHKdla-B5-HHKdla-B5-VHKdlb-B5-HHKdlb-B5-VHKgccs-B5-HHKgccs-B5-VHKm314-B5-HHKm314-B5-VHKm471-B5-HHKm471-B5-VHKscs-B5-HHKscs-B5-VHankakuHiraganaHojo-EUC-HHojo-EUC-VHojo-HHojo-VIdentity-HIdentity-UTF16-HIdentity-VKSC-EUC-HKSC-EUC-VKSC-HKSC-Johab-HKSC-Johab-VKSC-VKSCms-UHC-HKSCms-UHC-HW-HKSCms-UHC-HW-VKSCms-UHC-VKSCpc-EUC-HKSCpc-EUC-VKatakanaNWP-HNWP-VRKSJ-HRKSJ-VRomanUniCNS-UCS2-HUniCNS-UCS2-VUniCNS-UTF16-HUniCNS-UTF16-VUniCNS-UTF32-HUniCNS-UTF32-VUniCNS-UTF8-HUniCNS-UTF8-VUniGB-UCS2-HUniGB-UCS2-VUniGB-UTF16-HUniGB-UTF16-VUniGB-UTF32-HUniGB-UTF32-VUniGB-UTF8-HUniGB-UTF8-VUniHojo-UCS2-HUniHojo-UCS2-VUniHojo-UTF16-HUniHojo-UTF16-VUniHojo-UTF32-HUniHojo-UTF32-VUniHojo-UTF8-HUniHojo-UTF8-VUniJIS-UCS2-HUniJIS-UCS2-HW-HUniJIS-UCS2-HW-VUniJIS-UCS2-VUniJIS-UTF16-HUniJIS-UTF16-VUniJIS-UTF32-HUniJIS-UTF32-VUniJIS-UTF8-HUniJIS-UTF8-VUniJIS2004-UTF16-HUniJIS2004-UTF16-VUniJIS2004-UTF32-HUniJIS2004-UTF32-VUniJIS2004-UTF8-HUniJIS2004-UTF8-VUniJISPro-UCS2-HW-VUniJISPro-UCS2-VUniJISPro-UTF8-VUniJISX0213-UTF32-HUniJISX0213-UTF32-VUniJISX02132004-UTF32-HUniJISX02132004-UTF32-VUniKS-UCS2-HUniKS-UCS2-VUniKS-UTF16-HUniKS-UTF16-VUniKS-UTF32-HUniKS-UTF32-VUniKS-UTF8-HUniKS-UTF8-VVWP-SymbolColorSpaceDefaultCMYKDefaultGrayDefaultRGBTrivialCMYKsGraysRGBDecodingFCO_DingbatsFCO_SymbolFCO_UnicodeFCO_WingdingsLatin1StandardEncodingUnicodeEncodingCEEncodingExpertEncodingExpertSubsetEncodingNotDefEncodingWingdingsFontC059-BdItaC059-BoldC059-ItalicC059-RomanD050000LNimbusMonoPS-BoldNimbusMonoPS-BoldItalicNimbusMonoPS-ItalicNimbusMonoPS-RegularNimbusRoman-BoldNimbusRoman-BoldItalicNimbusRoman-ItalicNimbusRoman-RegularNimbusSans-BoldNimbusSans-BoldItalicNimbusSans-ItalicNimbusSans-RegularNimbusSansNarrow-BoldNimbusSansNarrow-BoldObliqueNimbusSansNarrow-ObliqueNimbusSansNarrow-RegularP052-BoldP052-BoldItalicP052-ItalicP052-RomanStandardSymbolsPSURWBookman-DemiURWBookman-DemiItalicURWBookman-LightURWBookman-LightItalicURWGothic-BookURWGothic-BookObliqueURWGothic-DemiURWGothic-DemiObliqueZ003-MediumItalicIdiomSetPscript5IdiomInitFAPIcidfmapFAPIconfigFAPIfontmapFCOfontmap-PCLPS2FontmapFontmap.GScidfmapgs_agl.psgs_btokn.psgs_cet.psgs_cff.psgs_cidcm.psgs_ciddc.psgs_cidfm.psgs_cidfn.psgs_cidtt.psgs_cmap.psgs_cspace.psgs_dbt_e.psgs_diskn.psgs_dps1.psgs_dps2.psgs_dscp.psgs_epsf.psgs_fapi.psgs_fntem.psgs_fonts.psgs_frsd.psgs_icc.psgs_il1_e.psgs_img.psgs_init.psgs_lev2.psgs_ll3.psgs_mex_e.psgs_mgl_e.psgs_mro_e.psgs_pdf_e.psgs_pdfwr.psgs_res.psgs_resmp.psgs_setpd.psgs_statd.psgs_std_e.psgs_sym_e.psgs_trap.psgs_ttf.psgs_typ32.psgs_typ42.psgs_type1.psgs_wan_e.pspdf_base.pspdf_draw.pspdf_font.pspdf_main.pspdf_ops.pspdf_rbld.pspdf_sec.psxlatmapSubstCIDCNS1-WModeGB1-WModeJapan1-WModeKorea1-WModeexamplesalphabet.psannots.pdfcjkall_ac1.psall_ag1.psall_aj1.psall_aj2.psall_ak1.psarticle9.psgscjk_ac.psgscjk_ag.psgscjk_aj.psgscjk_ak.psiso2022.psiso2022v.pscolorcir.psdoretree.psescher.psgolfer.epsgrayalph.psridt91.epssnowflak.pstext_graph_image_cmyk_rgb.pdftext_graphic_image.pdftiger.epstransparency_example.psvasarely.pswaterfal.psiccprofilesa98.iccdefault_cmyk.iccdefault_gray.iccdefault_rgb.iccesrgb.iccgray_to_k.icclab.iccps_cmyk.iccps_gray.iccps_rgb.iccrommrgb.iccscrgb.iccsgray.iccsrgb.icclibPDFA_def.psPDFX_def.psPM760p.uppPM760pl.uppPM820p.uppPM820pl.uppStc670p.uppStc670pl.uppStc680p.uppStc680pl.uppStc740p.uppStc740pl.uppStc760p.uppStc760pl.uppStc777p.uppStc777pl.uppStp720p.uppStp720pl.uppStp870p.uppStp870pl.uppacctest.psalign.psbj8.rpdbj8gc12f.uppbj8hg12f.uppbj8oh06n.uppbj8pa06n.uppbj8pp12f.uppbj8ts06n.uppbjc6000a1.uppbjc6000b1.uppbjc610a0.uppbjc610a1.uppbjc610a2.uppbjc610a3.uppbjc610a4.uppbjc610a5.uppbjc610a6.uppbjc610a7.uppbjc610a8.uppbjc610b1.uppbjc610b2.uppbjc610b3.uppbjc610b4.uppbjc610b6.uppbjc610b7.uppbjc610b8.uppcaption.pscbjc600.ppdcbjc800.ppdcdj550.uppcdj690.uppcdj690ec.uppcid2code.psdmp_init.psdmp_site.psdnj750c.uppdnj750m.uppdocie.psescp_24.srcfont2pcl.psghostpdf.ppdgs_ce_e.psgs_il2_e.psgs_kanji.psgs_ksb_e.psgs_l.xbmgs_l.xpmgs_l_m.xbmgs_lgo_e.psgs_lgx_e.psgs_m.xbmgs_m.xpmgs_m_m.xbmgs_s.xbmgs_s.xpmgs_s_m.xbmgs_t.xbmgs_t.xpmgs_t_m.xbmgs_wl1_e.psgs_wl2_e.psgs_wl5_e.psgslp.psgsnup.psht_ccsto.psimage-qa.psjispaper.pslandscap.pslines.psmkcidfm.psnecp2x.uppnecp2x6.upppdf2dsc.pspdf_info.pspf2afm.pspfbtopfa.psppath.pspphs.psprfont.psprintafm.psps2ai.psps2epsi.psras1.uppras24.uppras3.uppras32.uppras4.uppras8m.upprollconv.pss400a1.upps400b1.uppsharp.uppsipixa6.uppst640ih.uppst640ihg.uppst640p.uppst640pg.uppst640pl.uppst640plg.uppstc.uppstc1520h.uppstc2.uppstc200_h.uppstc2_h.uppstc2s_h.uppstc300.uppstc300bl.uppstc300bm.uppstc500p.uppstc500ph.uppstc600ih.uppstc600p.uppstc600pl.uppstc640p.uppstc740ih.uppstc800ih.uppstc800p.uppstc800pl.uppstc_h.uppstc_l.uppstcany.uppstcany_h.uppstcinfo.psstcolor.psstocht.pstraceimg.pstraceop.psuninfo.psviewcmyk.psviewgif.psviewjpeg.psviewmiff.psviewpbm.psviewpcx.psviewps2a.pswinmaps.pszeroline.psdvipdf.1.gzeps2eps.1.gzgsnd.1.gzpdf2dsc.1.gzpdf2ps.1.gzprintafm.1.gzps2ascii.1.gzps2pdf.1.gzps2pdf12.1.gzps2pdf13.1.gzps2pdf14.1.gzps2ps.1.gzdvipdf.1.gzeps2eps.1.gzgs.1.gzgsbj.1.gzgsdj.1.gzgsdj500.1.gzgslj.1.gzgslp.1.gzgsnd.1.gzpdf2dsc.1.gzpdf2ps.1.gzpf2afm.1.gzpfbtopfa.1.gzprintafm.1.gzps2ascii.1.gzps2epsi.1.gzps2pdf.1.gzps2pdf12.1.gzps2pdf13.1.gzps2pdf14.1.gzps2pdfwr.1.gzps2ps.1.gz/etc/alternatives//usr/bin//usr/lib64//usr/lib64/ghostscript//usr/share/doc//usr/share/doc/ghostscript//usr/share/doc/ghostscript/9.52//usr/share/doc/ghostscript/9.52/images//usr/share/doc/packages//usr/share//usr/share/ghostscript//usr/share/ghostscript/9.52//usr/share/ghostscript/9.52/Resource//usr/share/ghostscript/9.52/Resource/CIDFSubst//usr/share/ghostscript/9.52/Resource/CIDFont//usr/share/ghostscript/9.52/Resource/CMap//usr/share/ghostscript/9.52/Resource/ColorSpace//usr/share/ghostscript/9.52/Resource/Decoding//usr/share/ghostscript/9.52/Resource/Encoding//usr/share/ghostscript/9.52/Resource/Font//usr/share/ghostscript/9.52/Resource/IdiomSet//usr/share/ghostscript/9.52/Resource/Init//usr/share/ghostscript/9.52/Resource/SubstCID//usr/share/ghostscript/9.52/examples//usr/share/ghostscript/9.52/examples/cjk//usr/share/ghostscript/9.52/iccprofiles//usr/share/ghostscript/9.52/lib//usr/share/man/de/man1//usr/share/man/man1/-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:34801/SUSE_SLE-15_Update/59626b931b4e7748d56baf7eec9ceff9-ghostscript.SUSE_SLE-15_Updatedrpmxz5ppc64le-suse-linux      !"#$%&'()*+,-./01234567777788797:7;7<7;777777777====77777777777777>>?>>>>>??????????????POSIX shell script, ASCII text executableELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=3591e75e367146703b5af6918878003322d34a0a, for GNU/Linux 3.10.0, strippedPOSIX shell script, ASCII text executable, with overstrikingdirectoryELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=5fb42724b094aa1a129a77a460628eb108a43154, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=9a53f90ab8acaa54bd4d0fdfb5aeb453ecb4af31, strippedHTML document, UTF-8 Unicode textASCII textC source, UTF-8 Unicode textHTML document, UTF-8 Unicode text, with very long linesC source, ASCII textPNG image data, 194 x 40, 8-bit colormap, non-interlacedPNG image data, 32 x 32, 8-bit/color RGBA, non-interlacedPNG image data, 108 x 119, 8-bit/color RGBA, non-interlacedPNG image data, 20 x 15, 8-bit gray+alpha, non-interlacedHTML document, ASCII textTrueType Font data, 16 tables, 1st "FFTM", name offset 0x3be414PostScript document text conforming DSC level 3.0, Level 3PostScript document text conforming DSC level 3.0PostScript Type 1 font text (C059-BdIta 1.00)PostScript Type 1 font text (C059-Bold 1.00)PostScript Type 1 font text (C059-Italic 1.00)PostScript Type 1 font text (C059-Roman 1.00)PostScript Type 1 font text (D050000L 2.00)PostScript Type 1 font text (NimbusMonoPS-Bold 1.00)PostScript Type 1 font text (NimbusMonoPS-BoldItalic 1.00)PostScript Type 1 font text (NimbusMonoPS-Italic 1.00)PostScript Type 1 font text (NimbusMonoPS-Regular 1.00)PostScript Type 1 font text (NimbusRoman-Bold 1.00)PostScript Type 1 font text (NimbusRoman-BoldItalic 1.00)PostScript Type 1 font text (NimbusRoman-Italic 1.00)PostScript Type 1 font text (NimbusRoman-Regular 1.00)PostScript Type 1 font text (NimbusSans-Bold 1.00)PostScript Type 1 font text (NimbusSans-BoldItalic 1.00)PostScript Type 1 font text (NimbusSans-Italic 1.00)PostScript Type 1 font text (NimbusSans-Regular 1.00)PostScript Type 1 font text (NimbusSansNarrow-Bold 1.00)PostScript Type 1 font text (NimbusSansNarrow-BoldOblique 1.00)PostScript Type 1 font text (NimbusSansNarrow-Oblique 1.00)PostScript Type 1 font text (NimbusSansNarrow-Regular 1.00)PostScript Type 1 font text (P052-Bold 1.00)PostScript Type 1 font text (P052-BoldItalic 1.00)PostScript Type 1 font text (P052-Italic 1.00)PostScript Type 1 font text (P052-Roman 1.00)PostScript Type 1 font text (StandardSymbolsPS 2.00)PostScript Type 1 font text (URWBookman-Demi 1.00)PostScript Type 1 font text (URWBookman-DemiItalic 1.00)PostScript Type 1 font text (URWBookman-Light 1.00)PostScript Type 1 font text (URWBookman-LightItalic 1.00)PostScript Type 1 font text (URWGothic-Book 1.00)PostScript Type 1 font text (URWGothic-BookOblique 1.00)PostScript Type 1 font text (URWGothic-Demi 1.00)PostScript Type 1 font text (URWGothic-DemiOblique 1.00)PostScript Type 1 font text (Z003-MediumItalic 1.00)PostScript document textassembler source, ASCII textPostScript document text conforming DSC level 2.0PostScript document text conforming DSC level 1.0PostScript document text conforming DSC level 2.0, type EPSPostScript document text conforming DSC level 3.0, type EPSX pixmap image, ASCII texttroff or preprocessor input, UTF-8 Unicode text (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix) .RRRR RRRRRRRRRRRRRRRRRRRRRRRRPRRR RRRRRRRRRR R R RRPRRjzWaERˣcups-filters-ghostscriptghostscript-x119.52-150000.197.1utf-8b27d63842e0f4e7e70c01ff1f73deff7ddd8930323ed9e1272f27731dd96815c?@7zXZ !t/x]"k%׶\ӧ@]b͕dzjM~L"> oʄaz$Ie#3ۄ47$FU`b$۸qX?! _/^.,7UzRoSKV!.^ czVSʏU4U#$6 >/[|⬭[>xчϣ= 3:$sh\2D`YXbap`Q*6PضQ./JѤE^*5k_oyD!Z]?Qd֟d Kl_4$:@"E8\";!#ѢL`M &GuM]SH) E@LAB =ϵh8\!%hL(~ĚLH_R9<YKHA$"=*O(ˆPDQ{uvn=C` xK[\l;ED1 A4oik:[00O[17E?iM.+3v2f 2j/rq%E͏8$Ʃ(fhPd(lZ0+F? gPtDžz+zALGo j* =+ ` 51AP-*{ >P1ɔrh"Urb%5 qO2I}8Nw/H-}"_MGPܳ7E={.sDapBM'\|s}ZۚBA#dڮ!0 w"ِI4K2^1v+d `7: ۏa;ye/ʳ^n7|]JH(ߪHa-ÚdW^r$ +̗RDxQxCYପ?Fî$ ,pqH=sX͆*yAo]>|!TscD[h0B%*T, ]KAHI6 {UғS1D*Ѱi+l<"69Ac2COZ +Av*V]yD~LS?^q7}qK&vǘ3 MjK'Ch{`? \F$f|>>}LgC6UQgA5Vk9}{ZbL,[]Y9%!'/[l <1o!FI+җ;4b<|cTo_ ^Cs F`$VmM@*?>?d`A <"D x-Es= Ty VmX)P%p^vm8¿NZ\t"%~yO1 J0wNw8)+#o#`mQ}8\0fGm0d4廙=I!á Y'_d;ːN~ :U ̃ȉp <θJP WVݵq~heJD٥QPyR|`P4X$1] 9%ɴh)@;chMv5^L\B\Ay6\t9u Y_kӎAׁ@g%K ,ݘ=( Z"PU J-_XN5X ~t*_tS6Lm{|E|)OإtV:=O s Mhxi/4I?ܚB,f*rܐd驕ު5U 6$8,̒C c= Zv?28\B8Ho]G0om?C5V|".ْxi`n?{S[txoFM,J*PPwJ~{w8ĝCэW+7wzugdX.S FuF½D?I~]D}U\Ran 6{K@Ia7육֜0'ꤚ(v#0Ψԩɰ^ԯ8E)L &+Ày! C"!=LGbu/FPwZk|A)*0OlJ2DI"rm$}j-ay(l- }3sŬu9͂0YB*61%gjȡn?Β{2BϾlP3s失N4r}LwG>GgfFg UYP뚶> j6zEڮQ~ &T/g$-M Eʼ甌NJynINd Y+f"-xF\ = g,[5K e<ҏGkCZq+-Smmi :r M`“ ٠ bZs=RU"&L[95'P3aJ " /LE ^Uo"-׺79m$KeUaҍԇ!p_ȁhc?%?9!tJ܏&f ~#<EZvV¨a{gZ/\f%k0$EԫowEW~cEf'ĵ8ϛ" X}8y!ԧPe^_"`i;',Ej:p@“NZ8S-Lɉy]kYZ]/_g2і;闟*ԴuKt!h]% xS^Á; m>׮xgO[Jny+|q|ÀOi5ztPYfr?ٍۈ;zTQWW0m gxuwFyˉ\= 6$QI}3_ZS ]}3=Dik¾r0]❑vi1|OrͯT??+\b`sNgΣw}rm|+87;Y+ß\7ao%t9vH'N%T6::CɊQw0azRe%)~y4xF79$9ؿJv سDNz7/'C[>2f%ꗄ&UU=\jO}]ø{O\۞ Ĭ>@1LjRh  UVJz1/.L i4a2F>e>"eJs6oI7;4ަ"jeyW*4ƁĝI{CaTj7K^Wadm wkh}BU!Ý 3.frJt xfox̆N]]$ŬUM9>T(߻^k>Zz,OL|[d7G>4;rU`&'ڭ|;.tKtŎ;-9dJ@"fMlN}v;GMH*ɔ=uF&Z?FmĥN'_oYƼ7_| Zare/s1v$FRMLCS(’V=!wVjNc]K`_WD_ЗFh Ff"v4v\VAt^qJibjZ*II_6Knf[GFϳb>(Ot/zQ S[R%Nq(~迯kЃ+k}Na˧K TȩIacIU[Y+IcqH+3!;;|'(> pW0J&6}Ϻ: )(;Vуvoo;`Sj`̾ҷY}skʠO: K=!: q$ފKrQnnntuϏw$![.˼XZ` #WճjȄ‡(V"(NN;@eאi_HcNÝ.ӄe5FX5Gt:J%ޥ++(}^ct"|k3̀x>C#ga+3kbQS_+ry.Tsl?Z{wIHxS2"(QPIBzlI[tB"=jNp8y-` hZ][Hl6gd*DRӎT[$\?ҙ&"Cc =ɔS(^ӕOOp% ?(gA|j&]JKU a="%a,'g%Ny45^x |XHuCKEy= O#Mյ Bp8Âߡ1q,K&SyY=ݷ}aOe+<\]6vm% 43T;U=KtM yET?wW@5TΊ(wt|;"ZWP#6d;^ȩ%?W%\vf&p<^')ZmS ymmPѬ ~9^v]HsLh\j=YV@"̋fbfAv|_uWGoz1YT/C b"cNGZ1[ +IU2(\iRBښav])_'om[8>Qf灸q hӖ75 EĶ'3 7:GU|t;vT{Ǥ b+Vc9XpuPEUt']v;oڻ_!4H8vU5&ښq56PtENALUTsء.ϲ3E|0T _(^+it/l M3ѥ]D|~~Rn~inZ,-W*GYV'JmRB l:WV' :5T3BAo9mzỲFcZQ:Y/ζDUMX`\^8&:g璳|\uc4YC{ǽ;}`-xg'0 9oz n<ѵІ t) lcVGE^?(USępx'~>Jw@tgCs"0d~vmwLI۲]TmĐ$aH8'ENEYԵu/Pg@ខ*źU(2:rE l6Zv]aAKh͊ή)`[8Uf({k\>|`^?fe'ưol$eph'A8.5nEtaiW=dS`&&8#8> ecp7ben{H֮O1]N rZJBf̱"徼3&z㤏Du='0JZ@8;CPUT:ֆVQyMKO7 kѣvr9YG2#hL&f;^GT`e_qI'-JJxL_6P^d"ȞSQ&ƺI~܉gowboҴ9qe/{v07Q&'ouz`_-̮?"aX2}̹\ :oZ3z01i]Tچᣧd^"u@ya9^+lqb9>ocCnkr5zI2t0r:q>KGa3uOnfb%MMYUu̥ im]#wNCE6(}^pߕ/XCP8l㶗_I&Eެz`v76خ:U,Re<@OHxÅOhfER4hF.m ,{vXP<^;<#!@-b%\5q/*n)٨@fԼU J!QXڲ# OL,YϓApyJ캏XZ$CM$J}n)MFaC8K@'os޸ 0(NQW}R[p_T+`6g/+EJ8#EVx,LרsT=ͣZ~? 9dvAzвvl3p^Q-a$wڼޯsjj $詃@p:ҶkQtfK3*e7mJ=W(pպظR]}Nk01HC}4H2~X0ڦ]p.sO0 ѥ{ [".Ѧ,RT4ߧNp=T>L:VÑ*xw^1S E=AksSC.ٝ-tdy&_@aRW4씐K3WZ6W,5>zp &ulKe PoM ZLm# WUHp |!U7W[ޫY+Kf<q֡<1~&'(gVnHSޓ눳&@w>I87hrՃc~P3X#4O-_UW &a9fqm11s,[asY!Z m/$z(jb R1izh&t}bv-؊L+*˦u,EC)4Ⱦ"WEBDP)&\dK 8U-27ކ3/[GO]ZHĽj<^vaxSCcb! Mkq,Gf6=y&D%ƒd[A2E+"bR YSv L~՘WcE߫),m^xBRqF $i#Ҷ$rJF.'Ŵz@^]&;20%-)3eAb>aƵ_u*yLڋ3"e2;o>(*]CR_dKZOu<ƥrmrHةdP \x$pdy3 tA &0nI yi ùFY6 XixǺd QF">;"nާ53JSI-ְ+4ۭVD]?JL{3kdl n.Y$# kuns^esIit kG_c~49' jf-*HvK .&3`e:ErjtrXSzA2\ٕ3k<3R4H5D Go<QL z 4L!j6UiۤE{ %N^WWU4yPR(Φ]ʖ?'<4PTI*m^Y09ƹ&?.xsf+$0PNtZU[ ;!IAD  N"|4v Ol0bVyJнs͢Efu zU.̀Ypņ[y", il6`|sfN,9*xsB$S$xSe*~i 13".0Mh}h[ Q̽J3%7#UT̍Z"LU 1Ih-I& #dp̞/Lcu9h.FMOvTl@ӡ81)P eFlk ʥqE`}ANQQnhuf^uMv4F!qL w@CCuyVKD,r0ue 6u+v Ӻz([5%+.n~z'Iu뗟% [fn+~(Q6d~uBaut Eys` ɃV U(\9yM/z4^(~[ZG'FNE2 gkw^dWG j̉ң493u;./L&? ݗ^|m`O'Ҕ"rT*JGw,nzvSJT(K]MU z\!H6|kFFTYcOfu,ՋGY"?{=5p{YF~ >Я_͎og\$ZMV9j@zjgpwqe,GK9il w_B<};5N=B EOUdxWbZ" XDئMW,А#|Æ ׽{S?k +#0PAeSFoCӊEBBG8RMI? ~S4_|lьuI,<ǩ,PODVC='6ꯃ:48w$qt+W`SP<9z+qݭ)h򴽞Scs2M57jXtO{_ZDp[#J<*JRl.?z#D`4SIp){p0:RkV@:/B\Xԫkve]Q03;Gvu>521UWHnzyNaSI>b񀥛WL~;^P27;;QXc]بif2 W AӨRs{F ׉lrqG-9or.@ʽS0cCyo]&Q䝎)f1fMrzJu[Ѯ<ĢrB;30;خлvI'l57hG8`yBH`% @'j0+TOBOpu1O;TiE%)i/_oX@EODU^xQɭB vSnrpͲ`ߡ$i[H| rYwZ٢t4DYk>܈A'9xБvҶYi%o?hj zڢ؂ayrxzV\#X`= ɍg-Uw=ɼYh{}R P{}RINL)Uy9:Ӌq+L\cspw;p;vvzgp7p3R"~!)͆ZRȎ*m"`eRe2F>}OeeOZ"˅HFvb_zov29M>o-կB;y'Z_S hmVo©`Dyh`r9Q?%heVb`(j1Z.q9vir8Zr-ǤRcF TΈLw DkMf Ŗ'H ̉*˵nhG2P ʲzoN~d De"H^{Db2f ))a,MU48@ N}!覀ma+(߸ [~$ː%x'd49J83ઋQ k_oɯ+-bA,ɫzu.P7 ؆뤜;sobx0%;|n*^j2.KC $uw2"dTsuWdCoJJxrcO{FCc67B!m{(:Qh!!(Xq:2sdg /(iDږTpWBUQBڤmH֡$0˜NB݃~ڃ_Kt(ټb-bv~Q5tnlT<_T9k ͚ ݽ-_;yj]|!A(FIDžsp\\ = +Z&C_*;ݓcrnj :)+ltOy>tʢC~9B:?C2րsF?xKPR^qPjcEnџx+ZJ@Kl뤠Z Fv|6zgm(Tր?Hnl.;I6ؕ%)E_*؛Dl٪jNTk# wl <Fn/c@*Be 5q, AV7'EQ#]/i?<k/qFwoeQ?F;!DqneOjċ.d6Z&Lgs%PLXS:\pi^̥Q`p[tʎէegp%E#6SbD'k#;sUK6Fn?'r.4$dupT鰃9h>DPszeNd1 <% \Z, WƄ׻ ?[:(Nwȇ#П(S;GQ󙅰VIe_9"@p\ϐ?HCׅ'T`OCKQ =x:ɶ$pgېMkcᢄY-ϸ$ݠq>rbuUw"P%؜pҙqgzP2Wk)V`3PJ c$D>rOfNp9A;[MyOd)^5;橠lLACz*"FT4 :֜4c Æ4:XTz[`xoyqԾjD)U< ^@<,ʹLoΪ:s5{VNx׉^(2ކ3̅ѹ[69]Oϫ8zCXf[MC8rr1Et[ؠ ;DD(?:MyIW>XV:xǤ6R#_j%p"MfD%R07HKSokȩ _'rU,vM/*Oܨ3\";8׍ou5c5ȉ'ϥVhD "Q|?˞@N] ^4Jx |#Ġ ؃O/45Pi:?~8":2?x5iIzhv_4wS='NNGљ[~"fF^S3q߰;A<w6Pfz9#ew=29.6H~-YG6n+9ǡʬw(2hF6?̥ dO ,0q޳c\+V.3~, @u5p~ߔ@+,d{u\ R4QġQ?"=?iEM4Nҡ+h4AUxd%,B _ָr E&;P||<4M%NX@H2U2#;'~ep$a?IuieO._NG#bY_P1Ykr.,቞/@Ǖ[_"Rz CrM?'):hԻ2:E0f.Ä́ x'ڐ??J 6mN^Cْ:Ni=дӓ1!YB]ayȪ[+O㎡.j@?-^[3lA=zf'@l3yIl:Y!|ҙ%Ꜯ.)lSHo}, pM,YGF<`cGJ5a0 7q7' яĥBԄ`ָk]f0*m0'DFv,z[KN!Pk=,$UVA%K$&} tjx=KMN&f]S\-s=A2cYD .9fēP']ݼ-b2HAZ# V[ ǥ%?r]y_dUa'6iu#=lE(aA^mw2O1w+ߜkU4x_K1 ǹ{^Q%WtmOSZMಋEl:By0"j]&(cFGH V l Q:PH`rKc0\,Pq{? 3څ/QK{)82 av;$Ja(ؗC=ռMew,r;|?J3&̆^Ǒ$8cEj=J-Y)FA:8"ѬKBy;]!%< ~{>v#{A\I-r;~.ʘ~Le]ϛ7fk e<.DsCO➜;"AɄ d0DgRRa/ ;t;!%zjӻ7n= i$"il-hy#{\fG?,)#`#7KNF"M.9'2x]fc\n{荣frF y_1U+^$O_SibYO6slmɒuubVxu7&۫zF)w舚@?F6:Q\D:S%7/ɐ͒9ph߾ΌK猬 +f૯6bei!mng"QL~_J2 yl}IHtwA&aW6VRʦևwD?Bg<(EU)-.Oi>jAvd0cT 'h\}=Ӟieo4O5SW=AڟcMDFMIy\HǞ\-f%'JG-3'Ci^YwLJZ# *>28E6)Y<5Nrm>7D,UJ~xa#RKJ͸2\>`k"za~haKVg`n`r+w}@~<16cZ$0v=aHȺ.'1) ݺث7I?1bvE8yRHmp>0]z(oHp([x:uGpAkIkMrمIIJfUаv=xJ0YG3? iUj 6ҽ,X}0Z8d A$+%}O$ďTi`m_*)έl7sm~jpu)mu;FL.rh(!UrHqQruMl$4v6y"R,޲tNy#9Eh׉&lwFI{{;;;QKGAjr)H#x/cHVvtG fɳCo2Zz8P<2Px Gt 5>0ѻB7tOU|^Y,YGqmsKAoG(n*sko_UK{[<ԅ|s~uyԋ?y+G=7sMEJx|klyTNr ζ;|9eHHnz?hj6K(2\f,@&5_,&d./6xfU^FqE r4| u׿Z$?j1&8v f΀yز}C:蜀o73 nL­C{!&R%I uT'iwurvOu/4$@-HN`&s7Nm% M!f:qЪrFA-rb9<,-cS]HA5>#\_!{f8F65^TЀv NhoT.@/g4Ak;C٢ _"/irƣ l .% Lr.x͙JWd{.'Oyn_tFQ"SM#ލgUǓ>%8(.ğ;:'{s9-<ԯSpƲV"ytʷ}AF[蹴^ei#XF;I ~چԎwE'ƨF1K |^l0LGR(ע AKD%'`X[ZCDڰ$+8"ĈΑ_MKp6/F|&$A"m;S&>zA(]9ũ,jSKKC {O um=K_lem}~W#*{t Pe/b]6ǠsHDjNV?|khq$EZ7Zꛄj=95L<Og.$(Hƴ=p莂s@HD*DlpMrξvoa$2zNf9 .fm}K b}'\ut<  ^daA9`֊:ZAq5u~?or>wj1Kv֭z Ӝ }`ekr5`J٥A[ ^wh[ ".( :i>bQ)a:F\+|߲S8/`oR0HL@X%,P^(gC\7*${ikg,gJps㭍e)Z;9#;~-?O>ɿ]xL[w3ESa] e>+ڵC~/)v@t,j~)tgd1uVA{- zSY&ER輦jT4鶐vԔ'@S+ w/N \| ":\vڭU L=I-S?.Ͳ7@@O2;xu[%<h>~#򼽀2hmvrVFhzp;ސN[?D0Ϝ=|<Ǒ%{ t;\ _qΕW{}dӠ]>ޫ3"ʲ ?s0qn`\<mm>A.m\ݗ=m[jN WVǺ~.JsӭM7q@!<\Zj&ı50ʰEzy<q~Zp{gi{9W &.5u&(IN%BT}XO-VJLddXD#4(<Ǣw@e Vf؍aM)mE?FFG֝ *o!,G0hA14 Iƣʎ<ɟ!~v >x=o<`gUj^;B`2|g _ҁD3>Mmќ==kF=(p#v!m s?NyW ^U5*@.<Ktzڠn9Qx^2(hhSSh3B?}ft[uNU!ɩbeU*:AI7;sǾCsC멵@!>|C>AȳT|j/® f~ƻ KGx'41I.ۚ"e K#yBslYreQH:CWXJBYyi сsL3b0 }۬kC07-؊ tTl,ݒ.&ݳ!o{W!sy"xEDQ QD|k(f?Xqee2TeR^17^ 'NH:6„/ژAb }3< ˟l'Xx$'4g/ۆPai溥9a*̩@$Fs55zk)k=JS=Yd""؝`!Brߏ4դOB#<2PeR|4}Dy]"@۰CT@'P``ۭH,5k=F\~0y=Go[^JfEyahCHmuvA)_!dyїyƷo>'a6n $ɌԢ$2a,>R|/G!LC|]PE{K%Wñ-6b݅p7J-&R}?
    >6ػ|(a0] v2)^*+WMUbE;{4װ]7 sP* H/7|`S#kL]#}9˧9,܏7 /ysď ooZWo[q!VjQyER |*S`WVUUj" m|XIG֦L-L8|d:0Wh9l\ 3'P~{.Ɓv@}872r(#8I-YjS(I2s'<{ e[c;]7Rdćg-]:=Ճ kËnHLFo’;ݥGM_=9*,Oau We $лL'u= M\Fhc5x6.$$l#Q -zṌ_euF+Ya E6%CQ4B.k̄C_,YMK,)}6zI5CI3#@tja1XB/6;$ CBdh=,%+H~u$f$I1|Ÿ>T {?L-MH[j튼 x’2ܧ@3Dk1Ŭ7V١Xo e@Y[ ]Vsӽ6nO@5vKfŢע7w\Ţ8!(_LVYwݒ6ű0@>D`TVrh}#ȸgb `S{cCX˜X3!a>7_ٲQe`Q zA+Ӏk/ꌸfHiC,L< W**3˰"F!^Bհd?3DűISQt ihG>aLWxIDn4n;}1=Njv'VWY.tTǜ~^S}U5W~\Ӿi92C^xP^1O:{aP [K74`Pc/U-h8}1Ob6wp5\5η}a@RNhuLrg|GX_42)׈O^L$ֆTK!rD%{aWF;ݖu[q t;E.֣ݶHp-;Kya2.46E1%Jm ]h55y6OU'lje GϷ5s"C KPS*}-DUg$sgՄ'q!A)plL7E{߱Qٝ,Dxؙ_[P餡cZTL/ع׏EQ~bTVWiZ(U~ ?c1a"+Pd]?jZZFܒg.RW(kݵ|h?S^F =7/޹7#-HAv܆MYDܟP7l,4Õ0ŞJ08 Pc-H8E=X&95| C'E*V W/_9\Bv&,A0Y}iɀ 8%&zosʧc"I2Y\bXy&׌0)̈́>ĒEJ%Κ"%ԥk?(\<2jSHnyY+IuoT%} dxؽ<*d۟Lꤕ`Wt]s v/[͒-}$ T0uJtϯ{\ \8L7)9N8 ´?bb=ŰlDRg\MRurǑ-AgW`f0jy^N)iQZH6C#I')Gz&gP^<1UVAыCwxΜz z?bʭ.aпWok|yF$6O{.|Da4 9z^C$a4|@ah6PgmT^ Xi߀/+qWyx+~Dײ`n[Wբti*`DkT O쯷 ٕ&{G51S*-&L"3Fp)FZq=ir{zn _|*,fK~p3XwMxe΍/ķ HS3R0\$/u g[hL `"T*?># R BX-%ͩs7Qu0AtnXI ieМPV^MPqLSNM]lTн}BqZGk>? ]cs<Sw`T lf U|sQ'LO_ .+*?w\,[SU־ odG $D0sι<*V64!TbY^߫m='tt¤xbz|TJ "cǶwce]{1O4B.*S) yi~acw>;m׊ӌFe~6 2L57K0ʹ2ؼE0tLe;#; 'ލa$^wUn^&a--x 6&ѧ7aJ.wA\Y_Y*C (ːxs|%]C3c8hwu և4w꺋gU8\A':T k*sAñ4"z;<]gΣ_Pu4AHE6GYA+9Pr<_Dezl86+{{ rhiÉlYE@4{ {6c|l.jEH2tp0j dҍ'v`Cqϛ1 9_&V:aNI>Dx$HOf҉!v{?Mafpw4V`~ Ѽ=B~bB {k-78"/lً)X[g6<&<=R,mߨ+FS쏚N6&;)7B(25[{IWa QF* _ atҴn08獻,kt80;ymE#4S |HuA䅀l &OpM'&] })h XqHn9;r$-0\Z_~; aѪ0ǖ[$ǟ[LĢ6d 6a=XPn;zXP-X$p]vay?{k,%ı/W } Cr/U=7烶a`$:T1'%Hu,GXQyVirg1g~4\#K*+O Dp[I5I:q "y|EY΁2Z>cHհuU~pP0W3J0=3MeCO2=X}eb^uPσx㭖|)^ƞ7u ~\ ^urVVrɬƫiGeױ,`|v!zu%SM  La-aL{gs<^f?3Pݚ}@'^L3)1,9;K~nu!*'-|;JD8gSDI*x7މ@r?AOM1vל}+hu2}dm{:@"?-_MP'fPRC1,q1GA-bAUwOSAK%}#PF=m0 BQ?T_64LhM!yh൒&L480nwWF;#{zBB$$[#էVm D8;3a5ӕ8i݄OWѷt@*H,vC;]K>FQ9@v2Mh.(*,lBQ!!?I*ZCq^gn35( ک)&ў2',dw3pnn/J؟O?u3x(8`_jѱ0w;~F6Ӧ -a'7-x^Tw"^j6/Ϙh.B6} zv`,H8O&"Yt, Z 0|3V&QtBpLj.2}"փ9ryn |MTlblb6K;Lܽ9%83oDZ[ۘZN^"ޥ0Z6Gt F^TQ$ЩQP6섯tU8KO-ڂ_e1O ¢qFFM_]3Ő 7 Gv?m2)dw_ud/유k57)n ۚh}IYJŶsPuVxUEw' ,x%"ׅ.ĠI 2|ui<~j 9p Ć脅ב1sWg߲lf}e!^gݐߗ*LTfZК' װIԭGLwb|3G?r3hY۳f8Xoy ֎Ur g y#f;,r} V?К$iW;C]Nvupo#k;4aRx.¥KtA4$_%Wkn{'T:Fpb\35ÎwhVlP0bsۚ[I?dhL#xơx@zܻc p!4ig P ޸[#P>9pZˮ +4vpP3'[ÉwM&B;]F ϲai'b9ȳpUPmGh%) gS=YA// }0{b^|jT`kNh*4Upu!2z'$3j[H=?8' ⏀\<<)2'>f J,ÓbM$بܮ-V] #Բ7N \ܟŻ(y9ZPKoG9mlP֑;UwAKiB#G@u֣Q2.Eld!V٪q %h85oqO%˔|KB7[ k+A_$1 (p%|w LUqSΧw@.C[nxɫ$3c%%e$]!FnK^_@C54Txպb6UqP55CUq˦0u_'G Oi|\qtX MN䳖UKMxT&!%2~MBjC%~j9"%pAoA4b崀Φȃ}Cè ǻKn}vAe$|XKy \hNIl7&aP0D5J_a l0ٟ4k-{%$(V0Q YZ