GET     <IKHG$Dir>.Source.Chars.Cyrillic2

KeyStruct25
        &       KeyTran25-KeyStruct25
        &       (KeyTran25End-KeyTran25) :SHR: 2
        &       InkeyTran-KeyStruct25
        &       ShiftingKeyList-KeyStruct25
        &       SpecialList25-KeyStruct25
        &       SpecialCodeTable25-KeyStruct25
        &       KeyStructInit-KeyStruct25
        &       PendingAltCode25-KeyStruct25
        &       PendingAltSpecial25-KeyStruct25
        &       PadK25NumTran-KeyStruct25-(SpecialList25Pad-SpecialList25)
        &       PadK25CurTran-KeyStruct25-(SpecialList25Pad-SpecialList25)

KeyTran25
        =       &1B, &1B, &1B, &1B
        =       &81, &91, &A1, &B1
        =       &82, &92, &A2, &B2
        =       &83, &93, &A3, &B3
        =       &84, &94, &A4, &B4
        =       &85, &95, &A5, &B5
        =       &86, &96, &A6, &B6
        =       &87, &97, &A7, &B7
        =       &88, &98, &A8, &B8
        =       &89, &99, &A9, &B9
        =       &CA, &DA, &EA, &FA
        =       &CB, &DB, &EB, &FB
        =       &CC, &DC, &EC, &FC
        =       &80, &90, &A0, &B0
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF

        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &08, &08, &08, &08
        =       &CD, &DD, &ED, &FD

        =       &1E, &1E, &1E, &1E
        =       &9F, &8F, &BF, &AF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF

        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &8B, &9B, &AB, &BB
        =       &9E, &8E, &BE, &AE
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF

        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &0D, &0D, &0D, &0D
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF

        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &8F, &9F, &AF, &BF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF

        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &8C, &9C, &AC, &BC
        =       &8E, &9E, &AE, &BE
        =       &8D, &9D, &AD, &BD
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &FF, &FF, &FF, &FF
        =       &C0, &D0, &E0, &F0
        =       &C0, &D0, &E0, &F0
        =       &C1, &D1, &E1, &F1
        =       &C2, &D2, &E2, &F2
        =       &C3, &D3, &E3, &F3
        =       &C4, &D4, &E4, &F4
        =       &FF, &FF, &FF, &FF
KeyTran25End

SpecialList25
        =       SpecialList25End-SpecialList25-1
SpecialList25Pad
        =       K1NumPadSlash, K1NumPadStar, K1NumPadHash
        =       K1NumPad7, K1NumPad8, K1NumPad9, K1NumPadMinus
        =       K1NumPad4, K1NumPad5, K1NumPad6, K1NumPadPlus
        =       K1NumPad1, K1NumPad2, K1NumPad3, K1NumPadEnter
        =       K1NumPad0, K1NumPadDot

        =       K1ShiftLeft, K1ShiftRight, K1CtrlLeft, K1CtrlRight
        =       K1AltLeft, K1AltRight
        =       K1RightMouse, K1CentreMouse, K1LeftMouse
        =       K1CapsLock, K1Tab
        =       K1Delete
        =       K1NumLock, K1ScrollLock, K1Break
K25TopBitSet
        =       &10, &11, &12, &13, &14, &15, &16, &17
        =       &18, &19, &1A, &1B, &1C, &27, &28, &29
        =       &2A, &2B, &2C, &2D, &2E, &2F, &30, &31
        =       &32, &33, &3C, &3D, &3E, &3F, &40, &41
        =       &42, &43, &44, &45, &46, &4E, &4F, &50
        =       &51, &52, &53, &54, &55, &56, &57, &5F
SpecialList25End
        ALIGN

SpecialCodeTable25
        &       ProcessK1Pad-SpecialCodeTable25
        &       ProcessK1Pad-SpecialCodeTable25
        &       ProcessK1Pad-SpecialCodeTable25
        &       ProcessK1Pad-SpecialCodeTable25
        &       ProcessK1Pad-SpecialCodeTable25
        &       ProcessK1Pad-SpecialCodeTable25
        &       ProcessK1Pad-SpecialCodeTable25
        &       ProcessK1Pad-SpecialCodeTable25
        &       ProcessK1Pad-SpecialCodeTable25
        &       ProcessK1Pad-SpecialCodeTable25
        &       ProcessK1Pad-SpecialCodeTable25
        &       ProcessK1Pad-SpecialCodeTable25
        &       ProcessK1Pad-SpecialCodeTable25
        &       ProcessK1Pad-SpecialCodeTable25
        &       ProcessK1Pad-SpecialCodeTable25
        &       ProcessK1Pad-SpecialCodeTable25
        &       ProcessK1Pad-SpecialCodeTable25
        &       ProcessKShift-SpecialCodeTable25
        &       ProcessKShift-SpecialCodeTable25
        &       ProcessKCtrl-SpecialCodeTable25
        &       ProcessKCtrl-SpecialCodeTable25
        &       ProcessKAlt-SpecialCodeTable25
        &       ProcessKAlt-SpecialCodeTable25
        &       ProcessKRight-SpecialCodeTable25
        &       ProcessKCentre-SpecialCodeTable25
        &       ProcessKLeft-SpecialCodeTable25
        &       ProcessKCaps-SpecialCodeTable25
        &       ProcessKTab-SpecialCodeTable25
        &       ProcessKDelete-SpecialCodeTable25
        &       ProcessKNum-SpecialCodeTable25
        &       ProcessKScroll-SpecialCodeTable25
        &       ProcessKBreak-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25
        &       ProcessK25TopBitSet-SpecialCodeTable25

TopBitSetTable25
        =       &2E, &00, &3E, &00, &2E, &00, &3E, &00
        =       &60, &00, &7E, &00, &60, &00, &7E, &00
        =       &31, &00, &21, &00, &31, &00, &21, &00
        =       &31, &00, &21, &00, &31, &00, &21, &00
        =       &32, &00, &22, &00, &00, &00, &00, &00
        =       &32, &00, &40, &00, &00, &00, &00, &00
        =       &33, &00, &23, &00, &33, &00, &23, &00
        =       &33, &00, &23, &00, &33, &00, &23, &00
        =       &34, &00, &24, &00, &34, &00, &24, &00
        =       &34, &00, &24, &00, &34, &00, &24, &00
        =       &35, &00, &25, &00, &35, &00, &25, &00
        =       &35, &00, &25, &00, &35, &00, &25, &00
        =       &36, &00, &26, &00, &1E, &00, &1E, &00
        =       &36, &00, &5E, &00, &1E, &00, &1E, &00
        =       &37, &00, &27, &00, &37, &00, &27, &00
        =       &37, &00, &26, &00, &37, &00, &26, &00
        =       &38, &00, &2A, &00, &38, &00, &2A, &00
        =       &38, &00, &2A, &00, &38, &00, &2A, &00
        =       &39, &00, &28, &00, &39, &00, &28, &00
        =       &39, &00, &28, &00, &39, &00, &28, &00
        =       &30, &00, &29, &00, &30, &00, &29, &00
        =       &30, &00, &29, &00, &30, &00, &29, &00
        =       &3B, &00, &3A, &00, &1F, &00, &1F, &00
        =       &2D, &00, &5F, &00, &1F, &00, &1F, &00
        =       &3D, &00, &2B, &00, &3D, &00, &2B, &00
        =       &3D, &00, &2B, &00, &3D, &00, &2B, &00
        =       &A9, &01, &89, &01, &11, &00, &11, &00
        =       &71, &00, &51, &00, &11, &00, &11, &00
        =       &E6, &01, &96, &01, &17, &00, &17, &00
        =       &77, &00, &57, &00, &17, &00, &17, &00
        =       &E3, &01, &93, &01, &05, &00, &05, &00
        =       &65, &00, &45, &00, &05, &00, &05, &00
        =       &AA, &01, &8A, &01, &12, &00, &12, &00
        =       &72, &00, &52, &00, &12, &00, &12, &00
        =       &A5, &01, &85, &01, &14, &00, &14, &00
        =       &74, &00, &54, &00, &14, &00, &14, &00
        =       &AD, &01, &8D, &01, &19, &00, &19, &00
        =       &79, &00, &59, &00, &19, &00, &19, &00
        =       &A3, &01, &83, &01, &15, &00, &15, &00
        =       &75, &00, &55, &00, &15, &00, &15, &00
        =       &E8, &01, &98, &01, &09, &00, &09, &00
        =       &69, &00, &49, &00, &09, &00, &09, &00
        =       &E9, &01, &99, &01, &0F, &00, &0F, &00
        =       &6F, &00, &4F, &00, &0F, &00, &0F, &00
        =       &A7, &01, &87, &01, &10, &00, &10, &00
        =       &70, &00, &50, &00, &10, &00, &10, &00
        =       &E5, &01, &95, &01, &1B, &00, &1B, &00
        =       &5B, &00, &7B, &00, &1B, &00, &1B, &00
        =       &EA, &01, &9A, &01, &1D, &00, &1D, &00
        =       &5D, &00, &7D, &00, &1D, &00, &1D, &00
        =       &2F, &00, &3F, &00, &1C, &00, &1C, &00
        =       &5C, &00, &7C, &00, &1C, &00, &1C, &00
        =       &E4, &01, &94, &01, &01, &00, &01, &00
        =       &61, &00, &41, &00, &01, &00, &01, &00
        =       &EB, &01, &9B, &01, &13, &00, &13, &00
        =       &73, &00, &53, &00, &13, &00, &13, &00
        =       &A2, &01, &82, &01, &04, &00, &04, &00
        =       &64, &00, &44, &00, &04, &00, &04, &00
        =       &A0, &01, &80, &01, &06, &00, &06, &00
        =       &66, &00, &46, &00, &06, &00, &06, &00
        =       &AF, &01, &8F, &01, &07, &00, &07, &00
        =       &67, &00, &47, &00, &07, &00, &07, &00
        =       &E0, &01, &90, &01, &08, &00, &08, &00
        =       &68, &00, &48, &00, &08, &00, &08, &00
        =       &AE, &01, &8E, &01, &0A, &00, &0A, &00
        =       &6A, &00, &4A, &00, &0A, &00, &0A, &00
        =       &AB, &01, &8B, &01, &0B, &00, &0B, &00
        =       &6B, &00, &4B, &00, &0B, &00, &0B, &00
        =       &A4, &01, &84, &01, &0C, &00, &0C, &00
        =       &6C, &00, &4C, &00, &0C, &00, &0C, &00
        =       &A6, &01, &86, &01, &A6, &00, &86, &00
        =       &3B, &00, &3A, &00, &3B, &00, &3A, &00
        =       &ED, &01, &9D, &01, &ED, &00, &9D, &00
        =       &27, &00, &22, &00, &27, &00, &22, &00
        =       &EF, &01, &9F, &01, &1A, &00, &1A, &00
        =       &7A, &00, &5A, &00, &1A, &00, &1A, &00
        =       &E7, &01, &97, &01, &18, &00, &18, &00
        =       &78, &00, &58, &00, &18, &00, &18, &00
        =       &E1, &01, &91, &01, &03, &00, &03, &00
        =       &63, &00, &43, &00, &03, &00, &03, &00
        =       &AC, &01, &8C, &01, &16, &00, &16, &00
        =       &76, &00, &56, &00, &16, &00, &16, &00
        =       &A8, &01, &88, &01, &02, &00, &02, &00
        =       &62, &00, &42, &00, &02, &00, &02, &00
        =       &E2, &01, &92, &01, &0E, &00, &0E, &00
        =       &6E, &00, &4E, &00, &0E, &00, &0E, &00
        =       &EC, &01, &9C, &01, &0D, &00, &0D, &00
        =       &6D, &00, &4D, &00, &0D, &00, &0D, &00
        =       &A1, &01, &81, &01, &A1, &00, &81, &00
        =       &2C, &00, &3C, &00, &2C, &00, &3C, &00
        =       &EE, &01, &9E, &01, &EE, &00, &9E, &00
        =       &2E, &00, &3E, &00, &2E, &00, &3E, &00
        =       &2C, &00, &3C, &00, &2C, &00, &3C, &00
        =       &2F, &00, &3F, &00, &2F, &00, &3F, &00
        =       &20, &00, &20, &00, &20, &00, &20, &00
        =       &A0, &00, &A0, &00, &00, &03, &00, &03

ProcessK25TopBitSet     DoTopBit        25

        DoAccent        25, Cyrillic2

        OutputAccentTable_Cyrillic2

PadK25NumTran
        =       &2F, &2A, &23, &37, &38, &39, &2D, &34
        =       &35, &36, &2B, &31, &32, &33, &0D, &30
        =       &2E
PadK25CurTran
        =       &2F, &2A, &23, &1E, &8F, &9F, &2D, &8C
        =       &FF, &8D, &2B, &8B, &8E, &9E, &0D, &CD
        =       &7F
        ALIGN

        END