// Path: src/main/java/com/github/sunnybat/paxchecker/DataTracker.java
// public class DataTracker {
// 
// 	private static long dataUsed;
// 
// 	/**
// 	 * Adds an amount of data (in bytes) used by the program. This should be called whenever a network
// 	 * connection is made.
// 	 *
// 	 * @param data The amount of data (in bytes) to add to the total data used
// 	 */
// 	public static synchronized void addDataUsed(long data) {
// 		dataUsed += data;
// 	}
// 
// 	/**
// 	 * Gets the amount of data (in bytes) used by the program.
// 	 *
// 	 * @return The amount of data (in bytes) used by the program
// 	 */
// 	public static synchronized long getDataUsed() {
// 		return dataUsed;
// 	}
// 
// 	/**
// 	 * Gets the amount of data in megabytes used by the program. Note that the double only extends out
// 	 * two decimal places.
// 	 *
// 	 * @return The amount of data in megabytes used by the program
// 	 */
// 	public static synchronized double getDataUsedMB() {
// 		return (double) ((int) ((double) getDataUsed() / 1024 / 1024 * 100)) / 100; // *100 to make the double have two extra numbers, round with typecasting to integer, then divide that by 100 and typecast to double to get a double with two decimal places
// 	}
// }
// 
// Path: src/main/java/com/github/sunnybat/paxchecker/Expo.java
// public enum Expo {
// 
// 	WEST, EAST, SOUTH, AUS;
// 
// 	@Override
// 	public String toString() {
// 		String name = super.toString();
// 		return "PAX " + name.charAt(0) + name.toLowerCase().substring(1);
// 	}
// 
// 	public static Expo parseExpo(String expo) {
// 		expo = expo.toLowerCase();
// 		if (expo.contains("prime") || expo.contains("west")) {
// 			return WEST;
// 		} else if (expo.contains("east")) {
// 			return EAST;
// 		} else if (expo.contains("south")) {
// 			return SOUTH;
// 		} else if (expo.contains("aus")) {
// 			return AUS;
// 		} else {
// 			throw new IllegalArgumentException("No expo found");
// 		}
// 	}
// }


import com.github.sunnybat.paxchecker.DataTracker;
import com.github.sunnybat.paxchecker.Expo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Set;
import java.util.TreeSet;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
			case WEST:
				return 13961;
			case EAST:
				return 16418;
			case SOUTH:
				return 20012;
			case AUS:
				return 15820;
			default:
				System.out.println("SR: Unknown expo: " + expo);
				return 13961;
		}
	}

	/**
	 * Reads the JSON from the given URL. Note that this does NOT check whether or not this page
	 * contains valid JSON text. This method will also attempt to fix any invalid JSON found. This
	 * only fixes known JSON parsing errors.
	 *
	 * @param url The URL to parse from
	 * @return The (fixed) text from the page
	 */
	private static String readJSONFromURL(URL url) {
		try {
			HttpURLConnection httpCon = Browser.setUpConnection(url);
			httpCon.setConnectTimeout(500);
			BufferedReader reader = new BufferedReader(new InputStreamReader(httpCon.getInputStream()));
			StringBuilder build = new StringBuilder();
			String line;
			while ((line = reader.readLine()) != null) {
// Path: src/main/java/com/github/sunnybat/paxchecker/DataTracker.java
// public class DataTracker {
// 
// 	private static long dataUsed;
// 
// 	/**
// 	 * Adds an amount of data (in bytes) used by the program. This should be called whenever a network
// 	 * connection is made.
// 	 *
// 	 * @param data The amount of data (in bytes) to add to the total data used
// 	 */
// 	public static synchronized void addDataUsed(long data) {
// 		dataUsed += data;
// 	}
// 
// 	/**
// 	 * Gets the amount of data (in bytes) used by the program.
// 	 *
// 	 * @return The amount of data (in bytes) used by the program
// 	 */
// 	public static synchronized long getDataUsed() {
// 		return dataUsed;
// 	}
// 
// 	/**
// 	 * Gets the amount of data in megabytes used by the program. Note that the double only extends out
// 	 * two decimal places.
// 	 *
// 	 * @return The amount of data in megabytes used by the program
// 	 */
// 	public static synchronized double getDataUsedMB() {
// 		return (double) ((int) ((double) getDataUsed() / 1024 / 1024 * 100)) / 100; // *100 to make the double have two extra numbers, round with typecasting to integer, then divide that by 100 and typecast to double to get a double with two decimal places
// 	}
// }
// 
// Path: src/main/java/com/github/sunnybat/paxchecker/Expo.java
// public enum Expo {
// 
// 	WEST, EAST, SOUTH, AUS;
// 
// 	@Override
// 	public String toString() {
// 		String name = super.toString();
// 		return "PAX " + name.charAt(0) + name.toLowerCase().substring(1);
// 	}
// 
// 	public static Expo parseExpo(String expo) {
// 		expo = expo.toLowerCase();
// 		if (expo.contains("prime") || expo.contains("west")) {
// 			return WEST;
// 		} else if (expo.contains("east")) {
// 			return EAST;
// 		} else if (expo.contains("south")) {
// 			return SOUTH;
// 		} else if (expo.contains("aus")) {
// 			return AUS;
// 		} else {
// 			throw new IllegalArgumentException("No expo found");
// 		}
// 	}
// }


// Path: src/main/java/com/github/sunnybat/paxchecker/browser/ShowclixReader.java
import com.github.sunnybat.paxchecker.DataTracker;
import com.github.sunnybat.paxchecker.Expo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Set;
import java.util.TreeSet;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

			case WEST:
				return 13961;
			case EAST:
				return 16418;
			case SOUTH:
				return 20012;
			case AUS:
				return 15820;
			default:
				System.out.println("SR: Unknown expo: " + expo);
				return 13961;
		}
	}

	/**
	 * Reads the JSON from the given URL. Note that this does NOT check whether or not this page
	 * contains valid JSON text. This method will also attempt to fix any invalid JSON found. This
	 * only fixes known JSON parsing errors.
	 *
	 * @param url The URL to parse from
	 * @return The (fixed) text from the page
	 */
	private static String readJSONFromURL(URL url) {
		try {
			HttpURLConnection httpCon = Browser.setUpConnection(url);
			httpCon.setConnectTimeout(500);
			BufferedReader reader = new BufferedReader(new InputStreamReader(httpCon.getInputStream()));
			StringBuilder build = new StringBuilder();
			String line;
			while ((line = reader.readLine()) != null) {
				DataTracker.addDataUsed(line.length());