#![allow(non_snake_case)]
#![allow(non_upper_case_globals)]
#![allow(unused_mut)]
#![allow(unused_parens)]
#![allow(unused_variables)]
use crate::snowball::SnowballEnv;
use crate::snowball::Among;
#[derive(Clone)]
struct Context {
}
static A_0: &'static [Among<Context>; 10] = &[
Among("m", -1, -1, None),
Among("n", -1, -1, None),
Among("miz", -1, -1, None),
Among("niz", -1, -1, None),
Among("muz", -1, -1, None),
Among("nuz", -1, -1, None),
Among("mız", -1, -1, None),
Among("nız", -1, -1, None),
Among("müz", -1, -1, None),
Among("nüz", -1, -1, None),
];
static A_1: &'static [Among<Context>; 2] = &[
Among("leri", -1, -1, None),
Among("ları", -1, -1, None),
];
static A_2: &'static [Among<Context>; 4] = &[
Among("ni", -1, -1, None),
Among("nu", -1, -1, None),
Among("nı", -1, -1, None),
Among("nü", -1, -1, None),
];
static A_3: &'static [Among<Context>; 4] = &[
Among("in", -1, -1, None),
Among("un", -1, -1, None),
Among("ın", -1, -1, None),
Among("ün", -1, -1, None),
];
static A_5: &'static [Among<Context>; 2] = &[
Among("na", -1, -1, None),
Among("ne", -1, -1, None),
];
static A_6: &'static [Among<Context>; 4] = &[
Among("da", -1, -1, None),
Among("ta", -1, -1, None),
Among("de", -1, -1, None),
Among("te", -1, -1, None),
];
static A_7: &'static [Among<Context>; 2] = &[
Among("nda", -1, -1, None),
Among("nde", -1, -1, None),
];
static A_8: &'static [Among<Context>; 4] = &[
Among("dan", -1, -1, None),
Among("tan", -1, -1, None),
Among("den", -1, -1, None),
Among("ten", -1, -1, None),
];
static A_9: &'static [Among<Context>; 2] = &[
Among("ndan", -1, -1, None),
Among("nden", -1, -1, None),
];
static A_10: &'static [Among<Context>; 2] = &[
Among("la", -1, -1, None),
Among("le", -1, -1, None),
];
static A_11: &'static [Among<Context>; 2] = &[
Among("ca", -1, -1, None),
Among("ce", -1, -1, None),
];
static A_12: &'static [Among<Context>; 4] = &[
Among("im", -1, -1, None),
Among("um", -1, -1, None),
Among("ım", -1, -1, None),
Among("üm", -1, -1, None),
];
static A_13: &'static [Among<Context>; 4] = &[
Among("sin", -1, -1, None),
Among("sun", -1, -1, None),
Among("sın", -1, -1, None),
Among("sün", -1, -1, None),
];
static A_14: &'static [Among<Context>; 4] = &[
Among("iz", -1, -1, None),
Among("uz", -1, -1, None),
Among("ız", -1, -1, None),
Among("üz", -1, -1, None),
];
static A_15: &'static [Among<Context>; 4] = &[
Among("siniz", -1, -1, None),
Among("sunuz", -1, -1, None),
Among("sınız", -1, -1, None),
Among("sünüz", -1, -1, None),
];
static A_16: &'static [Among<Context>; 2] = &[
Among("lar", -1, -1, None),
Among("ler", -1, -1, None),
];
static A_17: &'static [Among<Context>; 4] = &[
Among("niz", -1, -1, None),
Among("nuz", -1, -1, None),
Among("nız", -1, -1, None),
Among("nüz", -1, -1, None),
];
static A_18: &'static [Among<Context>; 8] = &[
Among("dir", -1, -1, None),
Among("tir", -1, -1, None),
Among("dur", -1, -1, None),
Among("tur", -1, -1, None),
Among("dır", -1, -1, None),
Among("tır", -1, -1, None),
Among("dür", -1, -1, None),
Among("tür", -1, -1, None),
];
static A_19: &'static [Among<Context>; 2] = &[
Among("casına", -1, -1, None),
Among("cesine", -1, -1, None),
];
static A_20: &'static [Among<Context>; 32] = &[
Among("di", -1, -1, None),
Among("ti", -1, -1, None),
Among("dik", -1, -1, None),
Among("tik", -1, -1, None),
Among("duk", -1, -1, None),
Among("tuk", -1, -1, None),
Among("dık", -1, -1, None),
Among("tık", -1, -1, None),
Among("dük", -1, -1, None),
Among("tük", -1, -1, None),
Among("dim", -1, -1, None),
Among("tim", -1, -1, None),
Among("dum", -1, -1, None),
Among("tum", -1, -1, None),
Among("dım", -1, -1, None),
Among("tım", -1, -1, None),
Among("düm", -1, -1, None),
Among("tüm", -1, -1, None),
Among("din", -1, -1, None),
Among("tin", -1, -1, None),
Among("dun", -1, -1, None),
Among("tun", -1, -1, None),
Among("dın", -1, -1, None),
Among("tın", -1, -1, None),
Among("dün", -1, -1, None),
Among("tün", -1, -1, None),
Among("du", -1, -1, None),
Among("tu", -1, -1, None),
Among("dı", -1, -1, None),
Among("tı", -1, -1, None),
Among("dü", -1, -1, None),
Among("tü", -1, -1, None),
];
static A_21: &'static [Among<Context>; 8] = &[
Among("sa", -1, -1, None),
Among("se", -1, -1, None),
Among("sak", -1, -1, None),
Among("sek", -1, -1, None),
Among("sam", -1, -1, None),
Among("sem", -1, -1, None),
Among("san", -1, -1, None),
Among("sen", -1, -1, None),
];
static A_22: &'static [Among<Context>; 4] = &[
Among("miş", -1, -1, None),
Among("muş", -1, -1, None),
Among("mış", -1, -1, None),
Among("müş", -1, -1, None),
];
static A_23: &'static [Among<Context>; 4] = &[
Among("b", -1, 1, None),
Among("c", -1, 2, None),
Among("d", -1, 3, None),
Among("ğ", -1, 4, None),
];
static G_vowel: &'static [u8; 27] = &[17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 8, 0, 0, 0, 0, 0, 0, 1];
static G_U: &'static [u8; 26] = &[1, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1];
static G_vowel1: &'static [u8; 27] = &[1, 64, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1];
static G_vowel2: &'static [u8; 19] = &[17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130];
static G_vowel3: &'static [u8; 27] = &[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1];
static G_vowel4: &'static [u8; 1] = &[17];
static G_vowel5: &'static [u8; 1] = &[65];
static G_vowel6: &'static [u8; 1] = &[65];
fn r_check_vowel_harmony(env: &mut SnowballEnv, context: &mut Context) -> bool {
let v_1 = env.limit - env.cursor;
if !env.go_out_grouping_b(G_vowel, 97, 305) {
return false;
}
'lab0: loop {
let v_2 = env.limit - env.cursor;
'lab1: loop {
if !env.eq_s_b(&"a") {
break 'lab1;
}
if !env.go_out_grouping_b(G_vowel1, 97, 305) {
break 'lab1;
}
break 'lab0;
}
env.cursor = env.limit - v_2;
'lab2: loop {
if !env.eq_s_b(&"e") {
break 'lab2;
}
if !env.go_out_grouping_b(G_vowel2, 101, 252) {
break 'lab2;
}
break 'lab0;
}
env.cursor = env.limit - v_2;
'lab3: loop {
if !env.eq_s_b(&"ı") {
break 'lab3;
}
if !env.go_out_grouping_b(G_vowel3, 97, 305) {
break 'lab3;
}
break 'lab0;
}
env.cursor = env.limit - v_2;
'lab4: loop {
if !env.eq_s_b(&"i") {
break 'lab4;
}
if !env.go_out_grouping_b(G_vowel4, 101, 105) {
break 'lab4;
}
break 'lab0;
}
env.cursor = env.limit - v_2;
'lab5: loop {
if !env.eq_s_b(&"o") {
break 'lab5;
}
if !env.go_out_grouping_b(G_vowel5, 111, 117) {
break 'lab5;
}
break 'lab0;
}
env.cursor = env.limit - v_2;
'lab6: loop {
if !env.eq_s_b(&"ö") {
break 'lab6;
}
if !env.go_out_grouping_b(G_vowel6, 246, 252) {
break 'lab6;
}
break 'lab0;
}
env.cursor = env.limit - v_2;
'lab7: loop {
if !env.eq_s_b(&"u") {
break 'lab7;
}
if !env.go_out_grouping_b(G_vowel5, 111, 117) {
break 'lab7;
}
break 'lab0;
}
env.cursor = env.limit - v_2;
if !env.eq_s_b(&"ü") {
return false;
}
if !env.go_out_grouping_b(G_vowel6, 246, 252) {
return false;
}
break 'lab0;
}
env.cursor = env.limit - v_1;
return true
}
fn r_mark_suffix_with_optional_n_consonant(env: &mut SnowballEnv, context: &mut Context) -> bool {
'lab0: loop {
let v_1 = env.limit - env.cursor;
'lab1: loop {
if !env.eq_s_b(&"n") {
break 'lab1;
}
let v_2 = env.limit - env.cursor;
if !env.in_grouping_b(G_vowel, 97, 305) {
break 'lab1;
}
env.cursor = env.limit - v_2;
break 'lab0;
}
env.cursor = env.limit - v_1;
'lab2: loop {
if !env.eq_s_b(&"n") {
break 'lab2;
}
return false;
}
let v_3 = env.limit - env.cursor;
if env.cursor <= env.limit_backward {
return false;
}
env.previous_char();
if !env.in_grouping_b(G_vowel, 97, 305) {
return false;
}
env.cursor = env.limit - v_3;
break 'lab0;
}
return true
}
fn r_mark_suffix_with_optional_y_consonant(env: &mut SnowballEnv, context: &mut Context) -> bool {
'lab0: loop {
let v_1 = env.limit - env.cursor;
'lab1: loop {
if !env.eq_s_b(&"y") {
break 'lab1;
}
let v_2 = env.limit - env.cursor;
if !env.in_grouping_b(G_vowel, 97, 305) {
break 'lab1;
}
env.cursor = env.limit - v_2;
break 'lab0;
}
env.cursor = env.limit - v_1;
'lab2: loop {
if !env.eq_s_b(&"y") {
break 'lab2;
}
return false;
}
let v_3 = env.limit - env.cursor;
if env.cursor <= env.limit_backward {
return false;
}
env.previous_char();
if !env.in_grouping_b(G_vowel, 97, 305) {
return false;
}
env.cursor = env.limit - v_3;
break 'lab0;
}
return true
}
fn r_mark_possessives(env: &mut SnowballEnv, context: &mut Context) -> bool {
if (env.cursor <= env.limit_backward || env.current.as_bytes()[(env.cursor - 1) as usize] as u8 >> 5 != 3 as u8 || ((67133440 as i32 >> (env.current.as_bytes()[(env.cursor - 1) as usize] as u8 & 0x1f)) & 1) == 0) {
return false;
}
if env.find_among_b(A_0, context) == 0 {
return false;
}
'lab0: loop {
let v_1 = env.limit - env.cursor;
'lab1: loop {
if !env.in_grouping_b(G_U, 105, 305) {
break 'lab1;
}
let v_2 = env.limit - env.cursor;
if !env.out_grouping_b(G_vowel, 97, 305) {
break 'lab1;
}
env.cursor = env.limit - v_2;
break 'lab0;
}
env.cursor = env.limit - v_1;
'lab2: loop {
if !env.in_grouping_b(G_U, 105, 305) {
break 'lab2;
}
return false;
}
let v_3 = env.limit - env.cursor;
if env.cursor <= env.limit_backward {
return false;
}
env.previous_char();
if !env.out_grouping_b(G_vowel, 97, 305) {
return false;
}
env.cursor = env.limit - v_3;
break 'lab0;
}
return true
}
fn r_mark_sU(env: &mut SnowballEnv, context: &mut Context) -> bool {
if !r_check_vowel_harmony(env, context) {
return false;
}
if !env.in_grouping_b(G_U, 105, 305) {
return false;
}
'lab0: loop {
let v_1 = env.limit - env.cursor;
'lab1: loop {
if !env.eq_s_b(&"s") {
break 'lab1;
}
let v_2 = env.limit - env.cursor;
if !env.in_grouping_b(G_vowel, 97, 305) {
break 'lab1;
}
env.cursor = env.limit - v_2;
break 'lab0;
}
env.cursor = env.limit - v_1;
'lab2: loop {
if !env.eq_s_b(&"s") {
break 'lab2;
}
return false;
}
let v_3 = env.limit - env.cursor;
if env.cursor <= env.limit_backward {
return false;
}
env.previous_char();
if !env.in_grouping_b(G_vowel, 97, 305) {
return false;
}
env.cursor = env.limit - v_3;
break 'lab0;
}
return true
}
fn r_mark_lArI(env: &mut SnowballEnv, context: &mut Context) -> bool {
if (env.cursor - 3 <= env.limit_backward || (env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 105 as u8 && env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 177 as u8)) {
return false;
}
return env.find_among_b(A_1, context) != 0;
}
fn r_mark_nUn(env: &mut SnowballEnv, context: &mut Context) -> bool {
if !r_check_vowel_harmony(env, context) {
return false;
}
if (env.cursor - 1 <= env.limit_backward || env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 110 as u8) {
return false;
}
if env.find_among_b(A_3, context) == 0 {
return false;
}
return r_mark_suffix_with_optional_n_consonant(env, context);
}
fn r_mark_DA(env: &mut SnowballEnv, context: &mut Context) -> bool {
if !r_check_vowel_harmony(env, context) {
return false;
}
if (env.cursor - 1 <= env.limit_backward || (env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 97 as u8 && env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 101 as u8)) {
return false;
}
return env.find_among_b(A_6, context) != 0;
}
fn r_mark_ndA(env: &mut SnowballEnv, context: &mut Context) -> bool {
if !r_check_vowel_harmony(env, context) {
return false;
}
if (env.cursor - 2 <= env.limit_backward || (env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 97 as u8 && env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 101 as u8)) {
return false;
}
return env.find_among_b(A_7, context) != 0;
}
fn r_mark_yUm(env: &mut SnowballEnv, context: &mut Context) -> bool {
if !r_check_vowel_harmony(env, context) {
return false;
}
if (env.cursor - 1 <= env.limit_backward || env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 109 as u8) {
return false;
}
if env.find_among_b(A_12, context) == 0 {
return false;
}
return r_mark_suffix_with_optional_y_consonant(env, context);
}
fn r_mark_sUn(env: &mut SnowballEnv, context: &mut Context) -> bool {
if !r_check_vowel_harmony(env, context) {
return false;
}
if (env.cursor - 2 <= env.limit_backward || env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 110 as u8) {
return false;
}
return env.find_among_b(A_13, context) != 0;
}
fn r_mark_yUz(env: &mut SnowballEnv, context: &mut Context) -> bool {
if !r_check_vowel_harmony(env, context) {
return false;
}
if (env.cursor - 1 <= env.limit_backward || env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 122 as u8) {
return false;
}
if env.find_among_b(A_14, context) == 0 {
return false;
}
return r_mark_suffix_with_optional_y_consonant(env, context);
}
fn r_mark_sUnUz(env: &mut SnowballEnv, context: &mut Context) -> bool {
if (env.cursor - 4 <= env.limit_backward || env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 122 as u8) {
return false;
}
return env.find_among_b(A_15, context) != 0;
}
fn r_mark_lAr(env: &mut SnowballEnv, context: &mut Context) -> bool {
if !r_check_vowel_harmony(env, context) {
return false;
}
if (env.cursor - 2 <= env.limit_backward || env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 114 as u8) {
return false;
}
return env.find_among_b(A_16, context) != 0;
}
fn r_mark_DUr(env: &mut SnowballEnv, context: &mut Context) -> bool {
if !r_check_vowel_harmony(env, context) {
return false;
}
if (env.cursor - 2 <= env.limit_backward || env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 114 as u8) {
return false;
}
return env.find_among_b(A_18, context) != 0;
}
fn r_mark_yDU(env: &mut SnowballEnv, context: &mut Context) -> bool {
if !r_check_vowel_harmony(env, context) {
return false;
}
if env.find_among_b(A_20, context) == 0 {
return false;
}
return r_mark_suffix_with_optional_y_consonant(env, context);
}
fn r_mark_ysA(env: &mut SnowballEnv, context: &mut Context) -> bool {
if (env.cursor - 1 <= env.limit_backward || env.current.as_bytes()[(env.cursor - 1) as usize] as u8 >> 5 != 3 as u8 || ((26658 as i32 >> (env.current.as_bytes()[(env.cursor - 1) as usize] as u8 & 0x1f)) & 1) == 0) {
return false;
}
if env.find_among_b(A_21, context) == 0 {
return false;
}
return r_mark_suffix_with_optional_y_consonant(env, context);
}
fn r_mark_ymUs_(env: &mut SnowballEnv, context: &mut Context) -> bool {
if !r_check_vowel_harmony(env, context) {
return false;
}
if (env.cursor - 3 <= env.limit_backward || env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 159 as u8) {
return false;
}
if env.find_among_b(A_22, context) == 0 {
return false;
}
return r_mark_suffix_with_optional_y_consonant(env, context);
}
fn r_stem_suffix_chain_before_ki(env: &mut SnowballEnv, context: &mut Context) -> bool {
env.ket = env.cursor;
if !env.eq_s_b(&"ki") {
return false;
}
'lab0: loop {
let v_1 = env.limit - env.cursor;
'lab1: loop {
if !r_mark_DA(env, context) {
break 'lab1;
}
env.bra = env.cursor;
env.slice_del();
let v_2 = env.limit - env.cursor;
'lab2: loop {
env.ket = env.cursor;
'lab3: loop {
let v_3 = env.limit - env.cursor;
'lab4: loop {
if !r_mark_lAr(env, context) {
break 'lab4;
}
env.bra = env.cursor;
env.slice_del();
let v_4 = env.limit - env.cursor;
'lab5: loop {
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_4;
break 'lab5;
}
break 'lab5;
}
break 'lab3;
}
env.cursor = env.limit - v_3;
if !r_mark_possessives(env, context) {
env.cursor = env.limit - v_2;
break 'lab2;
}
env.bra = env.cursor;
env.slice_del();
let v_5 = env.limit - env.cursor;
'lab6: loop {
env.ket = env.cursor;
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_5;
break 'lab6;
}
env.bra = env.cursor;
env.slice_del();
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_5;
break 'lab6;
}
break 'lab6;
}
break 'lab3;
}
break 'lab2;
}
break 'lab0;
}
env.cursor = env.limit - v_1;
'lab7: loop {
if !r_mark_nUn(env, context) {
break 'lab7;
}
env.bra = env.cursor;
env.slice_del();
let v_6 = env.limit - env.cursor;
'lab8: loop {
env.ket = env.cursor;
'lab9: loop {
let v_7 = env.limit - env.cursor;
'lab10: loop {
if !r_mark_lArI(env, context) {
break 'lab10;
}
env.bra = env.cursor;
env.slice_del();
break 'lab9;
}
env.cursor = env.limit - v_7;
'lab11: loop {
env.ket = env.cursor;
'lab12: loop {
let v_8 = env.limit - env.cursor;
'lab13: loop {
if !r_mark_possessives(env, context) {
break 'lab13;
}
break 'lab12;
}
env.cursor = env.limit - v_8;
if !r_mark_sU(env, context) {
break 'lab11;
}
break 'lab12;
}
env.bra = env.cursor;
env.slice_del();
let v_9 = env.limit - env.cursor;
'lab14: loop {
env.ket = env.cursor;
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_9;
break 'lab14;
}
env.bra = env.cursor;
env.slice_del();
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_9;
break 'lab14;
}
break 'lab14;
}
break 'lab9;
}
env.cursor = env.limit - v_7;
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_6;
break 'lab8;
}
break 'lab9;
}
break 'lab8;
}
break 'lab0;
}
env.cursor = env.limit - v_1;
if !r_mark_ndA(env, context) {
return false;
}
'lab15: loop {
let v_10 = env.limit - env.cursor;
'lab16: loop {
if !r_mark_lArI(env, context) {
break 'lab16;
}
env.bra = env.cursor;
env.slice_del();
break 'lab15;
}
env.cursor = env.limit - v_10;
'lab17: loop {
if !r_mark_sU(env, context) {
break 'lab17;
}
env.bra = env.cursor;
env.slice_del();
let v_11 = env.limit - env.cursor;
'lab18: loop {
env.ket = env.cursor;
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_11;
break 'lab18;
}
env.bra = env.cursor;
env.slice_del();
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_11;
break 'lab18;
}
break 'lab18;
}
break 'lab15;
}
env.cursor = env.limit - v_10;
if !r_stem_suffix_chain_before_ki(env, context) {
return false;
}
break 'lab15;
}
break 'lab0;
}
return true
}
pub fn stem(env: &mut SnowballEnv) -> bool {
let mut context = &mut Context {
};
let mut among_var;
let mut b_continue_stemming_noun_suffixes : bool;
'lab0: loop {
let v_1 = env.cursor;
'lab1: loop {
env.bra = env.cursor;
'golab2: loop {
let v_2 = env.cursor;
'lab3: loop {
'lab4: loop {
if !env.eq_s(&"'") {
break 'lab4;
}
break 'lab3;
}
env.cursor = v_2;
break 'golab2;
}
env.cursor = v_2;
if env.cursor >= env.limit {
break 'lab1;
}
env.next_char();
}
env.ket = env.cursor;
env.slice_del();
break 'lab1;
}
env.cursor = v_1;
let v_3 = env.cursor;
'lab5: loop {
if !env.hop(2) {
break 'lab5;
}
'golab6: loop {
let v_4 = env.cursor;
'lab7: loop {
if !env.eq_s(&"'") {
break 'lab7;
}
env.cursor = v_4;
break 'golab6;
}
env.cursor = v_4;
if env.cursor >= env.limit {
break 'lab5;
}
env.next_char();
}
env.bra = env.cursor;
env.cursor = env.limit;
env.ket = env.cursor;
env.slice_del();
break 'lab5;
}
env.cursor = v_3;
break 'lab0;
}
let v_5 = env.cursor;
for _ in 0..2 {
if !env.go_out_grouping(G_vowel, 97, 305) {
return false;
}
env.next_char();
}
env.cursor = v_5;
env.limit_backward = env.cursor;
env.cursor = env.limit;
let v_7 = env.limit - env.cursor;
'lab8: loop {
env.ket = env.cursor;
b_continue_stemming_noun_suffixes = true;
'lab9: loop {
let v_8 = env.limit - env.cursor;
'lab10: loop {
'lab11: loop {
let v_9 = env.limit - env.cursor;
'lab12: loop {
if !r_mark_ymUs_(env, context) {
break 'lab12;
}
break 'lab11;
}
env.cursor = env.limit - v_9;
'lab13: loop {
if !r_mark_yDU(env, context) {
break 'lab13;
}
break 'lab11;
}
env.cursor = env.limit - v_9;
'lab14: loop {
if !r_mark_ysA(env, context) {
break 'lab14;
}
break 'lab11;
}
env.cursor = env.limit - v_9;
if !env.eq_s_b(&"ken") {
break 'lab10;
}
if !r_mark_suffix_with_optional_y_consonant(env, context) {
break 'lab10;
}
break 'lab11;
}
break 'lab9;
}
env.cursor = env.limit - v_8;
'lab15: loop {
if (env.cursor - 5 <= env.limit_backward || (env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 97 as u8 && env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 101 as u8)) {
break 'lab15;
}
if env.find_among_b(A_19, context) == 0 {
break 'lab15;
}
'lab16: loop {
let v_10 = env.limit - env.cursor;
'lab17: loop {
if !r_mark_sUnUz(env, context) {
break 'lab17;
}
break 'lab16;
}
env.cursor = env.limit - v_10;
'lab18: loop {
if !r_mark_lAr(env, context) {
break 'lab18;
}
break 'lab16;
}
env.cursor = env.limit - v_10;
'lab19: loop {
if !r_mark_yUm(env, context) {
break 'lab19;
}
break 'lab16;
}
env.cursor = env.limit - v_10;
'lab20: loop {
if !r_mark_sUn(env, context) {
break 'lab20;
}
break 'lab16;
}
env.cursor = env.limit - v_10;
'lab21: loop {
if !r_mark_yUz(env, context) {
break 'lab21;
}
break 'lab16;
}
env.cursor = env.limit - v_10;
break 'lab16;
}
if !r_mark_ymUs_(env, context) {
break 'lab15;
}
break 'lab9;
}
env.cursor = env.limit - v_8;
'lab22: loop {
if !r_mark_lAr(env, context) {
break 'lab22;
}
env.bra = env.cursor;
env.slice_del();
let v_11 = env.limit - env.cursor;
'lab23: loop {
env.ket = env.cursor;
'lab24: loop {
let v_12 = env.limit - env.cursor;
'lab25: loop {
if !r_mark_DUr(env, context) {
break 'lab25;
}
break 'lab24;
}
env.cursor = env.limit - v_12;
'lab26: loop {
if !r_mark_yDU(env, context) {
break 'lab26;
}
break 'lab24;
}
env.cursor = env.limit - v_12;
'lab27: loop {
if !r_mark_ysA(env, context) {
break 'lab27;
}
break 'lab24;
}
env.cursor = env.limit - v_12;
if !r_mark_ymUs_(env, context) {
env.cursor = env.limit - v_11;
break 'lab23;
}
break 'lab24;
}
break 'lab23;
}
b_continue_stemming_noun_suffixes = false;
break 'lab9;
}
env.cursor = env.limit - v_8;
'lab28: loop {
if !r_check_vowel_harmony(env, context) {
break 'lab28;
}
if (env.cursor - 2 <= env.limit_backward || env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 122 as u8) {
break 'lab28;
}
if env.find_among_b(A_17, context) == 0 {
break 'lab28;
}
'lab29: loop {
let v_13 = env.limit - env.cursor;
'lab30: loop {
if !r_mark_yDU(env, context) {
break 'lab30;
}
break 'lab29;
}
env.cursor = env.limit - v_13;
if !r_mark_ysA(env, context) {
break 'lab28;
}
break 'lab29;
}
break 'lab9;
}
env.cursor = env.limit - v_8;
'lab31: loop {
'lab32: loop {
let v_14 = env.limit - env.cursor;
'lab33: loop {
if !r_mark_sUnUz(env, context) {
break 'lab33;
}
break 'lab32;
}
env.cursor = env.limit - v_14;
'lab34: loop {
if !r_mark_yUz(env, context) {
break 'lab34;
}
break 'lab32;
}
env.cursor = env.limit - v_14;
'lab35: loop {
if !r_mark_sUn(env, context) {
break 'lab35;
}
break 'lab32;
}
env.cursor = env.limit - v_14;
if !r_mark_yUm(env, context) {
break 'lab31;
}
break 'lab32;
}
env.bra = env.cursor;
env.slice_del();
let v_15 = env.limit - env.cursor;
'lab36: loop {
env.ket = env.cursor;
if !r_mark_ymUs_(env, context) {
env.cursor = env.limit - v_15;
break 'lab36;
}
break 'lab36;
}
break 'lab9;
}
env.cursor = env.limit - v_8;
if !r_mark_DUr(env, context) {
break 'lab8;
}
env.bra = env.cursor;
env.slice_del();
let v_16 = env.limit - env.cursor;
'lab37: loop {
env.ket = env.cursor;
'lab38: loop {
let v_17 = env.limit - env.cursor;
'lab39: loop {
if !r_mark_sUnUz(env, context) {
break 'lab39;
}
break 'lab38;
}
env.cursor = env.limit - v_17;
'lab40: loop {
if !r_mark_lAr(env, context) {
break 'lab40;
}
break 'lab38;
}
env.cursor = env.limit - v_17;
'lab41: loop {
if !r_mark_yUm(env, context) {
break 'lab41;
}
break 'lab38;
}
env.cursor = env.limit - v_17;
'lab42: loop {
if !r_mark_sUn(env, context) {
break 'lab42;
}
break 'lab38;
}
env.cursor = env.limit - v_17;
'lab43: loop {
if !r_mark_yUz(env, context) {
break 'lab43;
}
break 'lab38;
}
env.cursor = env.limit - v_17;
break 'lab38;
}
if !r_mark_ymUs_(env, context) {
env.cursor = env.limit - v_16;
break 'lab37;
}
break 'lab37;
}
break 'lab9;
}
env.bra = env.cursor;
env.slice_del();
break 'lab8;
}
env.cursor = env.limit - v_7;
if !b_continue_stemming_noun_suffixes {
return false;
}
let v_18 = env.limit - env.cursor;
'lab44: loop {
'lab45: loop {
let v_19 = env.limit - env.cursor;
'lab46: loop {
env.ket = env.cursor;
if !r_mark_lAr(env, context) {
break 'lab46;
}
env.bra = env.cursor;
env.slice_del();
let v_20 = env.limit - env.cursor;
'lab47: loop {
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_20;
break 'lab47;
}
break 'lab47;
}
break 'lab45;
}
env.cursor = env.limit - v_19;
'lab48: loop {
env.ket = env.cursor;
if !r_check_vowel_harmony(env, context) {
break 'lab48;
}
if (env.cursor - 1 <= env.limit_backward || (env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 97 as u8 && env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 101 as u8)) {
break 'lab48;
}
if env.find_among_b(A_11, context) == 0 {
break 'lab48;
}
if !r_mark_suffix_with_optional_n_consonant(env, context) {
break 'lab48;
}
env.bra = env.cursor;
env.slice_del();
let v_21 = env.limit - env.cursor;
'lab49: loop {
'lab50: loop {
let v_22 = env.limit - env.cursor;
'lab51: loop {
env.ket = env.cursor;
if !r_mark_lArI(env, context) {
break 'lab51;
}
env.bra = env.cursor;
env.slice_del();
break 'lab50;
}
env.cursor = env.limit - v_22;
'lab52: loop {
env.ket = env.cursor;
'lab53: loop {
let v_23 = env.limit - env.cursor;
'lab54: loop {
if !r_mark_possessives(env, context) {
break 'lab54;
}
break 'lab53;
}
env.cursor = env.limit - v_23;
if !r_mark_sU(env, context) {
break 'lab52;
}
break 'lab53;
}
env.bra = env.cursor;
env.slice_del();
let v_24 = env.limit - env.cursor;
'lab55: loop {
env.ket = env.cursor;
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_24;
break 'lab55;
}
env.bra = env.cursor;
env.slice_del();
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_24;
break 'lab55;
}
break 'lab55;
}
break 'lab50;
}
env.cursor = env.limit - v_22;
env.ket = env.cursor;
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_21;
break 'lab49;
}
env.bra = env.cursor;
env.slice_del();
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_21;
break 'lab49;
}
break 'lab50;
}
break 'lab49;
}
break 'lab45;
}
env.cursor = env.limit - v_19;
'lab56: loop {
env.ket = env.cursor;
'lab57: loop {
let v_25 = env.limit - env.cursor;
'lab58: loop {
if !r_mark_ndA(env, context) {
break 'lab58;
}
break 'lab57;
}
env.cursor = env.limit - v_25;
if !r_check_vowel_harmony(env, context) {
break 'lab56;
}
if (env.cursor - 1 <= env.limit_backward || (env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 97 as u8 && env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 101 as u8)) {
break 'lab56;
}
if env.find_among_b(A_5, context) == 0 {
break 'lab56;
}
break 'lab57;
}
'lab59: loop {
let v_26 = env.limit - env.cursor;
'lab60: loop {
if !r_mark_lArI(env, context) {
break 'lab60;
}
env.bra = env.cursor;
env.slice_del();
break 'lab59;
}
env.cursor = env.limit - v_26;
'lab61: loop {
if !r_mark_sU(env, context) {
break 'lab61;
}
env.bra = env.cursor;
env.slice_del();
let v_27 = env.limit - env.cursor;
'lab62: loop {
env.ket = env.cursor;
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_27;
break 'lab62;
}
env.bra = env.cursor;
env.slice_del();
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_27;
break 'lab62;
}
break 'lab62;
}
break 'lab59;
}
env.cursor = env.limit - v_26;
if !r_stem_suffix_chain_before_ki(env, context) {
break 'lab56;
}
break 'lab59;
}
break 'lab45;
}
env.cursor = env.limit - v_19;
'lab63: loop {
env.ket = env.cursor;
'lab64: loop {
let v_28 = env.limit - env.cursor;
'lab65: loop {
if !r_check_vowel_harmony(env, context) {
break 'lab65;
}
if (env.cursor - 3 <= env.limit_backward || env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 110 as u8) {
break 'lab65;
}
if env.find_among_b(A_9, context) == 0 {
break 'lab65;
}
break 'lab64;
}
env.cursor = env.limit - v_28;
if !r_check_vowel_harmony(env, context) {
break 'lab63;
}
if env.find_among_b(A_2, context) == 0 {
break 'lab63;
}
break 'lab64;
}
'lab66: loop {
let v_29 = env.limit - env.cursor;
'lab67: loop {
if !r_mark_sU(env, context) {
break 'lab67;
}
env.bra = env.cursor;
env.slice_del();
let v_30 = env.limit - env.cursor;
'lab68: loop {
env.ket = env.cursor;
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_30;
break 'lab68;
}
env.bra = env.cursor;
env.slice_del();
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_30;
break 'lab68;
}
break 'lab68;
}
break 'lab66;
}
env.cursor = env.limit - v_29;
if !r_mark_lArI(env, context) {
break 'lab63;
}
break 'lab66;
}
break 'lab45;
}
env.cursor = env.limit - v_19;
'lab69: loop {
env.ket = env.cursor;
if !r_check_vowel_harmony(env, context) {
break 'lab69;
}
if (env.cursor - 2 <= env.limit_backward || env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 110 as u8) {
break 'lab69;
}
if env.find_among_b(A_8, context) == 0 {
break 'lab69;
}
env.bra = env.cursor;
env.slice_del();
let v_31 = env.limit - env.cursor;
'lab70: loop {
env.ket = env.cursor;
'lab71: loop {
let v_32 = env.limit - env.cursor;
'lab72: loop {
if !r_mark_possessives(env, context) {
break 'lab72;
}
env.bra = env.cursor;
env.slice_del();
let v_33 = env.limit - env.cursor;
'lab73: loop {
env.ket = env.cursor;
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_33;
break 'lab73;
}
env.bra = env.cursor;
env.slice_del();
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_33;
break 'lab73;
}
break 'lab73;
}
break 'lab71;
}
env.cursor = env.limit - v_32;
'lab74: loop {
if !r_mark_lAr(env, context) {
break 'lab74;
}
env.bra = env.cursor;
env.slice_del();
let v_34 = env.limit - env.cursor;
'lab75: loop {
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_34;
break 'lab75;
}
break 'lab75;
}
break 'lab71;
}
env.cursor = env.limit - v_32;
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_31;
break 'lab70;
}
break 'lab71;
}
break 'lab70;
}
break 'lab45;
}
env.cursor = env.limit - v_19;
'lab76: loop {
env.ket = env.cursor;
'lab77: loop {
let v_35 = env.limit - env.cursor;
'lab78: loop {
if !r_mark_nUn(env, context) {
break 'lab78;
}
break 'lab77;
}
env.cursor = env.limit - v_35;
if !r_check_vowel_harmony(env, context) {
break 'lab76;
}
if (env.cursor - 1 <= env.limit_backward || (env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 97 as u8 && env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 101 as u8)) {
break 'lab76;
}
if env.find_among_b(A_10, context) == 0 {
break 'lab76;
}
if !r_mark_suffix_with_optional_y_consonant(env, context) {
break 'lab76;
}
break 'lab77;
}
env.bra = env.cursor;
env.slice_del();
let v_36 = env.limit - env.cursor;
'lab79: loop {
'lab80: loop {
let v_37 = env.limit - env.cursor;
'lab81: loop {
env.ket = env.cursor;
if !r_mark_lAr(env, context) {
break 'lab81;
}
env.bra = env.cursor;
env.slice_del();
if !r_stem_suffix_chain_before_ki(env, context) {
break 'lab81;
}
break 'lab80;
}
env.cursor = env.limit - v_37;
'lab82: loop {
env.ket = env.cursor;
'lab83: loop {
let v_38 = env.limit - env.cursor;
'lab84: loop {
if !r_mark_possessives(env, context) {
break 'lab84;
}
break 'lab83;
}
env.cursor = env.limit - v_38;
if !r_mark_sU(env, context) {
break 'lab82;
}
break 'lab83;
}
env.bra = env.cursor;
env.slice_del();
let v_39 = env.limit - env.cursor;
'lab85: loop {
env.ket = env.cursor;
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_39;
break 'lab85;
}
env.bra = env.cursor;
env.slice_del();
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_39;
break 'lab85;
}
break 'lab85;
}
break 'lab80;
}
env.cursor = env.limit - v_37;
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_36;
break 'lab79;
}
break 'lab80;
}
break 'lab79;
}
break 'lab45;
}
env.cursor = env.limit - v_19;
'lab86: loop {
env.ket = env.cursor;
if !r_mark_lArI(env, context) {
break 'lab86;
}
env.bra = env.cursor;
env.slice_del();
break 'lab45;
}
env.cursor = env.limit - v_19;
'lab87: loop {
if !r_stem_suffix_chain_before_ki(env, context) {
break 'lab87;
}
break 'lab45;
}
env.cursor = env.limit - v_19;
'lab88: loop {
env.ket = env.cursor;
'lab89: loop {
let v_40 = env.limit - env.cursor;
'lab90: loop {
if !r_mark_DA(env, context) {
break 'lab90;
}
break 'lab89;
}
env.cursor = env.limit - v_40;
'lab91: loop {
if !r_check_vowel_harmony(env, context) {
break 'lab91;
}
if !env.in_grouping_b(G_U, 105, 305) {
break 'lab91;
}
if !r_mark_suffix_with_optional_y_consonant(env, context) {
break 'lab91;
}
break 'lab89;
}
env.cursor = env.limit - v_40;
if !r_check_vowel_harmony(env, context) {
break 'lab88;
}
if (env.cursor <= env.limit_backward || (env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 97 as u8 && env.current.as_bytes()[(env.cursor - 1) as usize] as u8 != 101 as u8)) {
break 'lab88;
}
env.cursor -= 1;
if !r_mark_suffix_with_optional_y_consonant(env, context) {
break 'lab88;
}
break 'lab89;
}
env.bra = env.cursor;
env.slice_del();
let v_41 = env.limit - env.cursor;
'lab92: loop {
env.ket = env.cursor;
'lab93: loop {
let v_42 = env.limit - env.cursor;
'lab94: loop {
if !r_mark_possessives(env, context) {
break 'lab94;
}
env.bra = env.cursor;
env.slice_del();
let v_43 = env.limit - env.cursor;
'lab95: loop {
env.ket = env.cursor;
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_43;
break 'lab95;
}
break 'lab95;
}
break 'lab93;
}
env.cursor = env.limit - v_42;
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_41;
break 'lab92;
}
break 'lab93;
}
env.bra = env.cursor;
env.slice_del();
env.ket = env.cursor;
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_41;
break 'lab92;
}
break 'lab92;
}
break 'lab45;
}
env.cursor = env.limit - v_19;
env.ket = env.cursor;
'lab96: loop {
let v_44 = env.limit - env.cursor;
'lab97: loop {
if !r_mark_possessives(env, context) {
break 'lab97;
}
break 'lab96;
}
env.cursor = env.limit - v_44;
if !r_mark_sU(env, context) {
break 'lab44;
}
break 'lab96;
}
env.bra = env.cursor;
env.slice_del();
let v_45 = env.limit - env.cursor;
'lab98: loop {
env.ket = env.cursor;
if !r_mark_lAr(env, context) {
env.cursor = env.limit - v_45;
break 'lab98;
}
env.bra = env.cursor;
env.slice_del();
if !r_stem_suffix_chain_before_ki(env, context) {
env.cursor = env.limit - v_45;
break 'lab98;
}
break 'lab98;
}
break 'lab45;
}
break 'lab44;
}
env.cursor = env.limit - v_18;
env.cursor = env.limit_backward;
env.limit_backward = env.cursor;
env.cursor = env.limit;
let v_46 = env.limit - env.cursor;
'lab99: loop {
if !env.eq_s_b(&"ad") {
break 'lab99;
}
let v_47 = env.limit - env.cursor;
'lab100: loop {
if !env.eq_s_b(&"soy") {
env.cursor = env.limit - v_47;
break 'lab100;
}
break 'lab100;
}
if env.cursor > env.limit_backward {
break 'lab99;
}
return false;
}
env.cursor = env.limit - v_46;
let v_48 = env.limit - env.cursor;
'lab101: loop {
env.ket = env.cursor;
env.bra = env.cursor;
'lab102: loop {
'lab103: loop {
if !env.eq_s_b(&"d") {
break 'lab103;
}
break 'lab102;
}
if !env.eq_s_b(&"g") {
break 'lab101;
}
break 'lab102;
}
if !env.go_out_grouping_b(G_vowel, 97, 305) {
break 'lab101;
}
'lab104: loop {
let v_49 = env.limit - env.cursor;
'lab105: loop {
'lab106: loop {
'lab107: loop {
if !env.eq_s_b(&"a") {
break 'lab107;
}
break 'lab106;
}
if !env.eq_s_b(&"ı") {
break 'lab105;
}
break 'lab106;
}
env.slice_from("ı");
break 'lab104;
}
env.cursor = env.limit - v_49;
'lab108: loop {
'lab109: loop {
'lab110: loop {
if !env.eq_s_b(&"e") {
break 'lab110;
}
break 'lab109;
}
if !env.eq_s_b(&"i") {
break 'lab108;
}
break 'lab109;
}
env.slice_from("i");
break 'lab104;
}
env.cursor = env.limit - v_49;
'lab111: loop {
'lab112: loop {
'lab113: loop {
if !env.eq_s_b(&"o") {
break 'lab113;
}
break 'lab112;
}
if !env.eq_s_b(&"u") {
break 'lab111;
}
break 'lab112;
}
env.slice_from("u");
break 'lab104;
}
env.cursor = env.limit - v_49;
'lab114: loop {
'lab115: loop {
if !env.eq_s_b(&"ö") {
break 'lab115;
}
break 'lab114;
}
if !env.eq_s_b(&"ü") {
break 'lab101;
}
break 'lab114;
}
env.slice_from("ü");
break 'lab104;
}
break 'lab101;
}
env.cursor = env.limit - v_48;
let v_50 = env.limit - env.cursor;
'lab116: loop {
env.ket = env.cursor;
among_var = env.find_among_b(A_23, context);
if among_var == 0 {
break 'lab116;
}
env.bra = env.cursor;
match among_var {
1 => {
env.slice_from("p");
}
2 => {
env.slice_from("ç");
}
3 => {
env.slice_from("t");
}
4 => {
env.slice_from("k");
}
_ => ()
}
break 'lab116;
}
env.cursor = env.limit - v_50;
env.cursor = env.limit_backward;
return true
}