LCOV - differential code coverage report
Current view: top level - src/backend/snowball/libstemmer - stem_UTF_8_tamil.c (source / functions) Coverage Total Hit UBC
Current: Differential Code Coverage HEAD vs 15 Lines: 0.0 % 1019 0 1019
Current Date: 2023-04-08 15:15:32 Functions: 0.0 % 17 0 17
Baseline: 15
Baseline Date: 2023-04-08 15:09:40
Legend: Lines: hit not hit

           TLA  Line data    Source code
       1                 : /* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
       2                 : 
       3                 : #include "header.h"
       4                 : 
       5                 : #ifdef __cplusplus
       6                 : extern "C" {
       7                 : #endif
       8                 : extern int tamil_UTF_8_stem(struct SN_env * z);
       9                 : #ifdef __cplusplus
      10                 : }
      11                 : #endif
      12                 : static int r_has_min_length(struct SN_env * z);
      13                 : static int r_remove_common_word_endings(struct SN_env * z);
      14                 : static int r_remove_tense_suffixes(struct SN_env * z);
      15                 : static int r_remove_tense_suffix(struct SN_env * z);
      16                 : static int r_fix_endings(struct SN_env * z);
      17                 : static int r_fix_ending(struct SN_env * z);
      18                 : static int r_fix_va_start(struct SN_env * z);
      19                 : static int r_remove_vetrumai_urupukal(struct SN_env * z);
      20                 : static int r_remove_um(struct SN_env * z);
      21                 : static int r_remove_command_suffixes(struct SN_env * z);
      22                 : static int r_remove_pronoun_prefixes(struct SN_env * z);
      23                 : static int r_remove_question_prefixes(struct SN_env * z);
      24                 : static int r_remove_question_suffixes(struct SN_env * z);
      25                 : static int r_remove_plural_suffix(struct SN_env * z);
      26                 : #ifdef __cplusplus
      27                 : extern "C" {
      28                 : #endif
      29                 : 
      30                 : 
      31                 : extern struct SN_env * tamil_UTF_8_create_env(void);
      32                 : extern void tamil_UTF_8_close_env(struct SN_env * z);
      33                 : 
      34                 : 
      35                 : #ifdef __cplusplus
      36                 : }
      37                 : #endif
      38                 : static const symbol s_0_0[3] = { 0xE0, 0xAE, 0x95 };
      39                 : static const symbol s_0_1[3] = { 0xE0, 0xAE, 0x99 };
      40                 : static const symbol s_0_2[3] = { 0xE0, 0xAE, 0x9A };
      41                 : static const symbol s_0_3[3] = { 0xE0, 0xAE, 0x9E };
      42                 : static const symbol s_0_4[3] = { 0xE0, 0xAE, 0xA4 };
      43                 : static const symbol s_0_5[3] = { 0xE0, 0xAE, 0xA8 };
      44                 : static const symbol s_0_6[3] = { 0xE0, 0xAE, 0xAA };
      45                 : static const symbol s_0_7[3] = { 0xE0, 0xAE, 0xAE };
      46                 : static const symbol s_0_8[3] = { 0xE0, 0xAE, 0xAF };
      47                 : static const symbol s_0_9[3] = { 0xE0, 0xAE, 0xB5 };
      48                 : 
      49                 : static const struct among a_0[10] =
      50                 : {
      51                 : { 3, s_0_0, -1, -1, 0},
      52                 : { 3, s_0_1, -1, -1, 0},
      53                 : { 3, s_0_2, -1, -1, 0},
      54                 : { 3, s_0_3, -1, -1, 0},
      55                 : { 3, s_0_4, -1, -1, 0},
      56                 : { 3, s_0_5, -1, -1, 0},
      57                 : { 3, s_0_6, -1, -1, 0},
      58                 : { 3, s_0_7, -1, -1, 0},
      59                 : { 3, s_0_8, -1, -1, 0},
      60                 : { 3, s_0_9, -1, -1, 0}
      61                 : };
      62                 : 
      63                 : static const symbol s_1_0[12] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D };
      64                 : static const symbol s_1_1[6] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D };
      65                 : static const symbol s_1_2[9] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4 };
      66                 : 
      67                 : static const struct among a_1[3] =
      68                 : {
      69                 : { 12, s_1_0, -1, -1, 0},
      70                 : { 6, s_1_1, -1, -1, 0},
      71                 : { 9, s_1_2, -1, -1, 0}
      72                 : };
      73                 : 
      74                 : static const symbol s_2_0[3] = { 0xE0, 0xAF, 0x80 };
      75                 : static const symbol s_2_1[3] = { 0xE0, 0xAF, 0x88 };
      76                 : static const symbol s_2_2[3] = { 0xE0, 0xAE, 0xBF };
      77                 : 
      78                 : static const struct among a_2[3] =
      79                 : {
      80                 : { 3, s_2_0, -1, -1, 0},
      81                 : { 3, s_2_1, -1, -1, 0},
      82                 : { 3, s_2_2, -1, -1, 0}
      83                 : };
      84                 : 
      85                 : static const symbol s_3_0[3] = { 0xE0, 0xAE, 0x95 };
      86                 : static const symbol s_3_1[3] = { 0xE0, 0xAE, 0x9A };
      87                 : static const symbol s_3_2[3] = { 0xE0, 0xAE, 0x9F };
      88                 : static const symbol s_3_3[3] = { 0xE0, 0xAE, 0xA4 };
      89                 : static const symbol s_3_4[3] = { 0xE0, 0xAE, 0xAA };
      90                 : static const symbol s_3_5[3] = { 0xE0, 0xAE, 0xB1 };
      91                 : 
      92                 : static const struct among a_3[6] =
      93                 : {
      94                 : { 3, s_3_0, -1, -1, 0},
      95                 : { 3, s_3_1, -1, -1, 0},
      96                 : { 3, s_3_2, -1, -1, 0},
      97                 : { 3, s_3_3, -1, -1, 0},
      98                 : { 3, s_3_4, -1, -1, 0},
      99                 : { 3, s_3_5, -1, -1, 0}
     100                 : };
     101                 : 
     102                 : static const symbol s_4_0[3] = { 0xE0, 0xAE, 0x95 };
     103                 : static const symbol s_4_1[3] = { 0xE0, 0xAE, 0x9A };
     104                 : static const symbol s_4_2[3] = { 0xE0, 0xAE, 0x9F };
     105                 : static const symbol s_4_3[3] = { 0xE0, 0xAE, 0xA4 };
     106                 : static const symbol s_4_4[3] = { 0xE0, 0xAE, 0xAA };
     107                 : static const symbol s_4_5[3] = { 0xE0, 0xAE, 0xB1 };
     108                 : 
     109                 : static const struct among a_4[6] =
     110                 : {
     111                 : { 3, s_4_0, -1, -1, 0},
     112                 : { 3, s_4_1, -1, -1, 0},
     113                 : { 3, s_4_2, -1, -1, 0},
     114                 : { 3, s_4_3, -1, -1, 0},
     115                 : { 3, s_4_4, -1, -1, 0},
     116                 : { 3, s_4_5, -1, -1, 0}
     117                 : };
     118                 : 
     119                 : static const symbol s_5_0[3] = { 0xE0, 0xAE, 0x95 };
     120                 : static const symbol s_5_1[3] = { 0xE0, 0xAE, 0x9A };
     121                 : static const symbol s_5_2[3] = { 0xE0, 0xAE, 0x9F };
     122                 : static const symbol s_5_3[3] = { 0xE0, 0xAE, 0xA4 };
     123                 : static const symbol s_5_4[3] = { 0xE0, 0xAE, 0xAA };
     124                 : static const symbol s_5_5[3] = { 0xE0, 0xAE, 0xB1 };
     125                 : 
     126                 : static const struct among a_5[6] =
     127                 : {
     128                 : { 3, s_5_0, -1, -1, 0},
     129                 : { 3, s_5_1, -1, -1, 0},
     130                 : { 3, s_5_2, -1, -1, 0},
     131                 : { 3, s_5_3, -1, -1, 0},
     132                 : { 3, s_5_4, -1, -1, 0},
     133                 : { 3, s_5_5, -1, -1, 0}
     134                 : };
     135                 : 
     136                 : static const symbol s_6_0[3] = { 0xE0, 0xAE, 0xAF };
     137                 : static const symbol s_6_1[3] = { 0xE0, 0xAE, 0xB0 };
     138                 : static const symbol s_6_2[3] = { 0xE0, 0xAE, 0xB2 };
     139                 : static const symbol s_6_3[3] = { 0xE0, 0xAE, 0xB3 };
     140                 : static const symbol s_6_4[3] = { 0xE0, 0xAE, 0xB4 };
     141                 : static const symbol s_6_5[3] = { 0xE0, 0xAE, 0xB5 };
     142                 : 
     143                 : static const struct among a_6[6] =
     144                 : {
     145                 : { 3, s_6_0, -1, -1, 0},
     146                 : { 3, s_6_1, -1, -1, 0},
     147                 : { 3, s_6_2, -1, -1, 0},
     148                 : { 3, s_6_3, -1, -1, 0},
     149                 : { 3, s_6_4, -1, -1, 0},
     150                 : { 3, s_6_5, -1, -1, 0}
     151                 : };
     152                 : 
     153                 : static const symbol s_7_0[3] = { 0xE0, 0xAE, 0x99 };
     154                 : static const symbol s_7_1[3] = { 0xE0, 0xAE, 0x9E };
     155                 : static const symbol s_7_2[3] = { 0xE0, 0xAE, 0xA3 };
     156                 : static const symbol s_7_3[3] = { 0xE0, 0xAE, 0xA8 };
     157                 : static const symbol s_7_4[3] = { 0xE0, 0xAE, 0xA9 };
     158                 : static const symbol s_7_5[3] = { 0xE0, 0xAE, 0xAE };
     159                 : 
     160                 : static const struct among a_7[6] =
     161                 : {
     162                 : { 3, s_7_0, -1, -1, 0},
     163                 : { 3, s_7_1, -1, -1, 0},
     164                 : { 3, s_7_2, -1, -1, 0},
     165                 : { 3, s_7_3, -1, -1, 0},
     166                 : { 3, s_7_4, -1, -1, 0},
     167                 : { 3, s_7_5, -1, -1, 0}
     168                 : };
     169                 : 
     170                 : static const symbol s_8_0[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8D };
     171                 : static const symbol s_8_1[3] = { 0xE0, 0xAE, 0xAF };
     172                 : static const symbol s_8_2[3] = { 0xE0, 0xAE, 0xB5 };
     173                 : 
     174                 : static const struct among a_8[3] =
     175                 : {
     176                 : { 6, s_8_0, -1, -1, 0},
     177                 : { 3, s_8_1, -1, -1, 0},
     178                 : { 3, s_8_2, -1, -1, 0}
     179                 : };
     180                 : 
     181                 : static const symbol s_9_0[3] = { 0xE0, 0xAF, 0x80 };
     182                 : static const symbol s_9_1[3] = { 0xE0, 0xAF, 0x81 };
     183                 : static const symbol s_9_2[3] = { 0xE0, 0xAF, 0x82 };
     184                 : static const symbol s_9_3[3] = { 0xE0, 0xAF, 0x86 };
     185                 : static const symbol s_9_4[3] = { 0xE0, 0xAF, 0x87 };
     186                 : static const symbol s_9_5[3] = { 0xE0, 0xAF, 0x88 };
     187                 : static const symbol s_9_6[3] = { 0xE0, 0xAE, 0xBE };
     188                 : static const symbol s_9_7[3] = { 0xE0, 0xAE, 0xBF };
     189                 : 
     190                 : static const struct among a_9[8] =
     191                 : {
     192                 : { 3, s_9_0, -1, -1, 0},
     193                 : { 3, s_9_1, -1, -1, 0},
     194                 : { 3, s_9_2, -1, -1, 0},
     195                 : { 3, s_9_3, -1, -1, 0},
     196                 : { 3, s_9_4, -1, -1, 0},
     197                 : { 3, s_9_5, -1, -1, 0},
     198                 : { 3, s_9_6, -1, -1, 0},
     199                 : { 3, s_9_7, -1, -1, 0}
     200                 : };
     201                 : 
     202                 : static const symbol s_10_0[3] = { 0xE0, 0xAF, 0x80 };
     203                 : static const symbol s_10_1[3] = { 0xE0, 0xAF, 0x81 };
     204                 : static const symbol s_10_2[3] = { 0xE0, 0xAF, 0x82 };
     205                 : static const symbol s_10_3[3] = { 0xE0, 0xAF, 0x86 };
     206                 : static const symbol s_10_4[3] = { 0xE0, 0xAF, 0x87 };
     207                 : static const symbol s_10_5[3] = { 0xE0, 0xAF, 0x88 };
     208                 : static const symbol s_10_6[3] = { 0xE0, 0xAE, 0xBE };
     209                 : static const symbol s_10_7[3] = { 0xE0, 0xAE, 0xBF };
     210                 : 
     211                 : static const struct among a_10[8] =
     212                 : {
     213                 : { 3, s_10_0, -1, -1, 0},
     214                 : { 3, s_10_1, -1, -1, 0},
     215                 : { 3, s_10_2, -1, -1, 0},
     216                 : { 3, s_10_3, -1, -1, 0},
     217                 : { 3, s_10_4, -1, -1, 0},
     218                 : { 3, s_10_5, -1, -1, 0},
     219                 : { 3, s_10_6, -1, -1, 0},
     220                 : { 3, s_10_7, -1, -1, 0}
     221                 : };
     222                 : 
     223                 : static const symbol s_11_0[3] = { 0xE0, 0xAE, 0x85 };
     224                 : static const symbol s_11_1[3] = { 0xE0, 0xAE, 0x87 };
     225                 : static const symbol s_11_2[3] = { 0xE0, 0xAE, 0x89 };
     226                 : 
     227                 : static const struct among a_11[3] =
     228                 : {
     229                 : { 3, s_11_0, -1, -1, 0},
     230                 : { 3, s_11_1, -1, -1, 0},
     231                 : { 3, s_11_2, -1, -1, 0}
     232                 : };
     233                 : 
     234                 : static const symbol s_12_0[3] = { 0xE0, 0xAE, 0x95 };
     235                 : static const symbol s_12_1[3] = { 0xE0, 0xAE, 0x99 };
     236                 : static const symbol s_12_2[3] = { 0xE0, 0xAE, 0x9A };
     237                 : static const symbol s_12_3[3] = { 0xE0, 0xAE, 0x9E };
     238                 : static const symbol s_12_4[3] = { 0xE0, 0xAE, 0xA4 };
     239                 : static const symbol s_12_5[3] = { 0xE0, 0xAE, 0xA8 };
     240                 : static const symbol s_12_6[3] = { 0xE0, 0xAE, 0xAA };
     241                 : static const symbol s_12_7[3] = { 0xE0, 0xAE, 0xAE };
     242                 : static const symbol s_12_8[3] = { 0xE0, 0xAE, 0xAF };
     243                 : static const symbol s_12_9[3] = { 0xE0, 0xAE, 0xB5 };
     244                 : 
     245                 : static const struct among a_12[10] =
     246                 : {
     247                 : { 3, s_12_0, -1, -1, 0},
     248                 : { 3, s_12_1, -1, -1, 0},
     249                 : { 3, s_12_2, -1, -1, 0},
     250                 : { 3, s_12_3, -1, -1, 0},
     251                 : { 3, s_12_4, -1, -1, 0},
     252                 : { 3, s_12_5, -1, -1, 0},
     253                 : { 3, s_12_6, -1, -1, 0},
     254                 : { 3, s_12_7, -1, -1, 0},
     255                 : { 3, s_12_8, -1, -1, 0},
     256                 : { 3, s_12_9, -1, -1, 0}
     257                 : };
     258                 : 
     259                 : static const symbol s_13_0[3] = { 0xE0, 0xAE, 0x95 };
     260                 : static const symbol s_13_1[3] = { 0xE0, 0xAE, 0x9A };
     261                 : static const symbol s_13_2[3] = { 0xE0, 0xAE, 0x9F };
     262                 : static const symbol s_13_3[3] = { 0xE0, 0xAE, 0xA4 };
     263                 : static const symbol s_13_4[3] = { 0xE0, 0xAE, 0xAA };
     264                 : static const symbol s_13_5[3] = { 0xE0, 0xAE, 0xB1 };
     265                 : 
     266                 : static const struct among a_13[6] =
     267                 : {
     268                 : { 3, s_13_0, -1, -1, 0},
     269                 : { 3, s_13_1, -1, -1, 0},
     270                 : { 3, s_13_2, -1, -1, 0},
     271                 : { 3, s_13_3, -1, -1, 0},
     272                 : { 3, s_13_4, -1, -1, 0},
     273                 : { 3, s_13_5, -1, -1, 0}
     274                 : };
     275                 : 
     276                 : static const symbol s_14_0[3] = { 0xE0, 0xAF, 0x87 };
     277                 : static const symbol s_14_1[3] = { 0xE0, 0xAF, 0x8B };
     278                 : static const symbol s_14_2[3] = { 0xE0, 0xAE, 0xBE };
     279                 : 
     280                 : static const struct among a_14[3] =
     281                 : {
     282                 : { 3, s_14_0, -1, -1, 0},
     283                 : { 3, s_14_1, -1, -1, 0},
     284                 : { 3, s_14_2, -1, -1, 0}
     285                 : };
     286                 : 
     287                 : static const symbol s_15_0[6] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xBF };
     288                 : static const symbol s_15_1[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF };
     289                 : 
     290                 : static const struct among a_15[2] =
     291                 : {
     292                 : { 6, s_15_0, -1, -1, 0},
     293                 : { 6, s_15_1, -1, -1, 0}
     294                 : };
     295                 : 
     296                 : static const symbol s_16_0[3] = { 0xE0, 0xAF, 0x80 };
     297                 : static const symbol s_16_1[3] = { 0xE0, 0xAF, 0x81 };
     298                 : static const symbol s_16_2[3] = { 0xE0, 0xAF, 0x82 };
     299                 : static const symbol s_16_3[3] = { 0xE0, 0xAF, 0x86 };
     300                 : static const symbol s_16_4[3] = { 0xE0, 0xAF, 0x87 };
     301                 : static const symbol s_16_5[3] = { 0xE0, 0xAF, 0x88 };
     302                 : static const symbol s_16_6[3] = { 0xE0, 0xAE, 0xBE };
     303                 : static const symbol s_16_7[3] = { 0xE0, 0xAE, 0xBF };
     304                 : 
     305                 : static const struct among a_16[8] =
     306                 : {
     307                 : { 3, s_16_0, -1, -1, 0},
     308                 : { 3, s_16_1, -1, -1, 0},
     309                 : { 3, s_16_2, -1, -1, 0},
     310                 : { 3, s_16_3, -1, -1, 0},
     311                 : { 3, s_16_4, -1, -1, 0},
     312                 : { 3, s_16_5, -1, -1, 0},
     313                 : { 3, s_16_6, -1, -1, 0},
     314                 : { 3, s_16_7, -1, -1, 0}
     315                 : };
     316                 : 
     317                 : static const symbol s_17_0[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
     318                 : static const symbol s_17_1[18] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
     319                 : static const symbol s_17_2[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
     320                 : static const symbol s_17_3[12] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
     321                 : static const symbol s_17_4[18] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
     322                 : static const symbol s_17_5[21] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB2, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
     323                 : static const symbol s_17_6[12] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F };
     324                 : static const symbol s_17_7[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA3 };
     325                 : static const symbol s_17_8[9] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9 };
     326                 : static const symbol s_17_9[18] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA4, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9 };
     327                 : static const symbol s_17_10[15] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB0, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xAF };
     328                 : static const symbol s_17_11[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xBF };
     329                 : static const symbol s_17_12[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAE, 0xBF };
     330                 : 
     331                 : static const struct among a_17[13] =
     332                 : {
     333                 : { 15, s_17_0, -1, -1, 0},
     334                 : { 18, s_17_1, -1, -1, 0},
     335                 : { 9, s_17_2, -1, -1, 0},
     336                 : { 12, s_17_3, -1, -1, 0},
     337                 : { 18, s_17_4, -1, -1, 0},
     338                 : { 21, s_17_5, -1, -1, 0},
     339                 : { 12, s_17_6, -1, -1, 0},
     340                 : { 15, s_17_7, -1, -1, 0},
     341                 : { 9, s_17_8, -1, -1, 0},
     342                 : { 18, s_17_9, 8, -1, 0},
     343                 : { 15, s_17_10, -1, -1, 0},
     344                 : { 9, s_17_11, -1, -1, 0},
     345                 : { 15, s_17_12, -1, -1, 0}
     346                 : };
     347                 : 
     348                 : static const symbol s_18_0[3] = { 0xE0, 0xAE, 0x95 };
     349                 : static const symbol s_18_1[3] = { 0xE0, 0xAE, 0x9A };
     350                 : static const symbol s_18_2[3] = { 0xE0, 0xAE, 0x9F };
     351                 : static const symbol s_18_3[3] = { 0xE0, 0xAE, 0xA4 };
     352                 : static const symbol s_18_4[3] = { 0xE0, 0xAE, 0xAA };
     353                 : static const symbol s_18_5[3] = { 0xE0, 0xAE, 0xB1 };
     354                 : 
     355                 : static const struct among a_18[6] =
     356                 : {
     357                 : { 3, s_18_0, -1, -1, 0},
     358                 : { 3, s_18_1, -1, -1, 0},
     359                 : { 3, s_18_2, -1, -1, 0},
     360                 : { 3, s_18_3, -1, -1, 0},
     361                 : { 3, s_18_4, -1, -1, 0},
     362                 : { 3, s_18_5, -1, -1, 0}
     363                 : };
     364                 : 
     365                 : static const symbol s_19_0[3] = { 0xE0, 0xAE, 0x95 };
     366                 : static const symbol s_19_1[3] = { 0xE0, 0xAE, 0x9A };
     367                 : static const symbol s_19_2[3] = { 0xE0, 0xAE, 0x9F };
     368                 : static const symbol s_19_3[3] = { 0xE0, 0xAE, 0xA4 };
     369                 : static const symbol s_19_4[3] = { 0xE0, 0xAE, 0xAA };
     370                 : static const symbol s_19_5[3] = { 0xE0, 0xAE, 0xB1 };
     371                 : 
     372                 : static const struct among a_19[6] =
     373                 : {
     374                 : { 3, s_19_0, -1, -1, 0},
     375                 : { 3, s_19_1, -1, -1, 0},
     376                 : { 3, s_19_2, -1, -1, 0},
     377                 : { 3, s_19_3, -1, -1, 0},
     378                 : { 3, s_19_4, -1, -1, 0},
     379                 : { 3, s_19_5, -1, -1, 0}
     380                 : };
     381                 : 
     382                 : static const symbol s_20_0[3] = { 0xE0, 0xAF, 0x80 };
     383                 : static const symbol s_20_1[3] = { 0xE0, 0xAF, 0x81 };
     384                 : static const symbol s_20_2[3] = { 0xE0, 0xAF, 0x82 };
     385                 : static const symbol s_20_3[3] = { 0xE0, 0xAF, 0x86 };
     386                 : static const symbol s_20_4[3] = { 0xE0, 0xAF, 0x87 };
     387                 : static const symbol s_20_5[3] = { 0xE0, 0xAF, 0x88 };
     388                 : static const symbol s_20_6[3] = { 0xE0, 0xAE, 0xBE };
     389                 : static const symbol s_20_7[3] = { 0xE0, 0xAE, 0xBF };
     390                 : 
     391                 : static const struct among a_20[8] =
     392                 : {
     393                 : { 3, s_20_0, -1, -1, 0},
     394                 : { 3, s_20_1, -1, -1, 0},
     395                 : { 3, s_20_2, -1, -1, 0},
     396                 : { 3, s_20_3, -1, -1, 0},
     397                 : { 3, s_20_4, -1, -1, 0},
     398                 : { 3, s_20_5, -1, -1, 0},
     399                 : { 3, s_20_6, -1, -1, 0},
     400                 : { 3, s_20_7, -1, -1, 0}
     401                 : };
     402                 : 
     403                 : static const symbol s_21_0[3] = { 0xE0, 0xAF, 0x80 };
     404                 : static const symbol s_21_1[3] = { 0xE0, 0xAF, 0x81 };
     405                 : static const symbol s_21_2[3] = { 0xE0, 0xAF, 0x82 };
     406                 : static const symbol s_21_3[3] = { 0xE0, 0xAF, 0x86 };
     407                 : static const symbol s_21_4[3] = { 0xE0, 0xAF, 0x87 };
     408                 : static const symbol s_21_5[3] = { 0xE0, 0xAF, 0x88 };
     409                 : static const symbol s_21_6[3] = { 0xE0, 0xAE, 0xBE };
     410                 : static const symbol s_21_7[3] = { 0xE0, 0xAE, 0xBF };
     411                 : 
     412                 : static const struct among a_21[8] =
     413                 : {
     414                 : { 3, s_21_0, -1, -1, 0},
     415                 : { 3, s_21_1, -1, -1, 0},
     416                 : { 3, s_21_2, -1, -1, 0},
     417                 : { 3, s_21_3, -1, -1, 0},
     418                 : { 3, s_21_4, -1, -1, 0},
     419                 : { 3, s_21_5, -1, -1, 0},
     420                 : { 3, s_21_6, -1, -1, 0},
     421                 : { 3, s_21_7, -1, -1, 0}
     422                 : };
     423                 : 
     424                 : static const symbol s_22_0[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
     425                 : static const symbol s_22_1[24] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8A, 0xE0, 0xAE, 0xA3, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
     426                 : 
     427                 : static const struct among a_22[2] =
     428                 : {
     429                 : { 9, s_22_0, -1, -1, 0},
     430                 : { 24, s_22_1, -1, -1, 0}
     431                 : };
     432                 : 
     433                 : static const symbol s_23_0[3] = { 0xE0, 0xAE, 0x85 };
     434                 : static const symbol s_23_1[3] = { 0xE0, 0xAE, 0x86 };
     435                 : static const symbol s_23_2[3] = { 0xE0, 0xAE, 0x87 };
     436                 : static const symbol s_23_3[3] = { 0xE0, 0xAE, 0x88 };
     437                 : static const symbol s_23_4[3] = { 0xE0, 0xAE, 0x89 };
     438                 : static const symbol s_23_5[3] = { 0xE0, 0xAE, 0x8A };
     439                 : static const symbol s_23_6[3] = { 0xE0, 0xAE, 0x8E };
     440                 : static const symbol s_23_7[3] = { 0xE0, 0xAE, 0x8F };
     441                 : static const symbol s_23_8[3] = { 0xE0, 0xAE, 0x90 };
     442                 : static const symbol s_23_9[3] = { 0xE0, 0xAE, 0x92 };
     443                 : static const symbol s_23_10[3] = { 0xE0, 0xAE, 0x93 };
     444                 : static const symbol s_23_11[3] = { 0xE0, 0xAE, 0x94 };
     445                 : 
     446                 : static const struct among a_23[12] =
     447                 : {
     448                 : { 3, s_23_0, -1, -1, 0},
     449                 : { 3, s_23_1, -1, -1, 0},
     450                 : { 3, s_23_2, -1, -1, 0},
     451                 : { 3, s_23_3, -1, -1, 0},
     452                 : { 3, s_23_4, -1, -1, 0},
     453                 : { 3, s_23_5, -1, -1, 0},
     454                 : { 3, s_23_6, -1, -1, 0},
     455                 : { 3, s_23_7, -1, -1, 0},
     456                 : { 3, s_23_8, -1, -1, 0},
     457                 : { 3, s_23_9, -1, -1, 0},
     458                 : { 3, s_23_10, -1, -1, 0},
     459                 : { 3, s_23_11, -1, -1, 0}
     460                 : };
     461                 : 
     462                 : static const symbol s_24_0[3] = { 0xE0, 0xAF, 0x80 };
     463                 : static const symbol s_24_1[3] = { 0xE0, 0xAF, 0x81 };
     464                 : static const symbol s_24_2[3] = { 0xE0, 0xAF, 0x82 };
     465                 : static const symbol s_24_3[3] = { 0xE0, 0xAF, 0x86 };
     466                 : static const symbol s_24_4[3] = { 0xE0, 0xAF, 0x87 };
     467                 : static const symbol s_24_5[3] = { 0xE0, 0xAF, 0x88 };
     468                 : static const symbol s_24_6[3] = { 0xE0, 0xAE, 0xBE };
     469                 : static const symbol s_24_7[3] = { 0xE0, 0xAE, 0xBF };
     470                 : 
     471                 : static const struct among a_24[8] =
     472                 : {
     473                 : { 3, s_24_0, -1, -1, 0},
     474                 : { 3, s_24_1, -1, -1, 0},
     475                 : { 3, s_24_2, -1, -1, 0},
     476                 : { 3, s_24_3, -1, -1, 0},
     477                 : { 3, s_24_4, -1, -1, 0},
     478                 : { 3, s_24_5, -1, -1, 0},
     479                 : { 3, s_24_6, -1, -1, 0},
     480                 : { 3, s_24_7, -1, -1, 0}
     481                 : };
     482                 : 
     483                 : static const symbol s_25_0[18] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
     484                 : static const symbol s_25_1[21] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA8, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
     485                 : static const symbol s_25_2[12] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
     486                 : static const symbol s_25_3[15] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1 };
     487                 : static const symbol s_25_4[18] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA8, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1 };
     488                 : static const symbol s_25_5[9] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1 };
     489                 : 
     490                 : static const struct among a_25[6] =
     491                 : {
     492                 : { 18, s_25_0, -1, -1, 0},
     493                 : { 21, s_25_1, -1, -1, 0},
     494                 : { 12, s_25_2, -1, -1, 0},
     495                 : { 15, s_25_3, -1, -1, 0},
     496                 : { 18, s_25_4, -1, -1, 0},
     497                 : { 9, s_25_5, -1, -1, 0}
     498                 : };
     499                 : 
     500                 : static const symbol s_0[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8B };
     501                 : static const symbol s_1[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8B };
     502                 : static const symbol s_2[] = { 0xE0, 0xAE, 0x93 };
     503                 : static const symbol s_3[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8A };
     504                 : static const symbol s_4[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8A };
     505                 : static const symbol s_5[] = { 0xE0, 0xAE, 0x92 };
     506                 : static const symbol s_6[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x81 };
     507                 : static const symbol s_7[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x81 };
     508                 : static const symbol s_8[] = { 0xE0, 0xAE, 0x89 };
     509                 : static const symbol s_9[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x82 };
     510                 : static const symbol s_10[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x82 };
     511                 : static const symbol s_11[] = { 0xE0, 0xAE, 0x8A };
     512                 : static const symbol s_12[] = { 0xE0, 0xAE, 0x8E };
     513                 : static const symbol s_13[] = { 0xE0, 0xAF, 0x8D };
     514                 : static const symbol s_14[] = { 0xE0, 0xAE, 0xAF, 0xE0, 0xAF, 0x8D };
     515                 : static const symbol s_15[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xAA, 0xE0, 0xAF, 0x8D };
     516                 : static const symbol s_16[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
     517                 : static const symbol s_17[] = { 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
     518                 : static const symbol s_18[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
     519                 : static const symbol s_19[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
     520                 : static const symbol s_20[] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
     521                 : static const symbol s_21[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
     522                 : static const symbol s_22[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D };
     523                 : static const symbol s_23[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
     524                 : static const symbol s_24[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x8D };
     525                 : static const symbol s_25[] = { 0xE0, 0xAF, 0x88 };
     526                 : static const symbol s_26[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
     527                 : static const symbol s_27[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
     528                 : static const symbol s_28[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
     529                 : static const symbol s_29[] = { 0xE0, 0xAF, 0x8D };
     530                 : static const symbol s_30[] = { 0xE0, 0xAF, 0x8D };
     531                 : static const symbol s_31[] = { 0xE0, 0xAF, 0x8D };
     532                 : static const symbol s_32[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x8D };
     533                 : static const symbol s_33[] = { 0xE0, 0xAF, 0x8D };
     534                 : static const symbol s_34[] = { 0xE0, 0xAF, 0x8D };
     535                 : static const symbol s_35[] = { 0xE0, 0xAF, 0x8D };
     536                 : static const symbol s_36[] = { 0xE0, 0xAF, 0x8D };
     537                 : static const symbol s_37[] = { 0xE0, 0xAF, 0x8D };
     538                 : static const symbol s_38[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x81 };
     539                 : static const symbol s_39[] = { 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D };
     540                 : static const symbol s_40[] = { 0xE0, 0xAF, 0x88 };
     541                 : static const symbol s_41[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
     542                 : static const symbol s_42[] = { 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D };
     543                 : static const symbol s_43[] = { 0xE0, 0xAF, 0x8D };
     544                 : static const symbol s_44[] = { 0xE0, 0xAF, 0x8D };
     545                 : static const symbol s_45[] = { 0xE0, 0xAF, 0x8D };
     546                 : static const symbol s_46[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
     547                 : static const symbol s_47[] = { 0xE0, 0xAF, 0x8D };
     548                 : static const symbol s_48[] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
     549                 : static const symbol s_49[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
     550                 : static const symbol s_50[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
     551                 : static const symbol s_51[] = { 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
     552                 : static const symbol s_52[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
     553                 : static const symbol s_53[] = { 0xE0, 0xAF, 0x8D };
     554                 : static const symbol s_54[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
     555                 : static const symbol s_55[] = { 0xE0, 0xAF, 0x8D };
     556                 : static const symbol s_56[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
     557                 : static const symbol s_57[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x88 };
     558                 : static const symbol s_58[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
     559                 : static const symbol s_59[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAE, 0xBF };
     560                 : static const symbol s_60[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF };
     561                 : static const symbol s_61[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xAF };
     562                 : static const symbol s_62[] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 };
     563                 : static const symbol s_63[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB3 };
     564                 : static const symbol s_64[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88, 0xE0, 0xAE, 0xAF };
     565                 : static const symbol s_65[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88 };
     566                 : static const symbol s_66[] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
     567                 : static const symbol s_67[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB2 };
     568                 : static const symbol s_68[] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9 };
     569                 : static const symbol s_69[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF };
     570                 : static const symbol s_70[] = { 0xE0, 0xAF, 0x8D };
     571                 : static const symbol s_71[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x88 };
     572                 : static const symbol s_72[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x88 };
     573                 : static const symbol s_73[] = { 0xE0, 0xAF, 0x88 };
     574                 : static const symbol s_74[] = { 0xE0, 0xAF, 0x88 };
     575                 : static const symbol s_75[] = { 0xE0, 0xAF, 0x8D };
     576                 : static const symbol s_76[] = { 0xE0, 0xAF, 0x8D };
     577                 : static const symbol s_77[] = { 0xE0, 0xAF, 0x8A, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
     578                 : static const symbol s_78[] = { 0xE0, 0xAF, 0x8B, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
     579                 : static const symbol s_79[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
     580                 : static const symbol s_80[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
     581                 : static const symbol s_81[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
     582                 : static const symbol s_82[] = { 0xE0, 0xAE, 0xAE };
     583                 : static const symbol s_83[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 };
     584                 : static const symbol s_84[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
     585                 : static const symbol s_85[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F };
     586                 : static const symbol s_86[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
     587                 : static const symbol s_87[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
     588                 : static const symbol s_88[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x88 };
     589                 : static const symbol s_89[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
     590                 : static const symbol s_90[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
     591                 : static const symbol s_91[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
     592                 : static const symbol s_92[] = { 0xE0, 0xAF, 0x8D };
     593                 : static const symbol s_93[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xA3, 0xE0, 0xAF, 0x8D };
     594                 : static const symbol s_94[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
     595                 : static const symbol s_95[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
     596                 : static const symbol s_96[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
     597                 : static const symbol s_97[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xB4, 0xE0, 0xAF, 0x8D };
     598                 : static const symbol s_98[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
     599                 : static const symbol s_99[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
     600                 : static const symbol s_100[] = { 0xE0, 0xAF, 0x80 };
     601                 : static const symbol s_101[] = { 0xE0, 0xAE, 0xBF };
     602                 : static const symbol s_102[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
     603                 : static const symbol s_103[] = { 0xE0, 0xAF, 0x8D };
     604                 : static const symbol s_104[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
     605                 : static const symbol s_105[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
     606                 : static const symbol s_106[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
     607                 : static const symbol s_107[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
     608                 : static const symbol s_108[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
     609                 : static const symbol s_109[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
     610                 : static const symbol s_110[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
     611                 : static const symbol s_111[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
     612                 : static const symbol s_112[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
     613                 : static const symbol s_113[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
     614                 : static const symbol s_114[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
     615                 : static const symbol s_115[] = { 0xE0, 0xAE, 0xA9 };
     616                 : static const symbol s_116[] = { 0xE0, 0xAE, 0xAA };
     617                 : static const symbol s_117[] = { 0xE0, 0xAE, 0x95 };
     618                 : static const symbol s_118[] = { 0xE0, 0xAE, 0xA4 };
     619                 : static const symbol s_119[] = { 0xE0, 0xAE, 0xAF };
     620                 : static const symbol s_120[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
     621                 : static const symbol s_121[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
     622                 : static const symbol s_122[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
     623                 : static const symbol s_123[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
     624                 : static const symbol s_124[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81 };
     625                 : static const symbol s_125[] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
     626                 : static const symbol s_126[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
     627                 : static const symbol s_127[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
     628                 : static const symbol s_128[] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
     629                 : static const symbol s_129[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
     630                 : static const symbol s_130[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
     631                 : static const symbol s_131[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x88 };
     632                 : static const symbol s_132[] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x88 };
     633                 : static const symbol s_133[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
     634                 : static const symbol s_134[] = { 0xE0, 0xAE, 0x9A };
     635                 : static const symbol s_135[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
     636                 : static const symbol s_136[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
     637                 : static const symbol s_137[] = { 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
     638                 : static const symbol s_138[] = { 0xE0, 0xAE, 0xBE };
     639                 : static const symbol s_139[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
     640                 : static const symbol s_140[] = { 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
     641                 : static const symbol s_141[] = { 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
     642                 : static const symbol s_142[] = { 0xE0, 0xAF, 0x8B, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
     643                 : static const symbol s_143[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
     644                 : static const symbol s_144[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
     645                 : static const symbol s_145[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
     646                 : static const symbol s_146[] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
     647                 : static const symbol s_147[] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xAF, 0xE0, 0xAF, 0x8D };
     648                 : static const symbol s_148[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
     649                 : static const symbol s_149[] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
     650                 : static const symbol s_150[] = { 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
     651                 : static const symbol s_151[] = { 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xAF, 0xE0, 0xAE, 0xB0, 0xE0, 0xAF, 0x8D };
     652                 : static const symbol s_152[] = { 0xE0, 0xAF, 0x8D };
     653                 : static const symbol s_153[] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81 };
     654                 : static const symbol s_154[] = { 0xE0, 0xAE, 0xA4, 0xE0, 0xAF, 0x81 };
     655                 : static const symbol s_155[] = { 0xE0, 0xAF, 0x8D };
     656                 : 
     657 UBC           0 : static int r_has_min_length(struct SN_env * z) {
     658               0 :     if (!(len_utf8(z->p) > 4)) return 0;
     659               0 :     return 1;
     660                 : }
     661                 : 
     662               0 : static int r_fix_va_start(struct SN_env * z) {
     663               0 :     {   int c1 = z->c;
     664               0 :         {   int c2 = z->c;
     665               0 :             {   int c3 = z->c;
     666               0 :                 if (!(eq_s(z, 6, s_0))) { z->c = c3; goto lab2; }
     667               0 :             lab2:
     668                 :                 ;
     669                 :             }
     670               0 :             z->c = c2;
     671               0 :             z->bra = z->c;
     672                 :         }
     673               0 :         if (!(eq_s(z, 6, s_1))) goto lab1;
     674               0 :         z->ket = z->c;
     675               0 :         {   int ret = slice_from_s(z, 3, s_2);
     676               0 :             if (ret < 0) return ret;
     677                 :         }
     678               0 :         goto lab0;
     679               0 :     lab1:
     680               0 :         z->c = c1;
     681               0 :         {   int c4 = z->c;
     682               0 :             {   int c5 = z->c;
     683               0 :                 if (!(eq_s(z, 6, s_3))) { z->c = c5; goto lab4; }
     684               0 :             lab4:
     685                 :                 ;
     686                 :             }
     687               0 :             z->c = c4;
     688               0 :             z->bra = z->c;
     689                 :         }
     690               0 :         if (!(eq_s(z, 6, s_4))) goto lab3;
     691               0 :         z->ket = z->c;
     692               0 :         {   int ret = slice_from_s(z, 3, s_5);
     693               0 :             if (ret < 0) return ret;
     694                 :         }
     695               0 :         goto lab0;
     696               0 :     lab3:
     697               0 :         z->c = c1;
     698               0 :         {   int c6 = z->c;
     699               0 :             {   int c7 = z->c;
     700               0 :                 if (!(eq_s(z, 6, s_6))) { z->c = c7; goto lab6; }
     701               0 :             lab6:
     702                 :                 ;
     703                 :             }
     704               0 :             z->c = c6;
     705               0 :             z->bra = z->c;
     706                 :         }
     707               0 :         if (!(eq_s(z, 6, s_7))) goto lab5;
     708               0 :         z->ket = z->c;
     709               0 :         {   int ret = slice_from_s(z, 3, s_8);
     710               0 :             if (ret < 0) return ret;
     711                 :         }
     712               0 :         goto lab0;
     713               0 :     lab5:
     714               0 :         z->c = c1;
     715               0 :         {   int c8 = z->c;
     716               0 :             {   int c9 = z->c;
     717               0 :                 if (!(eq_s(z, 6, s_9))) { z->c = c9; goto lab7; }
     718               0 :             lab7:
     719                 :                 ;
     720                 :             }
     721               0 :             z->c = c8;
     722               0 :             z->bra = z->c;
     723                 :         }
     724               0 :         if (!(eq_s(z, 6, s_10))) return 0;
     725               0 :         z->ket = z->c;
     726               0 :         {   int ret = slice_from_s(z, 3, s_11);
     727               0 :             if (ret < 0) return ret;
     728                 :         }
     729                 :     }
     730               0 : lab0:
     731               0 :     return 1;
     732                 : }
     733                 : 
     734               0 : static int r_fix_endings(struct SN_env * z) {
     735               0 :     {   int c1 = z->c;
     736               0 :         while(1) {
     737               0 :             int c2 = z->c;
     738               0 :             {   int ret = r_fix_ending(z);
     739               0 :                 if (ret == 0) goto lab1;
     740               0 :                 if (ret < 0) return ret;
     741                 :             }
     742               0 :             continue;
     743               0 :         lab1:
     744               0 :             z->c = c2;
     745               0 :             break;
     746                 :         }
     747               0 :         z->c = c1;
     748                 :     }
     749               0 :     return 1;
     750                 : }
     751                 : 
     752               0 : static int r_remove_question_prefixes(struct SN_env * z) {
     753               0 :     z->bra = z->c;
     754               0 :     if (!(eq_s(z, 3, s_12))) return 0;
     755               0 :     if (!(find_among(z, a_0, 10))) return 0;
     756               0 :     if (!(eq_s(z, 3, s_13))) return 0;
     757               0 :     z->ket = z->c;
     758               0 :     {   int ret = slice_del(z);
     759               0 :         if (ret < 0) return ret;
     760                 :     }
     761               0 :     {   int c1 = z->c;
     762               0 :         {   int ret = r_fix_va_start(z);
     763               0 :             if (ret < 0) return ret;
     764                 :         }
     765               0 :         z->c = c1;
     766                 :     }
     767               0 :     return 1;
     768                 : }
     769                 : 
     770               0 : static int r_fix_ending(struct SN_env * z) {
     771               0 :     if (!(len_utf8(z->p) > 3)) return 0;
     772               0 :     z->lb = z->c; z->c = z->l;
     773                 : 
     774               0 :     {   int m1 = z->l - z->c; (void)m1;
     775               0 :         z->ket = z->c;
     776               0 :         if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 141 && z->p[z->c - 1] != 164)) goto lab1;
     777               0 :         if (!(find_among_b(z, a_1, 3))) goto lab1;
     778               0 :         z->bra = z->c;
     779               0 :         {   int ret = slice_del(z);
     780               0 :             if (ret < 0) return ret;
     781                 :         }
     782               0 :         goto lab0;
     783               0 :     lab1:
     784               0 :         z->c = z->l - m1;
     785               0 :         z->ket = z->c;
     786               0 :         if (!(eq_s_b(z, 6, s_14))) goto lab2;
     787               0 :         {   int m_test2 = z->l - z->c;
     788               0 :             if (!(find_among_b(z, a_2, 3))) goto lab2;
     789               0 :             z->c = z->l - m_test2;
     790                 :         }
     791               0 :         z->bra = z->c;
     792               0 :         {   int ret = slice_del(z);
     793               0 :             if (ret < 0) return ret;
     794                 :         }
     795               0 :         goto lab0;
     796               0 :     lab2:
     797               0 :         z->c = z->l - m1;
     798               0 :         z->ket = z->c;
     799               0 :         {   int m3 = z->l - z->c; (void)m3;
     800               0 :             if (!(eq_s_b(z, 12, s_15))) goto lab5;
     801               0 :             goto lab4;
     802               0 :         lab5:
     803               0 :             z->c = z->l - m3;
     804               0 :             if (!(eq_s_b(z, 12, s_16))) goto lab3;
     805                 :         }
     806               0 :     lab4:
     807               0 :         z->bra = z->c;
     808               0 :         {   int ret = slice_from_s(z, 6, s_17);
     809               0 :             if (ret < 0) return ret;
     810                 :         }
     811               0 :         goto lab0;
     812               0 :     lab3:
     813               0 :         z->c = z->l - m1;
     814               0 :         z->ket = z->c;
     815               0 :         if (!(eq_s_b(z, 12, s_18))) goto lab6;
     816               0 :         z->bra = z->c;
     817               0 :         {   int ret = slice_from_s(z, 6, s_19);
     818               0 :             if (ret < 0) return ret;
     819                 :         }
     820               0 :         goto lab0;
     821               0 :     lab6:
     822               0 :         z->c = z->l - m1;
     823               0 :         z->ket = z->c;
     824               0 :         if (!(eq_s_b(z, 12, s_20))) goto lab7;
     825               0 :         z->bra = z->c;
     826               0 :         {   int ret = slice_from_s(z, 6, s_21);
     827               0 :             if (ret < 0) return ret;
     828                 :         }
     829               0 :         goto lab0;
     830               0 :     lab7:
     831               0 :         z->c = z->l - m1;
     832               0 :         z->ket = z->c;
     833               0 :         if (!(eq_s_b(z, 12, s_22))) goto lab8;
     834               0 :         z->bra = z->c;
     835               0 :         {   int ret = slice_from_s(z, 6, s_23);
     836               0 :             if (ret < 0) return ret;
     837                 :         }
     838               0 :         goto lab0;
     839               0 :     lab8:
     840               0 :         z->c = z->l - m1;
     841               0 :         if (!(z->I[0])) goto lab9;
     842               0 :         z->ket = z->c;
     843               0 :         if (!(eq_s_b(z, 12, s_24))) goto lab9;
     844               0 :         {   int m_test4 = z->l - z->c;
     845               0 :             {   int m5 = z->l - z->c; (void)m5;
     846               0 :                 if (!(eq_s_b(z, 3, s_25))) goto lab10;
     847               0 :                 goto lab9;
     848               0 :             lab10:
     849               0 :                 z->c = z->l - m5;
     850                 :             }
     851               0 :             z->c = z->l - m_test4;
     852                 :         }
     853               0 :         z->bra = z->c;
     854               0 :         {   int ret = slice_from_s(z, 6, s_26);
     855               0 :             if (ret < 0) return ret;
     856                 :         }
     857               0 :         z->bra = z->c;
     858               0 :         goto lab0;
     859               0 :     lab9:
     860               0 :         z->c = z->l - m1;
     861               0 :         z->ket = z->c;
     862               0 :         {   int m6 = z->l - z->c; (void)m6;
     863               0 :             if (!(eq_s_b(z, 9, s_27))) goto lab13;
     864               0 :             goto lab12;
     865               0 :         lab13:
     866               0 :             z->c = z->l - m6;
     867               0 :             if (!(eq_s_b(z, 15, s_28))) goto lab11;
     868                 :         }
     869               0 :     lab12:
     870               0 :         z->bra = z->c;
     871               0 :         {   int ret = slice_from_s(z, 3, s_29);
     872               0 :             if (ret < 0) return ret;
     873                 :         }
     874               0 :         goto lab0;
     875               0 :     lab11:
     876               0 :         z->c = z->l - m1;
     877               0 :         z->ket = z->c;
     878               0 :         if (!(eq_s_b(z, 3, s_30))) goto lab14;
     879               0 :         if (!(find_among_b(z, a_3, 6))) goto lab14;
     880               0 :         if (!(eq_s_b(z, 3, s_31))) goto lab14;
     881               0 :         if (!(find_among_b(z, a_4, 6))) goto lab14;
     882               0 :         z->bra = z->c;
     883               0 :         {   int ret = slice_del(z);
     884               0 :             if (ret < 0) return ret;
     885                 :         }
     886               0 :         goto lab0;
     887               0 :     lab14:
     888               0 :         z->c = z->l - m1;
     889               0 :         z->ket = z->c;
     890               0 :         if (!(eq_s_b(z, 9, s_32))) goto lab15;
     891               0 :         z->bra = z->c;
     892               0 :         {   int ret = slice_from_s(z, 3, s_33);
     893               0 :             if (ret < 0) return ret;
     894                 :         }
     895               0 :         goto lab0;
     896               0 :     lab15:
     897               0 :         z->c = z->l - m1;
     898               0 :         z->ket = z->c;
     899               0 :         if (!(eq_s_b(z, 3, s_34))) goto lab16;
     900               0 :         if (!(find_among_b(z, a_5, 6))) goto lab16;
     901               0 :         z->bra = z->c;
     902               0 :         {   int ret = slice_del(z);
     903               0 :             if (ret < 0) return ret;
     904                 :         }
     905               0 :         goto lab0;
     906               0 :     lab16:
     907               0 :         z->c = z->l - m1;
     908               0 :         z->ket = z->c;
     909               0 :         if (!(eq_s_b(z, 3, s_35))) goto lab17;
     910               0 :         {   int m7 = z->l - z->c; (void)m7;
     911               0 :             if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 5 || !((4030464 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab19;
     912               0 :             if (!(find_among_b(z, a_6, 6))) goto lab19;
     913               0 :             goto lab18;
     914               0 :         lab19:
     915               0 :             z->c = z->l - m7;
     916               0 :             if (!(find_among_b(z, a_7, 6))) goto lab17;
     917                 :         }
     918               0 :     lab18:
     919               0 :         if (!(eq_s_b(z, 3, s_36))) goto lab17;
     920               0 :         z->bra = z->c;
     921               0 :         {   int ret = slice_from_s(z, 3, s_37);
     922               0 :             if (ret < 0) return ret;
     923                 :         }
     924               0 :         goto lab0;
     925               0 :     lab17:
     926               0 :         z->c = z->l - m1;
     927               0 :         z->ket = z->c;
     928               0 :         if (!(find_among_b(z, a_8, 3))) goto lab20;
     929               0 :         z->bra = z->c;
     930               0 :         {   int ret = slice_del(z);
     931               0 :             if (ret < 0) return ret;
     932                 :         }
     933               0 :         goto lab0;
     934               0 :     lab20:
     935               0 :         z->c = z->l - m1;
     936               0 :         z->ket = z->c;
     937               0 :         if (!(eq_s_b(z, 6, s_38))) goto lab21;
     938               0 :         {   int m_test8 = z->l - z->c;
     939               0 :             {   int m9 = z->l - z->c; (void)m9;
     940               0 :                 if (!(find_among_b(z, a_9, 8))) goto lab22;
     941               0 :                 goto lab21;
     942               0 :             lab22:
     943               0 :                 z->c = z->l - m9;
     944                 :             }
     945               0 :             z->c = z->l - m_test8;
     946                 :         }
     947               0 :         z->bra = z->c;
     948               0 :         {   int ret = slice_del(z);
     949               0 :             if (ret < 0) return ret;
     950                 :         }
     951               0 :         goto lab0;
     952               0 :     lab21:
     953               0 :         z->c = z->l - m1;
     954               0 :         z->ket = z->c;
     955               0 :         if (!(eq_s_b(z, 6, s_39))) goto lab23;
     956               0 :         {   int m_test10 = z->l - z->c;
     957               0 :             {   int m11 = z->l - z->c; (void)m11;
     958               0 :                 if (!(eq_s_b(z, 3, s_40))) goto lab24;
     959               0 :                 goto lab23;
     960               0 :             lab24:
     961               0 :                 z->c = z->l - m11;
     962                 :             }
     963               0 :             z->c = z->l - m_test10;
     964                 :         }
     965               0 :         z->bra = z->c;
     966               0 :         {   int ret = slice_from_s(z, 6, s_41);
     967               0 :             if (ret < 0) return ret;
     968                 :         }
     969               0 :         goto lab0;
     970               0 :     lab23:
     971               0 :         z->c = z->l - m1;
     972               0 :         z->ket = z->c;
     973               0 :         if (!(eq_s_b(z, 6, s_42))) goto lab25;
     974               0 :         z->bra = z->c;
     975               0 :         {   int ret = slice_del(z);
     976               0 :             if (ret < 0) return ret;
     977                 :         }
     978               0 :         goto lab0;
     979               0 :     lab25:
     980               0 :         z->c = z->l - m1;
     981               0 :         z->ket = z->c;
     982               0 :         if (!(eq_s_b(z, 3, s_43))) return 0;
     983               0 :         {   int m_test12 = z->l - z->c;
     984               0 :             {   int m13 = z->l - z->c; (void)m13;
     985               0 :                 if (!(find_among_b(z, a_10, 8))) goto lab27;
     986               0 :                 goto lab26;
     987               0 :             lab27:
     988               0 :                 z->c = z->l - m13;
     989               0 :                 if (!(eq_s_b(z, 3, s_44))) return 0;
     990                 :             }
     991               0 :         lab26:
     992               0 :             z->c = z->l - m_test12;
     993                 :         }
     994               0 :         z->bra = z->c;
     995               0 :         {   int ret = slice_del(z);
     996               0 :             if (ret < 0) return ret;
     997                 :         }
     998                 :     }
     999               0 : lab0:
    1000               0 :     z->c = z->lb;
    1001               0 :     return 1;
    1002                 : }
    1003                 : 
    1004               0 : static int r_remove_pronoun_prefixes(struct SN_env * z) {
    1005               0 :     z->I[1] = 0;
    1006               0 :     z->bra = z->c;
    1007               0 :     if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 4 || !((672 >> (z->p[z->c + 2] & 0x1f)) & 1)) return 0;
    1008               0 :     if (!(find_among(z, a_11, 3))) return 0;
    1009               0 :     if (!(find_among(z, a_12, 10))) return 0;
    1010               0 :     if (!(eq_s(z, 3, s_45))) return 0;
    1011               0 :     z->ket = z->c;
    1012               0 :     {   int ret = slice_del(z);
    1013               0 :         if (ret < 0) return ret;
    1014                 :     }
    1015               0 :     z->I[1] = 1;
    1016               0 :     {   int c1 = z->c;
    1017               0 :         {   int ret = r_fix_va_start(z);
    1018               0 :             if (ret < 0) return ret;
    1019                 :         }
    1020               0 :         z->c = c1;
    1021                 :     }
    1022               0 :     return 1;
    1023                 : }
    1024                 : 
    1025               0 : static int r_remove_plural_suffix(struct SN_env * z) {
    1026               0 :     z->I[1] = 0;
    1027               0 :     z->lb = z->c; z->c = z->l;
    1028                 : 
    1029               0 :     {   int m1 = z->l - z->c; (void)m1;
    1030               0 :         z->ket = z->c;
    1031               0 :         if (!(eq_s_b(z, 18, s_46))) goto lab1;
    1032               0 :         {   int m_test2 = z->l - z->c;
    1033               0 :             {   int m3 = z->l - z->c; (void)m3;
    1034               0 :                 if (!(find_among_b(z, a_13, 6))) goto lab2;
    1035               0 :                 goto lab1;
    1036               0 :             lab2:
    1037               0 :                 z->c = z->l - m3;
    1038                 :             }
    1039               0 :             z->c = z->l - m_test2;
    1040                 :         }
    1041               0 :         z->bra = z->c;
    1042               0 :         {   int ret = slice_from_s(z, 3, s_47);
    1043               0 :             if (ret < 0) return ret;
    1044                 :         }
    1045               0 :         goto lab0;
    1046               0 :     lab1:
    1047               0 :         z->c = z->l - m1;
    1048               0 :         z->ket = z->c;
    1049               0 :         if (!(eq_s_b(z, 15, s_48))) goto lab3;
    1050               0 :         z->bra = z->c;
    1051               0 :         {   int ret = slice_from_s(z, 6, s_49);
    1052               0 :             if (ret < 0) return ret;
    1053                 :         }
    1054               0 :         goto lab0;
    1055               0 :     lab3:
    1056               0 :         z->c = z->l - m1;
    1057               0 :         z->ket = z->c;
    1058               0 :         if (!(eq_s_b(z, 15, s_50))) goto lab4;
    1059               0 :         z->bra = z->c;
    1060               0 :         {   int ret = slice_from_s(z, 6, s_51);
    1061               0 :             if (ret < 0) return ret;
    1062                 :         }
    1063               0 :         goto lab0;
    1064               0 :     lab4:
    1065               0 :         z->c = z->l - m1;
    1066               0 :         z->ket = z->c;
    1067               0 :         if (!(eq_s_b(z, 9, s_52))) return 0;
    1068               0 :         z->bra = z->c;
    1069               0 :         {   int ret = slice_del(z);
    1070               0 :             if (ret < 0) return ret;
    1071                 :         }
    1072                 :     }
    1073               0 : lab0:
    1074               0 :     z->I[1] = 1;
    1075               0 :     z->c = z->lb;
    1076               0 :     return 1;
    1077                 : }
    1078                 : 
    1079               0 : static int r_remove_question_suffixes(struct SN_env * z) {
    1080               0 :     {   int ret = r_has_min_length(z);
    1081               0 :         if (ret <= 0) return ret;
    1082                 :     }
    1083               0 :     z->I[1] = 0;
    1084               0 :     z->lb = z->c; z->c = z->l;
    1085                 : 
    1086               0 :     {   int m1 = z->l - z->c; (void)m1;
    1087               0 :         z->ket = z->c;
    1088               0 :         if (!(find_among_b(z, a_14, 3))) goto lab0;
    1089               0 :         z->bra = z->c;
    1090               0 :         {   int ret = slice_from_s(z, 3, s_53);
    1091               0 :             if (ret < 0) return ret;
    1092                 :         }
    1093               0 :         z->I[1] = 1;
    1094               0 :     lab0:
    1095               0 :         z->c = z->l - m1;
    1096                 :     }
    1097               0 :     z->c = z->lb;
    1098                 :     
    1099               0 :     {   int ret = r_fix_endings(z);
    1100               0 :         if (ret < 0) return ret;
    1101                 :     }
    1102               0 :     return 1;
    1103                 : }
    1104                 : 
    1105               0 : static int r_remove_command_suffixes(struct SN_env * z) {
    1106               0 :     {   int ret = r_has_min_length(z);
    1107               0 :         if (ret <= 0) return ret;
    1108                 :     }
    1109               0 :     z->I[1] = 0;
    1110               0 :     z->lb = z->c; z->c = z->l;
    1111                 : 
    1112               0 :     z->ket = z->c;
    1113               0 :     if (z->c - 5 <= z->lb || z->p[z->c - 1] != 191) return 0;
    1114               0 :     if (!(find_among_b(z, a_15, 2))) return 0;
    1115               0 :     z->bra = z->c;
    1116               0 :     {   int ret = slice_del(z);
    1117               0 :         if (ret < 0) return ret;
    1118                 :     }
    1119               0 :     z->I[1] = 1;
    1120               0 :     z->c = z->lb;
    1121               0 :     return 1;
    1122                 : }
    1123                 : 
    1124               0 : static int r_remove_um(struct SN_env * z) {
    1125               0 :     z->I[1] = 0;
    1126               0 :     {   int ret = r_has_min_length(z);
    1127               0 :         if (ret <= 0) return ret;
    1128                 :     }
    1129               0 :     z->lb = z->c; z->c = z->l;
    1130                 : 
    1131               0 :     z->ket = z->c;
    1132               0 :     if (!(eq_s_b(z, 9, s_54))) return 0;
    1133               0 :     z->bra = z->c;
    1134               0 :     {   int ret = slice_from_s(z, 3, s_55);
    1135               0 :         if (ret < 0) return ret;
    1136                 :     }
    1137               0 :     z->I[1] = 1;
    1138               0 :     z->c = z->lb;
    1139               0 :     {   int c1 = z->c;
    1140               0 :         {   int ret = r_fix_ending(z);
    1141               0 :             if (ret < 0) return ret;
    1142                 :         }
    1143               0 :         z->c = c1;
    1144                 :     }
    1145               0 :     return 1;
    1146                 : }
    1147                 : 
    1148               0 : static int r_remove_common_word_endings(struct SN_env * z) {
    1149               0 :     z->I[1] = 0;
    1150               0 :     {   int ret = r_has_min_length(z);
    1151               0 :         if (ret <= 0) return ret;
    1152                 :     }
    1153               0 :     z->lb = z->c; z->c = z->l;
    1154                 : 
    1155               0 :     {   int m1 = z->l - z->c; (void)m1;
    1156               0 :         {   int m_test2 = z->l - z->c;
    1157               0 :             z->ket = z->c;
    1158               0 :             {   int m3 = z->l - z->c; (void)m3;
    1159               0 :                 if (!(eq_s_b(z, 12, s_56))) goto lab3;
    1160               0 :                 goto lab2;
    1161               0 :             lab3:
    1162               0 :                 z->c = z->l - m3;
    1163               0 :                 if (!(eq_s_b(z, 15, s_57))) goto lab4;
    1164               0 :                 goto lab2;
    1165               0 :             lab4:
    1166               0 :                 z->c = z->l - m3;
    1167               0 :                 if (!(eq_s_b(z, 12, s_58))) goto lab5;
    1168               0 :                 goto lab2;
    1169               0 :             lab5:
    1170               0 :                 z->c = z->l - m3;
    1171               0 :                 if (!(eq_s_b(z, 15, s_59))) goto lab6;
    1172               0 :                 goto lab2;
    1173               0 :             lab6:
    1174               0 :                 z->c = z->l - m3;
    1175               0 :                 if (!(eq_s_b(z, 9, s_60))) goto lab7;
    1176               0 :                 goto lab2;
    1177               0 :             lab7:
    1178               0 :                 z->c = z->l - m3;
    1179               0 :                 if (!(eq_s_b(z, 12, s_61))) goto lab8;
    1180               0 :                 goto lab2;
    1181               0 :             lab8:
    1182               0 :                 z->c = z->l - m3;
    1183               0 :                 if (!(eq_s_b(z, 15, s_62))) goto lab9;
    1184               0 :                 goto lab2;
    1185               0 :             lab9:
    1186               0 :                 z->c = z->l - m3;
    1187               0 :                 if (!(eq_s_b(z, 12, s_63))) goto lab10;
    1188               0 :                 goto lab2;
    1189               0 :             lab10:
    1190               0 :                 z->c = z->l - m3;
    1191               0 :                 if (!(eq_s_b(z, 12, s_64))) goto lab11;
    1192               0 :                 goto lab2;
    1193               0 :             lab11:
    1194               0 :                 z->c = z->l - m3;
    1195               0 :                 if (!(eq_s_b(z, 9, s_65))) goto lab12;
    1196               0 :                 goto lab2;
    1197               0 :             lab12:
    1198               0 :                 z->c = z->l - m3;
    1199               0 :                 if (!(eq_s_b(z, 15, s_66))) goto lab13;
    1200               0 :                 goto lab2;
    1201               0 :             lab13:
    1202               0 :                 z->c = z->l - m3;
    1203               0 :                 if (!(eq_s_b(z, 9, s_67))) goto lab14;
    1204               0 :                 {   int m_test4 = z->l - z->c;
    1205               0 :                     {   int m5 = z->l - z->c; (void)m5;
    1206               0 :                         if (!(find_among_b(z, a_16, 8))) goto lab15;
    1207               0 :                         goto lab14;
    1208               0 :                     lab15:
    1209               0 :                         z->c = z->l - m5;
    1210                 :                     }
    1211               0 :                     z->c = z->l - m_test4;
    1212                 :                 }
    1213               0 :                 goto lab2;
    1214               0 :             lab14:
    1215               0 :                 z->c = z->l - m3;
    1216               0 :                 if (!(eq_s_b(z, 6, s_68))) goto lab16;
    1217               0 :                 goto lab2;
    1218               0 :             lab16:
    1219               0 :                 z->c = z->l - m3;
    1220               0 :                 if (!(eq_s_b(z, 9, s_69))) goto lab1;
    1221                 :             }
    1222               0 :         lab2:
    1223               0 :             z->bra = z->c;
    1224               0 :             {   int ret = slice_from_s(z, 3, s_70);
    1225               0 :                 if (ret < 0) return ret;
    1226                 :             }
    1227               0 :             z->I[1] = 1;
    1228               0 :             z->c = z->l - m_test2;
    1229                 :         }
    1230               0 :         goto lab0;
    1231               0 :     lab1:
    1232               0 :         z->c = z->l - m1;
    1233               0 :         {   int m_test6 = z->l - z->c;
    1234               0 :             z->ket = z->c;
    1235               0 :             if (!(find_among_b(z, a_17, 13))) return 0;
    1236               0 :             z->bra = z->c;
    1237               0 :             {   int ret = slice_del(z);
    1238               0 :                 if (ret < 0) return ret;
    1239                 :             }
    1240               0 :             z->I[1] = 1;
    1241               0 :             z->c = z->l - m_test6;
    1242                 :         }
    1243                 :     }
    1244               0 : lab0:
    1245               0 :     z->c = z->lb;
    1246                 :     
    1247               0 :     {   int ret = r_fix_endings(z);
    1248               0 :         if (ret < 0) return ret;
    1249                 :     }
    1250               0 :     return 1;
    1251                 : }
    1252                 : 
    1253               0 : static int r_remove_vetrumai_urupukal(struct SN_env * z) {
    1254               0 :     z->I[1] = 0;
    1255               0 :     z->I[0] = 0;
    1256               0 :     {   int ret = r_has_min_length(z);
    1257               0 :         if (ret <= 0) return ret;
    1258                 :     }
    1259               0 :     z->lb = z->c; z->c = z->l;
    1260                 : 
    1261               0 :     {   int m1 = z->l - z->c; (void)m1;
    1262               0 :         {   int m_test2 = z->l - z->c;
    1263               0 :             z->ket = z->c;
    1264               0 :             if (!(eq_s_b(z, 6, s_71))) goto lab1;
    1265               0 :             z->bra = z->c;
    1266               0 :             {   int ret = slice_del(z);
    1267               0 :                 if (ret < 0) return ret;
    1268                 :             }
    1269               0 :             z->c = z->l - m_test2;
    1270                 :         }
    1271               0 :         goto lab0;
    1272               0 :     lab1:
    1273               0 :         z->c = z->l - m1;
    1274               0 :         {   int m_test3 = z->l - z->c;
    1275               0 :             z->ket = z->c;
    1276               0 :             {   int m4 = z->l - z->c; (void)m4;
    1277               0 :                 {   int m5 = z->l - z->c; (void)m5;
    1278               0 :                     if (!(eq_s_b(z, 9, s_72))) goto lab6;
    1279               0 :                     goto lab5;
    1280               0 :                 lab6:
    1281               0 :                     z->c = z->l - m5;
    1282               0 :                     if (!(eq_s_b(z, 3, s_73))) goto lab4;
    1283                 :                 }
    1284               0 :             lab5:
    1285               0 :                 {   int m_test6 = z->l - z->c;
    1286               0 :                     {   int m7 = z->l - z->c; (void)m7;
    1287               0 :                         if (!(find_among_b(z, a_18, 6))) goto lab7;
    1288               0 :                         goto lab4;
    1289               0 :                     lab7:
    1290               0 :                         z->c = z->l - m7;
    1291                 :                     }
    1292               0 :                     z->c = z->l - m_test6;
    1293                 :                 }
    1294               0 :                 goto lab3;
    1295               0 :             lab4:
    1296               0 :                 z->c = z->l - m4;
    1297               0 :                 if (!(eq_s_b(z, 3, s_74))) goto lab2;
    1298               0 :                 {   int m_test8 = z->l - z->c;
    1299               0 :                     if (!(find_among_b(z, a_19, 6))) goto lab2;
    1300               0 :                     if (!(eq_s_b(z, 3, s_75))) goto lab2;
    1301               0 :                     z->c = z->l - m_test8;
    1302                 :                 }
    1303                 :             }
    1304               0 :         lab3:
    1305               0 :             z->bra = z->c;
    1306               0 :             {   int ret = slice_from_s(z, 3, s_76);
    1307               0 :                 if (ret < 0) return ret;
    1308                 :             }
    1309               0 :             z->c = z->l - m_test3;
    1310                 :         }
    1311               0 :         goto lab0;
    1312               0 :     lab2:
    1313               0 :         z->c = z->l - m1;
    1314               0 :         {   int m_test9 = z->l - z->c;
    1315               0 :             z->ket = z->c;
    1316               0 :             {   int m10 = z->l - z->c; (void)m10;
    1317               0 :                 if (!(eq_s_b(z, 9, s_77))) goto lab10;
    1318               0 :                 goto lab9;
    1319               0 :             lab10:
    1320               0 :                 z->c = z->l - m10;
    1321               0 :                 if (!(eq_s_b(z, 9, s_78))) goto lab11;
    1322               0 :                 goto lab9;
    1323               0 :             lab11:
    1324               0 :                 z->c = z->l - m10;
    1325               0 :                 if (!(eq_s_b(z, 9, s_79))) goto lab12;
    1326               0 :                 goto lab9;
    1327               0 :             lab12:
    1328               0 :                 z->c = z->l - m10;
    1329               0 :                 if (!(eq_s_b(z, 9, s_80))) goto lab13;
    1330               0 :                 goto lab9;
    1331               0 :             lab13:
    1332               0 :                 z->c = z->l - m10;
    1333               0 :                 if (!(eq_s_b(z, 9, s_81))) goto lab14;
    1334               0 :                 {   int m_test11 = z->l - z->c;
    1335               0 :                     {   int m12 = z->l - z->c; (void)m12;
    1336               0 :                         if (!(eq_s_b(z, 3, s_82))) goto lab15;
    1337               0 :                         goto lab14;
    1338               0 :                     lab15:
    1339               0 :                         z->c = z->l - m12;
    1340                 :                     }
    1341               0 :                     z->c = z->l - m_test11;
    1342                 :                 }
    1343               0 :                 goto lab9;
    1344               0 :             lab14:
    1345               0 :                 z->c = z->l - m10;
    1346               0 :                 if (!(eq_s_b(z, 15, s_83))) goto lab16;
    1347               0 :                 goto lab9;
    1348               0 :             lab16:
    1349               0 :                 z->c = z->l - m10;
    1350               0 :                 if (!(eq_s_b(z, 21, s_84))) goto lab17;
    1351               0 :                 goto lab9;
    1352               0 :             lab17:
    1353               0 :                 z->c = z->l - m10;
    1354               0 :                 if (!(eq_s_b(z, 9, s_85))) goto lab18;
    1355               0 :                 goto lab9;
    1356               0 :             lab18:
    1357               0 :                 z->c = z->l - m10;
    1358               0 :                 if (!(len_utf8(z->p) >= 7)) goto lab19;
    1359               0 :                 if (!(eq_s_b(z, 12, s_86))) goto lab19;
    1360               0 :                 goto lab9;
    1361               0 :             lab19:
    1362               0 :                 z->c = z->l - m10;
    1363               0 :                 if (!(eq_s_b(z, 9, s_87))) goto lab20;
    1364               0 :                 goto lab9;
    1365               0 :             lab20:
    1366               0 :                 z->c = z->l - m10;
    1367               0 :                 if (!(eq_s_b(z, 9, s_88))) goto lab21;
    1368               0 :                 goto lab9;
    1369               0 :             lab21:
    1370               0 :                 z->c = z->l - m10;
    1371               0 :                 if (!(eq_s_b(z, 12, s_89))) goto lab22;
    1372               0 :                 goto lab9;
    1373               0 :             lab22:
    1374               0 :                 z->c = z->l - m10;
    1375               0 :                 if (!(eq_s_b(z, 6, s_90))) goto lab23;
    1376               0 :                 {   int m_test13 = z->l - z->c;
    1377               0 :                     {   int m14 = z->l - z->c; (void)m14;
    1378               0 :                         if (!(find_among_b(z, a_20, 8))) goto lab24;
    1379               0 :                         goto lab23;
    1380               0 :                     lab24:
    1381               0 :                         z->c = z->l - m14;
    1382                 :                     }
    1383               0 :                     z->c = z->l - m_test13;
    1384                 :                 }
    1385               0 :                 goto lab9;
    1386               0 :             lab23:
    1387               0 :                 z->c = z->l - m10;
    1388               0 :                 if (!(eq_s_b(z, 9, s_91))) goto lab8;
    1389                 :             }
    1390               0 :         lab9:
    1391               0 :             z->bra = z->c;
    1392               0 :             {   int ret = slice_from_s(z, 3, s_92);
    1393               0 :                 if (ret < 0) return ret;
    1394                 :             }
    1395               0 :             z->c = z->l - m_test9;
    1396                 :         }
    1397               0 :         goto lab0;
    1398               0 :     lab8:
    1399               0 :         z->c = z->l - m1;
    1400               0 :         {   int m_test15 = z->l - z->c;
    1401               0 :             z->ket = z->c;
    1402               0 :             {   int m16 = z->l - z->c; (void)m16;
    1403               0 :                 if (!(eq_s_b(z, 9, s_93))) goto lab27;
    1404               0 :                 goto lab26;
    1405               0 :             lab27:
    1406               0 :                 z->c = z->l - m16;
    1407               0 :                 if (!(eq_s_b(z, 12, s_94))) goto lab28;
    1408               0 :                 goto lab26;
    1409               0 :             lab28:
    1410               0 :                 z->c = z->l - m16;
    1411               0 :                 if (!(eq_s_b(z, 12, s_95))) goto lab29;
    1412               0 :                 goto lab26;
    1413               0 :             lab29:
    1414               0 :                 z->c = z->l - m16;
    1415               0 :                 if (!(eq_s_b(z, 12, s_96))) goto lab30;
    1416               0 :                 goto lab26;
    1417               0 :             lab30:
    1418               0 :                 z->c = z->l - m16;
    1419               0 :                 if (!(eq_s_b(z, 12, s_97))) goto lab31;
    1420               0 :                 goto lab26;
    1421               0 :             lab31:
    1422               0 :                 z->c = z->l - m16;
    1423               0 :                 if (!(eq_s_b(z, 12, s_98))) goto lab32;
    1424               0 :                 goto lab26;
    1425               0 :             lab32:
    1426               0 :                 z->c = z->l - m16;
    1427               0 :                 if (!(eq_s_b(z, 6, s_99))) goto lab25;
    1428               0 :                 {   int m_test17 = z->l - z->c;
    1429               0 :                     {   int m18 = z->l - z->c; (void)m18;
    1430               0 :                         if (!(find_among_b(z, a_21, 8))) goto lab33;
    1431               0 :                         goto lab25;
    1432               0 :                     lab33:
    1433               0 :                         z->c = z->l - m18;
    1434                 :                     }
    1435               0 :                     z->c = z->l - m_test17;
    1436                 :                 }
    1437                 :             }
    1438               0 :         lab26:
    1439               0 :             z->bra = z->c;
    1440               0 :             {   int ret = slice_del(z);
    1441               0 :                 if (ret < 0) return ret;
    1442                 :             }
    1443               0 :             z->c = z->l - m_test15;
    1444                 :         }
    1445               0 :         goto lab0;
    1446               0 :     lab25:
    1447               0 :         z->c = z->l - m1;
    1448               0 :         {   int m_test19 = z->l - z->c;
    1449               0 :             z->ket = z->c;
    1450               0 :             if (!(eq_s_b(z, 3, s_100))) return 0;
    1451               0 :             z->bra = z->c;
    1452               0 :             {   int ret = slice_from_s(z, 3, s_101);
    1453               0 :                 if (ret < 0) return ret;
    1454                 :             }
    1455               0 :             z->c = z->l - m_test19;
    1456                 :         }
    1457                 :     }
    1458               0 : lab0:
    1459               0 :     z->I[1] = 1;
    1460               0 :     z->I[0] = 1;
    1461               0 :     {   int m20 = z->l - z->c; (void)m20;
    1462               0 :         z->ket = z->c;
    1463               0 :         if (!(eq_s_b(z, 9, s_102))) goto lab34;
    1464               0 :         z->bra = z->c;
    1465               0 :         {   int ret = slice_from_s(z, 3, s_103);
    1466               0 :             if (ret < 0) return ret;
    1467                 :         }
    1468               0 :     lab34:
    1469               0 :         z->c = z->l - m20;
    1470                 :     }
    1471               0 :     z->c = z->lb;
    1472                 :     
    1473               0 :     {   int ret = r_fix_endings(z);
    1474               0 :         if (ret < 0) return ret;
    1475                 :     }
    1476               0 :     return 1;
    1477                 : }
    1478                 : 
    1479               0 : static int r_remove_tense_suffixes(struct SN_env * z) {
    1480               0 :     z->I[1] = 1;
    1481               0 :     while(1) {
    1482               0 :         int c1 = z->c;
    1483               0 :         if (!(z->I[1])) goto lab0;
    1484               0 :         {   int c2 = z->c;
    1485               0 :             {   int ret = r_remove_tense_suffix(z);
    1486               0 :                 if (ret < 0) return ret;
    1487                 :             }
    1488               0 :             z->c = c2;
    1489                 :         }
    1490               0 :         continue;
    1491               0 :     lab0:
    1492               0 :         z->c = c1;
    1493               0 :         break;
    1494                 :     }
    1495               0 :     return 1;
    1496                 : }
    1497                 : 
    1498               0 : static int r_remove_tense_suffix(struct SN_env * z) {
    1499               0 :     z->I[1] = 0;
    1500               0 :     {   int ret = r_has_min_length(z);
    1501               0 :         if (ret <= 0) return ret;
    1502                 :     }
    1503               0 :     z->lb = z->c; z->c = z->l;
    1504                 : 
    1505               0 :     {   int m1 = z->l - z->c; (void)m1;
    1506               0 :         {   int m2 = z->l - z->c; (void)m2;
    1507               0 :             {   int m_test3 = z->l - z->c;
    1508               0 :                 z->ket = z->c;
    1509               0 :                 if (z->c - 8 <= z->lb || (z->p[z->c - 1] != 129 && z->p[z->c - 1] != 141)) goto lab2;
    1510               0 :                 if (!(find_among_b(z, a_22, 2))) goto lab2;
    1511               0 :                 z->bra = z->c;
    1512               0 :                 {   int ret = slice_del(z);
    1513               0 :                     if (ret < 0) return ret;
    1514                 :                 }
    1515               0 :                 z->I[1] = 1;
    1516               0 :                 z->c = z->l - m_test3;
    1517                 :             }
    1518               0 :             goto lab1;
    1519               0 :         lab2:
    1520               0 :             z->c = z->l - m2;
    1521               0 :             {   int m_test4 = z->l - z->c;
    1522               0 :                 z->ket = z->c;
    1523               0 :                 {   int m5 = z->l - z->c; (void)m5;
    1524               0 :                     if (!(eq_s_b(z, 12, s_104))) goto lab5;
    1525               0 :                     goto lab4;
    1526               0 :                 lab5:
    1527               0 :                     z->c = z->l - m5;
    1528               0 :                     if (!(eq_s_b(z, 12, s_105))) goto lab6;
    1529               0 :                     goto lab4;
    1530               0 :                 lab6:
    1531               0 :                     z->c = z->l - m5;
    1532               0 :                     if (!(eq_s_b(z, 9, s_106))) goto lab7;
    1533               0 :                     goto lab4;
    1534               0 :                 lab7:
    1535               0 :                     z->c = z->l - m5;
    1536               0 :                     if (!(eq_s_b(z, 12, s_107))) goto lab8;
    1537               0 :                     goto lab4;
    1538               0 :                 lab8:
    1539               0 :                     z->c = z->l - m5;
    1540               0 :                     if (!(eq_s_b(z, 12, s_108))) goto lab9;
    1541               0 :                     goto lab4;
    1542               0 :                 lab9:
    1543               0 :                     z->c = z->l - m5;
    1544               0 :                     if (!(eq_s_b(z, 12, s_109))) goto lab10;
    1545               0 :                     goto lab4;
    1546               0 :                 lab10:
    1547               0 :                     z->c = z->l - m5;
    1548               0 :                     if (!(eq_s_b(z, 9, s_110))) goto lab11;
    1549               0 :                     {   int m_test6 = z->l - z->c;
    1550               0 :                         {   int m7 = z->l - z->c; (void)m7;
    1551               0 :                             if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((1951712 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab12;
    1552               0 :                             if (!(find_among_b(z, a_23, 12))) goto lab12;
    1553               0 :                             goto lab11;
    1554               0 :                         lab12:
    1555               0 :                             z->c = z->l - m7;
    1556                 :                         }
    1557               0 :                         z->c = z->l - m_test6;
    1558                 :                     }
    1559               0 :                     goto lab4;
    1560               0 :                 lab11:
    1561               0 :                     z->c = z->l - m5;
    1562               0 :                     if (!(eq_s_b(z, 9, s_111))) goto lab13;
    1563               0 :                     goto lab4;
    1564               0 :                 lab13:
    1565               0 :                     z->c = z->l - m5;
    1566               0 :                     if (!(eq_s_b(z, 9, s_112))) goto lab14;
    1567               0 :                     goto lab4;
    1568               0 :                 lab14:
    1569               0 :                     z->c = z->l - m5;
    1570               0 :                     if (!(eq_s_b(z, 9, s_113))) goto lab15;
    1571               0 :                     goto lab4;
    1572               0 :                 lab15:
    1573               0 :                     z->c = z->l - m5;
    1574               0 :                     if (!(eq_s_b(z, 9, s_114))) goto lab16;
    1575               0 :                     goto lab4;
    1576               0 :                 lab16:
    1577               0 :                     z->c = z->l - m5;
    1578               0 :                     if (!(eq_s_b(z, 3, s_115))) goto lab17;
    1579               0 :                     goto lab4;
    1580               0 :                 lab17:
    1581               0 :                     z->c = z->l - m5;
    1582               0 :                     if (!(eq_s_b(z, 3, s_116))) goto lab18;
    1583               0 :                     goto lab4;
    1584               0 :                 lab18:
    1585               0 :                     z->c = z->l - m5;
    1586               0 :                     if (!(eq_s_b(z, 3, s_117))) goto lab19;
    1587               0 :                     goto lab4;
    1588               0 :                 lab19:
    1589               0 :                     z->c = z->l - m5;
    1590               0 :                     if (!(eq_s_b(z, 3, s_118))) goto lab20;
    1591               0 :                     goto lab4;
    1592               0 :                 lab20:
    1593               0 :                     z->c = z->l - m5;
    1594               0 :                     if (!(eq_s_b(z, 3, s_119))) goto lab21;
    1595               0 :                     goto lab4;
    1596               0 :                 lab21:
    1597               0 :                     z->c = z->l - m5;
    1598               0 :                     if (!(eq_s_b(z, 9, s_120))) goto lab22;
    1599               0 :                     goto lab4;
    1600               0 :                 lab22:
    1601               0 :                     z->c = z->l - m5;
    1602               0 :                     if (!(eq_s_b(z, 9, s_121))) goto lab23;
    1603               0 :                     goto lab4;
    1604               0 :                 lab23:
    1605               0 :                     z->c = z->l - m5;
    1606               0 :                     if (!(eq_s_b(z, 9, s_122))) goto lab24;
    1607               0 :                     goto lab4;
    1608               0 :                 lab24:
    1609               0 :                     z->c = z->l - m5;
    1610               0 :                     if (!(eq_s_b(z, 6, s_123))) goto lab25;
    1611               0 :                     {   int m_test8 = z->l - z->c;
    1612               0 :                         {   int m9 = z->l - z->c; (void)m9;
    1613               0 :                             if (!(find_among_b(z, a_24, 8))) goto lab26;
    1614               0 :                             goto lab25;
    1615               0 :                         lab26:
    1616               0 :                             z->c = z->l - m9;
    1617                 :                         }
    1618               0 :                         z->c = z->l - m_test8;
    1619                 :                     }
    1620               0 :                     goto lab4;
    1621               0 :                 lab25:
    1622               0 :                     z->c = z->l - m5;
    1623               0 :                     if (!(eq_s_b(z, 15, s_124))) goto lab27;
    1624               0 :                     goto lab4;
    1625               0 :                 lab27:
    1626               0 :                     z->c = z->l - m5;
    1627               0 :                     if (!(eq_s_b(z, 9, s_125))) goto lab28;
    1628               0 :                     goto lab4;
    1629               0 :                 lab28:
    1630               0 :                     z->c = z->l - m5;
    1631               0 :                     if (!(eq_s_b(z, 9, s_126))) goto lab29;
    1632               0 :                     goto lab4;
    1633               0 :                 lab29:
    1634               0 :                     z->c = z->l - m5;
    1635               0 :                     if (!(eq_s_b(z, 12, s_127))) goto lab30;
    1636               0 :                     goto lab4;
    1637               0 :                 lab30:
    1638               0 :                     z->c = z->l - m5;
    1639               0 :                     if (!(eq_s_b(z, 12, s_128))) goto lab31;
    1640               0 :                     goto lab4;
    1641               0 :                 lab31:
    1642               0 :                     z->c = z->l - m5;
    1643               0 :                     if (!(eq_s_b(z, 12, s_129))) goto lab32;
    1644               0 :                     goto lab4;
    1645               0 :                 lab32:
    1646               0 :                     z->c = z->l - m5;
    1647               0 :                     if (!(eq_s_b(z, 12, s_130))) goto lab33;
    1648               0 :                     goto lab4;
    1649               0 :                 lab33:
    1650               0 :                     z->c = z->l - m5;
    1651               0 :                     if (!(eq_s_b(z, 6, s_131))) goto lab34;
    1652               0 :                     goto lab4;
    1653               0 :                 lab34:
    1654               0 :                     z->c = z->l - m5;
    1655               0 :                     if (!(eq_s_b(z, 6, s_132))) goto lab3;
    1656                 :                 }
    1657               0 :             lab4:
    1658               0 :                 z->bra = z->c;
    1659               0 :                 {   int ret = slice_del(z);
    1660               0 :                     if (ret < 0) return ret;
    1661                 :                 }
    1662               0 :                 z->I[1] = 1;
    1663               0 :                 z->c = z->l - m_test4;
    1664                 :             }
    1665               0 :             goto lab1;
    1666               0 :         lab3:
    1667               0 :             z->c = z->l - m2;
    1668               0 :             {   int m_test10 = z->l - z->c;
    1669               0 :                 z->ket = z->c;
    1670               0 :                 {   int m11 = z->l - z->c; (void)m11;
    1671               0 :                     if (!(eq_s_b(z, 9, s_133))) goto lab37;
    1672               0 :                     {   int m_test12 = z->l - z->c;
    1673               0 :                         {   int m13 = z->l - z->c; (void)m13;
    1674               0 :                             if (!(eq_s_b(z, 3, s_134))) goto lab38;
    1675               0 :                             goto lab37;
    1676               0 :                         lab38:
    1677               0 :                             z->c = z->l - m13;
    1678                 :                         }
    1679               0 :                         z->c = z->l - m_test12;
    1680                 :                     }
    1681               0 :                     goto lab36;
    1682               0 :                 lab37:
    1683               0 :                     z->c = z->l - m11;
    1684               0 :                     if (!(eq_s_b(z, 9, s_135))) goto lab39;
    1685               0 :                     goto lab36;
    1686               0 :                 lab39:
    1687               0 :                     z->c = z->l - m11;
    1688               0 :                     if (!(eq_s_b(z, 9, s_136))) goto lab40;
    1689               0 :                     goto lab36;
    1690               0 :                 lab40:
    1691               0 :                     z->c = z->l - m11;
    1692               0 :                     if (!(eq_s_b(z, 9, s_137))) goto lab41;
    1693               0 :                     goto lab36;
    1694               0 :                 lab41:
    1695               0 :                     z->c = z->l - m11;
    1696               0 :                     if (!(eq_s_b(z, 3, s_138))) goto lab42;
    1697               0 :                     goto lab36;
    1698               0 :                 lab42:
    1699               0 :                     z->c = z->l - m11;
    1700               0 :                     if (!(eq_s_b(z, 9, s_139))) goto lab43;
    1701               0 :                     goto lab36;
    1702               0 :                 lab43:
    1703               0 :                     z->c = z->l - m11;
    1704               0 :                     if (!(eq_s_b(z, 9, s_140))) goto lab44;
    1705               0 :                     goto lab36;
    1706               0 :                 lab44:
    1707               0 :                     z->c = z->l - m11;
    1708               0 :                     if (!(eq_s_b(z, 9, s_141))) goto lab45;
    1709               0 :                     goto lab36;
    1710               0 :                 lab45:
    1711               0 :                     z->c = z->l - m11;
    1712               0 :                     if (!(eq_s_b(z, 9, s_142))) goto lab46;
    1713               0 :                     goto lab36;
    1714               0 :                 lab46:
    1715               0 :                     z->c = z->l - m11;
    1716               0 :                     if (!(eq_s_b(z, 12, s_143))) goto lab47;
    1717               0 :                     goto lab36;
    1718               0 :                 lab47:
    1719               0 :                     z->c = z->l - m11;
    1720               0 :                     if (!(eq_s_b(z, 12, s_144))) goto lab48;
    1721               0 :                     goto lab36;
    1722               0 :                 lab48:
    1723               0 :                     z->c = z->l - m11;
    1724               0 :                     if (!(eq_s_b(z, 12, s_145))) goto lab49;
    1725               0 :                     goto lab36;
    1726               0 :                 lab49:
    1727               0 :                     z->c = z->l - m11;
    1728               0 :                     if (!(eq_s_b(z, 12, s_146))) goto lab50;
    1729               0 :                     goto lab36;
    1730               0 :                 lab50:
    1731               0 :                     z->c = z->l - m11;
    1732               0 :                     if (!(eq_s_b(z, 9, s_147))) goto lab51;
    1733               0 :                     goto lab36;
    1734               0 :                 lab51:
    1735               0 :                     z->c = z->l - m11;
    1736               0 :                     if (!(eq_s_b(z, 12, s_148))) goto lab52;
    1737               0 :                     goto lab36;
    1738               0 :                 lab52:
    1739               0 :                     z->c = z->l - m11;
    1740               0 :                     if (!(eq_s_b(z, 12, s_149))) goto lab53;
    1741               0 :                     goto lab36;
    1742               0 :                 lab53:
    1743               0 :                     z->c = z->l - m11;
    1744               0 :                     if (!(eq_s_b(z, 9, s_150))) goto lab54;
    1745               0 :                     goto lab36;
    1746               0 :                 lab54:
    1747               0 :                     z->c = z->l - m11;
    1748               0 :                     if (!(eq_s_b(z, 12, s_151))) goto lab35;
    1749                 :                 }
    1750               0 :             lab36:
    1751               0 :                 z->bra = z->c;
    1752               0 :                 {   int ret = slice_from_s(z, 3, s_152);
    1753               0 :                     if (ret < 0) return ret;
    1754                 :                 }
    1755               0 :                 z->I[1] = 1;
    1756               0 :                 z->c = z->l - m_test10;
    1757                 :             }
    1758               0 :             goto lab1;
    1759               0 :         lab35:
    1760               0 :             z->c = z->l - m2;
    1761               0 :             {   int m_test14 = z->l - z->c;
    1762               0 :                 z->ket = z->c;
    1763               0 :                 {   int m15 = z->l - z->c; (void)m15;
    1764               0 :                     if (!(eq_s_b(z, 6, s_153))) goto lab56;
    1765               0 :                     goto lab55;
    1766               0 :                 lab56:
    1767               0 :                     z->c = z->l - m15;
    1768               0 :                     if (!(eq_s_b(z, 6, s_154))) goto lab0;
    1769                 :                 }
    1770               0 :             lab55:
    1771               0 :                 {   int m_test16 = z->l - z->c;
    1772               0 :                     if (!(eq_s_b(z, 3, s_155))) goto lab0;
    1773               0 :                     z->c = z->l - m_test16;
    1774                 :                 }
    1775               0 :                 z->bra = z->c;
    1776               0 :                 {   int ret = slice_del(z);
    1777               0 :                     if (ret < 0) return ret;
    1778                 :                 }
    1779               0 :                 z->I[1] = 1;
    1780               0 :                 z->c = z->l - m_test14;
    1781                 :             }
    1782                 :         }
    1783               0 :     lab1:
    1784               0 :     lab0:
    1785               0 :         z->c = z->l - m1;
    1786                 :     }
    1787               0 :     {   int m17 = z->l - z->c; (void)m17;
    1788               0 :         z->ket = z->c;
    1789               0 :         if (z->c - 8 <= z->lb || (z->p[z->c - 1] != 141 && z->p[z->c - 1] != 177)) goto lab57;
    1790               0 :         if (!(find_among_b(z, a_25, 6))) goto lab57;
    1791               0 :         z->bra = z->c;
    1792               0 :         {   int ret = slice_del(z);
    1793               0 :             if (ret < 0) return ret;
    1794                 :         }
    1795               0 :         z->I[1] = 1;
    1796               0 :     lab57:
    1797               0 :         z->c = z->l - m17;
    1798                 :     }
    1799               0 :     z->c = z->lb;
    1800                 :     
    1801               0 :     {   int ret = r_fix_endings(z);
    1802               0 :         if (ret < 0) return ret;
    1803                 :     }
    1804               0 :     return 1;
    1805                 : }
    1806                 : 
    1807               0 : extern int tamil_UTF_8_stem(struct SN_env * z) {
    1808               0 :     z->I[0] = 0;
    1809               0 :     {   int c1 = z->c;
    1810               0 :         {   int ret = r_fix_ending(z);
    1811               0 :             if (ret < 0) return ret;
    1812                 :         }
    1813               0 :         z->c = c1;
    1814                 :     }
    1815               0 :     {   int ret = r_has_min_length(z);
    1816               0 :         if (ret <= 0) return ret;
    1817                 :     }
    1818               0 :     {   int c2 = z->c;
    1819               0 :         {   int ret = r_remove_question_prefixes(z);
    1820               0 :             if (ret < 0) return ret;
    1821                 :         }
    1822               0 :         z->c = c2;
    1823                 :     }
    1824               0 :     {   int c3 = z->c;
    1825               0 :         {   int ret = r_remove_pronoun_prefixes(z);
    1826               0 :             if (ret < 0) return ret;
    1827                 :         }
    1828               0 :         z->c = c3;
    1829                 :     }
    1830               0 :     {   int c4 = z->c;
    1831               0 :         {   int ret = r_remove_question_suffixes(z);
    1832               0 :             if (ret < 0) return ret;
    1833                 :         }
    1834               0 :         z->c = c4;
    1835                 :     }
    1836               0 :     {   int c5 = z->c;
    1837               0 :         {   int ret = r_remove_um(z);
    1838               0 :             if (ret < 0) return ret;
    1839                 :         }
    1840               0 :         z->c = c5;
    1841                 :     }
    1842               0 :     {   int c6 = z->c;
    1843               0 :         {   int ret = r_remove_common_word_endings(z);
    1844               0 :             if (ret < 0) return ret;
    1845                 :         }
    1846               0 :         z->c = c6;
    1847                 :     }
    1848               0 :     {   int c7 = z->c;
    1849               0 :         {   int ret = r_remove_vetrumai_urupukal(z);
    1850               0 :             if (ret < 0) return ret;
    1851                 :         }
    1852               0 :         z->c = c7;
    1853                 :     }
    1854               0 :     {   int c8 = z->c;
    1855               0 :         {   int ret = r_remove_plural_suffix(z);
    1856               0 :             if (ret < 0) return ret;
    1857                 :         }
    1858               0 :         z->c = c8;
    1859                 :     }
    1860               0 :     {   int c9 = z->c;
    1861               0 :         {   int ret = r_remove_command_suffixes(z);
    1862               0 :             if (ret < 0) return ret;
    1863                 :         }
    1864               0 :         z->c = c9;
    1865                 :     }
    1866               0 :     {   int c10 = z->c;
    1867               0 :         {   int ret = r_remove_tense_suffixes(z);
    1868               0 :             if (ret < 0) return ret;
    1869                 :         }
    1870               0 :         z->c = c10;
    1871                 :     }
    1872               0 :     return 1;
    1873                 : }
    1874                 : 
    1875               0 : extern struct SN_env * tamil_UTF_8_create_env(void) { return SN_create_env(0, 2); }
    1876                 : 
    1877               0 : extern void tamil_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
    1878                 : 
        

Generated by: LCOV version v1.16-55-g56c0a2a