public int read() {
		if (arrayIndex >= hex.length) return -1;
		if (charIndex >= hex[arrayIndex].length()) {
			arrayIndex++;
			charIndex = 0;
			return read();
		}
		int data = Character.digit(hex[arrayIndex].charAt(charIndex++), 16) << 4;
		data |= Character.digit(hex[arrayIndex].charAt(charIndex++), 16);
		return data;
	}