/* Generated By:JavaCC: Do not edit this line. VRML97ParserTokenManager.java */
package org.cybergarage.x3d.parser.vrml97;

public class VRML97ParserTokenManager implements VRML97ParserConstants {
    public java.io.PrintStream debugStream = System.out;

    public void setDebugStream(java.io.PrintStream ds) {
        debugStream = ds;
    }

    private final int jjStopStringLiteralDfa_0(int pos, long active0,
            long active1, long active2, long active3) {
        switch (pos) {
        case 0:
            if ((active1 & 0xa0080400L) != 0L || (active2 & 0x600000010L) != 0L) {
                jjmatchedKind = 227;
                return 26;
            }
            if ((active0 & 0x80000L) != 0L)
                return 17;
            if ((active0 & 0xfffffffffff798c0L) != 0L
                    || (active1 & 0xffffffff5ff7fbffL) != 0L
                    || (active2 & 0xfffffff9ffffffefL) != 0L
                    || (active3 & 0x3ffffffffL) != 0L) {
                jjmatchedKind = 227;
                return 6;
            }
            return -1;
        case 1:
            if ((active0 & 0x40000L) != 0L || (active1 & 0x8000L) != 0L)
                return 6;
            if ((active0 & 0xfffffffffff398c0L) != 0L
                    || (active1 & 0xffffffffffff7fffL) != 0L
                    || (active2 & 0xffffffffffffffffL) != 0L
                    || (active3 & 0x3ffffffffL) != 0L) {
                jjmatchedKind = 227;
                jjmatchedPos = 1;
                return 6;
            }
            return -1;
        case 2:
            if ((active0 & 0xfffbf7ffff7218c0L) != 0L
                    || (active1 & 0xdffff7fbffef7fd3L) != 0L
                    || (active2 & 0xffffffffffffffffL) != 0L
                    || (active3 & 0x3ffffffffL) != 0L) {
                if (jjmatchedPos != 2) {
                    jjmatchedKind = 227;
                    jjmatchedPos = 2;
                }
                return 6;
            }
            if ((active0 & 0x4080000818000L) != 0L
                    || (active1 & 0x200008040010002cL) != 0L)
                return 6;
            return -1;
        case 3:
            if ((active0 & 0xdbf3fffdff721040L) != 0L
                    || (active1 & 0xdffffffbffef7fdbL) != 0L
                    || (active2 & 0xffffffffffffefffL) != 0L
                    || (active3 & 0x1dffe7bffL) != 0L) {
                if (jjmatchedPos != 3) {
                    jjmatchedKind = 227;
                    jjmatchedPos = 3;
                }
                return 6;
            }
            if ((active0 & 0x2408000200000880L) != 0L
                    || (active2 & 0x1000L) != 0L
                    || (active3 & 0x220018400L) != 0L)
                return 6;
            return -1;
        case 4:
            if ((active0 & 0xd833fff9ff700040L) != 0L
                    || (active1 & 0x5f37bef9fecf7fdaL) != 0L
                    || (active2 & 0xff7ffff7fff7eefeL) != 0L
                    || (active3 & 0xcf3ffbefL) != 0L) {
                if (jjmatchedPos != 4) {
                    jjmatchedKind = 227;
                    jjmatchedPos = 4;
                }
                return 6;
            }
            if ((active0 & 0x3c0000400021000L) != 0L
                    || (active1 & 0x80c8410201200001L) != 0L
                    || (active2 & 0x80000800080101L) != 0L
                    || (active3 & 0x110c00010L) != 0L)
                return 6;
            return -1;
        case 5:
            if ((active0 & 0x5800088000400000L) != 0L
                    || (active1 & 0x5610008080801040L) != 0L
                    || (active2 & 0xc01209104001c000L) != 0L
                    || (active3 & 0x1a81L) != 0L)
                return 6;
            if ((active0 & 0x8233f779ff300040L) != 0L
                    || (active1 & 0x9e7be797e6f6f9aL) != 0L
                    || (active2 & 0x3f6df6e7bff62efeL) != 0L
                    || (active3 & 0xdfbfe16eL) != 0L) {
                if (jjmatchedPos != 5) {
                    jjmatchedKind = 227;
                    jjmatchedPos = 5;
                }
                return 6;
            }
            return -1;
        case 6:
            if ((active0 & 0x9213f5b93f300040L) != 0L
                    || (active1 & 0xbe49e317eef6b9aL) != 0L
                    || (active2 & 0x390c0605bff72efeL) != 0L
                    || (active3 & 0xdfbfe16fL) != 0L) {
                if (jjmatchedPos != 6) {
                    jjmatchedKind = 227;
                    jjmatchedPos = 6;
                }
                return 6;
            }
            if ((active0 & 0x200240c0000000L) != 0L
                    || (active1 & 0x3204800000400L) != 0L
                    || (active2 & 0x661f0e200000000L) != 0L)
                return 6;
            return -1;
        case 7:
            if ((active0 & 0x921350a957300000L) != 0L
                    || (active1 & 0xac48e312aef6802L) != 0L
                    || (active2 & 0x1040201baf72efcL) != 0L
                    || (active3 & 0xdb9fe12fL) != 0L) {
                if (jjmatchedPos != 7) {
                    jjmatchedKind = 227;
                    jjmatchedPos = 7;
                }
                return 6;
            }
            if ((active0 & 0xa51028000040L) != 0L
                    || (active1 & 0x120100054000398L) != 0L
                    || (active2 & 0x3808040405000002L) != 0L
                    || (active3 & 0x4200040L) != 0L)
                return 6;
            return -1;
        case 8:
            if ((active0 & 0x11008901000000L) != 0L
                    || (active1 & 0x2020050800L) != 0L
                    || (active2 & 0x820L) != 0L
                    || (active3 & 0x82106006L) != 0L)
                return 6;
            if ((active0 & 0x9202502056300000L) != 0L
                    || (active1 & 0xbc48e110aea6082L) != 0L
                    || (active2 & 0x1040201baf726dcL) != 0L
                    || (active3 & 0x598f8129L) != 0L) {
                jjmatchedKind = 227;
                jjmatchedPos = 8;
                return 6;
            }
            return -1;
        case 9:
            if ((active0 & 0x8000002014000000L) != 0L
                    || (active1 & 0xc002000a002002L) != 0L
                    || (active2 & 0x104020000800400L) != 0L
                    || (active3 & 0x20020L) != 0L)
                return 6;
            if ((active0 & 0x1202500042300000L) != 0L
                    || (active1 & 0xb048c1100ea4080L) != 0L
                    || (active2 & 0x1ba7722dcL) != 0L
                    || (active3 & 0x598d8109L) != 0L) {
                if (jjmatchedPos != 9) {
                    jjmatchedKind = 227;
                    jjmatchedPos = 9;
                }
                return 6;
            }
            return -1;
        case 10:
            if ((active0 & 0x500002100000L) != 0L
                    || (active1 & 0x2000c0000400000L) != 0L
                    || (active2 & 0x2700000L) != 0L
                    || (active3 & 0x19080108L) != 0L)
                return 6;
            if ((active0 & 0x1202000040200000L) != 0L
                    || (active1 & 0x904801100aa4082L) != 0L
                    || (active2 & 0x1b80722dcL) != 0L
                    || (active3 & 0x40858001L) != 0L) {
                jjmatchedKind = 227;
                jjmatchedPos = 10;
                return 6;
            }
            return -1;
        case 11:
            if ((active0 & 0x1000000000000000L) != 0L
                    || (active1 & 0x800100000000L) != 0L
                    || (active2 & 0x1800400c4L) != 0L || (active3 & 0x1L) != 0L)
                return 6;
            if ((active0 & 0x202000040200000L) != 0L
                    || (active1 & 0x904001000aa4082L) != 0L
                    || (active2 & 0x38032218L) != 0L
                    || (active3 & 0x40858000L) != 0L) {
                jjmatchedKind = 227;
                jjmatchedPos = 11;
                return 6;
            }
            return -1;
        case 12:
            if ((active1 & 0x100000000080000L) != 0L || (active2 & 0x18L) != 0L
                    || (active3 & 0x40000L) != 0L)
                return 6;
            if ((active0 & 0x202000040200000L) != 0L
                    || (active1 & 0x804001000a24082L) != 0L
                    || (active2 & 0x38032200L) != 0L
                    || (active3 & 0x40818000L) != 0L) {
                jjmatchedKind = 227;
                jjmatchedPos = 12;
                return 6;
            }
            return -1;
        case 13:
            if ((active0 & 0x200000040000000L) != 0L
                    || (active1 & 0x1000824002L) != 0L
                    || (active2 & 0x38032000L) != 0L
                    || (active3 & 0x40818000L) != 0L) {
                jjmatchedKind = 227;
                jjmatchedPos = 13;
                return 6;
            }
            if ((active0 & 0x2000000200000L) != 0L
                    || (active1 & 0x804000000200080L) != 0L
                    || (active2 & 0x200L) != 0L)
                return 6;
            return -1;
        case 14:
            if ((active0 & 0x200000040000000L) != 0L
                    || (active1 & 0x24002L) != 0L
                    || (active2 & 0x28030000L) != 0L
                    || (active3 & 0x40818000L) != 0L) {
                jjmatchedKind = 227;
                jjmatchedPos = 14;
                return 6;
            }
            if ((active1 & 0x1000800000L) != 0L
                    || (active2 & 0x10002000L) != 0L)
                return 6;
            return -1;
        case 15:
            if ((active0 & 0x200000000000000L) != 0L || (active1 & 0x2L) != 0L
                    || (active2 & 0x28030000L) != 0L
                    || (active3 & 0x8000L) != 0L) {
                jjmatchedKind = 227;
                jjmatchedPos = 15;
                return 6;
            }
            if ((active0 & 0x40000000L) != 0L || (active1 & 0x24000L) != 0L
                    || (active3 & 0x40810000L) != 0L)
                return 6;
            return -1;
        case 16:
            if ((active1 & 0x2L) != 0L || (active2 & 0x28030000L) != 0L) {
                jjmatchedKind = 227;
                jjmatchedPos = 16;
                return 6;
            }
            if ((active0 & 0x200000000000000L) != 0L
                    || (active3 & 0x8000L) != 0L)
                return 6;
            return -1;
        case 17:
            if ((active2 & 0x20010000L) != 0L)
                return 6;
            if ((active1 & 0x2L) != 0L || (active2 & 0x8020000L) != 0L) {
                jjmatchedKind = 227;
                jjmatchedPos = 17;
                return 6;
            }
            return -1;
        case 18:
            if ((active1 & 0x2L) != 0L || (active2 & 0x8020000L) != 0L) {
                jjmatchedKind = 227;
                jjmatchedPos = 18;
                return 6;
            }
            return -1;
        case 19:
            if ((active2 & 0x8000000L) != 0L)
                return 6;
            if ((active1 & 0x2L) != 0L || (active2 & 0x20000L) != 0L) {
                jjmatchedKind = 227;
                jjmatchedPos = 19;
                return 6;
            }
            return -1;
        case 20:
            if ((active1 & 0x2L) != 0L || (active2 & 0x20000L) != 0L) {
                jjmatchedKind = 227;
                jjmatchedPos = 20;
                return 6;
            }
            return -1;
        case 21:
            if ((active2 & 0x20000L) != 0L) {
                jjmatchedKind = 227;
                jjmatchedPos = 21;
                return 6;
            }
            if ((active1 & 0x2L) != 0L)
                return 6;
            return -1;
        default:
            return -1;
        }
    }

    private final int jjStartNfa_0(int pos, long active0, long active1,
            long active2, long active3) {
        return jjMoveNfa_0(
                jjStopStringLiteralDfa_0(pos, active0, active1, active2,
                        active3), pos + 1);
    }

    private final int jjStopAtPos(int pos, int kind) {
        jjmatchedKind = kind;
        jjmatchedPos = pos;
        return pos + 1;
    }

    private final int jjStartNfaWithStates_0(int pos, int kind, int state) {
        jjmatchedKind = kind;
        jjmatchedPos = pos;
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            return pos + 1;
        }
        return jjMoveNfa_0(state, pos + 1);
    }

    private final int jjMoveStringLiteralDfa0_0() {
        switch (curChar) {
        case 44:
            return jjStopAtPos(0, 10);
        case 46:
            return jjStartNfaWithStates_0(0, 19, 17);
        case 65:
            return jjMoveStringLiteralDfa1_0(0x110400000L, 0x0L, 0x0L, 0x0L);
        case 66:
            return jjMoveStringLiteralDfa1_0(0x5002000000000L, 0x0L, 0x0L, 0x0L);
        case 67:
            return jjMoveStringLiteralDfa1_0(0x8690000000000000L, 0x92L, 0x0L,
                    0x0L);
        case 68:
            return jjMoveStringLiteralDfa1_0(0x8000L, 0x4000L, 0x0L, 0x0L);
        case 69:
            return jjMoveStringLiteralDfa1_0(0x0L, 0x20080000L, 0x0L, 0x0L);
        case 70:
            return jjMoveStringLiteralDfa1_0(0x1000L, 0x2400000000L, 0x0L, 0x0L);
        case 71:
            return jjMoveStringLiteralDfa1_0(0x0L, 0x400000000000L, 0x0L, 0x0L);
        case 73:
            return jjMoveStringLiteralDfa1_0(0x0L, 0x1804800000000000L, 0x0L,
                    0x0L);
        case 76:
            return jjMoveStringLiteralDfa1_0(0x0L, 0x2000000000000000L, 0x0L,
                    0x0L);
        case 77:
            return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x7fc00000000082L,
                    0x0L);
        case 78:
            return jjMoveStringLiteralDfa1_0(0x80L, 0x0L, 0x14200L, 0x0L);
        case 79:
            return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x20000L, 0x0L);
        case 80:
            return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x1c940000L, 0x0L);
        case 82:
            return jjMoveStringLiteralDfa1_0(0x20000L, 0x0L, 0x0L, 0x0L);
        case 83:
            return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x80803ff060000000L,
                    0x93L);
        case 84:
            return jjMoveStringLiteralDfa1_0(0x40800L, 0x0L, 0x0L, 0x1b8400L);
        case 85:
            return jjMoveStringLiteralDfa1_0(0x10000L, 0x0L, 0x0L, 0x0L);
        case 86:
            return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x42000000L);
        case 87:
            return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x80000000L);
        case 91:
            return jjStopAtPos(0, 13);
        case 93:
            return jjStopAtPos(0, 14);
        case 97:
            return jjMoveStringLiteralDfa1_0(0x2000000100000L, 0x22000L,
                    0x2000400L, 0x20L);
        case 98:
            return jjMoveStringLiteralDfa1_0(0x500000c00c000000L, 0x40000000L,
                    0x0L, 0x4L);
        case 99:
            return jjMoveStringLiteralDfa1_0(0x120000000000040L,
                    0x44c8000100700000L, 0x0L, 0x40208L);
        case 100:
            return jjMoveStringLiteralDfa1_0(0x2000000L, 0x40800L, 0x80000004L,
                    0x0L);
        case 101:
            return jjMoveStringLiteralDfa1_0(0x0L, 0x80000400L, 0x600000010L,
                    0x0L);
        case 102:
            return jjMoveStringLiteralDfa1_0(0x10000000000L, 0x8800000000L,
                    0x800000000L, 0x10004000L);
        case 103:
            return jjMoveStringLiteralDfa1_0(0x500000000000L, 0x0L, 0x0L, 0x40L);
        case 104:
            return jjMoveStringLiteralDfa1_0(0x800000000000000L,
                    0x20000000000L, 0x800L, 0x0L);
        case 105:
            return jjMoveStringLiteralDfa1_0(0x0L, 0x10000L, 0x80000L,
                    0x200000000L);
        case 106:
            return jjMoveStringLiteralDfa1_0(0x0L, 0x4000000000L, 0x0L,
                    0x20000000L);
        case 107:
            return jjMoveStringLiteralDfa1_0(0x0L, 0xcL, 0x0L, 0x0L);
        case 108:
            return jjMoveStringLiteralDfa1_0(0x20200000000L, 0x140000000000L,
                    0x1000001L, 0x1000L);
        case 109:
            return jjMoveStringLiteralDfa1_0(0x20000000L, 0x300L,
                    0x1e00000100600000L, 0x2000L);
        case 110:
            return jjMoveStringLiteralDfa1_0(0x0L, 0x210000000800000L, 0x0L,
                    0x0L);
        case 111:
            return jjMoveStringLiteralDfa1_0(0x0L, 0x9000L, 0x0L, 0x8000000L);
        case 112:
            return jjMoveStringLiteralDfa1_0(0x40000401000000L, 0x1L,
                    0x2000000000000000L, 0x4000000L);
        case 114:
            return jjMoveStringLiteralDfa1_0(0x40000200000L,
                    0x8003000000000040L, 0x0L, 0x200000L);
        case 115:
            return jjMoveStringLiteralDfa1_0(0x2008a01800000000L,
                    0x210201000000L, 0x4100000000000128L, 0xc00800L);
        case 116:
            return jjMoveStringLiteralDfa1_0(0x800c0000000L,
                    0x120080000000020L, 0x1040L, 0x101000000L);
        case 117:
            return jjMoveStringLiteralDfa1_0(0x800000L, 0x0L, 0x0L, 0x0L);
        case 118:
            return jjMoveStringLiteralDfa1_0(0x0L, 0x1000000000L, 0xa000L, 0x0L);
        case 119:
            return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x100L);
        case 120:
            return jjMoveStringLiteralDfa1_0(0x0L, 0x6000000L, 0x0L, 0x0L);
        case 122:
            return jjMoveStringLiteralDfa1_0(0x0L, 0x18000000L, 0x0L, 0x0L);
        case 123:
            return jjStopAtPos(0, 8);
        case 125:
            return jjStopAtPos(0, 9);
        default:
            return jjMoveNfa_0(0, 0);
        }
    }

    private final int jjMoveStringLiteralDfa1_0(long active0, long active1,
            long active2, long active3) {
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            jjStopStringLiteralDfa_0(0, active0, active1, active2, active3);
            return 1;
        }
        switch (curChar) {
        case 65:
            return jjMoveStringLiteralDfa2_0(active0, 0x1000L, active1, 0L,
                    active2, 0L, active3, 0L);
        case 68:
            return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0xa000000L,
                    active2, 0L, active3, 0L);
        case 69:
            return jjMoveStringLiteralDfa2_0(active0, 0x8000L, active1, 0L,
                    active2, 0L, active3, 0L);
        case 70:
            return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0L, active2,
                    0x7ffff000000000L, active3, 0L);
        case 79:
            if ((active0 & 0x40000L) != 0L)
                return jjStartNfaWithStates_0(1, 18, 6);
            return jjMoveStringLiteralDfa2_0(active0, 0x20000L, active1,
                    0x2000000000000000L, active2, 0L, active3, 0L);
        case 82:
            return jjMoveStringLiteralDfa2_0(active0, 0x800L, active1, 0L,
                    active2, 0L, active3, 0L);
        case 83:
            return jjMoveStringLiteralDfa2_0(active0, 0x10000L, active1,
                    0x14000000L, active2, 0L, active3, 0L);
        case 85:
            return jjMoveStringLiteralDfa2_0(active0, 0x80L, active1, 0L,
                    active2, 0L, active3, 0L);
        case 97:
            return jjMoveStringLiteralDfa2_0(active0, 0x6021000000L, active1,
                    0x8000108000000240L, active2, 0xa00000000400202L, active3,
                    0x2000L);
        case 98:
            return jjMoveStringLiteralDfa2_0(active0, 0xc000000L, active1, 0L,
                    active2, 0L, active3, 0L);
        case 99:
            return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x100000L,
                    active2, 0x60000000L, active3, 0xc00000L);
        case 100:
            return jjMoveStringLiteralDfa2_0(active0, 0x100000L, active1, 0L,
                    active2, 0L, active3, 0L);
        case 101:
            return jjMoveStringLiteralDfa2_0(active0, 0x8000200c2200000L,
                    active1, 0x412304004000000cL, active2, 0x8801L, active3,
                    0x19444L);
        case 102:
            return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x1000L,
                    active2, 0L, active3, 0L);
        case 104:
            return jjMoveStringLiteralDfa2_0(active0, 0x40L, active1, 0L,
                    active2, 0x20L, active3, 0x310L);
        case 105:
            return jjMoveStringLiteralDfa2_0(active0, 0x2009040400000000L,
                    active1, 0x1000044900L, active2, 0x1400000880242004L,
                    active3, 0x152020000L);
        case 107:
            return jjMoveStringLiteralDfa2_0(active0, 0xa00000000000L, active1,
                    0L, active2, 0L, active3, 0L);
        case 108:
            return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x80000L,
                    active2, 0x100000L, active3, 0L);
        case 109:
            return jjMoveStringLiteralDfa2_0(active0, 0L, active1,
                    0x800000020000L, active2, 0x80010L, active3, 0L);
        case 110:
            if ((active1 & 0x8000L) != 0L)
                return jjStartNfaWithStates_0(1, 79, 6);
            return jjMoveStringLiteralDfa2_0(active0, 0x400000L, active1,
                    0x1804000080010400L, active2, 0L, active3, 0x200000000L);
        case 111:
            return jjMoveStringLiteralDfa2_0(active0, 0xd7b4088200000000L,
                    active1, 0x6d80a2c01a00023L, active2, 0x408000000d814080L,
                    active3, 0x84284000L);
        case 112:
            return jjMoveStringLiteralDfa2_0(active0, 0x10000000L, active1,
                    0x200200000000L, active2, 0x8100000000000108L, active3,
                    0x23L);
        case 114:
            return jjMoveStringLiteralDfa2_0(active0, 0x40510000800000L,
                    active1, 0x400100400000L, active2, 0x2000000010020040L,
                    active3, 0x9100000L);
        case 116:
            return jjMoveStringLiteralDfa2_0(active0, 0x1800000000L, active1,
                    0x10000000000L, active2, 0x2000000L, active3, 0x800L);
        case 117:
            return jjMoveStringLiteralDfa2_0(active0, 0x100000000L, active1,
                    0x4000002000L, active2, 0x100000000L, active3, 0x20000008L);
        case 118:
            return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0L, active2,
                    0x600000400L, active3, 0L);
        case 119:
            return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0L, active2,
                    0L, active3, 0x80L);
        case 120:
            return jjMoveStringLiteralDfa2_0(active0, 0x2000000000000L,
                    active1, 0x20000000L, active2, 0L, active3, 0L);
        case 121:
            return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x90L,
                    active2, 0x1000L, active3, 0x40000L);
        default:
            break;
        }
        return jjStartNfa_0(0, active0, active1, active2, active3);
    }

    private final int jjMoveStringLiteralDfa2_0(long old0, long active0,
            long old1, long active1, long old2, long active2, long old3,
            long active3) {
        if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L)
            return jjStartNfa_0(0, old0, old1, old2, old3);
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            jjStopStringLiteralDfa_0(1, active0, active1, active2, active3);
            return 2;
        }
        switch (curChar) {
        case 66:
            return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0L, active2,
                    0x1000000000L, active3, 0L);
        case 67:
            return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0L, active2,
                    0x402000000000L, active3, 0L);
        case 68:
            if ((active1 & 0x2000000000000000L) != 0L)
                return jjStartNfaWithStates_0(2, 125, 6);
            break;
        case 69:
            if ((active0 & 0x10000L) != 0L)
                return jjStartNfaWithStates_0(2, 16, 6);
            break;
        case 70:
            if ((active0 & 0x8000L) != 0L)
                return jjStartNfaWithStates_0(2, 15, 6);
            return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0L, active2,
                    0x804000000000L, active3, 0L);
        case 73:
            return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0L, active2,
                    0x1008000000000L, active3, 0L);
        case 76:
            return jjMoveStringLiteralDfa3_0(active0, 0x1080L, active1, 0L,
                    active2, 0L, active3, 0L);
        case 78:
            return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0L, active2,
                    0x2010000000000L, active3, 0L);
        case 82:
            return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0L, active2,
                    0x4020000000000L, active3, 0L);
        case 83:
            return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0L, active2,
                    0x8040000000000L, active3, 0L);
        case 84:
            return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0L, active2,
                    0x10080000000000L, active3, 0L);
        case 85:
            return jjMoveStringLiteralDfa3_0(active0, 0x20800L, active1, 0L,
                    active2, 0L, active3, 0L);
        case 86:
            return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0L, active2,
                    0x60300000000000L, active3, 0L);
        case 97:
            return jjMoveStringLiteralDfa3_0(active0, 0x800000000L, active1,
                    0xa00000000400L, active2, 0x100000020180c40L, active3,
                    0x1d00014L);
        case 98:
            return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x20000L,
                    active2, 0L, active3, 0L);
        case 99:
            return jjMoveStringLiteralDfa3_0(active0, 0x6000400000L, active1,
                    0L, active2, 0x1008000L, active3, 0x40000L);
        case 100:
            return jjMoveStringLiteralDfa3_0(active0, 0x2000000100100000L,
                    active1, 0x804000080000040L, active2, 0L, active3, 0L);
        case 101:
            return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x480000L,
                    active2, 0xe00000108L, active3, 0x12000000L);
        case 102:
            return jjMoveStringLiteralDfa3_0(active0, 0x20000000000L, active1,
                    0x40000001000L, active2, 0x4L, active3, 0x200000000L);
        case 103:
            if ((active1 & 0x400000000L) != 0L)
                return jjStartNfaWithStates_0(2, 98, 6);
            return jjMoveStringLiteralDfa3_0(active0, 0x40000000000L, active1,
                    0x840000000L, active2, 0L, active3, 0L);
        case 104:
            return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0L, active2,
                    0x8000000000000000L, active3, 0x1L);
        case 105:
            return jjMoveStringLiteralDfa3_0(active0, 0x802000000000040L,
                    active1, 0x20a000001L, active2, 0x2000000004820030L,
                    active3, 0x8000180L);
        case 108:
            if ((active0 & 0x800000L) != 0L)
                return jjStartNfaWithStates_0(2, 23, 6);
            return jjMoveStringLiteralDfa3_0(active0, 0x3b1000000000000L,
                    active1, 0x1080000001200090L, active2, 0L, active3, 0L);
        case 109:
            return jjMoveStringLiteralDfa3_0(active0, 0x200000L, active1,
                    0x8000000000L, active2, 0L, active3, 0x20020000L);
        case 110:
            return jjMoveStringLiteralDfa3_0(active0, 0x400000000000000L,
                    active1, 0xc400102000000100L, active2, 0x1400000000200000L,
                    active3, 0x5000L);
        case 111:
            return jjMoveStringLiteralDfa3_0(active0, 0x804051120c000000L,
                    active1, 0x48400100000002L, active2, 0x10000000L, active3,
                    0x242L);
        case 112:
            if ((active1 & 0x20L) != 0L) {
                jjmatchedKind = 69;
                jjmatchedPos = 2;
            }
            return jjMoveStringLiteralDfa3_0(active0, 0x80010000000L, active1,
                    0x3080014000000L, active2, 0x1000L, active3, 0x20L);
        case 114:
            return jjMoveStringLiteralDfa3_0(active0, 0x1000000L, active1,
                    0x210020000844000L, active2, 0xc0014000L, active3,
                    0x80000800L);
        case 115:
            return jjMoveStringLiteralDfa3_0(active0, 0x2000000L, active1,
                    0x5000000800L, active2, 0x108002000L, active3, 0x44000000L);
        case 116:
            return jjMoveStringLiteralDfa3_0(active0, 0x5000008420000000L,
                    active1, 0x20012000L, active2, 0x2000002L, active3,
                    0x100200008L);
        case 117:
            return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0L, active2,
                    0x4080000000000000L, active3, 0x80000L);
        case 118:
            return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0L, active2,
                    0x281L, active3, 0L);
        case 119:
            if ((active1 & 0x100000L) != 0L)
                return jjStartNfaWithStates_0(2, 84, 6);
            break;
        case 120:
            if ((active0 & 0x4000000000000L) != 0L)
                return jjStartNfaWithStates_0(2, 50, 6);
            return jjMoveStringLiteralDfa3_0(active0, 0xc0000000L, active1,
                    0x120000000000200L, active2, 0xa00000000440000L, active3,
                    0x1a400L);
        case 121:
            if ((active1 & 0x4L) != 0L) {
                jjmatchedKind = 66;
                jjmatchedPos = 2;
            }
            return jjMoveStringLiteralDfa3_0(active0, 0xa00000000000L, active1,
                    0x10000000008L, active2, 0L, active3, 0L);
        case 122:
            return jjMoveStringLiteralDfa3_0(active0, 0x8000000000000L,
                    active1, 0L, active2, 0L, active3, 0L);
        default:
            break;
        }
        return jjStartNfa_0(1, active0, active1, active2, active3);
    }

    private final int jjMoveStringLiteralDfa3_0(long old0, long active0,
            long old1, long active1, long old2, long active2, long old3,
            long active3) {
        if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L)
            return jjStartNfa_0(1, old0, old1, old2, old3);
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            jjStopStringLiteralDfa_0(2, active0, active1, active2, active3);
            return 3;
        }
        switch (curChar) {
        case 65:
            return jjMoveStringLiteralDfa4_0(active0, 0x200000000000L, active1,
                    0x300L, active2, 0L, active3, 0L);
        case 66:
            return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2,
                    0x600000000000000L, active3, 0L);
        case 67:
            return jjMoveStringLiteralDfa4_0(active0, 0x800000100000L, active1,
                    0x120000080000000L, active2, 0L, active3, 0L);
        case 69:
            if ((active0 & 0x800L) != 0L)
                return jjStartNfaWithStates_0(3, 11, 6);
            return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2,
                    0L, active3, 0x2000L);
        case 70:
            return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2,
                    0x1800000000000000L, active3, 0L);
        case 76:
            if ((active0 & 0x80L) != 0L)
                return jjStartNfaWithStates_0(3, 7, 6);
            break;
        case 79:
            return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2,
                    0L, active3, 0x8L);
        case 80:
            return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2,
                    0x600000L, active3, 0L);
        case 83:
            return jjMoveStringLiteralDfa4_0(active0, 0x1000L, active1, 0L,
                    active2, 0L, active3, 0L);
        case 84:
            return jjMoveStringLiteralDfa4_0(active0, 0x20000L, active1,
                    0x80800000000L, active2, 0L, active3, 0L);
        case 85:
            return jjMoveStringLiteralDfa4_0(active0, 0x80000000000L, active1,
                    0L, active2, 0L, active3, 0L);
        case 86:
            return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x8L,
                    active2, 0L, active3, 0L);
        case 97:
            return jjMoveStringLiteralDfa4_0(active0, 0x1000000L, active1,
                    0x14400000L, active2, 0x1000000L, active3, 0x200000L);
        case 98:
            return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x400L,
                    active2, 0L, active3, 0L);
        case 99:
            return jjMoveStringLiteralDfa4_0(active0, 0x402000000L, active1,
                    0x200000000000L, active2, 0x8L, active3, 0x80100L);
        case 100:
            return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2,
                    0x800L, active3, 0L);
        case 101:
            if ((active0 & 0x8000000000000L) != 0L)
                return jjStartNfaWithStates_0(3, 51, 6);
            else if ((active0 & 0x400000000000000L) != 0L)
                return jjStartNfaWithStates_0(3, 58, 6);
            else if ((active0 & 0x2000000000000000L) != 0L)
                return jjStartNfaWithStates_0(3, 61, 6);
            else if ((active2 & 0x1000L) != 0L)
                return jjStartNfaWithStates_0(3, 140, 6);
            return jjMoveStringLiteralDfa4_0(active0, 0x30000000L, active1,
                    0x807000000054000L, active2, 0x8060300082060103L, active3,
                    0x8020021L);
        case 102:
            return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2,
                    0x4L, active3, 0L);
        case 103:
            return jjMoveStringLiteralDfa4_0(active0, 0x800000000000000L,
                    active1, 0x8000900000000000L, active2, 0x80000L, active3,
                    0x1000L);
        case 104:
            return jjMoveStringLiteralDfa4_0(active0, 0x40000400000L, active1,
                    0L, active2, 0L, active3, 0L);
        case 105:
            return jjMoveStringLiteralDfa4_0(active0, 0x100000000L, active1,
                    0x10000290410200d0L, active2, 0x10080048002280L, active3,
                    0x44000a00L);
        case 107:
            return jjMoveStringLiteralDfa4_0(active0, 0x6000000000L, active1,
                    0x800L, active2, 0L, active3, 0L);
        case 108:
            return jjMoveStringLiteralDfa4_0(active0, 0x31000000000040L,
                    active1, 0x10000000000L, active2, 0x804820000000L, active3,
                    0x190c40000L);
        case 109:
            return jjMoveStringLiteralDfa4_0(active0, 0L, active1,
                    0x21000000a800000L, active2, 0x14000L, active3, 0x44L);
        case 110:
            return jjMoveStringLiteralDfa4_0(active0, 0x10000000000L, active1,
                    0x200000001L, active2, 0x81008604900060L, active3,
                    0x1100000L);
        case 111:
            if ((active3 & 0x200000000L) != 0L)
                return jjStartNfaWithStates_0(3, 225, 6);
            return jjMoveStringLiteralDfa4_0(active0, 0x380000000200000L,
                    active1, 0x80000000202000L, active2, 0x2006433000000000L,
                    active3, 0L);
        case 112:
            if ((active0 & 0x200000000L) != 0L)
                return jjStartNfaWithStates_0(3, 33, 6);
            else if ((active3 & 0x20000000L) != 0L)
                return jjStartNfaWithStates_0(3, 221, 6);
            return jjMoveStringLiteralDfa4_0(active0, 0x1000000000L, active1,
                    0L, active2, 0L, active3, 0x10L);
        case 114:
            return jjMoveStringLiteralDfa4_0(active0, 0x8000000800000000L,
                    active1, 0x48000020000002L, active2, 0x4000000000000000L,
                    active3, 0L);
        case 115:
            return jjMoveStringLiteralDfa4_0(active0, 0x2000000000000L,
                    active1, 0x100001000L, active2, 0x10L, active3, 0L);
        case 116:
            if ((active3 & 0x400L) != 0L) {
                jjmatchedKind = 202;
                jjmatchedPos = 3;
            }
            return jjMoveStringLiteralDfa4_0(active0, 0x50000280c0000000L,
                    active1, 0x4000046000000000L, active2, 0x108040100008400L,
                    active3, 0x1c082L);
        case 117:
            return jjMoveStringLiteralDfa4_0(active0, 0x500000000000L, active1,
                    0x400000000000L, active2, 0L, active3, 0L);
        case 118:
            return jjMoveStringLiteralDfa4_0(active0, 0L, active1,
                    0x400000000080000L, active2, 0L, active3, 0L);
        case 119:
            return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2,
                    0L, active3, 0x2000000L);
        case 120:
            return jjMoveStringLiteralDfa4_0(active0, 0x4000000c000000L,
                    active1, 0L, active2, 0x10000000L, active3, 0L);
        default:
            break;
        }
        return jjStartNfa_0(2, active0, active1, active2, active3);
    }

    private final int jjMoveStringLiteralDfa4_0(long old0, long active0,
            long old1, long active1, long old2, long active2, long old3,
            long active3) {
        if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L)
            return jjStartNfa_0(2, old0, old1, old2, old3);
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            jjStopStringLiteralDfa_0(3, active0, active1, active2, active3);
            return 4;
        }
        switch (curChar) {
        case 65:
            return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x800L,
                    active2, 0L, active3, 0L);
        case 67:
            return jjMoveStringLiteralDfa5_0(active0, 0x4000000L, active1, 0L,
                    active2, 0L, active3, 0L);
        case 69:
            if ((active0 & 0x1000L) != 0L)
                return jjStartNfaWithStates_0(4, 12, 6);
            else if ((active0 & 0x20000L) != 0L)
                return jjStartNfaWithStates_0(4, 17, 6);
            return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2,
                    0x100000000L, active3, 0L);
        case 76:
            return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2,
                    0L, active3, 0x2L);
        case 79:
            return jjMoveStringLiteralDfa5_0(active0, 0x2000000000000L,
                    active1, 0x2000L, active2, 0L, active3, 0L);
        case 83:
            return jjMoveStringLiteralDfa5_0(active0, 0x8000000L, active1,
                    0x2000000000L, active2, 0L, active3, 0x24000L);
        case 84:
            return jjMoveStringLiteralDfa5_0(active0, 0x1000000000L, active1,
                    0x40000000000L, active2, 0L, active3, 0L);
        case 85:
            return jjMoveStringLiteralDfa5_0(active0, 0x24000000000L, active1,
                    0L, active2, 0L, active3, 0L);
        case 87:
            return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2,
                    0L, active3, 0x4L);
        case 97:
            return jjMoveStringLiteralDfa5_0(active0, 0x10000000L, active1,
                    0x213000080880008L, active2, 0x600000020014400L, active3,
                    0x20L);
        case 98:
            return jjMoveStringLiteralDfa5_0(active0, 0x1000000000000L,
                    active1, 0x1000000000L, active2, 0x2000L, active3,
                    0x40000000L);
        case 99:
            return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x14044000L,
                    active2, 0x4060300080000000L, active3, 0x280L);
        case 100:
            if ((active1 & 0x1000000L) != 0L)
                return jjStartNfaWithStates_0(4, 88, 6);
            else if ((active1 & 0x8000000000000L) != 0L) {
                jjmatchedKind = 115;
                jjmatchedPos = 4;
            } else if ((active2 & 0x100L) != 0L)
                return jjStartNfaWithStates_0(4, 136, 6);
            else if ((active2 & 0x800000000L) != 0L) {
                jjmatchedKind = 163;
                jjmatchedPos = 4;
            } else if ((active2 & 0x80000000000000L) != 0L)
                return jjStartNfaWithStates_0(4, 183, 6);
            return jjMoveStringLiteralDfa5_0(active0, 0x8000000000000040L,
                    active1, 0x40000000000002L, active2, 0x2010000000000L,
                    active3, 0x90000000L);
        case 101:
            if ((active1 & 0x200000000L) != 0L)
                return jjStartNfaWithStates_0(4, 97, 6);
            else if ((active1 & 0x10000000000L) != 0L)
                return jjStartNfaWithStates_0(4, 104, 6);
            else if ((active1 & 0x8000000000000000L) != 0L)
                return jjStartNfaWithStates_0(4, 127, 6);
            else if ((active2 & 0x80000L) != 0L)
                return jjStartNfaWithStates_0(4, 147, 6);
            else if ((active3 & 0x10L) != 0L)
                return jjStartNfaWithStates_0(4, 196, 6);
            else if ((active3 & 0x400000L) != 0L) {
                jjmatchedKind = 214;
                jjmatchedPos = 4;
            } else if ((active3 & 0x100000000L) != 0L)
                return jjStartNfaWithStates_0(4, 224, 6);
            return jjMoveStringLiteralDfa5_0(active0, 0L, active1,
                    0x440080000a021000L, active2, 0x100080L, active3, 0x840040L);
        case 102:
            return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2,
                    0L, active3, 0x8L);
        case 103:
            return jjMoveStringLiteralDfa5_0(active0, 0x2000000000L, active1,
                    0L, active2, 0x200L, active3, 0L);
        case 104:
            if ((active0 & 0x400000000L) != 0L)
                return jjStartNfaWithStates_0(4, 34, 6);
            return jjMoveStringLiteralDfa5_0(active0, 0x800000000100000L,
                    active1, 0L, active2, 0L, active3, 0x80100L);
        case 105:
            return jjMoveStringLiteralDfa5_0(active0, 0x30000000000000L,
                    active1, 0x204000000000L, active2, 0x100000010000020L,
                    active3, 0L);
        case 108:
            if ((active2 & 0x1L) != 0L)
                return jjStartNfaWithStates_0(4, 128, 6);
            return jjMoveStringLiteralDfa5_0(active0, 0L, active1,
                    0x8000000400L, active2, 0x402000040800L, active3, 0L);
        case 109:
            return jjMoveStringLiteralDfa5_0(active0, 0x1000000L, active1, 0L,
                    active2, 0x10080000000000L, active3, 0L);
        case 110:
            return jjMoveStringLiteralDfa5_0(active0, 0x700000000000L, active1,
                    0x1000000040010390L, active2, 0x2020000L, active3,
                    0x8000800L);
        case 111:
            return jjMoveStringLiteralDfa5_0(active0, 0x5000808100400000L,
                    active1, 0x120080000000000L, active2, 0x805000608000L,
                    active3, 0L);
        case 112:
            if ((active1 & 0x400000000000L) != 0L)
                return jjStartNfaWithStates_0(4, 110, 6);
            return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2,
                    0x40000000L, active3, 0x2000000L);
        case 114:
            if ((active0 & 0x80000000000000L) != 0L) {
                jjmatchedKind = 55;
                jjmatchedPos = 4;
            } else if ((active0 & 0x100000000000000L) != 0L) {
                jjmatchedKind = 56;
                jjmatchedPos = 4;
            }
            return jjMoveStringLiteralDfa5_0(active0, 0x200080022000000L,
                    active1, 0x80000000200000L, active2, 0xb808040000000002L,
                    active3, 0x1L);
        case 115:
            return jjMoveStringLiteralDfa5_0(active0, 0L, active1,
                    0x100400000L, active2, 0x50L, active3, 0x1100000L);
        case 116:
            if ((active1 & 0x1L) != 0L)
                return jjStartNfaWithStates_0(4, 64, 6);
            return jjMoveStringLiteralDfa5_0(active0, 0x50800000000L, active1,
                    0L, active2, 0x502860d800000L, active3, 0x4201000L);
        case 117:
            return jjMoveStringLiteralDfa5_0(active0, 0xc0000000L, active1,
                    0x100020000040L, active2, 0xcL, active3, 0x18000L);
        case 118:
            return jjMoveStringLiteralDfa5_0(active0, 0x200000L, active1, 0L,
                    active2, 0L, active3, 0L);
        case 120:
            return jjMoveStringLiteralDfa5_0(active0, 0L, active1,
                    0x804000000000000L, active2, 0L, active3, 0x2000L);
        case 121:
            if ((active0 & 0x40000000000000L) != 0L)
                return jjStartNfaWithStates_0(4, 54, 6);
            return jjMoveStringLiteralDfa5_0(active0, 0L, active1,
                    0x800000000L, active2, 0L, active3, 0L);
        case 122:
            return jjMoveStringLiteralDfa5_0(active0, 0L, active1,
                    0x20000000000L, active2, 0L, active3, 0L);
        default:
            break;
        }
        return jjStartNfa_0(3, active0, active1, active2, active3);
    }

    private final int jjMoveStringLiteralDfa5_0(long old0, long active0,
            long old1, long active1, long old2, long active2, long old3,
            long active3) {
        if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L)
            return jjStartNfa_0(3, old0, old1, old2, old3);
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            jjStopStringLiteralDfa_0(4, active0, active1, active2, active3);
            return 5;
        }
        switch (curChar) {
        case 50:
            return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2,
                    0x20100000000000L, active3, 0L);
        case 51:
            return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2,
                    0x41208000000000L, active3, 0L);
        case 66:
            return jjMoveStringLiteralDfa6_0(active0, 0L, active1,
                    0x80000000000L, active2, 0L, active3, 0L);
        case 67:
            return jjMoveStringLiteralDfa6_0(active0, 0x100000000L, active1,
                    0x40000000L, active2, 0L, active3, 0x100L);
        case 73:
            return jjMoveStringLiteralDfa6_0(active0, 0x200000000000000L,
                    active1, 0xc0000000000000L, active2, 0x200000000L, active3,
                    0x80040000L);
        case 76:
            return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2,
                    0x800000L, active3, 0L);
        case 79:
            return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2,
                    0x400000000L, active3, 0x10800000L);
        case 80:
            return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x200000L,
                    active2, 0L, active3, 0L);
        case 83:
            return jjMoveStringLiteralDfa6_0(active0, 0L, active1,
                    0x100000000L, active2, 0x4100000L, active3, 0x80000L);
        case 84:
            return jjMoveStringLiteralDfa6_0(active0, 0x800000000L, active1,
                    0x800000000000L, active2, 0x40080L, active3, 0L);
        case 85:
            return jjMoveStringLiteralDfa6_0(active0, 0x50000000000L, active1,
                    0L, active2, 0L, active3, 0L);
        case 97:
            return jjMoveStringLiteralDfa6_0(active0, 0L, active1,
                    0x100000000000L, active2, 0x104824000000200L, active3, 0L);
        case 99:
            return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2,
                    0x600000000000000L, active3, 0L);
        case 100:
            return jjMoveStringLiteralDfa6_0(active0, 0x20500000000000L,
                    active1, 0x90L, active2, 0L, active3, 0L);
        case 101:
            if ((active1 & 0x1000000000000000L) != 0L)
                return jjStartNfaWithStates_0(5, 124, 6);
            else if ((active2 & 0x10000000000L) != 0L)
                return jjStartNfaWithStates_0(5, 168, 6);
            else if ((active2 & 0x80000000000L) != 0L)
                return jjStartNfaWithStates_0(5, 171, 6);
            else if ((active2 & 0x2000000000000L) != 0L)
                return jjStartNfaWithStates_0(5, 177, 6);
            else if ((active2 & 0x10000000000000L) != 0L)
                return jjStartNfaWithStates_0(5, 180, 6);
            else if ((active2 & 0x4000000000000000L) != 0L)
                return jjStartNfaWithStates_0(5, 190, 6);
            else if ((active2 & 0x8000000000000000L) != 0L) {
                jjmatchedKind = 191;
                jjmatchedPos = 5;
            } else if ((active3 & 0x200L) != 0L)
                return jjStartNfaWithStates_0(5, 201, 6);
            return jjMoveStringLiteralDfa6_0(active0, 0x5200000L, active1,
                    0x804000000400400L, active2, 0L, active3, 0x20001L);
        case 102:
            return jjMoveStringLiteralDfa6_0(active0, 0x2000000000000L,
                    active1, 0x4000002000L, active2, 0L, active3, 0x100008L);
        case 103:
            if ((active3 & 0x800L) != 0L)
                return jjStartNfaWithStates_0(5, 203, 6);
            return jjMoveStringLiteralDfa6_0(active0, 0x200000000000L, active1,
                    0x300L, active2, 0L, active3, 0L);
        case 104:
            if ((active3 & 0x80L) != 0L)
                return jjStartNfaWithStates_0(5, 199, 6);
            else if ((active3 & 0x1000L) != 0L)
                return jjStartNfaWithStates_0(5, 204, 6);
            break;
        case 105:
            return jjMoveStringLiteralDfa6_0(active0, 0x800000102a100000L,
                    active1, 0x1014000002L, active2, 0x2008040009002812L,
                    active3, 0x44200006L);
        case 108:
            if ((active0 & 0x80000000000L) != 0L)
                return jjStartNfaWithStates_0(5, 43, 6);
            else if ((active1 & 0x10000000000000L) != 0L) {
                jjmatchedKind = 116;
                jjmatchedPos = 5;
            } else if ((active2 & 0x4000L) != 0L) {
                jjmatchedKind = 142;
                jjmatchedPos = 5;
            } else if ((active2 & 0x1000000000L) != 0L)
                return jjStartNfaWithStates_0(5, 164, 6);
            return jjMoveStringLiteralDfa6_0(active0, 0x800000000000L, active1,
                    0x200000000800008L, active2, 0x10008L, active3, 0x1000000L);
        case 109:
            if ((active0 & 0x4000000000000000L) != 0L) {
                jjmatchedKind = 62;
                jjmatchedPos = 5;
            }
            return jjMoveStringLiteralDfa6_0(active0, 0x1000008000000000L,
                    active1, 0L, active2, 0x10000000L, active3, 0L);
        case 110:
            return jjMoveStringLiteralDfa6_0(active0, 0L, active1,
                    0x20000a020800L, active2, 0x20L, active3, 0L);
        case 111:
            return jjMoveStringLiteralDfa6_0(active0, 0x1000000000000L,
                    active1, 0x120060000000000L, active2, 0x1800402000000000L,
                    active3, 0x2000000L);
        case 112:
            if ((active1 & 0x80000000L) != 0L)
                return jjStartNfaWithStates_0(5, 95, 6);
            return jjMoveStringLiteralDfa6_0(active0, 0L, active1,
                    0x800000000L, active2, 0x40L, active3, 0L);
        case 114:
            if ((active0 & 0x400000L) != 0L)
                return jjStartNfaWithStates_0(5, 22, 6);
            else if ((active1 & 0x4000000000000000L) != 0L)
                return jjStartNfaWithStates_0(5, 126, 6);
            else if ((active2 & 0x8000L) != 0L)
                return jjStartNfaWithStates_0(5, 143, 6);
            return jjMoveStringLiteralDfa6_0(active0, 0x260d0000040L, active1,
                    0L, active2, 0x20000400L, active3, 0x18020L);
        case 115:
            if ((active1 & 0x40L) != 0L)
                return jjStartNfaWithStates_0(5, 70, 6);
            return jjMoveStringLiteralDfa6_0(active0, 0x10000000000000L,
                    active1, 0x20010000L, active2, 0x600004L, active3, 0L);
        case 116:
            if ((active0 & 0x800000000000000L) != 0L)
                return jjStartNfaWithStates_0(5, 59, 6);
            else if ((active1 & 0x1000L) != 0L)
                return jjStartNfaWithStates_0(5, 76, 6);
            else if ((active2 & 0x40000000L) != 0L)
                return jjStartNfaWithStates_0(5, 158, 6);
            return jjMoveStringLiteralDfa6_0(active0, 0L, active1,
                    0x30020000c4000L, active2, 0x80020000L, active3, 0x8006040L);
        case 117:
            return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2,
                    0x2000000L, active3, 0L);
        case 118:
            return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2,
                    0x100000000L, active3, 0L);
        case 120:
            if ((active1 & 0x400000000000000L) != 0L)
                return jjStartNfaWithStates_0(5, 122, 6);
            break;
        case 121:
            if ((active1 & 0x8000000000L) != 0L)
                return jjStartNfaWithStates_0(5, 103, 6);
            break;
        default:
            break;
        }
        return jjStartNfa_0(4, active0, active1, active2, active3);
    }

    private final int jjMoveStringLiteralDfa6_0(long old0, long active0,
            long old1, long active1, long old2, long active2, long old3,
            long active3) {
        if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L)
            return jjStartNfa_0(4, old0, old1, old2, old3);
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            jjStopStringLiteralDfa_0(5, active0, active1, active2, active3);
            return 6;
        }
        switch (curChar) {
        case 50:
            if ((active2 & 0x8000000000L) != 0L)
                return jjStartNfaWithStates_0(6, 167, 6);
            else if ((active2 & 0x1000000000000L) != 0L)
                return jjStartNfaWithStates_0(6, 176, 6);
            break;
        case 65:
            return jjMoveStringLiteralDfa7_0(active0, 0x100000000000L, active1,
                    0x400000L, active2, 0L, active3, 0x8L);
        case 67:
            return jjMoveStringLiteralDfa7_0(active0, 0x400000200000L, active1,
                    0L, active2, 0L, active3, 0L);
        case 73:
            return jjMoveStringLiteralDfa7_0(active0, 0L, active1,
                    0x200000000000000L, active2, 0x20010000L, active3, 0L);
        case 79:
            return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0L, active2,
                    0x80000000L, active3, 0L);
        case 80:
            return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x800000L,
                    active2, 0L, active3, 0L);
        case 82:
            return jjMoveStringLiteralDfa7_0(active0, 0x1002000000000000L,
                    active1, 0x40000000000L, active2, 0L, active3, 0L);
        case 83:
            if ((active1 & 0x1000000000000L) != 0L)
                return jjStartNfaWithStates_0(6, 112, 6);
            return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0L, active2,
                    0x400L, active3, 0x1L);
        case 84:
            if ((active1 & 0x2000000000000L) != 0L)
                return jjStartNfaWithStates_0(6, 113, 6);
            break;
        case 85:
            return jjMoveStringLiteralDfa7_0(active0, 0x8000000000L, active1,
                    0L, active2, 0L, active3, 0L);
        case 97:
            return jjMoveStringLiteralDfa7_0(active0, 0x1000030000000L,
                    active1, 0x40000000L, active2, 0x10202004aL, active3,
                    0x9000020L);
        case 100:
            if ((active1 & 0x400L) != 0L)
                return jjStartNfaWithStates_0(6, 74, 6);
            return jjMoveStringLiteralDfa7_0(active0, 0L, active1,
                    0x804000000000000L, active2, 0L, active3, 0x4L);
        case 101:
            if ((active0 & 0x80000000L) != 0L) {
                jjmatchedKind = 31;
                jjmatchedPos = 6;
            } else if ((active0 & 0x20000000000000L) != 0L)
                return jjStartNfaWithStates_0(6, 53, 6);
            else if ((active1 & 0x800000000L) != 0L)
                return jjStartNfaWithStates_0(6, 99, 6);
            return jjMoveStringLiteralDfa7_0(active0, 0x40000040L, active1,
                    0x800100200090L, active2, 0x41400a4L, active3, 0x9a000L);
        case 102:
            if ((active2 & 0x100000000000L) != 0L)
                return jjStartNfaWithStates_0(6, 172, 6);
            else if ((active2 & 0x200000000000L) != 0L)
                return jjStartNfaWithStates_0(6, 173, 6);
            else if ((active2 & 0x20000000000000L) != 0L)
                return jjStartNfaWithStates_0(6, 181, 6);
            else if ((active2 & 0x40000000000000L) != 0L)
                return jjStartNfaWithStates_0(6, 182, 6);
            return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x2000L,
                    active2, 0L, active3, 0x10000000L);
        case 103:
            if ((active1 & 0x200000000000L) != 0L)
                return jjStartNfaWithStates_0(6, 109, 6);
            return jjMoveStringLiteralDfa7_0(active0, 0L, active1,
                    0x100000000800L, active2, 0x800L, active3, 0x2L);
        case 104:
            return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0L, active2,
                    0L, active3, 0x100L);
        case 105:
            return jjMoveStringLiteralDfa7_0(active0, 0x10000800000000L,
                    active1, 0x200d4000L, active2, 0x10e00000L, active3,
                    0x2000000L);
        case 107:
            if ((active2 & 0x200000000000000L) != 0L)
                return jjStartNfaWithStates_0(6, 185, 6);
            else if ((active2 & 0x400000000000000L) != 0L)
                return jjStartNfaWithStates_0(6, 186, 6);
            break;
        case 108:
            if ((active0 & 0x4000000000L) != 0L)
                return jjStartNfaWithStates_0(6, 38, 6);
            else if ((active0 & 0x20000000000L) != 0L)
                return jjStartNfaWithStates_0(6, 41, 6);
            return jjMoveStringLiteralDfa7_0(active0, 0x200100100000L, active1,
                    0x1000000300L, active2, 0x100000000002000L, active3,
                    0x40000000L);
        case 109:
            return jjMoveStringLiteralDfa7_0(active0, 0x1000000000L, active1,
                    0L, active2, 0L, active3, 0L);
        case 110:
            if ((active2 & 0x200000000L) != 0L)
                return jjStartNfaWithStates_0(6, 161, 6);
            return jjMoveStringLiteralDfa7_0(active0, 0x8200000004000000L,
                    active1, 0xc0020014000002L, active2, 0x1808040000000000L,
                    active3, 0x80060000L);
        case 111:
            return jjMoveStringLiteralDfa7_0(active0, 0x802000000000L, active1,
                    0x80000000000L, active2, 0x9000000L, active3, 0x4300000L);
        case 112:
            return jjMoveStringLiteralDfa7_0(active0, 0x2000000L, active1, 0L,
                    active2, 0L, active3, 0L);
        case 114:
            if ((active2 & 0x2000000000L) != 0L)
                return jjStartNfaWithStates_0(6, 165, 6);
            else if ((active2 & 0x400000000000L) != 0L)
                return jjStartNfaWithStates_0(6, 174, 6);
            return jjMoveStringLiteralDfa7_0(active0, 0x50000000000L, active1,
                    0x120000000000000L, active2, 0L, active3, 0x800040L);
        case 115:
            return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0xa000000L,
                    active2, 0L, active3, 0L);
        case 116:
            if ((active2 & 0x4000000000L) != 0L)
                return jjStartNfaWithStates_0(6, 166, 6);
            else if ((active2 & 0x800000000000L) != 0L)
                return jjStartNfaWithStates_0(6, 175, 6);
            return jjMoveStringLiteralDfa7_0(active0, 0x1000000L, active1,
                    0x20000L, active2, 0x2004020000000200L, active3, 0L);
        case 117:
            return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x8L,
                    active2, 0x400000000L, active3, 0L);
        case 118:
            return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0L, active2,
                    0x10L, active3, 0L);
        case 121:
            if ((active1 & 0x4000000000L) != 0L)
                return jjStartNfaWithStates_0(6, 102, 6);
            return jjMoveStringLiteralDfa7_0(active0, 0L, active1,
                    0x2000000000L, active2, 0L, active3, 0x4000L);
        case 122:
            return jjMoveStringLiteralDfa7_0(active0, 0x8000000L, active1, 0L,
                    active2, 0L, active3, 0L);
        default:
            break;
        }
        return jjStartNfa_0(5, active0, active1, active2, active3);
    }

    private final int jjMoveStringLiteralDfa7_0(long old0, long active0,
            long old1, long active1, long old2, long active2, long old3,
            long active3) {
        if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L)
            return jjStartNfa_0(5, old0, old1, old2, old3);
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            jjStopStringLiteralDfa_0(6, active0, active1, active2, active3);
            return 7;
        }
        switch (curChar) {
        case 67:
            return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0L, active2,
                    0x4L, active3, 0x8000L);
        case 70:
            return jjMoveStringLiteralDfa8_0(active0, 0L, active1,
                    0x4000000000000L, active2, 0L, active3, 0L);
        case 73:
            return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x20000L,
                    active2, 0L, active3, 0L);
        case 76:
            return jjMoveStringLiteralDfa8_0(active0, 0L, active1,
                    0x800000000000000L, active2, 0L, active3, 0L);
        case 84:
            return jjMoveStringLiteralDfa8_0(active0, 0x40000000L, active1, 0L,
                    active2, 0L, active3, 0x10000L);
        case 86:
            return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0L, active2,
                    0L, active3, 0x10000000L);
        case 97:
            return jjMoveStringLiteralDfa8_0(active0, 0x9000000000000000L,
                    active1, 0x2L, active2, 0L, active3, 0L);
        case 99:
            return jjMoveStringLiteralDfa8_0(active0, 0L, active1,
                    0x100000000L, active2, 0L, active3, 0L);
        case 100:
            if ((active1 & 0x20000000000000L) != 0L) {
                jjmatchedKind = 117;
                jjmatchedPos = 7;
            }
            return jjMoveStringLiteralDfa8_0(active0, 0x100000L, active1,
                    0x1c0000000000000L, active2, 0L, active3, 0L);
        case 101:
            if ((active0 & 0x8000000L) != 0L)
                return jjStartNfaWithStates_0(7, 27, 6);
            else if ((active0 & 0x1000000000L) != 0L)
                return jjStartNfaWithStates_0(7, 36, 6);
            else if ((active0 & 0x200000000000L) != 0L)
                return jjStartNfaWithStates_0(7, 45, 6);
            else if ((active1 & 0x8L) != 0L)
                return jjStartNfaWithStates_0(7, 67, 6);
            else if ((active1 & 0x100L) != 0L)
                return jjStartNfaWithStates_0(7, 72, 6);
            else if ((active1 & 0x200L) != 0L)
                return jjStartNfaWithStates_0(7, 73, 6);
            else if ((active1 & 0x100000000000L) != 0L)
                return jjStartNfaWithStates_0(7, 108, 6);
            return jjMoveStringLiteralDfa8_0(active0, 0x1000000L, active1,
                    0x800000L, active2, 0x10L, active3, 0x1L);
        case 102:
            return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0L, active2,
                    0L, active3, 0x80000000L);
        case 103:
            if ((active1 & 0x4000000L) != 0L)
                return jjStartNfaWithStates_0(7, 90, 6);
            else if ((active1 & 0x10000000L) != 0L)
                return jjStartNfaWithStates_0(7, 92, 6);
            else if ((active2 & 0x40000000000L) != 0L)
                return jjStartNfaWithStates_0(7, 170, 6);
            else if ((active2 & 0x8000000000000L) != 0L)
                return jjStartNfaWithStates_0(7, 179, 6);
            return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0L, active2,
                    0x800000L, active3, 0L);
        case 104:
            return jjMoveStringLiteralDfa8_0(active0, 0x200000L, active1, 0L,
                    active2, 0x800L, active3, 0x2L);
        case 105:
            return jjMoveStringLiteralDfa8_0(active0, 0x100000000L, active1,
                    0x4100a000000L, active2, 0x104020000002600L, active3,
                    0x40800000L);
        case 108:
            if ((active0 & 0x20000000L) != 0L)
                return jjStartNfaWithStates_0(7, 29, 6);
            else if ((active0 & 0x10000000000L) != 0L)
                return jjStartNfaWithStates_0(7, 40, 6);
            else if ((active0 & 0x40000000000L) != 0L)
                return jjStartNfaWithStates_0(7, 42, 6);
            else if ((active2 & 0x2L) != 0L)
                return jjStartNfaWithStates_0(7, 129, 6);
            return jjMoveStringLiteralDfa8_0(active0, 0L, active1,
                    0x2000000800L, active2, 0x100000000L, active3, 0x4000L);
        case 109:
            return jjMoveStringLiteralDfa8_0(active0, 0x800000000L, active1,
                    0L, active2, 0L, active3, 0L);
        case 110:
            if ((active0 & 0x40L) != 0L)
                return jjStartNfaWithStates_0(7, 6, 6);
            else if ((active2 & 0x1000000L) != 0L)
                return jjStartNfaWithStates_0(7, 152, 6);
            else if ((active3 & 0x200000L) != 0L)
                return jjStartNfaWithStates_0(7, 213, 6);
            else if ((active3 & 0x4000000L) != 0L)
                return jjStartNfaWithStates_0(7, 218, 6);
            return jjMoveStringLiteralDfa8_0(active0, 0x100010000000L, active1,
                    0x200000000400000L, active2, 0x28110000L, active3,
                    0x2082028L);
        case 111:
            return jjMoveStringLiteralDfa8_0(active0, 0x12400000000000L,
                    active1, 0x200c4000L, active2, 0L, active3, 0x100L);
        case 112:
            if ((active1 & 0x40000000L) != 0L)
                return jjStartNfaWithStates_0(7, 94, 6);
            break;
        case 114:
            if ((active0 & 0x800000000000L) != 0L)
                return jjStartNfaWithStates_0(7, 47, 6);
            else if ((active1 & 0x10L) != 0L) {
                jjmatchedKind = 68;
                jjmatchedPos = 7;
            }
            return jjMoveStringLiteralDfa8_0(active0, 0x1008000000000L,
                    active1, 0x200080L, active2, 0x48L, active3, 0x100000L);
        case 115:
            return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x2000L,
                    active2, 0x20L, active3, 0x20000L);
        case 116:
            if ((active2 & 0x4000000L) != 0L)
                return jjStartNfaWithStates_0(7, 154, 6);
            else if ((active2 & 0x400000000L) != 0L)
                return jjStartNfaWithStates_0(7, 162, 6);
            else if ((active2 & 0x800000000000000L) != 0L)
                return jjStartNfaWithStates_0(7, 187, 6);
            else if ((active2 & 0x1000000000000000L) != 0L)
                return jjStartNfaWithStates_0(7, 188, 6);
            return jjMoveStringLiteralDfa8_0(active0, 0x200000006000000L,
                    active1, 0xa0000010000L, active2, 0x12620000L, active3,
                    0x9040004L);
        case 117:
            return jjMoveStringLiteralDfa8_0(active0, 0x2000000000L, active1,
                    0L, active2, 0x80000000L, active3, 0L);
        case 120:
            return jjMoveStringLiteralDfa8_0(active0, 0L, active1,
                    0x800000000000L, active2, 0x40080L, active3, 0L);
        case 121:
            if ((active2 & 0x2000000000000000L) != 0L)
                return jjStartNfaWithStates_0(7, 189, 6);
            else if ((active3 & 0x40L) != 0L)
                return jjStartNfaWithStates_0(7, 198, 6);
            break;
        default:
            break;
        }
        return jjStartNfa_0(6, active0, active1, active2, active3);
    }

    private final int jjMoveStringLiteralDfa8_0(long old0, long active0,
            long old1, long active1, long old2, long active2, long old3,
            long active3) {
        if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L)
            return jjStartNfa_0(6, old0, old1, old2, old3);
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            jjStopStringLiteralDfa_0(7, active0, active1, active2, active3);
            return 8;
        }
        switch (curChar) {
        case 67:
            return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2,
                    0x18L, active3, 0L);
        case 73:
            return jjMoveStringLiteralDfa9_0(active0, 0L, active1,
                    0x100000000000000L, active2, 0x8000000L, active3, 0L);
        case 83:
            return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x80L,
                    active2, 0L, active3, 0L);
        case 86:
            return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x200000L,
                    active2, 0L, active3, 0L);
        case 97:
            return jjMoveStringLiteralDfa9_0(active0, 0L, active1,
                    0x4020000000000L, active2, 0L, active3, 0L);
        case 99:
            return jjMoveStringLiteralDfa9_0(active0, 0x10000000L, active1, 0L,
                    active2, 0L, active3, 0x20L);
        case 100:
            if ((active0 & 0x1000000000000L) != 0L)
                return jjStartNfaWithStates_0(8, 48, 6);
            return jjMoveStringLiteralDfa9_0(active0, 0x1000000000000000L,
                    active1, 0x200000000000000L, active2, 0L, active3, 0L);
        case 101:
            if ((active0 & 0x800000000L) != 0L)
                return jjStartNfaWithStates_0(8, 35, 6);
            else if ((active1 & 0x800L) != 0L)
                return jjStartNfaWithStates_0(8, 75, 6);
            else if ((active1 & 0x2000000000L) != 0L)
                return jjStartNfaWithStates_0(8, 101, 6);
            else if ((active3 & 0x4000L) != 0L)
                return jjStartNfaWithStates_0(8, 206, 6);
            return jjMoveStringLiteralDfa9_0(active0, 0x200000004000000L,
                    active1, 0xc0000000002000L, active2, 0x40L, active3,
                    0x840000L);
        case 103:
            return jjMoveStringLiteralDfa9_0(active0, 0x100000000000L, active1,
                    0x40000400000L, active2, 0L, active3, 0x8L);
        case 104:
            if ((active3 & 0x4L) != 0L)
                return jjStartNfaWithStates_0(8, 194, 6);
            return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2,
                    0x800000L, active3, 0L);
        case 105:
            return jjMoveStringLiteralDfa9_0(active0, 0x2200000L, active1,
                    0x800000000000000L, active2, 0x2620000L, active3,
                    0x19000100L);
        case 108:
            if ((active0 & 0x8000000000L) != 0L)
                return jjStartNfaWithStates_0(8, 39, 6);
            return jjMoveStringLiteralDfa9_0(active0, 0x400000000000L, active1,
                    0L, active2, 0L, active3, 0L);
        case 109:
            if ((active3 & 0x100000L) != 0L)
                return jjStartNfaWithStates_0(8, 212, 6);
            break;
        case 110:
            if ((active0 & 0x10000000000000L) != 0L)
                return jjStartNfaWithStates_0(8, 52, 6);
            else if ((active1 & 0x40000L) != 0L)
                return jjStartNfaWithStates_0(8, 82, 6);
            else if ((active1 & 0x20000000L) != 0L)
                return jjStartNfaWithStates_0(8, 93, 6);
            return jjMoveStringLiteralDfa9_0(active0, 0x2000000000L, active1,
                    0xa4000L, active2, 0L, active3, 0x1L);
        case 111:
            if ((active3 & 0x80000000L) != 0L)
                return jjStartNfaWithStates_0(8, 223, 6);
            return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0xa000000L,
                    active2, 0x4020000000204L, active3, 0x28000L);
        case 112:
            if ((active0 & 0x100000000L) != 0L)
                return jjStartNfaWithStates_0(8, 32, 6);
            break;
        case 114:
            if ((active0 & 0x1000000L) != 0L)
                return jjStartNfaWithStates_0(8, 24, 6);
            return jjMoveStringLiteralDfa9_0(active0, 0x40100000L, active1,
                    0x800000L, active2, 0L, active3, 0x10000L);
        case 115:
            if ((active2 & 0x20L) != 0L)
                return jjStartNfaWithStates_0(8, 133, 6);
            return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2,
                    0x100000L, active3, 0x80000L);
        case 116:
            if ((active2 & 0x800L) != 0L)
                return jjStartNfaWithStates_0(8, 139, 6);
            else if ((active3 & 0x2L) != 0L)
                return jjStartNfaWithStates_0(8, 193, 6);
            else if ((active3 & 0x2000L) != 0L)
                return jjStartNfaWithStates_0(8, 205, 6);
            else if ((active3 & 0x2000000L) != 0L)
                return jjStartNfaWithStates_0(8, 217, 6);
            return jjMoveStringLiteralDfa9_0(active0, 0x8002000000000000L,
                    active1, 0x881100000002L, active2, 0xa0052080L, active3,
                    0x40000000L);
        case 117:
            return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2,
                    0x100000000L, active3, 0L);
        case 121:
            if ((active1 & 0x10000L) != 0L)
                return jjStartNfaWithStates_0(8, 80, 6);
            return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2,
                    0x10000000L, active3, 0L);
        case 122:
            return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2,
                    0x100000000000400L, active3, 0L);
        default:
            break;
        }
        return jjStartNfa_0(7, active0, active1, active2, active3);
    }

    private final int jjMoveStringLiteralDfa9_0(long old0, long active0,
            long old1, long active1, long old2, long active2, long old3,
            long active3) {
        if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L)
            return jjStartNfa_0(7, old0, old1, old2, old3);
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            jjStopStringLiteralDfa_0(8, active0, active1, active2, active3);
            return 9;
        }
        switch (curChar) {
        case 71:
            return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0x80000L,
                    active2, 0L, active3, 0L);
        case 83:
            return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L,
                    active2, 0x10000000L, active3, 0L);
        case 86:
            return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0x800000L,
                    active2, 0L, active3, 0L);
        case 97:
            return jjMoveStringLiteralDfa10_0(active0, 0x2000040000000L,
                    active1, 0x4000L, active2, 0x100000000L, active3, 0x10000L);
        case 99:
            return jjMoveStringLiteralDfa10_0(active0, 0L, active1,
                    0x4000000000000L, active2, 0L, active3, 0x100L);
        case 100:
            if ((active0 & 0x2000000000L) != 0L)
                return jjStartNfaWithStates_0(9, 37, 6);
            break;
        case 101:
            if ((active0 & 0x10000000L) != 0L)
                return jjStartNfaWithStates_0(9, 28, 6);
            else if ((active0 & 0x8000000000000000L) != 0L) {
                jjmatchedKind = 63;
                jjmatchedPos = 9;
            } else if ((active2 & 0x400L) != 0L)
                return jjStartNfaWithStates_0(9, 138, 6);
            else if ((active2 & 0x100000000000000L) != 0L)
                return jjStartNfaWithStates_0(9, 184, 6);
            else if ((active3 & 0x20L) != 0L)
                return jjStartNfaWithStates_0(9, 197, 6);
            return jjMoveStringLiteralDfa10_0(active0, 0x100000L, active1,
                    0x200000000200082L, active2, 0x20010000L, active3,
                    0x10000000L);
        case 104:
            return jjMoveStringLiteralDfa10_0(active0, 0L, active1,
                    0x40000000000L, active2, 0L, active3, 0L);
        case 105:
            return jjMoveStringLiteralDfa10_0(active0, 0x1000000000000000L,
                    active1, 0x100000000L, active2, 0L, active3, 0L);
        case 108:
            if ((active1 & 0x20000000000L) != 0L)
                return jjStartNfaWithStates_0(9, 105, 6);
            return jjMoveStringLiteralDfa10_0(active0, 0x100000200000L,
                    active1, 0x400000L, active2, 0x4L, active3, 0x8L);
        case 110:
            if ((active1 & 0x2000000L) != 0L)
                return jjStartNfaWithStates_0(9, 89, 6);
            else if ((active1 & 0x8000000L) != 0L)
                return jjStartNfaWithStates_0(9, 91, 6);
            else if ((active2 & 0x20000000000L) != 0L)
                return jjStartNfaWithStates_0(9, 169, 6);
            else if ((active2 & 0x4000000000000L) != 0L)
                return jjStartNfaWithStates_0(9, 178, 6);
            return jjMoveStringLiteralDfa10_0(active0, 0L, active1,
                    0x900000000000000L, active2, 0x8000240L, active3, 0x800000L);
        case 111:
            return jjMoveStringLiteralDfa10_0(active0, 0x400002000000L,
                    active1, 0x80000000000L, active2, 0x2720018L, active3,
                    0x9088000L);
        case 112:
            return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L,
                    active2, 0x80000000L, active3, 0L);
        case 114:
            if ((active0 & 0x4000000L) != 0L)
                return jjStartNfaWithStates_0(9, 26, 6);
            else if ((active3 & 0x20000L) != 0L)
                return jjStartNfaWithStates_0(9, 209, 6);
            return jjMoveStringLiteralDfa10_0(active0, 0x200000000000000L,
                    active1, 0L, active2, 0L, active3, 0x40000L);
        case 115:
            return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L,
                    active2, 0L, active3, 0x1L);
        case 116:
            if ((active1 & 0x2000L) != 0L)
                return jjStartNfaWithStates_0(9, 77, 6);
            else if ((active2 & 0x800000L) != 0L)
                return jjStartNfaWithStates_0(9, 151, 6);
            return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0x20000L,
                    active2, 0L, active3, 0L);
        case 117:
            return jjMoveStringLiteralDfa10_0(active0, 0L, active1,
                    0x800000000000L, active2, 0x40080L, active3, 0L);
        case 120:
            if ((active1 & 0x40000000000000L) != 0L)
                return jjStartNfaWithStates_0(9, 118, 6);
            else if ((active1 & 0x80000000000000L) != 0L)
                return jjStartNfaWithStates_0(9, 119, 6);
            break;
        case 121:
            return jjMoveStringLiteralDfa10_0(active0, 0L, active1,
                    0x1000000000L, active2, 0x2000L, active3, 0x40000000L);
        default:
            break;
        }
        return jjStartNfa_0(8, active0, active1, active2, active3);
    }

    private final int jjMoveStringLiteralDfa10_0(long old0, long active0,
            long old1, long active1, long old2, long active2, long old3,
            long active3) {
        if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L)
            return jjStartNfa_0(8, old0, old1, old2, old3);
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            jjStopStringLiteralDfa_0(9, active0, active1, active2, active3);
            return 10;
        }
        switch (curChar) {
        case 73:
            return jjMoveStringLiteralDfa11_0(active0, 0L, active1, 0x2L,
                    active2, 0x200L, active3, 0L);
        case 76:
            return jjMoveStringLiteralDfa11_0(active0, 0L, active1, 0L,
                    active2, 0x2000L, active3, 0L);
        case 82:
            return jjMoveStringLiteralDfa11_0(active0, 0L, active1,
                    0x1000000000L, active2, 0L, active3, 0L);
        case 83:
            return jjMoveStringLiteralDfa11_0(active0, 0L, active1, 0L,
                    active2, 0L, active3, 0x40000000L);
        case 99:
            return jjMoveStringLiteralDfa11_0(active0, 0L, active1, 0L,
                    active2, 0x40L, active3, 0L);
        case 100:
            return jjMoveStringLiteralDfa11_0(active0, 0x200000L, active1,
                    0x100000000000000L, active2, 0L, active3, 0L);
        case 101:
            if ((active0 & 0x100000000000L) != 0L)
                return jjStartNfaWithStates_0(10, 44, 6);
            else if ((active1 & 0x400000L) != 0L)
                return jjStartNfaWithStates_0(10, 86, 6);
            else if ((active3 & 0x8L) != 0L)
                return jjStartNfaWithStates_0(10, 195, 6);
            else if ((active3 & 0x100L) != 0L)
                return jjStartNfaWithStates_0(10, 200, 6);
            return jjMoveStringLiteralDfa11_0(active0, 0L, active1,
                    0x804000000820000L, active2, 0x10000000L, active3, 0L);
        case 108:
            return jjMoveStringLiteralDfa11_0(active0, 0L, active1, 0x4000L,
                    active2, 0x18L, active3, 0L);
        case 109:
            if ((active1 & 0x80000000000L) != 0L)
                return jjStartNfaWithStates_0(10, 107, 6);
            break;
        case 110:
            if ((active0 & 0x100000L) != 0L)
                return jjStartNfaWithStates_0(10, 20, 6);
            else if ((active0 & 0x2000000L) != 0L)
                return jjStartNfaWithStates_0(10, 25, 6);
            else if ((active2 & 0x200000L) != 0L)
                return jjStartNfaWithStates_0(10, 149, 6);
            else if ((active2 & 0x400000L) != 0L)
                return jjStartNfaWithStates_0(10, 150, 6);
            else if ((active2 & 0x2000000L) != 0L)
                return jjStartNfaWithStates_0(10, 153, 6);
            else if ((active3 & 0x1000000L) != 0L)
                return jjStartNfaWithStates_0(10, 216, 6);
            else if ((active3 & 0x8000000L) != 0L)
                return jjStartNfaWithStates_0(10, 219, 6);
            return jjMoveStringLiteralDfa11_0(active0, 0x40000000L, active1,
                    0x80L, active2, 0x20000L, active3, 0x10000L);
        case 111:
            return jjMoveStringLiteralDfa11_0(active0, 0L, active1,
                    0x100000000L, active2, 0x4L, active3, 0x1L);
        case 112:
            return jjMoveStringLiteralDfa11_0(active0, 0x200000000000000L,
                    active1, 0L, active2, 0L, active3, 0L);
        case 114:
            if ((active0 & 0x400000000000L) != 0L)
                return jjStartNfaWithStates_0(10, 46, 6);
            else if ((active2 & 0x100000L) != 0L)
                return jjStartNfaWithStates_0(10, 148, 6);
            else if ((active3 & 0x80000L) != 0L)
                return jjStartNfaWithStates_0(10, 211, 6);
            return jjMoveStringLiteralDfa11_0(active0, 0L, active1,
                    0x800000280000L, active2, 0x20050080L, active3, 0x8000L);
        case 116:
            if ((active1 & 0x40000000000L) != 0L)
                return jjStartNfaWithStates_0(10, 106, 6);
            return jjMoveStringLiteralDfa11_0(active0, 0x2000000000000L,
                    active1, 0L, active2, 0x108000000L, active3, 0x800000L);
        case 117:
            return jjMoveStringLiteralDfa11_0(active0, 0x1000000000000000L,
                    active1, 0L, active2, 0x80000000L, active3, 0L);
        case 118:
            return jjMoveStringLiteralDfa11_0(active0, 0L, active1, 0L,
                    active2, 0L, active3, 0x40000L);
        case 119:
            if ((active3 & 0x10000000L) != 0L)
                return jjStartNfaWithStates_0(10, 220, 6);
            break;
        case 120:
            if ((active1 & 0x200000000000000L) != 0L)
                return jjStartNfaWithStates_0(10, 121, 6);
            break;
        default:
            break;
        }
        return jjStartNfa_0(9, active0, active1, active2, active3);
    }

    private final int jjMoveStringLiteralDfa11_0(long old0, long active0,
            long old1, long active1, long old2, long active2, long old3,
            long active3) {
        if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L)
            return jjStartNfa_0(9, old0, old1, old2, old3);
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            jjStopStringLiteralDfa_0(10, active0, active1, active2, active3);
            return 11;
        }
        switch (curChar) {
        case 73:
            return jjMoveStringLiteralDfa12_0(active0, 0L, active1, 0L,
                    active2, 0x20000L, active3, 0L);
        case 76:
            return jjMoveStringLiteralDfa12_0(active0, 0L, active1, 0x4000L,
                    active2, 0L, active3, 0L);
        case 83:
            return jjMoveStringLiteralDfa12_0(active0, 0L, active1,
                    0x804000000000000L, active2, 0L, active3, 0L);
        case 97:
            return jjMoveStringLiteralDfa12_0(active0, 0L, active1,
                    0x1000000000L, active2, 0L, active3, 0x840000L);
        case 100:
            return jjMoveStringLiteralDfa12_0(active0, 0L, active1, 0L,
                    active2, 0L, active3, 0x8000L);
        case 101:
            if ((active1 & 0x800000000000L) != 0L)
                return jjStartNfaWithStates_0(11, 111, 6);
            else if ((active2 & 0x80L) != 0L)
                return jjStartNfaWithStates_0(11, 135, 6);
            else if ((active2 & 0x40000L) != 0L)
                return jjStartNfaWithStates_0(11, 146, 6);
            else if ((active2 & 0x100000000L) != 0L)
                return jjStartNfaWithStates_0(11, 160, 6);
            return jjMoveStringLiteralDfa12_0(active0, 0L, active1,
                    0x100000000000000L, active2, 0x8000000L, active3,
                    0x40000000L);
        case 105:
            return jjMoveStringLiteralDfa12_0(active0, 0x2000000000000L,
                    active1, 0x80000L, active2, 0x2000L, active3, 0L);
        case 110:
            if ((active1 & 0x100000000L) != 0L)
                return jjStartNfaWithStates_0(11, 96, 6);
            return jjMoveStringLiteralDfa12_0(active0, 0L, active1, 0x20002L,
                    active2, 0x10000200L, active3, 0L);
        case 111:
            return jjMoveStringLiteralDfa12_0(active0, 0x200000000000000L,
                    active1, 0L, active2, 0x18L, active3, 0L);
        case 112:
            return jjMoveStringLiteralDfa12_0(active0, 0L, active1, 0L,
                    active2, 0x20010000L, active3, 0L);
        case 114:
            if ((active2 & 0x4L) != 0L)
                return jjStartNfaWithStates_0(11, 130, 6);
            else if ((active3 & 0x1L) != 0L)
                return jjStartNfaWithStates_0(11, 192, 6);
            return jjMoveStringLiteralDfa12_0(active0, 0x200000L, active1,
                    0x800000L, active2, 0L, active3, 0L);
        case 115:
            if ((active0 & 0x1000000000000000L) != 0L)
                return jjStartNfaWithStates_0(11, 60, 6);
            return jjMoveStringLiteralDfa12_0(active0, 0x40000000L, active1,
                    0x80L, active2, 0L, active3, 0x10000L);
        case 116:
            if ((active2 & 0x80000000L) != 0L)
                return jjStartNfaWithStates_0(11, 159, 6);
            return jjMoveStringLiteralDfa12_0(active0, 0L, active1, 0x200000L,
                    active2, 0L, active3, 0L);
        case 121:
            if ((active2 & 0x40L) != 0L)
                return jjStartNfaWithStates_0(11, 134, 6);
            break;
        default:
            break;
        }
        return jjStartNfa_0(10, active0, active1, active2, active3);
    }

    private final int jjMoveStringLiteralDfa12_0(long old0, long active0,
            long old1, long active1, long old2, long active2, long old3,
            long active3) {
        if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L)
            return jjStartNfa_0(10, old0, old1, old2, old3);
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            jjStopStringLiteralDfa_0(11, active0, active1, active2, active3);
            return 12;
        }
        switch (curChar) {
        case 100:
            if ((active1 & 0x80000L) != 0L)
                return jjStartNfaWithStates_0(12, 83, 6);
            break;
        case 101:
            return jjMoveStringLiteralDfa13_0(active0, 0x200000L, active1,
                    0x804000000200000L, active2, 0L, active3, 0L);
        case 102:
            return jjMoveStringLiteralDfa13_0(active0, 0x40000000L, active1,
                    0L, active2, 0x200L, active3, 0x10000L);
        case 105:
            return jjMoveStringLiteralDfa13_0(active0, 0L, active1, 0x4000L,
                    active2, 0L, active3, 0x8000L);
        case 108:
            if ((active3 & 0x40000L) != 0L)
                return jjStartNfaWithStates_0(12, 210, 6);
            return jjMoveStringLiteralDfa13_0(active0, 0x200000000000000L,
                    active1, 0L, active2, 0L, active3, 0L);
        case 109:
            return jjMoveStringLiteralDfa13_0(active0, 0L, active1, 0L,
                    active2, 0x2000L, active3, 0L);
        case 110:
            return jjMoveStringLiteralDfa13_0(active0, 0L, active1,
                    0x1000000000L, active2, 0x20000L, active3, 0x40000000L);
        case 111:
            return jjMoveStringLiteralDfa13_0(active0, 0x2000000000000L,
                    active1, 0x80L, active2, 0x20010000L, active3, 0L);
        case 114:
            if ((active2 & 0x8L) != 0L)
                return jjStartNfaWithStates_0(12, 131, 6);
            else if ((active2 & 0x10L) != 0L)
                return jjStartNfaWithStates_0(12, 132, 6);
            return jjMoveStringLiteralDfa13_0(active0, 0L, active1, 0L,
                    active2, 0x8000000L, active3, 0L);
        case 115:
            return jjMoveStringLiteralDfa13_0(active0, 0L, active1, 0x20000L,
                    active2, 0x10000000L, active3, 0L);
        case 116:
            return jjMoveStringLiteralDfa13_0(active0, 0L, active1, 0x800002L,
                    active2, 0L, active3, 0x800000L);
        case 120:
            if ((active1 & 0x100000000000000L) != 0L)
                return jjStartNfaWithStates_0(12, 120, 6);
            break;
        default:
            break;
        }
        return jjStartNfa_0(11, active0, active1, active2, active3);
    }

    private final int jjMoveStringLiteralDfa13_0(long old0, long active0,
            long old1, long active1, long old2, long active2, long old3,
            long active3) {
        if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L)
            return jjStartNfa_0(11, old0, old1, old2, old3);
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            jjStopStringLiteralDfa_0(12, active0, active1, active2, active3);
            return 13;
        }
        switch (curChar) {
        case 97:
            return jjMoveStringLiteralDfa14_0(active0, 0x200000000000000L,
                    active1, 0L, active2, 0L, active3, 0L);
        case 101:
            return jjMoveStringLiteralDfa14_0(active0, 0L, active1, 0x800002L,
                    active2, 0L, active3, 0L);
        case 103:
            return jjMoveStringLiteralDfa14_0(active0, 0L, active1,
                    0x1000004000L, active2, 0L, active3, 0L);
        case 105:
            return jjMoveStringLiteralDfa14_0(active0, 0L, active1, 0x20000L,
                    active2, 0x2000L, active3, 0x800000L);
        case 108:
            return jjMoveStringLiteralDfa14_0(active0, 0L, active1, 0L,
                    active2, 0x20010000L, active3, 0L);
        case 110:
            if ((active0 & 0x200000L) != 0L)
                return jjStartNfaWithStates_0(13, 21, 6);
            else if ((active0 & 0x2000000000000L) != 0L)
                return jjStartNfaWithStates_0(13, 49, 6);
            return jjMoveStringLiteralDfa14_0(active0, 0L, active1, 0L,
                    active2, 0L, active3, 0x8000L);
        case 111:
            if ((active2 & 0x200L) != 0L)
                return jjStartNfaWithStates_0(13, 137, 6);
            return jjMoveStringLiteralDfa14_0(active0, 0x40000000L, active1,
                    0L, active2, 0x10000000L, active3, 0x10000L);
        case 112:
            return jjMoveStringLiteralDfa14_0(active0, 0L, active1, 0L,
                    active2, 0x8000000L, active3, 0L);
        case 114:
            if ((active1 & 0x80L) != 0L)
                return jjStartNfaWithStates_0(13, 71, 6);
            break;
        case 115:
            return jjMoveStringLiteralDfa14_0(active0, 0L, active1, 0L,
                    active2, 0L, active3, 0x40000000L);
        case 116:
            if ((active1 & 0x4000000000000L) != 0L)
                return jjStartNfaWithStates_0(13, 114, 6);
            else if ((active1 & 0x800000000000000L) != 0L)
                return jjStartNfaWithStates_0(13, 123, 6);
            return jjMoveStringLiteralDfa14_0(active0, 0L, active1, 0L,
                    active2, 0x20000L, active3, 0L);
        case 120:
            if ((active1 & 0x200000L) != 0L)
                return jjStartNfaWithStates_0(13, 85, 6);
            break;
        default:
            break;
        }
        return jjStartNfa_0(12, active0, active1, active2, active3);
    }

    private final int jjMoveStringLiteralDfa14_0(long old0, long active0,
            long old1, long active1, long old2, long active2, long old3,
            long active3) {
        if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L)
            return jjStartNfa_0(12, old0, old1, old2, old3);
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            jjStopStringLiteralDfa_0(13, active0, active1, active2, active3);
            return 14;
        }
        switch (curChar) {
        case 97:
            return jjMoveStringLiteralDfa15_0(active0, 0L, active1, 0L,
                    active2, 0x20010000L, active3, 0x8000L);
        case 101:
            if ((active1 & 0x1000000000L) != 0L)
                return jjStartNfaWithStates_0(14, 100, 6);
            return jjMoveStringLiteralDfa15_0(active0, 0L, active1, 0L,
                    active2, 0x20000L, active3, 0L);
        case 104:
            return jjMoveStringLiteralDfa15_0(active0, 0L, active1, 0x4000L,
                    active2, 0L, active3, 0L);
        case 111:
            return jjMoveStringLiteralDfa15_0(active0, 0L, active1, 0L,
                    active2, 0x8000000L, active3, 0x40800000L);
        case 114:
            if ((active2 & 0x10000000L) != 0L)
                return jjStartNfaWithStates_0(14, 156, 6);
            return jjMoveStringLiteralDfa15_0(active0, 0x40000000L, active1,
                    0x2L, active2, 0L, active3, 0x10000L);
        case 116:
            if ((active2 & 0x2000L) != 0L)
                return jjStartNfaWithStates_0(14, 141, 6);
            return jjMoveStringLiteralDfa15_0(active0, 0x200000000000000L,
                    active1, 0x20000L, active2, 0L, active3, 0L);
        case 120:
            if ((active1 & 0x800000L) != 0L)
                return jjStartNfaWithStates_0(14, 87, 6);
            break;
        default:
            break;
        }
        return jjStartNfa_0(13, active0, active1, active2, active3);
    }

    private final int jjMoveStringLiteralDfa15_0(long old0, long active0,
            long old1, long active1, long old2, long active2, long old3,
            long active3) {
        if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L)
            return jjStartNfa_0(13, old0, old1, old2, old3);
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            jjStopStringLiteralDfa_0(14, active0, active1, active2, active3);
            return 15;
        }
        switch (curChar) {
        case 108:
            return jjMoveStringLiteralDfa16_0(active0, 0L, active1, 0L,
                    active2, 0x8000000L, active3, 0L);
        case 109:
            if ((active0 & 0x40000000L) != 0L)
                return jjStartNfaWithStates_0(15, 30, 6);
            else if ((active3 & 0x10000L) != 0L)
                return jjStartNfaWithStates_0(15, 208, 6);
            break;
        case 110:
            if ((active3 & 0x800000L) != 0L)
                return jjStartNfaWithStates_0(15, 215, 6);
            break;
        case 111:
            return jjMoveStringLiteralDfa16_0(active0, 0x200000000000000L,
                    active1, 0L, active2, 0L, active3, 0L);
        case 112:
            return jjMoveStringLiteralDfa16_0(active0, 0L, active1, 0x2L,
                    active2, 0L, active3, 0L);
        case 114:
            if ((active3 & 0x40000000L) != 0L)
                return jjStartNfaWithStates_0(15, 222, 6);
            return jjMoveStringLiteralDfa16_0(active0, 0L, active1, 0L,
                    active2, 0x20000L, active3, 0L);
        case 116:
            if ((active1 & 0x4000L) != 0L)
                return jjStartNfaWithStates_0(15, 78, 6);
            return jjMoveStringLiteralDfa16_0(active0, 0L, active1, 0L,
                    active2, 0x20010000L, active3, 0x8000L);
        case 121:
            if ((active1 & 0x20000L) != 0L)
                return jjStartNfaWithStates_0(15, 81, 6);
            break;
        default:
            break;
        }
        return jjStartNfa_0(14, active0, active1, active2, active3);
    }

    private final int jjMoveStringLiteralDfa16_0(long old0, long active0,
            long old1, long active1, long old2, long active2, long old3,
            long active3) {
        if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L)
            return jjStartNfa_0(14, old0, old1, old2, old3);
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            jjStopStringLiteralDfa_0(15, active0, active1, active2, active3);
            return 16;
        }
        switch (curChar) {
        case 97:
            return jjMoveStringLiteralDfa17_0(active0, 0L, active1, 0L,
                    active2, 0x8000000L, active3, 0L);
        case 101:
            if ((active3 & 0x8000L) != 0L)
                return jjStartNfaWithStates_0(16, 207, 6);
            break;
        case 111:
            return jjMoveStringLiteralDfa17_0(active0, 0L, active1, 0x2L,
                    active2, 0x20010000L, active3, 0L);
        case 112:
            return jjMoveStringLiteralDfa17_0(active0, 0L, active1, 0L,
                    active2, 0x20000L, active3, 0L);
        case 114:
            if ((active0 & 0x200000000000000L) != 0L)
                return jjStartNfaWithStates_0(16, 57, 6);
            break;
        default:
            break;
        }
        return jjStartNfa_0(15, active0, active1, active2, active3);
    }

    private final int jjMoveStringLiteralDfa17_0(long old0, long active0,
            long old1, long active1, long old2, long active2, long old3,
            long active3) {
        if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L)
            return jjStartNfa_0(15, old0, old1, old2, old3);
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            jjStopStringLiteralDfa_0(16, 0L, active1, active2, 0L);
            return 17;
        }
        switch (curChar) {
        case 108:
            return jjMoveStringLiteralDfa18_0(active1, 0x2L, active2, 0L);
        case 111:
            return jjMoveStringLiteralDfa18_0(active1, 0L, active2, 0x20000L);
        case 114:
            if ((active2 & 0x10000L) != 0L)
                return jjStartNfaWithStates_0(17, 144, 6);
            else if ((active2 & 0x20000000L) != 0L)
                return jjStartNfaWithStates_0(17, 157, 6);
            break;
        case 116:
            return jjMoveStringLiteralDfa18_0(active1, 0L, active2, 0x8000000L);
        default:
            break;
        }
        return jjStartNfa_0(16, 0L, active1, active2, 0L);
    }

    private final int jjMoveStringLiteralDfa18_0(long old1, long active1,
            long old2, long active2) {
        if (((active1 &= old1) | (active2 &= old2)) == 0L)
            return jjStartNfa_0(16, 0L, old1, old2, 0L);
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            jjStopStringLiteralDfa_0(17, 0L, active1, active2, 0L);
            return 18;
        }
        switch (curChar) {
        case 97:
            return jjMoveStringLiteralDfa19_0(active1, 0x2L, active2, 0L);
        case 108:
            return jjMoveStringLiteralDfa19_0(active1, 0L, active2, 0x20000L);
        case 111:
            return jjMoveStringLiteralDfa19_0(active1, 0L, active2, 0x8000000L);
        default:
            break;
        }
        return jjStartNfa_0(17, 0L, active1, active2, 0L);
    }

    private final int jjMoveStringLiteralDfa19_0(long old1, long active1,
            long old2, long active2) {
        if (((active1 &= old1) | (active2 &= old2)) == 0L)
            return jjStartNfa_0(17, 0L, old1, old2, 0L);
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            jjStopStringLiteralDfa_0(18, 0L, active1, active2, 0L);
            return 19;
        }
        switch (curChar) {
        case 97:
            return jjMoveStringLiteralDfa20_0(active1, 0L, active2, 0x20000L);
        case 114:
            if ((active2 & 0x8000000L) != 0L)
                return jjStartNfaWithStates_0(19, 155, 6);
            break;
        case 116:
            return jjMoveStringLiteralDfa20_0(active1, 0x2L, active2, 0L);
        default:
            break;
        }
        return jjStartNfa_0(18, 0L, active1, active2, 0L);
    }

    private final int jjMoveStringLiteralDfa20_0(long old1, long active1,
            long old2, long active2) {
        if (((active1 &= old1) | (active2 &= old2)) == 0L)
            return jjStartNfa_0(18, 0L, old1, old2, 0L);
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            jjStopStringLiteralDfa_0(19, 0L, active1, active2, 0L);
            return 20;
        }
        switch (curChar) {
        case 111:
            return jjMoveStringLiteralDfa21_0(active1, 0x2L, active2, 0L);
        case 116:
            return jjMoveStringLiteralDfa21_0(active1, 0L, active2, 0x20000L);
        default:
            break;
        }
        return jjStartNfa_0(19, 0L, active1, active2, 0L);
    }

    private final int jjMoveStringLiteralDfa21_0(long old1, long active1,
            long old2, long active2) {
        if (((active1 &= old1) | (active2 &= old2)) == 0L)
            return jjStartNfa_0(19, 0L, old1, old2, 0L);
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            jjStopStringLiteralDfa_0(20, 0L, active1, active2, 0L);
            return 21;
        }
        switch (curChar) {
        case 111:
            return jjMoveStringLiteralDfa22_0(active1, 0L, active2, 0x20000L);
        case 114:
            if ((active1 & 0x2L) != 0L)
                return jjStartNfaWithStates_0(21, 65, 6);
            break;
        default:
            break;
        }
        return jjStartNfa_0(20, 0L, active1, active2, 0L);
    }

    private final int jjMoveStringLiteralDfa22_0(long old1, long active1,
            long old2, long active2) {
        if (((active1 &= old1) | (active2 &= old2)) == 0L)
            return jjStartNfa_0(20, 0L, old1, old2, 0L);
        try {
            curChar = input_stream.readChar();
        } catch (java.io.IOException e) {
            jjStopStringLiteralDfa_0(21, 0L, 0L, active2, 0L);
            return 22;
        }
        switch (curChar) {
        case 114:
            if ((active2 & 0x20000L) != 0L)
                return jjStartNfaWithStates_0(22, 145, 6);
            break;
        default:
            break;
        }
        return jjStartNfa_0(21, 0L, 0L, active2, 0L);
    }

    private final void jjCheckNAdd(int state) {
        if (jjrounds[state] != jjround) {
            jjstateSet[jjnewStateCnt++] = state;
            jjrounds[state] = jjround;
        }
    }

    private final void jjAddStates(int start, int end) {
        do {
            jjstateSet[jjnewStateCnt++] = jjnextStates[start];
        } while (start++ != end);
    }

    private final void jjCheckNAddTwoStates(int state1, int state2) {
        jjCheckNAdd(state1);
        jjCheckNAdd(state2);
    }

    private final void jjCheckNAddStates(int start, int end) {
        do {
            jjCheckNAdd(jjnextStates[start]);
        } while (start++ != end);
    }

    private final void jjCheckNAddStates(int start) {
        jjCheckNAdd(jjnextStates[start]);
        jjCheckNAdd(jjnextStates[start + 1]);
    }

    static final long[] jjbitVec0 = { 0x0L, 0x0L, 0xffffffffffffffffL,
            0xffffffffffffffffL };

    private final int jjMoveNfa_0(int startState, int curPos) {
        int[] nextStates;
        int startsAt = 0;
        jjnewStateCnt = 41;
        int i = 1;
        jjstateSet[0] = startState;
        int j, kind = 0x7fffffff;
        for (;;) {
            if (++jjround == 0x7fffffff)
                ReInitRounds();
            if (curChar < 64) {
                long l = 1L << curChar;
                MatchLoop: do {
                    switch (jjstateSet[--i]) {
                    case 0:
                        if ((0x3ff000000000000L & l) != 0L) {
                            if (kind > 226)
                                kind = 226;
                            jjCheckNAddStates(0, 5);
                        } else if ((0xa47200000000L & l) != 0L) {
                            if (kind > 227)
                                kind = 227;
                            jjCheckNAdd(6);
                        } else if (curChar == 46)
                            jjCheckNAdd(17);
                        else if (curChar == 34)
                            jjCheckNAddStates(6, 8);
                        else if (curChar == 35)
                            jjCheckNAddStates(9, 11);
                        if ((0x280000000000L & l) != 0L)
                            jjCheckNAddStates(12, 15);
                        else if (curChar == 48)
                            jjstateSet[jjnewStateCnt++] = 23;
                        break;
                    case 26:
                        if ((0x3ffa47200000000L & l) != 0L) {
                            if (kind > 227)
                                kind = 227;
                            jjCheckNAdd(6);
                        }
                        if ((0x3ff000000000000L & l) != 0L) {
                            if (kind > 231)
                                kind = 231;
                            jjCheckNAdd(27);
                        } else if ((0x280000000000L & l) != 0L)
                            jjCheckNAdd(27);
                        break;
                    case 1:
                        if ((0xffffffffffffdbffL & l) != 0L)
                            jjCheckNAddStates(9, 11);
                        break;
                    case 2:
                    case 3:
                        if (curChar == 10 && kind > 5)
                            kind = 5;
                        break;
                    case 4:
                        if (curChar == 13)
                            jjstateSet[jjnewStateCnt++] = 3;
                        break;
                    case 5:
                        if ((0xa47200000000L & l) == 0L)
                            break;
                        if (kind > 227)
                            kind = 227;
                        jjCheckNAdd(6);
                        break;
                    case 6:
                        if ((0x3ffa47200000000L & l) == 0L)
                            break;
                        if (kind > 227)
                            kind = 227;
                        jjCheckNAdd(6);
                        break;
                    case 7:
                        if (curChar == 34)
                            jjCheckNAddStates(6, 8);
                        break;
                    case 8:
                        if ((0xfffffffbffffdbffL & l) != 0L)
                            jjCheckNAddStates(6, 8);
                        break;
                    case 10:
                        if ((0x8400000000L & l) != 0L)
                            jjCheckNAddStates(6, 8);
                        break;
                    case 11:
                        if (curChar == 34 && kind > 228)
                            kind = 228;
                        break;
                    case 12:
                        if ((0xff000000000000L & l) != 0L)
                            jjCheckNAddStates(16, 19);
                        break;
                    case 13:
                        if ((0xff000000000000L & l) != 0L)
                            jjCheckNAddStates(6, 8);
                        break;
                    case 14:
                        if ((0xf000000000000L & l) != 0L)
                            jjstateSet[jjnewStateCnt++] = 15;
                        break;
                    case 15:
                        if ((0xff000000000000L & l) != 0L)
                            jjCheckNAdd(13);
                        break;
                    case 16:
                        if (curChar == 46)
                            jjCheckNAdd(17);
                        break;
                    case 17:
                        if ((0x3ff000000000000L & l) == 0L)
                            break;
                        if (kind > 229)
                            kind = 229;
                        jjCheckNAddStates(20, 22);
                        break;
                    case 19:
                        if ((0x280000000000L & l) != 0L)
                            jjCheckNAdd(20);
                        break;
                    case 20:
                        if ((0x3ff000000000000L & l) == 0L)
                            break;
                        if (kind > 229)
                            kind = 229;
                        jjCheckNAddTwoStates(20, 21);
                        break;
                    case 22:
                        if (curChar == 48)
                            jjstateSet[jjnewStateCnt++] = 23;
                        break;
                    case 24:
                        if ((0x3ff000000000000L & l) == 0L)
                            break;
                        if (kind > 230)
                            kind = 230;
                        jjstateSet[jjnewStateCnt++] = 24;
                        break;
                    case 27:
                        if ((0x3ff000000000000L & l) == 0L)
                            break;
                        if (kind > 231)
                            kind = 231;
                        jjCheckNAdd(27);
                        break;
                    case 28:
                        if ((0x280000000000L & l) != 0L)
                            jjCheckNAddStates(12, 15);
                        break;
                    case 29:
                        if ((0x3ff000000000000L & l) == 0L)
                            break;
                        if (kind > 226)
                            kind = 226;
                        jjCheckNAdd(29);
                        break;
                    case 30:
                        if ((0x3ff000000000000L & l) != 0L)
                            jjCheckNAddTwoStates(30, 31);
                        break;
                    case 31:
                        if (curChar != 46)
                            break;
                        if (kind > 229)
                            kind = 229;
                        jjCheckNAddStates(23, 25);
                        break;
                    case 32:
                        if ((0x3ff000000000000L & l) == 0L)
                            break;
                        if (kind > 229)
                            kind = 229;
                        jjCheckNAddStates(23, 25);
                        break;
                    case 34:
                        if ((0x280000000000L & l) != 0L)
                            jjCheckNAdd(35);
                        break;
                    case 35:
                        if ((0x3ff000000000000L & l) == 0L)
                            break;
                        if (kind > 229)
                            kind = 229;
                        jjCheckNAddTwoStates(35, 21);
                        break;
                    case 36:
                        if ((0x3ff000000000000L & l) == 0L)
                            break;
                        if (kind > 229)
                            kind = 229;
                        jjCheckNAddStates(26, 28);
                        break;
                    case 38:
                        if ((0x280000000000L & l) != 0L)
                            jjCheckNAdd(39);
                        break;
                    case 39:
                        if ((0x3ff000000000000L & l) == 0L)
                            break;
                        if (kind > 229)
                            kind = 229;
                        jjCheckNAddTwoStates(39, 21);
                        break;
                    case 40:
                        if ((0x3ff000000000000L & l) == 0L)
                            break;
                        if (kind > 226)
                            kind = 226;
                        jjCheckNAddStates(0, 5);
                        break;
                    default:
                        break;
                    }
                } while (i != startsAt);
            } else if (curChar < 128) {
                long l = 1L << (curChar & 077);
                MatchLoop: do {
                    switch (jjstateSet[--i]) {
                    case 0:
                        if ((0x57fffffec7fffffeL & l) != 0L) {
                            if (kind > 227)
                                kind = 227;
                            jjCheckNAdd(6);
                        }
                        if ((0x2000000020L & l) != 0L)
                            jjAddStates(29, 30);
                        break;
                    case 26:
                    case 6:
                        if ((0x57fffffec7fffffeL & l) == 0L)
                            break;
                        if (kind > 227)
                            kind = 227;
                        jjCheckNAdd(6);
                        break;
                    case 1:
                        jjAddStates(9, 11);
                        break;
                    case 5:
                        if ((0x57fffffec7fffffeL & l) == 0L)
                            break;
                        if (kind > 227)
                            kind = 227;
                        jjCheckNAdd(6);
                        break;
                    case 8:
                        if ((0xffffffffefffffffL & l) != 0L)
                            jjCheckNAddStates(6, 8);
                        break;
                    case 9:
                        if (curChar == 92)
                            jjAddStates(31, 33);
                        break;
                    case 10:
                        if ((0x14404410000000L & l) != 0L)
                            jjCheckNAddStates(6, 8);
                        break;
                    case 18:
                        if ((0x2000000020L & l) != 0L)
                            jjAddStates(34, 35);
                        break;
                    case 21:
                        if ((0x5000000050L & l) != 0L && kind > 229)
                            kind = 229;
                        break;
                    case 23:
                        if ((0x100000001000000L & l) != 0L)
                            jjCheckNAdd(24);
                        break;
                    case 24:
                        if ((0x7e0000007eL & l) == 0L)
                            break;
                        if (kind > 230)
                            kind = 230;
                        jjCheckNAdd(24);
                        break;
                    case 25:
                        if ((0x2000000020L & l) != 0L)
                            jjAddStates(29, 30);
                        break;
                    case 33:
                        if ((0x2000000020L & l) != 0L)
                            jjAddStates(36, 37);
                        break;
                    case 37:
                        if ((0x2000000020L & l) != 0L)
                            jjAddStates(38, 39);
                        break;
                    default:
                        break;
                    }
                } while (i != startsAt);
            } else {
                int i2 = (curChar & 0xff) >> 6;
                long l2 = 1L << (curChar & 077);
                MatchLoop: do {
                    switch (jjstateSet[--i]) {
                    case 1:
                        if ((jjbitVec0[i2] & l2) != 0L)
                            jjAddStates(9, 11);
                        break;
                    case 8:
                        if ((jjbitVec0[i2] & l2) != 0L)
                            jjAddStates(6, 8);
                        break;
                    default:
                        break;
                    }
                } while (i != startsAt);
            }
            if (kind != 0x7fffffff) {
                jjmatchedKind = kind;
                jjmatchedPos = curPos;
                kind = 0x7fffffff;
            }
            ++curPos;
            if ((i = jjnewStateCnt) == (startsAt = 41 - (jjnewStateCnt = startsAt)))
                return curPos;
            try {
                curChar = input_stream.readChar();
            } catch (java.io.IOException e) {
                return curPos;
            }
        }
    }

    static final int[] jjnextStates = { 29, 30, 31, 36, 37, 21, 8, 9, 11, 1, 2,
            4, 29, 30, 16, 36, 8, 9, 13, 11, 17, 18, 21, 32, 33, 21, 36, 37,
            21, 26, 27, 10, 12, 14, 19, 20, 34, 35, 38, 39, };
    public static final String[] jjstrLiteralImages = {
            "",
            null,
            null,
            null,
            null,
            null,
            "\143\150\151\154\144\162\145\156",
            "\116\125\114\114",
            "\173",
            "\175",
            "\54",
            "\124\122\125\105",
            "\106\101\114\123\105",
            "\133",
            "\135",
            "\104\105\106",
            "\125\123\105",
            "\122\117\125\124\105",
            "\124\117",
            "\56",
            "\141\144\144\103\150\151\154\144\162\145\156",
            "\162\145\155\157\166\145\103\150\151\154\144\162\145\156",
            "\101\156\143\150\157\162",
            "\165\162\154",
            "\160\141\162\141\155\145\164\145\162",
            "\144\145\163\143\162\151\160\164\151\157\156",
            "\142\142\157\170\103\145\156\164\145\162",
            "\142\142\157\170\123\151\172\145",
            "\101\160\160\145\141\162\141\156\143\145",
            "\155\141\164\145\162\151\141\154",
            "\164\145\170\164\165\162\145\124\162\141\156\163\146\157\162\155",
            "\164\145\170\164\165\162\145",
            "\101\165\144\151\157\103\154\151\160",
            "\154\157\157\160",
            "\160\151\164\143\150",
            "\163\164\141\162\164\124\151\155\145",
            "\163\164\157\160\124\151\155\145",
            "\102\141\143\153\147\162\157\165\156\144",
            "\142\141\143\153\125\162\154",
            "\142\157\164\164\157\155\125\162\154",
            "\146\162\157\156\164\125\162\154",
            "\154\145\146\164\125\162\154",
            "\162\151\147\150\164\125\162\154",
            "\164\157\160\125\162\154",
            "\147\162\157\165\156\144\101\156\147\154\145",
            "\163\153\171\101\156\147\154\145",
            "\147\162\157\165\156\144\103\157\154\157\162",
            "\163\153\171\103\157\154\157\162",
            "\102\151\154\154\142\157\141\162\144",
            "\141\170\151\163\117\146\122\157\164\141\164\151\157\156",
            "\102\157\170",
            "\163\151\172\145",
            "\103\157\154\154\151\163\151\157\156",
            "\143\157\154\154\151\144\145",
            "\160\162\157\170\171",
            "\103\157\154\157\162",
            "\143\157\154\157\162",
            "\103\157\154\157\162\111\156\164\145\162\160\157\154\141\164\157\162",
            "\103\157\156\145",
            "\150\145\151\147\150\164",
            "\142\157\164\164\157\155\122\141\144\151\165\163",
            "\163\151\144\145",
            "\142\157\164\164\157\155",
            "\103\157\157\162\144\151\156\141\164\145",
            "\160\157\151\156\164",
            "\103\157\157\162\144\151\156\141\164\145\111\156\164\145\162\160\157\154\141\164\157\162",
            "\153\145\171",
            "\153\145\171\126\141\154\165\145",
            "\103\171\154\151\156\144\145\162",
            "\164\157\160",
            "\162\141\144\151\165\163",
            "\103\171\154\151\156\144\145\162\123\145\156\163\157\162",
            "\155\151\156\101\156\147\154\145",
            "\155\141\170\101\156\147\154\145",
            "\145\156\141\142\154\145\144",
            "\144\151\163\153\101\156\147\154\145",
            "\157\146\146\163\145\164",
            "\141\165\164\157\117\146\146\163\145\164",
            "\104\151\162\145\143\164\151\157\156\141\154\114\151\147\150\164",
            "\157\156",
            "\151\156\164\145\156\163\151\164\171",
            "\141\155\142\151\145\156\164\111\156\164\145\156\163\151\164\171",
            "\144\151\162\145\143\164\151\157\156",
            "\105\154\145\166\141\164\151\157\156\107\162\151\144",
            "\143\143\167",
            "\143\157\154\157\162\120\145\162\126\145\162\164\145\170",
            "\143\162\145\141\163\145\101\156\147\154\145",
            "\156\157\162\155\141\154\120\145\162\126\145\162\164\145\170",
            "\163\157\154\151\144",
            "\170\104\151\155\145\156\163\151\157\156",
            "\170\123\160\141\143\151\156\147",
            "\172\104\151\155\145\156\163\151\157\156",
            "\172\123\160\141\143\151\156\147",
            "\105\170\164\162\165\163\151\157\156",
            "\142\145\147\151\156\103\141\160",
            "\145\156\144\103\141\160",
            "\143\162\157\163\163\123\145\143\164\151\157\156",
            "\163\160\151\156\145",
            "\106\157\147",
            "\146\157\147\124\171\160\145",
            "\166\151\163\151\142\151\154\151\164\171\122\141\156\147\145",
            "\106\157\156\164\123\164\171\154\145",
            "\152\165\163\164\151\146\171",
            "\146\141\155\151\154\171",
            "\163\164\171\154\145",
            "\150\157\162\151\172\157\156\164\141\154",
            "\154\145\146\164\124\157\122\151\147\150\164",
            "\164\157\160\124\157\102\157\164\164\157\155",
            "\154\141\156\147\165\141\147\145",
            "\163\160\141\143\151\156\147",
            "\107\162\157\165\160",
            "\111\155\141\147\145\124\145\170\164\165\162\145",
            "\162\145\160\145\141\164\123",
            "\162\145\160\145\141\164\124",
            "\111\156\144\145\170\145\144\106\141\143\145\123\145\164",
            "\143\157\157\162\144",
            "\156\157\162\155\141\154",
            "\164\145\170\103\157\157\162\144",
            "\143\157\157\162\144\111\156\144\145\170",
            "\143\157\154\157\162\111\156\144\145\170",
            "\164\145\170\103\157\157\162\144\111\156\144\145\170",
            "\156\157\162\155\141\154\111\156\144\145\170",
            "\143\157\156\166\145\170",
            "\111\156\144\145\170\145\144\114\151\156\145\123\145\164",
            "\111\156\154\151\156\145",
            "\114\117\104",
            "\143\145\156\164\145\162",
            "\162\141\156\147\145",
            "\154\145\166\145\154",
            "\115\141\164\145\162\151\141\154",
            "\144\151\146\146\165\163\145\103\157\154\157\162",
            "\163\160\145\143\165\154\141\162\103\157\154\157\162",
            "\145\155\151\163\163\151\166\145\103\157\154\157\162",
            "\163\150\151\156\151\156\145\163\163",
            "\164\162\141\156\163\160\141\162\145\156\143\171",
            "\115\157\166\151\145\124\145\170\164\165\162\145",
            "\163\160\145\145\144",
            "\116\141\166\151\147\141\164\151\157\156\111\156\146\157",
            "\141\166\141\164\141\162\123\151\172\145",
            "\150\145\141\144\154\151\147\150\164",
            "\164\171\160\145",
            "\166\151\163\151\142\151\154\151\164\171\114\151\155\151\164",
            "\116\157\162\155\141\154",
            "\166\145\143\164\157\162",
            "\116\157\162\155\141\154\111\156\164\145\162\160\157\154\141\164\157\162",
            "\117\162\151\145\156\164\141\164\151\157\156\111\156\164\145\162\160\157\154\141\164\157\162",
            "\120\151\170\145\154\124\145\170\164\165\162\145",
            "\151\155\141\147\145",
            "\120\154\141\156\145\123\145\156\163\157\162",
            "\155\151\156\120\157\163\151\164\151\157\156",
            "\155\141\170\120\157\163\151\164\151\157\156",
            "\120\157\151\156\164\114\151\147\150\164",
            "\154\157\143\141\164\151\157\156",
            "\141\164\164\145\156\165\141\164\151\157\156",
            "\120\157\151\156\164\123\145\164",
            "\120\157\163\151\164\151\157\156\111\156\164\145\162\160\157\154\141\164\157\162",
            "\120\162\157\170\151\155\151\164\171\123\145\156\163\157\162",
            "\123\143\141\154\141\162\111\156\164\145\162\160\157\154\141\164\157\162",
            "\123\143\162\151\160\164",
            "\144\151\162\145\143\164\117\165\164\160\165\164",
            "\155\165\163\164\105\166\141\154\165\141\164\145",
            "\145\166\145\156\164\111\156",
            "\145\166\145\156\164\117\165\164",
            "\146\151\145\154\144",
            "\123\106\102\157\157\154",
            "\123\106\103\157\154\157\162",
            "\123\106\106\154\157\141\164",
            "\123\106\111\156\164\63\62",
            "\123\106\116\157\144\145",
            "\123\106\122\157\164\141\164\151\157\156",
            "\123\106\123\164\162\151\156\147",
            "\123\106\124\151\155\145",
            "\123\106\126\145\143\62\146",
            "\123\106\126\145\143\63\146",
            "\115\106\103\157\154\157\162",
            "\115\106\106\154\157\141\164",
            "\115\106\111\156\164\63\62",
            "\115\106\116\157\144\145",
            "\115\106\122\157\164\141\164\151\157\156",
            "\115\106\123\164\162\151\156\147",
            "\115\106\124\151\155\145",
            "\115\106\126\145\143\62\146",
            "\115\106\126\145\143\63\146",
            "\123\157\165\156\144",
            "\163\160\141\164\151\141\154\151\172\145",
            "\155\141\170\102\141\143\153",
            "\155\151\156\102\141\143\153",
            "\155\141\170\106\162\157\156\164",
            "\155\151\156\106\162\157\156\164",
            "\160\162\151\157\162\151\164\171",
            "\163\157\165\162\143\145",
            "\123\160\150\145\162\145",
            "\123\160\150\145\162\145\123\145\156\163\157\162",
            "\123\160\157\164\114\151\147\150\164",
            "\142\145\141\155\127\151\144\164\150",
            "\143\165\164\117\146\146\101\156\147\154\145",
            "\123\150\141\160\145",
            "\141\160\160\145\141\162\141\156\143\145",
            "\147\145\157\155\145\164\162\171",
            "\123\167\151\164\143\150",
            "\167\150\151\143\150\103\150\157\151\143\145",
            "\143\150\157\151\143\145",
            "\124\145\170\164",
            "\163\164\162\151\156\147",
            "\154\145\156\147\164\150",
            "\155\141\170\105\170\164\145\156\164",
            "\146\157\156\164\123\164\171\154\145",
            "\124\145\170\164\165\162\145\103\157\157\162\144\151\156\141\164\145",
            "\124\145\170\164\165\162\145\124\162\141\156\163\146\157\162\155",
            "\124\151\155\145\123\145\156\163\157\162",
            "\143\171\143\154\145\111\156\164\145\162\166\141\154",
            "\124\157\165\143\150\123\145\156\163\157\162",
            "\124\162\141\156\163\146\157\162\155",
            "\162\157\164\141\164\151\157\156", "\163\143\141\154\145",
            "\163\143\141\154\145\117\162\151\145\156\164\141\164\151\157\156",
            "\164\162\141\156\163\154\141\164\151\157\156",
            "\126\151\145\167\160\157\151\156\164",
            "\160\157\163\151\164\151\157\156",
            "\157\162\151\145\156\164\141\164\151\157\156",
            "\146\151\145\154\144\117\146\126\151\145\167", "\152\165\155\160",
            "\126\151\163\151\142\151\154\151\164\171\123\145\156\163\157\162",
            "\127\157\162\154\144\111\156\146\157", "\164\151\164\154\145",
            "\151\156\146\157", null, null, null, null, null, null, };
    public static final String[] lexStateNames = { "DEFAULT", };
    static final long[] jjtoToken = { 0xffffffffffffffc1L, 0xffffffffffffffffL,
            0xffffffffffffffffL, 0xffffffffffL, };
    static final long[] jjtoSkip = { 0x3eL, 0x0L, 0x0L, 0x0L, };
    private SimpleCharStream input_stream;
    private final int[] jjrounds = new int[41];
    private final int[] jjstateSet = new int[82];
    protected char curChar;

    public VRML97ParserTokenManager(SimpleCharStream stream) {
        if (SimpleCharStream.staticFlag)
            throw new Error(
                    "ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
        input_stream = stream;
    }

    public VRML97ParserTokenManager(SimpleCharStream stream, int lexState) {
        this(stream);
        SwitchTo(lexState);
    }

    public void ReInit(SimpleCharStream stream) {
        jjmatchedPos = jjnewStateCnt = 0;
        curLexState = defaultLexState;
        input_stream = stream;
        ReInitRounds();
    }

    private final void ReInitRounds() {
        int i;
        jjround = 0x80000001;
        for (i = 41; i-- > 0;)
            jjrounds[i] = 0x80000000;
    }

    public void ReInit(SimpleCharStream stream, int lexState) {
        ReInit(stream);
        SwitchTo(lexState);
    }

    public void SwitchTo(int lexState) {
        if (lexState >= 1 || lexState < 0)
            throw new TokenMgrError("Error: Ignoring invalid lexical state : "
                    + lexState + ". State unchanged.",
                    TokenMgrError.INVALID_LEXICAL_STATE);
        else
            curLexState = lexState;
    }

    private final Token jjFillToken() {
        Token t = Token.newToken(jjmatchedKind);
        t.kind = jjmatchedKind;
        String im = jjstrLiteralImages[jjmatchedKind];
        t.image = (im == null) ? input_stream.GetImage() : im;
        t.beginLine = input_stream.getBeginLine();
        t.beginColumn = input_stream.getBeginColumn();
        t.endLine = input_stream.getEndLine();
        t.endColumn = input_stream.getEndColumn();
        return t;
    }

    int curLexState = 0;
    int defaultLexState = 0;
    int jjnewStateCnt;
    int jjround;
    int jjmatchedPos;
    int jjmatchedKind;

    public final Token getNextToken() {
        int kind;
        Token specialToken = null;
        Token matchedToken;
        int curPos = 0;

        EOFLoop: for (;;) {
            try {
                curChar = input_stream.BeginToken();
            } catch (java.io.IOException e) {
                jjmatchedKind = 0;
                matchedToken = jjFillToken();
                return matchedToken;
            }

            try {
                input_stream.backup(0);
                while (curChar <= 32 && (0x100002600L & (1L << curChar)) != 0L)
                    curChar = input_stream.BeginToken();
            } catch (java.io.IOException e1) {
                continue EOFLoop;
            }
            jjmatchedKind = 0x7fffffff;
            jjmatchedPos = 0;
            curPos = jjMoveStringLiteralDfa0_0();
            if (jjmatchedKind != 0x7fffffff) {
                if (jjmatchedPos + 1 < curPos)
                    input_stream.backup(curPos - jjmatchedPos - 1);
                if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) {
                    matchedToken = jjFillToken();
                    return matchedToken;
                } else {
                    continue EOFLoop;
                }
            }
            int error_line = input_stream.getEndLine();
            int error_column = input_stream.getEndColumn();
            String error_after = null;
            boolean EOFSeen = false;
            try {
                input_stream.readChar();
                input_stream.backup(1);
            } catch (java.io.IOException e1) {
                EOFSeen = true;
                error_after = curPos <= 1 ? "" : input_stream.GetImage();
                if (curChar == '\n' || curChar == '\r') {
                    error_line++;
                    error_column = 0;
                } else
                    error_column++;
            }
            if (!EOFSeen) {
                input_stream.backup(1);
                error_after = curPos <= 1 ? "" : input_stream.GetImage();
            }
            throw new TokenMgrError(EOFSeen, curLexState, error_line,
                    error_column, error_after, curChar,
                    TokenMgrError.LEXICAL_ERROR);
        }
    }

}
