hpack_huffman_static.c 52 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337
  1. /**
  2. * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
  3. * SPDX-License-Identifier: Apache-2.0.
  4. */
  5. /* WARNING: THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. */
  6. /* clang-format off */
  7. #include <aws/compression/huffman.h>
  8. static struct aws_huffman_code code_points[] = {
  9. { .pattern = 0x1ff8, .num_bits = 13 }, /* ' ' 0 */
  10. { .pattern = 0x7fffd8, .num_bits = 23 }, /* ' ' 1 */
  11. { .pattern = 0xfffffe2, .num_bits = 28 }, /* ' ' 2 */
  12. { .pattern = 0xfffffe3, .num_bits = 28 }, /* ' ' 3 */
  13. { .pattern = 0xfffffe4, .num_bits = 28 }, /* ' ' 4 */
  14. { .pattern = 0xfffffe5, .num_bits = 28 }, /* ' ' 5 */
  15. { .pattern = 0xfffffe6, .num_bits = 28 }, /* ' ' 6 */
  16. { .pattern = 0xfffffe7, .num_bits = 28 }, /* ' ' 7 */
  17. { .pattern = 0xfffffe8, .num_bits = 28 }, /* ' ' 8 */
  18. { .pattern = 0xffffea, .num_bits = 24 }, /* ' ' 9 */
  19. { .pattern = 0x3ffffffc, .num_bits = 30 }, /* ' ' 10 */
  20. { .pattern = 0xfffffe9, .num_bits = 28 }, /* ' ' 11 */
  21. { .pattern = 0xfffffea, .num_bits = 28 }, /* ' ' 12 */
  22. { .pattern = 0x3ffffffd, .num_bits = 30 }, /* ' ' 13 */
  23. { .pattern = 0xfffffeb, .num_bits = 28 }, /* ' ' 14 */
  24. { .pattern = 0xfffffec, .num_bits = 28 }, /* ' ' 15 */
  25. { .pattern = 0xfffffed, .num_bits = 28 }, /* ' ' 16 */
  26. { .pattern = 0xfffffee, .num_bits = 28 }, /* ' ' 17 */
  27. { .pattern = 0xfffffef, .num_bits = 28 }, /* ' ' 18 */
  28. { .pattern = 0xffffff0, .num_bits = 28 }, /* ' ' 19 */
  29. { .pattern = 0xffffff1, .num_bits = 28 }, /* ' ' 20 */
  30. { .pattern = 0xffffff2, .num_bits = 28 }, /* ' ' 21 */
  31. { .pattern = 0x3ffffffe, .num_bits = 30 }, /* ' ' 22 */
  32. { .pattern = 0xffffff3, .num_bits = 28 }, /* ' ' 23 */
  33. { .pattern = 0xffffff4, .num_bits = 28 }, /* ' ' 24 */
  34. { .pattern = 0xffffff5, .num_bits = 28 }, /* ' ' 25 */
  35. { .pattern = 0xffffff6, .num_bits = 28 }, /* ' ' 26 */
  36. { .pattern = 0xffffff7, .num_bits = 28 }, /* ' ' 27 */
  37. { .pattern = 0xffffff8, .num_bits = 28 }, /* ' ' 28 */
  38. { .pattern = 0xffffff9, .num_bits = 28 }, /* ' ' 29 */
  39. { .pattern = 0xffffffa, .num_bits = 28 }, /* ' ' 30 */
  40. { .pattern = 0xffffffb, .num_bits = 28 }, /* ' ' 31 */
  41. { .pattern = 0x14, .num_bits = 6 }, /* ' ' 32 */
  42. { .pattern = 0x3f8, .num_bits = 10 }, /* '!' 33 */
  43. { .pattern = 0x3f9, .num_bits = 10 }, /* '"' 34 */
  44. { .pattern = 0xffa, .num_bits = 12 }, /* '#' 35 */
  45. { .pattern = 0x1ff9, .num_bits = 13 }, /* '$' 36 */
  46. { .pattern = 0x15, .num_bits = 6 }, /* '%' 37 */
  47. { .pattern = 0xf8, .num_bits = 8 }, /* '&' 38 */
  48. { .pattern = 0x7fa, .num_bits = 11 }, /* ''' 39 */
  49. { .pattern = 0x3fa, .num_bits = 10 }, /* '(' 40 */
  50. { .pattern = 0x3fb, .num_bits = 10 }, /* ')' 41 */
  51. { .pattern = 0xf9, .num_bits = 8 }, /* '*' 42 */
  52. { .pattern = 0x7fb, .num_bits = 11 }, /* '+' 43 */
  53. { .pattern = 0xfa, .num_bits = 8 }, /* ',' 44 */
  54. { .pattern = 0x16, .num_bits = 6 }, /* '-' 45 */
  55. { .pattern = 0x17, .num_bits = 6 }, /* '.' 46 */
  56. { .pattern = 0x18, .num_bits = 6 }, /* '/' 47 */
  57. { .pattern = 0x0, .num_bits = 5 }, /* '0' 48 */
  58. { .pattern = 0x1, .num_bits = 5 }, /* '1' 49 */
  59. { .pattern = 0x2, .num_bits = 5 }, /* '2' 50 */
  60. { .pattern = 0x19, .num_bits = 6 }, /* '3' 51 */
  61. { .pattern = 0x1a, .num_bits = 6 }, /* '4' 52 */
  62. { .pattern = 0x1b, .num_bits = 6 }, /* '5' 53 */
  63. { .pattern = 0x1c, .num_bits = 6 }, /* '6' 54 */
  64. { .pattern = 0x1d, .num_bits = 6 }, /* '7' 55 */
  65. { .pattern = 0x1e, .num_bits = 6 }, /* '8' 56 */
  66. { .pattern = 0x1f, .num_bits = 6 }, /* '9' 57 */
  67. { .pattern = 0x5c, .num_bits = 7 }, /* ':' 58 */
  68. { .pattern = 0xfb, .num_bits = 8 }, /* ';' 59 */
  69. { .pattern = 0x7ffc, .num_bits = 15 }, /* '<' 60 */
  70. { .pattern = 0x20, .num_bits = 6 }, /* '=' 61 */
  71. { .pattern = 0xffb, .num_bits = 12 }, /* '>' 62 */
  72. { .pattern = 0x3fc, .num_bits = 10 }, /* '?' 63 */
  73. { .pattern = 0x1ffa, .num_bits = 13 }, /* '@' 64 */
  74. { .pattern = 0x21, .num_bits = 6 }, /* 'A' 65 */
  75. { .pattern = 0x5d, .num_bits = 7 }, /* 'B' 66 */
  76. { .pattern = 0x5e, .num_bits = 7 }, /* 'C' 67 */
  77. { .pattern = 0x5f, .num_bits = 7 }, /* 'D' 68 */
  78. { .pattern = 0x60, .num_bits = 7 }, /* 'E' 69 */
  79. { .pattern = 0x61, .num_bits = 7 }, /* 'F' 70 */
  80. { .pattern = 0x62, .num_bits = 7 }, /* 'G' 71 */
  81. { .pattern = 0x63, .num_bits = 7 }, /* 'H' 72 */
  82. { .pattern = 0x64, .num_bits = 7 }, /* 'I' 73 */
  83. { .pattern = 0x65, .num_bits = 7 }, /* 'J' 74 */
  84. { .pattern = 0x66, .num_bits = 7 }, /* 'K' 75 */
  85. { .pattern = 0x67, .num_bits = 7 }, /* 'L' 76 */
  86. { .pattern = 0x68, .num_bits = 7 }, /* 'M' 77 */
  87. { .pattern = 0x69, .num_bits = 7 }, /* 'N' 78 */
  88. { .pattern = 0x6a, .num_bits = 7 }, /* 'O' 79 */
  89. { .pattern = 0x6b, .num_bits = 7 }, /* 'P' 80 */
  90. { .pattern = 0x6c, .num_bits = 7 }, /* 'Q' 81 */
  91. { .pattern = 0x6d, .num_bits = 7 }, /* 'R' 82 */
  92. { .pattern = 0x6e, .num_bits = 7 }, /* 'S' 83 */
  93. { .pattern = 0x6f, .num_bits = 7 }, /* 'T' 84 */
  94. { .pattern = 0x70, .num_bits = 7 }, /* 'U' 85 */
  95. { .pattern = 0x71, .num_bits = 7 }, /* 'V' 86 */
  96. { .pattern = 0x72, .num_bits = 7 }, /* 'W' 87 */
  97. { .pattern = 0xfc, .num_bits = 8 }, /* 'X' 88 */
  98. { .pattern = 0x73, .num_bits = 7 }, /* 'Y' 89 */
  99. { .pattern = 0xfd, .num_bits = 8 }, /* 'Z' 90 */
  100. { .pattern = 0x1ffb, .num_bits = 13 }, /* '[' 91 */
  101. { .pattern = 0x7fff0, .num_bits = 19 }, /* '\' 92 */
  102. { .pattern = 0x1ffc, .num_bits = 13 }, /* ']' 93 */
  103. { .pattern = 0x3ffc, .num_bits = 14 }, /* '^' 94 */
  104. { .pattern = 0x22, .num_bits = 6 }, /* '_' 95 */
  105. { .pattern = 0x7ffd, .num_bits = 15 }, /* '`' 96 */
  106. { .pattern = 0x3, .num_bits = 5 }, /* 'a' 97 */
  107. { .pattern = 0x23, .num_bits = 6 }, /* 'b' 98 */
  108. { .pattern = 0x4, .num_bits = 5 }, /* 'c' 99 */
  109. { .pattern = 0x24, .num_bits = 6 }, /* 'd' 100 */
  110. { .pattern = 0x5, .num_bits = 5 }, /* 'e' 101 */
  111. { .pattern = 0x25, .num_bits = 6 }, /* 'f' 102 */
  112. { .pattern = 0x26, .num_bits = 6 }, /* 'g' 103 */
  113. { .pattern = 0x27, .num_bits = 6 }, /* 'h' 104 */
  114. { .pattern = 0x6, .num_bits = 5 }, /* 'i' 105 */
  115. { .pattern = 0x74, .num_bits = 7 }, /* 'j' 106 */
  116. { .pattern = 0x75, .num_bits = 7 }, /* 'k' 107 */
  117. { .pattern = 0x28, .num_bits = 6 }, /* 'l' 108 */
  118. { .pattern = 0x29, .num_bits = 6 }, /* 'm' 109 */
  119. { .pattern = 0x2a, .num_bits = 6 }, /* 'n' 110 */
  120. { .pattern = 0x7, .num_bits = 5 }, /* 'o' 111 */
  121. { .pattern = 0x2b, .num_bits = 6 }, /* 'p' 112 */
  122. { .pattern = 0x76, .num_bits = 7 }, /* 'q' 113 */
  123. { .pattern = 0x2c, .num_bits = 6 }, /* 'r' 114 */
  124. { .pattern = 0x8, .num_bits = 5 }, /* 's' 115 */
  125. { .pattern = 0x9, .num_bits = 5 }, /* 't' 116 */
  126. { .pattern = 0x2d, .num_bits = 6 }, /* 'u' 117 */
  127. { .pattern = 0x77, .num_bits = 7 }, /* 'v' 118 */
  128. { .pattern = 0x78, .num_bits = 7 }, /* 'w' 119 */
  129. { .pattern = 0x79, .num_bits = 7 }, /* 'x' 120 */
  130. { .pattern = 0x7a, .num_bits = 7 }, /* 'y' 121 */
  131. { .pattern = 0x7b, .num_bits = 7 }, /* 'z' 122 */
  132. { .pattern = 0x7ffe, .num_bits = 15 }, /* '{' 123 */
  133. { .pattern = 0x7fc, .num_bits = 11 }, /* '|' 124 */
  134. { .pattern = 0x3ffd, .num_bits = 14 }, /* '}' 125 */
  135. { .pattern = 0x1ffd, .num_bits = 13 }, /* '~' 126 */
  136. { .pattern = 0xffffffc, .num_bits = 28 }, /* ' ' 127 */
  137. { .pattern = 0xfffe6, .num_bits = 20 }, /* ' ' 128 */
  138. { .pattern = 0x3fffd2, .num_bits = 22 }, /* ' ' 129 */
  139. { .pattern = 0xfffe7, .num_bits = 20 }, /* ' ' 130 */
  140. { .pattern = 0xfffe8, .num_bits = 20 }, /* ' ' 131 */
  141. { .pattern = 0x3fffd3, .num_bits = 22 }, /* ' ' 132 */
  142. { .pattern = 0x3fffd4, .num_bits = 22 }, /* ' ' 133 */
  143. { .pattern = 0x3fffd5, .num_bits = 22 }, /* ' ' 134 */
  144. { .pattern = 0x7fffd9, .num_bits = 23 }, /* ' ' 135 */
  145. { .pattern = 0x3fffd6, .num_bits = 22 }, /* ' ' 136 */
  146. { .pattern = 0x7fffda, .num_bits = 23 }, /* ' ' 137 */
  147. { .pattern = 0x7fffdb, .num_bits = 23 }, /* ' ' 138 */
  148. { .pattern = 0x7fffdc, .num_bits = 23 }, /* ' ' 139 */
  149. { .pattern = 0x7fffdd, .num_bits = 23 }, /* ' ' 140 */
  150. { .pattern = 0x7fffde, .num_bits = 23 }, /* ' ' 141 */
  151. { .pattern = 0xffffeb, .num_bits = 24 }, /* ' ' 142 */
  152. { .pattern = 0x7fffdf, .num_bits = 23 }, /* ' ' 143 */
  153. { .pattern = 0xffffec, .num_bits = 24 }, /* ' ' 144 */
  154. { .pattern = 0xffffed, .num_bits = 24 }, /* ' ' 145 */
  155. { .pattern = 0x3fffd7, .num_bits = 22 }, /* ' ' 146 */
  156. { .pattern = 0x7fffe0, .num_bits = 23 }, /* ' ' 147 */
  157. { .pattern = 0xffffee, .num_bits = 24 }, /* ' ' 148 */
  158. { .pattern = 0x7fffe1, .num_bits = 23 }, /* ' ' 149 */
  159. { .pattern = 0x7fffe2, .num_bits = 23 }, /* ' ' 150 */
  160. { .pattern = 0x7fffe3, .num_bits = 23 }, /* ' ' 151 */
  161. { .pattern = 0x7fffe4, .num_bits = 23 }, /* ' ' 152 */
  162. { .pattern = 0x1fffdc, .num_bits = 21 }, /* ' ' 153 */
  163. { .pattern = 0x3fffd8, .num_bits = 22 }, /* ' ' 154 */
  164. { .pattern = 0x7fffe5, .num_bits = 23 }, /* ' ' 155 */
  165. { .pattern = 0x3fffd9, .num_bits = 22 }, /* ' ' 156 */
  166. { .pattern = 0x7fffe6, .num_bits = 23 }, /* ' ' 157 */
  167. { .pattern = 0x7fffe7, .num_bits = 23 }, /* ' ' 158 */
  168. { .pattern = 0xffffef, .num_bits = 24 }, /* ' ' 159 */
  169. { .pattern = 0x3fffda, .num_bits = 22 }, /* ' ' 160 */
  170. { .pattern = 0x1fffdd, .num_bits = 21 }, /* ' ' 161 */
  171. { .pattern = 0xfffe9, .num_bits = 20 }, /* ' ' 162 */
  172. { .pattern = 0x3fffdb, .num_bits = 22 }, /* ' ' 163 */
  173. { .pattern = 0x3fffdc, .num_bits = 22 }, /* ' ' 164 */
  174. { .pattern = 0x7fffe8, .num_bits = 23 }, /* ' ' 165 */
  175. { .pattern = 0x7fffe9, .num_bits = 23 }, /* ' ' 166 */
  176. { .pattern = 0x1fffde, .num_bits = 21 }, /* ' ' 167 */
  177. { .pattern = 0x7fffea, .num_bits = 23 }, /* ' ' 168 */
  178. { .pattern = 0x3fffdd, .num_bits = 22 }, /* ' ' 169 */
  179. { .pattern = 0x3fffde, .num_bits = 22 }, /* ' ' 170 */
  180. { .pattern = 0xfffff0, .num_bits = 24 }, /* ' ' 171 */
  181. { .pattern = 0x1fffdf, .num_bits = 21 }, /* ' ' 172 */
  182. { .pattern = 0x3fffdf, .num_bits = 22 }, /* ' ' 173 */
  183. { .pattern = 0x7fffeb, .num_bits = 23 }, /* ' ' 174 */
  184. { .pattern = 0x7fffec, .num_bits = 23 }, /* ' ' 175 */
  185. { .pattern = 0x1fffe0, .num_bits = 21 }, /* ' ' 176 */
  186. { .pattern = 0x1fffe1, .num_bits = 21 }, /* ' ' 177 */
  187. { .pattern = 0x3fffe0, .num_bits = 22 }, /* ' ' 178 */
  188. { .pattern = 0x1fffe2, .num_bits = 21 }, /* ' ' 179 */
  189. { .pattern = 0x7fffed, .num_bits = 23 }, /* ' ' 180 */
  190. { .pattern = 0x3fffe1, .num_bits = 22 }, /* ' ' 181 */
  191. { .pattern = 0x7fffee, .num_bits = 23 }, /* ' ' 182 */
  192. { .pattern = 0x7fffef, .num_bits = 23 }, /* ' ' 183 */
  193. { .pattern = 0xfffea, .num_bits = 20 }, /* ' ' 184 */
  194. { .pattern = 0x3fffe2, .num_bits = 22 }, /* ' ' 185 */
  195. { .pattern = 0x3fffe3, .num_bits = 22 }, /* ' ' 186 */
  196. { .pattern = 0x3fffe4, .num_bits = 22 }, /* ' ' 187 */
  197. { .pattern = 0x7ffff0, .num_bits = 23 }, /* ' ' 188 */
  198. { .pattern = 0x3fffe5, .num_bits = 22 }, /* ' ' 189 */
  199. { .pattern = 0x3fffe6, .num_bits = 22 }, /* ' ' 190 */
  200. { .pattern = 0x7ffff1, .num_bits = 23 }, /* ' ' 191 */
  201. { .pattern = 0x3ffffe0, .num_bits = 26 }, /* ' ' 192 */
  202. { .pattern = 0x3ffffe1, .num_bits = 26 }, /* ' ' 193 */
  203. { .pattern = 0xfffeb, .num_bits = 20 }, /* ' ' 194 */
  204. { .pattern = 0x7fff1, .num_bits = 19 }, /* ' ' 195 */
  205. { .pattern = 0x3fffe7, .num_bits = 22 }, /* ' ' 196 */
  206. { .pattern = 0x7ffff2, .num_bits = 23 }, /* ' ' 197 */
  207. { .pattern = 0x3fffe8, .num_bits = 22 }, /* ' ' 198 */
  208. { .pattern = 0x1ffffec, .num_bits = 25 }, /* ' ' 199 */
  209. { .pattern = 0x3ffffe2, .num_bits = 26 }, /* ' ' 200 */
  210. { .pattern = 0x3ffffe3, .num_bits = 26 }, /* ' ' 201 */
  211. { .pattern = 0x3ffffe4, .num_bits = 26 }, /* ' ' 202 */
  212. { .pattern = 0x7ffffde, .num_bits = 27 }, /* ' ' 203 */
  213. { .pattern = 0x7ffffdf, .num_bits = 27 }, /* ' ' 204 */
  214. { .pattern = 0x3ffffe5, .num_bits = 26 }, /* ' ' 205 */
  215. { .pattern = 0xfffff1, .num_bits = 24 }, /* ' ' 206 */
  216. { .pattern = 0x1ffffed, .num_bits = 25 }, /* ' ' 207 */
  217. { .pattern = 0x7fff2, .num_bits = 19 }, /* ' ' 208 */
  218. { .pattern = 0x1fffe3, .num_bits = 21 }, /* ' ' 209 */
  219. { .pattern = 0x3ffffe6, .num_bits = 26 }, /* ' ' 210 */
  220. { .pattern = 0x7ffffe0, .num_bits = 27 }, /* ' ' 211 */
  221. { .pattern = 0x7ffffe1, .num_bits = 27 }, /* ' ' 212 */
  222. { .pattern = 0x3ffffe7, .num_bits = 26 }, /* ' ' 213 */
  223. { .pattern = 0x7ffffe2, .num_bits = 27 }, /* ' ' 214 */
  224. { .pattern = 0xfffff2, .num_bits = 24 }, /* ' ' 215 */
  225. { .pattern = 0x1fffe4, .num_bits = 21 }, /* ' ' 216 */
  226. { .pattern = 0x1fffe5, .num_bits = 21 }, /* ' ' 217 */
  227. { .pattern = 0x3ffffe8, .num_bits = 26 }, /* ' ' 218 */
  228. { .pattern = 0x3ffffe9, .num_bits = 26 }, /* ' ' 219 */
  229. { .pattern = 0xffffffd, .num_bits = 28 }, /* ' ' 220 */
  230. { .pattern = 0x7ffffe3, .num_bits = 27 }, /* ' ' 221 */
  231. { .pattern = 0x7ffffe4, .num_bits = 27 }, /* ' ' 222 */
  232. { .pattern = 0x7ffffe5, .num_bits = 27 }, /* ' ' 223 */
  233. { .pattern = 0xfffec, .num_bits = 20 }, /* ' ' 224 */
  234. { .pattern = 0xfffff3, .num_bits = 24 }, /* ' ' 225 */
  235. { .pattern = 0xfffed, .num_bits = 20 }, /* ' ' 226 */
  236. { .pattern = 0x1fffe6, .num_bits = 21 }, /* ' ' 227 */
  237. { .pattern = 0x3fffe9, .num_bits = 22 }, /* ' ' 228 */
  238. { .pattern = 0x1fffe7, .num_bits = 21 }, /* ' ' 229 */
  239. { .pattern = 0x1fffe8, .num_bits = 21 }, /* ' ' 230 */
  240. { .pattern = 0x7ffff3, .num_bits = 23 }, /* ' ' 231 */
  241. { .pattern = 0x3fffea, .num_bits = 22 }, /* ' ' 232 */
  242. { .pattern = 0x3fffeb, .num_bits = 22 }, /* ' ' 233 */
  243. { .pattern = 0x1ffffee, .num_bits = 25 }, /* ' ' 234 */
  244. { .pattern = 0x1ffffef, .num_bits = 25 }, /* ' ' 235 */
  245. { .pattern = 0xfffff4, .num_bits = 24 }, /* ' ' 236 */
  246. { .pattern = 0xfffff5, .num_bits = 24 }, /* ' ' 237 */
  247. { .pattern = 0x3ffffea, .num_bits = 26 }, /* ' ' 238 */
  248. { .pattern = 0x7ffff4, .num_bits = 23 }, /* ' ' 239 */
  249. { .pattern = 0x3ffffeb, .num_bits = 26 }, /* ' ' 240 */
  250. { .pattern = 0x7ffffe6, .num_bits = 27 }, /* ' ' 241 */
  251. { .pattern = 0x3ffffec, .num_bits = 26 }, /* ' ' 242 */
  252. { .pattern = 0x3ffffed, .num_bits = 26 }, /* ' ' 243 */
  253. { .pattern = 0x7ffffe7, .num_bits = 27 }, /* ' ' 244 */
  254. { .pattern = 0x7ffffe8, .num_bits = 27 }, /* ' ' 245 */
  255. { .pattern = 0x7ffffe9, .num_bits = 27 }, /* ' ' 246 */
  256. { .pattern = 0x7ffffea, .num_bits = 27 }, /* ' ' 247 */
  257. { .pattern = 0x7ffffeb, .num_bits = 27 }, /* ' ' 248 */
  258. { .pattern = 0xffffffe, .num_bits = 28 }, /* ' ' 249 */
  259. { .pattern = 0x7ffffec, .num_bits = 27 }, /* ' ' 250 */
  260. { .pattern = 0x7ffffed, .num_bits = 27 }, /* ' ' 251 */
  261. { .pattern = 0x7ffffee, .num_bits = 27 }, /* ' ' 252 */
  262. { .pattern = 0x7ffffef, .num_bits = 27 }, /* ' ' 253 */
  263. { .pattern = 0x7fffff0, .num_bits = 27 }, /* ' ' 254 */
  264. { .pattern = 0x3ffffee, .num_bits = 26 }, /* ' ' 255 */
  265. };
  266. static struct aws_huffman_code encode_symbol(uint8_t symbol, void *userdata) {
  267. (void)userdata;
  268. return code_points[symbol];
  269. }
  270. /* NOLINTNEXTLINE(readability-function-size) */
  271. static uint8_t decode_symbol(uint32_t bits, uint8_t *symbol, void *userdata) {
  272. (void)userdata;
  273. if (bits & 0x80000000) {
  274. goto node_1;
  275. } else {
  276. goto node_0;
  277. }
  278. node_0:
  279. if (bits & 0x40000000) {
  280. goto node_01;
  281. } else {
  282. goto node_00;
  283. }
  284. node_00:
  285. if (bits & 0x20000000) {
  286. goto node_001;
  287. } else {
  288. goto node_000;
  289. }
  290. node_000:
  291. if (bits & 0x10000000) {
  292. goto node_0001;
  293. } else {
  294. goto node_0000;
  295. }
  296. node_0000:
  297. if (bits & 0x8000000) {
  298. *symbol = 49;
  299. return 5;
  300. } else {
  301. *symbol = 48;
  302. return 5;
  303. }
  304. node_0001:
  305. if (bits & 0x8000000) {
  306. *symbol = 97;
  307. return 5;
  308. } else {
  309. *symbol = 50;
  310. return 5;
  311. }
  312. node_001:
  313. if (bits & 0x10000000) {
  314. goto node_0011;
  315. } else {
  316. goto node_0010;
  317. }
  318. node_0010:
  319. if (bits & 0x8000000) {
  320. *symbol = 101;
  321. return 5;
  322. } else {
  323. *symbol = 99;
  324. return 5;
  325. }
  326. node_0011:
  327. if (bits & 0x8000000) {
  328. *symbol = 111;
  329. return 5;
  330. } else {
  331. *symbol = 105;
  332. return 5;
  333. }
  334. node_01:
  335. if (bits & 0x20000000) {
  336. goto node_011;
  337. } else {
  338. goto node_010;
  339. }
  340. node_010:
  341. if (bits & 0x10000000) {
  342. goto node_0101;
  343. } else {
  344. goto node_0100;
  345. }
  346. node_0100:
  347. if (bits & 0x8000000) {
  348. *symbol = 116;
  349. return 5;
  350. } else {
  351. *symbol = 115;
  352. return 5;
  353. }
  354. node_0101:
  355. if (bits & 0x8000000) {
  356. goto node_01011;
  357. } else {
  358. goto node_01010;
  359. }
  360. node_01010:
  361. if (bits & 0x4000000) {
  362. *symbol = 37;
  363. return 6;
  364. } else {
  365. *symbol = 32;
  366. return 6;
  367. }
  368. node_01011:
  369. if (bits & 0x4000000) {
  370. *symbol = 46;
  371. return 6;
  372. } else {
  373. *symbol = 45;
  374. return 6;
  375. }
  376. node_011:
  377. if (bits & 0x10000000) {
  378. goto node_0111;
  379. } else {
  380. goto node_0110;
  381. }
  382. node_0110:
  383. if (bits & 0x8000000) {
  384. goto node_01101;
  385. } else {
  386. goto node_01100;
  387. }
  388. node_01100:
  389. if (bits & 0x4000000) {
  390. *symbol = 51;
  391. return 6;
  392. } else {
  393. *symbol = 47;
  394. return 6;
  395. }
  396. node_01101:
  397. if (bits & 0x4000000) {
  398. *symbol = 53;
  399. return 6;
  400. } else {
  401. *symbol = 52;
  402. return 6;
  403. }
  404. node_0111:
  405. if (bits & 0x8000000) {
  406. goto node_01111;
  407. } else {
  408. goto node_01110;
  409. }
  410. node_01110:
  411. if (bits & 0x4000000) {
  412. *symbol = 55;
  413. return 6;
  414. } else {
  415. *symbol = 54;
  416. return 6;
  417. }
  418. node_01111:
  419. if (bits & 0x4000000) {
  420. *symbol = 57;
  421. return 6;
  422. } else {
  423. *symbol = 56;
  424. return 6;
  425. }
  426. node_1:
  427. if (bits & 0x40000000) {
  428. goto node_11;
  429. } else {
  430. goto node_10;
  431. }
  432. node_10:
  433. if (bits & 0x20000000) {
  434. goto node_101;
  435. } else {
  436. goto node_100;
  437. }
  438. node_100:
  439. if (bits & 0x10000000) {
  440. goto node_1001;
  441. } else {
  442. goto node_1000;
  443. }
  444. node_1000:
  445. if (bits & 0x8000000) {
  446. goto node_10001;
  447. } else {
  448. goto node_10000;
  449. }
  450. node_10000:
  451. if (bits & 0x4000000) {
  452. *symbol = 65;
  453. return 6;
  454. } else {
  455. *symbol = 61;
  456. return 6;
  457. }
  458. node_10001:
  459. if (bits & 0x4000000) {
  460. *symbol = 98;
  461. return 6;
  462. } else {
  463. *symbol = 95;
  464. return 6;
  465. }
  466. node_1001:
  467. if (bits & 0x8000000) {
  468. goto node_10011;
  469. } else {
  470. goto node_10010;
  471. }
  472. node_10010:
  473. if (bits & 0x4000000) {
  474. *symbol = 102;
  475. return 6;
  476. } else {
  477. *symbol = 100;
  478. return 6;
  479. }
  480. node_10011:
  481. if (bits & 0x4000000) {
  482. *symbol = 104;
  483. return 6;
  484. } else {
  485. *symbol = 103;
  486. return 6;
  487. }
  488. node_101:
  489. if (bits & 0x10000000) {
  490. goto node_1011;
  491. } else {
  492. goto node_1010;
  493. }
  494. node_1010:
  495. if (bits & 0x8000000) {
  496. goto node_10101;
  497. } else {
  498. goto node_10100;
  499. }
  500. node_10100:
  501. if (bits & 0x4000000) {
  502. *symbol = 109;
  503. return 6;
  504. } else {
  505. *symbol = 108;
  506. return 6;
  507. }
  508. node_10101:
  509. if (bits & 0x4000000) {
  510. *symbol = 112;
  511. return 6;
  512. } else {
  513. *symbol = 110;
  514. return 6;
  515. }
  516. node_1011:
  517. if (bits & 0x8000000) {
  518. goto node_10111;
  519. } else {
  520. goto node_10110;
  521. }
  522. node_10110:
  523. if (bits & 0x4000000) {
  524. *symbol = 117;
  525. return 6;
  526. } else {
  527. *symbol = 114;
  528. return 6;
  529. }
  530. node_10111:
  531. if (bits & 0x4000000) {
  532. goto node_101111;
  533. } else {
  534. goto node_101110;
  535. }
  536. node_101110:
  537. if (bits & 0x2000000) {
  538. *symbol = 66;
  539. return 7;
  540. } else {
  541. *symbol = 58;
  542. return 7;
  543. }
  544. node_101111:
  545. if (bits & 0x2000000) {
  546. *symbol = 68;
  547. return 7;
  548. } else {
  549. *symbol = 67;
  550. return 7;
  551. }
  552. node_11:
  553. if (bits & 0x20000000) {
  554. goto node_111;
  555. } else {
  556. goto node_110;
  557. }
  558. node_110:
  559. if (bits & 0x10000000) {
  560. goto node_1101;
  561. } else {
  562. goto node_1100;
  563. }
  564. node_1100:
  565. if (bits & 0x8000000) {
  566. goto node_11001;
  567. } else {
  568. goto node_11000;
  569. }
  570. node_11000:
  571. if (bits & 0x4000000) {
  572. goto node_110001;
  573. } else {
  574. goto node_110000;
  575. }
  576. node_110000:
  577. if (bits & 0x2000000) {
  578. *symbol = 70;
  579. return 7;
  580. } else {
  581. *symbol = 69;
  582. return 7;
  583. }
  584. node_110001:
  585. if (bits & 0x2000000) {
  586. *symbol = 72;
  587. return 7;
  588. } else {
  589. *symbol = 71;
  590. return 7;
  591. }
  592. node_11001:
  593. if (bits & 0x4000000) {
  594. goto node_110011;
  595. } else {
  596. goto node_110010;
  597. }
  598. node_110010:
  599. if (bits & 0x2000000) {
  600. *symbol = 74;
  601. return 7;
  602. } else {
  603. *symbol = 73;
  604. return 7;
  605. }
  606. node_110011:
  607. if (bits & 0x2000000) {
  608. *symbol = 76;
  609. return 7;
  610. } else {
  611. *symbol = 75;
  612. return 7;
  613. }
  614. node_1101:
  615. if (bits & 0x8000000) {
  616. goto node_11011;
  617. } else {
  618. goto node_11010;
  619. }
  620. node_11010:
  621. if (bits & 0x4000000) {
  622. goto node_110101;
  623. } else {
  624. goto node_110100;
  625. }
  626. node_110100:
  627. if (bits & 0x2000000) {
  628. *symbol = 78;
  629. return 7;
  630. } else {
  631. *symbol = 77;
  632. return 7;
  633. }
  634. node_110101:
  635. if (bits & 0x2000000) {
  636. *symbol = 80;
  637. return 7;
  638. } else {
  639. *symbol = 79;
  640. return 7;
  641. }
  642. node_11011:
  643. if (bits & 0x4000000) {
  644. goto node_110111;
  645. } else {
  646. goto node_110110;
  647. }
  648. node_110110:
  649. if (bits & 0x2000000) {
  650. *symbol = 82;
  651. return 7;
  652. } else {
  653. *symbol = 81;
  654. return 7;
  655. }
  656. node_110111:
  657. if (bits & 0x2000000) {
  658. *symbol = 84;
  659. return 7;
  660. } else {
  661. *symbol = 83;
  662. return 7;
  663. }
  664. node_111:
  665. if (bits & 0x10000000) {
  666. goto node_1111;
  667. } else {
  668. goto node_1110;
  669. }
  670. node_1110:
  671. if (bits & 0x8000000) {
  672. goto node_11101;
  673. } else {
  674. goto node_11100;
  675. }
  676. node_11100:
  677. if (bits & 0x4000000) {
  678. goto node_111001;
  679. } else {
  680. goto node_111000;
  681. }
  682. node_111000:
  683. if (bits & 0x2000000) {
  684. *symbol = 86;
  685. return 7;
  686. } else {
  687. *symbol = 85;
  688. return 7;
  689. }
  690. node_111001:
  691. if (bits & 0x2000000) {
  692. *symbol = 89;
  693. return 7;
  694. } else {
  695. *symbol = 87;
  696. return 7;
  697. }
  698. node_11101:
  699. if (bits & 0x4000000) {
  700. goto node_111011;
  701. } else {
  702. goto node_111010;
  703. }
  704. node_111010:
  705. if (bits & 0x2000000) {
  706. *symbol = 107;
  707. return 7;
  708. } else {
  709. *symbol = 106;
  710. return 7;
  711. }
  712. node_111011:
  713. if (bits & 0x2000000) {
  714. *symbol = 118;
  715. return 7;
  716. } else {
  717. *symbol = 113;
  718. return 7;
  719. }
  720. node_1111:
  721. if (bits & 0x8000000) {
  722. goto node_11111;
  723. } else {
  724. goto node_11110;
  725. }
  726. node_11110:
  727. if (bits & 0x4000000) {
  728. goto node_111101;
  729. } else {
  730. goto node_111100;
  731. }
  732. node_111100:
  733. if (bits & 0x2000000) {
  734. *symbol = 120;
  735. return 7;
  736. } else {
  737. *symbol = 119;
  738. return 7;
  739. }
  740. node_111101:
  741. if (bits & 0x2000000) {
  742. *symbol = 122;
  743. return 7;
  744. } else {
  745. *symbol = 121;
  746. return 7;
  747. }
  748. node_11111:
  749. if (bits & 0x4000000) {
  750. goto node_111111;
  751. } else {
  752. goto node_111110;
  753. }
  754. node_111110:
  755. if (bits & 0x2000000) {
  756. goto node_1111101;
  757. } else {
  758. goto node_1111100;
  759. }
  760. node_1111100:
  761. if (bits & 0x1000000) {
  762. *symbol = 42;
  763. return 8;
  764. } else {
  765. *symbol = 38;
  766. return 8;
  767. }
  768. node_1111101:
  769. if (bits & 0x1000000) {
  770. *symbol = 59;
  771. return 8;
  772. } else {
  773. *symbol = 44;
  774. return 8;
  775. }
  776. node_111111:
  777. if (bits & 0x2000000) {
  778. goto node_1111111;
  779. } else {
  780. goto node_1111110;
  781. }
  782. node_1111110:
  783. if (bits & 0x1000000) {
  784. *symbol = 90;
  785. return 8;
  786. } else {
  787. *symbol = 88;
  788. return 8;
  789. }
  790. node_1111111:
  791. if (bits & 0x1000000) {
  792. goto node_11111111;
  793. } else {
  794. goto node_11111110;
  795. }
  796. node_11111110:
  797. if (bits & 0x800000) {
  798. goto node_111111101;
  799. } else {
  800. goto node_111111100;
  801. }
  802. node_111111100:
  803. if (bits & 0x400000) {
  804. *symbol = 34;
  805. return 10;
  806. } else {
  807. *symbol = 33;
  808. return 10;
  809. }
  810. node_111111101:
  811. if (bits & 0x400000) {
  812. *symbol = 41;
  813. return 10;
  814. } else {
  815. *symbol = 40;
  816. return 10;
  817. }
  818. node_11111111:
  819. if (bits & 0x800000) {
  820. goto node_111111111;
  821. } else {
  822. goto node_111111110;
  823. }
  824. node_111111110:
  825. if (bits & 0x400000) {
  826. goto node_1111111101;
  827. } else {
  828. *symbol = 63;
  829. return 10;
  830. }
  831. node_1111111101:
  832. if (bits & 0x200000) {
  833. *symbol = 43;
  834. return 11;
  835. } else {
  836. *symbol = 39;
  837. return 11;
  838. }
  839. node_111111111:
  840. if (bits & 0x400000) {
  841. goto node_1111111111;
  842. } else {
  843. goto node_1111111110;
  844. }
  845. node_1111111110:
  846. if (bits & 0x200000) {
  847. goto node_11111111101;
  848. } else {
  849. *symbol = 124;
  850. return 11;
  851. }
  852. node_11111111101:
  853. if (bits & 0x100000) {
  854. *symbol = 62;
  855. return 12;
  856. } else {
  857. *symbol = 35;
  858. return 12;
  859. }
  860. node_1111111111:
  861. if (bits & 0x200000) {
  862. goto node_11111111111;
  863. } else {
  864. goto node_11111111110;
  865. }
  866. node_11111111110:
  867. if (bits & 0x100000) {
  868. goto node_111111111101;
  869. } else {
  870. goto node_111111111100;
  871. }
  872. node_111111111100:
  873. if (bits & 0x80000) {
  874. *symbol = 36;
  875. return 13;
  876. } else {
  877. *symbol = 0;
  878. return 13;
  879. }
  880. node_111111111101:
  881. if (bits & 0x80000) {
  882. *symbol = 91;
  883. return 13;
  884. } else {
  885. *symbol = 64;
  886. return 13;
  887. }
  888. node_11111111111:
  889. if (bits & 0x100000) {
  890. goto node_111111111111;
  891. } else {
  892. goto node_111111111110;
  893. }
  894. node_111111111110:
  895. if (bits & 0x80000) {
  896. *symbol = 126;
  897. return 13;
  898. } else {
  899. *symbol = 93;
  900. return 13;
  901. }
  902. node_111111111111:
  903. if (bits & 0x80000) {
  904. goto node_1111111111111;
  905. } else {
  906. goto node_1111111111110;
  907. }
  908. node_1111111111110:
  909. if (bits & 0x40000) {
  910. *symbol = 125;
  911. return 14;
  912. } else {
  913. *symbol = 94;
  914. return 14;
  915. }
  916. node_1111111111111:
  917. if (bits & 0x40000) {
  918. goto node_11111111111111;
  919. } else {
  920. goto node_11111111111110;
  921. }
  922. node_11111111111110:
  923. if (bits & 0x20000) {
  924. *symbol = 96;
  925. return 15;
  926. } else {
  927. *symbol = 60;
  928. return 15;
  929. }
  930. node_11111111111111:
  931. if (bits & 0x20000) {
  932. goto node_111111111111111;
  933. } else {
  934. *symbol = 123;
  935. return 15;
  936. }
  937. node_111111111111111:
  938. if (bits & 0x10000) {
  939. goto node_1111111111111111;
  940. } else {
  941. goto node_1111111111111110;
  942. }
  943. node_1111111111111110:
  944. if (bits & 0x8000) {
  945. goto node_11111111111111101;
  946. } else {
  947. goto node_11111111111111100;
  948. }
  949. node_11111111111111100:
  950. if (bits & 0x4000) {
  951. goto node_111111111111111001;
  952. } else {
  953. goto node_111111111111111000;
  954. }
  955. node_111111111111111000:
  956. if (bits & 0x2000) {
  957. *symbol = 195;
  958. return 19;
  959. } else {
  960. *symbol = 92;
  961. return 19;
  962. }
  963. node_111111111111111001:
  964. if (bits & 0x2000) {
  965. goto node_1111111111111110011;
  966. } else {
  967. *symbol = 208;
  968. return 19;
  969. }
  970. node_1111111111111110011:
  971. if (bits & 0x1000) {
  972. *symbol = 130;
  973. return 20;
  974. } else {
  975. *symbol = 128;
  976. return 20;
  977. }
  978. node_11111111111111101:
  979. if (bits & 0x4000) {
  980. goto node_111111111111111011;
  981. } else {
  982. goto node_111111111111111010;
  983. }
  984. node_111111111111111010:
  985. if (bits & 0x2000) {
  986. goto node_1111111111111110101;
  987. } else {
  988. goto node_1111111111111110100;
  989. }
  990. node_1111111111111110100:
  991. if (bits & 0x1000) {
  992. *symbol = 162;
  993. return 20;
  994. } else {
  995. *symbol = 131;
  996. return 20;
  997. }
  998. node_1111111111111110101:
  999. if (bits & 0x1000) {
  1000. *symbol = 194;
  1001. return 20;
  1002. } else {
  1003. *symbol = 184;
  1004. return 20;
  1005. }
  1006. node_111111111111111011:
  1007. if (bits & 0x2000) {
  1008. goto node_1111111111111110111;
  1009. } else {
  1010. goto node_1111111111111110110;
  1011. }
  1012. node_1111111111111110110:
  1013. if (bits & 0x1000) {
  1014. *symbol = 226;
  1015. return 20;
  1016. } else {
  1017. *symbol = 224;
  1018. return 20;
  1019. }
  1020. node_1111111111111110111:
  1021. if (bits & 0x1000) {
  1022. goto node_11111111111111101111;
  1023. } else {
  1024. goto node_11111111111111101110;
  1025. }
  1026. node_11111111111111101110:
  1027. if (bits & 0x800) {
  1028. *symbol = 161;
  1029. return 21;
  1030. } else {
  1031. *symbol = 153;
  1032. return 21;
  1033. }
  1034. node_11111111111111101111:
  1035. if (bits & 0x800) {
  1036. *symbol = 172;
  1037. return 21;
  1038. } else {
  1039. *symbol = 167;
  1040. return 21;
  1041. }
  1042. node_1111111111111111:
  1043. if (bits & 0x8000) {
  1044. goto node_11111111111111111;
  1045. } else {
  1046. goto node_11111111111111110;
  1047. }
  1048. node_11111111111111110:
  1049. if (bits & 0x4000) {
  1050. goto node_111111111111111101;
  1051. } else {
  1052. goto node_111111111111111100;
  1053. }
  1054. node_111111111111111100:
  1055. if (bits & 0x2000) {
  1056. goto node_1111111111111111001;
  1057. } else {
  1058. goto node_1111111111111111000;
  1059. }
  1060. node_1111111111111111000:
  1061. if (bits & 0x1000) {
  1062. goto node_11111111111111110001;
  1063. } else {
  1064. goto node_11111111111111110000;
  1065. }
  1066. node_11111111111111110000:
  1067. if (bits & 0x800) {
  1068. *symbol = 177;
  1069. return 21;
  1070. } else {
  1071. *symbol = 176;
  1072. return 21;
  1073. }
  1074. node_11111111111111110001:
  1075. if (bits & 0x800) {
  1076. *symbol = 209;
  1077. return 21;
  1078. } else {
  1079. *symbol = 179;
  1080. return 21;
  1081. }
  1082. node_1111111111111111001:
  1083. if (bits & 0x1000) {
  1084. goto node_11111111111111110011;
  1085. } else {
  1086. goto node_11111111111111110010;
  1087. }
  1088. node_11111111111111110010:
  1089. if (bits & 0x800) {
  1090. *symbol = 217;
  1091. return 21;
  1092. } else {
  1093. *symbol = 216;
  1094. return 21;
  1095. }
  1096. node_11111111111111110011:
  1097. if (bits & 0x800) {
  1098. *symbol = 229;
  1099. return 21;
  1100. } else {
  1101. *symbol = 227;
  1102. return 21;
  1103. }
  1104. node_111111111111111101:
  1105. if (bits & 0x2000) {
  1106. goto node_1111111111111111011;
  1107. } else {
  1108. goto node_1111111111111111010;
  1109. }
  1110. node_1111111111111111010:
  1111. if (bits & 0x1000) {
  1112. goto node_11111111111111110101;
  1113. } else {
  1114. goto node_11111111111111110100;
  1115. }
  1116. node_11111111111111110100:
  1117. if (bits & 0x800) {
  1118. goto node_111111111111111101001;
  1119. } else {
  1120. *symbol = 230;
  1121. return 21;
  1122. }
  1123. node_111111111111111101001:
  1124. if (bits & 0x400) {
  1125. *symbol = 132;
  1126. return 22;
  1127. } else {
  1128. *symbol = 129;
  1129. return 22;
  1130. }
  1131. node_11111111111111110101:
  1132. if (bits & 0x800) {
  1133. goto node_111111111111111101011;
  1134. } else {
  1135. goto node_111111111111111101010;
  1136. }
  1137. node_111111111111111101010:
  1138. if (bits & 0x400) {
  1139. *symbol = 134;
  1140. return 22;
  1141. } else {
  1142. *symbol = 133;
  1143. return 22;
  1144. }
  1145. node_111111111111111101011:
  1146. if (bits & 0x400) {
  1147. *symbol = 146;
  1148. return 22;
  1149. } else {
  1150. *symbol = 136;
  1151. return 22;
  1152. }
  1153. node_1111111111111111011:
  1154. if (bits & 0x1000) {
  1155. goto node_11111111111111110111;
  1156. } else {
  1157. goto node_11111111111111110110;
  1158. }
  1159. node_11111111111111110110:
  1160. if (bits & 0x800) {
  1161. goto node_111111111111111101101;
  1162. } else {
  1163. goto node_111111111111111101100;
  1164. }
  1165. node_111111111111111101100:
  1166. if (bits & 0x400) {
  1167. *symbol = 156;
  1168. return 22;
  1169. } else {
  1170. *symbol = 154;
  1171. return 22;
  1172. }
  1173. node_111111111111111101101:
  1174. if (bits & 0x400) {
  1175. *symbol = 163;
  1176. return 22;
  1177. } else {
  1178. *symbol = 160;
  1179. return 22;
  1180. }
  1181. node_11111111111111110111:
  1182. if (bits & 0x800) {
  1183. goto node_111111111111111101111;
  1184. } else {
  1185. goto node_111111111111111101110;
  1186. }
  1187. node_111111111111111101110:
  1188. if (bits & 0x400) {
  1189. *symbol = 169;
  1190. return 22;
  1191. } else {
  1192. *symbol = 164;
  1193. return 22;
  1194. }
  1195. node_111111111111111101111:
  1196. if (bits & 0x400) {
  1197. *symbol = 173;
  1198. return 22;
  1199. } else {
  1200. *symbol = 170;
  1201. return 22;
  1202. }
  1203. node_11111111111111111:
  1204. if (bits & 0x4000) {
  1205. goto node_111111111111111111;
  1206. } else {
  1207. goto node_111111111111111110;
  1208. }
  1209. node_111111111111111110:
  1210. if (bits & 0x2000) {
  1211. goto node_1111111111111111101;
  1212. } else {
  1213. goto node_1111111111111111100;
  1214. }
  1215. node_1111111111111111100:
  1216. if (bits & 0x1000) {
  1217. goto node_11111111111111111001;
  1218. } else {
  1219. goto node_11111111111111111000;
  1220. }
  1221. node_11111111111111111000:
  1222. if (bits & 0x800) {
  1223. goto node_111111111111111110001;
  1224. } else {
  1225. goto node_111111111111111110000;
  1226. }
  1227. node_111111111111111110000:
  1228. if (bits & 0x400) {
  1229. *symbol = 181;
  1230. return 22;
  1231. } else {
  1232. *symbol = 178;
  1233. return 22;
  1234. }
  1235. node_111111111111111110001:
  1236. if (bits & 0x400) {
  1237. *symbol = 186;
  1238. return 22;
  1239. } else {
  1240. *symbol = 185;
  1241. return 22;
  1242. }
  1243. node_11111111111111111001:
  1244. if (bits & 0x800) {
  1245. goto node_111111111111111110011;
  1246. } else {
  1247. goto node_111111111111111110010;
  1248. }
  1249. node_111111111111111110010:
  1250. if (bits & 0x400) {
  1251. *symbol = 189;
  1252. return 22;
  1253. } else {
  1254. *symbol = 187;
  1255. return 22;
  1256. }
  1257. node_111111111111111110011:
  1258. if (bits & 0x400) {
  1259. *symbol = 196;
  1260. return 22;
  1261. } else {
  1262. *symbol = 190;
  1263. return 22;
  1264. }
  1265. node_1111111111111111101:
  1266. if (bits & 0x1000) {
  1267. goto node_11111111111111111011;
  1268. } else {
  1269. goto node_11111111111111111010;
  1270. }
  1271. node_11111111111111111010:
  1272. if (bits & 0x800) {
  1273. goto node_111111111111111110101;
  1274. } else {
  1275. goto node_111111111111111110100;
  1276. }
  1277. node_111111111111111110100:
  1278. if (bits & 0x400) {
  1279. *symbol = 228;
  1280. return 22;
  1281. } else {
  1282. *symbol = 198;
  1283. return 22;
  1284. }
  1285. node_111111111111111110101:
  1286. if (bits & 0x400) {
  1287. *symbol = 233;
  1288. return 22;
  1289. } else {
  1290. *symbol = 232;
  1291. return 22;
  1292. }
  1293. node_11111111111111111011:
  1294. if (bits & 0x800) {
  1295. goto node_111111111111111110111;
  1296. } else {
  1297. goto node_111111111111111110110;
  1298. }
  1299. node_111111111111111110110:
  1300. if (bits & 0x400) {
  1301. goto node_1111111111111111101101;
  1302. } else {
  1303. goto node_1111111111111111101100;
  1304. }
  1305. node_1111111111111111101100:
  1306. if (bits & 0x200) {
  1307. *symbol = 135;
  1308. return 23;
  1309. } else {
  1310. *symbol = 1;
  1311. return 23;
  1312. }
  1313. node_1111111111111111101101:
  1314. if (bits & 0x200) {
  1315. *symbol = 138;
  1316. return 23;
  1317. } else {
  1318. *symbol = 137;
  1319. return 23;
  1320. }
  1321. node_111111111111111110111:
  1322. if (bits & 0x400) {
  1323. goto node_1111111111111111101111;
  1324. } else {
  1325. goto node_1111111111111111101110;
  1326. }
  1327. node_1111111111111111101110:
  1328. if (bits & 0x200) {
  1329. *symbol = 140;
  1330. return 23;
  1331. } else {
  1332. *symbol = 139;
  1333. return 23;
  1334. }
  1335. node_1111111111111111101111:
  1336. if (bits & 0x200) {
  1337. *symbol = 143;
  1338. return 23;
  1339. } else {
  1340. *symbol = 141;
  1341. return 23;
  1342. }
  1343. node_111111111111111111:
  1344. if (bits & 0x2000) {
  1345. goto node_1111111111111111111;
  1346. } else {
  1347. goto node_1111111111111111110;
  1348. }
  1349. node_1111111111111111110:
  1350. if (bits & 0x1000) {
  1351. goto node_11111111111111111101;
  1352. } else {
  1353. goto node_11111111111111111100;
  1354. }
  1355. node_11111111111111111100:
  1356. if (bits & 0x800) {
  1357. goto node_111111111111111111001;
  1358. } else {
  1359. goto node_111111111111111111000;
  1360. }
  1361. node_111111111111111111000:
  1362. if (bits & 0x400) {
  1363. goto node_1111111111111111110001;
  1364. } else {
  1365. goto node_1111111111111111110000;
  1366. }
  1367. node_1111111111111111110000:
  1368. if (bits & 0x200) {
  1369. *symbol = 149;
  1370. return 23;
  1371. } else {
  1372. *symbol = 147;
  1373. return 23;
  1374. }
  1375. node_1111111111111111110001:
  1376. if (bits & 0x200) {
  1377. *symbol = 151;
  1378. return 23;
  1379. } else {
  1380. *symbol = 150;
  1381. return 23;
  1382. }
  1383. node_111111111111111111001:
  1384. if (bits & 0x400) {
  1385. goto node_1111111111111111110011;
  1386. } else {
  1387. goto node_1111111111111111110010;
  1388. }
  1389. node_1111111111111111110010:
  1390. if (bits & 0x200) {
  1391. *symbol = 155;
  1392. return 23;
  1393. } else {
  1394. *symbol = 152;
  1395. return 23;
  1396. }
  1397. node_1111111111111111110011:
  1398. if (bits & 0x200) {
  1399. *symbol = 158;
  1400. return 23;
  1401. } else {
  1402. *symbol = 157;
  1403. return 23;
  1404. }
  1405. node_11111111111111111101:
  1406. if (bits & 0x800) {
  1407. goto node_111111111111111111011;
  1408. } else {
  1409. goto node_111111111111111111010;
  1410. }
  1411. node_111111111111111111010:
  1412. if (bits & 0x400) {
  1413. goto node_1111111111111111110101;
  1414. } else {
  1415. goto node_1111111111111111110100;
  1416. }
  1417. node_1111111111111111110100:
  1418. if (bits & 0x200) {
  1419. *symbol = 166;
  1420. return 23;
  1421. } else {
  1422. *symbol = 165;
  1423. return 23;
  1424. }
  1425. node_1111111111111111110101:
  1426. if (bits & 0x200) {
  1427. *symbol = 174;
  1428. return 23;
  1429. } else {
  1430. *symbol = 168;
  1431. return 23;
  1432. }
  1433. node_111111111111111111011:
  1434. if (bits & 0x400) {
  1435. goto node_1111111111111111110111;
  1436. } else {
  1437. goto node_1111111111111111110110;
  1438. }
  1439. node_1111111111111111110110:
  1440. if (bits & 0x200) {
  1441. *symbol = 180;
  1442. return 23;
  1443. } else {
  1444. *symbol = 175;
  1445. return 23;
  1446. }
  1447. node_1111111111111111110111:
  1448. if (bits & 0x200) {
  1449. *symbol = 183;
  1450. return 23;
  1451. } else {
  1452. *symbol = 182;
  1453. return 23;
  1454. }
  1455. node_1111111111111111111:
  1456. if (bits & 0x1000) {
  1457. goto node_11111111111111111111;
  1458. } else {
  1459. goto node_11111111111111111110;
  1460. }
  1461. node_11111111111111111110:
  1462. if (bits & 0x800) {
  1463. goto node_111111111111111111101;
  1464. } else {
  1465. goto node_111111111111111111100;
  1466. }
  1467. node_111111111111111111100:
  1468. if (bits & 0x400) {
  1469. goto node_1111111111111111111001;
  1470. } else {
  1471. goto node_1111111111111111111000;
  1472. }
  1473. node_1111111111111111111000:
  1474. if (bits & 0x200) {
  1475. *symbol = 191;
  1476. return 23;
  1477. } else {
  1478. *symbol = 188;
  1479. return 23;
  1480. }
  1481. node_1111111111111111111001:
  1482. if (bits & 0x200) {
  1483. *symbol = 231;
  1484. return 23;
  1485. } else {
  1486. *symbol = 197;
  1487. return 23;
  1488. }
  1489. node_111111111111111111101:
  1490. if (bits & 0x400) {
  1491. goto node_1111111111111111111011;
  1492. } else {
  1493. goto node_1111111111111111111010;
  1494. }
  1495. node_1111111111111111111010:
  1496. if (bits & 0x200) {
  1497. goto node_11111111111111111110101;
  1498. } else {
  1499. *symbol = 239;
  1500. return 23;
  1501. }
  1502. node_11111111111111111110101:
  1503. if (bits & 0x100) {
  1504. *symbol = 142;
  1505. return 24;
  1506. } else {
  1507. *symbol = 9;
  1508. return 24;
  1509. }
  1510. node_1111111111111111111011:
  1511. if (bits & 0x200) {
  1512. goto node_11111111111111111110111;
  1513. } else {
  1514. goto node_11111111111111111110110;
  1515. }
  1516. node_11111111111111111110110:
  1517. if (bits & 0x100) {
  1518. *symbol = 145;
  1519. return 24;
  1520. } else {
  1521. *symbol = 144;
  1522. return 24;
  1523. }
  1524. node_11111111111111111110111:
  1525. if (bits & 0x100) {
  1526. *symbol = 159;
  1527. return 24;
  1528. } else {
  1529. *symbol = 148;
  1530. return 24;
  1531. }
  1532. node_11111111111111111111:
  1533. if (bits & 0x800) {
  1534. goto node_111111111111111111111;
  1535. } else {
  1536. goto node_111111111111111111110;
  1537. }
  1538. node_111111111111111111110:
  1539. if (bits & 0x400) {
  1540. goto node_1111111111111111111101;
  1541. } else {
  1542. goto node_1111111111111111111100;
  1543. }
  1544. node_1111111111111111111100:
  1545. if (bits & 0x200) {
  1546. goto node_11111111111111111111001;
  1547. } else {
  1548. goto node_11111111111111111111000;
  1549. }
  1550. node_11111111111111111111000:
  1551. if (bits & 0x100) {
  1552. *symbol = 206;
  1553. return 24;
  1554. } else {
  1555. *symbol = 171;
  1556. return 24;
  1557. }
  1558. node_11111111111111111111001:
  1559. if (bits & 0x100) {
  1560. *symbol = 225;
  1561. return 24;
  1562. } else {
  1563. *symbol = 215;
  1564. return 24;
  1565. }
  1566. node_1111111111111111111101:
  1567. if (bits & 0x200) {
  1568. goto node_11111111111111111111011;
  1569. } else {
  1570. goto node_11111111111111111111010;
  1571. }
  1572. node_11111111111111111111010:
  1573. if (bits & 0x100) {
  1574. *symbol = 237;
  1575. return 24;
  1576. } else {
  1577. *symbol = 236;
  1578. return 24;
  1579. }
  1580. node_11111111111111111111011:
  1581. if (bits & 0x100) {
  1582. goto node_111111111111111111110111;
  1583. } else {
  1584. goto node_111111111111111111110110;
  1585. }
  1586. node_111111111111111111110110:
  1587. if (bits & 0x80) {
  1588. *symbol = 207;
  1589. return 25;
  1590. } else {
  1591. *symbol = 199;
  1592. return 25;
  1593. }
  1594. node_111111111111111111110111:
  1595. if (bits & 0x80) {
  1596. *symbol = 235;
  1597. return 25;
  1598. } else {
  1599. *symbol = 234;
  1600. return 25;
  1601. }
  1602. node_111111111111111111111:
  1603. if (bits & 0x400) {
  1604. goto node_1111111111111111111111;
  1605. } else {
  1606. goto node_1111111111111111111110;
  1607. }
  1608. node_1111111111111111111110:
  1609. if (bits & 0x200) {
  1610. goto node_11111111111111111111101;
  1611. } else {
  1612. goto node_11111111111111111111100;
  1613. }
  1614. node_11111111111111111111100:
  1615. if (bits & 0x100) {
  1616. goto node_111111111111111111111001;
  1617. } else {
  1618. goto node_111111111111111111111000;
  1619. }
  1620. node_111111111111111111111000:
  1621. if (bits & 0x80) {
  1622. goto node_1111111111111111111110001;
  1623. } else {
  1624. goto node_1111111111111111111110000;
  1625. }
  1626. node_1111111111111111111110000:
  1627. if (bits & 0x40) {
  1628. *symbol = 193;
  1629. return 26;
  1630. } else {
  1631. *symbol = 192;
  1632. return 26;
  1633. }
  1634. node_1111111111111111111110001:
  1635. if (bits & 0x40) {
  1636. *symbol = 201;
  1637. return 26;
  1638. } else {
  1639. *symbol = 200;
  1640. return 26;
  1641. }
  1642. node_111111111111111111111001:
  1643. if (bits & 0x80) {
  1644. goto node_1111111111111111111110011;
  1645. } else {
  1646. goto node_1111111111111111111110010;
  1647. }
  1648. node_1111111111111111111110010:
  1649. if (bits & 0x40) {
  1650. *symbol = 205;
  1651. return 26;
  1652. } else {
  1653. *symbol = 202;
  1654. return 26;
  1655. }
  1656. node_1111111111111111111110011:
  1657. if (bits & 0x40) {
  1658. *symbol = 213;
  1659. return 26;
  1660. } else {
  1661. *symbol = 210;
  1662. return 26;
  1663. }
  1664. node_11111111111111111111101:
  1665. if (bits & 0x100) {
  1666. goto node_111111111111111111111011;
  1667. } else {
  1668. goto node_111111111111111111111010;
  1669. }
  1670. node_111111111111111111111010:
  1671. if (bits & 0x80) {
  1672. goto node_1111111111111111111110101;
  1673. } else {
  1674. goto node_1111111111111111111110100;
  1675. }
  1676. node_1111111111111111111110100:
  1677. if (bits & 0x40) {
  1678. *symbol = 219;
  1679. return 26;
  1680. } else {
  1681. *symbol = 218;
  1682. return 26;
  1683. }
  1684. node_1111111111111111111110101:
  1685. if (bits & 0x40) {
  1686. *symbol = 240;
  1687. return 26;
  1688. } else {
  1689. *symbol = 238;
  1690. return 26;
  1691. }
  1692. node_111111111111111111111011:
  1693. if (bits & 0x80) {
  1694. goto node_1111111111111111111110111;
  1695. } else {
  1696. goto node_1111111111111111111110110;
  1697. }
  1698. node_1111111111111111111110110:
  1699. if (bits & 0x40) {
  1700. *symbol = 243;
  1701. return 26;
  1702. } else {
  1703. *symbol = 242;
  1704. return 26;
  1705. }
  1706. node_1111111111111111111110111:
  1707. if (bits & 0x40) {
  1708. goto node_11111111111111111111101111;
  1709. } else {
  1710. *symbol = 255;
  1711. return 26;
  1712. }
  1713. node_11111111111111111111101111:
  1714. if (bits & 0x20) {
  1715. *symbol = 204;
  1716. return 27;
  1717. } else {
  1718. *symbol = 203;
  1719. return 27;
  1720. }
  1721. node_1111111111111111111111:
  1722. if (bits & 0x200) {
  1723. goto node_11111111111111111111111;
  1724. } else {
  1725. goto node_11111111111111111111110;
  1726. }
  1727. node_11111111111111111111110:
  1728. if (bits & 0x100) {
  1729. goto node_111111111111111111111101;
  1730. } else {
  1731. goto node_111111111111111111111100;
  1732. }
  1733. node_111111111111111111111100:
  1734. if (bits & 0x80) {
  1735. goto node_1111111111111111111111001;
  1736. } else {
  1737. goto node_1111111111111111111111000;
  1738. }
  1739. node_1111111111111111111111000:
  1740. if (bits & 0x40) {
  1741. goto node_11111111111111111111110001;
  1742. } else {
  1743. goto node_11111111111111111111110000;
  1744. }
  1745. node_11111111111111111111110000:
  1746. if (bits & 0x20) {
  1747. *symbol = 212;
  1748. return 27;
  1749. } else {
  1750. *symbol = 211;
  1751. return 27;
  1752. }
  1753. node_11111111111111111111110001:
  1754. if (bits & 0x20) {
  1755. *symbol = 221;
  1756. return 27;
  1757. } else {
  1758. *symbol = 214;
  1759. return 27;
  1760. }
  1761. node_1111111111111111111111001:
  1762. if (bits & 0x40) {
  1763. goto node_11111111111111111111110011;
  1764. } else {
  1765. goto node_11111111111111111111110010;
  1766. }
  1767. node_11111111111111111111110010:
  1768. if (bits & 0x20) {
  1769. *symbol = 223;
  1770. return 27;
  1771. } else {
  1772. *symbol = 222;
  1773. return 27;
  1774. }
  1775. node_11111111111111111111110011:
  1776. if (bits & 0x20) {
  1777. *symbol = 244;
  1778. return 27;
  1779. } else {
  1780. *symbol = 241;
  1781. return 27;
  1782. }
  1783. node_111111111111111111111101:
  1784. if (bits & 0x80) {
  1785. goto node_1111111111111111111111011;
  1786. } else {
  1787. goto node_1111111111111111111111010;
  1788. }
  1789. node_1111111111111111111111010:
  1790. if (bits & 0x40) {
  1791. goto node_11111111111111111111110101;
  1792. } else {
  1793. goto node_11111111111111111111110100;
  1794. }
  1795. node_11111111111111111111110100:
  1796. if (bits & 0x20) {
  1797. *symbol = 246;
  1798. return 27;
  1799. } else {
  1800. *symbol = 245;
  1801. return 27;
  1802. }
  1803. node_11111111111111111111110101:
  1804. if (bits & 0x20) {
  1805. *symbol = 248;
  1806. return 27;
  1807. } else {
  1808. *symbol = 247;
  1809. return 27;
  1810. }
  1811. node_1111111111111111111111011:
  1812. if (bits & 0x40) {
  1813. goto node_11111111111111111111110111;
  1814. } else {
  1815. goto node_11111111111111111111110110;
  1816. }
  1817. node_11111111111111111111110110:
  1818. if (bits & 0x20) {
  1819. *symbol = 251;
  1820. return 27;
  1821. } else {
  1822. *symbol = 250;
  1823. return 27;
  1824. }
  1825. node_11111111111111111111110111:
  1826. if (bits & 0x20) {
  1827. *symbol = 253;
  1828. return 27;
  1829. } else {
  1830. *symbol = 252;
  1831. return 27;
  1832. }
  1833. node_11111111111111111111111:
  1834. if (bits & 0x100) {
  1835. goto node_111111111111111111111111;
  1836. } else {
  1837. goto node_111111111111111111111110;
  1838. }
  1839. node_111111111111111111111110:
  1840. if (bits & 0x80) {
  1841. goto node_1111111111111111111111101;
  1842. } else {
  1843. goto node_1111111111111111111111100;
  1844. }
  1845. node_1111111111111111111111100:
  1846. if (bits & 0x40) {
  1847. goto node_11111111111111111111111001;
  1848. } else {
  1849. goto node_11111111111111111111111000;
  1850. }
  1851. node_11111111111111111111111000:
  1852. if (bits & 0x20) {
  1853. goto node_111111111111111111111110001;
  1854. } else {
  1855. *symbol = 254;
  1856. return 27;
  1857. }
  1858. node_111111111111111111111110001:
  1859. if (bits & 0x10) {
  1860. *symbol = 3;
  1861. return 28;
  1862. } else {
  1863. *symbol = 2;
  1864. return 28;
  1865. }
  1866. node_11111111111111111111111001:
  1867. if (bits & 0x20) {
  1868. goto node_111111111111111111111110011;
  1869. } else {
  1870. goto node_111111111111111111111110010;
  1871. }
  1872. node_111111111111111111111110010:
  1873. if (bits & 0x10) {
  1874. *symbol = 5;
  1875. return 28;
  1876. } else {
  1877. *symbol = 4;
  1878. return 28;
  1879. }
  1880. node_111111111111111111111110011:
  1881. if (bits & 0x10) {
  1882. *symbol = 7;
  1883. return 28;
  1884. } else {
  1885. *symbol = 6;
  1886. return 28;
  1887. }
  1888. node_1111111111111111111111101:
  1889. if (bits & 0x40) {
  1890. goto node_11111111111111111111111011;
  1891. } else {
  1892. goto node_11111111111111111111111010;
  1893. }
  1894. node_11111111111111111111111010:
  1895. if (bits & 0x20) {
  1896. goto node_111111111111111111111110101;
  1897. } else {
  1898. goto node_111111111111111111111110100;
  1899. }
  1900. node_111111111111111111111110100:
  1901. if (bits & 0x10) {
  1902. *symbol = 11;
  1903. return 28;
  1904. } else {
  1905. *symbol = 8;
  1906. return 28;
  1907. }
  1908. node_111111111111111111111110101:
  1909. if (bits & 0x10) {
  1910. *symbol = 14;
  1911. return 28;
  1912. } else {
  1913. *symbol = 12;
  1914. return 28;
  1915. }
  1916. node_11111111111111111111111011:
  1917. if (bits & 0x20) {
  1918. goto node_111111111111111111111110111;
  1919. } else {
  1920. goto node_111111111111111111111110110;
  1921. }
  1922. node_111111111111111111111110110:
  1923. if (bits & 0x10) {
  1924. *symbol = 16;
  1925. return 28;
  1926. } else {
  1927. *symbol = 15;
  1928. return 28;
  1929. }
  1930. node_111111111111111111111110111:
  1931. if (bits & 0x10) {
  1932. *symbol = 18;
  1933. return 28;
  1934. } else {
  1935. *symbol = 17;
  1936. return 28;
  1937. }
  1938. node_111111111111111111111111:
  1939. if (bits & 0x80) {
  1940. goto node_1111111111111111111111111;
  1941. } else {
  1942. goto node_1111111111111111111111110;
  1943. }
  1944. node_1111111111111111111111110:
  1945. if (bits & 0x40) {
  1946. goto node_11111111111111111111111101;
  1947. } else {
  1948. goto node_11111111111111111111111100;
  1949. }
  1950. node_11111111111111111111111100:
  1951. if (bits & 0x20) {
  1952. goto node_111111111111111111111111001;
  1953. } else {
  1954. goto node_111111111111111111111111000;
  1955. }
  1956. node_111111111111111111111111000:
  1957. if (bits & 0x10) {
  1958. *symbol = 20;
  1959. return 28;
  1960. } else {
  1961. *symbol = 19;
  1962. return 28;
  1963. }
  1964. node_111111111111111111111111001:
  1965. if (bits & 0x10) {
  1966. *symbol = 23;
  1967. return 28;
  1968. } else {
  1969. *symbol = 21;
  1970. return 28;
  1971. }
  1972. node_11111111111111111111111101:
  1973. if (bits & 0x20) {
  1974. goto node_111111111111111111111111011;
  1975. } else {
  1976. goto node_111111111111111111111111010;
  1977. }
  1978. node_111111111111111111111111010:
  1979. if (bits & 0x10) {
  1980. *symbol = 25;
  1981. return 28;
  1982. } else {
  1983. *symbol = 24;
  1984. return 28;
  1985. }
  1986. node_111111111111111111111111011:
  1987. if (bits & 0x10) {
  1988. *symbol = 27;
  1989. return 28;
  1990. } else {
  1991. *symbol = 26;
  1992. return 28;
  1993. }
  1994. node_1111111111111111111111111:
  1995. if (bits & 0x40) {
  1996. goto node_11111111111111111111111111;
  1997. } else {
  1998. goto node_11111111111111111111111110;
  1999. }
  2000. node_11111111111111111111111110:
  2001. if (bits & 0x20) {
  2002. goto node_111111111111111111111111101;
  2003. } else {
  2004. goto node_111111111111111111111111100;
  2005. }
  2006. node_111111111111111111111111100:
  2007. if (bits & 0x10) {
  2008. *symbol = 29;
  2009. return 28;
  2010. } else {
  2011. *symbol = 28;
  2012. return 28;
  2013. }
  2014. node_111111111111111111111111101:
  2015. if (bits & 0x10) {
  2016. *symbol = 31;
  2017. return 28;
  2018. } else {
  2019. *symbol = 30;
  2020. return 28;
  2021. }
  2022. node_11111111111111111111111111:
  2023. if (bits & 0x20) {
  2024. goto node_111111111111111111111111111;
  2025. } else {
  2026. goto node_111111111111111111111111110;
  2027. }
  2028. node_111111111111111111111111110:
  2029. if (bits & 0x10) {
  2030. *symbol = 220;
  2031. return 28;
  2032. } else {
  2033. *symbol = 127;
  2034. return 28;
  2035. }
  2036. node_111111111111111111111111111:
  2037. if (bits & 0x10) {
  2038. goto node_1111111111111111111111111111;
  2039. } else {
  2040. *symbol = 249;
  2041. return 28;
  2042. }
  2043. node_1111111111111111111111111111:
  2044. if (bits & 0x8) {
  2045. goto node_11111111111111111111111111111;
  2046. } else {
  2047. goto node_11111111111111111111111111110;
  2048. }
  2049. node_11111111111111111111111111110:
  2050. if (bits & 0x4) {
  2051. *symbol = 13;
  2052. return 30;
  2053. } else {
  2054. *symbol = 10;
  2055. return 30;
  2056. }
  2057. node_11111111111111111111111111111:
  2058. if (bits & 0x4) {
  2059. return 0; /* invalid node */
  2060. } else {
  2061. *symbol = 22;
  2062. return 30;
  2063. }
  2064. }
  2065. struct aws_huffman_symbol_coder *hpack_get_coder(void) {
  2066. static struct aws_huffman_symbol_coder coder = {
  2067. .encode = encode_symbol,
  2068. .decode = decode_symbol,
  2069. .userdata = NULL,
  2070. };
  2071. return &coder;
  2072. }