// 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.CharBuffer;
import java.nio.charset.Charset;
                    int percentCount = 0;
                    if (gs1) {
                        for (i = 0; i < short_data_block_length; i++) {
                            if (inputData[position + i] == '%') {
                                percentCount++;
                            }
                        }
                    }
                    int[] inputExpanded = new int[short_data_block_length + percentCount];
                    percentCount = 0;
                    for (i = 0; i < short_data_block_length; i++) {
                        int c = inputData[position + i];
                        if (c == FNC1) {
                            inputExpanded[i + percentCount] = '%'; /* FNC1 */
                        } else {
                            inputExpanded[i + percentCount] = c;
                            if (gs1 && c == '%') {
                                percentCount++;
                                inputExpanded[i + percentCount] = c;
                            }
                        }
                    }

                    /* Character count indicator */
                    binaryAppend(inputExpanded.length, tribus(version, 9, 11, 13), binary);

                    info("ALPH ");

                    /* Character representation */
                    for (i = 0; i + 1 < inputExpanded.length; i += 2) {
// 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/QrCode.java
import static uk.org.okapibarcode.util.Arrays.positionOf;
import java.nio.CharBuffer;
import java.nio.charset.Charset;

                    int percentCount = 0;
                    if (gs1) {
                        for (i = 0; i < short_data_block_length; i++) {
                            if (inputData[position + i] == '%') {
                                percentCount++;
                            }
                        }
                    }
                    int[] inputExpanded = new int[short_data_block_length + percentCount];
                    percentCount = 0;
                    for (i = 0; i < short_data_block_length; i++) {
                        int c = inputData[position + i];
                        if (c == FNC1) {
                            inputExpanded[i + percentCount] = '%'; /* FNC1 */
                        } else {
                            inputExpanded[i + percentCount] = c;
                            if (gs1 && c == '%') {
                                percentCount++;
                                inputExpanded[i + percentCount] = c;
                            }
                        }
                    }

                    /* Character count indicator */
                    binaryAppend(inputExpanded.length, tribus(version, 9, 11, 13), binary);

                    info("ALPH ");

                    /* Character representation */
                    for (i = 0; i + 1 < inputExpanded.length; i += 2) {
                        int first = positionOf((char) inputExpanded[i], RHODIUM);