// Path: src/main/java/uk/org/okapibarcode/util/Arrays.java
// public static int positionOf(char value, char[] array) {
//     for (int i = 0; i < array.length; i++) {
//         if (value == array[i]) {
//             return i;
//         }
//     }
//     throw new OkapiException("Unable to find character '" + value + "' in character array.");
// }


import static uk.org.okapibarcode.util.Arrays.positionOf;
import java.nio.charset.Charset;
import java.nio.charset.UnsupportedCharsetException;

                    glyph = inputData[sp];
                    infoSpace(glyph);
                    for (i = 0x80; i > 0; i = i >> 1) {
                        if ((glyph & i) != 0) {
                            binary.append('1');
                        } else {
                            binary.append('0');
                        }
                    }
                    sp++;
                    byte_count++;
                    break;

                case GM_MIXED:
                    shift = 1;
                    if ((inputData[sp] >= '0') && (inputData[sp] <= '9')) {
                        shift = 0;
                    }
                    if ((inputData[sp] >= 'A') && (inputData[sp] <= 'Z')) {
                        shift = 0;
                    }
                    if ((inputData[sp] >= 'a') && (inputData[sp] <= 'z')) {
                        shift = 0;
                    }
                    if (inputData[sp] == ' ') {
                        shift = 0;
                    }

                    if (shift == 0) {
                        /* Mixed Mode character */

// Path: src/main/java/uk/org/okapibarcode/util/Arrays.java
// public static int positionOf(char value, char[] array) {
//     for (int i = 0; i < array.length; i++) {
//         if (value == array[i]) {
//             return i;
//         }
//     }
//     throw new OkapiException("Unable to find character '" + value + "' in character array.");
// }


// Path: src/main/java/uk/org/okapibarcode/backend/GridMatrix.java
import static uk.org.okapibarcode.util.Arrays.positionOf;
import java.nio.charset.Charset;
import java.nio.charset.UnsupportedCharsetException;

                    glyph = inputData[sp];
                    infoSpace(glyph);
                    for (i = 0x80; i > 0; i = i >> 1) {
                        if ((glyph & i) != 0) {
                            binary.append('1');
                        } else {
                            binary.append('0');
                        }
                    }
                    sp++;
                    byte_count++;
                    break;

                case GM_MIXED:
                    shift = 1;
                    if ((inputData[sp] >= '0') && (inputData[sp] <= '9')) {
                        shift = 0;
                    }
                    if ((inputData[sp] >= 'A') && (inputData[sp] <= 'Z')) {
                        shift = 0;
                    }
                    if ((inputData[sp] >= 'a') && (inputData[sp] <= 'z')) {
                        shift = 0;
                    }
                    if (inputData[sp] == ' ') {
                        shift = 0;
                    }

                    if (shift == 0) {
                        /* Mixed Mode character */

                        glyph = positionOf((char) inputData[sp], MIXED_ALPHANUM_SET);
