// This file was generated automatically by the Snowball to Java compiler

package org.tartarus.snowball.ext;

import org.tartarus.snowball.Among;
import org.tartarus.snowball.SnowballProgram;

 /**
  * This class was automatically generated by a Snowball to Java compiler 
  * It implements the stemming algorithm defined by a snowball script.
  */

public class CatalanStemmer extends SnowballProgram {

private static final long serialVersionUID = 1L;

        private final static CatalanStemmer methodObject = new CatalanStemmer ();

                private final static Among a_0[] = {
                    new Among ( "", -1, 13, "", methodObject ),
                    new Among ( "\u00B7", 0, 12, "", methodObject ),
                    new Among ( "\u00E0", 0, 2, "", methodObject ),
                    new Among ( "\u00E1", 0, 1, "", methodObject ),
                    new Among ( "\u00E8", 0, 4, "", methodObject ),
                    new Among ( "\u00E9", 0, 3, "", methodObject ),
                    new Among ( "\u00EC", 0, 6, "", methodObject ),
                    new Among ( "\u00ED", 0, 5, "", methodObject ),
                    new Among ( "\u00EF", 0, 11, "", methodObject ),
                    new Among ( "\u00F2", 0, 8, "", methodObject ),
                    new Among ( "\u00F3", 0, 7, "", methodObject ),
                    new Among ( "\u00FA", 0, 9, "", methodObject ),
                    new Among ( "\u00FC", 0, 10, "", methodObject )
                };

                private final static Among a_1[] = {
                    new Among ( "la", -1, 1, "", methodObject ),
                    new Among ( "-la", 0, 1, "", methodObject ),
                    new Among ( "sela", 0, 1, "", methodObject ),
                    new Among ( "le", -1, 1, "", methodObject ),
                    new Among ( "me", -1, 1, "", methodObject ),
                    new Among ( "-me", 4, 1, "", methodObject ),
                    new Among ( "se", -1, 1, "", methodObject ),
                    new Among ( "-te", -1, 1, "", methodObject ),
                    new Among ( "hi", -1, 1, "", methodObject ),
                    new Among ( "'hi", 8, 1, "", methodObject ),
                    new Among ( "li", -1, 1, "", methodObject ),
                    new Among ( "-li", 10, 1, "", methodObject ),
                    new Among ( "'l", -1, 1, "", methodObject ),
                    new Among ( "'m", -1, 1, "", methodObject ),
                    new Among ( "-m", -1, 1, "", methodObject ),
                    new Among ( "'n", -1, 1, "", methodObject ),
                    new Among ( "-n", -1, 1, "", methodObject ),
                    new Among ( "ho", -1, 1, "", methodObject ),
                    new Among ( "'ho", 17, 1, "", methodObject ),
                    new Among ( "lo", -1, 1, "", methodObject ),
                    new Among ( "selo", 19, 1, "", methodObject ),
                    new Among ( "'s", -1, 1, "", methodObject ),
                    new Among ( "las", -1, 1, "", methodObject ),
                    new Among ( "selas", 22, 1, "", methodObject ),
                    new Among ( "les", -1, 1, "", methodObject ),
                    new Among ( "-les", 24, 1, "", methodObject ),
                    new Among ( "'ls", -1, 1, "", methodObject ),
                    new Among ( "-ls", -1, 1, "", methodObject ),
                    new Among ( "'ns", -1, 1, "", methodObject ),
                    new Among ( "-ns", -1, 1, "", methodObject ),
                    new Among ( "ens", -1, 1, "", methodObject ),
                    new Among ( "los", -1, 1, "", methodObject ),
                    new Among ( "selos", 31, 1, "", methodObject ),
                    new Among ( "nos", -1, 1, "", methodObject ),
                    new Among ( "-nos", 33, 1, "", methodObject ),
                    new Among ( "vos", -1, 1, "", methodObject ),
                    new Among ( "us", -1, 1, "", methodObject ),
                    new Among ( "-us", 36, 1, "", methodObject ),
                    new Among ( "'t", -1, 1, "", methodObject )
                };

                private final static Among a_2[] = {
                    new Among ( "ica", -1, 4, "", methodObject ),
                    new Among ( "l\u00F3gica", 0, 3, "", methodObject ),
                    new Among ( "enca", -1, 1, "", methodObject ),
                    new Among ( "ada", -1, 2, "", methodObject ),
                    new Among ( "ancia", -1, 1, "", methodObject ),
                    new Among ( "encia", -1, 1, "", methodObject ),
                    new Among ( "\u00E8ncia", -1, 1, "", methodObject ),
                    new Among ( "\u00EDcia", -1, 1, "", methodObject ),
                    new Among ( "logia", -1, 3, "", methodObject ),
                    new Among ( "inia", -1, 1, "", methodObject ),
                    new Among ( "\u00EDinia", 9, 1, "", methodObject ),
                    new Among ( "eria", -1, 1, "", methodObject ),
                    new Among ( "\u00E0ria", -1, 1, "", methodObject ),
                    new Among ( "at\u00F2ria", -1, 1, "", methodObject ),
                    new Among ( "alla", -1, 1, "", methodObject ),
                    new Among ( "ella", -1, 1, "", methodObject ),
                    new Among ( "\u00EDvola", -1, 1, "", methodObject ),
                    new Among ( "ima", -1, 1, "", methodObject ),
                    new Among ( "\u00EDssima", 17, 1, "", methodObject ),
                    new Among ( "qu\u00EDssima", 18, 5, "", methodObject ),
                    new Among ( "ana", -1, 1, "", methodObject ),
                    new Among ( "ina", -1, 1, "", methodObject ),
                    new Among ( "era", -1, 1, "", methodObject ),
                    new Among ( "sfera", 22, 1, "", methodObject ),
                    new Among ( "ora", -1, 1, "", methodObject ),
                    new Among ( "dora", 24, 1, "", methodObject ),
                    new Among ( "adora", 25, 1, "", methodObject ),
                    new Among ( "adura", -1, 1, "", methodObject ),
                    new Among ( "esa", -1, 1, "", methodObject ),
                    new Among ( "osa", -1, 1, "", methodObject ),
                    new Among ( "assa", -1, 1, "", methodObject ),
                    new Among ( "essa", -1, 1, "", methodObject ),
                    new Among ( "issa", -1, 1, "", methodObject ),
                    new Among ( "eta", -1, 1, "", methodObject ),
                    new Among ( "ita", -1, 1, "", methodObject ),
                    new Among ( "ota", -1, 1, "", methodObject ),
                    new Among ( "ista", -1, 1, "", methodObject ),
                    new Among ( "ialista", 36, 1, "", methodObject ),
                    new Among ( "ionista", 36, 1, "", methodObject ),
                    new Among ( "iva", -1, 1, "", methodObject ),
                    new Among ( "ativa", 39, 1, "", methodObject ),
                    new Among ( "n\u00E7a", -1, 1, "", methodObject ),
                    new Among ( "log\u00EDa", -1, 3, "", methodObject ),
                    new Among ( "ic", -1, 4, "", methodObject ),
                    new Among ( "\u00EDstic", 43, 1, "", methodObject ),
                    new Among ( "enc", -1, 1, "", methodObject ),
                    new Among ( "esc", -1, 1, "", methodObject ),
                    new Among ( "ud", -1, 1, "", methodObject ),
                    new Among ( "atge", -1, 1, "", methodObject ),
                    new Among ( "ble", -1, 1, "", methodObject ),
                    new Among ( "able", 49, 1, "", methodObject ),
                    new Among ( "ible", 49, 1, "", methodObject ),
                    new Among ( "isme", -1, 1, "", methodObject ),
                    new Among ( "ialisme", 52, 1, "", methodObject ),
                    new Among ( "ionisme", 52, 1, "", methodObject ),
                    new Among ( "ivisme", 52, 1, "", methodObject ),
                    new Among ( "aire", -1, 1, "", methodObject ),
                    new Among ( "icte", -1, 1, "", methodObject ),
                    new Among ( "iste", -1, 1, "", methodObject ),
                    new Among ( "ici", -1, 1, "", methodObject ),
                    new Among ( "\u00EDci", -1, 1, "", methodObject ),
                    new Among ( "logi", -1, 3, "", methodObject ),
                    new Among ( "ari", -1, 1, "", methodObject ),
                    new Among ( "tori", -1, 1, "", methodObject ),
                    new Among ( "al", -1, 1, "", methodObject ),
                    new Among ( "il", -1, 1, "", methodObject ),
                    new Among ( "all", -1, 1, "", methodObject ),
                    new Among ( "ell", -1, 1, "", methodObject ),
                    new Among ( "\u00EDvol", -1, 1, "", methodObject ),
                    new Among ( "isam", -1, 1, "", methodObject ),
                    new Among ( "issem", -1, 1, "", methodObject ),
                    new Among ( "\u00ECssem", -1, 1, "", methodObject ),
                    new Among ( "\u00EDssem", -1, 1, "", methodObject ),
                    new Among ( "\u00EDssim", -1, 1, "", methodObject ),
                    new Among ( "qu\u00EDssim", 73, 5, "", methodObject ),
                    new Among ( "amen", -1, 1, "", methodObject ),
                    new Among ( "\u00ECssin", -1, 1, "", methodObject ),
                    new Among ( "ar", -1, 1, "", methodObject ),
                    new Among ( "ificar", 77, 1, "", methodObject ),
                    new Among ( "egar", 77, 1, "", methodObject ),
                    new Among ( "ejar", 77, 1, "", methodObject ),
                    new Among ( "itar", 77, 1, "", methodObject ),
                    new Among ( "itzar", 77, 1, "", methodObject ),
                    new Among ( "fer", -1, 1, "", methodObject ),
                    new Among ( "or", -1, 1, "", methodObject ),
                    new Among ( "dor", 84, 1, "", methodObject ),
                    new Among ( "dur", -1, 1, "", methodObject ),
                    new Among ( "doras", -1, 1, "", methodObject ),
                    new Among ( "ics", -1, 4, "", methodObject ),
                    new Among ( "l\u00F3gics", 88, 3, "", methodObject ),
                    new Among ( "uds", -1, 1, "", methodObject ),
                    new Among ( "nces", -1, 1, "", methodObject ),
                    new Among ( "ades", -1, 2, "", methodObject ),
                    new Among ( "ancies", -1, 1, "", methodObject ),
                    new Among ( "encies", -1, 1, "", methodObject ),
                    new Among ( "\u00E8ncies", -1, 1, "", methodObject ),
                    new Among ( "\u00EDcies", -1, 1, "", methodObject ),
                    new Among ( "logies", -1, 3, "", methodObject ),
                    new Among ( "inies", -1, 1, "", methodObject ),
                    new Among ( "\u00EDnies", -1, 1, "", methodObject ),
                    new Among ( "eries", -1, 1, "", methodObject ),
                    new Among ( "\u00E0ries", -1, 1, "", methodObject ),
                    new Among ( "at\u00F2ries", -1, 1, "", methodObject ),
                    new Among ( "bles", -1, 1, "", methodObject ),
                    new Among ( "ables", 103, 1, "", methodObject ),
                    new Among ( "ibles", 103, 1, "", methodObject ),
                    new Among ( "imes", -1, 1, "", methodObject ),
                    new Among ( "\u00EDssimes", 106, 1, "", methodObject ),
                    new Among ( "qu\u00EDssimes", 107, 5, "", methodObject ),
                    new Among ( "formes", -1, 1, "", methodObject ),
                    new Among ( "ismes", -1, 1, "", methodObject ),
                    new Among ( "ialismes", 110, 1, "", methodObject ),
                    new Among ( "ines", -1, 1, "", methodObject ),
                    new Among ( "eres", -1, 1, "", methodObject ),
                    new Among ( "ores", -1, 1, "", methodObject ),
                    new Among ( "dores", 114, 1, "", methodObject ),
                    new Among ( "idores", 115, 1, "", methodObject ),
                    new Among ( "dures", -1, 1, "", methodObject ),
                    new Among ( "eses", -1, 1, "", methodObject ),
                    new Among ( "oses", -1, 1, "", methodObject ),
                    new Among ( "asses", -1, 1, "", methodObject ),
                    new Among ( "ictes", -1, 1, "", methodObject ),
                    new Among ( "ites", -1, 1, "", methodObject ),
                    new Among ( "otes", -1, 1, "", methodObject ),
                    new Among ( "istes", -1, 1, "", methodObject ),
                    new Among ( "ialistes", 124, 1, "", methodObject ),
                    new Among ( "ionistes", 124, 1, "", methodObject ),
                    new Among ( "iques", -1, 4, "", methodObject ),
                    new Among ( "l\u00F3giques", 127, 3, "", methodObject ),
                    new Among ( "ives", -1, 1, "", methodObject ),
                    new Among ( "atives", 129, 1, "", methodObject ),
                    new Among ( "log\u00EDes", -1, 3, "", methodObject ),
                    new Among ( "alleng\u00FCes", -1, 1, "", methodObject ),
                    new Among ( "icis", -1, 1, "", methodObject ),
                    new Among ( "\u00EDcis", -1, 1, "", methodObject ),
                    new Among ( "logis", -1, 3, "", methodObject ),
                    new Among ( "aris", -1, 1, "", methodObject ),
                    new Among ( "toris", -1, 1, "", methodObject ),
                    new Among ( "ls", -1, 1, "", methodObject ),
                    new Among ( "als", 138, 1, "", methodObject ),
                    new Among ( "ells", 138, 1, "", methodObject ),
                    new Among ( "ims", -1, 1, "", methodObject ),
                    new Among ( "\u00EDssims", 141, 1, "", methodObject ),
                    new Among ( "qu\u00EDssims", 142, 5, "", methodObject ),
                    new Among ( "ions", -1, 1, "", methodObject ),
                    new Among ( "cions", 144, 1, "", methodObject ),
                    new Among ( "acions", 145, 2, "", methodObject ),
                    new Among ( "esos", -1, 1, "", methodObject ),
                    new Among ( "osos", -1, 1, "", methodObject ),
                    new Among ( "assos", -1, 1, "", methodObject ),
                    new Among ( "issos", -1, 1, "", methodObject ),
                    new Among ( "ers", -1, 1, "", methodObject ),
                    new Among ( "ors", -1, 1, "", methodObject ),
                    new Among ( "dors", 152, 1, "", methodObject ),
                    new Among ( "adors", 153, 1, "", methodObject ),
                    new Among ( "idors", 153, 1, "", methodObject ),
                    new Among ( "ats", -1, 1, "", methodObject ),
                    new Among ( "itats", 156, 1, "", methodObject ),
                    new Among ( "bilitats", 157, 1, "", methodObject ),
                    new Among ( "ivitats", 157, 1, "", methodObject ),
                    new Among ( "ativitats", 159, 1, "", methodObject ),
                    new Among ( "\u00EFtats", 156, 1, "", methodObject ),
                    new Among ( "ets", -1, 1, "", methodObject ),
                    new Among ( "ants", -1, 1, "", methodObject ),
                    new Among ( "ents", -1, 1, "", methodObject ),
                    new Among ( "ments", 164, 1, "", methodObject ),
                    new Among ( "aments", 165, 1, "", methodObject ),
                    new Among ( "ots", -1, 1, "", methodObject ),
                    new Among ( "uts", -1, 1, "", methodObject ),
                    new Among ( "ius", -1, 1, "", methodObject ),
                    new Among ( "trius", 169, 1, "", methodObject ),
                    new Among ( "atius", 169, 1, "", methodObject ),
                    new Among ( "\u00E8s", -1, 1, "", methodObject ),
                    new Among ( "\u00E9s", -1, 1, "", methodObject ),
                    new Among ( "\u00EDs", -1, 1, "", methodObject ),
                    new Among ( "d\u00EDs", 174, 1, "", methodObject ),
                    new Among ( "\u00F3s", -1, 1, "", methodObject ),
                    new Among ( "itat", -1, 1, "", methodObject ),
                    new Among ( "bilitat", 177, 1, "", methodObject ),
                    new Among ( "ivitat", 177, 1, "", methodObject ),
                    new Among ( "ativitat", 179, 1, "", methodObject ),
                    new Among ( "\u00EFtat", -1, 1, "", methodObject ),
                    new Among ( "et", -1, 1, "", methodObject ),
                    new Among ( "ant", -1, 1, "", methodObject ),
                    new Among ( "ent", -1, 1, "", methodObject ),
                    new Among ( "ient", 184, 1, "", methodObject ),
                    new Among ( "ment", 184, 1, "", methodObject ),
                    new Among ( "ament", 186, 1, "", methodObject ),
                    new Among ( "isament", 187, 1, "", methodObject ),
                    new Among ( "ot", -1, 1, "", methodObject ),
                    new Among ( "isseu", -1, 1, "", methodObject ),
                    new Among ( "\u00ECsseu", -1, 1, "", methodObject ),
                    new Among ( "\u00EDsseu", -1, 1, "", methodObject ),
                    new Among ( "triu", -1, 1, "", methodObject ),
                    new Among ( "\u00EDssiu", -1, 1, "", methodObject ),
                    new Among ( "atiu", -1, 1, "", methodObject ),
                    new Among ( "\u00F3", -1, 1, "", methodObject ),
                    new Among ( "i\u00F3", 196, 1, "", methodObject ),
                    new Among ( "ci\u00F3", 197, 1, "", methodObject ),
                    new Among ( "aci\u00F3", 198, 1, "", methodObject )
                };

                private final static Among a_3[] = {
                    new Among ( "aba", -1, 1, "", methodObject ),
                    new Among ( "esca", -1, 1, "", methodObject ),
                    new Among ( "isca", -1, 1, "", methodObject ),
                    new Among ( "\u00EFsca", -1, 1, "", methodObject ),
                    new Among ( "ada", -1, 1, "", methodObject ),
                    new Among ( "ida", -1, 1, "", methodObject ),
                    new Among ( "uda", -1, 1, "", methodObject ),
                    new Among ( "\u00EFda", -1, 1, "", methodObject ),
                    new Among ( "ia", -1, 1, "", methodObject ),
                    new Among ( "aria", 8, 1, "", methodObject ),
                    new Among ( "iria", 8, 1, "", methodObject ),
                    new Among ( "ara", -1, 1, "", methodObject ),
                    new Among ( "iera", -1, 1, "", methodObject ),
                    new Among ( "ira", -1, 1, "", methodObject ),
                    new Among ( "adora", -1, 1, "", methodObject ),
                    new Among ( "\u00EFra", -1, 1, "", methodObject ),
                    new Among ( "ava", -1, 1, "", methodObject ),
                    new Among ( "ixa", -1, 1, "", methodObject ),
                    new Among ( "itza", -1, 1, "", methodObject ),
                    new Among ( "\u00EDa", -1, 1, "", methodObject ),
                    new Among ( "ar\u00EDa", 19, 1, "", methodObject ),
                    new Among ( "er\u00EDa", 19, 1, "", methodObject ),
                    new Among ( "ir\u00EDa", 19, 1, "", methodObject ),
                    new Among ( "\u00EFa", -1, 1, "", methodObject ),
                    new Among ( "isc", -1, 1, "", methodObject ),
                    new Among ( "\u00EFsc", -1, 1, "", methodObject ),
                    new Among ( "ad", -1, 1, "", methodObject ),
                    new Among ( "ed", -1, 1, "", methodObject ),
                    new Among ( "id", -1, 1, "", methodObject ),
                    new Among ( "ie", -1, 1, "", methodObject ),
                    new Among ( "re", -1, 1, "", methodObject ),
                    new Among ( "dre", 30, 1, "", methodObject ),
                    new Among ( "ase", -1, 1, "", methodObject ),
                    new Among ( "iese", -1, 1, "", methodObject ),
                    new Among ( "aste", -1, 1, "", methodObject ),
                    new Among ( "iste", -1, 1, "", methodObject ),
                    new Among ( "ii", -1, 1, "", methodObject ),
                    new Among ( "ini", -1, 1, "", methodObject ),
                    new Among ( "esqui", -1, 1, "", methodObject ),
                    new Among ( "eixi", -1, 1, "", methodObject ),
                    new Among ( "itzi", -1, 1, "", methodObject ),
                    new Among ( "am", -1, 1, "", methodObject ),
                    new Among ( "em", -1, 1, "", methodObject ),
                    new Among ( "arem", 42, 1, "", methodObject ),
                    new Among ( "irem", 42, 1, "", methodObject ),
                    new Among ( "\u00E0rem", 42, 1, "", methodObject ),
                    new Among ( "\u00EDrem", 42, 1, "", methodObject ),
                    new Among ( "\u00E0ssem", 42, 1, "", methodObject ),
                    new Among ( "\u00E9ssem", 42, 1, "", methodObject ),
                    new Among ( "iguem", 42, 1, "", methodObject ),
                    new Among ( "\u00EFguem", 42, 1, "", methodObject ),
                    new Among ( "avem", 42, 1, "", methodObject ),
                    new Among ( "\u00E0vem", 42, 1, "", methodObject ),
                    new Among ( "\u00E1vem", 42, 1, "", methodObject ),
                    new Among ( "ir\u00ECem", 42, 1, "", methodObject ),
                    new Among ( "\u00EDem", 42, 1, "", methodObject ),
                    new Among ( "ar\u00EDem", 55, 1, "", methodObject ),
                    new Among ( "ir\u00EDem", 55, 1, "", methodObject ),
                    new Among ( "assim", -1, 1, "", methodObject ),
                    new Among ( "essim", -1, 1, "", methodObject ),
                    new Among ( "issim", -1, 1, "", methodObject ),
                    new Among ( "\u00E0ssim", -1, 1, "", methodObject ),
                    new Among ( "\u00E8ssim", -1, 1, "", methodObject ),
                    new Among ( "\u00E9ssim", -1, 1, "", methodObject ),
                    new Among ( "\u00EDssim", -1, 1, "", methodObject ),
                    new Among ( "\u00EFm", -1, 1, "", methodObject ),
                    new Among ( "an", -1, 1, "", methodObject ),
                    new Among ( "aban", 66, 1, "", methodObject ),
                    new Among ( "arian", 66, 1, "", methodObject ),
                    new Among ( "aran", 66, 1, "", methodObject ),
                    new Among ( "ieran", 66, 1, "", methodObject ),
                    new Among ( "iran", 66, 1, "", methodObject ),
                    new Among ( "\u00EDan", 66, 1, "", methodObject ),
                    new Among ( "ar\u00EDan", 72, 1, "", methodObject ),
                    new Among ( "er\u00EDan", 72, 1, "", methodObject ),
                    new Among ( "ir\u00EDan", 72, 1, "", methodObject ),
                    new Among ( "en", -1, 1, "", methodObject ),
                    new Among ( "ien", 76, 1, "", methodObject ),
                    new Among ( "arien", 77, 1, "", methodObject ),
                    new Among ( "irien", 77, 1, "", methodObject ),
                    new Among ( "aren", 76, 1, "", methodObject ),
                    new Among ( "eren", 76, 1, "", methodObject ),
                    new Among ( "iren", 76, 1, "", methodObject ),
                    new Among ( "\u00E0ren", 76, 1, "", methodObject ),
                    new Among ( "\u00EFren", 76, 1, "", methodObject ),
                    new Among ( "asen", 76, 1, "", methodObject ),
                    new Among ( "iesen", 76, 1, "", methodObject ),
                    new Among ( "assen", 76, 1, "", methodObject ),
                    new Among ( "essen", 76, 1, "", methodObject ),
                    new Among ( "issen", 76, 1, "", methodObject ),
                    new Among ( "\u00E9ssen", 76, 1, "", methodObject ),
                    new Among ( "\u00EFssen", 76, 1, "", methodObject ),
                    new Among ( "esquen", 76, 1, "", methodObject ),
                    new Among ( "isquen", 76, 1, "", methodObject ),
                    new Among ( "\u00EFsquen", 76, 1, "", methodObject ),
                    new Among ( "aven", 76, 1, "", methodObject ),
                    new Among ( "ixen", 76, 1, "", methodObject ),
                    new Among ( "eixen", 96, 1, "", methodObject ),
                    new Among ( "\u00EFxen", 76, 1, "", methodObject ),
                    new Among ( "\u00EFen", 76, 1, "", methodObject ),
                    new Among ( "in", -1, 1, "", methodObject ),
                    new Among ( "inin", 100, 1, "", methodObject ),
                    new Among ( "sin", 100, 1, "", methodObject ),
                    new Among ( "isin", 102, 1, "", methodObject ),
                    new Among ( "assin", 102, 1, "", methodObject ),
                    new Among ( "essin", 102, 1, "", methodObject ),
                    new Among ( "issin", 102, 1, "", methodObject ),
                    new Among ( "\u00EFssin", 102, 1, "", methodObject ),
                    new Among ( "esquin", 100, 1, "", methodObject ),
                    new Among ( "eixin", 100, 1, "", methodObject ),
                    new Among ( "aron", -1, 1, "", methodObject ),
                    new Among ( "ieron", -1, 1, "", methodObject ),
                    new Among ( "ar\u00E1n", -1, 1, "", methodObject ),
                    new Among ( "er\u00E1n", -1, 1, "", methodObject ),
                    new Among ( "ir\u00E1n", -1, 1, "", methodObject ),
                    new Among ( "i\u00EFn", -1, 1, "", methodObject ),
                    new Among ( "ado", -1, 1, "", methodObject ),
                    new Among ( "ido", -1, 1, "", methodObject ),
                    new Among ( "ando", -1, 2, "", methodObject ),
                    new Among ( "iendo", -1, 1, "", methodObject ),
                    new Among ( "io", -1, 1, "", methodObject ),
                    new Among ( "ixo", -1, 1, "", methodObject ),
                    new Among ( "eixo", 121, 1, "", methodObject ),
                    new Among ( "\u00EFxo", -1, 1, "", methodObject ),
                    new Among ( "itzo", -1, 1, "", methodObject ),
                    new Among ( "ar", -1, 1, "", methodObject ),
                    new Among ( "tzar", 125, 1, "", methodObject ),
                    new Among ( "er", -1, 1, "", methodObject ),
                    new Among ( "eixer", 127, 1, "", methodObject ),
                    new Among ( "ir", -1, 1, "", methodObject ),
                    new Among ( "ador", -1, 1, "", methodObject ),
                    new Among ( "as", -1, 1, "", methodObject ),
                    new Among ( "abas", 131, 1, "", methodObject ),
                    new Among ( "adas", 131, 1, "", methodObject ),
                    new Among ( "idas", 131, 1, "", methodObject ),
                    new Among ( "aras", 131, 1, "", methodObject ),
                    new Among ( "ieras", 131, 1, "", methodObject ),
                    new Among ( "\u00EDas", 131, 1, "", methodObject ),
                    new Among ( "ar\u00EDas", 137, 1, "", methodObject ),
                    new Among ( "er\u00EDas", 137, 1, "", methodObject ),
                    new Among ( "ir\u00EDas", 137, 1, "", methodObject ),
                    new Among ( "ids", -1, 1, "", methodObject ),
                    new Among ( "es", -1, 1, "", methodObject ),
                    new Among ( "ades", 142, 1, "", methodObject ),
                    new Among ( "ides", 142, 1, "", methodObject ),
                    new Among ( "udes", 142, 1, "", methodObject ),
                    new Among ( "\u00EFdes", 142, 1, "", methodObject ),
                    new Among ( "atges", 142, 1, "", methodObject ),
                    new Among ( "ies", 142, 1, "", methodObject ),
                    new Among ( "aries", 148, 1, "", methodObject ),
                    new Among ( "iries", 148, 1, "", methodObject ),
                    new Among ( "ares", 142, 1, "", methodObject ),
                    new Among ( "ires", 142, 1, "", methodObject ),
                    new Among ( "adores", 142, 1, "", methodObject ),
                    new Among ( "\u00EFres", 142, 1, "", methodObject ),
                    new Among ( "ases", 142, 1, "", methodObject ),
                    new Among ( "ieses", 142, 1, "", methodObject ),
                    new Among ( "asses", 142, 1, "", methodObject ),
                    new Among ( "esses", 142, 1, "", methodObject ),
                    new Among ( "isses", 142, 1, "", methodObject ),
                    new Among ( "\u00EFsses", 142, 1, "", methodObject ),
                    new Among ( "ques", 142, 1, "", methodObject ),
                    new Among ( "esques", 161, 1, "", methodObject ),
                    new Among ( "\u00EFsques", 161, 1, "", methodObject ),
                    new Among ( "aves", 142, 1, "", methodObject ),
                    new Among ( "ixes", 142, 1, "", methodObject ),
                    new Among ( "eixes", 165, 1, "", methodObject ),
                    new Among ( "\u00EFxes", 142, 1, "", methodObject ),
                    new Among ( "\u00EFes", 142, 1, "", methodObject ),
                    new Among ( "abais", -1, 1, "", methodObject ),
                    new Among ( "arais", -1, 1, "", methodObject ),
                    new Among ( "ierais", -1, 1, "", methodObject ),
                    new Among ( "\u00EDais", -1, 1, "", methodObject ),
                    new Among ( "ar\u00EDais", 172, 1, "", methodObject ),
                    new Among ( "er\u00EDais", 172, 1, "", methodObject ),
                    new Among ( "ir\u00EDais", 172, 1, "", methodObject ),
                    new Among ( "aseis", -1, 1, "", methodObject ),
                    new Among ( "ieseis", -1, 1, "", methodObject ),
                    new Among ( "asteis", -1, 1, "", methodObject ),
                    new Among ( "isteis", -1, 1, "", methodObject ),
                    new Among ( "inis", -1, 1, "", methodObject ),
                    new Among ( "sis", -1, 1, "", methodObject ),
                    new Among ( "isis", 181, 1, "", methodObject ),
                    new Among ( "assis", 181, 1, "", methodObject ),
                    new Among ( "essis", 181, 1, "", methodObject ),
                    new Among ( "issis", 181, 1, "", methodObject ),
                    new Among ( "\u00EFssis", 181, 1, "", methodObject ),
                    new Among ( "esquis", -1, 1, "", methodObject ),
                    new Among ( "eixis", -1, 1, "", methodObject ),
                    new Among ( "itzis", -1, 1, "", methodObject ),
                    new Among ( "\u00E1is", -1, 1, "", methodObject ),
                    new Among ( "ar\u00E9is", -1, 1, "", methodObject ),
                    new Among ( "er\u00E9is", -1, 1, "", methodObject ),
                    new Among ( "ir\u00E9is", -1, 1, "", methodObject ),
                    new Among ( "ams", -1, 1, "", methodObject ),
                    new Among ( "ados", -1, 1, "", methodObject ),
                    new Among ( "idos", -1, 1, "", methodObject ),
                    new Among ( "amos", -1, 1, "", methodObject ),
                    new Among ( "\u00E1bamos", 197, 1, "", methodObject ),
                    new Among ( "\u00E1ramos", 197, 1, "", methodObject ),
                    new Among ( "i\u00E9ramos", 197, 1, "", methodObject ),
                    new Among ( "\u00EDamos", 197, 1, "", methodObject ),
                    new Among ( "ar\u00EDamos", 201, 1, "", methodObject ),
                    new Among ( "er\u00EDamos", 201, 1, "", methodObject ),
                    new Among ( "ir\u00EDamos", 201, 1, "", methodObject ),
                    new Among ( "aremos", -1, 1, "", methodObject ),
                    new Among ( "eremos", -1, 1, "", methodObject ),
                    new Among ( "iremos", -1, 1, "", methodObject ),
                    new Among ( "\u00E1semos", -1, 1, "", methodObject ),
                    new Among ( "i\u00E9semos", -1, 1, "", methodObject ),
                    new Among ( "imos", -1, 1, "", methodObject ),
                    new Among ( "adors", -1, 1, "", methodObject ),
                    new Among ( "ass", -1, 1, "", methodObject ),
                    new Among ( "erass", 212, 1, "", methodObject ),
                    new Among ( "ess", -1, 1, "", methodObject ),
                    new Among ( "ats", -1, 1, "", methodObject ),
                    new Among ( "its", -1, 1, "", methodObject ),
                    new Among ( "ents", -1, 1, "", methodObject ),
                    new Among ( "\u00E0s", -1, 1, "", methodObject ),
                    new Among ( "ar\u00E0s", 218, 1, "", methodObject ),
                    new Among ( "ir\u00E0s", 218, 1, "", methodObject ),
                    new Among ( "ar\u00E1s", -1, 1, "", methodObject ),
                    new Among ( "er\u00E1s", -1, 1, "", methodObject ),
                    new Among ( "ir\u00E1s", -1, 1, "", methodObject ),
                    new Among ( "\u00E9s", -1, 1, "", methodObject ),
                    new Among ( "ar\u00E9s", 224, 1, "", methodObject ),
                    new Among ( "\u00EDs", -1, 1, "", methodObject ),
                    new Among ( "i\u00EFs", -1, 1, "", methodObject ),
                    new Among ( "at", -1, 1, "", methodObject ),
                    new Among ( "it", -1, 1, "", methodObject ),
                    new Among ( "ant", -1, 1, "", methodObject ),
                    new Among ( "ent", -1, 1, "", methodObject ),
                    new Among ( "int", -1, 1, "", methodObject ),
                    new Among ( "ut", -1, 1, "", methodObject ),
                    new Among ( "\u00EFt", -1, 1, "", methodObject ),
                    new Among ( "au", -1, 1, "", methodObject ),
                    new Among ( "erau", 235, 1, "", methodObject ),
                    new Among ( "ieu", -1, 1, "", methodObject ),
                    new Among ( "ineu", -1, 1, "", methodObject ),
                    new Among ( "areu", -1, 1, "", methodObject ),
                    new Among ( "ireu", -1, 1, "", methodObject ),
                    new Among ( "\u00E0reu", -1, 1, "", methodObject ),
                    new Among ( "\u00EDreu", -1, 1, "", methodObject ),
                    new Among ( "asseu", -1, 1, "", methodObject ),
                    new Among ( "esseu", -1, 1, "", methodObject ),
                    new Among ( "eresseu", 244, 1, "", methodObject ),
                    new Among ( "\u00E0sseu", -1, 1, "", methodObject ),
                    new Among ( "\u00E9sseu", -1, 1, "", methodObject ),
                    new Among ( "igueu", -1, 1, "", methodObject ),
                    new Among ( "\u00EFgueu", -1, 1, "", methodObject ),
                    new Among ( "\u00E0veu", -1, 1, "", methodObject ),
                    new Among ( "\u00E1veu", -1, 1, "", methodObject ),
                    new Among ( "itzeu", -1, 1, "", methodObject ),
                    new Among ( "\u00ECeu", -1, 1, "", methodObject ),
                    new Among ( "ir\u00ECeu", 253, 1, "", methodObject ),
                    new Among ( "\u00EDeu", -1, 1, "", methodObject ),
                    new Among ( "ar\u00EDeu", 255, 1, "", methodObject ),
                    new Among ( "ir\u00EDeu", 255, 1, "", methodObject ),
                    new Among ( "assiu", -1, 1, "", methodObject ),
                    new Among ( "issiu", -1, 1, "", methodObject ),
                    new Among ( "\u00E0ssiu", -1, 1, "", methodObject ),
                    new Among ( "\u00E8ssiu", -1, 1, "", methodObject ),
                    new Among ( "\u00E9ssiu", -1, 1, "", methodObject ),
                    new Among ( "\u00EDssiu", -1, 1, "", methodObject ),
                    new Among ( "\u00EFu", -1, 1, "", methodObject ),
                    new Among ( "ix", -1, 1, "", methodObject ),
                    new Among ( "eix", 265, 1, "", methodObject ),
                    new Among ( "\u00EFx", -1, 1, "", methodObject ),
                    new Among ( "itz", -1, 1, "", methodObject ),
                    new Among ( "i\u00E0", -1, 1, "", methodObject ),
                    new Among ( "ar\u00E0", -1, 1, "", methodObject ),
                    new Among ( "ir\u00E0", -1, 1, "", methodObject ),
                    new Among ( "itz\u00E0", -1, 1, "", methodObject ),
                    new Among ( "ar\u00E1", -1, 1, "", methodObject ),
                    new Among ( "er\u00E1", -1, 1, "", methodObject ),
                    new Among ( "ir\u00E1", -1, 1, "", methodObject ),
                    new Among ( "ir\u00E8", -1, 1, "", methodObject ),
                    new Among ( "ar\u00E9", -1, 1, "", methodObject ),
                    new Among ( "er\u00E9", -1, 1, "", methodObject ),
                    new Among ( "ir\u00E9", -1, 1, "", methodObject ),
                    new Among ( "\u00ED", -1, 1, "", methodObject ),
                    new Among ( "i\u00EF", -1, 1, "", methodObject ),
                    new Among ( "i\u00F3", -1, 1, "", methodObject )
                };

                private final static Among a_4[] = {
                    new Among ( "a", -1, 1, "", methodObject ),
                    new Among ( "e", -1, 1, "", methodObject ),
                    new Among ( "i", -1, 1, "", methodObject ),
                    new Among ( "\u00EFn", -1, 1, "", methodObject ),
                    new Among ( "o", -1, 1, "", methodObject ),
                    new Among ( "ir", -1, 1, "", methodObject ),
                    new Among ( "s", -1, 1, "", methodObject ),
                    new Among ( "is", 6, 1, "", methodObject ),
                    new Among ( "os", 6, 1, "", methodObject ),
                    new Among ( "\u00EFs", 6, 1, "", methodObject ),
                    new Among ( "it", -1, 1, "", methodObject ),
                    new Among ( "eu", -1, 1, "", methodObject ),
                    new Among ( "iu", -1, 1, "", methodObject ),
                    new Among ( "iqu", -1, 2, "", methodObject ),
                    new Among ( "itz", -1, 1, "", methodObject ),
                    new Among ( "\u00E0", -1, 1, "", methodObject ),
                    new Among ( "\u00E1", -1, 1, "", methodObject ),
                    new Among ( "\u00E9", -1, 1, "", methodObject ),
                    new Among ( "\u00EC", -1, 1, "", methodObject ),
                    new Among ( "\u00ED", -1, 1, "", methodObject ),
                    new Among ( "\u00EF", -1, 1, "", methodObject ),
                    new Among ( "\u00F3", -1, 1, "", methodObject )
                };

                private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 129, 81, 6, 10 };

        private int I_p2;
        private int I_p1;

                private void copy_from(CatalanStemmer other) {
                    I_p2 = other.I_p2;
                    I_p1 = other.I_p1;
                    super.copy_from(other);
                }

                private boolean r_mark_regions() {
            int v_1;
                    // (, line 41
                    I_p1 = limit;
                    I_p2 = limit;
                    // do, line 46
                    v_1 = cursor;
                    lab0: do {
                        // (, line 46
                        // gopast, line 47
                        golab1: while(true)
                        {
                            lab2: do {
                                if (!(in_grouping(g_v, 97, 252)))
                                {
                                    break lab2;
                                }
                                break golab1;
                            } while (false);
                            if (cursor >= limit)
                            {
                                break lab0;
                            }
                            cursor++;
                        }
                        // gopast, line 47
                        golab3: while(true)
                        {
                            lab4: do {
                                if (!(out_grouping(g_v, 97, 252)))
                                {
                                    break lab4;
                                }
                                break golab3;
                            } while (false);
                            if (cursor >= limit)
                            {
                                break lab0;
                            }
                            cursor++;
                        }
                        // setmark p1, line 47
                        I_p1 = cursor;
                        // gopast, line 48
                        golab5: while(true)
                        {
                            lab6: do {
                                if (!(in_grouping(g_v, 97, 252)))
                                {
                                    break lab6;
                                }
                                break golab5;
                            } while (false);
                            if (cursor >= limit)
                            {
                                break lab0;
                            }
                            cursor++;
                        }
                        // gopast, line 48
                        golab7: while(true)
                        {
                            lab8: do {
                                if (!(out_grouping(g_v, 97, 252)))
                                {
                                    break lab8;
                                }
                                break golab7;
                            } while (false);
                            if (cursor >= limit)
                            {
                                break lab0;
                            }
                            cursor++;
                        }
                        // setmark p2, line 48
                        I_p2 = cursor;
                    } while (false);
                    cursor = v_1;
                    return true;
                }

                private boolean r_cleaning() {
            int among_var;
            int v_1;
                    // repeat, line 52
                    replab0: while(true)
                    {
                        v_1 = cursor;
                        lab1: do {
                            // (, line 52
                            // [, line 53
                            bra = cursor;
                            // substring, line 53
                            among_var = find_among(a_0, 13);
                            if (among_var == 0)
                            {
                                break lab1;
                            }
                            // ], line 53
                            ket = cursor;
                            switch(among_var) {
                                case 0:
                                    break lab1;
                                case 1:
                                    // (, line 54
                                    // <-, line 54
                                    slice_from("a");
                                    break;
                                case 2:
                                    // (, line 55
                                    // <-, line 55
                                    slice_from("a");
                                    break;
                                case 3:
                                    // (, line 56
                                    // <-, line 56
                                    slice_from("e");
                                    break;
                                case 4:
                                    // (, line 57
                                    // <-, line 57
                                    slice_from("e");
                                    break;
                                case 5:
                                    // (, line 58
                                    // <-, line 58
                                    slice_from("i");
                                    break;
                                case 6:
                                    // (, line 59
                                    // <-, line 59
                                    slice_from("i");
                                    break;
                                case 7:
                                    // (, line 60
                                    // <-, line 60
                                    slice_from("o");
                                    break;
                                case 8:
                                    // (, line 61
                                    // <-, line 61
                                    slice_from("o");
                                    break;
                                case 9:
                                    // (, line 62
                                    // <-, line 62
                                    slice_from("u");
                                    break;
                                case 10:
                                    // (, line 63
                                    // <-, line 63
                                    slice_from("u");
                                    break;
                                case 11:
                                    // (, line 64
                                    // <-, line 64
                                    slice_from("i");
                                    break;
                                case 12:
                                    // (, line 65
                                    // <-, line 65
                                    slice_from(".");
                                    break;
                                case 13:
                                    // (, line 66
                                    // next, line 66
                                    if (cursor >= limit)
                                    {
                                        break lab1;
                                    }
                                    cursor++;
                                    break;
                            }
                            continue replab0;
                        } while (false);
                        cursor = v_1;
                        break replab0;
                    }
                    return true;
                }

                private boolean r_R1() {
                    if (!(I_p1 <= cursor))
                    {
                        return false;
                    }
                    return true;
                }

                private boolean r_R2() {
                    if (!(I_p2 <= cursor))
                    {
                        return false;
                    }
                    return true;
                }

                private boolean r_attached_pronoun() {
            int among_var;
                    // (, line 75
                    // [, line 76
                    ket = cursor;
                    // substring, line 76
                    among_var = find_among_b(a_1, 39);
                    if (among_var == 0)
                    {
                        return false;
                    }
                    // ], line 76
                    bra = cursor;
                    switch(among_var) {
                        case 0:
                            return false;
                        case 1:
                            // (, line 86
                            // call R1, line 86
                            if (!r_R1())
                            {
                                return false;
                            }
                            // delete, line 86
                            slice_del();
                            break;
                    }
                    return true;
                }

                private boolean r_standard_suffix() {
            int among_var;
                    // (, line 90
                    // [, line 91
                    ket = cursor;
                    // substring, line 91
                    among_var = find_among_b(a_2, 200);
                    if (among_var == 0)
                    {
                        return false;
                    }
                    // ], line 91
                    bra = cursor;
                    switch(among_var) {
                        case 0:
                            return false;
                        case 1:
                            // (, line 115
                            // call R1, line 115
                            if (!r_R1())
                            {
                                return false;
                            }
                            // delete, line 115
                            slice_del();
                            break;
                        case 2:
                            // (, line 117
                            // call R2, line 117
                            if (!r_R2())
                            {
                                return false;
                            }
                            // delete, line 117
                            slice_del();
                            break;
                        case 3:
                            // (, line 119
                            // call R2, line 119
                            if (!r_R2())
                            {
                                return false;
                            }
                            // <-, line 119
                            slice_from("log");
                            break;
                        case 4:
                            // (, line 121
                            // call R2, line 121
                            if (!r_R2())
                            {
                                return false;
                            }
                            // <-, line 121
                            slice_from("ic");
                            break;
                        case 5:
                            // (, line 123
                            // call R1, line 123
                            if (!r_R1())
                            {
                                return false;
                            }
                            // <-, line 123
                            slice_from("c");
                            break;
                    }
                    return true;
                }

                private boolean r_verb_suffix() {
            int among_var;
                    // (, line 127
                    // [, line 128
                    ket = cursor;
                    // substring, line 128
                    among_var = find_among_b(a_3, 283);
                    if (among_var == 0)
                    {
                        return false;
                    }
                    // ], line 128
                    bra = cursor;
                    switch(among_var) {
                        case 0:
                            return false;
                        case 1:
                            // (, line 173
                            // call R1, line 173
                            if (!r_R1())
                            {
                                return false;
                            }
                            // delete, line 173
                            slice_del();
                            break;
                        case 2:
                            // (, line 175
                            // call R2, line 175
                            if (!r_R2())
                            {
                                return false;
                            }
                            // delete, line 175
                            slice_del();
                            break;
                    }
                    return true;
                }

                private boolean r_residual_suffix() {
            int among_var;
                    // (, line 179
                    // [, line 180
                    ket = cursor;
                    // substring, line 180
                    among_var = find_among_b(a_4, 22);
                    if (among_var == 0)
                    {
                        return false;
                    }
                    // ], line 180
                    bra = cursor;
                    switch(among_var) {
                        case 0:
                            return false;
                        case 1:
                            // (, line 183
                            // call R1, line 183
                            if (!r_R1())
                            {
                                return false;
                            }
                            // delete, line 183
                            slice_del();
                            break;
                        case 2:
                            // (, line 185
                            // call R1, line 185
                            if (!r_R1())
                            {
                                return false;
                            }
                            // <-, line 185
                            slice_from("ic");
                            break;
                    }
                    return true;
                }

                @Override
                public boolean stem() {
            int v_1;
            int v_2;
            int v_3;
            int v_4;
            int v_5;
            int v_6;
                    // (, line 190
                    // do, line 191
                    v_1 = cursor;
                    lab0: do {
                        // call mark_regions, line 191
                        if (!r_mark_regions())
                        {
                            break lab0;
                        }
                    } while (false);
                    cursor = v_1;
                    // backwards, line 192
                    limit_backward = cursor; cursor = limit;
                    // (, line 192
                    // do, line 193
                    v_2 = limit - cursor;
                    lab1: do {
                        // call attached_pronoun, line 193
                        if (!r_attached_pronoun())
                        {
                            break lab1;
                        }
                    } while (false);
                    cursor = limit - v_2;
                    // do, line 194
                    v_3 = limit - cursor;
                    lab2: do {
                        // (, line 194
                        // or, line 194
                        lab3: do {
                            v_4 = limit - cursor;
                            lab4: do {
                                // call standard_suffix, line 194
                                if (!r_standard_suffix())
                                {
                                    break lab4;
                                }
                                break lab3;
                            } while (false);
                            cursor = limit - v_4;
                            // call verb_suffix, line 195
                            if (!r_verb_suffix())
                            {
                                break lab2;
                            }
                        } while (false);
                    } while (false);
                    cursor = limit - v_3;
                    // do, line 197
                    v_5 = limit - cursor;
                    lab5: do {
                        // call residual_suffix, line 197
                        if (!r_residual_suffix())
                        {
                            break lab5;
                        }
                    } while (false);
                    cursor = limit - v_5;
                    cursor = limit_backward;                    // do, line 199
                    v_6 = cursor;
                    lab6: do {
                        // call cleaning, line 199
                        if (!r_cleaning())
                        {
                            break lab6;
                        }
                    } while (false);
                    cursor = v_6;
                    return true;
                }

        @Override
        public boolean equals( Object o ) {
            return o instanceof CatalanStemmer;
        }

        @Override
        public int hashCode() {
            return CatalanStemmer.class.getName().hashCode();
        }



}

