tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

hb-buffer-deserialize-json.hh (20147B)


      1 #line 1 "hb-buffer-deserialize-json.rl"
      2 /*
      3 * Copyright © 2013  Google, Inc.
      4 *
      5 *  This is part of HarfBuzz, a text shaping library.
      6 *
      7 * Permission is hereby granted, without written agreement and without
      8 * license or royalty fees, to use, copy, modify, and distribute this
      9 * software and its documentation for any purpose, provided that the
     10 * above copyright notice and the following two paragraphs appear in
     11 * all copies of this software.
     12 *
     13 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
     14 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
     15 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
     16 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
     17 * DAMAGE.
     18 *
     19 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
     20 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
     21 * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
     22 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
     23 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
     24 *
     25 * Google Author(s): Behdad Esfahbod
     26 */
     27 
     28 #ifndef HB_BUFFER_DESERIALIZE_JSON_HH
     29 #define HB_BUFFER_DESERIALIZE_JSON_HH
     30 
     31 #include "hb.hh"
     32 
     33 
     34 #line 33 "hb-buffer-deserialize-json.hh"
     35 static const unsigned char _deserialize_json_trans_keys[] = {
     36 0u, 0u, 9u, 34u, 97u, 121u, 120u, 121u, 34u, 34u, 9u, 58u, 9u, 57u, 48u, 57u, 
     37 9u, 125u, 9u, 125u, 9u, 93u, 9u, 125u, 34u, 34u, 9u, 58u, 9u, 57u, 48u, 57u, 
     38 9u, 125u, 9u, 125u, 108u, 108u, 34u, 34u, 9u, 58u, 9u, 57u, 9u, 125u, 9u, 125u, 
     39 120u, 121u, 34u, 34u, 9u, 58u, 9u, 57u, 48u, 57u, 9u, 125u, 9u, 125u, 34u, 34u, 
     40 9u, 58u, 9u, 57u, 48u, 57u, 9u, 125u, 9u, 125u, 108u, 108u, 34u, 34u, 9u, 58u, 
     41 9u, 57u, 9u, 125u, 9u, 125u, 34u, 34u, 9u, 58u, 9u, 57u, 34u, 92u, 9u, 125u, 
     42 34u, 92u, 9u, 125u, 9u, 125u, 34u, 34u, 9u, 58u, 9u, 57u, 48u, 57u, 9u, 125u, 
     43 34u, 34u, 9u, 58u, 9u, 57u, 9u, 125u, 98u, 98u, 9u, 123u, 9u, 123u, 9u, 123u, 
     44 0
     45 };
     46 
     47 static const char _deserialize_json_key_spans[] = {
     48 0, 26, 25, 2, 1, 50, 49, 10, 
     49 117, 117, 85, 117, 1, 50, 49, 10, 
     50 117, 117, 1, 1, 50, 49, 117, 117, 
     51 2, 1, 50, 49, 10, 117, 117, 1, 
     52 50, 49, 10, 117, 117, 1, 1, 50, 
     53 49, 117, 117, 1, 50, 49, 59, 117, 
     54 59, 117, 117, 1, 50, 49, 10, 117, 
     55 1, 50, 49, 117, 1, 115, 115, 115
     56 };
     57 
     58 static const short _deserialize_json_index_offsets[] = {
     59 0, 0, 27, 53, 56, 58, 109, 159, 
     60 170, 288, 406, 492, 610, 612, 663, 713, 
     61 724, 842, 960, 962, 964, 1015, 1065, 1183, 
     62 1301, 1304, 1306, 1357, 1407, 1418, 1536, 1654, 
     63 1656, 1707, 1757, 1768, 1886, 2004, 2006, 2008, 
     64 2059, 2109, 2227, 2345, 2347, 2398, 2448, 2508, 
     65 2626, 2686, 2804, 2922, 2924, 2975, 3025, 3036, 
     66 3154, 3156, 3207, 3257, 3375, 3377, 3493, 3609
     67 };
     68 
     69 static const char _deserialize_json_indicies[] = {
     70 0, 0, 0, 0, 0, 1, 1, 
     71 1, 1, 1, 1, 1, 1, 1, 1, 
     72 1, 1, 1, 1, 1, 1, 1, 1, 
     73 0, 1, 2, 1, 3, 1, 4, 5, 
     74 1, 6, 7, 8, 1, 1, 1, 1, 
     75 1, 1, 1, 1, 1, 1, 1, 1, 
     76 9, 1, 8, 10, 10, 1, 11, 12, 
     77 1, 13, 1, 13, 13, 13, 13, 13, 
     78 1, 1, 1, 1, 1, 1, 1, 1, 
     79 1, 1, 1, 1, 1, 1, 1, 1, 
     80 1, 1, 13, 1, 1, 1, 1, 1, 
     81 1, 1, 1, 1, 1, 1, 1, 1, 
     82 1, 1, 1, 1, 1, 1, 1, 1, 
     83 1, 1, 1, 1, 14, 1, 14, 14, 
     84 14, 14, 14, 1, 1, 1, 1, 1, 
     85 1, 1, 1, 1, 1, 1, 1, 1, 
     86 1, 1, 1, 1, 1, 14, 1, 1, 
     87 1, 1, 1, 1, 1, 1, 1, 1, 
     88 1, 1, 15, 1, 1, 16, 17, 17, 
     89 17, 17, 17, 17, 17, 17, 17, 1, 
     90 18, 19, 19, 19, 19, 19, 19, 19, 
     91 19, 19, 1, 20, 20, 20, 20, 20, 
     92 1, 1, 1, 1, 1, 1, 1, 1, 
     93 1, 1, 1, 1, 1, 1, 1, 1, 
     94 1, 1, 20, 1, 1, 1, 1, 1, 
     95 1, 1, 1, 1, 1, 1, 21, 1, 
     96 1, 1, 1, 1, 1, 1, 1, 1, 
     97 1, 1, 1, 1, 1, 1, 1, 1, 
     98 1, 1, 1, 1, 1, 1, 1, 1, 
     99 1, 1, 1, 1, 1, 1, 1, 1, 
    100 1, 1, 1, 1, 1, 1, 1, 1, 
    101 1, 1, 1, 1, 1, 1, 1, 1, 
    102 1, 1, 1, 1, 1, 1, 1, 1, 
    103 1, 1, 1, 1, 1, 1, 1, 1, 
    104 1, 1, 1, 1, 1, 1, 1, 1, 
    105 1, 1, 1, 1, 1, 1, 1, 22, 
    106 1, 23, 23, 23, 23, 23, 1, 1, 
    107 1, 1, 1, 1, 1, 1, 1, 1, 
    108 1, 1, 1, 1, 1, 1, 1, 1, 
    109 23, 1, 1, 1, 1, 1, 1, 1, 
    110 1, 1, 1, 1, 0, 1, 1, 1, 
    111 1, 1, 1, 1, 1, 1, 1, 1, 
    112 1, 1, 1, 1, 1, 1, 1, 1, 
    113 1, 1, 1, 1, 1, 1, 1, 1, 
    114 1, 1, 1, 1, 1, 1, 1, 1, 
    115 1, 1, 1, 1, 1, 1, 1, 1, 
    116 1, 1, 1, 1, 1, 1, 1, 1, 
    117 1, 1, 1, 1, 1, 1, 1, 1, 
    118 1, 1, 1, 1, 1, 1, 1, 1, 
    119 1, 1, 1, 1, 1, 1, 1, 1, 
    120 1, 1, 1, 1, 1, 24, 1, 24, 
    121 24, 24, 24, 24, 1, 1, 1, 1, 
    122 1, 1, 1, 1, 1, 1, 1, 1, 
    123 1, 1, 1, 1, 1, 1, 24, 1, 
    124 1, 1, 1, 1, 1, 1, 1, 1, 
    125 1, 1, 25, 1, 1, 1, 1, 1, 
    126 1, 1, 1, 1, 1, 1, 1, 1, 
    127 1, 1, 1, 1, 1, 1, 1, 1, 
    128 1, 1, 1, 1, 1, 1, 1, 1, 
    129 1, 1, 1, 1, 1, 1, 1, 1, 
    130 1, 1, 1, 1, 1, 1, 1, 1, 
    131 1, 1, 1, 25, 1, 20, 20, 20, 
    132 20, 20, 1, 1, 1, 1, 1, 1, 
    133 1, 1, 1, 1, 1, 1, 1, 1, 
    134 1, 1, 1, 1, 20, 1, 1, 1, 
    135 1, 1, 1, 1, 1, 1, 1, 1, 
    136 21, 1, 1, 1, 19, 19, 19, 19, 
    137 19, 19, 19, 19, 19, 19, 1, 1, 
    138 1, 1, 1, 1, 1, 1, 1, 1, 
    139 1, 1, 1, 1, 1, 1, 1, 1, 
    140 1, 1, 1, 1, 1, 1, 1, 1, 
    141 1, 1, 1, 1, 1, 1, 1, 1, 
    142 1, 1, 1, 1, 1, 1, 1, 1, 
    143 1, 1, 1, 1, 1, 1, 1, 1, 
    144 1, 1, 1, 1, 1, 1, 1, 1, 
    145 1, 1, 1, 1, 1, 1, 1, 1, 
    146 1, 22, 1, 26, 1, 26, 26, 26, 
    147 26, 26, 1, 1, 1, 1, 1, 1, 
    148 1, 1, 1, 1, 1, 1, 1, 1, 
    149 1, 1, 1, 1, 26, 1, 1, 1, 
    150 1, 1, 1, 1, 1, 1, 1, 1, 
    151 1, 1, 1, 1, 1, 1, 1, 1, 
    152 1, 1, 1, 1, 1, 1, 27, 1, 
    153 27, 27, 27, 27, 27, 1, 1, 1, 
    154 1, 1, 1, 1, 1, 1, 1, 1, 
    155 1, 1, 1, 1, 1, 1, 1, 27, 
    156 1, 1, 1, 1, 1, 1, 1, 1, 
    157 1, 1, 1, 1, 28, 1, 1, 29, 
    158 30, 30, 30, 30, 30, 30, 30, 30, 
    159 30, 1, 31, 32, 32, 32, 32, 32, 
    160 32, 32, 32, 32, 1, 33, 33, 33, 
    161 33, 33, 1, 1, 1, 1, 1, 1, 
    162 1, 1, 1, 1, 1, 1, 1, 1, 
    163 1, 1, 1, 1, 33, 1, 1, 1, 
    164 1, 1, 1, 1, 1, 1, 1, 1, 
    165 34, 1, 1, 1, 1, 1, 1, 1, 
    166 1, 1, 1, 1, 1, 1, 1, 1, 
    167 1, 1, 1, 1, 1, 1, 1, 1, 
    168 1, 1, 1, 1, 1, 1, 1, 1, 
    169 1, 1, 1, 1, 1, 1, 1, 1, 
    170 1, 1, 1, 1, 1, 1, 1, 1, 
    171 1, 1, 1, 1, 1, 1, 1, 1, 
    172 1, 1, 1, 1, 1, 1, 1, 1, 
    173 1, 1, 1, 1, 1, 1, 1, 1, 
    174 1, 1, 1, 1, 1, 1, 1, 1, 
    175 1, 35, 1, 33, 33, 33, 33, 33, 
    176 1, 1, 1, 1, 1, 1, 1, 1, 
    177 1, 1, 1, 1, 1, 1, 1, 1, 
    178 1, 1, 33, 1, 1, 1, 1, 1, 
    179 1, 1, 1, 1, 1, 1, 34, 1, 
    180 1, 1, 32, 32, 32, 32, 32, 32, 
    181 32, 32, 32, 32, 1, 1, 1, 1, 
    182 1, 1, 1, 1, 1, 1, 1, 1, 
    183 1, 1, 1, 1, 1, 1, 1, 1, 
    184 1, 1, 1, 1, 1, 1, 1, 1, 
    185 1, 1, 1, 1, 1, 1, 1, 1, 
    186 1, 1, 1, 1, 1, 1, 1, 1, 
    187 1, 1, 1, 1, 1, 1, 1, 1, 
    188 1, 1, 1, 1, 1, 1, 1, 1, 
    189 1, 1, 1, 1, 1, 1, 1, 35, 
    190 1, 36, 1, 37, 1, 37, 37, 37, 
    191 37, 37, 1, 1, 1, 1, 1, 1, 
    192 1, 1, 1, 1, 1, 1, 1, 1, 
    193 1, 1, 1, 1, 37, 1, 1, 1, 
    194 1, 1, 1, 1, 1, 1, 1, 1, 
    195 1, 1, 1, 1, 1, 1, 1, 1, 
    196 1, 1, 1, 1, 1, 1, 38, 1, 
    197 38, 38, 38, 38, 38, 1, 1, 1, 
    198 1, 1, 1, 1, 1, 1, 1, 1, 
    199 1, 1, 1, 1, 1, 1, 1, 38, 
    200 1, 1, 1, 1, 1, 1, 1, 1, 
    201 1, 1, 1, 1, 1, 1, 1, 39, 
    202 40, 40, 40, 40, 40, 40, 40, 40, 
    203 40, 1, 41, 41, 41, 41, 41, 1, 
    204 1, 1, 1, 1, 1, 1, 1, 1, 
    205 1, 1, 1, 1, 1, 1, 1, 1, 
    206 1, 41, 1, 1, 1, 1, 1, 1, 
    207 1, 1, 1, 1, 1, 42, 1, 1, 
    208 1, 1, 1, 1, 1, 1, 1, 1, 
    209 1, 1, 1, 1, 1, 1, 1, 1, 
    210 1, 1, 1, 1, 1, 1, 1, 1, 
    211 1, 1, 1, 1, 1, 1, 1, 1, 
    212 1, 1, 1, 1, 1, 1, 1, 1, 
    213 1, 1, 1, 1, 1, 1, 1, 1, 
    214 1, 1, 1, 1, 1, 1, 1, 1, 
    215 1, 1, 1, 1, 1, 1, 1, 1, 
    216 1, 1, 1, 1, 1, 1, 1, 1, 
    217 1, 1, 1, 1, 1, 1, 43, 1, 
    218 41, 41, 41, 41, 41, 1, 1, 1, 
    219 1, 1, 1, 1, 1, 1, 1, 1, 
    220 1, 1, 1, 1, 1, 1, 1, 41, 
    221 1, 1, 1, 1, 1, 1, 1, 1, 
    222 1, 1, 1, 42, 1, 1, 1, 44, 
    223 44, 44, 44, 44, 44, 44, 44, 44, 
    224 44, 1, 1, 1, 1, 1, 1, 1, 
    225 1, 1, 1, 1, 1, 1, 1, 1, 
    226 1, 1, 1, 1, 1, 1, 1, 1, 
    227 1, 1, 1, 1, 1, 1, 1, 1, 
    228 1, 1, 1, 1, 1, 1, 1, 1, 
    229 1, 1, 1, 1, 1, 1, 1, 1, 
    230 1, 1, 1, 1, 1, 1, 1, 1, 
    231 1, 1, 1, 1, 1, 1, 1, 1, 
    232 1, 1, 1, 1, 43, 1, 45, 46, 
    233 1, 47, 1, 47, 47, 47, 47, 47, 
    234 1, 1, 1, 1, 1, 1, 1, 1, 
    235 1, 1, 1, 1, 1, 1, 1, 1, 
    236 1, 1, 47, 1, 1, 1, 1, 1, 
    237 1, 1, 1, 1, 1, 1, 1, 1, 
    238 1, 1, 1, 1, 1, 1, 1, 1, 
    239 1, 1, 1, 1, 48, 1, 48, 48, 
    240 48, 48, 48, 1, 1, 1, 1, 1, 
    241 1, 1, 1, 1, 1, 1, 1, 1, 
    242 1, 1, 1, 1, 1, 48, 1, 1, 
    243 1, 1, 1, 1, 1, 1, 1, 1, 
    244 1, 1, 49, 1, 1, 50, 51, 51, 
    245 51, 51, 51, 51, 51, 51, 51, 1, 
    246 52, 53, 53, 53, 53, 53, 53, 53, 
    247 53, 53, 1, 54, 54, 54, 54, 54, 
    248 1, 1, 1, 1, 1, 1, 1, 1, 
    249 1, 1, 1, 1, 1, 1, 1, 1, 
    250 1, 1, 54, 1, 1, 1, 1, 1, 
    251 1, 1, 1, 1, 1, 1, 55, 1, 
    252 1, 1, 1, 1, 1, 1, 1, 1, 
    253 1, 1, 1, 1, 1, 1, 1, 1, 
    254 1, 1, 1, 1, 1, 1, 1, 1, 
    255 1, 1, 1, 1, 1, 1, 1, 1, 
    256 1, 1, 1, 1, 1, 1, 1, 1, 
    257 1, 1, 1, 1, 1, 1, 1, 1, 
    258 1, 1, 1, 1, 1, 1, 1, 1, 
    259 1, 1, 1, 1, 1, 1, 1, 1, 
    260 1, 1, 1, 1, 1, 1, 1, 1, 
    261 1, 1, 1, 1, 1, 1, 1, 56, 
    262 1, 54, 54, 54, 54, 54, 1, 1, 
    263 1, 1, 1, 1, 1, 1, 1, 1, 
    264 1, 1, 1, 1, 1, 1, 1, 1, 
    265 54, 1, 1, 1, 1, 1, 1, 1, 
    266 1, 1, 1, 1, 55, 1, 1, 1, 
    267 53, 53, 53, 53, 53, 53, 53, 53, 
    268 53, 53, 1, 1, 1, 1, 1, 1, 
    269 1, 1, 1, 1, 1, 1, 1, 1, 
    270 1, 1, 1, 1, 1, 1, 1, 1, 
    271 1, 1, 1, 1, 1, 1, 1, 1, 
    272 1, 1, 1, 1, 1, 1, 1, 1, 
    273 1, 1, 1, 1, 1, 1, 1, 1, 
    274 1, 1, 1, 1, 1, 1, 1, 1, 
    275 1, 1, 1, 1, 1, 1, 1, 1, 
    276 1, 1, 1, 1, 1, 56, 1, 57, 
    277 1, 57, 57, 57, 57, 57, 1, 1, 
    278 1, 1, 1, 1, 1, 1, 1, 1, 
    279 1, 1, 1, 1, 1, 1, 1, 1, 
    280 57, 1, 1, 1, 1, 1, 1, 1, 
    281 1, 1, 1, 1, 1, 1, 1, 1, 
    282 1, 1, 1, 1, 1, 1, 1, 1, 
    283 1, 1, 58, 1, 58, 58, 58, 58, 
    284 58, 1, 1, 1, 1, 1, 1, 1, 
    285 1, 1, 1, 1, 1, 1, 1, 1, 
    286 1, 1, 1, 58, 1, 1, 1, 1, 
    287 1, 1, 1, 1, 1, 1, 1, 1, 
    288 59, 1, 1, 60, 61, 61, 61, 61, 
    289 61, 61, 61, 61, 61, 1, 62, 63, 
    290 63, 63, 63, 63, 63, 63, 63, 63, 
    291 1, 64, 64, 64, 64, 64, 1, 1, 
    292 1, 1, 1, 1, 1, 1, 1, 1, 
    293 1, 1, 1, 1, 1, 1, 1, 1, 
    294 64, 1, 1, 1, 1, 1, 1, 1, 
    295 1, 1, 1, 1, 65, 1, 1, 1, 
    296 1, 1, 1, 1, 1, 1, 1, 1, 
    297 1, 1, 1, 1, 1, 1, 1, 1, 
    298 1, 1, 1, 1, 1, 1, 1, 1, 
    299 1, 1, 1, 1, 1, 1, 1, 1, 
    300 1, 1, 1, 1, 1, 1, 1, 1, 
    301 1, 1, 1, 1, 1, 1, 1, 1, 
    302 1, 1, 1, 1, 1, 1, 1, 1, 
    303 1, 1, 1, 1, 1, 1, 1, 1, 
    304 1, 1, 1, 1, 1, 1, 1, 1, 
    305 1, 1, 1, 1, 1, 66, 1, 64, 
    306 64, 64, 64, 64, 1, 1, 1, 1, 
    307 1, 1, 1, 1, 1, 1, 1, 1, 
    308 1, 1, 1, 1, 1, 1, 64, 1, 
    309 1, 1, 1, 1, 1, 1, 1, 1, 
    310 1, 1, 65, 1, 1, 1, 63, 63, 
    311 63, 63, 63, 63, 63, 63, 63, 63, 
    312 1, 1, 1, 1, 1, 1, 1, 1, 
    313 1, 1, 1, 1, 1, 1, 1, 1, 
    314 1, 1, 1, 1, 1, 1, 1, 1, 
    315 1, 1, 1, 1, 1, 1, 1, 1, 
    316 1, 1, 1, 1, 1, 1, 1, 1, 
    317 1, 1, 1, 1, 1, 1, 1, 1, 
    318 1, 1, 1, 1, 1, 1, 1, 1, 
    319 1, 1, 1, 1, 1, 1, 1, 1, 
    320 1, 1, 1, 66, 1, 67, 1, 68, 
    321 1, 68, 68, 68, 68, 68, 1, 1, 
    322 1, 1, 1, 1, 1, 1, 1, 1, 
    323 1, 1, 1, 1, 1, 1, 1, 1, 
    324 68, 1, 1, 1, 1, 1, 1, 1, 
    325 1, 1, 1, 1, 1, 1, 1, 1, 
    326 1, 1, 1, 1, 1, 1, 1, 1, 
    327 1, 1, 69, 1, 69, 69, 69, 69, 
    328 69, 1, 1, 1, 1, 1, 1, 1, 
    329 1, 1, 1, 1, 1, 1, 1, 1, 
    330 1, 1, 1, 69, 1, 1, 1, 1, 
    331 1, 1, 1, 1, 1, 1, 1, 1, 
    332 1, 1, 1, 70, 71, 71, 71, 71, 
    333 71, 71, 71, 71, 71, 1, 72, 72, 
    334 72, 72, 72, 1, 1, 1, 1, 1, 
    335 1, 1, 1, 1, 1, 1, 1, 1, 
    336 1, 1, 1, 1, 1, 72, 1, 1, 
    337 1, 1, 1, 1, 1, 1, 1, 1, 
    338 1, 73, 1, 1, 1, 1, 1, 1, 
    339 1, 1, 1, 1, 1, 1, 1, 1, 
    340 1, 1, 1, 1, 1, 1, 1, 1, 
    341 1, 1, 1, 1, 1, 1, 1, 1, 
    342 1, 1, 1, 1, 1, 1, 1, 1, 
    343 1, 1, 1, 1, 1, 1, 1, 1, 
    344 1, 1, 1, 1, 1, 1, 1, 1, 
    345 1, 1, 1, 1, 1, 1, 1, 1, 
    346 1, 1, 1, 1, 1, 1, 1, 1, 
    347 1, 1, 1, 1, 1, 1, 1, 1, 
    348 1, 1, 74, 1, 72, 72, 72, 72, 
    349 72, 1, 1, 1, 1, 1, 1, 1, 
    350 1, 1, 1, 1, 1, 1, 1, 1, 
    351 1, 1, 1, 72, 1, 1, 1, 1, 
    352 1, 1, 1, 1, 1, 1, 1, 73, 
    353 1, 1, 1, 75, 75, 75, 75, 75, 
    354 75, 75, 75, 75, 75, 1, 1, 1, 
    355 1, 1, 1, 1, 1, 1, 1, 1, 
    356 1, 1, 1, 1, 1, 1, 1, 1, 
    357 1, 1, 1, 1, 1, 1, 1, 1, 
    358 1, 1, 1, 1, 1, 1, 1, 1, 
    359 1, 1, 1, 1, 1, 1, 1, 1, 
    360 1, 1, 1, 1, 1, 1, 1, 1, 
    361 1, 1, 1, 1, 1, 1, 1, 1, 
    362 1, 1, 1, 1, 1, 1, 1, 1, 
    363 74, 1, 76, 1, 76, 76, 76, 76, 
    364 76, 1, 1, 1, 1, 1, 1, 1, 
    365 1, 1, 1, 1, 1, 1, 1, 1, 
    366 1, 1, 1, 76, 1, 1, 1, 1, 
    367 1, 1, 1, 1, 1, 1, 1, 1, 
    368 1, 1, 1, 1, 1, 1, 1, 1, 
    369 1, 1, 1, 1, 1, 77, 1, 77, 
    370 77, 77, 77, 77, 1, 1, 1, 1, 
    371 1, 1, 1, 1, 1, 1, 1, 1, 
    372 1, 1, 1, 1, 1, 1, 77, 1, 
    373 78, 1, 1, 1, 1, 1, 1, 1, 
    374 1, 1, 1, 1, 1, 1, 79, 80, 
    375 80, 80, 80, 80, 80, 80, 80, 80, 
    376 1, 82, 81, 81, 81, 81, 81, 81, 
    377 81, 81, 81, 81, 81, 81, 81, 81, 
    378 81, 81, 81, 81, 81, 81, 81, 81, 
    379 81, 81, 81, 81, 81, 81, 81, 81, 
    380 81, 81, 81, 81, 81, 81, 81, 81, 
    381 81, 81, 81, 81, 81, 81, 81, 81, 
    382 81, 81, 81, 81, 81, 81, 81, 81, 
    383 81, 81, 81, 83, 81, 84, 84, 84, 
    384 84, 84, 1, 1, 1, 1, 1, 1, 
    385 1, 1, 1, 1, 1, 1, 1, 1, 
    386 1, 1, 1, 1, 84, 1, 1, 1, 
    387 1, 1, 1, 1, 1, 1, 1, 1, 
    388 85, 1, 1, 1, 1, 1, 1, 1, 
    389 1, 1, 1, 1, 1, 1, 1, 1, 
    390 1, 1, 1, 1, 1, 1, 1, 1, 
    391 1, 1, 1, 1, 1, 1, 1, 1, 
    392 1, 1, 1, 1, 1, 1, 1, 1, 
    393 1, 1, 1, 1, 1, 1, 1, 1, 
    394 1, 1, 1, 1, 1, 1, 1, 1, 
    395 1, 1, 1, 1, 1, 1, 1, 1, 
    396 1, 1, 1, 1, 1, 1, 1, 1, 
    397 1, 1, 1, 1, 1, 1, 1, 1, 
    398 1, 86, 1, 81, 1, 1, 1, 1, 
    399 1, 1, 1, 1, 1, 1, 1, 1, 
    400 1, 1, 1, 1, 1, 1, 1, 1, 
    401 1, 1, 1, 1, 1, 1, 1, 1, 
    402 1, 1, 1, 1, 1, 1, 1, 1, 
    403 1, 1, 1, 1, 1, 1, 1, 1, 
    404 1, 1, 1, 1, 1, 1, 1, 1, 
    405 1, 1, 1, 1, 1, 81, 1, 87, 
    406 87, 87, 87, 87, 1, 1, 1, 1, 
    407 1, 1, 1, 1, 1, 1, 1, 1, 
    408 1, 1, 1, 1, 1, 1, 87, 1, 
    409 1, 1, 1, 1, 1, 1, 1, 1, 
    410 1, 1, 88, 1, 1, 1, 1, 1, 
    411 1, 1, 1, 1, 1, 1, 1, 1, 
    412 1, 1, 1, 1, 1, 1, 1, 1, 
    413 1, 1, 1, 1, 1, 1, 1, 1, 
    414 1, 1, 1, 1, 1, 1, 1, 1, 
    415 1, 1, 1, 1, 1, 1, 1, 1, 
    416 1, 1, 1, 1, 1, 1, 1, 1, 
    417 1, 1, 1, 1, 1, 1, 1, 1, 
    418 1, 1, 1, 1, 1, 1, 1, 1, 
    419 1, 1, 1, 1, 1, 1, 1, 1, 
    420 1, 1, 1, 89, 1, 87, 87, 87, 
    421 87, 87, 1, 1, 1, 1, 1, 1, 
    422 1, 1, 1, 1, 1, 1, 1, 1, 
    423 1, 1, 1, 1, 87, 1, 1, 1, 
    424 1, 1, 1, 1, 1, 1, 1, 1, 
    425 88, 1, 1, 1, 90, 90, 90, 90, 
    426 90, 90, 90, 90, 90, 90, 1, 1, 
    427 1, 1, 1, 1, 1, 1, 1, 1, 
    428 1, 1, 1, 1, 1, 1, 1, 1, 
    429 1, 1, 1, 1, 1, 1, 1, 1, 
    430 1, 1, 1, 1, 1, 1, 1, 1, 
    431 1, 1, 1, 1, 1, 1, 1, 1, 
    432 1, 1, 1, 1, 1, 1, 1, 1, 
    433 1, 1, 1, 1, 1, 1, 1, 1, 
    434 1, 1, 1, 1, 1, 1, 1, 1, 
    435 1, 89, 1, 91, 1, 91, 91, 91, 
    436 91, 91, 1, 1, 1, 1, 1, 1, 
    437 1, 1, 1, 1, 1, 1, 1, 1, 
    438 1, 1, 1, 1, 91, 1, 1, 1, 
    439 1, 1, 1, 1, 1, 1, 1, 1, 
    440 1, 1, 1, 1, 1, 1, 1, 1, 
    441 1, 1, 1, 1, 1, 1, 92, 1, 
    442 92, 92, 92, 92, 92, 1, 1, 1, 
    443 1, 1, 1, 1, 1, 1, 1, 1, 
    444 1, 1, 1, 1, 1, 1, 1, 92, 
    445 1, 1, 1, 1, 1, 1, 1, 1, 
    446 1, 1, 1, 1, 93, 1, 1, 94, 
    447 95, 95, 95, 95, 95, 95, 95, 95, 
    448 95, 1, 23, 96, 96, 96, 96, 96, 
    449 96, 96, 96, 96, 1, 23, 23, 23, 
    450 23, 23, 1, 1, 1, 1, 1, 1, 
    451 1, 1, 1, 1, 1, 1, 1, 1, 
    452 1, 1, 1, 1, 23, 1, 1, 1, 
    453 1, 1, 1, 1, 1, 1, 1, 1, 
    454 0, 1, 1, 1, 96, 96, 96, 96, 
    455 96, 96, 96, 96, 96, 96, 1, 1, 
    456 1, 1, 1, 1, 1, 1, 1, 1, 
    457 1, 1, 1, 1, 1, 1, 1, 1, 
    458 1, 1, 1, 1, 1, 1, 1, 1, 
    459 1, 1, 1, 1, 1, 1, 1, 1, 
    460 1, 1, 1, 1, 1, 1, 1, 1, 
    461 1, 1, 1, 1, 1, 1, 1, 1, 
    462 1, 1, 1, 1, 1, 1, 1, 1, 
    463 1, 1, 1, 1, 1, 1, 1, 1, 
    464 1, 24, 1, 97, 1, 97, 97, 97, 
    465 97, 97, 1, 1, 1, 1, 1, 1, 
    466 1, 1, 1, 1, 1, 1, 1, 1, 
    467 1, 1, 1, 1, 97, 1, 1, 1, 
    468 1, 1, 1, 1, 1, 1, 1, 1, 
    469 1, 1, 1, 1, 1, 1, 1, 1, 
    470 1, 1, 1, 1, 1, 1, 98, 1, 
    471 98, 98, 98, 98, 98, 1, 1, 1, 
    472 1, 1, 1, 1, 1, 1, 1, 1, 
    473 1, 1, 1, 1, 1, 1, 1, 98, 
    474 1, 1, 1, 1, 1, 1, 1, 1, 
    475 1, 1, 1, 1, 1, 1, 1, 99, 
    476 100, 100, 100, 100, 100, 100, 100, 100, 
    477 100, 1, 87, 87, 87, 87, 87, 1, 
    478 1, 1, 1, 1, 1, 1, 1, 1, 
    479 1, 1, 1, 1, 1, 1, 1, 1, 
    480 1, 87, 1, 1, 1, 1, 1, 1, 
    481 1, 1, 1, 1, 1, 88, 1, 1, 
    482 1, 101, 101, 101, 101, 101, 101, 101, 
    483 101, 101, 101, 1, 1, 1, 1, 1, 
    484 1, 1, 1, 1, 1, 1, 1, 1, 
    485 1, 1, 1, 1, 1, 1, 1, 1, 
    486 1, 1, 1, 1, 1, 1, 1, 1, 
    487 1, 1, 1, 1, 1, 1, 1, 1, 
    488 1, 1, 1, 1, 1, 1, 1, 1, 
    489 1, 1, 1, 1, 1, 1, 1, 1, 
    490 1, 1, 1, 1, 1, 1, 1, 1, 
    491 1, 1, 1, 1, 1, 1, 89, 1, 
    492 8, 1, 102, 102, 102, 102, 102, 1, 
    493 1, 1, 1, 1, 1, 1, 1, 1, 
    494 1, 1, 1, 1, 1, 1, 1, 1, 
    495 1, 102, 1, 1, 1, 1, 1, 1, 
    496 1, 1, 1, 1, 1, 1, 1, 1, 
    497 1, 1, 1, 1, 1, 1, 1, 1, 
    498 1, 1, 1, 1, 1, 1, 1, 1, 
    499 1, 1, 1, 1, 1, 1, 1, 1, 
    500 1, 1, 1, 1, 1, 1, 1, 1, 
    501 1, 1, 1, 1, 1, 1, 1, 1, 
    502 1, 1, 1, 1, 103, 1, 1, 1, 
    503 1, 1, 1, 1, 1, 1, 1, 1, 
    504 1, 1, 1, 1, 1, 1, 1, 1, 
    505 1, 1, 1, 1, 1, 1, 1, 1, 
    506 1, 1, 1, 1, 104, 1, 103, 103, 
    507 103, 103, 103, 1, 1, 1, 1, 1, 
    508 1, 1, 1, 1, 1, 1, 1, 1, 
    509 1, 1, 1, 1, 1, 103, 1, 1, 
    510 1, 1, 1, 1, 1, 1, 1, 1, 
    511 1, 1, 1, 1, 1, 1, 1, 1, 
    512 1, 1, 1, 1, 1, 1, 1, 1, 
    513 1, 1, 1, 1, 1, 1, 1, 1, 
    514 1, 1, 1, 1, 1, 1, 1, 1, 
    515 1, 1, 1, 1, 1, 1, 1, 1, 
    516 1, 1, 1, 1, 1, 1, 1, 1, 
    517 1, 1, 1, 1, 1, 1, 1, 1, 
    518 1, 1, 1, 1, 1, 1, 1, 1, 
    519 1, 1, 1, 1, 1, 1, 1, 1, 
    520 1, 1, 1, 1, 1, 1, 1, 1, 
    521 104, 1, 25, 25, 25, 25, 25, 1, 
    522 1, 1, 1, 1, 1, 1, 1, 1, 
    523 1, 1, 1, 1, 1, 1, 1, 1, 
    524 1, 25, 1, 1, 1, 1, 1, 1, 
    525 1, 1, 1, 1, 1, 1, 1, 1, 
    526 1, 1, 1, 1, 1, 1, 1, 1, 
    527 1, 1, 1, 1, 1, 1, 1, 1, 
    528 1, 1, 1, 1, 1, 1, 1, 1, 
    529 1, 1, 1, 1, 1, 1, 1, 1, 
    530 1, 1, 1, 1, 1, 1, 1, 1, 
    531 1, 1, 1, 1, 1, 1, 1, 1, 
    532 1, 1, 1, 1, 1, 1, 1, 1, 
    533 1, 1, 1, 1, 1, 1, 1, 1, 
    534 1, 1, 1, 1, 1, 1, 1, 1, 
    535 1, 1, 1, 1, 104, 1, 0
    536 };
    537 
    538 static const char _deserialize_json_trans_targs[] = {
    539 1, 0, 2, 3, 18, 24, 37, 43, 
    540 51, 56, 60, 4, 12, 5, 6, 7, 
    541 8, 11, 8, 11, 9, 1, 10, 9, 
    542 10, 63, 13, 14, 15, 16, 17, 16, 
    543 17, 9, 1, 10, 19, 20, 21, 22, 
    544 23, 9, 1, 10, 23, 25, 31, 26, 
    545 27, 28, 29, 30, 29, 30, 9, 1, 
    546 10, 32, 33, 34, 35, 36, 35, 36, 
    547 9, 1, 10, 38, 39, 40, 41, 42, 
    548 9, 1, 10, 42, 44, 45, 46, 49, 
    549 50, 46, 47, 48, 9, 1, 10, 9, 
    550 1, 10, 50, 52, 53, 54, 9, 55, 
    551 55, 57, 58, 49, 59, 59, 61, 62, 
    552 1
    553 };
    554 
    555 static const char _deserialize_json_trans_actions[] = {
    556 0, 0, 0, 0, 0, 0, 0, 0, 
    557 0, 0, 0, 0, 0, 0, 0, 1, 
    558 1, 1, 0, 0, 2, 2, 2, 0, 
    559 0, 3, 0, 0, 1, 1, 1, 0, 
    560 0, 4, 4, 4, 0, 0, 0, 1, 
    561 1, 5, 5, 5, 0, 0, 0, 0, 
    562 0, 1, 1, 1, 0, 0, 6, 6, 
    563 6, 0, 0, 1, 1, 1, 0, 0, 
    564 7, 7, 7, 0, 0, 0, 1, 1, 
    565 8, 8, 8, 0, 0, 0, 1, 9, 
    566 9, 0, 10, 0, 11, 11, 11, 12, 
    567 12, 12, 10, 0, 0, 1, 1, 1, 
    568 0, 0, 0, 13, 13, 14, 0, 0, 
    569 15
    570 };
    571 
    572 static const int deserialize_json_start = 61;
    573 static const int deserialize_json_first_final = 61;
    574 static const int deserialize_json_error = 0;
    575 
    576 static const int deserialize_json_en_main = 61;
    577 
    578 
    579 #line 115 "hb-buffer-deserialize-json.rl"
    580 
    581 
    582 static hb_bool_t
    583 _hb_buffer_deserialize_json (hb_buffer_t *buffer,
    584 			    const char *buf,
    585 			    unsigned int buf_len,
    586 			    const char **end_ptr,
    587 			    hb_font_t *font)
    588 {
    589  const char *p = buf, *pe = buf + buf_len;
    590 
    591  /* Ensure we have positions. */
    592  (void) hb_buffer_get_glyph_positions (buffer, nullptr);
    593 
    594  const char *tok = nullptr;
    595  int cs;
    596  hb_glyph_info_t info = {0};
    597  hb_glyph_position_t pos = {0};
    598  
    599 #line 594 "hb-buffer-deserialize-json.hh"
    600 {
    601 cs = deserialize_json_start;
    602 }
    603 
    604 #line 597 "hb-buffer-deserialize-json.hh"
    605 {
    606 int _slen;
    607 int _trans;
    608 const unsigned char *_keys;
    609 const char *_inds;
    610 if ( p == pe )
    611 	goto _test_eof;
    612 if ( cs == 0 )
    613 	goto _out;
    614 _resume:
    615 _keys = _deserialize_json_trans_keys + (cs<<1);
    616 _inds = _deserialize_json_indicies + _deserialize_json_index_offsets[cs];
    617 
    618 _slen = _deserialize_json_key_spans[cs];
    619 _trans = _inds[ _slen > 0 && _keys[0] <=(*p) &&
    620 	(*p) <= _keys[1] ?
    621 	(*p) - _keys[0] : _slen ];
    622 
    623 cs = _deserialize_json_trans_targs[_trans];
    624 
    625 if ( _deserialize_json_trans_actions[_trans] == 0 )
    626 	goto _again;
    627 
    628 switch ( _deserialize_json_trans_actions[_trans] ) {
    629 case 15:
    630 #line 38 "hb-buffer-deserialize-json.rl"
    631 {
    632 hb_memset (&info, 0, sizeof (info));
    633 hb_memset (&pos , 0, sizeof (pos ));
    634 }
    635 break;
    636 case 3:
    637 #line 43 "hb-buffer-deserialize-json.rl"
    638 {
    639 buffer->add_info (info);
    640 if (unlikely (!buffer->successful))
    641   return false;
    642 buffer->pos[buffer->len - 1] = pos;
    643 *end_ptr = p;
    644 }
    645 break;
    646 case 1:
    647 #line 51 "hb-buffer-deserialize-json.rl"
    648 {
    649 tok = p;
    650 }
    651 break;
    652 case 10:
    653 #line 55 "hb-buffer-deserialize-json.rl"
    654 { if (unlikely (!buffer->ensure_glyphs ())) return false; }
    655 break;
    656 case 14:
    657 #line 56 "hb-buffer-deserialize-json.rl"
    658 { if (unlikely (!buffer->ensure_unicode ())) return false; }
    659 break;
    660 case 11:
    661 #line 58 "hb-buffer-deserialize-json.rl"
    662 {
    663 /* TODO Unescape \" and \\ if found. */
    664 if (!hb_font_glyph_from_string (font,
    665 				tok+1, p - tok - 2, /* Skip "" */
    666 				&info.codepoint))
    667   return false;
    668 }
    669 break;
    670 case 12:
    671 #line 66 "hb-buffer-deserialize-json.rl"
    672 { if (!parse_uint (tok, p, &info.codepoint)) return false; }
    673 break;
    674 case 5:
    675 #line 67 "hb-buffer-deserialize-json.rl"
    676 { if (!parse_uint (tok, p, &info.cluster )) return false; }
    677 break;
    678 case 6:
    679 #line 68 "hb-buffer-deserialize-json.rl"
    680 { if (!parse_int  (tok, p, &pos.x_offset )) return false; }
    681 break;
    682 case 7:
    683 #line 69 "hb-buffer-deserialize-json.rl"
    684 { if (!parse_int  (tok, p, &pos.y_offset )) return false; }
    685 break;
    686 case 2:
    687 #line 70 "hb-buffer-deserialize-json.rl"
    688 { if (!parse_int  (tok, p, &pos.x_advance)) return false; }
    689 break;
    690 case 4:
    691 #line 71 "hb-buffer-deserialize-json.rl"
    692 { if (!parse_int  (tok, p, &pos.y_advance)) return false; }
    693 break;
    694 case 8:
    695 #line 72 "hb-buffer-deserialize-json.rl"
    696 { if (!parse_uint (tok, p, &info.mask    )) return false; }
    697 break;
    698 case 9:
    699 #line 51 "hb-buffer-deserialize-json.rl"
    700 {
    701 tok = p;
    702 }
    703 #line 55 "hb-buffer-deserialize-json.rl"
    704 { if (unlikely (!buffer->ensure_glyphs ())) return false; }
    705 break;
    706 case 13:
    707 #line 51 "hb-buffer-deserialize-json.rl"
    708 {
    709 tok = p;
    710 }
    711 #line 56 "hb-buffer-deserialize-json.rl"
    712 { if (unlikely (!buffer->ensure_unicode ())) return false; }
    713 break;
    714 #line 689 "hb-buffer-deserialize-json.hh"
    715 }
    716 
    717 _again:
    718 if ( cs == 0 )
    719 	goto _out;
    720 if ( ++p != pe )
    721 	goto _resume;
    722 _test_eof: {}
    723 _out: {}
    724 }
    725 
    726 #line 136 "hb-buffer-deserialize-json.rl"
    727 
    728 
    729  *end_ptr = p;
    730 
    731  return p == pe;
    732 }
    733 
    734 #endif /* HB_BUFFER_DESERIALIZE_JSON_HH */