xref: /Lucene/lucene/analysis/common/src/java/org/tartarus/snowball/ext/GreekStemmer.java (revision 0b1d8ccba6cf394f707a09217813a25ec1504e50)
1 // Generated by Snowball 2.0.0 - https://snowballstem.org/
2 
3 package org.tartarus.snowball.ext;
4 
5 import org.tartarus.snowball.Among;
6 
7 /**
8  * This class implements the stemming algorithm defined by a snowball script.
9  *
10  * <p>Generated by Snowball 2.0.0 - https://snowballstem.org/
11  */
12 @SuppressWarnings("unused")
13 public class GreekStemmer extends org.tartarus.snowball.SnowballStemmer {
14 
15   private static final long serialVersionUID = 1L;
16   private static final java.lang.invoke.MethodHandles.Lookup methodObject =
17       java.lang.invoke.MethodHandles.lookup();
18 
19   private static final Among a_0[] = {
20     new Among("", -1, 25),
21     new Among("\u0386", 0, 1),
22     new Among("\u0388", 0, 5),
23     new Among("\u0389", 0, 7),
24     new Among("\u038A", 0, 9),
25     new Among("\u038C", 0, 15),
26     new Among("\u038E", 0, 20),
27     new Among("\u038F", 0, 24),
28     new Among("\u0390", 0, 7),
29     new Among("\u0391", 0, 1),
30     new Among("\u0392", 0, 2),
31     new Among("\u0393", 0, 3),
32     new Among("\u0394", 0, 4),
33     new Among("\u0395", 0, 5),
34     new Among("\u0396", 0, 6),
35     new Among("\u0397", 0, 7),
36     new Among("\u0398", 0, 8),
37     new Among("\u0399", 0, 9),
38     new Among("\u039A", 0, 10),
39     new Among("\u039B", 0, 11),
40     new Among("\u039C", 0, 12),
41     new Among("\u039D", 0, 13),
42     new Among("\u039E", 0, 14),
43     new Among("\u039F", 0, 15),
44     new Among("\u03A0", 0, 16),
45     new Among("\u03A1", 0, 17),
46     new Among("\u03A3", 0, 18),
47     new Among("\u03A4", 0, 19),
48     new Among("\u03A5", 0, 20),
49     new Among("\u03A6", 0, 21),
50     new Among("\u03A7", 0, 22),
51     new Among("\u03A8", 0, 23),
52     new Among("\u03A9", 0, 24),
53     new Among("\u03AA", 0, 9),
54     new Among("\u03AB", 0, 20),
55     new Among("\u03AC", 0, 1),
56     new Among("\u03AD", 0, 5),
57     new Among("\u03AE", 0, 7),
58     new Among("\u03AF", 0, 9),
59     new Among("\u03B0", 0, 20),
60     new Among("\u03C2", 0, 18),
61     new Among("\u03CA", 0, 7),
62     new Among("\u03CB", 0, 20),
63     new Among("\u03CC", 0, 15),
64     new Among("\u03CD", 0, 20),
65     new Among("\u03CE", 0, 24)
66   };
67 
68   private static final Among a_1[] = {
69     new Among("\u03C3\u03BA\u03B1\u03B3\u03B9\u03B1", -1, 2),
70     new Among("\u03C6\u03B1\u03B3\u03B9\u03B1", -1, 1),
71     new Among("\u03BF\u03BB\u03BF\u03B3\u03B9\u03B1", -1, 3),
72     new Among("\u03C3\u03BF\u03B3\u03B9\u03B1", -1, 4),
73     new Among("\u03C4\u03B1\u03C4\u03BF\u03B3\u03B9\u03B1", -1, 5),
74     new Among("\u03BA\u03C1\u03B5\u03B1\u03C4\u03B1", -1, 6),
75     new Among("\u03C0\u03B5\u03C1\u03B1\u03C4\u03B1", -1, 7),
76     new Among("\u03C4\u03B5\u03C1\u03B1\u03C4\u03B1", -1, 8),
77     new Among("\u03B3\u03B5\u03B3\u03BF\u03BD\u03BF\u03C4\u03B1", -1, 11),
78     new Among("\u03BA\u03B1\u03B8\u03B5\u03C3\u03C4\u03C9\u03C4\u03B1", -1, 10),
79     new Among("\u03C6\u03C9\u03C4\u03B1", -1, 9),
80     new Among("\u03C0\u03B5\u03C1\u03B1\u03C4\u03B7", -1, 7),
81     new Among("\u03C3\u03BA\u03B1\u03B3\u03B9\u03C9\u03BD", -1, 2),
82     new Among("\u03C6\u03B1\u03B3\u03B9\u03C9\u03BD", -1, 1),
83     new Among("\u03BF\u03BB\u03BF\u03B3\u03B9\u03C9\u03BD", -1, 3),
84     new Among("\u03C3\u03BF\u03B3\u03B9\u03C9\u03BD", -1, 4),
85     new Among("\u03C4\u03B1\u03C4\u03BF\u03B3\u03B9\u03C9\u03BD", -1, 5),
86     new Among("\u03BA\u03C1\u03B5\u03B1\u03C4\u03C9\u03BD", -1, 6),
87     new Among("\u03C0\u03B5\u03C1\u03B1\u03C4\u03C9\u03BD", -1, 7),
88     new Among("\u03C4\u03B5\u03C1\u03B1\u03C4\u03C9\u03BD", -1, 8),
89     new Among("\u03B3\u03B5\u03B3\u03BF\u03BD\u03BF\u03C4\u03C9\u03BD", -1, 11),
90     new Among("\u03BA\u03B1\u03B8\u03B5\u03C3\u03C4\u03C9\u03C4\u03C9\u03BD", -1, 10),
91     new Among("\u03C6\u03C9\u03C4\u03C9\u03BD", -1, 9),
92     new Among("\u03BA\u03C1\u03B5\u03B1\u03C3", -1, 6),
93     new Among("\u03C0\u03B5\u03C1\u03B1\u03C3", -1, 7),
94     new Among("\u03C4\u03B5\u03C1\u03B1\u03C3", -1, 8),
95     new Among("\u03B3\u03B5\u03B3\u03BF\u03BD\u03BF\u03C3", -1, 11),
96     new Among("\u03BA\u03C1\u03B5\u03B1\u03C4\u03BF\u03C3", -1, 6),
97     new Among("\u03C0\u03B5\u03C1\u03B1\u03C4\u03BF\u03C3", -1, 7),
98     new Among("\u03C4\u03B5\u03C1\u03B1\u03C4\u03BF\u03C3", -1, 8),
99     new Among("\u03B3\u03B5\u03B3\u03BF\u03BD\u03BF\u03C4\u03BF\u03C3", -1, 11),
100     new Among("\u03BA\u03B1\u03B8\u03B5\u03C3\u03C4\u03C9\u03C4\u03BF\u03C3", -1, 10),
101     new Among("\u03C6\u03C9\u03C4\u03BF\u03C3", -1, 9),
102     new Among("\u03BA\u03B1\u03B8\u03B5\u03C3\u03C4\u03C9\u03C3", -1, 10),
103     new Among("\u03C6\u03C9\u03C3", -1, 9),
104     new Among("\u03C3\u03BA\u03B1\u03B3\u03B9\u03BF\u03C5", -1, 2),
105     new Among("\u03C6\u03B1\u03B3\u03B9\u03BF\u03C5", -1, 1),
106     new Among("\u03BF\u03BB\u03BF\u03B3\u03B9\u03BF\u03C5", -1, 3),
107     new Among("\u03C3\u03BF\u03B3\u03B9\u03BF\u03C5", -1, 4),
108     new Among("\u03C4\u03B1\u03C4\u03BF\u03B3\u03B9\u03BF\u03C5", -1, 5)
109   };
110 
111   private static final Among a_2[] = {
112     new Among("\u03C0\u03B1", -1, 1),
113     new Among("\u03BE\u03B1\u03BD\u03B1\u03C0\u03B1", 0, 1),
114     new Among("\u03B5\u03C0\u03B1", 0, 1),
115     new Among("\u03C0\u03B5\u03C1\u03B9\u03C0\u03B1", 0, 1),
116     new Among("\u03B1\u03BD\u03B1\u03BC\u03C0\u03B1", 0, 1),
117     new Among("\u03B5\u03BC\u03C0\u03B1", 0, 1),
118     new Among("\u03B4\u03B1\u03BD\u03B5", -1, 1),
119     new Among("\u03B1\u03B8\u03C1\u03BF", -1, 1),
120     new Among("\u03C3\u03C5\u03BD\u03B1\u03B8\u03C1\u03BF", 7, 1)
121   };
122 
123   private static final Among a_3[] = {
124     new Among("\u03B2", -1, 1),
125     new Among("\u03B2\u03B1\u03B8\u03C5\u03C1\u03B9", -1, 1),
126     new Among("\u03B2\u03B1\u03C1\u03BA", -1, 1),
127     new Among("\u03BC\u03B1\u03C1\u03BA", -1, 1),
128     new Among("\u03BB", -1, 1),
129     new Among("\u03BC", -1, 1),
130     new Among("\u03BA\u03BF\u03C1\u03BD", -1, 1),
131     new Among("\u03C0", -1, 1),
132     new Among("\u03B9\u03BC\u03C0", 7, 1),
133     new Among("\u03C1", -1, 1),
134     new Among("\u03BC\u03B1\u03C1", 9, 1),
135     new Among("\u03B1\u03BC\u03C0\u03B1\u03C1", 9, 1),
136     new Among("\u03B3\u03BA\u03C1", 9, 1),
137     new Among("\u03B2\u03BF\u03BB\u03B2\u03BF\u03C1", 9, 1),
138     new Among("\u03B3\u03BB\u03C5\u03BA\u03BF\u03C1", 9, 1),
139     new Among("\u03C0\u03B9\u03C0\u03B5\u03C1\u03BF\u03C1", 9, 1),
140     new Among("\u03C0\u03C1", 9, 1),
141     new Among("\u03BC\u03C0\u03C1", 16, 1),
142     new Among("\u03B1\u03C1\u03C1", 9, 1),
143     new Among("\u03B3\u03BB\u03C5\u03BA\u03C5\u03C1", 9, 1),
144     new Among("\u03C0\u03BF\u03BB\u03C5\u03C1", 9, 1),
145     new Among("\u03BB\u03BF\u03C5", -1, 1)
146   };
147 
148   private static final Among a_4[] = {
149     new Among("\u03B9\u03B6\u03B1", -1, 1),
150     new Among("\u03B9\u03B6\u03B5", -1, 1),
151     new Among("\u03B9\u03B6\u03B1\u03BC\u03B5", -1, 1),
152     new Among("\u03B9\u03B6\u03BF\u03C5\u03BC\u03B5", -1, 1),
153     new Among("\u03B9\u03B6\u03B1\u03BD\u03B5", -1, 1),
154     new Among("\u03B9\u03B6\u03BF\u03C5\u03BD\u03B5", -1, 1),
155     new Among("\u03B9\u03B6\u03B1\u03C4\u03B5", -1, 1),
156     new Among("\u03B9\u03B6\u03B5\u03C4\u03B5", -1, 1),
157     new Among("\u03B9\u03B6\u03B5\u03B9", -1, 1),
158     new Among("\u03B9\u03B6\u03B1\u03BD", -1, 1),
159     new Among("\u03B9\u03B6\u03BF\u03C5\u03BD", -1, 1),
160     new Among("\u03B9\u03B6\u03B5\u03C3", -1, 1),
161     new Among("\u03B9\u03B6\u03B5\u03B9\u03C3", -1, 1),
162     new Among("\u03B9\u03B6\u03C9", -1, 1)
163   };
164 
165   private static final Among a_5[] = {
166     new Among("\u03B2\u03B9", -1, 1),
167     new Among("\u03BB\u03B9", -1, 1),
168     new Among("\u03B1\u03BB", -1, 1),
169     new Among("\u03B5\u03BD", -1, 1),
170     new Among("\u03C3", -1, 1),
171     new Among("\u03C7", -1, 1),
172     new Among("\u03C5\u03C8", -1, 1),
173     new Among("\u03B6\u03C9", -1, 1)
174   };
175 
176   private static final Among a_6[] = {
177     new Among("\u03C9\u03B8\u03B7\u03BA\u03B1", -1, 1),
178     new Among("\u03C9\u03B8\u03B7\u03BA\u03B5", -1, 1),
179     new Among("\u03C9\u03B8\u03B7\u03BA\u03B1\u03BC\u03B5", -1, 1),
180     new Among("\u03C9\u03B8\u03B7\u03BA\u03B1\u03BD\u03B5", -1, 1),
181     new Among("\u03C9\u03B8\u03B7\u03BA\u03B1\u03C4\u03B5", -1, 1),
182     new Among("\u03C9\u03B8\u03B7\u03BA\u03B1\u03BD", -1, 1),
183     new Among("\u03C9\u03B8\u03B7\u03BA\u03B5\u03C3", -1, 1)
184   };
185 
186   private static final Among a_7[] = {
187     new Among("\u03BE\u03B1\u03BD\u03B1\u03C0\u03B1", -1, 1),
188     new Among("\u03B5\u03C0\u03B1", -1, 1),
189     new Among("\u03C0\u03B5\u03C1\u03B9\u03C0\u03B1", -1, 1),
190     new Among("\u03B1\u03BD\u03B1\u03BC\u03C0\u03B1", -1, 1),
191     new Among("\u03B5\u03BC\u03C0\u03B1", -1, 1),
192     new Among("\u03C7\u03B1\u03C1\u03C4\u03BF\u03C0\u03B1", -1, 1),
193     new Among("\u03B5\u03BE\u03B1\u03C1\u03C7\u03B1", -1, 1),
194     new Among("\u03BA\u03BB\u03B5", -1, 1),
195     new Among("\u03B5\u03BA\u03BB\u03B5", 7, 1),
196     new Among("\u03B1\u03C0\u03B5\u03BA\u03BB\u03B5", 8, 1),
197     new Among("\u03B1\u03C0\u03BF\u03BA\u03BB\u03B5", 7, 1),
198     new Among("\u03B5\u03C3\u03C9\u03BA\u03BB\u03B5", 7, 1),
199     new Among("\u03B4\u03B1\u03BD\u03B5", -1, 1),
200     new Among("\u03C0\u03B5", -1, 1),
201     new Among("\u03B5\u03C0\u03B5", 13, 1),
202     new Among("\u03BC\u03B5\u03C4\u03B5\u03C0\u03B5", 14, 1),
203     new Among("\u03B5\u03C3\u03B5", -1, 1),
204     new Among("\u03B1\u03B8\u03C1\u03BF", -1, 1),
205     new Among("\u03C3\u03C5\u03BD\u03B1\u03B8\u03C1\u03BF", 17, 1)
206   };
207 
208   private static final Among a_8[] = {
209     new Among("\u03B3\u03B5", -1, 1),
210     new Among("\u03B3\u03BA\u03B5", -1, 1),
211     new Among("\u03B3\u03BA", -1, 1),
212     new Among("\u03BC", -1, 1),
213     new Among("\u03C0\u03BF\u03C5\u03BA\u03B1\u03BC", 3, 1),
214     new Among("\u03BA\u03BF\u03BC", 3, 1),
215     new Among("\u03B1\u03BD", -1, 1),
216     new Among("\u03BF\u03BB\u03BF", -1, 1),
217     new Among("\u03C0", -1, 1),
218     new Among("\u03BB\u03B1\u03C1", -1, 1),
219     new Among("\u03B4\u03B7\u03BC\u03BF\u03BA\u03C1\u03B1\u03C4", -1, 1),
220     new Among("\u03B1\u03C6", -1, 1),
221     new Among("\u03B3\u03B9\u03B3\u03B1\u03BD\u03C4\u03BF\u03B1\u03C6", 11, 1)
222   };
223 
224   private static final Among a_9[] = {
225     new Among("\u03B9\u03C3\u03B1", -1, 1),
226     new Among("\u03B9\u03C3\u03B1\u03BC\u03B5", -1, 1),
227     new Among("\u03B9\u03C3\u03B1\u03BD\u03B5", -1, 1),
228     new Among("\u03B9\u03C3\u03B5", -1, 1),
229     new Among("\u03B9\u03C3\u03B1\u03C4\u03B5", -1, 1),
230     new Among("\u03B9\u03C3\u03B1\u03BD", -1, 1),
231     new Among("\u03B9\u03C3\u03B5\u03C3", -1, 1)
232   };
233 
234   private static final Among a_10[] = {
235     new Among("\u03BE\u03B1\u03BD\u03B1\u03C0\u03B1", -1, 1),
236     new Among("\u03B5\u03C0\u03B1", -1, 1),
237     new Among("\u03C0\u03B5\u03C1\u03B9\u03C0\u03B1", -1, 1),
238     new Among("\u03B1\u03BD\u03B1\u03BC\u03C0\u03B1", -1, 1),
239     new Among("\u03B5\u03BC\u03C0\u03B1", -1, 1),
240     new Among("\u03C7\u03B1\u03C1\u03C4\u03BF\u03C0\u03B1", -1, 1),
241     new Among("\u03B5\u03BE\u03B1\u03C1\u03C7\u03B1", -1, 1),
242     new Among("\u03BA\u03BB\u03B5", -1, 1),
243     new Among("\u03B5\u03BA\u03BB\u03B5", 7, 1),
244     new Among("\u03B1\u03C0\u03B5\u03BA\u03BB\u03B5", 8, 1),
245     new Among("\u03B1\u03C0\u03BF\u03BA\u03BB\u03B5", 7, 1),
246     new Among("\u03B5\u03C3\u03C9\u03BA\u03BB\u03B5", 7, 1),
247     new Among("\u03B4\u03B1\u03BD\u03B5", -1, 1),
248     new Among("\u03C0\u03B5", -1, 1),
249     new Among("\u03B5\u03C0\u03B5", 13, 1),
250     new Among("\u03BC\u03B5\u03C4\u03B5\u03C0\u03B5", 14, 1),
251     new Among("\u03B5\u03C3\u03B5", -1, 1),
252     new Among("\u03B1\u03B8\u03C1\u03BF", -1, 1),
253     new Among("\u03C3\u03C5\u03BD\u03B1\u03B8\u03C1\u03BF", 17, 1)
254   };
255 
256   private static final Among a_11[] = {
257     new Among("\u03B9\u03C3\u03BF\u03C5\u03BC\u03B5", -1, 1),
258     new Among("\u03B9\u03C3\u03BF\u03C5\u03BD\u03B5", -1, 1),
259     new Among("\u03B9\u03C3\u03B5\u03C4\u03B5", -1, 1),
260     new Among("\u03B9\u03C3\u03B5\u03B9", -1, 1),
261     new Among("\u03B9\u03C3\u03BF\u03C5\u03BD", -1, 1),
262     new Among("\u03B9\u03C3\u03B5\u03B9\u03C3", -1, 1),
263     new Among("\u03B9\u03C3\u03C9", -1, 1)
264   };
265 
266   private static final Among a_12[] = {
267     new Among("\u03BA\u03BB\u03B5", -1, 1),
268     new Among("\u03B5\u03C3\u03C9\u03BA\u03BB\u03B5", 0, 1),
269     new Among("\u03C0\u03BB\u03B5", -1, 1),
270     new Among("\u03B4\u03B1\u03BD\u03B5", -1, 1),
271     new Among("\u03C3\u03B5", -1, 1),
272     new Among("\u03B1\u03C3\u03B5", 4, 1),
273     new Among("\u03C3\u03C5\u03BD\u03B1\u03B8\u03C1\u03BF", -1, 1)
274   };
275 
276   private static final Among a_13[] = {
277     new Among("\u03B1\u03C4\u03B1", -1, 1),
278     new Among("\u03C6\u03B1", -1, 1),
279     new Among("\u03B7\u03C6\u03B1", 1, 1),
280     new Among("\u03BC\u03B5\u03B3", -1, 1),
281     new Among("\u03BB\u03C5\u03B3", -1, 1),
282     new Among("\u03B7\u03B4", -1, 1),
283     new Among("\u03BA\u03B1\u03B8", -1, 1),
284     new Among("\u03B5\u03C7\u03B8", -1, 1),
285     new Among("\u03BA\u03B1\u03BA", -1, 1),
286     new Among("\u03BC\u03B1\u03BA", -1, 1),
287     new Among("\u03C3\u03BA", -1, 1),
288     new Among("\u03C6\u03B9\u03BB", -1, 1),
289     new Among("\u03BA\u03C5\u03BB", -1, 1),
290     new Among("\u03BC", -1, 1),
291     new Among("\u03B3\u03B5\u03BC", 13, 1),
292     new Among("\u03B1\u03C7\u03BD", -1, 1),
293     new Among("\u03C0", -1, 1),
294     new Among("\u03B1\u03C0", 16, 1),
295     new Among("\u03B5\u03BC\u03C0", 16, 1),
296     new Among("\u03B5\u03C5\u03C0", 16, 1),
297     new Among("\u03B1\u03C1", -1, 1),
298     new Among("\u03B1\u03BF\u03C1", -1, 1),
299     new Among("\u03B3\u03C5\u03C1", -1, 1),
300     new Among("\u03C7\u03C1", -1, 1),
301     new Among("\u03C7\u03C9\u03C1", -1, 1),
302     new Among("\u03BA\u03C4", -1, 1),
303     new Among("\u03B1\u03BA\u03C4", 25, 1),
304     new Among("\u03C7\u03C4", -1, 1),
305     new Among("\u03B1\u03C7\u03C4", 27, 1),
306     new Among("\u03C4\u03B1\u03C7", -1, 1),
307     new Among("\u03C3\u03C7", -1, 1),
308     new Among("\u03B1\u03C3\u03C7", 30, 1),
309     new Among("\u03C5\u03C8", -1, 1)
310   };
311 
312   private static final Among a_14[] = {
313     new Among("\u03B9\u03C3\u03C4\u03B1", -1, 1),
314     new Among("\u03B9\u03C3\u03C4\u03B5", -1, 1),
315     new Among("\u03B9\u03C3\u03C4\u03B7", -1, 1),
316     new Among("\u03B9\u03C3\u03C4\u03BF\u03B9", -1, 1),
317     new Among("\u03B9\u03C3\u03C4\u03C9\u03BD", -1, 1),
318     new Among("\u03B9\u03C3\u03C4\u03BF", -1, 1),
319     new Among("\u03B9\u03C3\u03C4\u03B5\u03C3", -1, 1),
320     new Among("\u03B9\u03C3\u03C4\u03B7\u03C3", -1, 1),
321     new Among("\u03B9\u03C3\u03C4\u03BF\u03C3", -1, 1),
322     new Among("\u03B9\u03C3\u03C4\u03BF\u03C5\u03C3", -1, 1),
323     new Among("\u03B9\u03C3\u03C4\u03BF\u03C5", -1, 1)
324   };
325 
326   private static final Among a_15[] = {
327     new Among("\u03B5\u03B3\u03BA\u03BB\u03B5", -1, 1),
328     new Among("\u03B1\u03C0\u03BF\u03BA\u03BB\u03B5", -1, 1),
329     new Among("\u03C3\u03B5", -1, 1),
330     new Among("\u03BC\u03B5\u03C4\u03B1\u03C3\u03B5", 2, 1),
331     new Among("\u03BC\u03B9\u03BA\u03C1\u03BF\u03C3\u03B5", 2, 1)
332   };
333 
334   private static final Among a_16[] = {
335     new Among("\u03B4\u03B1\u03BD\u03B5", -1, 1),
336     new Among("\u03B1\u03BD\u03C4\u03B9\u03B4\u03B1\u03BD\u03B5", 0, 1)
337   };
338 
339   private static final Among a_17[] = {
340     new Among("\u03B1\u03C4\u03BF\u03BC\u03B9\u03BA", -1, 2),
341     new Among("\u03B5\u03B8\u03BD\u03B9\u03BA", -1, 4),
342     new Among("\u03C4\u03BF\u03C0\u03B9\u03BA", -1, 7),
343     new Among("\u03B5\u03BA\u03BB\u03B5\u03BA\u03C4\u03B9\u03BA", -1, 5),
344     new Among("\u03C3\u03BA\u03B5\u03C0\u03C4\u03B9\u03BA", -1, 6),
345     new Among("\u03B3\u03BD\u03C9\u03C3\u03C4\u03B9\u03BA", -1, 3),
346     new Among("\u03B1\u03B3\u03BD\u03C9\u03C3\u03C4\u03B9\u03BA", 5, 1),
347     new Among("\u03B1\u03BB\u03B5\u03BE\u03B1\u03BD\u03B4\u03C1\u03B9\u03BD", -1, 8),
348     new Among("\u03B8\u03B5\u03B1\u03C4\u03C1\u03B9\u03BD", -1, 10),
349     new Among("\u03B2\u03C5\u03B6\u03B1\u03BD\u03C4\u03B9\u03BD", -1, 9)
350   };
351 
352   private static final Among a_18[] = {
353     new Among("\u03B9\u03C3\u03BC\u03BF\u03B9", -1, 1),
354     new Among("\u03B9\u03C3\u03BC\u03C9\u03BD", -1, 1),
355     new Among("\u03B9\u03C3\u03BC\u03BF", -1, 1),
356     new Among("\u03B9\u03C3\u03BC\u03BF\u03C3", -1, 1),
357     new Among("\u03B9\u03C3\u03BC\u03BF\u03C5\u03C3", -1, 1),
358     new Among("\u03B9\u03C3\u03BC\u03BF\u03C5", -1, 1)
359   };
360 
361   private static final Among a_19[] = {new Among("\u03C3", -1, 1), new Among("\u03C7", -1, 1)};
362 
363   private static final Among a_20[] = {
364     new Among("\u03BF\u03C5\u03B4\u03B1\u03BA\u03B9\u03B1", -1, 1),
365     new Among("\u03B1\u03C1\u03B1\u03BA\u03B9\u03B1", -1, 1),
366     new Among("\u03BF\u03C5\u03B4\u03B1\u03BA\u03B9", -1, 1),
367     new Among("\u03B1\u03C1\u03B1\u03BA\u03B9", -1, 1)
368   };
369 
370   private static final Among a_21[] = {
371     new Among("\u03B2\u03B1\u03BC\u03B2", -1, 1),
372     new Among("\u03C3\u03BB\u03BF\u03B2", -1, 1),
373     new Among("\u03C4\u03C3\u03B5\u03C7\u03BF\u03C3\u03BB\u03BF\u03B2", 1, 1),
374     new Among("\u03C4\u03B6", -1, 1),
375     new Among("\u03BA", -1, 1),
376     new Among("\u03BA\u03B1\u03C0\u03B1\u03BA", 4, 1),
377     new Among("\u03C3\u03BF\u03BA", 4, 1),
378     new Among("\u03C3\u03BA", 4, 1),
379     new Among("\u03BC\u03B1\u03BB", -1, 1),
380     new Among("\u03C0\u03BB", -1, 1),
381     new Among("\u03BB\u03BF\u03C5\u03BB", -1, 1),
382     new Among("\u03C6\u03C5\u03BB", -1, 1),
383     new Among("\u03BA\u03B1\u03B9\u03BC", -1, 1),
384     new Among("\u03BA\u03BB\u03B9\u03BC", -1, 1),
385     new Among("\u03C6\u03B1\u03C1\u03BC", -1, 1),
386     new Among("\u03C3\u03C0\u03B1\u03BD", -1, 1),
387     new Among("\u03BA\u03BF\u03BD", -1, 1),
388     new Among("\u03BA\u03B1\u03C4\u03C1\u03B1\u03C0", -1, 1),
389     new Among("\u03C1", -1, 1),
390     new Among("\u03B2\u03C1", 18, 1),
391     new Among("\u03BB\u03B1\u03B2\u03C1", 19, 1),
392     new Among("\u03B1\u03BC\u03B2\u03C1", 19, 1),
393     new Among("\u03BC\u03B5\u03C1", 18, 1),
394     new Among("\u03B1\u03BD\u03B8\u03C1", 18, 1),
395     new Among("\u03BA\u03BF\u03C1", 18, 1),
396     new Among("\u03C3", -1, 1),
397     new Among("\u03BD\u03B1\u03B3\u03BA\u03B1\u03C3", 25, 1),
398     new Among("\u03BC\u03BF\u03C5\u03C3\u03C4", -1, 1),
399     new Among("\u03C1\u03C5", -1, 1),
400     new Among("\u03C6", -1, 1),
401     new Among("\u03C3\u03C6", 29, 1),
402     new Among("\u03B1\u03BB\u03B9\u03C3\u03C6", 30, 1),
403     new Among("\u03C7", -1, 1)
404   };
405 
406   private static final Among a_22[] = {
407     new Among("\u03B2", -1, 1),
408     new Among("\u03BA\u03B1\u03C1\u03B4", -1, 1),
409     new Among("\u03B6", -1, 1),
410     new Among("\u03C3\u03BA", -1, 1),
411     new Among("\u03B2\u03B1\u03BB", -1, 1),
412     new Among("\u03B3\u03BB", -1, 1),
413     new Among("\u03C4\u03C1\u03B9\u03C0\u03BF\u03BB", -1, 1),
414     new Among("\u03B3\u03B9\u03B1\u03BD", -1, 1),
415     new Among("\u03B7\u03B3\u03BF\u03C5\u03BC\u03B5\u03BD", -1, 1),
416     new Among("\u03BA\u03BF\u03BD", -1, 1),
417     new Among("\u03BC\u03B1\u03BA\u03C1\u03C5\u03BD", -1, 1),
418     new Among("\u03C0", -1, 1),
419     new Among("\u03C0\u03B1\u03C4\u03B5\u03C1", -1, 1),
420     new Among("\u03C4\u03BF\u03C3", -1, 1),
421     new Among("\u03BD\u03C5\u03C6", -1, 1)
422   };
423 
424   private static final Among a_23[] = {
425     new Among("\u03B1\u03BA\u03B9\u03B1", -1, 1),
426     new Among("\u03B1\u03C1\u03B1\u03BA\u03B9\u03B1", 0, 1),
427     new Among("\u03B9\u03C4\u03C3\u03B1", -1, 1),
428     new Among("\u03B1\u03BA\u03B9", -1, 1),
429     new Among("\u03B1\u03C1\u03B1\u03BA\u03B9", 3, 1),
430     new Among("\u03B9\u03C4\u03C3\u03C9\u03BD", -1, 1),
431     new Among("\u03B9\u03C4\u03C3\u03B1\u03C3", -1, 1),
432     new Among("\u03B9\u03C4\u03C3\u03B5\u03C3", -1, 1)
433   };
434 
435   private static final Among a_24[] = {
436     new Among("\u03C8\u03B1\u03BB", -1, 1),
437     new Among("\u03B1\u03B9\u03C6\u03BD", -1, 1),
438     new Among("\u03BF\u03BB\u03BF", -1, 1),
439     new Among("\u03B9\u03C1", -1, 1)
440   };
441 
442   private static final Among a_25[] = {
443     new Among("\u03B5", -1, 1), new Among("\u03C0\u03B1\u03B9\u03C7\u03BD", -1, 1)
444   };
445 
446   private static final Among a_26[] = {
447     new Among("\u03B9\u03B4\u03B9\u03B1", -1, 1),
448     new Among("\u03B9\u03B4\u03B9\u03C9\u03BD", -1, 1),
449     new Among("\u03B9\u03B4\u03B9\u03BF", -1, 1)
450   };
451 
452   private static final Among a_27[] = {
453     new Among("\u03B9\u03B2", -1, 1),
454     new Among("\u03B4", -1, 1),
455     new Among("\u03C6\u03C1\u03B1\u03B3\u03BA", -1, 1),
456     new Among("\u03BB\u03C5\u03BA", -1, 1),
457     new Among("\u03BF\u03B2\u03B5\u03BB", -1, 1),
458     new Among("\u03BC\u03B7\u03BD", -1, 1),
459     new Among("\u03C1", -1, 1)
460   };
461 
462   private static final Among a_28[] = {
463     new Among("\u03B9\u03C3\u03BA\u03B5", -1, 1),
464     new Among("\u03B9\u03C3\u03BA\u03BF", -1, 1),
465     new Among("\u03B9\u03C3\u03BA\u03BF\u03C3", -1, 1),
466     new Among("\u03B9\u03C3\u03BA\u03BF\u03C5", -1, 1)
467   };
468 
469   private static final Among a_29[] = {
470     new Among("\u03B1\u03B4\u03C9\u03BD", -1, 1), new Among("\u03B1\u03B4\u03B5\u03C3", -1, 1)
471   };
472 
473   private static final Among a_30[] = {
474     new Among("\u03B3\u03B9\u03B1\u03B3\u03B9", -1, -1),
475     new Among("\u03B8\u03B5\u03B9", -1, -1),
476     new Among("\u03BF\u03BA", -1, -1),
477     new Among("\u03BC\u03B1\u03BC", -1, -1),
478     new Among("\u03BC\u03B1\u03BD", -1, -1),
479     new Among("\u03BC\u03C0\u03B1\u03BC\u03C0", -1, -1),
480     new Among("\u03C0\u03B5\u03B8\u03B5\u03C1", -1, -1),
481     new Among("\u03C0\u03B1\u03C4\u03B5\u03C1", -1, -1),
482     new Among("\u03BA\u03C5\u03C1", -1, -1),
483     new Among("\u03BD\u03C4\u03B1\u03BD\u03C4", -1, -1)
484   };
485 
486   private static final Among a_31[] = {
487     new Among("\u03B5\u03B4\u03C9\u03BD", -1, 1), new Among("\u03B5\u03B4\u03B5\u03C3", -1, 1)
488   };
489 
490   private static final Among a_32[] = {
491     new Among("\u03BC\u03B9\u03BB", -1, 1),
492     new Among("\u03B4\u03B1\u03C0", -1, 1),
493     new Among("\u03B3\u03B7\u03C0", -1, 1),
494     new Among("\u03B9\u03C0", -1, 1),
495     new Among("\u03B5\u03BC\u03C0", -1, 1),
496     new Among("\u03BF\u03C0", -1, 1),
497     new Among("\u03BA\u03C1\u03B1\u03C3\u03C0", -1, 1),
498     new Among("\u03C5\u03C0", -1, 1)
499   };
500 
501   private static final Among a_33[] = {
502     new Among("\u03BF\u03C5\u03B4\u03C9\u03BD", -1, 1),
503     new Among("\u03BF\u03C5\u03B4\u03B5\u03C3", -1, 1)
504   };
505 
506   private static final Among a_34[] = {
507     new Among("\u03C4\u03C1\u03B1\u03B3", -1, 1),
508     new Among("\u03C6\u03B5", -1, 1),
509     new Among("\u03BA\u03B1\u03BB\u03B9\u03B1\u03BA", -1, 1),
510     new Among("\u03B1\u03C1\u03BA", -1, 1),
511     new Among("\u03C3\u03BA", -1, 1),
512     new Among("\u03C0\u03B5\u03C4\u03B1\u03BB", -1, 1),
513     new Among("\u03B2\u03B5\u03BB", -1, 1),
514     new Among("\u03BB\u03BF\u03C5\u03BB", -1, 1),
515     new Among("\u03C6\u03BB", -1, 1),
516     new Among("\u03C7\u03BD", -1, 1),
517     new Among("\u03C0\u03BB\u03B5\u03BE", -1, 1),
518     new Among("\u03C3\u03C0", -1, 1),
519     new Among("\u03C6\u03C1", -1, 1),
520     new Among("\u03C3", -1, 1),
521     new Among("\u03BB\u03B9\u03C7", -1, 1)
522   };
523 
524   private static final Among a_35[] = {
525     new Among("\u03B5\u03C9\u03BD", -1, 1), new Among("\u03B5\u03C9\u03C3", -1, 1)
526   };
527 
528   private static final Among a_36[] = {
529     new Among("\u03B4", -1, 1),
530     new Among("\u03B9\u03B4", 0, 1),
531     new Among("\u03B8", -1, 1),
532     new Among("\u03B3\u03B1\u03BB", -1, 1),
533     new Among("\u03B5\u03BB", -1, 1),
534     new Among("\u03BD", -1, 1),
535     new Among("\u03C0", -1, 1),
536     new Among("\u03C0\u03B1\u03C1", -1, 1)
537   };
538 
539   private static final Among a_37[] = {
540     new Among("\u03B9\u03B1", -1, 1),
541     new Among("\u03B9\u03C9\u03BD", -1, 1),
542     new Among("\u03B9\u03BF\u03C5", -1, 1)
543   };
544 
545   private static final Among a_38[] = {
546     new Among("\u03B9\u03BA\u03B1", -1, 1),
547     new Among("\u03B9\u03BA\u03C9\u03BD", -1, 1),
548     new Among("\u03B9\u03BA\u03BF", -1, 1),
549     new Among("\u03B9\u03BA\u03BF\u03C5", -1, 1)
550   };
551 
552   private static final Among a_39[] = {
553     new Among("\u03B1\u03B4", -1, 1),
554     new Among("\u03C3\u03C5\u03BD\u03B1\u03B4", 0, 1),
555     new Among("\u03BA\u03B1\u03C4\u03B1\u03B4", 0, 1),
556     new Among("\u03B1\u03BD\u03C4\u03B9\u03B4", -1, 1),
557     new Among("\u03B5\u03BD\u03B4", -1, 1),
558     new Among("\u03C6\u03C5\u03BB\u03BF\u03B4", -1, 1),
559     new Among("\u03C5\u03C0\u03BF\u03B4", -1, 1),
560     new Among("\u03C0\u03C1\u03C9\u03C4\u03BF\u03B4", -1, 1),
561     new Among("\u03B5\u03BE\u03C9\u03B4", -1, 1),
562     new Among("\u03B7\u03B8", -1, 1),
563     new Among("\u03B1\u03BD\u03B7\u03B8", 9, 1),
564     new Among("\u03BE\u03B9\u03BA", -1, 1),
565     new Among("\u03B1\u03BB", -1, 1),
566     new Among("\u03B1\u03BC\u03BC\u03BF\u03C7\u03B1\u03BB", 12, 1),
567     new Among("\u03C3\u03C5\u03BD\u03BF\u03BC\u03B7\u03BB", -1, 1),
568     new Among("\u03BC\u03C0\u03BF\u03BB", -1, 1),
569     new Among("\u03BC\u03BF\u03C5\u03BB", -1, 1),
570     new Among("\u03C4\u03C3\u03B1\u03BC", -1, 1),
571     new Among("\u03B2\u03C1\u03C9\u03BC", -1, 1),
572     new Among("\u03B1\u03BC\u03B1\u03BD", -1, 1),
573     new Among("\u03BC\u03C0\u03B1\u03BD", -1, 1),
574     new Among("\u03BA\u03B1\u03BB\u03BB\u03B9\u03BD", -1, 1),
575     new Among("\u03C0\u03BF\u03C3\u03C4\u03B5\u03BB\u03BD", -1, 1),
576     new Among("\u03C6\u03B9\u03BB\u03BF\u03BD", -1, 1),
577     new Among("\u03BA\u03B1\u03BB\u03C0", -1, 1),
578     new Among("\u03B3\u03B5\u03C1", -1, 1),
579     new Among("\u03C7\u03B1\u03C3", -1, 1),
580     new Among("\u03BC\u03C0\u03BF\u03C3", -1, 1),
581     new Among("\u03C0\u03BB\u03B9\u03B1\u03C4\u03C3", -1, 1),
582     new Among("\u03C0\u03B5\u03C4\u03C3", -1, 1),
583     new Among("\u03C0\u03B9\u03C4\u03C3", -1, 1),
584     new Among("\u03C6\u03C5\u03C3", -1, 1),
585     new Among("\u03BC\u03C0\u03B1\u03B3\u03B9\u03B1\u03C4", -1, 1),
586     new Among("\u03BD\u03B9\u03C4", -1, 1),
587     new Among("\u03C0\u03B9\u03BA\u03B1\u03BD\u03C4", -1, 1),
588     new Among("\u03C3\u03B5\u03C1\u03C4", -1, 1)
589   };
590 
591   private static final Among a_40[] = {
592     new Among("\u03B1\u03B3\u03B1\u03BC\u03B5", -1, 1),
593     new Among("\u03B7\u03BA\u03B1\u03BC\u03B5", -1, 1),
594     new Among("\u03B7\u03B8\u03B7\u03BA\u03B1\u03BC\u03B5", 1, 1),
595     new Among("\u03B7\u03C3\u03B1\u03BC\u03B5", -1, 1),
596     new Among("\u03BF\u03C5\u03C3\u03B1\u03BC\u03B5", -1, 1)
597   };
598 
599   private static final Among a_41[] = {
600     new Among("\u03B2\u03BF\u03C5\u03B2", -1, 1),
601     new Among("\u03BE\u03B5\u03B8", -1, 1),
602     new Among("\u03C0\u03B5\u03B8", -1, 1),
603     new Among("\u03B1\u03C0\u03BF\u03B8", -1, 1),
604     new Among("\u03B1\u03C0\u03BF\u03BA", -1, 1),
605     new Among("\u03BF\u03C5\u03BB", -1, 1),
606     new Among("\u03B1\u03BD\u03B1\u03C0", -1, 1),
607     new Among("\u03C0\u03B9\u03BA\u03C1", -1, 1),
608     new Among("\u03C0\u03BF\u03C4", -1, 1),
609     new Among("\u03B1\u03C0\u03BF\u03C3\u03C4", -1, 1),
610     new Among("\u03C7", -1, 1),
611     new Among("\u03C3\u03B9\u03C7", 10, 1)
612   };
613 
614   private static final Among a_42[] = {
615     new Among("\u03C4\u03C1", -1, 1), new Among("\u03C4\u03C3", -1, 1)
616   };
617 
618   private static final Among a_43[] = {
619     new Among("\u03B1\u03B3\u03B1\u03BD\u03B5", -1, 1),
620     new Among("\u03B7\u03BA\u03B1\u03BD\u03B5", -1, 1),
621     new Among("\u03B7\u03B8\u03B7\u03BA\u03B1\u03BD\u03B5", 1, 1),
622     new Among("\u03B7\u03C3\u03B1\u03BD\u03B5", -1, 1),
623     new Among("\u03BF\u03C5\u03C3\u03B1\u03BD\u03B5", -1, 1),
624     new Among("\u03BF\u03BD\u03C4\u03B1\u03BD\u03B5", -1, 1),
625     new Among("\u03B9\u03BF\u03BD\u03C4\u03B1\u03BD\u03B5", 5, 1),
626     new Among("\u03BF\u03C5\u03BD\u03C4\u03B1\u03BD\u03B5", -1, 1),
627     new Among("\u03B9\u03BF\u03C5\u03BD\u03C4\u03B1\u03BD\u03B5", 7, 1),
628     new Among("\u03BF\u03C4\u03B1\u03BD\u03B5", -1, 1),
629     new Among("\u03B9\u03BF\u03C4\u03B1\u03BD\u03B5", 9, 1)
630   };
631 
632   private static final Among a_44[] = {
633     new Among("\u03C4\u03B1\u03B2", -1, 1),
634     new Among("\u03BD\u03C4\u03B1\u03B2", 0, 1),
635     new Among("\u03C8\u03B7\u03BB\u03BF\u03C4\u03B1\u03B2", 0, 1),
636     new Among("\u03BB\u03B9\u03B2", -1, 1),
637     new Among("\u03BA\u03BB\u03B9\u03B2", 3, 1),
638     new Among("\u03BE\u03B7\u03C1\u03BF\u03BA\u03BB\u03B9\u03B2", 4, 1),
639     new Among("\u03B3", -1, 1),
640     new Among("\u03B1\u03B3", 6, 1),
641     new Among("\u03C4\u03C1\u03B1\u03B3", 7, 1),
642     new Among("\u03C4\u03C3\u03B1\u03B3", 7, 1),
643     new Among("\u03B1\u03B8\u03B9\u03B3\u03B3", 6, 1),
644     new Among("\u03C4\u03C3\u03B9\u03B3\u03B3", 6, 1),
645     new Among("\u03B1\u03C4\u03C3\u03B9\u03B3\u03B3", 11, 1),
646     new Among("\u03C3\u03C4\u03B5\u03B3", 6, 1),
647     new Among("\u03B1\u03C0\u03B7\u03B3", 6, 1),
648     new Among("\u03C3\u03B9\u03B3", 6, 1),
649     new Among("\u03B1\u03BD\u03BF\u03C1\u03B3", 6, 1),
650     new Among("\u03B5\u03BD\u03BF\u03C1\u03B3", 6, 1),
651     new Among("\u03BA\u03B1\u03BB\u03C0\u03BF\u03C5\u03B6", -1, 1),
652     new Among("\u03B8", -1, 1),
653     new Among("\u03BC\u03C9\u03B1\u03BC\u03B5\u03B8", 19, 1),
654     new Among("\u03C0\u03B9\u03B8", 19, 1),
655     new Among("\u03B1\u03C0\u03B9\u03B8", 21, 1),
656     new Among("\u03B4\u03B5\u03BA", -1, 1),
657     new Among("\u03C0\u03B5\u03BB\u03B5\u03BA", -1, 1),
658     new Among("\u03B9\u03BA", -1, 1),
659     new Among("\u03B1\u03BD\u03B9\u03BA", 25, 1),
660     new Among("\u03B2\u03BF\u03C5\u03BB\u03BA", -1, 1),
661     new Among("\u03B2\u03B1\u03C3\u03BA", -1, 1),
662     new Among("\u03B2\u03C1\u03B1\u03C7\u03C5\u03BA", -1, 1),
663     new Among("\u03B3\u03B1\u03BB", -1, 1),
664     new Among("\u03BA\u03B1\u03C4\u03B1\u03B3\u03B1\u03BB", 30, 1),
665     new Among("\u03BF\u03BB\u03BF\u03B3\u03B1\u03BB", 30, 1),
666     new Among("\u03B2\u03B1\u03B8\u03C5\u03B3\u03B1\u03BB", 30, 1),
667     new Among("\u03BC\u03B5\u03BB", -1, 1),
668     new Among("\u03BA\u03B1\u03C3\u03C4\u03B5\u03BB", -1, 1),
669     new Among("\u03C0\u03BF\u03C1\u03C4\u03BF\u03BB", -1, 1),
670     new Among("\u03C0\u03BB", -1, 1),
671     new Among("\u03B4\u03B9\u03C0\u03BB", 37, 1),
672     new Among("\u03BB\u03B1\u03BF\u03C0\u03BB", 37, 1),
673     new Among("\u03C8\u03C5\u03C7\u03BF\u03C0\u03BB", 37, 1),
674     new Among("\u03BF\u03C5\u03BB", -1, 1),
675     new Among("\u03BC", -1, 1),
676     new Among("\u03BF\u03BB\u03B9\u03B3\u03BF\u03B4\u03B1\u03BC", 42, 1),
677     new Among("\u03BC\u03BF\u03C5\u03C3\u03BF\u03C5\u03BB\u03BC", 42, 1),
678     new Among("\u03B4\u03C1\u03B1\u03B4\u03BF\u03C5\u03BC", 42, 1),
679     new Among("\u03B2\u03C1\u03B1\u03C7\u03BC", 42, 1),
680     new Among("\u03BD", -1, 1),
681     new Among("\u03B1\u03BC\u03B5\u03C1\u03B9\u03BA\u03B1\u03BD", 47, 1),
682     new Among("\u03C0", -1, 1),
683     new Among("\u03B1\u03B4\u03B1\u03C0", 49, 1),
684     new Among("\u03C7\u03B1\u03BC\u03B7\u03BB\u03BF\u03B4\u03B1\u03C0", 49, 1),
685     new Among("\u03C0\u03BF\u03BB\u03C5\u03B4\u03B1\u03C0", 49, 1),
686     new Among("\u03BA\u03BF\u03C0", 49, 1),
687     new Among("\u03C5\u03C0\u03BF\u03BA\u03BF\u03C0", 53, 1),
688     new Among("\u03C4\u03C3\u03BF\u03C0", 49, 1),
689     new Among("\u03C3\u03C0", 49, 1),
690     new Among("\u03B5\u03C1", -1, 1),
691     new Among("\u03B3\u03B5\u03C1", 57, 1),
692     new Among("\u03B2\u03B5\u03C4\u03B5\u03C1", 57, 1),
693     new Among("\u03BB\u03BF\u03C5\u03B8\u03B7\u03C1", -1, 1),
694     new Among("\u03BA\u03BF\u03C1\u03BC\u03BF\u03C1", -1, 1),
695     new Among("\u03C0\u03B5\u03C1\u03B9\u03C4\u03C1", -1, 1),
696     new Among("\u03BF\u03C5\u03C1", -1, 1),
697     new Among("\u03C3", -1, 1),
698     new Among("\u03B2\u03B1\u03C3", 64, 1),
699     new Among("\u03C0\u03BF\u03BB\u03B9\u03C3", 64, 1),
700     new Among("\u03C3\u03B1\u03C1\u03B1\u03BA\u03B1\u03C4\u03C3", 64, 1),
701     new Among("\u03B8\u03C5\u03C3", 64, 1),
702     new Among("\u03B4\u03B9\u03B1\u03C4", -1, 1),
703     new Among("\u03C0\u03BB\u03B1\u03C4", -1, 1),
704     new Among("\u03C4\u03C3\u03B1\u03C1\u03BB\u03B1\u03C4", -1, 1),
705     new Among("\u03C4\u03B5\u03C4", -1, 1),
706     new Among("\u03C0\u03BF\u03C5\u03C1\u03B9\u03C4", -1, 1),
707     new Among("\u03C3\u03BF\u03C5\u03BB\u03C4", -1, 1),
708     new Among("\u03BC\u03B1\u03B9\u03BD\u03C4", -1, 1),
709     new Among("\u03B6\u03C9\u03BD\u03C4", -1, 1),
710     new Among("\u03BA\u03B1\u03C3\u03C4", -1, 1),
711     new Among("\u03C6", -1, 1),
712     new Among("\u03B4\u03B9\u03B1\u03C6", 78, 1),
713     new Among("\u03C3\u03C4\u03B5\u03C6", 78, 1),
714     new Among("\u03C6\u03C9\u03C4\u03BF\u03C3\u03C4\u03B5\u03C6", 80, 1),
715     new Among("\u03C0\u03B5\u03C1\u03B7\u03C6", 78, 1),
716     new Among("\u03C5\u03C0\u03B5\u03C1\u03B7\u03C6", 82, 1),
717     new Among("\u03BA\u03BF\u03B9\u03BB\u03B1\u03C1\u03C6", 78, 1),
718     new Among("\u03C0\u03B5\u03BD\u03C4\u03B1\u03C1\u03C6", 78, 1),
719     new Among("\u03BF\u03C1\u03C6", 78, 1),
720     new Among("\u03C7", -1, 1),
721     new Among("\u03B1\u03BC\u03B7\u03C7", 87, 1),
722     new Among("\u03B2\u03B9\u03BF\u03BC\u03B7\u03C7", 87, 1),
723     new Among("\u03BC\u03B5\u03B3\u03BB\u03BF\u03B2\u03B9\u03BF\u03BC\u03B7\u03C7", 89, 1),
724     new Among("\u03BA\u03B1\u03C0\u03BD\u03BF\u03B2\u03B9\u03BF\u03BC\u03B7\u03C7", 89, 1),
725     new Among("\u03BC\u03B9\u03BA\u03C1\u03BF\u03B2\u03B9\u03BF\u03BC\u03B7\u03C7", 89, 1),
726     new Among("\u03C0\u03BF\u03BB\u03C5\u03BC\u03B7\u03C7", 87, 1),
727     new Among("\u03BB\u03B9\u03C7", 87, 1)
728   };
729 
730   private static final Among a_45[] = {new Among("\u03B7\u03C3\u03B5\u03C4\u03B5", -1, 1)};
731 
732   private static final Among a_46[] = {
733     new Among("\u03B5\u03BD\u03B4", -1, 1),
734     new Among("\u03C3\u03C5\u03BD\u03B4", -1, 1),
735     new Among("\u03BF\u03B4", -1, 1),
736     new Among("\u03B4\u03B9\u03B1\u03B8", -1, 1),
737     new Among("\u03BA\u03B1\u03B8", -1, 1),
738     new Among("\u03C1\u03B1\u03B8", -1, 1),
739     new Among("\u03C4\u03B1\u03B8", -1, 1),
740     new Among("\u03C4\u03B9\u03B8", -1, 1),
741     new Among("\u03B5\u03BA\u03B8", -1, 1),
742     new Among("\u03B5\u03BD\u03B8", -1, 1),
743     new Among("\u03C3\u03C5\u03BD\u03B8", -1, 1),
744     new Among("\u03C1\u03BF\u03B8", -1, 1),
745     new Among("\u03C5\u03C0\u03B5\u03C1\u03B8", -1, 1),
746     new Among("\u03C3\u03B8", -1, 1),
747     new Among("\u03B5\u03C5\u03B8", -1, 1),
748     new Among("\u03B1\u03C1\u03BA", -1, 1),
749     new Among("\u03C9\u03C6\u03B5\u03BB", -1, 1),
750     new Among("\u03B2\u03BF\u03BB", -1, 1),
751     new Among("\u03B1\u03B9\u03BD", -1, 1),
752     new Among("\u03C0\u03BF\u03BD", -1, 1),
753     new Among("\u03C1\u03BF\u03BD", -1, 1),
754     new Among("\u03C3\u03C5\u03BD", -1, 1),
755     new Among("\u03B2\u03B1\u03C1", -1, 1),
756     new Among("\u03B2\u03C1", -1, 1),
757     new Among("\u03B1\u03B9\u03C1", -1, 1),
758     new Among("\u03C6\u03BF\u03C1", -1, 1),
759     new Among("\u03B5\u03C5\u03C1", -1, 1),
760     new Among("\u03C0\u03C5\u03C1", -1, 1),
761     new Among("\u03C7\u03C9\u03C1", -1, 1),
762     new Among("\u03BD\u03B5\u03C4", -1, 1),
763     new Among("\u03C3\u03C7", -1, 1)
764   };
765 
766   private static final Among a_47[] = {
767     new Among("\u03C0\u03B1\u03B3", -1, 1),
768     new Among("\u03B4", -1, 1),
769     new Among("\u03B1\u03B4", 1, 1),
770     new Among("\u03B8", -1, 1),
771     new Among("\u03B1\u03B8", 3, 1),
772     new Among("\u03C4\u03BF\u03BA", -1, 1),
773     new Among("\u03C3\u03BA", -1, 1),
774     new Among("\u03C0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB", -1, 1),
775     new Among("\u03C3\u03BA\u03B5\u03BB", -1, 1),
776     new Among("\u03B1\u03C0\u03BB", -1, 1),
777     new Among("\u03B5\u03BC", -1, 1),
778     new Among("\u03B1\u03BD", -1, 1),
779     new Among("\u03B2\u03B5\u03BD", -1, 1),
780     new Among("\u03B2\u03B1\u03C1\u03BF\u03BD", -1, 1),
781     new Among("\u03BA\u03BF\u03C0", -1, 1),
782     new Among("\u03C3\u03B5\u03C1\u03C0", -1, 1),
783     new Among("\u03B1\u03B2\u03B1\u03C1", -1, 1),
784     new Among("\u03B5\u03BD\u03B1\u03C1", -1, 1),
785     new Among("\u03B1\u03B2\u03C1", -1, 1),
786     new Among("\u03BC\u03C0\u03BF\u03C1", -1, 1),
787     new Among("\u03B8\u03B1\u03C1\u03C1", -1, 1),
788     new Among("\u03BD\u03C4\u03C1", -1, 1),
789     new Among("\u03C5", -1, 1),
790     new Among("\u03BD\u03B9\u03C6", -1, 1),
791     new Among("\u03C3\u03C5\u03C1\u03C6", -1, 1)
792   };
793 
794   private static final Among a_48[] = {
795     new Among("\u03BF\u03BD\u03C4\u03B1\u03C3", -1, 1),
796     new Among("\u03C9\u03BD\u03C4\u03B1\u03C3", -1, 1)
797   };
798 
799   private static final Among a_49[] = {
800     new Among("\u03BF\u03BC\u03B1\u03C3\u03C4\u03B5", -1, 1),
801     new Among("\u03B9\u03BF\u03BC\u03B1\u03C3\u03C4\u03B5", 0, 1)
802   };
803 
804   private static final Among a_50[] = {
805     new Among("\u03C0", -1, 1),
806     new Among("\u03B1\u03C0", 0, 1),
807     new Among("\u03B1\u03BA\u03B1\u03C4\u03B1\u03C0", 1, 1),
808     new Among("\u03C3\u03C5\u03BC\u03C0", 0, 1),
809     new Among("\u03B1\u03C3\u03C5\u03BC\u03C0", 3, 1),
810     new Among("\u03B1\u03BC\u03B5\u03C4\u03B1\u03BC\u03C6", -1, 1)
811   };
812 
813   private static final Among a_51[] = {
814     new Among("\u03B6", -1, 1),
815     new Among("\u03B1\u03BB", -1, 1),
816     new Among("\u03C0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB", 1, 1),
817     new Among("\u03B5\u03BA\u03C4\u03B5\u03BB", -1, 1),
818     new Among("\u03BC", -1, 1),
819     new Among("\u03BE", -1, 1),
820     new Among("\u03C0\u03C1\u03BF", -1, 1),
821     new Among("\u03B1\u03C1", -1, 1),
822     new Among("\u03BD\u03B9\u03C3", -1, 1)
823   };
824 
825   private static final Among a_52[] = {
826     new Among("\u03B7\u03B8\u03B7\u03BA\u03B1", -1, 1),
827     new Among("\u03B7\u03B8\u03B7\u03BA\u03B5", -1, 1),
828     new Among("\u03B7\u03B8\u03B7\u03BA\u03B5\u03C3", -1, 1)
829   };
830 
831   private static final Among a_53[] = {
832     new Among("\u03C0\u03B9\u03B8", -1, 1),
833     new Among("\u03BF\u03B8", -1, 1),
834     new Among("\u03BD\u03B1\u03C1\u03B8", -1, 1),
835     new Among("\u03C3\u03BA\u03BF\u03C5\u03BB", -1, 1),
836     new Among("\u03C3\u03BA\u03C9\u03BB", -1, 1),
837     new Among("\u03C3\u03C6", -1, 1)
838   };
839 
840   private static final Among a_54[] = {
841     new Among("\u03B8", -1, 1),
842     new Among("\u03B4\u03B9\u03B1\u03B8", 0, 1),
843     new Among("\u03C0\u03B1\u03C1\u03B1\u03BA\u03B1\u03C4\u03B1\u03B8", 0, 1),
844     new Among("\u03C3\u03C5\u03BD\u03B8", 0, 1),
845     new Among("\u03C0\u03C1\u03BF\u03C3\u03B8", 0, 1)
846   };
847 
848   private static final Among a_55[] = {
849     new Among("\u03B7\u03BA\u03B1", -1, 1),
850     new Among("\u03B7\u03BA\u03B5", -1, 1),
851     new Among("\u03B7\u03BA\u03B5\u03C3", -1, 1)
852   };
853 
854   private static final Among a_56[] = {
855     new Among("\u03C6\u03B1\u03B3", -1, 1),
856     new Among("\u03BB\u03B7\u03B3", -1, 1),
857     new Among("\u03C6\u03C1\u03C5\u03B4", -1, 1),
858     new Among("\u03BC\u03B1\u03BD\u03C4\u03B9\u03BB", -1, 1),
859     new Among("\u03BC\u03B1\u03BB\u03BB", -1, 1),
860     new Among("\u03BF\u03BC", -1, 1),
861     new Among("\u03B2\u03BB\u03B5\u03C0", -1, 1),
862     new Among("\u03C0\u03BF\u03B4\u03B1\u03C1", -1, 1),
863     new Among("\u03BA\u03C5\u03BC\u03B1\u03C4", -1, 1),
864     new Among("\u03C0\u03C1\u03C9\u03C4", -1, 1),
865     new Among("\u03BB\u03B1\u03C7", -1, 1),
866     new Among("\u03C0\u03B1\u03BD\u03C4\u03B1\u03C7", -1, 1)
867   };
868 
869   private static final Among a_57[] = {
870     new Among("\u03C4\u03C3\u03B1", -1, 1),
871     new Among("\u03C7\u03B1\u03B4", -1, 1),
872     new Among("\u03BC\u03B5\u03B4", -1, 1),
873     new Among("\u03BB\u03B1\u03BC\u03C0\u03B9\u03B4", -1, 1),
874     new Among("\u03B4\u03B5", -1, 1),
875     new Among("\u03C0\u03BB\u03B5", -1, 1),
876     new Among("\u03BC\u03B5\u03C3\u03B1\u03B6", -1, 1),
877     new Among("\u03B4\u03B5\u03C3\u03C0\u03BF\u03B6", -1, 1),
878     new Among("\u03B1\u03B9\u03B8", -1, 1),
879     new Among("\u03C6\u03B1\u03C1\u03BC\u03B1\u03BA", -1, 1),
880     new Among("\u03B1\u03B3\u03BA", -1, 1),
881     new Among("\u03B1\u03BD\u03B7\u03BA", -1, 1),
882     new Among("\u03BB", -1, 1),
883     new Among("\u03BC", -1, 1),
884     new Among("\u03B1\u03BC", 13, 1),
885     new Among("\u03B2\u03C1\u03BF\u03BC", 13, 1),
886     new Among("\u03C5\u03C0\u03BF\u03C4\u03B5\u03B9\u03BD", -1, 1),
887     new Among("\u03B5\u03BA\u03BB\u03B9\u03C0", -1, 1),
888     new Among("\u03C1", -1, 1),
889     new Among("\u03B5\u03BD\u03B4\u03B9\u03B1\u03C6\u03B5\u03C1", 18, 1),
890     new Among("\u03B1\u03BD\u03B1\u03C1\u03C1", 18, 1),
891     new Among("\u03C0\u03B1\u03C4", -1, 1),
892     new Among("\u03BA\u03B1\u03B8\u03B1\u03C1\u03B5\u03C5", -1, 1),
893     new Among("\u03B4\u03B5\u03C5\u03C4\u03B5\u03C1\u03B5\u03C5", -1, 1),
894     new Among("\u03BB\u03B5\u03C7", -1, 1)
895   };
896 
897   private static final Among a_58[] = {
898     new Among("\u03BF\u03C5\u03C3\u03B1", -1, 1),
899     new Among("\u03BF\u03C5\u03C3\u03B5", -1, 1),
900     new Among("\u03BF\u03C5\u03C3\u03B5\u03C3", -1, 1)
901   };
902 
903   private static final Among a_59[] = {
904     new Among("\u03C8\u03BF\u03C6", -1, -1),
905     new Among("\u03BD\u03B1\u03C5\u03BB\u03BF\u03C7", -1, -1)
906   };
907 
908   private static final Among a_60[] = {
909     new Among("\u03C0\u03B5\u03BB", -1, 1),
910     new Among("\u03BB\u03BB", -1, 1),
911     new Among("\u03C3\u03BC\u03B7\u03BD", -1, 1),
912     new Among("\u03C1\u03C0", -1, 1),
913     new Among("\u03C0\u03C1", -1, 1),
914     new Among("\u03C6\u03C1", -1, 1),
915     new Among("\u03C7\u03BF\u03C1\u03C4", -1, 1),
916     new Among("\u03BF\u03C6", -1, 1),
917     new Among("\u03C3\u03C6", -1, 1),
918     new Among("\u03BB\u03BF\u03C7", -1, 1)
919   };
920 
921   private static final Among a_61[] = {
922     new Among("\u03B1\u03BC\u03B1\u03BB\u03BB\u03B9", -1, 1),
923     new Among("\u03BB", -1, 1),
924     new Among("\u03B1\u03BC\u03B1\u03BB", 1, 1),
925     new Among("\u03BC", -1, 1),
926     new Among("\u03BF\u03C5\u03BB\u03B1\u03BC", 3, 1),
927     new Among("\u03B5\u03BD", -1, 1),
928     new Among("\u03B4\u03B5\u03C1\u03B2\u03B5\u03BD", 5, 1),
929     new Among("\u03C0", -1, 1),
930     new Among("\u03B1\u03B5\u03B9\u03C0", 7, 1),
931     new Among("\u03B1\u03C1\u03C4\u03B9\u03C0", 7, 1),
932     new Among("\u03C3\u03C5\u03BC\u03C0", 7, 1),
933     new Among("\u03BD\u03B5\u03BF\u03C0", 7, 1),
934     new Among("\u03BA\u03C1\u03BF\u03BA\u03B1\u03BB\u03BF\u03C0", 7, 1),
935     new Among("\u03BF\u03BB\u03BF\u03C0", 7, 1),
936     new Among("\u03C0\u03C1\u03BF\u03C3\u03C9\u03C0\u03BF\u03C0", 7, 1),
937     new Among("\u03C3\u03B9\u03B4\u03B7\u03C1\u03BF\u03C0", 7, 1),
938     new Among("\u03B4\u03C1\u03BF\u03C3\u03BF\u03C0", 7, 1),
939     new Among("\u03B1\u03C3\u03C0", 7, 1),
940     new Among("\u03B1\u03BD\u03C5\u03C0", 7, 1),
941     new Among("\u03C1", -1, 1),
942     new Among("\u03B1\u03C3\u03C0\u03B1\u03C1", 19, 1),
943     new Among("\u03C7\u03B1\u03C1", 19, 1),
944     new Among("\u03B1\u03C7\u03B1\u03C1", 21, 1),
945     new Among("\u03B1\u03C0\u03B5\u03C1", 19, 1),
946     new Among("\u03C4\u03C1", 19, 1),
947     new Among("\u03BF\u03C5\u03C1", 19, 1),
948     new Among("\u03C4", -1, 1),
949     new Among("\u03B4\u03B9\u03B1\u03C4", 26, 1),
950     new Among("\u03B5\u03C0\u03B9\u03C4", 26, 1),
951     new Among("\u03C3\u03C5\u03BD\u03C4", 26, 1),
952     new Among("\u03BF\u03BC\u03BF\u03C4", 26, 1),
953     new Among("\u03BD\u03BF\u03BC\u03BF\u03C4", 30, 1),
954     new Among("\u03B1\u03C0\u03BF\u03C4", 26, 1),
955     new Among("\u03C5\u03C0\u03BF\u03C4", 26, 1),
956     new Among("\u03B1\u03B2\u03B1\u03C3\u03C4", 26, 1),
957     new Among("\u03B1\u03B9\u03BC\u03BF\u03C3\u03C4", 26, 1),
958     new Among("\u03C0\u03C1\u03BF\u03C3\u03C4", 26, 1),
959     new Among("\u03B1\u03BD\u03C5\u03C3\u03C4", 26, 1),
960     new Among("\u03BD\u03B1\u03C5", -1, 1),
961     new Among("\u03B1\u03C6", -1, 1),
962     new Among("\u03BE\u03B5\u03C6", -1, 1),
963     new Among("\u03B1\u03B4\u03B7\u03C6", -1, 1),
964     new Among("\u03C0\u03B1\u03BC\u03C6", -1, 1),
965     new Among("\u03C0\u03BF\u03BB\u03C5\u03C6", -1, 1)
966   };
967 
968   private static final Among a_62[] = {
969     new Among("\u03B1\u03B3\u03B1", -1, 1),
970     new Among("\u03B1\u03B3\u03B5", -1, 1),
971     new Among("\u03B1\u03B3\u03B5\u03C3", -1, 1)
972   };
973 
974   private static final Among a_63[] = {
975     new Among("\u03B7\u03C3\u03B1", -1, 1),
976     new Among("\u03B7\u03C3\u03B5", -1, 1),
977     new Among("\u03B7\u03C3\u03BF\u03C5", -1, 1)
978   };
979 
980   private static final Among a_64[] = {
981     new Among("\u03BD", -1, 1),
982     new Among("\u03B4\u03C9\u03B4\u03B5\u03BA\u03B1\u03BD", 0, 1),
983     new Among("\u03B5\u03C0\u03C4\u03B1\u03BD", 0, 1),
984     new Among("\u03BC\u03B5\u03B3\u03B1\u03BB\u03BF\u03BD", 0, 1),
985     new Among("\u03B5\u03C1\u03B7\u03BC\u03BF\u03BD", 0, 1),
986     new Among("\u03C7\u03B5\u03C1\u03C3\u03BF\u03BD", 0, 1)
987   };
988 
989   private static final Among a_65[] = {new Among("\u03B7\u03C3\u03C4\u03B5", -1, 1)};
990 
991   private static final Among a_66[] = {
992     new Among("\u03C3\u03B2", -1, 1),
993     new Among("\u03B1\u03C3\u03B2", 0, 1),
994     new Among("\u03B1\u03C0\u03BB", -1, 1),
995     new Among("\u03B1\u03B5\u03B9\u03BC\u03BD", -1, 1),
996     new Among("\u03C7\u03C1", -1, 1),
997     new Among("\u03B1\u03C7\u03C1", 4, 1),
998     new Among("\u03BA\u03BF\u03B9\u03BD\u03BF\u03C7\u03C1", 4, 1),
999     new Among("\u03B4\u03C5\u03C3\u03C7\u03C1", 4, 1),
1000     new Among("\u03B5\u03C5\u03C7\u03C1", 4, 1),
1001     new Among("\u03C0\u03B1\u03BB\u03B9\u03BC\u03C8", -1, 1)
1002   };
1003 
1004   private static final Among a_67[] = {
1005     new Among("\u03BF\u03C5\u03BD\u03B5", -1, 1),
1006     new Among("\u03B7\u03B8\u03BF\u03C5\u03BD\u03B5", 0, 1),
1007     new Among("\u03B7\u03C3\u03BF\u03C5\u03BD\u03B5", 0, 1)
1008   };
1009 
1010   private static final Among a_68[] = {
1011     new Among("\u03C3\u03C0\u03B9", -1, 1),
1012     new Among("\u03BD", -1, 1),
1013     new Among("\u03B5\u03BE\u03C9\u03BD", 1, 1),
1014     new Among("\u03C1", -1, 1),
1015     new Among("\u03C3\u03C4\u03C1\u03B1\u03B2\u03BF\u03BC\u03BF\u03C5\u03C4\u03C3", -1, 1),
1016     new Among("\u03BA\u03B1\u03BA\u03BF\u03BC\u03BF\u03C5\u03C4\u03C3", -1, 1)
1017   };
1018 
1019   private static final Among a_69[] = {
1020     new Among("\u03BF\u03C5\u03BC\u03B5", -1, 1),
1021     new Among("\u03B7\u03B8\u03BF\u03C5\u03BC\u03B5", 0, 1),
1022     new Among("\u03B7\u03C3\u03BF\u03C5\u03BC\u03B5", 0, 1)
1023   };
1024 
1025   private static final Among a_70[] = {
1026     new Among("\u03B1\u03B6", -1, 1),
1027     new Among("\u03C9\u03C1\u03B9\u03BF\u03C0\u03BB", -1, 1),
1028     new Among("\u03B1\u03C3\u03BF\u03C5\u03C3", -1, 1),
1029     new Among("\u03C0\u03B1\u03C1\u03B1\u03C3\u03BF\u03C5\u03C3", 2, 1),
1030     new Among("\u03B1\u03BB\u03BB\u03BF\u03C3\u03BF\u03C5\u03C3", -1, 1),
1031     new Among("\u03C6", -1, 1),
1032     new Among("\u03C7", -1, 1)
1033   };
1034 
1035   private static final Among a_71[] = {
1036     new Among("\u03BC\u03B1\u03C4\u03B1", -1, 1),
1037     new Among("\u03BC\u03B1\u03C4\u03C9\u03BD", -1, 1),
1038     new Among("\u03BC\u03B1\u03C4\u03BF\u03C3", -1, 1)
1039   };
1040 
1041   private static final Among a_72[] = {
1042     new Among("\u03B1", -1, 1),
1043     new Among("\u03B9\u03BF\u03C5\u03BC\u03B1", 0, 1),
1044     new Among("\u03BF\u03BC\u03BF\u03C5\u03BD\u03B1", 0, 1),
1045     new Among("\u03B9\u03BF\u03BC\u03BF\u03C5\u03BD\u03B1", 2, 1),
1046     new Among("\u03BF\u03C3\u03BF\u03C5\u03BD\u03B1", 0, 1),
1047     new Among("\u03B9\u03BF\u03C3\u03BF\u03C5\u03BD\u03B1", 4, 1),
1048     new Among("\u03B5", -1, 1),
1049     new Among("\u03B1\u03B3\u03B1\u03C4\u03B5", 6, 1),
1050     new Among("\u03B7\u03BA\u03B1\u03C4\u03B5", 6, 1),
1051     new Among("\u03B7\u03B8\u03B7\u03BA\u03B1\u03C4\u03B5", 8, 1),
1052     new Among("\u03B7\u03C3\u03B1\u03C4\u03B5", 6, 1),
1053     new Among("\u03BF\u03C5\u03C3\u03B1\u03C4\u03B5", 6, 1),
1054     new Among("\u03B5\u03B9\u03C4\u03B5", 6, 1),
1055     new Among("\u03B7\u03B8\u03B5\u03B9\u03C4\u03B5", 12, 1),
1056     new Among("\u03B9\u03B5\u03BC\u03B1\u03C3\u03C4\u03B5", 6, 1),
1057     new Among("\u03BF\u03C5\u03BC\u03B1\u03C3\u03C4\u03B5", 6, 1),
1058     new Among("\u03B9\u03BF\u03C5\u03BC\u03B1\u03C3\u03C4\u03B5", 15, 1),
1059     new Among("\u03B9\u03B5\u03C3\u03B1\u03C3\u03C4\u03B5", 6, 1),
1060     new Among("\u03BF\u03C3\u03B1\u03C3\u03C4\u03B5", 6, 1),
1061     new Among("\u03B9\u03BF\u03C3\u03B1\u03C3\u03C4\u03B5", 18, 1),
1062     new Among("\u03B7", -1, 1),
1063     new Among("\u03B9", -1, 1),
1064     new Among("\u03B1\u03BC\u03B1\u03B9", 21, 1),
1065     new Among("\u03B9\u03B5\u03BC\u03B1\u03B9", 21, 1),
1066     new Among("\u03BF\u03BC\u03B1\u03B9", 21, 1),
1067     new Among("\u03BF\u03C5\u03BC\u03B1\u03B9", 21, 1),
1068     new Among("\u03B1\u03C3\u03B1\u03B9", 21, 1),
1069     new Among("\u03B5\u03C3\u03B1\u03B9", 21, 1),
1070     new Among("\u03B9\u03B5\u03C3\u03B1\u03B9", 27, 1),
1071     new Among("\u03B1\u03C4\u03B1\u03B9", 21, 1),
1072     new Among("\u03B5\u03C4\u03B1\u03B9", 21, 1),
1073     new Among("\u03B9\u03B5\u03C4\u03B1\u03B9", 30, 1),
1074     new Among("\u03BF\u03BD\u03C4\u03B1\u03B9", 21, 1),
1075     new Among("\u03BF\u03C5\u03BD\u03C4\u03B1\u03B9", 21, 1),
1076     new Among("\u03B9\u03BF\u03C5\u03BD\u03C4\u03B1\u03B9", 33, 1),
1077     new Among("\u03B5\u03B9", 21, 1),
1078     new Among("\u03B1\u03B5\u03B9", 35, 1),
1079     new Among("\u03B7\u03B8\u03B5\u03B9", 35, 1),
1080     new Among("\u03B7\u03C3\u03B5\u03B9", 35, 1),
1081     new Among("\u03BF\u03B9", 21, 1),
1082     new Among("\u03B1\u03BD", -1, 1),
1083     new Among("\u03B1\u03B3\u03B1\u03BD", 40, 1),
1084     new Among("\u03B7\u03BA\u03B1\u03BD", 40, 1),
1085     new Among("\u03B7\u03B8\u03B7\u03BA\u03B1\u03BD", 42, 1),
1086     new Among("\u03B7\u03C3\u03B1\u03BD", 40, 1),
1087     new Among("\u03BF\u03C5\u03C3\u03B1\u03BD", 40, 1),
1088     new Among("\u03BF\u03BD\u03C4\u03BF\u03C5\u03C3\u03B1\u03BD", 45, 1),
1089     new Among("\u03B9\u03BF\u03BD\u03C4\u03BF\u03C5\u03C3\u03B1\u03BD", 46, 1),
1090     new Among("\u03BF\u03BD\u03C4\u03B1\u03BD", 40, 1),
1091     new Among("\u03B9\u03BF\u03BD\u03C4\u03B1\u03BD", 48, 1),
1092     new Among("\u03BF\u03C5\u03BD\u03C4\u03B1\u03BD", 40, 1),
1093     new Among("\u03B9\u03BF\u03C5\u03BD\u03C4\u03B1\u03BD", 50, 1),
1094     new Among("\u03BF\u03C4\u03B1\u03BD", 40, 1),
1095     new Among("\u03B9\u03BF\u03C4\u03B1\u03BD", 52, 1),
1096     new Among("\u03BF\u03BC\u03B1\u03C3\u03C4\u03B1\u03BD", 40, 1),
1097     new Among("\u03B9\u03BF\u03BC\u03B1\u03C3\u03C4\u03B1\u03BD", 54, 1),
1098     new Among("\u03BF\u03C3\u03B1\u03C3\u03C4\u03B1\u03BD", 40, 1),
1099     new Among("\u03B9\u03BF\u03C3\u03B1\u03C3\u03C4\u03B1\u03BD", 56, 1),
1100     new Among("\u03BF\u03C5\u03BD", -1, 1),
1101     new Among("\u03B7\u03B8\u03BF\u03C5\u03BD", 58, 1),
1102     new Among("\u03BF\u03BC\u03BF\u03C5\u03BD", 58, 1),
1103     new Among("\u03B9\u03BF\u03BC\u03BF\u03C5\u03BD", 60, 1),
1104     new Among("\u03B7\u03C3\u03BF\u03C5\u03BD", 58, 1),
1105     new Among("\u03BF\u03C3\u03BF\u03C5\u03BD", 58, 1),
1106     new Among("\u03B9\u03BF\u03C3\u03BF\u03C5\u03BD", 63, 1),
1107     new Among("\u03C9\u03BD", -1, 1),
1108     new Among("\u03B7\u03B4\u03C9\u03BD", 65, 1),
1109     new Among("\u03BF", -1, 1),
1110     new Among("\u03B1\u03C3", -1, 1),
1111     new Among("\u03B5\u03C3", -1, 1),
1112     new Among("\u03B7\u03B4\u03B5\u03C3", 69, 1),
1113     new Among("\u03B7\u03C3\u03B5\u03C3", 69, 1),
1114     new Among("\u03B7\u03C3", -1, 1),
1115     new Among("\u03B5\u03B9\u03C3", -1, 1),
1116     new Among("\u03B7\u03B8\u03B5\u03B9\u03C3", 73, 1),
1117     new Among("\u03BF\u03C3", -1, 1),
1118     new Among("\u03C5\u03C3", -1, 1),
1119     new Among("\u03BF\u03C5\u03C3", 76, 1),
1120     new Among("\u03C5", -1, 1),
1121     new Among("\u03BF\u03C5", 78, 1),
1122     new Among("\u03C9", -1, 1),
1123     new Among("\u03B1\u03C9", 80, 1),
1124     new Among("\u03B7\u03B8\u03C9", 80, 1),
1125     new Among("\u03B7\u03C3\u03C9", 80, 1)
1126   };
1127 
1128   private static final Among a_73[] = {
1129     new Among("\u03BF\u03C4\u03B5\u03C1", -1, 1),
1130     new Among("\u03B5\u03C3\u03C4\u03B5\u03C1", -1, 1),
1131     new Among("\u03C5\u03C4\u03B5\u03C1", -1, 1),
1132     new Among("\u03C9\u03C4\u03B5\u03C1", -1, 1),
1133     new Among("\u03BF\u03C4\u03B1\u03C4", -1, 1),
1134     new Among("\u03B5\u03C3\u03C4\u03B1\u03C4", -1, 1),
1135     new Among("\u03C5\u03C4\u03B1\u03C4", -1, 1),
1136     new Among("\u03C9\u03C4\u03B1\u03C4", -1, 1)
1137   };
1138 
1139   private static final char g_v[] = {81, 65, 16, 1};
1140 
1141   private static final char g_v2[] = {81, 65, 0, 1};
1142 
1143   private boolean B_test1;
1144 
r_has_min_length()1145   private boolean r_has_min_length() {
1146     if (!(limit >= 3)) {
1147       return false;
1148     }
1149     return true;
1150   }
1151 
r_tolower()1152   private boolean r_tolower() {
1153     int among_var;
1154     while (true) {
1155       int v_1 = limit - cursor;
1156       lab0:
1157       {
1158         ket = cursor;
1159         among_var = find_among_b(a_0);
1160         if (among_var == 0) {
1161           break lab0;
1162         }
1163         bra = cursor;
1164         switch (among_var) {
1165           case 1:
1166             slice_from("\u03B1");
1167             break;
1168           case 2:
1169             slice_from("\u03B2");
1170             break;
1171           case 3:
1172             slice_from("\u03B3");
1173             break;
1174           case 4:
1175             slice_from("\u03B4");
1176             break;
1177           case 5:
1178             slice_from("\u03B5");
1179             break;
1180           case 6:
1181             slice_from("\u03B6");
1182             break;
1183           case 7:
1184             slice_from("\u03B7");
1185             break;
1186           case 8:
1187             slice_from("\u03B8");
1188             break;
1189           case 9:
1190             slice_from("\u03B9");
1191             break;
1192           case 10:
1193             slice_from("\u03BA");
1194             break;
1195           case 11:
1196             slice_from("\u03BB");
1197             break;
1198           case 12:
1199             slice_from("\u03BC");
1200             break;
1201           case 13:
1202             slice_from("\u03BD");
1203             break;
1204           case 14:
1205             slice_from("\u03BE");
1206             break;
1207           case 15:
1208             slice_from("\u03BF");
1209             break;
1210           case 16:
1211             slice_from("\u03C0");
1212             break;
1213           case 17:
1214             slice_from("\u03C1");
1215             break;
1216           case 18:
1217             slice_from("\u03C3");
1218             break;
1219           case 19:
1220             slice_from("\u03C4");
1221             break;
1222           case 20:
1223             slice_from("\u03C5");
1224             break;
1225           case 21:
1226             slice_from("\u03C6");
1227             break;
1228           case 22:
1229             slice_from("\u03C7");
1230             break;
1231           case 23:
1232             slice_from("\u03C8");
1233             break;
1234           case 24:
1235             slice_from("\u03C9");
1236             break;
1237           case 25:
1238             if (cursor <= limit_backward) {
1239               break lab0;
1240             }
1241             cursor--;
1242             break;
1243         }
1244         continue;
1245       }
1246       cursor = limit - v_1;
1247       break;
1248     }
1249     return true;
1250   }
1251 
r_step1()1252   private boolean r_step1() {
1253     int among_var;
1254     ket = cursor;
1255     among_var = find_among_b(a_1);
1256     if (among_var == 0) {
1257       return false;
1258     }
1259     bra = cursor;
1260     switch (among_var) {
1261       case 1:
1262         slice_from("\u03C6\u03B1");
1263         break;
1264       case 2:
1265         slice_from("\u03C3\u03BA\u03B1");
1266         break;
1267       case 3:
1268         slice_from("\u03BF\u03BB\u03BF");
1269         break;
1270       case 4:
1271         slice_from("\u03C3\u03BF");
1272         break;
1273       case 5:
1274         slice_from("\u03C4\u03B1\u03C4\u03BF");
1275         break;
1276       case 6:
1277         slice_from("\u03BA\u03C1\u03B5");
1278         break;
1279       case 7:
1280         slice_from("\u03C0\u03B5\u03C1");
1281         break;
1282       case 8:
1283         slice_from("\u03C4\u03B5\u03C1");
1284         break;
1285       case 9:
1286         slice_from("\u03C6\u03C9");
1287         break;
1288       case 10:
1289         slice_from("\u03BA\u03B1\u03B8\u03B5\u03C3\u03C4");
1290         break;
1291       case 11:
1292         slice_from("\u03B3\u03B5\u03B3\u03BF\u03BD");
1293         break;
1294     }
1295     B_test1 = false;
1296     return true;
1297   }
1298 
r_steps1()1299   private boolean r_steps1() {
1300     ket = cursor;
1301     if (find_among_b(a_4) == 0) {
1302       return false;
1303     }
1304     bra = cursor;
1305     slice_del();
1306     B_test1 = false;
1307     lab0:
1308     {
1309       int v_1 = limit - cursor;
1310       lab1:
1311       {
1312         ket = cursor;
1313         bra = cursor;
1314         if (find_among_b(a_2) == 0) {
1315           break lab1;
1316         }
1317         if (cursor > limit_backward) {
1318           break lab1;
1319         }
1320         slice_from("\u03B9");
1321         break lab0;
1322       }
1323       cursor = limit - v_1;
1324       ket = cursor;
1325       bra = cursor;
1326       if (find_among_b(a_3) == 0) {
1327         return false;
1328       }
1329       if (cursor > limit_backward) {
1330         return false;
1331       }
1332       slice_from("\u03B9\u03B6");
1333     }
1334     return true;
1335   }
1336 
r_steps2()1337   private boolean r_steps2() {
1338     ket = cursor;
1339     if (find_among_b(a_6) == 0) {
1340       return false;
1341     }
1342     bra = cursor;
1343     slice_del();
1344     B_test1 = false;
1345     ket = cursor;
1346     bra = cursor;
1347     if (find_among_b(a_5) == 0) {
1348       return false;
1349     }
1350     if (cursor > limit_backward) {
1351       return false;
1352     }
1353     slice_from("\u03C9\u03BD");
1354     return true;
1355   }
1356 
r_steps3()1357   private boolean r_steps3() {
1358     ket = cursor;
1359     if (find_among_b(a_9) == 0) {
1360       return false;
1361     }
1362     bra = cursor;
1363     slice_del();
1364     B_test1 = false;
1365     lab0:
1366     {
1367       int v_1 = limit - cursor;
1368       lab1:
1369       {
1370         if (!(eq_s_b("\u03B9\u03C3\u03B1"))) {
1371           break lab1;
1372         }
1373         if (cursor > limit_backward) {
1374           break lab1;
1375         }
1376         slice_from("\u03B9\u03C3");
1377         break lab0;
1378       }
1379       cursor = limit - v_1;
1380       lab2:
1381       {
1382         ket = cursor;
1383         bra = cursor;
1384         if (find_among_b(a_7) == 0) {
1385           break lab2;
1386         }
1387         if (cursor > limit_backward) {
1388           break lab2;
1389         }
1390         slice_from("\u03B9");
1391         break lab0;
1392       }
1393       cursor = limit - v_1;
1394       ket = cursor;
1395       bra = cursor;
1396       if (find_among_b(a_8) == 0) {
1397         return false;
1398       }
1399       if (cursor > limit_backward) {
1400         return false;
1401       }
1402       slice_from("\u03B9\u03C3");
1403     }
1404     return true;
1405   }
1406 
r_steps4()1407   private boolean r_steps4() {
1408     ket = cursor;
1409     if (find_among_b(a_11) == 0) {
1410       return false;
1411     }
1412     bra = cursor;
1413     slice_del();
1414     B_test1 = false;
1415     ket = cursor;
1416     bra = cursor;
1417     if (find_among_b(a_10) == 0) {
1418       return false;
1419     }
1420     if (cursor > limit_backward) {
1421       return false;
1422     }
1423     slice_from("\u03B9");
1424     return true;
1425   }
1426 
r_steps5()1427   private boolean r_steps5() {
1428     ket = cursor;
1429     if (find_among_b(a_14) == 0) {
1430       return false;
1431     }
1432     bra = cursor;
1433     slice_del();
1434     B_test1 = false;
1435     lab0:
1436     {
1437       int v_1 = limit - cursor;
1438       lab1:
1439       {
1440         ket = cursor;
1441         bra = cursor;
1442         if (find_among_b(a_12) == 0) {
1443           break lab1;
1444         }
1445         if (cursor > limit_backward) {
1446           break lab1;
1447         }
1448         slice_from("\u03B9");
1449         break lab0;
1450       }
1451       cursor = limit - v_1;
1452       ket = cursor;
1453       bra = cursor;
1454       if (find_among_b(a_13) == 0) {
1455         return false;
1456       }
1457       if (cursor > limit_backward) {
1458         return false;
1459       }
1460       slice_from("\u03B9\u03C3\u03C4");
1461     }
1462     return true;
1463   }
1464 
r_steps6()1465   private boolean r_steps6() {
1466     int among_var;
1467     ket = cursor;
1468     if (find_among_b(a_18) == 0) {
1469       return false;
1470     }
1471     bra = cursor;
1472     slice_del();
1473     B_test1 = false;
1474     lab0:
1475     {
1476       int v_1 = limit - cursor;
1477       lab1:
1478       {
1479         ket = cursor;
1480         bra = cursor;
1481         if (find_among_b(a_15) == 0) {
1482           break lab1;
1483         }
1484         if (cursor > limit_backward) {
1485           break lab1;
1486         }
1487         slice_from("\u03B9\u03C3\u03BC");
1488         break lab0;
1489       }
1490       cursor = limit - v_1;
1491       lab2:
1492       {
1493         ket = cursor;
1494         bra = cursor;
1495         if (find_among_b(a_16) == 0) {
1496           break lab2;
1497         }
1498         if (cursor > limit_backward) {
1499           break lab2;
1500         }
1501         slice_from("\u03B9");
1502         break lab0;
1503       }
1504       cursor = limit - v_1;
1505       ket = cursor;
1506       among_var = find_among_b(a_17);
1507       if (among_var == 0) {
1508         return false;
1509       }
1510       bra = cursor;
1511       switch (among_var) {
1512         case 1:
1513           slice_from("\u03B1\u03B3\u03BD\u03C9\u03C3\u03C4");
1514           break;
1515         case 2:
1516           slice_from("\u03B1\u03C4\u03BF\u03BC");
1517           break;
1518         case 3:
1519           slice_from("\u03B3\u03BD\u03C9\u03C3\u03C4");
1520           break;
1521         case 4:
1522           slice_from("\u03B5\u03B8\u03BD");
1523           break;
1524         case 5:
1525           slice_from("\u03B5\u03BA\u03BB\u03B5\u03BA\u03C4");
1526           break;
1527         case 6:
1528           slice_from("\u03C3\u03BA\u03B5\u03C0\u03C4");
1529           break;
1530         case 7:
1531           slice_from("\u03C4\u03BF\u03C0");
1532           break;
1533         case 8:
1534           slice_from("\u03B1\u03BB\u03B5\u03BE\u03B1\u03BD\u03B4\u03C1");
1535           break;
1536         case 9:
1537           slice_from("\u03B2\u03C5\u03B6\u03B1\u03BD\u03C4");
1538           break;
1539         case 10:
1540           slice_from("\u03B8\u03B5\u03B1\u03C4\u03C1");
1541           break;
1542       }
1543     }
1544     return true;
1545   }
1546 
r_steps7()1547   private boolean r_steps7() {
1548     ket = cursor;
1549     if (find_among_b(a_20) == 0) {
1550       return false;
1551     }
1552     bra = cursor;
1553     slice_del();
1554     B_test1 = false;
1555     ket = cursor;
1556     bra = cursor;
1557     if (find_among_b(a_19) == 0) {
1558       return false;
1559     }
1560     if (cursor > limit_backward) {
1561       return false;
1562     }
1563     slice_from("\u03B1\u03C1\u03B1\u03BA");
1564     return true;
1565   }
1566 
r_steps8()1567   private boolean r_steps8() {
1568     ket = cursor;
1569     if (find_among_b(a_23) == 0) {
1570       return false;
1571     }
1572     bra = cursor;
1573     slice_del();
1574     B_test1 = false;
1575     lab0:
1576     {
1577       int v_1 = limit - cursor;
1578       lab1:
1579       {
1580         ket = cursor;
1581         bra = cursor;
1582         if (find_among_b(a_21) == 0) {
1583           break lab1;
1584         }
1585         if (cursor > limit_backward) {
1586           break lab1;
1587         }
1588         slice_from("\u03B1\u03BA");
1589         break lab0;
1590       }
1591       cursor = limit - v_1;
1592       lab2:
1593       {
1594         ket = cursor;
1595         bra = cursor;
1596         if (find_among_b(a_22) == 0) {
1597           break lab2;
1598         }
1599         if (cursor > limit_backward) {
1600           break lab2;
1601         }
1602         slice_from("\u03B9\u03C4\u03C3");
1603         break lab0;
1604       }
1605       cursor = limit - v_1;
1606       ket = cursor;
1607       bra = cursor;
1608       if (!(eq_s_b("\u03BA\u03BF\u03C1"))) {
1609         return false;
1610       }
1611       slice_from("\u03B9\u03C4\u03C3");
1612     }
1613     return true;
1614   }
1615 
r_steps9()1616   private boolean r_steps9() {
1617     ket = cursor;
1618     if (find_among_b(a_26) == 0) {
1619       return false;
1620     }
1621     bra = cursor;
1622     slice_del();
1623     B_test1 = false;
1624     lab0:
1625     {
1626       int v_1 = limit - cursor;
1627       lab1:
1628       {
1629         ket = cursor;
1630         bra = cursor;
1631         if (find_among_b(a_24) == 0) {
1632           break lab1;
1633         }
1634         if (cursor > limit_backward) {
1635           break lab1;
1636         }
1637         slice_from("\u03B9\u03B4");
1638         break lab0;
1639       }
1640       cursor = limit - v_1;
1641       ket = cursor;
1642       bra = cursor;
1643       if (find_among_b(a_25) == 0) {
1644         return false;
1645       }
1646       slice_from("\u03B9\u03B4");
1647     }
1648     return true;
1649   }
1650 
r_steps10()1651   private boolean r_steps10() {
1652     ket = cursor;
1653     if (find_among_b(a_28) == 0) {
1654       return false;
1655     }
1656     bra = cursor;
1657     slice_del();
1658     B_test1 = false;
1659     ket = cursor;
1660     bra = cursor;
1661     if (find_among_b(a_27) == 0) {
1662       return false;
1663     }
1664     if (cursor > limit_backward) {
1665       return false;
1666     }
1667     slice_from("\u03B9\u03C3\u03BA");
1668     return true;
1669   }
1670 
r_step2a()1671   private boolean r_step2a() {
1672     ket = cursor;
1673     if (find_among_b(a_29) == 0) {
1674       return false;
1675     }
1676     bra = cursor;
1677     slice_del();
1678     {
1679       int v_1 = limit - cursor;
1680       lab0:
1681       {
1682         ket = cursor;
1683         if (find_among_b(a_30) == 0) {
1684           break lab0;
1685         }
1686         bra = cursor;
1687         return false;
1688       }
1689       cursor = limit - v_1;
1690     }
1691     {
1692       int c = cursor;
1693       insert(cursor, cursor, "\u03B1\u03B4");
1694       cursor = c;
1695     }
1696     return true;
1697   }
1698 
r_step2b()1699   private boolean r_step2b() {
1700     ket = cursor;
1701     if (find_among_b(a_31) == 0) {
1702       return false;
1703     }
1704     bra = cursor;
1705     slice_del();
1706     ket = cursor;
1707     bra = cursor;
1708     if (find_among_b(a_32) == 0) {
1709       return false;
1710     }
1711     slice_from("\u03B5\u03B4");
1712     return true;
1713   }
1714 
r_step2c()1715   private boolean r_step2c() {
1716     ket = cursor;
1717     if (find_among_b(a_33) == 0) {
1718       return false;
1719     }
1720     bra = cursor;
1721     slice_del();
1722     ket = cursor;
1723     bra = cursor;
1724     if (find_among_b(a_34) == 0) {
1725       return false;
1726     }
1727     slice_from("\u03BF\u03C5\u03B4");
1728     return true;
1729   }
1730 
r_step2d()1731   private boolean r_step2d() {
1732     ket = cursor;
1733     if (find_among_b(a_35) == 0) {
1734       return false;
1735     }
1736     bra = cursor;
1737     slice_del();
1738     B_test1 = false;
1739     ket = cursor;
1740     bra = cursor;
1741     if (find_among_b(a_36) == 0) {
1742       return false;
1743     }
1744     if (cursor > limit_backward) {
1745       return false;
1746     }
1747     slice_from("\u03B5");
1748     return true;
1749   }
1750 
r_step3()1751   private boolean r_step3() {
1752     ket = cursor;
1753     if (find_among_b(a_37) == 0) {
1754       return false;
1755     }
1756     bra = cursor;
1757     slice_del();
1758     B_test1 = false;
1759     ket = cursor;
1760     bra = cursor;
1761     if (!(in_grouping_b(g_v, 945, 969))) {
1762       return false;
1763     }
1764     slice_from("\u03B9");
1765     return true;
1766   }
1767 
r_step4()1768   private boolean r_step4() {
1769     ket = cursor;
1770     if (find_among_b(a_38) == 0) {
1771       return false;
1772     }
1773     bra = cursor;
1774     slice_del();
1775     B_test1 = false;
1776     lab0:
1777     {
1778       int v_1 = limit - cursor;
1779       lab1:
1780       {
1781         ket = cursor;
1782         bra = cursor;
1783         if (!(in_grouping_b(g_v, 945, 969))) {
1784           break lab1;
1785         }
1786         slice_from("\u03B9\u03BA");
1787         break lab0;
1788       }
1789       cursor = limit - v_1;
1790       ket = cursor;
1791     }
1792     bra = cursor;
1793     if (find_among_b(a_39) == 0) {
1794       return false;
1795     }
1796     if (cursor > limit_backward) {
1797       return false;
1798     }
1799     slice_from("\u03B9\u03BA");
1800     return true;
1801   }
1802 
r_step5a()1803   private boolean r_step5a() {
1804     int v_1 = limit - cursor;
1805     lab0:
1806     {
1807       if (!(eq_s_b("\u03B1\u03B3\u03B1\u03BC\u03B5"))) {
1808         break lab0;
1809       }
1810       if (cursor > limit_backward) {
1811         break lab0;
1812       }
1813       slice_from("\u03B1\u03B3\u03B1\u03BC");
1814     }
1815     cursor = limit - v_1;
1816     int v_2 = limit - cursor;
1817     lab1:
1818     {
1819       ket = cursor;
1820       if (find_among_b(a_40) == 0) {
1821         break lab1;
1822       }
1823       bra = cursor;
1824       slice_del();
1825       B_test1 = false;
1826     }
1827     cursor = limit - v_2;
1828     ket = cursor;
1829     if (!(eq_s_b("\u03B1\u03BC\u03B5"))) {
1830       return false;
1831     }
1832     bra = cursor;
1833     slice_del();
1834     B_test1 = false;
1835     ket = cursor;
1836     bra = cursor;
1837     if (find_among_b(a_41) == 0) {
1838       return false;
1839     }
1840     if (cursor > limit_backward) {
1841       return false;
1842     }
1843     slice_from("\u03B1\u03BC");
1844     return true;
1845   }
1846 
r_step5b()1847   private boolean r_step5b() {
1848     int v_1 = limit - cursor;
1849     lab0:
1850     {
1851       ket = cursor;
1852       if (find_among_b(a_43) == 0) {
1853         break lab0;
1854       }
1855       bra = cursor;
1856       slice_del();
1857       B_test1 = false;
1858       ket = cursor;
1859       bra = cursor;
1860       if (find_among_b(a_42) == 0) {
1861         break lab0;
1862       }
1863       if (cursor > limit_backward) {
1864         break lab0;
1865       }
1866       slice_from("\u03B1\u03B3\u03B1\u03BD");
1867     }
1868     cursor = limit - v_1;
1869     ket = cursor;
1870     if (!(eq_s_b("\u03B1\u03BD\u03B5"))) {
1871       return false;
1872     }
1873     bra = cursor;
1874     slice_del();
1875     B_test1 = false;
1876     lab1:
1877     {
1878       int v_2 = limit - cursor;
1879       lab2:
1880       {
1881         ket = cursor;
1882         bra = cursor;
1883         if (!(in_grouping_b(g_v2, 945, 969))) {
1884           break lab2;
1885         }
1886         slice_from("\u03B1\u03BD");
1887         break lab1;
1888       }
1889       cursor = limit - v_2;
1890       ket = cursor;
1891     }
1892     bra = cursor;
1893     if (find_among_b(a_44) == 0) {
1894       return false;
1895     }
1896     if (cursor > limit_backward) {
1897       return false;
1898     }
1899     slice_from("\u03B1\u03BD");
1900     return true;
1901   }
1902 
r_step5c()1903   private boolean r_step5c() {
1904     int v_1 = limit - cursor;
1905     lab0:
1906     {
1907       ket = cursor;
1908       if (find_among_b(a_45) == 0) {
1909         break lab0;
1910       }
1911       bra = cursor;
1912       slice_del();
1913       B_test1 = false;
1914     }
1915     cursor = limit - v_1;
1916     ket = cursor;
1917     if (!(eq_s_b("\u03B5\u03C4\u03B5"))) {
1918       return false;
1919     }
1920     bra = cursor;
1921     slice_del();
1922     B_test1 = false;
1923     lab1:
1924     {
1925       int v_2 = limit - cursor;
1926       lab2:
1927       {
1928         ket = cursor;
1929         bra = cursor;
1930         if (!(in_grouping_b(g_v2, 945, 969))) {
1931           break lab2;
1932         }
1933         slice_from("\u03B5\u03C4");
1934         break lab1;
1935       }
1936       cursor = limit - v_2;
1937       lab3:
1938       {
1939         ket = cursor;
1940         bra = cursor;
1941         if (find_among_b(a_46) == 0) {
1942           break lab3;
1943         }
1944         slice_from("\u03B5\u03C4");
1945         break lab1;
1946       }
1947       cursor = limit - v_2;
1948       ket = cursor;
1949     }
1950     bra = cursor;
1951     if (find_among_b(a_47) == 0) {
1952       return false;
1953     }
1954     if (cursor > limit_backward) {
1955       return false;
1956     }
1957     slice_from("\u03B5\u03C4");
1958     return true;
1959   }
1960 
r_step5d()1961   private boolean r_step5d() {
1962     ket = cursor;
1963     if (find_among_b(a_48) == 0) {
1964       return false;
1965     }
1966     bra = cursor;
1967     slice_del();
1968     B_test1 = false;
1969     lab0:
1970     {
1971       int v_1 = limit - cursor;
1972       lab1:
1973       {
1974         ket = cursor;
1975         bra = cursor;
1976         if (!(eq_s_b("\u03B1\u03C1\u03C7"))) {
1977           break lab1;
1978         }
1979         if (cursor > limit_backward) {
1980           break lab1;
1981         }
1982         slice_from("\u03BF\u03BD\u03C4");
1983         break lab0;
1984       }
1985       cursor = limit - v_1;
1986       ket = cursor;
1987       bra = cursor;
1988       if (!(eq_s_b("\u03BA\u03C1\u03B5"))) {
1989         return false;
1990       }
1991       slice_from("\u03C9\u03BD\u03C4");
1992     }
1993     return true;
1994   }
1995 
r_step5e()1996   private boolean r_step5e() {
1997     ket = cursor;
1998     if (find_among_b(a_49) == 0) {
1999       return false;
2000     }
2001     bra = cursor;
2002     slice_del();
2003     B_test1 = false;
2004     ket = cursor;
2005     bra = cursor;
2006     if (!(eq_s_b("\u03BF\u03BD"))) {
2007       return false;
2008     }
2009     if (cursor > limit_backward) {
2010       return false;
2011     }
2012     slice_from("\u03BF\u03BC\u03B1\u03C3\u03C4");
2013     return true;
2014   }
2015 
r_step5f()2016   private boolean r_step5f() {
2017     int v_1 = limit - cursor;
2018     lab0:
2019     {
2020       ket = cursor;
2021       if (!(eq_s_b("\u03B9\u03B5\u03C3\u03C4\u03B5"))) {
2022         break lab0;
2023       }
2024       bra = cursor;
2025       slice_del();
2026       B_test1 = false;
2027       ket = cursor;
2028       bra = cursor;
2029       if (find_among_b(a_50) == 0) {
2030         break lab0;
2031       }
2032       if (cursor > limit_backward) {
2033         break lab0;
2034       }
2035       slice_from("\u03B9\u03B5\u03C3\u03C4");
2036     }
2037     cursor = limit - v_1;
2038     ket = cursor;
2039     if (!(eq_s_b("\u03B5\u03C3\u03C4\u03B5"))) {
2040       return false;
2041     }
2042     bra = cursor;
2043     slice_del();
2044     B_test1 = false;
2045     ket = cursor;
2046     bra = cursor;
2047     if (find_among_b(a_51) == 0) {
2048       return false;
2049     }
2050     if (cursor > limit_backward) {
2051       return false;
2052     }
2053     slice_from("\u03B9\u03B5\u03C3\u03C4");
2054     return true;
2055   }
2056 
r_step5g()2057   private boolean r_step5g() {
2058     int v_1 = limit - cursor;
2059     lab0:
2060     {
2061       ket = cursor;
2062       if (find_among_b(a_52) == 0) {
2063         break lab0;
2064       }
2065       bra = cursor;
2066       slice_del();
2067       B_test1 = false;
2068     }
2069     cursor = limit - v_1;
2070     ket = cursor;
2071     if (find_among_b(a_55) == 0) {
2072       return false;
2073     }
2074     bra = cursor;
2075     slice_del();
2076     B_test1 = false;
2077     lab1:
2078     {
2079       int v_2 = limit - cursor;
2080       lab2:
2081       {
2082         ket = cursor;
2083         bra = cursor;
2084         if (find_among_b(a_53) == 0) {
2085           break lab2;
2086         }
2087         slice_from("\u03B7\u03BA");
2088         break lab1;
2089       }
2090       cursor = limit - v_2;
2091       ket = cursor;
2092       bra = cursor;
2093       if (find_among_b(a_54) == 0) {
2094         return false;
2095       }
2096       if (cursor > limit_backward) {
2097         return false;
2098       }
2099       slice_from("\u03B7\u03BA");
2100     }
2101     return true;
2102   }
2103 
r_step5h()2104   private boolean r_step5h() {
2105     ket = cursor;
2106     if (find_among_b(a_58) == 0) {
2107       return false;
2108     }
2109     bra = cursor;
2110     slice_del();
2111     B_test1 = false;
2112     lab0:
2113     {
2114       int v_1 = limit - cursor;
2115       lab1:
2116       {
2117         ket = cursor;
2118         bra = cursor;
2119         if (find_among_b(a_56) == 0) {
2120           break lab1;
2121         }
2122         slice_from("\u03BF\u03C5\u03C3");
2123         break lab0;
2124       }
2125       cursor = limit - v_1;
2126       ket = cursor;
2127       bra = cursor;
2128       if (find_among_b(a_57) == 0) {
2129         return false;
2130       }
2131       if (cursor > limit_backward) {
2132         return false;
2133       }
2134       slice_from("\u03BF\u03C5\u03C3");
2135     }
2136     return true;
2137   }
2138 
r_step5i()2139   private boolean r_step5i() {
2140     ket = cursor;
2141     if (find_among_b(a_62) == 0) {
2142       return false;
2143     }
2144     bra = cursor;
2145     slice_del();
2146     B_test1 = false;
2147     lab0:
2148     {
2149       int v_1 = limit - cursor;
2150       lab1:
2151       {
2152         ket = cursor;
2153         bra = cursor;
2154         if (!(eq_s_b("\u03BA\u03BF\u03BB\u03BB"))) {
2155           break lab1;
2156         }
2157         slice_from("\u03B1\u03B3");
2158         break lab0;
2159       }
2160       cursor = limit - v_1;
2161       {
2162         int v_2 = limit - cursor;
2163         lab2:
2164         {
2165           ket = cursor;
2166           if (find_among_b(a_59) == 0) {
2167             break lab2;
2168           }
2169           bra = cursor;
2170           return false;
2171         }
2172         cursor = limit - v_2;
2173       }
2174       lab3:
2175       {
2176         int v_3 = limit - cursor;
2177         lab4:
2178         {
2179           ket = cursor;
2180           bra = cursor;
2181           if (find_among_b(a_60) == 0) {
2182             break lab4;
2183           }
2184           slice_from("\u03B1\u03B3");
2185           break lab3;
2186         }
2187         cursor = limit - v_3;
2188         ket = cursor;
2189         bra = cursor;
2190         if (find_among_b(a_61) == 0) {
2191           return false;
2192         }
2193         if (cursor > limit_backward) {
2194           return false;
2195         }
2196         slice_from("\u03B1\u03B3");
2197       }
2198     }
2199     return true;
2200   }
2201 
r_step5j()2202   private boolean r_step5j() {
2203     ket = cursor;
2204     if (find_among_b(a_63) == 0) {
2205       return false;
2206     }
2207     bra = cursor;
2208     slice_del();
2209     B_test1 = false;
2210     ket = cursor;
2211     bra = cursor;
2212     if (find_among_b(a_64) == 0) {
2213       return false;
2214     }
2215     if (cursor > limit_backward) {
2216       return false;
2217     }
2218     slice_from("\u03B7\u03C3");
2219     return true;
2220   }
2221 
r_step5k()2222   private boolean r_step5k() {
2223     ket = cursor;
2224     if (find_among_b(a_65) == 0) {
2225       return false;
2226     }
2227     bra = cursor;
2228     slice_del();
2229     B_test1 = false;
2230     ket = cursor;
2231     bra = cursor;
2232     if (find_among_b(a_66) == 0) {
2233       return false;
2234     }
2235     if (cursor > limit_backward) {
2236       return false;
2237     }
2238     slice_from("\u03B7\u03C3\u03C4");
2239     return true;
2240   }
2241 
r_step5l()2242   private boolean r_step5l() {
2243     ket = cursor;
2244     if (find_among_b(a_67) == 0) {
2245       return false;
2246     }
2247     bra = cursor;
2248     slice_del();
2249     B_test1 = false;
2250     ket = cursor;
2251     bra = cursor;
2252     if (find_among_b(a_68) == 0) {
2253       return false;
2254     }
2255     if (cursor > limit_backward) {
2256       return false;
2257     }
2258     slice_from("\u03BF\u03C5\u03BD");
2259     return true;
2260   }
2261 
r_step5m()2262   private boolean r_step5m() {
2263     ket = cursor;
2264     if (find_among_b(a_69) == 0) {
2265       return false;
2266     }
2267     bra = cursor;
2268     slice_del();
2269     B_test1 = false;
2270     ket = cursor;
2271     bra = cursor;
2272     if (find_among_b(a_70) == 0) {
2273       return false;
2274     }
2275     if (cursor > limit_backward) {
2276       return false;
2277     }
2278     slice_from("\u03BF\u03C5\u03BC");
2279     return true;
2280   }
2281 
r_step6()2282   private boolean r_step6() {
2283     int v_1 = limit - cursor;
2284     lab0:
2285     {
2286       ket = cursor;
2287       if (find_among_b(a_71) == 0) {
2288         break lab0;
2289       }
2290       bra = cursor;
2291       slice_from("\u03BC\u03B1");
2292     }
2293     cursor = limit - v_1;
2294     if (!(B_test1)) {
2295       return false;
2296     }
2297     ket = cursor;
2298     if (find_among_b(a_72) == 0) {
2299       return false;
2300     }
2301     bra = cursor;
2302     slice_del();
2303     return true;
2304   }
2305 
r_step7()2306   private boolean r_step7() {
2307     ket = cursor;
2308     if (find_among_b(a_73) == 0) {
2309       return false;
2310     }
2311     bra = cursor;
2312     slice_del();
2313     return true;
2314   }
2315 
2316   @Override
stem()2317   public boolean stem() {
2318     limit_backward = cursor;
2319     cursor = limit;
2320     int v_1 = limit - cursor;
2321     r_tolower();
2322     cursor = limit - v_1;
2323     if (!r_has_min_length()) {
2324       return false;
2325     }
2326     B_test1 = true;
2327     int v_2 = limit - cursor;
2328     r_step1();
2329     cursor = limit - v_2;
2330     int v_3 = limit - cursor;
2331     r_steps1();
2332     cursor = limit - v_3;
2333     int v_4 = limit - cursor;
2334     r_steps2();
2335     cursor = limit - v_4;
2336     int v_5 = limit - cursor;
2337     r_steps3();
2338     cursor = limit - v_5;
2339     int v_6 = limit - cursor;
2340     r_steps4();
2341     cursor = limit - v_6;
2342     int v_7 = limit - cursor;
2343     r_steps5();
2344     cursor = limit - v_7;
2345     int v_8 = limit - cursor;
2346     r_steps6();
2347     cursor = limit - v_8;
2348     int v_9 = limit - cursor;
2349     r_steps7();
2350     cursor = limit - v_9;
2351     int v_10 = limit - cursor;
2352     r_steps8();
2353     cursor = limit - v_10;
2354     int v_11 = limit - cursor;
2355     r_steps9();
2356     cursor = limit - v_11;
2357     int v_12 = limit - cursor;
2358     r_steps10();
2359     cursor = limit - v_12;
2360     int v_13 = limit - cursor;
2361     r_step2a();
2362     cursor = limit - v_13;
2363     int v_14 = limit - cursor;
2364     r_step2b();
2365     cursor = limit - v_14;
2366     int v_15 = limit - cursor;
2367     r_step2c();
2368     cursor = limit - v_15;
2369     int v_16 = limit - cursor;
2370     r_step2d();
2371     cursor = limit - v_16;
2372     int v_17 = limit - cursor;
2373     r_step3();
2374     cursor = limit - v_17;
2375     int v_18 = limit - cursor;
2376     r_step4();
2377     cursor = limit - v_18;
2378     int v_19 = limit - cursor;
2379     r_step5a();
2380     cursor = limit - v_19;
2381     int v_20 = limit - cursor;
2382     r_step5b();
2383     cursor = limit - v_20;
2384     int v_21 = limit - cursor;
2385     r_step5c();
2386     cursor = limit - v_21;
2387     int v_22 = limit - cursor;
2388     r_step5d();
2389     cursor = limit - v_22;
2390     int v_23 = limit - cursor;
2391     r_step5e();
2392     cursor = limit - v_23;
2393     int v_24 = limit - cursor;
2394     r_step5f();
2395     cursor = limit - v_24;
2396     int v_25 = limit - cursor;
2397     r_step5g();
2398     cursor = limit - v_25;
2399     int v_26 = limit - cursor;
2400     r_step5h();
2401     cursor = limit - v_26;
2402     int v_27 = limit - cursor;
2403     r_step5j();
2404     cursor = limit - v_27;
2405     int v_28 = limit - cursor;
2406     r_step5i();
2407     cursor = limit - v_28;
2408     int v_29 = limit - cursor;
2409     r_step5k();
2410     cursor = limit - v_29;
2411     int v_30 = limit - cursor;
2412     r_step5l();
2413     cursor = limit - v_30;
2414     int v_31 = limit - cursor;
2415     r_step5m();
2416     cursor = limit - v_31;
2417     int v_32 = limit - cursor;
2418     r_step6();
2419     cursor = limit - v_32;
2420     int v_33 = limit - cursor;
2421     r_step7();
2422     cursor = limit - v_33;
2423     cursor = limit_backward;
2424     return true;
2425   }
2426 
2427   @Override
equals(Object o)2428   public boolean equals(Object o) {
2429     return o instanceof GreekStemmer;
2430   }
2431 
2432   @Override
hashCode()2433   public int hashCode() {
2434     return GreekStemmer.class.getName().hashCode();
2435   }
2436 }
2437