liblouis-data-3.11.0-150200.3.3.1<>,b{p9|PTI"f(3;51zݰ|)l=˟nOkfRv%ÏcY3P>O+$"]fnRBoH s8Y )aDq,vs7xڥ.<^C{˜rc$d2}ꡖOGB%/i vWy-q Dlկ̫OxM?}Rڛ[Lj~u84PcZ}ra"`1>v>> ? d $ [\`hl ll  l  dl l ol pllvl}8lT|l,<P(89h:FާG޼lHllIlXY\l]Pl^ bFcdrewfzl|ulv @ z     Cliblouis-data3.11.0150200.3.3.1Data files for the liblouis two-way braille translatorliblouis is a translator from and to braille. It features support for computer and literary braille, supports contracted and uncontracted translation for many languages and has support for hyphenation. This package contains data required by main package.b{sheep64SUSE Linux Enterprise 15SUSE LLC LGPL-3.0-or-laterhttps://www.suse.com/System/Librarieshttp://liblouis.org/linuxnoarch}5G+ Ba $'r\41(B 2P>(A-g?8/P!s 1/7J 0X24|W7%Mo78MTu-7 o-q Q%?N$z9 +`p[r8s)^$S)DcL[0 _L $Cā \`wmmO^  36c[ @ 6+ ,,-/i83 #N5 < ?@>p4%(<.>dF)! K-W- "3Hcw2@"Ts)y+ ^H6FE6wWzR 96p=4!/2MwՌ\1X$"v,AO;+<6 E!52> $|0@p vx"fNqxo^NV)Q<2eIP47]&5L+.%82C0* VT8b@ W)~ ,H340(9e*KVQ D --"A36 /%2E: 0'TF1LI>  <9aV- //>HCEc;B P^ kAA큤b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8f01ccc20bf6293671ed0384afb394b370f5291f6970813a24713368016857ef66df1caa7595eb16e4b5fee51dd508fdcc6e285c6e6d00cdcd9bffbcac7b6937f5c817b3cddcee435a9f640ea476b4c45fefd4853cc7071ee19147faa2cfcbc0c2d8f16c3e8d60c81682c30628bb791dfa65febd162a206051fe9f0b8a90c8e39151ed263883b4fdd6ce787f542d47b5e8f52c39c792daae7a96b6b1eb0acb33394c29cb9e2dc66509ed744d4328ffdfe9728bf9494ac9148d98240c36ea2aab6658b920a30cc151778fa898df6b1c7cc00b557da6269f8b019d6ce2d37443ded1abca85babed150fb951a409ba7735dbba4fe72592cac16a570586b7cde3c761052646140b8afe53b38cd91b2a1d417c283dbb468a8a8a7cadc436b418a63f66ed8e6c99057935b4cda11a9901c6ef40d2e78d01c29115a72bc3afcc79175beefa2d2974c971e804e3db5f33066a2ca1ebeaf8633100beb0591baf3bd408a03c2d67a04a166998ddbf2959eeff598d3fc00b2247b354b06d47889a4c6051c62af1121cad2a033fa41697ea49c07ff9d5f98b567135651e168c1d710e31aa59eeea02c55782cf1ea10a56dd8d8b73f87c830733659ee03ec198975b8ebe7dd14cb2cb4677d21553fd9c066a0e7a56a0ca60c1f762202a45306328c12ddd42b33cd24a7eac6eefd20861509bba69e9f66d67978b086f6073ae7aa8a6b9cc18ac65a8ab96a2502c2525f458d1a9034256034447073b19fea94065670068e0f27e7e33c55f0f8404954df8285673d91bccd35d3d5bfc38ac16d01da66b27e8aa61f92739d28edce6689c6cb32979b4f88dd97eff6ff40a616efcff34d6014fdbaf397563a0734c6627a8820d8b336cf7d961f5953ba8dcb8bfdf4194ea2b85c6aa794ed0006c1d44591bc81f3c4979910778439bb1952bc703cc98dd9419b4baf7c5945793dae8441be92fccdb6e286534ef6e6120a092e897a589daed8ca1e011c375fcc428844c8dccef6f36d50fb05aeeaa5e1f7d0d84b5ba906d0e776af61d2ffbbaca502cfda75ebe4c1ba23de5b8678f596e2ca4535ec1f98cc3568c2cb2af8fa1e62a509f664720c09f2e6718a774ac4456f08d84f2d378a1074e35c08f82ab017858e9585b6ec9547755dcdc69a23286af5e2e3903ffb9d85dc56cee8303a930baff32abfd40b4b46319108942ed999070f289906b3363414629c3672c385107d9a2d5673e82d35244d1f045991ca9ef0baee3325d0c8cab9d2cb86bad405e24558303fa6db1642ee99dde12c43a42938edc7de26e87d09d4acfbeae6bbed86092de8cee7609602cb1cf560f9df35ba2828b13acedffb960e607dfa70cc381b1d188b428d2745c689f86eb13a2a291f4626707ef0655fc54ccedc1c9bb57c38daf664e43383a531b230b5789e4efdf4c43659459ce8ad424c1c1c0cdcfe11bcf9065fd18b8f701a8633c85bd50f3139e35cc047da739d81e029b3290ca082fd157dcff9c5eebeb62c505ab0aa90df63099c340f1ae36ecb9ffad69da29f516291ab4c166c1069dad6da5f46ef90acb443025f34b7f2bb8da078bf358fdd57c1b7a710e9ce5478ee1ae99539b14acc888d829d0a1526069f36a657e9aa8edfe456d1ac6250f737b32a0380779735c4d1c15d540a5175d66e93df882c1f25ac257f6407730cfac4ca718b2f3dce369c482b774bf69e04e547d2be902f00dc0fce2908c639023efd748bd3ac077ca7db120a838e97031c32796ecf59da0d0e3f50149c6dd2f9fc08645eac0267d39ff041364d72a8800ac8c6f77201f3ab37c1b703a89b87835e9aec777d561950493bf863eb8a204efa7d9d44ec2f1542e93f8440727fdca52bce0640737f70b0811010be691515f91a3c5dbafe247922cb8db5e4fd343b422a4f6b1a78c24eeb9693181435744c7e22350a7d5115b63bdf068609921c9d7f2e4a8402de30a0e34392387b11a5b43f537c724375eb3c8f718c6e047dd93367befca8e83b850255f72e48c20579242c9182cc17d7393fa74f5e3ff77f77bbeedbd5e368969eeb898985d86b128faf076bdf15824ab17b99253162a65462be24ea149bbec0af0d9906e7735bc63390479bc15492d31d01096cabd3c7261351bb268bba4d3962702cad5fce588e1c479f9b1fa900975444a7d65e338d07a5de6be720179960a5fe5f3fe9f5c47f0ac9ea07fa8b65586e28fe0332f35da93e8a4b04940325691447dd09e2eff831b81d6f622b3e47f59c9aa5cac51b4f48b38f0e8ae4efec25235bfcab420c4cb43d8a385ed497ebf1e35f54cead1df03102bbe3445cc83262c4e22e83250087fa350cd1fb6424a9a3f77010bfd001deb78b67bd4671e6e3ed860017513a01bb672eacf62fb5e32f5d404c675be1483534c20eb85b02120600c899f7092d1deca9e6338b37a94699486b6bd95302ce4ea8258a37c8c50d4e18e303f8f95034274c5240a902bc62242cba003bf20eeefea2a634abfe08e57dfd0e48a6fb77d689765a7f1fd5d717ed3c96c4e96dcfb35228bff469b02dfb9fa7a22a2c9a0ea40b036b87202ba1f64a9ca95e4fb0043c3e2f1376a3450b015efbb095232994b63d8812204988e1d175224808acff8fa965973f4dca39af3b1b092a91bfb5b21a3a52d0fae7016167220f070a54cf20105844028970b00c7657d79311609ebeb5af650df70108bcbeb27acfa231d57a011941e98b41def8179c02d799b3b3d87bbf5125f9a9a41f437a18533539d1efff2207e59bb1a7fcdaeffaafba84e3e8e47fc86c91bacae46133cfc2568555f6ecb662a0a7e660094661e18ea0212a77d641d77f3e29a68713c04b59eeb11338271e9f4c11fa21208f942f1d66e6346a13fb21d80da4e81b2e839a1abf48812f17eac9c079dbef8cfd7fdb7606747ec12802cdb74508972b6c6d048fc935a34cd362eb34b620f2a09e169b4a7211066966ec0ab7731693a4b4279b96dba949d1cf4faa4e6bfcaa371169181f34ad050087270ec8385efc55e9d6999ff11928ea964937e3429ae3cb14e9e65333380fc9607d6412a9a12f6690c703cd975a4b04778126e933d94ee3f05419de1a3c1e9e82cddeb9abf91823b0b0f36be4f565b1f5eaac766065530f569b1b4ef38063ab47992e14a8f4fca4c5b8162ca4b99908cbd973d7adea30c127a6bfd587fea8d0a99b3c29b88251491255603a0772d35c6d5fe26cd7b53cb481d273a0e8bacbdcfce139ecbc2212366aff72153042041d2ec0c0a4cc52d8ffe14cbfc79ecbfb01c3dafc26082bbcf539ffe0092ce0e56a2dbbe13371b137dc7d83578cee0dd65b989e4b7ced5911ae89a9cd626a520c8e2f187f902713873ce0c13020c268266225e2495bbdf3a2d90f33f5358e502291ba956bb9a0f2fbf68b5d46f3d29c8d6c9d13232450c21586662b79c6c0dde171161a1c52fcb8a06dd034dc6a500444f944522a2e4682a9ef60770c88866a9f8366dfaec8432334df9abd949ea2bfebbf954679df6a828bf60b55589b8c74cd99eba4bdef06d83a14eb6711e9a5fcfe3c48502520cdbaec1b7a2799d3355940ab04466dff7d8946fb5ff31c1722ae2bd32cbc2e7d881ff0565c45b4a63e585df1999b2e4d6403ab8491b650cf611dc6be5515d9ecc97ab3802f674fae86acaf05d0f0b3fe70780826ab0b5b7af156155b99050386e378f33a7ca49d9223ca8b8ad1e81b943415139576d4ba1c14d7208f1b8738112d2844c4c1cc4f878ff3ddd542fecae399ba5cddb0f4b698c4f6e5f62486960117058f64d63b57a82fd7301fdd2b2e72c5745bf50d96a793b527dddbe50a001048c64b7d1def0ebef5aa5ba3e48552048a40b23251b2ec13f36b82c3249ff640367d8403d7bf3327d5bcd3ac8e834c46cfac256542290178126e0280e2cca7e8d710082b7b0f15fbcb1272200a7d9ee82f294e6af6eb4f4d31a7c24330093c33c4ff344eb329fd41c79a9f742ae362330856ff1e7f71e99157443db91ef8f21321202fecbb57d681b50b398c9d6b2c7cf10577eac3a11617cc056dbbac4023cbbb94b98d949ce4ad0c79349b8d9d6c9b06f83494363a417db42422f5e81d8cc064e7f5810a24bf0f168dcae9a399824e69028c43a8b0cd9eb4d20b38e9fed776bf46448a9d9a542d4b4ffb1bbbe38b0881bcb2ff01b5091e7d3f157c5a760ed6bea89cc9e75fdff997c264edc8c0dfb7856c692c1f33f5c8b1ebde8f74d331139b17b7a3954c16ab20e28035d7a69a9a13c919866ddcc4e56732f1c6b951ee08269dedc167c5de990f82a4ad9804c88898bb03d00a6dafcf6970bbcc3be7639d5d466e0939f09012721526d8780658cc5217d924cf211f1fda937dccd2b37a27bb00324c1f5aecc4f6f395750f82bd786dba58ed3c244a8f72f03e7c1fdcddc5ff49d3676b8cbab7d9c4772d4fa2926bdc0e46fedf0f18e755b3c50a904e5e5b16b635eac88eff6a086f75d47ff9400f4b8a0206b0c1942e13c32b539d17ec099dcd1097873a1b9f5cb8b3cd27ae64d84af423c1b0999102492b7d8d16bd16e7e654c1fec6152c1c7a04c6ae27158d66b1c31f7761cf1680c8560ffb4ef4e8f3b29e20c7a676254c827497123194fbfa9cc2a4f771094aee830825128c44565b797c55815c4a949415dc29fb5ffc74cd016f8f60ad0ffdda0a3a1e50a9ef6a1cde01708647f1764acdd5032e169b06dac453c68e048b4b1a3c3f7441d4785667e3365bf88923e8dce8c97d3401e33d1cb8d55c354033d4fbbbe6c53a1b37b60ddebf821379054723b0c9bcdb27709b5a66c290f57ebd3aa1a7448cbef1e727ddfd05f3c99781856fce5a2ca2ade1f913f2c33626819d1dee466e31a53f79244a6186096db4a1141e9d9b6e7a87107060d908a9e79a3863d0b93bb36105f1e6fec356236f2d3d3ca5ce67756d2622a865ca0f6d4b31fc805f61e7c93467d8d31028ef193127732a0415b96cd3aa02a725022aaf6cf27854b705ea32a95e3dfe5bafd266850700f51747fc99e8951a4e29796e74f6aa9cf99f717334a8e0ece5eb5db0a5253413af4e401ae9a4973d93e59e11e71692fa75480e2617de37ff25499f0e21cc7c798524dfb28efe043d97a4484476ca9f988af9f5e362b0a5dd80b5f57e07db4a2267487327432487a415edfd3311b94c2228f3d3f038b43ed593b433ff68bac4418bbef1e686ad401bf7947f0fe69559679731155dd7204d08ed76262b2ad3e18e7b4589b6acb324decff6d32eae3051effb695307c2ad2ecbce8da72be15693c9226e8bf6cea78d48eee5088cbfeaeb110487b97ff90af03577759eb156177cc26d1daae335b0617019f3160b69b60ca6c318a9d8f50373feae0cef1cea3be3f6793ea6670de3bcd134e20035d5149acd34531e0f8918e3a2e0d1d101873439b07bf59229cc1d26ea8329116b4ff6c094fe261c1479f342e3513b2cde8e4731f0e542b4f0c669f2b6095dda82c81ba8a5e84109ddff3baa612de50e55698b60e83d6fa1d28dd5988520b3f4e114e4548e4bb1c9922794e65d9c5aa846c97aebead115311d66d79efb719126d3a01953b84412c50a7ba8b3654ea922aaa61a418da0ac31733667cdcbda62c7871454371ed91e1bf4d07028dce1144c0b08ec44452855ef16bf3e5cea4c901787df4cb87328ff6791192efc5ba215570a793d5abec7ef1cf505b82d23c8adbc67211c1fb783b435c94a5299cfc94344851b713eb1bf5a0792c1f72c2eadd75085fd1092435d2080dd5ae5b4cb4ce5a7a88e8bdce1bbb7b89744c8b959538152ba344ec48d5f082d8191b57058553dc75bc39e6de812d433273b2a34b1c23d37ee4f10971b559173645f82b3fa765736bd48e8af6a88b5dc1212a149e3518ec50f127d919ece5606d52d939033991164bc4f81da117e3899e7560b146e7966ac83e17ea2201e994c7faa034d738bd140539e905037379a430661c0e9014e937b5f68cc4804a7e2b77632c2bdc2c061536a6cc8ae9e4a6a7078dfc3a0ea16cbf18910b6f88e98310723499f2f779ce0c67c2a711277490701697f1fe16def75c9146bc467f1d9c10ded71c7fb83447c9be80191433244a3c9539a73207b61eec50ac4be7a36a5257ff948959dea019307d864b55cc66b4fbf407d80312534faf1fbf4086a34478124cdbffa3aa4791496b88c867927901e42c7fe6c8630865424be713cf6113a7c3f0dd388b82563ca503f3639d93361de83e5c2658eff42d8cd57b917a906a50e641e6ba1f2a4bde5b57afd1066f9083ac361663357b47518e2a02e7b49040c0072c951b3ede1ba05d49877689ba9e07da69bcf2fa542b8dc423c66a2365d55e9afc9fcb4cf8760a7024c4f4db48de6d3cd7aa6cf77701a5dd8c84a4a89e9199b70ce27bfa4032e64e14f3b5eaed4efb37552aa079673962a65dac7e96e0087dbad0f824b6414e07246e25c0b475aa1c70767f1d79d92fe3ccd5cf2f69a4ff561414d59a2685cfa853b7556cd07d26f4d2da4d70f7024dc45a6eb8b07e47a9706c5ee259ee8f4c20ebfe0a4510ea87fefcdf984b81651b08b2ef4c86102675f01629836090b9a8232f3b041678585344e95cf14e70e3636b18ea3a58bae39033d92891e570a211bde024009e33d4a52dafe4050d37f1af372dbc982c3b9d2a36769664032dacf25d95b8384789947a695717211a8d6bf22516f26c0e565a88e036f0017e2f9cc59cf4800f26ebf0ef2aa3a4e91fe0fb6ab92f5a864a805918aa17bd1cb8dd46f8efdc770ebbc24ad0fd8fd9b62652dde2dd4863cea187241052c46dd3df1dd6a8f71ef4b3b14855b2225eab5cd650e454caf1a4910a591a36d05ec2ab9e45166079f2c8570769c1bb1dc4aa17d98cffa298a3b133afd6fe15e1687f6f13a50781b641627f1bb14ebedea9e4bcab8958e40786e9a519645ce62f497f22b00434b745a8e1d1381e6241f35a88d116562f2ccfd0fc6718f14e30ebafe6153a11b961439fce576b558b84e8393c850bf34a8da3b61e5332a9b7f0fad183099a85bf78d24f788bdf7348d6b7a89311a67f1a82781b90b62f1a6fee91b247300db5e9d7aeb82df9d28f3fb86c80c1d10992e2e4129747fd730d41472f56dc91c72b95d743129a3e37ed1a5166730c39673c09ce30c4890a5375037c92d3d75d185badca5e56e8722f60380bf1da85e84cd2e0247c1d431d1104bd558af707d74bfe6ba8f621457a7d069ff66678ed50d5c839dbff791c6c835c3db2cb443877dbe3b3111a1b28ebdc20cf3e990c1579aa3109290593218256740272f0973af752e9f1bb71e1b0f3f1951623c37880f4485395a52a73c052978122fd74439d4be4bdbb1aab2518be0dd230b5071f00fa36cd695208df66b5deb2befa908fa9e3c1449c54da787e9c93e0b868eadb88aaf2a9149399365c11ab695c0ea0ff9f1c35022b7cc37fcfa1fa0f7179369eac00b71cea785cd63a9f7fba8634e0fefbf19467271582409b9a634c535ce6e5fa112fc0708d520e9f2747e6cc6788d3d5303f364ad18684b5213c25dbe5f1ff47f15a61348c0ef11681a3e16f7dcf1cc28c6033b21cf486377a3c8ea1ffb54c9ab624ed0b36abca30edbfcffe1a80d35d87b86c363b3cc90c12199b393131bd49b72c6b34c28502280b5ef1f0bb5dea4d86e34e54427e65efce4800d05c743be4830308665f4712974f5ba0e81babb0254296a58f61d3aca017c2a716f33ae184a1d53a2ab1b9fb2d1d8523112da8e54d48dd75a20c86c062174f59b626558686acf7a53dafe6c5fe9d68dacf48ac2d95b749a6ffadb97f479956cf335a19d13e848a82580966f57ce3880154db4e6038316b986f24a07e6968283451e778bd5b13327aff3610ad148be843f22bdc48b61ab1dee4411085a5a007ba7a3bf4ad56e98ae195a4249b426f3fd5e08f0d029f4d43230dabd7803002a4b087db986d36b81e17321b8d56d5e95d823118f45cd90eb45559271debee671d78e89cb8e3702c0d3ecd88309b2ff7fc06bc1acb9a4b5d71045e6321cd2c0bd22e8dbb5740eeb1504f5a3a7514b1f9da74f8e9de75f333012b0f130b440b2b0dc92fec3990a2bf2e6c39958409cf679e9b7231dcb3088d652ffcc1ff7962035d0f440e5d3ef2c8569199c3592b28167fcddfda503c3cf4522a6211788ce45c898ca275460888ca2b88e1b16447e28b15539a3afcbd5ef6b796f885c72fdbd728292d8e0126d3458aa2aaee7b41a4451ae20d263cf1e926a895d94937087d20abb75dfc8a281bdfcd6b4d394eba588f23a8f24e59ca5672adb4133f2386b78ccda59da091b518ea549349bf7a5d2ad3a2446140e6a855d7c15213788628d806e8d9205c6c479432dd0a8c12793e89e42d21bd278e5e9fbfa7baf3eeac8c95deb19bc610b8e08869d9c6c9b07d9f2c60bb47857fd629d9a453026312c894665d22c72e8e1699420f6c3d39067eb1331290207e754a60d61c38c812379affeae3cafd640997de427060c6c9b07d9f2c60bb47857fd629d9a453026312c894665d22c72e8e1699420f6ce4195bd2bed6543d8c1df83a775c922b08ea3a1eaadfb97179ce163e47aa706b6f18ee89de6db21d9b06120a5527ec41d8132514fc112ccfe7d289ba91649840bde8de5c60f982ccd45721cec83d49c3cd7e9a9a03c4084da039154f8b5fe7ef5c9e1ded87a89c71418aeb3bd24fe69b03db51e984b8b62f491a4d849699919e6bc3f26b7e8501599214596c14d018c660880c4544d33f7bcb1e43a81731b9dafdec00e449017bfe4814bad25114940577d5807896b2ec7c70846ccdbc097d42b7d05ebfe1ebfb40838baa10a06e0d7f5bfa9eb20056dbf47b4b3807556a6a618232d406a3f68576e095158a5f06d4e5ddf279c5aacd510ac226002a6af2afa4479b82769417fa3ddfca31a40b9f3b413f99753d9689fea4eec3cf51fd2638217c1205bc701367d687df905fbe6311686fb689dcc047176bfad1dc833fb44b478c87175386eca6693dd6392d673e77ab9dfbd4e74c6b64534eb29d4a691ad356b427c7e570287d1a2ccb4ec4a43a8e97f3f9a106dae4a061d77d62612ffd209b01c843ca073a4c7084aadc3f35cff062568e8ffd82f120738e934a10c76f64aadbd04d160d0684e3c8e011606da56f462375bc541773985c6073d82aa49a5e38b2be1ceae832790b0b9fcb68258c4d063b54ececb13bd4d3f3b09590f0ce29771e8e482f1a6e09a9abc366df66989176dc1cdedaf281bc4347636cc8a8ee69ea5b9f565159cab7d4fb1c5e71a446535c9fab09eb8409e49139e012b9429bb77586e18089d96445b9e3bef2b992e5f6b276cae8d3cf0e2a02276b99da5d0df7b1b6548146d23698fd6b89ef6cf4daf4f132de4b5cce2c7552e36ec22e1e25e7e9f87188f5f99913ac9c20dfa948c5d9eb0575e8b73368ef02257470ef500f707ac284a1a6b4891d36914499ae2f64c07b8ff26cc231388fcc4a220325fccee8878f32f3584b81d32b2d6da509555e71767b0129e2917ba5af3bd98d03fc83175a155c90245c149a0c27eac1e34da446049f859503b0bcd4599123eefb4df6221902054535b3a6d9212f4fc1c1bcc6370c7ead2eafd52b18e19f364d23471361fc3e81722249b051f01c2724e787ae30fe728b50d6b5168afd297518cc8181541afde98715a3e7d4dd7627fa7a5fd2e7c7c3bb8960be0a4a9083e7aaf4df2d517e4dea9d6e5228ec5cdca826ea35a080d0603ed6137720affc1b0f647c53d6d049ab38151dea89384120a5b3a94aa8c3351a361c60f8d8765adfe9b0e5139338b86a3e4fd2d5f6672a10e069c857b137853725b175e009a368f29fb3e3a0f356b4b492b46347355a8fe8a5f6e7fff2c9f880c569d1d6432133521998e3c9e373c68c37ff459ab13181094725de45be7f7b357116f85ac7a083bd82c4d9b3a124ffbd9429399dfddd138b47755d297a0fe78cb88a113661546336c8ee7e112476cd7e8c1fc84b287f72c16262493f25a624e435a13b6abbafcf794c719ba3677ac7d73f34e2f1638807def50ae3a768e0df3af53dc0291e8ba0d2ac5b063b16c1be5a85fc12df45bd13dff67e3924aa562ffc7ad282c321ff025fcd26a76fcf53497dc6e70c78258c393dd7a8fad0280c3f0163621f051a3ac6b4ffc97f9ca49221a41d317ee0a03a24e4ee15122a8623b97d6f93b3a5286f2a30eb5652f4a05554b7d022c32c928273a152615d546bcead733231daea18c28cff4b911c02ac1fbd3ebe4b6b9ce8d35e57471f140a47352821298adc08cb7ebe11cb86dd9da13a432a1c033a0477efee24060a8a122e45ac5beac1d7ff19d227244158b9e34f599c2e2048586da6a0584980d0353ea4de443a8e929cfa3208d1af01568a32d71da65a960dd71e63ddb3f3c13f47141d187e8834e599a9e07a84c86940a7f67708e432a4f7ee2c10a8b6242b1baf5716e01de7ce38698ccbe5eff9bd0ab889d2d6b0876ed4bfe50a0707a3147bdb2806de06ee8c332d2ec6eac80f1dcc1bd8fbed78c56db362b8e37ea8960265abc56fc65ad6a8f18369d16b172cd85474d571b94b33f01df57657dc6936b430549722f625ecbc01aa3520178bafe409fb7e792916d1d2fbba7ceeb03a512dd0dd2044b7d3e61752cc7e1e264079f9f491a1e78c97bf9ce0384756ca63b2c4b629c43f619ab88ff6eaffd7a38f41b01763ea135d13a10f6c822b18de506e607c6c4140082ac944219734e1496526f59efba20e4bef2bca8b61af694df6066984e2586856e86a6fca2508ff75ef43eb77fb8e008b1c0e9aefa6b1f44c2821b128e4a3696d720e8a42fc72f5f45944fd550b6f0570ea7c26b92d50cf2c155bd50688651dbea613b20201c404e83e9b28925e55954b8c6759aac98ce13f7a86ff74366cacd827b13c29f2b7fae51ba6b201e434ad160408e3db44441b76e3edf8fdcbb54ce265c67d2d8305e4174732466b87aa9b5ab948bc3a62175b1c63745319b4870cf18f70658991b398c8743c904bc929b4a55af56eaa3d7ab0278806bd090b2de65e23f73df630508fac4b621ce18146f715bca0f83439dbfad17c1eb284ccfeaf5833cf36a021c80a874f6903e02fdfb84e8fc5d42ca31a132a1c7f62644c67d51a6150f65c08747781621758d320d61a608d7b223c692d72597d8bf3bb93d7fd9092c940ff581e4c5a7c2569f65108793e68cecec7678d4f59e3363611e703126779bfc14c5bf8d5269613bb70ac375205829bc2321aa600a08fb9ac32518ac59a9a8e3e0b34d2b01442099bf61c7931c3032c47e8bc1226d763e4285e3a3bc6b1b7f080466a04aa66534162f034a0681982511839f4c562b42dbc29d002a350ef05480c5f0d6d6bc8faa8fa909c82590ac73e6a95813ca156f7cd5f67395af52601d135e0c4b633813f0785625d988c8255b5483d05ea7623ad927e0599ce51bcec0763e0df7aba53dc12345ade7bba841fdeb5a276a381676960b70b3602fb81c41bf1fcfc3088a5c17a747499ad6b625f67e9ad87e1bd956a489d13dd02e2354cb8dbdcc8fec30d697e71ab7beba538f6cfefe91c691b20906836063da31d8fc36c74c66f2f1892b3fbb9d1424e29c39c4eb635cd1f603b314e7bdaf44d93b5d913e7b864232feb098f4783b029bae2669fd915975f4276fe9f070a73185745b7023deda835ab2ad741d5c82e478337dfa8b79c9d66b3b44d1029bd9cb9a846e1188bc54c7126fabb8a3ee1b14651dca22b5093c8b94f855d0675baea2df8b391434baa08b4561fbe205ab1e8ece47e8983964f67d54ad564b8593aa222c1faa74b635569b22148d4ad76f92e38a1506053629bc76000f09337859aebd77b34761e4f7793a4c6eb3bf13bc59acb51ba07ecb3e2f691ced0b2c7a920a0db7d8957a15c13af875f14ba3893d1b058afe3c9af3a75d8275c4e3d3d755cb1be72976291ac65533d1a5f63a0d42d8f140a0070b247e181cbb61d5ede1eb725f15e7d7419a2844ee475c73ad8fa52474600bbaa0bab608b12251da7b92b9325df36271be530b0a163191ba11f75319ded2ffed9e4688cf8302c62fbe5d548650e14dc8058dae3020a79cbfe239a8f795919c6ac17c92325d53cf0a20c72ad4f85f37d7598e6ec8414302589d8b6a6d4ae2937c4637239f3cbafbb2ec91fca8c29cd660d0119acafb969e0a737ae07b22c082f7277fe0e4687a42b7e3eea51dfc2c8c0b33860709fc84cdb8b9a2e61b874e23d3c5872e3ec81f0a0d869f92c9bd8b8c45cd52905a5ba034dcfbefea23b42444208448c47933e2af161ec8b8c06aae337220222af9d55ec715d44b1ccd4666b5c80ef0c9c5803b5e23002a46cf27dfd171623f3c4d95d8052dcd1b6bff9b5d532fd8ddee1ebac394da77a8a8ca3d89a1922c117ccea20d97a6723c5e4a0ff67693e3af8b8bf17081ec7d807ff9208360953c212343d5f6084032383c981ca846ca065d2b8a3efd50d05db3c8abba4d6997522c75c25bca6724451b3c9d803d8b8ffe2163dd81011c7e8b116296152dec989acda6fac3bdf3265c219db2cfd1efeb69a50a61cca30bfb1ff379e5eafcd5bd4fe13e39a4f6d85279c0d0ebb909ac834b2f06885d546d2ad17615c1421bd139b77e2d7da4a4374eabf95e68addb1504a497dbc41d9f9cf66f5b8fb406ae07a175ccaf7db66e0de830bf4adad87b347405e50dba4d833f91e629316d5b792df04921b7a696b67d559839bacf6bb1b3c45d5ef47eea9a8ba40dca6c1e7d20be180ea44dde00192cf6cafbcb7ba06d66765bcfb64c2131951536576ecc95eedfecf0b211f3394da5471d8d4c3a9587a510a45eb99ecf90929878d2a97bd42c10546457db514645b675cdcd1859805e31ef5db8c58733cfb7531a7c2d0a028bcf0a91af446e6a8f202a55b72b79f975f65ffa333fe2b97e3d369df722ed7c4f757b1bbb9bcc389e26cac388851ad10f68fd69dd8787f8e4daf67144a208664e95151160ec569f4807f381108f516d6935cdd202303d9daeec0bd4f1522b0251468b001dc5a883c107433d7d0709321437e232d4f5ac806851667b242484a89dde6844eaaa07468e681b87ba5aa17f721980aa3f6f0ba8f0ff0d089170a1dbff4a2731fd306320f13d4fa7b40472dd329688a61e68260184dfb20ae716048148a0aaf57638d161d419381db670d86ab8b97126b4e120342125137e7dea53396f1c564d19f2cb54dfd56e29c663d5ed3a600a5f7b6005ab5a02aaf7ff7b73b16ecf4b7af63ea0ab6bcd66e599e0095bde33848ddb4fbd36e6c8d0593dbc71011f4b1074b456729c50911bdf091f40c03f866fa75cc6a459b2ec16ec9d97df63f8540d0ef578c3161d4bb1941400735820ebbb0d7ff9c1cb9e5636b7d0d45cb2024e1b6a518828a39d0c9b7ec07c06901886e223fc1a8c73bf28423520f020a4bcefeb4ee96d5b9ffaa3559e348f24ee30326c8e426063276b99278f27520336900fcf13ba8c7330753eb32d94e933ac2c54ad4fc6df111b8cdec484eebaee6dd88bf9b52847de8dff302c57b4060bfc26d5dc58c6b223766fbeea8606c29967f88f44746cfad7d95fa05c63cb19c509e62d9b503591113db8ababfc78cb972968cae856338da1ff4c6d771f31b37b4aa576a405461cd6fa1f94431bea19ee81e75fcf9e2d0060619329a92d8a2b1f7649b58f084e43a1d8b8a28f58b2a8025c72bb313ba9df1db9ff79a4c8a2a1095057c8fe6f004cc54dd0a2b40b89e49503b5c29f1d7309f2e693a5c35dadc9747f97f4e0ddf2eb54e7112328b4a5d9b915a269598d2a209c397d53992975a1f2ab5f6840497890166edc2fc4855a3e7d4178a2362682d86d3bbc35fb0622793f772247f6082d52dca31068b635005667489dc1f561914b431bf15ed503880fe8ccc6ea9be14eb87d4a16ff3bbb51c590b89c355bf13ff84675416de60340fc22d4d95d7b609b5fd89ae9fe2bb8f45800429790c6137e868eca8b7d96301e09d27ec87db7109413eeb2b91de56d7eec2561ab71cd60f6dcb6b55b89abdc42178ef9320617e2ae23445525eb0b4c42c0ca397772520f3ffda69a4f0cbfac6f78b2f17025c553b47e9f69d6bbcf3ecfae808d2fc75be3c231f2eff0a9adec1dc87dbdb49306799660d0ca05dc17b06bbbe54be8be201e86871834fa23bd429ab0d073ecb1f2b6e6876afb2142994a3f1835671cb4688d429591b3bbb24bbf9bdd8ed136512e4923cc67c97677e49b4563c08fdfa04eb26845f491879fcb96af3b3cbf3790cfd1492b025711449f77e16cb151e18c1719b83be6486391a7757b2ede275d47e66094bbc91b3406b087c5136baea6c8fb4d7b6dd02dd970ff9cf8959d7d74b4a8e6334c06caaef1a810ecc4c2999ba3e5203659b7c3de3132d0d23fd4cfe0ee8ffdab09a587ea06d451884fe50d9c464ebc33903fcb16216184296ddf618bca862d536d0bf3b2229772f9ae63b67e9390d5c85c0b6035dc79ade661815fb5031f13cc19d7359d32cb093d228dc28742a46dd7974d649ec03dfce225a9f6ef688246535f1c4f896dfeda0a006b5995b1c7ec2cbc14ce852d7524646bdd2f7a61aaee269879442c9b997a8afc79b14f1091d19acc3a81d07a98b151d302761cec65cabf617e236e4bce80d29ec3b33b7b17658913d9b37ed7ab0d99f81dd896634949a638667cbe6ae6415e6fa34dbb315088f3e34edb2fd7867b625c095ee53e616c79f9191bc9472746c5fb4d3b6fdb90f09cbb549482d2318e06f8b4e0a78866f17e992483f97744fe0d8194f0944c38d3c0a5d3de44c75d3aba540227ccc49b50619036eceb37a7569620ab69b0f454cf51b6b4b361d9e886f677e0b87738064e51b0e97ae80aa708b984d178c90ccaf0762a59ac481ebf585ed3b354789e8255d8e0b6daecbe9b730298553ce725fc79cfbaf6fc3e09f1ce78e35c8e6bb7bb424a0ad5ebabc3690dacfc2188d077d59c39a7fb78b165b3a737eeda6f36556833fb2fd13532b5886537b0f86794fa7c653c46cb1658e1c849cb1d450429dd0394398269fd3c8a0c2fd39d6417aeb42dbd04a9adb61a6220dfa006831adc54c3e9c7da6d22b46792af27d6c211c31a3f6d4dbaebde74a1703ba50758fe9edb21ae50123bf81a40ef295f8f57ae79d89b07160fd5ff7b94f9dd88a8630c0d1d1819b19e8106ea359395b0ba55cd964bf621d651ed2157ccae100b0ae356be51746d913602df2a28d4b27f0316f58139f01560ccfe193111be8616752bd7793afe4a40299c21145303ecbfd54b13dd06bbbe0fdc7e1e066fe8fdaa5a972c9b511dc30decac7fda37cc62ba7d2221a22bd493abf40a4328d6ced40d7fea3402c5edca87fbd5d78b1b92eeb62ae9aaaa95329d0a05df4c23c9ff7e97718fe5f31fc5cf564b99039e13a8b88b22d5ce4ef2bda791ba8e665c9bf1272cb0e388e64901e536ecafda4055eb70b36de2fa22c5562a15d9abaf69d546a0b7e0abdf3f851dc60166c3603526749db5c4e34e68ae47cc67f5f6a6de8107219d5031536fcf8c70f35d056045cd0651d6fe79f843733a625793f7dd0487f1dd805485a94e79e26933dbeeba1e528c52227502ad9d79e6fbd426c2c879483500f5eefff73cf347eeccd0df31bce67a449d73e227ede8a4c2d6de6438b5b6ba520b24d27b11331ab1f2315c39984a7266929b67525bbc68f2321fdd46d2a2a8999fa87ecf5162dfa1004970e5849665e36360df93091e91d34ec868175e90a0fd0af7955be124319c257f792b4c2727f8a24852ef171217d94608a6ed4a1b0a6f16f4214143d46d93c4d9a698a529ab1fe380244572091f1db9087f4692c2ecbc7e7013cbe026f0d5707aa2d4b711a52405bcaf2f84dcaab86205c03bbd671e89cfb5132037f15055ac6e3b539f865c623e7c1213bfb120a0b99da6f13caedbdbb1589d890d612e8bb8137afea49fd6a6b57bddfd25a938d195d6454eda838752b72a61cd5fe2d3f2d54b49a9d897d47fd42b3e48b15ed9cde3e50d6685d7622b886027a11df0a953292808fd71dee33d2ee4b5503adeee614634fc4dc72c18fb0eac8f381b28c621b51649e281581b47fe9aa1a88ceb482ba594a03daa999f7cbdbb071ed969e37f015462db7af54cb330b93ffaf3553c5cc9169a9fcb8f5471fa8345012b62ff17ea88faff6c98cce0055f8fcf4683c876d5b9a4d7fdaffdf8949e78d0091792c598216cc01bf2237ac46209e69b3f0897f9e4ebbd22c78b622f129a1968c527c346b4c9a79d652519212b1a748f0b36cf6fafcdfa3a94607b24bdc50aa5b9a0056bfaf2f3f418be3ad5938be313b12bdcfa7cdb0e83b432f160df2551475d782rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootliblouis-3.11.0-150200.3.3.1.src.rpmliblouis-data     rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0.4-14.0-15.2-1liblouis23.3.04.14.1b@]@\\o@\?\1[@[^[[[[ZY{Y*@Y@X@WUeW@V%@V@V'~@mgorse@suse.commgorse@suse.commgorse@suse.commliska@suse.czmliska@suse.czbjorn.lie@gmail.commgorse@suse.comjengelh@inai.dekbabioch@suse.comkbabioch@suse.comkbabioch@suse.comkbabioch@suse.comdimstar@opensuse.orgjengelh@inai.dejmatejek@suse.commgorse@suse.comdimstar@opensuse.orgdimstar@opensuse.orgmgorse@suse.comjengelh@inai.defcrozat@suse.comzaitor@opensuse.org- Add liblouis-CVE-2022-26981.patch: fix buffer overrun in compilePassOpcode (boo#1197085 CVE-2022-26981). - Add liblouis-CVE-2022-31783.patch: prevent an invalid memory write in compileRule (boo#1200120 CVE-2022-31783).- Update to version 3.11.0: + A tremendous amount of work by Dave Mielke and Bert Frees has gone into this release. They have improved liblouis for use on note taker devices, for backwards translation and a number of languages. Many other contributors (listed below) have also helped in fixing bugs and improving braille tables, such as Dutch, Mongolian, Polish, Ancient Greek, Danish, Irish, Chinese, and American Braille Computer Code. + New features: - Enable ~always~ rules with a single character and a single braille cell for back-translation. - Implement ~noUndefined~ mode for forward translation. - Use fallback braille representations (NABCC) for rendering undefined characters in hexadecimal notation. - Always render undefined characters, also ASCII characters, in hexadecimal notation. - Add a new metadata field ~index-name~ for selecting a table from a list fast and efficiently. It has the most important information first and no redundant information. It should look nice when sorted. This in contrast to the existing ~display-name~ field which is for describing a table accurately and should sound good. + Bug fixes: - Don't let a caps passage end on a word with no letters. - Handle word resets in the last word of an caps or emphasis passage if the end indicator was placed before the word. - Never convert to lowercase if ~capsletter~ is not defined. - Fix position mapping for back-translation when ~noUndefined~ mode is active. - Fix bug where a translation would hang on words that match both a ~nocont~ and a ~repeated~ rule. - Fix bug where the effect of ~capsnocont~ would leak to the next word if that word starts with a capital. + Braille table improvements. + Other changes: - The python wrapper now encodes and decodes strings to/from UTF-16 and UTF-32 using the surrogatepass error handler. This ensures that single UTF-16 surrogate characters are processed correctly by the wrapper and don't raise an encoding/decoding error. - Metadata keys and values are now case insensitive. - Remove ~unicodedefs.cti~. It was obsolete and never meant to be included by any tables. Instead use the online references as mentioned in the documentation now. - ~lou_checkyaml~ test reporting has been improved. - Hyphenation tables have been removed from tables except those needed for ~nocross~ rules. - ~lou_hyphenate~ can now handle more than just words (sequences of letters), e.g compound words. + Deprecation notice: - The ~noUndefinedDots~ mode has been renamed to ~noUndefined~. For backwards compatibility ~noUndefinedDots~ is still available in the header file and in the Python bindings, as an alias for ~noUndefined~. + Backwards incompatible changes: None. + Changes in version 3.10.0: + This release comes across as quiet, containing just the usual assortment of braille table improvements, cleanups, bug fixes and the classic buffer overflow patches. But beware, a lot has happened behind the scenes. Bert and Davy have been adding a new opcode to handle special emphasis situations. A number of annoying restrictions with regards to names, such as class names have been removed thank to Bert. And lastly also thanks to Bert it is now possible to define inline display tables in your YAML tests. + New features: - Add a new opcode ~emphmodechars~. + Bug fixes - Remove memoization in ~checkAttr~. It wasn't implemented correctly, caused some weird bugs and probably didn't do much for performance. - Fix multiple buffer overflows in ~compilePassOpcode~. - Fix a build problem when building without libyaml. + Braille table improvements. + Other changes: - Remove various restrictions on which characters and braille cells can be used in translation rules. - Remove some code duplication in ~pattern.c~. - It is now also possible to define inline tables when a display table has been defined. + Deprecation notice: None. + Backwards incompatible changes: None. + Changes in version 3.9.0: + This release has seen a tremendous amount of work by Bert Frees. He was instrumental in pushing the improvements for Latvian, Norwegian and Slovenian. But most prominently he pushed the big change for space and control character handling through the door. These characters are now no longer hard coded in liblouis. This should solve a few long standing issues. Other than that there is the usual assortment of code improvements and cleanups. + New features: None. + Bug fixes: - Fix a problem in the callback registration in the Python bindings. - Fixed memory leaks created by block scope compound literals. - The hard coded rules dealing with white space have been replaced with a normal table that is included in all tables. This fixes a number of bugs to do with space and control characters. This (big) change has been brewing for a couple of releases and has finally landed. + Braille table improvements. + Other changes: - Don't search for tables in ~/usr/local/share/liblouis/tables~ (or the Windows equivalent) if ~LOUIS_TABLEPATH~ is set. - The log levels in ~liblouis.h~ are no longer exposed as ~LOG_FOO~ but instead are now prefixed. So ~LOG_WARN~ becomes ~LOU_LOG_WARN~ for example to issue a warning from a C program using liblouis. The actual values remain the same, so the ABI remains stable. * * Deprecation notice - The ~locale~ opcode was never implemented and was just silently ignored. It is now removed from the tables and a warning will be issued if it is found in a table. - Drop gcc9-fixed-memory-leaks-created-by-block-scope-compound-l.patch fixed upstream. - Sover is now 19.- Require libyaml-devel so that yaml tests are run (bsc#1130813).- Add gcc9-fixed-memory-leaks-created-by-block-scope-compound-l.patch (boo#1122169).- Use %make_build in order to build the package in parallel way. Add make check.- Update to version 3.8.0: + Noteworthy changes in this release: The major focus of this release is on braille table updates. There are major updates to German, Arabic, Chinese, Turkish, Dutch, Czech, Latvian, Spanish and Ethiopic. Some of these new tables have only been possible because Bert Frees fixed some nasty long standing bugs behind the scene. Also there is the usual assortment of code improvements and cleanups. + New features: None. + Bug fixes: - Fix support more than 4 classes. - Fix capitalization of words that match nocont rules. + Braille table improvements. + Other changes: Updated the lou_allround and lou_trace test tools to include all the mode flags described in the documentation of the lou_translateString() function. + Backwards incompatible changes: The pass1Only flag has been deprecated for a while and is now removed from the code. - Bump sover define to 17, following upstreams soname bump.- Update to version 3.7.0 (boo#1109319) + New features - Added a new opcode ~midendnumericmodechars~. Characters defined with this opcode can appear in the middle or at the end of a number without canceling numeric mode. + Bug fixes - Fix another stack-based buffer overflow in input parsing reported by Henri Salo thanks to Christian Egli. - Fix input/output positions for back-translation. - Major improvements in the back-translation of capitalized words - Fixed a problem in the back-translation of numbers in conjunction with punctuation and letters. - Fix a buffer overflow in ~matchCurrentInput~. + Braille table improvements + Other changes - Added documentation of opcodes which were previously introduced as part of the UEB work. - Removal of the code for the /scripting language/ for multipass opcodes. This code was originally introduced in 2012 but never documented. Consequently it was never used. Meanwhile the original code for multipass opcodes was much improved. So there is no more need for this (duplicate) code and we are removing it. + New tables: zhcn-g1.ctb, zhcn-g2.ctb - Drop CVE-2018-12085.patch: fixed upstream.- Make data subpackage noarch. - Rename %soname to %sover to better reflect its use.- Word wrapped changes file- Update to 3.6.0: + New features: - Add metadata fields name and display-name to tables + Bug fixes: - Fix a bunch of buffer overflow errors in table parsing (CVE-2018-11410 bsc#1094685, CVE-2018-11440 bsc#1095189) - Fix input-output mapping of context rules - Fix back tracking with all caps words - Fix context rules with lookback - Fix a memory leak in default table resolver - Fix an array out of bounds error which caused a crash on i386 - Fix numerous stack-based buffer overflow in table parsing (CVE-2018-11683 bsc#1095827, CVE-2018-11684 bsc#1095826, CVE-2018-11685 bsc#1095825). + Braille table improvements. - Applied spec-cleaner. - Removed CVE-2018-11410.patch: Included upstream. - Added CVE-2018-12085.patch: Fixed a stack-based buffer overflow in the function parseChars() in compileTranslationTable.c (CVE-2018-12085 bsc#1097103).- Added CVE-2018-11410.patch: Fix a buffer overflow in table parsing (bsc#1094685 CVE-2018-11410).- Updated to version 3.5.0: + New features - The same name can now be used in more than one ~class~ rule. The effect is that both set of characters become part of that one class. + Bug fixes - Fix a regression in inputPositions thanks to Bert Frees - Treat characters within the range ~compbrlStart~ and ~compbrlEnd~ as a special case. This fixes many if not most of the problems with cursor position and the ~compbrlAtCursor~ mode. Thanks to Dave Mielke. - Fix ~swapdd~ opcode thanks to Bert Frees - Fix negation of attribute matcher in multipass expressions thanks to Bert Frees + Braille table improvements + Backwards incompatible changes - The translation mode ~comp8Dots~ has been removed as it was never really implemented anyway - Support for the ~pass1Only~ flag has now been removed. Thanks to Bue Vester-Andersen. - The old UEB tables ~UEBC-g1.ctb~ and ~UEBC-g2.ctb~ have been removed as the have been superseded by ~en-ueb-g1.ctb~ and ~en-ueb-g2.ctb~. - The french tables ~fr-2007.ctb~, ~fr-fr-g1.utb~, ~fr-fr-g2.ctb~, ~fr-ca-g1.utb~ and ~fr-ca-g2.ctb~ have been removed. Use ~fr-bfu-comp6.utb~ for 6 dots literary, ~fr-bfu-comp8.utb~ for 8 dots computer and ~fr-bfu-g2.ctb~ for contracted braille instead. - Updated to version 3.4.0: + New features - Add support for ~inputPos~ and ~outputPos~ checking in ~lou_checkyaml~ thanks to Bue Vester-Andersen. See the manual for details and examples. + Bug fixes - output positions (~outputPos~) are now calculated based on input positions (~inputPos~) thanks to Bert Frees. This avoids a whole class of bugs that previously plagued the output positions. This fix also obviates the need for the ~pass1Only~ flag. See below for the deprecation notice. + Braille table improvements- Modernize spec-file by calling spec-cleaner- Redo package summaries, and compact/trim descriptions for size.- drop separate spec files for python-louis and python3-louis - completely drop python2 bindings - build python3-louis as a subpackage of liblouis- Update to version 3.3.0: + New features - A new tool ~lou_maketable~ enables the creation of tables based on a corpus of known good Braille translations. This has huge potential to simplify table maintenance for tables that have so far been dominated by large exception lists. - A new API and a corresponding command line tool to query table meta data + UEB Grade 2: - Fix back-translation of whole word contractions followed by other contractions + Fix back-translation for contractions followed by punctuation + Security - Fix a number of CVEs (illegal address access, buffer overflow and use-after-free: boo#1056105 (CVE-2017-13738), boo#1056101 (CVE-2017-13739), boo#1056097 (CVE-2017-13740), boo#1056095 (CVE-2017-13741), boo#1056093 (CVE-2017-13742), boo#1056090 (CVE-2017-13743), and boo#1056088 (CVE-2017-13744) + Braille table improvements - Changes from version 3.2.0: + Bug fixes - Fix capsnocont opcode. Also mark capital letters with capsletter symbol when capsnocont is defined but no begcapsword indicator is defined. - Fix the syllable opcode. It had been broken under some circumstances since 3.0. + Other changes + Fix building of Python bindings when cross-compiling. - lou_checkyaml is now only installed if libyaml is available. - Enhance documentation on usage of display tables in particular in conjunction with Unicode dot patterns. + Braille table improvements - Changes from version 3.1.0: + New features: - Most of the translation tables now contain meta data. This makes them discoverable. Programs can use the lou_findTable function to find a table based on a query. - Add a noUndefinedDots mode to disable the output of dot numbers when back-translating undefined patterns. - When back translating input from a braille keyboard cell by cell, it is desirable to output characters as soon as they are produced. Similarly, when back translating contracted braille, it is desirable to provide a "guess" to the user of the characters they typed. To achieve this, liblouis needs to have the ability to produce no text when indicators (which don't produce a character by themselves) are not followed by another cell. This works already for indicators liblouis knows about such as capital sign, number sign, etc., but it does not work for indicators which are not (and cannot be) specifically defined as indicators. For example, in UEB, dots 4 5 6 alone produces the text "\456/". Setting the noUndefinedDots mode suppresses this dot number output. - Add a partialTrans mode to specify that back-translation input should be treated as an incomplete word. If this mode is set, rules that apply only for complete words or at the end of a word will not take effect. This is intended to be used when translating input typed on a braille keyboard to provide a rough idea to the user of the characters they are typing before the word is complete. + Bug fixes - - Fixes implicit declaration of 'pattern_check' - Fix a stackoverflow crash on applications with smaller stack size. - Fix the \v escape sequence. - The Python bindings now give a helpful error if liblouis has been compiled with a different character size than Python. - Massive bug fixes in multipass rules. Dave Mielke has done a tremendous job improving the multipass machinery also in the context of back-translation. Where needed nofor/noback has been added to the multipass rules. + Other changes - Improvements to the Emacs mode for editing liblouis tables - Documenting lou_charSize + Braille table improvements + License changes - DocArch has agreed to re-license their tables, so we have 8 more tables under the LGPLv2.1+. - Changes from version 3.0.0: + New features - Numerous features to support UEB properly. - support the many emphasis classes needed for UEB. - support translation of numbers according to the rules of UEB. - Capitalization is now handled just like emphasis. - support for numeric mode - UTF-8 support for all tools - Add ~lou_checkTable~ and ~lou_getTypeformForEmphClass~ to the C API and to the Python bindings + Bug fixes - Stop buffer overrun in ~lou_getProgramPath~, and also free memory after usage. + Other changes - The license of the library and most of the tables has been changed to LGPLv2.1+. + Braille table improvements * Changes from version 2.6.5: + New features - lou_trace supports backtranslation now. + Bug fixes - Fix a bug in the findtable code. - Fixes to the logging code + Other changes - Clean up dead code i.e. remove support for (undocumented) nobreak opcode. + Braille table improvements - Use %{version} in Source - Pass --enable-ucs4 to configure, for compatibility with python - Build with make -j1; otherwise make is unable to resolve some dependencies.- Define python_sitelib: newer versions of python-rpm-macros overwrite it to be python2 specific (python3 macros is called python3_sitelib). - To be on the safe side, define __python to python2 when not building for python3.- Move %install_info_delete from postun to preun. - Drop makeinfo BuildRequires: it's quite a big dependency and the .info file is present in the tarball. - Install doc directly (make_install -C doc).- Update to GNOME 3.20 Fate#318572- Use %{?_smp_mflags} for parallel build, newer %make_install for installation, and remove redundant %clean section.- Move data from library package to separate subpackage, to ensure library package can be safely upgraded.- Update to version 2.6.4: + New features: YAML based harness tests. Harness tests can now be written in simple YAML notation and they are integrated with the normal `make check' command. They can be used for both ucs2 and ucs4 and no Python is required. + Bug fixes: - Use a separate gnulib instance for the library and the tools. Use the strndup module to avoid build problems on windows. - Fix a problem with the nocross opcode when used in combination with the opcodes nocont and compbrl. - Fix a problem with the decoding of the harness test files. - Fix numerous problems in the way braille indicators are handled. There is now a safe version of the checkAttr function which makes sure that no attributes are checked beyond the boundaries of the currentInput. This fixes the random behavior with tests where the emphasis extends to the end of the input string. + Other changes: - If found use texi2any to build the documentation. - Fix permissions of Korean tables. - Update the windows build instructions. + Braille table improvements: - Changes from version 2.6.3: + New features: - [beta] The new function lou_findTable can be used for table discovery based on meta data in table headers. - The Python API now has a new function to check tables aptly named ~checkTable~. + Bug fixes: Fixed a problem in resolveTable when using a Java resolver. + Other changes: The build dependency on makeinfo is now optional. If it is not installed we simply do not build the documentation. + Braille table improvements. + Corrections and improvements made to UEB tables. - Changes from version 2.6.2: + New features: Harness tests now can test for typeform differences. + Bug fixes: Fix for emphasis bug. + Braille table improvements. - Changes from version 2.6.1: + New features: New Braille tables. + Braille table improvements. + Bug fixes: Fix a compiler warning in the logging code. + Documentation updates: The documentation has been restructured to be more beginner friendly and a short introduction to translation table writing has been added. + Other changes: - When compiling with mingw or cygwin resulting dll is liblouis.dll. - runHarness.py: add new output format, compact output mode suitable for grepping. + Backwards incompatible changes: - Deleted ga.ctb now superseded by ga-g1.utb and ga.g2.ctb. - Nl-Nl-g1.utb has been removed. It is superseded by nl-NL-g1.ctb. - nl-be-g1.utb has been removed. It is superseded by nl-BE-g1.ctb. - Changes from version 2.6.0: + New features: - New Braille tables. - Logging callback. There is now a callback system in place to get error messages and warnings. + Bug fixes: - Fix back translation problems when word gets split in unusual places causing back translation of whole words. - Fixed bug to prevent removal of \xffff between largesign rules. - Fixed a bug in back translation, when a letsign was encountered, the letsign was being applied beyond the element it applied to. - Fix memory leaks in the default table resolver introduced in the previous release. - Fixes to the build system. + Braille table improvements. - Bump soname following upstream changes, leading to rename of package liblouis2 to liblouis9. - Update url and sourceurl to new working ones. - Add exlicit makeinfo BuildRequires, we want to build documentation.sheep64 1654696827  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkl3.11.0-150200.3.3.1liblouistablesEs-Es-G0.utbIPA-unicode-range.utiIPA.utbLv-Lv-g1.utbPl-Pl-g1.utbSe-Se-g1.utbafr-za-g1.ctbafr-za-g2.ctbar-ar-comp8.utbar-ar-g1.utbar-ar-g2.ctbar.tblas-in-g1.utbas.tblaw-in-g1.utbawa.tblbe-in-g1.utbbengali.ctibg.ctbbg.tblbh.ctbbh.tblbn.tblbo.ctbbo.tblboxes.ctbbr-in-g1.utbbra.tblbraille-patterns.ctica-chardefs.ctica-g1.ctbca.tblchr-us-g1.ctbckb-chardefs.ctickb-g1.ctbckb-translation.ctickb.tblcompress.cticontrolchars.cticorrections.cticountries.ctics-chardefs.ctics-comp8.utbcs-g1.ctbcs-letterDef8Dots.utics-translation.ctics.tblcy-cy-g1.utbcy-cy-g2.ctbcy.tblda-dk-6miscChars.ctida-dk-g08.ctbda-dk-g16-lit.ctbda-dk-g16.ctbda-dk-g18.ctbda-dk-g26-lit.ctbda-dk-g26.ctbda-dk-g26l-lit.ctbda-dk-g26l.ctbda-dk-g28.ctbda-dk-g28l.ctbda-dk-octobraille.disda-dk.disda-lt.ctbde-accents-detailed.ctide-accents.ctide-chardefs6.ctide-chardefs8.ctide-chess.ctbde-de-comp8.ctbde-de.disde-eurobrl6.disde-eurobrl6u.disde-g0-core.utide-g0.utbde-g1-core-patterns.dicde-g1-core.ctide-g1.ctbde-g2-core-patterns.dicde-g2-core.ctide-g2.ctbdevanagari.ctidigits6Dots.utidigits6DotsPlusDot6.utidigits8Dots.utidra.ctbdra.tblel.ctben-GB-g2.ctben-chardefs.ctien-chess.ctben-gb-comp8.ctben-gb-g1.utben-in-g1.ctben-nabcc.utben-ueb-chardefs.utien-ueb-g1.ctben-ueb-g2.ctben-ueb-math.ctben-us-brf.disen-us-comp6.ctben-us-comp8-ext.utben-us-comp8.ctben-us-compbrl.utien-us-g1.ctben-us-g2.ctben-us-interline.ctben-us-mathtext.ctben_CA.ctben_CA.tblen_GB.tblen_US-comp8-ext.tblen_US.tbleo-g1-x-system.ctbeo-g1.ctbeo.tbles-chardefs.cties-g1.ctbes-g2.ctbes-new.dises-old.dises.tblet-g0.utbet.ctbet.tblethio-g1.ctbeurodefs.ctifa-ir-comp8.ctbfa-ir-g1.utbfi-fi-8dot.ctbfi.utbfi1.ctbfi2.ctbfr-bfu-comp6.utbfr-bfu-comp68.ctifr-bfu-comp8.utbfr-bfu-g2.ctbga-g1.utbga-g2.ctbgd.ctbgd.tblgez.tblgon.ctbgon.tblgr-pl-comp8.utigrc-international-common.utigrc-international-composed.utigrc-international-decomposed.utigrc-international-en.utbgu-in-g1.utbgu.tblgujarati.ctigurumuki.ctihaw-us-g1.ctbhe.ctbhe.tblhi-in-g1.utbhi.tblhr-chardefs.ctihr-comp8.tblhr-comp8.utbhr-digits.utihr-g1.ctbhr-g1.tblhr-translation.ctihu-backtranslate-correction.dishu-chardefs.ctihu-exceptionwords.ctihu-hu-comp8.ctbhu-hu-g1.ctbhu-hu-g1_braille_input.ctihu-hu-g2.ctbhu-hu-g2_exceptions.ctihu.tblhy.ctbhy.tblhyph_brl_da_dk.dichyph_cs_CZ.dichyph_da_DK.dichyph_de_DE.dichyph_en_US.dichyph_eo.dichyph_es_ES.dichyph_fr_FR.dichyph_hu_HU.dichyph_it_IT.dichyph_nb_NO.dichyph_nl_NL.dichyph_nn_NO.dichyph_pl_PL.dichyph_pt_PT.dichyph_ru.dichyph_sv_SE.dicis-chardefs6.ctiis-chardefs8.ctiis.ctbis.tblit-it-comp6.utbit-it-comp8.utbit.tbliu-ca-g1.ctbka-in-g1.utbkannada.ctikh-in-g1.utbkha.tblkn.tblko-2006-g1.ctbko-2006-g2.ctbko-2006.ctiko-chars.ctiko-g1-rules.ctiko-g1.ctbko-g2-rules.ctiko-g2.ctbko.ctikok.ctbkok.tblkru.ctbkru.tblks-in-g1.utblatinLetterDef6Dots.utilatinLetterDef8Dots.utilitdigits6Dots.utilitdigits6DotsPlusDot6.utiloweredDigits6Dots.utiloweredDigits8Dots.utilt-6dot.tbllt-6dot.utblt.ctblt.tbllv.tblmalayalam.ctimao-nz-g1.ctbmarburg_single_cell_defs.ctimarburg_unicode_defs.ctiml-in-g1.utbml.tblmn-MN-common.ctimn-MN-g1.utbmn-MN-g2.ctbmn-in-g1.utbmni.tblmr-in-g1.utbmr.tblmt.ctbmt.tblmun.ctbmun.tblmwr.ctbmwr.tblne.ctbne.tblnemethdefs.ctinl-BE-g0.utbnl-BE.disnl-NL-g0.utbnl-chardefs.utinl-g0.utinl.tblnl_BE.tblno-no-8dot-fallback-6dot-g0.utbno-no-8dot.utbno-no-braillo-047-01.disno-no-chardefs6.utino-no-comp8.ctbno-no-g0.utbno-no-g1.ctbno-no-g2.ctbno-no-g3.ctbno-no-generic.ctbno-no-generic.disno-no-latinLetterDef6Dots_diacritics.utino-no.disno.tblnp-in-g1.utbor-in-g1.utbor.tbloriya.ctipa.tblpi.ctbpi.tblpl-pl-comp8.ctbpl.tblprintables.ctipt-pt-comp8.ctbpt-pt-g1.utbpt-pt-g2.ctbpt.tblpu-in-g1.utbro.ctbro.tblru-chardefs.ctiru-compbrl.ctbru-letters.disru-litbrl.ctbru-ru-g1.utbru-ru.disru-unicode.disru.ctbru.tblsa-in-g1.utbsa.tblsd.tblse-se.ctbse-se.dissi-in-g1.utbsin.ctisin.utbsk-chardefs.ctisk-g1.ctbsk-sk-g1.utbsk-sk.utbsk-translation.ctisk.tblsl-si-comp8.ctbsl-si-g1.utbsl.tblsot-za-g1.ctbspaces.utisr-chardefs.ctisr-g1.ctbsr.tblsv-1989.ctbsv-1996.ctbsv.tblta-ta-g1.ctbta.ctbta.tbltamil.ctite-in-g1.utbte.tbltelugu.ctitext_nabcc.distr-g1.ctbtr-g2.ctbtr-g2.tbltr.ctbtr.tbltsn-za-g1.ctbuk.utbukchardefs.ctiukmaths_single_cell_defs.ctiukmaths_unicode_defs.ctiuni-text.disunicode-braille.utbunicode-without-blank.disunicode.disur-pk-g1.utbur-pk-g2.ctbus-table.disvi-g1.ctbvi.ctbvi.tblwiskunde-chardefs.ctizh-chn.ctbzh-hk.ctbzh-tw.ctbzh_CHN.tblzh_HK.tblzh_TW.tblzhcn-g1.ctbzhcn-g2.ctb/usr/share//usr/share/liblouis//usr/share/liblouis/tables/-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:24587/SUSE_SLE-15-SP2_Update/f37456f98421569ed7d405468f523851-liblouis.SUSE_SLE-15-SP2_Updatedrpmxz5x86_64-suse-linux     directoryUTF-8 Unicode textUTF-8 Unicode text, with very long linesASCII textC source, UTF-8 Unicode textASCII text, with very long linesUTF-8 Unicode text, with CRLF line terminatorstroff or preprocessor input, UTF-8 Unicode textISO-8859 texttroff or preprocessor input, ISO-8859 texttroff or preprocessor input, ASCII textC source, ASCII textgZOǧ٠WKutf-820a0d25c08261ad50edf04c2905a32f11db9f0f6790428803d8d0224c129265d? 7zXZ !t/ ]"k%r=dccd^F@3Rs(b)t6&+|:;&*~}r/A"Yc!Au;YؖcV]Svnb5 O@N3UdGHR")߼VamL*`ěOc:$Ĥx{q/ϥkLBٌv1P0ゃ%Y:h8նlڔP@Y *WDc\f+#1z Zƒ͡`g K`}{&$UsIDҙIL t҉  8,'Le!x-.y|ӗPu&f Dn,ɤ\)(" E̪yP A9N;WaXCU[tL0$ˤ/K5fEyr;y6kLGաJ\K?@p_WKbH$X\`|N/EdL?Yd%AtV5F*qXq N JWiEa ŝ4XіRab:Q^r1؅&YJ_xs;☮2"ja$d-Nز85pKv2t>6ݦ(".QNR6ˌuBn*_Ź60GT4F0fÇ1VF-]9f#Q o brW bA.>l&Z#koA0̥1P[,KWwtaISp9{qm!٭T.ECpl,]gʋca`Y׏+%iV Qu!L:k{U.>/k{= 3S?9і/PME̯3$sRY& ։Zŀr3Wat|Ѣ3V)>02e7I=`tqNA[-:TFgRȮ3]C DV"D^% '&XJۃoH*%˞7߯`ު_*qB0qC,OGl*Lu'I2W%?>V&?3.$ݔd@gTp%SH4qzϒS`9QHFN'QgdIr.`٪\ A<<>#›RqÙ-,!c*œ\n } d PieE'=~圪/®&9$HxJvɡO.(LH̔Q +0J>Q*B0A/H J:_T t+È+6dH# ^36,úuMs(aD+RދRlC㏇ˠ.6Ju$5铆QSvQJ(Yϗ_UI/8_x˜ z˵XQQSxtTlEJl˴@=`&#R>H8o}sI*Quޏ.yΕ2ij2Ҿ. .E(VFeli8ȊHop>,gݬI~ǔ84$ƃĄWNVܡuSsWsrF0%%90@+j _uqr]a((ﷃDyŬ}ɾeʻha%~ +`W"bBn=IE蠿t~m]mxQLY׏S'`'o$xK<1X wlPQ/[Rq!<[K|mFnJ##T멂N,DZƞlٳC`Owv8hLZmt(MiqO.aPsnڧbf