hyperglot 0.8.0__tar.gz → 0.8.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (852) hide show
  1. {hyperglot-0.8.0 → hyperglot-0.8.2}/PKG-INFO +15 -20
  2. {hyperglot-0.8.0 → hyperglot-0.8.2}/README.md +10 -1
  3. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/__init__.py +8 -3
  4. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/checkbase.py +120 -40
  5. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/checker.py +67 -37
  6. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/checks/check_brahmi_conjuncts.py +30 -19
  7. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/checks/check_brahmi_halfforms.py +13 -9
  8. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/checks/check_combination_marks.py +10 -9
  9. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/checks/check_coverage.py +23 -17
  10. hyperglot-0.8.0/lib/hyperglot/checks/check_arabic_joining.py → hyperglot-0.8.2/lib/hyperglot/checks/check_joining.py +31 -3
  11. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/checks/check_mark_attachment.py +40 -3
  12. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/cli.py +12 -7
  13. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/aht.yaml +2 -1
  14. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/akk.yaml +1 -0
  15. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/anw.yaml +2 -1
  16. hyperglot-0.8.2/lib/hyperglot/data/aoc.yaml +20 -0
  17. hyperglot-0.8.2/lib/hyperglot/data/atx.yaml +22 -0
  18. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ave.yaml +1 -0
  19. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/azb.yaml +1 -1
  20. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/azj.yaml +3 -4
  21. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/azo.yaml +2 -1
  22. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bjn.yaml +1 -1
  23. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/boz.yaml +3 -1
  24. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/byn.yaml +3 -3
  25. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bze.yaml +2 -1
  26. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/dga.yaml +1 -1
  27. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/dgi.yaml +1 -1
  28. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/dgl.yaml +2 -2
  29. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/diq.yaml +2 -2
  30. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/dty.yaml +2 -2
  31. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/efi.yaml +1 -1
  32. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/egy.yaml +1 -0
  33. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/eky.yaml +2 -0
  34. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/eng.yaml +2 -2
  35. hyperglot-0.8.2/lib/hyperglot/data/ese.yaml +30 -0
  36. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/fub.yaml +2 -0
  37. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/fue.yaml +2 -0
  38. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/fuh.yaml +2 -0
  39. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/fui.yaml +1 -0
  40. hyperglot-0.8.2/lib/hyperglot/data/ful.yaml +16 -0
  41. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/fuq.yaml +2 -0
  42. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/fuv.yaml +2 -0
  43. hyperglot-0.8.2/lib/hyperglot/data/gae.yaml +27 -0
  44. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gez.yaml +1 -0
  45. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gmy.yaml +2 -0
  46. hyperglot-0.8.2/lib/hyperglot/data/gta.yaml +22 -0
  47. hyperglot-0.8.2/lib/hyperglot/data/gun.yaml +23 -0
  48. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/hur.yaml +2 -1
  49. hyperglot-0.8.2/lib/hyperglot/data/ite.yaml +23 -0
  50. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/jat.yaml +2 -0
  51. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/jpn.yaml +1 -1
  52. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kbp.yaml +1 -1
  53. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kiu.yaml +2 -0
  54. hyperglot-0.8.2/lib/hyperglot/data/kpj.yaml +26 -0
  55. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kyu.yaml +2 -0
  56. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lab.yaml +1 -0
  57. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mcf.yaml +3 -3
  58. hyperglot-0.8.2/lib/hyperglot/data/mch.yaml +22 -0
  59. hyperglot-0.8.2/lib/hyperglot/data/mdk.yaml +21 -0
  60. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/min.yaml +1 -1
  61. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nep.yaml +2 -0
  62. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/njo.yaml +2 -0
  63. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/npi.yaml +2 -2
  64. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/omn.yaml +1 -0
  65. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/onw.yaml +1 -0
  66. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ota.yaml +2 -1
  67. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/pnb.yaml +1 -0
  68. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/rwk.yaml +1 -0
  69. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/san.yaml +2 -0
  70. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sgw.yaml +4 -1
  71. hyperglot-0.8.2/lib/hyperglot/data/shb.yaml +22 -0
  72. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sux.yaml +1 -0
  73. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/swc.yaml +3 -0
  74. hyperglot-0.8.2/lib/hyperglot/data/swo.yaml +23 -0
  75. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tig.yaml +1 -1
  76. hyperglot-0.8.2/lib/hyperglot/data/tnq.yaml +19 -0
  77. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tob.yaml +2 -0
  78. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ton.yaml +6 -1
  79. hyperglot-0.8.2/lib/hyperglot/data/urb.yaml +25 -0
  80. hyperglot-0.8.2/lib/hyperglot/data/urz.yaml +21 -0
  81. hyperglot-0.8.2/lib/hyperglot/data/waw.yaml +28 -0
  82. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/xha.yaml +1 -0
  83. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/xhd.yaml +1 -0
  84. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/xnz.yaml +2 -2
  85. hyperglot-0.8.2/lib/hyperglot/data/xor.yaml +24 -0
  86. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/xqt.yaml +1 -0
  87. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/xrg.yaml +1 -0
  88. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/xsa.yaml +1 -0
  89. hyperglot-0.8.2/lib/hyperglot/data/xsu.yaml +24 -0
  90. hyperglot-0.8.2/lib/hyperglot/data/yro.yaml +22 -0
  91. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/zgh.yaml +3 -0
  92. hyperglot-0.8.2/lib/hyperglot/data/zza.yaml +9 -0
  93. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/language.py +56 -14
  94. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/orthography.py +0 -2
  95. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/shaper.py +11 -2
  96. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/validate.py +12 -3
  97. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot.egg-info/PKG-INFO +15 -20
  98. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot.egg-info/SOURCES.txt +24 -4
  99. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot.egg-info/requires.txt +1 -1
  100. hyperglot-0.8.2/pyproject.toml +56 -0
  101. {hyperglot-0.8.0 → hyperglot-0.8.2}/tests/test_checker.py +168 -21
  102. {hyperglot-0.8.0 → hyperglot-0.8.2}/tests/test_checks.py +67 -3
  103. {hyperglot-0.8.0 → hyperglot-0.8.2}/tests/test_cli.py +29 -6
  104. hyperglot-0.8.2/tests/test_language.py +400 -0
  105. hyperglot-0.8.2/tests/test_webfonts.py +81 -0
  106. hyperglot-0.8.0/lib/hyperglot/data/ese.yaml +0 -14
  107. hyperglot-0.8.0/lib/hyperglot/data/linb.yaml +0 -11
  108. hyperglot-0.8.0/setup.py +0 -74
  109. hyperglot-0.8.0/tests/test_language.py +0 -134
  110. {hyperglot-0.8.0 → hyperglot-0.8.2}/LICENSE +0 -0
  111. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/aae.yaml +0 -0
  112. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/aaq.yaml +0 -0
  113. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/aar.yaml +0 -0
  114. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/aat.yaml +0 -0
  115. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/abe.yaml +0 -0
  116. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/abi.yaml +0 -0
  117. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/abk.yaml +0 -0
  118. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/abn.yaml +0 -0
  119. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/abq.yaml +0 -0
  120. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/abr.yaml +0 -0
  121. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/abv.yaml +0 -0
  122. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ace.yaml +0 -0
  123. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ach.yaml +0 -0
  124. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/acm.yaml +0 -0
  125. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/acq.yaml +0 -0
  126. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/acu.yaml +0 -0
  127. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/acw.yaml +0 -0
  128. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/acx.yaml +0 -0
  129. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/acz.yaml +0 -0
  130. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ada.yaml +0 -0
  131. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ade.yaml +0 -0
  132. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ady.yaml +0 -0
  133. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/aeb.yaml +0 -0
  134. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/aec.yaml +0 -0
  135. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/aer.yaml +0 -0
  136. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/afb.yaml +0 -0
  137. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/afr.yaml +0 -0
  138. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/agq.yaml +0 -0
  139. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/agr.yaml +0 -0
  140. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/agx.yaml +0 -0
  141. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/aha.yaml +0 -0
  142. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/aii.yaml +0 -0
  143. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ain.yaml +0 -0
  144. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/aiq.yaml +0 -0
  145. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ajg.yaml +0 -0
  146. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ajp.yaml +0 -0
  147. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ale.yaml +0 -0
  148. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/aln.yaml +0 -0
  149. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/alq.yaml +0 -0
  150. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/als.yaml +0 -0
  151. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/alt.yaml +0 -0
  152. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/amc.yaml +0 -0
  153. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ame.yaml +0 -0
  154. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/amh.yaml +0 -0
  155. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ami.yaml +0 -0
  156. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/amr.yaml +0 -0
  157. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/anc.yaml +0 -0
  158. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ani.yaml +0 -0
  159. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/any.yaml +0 -0
  160. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/aoz.yaml +0 -0
  161. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/apc.yaml +0 -0
  162. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/apd.yaml +0 -0
  163. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/apn.yaml +0 -0
  164. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/aqc.yaml +0 -0
  165. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/arb.yaml +0 -0
  166. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/arg.yaml +0 -0
  167. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/arl.yaml +0 -0
  168. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/arn.yaml +0 -0
  169. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/arq.yaml +0 -0
  170. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/arr.yaml +0 -0
  171. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ars.yaml +0 -0
  172. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ary.yaml +0 -0
  173. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/arz.yaml +0 -0
  174. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/asa.yaml +0 -0
  175. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/asm.yaml +0 -0
  176. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ast.yaml +0 -0
  177. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/atv.yaml +0 -0
  178. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/auc.yaml +0 -0
  179. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/aud.yaml +0 -0
  180. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ava.yaml +0 -0
  181. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/avl.yaml +0 -0
  182. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/avn.yaml +0 -0
  183. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/awa.yaml +0 -0
  184. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/awe.yaml +0 -0
  185. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/awn.yaml +0 -0
  186. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ayb.yaml +0 -0
  187. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ayc.yaml +0 -0
  188. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ayh.yaml +0 -0
  189. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ayl.yaml +0 -0
  190. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ayn.yaml +0 -0
  191. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ayp.yaml +0 -0
  192. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ayr.yaml +0 -0
  193. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bak.yaml +0 -0
  194. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bal.yaml +0 -0
  195. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bam.yaml +0 -0
  196. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ban.yaml +0 -0
  197. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bas.yaml +0 -0
  198. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bax.yaml +0 -0
  199. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bba.yaml +0 -0
  200. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bbc.yaml +0 -0
  201. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bbo.yaml +0 -0
  202. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bci.yaml +0 -0
  203. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bdk.yaml +0 -0
  204. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/beh.yaml +0 -0
  205. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bel.yaml +0 -0
  206. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bem.yaml +0 -0
  207. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ben.yaml +0 -0
  208. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bez.yaml +0 -0
  209. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bfa.yaml +0 -0
  210. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bfo.yaml +0 -0
  211. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bhh.yaml +0 -0
  212. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bho.yaml +0 -0
  213. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bib.yaml +0 -0
  214. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bik.yaml +0 -0
  215. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bin.yaml +0 -0
  216. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bis.yaml +0 -0
  217. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bjt.yaml +0 -0
  218. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bkm.yaml +0 -0
  219. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/blo.yaml +0 -0
  220. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/blt.yaml +0 -0
  221. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bmq.yaml +0 -0
  222. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/boa.yaml +0 -0
  223. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bod.yaml +0 -0
  224. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bos.yaml +0 -0
  225. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/box.yaml +0 -0
  226. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bpy.yaml +0 -0
  227. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bqc.yaml +0 -0
  228. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bre.yaml +0 -0
  229. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/brx.yaml +0 -0
  230. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bsc.yaml +0 -0
  231. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bss.yaml +0 -0
  232. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/btd.yaml +0 -0
  233. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/btm.yaml +0 -0
  234. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bts.yaml +0 -0
  235. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/btx.yaml +0 -0
  236. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/buc.yaml +0 -0
  237. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bug.yaml +0 -0
  238. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bul.yaml +0 -0
  239. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bwj.yaml +0 -0
  240. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bwq.yaml +0 -0
  241. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bxm.yaml +0 -0
  242. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bxr.yaml +0 -0
  243. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/bxu.yaml +0 -0
  244. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/byv.yaml +0 -0
  245. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cab.yaml +0 -0
  246. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cak.yaml +0 -0
  247. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cat.yaml +0 -0
  248. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cbi.yaml +0 -0
  249. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cbk.yaml +0 -0
  250. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cbr.yaml +0 -0
  251. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cbs.yaml +0 -0
  252. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cbt.yaml +0 -0
  253. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cbu.yaml +0 -0
  254. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ccp.yaml +0 -0
  255. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ceb.yaml +0 -0
  256. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ces.yaml +0 -0
  257. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cfm.yaml +0 -0
  258. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cgg.yaml +0 -0
  259. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cha.yaml +0 -0
  260. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/che.yaml +0 -0
  261. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/chj.yaml +0 -0
  262. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/chk.yaml +0 -0
  263. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/chr.yaml +0 -0
  264. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/chu.yaml +0 -0
  265. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/chv.yaml +0 -0
  266. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cic.yaml +0 -0
  267. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cim.yaml +0 -0
  268. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cji.yaml +0 -0
  269. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cjk.yaml +0 -0
  270. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cjs.yaml +0 -0
  271. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cjy.yaml +0 -0
  272. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ckb.yaml +0 -0
  273. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cko.yaml +0 -0
  274. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ckt.yaml +0 -0
  275. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cme.yaml +0 -0
  276. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cmn.yaml +0 -0
  277. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cnh.yaml +0 -0
  278. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cni.yaml +0 -0
  279. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cnr.yaml +0 -0
  280. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cof.yaml +0 -0
  281. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/con_.yaml +0 -0
  282. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/coo.yaml +0 -0
  283. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cor.yaml +0 -0
  284. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cos.yaml +0 -0
  285. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cot.yaml +0 -0
  286. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cou.yaml +0 -0
  287. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cpu.yaml +0 -0
  288. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/crh.yaml +0 -0
  289. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/crs.yaml +0 -0
  290. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/csa.yaml +0 -0
  291. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/csb.yaml +0 -0
  292. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/csw.yaml +0 -0
  293. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ctd.yaml +0 -0
  294. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ctg.yaml +0 -0
  295. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/cym.yaml +0 -0
  296. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/dag.yaml +0 -0
  297. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/dan.yaml +0 -0
  298. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/dar.yaml +0 -0
  299. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/dav.yaml +0 -0
  300. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ddn.yaml +0 -0
  301. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ddo.yaml +0 -0
  302. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/deh.yaml +0 -0
  303. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/deu.yaml +0 -0
  304. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/dgo.yaml +0 -0
  305. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/dhv.yaml +0 -0
  306. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/din.yaml +0 -0
  307. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/dip.yaml +0 -0
  308. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/div.yaml +0 -0
  309. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/dje.yaml +0 -0
  310. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/dlg.yaml +0 -0
  311. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/dng.yaml +0 -0
  312. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/dno.yaml +0 -0
  313. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/doi.yaml +0 -0
  314. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/dop.yaml +0 -0
  315. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/dsb.yaml +0 -0
  316. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/dua.yaml +0 -0
  317. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/dya.yaml +0 -0
  318. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/dyo.yaml +0 -0
  319. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/dyu.yaml +0 -0
  320. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/dzo.yaml +0 -0
  321. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ebu.yaml +0 -0
  322. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ekk.yaml +0 -0
  323. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ell.yaml +0 -0
  324. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/emk.yaml +0 -0
  325. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ems.yaml +0 -0
  326. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/enf.yaml +0 -0
  327. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/enh.yaml +0 -0
  328. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/epo.yaml +0 -0
  329. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ess.yaml +0 -0
  330. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/esu.yaml +0 -0
  331. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/eus.yaml +0 -0
  332. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/eve.yaml +0 -0
  333. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/evn.yaml +0 -0
  334. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ewe.yaml +0 -0
  335. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ewo.yaml +0 -0
  336. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/fao.yaml +0 -0
  337. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/fat.yaml +0 -0
  338. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ffm.yaml +0 -0
  339. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/fia.yaml +0 -0
  340. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/fij.yaml +0 -0
  341. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/fil.yaml +0 -0
  342. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/fin.yaml +0 -0
  343. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/fkv.yaml +0 -0
  344. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/fmp.yaml +0 -0
  345. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/fod.yaml +0 -0
  346. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/fon.yaml +0 -0
  347. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/fra.yaml +0 -0
  348. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/fry.yaml +0 -0
  349. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/fuc.yaml +0 -0
  350. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/fuf.yaml +0 -0
  351. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/fur.yaml +0 -0
  352. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gaa.yaml +0 -0
  353. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gag.yaml +0 -0
  354. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gah.yaml +0 -0
  355. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gan.yaml +0 -0
  356. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gax.yaml +0 -0
  357. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gaz.yaml +0 -0
  358. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gcf.yaml +0 -0
  359. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gej.yaml +0 -0
  360. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gil.yaml +0 -0
  361. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gjn.yaml +0 -0
  362. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gkp.yaml +0 -0
  363. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gla.yaml +0 -0
  364. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gld.yaml +0 -0
  365. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gle.yaml +0 -0
  366. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/glg.yaml +0 -0
  367. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/glv.yaml +0 -0
  368. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gni.yaml +0 -0
  369. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gom.yaml +0 -0
  370. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gqa.yaml +0 -0
  371. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/grc.yaml +0 -0
  372. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gsw.yaml +0 -0
  373. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/guc.yaml +0 -0
  374. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gug.yaml +0 -0
  375. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/guj.yaml +0 -0
  376. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gur.yaml +0 -0
  377. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/guu.yaml +0 -0
  378. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gux.yaml +0 -0
  379. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/guz.yaml +0 -0
  380. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/gwi.yaml +0 -0
  381. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/haa.yaml +0 -0
  382. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/hae.yaml +0 -0
  383. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/haj.yaml +0 -0
  384. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/hak.yaml +0 -0
  385. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/har.yaml +0 -0
  386. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/hat.yaml +0 -0
  387. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/hau.yaml +0 -0
  388. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/haw.yaml +0 -0
  389. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/haz.yaml +0 -0
  390. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/hea.yaml +0 -0
  391. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/heb.yaml +0 -0
  392. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/hil.yaml +0 -0
  393. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/hin.yaml +0 -0
  394. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/hms.yaml +0 -0
  395. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/hnd.yaml +0 -0
  396. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/hni.yaml +0 -0
  397. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/hnn.yaml +0 -0
  398. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/hno.yaml +0 -0
  399. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/hns.yaml +0 -0
  400. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/hop.yaml +0 -0
  401. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/hrv.yaml +0 -0
  402. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/hsb.yaml +0 -0
  403. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/hun.yaml +0 -0
  404. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/hus.yaml +0 -0
  405. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/huu.yaml +0 -0
  406. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/huz.yaml +0 -0
  407. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/hye.yaml +0 -0
  408. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/hyw.yaml +0 -0
  409. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ibb.yaml +0 -0
  410. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ibo.yaml +0 -0
  411. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ido.yaml +0 -0
  412. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/idu.yaml +0 -0
  413. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ife.yaml +0 -0
  414. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/igs.yaml +0 -0
  415. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/iii.yaml +0 -0
  416. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ike.yaml +0 -0
  417. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ile.yaml +0 -0
  418. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ilo.yaml +0 -0
  419. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ina.yaml +0 -0
  420. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ind.yaml +0 -0
  421. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/inh.yaml +0 -0
  422. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/isl.yaml +0 -0
  423. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ita.yaml +0 -0
  424. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/itl.yaml +0 -0
  425. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/jam.yaml +0 -0
  426. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/jav.yaml +0 -0
  427. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/jbo.yaml +0 -0
  428. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/jct.yaml +0 -0
  429. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/jdt.yaml +0 -0
  430. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/jgo.yaml +0 -0
  431. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/jiv.yaml +0 -0
  432. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/jpr.yaml +0 -0
  433. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kaa.yaml +0 -0
  434. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kab.yaml +0 -0
  435. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kal.yaml +0 -0
  436. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kam.yaml +0 -0
  437. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kan.yaml +0 -0
  438. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kap.yaml +0 -0
  439. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kat.yaml +0 -0
  440. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kau.yaml +0 -0
  441. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kaz.yaml +0 -0
  442. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kbd.yaml +0 -0
  443. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kca.yaml +0 -0
  444. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kde.yaml +0 -0
  445. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kdh.yaml +0 -0
  446. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kdr.yaml +0 -0
  447. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kea.yaml +0 -0
  448. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kek.yaml +0 -0
  449. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ket.yaml +0 -0
  450. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/keu.yaml +0 -0
  451. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kfr.yaml +0 -0
  452. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kgp.yaml +0 -0
  453. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kha.yaml +0 -0
  454. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/khk.yaml +0 -0
  455. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/khm.yaml +0 -0
  456. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/khq.yaml +0 -0
  457. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kik.yaml +0 -0
  458. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kin.yaml +0 -0
  459. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kir.yaml +0 -0
  460. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kjh.yaml +0 -0
  461. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kjj.yaml +0 -0
  462. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kkh.yaml +0 -0
  463. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kkj.yaml +0 -0
  464. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kln.yaml +0 -0
  465. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kmb.yaml +0 -0
  466. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kmr.yaml +0 -0
  467. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/knf.yaml +0 -0
  468. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/knn.yaml +0 -0
  469. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/koi.yaml +0 -0
  470. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kok.yaml +0 -0
  471. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kon.yaml +0 -0
  472. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/koo.yaml +0 -0
  473. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kor.yaml +0 -0
  474. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kpt.yaml +0 -0
  475. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kpv.yaml +0 -0
  476. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kpy.yaml +0 -0
  477. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kqn.yaml +0 -0
  478. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kqs.yaml +0 -0
  479. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/krc.yaml +0 -0
  480. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kri.yaml +0 -0
  481. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/krl.yaml +0 -0
  482. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ksb.yaml +0 -0
  483. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ksf.yaml +0 -0
  484. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ksh.yaml +0 -0
  485. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kst.yaml +0 -0
  486. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ktu.yaml +0 -0
  487. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kua.yaml +0 -0
  488. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kum.yaml +0 -0
  489. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kus.yaml +0 -0
  490. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kwi.yaml +0 -0
  491. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/kwk.yaml +0 -0
  492. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lad.yaml +0 -0
  493. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lag.yaml +0 -0
  494. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lah.yaml +0 -0
  495. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lam.yaml +0 -0
  496. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lao.yaml +0 -0
  497. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lat.yaml +0 -0
  498. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lbe.yaml +0 -0
  499. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lee.yaml +0 -0
  500. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lez.yaml +0 -0
  501. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lia.yaml +0 -0
  502. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lij.yaml +0 -0
  503. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lin.yaml +0 -0
  504. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lit.yaml +0 -0
  505. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lkt.yaml +0 -0
  506. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lld.yaml +0 -0
  507. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lmo.yaml +0 -0
  508. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lns.yaml +0 -0
  509. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lob.yaml +0 -0
  510. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lot.yaml +0 -0
  511. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/loz.yaml +0 -0
  512. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ltg.yaml +0 -0
  513. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ltz.yaml +0 -0
  514. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lua.yaml +0 -0
  515. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lub.yaml +0 -0
  516. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lug.yaml +0 -0
  517. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/luo.yaml +0 -0
  518. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lus.yaml +0 -0
  519. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lvs.yaml +0 -0
  520. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/lzz.yaml +0 -0
  521. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mad.yaml +0 -0
  522. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mag.yaml +0 -0
  523. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mah.yaml +0 -0
  524. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mai.yaml +0 -0
  525. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mal.yaml +0 -0
  526. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mam.yaml +0 -0
  527. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mar.yaml +0 -0
  528. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mas.yaml +0 -0
  529. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/maz.yaml +0 -0
  530. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mcd.yaml +0 -0
  531. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mcn.yaml +0 -0
  532. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mdf.yaml +0 -0
  533. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/men.yaml +0 -0
  534. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mer.yaml +0 -0
  535. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mey.yaml +0 -0
  536. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mfe.yaml +0 -0
  537. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mfq.yaml +0 -0
  538. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mfv.yaml +0 -0
  539. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mgh.yaml +0 -0
  540. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mgo.yaml +0 -0
  541. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mhr.yaml +0 -0
  542. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mic.yaml +0 -0
  543. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/miq.yaml +0 -0
  544. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mkd.yaml +0 -0
  545. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mlg.yaml +0 -0
  546. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mlt.yaml +0 -0
  547. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mni.yaml +0 -0
  548. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mnk.yaml +0 -0
  549. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mns.yaml +0 -0
  550. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mnw.yaml +0 -0
  551. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/moe.yaml +0 -0
  552. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/moh.yaml +0 -0
  553. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mos.yaml +0 -0
  554. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mql.yaml +0 -0
  555. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mqm.yaml +0 -0
  556. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mri.yaml +0 -0
  557. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mrj.yaml +0 -0
  558. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mrq.yaml +0 -0
  559. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mto.yaml +0 -0
  560. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mua.yaml +0 -0
  561. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mus.yaml +0 -0
  562. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mwf.yaml +0 -0
  563. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mwl.yaml +0 -0
  564. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mwp.yaml +0 -0
  565. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mxv.yaml +0 -0
  566. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mya.yaml +0 -0
  567. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/myk.yaml +0 -0
  568. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/myv.yaml +0 -0
  569. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/mzi.yaml +0 -0
  570. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nag.yaml +0 -0
  571. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nan.yaml +0 -0
  572. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nap.yaml +0 -0
  573. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/naq.yaml +0 -0
  574. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nav.yaml +0 -0
  575. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nba.yaml +0 -0
  576. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nbl.yaml +0 -0
  577. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nde.yaml +0 -0
  578. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ndo.yaml +0 -0
  579. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nds.yaml +0 -0
  580. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nhn.yaml +0 -0
  581. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nio.yaml +0 -0
  582. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/niu.yaml +0 -0
  583. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/niv.yaml +0 -0
  584. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nku.yaml +0 -0
  585. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nld.yaml +0 -0
  586. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nmg.yaml +0 -0
  587. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nmz.yaml +0 -0
  588. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nnh.yaml +0 -0
  589. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nnw.yaml +0 -0
  590. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nog.yaml +0 -0
  591. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/non.yaml +0 -0
  592. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nor.yaml +0 -0
  593. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/not.yaml +0 -0
  594. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nov.yaml +0 -0
  595. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nso.yaml +0 -0
  596. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ntm.yaml +0 -0
  597. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nuk.yaml +0 -0
  598. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nus.yaml +0 -0
  599. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nya.yaml +0 -0
  600. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nym.yaml +0 -0
  601. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nyn.yaml +0 -0
  602. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nza.yaml +0 -0
  603. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/nzi.yaml +0 -0
  604. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/oaa.yaml +0 -0
  605. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/oci.yaml +0 -0
  606. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ojb.yaml +0 -0
  607. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/oji.yaml +0 -0
  608. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/oma.yaml +0 -0
  609. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/orc.yaml +0 -0
  610. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/orh.yaml +0 -0
  611. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ori.yaml +0 -0
  612. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/oss.yaml +0 -0
  613. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ote.yaml +0 -0
  614. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ozm.yaml +0 -0
  615. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/pam.yaml +0 -0
  616. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/pan.yaml +0 -0
  617. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/pap.yaml +0 -0
  618. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/pau.yaml +0 -0
  619. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/pbb.yaml +0 -0
  620. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/pbu.yaml +0 -0
  621. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/pcd.yaml +0 -0
  622. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/pes.yaml +0 -0
  623. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/pga.yaml +0 -0
  624. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/phr.yaml +0 -0
  625. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/pil.yaml +0 -0
  626. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/pis.yaml +0 -0
  627. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/piu.yaml +0 -0
  628. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/plz.yaml +0 -0
  629. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/pms.yaml +0 -0
  630. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/pnt.yaml +0 -0
  631. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/pol.yaml +0 -0
  632. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/pon.yaml +0 -0
  633. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/por.yaml +0 -0
  634. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/pot.yaml +0 -0
  635. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/pov.yaml +0 -0
  636. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ppl.yaml +0 -0
  637. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/prg.yaml +0 -0
  638. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/prq.yaml +0 -0
  639. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/prs.yaml +0 -0
  640. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/pug.yaml +0 -0
  641. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/quc.yaml +0 -0
  642. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/que.yaml +0 -0
  643. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/qxq.yaml +0 -0
  644. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/rah.yaml +0 -0
  645. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/rar.yaml +0 -0
  646. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/rkt.yaml +0 -0
  647. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/rmn.yaml +0 -0
  648. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/rmy.yaml +0 -0
  649. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/roh.yaml +0 -0
  650. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ron.yaml +0 -0
  651. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/roo.yaml +0 -0
  652. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/rue.yaml +0 -0
  653. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/run.yaml +0 -0
  654. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ruo.yaml +0 -0
  655. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/rup.yaml +0 -0
  656. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ruq.yaml +0 -0
  657. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/rus.yaml +0 -0
  658. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/rut.yaml +0 -0
  659. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ryu.yaml +0 -0
  660. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sag.yaml +0 -0
  661. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sah.yaml +0 -0
  662. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/saq.yaml +0 -0
  663. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sav.yaml +0 -0
  664. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sbd.yaml +0 -0
  665. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sbp.yaml +0 -0
  666. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/scn.yaml +0 -0
  667. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sco.yaml +0 -0
  668. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sdh.yaml +0 -0
  669. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/seh.yaml +0 -0
  670. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sei.yaml +0 -0
  671. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sel.yaml +0 -0
  672. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ses.yaml +0 -0
  673. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sey.yaml +0 -0
  674. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sgh.yaml +0 -0
  675. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/shi.yaml +0 -0
  676. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/shk.yaml +0 -0
  677. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/shn.yaml +0 -0
  678. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/shp.yaml +0 -0
  679. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/shu.yaml +0 -0
  680. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/shz.yaml +0 -0
  681. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sin.yaml +0 -0
  682. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sjd.yaml +0 -0
  683. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sje.yaml +0 -0
  684. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sjt.yaml +0 -0
  685. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sju.yaml +0 -0
  686. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sjw.yaml +0 -0
  687. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/skr.yaml +0 -0
  688. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sld.yaml +0 -0
  689. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/slk.yaml +0 -0
  690. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/slv.yaml +0 -0
  691. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sma.yaml +0 -0
  692. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sme.yaml +0 -0
  693. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/smj.yaml +0 -0
  694. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/smn.yaml +0 -0
  695. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/smo.yaml +0 -0
  696. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sms.yaml +0 -0
  697. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sna.yaml +0 -0
  698. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/snd.yaml +0 -0
  699. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/snf.yaml +0 -0
  700. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/snk.yaml +0 -0
  701. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/snn.yaml +0 -0
  702. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/som.yaml +0 -0
  703. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sot.yaml +0 -0
  704. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/soy.yaml +0 -0
  705. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/spa.yaml +0 -0
  706. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/squ.yaml +0 -0
  707. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/srd.yaml +0 -0
  708. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/srm.yaml +0 -0
  709. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/srn.yaml +0 -0
  710. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/srp.yaml +0 -0
  711. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/srr.yaml +0 -0
  712. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ssw.yaml +0 -0
  713. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/suk.yaml +0 -0
  714. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sun.yaml +0 -0
  715. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sus.yaml +0 -0
  716. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sva.yaml +0 -0
  717. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/swb.yaml +0 -0
  718. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/swe.yaml +0 -0
  719. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/swh.yaml +0 -0
  720. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/sxw.yaml +0 -0
  721. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/szl.yaml +0 -0
  722. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tab.yaml +0 -0
  723. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tah.yaml +0 -0
  724. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/taj.yaml +0 -0
  725. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tam.yaml +0 -0
  726. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tat.yaml +0 -0
  727. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tay.yaml +0 -0
  728. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tbz.yaml +0 -0
  729. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tca.yaml +0 -0
  730. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tdt.yaml +0 -0
  731. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tel.yaml +0 -0
  732. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tem.yaml +0 -0
  733. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/teo.yaml +0 -0
  734. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tet.yaml +0 -0
  735. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tgk.yaml +0 -0
  736. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tgl.yaml +0 -0
  737. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tha.yaml +0 -0
  738. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/thp.yaml +0 -0
  739. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tik.yaml +0 -0
  740. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tir.yaml +0 -0
  741. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tiv.yaml +0 -0
  742. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tkl.yaml +0 -0
  743. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tkr.yaml +0 -0
  744. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tlh.yaml +0 -0
  745. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tli.yaml +0 -0
  746. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tly.yaml +0 -0
  747. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tnr.yaml +0 -0
  748. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tod.yaml +0 -0
  749. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/toi.yaml +0 -0
  750. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/toj.yaml +0 -0
  751. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tok.yaml +0 -0
  752. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/top.yaml +0 -0
  753. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tpi.yaml +0 -0
  754. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tsn.yaml +0 -0
  755. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tso.yaml +0 -0
  756. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tsz.yaml +0 -0
  757. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ttq.yaml +0 -0
  758. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ttt.yaml +0 -0
  759. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tuk.yaml +0 -0
  760. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tum.yaml +0 -0
  761. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tur.yaml +0 -0
  762. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tuz.yaml +0 -0
  763. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tvl.yaml +0 -0
  764. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/twi.yaml +0 -0
  765. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/twq.yaml +0 -0
  766. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tyv.yaml +0 -0
  767. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tzh.yaml +0 -0
  768. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tzm.yaml +0 -0
  769. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/tzo.yaml +0 -0
  770. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/udi.yaml +0 -0
  771. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/udm.yaml +0 -0
  772. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/uig.yaml +0 -0
  773. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ukr.yaml +0 -0
  774. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ulk.yaml +0 -0
  775. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/umb.yaml +0 -0
  776. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/umu.yaml +0 -0
  777. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ura.yaml +0 -0
  778. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/urd.yaml +0 -0
  779. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/uum.yaml +0 -0
  780. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/uzn.yaml +0 -0
  781. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/uzs.yaml +0 -0
  782. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/vai.yaml +0 -0
  783. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/vec.yaml +0 -0
  784. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ven.yaml +0 -0
  785. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/vep.yaml +0 -0
  786. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/vie.yaml +0 -0
  787. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/vmw.yaml +0 -0
  788. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/vol.yaml +0 -0
  789. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/vro.yaml +0 -0
  790. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/wae.yaml +0 -0
  791. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/war.yaml +0 -0
  792. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/wbp.yaml +0 -0
  793. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/wci.yaml +0 -0
  794. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/wim.yaml +0 -0
  795. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/win.yaml +0 -0
  796. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/wln.yaml +0 -0
  797. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/wls.yaml +0 -0
  798. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/wmw.yaml +0 -0
  799. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/wol.yaml +0 -0
  800. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/wrh.yaml +0 -0
  801. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/wss.yaml +0 -0
  802. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/wuu.yaml +0 -0
  803. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/wwa.yaml +0 -0
  804. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/wyb.yaml +0 -0
  805. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/xal.yaml +0 -0
  806. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/xan.yaml +0 -0
  807. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/xav.yaml +0 -0
  808. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/xhe.yaml +0 -0
  809. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/xho.yaml +0 -0
  810. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/xmf.yaml +0 -0
  811. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/xnr.yaml +0 -0
  812. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/xog.yaml +0 -0
  813. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/xsm.yaml +0 -0
  814. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/xwe.yaml +0 -0
  815. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/yad.yaml +0 -0
  816. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/yai.yaml +0 -0
  817. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/yao.yaml +0 -0
  818. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/yap.yaml +0 -0
  819. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/yav.yaml +0 -0
  820. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ydd.yaml +0 -0
  821. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/yih.yaml +0 -0
  822. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/yij.yaml +0 -0
  823. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ykg.yaml +0 -0
  824. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/ymk.yaml +0 -0
  825. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/yor.yaml +0 -0
  826. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/yrk.yaml +0 -0
  827. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/yua.yaml +0 -0
  828. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/yue.yaml +0 -0
  829. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/yux.yaml +0 -0
  830. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/zap.yaml +0 -0
  831. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/zdj.yaml +0 -0
  832. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/zlm.yaml +0 -0
  833. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/zro.yaml +0 -0
  834. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/zsm.yaml +0 -0
  835. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/zul.yaml +0 -0
  836. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/data/zun.yaml +0 -0
  837. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/extra_data/default.yaml +0 -0
  838. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/extra_data/joining-types.yaml +0 -0
  839. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/extra_data/script-names.yaml +0 -0
  840. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/languages.py +0 -0
  841. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/loader.py +0 -0
  842. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/parse.py +0 -0
  843. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot/utils.py +0 -0
  844. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot.egg-info/dependency_links.txt +0 -0
  845. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot.egg-info/entry_points.txt +0 -0
  846. {hyperglot-0.8.0 → hyperglot-0.8.2}/lib/hyperglot.egg-info/top_level.txt +0 -0
  847. {hyperglot-0.8.0 → hyperglot-0.8.2}/setup.cfg +0 -0
  848. {hyperglot-0.8.0 → hyperglot-0.8.2}/tests/test_languages.py +0 -0
  849. {hyperglot-0.8.0 → hyperglot-0.8.2}/tests/test_orthography.py +0 -0
  850. {hyperglot-0.8.0 → hyperglot-0.8.2}/tests/test_parse.py +0 -0
  851. {hyperglot-0.8.0 → hyperglot-0.8.2}/tests/test_shaper.py +0 -0
  852. {hyperglot-0.8.0 → hyperglot-0.8.2}/tests/test_utils.py +0 -0
@@ -1,15 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hyperglot
3
- Version: 0.8.0
3
+ Version: 0.8.2
4
4
  Summary: Detect language support for font binaries
5
- Home-page: https://github.com/rosettatype/hyperglot
6
- Author: Johannes Neumeier - Rosetta
7
- Author-email: johannes@rosettatype.com
8
- License: Apache License 2.0
5
+ Author-email: Johannes Neumeier - Rosetta <johannes@rosettatype.com>
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Homepage, https://github.com/rosettatype/hyperglot
9
8
  Project-URL: Hyperglot web interface, https://hyperglot.rosettatype.com
10
9
  Classifier: Programming Language :: Python :: 3.10
11
10
  Classifier: Operating System :: OS Independent
12
- Classifier: License :: OSI Approved :: Apache Software License
13
11
  Classifier: Intended Audience :: End Users/Desktop
14
12
  Classifier: Intended Audience :: Information Technology
15
13
  Classifier: Topic :: Text Processing :: Fonts
@@ -19,7 +17,7 @@ Description-Content-Type: text/markdown
19
17
  License-File: LICENSE
20
18
  Requires-Dist: packaging>=26.0
21
19
  Requires-Dist: click>=7.0
22
- Requires-Dist: fonttools>=4.50.0
20
+ Requires-Dist: fonttools[woff]>=4.50.0
23
21
  Requires-Dist: uharfbuzz>=0.39.0
24
22
  Requires-Dist: pyyaml>=6.0.0
25
23
  Requires-Dist: colorlog>=6.4.1
@@ -29,19 +27,7 @@ Requires-Dist: tox; extra == "dev"
29
27
  Provides-Extra: build
30
28
  Requires-Dist: build; extra == "build"
31
29
  Requires-Dist: twine; extra == "build"
32
- Dynamic: author
33
- Dynamic: author-email
34
- Dynamic: classifier
35
- Dynamic: description
36
- Dynamic: description-content-type
37
- Dynamic: home-page
38
- Dynamic: license
39
30
  Dynamic: license-file
40
- Dynamic: project-url
41
- Dynamic: provides-extra
42
- Dynamic: requires-dist
43
- Dynamic: requires-python
44
- Dynamic: summary
45
31
 
46
32
  # Hyperglot – a database and tools for detecting language support in fonts
47
33
 
@@ -56,7 +42,14 @@ Hyperglot is available as:
56
42
  📖 [Learn more about Hyperglot](https://hyperglot.rosettatype.com/about)
57
43
  🙋 [Read the FAQ](FAQ.md)
58
44
 
59
- 💰 [Sponsor via GitHub](https://github.com/sponsors/rosettatype) or directly via [Hyperglot sponsorship](https://hyperglot.rosettatype.com/sponsor). Any and all contributions are much appreciated! 🙏
45
+ ## 💰 Sponsor
46
+
47
+ We welcome contributions to support our editorial work via Rosetta’s [GitHub](https://github.com/sponsors/rosettatype) or [Stripe](https://donate.stripe.com/3cI00j3PD0w53fwdx8dfG0f). Any level of support is greatly appreciated and helps sustain the project. 🙏
48
+
49
+ - Contributions above €/$1,000 will be acknowledged below and on the website (About page) for a minimum of five years.
50
+ - Contributions above €/$3,000 will also be featured in the website header as “Funded by…” for one year.
51
+
52
+ For more details, feel free to get in touch via email.
60
53
 
61
54
  ## Data validity & contributing
62
55
 
@@ -119,6 +112,8 @@ Besides the main `hyperglot` command used for font inspection, the package also
119
112
 
120
113
  ### Basic usage
121
114
 
115
+ Font inspection supports TTF, OTF, WOFF and WOFF2 files.
116
+
122
117
  Use:
123
118
 
124
119
  ```shell
@@ -11,7 +11,14 @@ Hyperglot is available as:
11
11
  📖 [Learn more about Hyperglot](https://hyperglot.rosettatype.com/about)
12
12
  🙋 [Read the FAQ](FAQ.md)
13
13
 
14
- 💰 [Sponsor via GitHub](https://github.com/sponsors/rosettatype) or directly via [Hyperglot sponsorship](https://hyperglot.rosettatype.com/sponsor). Any and all contributions are much appreciated! 🙏
14
+ ## 💰 Sponsor
15
+
16
+ We welcome contributions to support our editorial work via Rosetta’s [GitHub](https://github.com/sponsors/rosettatype) or [Stripe](https://donate.stripe.com/3cI00j3PD0w53fwdx8dfG0f). Any level of support is greatly appreciated and helps sustain the project. 🙏
17
+
18
+ - Contributions above €/$1,000 will be acknowledged below and on the website (About page) for a minimum of five years.
19
+ - Contributions above €/$3,000 will also be featured in the website header as “Funded by…” for one year.
20
+
21
+ For more details, feel free to get in touch via email.
15
22
 
16
23
  ## Data validity & contributing
17
24
 
@@ -74,6 +81,8 @@ Besides the main `hyperglot` command used for font inspection, the package also
74
81
 
75
82
  ### Basic usage
76
83
 
84
+ Font inspection supports TTF, OTF, WOFF and WOFF2 files.
85
+
77
86
  Use:
78
87
 
79
88
  ```shell
@@ -1,13 +1,14 @@
1
1
  """
2
2
  Gather a few package wide constants.
3
3
  """
4
+
4
5
  import re
5
6
  from os import path
6
7
  from enum import Enum
7
8
 
8
9
  from hyperglot.utils import AllChoicesEnumMixin, ConvenientEnumMixin
9
10
 
10
- __version__ = "0.8.0"
11
+ __version__ = "0.8.2"
11
12
 
12
13
  DB = path.abspath(path.join(path.dirname(__file__), "data"))
13
14
  DB_EXTRA = path.abspath(path.join(path.dirname(__file__), "extra_data"))
@@ -15,8 +16,9 @@ DB_CHECKS = path.abspath(path.join(path.dirname(__file__), "checks"))
15
16
 
16
17
  LANGUAGE_CACHE_FILE = ".hyperglot-cache"
17
18
 
18
- # ~~DONE Refactor these levels and status as Enum's~~
19
- # TODO Eventaully remove deprecated "CONSTANTS"
19
+ # Only show a cache rebuild warning once per session, not once per language!
20
+ LANGUAGE_CACHE_MISMATCH_WARNING_SHOWN = False
21
+
20
22
 
21
23
  class SupportLevel(AllChoicesEnumMixin, Enum):
22
24
  """
@@ -117,6 +119,7 @@ RE_MULTIPLE_SPACES = re.compile(r"\s{2,}")
117
119
  from hyperglot.languages import Languages
118
120
  from hyperglot.language import Language
119
121
  from hyperglot.orthography import Orthography
122
+ from hyperglot.checker import FontChecker, CharsetChecker
120
123
 
121
124
  __all__ = [
122
125
  Languages,
@@ -126,4 +129,6 @@ __all__ = [
126
129
  LanguageValidity,
127
130
  LanguageStatus,
128
131
  OrthographyStatus,
132
+ FontChecker,
133
+ CharsetChecker,
129
134
  ]
@@ -1,50 +1,33 @@
1
+ from __future__ import annotations
2
+
1
3
  import logging
4
+ from typing import TYPE_CHECKING
5
+
6
+ from hyperglot import SupportLevel
2
7
 
3
- from hyperglot import SupportLevel, LanguageValidity
4
- from hyperglot.shaper import Shaper
8
+ if TYPE_CHECKING:
9
+ from hyperglot.orthography import Orthography
10
+ from hyperglot.checker import Checker
11
+ from hyperglot.shaper import Shaper
5
12
 
6
13
 
7
14
  class CheckBase:
8
15
 
9
16
  # Unicode constants used in some of the checks
10
- VIRAMA = chr(0x094D)
17
+ # Futher script-specific constant can be added in subclasses
11
18
  ZWJ = chr(0x200D)
12
19
  ZWNJ = chr(0x200C)
13
20
  DOTTED_CIRCLE = chr(0x25CC)
14
- BRAHMIC_CATEGORIES = {
15
- "+": [chr(0x094D)],
16
- "V": [
17
- chr(c)
18
- for c in list(range(0x0904, 0x0914 + 1))
19
- + [0x0960, 0x0961]
20
- + list(range(0x0973, 0x0977 + 1))
21
- ],
22
- "C": [
23
- chr(c)
24
- for c in list(range(0x0915, 0x0939 + 1))
25
- + list(range(0x0958, 0x095F + 1))
26
- + list(range(0x0978, 0x097F + 1))
27
- ],
28
- "D": [
29
- chr(c)
30
- for c in [0x093A, 0x093B]
31
- + list(range(0x093E, 0x094C + 1))
32
- + [0x094E, 0x094F]
33
- + [0x0955, 0x0956, 0x0957]
34
- + [0x0962, 0x0963]
35
- ],
36
- "M": [chr(0x093C)],
37
- "m": [chr(c) for c in list(range(0x0900, 0x0903 + 1))],
38
- "P": [chr(c) for c in [0x093D, 0x0964, 0x0965]],
39
- "Z": [chr(0x200C)],
40
- "z": [chr(0x200D)],
41
- }
42
21
 
43
22
  # Conditions by which to determined if a check should run for a given
44
- # orthography
23
+ # orthography.
24
+ # Multiple condition attributes are INTERSECTed, e.g. if both "scripts" and
25
+ # "attributes" are provided, the check will run if an orthography matches
26
+ # any of the scripts AND has any of the attributes.
45
27
  conditions = {
46
- # e.g.
47
- # "script": "Devanagari",
28
+ # Match any of the given scripts
29
+ # "scripts": ("Devanagari",),
30
+ # Match any of the given orthography attributes, e.g. "base", "auxiliary", "mark", "combinations"
48
31
  # "attributes": ("combinations",),
49
32
  }
50
33
 
@@ -58,17 +41,60 @@ class CheckBase:
58
41
 
59
42
  def __init__(self):
60
43
  # Use any module logger to output code issues, append to self.logs
61
- # reporting entries that should get output "higher" up in the check run.
44
+ # reporting entries that should get output "higher" up in the check
45
+ # run.
62
46
  self.logs = []
63
47
 
64
- def check(self):
65
- raise NotImplementedError("Checks need to implement check method!")
48
+ def precheck(
49
+ self,
50
+ orthography: Orthography,
51
+ checker: Checker,
52
+ **kwargs,
53
+ ) -> bool:
54
+ """
55
+ Optional subclass method to precheck the check for a given orthography
56
+ and checker, e.g. by precomputing some data or doing some pre-checks.
57
+
58
+ Return True if the check should run, False if it should be skipped as
59
+ unnecessary.
60
+
61
+ When subclassing, run this method first, and return False to skip the
62
+ check early if it is not necessary.
63
+ """
64
+
65
+ # The compiled options for this check, after a orthography and checker
66
+ # have been passed.
67
+ self.options = self._get_options(**kwargs)
68
+
69
+ # Subclassing this method must return a bool here.
70
+ return True
71
+
72
+ def check(
73
+ self,
74
+ orthography: Orthography,
75
+ checker: Checker,
76
+ **kwargs,
77
+ ) -> bool:
78
+ """
79
+ Run the check, return True if it passes, False if it fails.
80
+
81
+ Subclasses should implement the actual check logic here, and call
82
+ this super class first, optionally overwriting also precheck to
83
+ prepare data.
84
+ """
85
+
86
+ # Run precheck to prepare check and determine early on if it indicated
87
+ # it can be skipped altogether (passes).
88
+ if not self.precheck(orthography, checker, **kwargs):
89
+ return True
90
+
91
+ return False
66
92
 
67
93
  def check_all_render(self, input: str, shaper: Shaper) -> bool:
68
94
  """
69
95
  Check an input string renders in the font without leaving any notdef or
70
- dotted circles. As a fairly general check this may be useful in multiple
71
- check implementations.
96
+ dotted circles. As a fairly general check this may be useful in
97
+ multiple check implementations.
72
98
  """
73
99
  dotted_circle_cp = shaper.font.get_nominal_glyph(ord(self.DOTTED_CIRCLE))
74
100
 
@@ -95,7 +121,6 @@ class CheckBase:
95
121
  """
96
122
  options = {
97
123
  "check": [SupportLevel.BASE.value],
98
- "validity": LanguageValidity.DRAFT.value,
99
124
  "decomposed": False,
100
125
  "marks": False,
101
126
  "report_missing": -1,
@@ -117,3 +142,58 @@ class CheckBase:
117
142
  return category
118
143
 
119
144
  return None
145
+
146
+
147
+ class BrahmiBaseCheck(CheckBase):
148
+ """
149
+ A more specific base check for Brahmi scripts.
150
+ """
151
+
152
+ VIRAMA = chr(0x094D)
153
+ BRAHMIC_CATEGORIES = {
154
+ "+": [chr(0x094D)],
155
+ "V": [
156
+ chr(c)
157
+ for c in list(range(0x0904, 0x0914 + 1))
158
+ + [0x0960, 0x0961]
159
+ + list(range(0x0973, 0x0977 + 1))
160
+ ],
161
+ "C": [
162
+ chr(c)
163
+ for c in list(range(0x0915, 0x0939 + 1))
164
+ + list(range(0x0958, 0x095F + 1))
165
+ + list(range(0x0978, 0x097F + 1))
166
+ ],
167
+ "D": [
168
+ chr(c)
169
+ for c in [0x093A, 0x093B]
170
+ + list(range(0x093E, 0x094C + 1))
171
+ + [0x094E, 0x094F]
172
+ + [0x0955, 0x0956, 0x0957]
173
+ + [0x0962, 0x0963]
174
+ ],
175
+ "M": [chr(0x093C)],
176
+ "m": [chr(c) for c in list(range(0x0900, 0x0903 + 1))],
177
+ "P": [chr(c) for c in [0x093D, 0x0964, 0x0965]],
178
+ "Z": [chr(0x200C)],
179
+ "z": [chr(0x200D)],
180
+ }
181
+
182
+ conditions = {
183
+ "scripts": ("Devanagari",),
184
+ "attributes": ("combinations",),
185
+ }
186
+
187
+ requires_font = True
188
+
189
+ def precheck(
190
+ self,
191
+ orthography: Orthography,
192
+ checker: Checker,
193
+ **kwargs,
194
+ ) -> bool:
195
+ super().precheck(orthography, checker, **kwargs)
196
+ if not orthography.combinations:
197
+ return False
198
+
199
+ return True
@@ -3,10 +3,17 @@ from fontTools.ttLib import TTFont
3
3
  import os
4
4
  import sys
5
5
  import importlib.util
6
+ import functools
6
7
  from typing import List, Set
7
8
  from collections.abc import Iterable
8
9
 
9
- from hyperglot import DB_CHECKS, SupportLevel, LanguageValidity, OrthographyStatus, LanguageStatus
10
+ from hyperglot import (
11
+ DB_CHECKS,
12
+ SupportLevel,
13
+ LanguageValidity,
14
+ OrthographyStatus,
15
+ LanguageStatus,
16
+ )
10
17
  from hyperglot.checkbase import CheckBase
11
18
  from hyperglot.shaper import Shaper
12
19
  from hyperglot.languages import Languages
@@ -30,6 +37,43 @@ def format_missing_unicodes(codepoints: Set[str], reference) -> str:
30
37
  return (" ".join(["%s (%s)" % (c, str(ord(c))) for c in diff]),)
31
38
 
32
39
 
40
+ @functools.cache
41
+ def _load_check_modules() -> tuple:
42
+ """
43
+ Import every check module in lib/hyperglot/checks, once per process.
44
+
45
+ Checks are matched against each orthography of each language, and importing
46
+ the modules anew every time made loading them the bulk of a check's run
47
+ time. The modules only hold classes; each run still gets fresh Check
48
+ instances, so no per-run state is shared.
49
+ """
50
+ modules = []
51
+ check_files = [
52
+ f for f in os.listdir(os.path.join(DB_CHECKS)) if f.endswith(".py")
53
+ ]
54
+
55
+ for f in check_files:
56
+ module_file = os.path.join(DB_CHECKS, f)
57
+ module_name = os.path.splitext(f)[0]
58
+
59
+ try:
60
+ spec = importlib.util.spec_from_file_location(module_name, module_file)
61
+ c = importlib.util.module_from_spec(spec)
62
+ sys.modules[module_name] = c
63
+ spec.loader.exec_module(c)
64
+ check = c.Check()
65
+ except Exception as e:
66
+ log.error(f"Failed to instantiate check {module_name}. Fix the below:")
67
+ raise e
68
+
69
+ if not isinstance(check, CheckBase):
70
+ raise Exception(f"Check {module_name} needs to subclass CheckBase!")
71
+
72
+ modules.append((module_name, c))
73
+
74
+ return tuple(modules)
75
+
76
+
33
77
  class Checker:
34
78
  """
35
79
  A base class for CharsetChecker and FontChecker encapsulating language
@@ -38,53 +82,40 @@ class Checker:
38
82
 
39
83
  def __init__(self, fontpath: str = None, characters: List = None):
40
84
  self.fontpath = fontpath
41
- self.characters = characters
85
+ self.characters = characters if characters is not None else []
42
86
  self.font = None
43
87
  self.shaper = None
44
88
 
45
- def _get_checks_for_orthography(self, orthography: Orthography):
89
+ @classmethod
90
+ def _get_checks_for_orthography(
91
+ cls, orthography: Orthography, perform_shaping_checks: bool = False
92
+ ) -> List[tuple[str, int, CheckBase]]:
46
93
  """
47
94
  Parse lib/hyperglot/checks and return all Check classes where
48
95
  conditions are satisfied for this language.
49
96
  """
50
97
  checks = []
51
98
 
52
- check_files = [
53
- f for f in os.listdir(os.path.join(DB_CHECKS)) if f.endswith(".py")
54
- ]
55
-
56
- for f in check_files:
57
- module_file = os.path.join(DB_CHECKS, f)
58
- module_name = os.path.splitext(f)[0]
59
-
60
- try:
61
- spec = importlib.util.spec_from_file_location(module_name, module_file)
62
- c = importlib.util.module_from_spec(spec)
63
- sys.modules[module_name] = c
64
- spec.loader.exec_module(c)
65
- check = c.Check()
66
- except Exception as e:
67
- log.error(f"Failed to instantiate check {module_name}. Fix the below:")
68
- raise e
69
-
70
- if not isinstance(check, CheckBase):
71
- raise Exception(f"Check {module_name} needs to subclass CheckBase!")
99
+ for module_name, c in _load_check_modules():
100
+ check = c.Check()
72
101
 
73
102
  # Ignore checks that only run when checking with a font
74
- if check.requires_font and self.shaper is None:
103
+ if check.requires_font and not perform_shaping_checks:
75
104
  continue
76
105
 
77
106
  fulfills = True
78
107
 
79
- if "script" in check.conditions:
80
- if "script" in check.conditions:
81
- if check.conditions["script"] != orthography["script"]:
82
- fulfills = False
83
- if "attributes" in check.conditions["attributes"]:
84
- for a in check.conditions["attributes"]:
85
- if a not in orthography:
108
+ if "scripts" in check.conditions:
109
+ if "scripts" in check.conditions:
110
+ if orthography["script"] not in check.conditions["scripts"]:
86
111
  fulfills = False
87
112
 
113
+ if fulfills and "attributes" in check.conditions:
114
+ # If _none_ of the attributes exist, the check is not required
115
+ # to run.
116
+ if not any([a in orthography for a in check.conditions["attributes"]]):
117
+ fulfills = False
118
+
88
119
  if fulfills:
89
120
  checks.append((module_name, check.priority, c.Check()))
90
121
 
@@ -272,16 +303,16 @@ class Checker:
272
303
  if orthographies == []:
273
304
  return {} if return_script_object else False
274
305
 
275
- self.shaper = None
276
- if shaping:
277
- # Setup a reusable shaper to run checks with
306
+ if shaping and self.shaper is None:
278
307
  self.shaper = Shaper(self.fontpath)
279
308
 
280
309
  for ort in orthographies:
281
310
  supported = True
282
- checks = self._get_checks_for_orthography(ort)
311
+ checks = self._get_checks_for_orthography(
312
+ orthography=ort, perform_shaping_checks=shaping
313
+ )
283
314
 
284
- # FIXME TBD Run all checks, even after one has failed, to get
315
+ # FIXME TBD Run all checks, even after one has failed, to get
285
316
  # logging output
286
317
  for check_name, _priority, c in checks:
287
318
  result = c.check(
@@ -352,7 +383,6 @@ class FontChecker(Checker):
352
383
  super().__init__(fontpath=fontpath)
353
384
 
354
385
  self.font = TTFont(fontpath, lazy=True)
355
- self.shaper = Shaper(fontpath)
356
386
  self.characters = self._parse_font_chars()
357
387
 
358
388
  def get_supported_languages(self, **kwargs):
@@ -2,23 +2,42 @@ import re
2
2
  import logging
3
3
  from typing import Tuple
4
4
 
5
- from hyperglot.checkbase import CheckBase
5
+ from hyperglot.checkbase import BrahmiBaseCheck
6
+ from hyperglot.checker import Checker
6
7
  from hyperglot.orthography import Orthography
7
8
  from hyperglot.shaper import Shaper
8
9
 
9
10
  log = logging.getLogger(__name__)
10
11
 
11
12
 
12
- class Check(CheckBase):
13
+ class Check(BrahmiBaseCheck):
14
+ """
15
+ Check to confirm conjunct formation for unencoded combinations, e.g.
16
+ consonant + virama + consonant in Devanagari, based off the 'combinations'
17
+ orthography attribute.
18
+
19
+ The threshold option can be used to fine tune the granularity of the check,
20
+ e.g. allowing for less frequently used conjuncts to not cause the check to
21
+ fail, if below this threshold (based on 'combinations' frequency data from
22
+ a parsed language corpus)
23
+ """
24
+
25
+ # conditions and requires_font from BrahmiBaseCheck
13
26
 
14
- conditions = {
15
- "script": "Devanagari",
16
- "attributes": ("combinations",),
17
- }
18
- requires_font = True
19
27
  priority = 50
20
28
  logger = logging.getLogger("hyperglot.reporting.conjuncts")
21
29
 
30
+ def precheck(self, orthography: Orthography, checker: Checker, **kwargs) -> bool:
31
+ super().precheck(orthography, checker, **kwargs)
32
+
33
+ self.conjuncts = dict(
34
+ filter(self.filter_conjuncts, orthography.combinations.items())
35
+ )
36
+ if self.conjuncts == {}:
37
+ return False
38
+
39
+ return True
40
+
22
41
  def check(self, orthography: Orthography, checker, **kwargs) -> bool:
23
42
  """
24
43
  the sequence of the consonant Ka, virama, and consonant Pa will result in a conjunct KPa
@@ -38,24 +57,16 @@ class Check(CheckBase):
38
57
  Ka + virama + Ka → KKa
39
58
  ZWJ ensures a half form is rendered instead:
40
59
  Ka + virama + ZWJ + Ka → K- + Ka
41
-
42
60
  """
43
- options = self._get_options(**kwargs)
44
61
 
45
- if not orthography.combinations:
46
- return True
47
- conjuncts = dict(
48
- filter(self.filter_conjuncts, orthography.combinations.items())
49
- )
50
- if conjuncts == {}:
51
- return True
62
+ super().check(orthography, checker, **kwargs)
52
63
 
53
64
  # Iterate all syllables to provide reporting.
54
65
  # TODO exit early if no reporting is set
55
66
 
56
67
  fails_over_threshold = False
57
68
 
58
- for conjunct, frequency in conjuncts.items():
69
+ for conjunct, frequency in self.conjuncts.items():
59
70
  fails = False
60
71
  # Ensure no .notdef are left over
61
72
  if not self.check_all_render(conjunct, checker.shaper):
@@ -65,9 +76,9 @@ class Check(CheckBase):
65
76
  fails = True
66
77
 
67
78
  if fails:
68
- fmt_threshold = str(options["threshold"]).format(".5f")
79
+ fmt_threshold = str(self.options["threshold"]).format(".5f")
69
80
 
70
- if frequency > options["threshold"]:
81
+ if frequency > self.options["threshold"]:
71
82
  log.error(
72
83
  f"Conjunct '{conjunct}' ({frequency:.5f}) does not shape "
73
84
  f"but is required by frequency threshold ({fmt_threshold})."
@@ -1,24 +1,28 @@
1
1
  import logging
2
2
 
3
- from hyperglot.checkbase import CheckBase
3
+ from hyperglot.checkbase import BrahmiBaseCheck
4
4
  from hyperglot.shaper import Shaper
5
5
 
6
6
  log = logging.getLogger(__name__)
7
7
 
8
8
 
9
- class Check(CheckBase):
9
+ class Check(BrahmiBaseCheck):
10
+ """
11
+ Check to confirm halfform shaping for unencoded combinations, e.g.
12
+ consonant + virama in Devanagari.
13
+
14
+ To find the half form constituents the checks looks at the 'combinations'
15
+ orthography attribute and filters for clusters of the form
16
+ consonant + virama.
17
+ """
18
+
19
+ # conditions and requires_font from BrahmiBaseCheck
10
20
 
11
- conditions = {
12
- "script": "Devanagari",
13
- "attributes": ("combinations",),
14
- }
15
- requires_font = True
16
21
  priority = 50
17
22
  logger = logging.getLogger("hyperglot.reporting.halfforms")
18
23
 
19
24
  def check(self, orthography, checker, **kwargs):
20
- if not orthography.combinations:
21
- return True
25
+ super().check(orthography, checker, **kwargs)
22
26
 
23
27
  for h in filter(self.filter_halfforms, orthography.combinations.keys()):
24
28
  if not self.check_halfform(h, checker.shaper):
@@ -1,25 +1,26 @@
1
1
  import logging
2
2
  import unicodedata
3
3
 
4
- from hyperglot.checkbase import CheckBase
4
+ from hyperglot.checkbase import BrahmiBaseCheck
5
5
  from hyperglot.shaper import Shaper
6
6
 
7
7
  log = logging.getLogger(__name__)
8
8
 
9
9
 
10
- class Check(CheckBase):
10
+ class Check(BrahmiBaseCheck):
11
+ """
12
+ Check mark attachment for unencoded combinations, e.g.
13
+ consonant + virama + consonant in Devanagari.
14
+ """
15
+
16
+ # conditions and requires_font from BrahmiBaseCheck
11
17
 
12
- conditions = {
13
- "script": "Devanagari",
14
- "attributes": ("combinations",),
15
- }
16
- requires_font = True
17
18
  priority = 75
18
19
  logger = logging.getLogger("hyperglot.reporting.marks")
19
20
 
20
21
  def check(self, orthography, checker, **kwargs):
21
- if not orthography.combinations:
22
- return True
22
+
23
+ super().check(orthography, checker, **kwargs)
23
24
 
24
25
  for c in orthography.combinations.keys():
25
26
  if not self.check_cluster_mark_attachment(c, checker.shaper):