pdf-font.cpp 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
  1. // pdf-font.cpp
  2. //
  3. #include "pdf-font.h"
  4. #line 7 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  5. #include <cstring>
  6. #define LZZ_INLINE inline
  7. #line 25 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  8. st_pdf_font_base::st_pdf_font_base (st_pdf_font_core & f)
  9. #line 25 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  10. : font (f)
  11. #line 25 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  12. {
  13. i = n = 0;
  14. name = "None";
  15. }
  16. #line 32 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  17. pdf_font_Courier::pdf_font_Courier ()
  18. #line 32 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  19. : st_pdf_font_base (pdf_font_core_Courier)
  20. #line 32 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  21. {
  22. name = "Courier";
  23. }
  24. #line 38 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  25. pdf_font_CourierOblique::pdf_font_CourierOblique ()
  26. #line 38 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  27. : st_pdf_font_base (pdf_font_core_Courier)
  28. #line 38 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  29. {
  30. name = "Courier-Oblique";
  31. }
  32. #line 44 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  33. pdf_font_CourierBold::pdf_font_CourierBold ()
  34. #line 44 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  35. : st_pdf_font_base (pdf_font_core_Courier)
  36. #line 44 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  37. {
  38. name = "Courier-Bold";
  39. }
  40. #line 50 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  41. pdf_font_CourierBoldOblique::pdf_font_CourierBoldOblique ()
  42. #line 50 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  43. : st_pdf_font_base (pdf_font_core_Courier)
  44. #line 50 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  45. {
  46. name = "Courier-BoldOblique";
  47. }
  48. #line 56 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  49. pdf_font_Helvetica::pdf_font_Helvetica ()
  50. #line 56 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  51. : st_pdf_font_base (pdf_font_core_Helvetica)
  52. #line 56 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  53. {
  54. name = "Helvetica";
  55. }
  56. #line 62 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  57. pdf_font_HelveticaOblique::pdf_font_HelveticaOblique ()
  58. #line 62 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  59. : st_pdf_font_base (pdf_font_core_Helvetica)
  60. #line 62 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  61. {
  62. name = "Helvetica-Oblique";
  63. }
  64. #line 68 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  65. pdf_font_HelveticaBold::pdf_font_HelveticaBold ()
  66. #line 68 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  67. : st_pdf_font_base (pdf_font_core_HelveticaBold)
  68. #line 68 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  69. {
  70. name = "Helvetica-Bold";
  71. }
  72. #line 74 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  73. pdf_font_HelveticaBoldOblique::pdf_font_HelveticaBoldOblique ()
  74. #line 74 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  75. : st_pdf_font_base (pdf_font_core_HelveticaBold)
  76. #line 74 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  77. {
  78. name = "Helvetica-BoldOblique";
  79. }
  80. #line 80 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  81. pdf_font_Times::pdf_font_Times ()
  82. #line 80 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  83. : st_pdf_font_base (pdf_font_core_Times)
  84. #line 80 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  85. {
  86. name = "Times-Roman";
  87. }
  88. #line 86 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  89. pdf_font_TimesOblique::pdf_font_TimesOblique ()
  90. #line 86 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  91. : st_pdf_font_base (pdf_font_core_TimesOblique)
  92. #line 86 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  93. {
  94. name = "Times-Oblique";
  95. }
  96. #line 92 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  97. pdf_font_TimesBold::pdf_font_TimesBold ()
  98. #line 92 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  99. : st_pdf_font_base (pdf_font_core_TimesBold)
  100. #line 92 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  101. {
  102. name = "Times-Bold";
  103. }
  104. #line 98 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  105. pdf_font_TimesBoldOblique::pdf_font_TimesBoldOblique ()
  106. #line 98 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  107. : st_pdf_font_base (pdf_font_core_TimesBoldOblique)
  108. #line 98 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  109. {
  110. name = "Times-BoldItalic";
  111. }
  112. #line 104 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  113. pdf_font_Symbol::pdf_font_Symbol ()
  114. #line 104 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  115. : st_pdf_font_base (pdf_font_core_Symbol)
  116. #line 104 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  117. {
  118. name = "Symbol";
  119. }
  120. #line 110 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  121. pdf_font_ZapfDingbats::pdf_font_ZapfDingbats ()
  122. #line 110 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  123. : st_pdf_font_base (pdf_font_core_ZapfDingbats)
  124. #line 110 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  125. {
  126. name = "ZapfDingbats";
  127. }
  128. #line 115 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  129. bool isPdfFontCore (char const * fname)
  130. #line 115 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  131. {
  132. static const char *core[] = {
  133. "courier", "helvetica", "times", "symbol", "zapfdingbats",
  134. 0
  135. };
  136. const char *p = core[0];
  137. for(int i=0; p; p = core[++i]){
  138. if(strcmp(p, fname) == 0) return true;
  139. }
  140. return false;
  141. }
  142. #line 127 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  143. st_pdf_font_core pdf_font_core_Courier = {
  144. /*type*/e_font_type_core,
  145. /*up*/ -100, /*ut*/ 50,
  146. /*cw*/ {
  147. 600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
  148. 600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
  149. 600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
  150. 600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
  151. 600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
  152. 600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
  153. 600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
  154. 600,
  155. 600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
  156. 600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
  157. 600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
  158. 600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,
  159. 600,600,600,600,600,600,600,600,600,600,600,600,600,600
  160. }
  161. };
  162. #line 148 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  163. st_pdf_font_core pdf_font_core_Helvetica = {
  164. /*type*/e_font_type_core,
  165. /*up*/ -100, /*ut*/ 50,
  166. /*cw*/ {
  167. 278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,
  168. 278,278,278,278,278,278,278,278,278,278,278,278,355,556,556,889,667,191,333,333,389,584,
  169. 278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,
  170. 667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,
  171. 667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,
  172. 556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,350,556,350,222,556,
  173. 333,1000,556,556,333,1000,667,333,1000,350,611,350,350,222,222,333,333,350,556,1000,333,
  174. 1000,
  175. 500,333,944,350,500,667,278,333,556,556,556,556,260,556,333,737,370,556,584,333,737,333,
  176. 400,584,333,333,333,556,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,
  177. 1000,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,
  178. 722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,
  179. 556,556,556,556,556,584,611,556,556,556,556,500,556,500
  180. }
  181. };
  182. #line 169 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  183. st_pdf_font_core pdf_font_core_HelveticaBold = {
  184. /*type*/e_font_type_core,
  185. /*up*/ -100, /*ut*/ 50,
  186. /*cw*/ {
  187. 278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,
  188. 278,278,278,278,278,278,278,278,278,278,278,333,474,556,556,889,722,238,333,333,389,584,
  189. 278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,
  190. 722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,
  191. 667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,
  192. 611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,350,556,350,278,556,
  193. 500,1000,556,556,333,1000,667,333,1000,350,611,350,350,278,278,500,500,350,556,1000,333,
  194. 1000,
  195. 556,333,944,350,500,667,278,333,556,556,556,556,280,556,333,737,370,556,584,333,737,333,
  196. 400,584,333,333,333,611,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,
  197. 1000,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,
  198. 722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,
  199. 611,611,611,611,611,584,611,611,611,611,611,556,611,556
  200. }
  201. };
  202. #line 190 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  203. st_pdf_font_core pdf_font_core_Times = {
  204. /*type*/e_font_type_core,
  205. /*up*/ -100, /*ut*/ 50,
  206. /*cw*/ {
  207. 250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,
  208. 250,250,250,250,250,250,250,250,250,250,250,333,408,500,500,833,778,180,333,333,500,564,
  209. 250,333,250,278,500,500,500,500,500,500,500,500,500,500,278,278,564,564,564,444,921,722,
  210. 667,667,722,611,556,722,722,333,389,722,611,889,722,722,556,722,667,556,611,722,722,944,
  211. 722,722,611,333,278,333,469,500,333,444,500,444,500,444,333,500,500,278,278,500,278,778,
  212. 500,500,500,500,333,389,278,500,500,722,500,500,444,480,200,480,541,350,500,350,333,500,
  213. 444,1000,500,500,333,1000,556,333,889,350,611,350,350,333,333,444,444,350,500,1000,333,
  214. 980,
  215. 389,333,722,350,444,722,250,333,500,500,500,500,200,500,333,760,276,500,564,333,760,333,
  216. 400,564,300,300,333,500,453,250,333,300,310,500,750,750,750,444,722,722,722,722,722,722,
  217. 889,667,611,611,611,611,333,333,333,333,722,722,722,722,722,722,722,564,722,722,722,722,
  218. 722,722,556,500,444,444,444,444,444,444,667,444,444,444,444,444,278,278,278,278,500,500,
  219. 500,500,500,500,500,564,500,500,500,500,500,500,500,500
  220. }
  221. };
  222. #line 210 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  223. st_pdf_font_core pdf_font_core_TimesOblique = {
  224. /*type*/e_font_type_core,
  225. /*up*/ -100, /*ut*/ 50,
  226. /*cw*/ {
  227. 250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,
  228. 250,250,250,250,250,250,250,250,250,250,250,333,420,500,500,833,778,214,333,333,500,675,
  229. 250,333,250,278,500,500,500,500,500,500,500,500,500,500,333,333,675,675,675,500,920,611,
  230. 611,667,722,611,611,722,722,333,444,667,556,833,667,722,611,722,611,500,556,722,611,833,
  231. 611,556,556,389,278,389,422,500,333,500,500,444,500,444,278,500,500,278,278,444,278,722,
  232. 500,500,500,500,389,389,278,500,444,667,444,444,389,400,275,400,541,350,500,350,333,500,
  233. 556,889,500,500,333,1000,500,333,944,350,556,350,350,333,333,556,556,350,500,889,333,
  234. 980,
  235. 389,333,667,350,389,556,250,389,500,500,500,500,275,500,333,760,276,500,675,333,760,333,
  236. 400,675,300,300,333,500,523,250,333,300,310,500,750,750,750,500,611,611,611,611,611,611,
  237. 889,667,611,611,611,611,333,333,333,333,722,667,722,722,722,722,722,675,722,722,722,722,
  238. 722,556,611,500,500,500,500,500,500,500,667,444,444,444,444,444,278,278,278,278,500,500,
  239. 500,500,500,500,500,675,500,500,500,500,500,444,500,444
  240. }
  241. };
  242. #line 230 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  243. st_pdf_font_core pdf_font_core_TimesBold = {
  244. /*type*/e_font_type_core,
  245. /*up*/ -100, /*ut*/ 50,
  246. /*cw*/ {
  247. 250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,
  248. 250,250,250,250,250,250,250,250,250,250,250,333,555,500,500,1000,833,278,333,333,500,570,
  249. 250,333,250,278,500,500,500,500,500,500,500,500,500,500,333,333,570,570,570,500,930,722,
  250. 667,722,722,667,611,778,778,389,500,778,667,944,722,778,611,778,722,556,667,722,722,1000,
  251. 722,722,667,333,278,333,581,500,333,500,556,444,556,444,333,500,556,278,333,556,278,833,
  252. 556,500,556,556,444,389,333,556,500,722,500,500,444,394,220,394,520,350,500,350,333,500,
  253. 500,1000,500,500,333,1000,556,333,1000,350,667,350,350,333,333,500,500,350,500,1000,333,
  254. 1000,
  255. 389,333,722,350,444,722,250,333,500,500,500,500,220,500,333,747,300,500,570,333,747,333,
  256. 400,570,300,300,333,556,540,250,333,300,330,500,750,750,750,500,722,722,722,722,722,722,
  257. 1000,722,667,667,667,667,389,389,389,389,722,722,778,778,778,778,778,570,778,722,722,722,
  258. 722,722,611,556,500,500,500,500,500,500,722,444,444,444,444,444,278,278,278,278,500,556,
  259. 500,500,500,500,500,570,500,556,556,556,556,500,556,500
  260. }
  261. };
  262. #line 250 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  263. st_pdf_font_core pdf_font_core_TimesBoldOblique = {
  264. /*type*/e_font_type_core,
  265. /*up*/ -100, /*ut*/ 50,
  266. /*cw*/ {
  267. 250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,
  268. 250,250,250,250,250,250,250,250,250,250,250,389,555,500,500,833,778,278,333,333,500,570,
  269. 250,333,250,278,500,500,500,500,500,500,500,500,500,500,333,333,570,570,570,500,832,667,
  270. 667,667,722,667,667,722,778,389,500,667,611,889,722,722,611,722,667,556,611,722,667,889,
  271. 667,611,611,333,278,333,570,500,333,500,500,444,500,444,333,500,556,278,278,500,278,778,
  272. 556,500,500,500,389,389,278,556,444,667,500,444,389,348,220,348,570,350,500,350,333,500,
  273. 500,1000,500,500,333,1000,556,333,944,350,611,350,350,333,333,500,500,350,500,1000,333,
  274. 1000,
  275. 389,333,722,350,389,611,250,389,500,500,500,500,220,500,333,747,266,500,606,333,747,333,
  276. 400,570,300,300,333,576,500,250,333,300,300,500,750,750,750,500,667,667,667,667,667,667,
  277. 944,667,667,667,667,667,389,389,389,389,722,722,722,722,722,722,722,570,722,722,722,722,
  278. 722,611,611,500,500,500,500,500,500,500,722,444,444,444,444,444,278,278,278,278,500,556,
  279. 500,500,500,500,500,570,500,556,556,556,556,444,500,444
  280. }
  281. };
  282. #line 270 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  283. st_pdf_font_core pdf_font_core_Symbol = {
  284. /*type*/e_font_type_core,
  285. /*up*/ -100, /*ut*/ 50,
  286. /*cw*/ {
  287. 250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,
  288. 250,250,250,250,250,250,250,250,250,250,250,333,713,500,549,833,778,439,333,333,500,549,
  289. 250,549,250,278,500,500,500,500,500,500,500,500,500,500,278,278,549,549,549,444,549,722,
  290. 667,722,612,611,763,603,722,333,631,722,686,889,722,722,768,741,556,592,611,690,439,768,
  291. 645,795,611,333,863,333,658,500,500,631,549,549,494,439,521,411,603,329,603,549,549,576,
  292. 521,549,549,521,549,603,439,576,713,686,493,686,494,480,200,480,549,0,0,0,0,0,
  293. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  294. 0,0,0,0,0,0,750,620,247,549,167,713,500,753,753,753,753,1042,987,603,987,603,
  295. 400,549,411,549,549,713,494,460,549,549,549,549,1000,603,1000,658,823,686,795,987,768,768,
  296. 823,768,768,713,713,713,713,713,713,713,768,713,790,790,890,823,549,250,713,603,603,1042,
  297. 987,603,987,603,494,329,790,790,786,713,384,384,384,384,384,384,494,494,494,494,0,329,
  298. 274,686,686,686,384,384,384,384,384,384,494,494,494,0
  299. }
  300. };
  301. #line 289 "/home/mingo/dev/dadbiz++/ourbiz-uk/parts/pdf-font.zz"
  302. st_pdf_font_core pdf_font_core_ZapfDingbats = {
  303. /*type*/e_font_type_core,
  304. /*up*/ -100, /*ut*/ 50,
  305. /*cw*/ {
  306. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  307. 0,0,0,0,0,0,0,0,0,0,278,974,961,974,980,719,789,790,791,690,960,939,
  308. 549,855,911,933,911,945,974,755,846,762,761,571,677,763,760,759,754,494,552,537,577,692,
  309. 786,788,788,790,793,794,816,823,789,841,823,833,816,831,923,744,723,749,790,792,695,776,
  310. 768,792,759,707,708,682,701,826,815,789,789,707,687,696,689,786,787,713,791,785,791,873,
  311. 761,762,762,759,759,892,892,788,784,438,138,277,415,392,392,668,668,0,390,390,317,317,
  312. 276,276,509,509,410,410,234,234,334,334,0,0,0,0,0,0,0,0,0,0,0,0,
  313. 0,0,0,0,0,0,0,732,544,544,910,667,760,760,776,595,694,626,788,788,788,788,
  314. 788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,
  315. 788,788,788,788,788,788,788,788,788,788,788,788,788,788,894,838,1016,458,748,924,748,918,
  316. 927,928,928,834,873,828,924,924,917,930,931,463,883,836,836,867,867,696,696,874,0,874,
  317. 760,946,771,865,771,888,967,888,831,873,927,970,918,0
  318. }
  319. };
  320. #undef LZZ_INLINE