


























from .constants import eStart, eError, eItsMe

HZ_cls = (
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,0,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,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,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,0,  
0,0,0,0,0,0,0,0,  
0,0,0,0,0,0,0,0,  
0,0,0,4,0,5,2,0,  
1,1,1,1,1,1,1,1,  
1,1,1,1,1,1,1,1,  
1,1,1,1,1,1,1,1,  
1,1,1,1,1,1,1,1,  
1,1,1,1,1,1,1,1,  
1,1,1,1,1,1,1,1,  
1,1,1,1,1,1,1,1,  
1,1,1,1,1,1,1,1,  
1,1,1,1,1,1,1,1,  
1,1,1,1,1,1,1,1,  
1,1,1,1,1,1,1,1,  
1,1,1,1,1,1,1,1,  
1,1,1,1,1,1,1,1,  
1,1,1,1,1,1,1,1,  
1,1,1,1,1,1,1,1,  
1,1,1,1,1,1,1,1,  
)

HZ_st = (
eStart,eError,     3,eStart,eStart,eStart,eError,eError,
eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,
eItsMe,eItsMe,eError,eError,eStart,eStart,     4,eError,
     5,eError,     6,eError,     5,     5,     4,eError,
     4,eError,     4,     4,     4,eError,     4,eError,
     4,eItsMe,eStart,eStart,eStart,eStart,eStart,eStart,
)

HZCharLenTable = (0, 0, 0, 0, 0, 0)

HZSMModel = {'classTable': HZ_cls,
             'classFactor': 6,
             'stateTable': HZ_st,
             'charLenTable': HZCharLenTable,
             'name': "HZ-GB-2312"}

ISO2022CN_cls = (
2,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,0,1,0,0,0,0,  
0,0,0,0,0,0,0,0,  
0,3,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,4,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,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,0,0,  
0,0,0,0,0,0,0,0,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
)

ISO2022CN_st = (
eStart,     3,eError,eStart,eStart,eStart,eStart,eStart,
eStart,eError,eError,eError,eError,eError,eError,eError,
eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,
eItsMe,eItsMe,eItsMe,eError,eError,eError,     4,eError,
eError,eError,eError,eItsMe,eError,eError,eError,eError,
     5,     6,eError,eError,eError,eError,eError,eError,
eError,eError,eError,eItsMe,eError,eError,eError,eError,
eError,eError,eError,eError,eError,eItsMe,eError,eStart,
)

ISO2022CNCharLenTable = (0, 0, 0, 0, 0, 0, 0, 0, 0)

ISO2022CNSMModel = {'classTable': ISO2022CN_cls,
                    'classFactor': 9,
                    'stateTable': ISO2022CN_st,
                    'charLenTable': ISO2022CNCharLenTable,
                    'name': "ISO-2022-CN"}

ISO2022JP_cls = (
2,0,0,0,0,0,0,0,  
0,0,0,0,0,0,2,2,  
0,0,0,0,0,0,0,0,  
0,0,0,1,0,0,0,0,  
0,0,0,0,7,0,0,0,  
3,0,0,0,0,0,0,0,  
0,0,0,0,0,0,0,0,  
0,0,0,0,0,0,0,0,  
6,0,4,0,8,0,0,0,  
0,9,5,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,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,0,0,0,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
)

ISO2022JP_st = (
eStart,     3,eError,eStart,eStart,eStart,eStart,eStart,
eStart,eStart,eError,eError,eError,eError,eError,eError,
eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,
eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eError,eError,
eError,     5,eError,eError,eError,     4,eError,eError,
eError,eError,eError,     6,eItsMe,eError,eItsMe,eError,
eError,eError,eError,eError,eError,eError,eItsMe,eItsMe,
eError,eError,eError,eItsMe,eError,eError,eError,eError,
eError,eError,eError,eError,eItsMe,eError,eStart,eStart,
)

ISO2022JPCharLenTable = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

ISO2022JPSMModel = {'classTable': ISO2022JP_cls,
                    'classFactor': 10,
                    'stateTable': ISO2022JP_st,
                    'charLenTable': ISO2022JPCharLenTable,
                    'name': "ISO-2022-JP"}

ISO2022KR_cls = (
2,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,0,1,0,0,0,0,  
0,0,0,0,3,0,0,0,  
0,4,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,5,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,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,0,0,  
0,0,0,0,0,0,0,0,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
2,2,2,2,2,2,2,2,  
)

ISO2022KR_st = (
eStart,     3,eError,eStart,eStart,eStart,eError,eError,
eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,
eItsMe,eItsMe,eError,eError,eError,     4,eError,eError,
eError,eError,eError,eError,     5,eError,eError,eError,
eError,eError,eError,eItsMe,eStart,eStart,eStart,eStart,
)

ISO2022KRCharLenTable = (0, 0, 0, 0, 0, 0)

ISO2022KRSMModel = {'classTable': ISO2022KR_cls,
                    'classFactor': 6,
                    'stateTable': ISO2022KR_st,
                    'charLenTable': ISO2022KRCharLenTable,
                    'name': "ISO-2022-KR"}


