// Path: src/io/Preface.java
// public class Preface {
// 	public static void readPreface(BufferedReader in) throws IOException {
// 		String line = in.readLine();
// 
// 		if (line == null || line.charAt(0) != '#') {
// 			throw new IllegalArgumentException("File does not start with the mandatory preface.");
// 		}
// 
// 		while ((line = in.readLine()) != null) {
// 			if (line.isEmpty()) {
// 				break;
// 			}
// 			if (line.charAt(0) != '#') {
// 				throw new IllegalArgumentException("Uncommented line within preface.");
// 			}
// 		}
// 	}
// 
// 	public static void printPreface(PrintWriter out) {
// 		out.println("# mandatory preface");
// 		out.println("# mandatory preface");
// 		out.println();
// 	}
// }
// 
// Path: src/utils/ByteWrapper.java
// public class ByteWrapper {
// 	public byte value;
// 
// 	public ByteWrapper(byte value) {
// 		this.value = value;
// 	}
// }
// 
// Path: src/utils/ShortWrapper.java
// public class ShortWrapper {
// 	public short value;
// 
// 	public ShortWrapper(short value) {
// 		this.value = value;
// 	}
// }


import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import io.Preface;
import utils.ByteWrapper;
import utils.ShortWrapper;
							}

							markedupCatString = tokens[1];
							cat = parse(markedupCatString);

							seenVariables = new byte[VarID.NUM_VARS];
							Arrays.fill(seenVariables, VarID.NONE);

							cat.reorderVariables(seenVariables, new ByteWrapper((byte) (0)));

							markedupStrings.put(plainCatString, markedupCatString);
							plainCategoryStrings.put(markedupCatString, plainCatString);
							markedupCategories.put(plainCatString, cat);

							continue;
						}
						break;
				}
			}
		} catch ( IOException e ) {
			throw e;
		}
	}

	/*
	 * when parsing a markedup string, this will add new relations to
	 * dependencyRelations (so be careful when using this outside of parsing the
	 * markedup file)
	 */
	public Category parse(String catString) {
// Path: src/io/Preface.java
// public class Preface {
// 	public static void readPreface(BufferedReader in) throws IOException {
// 		String line = in.readLine();
// 
// 		if (line == null || line.charAt(0) != '#') {
// 			throw new IllegalArgumentException("File does not start with the mandatory preface.");
// 		}
// 
// 		while ((line = in.readLine()) != null) {
// 			if (line.isEmpty()) {
// 				break;
// 			}
// 			if (line.charAt(0) != '#') {
// 				throw new IllegalArgumentException("Uncommented line within preface.");
// 			}
// 		}
// 	}
// 
// 	public static void printPreface(PrintWriter out) {
// 		out.println("# mandatory preface");
// 		out.println("# mandatory preface");
// 		out.println();
// 	}
// }
// 
// Path: src/utils/ByteWrapper.java
// public class ByteWrapper {
// 	public byte value;
// 
// 	public ByteWrapper(byte value) {
// 		this.value = value;
// 	}
// }
// 
// Path: src/utils/ShortWrapper.java
// public class ShortWrapper {
// 	public short value;
// 
// 	public ShortWrapper(short value) {
// 		this.value = value;
// 	}
// }


// Path: src/lexicon/Categories.java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import io.Preface;
import utils.ByteWrapper;
import utils.ShortWrapper;

							}

							markedupCatString = tokens[1];
							cat = parse(markedupCatString);

							seenVariables = new byte[VarID.NUM_VARS];
							Arrays.fill(seenVariables, VarID.NONE);

							cat.reorderVariables(seenVariables, new ByteWrapper((byte) (0)));

							markedupStrings.put(plainCatString, markedupCatString);
							plainCategoryStrings.put(markedupCatString, plainCatString);
							markedupCategories.put(plainCatString, cat);

							continue;
						}
						break;
				}
			}
		} catch ( IOException e ) {
			throw e;
		}
	}

	/*
	 * when parsing a markedup string, this will add new relations to
	 * dependencyRelations (so be careful when using this outside of parsing the
	 * markedup file)
	 */
	public Category parse(String catString) {
		ShortWrapper numJuliaSlots = new ShortWrapper((short) (0));