﻿#!/usr/bin/python
# -*- coding=utf-8 -*-
"""
Constants used for stemming module
"""
DEFAULT_PREFIX_LETTERS = u"مأسفلونيتاكب"
DEFAULT_SUFFIX_LETTERS = u"امتةكنهوي"
#DEFAULT_INFIX_LETTERS = u"ويدط"
DEFAULT_INFIX_LETTERS = u"اتويطد"
DEFAULT_MAX_PREFIX = 6
DEFAULT_MAX_SUFFIX = 5
DEFAULT_MIN_STEM = 3
DEFAULT_JOKER = u"*"

DEFAULT_PREFIX_LIST = (
    u"",
    u'ءأ',
    u'ا',
    u'',
    u'است',
    u'ال',
    u'الا',
    u'الاست',
    u'الان',
    u'الأ',
    u'الإ',
    u'الت',
    u'اللا',
    u'الم',
    u'المت',
    u'المتم',
    u'المست',
    u'المن',
    u'ان',
    u'اي',
    u'أ',
    u'أال',
    u'أأ',
    u'أب',
    u'أبال',
    u'أت',
    u'أف',
    u'أفال',
    u'أفب',
    u'أفبال',
    u'أفت',
    u'أل',
    u'ألل',
    u'أو',
    u'أوا',
    u'أوال',
    u'أولل',
    u'أي',
    u'إ',
    u'إست',
    u'ب',
    u'باست',
    u'بال',
    u'بالا',
    u'بالاست',
    u'بالان',
    u'بالأ',
    u'بالإ',
    u'بالت',
    u'بالم',
    u'بالمت',
    u'بالمست',
    u'بان',
    u'بأ',
    u'بإ',
    u'بت',
    u'بم',
    u'بمست',
    u'ت',
    u'تال',
    u'تت',
    u'تست',
    u'تن',
    u'س',
    u'سأ',
    u'ست',
    u'سن',
    u'سنت',
    u'سي',
    u'سيت',
    u'ف',
    u'فا',
    u'فاست',
    u'فال',
    u'فالا',
    u'فالاست',
    u'فالأ',
    u'فالت',
    u'فالم',
    u'فالمست',
    u'فان',
    u'فأ',
    u'فإ',
    u'فب',
    u'فبال',
    u'فبالم',
    u'فت',
    u'فتست',
    u'فس',
    u'فسأ',
    u'فست',
    u'فسن',
    u'فسي',
    u'فك',
    u'فكال',
    u'فل',
    u'فلل',
    u'فللم',
    u'فلي',
    u'فليست',
    u'فم',
    u'فن',
    u'فنت',
    u'فو',
    u'فوال',
    u'في',
    u'فيت',
    u'فيست',
    u'ك',
    u'كاست',
    u'كال',
    u'كالا',
    u'كالاست',
    u'كالان',
    u'كالت',
    u'كالم',
    u'كالمت',
    u'كالمست',
    u'كم',
    u'كمست',
    u'ل',
    u'لا',
    u'لاست',
    u'لال',
    u'لان',
    u'لأ',
    u'لأست',
    u'لإ',
    u'لت',
    u'لل',
    u'للا',
    u'للاست',
    u'للان',
    u'للإ',
    u'للإست',
    u'للت',
    u'للم',
    u'للمت',
    u'للمست',
    u'لم',
    u'لمست',
    u'لي',
    u'ليت',
    u'ليست',
    u'م',
    u'مت',
    u'مست',
    u'من',
    u'ن',
    u'نت',
    u'نست',
    u'و',
    u'وا',
    u'و',
    u'واست',
    u'وال',
    u'والا',
    u'والاست',
    u'والان',
    u'والأ',
    u'والإ',
    u'والت',
    u'والم',
    u'والمت',
    u'والمست',
    u'والمن',
    u'وان',
    u'وأ',
    u'وأست',
    u'وإ',
    u'وب',
    u'وبال',
    u'وبالأ',
    u'وبالت',
    u'وبالم',
    u'وبالمت',
    u'وبإ',
    u'وبت',
    u'وبم',
    u'وت',
    u'وتت',
    u'وسأ',
    u'وست',
    u'وسن',
    u'وسي',
    u'وك',
    u'وكال',
    u'ول',
    u'ولأ',
    u'ولت',
    u'ولتست',
    u'ولل',
    u'وللا',
    u'وللاست',
    u'وللت',
    u'وللم',
    u'وللمت',
    u'ولم',
    u'ولن',
    u'ولي',
    u'وم',
    u'ومت',
    u'ومست',
    u'ومن',
    u'ون',
    u'وي',
    u'ويت',
    u'ويست',
    u'ي',
    u'يا',
    u'يال',
    u'يالل',
    u'يت',
    u'يست',
    u'ين',
#review added
    u'لن',
    u'لنست',
    u'لنت',
    u'لي',
    u'ليست',
    u'ليت',
    u'لت',
    u'لتست',
    u'لتت',
    u'ولن',
    u'ولنست',
    u'ولنت',
    u'ولي',
    u'وليست',
    u'وليت',
    u'ولت',
    u'ولتست',
    u'ولتت',
    u'فلن',
    u'فلنست',
    u'فلنت',
    u'فلي',
    u'فليست',
    u'فليت',
    u'فلت',
    u'فلتست',
    u'فلتت',
)

DEFAULT_SUFFIX_LIST = (
    u"",
    u'ة',
    u'ا',
    u'اءك',
    u'اءكم',
    u'اءكما',
    u'اءكن',
    u'اءنا',
    u'اءه',
    u'اءها',
    u'اءهم',
    u'اءهما',
    u'اءهن',
    u'اءي',
    u'ائك',
    u'ائكم',
    u'ائكما',
    u'ائكن',
    u'ائنا',
    u'ائه',
    u'ائها',
    u'ائهم',
    u'ائهما',
    u'ائهن',
    u'ائي',
    u'ك',
    u'كم',
    u'كما',
    u'كن',
    u'نا',
    u'ه',
    u'ها',
    u'هم',
    u'هما',
    u'هن',
    u'ي',
    u'ي',
    u'يان',
    u'ية',
    u'يه',
    u'يون',
    u'يين',
    u'اك',
    u'اكما',
    u'اكن',
    u'ان',
    u'انا',
    u'ان',
    u'انك',
    u'انكم',
    u'انكما',
    u'انكن',
    u'اننا',
    u'انه',
    u'انها',
    u'انهم',
    u'انهما',
    u'انهن',
    u'اني',
    u'انة',
    u'انك',
    u'انكم',
    u'انكما',
    u'انكن',
    u'اننا',
    u'انني',
    u'انه',
    u'انها',
    u'انهم',
    u'انهما',
    u'انهن',
    u'اني',
    u'اني',
    u'انيان',
    u'انية',
    u'انيتك',
    u'انيتكم',
    u'انيتكما',
    u'انيتكن',
    u'انيتنا',
    u'انيته',
    u'انيتها',
    u'انيتهم',
    u'انيتهما',
    u'انيتهن',
    u'انيتي',
    u'انيون',
    u'انيين',
    u'اها',
    u'اهما',
    u'اهن',
    u'او',
    u'اوي',
    u'اوية',
    u'اي',
    u'ت',
    u'تاك',
    u'تاكم',
    u'تاكما',
    u'تاكن',
    u'تان',
    u'تانا',
    u'تاني',
    u'تاه',
    u'تاها',
    u'تاهم',
    u'تاهما',
    u'تاهن',
    u'تاي',
    u'تك',
    u'تكم',
    u'تكما',
    u'تكن',
    u'تم',
    u'تما',
    u'تمانا',
    u'تماني',
    u'تماه',
    u'تماها',
    u'تماهم',
    u'تماهما',
    u'تماهن',
    u'تمونا',
    u'تموني',
    u'تموه',
    u'تموها',
    u'تموهم',
    u'تموهما',
    u'تموهن',
    u'تن',
    u'تنا',
    u'تني',
    u'ته',
    u'تها',
    u'تهم',
    u'تهم',
    u'تهما',
    u'تهن',
    u'تيَّ',
    u'تي',
    u'تيك',
    u'تيكم',
    u'تيكما',
    u'تيكن',
    u'تين',
    u'تينا',
    u'تيه',
    u'تيها',
    u'تيهم',
    u'تيهما',
    u'تيهن',
    u'ك',
    u'ك',
    u'كم',
    u'كم',
    u'كما',
    u'كن',
    u'ن',
    u'نا',
    u'ناك',
    u'ناكم',
    u'ناكما',
    u'ناكن',
    u'ناه',
    u'ناها',
    u'ناهم',
    u'ناهما',
    u'ناهن',
    u'نك',
    u'نكم',
    u'نكما',
    u'نكن',
    u'ننا',
    u'نني',
    u'نه',
    u'نها',
    u'نهم',
    u'نهما',
    u'نهن',
    u'ني',
    u'ه',
    u'ه',
    u'ها',
    u'هم',
    u'هما',
    u'هن',
    u'وا',
    u'و',
    u'وانية',
    u'وك',
    u'وكم',
    u'وكما',
    u'وكن',
    u'ون',
    u'ونا',
    u'ونك',
    u'ونكم',
    u'ونكما',
    u'ونكن',
    u'وننا',
    u'ونني',
    u'ونه',
    u'ونها',
    u'ونهم',
    u'ونهما',
    u'ونهن',
    u'وني',
    u'وه',
    u'وها',
    u'وهم',
    u'وهما',
    u'وهن',
    u'ي',
    u'ي',
    u'يك',
    u'يكم',
    u'يكما',
    u'يكن',
    u'ينا',
    u'يه',
    u'يها',
    u'يهم',
    u'يهن',
    u'يهها',
    u'يي',
    u'يان',
    u'ية',
    u'يتان',
    u'يتك',
    u'يتكم',
    u'يتكما',
    u'يتكن',
    u'يتنا',
    u'يته',
    u'يتها',
    u'يتهم',
    u'يتهما',
    u'يتهن',
    u'يتي',
    u'يتيا',
    u'يتيان',
    u'يتين',
    u'يك',
    u'يكم',
    u'يكم',
    u'يكما',
    u'يكن',
    u'ين',
    u'ينا',
    u'يننا',
    u'ينني',
    u'ينه',
    u'ينها',
    u'ينهم',
    u'ينهما',
    u'ينهن',
    u'يني',
    u'يه',
    u'يها',
    u'يهم',
    u'يهم',
    u'يهما',
    u'يهن',
    u'يون',
    u'يي',
    u'يين',
#add missed suffixes
    u'ات',
    u'يات',
    #reviewed 
    u'اء',
    u'ى',
    u"كهم",
    u"كهن",
    u"كهما",
    u"كه",
    u'اته',
    u'اتها',
    u'اتهم',
    u'اتهن',
    u'اتهما',
    u'اتك',
    u'اتكما',
    u'اتكم',
    u'اتكن',
    u'اتكما',
    u'اؤك',
    u'اؤكم',
    u'اؤكما',
    u'اؤكن',
    u'اؤنا',
    u'اؤه',
    u'اؤها',
    u'اؤهم',
    u'اؤهما',
    u'اؤهن',    
)
